УСТРОЙСТВО ВОСПРОИЗВЕДЕНИЯ, СПОСОБ ЗАПИСИ, СИСТЕМА ВОСПРОИЗВЕДЕНИЯ НОСИТЕЛЯ ЗАПИСИ
REPRODUCING DEVICE, RECORDING METHOD, RECORDING MEDIUM REPRODUCING SYSTEM

Область техники
Настоящее изобретение относится к технологии воспроизведения 3D (трехмерных) и 2D (двумерных) изображений.
Уровень техники
2D изображения, также именуемые моноскопическими изображениями, представлены пикселями на плоскости X-Y, которая применяется к экрану дисплея устройства отображения.
Напротив, 3D изображения имеют глубину в направлении оси Z помимо пикселей на плоскости X-Y, применяемой к экрану устройства отображения. 3D изображения представляются наблюдателям (пользователям) путем одновременного воспроизведения изображений левого вида и правого вида для наблюдения, соответственно, левым и правым глазами, что позволяет создавать стереоскопический эффект. Пользователи могут видеть, помимо пикселей, образующих 3D изображение, пиксели, имеющие положительные координаты по оси Z перед экраном дисплея, и пиксели, имеющие отрицательные координаты по оси Z за экраном дисплея.
Предпочтительно, чтобы оптический диск, на котором хранится 3D изображение, был совместимым с устройством воспроизведения, которое может воспроизводить только 2D изображения (далее такое устройство воспроизведения именуется "устройство 2D воспроизведения"). Причина этого в том, что, в противном случае, пришлось бы производить два типа дисков для 3D и 2D изображений, чтобы устройство 2D воспроизведения могло воспроизводить тот же контент, который хранится на диске для 3D изображения. Такая организация потребовала бы больших затрат. Соответственно, необходимо обеспечить оптический диск, на котором хранится 3D изображение, которое воспроизводится как 2D изображение устройством 2D воспроизведения и как 2D или 3D изображение устройством воспроизведения, поддерживающим 3D и 2D изображения (далее такое устройство воспроизведения именуется "устройство 2D/3D воспроизведения").
Указанная ниже Патентная литература 1 является одним примером документов уровня техники, где описаны технологии, обеспечивающие совместимость воспроизведения между 2D и 3D изображениями, в отношении оптических дисков, на которых хранятся 3D изображения.
Библиография
[Патентная литература]
[Патентная литература 1]
Японский патент № 3935507
Сущность изобретения
Техническая задача
Изображения левого вида и правого вида, используемые при стереоскопическом воспроизведении, получаются путем съемки с использованием 3D камеры. 3D камера имеет два объектива, разделенные расстоянием, соответствующим параллаксу человеческих существ. Когда изображения левого вида и правого вида, сфотографированные через два объектива, воспроизводятся попеременно, создается параллакс человеческих существ.
Однако субтитр и меню получаются не путем съемки с использованием 3D камеры, но генерируются в процессе авторинга по завершении съемки, при просмотре воспроизводимого стереоскопического видео. Для создания субтитра и меню для каждого из левого и правого видов, представление, как субтитр и меню будут выглядеть при стереоскопическом воспроизведении, требует чрезмерных продолжительности времени и усилий со стороны персонала авторинга. Соответственно, желательно, чтобы процесс создания субтитра и меню при создании стереоскопического контента с субтитром и меню был как можно более эффективным. Кроме того, то, насколько далеко выступает из плоскости экрана движущийся объект в видео, изменяется от момента к моменту для каждого периода кадра. Таким образом, когда глубины субтитра и меню фиксированы, субтитр и меню часто перекрываются с изображением персонажа в видео, создавая странную сцену, вызывающую иронический смех, например, когда появляется прямоугольная рамка меню, пронзающая персонаж на экране. Для предотвращения возникновения таких странных сцен, нужно правильно производить авторинг, даже если это требует много времени и усилий.
Здесь, усилия, необходимые для авторинга, можно до некоторой степени сократить за счет сохранения информации управления для стереоскопического наблюдения субтитра и меню в графическом потоке, чтобы можно было автоматически регулировать глубину графики. Однако существует 32 графических потока, которые представляют субтитр и меню. Некоторые из них могут не декодироваться в зависимости от режима работы устройства, состояния устройства или пользовательского выбора. В связи с этим требуется неэкономичный процесс доступа к графическому потоку, в котором хранится информация управления, для получения информации управления для стереоскопического наблюдения.
Таким образом, задачей настоящего изобретения является обеспечение носителя записи, который позволяет воспроизводить высококачественное стереоскопическое видео без увеличения продолжительности времени и усилий, необходимых для авторинга.
Решение задачи
Для решения вышеописанной задачи предусмотрен носитель записи, на который записываются видеопоток главного вида, видеопоток вспомогательного вида и графический поток, причем видеопоток главного вида включает в себя данные изображения, составляющие главный вид стереоскопического изображения, видеопоток вспомогательного вида включает в себя метаданные и данные изображения, составляющие вспомогательный вид стереоскопического изображения, графический поток включает в себя графические данные, и плоскость графики, на которой визуализируются графические данные, перекрывается плоскостью видео главного вида и плоскостью видео вспомогательного вида, на которой визуализируются соответствующие данные изображения, причем метаданные - это информация управления, задающая управление смещением, которое применяет смещения левого и правого направлений к горизонтальным координатам в плоскости графики, когда плоскость графики перекрывается плоскостью видео главного вида и плоскостью видео вспомогательного вида, и информация управления включает в себя информацию, которая указывает, посредством количества пикселей, значения смещений, применяемых к плоскости графики.
Положительные эффекты изобретения
В вышеописанной структуре задано, что информация управления для управления смещением располагается в видеопотоке вспомогательного вида. Это позволяет легко генерировать информацию управления для управления смещением, когда устройство воспроизведения работает с одной плоскостью, путем генерации информации управления на основании информации глубины, полученной при съемке 3D камерой, или информации параллакса, полученной в процессе кодирования кодером, для генерации видеопотока, и включения генерируемой информации управления в видеопоток вспомогательного вида в качестве метаданных. Это значительно сокращает работу в процессе авторинга. Информация управления задает управление смещением для случая, когда устройство воспроизведения работает с одной плоскостью. Таким образом, даже в отсутствие субтитров или меню для левого и правого видов, стереоскопическое воспроизведение доступно, только если существует только один субтитр или меню. Таким образом, структура настоящего изобретения не только сокращает продолжительность времени и усилия, необходимые для создания субтитра или меню для главного и вспомогательного видов, но также может реализовать стереоскопическое воспроизведение, даже если память в устройстве воспроизведения имеет размер одной плоскости в качестве блока памяти плоскости. Таким образом, это позволяет реализовать эффективный авторинг и снижение стоимости в устройстве воспроизведения.
В вышеозначенном носителе записи, данные изображения в видеопотоке главного вида и данные изображения в видеопотоке вспомогательного вида могут представлять совокупность групп изображений, причем каждая из совокупности групп изображений может образовывать совокупность кадров и может иметь информацию управления, в виде последовательности параметров, в соответствии с каждым из совокупности кадров. Последовательность параметров может задавать глубину графики для каждого кадра, образованного из каждой группы изображений на временной оси видеопотока. Таким образом, в одной последовательности параметров можно задать функцию Z(t) для вычисления, из произвольного времени кадра "t", глубины "z", которая соответствует времени кадра "t".
Когда функция Z(t) является параболической функцией, имеющей время кадра в качестве переменной, устройство воспроизведения может использовать, для управления сдвигом, последовательность параметров, соответствующую функции Z(t), для создания реалистического воспроизведения видео, в котором, например, графика, представляющая бейсбольный мяч, приближается к наблюдателю или удаляется от него.
Благодаря вышеописанной структуре, можно изменять глубину в реальном времени по мере продвижения точки воспроизведения на временной оси видеопотока. Таким образом, можно реализовать переменное стереоскопическое воспроизведение графики, даже в отсутствие графических материалов, соответствующих левому и правому глазу.
Краткое описание чертежей
Фиг.1A-1C - вариант осуществления действия по использованию носителя записи, устройства воспроизведения, устройства отображения и очков.
Фиг.2 - голова пользователя в левой стороне чертежа и изображения скелета динозавра, видимые, соответственно, левым глазом и правым глазом пользователя в правой стороне чертежа.
Фиг.3 - один пример внутренних структур видеопотоков левого вида и правого вида для стереоскопического наблюдения.
Фиг.4A и 4B - осуществление управления смещением на многослойной модели блоков памяти плоскости в режиме «1 плоскость + смещение».
Фиг.5A-5C - воспроизведение стереоскопического изображения путем управления смещением, показанного на фиг.4.
Фиг.6A-6D - реализация стереоскопического наблюдения в режиме «1 плоскость + смещение».
Фиг.7 - внутренняя структура потока зависимого вида, который обеспечивается информацией управления для режима «1 плоскость + смещение».
Фиг.8A-8C - внутренняя структура контейнера пользовательских данных.
Фиг.9 - синтаксис для описания метаданных смещения.
Фиг.10A и 10B - пример различия между наблюдениями, обеспеченными положительным и отрицательным смещениями плоскости.
Фиг.11 - график, в котором горизонтальная ось представляет временную ось, и вертикальная ось представляет "Plane_offset_value[j]".
Фиг.12 - график, в котором горизонтальная ось представляет временную ось, и вертикальная ось представляет "Plane_offset_value[j]".
Фиг.13 - один пример глубин, заданных последовательностями смещения при offset_sequence_id = 1, 2, 3 и 4.
Фиг.14A-14C - внутренняя структура носителя записи согласно варианту осуществления 1.
Фиг.15A и 15B - сохранение видеопотока в последовательностях пакетов PES.
Фиг.16 - схема мультиплексирования главного TS.
Фиг.17A и 17B - внутренние структуры главного TS и вспомогательного TS.
Фиг.18A-18D - внутренняя структура информации списка воспроизведения.
Фиг.19A и 19B - один пример базовой таблицы выбора потока.
Фиг.20 - внутренняя структура расширенной таблицы выбора потока.
Фиг.21A-21C - регистрационные последовательности потоков в расширенной таблице выбора потока.
Фиг.22 - демультиплексирование элементарных потоков из главного TS и вспомогательных TS с использованием базовой таблицы выбора потока и расширенной таблицы выбора потока.
Фиг.23 - обеспечение регистрационных последовательностей потоков в базовой таблице выбора потока и обращение к расширенной таблице выбора потока при осуществлении демультиплексирования, показанного на фиг.22.
Фиг.24 - изменение назначения номеров потоков.
Фиг.25 - синтаксис для записи расширенной таблицы выбора потока на объектно-ориентированном языке компилятора.
Фиг.26 - внутренняя структура устройства воспроизведения.
Фиг.27A-27C - вывод идентификаторов пакетов на блок демультиплексирования посредством объединенной регистрационной последовательности потоков.
Фиг.28A-28C - вывод идентификаторов пакетов на блок демультиплексирования посредством объединенной регистрационной последовательности потоков.
Фиг.29 - обращение к идентификаторам пакетов и вывод пакетов, когда устройство воспроизведения переведено в режим презентации B-D, и устройство воспроизведения имеет возможность B-D.
Фиг.30 - обращение к идентификаторам пакетов и вывод пакетов, когда устройство воспроизведения переведено в режим «1 плоскость + смещение».
Фиг.31 - обращение к идентификаторам пакетов и вывод пакетов, когда устройство воспроизведения переведено в режим презентации 2D.
Фиг.32 - обращение к идентификаторам пакетов и вывод пакетов, когда устройство воспроизведения не имеет возможности работать в режиме презентации B-D.
Фиг.33 - процедура воспроизведения списка воспроизведения.
Фиг.34 - процедура выбора потока.
Фиг.35 - процедура вывода идентификатора пакета, соответствующего номеру потока.
Фиг.36 - логическая блок-схема процедуры сдвига плоскости PG.
Фиг.37 - логическая блок-схема процедуры сдвига плоскости PG, когда целью воспроизведения является поток текстовых субтитров.
Фиг.38 - логическая блок-схема процедуры сдвига плоскости IG.
Фиг.39 - логическая блок-схема процедуры сдвига плоскости IG, когда Fixed_offset_during_Popup для STN_table_SS находится в состоянии ON.
Фиг.40 - соответствие между файлом «2D»/файлом «базовый» и файлом «зависимый».
Фиг.41A - 41C - соответствие между файлом перемеженного потока и файлом «2D»/файлом «базовый».
Фиг.42 - соответствие между файлом стереоскопического перемеженного потока, файлом «2D», файлом «базовый» и файлом «зависимый».
Фиг.43 - список воспроизведения 2D и список воспроизведения 3D.
Фиг.44 - список воспроизведения, генерируемый путем добавления вспомогательного пути в список воспроизведения 3D.
Фиг.45A и 45B - список воспроизведения 3D, генерируемый путем добавления индикатора базового вида в список воспроизведения 3D.
Фиг.46 - логическая блок-схема, демонстрирующая процедуру воспроизведения элементов воспроизведения.
Фиг.47A-47B - внутренняя структура информационного файла клипа.
Фиг.48 - синтаксис информации начальной точки экстента.
Фиг.49A и 49B - таблица карты записей, включенная в информационный файл клипа.
Фиг.50 - атрибут потока, включенный в программную информацию.
Фиг.51 - регистрация точек записи в карте записей.
Фиг.52 - восстановление последовательности ATC из блоков данных, образующих файл стереоскопического перемеженного потока.
Фиг.53A и 53B - восстановление последовательности ATC.
Фиг.54 - процедура для восстановления последовательности ATC.
Фиг.55A и 55B - внутренние структуры блока демультиплексирования и видеодекодера.
Фиг.56A и 56B - внутренняя структура графического декодера для PG-потока.
Фиг.57A и 57B - внутренняя структура декодера текстовых субтитров.
Фиг.58A и 58B - модели декодера для декодера IG.
Фиг.59 - структура схемы для перекрытия выходов этих моделей декодера и вывода результата в режиме 3D-LR.
Фиг.60 - структура схемы для перекрытия выходов моделей декодера и вывода результата в режиме «1 плоскость + смещение».
Фиг.61 - внутренняя структура многослойного оптического диска.
Фиг.62 - формат приложения оптического диска на основании файловой системы.
Фиг.63A и 63B - способ изготовления оптического диска.
Фиг.64 - логическая блок-схема процедуры, осуществляемой на этапе авторинга.
Фиг.65 - логическая блок-схема процедуры для записи AV файла.
Фиг.66 - внутренняя структура устройства записи.
Фиг.67 - структура устройства 2D/3D воспроизведения.
Фиг.68 - внутренняя структура системного целевого декодера 4 и набора 5a блоков памяти плоскости.
Фиг.69 - внутренние структуры набора 10 регистров и движка 7b управления воспроизведением.
Фиг.70 - переход между состояниями модели выбора режима вывода.
Фиг.71 - логическая блок-схема процедуры для процесса инициализации.
Фиг.72 - "Процедура, когда условие воспроизведения изменяется".
Фиг.73A-73D - битовое назначение в регистре настроек проигрывателя для реализации режима 3D воспроизведения.
Фиг.74A-74E - соотношения между глубинами макроблоков и параметрами для управления сдвигом.
Фиг.75 - логическая блок-схема процедуры для задания последовательности смещения, которая выполняется одновременно с кодированием видеопотока.
Фиг.76A и 76B - сегмент задания окна и информация управления в потоке субтитров.
Фиг.77A-77C - примеры описаний в PCS для DS.
Фиг.78 - изменение смещения с течением времени в случае, когда интерполяция осуществляется с использованием "3d_graphics_offset" в "composition_object" и в случае, когда интерполяция не осуществляется.
Фиг.79 - последовательность смещений, состоящая из смещений, которые соответствуют соответствующим областям, полученным делением экрана.
Фиг.80 - соответствие между глубинами объектов на экране и смещениями.
Фиг.81 - видеодекодер, плоскость левого вида, плоскость правого вида и PG/плоскость IG в числе компонентов устройства воспроизведения.
Фиг.82 - соответствие между содержанием плоскости графики и смещениями.
Фиг.83A-83D - один пример метода 3D-глубины.
Фиг.84 - стереоскопическое изображение, генерируемое в режиме 3D-глубины.
Фиг.85A и 85B - один пример структуры носителя записи для реализации режима 3D-глубины.
Фиг.86 - механизм, позволяющий отличать файлы потока, воспроизводимые в 2D, от тех, которые воспроизводятся в 3D, с использованием имен директорий и файловых расширений, и механизм, позволяющий отличать файлы потока, воспроизводимые методом LR, от тех, которые воспроизводятся методом глубины.
Фиг.87 - информация элемента воспроизведения, которая включает в себя информацию размера элементарных буферов.
Фиг.88 - 3D метаданные, к которым добавлена информация глубины.
Фиг.89 - иллюстративная структура устройства 2D/3D воспроизведения, которое реализовано с использованием интегральной схемы.
Фиг.90 - функциональная блок-схема, демонстрирующая типичную структуру блока обработки потоков.
Фиг.91 - концептуальная схема, демонстрирующая блок переключения 653 и периферию, когда блоком переключения 653 является DMAC.
Фиг.92 - функциональная блок-схема, демонстрирующая типичную структуру блока вывода AV.
Фиг.93 - иллюстративная структура, более подробно демонстрирующая блок вывода AV или часть вывода данных устройства воспроизведения.
Фиг.94 - соотношения между областями в памяти и каждой плоскостью в процессе наложения изображения.
Фиг.95 - концептуальная схема процесса наложения изображения, осуществляемого блоком наложения изображения.
Фиг.96 - концептуальная схема процесса наложения изображения, осуществляемого блоком наложения изображения.
Фиг.97 - концептуальная схема процесса наложения изображения, осуществляемого блоком наложения изображения.
Фиг.98 - концептуальная схема процесса наложения изображения, осуществляемого блоком наложения изображения.
Фиг.99 - конфигурация шин управления и шин данных в интегральной схеме.
Фиг.100 - конфигурация шин управления и шин данных в интегральной схеме.
Фиг.101 - простая логическая блок-схема, демонстрирующая операционную процедуру в устройстве воспроизведения.
Фиг.102 - подробная логическая блок-схема, демонстрирующая операционную процедуру в устройстве воспроизведения.
Фиг.103A-103D - один пример информации начальной точки экстента информации клипа базового вида, и один пример информации начальной точки экстента информации клипа зависимого вида.
Фиг.104A-104C - пояснение номеров пакетов источника произвольных блоков данных в последовательностях ATC 1 и 2.
Описание вариантов осуществления
Далее описан вариант осуществления носителя записи и устройства воспроизведения, обеспеченного средством решения вышеописанных проблем, со ссылкой на прилагаемые чертежи. Прежде всего, приведем краткое описание принципа стереоскопического наблюдения.
В общем случае, вследствие различия в позиции между правым глазом и левым глазом, существует небольшое различие между изображением, наблюдаемым правым глазом, и изображением, наблюдаемым левым глазом. Именно это различие позволяет человеческим существам воспринимать изображение, которое они видят, в трех измерениях. Стереоскопическое отображение реализуется с использованием параллакса человеческих существ, благодаря чему моноскопическое изображение выглядит как трехмерное.
В частности, существует различие между изображением, наблюдаемым правым глазом, и изображением, наблюдаемым левым глазом, причем различие соответствует параллаксу человеческих существ. Стереоскопическое отображение реализуется путем попеременного отображения двух типов изображений с регулярными короткими интервалами времени.
"Короткий интервал времени" может представлять собой период времени, достаточно короткий для создания у человеческих существ, за счет попеременного отображения, иллюзии наблюдения трехмерного объекта. Способы реализации стереоскопического наблюдения включают в себя способ, использующий голографическую технологию, и способ, использующий параллаксное изображение.
Первый способ, голографическая технология, отличается тем, что позволяет воспроизводить объект в трех измерениях таким же образом, как человеческое существо обычно воспринимает объект, и тем, что в отношении генерации видео, хотя он установил технологическую теорию, для его осуществления требуется (i) компьютер, который может осуществлять большой объем вычислений для генерации видео для голографии в реальном времени, и (ii) устройство отображения, имеющее разрешение, при котором несколько тысяч линий можно визуализировать на протяжении длины 1 мм. Современная технология испытывает большие трудности в реализации такого продукта, и, таким образом, продукты для коммерческого использования весьма трудно разрабатывать.
С другой стороны, достоинство последнего способа, использующего параллаксное изображение, состоит в том, что стереоскопическое наблюдение можно реализовать только путем подготовки изображений для наблюдения правым глазом и левым глазом. Некоторые технологии, включающие в себя метод последовательной сегрегации, были разработаны для практического использования с той точки зрения, чтобы правый глаз и левый глаз наблюдал только связанные с ним изображения.
Метод последовательной сегрегации - это метод, согласно которому изображения для левого глаза и правого глаза попеременно отображаются в направлении временной оси, благодаря чему левая и правая сцены совмещаются в мозгу за счет эффекта остаточных изображений в глазах, и совмещенное изображение воспринимается как стереоскопическое изображение.
Согласно любому из вышеописанных способов, стереоскопическое изображение состоит из, по меньшей мере, двух изображений точки зрения. Изображение точки зрения - это изображение, до некоторой степени отклоненное, и, по меньшей мере, два изображения точки зрения включают в себя изображение главного вида и изображение вспомогательного вида. При обеспечении изображений главного вида и вспомогательного вида из носителя записи через видеопотоки, видеопоток главного вида и видеопоток вспомогательного вида записываются на носителе записи, где видеопоток главного вида является видеопотоком для обеспечения изображения главного вида, и видеопоток вспомогательного вида является видеопотоком для обеспечения изображения вспомогательного вида. Предусмотрен носитель записи, описанный ниже, что позволяет надлежащим образом записывать на нем видеопоток главного вида и видеопоток вспомогательного вида.
Устройство воспроизведения, описанное в настоящей заявке, представляет собой устройство 2D/3D воспроизведения (проигрыватель), которое, при наличии режима 2D воспроизведения и режима 3D воспроизведения, может переключаться между этими режимами воспроизведения для воспроизведения видеопотока главного вида и видеопотока вспомогательного вида.
На фиг.1A-1C показан вариант осуществления действия по использованию носителя записи, устройства воспроизведения, устройства отображения и очков. Согласно фиг.1A, носитель записи 100 и устройство воспроизведения 200, совместно с телевизором 300, 3D-очками 400 и пультом 500 дистанционного управления, образуют систему домашнего кинотеатра, которая используется пользователем.
Носитель записи 100 предоставляет системе домашнего кинотеатра, например, кинофильм.
Устройство воспроизведения 200 соединено с телевизором 300 и воспроизводит носитель записи 100.
Телевизор 300 обеспечивает пользователя интерактивной операционной средой путем отображения меню и т.п., а также кинофильмом. Пользователю нужно носить 3D-очки 400 для телевизора 300 согласно настоящему варианту осуществления, чтобы реализовать стереоскопическое наблюдение. Здесь, 3D-очки 400 не требуются, когда телевизор 300 отображает изображения лентикулярным методом. Телевизор 300, действующий согласно лентикулярному методу, одновременно выравнивает по вертикали на экране изображения для левого и правого глаза. И лентикулярная линза предусмотрена на поверхности экрана дисплея, благодаря чему пиксели, образующие изображение для левого глаза, формируют изображение только в левом глазу, и пиксели, образующие изображение для правого глаза, формируют изображение только в правом глазу. Это позволяет левому и правому глазам видеть, соответственно, изображения, которые имеют параллакс, и, таким образом, реализовать стереоскопическое наблюдение.
3D-очки 400 снабжены жидкокристаллическими затворами, которые позволяют пользователю наблюдать параллаксное изображение методом последовательной сегрегации или методом поляризационных очков. Здесь, параллаксное изображение - это изображение, которое состоит из пары (i) изображения, которое поступает только в правый глаз, и (ii) изображения, которое поступает только в левый глаз, благодаря чему изображения, соответственно, связанные с правым и левым глазом, соответственно поступают в глаза пользователя, что позволяет реализовать стереоскопическое наблюдение. На фиг.1B показано состояние 3D-очков 400, когда отображается изображение левого вида. В момент, когда изображение левого вида отображается на экране, жидкокристаллический затвор для левого глаза находится в состоянии пропускания света, и жидкокристаллический затвор для правого глаза находится в состоянии блокирования света. На фиг.1C показано состояние 3D-очков 400, когда отображается изображение правого вида. В момент, когда изображение правого вида отображается на экране, жидкокристаллический затвор для правого глаза находится в состоянии пропускания света, и жидкокристаллический затвор для левого глаза находится в состоянии блокирования света.
Пульт 500 дистанционного управления - это устройство для приема от пользователя операций для воспроизведения AV. Пульт 500 дистанционного управления - это устройство для приема от пользователя операций на многослойном GUI. Для приема операций, пульт 500 дистанционного управления снабжен кнопкой «меню», кнопками стрелок, кнопкой «ввод», кнопкой «возврат» и цифровыми кнопками, где кнопка «меню» используется для вызова меню, образующего GUI, кнопки стрелок используются для перемещения между и выделения компонентов GUI, образующих меню, кнопка «ввод» используется для осуществления операции ENTER (определения) на компоненте GUI, образующем меню, кнопка «возврат» используется для возврата к более высокому слою в многослойном меню.
В системе домашнего кинотеатра, показанной на фиг.1A-1C, режим вывода устройства воспроизведения, предписывающий устройству отображения 300 отображать изображения в режиме 3D воспроизведения, называется "режим 3D вывода", и режим вывода устройства воспроизведения, предписывающий устройству отображения 300 отображать изображения в режиме 2D воспроизведения, называется "режим 2D вывода".
На этом завершается описание действия по использованию носителя записи и устройства воспроизведения.
(Вариант осуществления 1)
Вариант осуществления 1 отличается тем, что, когда пара видеопотока главного вида и видеопотока вспомогательного вида для реализации стереоскопического воспроизведения поступает на устройство воспроизведения 200 путем записи этих потоков на носителе записи 100, информация управления, задающая управление смещением, внедряется в метаданные в видеопотоке вспомогательного вида.
Упомянутое здесь управление смещением - это управление для применения смещений левого и правого направлений к горизонтальным координатам в плоскости графики и перекрытия результирующих плоскостей графики с плоскостью видео главного вида и плоскостью видео вспомогательного вида, на которых визуализируются данные изображения, составляющие главный вид и вспомогательный вид, соответственно.
Кроме того, информация управления, используемая при управлении сдвигом, функционирует как последовательности параметров, которые задают (i) информацию, указывающую значение смещения, и (ii) информацию, указывающую направление смещения, в соответствии с каждым из совокупности кадров.
В нижеследующем описании, главный вид и вспомогательный вид используются для реализации метода параллаксного изображения. Метод параллаксного изображения (также именуемый режимом 3D-LR) - это способ реализации стереоскопического наблюдения путем отдельной подготовки изображения для правого глаза и изображения для левого глаза, и направления изображения для правого глаза только в правый глаз и изображения для левого глаза только в левый глаз. На фиг.2 показана голова пользователя в левой стороне чертежа и изображения скелета динозавра, видимые, соответственно, левым глазом и правым глазом пользователя в правой стороне чертежа. Когда пропускание и блокирование света повторяются попеременно для правого и левого глаза, левая и правая сцены совмещаются в мозгу пользователя за счет эффекта остаточных изображений в глазах, и совмещенное изображение воспринимается как стереоскопическое изображение, возникающее перед пользователем.
Среди параллаксных изображений, изображение, поступающее в левый глаз, называется изображением левого глаза (L-изображением), и изображение, поступающее в правый глаз, называется изображением правого глаза (R-изображением). Видео, состоящее только из L-изображений, называется видео левого вида, и видео, состоящее только из R-изображений, называется видео правого вида. Кроме того, видеопотоки, полученные оцифровкой и кодированием со сжатием видео левого вида и видео правого вида, называются видеопотоком левого вида и видеопотоком правого вида, соответственно.
Эти видеопотоки левого вида и правого вида сжимаются путем кодирования с прогнозированием между изображениями с использованием скоррелированного свойства между точками вида, а также путем кодирования с прогнозированием между изображениями с использованием скоррелированного свойства на временной оси. Изображения, образующие видеопоток правого вида, сжимаются путем обращения к изображениям, образующим видеопоток левого вида, имеющим одинаковые времена отображения. Один из методов сжатия видео, использующих такое скоррелированное свойство между точками вида, представляет собой исправленный стандарт MPEG-4 AVC/H.264, который называется Multi-view Video Coding (MVC). Joint Video Team (JVT), совместный проект ISO/IEC MPEG и ITU-T VCEG, завершенный в июле 2008 формулировка исправленного стандарта MPEG-4 AVC/H.264, именуемого Multi-view Video Coding (MVC). MVC - это стандарт кодирования, в большом объеме, изображений для совокупности точек наблюдения. Благодаря использованию, в предсказательном кодировании, сходства изображений между точками вида, а также сходства изображений на временной оси, MVC имеет повышенную эффективность сжатия по сравнению с методами кодирования независимых изображений для совокупности точек наблюдения.
Видеопоток, среди видеопотока левого вида и видеопотока правого вида, кодированный со сжатием посредством MVC, который можно декодировать независимо, называется "видеопоток базового вида". Индикатор базового вида, который будет описан позже, указывает, какой из видеопотока левого вида и видеопотока правого вида указан как видеопоток базового вида. Кроме того, видеопоток, среди видеопотока левого вида и видеопотока правого вида, кодированный со сжатием на основании свойства межкадровой корреляции с каждыми данными изображения, составляющими видеопоток базового вида, и который можно декодировать только после декодирования видеопотока базового вида, называется "поток зависимого вида".
Видеопоток, среди видеопотока левого вида и видеопотока правого вида, кодированный со сжатием с использованием скоррелированного свойства между точками вида, который можно декодировать независимо, называется "видеопоток базового вида". Индикатор базового вида в информации элемента воспроизведения указывает, какой из видеопотока левого вида и видеопотока правого вида указан как видеопоток базового вида.
В настоящее время MVC считается наилучшим методом кодирования стереоскопических изображений. Соответственно, в дальнейшем описании предполагается, что "видеопоток главного вида" является "видеопотоком базового вида", и "видеопоток вспомогательного вида" является "видеопотоком зависимого вида".
Ниже описан видеопоток в формате MPEG4-AVC, который составляет основу видеопотока MVC.
Видеопоток MVC имеет структуру GOP и состоит из замкнутых GOP и открытых GOP. Замкнутая GOP состоит из IDR-изображение, и B-изображения и P-изображения, которые следуют за IDR-изображением. Открытая GOP состоит из I-изображения не-IDR и B-изображений и P-изображений, которые следуют за I-изображением не-IDR.
I-изображения не-IDR, B-изображения и P-изображения кодируются со сжатием на основании кадровой корреляции с другими изображениями. B-изображение - это изображение, состоящее из данных среза в двунаправленно-предсказательном (B) формате, и P-изображение - это изображение, состоящее из данных среза в предсказательном (P) формате. B-изображение подразделяется на опорное B (Br) изображение и неопорное B (B) изображение.
В замкнутой GOP, IDR-изображение располагается сверху. В порядке отображения, IDR-изображение не располагается сверху, но изображения (B-изображения и P-изображения), отличные от IDR-изображения, не могут иметь отношения зависимости с изображениями, существующими в GOP, которая предшествует замкнутой GOP. Отсюда можно понять, что замкнутая GOP призвана завершать отношение зависимости.
Теперь будет описана внутренняя структура GOP. Каждый фрагмент данных изображения в открытых и замкнутых GOP имеет единицу доступа к видео структуре метода кодирования H.264.
Соотношение между единицей доступа к видео и изображением - это "1 единица доступа к видео = 1 изображение". В BD-ROM, отношение ограничивается "1 пакет PES = 1 кадр". Таким образом, когда видео имеет кадровую структуру, "1 пакет PES = 1 изображение", и когда видео имеет полевую структуру, "1 пакет PES = 2 изображения". С учетом этого, в пакете PES хранится изображение в отношении один к одному.
На фиг.3 показан один пример внутренних структур видеопотоков левого вида и правого вида для стереоскопического наблюдения.
Во второй строке фиг.3 показаны внутренние структуры видеопотока левого вида. Этот поток включает в себя данные изображения I1, P2, Br3, Br4, P5, Br6, Br7 и P9. Эти данные изображения декодируются согласно Decode Time Stamps (DTS). Первая строка демонстрирует изображение левого глаза. Изображение левого глаза воспроизводится путем воспроизведения декодированных данных изображения I1, P2, Br3, Br4, P5, Br6, Br7 и P9 согласно PTS, в порядке I1, Br3, Br4, P2, Br6, Br7 и P5.
В четвертой строке фиг.3 показаны внутренние структуры видеопотока правого вида. Этот поток включает в себя данные изображения P1, P2, B3, B4, P5, B6, B7 и P8. Эти данные изображения декодируются согласно DTS. Третья строка демонстрирует изображение правого глаза. Изображение правого глаза воспроизводится путем воспроизведения декодированных данных изображения P1, P2, B3, B4, P5, B6, B7 и P8 согласно PTS, в порядке P1, B3, B4, P2, B6, B7 и P5.
Пятая строка показывает, как изменяется состояние 3D-очков 400. Как показано в пятой строке, при наблюдении изображения левого глаза, закрыт затвор для правого глаза, и при наблюдении изображения правого глаза, закрыт затвор для левого глаза.
Согласно фиг.3, например, начальное P-изображение видеопотока правого вида ссылается на I-изображение видеопотока левого вида; B-изображение видеопотока правого вида ссылается на Br-изображение видеопотока левого вида; и второе P-изображение видеопотока правого вида ссылается на P-изображение видеопотока левого вида. Здесь, режим, в котором видеокадры видеопотока базового вида (B) и видеокадры видеопотока зависимого вида (D) попеременно выводятся с циклом отображения 1/48 секунд наподобие "B"-"D"-"B"-"D", называется "режим презентации B-D".
Кроме того, режим, в котором видеокадр одного и того же типа повторно выводится два или более раз в то время, как режим 3D поддерживается в качестве режима воспроизведения, называется "режим презентации B-B". В "режиме презентации B-B", видеокадры независимо воспроизводимого видеопотока базового вида повторно выводятся наподобие "B"-"B"-"B"-"B".
Вышеописанные режим презентации B-D и режим презентации B-B являются основными режимами презентация в устройстве воспроизведения. Кроме того, в устройстве воспроизведения имеется режим воспроизведения, именуемый режим «1 плоскость + смещение».
Режим «1 плоскость + смещение» (также именуемый "режим 3D-смещения") - это режим воспроизведения, в котором стереоскопическое наблюдение реализуется путем включения блока сдвига в последнюю половину блока памяти плоскости и функционирования блока сдвига. В каждом из периода левого вида и периода правого вида, блок смещения плоскости сдвигает координаты пикселей в блоке памяти плоскости в единицах линий влево или вправо для перемещения точки формирования изображения линий наблюдения правого глаза и левого глаза вперед или назад, чтобы наблюдатель мог почувствовать изменение восприятия глубины. В частности, когда координаты пикселей сдвигаются влево в течение периода левого вида, и вправо в течение периода правого вида, точка формирования изображения перемещается вперед; и, когда координаты пикселей сдвигаются вправо в течение периода левого вида и влево в течение периода правого вида, точка формирования изображения перемещается назад.
При таком сдвиге плоскости, блоку памяти плоскости для стереоскопического наблюдения нужно иметь только одну плоскость. Таким образом, это наилучший метод простой генерации стереоскопических изображений. Однако сдвиг плоскости всего лишь создает стереоскопические изображения, в которых моноскопические изображения приближаются или отдаляются. Таким образом, он пригоден для генерации стереоскопического эффекта для меню или субтитра, но оставляет желать лучшего при реализации стереоскопического эффекта для персонажей или физических объектов. Причина в том, что он не может воспроизводить ямочки или неровности на лицах персонажей.
Для поддержания режима «1 плоскость + смещение», устройство воспроизведения имеет следующую структуру. Для воспроизведения графики устройство воспроизведения включает в себя блок памяти плоскости, блок CLUT и блок наложения. Блок сдвига плоскости включен между блоком CLUT и блоком наложения. Блок сдвига плоскости осуществляет вышеописанное изменение координат пикселя с использованием смещения в последовательности смещений, включенной в структуру единицы доступа видеопотока зависимого вида. При такой конфигурации, уровень перехода наружу пикселей в режиме «1 плоскость + смещение» изменяется синхронно с видеопотоком MVC. Режим «1 плоскость + смещение» включает в себя режим "1 плоскость+нулевое смещение". Режим "1 плоскость+нулевое смещение" - это режим отображения, который, когда всплывающее меню активировано, дает стереоскопический эффект только для высплывающего меню за счет установления значения смещения равным нулю.
Целью управления сдвигом посредством последовательности смещений является совокупность блоков памяти плоскости, которые образуют заранее определенную многослойную модель. Блок памяти плоскости - это память для хранения одного экрана пиксельных данных, полученного путем декодирования элементарных потоков, в единицах линий, чтобы пиксельные данные можно было выводить в соответствии с сигналами горизонтальной и вертикальной синхронизации. В каждом из совокупности блоков памяти плоскости хранится один экран пиксельных данных, полученный в результате декодирования видеодекодером, декодером PG или декодером IG.
Заранее определенная многослойная модель состоит из слоя плоскости видео базового вида и плоскости видео зависимого вида, слоя плоскости PG и слоя плоскости IG/BD-J и имеет такую структуру, что эти слои (и содержимое блоков памяти плоскости в этих слоях) можно накладывать в порядке плоскости видео базового вида, плоскости PG и плоскости IG/BD-J, начиная снизу.
Наложение слоев достигается путем выполнения процесса наложения на всех комбинациях двух слоев в многослойной модели. В процессе наложения, пиксельные значения пиксельных данных, хранящихся в блоках памяти плоскости двух слоев, накладываются. Далее описаны блоки памяти плоскости в каждом слое.
Плоскость видео базового вида - это блок памяти плоскости для хранения одного экрана пиксельных данных, который получен путем декодирования компонентов вида, образующих видеопоток базового вида. Плоскость видео зависимого вида - это блок памяти плоскости для хранения одного экрана пиксельных данных, который получен путем декодирования компонентов вида, образующих видеопоток зависимого вида.
Плоскость презентационной графики (PG) - это блок памяти плоскости для хранения графики, которая получается, когда графический декодер, который действует методом конвейера, осуществляет процесс декодирования. Плоскость IG/BD-J - это блок памяти плоскости, который функционирует как плоскость IG в некотором режиме работы и функционирует как плоскость BD-J в другом режиме работы. Плоскость интерактивной графики (IG) - это блок памяти плоскости для хранения графики, которая получается, когда графический декодер, который действует на основании интерактивного процесса, осуществляет процесс декодирования. Плоскость BD-J - это блок памяти плоскости для хранения графики изображения рисунка, которая получается, когда приложение объектно-ориентированного языка программирования осуществляет процесс визуализации. Плоскость IG и плоскость BD-J взаимно исключают друг друга, и при использовании одной из них, другую использовать нельзя. Таким образом, плоскость IG и плоскость BD-J совместно используют один блок памяти плоскости.
В вышеупомянутой многослойной модели, в отношении плоскости видео, существуют плоскость базового вида и плоскость зависимого вида. С другой стороны, в отношении плоскости IG/BD-J и плоскости PG, не существует ни плоскости базового вида, ни плоскости зависимого вида. По этой причине, плоскость IG/BD-J и плоскость PG являются целью управления сдвигом.
На фиг.4A и 4B показано осуществление управления смещением на многослойной модели блоков памяти плоскости в режиме «1 плоскость + смещение». Многослойная модель блоков памяти плоскости, показанная на фиг.4, включает в себя плоскости IG, плоскости PG, плоскости видео и плоскости фона.
Согласно фиг.4A, плоскость PG и плоскость IG сдвигаются в ее левую сторону в течение периода базового вида. Прозрачная область добавляется к левой стороне каждой из плоскости PG и плоскости IG, сдвинутой влево, и ее концевая часть в ее правой стороне отсекается. Аналогично, прозрачная область добавляется к правой стороне каждой из плоскости PG и плоскости IG, сдвинутой вправо, и ее концевая часть в ее левой стороне отсекается.
Согласно фиг.4B, плоскость PG и плоскость IG сдвигаются в ее правую сторону в течение периода базового вида. Прозрачная область добавляется к правой стороне каждой из плоскости PG и плоскости IG, сдвинутой вправо, и ее концевая часть в ее левой стороне отсекается. Аналогично, прозрачная область добавляется к левой стороне каждой из плоскости PG и плоскости IG, сдвинутой влево, и ее концевая часть в ее правой стороне отсекается.
На фиг.5A-5C показано воспроизведение стереоскопического изображения путем управления смещением, показанного на фиг.4. Когда в плоскости IG хранится часть GUI для приема инструкции для пропуска предыдущей главы или следующей главы, и в плоскости PG хранятся символы субтитра, представляющие титр "Dinos", в плоскости IG и плоскости PG сохраняются данные, показанные на фиг.5A и 5B, соответственно, путем управления смещением в режиме «1 плоскость + смещение».
На фиг.5A показан контент хранения плоскости IG, сдвинутой влево и плоскости IG, сдвинутой вправо. На фиг.5B показан контент хранения плоскости PG, сдвинутой влево и плоскости PG, сдвинутой вправо. При этом управлении смещением, стереоскопическое изображение воспроизводится, как показано на фиг.5C. Стереоскопическое изображение, показанное на фиг.5C, представляет собой наложенное изображение динозавра, показанное на фиг.2, GUI и субтитра. Таким образом, содержание фильма воспроизводится как стереоскопическое изображение совместно с соответствующим субтитром и GUI, наподобие того, как в настоящее время обеспечивается содержание BD-ROM.
На фиг.6A-6D показана реализация стереоскопического наблюдения в режиме «1 плоскость + смещение».
При выводе видео левого вида в режиме «1 плоскость + смещение», координаты данных изображения, хранящихся в блоке памяти плоскости, именуемом плоскостью PG, сдвигаются в положительном направлении оси X на значение смещения. Затем блок памяти плоскости обрезается во избежание его перекрытия с плоскостью видео левого вида, и обеспечивается для перекрытия с другими плоскостями (см. фиг.6A).
При выводе видео правого вида, координаты данных изображения, хранящихся в блоке памяти плоскости сдвигаются в отрицательном направлении оси X на значение смещения. Затем блок памяти плоскости обрезается во избежание его перекрытия с плоскостью видео левого вида, и обеспечивается для перекрытия с другими плоскостями (см. фиг.6B).
На фиг.6C показано, как изображение плоскости отображается пользователю, после обрезки и наложения с использованием значений смещения. Сдвигая и обрезая изображение плоскости с использованием значений смещения, можно создавать параллаксные изображения для левого и правого глаза. Это позволяет придавать глубину моноскопическому изображению. Когда изображение имеет такую глубину, пользователь будет видеть моноскопическое изображение, выступающим из экрана устройства отображения (см. фиг.6D).
На фиг.7 показана внутренняя структура потока зависимого вида, который обеспечивается информацией управления для режима «1 плоскость + смещение». В первой строке фиг.7 показана совокупность GOP. Во второй строке показана совокупность единиц доступа к видео, образующих каждую GOP. Единицы доступа к видео соответствуют компонентам вида и отображаются в каждом кадре отображения (от "Frame(1)" до "Frame(number_of_displayed_frames_inGOP)" на фиг.7) в GOP.
В третьей строке показана внутренняя структура единицы доступа к видео. Здесь показано, что единица доступа к видео имеет структуру в виде последовательности разделителя единиц доступа, набора параметров последовательности, набора параметров изображения, MVC-масштабируемого сообщения вложенности SEI, первого компонента вида, кода конца последовательности и кода конца потока. MVC-масштабируемое сообщение вложенности SEI включает в себя контейнер пользовательских данных.
На фиг.8A-8C показана внутренняя структура контейнера пользовательских данных.
На фиг.8A показана внутренняя структура контейнера пользовательских данных. Контейнер пользовательских данных представляет собой незарегистрированные пользовательские данные и подразделяется на три типа: информацию скрытых титров; карту структуры GOP; и метаданные смещения. Эти типы указаны посредством "type_indicator" в контейнере пользовательских данных.
На фиг.8B показаны метаданные смещения. Метаданные смещения представляют собой список последовательности для плоскости PG, плоскости IG и плоскости BD-J, и используется для настройки смещения, тогда как презентационная графика, текстовый субтитр, и плоскость IG/BD-J воспроизводятся в режиме «1 плоскость + смещение». В частности, метаданные смещения указывают управление смещением на плоскости PG, плоскости IG и плоскости BD-J, когда графика для перекрытия с данными изображения воспроизводится в режиме «1 плоскость + смещение».
Метаданные подлежат хранению в MVC-масштабируемом сообщении вложенности SEI в начальном компоненте видео каждой GOP в порядке кодирования единицы доступа зависимого вида. Блок NAL, включающий в себя MVC-масштабируемое сообщение вложенности SEI, не должен включать в себя данные, отличные от контейнера пользовательских данных метаданных.
На фиг.8B показана внутренняя структура метаданных смещения ("Offset_metadata").
В поле частоты кадров ("frame_rate") записывается частота кадров единицы доступа, включающей в себя метаданные смещения.
В поле метки времени презентации (PTS), первая частота кадров в GOP записывается на частоте 90 кГц.
В поле номера последовательности смещения ("number_of_offset_sequence") записывается количество последовательностей в диапазоне от "0" до "32".
В поле номера отображаемого кадра ("number_of_displayed_frames_in_GOP") записывается количество отображаемых кадров в GOP, включающей в себя метаданные.
Метаданные смещения дополнительно включает в себя последовательности смещения (от "offset_sequence[1]" до "offset_sequence [number_of_sequence]") в количестве, указанном величиной "number_of_sequence". Последовательности смещения соответствуют соответствующим GOP в видеопотоке.
На фиг.8C показана внутренняя структура последовательности смещений ("Offset_sequence"). Последовательность смещений - это последовательность параметров, которая указывает параметры управления для каждого периода кадра в группе изображений, где параметры управления используются, когда графика перекрывается с каждым фрагментом данных изображения, принадлежащим группе изображений. Последовательность смещений состоит из параметров управления в количестве, указанном величиной "number_of_displayed_frames_in_GOP". Параметр управления состоит из информации направления смещения плоскости и значения смещения плоскости.
Информация направления смещения плоскости ("Plane_offset_direction") указывает направление смещения в плоскости. Когда информация направления смещения плоскости задана равной значению "0", она указывает фронтальную настройку, в которой существует блок памяти плоскости между TV и наблюдателем, и в течение периода левого вида плоскость сдвигается вправо, и в течение периода правого вида плоскость сдвигается влево.
Когда информация направления смещения плоскости задана равной значению "1", она указывает тыловую настройку, в которой существует блок памяти плоскости позади TV или экрана, и в течение периода левого вида, плоскость сдвигается влево, и в течение периода правого вида, плоскость сдвигается вправо. Когда информация направления смещения плоскости указывает фронтальную настройку, координата по оси Z параметра управления в трехмерной системе координат является положительной координатой. Когда информация направления смещения плоскости указывает тыловую настройку, координата по оси Z параметра управления в трехмерной системе координат является отрицательной координатой.
Значение смещения плоскости ("plane_offset_value") указывает величину отклонения в горизонтальном направлении пикселей, образующих графику, и указывает значение смещения плоскости в единицах пикселей.
На фиг.9 показан синтаксис для описания метаданных смещения. Оператор "for" с переменной управления"offset_sequence_id" задает последовательности смещения в количестве, указанном величиной "number_of_offset_sequence".
Оператор "for" с переменной управления "i" задает пары "Plane_offset_direction" и "Plane_offset_value" в количестве, указанном величиной "number_of_displayed_frames_in_GOP". С использованием таких операторов "for" задаются вышеописанные последовательности смещения.
На фиг.10A и 10B показан пример различия между наблюдениями, обеспеченными положительным и отрицательным смещениями плоскости. На фиг.10A и 10B, графическое изображение правого вида, выводимое с использованием плоскости графики, сдвинутой при выводе правого вида, показано спереди, и графическое изображение левого вида, выводимое с использованием плоскости графики, сдвинутой при выводе левого вида, показано позади.
На фиг.10A показан случай положительного значения смещения плоскости (графическое изображение левого вида сдвигается вправо, и графическое изображение правого вида сдвигается влево). При положительном значении смещения плоскости, субтитр, наблюдаемый в ходе вывода левого вида, располагается справа от субтитра, наблюдаемого в ходе вывода правого вида. Иначе говоря, поскольку точка схождения (позиция фокуса) находится перед экраном, субтитр оказывается перед экраном.
На фиг.10B показан случай отрицательного значения смещения плоскости. При отрицательном значении смещения плоскости, субтитр, наблюдаемый в ходе вывода левого вида, находится слева от субтитра, наблюдаемого в ходе вывода правого вида. Иначе говоря, поскольку точка схождения (позиция фокуса) находится позади экрана, субтитр оказывается за экраном.
На этом завершается описание способа, благодаря которому субтитр возникает перед или за экраном, путем переключения между положительным и отрицательным значениями смещения плоскости.
<Технический смысл последовательности смещений>
Последовательность смещений с вышеописанной структурой данных позволяет задавать глубину графики для каждого кадра на временной оси видеопотока. Таким образом, последовательность смещений можно использовать для задания функции Z(t), которая используется для вычисления, из произвольного времени кадра "t", глубины "z", которая соответствует времени кадра "t". Когда функция Z(t) линейно изменяет глубину, соответствующую времени кадра "t", устройство воспроизведения может линейно изменять глубину графики по ходу воспроизведения с использованием последовательности смещений, соответствующей функции Z(t) в режиме «1 плоскость + смещение». Когда функция Z(t) экспоненциально изменяет глубину, соответствующую времени кадра "t", устройство воспроизведения может экспоненциально изменять глубину графики по ходу воспроизведения с использованием последовательности смещений, соответствующей функции Z(t) в режиме «1 плоскость + смещение». Таким образом, можно изменять глубину в реальном времени по мере продвижения точки воспроизведения по временной оси видеопотока, что позволяет обеспечить весьма реалистическое графическое изображение при стереоскопическом воспроизведении.
На фиг.11 показан график, в котором горизонтальная ось представляет временную ось, и вертикальная ось представляет "Plane_offset_value[j]". На горизонтальной временной оси, единицей времени является каждая GOP, образующая единицу доступа зависимого вида. Вертикальная ось в положительном направлении представляет Plane_offset_value[j], когда Plane_offset_direction[j] равно "0". Вертикальная ось в отрицательном направлении представляет Plane_offset_value[j], когда Plane_offset_direction[j] равно "1". Кривые линии и прямые линии на графике указывают перемещение с течением времени Plane_offset_direction[j] для последовательностей смещения с offset_sequence_id = 1, 2, 3 и 4. Из них, последовательности смещения с offset_sequence_id = 1 и 4 являются последовательностями смещения линейной функции, задающей глубину, которая изменяется линейно с течением времени на временной оси; и последовательности смещения с offset_sequence_id = 2 и 3 являются последовательностями смещения параболической функции, задающей глубину, которая изменяется параболически с течением времени на временной оси.
На фиг.12 показан график, в котором горизонтальная ось представляет временную ось, и вертикальная ось представляет "Plane_offset_value[j]". На горизонтальной временной оси, единицей времени является каждый кадр в каждой GOP, образующей единицу доступа зависимого вида. Таким образом последовательности смещения с offset_sequence_id = 1, 2 и 3, показанные на фиг.12, представленные с разрешением по времени в один кадр, имеют дискретные значения в единицах периодов кадра. Каждая последовательность смещений может задавать 24 фрагмента дискретных глубин в секунду. Таким образом можно изменять глубину каждой последовательности смещений с разрешением по времени 24 изменений в секунду. Соответственно, можно изменять координату Z графики в трехмерной системе координат с весьма реалистическим изменением глубины, что благоприятно по сравнению со стереоскопическим воспроизведением видео сюжета.
Кроме того, поскольку в метаданных может храниться совокупность последовательностей смещения, можно задать совокупность функций глубины Z1(t), Z2(t), Z3(t), Z4(t),..., Zn(t) в которых глубина по-разному изменяется с течением времени, с использованием совокупности последовательностей смещения 1, 2, 3, 4,..., n. Здесь, с использованием последовательностей смещения 1, 2, 3, 4,..., n, так что функция глубины Z1(t) является линейной функцией, которая изменяет глубину в соответствии с переменная "t", функция глубины Z2(t) является квадратичной функцией, функция глубины Z3(t) является кубичной функцией, функция глубины Z4(t) является квадратичной функцией,..., и функция глубины Zn(t) является функция n-го порядка, можно задать совокупность функций глубины, которые отличаются друг от друга в корреляции между глубиной и периодом кадра.
Позволяя устройству воспроизведения выбирать одну из последовательностей смещения 1, 2, 3, 4,..., n в ходе работы, можно выбирать оптимальную функцию глубины среди функций глубины Z1(t), Z2(t), Z3(t), Z4(t),..., Zn(t) и использовать ее в режиме «1 плоскость + смещение», в ответ на изменение состояния устройства воспроизведения или в ответ на запрос пользователя. Благодаря такой структуре, глубину графики можно изменять по-разному в режиме «1 плоскость + смещение».
Совокупность последовательностей смещения, заданных в настоящем варианте осуществления, задает совокупность соответствующих позиций отображения, которые отличаются друг от друга изменением глубины с течением времени. Соответственно, выбирая надлежащую последовательность смещений из совокупности последовательностей смещения, можно размещать графику в соответствующих позициях.
До сих пор, был описан первый технический смысл последовательности смещений. Далее будет описан второй технический смысл последовательности смещений.
Второй технический смысл последовательности смещений призван задавать глубины в соответствии с частями движущегося объекта на экране. В случае скелета динозавра, показанного на фиг.2, очевидно, что части тела, например, голова, туловище, ноги и хвост, имеют разные глубины. Кроме того, в видеоизображении, глубины частей тела, например, головы, туловища, ног и хвоста, будут изменяться с течением времени. Ввиду этого, метаданные имеют структуру данных для задания совокупности последовательностей смещения, имеющих параметры управления для каждого кадра GOP, где параметры управления указывают глубины, которые являются расстояниями до позиций непосредственно перед частями тела, например, головой, туловищем, ногами и хвостом.
На фиг.13 показан один пример глубин, заданных последовательностями смещения при offset_sequence_id = 1, 2, 3 и 4.
Последовательности смещения с offset_sequence_id = 1 и 2 указывают соответствующие глубины, позволяющие располагать субтитр/меню между пользователем и динозавром. Последовательности смещения с offset_sequence_id = 3 и 4 указывают соответствующие глубины, позволяющие располагать субтитр/меню позади динозавра. Из них, последовательность смещений с offset_sequence_id = 1 задает глубину, при которой субтитр/меню располагается в позиции ближе к пользователю, между пользователем и динозавром. Последовательность смещений с offset_sequence_id = 2 задает глубину, при которой субтитр/меню располагается в позиции ближе к динозавру, между пользователем и динозавром. Последовательность смещений с offset_sequence_id = 3 задает глубину, при которой субтитр/меню располагается на линии вдоль ног динозавра. Последовательность смещений с offset_sequence_id = 4 задает глубину, при которой субтитр/меню располагается в позиции позади динозавра.
Таким образом, настоящее изобретение может задавать параметры управления, которые указывают глубинами, которые являются расстояниями до позиций непосредственно перед частями объекта например, головой, туловищем, ногами и хвостом, и может задавать перемещение с течением времени параметров управления. Таким образом, с использованием структуры данных, заданной синтаксисом, показанным на фиг.9, можно реализовать точное управление сдвигом в режиме «1 плоскость + смещение».
Даже когда динозавр, показанный на чертежах, перемещается на экране, и соответствующая глубина субтитра/меню постоянно изменяется, субтитр/меню может располагаться в надлежащей позиции относительно динозавра.
На этом завершается второй технический смысл последовательности смещений.
На фиг.14A-14C показана внутренняя структура носителя записи согласно варианту осуществления 1. Согласно фиг.14A, на носителе записи согласно варианту осуществления 1 хранятся файл индексной таблицы, объектный файл программы режима работы, информационный файл списка воспроизведения, информационный файл потока и файл потока.
<Файл индексной таблицы>
Файл индексной таблицы - это информация управления всего носителя записи. Файл индексной таблицы - это первый файл, считываемый устройством воспроизведения после загрузки носителя записи в устройство воспроизведения, что позволяет устройству воспроизведения однозначно идентифицировать диск.
Файл индексной таблицы указывает соответствие между объектами режима работы (которые задают режимы работы) и совокупностью номеров титров, которые могут храниться в регистре номеров титров, предусмотренном в устройстве воспроизведения. Титры, записанные на носителе записи, представляют собой пары из (i) объекта режима работы, идентифицированного номером титра, и (ii) списка воспроизведения, воспроизводимого из этого объекта режима работы. Здесь, один фильм соответствует одному или нескольким титрам, которые могут представлять собой одну или несколько версий фильма. Иначе говоря, когда фильм имеет только одну версию, соотношение между фильмом и титрами представлено как "фильм = титр". Когда фильм имеет совокупность версий, например, театральную версию, режиссерскую версию и телевизионную версию, каждая из этих версий обеспечивается как один титр.
Следует заметить, что номера титров, которые могут храниться в регистре номеров титров, включают в себя "0", "1"-"999", и неопределенное значение "0xFFFF". Номер титра "0" - это номер титра верхнего титра меню. Верхний титр меню - это титр, который можно вызывать посредством операции вызова меню, осуществляемой пользователем. Номер титра с неопределенным значением "0xFFFF" - это номер титра для первого титра воспроизведения. Первый титр воспроизведения - это титр, который отображает предупреждение для наблюдателя, логотип поставщика контента и т.д. сразу после загрузки носителя записи.
Индексная таблица включает в себя записи (записи индексной таблицы) во взаимно-однозначном соответствии с номерами титров. Каждая запись индексной таблицы включает в себя объект режима работы, который задает режим работы. Благодаря такой структуре, индексная таблица подробно указывает, как действует каждый титр в соответствующем режиме работы. Записи индексной таблицы имеют, в общем случае, следующую структуру данных: структуру данных, состоящую из "типа объекта", "ссылки на объект фильма" и "информации объектного файла". "Тип объекта" указывает, является ли тип объекта режима работы, связанного с титром, соответствующим записи, объектом фильма или объектом BD-J. "Информация объектного файла" указывает имя файла объекта BD-J, связанного с титром. "Ссылка на объект фильма" указывает идентификатор объекта фильма, связанного с титром.
В устройстве воспроизведения, значение регистра номеров титров изменяется в порядке: неопределенное значение "0xFFFF" -> любое из "1"-"999" -> "0". Это изменение номера титра, хранящегося в регистре номеров титров, указывает следующее. После загрузки носителя записи, сначала воспроизводится первый титр воспроизведения; после первого титра воспроизведения, воспроизводятся титры, имеющие любой из номеров титров от "1" до "999"; и после этого титра воспроизводится верхний титр меню в ожидание пользовательского выбора. Титр, имеющий номер титра, хранящийся в данный момент в регистре номеров титров среди номеров титров от "1" до "999", является текущей целью воспроизведения, а именно, "текущим титром". Как задаются номера, подлежащие хранению в регистре номеров титров, определяется пользовательской операцией, производимой в ответ на верхний титр меню, и заданием регистра номеров титров программой.
<Объектный файл программы режима работы>
В объектном файле программы режима работы хранятся объекты режима работы, которые являются программами, которые задаются режимами работы устройства воспроизведения. Объекты режима работы подразделяются на: тот, который записывается как команда; и тот, который записывается на объектно-ориентированном языке компилятора. Объект режима работы первого типа выдает совокупность команд навигации как пакетное задание на устройство воспроизведения в командном режиме работы для эксплуатации устройства воспроизведения на основании команд навигации. Командный режим работы называется "режим HDMV".
TM
Объект режима работы последнего типа выдает экземпляры структуры классов на устройство воспроизведения в режиме работы на основании объектно-ориентированного языка компилятора, для эксплуатации устройства воспроизведения на основании экземпляров. Приложения Java можно использовать как экземпляры структуры классов. Режим работы на основании объектно-ориентированного языка компилятора называется "режим BD-J".
<Информационный файл списка воспроизведения>
TM
Информационный файл списка воспроизведения - это файл, где хранится информация, которая используется, чтобы заставить устройство воспроизведения воспроизводить список воспроизведения. "Список воспроизведения" указывает путь воспроизведения, заданный путем логического указания порядка воспроизведения секций воспроизведения, где секции воспроизведения задаются на временной оси транспортных потоков (TS). Список воспроизведения призван задавать последовательность сцен, отображаемых по порядку, путем указания, какие части каких TS из совокупности TS нужно воспроизводить. Информация списка воспроизведения задает "шаблоны" списков воспроизведения. Путь воспроизведения, заданный информацией списка воспроизведения, называется "мультипуть". Мультипуть состоит из "главного пути" и одного или нескольких "вспомогательных путей". Главный путь задается для главного TS. Вспомогательные пути задаются для вспомогательных потоков. Совокупность вспомогательных путей можно задавать при задании одного главного пути. Совокупность вспомогательных путей идентифицируется идентификаторами, именуемыми ID вспомогательного пути. Позиции главы задаются на временной оси воспроизведения мультипути. Произвольный доступ устройства воспроизведения к произвольному моменту времени на временной оси мультипути можно реализовать, заставляя устройство воспроизведения обращаться к одной из позиций главы. В режиме BD-J, можно начинать воспроизведение AV посредством мультипути, предписывая виртуальной машине Java генерировать экземпляр проигрывателя JMF (Java Media Framework) для воспроизведения информации списка воспроизведения. Экземпляр проигрывателя JMF - это данные, которые фактически генерируются в динамически выделяемой памяти виртуальной машины на основании класса проигрывателей JMF. В режиме HDMV, можно начинать воспроизведение AV посредством мультипути, заставляя устройство воспроизведения выполнять команду навигации, предписывающую осуществлять воспроизведение согласно списку воспроизведения. Устройство воспроизведения снабжается регистром номеров списков воспроизведения, где хранится номер информации текущего списка воспроизведения. Информация списка воспроизведения, воспроизводимого в данный момент, является одним из совокупности фрагментов информации списка воспроизведения, номер которого в данный момент хранится в регистре номеров списков воспроизведения.
<Информационный файл потока>
Информационные файлы потока - это информационные файлы клипа, обеспеченные во взаимно-однозначном соответствии с файлами потока. Информационный файл потока указывает: какая последовательность ATC образована последовательностью пакетов источника, существующих в файле потока; какая последовательность STC включена в последовательность ATC; и какой TS является последовательностью ATC.
Информационный файл потока указывает содержимое файла потока. Таким образом, когда TS в файле потока подлежит воспроизведению, необходимо предварительно считывать, в память, информационный файл потока, который соответствует файлу потока. Иначе говоря, воспроизведение файла потока опирается на "принцип предварительного сохранения", согласно которому информационный файл потока предварительно считывается в память. Принцип предварительного сохранения используется по следующей причине. Структура данных TS, хранящегося в файле потока, совместима с европейским стандартом цифрового вещания. Поэтому поток содержит информацию, например, PCR, PMT и PAT, которые позволяют рассматривать поток как широковещательную программу. Однако неразумно извлекать такую информацию каждый раз, когда осуществляется воспроизведение. Причина в том, что каждый раз, когда осуществляется воспроизведение, необходимо осуществлять доступ к низкоскоростному носителю записи для чтения пакетов, образующих TS, и анализировать полезную нагрузку пакетов TS. Таким образом, информационные файлы потока обеспечиваются во взаимно-однозначном соответствии с файлами потока, где хранится TS, и информационные файлы потока считываются в память до воспроизведения потока, что позволяет захватывать информацию TS, не анализируя полезную нагрузку TS.
<Файл потока>
В файле потока хранятся одна или несколько последовательностей пакетов источника. Пакет источника - это пакет TS, к которому присоединен 4-байтовый TP_Extra_Header. TP_Extra_Header состоит из 2-битового индикатора разрешения копирования и 30-битового ATS (Arrival Time Stamp). ATS, включенный в TP_Extra_Header указывает время прибытия при переносе в реальном времени, в котором обеспечена изохронность.
Среди таких последовательностей пакетов источника, последовательность пакетов источника, метки времени которых являются непрерывными на временной оси Arrival Time Clock (ATC), называется "последовательность ATC". Последовательность ATC - это последовательность пакетов источника, где Arrival_Time_Clock, на которые ссылаются Arrival_Time_Stamp, включенные в последовательность ATC, не включают в себя “прерывистости на основе времени прибытия”. Другими словами, последовательность ATC - это последовательность пакетов источника, где Arrival_Time_Clock, на которые ссылаются Arrival_Time_Stamp, включенные в последовательность ATC, являются непрерывными. Вот почему каждый пакет источника, образующий последовательность ATC, подвергается непрерывным процессам депакетизации пакетов источника и непрерывным процессам фильтрации пакетов, тогда как счетчик тактового сигнала отсчитывает тактовые импульсы времени прибытия устройства воспроизведения.
В то время как последовательность ATC является последовательностью пакетов источника, последовательность пакетов TS, метки времени которых являются непрерывными на временной оси STC, называется "последовательность STC”. Последовательность STC - это последовательность пакетов TS, которые не включают в себя “прерывистости на основе системного времени”, которая базируется на STC (System Time Clock), который является стандартным системным временем для TS. Наличие прерывистости на основе системного времени указывается посредством “discontinuity_indicator” в состоянии ON, где discontinuity_indicator содержится в пакете PCR, несущем PCR (Program Clock Reference), к которому обращается декодер для получения STC. Последовательность STC - это последовательность пакетов TS, метки времени которых являются непрерывными на временной оси STC. Таким образом, каждый пакет TS, образующий последовательность STC, подвергается непрерывным процессам декодирования, осуществляемым декодером, обеспеченным в устройстве воспроизведения, тогда как счетчик тактового сигнала отсчитывает тактовые импульсы системного времени устройства воспроизведения.
Каждый из главного TS и вспомогательных TS в файле потока управляются как "фрагмент AV потока", а именно "AV клип", согласно информации клипа в информационном файле потока, соответствующем файлу потока.
Кроме того, последовательность пакетов, хранящаяся в файле потока, содержит информацию управления пакетами (PCR, PMT, PAT), заданную в европейском стандарте цифрового вещания, как информацию для управления и контроля совокупности типов PES-потоков.
В PCR (Program Clock Reference) хранится информация времени STC, соответствующая ATS, который указывает время, когда пакет PCR переносится на декодер, для достижения синхронизации между ATC (Arrival Time Clock), который является временной осью для ATS, и STC (System Time Clock), который является временной осью для PTS и DTS.
В PMT (Program Map Table) хранятся PID в потоках видео, аудио, графики и т.п., содержащихся в файле транспортного потока, и информация атрибутов потоков, соответствующих PID. PMT также имеет различные описатели, относящиеся к TS. Описатели имеют информацию, например, информацию управления копированием, указывающую, разрешено ли копирование AV клипа.
PAT (Program Association Table) указывает PID для PMT, используемой в TS, и регистрируется посредством размещения PID самой PAT.
Эти PCR, PMT и PAT, согласно европейскому стандарту цифрового вещания, призваны задавать частичные транспортные потоки, образующие одну широковещательную программу (одну программу). Это позволяет устройству воспроизведения предписывать декодеру декодировать TS, как если бы он имел дело с частичными TS, образующими одну широковещательную программу, в соответствии с европейским стандартом цифрового вещания. Эта структура призвана поддерживать совместимость между устройствами воспроизведения носителей записи и оконечными устройствами, согласующимися с европейским стандартом цифрового вещания. Среди TS, TS, который является базовой осью мультипути, называется "главный TS"; и TS, который является базовой осью вспомогательного пути, называется "вспомогательный TS".
На фиг.14B показана внутренняя структура главного TS. На фиг.14C показана внутренняя структура вспомогательного TS. Согласно фиг.14B, главный TS включает в себя один видеопоток базового вида, 32 PG-потока базового вида, 32 IG-потока базового вида, и 32 аудиопотока. Согласно фиг.14C, вспомогательный TS включает в себя один видеопоток зависимого вида, 32 PG-потока зависимого вида и 32 IG-потока зависимого вида.
Теперь будет описана внутренняя структура TS.
На фиг.15A и 15B более подробно показано сохранение видеопотока в последовательностях пакетов PES. В первой строке на фиг.15A показана последовательность видеокадров в видеопотоке. Во второй строке показана последовательность пакетов PES. Третья строка демонстрирует последовательность пакетов TS, полученную путем преобразования последовательности пакетов PES. Как показывают стрелки yg1, yg2, yg3 и yg4, видеопоток состоит из совокупности единиц презентации видео (I-изображение, B-изображение, P-изображение). Видеопоток разделяется на отдельные изображения, и каждое изображение сохраняется в полезной нагрузке пакета PES. Каждый пакет PES имеет заголовок PES, где хранится PTS (метка времени презентации), то есть время отображения изображения, хранящегося в полезной нагрузке пакета PES, и DTS (метка времени декодирования), то есть время декодирования изображения, хранящегося в полезной нагрузке пакета PES.
<Последовательность пакетов TS>
На фиг.15B показан формат пакетов TS, образующих TS. Первая строка демонстрирует последовательность пакетов TS. Во второй строке показана последовательность пакетов источника.
Как показано в первой строке на фиг.15B, каждый пакет TS является пакетом фиксированной длины, состоящим из 4-байтового "заголовка TS", несущего информацию, например, PID, идентифицирующий поток, и 184-байтовую "полезную нагрузку TS", где хранятся данные. Пакеты PES разделяются и сохраняются в полезной нагрузке TS.
Как показано во второй строке, к каждому пакету TS присоединяется 4-байтовый TP_Extra_Header, преобразуемый в 192-байтовый пакет источника. Такие 192-байтовые пакеты источника образуют TS. В TP_Extra_Header хранится информация, например, ATS (Arrival_Time_Stamp). ATS указывает начальное время переноса, когда пакет TS подлежит переносу на фильтр PID. Пакеты источника располагаются в TS, как показано в третьей строке. Номера, последовательно увеличивающиеся от головы TS, называются SPN (номера пакетов источника).
<Мультиплексирование транспортных потоков>
На фиг.16 показана схема мультиплексирования главного TS. Сначала видеопоток базового вида и аудиопоток (первая строка) соответственно преобразуются в последовательности пакетов PES (вторая строка) и дополнительно преобразуются в пакеты источника последовательностей, соответственно (третья строка). Аналогично, поток презентационной графики базового вида и поток интерактивной графики базового вида (седьмая строка) преобразуются в последовательности пакетов PES, соответственно (шестая строка), и дополнительно преобразуются в последовательности пакетов источника, соответственно (пятая строка). Полученные таким образом пакеты источника видео, аудио и графики располагаются в порядке, указанном их ATS. Причина в том, что пакеты источника должны считываться в буфер чтения согласно их ATS. Главный TS (четвертая строка) состоит из этих пакетов источника, размещенных таким образом.
- Элементарные потоки, мультиплексируемые в TS
Элементарные потоки (ES), мультиплексируемые в эти TS, включают в себя видеопоток, аудиопоток, поток презентационной графики и поток интерактивной графики.
- Видеопоток
Видеопоток, указанный как поток базового вида, составляет первичный видеопоток в приложении «картинка в картинке». Приложение «картинка в картинке» состоит из первичного видеопотока и вторичного видеопотока. Первичный видеопоток - это видеопоток, состоящий из данных изображения приложения «картинка в картинке», которые представляют родительское изображение на экране; и вторичный видеопоток - это видеопоток, состоящий из данных изображения приложения «картинка в картинке», которые представляют дочернее изображение, которое помещается в родительское изображение.
Данные изображения, составляющие первичный видеопоток, и данные изображения, составляющие вторичный видеопоток, сохраняются в разных блоках памяти плоскости после декодирования. Блок памяти плоскости, где хранятся данные изображения, составляющие вторичный видеопоток, имеет, в своей первой половине, структурный элемент (масштабирование и позиционирование), который осуществляет изменение масштаба данных изображения, составляющих вторичный видеопоток, и позиционирование координат отображения данных изображения, составляющих вторичный видеопоток.
- Аудиопоток
Аудиопоток подразделяется на первичный аудиопоток и вторичный аудиопоток. Первичный аудиопоток - это аудиопоток, который должен быть главным аудио при осуществлении смешанного воспроизведения; и вторичный аудиопоток - это аудиопоток, который должен быть вспомогательным аудио при осуществлении смешанного воспроизведения. Вторичный аудиопоток включает в себя информацию для понижения частоты дискретизации для смешивания и информацию для регулировки усиления.
- Поток презентационной графики (PG)
PG-поток - это графический поток, который можно достаточно точно синхронизировать с видео, с применением конвейера на декодере, и пригоден для представления субтитров. PG-поток подразделяется на два типа: 2D PG-поток; и стереоскопический PG-поток. Стереоскопический PG-поток дополнительно подразделяется на два типа: PG-поток левого вида; и PG-поток правого вида. Один из PG-потока левого вида и PG-потока правого вида, который указан индикатором базового вида, оказывается PG-потоком базового вида, и другой, который не указан индикатором базового вида, оказывается PG-потоком зависимого вида.
Причина, по которой обеспечивается стереоскопический PG-поток, а также 2D PG-поток, такова. Например, когда PG-поток представляет символы субтитра, символы субтитра из переднего вида, подлежащие отображению в режиме 2D, и символы субтитра для левого глаза и правого глаза, подлежащие отображению в режиме 3D-LR, должны отличаться друг от друга. По этой причине, один графический поток изображения из переднего вида отображается в режиме 2D, и два графических потока (PG-поток левого вида и PG-поток правого вида) отображаются в режиме 3D-LR. Аналогично, в режиме 3D-глубины, воспроизводятся изображение из переднего вида и поток шкалы серого, указывающий информацию глубины. Поток 2D + смещение (2D-совместимый) и поток 3D-LR не должны обеспечиваться в смеси.
Можно задавать до 32 2D PG-потоков, до 32 PG-потоков базового вида и до 32 PG-потоков зависимого вида. К этим PG-потокам присоединены разные идентификаторы пакетов. Таким образом, можно обеспечивать воспроизведение нужного PG-потока из этих PG-потоков, сообщая блоку демультиплексирования идентификатор пакета, подлежащего воспроизведению.
PG-поток левого вида и PG-поток правого вида должны иметь один и тот же языковый атрибут, чтобы, даже в случае, когда пользователь переключает метод отображения, отображался субтитр, имеющий одно и то же содержание. Таким образом, предполагается, что 2D субтитры и 3D субтитры соответствуют друг другу на взаимно-однозначной основе, и что 2D субтитр, не имеющий соответствующего 3D субтитра, или 3D субтитр, не имеющий соответствующего 2D субтитра, не должен обеспечиваться. Это не позволяет ввести пользователя в замешательство при переключении метода отображения. Такая структура позволяет выбирать потоки, которые, соответственно, соответствуют отображению в режиме 2D и 3D, когда указан один номер потока. В таком случае, один номер потока должен соответствовать одному и тому же языковому атрибуту, чтобы содержание субтитров для 2D и LR было одинаковым.
Хорошая синхронизация с видео достигается благодаря декодированию на основе конвейере. Таким образом, использование PG-потока не ограничивается воспроизведением символов, например, символов субтитра. Например, можно отображать символ талисмана фильма, который перемещается синхронно с видео. Таким образом, любое воспроизведение графики, для которого требуется хорошая синхронизация с видео, можно выбирать в качестве цели воспроизведения посредством PG-потока.
PG-поток - это поток, который не мультиплексируется в транспортный поток, но представляет субтитр. Поток текстовых субтитров (также именуемый потоком textST) является потоком того же рода. Поток textST - это поток, который представляет содержание субтитра символьными кодами.
PG-поток и поток текстовых субтитров регистрируются как потоки одного типа в одной и той же регистрационной последовательности потоков, безотносительно к их типу. И затем, при выполнении процедуры для выбора потока, PG-поток или поток текстовых субтитров, подлежащий воспроизведению, определяется согласно порядку потоков, зарегистрированных в регистрационной последовательности потоков. Таким образом, PG-потоки и потоки текстовых субтитров подвергаются процедуре выбора потока безотносительно к их типу. Таким образом, они рассматриваются как принадлежащие одному и тому же типу потока, именуемому "поток PG/текстовых субтитров".
Поток PG/текстовых субтитров для 2D воспроизводится в режиме «1 плоскость + смещение». Далее, 2D поток PG/текстовых субтитров именуется потоком PG/текстовых субтитров "1 плоскость + смещение".
- Поток интерактивной графики (IG)
IG-поток - это графический поток, который, имея информацию для интерактивной операции, может отображать меню по ходу воспроизведения видеопотока и отображать всплывающие меню в соответствии с пользовательскими операциями.
Как и в случае PG-потока, IG-поток подразделяется на 2D IG-поток и стереоскопический IG-поток. Стереоскопический IG-поток подразделяется на IG-поток левого вида и IG-поток правого вида. Один из IG-потока левого вида и IG-потока правого вида, который указан индикатором базового вида, оказывается IG-потоком базового вида, и другой, который не указан индикатором базового вида, оказывается IG-потоком зависимого вида. Можно задавать до 32 2D IG-потоков, до 32 IG-потоков базового вида и до 32 IG-потоков зависимого вида. К этим IG-потокам присоединены разные идентификаторы пакетов. Таким образом, можно обеспечивать воспроизведение нужного IG-потока из этих IG-потоков, сообщая блоку демультиплексирования идентификатор пакета, подлежащего воспроизведению.
Информация управления IG-потока (именуемая "сегмент интерактивного управления") включает в себя информацию (user_interface_model), которая задает модель пользовательского интерфейса. Лицо, отвечающее за авторинг, может задавать либо "всегда активно" или "всплывающее меню активно", задавая информацию модели пользовательского интерфейса, причем при настройке "всегда активно", меню отображаются по ходу воспроизведения видеопотока, и при настройке "всплывающее меню активно", всплывающие меню отображаются в соответствии с пользовательскими операциями.
Информация интерактивных операций в IG-потоке означает следующее. Когда виртуальная машина Java предписывает движку управления воспроизведением, который действует с упреждением при управлении воспроизведением, начать воспроизведение списка воспроизведения в соответствии с запросом от приложения, виртуальная машина Java, предписав движку управления воспроизведением начать воспроизведение, возвращает приложению ответ, извещающий, что воспроизведение списка воспроизведения началось. Иначе говоря, пока воспроизведение списка воспроизведения движком управления воспроизведением продолжается, виртуальная машина Java не входит в состояние ожидания конца выполнения. Причина в том, что виртуальная машина Java является так называемым "событийно-активируемым" исполнителем и может осуществлять операцию, пока движок управления воспроизведением воспроизводит список воспроизведения.
С другой стороны, когда, в режиме HDMV, интерпретатор команд предписывает движку управления воспроизведением воспроизводить список воспроизведения, он входит в состояние ожидания, пока не окончится выполнение воспроизведения списка воспроизведения. Соответственно, блок выполнения команд не может выполнять интерактивный процесс, пока воспроизведение списка воспроизведения движком управления воспроизведением продолжается. Графический декодер осуществляет интерактивную операцию вместо интерпретатора команд. Таким образом, чтобы графический декодер осуществлял интерактивную операцию, в IG-поток внедряется информация управления, задающая интерактивные операции, для которых используются кнопки.
- Режимы отображения, допустимые для каждого типа потока
Для разных типов потока допустимы разные режимы 3D отображения. В режиме 3D отображения первичного видеопотока допустимы два режима воспроизведения, а именно режим презентации B-D и режим презентации B-B. Режим презентации B-B допустим для первичного видеопотока, только когда всплывающее меню активно. Тип первичного видеопотока, когда воспроизведение осуществляется в режиме презентации B-D, называется "стереоскопический B-D тип воспроизведения". Тип первичного видеопотока, когда воспроизведение осуществляется в режиме презентации B-B, называется "стереоскопический B-B тип воспроизведения".
В режиме 3D отображения PG-потока, допустимы три режима воспроизведения, а именно режим презентации B-D, режим «1 плоскость + смещение» и режим «1 плоскость+нулевое смещение». Режим «1 плоскость+нулевое смещение» допустим для PG-потока, только когда всплывающее меню активно. Тип PG-потока, когда воспроизведение осуществляется в режиме презентации B-D, называется "стереоскопический тип воспроизведения". Тип PG-потока и потока PG/текстовых субтитров, когда воспроизведение осуществляется в режиме «1 плоскость + смещение», называется типом "1 плоскость + смещение". Тип PG-потока и потока PG/текстовых субтитров, когда воспроизведение осуществляется в режиме «1 плоскость+нулевое смещение» называется типом "1 плоскость+нулевое смещение".
В режиме 3D отображения потока текстовых субтитров, допустимы два режима воспроизведения, а именно режим «1 плоскость + смещение» и режим «1 плоскость+нулевое смещение». Режим «1 плоскость + нулевое смещение» допустим для потока текстовых субтитров, только когда всплывающее меню активно.
В режиме 3D отображения IG-потока, допустимы три режима воспроизведения, а именно режим презентации B-D, режим «1 плоскость + смещение» и режим «1 плоскость+нулевое смещение». Режим «1 плоскость+нулевое смещение» допустим для IG-потока, только когда всплывающее меню активно. В нижеследующем описании предполагается, что, если не указано обратное, режим «картинка в картинке» нельзя использовать при воспроизведении в режиме 3D воспроизведения. Причина в том, что режим «картинка в картинке» и режим 3D воспроизведения требуют двух плоскостей видео для хранения несжатых данных изображения. В нижеследующем описании также предполагается, что, если не указано обратное, смешение звуков нельзя использовать в режиме 3D воспроизведения.
Теперь будут описаны внутренние структуры главного TS и вспомогательного TS. На фиг.17A и 17B показаны внутренние структуры главного TS и вспомогательного TS.
На фиг.17A показана внутренняя структура главного TS. Главный TS состоит из следующих пакетов источника.
Пакет источника, имеющий ID пакета "0x0100", составляет program_map_table (PMT). Пакет источника, имеющий ID пакета "0x0101", составляет PCR.
Последовательность пакетов источника, имеющая ID пакета "0x1011", составляет первичный видеопоток.
Последовательности пакетов источника, имеющие ID пакетов "0x1200"-"0x121F", образуют 32 2D PG-потока.
Последовательности пакетов источника, имеющие ID пакетов "0x1400"-"0x141F", образуют 32 2D IG-потока.
Последовательности пакетов источника, имеющие ID пакетов "0x1100"-"0x111F", образуют первичные аудиопотоки.
Указывая блоку демультиплексирования идентификаторы пакетов одного из этих пакетов источника, можно обеспечить демультиплексирование нужного элементарного потока из совокупности элементарных потоков, мультиплексированных в главные транспортные потоки, и его подачу на декодер.
На фиг.17B показана внутренняя структура вспомогательного TS. Вспомогательный TS состоит из следующих пакетов источника.
Последовательность пакетов источника, имеющая ID пакета "0x1012", составляет видеопоток зависимого вида.
Последовательности пакетов источника, имеющие ID пакетов "0x1220"-"0x123F", образуют 32 PG-потока базового вида.
Последовательности пакетов источника, имеющие ID пакетов "0x1240"-"0x125F", образуют 32 PG-потока зависимого вида.
Последовательности пакетов источника, имеющие ID пакетов "0x1440"-"0x143F", образуют 32 IG-потока базового вида.
Последовательности пакетов источника, имеющие ID пакетов "0x1220"-"0x145F", образуют 32 IG-потока зависимого вида.
На этом завершается описание файла потока. Ниже приведено подробное объяснение информации списка воспроизведения.
Для задания вышеописанного мультипути предусмотрены внутренние структуры, показанные на фиг.18A-18D. На фиг.18A показана внутренняя структура информации списка воспроизведения. Согласно фиг.18A, информация списка воспроизведения включает в себя информацию главного пути, информацию вспомогательного пути, информацию метки списка воспроизведения и данные расширения. Эти составные элементы будут описаны ниже.
1) Информация главного пути состоит из одного или нескольких фрагментов информации главной секции воспроизведения. На фиг.18B показаны внутренние структуры информации главного пути и информации вспомогательного пути. Согласно фиг.18B, информация главного пути состоит из одного или нескольких фрагментов информации главной секции воспроизведения, и информация вспомогательного пути состоит из одного или нескольких фрагментов информации вспомогательной секции воспроизведения.
Информация главной секции воспроизведения, именуемая информацией элемента воспроизведения, - это информация, которая задает одну или несколько логических секций воспроизведения путем задания одной или нескольких пар из момента времени "in_time" и момента времени "out_time" на временной оси TS воспроизведения. Устройство воспроизведения снабжено регистром номеров элементов воспроизведения, где хранится номер элемента воспроизведения для текущего элемента воспроизведения. Элемент воспроизведения, воспроизводимый в данный момент, - это один из совокупности элементов воспроизведения, номер элемента воспроизведения которого в данный момент хранится в регистре номеров элементов воспроизведения.
На фиг.18C показана внутренняя структура информации элемента воспроизведения. Согласно фиг.18C, информация элемента воспроизведения включает в себя информацию ссылок на потоки, информацию времени входа/времени выхода, информацию состояния соединения и базовую таблицу выбора потока.
Информация ссылок на потоки включает в себя: “информацию имени информационного файла клипа (clip_information_file_name)”, которая указывает имя файла информационного файла клипа, которая управляет, в качестве "AV клипов", транспортными потоками, образующими элемент воспроизведения; “идентификатор метода кодирования клипа (clip_codec_identifier)”, который указывает метод кодирования транспортного потока; и "ссылку на идентификатор STC (STC_ID_reference)", которая указывает последовательности STC, где заданы время входа и время выхода, для последовательностей STC транспортного потока.
Элемент воспроизведения в качестве секции воспроизведения имеет иерархическую структуру, состоящую из информации элемента воспроизведения, информации клипа и AV клипа. Можно установить многозначное соотношение между (i) парой AV клипа и информации клипа и (ii) информацией элемента воспроизведения, что позволяет совокупности фрагментов информации элемента воспроизведения ссылаться на один AV клип. Это позволяет применять, в качестве банк-пленки, AV клип, созданный для титра, чтобы совокупность фрагментов информации элемента воспроизведения могла ссылаться на банк-пленку, позволяя эффективно создавать совокупность вариаций фильма. Следует заметить, что "банк-пленка" - это термин, используемый в киноиндустрии, и означает изображение, которое используется в совокупности сцен.
Когда совокупность фрагментов информации элемента воспроизведения может ссылаться на AV клип как на банк-пленку, может потребоваться понимание того, что ту или иную секцию банк-пленки можно воспроизводить в зависимости от фрагмента информации элемента воспроизведения, ссылающегося на банк-пленку. Чтобы удовлетворить запрос, а именно разрешить воспроизведение той или иной секции банк-пленки в зависимости от фрагмента информации элемента воспроизведения, ссылающегося на банк-пленку, информацию элемента воспроизведения снабжают вышеописанными "In_Time" и "Out_Time", что позволяет использовать произвольные моменты времени на временной оси воспроизведения потока в качестве начальной точки и конечной точки секции воспроизведения.
Кроме того, когда совокупность фрагментов информации элемента воспроизведения может ссылаться на AV клип в качестве банк-пленки, может потребоваться понимание того, что те или иные аудио, субтитр или меню можно использовать в зависимости от фрагмента информации элемента воспроизведения, ссылающегося на банк-пленку. Чтобы удовлетворить запрос, а именно разрешить использование тех или иных аудио, субтитра или меню в зависимости от фрагмента информации элемента воспроизведения, ссылающегося на банк-пленку, информацию элемента воспроизведения снабжают вышеописанной таблицей выбора потока. С использованием таблицы выбора потока можно разрешать воспроизведение элементарного потока, который наиболее пригоден для пользователя банк-пленки, среди элементарных потоков, мультиплексируемых в AV клип, на который ссылается информация элемента воспроизведения, которая является главным путем, и среди элементарных потоков, мультиплексируемых в AV клип, на который ссылается информация вспомогательного элемента воспроизведения, которая является суб-главным путем.
На этом завершается описание информации элемента воспроизведения.
2) Информация вспомогательной секции воспроизведения, именуемая информацией вспомогательного пути, состоит из совокупности фрагментов информации вспомогательного элемента воспроизведения. На фиг.18D показана внутренняя структура информации вспомогательного элемента воспроизведения. Согласно фиг.12D, информация вспомогательного элемента воспроизведения - это информация, которая задает секции воспроизведения путем задания пар из "in_time" и "out_time" на временной оси последовательности STC, и включает в себя информацию ссылок на потоки, информацию времени входа/времени выхода, ссылку на синхронный элемент воспроизведения, и информацию начального времени синхронизации.
Информация ссылок на потоки, как в информации элемента воспроизведения, включает в себя: “информацию имени информационного файла клипа”, “идентификатор метода кодирования клипа", и "ссылку на идентификатор STC".
"Информация времени входа/времени выхода (SubPlayItem_In_Time, SubPlayItem_Out_Time)" указывает начальную точку и конечную точку вспомогательного элемента воспроизведения на временной оси последовательности STC.
"Ссылка на синхронный элемент воспроизведения (Sync_Playitem_Id)" - это информация, которая однозначно указывает элемент воспроизведения, с которым нужно синхронизировать вспомогательный элемент воспроизведения. Вспомогательный элемент воспроизведения In_Time существует на временной оси воспроизведения элемента воспроизведения, указанный этим идентификатором синхронного элемента воспроизведения.
"Информация начального времени синхронизации (Sync_Start_PTS_of_Playitem)" указывает момент времени на временной оси последовательности STC элемента воспроизведения, указанного идентификатором синхронного элемента воспроизведения, который соответствует начальной точке вспомогательного элемента воспроизведения, указанного вспомогательным элементом воспроизведения In_Time.
3) Информация метки списка воспроизведения - это информация, которая задает точку метки, уникальную для секции воспроизведения. Информация метки списка воспроизведения включает в себя индикатор, указывающий секцию воспроизведения, метку времени, указывающую позицию точки метки на временной оси цифрового потока, и информацию атрибута, указывающую атрибут точки метки.
Информация атрибутов указывает, является ли точка метки, заданная информацией метки списка воспроизведения, точкой связи или меткой записи.
Точка связи - это точка метки, которая может быть связана командой связи, но не может быть выбрана, когда операция пропуска главы предписана пользователем.
Метка записи - это точка метки, которая может быть связана командой связи и может быть выбрана, даже если операция пропуска главы предписана пользователем.
Команда связи, внедренная в информацию кнопки IG-потока, указывает позицию для воспроизведения произвольного доступа, в форме косвенной ссылки через информацию метки списка воспроизведения.
<Базовая таблица выбора потока (StreamNumber_table)>
Базовая таблица выбора потока демонстрирует список элементарных потоков, подлежащих воспроизведению в режиме моноскопического воспроизведения, и таблица, когда элемент воспроизведения, содержащий саму базовую таблицу выбора потока, становится текущим элементом воспроизведения из совокупности элементов воспроизведения, образующих список воспроизведения, указывает, для каждого из совокупности типов потоков, ES, который разрешен к воспроизведению, из ES, мультиплексируемых в AV клипы, на которые ссылаются главный путь и вспомогательный путь мультипути. Здесь, типы потоков включают в себя: первичный видеопоток в режиме «картинка в картинке»; вторичный видеопоток в режиме «картинка в картинке»; первичный аудиопоток в режиме смешения звука; вторичный аудиопоток в режиме смешения звука; поток PG/текстовых субтитров; и поток интерактивной графики. Для каждого из этих типов потоков можно регистрировать ES, который разрешен к воспроизведению. В частности, базовая таблица выбора потока состоит из последовательностей регистраций потоков. Здесь, регистрация потока - это информация, которая, когда элемент воспроизведения, содержащий саму базовую таблицу выбора потока, становится текущим элементом воспроизведения, указывает, какого рода поток является ES, разрешенный к воспроизведению. Каждая регистрация потока связана с номером потока для потока. Каждая регистрация потока имеет структуру данных, в которой пара из потоковой записи и атрибута потока, связана с логическим номером потока.
Номер потока в регистрации потока представлен целым числом, например, "1", "2" или "3". Наибольший номер потока для типа потока равен количеству потоков для типа потока.
Устройство воспроизведения снабжено регистром номеров потоков для каждого типа потока, и текущий поток, а именно ES, воспроизводимый в данный момент, указан номером потока, хранящимся в регистре номеров потоков.
Идентификатор пакета ES, подлежащего воспроизведению, записывается в потоковой записи. Благодаря использованию этой структуры, в которой идентификатор пакета ES, подлежащего воспроизведению, может записываться в потоковой записи, номера потоков, включенные в регистрацию потоков, сохраняются в регистрах номеров потоков устройства воспроизведения, и устройство воспроизведения предписывает его фильтру PID осуществлять фильтрацию пакетов на основании идентификаторов пакетов, хранящихся в потоковых записях регистраций потоков. Благодаря такой структуре, пакеты TS ES, которые разрешены к воспроизведению согласно базовой таблице выбора потока, выводятся на декодер, в связи с чем воспроизводятся ES.
В базовой таблице выбора потока, регистрации потоков располагаются в порядке номеров потоков. При наличии совокупности потоков, которые удовлетворяют условиям: "может воспроизводиться устройством воспроизведения"; и "языковый атрибут потока совпадает с языковой настройкой в устройстве", выбирается поток, соответствующий наибольшему номеру потока в регистрационных последовательностях потоков.
Благодаря такой структуре, в случае отыскания потока, который не может воспроизводиться устройством воспроизведения, среди регистраций потоков в базовой таблице выбора потока, поток исключается из воспроизведения. Кроме того, при наличии совокупности потоков, которые удовлетворяют условиям: "может воспроизводиться устройством воспроизведения"; и "языковый атрибут потока совпадает с языковой настройкой в устройстве", лицо, отвечающее за авторинг, может сообщать устройству воспроизведения, как выбирать его с приоритетом из совокупности потоков.
Производится определение, существует ли поток, удовлетворяющий условиям: "может воспроизводиться устройством воспроизведения"; и "языковый атрибут потока совпадает с языковой настройкой в устройстве". Кроме того, поток выбирается из совокупности потоков, удовлетворяющих условиям. Процедура решения и выбора называется "процедура выбора потока". Процедура выбора потока выполняется при переключении текущего элемента воспроизведения, или когда пользователь вводит запрос на переключение потока.
Последовательная процедура для осуществления вышеописанного решения и выбора и назначения номера потока в регистре номеров потоков устройства воспроизведения, когда в устройстве воспроизведения происходит изменение состояния, например, при переключении текущего элемента воспроизведения, называется "процедура, выполняемая при изменении состояния". Поскольку регистры номеров потоков обеспечиваются, соответственно, в соответствии с типами потоков, вышеописанная процедура выполняется для каждого типа потока.
Последовательная процедура для осуществления вышеописанного решения и выбора и назначения номера потока в регистре номеров потоков устройства воспроизведения, когда пользователь вводит запрос на переключение потока, называется "процедура по запросу изменения состояния".
Процедура задания, в регистрах номеров потоков, начальных значений регистрационных последовательностей потоков при загрузке BD-ROM, называется "инициализация".
Приоритеты назначаются поровну потокам, указанным в информации вспомогательного элемента воспроизведения, и потокам, указанным в информации элемента воспроизведения, как указано регистрационными последовательностями потоков в базовой таблице выбора потока. В результате, даже поток, не мультиплексируемый с видеопотоком, годится для выбора в качестве потока, подлежащего воспроизведению синхронно с видеопотоком, если поток указан информацией вспомогательного элемента воспроизведения.
Кроме того, когда устройство воспроизведения может воспроизводить поток, указанный информацией вспомогательного элемента воспроизведения, и когда приоритет потока, указанного информацией вспомогательного элемента воспроизведения, выше, чем приоритет графического потока, мультиплексируемого с видеопотоком, поток, указанный информацией вспомогательного элемента воспроизведения, воспроизводится вместо потока, мультиплексируемого с видеопотоком.
На фиг.19A и 19B показан один пример базовой таблицы выбора потока. На фиг.19A показана совокупность регистрационных последовательностей потоков, обеспеченных в базовой таблице выбора потока, когда существуют следующие типы потоков: первичный видеопоток; первичный аудиопоток; PG-поток; IG-поток; вторичный видеопоток; и вторичный аудиопоток. На фиг.19B показаны элементарные потоки, которые демультиплексируются из главного TS и вспомогательных TS с использованием базовой таблицы выбора потока. В левой стороне фиг.19B показаны главный TS и вспомогательные TS, в средней части фиг.19B показаны базовая таблица выбора потока и блок демультиплексирования, и в правой стороне фиг.19B показаны первичный видеопоток, первичный аудиопоток, PG-поток, IG-поток, вторичный видеопоток, и вторичный аудиопоток, которые демультиплексируются на основании базовой таблицы выбора потока.
Теперь будет дано подробное описание данных расширения.
Когда список воспроизведения составляет приложение «картинка в картинке», метаданные «картинка в картинке» необходимо сохранять в блоке данных для данных расширения в файле списка воспроизведения. Когда информация списка воспроизведения относится к видеопотоку MVC, расширенную таблицу выбора потока необходимо сохранять в блоке данных для данных расширения в информационном файле списка воспроизведения.
Когда информация списка воспроизведения относится к видеопотоку MVC на диске или к видеопотоку MVC в меню воспроизведения стереоскопического IG-потока, информацию расширения в информации вспомогательного пути (расширение блока вспомогательного пути) необходимо сохранять в блоке данных для данных расширения в информационном файле списка воспроизведения.
Другие цели данных расширения в информации списка воспроизведения не рассматриваются.
Когда устройство 2D воспроизведения находит неизвестные данные расширения в файле списка воспроизведения, устройство 2D воспроизведения должно игнорировать данные расширения.
<Расширенная таблица выбора потока (StreamNumber_table_SteroScopic(SS))>
Расширенная таблица выбора потока демонстрирует список элементарных потоков, подлежащих воспроизведению в режиме стереоскопического воспроизведения, и используется совместно с базовой таблицей выбора потока только в режиме стереоскопического воспроизведения. Расширенная таблица выбора потока задает элементарные потоки, которые можно выбирать при воспроизведении элемента воспроизведения или при воспроизведении вспомогательного пути, связанного с элементом воспроизведения.
Расширенная таблица выбора потока указывает элементарные потоки, которые разрешены к воспроизведению только в режиме стереоскопического воспроизведения, и включает в себя регистрационные последовательности потоков. Каждый фрагмент регистрационной информации потоков в регистрационных последовательностях потоков включает в себя номер потока и потоковую запись и атрибут потока, соответствующие номеру потока. Расширенная таблица выбора потока означает расширение, уникальное для режима стереоскопического воспроизведения. Таким образом, список воспроизведения, для которого каждый фрагмент информации элемента воспроизведения связан с расширенной таблицей выбора потока (STN_table_SS), называется "список воспроизведения 3D".
Каждая потоковая запись в расширенной таблице выбора потока указывает идентификатор пакета, подлежащий использованию при демультиплексировании на устройстве воспроизведения, когда устройство воспроизведения находится в режиме стереоскопического воспроизведения, и соответствующий номер потока установлен в регистре номеров потоков устройства воспроизведения. Отличие от базовой таблицы выбора потока состоит в том, что процедура выбора потока не ориентирована на регистрационные последовательности потоков в расширенной таблице выбора потока. Иначе говоря, регистрационная информация потоков в регистрационных последовательностях потоков базовой таблицы выбора потока интерпретируется как приоритеты элементарных потоков, и номер потока в любом фрагменте регистрационной информации потоков записывается в регистр номеров потоков. Напротив, процедура выбора потока не ориентируется на регистрационные последовательности потоков расширенной таблицы выбора потока, и регистрационная информация потоков расширенной таблицы выбора потока используется только с целью извлечения потоковой записи и атрибута потока, которые соответствуют определенному номеру потока, когда определенный номер потока сохраняется в регистре номеров потоков.
Предположим, что, когда режим воспроизведения переключается из режима 2D воспроизведения в режим 3D воспроизведения, цель таблица выбора потока также переключается от базовой таблицы выбора потока к расширенной таблице выбора потока. В этом случае идентичность номеров потоков может не поддерживаться, и идентичность языкового атрибута также может быть утрачена.
Соответственно, использование расширенной таблицы выбора потока ограничивается вышеописанным для поддержки идентичности атрибута потока, например, языкового атрибута.
Расширенная таблица выбора потока состоит из регистрационных последовательностей потоков для потоков зависимого вида, регистрационных последовательностей потоков для PG-потоков и регистрационных последовательностей потоков для IG-потоков.
Регистрационные последовательности потоков в расширенной таблице выбора потока объединяются с регистрационными последовательностями потоков тех же типов потоков в базовой таблице выбора потока. В частности, регистрационные последовательности видеопотоков зависимого вида в расширенной таблице выбора потока объединяются с регистрационными последовательностями первичных видеопотоков в базовой таблице выбора потока; регистрационные последовательности PG-потоков в расширенной таблице выбора потока объединяются с регистрационными последовательностями PG-потоков в базовой таблице выбора потока; и регистрационные последовательности IG-потоков в расширенной таблице выбора потока объединяются с регистрационными последовательностями IG-потоков в базовой таблице выбора потока.
После этого объединения, вышеописанная процедура выполняется над регистрационными последовательностями потоков в базовой таблице выбора потока из двух таблиц после объединения.
На фиг.20 показана внутренняя структура расширенной таблицы выбора потока. Расширенная таблица выбора потока состоит из: "длины", которая указывает полную длину расширенной таблицы выбора потока; "фиксированного смещения при всплывании (Fixed_offset_during_Popup)"; и регистрационных последовательностей потоков для каждого типа потока, соответствующего каждому элементу воспроизведения.
При наличии N фрагментов элементов воспроизведения, идентифицированных как элементы воспроизведения #1-#N, регистрационные последовательности потоков, соответственно соответствующие элементам воспроизведения #1-#N, обеспечиваются в расширенной таблице выбора потока. Регистрационные последовательности потоков, соответствующие каждому элементу воспроизведения, являются регистрационной последовательностью потоков зависимого вида, регистрационной последовательностью PG-потоков и регистрационной последовательностью IG-потоков.
"Fixed_offset_during_Popup" - это фиксированное смещение при всплывании, которое определяет тип воспроизведения потока видео или PG/текстовых субтитров, когда всплывающее меню установлено на "on" в IG-потоке. Поле "Fixed_offset_during_Popup" устанавливается на "on", когда поле "user_interface_model" в IG-потоке активировано, а именно, когда пользовательский интерфейс всплывающего меню установлен на "on". Кроме того, поле "Fixed_offset_during_Popup" устанавливается на "off", когда поле "user_interface_model" в IG-потоке деактивировано, а именно, когда пользовательский интерфейс приведен в состояние "AlwaysON".
Когда фиксированное смещение при всплывании задано равным "0", а именно, когда всплывающее меню установлено на "off" в пользовательском интерфейсе IG-потока, видеопоток находится в режиме презентации B-D, стереоскопический PG-поток относится к типу стереоскопического воспроизведения, и при воспроизведении в режиме «1 плоскость + смещение», поток PG/текстовых субтитров находится в режиме «1 плоскость + смещение».
Когда фиксированное смещение при всплывании задано равным "1", а именно, когда всплывающее меню установлено на "on" в IG-потоке, видеопоток находится в режиме презентации B-B, стереоскопический PG-поток находится в режиме «1 плоскость + смещение», и PG-поток для режима "1 плоскость + смещение" воспроизводится как тип воспроизведения «1 плоскость + нулевое смещение».
В режиме «1 плоскость + смещение», поток PG/текстовых субтитров относится к типу «1 плоскость + нулевое смещение».
"Информация номера последовательности смещения" ("number_of_offset_sequence" на чертеже) указывает количество последовательностей смещения в потоке зависимого вида.
Значение "информации номера последовательности смещения в расширенной таблице выбора потока равно количеству последовательностей смещения, включенных в поток зависимого вида.
На фиг.21A-21C показаны регистрационные последовательности потоков в расширенной таблице выбора потока.
На фиг.21A показана внутренняя структура регистрационной последовательности видеопотоков зависимого вида. Регистрационная последовательность видеопотоков зависимого вида состоит из v(x) фрагментов SS_dependent_view_blocks. Здесь, "v(x)" представляет количество первичных видеопотоков, которые разрешены к воспроизведению в базовой таблице выбора потока для информации элемента воспроизведения #x. Линии со стрелками на чертеже указывают крупный план внутренней структуры регистрационной последовательности видеопотоков зависимого вида. Как указывают линии со стрелками, "SS_dependent_view_block" состоит из номера потока, потоковой записи, атрибута потока и "number_of_offset_sequence".
Потоковая запись включает в себя: ссылку на идентификатор вспомогательного пути (ref_to_Subpath_id), указывающую вспомогательный путь, которому принадлежит путь воспроизведения видеопотока зависимого вида; ссылку на файл потока (ref_to_subClip_entry_id), указывающую файл потока, в котором сохраняется видеопоток зависимого вида; и идентификатор пакета (ref_to_stream_PID_subclip) видеопотока зависимого вида в этом файле потока.
"Атрибут потока" включает в себя языковый атрибут видеопотока зависимого вида.
"number_of_offset_sequence" указывает количество смещений, обеспеченных в видеопотоке зависимого вида.
Регистрационные последовательности видеопотоков зависимого вида, показанные на фиг.21A, указывают, что совокупность фрагментов регистрационной информации потоков обеспечена в соответствии с совокупностью видеопотоков зависимого вида. Однако на фиг.21A показана только его структура данных. В действительности, поскольку обычно существует только один видеопоток базового вида, количество фрагментов регистрационной информации потоков для видеопотока зависимого вида равно единице.
На фиг.21B показана внутренняя структура регистрационной последовательности PG-потоков. Регистрационная последовательность PG-потоков состоит из P(x) фрагментов регистрационной информации потоков. Здесь, "P(x)" представляет количество PG-потоков, которые разрешены к воспроизведению в базовой таблице выбора потока для информации элемента воспроизведения #x.
Линии со стрелками на чертеже указывают крупный план общей внутренней структуры регистрационных последовательностей PG-потоков.
"PGtextST_offset_sequence_id_ref" - это информация ссылки на последовательность смещений потока PG/текстовых субтитров, которая указывает последовательность смещений в отношении потока PG/текстовых субтитров в режиме «1 плоскость + смещение».
Метаданные смещения обеспечивается единицей доступа видеопотока зависимого вида. Устройство воспроизведения должно применять смещение, которое обеспечивается этим полем, к плоскости презентационной графики (PG), относящейся к типу режима «1 плоскость + смещение».
Когда поле имеет неопределенное значение (FF), устройство воспроизведения не применяет это смещение к блоку памяти плоскости PG-потока.
"is_SS_PG" - это флаг наличия/отсутствия стереоскопической презентационной графики, который указывает правильность и наличие потоковой записи IG базового вида и потоковой записи и атрибута потока IG зависимого вида в PG-потоке. Когда структура отсутствует в стереоскопическом PG-потоке, это поле должно быть установлено на "0"; и когда структура присутствует в стереоскопическом PG-потоке, это поле должно быть установлено на "1".
"stream_entry_for_base_view" включает в себя: ссылку на идентификатор вспомогательного пути (ref_to_Subpath_id), указывающую вспомогательный путь, которому принадлежит путь воспроизведения PG-потока базового вида; ссылку на файл потока (ref_to_subClip_entry_id), указывающую файл потока, в котором сохраняется PG-поток базового вида; и идентификатор пакета (ref_to_stream_PID_subclip) PG-потока базового вида в этом файле потока.
"stream_entry_for_dependent_view" включает в себя: ссылку на идентификатор вспомогательного пути (ref_to_Subpath_id), указывающую вспомогательный путь, которому путь воспроизведения PG-потока зависимого вида принадлежит; ссылку на файл потока (ref_to_subClip_entry_id), указывающую файл потока, в котором сохраняется PG-поток зависимого вида; и идентификатор пакета (ref_to_stream_PID_subclip) PG-потока зависимого вида в этом файле потока. Когда файл потока, указанный посредством "stream_entry_for_dependent_view" в регистрационной информации потоков в расширенной таблице выбора потока отличается от файла потока, указанного потоковой записью в базовой таблице выбора потока, необходимо считывать файл потока, где хранится PG-поток зависимого вида.
"stream_attribute" включает в себя языковые атрибуты PG-потока базового вида и PG-потока зависимого вида.
"SS_PG_textST_offset_sequence_id_ref" - это ссылочная информация для указания последовательности смещений для потока PG/текстовых субтитров, которая указывает последовательность смещений для потока PG/текстовых субтитров. Устройство воспроизведения должно применять смещение, которое обеспечивается этим полем, к плоскости PG.
Когда поле имеет неопределенное значение (FF), устройство воспроизведения не применяет это смещение к блоку памяти плоскости PG-потока.
На фиг.21C показана внутренняя структура регистрационной последовательности IG-потоков. Регистрационная последовательность IG-потоков состоит из I(x) фрагментов регистрационной информации потоков. Здесь, "I(x)" представляет количество IG-потоков, которые разрешены к воспроизведению в базовой таблице выбора потока для информации элемента воспроизведения #x. Линии со стрелками на чертеже указывают крупный план общей внутренней структуры регистрационных последовательностей IG-потоков.
"IG_offset_sequence_id_ref" - это ссылка на последовательность смещений интерактивной графики и ссылка на ID последовательности IG-потока в режиме «1 плоскость + смещение». Это значение указывает ID последовательности смещений, заданный для последовательности смещений. Как описано выше, метаданные смещения обеспечиваются видеопотоком зависимого вида. Устройство воспроизведения должно применять смещение, которое обеспечивается этим полем, к IG-потоку, относящемуся к типу режима «1 плоскость + смещение».
Когда поле имеет неопределенное значение (FF), устройство воспроизведения не применяет это смещение к плоскости потока интерактивной графики (IG).
"IG_Plane_offset_direction_during_BB_video" - это пользовательский интерфейс всплывающего меню в режиме презентации B-B, и указывает направление смещения в плоскости IG в режиме «1 плоскость + смещение» при воспроизведении IG-потока.
Когда это поле задано равным "0", это фронтальная настройка. Иначе говоря, блок памяти плоскости существует между телевизором и наблюдателем, и плоскость сдвигается вправо в течение периода левого вида, и плоскость сдвигается влево в течение периода правого вида.
Когда это поле задано равным "1", это тыловая настройка. Иначе говоря, блок памяти плоскости существует позади телевизора или экрана, и левая плоскость сдвигается вправо, а правая плоскость сдвигается влево.
"IG_Plane_offset_value_during_BB_video" указывает, в единицах пикселей, значение смещения плоскости IG в режиме «1 плоскость + смещение» при воспроизведении IG-потока пользовательским интерфейсом всплывающего меню в режиме презентации B-B.
"is_SS_PG" - это флаг наличия/отсутствия стереоскопической интерактивной графики, который указывает правильность и наличие потоковой записи IG базового вида и потоковой записи и атрибута потока IG зависимого вида в IG-потоке. Когда структура данных стереоскопического IG-потока отсутствует, это поле должно быть установлено на "0"; и когда IG-поток, который разрешен к воспроизведению, является стереоскопическим IG-потоком, это поле должно быть установлено на "1".
"stream_entry_for_base_view" включает в себя: ссылку на идентификатор вспомогательного пути (ref_to_Subpath_id), указывающую вспомогательный путь, которому принадлежит путь воспроизведения IG-потока базового вида; ссылку на файл потока (ref_to_subClip_entry_id), указывающую файл потока, в котором сохраняется IG-поток базового вида; и идентификатор пакета (ref_to_stream_PID_subclip) IG-потока базового вида в этом файле потока.
"stream_entry_for_dependent_view" включает в себя: ссылку на идентификатор вспомогательного пути (ref_to_Subpath_id), указывающую вспомогательный путь, которому принадлежит путь воспроизведения IG-потока зависимого вида; ссылку на файл потока (ref_to_subClip_entry_id), указывающую файл потока, в котором сохраняется IG-поток зависимого вида; и идентификатор пакета (ref_to_stream_PID_subclip) IG-потока зависимого вида в этом файле потока. Когда файл потока, указанный посредством "stream_entry_for_dependent_view" в регистрационной информации потоков в расширенной таблице выбора потока отличается от файла потока, указанного потоковой записью в базовой таблице выбора потока, необходимо считывать файл потока, где хранится IG-поток зависимого вида.
"stream_attribute" включает в себя языковые атрибуты IG-потока базового вида и IG-потока зависимого вида.
"SS_IG_offset_sequence_id_ref" - это ссылка на ID последовательности смещений для IG-потока стереоскопического типа, и указывает последовательность смещений для метаданных смещения видеопотока зависимого вида. Устройство воспроизведения должно применять смещение, которое обеспечивается этим полем, к плоскости IG стереоскопического типа.
Когда поле имеет неопределенное значение (FF), устройство воспроизведения не применяет это смещение к плоскости IG.
Информация ссылки на последовательность смещений потока PG/текстовых субтитров и информация ссылки на последовательность смещений IG-потока записываются в регистрационной информации потоков в соответствии с номера потоков. Таким образом, когда процедура выбора потока выполняется в силу изменения состояния устройства или наличия запроса на изменение потока, и номер потока, соответствующий языковой настройки на стороне устройства задан в регистре номеров потоков, последовательность смещений, указанная ссылкой, соответствующей новому номеру потока, поступает из видеодекодера на блок сдвига. Благодаря такой структуре, оптимальная последовательность смещений, соответствующая языковой настройке в устройстве воспроизведения, поступает на блок сдвига, таким образом можно задавать глубину графики в режиме «1 плоскость + смещение» на оптимальное значение, соответствующее языковой настройке в устройстве воспроизведения.
Далее описаны ограничения для расширенной таблицы выбора потока.
Потоковая запись в стереоскопическом блоке зависимого вида не должна изменяться в списке воспроизведения.
Когда тип потоковой записи в стереоскопическом блоке зависимого вида является типом ES (тип потока = 2), который используется вспомогательным путем, ссылка на ID вспомогательного пути и ссылка на ID записи вспомогательного клипа (ref_to_subclip_entry_id) не изменяются в списке воспроизведения.
Только двум типам элементарных потоков разрешено быть типами потоковой записи, потоковая запись для базового вида и потоковая запись для зависимого вида. Эти два типа таковы: ES (тип потока = 1) в AV клипе, используемый элементом воспроизведения; и ES (тип потока = 2) в AV клипе, используемый вспомогательным путем.
В стереоскопическом блоке зависимого вида, метод кодирования потока в атрибуте потока задан равным "0x20".
На фиг.22 показано демультиплексирование элементарных потоков из главного TS и вспомогательных TS с использованием базовой таблицы выбора потока и расширенной таблицы выбора потока.
В средней части фиг.22 показан блок демультиплексирования. В верхней части фиг.22 показана комбинация базовой таблицы выбора потока и расширенной таблицы выбора потока. В левой стороне фиг.22 показаны главный TS и вспомогательные TS, и в правой стороне фиг.22 показаны демультиплексированные видеопоток базового вида, видеопоток зависимого вида, PG-поток базового вида, PG-поток зависимого вида, IG-поток базового вида, IG-поток зависимого вида и первичный аудиопоток.
На фиг.23 показано обеспечение регистрационных последовательностей потоков в базовой таблице выбора потока и обращение к расширенной таблице выбора потока при осуществлении демультиплексирования, показанного на фиг.22. В средней части фиг.17 показана базовая таблица выбора потока и расширенная таблица выбора потока.
Часть, следующая после левой стороны базовой таблицы выбора потока, демонстрирует регистры номеров потоков, где хранится номера потоков текущих потоков в устройстве воспроизведения. Часть, следующая после правой стороны базовой таблицы выбора потока, демонстрирует языковые настройки в устройстве воспроизведения. Часть под базовой таблицей выбора потока демонстрирует блок демультиплексирования. Стрелка h1 схематически указывает, что языковая настройка для PG-потока совпадает с языковым атрибутом в регистрационной информации потоков #X PG-потока в базовой таблице выбора потока. Стрелка h2 схематически указывает задание номера потока "X" в регистре номеров потоков PG-потока.
Стрелка h3 схематически указывает, что языковая настройка для IG-потока совпадает с языковым атрибутом в регистрационной информации потоков #Y IG-потока в базовой таблице выбора потока. Стрелка h4 схематически указывает задание номера потока "Y" в регистре номеров потоков IG-потока.
Задание номера потока, показанное на фиг.23, символически указывает, что PG-потоки и IG-потоки, подвергаемые демультиплексированию, определяются в зависимости от результатов процедуры выбора потока, осуществляемой над базовой таблицей выбора потока.
Стрелка PD1 схематически указывает вывод идентификатора пакета, записанного в потоковой записи в "SS_dependent_view_block" в расширенной таблице выбора потока. Этот вывод позволяет блоку демультиплексирования осуществлять демультиплексирование, и поток зависимого вида выводится.
Стрелка PD2 схематически указывает вывод идентификатора пакета соответствующего номеру потока "X", среди потоковых записей регистрационной информации потоков PG-потока в расширенной таблице выбора потока. Стрелка X1 указывает, что вывод идентификатора пакета, указанный стрелкой PD1, связан с заданием текущего номера потока X в регистре номеров потоков.
Стрелка PD3 схематически указывает вывод идентификатора пакета соответствующего номеру потока "Y", среди потоковых записей регистрационной информации потоков IG-потока в расширенной таблице выбора потока. Стрелка Y1 указывает, что вывод идентификатора пакета, указанный стрелкой PD3 связан с заданием текущего номера потока Y в регистре номеров потоков.
Следует заметить, что "связан" в вышеприведенном описании означает, что вывод идентификатора пакета, записанного в расширенной таблице выбора потока, связан с тем фактом, что номер потока X или Y, среди номеров потоков, записанных в регистрационных последовательностях потоков PG- или IG-потока в базовой таблице выбора потока, указан в регистре номеров потоков как номер PG- или IG-потока текущего потока.
Этот вывод позволяет блоку демультиплексирования осуществлять демультиплексирование, и PG- или IG-поток выводится.
На фиг.24 показано назначение номеров потоков, которые изменяются в зависимости от режима.
В вертикальном столбце в левой стороне фиг.24 указаны номера потоков: видеопоток #1, аудиопоток #1, аудиопоток #2, PG-поток #1, PG-поток #2, IG-поток #1 и IG-поток #2.
Элементарные потоки, размещенные в левой стороне фиг.24, очерченные пунктирной линией, представляют собой элементарные потоки, которые предназначены для демультиплексирования только в режиме 2D воспроизведения.
Элементарные потоки, размещенные в правой стороне фиг.24, очерченные пунктирной линией, представляют собой элементарные потоки, которые предназначены для демультиплексирования только в режиме 3D воспроизведения.
Элементарные потоки, очерченные объединенными пунктирными линиями левой стороны и правой стороны, представляют собой элементарные потоки, которые предназначены для демультиплексирования в обоих режимах 2D и 3D воспроизведения.
На фиг.24, видеопоток #1 очерчен объединенными пунктирными линиями левой стороны и правой стороны. Это указывает, что видеопоток #1 предназначен для демультиплексирования в обоих режимах 2D и 3D воспроизведения. Следует заметить, что его видеопоток левого вида для режима 3D также используется как 2D видеопоток, и видеопоток правого вида воспроизводится только в режиме 3D, о чем свидетельствует тот факт, что он очерчен только пунктирной линией в правой стороне фиг.24.
Оба аудиопотока #1 и #2 очерчены объединенными пунктирными линиями левой стороны и правой стороны. Это указывает, что аудиопотоки #1 и #2 предназначены для воспроизведения в обоих режимах 2D и 3D воспроизведения.
В отношении PG-потоков #1 и #2, 2D PG-поток очерчен только пунктирной линией левой стороны, и PG-поток базового вида и PG-поток зависимого вида очерчены только пунктирной линией правой стороны. Это указывает, что 2D PG-поток предназначен для воспроизведения только в режиме 2D воспроизведения, и PG-поток базового вида и PG-поток зависимого вида предназначены для воспроизведения только в режиме 3D воспроизведения. Это также применимо к IG-потокам.
Как следует из вышеприведенного описания, что касается типа потока "видеопоток", видеопоток зависимого вида добавляется как цель воспроизведения в режиме 3D воспроизведения.
Также следует понимать, что, когда режим изменяется из режима 2D воспроизведения в режим 3D воспроизведения, цель воспроизведения изменяется от 2D PG-потока к PG-потоку базового вида и PG-потоку зависимого вида.
Расширенную таблицу выбора потока можно создать, составив описание на объектно-ориентированном языке компилятора, представленное на фиг.25, и передав описание компилятору. На фиг.25 показан синтаксис для записи расширенной таблицы выбора потока на объектно-ориентированном языке компилятора.
Оператор "for" с переменной управления "Playitem_id" образует цикл, в котором описание регистрационной последовательности потоков зависимого вида, регистрационной последовательности PG-потоков/текстовых субтитров и регистрационной последовательности IG-потоков повторяется столько раз, сколько существует элементов воспроизведения.
Оператор "for" с переменной управления "primary_video_stream_id" задает регистрационную последовательность потоков зависимого вида, и регистрационная последовательность потоков зависимого вида задается путем записи "SS_dependent_view_block", которая состоит из "stream_entry" "stream_attribute" и "number_of_offset_sequence", в количестве, указанном "Number_of_primary_video_stream_entries".
Оператор "for" с переменной управления "PG_textST_stream_id" задает регистрационную последовательность PG-потоков/текстовых субтитров и образует цикл, в котором описание "PG_text_offset_sequence_id_ref" и "is_SS_PG" повторяется в количестве, указанном "number_of_PG_textST_stream_number_entries". Оператор "if", включенный в этот цикл, с переменной управления "is_SS_PG", задает "stream_entry_for_base_biew()", "stream_entry_for_dependent_view()" и "stream_attribute()", когда "is_SS_PG" равен "1b". Благодаря этому оператору "if", "stream_entry_for_base_biew()", "stream_entry_for_dependent _view()" и "stream_attribute()" добавляются в регистрационные последовательности потоков, только когда "is_SS_PG" равен "1b". "stream_entry_for_base_biew()", "stream_entry_for_dependent _view()" и "stream_attribute()" не добавляются в регистрационные последовательности потоков, когда "is_SS_PG" равен "0b".
Оператор "for" с переменной управления "IG_stream_id" задает регистрационную последовательность IG-потоков и образует цикл, в котором описание "IG_offset_sequence_id_ref", "IG_plane_offset_direction_during_BB_video", "IG_plane_offset_value_during_BB_video" и "is_SS_IG" повторяется в количестве, указанном "number_of_IG_stream_entries". Оператор "if", включенный в этот цикл, с переменной управления "is_SS_IG", задает "stream_entry_for_base_biew()", "stream_entry_for_dependent_view()" и "stream_attribute()", когда "is_SS_IG" равен "1b". Благодаря этому оператору "if", "stream_entry_for_base_biew()", "stream_entry_for_dependent _view()" и "stream_attribute()" добавляются в регистрационные последовательности потоков, только когда "is_SS_IG" равен "1b". "stream_entry_for_base_biew()", "stream_entry_for_dependent _view()" и "stream_attribute()" не добавляются в регистрационные последовательности потоков, когда "is_SS_IG" равен "0b".
На этом завершается описание носителя записи. Далее будет подробно описано устройство воспроизведения.
На фиг.26 показана внутренняя структура устройства воспроизведения. Согласно фиг.26, устройство воспроизведения включает в себя блок чтения 201, память 202, регистр 203 номеров проигрывателей, декодер 204, блок демультиплексирования 205, набор 206 блоков памяти плоскости, блок сдвига 207, блок 208 наложения слоев, блок передачи/приема 209, блок 210 управления воспроизведением, регистр 211 режимов вывода и память 212 конфигурации. Внутренняя структура, показанная на фиг.26, состоит из минимума структурных элементов, которые необходимы для реализации устройства воспроизведения, снабженного средством решения проблемы. Более детальная внутренняя структура будет описана в дальнейшем варианте осуществления.
Блок чтения 201 считывает с носителя записи индексную таблицу, файл программы объекта режима работы, информационный файл списка воспроизведения, информационный файл потока и файл потока.
В памяти 202 хранится объединенная регистрационная последовательность потоков, которая получена путем объединения базовой таблицы выбора потока и расширенной таблицы выбора потока.
Регистр 203 номеров проигрывателей включает в себя регистр номеров видеопотоков для хранения номера потока видеопотока, PG регистр номеров потоков для хранения номера потока PG-потока, IG регистр номеров потоков для хранения номера потока IG-потока и аудио регистр номеров потоков для хранения номера потока аудиопотока.
Декодер 204 для каждого типа потока состоит из видеодекодера, декодера PG, декодера IG и аудиодекодера.
Блок демультиплексирования 205 снабжен фильтром PID для осуществления фильтрации пакетов и демультиплексирует, среди пакетов TS в совокупности пакетов источника, считанных из носителя записи, пакет TS, который идентифицируется идентификатором пакета, указанным в объединенной регистрационной последовательности потоков.
Набор 206 блоков памяти плоскости состоит из совокупности блоков памяти плоскости.
Эти блоки памяти плоскости образуют многослойную модель, и данные, хранящиеся в каждом блоке памяти плоскости, обеспечиваются для перекрытия слоев.
Блок сдвига 207 сдвигает координаты пикселя.
Блок 208 наложения слоев перекрывает слои в совокупности блоков памяти плоскости.
Блок передачи/приема 209 переходит в фазу переноса данных через фазу взаимной аутентификации и фазу согласования, когда устройство воспроизведения соединено с другим устройством в системе домашнего кинотеатра через интерфейс. Блок передачи/приема 209 осуществляет перенос данных в фазе переноса.
На фазе согласования, возможности партнерского устройства (включающие в себя возможность декодирования, возможность воспроизведения и частоту отображения) захватываются, и возможности задаются в регистре настроек проигрывателя, что позволяет определять метод переноса для последовательных переносов данных. После фазы взаимной аутентификации и фазы согласования, одна строка пиксельных данных в формате без сжатия/простого текста в данных изображения после наложения слоев переносится на устройство отображения с высокой скоростью переноса в соответствии с периодом горизонтальной синхронизации устройства отображения. С другой стороны, в течение интервалов гашения по горизонтали и вертикали, аудиоданные в формате без сжатия/простого текста переносятся на другие устройства (включая усилитель и громкоговоритель, а также устройство отображения), соединенные с устройством воспроизведения. Благодаря такой структуре, устройства, например, устройство отображения, усилитель и громкоговоритель, могут принимать данные изображения и аудиоданные в формате без сжатия/простого текста, и обеспечивается воспроизведение выходного сигнала. Кроме того, когда партнерское устройство имеет возможность декодирования, возможен сквозной перенос видео- и аудиопотоков. При сквозном переносе можно переносить видеопоток и аудиопоток в формате сжатия/шифрования, как они есть.
Блок управления воспроизведением 210 управляет блоком чтения 201 для считывания индексной таблицы, объекта режима работы, информации списка воспроизведения, информации клипа и файла потока с носителя записи, и осуществляет управление воспроизведением на основании информации списка воспроизведения и информации клипа, считанных с носителя записи. При чтении файла потока можно осуществлять произвольный доступ для чтения пакета источника, соответствующего произвольному моменту времени на временной оси, из файла потока.
В регистре 211 режимов вывода хранится режим воспроизведения.
Память 212 конфигурации - это энергонезависимая память, где хранятся режим возможности блоков памяти плоскости и текущий режим. Информация, подлежащая хранению в памяти 212 конфигурации, задается изготовителем устройства воспроизведения. Возможность режима указывает, может ли каждый из совокупности блоков памяти плоскости, например плоскость видео, плоскость PG и плоскость IG, осуществлять соответствующий режим воспроизведения, как описано выше. Может ли блок памяти плоскости осуществлять режим воспроизведения, определяется на основании типа потока, соответствующего блоку памяти плоскости, и на основании того, обеспечена ли в устройстве воспроизведения аппаратная структура для осуществления режима воспроизведения.
Текущий режим указывает, на какой из совокупности режимов воспроизведения установлена совокупность блоков памяти плоскости, соответственно.
На этом завершается объяснение устройства воспроизведения. Ниже будет подробно описан процесс демультиплексирования, осуществляемый устройством воспроизведения согласно настоящему варианту осуществления.
На фиг.27A и 27B показан вывод идентификаторов пакетов на блок демультиплексирования посредством объединенной регистрационной последовательности потоков.
На фиг.27A показана объединенная регистрационная последовательность потоков, используемая в операции, в порядке примера. Объединенная регистрационная последовательность потоков состоит из трех фрагментов регистрационной информации потоков, обеспеченных в базовой таблице выбора потока, и трех фрагментов регистрационной информации потоков, обеспеченных в расширенной таблице выбора потока. Три фрагмента регистрационной информации потоков, обеспеченные в базовой таблице выбора потока имеют номера потоков "1", "2" и "3", соответственно, и атрибуты потока в трех фрагментах регистрационной информации потоков имеют «английский», «японский» и «китайский» в качестве языковых атрибутов, соответственно.
Три фрагмента регистрационной информации потоков, обеспеченные в расширенной таблице выбора потока имеют номера потоков "1", "2" и "3", соответственно, и атрибуты потока в трех фрагментах регистрационной информации потоков имеют «английский», «японский» и «китайский» в качестве языковых атрибутов, соответственно. Регистрационная информация потоков, обеспеченная в базовой таблице выбора потока отличается идентификатором пакета, сохраненным в потоковой записи, от регистрационной информации потоков, обеспеченной в расширенной таблице выбора потока. Кроме того, регистрационная информация потоков, обеспеченная в расширенной таблице выбора потока, содержит (i) идентификатор пакета для PG-потока базового вида для режима презентации B-D, и (ii) идентификатор пакета для PG-потока зависимого вида.
На фиг.27B показаны задание номера потока и вывод идентификатора пакета, когда такая объединенная регистрационная последовательность потоков поступает на устройство воспроизведения, в котором язык установлен на «китайский», и режим вывода установлен на режим 2D воспроизведения.
Стрелки, обозначенные "a1", "a2" и "a3", схематически указывают (i) решение, совпадают ли друг с другом языковые настройки, (ii) задание номера потока в регистре номеров потоков, и (iii) вывод идентификатора пакета на блок демультиплексирования, соответственно.
В операционной процедуре, приведенной в этом примере, производится определение, совпадает ли языковая настройка устройства воспроизведения с атрибутом потока, содержащимся в регистрационной информации потоков, номер потока которого равен "3", и принимается решение, что они совпадают. В итоге, номер потока "3" этой регистрационной информации потоков записывается в регистр номеров потоков. Кроме того, идентификатор пакета, записанный в потоковой записи базовой таблицы выбора потока, выводится на блок демультиплексирования. Таким образом, пакет TS, идентифицированный идентификатором пакета, записанным в потоковой записи регистрационной информации потоков, номер потока которого равен "3" в базовой таблице выбора потока, выводится на декодер.
На фиг.27C показаны задание номера потока и вывод идентификатора пакета, когда такая объединенная регистрационная последовательность потоков поступает на устройство воспроизведения, в котором язык установлен на «китайский», и режим вывода установлен на режим презентации B-D.
Стрелки, обозначенные "a4", "a5" и "a6", схематически указывают (i) решение, совпадают ли друг с другом языковые настройки, (ii) задание номера потока в регистре номеров потоков, и (iii) вывод идентификатора пакета на блок демультиплексирования, соответственно.
В операционной процедуре, приведенной в этом примере, производится определение, совпадает ли языковая настройка устройства воспроизведения с атрибутом потока, содержащимся в регистрационной информации потоков, номер потока которого равен "3", и принимается решение, что они совпадают. В итоге, номер потока "3" этой регистрационной информации потоков записывается в регистр номеров потоков. Кроме того, идентификатор пакета, записанный в потоковой записи базовой таблицы выбора потока, выводится на блок демультиплексирования. Таким образом, пара пакетов TS, идентифицированных парой идентификаторов пакетов, записанных в потоковой записи регистрационной информации потоков, номер потока которого равен "3" в расширенной таблице выбора потока, выводится на декодер.
На фиг.28A-28C показан вывод идентификаторов пакетов на блок демультиплексирования посредством объединенной регистрационной последовательности потоков.
На фиг.28A показана объединенная регистрационная последовательность потоков, используемая в операции, в порядке примера. Объединенная регистрационная последовательность потоков состоит из трех фрагментов регистрационной информации потоков, обеспеченных в базовой таблице выбора потока, и трех фрагментов регистрационной информации потоков, обеспеченных в расширенной таблице выбора потока. Три фрагмента регистрационной информации потоков, обеспеченные в базовой таблице выбора потока имеют номера потоков "1", "2" и "3", соответственно, и все атрибуты потока в трех фрагментах регистрационной информации потоков имеют «китайский» в качестве языковых атрибутов.
Три фрагмента регистрационной информации потоков, обеспеченные в расширенной таблице выбора потока имеют номера потоков "1", "2" и "3", соответственно, и все атрибуты потока в трех фрагментах регистрационной информации потоков имеют «китайский» в качестве языковых атрибутов. Регистрационная информация потоков, обеспеченная в базовой таблице выбора потока отличается идентификатором пакета, сохраненным в потоковой записи, от регистрационной информации потоков, обеспеченной в расширенной таблице выбора потока. Кроме того, регистрационная информация потоков, обеспеченная в расширенной таблице выбора потока, содержит (i) идентификатор пакета для PG-потока базового вида для режима презентации B-D, и (ii) идентификатор пакета для PG-потока зависимого вида.
На фиг.28B показаны задание номера потока и вывод идентификатора пакета, когда такая объединенная регистрационная последовательность потоков поступает на устройство воспроизведения, в котором язык установлен на «китайский», и режим вывода установлен на режим 2D воспроизведения.
Стрелки, обозначенные "a1", "a2" и "a3", схематически указывают (i) решение, совпадают ли друг с другом языковые настройки, (ii) задание номера потока, и (iii) вывод идентификатора пакета на блок демультиплексирования, соответственно.
В операционной процедуре, приведенной в этом примере, производится определение, совпадает ли языковая настройка устройства воспроизведения с атрибутом потока, содержащимся в регистрационной информации потоков, номер потока которого равен "1", и принимается решение, что они совпадают. В итоге, номер потока "1" этой регистрационной информации потоков записывается в регистр номеров потоков. Кроме того, идентификатор пакета, записанный в потоковой записи базовой таблицы выбора потока, выводится на блок демультиплексирования. Таким образом, пакет TS, идентифицированный идентификатором пакета, записанным в потоковой записи регистрационной информации потоков, номер потока которого равен "1" в базовой таблице выбора потока, выводится на декодер.
На фиг.28C показаны задание номера потока и вывод идентификатора пакета, когда такая объединенная регистрационная последовательность потоков поступает на устройство воспроизведения, в котором язык установлен на «китайский», и режим вывода установлен на режим презентации B-D.
Стрелки, обозначенные "a4", "a5" и "a6", схематически указывают (i) решение, совпадают ли друг с другом языковые настройки, (ii) задание номера потока в регистре номеров потоков, и (iii) вывод идентификатора пакета на блок демультиплексирования, соответственно.
В операционной процедуре, приведенной в этом примере, производится определение, совпадает ли языковая настройка устройства воспроизведения с атрибутом потока, содержащимся в регистрационной информации потоков, номер потока которого равен "1", и принимается решение, что они совпадают. В итоге, номер потока "1" этой регистрационной информации потоков записывается в регистр номеров потоков. Кроме того, идентификатор пакета, записанный в потоковой записи базовой таблицы выбора потока, выводится на блок демультиплексирования. Таким образом, пара пакетов TS, идентифицированных парой идентификаторов пакетов, записанных в потоковой записи регистрационной информации потоков, номер потока которого равен "1" в расширенной таблице выбора потока, выводится на декодер.
На фиг.29 показано обращение к идентификаторам пакетов и вывод пакетов, когда устройство воспроизведения переведено в режим презентации B-D, и устройство воспроизведения имеет возможность B-D.
Стрелки, соединяющие объединенную регистрационную последовательность потоков и блок демультиплексирования, указывают потоковые записи, в которых записаны идентификаторы пакетов, на которые в данный момент производится ссылка, из совокупности регистрационных последовательностей потоков в объединенной регистрационной последовательности потоков. На фиг.29 указано, что блок демультиплексирования ссылается на (i) идентификатор пакета, записанный в потоковой записи в регистрационной последовательности видеопотоков базового вида в базовой таблице выбора потока, (ii) идентификатор пакета, записанный в потоковой записи в регистрационной последовательности потоков зависимого вида в расширенной таблице выбора потока, (iii) идентификатор пакета, записанный в потоковой записи в регистрационной последовательности PG-потоков/текстовых субтитров в расширенной таблице выбора потока, и (iv) идентификатор пакета, записанный в потоковой записи в регистрационной последовательности IG-потоков в расширенной таблице выбора потока.
Стрелки, соединяющие блок демультиплексирования и совокупность декодеров, указывают пакеты TS, которые выводятся на соответствующие декодеры, из совокупности пакетов источника, существующих в файле перемеженного потока. Согласно фиг.23, из блока демультиплексирования на декодеры выводятся следующие пакеты TS: пакет TS, образующий видеопоток базового вида; пакет TS, образующий видеопоток зависимого вида; пакет TS, образующий PG-поток базового вида; пакет TS, образующий PG-поток зависимого вида; пакет TS, образующий IG-поток базового вида; и пакет TS, образующий IG-поток зависимого вида.
На фиг.30 показано обращение к идентификаторам пакетов и вывод пакетов, когда устройство воспроизведения переведено врежим «1 плоскость + смещение».
Стрелки, соединяющие объединенную регистрационную последовательность потоков и блоки сдвига, указывают обращение в режиме «1 плоскость + смещение» к (i) смещению регистрационной последовательности потоков, соответствующему PG-потоку в расширенной таблице выбора потока, и (ii) смещению регистрационной последовательности потоков, соответствующему IG-потоку в расширенной таблице выбора потока.
Стрелки, соединяющие блок демультиплексирования и совокупность декодеров, указывают пакеты TS, которые выводятся на соответствующие декодеры, из совокупности пакетов источника, существующих в файле потока. Согласно фиг.30, из блока демультиплексирования на декодеры выводятся следующие пакеты TS: пакет TS, образующий видеопоток базового вида; пакет TS, образующий PG-поток; пакет TS, образующий IG-поток; и пакет TS, образующий аудиопоток.
Стрелки, соединяющие видеодекодер и блоки сдвига, указывают, что смещение в видеопотоке зависимого вида поступает на блок сдвига для PG-потока и на блок сдвига для IG-потока, на основании вышеописанного обращения к смещению.
На фиг.31 показано обращение к идентификаторам пакетов и вывод пакетов, когда устройство воспроизведения переведено врежим презентации 2D.
Стрелки, соединяющие объединенную регистрационную последовательность потоков и блок демультиплексирования, указывают потоковые записи, в которых записаны идентификаторы пакетов, на которые в данный момент производится ссылка, из совокупности регистрационных последовательностей потоков в объединенной регистрационной последовательности потоков. На фиг.31 указано, что блок демультиплексирования ссылается на (i) идентификатор пакета, записанный в потоковой записи в регистрационной последовательности видеопотоков базового вида в базовой таблице выбора потока, (ii) идентификатор пакета, записанный в потоковой записи в регистрационной последовательности PG-потоков/текстовых субтитров в базовой таблице выбора потока, и (iii) идентификатор пакета, записанный в потоковой записи в регистрационной последовательности IG-потоков в базовой таблице выбора потока.
Стрелки, соединяющие блок демультиплексирования и совокупность декодеров, указывают пакеты TS, которые выводятся на соответствующие декодеры, из совокупности пакетов источника, существующих в файле потока. Согласно фиг.25, из блока демультиплексирования на декодеры выводятся следующие пакеты TS: пакет TS, образующий видеопоток базового вида; пакет TS, образующий PG-поток; пакет TS, образующий IG-поток; и пакет TS, образующий аудиопоток.
На фиг.32 показано обращение к идентификаторам пакетов и вывод пакетов, когда устройство воспроизведения не имеет возможности работать в режиме презентации B-D.
Стрелки, соединяющие объединенную регистрационную последовательность потоков и блок демультиплексирования, указывают потоковые записи, в которых записаны идентификаторы пакетов, на которые в данный момент производится ссылка, из совокупности регистрационных последовательностей потоков в объединенной регистрационной последовательности потоков. На фиг.32 указано, что блок демультиплексирования ссылается на (i) идентификатор пакета, записанный в потоковой записи в регистрационной последовательности видеопотоков базового вида в базовой таблице выбора потока, (ii) идентификатор пакета, записанный в потоковой записи в регистрационной последовательности PG-потоков/текстовых субтитров в базовой таблице выбора потока, и (iii) идентификатор пакета, записанный в потоковой записи в регистрационной последовательности IG-потоков в базовой таблице выбора потока.
Стрелки, соединяющие блок демультиплексирования и совокупность декодеров, указывают пакеты TS, которые указаны потоковыми записями в регистрационных последовательностях потоков в базовой таблице выбора потока и выводятся на соответствующие декодеры, из совокупности пакетов источника, существующих в файле перемеженного потока.
Вышеописанное управление воспроизведением можно реализовать, предписывая компьютеру выполнять программу, которая генерируется путем составления процедуры обработки, представленной логическими блок-схемами, показанными на фиг.33-35, на объектно-ориентированном языке компилятора.
На фиг.33 показана процедура воспроизведения списка воспроизведения. В этой логической блок-схеме номер текущего элемента воспроизведения задается равным "1" на этапе S1, после чего управление входит в цикл, в котором этапы S2-S6 повторяются. В этом цикле этапы осуществляются следующим образом. Номер потока определяется согласно процедуре выбора потока (этап S2). Файл потока, где хранится элементарный поток, соответствующий номеру потока, открывается, и оттуда считывается последовательность пакетов источника (этап S3). Согласно инструкции, пакет источника, из тех, которые образуют последовательность пакетов источника, которая соответствует номеру потока, демультиплексируется (этап S4). Декодеру предписывается воспроизводить считанный пакет источника в течение периода от времени входа до времени выхода элемента воспроизведения и в течение периода от времени входа вспомогательного элемента воспроизведения (этап S5). Эти этапы, образующие цикл, повторяются, пока номер текущего элемента воспроизведения не совпадет с последним номером. Когда определено, что номер текущего элемента воспроизведения не является последним номером (НЕТ на этапе S6), номер текущего элемента воспроизведения увеличивается, и управление переходит к этапу S2. Когда определено, что номер текущего элемента воспроизведения является последним номером (ДА на этапе S6), процесс заканчивается.
На фиг.34 показана процедура выбора потока.
В этой логической блок-схеме, базовая таблица выбора потока в информации текущего элемента воспроизведения задается как текущая базовая таблица выбора потока (этап S7). За этим этапом следует цикл, образованный этапами S8-S17. В этом цикле, этапы S10-S17 повторяются для каждого из PG-потока, IG-потока, вторичного видеопотока, первичного аудиопотока и вторичного аудиопотока. На этапе S10, производится определение, действительно ли количество потоковых записей в текущей базовой таблице выбора потока, соответствующих потоку x, равно 0. На этапе S11, производится определение, действительно ли количество потоковых записей в текущей базовой таблице выбора потока, соответствующих потоку x, больше или равно номеру потока, хранящемуся в регистре номеров потоков.
Когда на этапе S10 или S11 получен ответ ДА, управление переходит к этапу S17, на котором поддерживается номер потока, хранящийся в регистре номеров потоков.
Когда на обоих этапах S10 и S11 получен ответ НЕТ, управление переходит к этапу S12, на котором принимается решение, какому из совокупности условий удовлетворяет каждый PES-поток, зарегистрированный в текущей базовой таблице выбора потока, после чего, на этапе S13, принимается решение, существует ли совокупность PES-потоков, которые удовлетворяют одной и той же комбинации условий.
Когда на этапе S13 определено, что существует только один PES-поток, удовлетворяющий условиям, то PES-поток, удовлетворяющий условиям, выбирается в качестве текущего потока (этап S14).
Когда на этапе S13 определено, что существует совокупность PES-потоков, которые удовлетворяют одной и той же комбинации условий, PES-поток, имеющий наивысший приоритет в текущей базовой таблице выбора потока, выбирается из совокупности PES-потоков, которые удовлетворяют одной и той же комбинации условий (этап S15). После такого выбора PES-потока, номер потока выбранного PES-потока записывается в регистр номеров потоков (этап S16).
После вышеописанного определения PES потока, подлежащего воспроизведению в текущем элементе воспроизведения, необходимо начать воспроизведение текущего элемента воспроизведения. Процедура для воспроизведения текущего элемента воспроизведения базируется на режиме вывода, который определяется в "процедуре, когда условие воспроизведения изменяется".
На фиг.35 показана процедура вывода идентификатора пакета, соответствующего номеру потока. В этой процедуре осуществляются этапы S17 и S18 принятия решения. На этапе S17, производится определение, является ли текущий режим вывода режимом 2D воспроизведения. Когда на этапе S17 определено, что текущий режим вывода является режимом 2D воспроизведения, управление переходит к этапу S38, на котором блоку демультиплексирования предписывается осуществлять демультиплексирование на основании потоковой записи регистрационной информации потоков, соответствующей номеру текущего потока, из регистрационной последовательности потоков в базовой таблице выбора потока.
На этапе S18, производится определение, установлен ли fixed_offset_during_Popup расширенной таблицы выбора потока на ON. Когда на этапе S17 получен ответ НЕТ, и на этапе S18 получен ответ НЕТ, выполняются этапы S19-S30.
На этапах S19-S30, видеопоток задается как стереоскопический B-D тип, и плоскость видео устанавливается на режим презентации B-D (этап S19), предписывается демультиплексирование на основании идентификатора пакета с потоковой записью в SS_dependent_View_block (этап S20), и выполняется процесс этапов S21-S26.
На этапе S21, производится определение, установлен ли is_SS_PG в регистрационной информации потоков текущего PG-потока на ON. Когда is_SS_PG установлен на ON, PG-поток устанавливается на тип стереоскопического воспроизведения (этап S22), и предписывается демультиплексирование на основании идентификатора пакета для Stream_entry_base_view и Stream_entry_dependent_view регистрационной информации потоков, соответствующей текущему PG-потоку (этап S23).
Когда is_SS_PG установлен на OFF, PG-поток устанавливается на тип воспроизведения "1 Плоскость + смещение", PG-поток устанавливается на режим «1 плоскость + смещение» (этап S24), и последовательность смещений, указанная посредством SS_PG_textST_offset_sequence_id_ref регистрационной информации потоков, соответствующей текущему PG-потоку, получается из видеопотока зависимого вида (этап S25), и сдвиг плоскости выполняется на основании полученной последовательности смещений (этап S26).
На этапе S27, производится определение, установлен ли is_SS_IG в регистрационной информации потоков текущего IG-потока на ON. Когда is_SS_IG установлен на ON, предписывается демультиплексирование на основании идентификатора пакета для Stream_entry_base_view и Stream_entry_dependent_view регистрационной информации потоков, соответствующей текущему IG-потоку (этап S28).
Когда is_SS_IG установлен на OFF, последовательность смещений, указанная посредством SS_IG_textST_offset_sequence_id_ref регистрационной информации потоков, соответствующей текущему IG-потоку, получается из видеопотока зависимого вида (этап S29), и сдвиг плоскости выполняется на основании полученной последовательности смещений (этап S30).
Когда Fixed_offset_during_Popup расширенной таблицы выбора потока установлен на ON, на этапе S17 дается ответ НЕТ, на этапе S18 дается ответ ДА, и выполняются этапы S31-S37.
На этапах S31-S37, видеопоток устанавливается на тип стереоскопического воспроизведения B-B, плоскость видео устанавливается на режим презентации B-B (этап S31), и выполняются этапы S32-S37.
На этапе S32, принимается решение, установлен ли is_SS_PG в регистрационной информации потоков текущего PG-потока на ON. Когда is_SS_PG установлен на ON, управление переходит к этапу S33, на котором PG-поток устанавливается на тип режима «1 плоскость + смещение», и плоскость PG устанавливается на режим «1 плоскость + смещение». Затем последовательность смещений, указанная посредством SS_PG_textST_offset_sequence_id_ref, получается из видеопотока зависимого вида (этап S34), и сдвиг плоскости осуществляется на основании полученной последовательности смещений (этап S35). После этого управление переходит к этапу S37.
Когда is_SS_PG установлен на OFF, управление переходит к этапу S36, на котором PG-поток устанавливается на тип режима «1 плоскость+нулевое смещение», и плоскость PG устанавливается в режим «1 плоскость+нулевое смещение». После этого, управление переходит к этапу S37.
На этапе S37, сдвиг плоскости осуществляется в направлении, указанном посредством IG_Plane_offset_direction_during_BB_video в регистрационной информации потоков текущего IG-потока, на величину, указанную посредством IG_Plane_offset_value_during_BB_video. Благодаря вышеописанному процессу, когда Fixed_offset_during_Popup установлен на ON, можно воспроизводить стереоскопическое изображение, которое генерируется путем наложения трехмерного субтитра или меню на моноскопическое видеоизображение.
На фиг.36 показана логическая блок-схема процедуры сдвига плоскости PG.
На этапе S60, принимается решение, является ли поток PG-потоком или потоком текстовых субтитров. Когда определено, что это PG-поток, управление входит в цикл, в котором повторно осуществляются этапы S61-S74. В этом цикле этапы осуществляются следующим образом. Переменные "i" и "j" устанавливаются равными "0" (этап S61). Plane_offset_direction[j] и Plane_offset_value[j] для GOP[i], из последовательностей смещения, имеющих offset_sequence_id, указанных посредством PG_textST_offset_sequence_id_ref текущего потока, поступают от видеодекодера (этап S62). Сдвиг плоскости выполняется с использованием Plane_offset_direction[j] и Plane_offset_value[j] для GOP[i]. На этапе S69 устанавливается условие окончания цикла с использованием переменной "i". На этапе S69, производится определение, приобретает ли переменная "i" значение "number_of_offset_sequence". Пока не будет установлено, что условие выполнено, процесс, в котором переменная "i" увеличивается на этапе S70 и управление возвращается к этапу S62, повторяется.
В другом цикле, этапы S63-S68 осуществляются следующим образом. Ожидается начало периода горизонтального отображения базового вида в кадре GOP (этап S63). Когда определено, чтопериод начался, управление переходит к этапу S64, на котором пиксели каждой линии в данных изображения для frame[j] сдвигаются на количество пикселей, указанное посредством Plane_offset_value[j] в направлении, указанном посредством Plane_offset_direction[j] оси X. После этого ожидается начало периода горизонтального отображения зависимого вида в кадре GOP (этап S65). Когда определено, что период начался, пиксели каждой линии в данных изображения для frame[j] сдвигаются на количество пикселей, указанное посредством Plane_offset_value[j] в направлении обратном направлению, указанному посредством Plane_offset_direction[j] оси X. На этапе S67 устанавливается условие окончания цикла с использованием переменной "j". На этапе S67, производится определение, приобретает ли переменная "j" значение "number_of_displayed_frame_in_GOP". Пока не будет установлено, что условие выполнено, процесс, в котором переменная "j" увеличивается на этапе S68 и управление возвращается к этапу S63, повторяется.
На фиг.37 показана логическая блок-схема процедуры сдвига плоскости PG, когда целью воспроизведения является поток текстовых субтитров. Структура процесса, представленная на фиг.37, в основном, такая же, как на фиг.36 за исключением того, что этап S64 заменен этапами S71 и S72, и этап S65 заменен этапом S73.
На этапе S71 получается интерполяционное значение для каждой области визуализации плоскости PG, смещение которой подлежит использованию для кадра. На этапе S72, пиксели каждой области визуализации плоскости PG сдвигаются на количество пикселей, равное "Plane_offset_value[j] + интерполяционное значение" в направлении, указанном посредством Plane_offset_direction[j] оси X.
На этапе S73, пиксели каждой области визуализации плоскости PG сдвигаются на количество пикселей, равное "Plane_offset_value[j] + интерполяционное значение" в направлении обратном направлению, указанному посредством Plane_offset_direction[j] оси X.
На фиг.38 показана логическая блок-схема процедуры сдвига плоскости IG. Структура процесса, представленная на фиг.38, в основном, такая же, как на фиг.36 за исключением того, что этап S60 заменен этапом S74, этап S62 заменен этапом S75, этап S64 заменен этапом S76, и этап S66 заменен этапом S77.
На этапе S74 производится определение, установлен ли Fixed_offset_during_Popup для STN_table_SS на ON. В случае ответа «Нет», управление переходит к этапу S61, и в случае ответа «Да», управление переходит к этапу S78.
На этапе S75, от видеодекодера поступают Plane_offset_direction[j] и Plane_offset_value[j] для GOP[i], из последовательностей смещения, имеющих offset_sequence_id, указанный посредством SS_IG_textST_offset_sequence_id_ref текущего потока.
На этапе S76, пиксели каждой линии в плоскости IG сдвигаются на количество пикселей, указанное посредством Plane_offset_value[j], в направлении, указанном посредством Plane_offset_direction[j] оси X.
На этапе S77, пиксели каждой линии в плоскости IG сдвигаются на количество пикселей, указанное посредством Plane_offset_value[j], в направлении обратном направлению, указанному посредством Plane_offset_direction[j] оси X.
На фиг.39 показана логическая блок-схема процедуры сдвига плоскости IG, когда Fixed_offset_during_Popup для STN_table_SS находится в состоянии ON. Структура процесса, представленная на фиг.39, в основном, такая же, как на фиг.36 за исключением того, что этап S62 заменен этапом S78, этап S64 заменен этапом S79, и этап S66 заменен этапом S80.
На этапе S78, получаются IG_Plane_offset_direction_during_BB_video и IG_Plane_offset_value_during_BB_video текущего потока в STN_table_SS.
На этапе S79, пиксели каждой линии в плоскости IG сдвигаются на количество пикселей, указанное посредством IG_Plane_offset_value_during_BB_video, в направлении, указанном посредством IG_Plane_offset_direction_during_BB_video оси X.
На этапе S80, пиксели каждой линии в плоскости IG сдвигаются на количество пикселей, указанное посредством IG_Plane_offset_value_during_BB_video, в направлении, обратном направлению, указанному посредством IG_Plane_offset_direction_during_BB_video оси X.
Как описано выше, согласно настоящему варианту осуществления, задано, что информация управления для управления режимом «1 плоскость + смещение» должна обеспечиваться в потоке зависимого вида. Благодаря такой структуре, информация управления может генерироваться на основании информации глубины, полученной при съемке 3D камерой, и на основании информации параллакса, полученной в процессе кодирования кодером для генерации видеопотока, и информацию управления можно включать, в качестве метаданных, в поток зависимого вида. Это облегчает генерацию информации управления для управления управлением смещением в режиме «1 плоскость + смещение». Это позволяет значительно сократить объем работ в процессе авторинга. Поскольку информация управления задает управление смещением в режиме «1 плоскость + смещение», возможно стереоскопическое воспроизведение при наличии только одного субтитра или одного меню, даже в отсутствие левого и правого субтитров или меню. Таким образом, структура согласно настоящему варианту осуществления не только сокращает время и усилия, необходимые для создания субтитра и меню для левого вида и правого вида, но также позволяет реализовать стереоскопическое воспроизведение, даже если блок памяти плоскости в устройстве воспроизведения имеет размер одной плоскости. Это обеспечивает как эффективный авторинг, так и низкие затраты в устройстве воспроизведения.
(Вариант осуществления 2)
Согласно варианту осуществления 1, ссылка на вспомогательные TS, образующие блоки данных зависимого вида, осуществляется посредством ссылки на ID записи вспомогательного клипа. Благодаря этой структуре, когда вспомогательные TS записываются отдельно от главных TS, вспомогательные TS считываются при переключении режима воспроизведения из режима 2D воспроизведения в режим 3D воспроизведения. Это может улучшить гладкость воспроизведения AV. В порядке одного усовершенствования в связи с этой проблемой, настоящий вариант осуществления предусматривает структуру, которая гарантирует, что главные TS и вспомогательные TS совместно считываются в устройство воспроизведения. В частности, главный TS и вспомогательный TS перемежаются как пара и записываются как один файл.
Здесь, в качестве предпосылки настоящего варианта осуществления, будут кратко объяснены файлы в файловой системе UDF. Файл UDF состоит из совокупность экстентов, управляемых посредством файловой записи. "Файловая запись" включает в себя "тег описателя", "тег ICB" и "описатель выделения".
"Тег описателя" - это тег, идентифицирующий, в качестве "файловой записи", файловую запись, которая включает в себя сам тег описателя. Тег описателя подразделяется на тег описателя файловой записи, тег описателя битовой карты пространства и т.д. В случае тега описателя файловой записи, в нем записывается "261", что указывает "файловую запись".
"Тег ICB" указывает информацию атрибутов, относящихся к самой файловой записи.
"Описатель выделения" включает в себя Logical Block Number (LBN) указывающий позицию записи экстента, образующего файл более низкого порядка под директорией. Описатель выделения также включает в себя данные, которые указывают длину экстента. Два старших бита данных, которые указывают длину экстента, задаются следующим образом: "00" для указания выделенного и записанного экстента; "01" для указания выделенного и незаписанного экстента; и "11" для указания экстента, который следует за описателем выделения. Когда файл более низкого порядка под директорией разделяется на совокупность экстентов, файловая запись должна включать в себя совокупность описателей выделения в соответствии с экстентами.
Можно узнать адрес экстента, образующего файл потока, обратившись к вышеописанному описателю выделения в файловой записи.
Далее описаны файлы различных типов, которые используются в настоящем варианте осуществления.
<Файл стереоскопического перемеженного потока (FileSS)>
Файл стереоскопического перемеженного потока (FileSS) - это файл потока (2TS-перемеженный файл), в котом перемежаются два TS, и идентифицируется пятизначным целочисленным значением и расширением (ssif), указывающим файл перемеженного формата для стереоскопического воспроизведения. Файл стереоскопического перемеженного потока состоит из экстента SS[n]. Экстент SS[n] (также именуемый EXTSS[n]) идентифицируется индексным номером "n". Индексный номер "n" последовательно увеличивается, начиная с верхней части файла стереоскопического перемеженного потока.
Каждый экстент SS[n] имеет структуру в виде пары из блока данных зависимого вида и блока данных базового вида.
Файл «2D», файл «базовый» и файл «зависимый» обращаются к блоку данных зависимого вида и блоку данных базового вида образующим экстент SS[n], посредством перекрестной ссылки. Следует заметить, что перекрестная ссылка означает, что фрагмент данных, записанных на носителе записи, регистрируется как экстент совокупности файлов в их файловых записях. В настоящем варианте осуществления, начальные адреса и длины продолжения блока данных зависимого вида и блока данных базового вида регистрируются в файловых записях файла «2D», файла «базовый» и файла «зависимый».
<Файл «базовый» (FileBase)>
Файл «базовый» (FileBase) - это виртуальный файл потока, в котором предполагается "хранение" главного TS, указанного информацией начальной точки экстента в информации клипа, соответствующей файлу «2D». Файл «базовый» (FileBase) состоит из, по меньшей мере, одного экстента 1[i] (также именуемого EXT1[i]). Экстент 1[i] - это i-й экстент в файле «базовый», где "i" - индексный номер экстента, который увеличивается, начиная с "0" в верхней части файла «базовый». Файл «базовый» - это виртуальный файл потока, используемый для обработки файла стереоскопического перемеженного потока, который является 2TS-файлом, как 1TS-файла. Файл «базовый» генерируется виртуально путем построения его файловой записи в памяти устройства воспроизведения.
При фактическом чтении, файл «базовый» идентифицируется путем осуществления открытия файла с использованием имени файла для файла стереоскопического перемеженного потока. В частности, при вызове открытия файла с использованием имени файла для файла стереоскопического перемеженного потока, промежуточное программное обеспечение устройства воспроизведения генерирует в памяти файловую запись, идентифицирующую экстент в файле «базовый», и виртуально открывает файл «базовый». Файл стереоскопического перемеженного потока можно интерпретировать как "включающий в себя только один TS", что позволяет считывать 2TS-файл стереоскопического перемеженного потока из носителя записи как 1TS-файл «базовый».
Когда в режиме презентации B-B подлежит считыванию только блок данных базового вида, считываются только экстенты, образующие файл «базовый». Даже при переключении режима из режима презентации B-B в режим презентации B-D, блок данных зависимого вида и блок данных базового вида можно считывать путем расширения диапазона чтения с экстентов, образующих файл «базовый», на экстенты, образующие файл стереоскопического перемеженного потока. Таким образом, при такой конфигурации, эффективность чтения файла не снижается.
<Файл «зависимый» (FileDependent)>
Файл «зависимый» (FileDependent) - это файл потока в котором предполагается "хранение" вспомогательного TS, который состоит из экстента 2[i] (также именуемого EXT2[i]). Экстент 2[i] является i-ым экстентом в файле «зависимый», где "i" - индексный номер экстента, который увеличивается, начиная с "0" в верхней части файла «зависимый». Файл «зависимый» - это виртуальный файл потока, используемый для обработки файла стереоскопического перемеженного потока, который является 2TS-файлом, как 1TS-файла, где хранится вспомогательный TS. Файл «зависимый» генерируется виртуально путем построения его файловой записи в памяти устройства воспроизведения.
Для доступа к видеопотоку зависимого вида, к нему присоединяется имя файла, представленное числом, генерируемым путем прибавления "1" к пятизначному целому числу, представляющему имя файла для файла стереоскопического перемеженного потока. На носителе записи хранится пустой файл, и "число, генерируемое путем прибавления 1", а именно, идентификационный номер видеопотока зависимого вида, присоединяется к пустому файлу. Следует заметить, что пустой файл - это файл, в котором не хранится никакого экстента, а именно, существенной информации, но имеющий только имя файла. Видеопоток зависимого вида обрабатывается как хранящийся в пустом файле.
<Файл «2D» (File2D)>
Файл «2D» (File2D) - это 1TS-файл потока, где хранится главный TS, который воспроизводится в режиме 2D воспроизведения, и состоит из экстента 2D. Файл «2D» идентифицируется пятизначным целочисленным значением и расширением (ssif), указывающим файл перемеженного формата для стереоскопического воспроизведения.
Ниже поясняется соответствие между файлом «2D»/файлом «базовый» и файлом «зависимый». На фиг.40 показано соответствие между файлом «2D»/файлом «базовый» и файлом «зависимый».
На фиг.40, первая строка демонстрирует файл «2D»/файл «базовый» 00001.m2ts и файл «зависимый» 00002.m2ts. Во второй строке показаны экстенты, где хранятся блоки данных зависимого вида и блоки данных базового вида. Третья строка демонстрирует файл стереоскопического перемеженного потока 00001.ssif.
Пунктирные стрелки h1, h2, h3 и h4 указывают файлы, которым принадлежат экстенты EXT1[i] и EXT2[i], причем принадлежность указана идентификаторами выделения. Согласно отношению принадлежности, указанному стрелками h1 и h2, экстенты EXT1[i] и EXT1[i+1] регистрируются как экстенты файла «базовый» 00001.m2ts.
Согласно отношению принадлежности, указанному стрелками h3 и h4, экстенты EXT2[i] и EXT2[i+1] регистрируются как экстенты файла «зависимый» 00002.m2ts.
Согласно отношению принадлежности, указанному стрелками h5, h6, h7 и h8, экстенты EXT1[i], EXT2[i], EXT1[i+1] и EXT2[i+1] регистрируются как экстенты файла 00001.ssif. Отсюда следует, что экстенты EXT1[i] и EXT1[i+1] принадлежат как 00001.ssif, так и 00001.m2ts. Расширение "ssif" является аббревиатурой StereoScopic Interleave File, указывая, что это файл в формате перемежения для стереоскопического воспроизведения.
На фиг.41A-41C показано соответствие между файлом перемеженного потока и файлом «2D»/файлом «базовый».
В третьей строке на фиг.41A показана внутренняя структура файла перемеженного потока. Согласно фиг.41A, экстенты EXT1[1] и EXT1[2], где хранятся блоки данных базового вида, и EXT2[1] и EXT2[2], где хранятся блоки данных зависимого вида, располагаются попеременно в формате перемежения в файле перемеженного потока.
В первой строке на фиг.41A показана внутренняя структура файла «2D»/файла «базовый». Файл «2D»/файл «базовый» состоит только из экстентов EXT1[1] и EXT1[2], где хранятся блоки данных базового вида, среди экстентов, образующих файл перемеженного потока, показанных в третьей строке. Файл «2D»/файл «базовый» и файл перемеженного потока имеют одно и то же имя, но разные расширения.
Во второй строке на фиг.41A показана внутренняя структура файла «зависимый». Файл «зависимый» состоит только из экстентов EXT2[1] и EXT2[2], где хранятся блоки данных зависимого вида, среди экстентов, образующих файл перемеженного потока, показанных в третьей строке. Имя файла для файла «зависимый» имеет значение, на 1 большее, чем имя файла для файла перемеженного потока, и они имеют разные расширения.
Не все устройства воспроизведения поддерживают систему 3D воспроизведения. Таким образом, предпочтительно, чтобы даже оптический диск, включающий в себя 3D изображение, поддерживал 2D воспроизведение. Следует заметить, что устройства воспроизведения, поддерживающие только 2D воспроизведение, не идентифицируют структуру данных, расширенную до 3D. Устройства 2D воспроизведения должны обращаться только к спискам воспроизведения 2D и 2D AV клипам с использованием традиционного метода идентификации, предусмотренного для устройств 2D воспроизведения. Ввиду этого, видеопотоки левого вида сохраняются в формате файла, который способны распознавать устройства 2D воспроизведения.
Согласно первому методу, главному TS назначается то же имя файла, что и в системе 2D воспроизведения, что позволяет реализовать вышеописанное обращение к информации списка воспроизведения, иначе говоря, позволяет использовать главный TS также при 2D воспроизведении, и файлы потока в формате перемежения имеют другое расширение. На фиг.41B показано, что файлы "00001.m2ts" и "00001.ssif" связаны друг с другом одинаковым именем файла "00001", хотя первый имеет 2D формат, а последний - 3D формат.
В традиционном устройстве 2D воспроизведения, список воспроизведения обращается только к AV клипам главный TS, и, таким образом, устройство 2D воспроизведения воспроизводит только файл «2D». С другой стороны, в устройстве 3D воспроизведения, хотя список воспроизведения обращается только к файлу «2D», где хранится главный TS, при обнаружении файла, который имеет тот же идентификационный номер, но другое расширение, принимается решение, что файл является файлом потока в формате перемежения для 3D изображения, и выводятся главный TS и вспомогательный TS.
Второй метод предусматривает использование разных папок. Главные TS сохраняются в папках с традиционными именами папок (например, "STREAM"), а вспомогательные TS сохраняются в папках с именами папок, характерными для 3D (например, "SSIF"), с тем же именем файла "00001". В устройстве 2D воспроизведения, список воспроизведения обращается только к файлам в папке "STREAM", но в устройстве 3D воспроизведения, список воспроизведения обращается к файлам, имеющим одинаковое имя файла в папках "STREAM" и "SSIF" одновременно, что позволяет связывать между собой главный TS и вспомогательный TS.
Третий метод предусматривает использование идентификационных номеров. Иначе говоря, этот метод связывает файлы на основании заранее определенного правила, касающегося идентификационных номеров. Например, когда идентификационный номер файла «2D»/файла «базовый» равен "00001", файлу «зависимый» присваивается идентификационный номер "00002", полученный прибавлением "1" к идентификационному номеру файла «2D»/файла «базовый», как показано на фиг.41C. Однако файловая система носителя записи рассматривает файл «зависимый», которому присвоено имя файла согласно правилу, как несущественный пустой файл. Причина в том, что файл «зависимый», в действительности, является файлом стереоскопического перемеженного потока.
Имена файлов связанные друг с другом таким образом, записываются в (i) регистрационную информацию потоков в базовой таблице выбора потока и (ii) ссылку на ID записи вспомогательного клипа (ref_to_STC_id[0]) в регистрационной информации потоков в расширенной таблице выбора потока. С другой стороны, устройство воспроизведения распознает имя файла, которое имеет значение на "1" большее, чем имя файла, записанное в ссылке на ID записи вспомогательного клипа, как имя файла для пустого файла, и осуществляет процесс открытия файла «зависимый» виртуально. Это гарантирует, что процедура выбора потока считывает, из носителя записи, файл «зависимый», который связан с другими файлами вышеописанным образом.
На этом завершается описание файла «2D», файла «базовый», и файла «зависимый».
Ниже детально поясняются блоки данных.
<Блок данных базового вида>
Блок данных базового вида (B[i]) - это i-й фрагмент данных в главном TS. Следует заметить, что главный TS - это TS, указанный как главный элемент главного пути посредством информации имени информационного файла клипа в информации текущего элемента воспроизведения. "i" в B[i] - это индексный номер, который увеличивается начиная с "0", соответствующего блоку данных в верхней части файла «базовый».
Блоки данных базового вида подразделяются на те, которые совместно используются файлом «базовый» и файлом «2D», и те, которые не используются совместно файлом «базовый» и файлом «2D».
Блоки данных базового вида, совместно используемые файлом «базовый» и файлом «2D», и блоки данных базового вида, уникальные для файла «2D», становятся экстентами файла «2D», и задаются так, чтобы иметь длину, которая не приводит к опустошению буфера в устройстве воспроизведения. Начальный адрес сектора блоков данных базового вида записывается в описателе выделения в файловой записи файла «2D».
Блоки данных базового вида, уникальные для файла «базовый», которые не используются совместно файлом «2D», не становятся экстентами файла «2D», и, таким образом, они не задаются так, чтобы иметь длину, которая не приводит к опустошению в единичном буфере в устройстве воспроизведения. Блоки данных базового вида задаются так, чтобы иметь меньший размер, а именно, длину, которая не приводит к опустошению в двойном буфере в устройстве воспроизведения.
Начальные адреса секторов блока данных базового вида, уникального для файла «базовый», не записываются в описателе выделения в файловой записи. Вместо этого, начальный пакет источника в блоке данных базового вида указывается посредством информации начальной точки экстента в информации клипа информационного файла клипа, соответствующей главному TS. Таким образом, начальный адрес сектора блока данных базового вида, уникального для файла «базовый», нужно получать с использованием (i) описателя выделения в файловой записи файла стереоскопического перемеженного потока и (ii) информации начальной точки экстента в информации клипа.
Когда базовым видом является левый вид, блок данных базового вида является блоком пакетов источника, в которых хранятся части совокупности типов PES-потоков для 2D воспроизведения и воспроизведения левого вида, включающим в себя: пакеты источника, в которых хранятся части видеопотока левого вида; пакеты источника, в которых хранятся части графического потока левого вида; пакеты источника, в которых хранятся части аудиопотока, которые воспроизводятся совместно с этими потоками; и информацию управления пакетами (PCR, PMT, PAT), заданную в европейском стандарте вещания. Пакеты, образующие блок данных базового вида, имеют непрерывные ATC, STC и SPN для обеспечения плавного воспроизведения AV в течение заранее определенного периода.
<Блок данных зависимого вида>
Блок данных зависимого вида (D[i]) - это i-й фрагмент данных во вспомогательном TS. Следует заметить, что вспомогательный TS - это TS, указанный как главный элемент вспомогательного пути посредством потоковой записи в регистрационной последовательности потоков в расширенной таблице выбора потока, которая соответствует информации текущего элемента воспроизведения. "i" в D[i] - это индексный номер, который увеличивается, начиная с "0", соответствующего блоку данных в верхней части файла «зависимый».
Блоки данных зависимого вида становятся экстентами файла «зависимый» и задаются так, чтобы иметь длину, которая не приводит к опустошению в двойном буфере в устройстве воспроизведения.
Кроме того, в непрерывных областях на носителе записи, блок данных зависимого вида располагается до блока данных базового вида, который воспроизводится в течение того же времени воспроизведения, что и блок данных зависимого вида. По этой причине, при считывании файла стереоскопического перемеженного потока, блок данных зависимого вида считывается обязательно до соответствующего блока данных базового вида.
Начальные адреса секторов блоков данных зависимого вида не записываются в описателе выделения в файловой записи файла «2D», поскольку блоки данных зависимого вида не используются совместно файлом «2D». Вместо этого, начальный пакет источника в блоке данных зависимого вида указывается посредством информации начальной точки экстента в информации клипа. Таким образом, начальный адрес сектора блока данных зависимого вида нужно получать с использованием (i) описателя выделения в файловой записи файла «2D» и (ii) информации начальной точки экстента в информации клипа.
Когда зависимым видом является правый вид, блок данных зависимого вида является блоком пакетов источника, в которых хранятся части совокупности типов PES-потоков для воспроизведения правого вида, включающим в себя: пакеты источника, в которых хранятся части видеопотока правого вида; пакеты источника, в которых хранятся части графического потока правого вида; и пакеты источника, в которых хранятся части аудиопотока, которые воспроизводятся совместно с этими потоками. Пакеты, образующие блок данных зависимого вида, имеют непрерывные ATC, STC и SPN для обеспечения плавного воспроизведения AV в течение заранее определенного периода. В непрерывных блоках данных зависимого вида и соответствующих блоках данных базового вида, номера пакетов источника для пакетов источника, образующих эти блоки, являются непрерывными, но ATS пакетов источника, образующих эти блоки, имеют одно и то же значение. Соответственно, совокупность пакетов источника, образующих блоки данных зависимого вида, и совокупность пакетов источника, образующих соответствующие блоки данных базового вида, поступают на фильтры PID в одно и то же время ATC.
<Классификация экстента>
Как описано выше, экстенты файла «2D» подразделяются на те, которые совместно используются файлом «базовый», и те, которые не используются совместно файлом «базовый».
Пусть файл «2D» имеет экстенты B[0], B[1], B[2], B[3]2D и B[4]2D, и файл «базовый» имеет экстенты B[0], B[1], B[2], B[3]ss и B[4]ss. Из них, B[0], B[1] и B[2] являются блоками данных базового вида, совместно используемые файлом «базовый». B[3]2D и B[4]2D являются блоками данных базового вида, уникальными для файла «2D», не используемыми совместно файлом «базовый».
Кроме того, B[3]ss и B[4]ss являются блоками данных базового вида, уникальными для файла «базовый», не используемыми совместно файлом «2D».
Данные B[3]2D побитово совпадают с данными B[3]ss. Данные B[4]2D побитово совпадают с данными B[4]ss.
Блоки данных B[2], B[3]2D и B[4]2D в файле «2D» образуют экстенты (большие экстенты), имеющие большую длину продолжения сразу перед позицией, в которой обусловлен длинный переход. Таким образом, большие экстенты могут формироваться сразу перед длинным переходом в файле «2D». Соответственно, даже когда файл стереоскопического перемеженного потока воспроизводится в режиме 2D воспроизведения, не нужно беспокоиться об опустошении в буфере чтения.
Файл «2D» и файл «базовый» имеют сходство, хотя частично отличаются экстентами. Таким образом, файл «2D» и файл «базовый», в целом именуются "файл «2D»/файл «базовый»".
<Длинный переход>
В общем случае, при использовании оптического диска в качестве носителя записи, операция приостановки операции чтения оптической головки, и, в ходе приостановки, позиционирования оптической головки на следующей целевой области чтения называется "переход".
Переход подразделяется на: переход, который увеличивает или уменьшает скорость вращения оптического диска; переход между дорожками; и переход фокусировки. Переход между дорожками - это операция перемещения оптической головки в направлении радиуса диска. Переход фокусировки возможен, когда оптический диск является многослойным диском, и представляет собой операцию переноса фокуса оптической головки с одного слоя записи на другой слой записи. Эти переходы называются "длинными переходами", поскольку, в общем случае, требуют большого времени поиска, и при чтении, вследствие переходов, пропускается большое количество секторов. При выполнении перехода, операция чтения посредством оптической головки приостанавливается.
Длина участка, на котором операция чтения пропускается при выполнении перехода, называется "расстояние перехода". Расстояние перехода обычно представляется числом секторов, включенных в участок. Вышеупомянутый длинный переход, в частности, задается как переход, расстояние перехода которого превышает заранее определенное пороговое значение. Например, в стандарте BD-ROM пороговое значение равно 40000 секторов, в соответствии с типом диска и производительностью привода в отношении процесса чтения.
Типичные позиции, в которых обусловлен длинный переход, включают в себя границу между слоями записи и позицию, в которой один элемент воспроизведения соединяется с n элементами воспроизведения, а именно, осуществляется мультисоединение.
Здесь, при осуществлении мультисоединения одного с n элементов воспроизведения, первый TS из "n" фрагментов TS, образующих "n" фрагментов элементов воспроизведения, может располагаться в позиции сразу после TS, который образует элемент воспроизведения, предшествующий "n" элементам воспроизведения. Однако любой из второго TS и далее не может располагаться в позиции сразу после TS, который образует элемент воспроизведения, предшествующий "n" элементам воспроизведения. Когда, при мультисоединении одного с n, совершается переход от одного элемента воспроизведения любому из второго элемента воспроизведения и далее в "n" элементах воспроизведения, чтение должно пропустить одну или несколько областей записи TS. Таким образом, длинный переход происходит в позиции, где существует мультисоединение одного с n.
<Путь воспроизведения каждого режима>
Путь воспроизведения режима 2D воспроизведения состоит из экстентов файла «2D», указанных посредством информации имени информационного файла клипа в информации текущего элемента воспроизведения.
Путь воспроизведения режима презентации B-D состоит из экстентов файла стереоскопического перемеженного потока, указанных посредством информации имени информационного файла клипа в информации текущего элемента воспроизведения.
Путь воспроизведения режима презентации B-B состоит из экстентов файла «базовый», указанных посредством информации имени информационного файла клипа в информации текущего элемента воспроизведения.
Переключение между этими путями воспроизведения трех режимов можно производить путем осуществления открытия файла с использованием имени файла, записанного в информации имени информационного файла клипа в информации текущего элемента воспроизведения: как имени файла для файла «2D»; как имени файла для файла «базовый»; или как имени файла для файла стереоскопического перемеженного потока. Такое переключение между путями воспроизведения не изменяет текущий список воспроизведения или текущий элемент воспроизведения, и таким образом может поддерживать гладкость при смене режима воспроизведения.
Благодаря такой структуре, устройство воспроизведения может считывать блоки данных, пригодные для каждого режима воспроизведения из носителя записи путем открытия любого из файла стереоскопического перемеженного потока, файла «базовый», и файла «2D» на основании информации имени информационного файла клипа в информации текущего элемента воспроизведения.
<Конкретные значения EXT2D, EXT1[n], EXT2[n]>
Наименьшее значение EXT2D определяется так, чтобы, при осуществлении воспроизведения в режиме 2D воспроизведения, не происходило опустошение буфера в буфере чтения устройства воспроизведения в течение периода перехода для каждого блока данных базового вида к следующему блоку данных базового вида.
Наименьшее значение EXT2D представлено нижеследующим выражением для Условия 1, когда переход от n-го блока данных базового вида к (n+1)-му блоку данных базового вида занимает время Tjump2D(n), причем каждый блок данных базового вида считывается в буфер чтения со скоростью Rud2D, и блок данных базового вида переносится из буфера чтения на видеодекодер со средней скоростью Rbext2D.
<Условие 1>
[Наименьшее значение EXT2D] ≥ (Rud2D + Rbext2D)/(Rud2D -Rbext2D) × Tjump2D (n)
Предположим, что экстент, соответствующий блоку данных базового вида B[n]ss, представлен как EXT1[n]. В этом случае, наименьшее значение EXT1[n] определяется так, чтобы, при осуществлении воспроизведения в режиме презентации B-D, не происходило опустошение буфера в двойном буфере в течение периода перехода для каждого блока данных базового вида к следующему блоку данных зависимого вида, и в течение периода перехода от данного блока данных зависимого вида к следующему блоку данных базового вида.
В данном примере, двойной буфер состоит из буфера чтения 1 и буфера чтения 2. Буфер чтения 1 - это то же самое, что и буфер чтения, обеспеченный в устройстве 2D воспроизведения.
Предположим, что, при осуществлении воспроизведения в режиме презентации B-D, переход от n-го блока данных базового вида к p-му блоку данных зависимого вида занимает время Tfjump3D(n), и при переход от p-го блока данных зависимого вида к (n+1)-му блоку данных базового вида занимает время TBjump3D(n).
Также предположим, что каждый блок данных базового вида считывается в буфер чтения 1 со скоростью Rud3D, каждый блок данных зависимого вида считывается в буфер чтения 2 со скоростью Rud3D, и блок данных базового вида переносится из буфера чтения 1 на видеодекодер со средней скоростью Rbext3D. Тогда наименьшее значение EXT1[n] представляется нижеследующим выражением для Условия 2. Длина продолжения больших экстентов устанавливается равной значению, которое больше или равно наименьшему значению.
<Условие 2>
[Наименьшее значение EXT1[n]] ≥ (Rud3D × Rbext3D)/(Rud3D - Rbext3D) × (TFjump3D(n) + EXT2[n]/(Rud3D + TBjump3D(n)))
Наименьшее значение EXT2 определяется так, чтобы, при осуществлении воспроизведения в режиме презентации B-D, не происходило опустошение буфера в двойном буфере устройства воспроизведения в течение периода перехода от каждого экстента зависимого вида к следующему экстенту данных базового вида, и в течение периода перехода от данного экстента базового вида к следующему экстенту зависимого вида.
Наименьшее значение EXT2[n] представлено нижеследующим выражением для Условия 3, когда переход от (n+1)-го блока данных базового вида к (p+1)-му блоку данных зависимого вида занимает время Tfjump3D(n+1), и блок данных зависимого вида переносится из буфера чтения 2 на декодер со средней скоростью Rdext3D.
<Условие 3>
[Наименьшее значение EXT2[n]] ≥ (Rud3D + Rbext3D)/(Rud3D -Rdext3D) × (TBjump3D(n) + EXT2[n+1]/(Rud3D + TFjump3D(n+1)))
<Конкретные значения EXTSS>
При переходе от чтения экстента к следующему экстенту, буфер должен быть занят достаточным объемом данных сразу перед переходом. Соответственно, при чтении файла стереоскопического перемеженного потока, в буфере чтения должен храниться один экстент, и следует избегать опустошения буфера.
Однако "EXTSS" нужно определять на основании не только "Tjump", периода времени, необходимого для перехода от экстента к другому экстенту, но и "Tdiff". Следует заметить, что "Tdiff" представляет задержку по времени, которая происходит в связи с предварительной загрузкой блоков данных зависимого вида в EXTss и предварительной загрузкой блоков данных зависимого вида в EXTssnext. Ниже дополнительно объяснен смысл Tdiff. Когда файл стереоскопического перемеженного потока считывается, притом что начальный блок данных зависимого вида предварительно загружается.
В EXTss, воспроизведение задерживается на величину периода времени, необходимого для предварительной загрузки блока данных зависимого вида. Здесь, период времени, необходимый для предварительной загрузки начального блока данных зависимого вида в EXTss именуется "период задержки", поскольку воспроизведение задерживается на величину периода.
С другой стороны, в EXTssnext, сразу после перехода от EXTss к EXTssnext, происходит предварительная загрузка начального блока данных зависимого вида. Таким образом, воспроизведение посредством видеодекодера может задерживаться на период предварительной загрузки. Таким образом, период времени, в течение которого производится предварительная загрузка начального блока данных зависимого вида при воспроизведении EXTssnext, именуется "периодом отсрочки", поскольку видеодекодеру разрешено задерживать начало воспроизведения на этот период.
Ввиду этого, значение Tdiff получается вычитанием периода задержки из периода отсрочки блока данных зависимого вида. В частности, значение Tdiff вычисляется с использованием нижеследующего выражения.
Tdiff = ceil[((S1stEXT1[i]EXTSSnext) - S1stEXT1[i]EXTSS) × 1000 × 8]/Rud72]
В вышеприведенном выражении, Tdiff означает разность между периодом времени для чтения S1stEXT2[i]EXTss и периодом времени для чтения S1stEXT2[i]EXTSSnext; S1stEXT2[i]EXTss представляет размер EXT2[i], находящегося в начале EXTss; S1stEXT2[i]EXTssnext представляет размер EXT2[i], находящегося в начале EXTssnext. EXTssnext - это экстент в файле стереоскопического перемеженного потока, располагается сразу после EXTss и плавно воспроизводится с помощью EXTss.
С использованием Tdiff и Tjump, который является периодом времени, необходимым для перехода к EXTssnext, Sextss, который является минимальным размером экстента на основании средней битовой скорости в каждом экстенте, вычисляется как значение, удовлетворяющее следующему Условию 4.
<Условие 4>
SextSS[Байт] ≥ ceil[(Tjump + Tdiff × Rud72)/(1000 × 8)] × (Rextss × 192)/(Rud72 × 188 - Rextss × 192)]
В этом Условии 4, Rud72 представляет скорость переноса данных от привода BD-ROM в режиме стереоскопического воспроизведения.
Rextss представляет среднюю битовую скорость в EXTss и получается с использованием нижеследующих выражений.
Rextss = ceil[Nsp × 188 × 8/(ATCDextss/27000000)]
ATCDextss = ATCstart_EXTssnext - ATCstart_EXTss
ATCDextss = ATClast_EXTss - ATCstart_EXTss + ceil(27000000 × 188 × 8/min(Rts1,Rts2))
В вышеприведенных выражениях, ATCDextss представляет период ATC для EXTss.
ATCstart_EXTss представляет минимальное значение ATC, указанное полем ATC последовательности пакетов источника в EXTss.
ATCstart_EXTssnext представляет минимальное значение ATC, указанное полем ATC последовательности пакетов источника в EXTssnext.
ATClast_EXTss представляет максимальное значение ATC, указанное полем ATC последовательности пакетов источника в EXTss.
Nsp представляет количество пакетов источника, включенных в главный TS и вспомогательный TS и имеющих значения ATC, соответствующие ATC в диапазоне ATCDexss.
Rts1 представляет значение скорости записи TS в главном TS, и его максимальное значение равно 48 Мбит/с.
Rts2 представляет значение скорости записи TS во вспомогательном TS, и его максимальное значение равно 48 Мбит/с.
При необходимости непрерывного воспроизведения двух элементов воспроизведения, EXTss включает в себя первый байт данных в последовательности ATC, который используется предыдущим элементом воспроизведения (элементом воспроизведения 1).
- EXTss имеет размер, больший или равный минимальному размеру экстента, заданному в Условии 4.
- Когда EXTss является первым байтом данных в последовательности ATC, который используется предыдущим элементом воспроизведения, информация состояния соединения предыдущего элемента воспроизведения не устанавливается равной "5" (процесс соединения, который требует полного разрыва на границе между элементами воспроизведения) или "6" (процесс соединения, в котором граница между элементами воспроизведения совпадает с границей между GOP).
EXTss включает в себя байт данных в последовательности ATC, который используется текущим элементом воспроизведения (элементом воспроизведения 2).
- EXTss имеет размер, больший или равный минимальному размеру экстента, заданному в Условии 4.
- Когда EXTss является последним байтом данных в последовательности ATC, который используется элементом воспроизведения 2, информация состояния соединения элемента воспроизведения 2 не устанавливается равной "5" или "6". В этом случае, не требуется выполнять условие по размеру EXTss.
На фиг.42 показано соответствие между файлом стереоскопического перемеженного потока, файлом «2D», файлом «базовый» и файлом «зависимый». В первой строке на фиг.42 показан файл «2D», Во второй строке показаны блоки данных, записанные на носителе записи, третья строка демонстрирует файл стереоскопического перемеженного потока, в четвертой строке показан файл «базовый», и в пятой строке показан файл «зависимый».
Во второй строке показаны блоки данных D[1], B[1], D[2], B[2], D[3], B[3]ss, D[4], B[4]ss, B[3]2D и B[4]2D. Стрелки ex1, ex2, ex3 и ex4 указывают отношение принадлежности, согласно которому, из этих блоков данных, блоки данных B[1], B[2], B[3]2D и B[4]2D образуют экстенты файла «2D».
Стрелки ex5 и ex6 указывают отношение принадлежности, согласно которому D[1], B[1], D[2], B[2], D[3], B[3]ss, D[4] и B[4]ss образуют экстенты файла стереоскопического перемеженного потока.
В четвертой строке показано, что, из этих блоков данных, образующих файл стереоскопического перемеженного потока, B[1], B[2], B[3]ss и B[4]ss образуют экстенты файла «базовый». Пятая строка показывает, что, из блоков данных, образующих файл стереоскопического перемеженного потока, D[1], D[2], D[3] и D[4] образуют экстенты файла «зависимый».
На фиг.43 показан список воспроизведения 2D и список воспроизведения 3D. Первая строка демонстрирует информацию списка воспроизведения 2D. Во второй строке показаны блоки данных базового вида. Третья строка демонстрирует список воспроизведения 3D. В четвертой строке показаны блоки данных зависимого вида.
Стрелки rf1, rf2 и rf3 указывают путь воспроизведения, генерируемый путем объединения расширения "m2ts" и имени файла "00001", описанного в "clip_information_file_name" в информации элемента воспроизведения информации списка воспроизведения 2D. В этом случае, путь воспроизведения на стороне базового вида состоит из блоков данных B[1], B[2] и B[3]2D.
Стрелки rf4, rf5, rf6 и rf7 указывают путь воспроизведения, указанный информацией элемента воспроизведения информации списка воспроизведения 3D. В этом примере, путь воспроизведения на стороне базового вида состоит из блоков данных B[1], B[2], B[3]ss и B[4]ss.
Стрелки rf8, rf9, rf10 и rf11 указывают путь воспроизведения, указанный информацией вспомогательного элемента воспроизведения информации списка воспроизведения 3D. В этом примере, путь воспроизведения на стороне зависимого вида состоит из блоков данных D[1], D[2], D[3] и D[4]. Эти блоки данных, образующие пути воспроизведения, указанные информацией элемента воспроизведения и информацией вспомогательного элемента воспроизведения, можно считывать, открывая файлы, которые генерируются путем объединения расширения "ssif" и имен файлов, записанных в "clip_information_file_name" в информации элемента воспроизведения.
Согласно фиг.43, информация имени информационного файла клипа в списке воспроизведения 3D и информация имени информационного файла клипа в списке воспроизведения 2D имеют одинаковые имена файлов. Соответственно, информацию списка воспроизведения можно записывать так, чтобы она включала в себя описание, общее для списка воспроизведения 3D и списка воспроизведения 2D (как указывают стрелки df1 и df2), для задания списка воспроизведения 3D и списка воспроизведения 2D. Соответственно, после записи информации списка воспроизведения для реализации списка воспроизведения 3D: информация списка воспроизведения функционирует как список воспроизведения 3D, когда режим вывода устройства воспроизведения является режимом стереоскопического вывода; и информация списка воспроизведения функционирует как список воспроизведения 2D, когда режим вывода устройства воспроизведения является режимом вывода 2D. Список воспроизведения 2D и список воспроизведения 3D, показанные на фиг.33, сообща имеют фрагмент информации списка воспроизведения, который интерпретируется как список воспроизведения 2D или список воспроизведения 3D в зависимости от режима вывода устройства воспроизведения, которое интерпретирует фрагмент информации списка воспроизведения. Это позволяет сократить продолжительность времени и усилия со стороны лица, отвечающего за авторинг.
Когда главные TS и вспомогательные TS сохраняются в файле стереоскопического перемеженного потока, имя файла для файла «2D» записывается в "clip_information_file_name" в информации элемента воспроизведения списка воспроизведения 2D, и имя файла для файла «базовый» записывается в "clip_information_file_name" в информации элемента воспроизведения списка воспроизведения 3D. Поскольку файл «базовый» является виртуальным файлом, и его имя файла такое же, как у файла стереоскопического перемеженного потока, имя файла для файла стереоскопического перемеженного потока можно записывать в "clip_information_file_name" в информации элемента воспроизведения. Имя файла для файла «зависимый» записывается в "ref_to_subclip_entry_id" в регистрационной информации потоков в расширенной таблице выбора потока. Имя файла для файла «зависимый» создается путем прибавления "1" к идентификационному номеру файла стереоскопического перемеженного потока.
На фиг.44 показан список воспроизведения, генерируемый путем добавления вспомогательного пути в список воспроизведения 3D, оказанный на фиг.43. Список воспроизведения, показанный на фиг.43, включает в себя только вспомогательный путь, ID вспомогательного пути которого равен "1", тогда как второй вспомогательный путь в списке воспроизведения, показанном на фиг.44, идентифицируется посредством ID вспомогательного пути "2" и указывает блоки данных, отличные от тех, на которые указывает вспомогательный путь 1. Два или более фрагмента информации вспомогательного пути задают совокупность правых видов, которые отличаются углами, под которыми объект наблюдается правым глазом. Правый вид образует столько блоков данных, сколько существует углов. Кроме того, вспомогательные пути обеспечены в количестве, равном количеству углов.
Можно отображать пользователю комфортные стереоскопические изображения на основании параллакса, изменяя вспомогательные пути, воспроизводимые синхронно с главными путями, заданными главным TS, образованным из блоков данных базового вида.
В отношении этой информации списка воспроизведения, реализующей список воспроизведения 3D, информация списка воспроизведения функционирует как список воспроизведения 3D, когда режим вывода устройства воспроизведения является режимом стереоскопического вывода, и информация списка воспроизведения функционирует как список воспроизведения 2D, когда режим вывода устройства воспроизведения является режимом вывода 2D. Список воспроизведения 2D и список воспроизведения 3D, показанные на фиг.43, сообща имеют фрагмент информации списка воспроизведения, который надлежащим образом интерпретируется как список воспроизведения 2D или список воспроизведения 3D в зависимости от режима вывода устройства воспроизведения, которое интерпретирует фрагмент информации списка воспроизведения. Это позволяет сократить продолжительность времени и усилия со стороны лица, отвечающего за авторинг.
Далее описано, как задавать видеопоток базового вида.
В общем случае, видео левого вида генерируется как 2D видео. Однако можно подумать, что видео правого вида пригодно для 2D видео. Для поддержки такого требования, индикатор базового вида устанавливается в каждом фрагменте информации элемента воспроизведения, где индикатор базового вида указывает, какой из левого вида и правого вида задан как базовый вид. Индикатор базового вида, установленный в каждом фрагменте информации элемента воспроизведения, указывает, какой из видеопотока левого вида и видеопотока правого вида задан как видеопоток базового вида, какой из PG-потока левого вида и PG-потока правого вида задан как PG-поток базового вида, и какой из IG-потока левого вида и IG-потока правого вида задан как IG-поток базового вида.
Как описано выше, блок данных зависимого вида непременно предшествует блоку данных базового вида. В результате, обратившись к индикатору базового вида, можно узнать, какой из пакета источника для воспроизведения правого вида и пакета источника для воспроизведения левого вида первым поступает на устройство воспроизведения.
Когда видеопоток правого вида указан как видеопоток базового вида, эта информация предписывает сначала вводить в видеодекодер видеопоток правого вида для получения несжатых данных изображения, даже если правый вид указан информацией вспомогательного пути. На основании несжатых данных изображения, полученных путем декодирования видеопотока правого вида, осуществляется компенсация движения. Это делает выбор базового вида более гибким.
На фиг.45A показан список воспроизведения 3D, генерируемый путем добавления индикатора базового вида в список воспроизведения 3D, показанный на фиг.43A.
На фиг.45B показано описание индикатора базового вида в структуре, задающей элемент воспроизведения, на объектно-ориентированном языке программирования. На фиг.45B показан один пример такого описания. Согласно фиг.45A и 45B, когда ближайшее значение "0" задано в индикаторе базового вида, видеопоток левого вида указан как видеопоток базового вида; и когда ближайшее значение "1" задано в индикаторе базового вида, видеопоток правого вида указан как видеопоток базового вида.
Индикатор базового вида можно использовать при выводе потока на устройство отображения. Устройство отображения использует индикатор базового вида для различения двух типов потоков. В системе, где используются очки с затворами, дисплеи очков и устройство отображения невозможно синхронизировать, пока не будет понято, какой из левого вида и правого вида является главным изображением, на который ссылается элемент воспроизведения. Сигнал переключения поступает на очки с затворами, благодаря чему свет проходит через стекло для левого глаза, когда отображается левый вид, и свет проходит через стекло для правого глаза, когда отображается правый вид.
Информация, предоставляемая индикатором базового вида, также используется в стереоскопических методах для невооруженного глаза, например, лентикулярном методе, согласно которому в экран устройства отображения включена призма. Причина этого в том, что дифференциация между левым видом и правым видом необходима также и в этих методах. На этом завершается описание индикатора базового вида. Индикатор базового вида базируется на предположении о том, что либо левый вид, либо правый вид, из параллаксных изображений, можно воспроизводить как моноскопическое видео.
На фиг.46 показана логическая блок-схема, демонстрирующая процедуру воспроизведения элементов воспроизведения.
На этапе S41, производится определение, является ли текущий режим вывода режимом 3D вывода. Когда текущий режим вывода является режимом 2D вывода, осуществляется цикл, образованный этапами S43-S48.
На этапе S43 открывается файл потока, который идентифицируется посредством: "xxxxx", описанного в Clip_information_file_name текущего элемента воспроизведения; и расширения "m2ts". На этапе S44, "In_time" и "Out_time" текущего элемента воспроизведения преобразуются в "Start_SPN[i]" и "End_SPN[i]" с использованием карты записей, соответствующей ID пакета видеопотока.
На этапе S45, экстенты, принадлежащие диапазону чтения [i], идентифицируются для чтения пакета TS с PID [i] от Start_SPN[i] до End_SPN[i]. На этапе S46 привод носителя записи получает команду непрерывно считывать экстенты, принадлежащие диапазону чтения [i].
Когда текущий режим вывода является режимом стереоскопического вывода, осуществляется цикл, образованный этапами S50-S60.
На этапе S50 открывается файл потока, который идентифицируется посредством: "xxxxx", описанного в Clip_information_file_name текущего элемента воспроизведения; и расширения "ssif". На этапе S51, видеопоток левого вида или правого вида, который указан индикатором базового вида информации текущего элемента воспроизведения задается как видеопоток базового вида. Видеопоток левого вида или правого вида, который не задан как видеопоток базового вида, задается как поток зависимого вида.
На этапе S52, "In_time" и "Out_time" текущего элемента воспроизведения преобразуются в "Start_SPN[i]" и "End_SPN[i]" с использованием карты записей, соответствующей ID пакета видеопотока базового вида.
На этапе S53 идентифицируется вспомогательный элемент воспроизведения, соответствующий потоку зависимого вида. На этапе S54, "In_time" и "Out_time" идентифицированного вспомогательного элемента воспроизведения преобразуются в "Start_SPN[j]" и "End_SPN[j]" с использованием карты записей [j], соответствующей ID пакета [j] потока зависимого вида.
Экстенты, принадлежащие диапазону чтения [i], идентифицируются для чтения пакета TS, имеющего ID пакета [i] от "Start_SPN[i]" до "End_SPN[i]" (этап S55). Экстенты, принадлежащие диапазону чтения [j], идентифицируются для чтения пакета TS, имеющего ID пакета [j] от "Start_SPN[j]" до "End_SPN[j]" (этап S56). Таким образом, на этапе S57, экстенты, принадлежащие диапазонам чтения [i] и [j], сортируются в порядке возрастания. На этапе S58, привод получает команду непрерывно считывать экстенты, принадлежащие диапазонам чтения [i] и [j], с использованием отсортированных адресов. После этого, когда последовательность пакетов источника считана, на этапе S59, последовательности ATC базового вида и зависимого вида восстанавливаются и поступают на фильтры PID для базового вида и зависимого вида.
Как описано выше, согласно настоящему варианту осуществления, блоки данных базового вида и зависимого вида сохраняются в одном файле стереоскопического перемеженного потока, и, когда они поступают на декодер, последовательности ATC базового вида и зависимого вида восстанавливаются. Благодаря такой структуре, декодер может обрабатывать файл стереоскопического перемеженного потока таким же образом, как файл регулярного потока. Таким образом, метод хранения видеопотоков базового вида и зависимого вида можно положительно использовать для сохранения файла стереоскопического перемеженного потока.
(Вариант осуществления 3)
Настоящий вариант осуществления подробно описывает информационный файл клипа.
На фиг.47A-47C показана внутренняя структура информационного файла клипа.
На фиг.47A показан информационный файл клипа для 2D. На фиг.47B показан информационный файл клипа для 3D. Эти информационные файлы клипа включают в себя "информацию клипа", "информацию последовательности", "программную информацию" и "информацию характеристической точки".
"Информация клипа" - это информация, указывающая, для каждой последовательности ATC, к какому типу относится AV клип, каждая последовательность пакетов источника которого хранится в файле потока. Информация клипа включает в себя: тип приложения, указывающий тип (например, фильм, слайд-шоу), к которому относится приложение, образованное из AV клипа; тип потока, указывающий тип потока, к которому относится AV клип; скорость записи TS, означающую скорость переноса пакета TS в соответствующем AV клипе; дельту ATC, выражающую отличие в ATC от последовательности ATC, образующей предыдущий AV клип; и идентификатор метода кодирования, используемого при кодировании.
"Информация последовательности" указывает, для каждой последовательности ATC, информацию (информацию последовательности ATC), которая указывает, к какому типу относится последовательность ATC, одна или несколько последовательностей пакетов источника которой хранятся в файле потока. Информация последовательности ATC включает в себя: информацию, указывающую, номером пакета источника, где существует пакет источника, являющийся начальной точкой ATC; смещения между идентификаторами последовательности STC и идентификаторами последовательности ATC; и информацию последовательности STC, соответствующую каждой из совокупности последовательностей STC. Каждый фрагмент информации последовательности STC включает в себя: номер пакета для пакета источника, где хранится PCR соответствующей последовательности STC; информацию, указывающую, где в последовательности STC существует пакет источника, являющийся начальной точкой последовательности STC; и начальное время воспроизведения и конечное время воспроизведения последовательности STC.
"Программная информация" указывает программные структуры главного TS и вспомогательных TS, управляемые как "AV клипы" посредством информационного файла клипа. Программная информация указывает, какие типы ES мультиплексируются в AV клипе. В частности, программная информация указывает, какие типы идентификаторов пакетов имеют ES, мультиплексируемые в AV клипе, и указывает метод кодирования. Таким образом, программная информация указывает метод кодирования, например, MPEG2-video или MPEG4-AVC, который используется для кодирования со сжатием видеопотока.
"Информация характеристической точки" - это информация, указывающая, для каждого ES, где существуют характеристические точки совокупности ES, мультиплексируемых в AV клипе. Информация, указывающая характеристическую точку для каждого ES, называется "карта записей".
Определение характеристической точки отличается для каждого типа потока. В случае видеопотоков базового вида и зависимого вида, характеристической точкой является разделитель единиц доступа I-изображения, который находится в начале открытой GOP и замкнутой GOP. В случае аудиопотока, характеристической точкой является разделитель единиц доступа, указывающих начальные позиции аудиокадров, которые существуют с регулярными интервалами, например, каждую секунду. В случае PG- и IG-потоков, характеристической точкой является разделитель единиц доступа, указывающих начальные позиции установок отображения (установки отображения начала эпохи, установки отображения точки захвата), которые снабжены всеми функциональными сегментами, необходимыми для отображения, из установок отображения графических потоков.
Последовательность ATC и последовательность STC по-разному представляют характеристическую точку. Последовательность ATC представляет характеристическую точку номером пакета источника. Последовательность STC представляет характеристическую точку с использованием PTS, которая указывает момент времени на временной оси STC.
В виду вышеописанных различий, карта записей для каждой ES состоит из совокупности точек записи. В частности, в каждой точке записи, образующей карту записей, номер пакета источника, который указывает положение характеристической точки в последовательности ATC, связан с PTS, которая указывает положение характеристической точки в последовательности STC. Кроме того, каждая точка записи включает в себя флаг (флаг "is_angle_change"), который указывает, имеется ли изменение угла к характеристической точке. Поскольку изменение угла имеется на пакете источника, находящемся в начале единицы перемежения, образующей многоугловую секцию, флаг "is_angle_change" в точке записи, указывающей начальный пакет источника единицы перемежения, всегда установлен на ON. Кроме того, точка записи, указывающая начальный пакет источника единицы перемежения, связана с In_Time в информации элемента воспроизведения посредством точки записи.
Карта записей для каждой ES указывает номера пакетов источника характеристических точек для соответствующих типов потоков в соответствии с PTS. Соответственно, обратившись к этой карте записей, можно получить, от произвольного момента времени в последовательности ATC, номера пакетов источника, которые указывают положения характеристических точек для ES, ближайших к произвольному моменту времени.
На этом завершается объяснение информационного файла клипа для 2D. Теперь будет детализировано объяснение информационного файла клипа для 3D. На фиг.47B показана внутренняя структура информационного файла клипа для 3D. Информационный файл клипа для 3D включает в себя: "зависимую информацию клипа (информацию управления зависимого вида)", которая является информацией клипа для файла «зависимый»; и "базовую информацию клипа (информацию управления базового вида)", которая является информацией клипа для файла «базовый», а также "информацию клипа для файла «2D»", которая является регулярной информацией клипа (информацией управления). Причина состоит в следующем. Как описано согласно варианту осуществления 2, файл стереоскопического перемеженного потока сохраняется в директории, которая отличается от директории, в которой сохраняются файлы регулярного потока, во избежание смешивания их друг с другом. Соответственно, информационные файлы клипа не могут быть связаны с файлом стереоскопического перемеженного потока. Таким образом, зависимая информация клипа и базовая информация клипа сохраняются в информационном файле клипа для 2D.
Зависимая информация клипа и базовая информация клипа отличаются от информационного файла клипа для 2D тем, что зависимая информация клипа и базовая информация клипа включают в себя метаданные, которые имеют последовательность начальных точек экстента.
Согласно фиг.47B, зависимая информация клипа включает в себя последовательность начальных точек экстента, и базовая информация клипа также включает в себя последовательность начальных точек экстента. Последовательность начальных точек экстента, включенная в зависимую информацию клипа, состоит из совокупности фрагментов информации начальной точки экстента, и каждый фрагмент информации начальной точки экстента указывает номер пакета источника каждого пакета источника, который находится в начале каждого из совокупности экстентов, образующих файл «зависимый».
Аналогично, последовательность начальных точек экстента, включенная в базовую информацию клипа, состоит из совокупности фрагментов информации начальной точки экстента, и каждый фрагмент информации начальной точки экстента указывает номер пакета источника каждого пакета источника, который находится в начале каждого из совокупности экстентов, образующих файл «базовый».
Далее описан технический смысл обеспечения совокупности фрагментов информации начальной точки экстента.
TS, хранящиеся в файлах потока, первоначально являются одним TS с только одной последовательностью ATC. Соответственно, положение начала части, полученной делением начального целого, нельзя определить, даже обратившись к информации последовательности информационного файла клипа. С другой стороны, начало части, полученной делением, также является началом экстента. Таким образом, можно распознать начало части, полученной делением, обратившись к информации файловой системы, например, файловой записи или описателю экстента. Однако, поскольку промежуточное программное обеспечение управляет информацией файловой системы, приложению чрезвычайно трудно обращаться к информации экстента. Ввиду этой проблемы, в настоящем варианте осуществления, используется информация начальной точки экстента, что позволяет указывать начальный номер пакета, который соответствует данному экстенту, в информации клипа.
На фиг.103A-103D показан один пример информации начальной точки экстента информации клипа базового вида, и один пример информации начальной точки экстента информации клипа зависимого вида. На фиг.103A показана информация начальной точки экстента информации клипа базового вида, и информация начальной точки экстента информации клипа зависимого вида.
На фиг.103B показаны блоки данных базового вида B[0], B[1], B[2],..., B[n], образующие последовательность ATC 1, и блоки данных зависимого вида D[0], D[1], D[2],..., D[n], образующие последовательность ATC 2. На фиг.103C показано количество пакетов источника блоков данных зависимого вида и количество пакетов источника блоков данных базового вида.
На фиг.103D показана совокупность блоков данных, включенных в файл стереоскопического перемеженного потока.
Когда, согласно фиг.103B, последовательность ATC 2 состоит из блоков данных зависимого вида D[0], D[1], D[2],..., D[n], то "0", "b1", "b2", "b3", "b4",..., "bn", представляющие относительные номера пакетов источника блоков данных зависимого вида D[0], D[1], D[2],..., D[n], записываются в "SPN_extent_start" в информации начальной точки экстента файла «зависимый».
Когда последовательность ATC 1 состоит из блоков данных базового вида B[0], B[1], B[2],..., B[n], то "0", "a1", "a2", "a3", "a4",..., "an", представляющие относительные номера пакетов источника блоков данных базового вида B[0], B[1], B[2],..., B[n], записываются в "SPN_extent_start" в информации начальной точки экстента файла «базовый».
x
x+1
x+1
x
На фиг.103C показано количество пакетов источника в отношении произвольного блока данных зависимого вида D[x] и произвольного блока данных базового вида B[x] в файле стереоскопического перемеженного потока. Когда начальный номер пакета источника блока данных зависимого вида D[x] равен "b", и начальный номер пакета источника блока данных зависимого вида D[x+1] равен "b", количество пакетов источника, образующих D[x], равно "b-b".
x
x+1
x+1
x
Аналогично, когда начальный номер пакета источника блока данных базового вида B[x] равен "a", и начальный номер пакета источника блока данных базового вида B[x+1] равен "a", количество пакетов источника, образующих B[x], равно "a-a".
Когда начальный номер пакета источника последнего блока данных базового вида B[n] в файле стереоскопического перемеженного потока равен "an", и количество пакетов источника в последовательности ATC 1 равно number_of_source_packets1, количество пакетов источника, образующих блок данных базового вида B[n], равно "number_of_source_packets1 - an".
Когда начальный номер пакета источника последнего блока данных зависимого вида D[n] в файле стереоскопического перемеженного потока равен "bn", и количество пакетов источника в последовательности ATC 2 равно number_of_source_packets2, количество пакетов источника, образующих блок данных зависимого вида D[n], равно "number_of_source_packets2 - bn".
На фиг.103D показаны начальные номера пакетов источника блоков данных зависимого вида и начальные номера пакетов источника блоков данных базового вида в этом примере.
В файле стереоскопического перемеженного потока, начальный SPN в D[0] равен "0", и начальный SPN в B[0] равен "b1".
Начальный SPN в D[1] равен сумме количества пакетов источника "b1" предшествующего D[0] и количества пакетов источника "a1" в B[0], и, таким образом, "b1+a1".
Начальный SPN в B[1] равен сумме количества пакетов источника "b1" предшествующего D[0], количества пакетов источника "a1" в B[0] и количества пакетов источника "b2-b1" предшествующего D[1]. Таким образом, начальный SPN в B[1] равен "b2+a1(=b1+a1+b2-b1)".
Начальный SPN в D[2] равен сумме количества пакетов источника "b1" предшествующего D[0], количества пакетов источника "a1" в B[0], количества пакетов источника "b2-b1" предшествующего D[1] и количества пакетов источника "a2-a1" в B[1]. Таким образом, начальный SPN в D[2] равен "b2+a2(=b1+a1+b2-b1+a2-a1)".
Начальный SPN в B[2] равен сумме количества пакетов источника "b1" предшествующего D[0], количества пакетов источника "a1" в B[0], количества пакетов источника "b2-b1" предшествующего D[1], количества пакетов источника "a2-a1" предшествующего B[1] и количества пакетов источника "b3-b2" в D[2]. Таким образом, начальный SPN в B[2] равен "b3+a2(=b1+a1+b2-b1+a2-a1+b3-b2)".
На фиг.104A-104C поясняются номера пакетов источника произвольных блоков данных в последовательностях ATC 1 и 2.
Здесь рассмотрен случай получения номеров пакетов источника в файле стереоскопического перемеженного потока D[x], который существует под номером пакета источника "bx", в последовательности ATC 2, показанной на фиг.104A. В этом случае, начальный номер пакета источника в D[x] равен сумме относительных номеров пакетов источника в D[0], B[0], D[1], B[1], D[2], B[2],..., D[x-1], B[x-1]. Таким образом, начальный номер пакета источника в D[x] равен "bx+ax", как показано на фиг.104B.
x+1
Кроме того, здесь рассмотрен случай получения номеров пакетов источника в файле стереоскопического перемеженного потока B[x], который существует под номером пакета источника "ax", в последовательности ATC 1, показанной на фиг.104A. В этом случае, начальный номер пакета источника в B[x] равен сумме относительных номеров пакетов источника в D[0], B[0], D[1], B[1], D[2], B[2],..., D[x-1], B[x-1], D[x]. Таким образом, начальный номер пакета источника в B[x] равен "b+ax", как показано на фиг.104B.
На фиг.104C показан файл «базовый», экстентами которого являются вышеописанные блоки данных базового вида, и файл «зависимый», экстентами которого являются вышеописанные блоки данных зависимого вида.
Начальный LBN для EXT1[x], т.е. экстента, соответствующего B[x] файла «базовый», и длина продолжения получаются следующим образом. Кроме того, начальный LBN для EXT2[x], т.е. экстента, соответствующего D[x] файла «зависимый», и длина продолжения получаются следующим образом.
x+1
LBN получается из начального номера пакета источника в D[x] путем преобразования пакета источника в LBN посредством вычисления ((bx+ax)*192/2048). Аналогично, LBN получается из начального номера пакета источника в B[x] путем преобразования пакета источника в LBN посредством вычисления ((b+ax)*192/2048). В этих вычислениях, "192" представляет количество байтов, равное размеру пакета источника. "2048" представляет количество байтов, равное размеру сектора (размера логического блока). LBN экстента файла стереоскопического перемеженного потока, ближайшего к каждому из этих LBN, вычисляется путем присвоения LBN, полученному вышеописанным преобразованием, значения "file_offset", которое является аргументом функции SSIF_LBN(file_offset). Функция SSIF_LBN - это функция, которая отслеживает описатели выделения SSIF из file_offset и возвращает LBN, соответствующий значению file_offset.
x+1
Согласно этим вычислениям, начальный LBN для EXT2[x] выражается как SSIF_LBN((bx+ax)*192/2048), и начальный LBN для EXT1[x] выражается как SSIF_LBN((b+ax)*192/2048).
x+1
x+1
x+1
x+1
С другой стороны, длина продолжения EXT2[x] выражается как (SSIF_LBN((b+ax)*192/2048)-SSIF_LBN((bx+ax)*192/2048)), и длина продолжения EXT1[x] выражается как (SSIF_LBN((b+a)*192/2048)-SSIF_LBN((b+ax)*192/2048)). Можно виртуально получить файл «базовый» и файл «зависимый» путем генерации, в памяти, файловой записи, которая указывает эти LBN и длины продолжения.
На фиг.48 показан синтаксис информации начальной точки экстента. "number_of_extent_units" указывает количество блоков экстента, секции ATS которых одинаковы.
Оператор "for" с переменной управления "extent_id" задает base/dependent_view_extent_start_address и interleaved_base/dependent_view_extent_start_address в количестве, указанном посредством number_of_extents_units.
base/dependent_view_extent_start_address [extent_id] указывает начальный адрес каждого экстента в LR-раздельном формате файла. interleaved_base/dependent_view_extent_start_address [extent_id] указывает начальный адрес каждого экстента в формате файла LR-в-одном. Из них, base_view_extent_start_address [extent_id] указывает относительный адрес от начала файла. Относительный адрес указан в единицах 192 байтов (SPN), и может поддерживать до 768 ГБ с 32 битами. Причина в том, что принимать решение в единицах SPN легче, поскольку это поиск начального адреса воспроизведения с использованием EP_map. Это можно делать в единицах 6 кБ, поскольку каждый экстент выровнен с точностью до 6 кБ. Поскольку 6 кБ = 192 байт * 32, применим 5-битовый сдвиг. Структурный элемент информации начальной точки экстента, который представляет начальный адрес экстента номером пакета источника, именуется "SPN_extent_start".
На фиг.49A и 49B показана информация начальной точки экстента и таблица карты записей, включенная в информационный файл клипа. На фиг.49A схематически показана структура таблицы карты записей. Линия со стрелкой eh1 указывает крупный план внутренней структуры таблицы карты записей. Как указывает линия со стрелкой eh1, таблица карты записей включает в себя "информацию заголовка карты записей", "тип начального экстента", "карту записей для PID=0x1011", "карту записей для PID=0x1012", "карту записей для PID=0x1220", и "карту записей для PID=0x1221".
В "информации заголовка карты записей" хранится информация, например, PID видеопотока, указанные картами записей, и значения точек записи.
"Тип начального экстента" указывает, какой из экстента, образующего видеопоток левого вида, и экстента, образующего видеопоток правого вида, располагается первым.
"Карта записей для PID=0x1011", "карта записей для PID=0x1012", "карта записей для PID=0x1220" и "карта записей для PID=0x1221" - это карты записей для каждого PES-потока, образованного из совокупности типов пакетов источника. Каждая карта записей включает в себя "точки записи", каждая из которых состоит из пары значений PTS и SPN. Кроме того, идентификационный номер точки записи называется "ID точки записи" (далее используется обозначение EP_ID), причем EP_ID первой точки записи равен "0", и затем EP_ID каждой следующей точки записи увеличивается на "1". С использованием карты записей, устройство воспроизведения может идентифицировать позицию пакета источника, соответствующую произвольной позиции на временной оси видеопотока. Например, при осуществлении особого режима воспроизведения, например, перемотки вперед или назад, I-изображения, зарегистрированные в картах записей, можно идентифицировать, выбирать и воспроизводить. Это позволяет эффективно осуществлять обработку, не анализируя AV клип. Кроме того, карты записей создаются для каждого видеопотока, мультиплексированного в AV клипе, и управляются посредством PID.
Линия со стрелкой eh2 указывает крупный план внутренней структуры карты записей для PID=0x1011. Карта записей для PID=0x1011 включает в себя точки записи, соответствующие EP_ID=0, EP_ID=1, EP_ID=2 и EP_ID=3. Точка записи, соответствующая EP_ID=0, указывает соответствие между флагом "is_angle_change", установленным на "ON", SPN=3 и PTS=80000. Точка записи, соответствующая EP_ID=1, указывает соответствие между флагом "is_angle_change", установленным на "OFF", SPN=1500 и PTS=270000.
Точка записи, соответствующая EP_ID=2, указывает соответствие между флагом "is_angle_change", установленным на "OFF", SPN=3200 и PTS=360000. Точка записи, соответствующая EP_ID=3, указывает соответствие между флагом "is_angle_change", установленным на "OFF", SPN=4800 и PTS=450000. Здесь, флаг "is_angle_change" указывает, можно ли декодировать независимо от самой точки записи. Когда видеопоток закодирован посредством MVC или MPEG-4AVC, и в точке записи существует IDR-изображение, этот флаг устанавливается на "ON". Когда в точке записи существует не-IDR-изображение, этот флаг устанавливается на "OFF".
На фиг.49B показано, какие пакеты источника указаны точками записи, включенными в карту записей, соответствующую пакету TS, имеющему PID=0x1011, как показано на фиг.15A. Точка записи, соответствующая EP_ID=0, указывает SPN=3, и этот номер пакета источника связан с PTS=80000. Точка записи, соответствующая EP_ID=1, указывает SPN=1500, и этот номер пакета источника связан с PTS=270000.
Точка записи, соответствующая EP_ID=2, указывает SPN=3200, и этот номер пакета источника связан с PTS=360000. Точка записи, соответствующая EP_ID=3, указывает SPN=4800, и этот номер пакета источника связан с PTS=450000.
На фиг.50 показан атрибут потока, включенный в программную информацию.
Линия со стрелкой ah1 указывает крупный план внутренней структуры атрибута потока.
Как указывает линия со стрелкой ah1, информация атрибутов потока включает в себя: информацию атрибутов потока для видеопотока левого вида, образованного из пакета TS, имеющего ID пакета "0x1011"; информацию атрибутов потока для видеопотока правого вида, образованного из пакета TS, имеющего ID пакета "0x1012"; информацию атрибутов потока для аудиопотока, образованного из пакетов TS, имеющих ID пакетов "0x1100" и "0x1101"; и информацию атрибутов потока для PG-потока, образованного из пакетов TS, имеющих ID пакетов "0x1220" и "0x1221". Отсюда следует, что информация атрибутов потока указывает, какие атрибуты имеют PES-потоки, причем PES-потоки образованы из совокупности типов пакетов источника. Как указывает линия со стрелкой ah1, информация атрибутов каждого потока, включенного в AV клип, регистрируется для каждого PID.
На фиг.51 показана регистрация точек записи в карте записей. Первая строка на фиг.51 демонстрирует временную ось, заданную последовательностью STC. Во второй строке показана карта записей, включенная в информацию клипа. Третья строка демонстрирует информацию начальной точки экстента в зависимой информации клипа и информацию начальной точки экстента в базовой информации клипа. В четвертой строке показана последовательность пакетов источника, образующих последовательность ATC. Когда карта записей указывает пакет источника, соответствующий SPN=n1, из последовательности ATC, PTS карты записей задается как "PTS=t1" на временной оси последовательности STC. При такой конфигурации можно предписывать устройству воспроизведения осуществлять произвольный доступ к пакету источника, соответствующему SPN=n1 в последовательности ATC в момент времени "PTS=t1". Кроме того, когда карта записей указывает пакет источника, соответствующий SPN=n21, из последовательности ATC, PTS карты записей задается как "PTS=t21" на временной оси последовательности STC. При такой конфигурации можно предписывать устройству воспроизведения осуществлять произвольный доступ к пакету источника, соответствующему SPN=n21, в последовательности ATC в момент времени "PTS=t21".
С использованием карты записей, устройство воспроизведения может идентифицировать позицию пакета источника, соответствующую произвольной позиции на временной оси видеопотока. Например, при осуществлении особого режима воспроизведения, например, перемотки вперед или назад, I-изображения, зарегистрированные в картах записей, можно идентифицировать, выбирать и воспроизводить. Это позволяет эффективно осуществлять обработку, не анализируя AV клип.
Кроме того, в третьей строке, начальная точка экстента [i] в зависимой информации клипа и начальная точка экстента [j] в базовой информации клипа указывают начальные номера пакетов источника экстентов, образующих видеопоток зависимого вида и видеопоток базового вида в четвертой строке, соответственно.
Благодаря такой структуре, можно извлекать только последовательность пакетов источника, образующих видеопоток базового вида, путем чтения пакета источника, указанного начальной точкой экстента [i] в зависимой информации клипа через пакет источника сразу перед пакетом источника, указанным начальной точкой экстента [j] в базовой информации клипа.
Также можно извлекать только последовательность пакетов источника, образующих видеопоток базового вида, путем чтения пакета источника, указанного начальной точкой экстента [j] в базовой информации клипа через пакет источника сразу перед пакетом источника, указанным начальной точкой экстента [i+1] в зависимой информации клипа.
Кроме того, можно восстанавливать последовательность ATC, которая образует видеопоток базового вида, объединяя пакеты источника, образующие видеопоток базового вида; и можно восстанавливать последовательность ATC, которая образует видеопоток зависимого вида, объединяя пакеты источника, образующие видеопоток зависимого вида.
На фиг.52 показано восстановление последовательности ATC из блоков данных, образующих файл стереоскопического перемеженного потока.
Четвертая строка на фиг.52 демонстрирует совокупность блоков данных, которые образуют файл стереоскопического перемеженного потока. Третья строка демонстрирует последовательность пакетов источника, мультиплексируемую в главный TS и вспомогательный TS.
Во второй строке показан набор из последовательности STC 2, образующей зависимый вид, карты записей и последовательности ATC 2, образующей зависимый вид. Первая строка демонстрирует набор из последовательности STC 1, образующей зависимый вид, карты записей и последовательности ATC 1, образующей зависимый вид. Стрелки, идущие от третьей строки к первой и второй строкам, схематически показывают, что последовательности ATC 1 и 2 восстанавливаются из блоков данных двух TS (главного TS и вспомогательного TS), перемеженных в файле стереоскопического перемеженного потока. Эти последовательности ATC связаны с последовательностями STC картой записей в информации клипа.
На этом завершается описание носителя записи в настоящем варианте осуществления. Далее подробно описано устройство воспроизведения.
Устройство воспроизведения в настоящем варианте осуществления имеет структуру, в которой блок чтения принимает вводы пакетов источника из двух носителей записи. С этой целью, блок чтения включает в себя два привода и два буфера чтения. Два привода используются для осуществления доступа к двум носителям записи, соответственно. Два буфера чтения используются для временного хранения пакетов источника, поступающих из двух приводов, и вывода их на декодер. Между двумя приводами и двумя буферами чтения предусмотрен блок восстановления последовательности ATC. Блок восстановления последовательности ATC разделяет последовательность ATC, образующую поток базового вида, и последовательность ATC, образующую поток зависимого вида, из пакетов источника в файле перемеженного потока, считанном с одного носителя записи, и записывает две последовательности ATC в два буфера чтения, соответственно. Благодаря такой структуре, устройство воспроизведения может обрабатывать последовательность ATC, образующую видеопоток базового вида, и последовательность ATC, образующую видеопоток зависимого вида, как если бы они считывались с разных носителей записи, соответственно. На фиг.53A показана внутренняя структура блока чтения, снабженного блоком восстановления последовательности ATC. Как описано выше, блок восстановления последовательности ATC предусмотрен между двумя приводами и двумя буферами чтения. Стрелка B0 символически указывает ввод пакета источника из одного привода. Стрелка B1 схематически указывает запись последовательности ATC 1, образующей видеопоток базового вида. Стрелка D1 схематически указывает запись последовательности ATC 2, образующей видеопоток зависимого вида.
На фиг.53B показано, как обрабатываются последовательности ATC, полученные блоком восстановления последовательности ATC. Фильтры PID, предусмотренные в блоке демультиплексирования, показаны в средней части фиг.53B. В левой стороне фигуры показаны две последовательности ATC, полученные блоком восстановления последовательности ATC. В правой стороне фигуры показаны видеопоток базового вида, видеопоток зависимого вида, PG-поток базового вида, PG-поток зависимого вида, IG-поток базового вида и IG-поток зависимого вида, которые получаются путем демультиплексирования двух последовательностей ATC. Демультиплексирование, осуществляемое двумя последовательностями ATC, базируется на базовой таблице выбора потока и расширенной таблице выбора потока, описанных согласно варианту осуществления 1. Блок восстановления последовательности ATC реализуется путем составления программы, которая предписывает аппаратному ресурсу осуществлять процесс, показанный на фиг.54. На фиг.54 показана процедура для восстановления последовательности ATC.
На этапе S91 последовательность ATC для базового вида задается как последовательность ATC 1, и последовательность ATC для зависимого вида задается как последовательность ATC 2. На этапе S92 переменной "x" первоначально присваивается значение "1". Переменная "x" указывает блок данных базового вида и блок данных зависимого вида. После этого управление входит в цикл, в котором этапы S94-S96 повторно осуществляются следующим образом.
x
n
x
x
x
x
x+1
x
x+1
x
x+1
x
x+1
x+1
Производится определение, равен ли номер пакета источника b, указанный переменной "x", номеру пакета источника b, указанному последним номером "n" блока данных базового вида (этап S93). В случае отрицательного результата определения (Нет на этапе S93), пакеты источника от пакета источника (b+a), который указан номером пакета источника "b+a", до пакета источника сразу перед пакетом источника (b+a), указанным номером пакета источника "b+a" добавляются в последовательность ATC 2 (этап S94). Затем, пакеты источника от пакета источника (b+a) до пакета источника сразу перед пакетом источника (b+a) добавляются в последовательность ATC 1 (этап S95). И затем переменная "x" получает приращение (этап S96). Эти этапы повторяются, пока на этапе S93 не будет получен ответ Да.
n
n
Когда на этапе S93 получен ответ Да, пакеты источника в количестве, указанном "number_of_source_packet2-bn", начиная с номера пакета источника "b", добавляются в последовательность ATC 2 (этап S97). И пакеты источника в количестве, указанном "number_of_source_packet1-bn", начиная с номера пакета источника "a", добавляются в последовательность ATC 1 (этап S98).
После восстановления последовательностей ATC 1 и 2 путем осуществления вышеописанных этапов, файл «базовый» виртуально открывается путем генерации, в памяти, файловой записи, которая указывает начальный LBN блока данных базового вида и длину продолжения (этап S99). Аналогично, файл «зависимый» виртуально открывается путем генерации, в памяти, файловой записи, которая указывает начальный LBN блока данных зависимого вида и длину продолжения (этап S100).
<Технический смысл открытия файла «базовый»>
При осуществлении произвольного доступа от произвольного момента времени, нужно осуществлять поиск сектора в файле потока. Поиск сектора - это процесс идентификации номера пакета источника для пакета источника, соответствующего произвольному моменту времени, и чтения файла от сектора, который содержит пакет источника, имеющего номер пакета источника.
Ввиду большого размера одного экстента, образующего файл стереоскопического перемеженного потока, для поиска сектора требуется широкий диапазон поиска. В этом случае, при осуществлении произвольного доступа от произвольного момента времени, идентификация сектора, с которого нужно производить чтение может занимать много времени.
Причина в том, что, в файле перемеженного потока, блоки данных, образующие видеопоток базового вида и видеопоток зависимого вида, перемежаются с образованием одного длинного экстента, и описатель выделения файловой записи файла перемеженного потока указывает лишь начальный адрес длинного экстента.
Напротив, файл «базовый» состоит из совокупности коротких экстентов, и начальный адрес каждого экстента записан в описателе выделения. В результате, для поиска сектора требуется узкий диапазон поиска. Таким образом, при осуществлении произвольного доступа от произвольного момента времени, сектор, с которого нужно производить чтение, можно идентифицировать в короткое время.
Иначе говоря, поскольку блоки данных, образующие видеопоток базового вида, обрабатываются как экстенты файла «базовый», и начальный адрес блока данных записывается в описатель выделения в файловой записи, соответствующей файлу «базовый», можно быстро достигать сектора, включающего в себя пакет источника в целевой позиции произвольного доступа, начиная поиск сектора с начального адреса экстента, который содержит целевую позицию произвольного доступа.
Благодаря вышеописанной структуре, в которой блоки данных, образующие видеопоток базового вида, обрабатываются как экстенты файла «базовый», и начальный адрес каждого экстента и длина продолжения записываются в описатель выделения в файловой записи, соответствующей файлу «базовый», можно осуществлять произвольный доступ от произвольного момента времени в видеопотоке базового вида с высокой скоростью.
В частности, поиск сектора осуществляется следующим образом. Прежде всего, карта записей, соответствующая видеопотоку базового вида, используется для определения номера пакета источника, который является произвольной позицией доступа, соответствующей произвольному моменту времени.
Затем, информация начальной точки экстента в информации клипа, соответствующая видеопотоку базового вида, используется для определения экстента, который содержит номер пакета источника, который является произвольной позицией доступа.
Кроме того, к описателю выделения в файловой записи, соответствующей файлу «базовый», обращаются для идентификации начального адреса сектора для экстента, который содержит номер пакета источника, который является произвольной позицией доступа. Затем осуществляется чтение файла путем установления указателя файла на начальный адрес сектора, и анализ пакета выполняется на считанном пакете источника, чтобы идентифицировать пакет источника с номером пакета источника, который является произвольной позицией доступа. Затем идентифицированный пакет источника считывается. Благодаря этой процедуре, можно эффективно выполнять произвольный доступ к главному TS. Это также применимо к вспомогательному TS.
Как описано выше, согласно настоящему варианту осуществления, экстенты видеопотока базового вида и видеопотока зависимого вида в файле перемеженного потока поступают на блок демультиплексирования и декодер после их реорганизации на основании информации начальной точки экстента. Таким образом, декодер и программа могут обрабатывать, в качестве файлов, виртуально существующих на носителе записи, файл «базовый», где хранится видеопоток базового вида, и файл «зависимый», где хранится видеопоток зависимого вида.
В этой структуре, видеопоток базового вида и видеопоток зависимого вида для стереоскопического наблюдения записываются на носителе записи, тогда как доступ к видеопотоку базового вида и видеопотоку зависимого вида можно осуществлять по отдельности. Благодаря такой структуре, эффективность обработки устройства воспроизведения повышается.
Следует заметить, что, хотя информация начальной точки экстента может указывать начало экстента в единицах байтов, предпочтительно указывать начало экстента в единицах фиксированной длины, когда экстенты выровнены с блоками чтения фиксированной длины, например, блоками ECC. Это ограничивает объем информации, которая требуется для идентификации адресов.
(Вариант осуществления 4)
Настоящий вариант осуществления поясняет блок демультиплексирования, декодер и аппаратный масштаб блока памяти плоскости.
Блок демультиплексирования, согласно настоящему варианту осуществления, включает в себя пары депакетизатора источника и фильтра PID в количестве, равном количеству линий ввода потока.
На фиг.55A и 55B показаны внутренние структуры блока демультиплексирования и видеодекодера.
На фиг.55A показана модель декодера блока демультиплексирования. В этом примере, блок демультиплексирования включает в себя две пары депакетизатора источника и фильтра PID. Причина в том, что первоначально блок демультиплексирования обрабатывает две линии ввода потока из двух носителей записи. В режиме 2D воспроизведения, блок демультиплексирования обрабатывает вводы потока из двух носителей записи, и в режиме 3D воспроизведения, блок демультиплексирования обрабатывает две линии ввода потока, а именно, "L" и "R", и "2D" и "глубина".
Согласно фиг.55A, блок демультиплексирования включает в себя депакетизатор источника 22, фильтр PID 23, депакетизатор источника 27 и фильтр PID 28.
Депакетизатор источника 22, в состоянии, когда пакет источника хранится в буфере чтения 2a, в момент, когда значение ATC, генерируемое счетчиком ATC, и значение ATS пакета источника, хранящееся в буфере чтения 2a, становятся одинаковыми, переносит только пакет источника (пакет TS) на фильтр PID 23 в соответствии со скоростью записи AV клипа. При переносе, время ввода в декодер регулируется в соответствии с ATS каждого пакета источника.
Фильтр PID 23 выводит, среди пакетов TS, выводимых из депакетизатора источника 22, пакеты TS, PID которых совпадают с PID, необходимыми для воспроизведения, на декодеры согласно PID.
Депакетизатор источника 26, в состоянии, когда пакет источника хранится в буфере чтения 2b, в момент, когда значение ATC, генерируемое счетчиком ATC, и значение ATS пакета источника, хранящееся в буфере чтения 2b становятся одинаковыми, переносит только пакет источника (пакет TS) на фильтр PID 27 в соответствии с системной скоростью AV клипа. При переносе, время ввода в декодер регулируется в соответствии с ATS каждого пакета источника.
Фильтр PID 27 выводит, среди пакетов TS, выводимых из депакетизатора источника 26, пакеты TS, PID которых совпадают с PID, необходимыми для воспроизведения, на декодеры согласно PID.
Теперь будет описана внутренняя структура первичного видеодекодера 31.
На фиг.55B показана внутренняя структура первичного видеодекодера 31. Согласно фиг.55B, фильтр PID 23 включает в себя TB 51, MB 52, EB 53, TB 54, MB 55, EB 56, ядро 57 декодера, переключатель 58 буфера, DPB 59 и переключатель 60 изображения.
Транспортный буфер (TB) 51 - это буфер для временного хранения пакета TS, содержащего видеопоток левого вида, в том виде, в каком он выводится из фильтра PID 23.
Мультиплексируемый буфер (MB) 52 - это буфер для временного хранения пакета PES, когда видеопоток выводится из TB на EB. При переносе данных из TB в MB, заголовок TS удаляется из пакета TS.
Элементарный буфер (EB) 53 - это буфер для хранения единицы доступа к видео в кодированном состоянии. При переносе данных из MB на EB, заголовок PES удаляется.
Транспортный буфер (TB) 54 - это буфер для временного хранения пакета TS, содержащего видеопоток правого вида, в том виде, в каком он выводится из фильтра PID.
Мультиплексируемый буфер (МБ) 55 - это буфер для временного хранения пакета PES, когда видеопоток выводится из TB на EB. При переносе данных из TB в MB, заголовок TS удаляется из пакета TS.
Элементарный буфер (EB) 56 - это буфер для хранения единицы доступа к видео в кодированном состоянии. При переносе данных из MB на EB, заголовок PES удаляется.
Ядро 57 декодера генерирует изображение кадра/поля путем декодирования каждой единицы доступа, образующей видеопоток, в заранее определенные времена декодирования (DTS). Поскольку существует совокупность методов кодирования со сжатием, например, MPEG2, MPEG4 AVC и VC1, которые можно использовать для кодирования со сжатием видеопотока, подлежащего мультиплексированию в AV клип, метод декодирования ядра 57 декодера выбирается в соответствии с атрибутом потока. При декодировании данных изображения, составляющих видеопоток базового вида, ядро 57 декодера осуществляет компенсацию движения с использованием данных изображения, которые существуют в будущих и прошлых направлениях, в качестве опорных изображений. При декодировании каждого фрагмента данных изображения, составляющего видеопоток зависимого вида, ядро 57 декодера осуществляет компенсацию движения с использованием данных изображения, которые образуют видеопоток базового вида, в качестве опорных изображений. После такого декодирования данных изображения, ядро 57 декодера переносит декодированное изображение кадра/поля на DPB 59 и переносит соответствующее изображение кадра/поля на переключатель изображения в соответствии с хронированием времени отображения (PTS).
Переключатель 58 буфера определяет, из какого из EB 53 и EB 56 следует извлекать следующую единицу доступа, с использованием информации переключения декодирования, полученной, когда ядро 57 декодера декодировало единицы доступа к видео, и переносит изображение из EB 53 или EB 56 в ядро 57 декодера в соответствии с хронированием времени декодирования (DTS), назначенным единице доступа к видео. Поскольку DTS видеопотока левого вида и видеопотока правого вида задаются на попеременное прибытие в единицах изображений на временной оси, предпочтительно, чтобы единицы доступа к видео переносились в ядро 57 декодера в единицах изображений, при осуществлении декодирования, опережая расписание, не взирая на DTS.
Буфер декодированного изображения (DPB) 59 - это буфер для временного хранения декодированного изображения кадра/поля. DPB 59 используется видеодекодером 57 для обращения к декодированным изображениям, когда видеодекодер 57 декодирует единицу доступа к видео, например, P-изображение или B-изображение, закодированное путем кодирования с прогнозированием между изображениями.
Переключатель 60 изображения, когда декодированное изображение кадра/поля, переносимое из видеодекодера 57, подлежит записи в плоскость видео, переключает назначение записи между плоскостью видео левого вида и плоскостью видео правого вида. Когда целью является поток левого вида, несжатые данные изображения сразу записываются в плоскость видео левого вида, и, когда целью является поток правого вида, несжатые данные изображения сразу записывается в плоскость видео правого вида.
Была описана работа видеодекодера при переключении режимов. Согласно методу LR, 2D изображение отображается, когда режим переключается в режим, в котором выводятся только изображения левого вида. Согласно методу глубины, 2D изображение отображается, когда обработка информации глубины останавливается, и информация глубины не добавляется. Следует заметить, что метод LR и метод глубины требуют разных данных. Таким образом, когда осуществляется переключение между ними, декодируемые потоки не нужно повторно выбирать.
Теперь будет описан размер декодера и блока памяти плоскости в устройстве воспроизведения.
Определение, нужно ли снабжать устройство одним декодером или двумя декодерами, или одной плоскостью или двумя плоскостями, производится на основании комбинации типа потока и стереоскопического метода.
Когда применяется метод 3D-LR, и целью воспроизведения является видеопоток MVC, устройство воспроизведения снабжается одним декодером и двумя плоскостями.
Когда применяется метод 3D-глубины, устройство воспроизведения снабжается одним декодером и двумя плоскостями, и требуется генератор параллаксного изображения. Это также применимо к первичному видеопотоку и вторичному видеопотоку.
Причина, по которой устройство воспроизведения имеет один декодер при воспроизведении видеопотока MVC, состоит в том, что несжатые данные изображения левого вида и правого вида используются в качестве опорных изображений для реализации компенсации движения для макроблоков каждого фрагмента сжатых данных изображения. Несжатые данные изображения левого вида и правого вида, подлежащие использованию в качестве опорных изображений, сохраняются в буфере декодированного изображения.
На этом завершается описание видеодекодера и плоскости видео.
Для PG-потока: устройство воспроизведения снабжается одним декодером и одной плоскостью, когда применяется метод "1 плоскость + смещение"; и устройство воспроизведения снабжается двумя декодерами и двумя плоскостями, когда применяется метод 3D-LR или метод 3D-глубины.
Для IG-потока: устройство воспроизведения снабжается одним декодером и одной плоскостью, когда применяется метод "1 плоскость + смещение"; и устройство воспроизведения снабжается двумя декодерами и двумя плоскостями, когда применяется метод 3D-LR.
Для потока текстовых субтитров, к которому нельзя применять метод 3D-LR: устройство воспроизведения снабжается одним декодером и одной плоскостью, когда применяется метод "1 плоскость + смещение"; и устройство воспроизведения снабжается одним декодером и двумя плоскостями, когда применяется метод 3D-глубины.
Теперь будет описана внутренняя структура PG-потока и внутренняя структура декодера PG для декодирования PG-потока.
Каждый из PG-потока левого вида и PG-потока правого вида включает в себя совокупность установок отображения. Установка отображения - это набор функциональных сегментов, которые образуют одно экранное отображение. Функциональные сегменты являются единицами обработки, которые поступают на декодер, сохраняясь в полезных нагрузках пакетов PES, каждый из которых имеет размер примерно 2 кБ, и подвергаются управлению воспроизведением с использованием DTS и PTS.
Установка отображения подразделяется на следующие типы.
A. Установка отображения «начало эпохи»
Установка отображения «начало эпохи» - это набор функциональных сегментов, которые начинают управление памятью путем сброса композиционного буфера, буфера данных кода и плоскости графики в графическом декодере. Установка отображения «начало эпохи» включает в себя все функциональные сегменты, необходимые для композиции экрана.
B. Установка отображения «нормальный случай»
Установка отображения «нормальный случай» - это установка отображения, которая осуществляет композицию экрана, продолжая управление памятью композиционного буфера, буфера данных кода и плоскости графики в графическом декодере. Установка отображения «нормальный случай» включает в себя функциональные сегменты, которые отличаются от предыдущей установки отображения.
C. Установка отображения «точка захвата»
Установка отображения «точка захвата» - это установка отображения, которая включает в себя все функциональные сегменты, необходимые для композиции экрана, но не сбрасывает управление памятью композиционного буфера, буфера данных кода и плоскости графики в графическом декодере. Установка отображения «точка захвата» может включать в себя функциональные сегменты, которые отличаются от функциональных сегментов в предыдущей установке отображения.
D. Установка отображения «продолжение эпохи»
Установка отображения «продолжение эпохи» - это установка отображения, которая продолжает управление памятью композиционного буфера, буфера данных кода и плоскости графики в устройстве воспроизведения как есть, когда соединение между элементом воспроизведения, разрешающим воспроизведение PG-потока, и элементом воспроизведения сразу перед элементом воспроизведения является "гладким соединением" (CC=5), которое развивает полный разрыв. В этом случае, графические объекты, полученные в буфере объектов и плоскости графики, остаются в буфере объектов и плоскости графики и не отбрасываются.
Определенные моменты времени на временной оси воспроизведения последовательности STC назначаются в качестве начальной точки и конечной точки этих установок отображения, и одни и те же моменты времени назначаются левому виду и правому виду. Кроме того, для PG-потока левого вида и PG-потока правого вида, типы установок отображения, которые присутствуют в один и тот же момент времени на временной оси, одинаковы. Иначе говоря, когда установка отображения на стороне левого вида является установкой отображения «начало эпохи», установка отображения на стороне правого вида, т.е. в тот же момент времени на временной оси последовательности STC, является установкой отображения «начало эпохи».
Кроме того, когда установка отображения на стороне левого вида является установкой отображения «точка захвата», установка отображения на стороне правого вида, т.е. в тот же момент времени на временной оси последовательности STC, является установкой отображения «точка захвата».
Каждая установка отображения включает в себя совокупность функциональных сегментов. Совокупность функциональных сегментов включает в себя следующее.
(1) Сегмент задания объектов
Сегмент задания объектов - это функциональный сегмент для задания графического объекта. Сегмент задания объектов задает графический объект с использованием кодового значения и длины последовательности кодового значения.
(2) Сегмент задания палитры
Сегмент задания палитры включает в себя данные палитры, которые указывают соответствие между каждым кодовым значением, яркостью и цветоразностью относительно красного/цветоразностью относительно синего. Одно и то же соответствие между кодовым значением, яркостью и цветоразностью устанавливается в сегменте задания палитры графического потока левого вида и в сегменте задания палитры графического потока правого вида.
(3) Сегмент задания окна
Сегмент задания окна - это функциональный сегмент для задания прямоугольной рамки, именуемой "окном", в блоке памяти плоскости, которая используется для распространения несжатого графического объекта на экран. Визуализация графического объекта ограничивается внутренней частью блока памяти плоскости, и визуализация графического объекта не осуществляется за пределами окна.
Поскольку часть блока памяти плоскости указана как окно для отображения графики, устройство воспроизведения не обязано осуществлять визуализацию графики для всей плоскости. Иначе говоря, устройству воспроизведения необходимо осуществлять только визуализацию графики в окно, которое имеет ограниченный размер. Визуализацию части плоскости для отображения чего-либо помимо окна можно опустить. Это снижает нагрузку программного обеспечения на стороне устройства воспроизведения.
(4) Сегмент композиции экрана
Сегмент композиции экрана - это функциональный сегмент для задания композиции экрана с использованием графического объекта, и включает в себя совокупность элементов управления для контроллера композиции в графическом декодере. Сегмент композиции экрана - это функциональный сегмент, который детально задает установку отображения графического потока и задает композицию экрана с использованием графического объекта. Композиция экрана подразделяется на типы например Cut-In/-Out, Fade-In/-Out, Color Change, Scroll и Wipe-In/-Out. С использованием композиции экрана, заданной сегментом композиции экрана, можно реализовать эффекты отображения, например, постепенное исчезновение субтитра одновременно с отображением следующего субтитра.
(5) Концевой сегмент
Концевой сегмент - это функциональный сегмент, который располагается в конце совокупности функциональных сегментов, принадлежащих одной установке отображения. Устройство воспроизведения распознает последовательность сегментов от сегмента композиции экрана до концевого сегмента как функциональные сегменты, которые образуют одну установку отображения.
В PG-потоке начальный момент времени установки отображения идентифицируется посредством DTS пакета PES, где хранится сегмент композиции экрана, и конечный момент времени установки отображения идентифицируется посредством PTS пакета PES, где хранится сегмент композиции экрана.
Графический поток левого вида и графический поток правого вида являются пакетизированными элементарными потоками (PES). Сегмент композиции экрана сохраняется в пакете PES. PTS пакета PES, где хранится сегмент композиции экрана, указывает время, когда следует выполнять отображение согласно установке отображения, которой принадлежит сегмент композиции экрана.
Значение PTS пакета PES, где хранится сегмент композиции экрана, одинаково для видеопотока левого вида и видеопотока правого вида.
- Модели декодера для декодера PG
Декодер PG включает в себя: "буфер кодированных данных" для хранения функциональных сегментов, считанных из PG-потока; "графический процессор потока" для получения графического объекта путем декодирования сегмента композиции экрана; "буфер объектов" для хранения графического объекта, полученного путем декодирования; "композиционный буфер" для хранения сегмента композиции экрана; и "контроллер композиции" для декодирования сегмента композиции экрана, хранящегося в композиционном буфере, и осуществления композиции экрана на плоскости графики с использованием графического объекта, хранящегося в буфере объектов, на основании элементов управления, включенных в сегмент композиции экрана.
"Транспортный буфер" для регулировки скорости ввода пакетов TS, образующих функциональные сегменты, предусмотрен в положении перед плоскостью графики.
Кроме того, в положениях после графического декодера, предусмотрены "плоскость графики", "блок CLUT" для преобразования пиксельных кодов, образующих графический объект, хранящийся в плоскости графики, в значения яркости/цветоразности на основании сегмента задания палитры, и "блок сдвига" для сдвига плоскости.
Конвейер в PG-потоке позволяет одновременно выполнять следующие процессы: процесс, в котором графический декодер декодирует сегмент задания объектов, принадлежащий данной установке отображения, и записывает графический объект в буфер графики; и процесс, в котором графический объект, полученный путем декодирования сегмента задания объектов, принадлежащего предыдущей установке отображения, записывается из буфера объектов в блок памяти плоскости.
На фиг.56A и 56B показана внутренняя структура графического декодера для PG-потока. На фиг.56A показана модель декодера для отображения данных в режиме «1 плоскость + смещение». На фиг.56B показана модель декодера для отображения данных в режиме LR.
На фиг.56A и 56B сам графический декодер представлен рамкой, вычерченной сплошной линией, и часть, которая следует за графическим декодером, представлена рамкой, вычерченной штрихпунктирной линией.
На фиг.56A показана структура, состоящая из одного графического декодера и одной плоскости графики. Однако выход плоскостей графики разветвляется на левый вид и правый вид. Таким образом, предусмотрено два блока сдвига в соответствии с выходами левого вида и правого вида, соответственно.
На фиг.56B показано, что предусмотрено две цепочки "транспортный буфер" - "графический декодер" - "плоскость графики" - "блок CLUT", что позволяет независимо обрабатывать поток левого вида и поток правого вида.
Последовательность смещений содержится в видеопотоке зависимого вида. Таким образом, в формате смещения плоскости, предусмотрен один графический декодер, и выход графического декодера поступает на левый вид и правый вид путем переключения между ними.
Декодер PG осуществляет следующие действия для переключения между 2D и 3D.
1. Взаимное переключение между режимом «1 плоскость + смещение» и режимом 2D осуществляется плавно. Для этого аннулируется "смещение".
2. При осуществлении переключения между режимом 3D-LR и режимом 2D, отображение субтитра временно исчезает, поскольку для переключения между режимами требуется переключение между PID. Это то же самое, что переключение между потоками.
3. При осуществлении переключения между режимом 3D-LR и режимом L, производится переключение на дисплей только L (стороны базового вида). Плавное переключение возможно, но существует вероятность сдвига позиции отображения.
При осуществлении переключения между режимом 3D-глубины и режимом 2D, можно плавно переключаться между графическими объектами, заранее генерируя, в фоне при отображении 2D, графические объекты левого вида и правого вида путем декодирования информации глубины, указанной шкалой серого.
Когда переключение выполняется декодером PG, переключение из режима глубины или "1 плоскость + смещение" в режим 2D не представляет сложности. Однако, в случае метода 3D-LR, графические объекты для стереоскопического и 2D наблюдения отличаются друг от друга. Таким образом, PG-поток, который обрабатывается, когда необходимо совершить переключение, нужно изменять, и существует вероятность того, что графический объект не будет отображаться, пока не будет обеспечен следующий PG-поток.
Во избежание возникновения периода, в течение которого графический объект не отображается, допустимо переключение только на графический объект базового вида, но не на 2D графический объект фронтального вида. В этом случае, изображение может отображаться слегка сдвинутым влево. Кроме того, можно задавать данные управления для указания, какой метод следует использовать при переключении от стереоскопической PG к 2D PG.
- Модели декодера для декодера текстовых субтитров
Декодер текстовых субтитров состоит из совокупности фрагментов данных описания субтитров.
Декодер текстовых субтитров включает в себя: "процессор субтитров" для отделения текстового кода и информации управления от данных описания субтитров; "буфер информации управления" для хранения текстового кода, отделенного от данных описания субтитров; "текстовый рендерер" для распространения текстового кода в буфере информации управления на битовую карту с использованием данных шрифта; "объектный буфер" для хранения битовой карты, полученной за счет распространения; и "блок управления визуализацией" для управления воспроизведением текстовых субтитров по временной оси с использованием информации управления, отделенной от данных описания субтитров.
Декодеру текстовых субтитров предшествуют: "буфер предварительной загрузки шрифтов" для предварительной загрузки данных шрифта; "буфер TS" для регулировки скорости ввода пакетов TS, образующих поток текстовых субтитров; и "буфер предварительной загрузки субтитров" для предварительной загрузки потока текстовых субтитров до воспроизведения элемента воспроизведения.
После графического декодера следуют "плоскость графики"; "блок CLUT" для преобразования пиксельных кодов, образующих графический объект, хранящийся в плоскости графики, в значения яркости и цветоразности на основании сегмента задания палитры; и "блок сдвига" для сдвига плоскости.
На фиг.57A и 57B показана внутренняя структура декодера текстовых субтитров. На фиг.57A показана модель декодера для декодера текстовых субтитров в режиме «1 плоскость + смещение». На фиг.57B показана модель декодера для декодера текстовых субтитров, основанного на методе 3D-LR. На фиг.57A и 57B, сам декодер текстовых субтитров представлен рамкой, вычерченной сплошной линией, часть, которая следует за декодером текстовых субтитров, представлена рамкой, вычерченной штрихпунктирной линией, и часть, которая предшествует декодеру текстовых субтитров, представлена рамкой, вычерченной пунктирной линией.
На фиг.57A показано, что выход плоскостей графики разветвляется на левый вид и правый вид. Таким образом, предусмотрено два блока сдвига в соответствии с выходами левого вида и правого вида, соответственно.
На фиг.57B показано, что предусмотрены плоскость графики левого вида и плоскость графики правого вида, и что битовая карта, расширенная декодером текстовых субтитров, записывается в плоскости графики. В декодере текстовых субтитров, основанном на методе 3D-LR, информация цветовой палитры расширена, и три цвета добавлено для обеспечения "глубины" помимо трех цветов для символов, фона и края субтитра. Движок рендеринга может рендеризовать субтитр.
Поток текстовых субтитров отличается от PG-потока следующим. Иначе говоря, данные шрифта и код символа передаются в виде битовой карты, но не графические данные, благодаря чему движок рендеринга генерирует субтитр. Таким образом, стереоскопическое наблюдение субтитра реализуется в режиме «1 плоскость + смещение». Когда текстовый субтитр отображается в режиме «1 плоскость + смещение», переключение между режимами производится путем переключения между наборами шрифтов или переключения между методами рендеринга. Также известен метод переключение между режимами путем задания набора шрифтов L/R или набора шрифтов OpenGL. Движок рендеринга также может осуществлять 3D отображение.
В режиме 3D-LR, стереоскопическое воспроизведение реализуется путем задания набора шрифтов и набора шрифтов OpenGL для базового вида независимо от набора шрифтов и набора шрифтов OpenGL для зависимого вида. Движок рендеринга также может рендеризовать 3D шрифт для реализации стереоскопического воспроизведения.
В режиме 3D-глубины, глубина изображения генерируется движком рендеринга.
На этом завершается описание потока текстовых субтитров и декодера текстовых субтитров. Далее будет описана внутренняя структура IG-потока и структура декодера IG.
- IG-поток
Каждый из IG-потока левого вида и IG-потока правого вида включает в себя совокупность установок отображения. Каждая установка отображения включает в себя совокупность функциональных сегментов. Как и в случае PG-потока, установка отображения подразделяется на следующие типы. Установка отображения «начало эпохи», установка отображения «нормальный случай», установка отображения «точка захвата» и установка отображения «продолжение эпохи».
Совокупность функциональных сегментов, принадлежащих этим установкам отображения, включает в себя следующие типы.
(1) Сегмент задания объектов
Сегмент задания объектов IG-потока такой же, как для PG-потока. Однако графический объект IG-потока задает эффект появления и эффект исчезновения страниц, нормальное, выделенное и активное состояния кнопочных элементов. Сегменты задания объектов группируются по принципу задания одного и того же состояния кнопочных элементов и по принципу создания изображения с одним и тем же эффектом. Группа сегментов задания объектов, задающих одно и то же состояние, называется "набором графических данных".
(2) Сегмент задания палитры
Сегмент задания палитры IG-потока такой же, как для PG-потока.
(3) Сегмент интерактивного управления
Сегмент интерактивного управления включает в себя совокупность фрагментов информации страницы. Информация страницы - это информация, которая задает композицию экрана многостраничного меню. Каждый фрагмент информации страницы включает в себя последовательность эффектов, совокупность фрагментов информации кнопки и опорное значение идентификатора палитры.
Информация кнопки - это информация, которая обеспечивает интерактивную композицию экрана на каждой странице, образуя многостраничное меню путем отображения графического объекта в качестве одного состояния кнопочного элемента.
Последовательность эффектов составляет эффект появления или эффект исчезновения с использованием графического объекта, и включает в себя информацию эффекта, где эффект появления воспроизводится до отображения страницы, соответствующей информации страницы, и эффект исчезновения воспроизводится после отображения страницы.
Информация эффекта - это информация, которая задает каждую композицию экрана для воспроизведения эффекта появления или эффекта исчезновения. Информация эффекта включает в себя: объект композиции экрана, который задает композицию экрана для выполнении в окне (частичной области), заданном сегментом задания окна на плоскости графики; и информацию периода эффекта, которая указывает временной интервал между текущим экраном и следующим экраном в одной и той же области.
Объект композиции экрана в последовательности эффектов задает управление, аналогичное управлению, задаваемому сегментом композиции экрана PG-потока. Из совокупности сегментов задания объектов, сегмент задания объектов, который задает графический объект, используемый для эффекта появления, находится в положении, которое предшествует сегменту задания объектов, который задает графический объект, используемый для кнопочного элемента.
Каждый фрагмент информации кнопки в информации страницы представляет собой информацию, которая задает интерактивную композицию экрана на каждой странице, образуя многостраничное меню путем отображения графического объекта в качестве одного состояния кнопочного элемента. Информация кнопки включает в себя команду кнопки установления страницы, которая, когда соответствующий кнопочный элемент становится активным, предписывает устройству воспроизведения осуществлять процесс установления страницы, отличной от первой страницы, в качестве текущей страницы.
Чтобы можно было изменять смещение в сдвиге плоскости для каждой страницы в ходе воспроизведения IG-потока, команда навигации для изменения смещения внедрена в информацию кнопки, и "автоактивация" команды навигации заранее задается в соответствующем фрагменте информации кнопки. Это позволяет автоматически изменять значение или направление смещения, заданного в регистрационной информации потоков IG-потока.
(4) Концевой сегмент
Концевой сегмент - это функциональный сегмент, который располагается в конце совокупности функциональных сегментов, принадлежащих одной установке отображения. Последовательность сегментов от сегмента интерактивного управления до концевого сегмента рассматривается как совокупность функциональных сегментов, которые образуют одну установку отображения.
Ниже описаны элементы управления сегмента интерактивного управления, которые одинаковы для графического потока левого вида и графического потока правого вида: информация близости кнопки; метка времени таймаута выбора; длительность таймаута пользователя; и информация таймаута композиции.
1. Информация близости кнопки
Информация близости кнопки - это информация, которая указывает кнопку, подлежащую переводу в выбранное состояние, когда осуществляется кнопочная операция, указывающая любое из направлений вверх, вниз, влево и вправо, в то время как определенная кнопка, соседствующая с указанной кнопкой, находится в выбранном состоянии.
2. Метка времени таймаута выбора
Метка времени таймаута выбора указывает время таймаута, которое требуется для автоматической активации кнопочного элемента на текущей странице и предписания устройству воспроизведения выполнять кнопочный элемент.
3. Длительность таймаута пользователя
Длительность таймаута пользователя указывает время таймаута, которое требуется для возврата с текущей страницы к первой странице, в результате чего отображается только первая страница.
4. Информация таймаута композиции
Информация таймаута композиции указывает период времени, который требуется для окончания отображения интерактивного экрана сегментом интерактивного управления. Что касается IG-потока, начальный момент времени установки отображения идентифицируется посредством DTS пакета PES, где хранится сегмент интерактивного управления, и конечный момент времени установки отображения идентифицируется временем таймаута композиции сегмента интерактивного управления. Для левого вида и правого вида устанавливаются одинаковая DTS и одинаковое время таймаута композиции.
- Модели декодера для декодера IG
Декодер IG включает в себя: "буфер кодированных данных" для хранения функциональных сегментов, считанных из IG-потока; "графический процессор потока" для получения графического объекта путем декодирования сегмента композиции экрана; "объектный буфер" для хранения графического объекта, полученного путем декодирования; "композиционный буфер" для хранения сегмента композиции экрана; и "контроллер композиции" для декодирования сегмента композиции экрана, хранящегося в композиционном буфере, и осуществления композиции экрана на плоскости графики с использованием графического объекта, хранящегося в буфере объектов, на основании элементов управления, включенных в сегмент композиции экрана.
"Транспортный буфер" для регулировки скорости ввода пакетов TS, образующих функциональные сегменты, предусмотрен в положении перед плоскостью графики.
Кроме того, в положениях после графического декодера, предусмотрены "плоскость графики", "блок CLUT" для преобразования пиксельных кодов, образующих графический объект, хранящийся в плоскости графики, в значения яркости/цветоразности на основании сегмента задания палитры, и "блок сдвига" для сдвига плоскости.
На фиг.58A и 58B показаны модели декодера для декодера IG. На фиг.58A и 58B, сам декодер IG представлен рамкой, вычерченной сплошной линией, часть, которая следует за графическим декодером, представлена рамкой, вычерченной штрихпунктирной линией, и часть, которая предшествует декодеру IG, представлена рамкой, вычерченной пунктирной линией.
На фиг.58A показана модель декодера для отображения IG-потока 2D-формата в формате LR в режиме «1 плоскость + смещение». На фиг.58B показана модель декодера IG-потока для отображения данных LR-формата.
Эти декодеры включают в себя схему для отражения значений системных параметров на смещения, что позволяет программе управлять информацией глубины меню графика.
На фиг.58B показана двухдекодерная модель, которая позволяет изменять значения смещения с использованием команды. Соответственно, в этой модели декодера, информацию глубины меню можно изменять с помощью команды. Следует заметить, что для левого вида и правого вида можно задавать разные значения смещения. С другой стороны, согласно методу глубины, смещение аннулируется.
Контроллер композиции в графическом декодере обеспечивает первоначальное отображение интерактивного экрана путем отображения текущей кнопки, из совокупности кнопочных элементов на интерактивном экране, с использованием графических данных из набора графических данных, соответствующего выбранному состоянию, и отображения остальных кнопок с использованием набора графических данных, соответствующего нормальному состоянию.
Когда осуществляется пользовательская операция, указывающая любое из направлений вверх, вниз, влево и вправо, она записывает, в регистр номеров кнопок, номер кнопочного элемента, который присутствует в направлении, указанном посредством пользовательской операции, из совокупности кнопочных элементов в нормальном состоянии и рядом с текущей кнопкой, причем запись приводит к тому, чтобы кнопочный элемент стал новой текущей кнопкой для перехода из нормального состояния в выбранное состояние.
На интерактивном экране, когда осуществляется пользовательская операция для перехода кнопочного элемента из выбранного состояния в активное состояние, интерактивный экран обновляется путем извлечения графических данных, образующих активное состояние, из набора графических данных и отображения извлеченных графических данных.
Обновление интерактивного экрана следует выполнять совместно для левого вида и правого вида. Таким образом, предпочтительно, чтобы графический декодер левого вида и графический декодер правого вида совместно имели контроллер композиции для двухдекодерной модели.
В вышеописанном случае, взаимообмен реализуется путем использования одной и той же команды навигации для левого вида и правого вида стереоскопического IG-потока и установки одной и той же кнопочной структуры для 3D графического объекта и 2D графического объекта.
При переключении между 2D IG-потоком и стереоскопическим IG-потоком, можно изменять только отображаемый графический объект, когда атрибут и номер и т.п. команды навигации и информации кнопки одинаковы для обоих. Переключение из режима 3D-LR для отображения только L-изображения можно производить без повторной загрузки, но существует вероятность сдвига позиции отображения. Предпочтительно, чтобы устройство воспроизведения осуществляло переключение на основании флага, установленного для указания, какой из них применяет автор титров.
Ниже приведены замечания относительно переключения между режимами.
- Повторная загрузка не происходит, когда осуществляется переключение между режимом «1 плоскость + смещение» и режимом 2D. Причина в том, что IG-поток не требуется повторно загружать, но требуется только аннулирование смещения.
- Повторная загрузка происходит, когда осуществляется переключение между режимом 3D-LR и режимом 2D. Причина в том, что потоки различны.
- Повторная загрузка не происходит, когда осуществляется переключение между режимом 3D-глубины и режимом 2D, если декодирование информации глубины было завершено на стадии предварительной загрузки.
- Плавное воспроизведение может не гарантироваться, если повторная загрузка IG-потока происходит в связи с переключением между режимом 2D и режимом 3D, даже если применяется модель предварительной загрузки, которая считывает IG-поток в память до начала воспроизведения AV.
На этом завершается описание IG-потока и декодера IG. Далее будет подробно описан блок памяти плоскости.
Далее описана структура блока памяти плоскости согласно методу в режиме «1 плоскость + смещение».
Наложение слоев в блоке памяти плоскости достигается путем выполнения процесса наложения на всех комбинациях слоев в многослойной модели. В процессе наложения, пиксельные значения пиксельных данных, хранящихся в блоках памяти плоскости двух слоев, накладываются. Наложение слоев блоком 208 наложения слоев достигается путем выполнения процесса наложения на всех комбинациях двух слоев среди слоев в многослойной модели. В процессе наложения, пиксельные значения пиксельных данных, хранящихся в блоках памяти плоскости двух слоев, накладываются в многослойной модели блока памяти плоскости.
Наложение между слоями осуществляется следующим образом. Коэффициент пропускания α в качестве весового коэффициента умножается на пиксельное значение в единицах линии в блоке памяти плоскости определенного слоя, и весовой коэффициент (1-коэффициент пропускания α) умножается на пиксельное значение в единицах линии в блоке памяти плоскости слоя под определенным слоем. Пиксельные значения с этими весовыми коэффициентами яркости суммируются друг с другом. Результирующее пиксельное значение задается как пиксельное значение в единицах линии в слое. Наложение слоев реализуется путем повторения этого наложения между слоями для каждой пары соответствующих пикселей в единицах линии в соседних слоях многослойной модели.
Блок умножения для умножения каждого пиксельного значения на коэффициент пропускания для осуществления наложения слоев, блок суммирования для сложения пикселей и блок масштабирования/позиционирования для осуществления масштабирования и позиционирования вторичного видео обеспечены в положениях после блока памяти плоскости, а также вышеописанного блока CLUT, блока сдвига и т.п.
На фиг.59 показана структура схемы для перекрытия выходов этих моделей декодера и вывода результата в режиме 3D-LR. На фиг.59, многослойные модели, состоящие из плоскости первичного видео, плоскости видео вторичного вида, плоскости PG и плоскости IG, представлены рамками, вычерченными сплошной линией, и части, следующие за блоками памяти плоскости, представлены рамками, вычерченными штрихпунктирной линией. Как показано на фиг.56, существует две вышеописанные многослойные модели. Кроме того, существуют две части, следующие за блоками памяти плоскости.
Согласно структуре блоков памяти плоскости для метода 3D-LR, которая снабжена двумя парами многослойной модели и частью, следующей за блоком памяти плоскости, две пары плоскости первичного видео, плоскости видео вторичного вида, плоскости PG, и плоскости IG обеспечены для левого вида и правого вида, и выходы из каждого блока памяти плоскости перекрываются, в порядке наложения слоев, отдельно для левого вида и правого вида.
Плоскость видео вторичного вида, как и в случае плоскости первичного видео, может отображаться в режиме 3D-LR или в режиме 3D-глубины. Кроме того, с помощью PG-потока, можно отображать моноскопическое изображение, всплывающее перед фоном, назначая смещение 2D изображению.
На фиг.60 показана структура схемы для перекрытия выходов моделей декодера и вывода результата в режиме «1 плоскость + смещение».
На фиг.57, многослойная модель состоящая из плоскости первичного видео для левого вида, плоскости первичного видео для правого вида, плоскости видео вторичного вида, плоскости PG и плоскости IG, представлена рамкой, вычерченной сплошной линией, и часть, которая следует за блоком памяти плоскости, представлена рамкой, вычерченной штрихпунктирной линией. Согласно фиг.57, существует только одна вышеописанная многослойная модель. Кроме того, существуют две части, следующие за блоком памяти плоскости.
Согласно методу в режиме «1 плоскость + смещение», предусмотрены плоскости первичного видео, по одной для левого вида и правого вида. Предусмотрены плоскость видео вторичного вида, плоскость PG и плоскость IG, по одной для левого вида и правого вида. Существует только один блок памяти плоскости для левого вида и правого вида. Благодаря такой структуре, вышеописанное наложение слоев осуществляется на выходы левого вида и правого вида.
Устройство воспроизведения, в основном, имеет аппаратную структуру, включающую в себя два декодера и две плоскости, поскольку требуется поддерживать как режим презентации B-D, так и режим «1 плоскость + смещение». Когда режим переключается в режим «1 плоскость + смещение» или режим 2D воспроизведения, устройство воспроизведения имеет структуру "1 декодер + 1 плоскость", аннулирующую одну из двух пар "1 декодер + 1 плоскость".
Когда режим переключается из режима 3D воспроизведения в режим 2D воспроизведения, и структура устройства воспроизведения изменяется от структуры "2 декодеры + 2 плоскости" к структуре "1 декодер + 1 плоскость", целью демультиплексирования становятся только пакеты TS, образующие L-изображение. Пользователь, наблюдая L- и R-изображения через 3D-очки, начинает видеть только L-изображение, когда режим переключается из режима 3D воспроизведения в режим 2D воспроизведения.
Этот переход от наблюдения двумя глазами к наблюдению одним глазом повышает нагрузку на глаз, и пользователь может простудиться. Ввиду этого, в настоящем варианте осуществления, когда происходит такой переход, цель фильтра PID переходит от пакетов TS, образующих L и R-изображения, к пакетам TS, образующим L-изображение, и управление памятью в графическом декодере сбрасывается. При таком переходе, субтитр временно удаляется, чтобы пользователь не простудился.
Как описано выше, согласно настоящему варианту осуществления, субтитр в блоке памяти плоскости временно сбрасывается, когда структура декодера переключается от 2-декодерной структуры на 1-декодерную структуру. Это снижает нагрузку на глаз, вызванную переходом наблюдения пользователя от наблюдения двумя глазами к наблюдению одним глазом.
(Вариант осуществления 5)
Настоящий вариант осуществления описывает изготовление носителей записи, описанных в предыдущих вариантах осуществления, а именно, акт производства носителя записи.
Каждый из носителей записи, описанных в предыдущих вариантах осуществления, можно изготавливать как диск BD-ROM, т.е. многослойный оптический диск, диск BD-RE, совместимый с диском BD-ROM, диск BD-R или носитель AVC-HD.
На фиг.61 показана внутренняя структура многослойного оптического диска.
Первая строка на фиг.61 демонстрирует BD-ROM, являющийся многослойным оптическим диском. Во второй строке показаны дорожки в горизонтально расширенном формате, хотя в действительности они сформированы спирально в слоях записи. Эти спиральные дорожки в слоях записи рассматриваются как одна непрерывная область тома. Область тома состоит из зоны ввода, слоев записи из слоев записи с 1 по 3 и зоны вывода, где зона ввода располагается на внутреннем периметре, зона вывода располагается на внешнем периметре, и слои записи из слоев записи с 1 по 3 располагаются между зоной ввода и зоной вывода. Слои записи из слоев записи с 1 по 3 образуют один массив последовательных логических адресов.
Область тома разделяется на единицы, в которых может производиться доступ к оптическому диску, и единицам доступа назначаются порядковые номера. Порядковые номера называются логическими адресами. Чтение данных с оптического диска осуществляется путем указания логического адреса. Здесь, в случае диска только для чтения, например BD-ROM, в основном, секторы с последовательными логическими адресами также образуют последовательность в физическом размещении на оптическом диске. Иначе говоря, данные, хранящиеся в секторах с последовательными логическими адресами, можно считывать, не осуществляя операцию поиска. Однако, на границах между слоями записи, последовательное чтение данных невозможно, даже если логические адреса являются последовательными. Таким образом, предполагается, что логические адреса границ между слоями записи регистрируются в устройстве записи заранее.
В области тома, информация управления файловой системы записывается сразу после зоны ввода. Таким образом, существует раздел, регулируемый информацией управления файловой системы. Файловая система - это система, которая выражает данные на диске в единицах, именуемых директориями и файлами. В случае BD-ROM, файловой системой является UDF (Universal Disc Format). Даже в случае обычного ПК (персонального компьютера), когда данные записываются с помощью файловой системы, именуемой FAT или NTFS, данные, записанные на жестком диске под директориями и файлами, можно использовать на компьютере, таким образом, повышая удобство в эксплуатации. Файловая система позволяет считывать логический данные таким же образом, как на обычном ПК, с использованием структуры директорий и файлов.
В четвертой строке показано, как назначаются области в области файловой системы, управляемой файловой системой. Как показано в четвертой строке, область записи не-AV-данных существует на стороне внутреннего периметра в области файловой системы; и область записи AV-данных существует сразу после области записи не-AV-данных. Пятая строка демонстрирует содержимое, записанное в области записи не-AV-данных и области записи AV-данных. Как показано в пятой строке, экстенты, образующие AV-файлы, записываются в области записи AV-данных; и экстенты, образующие не-AV-файлы, т.е. файлы, отличные от AV-файлов, записываются в области записи не-AV-данных.
На фиг.62 показан формат приложения оптического диска на основании файловой системы.
Директория BDMV - это директория, в которой записываются данные, например, AV-контент и информация управления, используемая в BD-ROM. Пять поддиректорий, именуемые “директория PLAYLIST”, “директория CLIPINF”, “директория STREAM”, “директория BDJO”, “директория JAR”, и “META директория” существуют под директорией BDMV. Кроме того, два типа файлов (т.е. index.bdmv и MovieObject.bdmv) располагаются под директорией BDMV.
В файле "index.bdmv" (имя файла “index.bdmv” является фиксированным) хранится индексная таблица.
В файле "MovieObject.bdmv" (имя файла “MovieObject.bdmv” является фиксированным) хранится один или несколько объектов фильма. Объект фильма - это файл программы, который задает процедуру управления, осуществляемую устройством воспроизведения в режиме работы (режиме HDMV), в котором субъектом управления является интерпретатор команд. Объект фильма включает в себя одну или несколько команд и флаг маски, где флаг маски задает, маскировать ли вызов меню или вызов титра, когда вызов осуществляется пользователем на GUI.
Файл программы (XXXXX.bdjo---"XXXXX" является изменяемым, и расширение "bdjo" является фиксированным), которому дано расширение “bdjo”, существует в директории BDJO. В файле программы хранится объект BD-J, который задает процедуру управления, осуществляемую устройством воспроизведения в режиме BD-J. Объект BD-J включает в себя "таблицу управления приложениями". "Таблица управления приложениями" в объекте BD-J - это таблица, которая используется для того, чтобы заставить устройство воспроизведения осуществлять сигнализацию приложения, причем титр рассматривается как жизненный цикл. Таблица управления приложениями включает в себя “идентификатор приложения” и “код управления”, где “идентификатор приложения” указывает приложение, подлежащее выполнению, когда титр, соответствующий объекту BD-J, становится текущим титром. Приложения BD-J, жизненные циклы которых заданы таблицей управления приложениями, конкретно именуются "приложениями BD-J". Код управления, когда он установлен на AutoRun, указывает, что приложение должно загружаться в динамически выделяемую память и активироваться автоматически; и когда он задан на Present, указывает, что приложение должно загружаться в динамически выделяемую память и активироваться после приема вызова от другого приложения. С другой стороны, некоторые приложения BD-J не заканчивают свою работу даже по окончании титра. Такие приложения BD-J называются "приложениями, не ограниченные титрами".
TM
TM
Содержание приложения Java представляет собой архивный файл Java (YYYYY.jar), хранящийся в директории JAR под директорией BDMV.
TM,
Приложение может быть, например, приложением Java которое состоит из одного или нескольких программ xlet, загружаемых в динамически выделяемую память (также именуемую рабочей памятью) виртуальной машины. Приложение состоит из программ xlet, загружаемых в рабочую память, и данных.
В "директории PLAYLIST" существует информационный файл списка воспроизведения ("xxxxx.mpls"---"XXXXX" является изменяемым, и расширение "mpls" является фиксированным), которому дано расширение “mpls”.
В "директории CLIPINF" существует информационный файл клипа ("xxxxx.clpi"---"XXXXX" является изменяемым, и расширение "clpi" является фиксированным), которому дано расширение “clpi”.
Экстенты, образующие файлы, существующие в объясненных выше директориях, записываются в область не-AV-данных.
"Директория STREAM" - это директория, где хранится файл транспортного потока. В "директории STREAM" существует файл транспортного потока ("xxxxx.m2ts"---"XXXXX" является изменяемым, и расширение "m2ts" является фиксированным), которому дано расширение "m2ts".
Вышеописанные файлы сформированы на совокупности секторов, которые являются физически непрерывными в разделе. Раздел - это область, к которой обращается файловая система и которая включает в себя "область, где записывается описатель набора файлов", "область, где записывается концевой описатель", "область директории ROOT", "область директории BDMV", "область директории JAR", "область директории BDJO", "область директории PLAYLIST", "область директории CLIPINF" и "область директории STREAM". Ниже поясняются эти области.
"Описатель набора файлов" включает в себя номер логического блока (LBN), который указывает сектор, в котором записывается файловая запись директории ROOT, из областей директории. "Концевой описатель" указывает конец описателя набора файлов.
Ниже представлено подробное описание областей директории. Вышеописанные области директории имеют одинаковую внутреннюю структуру. Иначе говоря, каждая из "областей директории" состоит из "файловой записи", "директорного файла" и "области записи файла для файла более низкого уровня".
"Файловая запись" включает в себя "тег описателя", "тег ICB" и "описатель выделения".
"Тег описателя" - это тег, который указывает, что сущность, имеющая тег описателя, является файловой записью.
"Тег ICB" указывает информацию атрибутов, относящихся к самой файловой записи.
"Описатель выделения" включает в себя номер логического блока (LBN), который указывает позицию записи директорного файла. Была описана файловая запись. Ниже представлено подробное описание директорного файла.
"Директорный файл" включает в себя "идентификационный описатель файла более низкой директории" и "идентификационный описатель файла для файла более низкого уровня".
"Идентификационный описатель файла более низкой директории" это информация, служащая ссылкой для доступа к более низкой директории, который принадлежит самому директорному файлу, и состоит из идентификационной информации более низкой директории, длины имени директории для более низкой директории, адреса файловой записи, который указывает номер логического блока для блока, в котором записывается файловая запись более низкой директории, и имени директории более низкой директории.
"Идентификационный описатель файла для файла более низкого уровня" - это информация, служащая ссылкой для доступа к файлу, который принадлежит самому директорному файлу, и состоит из идентификационной информации файла более низкого уровня, длины имени более низкого файла, адреса файловой записи, который указывает номер логического блока для блока, в котором записывается файловая запись файла более низкого уровня, и имени файла для файла более низкого уровня.
Идентификационные описатели файлов директорных файлов директорий указывают логические блоки, в которых записываются файловые записи более низкой директории и файла более низкого уровня. Отслеживая идентификационные описатели файлов таким образом, можно перейти от файловой записи директории ROOT к файловой записи директории BDMV, и перейти от файловой записи директории BDMV к файловой записи директории PLAYLIST. Аналогично, можно достичь файловых записей директории JAR, директории BDJO, директории CLIPINF и директории STREAM.
"Область записи файла для файла более низкого уровня" - это область, где содержание файла более низкого уровня, который принадлежит директории. "Файловая запись" более низкой записи и один или несколько "экстентов" записываются в "области записи файла для файла более низкого уровня".
Файл потока, который составляет главный признак настоящей заявки, является областью записи файла, которая существует в области директории для директории, которой принадлежит файл. Можно осуществлять доступ к файлу транспортного потока, отслеживая идентификационные описатели файлов директорных файлов, и описатели выделения файловых записей.
Была описана внутренняя структура носителя записи. Далее будет описано, как генерировать носитель записи, показанный на фиг.58 и 59, а именно, форму метода записи.
Метод записи согласно настоящему варианту осуществления включает в себя не только вышеописанную запись в реальном времени, при которой AV-файлы и не-AV-файлы генерируются в реальном времени и записываются в область записи AV-данных и область записи не-AV-данных, но и запись с предварительным форматированием, при которой битовые потоки, подлежащие записи в область тома, генерируются заранее, мастер-диск генерируется на основании битовых потоков, и мастер-диск прессуется, что дает возможность массового производства оптического диска. Метод записи согласно настоящему варианту осуществления применим либо к записи в реальном времени, либо к записи с предварительным форматированием.
Когда метод записи осуществляется посредством технология записи в реальном времени, устройство записи для осуществления метода записи создает AV клип в реальном времени, и сохраняет AV клип на BD-RE, BD-R, жестком диске или на плате полупроводниковой памяти.
В этом случае, AV клип может представлять собой транспортный поток, получаемый, когда устройство записи кодирует аналоговый входной сигнал в реальном времени, или транспортный поток, получаемый, когда устройство записи партиализует цифровой входной транспортный поток. Устройство записи для осуществления записи в реальном времени включает в себя: видеокодер для получения видеопотока путем кодирования видеосигнала; аудиокодер для получения аудиопотока путем кодирования аудиосигнала; мультиплексор для получения цифрового потока в формате MPEG2-TS путем мультиплексирования видеопотока, аудиопотока и т.п.; и пакетизатор источника для преобразования пакетов TS, образующих цифровой поток в формате MPEG2-TS, в пакеты источника. Устройство записи сохраняет цифровой поток MPEG2, преобразованный в формат пакетов источника, в файле AV клипа, и записывает файл AV клипа на BD-RE, BD-R, и пр. При записи цифрового потока, блок управления устройства записи осуществляет процесс генерации информации клипа и информации списка воспроизведения в памяти. В частности, когда пользователь запрашивает процесс записи, блок управления создает файл AV клипа и информационный файл AV клипа на BD-RE или BD-R.
После этого, когда начальная позиция GOP в видеопотоке выявляется из транспортного потока, который поступает на устройство извне, или когда GOP видеопотока создается кодером, блок управления устройства записи получает (i) PTS интра-изображения, которое располагается в начале GOP, и (ii) номер пакета для пакета источника, где хранится начальная часть GOP, и дополнительно записывает пару PTS и номера пакета в карту записей информационного файла клипа, в качестве пары записи EP_PTS и записи EP_SPN. После этого, каждый раз, когда генерируется GOP, пара записи EP_PTS и записи EP_SPN записывается дополнительно в карту записей информационного файла клипа. Таким образом, когда начальной частью GOP является IDR-изображение, флаг "is_angle_change", установленный на "ON", добавляется к паре записи EP_PTS и записи EP_SPN. Кроме того, когда начальная часть GOP не является IDR-изображением, флаг "is_angle_change", установленный на "OFF" добавляется к паре записи EP_PTS и записи EP_SPN.
Кроме того, информация атрибутов потока в информационном файле клипа устанавливается в соответствии с атрибутом потока, подлежащего записи. После того, как клип и информация клипа генерируются и записываются на BD-RE или BD-R, информация списка воспроизведения, задающая путь воспроизведения через карту записей в информации клипа, генерируется и записывается на BD-RE или BD-R. Когда этот процесс выполняется согласно технологии записи в реальном времени, на BD-RE или BD-R образуется иерархическая структура, состоящая из AV клипа, информации клипа и информации списка воспроизведения.
На этом завершается описание устройства записи для осуществления метода записи путем записи в реальном времени. Ниже следует описание устройства записи для осуществления метода записи путем записи с предварительным форматированием.
Метод записи путем записи с предварительным форматированием реализуется как способ изготовления оптического диска, включающий в себя процедуру авторинга.
На фиг.63A и 63B показан способ изготовления оптического диска. На фиг.63A показана логическая блок-схема метода записи путем записи с предварительным форматированием и показана процедура способа изготовления оптического диска. Способ изготовления оптического диска включает в себя этап авторинга, этап подписания, этап получения ключа носителя, этап шифрования ключа носителя, этап физического форматирования, этап внедрения идентификатора, этап мастеринга и этап тиражирования.
На этапе авторинга S201 генерируется битовый поток, представляющий всю область тома оптического диска.
На этапе подписания S202, запрос подписи направляется на AACS LA для изготовления оптического диска. В частности, часть извлекается из битового потока поступает на AACS LA. Следует заметить, что AACS LA - это организация для управления лицензией технологий защиты авторских прав для цифровой бытовой электроники следующего поколения. Участки авторинга и участки мастеринга лицензируются AACS LA, причем участки авторинга осуществляют авторинг оптических дисков с использованием устройств авторинга, и участки мастеринга выполняют мастеринг с использованием устройств мастеринга. AACS LA также управляет ключами носителей и информацией аннулирования. AACS LA подписывает и возвращает часть битового потока.
На этапе S203 получения ключа носителя, ключ носителя поступает от AACS LA. Ключ носителя, полученный от AACS LA, не является фиксированным. Ключ носителя обновляется, когда количество изготовленных оптических дисков достигает определенного предела. Обновление ключа носителя позволяет исключить особые метки или устройства и аннулировать ключ шифрования с использованием информации аннулирования даже в случае компрометации ключа шифрования.
На этапе S204 шифрования ключа носителя ключ, используемый для шифрования битового потока, шифруется с использованием ключа носителя, полученного на этапе получения ключа носителя.
На этапе S205 физического форматирования осуществляется физическое форматирование битового потока.
На этапе S206 внедрения идентификатора, идентификатор, который является уникальным и не может быть обнаружен обычными устройствами, внедряется, как электронный водяной знак, в битовый поток, записываемый на оптический диск. Это препятствует массовому производству пиратских копий путем неавторизованного мастеринга.
На этапе мастеринга S207 генерируется мастер-диск оптического диска. Сначала на стеклянной подложке формируется слой фоторезиста, лазерный пучок облучает слой фоторезиста в соответствии с нужными канавками или ямками, и затем слой фоторезиста подвергается процессу экспонирования и процессу проявки. Канавки или ямки представляют значения битов, образующих битовый поток, подвергнутый модуляции «восемь к шестнадцати». После этого, мастер-диск оптического диска генерируется на основе фоторезиста, поверхность которого была сделана неровной с помощью лазерной резки в соответствии с канавками или ямками.
На этапе тиражирования S208, копии оптического диска создаются посредством массового производства с использованием мастер-диска оптического диска.
На фиг.63B показана процедура метода записи путем записи с предварительным форматированием, когда обычный пользователь записывает любой из различных файлов, описанных в предыдущем варианте осуществления, на носитель записи например BD-R или BD-RE с использованием персонального компьютера, но не в массовом производстве оптического диска. По сравнению с фиг.63A, согласно методу записи, показанному на фиг.63B, этап S205 физического форматирования и этап S207 мастеринга опущены, и добавлен этап S209 записи каждого файла.
Теперь будет дано объяснение этапа авторинга.
На фиг.64 показана логическая блок-схема процедуры, осуществляемой на этапе авторинга.
На этапе S101 задаются наборы барабанов главного TS и вспомогательного TS. "Барабан" - это файл, где хранятся данные материала элементарного потока. В система авторинга, барабаны существуют на приводе в локальной сети. Барабаны - это данные, представляющие, например, L и R-изображения, снятые 3D камерой, аудио, записанное при съемке, аудио, записанное после съемки, субтитры для каждого языка и меню. "Набор барабанов" - это группа ссылок на файлы материала, представляющие набор элементарных потоков, мультиплексируемых в один транспортный поток. В этом примере, набор барабанов задается для каждого главного TS и вспомогательного TS.
На этапе S102 задаются прототипы элемента воспроизведения и вспомогательного элемента воспроизведения, и прототипы главного пути и вспомогательного пути задаются путем задания порядка воспроизведения элемента воспроизведения и вспомогательного элемента воспроизведения. Прототип элемента воспроизведения можно задавать путем приема, через GUI, указания барабана, который разрешен к воспроизведению целевым элементом воспроизведения в режиме моноскопического воспроизведения, и указания In_Time и Out_Time. Прототип вспомогательного элемента воспроизведения можно задавать путем приема, через GUI, указания барабана, который разрешен к воспроизведению элементом воспроизведения, соответствующим целевому вспомогательному элементу воспроизведения в режиме стереоскопического воспроизведения, и указания In_Time и Out_Time.
Для указания барабана, который разрешен к воспроизведению, в GUI предусмотрена возможность делать отметку в кнопке-флажке, соответствующей, среди ссылок на файлы материала в наборе барабанов, ссылке на файл материала, разрешенный к воспроизведению. С помощью этого GUI, столбцы числового ввода отображаются в соответствии с барабанами. С использованием столбцов числового ввода, принимается приоритет каждого барабана, и, на основании этого, определяются приоритеты барабанов. Благодаря установлению барабанов, разрешенных к воспроизведению, и установлению приоритетов, генерируются таблица выбора потока и расширенная таблица выбора потока.
Указание In_Time и Out_Time осуществляется, когда устройство записи выполняет процесс, в котором временная ось видеопотока базового вида или видеопотока зависимого вида отображается в виде графики на GUI, ползунок перемещается на графике временной оси, и от пользователя поступает указание позиционной установки ползунка.
Задание порядка воспроизведения элемента воспроизведения и вспомогательного элемента воспроизведения реализуется посредством следующего процесса: изображение в In_Time элемента воспроизведения отображается в виде пиктограммы на GUI, и устройство записи принимает от пользователя операцию, совершенную над пиктограммой, для установления порядка воспроизведения.
На этапе S103, совокупность элементарных потоков получается путем кодирования файлов материала, указанных наборами барабанов. Совокупность элементарных потоков включает в себя видеопоток базового вида и видеопоток зависимого вида, и аудиопоток, PG-поток и IG-поток, подлежащие мультиплексированию с видеопотоком базового вида и видеопотоком зависимого вида.
На этапе S104, один главный TS получается путем мультиплексирования в него видеопотока базового вида и элементарного потока, который, среди элементарных потоков, полученных кодированием, принадлежит тому же набору барабанов, что и видеопоток базового вида.
На этапе S105, один вспомогательный TS получается путем мультиплексирования в него видеопотока зависимого вида и элементарного потока, который, среди элементарных потоков, полученных кодированием, принадлежит тому же набору барабанов, что и видеопоток зависимого вида.
На этапе S106, прототип информационного файла клипа создается на основании параметров, установленных в ходе кодирования и мультиплексирования.
На этапе S107, информация списка воспроизведения задается путем генерации информации элемента воспроизведения и информации вспомогательного элемента воспроизведения на основании прототипа элемента воспроизведения, с последующей генерацией информации главного пути и информации вспомогательного пути путем задания порядка воспроизведения на основании информации элемента воспроизведения и информации вспомогательного элемента воспроизведения.
При генерации информации элемента воспроизведения, генерируется таблица выбора потока в информации элемента воспроизведения, благодаря чему, среди элементарных потоков, мультиплексируемых в главном TS, элементарные потоки, которые задаются, в базовой структуре элемента воспроизведения, для воспроизведения в режиме моноскопического воспроизведения, устанавливаются как "воспроизводимые". Кроме того, для задания секции воспроизведения в видеопотоке базового вида, In_TIme и Out_Time, задаваемые путем вышеописанного редактирования, записываются в информации элемента воспроизведения.
При генерации информации вспомогательного элемента воспроизведения, генерируется расширенная таблица выбора потока в данных расширения в информации списка воспроизведения, благодаря чему, среди элементарных потоков, мультиплексируемых во вспомогательном-главном TS, элементарные потоки, которые задаются, в базовой структуре элемента воспроизведения, для воспроизведения в режиме стереоскопического воспроизведения, устанавливаются как "воспроизводимые". Информация элемента воспроизведения и информация вспомогательного элемента воспроизведения задаются на основании информации в информационном файле клипа и, таким образом, устанавливаются на основании прототипа для прототипа информационного файла клипа.
На этапе S108, главный TS, вспомогательный TS, прототип информационного файла клипа и прототип информации списка воспроизведения преобразуются в группу директорных файлов в заранее определенном формате приложения.
Посредством вышеописанных процессов, генерируются главный TS, вспомогательный TS, информация клипа, информация элемента воспроизведения и информация вспомогательного элемента воспроизведения. Затем главный TS и вспомогательный TS преобразуются в соответствующие независимые файлы потока, информация клипа преобразуется в информационный файл клипа, и информация элемента воспроизведения и информация вспомогательного элемента воспроизведения преобразуются в информационный файл списка воспроизведения. Таким образом, получается набор файлов, подлежащих записи на носитель записи.
При необходимости вычисления глубин для каждого кадра с использованием функционального выражения линейной функции или параболической функции, функция для получения глубины для каждого времени кадра из времени кадра видеопотока задается в программном интерфейсе приложения устройства записи. Затем время кадра видеопотока базового вида передается функции, и вычисляется глубина для каждого времени кадра. Вычисленные таким образом глубины преобразуются в информацию значения смещения и направления смещения плоскости.
После этого, когда выполняется этап кодирования видеопотока, информация значения смещения и направления смещения плоскости, полученная вышеописанным преобразованием, записывается в метаданные каждой GOP. Таким образом, в процессе кодирования может генерироваться последовательность смещений.
На фиг.65 показана логическая блок-схема процедуры для записи AV файла. AV-файлы записываются согласно этой логической блок-схеме, когда реализуется метод записи путем записи в реальном времени или метод записи, включающий в себя мастеринг или тиражирование.
На этапе S401 устройство записи генерирует файловую запись в памяти устройства записи, создавая "xxxxx.ssif". На этапе S402, принимается решение, гарантированы ли непрерывные свободные области сектора. Когда непрерывные свободные области сектора гарантированы, управление переходит к этапу S403, на котором устройство записи записывает последовательность пакетов источника, образующих блок данных зависимого вида, в непрерывные свободные области сектора в объеме EXT2[i]. После этого выполняются этапы S404-S408. Когда на этапе S402 определено, что непрерывные свободные области сектора не гарантированы, управление переходит к этапу S409, на котором осуществляется исключительный процесс, после чего процесс заканчивается.
Этапы S404-S408 образуют цикл, в котором процесс, выполняемый на этапах S404-S406 и S408, повторяется до тех пор, пока на этапе S407 не будет получен ответ "НЕТ".
На этапе S405, устройство записи записывает последовательность пакетов источника, образующих блок данных базового вида, в непрерывные свободные области сектора в объеме EXT1[i]. На этапе S406, в файловую запись добавляется описатель выделения, который указывает начальный адрес последовательности пакетов источника и длину продолжения, и она регистрируется как экстент. В связи с этим, в информацию клипа записывается информация начальной точки экстента, которая указывает начальный номер его пакета источника.
Этап S407 задает условие окончания цикла. На этапе S407, производится определение, существует ли пакет источника, не записанный в блоки данных базового вида и зависимого вида. Когда определено, что существует незаписанный пакет источника, управление переходит к этапу S408 для продолжения цикла. Когда определено, что незаписанных пакетов источника не существует, управление переходит к этапу S410.
На этапе S408, производится определение, существуют ли непрерывные области сектора. Когда определено, что непрерывные области сектора существуют, управление переходит к этапу S403. Когда определено, что непрерывных областей сектора не существует, управление возвращается к этапу S402.
На этапе S410, "xxxxx.ssif" закрывается, и файловая запись записывается на носитель записи. На этапе S411 создается "xxxxx.m2ts", и файловая запись для "xxxxx.m2ts" генерируется в памяти. На этапе S412, описатель выделения, который указывает длину продолжения и начальный адрес экстента блока данных базового вида, уникального для файла «2D», добавляется в файловую запись для "xxxxx.m2ts". На этапе S413, "xxxxx.m2ts" закрывается, и файловая запись записывается.
На этапе S404, производится определение, существует ли точка возникновения длинного перехода в диапазоне "EXTss+EXT2D". В данном примере, предполагается, что точка возникновения длинного перехода является границей между слоями. Когда определено, что точка возникновения длинного перехода в диапазоне "EXTss+EXT2D" существует, управление переходит к этапу S420, на котором создается копия блока данных базового вида, и блоки данных базового вида B[i]ss и B[i]2D записываются в область сразу перед точкой возникновения длинного перехода, после чего управление переходит к этапу S406. Это будут экстенты файла «2D» и экстенты файла «базовый».
Ниже следует описание устройства записи, используемое для работы на этапе авторинга. Описанное здесь устройство записи используется персоналом авторинга в постановочной студии для распространения содержания фильмов. Форма использования устройства записи, отвечающего настоящему изобретению, такова: цифровой поток и сценарий генерируются в соответствии с операцией персоналом авторинга, причем цифровой поток представляет титр фильма и генерируется путем кодирования со сжатием согласно стандарту MPEG, и сценарий описывает, как должен воспроизводиться титр фильма, генерируется битовый поток тома для BD-ROM, включающий в себя эти данные, и битовый поток тома записывается на носитель записи, который доставляется на участок мастеринга.
На фиг.66 показана внутренняя структура устройства записи. Согласно фиг.66, устройство записи включает в себя видеокодер 501, блок 502 создания материала, блок 503 генерирования сценария, блок 504 создания программы BD, блок 505 обработки мультиплексированием и блок 506 обработки форматированием.
Видеокодер 501 генерирует видеопотоки левого вида и правого вида путем кодирования несжатых изображений битовой карты левого вида и правого вида в соответствии с методом сжатия, например MPEG4-AVC или MPEG2. Таким образом, видеопоток правого вида генерируется путем кодирования кадров, соответствующих видеопотоку левого вида, методом кодирования с прогнозированием между изображениями. В процессе кодирования с прогнозированием между изображениями, информация глубины для 3D изображения извлекается из векторов движения изображений левого вида и правого вида, и информация глубины сохраняется в блоке 501a хранения информации глубины кадра. Видеокодер 501 осуществляет сжатие изображения с использованием относительных характеристик между изображениями путем извлечения векторов движения в единицах макроблоков 8×8 или 16×16.
В процессе извлечения векторов движения в единицах макроблоков, движущееся изображение на переднем плане которого находится человеческое существо, и на заднем плане находится дом, определяется как цель извлечения вектора движения. В этом случае, прогнозирование между изображениями осуществляется между изображением левого глаза и изображением правого глаза. В таком процессе, из части изображения, соответствующей "дому", не выявляется ни одного вектора движения, но вектор движения выявляется из части изображения, соответствующей "человеческому существу".
Выявленный вектор движения извлекается, и информация глубины генерируется в единицах кадров, при отображении 3D изображения. Информация глубины представляет собой, например, изображение, имеющее такое же разрешение, как кадр, имеющий глубину восемь битов.
Блок 502 создания материала генерирует потоки, например, аудиопоток, поток интерактивной графики и поток презентационной графики, и записывает генерируемые потоки в блок 502a хранения аудиопотока, блок 502b хранения потока интерактивной графики и блок 502c хранения потока презентационной графики.
При генерации аудиопотока, блок 502 создания материала генерирует аудиопоток путем кодирования несжатого аудио LinearPCM методом сжатия, например AC3. С другой стороны, блок 502 создания материала генерирует поток презентационной графики в формате, отвечающем стандарту BD-ROM, на основании информационного файла субтитра, который включает в себя изображение субтитра, хронирование отображения и эффекты субтитра, например, постепенное появление изображения и постепенное исчезновение изображения. Кроме того, блок 502 создания материала генерирует поток интерактивной графики в формате для экрана меню, отвечающем стандарту BD-ROM, на основании файла меню, который описывает изображения битовой карты, переход кнопок, размещенных в меню, и эффекты отображения.
Блок 503 генерирования сценария генерирует сценарий в формате BD-ROM, в соответствии с информацией каждого потока, генерируемой блоком 502 создания материала, и операцией, введенной персоналом авторинга через GUI. Здесь, сценарий означает файл, например, файл индекса, файл объекта фильма или файл списка воспроизведения. Кроме того, блок 503 генерирования сценария генерирует файл параметров, который описывает, из какого потока состоит каждый AV клип для реализации процесса мультиплексирования. Генерируемый здесь файл, например, файл индекса, файл объекта фильма или файл списка воспроизведения, имеет структуру данных, описанную согласно вариантам осуществления 1 и 2.
Блок 504 создания программы BD генерирует исходный код для файла программы BD и генерирует программу BD в соответствии с запросом от пользователя, который поступает через пользовательский интерфейс, например, GUI. Таким образом, программа файла программы BD может использовать информацию глубины, выводимую из видеокодера 501, для задания глубины плоскости GFX.
Блок 505 обработки мультиплексированием генерирует AV клип в формате MPEG2-TS путем мультиплексирования совокупности потоков, описанных в данных сценария BD-ROM, например, видеопотока левого вида, видеопотока правого вида, видео, аудио, субтитра и кнопки. При генерации, блок 505 обработки мультиплексированием также генерирует информационный файл клипа, образующий пару с AV клипом.
Блок 505 обработки мультиплексированием генерирует информационный файл клипа, связывая в пару (i) карту записей, генерируемую самим блоком 505 обработки мультиплексированием, и (ii) информацию атрибутов, которая указывает атрибут аудио, атрибут изображения и т.п. для каждого потока включенного в AV клип. Информационный файл клипа имеет структуру, описанную выше в каждом варианте осуществления.
Блок 506 обработки форматированием генерирует образ диска в формате UDF, размещая, в формате, отвечающем стандарту BD-ROM, данные сценария BD-ROM, генерируемые блоком 503 генерирования сценария, файл программы BD, создаваемый блоком 504 создания программы BD, AV клип и информационный файл клипа, генерируемые блоком 505 обработки мультиплексированием, и директории и файлы в формате, отвечающем стандарту BD-ROM, причем формат UDF - это файловая система, отвечающая стандарту BD-ROM. Блок 506 обработки форматированием записывает битовый поток, представляющий образ диска, в блок хранения битового потока BD-ROM.
Таким образом, блок 506 обработки форматированием генерирует 3D метаданные для PG-потока, IG-потока и вторичного видеопотока с использованием информации глубины, выводимой из видеокодера 501. Кроме того, блок 506 обработки форматированием автоматически устанавливает размещение изображения на экране, чтобы оно не перекрывалось с объектом в 3D изображении, и регулирует значение смещения так, чтобы глубины не перекрывались друг с другом. Файловая структура генерируемого таким образом образа диска должна иметь структуру данных вышеописанной файловой структуры. Сгенерированный образ диска преобразуется в данные для штамповки BD-ROM, и над данными осуществляется процесс штамповки. Таким образом, создается BD-ROM.
(Вариант осуществления 6)
Настоящий вариант осуществления описывает внутреннюю структуру устройства 2D/3D воспроизведения, которое объединяет в себе функции устройств воспроизведения, описанных в предыдущих вариантах осуществления.
На фиг.67 показана структура устройства 2D/3D воспроизведения. Устройство 2D/3D воспроизведения включает в себя привод 1 BD-ROM, буфер 2a чтения, буфер 2b чтения, переключатель 3, системный целевой декодер 4, набор 5a блоков памяти плоскости, блок 5b наложения плоскостей, блок 6 передачи/приема HDMI, блок 7 управления воспроизведением, память 9 информации управления, набор 10 регистров, блок 11 выполнения программы, программную память 12, модуль 13 HDMV, платформу 14 BD-J, промежуточное программное обеспечение 15, модуль 16 управления режимом, блок 17 обработки пользовательских событий, локальное хранилище 18 и энергонезависимую память 19.
Привод 1 BD-ROM, наподобие устройства 2D воспроизведения, считывает данные с диска BD-ROM на основании запроса от блока 7 управления воспроизведением. AV клипы, считанные с диска BD-ROM, переносятся в буфер 2a чтения или 2b.
При воспроизведении 3D изображения, блок 7 управления воспроизведением выдает запрос чтения, который предписывает считывать блок данных базового вида и блок данных зависимого вида попеременно в единицах экстентов. Привод 1 BD-ROM считывает экстенты, образующие блок данных базового вида, в буфер 2a чтения и считывает экстенты, образующие блок данных зависимого вида, в буфер 2b чтения. При воспроизведении 3D изображения, привод 1 BD-ROM должен иметь более высокую скорость чтения, чем привод BD-ROM для устройства 2D воспроизведения, поскольку ему необходимо одновременно считывать блок данных базового вида и блок данных зависимого вида.
Буфер 2a чтения - это буфер, который можно реализовать в виде, например, двухпортовой памяти, и в котором хранятся данные блоков данных базового вида, считанных приводом 1 BD-ROM.
Буфер 2b чтения - это буфер, который можно реализовать в виде, например, двухпортовой памяти, и в котором хранятся данные блоков данных зависимого вида считанных приводом 1 BD-ROM.
Переключатель 3 используется для переключения данных источника, поступающих в буферы чтения, между приводом 1 BD-ROM и локальным хранилищем 18.
Системный целевой декодер 4 декодирует потоки путем осуществления процесса демультиплексирования пакетов источника, считанных в буфер 2a чтения и буфер 2b чтения.
Набор 5a блоков памяти плоскости состоит из совокупности блоков памяти плоскости. Блоки памяти плоскости включают в себя блоки памяти для хранения плоскости видео левого вида, плоскости видео правого вида, плоскости видео вторичного вида, плоскости интерактивной графики (плоскости IG) и плоскости презентационной графики (плоскости PG).
Блок 5b наложения плоскостей осуществляет наложение плоскостей, объясненное в вышеприведенных вариантах осуществления. Когда изображение выводится на телевизор и пр., выходной сигнал согласован с 3D системой. При необходимости воспроизводить изображение левого вида и изображение правого вида попеременно с использованием очков с затворами, изображение выводится, как есть. Когда изображение требуется выводить, например, на лентикулярный телевизор, подготавливается временный буфер, изображение левого вида сначала переносится во временный буфер, и изображение левого вида и изображение правого вида выводятся одновременно после переноса изображения правого вида.
Блок 6 передачи/приема HDMI выполняет фазу аутентификации и фазу согласования, описанные согласно варианту осуществления 1, в соответствии, например, со стандартом HDMI, где HDMI обозначает High Definition Multimedia Interface. На фазе согласования, блок 6 передачи/приема HDMI может принимать, от телевизора, (i) информацию, указывающую, поддерживает ли он стереоскопическое отображение, (ii) информацию, касающуюся разрешения для моноскопического отображения, и (iii) информацию, касающуюся разрешения для стереоскопического отображения.
Блок 7 управления воспроизведением включает в себя движок 7a воспроизведения и движок 7b управления воспроизведением. Получив от блока 11 выполнения программы и пр. предписание воспроизводить список воспроизведения 3D, блок 7 управления воспроизведением идентифицирует блок данных базового вида элемента воспроизведения, который является целью воспроизведения, из списка воспроизведения 3D, и идентифицирует блок данных зависимого вида вспомогательного элемента воспроизведения на вспомогательном пути 3D, который нужно воспроизводить синхронно с элементом воспроизведения. После этого, блок 7 управления воспроизведением интерпретирует карту записей соответствующего информационного файла клипа и запрашивает привод 1 BD-ROM попеременно считывать экстент блока данных базового вида и экстент блока данных зависимого вида, начиная с начальной точки воспроизведения, на основании типа начала экстента, который указывает, какой из экстента, образующего видеопоток базового вида, и экстента, образующего видеопоток зависимого вида, располагается первым. В начале воспроизведения, первый экстент полностью считывается в буфер 2a чтения или буфер 2b чтения, и затем начинается перенос из буфера 2a чтения и буфера 2b чтения на системный целевой декодер 4.
Движок 7a воспроизведения выполняет функции воспроизведения AV. Функции воспроизведения AV в устройстве воспроизведения представляют собой группу традиционных функций, унаследованных от проигрывателей CD и DVD. Функции воспроизведения AV включают в себя: Play, Stop, Pause On, Pause Off, Still Off, Forward Play (скорость воспроизведения задается равной ближайшему значению), Backward Play (скорость воспроизведения задается равной ближайшему значению), Audio Change, Picture Data Change для вторичного видео и Angle Change.
Движок 7b управления воспроизведением осуществляет функции воспроизведения списка воспроизведения. Функции воспроизведения списка воспроизведения означают, что, среди вышеописанных функций воспроизведения AV, функции Play и Stop осуществляются в соответствии с информацией текущего списка воспроизведения и информацией текущего клипа, где информация текущего списка воспроизведения составляет текущий список воспроизведения.
Память 9 информации управления - это память для хранения информации текущего списка воспроизведения и информация текущего клипа. Информация текущего списка воспроизведения - это фрагмент информации списка воспроизведения, который в данный момент является целью обработки, из совокупности фрагментов информации списка воспроизведения, к которым можно осуществлять доступ из BD-ROM, привода встроенного носителя или привода сменного носителя. Информация текущего клипа - это фрагмент информации клипа, который в данный момент является целью обработки, из совокупности фрагментов информации клипа, к которым можно осуществлять доступ из BD-ROM, привода встроенного носителя или привода сменного носителя.
Набор 10 регистров - это набор регистров статуса/настройки проигрывателя, который является набором регистров, включающих в себя регистр общего назначения для хранения произвольной информации, которая не подлежит использованию содержанием, также регистр статуса воспроизведения и регистр настройки воспроизведения, описанные в предыдущих вариантах осуществления.
Блок 11 выполнения программы - это процессор для выполнения программы, хранящейся в файле программы BD. Действуя согласно сохраненной программе, блок 11 выполнения программы осуществляет следующие операции управления: (1) предписывает блоку 7 управления воспроизведением воспроизводить список воспроизведения; и (2) переносит на системный целевой декодер PNG/JPEG, который представляет меню или графику для игры, с целью отображения его/ее на экране. Эти операции управления можно свободно осуществлять в соответствии с конструкцией программы, и каким образом осуществляются операции управления, определяется процессом программирования приложения BD-J в процессе авторинга.
TM
В программной памяти 12 хранится текущий динамический сценарий, поступающий на интерпретатор команд, который является оператором в режиме HDMV, и на платформу Java, которая является оператором в режиме BD-J. Текущий динамический сценарий - это текущая цель выполнения, которая представляет собой один из Index.bdmv, объекта BD-J и объекта фильма, записанных на BD-ROM. Программная память 12 включает в себя динамически выделяемую память.
Динамически выделяемая память - это область стека для хранения байтовых кодов системного приложения, байтовых кодов приложения BD-J, системных параметров, используемых системным приложением, и параметров приложения, используемых приложением BD-J.
Модуль 13 HDMV - это виртуальный проигрыватель DVD, который является оператором в режиме HDMV, и является исполнителем в режиме HDMV. Модуль 13 HDMV имеет интерпретатор команд и осуществляет управление в режиме HDMV, интерпретируя и выполняя команду навигации, образующую объект фильма. Команда навигации описана в синтаксисе, который напоминает синтаксис, используемый в DVD-видео. Соответственно, можно реализовать управление воспроизведением наподобие DVD-видео путем выполнения команды навигации.
TM
Платформа 14 BD-J - это платформа Java, которая является оператором в режиме BD-J, и полностью реализуется посредством Java2Micro_Edition (J2ME) Personal Basis Profile (PBP 1.0) и спецификации Globally Executable MHP (GEM1.0.2) для комплексных медийных целей. Платформа 14 BD-J состоит из загрузчика классов, интерпретатора байтового кода и менеджера приложений.
Загрузчик классов является одним из системных приложений, которое загружает приложение BD-J путем чтения байтовых кодов из файла класса, существующего в архивном файле JAR, и которое сохраняет байтовые коды в динамически выделяемой памяти.
TM
Интерпретатор байтового кода иначе называется виртуальной машиной Java. Интерпретатор байтового кода преобразует (i) байтовые коды, образующие приложение BD-J, хранящееся в динамически выделяемой памяти, и (ii) байтовые коды, образующие системное приложение, в собственные коды, и предписывает MPU выполнять собственные коды.
Менеджер приложений является одним из системных приложений, и осуществляет сигнализацию приложения для приложения BD-J на основании таблицы управления приложениями в объекте BD-J, например, начало или окончание приложения BD-J. На этом завершается описание внутренней структуры платформы BD-J.
Промежуточное программное обеспечение 15 - это операционная система для встроенного программного обеспечения и состоит из ядра и драйвера устройства. Ядро снабжает приложение BD-J функцией, уникальной для устройства воспроизведения, в ответ на вызов программного интерфейса приложения (API) от приложения BD-J. Промежуточное программное обеспечение 15 также обеспечивает управление оборудованием, например, запуск обработчика прерываний путем отправки сигнала прерывания.
Модуль 16 управления режимом поддерживает Index.bdmv, считанный с BD-ROM, привода встроенного носителя или привода сменного носителя, и осуществляет управление режимом и управление ветвлением. Управление посредством управления режимом представляет собой назначение модуля, в результате которого платформа BD-J или модуль HDMV выполняет динамический сценарий.
Блок 17 обработки пользовательских событий принимает пользовательскую операцию через пульт дистанционного управления и предписывает блоку 11 выполнения программы или блоку 7 управления воспроизведением осуществлять процесс, предписанный принятой пользовательской операцией. Например, когда пользователь нажимает кнопку на пульте дистанционного управления, блок 17 обработки пользовательских событий предписывает блоку 11 выполнения программы выполнить команду, включенную в кнопку. Например, когда пользователь нажимает кнопку перемотки вперед/назад на пульте дистанционного управления, блок 17 обработки пользовательских событий предписывает блоку 7 управления воспроизведением выполнить процесс перемотки вперед/назад над AV клипом воспроизводимого в данный момент списка воспроизведения.
Локальное хранилище 18 включает в себя привод встроенного носителя для доступа к жесткому диску и привод сменного носителя для доступа к плате полупроводниковой памяти, и хранит дополнительные загруженные материалы, данные, используемые приложениями, и другие данные. Область для хранения дополнительных материалов разделяется на столько же малых областей, сколько имеется BD-ROM. Кроме того, область для хранения данных, используемых приложениями, разделяется на столько же малых областей, сколько имеется приложений.
Энергонезависимая память 19 - это носитель записи, т.е., например, память с возможностью чтения/записи, и носитель, например, флэш-память или FeRAM, где записанные данные могут сохраняться даже в отсутствие подачи питания. Энергонезависимая память 19 используется для хранения резервной копии набора 10 регистров.
Теперь будет описана внутренняя структура системного целевого декодера 4 и набор 5a блоков памяти плоскости. На фиг.68 показана внутренняя структура системного целевого декодера 4 и набора 5a блоков памяти плоскости. Согласно фиг.65, системный целевой декодер 4 и набор 5a блоков памяти плоскости включают в себя счетчик 21 ATC, депакетизатор 22 источника, фильтр 23 PID, счетчик 24 STC, счетчик 25 ATC, депакетизатор 26 источника, фильтр 27 PID, первичный видеодекодер 31, плоскость 32 видео левого вида, плоскость 33 видео правого вида, вторичный видеодекодер 34, плоскость 35 видео вторичного вида, декодер 36 PG, плоскость 37 PG, декодер 38 IG, плоскость 39 IG, первичный аудиодекодер 40, вторичный аудиодекодер 41, смеситель 42, движок 43 рендеринга, плоскость 44 GFX и память 45 рендеринга.
Первичный видеодекодер 31 декодирует видеопоток левого вида и записывает результат декодирования, а именно, несжатый видеокадр, в плоскость 32 видео левого вида.
Плоскость 32 видео левого вида - это блок памяти плоскости, где могут храниться данные изображения с разрешением, например, 1920×2160 (1280×1440).
Плоскость видео правого вида 33 - это блок памяти плоскости, где могут храниться данные изображения с разрешением, например, 1920×2160 (1280×1440).
Вторичный видеодекодер 34, имеющий такую же структуру, как плоскость первичного видео, осуществляет декодирование входного вторичного видеопотока и записывает результирующие изображения в плоскость видео вторичного вида в соответствии с соответствующими временами отображения (PTS).
В плоскости 35 видео вторичного вида хранятся данные изображения для вторичного видео, которое выводится из системного целевого декодера 4 как результат декодирования вторичного видеопотока.
Декодер 36 PG извлекает и декодирует поток презентационной графики из пакетов TS, поступающих от депакетизатора источника, и записывает результирующие несжатые графические данные в плоскость PG в соответствии с соответствующими временами отображения (PTS).
В плоскости 37 PG хранится несжатый графический объект, который получен путем декодирования потока презентационной графики.
Декодер 38 IG извлекает и декодирует поток интерактивной графики из пакетов TS, поступающих от депакетизатора источника, и записывает результирующий несжатый графический объект в плоскость IG в соответствии с соответствующими временами отображения (PTS).
В плоскости 39 IG хранится несжатый графический объект, который получен путем декодирования потока интерактивной графики.
Первичный аудиодекодер 40 декодирует первичный аудиопоток.
Вторичный аудиодекодер 41 декодирует вторичный аудиопоток.
Смеситель 42 смешивает результат декодирования первичного аудиодекодера 40 с результатом декодирования вторичного аудиодекодера 41.
Движок 43 рендеринга, снабженный инфраструктурным программным обеспечением, например, Java2D или OPEN-GL, декодирует данные JPEG/данные PNG в соответствии с запросом от приложения BD-J. Движок 43 рендеринга также получает изображение или виджет, и записывает его в плоскость IG или плоскость фоновой графики. Данные изображения, полученные путем декодирования данных JPEG, используются в качестве обоев GUI, и записываются в плоскость фоновой графики. Данные изображения, полученные путем декодирования данных PNG, записываются в плоскость IG для реализации отображения кнопки, сопровождаемого анимацией. Эти изображения и/или виджеты, полученные путем декодирования данных JPEG/PNG, используются приложением BD-J для отображения меню для приема выбора титра, субтитра или аудио, или для образования части GUI для игры, которая работает совместно с воспроизведением потока при воспроизведении игры. Изображения и/или виджеты также используются для образования экрана браузера на сайте WWW, когда приложение BD-J заходит на сайт WWW.
Плоскость 44 GFX - это блок памяти плоскости, в который записываются графические данные, например, JPEG или PNG, после декодирования.
Память 45 рендеринга - это память, в которую считываются данные JPEG и данные PNG, подлежащие декодированию движком рендеринга. Область кэша выделяется этой памяти изображения, когда приложение BD-J выполняет режим воспроизведения в реальном времени. Режим воспроизведения в реальном времени реализуется путем объединения экрана браузера на сайте WWW с воспроизведением потока посредством BD-ROM. Область кэша - это кэш-память для хранения текущего и предыдущего экранов браузера в режиме воспроизведения в реальном времени, где хранятся несжатые данные PNG или несжатые данные JPEG, которые образуют экран браузера.
Как описано выше, согласно настоящему варианту осуществления, носитель записи, который включает в себя характеристики, описанные в целом в предыдущих вариантах осуществления, можно реализовать как BD-ROM, и устройство воспроизведения, которое включает в себя характеристики, описанные в целом в предыдущих вариантах осуществления, можно реализовать как устройство воспроизведения BD-ROM.
(Вариант осуществления 7)
Настоящий вариант осуществления подробно описывает набор регистров.
Набор регистров состоит из совокупности регистров статуса проигрывателя и совокупности регистров настроек проигрывателя. Каждый из регистров статуса проигрывателя и регистров настроек проигрывателя является 32-битовым регистром, и ему присваивается номер регистра, чтобы регистр, к которому нужно обраться, можно было идентифицировать по номеру регистра.
Битовые позиции битов (32 бита), которые образуют каждый регистр, представлены значениями от "b0" до "b31". Из них, бит "b31" представляет старший бит, и бит "b0" представляет младший бит. Из 32 битов, битовая последовательность от бита "bx" до бита "by" представлена как [bx:by].
Значение произвольного битового диапазона [bx:by] в 32-битовой последовательности, хранящейся в регистре настроек проигрывателя/регистре статуса проигрывателя с определенным номером регистра, рассматривается как переменная среды (также именуемая "системный параметр" или "переменная проигрывателя"), то есть переменная операционной системы, в которой выполняется программа. Программа, управляющая воспроизведением, может получать системный параметр через системное свойство или программный интерфейс приложения (API). Кроме того, если не указано обратное, программа может перезаписывать значения регистра настроек проигрывателя и регистра статуса проигрывателя. Что касается приложения BD-J, требуется, чтобы полномочия на получение или перезапись системных параметров предоставлялись таблицей управления разрешением в архивном файле JAR.
Регистр статуса проигрывателя - это аппаратный ресурс для хранения значений, используемых в качестве операндов, когда MPU устройства воспроизведения осуществляет арифметическую операцию или битовую операцию. Регистр статуса проигрывателя также сбрасывается на начальные значения при загрузке оптического диска, и верность сохраненных значений проверяется. Значения, которые могут храниться в регистре статуса проигрывателя, представляют собой номер текущего титра, номер текущего списка воспроизведения, номер текущего элемента воспроизведения, номер текущего потока, номер текущей главы, и т.д. Значения, хранящиеся в регистре статуса проигрывателя, являются временными значениями, поскольку регистр статуса проигрывателя сбрасывается на начальные значения каждый раз при загрузке оптического диска. Значения, хранящиеся в регистре статуса проигрывателя, становятся неверными при выбросе оптического диска или при отключении питания устройства воспроизведения.
Регистр настроек проигрывателя отличается от регистра статуса проигрывателя тем, что он снабжен мерами управления мощностью. Меры управления мощностью позволяют сохранять значения, хранящиеся в регистре настроек проигрывателя, в энергонезависимой памяти при отключении питания устройства воспроизведения и восстанавливать значения при включении питания устройства воспроизведения. Значения, которые можно задавать в регистре настроек проигрывателя, включают в себя: различные конфигурации устройства воспроизведения, которые определяются производителем устройства воспроизведения при отгрузке устройства воспроизведения; различные конфигурации, заданные пользователем в соответствии с процедурой установки; и возможности партнерского устройства, выявленные путем согласования с партнерским устройством, когда устройство соединено с партнерским устройством.
На фиг.69 показаны внутренние структуры набора 10 регистров и движка 7b управления воспроизведением.
На левой стороне фиг.69 показаны внутренние структуры набора 10 регистров, и в правой стороне показаны внутренние структуры движка 7b управления воспроизведением.
Далее описаны регистры статуса проигрывателя и регистры настроек проигрывателя, которым присвоены соответствующие номера регистра.
PSR1 - это регистр номеров потоков для аудиопотока, где хранится номер текущего аудиопотока.
PSR2 - это регистр номеров потоков для PG-потока, где хранится номер текущего PG-потока.
PSR4 принимает значение в диапазоне от "1" до "100" для указания номера текущего титра.
PSR5 принимает значение в диапазоне от "1" до "999" для указания номера текущей главы; и принимает значение "0xFFFF" для указания, что номер главы неверен в устройстве воспроизведения.
PSR6 принимает значение в диапазоне от "0" до "999" для указания номера текущего списка воспроизведения.
PSR7 принимает значение в диапазоне от "0" до "255" для указания номера текущего элемента воспроизведения.
PSR8 принимает значение в диапазоне от "0" до "0xFFFFFFFF" для указания текущего момента времени воспроизведения (текущей PTM) с разрешением по времени 45 кГц.
PSR10 - это регистр номеров потоков для IG-потока, где хранится номер текущего IG-потока.
PSR21 указывает, намерен ли пользователь осуществлять стереоскопическое воспроизведение.
PSR22 указывает значение режима вывода.
PSR23 используется для задания "возможности дисплея для видео". Это указывает, имеет ли устройство отображения, соединенное с устройством воспроизведения, возможность осуществлять стереоскопическое воспроизведение.
PSR24 используется для задания "возможности проигрывателя для 3D". Это указывает, имеет ли устройство воспроизведения возможность осуществлять стереоскопическое воспроизведение.
С другой стороны, движок 7b управления воспроизведением включает в себя блок 8 выполнения процедуры для уникального определения режима вывода текущего списка воспроизведения путем обращения к PSR4, PSR6, PSR21, PSR23 и PSR24, и таблица выбора потока информации текущего списка воспроизведения в памяти 9 информации управления. "Возможность проигрывателя для 3D", хранящиеся в PSR24, означает возможность устройства воспроизведения, касающуюся 3D воспроизведения, в целом. Таким образом, ее можно просто обозначать "3D-Возможность".
PSR23 задает режим вывода, и модель выбора перехода между состояниями задается, как показано на фиг.70.
На фиг.70 показан переход между состояниями модели выбора режима вывода. В этой модели выбора существует два общих состояния. Два общих состояния представлены значениями "недействительный" и "действительный" в овалах. "Недействительный" указывает, что режим вывода недействителен, и "действительный" указывает, что режим вывода действителен.
Общее состояние поддерживается, если не происходит переход между состояниями. Переход между состояниями вызван началом воспроизведения списка воспроизведения, командой навигации, сменой режима вывода, запрашиваемой приложением BD-J, или переходом к титру BD-J. Когда происходит переход между состояниями, выполняется процедура получения предпочтительного режима вывода.
Стрелки jm1, jm2, jm3,..., показанные на фиг.31, представляют события, инициирующие переходы между состояниями. Возможны следующие переходы между состояниями на фиг.31.
"Загрузка диска" означает состояние, в котором BD-ROM загружен.
"Начать презентацию" означает "начать воспроизведение списка воспроизведения" в режиме HDMV. В режиме BD-J, это означает переход к титру BD-J. Причина в том, что, в режиме BD-J, переход к титру BD-J не обязательно означает, что список воспроизведения начинает воспроизводиться.
"Перейти к титру BD-J" означает переход к титру BD-J. В частности, это указывает, что титр (титр BD-J), связанный с приложением BD-J в индексной таблице, становится текущим титром.
"Начать воспроизведение списка воспроизведения" означает, что номер списка воспроизведения, идентифицирующий список воспроизведения, установлен на PSR, и информация списка воспроизведения считывается в память как информация текущего списка воспроизведения.
"Сменить режим вывода" означает, что режим вывода изменяется, когда приложение BD-J вызывает API.
"Закончить презентацию", в режиме HDMV, означает, что воспроизведение списка воспроизведения завершается; в режиме BD-J, это означает, что титр BD-J переходит в титр (титр HDMV), который связан с объектом фильма в индексной таблице.
При загрузке диска, состояние режима вывода переходит во временное состояние "инициализация". После этого, состояние режима вывода переходит в недействительное состояние.
Состояние выбора режима вывода поддерживается как "недействительное", пока начало воспроизведения (начать презентацию) не сделается активным. "Начать презентацию", в режиме HDMV, означает, что начал воспроизводиться список воспроизведения; в режиме BD-J, это означает, что начал воспроизводиться титр BD-J, и началась некоторая операция приложения BD-J. Это не обязательно означает, что начал воспроизводиться список воспроизведения.
Когда «начать презентацию» делается активным, состояние режима вывода переходит во временное состояние "Процедура, когда условие воспроизведения изменяется".
Режим вывода переходит в "действительное" в зависимости от результата "процедуры, когда условие воспроизведения изменяется". Режим вывода переходит в "недействительное", когда режим вывода эффективен и «начать презентацию» завершено.
Команду навигации в объекте фильма следует выполнять до того, как начнет воспроизводиться список воспроизведения, поскольку поставщик контента устанавливает предпочтительный режим вывода с помощью команды. Когда выполняется команда навигации в объекте фильма, состояние переходит в "недействительное" в этой модели.
На фиг.71 показана логическая блок-схема процедуры для процесса инициализации.
На этапе S501 производится определение, выполняется ли приложение BD-J, не связанное с диском. На этапе S502, производится определение, указывает ли информация возможности стереоскопического отображения в PSR23 "существует возможность" и указывает ли информация initial_output_mode в Index.bdmv "режим стереоскопического вывода".
В случае ответа Да на этапе S501, на этапе S503 поддерживается текущий режим вывода. В случае ответа Нет на этапе S1 и Да на этапе S502, режим вывода в PSR22 устанавливается на режим стереоскопического вывода на этапе S504. В случае ответа Нет на этапе S501 и Нет на этапе S502, режим вывода в PSR22 устанавливается на режим 2D вывода на этапе S505.
На фиг.72 показана "процедура, когда условие воспроизведения изменяется". На этапе S511 производится определение, является ли режим вывода в PSR22 режимом 2D вывода. На этапе S513, производится определение, указывает ли информация возможности стереоскопического отображения в PSR23 "1", и существует ли расширенная таблица выбора потока в списке воспроизведения.
В случае ответа Да на этапе S511, текущий режим вывода не изменяется на этапе S512. В случае ответа Нет на этапе S511 и Да на этапе S513, текущий режим вывода не изменяется (этап S512). В случае ответа Нет на этапе S511 и Нет на этапе S513, текущий режим вывода устанавливается на режим 2D вывода (этап S514).
Когда список воспроизведения начинает воспроизводиться, следует учитывать, что PES-потоки, которые можно воспроизводить в соответствующих элементах воспроизведения, задаются в таблицах выбора потока соответствующих элементов воспроизведения. По этой причине, когда текущий элемент воспроизведения начинает воспроизводиться, сначала необходимо выбрать оптимальный для воспроизведения из PES-потоков, которые разрешены к воспроизведению, в таблице выбора потока текущего элемента воспроизведения. Процедура для этого выбора называется "процедура выбора потока".
Далее описано битовое назначение в регистре настроек проигрывателя для реализации режима 3D воспроизведения. Регистры, используемые для реализации режима 3D воспроизведения, - это PSR21, PSR22, PSR23 и PSR24. На фиг.73A-73D показано битовое назначение в регистре настроек проигрывателя для реализации режима 3D воспроизведения.
На фиг.73A показано битовое назначение в PSR21. В примере, показанном на фиг.73A, младший бит "b0" представляет предпочтительный режим вывода. Когда бит "b0" задан равным "0b", это указывает режим 2D вывода, и когда бит "b0" задан равным "1b", это указывает режим стереоскопического вывода. Команда навигации или приложение BD-J не может перезаписывать значение, заданное в PSR21.
На фиг.73B показано битовое назначение в PSR22.
Младший бит "b0" в PSR22 представляет текущий режим вывода. При изменении режима вывода, видео-выход устройства воспроизведения должен соответственно изменяться. Значение режима вывода определяется моделью выбора.
На фиг.73C показано битовое назначение в PSR23. Согласно фиг.73C, младший бит "b0" в PSR23 представляет возможность стереоскопического отображения соединенной телевизионной системы. В частности, когда бит "b0" задан равным "0b", это указывает, что соединенная телевизионная система является "неспособной к стереоскопической презентации"; и когда бит "b0" задан равным "1b", это указывает, что соединенная телевизионная система является "способной к стереоскопической презентации".
Эти значения автоматически устанавливаются до начала воспроизведения, когда устройство воспроизведения поддерживает интерфейс, который согласуется с устройством отображения. Когда эти значения не устанавливаются автоматически, их устанавливает пользователь.
На фиг.73D показано битовое назначение в PSR24. Согласно фиг.73D, младший бит "b0" в PSR24 представляет возможность стереоскопического отображения устройства воспроизведения. В частности, когда бит "b0" задан равным "0b", это указывает, что стереоскопическая презентация невозможна; и когда бит "b0" задан равным "1b", это указывает, что стереоскопическая презентация возможна.
Как описано выше, согласно настоящему варианту осуществления, действительность режима вывода может поддерживаться, даже если состояние воспроизведения изменяется, или от пользователя поступает запрос на переключение между потоками.
(Вариант осуществления 8)
Согласно варианту осуществления 1, информация, задающая управление смещением, внедрена в метаданные видеопотока вспомогательного вида, тогда как в настоящем варианте осуществления, информация управления, задающая управление смещением, внедрена в метаданные графического потока, причем управление смещением применяет смещения левого и правого направлений к горизонтальным координатам в плоскости графики и перекрывает результирующие плоскости графики с плоскостью видео главного вида и плоскостью видео вспомогательного вида, на которых, соответственно, визуализируются данные изображения, составляющие главный вид и вспомогательный вид.
Далее описаны параметры для использования в управлении сдвигом и данные для интерполяции параметров.
На фиг.74A-74E показаны соотношения между глубинами макроблоков и параметрами для управления сдвигом.
Предположим, что данные изображения, представляющие L-изображение, и данные изображения, представляющие R-изображение, показанные на фиг.2, образованы из макроблоков, показанных на фиг.74A и 74B, соответственно. На этих чертежах, каждый прямоугольник представляет макроблок. Среди макроблоков, образующих L- и R-изображения, заштрихованные макроблоки образуют трехмерный объект.
На фиг.74C показан трехмерный объект, представленный L- и R-изображениями, такой же, как на фиг.2. На фиг.74D показан трехмерный объект, представленный макроблоками, показанными на фиг.74A и 74B. Макроблоки, показанные на фиг.74A и 74B, имеют глубины, определенные на основании корреляций между L-изображением и R-изображением. Соответственно, когда макроблоки располагаются в направлении оси Z на основании этих глубин, макроблоки появляются, как показано на фиг.74D. Макроблоки имеют глубины головы, туловища, конечностей и хвоста динозавра, который является трехмерным объектом. Таким образом, глубины, используемые при управлении сдвигом, задаются, как показано на фиг.74E. Иначе говоря, глубины, используемые при управлении сдвигом, получаются путем отклонения глубин соответствующих макроблоков для стереоскопического изображения, на величину α в направлении оси Z. Таким образом, можно задавать соответствующие четыре глубины для отображения графики сразу перед головой, туловищем, конечностями и хвостом.
Четыре глубины можно задавать как четыре последовательности смещения, чтобы глубину головы, туловища, конечностей и хвоста динозавра можно было выбирать надлежащим образом для использования в качестве глубины графики, отображаемой в режиме «1 плоскость + смещение».
В MPEG4-MVC, поскольку кодирование осуществляется с использованием корреляций между L- и R-изображениями, генерируются векторы движения макроблоков, образующих L-изображение, и макроблоков, образующих R-изображение. С использованием векторов движения, можно находить глубины макроблоков, и из глубин макроблоков можно получать параметры управления сдвигом, соответствующие соответствующим макроблокам.
Генерация параметров управления сдвигом реализуется путем выполнения процедуры для задания последовательности смещений одновременно с кодированием видеопотока. На фиг.75 показана логическая блок-схема процедуры для задания последовательности смещения, которая выполняется одновременно с кодированием видеопотока.
На этапе S110 производится определение, началось ли кодирование GOP. Когда на этапе S110 определено, что кодирование GOP началось, управление переходит к этапу S111, на котором последовательности смещения, соответствующие каждому макроблоку, образующему движущийся объект в изображении начальной единицы доступа к видео, генерируются в MVC-масштабируемом сообщении вложенности SEI начальной единицы доступа к видео в GOP. Причина в том, что параметры управления для использования в режиме «1 плоскость + смещение», например, ширина сдвига в направлении оси X и ширина сдвига в направлении оси Z, генерируются в соответствии с каждым макроблоком, образующим данные изображения начальной единицы доступа к видео.
На этапе S112, производится определение, вычислены ли векторы движения движущегося объекта на экране в единицах макроблоков, причем это определение производится каждый раз при кодировании L- и R-изображений, принадлежащих GOP. Когда определено, что векторы движения вычислены, вычисляется информация глубины. В настоящем варианте осуществления, информация глубины вычисляется в простом процессе этапа S113, где горизонтальное скалярное значение вектора движения каждого макроблока преобразуется в ширину сдвига, и горизонтальный компонент в направлении движения каждого макроблока преобразуется в направление сдвига. В этом процессе, получаются приближенные значения ширины сдвига и направления сдвига для каждого периода кадра.
На этапе S114, величина отклонения прибавляется к ширине сдвига, полученной для каждого макроблока в течение периода кадра. Скалярные значения в горизонтальном направлении, которые являются источником преобразования, указывают глубины самого трехмерного объекта в частях, соответствующих макроблокам. Таким образом, процесс этапа S114 осуществляется для указания глубин сразу перед трехмерным объектом в качестве значений ширины сдвига в режиме «1 плоскость + смещение», путем прибавления величины отклонения.
На этапе S115, блок сдвига и направление сдвига каждого макроблока в течение периода кадра, суммированные с интерполяционными значениями, дополнительно записываются, как новые Plane_offset_value и Plane_offset_direction, в последовательность смещений для каждого макроблока.
На этапе S116, производится определение, должно ли продолжаться ли кодирование GOP в видеопотоке. Когда определено, что кодирование GOP в видеопотоке должно продолжаться, управление возвращается к этапу S112. Поскольку определено, что кодирование GOP в видеопотоке должно продолжаться, Plane_offset_value и Plane_offset_direction продолжают прибавляться к последовательности смещений.
Когда кодирование GOP заканчивается, генерация метаданных смещения в единице доступа к видео для GOP заканчивается, и управление возвращается к этапу S110.
Следует заметить, что, когда съемка осуществляется с использованием 3D камеры, или видеопоток базового вида и видеопоток зависимого вида кодируются, ширину сдвига и направление сдвига каждого макроблока можно сохранять в качестве базы данных для каждой GOP, после чего ширину сдвига и направление сдвига можно подвергать соответствующему преобразованию, и результаты преобразования можно сохранять в MVC-масштабируемом сообщении вложенности SEI в единице доступа в начале GOP. Это позволяет задавать совокупность последовательностей смещения, которые задают совокупность глубин. Следует заметить, что, когда 3D камера снабжена кодеком для MPEG4-MVC, вышеописанное задание последовательности смещений должна выполнять 3D камера.
На этом завершается описание генерации параметров для управления сдвигом в режиме «1 плоскость + смещение». Далее описаны параметры интерполяции для интерполяции параметров управления, генерируемых вышеописанным образом. Параметры интерполяции присутствуют в метаданных в потоке субтитров.
На фиг.76A и 76B показаны сегмент задания окна и информация управления в потоке субтитров.
"Сегмент задания окна" - это функциональный сегмент для задания прямоугольной области в плоскости графики. Как описано выше, в течение эпохи, непрерывность генерируется в управление памятью, только когда очистка и повторная визуализация осуществляются в определенной прямоугольной области в плоскости графики. Прямоугольная область в плоскости графики называется "окном", и задается сегментом задания окна. На фиг.76A показана структура данных сегмента задания окна. Согласно фиг.76A, сегмент задания окна включает в себя: "window_id", однозначно идентифицирующий окно в плоскости графики; "window_horizontal_position", указывающую горизонтальную позицию верхнего левого пикселя в плоскости графики; "window_vertical_position", указывающую вертикальную позицию верхнего левого пикселя в плоскости графики; "window_width", указывающую горизонтальную ширину окна в плоскости графики; и "window_height", указывающую вертикальную ширину окна в плоскости графики.
Ниже поясняется значения, которые могут принимать "window_horizontal_position", "window_vertical_position", "window_width" и "window_height". Система координат, в которой представлены эти значения, является внутренней областью плоскости графики. Во внутренней области плоскости графики, окно имеет двухмерный размер вертикальной длины "video_height" и горизонтальной длины "video_width".
"window_horizontal_position" - это горизонтальный адрес верхнего левого пикселя в плоскости графики, который принимает значение в диапазоне от "0" до "video_width - 1". "window_vertical_position" - это вертикальный адрес верхнего левого пикселя в плоскости графики, который принимает значение в диапазоне от "0" до "video_height - 1".
"window_width" - это горизонтальная ширина окна в плоскости графики, которая принимает значение в диапазоне от "0" до "video_width - window_horizontal_position - 1". "window_height" - это вертикальная ширина плоскости графики, которая принимает значение в диапазоне от "0" до "video_height - window_vertical_position - 1".
Зная "window_horizontal_position", "window_vertical_position", "window_width" и "window_height" сегмента задания окна, можно задавать, для каждой эпохи, положение окна в плоскости графики и размер окна. Это позволяет производить регулировку в ходе авторинга, например, заставляя окно появляться над изображением, принадлежащим эпохе, чтобы окно не мешало отображению изображения во время отображения изображения. Это облегчает наблюдение отображаемой графики субтитра. Поскольку сегмент задания окна можно задавать для каждой эпохи, даже если шаблон изображения в изображении изменяется с течением времени, можно облегчить наблюдение графики в соответствии с изменением. В итоге, можно повысить качество фильма до такого же уровня, как в случае, когда субтитр внедрен в главную часть фильма.
На фиг.76B показана структура PCS (Presentation Composition Segment) с дополнительными полями для режима «1 плоскость + смещение».
Согласно фиг.76B, PCS включает в себя "segment_type", "segment_length", "composition_number", "composition_state", "pallet_update_flag", "pallet_id_ref", "number_of_composition_object" и "composition_object(1)" - "composition_object(m)".
"composition_number" идентифицирует обновление графики в установке отображения, числом в пределах от "0" до "65535". Оно идентифицирует обновление графики следующим образом. "composition_number" призвано удовлетворять правилу, согласно которому, при наличии обновлений графики между началом эпохи и данным PCS, "composition_number" увеличивается при каждом обновлении графики.
"composition_state" указывает, каким из нормального случая, точки захвата и начала эпохи, является установка отображения, начинающаяся с данного PCS.
"pallet_update_flag" указывает, произведено ли в данном PCS обновление отображения только в отношении палитры. Следует заметить, что обновление отображения только в отношении палитры - это обновление, производимое путем переключения только от предыдущей палитры к новой. Когда обновление осуществляется в данном PCS, данный PCS задается равным "1".
Следующие за ним "3d_graphics_offset_direction" и "3d_graphics_offset" являются метаданными в графическом потоке.
"3d_graphics_offset_direction" - это поле для задания направления влево или вправо, в котором производится сдвиг на величину Offset.
"3d_graphics_offset" - это поле для задания, насколько конкретно цель должна переместиться в направлении влево или вправо.
"pallet_id_ref" указывает палитру, используемую для обновления отображения только в отношении палитры.
"composition_object(1)" - "composition_object (n)" - это информация, указывающая, как управлять объектом, отображаемым в установке отображения, которой принадлежит данный PCS. Линия со стрелкой "co1" указывает крупный план внутренней структуры произвольного "composition_object(i)". Как указывает линия со стрелкой "co1", "composition_object(i)" включает в себя "object_id_ref", "window_id_ref", "object_cropped_flag", "forced_on_flag", "object_horizontal_position", "object_vertical_position", "cropping_rectangle (1), (2),..., (n)".
"object_id_ref" указывает идентификатор ODS, который соответствует "composition_object(i)" и служащий ссылкой.
"window_id_ref" указывает окно, назначаемое графическому объекту. Одному окну может быть назначено до двух графических объектов.
"object_cropped_flag" - это флаг для переключения между отображением графического объекта, обрезанного в буфере объектов, и отображением необрезанного графического объекта. Когда "object_cropped_flag" задан равным "1", отображается графический объект, обрезанный в буфере объектов; и когда "object_cropped_flag" задан равным "0", отображается необрезанный графический объект. "forced_on_flag", заданный равным "1", указывает, что графический объект указывает субтитр, принудительно отображаемый, даже если субтитр установлен на "OFF" в настройке проигрывателя.
"object_horizontal_position" указывает горизонтальную позицию верхнего левого пикселя в графическом объекте в плоскости графики.
"object_vertical_position" указывает вертикальную позицию верхнего левого пикселя в плоскости графики.
"cropping_rectangle (1), (2),..., (n)" - это информационные элементы, которые верны, когда "object_cropped_flag" задан равным "1". Линия со стрелкой "wd2" указывает крупный план внутренней структуры произвольного "cropping_rectangle (i)". Как линия указывает со стрелкой "wd2", "cropping_rectangle (i)" включает в себя "object_cropping_horizontal_position", "object_cropping_vertical_address", "object_cropping_width" и "object_cropping_height".
"object_cropping_horizontal_position" указывает горизонтальную позицию верхнего левого пикселя в прямоугольнике обрезки в плоскости графики. Следует заметить, что прямоугольник обрезки - это рамка, используемая для отсечения части графического объекта, и соответствует "Region" заданной в стандарте ETSI EN 300 743.
"object_cropping_vertical_address" указывает вертикальную позиция верхнего левого пикселя в прямоугольнике обрезки в плоскости графики.
"object_cropping_width" указывает горизонтальную ширину прямоугольника обрезки в плоскости графики.
"object_cropping_height" указывает вертикальную ширину прямоугольника обрезки в плоскости графики.
На этом завершается объяснение структуры данных PCS.
Единицу значения, указанного в "3D_graphics_offset" можно задать как величину сдвига, производимого в единицах пикселя на экране, или можно задать как величину сдвига, производимого в единицах, например, двух пикселей, для сокращения количества битов, используемых для задания "3D_graphics_offset".
Например, "3D_graphics_offset_direction" может быть структурировано как однобитовое поле, чтобы, когда поле задано равным "0", смещение применялось в направлении, в котором субтитр выступает перед дисплеем (а именно, до того, как плоскость графики перекроется с плоскостью видео левого глаза, плоскость графики сдвигается вправо на величину смещения), и, когда поле задано равным "1", смещение применялось в направлении, в котором субтитр отступает за дисплей в направлении глубины. Кроме того, "3D_graphics_offset" может иметь шесть битов, чтобы смещения влево и вправо, применяемые к плоскости графики для перекрытия с плоскостью видео, могли составлять 64 пикселя (когда смещение указывает величину перемещения в единицах пикселя).
В этом случае, поскольку смещения влево и вправо на 64 пикселя не обеспечивают достаточный 3D субтитр (всплывающий), значение этого поля используется как интерполяционное значение для последовательности смещений в потоке зависимого вида. В частности, смещение, указанное в "composition_object", является интерполяционным значением, которое используется совместно с последовательностью смещений в потоке зависимого вида, и указывает величину интерполяции при поддержке смещения, указанного последовательностью смещений в потоке зависимого вида.
Теперь объясним, как описывается PCS. На фиг.77A-77C показаны примеры описаний в сегменте задания окна и PCS, принадлежащем установке отображения. На фиг.77A показан пример описания в PCS в DS1.
На фиг.77A, "window_horizontal_position" и "window_vertical_position" в сегменте задания окна указывают верхнюю левую координату LP1 окна в плоскости графики, и "window_width" и "window_height" указывают горизонтальную и вертикальную ширину кадра отображения окна.
На фиг.77A, "object_cropping_horizontal_position" и "object_cropping_vertical_position" в информации обрезки указывают стандартную точку ST1 диапазона обрезки в системе координат, началом отсчета которой является верхняя левая координата графического объекта в буфере объектов. Диапазон "object_cropping_width" и "object_cropping_height" от стандартной точки (диапазон, ограниченный жирной рамкой на чертеже) называется "диапазоном обрезки". Обрезанный графический объект располагается в диапазоне "cp1", ограниченном пунктирной линией, стандартная точка которой (верхняя левая точка) является "object_horizontal_position" и "object_vertical_position" в системе координат плоскости графики. При такой конфигурации, "Actually" записывается в окно в плоскости графики, и субтитр "Actually" перекрывается с видеоизображением, и результирующее наложенное изображение отображается.
На фиг.77B показан пример описания в PCS в DS2. Описания в сегменте задания окна на фиг.77B аналогичны показанным на фиг.77A, и их объяснение опущено. Описания в информации обрезки отличаются от фиг.77A. На фиг.77B, "object_cropping_horizontal_position" и "object_cropping_vertical_position" в информации обрезки указывают верхнюю левую координату "I was hiding" в субтитре "Actually, I was hiding my feelings" в буфере объектов. "object_cropping_width" и "object_cropping_height" указывают горизонтальную ширину и вертикальную ширину "I was hiding". При такой конфигурации, "I was hiding" записывается в окно в плоскости графики, и субтитр "I was hiding" перекрывается с видеоизображением и результирующее наложенное изображение отображается.
На фиг.77C показан пример описания в PCS в DS3. Описания в сегменте задания окна на фиг.77B аналогичны показанным на фиг.77A, и их объяснение опущено. Описания в информации обрезки отличаются от фиг.77A. На фиг.77C, "object_cropping_horizontal_position" и "object_cropping_vertical_position" в информации обрезки указывают верхнюю левую координату "my feelings" в субтитре "Actually, I was hiding my feelings" в буфере объектов. "object_cropping_width" и "object_cropping_height" указывают горизонтальную ширину и вертикальную ширину "my feelings". При такой конфигурации, "my feelings" записывается в окно в плоскости графики, и субтитр "my feelings" перекрывается с видеоизображением и результирующее наложенное изображение отображается.
Таким образом, заранее определенный эффект отображения субтитра можно реализовать путем описания PCS в DS1, DS2 и DS3, как объяснено выше.
На фиг.78 показано изменение смещения с течением времени в случае, когда интерполяция осуществляется с использованием "3d_graphics_offset" в "composition_object" и в случае, когда интерполяция не осуществляется. Сплошная линия указывает изменение смещения с течением времени в случае, когда интерполяция осуществляется с использованием "3d_graphics_offset" в "composition_object", и пунктирная линия указывает изменение смещения с течением времени в случае, когда интерполяция с использованием "3d_graphics_offset" в "composition_object" не осуществляется.
Возможен случай, когда существует две области визуализации в плоскости графики, и одна область визуализации предназначена для отображения произносимого текста, а другая предназначена для отображения комментариев режиссера фильма, и дополнительно желательно, чтобы комментарии располагались дальше от произносимого текста, придавая субтитру стереоскопический эффект. В таком случае, можно увеличить глубину комментариев, устанавливая интерполяционное значение для второй области визуализации.
Сдвиг плоскости осуществляется в единицах линий. Таким образом, следует сформулировать правило, запрещающее задавать совокупность областей визуализации от линии к линии, или предписывающее задавать смещения областей визуализации на одно и то же значение, когда совокупность областей визуализации задается для одной линии.
(Вариант осуществления 9)
Настоящий вариант осуществления относится к усовершенствованию, состоящему в том, что информация смещения видео имеет значения смещения, соответствующие соответствующим областям, полученным делением экрана.
На фиг.79 показана последовательность смещений, состоящая из смещений, которые соответствуют соответствующим областям, полученным делением экрана. В левой стороне фиг.79 показана последовательность смещений, состоящая из девяти смещений. В правой стороне фиг.79 показано соответствие между смещениями, образующими последовательность смещений, и девятью областями, полученными делением экрана. Согласно фиг.79, Offset_1 указывает значение смещения верхней левой области, Offset_1 указывает значение смещения верхней левой области, Offset_2 указывает значение смещения левой средней области, Offset_3 указывает значение смещения нижней левой области, Offset_4 указывает значение смещения верхней средней области, Offset_5 указывает значение смещения центральной области, Offset_6 указывает значение смещения нижней средней области, Offset_7 указывает значение смещения верхней правой области, Offset_8 указывает значение смещения правой средней области, и Offset_9 указывает значение смещения нижней правой области. Эти значения смещения определяются на основании информации глубины каждого кадра видео в видеопотоке.
На фиг.80 показано соответствие между глубинами объектов на экране и смещениями. В левой стороне фиг.80 показан пример данных изображения. В правой стороне фиг.80 показаны смещения соответствующих областей, образующих экран. В левой стороне фиг.80, предполагается, что эллиптический объект появляется позади экрана, и треугольный объект появляется перед экраном.
В этом случае, Смещение 1, соответствующее области, содержащей эллиптический объект, имеет малое значение.
Смещения 5, 6, 8 и 9, соответствующие областям, содержащим треугольный объект, имеют большие значения. Таким образом, информация смещения генерируется на основании глубин объектов, включенных в сцены каждого кадра.
Теперь объясним устройство 3D воспроизведения. Основная часть структуры устройства 3D воспроизведения идентична структуре устройств 3D воспроизведения, объясненных в предыдущих вариантах осуществления. Таким образом, объяснение будет сосредоточено на расширении или других частях.
На фиг.81 показаны видеодекодер, плоскость левого вида, плоскость правого вида и PG/плоскость IG в числе компонентов устройства воспроизведения.
3D видеодекодер, с таким же хронированием, как кадр декодированного изображения записывается на плоскость 2D/изображения левого глаза с хронированием PTS, сообщает блоку наложения плоскостей информацию смещения видео, содержащуюся в кадре.
Кроме того, SPEM(25), среди регистров, где хранятся переменные проигрывателя, хранится информация, указывающая, какие из девяти смещений, включенных в информацию смещения видео, являются смещениями, из которых берется наибольшее значение для использования в сдвиге плоскости. SPEM(25) указывает, какие из Offset_1, Offset_2, Offset_3, Offset_4, Offset_5, Offset_6, Offset_7, Offset_8 и Offset_9 имеют значения, из которых берется наибольшее значение.
SPEM(25) задается командой или API, когда выполняется программа файла программы BD. SPEM(25) имеет, например, 9-битовую информацию, причем каждый из девяти битов указывает действительность/недействительность каждого значения смещения.
Блок наложения плоскостей определяет, в качестве значения, на которое нужно сдвигать плоскость, наибольшее значение для значения смещения на основании информации смещения видео, переносимой из 3D видеодекодера, и на основании значений SPRM(25). Затем блок наложения плоскостей осуществляет перекрытие с плоскостью, хранящейся в блоке памяти плоскости, путем осуществления процесса сдвига плоскости и обрезки.
В примере, показанном на фиг.81, смещения имеют следующие значения: Offset_1=-3, Offset_2=-3, Offset_3=-1, Offset_4=-2, Offset_5=3, Offset_6=5, Offset_7=1, Offset_8=4 и Offset_9=5. SPRM(25) устанавливается для указания, что Offset_1, Offset_4 и Offset_7 действительны, и наибольшие значения этих смещений используются в сдвиге плоскости.
Блок сдвига определяет наибольшее значение (в этом примере, MAX(-3, -2, 1) = 1) из значений Offset_1, Offset_4 и Offset_7, которые указаны как действительные посредством SPRM(25) в информации смещения видео, выполняет процесс сдвига плоскости и обрезки и осуществляет наложение плоскости изображения.
Благодаря вышеописанной структуре, можно уменьшить размер памяти, обеспеченной в устройстве 3D воспроизведения, за счет включения информации смещения видео в видеопоток.
<Применение смещения>
SPEM(25) может включать в себя не только информацию, указывающую смещения, имеющие верные значения, из смещений девяти областей, но и значение базового смещения. Блок наложения плоскостей, определив наибольшее значение из верных значений смещений, может прибавлять значение базового смещения к наибольшему значению. Например, когда наибольшее значение из верных значений смещения равно "3", и значение базового смещения равно "2", значение смещения, используемое при сдвиге плоскости, равно "5" (3+2=5).
<Применение окна>
В настоящем варианте осуществления, SPRM(25) используется для указания верных смещений из тех, которые соответствуют девяти областям, образующим экран. Однако, без ограничения, верные смещения можно определять на основании прямоугольной области графики в плоскости графики.
На фиг.82 показано соответствие между содержанием плоскости графики и смещениями.
Предположим, что отображаемое графическое изображение представляет собой эллипс, показанный в нижней строке на фиг.82. В этом случае, верными смещениями являются Offset_5, Offset_6, Offset_8 и Offset_9. Это также применимо к случаю трехмерного воспроизведения информации, например, скрытых титров, а также к случаю отображения графики, например, IG/PG.
<Позиция информации смещения>
Информацию смещения видео можно сохранять только в начале GOP, но не в каждом кадре, содержащемся в GOP. Кроме того, фрагменты информации смещения видео в количестве, равном количеству кадров, содержащихся в GOP, можно сохранять в начале GOP.
Информацию смещения видео можно вычислять на основании разности между векторами движения изображений левого глаза и правого глаза в ходе кодирования видео.
<Модификации>
Когда информация смещения видео вычисляется из глубины объектов, включенных в сцены каждого кадра, глубины графики сильно изменяются, если глубины информации глубины сильно изменяются. Ввиду этого, значения можно устанавливать, пропуская значения через фильтр низких частот между кадрами.
<Применение блока памяти плоскости>
В настоящем варианте осуществления информация смещения видео задается так, чтобы иметь значения, соответствующие девяти областям, образующим экран. Однако, без ограничения, информация смещения видео может иметь значения смещения для каждой плоскости. В этом случае, блок наложения плоскостей изменяет значения смещения в зависимости от плоскости и осуществляет сдвиг плоскости и обрезку.
<Позиция хранения>
В настоящем варианте осуществления, значения смещения сохраняются в видеопотоке 2D/левого глаза. Однако, без ограничения, значения смещения можно сохранять в видеопотоке правого глаза.
(Вариант осуществления 10)
В настоящем варианте осуществления, представлен метод 3D-глубины, а также метод 3D-LR, который реализует эффект стереоскопического наблюдения с использованием L- и R-изображений. Согласно методу 3D-глубины, эффект стереоскопического наблюдения реализуется с использованием 2D изображения и информации глубины.
Метод 3D-глубины реализуется путем включения генератора параллаксного изображения в последнюю половину видеодекодера, и согласно методу 3D-глубины, данные изображения левого вида и данные изображения правого вида генерируются из (i) каждого фрагмента данных изображения в видеопотоке и (ii) информации глубины каждого пикселя, который образует данные изображения.
Информация глубины может состоять из данных изображения в градации серого (также именуемых данными изображения информации глубины), которые представляют глубину пикселей посредством градации серого.
На фиг.83A-83D показан один пример метода 3D-глубины. На фиг.83A показано 2D изображение, и на фиг.83B показана градация серого, генерируемая для 2D изображения, показанного на фиг.83A. Градация серого представлена пикселями, состоящими только из элемента яркости. Чем ярче (белее) пиксели в градации серого, тем они мельче; и чем темнее пиксели в градации серого, тем они глубже. На фиг.83C и 83D показаны изображение левого глаза и изображение правого глаза, генерируемые с использованием градации серого, соответственно. На фиг.84 показано стереоскопическое изображение, генерируемое в режиме 3D-глубины. Согласно фиг.84, путем генерации изображения левого глаза и изображения правого глаза для каждого кадра 2D изображений, пользователь может наслаждаться стереоскопическим наблюдением, рассматривая изображение левого глаза и изображение правого глаза через очки.
Согласно методу 3D-глубины, видеопоток, который можно воспроизводить как 2D изображение, становится видеопотоком базового вида; и видеопоток, который состоит из данных изображения в градации серого, становится видеопотоком зависимого вида.
Видеопоток базового вида может обобществляться режимом 3D-глубины и режимом 3D-LR. Таким образом, можно генерировать изображения для режима 3D-глубины и изображения для режима 3D-LR, объединяя видеопоток базового вида и видеопоток для режима 3D-глубины или видеопоток для режима 3D-LR. Структура управления данными позволяет поддерживать эти комбинации, чтобы метод отображения можно было переключать в соответствии со свойствами проигрывателя и подключенного к нему телевизора. Для достижения режима 3D-глубины, устройство воспроизведения должно быть снабжено специальным оборудованием. В результате, в настоящей заявке предполагается, если не указано обратное, что носитель записи и устройство воспроизведения не поддерживают режим 3D-глубины.
На фиг.85A и 85B показан один пример структуры носителя записи для реализации режима 3D-глубины. На фиг.85A показаны директории и файлы для режима 3D-глубины.
Файлы потока, включающие в себя блоки данных видеопотока базового вида для 3D воспроизведения, сохраняются в поддиректории BASE, которая создается под директорией STREAM, что позволяет отличить файлы потока для 3D воспроизведения от файлов потока для 2D воспроизведения.
Файлы потока, включающие в себя блоки данных видеопотока зависимого вида в формате LR для 3D воспроизведения, сохраняются в поддиректории LR, которая создается под директорией STREAM, что позволяет отличить файлы потока для 3D воспроизведения от файлов потока для 2D воспроизведения.
Файлы потока, включающие в себя блоки данных видеопотока базового вида в формате глубины для 3D воспроизведения, сохраняются в поддиректории DEPTH, которая создается под директорией STREAM, что позволяет отличить файлы потока для 3D воспроизведения от файлов потока для 2D воспроизведения.
Аналогично, информация управления потоком для управления файлами потока для воспроизведения в формате LR, сохраняется в поддиректории LR, которая создается под директорией CLIPINF, что позволяет отличать управление для 3D воспроизведения от управления для 2D воспроизведения.
Информация управления потоком для управления файлами потока для воспроизведения в формате глубины, сохраняется в поддиректории DEPTH, которая создается под директорией CLIPINF, что позволяет отличать управление для 3D воспроизведения от управления для 2D воспроизведения. Расширение также изменяется в соответствии с форматом файла.
Файлу потока, который, сам по себе, может реализовать воспроизведение, назначается такое же расширение, которое назначается соответствующему файлу потока для 2D воспроизведения.
Файлу потока, который не включает в себя блок данных видеопотока базового вида, не может сам по себе реализовать воспроизведение (не может декодировать видео), и может декодировать видео, только когда выполняется совместно с файлом потока, включающем в себя блок данных видеопотока базового вида, назначается расширение, например, ".3dts", в качестве отличительного признака.
Файлу потока, в котором блоки данных видеопотока базового вида и видеопотока зависимого вида располагаются в режиме перемежения и, таким образом, воспроизведение нельзя реализовать, если содержимое файла последовательно считывается с его начала, назначается расширение, например, ".ilts" (обозначающее "interleaved TS"), в качестве отличительного признака.
На фиг.85B показан синтаксис для записи расширенной таблицы выбора потока для поддержки режима 3D-глубины. В синтаксисе, показанном на фиг.85B, тип "type=4" добавляется в "stream_entry()". Когда тип установлен на "type=4", включается "ref_to_stream_PID_of_3DClip", указывающий файл для 3D.
"LR_dependent_view_ES_availability", "LR_interleaved_file_availability", "Depth_dependent_view_ES_availability" и "Depth_interleaved_file_availability" - это флаги, указывающие, что файлы в формате перемежения не являются необходимыми, когда видеопоток зависимого вида обеспечивается с использованием "Out-of-MUX".
"3D_base_view_block()" - это блок, который обязательно существует. При необходимости обращения к разным экстентам для 2D и 3D, потоковая запись с "type=4" ссылается на "STREAM/BASExxxxx.m2ts".
При необходимости обращения к одному и тому же экстенту для 2D и 3D, потоковая запись с "type=1" ссылается на "STREAM/xxxxx.m2ts".
Когда "LR_dependent_view_ES_availability" установлен на ON, он указывает "STREAM/LR/xxxxx.3dts" с использованием потоковой записи с "type=4". Когда используется перемеженный файл LR, указывается "STREAM/LR/xxxxx.ilts".
Когда "Depth_dependent_view_ES_availability" установлен на ON, и для 2D и 3D нужно обращаться к разным экстентам, он указывает "STREAM/DEPTH/xxxxx.3dts" с использованием потоковой записи с "type=4". Когда используется перемеженный файл Depth, указывается "STREAM/DEPTH/xxxxx.ilts".
На фиг.86 показано соответствие между элементом воспроизведения и потоками. В первом столбце в левой стороне фиг.86 показан элемент воспроизведения, включающий в себя расширенную таблицу выбора потока, записанную посредством синтаксиса, представленного на фиг.85B. Во втором столбце, соседствующим с первым столбцом, показаны транспортные потоки, хранящиеся в файлах потока, показанных на фиг.85A. В третьем столбце показаны различные типы устройств воспроизведения. В четвертом столбце показаны информационные файлы клипа, к которым обращаются устройства воспроизведения.
Элемент воспроизведения, показанный в левой стороне фиг.86, включает в себя имя информационного файла клипа (Clip_filename), таблицу выбора потока (STN_table) и расширенную таблицу выбора потока (STN_table_extension), соответствующую методу 3D-глубины. Малые прямоугольники, включенные в таблицу выбора потока и расширенную таблицу выбора потока, указывают типы потоковых записей регистрационной информации потоков в этих таблицах. Согласно фиг.86, потоковая запись в таблице выбора потока имеет тип 1 (type=1).
Напротив, в расширенной таблице выбора потока, потоковые записи: видеопотока базового вида (видеопотока базового вида); видеопотока зависимого вида в формате 3D-LR (потока зависимого вида LR); стереоскопического перемеженного потока в формате 3D-LR (LR перемеженный поток); видеопотока зависимого вида в формате 3D-Depth (потока зависимого вида Depth); и стереоскопического перемеженного потока в формате 3D-Depth (перемеженного потока Depth) имеют тип 4 (type=4).
2D
В верхней строке второго столбца показана внутренняя структура файла стереоскопического перемеженного потока (00001.ssif). Символы "D", "R", "L" и "L" в малых прямоугольниках указывают: экстент видеопотока базового вида в формате глубины; экстент видеопотока правого вида; экстент видеопотока левого вида; и экстент для 2D среди экстентов видеопотока левого вида, соответственно.
2D
Когда проигрыватель 2D должен обращаться к файлу потока согласно пути к файлу STREAM/00001.m2ts от имени информационного файла клипа в информации элемента воспроизведения, проигрыватель 2D обращается к экстентам "L" и "L" среди вышеописанных экстентов файла стереоскопического перемеженного потока.
3D
Когда проигрыватель 3D в режиме 3D-LR должен обращаться к файлу потока согласно пути к файлу STREAM/BASE/00001.m2ts от имени информационного файла клипа в информации элемента воспроизведения, проигрыватель 3D обращается к экстентам "L" и "L" среди вышеописанных экстентов файла стереоскопического перемеженного потока.
Когда проигрыватель 3D в режиме 3D-LR должен обращаться к файлу потока согласно пути к файлу STREAM/LR/00001.3dts от имени информационного файла клипа в информации элемента воспроизведения, проигрыватель 3D обращается к экстентам "R", "R" и "R" среди вышеописанных экстентов файла стереоскопического перемеженного потока.
3D
Когда проигрыватель 3D в режиме 3D-LR должен обращаться к файлу потока согласно пути к файлу STREAM/LR/00001.ilts от имени информационного файла клипа в информации элемента воспроизведения, проигрыватель 3D обращается к экстентам "R", "L", "R" и "L" среди вышеописанных экстентов файла стереоскопического перемеженного потока.
Когда проигрыватель 3D в режиме 3D-глубины файл потока должен обращаться к файлу потока согласно пути к файлу STREAM/DEPTH/00001.3dts от имени информационного файла клипа в информации элемента воспроизведения, проигрыватель 3D обращается к экстентам "D", "D" и "D" среди вышеописанных экстентов файла стереоскопического перемеженного потока.
3D
Когда проигрыватель 3D в режиме 3D-глубины файл потока должен обращаться к файлу потока согласно пути к файлу STREAM/DEPTH/00001.ilts от имени информационного файла клипа в информации элемента воспроизведения, проигрыватель 3D обращается к экстентам "D", "L", "D", "L" и "L" среди вышеописанных экстентов файла стереоскопического перемеженного потока.
В четвертом столбце фиг.86 указано, что: к "CLIPINF/00001.clpi" обращаются проигрыватель 2D, проигрыватели 3D, которые осуществляют воспроизведение 3D-LR, и 3D проигрыватели, которые осуществляют воспроизведение глубины; к "CLIPINF/LR/00001.clpi" обращаются проигрыватели 3D, которые осуществляют воспроизведение 3D-LR; и к "CLIPINF/DEPTH/00001.clpi" обращаются проигрыватели 3D, которые осуществляют воспроизведение глубины.
Как описано выше, когда потоковая запись имеет "type=4", файлы потоков, подлежащие чтению, определяются на основании типа 3D воспроизведение (формата LR или формата глубины) и формата файла, поддерживаемого проигрывателем (формата файла базовый/зависимый или формата одиночного файла).
Когда между файлами 2D потока и файлами 3D потока реализуется перекрестная ссылка, что позволяет обращаться к одним и тем же экстентам для этих файлов, к файлу потока, который идентичен файлу 2D потока, можно обращаться, установив для потоковой записи потока базового вида "type=1". Когда реализуется мультипликация в один транспортный поток, к файлу потока, который идентичен файлу 2D потока, можно обращаться, установив для потоковых записей потока базового вида и потока зависимого вида "type=1".
(Вариант осуществления 11)
Вариант осуществления 11 поясняет структуру данных для уменьшения размера буфера, который используется, когда видеоданные для воспроизведения декодируются устройством 3D воспроизведения настоящего изобретения, и поясняет устройство 3D воспроизведения.
Согласно предыдущему варианту осуществления, 3D видеодекодер содержит: элементарный буфер EB(1) для хранения единицы доступа к видео видеопотока 2D/левого вида в кодированном состоянии; и элементарный буфер EB(2) для хранения единицы доступа к видео видеопотока правого вида в кодированном состоянии.
Эти буферы соответствуют CPB в стандарте MPEG-4 AVC, и его размер буфера определяется в соответствии с заранее определенным стандартом. В общем случае, размер буфера задается пропорционально битовой скорости. Иначе говоря, чем больше битовая скорость, тем больше необходимый размер буфера; и чем меньше битовая скорость, тем меньше необходимый размер буфера. Упомянутая здесь битовая скорость означает скорость переноса при переносе из MB в EB, и соответствует BitRate, хранящейся в параметре HRD, согласно стандарту MPEG-4 AVC.
Например, когда битовая скорость видеопотока 2D/левого вида равна 40 Мбит/с, и необходимый для этого размер буфера составляет 4 МБ, размер буфера, необходимый для битового потока, кодированного одним и тем же методом кодирования, битовая скорость которого равна 30 Мбит/с, равен 4 МБ × 30 Мбит/с/40 Мбит/с = 3 МБ.
Следует заметить, что полная битовая скорость видеопотока 2D/левого вида и видеопотока правого вида определяется из скорости переноса от привода и пр., и задана как фиксированное значение. В данном примере, предполагается, что полная битовая скорость видеопотоков равна 60 Мбит/с.
Соответственно, когда полная битовая скорость равна 60 Мбит/с, и битовая скорость видеопотока 2D/левого вида равна 40 Мбит/с, битовая скорость видеопотока правого вида равна 20 Мбит/с; и когда битовая скорость видеопотока 2D/левого вида равна 30 Мбит/с, битовая скорость видеопотока правого вида равна 30 Мбит/с.
Здесь, в отношении наибольшее значение битовой скорости, наибольшая битовая скорость видеопотока 2D/левого вида равна 40 Мбит/с, и наибольшая битовая скорость видеопотока правого вида равна 30 Мбит/с. Из наибольших значений битовых скоростей размеры EB можно задавать следующим образом: размер EB(1) для видеопотока 2D/левого вида равен 4 МБ × 40 Мбит/с/40 Мбит/с = 4 МБ; и размер EB(2) для видеопотока правого вида равен 4 МБ × 30 Мбит/с/40 Мбит/с = 3 МБ. На основании этого определения размеров буферов, предположительно, что воспроизведение 3D видео гарантируется, если устройство 3D воспроизведения снабжено буфером 4 МБ + 3MB = 7 МБ и каждый видеопоток генерируется так, чтобы опустошение или переполнение не происходило при заданном выше размере буфера.
Однако, поскольку полная битовая скорость видеопотока 2D/левого вида и видеопотока правого вида равна 60 Мбит/с, не существует комбинации наибольшей битовой скорости видеопотока 2D/левого вида = 40 Мбит/с и наибольшей битовой скорости видеопотока правого вида = 30 Мбит/с. По этой причине, размер буфера каждого буфера определяется из наибольшей битовой скорости каждого видеопотока для устройства 3D воспроизведения (4 МБ + 3 МБ), устанавливается размер буфера, больший, чем необходимо.
Ввиду этой проблемы, далее описана структура данных, позволяющая устройству 3D воспроизведения устанавливать минимальные размеры буферов для EB(1) и EB(2), и описано устройство 3D воспроизведения.
Сначала будет описана структура данных.
Основная часть структуры данных такая же, как у структуры данных для хранения 3D видео, описанной в предыдущих вариантах осуществления. Таким образом, нижеследующее описание сосредоточено на расширенных или отличающихся частях.
В структуре данных согласно настоящему варианту осуществления, элемент воспроизведения дополнительно имеет поля, указывающие размеры EB(1) и EB(2), как показано на фиг.87, в чем состоит отличие от вышеописанных структур. На фиг.87 показана информация элемента воспроизведения, которая включает в себя информацию размера элементарных буферов.
В поле "размер EB(1)" хранится информация размера EB(1), необходимая для декодирования видеопотока 2D/левого вида, указанного элементом воспроизведения.
В поле "размер EB(2)" хранится информация размера EB(2), необходимая для декодирования видеопотока правого вида, подлежащего воспроизведению совместно с элементом воспроизведения.
Суммарный размер EB(1) и EB(2) определяется из полной битовой скорости видеопотока 2D/левого вида и видеопотока правого вида. Например, когда полная битовая скорость видеопотока 2D/левого вида и видеопотока правого вида равна 60 Мбит/с, суммарный размер EB(1) и EB(2) равен 4 МБ × 60 Мбит/с/40 Мбит/с = 6 МБ.
Кроме того, видеопоток 2D/левого вида, указанный элементом воспроизведения, генерируется так, чтобы опустошение или переполнение не происходило с размером буфера, заданным в поле "размер EB(1)", и видеопоток правого вида, подлежащий воспроизведению совместно с элементом воспроизведения, генерируется так, чтобы опустошение или переполнение не происходило с размером буфера, заданным в поле "размер EB(2)".
Теперь будет описано устройство 3D воспроизведения.
Основная часть устройства 3D воспроизведения такая же, как в устройстве 3D воспроизведения для воспроизведения 3D видео, описанном в предыдущих вариантах осуществления. Таким образом, нижеследующее описание сосредоточено на расширенных или отличающихся частях.
Устройство 3D воспроизведения согласно настоящему варианту осуществления изменяет размер EB для базового вида и зависимого вида (изменяет размер выделяемой области памяти) в зависимости от воспроизводимого элемента воспроизведения, в чем состоит отличие от вышеописанных устройств 3D воспроизведения.
Блок управления воспроизведением, до воспроизведения элемента воспроизведения, получает размеры EB(1) и EB(2), обращаясь к полю "размер EB(1)" и полю "размер EB(2)" в элементе воспроизведения #1, и сообщает системному целевому декодеру полученные размеры. Получив извещение о размерах, системный целевой декодер изменяет размер EB(1) и EB(2) 3D видеодекодера. Блок управления воспроизведением начинает воспроизведение элемента воспроизведения по завершении изменения размера EB(1) и EB(2).
Когда устройство 3D воспроизведения воспроизводит элемент воспроизведения #1 как 3D видео, оно идентифицирует (i) видеопоток 2D/левого вида, указанный элементом воспроизведения #1 и (ii) видеопоток правого вида, подлежащий воспроизведению совместно с элементом воспроизведения #1. Устройство 3D воспроизведения изменяет размеры EB(1) и EB(2) видеодекодера в системном целевом декодере, на основании поля "размер EB(1)" и поля "размер EB(2)", включенных в элемент воспроизведения #1. В данном примере, устройство 3D воспроизведения изменяет размеры EB(1) и EB(2) на 4 МБ и 2 МБ, соответственно, до начала воспроизведения видеопотока. Аналогично, когда устройство 3D воспроизведения воспроизводит элемент воспроизведения #2, оно изменяет размеры EB(1) и EB(2) видеодекодера в системном целевом декодере, на основании поля "размер EB(1)" и поля "размер EB(2)", включенных в элемент воспроизведения #2. В данном примере, устройство 3D воспроизведения изменяет размеры EB(1) и EB(2) на 3 МБ и 3 МБ, соответственно, до начала воспроизведения видеопотока.
Благодаря вышеописанной структуре, можно надлежащим образом управлять размерами EB(1) и EB(2), необходимых для воспроизведения 3D видео в зависимости от битовой скорости видеопотока, что, таким образом, позволяет задавать необходимые размеры буфера на основании полной битовой скорости видеопотока 2D/левого вида и видеопотока правого вида. Это, по сравнению со случаем, когда каждый размер буфера задается на основании наибольшего значения каждой битовой скорости, уменьшает полный размер буфера необходимых буферов EB(1) и EB(2).
Следует заметить, что, когда размеры буферов изменяются таким образом, что один из EB становится меньше другого, гладкое соединение между элементами воспроизведения может не гарантироваться, поскольку перенос данных между элементами воспроизведения может закончиться неудачей. Таким образом, подобное изменение размера может быть запрещено. В частности, в элементах воспроизведения, состояние соединения которых равно "5" или "6", установление размеров буферов для EB(1) и EB(2) может быть запрещено или проигнорировано. Альтернативно, в элементах воспроизведения, состояние соединения которых равно "5" или "6", можно сформулировать правило, согласно которому значения размеров буферов для EB(1) и EB(2) должны быть равны значениям размеров буферов для EB(1) и EB(2) в предыдущем элементе воспроизведения.
Кроме того, поскольку полная битовая скорость видеопотока 2D/левого вида и видеопотока правого вида определяется как фиксированное значение, можно обеспечить только поле "размер EB(1)", и размер EB(2) можно получить вычитанием размером EB(1) из полного размера буфера EB(1) и EB(2) ("размер EB(2)" = "полный размер буфера" - "размер EB(1)").
Кроме того, поле "размер EB(1)" и поле "размер EB(2)" может принимать любую форму, поскольку можно вычислять размеры буферов. Например, поля могут включать в себя битовые скорости видеопотока, что позволяют вычислять размеры буферов из битовых скоростей. Альтернативно, комбинации размера EB(1) и размера EB(2) можно задавать в виде таблицы, и можно задавать их ID.
(Вариант осуществления 12)
Настоящий вариант осуществления относится к усовершенствованию, состоящему в добавлении информации глубины к 3D метаданным в информации клипа, где информация глубины указывает глубины, добавленные в 2D изображения, представленные потоком презентационной графики, потоком интерактивной графики, и графическим потоком вспомогательного изображения.
На фиг.88 представлены 3D метаданные, к которым добавлена информация глубины. Как показано в верхней строке фиг.88, 3D метаданные представляют собой табличную информацию, включающую в себя: один или несколько PTS, которые указывают времена отображения 3D изображения; и соответствующие значения смещения, которые указывают сдвиги пикселей правого вида/левого вида. Значения смещения представлены номерами пикселей, сдвигаемых в направлении оси X, и могут включать в себя отрицательные значения. В этом варианте осуществления, каждая пара PTS и значения смещения, показанная в одной строке таблицы, называется записью смещения. Период, в течение которого каждая запись смещения является действительной, длится от момента времени, указанного посредством PTS текущей записи смещения, до момента времени, указанного посредством PTS следующей записи смещения. Например, когда PTS записи смещения #1 указывает момент времени "180000", и PTS записи смещения #2 указывает момент времени "270000", запись смещения #1 является действительной в течение периода от момента времени "180000" до момента времени "270000". Блок наложения плоскостей устройства воспроизведения перекрывает плоскость PG, плоскость IG и плоскость вспомогательного изображения, сдвигая их вправо или влево на основании значений смещения в соответствующие моменты времени. Благодаря такому наложению плоскостей, можно генерировать параллаксное изображение и можно добавлять двухмерному изображению. трехмерную глубину.
Следует заметить, что, хотя 3D метаданные задаются для каждого PID в настоящем варианте осуществления, 3D метаданные можно задавать для каждой плоскости. Структура определяет процесс анализа 3D метаданные с помощью устройства 2D/3D воспроизведения. С учетом производительности устройства 2D/3D воспроизведения в процессе наложения, интервал между записями смещения может быть ограничен, например, должен составлять не менее одной секунды.
Перейдем к объяснению информации атрибутов видеопотока. В режиме 3D-LR, кодек, частота кадров, аспектное отношение, и разрешение, указанные информацией атрибутов видеопотока для видеопотока 2D/базового вида с PID "0x1011", должны совпадать с указанными информацией атрибутов видеопотока соответствующего AV потока правого вида с PID "0x1012", соответственно. Кроме того, в режиме 3D-глубины, кодек, частота кадров, аспектное отношение и разрешение, указанные информацией атрибутов видеопотока для видеопотока 2D/базового вида с PID "0x1011", должны совпадать с указанными информацией атрибутов видеопотока соответствующего AV потока карты глубин с PID "0x1013", соответственно. Причина в том, что: если кодеки отличаются, опорные соотношения между видеопотоками не будут установлены; и если частоты кадров, аспектные отношения и разрешения отличаются, пользователь будет испытывать неудобство, когда изображения воспроизводятся синхронно друг с другом в качестве 3D изображения.
В качестве разновидности вышеописанной структуры, информация атрибутов видеопотока AV потока правого вида может включать в себя флаг, который указывает, что данный видеопоток является видеопотоком, который ссылается на видеопоток 2D/базового вида. В качестве другой разновидности, информация атрибутов видеопотока может включать в себя информацию AV потока назначения ссылки. Благодаря такой структуре, инструмент для проверки, отвечают ли созданные данные заранее определенному формату, может проверять соотношения между видеопотоками.
Карта записей видеопотока 2D/левого вида сохраняется в информационном файле клипа видеопотока 2D/базового вида. В каждой точке записи видеопотока 2D/левого вида, регистрируются PTS и SPN I-изображения в начале GOP видеопотока 2D/левого вида. Аналогично, карта записей видеопотока правого вида сохраняется в информационном файле клипа видеопотока правого вида. В каждой точке записи видеопотока правого вида регистрируются PTS и SPN изображения в начале GOP видеопотока правого вида.
(Вариант осуществления 13)
Настоящий вариант осуществления описывает иллюстративную структуру устройства воспроизведения для воспроизведения данных структуры, описанной в предыдущем варианте осуществления, которая реализована с использованием интегральной схемы 603. На фиг.89 показана иллюстративная структура устройства 2D/3D воспроизведения, которое реализовано с использованием интегральной схемы.
Блок 601 интерфейса с носителем принимает (считывает) данные из носителя и переносит данные на интегральную схему 603. Следует заметить, что блок 601 интерфейса с носителем принимает данные структуры, описанной в предыдущем варианте осуществления. Блок 601 интерфейса с носителем представляет собой, например: привод диска, когда носителем является оптический диск или жесткий диск; интерфейс карты, когда носителем является полупроводниковая память, например, SD-карта или USB-память; CAN тюнер или Si тюнер, когда носителем являются широковещательные волны вещания, включающие в себя CATV; или сетевой интерфейс, когда носителем является Ethernet, беспроводная LAN или беспроводная линия общего пользования.
Память 602 - это память для временного хранения данных, принятых (считанных) из носителя, и данных, обрабатываемых интегральной схемой 603. В качестве памяти 602 используется, например, SDRAM (Synchronous Dynamic Random Access Memory), DDRx SDRAM (Double-Date-Ratex Synchronous Dynamic Random Access Memory; x=1,2,3…) и пр. Следует заметить, что количество блоков памяти 602 не является фиксированным, но может быть равно одному, двум или более, в зависимости от необходимости.
Интегральная схема 603 - это система БИС для осуществления видео/аудио-обработки над данными, переносимыми из блока 601 интерфейса, и включает в себя главный блок 606 управления, блок 605 обработки потоков, блок 607 обработки сигнала, блок 609 управления памятью и блок 608 вывода AV.
Главный блок 606 управления включает в себя ядро процессора, имеющее функцию таймера и функцию прерывания. Ядро процессора осуществляет общее управление интегральной схемой 603 согласно программе, хранящейся в программной памяти и пр. Следует заметить, что базовое программное обеспечение, например, OS (операционное программное обеспечение) предварительно сохраняется в программной памяти и пр.
Блок 605 обработки потоков, под управлением главного блока 606 управления, принимает данные, переносимые из носителя через блок 601 интерфейса и сохраняет их в памяти 602 через шину данных в интегральной схеме 603. Блок 605 обработки потоков, под управлением главного блока 606 управления, также разделяет принятые данные на базовые видеоданные и базовые аудиоданные. Как описано выше, на носителе, AV клипы для 2D/L, включающие в себя видеопоток левого вида, и AV клипы для R, включающие в себя видеопоток правого вида, располагаются в режиме перемежения, в состоянии, когда каждый клип разделен на некоторые экстенты. Соответственно, главный блок 606 управления осуществляет управление так, что, когда интегральная схема 603 принимает данные левого глаза, включающие в себя видеопоток левого вида, принятые данные сохраняются в первой области в памяти 602; и когда интегральная схема 603 принимает данные правого глаза, включающие в себя видеопоток правого вида, принятые данные сохраняются во второй области в памяти 602. Следует заметить, что данные левого глаза принадлежат экстенту левого глаза, и данные правого глаза принадлежат экстенту правого глаза. Также заметим, что первая и вторая области в памяти 602 могут представлять собой области, генерируемые путем логического деления памяти, или могут быть физически разделенными блоками памяти.
Блок 607 обработки сигнала, под управлением главного блока 606 управления, декодирует, надлежащим методом, базовые видеоданные и базовые аудиоданные, разделенные блоком 605 обработки потоков. Базовые видеоданные записаны, будучи закодированы, например, методом MPEG-2, MPEG-4 AVC, MPEG-4 MVC или SMPTE VC-1. Кроме того, базовые аудиоданные записаны, будучи закодированы со сжатием, например, методом Dolby AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD или Linear PCM. Таким образом, блок 607 обработки сигнала декодирует базовые видеоданные и базовые аудиоданные соответствующими методами. Моделями блока 607 обработки сигнала являются различные декодеры согласно варианту осуществления 9, показанному на фиг.65.
Блок 609 управления памятью обеспечивает доступ к памяти 602 от каждого функционального блока в интегральной схеме 603.
Блок 608 вывода AV, под управлением главного блока 606 управления, осуществляет наложение базовых видеоданных, декодированных блоком 607 обработки сигнала, или преобразование формата базовых видеоданных и т.п., и выводит данные, подвергнутые таким процессам, за пределы интегральной схемы 603.
На фиг.90 показана функциональная блок-схема, демонстрирующая типичную структуру блока 605 обработки потоков. Блок 605 обработки потоков включает в себя блок 651 интерфейса устройства/потока, блок 652 демультиплексирования и блок 653 переключения.
Блок 651 интерфейса устройства/потока - это интерфейс для переноса данных между блоком 601 интерфейса и интегральной схемой 603. Блок 651 интерфейса устройства/потока может представлять собой: SATA (Serial Advanced Technology Attachment), ATAPI (Advanced Technology Attachment Packet Interface), или PATA (Parallel Advanced Technology Attachment), когда носителем является оптический диск или жесткий диск; интерфейс карты, когда носителем является полупроводниковая память, например, SD-карта или USB-память; интерфейс тюнера, когда носителем являются широковещательные волны вещания, включающие в себя CATV; или сетевой интерфейс, когда носителем является Ethernet, беспроводная LAN или беспроводная линия общего пользования. Блок 651 интерфейса устройства/потока может иметь часть функции блока 601 интерфейса, или блок 601 интерфейса может быть встроен в интегральную схему 603, в зависимости от типа носителя.
Блок 652 демультиплексирования разделяет данные воспроизведения, переносимые из носителя, включающие в себя видео и аудио, на базовые видеоданные и базовые аудиоданные. Каждый экстент, описанный выше, состоит из пакетов источника видео, аудио, PG (субтитра), IG (меню) и т.п. (зависимые пакеты источника могут включать в себя аудио). Блок 652 демультиплексирования разделяет данные воспроизведения на базовые видеопакеты TS и базовые аудиопакеты TS на основании PID (идентификатора), включенного в каждый пакет источника. Блок 652 демультиплексирования переносит данные после разделения на блок 607 обработки сигнала. Моделью блока 652 демультиплексирования является, например, депакетизатор источника и фильтр PID согласно варианту осуществления 9, показанному на фиг.65.
Блок 653 переключения переключает назначение вывода (назначение хранения) так, что, когда блок 651 интерфейса устройства/потока принимает данные левого глаза, принятые данные сохраняются в первой области в памяти 602; и когда интегральная схема 603 принимает данные правого глаза, принятые данные сохраняются во второй области в памяти 602. Здесь, блок 653 переключения является, например, DMAC (Direct Memory Access Controller). На фиг.91 показана концептуальная схема, демонстрирующая блок 653 переключения и периферию, когда блоком 653 переключения является DMAC. DMAC, под управлением главного блока 606 управления, передает данные, принятые интерфейсом устройства/потока, и адрес назначения хранения данных на блок 609 управления памятью. В частности, DMAC переключает назначение вывода (назначение хранения) в зависимости от принятых данных, передавая Адрес 1 (первую область хранения) на блок 609 управления памятью, когда интерфейс устройства/потока принимает данные левого глаза, и передавая Адрес 2 (вторую область хранения) на блок 609 управления памятью, когда интерфейс устройства/потока принимает данные правого глаза. Блок 609 управления памятью сохраняет данные в памяти 602 в соответствии с адресом назначения хранения, переданным от DMAC. Следует заметить, что для управления блоком 653 переключения можно обеспечить специализированную схему вместо главного блока 606 управления.
В вышеприведенном описании, блок 651 интерфейса устройства/потока, блок 652 демультиплексирования и блок 653 переключения объяснены как типичная структура блока 605 обработки потоков. Однако блок 605 обработки потоков может дополнительно включать в себя блок движка шифрования для дешифрования принятых шифрованных данных, данные ключа и пр., блок управления защитой для управления выполнением протокола аутентификации устройства между носителем и устройством воспроизведения и для поддержания секретного ключа, и контроллер для прямого доступа к памяти. Выше было объяснено, что, когда данные, принятые из носителя сохраняются в памяти 602, блок 653 переключения переключает назначение хранения в зависимости от того, являются ли принятые данные данными левого глаза или данными правого глаза. Однако, без ограничения, данные, принятые из носителя могут временно сохраняться в памяти 602, после чего, когда данные подлежат переносу на блок 652 демультиплексирования, данные могут разделяться на данные левого глаза и данные правого глаза.
На фиг.92 показана функциональная блок-схема, демонстрирующая типичную структуру блока 608 вывода AV. Блок 608 вывода AV включает в себя блок 681 наложения изображения, блок 682 преобразования выходного формата видео и блок 683 выходного аудио/видеоинтерфейса.
Блок 681 наложения изображения накладывает декодированные базовые видеоданные. В частности, блок 681 наложения изображения накладывает PG (субтитр) IG (меню) на видеоданные левого вида или видеоданные правого вида в единицах изображений. Моделью блока 681 наложения изображения является, например, вариант осуществления 11 и фиг.92.
Блок 681 наложения изображения накладывает плоскость левого вида и плоскость графики, и плоскость правого вида и плоскость левого вида. На фиг.94 показаны соотношения между областями в памяти 602 и каждой плоскостью в процессе наложения изображения. Память 602 включает в себя области (область хранения данных плоскости левого вида, область хранения данных плоскости правого вида и область хранения данных плоскости графики) для хранения данных, которые были декодированы и подлежат рендерингу в каждой плоскости. Следует заметить, что плоскости могут представлять собой области в памяти 602 или виртуальные пространства. Память 602 дополнительно включает в себя область хранения данных для хранения данных после наложения изображения. На фиг.95 и 96 показаны концептуальные схемы наложения изображения. Для удобства, в нижеследующем описании предполагается, что процесс наложения изображения осуществляется в режиме смещения одной плоскости, в котором используется одна плоскость графики, и когда на плоскость графики накладывается плоскость левого вида, к плоскости графики применяется смещение "+X", и когда на плоскость графики накладывается плоскость правого вида, применяется смещение "-X". Однако заметим, что для процесса наложения можно подготовить две плоскости графики, и на плоскости графики можно накладывать плоскость левого вида и плоскость правого вида, соответственно, с применением к ним соответствующих значений смещения. На фиг.95 показано, что на плоскость графики, смещенную вправо на бумаге на заранее определенное значение смещения, накладывается плоскость левого вида. На фиг.96 показано, что на плоскость графики, смещенную влево на бумаге на заранее определенное значение смещения, накладывается плоскость правого вида. Из этих фигур следует, что пиксели, соответствующие друг другу, расположенные в одних и тех же координатах в горизонтальном направлении на бумаге, накладываются друг на друга, и данные после наложения сохраняется в области хранения данных для хранения данных после наложения изображения в памяти 602. Следует заметить, что, как описано выше, значения смещения, применяемые к плоскости графики, включены в видеопоток правого вида (видеопоток вспомогательного вида) или список воспроизведения. На фиг.97 показана концептуальная схема, демонстрирующая другой метод наложения изображения. Согласно этому методу, память 602 дополнительно включает в себя области хранения данных плоскости графики после смещения (для наложения левого вида и наложения правого вида), причем данные, подлежащие совмещению с плоскостью левого вида и плоскостью правого вида, заранее подготовлены в памяти 602, блок 681 наложения изображения считывает необходимые данные из памяти 602 и накладывает считанные данные, и сохраняет данные после наложения в области хранения данных для хранения данных после наложения изображения в памяти 602. На фиг.98 показана концептуальная схема, поясняющая наложение текстового субтитра (отличного от PG/IG). Как описано выше, текстовый субтитр мультиплексирован в поток текстовых субтитров. Текстовый субтитр рендеризуется в плоскости графики и затем накладывается. Для совмещения с плоскостью левого вида и плоскостью правого вида, текстовый субтитр рендеризуется в плоскости графики со сдвигом на соответствующие значения смещения, и на плоскости графики накладываются плоскость левого вида и плоскость правого вида, соответственно. Следует заметить, что, согласно фиг.98, память 602 дополнительно включает в себя область хранения данных плоскости текстовых субтитров.
Блок 682 преобразования выходного формата видео, по мере необходимости, осуществляет следующие процессы и т.п.: процесс изменения размера для увеличения или уменьшения декодированных базовых видеоданных; процесс IP-преобразования для преобразования метода развертки от метода прогрессивной развертки к методу чересстрочной развертки и наоборот; процесс шумопонижения для устранения шума; и процесс преобразования частоты кадров для преобразования частоты кадров.
Блок 683 выходного аудио/видеоинтерфейса кодирует, в соответствии с форматом передачи данных, базовые видеоданные, подвергнутые наложению изображения и преобразованию формата, и декодированные базовые аудиоданные. Следует заметить, что, как будет описано ниже, блок 683 выходного аудио/видеоинтерфейса может быть обеспечен вне интегральной схемы 603.
На фиг.93 показана иллюстративная структура, более подробно демонстрирующая блок 608 вывода AV, или часть вывода данных устройства воспроизведения. Интегральная схема 603, согласно настоящему варианту осуществления, и устройство воспроизведения поддерживают совокупность форматов передачи данных для базовых видеоданных и базовых аудиоданных. Блок 683 выходного аудио/видеоинтерфейса, показанный на фиг.92, соответствует блоку 683a выходного аналогового видеоинтерфейса, блоку 683b цифрового выходного аудио/видеоинтерфейса и блоку 683c аналогового выходного аудио/видеоинтерфейса.
Блок 683a выходного аналогового видеоинтерфейса преобразует и кодирует базовые видеоданные, подвергнутые процессу наложения изображения и процессу преобразования выходного формата, в формат аналогового видеосигнала и выводит результат преобразования. Блок 683a выходного аналогового видеоинтерфейса представляет собой, например: композитный видеокодер, который поддерживает любой из метода NTSC, метода PAL и метода SECAM; кодер для S-сигнала изображения (разделение Y/C); кодер для компонентного сигнала изображения; или ЦАП (Ц/А преобразователь).
Блок 683b цифрового выходного аудио/видеоинтерфейса перекрывает декодированные базовые аудиоданные с базовыми видеоданными, подвергнутыми наложению изображения и преобразования выходного формата, шифрует совмещенные данные, кодирует в соответствии со стандартом передачи данных, и выводит кодированные данные. Блок 683b цифрового выходного аудио/видеоинтерфейса представляет собой, например, HDMI (High-Definition Multimedia Interface).
Блок 683c аналогового выходного аудио/видеоинтерфейса, в качестве аудио-ЦАП и пр., осуществляет Ц/А преобразование декодированных базовых аудиоданных и выводит аналоговые аудиоданные.
Формат передачи базовых видеоданных и базовых аудиоданных можно переключать в зависимости от устройства приема данных (терминала ввода данных), поддерживаемого устройством отображения/громкоговорителем, или можно переключать в соответствии с пользовательским выбором. Кроме того, можно параллельно передавать совокупность фрагментов данных, соответствующих одному и тому же контенту, согласно совокупности форматов передачи, не ограничиваясь передачей согласно одному формату передачи.
В вышеприведенном описании, блок 681 наложения изображения, блок 682 преобразования выходного формата видео и блок 683 выходного аудио/видеоинтерфейса объяснены как типичная структура блока 608 вывода AV. Однако блок 608 вывода AV может дополнительно включать в себя, например, блок графического движка для осуществления обработки графики, например, процесса фильтрации, наложения изображений, визуализации кривизны и 3D отображения.
На этом завершается описание структуры устройства воспроизведения в настоящем варианте осуществления. Следует заметить, что все функциональные блоки, включенные в интегральную схему 603, могут не быть встроенными, и что, напротив, память 602, показанная на фиг.89, может быть встроена в интегральную схему 603. Кроме того, в настоящем варианте осуществления, главный блок 606 управления и блок 607 обработки сигнала описаны как разные функциональные блоки. Однако, без ограничения, главный блок 606 управления может осуществлять часть процесса, осуществляемого блоком 607 обработки сигнала.
Маршрут шин управления и шин данных в интегральной схеме 603 проложен произвольным образом в зависимости от процедуры обработки каждого блока обработки или содержания обработки. Однако шины данных могут быть проложены так, чтобы блоки обработки соединялись напрямую, как показано на фиг.99, или могут быть проложены так, чтобы блоки обработки соединялись через память 602 (блок 609 управления памятью), как показано на фиг.100.
Интегральная схема 603 может представлять собой многокристальный модуль, созданный путем заключения совокупности кристаллов в один корпус, и выглядеть как единая БИС. Также можно реализовать систему БИС с использованием FPGA (вентильной матрицы, программируемой пользователем), которую можно перепрограммировать после изготовления БИС, или перенастраиваемого процессора, в котором можно переконфигурировать соединение и настройку схемных ячеек внутри LSI.
Далее будет объяснена работа устройства воспроизведения, имеющего вышеописанную структуру.
На фиг.101 показана логическая блок-схема, демонстрирующая процедуру воспроизведения, в которой данные принимаются (считываются) из носителя, декодируются и выводятся как видеосигнал и аудиосигнал.
S601: данные принимаются (считываются) из носителя (блок 601 интерфейса -> блок 605 обработки потоков).
S602: данные, принятые (считанные) на этапе S601, разделяются на различные данные (базовые видеоданные и базовые аудиоданные) (блок 605 обработки потоков).
S603: различные данные, генерируемые путем разделения на этапе S602, декодируются согласно надлежащему формату (блок 607 обработки сигнала).
S604: среди различных данных, декодированных на этапе S603, базовые видеоданные подвергаются процессу наложения (блок 608 вывода AV).
S605: выводятся базовые видеоданные и базовые аудиоданные, подвергнутые процессам на этапах S602-S604 (блок 608 вывода AV).
На фиг.102 показана логическая блок-схема, подробно демонстрирующая процедуру воспроизведения. Все операции и процессы осуществляются под управлением главного блока 606 управления.
S701: блок 651 интерфейса устройства/потока блока 605 обработки потоков принимает (считывает) данные (список воспроизведения, информацию клипа и т.д.), которые отличаются от данных, хранящихся на носителе, подлежащем воспроизведению, и необходимы для воспроизведения данных, через блок 601 интерфейса, и сохраняет принятые данные в памяти 602 (блок 601 интерфейса, блок 651 интерфейса устройства/потока, блок 609 управления памятью, память 602).
S702: главный блок 606 управления распознает метод сжатия видео- и аудиоданных, хранящихся на носителе, обращаясь к атрибуту потока, включенному в принятую информацию клипа, и инициализирует блок 607 обработки сигнала так, чтобы можно было осуществлять соответствующую обработку декодирования (главный блок 606 управления).
S703: блок 651 интерфейса устройства/потока блока 605 обработки потоков принимает (считывает) данные видео/аудио, подлежащие воспроизведению, из носителя через блок 601 интерфейса, и сохраняет принятые данные в памяти 602 через блок 605 обработки потоков и блок 609 управления памятью. Следует заметить, что данные принимаются (считываются) в единицах экстентов, и главный блок 606 управления управляет блоком 653 переключения так, чтобы, при приеме (считывании) данных левого глаза, принятые данные сохранялись в первой области; и при приеме (считывании) данных правого глаза, принятые данные сохранялись во второй области, и блок 653 переключения переключает назначение вывода данных (назначение хранения) (блок 601 интерфейса, блок 651 интерфейса устройства/потока, главный блок 606 управления, блок 653 переключения, блок 609 управления памятью, память 602).
S704: данные, хранящиеся в памяти 602, переносятся на блок 652 демультиплексирования блока 605 обработки потоков, и блок 652 демультиплексирования идентифицирует базовые видеоданные (главное видео, вспомогательное видео), PG (субтитр), IG (меню), и базовые аудиоданные (аудио, вспомогательное аудио) на основании PID, включенных в пакеты источника, образующие данные потока, и переносит данные на каждый соответствующий декодер на блоке 607 обработки сигнала в единицах пакетов TS (блок 652 демультиплексирования).
S705: каждый в блоке 607 обработки сигнала осуществляет процесс декодирования над переносимыми пакетами TS надлежащим методом (блок 607 обработки сигнала).
S706: среди базовых видеоданных, декодированных блоком 607 обработки сигнала, данные, соответствующие видеопотоку левого вида и видеопотоку правого вида, изменяются в размере на основании устройства отображения (блок 682 преобразования выходного формата видео).
S707: PG (субтитр) и IG (меню) накладываются на видеопоток, измененный в размере на этапе S706 (блок 681 наложения изображения).
S708: IP-преобразование, т.е. преобразование метода развертки, осуществляется над видеоданными после наложения на этапе S707 (блок 682 преобразования выходного формата видео).
S709: кодирование, Ц/А преобразование и т.п. осуществляются над базовыми видеоданными и базовыми аудиоданными, подвергнутыми вышеописанным процессам, на основании формата вывода данных устройства отображения/громкоговоритель или формата передачи данных для передачи на устройство отображения/громкоговоритель. Композитный видеосигнал, S-сигнал изображения, компонентный сигнал изображения и т.п. поддерживаются для аналогового вывода базовых видеоданных. Кроме того, поддерживается HDMI для цифрового вывода базовых видеоданных и базовых аудиоданных (блок 683 выходного аудио/видеоинтерфейса).
S710: базовые видеоданные и базовые аудиоданные, подвергнутые процессу на этапе S709, выводятся и передаются на устройство отображения/громкоговоритель (блок 683 выходного аудио/видеоинтерфейса, устройство отображения/громкоговоритель).
На этом завершается описание процедуры операции устройства воспроизведения в настоящем варианте осуществления. Следует заметить, что результат процесса может временно сохраняться в памяти 602 каждый раз по завершении процесса. Кроме того, в вышеописанной процедуре операции, блок 682 преобразования выходного формата видео осуществляет процесс изменения размера и процесс IP-преобразования. Однако, без ограничения, процессы, по необходимости, могут быть опущены, или могут осуществляться другие процессы (процесс шумопонижения, процесс преобразования частоты кадров и т.д.). Кроме того, по возможности, процедуры обработки могут изменяться.
(Дополнительные примечания)
До сих пор настоящее изобретение было описано посредством вариантов осуществления, которые заявитель в настоящее время считает наилучшими. Однако можно добавить дополнительные усовершенствования или изменения, касающиеся следующих технических вопросов. Выбор того, какой из вариантов осуществления или усовершенствований или изменений для реализации изобретения является оптимальным, может определяться по личному мнению реализатора.
(Назначение совокупности последовательностей смещения)
Как описано выше, глубину каждого макроблока, образующего изображение, можно сохранять в другой из совокупности последовательностей смещения. Однако эта структура является лишь одним примером.
В качестве другого примера, совокупность фрагментов информации глубины, указывающая глубины, которые отличаются друг от друга на величину порядка "+10" или "-10", может быть задана как информация направления смещения плоскости для каждой из последовательности смещений и как значения сдвига для смещения плоскости.
(Соответствие между файлами)
Согласно варианту осуществления 3, в качестве конкретного примера ассоциации, использующей идентификационную информацию, идентификационный номер правого вида генерируется путем прибавления "1" к идентификационному номеру левого вида. Однако, без ограничения, идентификационный номер правого вида может генерироваться путем прибавления "10000" к идентификационному номеру левого вида.
Когда нужно реализовать метод соединения для ассоциирования файлов с именами файлов, сторона устройства воспроизведения требует механизма для выявления связанных файлов, и механизм для выявления файла на основании заранее определенного правила, и файлов воспроизведения, на которые не ссылается список воспроизведения. Устройства, поддерживающие 3D воспроизведение, требуют вышеописанных механизмов, когда они используют любой из таких методов соединения. Однако, благодаря такой структуре, нет необходимости использовать разные типы списков воспроизведения для воспроизведения 2D и 3D изображений, и можно обеспечить безопасную работу списка воспроизведения в традиционных устройствах 2D воспроизведения, которые уже превалируют.
При использовании метода глубины в такой градации серого, когда стереоскопическое изображение не может воспроизводиться с помощью только одного потока, необходимо различать поток путем назначения ему разных расширений во избежание ошибочного воспроизведения устройством по отдельности. В связи с идентификацией файла, который не может воспроизводиться по отдельности, необходимо препятствовать введению пользователя в замешательство, когда существующее устройство ссылается на файл 3D через DLNA (Digital Living Network Alliance). Можно реализовать информацию спаривания только посредством имен файлов путем назначения одного и того же номера файла и разных расширений.
(Методы стереоскопического наблюдения)
Согласно методу параллаксного изображения, используемому согласно варианту осуществления 1, изображения левого глаза и правого глаза попеременно отображаются в направлении временной оси. В результате, например, при отображении 24 изображения в секунду в обычном двухмерном фильме, в трехмерном фильме, для объединения изображений левого глаза и правого глаза, должно отображаться 48 изображений в секунду. Соответственно, этот метод пригоден для устройств отображения, которые перезаписывают каждый экран с относительно высокими скоростями. Стереоскопическое наблюдение с использованием параллаксных изображений используется в оборудовании воспроизведения увеселительных парков, и устанавливается технологически. Таким образом, можно сказать, что этот метод является ближайшим к использованию в домах. Были предложены различные другие технологии, например, метод двухцветного разделения, в качестве методов для реализации стереоскопического наблюдения с использованием параллаксных изображений. Согласно вариантам осуществления, в порядке примера, использовались метод последовательной сегрегации и метод поляризационных очков. Однако настоящее изобретение не ограничивается этими методами, поскольку используются параллаксные изображения.
Кроме того, не ограниваясь лентикулярной линзой, телевизор 300 может использовать другие устройства, например, жидкокристаллический элемент, который имеет такую же функцию, что и лентикулярная линза. Также возможно реализовать стереоскопическое наблюдение, обеспечивая фильтр вертикальной поляризации для пикселей левого глаза, и обеспечивая фильтр горизонтальной поляризации для пикселей правого глаза, и позволяя наблюдателю рассматривать экран через пару поляризационных очков, снабженных фильтром вертикальной поляризации для левого глаза и фильтром горизонтальной поляризации для правого глаза.
(Цель применения левого вида и правого вида)
Левый вид и правый вид можно подготавливать не только применительно к видеопотоку, представляющему сюжет, но также применительно к изображениям пиктограмм. Как и в случае видеопотока, устройство 2D воспроизведения отображает традиционные 2D изображения пиктограмм, но устройство 3D воспроизведения выводит изображение пиктограммы левого глаза и изображение пиктограммы правого глаза, подготовленные для 3D, в соответствии с системой 3D отображения.
Аналогично, левый вид и правый вид можно применять к изображениям меню, изображениям пиктограмм каждой сцены для поиска главы и уменьшенным изображениям каждой сцены.
(Варианты осуществления программы)
Прикладную программу, описанную в каждом варианте осуществления настоящего изобретения, можно создавать следующим образом. Прежде всего, разработчик программного обеспечения пишет, используя язык программирования, исходный код программы, который обеспечивает каждую логическую блок-схему и каждый функциональный компонент. При таком написании разработчик программного обеспечения использует структуру классов, переменные, переменные массива, вызовы внешних функций и т.д., в соответствии со структурой предложения на используемом языке программирования.
Записанный исходный код программы поступает на компилятор в виде файлов. Компилятор транслирует исходный код программы и генерирует объектный код программы.
Трансляция, осуществляемая компилятором, включает в себя такие процессы, как синтаксический анализ, оптимизацию, выделение ресурсов и генерацию кода. В процессе синтаксического анализа анализируются символы и фразы, структура предложения и смысл исходного кода программы, и исходный код программы преобразуется в промежуточный код программы. В процессе оптимизации промежуточный код программы подвергается таким процессам, как задание базовых блоков, анализ последовательности управления и анализ последовательности данных. В процессе выделения ресурсов, для адаптации к наборам инструкций целевого процессора, переменные в промежуточном коде программы выделяются регистру или памяти целевого процессора. В процессе генерации кода каждая промежуточная инструкция в промежуточном коде программы преобразуется в программный код, и получается объектный код программы.
TM
Генерируемый объектный код программы состоит из одного или нескольких программных кодов, предписывающих компьютеру выполнять каждый этап в логической блок-схеме или каждую процедуру функциональных компонентов. Существуют различные типы программных кодов, например, собственный код процессора и байтовый код Java. Также существуют различные формы реализации этапов программных кодов. Например, когда каждый этап можно реализовать с использованием внешней функции, операторы вызова для вызова внешних функций используются в качестве программных кодов. Программные коды, реализующие один этап, могут принадлежать разным объектным кодам программы. В RISC-процессоре, где количество типов инструкций ограничено, каждый этап логических блок-схем можно реализовать путем комбинирования инструкций арифметических операций, инструкций логических операций, инструкций ветвления и т.п.
После генерации объектного кода программы, программист активирует линкер. Линкер выделяет области памяти объектным кодам программы и соответствующим библиотечным программам, и связывает их друг с другом для генерации загружаемого модуля. Генерируемый загружаемый модуль базируется на предположении о том, что он считывается компьютером, и предписывает компьютеру выполнять процедуры, указанные в логических блок-схемах, и процедуры функциональных компонентов. Описанную здесь программу можно записывать на компьютерно-считываемый носитель записи и можно предоставлять пользователю в этой форме.
(Воспроизведение оптического диска)
Привод BD-ROM оборудован оптической головкой, которая включает в себя полупроводниковый лазер, коллимационную линзу, делитель пучка, объектив, собирающую линзу и фотодетектор. Световые пучки, излучаемые полупроводниковым лазером, проходят через коллимационную линзу, делитель пучка и объектив и фокусируются на информационной поверхности оптического диска.
Сфокусированные световые пучки отражаются/дифрагируют на оптическом диске, проходят через объектив, делитель пучка и коллимационную линзу, и собираются в фотодетекторе. Сигнал воспроизведения генерируется в зависимости от количества света, собранного в фотодетекторе.
(Разновидности носителя записи)
Носитель записи, описанный в каждом варианте осуществления, указывает общий пакетный носитель как целое, включающий в себя оптический диск и плату полупроводниковой памяти. В каждом варианте осуществления, предполагается, в качестве одного примера, что носителем записи является оптический диск, в котором предварительно записаны необходимые данные (например, существующий оптический диск только для чтения, например, BD-ROM или DVD-ROM). Однако настоящее изобретение не ограничивается этим. Например, настоящее изобретение можно реализовать следующим образом: (i) получить 3D-контент, который включает в себя данные, необходимые для реализации настоящего изобретения, и распространяется путем широковещания или по сети; (ii) записать 3D-контент на записываемый оптический диск (например, существующий записываемый оптический диск, например, BD-RE, DVD-RAM) с использованием оконечного устройства, имеющего функцию записи на оптический диск (функция может быть встроена в устройство воспроизведения, или устройство не обязано являться устройством воспроизведения); и (iii) вставить оптический диск с записанным на нем 3D-контентом в устройство воспроизведения настоящего изобретения.
(Варианты осуществления устройства записи и устройства воспроизведения с платой полупроводниковой памяти)
Далее описаны варианты осуществления устройства записи для записи структуры данных каждого варианта осуществления в полупроводниковую память и устройства воспроизведения для ее воспроизведения.
Прежде всего, будет дано объяснение механизма для защиты авторских прав данных, записанных на BD-ROM, согласно предполагаемой технологии.
Некоторые данные, записываемые на BD-ROM, можно, при необходимости, шифровать ввиду конфиденциальности данных.
Например, BD-ROM может содержать, в виде шифрованных данных, данные, соответствующие видеопотоку, аудиопотоку или потоку, включающему в себя их.
Далее описано дешифрование шифрованных данных из данных, записанных на BD-ROM.
На устройстве воспроизведения с платой полупроводниковой памяти предварительно сохранены данные (например, ключ устройства), которые соответствуют ключу, который необходим для дешифрования шифрованных данных, записанных на BD-ROM.
С другой стороны, на BD-ROM предварительно записываются (i) данные (например, блок ключа носителя (MKB), соответствующий вышеупомянутому ключу устройства), которые соответствуют ключу, который необходим для дешифрования шифрованных данных, и (ii) шифрованные данные (например, зашифрованный ключ титра, соответствующий вышеупомянутому ключу устройства и MKB), которые генерируется путем шифрования самого ключа, который необходим для дешифрования шифрованных данных. Следует заметить, что ключ устройства, MKB и зашифрованный ключ титра рассматриваются как набор, и дополнительно связаны с идентификатором (например, ID тома), записанным в область (именуемую BCA) BD-ROM, которую, в общем случае, нельзя копировать. Она имеет структуру, которая не позволяет дешифровать шифрованные данные в случае неверного комбинирования этих элементов. Только в случае правильной комбинации, можно получить ключ (например, ключ титра, который получен путем дешифрования зашифрованного ключа титра с использованием вышеупомянутого ключа устройства, MKB и ID тома), который необходим для дешифрования шифрованных данных. Шифрованные данные можно дешифровать с использованием полученного ключа.
Когда устройство воспроизведения пытается воспроизвести BD-ROM, загруженный в устройство, оно не может воспроизводить шифрованные данные, если само устройство не имеет ключ устройства, который образует пару (или соответствует) с зашифрованным ключом титра и MKB, записанными на BD-ROM. Причина в том, что ключ (ключ титра), необходимый для дешифрования шифрованных данных, зашифрован и записан на BD-ROM как зашифрованный ключ титра, и ключ, необходимый для дешифрования шифрованных данных, невозможно получить в случае неправильной комбинации MKB и ключа устройства.
Напротив, в случае правильной комбинации зашифрованного ключа титра, MKB, ключа устройства и ID тома, видеопоток и аудиопоток декодируются декодером с использованием вышеупомянутого ключа (например, ключа титра, который получен путем дешифрования зашифрованного ключа титра с использованием ключ устройства, MKB и ID тома), который необходим для дешифрования шифрованных данных. Устройство воспроизведения имеет такую структуру.
На этом завершается описание механизма для защиты авторских прав данных, записанных на BD-ROM. Следует заметить, что этот механизм не ограничивается BD-ROM, но применим, например, к считываемой/записываемой полупроводниковой памяти (например, портативной полупроводниковой памяти, например, SD-карте) для реализации.
Теперь будет описана процедура воспроизведения в устройстве воспроизведения с платой полупроводниковой памяти. В случае, когда устройство воспроизведения воспроизводит оптический диск, оно имеет структуру, позволяющую считывать данные с помощью, например, привода оптического диска. С другой стороны, в случае, когда устройство воспроизведения воспроизводит с платы полупроводниковой памяти, оно имеет структуру, позволяющую считывать данные через интерфейс для чтения данных с платы полупроводниковой памяти.
В частности, устройство воспроизведения может иметь такую структуру, при которой, когда плата полупроводниковой памяти вставлена в держатель (не показан), предусмотренный в устройстве воспроизведения, устройство воспроизведения и плата полупроводниковой памяти электрически соединены друг с другом через интерфейс платы полупроводниковой памяти, и устройство воспроизведения считывает данные с платы полупроводниковой памяти через интерфейс платы полупроводниковой памяти.
(Варианты осуществления приемного устройства)
Устройство воспроизведения, объясненное в каждом варианте осуществления, можно реализовать в качестве оконечного устройства, которое принимает данные (данные распространения), которые соответствуют данным, объясненным в каждом варианте осуществления, с сервера распространения для службы электронного распространения, и записывает принятые данные на плату полупроводниковой памяти.
Такое оконечное устройство можно реализовать путем структурирования устройства воспроизведения, объясненного в каждом варианте осуществления, для осуществления таких операций, или можно реализовать как специализированное оконечное устройство, которое отличается от устройства воспроизведения, объясненного в каждом варианте осуществления, и сохраняет данные распространения на плату полупроводниковой памяти. Здесь будет объяснен случай использования устройства воспроизведения. Кроме того, в этом объяснении, SD-карта используется в качестве полупроводниковой памяти назначения записи.
Когда устройство воспроизведения должно записывать данные распространения на карту памяти SD, вставленную в обеспеченный в нем держатель, устройство воспроизведения сначала направляет запросы на сервер распространения (не показан), где хранятся данные распространения, для передачи данных распространения. Таким образом, устройство воспроизведения считывает идентификационную информацию для однозначной идентификации вставленной карты памяти SD (например, идентификационную информацию, уникально назначаемую каждой карте памяти SD, в частности, серийный номер и пр. карты памяти SD), с карты памяти SD, и передает считанную идентификационную информацию на сервер распространения совместно с запросом распространения.
Идентификационная информация для однозначной идентификации карты памяти SD соответствует, например, вышеописанному ID тома.
С другой стороны, на сервере распространения хранятся необходимые данные (например, видеопоток, аудиопоток и т.п.) в зашифрованном состоянии, благодаря чему необходимые данные можно дешифровать с использованием заранее определенного ключа (например, ключа титра).
Сервер распространения, например, поддерживает личный ключ, позволяющий динамически генерировать разные фрагменты информации открытого ключа, соответственно, в соответствии с идентификационными номерами, уникально назначенными каждой плате полупроводниковой памяти.
Кроме того, сервер распространения имеет структуру, позволяющую шифровать сам ключ (ключ титра), необходимый для дешифрования шифрованных данных (иначе говоря, сервер распространения имеет структуру, позволяющую генерировать зашифрованный ключ титра).
Генерируемая информация открытого ключа включает в себя, например, информацию, соответствующую вышеописанным MKB, ID тома и зашифрованному ключу титра. Благодаря такой структуре, когда, например, комбинация идентификационного номера платы полупроводниковой памяти, открытого ключа, содержащегося в информации открытого ключа, которая будет объяснена ниже, и ключа устройства, который предварительно записывается в устройстве воспроизведения, верна, получается ключ (например, ключ титра, который получен путем дешифрования зашифрованного ключа титра с использованием ключа устройства, MKB, и идентификационного номера полупроводниковой памяти), необходимый для дешифрования шифрованных данных, и шифрованные данные дешифруются с использованием полученного необходимого ключа (ключа титра).
Таким образом, устройство воспроизведения записывает принятый фрагмент информации открытого ключа и данные распространения в область записи платы полупроводниковой памяти, вставленного в его держатель.
Теперь будет описан пример метода для дешифрования и воспроизведения шифрованных данных среди данных, содержащихся в информации открытого ключа и данных распространения, записанных в области записи платы полупроводниковой памяти.
Принятая информация открытого ключа хранит, например, открытый ключ (например, вышеописанный MKB и зашифрованный ключ титра), информацию подписи, идентификационный номер платы полупроводниковой памяти и список устройств, который представляет собой информацию об устройствах, подлежащих объявлению недействительными.
Информация подписи включает в себя, например, значение хэша информации открытого ключа.
Список устройств это, например, информация для идентификации устройств, которые могут воспроизводиться без авторизации. Информация, например, используется для однозначной идентификации устройств, частей устройств и функций (программ), которые могут воспроизводиться без авторизации, и состоит, например, из ключа устройства и идентификационного номера устройства воспроизведения, которые предварительно записаны в устройстве воспроизведения, и идентификационного номера декодера, предусмотренного в устройстве воспроизведения.
Далее описано воспроизведение шифрованных данных среди данных распространения, записанных в области записи платы полупроводниковой памяти.
В первую очередь, осуществляется проверка, можно ли использовать сам ключ дешифрования, прежде чем шифрованные данные будут дешифрованы с использованием ключа дешифрования.
В частности, проводятся следующие проверки.
(1) Проверка того, совпадает ли идентификационная информация платы полупроводниковой памяти, содержащаяся в информации открытого ключа, с идентификационным номером платы полупроводниковой памяти, предварительно сохраненным в плате полупроводниковой памяти.
(2) Проверка того, совпадает ли значение хэша информации открытого ключа, вычисленное в устройстве воспроизведения, со значением хэша, включенным в информацию подписи.
(3) Проверка того, на основании информации, включенной в список устройств, аутентичности устройства воспроизведения для осуществления воспроизведения (например, ключ устройства, показанный в списке устройств, включенном в информацию открытого ключа, совпадает с ключом устройства, предварительно сохраненном в устройстве воспроизведения).
Эти проверки могут осуществляться в любом порядке.
После вышеописанных проверок (1)-(3), устройство воспроизведения осуществляет управление, чтобы не дешифровать шифрованные данные при выполнении любого из следующих условий: (i) идентификационная информация платы полупроводниковой памяти, содержащаяся в информации открытого ключа, не совпадает с идентификационным номером платы полупроводниковой памяти, предварительно сохраненным в плате полупроводниковой памяти; (ii) значение хэша информации открытого ключа, вычисленное в устройстве воспроизведения, не совпадает со значением хэша, включенным в информацию подписи; и (iii) устройство воспроизведения для осуществления воспроизведения не является аутентичным.
С другой стороны, при выполнении всех условий: (i) идентификационная информация платы полупроводниковой памяти, содержащаяся в информации открытого ключа, совпадает с идентификационным номером платы полупроводниковой памяти, предварительно сохраненным в плате полупроводниковой памяти; (ii) значение хэша информации открытого ключа, вычисленное в устройстве воспроизведения, совпадает со значением хэша, включенным в информацию подписи; и (iii) устройство воспроизведения для осуществления воспроизведения аутентично, it принимается решение, что комбинация идентификационного номера полупроводниковой памяти, открытый ключ, содержащийся в информации открытого ключа, и ключ устройства, предварительно записанный в устройстве воспроизведения, верен, и шифрованные данные дешифруются с использованием ключа, необходимого для дешифрования (ключа титра, который получен путем дешифрования зашифрованного ключа титра с использованием ключа устройства, MKB, и идентификационного номера полупроводниковой памяти).
Когда шифрованные данные представляют собой, например, видеопоток и аудиопоток, видеодекодер дешифрует (декодирует) видеопоток с использованием вышеописанного ключа, необходимого для дешифрования (ключа титра, который получен путем дешифрования зашифрованного ключа титра), и аудиодекодер дешифрует (декодирует) аудиопоток с использованием вышеописанного ключа, необходимого для дешифрования.
Благодаря такой структуре, когда устройства, части устройств и функции (программы), которые можно использовать без авторизации, известны на момент электронного распространения, список устройств, демонстрирующий такие устройства и т.п., можно распространять. Это позволяет устройству воспроизведения, принявшему список, запрещать дешифрование с использованием информации открытого ключа (самого открытого ключа), когда устройство воспроизведения включает в себя что-либо, указанное в списке. Таким образом, даже если комбинация идентификационного номера полупроводниковой памяти, самого открытого ключа, содержащегося в информации открытого ключа, и ключа устройства, который предварительно записан в устройстве воспроизведения, верна, осуществляется управление, чтобы не дешифровать шифрованные данные. Это позволяет препятствовать использованию данных распространения неаутентичным устройством.
Предпочтительно, чтобы идентификатор платы полупроводниковой памяти, предварительно записанный в плате полупроводниковой памяти, сохранялся в хорошо защищенной области записи. Причина в том, что, в случае подделки идентификационного номера (например, серийного номера карты памяти SD), предварительно записанного в плате полупроводниковой памяти, неавторизованное копирование облегчается. В частности, уникальные, хотя и различные идентификационные номера соответственно назначаются платам полупроводниковой памяти, если идентификационные номера подделываются с целью сделать их одинаковыми, вышеописанное решение по пункту (1) не имеет смысла, и поддельные платы полупроводниковой памяти можно копировать без авторизации.
По этой причине, предпочтительно, чтобы информация, например идентификационный номер платы полупроводниковой памяти, сохранялась в хорошо защищенной области записи.
С этой целью, плата полупроводниковой памяти, например, может иметь структуру, в которой область записи для записи данных высокой степени конфиденциальности, например, идентификатора платы полупроводниковой памяти (далее, область записи именуется второй областью записи), обеспечена отдельно от области записи для записи обычных данных (далее, область записи именуется первой областью записи), предусмотрена схема управления для управления доступом ко второй области записи, и доступ ко второй области записи возможен только через схему управления.
Например, данные можно шифровать, чтобы шифрованные данные записывались во второй области записи, и схему управления можно снабдить схемой для дешифрования шифрованных данных. В этой структуре, при осуществлении доступа ко второй области записи, схема управления дешифрует шифрованные данные и возвращает дешифрованные данные. В качестве другого примера, схема управления может поддерживать информацию, указывающую место, где данные сохраняются во второй области записи, и при осуществлении доступа ко второй области записи, схема управления идентифицирует соответствующее место хранения данных, и возвращает данные, считанные из идентифицированного места хранения.
Приложение, выполняющееся на устройстве воспроизведения и записывающее данные на плату полупроводниковой памяти с использованием электронного распространения, выдает, на схему управления через интерфейс платы памяти, запрос доступа, запрашивающий доступ к данным (например, идентификационный номер платы полупроводниковой памяти), записанным во второй области записи. Получив запрос, схема управления считывает данные из второй области записи и возвращает данные приложению, выполняющемуся на устройстве воспроизведения. Она посылает идентификационный номер платы полупроводниковой памяти и запрашивает у сервера распространения распространение данных, например, информации открытого ключа, и соответствующие данные распространения. Информация открытого ключа и соответствующие данные распространения, поступающие от сервера распространения, записываются в первую область записи.
Кроме того, предпочтительно, чтобы приложение, выполняющееся на устройстве воспроизведения и записывающее данные на плату полупроводниковой памяти с использованием электронного распространения, предварительно проверяло, подделано ли приложение, прежде чем оно выдаст, на схему управления через интерфейс платы памяти, запрос доступа, запрашивающий доступ к данным (например, идентификационный номер платы полупроводниковой памяти), записанным во второй области записи. Для такой проверки можно использовать, например, существующий цифровой сертификат, отвечающий стандарту X.509.
Кроме того, доступ к данным распространения, записанным в первой области записи платы полупроводниковой памяти, не обязательно осуществлять через схему управления, предусмотренную в плате полупроводниковой памяти.
Промышленная применимость
На информационном носителе записи, соответствующем настоящему изобретению, хранится 3D изображение, но его можно воспроизводить как на устройствах воспроизведения 2D-изображения, так и на устройствах воспроизведения 3D-изображения. Это позволяет распространять содержание фильмов, например, титры фильмов, где хранятся 3D изображения, не заставляя потребителей заботиться о совместимости. Это активизирует кинорынок и рынок коммерческих устройств. Соответственно, носитель записи и устройство воспроизведения, соответствующие настоящему изобретению, очень полезны в киноиндустрии и индустрии коммерческих устройств.
Перечень условных обозначений
100 носитель записи
200 устройство воспроизведения
300 устройство отображения
400 3D-очки
500 пульт дистанционного управления