УСТРОЙСТВО ВОСПРОИЗВЕДЕНИЯ, ЗАПИСЫВАЮЩЕЕ УСТРОЙСТВО, СПОСОБ ВОСПРОИЗВЕДЕНИЯ И СПОСОБ ЗАПИСИ
PLAYBACK DEVICE, RECORDING DEVICE, PLAYBACK METHOD AND RECORDING METHOD

Список воспроизведения - это информация, задающая логический путь воспроизведения. В различных форматах приложений для хранения содержимого, список воспроизведения используется в качестве единицы воспроизведения. В общем, список воспроизведения состоит из элементов воспроизведения и субэлементов воспроизведения. Элемент воспроизведения - это логическая секция воспроизведения, которая определяется посредством указания пары входной координаты и выходной координаты на временной оси видеопотока, который составляет изображение основного видео.
Субэлемент воспроизведения - это логическая секция воспроизведения, которая определяется посредством указания пары входной координаты и выходной координаты на временной оси субпотока. Здесь субпоток - это любое из аудиопотока, видеопотока и потока субтитров, который не мультиплексируется с видеопотоком, но воспроизводится вместе с видеопотоком.
Когда виртуальный пакет состоит из комбинации содержимого, записанного на ROM-диске и другом носителе записи, можно задавать, с использованием субэлемента воспроизведения, секцию воспроизведения субпотока, который загружается через сеть. Здесь можно использовать элемент воспроизведения в списке воспроизведения для того, чтобы задавать секцию воспроизведения AV-потока, записанного на ROM-диске, и использовать субэлемент воспроизведения в списке воспроизведения для того, чтобы задавать секцию воспроизведения субпотока, который должен быть загружен. При таком применении, список воспроизведения достигает новой комбинации субтитров, звуковых и движущихся изображений, которая не достигается посредством оптических дисков.
В качестве одного примера, патентный документ 1, указанный ниже, раскрывает технологию для формирования виртуальных пакетов.
Патентный документ 1. Публикация заявки на патент (Япония) номер 2006-109494
Сущность изобретения
Проблемы, разрешаемые изобретением
Между тем, считывание с ROM-диска может быть выполнено на скорости передачи битов 54 Мбит/с. Тем не менее, во многих случаях обычного домашнего применения пользователями скорость передачи битов, гарантированная для потокового воспроизведения, определяется по принципу максимальной эффективности, и на таком высоком уровне, как скорость передачи битов при потоковом воспроизведении, считывание с ROM-диска не всегда может быть гарантировано.
Здесь изучается пример, когда список воспроизведения, включающий в себя множество субэлементов воспроизведения, должен быть воспроизведен в случае, когда скорость передачи битов для потокового воспроизведения ограничена.
Предположим, например, что в конкретной сцене изображения основного видео, элемент воспроизведения ассоциирован с 10 субэлементами воспроизведения, и субэлементы воспроизведения поддерживают 10 языков в качестве вариантов выбора. Также предположим здесь, что каждый файл с клипами, на который ссылается каждый субэлемент воспроизведения, имеет размер данных в 10 Мб. В таком случае, чтобы начинать воспроизведение одного элемента воспроизведения, файлы в 100 Мб = 10(языков)×10(Мб) должны быть загружены, как и AV-клипы, на которые ссылается элемент воспроизведения изображения основного видео. В таком случае, когда приложение, отвечающее за загрузку файлов с клипами, сначала загружает файлы с клипами в сумме на 100 Мб, на которые ссылаются эти 10 субэлементов воспроизведения, а затем загружает файлы с клипами, на которые ссылается элемент воспроизведения, предоставление файлов с клипами, на которые ссылается элемент воспроизведения, может быть задержано в случае, если скорость передачи битов ограничена, что приводит к задержке выполнения воспроизведения.
Можно предположить, что этого можно избежать посредством загрузки сначала файлов с клипами, на которые ссылается основной путь, а затем загрузки файлов с клипами, на которые ссылаются субэлементы воспроизведения. Тем не менее, в том случае, когда пользователь выбирает, в качестве целевого объекта воспроизведения, элементарные потоки в файлах с клипами, на которые ссылаются субэлементы воспроизведения, элементарные потоки целевого объекта воспроизведения не могут быть предоставлены в декодер, и воспроизведение может продолжаться в то время, когда любое из субтитра, аудио и видеоизображения отсутствует.
Как описано выше, когда имеется множество файлов с клипами, которые должны быть загружены, вследствие наличия множества субэлементов воспроизведения, невозможно инструктировать приложению то, какие файлы с клипами должны быть загружены первыми по приоритету. Когда это имеет место в случае, если скорость передачи битов ограничена, прерывание в воспроизведении может стать заметным или воспроизведение может продолжаться в то время, когда любое из субтитра, аудио и видеоизображения отсутствует.
Помимо этого, поскольку пользователь не знает способ, которым выполняется воспроизведение, а именно, выполняется воспроизведение посредством считывания потоков с ROM-диска или посредством приема предоставляемых потоков из сети, когда воспроизведение не выполнено полностью, пользователь может считать это дефектом устройства воспроизведения и может жаловаться на это в службу технической поддержки производителя устройства. Как правило, процедура загрузки файлов с клипами, на которые ссылаются субэлементы воспроизведения, осуществляется посредством прикладной программы, созданной производителем фильма, а не программы, встроенной в устройство воспроизведения. Следовательно, нежелательно, чтобы производитель принимал жалобы, когда возникает ситуация, что прикладная программа, созданная производителем фильма, отдает приоритет загрузке файлов с клипами, на которые ссылаются субэлементы воспроизведения.
Следовательно, цель настоящего изобретения состоит в том, чтобы предоставлять устройство воспроизведения, которое может инструктировать приложению то, какие файлы с клипами должны быть загружены первыми по приоритету, когда имеется множество файлов с клипами, которые должны быть загружены, вследствие наличия множества субэлементов воспроизведения.
Средство для решения проблемы
Вышеуказанная цель достигается посредством устройства воспроизведения для воспроизведения списка воспроизведения, при этом список воспроизведения включает в себя множество элементов воспроизведения и множество субэлементов воспроизведения, причем каждый элемент воспроизведения - это информация, задающая секцию воспроизведения в файле с клипами, который включает в себя основной поток, каждый субэлемент воспроизведения - это информация, задающая секцию воспроизведения в файле с клипами, который включает в себя субпоток, и файлы с клипами, заданные посредством и на которые ссылаются субэлементы воспроизведения, передаются, при этом устройство воспроизведения содержит: модуль воспроизведения, выполненный с возможностью воспроизводить элементы воспроизведения; модуль указания, выполненный с возможностью указывать текущий элемент воспроизведения; модуль определения, выполненный с возможностью определять текущий субэлемент воспроизведения каждый раз, когда текущий элемент воспроизведения указан; и регистр субпотоков, выполненный с возможностью указывать текущий субпоток, который должен быть воспроизведен синхронно с текущим элементом воспроизведения, при этом текущий субэлемент воспроизведения задает секцию воспроизведения субпотока, указанного посредством регистра субпотоков, при этом модуль воспроизведения продолжает воспроизведение элемента воспроизведения, когда файл с клипами, на который ссылается текущий субэлемент воспроизведения, существует на доступном носителе записи, и останавливает воспроизведение элемента воспроизведения, когда файл с клипами имеет состояние отсутствия или нераспознаваемое состояние на доступном носителе записи.
Преимущества изобретения
При вышеописанной структуре, устройство воспроизведения останавливает воспроизведение, когда файл с клипами, на который ссылается информация текущего субэлемента воспроизведения и который включает в себя текущий субпоток, отсутствует на носителе записи.
Другими словами, устройство воспроизведения продолжает воспроизведение, когда файл с клипами, на который ссылается информация текущего субэлемента воспроизведения и который включает в себя текущий субпоток, существует в носителе записи. Следовательно, файлами с клипами, которые должны быть загружены первыми по приоритету, являются (i) файл с клипами, включающий в себя основной поток, и (ii) файл с клипами, на который ссылается информация текущего субэлемента воспроизведения и который включает в себя текущий субпоток.
Когда приложение загружает эти файлы с клипами первыми по приоритету, перед загрузкой файлов с клипами, на которые ссылаются другие субэлементы воспроизведения, возможно продолжать воспроизведение элемента воспроизведения, включающего в себя множество субэлементов воспроизведения, несмотря на то, что скорость передачи битов становится ниже скорости для ROM-диска.
При такой структуре можно инструктировать приложению, какие файлы с клипами должны быть загружены первыми по приоритету, когда имеется множество файлов с клипами, которые должны быть загружены, вследствие наличия множества субэлементов воспроизведения, поскольку можно продолжать воспроизведение до тех пор, пока файлы с клипами включают в себя файл с клипами, на который ссылается информация текущего субэлемента воспроизведения и который включает в себя текущий субпоток. Соответственно, даже если имеется множество субэлементов воспроизведения и скорость передачи битов ограничена, можно продолжать воспроизведение до тех пор, пока приложение выполняет загрузку, согласно правилу: "пока элемент воспроизведения воспроизводится, загружать файл с клипами, на который ссылается субэлемент воспроизведения, который должен быть следующим текущим субэлементом воспроизведения". Таким образом, эта структура может инструктировать, какие файлы с клипами должны быть загружены первыми по приоритету, тем самым исключая возникновение ситуации, что воспроизведение продолжается в то время, когда любое из субтитра, аудио и движущегося изображения отсутствует. Это минимизирует прерывание выполнения воспроизведения, которое возникает вследствие задержки в предоставлении потоков.
Более конкретно, когда загрузка должна соответствовать вышеуказанному правилу, скорость передачи битов B, которая требуется для загрузки файлов с клипами, вычисляется следующим образом.
Скорость передачи битов B =
((размер данных файла с клипами, составляющего следующий элемент воспроизведения) +
(размер данных файла с клипами, составляющего следующий субэлемент воспроизведения))
/ время воспроизведения текущего элемента воспроизведения
В вышеупомянутом уравнении, "следующий элемент воспроизведения" означает элемент воспроизведения, который должен быть воспроизведен следом за текущим, а "следующий субэлемент воспроизведения" означает субэлемент воспроизведения, который должен быть воспроизведен следом за текущим.
Когда скорость передачи битов, требуемая для загрузки, вычислена так, как указано выше, можно минимизировать прерывание выполнения воспроизведения, даже если скорость передачи битов ограничена.
Кроме того, когда файл с клипами, на который должен ссылаться текущий субэлемент воспроизведения, имеет нераспознаваемое состояние, выполнение воспроизведения останавливается. Это исключает узнавание пользователем того, предоставляются потоки с ROM-диска или через загрузку. Это устраняет потребность проверки того, как воспроизведение будет выглядеть без воспроизведения субэлемента воспроизведения, и снижает нагрузку при авторской разработке.
Устройство воспроизведения по настоящему изобретению может продолжать воспроизведение списка воспроизведения, не дожидаясь загрузки AV-клипов, поскольку устройство воспроизведения может осуществлять воспроизведение посредством загрузки минимальных файлов с клипами, требуемых для воспроизведения.
Краткое описание чертежей
Фиг. 1 показывает один пример реализации операции использования устройства 101 воспроизведения.
Фиг. 2 показывает один пример списка воспроизведения.
Фиг. 3 показывает список воспроизведения, используемый в качестве одного примера при пояснении операции.
Фиг. 4 показывает то, как список воспроизведения, показанный на фиг. 3, воспроизводится.
Фиг. 5 показывает пример структуры устройства 101 воспроизведения.
Фиг. 6 - это список системных параметров (SPRM).
Фиг. 7 иллюстрирует функцию воспроизведения подобного потоковому.
Фиг. 8 показывает пример того, как воспроизведение подобное потоковому продолжается с использованием субэлементов воспроизведения.
Фиг. 9 показывает состояние, когда позиция воспроизведения достигает элемента воспроизведения #2.
Фиг. 10 показывает состояние, когда, после того как пользователь запросил смену субтитра, текущая позиция воспроизведения переместилась от субэлемента воспроизведения #3, который ссылается на 10003.m2ts подпути (ID=0), к субэлементу воспроизведения #3, который ссылается на 20003.m2ts подпути (ID=1).
Фиг. 11 показывает состояние, когда, после того как переход к главе осуществлен, элемент воспроизведения #3 является текущим элементом воспроизведения, а субэлемент воспроизведения #3 является информацией текущего субэлемента воспроизведения.
Фиг. 12 - это блок-схема последовательности операций способа, показывающая процедуру процесса, выполняемого посредством BD-J-приложения.
Фиг. 13 - это блок-схема последовательности операций способа, показывающая процедуру процесса загрузки AV-клипов.
Фиг. 14 - это блок-схема последовательности операций способа, показывающая процедуру процесса воспроизведения по списку воспроизведения.
Фиг. 15 - это блок-схема последовательности операций способа, показывающая процедуру определения текущего субэлемента воспроизведения.
Фиг. 16 - это блок-схема последовательности операций способа, показывающая процедуру управления AV-клипами с прогрессивными атрибутами.
Фиг. 17 - это блок-схема последовательности операций способа, показывающая процедуру процесса возобновления воспроизведения после остановки.
Фиг. 18 показывает файлы с клипами, которые запрошены, чтобы быть загруженными, когда текущий элемент воспроизведения - это элемент воспроизведения #1, а информация текущего субэлемента воспроизведения - это субэлемент воспроизведения #1 подпути (ID=1).
Фиг. 19 показывает файлы с клипами, которые запрошены, чтобы быть загруженными, когда текущий элемент воспроизведения - это элемент воспроизведения #2, а информация текущего субэлемента воспроизведения - это субэлемент воспроизведения #2 подпути (ID=1).
Фиг. 20 показывает файлы с клипами, которые запрошены, чтобы быть загруженными, когда текущий элемент воспроизведения - это элемент воспроизведения #3, а информация текущего субэлемента воспроизведения - это субэлемент воспроизведения #3 подпути (ID=1).
Фиг. 21 показывает один пример структуры AV-клипа.
Фиг. 22 схематично показывает то, как AV-клипы мультиплексируются.
Фиг. 23 подробнее иллюстрирует то, как видеопоток сохраняется в последовательностях PES-пакетов.
Фиг. 24 показывает формат TS-пакетов, в итоге записываемых в AV-клип.
Фиг. 25 подробно поясняет структуру данных PMT.
Фиг. 26 показывает один пример файла информации о клипе.
Фиг. 27 показывает один пример информации атрибутов потока.
Фиг. 28 показывает один пример карты вхождений.
Фиг. 29 показывает один пример внутренней структуры декодера 13 системных целевых объектов.
Фиг. 30 иллюстрирует структуру данных информации списка воспроизведения.
Фиг. 31 показывает с детализацией внутреннюю структуру информации подпути.
Фиг. 32 показывает один пример всей структуры STN_table.
Фиг. 33 показывает один пример Stream_entry для потока вторичного видео в качестве части всей структуры STN_table, показанной на фиг. 32.
Фиг. 34A показывает один пример Stream_entry и Stream_attribute в потоке первичного видео.
Фиг. 34B показывает Stream_entry в потоке вторичного видео.
Фиг. 35A показывает один пример распределения битов в PSR14.
Фиг. 35B показывает один пример распределения битов в PSR29.
Фиг. 36 показывает один пример внутренней структуры механизма управления воспроизведением.
Фиг. 37 - это блок-схема последовательности операций способа, показывающая процедуру для определения текущего потока вторичного видео, выполняемого посредством процедуры выбора потока.
Фиг. 38 - это блок-схема последовательности операций способа, показывающая процедуру для определения оптимального потока вторичного видео для текущего элемента воспроизведения.
Фиг. 39A-39E показывают один пример стереоочков последовательного типа.
Фиг. 40 показывает один пример внутренней структуры потока первичного видео и потока вторичного видео для стереоскопического просмотра.
Фиг. 41 показывает один пример внутренней структуры декодера 13 системных целевых объектов.
Фиг. 42 показывает один пример внутренней структуры Primary_audio_stream_entry и Secondary_audio_stream_entry и внутренней структуры Comb_info_Secondary_video_Secondary_audio.
Фиг. 43A показывает один пример распределения битов в PSR1.
Фиг. 43B показывает один пример распределения битов в PSR14.
Фиг. 44 - это блок-схема последовательности операций способа, показывающая процедуру для определения текущего потока первичного аудио, когда текущий элемент воспроизведения изменяется.
Фиг. 45 - это блок-схема последовательности операций способа, показывающая процедуру для определения потока вторичного аудио.
Фиг. 46 - это блок-схема последовательности операций способа, показывающая процедуру для выбора текущего потока вторичного аудио, который является оптимальным для текущего элемента воспроизведения.
Фиг. 47 показывает часть STN_table, которая конкретно связана с потоком PGtextST.
Фиг. 48A показывает один пример области числовых значений номеров потока, которые может иметь текущий поток PGtextST.
Фиг. 48B показывает один пример распределения битов в PSR2.
Фиг. 49 - это блок-схема последовательности операций способа, показывающая процедуру для определения текущего потока PiP PG textST, когда текущий элемент воспроизведения изменяется.
Фиг. 50 - это блок-схема последовательности операций способа, показывающая процедуру для выбора текущего потока субтитров PG textST, который является оптимальным для текущего элемента воспроизведения.
Фиг. 51 показывает пример структуры BD-ROM.
Фиг. 52 показывает пример внутренней структуры индексного файла.
Фиг. 53 показывает пример внутренней структуры комплекта обновлений, сохраненного в локальном устройстве 103 хранения.
Фиг. 54 показывает пример содержимого файла информации управления слиянием и процесса компоновки виртуального пакета на основе содержимого файла информации управления слиянием из файла BD-ROM и файла комплекта обновлений.
Фиг. 55 показывает один пример системы авторских разработок.
Фиг. 56A и 56B иллюстрируют способ, используемый для того, чтобы создавать образ ROM-диска и образ комплекта обновлений.
Описание символов
100 - BD-ROM
102 - www-сервер
103 - локальное устройство хранения
104 - телевизионный приемник
Оптимальный режим осуществления изобретения
Далее описываются варианты осуществления устройства воспроизведения и записывающего устройства, которым предоставляют средство разрешения вышеописанной проблемы, со ссылкой на чертежи.
<Вариант осуществления 1>
Далее описывается вариант осуществления устройства воспроизведения и записывающего устройства. Сначала из операций реализации устройства воспроизведения, описывается операция использования. Фиг. 1 показывает реализацию операции использования устройства 101 воспроизведения. Как показано на фиг. 1, устройство 101 воспроизведения используется пользователем вместе с носителем 100 записи, который является одним примером первого носителя записи, www-сервером 102, локальным устройством 103 хранения и телевизионным приемником 104.
BD-ROM 100 является носителем записи, на который записываются видеофрагменты.
Устройство 101 воспроизведения составляет домашний кинотеатр вместе с телевизионным приемником 104 и воспроизводит BD-ROM 100. Устройство 101 воспроизведения имеет функцию для загрузки данных в носитель записи, тем самым также имея функцию записывающего устройства.
Www-сервер 102 является серверным устройством, которое управляет официальным веб-узлом дистрибьютора видео и распространяет набор файлов (комплект обновлений) пользователю через Интернет и т.п., при этом набор файлов направлен на частичную замену или добавление видеофрагментов, записанных на BD-ROM 100.
Локальное устройство 103 хранения присоединено к устройству воспроизведения, чтобы использоваться в качестве устройства хранения для хранения содержимого, распределяемого с www-сервера 102 дистрибьютора видео. При такой структуре содержимое, которое загружено в локальное устройство 103 хранения через сеть, может быть комбинировано с содержимым, записанным на BD-ROM 100, и таким образом содержимое, записанное на BD-ROM 100, может быть расширено/обновлено.
Телевизионный приемник 104 предоставляет интерактивное операционное окружение пользователю посредством отображения воспроизводимых изображений видеофрагментов и отображения меню и т.п.
До сих пор пояснялась форма использования устройства воспроизведения. Далее описывается список воспроизведения, который является целевым объектом воспроизведения для устройства воспроизведения.
Фиг. 2 показывает список воспроизведения, при этом список воспроизведения состоит из "основного пути" и одного или более "подпутей".
"Основной путь" состоит из одного или более элементов воспроизведения.
о
"Подпути" - это последовательность путей воспроизведения, воспроизводимых вместе с основным путем, и им назначаются идентификаторы (идентификаторы подпути) в порядке регистрации в списке воспроизведения. Идентификаторы подпути используются для того, чтобы идентифицировать подпути. Подпути включают в себя "синхронизированный тип" и "несинхронизированный тип", причем подпути "синхронизированного типа" воспроизводятся синхронно с основным путем, а подпути "несинхронизированного типа" воспроизводится несинхронно с основным путем. Тип каждого подпути записан в подпути. Субэлемент воспроизведения состоит из одного или более фрагментов информации субэлемента воспроизведения. В случае если тип подпути - это синхронизированный тип, время начала воспроизведения и время окончания воспроизведения субэлемента воспроизведения выражаются с использованием той же временнй оси, что и основной путь. В случае если тип подпути - это несинхронизированный тип, время начала воспроизведения и время окончания воспроизведения субэлемента воспроизведения выражаются с использованием отличной от основного пути временной оси.
Кроме того, "элемент воспроизведения" включает в себя таблицу номеров потоков. Таблица номеров потоков - это информация, которая указывает номера элементарных потоков, которым разрешено быть воспроизведенными в элементе воспроизведения. Подробное пояснение информации списка воспроизведения, информации элемента воспроизведения, информации субэлемента воспроизведения и таблицы номеров потоков приводится в других вариантах осуществления ниже.
В последующем описании режима работы, определенный список воспроизведения используется в качестве одного примера.
Фиг. 3 показывает определенный список воспроизведения, используемый в качестве одного примера при пояснении операции.
Список воспроизведения состоит из основного пути и двух подпутей (подпуть (ID=0), подпуть (ID=1)). Основной путь включает в себя пять элементов воспроизведения #1, #2, #3, #4 и #5. Подпуть с ID=0 включает в себя пять субэлементов воспроизведения #1, #2, #3, #4 и #5, и подпуть с ID=1 включает в себя пять субэлементов воспроизведения #1, #2, #3, #4 и #5.
Оба подпути имеют синхронизированный тип и ссылаются на AV-клипы, в которые мультиплексируется поток презентационной графики. Поток презентационной графики, мультиплексированный в AV-клипы, на которые ссылается один из подпутей, является данными субтитров одного языка. AV-клипы, используемые из списка воспроизведения, являются содержимым, содержащимся в комплекте обновлений, сохраненном в локальном устройстве хранения, и имеют прогрессивный атрибут. Прогрессивный атрибут - это атрибут AV-клипа, который указывает, что упомянутый AV-клип не обязательно должен быть сохранен в локальном устройстве хранения предварительно до того, как список воспроизведения воспроизводится, только если субэлементы воспроизведения, ссылающиеся на AV-клип, сохранены в локальном устройстве хранения непосредственно перед тем, как субэлементы воспроизведения становятся информацией текущего субэлемента воспроизведения.
Пять элементов воспроизведения #1, #2, #3, #4 и #5 соответственно ссылаются на 00001.m2ts, 00002.m2ts, 00003.m2ts, 00004.m2ts и 00005.m2ts.
Пять субэлементов воспроизведения #1, #2, #3, #4 и #5 подпути ID=0 соответственно ссылаются на 10001.m2ts, 10002.m2ts, 10003.m2ts, 10004.m2ts и 10005.m2ts.
Пять субэлементов воспроизведения #1, #2, #3, #4 и #5 подпути ID=1 соответственно ссылаются на 20001.m2ts, 20002.m2ts, 20003.m2ts, 20004.m2ts и 20005.m2ts.
Элементы воспроизведения в основном пути имеют такую же таблицу номеров потоков, что и показанная в правом верхнем углу по фиг. 3. Эта таблица номеров потоков имеет три записи, которым соответственно назначены номера потоков "1", "2" и "3". Эти три записи соответственно разрешают воспроизведение (i) потока первичного видео, на который ссылается информация элемента воспроизведения основного пути, (ii) потока презентационной графики (PG#1), который охватывается посредством AV-клипа, на который ссылается субэлемент воспроизведения (подпуть ID=0) и (iii) потока презентационной графики (PG#2), который охватывается посредством AV-клипа, на который ссылается субэлемент воспроизведения (подпуть ID=1).
Когда текущий номер потока субтитров равен "2", соответствующая запись потока - это PG#1, указанный посредством подпути ID=0, и таким образом PG#1, указанный посредством подпути ID=0, воспроизводится синхронно с воспроизведением элемента воспроизведения.
Фиг. 4 показывает то, как список воспроизведения, показанный на фиг. 3, воспроизводится. Правая сторона фиг. 4 показывает www-сервер 102, а левая сторона показывает устройство 101 воспроизведения. Средняя часть фиг. 4 показывает тракт передачи, которым является, например, Интернет или сеть intranet. 00001.m2ts, 00002.m2ts, 00003.m2ts, 00004.m2ts и 00005.m2ts, показанные на фиг. 3, находятся в локальном устройстве 103 хранения. Как показано на фиг. 4, AV-клипы, показанные на фиг. 4, 00001.m2ts и 10001.m2ts, передаются из www-сервера 102 в устройство 101 воспроизведения в ответ на запрос на загрузку, передаваемый в www-сервер 102.
В базе данных серверного устройства AV-клипы сохраняются и управляются в файлах, имена которых - это ни одно из 00001.m2ts, 00002.m2ts, 00003.m2ts, 00004.m2ts и 00005.m2ts. Это обусловлено тем, что к файлам, которые могут составлять виртуальный пакет, может осуществляться доступ посредством псевдонимов посредством файлов манифеста.
Далее описываются конструктивные элементы устройства 101 воспроизведения для осуществления воспроизведения списка воспроизведения, запроса на загрузку и загрузки. Конструктивные элементы для выполнения этих процессов включают в себя BD-J-приложение и BD-J-объект. Далее описываются эти конструктивные элементы.
<BD-J-приложение>
TM
TM
BD-J-приложение - это приложение Java, которое активируется посредством обмена служебной информацией между приложениями, который указывает заголовок в качестве жизненного цикла, причем обмен служебной информацией между приложениями выполняется посредством платформенного модуля, который реализован в полном соответствии с техническими требованиями Java 2 MicroEdition (J2ME) Personal Basis Profile (PBP 1.0) и Globally Excecutable MHP (GEM 1.0.2) для пакетных мультимедийных целевых объектов. BD-J-приложение начинает воспроизведение списка воспроизведения посредством инструктирования виртуальной машине Java формировать экземпляр проигрывателя JMF (Java Media Framework) для воспроизведения информации списка воспроизведения. Экземпляр JMF-проигрывателя - это данные, которые фактически формируются в динамически распределяемом запоминающем устройстве виртуальной машины на основе класса JMF-проигрывателя.
TM
JMF A" BD://00001.mpls"; - это метод, который инструктирует виртуальной машине Java формировать экземпляр проигрывателя для воспроизведения списка воспроизведения файла 00001.mpls. Здесь "A.play" - это метод, который инструктирует экземпляру JMF-проигрывателя воспроизводиться. Экземпляр JMF-проигрывателя формируется на основе библиотеки JMF.
После того как экземпляр JMF сформирован, www-сервер 102 запрашивается загружать AV-клип, который требуется для воспроизведения списка воспроизведения. Для выполнения загрузки можно устанавливать соединение для получения AV-клипа в www-сервере 102 с использованием метода openConnection в библиотеке программного обеспечения Java, называемой "java.net". Примером такого соединения является "new java.net.URL(http://xxx.com/vp_data/00001.m2ts.openConnection())", где "http://xxx.com/vp_data/00001.m2ts" указывает URL-адрес файла на сервере.
Перед вышеупомянутым воспроизведением списка воспроизведения и загрузкой AV-клипа, BD-J-приложение принимает пользовательскую операцию через инфраструктуру GUI. Инфраструктура GUI, используемая посредством BD-J-приложения, включает в себя инфраструктуру HAVi, заданную в GEM 1.0.2, и включает в себя механизм навигации с помощью пульта дистанционного управления, заданный в GEM 1.0.2.
TM
TM
TM
TM
При такой структуре приложение Java может осуществлять вывод на экран, который является комбинацией отображения движущегося изображения и отображения кнопки, текста и/или онлайнового отображения (содержимого BBS) на основе инфраструктуры HAVi, предоставляя возможность осуществления вышеупомянутого воспроизведения списка воспроизведения и загрузки AV-клипа с использованием дистанционного управления. Набор файлов, составляющих BD-J-приложение, преобразуется в архивный файл Java, который соответствует техническим требованиям, описанным в http://Java™sun.com/j2se/1.4.2/docs/guide/jar/jar.html. Архивный файл Java - это файл в ZIP-формате, адаптированном для Java, и содержимое файла может быть подтверждено с помощью коммерческой программы распаковки ZIP.
<BD-J-объект>
BD-J-объект - это данные, которые включают в себя таблицу управления приложениями (ApplicationManagementTable()) и заставляет платформенный модуль выполнять обмен служебной информацией между приложениями для переключения заголовков в ходе воспроизведения BD-ROM. Более конкретно, ApplicationManagementTable() включает в себя application_id и application_control_code, где application_id указывает BD-J-приложение, которое должно быть выполнено, а application_control_code указывает управление, которое должно быть выполнено, когда BD-J-приложение активировано. Application_control_code задает первое состояние выполнения приложения после того как заголовок выбран. Кроме того, application_control_code может задавать AUTOSTART или PRESENT, при этом для AUTOSTART BD-J-приложение загружается в виртуальную машину и запускается автоматически, а для PRESENT BD-J-приложение загружается в виртуальную машину, но не запускается автоматически.
Далее описывается внутренняя структура устройства воспроизведения.
Фиг. 5 показывает пример структуры устройства 101 воспроизведения. Устройство 101 воспроизведения состоит из BD-ROM-накопителя 10, буфера 11 считывания, буфера 12 считывания, декодера 13 системных целевых объектов, модуля 14 выполнения BD-J, сетевого интерфейса 15, модуля 16 управления виртуальными пакетами, модуля 17 управления состоянием, процессора 18 пользовательских событий, механизма 19 воспроизведения, механизма 20 управления воспроизведением, модуля 21 передачи/приема HDMI, динамически распределяемого запоминающего устройства 22, интерпретатора 23 виртуальной машины и PSR-набора 24. Далее приводится описание каждого из этих компонентов.
<BD-ROM-накопитель 10>
BD-ROM-накопитель 10 считывает данные с BD-ROM-диска и сохраняет данные в буфере 11 считывания.
<Буфер 11 считывания>
Буфер 11 считывания является буфером, состоящим из запоминающего устройства и т.п., которое временно сохраняет данные, считываемые посредством использования BD-ROM-накопителя.
<Буфер 12 считывания>
Буфер 12 считывания является буфером, состоящим из запоминающего устройства и т.п., которое временно сохраняет данные, считываемые из локального устройства хранения.
<Декодер 13 системных целевых объектов>
Декодер 13 системных целевых объектов выполняет процесс демультиплексирования в исходные пакеты, считываемые в буфер 11 считывания или буфер 12 считывания, и выполняет процесс декодирования и воспроизведения потоков. Декодер 13 системных целевых объектов также выполняет процесс декодирования и воспроизведения графических данных, таких как JPEG и PNG, для отображения меню и т.п. посредством модуля 14 выполнения BD-J. Сведения по декодеру 13 системных целевых объектов приводятся ниже.
<Модуль 14 выполнения BD-J>
Модуль 14 выполнения BD-J является механизмом обработки программ, который выполняет BD-J-приложение, передаваемое из модуля 16 управления виртуальными пакетами. Модуль 14 выполнения BD-J выполняет операции в соответствии с программой BD-J-приложения и осуществляет управление следующим образом. (1) Модуль 14 выполнения BD-J выполняет воспроизведение по списку воспроизведения относительно модуля 16 управления виртуальными пакетами. (2) Модуль 14 приложения BD-J сохраняет комплект обновлений с www-сервера, к примеру, Интернета, на локальное устройство хранения. (3) Модуль 14 приложения BD-J инструктирует, что виртуальный пакет составляется посредством комбинирования BD-ROM и комплекта обновлений. (4) Модуль 14 приложения BD-J задает значения переменных проигрывателя. (5) Модуль 14 приложения BD-J передает PNG и/или JPEG для графики меню или игры в декодер системных целевых объектов, чтобы отображать экран. Эти операции могут выполняться гибко в соответствии со структурой программ. То, какое управление выполняется, определяется согласно процедуре программирования BD-J-приложения в процедуре авторской разработки.
<Сетевой интерфейс 15>
TM
Сетевой интерфейс 15 осуществляет функцию связи в устройстве воспроизведения. После приема URL-адреса, указанного в BD-J-приложении, сетевой интерфейс 15 устанавливает TCP-соединение, FTP-соединение и т.п. с веб-узлом по URL-адресу, предоставляя возможность приложению Java загружать информацию с веб-узла.
<Модуль 16 управления виртуальными пакетами>
Модуль 16 управления виртуальными пакетами управляет BD-ROM-накопителем 10 и локальным устройством 103 хранения так, чтобы составлять виртуальный пакет, и имеет функцию управления воспроизведением посредством проигрывателя. Виртуальный пакет - это виртуальный BD-ROM-пакет, составляемый посредством комбинирования содержимого BD-ROM в запоминающем устройстве на основе содержимого, записанного на BD-ROM-диск, данных различий, хранимых в локальном устройстве 103 хранения, и информации управления слиянием, сохраненной в локальном устройстве 103 хранения. Составляемый виртуальный пакет имеет такой же формат, как структура данных BD-ROM. Виртуальный пакет может быть составлен, когда диск вставляется в устройство 1600 воспроизведения или когда инструкция составления виртуального пакета выполняется посредством модуля 14 выполнения BD-J. После того как виртуальный пакет составлен, модуль 16 управления виртуальными пакетами управляет процессом воспроизведения AV-клипа через информацию списка воспроизведения, в соответствии с инструкцией воспроизведения от BD-J модуля выполнения или уведомлением посредством процессора пользовательских событий. Кроме того, модуль 16 управления виртуальными пакетами также выполняет настройку и снабжение ссылками для переменной проигрывателя и выполняет операции воспроизведения.
<Модуль 17 управления состоянием>
Модуль 17 управления состоянием управляет состоянием (любым из состояния отсутствия, состояния активности и состояния недоступности), в котором находится каждый AV-клип, сохраненный в BD-ROM или локальном устройстве хранения, и выполняет управление относительно того, следует или нет останавливать воспроизведение списка воспроизведения.
Состояние отсутствия - это состояние, в котором AV-клип, на который ссылается информация элемента воспроизведения или информация субэлемента воспроизведения, не сохранен ни в одном из BD-ROM или локального устройства хранения.
Состояние активности - это состояние, в котором AV-клип может быть воспроизведен посредством модуля 16 управления виртуальными пакетами и управляется посредством API BD-J-приложения. Когда AV-клип переводится в состояние активности посредством API, AV-клип выполнен с возможностью иметь атрибут "только для чтения" и становится воспроизводимым посредством модуля 16 управления виртуальными пакетами.
Состояние недоступности - это обратное состояние от состояния активности, в котором AV-клип не может быть воспроизведен посредством модуля 16 управления виртуальными пакетами. AV-клип находится в состоянии недоступности, когда AV-клип вообще не переведен в состояние активности посредством BD-J-приложения. Когда BD-J-приложение должно удалять или перезаписывать AV-клип в состоянии активности, AV-клип должен быть изменен на состояние недоступности один раз посредством API.
AV-клипы, которые находятся в состоянии отсутствия или состоянии недоступности, в общем, называются "недоступными клипами".
Управление относительно того, следует или нет останавливать воспроизведение списка воспроизведения, в частности, является управлением, при котором, когда информация текущего субэлемента воспроизведения изменяется, определяется то, является ли AV-клип, на который ссылается информация текущего субэлемента воспроизведения, недоступным клипом, и когда AV-клип является недоступным клипом, событие DataStarved передается в экземпляр JMF-проигрывателя и механизм управления воспроизведением с тем, чтобы экземпляр JMF-проигрывателя и механизм управления воспроизведением переходили из состояния воспроизведения в состояние остановки.
<Процессор 18 пользовательских событий>
Процессор 18 пользовательских событий, в ответ на ввод пользовательской операции через пульт дистанционного управления, запрашивает модуль 14 выполнения BD-J или модуль 16 управления виртуальными пакетами, чтобы выполнять процесс. Например, когда кнопка на пульте дистанционного управления нажата, процессор 18 пользовательских событий запрашивает модуль 14 выполнения BD-J, чтобы выполнять команду, указанную посредством кнопки. Например, когда кнопка прямого/обратного воспроизведения на пульте дистанционного управления нажата, процессор 18 пользовательских событий запрашивает модуль 16 управления виртуальными пакетами, чтобы выполнять процесс прямого/обратного воспроизведения для AV-клипа списка воспроизведения, который в настоящий момент воспроизводится.
<Механизм 19 воспроизведения>
Механизм 19 воспроизведения выполняет функции AV-воспроизведения. Функции AV-воспроизведения в устройстве воспроизведения - это группа традиционных функций, пришедших от DVD- и CD-проигрывателей. Функции AV-воспроизведения включают в себя: воспроизведение, остановку, паузу, отключение паузы, отключение режима стоп-кадр, прямое воспроизведение (согласно спецификациям скорости), обратное воспроизведение (согласно спецификациям скорости), изменение аудио, смену субтитров и изменение угла просмотра. Чтобы реализовывать функции AV-воспроизведения, механизм 19 воспроизведения управляет декодером системных целевых объектов так, чтобы декодировать часть AVClip, которая соответствует требуемому времени.
<Механизм 20 управления воспроизведением>
Механизм 20 управления воспроизведением выполняет функции управления воспроизведением для списка воспроизведения. Функции управления воспроизведением для списка воспроизведения конкретно означают, что из функций AV-воспроизведения, выполняемых посредством механизма 19 воспроизведения, функции воспроизведения и остановки выполняются в соответствии с текущей информацией списка воспроизведения и информацией о клипах.
<Модуль 21 передачи/приема HDMI>
Модуль 21 передачи/приема HDMI, через HDMI (мультимедийный интерфейс высокого разрешения), принимает от устройства, подключенного к HDMI, информацию относительно устройства, и отправляет несжатое цифровое видео в устройство, подключенное по HDMI, вместе с LPCM и сжатыми аудиоданными, при этом несжатое цифровое видео получается посредством декодирования посредством декодера системных целевых объектов.
<Динамически распределяемое запоминающее устройство 22>
Динамически распределяемое запоминающее устройство 22 является стековым запоминающим устройством, зарезервированным для модуля 14 выполнения BD-J, и сохраняет экземпляр JMF-проигрывателя, сформированный посредством BD-J-приложения, и байтовый код, сформированный посредством выполнения загрузки классов в BD-J-приложение. Они сохраняются на основе подпроцессов и предоставляются для выполнения посредством интерпретатора 23 виртуальной машины способом "первый на входе - первый на выходе".
<Интерпретатор 23 виртуальной машины>
Интерпретатор 23 виртуальной машины преобразует байтовый код, сохраненный в динамически распределяемом запоминающем устройстве 22, в собственный код, который может быть выполнен посредством CPU, и заставляет CPU выполнять собственный код.
<PSR-набор 24>
PSR-набор 24 состоит из регистра настроек проигрывателя, сохраняющего переменные проигрывателя, и регистра состояния проигрывателя. Переменные проигрывателя относятся к системным параметрам (SPRM), показывающим состояние проигрывателя, и общим параметрам (GPRM) для общего использования.
Фиг. 6 - это список системных параметров (SPRM).
SPRM(0):Language Code (языковой код)
SPRM(1):Primary audio stream number (номер первичного аудиопотока)
SPRM(2):Subtitle stream number (номер потока субтитров)
SPRM(3):Angle number (номер угла)
SPRM(4):Title number (номер заголовка)
SPRM(5):Chapter number (номер главы)
SPRM(6):Program number (номер программы)
SPRM(7):Cell number (номер ячейки)
SPRM(8):Selected key name (название выбранной кнопки)
SPRM(9):Navigation timer (таймер навигации)
SPRM(10):Playback time information (информация времени воспроизведения)
SPRM(11):Player audio mixing mode for Karaoke (режим смешивания аудио проигрывателя для караоке)
SPRM(12):Country code for parental management (код страны для родительского управления)
SPRM(13):Parental level (родительский уровень)
SPRM(14):Player setting value (video)(значение настройки плеера (видео))
SPRM(15):Player setting value (audio)(значение настройки плеера (аудио))
SPRM(16):Language code for audio stream (языковой код для аудиопотока)
SPRM(17):Language code for audio stream (extension) (языковой код для аудиопотока (расширение))
SPRM(18):Language code for subtitle stream (языковой код для потока субтитров)
SPRM(19):Language code for subtitle stream (extension) (языковой код для потока субтитров (расширение))
SPRM(20):Player region code (код региона проигрывателя)
SPRM(21):Secondary video stream number (номер вторичного видеопотока)
SPRM(22):Secondary audio stream number (номер вторичного аудиопотока)
SPRM(23) состояние проигрывателя
SPRM(24):Reserved (зарезервировано)
SPRM(25):Reserved (зарезервировано)
SPRM(26):Reserved (зарезервировано)
SPRM(27):Reserved (зарезервировано)
SPRM(28):Reserved (зарезервировано)
SPRM(29):Reserved (зарезервировано)
SPRM(30):Reserved (зарезервировано)
SPRM(31):Reserved (зарезервировано)
SPRM(10) обновляется каждый раз, когда данные изображений, принадлежащие AV-клипу, отображаются. Другими словами, если устройство воспроизведения заставляет новый фрагмент данных изображений отображаться, SPRM(10) обновляется так, чтобы показывать время отображения (PTS) нового изображения. Текущая точка воспроизведения может быть известна посредством обращения к SPRM(10).
Языковой код для аудиопотока SPRM(16) и языковой код для потока субтитров SPRM(18) являются элементами, которые могут быть заданы в OSD проигрывателя и т.п., и показывают языковые коды по умолчанию проигрывателя. Например, можно включать на BD-ROM-диск BD-J-приложение, имеющее следующую функцию. А именно, если языковой код для аудиопотока - это английский язык, когда список воспроизведения воспроизводится, выполняется поиск записи потока, имеющей этот языковой код, в таблице выбора потока элемента воспроизведения, и соответствующий аудиопоток выбирается и воспроизводится. Эти SPRM соответственно сохраняются в регистрах, каждый из которых имеет емкость в 32 бита. Числа в круглых скобках используются для того, чтобы идентифицировать SPRM, по сути, указывая номера соответствующих регистров (отметим, что SPRM(21) и SPRM(22) не указывают номера соответствующих регистров).
<Функция воспроизведения подобного потоковому>
Ссылаясь теперь на фиг. 7, приводится описание перехода воспроизведения посредством модуля 16 управления виртуальными пакетами в функции воспроизведения подобного потоковому с помощью виртуального пакета. Фиг. 7 иллюстрирует функцию потокового воспроизведения.
Функция воспроизведения, подобного потоковому, состоит в том, чтобы выполнять операцию воспроизведения и операцию загрузки параллельно друг с другом так, чтобы AV-клип, на который ссылается информация элемента воспроизведения или информация субэлемента воспроизведения и которому назначен прогрессивный атрибут, сохранялся в локальное устройство хранения непосредственно перед тем, как информация элемента воспроизведения или элемент воспроизведения информации субэлемента воспроизведения становится информацией текущего элемента воспроизведения или информацией текущего субэлемента воспроизведения.
Верхняя строка на фиг. 7 показывает список воспроизведения. Пять элементов воспроизведения в списке воспроизведения ссылаются на 0001.m2ts, 0002.m2ts, 00003.m2ts, 00004.m2ts и 00005.m2ts соответственно. Все они являются содержимым, сохраненным в локальном устройстве хранения, и имеют прогрессивный атрибут. Из них загрузка 00001.m2ts и 00002.mt2s уже закончена, и они переведены в состояние активности посредством BD-J-приложения. Каждый из 00003.m2ts, 00004.m2ts и 00005.m2ts либо не загружен, либо загружен, но находится в состоянии недоступности. Как показано в верхней строке фиг. 7, когда модуль 16 управления пакетами воспроизводит список воспроизведения в порядке от верхнего элемента воспроизведения, устройство воспроизведения воспроизводит элементы воспроизведения #1 и #2 обычным способом, поскольку эти элементы воспроизведения ссылаются на AV-клипы, которые находятся в состоянии активности.
Средняя строка на фиг. 7 показывает позицию воспроизведения, дополнительно продвинутую вперед от верхней строки на фиг. 7. Средняя строка показывает, что загрузка 00003.m2ts закончена, и 00003.m2ts переводится в состояние активности до того, как позиция воспроизведения перемещается к элементу воспроизведения #3. Следовательно, воспроизведение переходит к элементу воспроизведения #3.
Нижняя строка на фиг. 7 показывает позицию воспроизведения, дополнительно продвинутую вперед от средней строки на фиг. 7. Нижняя строка показывает, что 00004.m2ts, который должен быть указан ссылкой, не загружен или находится в состоянии недоступности. В этом случае событие DataStarved выводится. После приема события DataStarved BD-J-приложение восстанавливается посредством выполнения управления таким образом, чтобы завершать загрузку 00004.m2ts, переводить 00004.m2ts на состояние активности и начинать воспроизведение с точки, в которой принято событие DataStarved.
Как описано выше, при воспроизведении, подобном потоковому, выполнение воспроизведения не прерывается до тех пор, пока AV-клип элемента воспроизведения, который находится в следующей позиции воспроизведения, предварительно не загружен и переведен в состояние активности.
Фиг. 8 показывает пример того, как воспроизведение, подобное потоковому, продолжается с использованием субэлементов воспроизведения.
Третья строка на фиг. 8 показывает список воспроизведения по фиг. 3 с добавлением стрелок, которые указывают позиции, к которым перешло воспроизведение.
Первая строка на фиг. 8 показывает состояние экземпляра JMF-проигрывателя. Вторая строка показывает состояние механизма управления воспроизведением. Третья строка показывает заданный список воспроизведения. Как показано в первой строке, экземпляр JMF-проигрывателя в состоянии воспроизведения переходит в состояние остановки, когда событие DataStarved выводится. Событие DataStarved - это событие, которое указывает, что нет данных, которые должны быть воспроизведены. После приема события DataStarved, экземпляр JMF-проигрывателя и механизм управления воспроизведением переводятся в состояние остановки. Поскольку оно имеет функцию для того, чтобы останавливать работу экземпляра JMF-проигрывателя и механизма управления воспроизведением, событие DataStarved также называется "событием остановки воспроизведения".
Как показано во второй строке, механизм управления воспроизведением в состоянии воспроизведения, вместе с экземпляром JMF-проигрывателя, переходит в состояние остановки, когда событие DataStarved выводится. Из этого следует понимать, что экземпляр JMF-проигрывателя и механизма управления воспроизведением переводятся в состояние остановки, инициированное посредством события DataStarved.
В примере, показанном на фиг. 8, субэлемент воспроизведения #1, принадлежащий подпути (ID=0), является информацией текущего субэлемента воспроизведения. Следовательно, воспроизведение переходит к элементу воспроизведения #1 и субэлементу воспроизведения #1. На стадии следующего элемента воспроизведения элемента воспроизведения #2, 20002.m2ts, на который ссылается субэлемент воспроизведения #2, соответствующий элементу воспроизведения #2, является недоступным клипом. Таким образом, событие DataStarved должно выводиться для того, чтобы останавливать воспроизведение, когда текущий субэлемент воспроизведения становится субэлементом воспроизведения #2.
Фиг. 9 показывает состояние, когда позиция воспроизведения достигает элемента воспроизведения #2. В примере, показанном на фиг. 9, субэлемент воспроизведения #2, который принадлежит подпути (ID=0) и соответствует элементу воспроизведения #2, в котором находится позиция воспроизведения, ссылается на AV-клип в недоступном состоянии. Тем не менее, в данный момент, субэлемент воспроизведения #2, принадлежащий подпути (ID=1), либо не загружен, либо ссылается на AV-клип в состоянии недоступности. SPRM(2) указывает субэлемент воспроизведения #2, принадлежащий подпути (ID=0). Следовательно, даже если AV-клип, на который должен ссылаться субэлемент воспроизведения #2, принадлежащий подпути (ID=1), не находится в состоянии активности, модуль 16 управления виртуальными пакетами может продолжать воспроизведение.
Как описано выше, в примере, показанном на фиг. 9, даже если 20002.m2ts - это недоступный клип, выполнение воспроизведения не прерывается. Таким образом, воспроизведение переходит к элементу воспроизведения #3. На стадии следующего элемента воспроизведения элемента воспроизведения #4, 10004.m2ts, на который ссылается субэлемент воспроизведения #4, соответствующий элементу воспроизведения #4, является недоступным клипом. Таким образом, воспроизведение останавливается, когда текущая информация элемента воспроизведения становится элементом воспроизведения #4.
Из вышеприведенного описания можно сделать следующие выводы. Другими словами, когда есть намерение загружать все AV-клипы, на которые ссылаются субэлементы воспроизведения всех подпутей (ID=0, ID=1), которые соответствуют секции воспроизведения элемента воспроизведения #2, AV-клипами, которые должны быть загружены, являются 10001.m2ts, 10002.m2ts, 10003.m2ts, 10004.m2ts, 10005.m2ts, 20001.m2ts, 20002.m2ts, 20003.m2ts, 20004.m2ts и 20005.m2ts. Это означает, что модуль 16 управления виртуальными пакетами должен дожидаться стольких AV-клипов, сколько подпутей, которые должны быть загружены. В этом случае, по мере того как число подпутей возрастает, пользователь должен ожидать в течение большего времени в ходе воспроизведения списка воспроизведения.
С другой стороны, в вышеописанной операции относительно субэлементов воспроизведения, когда все AV-клипы, включающие в себя потоки, указанные посредством номера потока первичного аудио SPRM(1), номера потока субтитров SPRM(2), номера потока вторичного видео SPRM(21) и номера потока вторичного аудио, SPRM(22), находятся в состоянии активности, воспроизведение может продолжаться без ожидания, пока AV-клипы субэлементов воспроизведения других подпутей не перейдут в состояние активности. При такой структуре пользователь может продолжать воспроизведение списка воспроизведения без ожидания загрузки ненужных AV-клипов.
Фиг. 10 показывает состояние, когда, после того как пользователь запросил смену субтитра, текущая позиция воспроизведения переместилась от субэлемента воспроизведения #3, который ссылается на 10003.m2ts подпути (ID=0), к субэлементу воспроизведения #3, который ссылается на 20003.m2ts подпути (ID=1).
Когда SPRM(2) изменяется на 3 посредством пользовательской операции и т.п., субтитр, который должен быть воспроизведен, является субэлементом воспроизведения #3 подпути (ID=1). 20003.m2ts, на который ссылается субэлемент воспроизведения #3, является недоступным клипом. Следовательно, событие DataStarved выводится одновременно с тем, когда происходит это изменение. Таким образом, когда изменение субтитра запрошено, и обнаружено, что AV-клип, включающий в себя поток субтитров с субтитром назначения изменения, еще не загружен или находится в отключенном состоянии, модуль 16 управления виртуальными пакетами останавливает воспроизведение и уведомляет BD-J-приложение о событии DataStarved.
Фиг. 11 показывает состояние, когда, после того как переход к главе осуществлен, элемент воспроизведения #3 является текущим элементом воспроизведения, и субэлемент воспроизведения #3 является информацией текущего субэлемента воспроизведения. 20003.m2ts, на который ссылается субэлемент воспроизведения #3, является недоступным клипом. Следовательно, событие DataStarved выводится, чтобы останавливать воспроизведение.
Воспроизведение останавливается, когда субэлемент воспроизведения, ссылающийся на недоступный клип, становится информацией текущего субэлемента воспроизведения. Ввиду этого, можно продолжать воспроизведение посредством загрузки по приоритету файла с клипами, на который ссылается следующий элемент воспроизведения и следующий субэлемент воспроизведения, и который включает в себя текущий поток, являющийся целевым объектом воспроизведения.
Как описано выше, при воспроизведении перехода, такого как переход к главе, модуль 16 управления виртуальными пакетами сообщает о событии DataStarved в BD-J-приложение, когда AV-клип, который либо еще не загружен, либо находится в состоянии недоступности, должен быть указан ссылкой посредством субэлемента воспроизведения, который соответствует любому из номера потока первичного аудио SPRM(1), номера потока субтитров SPRM(2), номера потока вторичного видео SPRM(21) и номера потока вторичного аудио SPRM(22). Посредством задания операций воспроизведения модуля 16 управления виртуальными пакетами таким образом, воспроизведение может продолжаться с минимальной загрузкой AV-клипов.
Фиг. 12 - это блок-схема последовательности операций способа, показывающая процедуру процесса, выполняемого посредством BD-J-приложения.
На этапе S1 комплект обновлений, соответствующий загруженному BD-ROM, загружается в каталог BUDA (зона данных единицы привязки) локального устройства хранения. На этапе S2, выдается запрос на составление виртуального пакета, указывающий состояние отсутствия в комплекте обновлений.
После этого этапа выполняется цикл этапов S3-S8. В этом цикле список воспроизведения выбирается, и экземпляр JMF-проигрывателя создается (этап S3), первый элемент воспроизведения из информации списка воспроизведения задается в качестве текущего элемента воспроизведения (этап S4), AV-клип, указанный посредством Clip_information_file_name в текущем элементе воспроизведения, выбирается (этап S5), AV-клип загружается (этап S6), и следующие три подпроцесса устанавливаются в виртуальной машине, и процессы выполняются друг с другом параллельно (этап S7):
(1) воспроизведение по списку воспроизведения;
(2) управление AV-клипом c прогрессивными атрибутами; и
(3) процесс возобновления после события DataStarved.
После того как эти три процесса завершены, три подпроцесса заканчиваются, и управление возвращается к этапу S3.
Фиг. 13 - это блок-схема последовательности операций способа, показывающая процедуру процесса загрузки AV-клипов. На этапе S11 сетевой интерфейс инструктируется так, чтобы загружать AV-клип i с серверного устройства по www в каталог BUDA. На этапе S12 AV-клип изменяется с состояния отсутствия на состояние недоступности. На этапе S13 ожидается завершение загрузки. Когда загрузка завершена, выполняется верификация на этапе S14. Когда верификация завершена обычным образом, AV-клип переводится в состояние активности на этапе S15.
Фиг. 14 - это блок-схема последовательности операций способа, показывающая процедуру процесса воспроизведения по списку воспроизведения. На этапе S21 информация текущего субэлемента воспроизведения определяется, и управление перемещается к циклу из этапов S22-S24. Цикл этапов S22-S24 выполняется следующим образом. Определяется то, является ли AV-клип, указанный посредством Clip_information_file_name в текущем элементе воспроизведения, недоступным клипом (этап S22). Когда определено, что AV-клип не является недоступным клипом, исходные пакеты между In_Time и Out_Time в текущем элементе воспроизведения считываются с BD-ROM, из исходных пакетов, составляющих AV-клип (этап S23). Определяется то, является ли AV-клип, указанный посредством Clip_information_file_name в информации текущего субэлемента воспроизведения, недоступным клипом (этап S24). Когда определено, что AV-клип не является недоступным клипом, исходные пакеты между In_Time и Out_Time в текущем элементе воспроизведения считываются из локального устройства хранения, из исходных пакетов, составляющих AV-клип (этап S25). Из считанных исходных пакетов, исходные пакеты, которым разрешено быть воспроизведенными посредством STN_table текущего элемента воспроизведения, выводятся в декодер (этап S26). Определяется то, является ли текущий элемент воспроизведения последним элементом воспроизведения (этап S27). Текущий элемент воспроизведения изменяется (этап S28). Эти этапы выполняются в каждом обходе цикла. Цикл заканчивается, когда определено, что более нет элементов воспроизведения в списке воспроизведения ("Да" на этапе S27).
Когда определено, что AV-клип, указанный посредством Clip_information_file_name в текущем элементе воспроизведения или в информации текущего субэлемента воспроизведения, является недоступным клипом, формируется событие DataStarved, чтобы переводить механизм управления воспроизведением и экземпляр JMF-проигрывателя в состояние остановки (этап S29), и затем ожидается возобновление (этапа S30).
Фиг. 15 - это блок-схема последовательности операций способа, показывающая процедуру определения текущего субэлемента воспроизведения. На этапе S31 процедура определяет текущий поток первичного аудио и задает его в SPRM(1). На этапе S32 процедура определяет текущий поток вторичного аудио и задает его в SPRM(14). На этапе S33 процедура определяет текущий поток вторичного видео и задает его в SPRM(21). На этапе S34 процедура определяет текущий поток текстовых субтитров PG и задает его в SPRM(2).
После этого все субэлементы воспроизведения, ссылающиеся, в Clip_Information_file_name, на текущий поток первичного аудио, текущий поток вторичного аудио, текущий поток первичного видео или текущий поток текстовых субтитров PG, задаются в текущем субэлементе воспроизведения.
Фиг. 16 - это блок-схема последовательности операций способа, показывающая процедуру управления AV-клипами с прогрессивными атрибутами.
На этапе S41 выбирается AV-клип, который указывается посредством Clip_Information_file_name в элементе воспроизведения (следующем элементе воспроизведения), который идет следом за текущим элементом воспроизведения. На этапе S41 обнаруживается субэлемент воспроизведения (следующий субэлемент воспроизведения), Sync_PlayItem_Id которого указывает следующий элемент воспроизведения. На этапе S43 выбирается AV-клип, который указывается посредством Clip_Information_file_name в следующем субэлементе воспроизведения и который включает в себя, элементарный поток, соответствующий текущему номеру потока в PSR.
На этапе S44 определяется то, существует ли выбранный AC-клип в локальном устройстве хранения. Когда определено, что выбранный AC-клип отсутствует в локальном устройстве хранения, выбранный AC-клип загружается на этапе S45. Затем на этапе S46 AV-клип, который должен быть удален, выбирается, и определяется то, имеется ли AC-клип, который должен быть удален. Когда определено, что имеется AC-клип, который должен быть удален, AC-клип удаляется на этапе S48. На этапе S49 ожидается изменение текущего элемента воспроизведения или текущего субэлемента воспроизведения. Когда определено, что текущий элемент воспроизведения или текущий субэлемент воспроизведения изменен, определяется то, закончилось ли воспроизведение списка воспроизведения (этап S50). Когда определено, что воспроизведение не закончилось, управление переходит к этапу S41.
Фиг. 17 - это блок-схема последовательности операций способа, показывающая процедуру процесса возобновления воспроизведения после остановки. Этап S61 - это цикл, в котором ожидается получение события DataStarved. Когда событие DataStarved получено, управление переходит к этапу S62, который является циклом ожидания завершения события, на котором ожидается завершение загрузки AV-клипа полученного события DataStarved. На этапе S63 список воспроизведения запускается, чтобы быть воспроизведенным с позиции воспроизведения, в которой получено событие DataStarved. На этапе S64 определяется то, закончилось ли воспроизведение списка воспроизведения.
Далее, взаимосвязи между текущей позицией воспроизведения в AV-клипе и AV-клипом, который является целевым, должны быть загружены.
Фиг. 18 показывает файлы с клипами, которые запрошены, чтобы быть загруженными, когда текущий элемент воспроизведения - это элемент воспроизведения #1, а информация текущего субэлемента воспроизведения - это субэлемент воспроизведения #1 подпути (ID=1). Необходимо, чтобы в локальном устройстве хранения, 00001.m2ts, составляющий текущий элемент воспроизведения, и 20001.m2ts, составляющий информацию текущего субэлемента воспроизведения, оба были в состоянии активности. В этом случае следующим элементом воспроизведения должен быть элемент воспроизведения #2 и информацией следующего субэлемента воспроизведения должен быть субэлемент воспроизведения #2. Следовательно, файлы с клипами, которые должны быть запрошены, чтобы быть загруженными в то время, когда текущий элемент воспроизведения и информация текущего субэлемента воспроизведения воспроизводятся, - это 00002.m2ts, составляющий следующий элемент воспроизведения, и 20002.m2ts, составляющий информацию следующего субэлемента воспроизведения.
Фиг. 19 показывает файлы с клипами, которые запрошены, чтобы быть загруженными, когда текущий элемент воспроизведения - это элемент воспроизведения #2, а информация текущего субэлемента воспроизведения - это субэлемент воспроизведения #2 подпути (ID=1). Необходимо, чтобы в локальном устройстве хранения, 00002.m2ts, составляющий текущий элемент воспроизведения, и 20002.m2ts, составляющий информацию текущего субэлемента воспроизведения, оба были в состоянии активности. В этом случае следующим элементом воспроизведения должен быть элемент воспроизведения #3, и информацией следующего субэлемента воспроизведения должен быть субэлемент воспроизведения #3. Следовательно, файлы с клипами, которые должны быть запрошены, чтобы быть загруженными в то время, когда текущий элемент воспроизведения и информация текущего субэлемента воспроизведения воспроизводятся, - это 00003.m2ts, составляющий следующий элемент воспроизведения, и 20003.m2ts, составляющий информацию следующего субэлемента воспроизведения.
Фиг. 20 показывает файлы с клипами, которые запрошены, чтобы быть загруженными, когда текущий элемент воспроизведения - это элемент воспроизведения #3, а информация текущего субэлемента воспроизведения - это субэлемент воспроизведения #3 подпути (ID=1). Необходимо, чтобы в локальном устройстве хранения, 00003.m2ts, составляющий текущий элемент воспроизведения, и 20003.m2ts, составляющий информацию текущего субэлемента воспроизведения, оба были в состоянии активности. В этом случае следующим элементом воспроизведения должен быть элемент воспроизведения #4, и информацией следующего субэлемента воспроизведения должен быть субэлемент воспроизведения #4. Следовательно, файлы с клипами, которые должны быть запрошены, чтобы быть загруженными в то время, когда текущий элемент воспроизведения и информация текущего субэлемента воспроизведения воспроизводятся, - это 00004.m2ts, составляющий следующий элемент воспроизведения, и 20004.m2ts, составляющий информацию следующего субэлемента воспроизведения.
Когда тип подпути имеет синхронизированный тип, информация текущего субэлемента воспроизведения имеет такую же продолжительность времени воспроизведения, как и текущий элемент воспроизведения. Соответственно, при вышеописанной загрузке, файлы с клипами, составляющие следующий элемент воспроизведения и информацию следующего субэлемента воспроизведения, должны быть загружены в то время, когда текущий элемент воспроизведения воспроизводится.
Скорость передачи битов (скорость передачи битов B), требуемая для загрузки, вычисляется следующим образом.
Скорость передачи битов B =
((размер данных файла с клипами, составляющего следующий элемент воспроизведения) +
(размер данных файла с клипами, составляющего следующий субэлемент воспроизведения))
/ время воспроизведения текущего элемента воспроизведения
Выполнение воспроизведения не прерывается посредством возникновения события DataStarved, до тех пор, пока, как описано выше, AV-клип, на который должен ссылаться следующий элемент воспроизведения, и AV-клип, на который должен ссылаться следующий субэлемент воспроизведения, загружаются в то время, когда текущий элемент воспроизведения и текущий субэлемент воспроизведения воспроизводятся. Это обусловлено тем, что требуемые минимальные AV-клипы сохранены в локальном устройстве хранения.
Как описано выше, согласно настоящему варианту осуществления, когда список воспроизведения, составленный из множества подпутей, должен быть воспроизведен, переменные проигрывателя, указывающие выбранные потоки, вложенные в устройство воспроизведения, указываются ссылкой, и AV-клипы, которые необязательны для воспроизведения, могут быть воспроизведены подряд, даже если загрузка не закончена, тем самым достигая эффективного воспроизведения, подобного потоковому.
<Примечания>
Следующие технические идеи из показанных в варианте осуществления 1 могут дополнительно быть улучшены или модифицированы для реализации. Отметим, что то, следует ли реализовывать их так, как описано в варианте осуществления 1, или реализовывать их после усовершенствования или модификации, является произвольным и должно быть определено разработчиком.
<Предварительная обработка воспроизведения по списку воспроизведения>
При предварительной обработке воспроизведения по списку воспроизведения, приоритет может быть предоставлен загрузке AV-клипа, включающего в себя аудиопоток, имеющий языковой код, написанный на языковом коде для аудиопотока в SPRM(16), и AV-клипа, включающего в себя поток субтитров, имеющий языковой код, написанный на языковом коде для потока субтитров в SPRM(18). Для такого типа структуры могут быть выбраны AV-клипы, которые пользователь, очень вероятно, будет использовать при воспроизведении по списку воспроизведения в качестве целевых объектов для загрузки.
<Параллельное использование с BD-ROM>
В случае основного пути, указывающего основное видео, сохраненное на диске, предпочтительно последовательно выбирать, в порядке близости к текущей позиции воспроизведения, AV-клипы, используемые посредством субэлементов воспроизведения от текущей позиции воспроизведения вперед и включающие в себя поток, соответствующий номеру потока, показанному посредством номера текущего потока первичного аудио SPRM(1), номера потока субтитров SPRM(2), номера потока вторичного видео SPRM(21) или номера потока вторичного аудио SPRM(22).
Поскольку маловероятно, что пользователь изменит субтитры или аудио при просмотре основного видео, этот тип структуры предоставляет возможность воспроизведения списка воспроизведения без необходимости от пользователя ждать.
<Предотвращение прерывания в ходе воспроизведения основного видео>
Следующий процесс может быть подготовлен в BD-J-приложении, чтобы предотвращать возникновение состояния, когда событие DataStarved выдается в то время, когда основное видео воспроизводится, вследствие задержки при загрузке субтитра/аудио/вторичного видео/вторичного аудио, и воспроизведение основного видео временно останавливается. Другими словами, например, когда AV-клип, включающий в себя поток, соответствующий текущему номеру потока первичного аудио в SPRM(1), не находится в состоянии активности, следующее может быть выполнено до того, как субэлемент воспроизведения, включающий в себя AV-клип, достигается: (a) BD-J-приложение записывает, в SPRM(1), специальное значение, указывающее, что "поток не выбран"; или (b) BD-J-приложение записывает SPRM(1) так, чтобы номер потока AV-клипа, который уже находится в состоянии активности или существует на диске, определялся (в данном случае, фиктивное содержимое может быть подготовлено на диске заранее при подготовке к такому случаю). При такой структуре BD-J-приложение может выполнять управление, которое препятствует выдаче события DataStarved. Этот процесс также применим к переключению между потоками, выполняемому посредством пользовательской операции, к примеру, переключению с японского аудио на английское аудио. Со структурой, когда BD-J-приложение предотвращает фактическое осуществление перезаписи переключения потока SPRM(1), можно не допускать временную остановку воспроизведения основного видео.
<Вариант осуществления 2>
Далее приводится описание AV-клипа (XXX.M2TS), файла информации о клипе (XXX.CLPI) и декодера системных целевых объектов.
<Внутренняя структура AV-клипа>
AV-клип - это цифровой поток, имеющий формат транспортного потока MPEG-2.
Фиг. 21 показывает один пример структуры AV-клипа. Как показано на фиг. 21, AV-клип получается посредством мультиплексирования одного или более из видеопотока, аудиопотока, потока презентационной графики (PG) и потока интерактивной графики. Видеопоток представляет первичное видео и вторичное видео фильма. Аудиопоток представляет часть первичного аудио фильма и вторичное аудио, чтобы микшироваться с частью первичного аудио. Поток презентационной графики представляет субтитры для фильма. Первичное видео - это обычное видео, отображаемое на экране. Вторичное видео - это видео, отображаемое на небольшом экране в основном видео. Поток интерактивной графики представляет интерактивный экран, созданный посредством расположения компонентов GUI на экране. Поток в каждом AV-клипе идентифицируется посредством PID. Например, 0x1011 выделяется видеопотоку, используемому в качестве видео фильма, 0x1100-0x111F выделяются аудиопотокам, 0x1200-0x121F выделяются презентационной графике, 0x1400-0x141F выделяются потокам интерактивной графики, 0x1B00-0x1B1F выделяются видеопотокам, используемым в качестве вторичного видео фильма, и 0x1A00-0x1A1F выделяются аудиопотокам, используемым в качестве вторичного аудио, микшируемого с основным аудио.
<Мультиплексирование AV-клипов>
Фиг. 22 схематично показывает то, как AV-клипы мультиплексируются. Сначала видеопоток и аудиопоток (первая строка) соответственно преобразуются в последовательности PES-пакетов (вторая строка) и дополнительно преобразуются в последовательности TS-пакетов соответственно (третья строка). Аналогично поток презентационной графики и поток интерактивной графики (седьмая строка) преобразуются в последовательности PES-пакетов соответственно (элементарные потоки), и дополнительно преобразуются в последовательности TS-пакетов соответственно (пятая строка). AV-клип (четвертая строка) состоит из этих TS-пакетов, мультиплексированных в одном потоке.
Фиг. 23 подробнее иллюстрирует то, как видеопоток сохраняется в последовательностях PES-пакетов. Первая строка показывает последовательность видеокадров видеопотока. Вторая строка показывает последовательность PES-пакетов. Третья строка показывает последовательность TS-пакетов, полученную посредством преобразования последовательности PES-пакетов. Как показано посредством стрелок yy1, yy2, yy3 и yy4, видеопоток состоит из множества единиц видеопредставления (I-изображение, B-изображение, P-изображение). Видеопоток делится на отдельные изображения, и каждое изображение сохраняется в рабочих данных PES-пакета. Каждый PES-пакет имеет PES-заголовок, сохраняющий PTS (временная метка представления), которая является временем отображения изображения, сохраненного в рабочих данных PES-пакета, и DTS (временная метка декодирования), которая является временем декодирования изображения, сохраненного в рабочих данных PES-пакета.
<Последовательность TS-пакетов>
Фиг. 24 показывает формат TS-пакетов, в итоге записываемых в AV-клип. Первая строка показывает последовательность TS-пакетов. Вторая строка показывает последовательность исходных пакетов. Третья строка показывает AV-клип.
Как показано в первой строке, каждый TS-пакет является пакетом фиксированной длины, состоящим из 4-байтового TS-заголовка, переносящего такую информацию, как PID, идентифицирующий поток, и 184-байтовых рабочих данных TS, сохраняющих данные. PES-пакеты делятся и сохраняются в рабочих данных TS.
Как показано во второй строке, каждому TS-пакету присваивается 4-байтовый TP_Extra_Header, тем самым составляя 192-байтовый исходный пакет. Такие 192-байтовые исходные пакеты записываются в AV-клипе. TP_Extra_Header хранит такую информацию, как ATS (Arrival_Time_Stamp). ATS показывает время начала передачи, в которое TS-пакет должен быть передан в PID-фильтр. Исходные пакеты размещаются в AV-клипе так, как показано на третьей строке. Номера, возрастающие с заголовка AV-клипа, называются SPN (номерами исходных пакетов).
В дополнение к TS-пакетам аудио, видео, субтитров и т.п., AV-клип также включает в себя TS-пакеты PAT (таблица ассоциаций программ), PMT (таблица структуры программ) и PCR (временная отметка программ). PAT показывает PID PMT, используемой в AV-клипе, и регистрируется в соответствии с самой компоновкой PID PAT. PMT сохраняет PID в потоках видео, аудио, субтитров и т.п. и информацию атрибутов, соответствующих PID. PMT также имеет различные дескрипторы, касающиеся AV-клипа. Дескрипторы имеют такую информацию, как информация управления копированием, показывающая то, разрешено или не разрешено копирование AV-клипа. PCR хранит информацию времени STC, соответствующую ATS, показывающей то, когда пакет PCR передается в декодер, чтобы достигать синхронизации между ATC (таймер поступления), который является временной осью ATS, и STC (системный таймер), который является временной осью PTS и DTS.
Фиг. 25 подробно поясняет структуру данных PMT. PMT-заголовок располагается в верхней части PMT. Информация, записанная в PMT-заголовке, включает в себя длину данных, включенных в PMT, к которому присоединен PMT-заголовок. Множество дескрипторов, касающихся AV-клипа, располагаются после PMT-заголовка. Информация, такая как описанная информация управления копированием, перечисляется в дескрипторах. После дескрипторов идет множество фрагментов информации потоков (информация потоков #1-#N), касающихся потоков, включенных в AV-клип. Каждый фрагмент информации потоков состоит из дескрипторов потоков, каждый из которых перечисляет такую информацию, как тип потока для идентификации кодека сжатия потока, PID потока или информация атрибутов потока (такая как частота кадров или соотношение сторон). Дескрипторы потоков по числу равны числу потоков в AV-клипе. До сих пор пояснялся AV-клип. Далее подробно описывается файл информации о клипе.
<Файл информации о клипе>
Фиг. 26 показывает один пример файла информации о клипе. Каждый файл информации о клипе - это управляющая информация для AV-клипа. Файлы информации о клипах находятся в соответствии "один-к-одному" с AV-клипами и каждый составлен из информации атрибутов потока и карты вхождений.
Фиг. 27 показывает один пример информации атрибутов потока. Как показано на фиг. 27, фрагмент информации атрибутов регистрируется для каждого PID каждого потока в AV-клипе. Каждый фрагмент информации атрибутов имеет различную информацию в зависимости от того, является ли соответствующий поток видеопотоком, аудиопотоком, потоком презентационной графики или потоком интерактивной графики.
Каждый фрагмент "информации атрибутов видеопотока" переносит информацию, включающую в себя то, с каким кодеком сжатия сжат видеопоток, а также разрешение, соотношение сторон и частоту кадров фрагментов данных изображений, которые составляют видеопоток.
Каждый фрагмент "информации атрибутов аудиопотока" переносит информацию, включающую в себя то, с каким кодеком сжатия сжат аудиопоток, сколько каналов включено в аудиопоток, сколько языков поддерживает аудиопоток, а также частоту дискретизации. Информация в информации атрибутов видеопотока и информации атрибутов аудиопотока используется в таких целях, как инициализация декодера до того, как проигрыватель выполняет воспроизведение.
Фиг. 28 показывает один пример карты вхождений.
Как показано на фиг. 28, карта вхождений - это информация в табличной форме, перечисляющая PTS и SPN. Каждая PTS показывает время отображения внутрикадрово кодированного изображения (в дальнейшем называемого I-изображением) в видеопотоке AV-клипа. Каждый SPN - это SPN AV-клипа, в начале которого находится I-изображение.
Здесь пара PTS и SPN, показанных в одной в таблице, называется точкой входа. Каждая точка входа имеет идентификатор точки входа (в дальнейшем также называемый EP_ID). Начиная с верхней точки входа, которая имеет идентификатор точки входа "0", точки входа имеют последовательно увеличивающиеся идентификаторы точек входа. Используя карту вхождений, проигрыватель может указывать местоположение файла AV-клипа, соответствующего произвольной точке на оси воспроизведения видеопотока. Например, при выполнении специального воспроизведения, такого как ускоренная перемотка вперед или ускоренная перемотка назад, проигрыватель может выполнять обработку эффективно без анализа AV-клипов посредством указания, выбора и воспроизведения I-изображения, зарегистрированного в карте вхождений. Карта вхождений создается для каждого видеопотока, мультиплексированного в AV-клипе. Карты вхождений управляются согласно PID.
До сих пор пояснялись AV-клип и файл информации о клипе. Далее подробно описывается декодер 13 системных целевых объектов.
Фиг. 29 показывает один пример внутренней структуры декодера 13 системных целевых объектов. Как показано на фиг. 29, декодер 13 системных целевых объектов состоит из модулей 32a и 32b депакетирования источников, PID-фильтров 33a и 33b, декодера 34 первичного видео, плоскости 35 первичного видео, декодера 36 вторичного видео, плоскости 37 вторичного видео, PG-декодера 38, PG-плоскости 39, IG-декодера 40, IG-плоскости 41, декодера 42 первичного аудио, декодера 43 вторичного аудио, аудиомикшера 44, BD-J-процессора 45, BD-J-плоскости 46 и сумматора 47.
Модуль 32a, 32b депакетирования источников интерпретирует исходный пакет, передаваемый в декодер 13 системных целевых объектов, извлекает TS-пакет и отправляет TS-пакет в PID-фильтр. При отправке TS-пакета модуль депакетирования источников регулирует время ввода в декодер в соответствии с ATS исходного пакета. Более конкретно, модуль депакетирования источников передает TS-пакет в средство работы с файлами PID согласно скорости записи AV-клипа в момент, когда значение ATC, сформированного посредством счетчика ATC, и значение ATS исходного пакета становятся идентичными.
PID-фильтры 33a и 33b передают TS-пакеты, выводимые от модулей депакетирования источников. Более конкретно, PID-фильтры передают TS-пакеты, имеющие PID, который совпадает с PID, требуемым для воспроизведения, в декодер первичного видео, декодер вторичного видео, IG-декодер, PG-декодер, аудиодекодер или декодер вторичного аудио, в зависимости от PID TS-пакета. Например, в случае BD-ROM, TS-пакет, имеющий PID 0x1011, передается в декодер первичного видео, TS-пакеты, имеющие PID 0x1B00-0x1B1F, передаются в декодер вторичного видео, TS-пакеты, имеющие PID 0x1100-0x111F, передаются в декодер первичного аудио, TS-пакеты, имеющие PID 0x1A00-0x1A1F, передаются в декодер вторичного аудио, TS-пакеты, имеющие PID 0x1200-0x121F, передаются в PG-декодер, а TS-пакеты, имеющие PID 0x1400-0x141F, передаются в IG-декодер.
Как показано на фиг. 28, устройство воспроизведения имеет два модуля депакетирования источников и два PID-фильтра. Один набор из модуля депакетирования источников и PID-фильтра обрабатывает AV-клип, передаваемый из буфера 11 считывания, а другой набор обрабатывает AV-клип, передаваемый из буфера 12 считывания. Когда тип подпути - это синхронизированный тип, воспроизведение выполняется с синхронизацией между AV-клипом, на который выполняется ссылка из основного пути, и AV-клипом, на который выполняется ссылка из подпути. Когда тип подпути - это несинхронизированный тип, воспроизведение выполняется без синхронизации между AV-клипом, на который выполняется ссылка из основного пути, и AV-клипом, на который выполняется ссылка из подпути.
Декодер 34 первичного видео имеет буфер. При накоплении данных в буфере, декодер первичного видео извлекает информацию, такую как TS-заголовок и PES-заголовок, извлекает изображение в кодированном состоянии (I-изображение, B-изображение, P-изображение) и декодирует изображение каждого кадра в видеопотоке в соответствующие заранее определенные моменты времени декодирования (DTS). Как результат этих операций, декодер первичного видео создает множество изображений кадров. Декодер первичного видео выводит изображения кадров в плоскость 35 первичного видео согласно соответствующим временам отображения (PTS). Возможные форматы кодирования со сжатием видеопотока, мультиплексированного в AV-клипе, включают в себя MPEG2, MPEG4AVC и VC1, и соответственно схема декодирования, используемая для того, чтобы декодировать сжатое видео, изменяется в соответствии с атрибутами потока.
Плоскость 35 первичного видео сохраняет изображения кадров, полученные посредством декодера 34 первичного видео.
Декодер 36 вторичного видео, имеющий такую же структуру, как плоскость 35 первичного видео, выполняет декодирование входного потока вторичного видео и записывает результирующие изображения плоскости вторичного видео согласно соответствующим временам отображения (PTS).
Плоскость 37 вторичного видео сохраняет изображения кадров, полученные посредством декодера 36 вторичного видео.
PG-декодер 38 извлекает и декодирует поток презентационной графики из TS-пакетов, вводимых из модулей депакетирования источников, и записывает результирующие несжатые графические данные в PG-плоскость согласно соответствующим временам отображения (PTS).
PG-плоскость 39 сохраняет несжатые графические данные.
IG-декодер 40 извлекает и декодирует поток интерактивной графики из TS-пакетов, вводимых из модулей депакетирования источников, и записывает результирующие несжатые графические данные в IG-плоскость согласно соответствующим временам отображения (PTS).
IG-плоскость 41 сохраняет несжатые графические данные.
Декодер 42 первичного аудио имеет буфер. При накоплении данных в буфере, декодер первичного аудио извлекает информацию, такую как TS-заголовок и PES-заголовок, и выполняет обработку декодирования аудиопотока, чтобы получать несжатые аудиоданные LPCM-состояния. Декодер первичного аудио выводит полученные аудиоданные в аудиомикшер согласно соответствующему времени воспроизведения (PTS). Возможные форматы кодирования со сжатием аудиопотока, мультиплексированного в AV-клипе, включают в себя AC3 и DTS, и поэтому схема декодирования, используемая для того, чтобы декодировать сжатое аудио, изменяется в соответствии с атрибутами потока.
Декодер 43 вторичного аудио имеет такую же структуру, как декодер первичного аудио. Декодер вторичного аудио выполняет декодирование входного потока вторичного аудио и выводит результирующие несжатые аудиоданные LPCM-состояния в аудиомикшер согласно соответствующим временам отображения. Возможные форматы кодирования со сжатием аудиопотока, мультиплексированного в AV-клипе, включают в себя DolbyDigitalPlus и DTS-HD LBR, и поэтому схема декодирования, используемая для того, чтобы декодировать сжатое аудио, изменяется в соответствии с атрибутами потока.
Аудиомикшер 44 микширует (накладывает) несжатые аудиоданные, выводимые из декодера первичного аудио, и несжатые аудиоданные, выводимые из декодера вторичного аудио, друг с другом и выводит результирующие аудио на динамик и т.п.
BD-J-процессор 45 декодирует графические данные (в формате PNG или JPEG), передаваемые из модуля выполнения BD-J, и выводит результирующие декодированные графические данные в BD-J-плоскость в соответствии со временем отображения, отмеченным посредством BD-J-приложения.
BD-J-плоскость 46 сохраняет графические данные, декодированные посредством BD-J-процессора 45.
Сумматор 47 незамедлительно накладывает данные, записанные в плоскость первичного видео, данные, записанные в плоскость вторичного видео, данные, записанные в IG-плоскость, данные, записанные в PG-плоскость, и данные, записанные в BD-J-плоскость, и отображает результирующие наложенные данные на экране телевизионного приемника и т.п.
Как описано выше, настоящий вариант осуществления достигает внутренней структуры в соответствии с моделью BD-ROM-проигрывателя так, чтобы списки воспроизведения могли быть воспроизведены.
<Вариант осуществления 3>
В настоящем варианте осуществления приводится описание подробной структуры данных информации списка воспроизведения, а также того, как определять текущий поток вторичного видео.
Фиг. 30 иллюстрирует структуру данных информации PlayList. Как показано на фиг. 30, информация PlayList включает в себя: информацию MainPath (MainPath()), которая задает MainPath (основной путь); и информацию SubPath (SubPath()), которая задает SubPath (подпуть).
<Пояснение 1 к информации PlayList: информация SubPath>
Тогда как MainPath - это путь воспроизведения, заданный для MainClip, являющегося первичным видео, SubPath - это путь воспроизведения, заданный для SubClip, который должен быть синхронизирован с MainPath.
Фиг. 31 показывает с детализацией внутреннюю структуру информации подпути. Как указано посредством стрелки hc0, каждый SubPath включает в себя: SubPath_type, который указывает тип SubClip; и один или более фрагментов информации SubPlayItem (SubPlayItem()).
Соединительная линия hc1 указывает детализацию структуры информации SubPlayItem.
SubPlayItem задает один или более путей воспроизведения элементарных потоков, которые являются отдельными от MainPath, и используется для того, чтобы указывать тип того, как SubPath синхронизируется с MainPath. Когда SubPlayItem использует подпуть первичного аудио/PG/IG/вторичного аудио/вторичного видео, SubPlayItem синхронизируется с MainPath, который использует PlayItem в PlayList. Элементарный поток, используемый посредством подпути для воспроизведения элементарного потока, мультиплексируется в клипе (а именно, SubClip), который отделен от MainClip, который используется посредством PlayItem на стороне MainPath.
Далее описывается внутренняя структура SubPlayItem. Как указывает соединительная линия hc1 на фиг. 31, информация SubPlayItem включает в себя: Clip_information_file_name, Clip_codec_identifier, ref_to_STC_id[0], SubPlayItem_In_time, SubPlayItem_Out_time, Sync_PlayItem_id и Sync_Start_PTS_of_PlayItem.
Clip_information_file_name - это информация, которая уникально указывает SubClip, который соответствует SubPlayItem, посредством записи имени файла информации о клипе.
Clip_codec_identifier указывает способ кодирования AVClip.
Ref_to_STC_id[0] уникально указывает STC_Sequence, которая является целевым объектом PlayItem.
SubPlayItem_In_time является информацией, которая указывает начальную точку SubPlayItem на оси времени воспроизведения SubClip.
SubPlayItem_Out_time является информацией, которая указывает конечную точку SubPlayItem на оси времени воспроизведения SubClip.
Sync_PlayItem_id - это информация, которая уникально указывает, из PlayItem, составляющих MainPath, PlayItem, с которым должен синхронизироваться SubPlayItem. SubPlayItem_In_time присутствует на оси времени воспроизведения PlayItem, указанного посредством sync_PlayItem_id.
Sync_Start_PTS_of_PlayItem указывает позицию начальной точки SubPlayItem, указанного посредством SubPlayItem_In_time, на оси времени воспроизведения PlayItem, указанного посредством Sync_PlayItem_id, с точностью времени в 45 кГц. Когда Sync_Start_PTS_of_PlayItem для SubPlayItem указывает точку времени на оси времени воспроизведения PlayItem, SubPlayItem достигает "изображения "картинка в картинке" с синхронизацией".
Кроме того, неопределенное значение (0xFFF) может быть задано в Sync_Start_PTS_of_PlayItem. Это неопределенное значение указывает, что момент времени, в который операция блокировки выполнена пользователем, задается как момент времени синхронизации (синхронизации), в который выполняется синхронизация с PlayItem, указанным посредством Sync_PlayItem_id. Когда неопределенное значение задано в Sync_Start_PTS_of_PlayItem, и SubPlayItem должен воспроизводить поток вторичного видео, SubPlayItem достигает "изображения "картинка в картинке" без синхронизации". На этом завершается пояснение информации SubPath.
<STN_table>
Уникальной для информации PlayList является STN_Table.
STN_table - это таблица, которая указывает воспроизводимые потоки из множества элементарных потоков, мультиплексированных в AVClip, указанных посредством Clip_Information_file_name в информации PlayItem, и из потоков Out_of_MUX, указанных посредством Clip_Information_file_name в информации. Более конкретно, STN_table формируется посредством ассоциирования Stream_attribute с Stream_entry соответственно соответствующими множеству элементарных потоков, мультиплексированных в MainClip, и с потоками Out_of_MUX, мультиплексированными в SubClip.
Фиг. 32 показывает один пример всей структуры STN_table. Фиг. 33 показывает один пример Stream_entry для потока вторичного видео в качестве части всей структуры STN_table, показанной на фиг. 32. Как показано на фиг. 33, STN_table включает в себя n фрагментов Secondary_video_stream_entry (Secondary_video_Stream_entry[1]-Secondary_video_Stream_entry[n]) и number_of_Secondary_video_stream_entry(=n), которое указывает число потоков вторичного видео.
Соединительная линия hs1 указывает детализацию внутренней структуры Secondary_video_Stream_entry[1]. Другими словами, Secondary_video_Stream_entry[1]-Secondary_video_Stream_entry[n] являются множеством экземпляров, которые сформированы из одной структуры класса и имеют такую же внутреннюю структуру, как и указанная посредством соединительной линии hs1. Номер в "[]", который присоединяется к каждому Secondary_video_Stream_entry, указывает порядок ранга в STN_table.
Как указано посредством соединительной линии hs1, Secondary_video_Stream_entry[1] включает в себя: Stream_entry, который представляет, в устройство воспроизведения, PID, соответствующий номеру потока вторичного видео (=1); Stream_attribute, который указывает видеоатрибут, соответствующий номеру потока вторичного видео (=1); Comb_info_Secondary_Video_Secondary_Audio, который указывает поток вторичного аудио, который становится воспроизводимым, когда номер потока вторичного видео (=1) задан; и Comb_info_Secondary_Video_PiP_PG_textST, который указывает поток PG или поток текстовых субтитров, который становится воспроизводимым, когда номер потока вторичного видео (=1) задан.
Как указано посредством соединительной линии hs2, Secondary_video_Stream_entry[2] включает в себя: Stream_entry, который представляет, в устройство воспроизведения, PID, соответствующий номеру потока вторичного видео (=2); Stream_attribute, который указывает видеоатрибут, соответствующий номеру потока вторичного видео (=2); Comb_info_Secondary_Video_Secondary_Audio, который указывает поток вторичного аудио, который становится воспроизводимым, когда номер потока вторичного видео (=2) задан; и Comb_info_Secondary_Video_PiP_PG_textST, который указывает поток PG или поток текстовых субтитров, который становится воспроизводимым, когда номер потока вторичного видео (=2) задан.
Структура, указанная посредством соединительной линии hs3, аналогична вышеописанной. Как описано выше, Secondary_video_Stream_entry[x], который позиционируется x-той в STN_table, представляет, в устройство воспроизведения, когда номер потока вторичного видео задан равным "x", PID, соответствующий номеру потока вторичного видео (=x), видеоатрибут, соответствующий номеру потока вторичного видео (=x), и поток вторичного аудио и PGTextST, который может быть комбинирован с ним.
Потоки, представляющие субтитры, включают в себя, так же как и поток презентационной графики, который описан в вариантах осуществления, поток текстовых субтитров, представленный посредством текстового кода. Поток текстовых субтитров PG, используемый здесь, является именем, сформированным посредством комбинирования потока презентационной графики и потока текстовых субтитров. Кроме того, поток текстовых субтитров PG, используемый в изображении "картинка в картинке", называются "потоком субтитров PiP_PG_text".
Фиг. 34A показывает один пример Stream_entry и Stream_attribute в потоке первичного видео. Stream_entry включает в себя ref_to_stream_PID_of_mainClip, который указывает идентификатор пакета PES-пакета, который составляет поток первичного видео.
Stream_attribute включает в себя: Video_format, который указывает способ отображения видеопотока; и frame_rate, который указывает частоту отображения видеопотока.
Фиг. 34B показывает Stream_entry в потоке вторичного видео. Как показано на фиг. 34B, Stream_entry потока вторичного видео включает в себя: ref_to_Sub_Path_id, который указывает информацию SubPath, которая ссылается на поток вторичного видео; и ref_to_stream_PID_of_mainClip, который указывает идентификатор пакета PES-пакета, который составляет поток вторичного видео.
На этом завершается описание носителя записи в настоящем варианте осуществления.
Далее описываются PSR14 и PSR29. Каждый PSR имеет длину в 32 бита. Позиции битов, составляющих одно слово (32 бита) PSR, представляются посредством b0-b31. В этой системе обозначений старший бит - это b31, а младший бит - это b0.
<PSR14>
Фиг. 35A показывает один пример распределения битов в PSR14.
Как показано на фиг. 35A, восемь битов от b8 до b15 из 32 битов PSR14 представляют номер потока номера для потока вторичного видео и идентифицируют один из множества потоков вторичного видео, записи которых записаны в STN_table текущего PlayItem. Когда набор значений в PSR14 изменяется, устройство воспроизведения воспроизводит поток вторичного видео, соответствующий заданному значению после изменения. PSR14 задается равным "0xFF" в качестве начального значения и затем может задаваться равным значению в пределах от "1" до "32" посредством устройства воспроизведения. Значение "0xFF" является неопределенным значением и указывает, что нет потока вторичного видео или что поток вторичного видео не выбран. Когда PSR14 задается равным значению в пределах от "1" до "32", заданное значение интерпретируется как номер потока для потока вторичного видео.
Бит "b31" PSR14 - это disp_v_flag, который указывает, имеет устройство воспроизведения возможность воспроизводить вторичное видео (1b - представление вторичного видео активировано) или нет (0b - представление вторичного видео отключено).
<PSR29>
Фиг. 35B показывает один пример распределения битов в PSR29.
Бит "b0" PSR29 указывает, имеется или нет HD_Secondary_video_Capability, а именно, имеет устройство воспроизведения возможность воспроизводить HDTV-совместимое вторичное видео (1b - вторичное видео поддерживается) или нет (0b - вторичное видео не поддерживается).
Бит "b1" PSR29 указывает, имеется или нет 50&25Hz_video_Capability, а именно, имеет устройство воспроизведения возможность воспроизводить PAL-совместимое вторичное видео (1b - видео в формате 50×25 Гц поддерживается) или нет (0b - видео в формате 50×25 Гц не поддерживается).
На этом завершается пояснение PSR-набора.
Фиг. 36 показывает один пример внутренней структуры механизма управления воспроизведением. Как показано на фиг. 36, механизм управления воспроизведением включает в себя модуль 48 выполнения процедур и модуль 49 преобразования PID.
Модуль 48 выполнения процедур выполняет заранее определенную процедуру выбора потока, чтобы перезаписывать PSR14 с номером потока для нового потока вторичного видео, когда фрагмент информации элемента воспроизведения переключается на другой фрагмент информации PlayItem или когда пользователь выполняет операцию для переключения номера потока. Устройство воспроизведения воспроизводит поток вторичного видео в соответствии с номером потока, записанным в PSR14. Соответственно, поток вторичного видео выбирается через настройку в PSR14.
Причина для выполнения процедуры выбора потока, когда информация PlayItem переключается, следующая. Другими словами, поскольку STN_table существует для каждого фрагмента информации PlayItem, может иметь место то, что поток вторичного видео не воспроизводится с фрагментом информации PlayItem в то время, как он воспроизводится с другим фрагментом информации PlayItem.
Модуль 49 преобразования PID преобразует номер потока, сохраненный в PSR-наборе, в опорное значение PID на основе STN_table и отправляет опорное значение PID в результате преобразования в PID-фильтры 33a и 33b.
Фиг. 37 - это блок-схема последовательности операций способа, показывающая процедуру для определения текущего потока вторичного видео, выполняемого посредством процедуры выбора потока.
На этапе S71 проверяется то, удовлетворяет ли поток вторичного видео с номером потока, который эквивалентен номеру, заданному в PSR14, следующим условиям (A) и (B).
Условие (A): устройство воспроизведения имеет возможность воспроизведения потока вторичного видео с номером потока, который эквивалентен номеру, заданному в PSR14, на основе сравнения между Video_format, frame_rate, HD_Secondary_Video_Capability и 50&25Hz_Video_Capability.
Условие (B): SubPath_type потока вторичного видео "=6 (изображение "картинка в картинке" без синхронизации)".
Здесь следует отметить, что Video_format, frame_rate записываются в stream_attribute для потока вторичного видео в STN_table. Кроме того, имеется или нет HD_Secondary_video_Capability или 50&25Hz_video_Capability указывается посредством бита "b0" и "b1" PSR29. Определение того, удовлетворяется ли условие (A), осуществляется посредством обращения к этим настройкам в STN_table и значения b1 в PSR29.
После этапа S71 выполняются этапы S72 и S73.
На этапе S72 определяется то, равно ли число записей потоков вторичного видео в STN_table текущего элемента воспроизведения 0. Здесь следует отметить, что когда число записей потоков вторичного видео в STN_table равно 0, это означает, что нет потока вторичного видео, которому разрешено быть воспроизведенным. Когда определено, что число записей потоков вторичного видео в STN_table текущего элемента воспроизведения равно 0, номер потока вторичного видео в PSR14 сохраняется (этап S73). Это обусловлено тем, что значение, в настоящий момент сохраненное в PSR14, должно быть сохранено, когда в текущем элементе воспроизведения нет потока вторичного видео, которому разрешено воспроизведение.
Этап S74 - это этап определения, который выполняется, когда на этапе S73 определено то, что число записей потоков вторичного видео в STN_table текущего элемента воспроизведения не равно 0. На этапе S74 определяется то, является ли номер потока вторичного видео в PSR14 равным или меньше общего числа записей в STN_table и удовлетворяет ли поток вторичного видео с номером потока условию (A). Когда определение на этапе S74 имеет результатом "Да", поток вторичного видео, который является оптимальным для текущего элемента воспроизведения, выбирается (этап S75).
Когда определение на этапе S74 имеет результатом "Нет", управление переходит к этапу S76, на котором определяется то, удовлетворяется ли условие (B). Когда определено, что условие (B) удовлетворяется, 0xFE задается в PSR14 (этап S78). Здесь значение 0xFE указывает, что номер потока вторичного видео в PSR14 является допустимым, но что поток вторичного видео не выбран. При выполнении изображения "картинка в картинке" без синхронизации, когда PSR14 задан равным вышеописанному значению, процедура для определения текущего потока выполняется после приема пользовательской операции для этого. Тем не менее, если номер потока в PSR14 является недопустимым, процедура для определения текущего потока не выполняется, даже если пользовательская операция принимается, и поток вторичного видео не воспроизводится. Чтобы не допускать этого, 0xFE задается в PSR14, когда изображение "картинка в картинке" без синхронизации выполняется.
Когда определено, что условие (B) не удовлетворяется, но фактический номер потока вторичного видео уже установлен в PSR14, число не изменяется (этап S77).
На этом завершается пояснение процедуры выбора потока для потока вторичного видео.
Фиг. 38 - это блок-схема последовательности операций способа, показывающая процедуру для определения оптимального потока вторичного видео для текущего элемента воспроизведения.
На этапах S81-S83 проверяется то, для каждого потока, записанного во всех stream_entry в STN_table, удовлетворяет ли поток следующим условиям (a) и (b).
Условие (a): устройство воспроизведения имеет возможность воспроизведения потока вторичного видео с номером потока, который эквивалентен номеру, заданному в PSR14, на основе сравнения между Video_format, frame_rate, HD_Secondary_Video_Capability и 50&25Hz_Video_Capability для потока вторичного видео.
Условие (b): SubPath_type потока вторичного видео "=6 (изображение "картинка в картинке" без синхронизации)".
После того как вышеописанная проверка выполнена относительно всех потоков вторичного видео, которым разрешено быть воспроизведенными в STN_table, управление переходит к этапу S84.
На этапе S84 определяется то, есть или нет поток вторичного видео, который удовлетворяет условию (a). Когда определено, что нет потока вторичного видео, который удовлетворяет условию (a), 0xFF задается в PSR14 в качестве номера потока вторичного видео (этап S85).
Когда определено, что, по меньшей мере, один поток вторичного видео, который удовлетворяет условию (a), существует, управление переходит к этапу S86. На этапе S86 определяется то, удовлетворяет ли верхний поток вторичного видео в STN_table из потоков вторичного видео, удовлетворяющих условию (a), условию (b). Когда определено, что верхний поток вторичного видео удовлетворяет условию (b), 0xFE задается в PSR14 в качестве номера потока вторичного видео (этап S87).
Когда определено, что верхний поток вторичного видео не удовлетворяет условию (b), поток вторичного видео, соответствующий Stream_entry которого находится в верхней части STN_table, выбирается из числа потоков вторичного видео, которые удовлетворяют условию (a), и номер потока выбранного потока вторичного видео задается в PSR14 (этап S88).
При такой структуре, когда секция воспроизведения в текущем потоке вторичного видео задается посредством SubPlayItem, субэлемент воспроизведения, который задает секцию воспроизведения в текущем потоке вторичного видео, идентифицируется как текущий субэлемент воспроизведения.
При этих процедурах текущий поток вторичного видео, который является оптимальным для текущего элемента воспроизведения, сохраняется в PSR14. На этом завершается пояснение процедур для выбора оптимального текущего потока вторичного видео.
Как описано выше, согласно настоящему варианту осуществления, когда имеется поток вторичного видео, который не может быть воспроизведен, из множества потоков вторичного видео, записанных в BD-ROM или локальном устройстве хранения, выбирается следующий поток. Это предоставляет вариант для "использования потока, который может быть воспроизведен посредством самого устройства, в изображении "картинка в картинке"". При такой структуре, когда полный размер вторичного видео варьируется, и имеется изменение в том, имеет ли устройство воспроизведения возможность воспроизводить вторичное видео, можно заставить устройство воспроизведения отображать какое-либо вторичное видео и осуществлять изображение "картинка в картинке".
Когда на AV-клип, который включает в себя поток вторичного видео, соответствующий вторичному видео, выбранному вышеописанным способом, ссылается второй субэлемент воспроизведения, воспроизведение прерывается, если AV-клип является недоступным клипом. Следовательно, посредством загрузки во времени AV-клипа, который включает в себя текущий поток вторичного видео и указывается ссылкой посредством информации субэлемента воспроизведения, можно не допускать прерывания воспроизведения и обеспечивать плавное выполнение воспроизведения.
<Вариант осуществления 4>
Настоящий вариант осуществления относится к усовершенствованию в случае, если список воспроизведения, который должен быть воспроизведен, является списком воспроизведения для стереоскопического изображения.
Стереоскопический просмотр достигается с использованием технологии голографии или применения параллактического изображения.
Первый способ в технологии голографии, отличается в том, что она позволяет воспроизводить объект трехмерно таким же образом, как человек обычно распознает объект, и что в отношении формирования видео, хотя она признана технологической теорией, она требует (i) компьютера, который может выполнять большой объем вычислений для того, чтобы формировать видео для голографии в режиме реального времени, и (ii) дисплейное устройство, имеющее разрешение, при котором несколько тысяч линий могут быть начерчены на отрезке 1 мм. Для текущей технологии чрезвычайно трудно реализовывать такой продукт, и тем самым коммерческий продукт фактически не разработан.
С другой стороны, второй способ, использующий параллактическое изображение, имеет преимущество в том, что стереоскопический просмотр может быть реализован только посредством подготовки изображений к просмотру правым глазом и левым глазом. Несколько технологий, включающих в себя способ последовательной сегрегации, разработаны для практического использования с точки зрения того, как заставить каждый из правого глаза и левого глаза просматривать только изображения, ассоциируемые с ним.
Чтобы достигать стереоскопического просмотра, в варианте осуществления 1 описывается система домашнего кинотеатра, которая включает в себя устройство воспроизведения и телевизионный приемник, а также включает в себя стереоочки последовательного типа.
Фиг. 39A-39E показывают один пример стереоочков последовательного типа. Фиг. 39A показывает систему домашнего кинотеатра, которая предоставляет стереоскопический просмотр. Как показано на фиг. 39A, система домашнего кинотеатра включает в себя стереоочки 105 последовательного типа в качестве аксессуара к телевизионному приемнику 104.
Фиг. 39B показывает стереоочки 105 последовательного типа в состоянии, когда их носит пользователь. Стереоочки 105 последовательного типа оснащены жидкокристаллическим затвором, который предоставляет возможность пользователю просматривать параллактическое изображение способом последовательной сегрегации. Здесь параллактическое изображение - это изображение, которое состоит из пары изображений: (i) изображения, которое поступает только в правый глаз, и (ii) изображение, которое поступает только в левый глаз, так что изображения соответственно ассоциированные правыми и левыми глазами соответственно поступают в ассоциированные глаза, тем самым достигая стереоскопического просмотра.
Отметим, что способ последовательной сегрегации - это способ, при котором изображения для левого глаза и правого глаза поочередно отображаются в направлении временной оси так, что левые и правые сцены накладываются в мозге за счет эффекта постизображений глаз, и наложенное изображение распознается как стереоскопическое изображение. Фиг. 39C показывает стереоочки 105 последовательного типа в состоянии использования для просмотра плоского изображения. Когда плоское изображение должно быть просмотрено, жидкокристаллические затворы для обоих глаз переводятся в состояние пропускания света. Фиг. 39D показывает стереоочки 105 последовательного типа в состоянии использования для просмотра левым глазом. В момент, когда изображение для просмотра левым глазом отображается на дисплее, жидкокристаллический затвор стереоочков 105 последовательного типа для левого глаза переводится в состояние пропускания света, и жидкокристаллический затвор для правого глаза переводится в состояние блокирования света. Фиг. 39E показывает стереоочки 105 последовательного типа в состоянии использования для просмотра правым глазом. В момент, когда изображение для просмотра левым глазом отображается на дисплее, жидкокристаллический затвор стереоочков 105 последовательного типа для правого глаза переводится в состояние пропускания света, и жидкокристаллический затвор для левого глаза переводится в состояние блокирования света.
В способе последовательной сегрегации, изображения для левого глаза и правого глаза поочередно отображаются в направлении временной оси. Поэтому в то время как 24 кадра изображений в секунду отображаются в случае обычного двумерного фильма, общее количество в 48 кадров изображений для правого и левого глаз должно отображаться в секунду. Соответственно, этот способ является подходящим для дисплеев, которые могут обновлять экран на относительно высокой скорости, но этот способ может быть применен к любым дисплеям, которые могут обновлять экран заранее определенное число раз в секунду.
В отличие от способа последовательной сегрегации, в котором изображения для левого глаза и правого глаза поочередно отображаются в направлении временной оси, предусмотрен другой способ, в котором изображения для левого и правого глаз совмещаются вертикально на экране одновременно, и ступенчатая линза воспроизводится на поверхности дисплея так, что пикселы, составляющие изображение для левого глаза, формируют изображение только в левом глазу, а пикселы, составляющие изображение для правого глаза, формируют изображение только в правом глазу. Это предоставляет возможность левому и правому глазу видеть соответственно изображения, которые имеют параллакс, тем самым реализуя стереоскопический просмотр. Отметим, что этот способ достигается не только посредством ступенчатой линзы, но и посредством другого устройства, имеющего аналогичную функцию, такого как жидкокристаллический элемент. Кроме того, стереоскопический просмотр также может быть реализован посредством системы, в которой вертикальный поляризационный фильтр задается для пикселов для левого глаза, горизонтальный поляризационный фильтр задается для пикселов для правого глаза, и пользователь смотрит изображение с использованием пары поляризующих очков, где вертикальный поляризационный фильтр привязан к стеклу для левого глаза, а горизонтальный поляризационный фильтр привязан к стеклу для правого глаза.
Стереоскопический просмотр с использованием такого параллактического изображения уже использовался на практике в воспроизводящем оборудовании в парках с аттракционами и т.п., и его технология признана, и тем самым он рассматривается как вошедший в практическое применение дома первым в числе других. Отметим, что предложены различные способы, такие как способ двухцветной сегрегации, для реализации стереоскопического просмотра, как и вышеописанные, и что хотя способ последовательной сегрегации и способ поляризующих очков используются в качестве примеров в настоящем варианте осуществления, настоящее изобретение не ограничено этими двумя способами, а применимо к любому способу, который использует параллактическое изображение.
Настоящий вариант осуществления описывает способ для сохранения параллактических изображений, которые должны быть использованы для стереоскопического просмотра, на носитель записи информации. В последующем описании, изображение, включающее в себя экран для левого глаза, упоминается как "изображение для левого глаза", изображение, включающее в себя экран для правого глаза, упоминается как "изображение для правого глаза", а изображение, включающее в себя оба экрана, упоминается как "изображение для стереоскопического просмотра".
<Усовершенствование потоков первичного и вторичного видео>
Поток первичного видео в настоящем варианте осуществления - это видеопоток, который воспроизводится как изображение для плоского просмотра в устройстве воспроизведения для плоского просмотра и воспроизводится как изображение для левого глаза, когда изображение для стереоскопического просмотра воспроизводится посредством устройства воспроизведения для плоского/стереоскопического просмотра. В дальнейшем в этом документе этот видеопоток упоминается как "видеопоток для плоского просмотра/просмотра левым глазом".
Поток вторичного видео в настоящем варианте осуществления - это "видеопоток для просмотра правым глазом". Видеопоток для просмотра правым глазом - это видеопоток, который воспроизводится как изображение для правого глаза, когда изображение для стереоскопического просмотра воспроизводится посредством устройства воспроизведения для плоского/стереоскопического просмотра. Видеопотоку для просмотра правым глазом назначается PID "0x1012", который отличается от PID потока первичного видео. Затем, приводится описание структуры видеопотока для плоского просмотра/просмотра левым глазом и видеопотока для просмотра правым глазом.
Здесь следует отметить, что видеопоток для просмотра правым глазом по сравнению с видеопотоком для плоского просмотра/просмотра левым глазом может быть значительно уменьшен по объему данных посредством выполнения межкадрового прогнозирующего кодирования между левой и правой точками обзора, поскольку имеется большая корреляция между изображениями левой и правой точек обзора, которые представляют один и тот же объект. Кроме того, частота кадров для видеопотока для плоского просмотра/просмотра левым глазом - это частота кадров в случае, когда один видеопоток для плоского просмотра/просмотра левым глазом воспроизводится посредством устройства воспроизведения для плоского просмотра. Значение частоты кадров сохраняется в GOP-заголовке.
Фиг. 40 показывает один пример внутренней структуры потока первичного видео и потока вторичного видео для стереоскопического просмотра.
Вторая строка на фиг. 40 показывает внутреннюю структуру потока первичного видео. Поток первичного видео включает в себя данные изображений I1, P2, Br3, Br4, P5, Br6, Br7 и P8. Эти данные изображений декодируются в соответствии с DTS. Первая строка показывает изображение для левого глаза. Данные декодированных изображений I1, P2, Br3, Br4, P5, Br6, Br7 и P8 воспроизводятся в порядке I1, Br3, Br4, P2, Br6, Br7 и P5 в соответствии с PTS, тем самым достигая отображения изображения для левого глаза.
Четвертая строка на фиг. 40 показывает внутреннюю структуру потока вторичного видео. Поток вторичного видео включает в себя данные изображений P1, P2, B3, B4, P5, B6, B7 и P8. Эти данные изображений декодируются в соответствии с DTS. Третья строка показывает изображение для правого глаза. Данные декодированных изображений P1, P2, B3, B4, P5, B6, B7 и P8 воспроизводятся в порядке P1, B3, B4, P2, B6, B7 и P5 в соответствии с PTS, тем самым достигая отображения изображения для правого глаза.
Пятая строка на фиг. 40 показывает то, как изменяется состояние стереоочков 105 последовательного типа. Как показано в пятой строке, затвор для правого глаза закрывается, когда просматривается изображение для левого глаза, и затвор для левого глаза закрывается, когда просматривается изображение для правого глаза.
Эти потоки первичного вторичного видео сжимаются посредством межкадрового прогнозирующего кодирования, которое использует избыточность между точками обзора, а также межкадрового прогнозирующего кодирования, которое использует избыточность в направлении временной оси. Изображения видеопотока для просмотра правым глазом сжимаются посредством ссылки на изображения видеопотока для плоского просмотра/просмотра левым глазом для одного и того же времени отображения.
Например, первое P-изображение в видеопотоке для просмотра правым глазом ссылается на I-изображение в видеопотоке для плоского просмотра/просмотра левым глазом, B-изображение в видеопотоке для просмотра правым глазом ссылается на Br-изображение в видеопотоке для плоского просмотра/просмотра левым глазом, а второе P-изображение в видеопотоке для просмотра правым глазом ссылается на P-изображение в видеопотоке для плоского просмотра/просмотра левым глазом.
<Единица видеодоступа>
Временная ось на фиг. 40 указывает взаимосвязи между временами отображения (PTS) и временами декодирования (DTS), которые назначены каждой единице видеодоступа для видеопотока для плоского просмотра/просмотра левым глазом и видеопотока для просмотра правым глазом. Более конкретно, DTS данных каждого изображения в видеопотоке для плоского просмотра/просмотра левым глазом и видеопотоке для просмотра правым глазом задаются так, что они поочередно появляются на временной оси. Кроме того, PTS данных каждого изображения в видеопотоке для плоского просмотра/просмотра левым глазом и PTS данных каждого изображения в видеопотоке для просмотра правым глазом задаются так, что они поочередно появляются на временной оси. Это может быть достигнуто посредством настройки изображений видеопотока для плоского просмотра/просмотра левым глазом и видеопотока для просмотра правым глазом, которые имеют опорные взаимосвязи в межкадровом прогнозирующем кодировании, поочередно в порядке декодирования и порядке отображения.
Кроме того, временной промежуток между DTS для кадра для плоского просмотра/просмотра левым глазом и следующего кадра для просмотра правым глазом задается равным половине одного временного интервала отображения кадров для плоского просмотра/просмотра левым глазом. Аналогично временной промежуток между PTS для кадра для плоского просмотра/просмотра левым глазом и следующего кадра для просмотра правым глазом задается равным половине одного временного интервала отображения кадров для плоского просмотра/просмотра левым глазом.
<Задержка отображения при стереоскопическом просмотре>
Задержка отображения при стереоскопическом просмотре задается как разница между промежутком между PTS изображений в видеопотоке для плоского просмотра/просмотра левым глазом и промежутком между PTS изображений в видеопотоке для просмотра правым глазом, для одного времени отображения. Задержка отображения при стереоскопическом просмотре составляет половину одного временного интервала отображения кадров в видеопотоке для плоского просмотра/просмотра левым глазом.
<Список воспроизведения для стереоскопического просмотра>
Подпуть для AV-клипов для просмотра правым глазом подготавливается в списке воспроизведения для стереоскопического просмотра. Подпуть задается так, чтобы ссылаться на множество AV-клипов для просмотра правым глазом и быть синхронизированным с основным путем на временной оси. При такой структуре список воспроизведения для плоского просмотра и список воспроизведения для стереоскопического просмотра могут совместно использовать AV-клип для плоского просмотра/просмотра левым глазом, и список воспроизведения для стереоскопического просмотра может ассоциировать просмотр левым глазом с просмотром правым глазом так, чтобы они синхронизировались на временной оси.
Информация списка воспроизведения включает в себя флаг стереоскопического просмотра для различия между списком воспроизведения для стереоскопического просмотра и списком воспроизведения для плоского просмотра. Флаг стереоскопического просмотра указывает, доступен ли стереоскопический просмотр, что означает, что поток вторичного видео может быть воспроизведен, поскольку таблица номеров потоков в информации списка воспроизведения указывает, что потоку вторичного видео разрешено воспроизведение.
До сих пор пояснялось усовершенствование носителя записи. Далее подробно описывается устройство воспроизведения. Устройство воспроизведения в настоящем варианте осуществления включает в себя, вместо плоскости 35 первичного видео, плоскость 61 двумерного изображения/изображения для левого глаза и плоскость 62 изображения для правого глаза.
Фиг. 41 показывает один пример внутренней структуры декодера 13 системных целевых объектов. Из компонентов, показанных на фиг. 41, структура декодера вторичного видео, IG-декодера, PG-декодера, декодера первичного аудио, декодера вторичного аудио, аудиомикшера и процессора изображений является такой же, как структура соответствующих компонентов устройства воспроизведения для плоского просмотра, описанных в варианте осуществления 1, и их описание здесь опускается.
Модуль 32a депакетирования источников интерпретирует исходный пакет, сохраненный в буфере 11 считывания, извлекает TS-пакет и отправляет TS-пакет в PID-фильтр 33a.
Модуль 32b депакетирования источников интерпретирует исходный пакет, сохраненный в буфере 11 считывания, извлекает TS-пакет и отправляет TS-пакет в PID-фильтр 33b. При отправке TS-пакета модуль депакетирования источников регулирует время ввода в декодер в соответствии с ATS каждого исходного пакета. Более конкретно, модуль депакетирования источников передает TS-пакет в средство работы с файлами PID согласно скорости записи AV-клипа в момент, когда значение ATC, сформированного посредством счетчика ATC, и значение ATS исходного пакета становятся идентичными.
PID-фильтр 33a передает TS-пакеты, выводимые из модуля 32a депакетирования источников. Более конкретно, PID-фильтр 33a передает, из TS-пакетов, выводимых из модуля 32a депакетирования источников, TS-пакеты, имеющие PID, который совпадает с PID, требуемым для воспроизведения, в TB 51 трехмерного видеодекодера 50, декодер вторичного видео, IG-декодер, PG-декодер, аудиодекодер или декодер вторичного аудио, в зависимости от PID TS-пакета. Например, в случае BD-ROM, TS-пакет, имеющий PID 0x1011, передается в декодер первичного видео, TS-пакеты, имеющие PID 0x1B00-0x1B1F, передаются в декодер вторичного видео, TS-пакеты, имеющие PID 0x1100-0x111F, передаются в декодер первичного аудио, TS-пакеты, имеющие PID 0x1A00-0x1A1F, передаются в декодер вторичного аудио, TS-пакеты, имеющие PID 0x1200-0x121F, передаются в PG-декодер, а TS-пакеты, имеющие PID 0x1400-0x141F, передаются в IG-декодер. Кроме того, PID-фильтр 33b передает, из TS-пакетов, выводимых из модуля 32b депакетирования источников, TS-пакеты, имеющие PID, который совпадает с PID, требуемым для воспроизведения, в TB 58 трехмерного видеодекодера 50.
Трехмерный видеодекодер 50 включает в себя TB 51, MB 52, EB 53, TB 58, MB 59, декодер 54, DPB 55, переключатель 56 буферов, переключатель 57 изображений и EB 60.
TB 51 является буфером для временного сохранения, как они есть, TS-пакетов, которые включают в себя видеопоток для плоского просмотра/просмотра левым глазом и выводятся из PID-фильтра 33a.
MB 52 является буфером для временного сохранения видеопотока, который должен выводиться из TB 51 в EB 53. Заголовки TS удаляются от TS-пакетов, когда данные передаются из TB 51 к MB 52.
EB 53 является буфером для сохранения единицы видеодоступа, которая находится в кодированном состоянии. PES-заголовки удаляются, когда данные переданы из MB 52 в EB 53.
TB 58 является буфером для временного сохранения, как они есть, TS-пакетов, которые включают в себя видеопоток для просмотра правым глазом и выводятся из PID-фильтра 33b.
MB 59 является буфером для временного сохранения видеопотока, который должен выводиться из TB 58 в EB 60. Заголовки TS удаляются от TS-пакетов, когда данные передаются из TB 58 к MB 59.
EB 60 является буфером для сохранения единицы видеодоступа, которая находится в кодированном состоянии. PES-заголовки удаляются, когда данные переданы из MB 52 в EB 53.
Декодер 54 формирует изображение кадра/поля посредством декодирования каждой единицы видеодоступа элементарного потока видео в заранее определенное время декодирования (DTS). Поскольку предусмотрены различные способы кодирования со сжатием, такие как MPEG2, MPEG4 AVC и VC1 для кодирования со сжатием видеопотока, который должен быть мультиплексирован в AV-клипы, декодер 54 изменяет способ декодирования в зависимости от атрибута каждого потока. Декодер 54 передает декодированные изображения кадра/поля в DPB 55 так, чтобы каждое соответствующее изображение кадра/поля передавалось в переключатель изображений согласно времени отображения (DTS).
DPB 55 является буфером для временного сохранения декодированных изображений кадра/поля. Когда декодер 54 декодирует единицу видеодоступа, такую как межкадровое прогнозирующее кодированное P- или B-изображение, декодер 54 обращается к декодированному изображению, сохраненному в DPB 55.
Переключатель 56 буферов работает так, что изображения, сохраненные в EB 53 и EB 60, передаются в декодер 54 согласованно со временем декодирования (DTS), назначенным для каждой единицы видеодоступа. Кроме того, переключатель 56 буферов может определять, из какого EB 53 и EB 60, следующая единица доступа должна быть извлечена, с использованием информации переключения декодирования, полученной посредством декодера 54 в ходе декодирования единицы видеодоступа. Кроме того, поскольку DTS данных каждого изображения в видеопотоке для плоского просмотра/просмотра левым глазом и видеопотоке для просмотра правым глазом задаются так, что они поочередно появляются на временной оси, единицы видеодоступа могут быть переданы в декодер 54 в единицах изображений, когда, например, декодер 54 - это такой декодер, который продолжает декодирование независимо от DTS.
Переключатель 57 изображений работает так, что когда декодированное изображение кадра/поля, передаваемое из декодера 54, является видеопотоком для плоского просмотра/просмотра левым глазом, оно сразу записывается в плоскость 61 двумерного изображения/изображения для левого глаза, а когда декодированное изображение кадра/поля, передаваемое из декодера 54, является видеопотоком для просмотра правым глазом, оно сразу записывается в плоскость 62 изображения для правого глаза.
На этом завершается пояснение декодера системных целевых объектов. Далее поясняется усовершенствование модуля 16 управления виртуальными пакетами в настоящем варианте осуществления.
Модуль 16 управления виртуальными пакетами не выводит событие DataStarved, когда флаг стереоскопического просмотра отключен, даже если AV-клип, включающий в себя поток вторичного видео, не загружен. При такой структуре экземпляр JMF-проигрывателя и механизм управления воспроизведением не останавливают воспроизведение, даже если поток вторичного видео не загружен.
Напротив, когда флаг стереоскопического просмотра включен, модуль 16 управления виртуальными пакетами сообщает о событии DataStarved в экземпляр JMF-проигрывателя и механизм управления воспроизведением, когда текущий поток вторичного видео соответствует субэлементу воспроизведения, и субэлемент воспроизведения ссылается на AV-клип, еще не загруженный, или ссылается на AV-клип в состоянии недоступности. С этим уведомлением относительно события DataStarved, воспроизведение останавливается.
Кроме того, воспроизведение продолжается, даже если AV-клип, включающий в себя поток вторичного видео, не загружен, когда стереоочки 105 последовательного типа сняты, и устройство 101 воспроизведения переводится в режим "стереоскопический просмотр отключен".
Как описано выше, согласно настоящему варианту осуществления, когда стереоскопический просмотр отключен, воспроизведение элемента воспроизведения продолжается без ожидания загрузки AV-клипа, включающего в себя поток вторичного видео.
<Вариант осуществления 5>
Настоящий вариант осуществления описывает подробную структуру данных и структуру устройства воспроизведения для выбора текущего потока первичного аудио и текущего потока вторичного аудио.
Фиг. 42 показывает один пример внутренней структуры Primary_audio_stream_entry и Secondary_audio_stream_entry и внутренней структуры Comb_info_Secondary_video_Secondary_audio. На фиг. 42 соединительные линии ha1 и ha2 соответственно указывают детализацию внутренних структур Primary_audio_stream_entry и Secondary_audio_stream_entry. Эти внутренние структуры структурируются одинаково, будучи составленными из Stream_entry и Stream_attribute.
Соединительная линия ha3 указывает детализацию внутренней структуры Stream_entry. Как показано здесь, Stream_entry потока первичного аудио и потока вторичного аудио состоит из: Stream_coding_type, указывающего способ кодирования аудиопотока; audio_presentation_type, указывающего структуру каналов соответствующего аудиопотока; Sampling_frequency, указывающего частоту дискретизации соответствующего аудиопотока; и audio_language_code, указывающего языковой атрибут аудиопотока.
Соединительная линия ha4 указывает детализацию внутренней структуры Stream_attribute. Как показано здесь, Stream_attribute потока первичного аудио и потока вторичного аудио состоит из: ref_to_Sub_Path_id, указывающего информацию SubPath, ссылающегося на поток вторичного аудио; ref_to_Sub_Clip_entry_id, указывающего SubClip, в котором мультиплексируются поток первичного аудио и поток вторичного аудио; и ref_to_Steam_PID_of_Sub_Clip, указывающего опорное значение для PID PES-пакета, составляющего поток первичного аудио и поток вторичного аудио.
В качестве информации, соответствующей потоку вторичного аудио, Stream_entry для потока вторичного аудио включает в себя Comb_info_Secondary_video_Secondary_audio, как указано посредством соединительной линии ha5.
Соединительная линия ha6 указывает детализацию Comb_info_Secondary_video_Secondary_audio. Comb_info_Secondary_video_Secondary_audio состоит из: number_of_Secondary_audio_stream_ref_entry, указывающего общее число потоков вторичного аудио, которые могут быть комбинированы для каждого потока вторичного видео; и Secondary.audio.stream.id.ref[0]-[n], указывающего номера потока потоков вторичного аудио, которые могут быть комбинированы, когда поток вторичного видео воспроизводится.
Как описано выше, STN_table включает в себя Stream_entry потока первичного аудио, который должен быть аудио потока первичного видео, и Stream_entry потока вторичного аудио, который должен быть аудио потока вторичного видео. Кроме того, Stream_entry потока вторичного видео описывает потоки вторичного аудио, которые могут быть комбинированы с потоком вторичного видео, для каждого потока вторичного видео (Comb_info_Secondary_video_Secondary_audio).
На этом завершается описание признаков носителя записи для воспроизведения аудиопотока. Далее описываются признаки устройства воспроизведения для воспроизведения аудиопотока.
В устройство воспроизведения предоставляется, в качестве структуры для осуществления воспроизведения аудио, номер потока для текущего потока первичного аудио и номер потока для текущего потока вторичного аудио. Далее описываются эти номера.
<PSR1>
Фиг. 43A показывает один пример распределения битов в PSR1.
Как показано на фиг. 43A, младшие восемь битов (b0-b7) из 32 битов PSR1 представляют номер потока первичного аудио и идентифицируют один из множества потоков первичного аудио, записи которых записаны в STN_table текущего элемента воспроизведения. Когда набор значений в PSR1 изменяется, устройство воспроизведения воспроизводит поток первичного аудио, соответствующий заданному значению после изменения. PSR1 задается равным "0xFF" в качестве начального значения и затем может задаваться равным значению в пределах от "1" до "32" посредством устройства воспроизведения. Значение "0xFF" является неопределенным значением и указывает, что нет потока первичного аудио или что поток первичного аудио не выбран. Когда PSR1 задается равным значению в пределах от "1" до "32", заданное значение интерпретируется как номер потока для потока первичного аудио.
<PSR14>
Фиг. 43B показывает один пример распределения битов в PSR14.
Как показано на фиг. 43B, младшие восемь битов (b0-b7) из 32 битов PSR14 представляют номер вторичного потока и идентифицируют один из множества потоков вторичного аудио, записи которых записаны в STN_table текущего элемента воспроизведения. Когда набор значений в PSR14 изменяется, устройство воспроизведения воспроизводит поток вторичного аудио, соответствующий заданному значению после изменения. PSR14 задается равным "0xFF" в качестве начального значения и затем может задаваться равным значению в пределах от "1" до "32" посредством устройства воспроизведения. Значение "0xFF" является неопределенным значением и указывает, что нет потока вторичного аудио или что поток вторичного аудио не выбран. Когда PSR14 задается равным значению в пределах от "1" до "32", заданное значение интерпретируется как номер потока для потока вторичного аудио.
Фиг. 44 - это блок-схема последовательности операций способа, показывающая процедуру для определения текущего потока первичного аудио, когда текущий элемент воспроизведения изменяется. На этой блок-схеме последовательности операций способ, а этапы S96-S98 составляют цикл, в котором этап S98 повторяется для всех потоков первичного аудио, указанных в STN_table. В этом цикле каждый поток первичного аудио целевого объекта обработки называется "потоком первичного аудио i", и этап S98 проверяет, удовлетворяет ли поток первичного аудио i условиям (a), (b) и (c).
Условие (a) состоит в том, что устройство воспроизведения имеет возможность воспроизведения потока первичного аудио i, и то, удовлетворяется ли условие (a), определяется на основе сравнения между PSR15 и stream_coding_type потока первичного аудио.
Условие (b) состоит в том, что языковой атрибут потока первичного аудио i является таким же, как информация подзаголовка, где информация подзаголовка - это информация, указывающая языковую настройку устройства воспроизведения, и то, удовлетворено или нет условие (b), определяется посредством проверки того, является или нет заданное значение PSR16 таким же, как Audio_language_code потока первичного аудио i, описанного в STN_table.
Условие (c) состоит в том, что атрибут канала потока первичного аудио i - это "объемное звучание", и устройство воспроизведения имеет возможность воспроизведения канала объемного звучания. То, удовлетворяется ли условие (c), определяется на основе сравнения между PSR15 и audio_presentation_type и stream_coding_type для AudioStream.
Настоящая блок-схема последовательности операций способа назначает ранг приоритета потоку первичного аудио в зависимости от комбинации условий, которым он удовлетворяет, например, "какие условия из вышеописанных условий удовлетворяются посредством потока первичного аудио i" или "сколько условий удовлетворяются посредством потока первичного аудио i".
После того как циклический процесс выполнен для всех потоков первичного аудио, этапы S99-S103 выполняются. На этапе S99 определяется то, является ли истиной то, что нет потока первичного аудио, который удовлетворяет (a). Когда нет потока первичного аудио, который удовлетворяет (a) ("Да" на этапе S99), неопределенное значение (0xFF) задается в PSR1 (этап S104).
На этапе S100 определяется то, имеется или нет поток первичного аудио, который удовлетворяет всем из (a), (b) и (c). Когда имеется такой поток первичного аудио, номер потока первичного аудио, который удовлетворяет всем из (a), (b) и (c), определяется в PSR1 (этап S105).
Проблема состоит в том, что, когда имеется множество потоков первичного аудио, которые удовлетворяют всем из (a), (b) и (c), должен быть сделан выбор. Они имеют одинаковый ранг приоритета, когда они удовлетворяют всем из (a), (b) и (c). В этом примере этап S105 выбирает поток первичного аудио, который имеет наивысший ранг вхождения в STN_table из потоков первичного аудио, которые удовлетворяют всем из (a), (b) и (c). Другими словами, относительно множества потоков первичного аудио, которые имеют одинаковый "кодек - языковой атрибут - атрибут канала", на ранги вхождения этого в STN_table содержатся ссылки, и выбирается поток первичного аудио, который имеет наивысший ранг вхождения в STN_table.
Эта структура предоставляет возможность ответственному за авторскую разработку в ходе авторской разработки задавать управление выбором для определения приоритета для каждого потока посредством изменения порядка описания в STN_table.
Когда определено, что нет потока первичного аудио, который удовлетворяет всем из (a), (b) и (c), управление переходит к этапу S101, на котором определяется то, имеется или нет поток первичного аудио, который удовлетворяет условию (a) и (b). Когда имеются потоки первичного аудио, которые удовлетворяют (a) и (b), номер потока первичного аудио, который имеет наивысший ранг вхождения в STN_table из них, задается в PSR1 (этап S106).
Когда определено, что нет потока первичного аудио, который удовлетворяет всем из (a), (b) и (c) и нет потока первичного аудио, который удовлетворяет (a) и (b), управление переходит к этапу S102, на котором определяется то, имеется или нет поток первичного аудио, который удовлетворяет условиям (a) и (c). Когда имеются потоки первичного аудио, которые удовлетворяют (a) и (c), номер потока первичного аудио, который имеет наивысший ранг вхождения в STN_table из них, задается в PSR1 (этап S107).
Когда определено, что нет потока первичного аудио, который удовлетворяет всем из (a), (b) и (c), нет потока первичного аудио, который удовлетворяет (a) и (b), и нет потока первичного аудио, который удовлетворяет (a) и (c), управление переходит к этапу S103, на котором определяется то, имеется или нет поток первичного аудио, который удовлетворяет условию (a). Когда имеются потоки первичного аудио, которые удовлетворяют (a), номер потока первичного аудио, который имеет наивысший ранг вхождения в STN_table из них, задается в PSR1 (этап S108).
Когда секция воспроизведения текущего потока первичного аудио задана посредством субэлемента воспроизведения, субэлемент воспроизведения, который задает секцию воспроизведения текущего потока первичного аудио, определяется как текущий субэлемент воспроизведения.
До сих пор пояснялась процедура для определения текущего потока первичного аудио.
Далее описывается процедура для определения потока вторичного аудио.
Фиг. 45 - это блок-схема последовательности операций способа, показывающая процедуру для определения потока вторичного аудио.
На этапе S111 номер потока вторичного аудио получается из PSR14. На этапе S112 проверяется то, удовлетворяет ли полученный номер потока вторичного аудио следующему условию (A):
условие (A): сравнение между номером потока вторичного аудио, заданным в Comb_info_Secondary_video_Secondary_audio, и номером потока вторичного аудио, полученным из PSR14, указывает, что комбинация номера потока вторичного аудио с номером и текущим потоком вторичного видео разрешена.
После проверки выполняется этап S113. На этапе S113 определяется то, равно ли число Stream_entry в STN_table для потоков вторичного аудио в текущем элементе воспроизведения "0". Когда число Stream_entry равно "0", номер потока вторичного аудио в PSR14 сохраняется (этап S116). Когда число Stream_entry не равно "0", управление переходит к этапу S114.
На этапе S114 определяется то, является ли номер потока вторичного аудио равным или меньшим, чем общее число Stream_entry в STN_table, и удовлетворяется ли условие (A). Когда определено, что условие (A) удовлетворяется, считается, что допустимый номер потока вторичного аудио уже существует в PSR14, и таким образом номер в PSR14 сохраняется. Когда определено, что условие (A) не удовлетворяется, текущий поток вторичного аудио, который является оптимальным для текущего элемента воспроизведения, выбирается (этап S115).
До сих пор пояснялась процедура для выбора потока для потока вторичного аудио.
Фиг. 46 - это блок-схема последовательности операций способа, показывающая процедуру для выбора текущего потока вторичного аудио, который является оптимальным для текущего элемента воспроизведения.
В этой блок-схеме последовательности операций способа этапы S121-S123 составляют цикл, на котором проверяется для всех потоков, соответствующих всем Stream_entry, записанным в STN_table, то, удовлетворяет ли произвольный поток следующим условиям:
условие (a): сравнение между номером потока вторичного аудио, заданным в Comb_info_Secondary_video_Secondary_audio, и номером потока вторичного аудио i указывает, что комбинация потока вторичного аудио i и текущего потока вторичного видео разрешена; и
условие (b): Audio_language_code текущего потока первичного аудио совпадает с audio_language_code потока вторичного аудио.
После того как циклический процесс выполнен для всех потоков вторичного аудио, которым разрешено быть воспроизведенными в STN_table, управление переходит к этапу S124.
На этапе S124 определяется то, является ли истиной то, что нет потока вторичного аудио, который удовлетворяет (a). Когда нет потока вторичного аудио, который удовлетворяет (a) ("Да" на этапе S124), значение 0xFF в качестве номера потока вторичного аудио задается в PSR14 (этап S125).
Когда имеются один или более потоков вторичного аудио, которые удовлетворяют (a) ("Нет" на этапе 124), управление переходит к этапу S126, на котором определяется то, имеется или нет, по меньшей мере, один поток вторичного аудио, который удовлетворяет условиям (a) и (b). Когда имеется, по меньшей мере, один поток вторичного аудио, который удовлетворяет условиям (a) и (b), поток вторичного аудио, соответствующий Stream_entry которого помещен первым в STN_table, выбирается из потоков вторичного аудио, которые удовлетворяют условиям (a) и (b), и номер потока вторичного аудио для выбранного потока вторичного аудио задается в PSR14 (этап S127).
Когда нет потока вторичного аудио, который удовлетворяет условиям (a) и (b) ("Нет на этапе 126), управление переходит к этапу S128, на котором определяется то, имеется или нет поток вторичного аудио, который удовлетворяет условию (a). Когда имеются потоки вторичного аудио, которые удовлетворяют условию (a), поток вторичного аудио, соответствующий Stream_entry которого помещен первым в STN_table, выбирается из потоков вторичного аудио, которые удовлетворяют условию (a), и номер потока вторичного аудио выбранного для потока вторичного аудио задается в PSR14 (этап S129).
Когда секция воспроизведения текущего потока вторичного аудио задана посредством субэлемента воспроизведения, субэлемент воспроизведения, который задает секцию воспроизведения текущего потока вторичного аудио, определяется как текущий субэлемент воспроизведения.
Как описано выше, согласно настоящему варианту осуществления, STN_table предварительно задает потоки, которым разрешено быть воспроизведенными, в качестве потока первичного аудио для потока первичного видео и в качестве потока вторичного аудио для потока вторичного видео. Так же, из числа потоков, которые соответствуют Stream_entry, записанным в STN_table, один поток первичного аудио и один поток вторичного аудио соответственно выбираются, и они выводятся в смешении. При такой структуре, например, микшированное аудио, в котором комментарий режиссера фильма накладывается на основное аудио, можно услышать, когда выполняется изображение "картинка в картинке".
Когда на AV-клип, который включает в себя потоки первичного и вторичного аудио, выбранные так, как описано выше, ссылается субэлемент воспроизведения, воспроизведение прерывается, если AV-клип является недоступным клипом. Следовательно, посредством загрузки во времени AV-клипа, который включает в себя текущие потоки первичного и вторичного аудио и указывается ссылкой посредством информации субэлемента воспроизведения, можно препятствовать прерыванию воспроизведения и обеспечивать плавное выполнение воспроизведения.
<Вариант осуществления 5>
Настоящий вариант осуществления описывает подробную структуру данных и усовершенствование устройства воспроизведения для выбора текущего потока субтитров.
Сначала поясняется Stream_entry для субтитра в STN_table. Потоки первичного аудио и потоки вторичного аудио соответственно назначаются потокам первичного видео и потокам вторичного видео. Что касается субтитра, имеется различие между потоком презентационной графики и потоком текстовых субтитров, но нет четкого различия между потоком текстовых субтитров для потока первичного видео и потоком текстовых субтитров для потока вторичного видео.
Далее описывается Stream_entry для потока PGtextST. Фиг. 47 показывает часть STN_table, которая конкретно связана с потоком PGtextST. Как показано на фиг. 47, конкретно связано с отображением субтитра следующее: number_of_PG_textST_streams_entry[1]-[n]; number_of_PiP_PG_textST_stream_entry_plus; PgtestST_Stream_entry; и Comb_info_Secondary_video_PiP_PG_textST в Secondary_video_Stream_entry.
Number_of_PG_textST_streams_entry указывает число потоков PGtextST, которые являются целевыми объектами в то время, когда изображение "картинка в картинке" не выполняется.
Number_of_PiP_PG_textST_stream_entry_plus указывает число потоков презентационной графики и потоков текстовых субтитров, которые должны быть добавлены в number_of_PG_textST_streams_entry, заданный в STN_table для приложений типа "картинка в картинке". Сумма number_of_PG_textST_streams_entry и number_of_PiP_PG_textST_stream_entry_plus должна быть "255" или меньше.
Здесь, когда number_of_PG_textST_streams_entry равно n1, диапазон потоков текстовых субтитров PG - это диапазон от номера потока 1 до номера потока n1. Кроме того, когда number_of_PiP_PG_textST_stream_entry_plus - это n2, диапазон потоков текстовых субтитров PG - это диапазон от номера потока 1 до номера потока n1+n2, когда изображение "картинка в картинке" выполняется. Другими словами, когда number_of_PiP_PG_textST_stream_entry_plus записано в STN_table, диапазон потоков текстовых субтитров PG расширяется на число, записанное в number_of_PiP_PG_textST_stream_entry_plus.
Когда изображение "картинка в картинке" не выполняется, то Stream_entry 1-n1 для потоков PGtextST являются целевыми объектами для выбора; а когда изображение "картинка в картинке" выполняется, то Stream_entry 1-n1+n2 для потоков PGtextST являются целевыми объектами для выбора. Здесь следует отметить, что даже когда изображение "картинка в картинке" выполняется, не обязательно, что воспроизводятся субтитры для первичного видео и вторичного видео соответственно. То, что воспроизводится, когда изображение "картинка в картинке" выполняется, является или субтитром для первичного видео, или субтитром для вторичного видео. Для этого есть две причины: (i), когда субтитры для первичного видео и вторичного видео должны быть записаны отдельно на BD-ROM, устройство воспроизведения должно требовать графических декодеров, приводя к увеличению затрат на аппаратное обеспечение; и (ii), даже если отображается меньше субтитров для вторичного видео, это будет трудно смотреть.
Соединительная линия hp1 указывает детализацию PG_textST_Stream_entry. Как показано посредством соединительной линии, PG_textST_Stream_entry включает в себя Stream_entry и Stream_attribute. Stream_entry включает в себя PID потока PGtextST, которому разрешено воспроизведение.
Соединительная линия hp2 указывает детализацию Secondary_video_Stream_entry[1]. Из компонентов его, Comb_info_Secondary_video_PiP_PG_textST уникально указывает потоки PGtextST, которым разрешено быть комбинированными с потоком вторичного видео.
Соединительная линия hp3 указывает внутреннюю структуру Comb_info_Secondary_video_PiP_PG_textST. Comb_info_Secondary_video_PiP_PG_textST включает в себя: number_of_PiP_PG_textST_stream_ref_entry, указывающий общее число потоков текстовых субтитров PiP PG, которые могут быть комбинированы с каждым потоком вторичного видео; и PiP_PG_textST_stream_id_ref[0]-[n], указывающие номера потоков для потоков текстовых субтитров PiP PG, которые могут быть комбинированы в ходе воспроизведения.
До сих пор пояснялось усовершенствование носителя записи в настоящем варианте осуществления. Далее описывается усовершенствование устройства воспроизведения в настоящем варианте осуществления. В качестве структуры для воспроизведения субтитров устройство воспроизведения сохраняет отдельно в PSR-наборе 23: (i) номер потока для текущего потока PGtextST для выполнения изображения "картинка в картинке"; и (ii) номер потока для текущего потока PGtextST для отсутствия выполнения изображения "картинка в картинке".
Фиг. 48A показывает один пример области числовых значений номеров потока, которые может иметь текущий поток PGtextST. Когда изображение "картинка в картинке" не выполняется, номер потока для текущего потока PGtextST принимает значение в диапазоне от 1 до n1, как показано в верхней строке на фиг. 48A, когда PiP_PG_text_ST_stream_number, записанный в STN_table, - это n1.
С другой стороны, номер текущего потока PGtextST для ситуации, когда изображение "картинка в картинке" выполняется, называется "номером потока PiP PG textST". А номер потока PiP PG textST принимает значение в диапазоне от 1 до n1+n2, как показано в нижней строке на фиг. 48A, когда PG_text_ST_stream_number, записанный в STN_table, - это n1, а number_of_PiP_PG_text_ST_stream_entry_plus, записанный в STN_table, - это n2.
Фиг. 48B показывает один пример распределения битов в PSR2. Приводится описание значения каждого бита в PSR2.
* disp_s_flag
b31 PSR2 - это disp_s_flag, и значение, заданное в бите b31, интерпретируется следующим образом:
0b: нет возможности отображать как "поток PG textST", так и "поток PiP PG textST"; и
1b: есть возможность отображать как "поток PG textST", так и "поток PiP PG textST".
Когда disp_s_flag отключен, процедура для выбора потока текстовых субтитров PG не выполняется. Когда disp_s_flag в PSR2 отключен, нет текущего потока текстовых субтитров PG, и таким образом, на этапах S34 и S35, показанных на фиг. 34, AV-клипы, которые включают в себя только потоки текстовых субтитров PG, исключаются из целевых объектов выбора для загрузки.
* PiP_PG_textST_valid_flag
b30 PSR2 - это PiP_PG_textST_valid_flag, и значение, заданное в бите b30, интерпретируется следующим образом:
0b: номер потока PG textST, заданный в PSR2, должен использоваться, когда поток вторичного видео отображается в то время, когда текущий элемент воспроизведения отображается; и
1b: номер потока PiP PG textST, заданный в PSR2, должен использоваться, когда поток вторичного видео отображается в то время, когда текущий элемент воспроизведения отображается.
Когда поток вторичного видео не отображается в то время, когда текущий элемент воспроизведения отображается, PiP_PG_textST_valid_flag не имеет влияние на отображение на дисплейном устройстве BD-ROM. В этом случае используется номер потока PG textST, заданный в PSR2.
* PG_txtST_Stream_Number
b0-b11 PSR2 - это PG_txtST_Stream_Number, и значение, заданное в битах буфера 12 считывания, интерпретируется следующим образом.
Другими словами, когда поток вторичного видео не отображается в то время, когда текущий элемент воспроизведения отображается (когда поток вторичного видео не отображается - это когда dis_v_flag в PSR14 задан равным 0b), значение PG_txtST_Stream_Number в PSR2 используется для того, чтобы указывать либо поток PG, либо textST поток, который должен отображаться, из элементов потоков PG textST в STN_table для текущего элемента воспроизведения.
* PiP_PG_txtST_Stream_Number
b16-b27 PSR2 - это PiP_PG_txtST_Stream_Number, и значение, заданное в битах буфера 12 считывания, интерпретируется следующим образом.
Другими словами, когда поток вторичного видео отображается в то время, когда текущий элемент воспроизведения отображается (когда поток вторичного видео отображается - это когда dis_v_flag в PSR14 задан равным 1b, и поток вторичного видео, определенный посредством PSR14 в то время, когда текущий элемент воспроизведения отображается, отображается), и PiP_PG_textST_valid_flag задан равным 1b, значение PiP_PG_txtST_Stream_Number в PSR2 используется для того, чтобы указывать либо поток PG, либо поток textST, который должен быть отображаемым, из элементов потока PG textST в STN_table для текущего элемента воспроизведения.
Фиг. 49 - это блок-схема последовательности операций способа, показывающая процедуру для определения текущего потока PiP PG textST, когда текущий элемент воспроизведения изменяется.
Отметим, что в последующем описании, номера потоков для потоков PGtextST при отсутствии выполнения изображения "картинка в картинке", а также то, как они обрабатываются, опущены, поскольку они являются упрощенным выбором потоков PGtextST для выполнения изображения "картинка в картинке". В настоящем варианте осуществления, описываются номера потоков для потоков PGtextST для выполнения изображения "картинка в картинке".
На этапе S151 текущий номер потока PiP PG textST получается из PSR2. На этапе S152 определяется то, предназначен текущий номер потока PiP PG textST для потока презентационной графики или для потока текстовых субтитров. На этапе S153 определяется то, удовлетворяет ли поток презентационной графики, соответствующий текущему номеру потока PiP PG textST, условиям (A), (B) и (C).
Условия (A), (B) и (C) задаются следующим образом:
Условие (A): устройство воспроизведения имеет возможность декодирования потока презентационной графики, соответствующего текущему номеру потока PiP_PG_textST;
Условие (B): устройство воспроизведения имеет возможность воспроизведения указанного языка; и
Условие (C): сравнение между номером потока вторичного видео в PSR14 и номером потока текстовых субтитров PG посредством Comb_info_Secondary_video_PiP_textST() указывает, что комбинация текущего потока вторичного видео и потока текстовых субтитров PG, идентифицированная из текущего номера потока PiP_PG_textST, разрешена.
На этапе S154 проверяется то, удовлетворяет ли поток текстовых субтитров, соответствующий текущему номеру потока PiP_PG_textST, следующим условиям (A), (B) и (C).
Условие (A): устройство воспроизведения имеет возможность расширения, в битовой карте, кода символа потока текстовых субтитров, соответствующего текущему номеру потока PiP_PG_textST, причем эта возможность указывается посредством PSR30 в PSR-наборе 23.
Условие (B): устройство воспроизведения имеет возможность поддержки языкового атрибута кода символа потока текстовых субтитров, соответствующего текущему номеру потока PiP_PG_textST, причем эта возможность указывается посредством PSR48-61 в PSR-наборе 23.
Условие (C): сравнение между номером потока вторичного аудио в PSR14 и номером потока текстовых субтитров PG посредством Comb_info_Secondary_video_PiP_textST() указывает, что комбинация текущего потока вторичного видео для номера, сохраненного в PSR14, и потока текстовых субтитров PG, идентифицированного из текущего номера потока PiP_PG_textST, разрешена.
Отметим, что для устройства воспроизведения, которое должно "иметь возможность декодировать" поток текстовых субтитров, который представляет субтитр языка, устройство воспроизведения должно иметь возможность расширения потока текстовых субтитров языка в битовую карту и возможность поддержки характеристики языка.
Здесь это рассматривается посредством взятия в качестве примеров английского языка, японского языка и арабского языка. Что касается отображения субтитров на английском языке, языковые характеристики английского языка, как определяется, поддерживаются, только когда поддерживаются функции "горизонтального написания", "кернинга", "лигатуры/логотипа".
Что касается отображения субтитров на японском языке, языковые характеристики японского языка, как определяется, поддерживаются только, когда поддерживаются функции "горизонтального написания" "вертикального написания" "запрета разрыва строки после определенных символов", "символов в меньшем размере", поскольку битовые карты записываются в PG-плоскость 8.
Что касается отображения субтитров на арабском языке, языковые характеристики арабского языка, как определяется, поддерживаются только, когда поддерживаются функции "подготовки посредством рендеринга справа налево" и "лигатуры/логотипа", поскольку битовые карты записываются в PG-плоскость 8.
Когда устройство воспроизведения имеет возможность расширения потока текстовых субтитров языка в битовую карту и имеет возможность поддержки языковой характеристики, можно сказать, что вышеописанные условия (A) и (B) удовлетворяются. Когда устройство воспроизведения имеет возможность расширения потока текстовых субтитров языка в битовую карту, но не имеет возможности поддержки языковой характеристики, можно сказать, что условие (B) не удовлетворяется, а удовлетворяется только условие (A).
После этой проверки, управление переходит к этапу S155, на котором определяется то, удовлетворяет ли устройство воспроизведения условию (Z).
Здесь условие (Z) состоит в том, что пользователь имеет намерение воспроизводить субтитр неподдерживаемого языка, причем намерение указывается посредством PSR30 в PSR-наборе 23.
После этого на этапе S156 определяется то, равна ли сумма number_of_PG_textST_streams_entry в STN_table текущего элемента воспроизведения и number_of_PiP_PG_textST_stream_entry_plus "0". Когда STN_table не включает в себя поток PGtextST, которому разрешено воспроизведение, номер потока PGtextST в PSR2 сохраняется (этап S157). Когда STN_table включает в себя, по меньшей мере, один поток PGtextST, которому разрешено воспроизведение, управление переходит к этапу S158, на котором для того, чтобы проверять достоверность текущего номера PiP_PG_textST_stream, определяется то, является ли текущий номер PiP_PG_textST_stream равным или меньшим, чем общее число Stream_entry в STN_table, и удовлетворяются ли условия (A), (B) и (C).
Когда определено, что условия удовлетворяются, считается, что допустимый номер PiP_PG_textST_stream уже существует в PSR2, и таким образом номер в PSR2 сохраняется (этап S159).
Когда определено, что условия не удовлетворяются, на этапе S158 управление переходит к этапу S160, на котором определяется то, является ли текущий номер PiP_PG_textST_stream равным или меньшим, чем общее число Stream_entry в STN_table, и удовлетворяются ли условия (A), (C) и (Z). Когда определено, что условия удовлетворяются, считается, что хотя номер PiP_PG_textST_stream, соответствующий текстовому субтитру неподдерживаемого языка, задан в PSR2, пользователь намеревается воспроизводить неподдерживаемый язык, и таким образом номер в PSR2 сохраняется (этап S161). Когда определено, что условия не удовлетворяются, на этапе S160 текущий поток субтитров PG textST, который является оптимальным для текущего элемента воспроизведения, выбирается (этап S162).
До сих пор пояснялась процедура для выбора потока PG textST.
Фиг. 50 - это блок-схема последовательности операций способа, показывающая процедуру для выбора текущего потока субтитров PG textST, который является оптимальным для текущего элемента воспроизведения.
На этапе S190 проверяется для всех потоков субтитров PG textST то, удовлетворяются ли следующие условия (a), (b), (c) и (d).
Условия (a), (b), (c) и (d) задаются следующим образом, когда целевой поток презентационной графики для проверки - это поток презентационной графики i.
Условие (a): устройство воспроизведения имеет возможность декодирования потока презентационной графики i;
Условие (b): устройство воспроизведения имеет возможность воспроизведения языка, который указывается посредством потока презентационной графики i;
Условие (c): сравнение между номером потока вторичного видео в PSR14 и номером потока текстовых субтитров посредством PG Comb_info_Secondary_video_PiP_textST() указывает, что комбинация текущего потока вторичного видео и потока презентационной графики i разрешена.
Условие (d): PG_language_code потока презентационной графики i совпадает с информацией подзаголовка, где информация подзаголовка - это информация, указывающая языковую настройку в устройстве воспроизведения, более конкретно, настройку в PSR17 в PSR-наборе 23.
Условия (a), (b), (c) и (d) задаются следующим образом, когда целевой поток текстовых субтитров для проверки - это поток текстовых субтитров i.
Условие (a): устройство воспроизведения имеет возможность расширения кода символа потока текстовых субтитров i в битовую карту;
Условие (b): устройство воспроизведения имеет возможность поддержки языкового атрибута потока текстовых субтитров i;
Условие (c): сравнение между номером потока вторичного видео в PSR14 и номером потока текстовых субтитров PG посредством Comb_info_Secondary_video_PiP_textST() указывает, что комбинация текущего потока вторичного видео и потока текстовых субтитров i, указанная посредством номера потока PiP_PG_textST, разрешена.
Условие (d): textST_language_code потока текстовых субтитров i совпадает с языковой настройкой в информации подзаголовка в устройстве воспроизведения.
После проверки, на этапе S191 определяется то, удовлетворяет ли устройство воспроизведения условию (Z), описанному на предыдущей блок-схеме последовательности операций способа (воспроизведение неподдерживаемого языка). Когда устройство воспроизведения не удовлетворяет условию (Z), управление переходит к этапу S192, на котором определяется то, имеется или нет поток PG textST, который удовлетворяет условиям (a), (b), (c) и (d). Когда имеются потоки PG textST, которые удовлетворяют условиям (a), (b), (c) и (d), поток PG textST, соответствующий Stream_entry которого помещен первым в STN_table, выбирается из потоков PG textST, которые удовлетворяют условиям (a)-(d), и номер потока PG textST для выбранного потока PG textST задается в PSR2 (этап S193).
Когда нет потока PG textST, который удовлетворяет условиям (a), (b), (c) и (d), управление переходит к этапу S194, на котором определяется то, имеется или нет поток PG textST, который удовлетворяет меньшим условиям. Здесь меньшие условия - это условия (a), (b) и (c). А именно, на этапе S194 определяется то, имеется или нет поток PG textST, который удовлетворяет условиям (a), (b) и (c). Когда имеются потоки PG textST, которые удовлетворяют условиям (a), (b) и (c), поток PG textST, соответствующий Stream_entry которого помещен первым в STN_table, выбирается из потоков PG textST, которые удовлетворяют условиям (a)-(c), и номер потока PG textST для выбранного потока PG textST задается в PSR2 (этап S196).
Когда нет потока PG textST, который удовлетворяет условиям (a), (b) и (c), значение 0xFFF в качестве номера потока PiP_PG_textST задается в PSR2 (этап S195). Когда определяется на этапе S191 то, что устройство воспроизведения удовлетворяет условию (Z), управление переходит к этапу S197, на котором определяется то, имеется или нет поток PG textST, который удовлетворяет другим меньшим условиям. Здесь "другие меньшие условия" - это условия (a), (c) и (d). А именно, на этапе S197 определяется то, имеется или нет поток PG textST, который удовлетворяет условиям (a), (c) и (d).
Когда имеются потоки PG textST, которые удовлетворяют условиям (a), (c) и (d), поток PG textST, соответствующий Stream_entry которого помещен первым в STN_table, выбирается из потоков PG textST, которые удовлетворяют условиям (a), (c) и (d), и номер потока PG textST для выбранного потока PG textST задается в PSR2 (этап S198).
Когда нет потока PG textST, который удовлетворяет условиям (a), (c) и (d), управление переходит к этапу S199, на котором определяется то, имеется или нет поток PG textST, который удовлетворяет условиям (a) и (c). Когда имеются потоки PG textST, которые удовлетворяют условиям (a) и (c), поток PG textST, соответствующий Stream_entry которого помещен первым в STN_table, выбирается из потоков PG textST, которые удовлетворяют условиям (a) и (c), и номер потока PG textST для выбранного потока PG textST задается в PSR2 (этап S200). Когда нет потока PG textST, который удовлетворяет условиям (a) и (c), значение 0xFFF задается в PSR2 (этап S201).
Согласно вышеописанной структуре секция воспроизведения для текущего номера потока PiP_PG_textST задается посредством субэлемента воспроизведения бесперебойно. Следовательно, субэлемент воспроизведения, который задает секцию воспроизведения для текущего номера потока PiP_PG_textST, идентифицируется как текущий субэлемент воспроизведения.
До сих пор пояснялась процедура для выбора текущего потока субтитров PG textST.
Как описано выше, согласно настоящему варианту осуществления, когда изображение "картинка в картинке" допустимо, номер потока PiP_PG_textST выбирается из области числовых значений суммы number_of_PG_textST_streams_entry и number_of_PiP_PG_textST_stream_entry_plus и любое из потока презентационной графики и потока текстовых субтитров, которое соответствует выбранному номеру потока PiP_PG_textST, воспроизводится. При такой структуре можно выбирать между субтитром, который является подходящим для потока первичного видео, и субтитром, который является подходящим для потока вторичного видео, в качестве субтитра, который должен быть воспроизведен вместе с видеоизображением. Это расширяет диапазон вариантов, чтобы выбирать субтитры.
Когда на AV-клип, который включает в себя поток текстовых субтитров субтитра, который выбран так, как описано выше, ссылается субэлемент воспроизведения, воспроизведение прерывается, если AV-клип является недоступным клипом. Следовательно, посредством загрузки во времени AV-клипа, который включает в себя текущий поток текстовых субтитров и указывается ссылкой посредством информации субэлемента воспроизведения, можно препятствовать прерыванию воспроизведения и обеспечивать плавное выполнение воспроизведения.
<Вариант осуществления 6>
Настоящий вариант осуществления подробно описывает компоновку виртуального пакета.
Сначала описывается структура данных BD-ROM, который является основной частью виртуального пакета.
Фиг. 51 показывает пример структуры BD-ROM.
Четвертая строка на фиг. 51 показывает BD-ROM 100. Третья строка показывает дорожку 202 на BD-ROM 100. Фиг. 51 показывает дорожку 202 в состоянии, где она идет горизонтально, хотя она в действительности формируется по спирали от внутренней окружности к внешней окружности BD-ROM 100. BD-ROM 100, как другие типы оптических дисков, такие как DVD и CD, имеет зону записи, которая формируется по спирали от внутренней окружности к внешней окружности BD-ROM. BD-ROM 100 имеет "логическое адресное пространство", в котором логические данные могут быть записаны, причем логическое адресное пространство формируется между начальной зоной на стороне внутренней окружности и конечной зоной на стороне внешней окружности. Кроме того, в начальной зоне предусмотрена специальная зона. Специальная зона называется BCA (служебная зона заготовки) и может считываться только посредством накопителя, но не посредством приложений. Вследствие этой структуры, BCA адрес зачастую используется, например, для технологий охраны авторского права.
"Логическое адресное пространство" сохраняет информацию томов для файловой системы в своем заголовке, после которой следуют данные приложений, такие как данные изображений. Файловая система - это система для представления данных на диске в единицах каталогов и файлов. В BD-ROM 100, данные записываются посредством UDF (универсальный формат диска). В случае универсальных персональных компьютеров, файловая система, такая как FAT или NTFS, используются так, что данные, записанные на жестком диске в каталогах и файлах, представляются в компьютерах, повышая удобство и простоту использования. Такая файловая система предоставляет возможность считывания логических данных, которые записаны таким же образом, как в общих персональных компьютерах, посредством использования структуры каталогов и файлов.
Согласно структуре каталогов и файлов BD-ROM 100, каталог BDMV размещается непосредственно в корневом каталоге. Каталог BDMV - это каталог, в котором данные, которые могут быть сохранены в BD-ROM, такие как AV-содержимое и управляющая информация, записываются. Внутри каталога BDMV, предусмотрены: индексный файл (index.bdmv), который задает индексную таблицу, составляющую заголовок; файл кинообъектов (MovieObject.bdmv), который задает динамический сценарий; каталог PLAYLIST; каталог CLIPINF; каталог STREAM; каталог BDJA; и каталог JAR.
Эти каталоги включают в себя: AV-клип (XXX.m2ts), сохраняющий мультиплексированное AV-содержимое из видео, аудио и т.п.; файл информации о клипе (XXX.clpi) сохраняющий управляющую информацию AV-клипа; и файл списков воспроизведения (YYY.mpls), задающий логический путь воспроизведения AV-клипа.
Кроме этих файлов, предусмотрены: объектный файл BDJ (BBB.bdjo), указывающий файл JAR, который должен быть выполнен, и задающий способ его выполнения; и файл JAR (AAA.jar), сохраняющий BD-J-приложение. Эти файлы соответственно помещаются в каталоги STREAM, CLIPINF, PLAYLIST, BDJO и JAR.
Далее описывается структура данных каждого файла, который помещен в каталог BDMV. Сначала описывается индексный файл (Index.bdmv). Индексный файл включает в себя индексную таблицу.
Фиг. 52 показывает пример внутренней структуры индексного файла.
Индексная таблица - это таблица, помещенная на наивысший уровень, и она задает структуру заголовков, включающую все заголовки, сохраненные в BD-ROM, главное меню и FirstPlay. Индексная таблица указывает все заголовки, главное меню и кинообъект, включенный в файл кинообъектов, который должен быть выполнен первым посредством FirstPlay. Проигрыватель BD-ROM обращается к индексной таблице каждый раз, когда заголовок или меню вызывается, и выполняет заранее определенный кинообъект или объект BDJ. Здесь FirstPlay задается поставщиком содержимого, в котором задается кинообъект или объект BDJ, который должен быть автоматически выполнен при вставке диска. Главное меню указывает кинообъект или объект BDJ, который вызывается, когда такая команда, как "Возврат в меню", выполняется посредством пользовательской операции на пульте дистанционного управления. Список воспроизведения, который должен быть воспроизведен в прогрессивном атрибуте, должен воспроизводиться посредством BD-J-объекта бесперебойно.
До сих пор пояснялась структура данных BD-ROM как основание виртуального пакета.
Далее поясняется структура данных комплекта обновлений, сохраненного в локальном устройстве 103 хранения, со ссылкой на фиг. 53.
Фиг. 53 показывает пример внутренней структуры комплекта обновлений, сохраненного в локальном устройстве 103 хранения.
Как показано на фиг. 53, комплект обновлений, сохраненный в локальном устройстве 103 хранения, включает в себя каталог хранения дополнительного содержимого, каталог OrgID, каталог DiscID, файл информации управления слиянием (MERGE.xml), файл информации подписи (MERGE.sf) и файлы данных дополнительного содержимого (CCC.mpl, VVV.m2t и VVV.clp). Каталог хранения дополнительного содержимого - это каталог, который находится непосредственно в корневом каталоге локального устройства 103 хранения и указывает маршрут области памяти для дополнительного содержимого. Каталог хранения дополнительного содержимого имеет фиксированное значение (BD_BUDA), которое равно или меньше, чем символов распространяемого носителя для названия каталога.
Каталог OrgID - это каталог, имя которого состоит из восьми символов и который представляет, посредством шестнадцатеричной системы обозначений, 32-битовый идентификатор (OrganizationID) для идентификации поставщика фильма, указанного в управляющей информации BD (индексный файл) слоя для записи BD-ROM. Последовательные "0" в начале OrganizationID опускаются из названия каталога. Например, когда OrganizationID - это 0x0000001A, название каталога "1A".
Каталог DiscID - это каталог, который представляет, посредством шестнадцатеричной системы обозначений, четыре 32-битовых части, которые получаются посредством разделения 128-битового идентификатора (DiscID) для идентификации слоя для записи BD-ROM, указанного в управляющей информации BD (индексный файл) слоя для записи BD-ROM. Как имеет место с OrganizationID, последовательные "0" в начале DiscID опускаются из названия каталога.
Файл информации управления слиянием, файл информации подписи и файлы данных дополнительного содержимого существуют в каталоге DiscID.
Файл информации управления слиянием (MERGE.xml) состоит из информации позиций хранения файлов и информации виртуального пути, при этом информация позиций хранения файлов указывает позиции файлов, записанных в локальном устройстве хранения, составляющем виртуальный пакет, и информация виртуального пути используется для осуществления доступа к файлам на виртуальном пакете. Файл информации управления слиянием (MERGE.xml) сохраняется непосредственно в каталоге DiscID.
Файл информации подписи - это файл, указывающий электронную подпись, применяемую поставщиком к файлу информации управления слиянием, и он хранится в каталоге DiscID с именем файла "MERGE.sf". В общем, зашифрованное хэш-значение используется в качестве электронной подписи, где зашифрованное хэш-значение формируется посредством вычисления хэш-значения для информации, которая должна быть защищена от несанкционированного изменения, и шифрования хэш-значения с использованием заранее определенного закрытого ключа. В файле информации подписи настоящего варианта осуществления, хэш-значение для файла информации управления слиянием шифруется с использованием закрытого ключа, соответствующего открытому ключу, содержащемуся в сертификате на слияние, записанном в слое для записи BD-ROM.
Сертификат на слияние - это сертификат, который используется для аутентификации файла информации управления слиянием и включает в себя открытый ключ, разглашенный поставщиком. Сертификат на слияние, предоставляемый от поставщика, сохраняется в слое для записи BD-ROM с именем файла "bd.cert". Форматом файла сертификата на слияние может быть, например, X.509.
Файлы данных дополнительного содержимого - это группа файлов, которые должны быть добавлены/обновлены относительно первоначального содержимого, записанного в слое для записи BD-ROM. Файлы списков воспроизведения, AV-клипы и т.п. записываются здесь.
Фиг. 54 показывает пример содержимого файла информации управления слиянием и процесса компоновки виртуального пакета на основе содержимого файла информации управления слиянием из файла BD-ROM и файла комплекта обновлений.
Верхняя левая часть фиг. 54 показывает структуру каталогов и файлов BD-ROM. Нижняя левая часть фиг. 54 показывает структуру каталогов и файлов комплекта обновлений.
Нижняя правая часть фиг. 54 показывает содержимое файла информации управления слиянием. Как показано на чертеже, файл манифеста состоит из: "пути локального устройства хранения" локального устройства хранения, составляющего виртуальный пакет; "пути виртуального пакета" для осуществления доступа к этим файлам в виртуальном пакете; и "прогрессивный атрибут". Прогрессивный атрибут указывает, что файл не требуется до того, как виртуальный пакет скомпонован.
В качестве одного примера пути локального устройства хранения, фиг. 54 показывает "1/1/CCC.mpl", "1/1/VVV.m2t", "1/1/VVV.clp", "1/1/SSS.m2t" и "1/1/SSS.clp". Он четко показывает путь от каталога BD_BUMF к файлу данных дополнительного содержимого.
Кроме того, в качестве одного примера пути виртуального пакета, фиг. 54 показывает "BDMV/PLAYLIST/CCC.mpls", "BDMV/STREAM/VVV.m2ts", "BDMV/CLIPINF/VVV.clpi", "BDMV/STREAM/SSS.m2ts" и "BDMV/CLIPINF/SSS.clpi".
Верхняя правая часть по фиг. 54 показывает виртуальный пакет, сформированный посредством этого файла манифеста. Структура каталогов и файлов изменяется фактически так, что файлы, находящиеся в "1/1/CCC.mpl", "1/1/VVV.m2t", "1/1/VVV.clp", "1/1/SSS.m2t" и "1/1/SSS.clp" согласно пути локального устройства хранения, размещаются в "BDMV/PLAYLIST/CCC.mpls", "BDMV/STREAM/VVV.m2ts", "BDMV/CLIPINF/VVV.clpi", "BDMV/STREAM/SSS.m2ts" и "BDMV/CLIPINF/SSS.clpi". С этой компоновкой, VVV.clpi, VVV.m2ts, SSS.clpi и SSS.m2ts, которые не существуют в BD-ROM, интерпретируются так, как будто они существуют.
После того как виртуальный пакет сформирован на основе информации управления слиянием, к этим файлам на локальном устройстве хранения можно осуществлять доступ посредством информации о пути в информации управления слиянием. Здесь SSS.m2ts, которому назначен прогрессивный атрибут, не обязательно должен быть загружен в локальное устройство хранения до того, как виртуальный пакет скомпонован. Он может быть загружен, когда возникает необходимость, после того как виртуальный пакет компонуется.
Как понятно из вышеупомянутого описания, данные записываются в локальное устройство хранения в следующем порядке, когда комплект обновлений загружен:
файл информации управления слиянием -> информация списка воспроизведения -> множество фрагментов информации о клипах -> множество AV-клипов. Здесь, когда "информация списка воспроизведения -> множество фрагментов информации о клипах" завершена, виртуальный пакет может быть скомпонован. Это обусловлено тем, что это становится возможным посредством интерпретации AV-клипов как в состоянии недоступности.
Как описано выше, настоящий вариант осуществления предоставляет возможность отправки субэлемента воспроизведения в декодер системных целевых объектов через виртуальную файловую систему.
<Вариант осуществления 6>
В настоящем варианте осуществления, описывается система поддержки авторских разработок для создания комплекта обновлений для осуществления списка воспроизведения PG-потоков. Как показано на фиг. 55, система поддержки авторских разработок включает в себя устройства 300a и 300b хранения, модуль 301 создания материала, модуль 302 формирования сценариев, модуль 303 формирования BD-J, процессор 304 мультиплексирования и процессор 305 форматов.
Фиг. 55 показывает один пример системы поддержки авторских разработок.
Устройства 300a, 300b и 300c хранения соответственно сохраняют данные сценариев ROM, версию 1 образа ROM-диска и версию 2 образа ROM-диска.
Модуль 301 создания материала создает потоки, такие как видеопоток, аудиопоток, поток презентационной графики и поток интерактивной графики. Модуль 301 создания материала создает видеопоток посредством кодирования данных изображения, таких как распакованная битовая карта, в соответствии со схемой сжатия, такой как MPEG4-AVC или MPEG-2. Кроме того, модуль 301 создания материала создает аудиопоток посредством кодирования распакованного линейного PCM-аудио и т.п. в соответствии со схемой сжатия, такой как AC3. Модуль 301 создания материала создает поток презентационной графики, являющийся потоком субтитров, на основе изображений субтитров и распределения по времени отображения и файла информации о субтитре, который включает в себя эффекты субтитров, такие как постепенное появление/постепенное исчезновение. Модуль 301 создания материала создает поток интерактивной графики, составляющий экран меню, на основе изображений битовой карты, которые должны использоваться в меню, и перехода к списку файлов меню, эффектов отображения и т.п. для кнопок в меню.
Модуль 302 формирования сценариев создает сценарий в соответствии с информацией о каждом потоке, созданной посредством модуля 301 создания материала, и операций пользователями, занимающимися авторской разработкой, через GUI. Здесь файлы, такие как индексный файл, файл кинообъектов и файл списков воспроизведения, являются сценариями. Модуль 302 формирования сценариев также создает файл параметров, показывающий то, из каких потоков состоит каждый AV-клип, чтобы реализовывать обработку мультиплексирования.
Модуль 303 формирования BD-J является средством для программирования BD-J-приложения. Модуль 303 формирования BD-J создает BD-J-приложение посредством создания исходного кода BD-J-приложения в соответствии с запросом от пользователя через пользовательский интерфейс, такой как GUI.
Процессор 304 мультиплексирования мультиплексирует множество потоков, таких как видео, аудио, субтитры и кнопки, заданные в данных сценариев BD-ROM, чтобы создавать AV-клип в формате MPEG2-TS. При создании AV-клипа, процессор 304 мультиплексирования также создает файл информации о клипе, который является парой с AV-клипом. Процессор 304 мультиплексирования формирует файл информации о клипе следующим образом. Процессор 304 мультиплексирования создает карту вхождений при создании AV-клипа. Более конкретно, процессор 304 мультиплексирования обнаруживает, где каждое I-изображение (в случае MPEG2), каждое I-изображение или IDR-изображение (в случае MPEG4-AVC) или каждое I-изображение (в случае VC-1) существуют в каждом потоке, сформированном посредством модуля 301 создания материала. Процессор 304 мультиплексирования затем регистрирует точки входа в карте вхождений. Каждая точка входа показывает, относительно соответствующего одного из обнаруженных изображений, время отображения изображения и то, какой номер пакета в AV-клипе в формате MPEG2-TS имеет исходный пакет, содержащий начальные данные изображения. Когда имеется два типа видеопотоков, включенных в AV-клип (т.е. основное видео и вторичное видео), карты вхождений создаются для каждого из двух типов. Процессор 304 мультиплексирования создает файл информации о клипе с использованием набора из сформированной карты (или карт) вхождений и информации атрибутов, показывающей аудиоатрибут, видеоатрибуты и т.п. каждого потока, включенного в AV-клип.
Процессор 305 форматов создает образ диска в UDF-формате, который является файловой системой, соответствующей стандарту BD-ROM. В файловой системе размещаются первоначальные данные BD-ROM, сформированные посредством модуля 302 формирования сценариев, BD-J-приложение, созданное посредством модуля 303 формирования BD-J, AV-клип и информация о клипах, сформированные посредством процессора 304 мультиплексирования: и файлы и каталоги. Сформированный образ диска преобразуется в данные штамповки BD-ROM. Посредством выполнения процесса штамповки относительно этих данных BD-ROM может быть произведен.
Два образа диска подготавливаются с тем, чтобы создавать комплект обновлений. Один из них является образом диска, сохраненным на BD-ROM, а другой - образом диска после составления виртуального пакета.
Модуль 306 извлечения различий сравнивает два образа ROM-диска и извлекает данные различий. Например, модуль 306 извлечения различий извлекает файл, который отсутствовал в первоначальном образе диска, или выполняет двоичное сравнение, чтобы извлекать обновленный файл.
На основе модуля 306 извлечения различий модуль 307 формирования комплектов обновлений создает файл информации управления слиянием и файл информации подписи, которые соответствуют формату данных комплекта обновлений, и компонует файлы и каталоги.
Ссылаясь теперь на фиг. 56A и 56B, приводится описание способа, используемого для того, чтобы создавать образ ROM-диска и образ комплекта обновлений.
На этапе S211 модуль 301 создания материала формирует видеопоток, аудиопоток, IG-поток и PG-поток.
На этапе S212 модуль 302 формирования сценариев создает данные сценариев ROM, задающие сценарии воспроизведения, такие как индексный файл, файл кинообъектов и файл списков воспроизведения.
На этапе S213 модуль 303 формирования BD-J создает программу BD-J-приложения.
На этапе S214 процессор 304 мультиплексирования создает AV-клип и файл информации о клипе на основе данных сценариев ROM.
На этапе S215 модуль 307 формирования комплектов обновлений формирует образ ROM-диска посредством реконструирования данных сценариев ROM, модифицированного AV-клипа, файла информации о клипе и данных байтового кода восстановления, в структуру файлов и каталогов, описанную в вариантах осуществления.
На этапе S221 модуль 306 извлечения различий сравнивает эти два образа диска и извлекает данные различий.
На этапе S222 модуль 307 формирования комплектов обновлений создает данные сценариев ROM, задающие индексный файл, файл кинообъектов, файл списков воспроизведения и так далее.
На этапе S223 модуль 303 формирования BD-J создает BD-J-приложение.
На этапе S224 процессор 304 мультиплексирования создает AV-клип и файл информации о клипе на основе данных сценариев ROM.
На этапе S225 модуль 307 формирования комплектов обновлений преобразует данные различий так, чтобы быть в соответствии с форматом комплекта обновлений. На этапе S226 информация управления слиянием и файл информации подписи создаются и размещаются в комплекте обновлений.
<Дополнительные замечания>
До сих пор настоящее изобретение пояснялось через оптимальные режимы или варианты осуществления для осуществления изобретения, как его понимает заявитель на сегодняшний день. Тем не менее дополнительные усовершенствования или изменения могут быть добавлены в отношении следующих технических тем. То, выбирать ли какой-либо из вариантов осуществления или усовершенствования и изменения для того, чтобы реализовывать изобретение, зависит от усмотрения и может быть определено субъективностью разработчика.
<Диапазон приложений и языков программирования>
TM
TM
TM
В вариантах осуществления описывается то, что Java используется в качестве языка программирования для виртуальной машины. Тем не менее, не ограничиваясь Java, другие языки программирования, такие как B-Shell, Perl Script и ECMA Script, которые используются в OS UNIX и т.п., доступны.
<Запись в реальном времени>
Устройство 101 воспроизведения может осуществлять запись файлов с клипами в локальное устройство хранения посредством записи в реальном времени. В этом случае AV-потоки могут быть транспортными потоками, которые получены, поскольку записывающее устройство имеет автоматически кодированные аналоговые входные сигналы, или могут быть транспортными потоками, которые получены, поскольку записывающее устройство имеет дифференцированные в цифровой форме входные транспортные потоки.
При записи в реальном времени, записывающее устройство выполняет процесс формирования информации о клипах и информации списков воспроизведения в запоминающем устройстве, а также выполнения процесса записи AV-потока. Более конкретно, записывающее устройство формирует информацию о клипах и информацию списков воспроизведения, которая описана в вариантах осуществления, в запоминающем устройстве. После записи AV-потока записывающее устройство записывает формированную Информацию о клипах и информацию списков воспроизведения на носитель записи. При такой структуре можно формировать информацию о клипах и информацию списков воспроизведения, которые описаны в вариантах осуществления, посредством использования домашнего записывающего устройства или персонального компьютера, которое имеет функции записывающего устройства. Дополнительно, AV-поток, информация о клипах и информация списков воспроизведения, сформированные таким образом, могут быть записаны на неперезаписываемый носитель записи.
<Целевой объект AV-воспроизведения>
Целевой объект AV-воспроизведения не ограничен объектами, заданными для BD-ROM, а может быть любым содержимым, которое состоит из цифрового потока, информации структуры и информации списков воспроизведения. Цифровой поток - это мультиплексированный поток, полученный посредством мультиплексирования кодированного видеопотока и кодированного аудиопотока, которые кодированы посредством такого способа кодирования, как MPEG2 или MPEG4-AVC. Цифровой поток называется VOB в стандарте видеозаписи DVD.
Информация структуры - это информация, которая указывает взаимосвязи между информацией адресов единицы доступа (означающей единицу воспроизведения, которая может быть декодирована независимо) в вышеописанном видеопотоке и времени воспроизведения на оси времени воспроизведения видеопотока. Информация структуры называется "временной структурой" в стандарте видеозаписи DVD.
Информация списков воспроизведения - это информация, которая задает одну или более секций воспроизведения посредством пары информации времени в качестве начальной точки и информации времени в качестве конечной точки.
<Реализация процедуры управления>
Как процедуры управления, описанные в вышеприведенных вариантах осуществления с помощью блок-схем последовательности операций способа, так и процедуры управления функциональных компонентов, описанные в вышеприведенных вариантах осуществления, удовлетворяют требованиям "программы по изобретению", поскольку вышеприведенные процедуры управления реализуются конкретно с помощью аппаратных ресурсов и являются произведением технической идеи с помощью естественного права.
<Создание прикладной программы для загрузки файла с клипами или вывода события DataStarved>
Прикладная программа для загрузки файла с клипами или вывода события DataStarved может быть сформирована следующим образом. Сначала разработчик программного обеспечения пишет с помощью языка программирования исходную программу, которая исполняет каждую блок-схему последовательности операций способа и функциональный компонент. В ходе этой записи разработчик программного обеспечения использует структуру классов, переменные, переменные типа "массив", вызовы внешних функций и т.п., которые соответствуют синтаксису языка программирования, который он использует. При этом используются различные вызовы API для программирования на языке Java.
Написанная исходная программа отправляется в компилятор в качестве файлов. Компилятор транслирует исходную программу и создает объектную программу.
Трансляция, используемая посредством компилятора, включает в себя такие процессы, как синтаксический анализ, оптимизацию, выделение ресурсов и генерирование кода. При синтаксическом анализе анализируются символы и фразы, синтаксис и значение исходной программы, и исходная программа преобразуется в промежуточную программу. В ходе оптимизации промежуточная программа подвергается таким процессам, как настройка базовых элементов, анализ потоков управления и анализ потоков данных. В ходе выделения ресурсов, чтобы адаптироваться к наборам инструкций целевого процесса, переменные в промежуточной программе выделяются регистру или запоминающему устройству целевого процессора. В ходе генерирования кода каждая промежуточная инструкция в промежуточной программе преобразуется в программный код и получается объектная программа.
Сформированная объектная программа состоит из одного или более программных кодов, которые заставляют компьютер выполнять каждый этап на блок-схеме последовательности операций способа или каждую процедуру функциональных компонентов. Предусмотрены различные типы управляющих программ, такие как собственный код процессора и байт-код JAVA™. Также предусмотрены различные формы реализации этапов программных кодов. Например, когда каждый этап может быть реализован с помощью внешней функции, операторы вызова внешних функций используются в качестве программных кодов. Программные коды, которые реализуют один этап, принадлежат различным объектным программам. В RISC-процессоре, в котором типы инструкций ограничены, каждый этап блок-схемы последовательности операций способа может быть реализован посредством комбинирования инструкций арифметических операций, инструкций логических операций, инструкций ветвления и т.п.
После того как объектная программа сформирована, программист активирует компоновщик. Компоновщик выделяет области в памяти объектным программам и соответствующим библиотечным программам и связывает их для того, чтобы сформировать загрузочный модуль. Сформированный загрузочный модуль базируется на допущении, что он является считываемым посредством компьютера, и заставляет компьютер выполнять процедуры, указанные на блок-схемах последовательности операций способа, и процедуры функциональных компонентов. Прикладная программа для загрузки файла с клипами или вывода события DataStarved может быть сформирована таким образом. Программа, сформированная таким образом, может быть записана на машиночитаемый носитель записи, и программа может быть предоставлена пользователю в состоянии, где она записана на машиночитаемом носителе записи.
<Системная LSI>
Желательно, чтобы части аппаратных средств устройства 101 воспроизведения, которые главным образом состоят из логических элементов, исключая механические конструктивные элементы (BD-накопитель) и конструктивные элементы (видеоплоскость, графическая плоскость), которые реализованы в запоминающем устройстве большой емкости, реализовывались как одна системная LSI. Это обусловлено тем, что части, главным образом состоящие из логических элементов, могут быть интегрированы с высокой плотностью.
Системная LSI получается посредством реализации микросхемы на подложке с высокой плотностью размещения и ее компоновки. Системная LSI также получается посредством реализации множества микросхем на подложке с высокой плотностью размещения и их компоновки, с тем чтобы множество микросхем имели внешний вид одной системной LSI (такая системная LSI называется многокристальным модулем).
Системная LSI имеет тип QFP (плоский корпус с четырехсторонним расположением выводов) и PGA (матрица штырьковых выводов). В системной LSI QFP-типа выводы крепятся к четырем сторонам компоновки. В системной LSI PGA-типа множество выводов крепится к нижней части.
Эти выводы выступают в качестве интерфейса с другими схемами. Системная LSI, которая соединяется с другими схемами через такие выводы в качестве интерфейса, играет роль ядра устройства 101 воспроизведения.
Такая системная LSI может быть встроена в различные типы устройств, которые могут воспроизводить изображения, к примеру, телевизионный приемник, игровая машина, персональный компьютер, односегментный мобильный телефон, а также в устройство 101 воспроизведения. Системная LSI тем самым значительно расширяет применение настоящего изобретения.
Когда элементарный буфер, видеодекодер, аудиодекодер и графический декодер интегрированы в системную LSI, желательно, чтобы системная LSI соответствовала архитектуре Uniphier.
Системная LSI, соответствующая архитектуре Uniphier, включает в себя следующие схемные блоки.
Процессор параллельной обработки данных (DPP)
DPP - это процессор SIMD-типа, в котором множество элементарных процессоров выполняет одну операцию. DPP достигает параллельного декодирования множества пикселов, составляющих изображение, посредством инструктирования функциональным модулям соответственно встроенным в элементарные процессоры, работать одновременно по одной инструкции.
Процессор параллельной обработки инструкций (IPP)
IPP включает в себя: контроллер локального запоминающего устройства, который состоит из RAM инструкций, кэша инструкций, RAM данных и кэша данных; процессор, который состоит из модуля выборки инструкций, декодера, модуля выполнения и регистрового файла; и виртуальный модуль многопроцессорной обработки, который заставляет процессор осуществлять параллельное выполнение множества приложений.
Блок MPU
Блок MPU состоит из: периферийных схем, таких как ARM-ядро, интерфейс внешней шины (контроллер шины, BCU), DMA-контроллер, таймер, контроллер векторных прерываний; и периферийных интерфейсов, таких как UART, GPIO (интерфейс ввода-вывода общего назначения) и синхронизирующий последовательный интерфейс.
Блок потокового ввода-вывода
Блок потокового ввода-вывода выполняет ввод-вывод данных с использованием устройства накопителя, устройства на жестком диске и устройства накопителя на картах памяти SD, которые подключены по внешним шинам через USB-интерфейс и пакетный ATA-интерфейс.
AV-блок ввода-вывода
AV-блок ввода-вывода, который состоит из аудиоввода-вывода, видеоввода-вывода и OSD-контроллера, выполняет ввод-вывод данных с телевизионным приемником и AV-усилителем.
Блок управления памятью
Блок управления памятью выполняет считывание и запись из/в SD-RAM, соединенное с ним через внешние шины. Блок управления памятью состоит из модуля подключения внутренних шин для управления внутренним соединением между блоками, модуля управления доступом для передачи данных из подключенного SD-RAM за пределы системной LSI и модуля диспетчеризации доступа для регулирования запросов из блоков на то, чтобы осуществлять доступ к SD-RAM.
Далее описывается подробная технологическая процедура. Сначала обрисовывается принципиальная схема части, которая должна быть системной LSI, на основе чертежей, которые показывают структуры вариантов осуществления. Затем составляющие элементы целевой структуры реализуются с использованием схемных элементов, IC или LSI.
Когда составляющие элементы реализуются, шины, подключаемые между схемными элементами, IC или LSI, периферийные схемы, интерфейсы с внешними объектами и т.п. задаются. Дополнительно, линии соединений, линии питания, линии заземления, синхросигналы и т.п. задаются. Для этих определений, расписание операций составляющих элементов регулируется с учетом технических требований LSI, и полосы пропускания, необходимые для составляющих элементов, гарантируются. После других требуемых регулировок принципиальная схема подготавливается.
После того как принципиальная схема готова, конструктивная компоновка выполняется. Конструктивная компоновка - это работа по созданию шаблона печатной платы посредством определения того, как размещать части (схемные элементы, IC, LSI) схемы и линии соединений на плате.
После того как конструктивная компоновка выполнена, и шаблон печатной платы создан, результаты конструктивной компоновки преобразуются в CAM-данные, и CAM-данные выводятся в оборудование, такое как станок с NC (числовое программное управление). NC-станок выполняет реализацию SoC или реализацию SiP. Реализация SoC (система на одном кристалле) является технологией печати множества схем на микросхеме. Реализация на SiP (система в одном корпусе) - это технология компоновки множества схем посредством смолы и т.п. Посредством этих процессов, системная LSI настоящего изобретения может быть изготовлена на основе внутренней структуры устройства 101 воспроизведения, описанной в каждом из вышеприведенных вариантов осуществления.
Здесь следует отметить, что интегральная схема, сформированная так, как описано выше, может называться IC, LSI, ультра-LSI, супер-LSI и т.п., в зависимости от уровня интеграции.
Также можно достигать системной LSI посредством использования FPGA (программируемой пользователем вентильной матрицы). В этом случае множество логических элементов должно быть размещено в решетчатой структуре, и вертикальные и горизонтальные провода соединяются на основе комбинаций ввода-вывода, описанных в LUT (таблице поиска), так, чтобы аппаратная структура, описанная в каждом варианте осуществления, могла быть реализована. LUT сохраняется в SRAM. Поскольку содержимое SRAM стирается, когда питание выключено, когда FPGA используется, необходимо задавать конфигурационную информацию, с тем чтобы записывать, в SRAM, LUT для реализации аппаратной структуры, описанной в каждом варианте осуществления.
Промышленная применимость
Устройство воспроизведения по настоящему изобретению предоставляет эффективное выполнение функции воспроизведения, подобного потоковому, и снижает время, потраченное пользователем на загрузку. Настоящее изобретение предоставляет возможность поставки более практически полезного видеосодержимого, такого как заголовки фильма, на рынки и тем самым должно активизировать кинорынок и рынок коммерческих устройств. Следовательно, устройство воспроизведения по настоящему изобретению предоставляет удобство и простоту использования на кинорынке и рынке коммерческих устройств.