СПОСОБ И УСТРОЙСТВО ДЛЯ ОБРАБОТКИ СИГНАЛА ДЛЯ ТРЕХМЕРНОГО ВОСПРОИЗВЕДЕНИЯ ДОПОЛНИТЕЛЬНЫХ ДАННЫХ
SIGNAL PROCESSING METHOD AND APPARATUS FOR THREE-DIMENSIONAL REPRODUCTION OF ADDITIONAL DATA

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Последующее описание относится к способу и устройству для обработки сигнала, чтобы воспроизводить дополнительные данные, которые воспроизводятся с видеоизображением, в трех измерениях (3D).
УРОВЕНЬ ТЕХНИКИ
Вследствие разработок в цифровых технологиях, технология для трехмерного воспроизведения видеоизображения стала более широко распространенной. Поскольку человеческие глаза отделены в горизонтальном направлении на предварительно определенное расстояние, двухмерные (2D) изображения, соответственно, просматриваемые посредством левого глаза и правого глаза, отличаются друг от друга, и за счет этого возникает параллакс. Человеческий мозг комбинирует различные двухмерные изображения, т.е. изображение для левого глаза и изображение для правого глаза, и тем самым формирует трехмерное (3D) изображение, которое выглядит реалистичным. Видеоизображение может отображаться с дополнительными данными, такими как меню или субтитры, которые дополнительно предоставляются относительно видеоизображения. Нуждается в изучении способ обработки дополнительных данных, которые должны быть воспроизведены с видеоизображением, когда видеоизображение воспроизводится в качестве трехмерного видеоизображения.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
РЕШЕНИЕ ЗАДАЧИ
В одном общем аспекте, предоставлен способ обработки сигнала, причем способ содержит: извлечение информации трехмерного (3D) воспроизведения для воспроизведения субтитра, причем субтитр воспроизводится с видеоизображением, в трехмерном формате, из дополнительных данных для формирования субтитра; и воспроизведение субтитра в трехмерном формате посредством использования дополнительных данных и информации трехмерного воспроизведения.
ПРЕИМУЩЕСТВА ИЗОБРЕТЕНИЯ
Таким образом, согласно вариантам осуществления, субтитр может воспроизводиться в трехмерном формате с видеоизображением посредством использования информации трехмерного воспроизведения.
Краткое описание чертежей
Фиг. 1 является блок-схемой устройства для формирования мультимедийного потока для трехмерного (3D) воспроизведения дополнительной информации воспроизведения согласно варианту осуществления.
Фиг. 2 является блок-схемой устройства для приема мультимедийного потока для трехмерного воспроизведения дополнительной информации воспроизведения согласно варианту осуществления.
Фиг. 3 иллюстрирует сцену, в которой трехмерное видео и дополнительная информация трехмерного воспроизведения одновременно воспроизводятся.
Фиг. 4 иллюстрирует явление, в котором трехмерное видео и дополнительная информация трехмерного воспроизведения переставляются и воспроизводятся.
Фиг. 5 является схемой потока текстовых субтитров согласно варианту осуществления.
Фиг. 6 является таблицей синтаксиса, указывающей, что информация трехмерного воспроизведения включается в сегмент диалогового представления, согласно варианту осуществления.
Фиг. 7 является блок-схемой последовательности операций, иллюстрирующей способ обработки сигнала, согласно варианту осуществления.
Фиг. 8 является блок-схемой устройства для обработки сигнала, согласно варианту осуществления.
Фиг. 9 является схемой, иллюстрирующей графику для левого глаза и графику для правого глаза, которые формируются посредством использования информации трехмерного воспроизведения, наложенной, соответственно, на видеоизображение для левого глаза и видеоизображение для правого глаза, согласно варианту осуществления.
Фиг. 10 является схемой для описания устройства кодирования для формирования мультимедийного потока, согласно варианту осуществления.
Фиг. 11 является схемой иерархической структуры потока субтитров, соответствующего способу связи по стандарту цифровой широковещательной передачи видео (DVB).
Фиг. 12 является схемой, иллюстрирующей дескриптор субтитра и пакет пакетированных элементарных потоков (PES) субтитров, когда услуга предоставления, по меньшей мере, одного субтитра мультиплексируется в один пакет.
Фиг. 13 является схемой, иллюстрирующей дескриптор субтитра и PES-пакет субтитров, когда услуга предоставления субтитров формируется в отдельном пакете.
Фиг. 14 является схемой структуры потока данных, включающего в себя данные субтитров, соответствующие способу DVB-связи, согласно варианту осуществления.
Фиг. 15 является схемой структуры композиционной страницы, соответствующей способу DVB-связи, согласно варианту осуществления.
Фиг. 16 является блок-схемой последовательности операций способа, иллюстрирующей модель обработки субтитров, соответствующую способу DVB-связи.
Фиг. 17-19 являются схемами, иллюстрирующими данные, соответственно, сохраненные в буфере кодированных данных, буфере композиции и пиксельном буфере.
Фиг. 20 является схемой структуры композиционной страницы данных субтитров, соответствующих способу DVB-связи, согласно варианту осуществления.
Фиг. 21 является схемой структуры композиционной страницы данных субтитров, соответствующих способу DVB-связи, согласно другому варианту осуществления.
Фиг. 22 является схемой для описания регулирования глубины субтитра согласно областям, согласно варианту осуществления.
Фиг. 23 является схемой для описания регулирования глубины субтитра согласно страницам, согласно варианту осуществления.
Фиг. 24 является схемой, иллюстрирующей компоненты формата битовой карты субтитра согласно способу кабельной широковещательной передачи.
Фиг. 25 является блок-схемой последовательности операций способа для модели обработки субтитров для трехмерного воспроизведения субтитра, соответствующего способу кабельной широковещательной передачи, согласно варианту осуществления.
Фиг. 26 является схемой для описания процесса вывода субтитра из очереди на отображение в графическую плоскость через модель обработки субтитров, соответствующую способу кабельной широковещательной передачи.
Фиг. 27 является блок-схемой последовательности операций способа для модели обработки субтитров для трехмерного воспроизведения субтитра согласно способу кабельной широковещательной передачи, согласно другому варианту осуществления.
Фиг. 28 является схемой для описания регулирования глубины субтитра, соответствующего способу кабельной широковещательной передачи, согласно варианту осуществления.
Фиг. 29 является схемой для описания регулирования глубины субтитра, соответствующего способу кабельной широковещательной передачи, согласно другому варианту осуществления.
Фиг. 30 является схемой для описания регулирования глубины субтитра, соответствующего способу кабельной широковещательной передачи, согласно другому варианту осуществления.
На чертежах и в подробном описании, если иное не описано, следует понимать, что идентичные ссылки с номерами чертежей должны означать идентичные элементы, признаки и структуры. Относительный размер и иллюстрация этих элементов может быть увеличена для ясности, иллюстрации и удобства.
Оптимальный режим осуществления изобретения
Способ дополнительно может включать в себя то, что информация трехмерного воспроизведения содержит информацию смещения, содержащую, по меньшей мере, одно из следующего: значение перемещения, значение глубины, диспаратность и параллакс области, в которой отображается субтитр.
Способ дополнительно может включать в себя то, что информация трехмерного воспроизведения дополнительно содержит направление смещения, указывающее направление, в котором применяется информация смещения.
Способ дополнительно может включать в себя то, что воспроизведение субтитра в трехмерном формате содержит регулирование местоположения области, в которой отображается субтитр, посредством использования информации смещения и направления смещения.
Способ дополнительно может включать в себя то, что: дополнительные данные содержат данные текстовых субтитров; и извлечение информации трехмерного воспроизведения содержит извлечение информации трехмерного воспроизведения из сегмента диалогового представления, включенного в данные текстовых субтитров.
Способ дополнительно может включать в себя то, что сегмент диалогового представления содержит: число областей, в которых отображается субтитр; и число фрагментов информации смещения, равное числу областей, в которых отображается субтитр.
Способ дополнительно может включать в себя то, что регулирование местоположения содержит: извлечение информации местоположения диалоговой области из сегмента диалогового стиля, включенного в данные текстовых субтитров; и регулирование местоположения области, в которой отображается субтитр, посредством использования информации местоположения диалоговой области, информации смещения и направления смещения.
Способ дополнительно может включать в себя то, что: дополнительные данные содержат данные субтитров; данные субтитров содержат композиционную страницу; композиционная страница содержит сегмент композиции страницы; и извлечение информации трехмерного воспроизведения содержит извлечение информации трехмерного воспроизведения из сегмента композиции страницы.
Способ дополнительно может включать в себя то, что: дополнительные данные содержат данные субтитров; данные субтитров содержат композиционную страницу; композиционная страница содержит сегмент задания глубины; и извлечение информации трехмерного воспроизведения содержит извлечение информации трехмерного воспроизведения из сегмента задания глубины.
Способ дополнительно может включать в себя то, что информация трехмерного воспроизведения дополнительно содержит информацию о том, формируется информация трехмерного воспроизведения на основе информации смещения видеоизображения или на основе экрана, имеющего нулевую (0) диспаратность.
Способ дополнительно может включать в себя то, что извлечение информации трехмерного воспроизведения содержит извлечение, по меньшей мере, одного из следующего: информация смещения согласно страницам и информация смещения согласно областям на странице.
Способ дополнительно может включать в себя то, что: дополнительные данные содержат сообщение по субтитру; и извлечение информации трехмерного воспроизведения содержит извлечение информации трехмерного воспроизведения из сообщения по субтитру.
Способ дополнительно может включать в себя то, что: сообщение по субтитру содержит информацию простой битовой карты; и извлечение информации трехмерного воспроизведения содержит извлечение информации трехмерного воспроизведения из информации простой битовой карты.
Способ дополнительно может включать в себя то, что извлечение информации трехмерного воспроизведения содержит: извлечение информации смещения из информации простой битовой карты; и извлечение направления смещения из сообщения по субтитру.
Способ дополнительно может включать в себя то, что: сообщение по субтитру дополнительно содержит дескриптор, задающий информацию трехмерного воспроизведения; и извлечение информации трехмерного воспроизведения содержит извлечение информации трехмерного воспроизведения из дескриптора, включенного в сообщение по субтитру.
Способ дополнительно может включать в себя то, что дескриптор содержит информацию смещения, по меньшей мере, об одном из следующего: символ и кадр; и направление смещения.
Способ дополнительно может включать в себя то, что: сообщение по субтитру дополнительно содержит тип субтитра; и в ответ на тип субтитра, указывающий субтитр другого вида, сообщение по субтитру дополнительно содержит информацию о субтитре другого вида.
Способ дополнительно может включать в себя то, что информация о субтитре другого вида содержит координаты кадров субтитра другого вида.
Способ дополнительно может включать в себя то, что информация о субтитре другого вида содержит информацию диспаратности субтитра другого вида относительно субтитра опорного вида.
Способ дополнительно может включать в себя то, что информация о субтитре другого вида содержит информацию о битовой карте субтитра для формирования субтитра другого вида.
Способ дополнительно может включать в себя то, что информация трехмерного воспроизведения дополнительно содержит информацию о том, формируется информация трехмерного воспроизведения на основе информации смещения видеоизображения или экрана, имеющего нулевую (0) диспаратность.
Способ дополнительно может включать в себя то, что извлечение информации трехмерного воспроизведения содержит извлечение, по меньшей мере, одного из следующего: информация смещения согласно страницам; и информация смещения согласно областям на странице.
В другом общем аспекте, предоставлено устройство для обработки сигнала, причем устройство содержит: декодер субтитров, сконфигурированный, чтобы извлекать информацию трехмерного (3D) воспроизведения, чтобы: воспроизводить субтитр, причем субтитр воспроизводится с видеоизображением, в трехмерном формате, из дополнительных данных для формирования субтитра; и воспроизводить субтитр в трехмерном формате посредством использования дополнительных данных и информации трехмерного воспроизведения.
Устройство дополнительно может включать в себя то, что информация трехмерного воспроизведения содержит информацию смещения, содержащую, по меньшей мере, одно из следующего: значение перемещения, значение глубины, диспаратность и параллакс области, в которой отображается субтитр.
Устройство дополнительно может включать в себя то, что информация трехмерного воспроизведения дополнительно содержит направление смещения, указывающее направление, в котором применяется информация смещения.
Устройство дополнительно может включать в себя то, что декодер субтитров дополнительно сконфигурирован, чтобы регулировать местоположение области, в которой отображается субтитр, посредством использования информации смещения и направления смещения.
Устройство дополнительно может включать в себя то, что: дополнительные данные содержат данные текстовых субтитров; и устройство дополнительно содержит контроллер диалогового представления, сконфигурированный, чтобы извлекать информацию трехмерного воспроизведения из сегмента диалогового представления, включенного в данные текстовых субтитров.
Устройство дополнительно может включать в себя то, что сегмент диалогового представления содержит: число областей, в которых отображается субтитр; и число фрагментов информации смещения, равное числу областей, в которых отображается субтитр.
Устройство дополнительно может включать в себя то, что контроллер диалогового представления дополнительно сконфигурирован, чтобы: извлекать информацию местоположения диалоговой области из сегмента диалогового стиля, включенного в данные текстовых субтитров; и регулировать местоположение области, в которой отображается субтитр, посредством использования информации местоположения диалоговой области, информации смещения и направления смещения.
Устройство дополнительно может включать в себя то, что: дополнительные данные содержат данные субтитров; данные субтитров содержат композиционную страницу; композиционная страница содержит сегмент композиции страницы; устройство дополнительно содержит буфер композиции; и декодер субтитров дополнительно сконфигурирован, чтобы сохранять информацию трехмерного воспроизведения, извлеченную из сегмента композиции страницы, в буфере композиции.
Устройство дополнительно может включать в себя то, что: дополнительные данные содержат данные субтитров; данные субтитров содержат композиционную страницу; композиционная страница содержит сегмент задания глубины; устройство дополнительно содержит буфер композиции; и декодер субтитров дополнительно сконфигурирован, чтобы сохранять информацию трехмерного воспроизведения, включенную в сегмент задания глубины, в буфере композиции.
Устройство дополнительно может включать в себя то, что информация трехмерного воспроизведения дополнительно содержит информацию о том, формируется информация трехмерного воспроизведения на основе информации смещения видеоизображения или на основе экрана, имеющего нулевую (0) диспаратность.
Устройство дополнительно может включать в себя то, что извлечение информации трехмерного воспроизведения содержит извлечение, по меньшей мере, одного из следующего: информация смещения согласно страницам и информация смещения согласно областям на странице.
Устройство дополнительно может включать в себя то, что: дополнительные данные содержат сообщение по субтитру; и декодер субтитров дополнительно сконфигурирован, чтобы извлекать информацию трехмерного воспроизведения из сообщения по субтитру.
Устройство дополнительно может включать в себя то, что: сообщение по субтитру содержит информацию простой битовой карты; и декодер субтитров дополнительно сконфигурирован, чтобы извлекать информацию трехмерного воспроизведения из информации простой битовой карты.
Устройство дополнительно может включать в себя то, что декодер субтитров дополнительно сконфигурирован, чтобы: извлекать информацию смещения из информации простой битовой карты; и извлекать направление смещения из сообщения по субтитру.
Устройство дополнительно может включать в себя то, что: сообщение по субтитру дополнительно содержит дескриптор, задающий информацию трехмерного воспроизведения; и декодер субтитров дополнительно сконфигурирован, чтобы извлекать информацию трехмерного воспроизведения из дескриптора, включенного в сообщение по субтитру.
Устройство дополнительно может включать в себя то, что дескриптор содержит информацию смещения, по меньшей мере, об одном из следующего: символ и кадр; и направление смещения.
Устройство дополнительно может включать в себя то, что: сообщение по субтитру дополнительно содержит тип субтитра; и в ответ на тип субтитра, указывающий субтитр другого вида, сообщение по субтитру дополнительно содержит информацию о субтитре другого вида.
Устройство дополнительно может включать в себя то, что информация о субтитре другого вида содержит координаты кадров субтитра другого вида.
Устройство дополнительно может включать в себя то, что информация о субтитре другого вида содержит информацию диспаратности субтитра другого вида относительно субтитра опорного вида.
Устройство дополнительно может включать в себя то, что информация о субтитре другого вида содержит информацию о битовой карте субтитра для формирования субтитра другого вида.
Устройство дополнительно может включать в себя то, что информация трехмерного воспроизведения дополнительно содержит информацию о том, формируется информация трехмерного воспроизведения на основе информации смещения видеоизображения или на основе экрана, имеющего нулевую (0) диспаратность.
Устройство дополнительно может включать в себя то, что информация трехмерного воспроизведения содержит, по меньшей мере, одно из следующего: информация смещения согласно страницам; и информация смещения согласно областям на странице.
В другом общем аспекте, предоставлен компьютерно-читаемый носитель записи, имеющий записанные на нем дополнительные данные для формирования субтитра, который воспроизводится с видеоизображением, причем дополнительные данные содержат данные текстовых субтитров, при этом данные текстовых субтитров содержат сегмент диалогового стиля и сегмент диалогового представления, причем сегмент диалогового представления содержит информацию трехмерного (3D) воспроизведения для воспроизведения субтитра в трехмерном формате.
В другом общем аспекте, предоставлен компьютерно-читаемый носитель записи, имеющий записанные на нем дополнительные данные для формирования субтитра, который воспроизводится с видеоизображением, причем дополнительные данные содержат данные субтитров, при этом данные субтитров содержат композиционную страницу, причем композиционная страница содержит сегмент композиции страницы, при этом сегмент композиции страницы содержит информацию трехмерного (3D) воспроизведения для воспроизведения субтитра в трехмерном формате.
В другом общем аспекте, предоставлен компьютерно-читаемый носитель записи, имеющий записанные на нем дополнительные данные для формирования субтитра, который воспроизводится с видеоизображением, причем дополнительные данные содержат данные субтитров, при этом данные субтитров содержат сообщение по субтитру, причем сообщение по субтитру содержит информацию трехмерного (3D) воспроизведения для воспроизведения субтитра в трехмерном формате.
Другие признаки и аспекты могут быть очевидными из последующего подробного описания, чертежей и формулы изобретения.
РЕЖИМ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
Данная заявка испрашивает приоритет по предварительной заявке на патент США № 61/234352, поданной 17 августа 2009 года, предварительной заявке на патент США № 61/242117, поданной 14 сентября 2009 года, и предварительной заявке на патент США № 61/320389, поданной 2 апреля 2010 года в Патентное ведомство США, и заявке на патент Кореи № 10-2010-0055469, поданной 11 июня 2010 года в Корейское Патентное ведомство, раскрытие сущности каждой из которых полностью содержится в данном документе по ссылке для любых целей.
Последующее подробное описание предоставляется, чтобы помогать читателю в получении всестороннего понимания способов, устройств и/или систем, описанных в данном документе. Соответственно, различные изменения, модификации и эквиваленты систем, устройств и/или способов, описанных в данном документе, будут предлагаться специалистам в данной области техники. Ход выполнения описанных этапов и/или операций обработки является примером; тем не менее, последовательность этапов и/или операций не ограничена последовательностью, изложенной в данном документе, и может быть изменена, как известно в данной области техники, за исключением этапов и/или операций, обязательно осуществляемых в определенном порядке. Кроме того, описания известных функций и конструкций могут опускаться для повышения ясности и краткости.
Фиг. 1 является блок-схемой устройства 100 для формирования мультимедийного потока для трехмерного (3D) воспроизведения дополнительной информации воспроизведения согласно варианту осуществления.
Устройство 100 согласно варианту осуществления включает в себя программный кодер 110, формирователь 120 транспортных потоков (TS) и передатчик 130.
Программный кодер 110 согласно варианту осуществления принимает данные дополнительной информации воспроизведения с кодированными видеоданными и кодированными аудиоданными. Для удобства описания, информация, к примеру, субтитр или меню, отображаемая на экране с видеоизображением, упоминается в данном документе как "дополнительная информация воспроизведения", а данные для формирования дополнительной информации воспроизведения упоминаются в данном документе как "дополнительные данные". Дополнительные данные могут включать в себя данные текстовых субтитров, данные субтитров, сообщение по субтитру и т.д.
Согласно варианту осуществления, глубина дополнительной информации воспроизведения может регулироваться так, что субтитр воспроизводится в трехмерном формате с трехмерным видеоизображением. Программный кодер 110 согласно варианту осуществления может формировать дополнительные данные таким образом, что информация для воспроизведения дополнительной информации воспроизведения в трехмерном формате включается в дополнительные данные. Информация для воспроизведения дополнительной информации воспроизведения, к примеру, субтитра в трехмерном формате упоминается в данном документе как "информация трехмерного воспроизведения".
Программный кодер 110 может формировать элементарный видеопоток (ES), аудио-ES и поток дополнительных данных посредством использования кодированных дополнительных данных, включающих в себя кодированные видеоданные, кодированные аудиоданные и информацию трехмерного воспроизведения. Согласно варианту осуществления, программный кодер 110 дополнительно может формировать поток вспомогательной информации посредством использования вспомогательной информации, включающей в себя различные типы данных, к примеру, управляющие данные. Поток вспомогательной информации может включать в себя специфичную для программ информацию (PSI), к примеру, таблицу структуры программ (PMT) или таблицу ассоциаций программ (PAT), или секционированную информацию, к примеру, информацию по протоколу специфичной для программ информации на основе стандарта комитета по перспективным телевизионным системам (ATSC PSIP) или информацию об услугах цифровой широковещательной передачи видео (DVB SI).
Программный кодер 110 согласно варианту осуществления может формировать пакет пакетированных элементарных видеопотоков (PES), аудио-PES-пакет и PES-пакет дополнительных данных посредством пакетирования видео-ES, аудио-ES и потока дополнительных данных и формировать пакет вспомогательной информации.
TS-формирователь 120 согласно варианту осуществления может формировать TS посредством мультиплексирования видео-PES-пакета, аудио-PES-пакета, PES-пакета дополнительных данных и пакета вспомогательной информации, которые выводятся из программного кодера 110. Передатчик 130 согласно варианту осуществления может передавать TS, выводимый из TS-формирователя 120, по предварительно определенному каналу.
Когда дополнительная информация воспроизведения является субтитром, устройство вывода сигналов (не показано) может, соответственно, формировать субтитр для левого глаза и субтитр для правого глаза и поочередно выводить субтитр для левого глаза и субтитр для правого глаза посредством использования информации трехмерного воспроизведения, чтобы воспроизводить субтитр в трехмерном формате. Информация, указывающая глубину субтитра, которая включается в информацию трехмерного воспроизведения, упоминается в данном документе как "информация смещения". Информация смещения может включать в себя, по меньшей мере, одно из значения перемещения, которое указывает расстояние, на которое следует перемещать область, в которой отображается субтитр, из исходного местоположения, чтобы формировать субтитр для левого глаза и субтитр для правого глаза, значения глубины, которое указывает глубину субтитра, когда область, в которой отображается субтитр, воспроизводится в трехмерном формате, диспаратности между субтитром для левого глаза и субтитром для правого глаза и параллакса.
В следующих вариантах осуществления, даже когда любое из диспаратности, значения глубины и значения перемещения, которое указывается в координатах из информации смещения, используется в варианте осуществления, идентичный вариант осуществления может быть реализован посредством использования любой другой из информации смещения.
Информация смещения дополнительной информации воспроизведения согласно варианту осуществления может включать в себя величину относительного перемещения одного из субтитров для левого глаза и для правого глаза по сравнению с местоположением другого.
Информация смещения дополнительной информации воспроизведения может формироваться на основе информации глубины видеоизображения, воспроизведенного с субтитром, например, на основе информации смещения видеоизображения. Информация смещения видеоизображения может включать в себя, по меньшей мере, одно из значений перемещения, которое указывает расстояние, на которое следует перемещать видеоизображение из исходного местоположения в изображении для левого глаза и изображении для правого глаза, значения глубины видеоизображения, которое указывает глубину видеоизображения, когда видеоизображение воспроизводится в трехмерном формате, диспаратности между изображениями для левого глаза и для правого глаза и параллакса. Кроме того, информация смещения видеоизображения дополнительно может включать в себя направление смещения, указывающее направление, в котором применяется значение перемещения, значение глубины, диспаратность и т.п. Информация смещения дополнительной информации воспроизведения может включать в себя величину относительного перемещения или значение относительной глубины по сравнению с величиной или значением из информации смещения видеоизображения.
Информация смещения дополнительной информации воспроизведения согласно варианту осуществления может формироваться на основе экрана, в котором видеоизображение или субтитр воспроизводятся в двух измерениях (двумерном формате), например, на основе нулевой плоскости (нулевого параллакса), вместо значения глубины, диспаратности или параллакса относительно видеоизображения.
Информация трехмерного воспроизведения согласно варианту осуществления дополнительно может включать в себя флаг, указывающий, имеет ли информация смещения дополнительной информации воспроизведения абсолютное значение на основе нулевой плоскости или относительное значение на основе информации смещения видеоизображения, к примеру, значение глубины или значение перемещения видеоизображения.
Информация трехмерного воспроизведения дополнительно может включать в себя направление смещения, указывающее направление, в котором применяется информация смещения. Информация смещения показывает направление, в котором следует перемещать субтитр, например, влево или вправо, при формировании, по меньшей мере, одного из субтитра для левого глаза и субтитра для правого глаза. Направление смещения может указывать любое из направления вправо или направления влево, но также может указывать параллакс. Параллакс классифицируется на положительный параллакс, нулевой параллакс и отрицательный параллакс. Когда направление смещения является положительным параллаксом, субтитр находится глубже, чем экран. Когда направление смещения является отрицательным параллаксом, субтитр выступает из экрана, чтобы создавать трехмерный эффект. Когда направление смещения является нулевым параллаксом, субтитр находится на экране в двумерном формате.
Информация трехмерного воспроизведения дополнительной информации воспроизведения согласно варианту осуществления дополнительно может включать в себя информацию, отличающую область, в которой дополнительная информация воспроизведения должна отображаться, например, в область, в которой отображается субтитр.
Когда устройство 100 соответствует оптическому способу записи, заданному посредством ассоциации по разработке стандартов для Blu-ray-дисков (BDA), согласно варианту осуществления, программный кодер 110 может формировать ES текстовых субтитров, включающий в себя данные текстовых субтитров для субтитра, наряду с видео-ES и аудио-ES. Программный кодер 110 может вставлять информацию трехмерного воспроизведения в ES текстовых субтитров.
Например, программный кодер 110 может вставлять информацию трехмерного воспроизведения в сегмент диалогового представления, включенный в данные текстовых субтитров.
Когда устройство 100 соответствует способу цифровой широковещательной передачи видео (DVB), согласно другому варианту осуществления, программный кодер 110 может формировать PES-пакет субтитров посредством формирования потока дополнительных данных, включающих в себя данные субтитров, наряду с видео-ES и аудио-ES. Например, программный кодер 110 может вставлять информацию трехмерного воспроизведения в сегменте композиции страницы в композиционную страницу, включенную в данные субтитров. Альтернативно, программный кодер 110 может формировать новый сегмент, задающий информацию трехмерного воспроизведения, и вставлять новый сегмент в композиционную страницу, включенную в данные субтитров. Программный кодер 110 может вставлять, по меньшей мере, одну из информации смещения согласно страницам, которая обычно применяется к страницам субтитра, и информации смещения согласно областям, которая применяется к каждой области, на страницу субтитра.
Когда устройство 100 соответствует способу по стандарту американского национального института стандартов/общества инженеров кабельной связи (ANSI/SCTE), согласно другому варианту осуществления, программный кодер 110 может формировать PES-пакет субтитров посредством формирования потока данных, включающего в себя данные субтитров, наряду с видео-ES и аудио-ES. Например, программный кодер 110 может вставлять информацию трехмерного воспроизведения, по меньшей мере, в один из PES-пакета субтитров и заголовка PES-пакета субтитров. Информация трехмерного воспроизведения может включать в себя информацию смещения, по меньшей мере, об одном из битовой карты и кадра и направления смещения.
Программный кодер 110 согласно варианту осуществления может вставлять информацию смещения, которая применяется к обоим из элемента символа и элемента кадра субтитра, в сообщение по субтитру в данных субтитров. Альтернативно, программный кодер 110 может вставлять, по меньшей мере, одну из информации смещения об элементах символов субтитра и информации смещения об элементе кадра субтитра отдельно в данные субтитров.
Программный кодер 110 согласно варианту осуществления может добавлять информацию типа субтитра, указывающую информацию о субтитре другого вида из субтитров для левого глаза и для правого глаза, к информации трехмерного воспроизведения. Например, программный кодер 110 дополнительно может вставлять информацию смещения, включающую в себя координаты о субтитре другого вида, в информацию трехмерного воспроизведения.
Программный кодер 110 согласно варианту осуществления может добавлять тип диспаратности субтитров к информации типа субтитра и дополнительно вставлять информацию диспаратности субтитра другого вида из субтитров для левого глаза и для правого глаза по сравнению с субтитром опорного вида в информацию трехмерного воспроизведения.
Соответственно, чтобы воспроизводить субтитр согласно способу на основе Blu-ray-дисков (BD), DVB-способу или способу кабельной широковещательной передачи, устройство 100 согласно варианту осуществления может формировать информацию трехмерного воспроизведения согласно соответствующему способу связи, формировать поток дополнительных данных посредством вставки сформированной информации трехмерного воспроизведения в дополнительные данные и мультиплексировать и передавать поток дополнительных данных с видео-ES-данными, аудио-ES-потоком или вспомогательным потоком.
Приемник (например, приемник 210 на фиг. 2) может использовать информацию трехмерного воспроизведения, чтобы воспроизводить дополнительную информацию воспроизведения в трехмерном формате с видеоданными.
Устройство 100 согласно варианту осуществления поддерживает совместимость с различными способами связи, такими как BD-способ, DVB-способ на основе существующего MPEG TS-способа и способ кабельной широковещательной передачи, и может мультиплексировать и передавать дополнительные данные, в которые информация трехмерного воспроизведения вставляется, с видео-ES и аудио-ES.
Фиг. 2 является блок-схемой устройства 200 для приема мультимедийного потока для трехмерного воспроизведения дополнительной информации воспроизведения согласно варианту осуществления.
Устройство 200 согласно варианту осуществления включает в себя приемник 210, демультиплексор 220, декодер 230 и модуль 240 воспроизведения.
Приемник 210 согласно варианту осуществления может принимать TS о мультимедийном потоке, включающем в себя видеоданные, включающие в себя, по меньшей мере, одно из двумерного видеоизображения и трехмерного видеоизображения. Мультимедийный поток может включать в себя дополнительные данные, включающие в себя субтитр, который должен быть воспроизведен с видеоданными. Согласно варианту осуществления, дополнительные данные могут включать в себя информацию трехмерного воспроизведения для воспроизведения дополнительных данных в трехмерном формате.
Демультиплексор 220 согласно варианту осуществления может извлекать видео-PES-пакет, аудио-PES-пакет, PES-пакет дополнительных данных и пакет вспомогательной информации посредством приема и демультиплексирования TS из приемника 210.
Демультиплексор 220 согласно варианту осуществления может извлекать видео-ES, аудио-ES, поток дополнительных данных и связанную с программами информацию из видео-PES-пакета, аудио-PES-пакета, PES-пакета дополнительных данных и пакета вспомогательной информации. Поток дополнительных данных может включать в себя информацию трехмерного воспроизведения.
Декодер 230 согласно варианту осуществления может принимать видео-ES, аудио-ES, поток дополнительных данных и связанную с программами информацию из демультиплексора 220; может восстанавливать видео, аудио, дополнительные данные и дополнительную информацию воспроизведения, соответственно, из принимаемого видео-ES, аудио-ES, потока дополнительных данных и связанной с программами информации; и может извлекать информацию трехмерного воспроизведения из дополнительных данных.
Модуль 240 воспроизведения согласно варианту осуществления может воспроизводить видео и аудио, восстановленное посредством декодера 230. Кроме того, модуль 240 воспроизведения может воспроизводить дополнительные данные в трехмерном формате на основе информации трехмерного воспроизведения.
Дополнительные данные и информация трехмерного воспроизведения, извлеченные и используемые посредством устройства 200, соответствуют дополнительным данным и информации трехмерного воспроизведения, описанным в отношении устройства 100 по фиг. 1.
Модуль 240 воспроизведения согласно варианту осуществления может воспроизводить дополнительную информацию воспроизведения, к примеру, субтитр, посредством перемещения дополнительной информации воспроизведения в направлении смещения из опорного местоположения посредством смещения, на основе смещения и направления смещения, включенного в информацию трехмерного воспроизведения.
Модуль 240 воспроизведения согласно варианту осуществления может воспроизводить дополнительную информацию воспроизведения таким образом, что дополнительная информация воспроизведения отображается в местоположении, положительно или отрицательно перемещенном посредством смещения по сравнению с двумерной нулевой плоскостью. Альтернативно, модуль 240 воспроизведения может воспроизводить дополнительную информацию воспроизведения таким образом, что дополнительная информация воспроизведения отображается в местоположении, положительно или отрицательно перемещенном посредством смещения, включенного в информацию трехмерного воспроизведения, на основе информации смещения видеоизображения, которое должно быть воспроизведено с дополнительной информацией воспроизведения, например, на основе глубины, диспаратности и параллакса видеоизображения.
Модуль 240 воспроизведения согласно варианту осуществления может воспроизводить субтитр в трехмерном формате посредством отображения одного из субтитров для левого глаза и для правого глаза в местоположении, положительно перемещенном посредством смещения по сравнению с исходным местоположением, а другого в местоположении, отрицательно перемещенном посредством смещения по сравнению с исходным местоположением.
Модуль 240 воспроизведения согласно варианту осуществления может воспроизводить субтитр в трехмерном формате посредством отображения одного из субтитров для левого глаза и для правого глаза в местоположении, перемещенном посредством смещения, по сравнению с другим.
Модуль 240 воспроизведения согласно варианту осуществления может воспроизводить субтитр в трехмерном формате посредством перемещения местоположений субтитров для левого глаза и для правого глаза на основе информации смещения, независимо заданной для субтитров для левого глаза и для правого глаза.
Когда устройство 200 соответствует оптическому способу записи, заданному посредством BDA, согласно варианту осуществления, демультиплексор 220 может извлекать поток дополнительных данных, включающий в себя не только видео-ES и аудио-ES, но также и данные текстовых субтитров, из TS. Например, декодер 230 может извлекать данные текстовых субтитров из потока дополнительных данных. Кроме того, демультиплексор 220 или декодер 230 может извлекать информацию трехмерного воспроизведения из сегмента диалогового представления, включенного в данные текстовых субтитров. Согласно варианту осуществления, сегмент диалогового представления может включать в себя число областей, в которых субтитр отображается, и число фрагментов информации смещения, равное числу областей.
Когда устройство 200 соответствует DVB-способу, согласно другому варианту осуществления, демультиплексор 220 может извлекать не только видео-ES и аудио-ES, но также и поток дополнительных данных, включающий в себя данные субтитров, из TS. Например, декодер 230 может извлекать данные субтитров в форме сегмента субтитров из потока дополнительных данных. Декодер 230 может извлекать информацию трехмерного воспроизведения из сегмента композиции страницы в композиционной странице, включенной в данные субтитров. Декодер 230 дополнительно может извлекать, по меньшей мере, одну из информации смещения согласно страницам субтитра и информации смещения согласно областям на странице субтитра из сегмента композиции страницы.
Согласно варианту осуществления, декодер 230 может извлекать информацию трехмерного воспроизведения из сегмента задания глубины, заново заданного в композиционной странице, включенной в данные субтитров.
Когда устройство 200 соответствует ANSI/SCTE-способу, согласно другому варианту осуществления, демультиплексор 220 может извлекать не только видео-ES и аудио-ES, но также и поток дополнительных данных, включающий в себя данные субтитров, из TS. Декодер 230 согласно варианту осуществления может извлекать данные субтитров из потока дополнительных данных. Данные субтитров включают в себя сообщение по субтитру. В варианте осуществления, демультиплексор 220 или декодер 230 может извлекать информацию трехмерного воспроизведения, по меньшей мере, из одного из PES-пакета субтитров и заголовка PES-пакета субтитров.
Декодер 230 согласно варианту осуществления может извлекать информацию смещения, которая обычно применяется к элементу символа и элементу кадра субтитра, или информацию смещения, которая независимо применяется к элементу символа и элементу кадра, из сообщения по субтитру в данных субтитров. Декодер 230 может извлекать информацию трехмерного воспроизведения из информации простой битовой карты, включенной в сообщение по субтитру. Декодер 230 может извлекать информацию трехмерного воспроизведения из дескриптора, задающего информацию трехмерного воспроизведения, который включается в сообщение по субтитру. Дескриптор может включать в себя информацию смещения, по меньшей мере, об одном из символа и кадра и направления смещения.
Сообщение по субтитру может включать в себя тип субтитра. Когда тип субтитра указывает субтитр другого вида, сообщение по субтитру дополнительно может включать в себя информацию о субтитре другого вида. Информация о субтитре другого вида может включать в себя информацию смещения субтитра другого вида, к примеру, координаты кадров, значение глубины, значение перемещения, параллакс или диспаратность. Альтернативно, информация о субтитре другого вида может включать в себя значение перемещения, диспаратность или параллакс субтитра другого вида в отношении субтитра опорного вида.
Например, декодер 230 может извлекать информацию о субтитре другого вида, включенную в сообщение по субтитру, и формировать субтитр другого вида посредством использования информации о субтитре другого вида.
Устройство 200 может извлекать дополнительные данные и информацию трехмерного воспроизведения из принимаемого мультимедийного потока, формировать субтитр для левого глаза и субтитр для правого глаза посредством использования дополнительных данных и информации трехмерного воспроизведения и воспроизводить субтитр в трехмерном формате посредством поочередного воспроизведения субтитра для левого глаза и субтитра для правого глаза, согласно способу BD, DVB или кабельной широковещательной передачи.
Устройство 200 может поддерживать совместимость с различными способами связи, такими как BD-способ на основе существующего MPEG TS-способа, DVB-способ и способ кабельной широковещательной передачи, и может воспроизводить субтитр в трехмерном формате при воспроизведении трехмерного видео.
Фиг. 3 иллюстрирует сцену, в которой трехмерное видео и дополнительная информация трехмерного воспроизведения одновременно воспроизводятся.
Ссылаясь на фиг. 3, текстовый экран 320, на котором дополнительная информация воспроизведения, к примеру, субтитр или меню может выступать к зрителю по сравнению с объектами 300 и 310 видеоизображения, так что зритель просматривает видеоизображение и дополнительную информацию воспроизведения без утомления или дисгармонии.
Фиг. 4 иллюстрирует явление, в котором трехмерное видео и дополнительная информация трехмерного воспроизведения переставляются и воспроизводятся. Как показано на фиг. 4, когда текстовый экран 320 воспроизводится дальше объекта 310 от зрителя, объект 310 может закрывать текстовый экран 320. Например, зритель может быть утомлен или чувствовать дисгармонию при просмотре видеоизображения и дополнительной информации воспроизведения.
Далее описываются способ и устройство для воспроизведения текстового субтитра в трехмерном формате посредством использования информации трехмерного воспроизведения согласно варианту осуществления со ссылкой на фиг. 5-9.
Фиг. 5 является схемой потока 500 текстовых субтитров согласно варианту осуществления.
Поток 500 текстовых субтитров может включать в себя сегмент 510 диалогового стиля (DSS) и, по меньшей мере, один сегмент 520 диалогового представления (DPS).
Сегмент 510 диалогового стиля может сохранять информацию стиля, которая должна применяться к сегменту 520 диалогового представления, и сегмент 520 диалогового представления может включать в себя диалоговую информацию.
Информация стиля, включенная в сегмент 510 диалогового стиля, может быть информацией о том, как выводить текст на экране, и может включать в себя, по меньшей мере, одну из информации диалоговой области, указывающей диалоговую область, в которой отображается субтитр на экране, информации области текстового поля, указывающей область текстового поля, включенную в диалоговую область, в которой текст записывается, и информации шрифтов, указывающей тип, размер и т.п. шрифта, который должен использоваться для субтитра.
Информация диалоговой области может включать в себя, по меньшей мере, одно из местоположения, в котором диалоговая область выводится на основе левой верхней точки экрана, длины горизонтальной оси диалоговой области и длины вертикальной оси диалоговой области. Информация области текстового поля может включать в себя местоположение, в котором область текстового поля выводится на основе левой верхней точки диалоговой области, длины горизонтальной оси области текстового поля и длины вертикальной оси области текстового поля.
Поскольку множество диалоговых областей может выводиться в различных местоположениях на одном экране, сегмент 510 диалогового стиля может включать в себя информацию диалоговой области для каждой из множества диалоговых областей.
Диалоговая информация, включенная в сегмент 520 диалогового представления, может быть преобразована в битовую карту на экране, например, подготовлена посредством рендеринга, и может включать в себя, по меньшей мере, одну из текстовой строки, которая должна отображаться в субтитре, информации эталонного стиля, которая должна быть использована при рендеринге текстовой информации, и информации времени вывода диалога, обозначающей период времени для появления и исчезновения субтитра на экране. Диалоговая информация может включать в себя информацию о встраиваемом формате для выделения части субтитра посредством применения встраиваемого формата только к части.
Согласно варианту осуществления, информация трехмерного воспроизведения для воспроизведения данных текстовых субтитров в трехмерном формате может быть включена в сегмент 520 диалогового представления. Информация трехмерного воспроизведения может быть использована для того, чтобы регулировать местоположение диалоговой области, в которой субтитр отображается, в субтитрах для левого глаза и для правого глаза. Модуль 240 воспроизведения по фиг. 2 может регулировать местоположение диалоговой области посредством использования информации трехмерного воспроизведения, чтобы воспроизводить субтитр, выводимый в диалоговой области, в трехмерном формате. Информация трехмерного воспроизведения может включать в себя значение перемещения диалоговой области из исходного местоположения, значение координат для диалоговой области, которую следует перемещать, или информацию смещения, к примеру, значение глубины, диспаратность и параллакс. Кроме того, информация трехмерного воспроизведения может включать в себя направление смещения, в котором применяется информация смещения.
Когда существует множество диалоговых областей для текстового субтитра, который должен выводиться на одном экране, информация трехмерного воспроизведения, включающая в себя информацию смещения о каждой из множества диалоговых областей, может быть включена в сегмент 520 диалогового представления. Модуль 240 воспроизведения может регулировать местоположения диалоговых областей посредством использования информации трехмерного воспроизведения для каждой из диалоговых областей.
Согласно вариантам осуществления, сегмент 510 диалогового стиля может включать в себя информацию трехмерного воспроизведения для воспроизведения диалоговой области в трехмерном формате.
Фиг. 6 является таблицей синтаксиса, указывающей, что информация трехмерного воспроизведения включается в сегмент 520 диалогового представления, согласно варианту осуществления. Для удобства описания только некоторые фрагменты информации, включенные в сегмент 520 диалогового представления, показаны в таблице по фиг. 6.
Синтаксис "number_of_regions" указывает число диалоговых областей. По меньшей мере, одна диалоговая область может быть задана, и когда множество диалоговых областей одновременно выводится на одном экране, множество диалоговых областей может быть задано. Когда существует множество диалоговых областей, сегмент 520 диалогового представления может включать в себя информацию трехмерного воспроизведения, которая должна применяться к каждой из диалоговых областей.
На фиг. 6, синтаксис "region_shift_value" указывает информацию трехмерного воспроизведения. Информация трехмерного воспроизведения может включать в себя направление перемещения или расстояние для диалоговой области, которую следует перемещать, значение координат, значение глубины и т.д.
Как описано выше, информация трехмерного воспроизведения может быть включена в поток текстовых субтитров.
Фиг. 7 является блок-схемой последовательности операций, иллюстрирующей способ обработки сигнала, согласно варианту осуществления. Ссылаясь на фиг. 7, устройство для обработки сигнала может извлекать информацию смещения диалоговой области на этапе 710. Устройство может извлекать информацию смещения диалоговой области из сегмента 520 диалогового представления по фиг. 5, включенного в данные текстовых субтитров. Множество диалоговых областей может одновременно выводиться на одном экране. Например, устройство может извлекать информацию смещения диалоговой области для каждой диалоговой области.
Устройство может регулировать местоположение диалоговой области, в которой субтитр отображается, посредством использования информации смещения диалоговой области, на этапе 720. Устройство может извлекать информацию диалоговой области из сегмента 510 диалогового стиля по фиг. 5, включенного в данные текстовых субтитров, и может получать конечное местоположение диалоговой области посредством использования информации диалоговой области и информации смещения диалоговой области.
В ответ на наличие множества фрагментов информации смещения диалоговой области, устройство может регулировать местоположения каждой диалоговой области посредством использования информации смещения диалоговой области для каждой диалоговой области.
Как описано выше, субтитр, включенный в диалоговую область, может воспроизводиться в трехмерном формате посредством использования информации смещения диалоговой области.
Фиг. 8 является блок-схемой устройства 800 для обработки сигнала, согласно варианту осуществления. Устройство 800 может воспроизводить субтитр в трехмерном формате посредством использования данных текстовых субтитров и может включать в себя декодер 810 текстовых субтитров, графическую плоскость 830 для левого глаза и графическую плоскость 840 для правого глаза.
Декодер 810 текстовых субтитров может формировать субтитр посредством декодирования данных текстовых субтитров. Декодер 810 текстовых субтитров может включать в себя процессор 811 текстовых субтитров, буфер 813 композиции диалогов, контроллер 815 диалогового представления, диалоговый буфер 817, модуль 819 рендеринга текста и буфер 821 объектов с битовой картой.
Графика для левого глаза и графика для правого глаза могут быть отрисованы, соответственно, на графической плоскости 830 для левого глаза и графической плоскости 840 для правого глаза. Графика для левого глаза соответствует субтитру для левого глаза, а графика для правого глаза соответствует субтитру для правого глаза. Устройство 800 может накладывать субтитр для левого глаза и субтитр для правого глаза, отрисованные на графической плоскости 830 для левого глаза и графической плоскости 840 для правого глаза, соответственно, на видеоизображение для левого глаза и видеоизображение для правого глаза, и может поочередно выводить видеоизображение для левого глаза и видеоизображение для правого глаза, например, в единицах в 1/120 секунды.
Графическая плоскость 830 для левого глаза и графическая плоскость 840 для правого глаза показаны на фиг. 8, но только одна графическая плоскость может быть включена в устройство 800. Например, устройство 800 может воспроизводить субтитр в трехмерном формате посредством поочередной отрисовки субтитра для левого глаза и субтитра для правого глаза на одной графической плоскости.
Фильтр по идентификаторам пакетов (PID) (не показан) может фильтровать данные текстовых субтитров из TS и передавать отфильтрованные данные текстовых субтитров в буфер предварительной загрузки субтитров (не показан). Буфер предварительной загрузки субтитров может предварительно сохранять данные текстовых субтитров и передавать данные текстовых субтитров в декодер 810 текстовых субтитров.
Контроллер 815 диалогового представления может извлекать информацию трехмерного воспроизведения из данных текстовых субтитров и может воспроизводить субтитр в трехмерном формате посредством использования информации трехмерного воспроизведения посредством общего управления работой устройства 800.
Процессор 811 текстовых субтитров, включенный в декодер 810 текстовых субтитров, может передавать информацию стиля, включенную в сегмент 510 диалогового стиля, в буфер 813 композиции диалогов. Кроме того, процессор 811 текстовых субтитров может передавать информацию встраиваемых стилей и текстовую строку в диалоговый буфер 817 посредством синтаксического анализа сегмента 520 диалогового представления и может передавать информацию времени вывода диалога, которая обозначает период времени для появления и исчезновения субтитра на экране, в буфер 813 композиции диалогов.
Диалоговый буфер 817 может сохранять текстовую строку и информацию встраиваемых стилей, и буфер 813 композиции диалогов может сохранять информацию для рендеринга сегмента 510 диалогового стиля и сегмента 520 диалогового представления.
Модуль 819 рендеринга текста может принимать текстовую строку и информацию встраиваемых стилей от диалогового буфера 817 и может принимать информацию для рендеринга из буфера 813 композиции диалогов. Модуль 819 рендеринга текста может принимать данные шрифтов из буфера предварительной загрузки шрифтов (не показан). Модуль 819 рендеринга текста может преобразовывать текстовую строку в объект с битовой картой посредством обращения к данным шрифтов и применения информации стиля, включенной в сегмент 510 диалогового стиля. Модуль 819 рендеринга текста может передавать сформированный объект с битовой картой в буфер 821 объектов с битовой картой.
В ответ на включение множества диалоговых областей в сегмент 520 диалогового представления, модуль 819 рендеринга текста может формировать множество объектов с битовой картой согласно каждой диалоговой области.
Буфер 821 объектов с битовой картой может сохранять подготовленный посредством рендеринга объект с битовой картой и может выводить подготовленный посредством рендеринга объект с битовой картой на графической плоскости согласно управлению контроллера 815 диалогового представления. Контроллер 815 диалогового представления может определять местоположение, в котором объект с битовой картой должен выводиться, посредством использования информации диалоговой области, сохраненной в процессоре 811 текстовых субтитров, и может управлять объектом с битовой картой, который должен выводиться в местоположении.
Контроллер 815 диалогового представления может определять то, может или нет устройство 800 воспроизводить субтитр в трехмерном формате. Если устройство 800 не может воспроизводить субтитр в трехмерном формате, контроллер 815 диалогового представления может выводить объект с битовой картой в местоположении, указываемом посредством информации диалоговой области, чтобы воспроизводить субтитр в двумерном формате. Если устройство 800 может воспроизводить субтитр в трехмерном формате, контроллер 815 диалогового представления может извлекать информацию трехмерного воспроизведения. Контроллер 815 диалогового представления может воспроизводить субтитр в трехмерном формате посредством регулирования местоположения объекта с битовой картой, который сохраняется в буфере 821 объектов с битовой картой, отрисованного на графической плоскости, посредством использования информации трехмерного воспроизведения. Другими словами, контроллер 815 диалогового представления может определять исходное местоположение диалоговой области посредством использования информации диалоговой области, извлеченной из сегмента 510 диалогового стиля, и может регулировать местоположение диалоговой области из исходного местоположения, согласно направлению перемещения и значению перемещения, включенным в информацию трехмерного воспроизведения.
Контроллер 815 диалогового представления может извлекать информацию трехмерного воспроизведения из сегмента 520 диалогового представления, включенного в данные текстовых субтитров, и затем может идентифицировать и извлекать информацию трехмерного воспроизведения из таблицы смещений диалоговой области.
В ответ на наличие двух графических плоскостей в устройстве 800, контроллер 815 диалогового представления может определять то, перемещать диалоговую область влево на графической плоскости 830 для левого глаза и вправо на графической плоскости 840 для правого глаза или перемещать диалоговую область вправо на графической плоскости 830 для левого глаза и влево на графической плоскости 840 для правого глаза, посредством использования направления перемещения, включенного в информацию трехмерного воспроизведения.
Контроллер 815 диалогового представления может находить диалоговую область в местоположении, соответствующем координатам, включенным в информацию трехмерного воспроизведения в определенном направлении перемещения, или в местоположении, которое перемещается согласно значению перемещения или значению глубины, включенному в информацию трехмерного воспроизведения, на графической плоскости 830 для левого глаза и графической плоскости 840 для правого глаза.
В ответ на наличие только одной графической плоскости в устройстве 800, контроллер 815 диалогового представления может поочередно передавать графику для левого глаза для субтитра для левого глаза и графику для правого глаза для субтитра для правого глаза на одну графическую плоскость. Другими словами, устройство 800 может передавать диалоговую область на графической плоскости при перемещении диалоговой области в порядке слева направо или справа налево после перемещения диалоговой области посредством значения перемещения, согласно направлению перемещения, указываемому посредством информации трехмерного воспроизведения.
Как описано выше, устройство 800 может воспроизводить субтитр в трехмерном формате посредством регулирования местоположения диалоговой области, в которой субтитр отображается, посредством использования информации трехмерного воспроизведения.
Фиг. 9 является схемой, иллюстрирующей графику для левого глаза и графику для правого глаза, которая может формироваться посредством использования информации трехмерного воспроизведения, наложенной, соответственно, на видеоизображение для левого глаза и видеоизображение для правого глаза, согласно варианту осуществления.
Ссылаясь на фиг. 9, диалоговая область может указываться как "область" на графике для левого глаза и графике для правого глаза, и текстовое поле, включающее в себя субтитр, может быть расположено в диалоговой области. Диалоговые области могут быть перемещены посредством предварительно определенного значения в противоположных направлениях на графике для левого глаза и графике для правого глаза. Поскольку местоположение текстового поля, в которое выводится субтитр, может быть основано на диалоговой области, когда диалоговая область перемещается, текстовое поле также может перемещаться. Соответственно, местоположение субтитра, выводимого в текстовом поле, также может перемещаться. Когда графика для левого глаза и для правого глаза поочередно воспроизводится, зритель может просматривать субтитр в трехмерном формате.
Фиг. 10 является схемой для описания устройства кодирования для формирования мультимедийного потока, согласно варианту осуществления. Ссылаясь на фиг. 10, один программный кодер 1000 может включать в себя видеокодер 1010, аудиокодер 1020, модули 1030 и 1040 пакетирования, PSI-формирователь 1060 и мультиплексор (MUX) 1070.
Видеокодер 1010 и аудиокодер 1020 могут, соответственно, принимать и кодировать видеоданные и аудиоданные. Видеокодер 1010 и аудиокодер 1020 могут передавать кодированные видеоданные и аудиоданные, соответственно, в модули 1030 и 1040 пакетирования. Модули 1030 и 1040 пакетирования могут пакетировать данные, чтобы, соответственно, формировать видео-PES-пакеты и аудио-PES-пакеты. В варианте осуществления, один программный кодер 1000 может принимать данные субтитров из станции 1050 формирователя субтитров. На фиг. 10, станция 1050 формирователя субтитров является отдельным блоком от одного программного кодера 1000, но станция 1050 формирователя субтитров может быть включена в один программный кодер 1000.
PSI-формирователь 1060 может формировать информацию о различных программах, к примеру, PAT и PMT.
Мультиплексор 1070 может не только принимать видео-PES-пакеты и аудио-PES-пакеты из модулей 1030 и 1040 пакетирования, но также может принимать пакет данных субтитров в форме PES-пакета и информацию о различных программах в секционированной форме из PSI-формирователя 1060 и может формировать и выводить TS об одной программе посредством мультиплексирования видео-PES-пакетов, аудио-PES-пакетов, пакетов данных субтитров и информации о различных программах.
Когда один программный кодер 1000 формирует и передает TS согласно способу DVB-связи, абонентская DVB-приставка 1080 может принимать TS и может синтаксически анализировать TS, чтобы восстанавливать видеоданные, аудиоданные и субтитр.
Когда один программный кодер 1000 формирует и передает TS согласно способу кабельной широковещательной передачи, кабельная абонентская приставка 1085 может принимать TS и синтаксически анализировать TS, чтобы восстанавливать видеоданные, аудиоданные и субтитр. Телевизионный приемник (телевизор) 1090 может воспроизводить видеоданные и аудиоданные и может воспроизводить субтитр посредством накладывания субтитра на видеоизображение.
Далее описываются способ и устройство для воспроизведения субтитра в трехмерном формате посредством использования информации трехмерного воспроизведения, сформированной и передаваемой согласно способу DVB-связи, согласно другому варианту осуществления.
Способ и устройство согласно варианту осуществления описываются в отношении таблиц 1-21 и фиг. 10-23.
Фиг. 11 является схемой иерархической структуры потока субтитров, соответствующего способу DVB-связи. Поток субтитров может иметь иерархическую структуру из уровня 1100 программы, уровня 1110 сверхкадра, уровня 1120 последовательности отображения, уровня 1130 области и уровня 1140 объекта.
Поток субтитров может быть сконфигурирован в блоке сверхкадров 1112, 1114 и 1116 в отношении функциональной модели декодера. Данные, включенные в один сверхкадр, могут быть сохранены в буфере декодера субтитров до тех пор, пока данные в следующем сверхкадре не передаются в буфер. Один сверхкадр, например, сверхкадр 1114, может включать в себя, по меньшей мере, один из блоков 1122, 1124 и 1126 последовательностей отображения.
Блоки 1122, 1124 и 1126 последовательностей отображения могут указывать законченную графическую сцену и могут поддерживаться на экране в течение нескольких секунд. Каждый из блоков 1122, 1124 и 1126 последовательностей отображения, например, блок 1124 последовательности отображения может включать в себя, по меньшей мере, один из блоков 1132, 1134 и 1136 областей. Блоки 1132, 1134 и 1136 областей могут быть областями, имеющими горизонтальные и вертикальные размеры и предварительно определенный цвет, и могут быть областями, в которых субтитр выводится на экране. Каждый из блоков 1132, 1134 и 1136 областей, например, блок 1134 области может включать в себя объекты 1142, 1144 и 1146, которые являются субтитрами, которые должны отображаться, например, в блоке 1134 области.
Фиг. 12 и 13 иллюстрируют два типа выражения дескриптора субтитра в PMT, указывающего PES-пакет субтитра, согласно способу DVB-связи.
Один поток субтитров может передавать услугу предоставления, по меньшей мере, одного субтитра. Услуга предоставления, по меньшей мере, одного субтитра может быть мультиплексирована в один пакет, и пакет может быть передан с одним фрагментом PID-информации. Альтернативно, каждая услуга предоставления субтитров может быть сконфигурирована в отдельный пакет, и каждый пакет может быть передан с отдельной PID-информацией. Связанный PMT может включать в себя PID-информацию об услуге предоставления субтитров, язык и идентификатор страницы.
Фиг. 12 является схемой, иллюстрирующей дескриптор субтитра и PES-пакет субтитров, когда услуга предоставления, по меньшей мере, одного субтитра мультиплексируется в один пакет. На фиг. 12, услуга предоставления, по меньшей мере, одного субтитра может быть мультиплексирована в PES-пакет 1240, и ей может назначаться идентичная PID-информация X, и, соответственно, множество страниц 1242, 1244 и 1246 для услуги предоставления субтитров может быть подчинено идентичной PID-информации X.
Данные субтитров страницы 1246, которая является вспомогательной страницей, могут совместно использоваться с другими данными субтитров страниц 1242 и 1244.
PMT 1200 может включать в себя дескриптор 1210 субтитра о данных субтитров. Дескриптор 1210 субтитра задает информацию о данных субтитров согласно пакетам. В идентичном пакете информация об услугах предоставления субтитров может быть классифицирована согласно страницам. Другими словами, дескриптор 1210 субтитра может включать информацию о данных субтитров на страницах 1242, 1244 и 1246 в PES-пакет 1240, имеющий PID-информацию X. Информация 1220 и 1230 данных субтитров, которая, соответственно, задается согласно страницам 1242 и 1244 в PES-пакете 1240, может включать в себя информацию языка "language", идентификатор композиционной страницы "composition-page_id" и идентификатор вспомогательной страницы "ancillary-page_id".
Фиг. 13 является схемой, иллюстрирующей дескриптор субтитра и PES-пакет субтитров, когда услуга предоставления субтитров формируется в отдельном пакете. Первая страница 1350 для первой услуги предоставления субтитров может формироваться из первого PES-пакета 1340, а вторая страница 1370 для второй услуги предоставления субтитров могут формироваться из второго PES-пакета 1360. Первому и второму PES-пакетам 1340 и 1360 может, соответственно, назначаться PID-информация X и Y.
Дескриптор 1310 субтитра PMT 1300 может включать в себя значения PID-информации множества PES-пакетов субтитров и может задавать информацию о данных субтитров PES-пакетов согласно PES-пакетам. Другими словами, дескриптор 1310 субтитра может включать информацию 1320 об услуге предоставления субтитров о первой странице 1350 данных субтитров в первый PES-пакет 1340, имеющий PID-информацию X, и информацию 1330 об услуге предоставления субтитров о второй странице 1370 данных субтитров во второй PES-пакет 1360, имеющий PID-информацию Y.
Фиг. 14 является схемой структуры потока данных, включающего в себя данные субтитров, соответствующие способу DVB-связи, согласно варианту осуществления.
Декодер субтитров (например, декодер 1640 субтитров на фиг. 16) может формировать PES-пакеты 1412 и 1414 субтитров посредством сбора TS-пакетов 1402, 1404 и 1406 субтитров, которым назначается идентичная PID-информация, из DVB TS 1400, включающих в себя субтитр, соответствующий способу DVB-связи. TS-пакеты 1402 и 1406 субтитров, соответственно, формирующие начальные части PES-пакетов 1412 и 1414 субтитров, могут быть, соответственно, заголовками PES-пакетов 1412 и 1414 субтитров.
PES-пакеты 1412 и 1414 субтитров могут, соответственно, включать в себя наборы 1422 и 1424 для отображения, которые являются блоками вывода графического объекта. Набор 1422 для отображения может включать в себя множество композиционных страниц 1442 и 1444 и вспомогательную страницу 1446. Композиционные страницы 1442 и 1444 могут включать в себя информацию композиции потока субтитров. Композиционная страница 1442 может включать в себя сегмент 1452 композиции страницы, сегмент 1454 композиции области, сегмент 1456 задания справочной таблицы цветов (CLUT) и сегмент 1458 объектных данных. Вспомогательная страница 1446 может включать в себя сегмент 1462 задания CLUT и сегмент 1464 объектных данных.
Фиг. 15 является схемой структуры композиционной страницы 1500, соответствующей способу DVB-связи, согласно варианту осуществления.
Композиционная страница 1500 может включать в себя сегмент 1510 задания отображения, сегмент 1520 композиции страницы, сегменты 1530 и 1540 композиции областей, сегменты 1550 и 1560 задания CLUT, сегменты 1570 и 1580 объектных данных и конец 1590 сегмента набора для отображения. Композиционная страница 1500 может включать в себя множество сегментов композиции областей, сегментов задания CLUT и сегментов объектных данных. Все из сегмента 1510 задания отображения, сегмента 1520 композиции страницы, сегментов 1530 и 1540 композиции областей, сегментов 1550 и 1560 задания CLUT, сегментов 1570 и 1580 объектных данных и конца 1590 сегмента набора для отображения, формирующих композиционную страницу 1500, имеющую идентификатор страницы 1, могут иметь идентификатор страницы (page id) 1. Идентификаторы областей (region id) сегментов 1530 и 1540 композиции областей могут задаваться равными индексу согласно областям, а CLUT-идентификаторы (CLUT id) сегментов 1550 и 1560 задания CLUT могут задаваться равными индексу согласно CLUT. Кроме того, идентификаторы объектов (object id) сегментов 1570 и 1580 объектных данных могут задаваться равными индексу согласно объектным данным.
Синтаксисы сегмента 1510 задания отображения, сегмента 1520 композиции страницы, сегментов 1530 и 1540 композиции областей, сегментов 1550 и 1560 задания CLUT, сегментов 1570 и 1580 объектных данных и конца 1590 сегмента набора для отображения могут быть кодированы в сегментах субтитров и могут вставляться в область рабочих данных PES-пакета субтитров.
Таблица 1 показывает синтаксис поля "PES_data_field" (поле_данных_PES), сохраненного в поле "PES_packet_data_bytes" (байты_данных_PES-пакета) в PES-пакете DVB-субтитров. Данные субтитров, сохраненные в PES-пакете DVB-субтитров, могут быть кодированы так, что они имеют форму поля "PES_data_field".
<b>Таблица 1</b>
Синтаксис
PES_data_field(){data_identifier subtitle_stream_id while nextbits()='000 1111'{subtitling_segment() }end_of_PES_data_field_marker}
Значение поля "data_identifier" (идентификатор_данных) может быть задано фиксированно равным 0x20, чтобы показывать то, что текущие данные PES-пакетов являются данными DVB-субтитров. Поле "subtitle_stream_id" (идентификатор_потока_субтитров) может включать в себя идентификатор текущего потока субтитров и может быть задано фиксированно равным 0x00. Поле "end_of_PES_data_field_marker" (маркер_конца_поля_данных_PES) может включать в себя информацию, показывающую то, является или нет текущее поле данных полем конца поля PES-данных, и может быть задано фиксированно равным 1111 1111. Синтаксис поля "subtitling_segment" (сегмент_показа_субтитров) показывается в таблице 2 ниже.
<b>Таблица 2</b>
Синтаксис
subtitling_segment() {sync_byte segment_type page_id segment_length segment_data_field()}
Поле "sync_byte" (байт_синхронизации) может быть кодировано как 0000 1111. Когда сегмент декодируется на основе значения поля "segment_length" (длина_сегмента), поле "sync_byte" может быть использовано для того, чтобы определять потери передаваемых пакетов посредством проверки синхронизации.
Поле "segment_type" (тип_сегмента) может включать в себя информацию о типе данных, включенную в поле данных сегмента.
Таблица 3 показывает тип сегмента, задаваемый посредством поля "segment_type".
<b>Таблица 3</b>
Значение
Тип сегмента
0×10
Сегмент композиции страницы
0×11
Сегмент композиции области
0×12
Сегмент задания CLUT
0×13
Сегмент объектных данных
0×14
Сегмент задания отображения
0×40-0×7F
Зарезервировано для будущего использования
0×80
Конец сегмента набора для отображения
0×81-0×EF
Конфиденциальные данные
0×FF
Наполнение
Все другие значения
Зарезервировано для будущего использования
Поле "page_id" (идентификатор_страницы) может включать в себя идентификатор услуги предоставления субтитров, включенной в поле "subtitling_segment". Данные субтитров об услуге предоставления одного субтитра могут быть включены в сегмент субтитров, которому назначается значение поля "page_id", которое задается как идентификатор композиционной страницы в дескрипторе субтитра. Кроме того, данные, которые совместно используются посредством множества услуг предоставления субтитров, могут быть включены в сегмент субтитров, которому назначается значение поля "page_id", которое задается как идентификатор вспомогательной страницы в дескрипторе субтитра.
Поле "segment_length" может включать в себя информацию о числе байтов, включенных в поле "segment_data_field" (поле_данных_сегмента). Поле "segment_data_field" может быть областью рабочих данных сегмента, и синтаксис области рабочих данных может отличаться согласно типу сегмента. Синтаксис области рабочих данных согласно типам сегмента показывается в таблицах 4, 5, 7, 12, 13 и 15.
Таблица 4 показывает синтаксис поля "display_definition_segment" (сегмент_задания_отображения) (dds).
<b>Таблица 4</b>
Синтаксис
display_definition_segment() {sync_byte segment_type page_id segment_length dds_version_number display_window_flag reserved display_width display_height if (display_window_flag=1) {display_window_horizontal_position_minimum display_window_horizontal_position_maximum display_window_vertical_position_minimum display_window_vertical_position_maximum}}
Сегмент задания отображения может задавать разрешение услуги предоставления субтитров.
Поле "dds_version_number" (номер_версии_dds) может включать в себя информацию версии сегмента задания отображения. Номер версии, составляющий значение поля "dds_version_number", может увеличиваться в единицах по модулю 16 каждый раз, когда содержимое сегмента задания отображения изменяется.
Когда значение поля "display_window_flag" (флаг_окна_отображения) задается равным "1", набор для отображения DVB-субтитров, связанный с сегментом задания отображения, может задавать область окна, в которой субтитр должен отображаться, в рамках размера дисплея, заданного посредством поля "display_width" (ширина_отображения) и поля "display_height" (высота_отображения). Например, в сегменте задания отображения, размер и местоположение области окна могут быть заданы согласно значениям поля "display_window_horizontal_position_minimum" (минимальное_положение_по_горизонтали_окна_отображения), поля "display_window_horizontal_position_maximum" (максимальное_положение_по_горизонтали_окна_отображения), поля "display_window_vertical_position_minimum" (минимальное_положение_по_вертикали_окна_отображения) и поля "display_window_vertical_position_maximum" (максимальное_положение_по_вертикали_окна_отображения).
В ответ на задание значения поля "display_window_flag" равным "0", набор для отображения DVB-субтитров может выражаться в рамках дисплея, заданного посредством поля "display_width" и поля "display_height", без области окна.
Поле "display_width" и поле "display_height" могут, соответственно, включать в себя максимальную ширину по горизонтали и максимальную высоту по вертикали на дисплее, и их значения могут задаваться в диапазоне 0-4095.
Поле "display_window_horizontal_position_minimum" может включать в себя местоположение минимума по горизонтали области окна на дисплее. Местоположение минимума по горизонтали области окна может быть задано с помощью крайнего левого пиксельного значения окна для отображения DVB-субтитров на основе крайнего левого пиксела дисплея.
Поле "display_window_horizontal_position_maximum" может включать в себя местоположение максимума по горизонтали области окна на дисплее. Местоположение максимума по горизонтали области окна может быть задано с помощью крайнего правого пиксельного значения окна для отображения DVB-субтитров на основе пиксела левого конца отображения.
Поле "display_window_vertical_position_minimum" может включать в себя местоположение минимума пиксела по вертикали области окна на дисплее. Местоположение минимума пиксела по вертикали может быть задано с помощью значения самой верхней строки окна для отображения DVB-субтитров на основе верхней строки дисплея.
Поле "display_window_vertical_position_maximum" может включать в себя местоположение максимума пиксела по вертикали области окна на дисплее. Местоположение максимума пиксела по вертикали может быть задано с помощью значения самой нижней строки окна для отображения DVB-субтитров на основе верхней строки дисплея.
Таблица 5 показывает синтаксис поля "page_composition_segment" (сегмент_композиции_страницы).
<b>Таблица 5</b>
Синтаксис
Page_composition_segment(){sync_byte segment_type page_id segment_length page_time_out page_version_number page_state reserved while (processed_length<segment_length) {region_id reserved region_horizontal_address region_vertical_address})
Поле "page_time_out" (лимит_времени_страницы) может включать в себя информацию о периоде времени для исчезновения страницы с экрана, поскольку эта страница не является эффективной, и может задаваться в единицах секунд. Значение поля "page_version_number" (номер_версии_страницы) может обозначать номер версии сегмента композиции страницы и может увеличиваться в единицах по модулю 16 каждый раз, когда содержимое сегмента композиции страницы изменяется.
Поле "page_state" (состояние_страницы) может включать в себя информацию о состоянии страницы экземпляра страницы субтитров, описанного в сегменте композиции страницы. Значение поля "page_state" может обозначать состояние декодера для отображения страницы субтитров согласно сегменту композиции страницы. Таблица 6 показывает содержимое значения поля "page_state".
<b>Таблица 6</b>
Значение
Состояние страницы
Эффект на странице
Комментарии
00
Обычный случай
Обновление страницы
Набор для отображения содержит только элементы субтитров, которые изменяются от предыдущего экземпляра страницы
01
Точка обнаружения
Регенерация страницы
Набор для отображения содержит все элементы субтитров, требуемые для того, чтобы отображать следующий экземпляр страницы
10
Смена режима
Новая страница
Набор для отображения содержит все элементы субтитров, требуемые для того, чтобы отображать новую страницу
11
Зарезервировано
Зарезервировано для будущего использования
Поле "processed_length" (обрабатываемая_длина) может включать в себя информацию о числе байтов, включенных в цикл "while", который должен обрабатываться посредством декодера. Поле "region_id" (идентификатор_области) может указывать внутренний идентификатор об области на странице. Каждая идентифицированная область может отображаться в экземпляре страницы, заданном в сегменте композиции страницы. Каждая область может записываться в сегмент композиции страницы согласно порядку по возрастанию значения поля "region_vertical_address" (адрес_области_по_вертикали).
Поле "region_horizontal_address" (адрес_области_по_горизонтали) может задавать местоположение горизонтального пиксела, в котором должен отображаться левый верхний пиксел соответствующей области на странице, а поле "region_vertical_address" может задавать местоположение вертикальной строки, в которой должен отображаться левый верхний пиксел соответствующей области на странице.
Таблица 7 показывает синтаксис поля "region_composition_segment" (сегмент_композиции_области).
<b>Таблица 7</b>
Синтаксис
Region_composition_segment(){sync_byte segment_type page_id segment_length region_id region_version_number region_fill_flag reserved region_width region_height region_level_of_compatibility region_depth reserved CLUT_id region_8-bit_pixel_code region_4-bit_pixel-code region_2-bit_pixel-code reserved while (processed_length <segment_length) {object_id object_type object_provider_flag object_horizontal_position reserved object_vertical_position if (object_type=0×01 or object_type=0×02) { foreground_pixel_code background_pixel_code}}}
Поле "region_id" может включать в себя внутренний идентификатор текущей области.
Поле "region_version_number" (номер_версии_области) может включать в себя информацию версии текущей области. Версия текущей области может увеличиваться в ответ на задание значения поля "region_fill_flag" (флаг_заполнения_области) равным "1"; в ответ на изменение CLUT текущей области; или в ответ на то, что длина текущей области не равна "0", а включает в себя список объектов.
В ответ на задание значения поля "region_fill_flag" равным "1", фон текущей области может быть заполнен посредством цвета, заданного в поле "region_n-bit_pixel_code" (код_пиксела_n-битовой_области).
Поле "region_width" (ширина_области) и поле "region_height" (высота_области) могут, соответственно, включать в себя информацию ширины по горизонтали и информацию высоты по вертикали текущей области и могут задаваться в единицах пиксела. Поле "region_level_of_compatibility" (уровень_совместимости_области) может включать в себя информацию типа с минимальной CLUT, требуемую посредством декодера для того, чтобы декодировать текущую область, и может быть задано согласно таблице 8.
<b>Таблица 8</b>
Значение
region_level_of_compatibility
0×00
Зарезервировано
0×01
Требуемая CLUT с 2-битовыми записями
0×02
Требуемая CLUT с 4-битовыми записями
0×03
Требуемая CLUT с 8-битовыми записями
0×04-0×07
Зарезервировано
Когда декодер не может поддерживать назначенный тип с минимальной CLUT, текущая область может не отображаться, даже если другие области, которые требуют типа с CLUT нижнего уровня, могут отображаться.
Поле "region_depth" (глубина_области) может включать в себя информацию пиксельной глубины и может быть задано согласно таблице 9.
<b>Таблица 9</b>
Значение
region_depth
0×00
Зарезервировано
0×01
2 бита
0×02
4 бита
0×03
8 битов
0×04-0×07
Зарезервировано
Поле "CLUT_id" (идентификатор_CLUT) может включать в себя идентификатор CLUT, которая должна применяться к текущей области. Значение поля "region_8-bit_pixel-code" может задавать запись цвета 8-битовой CLUT, которая должна применяться в качестве цвета фона текущей области, в ответ на задание поля "region_fill_flag". Аналогично, значения поля "region_4-bit_pixel-code" и поля "region_2-bit_pixel-code" могут, соответственно, задавать записи цвета 4-битовой CLUT и 2-битовой CLUT, которые должны применяться в качестве цвета фона текущей области, в ответ на задание поля "region_fill_flag".
Поле "object_id" (идентификатор_объекта) может включать в себя идентификатор объекта в текущей области, а поле "object_type" (тип_объекта) может включать в себя информацию типа объекта, заданную в таблице 10. Тип объекта может классифицироваться на базовый объект или композиционный объект, битовую карту, символ или строку символов.
<b>Таблица 10</b>
Значение
object_type
0×00
basic_object (обычный_объект), битовая карта
0×01
basic_object, символ
0×02
composite_object (составной_объект), строка символов
0×03
Зарезервировано
Поле "object_provider_flag" (флаг_поставщика_объекта) может показывать способ предоставления объекта согласно таблице 11.
<b>Таблица 11</b>
Значение
object_provider_flag
0×00
Предоставлен в потоке показа субтитров
0×01
Предоставлен посредством POM в IRD
0×02
Зарезервировано
0×03
Зарезервировано
Поле "object_horizontal_position" (положение_объекта_по_горизонтали) может включать в себя информацию о местоположении горизонтального пиксела, в котором левый верхний пиксел текущего объекта должен отображаться, в качестве относительного местоположения, в котором объектные данные должны отображаться в текущей области. Другими словами, число пикселов для левых верхних пикселов текущего объекта может быть задано на основе левого конца текущей области.
Поле "object_vertical_position" (положение_объекта_по_вертикали) может включать в себя информацию о местоположении вертикальной строки, в которой левый верхний пиксел текущего объекта должен отображаться, в качестве относительного местоположения, в котором объектные данные должны отображаться в текущей области. Другими словами, число пикселов для верхней строки текущего объекта может быть задано на основе верхней части текущей области.
Поле "foreground_pixel_code" (код_пиксела_переднего_плана) может включать в себя информацию записи цвета 8-битовой CLUT, выбранного в качестве цвета переднего плана символа. Поле "background_pixel_code" (код_пиксела_фона) может включать в себя информацию записи цвета 8-битовой CLUT, выбранного в качестве цвета фона символа.
Таблица 12 показывает синтаксис поля "CLUT_definition_segment" (сегмент_задания_CLUT).
<b>Таблица 12</b>
Синтаксис
CLUT_definition_segment(){sync_byte segment_type page_id segment length CLUT-id CLUT_version_number reserved while (processed_length< segment length) {CLUT_entry_id 2-bit/entry_CLUT_flag 4-bit/entry_CLUT_flag 8-bit/entry_CLUT_flag reserved full_range_flag if full_range_flag=T{Y-value Cr-value Cb-value T-value} else {Y-value Cr-value Cb-value T-value}}}
Поле "CLUT-id" может включать в себя идентификатор CLUT, включенной в сегмент задания CLUT на странице. Поле "CLUT_version_number" (номер_версии_CLUT) обозначает номер версии сегмента задания CLUT, и номер версии может увеличиваться в единицах по модулю 16, когда содержимое сегмента задания CLUT изменяется.
Поле "CLUT_entry_id" (идентификатор_записи_CLUT) может включать в себя внутренний идентификатор записи в CLUT и может иметь начальное значение идентификатора в "0". В ответ на задание значения поля "2-bit/entry_CLUT_flag" (флаг_2-битовой_записи_CLUT) равным "1", текущая CLUT может конфигурироваться как двух(2)-битовая запись. Аналогично, в ответ на задание значения поля "4-bit/entry_CLUT_flag" или поля "8-bit/entry_CLUT_flag" равным "1", текущая CLUT может конфигурироваться как четырех(4)-битовая запись или восьми(8)-битовая запись.
В ответ на задание значения поля "full_range_flag" (флаг_всего_диапазона) равным "1", полное восьми(8)- битовое разрешение может применяться к полю "Y_value" (значение_Y), полю "Cr_value" (значение_Cr), полю "Cb_value" (значение_Cb) и полю "T_value" (значение_T).
Поле "Y_value", поле "Cr_value" и поле "Cb_value" могут, соответственно, включать в себя выходную информацию Y, выходную информацию Cr и выходную информацию Cb CLUT для каждого ввода.
Поле "T_value" может включать в себя информацию прозрачности CLUT для ввода. Когда значение поля "T_value" равно 0, не может быть прозрачности.
Таблица 13 показывает синтаксис поля "object_data_segment" (сегмент_данных_объекта).
<b>Таблица 13</b>
Синтаксис
object_data_segment() {sync_byte segment_type page_id segment_length object_id object_version_number object_coding_method non_modifying_colour_flag reserved if (object coding method='00') { top_field_data_block_length bottom_field_data_block_length while (processed_Iengt<top_field_data_block_length) pixel-data_sub-block() while (processed_length<bottom_field_data_block_Iength) pixel-data_sub-block() if (!wordaligned()) 8_stuff_bits} if (object_coding_method='01') {number_of_codes for (i=1; i<= number_of_codes; i++) character_code}}
Поле "object_id" может включать в себя идентификатор о текущем объекте на странице. Поле "object_version_number" (номер_версии_объекта) может включать в себя информацию версии сегмента данных о текущем объекте, и номер версии может увеличиваться в единицах по модулю 16 каждый раз, когда содержимое сегмента объектных данных изменяется.
Поле "object_coding_method" (способ_кодирования_объекта) может включать в себя информацию о способе кодирования объекта. Объект может быть кодирован в пикселе или строке символов, как показано в таблице 14.
<b>Таблица 14</b>
Значение
object_coding_method
0×00
Кодирование пикселов
0×01
Кодируется в качестве строки символов
0×02
Зарезервировано
0×03
Зарезервировано
В ответ на задание значения поля "non_modifying_colour_flag" (флаг_неизменности_цвета) равным "1", входное значением 1 CLUT может быть "unchanged color" (неизмененный цвет). В ответ на назначение неизмененного цвета пикселу объекта, фон или пиксел объекта в базовой области не может быть изменен.
Поле "top_field_data_block_length" (длина_блока_данных_верхнего_поля) может включать в себя информацию о числе байтов, включенных в поле "pixel-data_sub-blocks" (субблоки_пиксельных_данных), относительно самого верхнего поля. Поле "bottom_field_data_block_length" (длина_блока_данных_нижнего_поля) может включать в себя информацию о числе байтов, включенных в "data_sub-block" (субблок_данных), относительно самого нижнего поля. В каждом объекте субблок пиксельных данных самого верхнего поля и субблок пиксельных данных самого нижнего поля могут быть заданы посредством идентичного сегмента объектных данных.
Поле "8_stuff_bits" (8_битов_наполнения) может быть задано фиксированно равным 0000 0000. Поле "number_of_codes" (число_кодов) может включать в себя информацию о числе кодов символов в строке символов. Значение поля "character_code" (код_символа) может задавать символ посредством использования индекса в коде символа, идентифицированном в дескрипторе субтитра.
Таблица 15 показывает синтаксис поля "end_of_display_set_segment" (конец_сегмента_набора_отображения).
<b>Таблица 15</b>
Синтаксис
end_of_display_set_segment() {sync_byte segment_type page_id segment_length}
Поле "end_of_display_set_segment" может быть использовано для того, чтобы уведомлять декодер о том, что передача набора для отображения завершается. Поле "end_of_display_set_segment" может вставляться после последнего поля "object_data_segment" для каждого набора для отображения. Кроме того, поле "end_of_display_set_segment" может быть использовано для того, чтобы классифицировать каждую услугу предоставления субтитров в одном потоке субтитров.
Фиг. 16 является блок-схемой последовательности операций, иллюстрирующей модель обработки субтитров, соответствующую способу DVB-связи.
Согласно модели обработки субтитров, соответствующей способу DVB-связи, TS 1610, включающий в себя данные субтитров, может быть разложен на MPEG-2 TS-пакеты. PID-фильтр 1620 может извлекать только TS-пакеты 1612, 1614 и 1616 для субтитра, которому назначается PID-информация, из MPEG-2 TS-пакетов и может передавать извлеченные TS-пакеты 1612, 1614 и 1616 в транспортный буфер 1630. Транспортный буфер 1630 может формировать PES-пакеты субтитров посредством использования TS-пакетов 1612, 1614 и 1616. Каждый PES-пакет субтитров может включать в себя рабочие PES-данные, включающие в себя данные субтитров, и PES-заголовок. Декодер 1640 субтитров может принимать PES-пакеты субтитров, выводимые из транспортного буфера 1630, и может формировать субтитр, который должен отображаться на экране.
Декодер 1640 субтитров может включать в себя препроцессор и фильтры 1650, буфер 1660 кодированных данных, буфер 1680 композиции и процессор 1670 субтитров.
При условии, что страница, имеющая поле "page_id" "1", выбирается из PMT пользователем, препроцессор и фильтры 1650 может раскладывать композиционные страницы, имеющие поле "page_id" "1" в рабочих PES-данных, на сегменты задания отображения, сегменты композиции страниц, сегменты композиции областей, сегменты задания CLUT и сегменты объектных данных. Например, по меньшей мере, один фрагмент объектных данных, по меньшей мере, в одном сегменте объектных данных может быть сохранен в буфере 1660 кодированных данных, и сегмент задания отображения, сегмент композиции страницы, по меньшей мере, один сегмент композиции области и, по меньшей мере, один сегмент задания CLUT могут быть сохранены в буфере 1680 композиции.
Процессор 1670 субтитров может принимать, по меньшей мере, один фрагмент объектных данных из буфера 1660 кодированных данных и может формировать субтитр, сформированный, по меньшей мере, из одного объекта, на основе сегмента задания отображения, сегмента композиции страницы, по меньшей мере, одного сегмента композиции области и, по меньшей мере, одного сегмента задания CLUT, сохраненных в буфере 1680 композиции.
Декодер 1640 субтитров может отрисовывать сформированный субтитр в пиксельном буфере 1690.
Фиг. 17-19 являются схемами, иллюстрирующими данные, сохраненные, соответственно, в буфере 1700 кодированных данных, буфере 1800 композиции и пиксельном буфере 1690.
Ссылаясь на фиг. 17, объектные данные 1710, имеющие object id "1", и объектные данные 1720, имеющие object id "2", могут быть сохранены в буфере 1700 кодированных данных.
Ссылаясь на фиг. 18, информация о первой области 1810, имеющей region id "1", информация о второй области 1820, имеющей region id "2", и информация о композиции 1830 страницы, сформированной из первой и второй областей 1810 и 1820, может быть сохранена в буфере 1800 композиции.
Процессор 1670 субтитров по фиг. 17 может сохранять страницу 1900 субтитров, в которой объекты 1910 и 1920 субтитра располагаются согласно областям, как показано на фиг. 19, в пиксельном буфере 1690 на основе объектных данных 1710 и 1720, сохраненных в буфере 1700 кодированных данных, и первая область 1810, вторая область 1820 и композиция 1830 страницы сохраняются в буфере 1800 композиции.
Далее описываются операции устройства 100 и устройства 200, согласно другому варианту осуществления, в отношении таблиц 16-21 и фиг. 20-23 на основе субтитра, соответствующего способу DVB-связи, описанному в отношении таблиц 1-15 и фиг. 10-19.
Устройство 100 согласно варианту осуществления может вставлять информацию для воспроизведения DVB-субтитра в трехмерном формате в PES-пакет субтитров. Например, информация может включать в себя информацию смещения, включающую в себя, по меньшей мере, одно из значений перемещения, значений глубины, диспаратности и параллакса области, в которой субтитр отображается, и направление смещения, указывающее направление, в котором применяется информация смещения.
Фиг. 20 является схемой структуры композиционной страницы 2000 данных субтитров, соответствующих способу DVB-связи, согласно варианту осуществления. Ссылаясь на фиг. 20, композиционная страница 2000 может включать в себя сегмент 2010 задания отображения, сегмент 2020 композиции страницы, сегменты 2030 и 2040 композиции областей, сегменты 2050 и 2060 задания CLUT, сегменты 2070 и 2080 объектных данных и конец 2090 сегмента набора для отображения. На фиг. 20, сегмент 2020 композиции страницы может включать в себя информацию трехмерного воспроизведения согласно варианту осуществления. Информация трехмерного воспроизведения может включать в себя информацию смещения, включающую в себя, по меньшей мере, одно из значения перемещения, значения глубины, диспаратности и параллакса области, в которой субтитр отображается, и направление смещения, указывающее направление, в котором применяется информация смещения.
Программный кодер 110 устройства 100 может вставлять информацию трехмерного воспроизведения для воспроизведения субтитра в трехмерном формате в сегмент 2020 композиции страницы композиционной страницы 2000 в PES-пакете субтитров.
Таблицы 16 и 17 показывают синтаксисы сегмента 2020 композиции страницы, включающего в себя информацию трехмерного воспроизведения.
<b>Таблица 16</b>
Синтаксис
page_composition_segment(){sync_byte segment_type page_id segment_length page_time_out page_version_number page_state reserved while (processed_length <segment_length){region_id region_offset_direction region_offset region_horizontal_address region_vertical_address}}
Как показано в таблице 16, программный кодер 110 согласно варианту осуществления дополнительно может вставлять поле "region_offset_direction" (направление_смещения_области) и поле "region_offset" (смещение_области) в поле "reserved" (зарезервировано) в цикле "while" в поле "page_composition_segment()" (сегмент_композиции_страницы()) таблицы 5.
Программный кодер 110 может назначать один (1) бит направления смещения полю "region_offset_direction" и семь (1) битов информации смещения полю "region_offset" на замену восьми (8) битов поля "reserved".
<b>Таблица 17</b>
Синтаксис
page_composition_segment(){sync_byte segment_type page_id segment_length page_time_out page_version_number page_state reserved while (processed_length<segment_length){region_id region_offset_based_position region_offset_direction region_offset region_horizontal_address region_vertical_address }}
В таблице 17, поле "region_offset_based_position" (положение_на_основе_смещения_области) дополнительно может добавляться к сегменту композиции страницы таблицы 16.
Один бит поля "region_offset_direction", 6 битов поля "region_offset" и один бит поля "region_offset_based_position" могут назначаться на замену восьми битов поля "reserved" в сегменте композиции страницы таблицы 5.
Поле "region_offset_based_position" может включать в себя информацию флага, указывающую, применяется ли значение смещения поля "region_offset" на основе нулевой плоскости или на основе значения глубины или перемещения видеоизображения.
Фиг. 21 является схемой структуры композиционной страницы 2100 данных субтитров, соответствующих способу DVB-связи, согласно другому варианту осуществления. Ссылаясь на фиг. 12, композиционная страница 2100 может включать в себя сегмент 2185 задания глубины наряду с сегментом 2110 задания отображения, сегментом 2120 композиции страницы, сегментами 2130 и 2140 композиции областей, сегментами 2150 и 2160 задания CLUT, сегментами 2170 и 2180 объектных данных и концом 2190 сегмента набора для отображения.
Сегмент 2185 задания глубины может быть сегментом, задающим информацию трехмерного воспроизведения, и может включать в себя информацию трехмерного воспроизведения, включающую в себя информацию смещения для воспроизведения субтитра в трехмерном формате. Соответственно, программный кодер 110 может заново задавать сегмент для задания глубины субтитра и может вставлять новый заданный сегмент в PES-пакет.
Таблицы 18-21 показывают синтаксисы поля "Depth_Definition_Segment" (сегмент_задания_глубины), составляющего сегмент 2185 задания глубины, который заново задается посредством программного кодера 110, чтобы воспроизводить субтитр в трехмерном формате.
Программный кодер может вставлять поле "Depth_Definition_Segment" в поле "segment_data_field" в поле "subtitling_segment" таблицы 2, в качестве дополнительного сегмента. Соответственно, программный кодер 110 гарантирует низкоуровневую совместимость с системой DVB-субтитров посредством дополнительного задания сегмента 2185 задания глубины в качестве типа субтитра в переставленной области поля типа субтитра, при этом значение поля "subtitle_type" (тип_субтитра) таблицы 3 составляет 0×40-0×7F.
Сегмент 2185 задания глубины может включать в себя информацию, задающую информацию смещения субтитра в блоке страницы. Синтаксисы поля "Depth_Definition_Segment" могут быть показаны в таблицах 18 и 19.
<b>Таблица 18</b>
Синтаксис
Depth_Definition_Segment() {sync_byte segment_type page_id segment_length page offset direction page offset....
<b>Таблица 19</b>
Синтаксис
Depth_Definition_Segment() {sync_byte segment_type page_id segment_length page offset based_position page offset direction page offset......
Поле "page_offset_direction" (направление_смещения_страницы) в таблицах 18 и 19 может указывать направление смещения, в котором информация смещения применяется на текущей странице. Поле "page_offset" (смещение_страницы) может указывать информацию смещения, к примеру, значение перемещения пиксела на текущей странице, значение глубины, диспаратность и параллакс.
Программный кодер 110 может включать поле "page_offset_based_position" (положение_на_основе_смещения_страницы) в сегмент задания глубины. Поле "page_offset_based_position" может включать в себя информацию флага, указывающую, применяется ли значение смещения поля "page_offset" на основе нулевой плоскости или на основе информации смещения видеоизображения.
Согласно сегменту задания глубины таблицы 18 и 19, идентичная информация смещения может применяться на одной странице.
Устройство 100 согласно варианту осуществления может заново формировать сегмент задания глубины, задающий информацию смещения субтитра в блоке области, относительно каждой области, включенной на страницу. Например, синтаксисы поля "Depth_Definition_Segment" могут являться такими, как показано в таблицах 20 и 21.
<b>Таблица 20</b>
Синтаксис
Depth_Definition_Segment() {sync_byte segment_type page_id segment_length for (i=0; i<N; i+){region_id region_offset_direction region_offset}......
<b>Таблица 21</b>
Синтаксис
Depth_Definition_Segment() {sync_byte segment_type page_id segment_length for (i=0; i<N; i++){region_id region_offset_based_position region_offset_direction region offset}
Поле "page_id" и поле "region_id" в сегменте задания глубины таблиц 20 и 21 могут обращаться к идентичным полям в сегменте композиции страницы. Устройство 100 согласно варианту осуществления может задавать информацию смещения субтитра согласно областям на странице через цикл "for" в новом заданном сегменте задания глубины. Другими словами, поле "region_id" может включать в себя идентификационную информацию текущей области; и поле "region_offset_direction", поле "region_offset" и поле "region_offset_based_position" могут быть отдельно заданы согласно значению поля "region_id". Соответственно, величина перемещения пиксела в координате X может быть отдельно задана согласно областям субтитра.
Устройство 200 согласно варианту осуществления может извлекать композиционные страницы посредством синтаксического анализа принимаемого TS и формировать субтитр посредством декодирования синтаксисов сегмента композиции страницы, сегмента задания области, сегмента задания CLUT, сегмента объектных данных и т.д. на композиционных страницах. Кроме того, устройство 200 может регулировать глубину страницы или области, в которой субтитр отображается, посредством использования информации трехмерного воспроизведения, описанной выше в отношении таблиц 13-21.
Далее описывается способ регулирования глубины страницы и области субтитра со ссылкой на фиг. 22 и 23.
Фиг. 22 является схемой для описания регулирования глубины субтитра согласно областям, согласно варианту осуществления.
Декодер 2200 субтитров согласно варианту осуществления может быть реализован посредством модификации декодера 1640 субтитров по фиг. 16, который может быть моделью обработки субтитров, соответствующей способу DVB-связи.
Декодер 2200 субтитров может включать в себя препроцессор и фильтры 2210, буфер 2220 кодированных данных, улучшенный процессор 2230 субтитров и буфер 2240 композиции. Препроцессор и фильтры 2210 может передавать объектные данные в рабочих PES-данных субтитра в буфер 220 кодированных данных и может передавать информацию композиции субтитра, к примеру, сегмент задания области, сегмент задания CLUT, сегмент композиции страницы и сегмент объектных данных, в буфер 2240 композиции. Согласно варианту осуществления, информация глубины согласно областям, показанным в таблицах 16 и 17, может быть включена в сегмент композиции страницы.
Например, буфер 2240 композиции может включать в себя информацию о первой области 2242, имеющей region id "1", информацию о второй области 2244, имеющей region id "2" и информацию о композиции страницы 2246, включающей в себя значение смещения на каждую область.
Улучшенный процессор 2230 субтитров может формировать страницу субтитров посредством использования объектных данных, сохраненных в буфере 2220 кодированных данных, и информации композиции, сохраненной в буфере 2240 композиции. Например, на странице 2250 двумерных субтитров, первый объект и второй объект могут, соответственно, отображаться в первой области 2252 и второй области 2254.
Улучшенный процессор 2230 субтитров может регулировать глубину областей, в которых субтитр отображается, посредством перемещения каждой области согласно информации смещения. Другими словами, улучшенный процессор 2230 субтитров может перемещать первую и вторую области 2252 и 2254 посредством соответствующего смещения на основе информации смещения согласно областям в композиции 2246 страницы, сохраненной в буфере 2240 композиции. Улучшенный процессор 2230 субтитров может формировать субтитр 2260 для левого глаза посредством перемещения первой и второй областей 2252 и 2254 в первом направлении, соответственно, посредством смещения первой области и смещения второй области так, что первая и вторая области 2252 и 2254 отображаются, соответственно, в первой области 2262 для левого глаза и второй области 2264 для левого глаза. Аналогично, улучшенный процессор 2230 субтитров может формировать субтитр 2270 для правого глаза посредством перемещения первой и второй областей 2252 и 2254 в противоположном направлении к первому направлению, соответственно, посредством смещения первой области и смещения второй области так, что первая и вторая области 2252 и 2254 отображаются, соответственно, в первой области 2272 для правого глаза и второй области 2274 для правого глаза.
Фиг. 23 является схемой для описания регулирования глубины субтитра согласно страницам, согласно варианту осуществления.
Процессор 2300 субтитров согласно варианту осуществления может включать в себя препроцессор и фильтры 2310, буфер 2320 кодированных данных, улучшенный процессор 2330 субтитров и буфер 2340 композиции. Препроцессор и фильтры 2310 могут передавать объектные данные в рабочих PES-данных субтитра в буфер 2320 кодированных данных и могут передавать информацию композиции субтитра, к примеру, сегмент задания области, сегмент задания CLUT, сегмент композиции страницы и сегмент объектных данных, в буфер 2340 композиции. Согласно варианту осуществления, препроцессор и фильтры 2310 может передавать информацию глубины согласно страницам или согласно областям сегмента задания глубины, показанного в таблицах 18-21, в буфер 2340 композиции.
Например, буфер 2340 композиции может сохранять информацию о первой области 2342, имеющей region id "1", информацию о второй области 2344, имеющей region id "2", и информацию о композиции 2346 страницы, включающую в себя значение смещения на каждую страницу сегмента задания глубины, показанного в таблицах 18 и 19.
Улучшенный процессор 2330 субтитров может регулировать все субтитры на странице субтитров так, что они имеют идентичную глубину, посредством формирования страницы субтитров и перемещения страницы субтитров согласно значению смещения на каждую страницу, посредством использования объектных данных, сохраненных в буфере 2320 кодированных данных, и информации композиции, сохраненной в буфере 2340 композиции.
Ссылаясь на фиг. 23, первый объект и второй объект могут, соответственно, отображаться в первой области 2352 и второй области 2354 страницы 2350 двумерных субтитров. Улучшенный процессор 2330 субтитров может формировать субтитр 2360 для левого глаза и субтитр 2370 для правого глаза посредством соответствующего перемещения первой области 2252 и второй области 2254 посредством соответствующего значения смещения на основе композиции 2346 страницы со значением смещения на каждую страницу, сохраненным в буфере 2340 композиции. Чтобы формировать субтитр 2360 для левого глаза, улучшенный процессор 2330 субтитров может перемещать страницу 2350 двумерных субтитров посредством текущего смещения для страницы в направлении вправо от текущего местоположения страницы 2350 двумерных субтитров. Соответственно, первая и вторая области 2352 и 2354 также могут перемещаться посредством текущего смещения для страницы в положительном направлении по оси X, и тем самым первый и второй объекты могут, соответственно, отображаться в первой области 2362 для левого глаза и второй области 2364 для левого глаза.
Аналогично, чтобы формировать субтитр 2370 для правого глаза, улучшенный процессор 2330 субтитров может перемещать страницу 2350 двумерных субтитров посредством текущего смещения для страницы в направлении влево от текущего местоположения страницы 2350 двумерных субтитров. Соответственно, первая и вторая области 2352 и 2354 также могут перемещаться в отрицательном направлении по оси X посредством текущего смещения для страницы, и тем самым первый и второй объекты могут, соответственно, отображаться в первой области 2372 для правого глаза и второй области 2374 для правого глаза.
Кроме того, когда информация смещения согласно областям, сохраненным в сегменте задания глубины, показанном в таблицах 20 и 21, сохраняется в буфере 2340 композиции, улучшенный процессор 2330 субтитров может формировать страницу субтитров, к которой применяется информация смещения, согласно областям, формирующим результаты, аналогичные субтитру 2260 для левого глаза и субтитру 2270 для правого глаза по фиг. 22.
Устройство 100 может вставлять и передавать информацию трехмерного воспроизведения для воспроизведения данных субтитров и субтитра в трехмерном формате в PES-пакет DVB-субтитров. Соответственно, устройство 200 может принимать поток данных мультимедиа, принимаемый согласно DVB-способу, извлекать данные субтитров и информацию трехмерного воспроизведения из потока данных и из трехмерного DVB-субтитра посредством использования данных субтитров и информации трехмерного воспроизведения. Кроме того, устройство 200 может регулировать глубину между трехмерным видео и трехмерным субтитром на основе DVB-субтитра и информации трехмерного воспроизведения, чтобы не допускать утомления зрителя вследствие явления переставления глубины между трехмерным видео и трехмерным субтитром. Соответственно, зритель может просматривать трехмерное видео в стабильных условиях.
Далее описываются формирование и прием мультимедийного потока для воспроизведения субтитра в трехмерном формате, согласно способу кабельной широковещательной передачи, согласно варианту осуществления, в отношении таблиц 22-35 и фиг. 24-30.
Таблица 22 показывает синтаксис таблицы сообщения по субтитру согласно способу кабельной широковещательной передачи.
<b>Таблица 22</b>
Синтаксис
subtitle_message(){table_id zero ISO reserved section_length zero segmentation_overlay_included protocol_version if (segmentation_overlay_included) {table_extension last_segment_number segment_number} ISO_639_language_code pre_clear_display immediate reserved display_standard display_in_PTS subtitle_type reserved display_duration block_length if (subtitle_type=simple_bitmap) { simple_bitmap()} else {reserved()} for (i=0; i<N; i++) { descriptor() } CRC_32}
Поле "table_id" (идентификатор_таблицы) может включать в себя идентификатор таблицы для текущей таблицы "subtitle_message" (сообщение_по_субтитру).
Поле "section_length" (длина_секции) может включать в себя информацию о числе байтов от поля "section_length" до поля "CRC_32". Максимальная длина таблицы "subtitle_message" от поля "table_id" до поля "CRC_32" может составлять, например, один (1) килобайт, к примеру, 1024 байта. Когда размер таблицы "subtitle_message" превышает 1 килобайт вследствие размера поля "simple_bitmap()" (простая_битовая_карта()), таблица "subtitle_message" может быть разделена на структуру сегментов. Размер каждой разделенной таблицы "subtitle_message" задается фиксированно равным 1 килобайту, и оставшиеся байты последней таблицы "subtitle_message", которая не составляет 1 килобайт, могут быть заполнены посредством дескриптора наполнения. Таблица 23 показывает синтаксис поля "stuffing_descriptor()" (дескриптор_наполнения()).
<b>Таблица 23</b>
Синтаксис
stuffing_descriptor() {descriptor_tag stuffing_string_length stuffing_string}
Поле "stuffing_string_length" (длина_строки_наполнения) может включать в себя информацию о длине строки наполнения. Поле "stuffing_string" (строка_наполнения) может включать в себя строку наполнения и не может быть декодировано посредством декодера.
В таблице "subtitle message" таблицы 22, поле "simple_bitmap()" из поля "ISO_639_language_code" (код_языка_по_ISO_639) может формироваться из сегмента "message_body()" (тело_сообщения()). Когда поле "descriptor()" (дексриптор()) избирательно существует в таблице "subtitle_message", сегмент "message_body()" может включать в себя от поля "ISO_639_language_code" до поля "descriptor()". Общая длина сегментов "message_body()" может составлять, например, четыре (4) мегабайта.
Поле "segmentation_overlay_included" (наложение_сегментации_включено) таблицы "subtitle_message()" таблицы 22 может включать в себя информацию о том, сформирована или нет таблица "subtitle_message()" из сегментов. Поле "table_extension" (расширение_таблицы) может включать в себя внутреннюю информацию, назначаемую для того, чтобы декодер идентифицировал сегменты "message_body()". Поле "last_segment_number" (номер_последнего_сегмента) может включать в себя идентификационную информацию последнего сегмента для завершения всего изображения с сообщением субтитра. Поле "segment_number" (номер_сегмента) может включать в себя идентификационный номер текущего сегмента. Идентификационному номеру может назначаться число, например, от 0 до 4095.
Поле "protocol_version" (версия_протокола) таблицы "subtitle_message()" таблицы 22 может включать в себя информацию о существующей версии протокола и новой версии протокола, когда базовая структура изменяется. Поле "ISO_639_language_code" может включать в себя информацию о языковом коде, соответствующем предварительно определенному стандарту. Поле "pre_clear_display" (предварительная_очистка_дисплея) может включать в себя информацию о том, должен или нет весь экран обрабатываться прозрачно перед воспроизведением субтитра. Поле "immediate" (немедленно) может включать в себя информацию о том, воспроизводить ли субтитр на экране в момент времени согласно полю "display_in_PTS" (отображение_в_PTS) или сразу после приема.
Поле "display_standard" (стандарт_отображения) может включать в себя информацию о стандарте отображения для воспроизведения субтитра. Таблица 24 показывает содержимое поля "display_standard".
<b>Таблица 24</b>
display_standard
Смысл
0
_720_480_30
Указывает, что стандарт отображения имеет 720 активных отображаемых выборок по горизонтали на каждую строку, 480 активных строк растра по вертикали и достигает 29,97 или 30 кадров в секунду.
1
_720_576_25
Указывает, что стандарт отображения имеет 720 активных отображаемых выборок по горизонтали на каждую строку, 576 активных строк растра по вертикали и достигает 25 кадров в секунду.
2
_1280_720_60
Указывает, что стандарт отображения имеет 1280 активных отображаемых выборок по горизонтали на каждую строку, 720 активных строк растра по вертикали и достигает 59,94 или 60 кадров в секунду.
3
_1920_1080_6 0
Указывает, что стандарт отображения имеет 1920 активных отображаемых выборок по горизонтали на каждую строку, 1080 активных строк растра по вертикали и достигает 59,94 или 60 кадров в секунду.
Другие значения
Зарезервировано
Другими словами, может быть определено то, какой стандарт отображения из "разрешение 720×480 и 30 кадров в секунду", "разрешение 720×576 и 25 кадров в секунду", "разрешение 1280×720 и 60 кадров в секунду" и "разрешение 1920×1080 и 60 кадров в секунду" является подходящим для субтитра, согласно полю "display_standard".
Поле "display_in_PTS" "subtitle_message()" таблицы 22 может включать в себя информацию о начале отсчета времени программы, когда субтитр должен быть воспроизведен. Информация времени согласно такому способу абсолютного выражения упоминается как "время начальной метки". Когда субтитр должен быть сразу воспроизведен на экране на основе поля "immediate", например, когда значение поля "immediate" задается равным "1", декодер не может использовать значение поля "display_in_PTS".
Когда таблица "subtitle_message()", которая имеет информацию времени начальной метки, должна быть воспроизведена после того, как таблица "subtitle_message()" принимается посредством декодера, декодер может отбрасывать сообщение по субтитру, которое находится в состоянии готовности к воспроизведению. В ответ на задание значения поля "immediate" равным "1", могут быть отброшены все сообщения по субтитру, которые находятся в состоянии готовности к воспроизведению. Если прерывистое явление возникает в PCR-информации для услуги вследствие декодера, могут быть отброшены все сообщения по субтитру, которые находятся в состоянии готовности к воспроизведению.
Поле "display_duration" (длительность_отображения) может включать в себя информацию о длительности сообщения по субтитру, которое должно отображаться, при этом длительность указывается в номере кадра телевизора. Соответственно, значение поля "display_duration" может быть связано с частотой кадров, заданной в поле "display_standard". Время конечной метки, полученное посредством сложения длительности и времени начальной метки, может быть определено согласно длительности поля "display_duration". Когда время конечной метки достигается, битовая карта субтитра, отображаемая на экране времени во время времени начальной метки, может быть стерта.
Поле "subtitle_type" может включать в себя информацию о формате данных субтитров. Согласно таблице 25, данные субтитров имеют формат простой битовой карты, когда значение поля "subtitle_type" равняется "1".
<b>Таблица 25</b>
subtitle_type
Смысл
0
Зарезервировано
1
simple_bitmap - указывает, что блок данных субтитров содержит данные, отформатированные в стиле простой битовой карты
2-15
Зарезервировано
Поле "block_length" (длина_блока) может включать в себя информацию о длине поля "simple_bitmap()" или поля "reserved()".
Поле "simple_bitmap()" может включать в себя информацию о формате битовой карты. Далее описывается структура формата битовой карты со ссылкой на фиг. 24.
Фиг. 24 является схемой, иллюстрирующей компоненты формата битовой карты субтитра, соответствующего способу кабельной широковещательной передачи.
Субтитр, имеющий формат битовой карты, может включать в себя, по меньшей мере, одно сжатое изображение с битовой картой. Каждое сжатое изображение с битовой картой может избирательно иметь прямоугольный фоновый кадр. Например, первая битовая карта 2410 может иметь фоновый кадр 2400. Когда опорная точка (0,0) системы координат задается равной левому верхнему углу экрана, следующие четыре соотношения могут задаваться между координатами первой битовой карты 2410 и координатами фонового кадра 2400.
1. Значение верхней горизонтальной координаты (FTH) фонового кадра 2400 меньше или равно значению верхней горизонтальной координаты (BTH) первой битовой карты 2410 (FTH<BTH).
2. Значение верхней вертикальной координаты (FTV) фонового кадра 2400 меньше или равно значению верхней вертикальной координаты (BTV) первой битовой карты 2410 (FTV<BTV).
3. Значение нижней горизонтальной координаты (FBH) фонового кадра 2400 больше или равно значению нижней горизонтальной координаты (BBH) первой битовой карты 2410 (FBH>BBH).
4. Значение нижней вертикальной координаты (FBV) фонового кадра 2400 больше или равно значению нижней вертикальной координаты (BBV) первой битовой карты 2410 (FBV>BBV).
Субтитр, имеющий формат битовой карты, может иметь контур 2420 и падающую тень 2430. Толщина контура 2420 может быть в диапазоне, например, 0-15. Падающая тень 2430 может включать в себя тень справа (Sr) и краевую тень (Sb), при этом толщины тени Sr справа и краевой тени Sb находятся в диапазоне, например, 0-15.
Таблица 26 показывает синтаксис поля "simple_bitmap()".
<b>Таблица 26</b>
Синтаксис
simple_bitmap(){reserved background_style outline_style character_color() bitmap_top_H_coordinate bitmap_top_V_Coordinate bitmap_bottom_H_coordinate bitmap_bottom_V_coordinate if (background_style=framed){frame_top_H_coordinate frame_top_V_coordinate frame_bottom_H_coordinate frame_bottom_V_coordinate frame_color()} if (outline_style=outlined){ reserved outline_thickness outline_color()} else if (outline_style=drop_shadow){ shadow_right shadow_bottom shadow_color() } else if (outline_style=reserved){reserved} bitmap_length compressed_bitmap()}
Координаты (bitmap_top_H_coordinate (верхняя_горизонтальная_координата_битовой_карты), bitmap_top_V_coordinate (верхняя_вертикальная_координата_битовой_карты), bitmap_bottom_H_coordinate (нижняя_горизонтальная_координата_битовой_карты) и bitmap_bottom_V_coordinate (нижняя_вертикальная_координата_битовой_карты)) битовой карты могут задаваться в поле "simple_bitmap()".
Кроме того, если фоновый кадр существует на основе поля "background_style" (стиль_фона), координаты (frame_top_H_coordinate (верхняя_горизонтальная_координата_кадра), frame_top_V_coordinate (верхняя_вертикальная_координата_кадра), frame_bottom_H_coordinate (нижняя_горизонтальная_координата_кадра) и frame_bottom_V_coordinate (нижняя_вертикальная_координата_кадра)) фонового кадра могут задаваться в поле "simple_bitmap()".
Кроме того, если контур существует на основе поля "outline_style" (стиль_контура), толщина контура (outline_thickness) может задаваться в поле "simple_bitmap()". Кроме того, когда падающая тень существует на основе поля "outline_style", толщины (shadow_right (тень_справа), shadow_bottom (краевая_тень)) тени справа и краевой тени для падающей тени могут задаваться.
Поле "simple_bitmap()" может включать в себя поле "character_color()" (цвет_символа()), которое включает в себя информацию о цвете символа субтитров, поле "frame_color()" (цвет_кадра()), которое может включать в себя информацию о цвете фонового кадра субтитра, поле "outline_color()" (цвет_контура()), которое может включать в себя информацию о цвете контура субтитра, и поле "shadow_color()" (цвет_тени()), включающее в себя информацию о цвете падающей тени субтитра. Символ субтитров может указывать субтитр, отображаемый в изображении с битовой картой, и кадр может указывать область, в которой субтитр, например, символ, выводится.
Таблица 27 показывает синтаксис различных полей "color()" (цвет()).
<b>Таблица 27</b>
Синтаксис
color(){Y_component opaque_enable Cr_component Cb_component}
Максимум 16 цветов может отображаться на одном экране, чтобы воспроизводить субтитр. Цветовая информация может задаваться согласно цветовым элементам Y, Cr и Cb (сигналу яркости и сигналу цветности), и цветовой код может быть определен в диапазоне, например, 0-31.
Поле "opaque_enable" (возможность_непрозрачности) может включать в себя информацию о прозрачности цвета субтитра. Цвет субтитра может быть непрозрачным или смешан 50:50 с цветом видеоизображения на основе поля "opaque_enable". Другие прозрачности и полупрозрачности также предусматриваются.
Фиг. 25 является блок-схемой последовательности операций способа для модели 2500 обработки субтитров для трехмерного воспроизведения субтитра, соответствующего способу кабельной широковещательной передачи, согласно варианту осуществления.
Согласно модели 2500 обработки субтитров, TS-пакеты, включающие в себя сообщения по субтитру, могут быть собраны из MPEG-2 TS, переносящих сообщения по субтитру, и TS-пакеты могут выводиться в транспортный буфер, на этапе 2510. TS-пакеты, включающие в себя сегменты субтитров, могут быть сохранены на этапе 2520.
Сегменты субтитров могут быть извлечены из TS-пакетов на этапе 2530, и сегменты субтитров могут сохраняться и собираться на этапе 2540. Данные субтитров могут восстанавливаться и подготавливаться посредством рендеринга из сегментов субтитров на этапе 2550, и подготовленные посредством рендеринга данные субтитров и информация, связанная с воспроизведением субтитра, могут быть сохранены в очереди на отображение на этапе 2560.
Данные субтитров, сохраненные в очереди на отображение, могут формировать субтитр в предварительно определенной области экрана на основе информации, связанной с воспроизведением субтитра, и субтитр может перемещаться в графическую плоскость 2570 дисплейного устройства, к примеру, телевизора, в предварительно определенный момент времени. Соответственно, дисплейное устройство может воспроизводить субтитр с видеоизображением.
Фиг. 26 является схемой для описания процесса вывода субтитра из очереди 2600 на отображение в графическую плоскость через модель обработки субтитров, соответствующую способу кабельной широковещательной передачи.
Данные первой битовой карты и связанная с воспроизведением информация 2610 и данные второй битовой карты и связанная с воспроизведением информация 2620 могут быть сохранены в очереди 2600 на отображение согласно сообщениям по субтитру. Например, связанная с воспроизведением информация может включать в себя информацию начального времени (display_in_PTS) о моменте времени, когда битовая карта отображается на экране, информацию длительности (display_duration) и информацию координат битовой карты. Информация координат битовой карты может включать в себя координату левого верхнего пиксела битовой карты и координату правого нижнего пиксела битовой карты.
Субтитр, сформированный на основе данных первой битовой карты и связанной с воспроизведением информации 2610 и данных второй битовой карты и связанной с воспроизведением информации 2620, сохраненных в очереди 2600 на отображение, может быть сохранен в пиксельном буфере (графической плоскости) 2670, согласно информации времени на основе информации воспроизведения. Например, субтитр 2630, в котором данные первой битовой карты отображаются в местоположении 2640 с соответствующими координатами, когда временная метка представления (PTS) равняется "4", может быть сохранен в пиксельном буфере 2670 на основе данных первой битовой карты и связанной с воспроизведением информации 2610 и данных второй битовой карты и связанной с воспроизведением информации 2620. Альтернативно, когда PTS равняется "5", субтитр 2650, в котором данные первой битовой карты отображаются в местоположении 2640, и данные второй битовой карты отображаются в местоположении 2660 с соответствующими координатами, может быть сохранен в пиксельном буфере 2670.
Далее описываются операции устройства 100 и устройства 200, согласно другому варианту осуществления в отношении таблиц 28-35 и фиг. 27-30 на основе субтитра, соответствующего способу кабельной широковещательной передачи, описанному в отношении таблиц 22-27 и фиг. 24-26.
Устройство 100 согласно варианту осуществления может вставлять информацию для воспроизведения субтитра кабельного телевидения в трехмерном формате в PES-пакет субтитров. Например, информация может включать в себя информацию смещения, включающую в себя, по меньшей мере, одно из значений перемещения, значений глубины, диспаратности и параллакса области, в которой субтитр отображается, и направление смещения, указывающее направление, в котором применяется информация смещения.
Кроме того, устройство 200 согласно варианту осуществления может собирать PES-пакеты субтитров, имеющие идентичную PID-информацию, из TS, принимаемого согласно способу кабельной широковещательной передачи. Устройство 200 может извлекать информацию трехмерного воспроизведения из PES-пакета субтитров и изменять и воспроизводить двумерный субтитр как трехмерный субтитр посредством использования информации трехмерного воспроизведения.
Фиг. 27 является блок-схемой последовательности операций для модели 2700 обработки субтитров для трехмерного воспроизведения субтитра, соответствующего способу кабельной широковещательной передачи, согласно другому варианту осуществления.
Процессы восстановления данных субтитров и информации, связанной с воспроизведением субтитра, соответствующего способу кабельной широковещательной передачи посредством этапов 2710-2760 модели 2700 обработки субтитров, являются аналогичными этапам 2510-2560 модели 2500 обработки субтитров по фиг. 25 за исключением того, что информация трехмерного воспроизведения субтитра может быть дополнительно сохранена в очереди на отображение на этапе 2760.
На этапе 2780, трехмерный субтитр, который воспроизводится в трехмерном формате, может формироваться на основе данных субтитров и информации, связанной с воспроизведением субтитра, сохраненной на этапе 2760. Трехмерный субтитр может выводиться в графическую плоскость 2770 дисплейного устройства.
Модель 2700 обработки субтитров согласно варианту осуществления может применяться, чтобы реализовывать операцию обработки субтитров устройства 200. Например, этап 2780 может соответствовать операции обработки трехмерных субтитров модуля 240 воспроизведения.
Далее подробно описываются операции устройства 100 для передачи информации трехмерного воспроизведения субтитра и операции устройства 200 для воспроизведения субтитра в трехмерном формате посредством использования информации трехмерного воспроизведения.
Программный кодер 110 устройства 100 может вставлять информацию трехмерного воспроизведения в поле "subtitle_message()" в PES-пакете субтитров. Кроме того, программный кодер 110 может заново задавать дескриптор или тип субтитра для задания глубины субтитра и может вставлять дескриптор или тип субтитра в PES-пакет субтитров.
Таблицы 28 и 29, соответственно, показывают синтаксисы поля "simple_bitmap()" и поля "subtitle_message()", которые могут быть модифицированы посредством программного кодера 110 так, что они включают в себя информацию глубины субтитра кабельного телевидения.
<b>Таблица 28</b>
Синтаксис
simple_bitmap(){3d_subtitle_offset background_style outline_style character_color() bitmap_top_H_coordinate bitmap_top_V_Coordinate bitmap_bottom_H_coordinate bitmap_bottom_V_coordinate if (background_style=framed){frame_top_H_coordinate frame_top_V_coordinate frame_bottom_H_coordinate frame_bottom_V_coordinate frame_color()} if (outline_style=outlined){ reserved outline_thickness outline_color()} else if (outline_style=drop_shadow){ shadow_right shadow_bottom shadow_color() } else if (outline_style=reserved){reserved} bitmap_length compressed_bitmap()}
Как показано в таблице 28, программный кодер 110 может вставлять поле "3d_subtitle_offset" (смещение_субтитра_3d) в поле "reserved()" в поле "simple_bitmap()" таблицы 26. Чтобы формировать битовые карты для субтитра для левого глаза и субтитра для правого глаза для трехмерного воспроизведения, поле "3d_subtitle_offset" может включать в себя информацию смещения, включающую в себя величину перемещения для перемещения битовых карт на основе горизонтальной оси координат. Значение смещения поля "3d_subtitle_offset" может применяться одинаково к символу субтитров и кадру. Применение значения смещения к символу субтитров означает, что значение смещения применяется к минимальной прямоугольной области, включающей в себя субтитр, и применение значения смещения к кадру означает, что значение смещения применяется к области, большей символьной области, включающей в себя минимальную прямоугольную область, включающую в себя субтитр.
<b>Таблица 29</b>
Синтаксис
subtitle_message(){table_id zero ISO reserved section_length zero seg-mentation_overlay_included protocol_version if (segmentation_overlay_included) {table_extension last_segment_number segment_number} ISO_639_language_code pre_clear_display immediate reserved display_standard display_in_PTS subtitle_type 3d_subtitle_direction display_duration block_length if (subtitle_type=simple_bitmap) {simple_bitmap()} else {reserved()} for (i=0; i<N; i++) {descriptor()} CRC_32}
Программный кодер 110 может вставлять поле "3d_subtitle_direction" (направление_субтитра_3d) в поле "reserved()" в поле "subtitle_message()" таблицы 22. Поле "3d_subtitle_direction" обозначает направление смещения, указывающее направление, в котором информация смещения применяется, чтобы воспроизводить субтитр в трехмерном формате.
Модуль 240 воспроизведения может формировать субтитр для правого глаза посредством применения информации смещения к субтитру для левого глаза посредством использования направления смещения. Направление смещения может быть отрицательным или положительным либо влево или вправо. В ответ на отрицательное значение поля "3d_subtitle_direction", модуль 240 воспроизведения может определять значение координаты X субтитра для правого глаза посредством вычитания значения смещения из значения координаты X субтитра для левого глаза. Аналогично, в ответ на положительное значение поля "3d_subtitle_direction", модуль 240 воспроизведения может определять значение координаты X субтитра для правого глаза посредством прибавления значения смещения к значению координаты X субтитра для левого глаза.
Фиг. 28 является схемой для описания регулирования глубины субтитра, соответствующего способу кабельной широковещательной передачи, согласно варианту осуществления.
Устройство 200 согласно варианту осуществления принимает TS, включающий в себя сообщение по субтитру, и извлекает данные субтитров из PES-пакета субтитров посредством демультиплексирования TS.
Устройство 200 может извлекать информацию о координатах битовой карты субтитра, информацию о координатах кадров и данные битовой карты из поля битовой карты таблицы 28. Кроме того, устройство 200 может извлекать информацию трехмерного воспроизведения из "3d_subtitle_offset", которое может быть нижним полем поля простой битовой карты таблицы 28.
Устройство 200 может извлекать информацию, связанную со временем воспроизведения субтитра, из таблицы сообщения по субтитру таблицы 29, и может извлекать направление смещения из поля "3d_subtitle_offset_direction" (направление_смещения_субтитра_3d), которое может быть нижним полем таблицы сообщения по субтитру.
Очередь 2800 на отображение может сохранять набор 2810 информации субтитров, который может включать в себя информацию, связанную со временем воспроизведения субтитра (display_in_PTS и display_duration), информацию смещения (3d_subtitle_offset), направление смещения (3d_subtitle_direction), информацию, связанную с воспроизведением субтитра, включающую в себя информацию координат битовой карты (BTH, BTV, BBH и BBV) субтитра и информацию координат фонового кадра (FTH, FTV, FBH и FBV) субтитра, и данные субтитров.
Посредством этапа 2780 по фиг. 27, модуль 240 воспроизведения может формировать экран композиции, в котором субтитр располагается, и может сохранять экран композиции в пиксельном буфере (графической плоскости) 2870 на основе информации, связанной с воспроизведением субтитра, сохраненной в очереди 2800 на отображение.
Плоскость 2820 трехмерных субтитров формата совместной компоновки, например, формата трехмерной композиции, может быть сохранена в пиксельном буфере 2870. Поскольку разрешение формата совместной компоновки может быть уменьшено наполовину вдоль оси X, значение координаты по оси X для субтитра опорного вида и значение смещения субтитра, из информации, связанной с воспроизведением субтитра, сохраненной в очереди 2800 на отображение, может делиться на два, чтобы формировать плоскость 2820 трехмерных субтитров. Значения координат Y субтитра 2850 для левого глаза и субтитра 2860 для правого глаза являются идентичными значениям координат Y субтитра, из информации, связанной с воспроизведением субтитра, сохраненной в очереди 2800 на отображение.
Например, можно предположить, что очередь на отображение 2800 сохраняет "display_in_PTS=4" и "display_duration=600" в качестве информации, связанной со временем воспроизведения субтитра, "3d_subtitle_offset=10" в качестве информации смещения, "3d_subtitle_direction=1" в качестве направления смещения, "(BTH, BTV)=(30, 30)" и "(BBH, BBV)=(60, 40)" в качестве информации координат битовой карты и "(FTH, FTV)=(14, 20)" и "(FBH, FBV)=(70, 50)" в качестве информации координат фонового кадра.
Плоскость трехмерных субтитров 2820, имеющая формат совместной компоновки и сохраненная в пиксельном буфере 2870, может формироваться из плоскости 2830 субтитров для левого глаза и плоскости 2840 субтитров для правого глаза. Разрешения по горизонтали плоскости 2830 субтитров для левого глаза и плоскости 2840 субтитров для правого глаза могут быть уменьшены наполовину по сравнению с исходными разрешениями, и если исходные координаты плоскости 2830 субтитров для левого глаза составляют (OHL, OVL)=(0, 0)", то исходные координаты плоскости 2840 субтитров для правого глаза могут составлять "(OHR, OVR)=(100,0)".
Например, значения координат X битовой карты и фонового кадра субтитра 2850 для левого глаза также могут быть уменьшены наполовину. Другими словами, значение BTHL координаты X в левой верхней точке битовой карты и значение BBHL координаты X в правой нижней точке битовой карты субтитра 2850 для левого глаза, и значение FTHL координаты X в левой верхней точке кадра, и значение FBHL координаты X в правой нижней точке кадра субтитра 2850 для левого глаза могут быть определены согласно выражениям 1-4 отношения ниже.
BTHL=BTH/2; (1)
BBHL=BBH/2; (2)
FTHL=FTH/2; (3)
FBHL=FBH/2. (4)
Соответственно, значения BTHL, BBHL, FTHL и FBHL координат X субтитра 2850 для левого глаза могут быть определены следующим образом:
(1) BTHL=BTH/2=30/2=15;
(2) BBHL=BBH/2=60/2=30;
(3) FTHL=FTH/2=20/2=10; и
(4) FBHL=FBH/2=70/2=35.
Кроме того, разрешения по горизонтальной оси битовой карты и фонового кадра субтитра 2860 для правого глаза могут быть уменьшены наполовину. Значения координат X битовой карты и фонового кадра субтитра 2860 для правого глаза могут быть определены на основе исходной точки (OHR, OVR) плоскости 2840 субтитров для правого глаза. Соответственно, значение BTHR координаты X в левой верхней точке битовой карты и значение BBHR координаты X в правой нижней точке битовой карты субтитра 2860 для правого глаза, и значение FTHR координаты X в левой верхней точке кадра, и значение FBHR координаты X в правой нижней точке кадра субтитра 2860 для правого глаза определяются согласно выражениям 5-8 отношения ниже.
BTHR=OHR+BTHL+(3d_subtitle_offset/2); (5)
BBHR=OHR+BBHL+(3d_subtitle_offset/2); (6)
FTHR=OHR+FTHL+(3d_subtitle_offset/2); (7)
FBHR=OHR+FBHL+(3d_subtitle_offset/2). (8)
Другими словами, значения координат X битовой карты и фоновых кадров субтитра 2860 для правого глаза могут задаваться посредством перемещения координат X в отрицательном или положительном направлении посредством значения смещения трехмерного субтитра из местоположения, перемещенного в положительном направлении посредством координаты X субтитра 2850 для левого глаза, на основе исходной точки (OHR, OVR) плоскости 2840 субтитров для правого глаза. Например, если направление смещения трехмерного субтитра равняется "1", например, "3d_subtitle_direction=1", направление смещения трехмерного субтитра может быть отрицательным.
Соответственно, значения BTHL, BBHL, FTHL и FBHL координат X битовой карты и фонового кадра субтитра 2860 для правого глаза могут быть определены следующим образом:
(5) BTHR=OHR+BTHL-(3d_subtitle_offset/2)=100+15-5=110;
(6) BBHR=OHR+BBHL-(3d_subtitle_offset/2)=100+30-5=125;
(7) FTHR=OHR+FTHL-(3d_subtitle_offset/2)=100+10-5=105;
(8) FBHR=OHR+FBHL-(3d_subtitle_offset/2)=100+35-5=130.
Соответственно, дисплейное устройство может воспроизводить трехмерный субтитр в трехмерном формате посредством использования трехмерного субтитра, отображаемого в местоположении, перемещенном посредством значения смещения в направлении по оси X на плоскости 2830 субтитров для левого глаза и плоскости 2840 субтитров для правого глаза.
Кроме того, программный кодер 110 может заново задавать дескриптор и тип субтитра для задания глубины субтитра и вставлять дескриптор и тип субтитра в PES-пакет.
Таблица 30 показывает синтаксис поля "subtitle_depth_descriptor()" (дескриптор_глубины_субтитра()), заново заданного посредством программного кодера 110.
<b>Таблица 30</b>
Синтаксис
Subtitling_depth_descriptor(){descriptor_tag descriptor_length reserved (or offset_based) character_offset_direction character_offset reserved frame_offset_direction frame_offset}
Поле "subtitle_depth_descriptor()" может включать в себя информацию о направлении смещения символа ("character_offset_direction"), информацию смещения символа ("character_offset"), информацию о направлении смещения фонового кадра ("frame_offset_direction") и информацию смещения фонового кадра ("frame_offset").
Поле "subtitle_depth_descriptor()" может избирательно включать в себя информацию ("offset_based" (на_основе_смещения)), указывающую то, задается ли значение смещения символа или фонового кадра на основе нулевой плоскости или на основе информации смещения видеоизображения.
Фиг. 29 является схемой для описания регулирования глубины субтитра, соответствующего способу кабельной широковещательной передачи, согласно другому варианту осуществления.
Устройство 200 согласно варианту осуществления может извлекать информацию, связанную с координатами битовой карты субтитра, информацию, связанную с координатами кадров субтитра, и данные битовой карты из поля битовой карты таблицы 28, и может извлекать информацию, связанную со временем воспроизведения субтитра, из таблицы сообщения по субтитру таблицы 29. Кроме того, устройство 200 может извлекать информацию об информации направления смещения символа ("character_offset_direction") субтитра, информации смещения символа ("character_offset"), информации о направлении смещения фона ("frame_offset_direction") субтитра и информации смещения фона ("frame_offset") из поля дескриптора глубины субтитров таблицы 30.
Соответственно, набор 2910 информации субтитров, который может включать в себя информацию, связанную с воспроизведением субтитра, включающую в себя информацию, связанную со временем воспроизведения субтитра (display_in_PTS и display_duration), направление смещения символа (character_offset_direction), информацию смещения символа (character_offset), направление смещения фонового кадра (frame_offset_direction) и информацию смещения фонового кадра (frame_offset), и данные субтитров, может быть сохранена в очереди 2900 на отображение.
Например, очередь 2900 на отображение может сохранять "display_in_PTS=4" и "display_duration=600" в качестве информации, связанной со временем воспроизведения субтитра, "character_offset_directoin=1" в качестве направления смещения символа, "character_offset=10" в качестве информации смещения символа, "frame_offset_direction=1" в качестве направления смещения фонового кадра, "frame_offset=4" в качестве информации смещения фонового кадра, "(BTH, BTV)=(30, 30)" и "(BBH, BBV)=(60, 40)" в качестве координат битовой карты субтитра и "(FTH, FTV)=(20, 20)" и "(FBH, FBV)=(70, 50)" в качестве координат фонового кадра субтитра.
Посредством этапа 2780 можно предположить, что пиксельный буфер (графическая плоскость) 2970 сохраняет плоскость 2920 трехмерных субтитров, имеющую формат совместной компоновки, который является форматом трехмерной композиции.
Аналогично фиг. 28, значение BTHL координаты X в левой верхней точке битовой карты, значение BBHL координаты X в правой нижней точке битовой карты, значение FTHL координаты X в левой верхней точке кадра и значение FBHL координаты X правой нижней точки кадра субтитра 2950 для левого глаза на плоскости 2930 субтитров для левого глаза из плоскости 2920 трехмерных субтитров, сохраненные в пиксельном буфере 2970, могут быть определены следующим образом:
BTHL=BTH/2=30/2=15; (9)
BBHL=BBH/2=60/2=30; (10)
FTHL=FTH/2=20/2=10; и (11)
FBHL=FBH/2=70/2=35. (12)
Кроме того, значение BTHR координаты X в левой верхней точке битовой карты, значение BBHR координаты X в правой нижней точке битовой карты, значение FTHR координаты X в левой верхней точке кадра и значение FBHR координаты X правой нижней точки кадра субтитра 2960 для правого глаза на плоскости 2940 субтитров для правого глаза из плоскости 2920 трехмерных субтитров определяются согласно выражениям 13-15 отношения ниже.
BTHR=OHR+BTHL+(character_offset/2); (13)
BBHR=OHR+BBHL+(character_offset/2); (14)
FTHR=OHR+FTHL+(frame_offset/2); (15)
FBHR=OHR+FBHL+(frame_offset/2). (16)
Например, если "character_offset_direction=1" и "frame_offset_direction=1", направление смещения трехмерного субтитра может быть отрицательным.
Соответственно, значения BTHL, BBHL, FTHL и FBHL координат X битовой карты и фонового кадра субтитра 2960 для правого глаза могут быть определены следующим образом:
(13) BTHR=OHR+BTHL-(character_offset/2)=100+15-5=110;
(14) BBHR=OHR+BBHL-(character_offset/2)=100+30-5=125;
(15) FTHR=OHR+FTHL-(frame_offset/2)=100+10-2=108; и
(16) FBHR=OHR+FBHL-(frame_offset/2)=100+35-2=133.
Соответственно, субтитр может воспроизводиться в трехмерном формате в качестве субтитра 2950 для левого глаза, и субтитр 2960 для правого глаза может быть расположен, соответственно, на плоскости 2930 субтитров для левого глаза и плоскости 2940 субтитров для правого глаза после перемещения посредством значения смещения в направлении по оси X.
Устройство 100 согласно варианту осуществления дополнительно может задавать тип субтитра для другого вида, чтобы воспроизводить субтитр в трехмерном формате. Таблица 31 показывает типы субтитров, модифицированные посредством устройства 100.
<b>Таблица 31</b>
subtitle_type
Смысл
0
Зарезервировано
1
simple_bitmap - указывает, что блок данных субтитров содержит данные, отформатированные в стиле простой битовой карты
subtitle_another_view - координаты битовой карты и фонового кадра другого вида для трехмерного формата
3-15
Зарезервировано
Обращаясь к таблице 31, устройство 100 дополнительно может назначать тип субтитра для другого вида ("subtitle_another_view") значению поля типа субтитра в "2" посредством использования переставленной области, в которой значение поля типа субтитра находится в диапазоне, например, 2-15, из базовой таблицы для таблицы 25.
Устройство 100 может изменять базовую таблицу сообщения по субтитру таблицы 22 на основе модифицированных типов субтитров таблицы 31. Таблица 32 показывает синтаксис модифицированной таблицы сообщения по субтитру ("subtitle_message()").
<b>Таблица 32</b>
Синтаксис
subtitle_message(){table_id zero ISO reserved section_length zero seg-mentation_overlay_included protocol_version if (segmentation_overlay_included) {table_extension last_segment_number segment_number} ISO_639_language_code pre_clear_display immediate reserved display_standard display_in_PTS subtitle_type reserved display_duration block_length if (subtitle_type=simple_bitmap) { simple_bitmap()} else if(subtitle_type=subtitle_another_view) { subtitle_another_view()} else {reserved()} for (i=0; i<N; i++) { descriptor()} CRC_32}
Другими словами, в модифицированной таблице сообщения по субтитру, когда типом субтитра является поле "subtitle_another_view", поле "subtitle_another_view()" может быть дополнительно включено, чтобы задавать информацию субтитра другого вида. Таблица 33 показывает синтаксис поля "subtitle_another_view()".
<b>Таблица 33</b>
Синтаксис
subtitle_another_view(){reserved background_style outline_style character_color() bitmap_top_H_coordinate bitmap_top_V_Coordinate bitmap_bottom_H_coordinate bitmap_bottom_V_coordinate if (background_style=framed) {frame_top_H_coordinate frame_top_V_coordinate frame_bottom_H_coordinate frame_bottom_V_coordinate frame_color()} if (outline_style=outlined){reserved outline_thickness outline_color()} else if (outline_style=drop_shadow){shadow_right shadow_bottom shadow_color()} else if (outline_style=reserved){reserved} bitmap_length compressed_bitmap()}
Поле "subtitle_another_view()" может включать в себя информацию о координатах битовой карты субтитра для другого вида (bitmap_top_H_coordinate, bitmap_top_V_coordinate, bitmap_bottom_H_coordinate, bitmap_bottom_V_coordinate). Кроме того, если фоновый кадр субтитра для другого вида существует на основе поля "background_style", поле "subtitle_another_view()" может включать в себя информацию о координатах фонового кадра субтитра для другого вида (frame_top_H_coordinate, frame_top_V_coordinate, frame_bottom_H_coordinate, frame_bottom_V_coordinate).
Устройство 100 может включать в себя не только информацию о координатах битовой карты и фонового кадра субтитра для другого вида, но также может включать информацию толщины контура (outline_thickness), если контур существует, и информацию толщины теней справа и слева (shadow_right и shadow_bottom) падающей тени, если падающая тень существует, в "поле subtitle_another_view()".
Устройство 200 может формировать субтитр опорного вида и субтитр другого вида посредством использования поля "subtitle_another_view()".
Альтернативно, устройство 200 может извлекать и использовать только информацию о координатах битовой карты и фонового кадра субтитра из поля "subtitle_another_view()", чтобы уменьшать пропускную способность передачи данных.
Фиг. 30 является схемой для описания регулирования глубины субтитра, соответствующего способу кабельной широковещательной передачи, согласно другому варианту осуществления.
Устройство 200 согласно варианту осуществления может извлекать информацию о времени воспроизведения субтитра из таблицы сообщения по субтитру таблицы 32, которая модифицируется так, что она учитывает поле "subtitle_another_view()", и может извлекать информацию о координатах битовой карты и фонового кадра субтитра для другого вида и данные битовой карты из поля "subtitle_another_view()" таблицы 33.
Соответственно, очередь 3000 на отображение может сохранять набор 3010 информации субтитров, который может включать в себя данные субтитров и информацию, связанную с воспроизведением субтитра, включающую в себя информацию, связанную со временем воспроизведения субтитра (display_in_PTS и display_duration), информацию о координатах битовой карты субтитра для другого вида (bitmap_top_H_coordinate, bitmap_top_V_coordinate, bitmap_bottom_H_coordinate и bitmap_bottom_V_coordinate) и информацию о координатах фонового кадра субтитра для другого вида (frame_top_H_coordinate, frame_top_V_coordinate, frame_bottom_H_coordinate и frame_bottom_V_coordinate).
Например, можно предположить, что очередь 3000 на отображение включает в себя информацию, связанную с воспроизведением субтитра, включающую в себя "display_in_PTS=4" и "display_duration=600" в качестве информации, связанной со временем воспроизведения субтитра, "bitmap_top_H_coordinate=20", "bitmap_top_V_coordinate=30", "bitmap_bottom_H_coordinate=50" и "bitmap_bottom_V_coordinate=40" в качестве информации о координатах битовой карты субтитра для другого вида и "frame_top_H_coordinate=10", "frame_top_V_coordinate=20", "frame_bottom_H_coordinate=60" и "frame_bottom_V_coordinate=50" в качестве информации о координатах фонового кадра субтитра для другого вида, "(BTH, BTV)=(30, 30)" и "(BBH, BBV)=(60, 40)" в качестве информации о координатах битовой карты субтитра и "(FTH, FTV)=(20, 20)" и "(FBH, FBV)=(70, 50)" в качестве информации о координатах фонового кадра субтитра.
Посредством этапа 2780 по фиг. 27, можно предположить, что плоскость 3020 трехмерных субтитров, имеющая формат совместной компоновки, который является форматом трехмерной композиции, сохраняется в пиксельном буфере (графической плоскости) 3070. Аналогично фиг. 32, значение BTHL координаты X в левой верхней точке битовой карты, значение BBHL координаты X в правой нижней точке битовой карты, значение FTHL координаты X в левой верхней точке кадра и значение FBHL координаты X правой нижней точки кадра субтитра 3050 для левого глаза на плоскости 3030 субтитров для левого глаза из плоскости 3020 трехмерных субтитров, сохраненные в пиксельном буфере 3070, могут быть определены следующим образом:
BTHL=BTH/2=30/2=15; (17)
BBHL=BBH/2=60/2=30; (18)
FTHL=FTH/2=20/2=10; и (19)
FBHL=FBH/2=70/2=35. (20)
Кроме того, значение BTHR координаты X в левой верхней точке битовой карты, значение BBHR координаты X в правой нижней точке битовой карты, значение FTHR координаты X в левой верхней точке кадра и значение FBHR координаты X правой нижней точки кадра субтитра 3060 для правого глаза на плоскости 3040 субтитров для правого глаза из плоскости 3020 трехмерных субтитров могут быть определены согласно выражениям 21-24 отношения ниже.
BTHR=OHR+bitmap_top_H_coordinate/2; (21)
BBHR=OHR+bitmap_bottom_H_coordinate/2; (22)
FTHR=OHR+frame_top_H_coordinate/2; (23)
FBHR=OHR+frame_bottom_H_coordinate/2. (24)
Соответственно, значения BTHL, BBHL, FTHL и FBHL координат X субтитра 3060 для правого глаза могут быть определены следующим образом:
(21) BTHR=OHR+bitmap_top_H_coordinate/2=100+10=110;
(22) BBHR=OHR+bitmap_bottom_H_coordinate/2=100+25=125;
(23) FTHR=OHR+frame_top_H_coordinate/2=100+5=105; и
(24) FBHR=OHR+frame_bottom_H_coordinate/2=100+30=130.
Соответственно, субтитр может воспроизводиться в трехмерном формате в качестве субтитра 3050 для левого глаза, и субтитр 3060 для правого глаза может быть расположен, соответственно, на плоскости 3030 субтитров для левого глаза и плоскости 3040 субтитров для правого глаза после перемещения посредством значения смещения в направлении по оси X.
Устройство 100 согласно варианту осуществления дополнительно может задавать тип диспаратности субтитров субтитра в качестве типа субтитра, чтобы предоставлять трехмерный эффект субтитру. Таблица 34 показывает типы субтитров, модифицированные так, чтобы добавлять тип диспаратности субтитров посредством устройства 100.
<b>Таблица 34</b>
subtitle_type
Смысл
0
Зарезервировано
1
simple_bitmap - указывает, что блок данных субтитров содержит данные, отформатированные в стиле простой битовой карты
2
subtitle_disparity - информация диспаратности для трехмерного эффекта
3-15
Зарезервировано
Согласно таблице 34, устройство 100 согласно варианту осуществления дополнительно может задавать тип диспаратности субтитров ("subtitle_disparity") как значение поля типа субтитра "2" посредством использования зарезервированной области из базовой таблицы типа субтитра таблицы 25.
Устройство 100 может заново задавать поле диспаратности субтитров на основе модифицированных типов субтитров таблицы 34. Таблица 35 показывает синтаксис поля "subtitle_disparity()", согласно варианту осуществления.
<b>Таблица 35</b>
Синтаксис
subtitle_disparity(){ disparity }
Согласно таблице 35, поле диспаратности субтитров может включать в себя поле "disparity" (диспаратность), включающее в себя информацию диспаратности между субтитром для левого глаза и субтитром для правого глаза.
Устройство 200 может извлекать информацию, связанную со временем воспроизведения субтитра, из таблицы сообщения по субтитру, модифицированной так, что она учитывает новое заданное поле "subtitle_disparity", и извлекать информацию диспаратности и данные битовой карты субтитра из поля "subtitle_disparity" таблицы 35. Соответственно, модуль 240 воспроизведения согласно варианту осуществления может воспроизводить субтитр в трехмерном формате посредством отображения субтитра для правого глаза и субтитра для левого глаза в местоположениях, которые перемещаются посредством диспаратности.
Таким образом, согласно вариантам осуществления, субтитр может воспроизводиться в трехмерном формате с видеоизображением посредством использования информации трехмерного воспроизведения.
Процессы, функции, способы и/или программное обеспечение, описанные выше, могут записываться, сохраняться или фиксироваться в одном или более компьютерно-читаемых носителей хранения данных, которые включают в себя программные инструкции, которые должны быть реализованы посредством компьютера, чтобы предписывать процессору исполнять или выполнять программные инструкции. Носители также могут включать в себя, отдельно или в комбинации с программными инструкциями, файлы данных, структуры данных и т.п. Носители и программные инструкции могут быть специально спроектированы и созданы или они могут быть вида, известного и доступного для специалистов в областях техники компьютерного программного обеспечения. Примеры компьютерно-читаемых носителей включают в себя магнитные носители, к примеру, жесткие диски, гибкие диски и магнитную ленту; оптические носители, к примеру, CD-ROM-диски и DVD; магнитооптические носители, к примеру, оптические диски; и аппаратные устройства, которые специально конфигурируются, чтобы сохранять и выполнять программные инструкции, к примеру, постоянное запоминающее устройство (ROM), оперативное запоминающее устройство (RAM), флэш-память и т.п. Примеры программных инструкций включают в себя машинный код, к примеру, сформированный посредством компилятора, и файлы, содержащие высокоуровневый код, который может быть выполнен посредством компьютера с использованием интерпретатора. Описанные аппаратные устройства могут быть сконфигурированы, чтобы выступать в качестве одного или более программных модулей, чтобы выполнять операции и способы, описанные выше, или наоборот. Помимо этого, компьютерно-читаемый носитель хранения данных может быть распределен между компьютерными системами, соединенными через сеть, и компьютерно-читаемые коды или программные инструкции могут быть сохранены и исполнены децентрализованным способом.
Вычислительная система или компьютер может включать в себя микропроцессор, который электрически соединен с шиной, пользовательский интерфейс и контроллер запоминающего устройства. Она дополнительно может включать в себя устройство флэш-памяти. Устройство флэш-памяти может сохранять N-битовые данные через контроллер запоминающего устройства. N-битовые данные обрабатываются или должны обрабатываться посредством микропроцессора, и N может составлять 1 или целое число, превышающее 1. Если вычислительная система или компьютер является мобильным устройством, дополнительно может предоставляться аккумулятор, чтобы обеспечивать рабочее напряжение вычислительной системы или компьютера.
Специалистам в данной области техники должно быть очевидным, что вычислительная система или компьютер дополнительно может включать в себя прикладной набор микросхем, процессор изображений, снятых камерой (CIS), мобильное динамическое оперативное запоминающее устройство (DRAM) и т.п. Контроллер запоминающего устройства и устройство флэш-памяти могут составлять твердотельный накопитель/диск (SSD), который использует энергонезависимое запоминающее устройство для того, чтобы сохранять данные.
Ряд примеров описан выше. Тем не менее, следует понимать, что различные модификации могут осуществляться. Например, подходящие результаты могут достигаться, если описанные технологии выполняются в различном порядке, и/или если компоненты в описанной системе, архитектуре, устройстве или схеме комбинируются другим способом и/или заменяются либо дополняются посредством других компонентов или их эквивалентов. Соответственно, эти и другие реализации находятся в рамках объема прилагаемой формулы изобретения.