Область техники, к которой относится изобретение
Настоящая технология относится к передающему устройству, способу передачи, приемному устройству и способу приема и, конкретно, относится к передающему устройству и т.п., которое передает текстовую информацию вместе с видеоинформацией.
Уровень техники
В цифровом телевещании (DVB), например, информация о субтитрах передавалась как данные растрового изображения. В последнее время было предложено, чтобы информация о субтитрах передавалась как код текстового символа, то есть, на текстовой основе. В этом случае, размер шрифта увеличивается в соответствии с разрешающей способностью на приемной стороне.
Дополнительно, было предложено, чтобы, когда информация о субтитрах передается на текстовой основе, текстовая информация была синхронизированной информацией. Поскольку это информация текстовая, то, например, Консорциумом World-Wide Web (W3C), был предложен язык теговой разметки текстов (TTML) (смотрите патентный документ 1).
Перечень литературы
Патентный документ
Патентный документ 1: Японская выложенная патентная заявка №. 2012-169885
Раскрытие сущности изобретения
Проблемы, решаемые изобретением
Задача настоящей технологии состоит в обеспечении улучшенного способа выполнения управления синхронизацией отображения с субтитрами на приемной стороне.
Решения проблем
Концепция настоящей технологии заключается в передающем устройстве, содержащем:
видеокодер для формирования видеопотока, содержащего кодированные данные изображения;
кодер субтитров для формирования потока субтитров, имеющего текстовую информацию и информацию синхронизации отображения с субтитрами; и
передающий блок для передачи транспортного потока, содержащего видеопоток и поток сибтитров.
В настоящей технологии видеопоток, имеющий кодированные данные изображения, формируется видеокодером. Поток субтитров, имеющий текстовую информацию субтитров и информацию синхронизации отображения с субтитрами, формируется кодером субтитров. Далее, транспортный поток, содержащий видеопоток и поток субтитров, передается передающим блоком.
Например, кодер субтитров может формировать поток субтитров на основе текстовой информации субтитров в заданном формате, имеющем информацию синхронизации отображения. В этом случае, например, текстовая информация субтитров в заданном формате может быть на языке теговой разметки текстов (TTML) или в производном формате TTML.
Дополнительно, например, информация синхронизации отображения с субтитрами может иметь информацию по меньшей мере о моменте начала отображения и длительности отображения. В этом случае, например поток субтитров может состоять из пакета PES, содержащего заголовок PES и полезную нагрузку PES, текстовая информация и информация синхронизации отображения с субтитрами могут располагаться в полезной нагрузке PES и момент начала отображения может указываться посредством смещения отображения относительно метки времени презентации (PTS), вставленной в заголовок PES.
В настоящей технологии поток субтитров, имеющий текстовую информацию субтитров и информацию синхронизации отображения с субтитрами, передается вместе с видеопотоком. Таким образом, можно превосходным образом выполнять управление синхронизацией отображения с субтитрами на приемной стороне.
Дополнительно, другая концепция настоящей технологии заключается в приемном устройстве, содержащем:
приемный блок для приема транспортного потока, содержащего видеопоток, имеющий кодированные данные изображения, и потока субтитров, имеющего текстовую информацию субтитров и информацию синхронизации отображения;
видеодекодер для выполнения процесса декодирования видеопотока и получения данных изображения;
декодер субтитров для выполнения процесса декодирования потока субтитров и получения данных растрового изображения субтитров и информации синхронизации отображения; и
блок управления отображением для управления синхронизацией для наложения данных растрового изображения субтитров на данные изображения на основе информации синхронизации отображения.
В настоящей технологии транспортный поток принимается приемным блоком. Транспортный поток содержит видеопоток, имеющий кодированные данные изображения, и поток субтитров, имеющий текстовую информацию и информацию синхронизации отображения с субтитрами.
Процесс декодирования выполняется для видеопотока и данные изображения получают посредством видеодекодера. Дополнительно, процесс декодирования выполняется для потока субтитров и данные растрового изображения субтитров и информация синхронизации отображения с субтитрами получают посредством детектора субтитров. Далее, синхронизация для наложения данных растрового изображения на данные изображения управляется блоком управления отображением на основе информации управления синхронизацией отображения.
Например, информация синхронизации отображения с субтитрами может иметь информацию по меньшей мере о моменте начала отображения и о длительности отображения. В этом случае, например, поток субтитров может быть образован пакетом PES, состоящим из заголовка PES и полезной нагрузки PES, текстовая информация и информация синхронизации отображения с субтитрами может располагаться в полезной нагрузке PES и момент начала отображения может указываться посредством смещения отображения относительно PTS, вставленного в заголовок PES.
В настоящей технологии поток субтитров имеет текстовую информацию и информацию синхронизации отображения с субтитрами и синхронизацией для наложения растровых данных субтитров на данные изображения управляются на основе информации синхронизации отображения. Таким образом, можно улучшенным образом выполнять управление синхронизацией отображения с субтитрами.
Предпочтительные результаты изобретения
В соответствии с настоящей технологией, можно улучшенным образом выполнять управление синхронизацией отображения с субтитрами. Заметим, что результаты, представленные в настоящем описании, являются просто примерами, не содержат ограничений и могут существовать дополнительные результаты.
Краткое описание чертежей
Фиг. 1 - блок-схема примера конфигурации приемопередающей системы варианта осуществления.
Фиг. 2 - блок-схема примера конфигурации блока формирования потока широковещательной передающей системы.
Фиг. 3 – схема, поясняющая структуру TTML.
Фиг. 4(a)-4(c) – примеры структур каждого элемента метаданных, моделирования и планировки в заголовке структуры TTML.
Фиг. 5 - пример конфигурации основы структуры TTML.
Фиг. 6 – пример конфигурации пакета PES.
Фиг. 7(a) и 7(b) – примеры структур текстового сегмента метаданных заголовка (THMS).
Фиг. 8(a) и 8(b) – примеры структур текстового сегмента моделирования заголовка (THSS).
Фиг. 9(a) и 9(b) – примеры структур текстового сегмента планировки заголовка (THLS).
Фиг. 10(a) и 10(b) – примеры структур текстового сегмента основной части (TBS).
Фиг. 11(a) и 11(b) – примеры структур всего текстового сегмента (TWS).
Фиг. 12 – пример структуры сегмента управления синхронизацией.
Фиг. 13 – установки "PTS", "смещения отображения" и "длительности отображения", когда TTML преобразуется в сегмент.
Фиг. 14 – пример конфигурации модели буфера декодера.
Фиг. 15 – пример основной операции модели буфера декодера.
Фиг. 16 – пример более практичной операции модели буфера декодера.
Фиг. 17 – пример более практичной операции модели буфера декодера.
Фиг. 18 – другой пример конфигурации модели буфера декодера.
Фиг. 19 – пример основной операции модели буфера декодера.
Фиг. 20 – пример более практичной операции модели буфера декодера.
Фиг. 21 – пример более практичной операции модели буфера декодера.
Фиг. 22 – пример конфигурации транспортного потока TS.
Фиг. 23 – пример конфигурации телевизионного приемника.
Фиг. 24 – пример конфигурации декодера субтитров.
Фиг. 25 – другой пример конфигурации декодера субтитров.
Способ осуществления изобретения
Здесь далее будет описан способ осуществления изобретения (здесь далее упоминается как "вариант осуществления"). Заметим, что описание представляется в следующем порядке.
1. Вариант осуществления
2. Модифицированный пример
1. Вариант осуществления
Пример конфигурация приемопередающей системы
На фиг. 1 представлен пример конфигурации приемопередающей системы 10 варианта осуществления. Приемопередающая система 10 содержит широковещательную передающую систему 100 и телевизионный приемник 200. Широковещательная передающая система 100 передает транспортный поток TS на частоте вещания. Транспортный поток TS содержит видеопоток, имеющий кодированные данные изображения, аудиопоток, имеющий кодированные аудиоданные, и поток субтитров, имеющий текстовую информацию и информацию синхронизации отображения с субтитрами.
Широковещательная передающая система 100 формирует поток субтитров на основе текстовой информации субтитров в заданном формате, имеющем информацию синхронизации отображения. В этом варианте осуществления текстовая информация написана, например, на языке теговой разметки текстов (TTML), предложенном Консорциумом World-Wide Web (W3C).
В этом варианте осуществления информация синхронизации отображения с субтитрами, содержащаяся в потоке субтитров, имеет информацию по меньшей мере о моменте начала отображения и о длительности отображения. В этом случае, поток субтитров образуется пакетом PES, состоящим из заголовка PES и полезной нагрузки PES, текстовая информация и информация синхронизации отображения с субтитрами располагаются в полезной нагрузке PES и, например, момент начала отображения указывается посредством смещения отображения относительно PTS, вставленного в заголовок PES.
Телевизионный приемник 200 принимает транспортный поток TS, передаваемый на частоте вещания, от широковещательной передающей системы 100. Транспортный поток TS содержит, как описано выше, видеопоток, имеющий кодированные данные изображения, и поток сибтитров, имеющий текстовую информацию и информацию синхронизации отображения с субтитрами.
Телевизионный приемник 200 принимает данные изображения из видеопотока и данные растрового изображения субтитров и информацию синхронизации отображения с субтитрами из потока субтитров. Затем телевизионный приемник 200 управляет синхронизацией для наложения данных растрового изображения субтитров на данные изображения на основе информации синхронизации отображения и отображает изображение, на которое наложены субтитры.
Пример конфигурации блока формирования потока широковещательной передающей системы
На фиг. 2 представлен пример конфигурации блока 110 формирования потока широковещательной передающей системы 100. Блок 110 формирования потока содержит блок 111 управления, видеокодер 112, аудиокодер 113, блок 114 преобразования текстового формата и кодер 115 субтитров.
Блок 111 управления управляет работой компонент блока 110 формирования потока. Видеокодер 112 принимает данные DV изображения, выполняет кодирование данных DV изображения и формирует видеопоток, имеющий кодированные данные изображения (поток PES). Аудиокодер 113 принимает аудиоданные DA изображения, выполняет кодирование аудиоданных DA и формирует аудиопоток, имеющий кодированные аудиоданные (поток PES).
Блок 114 преобразования текстового формата принимает текстовые данные (код символа) DT в качестве информации субтитров и получает текстовую информацию субтитров в заданном формате, имеющем информацию синхронизации отображения. В этом варианте осуществления текстовая информация преобразуется в TTML.
На фиг. 3 показана структура TTML. TTML описывается на основе XML. В заголовке присутствуют элементы метаданных, стиля и расположения. На фиг. 4 показан пример структуры метаданных (TTM: TTML Metadata). Метаданные содержат информацию заголовка метаданных и информацию об авторском праве.
На фиг. 4(b) показан пример структуры стиля (TTS: TTML Styling). Стиль содержит идентификатор (id) и информацию о цвете, шрифте (fontFamily), размере шрифта (fontSize), выравнивании (textAlign) и т.п. На фиг. 4(c) показан пример структуры планировки (область: планировка TTML). Планировка содержит идентификатор (id) области, в которой располагаются субтитры, и информацию об области (протяженности), смещении (заполнении), фоновом цвете (backgroundColor), выравнивании (displayAlign) и т.п.
На фиг. 5 представлен пример структуры основной части. В показанном примере содержится информация о трех субтитрах: субтитре 1 (subtitle1), субтитре 2 (subtitle2) и субтитре 3 (subtitle3). Момент начала отображения, момент окончания отображения и текстовые данные описываются для каждого субтитра. Например, в отношении субтитра 1, моментом начала отображения является "0.76s", моментом окончания отображения является "3.45s" и текстовыми данными являются "It seems a paradox, dose it not".
Возвращаясь обратно к фиг. 2, кодер 115 субтитров преобразует TTML, полученный посредством блока 114 преобразования текстового формата в различные сегменты, и формирует поток субтитров, образуемый пакетом PES, в котором сегменты располагаются в полезной нагрузке.
На фиг. 6 показан пример конфигурации пакета PES. Заголовок PES содержит метку времени презентации (PTS). Дополнительно, полезная нагрузка PES содержит следующие сегменты: сегмент управления синхронизацией (TCS), сегмент метаданных текстового заголовка (THMS), сегмент стиля текстового заголовка (THSS), сегмент расположения текстового заголовка (THLS) и сегмент основной текстовой части (TBS) или такие сегменты, как сегмент управления синхронизацией (TCS) и полный текстовый сегмент (TWS).
На фиг. 7 показан пример структуры (синтаксиса) сегмента метаданных текстового заголовка (THMS). Синтаксис содержит информацию "sync_byte", "segment_type", "page_id", "segment_length" и "segment_payload()". "segment_type" является 8-мибитными данными, указывающими тип сегмента и, например, в данном примере представляется как "0x21", указывающий THMS. "segment_length" является 8-битными данными, указывающими длину (размер) сегмента. Метаданные, показанные на фиг. 7(b), располагаются в "segment_payload()" в качестве информации XML. Метаданные являются теми же самыми, что и элементы метаданных, существующих в начале TTML (смотрите фиг. 4(a)).
На фиг. 8(а) показан пример структуры (синтаксиса) сегмента стиля текстового заголовка (THSS). Синтаксис содержит информацию "sync_byte", "segment_type", "page_id", "segment_length" и "segment_payload()". "segment_type" является 8-мибитными данными, указывающими тип сегмента и, например, в данном примере представляется как "0x22", указывающий THSS. "segment_length" является 8-битными данными, указывающими длину (размер) сегмента. Метаданные, показанные на фиг. 8(b), располагаются в "segment_payload()" в качестве информации XML. Метаданные являются теми же самыми, что и элементы стиля, существующие в начале TTML (смотрите фиг. 4(b)).
На фиг. 9(а) показан пример структуры (синтаксиса) сегментов расположения текстового заголовка (THLS). Синтаксис содержит информацию "sync_byte", "segment_type", "page_id", "segment_length" и "segment_payload()". "segment_type" является 8-мибитными данными, указывающими тип сегмента и, например, в данном примере представляется как "0x23", указывающий THLS. "segment_length" является 8-битными данными, указывающими длину (размер) сегмента. Метаданные, показанные на фиг. 9(b), располагаются в "segment_payload()" в качестве информации XML. Метаданные являются теми же самыми, что и элементы расположения, существующие в начале TTML (смотрите фиг. 4(c)).
На фиг. 10(а) показан пример структуры (синтаксиса) сегмента основной текстовой части (TBS). Синтаксис содержит информацию "sync_byte", "segment_type", "page_id", "segment_length" и "segment_payload()". "segment_type" является 8-мибитными данными, указывающими тип сегмента и, например, в данном примере представляется как "0x24", указывающий TBS. Метаданные, показанные на фиг. 10(b), располагаются в "segment_payload()" в качестве информации XML. Метаданные являются теми же самыми, что и основная часть TTML (смотрите фиг. 5).
На фиг. 11(а) показан пример структуры (синтаксиса) сегмента основной текстовой части (TWS). Синтаксис содержит информацию "sync_byte", "segment_type", "page_id", "segment_length" и "segment_payload()". "segment_type" является 8-мибитными данными, указывающими тип сегмента и, например, в данном примере представляется как "0x25", указывающий TWS. "segment_length" является 8-битными данными, указывающими длину (размер) сегмента. Метаданные, показанные на фиг. 11(b), располагаются в "segment_payload()" в качестве информации XML. Метаданные являются всем TTML (смотрите фиг. 3). Синтаксис предназначен поддерживать совместимость во всем TTML и должен помещать весь TTML в один сегмент.
На фиг. 12 показан пример структуры (синтаксиса) сегмента управления синхронизацией (TCS). Синтаксис содержит информацию "sync_byte", "segment_type", "page_id", "segment_length", "format_type", "number_of_regions", "region_id", "number_of_display_set", "display offset" и "display duration". "segment_type" является 8-мибитными данными, указывающими тип сегмента и, например, в данном примере представляется как "0x20", указывающий TCS в этом примере. "segment_length" является 8-битными данными, указывающими длину (размер) сегмента.
8-мибитовое поле "format_type" указывает тип формата передачи субтитров. "1" указывает "DVB subtitle", "2" указывает "EBU-TT-D" и "3" указывает "TTML". В этом варианте осуществления 8-мибитовое "format_type" должно быть "2" или "3".
8-битовое поле "number_of_regions" указывает количество областей. 16-битовое поле "region_id" указывает идентификатор области. 8 битов в "number_of_display_set" указывают количество отображений области. 16-битовое поле "display offset" содержит значение смещения относительно PTS в качестве момента начала отображения в области. 16-битовое поле "display duration" указывает длительность отображения области.
Как показано на фиг. 13, при преобразовании TTML в сегменты кодер 115 субтитров устанавливает "PTS", "display offset" и "display duration" каждого субтитра, относящегося к системной временной информации (PCR и время синхронизации видео и аудио), основываясь на описании момента начала отображения (начала) и момента окончания отображения (конец) каждого субтитра, содержащегося в основной части TTML. В это время кодер 115 сегментов субтитров устанавливает "PTS", "display offset" и "display duration", в это же время проверяя, что операция на приемной стороне выполняется правильно, используя модель буфера декодера.
На фиг. 14 представлен пример конфигурации модели 300А буфера декодера. Модель 300А буфера декодера содержит кодированный буфер 300, декодер 302 сегментов субтитров, блок 303 увеличения размера шрифта и буфер 304 растрового изображения. Кодированный буфер 301 временно хранит данные принятых сегментов.
Декодер 302 сегментов субтитров выполняет процесс декодирования данных сегментов для каждой области, хранящейся в кодированном буфере 301, при заданной синхронизации и получает текстовые данные и код управления для каждой области. Блок 303 увеличения размера шрифта увеличивает шрифт на основе текстовых данных и кода управления области, полученных декодером 302 сегментов субтитров, и получает данные растрового изображения каждой области.
Буфер 304 растрового изображения временно хранит данные растрового изображения каждой области, полученные блоком 303 увеличения размера шрифта, и управляющую информацию для отображения данных растрового изображения. Данные растрового изображения каждой области, хранящиеся буфером 304 растрового изображения, считываются, исходя из момента начала отображения, и накладываются на данные изображения и этот процесс длится в течение длительности отображения.
На фиг. 15 показан пример основной операции модели 300А буфера декодера. Данные сегментов области 1 буферируются в кодированном буфере 301. Затем, после того, как все данные сегментов области 1 сохранены в кодированном буфере 301 и определенный период окна (Decode Window) истек, данные сегментов декодируются декодером 302 сегментов субтитров, шрифт увеличивается блоком 303 увеличения размера шрифта и получаются данные битового изображения области 1.
В процесс декодирования данные сегментов области 1 мгновенно исчезают из кодированного буфера 301. Данные битового изображения, полученные с помощью блока 303 увеличения размера шрифта, сохраняются посредством буфера 304 битового изображения. Отображение области 1 начинается и кончается в течение длительности отображения. В показанном примере область 1, имеющая символы "АВС", отображается на экране немедленно после декодирования в течение длительности отображения. Когда длительность отображения истекает, данные растрового изображения области 1 немедленно исчезают из буфера 304 растрового изображения.
После того, как все данные сегментов области 1 сохранены в кодированном буфере 301, в кодированном буфере 301 буферируются данные сегментов области 2. Процесс, подобный описанному выше процессу для области 1, последовательно выполняется для области 2.
Другими словами, после того, как все данные сегментов области 2 сохранены в кодированном буфере 301 и определенный период окна (Decode Window) истек, данные сегментов декодируются декодером 302 сегментов субтитров, шрифт увеличивается блоком 303 увеличения размера шрифта и отображение области 2 начинается и продолжается в течение длительности отображения. В показанном примере область 2, имеющая символы "DEFG", отображается на экране немедленно после декодирования в течение длительности отображения.
Вслед за этим, аналогичный процесс продолжается.
На фиг. 16 показан пример более практичной операции модели 300А буфера декодера. Этот пример показывает, что область 1 отображается только в определенный момент времени, область 2 отображается одновременно со следующего момента времени, область 1 не отображается в определенный момент времени и затем отображение области 3 добавляется к отображению области 2.
Данные сегментов области 1 буферируются в кодированном буфере 301. Затем, после того, как все данные сегментов области 1 сохранены в кодированном буфере 301 и определенный период окна (Decode Window) истек, данные сегментов декодируются декодером 302 сегментов субтитров, размер шрифта увеличивается блоком 303 увеличения размера шрифта и данные битового изображения области 1 получаются в момент времени PTS1. Самый короткий период окна равен 0. Это означает, что все данные сегментов, необходимые для декодирования, необходимо буферировать в кодированном буфере 301 с помощью синхронизации декодирования.
В процесс декодирования данные сегментов области 1 мгновенно исчезают из кодированного буфера 301. Данные битового изображения области 1, полученные с помощью блока 303 увеличения размера шрифта, сохраняются посредством буфера 304 битового изображения. Объем хранения данных кодированного буфера 301 в момент времени PTS1 равен CBc_1 и объем хранения данных буфера 304 буферного изображения в момент времени PTS1 равен BBc_1.
Здесь далее определяется "display offset" (смещение отображения). Это значение указывает задержку от момента времени PTS до момента начала отображения. В показанном примере отображение области 1 начинается в момент времени PTS1, что означает "display offset1 = 0".
Далее здесь определяется "display duration" (длительность отображения). Это значение указывает длительность отображения. В показанном примере "display duration1 = T1". В показанном примере область 1, имеющая символы "АВС", отображается на экране в течение длительности Т1. Когда длительность отображения истекла, данные растрового изображения области 1 немедленно исчезают из буфера 304 растрового изображения. Другими словами, в то время, пока отображается область 1, данные растрового изображения области 1 сохраняются в буфере 304 растрового изображения.
Здесь, модель буфера ограничивается, так что в любое время объем CBc_k хранения данных кодированного буфера 301 меньше размера буфера, и в любое время объем BBc_k хранения данных буфера 304 растрового изображения меньше размера буфера.
После того, как все данные сегментов области 1 сохранены в кодированном буфере 301, в кодированном буфере 301 буферируются данные сегментов области 2. Затем, после того, как все данные сегментов области 2 сохранены в кодированном буфере 301 и определенный период окна (Decode Window) истек, данные сегментов декодируются декодером 302 сегментов субтитров, шрифт увеличивается блоком 303 увеличения размера шрифта и данные битового изображения области 2 получаются в момент времени PTS1.
В процесс декодирования данные сегментов области 2 мгновенно исчезают из кодированного буфера 301. Данные битового изображения области 2, полученные с помощью блока 303 увеличения размера шрифта, сохраняются посредством буфера 304 битового изображения. Объем хранения данных кодированного буфера 301 в момент времени PTS1 равен CBc_2 и объем хранения данных буфера 304 буферного изображения в момент времени PTS1 равен BBc_2.
Здесь, отображение области 2 начинается в момент времени PTS1, что означает, что "display offset2_1 = 0". Затем область 2 отображается в течение T2_1, что означает, что "display duration2_1 = T2_1". В показанном примере область 2, имеющая символы "DEF", отображается на экране в течение длительности Т2_1. В этом случае, отображение области 2 добавляется к отображению области 1 с момента времени PTS2. Заметим, что положение отображения области 1 смещается вверх в момент времени PTS2.
Дополнительно, в отношении области 2, данные растрового изображения области 2 не исчезают из буфера 304 данных растрового изображения в момент времени окончания длительности T2_1, но сохраняются. Отображение области 2 возобновляется в момент времени PTS3 после заданной длительности от момента времени PTS2, что означает "display offset2_1 = !0". Затем область 2 отображается в течение T2_2, что означает "display duration2_2 = T2_2".
Дополнительно, после того, как все данные сегментов области 2 сохранены в кодированном буфере 301, в кодированном буфере 301 буферируются данные сегментов области 3. Затем, после того, как все данные сегментов области 3 сохранены в кодированном буфере 301 и определенный период окна (Decode Window) истек, данные сегментов декодируются декодером 302 сегментов субтитров, шрифт увеличивается блоком 303 увеличения размера шрифта и данные битового изображения области 3 получают в момент времени PTS1.
В процессе декодирования данные сегментов области 3 мгновенно исчезают из кодированного буфера 301. Данные битового изображения, полученные с помощью блока 303 увеличения размера шрифта, сохраняются посредством буфера 304 битового изображения. Объем хранения данных кодированного буфера 301 в момент времени PTS1 равен CBc_3 и объем хранения данных буфера 304 буферного изображения в момент времени PTS3 равен BBc_3.
Здесь, отображение области 3 начинается в момент времени PTS3, что означает, что "display offset3 = 0". Затем область 3 отображается в течение T3, что означает, что "display duration3 = T3". В показанном примере область 3, имеющая символы "GHJK", отображается на экране в течение длительности Т3. В этом случае, области 2 и 3 отображаются с момента времени PTS3. Заметим, что положение отображения области 2 смещается вверх в момент времени PTS3.
Заметим, что пример показывает, что существует разница во времени между моментом окончания длительности T2_1 и моментом PTS3, но это может быть один и тот же момент времени.
На фиг. 17 показан другой пример более практичной операции модели 300А буфера декодера. Этот пример показывает, что подобно примеру, показанному на фиг. 16, область 1 отображается только в определенный момент времени, область 2 отображается одновременно со следующего момента времени, область 1 не отображается в определенный момент времени и затем отображение области 3 добавляется к отображению области 2. Однако, в отличие от примера, показанного на фиг. 16, области 1 и 2 декодируются одновременно.
Данные сегментов области 1 и данные сегментов области 2 буферируются в кодированном буфере 301. Затем, после того, как все данные сегментов областей 1 и 2 сохранены в кодированном буфере 301 и определенный период окна (Decode Window) истек, данные сегментов декодируются декодером 302 сегментов субтитров, шрифт увеличивается блоком 303 увеличения размера шрифта и данные битового изображения областей 1 и 2 получают в момент времени PTS1.
В процессе декодирования данные сегментов областей 1 и 2 мгновенно исчезают из кодированного буфера 301. Данные битового изображения областей 1 и 2, полученные с помощью блока 303 увеличения размера шрифта, сохраняются посредством буфера 304 битового изображения. Объем хранения данных кодированного буфера 301 в момент времени PTS1 равен CBc_1 и объем хранения данных буфера 304 буферного изображения в момент времени PTS1 равен BBc_1.
Здесь далее определяется "display offset". Это значение указывает задержку от момента времени PTS до момента начала отображения. В показанном примере отображение области 1 начинается в момент времени PTS1, что означает, что "display offset1 = 0".
Далее здесь определяется "display duration" (длительность отображения). Это значение указывает длительность отображения. В показанном примере "display duration1 = T1". В показанном примере область 1, имеющая символы "АВС", отображается на экране в течение длительности Т1. Когда длительность отображения истекла, данные растрового изображения области 1 немедленно исчезают из буфера 304 растрового изображения. Другими словами, в то время, пока отображается область 1, данные растрового изображения области 1 сохраняются в буфере 304 растрового изображения.
Здесь, модель буфера ограничивается тем, что в любое время объем CBc_k хранения данных кодированного буфера 301 меньше размера буфера, и в любое время объем BBc_k хранения данных буфера 304 растрового изображения меньше размера буфера.
Дополнительно, отображение области 2 начинается в момент времени после длительности Т2_0, считая от момента времени PTS1, что означает, что "display offset2_1 = Т2_0". Затем область 2 отображается в течение T2_1, что означает, что "display duration2_1 = T2_1". В показанном примере область 2, имеющая символы "DEF", отображается на экране в течение длительности Т2_1. В этом случае, отображение области 2 добавляется к отображению области 1. Заметим, что положение отображения области 1 смещено вверх.
Дополнительно, в отношении области 2, данные растрового изображения области 2 не исчезают из буфера 304 данных растрового изображения в момент времени окончания длительности T2_1, но сохраняются. Отображение области 2 возобновляется в момент времени PTS3 после заданной длительности от момента времени PTS2, что означает "display offset2_1 = !0". Затем область 2 отображается в течение T2_2, что означает, что "display duration2_2 = T2_2".
Дополнительно, после того, как все данные сегментов областей 1 и 2 сохранены в кодированном буфере 301, в кодированном буфере 301 буферируются данные сегментов области 3. Затем, после того, как все данные сегментов области 3 сохранены в кодированном буфере 301 и определенный период окна (Decode Window) истек, данные сегментов декодируются декодером 302 сегментов субтитров, шрифт увеличивается блоком 303 увеличения размера шрифта и данные битового изображения области 3 получают в момент времени PTS1.
В процесс декодирования данные сегментов области 3 мгновенно исчезают из кодированного буфера 301. Данные битового изображения, полученные с помощью блока 303 увеличения размера шрифта, сохраняются посредством буфера 304 битового изображения. Объем хранения данных кодированного буфера 301 в момент времени PTS1 равен CBc_3 и объем хранения данных буфера 304 буферного изображения в момент времени PTS3 равен BBc_3.
Здесь, отображение области 3 начинается в момент времени PTS3, что означает, что "display offset3 = 0". Затем область 3 отображается в течение T3, что означает, что "display duration3 = T3". В показанном примере область 3, имеющая символы "GHJK", отображается на экране в течение длительности Т3. В этом случае, области 2 и 2 отображаются с момента времени PTS3. Заметим, что положение отображения области 2 смещается вверх в момент времени PTS3.
Заметим, что пример показывает, что существует разница во времени между моментом окончания длительности T2_1 и моментом PTS3, но это может быть один и тот же момент времени.
На фиг. 18 представлен пример конфигурации модели 300А буфера декодера. Модель 300В буфера декодера содержит кодированный буфер 311, декодер 312 сегментов субтитров и блок 313 увеличения размера шрифта. Кодированный буфер 311 временно хранит данные принятых сегментов.
Декодер 312 сегментов субтитров непрерывно выполняет процесс декодирования каждого кадра в данные сегментов для каждой области, хранящейся в кодированном буфере 311, и получает текстовые данные и код управления каждой области в течение длительности отображения каждой области. Блок 313 увеличения размера шрифта для каждого кадра увеличивает шрифт на основе текстовых данных и кода управления области, полученных декодером 312 сегментов субтитров, и получает данные растрового изображения каждой области в течение длительности каждой области. Данные растрового изображения каждой области, полученные блоком 313 увеличения размера шрифта, накладываются на данные изображения.
На фиг. 19 показан пример основной операции модели 300В буфера декодера. Данные сегментов области 1 буферируются в кодированном буфере 311. Затем, после того, как все данные сегментов области 1 сохранены в кодированном буфере 311 и определенный период окна (Decode Window) истек, данные сегментов декодируются декодером 312 сегментов субтитров, шрифт увеличивается блоком 313 увеличения размера шрифта и получаются данные битового изображения области 1. Таким образом, отображение области 1 начинается и продолжается в течение длительности отображения. В показанном примере область 1, имеющая символы "АВС", отображается на экране в течение длительности отображения.
В декодере 312 сегментов субтитров и блоке 313 увеличения размера шрифта процесс повторяется для каждого кадра в течение длительности отображения. Когда время отображения области 1 истекает, процесс декодера 312 сегментов субтитров и блока 313 увеличения размера шрифта, соответствующие данным сегментов для области 1, останавливается и данные сегментов области 1 в этот момент времени мгновенно исчезают из кодированного буфера 311.
После того, как все данные сегментов области 1 сохранены в кодированном буфере 311, в кодированном буфере 311 буферируются данные сегментов области 2. Процесс, подобный описанному выше процессу для области 1, последовательно выполняется для области 2.
Другими словами, после того, как все данные сегментов области 2 сохранены в кодированном буфере 311 и определенный период окна (Decode Window) истек, данные сегментов декодируются декодером 312 сегментов субтитров, шрифт увеличивается блоком 313 увеличения размера шрифта и получают данные растрового изображения области 2. Таким образом, отображение области 2 начинается и продолжается в течение длительности отображения. В показанном примере область 2, имеющая символы "DEFG", отображается на экране в течение длительности отображения.
Вслед за этим, аналогичный процесс продолжается.
На фиг. 20 показан пример более практичной операции модели 300В буфера декодера. Этот пример показывает, что область 1 отображается только при определенной синхронизации, область 2 отображается одновременно при последующей синхронизации, область 1 не отображается при определенной синхронизации и затем отображение области 3 добавляется к отображению области 2.
Данные сегментов области 1 буферируются в кодированном буфере 311. Затем, после того, как все данные сегментов области 1 сохранены в кодированном буфере 311 и определенный период окна (Decode Window) истек, наступает момент времени PTS1.
Здесь далее определяется "display offset". Это значение указывает задержку от момента времени PTS до момента начала отображения. В показанном примере отображение области 1 начинается в момент времени PTS1, что означает, что "display offset1 = 0". В этом случае, данные сегментов области 1 декодируются декодером 312 сегментов субтитров, шрифт увеличивается блоком 313 увеличения размера шрифта и данные растрового изображения области 1 получают в момент времени PTS1. Таким образом, начинается отображение области 1. В показанном примере начинается отображение области 1, имеющей символы "АВС".
Далее здесь определяется "display duration" (длительность отображения). Это значение указывает длительность отображения. Пример показывает "display duration1 = T1" и отображение области 1 продолжается в течение T1. В декодере 312 сегментов субтитров и блоке 313 увеличения размера шрифта процесс повторяется для каждого кадра в течение длительности отображения области 1. Когда время отображения области 1 истекает, процесс декодера 312 сегментов субтитров и блока 313 увеличения размера шрифта, соответствующие данным сегментов для области 1, останавливается и данные сегментов области 1 в этот момент времени мгновенно исчезают из кодированного буфера 311.
Объем хранения данных кодированного буфера 311 на момент времени PTS1 равен CBc_1. Здесь модель буфера ограничивается, так, чтобы объем хранения данных CBc_k кодированного буфера 311 в любое время был меньше размера буфера.
После того, как все данные сегментов области 1 сохранены в кодированном буфере 311, в кодированном буфере 311 буферируются данные сегментов области 2. Затем, после того, как все данные сегментов области 2 сохранены в кодированном буфере 311 и определенный период окна (Decode Window) истек, наступает момент времени PTS2. Объем хранения данных кодированного буфера 311 на момент времени PTS2 равен CBc_2.
Отображение области 2 начинается в момент времени PTS2, что означает, что "display offset2-1 = 0". В этом случае, данные сегментов области 2 декодируются декодируются декодером 312 сегментов субтитров, шрифт увеличивается блоком 313 увеличения размера шрифта и данные растрового изображения области 2 получают в момент времени PTS2. Таким образом, начинается отображение области 2. В показанном примере начинается отображение области 2, имеющей символы "DEF". В этом случае, отображение области 2 добавляется к отображению области 1 с момента времени PTS2. Заметим, что положение отображения области 1 смещается вверх в момент времени PTS2.
Затем область 2 отображается в течение T2_1, что означает, что "display duration2_1 = T2_1". В показанном примере область 2, имеющая символы "DEF", отображается на экране в течение длительности Т2_1. В декодере 312 сегментов субтитров и блоке 313 увеличения размера шрифта процесс повторяется для каждого кадра в течение длительности отображения области 2.
Дополнительно, в отношении области 2, данные растрового изображения области 2 не исчезают из кодированного буфера 311 в момент времени окончания длительности T2_1, а сохраняются. Отображение области 2 возобновляется в момент времени PTS3 после заданной длительности от момента времени PTS2, что означает, что "display offset2_1 = 10". Затем область 2 отображается в течение T2_2, что означает "display duration2_2 = T2_2". Когда длительность отображения области 2 полностью истекла, данные сегментов области 2 мгновенно исчезают из кодированного буфера 311.
Дополнительно, после того, как все данные сегментов области 2 сохранены в кодированном буфере 311, в кодированном буфере 311 буферируются данные сегментов области 3. Затем, после того, как все данные сегментов области 3 сохранены в кодированном буфере 311 и определенный период окна (Decode Window) истек, наступает момент времени PTS3. Объем хранения данных кодированного буфера 311 на момент времени PTS3 равен CBc_3.
Здесь, отображение области 3 начинается в момент времени PTS3, что означает, что "display offset3 = 0". В этом случае, данные сегментов области 3 декодируются декодером 312 сегментов субтитров, шрифт увеличивается блоком 313 увеличения размера шрифта и данные растрового изображения области 3 получают в момент времени PTS3. Таким образом, начинается отображение области 3. В показанном примере начинается отображение области 3, имеющей символы "GHJK". В этом случае, отображение области 3 добавляется к отображению области 2 с момента времени PTS3. Заметим, что в момент времени PTS3 положение отображения области 2 смещается вверх.
Затем область 3 отображается в течение T3, что означает, что "display duration3 = T3". В показанном примере область 3, имеющая символы "GHJK", отображается на экране в течение длительности Т3. В декодере 312 сегментов субтитров и блоке 313 увеличения размера шрифта процесс повторяется для каждого кадра в течение длительности отображения области 3.
Заметим, что пример показывает, что существует разница во времени между моментом окончания длительности T2_1 и моментом PTS3, но это может быть один и тот же момент времени.
На фиг. 21 показан другой пример более практичной операции модели 300А буфера декодера. Этот пример показывает, что подобно примеру, показанному на фиг. 20, область 1 отображается только в определенный момент времени, область 2 отображается одновременно со следующего момента времени, область 1 не отображается в определенный момент времени и затем отображение области 3 добавляется к отображению области 2. Однако, в отличие от примера, показанного на фиг. 20, после того, как все данные сегментов областей 1 и 2 сохранены в кодированном буфере 311, начинается отображение области 1.
Данные сегментов области 1 и данные сегментов области 2 буферируются в кодированном буфере 301. Затем, после того, как все данные сегментов областей 1 и 2 сохранены в кодированном буфере 301 и определенный период окна (Decode Window) истек, наступает момент времени PTS1.
Здесь далее определяется "display offset". Это значение указывает задержку от момента времени PTS до момента начала отображения. В показанном примере отображение области 1 начинается в момент времени PTS1, что означает, что "display offset1 = 0". В этом случае, данные сегментов области 1 декодируются декодером 312 сегментов субтитров, шрифт увеличивается блоком 313 увеличения размера шрифта и данные растрового изображения области 1 получают в момент времени PTS1. Таким образом, начинается отображение области 1. В показанном примере начинается отображение области 1, имеющей символы "АВС".
Далее здесь определяется "display duration" (длительность отображения). Это значение указывает длительность отображения. Пример показывает "display duration1 = T1" и отображение области 1 продолжается в течение T1. В декодере 312 сегментов субтитров и блоке 313 увеличения размера шрифта процесс повторяется для каждого кадра в течение длительности отображения области 1. Когда время отображения области 1 истекает, процесс декодера 312 сегментов субтитров и блока 313 увеличения размера шрифта, соответствующие данным сегментов для области 1, останавливается и данные сегментов области 1 в этот момент времени мгновенно исчезают из кодированного буфера 311.
Объем хранения данных кодированного буфера 311 на момент времени PTS1 равен CBc_1. Здесь модель буфера ограничивается тем, чтобы объем хранения данных CBc_k кодированного буфера 311 в любое время был меньше размера буфера.
Дополнительно, отображение области 2 начинается в момент времени после длительности Т2_0, считая от момента времени PTS1, что означает, что "display offset2_1 = Т2_0". Данные сегментов области 2 декодируются декодером 312 сегментов субтитров, шрифт увеличивается блоком 313 увеличения размера шрифта и в этот момент времени получают данные растрового изображения области 2. Таким образом, начинается отображение области 2. В показанном примере начинается отображение области 2, имеющей символы "DEF". В этом случае, отображение области 2 добавляется к отображению области 1. Заметим, что положение отображения области 1 смещено вверх.
Затем область 2 отображается в течение T2_1, что означает, что "display duration2_1 = T2_1". В показанном примере область 2, имеющая символы "DEF", отображается на экране в течение длительности Т2_1. В декодере 312 сегментов субтитров и блоке 313 увеличения размера шрифта процесс повторяется для каждого кадра в течение длительности отображения области 2.
Дополнительно, в отношении области 2, данные растрового изображения области 2 не исчезают из кодированного буфера 311 в момент времени окончания длительности T2_1, а сохраняются. Отображение области 2 возобновляется в момент времени PTS3 после заданной длительности от момента времени PTS2, что означает, что "display offset2_1 = 10". Затем область 2 отображается в течение T2_2, что означает, что "display duration2_2 = T2_2". Когда длительность отображения области 2 полностью истекла, данные сегментов области 2 мгновенно исчезают из кодированного буфера 311.
Дополнительно, после того, как все данные сегментов области 2 сохранены в кодированном буфере 311, в кодированном буфере 311 буферируются данные сегментов области 3. Затем, после того, как все данные сегментов области 3 сохранены в кодированном буфере 311 и определенный период окна (Decode Window) истек, наступает момент времени PTS3. Объем хранения данных кодированного буфера 311 на момент времени PTS3 равен CBc_3.
Здесь, отображение области 3 начинается в момент времени PTS3, что означает, что "display offset3 = 0". В этом случае, данные сегментов области 3 декодируются декодером 312 сегментов субтитров, шрифт увеличивается блоком 313 увеличения размера шрифта и данные растрового изображения области 3 получают в момент времени PTS3. Таким образом, начинается отображение области 3. В показанном примере начинается отображение области 3, имеющей символы "GHJK". В этом случае, отображение области 3 добавляется к отображению области 2 с момента времени PTS3. Заметим, что положение отображения области 2 смещается вверх в момент времени PTS3.
Затем область 3 отображается в течение T3, что означает, что "display duration3 = T3". В показанном примере область 3, имеющая символы "GHJK", отображается на экране в течение длительности Т3. В декодере 312 сегментов субтитров и блоке 313 увеличения размера шрифта процесс повторяется для каждого кадра в течение длительности отображения области 3.
Заметим, что пример показывает, что существует разница во времени между моментом T2_1 окончания длительности и моментом PTS3, но это может быть один и тот же момент времени.
Возвращаясь снова к фиг. 2, устройство 116 форматирования TS мультиплексирует видеопоток, сформированный видеокодером 112, аудиопоток, сформированный аудиокодером 113, и поток субтитров, сформированный кодером 115 субтитров, путем их транспортной пакетизации и получает транспортный поток TS в качестве мультиплексированного потока.
Здесь кратко описывается действие блока 110 формирования потока, показанного на фиг. 3. Данные DV изображения подается на видеокодер 112. В видеокодере 112 выполняется кодирование данных DV изображения и формируется видеопоток, имеющий кодированные данные изображения (поток PES). Видеопоток подается на устройство 116 форматирования TS. Дополнительно, аудиоданные DA подаются на аудиокодер 113. В аудиокодере 113 выполняется кодирование данных DA и формируется аудиопоток, имеющий кодированные аудиоданные (поток PES). Аудиопоток подается на устройство 116 форматирования TS.
Дополнительно, текстовые данные DT (код символов) в качестве информации субтитров подаются на блок 114 преобразования текстового формата. В блоке 114 преобразования текстового формата получают текстовую информацию субтитров в заданном формате, имеющую информацию о моменте отображения, здесь, TTML. TTML подается на кодер 115 субтитров.
В кодере 115 субтитров TTML преобразуется в различные сегменты и формируется поток субтитров, образованный пакетом PES, в котором сегменты располагаются в полезной нагрузке. Поток субтитров подается на устройство 116 форматирования TS.
Часть пакета PES, соответствующая полезной нагрузке, содержит сегменты TCS, THMS, THSS, THLS и TBS или сегменты TCS и TWS. Информация синхронизации отображения с субтитрами (областью) (имеющая информацию о моменте начала отображения и длительности отображения) передается с помощью сегментов TCS и информация TTML передается с помощью других сегментов.
В кодере 115 субтитров, когда TTML преобразуется в сегменты, "PTS", который должен вставляться в заголовок PES, и "display offset" и "display duration", вставленные в TCS, устанавливаются со ссылкой на системную временную информацию (PCR и время синхронизации видео и аудио), основываясь на описании момента начала отображения и момента окончания отображения каждого субтитра, содержащегося в основной части TTML.
В устройстве 116 форматирования TS видеопоток, сформированный видеокодером 112, аудиопоток, сформированный аудиокодером 113, и поток субтитров, сформированный кодером 115 субтитров, мультиплексируются путем их транспортной пакетизации и транспортный поток TS получают как мультиплексированный поток.
На фиг. 22 показан пример конфигурация транспортного потока TS. В этом примере конфигурации существует пакет PES "Video PES" видеопотока, идентифицированного посредством PID1. Дополнительно, в этом примере конфигурации существует пакет PES "Audio PES" аудиопотока, идентифицированного посредством PID2. Дополнительно, в этом примере конфигурации существует пакет PES "Subtitle PES" потока субтитров, идентифицированного посредством PID3.
Пакет PES состоит из заголовка PES и полезной нагрузки PES. В пакете PES видеопотока временная метка DTS/PTS вставляется в заголовок PES и кодированный видеопоток вставляется в полезную нагрузку PES. Дополнительно, в пакете PES аудиопотока временная метка PTS вставляется в заголовок PES и кодированный аудиопоток вставляется в полезную нагрузку PES.
Дополнительно, в пакете PES потока субтитров временная метка PTS вставляется в заголовок PES и множество сегментов субтитров вставляются в полезную нагрузку PES. Другими словами, сегменты субтитров являются сегментами TCS, THMS, THSS, THLS и TBS или сегментами TCS и TWS.
Дополнительно, транспортный поток TS содержит таблицу карты программ (PMT) в качестве конкретной информации о программах (PSI). Эта PSI является информацией, в которой описывается, к какой программе принадлежит каждый элементарный поток, содержащийся в транспортном потоке. Дополнительно, транспортный TS поток содержит таблицу информации о событиях (EIT) в качестве служебной информации (SI) для выполнения управления в блоках событий. Метаданные в программных блоках описываются в EIT.
В РМТ существует программный дескриптор для описания информации по всем программам. Дополнительно, в РМТ существует контур элементарного потока, имеющий информацию, относящуюся к каждому элементарному потоку. В этом примере конфигурации существуют контур элементарного видеопотока (контур Video ES), контур элементарного аудиопотока (контур Audio ES) и контур элементарного потока субтитров (контур Subtitle ES). В каждом контуре располагаются информация об идентификаторе пакета (PID) и т.п., а также, хотя он и не показан, располагается дескриптор описания информации об элементарном потоке.
Пример конфигурации телевизионного приемника
На фиг. 23 показан пример конфигурации телевизионного приемника 200. Телевизионный приемник 200 содержит приемный блок 201, блок 202 анализа TS, видеодекодер 203, блок 204 видеоналожения, схему 205 запуска панели и панель 206 дисплея. Дополнительно, телевизионный приемник 200 содержит аудиодекодер 207, схему 208 аудиовыхода, громкоговоритель 209 и декодер 210 субтитров. Дополнительно, телевизионный приемник 200 содержит центральный процессор CPU 221, флэш-память ROM 222, DRAM 223, внутреннюю шину 224, блок 225 приема дистанционного управления и передатчик 226 дистанционного управления.
Блок 221 CPU управляет работой компонентов телевизионного приемника 200. Флэш-память ROM 222 хранит программное обеспечение и данные управления. DRAM 223 формирует рабочую зону CPU 221. CPU 221 раскрывает программное обеспечение или данные, считываемые с флэш-памяти ROM 222 в DRAM 223, запускает программное обеспечение и управляет компонентами телевизионного приемника 200.
Блок 225 приема дистанционного управления принимает сигнал дистанционного управления (код дистанционного управления), переданный от передатчика 226 дистанционного управления, и подает сигнал на CPU 221. Блок 221 CPU управляет компонентами телевизионного приемника 200, основываясь на коде дистанционного управления. CPU 221, флэш-память 222 ROM и DRAM 223 соединяются с внутренней шиной 224.
Блок 201 приема принимает транспортный поток TS, передаваемый на частоте вещания, от широковещательной передающей системы 100. Как описано выше, транспортный поток TS содержит видеопоток, аудиопоток и поток субтитров. Блок 202 анализа TS извлекает из транспортного потока TS пакеты видеопотока, аудиопотока и потока субтитров.
Аудиодекодер 207 выполняет процесс декодирования аудиопотока, извлеченного блоком 202 анализа TS, и получает аудиоданные. Схема 208 аудиовыхода выполняет необходимый процесс, такой цифро-аналоговое (D/A) преобразование и усиление аудиоданных и подает их на громкоговоритель 209. Видеодекодер 203 выполняет процесс декодирования видеопотока, извлеченного блоком 202 анализа TS, и получает данные изображения.
Декодер 210 субтитров обрабатывает данные сегментов каждой области, извлеченные блоком 202 анализа TS, и выводит данные растрового изображения каждой области, которые должны накладываться на данные изображения. На фиг. 24 и 25 показаны примеры конфигурации декодера 210 субтитров.
Декодер 210 субтитров, показанный на фиг. 24, имеет конфигурацию, соответствующую модели 300А буфера декодера, показанной на фиг. 14. Другими словами, декодер 210 субтитров содержит буфер 231 кодирования, декодер 232 сегментов субтитров, блок 233 увеличения размера шрифта и буфер 234 растрового изображения.
Буфер 231 кодирования временно хранит данные принятых сегментов. Декодер 232 сегментов субтитров выполняет процесс декодирования данных сегментов для каждой области, хранящейся в буфере 231 кодирования, в заданные моменты времени и получает текстовые данные и код управления для каждой области. Блок 233 увеличения размера шрифта увеличивает размер шрифта на основе текстовых данных и кода управления области, полученных декодером 232 сегментов субтитров, и получает данные растрового изображения каждой области.
Буфер 234 растрового изображения временно хранит данные растрового изображения каждой области, полученные блоком 233 увеличения размера шрифта. Данные растрового изображения каждой области, хранящиеся буфером 234 растрового изображения, считываются с момента начала отображения и накладываются на данные изображения и этот процесс длится в течение длительности отображения.
Здесь, декодер 232 сегментов субтитров извлекает PTS из заголовка PES пакета PES. Дополнительно, декодер 232 сегментов субтитров извлекает информацию "display offset" и "display duration" для каждой области сегментов TCS (смотрите фиг. 12). Информация передается на CPU 221. CPU 221 на основе информации управляет процессом синхронизации декодера 232 сегментов субтитров и блока 233 увеличения размера шрифта, синхронизации для считывания данных растрового изображения каждой области, полученных из буфера 234 растрового изображения, и т.п., с тем, чтобы выполнялась операция, схожая с операцией модели 300А буфера декодера, объясненной со ссылкой на фиг. 14, (смотрите фиг. 15-17).
Дополнительно, декодер 210 субтитров, показанный на фиг. 25, имеет конфигурацию, соответствующую модели 300В буфера декодера, показанной на фиг. 18. Другими словами, декодер 210 субтитров содержит буфер 241 кодирования, декодер 242 сегментов субтитров и блок 243 увеличения размера шрифта.
Буфер 241 кодирования временно хранит данные принятых сегментов. Декодер 242 сегментов субтитров непрерывно выполняет процесс декодирования каждого кадра в данные сегментов для каждой области, хранящейся в буфере 241 кодирования, и получает текстовые данные и код управления каждой области в течение длительности отображения каждой области. Блок 243 увеличения размера шрифта для каждого кадра увеличивает шрифт на основе текстовых данных и кода управления области, полученных декодером 242 сегментов субтитров, и получает данные растрового изображения каждой области в течение длительности каждой области. Данные растрового изображения каждой области, полученные блоком 243 увеличения размера шрифта, накладываются на данные изображения.
Здесь, декодер 242 сегментов субтитров извлекает PTS из заголовка PES пакета PES. Дополнительно, декодер 242 сегментов субтитров извлекает информацию "display offset" и "display duration" для каждой области из сегментов TCS (смотрите фиг. 12). Информация передается на CPU 221. CPU 221 на основе информации управляет процессом синхронизации декодера 232 сегментов субтитров и блока 233 увеличения размера шрифта и т.п., с тем, чтобы выполнялась операция, схожая с операцией модели 300В буфера декодера, объясненной со ссылкой на фиг. 18 (смотрите фиг. 19-21).
Возвращаясь обратно к фиг. 23, блок 204 видеоналожения накладывает данные растрового изображения каждой области, полученные декодером 210 субтитров, на данные изображения, полученные видеодекодером 203. Схема 205 запуска панели приводит в действие панель 206 дисплея, основываясь на данных изображения для дисплея, полученных блоком 204 видеоналожения. Панель 206 дисплея образуется, например, жидкокристаллическим дисплеем (LCD), органическим электролюминесцентным дисплеем и т.п.
Здесь кратко описывается действие телевизионного приемника 200, показанного на фиг. 23. Блок 201 приема принимает транспортный поток TS, передаваемый на частоте вещания широковещательной передающей системой 100. Транспортный поток TS содержит видеопоток, аудиопоток и поток субтитров.
Транспортный поток TS подается на блок 202 анализа TS. Блок 202 анализа TS извлекает из транспортного потока TS пакеты видеопотока, аудиопотока и потока субтитров. Видеопоток (поток PES), извлеченный блоком 202 анализа TS, подается на видеодекодер 203. Видеодекодер 203 выполняет процесс декодирования видеопотока и получает данные изображения. Данные изображения подаются на блок 204 видеоналожения.
Дополнительно, на декодер 210 субтитров подается поток субтитров (поток PES), извлеченный блоком 202 анализа TS. В декодере 210 субтитров данные сегментов каждой области обрабатываются и выводятся данные растрового изображения каждой области, которые должны накладываться на данные изображения. В этом случае, выходная синхронизация данных растрового изображения каждой области в декодере 210 субтитров управляется на основе информации "display offset" и "display duration", извлеченной из PTS, и сегментов TCS, извлеченных из заголовка PES.
Данные растрового изображения каждой области с выхода декодера 210 субтитров подаются на блок 204 видеоналожения. В блоке 204 видеоналожения данные растрового изображения каждой области с выхода декодера 210 субтитров накладываются на данные изображения, полученные видеодекодером 203. Данные изображения, полученные блоком 204 видеоналожения, подаются на схему 205 запуска панели. В схеме 205 запуска панели панель 206 дисплея приводится в действие на основе видеоданных отображения. Таким образом, на панели 206 дисплея отображается изображение, на которое накладываются области.
Дополнительно, на аудиодекодер 207 подается аудиопоток (поток PES), извлеченный блоком 202 анализа TS. Аудиодекодер 207 выполняет процесс декодирования аудиопотока и получает аудиоданные. Аудиоданные подаются на схему 208 аудиовыхода. Схема 208 аудиовыхода выполняет необходимый процесс, такой цифро-аналоговое (D/A) преобразование и усиление аудиоданных. Затем, обработанные аудиоданные подаются на громкоговоритель 209. Таким образом, аудиосигнал, соответствующий изображению, отображаемому на панели 206 дисплея, выводится через громкоговоритель 209.
Как описано выше, в приемопередающей системе 10, показанной на фиг. 1, поток субтитров, имеющий текстовую информацию и информацию синхронизации отображения, передается вместе с видеопотоком. Таким образом, можно более эффективным образом на приемной стороне выполнять управление синхронизацией отображения с субтитрами.
Дополнительно, в приемопередающей системе 10, показанной на фиг. 1, поток субтитров содержит сегмент, имеющий информацию TTML, имеющую текстовую информацию и информацию синхронизации отображения с субтитрами, причем сегмент TCS имеет информацию синхронизации отображения (информацию о моменте начала отображения и моменте окончания отображения), соответствующую информации TTML синхронизации отображения. Таким образом, из сегментов TCS можно более эффективным образом получить информацию синхронизации отображения и уменьшить процесс загрузки на приемной стороне.
Дополнительно, в приемопередающей системе 10, показанной на фиг. 1, при преобразовании TTML в сегменты на стороне передачи, "PTS", "display offset" и "display duration" каждого субтитра устанавливаются со ссылкой на системную временную информацию (PCR и время синхронизации видео- и аудио-), основываясь на описании момента начала отображения и момента окончания отображения каждого субтитра, содержащегося в основной части TTML. В это время устанавливаются "PTS", "display offset" и "display duration", в то же время проверяя, что операция на приемной стороне выполняется правильно, используя модель буфера декодера (смотрите фиг. 14 и 18), и на приемной стороне более эффективным образом выполняется управление синхронизацией субтитров.
2. Модифицированный пример
Заметим, что в качестве примера в приведенном выше варианте осуществления было представлено, что TTML используется в качестве текстовой информации субтитров в заданном формате, имеющем информацию синхронизации с отображением. Однако, настоящая технология этим не ограничивается и может использоваться и другая синхронизированная текстовая информация, имеющая информацию, эквивалентную TTML. Например, может использоваться производный формат TTML.
Дополнительно, в представленном выше варианте осуществления была описана приемопередающая система 10, состоящая из широковещательной передающей системы 100 и телевизионного приемника 200, но приемопередающая система, к которой может применяться настоящая технология, этим не ограничивается. Например, частью телевизионного приемника 200 могут быть телевизионная приставка и монитор, соединенные с цифровым интерфейсом, таким как мультимедийный интерфейс высокой четкости (High-Definition Multimedia Interface, HDMI). Заметим, что "HDMI" является зарегистрированной торговой маркой.
Дополнительно, настоящая технология может иметь следующие конфигурации:
(1) Передающее устройство, содержащее:
Видеокодер для генерирования видеопотока, содержащего кодированные данные изображения;
кодер субтитров для генерирования потока субтитров, имеющего текстовую информацию и информацию синхронизации отображения с субтитрами; и
передающий блок для передачи транспортного потока, содержащего видеопоток и поток сибтитров.
(2) Передающее устройство по (1), в котором кодер субтитров выполнен с возможностью генерирования потока субтитров на основе текстовой информации субтитров в заданном формате, имеющем информацию синхронизации отображения.
(3) Передающее устройство по (2), в котором текстовая информация субтитров в заданном формате выполнена на языке TTML или в производном формате TTML.
(4) Передающее устройство по любому из (1)-(3), в котором информация синхронизации отображения с субтитрами имеет информацию по меньшей мере о моменте начала отображения и о длительности отображения.
(5) Передающее устройство по (4), в котором
поток субтитров состоит из пакета PES, содержащего заголовок PES и полезную нагрузку PES,
текстовая информация и информация синхронизации отображения с субтитрами располагаются в полезной нагрузке PES, а
момент начала отображения указывается посредством смещения отображения относительно PTS, вставленного в заголовок PES.
(6) Способ передачи, содержащий этапы, на которых:
генерируют, на этапе видеокодирования, видеопоток, содержащий кодированные данные изображения;
генерируют, на этапе кодирования субтитров, поток субтитров, имеющий текстовую информацию и информацию синхронизации отображения с субтитрами; и
передают, на этапе передачи, посредством передающего блока, транспортный поток, содержащий видеопоток и поток сибтитров.
(7) Приемное устройство, содержащее:
приемный блок для приема транспортного потока, содержащего видеопоток, имеющий кодированные данные изображения, и поток субтитров, имеющий текстовую информацию субтитров и информацию синхронизации отображения с субтитрами;
видеодекодер для осуществления процесса декодирования видеопотока и получения данных изображения;
декодер субтитров для осуществления процесса декодирования потока субтитров и получения данных растрового изображения субтитров и информации синхронизации отображения; и
блок управления отображением для управления синхронизацией для наложения данных растрового изображения субтитров на данные изображения на основе информации синхронизации отображения.
(8) Приемное устройство по (7), в котором информация синхронизации отображения с субтитрами имеет информацию по меньшей мере о моменте начала отображения и о длительности отображения.
(9) Приемное устройство по (8), в котором
поток субтитров состоит из пакета PES, содержащего заголовок PES и полезную нагрузку PES,
текстовая информация и информация синхронизации отображения с субтитрами располагаются в полезной нагрузке PES, и
момент начала отображения указывается посредством смещения отображения относительно PTS, вставленного в заголовок PES.
(10) Способ приема, содержащий этапы, на которых:
принимают, на этапе приема, посредством приемного блока, транспортный поток, содержащий видеопоток, имеющий кодированные данные изображения, и поток субтитров, имеющий текстовую информацию и информацию синхронизации отображения с субтитрами;
выполняют, на этапе видеодекодирования, процесс декодирования видеопотока и получают данные изображения;
выполняют, на этапе декодирования субтитров, процесс декодирования потока субтитров и получают в субтитрах данные растрового изображения и информацию синхронизации отображения с субтитрами; и
управляют, на этапе управления отображением, синхронизацией для наложения данных растрового изображения субтитров на данные изображения на основе информации синхронизации отображения.
Основным признаком настоящей технологии является более эффективное выполнение управления синхронизацией с субтитрами на приемной стороне при передаче потока субтитров, имеющего текстовую информацию субтитров и информации синхронизации отображения вместе с видеопотоком (смотрите фиг. 22).
Перечень ссылочных позиций
10 Приемопередающая система
100 Широковещательная передающая система
110 Блок генерирования потока
111 Блок управления
112 Видеокодер
113 Аудиокодер
114 Блок преобразования текстового формата
115 Кодер субтитров
116 Устройство форматирования TS
200 Телевизионный приемник
201 Приемный блок
202 Блок анализа TS
203 Видеодекодер
204 Блок видеоналожения
205 Схема запуска панели
206 Панель дисплея
207 Аудиодекодер
208 Схема аудиовыхода
209 Громкоговоритель
210 Декодер субтитров
221 Центральный процессор, CPU
231, 241 Буфер кодирования
232, 242 Декодер сегментов субтитров
233, 243 Блок увеличения размера шрифта
234 Буфер растрового изображения
300A, 300B Модель буфера декодера
301, 311 Буфер кодирования
302, 312 Декодер сегментов субтитров
303, 313 Блок увеличения размера шрифта
304 Буфер растрового изображения
Изобретение относится к передающему устройству, которое передает текстовую информацию вместе с видеоинформацией. Техническим результатом является управление синхронизацией отображения субтитров более эффективным образом на приемной стороне. Предложено генерировать видеопоток, имеющий кодированные данные изображения, при этом генерируется поток субтитров, имеющий текстовую информацию о субтитрах и информацию синхронизации отображения. Передается транспортный поток, содержащий видеопоток и поток субтитров. Например, информация синхронизации отображения с субтитрами содержит информацию о синхронизации начала отображения и о длительности отображения. 4 н. и 2 з.п. ф-лы, 25 ил.
1. Передающее устройство, содержащее:
видеокодер, выполненный с возможностью генерирования видеопотока, содержащего кодированные данные изображения;
кодер субтитров, выполненный с возможностью генерирования потока субтитров, содержащего текстовую информацию и информацию синхронизации отображения субтитров; и
передающий блок, выполненный с возможностью передачи транспортного потока, содержащего видеопоток и поток субтитров; при этом
кодер субтитров выполнен с возможностью генерирования потока субтитров на основе текстовой информации субтитров в заданном формате, имеющем информацию синхронизации отображения; а
текстовая информация субтитров в заданном формате выполнена в формате языка теговой разметки текстов (TTML) или в производном формате TTML, причем указанная информация субтитров имеет форму символьного кода.
2. Передающее устройство по п. 1, в котором информация синхронизации отображения с субтитрами содержит информацию по меньшей мере о моменте начала отображения и о длительности отображения.
3. Способ передачи, содержащий:
этап видеокодирования, на котором генерируют видеопоток, содержащий кодированные данные изображения;
этап кодирования субтитров, на котором генерируют поток субтитров, содержащий текстовую информацию и информацию синхронизации отображения субтитров; и
этап передачи, на котором передают, посредством передающего блока, транспортный поток, содержащий видеопоток и поток субтитров; при этом
поток субтитров сгенерирован на основе текстовой информации субтитров в заданном формате, имеющем информацию синхронизации отображения; причем
текстовая информация субтитров в заданном формате выполнена в формате TTML или в производном формате TTML, а указанная информация субтитров имеет форму символьного кода.
4. Приемное устройство, содержащее:
приемный блок, выполненный с возможностью приема транспортного потока, содержащего видеопоток, имеющий кодированные данные изображения, и поток субтитров, имеющий текстовую информацию и информацию синхронизации отображения субтитров;
видеодекодер, выполненный с возможностью исполнения процесса декодирования видеопотока и получения данных изображения;
декодер субтитров, выполненный с возможностью исполнения процесса декодирования потока субтитров и получения данных растрового изображения субтитров и информации синхронизации отображения субтитров; и
блок управления отображением, выполненный с возможностью управления синхронизацией наложения данных растрового изображения субтитров на данные изображения на основе информации синхронизации отображения; при этом
текстовая информация субтитров имеет заданный формат содержащий информацию синхронизации отображения, причем
текстовая информация субтитров в заданном формате выполнена в формате TTML или в производном формате TTML, а указанная информация субтитров имеет форму символьного кода.
5. Приемное устройство по п. 4, в котором информация синхронизации отображения с субтитрами содержит информацию по меньшей мере о моменте начала отображения и о длительности отображения.
6. Способ приема, содержащий:
этап приема, на котором принимают, посредством приемного блока, транспортный поток, содержащий видеопоток, имеющий кодированные данные изображения, и поток субтитров, имеющий текстовую информацию и информацию синхронизации отображения субтитров;
этап видеодекодирования, на котором осуществляют процесс декодирования видеопотока и получают данные изображения;
этап декодирования субтитров, на котором осуществляют процесс декодирования потока субтитров и получают данные растрового изображения субтитров и информацию синхронизации отображения субтитров; и
этап управления отображением, на котором управляют синхронизацией для наложения данных растрового изображения субтитров на данные изображения на основе информации синхронизации отображения; при этом
текстовая информация субтитров имеет заданный формат, содержащий информацию синхронизации отображения, причем
текстовая информация субтитров в заданном формате выполнена в формате TTML или в производном формате TTML, а указанная информация субтитров имеет форму символьного кода.
Digital Video Broadcasting (DVB); Subtitling systems, ETSI EN 300 743, V1.5.1, 2014-01 | |||
US 2011119708 A1, 2011-05-19 | |||
US 2013185760 A1, 2013-07-18 | |||
US 2013027514 A1, 2013-01-31 | |||
НОСИТЕЛЬ ЗАПИСИ, ИМЕЮЩИЙ СТРУКТУРУ ДАННЫХ, ВКЛЮЧАЮЩУЮ В СЕБЯ ГРАФИЧЕСКИЕ ДАННЫЕ, И СПОСОБ И УСТРОЙСТВО ЗАПИСИ И ВОСПРОИЗВЕДЕНИЯ | 2004 |
|
RU2378721C2 |
Multimedia Coding Specification for Digital Broadcasting (Second Generation), ARIB STD- B62, ver.1.0, 31 July 2014. |
Авторы
Даты
2019-09-25—Публикация
2015-12-16—Подача