УСТРОЙСТВО ОБРАБОТКИ ИНФОРМАЦИИ, СПОСОБ ОБРАБОТКИ ИНФОРМАЦИИ, УСТРОЙСТВО ВОСПРОИЗВЕДЕНИЯ, СПОСОБ ВОСПРОИЗВЕДЕНИЯ И ПРОГРАММА
INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD, PLAYBACK DEVICE, PLAYBACK METHOD AND PROGRAM

Область техники, к которой относится изобретение
Настоящее изобретение касается устройства обработки информации, способа обработки информации, устройства воспроизведения, способа воспроизведения и программы и, в частности, устройства обработки информации, способа обработки информации, устройства воспроизведения, способа воспроизведения и программы, которые способны надлежащим образом воспроизводить контент трехмерного изображения.
Уровень техники
Последние годы внимание привлекает контент трехмерного (3D) изображения, который обеспечивает стереоскопический просмотр. Примеры способов показа трехмерного изображения включают в себя различные способы, такие как способ попеременного показа изображения для левого глаза и изображения для правого глаза. Какой бы ни был использован способ, размер данных для трехмерного изображения больше размера данных для двухмерного изображения.
Для записи контента высокого разрешения, такого как фильм, в виде трехмерного изображения с большим размером данных, требуется носитель информации большой емкости.
Примерами такого носителя информации большой емкости является диск Blu-Ray (зарегистрированный товарный знак) (при необходимости далее будем называть BD), такой как BD-ROM.
Список цитируемой литературы
Патентная литература
ПЛ 1: нерассмотренная заявка на японский патент №11-195287.
Раскрытие изобретения
Техническая задача
В текущем стандарте для диска BD не определено, как записывать контент трехмерного изображения на BD и как воспроизводить такой контент.
Если способ записи и воспроизведения контента трехмерного изображения оставить автору, который создает контент трехмерного изображения, может случиться так, что контент трехмерного изображения не будет воспроизводиться надлежащим образом.
Следовательно, необходимо определить, как записывать и воспроизводить контент трехмерного изображения. Кроме того, необходимо определить, как записывать и воспроизводить контент трехмерного изображения с сохранением совместимости, так чтобы по меньшей мере двухмерные изображения могли быть воспроизведены существующими устройствами воспроизведения, предназначенными для воспроизведения двухмерных изображений.
Настоящее изобретение, выполненное с учетом указанной ситуации, позволяет надлежащим образом воспроизводить контент трехмерного изображения с такого носителя информации, как BD и т.п.
Решение задачи
Устройство обработки информации согласно одному аспекту настоящего изобретения содержит средство установки, которое устанавливает информацию для определения подпути воспроизведения, который относится к расширенному потоку, и информацию для определения идентификатора PID транспортного пакета расширенного потока с использованием первого и второго полей, причем расширенный поток и основной поток генерируются путем кодирования видеопотока с использованием заданного способа кодирования, первое и второе поля определены в расширенном поле списка воспроизведения, который представляет собой информацию для управления воспроизведением контента, при этом первое поле представляет собой поле, в котором описана информация, относящаяся к подпути воспроизведения, а второе поле представляет собой поле, в котором описана информация, относящаяся к номеру потока.
Основной поток и расширенный поток представляют собой соответственно видеопоток основного вида и видеопоток зависимого вида, генерируемые путем кодирования видеопотока с использованием способа кодирования Н.264 AVC/MVC, и средство установки может установить в первом поле в качестве информации для определения подпути воспроизведения информацию, указывающую, что тип подпути воспроизведения является путем, относящимся к видеопотоку зависимого вида, и имя в файле в качестве информации о клипе, являющейся информацией об атрибутах, относящейся к видеопотоку зависимого вида.
Основной поток и расширенный поток представляют собой соответственно видеопоток основного вида и видеопоток зависимого вида, генерируемые путем кодирования видеопотока с использованием способа кодирования Н.264 AVC/MVC, и средство установки может установить во втором поле идентификатор подпути воспроизведения в качестве информации для определения подпути воспроизведения, и идентификатор PID транспортного пакета видеопотока зависимого вида.
Способ обработки информации согласно одному аспекту настоящего изобретения включает в себя этап установки информации для определения подпути воспроизведения, который относится к расширенному потоку, и информации для определения идентификатора PID транспортного пакета расширенного потока с использованием первого и второго полей, причем расширенный поток и основной поток генерируют путем кодирования видеопотока с использованием заданного способа кодирования, первое и второе поля определяют в расширенном поле списка воспроизведения, который представляет собой информацию для управления воспроизведением контента, при этом первое поле представляет собой поле, в котором описана информация, относящаяся к подпути воспроизведения, а второе поле представляет собой поле, в котором описана информация, относящаяся к номеру потока.
Программа согласно одному аспекту настоящего изобретения вызывает выполнение компьютером обработки, включающей в себя этап установки информации для определения подпути воспроизведения, относящегося к расширенному потоку, и информации для определения идентификатора PID транспортного пакета расширенного потока с использованием первого и второго полей, причем расширенный поток и основной поток генерируют путем кодирования видеопотока с использованием заданного способа кодирования, первое и второе поля определяют в расширенном поле списка воспроизведения, который представляет собой информацию для управления воспроизведением контента, при этом первое поле представляет собой поле, в котором описана информация, относящаяся к подпути воспроизведения, а второе поле представляет собой поле, в котором описана информация, относящаяся к номеру потока.
Устройство воспроизведения согласно другому аспекту настоящего изобретения содержит средство управления, которое управляет воспроизведением расширенного потока на основе информации для определения подпути воспроизведения, относящегося к расширенному потоку, и информации для определения идентификатора транспортного пакета расширенного потока, причем расширенный поток и основной поток сгенерированы путем кодирования видеопотока с использованием заданного способа кодирования, информация, предназначенная для определения подпути воспроизведения, и информация, предназначенная для определения идентификатора PID транспортного пакета, установлена в первом и втором полях, при этом первое и второе поля определены в расширенном поле списка воспроизведения, который представляет собой информацию для управления воспроизведением контента, причем первое поле представляет собой поле, в котором описана информация, относящаяся к подпути воспроизведения, а второе поле представляет собой поле, в котором описана информация, относящаяся к номеру потока.
Основной поток и расширенный поток представляют собой соответственно видеопоток основного вида и видеопоток зависимого вида, которые сгенерированы путем кодирования видеопотока с использованием способа кодирования Н.264 AVC/MVC, и средство управления может управлять воспроизведением видеопотока зависимого вида при управлении воспроизведением видеопотока основного вида на основе информации, которая определяет основной путь воспроизведения, относящийся к видеопотоку основного вида, и идентификатора PID транспортного пакета видеопотока основного вида, при этом информация установлена в поле списка воспроизведения, которое представляет собой поле, в котором описана информация, относящаяся к основному пути воспроизведения.
Способ воспроизведения согласно другому аспекту настоящего изобретения включает в себя этап управления воспроизведением расширенного потока на основе информации для определения подпути воспроизведения, относящегося к расширенному потоку, и информации для определения идентификатора PID транспортного пакета расширенного потока, причем расширенный поток и основной поток генерируют путем кодирования видеопотока с использованием заданного способа кодирования, информацию для определения подпути воспроизведения и информацию для определения идентификатора PID транспортного пакета устанавливают в первом и втором полях, при этом первое и второе поля определяют в расширенном поле списка воспроизведения, который представляет собой информацию для управления воспроизведением контента, причем первое поле представляет собой поле, в котором описана информация, относящаяся к подпути воспроизведения, а второе поле представляет собой поле, в котором описана информация, относящаяся к номеру потока.
Программа согласно другому аспекту настоящего изобретения вызывает выполнение компьютером обработки, включающей в себя этап управления воспроизведением расширенного потока на основе информации для определения подпути воспроизведения, относящегося к расширенному потоку, и информации для определения идентификатора PID транспортного пакета расширенного потока, причем расширенный поток и основной поток генерируют путем кодирования видеопотока с использованием заданного способа кодирования, информация для определения подпути воспроизведения и информация для определения идентификатора транспортного пакета установлена в первом и втором полях, при этом первое и второе поля определяют в расширенном поле списка воспроизведения, который представляет собой информацию для управления воспроизведением контента, причем первое поле представляет собой поле, в котором описана информация, относящаяся к подпути воспроизведения, а второе поле представляет собой поле, в котором описана информация, относящаяся к номеру потока.
Согласно одному аспекту настоящего изобретения информацию для определения подпути воспроизведения, относящегося к расширенному потоку, и информация для определения идентификатора PID транспортного пакета расширенного потока устанавливают с использованием первого поля и второго полей, причем расширенный поток и основной поток генерируют путем кодирования видеопотока с использованием заданного способа кодирования, при этом первое и второе поля определяют в расширенном поле списка воспроизведения, который представляет собой информацию для управления воспроизведением контента, причем первое поле представляет собой поле, в котором описана информация, относящаяся к подпути воспроизведения, а второе поле представляет собой поле, в котором описана информация, относящаяся к номеру потока.
Согласно другому аспекту настоящего изобретения воспроизведением расширенного потока управляют на основе информации для определения подпути воспроизведения, относящегося к расширенному потоку, и информации для определения идентификатора PID транспортного пакета расширенного потока, причем расширенный поток и основной поток генерируют путем кодирования видеопотока с использованием заданного способа кодирования, информация для определения подпути воспроизведения и информация для определения идентификатора транспортного пакета установлена в первом и втором полях, при этом первое и второе поля определяют в расширенном поле списка воспроизведения, который представляет собой информацию для управления воспроизведением контента, причем первое поле представляет собой поле, в котором описана информация, относящаяся к подпути воспроизведения, а второе поле представляет собой поле, в котором описана информация, относящаяся к номеру потока.
Полезные эффекты изобретения
Благодаря настоящему изобретению контент трехмерного изображения можно воспроизводить надлежащим образом.
Краткое описание чертежей
Фиг.1 - вид, показывающий пример конфигурации системы воспроизведения, содержащей устройство воспроизведения, в котором применяется настоящее изобретение;
фиг.2 - вид, показывающий пример фиксации изображения;
фиг.3 - структурная схема, показывающая пример конфигурации устройства MVC кодирования;
фиг.4 - вид, показывающий пример связи между изображениями;
фиг.5 - вид, показывающий пример конфигурации ТП (транспортного потока);
фиг.6 - вид, показывающий другой пример конфигурации ТП;
фиг.7 - вид, показывающий пример расположения данных на оптическом диске;
фиг.8 - вид, показывающий пример конфигурации для управления
аудиовизуальным потоком;
фиг.9 - вид, показывающий структуры основного пути и подпутей;
фиг.10 - вид, показывающий пример конфигурации для управления файлами, которые записаны на оптический диск;
фиг.11 - вид, показывающий синтаксис файла списка воспроизведения;
фиг.12 - вид, показывающий значения флага MVC_flag;
фиг.13 - вид, показывающий значения поля MVC_file_type;
фиг.14 - вид, показывающий значения поля SubPath_type;
фиг.15 - вид, показывающий синтаксис структуры данных SubPath_entries_extention();
фиг.16 - вид, показывающий синтаксис структуры данных SubPath_extention();
фиг.17 - вид, показывающий значения поля SubPath_type_extention;
фиг.18 - вид, показывающий синтаксис структуры данных STN_table_extention();
фиг.19 - вид, показывающий синтаксис структуры данных stream_entry();
фиг.20 - вид, показывающий взаимосвязь между элементом списка воспроизведения Playltem и подэлементом списка воспроизведения SubPlayItem;
фиг.21 - структурная схема, показывающая пример конфигурации устройства воспроизведения;
фиг.22 - структурная схема, показывающая пример конфигурации секции декодирования;
фиг.23 - вид, показывающий конкретный пример файла списка воспроизведения;
фиг.24 - вид, показывающий синтаксис clpi-файла;
фиг.25 - вид, показывающий принцип управления файлами;
фиг.26 - блок-схема, показывающая процесс воспроизведения, который осуществляют в соответствии с файлом списка воспроизведения PlayList с фиг.23;
фиг.27 - вид, показывающий синтаксис структуры данных chunk_map();
фиг.28 - вид, показывающий конкретный пример структуры данных chunk_map();
фиг.29 - вид, показывающий пример разделения данных;
фиг, 30 - вид, показывающий синтаксис структуры данных ЕР_map();
фиг.31 - вид, показывающий другой пример файла списка воспроизведения PlayList;
фиг.32 - вид, показывающий принцип управления файлами;
фиг.33 - блок-схема, показывающая процесс воспроизведения, который осуществляют в соответствии с файлом списка воспроизведения PlayList с фиг.31;
фиг.34 - вид, показывающий еще один пример файла списка воспроизведения PlayList;
фиг.35 - вид, показывающий синтаксис clpi-файла;
фиг.36 - вид, показывающий принцип управления файлами;
фиг.37 - блок-схема, показывающая процесс воспроизведения, который осуществляют в соответствии с файлом списка воспроизведения PlayList с фиг.34;
фиг.38 - вид, показывающий пример файла списка воспроизведения;
фиг.39 - вид, показывающий синтаксис clpi-файла;
фиг.40 - блок-схема, иллюстрирующая пример конфигурации секции создания программы;
фиг.41 - вид, иллюстрирующий пример конфигурации, содержащий секцию создания программы;
фиг.42 - блок-схема, иллюстрирующая пример конфигурации компьютера.
Описание вариантов осуществления настоящего изобретения
Пример конфигурации системы воспроизведения
На фиг.1 показан пример конфигурации системы воспроизведения, содержащей устройство 1 воспроизведения, в котором использовано настоящее изобретение.
Эта система воспроизведения содержит устройство 1 воспроизведения и устройство 3 отображения, которые соединены кабелем HDMI (мультимедийный интерфейс высокой четкости) или подобным кабелем. Оптический диск 2, который является оптическим диском формата BD, таким как BD-ROM диск, загружен в устройство 1 воспроизведения.
Поток, необходимый для показа трехмерного изображения, которое содержит два вида, записан на оптический диск 2. Для записи потока на оптический диск 2 используют способ кодирования, представляющий собой, например, способ H.264 AVC (усовершенствованное кодирование видео)/MVC (кодирование видео для нескольких видов).
Устройство 1 воспроизведения представляет собой плеер, который способен осуществлять трехмерное воспроизведение потока, записанного на оптический диск 2. Устройство 1 воспроизведения воспроизводит поток, записанный на оптический диск 2, и его работа приводит к тому, что устройство 3 отображения, которое является телевизором или подобным устройством, показывает трехмерное изображение, полученное при воспроизведении. Аналогично, устройство 1 воспроизведения воспроизводит аудио и выводит его на акустическую систему или подобное устройство, которое расположено в устройстве 3 отображения. Заметим, что устройство 1 воспроизведения способно осуществлять двухмерное воспроизведение, аналогично существующим плеерами дисков BD.
Профиль стандарта Н.264 AVC/MVC
В стандарте Н.264 AVC/MVC определены поток изображения, называемый видео основного вида, и поток изображения, называемый видео зависимого вида. Далее при необходимости стандарт Н.264 AVC/MVC будет называться просто MVC.
На фиг.2 показан пример получения изображения.
Как показано на фиг.2, изображения одного и того же объекта получают с использованием камеры для L изображения (вид слева) и камеры для R изображения (вид справа). Элементарные потоки изображений, полученные камерой для L изображения и камерой для R изображения, подают на устройство MVC кодирования.
На фиг.3 показана структурная схема, показывающая пример конфигурации устройства MVC кодирования.
Как показано на фиг.3, устройство MVC кодирования содержит устройство 11 H.264/AVC кодирования, устройство 12 H.264/AVC декодирования, устройство 13 кодирования видео зависимого вида и мультиплексор 14.
Поток L изображения, полученный камерой для L изображения, подают на устройство 11 H.264/AVC кодирования. Кроме того, поток R изображения, полученный камерой для R изображения, подают на устройство 13 кодирования видео зависимого вида.
Устройство 11 H.264/AVC кодирования кодирует поток L изображения и получает, например, видеопоток Н.264 AVC/высокого профиля. Устройство 11 H.264/AVC кодирования подает закодированный AVC видеопоток на устройство 12 H.264/AVC декодирования и мультиплексор 14 в виде видеопотока основного вида.
Устройство 12 H.264/AVC декодирования декодирует AVC видеопоток, поданный от устройства 11 H.264/AVC кодирования, и выдает декодированный поток L изображения на устройство 13 кодирования видео зависимого вида.
Устройство 13 кодирования видео зависимого вида кодирует поток L изображения, поданный от устройства 12 H.264/AVC декодирования, и поток R изображения, который подан извне, и выдает на выход видеопоток зависимого вида.
Кодирование с предсказанием видео основного вида с использованием другого потока в качестве опорного изображения не разрешается. Тем не менее, как показано на фиг.4, разрешено осуществлять кодирование с предсказанием видео зависимого вида с использованием видео основного вида в качестве опорного изображения. Например, когда осуществляют кодирование с использованием L изображения в качестве видео основного вида и R изображения в качестве видео зависимого вида, размер данных результирующего видеопотока зависимого вида меньше размера данных видеопотока основного вида.
Заметим, что, так как способом кодирования является способ H.264/AVC, предсказание во временной области осуществляют для видео основного вида. Кроме того, предсказание между видами и предсказание во временной области осуществляют для видео зависимого вида. Для декодирования видео зависимого вида необходимо, чтобы заранее было закончено декодирование соответствующего видео основного вида, на который осуществлялась ссылка при кодировании.
Устройство 13 кодирования видео зависимого вида подает в мультиплексор 14 видеопоток зависимого вида, который был закодирован также с использованием такого предсказания между видами.
Мультиплексор 14 осуществляет мультиплексирование видеопотока основного вида, который подают от устройства 11 H.264/AVC кодирования, и видеопотока зависимого вида, который подают от устройства 13 кодирования видео зависимого вида, с целью получения, например, транспортного потока (ТП) MPEG2. При мультиплексировании видеопоток основного вида и видеопоток зависимого вида могут быть преобразованы в один ТП MPEG2, а могут включать несколько ТП MPEG2.
Мультиплексор 14 подает на выход выработанный ТП (MPEG2 ТП). ТП, который является выходом мультиплексора 14, записывают вместе с другими управляющими данными на оптический диск 2 с помощью устройства записи и подают на устройство 1 воспроизведения.
В этом примере с использованием способа MVC L изображение кодируют как видео основного вида, а R изображение кодируют как видео зависимого вида. Тем не менее, можно делать наоборот, R изображение кодировать как видео основного вида, а L изображение кодировать как видео зависимого вида. В дальнейшем будет описан случай, когда L изображение кодируют как видео основного вида, a R изображение кодируют как видео зависимого вида.
При осуществлении трехмерного воспроизведения в соответствии с командой пользователя или подобным образом, устройство 1 воспроизведения считывает с оптического диска 2 видеопоток основного вида и видеопоток зависимого вида и осуществляет воспроизведение.
Кроме того, при осуществлении двухмерного воспроизведения, устройство 1 воспроизведения считывает с оптического диска 2 только видеопоток основного вида и осуществляет воспроизведение. Так как видеопоток основного вида представляет собой AVC видеопоток, закодированный согласно стандарту H.264/AVC, плеер, совместимый с форматом BD, может воспроизводить видеопоток основного вида и может воспроизводить двухмерные изображения.
Пример конфигурации ТП
На фиг.5 показан пример конфигурации ТП, который записывают на оптический диск 2.
В основном ТП (транспортном потоке) с фиг.5 прошли мультиплексирование соответствующие потоки: видеопоток основного вида, видеопоток зависимого вида, первичный аудиосигнал, основная иллюстративная графика (ИГ), зависимая ИГ, основная диалоговая графика (ДГ) и зависимая ДГ. Таким образом, видеопоток зависимого вида и видеопоток основного вида могут содержаться в основном ТП, который представляет собой один ТП.
Основной ТП представляет собой ТП, который содержит, по меньшей мере, видеопоток основного вида. В отличие от этого, дополнительный ТП представляет собой ТП, который содержит поток, отличающийся от видеопотока основного вида и используемый вместе с основным ТП при воспроизведении. На оптическом диске 2 при необходимости дополнительный ТП может быть записан в дополнение к основному ТП.
Для того чтобы осуществлять трехмерное воспроизведение, как в случае с видео, соответствующие потоки основного вида и зависимого вида подготавливают для ИГ (иллюстративная графика), такой как субтитры и подобная информация, и для ДГ (диалоговая графика), такой как экран меню и подобная информация.
На фиг.6 показан другой пример конфигурации ТП, который записывают на оптический диск 2.
В основном ТП с фиг.6 прошли мультиплексирование соответствующие потоки:
видео основного вида, первичный аудиосигнал, основная ИГ, зависимая ИГ, основная ДГ и зависимая ДГ.
С другой стороны дополнительный ТП содержит видеопоток зависимого вида. Таким образом, видеопоток зависимого вида может содержаться в ТП, который отличается от видеопотока основного вида.
Когда видеопоток основного вида и видеопоток зависимого вида содержатся в различных ТП, как показано на фиг.6, файлы ТП перемежаются и записываются на оптический диск 2.
На фиг.7 показан пример расположения на оптическом диске 2 файла ТП, содержащего видеопоток основного вида (L видеопоток), и файла ТП, содержащего видеопоток зависимого вида (R видеопоток).
Как показано на фиг.7, файл ТП, содержащий L видеопоток, и файл ТП, содержащий R видеопоток, перемежаются таким образом, что заданные блоки данных располагаются поочередно, и записываются на оптический диск 2. Набор исходных пакетов, которые содержатся в одном файле ТП и которые на оптическом диске 2 расположены последовательно, называются порцией.
На фиг.7 каждый блок, обозначенный символом «R» и числом, представляет собой порцию R видео, а каждый блок, обозначенный символом «L» и числом, представляет собой порцию L видео.
При трехмерном воспроизведении осуществляют считывание с оптического диска 2, например, в следующем порядке: R[0], L[0], R[1], L[1], R[2], L[2], R[3], L[3], R[4]. L[4], R[5], L[5], ⋯. Декодирование осуществляют в следующем порядке: L[0], R[0], L[1], R[1], L[2], R[2], L[3], R[3], L[4], R[4], L[5], R[5], ⋯. Как описано выше, для декодирования R видео необходимо, чтобы заранее было декодировано L видео, на которое была сделана ссылка при кодировании. Порция R видео и порция L видео, обозначенные одинаковым номером, представляют собой элементы данных, которые необходимы для осуществления воспроизведения в одно и то же время, и указанные порции используются как некоторый набор при воспроизведении трехмерного изображения.
То есть для простоты описания далее рассмотрим случай, когда все время воспроизведения материала разделено на три равные части. Когда все время воспроизведения материала разделено на три равные части моментами 0, t1 и t2 начала воспроизведения, данные L видео, которые необходимы для осуществления воспроизведения от момента начала воспроизведения до момента t1, обозначены как порция L[0].
Кроме того, данные L видео, которые необходимы для осуществления воспроизведения от момента t1 до момента t2, обозначены как порция L[1], а данные L видео, которые необходимы для осуществления воспроизведения от момента t2 до момента конца воспроизведения, обозначены как порция L[2].
Также для данных R видео данные R видео, которые необходимы для осуществления воспроизведения от момента начала воспроизведения до момента t1, обозначены как порция R[0].
Кроме того, данные R видео, которые необходимы для осуществления воспроизведения от момента t1 до момента t2, обозначены как порция R[1], а данные R видео, которые необходимы для осуществления воспроизведения от момента t2 до момента конца воспроизведения, обозначены как порция R[2].
Порции, которые получены при таком делении, расположены таким образом, порции, обозначенные одинаковыми номерами, расположены в порядке порция R видео, порция L видео, и они записаны на оптический диск 2. Заметим, что когда L видеопоток и R видеопоток содержатся в одном ТП, как показано на фиг.5, файл ТП не содержит перемещения и записан на оптический диск 2.
Структура для управления аудиовизуальным потоком
На фиг.8 показан пример конфигурации для управления аудиовизуальным потоком с помощью устройства 1 воспроизведения.
Как показано на фиг.8, управление аудиовизуальным потоком осуществляют с использованием двух слоев, которые являются списком воспроизведения PlayList и клипом. Аудиовизуальный поток может быть записан в локальном запоминающем устройстве устройства 1 воспроизведения вместо оптического диска 2. Клип содержит аудиовизуальный поток, который является ТП, полученным мультиплексированием данных видео и данных аудио, и соответствующую информацию о клипе (информация о клипе содержит информацию о свойствах, касающуюся аудиовизуального потока).
Аудиовизуальный поток распределен по временной оси, и каждая точка доступа в основном определена в виде метки времени в списке воспроизведения. Информация о клипе используется, например, для нахождения адреса в аудиовизуальном потоке, с которого было начато декодирование.
Список воспроизведения представляет собой совокупность интервалов воспроизведения аудиовизуального потока. Интервал воспроизведения аудиовизуального потока называют элементом списка воспроизведения. Элемент списка воспроизведения представляет собой пару из точки входа и точки выхода для интервала воспроизведения на временной оси. Список воспроизведения содержит один или несколько элементов списка воспроизведения.
Первый список воспроизведения слева на фиг.8 содержит два элемента списка воспроизведения, и эти два элемента списка воспроизведения соответственно относятся к первой половине и второй половине аудиовизуального потока, содержащегося в клипе левой стороны.
Второй слева список воспроизведения содержит один элемент списка воспроизведения, и этот элемент списка воспроизведения относится ко всему аудиовизуальному потоку, содержащемуся в клипе правой стороны.
Третий слева список воспроизведения содержит два элемента списка воспроизведения, и эти два элемента списка воспроизведения соответственно относятся к части аудиовизуального потока, содержащегося в клипе левой стороны, и части аудиовизуального потока, содержащегося в клипе правой стороны.
Например, когда левый элемент списка воспроизведения, содержащийся в первом слева списке воспроизведения, определен как объект для воспроизведения программой навигации диска, воспроизводится первая половина аудиовизуального потока, которая содержится в клипе с левой стороне и на которую указывает элемент списка воспроизведения. Таким образом, список воспроизведения используют как информацию по управлению воспроизведением, предназначенную для управления воспроизведением аудиовизуального потока.
В списке воспроизведения путь воспроизведения, сформированный последовательно из одного или нескольких элементов списка воспроизведения, называется основным путем (основной путь).
Кроме того, в списке воспроизведения путь воспроизведения, который параллелен основному пути и который сформирован последовательно из одного или нескольких подэлементов списка воспроизведения, называется подпутем (подпуть).
На фиг.9 показаны структуры основного пути и подпутей.
Список воспроизведения может содержать один основной путь и один или несколько подпутей. На описанный выше L видеопоток ссылаются элементы списка воспроизведения, которые содержатся в основном пути. Кроме того, на R видеопоток ссылаются подэлементы списка воспроизведения, которые содержатся в подпутях (подпути в структуре данных Extension(), описанной ниже).
Список воспроизведения с фиг.9 содержит один основной путь, который содержит три элемента списка воспроизведения, и три подпути. Каждому элементу списка воспроизведения, содержащемуся в основном пути, последовательно, начиная слева, присваивают идентификатор. Также каждому подпути присваивают идентификатор.
В примере с фиг.9 подпуть с идентификатором Subpath_id, = 0 содержит один подэлемент списка воспроизведения, а подпуть с идентификатором Subpath_id=1 содержит два подэлемента списка воспроизведения. Кроме того, подпуть с идентификатором Subpath_id=2 содержит один подэлемент списка воспроизведения.
Аудиовизуальный поток, на который ссылается элемент списка воспроизведения, и аудиовизуальный поток, на который ссылается подэлемент списка воспроизведения, определяющий интервал воспроизведения, перекрывающий интервал времени элемента списка воспроизведения, воспроизводятся синхронно. Управление аудиовизуальным потоком с использованием списка воспроизведения, элемента списка воспроизведения и подэлемента списка воспроизведения описано, например, в нерассмотренной заявке на японский патент №2008-252740 и нерассмотренной заявке на японский патент №2005-348314.
Структура каталогов
На фиг.10 показан пример конфигурации для управления файлами, которые записаны на оптический диск 2.
Как показано на фиг.10, файлы организованы иерархически с использованием структуры каталогов. На оптическом диске 2 существует один корневой каталог. Ниже корневого каталога находится область, управляемая одной системой записи/воспроизведения.
Каталог BDMV расположен в корневом каталоге. Индексный файл, который представляет собой файл с именем «Index.bdmv», и файл MovieObject, который представляет собой файл с именем «MovieObject.bdmv», хранятся непосредственно в каталоге BDMV.
В категории BDMV создаются следующие каталоги: каталог PLAYLIST, каталог CLIPINF, каталог STREAM и т.п.
Файлы списков воспроизведения, в которых описаны списки воспроизведения, хранятся в каталоге PLAYLIST. Каждый файл списка воспроизведения имеет имя, представляющее собой комбинацию числа, состоящего из пяти цифр, и расширения «.mpls». Имя файла списка воспроизведения, показанного на фиг.10, представляет собой «00000.mpls».
Файлы информации о клипах, в которых описана информация о клипах, хранятся в каталоге CLIPINF. Каждый файл информации о клипах имеет имя, представляющее собой комбинацию числа, состоящего из пяти цифр, и расширения «.clpi».
Имена двух файлов информации о клипах, показанных на фиг.10, представляют собой «00001.clpi» и «00002-clpi». Здесь при необходимости файл информации о клипах будем называть clpi-файлом.
clpi-файл «00001.clpi» представляет собой файл, в котором описана информация, относящаяся к соответствующему L видеопотоку, а clpi-файл «00002.clpi» представляет собой файл, в котором описана информация, относящаяся к соответствующему R видеопотоку.
Файлы потоков хранятся в каталоге STREAM. Каждый файл потока имеет имя, представляющее собой комбинацию числа, состоящего из пяти цифр, и расширения «.m2ts», или комбинацию числа, состоящего из пяти цифр, и расширения «.ilvt». Здесь при необходимости файл с расширением «.m2ts» будем называть m2ts-файлом, а файл с расширением «.ilvt» будем называть ilvt-файлом.
m2ts-файл «00001.m2ts» является файлом для L видеопотока, а m2ts-файл «00002.m2ts» является файлом для R видеопотока.
Когда m2ts-файл для L видеопотока и m2ts-файл для R видеопотока перемежаются, ilvt-файл «00001.ilvt» является файлом для управления этими потоками и осуществления трехмерного воспроизведения. Следовательно, когда L видеопоток и R видеопоток содержатся в одном ТП и соответствующие m2ts-файлы не перемежаются, ilvt-файл не записывают на оптический диск 2.
В дополнение к каталогам, показанным на фиг.10, в каталоге BDMV создаются каталоги, предназначенные для хранения файлов аудиопотока и т.п.
В примере с фиг.10 имя m2ts-файла, содержащегося в клипе, относящемся к L видео, представляет собой «00001.m2ts», а имя clpi-файла представляет собой «00001.clpi». Кроме того, имя m2ts-файла, содержащегося в клипе, относящемся к R видео, представляет собой «00002.m2ts», а имя clpi-файла представляет собой «00002.clpi». Имена m2ts-файла и clpi-файла, которые содержатся в одном клипе, имеют одинаковый номер.
Имя ilvt-файла содержит число «00001», которое совпадает с числом из пяти цифр, которое содержится в именах m2ts-файла и clpi-файла, содержащихся в клипе, относящемся к L видео. Таким образом, имя ilvt-файла, который нужно определить при осуществлении трехмерного воспроизведения, может быть определено по имени clpi-файла, содержащегося в клипе, относящемся к L видео.
Синтаксис каждого элемента данных
На фиг.11 проиллюстрирован синтаксис файла списка воспроизведения.
Для удобства описания слева на фиг.11 показаны номера строк и символ «:». Номера строк и символ «:» не содержатся в списке воспроизведения. Заметим, что здесь описаны основные строки файла списка воспроизведения, а подробное описание опущено. Подробности приведены, например, в документе «Blu-ray Disc Read Only Format part 3».
yyyyy.mpls в первой строке представляет собой имя этого файла списка воспроизведения.
Как показано в строках с вторую по пятую, файл списка воспроизведения в общих чертах разделен на следующие поля: AppInfoPlayList(), PlayList(), PlayListMark() и ExtensionData(). В поле PlayListMark() на четвертой строке описана информация, касающаяся метки, которая является назначением перехода, происходящего в результате операции пользователя, который дает команду на переход и разделку, или в результате команды или тому подобного.
Строки с седьмой по одиннадцатую являются полями для структуры данных AppInfoPlayList(). Как показано в девятой строке структура данных AppInfoPlayList() содержит флаг MVC_flag, который является однобитовым флагом, показывающим, содержит ли список воспроизведения информацию, относящуюся к воспроизведению МVС (трехмерного воспроизведения), или не содержит. Флаг MVC_flag может содержаться, вместо списка воспроизведения, в таком потоке, как видеопоток.
На фиг.12 проиллюстрированы значения флага MVC_flag.
Как показано на фиг.12, значение 0 флага MVC_flag означает, что список воспроизведения не содержит информации, относящейся к трехмерному воспроизведению. То есть оптический диск, на который записан список воспроизведения с флагом MVC_flag=0, является диском, который не способен осуществлять трехмерное воспроизведение.
Значение 1 флага MVC_flag означает, что список воспроизведения содержит информацию, относящуюся к воспроизведению трехмерного изображения.
Помимо флага MVC_flag, структура данных AppInfoPlayList() содержит информацию, относящуюся к типу списка воспроизведения, например информацию, относящуюся к тому, предназначен ли список воспроизведения для осуществления воспроизведения в случайном порядке.
Строки с двенадцатой по двадцать пятую являются полями для структуры данных PlayList(). Поле number_of_PlayItems в тринадцатой строке показывает количество элементов списка воспроизведения в списке воспроизведения. В примере на фиг.9, количество элементов списка воспроизведения равно трем. Идентификатор Playltem_id принимает значение от нуля в порядке появления структуры данных PlayItem() в списке воспроизведения. В операторе цикла из строк с пятнадцатой по девятнадцатую структура данных PlayItem() содержится такое количество раз, которое равно количеству элементов списка воспроизведения.
Поле number_of_SubPaths в четырнадцатой строке показывает количество подпутей в списке воспроизведения. В примере с фиг.9 количество подпутей равно трем.
Идентификатор SubPath_id принимает значение от нуля в порядке появления структуры данных SubPath() в списке воспроизведения. В операторе цикла из строк с двадцатую по двадцать четвертую структура данных SubPath() содержится такое количество раз, которое равно количеству подпутей.
В строках с двадцать шестую по тридцать третью приведено описание структуры данных PlayItem(), содержащейся в структуре данных PlayList(). Поле Clip_Information_file_name в двадцать седьмой строке показывает имя clpi-файла клипа, содержащего аудиовизуальный поток, на который ссылается элемент списка воспроизведения.
Поле MVC_file_type в двадцать восьмой строке является полем из двух бит данных, которые содержат действительное значение, когда значение флага MVC_flag равно 1, и представляет собой тип файла, из которого подают L видеопоток и R видеопоток.
На фиг.13 проиллюстрированы значения поля MVC_file_type.
Как показано на фиг.13, значение 0 поля MVC_file_type означает, что L видеопоток и R видеопоток содержатся в одном ТП и m2ts-файл, предназначенный для управления ТП, указан в поле Clip_Information_file_name.
Как описано выше, имена m2ts-файла и clpi-файла, которые содержатся в одном клипе, содержат одинаковый номер. Поле Clip_Information_file_name также представляет собой имя соответствующего m2ts-файла, который содержится в том же клипе, что и клип, содержащий clpi-файл с указанным именем.
Значение 1 поля MVC_file_type означает, что m2ts-файл (первый файл ТП) для L видеопотока, представленный в поле Clip_Information_file_name, и m2ts-файл (второй файл ТП) для R видеопотока перемежаются на оптическом диске 2. В этом случае L видеопоток и R видеопоток содержатся в разных ТП.
Значение 2 поля MVC_file_type означает, что или оба или один из m2ts-файла для L видеопотока, представленный в поле Clip_Information_file_name, и m2ts-файла для R видеопотока записаны в локальном запоминающем устройстве устройства 1 воспроизведения.
Значение 3 поля MVC_file_type зарезервировано.
Как показано на фиг.11, поле IN_time в тридцатой строке показывает позицию начала интервала воспроизведения элемента списка воспроизведения, а поле OUT_time в тридцать первой строке показывает позицию конца.
Поле STN_table() в тридцать второй строке содержит информацию, относящуюся к аудиовизуальному потоку, на который ссылается элемент списка воспроизведения. Например, информация, относящаяся к аудиовизуальному потоку, на который ссылается элемент списка воспроизведения, включает в себя номер потока (идентификатор) и идентификатор транспортного пакета, содержащегося в L видеопотоке.
В строках с тридцать четвертую по сороковую приведено описание структуры данных SubPath(), содержащейся в структуре данных PlayList(). Структура данных SubPath() в строках с тридцать четвертой по сороковую содержит информацию, относящуюся к данным видео, за исключением R видео, и информацию, относящуюся к данным аудио, которые воспроизводятся вместе с аудиовизуальным потоком, на который ссылается элемент списка воспроизведения.
Поле SubPath_type в тридцать пятой строке, является полем из 8 бит данных, показывающих тип подпути.
На фиг.14 проиллюстрированы значения поля SbPath_type.
Как показано на фиг.14, тип подпути представлен значениями от 2 до 7. Например, то, что поле SubPath_type=2 означает, что подпуть предназначен для данных аудио, которые используются для воспроизведения слайд-шоу (доступного для просмотра слайд-шоу), а то, что поле SubPath_type=3 означает, что подпуть предназначен для данных, нужных для показа интерактивного меню.
Поле number_of_SubPlayItems в тридцать шестой строке на фиг.11 является полем из 8 бит данных, показывающих количество подэлементов списка воспроизведения (количество записей), содержащихся в одной структуре данных SubPath(). Например, для подэлемента списка воспроизведения, для которого поле SubPath_id=0 на фиг.9, поле number_of_SubPlayItems=1, а для подэлемента списка воспроизведения, для которого поле SubPath_id=1, поле number_of_SubPlayItems=2. В операторе цикла в строках с тридцать седьмой по тридцать девятую структура данных SubPlayItem() содержится такое количество раз, которое равно количеству подэлементов списка воспроизведения.
В строках с сорок первой по сорок пятую приведено описание структуры данных SubPlayItem(), содержащейся в структуре данных SubPath(). Поле Clip_Information_file_name в сорок второй строке показывает имя clpi-файла для клипа, на который ссылается подэлемент списка воспроизведения.
Поле SubPlayItem_IN_time в сорок третьей строке показывает позицию начала интервала воспроизведения для подэлемента списка воспроизведения, а поле SubPlayItem_OUT_time в сорок четвертой строке показывает позицию конца.
Строки с сорок шестой по сорок девятую содержат структуру данных ExtensionData(), которая представляет собой расширенное поле.
Когда значение флага MVC_flag равно 1, структуры данных SubPath_entries_extension() и STN_table_extension() описаны в структуре данных ExtensionData(). Структуры данных SubPath_entries_extension() и STN_table_extension() содержат информацию, относящуюся к R видеопотоку, который используют для трехмерного воспроизведения вместе с L видеопотоком, на который ссылается элемент списка воспроизведения.
Таким образом, информация, относящаяся к R видеопотоку, описана в поле для структуры данных ExtensionData(), вместо поля для структуры данных SubPath() (тридцать четвертая строка на фиг.11), хотя R видеопотоком управляют как потоком, на который указывает подпуть.
Если информация, относящаяся к R видеопотоку, описана в поле для структуры данных SubPath(), то при считывании описания плеером, который не способен осуществлять трехмерное воспроизведение, может иметь место ошибка. Появление такой ошибки может быть предотвращено путем описания информации, относящейся к R видеопотоку как структуры данных ExtensionData(), и путем считывания описания только тогда, когда способный осуществить трехмерное воспроизведение плеер осуществляет трехмерное воспроизведение.
На фиг.15 показан пример синтаксиса структуры данных SubPath_entries_extention(), содержащейся в структуре данных ExtensionData().
Поле number_of_SubPath_extensions является полем из 16 бит данных, показывающих количество SubPath_extensions, то есть количество появлений структуры данных SubPath_extension() в структуре данных SubPath_entries_extension(). В операторе цикла, идущим вслед за полем number_of_SubPath_extensions, структура данных SubPath_extension() содержится такое количество раз, которое равно количеству подпутей.
Здесь идентификатор также присвоен подпути, который ссылается на R видеопоток, аналогично тому, как это происходит для обычного подпути, который ссылается на данные видео, отличные от R видео, и данные аудио и информация о котором описана в структуре данных SubPath() в тридцать четвертой строке на фиг.11.
Как показано в операторе цикла на фиг.15, идентификатор подпути, который ссылается на R видеопоток, начинается со значения, которое совпадает со значением поля number_of_SubPaths в четырнадцатой строке на фиг.11, и увеличивается на единицу каждый раз при ссылке на структуру данных SubPath_extension(). Например, как показано на фиг.9, когда количество обычных подпутей равно трем и значение поля number_of_SubPaths равно 3, если значение поля number_of_SubPath_extensions равно 2, то 3 присваивают идентификатору первого подпути и 4 присваивают идентификатору второго подпути.
На фиг.16 показан пример синтаксиса структуры данных SubPath_extention() на фиг.15.
Поле length является полем из 32 бит данных, показывающих количество байт непосредственно после поля length до конца структуры данных SubPath_extension().
Поле SubPath_type_extension, которое является расширением поля SubPath_type, является полем из 8 бит данных, которые показывают тип подпути, информация о котором описана в структуре данных SubPath_extension().
На фиг.17 проиллюстрированы значения поля SubPath_type_extention.
Как показано на фиг.17, значения от 0 до 7 поля SubPath_type_extension имеют тот же смысл, что и соответствующие значения от 0 до 7 поля SubPath_type с фиг.14.
Значение 8 поля SubPath_type_extension означает, что подпуть, для которого SubPath_type_extension=8, является подпутем, который ссылается на R видеопоток. Кроме того, это также означает, что m2ts-файл для R видеопотока, на который он ссылается, представляет собой файл, отличный от m2ts-файл для L видеопотока, на который ссылается элемент списка воспроизведения.
Как показано на фиг.16, поле number_of_SubPlayItems является полем из 8 бит данных, показывающих количество подэлементов списка воспроизведения в структуре данных SubPath_extension(). В операторе цикла, расположенном после поля number_of_SubPlayItems, структура данных SubPlayItem() содержится такое количество раз, которое равно количеству подэлементов списка воспроизведения.
Описание структуры данных SubPlayItem() в структуре данных SubPath_extension() аналогично описанию структуры данных SubPlayItem() в строках с сорок первой по сорок пятую на фиг.11.
То есть структура данных SubPlayItem() в структуре данных SubPath_extension() содержит поле Clip_Information_file_name, которое представляет имя clpi-файла, содержащегося в том же клипе, что и R видеопоток, на который ссылается подэлемент списка воспроизведения. Более того, в структуре данных SubPlayItem() содержится поле SubPlayItem_IN_time, которое означает позицию начала интервала воспроизведения, и поле SubPlayItem_OUT_time, которое означает позицию конца воспроизведения.
На фиг.18 показан пример синтаксиса структуры данных STN_table_extention(), содержащейся в структуре данных ExtensionData().
Как описано выше, поле STN_table (тридцать вторая строка на фиг.11) содержит идентификатор транспортного пакета, содержащегося в L видеопотоке, на который ссылается элемент списка воспроизведения. В отличие от этого структура данных STN_table_extension() содержит идентификатор транспортного пакета, содержащегося в R видеопотоке, на который ссылается подпуть (SubPath_extension).
Как показано на фиг.18 после поля length, которое показывает длину структуры данных STN_table_extension(), структура данных STN_table_extension() содержит в качестве информации, относящийся к R видеопотоку, поля stream_entry() и stream_attributes(), которые являются информацией об атрибутах, относящихся к R видеопотоку.
На фиг.19 показан пример синтаксиса структуры данных stream_entry().
Как показано на фиг.19 после поля length, которое показывает длину структуры данных stream_entry(), структура данных stream_entry() содержит поле type, которое является 8-битовой информацией.
Например, значение 1 типа type означает, что R видеопоток содержится в одном ТП вместе с L видеопотоком, на который ссылается элемент списка воспроизведения. Более того, значение 2 типа type по меньшей мере означает, что R видеопоток содержится в ТП и отличен от L видеопотока, на который ссылается элемент списка воспроизведения.
Когда значение поля type равно 1, то присутствует поле ref_to_stream_PID_of_mainClip. Поле ref_to_stream_PID_of_mainClip показывает идентификатор транспортного пакета, содержащегося в R видеопотоке, который содержится в одном ТП вместе с L видеопотоком.
Когда значение поля type равно 2, то присутствуют поля ref_to_SubPath_id, ref_to_subClip_entry_id и ref_to_stream_PID_of_subClip. Из этих трех информационных элементов поле ref_to_SubPath_id показывает идентификатор подпути (SubPath_extension), который ссылается на R видеопоток. Далее поле ref_to_stream_PID_of_subClip показывает идентификатор транспортного пакета, содержащегося в R видеопотоке, на который ссылается подпуть, идентифицированный полем ref_to_SubPath_id.
На фиг.20 показана взаимосвязь между подпутем, который ссылается на R видеопоток и для которого SubPath_type_extention=8, и основным путем, который ссылается на L видеопоток и с которым связан подпуть в списке воспроизведения.
Как описано выше, каждая структура данных PlayItem() содержит поле IN_time, которое обозначает позицию начала интервала воспроизведения элемента списка воспроизведения, и поле OUT_time, которое обозначает позицию конца воспроизведения (строки тридцатая и тридцать первая на фиг.11).
Кроме того, как описано выше, структура данных SubPlayItem() в структуре данных SubPath_extension() содержит для каждого подэлемента списка воспроизведения, содержащегося в подпути, который ссылается на R видеопоток, поле SubPlayItem_IN_time, которое обозначает позицию начала интервала воспроизведения, и поле SubPlayItem_OUT_time, которое обозначает позицию конца интервала воспроизведения.
Как показано на фиг.20, позиция начала и позиция конца элемента списка воспроизведения аналогичны соответственно позиции начала и позиции конца подэлемента списка воспроизведения, который ссылается на R видеопоток, связанный с L видеопотоком, на который ссылается элемент списка воспроизведения.
Например, значение поля IN_time и значение поля OUT_time элемента списка воспроизведения, которому присвоен Playltem_id=0, совпадают соответственно со значениями SubPlayItem_IN_time и SubPlayItem_OUT_time подэлемента номер 0 списка воспроизведения, связанного с элементом списка воспроизведения, для которого Playltem_id=0.
Как описано ранее, в списке воспроизведения структура данных SubPath(), которая является полем, в котором описана информация, относящаяся к подпути, описана как структура данных SubPath_extension() в структуре данных ExtensionData(), которая является расширенным полем, и структура данных STN_table(), которая является полем, в котором описана информация, относящаяся к номеру потока (STream Number), определена как структура данных STN_table_extension().
Пример конфигурации устройства 1 воспроизведения
На фиг.21 показана структурная схема, иллюстрирующая пример конфигурации устройства 1 воспроизведения.
Контроллер 31 выполняет управляющую программу, которая подготовлена заранее, и управляет всей работой устройства 1 воспроизведения.
Дисковод 32 считывает данные с оптического диска 2 под управлением контроллера 31 и подает считанные данные на контроллер 31, память 33 и секцию 36 декодирования.
Память 33 хранит данные, которые нужны для контроллера 31 для выполнения при необходимости различных операций обработки.
Локальное запоминающее устройство 34 содержит, например, НЖМД (накопитель на жестком магнитном диске). В локальном запоминающем устройстве 34 записаны R видеопоток, который загружен из сервера 22, и подобные данные. Поток, который записан в локальном запоминающем устройстве 34, также при необходимости подают в секцию 36 декодирования.
Интерфейс 35 Интернета взаимодействует с сервером 22 через сеть 21 под управлением контроллера 31 и подает данные, которые загружены с сервера 22, в локальное запоминающее устройство 34.
Данные, предназначенные для обновления данных, записанных на оптический диск 2, загружают с сервера 22. Как будет описано ниже, трехмерное воспроизведение контента также может быть осуществлено с использованием R видеопотока, который загружен вместе с L видеопотоком, записанным на оптический диск 2.
Секция 36 декодирования декодирует поток, который подают из дисковода 32 или локального запоминающего устройства 34, и подает декодированный видеосигнал на устройство 3 отображения. Аудиосигнал также подают на устройство 3 отображения по заданному пути.
Секция 37 ввода операции содержит устройства ввода, такие как кнопка, клавиша, сенсорная панель, мышь и подобные устройства, и устройство приема, которое принимает сигнал, такой как инфракрасное излучение, передаваемое заданным устройством дистанционного управления. Секция 37 ввода операции определяет операцию пользователя и подает сигнал, представляющий содержимое определенной операции на контроллер 31.
На фиг.22 показан пример конфигурации секции 36 декодирования.
Блок 51 разделения разделяет данные, которые подают из дисковода 32, на данные основного ТП и данные дополнительного ТП под управлением контроллера 31.
Блок 51 разделения подает данные основного ТП, которые были отделены, на буфер 52 считывания и сохраняет данные основного ТП, и подает данные дополнительного ТП на буфер 55 считывания и сохраняет данные дополнительного ТП. Кроме того, блок 51 разделения подает данные дополнительного ТП, которые были поданы из локального запоминающего устройства 34, на буфер 55 считывания и сохраняет эти данные.
Фильтр 53 идентификаторов PID транспортных пакетов распределяет транспортные пакеты основного ТП, который состоит из данных, хранящихся в буфере 52 считывания, на основе идентификаторов PID транспортных пакетов. Контроллер 31 задает идентификатор PID транспортного пакета, содержащегося в L видеопотоке, который определяют на основе структуры данных STN_table() списка воспроизведения (тридцать вторая строка на фиг.11), и идентификатор PID транспортного пакета, который содержится в R видеопотоке и который определяют на основе значения поля ref_to_stream_PID_of_mainClip (фиг.19) структуры данных STN_table_extension().
Фильтр 53 идентификаторов PID транспортных пакетов считывает транспортный пакет L видеопотока из буфера 52 считывания, подает транспортный пакет в буфер 54 ЭП и сохраняет транспортный пакет. Буфер 54 ЭП сохраняет ЭП (элементарный поток) L видео.
Кроме того, когда R видеопоток мультиплексируют в основной ТП вместе с L видеопотоком, фильтр 53 идентификаторов PID транспортных пакетов извлекает транспортный пакет R видеопотока на основе идентификатора PID транспортного пакета и выдает транспортный пакет на переключатель 57.
Фильтр 56 идентификаторов PID транспортных пакетов считывает транспортный пакет R видеопотока, содержащегося в дополнительном ТП, из буфера 55 считывания, и подает транспортный пакет в переключатель 57. Контроллер 31 устанавливает идентификатор PID транспортного пакета, содержащегося в R видеопотоке, на основе значения поля ref_to_stream_PID_of_mainClip (фиг.19) структуры данных S TN_table_extension().
Здесь описаны задачи обработки L видеопотока и R видеопотока. Тем не менее, как было описано со ссылкой на фиг.5, графические данные, такие как ИГ и ПГ, могут быть мультиплексированы в основной ТП. Аналогично, графические данные, такие как ИГ и ПГ, могут быть мультиплексированы в дополнительный ТП.
Фильтр 53 идентификаторов PID транспортных пакетов и фильтр 56 идентификаторов PID транспортных пакетов также при необходимости распределяют такие данные на основе PID идентификатора транспортного пакета и выдают данные по заранее заданным адресам вывода. Декодер, который декодирует графические данные, и подобные устройства соединены с выходными разъемами (кружки), показанными в блоках для фильтра 53 идентификаторов PID транспортных пакетов и фильтра 56 идентификаторов PID транспортных пакетов на фиг.22.
Переключатель 57 выводит транспортный пакет R видеопотока, который поступил из фильтра 53 идентификаторов PID транспортных пакетов и который содержался в основном ТП, на буфер 58 ЭП и сохраняет транспортный пакет. Кроме того, переключатель 57 выводит транспортный пакет R видеопотока, который поступил из фильтра 56 идентификаторов транспортных пакетов и который содержался в дополнительном ТП, на буфер 58 ЭП и сохраняет транспортный пакет. Буфер 58 ЭП сохраняет ЭП R видео.
Переключатель 59 выдает пакет, который должен быть декодирован, на декодер 60 из пакетов для L видео, сохраненных в буфере 54 ЭП, и из пакетов для R видео, сохраненных в буфере 58 ЭП. Информация, относящаяся к времени, такая как DTS (временная метка декодирования) и подобная информация, установлена в PES-пакетах (пакетизированный элементарный поток) L видео и R видео и чтение из буфера осуществляют на основе информации, относящейся времени.
Декодер 60 декодирует пакет, поданный от переключателя 59, и подает на выход сигнал L видео или R видео, который был получен при декодировании.
Частный пример 1 файла списка воспроизведения
На фиг.23 показан частный пример файла списка воспроизведения.
На фиг.23 показана часть информации, проиллюстрированной на фиг.11 и подобных чертежах. То же самое относится к описанным ниже частным примерам файла списка воспроизведения.
Файл списка воспроизведения на фиг.23 представляет собой файл списка воспроизведения, предназначенный для управления трехмерным воспроизведением, когда L видеопоток и R видеопоток содержатся в разных ТП и файлы ТП перемежаются и записаны на оптический диск 2.
То есть MVC_flag=l, как описано в структуре данных AppInfoPlayList() из фиг.23, и MVC_file_type=1, как описано в структуре данных Playltem().
Поле Clip_Information_file_name из структуры данных PlayItem() принимает значение «00001». В этом описании определен clpi-файл, содержащийся в клипе для L видео. Кроме того, в полях IN_time и OUT_time структуры данных PlayItem() определены соответственно позиция начала и позиция конца интервала воспроизведения элемента списка воспроизведения, а в структуре данных STN_table() определен идентификатор транспортного пакета, содержащегося в L видеопотоке.
Информация, относящаяся к подпути, которая ссылается на R видеопоток, описана в структуре данных ExtensionData(). В этом примере предполагается, что количество обычных подпутей равно 0 (значение поля number_of_SubPaths (четырнадцатая строка из фиг.11) равно 0) и идентификатор SubPath_id=0 присвоен подпути, который ссылается на R видеопоток. В структуре данных SubPath_extension() установлено значение поля SubPath_type_extension, равное 8, что означает, что подпуть ссылается на R видеопоток.
Поле Clip_Information_file_name из структуры данных SubPlayItem(), содержащейся в структуре данных ExtensionData(), принимает значение «00002». В этом описании определен clpi-файл, содержащийся в клипе для R видео. Кроме того, в полях SubPlayItem_IN_time и SubPlayItem_OUT_time структуры данных SubPlayItem() определены соответственно позиция начала и позиция конца интервала воспроизведения подэлемента списка воспроизведения.
Идентификатор подпути, который ссылается на R видеопоток, равен О (ref_to_SubPath_id=0), а идентификатор (ref_to_R_video_PID) транспортного пакета, содержащегося в R видеопотоке, определен в структуре данных STN_table_extension(). В этом примере значение типа из структуры данных STN__table_extension() равно 2.
На фиг.24 показан пример синтаксиса clpi-файла.
В части А фиг.24 показан пример clpi-файла «00001.clpi».
Поле number_of_source_packets1 показывает количество исходных пакетов, содержащихся в m2ts-файле «00001.m2ts».
Поле ЕР_map содержит информацию, относящуюся к позициям точки входа (ТВ), которая установлена в ТП, содержащемся в m2ts-файле «00001.m2ts».
Структура данных chunk_map() содержит информацию, относящуюся к позициям порций m2ts-файла «00001.m2ts». Позиция каждой порции представлена, например, номером исходного пакета (НИП). Конкретный пример структуры данных chunk_map() приведен ниже.
В части В фиг.24 показан пример clpi-файла «O0002.clpi».
Аналогично clpi-файлу «00001.clpi» clpi-файл «00002.clpi» содержит поле number_of_source_packets2, которое показывает количество исходных пакетов, содержащихся в m2ts-файле «00002.m2ts», поле ЕР_map и структуру данных chunk_map().
На фиг.25 проиллюстрирован принцип управления файлами.
Как показано на фиг.25, управление файлами, которые перемежаются и записаны на оптический диск 2, осуществляется на трех уровнях, содержащих физический уровень, уровень файловой системы и уровень приложения. Файл списка воспроизведения на фиг.23 и clpi-файл на фиг.24 представляют собой информацию для уровня приложения, с которым работает приложение, управляющее воспроизведением контента.
Физический уровень представляет собой уровень оптического диска 2, на котором перемежаются и записаны m2ts-файл для L видеопотока и m2ts-файл для R видеопотока.
На уровне файловой системы файлы потока (m2ts-файл и ilvt-файл), которые определены приложением и позициями участков на оптическом диске 2, причем участки, которые содержатся в файлах потока, выполнены соответствующими друг другу. Файловой системой является, например, файловая система UDF (универсальный дисковый формат).
Участок представляет собой совокупность элементов данных, которые содержатся в данных, управляемых конкретным файлом, и которые последовательно расположены на оптическом диске 2.
То есть в примере, показанном на фиг.25, каждая из порций L[0] и L[1] представляет собой участок в m2ts-файле «00001.m2ts». Когда приложение определит m2ts-файл «00001.m2ts» как файл, из которого надо считать данные, позиции порций L[0] и L[1] на оптическом диске 2 будут определены файловой системой UDF, и эти порции будут считаны дисководом 32.
В m2ts-файле «00002.m2ts» каждая из порций R[0] и R[1] является участком. Когда приложение определит m2ts-файл «00002.m2ts» как файл, из которого надо считать данные, позиции порций R[0] и R[1] на оптическом диске 2 будут определены файловой системой UDF, и эти порции будут считаны дисководом 32.
В ilvt-файле «00001.ilvt» совокупность R[0], L[0], R[1] и L[1] является одним участком. Когда приложение определит ilvt-файл «00001.ilvt» как файл, из которого надо считать данные, позиции R[0], L[0], R[1] и L[1] на оптическом диске 2 будут определены файловой системой UDF, и эти порции будут считаны дисководом 32.
Пример 1 работы
Здесь, со ссылками на блок-схему с фиг.26, будет описан процесс трехмерного воспроизведения, который осуществляют в соответствии с файлом списка воспроизведения с фиг.23.
Если флаг MVC_flag равен 1, контроллер 31 (приложение, предназначенное для управления воспроизведением контента, выполняемое контроллером 31) начинает трехмерное воспроизведение в соответствии с действием пользователя, выполняемым с помощью секции 37 ввода операции.
На этапе S1 контроллер 31 определяет идентификатор транспортного пакета основного ТП, содержащегося в L видеопотоке, с помощью описания структуры данных STN_table().
На этапе S2 контроллер 31 определяет, что ref_to_SubPath_id=0, которое представляет собой значение идентификатора SubPath_id подпути, который ссылается на R видеопоток, с помощью описания из структуры данных STN_table_extension(), и определяет идентификатор транспортного пакета дополнительного ТП, содержащегося в R видеопотоке.
На этапе S3 контроллер 31 определяет имя clpi-файла, который, соответствует m2ts-файлу основного ТП, который содержит L видеопоток, как «00001.clpi», исходя из значения поля Clip_Information_file_name структуры данных PlayItem().
На этапе S4 контроллер 31 определяет имя clpi-файла, который соответствует m2ts-файлу, который содержит R видеопоток, как «00002.clpi», исходя из значения поля Clip_Information_file_name структуры данных SubPlayItem() подпути, для которого значение поля SubPath_type установлено равным 8 и для которого идентификатор SubPath_id равен 0 в структуре данных SubPath_entries_extension().
На этапе S5 контроллер 31 определяет ilvt-файл «00001.ilvt», имя которого содержит расширение ilvt и пять символов, совпадающих с номером (00001), которые содержатся в имени файла, содержащегося в клипе для L видео. Как описано выше, имя ilvt-файла содержит то же число, что имена m2ts-файла и clpi-файла, которые содержатся в клипе для L видео.
На этапе S6 контроллер 31 устанавливает, что «00001.ilvt», который был определен на этапе S3, является файлом, который нужно считать, и отдает дисководу 32 команду на считывание файла с оптического диска 2 через файловую систему UDF. Данные L видеопотока и R видеопотока, которые были считаны как данные ilvt-файл «00001.ilvt», дисководом 32, подают на блок 51 разделения секции 36 декодирования.
Заметим, что когда установлен произвольный доступ к памяти или тому подобное и, следовательно, декодирование начинается с заданной ТВ, содержащейся в поле ЕР_map, данные по ТВ и после ТВ считывают из файла, который необходимо считать. Поле ЕР_map содержит информацию, касающуюся позиций исходных пакетов, предназначенных для установки позиций ТВ и подобных потоков.
На этапе S7 контроллер 31 управляет блоком 51 разделения с целью разделения данных, считанных с оптического диска 2, на данные L видео и данные R видео на основе структуры данных chunk_map() clpi-файла «00001.clpi» и структуры данных chunk_map() clpi-файла «00002.clpi».
Данные L видеопотока, которые были отделены блоком 51 разделения, подают в буфер 52 считывания, а данные R видеопотока подают в буфер 55 считывания. Разделение данных, которое было осуществлено с использованием структуры данных chunk_map(), будет описано ниже.
Транспортный пакет данных L видеопотока, сохраненный в буфере 52 считывания, извлекают с помощью фильтра 53 идентификаторов PID транспортных пакетов на основе идентификатора PID транспортного пакета, который был определен на этапе S1, и подают на декодер 60 через буфер 54 ЭП и переключатель 59. Транспортный пакет данных R видеопотока, сохраненный в буфере 55 считывания, извлекают с помощью фильтра 56 идентификаторов PID транспортных пакетов на основе идентификатора PID транспортного пакета, который был определен на этапе S2, и подают на декодер 60 через переключатель 57, буфер 58 ЭП и переключатель 59.
На этапе S8 декодер 60 декодирует (воспроизводит) пакеты, которые были последовательно доставлены от переключателя 59.
Когда L видеопоток и R видеопоток содержатся различных ТП и файлы ТП перемежаются и записаны на оптический диск 2, трехмерное воспроизведение осуществляется так, как описано выше.
Разделение данных с использованием структуры данных chunk_map()
На фиг.27 показан пример синтаксиса структуры данных chunk_map().
Поле number_of_chunks представляет собой количество порций, на которые ссылаются. В поле number_of_chunks и после него описана относящаяся к порциям информация для определенного здесь количества порций.
Поле SPN_chunk_start[i] показывает НИП (номер исходного пакета) (длина) от исходной позиции до позиции начала каждой порции, при этом исходной позицией является, например, позиция начала первой порции. НИП для позиций начала порций описаны последовательно от НИП первой порции.
На фиг.28 показан частный пример clpi-файла со структурой данных chunk_map().
В части А фиг.28 показан пример clpi-файла «00001.clpi», и поле number_of_source_packets принимает значение «number_of_source_packets1». Кроме того, поле number_of_chunks структуры данных chunk_map() принимает значение n+1, а поле SPN_chunk_start[i] принимает значения 0, а1, а2, … an.
Первое значение 0 поля SPN_chunk_start[i] означает, что, как показано в средней части фиг.29, в предположении, что позиция начала первой порции m2ts-файла «00001.m2ts» является исходной, значение НИП от исходной позиции до позиции начала первой порции L[0] равно 0.
Второе значение а1 означает, что значение НИП от исходной позиции до позиции начала второй порции L[1] равно а1.
Третье значение а2 означает, что значение НИП от исходной позиции до позиции начала третьей порции L[2] равно а2.
(n+1)-ое значение an означает, что значение НИП от исходной позиции до позиции начала последней порции L[n] равно an.
В части В фиг.28 показан пример clpi-файла «00002.clpi», и поле number_of_source_packets принимает значение «number_of_source_packets2». Кроме того, поле number_of_chunks структуры данных chunk_map() принимает значение n+1, а поле SPN_chunk_start[i] принимает значения 0, b1, b2, … bn.
Первое значение 0 поля SPN_chunk_start[i] означает, что, как показано в верхней части фиг.29, в предположении, что позиция начала первой порции m2ts-файла «00002.m2ts» является исходной, значение НИП от исходной позиции до позиции начала первой порции R[0] равно 0.
Второе значение b1 означает, что значение НИП от исходной позиции до позиции начала второй порции R[1] равно b1.
Третье значение b2 означает, что значение НИП от исходной позиции до позиции начала третьей порции R[2] равно b2.
(n+1)-ое значение bn означает, что значение НИП от исходной позиции до позиции начала последней порции R[n] равно bn.
Как показано в нижней части фиг.29, когда поданы данные, считанные с оптического диска 2, блок 51 разделения отделяет данные, соответствующие НИП b1 от начальной точки поданных данных, как порцию R[0] на основе описания двух структур данных chunk_map(). Когда ilvt-файл «00001.ilvt» устанавливают как файл, который нужно считать, элементы данных подают на блок 51 разделения в следующем порядке: R[0], L[0], R[1], L[1], …, R[n], L[n].
Кроме того, блок 51 разделения отделяет данные, соответствующие НИП а1 от позиции конца R[0], как порцию L[0], и отделяет данные, соответствующие НИП b2-b1 от позиции конца L[0], как порцию R[1]. Блок 51 разделения отделяет данные, соответствующие НИП а2-а1 от позиции конца R[1], как порцию L[1].
Аналогично блок 51 разделения отделяет данные, соответствующие значению НИП, которое является разницей между значением number_of_source_packets2, описанным в clpi-файле «00002.clpi», и bn от позиции конца порции L[n-1], как R[n]. Блок 51 разделения отделяет данные, соответствующие значению НИП, которое является разницей между значением number_of_source_packets1, описанным в clpi-файле «00001.clpi», и an от позиции конца порции R[n], как L[n].
Таким образом, разделение данных осуществляют в блоке 51 разделения с использованием информации, касающейся длин порций, описанных в структуре данных chunk_map().
Когда в качестве значения поля MVC_file_type установлено значение, отличающееся от 1, структура данных chunk_map() не является обязательной (может присутствовать или может отсутствовать). Когда плеер считывает список воспроизведения, в котором в качестве значения поля MVC_file_type установлено значение, отличающееся от 1, и если список воспроизведения содержит структуру данных chunk_map(), плеер должен игнорировать структуру данных chunk_map().
Когда значение поля MVC_file_type равно 1, два соответствующих потока, включающие в себя L видеопоток и R видеопоток, разделяют соответственно на одинаковое количество порций. Что касается R[i] и L[i], которые перемежаются, порция для L видеопотока и порция для R видеопотока с одинаковым индексом i имеют одинаковое время воспроизведения.
На фиг.30 показан синтаксис структуры данных ЕР_map(), описанной в clpi-файле.
Структура данных ЕР_map() предназначена для определения позиции начала декодирования при осуществлении произвольного доступа к памяти или в подобных случаях. Поле number_of_EP_entries показывает количество ТВ (точек входа).
Описание в поле number_of_EP_entries и после него подготовлено для каждой ТВ. Поле PTS_EP_start[i] представляет собой PTS для ТВ, а поле SPN_EP_start[i] представляет собой НИП для ТВ. Таким образом, PTS и НИП для каждой точки входа зарегистрированы в поле ЕР_map так, чтобы соответствовать друг другу. Когда ТВ установлена, определяют адрес начала считывания на основе поля PTS_EP_start[i] и поля SPN_EP_start[i] установленной ТВ и считывают файл.
Частный пример 2 файла списка воспроизведения
В части А фиг.31 показан частный пример файл списка воспроизведения.
Файл списка воспроизведения из части А фиг.31 представляет собой файл списка воспроизведения, предназначенный для управления трехмерным воспроизведением, когда L видеопоток и R видеопоток содержатся в одном ТП. То есть m2ts-файл для L видеопотока и m2ts-файл для R видеопотока не перемежаются на оптическом диске 2.
В этом случае MVC_flag=1, как описано в структуре данных AppInfoPlayList() из части А фиг.31, a MVC_file_type=0, как описано в структуре данных PlayItem().
Поле Clip_Information_file_name из структуры данных PlayItem() принимает значение «00001». В этом описании определен clpi-файл, содержащийся в клипе для L видео. Кроме того, в полях IN_time и OUT_time структуры данных PlayItem() определены соответственно позиция начала и позиция конца интервала воспроизведения элемента списка воспроизведения, а в структуре данных STN_table() определен идентификатор транспортного пакета, содержащегося в L видеопотоке.
Идентификатор транспортного пакета, содержащегося в R видеопотоке, определен в структуре данных STN_table_extension() из структуры данных ExtensionData(). В случае этого примера значение типа из структуры данных STN_table_extension() равно 1.
В части В фиг.31 показан синтаксис clpi-файла «00001.clpi».
Как показано в части В фиг.31, clpi-файл «00001.clpi» содержит поле ЕР_map. В этом примере для поля MVC_file_type установлено значение, отличное от 1, и clpi-файл не содержит структуру данных chunk_map().
На фиг.32 показан принцип управления файлами, осуществляемого на основе файла, показанного на фиг.31.
Как показано на фиг.32, одним ТП, который содержит L видеопоток и R видеопоток, управляют с помощью m2ts-файла «00001.m2ts».
Когда приложение устанавливает m2ts-файл «00001.m2ts» как файл, который нужно считать, файловая система UDF определяет позицию, в которой записан m2ts-файл «00001.m2ts», и дисковод 32 считывает файл. Транспортные пакеты для L видеопотока и R видеопотока в считанном m2ts-файле «00001.m2ts» разделяют на основе идентификатора транспортного пакета.
Пример 2 работы
Далее со ссылками на блок-схему с фиг.33 будет описан процесс трехмерного воспроизведения, который осуществляют в соответствии с файлом списка воспроизведения с фиг.31.
На этапе S21 контроллер 31 определяет идентификатор транспортного пакета основного ТП, содержащегося в L видеопотоке, с помощью описания из структуры данных STN_table ().
На этапе S22 контроллер 31 определяет идентификатор транспортного пакета основного ТП, содержащегося в R видеопотоке, с помощью описания из структуры данных STN_table_extension().
На этапе S23 контроллер 31 определяет имя clpi-файла, который соответствует m2ts-файлу, содержащему L видеопоток и R видеопоток, «00001.clpi», исходя из значения поля Clip_Information_file_name структуры данных PlayItem(). Так как MVC_flag=1 и MVC_file_type=0, то определяют, что L видеопоток и R видеопоток содержатся в одном основном ТП.
На этапе S24 контроллер 31 определяет, что «00001.m2ts» является файлом, который нужно считать, и отдает дисководу 32 команду на считывание файла с оптического диска 2 через файловую систему UDF. Данные m2ts-файла «00001.m2ts», которые были считаны дисководом 32, подают в буфер 52 считывания через блок 51 разделения и сохраняют.
Транспортный пакет L видеопотока извлекают из данных, сохраненных в буфере 52 считывания, с помощью фильтра 53 идентификаторов транспортных пакетов на основе идентификатора транспортного пакета, который был определен на этапе S21. Данные для извлеченного транспортного пакета подают на декодер 60 через буфер 54 ЭП и переключатель 59.
Кроме того, транспортный пакет R видеопотока извлекают из данных, сохраненных в буфере 52 считывания, с помощью фильтра 53 идентификаторов транспортных пакетов на основе идентификатора транспортного пакета, который был определен на этапе S22. Данные для извлеченного транспортного пакета подают на декодер 60 через переключатель 57, буфер 58 ЭП и переключатель 59.
На этапе S25 декодер 60 декодирует (воспроизводит) пакеты, которые были последовательно доставлены от переключателя 59.
Когда L видеопоток и R видеопоток содержатся в одном ТП, воспроизведение трехмерного изображения осуществляют так, как описано выше.
Частный пример 3 файла списка воспроизведения
На фиг.34 показан частный пример файла списка воспроизведения.
Файл списка воспроизведения с фиг.34 представляет собой файл списка воспроизведения, предназначенный для управления трехмерным воспроизведением, когда ТП, содержащий L видеопоток, записан на оптический диск 2, а ТП, содержащий R видеопоток, записан в локальном запоминающем устройстве 34. Например, R видеопоток загружен с сервера 22, список воспроизведения, записанный на оптическом диске 2, обновляют так, что добавляют информацию, которая касается R видеопотока, записывают в локальное запоминающее устройство 34 и управляют им с помощью контроллера 31.
MVC_flag=1, как описано в структуре данных AppInfoPlayList() с фиг.23, и MVC_file_type=2, как описано в структуре данных PlayItem().
Поле Clip_Information_file_name из структуры данных PlayItem() принимает значение «00001». В этом описании определен clpi-файл, содержащийся в клипе для L видео. Кроме того, в полях IN_time и OUT_time структуры данных Playltem() определены соответственно позиция начала и позиция конца интервала воспроизведения элемента списка воспроизведения, а в структуре данных STN_table() определен идентификатор транспортного пакета, содержащегося в L видеопотоке.
Информация, относящаяся к подпути, который ссылается на R видеопоток, описана в структуре данных ExtensionData(). Также в этом примере предполагается, что количество обычных подпутей равно 0 (значение поля number_of_SubPaths (четырнадцатая строка из фиг.11) равно 0) и идентификатор SubPath_id, равный 0, присвоен подпути, который ссылается на R видеопоток. Как показано на фиг.34, в структуре данных SubPath_extension() установлено значение поля SubPath_type_extension, равное 8, что означает, что подпуть ссылается на R видеопоток.
Поле Clip_Information_file_name из структуры данных SubPlayItem(), содержащейся в структуре данных ExtensionData(), принимает значение «00003». В этом описании определен clpi-файл, содержащийся в клипе для R видео, clpi-файл «00003.clpi» также загружают с сервера 22 вместе с m2ts-файлом «00003.m2ts» для соответствующего R видеопотока и сохраняют в локальном запоминающем устройстве 34.
Кроме того, в полях SubPlayItem_IN_time и SubPlayItem_OUT_time структуры данных SubPlayItem() из структуры данных ExtensionData() определены соответственно позиция начала и позиция конца интервала воспроизведения подэлемента списка воспроизведения. То есть идентификатор подпути, который ссылается на R видеопоток, равен 0 (ref_to_SubPath_id=0), и идентификатор (ref_to_R_video_PID) транспортного пакета, содержащегося в R видеопотоке, определен в структуре данных STN_table_extension(). В случае этого примера значение типа из структуры данных STN_table_extension() равно 2.
На фиг.35 показан пример синтаксиса clpi-файла.
В части А фиг.35 показан пример clpi-файла «00001.clpi». Как показано в части А фиг.35, clpi-файл «00001.clpi» содержит поле ЕР_map. В части В фиг.35 показан пример clpi-файла «00003.clpi». Как показано в части В фиг.35, clpi-файл «00003.clpi» содержит поле ЕР_map.
Например, поле ЕР_map, содержащееся в clpi-файле «00001.clpi», и поле ЕР_map, содержащееся в clpi-файле «00003.clpi», содержат информацию, относящуюся к ТВ, которые установлены на один и тот же момент времени относительно момента t0 в начале контента. Позиция L видеопотока, в которой начинается воспроизведение с использованием значения поля ЕР_map, содержащегося в clpi-файле «00001.clpi», и позиция R видеопотока, в которой начинается воспроизведение с использованием значения поля ЕР_map, содержащегося в clpi-файле «00003.clpi», расположены в одинаковой позиции вдоль оси времени относительно момента времени t0.
На фиг.36 показан принцип управления файлами, осуществляемого с использованием файлов с фиг.34 и 35.
Как показано на фиг.36, ТП, который содержит L видеопоток, записанный на оптический диск 2, управляется с помощью m2ts-файла «00001.m2ts». Кроме того, ТП, который содержит R видеопоток, записанный в локальном запоминающем устройстве 34, управляется с помощью m2ts-файла «00003.m2ts».
Для BD диска данными, записанными на BD, и данными, записанными в локальном запоминающем устройстве, управляют с помощью виртуальной файловой системы, в которой вместе объединены файловая система, такая как файловая система UDF, предназначенная для управления данными, записанными на BD, и файловая система, предназначенная для управления данными, записанными в локальном запоминающем устройстве. Плеер, содержащий локальное запоминающее устройство, генерирует такую виртуальную файловую систему и управляет данными, записанными на BD, и данными, записанными в локальном запоминающем устройстве.
Когда приложение устанавливает файл, который нужно считать, виртуальная файловая система определяет, записан ли файл на BD или в локальном запоминающем устройстве, и определяет адрес, показывающий записанную позицию на носителе информации, и считывает файл из определенного адреса определенного носителя информации.
Например, когда приложение устанавливает m2ts-файл «00001.m2ts», виртуальная файловая система определяет, что m2ts-файл «00001.m2ts» записан в заданной позиции на оптическом диске 2, и дисковод 32 считывает файл.
Кроме того, когда приложение устанавливает m2ts-файл «00003.m2ts», виртуальная файловая система определяет, что m2ts-файл «00001.m2ts» записан в заданной позиции в локальном запоминающем устройстве 34, и считывает файл.
Пример 3 работы
Далее со ссылками на блок-схему с фиг.37 будет описан процесс трехмерного воспроизведения, который осуществляют в соответствии с файлом списка воспроизведения на фиг.34.
На этапе S41 контроллер 31 определяет идентификатор транспортного пакета основного ТП, содержащегося в L видеопотоке, с помощью описания из структуры данных STN_table().
На этапе S42 контроллер 31 определяет, что значение поля ref_to_SubPath_id равно 0, которое представляет собой значение идентификатора SubPath_id подпути, который ссылается на R видеопоток, с помощью описания из структуры данных STN_table_extension(), и определяет идентификатор транспортного пакета, содержащегося в R видеопотоке.
На этапе S43 контроллер 31 определяет имя clpi-файла, который соответствует m2ts-файлу основного ТП, содержащего L видеопоток, как «00001.clpi», исходя из значения поля Clip_Information_file_name структуры данных PlayItem().
На этапе S44 контроллер 31 определяет имя clpi-файла, который соответствует m2ts-файлу, содержащему R видеопоток, как «00002-clpi», исходя из значения поля Clip_Information_file_name структуры данных SubPlayItem() подпути, для которого значение поля SubPath_type установлено равным 8 и для которого идентификатор SubPath_id равен 0 в структуре данных SubPath_entries_extension().
На этапе S45 контроллер 31 определяет, что «00001.m2ts» является файлом, который нужно считать, и отдает дисководу 32 команду на считывание файла с оптического диска 2 через виртуальную файловую систему.
На этапе S46 контроллер 31 определяет, что «00003.m2ts» является файлом, который нужно считать, и считывает файл из локального запоминающего устройства 34 через виртуальную файловую систему.
Данные m2ts-файла «00001.m2ts», которые были считаны дисководом 32, подают в буфер 52 считывания через блок 51 разделения и сохраняют. Транспортный пакет данных L видеопотока, сохраненных в буфере 52 считывания, извлекают с помощью фильтра 53 идентификаторов транспортных пакетов на основе идентификатора транспортного пакета, определенного на этапе S 41, и подают на декодер 60 через буфер 54 ЭП и переключатель 59.
С другой стороны, данные m2ts-файла «00003.m2ts», которые были считаны из локального запоминающего устройства 34, подают в буфер 55 считывания через блок 51 разделения и сохраняют. Транспортный пакет данных R видеопотока, сохраненных в буфере 55 считывания, извлекают с помощью фильтра 56 идентификаторов транспортных пакетов на основе идентификатора транспортного пакета, который был определен на этапе S42, и подают на декодер 60 через переключатель 57, буфер 58 ЭП и переключатель 59.
На этапе S47 декодер 60 декодирует (воспроизводит) пакеты, которые были последовательно доставлены от переключателя 59.
Когда ТП, содержащий L видеопоток, записан на оптический диск 2, и ТП, содержащий R видеопоток, записан в локальном запоминающем устройстве 34, трехмерное воспроизведение осуществляют так, как описано выше.
Операция двухмерного воспроизведения
Далее будет описана операция двухмерного воспроизведения контента, записанного на оптический диск 2, при этом указанную операцию осуществляют в соответствии с описанным выше файлом списка воспроизведения.
Здесь предполагается, что L видеопоток и R видеопоток содержатся в различных ТП и их m2ts-файлы перемежаются и хранятся на оптическом диске 2. Расположение данных на оптическом диске 2 показано на фиг.25. Двухмерное воспроизведение осуществляют в соответствии с файлом списка воспроизведения с фиг.23.
В этом случае плеер, который осуществляет двухмерное воспроизведение, считывает только описания, касающиеся двухмерного воспроизведения, и осуществляет обработку.
Описания файла списка воспроизведения с фиг.23, который нужно считать, подчеркнуты на фиг.38. Как показано на фиг.38, не осуществляется считывание описания структуры данных ExtensionData(), которая показывает информацию, которая нужна для воспроизведения R видеопотока.
Кроме того, описания из clpi-файла части А фиг.24, который нужно считать, подчеркнуты в части А фиг.39. Как показано в части А фиг.39, не осуществляется считывание структуры данных chunk_map(), которая является информацией, на которую указывают, при воспроизведения R видеопотока. Кроме того, как показано в части В фиг.39, не осуществляется считывание всего clpi-файла «00002.clpi».
Процесс описывается следующим образом. Устройство 1 воспроизведения, которое осуществляет двухмерное воспроизведение, определяет имя clpi-файла, который соответствует m2ts-файлу, содержащему L видеопоток, как «00001.clpi», исходя из значения поля Clip_Information_file_name структуры данных PlayItem(). Кроме того, устройство 1 воспроизведения определяет идентификатор транспортного пакета, содержащегося в L видеопотоке, по описанию структуры данных STN_table ().
Устройство 1 воспроизведения считывает m2ts-файл «00001.m2ts» с оптического диска 2 с помощью файловой системы UDF и затем осуществляет его обработку в части считывания L видеопотока. То есть данные L видеопотока, которые временно хранились в буфере 52 считывания, подают в декодер 60 через буфер 54 ЭП и переключатель 59 и воспроизводят. Так как данными, поданными на выход из устройства 1 воспроизведения, являются только данные L видеопотока, то устройство 3 отображения показывает двухмерное изображение на основе данных L видеопотока.
Таким образом, файл списка воспроизведения, который был описан со ссылкой на фиг.23 и подобные фигуры, является файлом, который может быть использован при двухмерном воспроизведении с помощью устройства воспроизведения, способного воспроизводить трехмерные изображения, и при двухмерном воспроизведении с помощью устройства воспроизведения, не способного воспроизводить трехмерные изображения. Таким образом, не обязательно подготавливать отдельные файлы для устройства воспроизведения, способного воспроизводить трехмерные изображения, и для устройства воспроизведения, не способного воспроизводить трехмерные изображения, и может быть поддержана совместимость файла списка воспроизведения и оптического диска 2, на котором записан файл списка воспроизведения.
Пример конфигурации устройства записи
На фиг.40 показана структурная схема, иллюстрирующая пример конфигурации секции 101 создания программы.
Конфигурация устройства 111 кодирования видео аналогична конфигурации устройства МVС кодирования на фиг.3. Устройство 111 кодирования видео кодирует множество элементов данных с изображениями с использованием стандарта Н.264 AVC/MVC с целью выработки L видеопотока и R видеопотока и подает видеопотоки на буфер 112.
Устройство 113 кодирования аудио кодирует аудиопоток, подаваемый на вход, и подает закодированные данные на буфер 114. Аудиопоток, который записан на диск вместе с L видеопотоком и R видеопотоком, является входом для устройства 113 кодирования аудио.
Устройство 115 кодирования данных кодирует различные описанные выше элементы данных, за исключением данных видео и аудио, таких как файл списка воспроизведения и тому подобное, и подает закодированные данные на буфер 116. Например, устройство 115 кодирования данных устанавливает значение описанных выше полей SubPath_entries_extension (фиг.15), STN_table_extension (фиг.18), MVC_flag (фиг.12) и MVC_file_type (фиг.13) и формирует файл списка воспроизведения, который был описан при рассмотрении фиг.11.
Блок 117 мультиплексирования мультиплексирует данные видео, данные аудио и данные, не относящиеся к потокам, вместе с сигналом синхронизации и подает мультиплексированные данные на блок 118 кодирования и исправления ошибок.
Блок 118 кодирования и исправления ошибок добавляет код исправления ошибок к данным, мультиплексированным блоком 117 мультиплексирования.
Блок 119 модуляции модулирует данные, поданные от блока 118 кодирования и исправления ошибок, и подает на выход модулированные данные. Выходом блока 119 модуляции является программа, которая может быть воспроизведена устройством 1 воспроизведения и которую записывают на оптический диск 2.
Секция 101 создания программы, имеющая подобную конфигурацию, расположена в устройстве записи.
На фиг.41 показан пример конфигурации, содержащей секцию 101 создания программы.
Часть конфигурации, показанной на фиг.41, может быть расположена в устройстве записи.
Секция 131 премастеринга осуществляет процесс мастеринга для записанного сигнала, который был сгенерирован секцией 101 получения программного средства, и генерирует сигнал, формат которого подходит для записи на оптический диск 2. Сгенерированный сигнал подают в секцию 133 записи мастер-диска.
В секции 132 изготовления мастер-диска для записи подготавливают мастер-диск, который изготовлен из стекла или подобных материалов, и материал для записи, который содержит фоторезист и подобные материалы, наносят на мастер-диск. Таким образом, изготавливают мастер-диск для записи.
В секции 133 записи мастер-диска лазерный луч модулируют в соответствии с сигналом записи, который подают из секции 131 премастеринга, и фоторезист, нанесенный на мастер-диск, облучают лазерным лучом. Таким образом, фоторезист на мастер-диске облучают светом в соответствии с записываемым сигналом. Далее мастер-диск обрабатывают с целью получения питов на мастер-диске.
В секции 134 изготовления металлического мастер-диска над мастер-диском осуществляют процесс электролитического формования и подобные процессы и получают металлический мастер-диск, на который перенесены питы со стеклянного мастер-диска. Далее из этого металлического мастер-диска получают металлическую матрицу и металлическую матрицу используют в качестве металлической пресс-формы.
В секции 135 формования такой материал, как полиметилакрилат (акриловый полимер), ПК (поликарбонат) или подобные материалы заливают в металлическую пресс-форму путем впрыска или подобным образом и отверждают его. В качестве альтернативы 2Р (полимер, отверждаемый под действием ультрафиолетовых лучей) или подобные вещества наносят на металлическую матрицу и далее их отверждают с помощью облучения ультрафиолетовыми лучами. Таким образом, питы металлической матрицы переносятся на копию, изготовленную из полимера.
В секции 136 формирования слоя на копии формируется отражающий слой, что делается путем осаждения, напыления или подобным образом. В качестве альтернативы, отражающий слой формируется на копии путем нанесения покрытия методом центрифугирования.
В секции 137 последующей обработки осуществляют необходимые процессы обработки, такие как обработка внутреннего и внешнего диаметров диска и склеивание вместе двух дисков. Таким образом, завершается изготовление описанного выше оптического диска 2, на котором записаны данные, которые могут быть воспроизведены устройством 1 воспроизведения.
Пример конфигурации компьютера
Описанную выше последовательность обработки осуществляют с использованием аппаратных средств или программного обеспечения. При осуществлении последовательность обработки с использованием программного обеспечения, программу, входящую в состав программного обеспечения, устанавливают с носителя информации с программой на компьютер, который встроен в специальные аппаратные средства, компьютер общего назначения или подобные устройства.
На фиг.42 показана структурная схема, иллюстрирующая пример конфигурации аппаратных средств компьютера, который выполняет набор описанных выше процессов обработки в соответствии с программой.
ЦП 151 (центральный процессор), ПЗУ 152 (постоянное запоминающее устройство) и ОЗУ 153 (оперативное запоминающее устройство) соединены шиной 154.
Более того, с шиной соединен интерфейс 155 ввода/вывода. Блок 156 ввода содержит клавиатуру, мышь и подобные устройства, блок 157 вывода содержит дисплей, акустическую систему и подобные устройства, соединенные с интерфейсом 155 ввода/вывода. Кроме того, блок 158 хранения содержит накопитель на жестких магнитных дисках, энергонезависимую память и подобные устройства, блок 159 связи содержит сетевой интерфейс и подобные устройства, а привод 160, который работает со съемным носителем информации 161, соединен с интерфейсом 155 ввода/вывода.
В компьютере с описанной выше конфигурацией ЦП 151, например, загружает программу, хранящуюся в блоке 158 хранения, в ОЗУ 153 с помощью интерфейса 155 ввода/вывода и шины 154 и выполняет программу, тем самым осуществляя описанный выше набор процессов обработки.
Программа, выполняемая ЦП 151, хранится, например, на съемном носителе 161 информации или подается по проводным или беспроводным средам передачи, таким как локальные сети, Интернет или цифровое вещание, и устанавливается в блоке 158 хранения.
Программа, выполняемая компьютером, может быть программой, которая осуществляет обработку во времени последовательно, в порядке описания, приведенном в настоящем описании, или может быть программой, которая осуществляет обработку параллельным образом или в моменты вызова программы.
Вариант осуществления настоящего изобретения не ограничен описанным выше вариантом осуществления изобретения и может быть модифицирован различным образом, оставаясь при этом в границах объема настоящего изобретения.
Список ссылочных позиций
1
устройство воспроизведения
2
оптический диск
3
устройство отображения
11
устройство H.264/AVC кодирования
12
устройство H.264/AVC декодирования
13
устройство кодирования видео зависимого вида
14
мультиплексор
31
контроллер
32
дисковод
33
память
34
локальное запоминающее устройство
35
интерфейс Интернета
36
секция декодирования
37
блок ввода операции