СПОСОБ КОДИРОВАНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ, УСТРОЙСТВО КОДИРОВАНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ, СПОСОБ ЗАПИСИ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ, НОСИТЕЛЬ ЗАПИСИ, СПОСОБ ВОСПРОИЗВЕДЕНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ, УСТРОЙСТВО ВОСПРОИЗВЕДЕНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ И СИСТЕМА ВОСПРОИЗВЕДЕНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ
METHOD TO CODE MOVING IMAGE, DEVICE TO CODE MOVING IMAGE, METHOD TO RECORD MOVING IMAGE, RECORD MEDIUM, METHOD TO REPRODUCE MOVING IMAGE, DEVICE TO REPRODUCE MOVING IMAGE, AND SYSTEM TO REPRODUCE MOVING IMAGE

Область техники, к которой относится изобретение
[0001] Настоящее изобретение относится к способу кодирования движущегося изображения для кодирования, когда генерирование кодированного потока, включающего в себя движущееся изображение, передний план которого и фон являются отделимыми согласно порогу уровня яркости, движущегося изображения, в то же время изменяя порог уровня яркости. Настоящее изобретение также относится к способу записи движущегося изображения, способу воспроизведения движущегося изображения, носителю записи, на котором записан кодированный поток, и т.п.
Уровень техники
[0002] Ниже описан DVD-видеодиск (далее просто названный "DVD") согласно обычной методике.
[0003] Фиг.1 показывает структуру DVD. Как показано в нижней части Фиг.1, логическое пространство адресов обеспечивается между начальной дорожкой и оконечной зоной на диске DVD. Информация об объеме файловой системы хранится в начале логического пространства адресов с последующими данными приложений, такими как видео и аудио.
[0004] Файловая система определяется ISO 9660 (Международной организации по стандартизации) или Универсальным Дисковым Форматом (UDF) и является механизмом для представления данных на диске в блоках (единицах), называемых каталогом и файлом. Персональный компьютер (РС) для ежедневного использования также может представлять данные, сохраненные на жестком диске в форме каталогов и файлов, через файловую систему, такую как FAT или NTFS. Это увеличивает удобство и простоту использования.
[0005] DVD используют и UDF, и ISO 9660 (комбинация которых известна как "UDF Bridge" (Мост UDF)) так, чтобы данные могли быть считаны драйвером файловой системы любого из UDF и ISO 9660. В случае DVD-RAM/R/RW, которые являются перезаписываемыми дисками DVD, данные могут быть физически считаны, записаны и удалены посредством этих файловых систем.
[0006] Данные, записанные на DVD, могут быть просмотрены посредством UDF Bridge как каталоги и файлы, как показано в верхней левой части Фиг.1. Каталог под названием "VIDEO_TS" помещается непосредственно ниже корневого каталога ("ROOT" на Фиг.1). Прикладные данные DVD сохраняются в этом каталоге VIDEO_TS. Прикладные данные сохраняются как множество файлов. Множество файлов главным образом включает в себя следующее:
[0007] VIDEO_TS.IFO - файл информации управления воспроизведением диска;
VTS_01_0.IFO - файл информации управления воспроизведением заголовка set#1 (набор №1) видео;
VTS_01_0.VOB - файл потока заголовка set#1 видео.
[0008] Определены два типа расширений. "IFO" указывает файл, хранящий информацию управления воспроизведением, и "VOB" указывает файл, хранящий поток MPEG, который является AV данными. Информация управления воспроизведением включает в себя информацию для реализации интерактивности (способа динамического изменения воспроизведения в соответствии с пользовательской операцией), используемой для DVD, информацию, такую как метаданные, которая присоединена к заголовку или потоку AV, и т.п. В DVD информация управления воспроизведением также называется как навигационная информация.
[0009] Файл информации управления воспроизведением включает в себя "VIDEO_TS.IFO" для управления всем диском, и "VTS_01_0.IFO", которая является информацией управления воспроизведением для индивидуального набора видеозаголовков (в DVD множество заголовков, например, различных кинофильмов или различных версий кинофильмов, может быть записано на одном диске). "01" в теле имени файла "VTS_01_0.IFO" указывает номер набора видеозаголовков. Например, файл информации управления воспроизведением для заголовка set#2 видео есть "VTS_02_0.IFO".
[0010] Верхняя правая часть Фиг.1 показывает пространство навигации DVD в прикладном уровне DVD. Это есть пространство логической структуры, где развертывается вышеупомянутая информация управления воспроизведением. В пространстве навигации DVD информация, хранящаяся в "VIDEO_TS.IFO", развертывается как информация администратора видео (VMGI), и информация управления воспроизведением, которая существует для каждого индивидуального набора заголовков видео, такого как "VTS_01_0.IFO", развертывается как информация набора заголовков видео (VTSI).
[0011] VTSI включает в себя информацию цепочки программ (PGCI). PGCI есть информация о последовательности воспроизведения, названной цепочкой программ (PGC). PGCI главным образом состоит из группы фрагментов и своего рода информации программирования, называемой командами. Сам фрагмент соответствует всему или части видеообъекта (который является потоком MPEG и указывается аббревиатурой VOB). Воспроизведение фрагмента является эквивалентом воспроизведения секции, в VOB, которая обозначается фрагментом.
[0012] Команды обрабатываются виртуальной машиной DVD и являются аналогичными, например, Java (зарегистрированный товарный знак) Script, выполняемым на браузере. Однако команды DVD отличаются от Java (зарегистрированный товарный знак) Script следующим. Java (зарегистрированный товарный знак) Script управляют окнами и браузерами (например, открывают окно нового браузера), в дополнение к выполнению логических операций. С другой стороны, команды DVD только управляют воспроизведением AV заголовков, например, посредством обозначения части, подлежащей воспроизведению, в дополнение к выполнению логических операций.
[0013] Фрагмент включает в себя начальный и конечный адреса соответствующей секции в VOB, записанном на диске (логические адреса памяти на диске), в качестве ее внутренней информации. Устройство воспроизведения считывает данные, используя начальный и конечный адреса, записанные в фрагменте относительно VOB, и воспроизводит считанные данные.
[0014] Фиг.2 есть схематическое представление для пояснения навигационной информации, которая внедрена в поток AV. Интерактивность, которая обеспечивается DVD, реализуется не только посредством навигационной информации, хранящейся в вышеупомянутых "VIDEO_TS.IFO" и "VTS_01_0.IFO". Другая важная навигационная информация является мультиплексированной в VOB вместе с видео и аудиоданными, посредством использования выделенной несущей, названной навигационным пакетом (далее называемой нави-пакетом или NV_PCK).
[0015] Меню поясняется ниже в качестве простого примера интерактивности. Экран меню имеет несколько кнопок. Для каждой из кнопок определен процесс, который должен быть выполнен, когда кнопка выбирается и выполняется. Одна кнопка находится в выбранном состоянии в меню (нажатая кнопка подсвечивается, будучи перекрытой полупрозрачным цветом, чтобы указать выбранное состояние кнопки пользователю). Пользователь может переместить подсвечивание (выделение) в любую из кнопок, расположенных выше, ниже, вправо и влево от в настоящее время выбранной кнопки, посредством использования клавиш Up/Down/Right/Left на пульте дистанционного управления. То, когда пользователь перемещает выделение на кнопку, которую пользователь хочет выбрать для выполнения, используя клавиши Up/Down/Right/Left на пульте дистанционного управления, и определяет выбор (например, посредством нажатия клавиши ENTER), программа команды, соответствующей нажатой кнопке, выполняется. Как правило, воспроизведение заголовка или раздела, соответствующего нажатой кнопке, выполняется посредством команды.
[0016] Верхняя левая часть Фиг.2 в качестве примера показывает информацию управления, хранящуюся в NV_PCK.
[0017] NV_PCK включает в себя информацию цвета выделения, информацию кнопки для каждой индивидуальной кнопки, и т.п. Информация цвета выделения включает в себя информацию цветовой палитры, которая задает полупрозрачный цвет выделения, который должен быть отображен посредством наложения. Информация кнопки для каждой отдельной кнопки включает в себя информацию прямоугольной области, показывающую позицию кнопки, информацию перемещения подсвечивания о перемещениях от этой кнопки к другим кнопкам (обозначающую кнопки-адресаты перемещения, соответствующие операциям пользователя с клавишами Up/Down/Right/Left), и информацию команды кнопки (команда, которая должна быть выполнена, когда выбор кнопки определен).
[0018] Выделение (подсвечивание) на меню генерируется как наложенное изображение, как показано в верхней средней правой части Фиг.2. Это наложенное изображение получается посредством задания цвета, определенного информацией цветовой палитры, для области, показанной информацией прямоугольной области в информации кнопки. Наложенное изображение накладывается на фоновое изображение, показанное в правой части Фиг.2, и получающееся изображение отображается на экране.
[0019] Таким образом реализуются меню в DVD. Основная причина, почему часть навигационных данных внедряется в поток, используя NV_PCK, состоит в том, чтобы позволить динамически обновлять информацию меню в синхронизации с потоком (например, отображение меню только в течение пяти - десяти минут во время воспроизведения кино), так что даже прикладная программа, которая имеет трудное согласование синхронизации, может быть соответственно реализована. Другая основная причина состоит в том, чтобы улучшить удобство использования для пользователя, например, посредством сохранения информации для поддержания специального воспроизведения в NV_PCK, чтобы разрешить «гладкое» декодирование и воспроизведение AV данных, даже когда DVD воспроизводят в специальном режиме, таком как ускоренная перемотка вперед или перемотка назад.
[0020] Фиг.3 есть концептуальное представление, показывающее VOB, который является потоком, на DVD. Как показано на Фиг.3, данные, такие как видео, аудио и субтитры (показанные в уровне А на Фиг.3), пакетизированы и упакованы (показаны в уровне B на Фиг.3) и мультиплексированы друг с другом, чтобы сформировать один MPEG поток программы (показанный в уровне C на Фиг.3), на основании стандарта системы MPEG (Международная организация по Стандартизации/Международная Электротехническая Комиссия (ISO/IEC) 13818-1). NV_PCK, который несет команду кнопки для реализации интерактивности, является мультиплексированным в потоке программы MPEG также, как описано выше.
[0021] В системе MPEG мультиплексирование имеет следующую особенность. В то время как отдельные данные, подлежащие мультиплексированию, то есть видеоданные, аудиоданные или данные субтитра, размещаются в строке битов, на основании порядка декодирования, эти различные типы данных в целом, то есть видеоданные, аудиоданные и данные субтитра в целом, не обязательно размещаются в строке битов, на основании порядка воспроизведения. Это имеет место потому, что модель декодера для мультиплексированного потока системы MPEG (обычно называемого Системным Целевым Декодером или STD (показанный в уровне D на Фиг.3)) имеет буферы декодера, соответствующие отдельным элементарным потокам, полученным посредством демультиплексирования, и временно сохраняет демультиплексированные данные в соответствующих буферах декодера до декодирования. Например, буферы декодера, определенные посредством DVD-видео, имеют различные размеры в зависимости от отдельных элементарных потоков, таким образом, что размер буфера составляет 232 Кбайта для видео, 4 Кбайта для аудио и 52 Кбайта для субтитров.
[0022] Другими словами, данные субтитра, мультиплексированные рядом с видеоданными, не обязательно декодируются и воспроизводятся в те же самые моменты времени, что и видеоданные.
[0023] Есть также стандарт DVD следующего поколения, названный диском blu-ray (BD).
[0024] В то время как DVD предназначаются для пакетного распределения видео (формат DVD-Video) стандартного качества изображения (качество Standard Definition) и записи аналогового радиовещания (формат DVD-Video Recording), диски blu-ray способны записывать цифровые передачи вещания с качеством изображения высокой четкости (качество High Definition), как есть (формат Blu-ray Disk Rewritable, ниже называемый BD-RE).
[0025] Однако так как BD-RE широко предназначается для записи программ цифрового вещания, информация, поддерживающая специальное воспроизведение и т.п., не была оптимизирована. Для будущего пакетного распределения видео высокого разрешения с более высокой частотой следования, чем цифровое радиовещание (формат BD-ROM), необходим механизм, который не вызывает стресса у пользователя даже во время специального воспроизведения.
[0026] Усовершенствованное кодирование видео (AVC) MPEG4 использовалось в качестве одного из способов кодирования движущегося изображения в BD. AVC MPEG4 - стандарт кодирования следующего поколения с высокой степенью сжатия, который был совместно разработан ISO/IEC JTCl/SC29/WG11 и Международным Союзом по телекоммуникациям - Сектором стандартизации телекоммуникаций (International Telecommunication Union- Telecommunication Standartization Sector) (ITU-T).
[0027] Обычно при кодировании движущегося изображения информация сжимается посредством сокращении избыточности во временном направлении и пространственном направлении. При кодировании с межкадровым (между изображениями) предсказанием, которое стремится уменьшить временную избыточность, обнаружение движения и генерирование прогнозирующего изображения выполняются в единицах блоков в отношении изображения, которое предшествует и/или следует за целевым изображением кодирования, и разность между целевым изображением кодирования и сгенерированным прогнозирующим изображением кодируется. Термин "изображение", используемое здесь, обозначает изображение одного экрана (кадра). Более подробно, изображение обозначает кадр в прогрессивном формате, и кадр или поле в формате с (чересстрочным) чередованием. В чересстрочном формате один кадр состоит из двух полей различных времен. Чересстрочное изображение может быть кодировано и декодировано посредством обработки одного кадра в качестве самого кадра, посредством обработки одного кадра как двух полей или посредством обработки каждого блока кадра как структуры кадра или полевой структуры.
[0028] I-изображение есть кодированное изображение с предсказанием внутри изображения, которое не имеет опорного изображения. P-изображение - есть кодированное изображение с предсказанием между изображениями, которое ссылается только на одно изображение. B-изображение - кодированное изображение с предсказанием между изображениями, которое ссылается на два изображения одновременно. B-изображение может ссылаться на любую комбинацию из двух изображений, которые предшествуют и/или следуют за B-изображением в терминах времени отображения. Опорное изображение (опорная картинка) может быть назначено для каждого блока, который является основной единицей кодирования/декодирования. Здесь, опорное изображение, которое записано сначала в кодированном потоке битов, и опорное изображение, которое записано позже в кодированном потоке битов, различаются друг от друга как первое опорное изображение и второе опорное изображение соответственно. Следует заметить, что, чтобы закодировать/декодировать Р-изображение или B-изображение, его опорное изображение должно быть уже закодировано/декодировано.
[0029] Остаточный сигнал, который обеспечивается посредством вычитания прогнозирующего сигнала, сгенерированного посредством предсказания внутри изображения или предсказания между изображениями из кодирования целевого изображения, преобразовывается по частоте и квантуется, и затем кодируется с переменной длиной (кода), и выдается как кодированный поток. AVC MPEG4 имеет два способа кодирования с переменной длиной (кода), а именно, адаптивное к контексту кодирование с переменной длиной (CAVLC) и адаптивное к контексту двоичное арифметическое кодирование (CABAC), которые могут переключаться в блоках изображений. Адаптивность к контексту, упомянутая здесь, обозначает режим адаптивного выбора эффективного способа кодирования в соответствии с обстоятельствами.
[0030] Ниже описан поток, в котором могут существовать различные способы кодирования (или движущееся изображение с различными атрибутами), и процесс декодирования устройством декодирования, которое принимает такой поток. Два примера используются в этом описании. Первый пример есть случай, когда могут существовать различные способы кодирования с переменной длиной (CAVLC/CABAC). Второй пример есть случай, когда порог уровня яркости, который используется при выполнении обработки прозрачности посредством ключа яркости в отношении «картинка-в-картинке», может принимать различные значения.
[0031] Сначала описывается ниже первый пример потока, в котором могут существовать различные способы кодирования (или движущееся изображение с различными атрибутами), то есть, пример, где могут существовать различные способы кодирования с переменной длиной (CAVLC/CABAC). Фиг.4 показывает пример кодирования с переменной длиной (кода), которое применяется к изображениям, которые составляют блок со случайным доступом в потоке AVC MPEG4. В AVC MPEG4 нет понятия, соответствующего группе изображений (GOP) MPEG2 Video. Однако посредством деления данных на специальный блок изображений, который может быть декодирован независимо от других изображений, может быть получен блок со случайным доступом, соответствующий GOP. Такой блок со случайным доступом далее называют блоком произвольного доступа (RAU). Как показано на Фиг.4, используется ли CABAC или CAVLC для кодирования с переменной длиной, определяется на основе изображения.
[0032] Процесс декодирования с переменной длиной является различным для CABAC и CAVLC. Процесс декодирования с переменной длиной (кода) для каждого из CABAC и CAVLC описывается ниже со ссылками на Фиг.5A и 5C. Фиг.5A является блок-схемой устройства декодирования изображения, которое выполняет адаптивное к контексту двоичное арифметическое декодирование (CABAD) в качестве процесса декодирования данных, которые являются кодированными с переменной длиной (кода), согласно CABAC, и адаптивное к контексту декодирование с переменной длиной (CAVLD) - в качестве процесса декодирования данных, которые являются кодированными с переменной длиной (кода) согласно CAVLC.
[0033] Процесс декодирования изображения согласно CABAD выполняется следующим образом. Сначала кодированные данные Vin, сгенерированные согласно CABAC, вводятся на буфер 5001 потока. Модуль 5002 арифметического декодирования считывает кодированные данные из буфера 5001 потока, выполняет арифметическое декодирование кодированных данных Vr и вводит двоичные данные Bin1 в буфер 5003 двоичных данных. Модуль 5004 декодирования двоичных данных получает двоичные данные Bin2 из буфера 5003 двоичных данных, декодирует двоичные данные Bin2 и вводит двоичные данные Din1, полученные в результате декодирования, в модуль 5005 восстановления пикселей. Модуль 5005 восстановления пикселей выполняет процессы, такие как обратное квантование, обратное преобразование, и компенсация движения в отношении набора из двоичных декодированных данных Din1, чтобы восстановить пиксели, и выдает декодированные данные Vout. Фиг.5B есть последовательность операций, показывающая операцию от начала декодирования кодированных данных CABAC до процесса восстановления пикселей. Сначала на этапе S5001 кодированные данные CABAC Vin арифметически декодируются, чтобы сгенерировать двоичные данные. Затем, на этапе S5002 выполняется суждение (принятие решения) относительно того, был ли получен заранее определенный блок двоичных данных, такой как одно или более изображений. Когда заранее определенный блок двоичных данных был получен, операция переходит к этапу S5003. Когда заранее определенный блок двоичных данных не был получен, этап S5001 повторяется. Эта буферизация двоичных данных выполняется по следующей причине. В CABAC объем кода двоичных данных в изображении или в макроблоке может значительно увеличиться, что может вызвать существенное увеличение нагрузки обработки для арифметического декодирования. Поэтому чтобы реализовать гладкое воспроизведение даже в наихудшем случае, необходимо провести некоторый объем арифметического декодирования заранее. На этапе S5003 декодируются двоичные данные. На этапе S5004 процесс восстановления пикселей выполняется над декодированными двоичными данными. Таким образом, в CABAD процесс восстановления пикселей не может быть начат, пока заранее определенный блок двоичных данных не получен на этапах S5001 и S5002. Это вызывает задержку начала декодирования.
[0034] Процесс декодирования изображения согласно CAVLD выполняется следующим образом. Сначала кодированные данные Vin, сгенерированные согласно CAVLC, вводятся на буфер 5001 потока. Затем модуль CAVLD 5006 выполняет декодирование с переменной длиной в отношении кодированных данных Vr и выводит VLD-декодированные данные Din2 на модуль 5005 восстановления пикселей. Модуль 5005 восстановления пикселей выполняет процессы, такие как обратное квантование, обратное преобразование, и компенсация движения в отношении VLD декодированных данных Din2, чтобы восстановить пиксели, и выводит декодированные данные Vout. Фиг.5C изображает последовательность операций, иллюстрирующую работу от начала декодирования кодированных данных CAVLC до процесса восстановления пикселей. Сначала на этапе S5005 выполняется CAVLD. Затем на этапе S5004 выполняется процесс восстановления пикселей. Таким образом, CAVLD отличается от CABAD, в котором нет необходимости ждать, пока заранее определенный блок данных не будет получен прежде, чем начать процесс восстановления пикселей, и нет необходимости иметь промежуточный буфер в процессе декодирования с переменной длиной, такой как буфер двоичных данных 5003.
[0035] Фиг.6 изображает последовательность операций, иллюстрирующую работу обычного устройства декодирования, которое декодирует поток, в котором способ кодирования с переменной длиной переключается, как в примере на Фиг.4. Нужно отметить, что в этом описании устройство декодирования и способ декодирования являются примерами устройства воспроизведения движущегося изображения и способа воспроизведения движущегося изображения соответственно.
[0036] Сначала на этапе S5101 устройство декодирования получает информацию, показывающую, что способ кодирования с переменной длиной применен к изображению, и переходит к этапу S5102. На этапе S5102 устройство декодирования принимает решение, отличается ли способ кодирования с переменной длиной текущего изображения от способа кодирования с переменной длиной изображения, непосредственно предшествующего текущему изображению в порядке декодирования. Так как CABAD и CAVLD используют различные способы организации буферизации данных при декодировании с переменной длиной, когда способ кодирования с переменной длиной является отличным, устройство декодирования переходит к этапу S5103, чтобы переключить организацию буферизации данных. Когда способ кодирования с переменной длиной не является отличным, устройство декодирования переходит к этапу S5104. На этапе S5104 устройство декодирования принимает решение, является ли способ кодирования с переменной длиной текущего изображения способом CAVLC. Когда способ кодирования с переменной длиной текущего изображения есть способ CAVLC, устройство декодирования переходит к этапу S5105, чтобы выполнить CAVLD. Когда способ кодирования с переменной длиной текущего изображения есть CABAC, устройство декодирования переходит к этапу S5106. На этапе S5106 устройство декодирования принимает решение, отличается ли способ кодирования с переменной длиной текущего изображения от способа кодирования с переменной длиной непосредственно предыдущего изображения в порядке декодирования. Когда способ кодирования с переменной длиной текущего изображения является отличным, устройство декодирования переходит к этапу S5107. На этапе S5107 устройство декодирования выполняет арифметическое декодирование, пока заранее определенный блок двоичных данных не будет получен, как показано на этапах S5001 и S5002 на Фиг.5, и затем декодирует двоичные данные. Когда способ кодирования с переменной длиной текущего изображения не является отличным на этапе S5106, устройство декодирования переходит к этапу S5108, чтобы выполнить обычный процесс CABAD. Обычный процесс CABAD, упомянутый здесь, является процессом CABAD, который пропускает буферизацию двоичных данных, которая необходима, когда CAVLC переключается к CABAC или когда начинается декодирование кодированного потока CABAC. Наконец, на этапе S5109 устройство декодирования выполняет процесс восстановления пикселей.
[0037] Второй пример потока, в котором различные способы кодирования (или движущееся изображение с различными атрибутами) могут существовать, то есть, пример, где порог уровня яркости (то есть атрибут движущегося изображения), который используется при выполнении обработки прозрачности посредством ключа яркости в отношении картинки-в-картинке, может принимать различные значения, описывается ниже. Носители пакетов, такие как BD-ROM, обеспечивают приложение для отображения видео, отличного от основного видео, например, видео комментарий директора, посредством наложения его на основное видео. Такое приложение называется как «картинка-в-картинке». Фиг.7 является диаграммой для пояснения картинки в картинке. Фиг.7(a) показывает плоскости отображения изображения, где плоскость 2 должна быть наложена на плоскость 1. Фиг.7(b) и 7(c) показывают изображения, отображенные на плоскости 1 и плоскости 2 соответственно. Изображение отображения плоскости 2 отображается наложенным на изображение отображения плоскости 1 (Фиг.7(d)). В такой картинке в картинке изображение, отображенное на плоскости 1, является основным видео, и изображение, отображенное на плоскости 2, является видео, отличным от основного видео. Простое наложение видеоотображения плоскости 2 на плоскость 1 приводит к тому, что изображение плоскости 1 будет полностью скрытым. Чтобы предотвратить это, обработка прозрачности посредством ключа яркости применяется к изображению плоскости 2. Ниже описана обработка прозрачности посредством ключа яркости. В обработке прозрачности каждый пиксель в изображении отображается прозрачным или непрозрачным в зависимости от уровня яркости этого пикселя. Более подробно, обработка прозрачности является следующей.
[0038] (1) Когда уровень яркости находится в диапазоне от 0 до заранее определенного порога YL включительно, пиксель отображается полностью прозрачным (с коэффициентом прозрачности 1).
[0039] (2) Когда уровень яркости превышает заранее определенный порог YL, пиксель отображается непрозрачным с уровнем яркости (с коэффициентом прозрачности 0).
[0040] На Фиг.7(c), предположим, что уровень яркости равен или меньше чем заранее определенный порог YL в заштрихованной по диагонали области и превышает заранее определенный порог YL в другой области. В таком случае при наложении изображения плоскости 2 на плоскость 1 заштрихованная по диагонали область отображается прозрачной, в то время как другая область отображается непрозрачной, как показано на Фиг.7(d). Необходимо отметить, что в изображении плоскости 2 только область (пиксель), уровень яркости которого превышает порог YL, отображается наложенным на изображение плоскости 1. Таким образом, плоскость 2 разделяется на передний план и фон согласно порогу уровня яркости, и только передний план отображается наложенным на плоскость 1, таким образом реализуя картинку в картинке.
Патентная Ссылка 1: Публикация японской еще не прошедшей экспертизу заявки №2000-228656
Непатентная Ссылка 1: Предложенный Стандарт SMPTE для Телевидения: VC-1 Compressed Video Bitstream Format and Decoding Process, Final Committee Graft 1 Revision 6, 2005.7.13.
Раскрытие изобретения
Проблемы, которые должно решить изобретение
[0041] Однако устройство декодирования, которое принимает поток, в котором могут существовать различные способы кодирования (или движущееся изображение с различными атрибутами), как описано выше, имеет следующую проблему: нагрузка обработки увеличивается из-за необходимости в процессе переключения во время декодирования. Фиг.8 есть диаграмма для пояснения проблемы, которая может возникнуть, когда обработка прозрачности посредством ключа яркости применяется к обычному носителю записи, сгенерированному обычным устройством мультиплексирования. Фиг.8 показывает секции, во время которых видео, которое подвергается процессу прозрачности посредством ключа яркости, непрерывно воспроизводится. Более подробно, секцию 1, секцию 2 и секцию 3 нужно непрерывно воспроизвести в этом порядке. Порог уровня яркости для пикселя, который отображается прозрачным с коэффициентом прозрачности 1, равен 20 в секции 1, 40 в секции 2, и 30 в секции 3. Это делает необходимым изменить порог уровня яркости для прозрачного пикселя, когда одна секция заканчивается и другая начинается. Когда порог уровня яркости изменяется, операция для наложения плоскости также требует изменения. Задержка происходит из-за этого изменения операции. Это вызывает прерывистость воспроизведения между секциями, которые должны быть воспроизведены гладко.
[0042] Таким образом, при воспроизведении обычного носителя записи, на котором записан мультиплексированный поток, сгенерированный обычным способом кодирования изображений, порог ключа яркости изменяется в единицах секций воспроизведения, что вызывает проблему задержки в обработке порога уровня яркости во время воспроизведения.
[0043] Настоящее изобретение стремится обеспечивать носитель записи, способ кодирования движущегося изображения, устройство кодирования движущегося изображения, способ записи движущегося изображения, способ воспроизведения движущегося изображения, устройство воспроизведения движущегося изображения и систему воспроизведения движущегося изображения, которые могут подавить неоднородность воспроизведения без увеличения нагрузки обработки во время воспроизведения.
Средство для решения проблемы
[0044] Настоящее изобретение было задумано, чтобы решить вышеупомянутую проблему.
[0045] Способ кодирования движущегося изображения согласно настоящему изобретению характеризуется кодированием, в секции, которая подлежит непрерывному воспроизведению (секция непрерывного воспроизведения), движущегося изображения без переключения способа кодирования (или атрибута движущегося изображения), и генерированием информации управления, которая включает в себя информацию флага, указывающую, что способ кодирования является фиксированным в секции.
[0046] Более подробно, для решения случая картинки в картинке, способ кодирования движущегося изображения согласно настоящему изобретению является способом кодирования движущегося изображения для кодирования видеопотока, который включает в себя первое движущееся изображение и второе движущееся изображение, которое должно быть наложено на первое движущееся изображение, причем наложение выполняется посредством наложения только области изображения, уровень яркости которой превышает порог во втором движущемся изображении, на первое движущееся изображение, причем способ кодирования движущегося изображения включает в себя: определение секции непрерывного воспроизведения, которая является группой частичных секций и подлежит непрерывному воспроизведению, в видеопотоке; кодирование первого движущегося изображения и второго движущегося изображения в частичных секциях, которые составляют секцию непрерывного воспроизведения, определенную на этапе определения, при ограничении, которое препятствует тому, чтобы порог был изменен в секции непрерывного воспроизведения; генерирование информации управления, включающей в себя информацию флага, которая указывает, что порог является фиксированным в секции непрерывного воспроизведения; и объединение первого движущегося изображения и второго движущегося изображения, кодированного на этапе кодирования, с информацией управления, сгенерированной на этапе генерирования, и вывод этой комбинации.
[0047] Кроме того, устройство кодирования движущегося изображения согласно настоящему изобретению является устройством кодирования движущегося изображения для кодирования видеопотока, который включает в себя первое движущееся изображение и второе движущееся изображение, которое должен быть наложено на первое движущееся изображения, причем наложение выполняется посредством наложения только области изображения, уровень яркости которой превышает порог во втором движущемся изображении, на первое движущееся изображение, устройство кодирования движущегося изображения включает в себя: модуль определения секции непрерывного воспроизведения, который определяет секцию непрерывного воспроизведения, которая является группой частичных секций и подлежит непрерывному воспроизведению, в видеопотоке; модуль кодирования, который кодирует первое движущееся изображение и второе движущееся изображение в частичных секциях, которые составляют секцию непрерывного воспроизведения, определенную модулем определения секции непрерывного воспроизведения, при ограничении, которое препятствует тому, чтобы порог был изменен в секции непрерывного воспроизведения; модуль генерирования информации управления, который генерирует информацию управления, включающую в себя информацию флага, которая указывает, что порог является фиксированным в секции непрерывного воспроизведения; и модуль комбинирования, который комбинирует первое движущееся изображение и второе движущееся изображение, кодированное модулем кодирования, с информацией управления, сгенерированной модулем генерирования информации управления, и выводит эту комбинацию.
[0048] Кроме того, способ записи движущегося изображения согласно настоящему изобретению является способом записи движущегося изображения для кодирования видеопотока и записи кодированного видеопотока на носитель записи, причем видеопоток включает в себя первое движущееся изображение и второе движущееся изображение, которое должно быть наложено на первое движущееся изображение, при этом наложение выполняется посредством наложения только области изображения, уровень яркости которой превышает порог во втором движущемся изображении, на первое движущееся изображение, причем способ записи движущегося изображения включает в себя: определение секции непрерывного воспроизведения, которая является группой частичных секций и подлежит непрерывному воспроизведению, в видеопотоке; кодирование первого движущегося изображения и второго движущегося изображения в частичных секциях, которые составляют секцию непрерывного воспроизведения, определенную на этапе определения, при ограничении, которое препятствует тому, чтобы порог был изменен в секции непрерывного воспроизведения; генерирование информации управления, включающей в себя информацию флага, которая указывает, что порог является фиксированным в секции непрерывного воспроизведения; и объединение первого движущегося изображения и второго движущегося изображения, кодированного на этапе кодирования, с информацией управления, сгенерированной на этапе генерирования, и запись комбинации на носитель записи.
[0049] Кроме того, носитель записи согласно настоящему изобретению является носителем записи, на котором записаны считываемые компьютером данные, причем считываемые компьютером данные включают в себя: видеопоток, включающий в себя первое движущееся изображение и второе движущееся изображение, которое должно быть наложено на первое движущееся изображение, причем наложение выполняется посредством наложения только области изображения, уровень яркости которой превышает порог во втором движущемся изображении, на первое движущееся изображение; и информацию управления, используемую для управления видеопотоком, при ограничении, которое препятствует тому, чтобы порог был изменен в секции непрерывного воспроизведения, которая является группой частичных секций и подлежит непрерывному воспроизведению в видеопотоке, причем первое движущееся изображение и второе движущееся изображение в частичных секциях, которые составляют секцию непрерывного воспроизведения, были закодированы, и информация управления включает в себя информацию флага, которая указывает, что порог является фиксированным в секции непрерывного воспроизведения.
[0050] Кроме того, способ воспроизведения движущегося изображения согласно настоящему изобретению является способом воспроизведения движущегося изображения для декодирования кодированного видеопотока, включающего в себя первое движущееся изображение и второе движущееся изображение, и отображения наложения второго движущегося изображения на первое движущееся изображение, причем способ воспроизведения движущегося изображения включает в себя: получение информации управления, соответствующей видеопотоку, и анализ полученной информации управления; декодирование первого движущегося изображения и второго движущегося изображения в соответствии с анализом на этапе анализа; и отображение наложения только области изображения, уровень яркости которой превышает порог в декодированном втором движущемся изображении, на декодированное первое движущееся изображение, в котором анализ включает в себя оценку, включает ли информация управления в себя информацию флага, указывающую, что порог является фиксированным, и отображение наложения включает в себя отображение наложения области изображения в текущей частичной секции посредством использования одного и того же порога как непосредственно предшествующей частичной секции, когда результатом суждения на этапе анализа является то, что информация управления включает в себя информацию флага.
[0051] Кроме того, устройство воспроизведения движущегося изображения согласно настоящему изобретению есть устройство воспроизведения движущегося изображения для декодирования кодированного видеопотока, включающего в себя первое движущееся изображение и второе движущееся изображение, и отображения наложения второго движущегося изображения на первое движущееся изображение, при этом устройство воспроизведения движущегося изображения включает в себя: блок обработки информации управления, который получает информацию управления, соответствующую видеопотоку, и анализирует полученную информацию управления; модуль декодирования, который декодирует первое движущееся изображение и второе движущееся изображение в соответствии с анализом посредством блока обработки информации управления; и модуль отображения, который отображает наложение только области изображения, уровень яркости которой превышает порог в декодированном втором движущемся изображении, на декодированное первое движущееся изображение, при этом блок обработки информации управления решает, включает ли в себя информация управления информацию флага, указывающую, что порог является фиксированным, и модуль отображения отображает посредством наложения область изображения в текущей частичной секции посредством использования того же самого порога, что и непосредственно предшествующая частичная секция, когда блок обработки информации управления решает, что информация управления включает в себя информацию флага.
[0052] Кроме того, система воспроизведения движущегося изображения согласно настоящему изобретению является системой воспроизведения движущегося изображения, включающей в себя вышеупомянутый носитель записи и устройство воспроизведения движущегося изображения для того, чтобы считывать данные, записанные на носителе записи, и воспроизводить считанные данные, при этом устройство воспроизведения движущегося изображения включает в себя: блок обработки информации управления, который считывает информацию управления с носителя записи и анализирует считанную информацию управления; модуль декодирования, который считывает первое движущееся изображение и второе движущееся изображение с носителя записи и декодирует первое движущееся изображение и второе движущееся изображение, в соответствии с анализом блоком обработки информации управления; и модуль отображения, который отображает посредством наложения только область изображения, уровень яркости которой превышает порог в декодированном втором движущемся изображении, на декодированное первое движущееся изображение, причем блок обработки информации управления решает, включает ли в себя информация управления информацию флага, указывающую, что порог является фиксированным, и модуль отображения отображает область изображения в текущей частичной секции посредством использования того же самого порога, что и непосредственно предшествующая частичная секция, когда блок обработки информации управления решает, что информация управления включает в себя информацию флага.
[0053] Нужно отметить, что настоящее изобретение может быть реализовано не только как вышеупомянутый способ кодирования движущегося изображения, устройство кодирования движущегося изображения, способ записи движущегося изображения, носитель записи, способ воспроизведения движущегося изображения, устройство воспроизведения движущегося изображения, и система воспроизведения движущегося изображения. Настоящее изобретение может также быть реализовано как программа для того, чтобы вынудить компьютер выполняет этапы, включенные в каждый из вышеупомянутых способов, считываемый компьютером носитель записи, такой как DVD, на котором программа записана, или полупроводниковая интегральная схема, такая как БИС (большая интегральная схема), которая включает в себя структурные модули каждого из вышеупомянутых устройств.
Результаты изобретения
[0054] Как описано выше, согласно способу кодирования движущегося изображения и т.п. согласно настоящему изобретению, в секции, которая подлежит непрерывному воспроизведению, движущееся изображение кодируется, не переключая способ кодирования (или атрибут движущегося изображения), и генерируется информация управления, которая включает в себя информацию флага, указывающую, что способ кодирования фиксирован в секции. Устройство воспроизведения, которое принимает (или считывает с носителя записи) движущееся изображение и информацию управления такой структуры данных, не должно выполнять процесс для контроля переключения способа кодирования или атрибута движущегося изображения. Соответственно, нагрузка обработки может быть облегчена.
[0055] Нужно заметить относительно картинки в картинке, что порог уровня яркости, используемый для того, чтобы решить, отобразить ли каждый прозрачный пиксель, фиксируется в кодированных данных движущегося изображения в секции непрерывного воспроизведения. В результате задержка в воспроизведении, вызванная переключением порога, подавляется, что дает возможность получить гладкое воспроизведение. Это способствует улучшенному качеству воспроизведения носителей пакетов, дистрибутивных приложений и т.п. для отображения наложения движущегося изображения на движущееся изображение, графических данных, статического изображения или подобное. Кроме того, нагрузка обработки устройства воспроизведения, которое реализует такое приложение, может быть уменьшена. Следовательно, настоящее изобретение имеет большое практическое значение.
Краткое описание чертежей
[0056]
[Фиг.1] Фиг.1 показывает структуру DVD.
[Фиг.2] Фиг.2 показывает структуру выделения.
[Фиг.3] Фиг.3 показывает пример мультиплексирования в DVD.
[Фиг.4] Фиг.4 показывает пример кодирования с переменной длиной, принятого на основе изображения в обычном потоке AVC MPEG4.
[Фиг.5A] Фиг.5A - блок-схема, иллюстрирующая структуру устройства декодирования для декодирования потока, который был кодирован согласно CABAC и CAVLC.
[Фиг.5B] Фиг.5B - последовательность операций, иллюстрирующая операцию декодирования закодированного потока CABAC.
[Фиг.5C] Фиг.5C - последовательность операций, иллюстрирующая операцию декодирования закодированного потока CAVLC.
[Фиг.6] Фиг.6 - последовательность операций, иллюстрирующая работу обычного устройства декодирования.
[Фиг.7] Фиг.7 показывает пример отображения картинки в картинке.
[Фиг.8] Фиг.8 - диаграмма для пояснения проблемы, вызванной переключением порога ключа яркости в секции непрерывного воспроизведения.
[Фиг.9] Фиг.9 показывает пример кодирования с переменной длиной, принятого на основе изображения в потоке AVC MPEG4, записанном на носителе записи в первом варианте осуществления настоящего изобретения.
[Фиг.10] Фиг.10 показывает пример хранения информации флага, иллюстрирующий блок, для которого фиксируется способ кодирования с переменной длиной, в носителе записи.
[Фиг.11] Фиг.11 - последовательность операций, иллюстрирующая работу устройства декодирования для воспроизведения носителя записи.
[Фиг.12] Фиг.12 - блок-схема, иллюстрирующая структуру устройства мультиплексирования в первом варианте осуществления настоящего изобретения.
[Фиг.13] Фиг.13 - последовательность операций, иллюстрирующая работу устройства мультиплексирования.
[Фиг.14] Фиг.14 - последовательность операций, иллюстрирующая конкретный пример этапа S5201, показанного на Фиг.13.
[Фиг.15] Фиг.15 - последовательность операций, иллюстрирующая конкретный пример этапа S5202, показанного на Фиг.13.
[Фиг.16] Фиг.16 - последовательность операций, иллюстрирующая конкретный пример этапов S5204 и S5205, показанных на Фиг.13.
[Фиг.17] Фиг.17 - последовательность операций, иллюстрирующая другой конкретный пример этапа S5202, показанного на Фиг.13.
[Фиг.18] Фиг.18 показывает иерархическую структуру данных BD.
[Фиг.19] Фиг.19 показывает структуру логического пространства на BD.
[Фиг.20] Фиг.20 - блок-схема, примерно иллюстрирующая плеер BD.
[Фиг.21] Фиг.21 - блок-схема, иллюстрирующая структуру плеера BD.
[Фиг.22] Фиг.22 - диаграмма для пояснения пространства приложений BD.
[Фиг.23] Фиг.23 показывает структуру потока MPEG (VOB).
[Фиг.24] Фиг.24 показывает структуру пакета.
[Фиг.25] Фиг.25 - диаграмма для пояснения отношения между потоком AV и структурой плеера.
[Фиг.26] Фиг.26 - примерная диаграмма непрерывной подачи данных AV на буфер дорожки.
[Фиг.27] Фиг.27 показывает структуру файла информации VOB.
[Фиг.28] Фиг.28 - диаграмма для пояснения карты времени.
[Фиг.29] Фиг.29 показывает структуру файла списка воспроизведения.
[Фиг.30] Фиг.30 показывает структуру программного файла, соответствующего списку воспроизведения.
[Фиг.31] Фиг.31 показывает структуру файла информации управления всего диска BD.
[Фиг.32] Фиг.32 показывает структуру файла, хранящего глобального обработчика событий.
[Фиг.33] Фиг.33 показывает пример события времени.
[Фиг.34] Фиг.34 показывает пример пользовательского события.
[Фиг.35] Фиг.35 показывает пример глобального обработчика событий.
[Фиг.36] Фиг.36 показывает структуру виртуальной машины.
[Фиг.37] Фиг.37 показывает таблицу переменных плеера.
[Фиг.38] Фиг.38 показывает пример обработчика событий (для события времени).
[Фиг.39] Фиг.39 показывает пример обработчика событий (для пользовательского события).
[Фиг.40] Фиг.40 - последовательность операций, иллюстрирующая основную обработку плеера.
[Фиг.41] Фиг.41 - последовательность операций, иллюстрирующая обработку воспроизведения списка воспроизведения.
[Фиг.42] Фиг.42 - последовательность операций, иллюстрирующая обработку события.
[Фиг.43] Фиг.43 - последовательность операций, иллюстрирующая обработку субтитра.
[Фиг.44] Фиг.44 показывает пример, где порог ключа яркости фиксируется в секции непрерывного воспроизведения.
[Фиг.45] Фиг.45 - диаграмма для пояснения значений, связанных с ключом яркости, которые фиксируются в секции гладкого воспроизведения.
[Фиг.46] Фиг.46 - диаграмма для пояснения флага, гарантирующего, что порог ключа яркости фиксируется.
[Фиг.47] Фиг.47 показывает операцию картинки в картинке на носителе записи во втором варианте осуществления настоящего изобретения.
[Фиг.48] Фиг.48 - диаграмма для пояснения мультиплексирования первичного видео и вторичного видео.
[Фиг.49] Фиг.49 - последовательность операций, иллюстрирующая работу способа мультиплексирования для реализации операции картинки в картинке во втором варианте осуществления настоящего изобретения.
[Фиг.50] Фиг.50 - последовательность операций, иллюстрирующая операцию генерирования информации управления в способе мультиплексирования для реализации операции картинка-в-картинке во втором варианте осуществления настоящего изобретения.
[Фиг.51] Фиг.51 - блок-схема, иллюстрирующая структуру устройства мультиплексирования во втором варианте осуществления настоящего изобретения.
[Фиг.52] Фиг.52 показывает пример информации атрибута отображения, хранящейся в мета-информации картинки в картинке.
[Фиг.53] Фиг.53 показывает структуру данных информации управления, сгенерированной устройством мультиплексирования, показанным на Фиг.51, где Фиг.53(a) показывает элементы данных списка воспроизведения, который является частью информации управления, и Фиг.53(b) показывает пример списка воспроизведения, определяющего секции воспроизведения, которые «гладко» соединены.
[Фиг.54] Фиг.54 - последовательность операций, иллюстрирующая работу плеера для выполнения операции картинка-в-картинке во втором варианте осуществления настоящего изобретения.
[Фиг.55A] Фиг.55A показывает пример физического формата гибкого диска, который является телом носителя записи в третьем варианте осуществления настоящего изобретения.
[Фиг.55B] Фиг.55B показывает внешний вид гибкого диска на виде спереди, поперечное сечение гибкого диска, и гибкого диска непосредственно.
[Фиг.55C] Фиг.55C показывает структуру для записи/воспроизведения программы на гибком диске.
Ссылочные позиции
[0057] 104, 201 диск BD
202 оптическая головка записи/считывания
203 память хранения программ
204 память хранения информации управления
205 память хранения AV
206 блок обработки программ
207 блок обработки информации управления
208 блок обработки представления
209 плоскость изображения
210 плоскость видео
211 блок обработки композиции
301 память хранения программ
302 процессор программ
303 администратор UOP
304 память для хранения информации управления
305 процессор сценариев
306 контроллер представления
307 тактовый генератор
308 память изображений
309 буфер дорожки
310 демультиплексор
311 процессор изображения
312 видеопроцессор
313 звуковой процессор
314 плоскость изображения
315 плоскость видео
316 блок обработки композиции
317 контроллер привода
S101 этап вставки диска
S102 этап считывания BD.INFO
S103 этап считывания BD.PROG
S104 этап генерирования первого события
S105 этап выполнения обработчика событий
S201 этап суждения о приеме UOP
S202 этап генерирования события UOP
S203 этап суждения о вызове меню
S204 этап генерирования события
S205 этап выполнения обработчика событий
S301 этап начала воспроизведения списка воспроизведения
S302 этап считывания информация списка воспроизведения (XXX.PL),
S303 этап считывания программы списка воспроизведения (XXX.PROG)
S304 этап начала воспроизведения фрагмента
S305 этап начала воспроизведения AV
S401 этап начала воспроизведения AV
S402 этап считывания информации VOB (YYY.VOBI)
S403 этап считывания VOB (YYY.VOB)
S404 этап начала воспроизведения VOB
S405 этап принятия решения об окончании воспроизведения VOB
S406 этап принятия решения о следующем фрагменте
S501 этап начала воспроизведения списка воспроизведения
S502 этап принятия решения об окончании воспроизведения списка воспроизведения
S503 этап принятия решения о времени события времени
S504 этап генерирования события
S505 этап выполнения обработчика событий
S601 этап начала воспроизведения списка воспроизведения
S602 этап принятия решения об окончании воспроизведения списка воспроизведения
S603 этап принятия решения о приеме UOP
S604 этап генерирования события UOP
S605 этап принятия решения вызова меню
S606 этап принятия решения о периоде достоверности пользовательского события
S607 этап генерирования события
S608 этап выполнения обработчика событий
S701 этап начала воспроизведения списка воспроизведения
S702 этап принятия решения об окончании воспроизведения списка воспроизведения
S702 этап принятия решения о начале рисования субтитра
S703 этап рисования субтитра
S704 принятия решения об окончании рисования субтитра
S705 этап удаления субтитра
Лучший режим выполнения изобретения
[0058] Способ кодирования движущегося изображения, к которому относится настоящее изобретение, характеризуется кодированием движущегося изображения без переключения способа кодирования (или атрибута движущегося изображения) в секции, которая подвергается непрерывному воспроизведению (секция непрерывного воспроизведения), и генерированием информации управления, которая включает в себя информацию флага, указывающую, что способ кодирования является фиксированным в секции непрерывного воспроизведения.
[0059] Ниже описаны варианты осуществления настоящего изобретения со ссылками на чертежи.
(Первый Вариант осуществления)
[0060]
Первый пример потока, в котором различные способы кодирования (или движущееся изображение с различными атрибутами) могут существовать, то есть, пример, где различные способы кодирования с переменной длиной (CAVLC/CABAC) могут существовать, описывается ниже как первый вариант осуществления настоящего изобретения.
[0061] Первый вариант осуществления описывает носитель записи и устройство воспроизведения для этого носителя записи, который может подавлять, при декодировании кодированных данных движущегося изображения на носителе пакетов, таком как BD-ROM, задержку в операции декодирования, вызываемую посредством переключения способа кодирования с переменной длиной (кода), и увеличение нагрузки обработки, имеющей место при переключении способа организации буферизации данных, где переключение способа организации буферизации данных сопровождает переключение способа кодирования с переменной длиной (кода). Хотя этот вариант осуществления описывает использование AVC MPEG4 в качестве примера способа кодирования движущегося изображения, другие способы кодирования движущегося изображения, которые учитывают переключение между различными способами кодирования с переменной длиной в потоке, одинаково применимы.
[0062] В потоке AVC MPEG4, записанном на носителе записи согласно этому варианту осуществления, ограничение налагаются на блок, на котором способ кодирования с переменной длиной переключается (далее называемый "блок с переключаемым способом кодирования с переменной длиной"), и информация, указывающая, что блок с переключаемым способом кодирования с переменной длиной сдерживается (то есть ограничивается), и/или информация, иллюстрирующая ограниченный блок с переключаемым способом кодирования с переменной длиной, включается в информацию управления.
[0063] Фиг.9 показывает примеры ограничения блока с переключаемым способом кодирования с переменной длиной в потоке AVC MPEG4. В носителе пакетов, таком как BD-ROM, блок, в котором кодированные данные движущегося изображения воспроизводятся непрерывно (далее называемый "блок непрерывного воспроизведения"), показывает список воспроизведения и т.п. Когда способ кодирования с переменной длиной фиксируется в этом блоке непрерывного воспроизведения, ни задержка декодирования операции, вызванная переключением способа кодирования с переменной длиной, ни увеличение нагрузки обработки, вызванное переключением способа организации буферизации данных, не имеют место в секции, которая непрерывно воспроизводится. Соответственно, в этом варианте осуществления способ кодирования с переменной длиной фиксируется в блоке непрерывного воспроизведения. Фиг.9(a) и 9(b) показывают примеры ограничения способа кодирования с переменной длиной в одном блоке непрерывного воспроизведения способами CAVLC и CABAC соответственно. Здесь, есть два типа условия соединения для клипов, которые воспроизводят непрерывно, а именно, гладкое соединение и соединение негладкое. Соединение, упомянутое здесь, включает в себя случай соединения множества секций в пределах одного и того же клипа. При негладком соединении может произойти перерыв в операции декодирования, как в случае соединения с открытой GOP. Ввиду этого способ кодирования с переменной длиной может быть фиксирован только в блоке непрерывного воспроизведения гладкого соединения, в то же время разрешая переключение способа кодирования с переменной длиной в блоке непрерывного воспроизведения негладкого соединения.
[0064] Альтернативно, способ кодирования с переменной длиной может быть фиксирован в блоке, таком как клип или блок произвольного доступа (RAU), отличном от блока непрерывного воспроизведения. Фиг.9(c) и 9(d) показывают примеры фиксации способа кодирования с переменной длиной для каждого клипа, тогда как Фиг.9(e) показывает примеры фиксации способа кодирования с переменной длиной для каждого блока произвольного доступа.
[0065] Кроме того, информация флага, указывающая, что блок с переключаемым способом кодирования с переменной длиной ограничивается в потоке AVC MPEG4, включается в информацию управления. Здесь, идентификационная информация способа кодирования используется в качестве флага. Фиг.10 показывает пример хранения флага на BD-ROM. В BD-ROM способ кодирования каждого клипа, на который ссылается список воспроизведения, сохраняется в области с именем StreamCodinglnfo в информации управления. Эта StreamCodinglnfo может использоваться таким образом, что когда AVC MPEG4 задан как способ кодирования в StreamCodinglnfo, это означает, что способ кодирования с переменной длиной фиксируется в блоке непрерывного воспроизведения. Кроме того, может быть предоставлена также информация, показывающая, является ли способ кодирования с переменной длиной способом CABAC или CAVLC.
[0066] В качестве альтернативы, флаг, указывающий, что блок с переключаемым способом кодирования с переменной длиной является ограниченным, может быть отдельно определен и включен в информацию управления. Информация, иллюстрирующая блок с переключаемым способом кодирования с переменной длиной, также может быть включена. Кроме того, эти виды информации могут быть включены в поток AVC MPEG4. Например, информация, указывающая, что способ кодирования с переменной длиной фиксирован в изображениях, которые составляют блок произвольного доступа, может храниться в блоке уровня абстракции сети (NAL) дополнительной информации расширения (SEI) или не заданного (Unspecified) типа в начальном изображении блока произвольного доступа.
[0067] В AVC MPEG4 entropy_coding_mode_flag в наборе параметров изображения (PPS), который показывает информацию инициализации на основе изображения, указывает, является ли способ кодирования с переменной длиной способом CAVLC или CABAC. Поэтому, когда способ кодирования с переменной длиной фиксируется в заранее определенной секции, значение поля entropy_coding_mode_flag фиксируется во всех PPS, на которые ссылаются изображения в этой секции. В AVC MPEG4 PPS, на которое не ссылается какое-либо изображение, существующее в одной секции в порядке декодирования, может быть сохранено в этой секции. В таком случае нет необходимости ограничивать значение поля entropy_coding_mode_flag в PPS, на который не ссылается какое-либо изображение в секции. Например, в то время как PPS, на которые ссылаются изображения в блоке произвольного доступа, все включаются в этот блок произвольного доступа, PPS, на который не ссылается какое-либо изображение в блоке произвольного доступа, может также существовать в блоке произвольного доступа. В этом случае, так как PPS, на который не ссылаются, не оказывает влияния на декодирование, значение поля entropy_coding_mode_flag в PPS, на который не ссылаются, не должно быть ограничено. Однако при условии, что обработка является более простой, если entropy_coding_mode_flag в каждом PPS, включенном в секцию, имеет одно и то же значение поля, значение поля entropy_coding_mode_flag может быть фиксировано, включая PPS, на который не ссылаются.
[0068] Фиг.11 есть последовательность операций, иллюстрирующая операцию декодирования блока непрерывного воспроизведения на носителе записи согласно этому варианту осуществления. В этом варианте осуществления способ кодирования с переменной длиной фиксируется для блока непрерывного воспроизведения. Соответственно, буферизация двоичных данных и переключение способа организации буферизации данных во время декодирования не являются необходимыми, в отличие от обычной операции декодирования, показанной на Фиг.6. Операция, выполняемая на каждом этапе на Фиг.11, является той же самой, как этап, имеющий ту же самую ссылочную позицию на Фиг.6, и таким образом его объяснение здесь опущено.
[0069] Новый способ кодирования, названный VC-1 (см. непатентную ссылку 1), в настоящее время находится в процессе стандартизации Обществом Инженеров по Движущимся Изображениям и Телевидению (Society of Motion Picture and Television Engineers, SMPTE). В VC-1 определяются различные флаги, иллюстрирующие способы кодирования микроблоков (блок, имеющий размер 16 ×16 пикселей). Примеры таких флагов включают в себя флаг, показывающий, является ли макроблок пропущенным макроблоком, флаг, показывающий, является ли макроблок в режиме поля или режиме кадра, и флаг, показывающий, является ли макроблок макроблоком прямого режима.
[0070] Кодирование битовой плоскости является одним из расширенных инструментальных средств кодирования. Кодирование битовой плоскости используется для показа вышеупомянутых флагов, которые указывают способы кодирования макроблоков. Кодирование битовой плоскости разрешает показ флагов, соответствующих одному изображению, в целом на заголовке изображения. Обычно, смежные макроблоки имеют высокую корреляцию, и таким образом флаги, соответствующие смежным макроблокам, имеют также высокую корреляцию. Поэтому, посредством кодирования флагов смежных макроблоков в целом, объем кода, представляющего такие флаги, может быть уменьшен.
[0071] Семь типов способов кодирования определены при кодировании битовой плоскости. Один из них является способом кодирования каждого флага в заголовке макроблока. Этот способ называют необработанным режимом и аналогичен таковому из MPEG2 Video или MPEG-4 Visual. Другие шесть способов кодируют флаги, соответствующие одному изображению вместе, и отличаются друг от друга в зависимости от того, как флаги смежных макроблоков комбинируются для кодирования. Например, эти шесть способов включают в себя способ кодирования флагов двух горизонтально смежных макроблоков вместе, и способ выражения посредством одного бита "0", когда все флаги макроблоков в одной горизонтальной строке равны "0", и кодирования каждого флага как есть, когда по меньшей мере один из флагов равен "1".
[0072] Какой из этих семи способов используется при кодировании битовой плоскости, может быть изменено в блоках изображений для каждого отдельного флага.
[0073] Предположим, что при кодировании битовой плоскости режим 1 обозначает использование только способа кодирования каждого флага в заголовке макроблока, и режим 2 обозначает использование только способа кодирования флагов, соответствующих одному изображению вместе. Так как режим 1 и режим 2 отличаются в операции декодирования, нагрузка обработки увеличивается, когда один режим переключается на другой, что может вызвать задержку. Ввиду этого ограничение может быть наложено на блок, в котором режим является переключаемым между режимом 1 и режимом 2 при кодировании битовой плоскости, таким же образом как вышеупомянутое ограничение для блока с переключаемым способом кодирования с переменной длиной. В качестве одного примера режим кодирования битовой плоскости может быть фиксирован в блоке непрерывного воспроизведения или в блоке непрерывного воспроизведения гладкого соединения. Также, информация флага, указывающая, что режим кодирования битовой плоскости фиксирован в заранее определенном блоке, может быть включена в информацию управления. Например, StreamCodinglnfo может использоваться в качестве такой информации флага. В этом случае, когда VC-1 задается как способ кодирования посредством StreamCodinglnfo, это означает, что режим кодирования битовой плоскости фиксирован в заранее определенном блоке.
[0074] Кроме того, предположим, что режим 3 обозначает использование и способа кодирования каждого флага в заголовке макроблока и способа кодирования флагов, соответствующих одному изображению вместе. Могут быть случаи, когда режим 1 и режим 3 выборочно используются в зависимости от среды, в которой применяется VC-1. Одним примером является использование режима 1 для терминала с низкой способностью обработки и режима 3 для терминала с высокой способностью обработки. В таком случае эффективно фиксировать режим кодирования битовой плоскости в один из режима 1 и режима 3 в заранее определенном блоке воспроизведения. Также, информация флага, указывающая, что режим кодирования битовой плоскости фиксируется в один из режима 1 и режима 3, или информация, показывающая, в какой из режима 1 и режима 3 фиксируется режим кодирования битовой плоскости, может быть включена в информацию управления или кодированный поток. Здесь, режим 2 и режим 3 могут выборочно использоваться вместо режима 1 и режима 3.
[0075] Фиг.12 есть блок-схема, иллюстрирующая структуру устройства мультиплексирования 5100 для реализации способа мультиплексирования согласно этому варианту осуществления. Устройство мультиплексирования 5100 включает в себя модуль 5101 определения переключаемого блока, модуль 5102 генерирования информации переключения, модуль 5103 кодирования, системный модуль 5104 мультиплексирования, модуль 5105 генерирования информации управления и блок 5106 комбинирования. Работа каждого из структурных блоков описывается ниже.
[0076] Модуль 5101 определения переключаемого блока определяет блок, в котором способ кодирования с переменной длиной является переключаемым, и вводит определенный блок к модуль 5102 генерирования информации переключения и модуль 5103 кодирования в качестве переключаемого блока Unit. Предполагается здесь, что переключаемый блок был установлен заранее, хотя переключаемый блок может вместо этого быть установлен извне. Модуль 5102 генерирования информации переключения генерирует информацию переключения Swlnf, показывающую блок с переключаемым способом кодирования с переменной длиной, на основании переключаемого блока Unit, и вводит информацию переключения Swlnf в модуль 5105 генерирования информации управления. Модуль 5103 кодирования кодирует данные каждого клипа, чтобы выполнить ограничение переключаемого блока Unit, и вводит кодированные данные Cdata1 в системный модуль 5104 мультиплексирования. Системный модуль 5104 мультиплексирования выполняет системное мультиплексирование в отношении кодированных данных Cdata1 и вводит потоковую информацию Strlnf1 к модуль 5105 генерирования информации управления и мультиплексированные данные Mdata1 в модуль 5106 комбинирования. В BD-ROM используется вызванный системным способом мультиплексирования исходный пакет, в котором 4-байтовый заголовок добавляется к транспортному потоку MPEG2. Кроме того, потоковая информация Strlnf1 включает в себя информацию для генерирования информации управления для мультиплексированных данных Mdata1, такую как карта времени. Модуль 5105 генерирования информации управления генерирует информацию управления CtrlInf1, которая включает в себя информацию переключения Swlnf, карту времени, сгенерированную на основании потоковой информации Strlnf1, и т.п., и подает информацию управления CtrlInf1 на модуль 5106 комбинирования. Модуль 5106 комбинирования информации управления комбинирует CtrlInf1 и мультиплексированные данные Mdata1 и выдает комбинацию как данные Dout1 записи.
[0077] Следует заметить, что при генерировании данных посредством использования инструментального средства разработки или подобного, существует случай, когда генерирование кодированных данных и системного мультиплексирования или генерирование информации управления проводятся отдельными устройствами. В таком случае вышеупомянутый способ мультиплексирования может быть реализован этими отдельными устройствами, работающими таким же образом, как структурные модули в устройстве мультиплексирования 5100.
[0078] Фиг.13 есть последовательность операций, иллюстрирующая работу способа мультиплексирования для генерирования мультиплексированных данных, записанных на носителе записи в этом варианте осуществления. Способ мультиплексирования согласно этому варианту осуществления отличается от обычного способа мультиплексирования тем, что включает в себя этап определения блока, в котором способ кодирования с переменной длиной является переключаемым (этап S5201), этап кодирования каждого клипа, на основании определенного блока с переключаемым способом кодирования с переменной длиной (этап S5202), и этап генерирования информации флага, иллюстрирующей блок с переключаемым способом кодирования с переменной длиной (этап S5204).
[0079] Сначала на этапе S5201 определяется блок с переключаемым способом кодирования с переменной длиной. Более подробно, одно из: блока непрерывного воспроизведения, клипа и блока произвольного доступа определяется как блок с переключаемым способом кодирования с переменной длиной. На этапе S5202, который является следующим, данные клипа AVC MPEG4 кодируются на основании блока с переключаемым способом кодирования с переменной длиной, определенного на этапе S5201. На этапе S5203 выполняется принятие решения относительно того, завершено ли кодирование последнего клипа. Когда кодирование последнего клипа завершено, операция переходит к этапу S5204. Когда кодирование последнего клипа не завершено, операция возвращается к этапу S5202, чтобы повторить кодирование клипа. На этапе S5204 генерируется информация флага, иллюстрирующая блок с переключаемым способом кодирования с переменной длиной, и операция переходит к этапу S5205. На этапе S5205 генерируется информация управления, включающая информацию флага, сгенерированную на этапе S5204, и информация управления и кодированные данные клипа мультиплексируются друг с другом и выдаются.
[0080] Фиг.14 - есть последовательность операций, иллюстрирующая конкретный пример этапа (этап S5201) определения блока с переключаемым способом кодирования с переменной длиной на Фиг.13. На Фиг.14 клип является минимальным блоком, в котором способ кодирования с переменной длиной является переключаемым, как показано на Фиг.9(c) и 9(d). Клип, упомянутый здесь, записан на носителе записи как файл данных AV и является одним файлом, который хранит, например, один поток AVC MPEG4 или один поток VC-1. В транспортном потоке клип является потоком, заданным идентификатором пакета TS.
[0081] На Фиг.14 модуль 5101 определения переключаемого блока принимает решение, является ли целевое изображение кодирования начальным изображением клипа (этап S5201a). Когда целевое изображение кодирования не является начальным изображением клипа, то есть, когда целевое изображение кодирования находится в некоторой средней точке в клипе, модуль 5101 определения переключаемого блока решает, что способ кодирования с переменной длиной не является переключаемым при кодировании клипа (этап S5201f).
Когда целевое изображение кодирования является начальным изображением клипа, модуль 5101 определения переключаемого блока принимает решение, связан ли клип гладко с непосредственно предшествующим клипом, который был уже кодирован (этап S5201b). Когда клип является гладко связанным, модуль 5101 определения переключаемого блока решает, что способ кодирования с переменной длиной не является переключаемым при кодировании этого клипа (этап S5201f).
[0082] Когда целевое изображение кодирования является начальным изображением клипа, модуль 5101 определения переключаемого блока принимает решение, связывается ли этот клип гладко с непосредственно предшествующим клипом, который был уже кодирован (этап S5201b). Когда клип является гладко связанным, модуль 5101 определения переключаемого блока решает, что способ кодирования с переменной длиной не является переключаемым при кодировании клипа (этап S5201f).
[0083] Когда клип не является гладко связанным, модуль 5101 определения переключаемого блока принимает решение, соответствует ли клип углу, который принадлежит многоугольнику (этап S5201c). Когда клип соответствует углу, который принадлежит многоугольнику, модуль 5101 определения переключаемого блока решает, что способ кодирования с переменной длиной не является переключаемым между углами многоугольника, при кодировании этого клипа (этап S5201f). Здесь, для гладкого многоугольника, в котором каждый угол может быть гладко соединен, способ кодирования с переменной длиной каждого угла определяется, как тот же самый, как способ из клипа, непосредственно предшествующего многоугольной секции. Для негладкого многоугольника, в котором каждый угол не обязательно соединен гладко, с другой стороны, если способ кодирования с переменной длиной каждого угла является одним и тем же, этот способ кодирования с переменной длиной может отличаться от способа клипа, непосредственно предшествующего многоугольной секции.
[0084] Когда целевое изображение кодирования является начальным изображением клипа и решения на этапах S5201b и S5201c оба являются отрицательными (этапы S5201b и S5201c: нет), модуль 5101 определения переключаемого блока решает, что способ кодирования с переменной длиной клипа является переключаемым от непосредственно предшествующего клипа, который был уже кодирован (этап S5201e).
[0085] Таким образом, в последовательности операций согласно Фиг.14, клипами, которые определяются как не переключаемые модулем 5101 определения переключаемого блока, являются: (a) клипы, заданные идентификатором пакета транспортного потока; (b) клипы, которые подлежат гладкому соединению; и (c) клипы, соответствующие углам, которые составляют многоугольник. Следует заметить, что этапы S5201a-S5201c могут быть выполнены в любом порядке. Кроме того, в случае многоугольника модуль 5101 определения переключаемого блока может решить, что способ кодирования с переменной длиной является непереключаемым, только когда многоугольник является гладким многоугольником. Кроме того, клип может быть идентифицирован информацией, отличной от идентификатора пакета, такой как имя файла. Хотя Фиг.14 использует пример, где минимальный блок, в котором способ кодирования с переменной длиной является переключаемым, является клипом, как показано на Фиг.9(c) и 9(d), вместо этого может использоваться RAU в качестве минимального блока, как показано на Фиг.9(e). В таком случае выполнение последовательности операций, показанной на Фиг.14, может быть реализовано с термином "клип" на Фиг.14, замененным на термин "RAU".
[0086] Фиг.15 является последовательностью операций, иллюстрирующей конкретный пример этапа кодирования клипа (этап S5202) на Фиг.13. Пример кодирования клипа AVC MPEG4 показан на Фиг.15. На Фиг.15 модуль 5103 кодирования принимает решение, до начала кодирования клипа, является ли переключаемым способ кодирования с переменной длиной клипа (этап S5202a). Это принятие решения выполняется в соответствии с определением на Фиг.14. Когда способ кодирования с переменной длиной клипа определяется как переключаемый, модуль 5103 кодирования свободно определяет способ кодирования с переменной длиной клипа (этап S5202b). Когда способ кодирования с переменной длиной клипа оценивается как непереключаемый, модуль 5103 кодирования определяет, что способ кодирования с переменной длиной клипа должен быть тем же самым, как способ из непосредственно предшествующего клипа, с которым клип гладко соединен, или другого клипа, который составляет тот же самый многоугольник что и этот клип (этап S5202c). Модуль 5103 кодирования затем устанавливает флаг, показывающий определенный способ кодирования с переменной длиной, в наборе PPS параметров изображения (этап S5202d), и кодирует клип в соответствии с определенным способом кодирования с переменной длиной (этап S5202e). Этот флаг называют entropy_coding_mode_flag в AVC MPEG4.
[0087] Таким образом, модуль 5103 кодирования генерирует кодированные данные Cdata1 при кодировании движущегося изображения без переключения способа кодирования с переменной длиной для клипа, который является секцией непрерывного воспроизведения, оцененного как непереключаемый.
[0088] Фиг.16 является последовательностью операций, иллюстрирующей конкретный пример этапа генерирования информации флага (этап S5204) и этапа генерирования информации управления (этап S5205) на Фиг.13.
[0089] На Фиг.16 модуль 5102 генерирования информации переключения принимает решение, является ли клип, кодированный модулем 5103 кодирования, клипом, способ кодирования с переменной длиной которого оценивается как переключаемый (этап S5204a). Когда клип является переключаемым клипом, модуль 5102 генерирования информации переключения генерирует информацию флага, указывающую, что способ кодирования с переменной длиной не фиксирован, и сохраняет информацию флага в рабочей области памяти в соответствии с клипом (этап S5204b). Когда клип является непереключаемым клипом, модуль 5102 генерирования информации переключения генерирует информацию флага, указывающую, что способ кодирования с переменной длиной является фиксированным, и сохраняет информацию флага в рабочей области памяти в соответствии с клипом (этап S5204c). Модуль 5102 генерирования информации переключения также принимает решение, является ли клип последним клипом, кодированным модулем 5103 кодирования (этап S5204d). Когда клип не является последним клипом, этапы S5204a - S5204c повторяются. Когда клип является последним клипом, модуль 5102 генерирования информации переключения выводит всю информацию флага, хранящуюся в рабочей области памяти модуля 5105 генерирования информации управления, в качестве информации Swlnf переключения.
[0090] Модуль 5105 генерирования информации управления генерирует информацию управления, включающую в себя список воспроизведения (этап S5205a). Модуль 5105 генерирования информации управления ссылается на информацию переключения Swlnf и добавляет информацию флага, указывающую, что способ кодирования с переменной длиной является фиксированным, к элементу воспроизведения, включенному в список воспроизведения (этап S5205b). Следует заметить, что информация флага может указывать, является ли способ кодирования с переменной длиной тем же самым, как способ секции воспроизведения, на которую ссылается непосредственно предшествующий элемент воспроизведения. Список воспроизведения определяет порядок воспроизведения одного или более элементов воспроизведения. Элемент воспроизведения - это информация, иллюстрирующая клип, который должен воспроизводится, и обозначает весь или часть одного клипа как секцию воспроизведения. Здесь, другой параметр, добавленный к элементу воспроизведения, может использоваться в качестве информации флага. Например, параметр, указывающий, что клип является гладко соединенным (например, "connection_condition = 5"), может использоваться в качестве информации флага. Это имеет место потому, что секцией непрерывного воспроизведения, определенной как непереключаемая (то есть секция, в которой способ кодирования с переменной длиной фиксирован) на Фиг.14, являются: (a) клипы, заданные идентификатором пакета транспортного потока; (b) клипы, которые подлежат гладкому соединению; и (c) клипы, соответствующие углам, которые составляют многоугольник, где вышеупомянутое (b) основано на гладком соединении. Кроме того, так как флаг, названный "is_multi_angle", может быть использован для показа, является ли секция воспроизведения многоугольной секцией, этот флаг может использоваться как флаг, указывающий, что способ кодирования с переменной длиной является фиксированным. Таким образом, количество данных информации управления может быть сокращено.
[0091] Фиг.17 - последовательность операций, иллюстрирующая другой конкретный пример этапа кодирования клипа (этап S5202) на Фиг.13. Фиг.17 показывает случай кодирования клипа VC-1. На Фиг.17 модуль 5103 кодирования принимает решение до начала кодирования клипа, является ли переключаемым способ кодирования с переменной длиной клипа между «необработанным» режимом и другими режимами (этап S5202a). Это принятие решения выполняется в соответствии с определением на Фиг.14. Когда способ кодирования с переменной длиной клипа оценивается как переключаемый между «необработанным» режимом и другими режимами, модуль 5103 кодирования свободно определяет способ кодирования битовой плоскости клипа (этап S5202f). Когда способ кодирования с переменной длиной клипа оценивается как непереключаемый между «необработанным» режимом и другими режимами, модуль 5103 кодирования определяет способ кодирования битовой плоскости клипа как тот же самый, как из непосредственно предшествующего клипа (этап S5202g). Модуль 5103 кодирования затем принимает решение, является ли определенный способ кодирования битовой плоскости «необработанным» режимом или другими режимами (этап S5202h). Модуль 5103 кодирования добавляет информацию, указывающую оцененный режим в блоках изображений. Когда способ кодирования битовой плоскости оценивается как «необработанный» режим, блок 5103 кодирования кодирует заранее определенную информацию каждого макроблока MB, в соответствующем макроблоке (этап S5202i). Когда способ кодирования битовой плоскости оценивается не как «необработанный» режим, модуль 5103 кодирования устанавливает заранее определенную информацию каждого макроблока MB в целом в начале изображения и кодирует клип (этап S5202j). Следует заметить, что в VC-1 вышеупомянутую информацию, указывающую режим, показывает поле под названием IMODE.
[0092] Таким образом, модуль 5103 кодирования генерирует кодированные данные Cdata1 посредством кодирования движущегося изображения, не переключая способ кодирования битовой плоскости клипа, который является секцией непрерывного воспроизведения, оцененной как непереключаемая.
[0093] Нужно отметить, что вышеописанный список воспроизведения не ограничивается использованием в оптическом диске. Например, список воспроизведения может также использоваться следующим образом. При приеме потока через сеть, во-первых, принимается и анализируется список воспроизведения. Определив поток, который должен быть принят на основании списка воспроизведения, начинается фактический прием потока. Кроме того, в случае передачи потока через сеть Интернет протокола (IP) после пакетирования потока в пакеты Протокола передачи в реальном времени (RTP), пакеты TS, или подобные, информация управления воспроизведением, указывающая, фиксирован ли способ кодирования с переменной длиной в секции воспроизведения, может быть указана согласно, например, Протоколу Описания Сеанса связи (SDP).
[0094] Нижеследующее описывает структуру данных диска BD-ROM, на котором записаны данные, сгенерированные согласно способу кодирования движущегося изображения согласно этому варианту осуществления, и структура плеера для воспроизведения диска BD-ROM.
<Логическая Структура данных на диске>
[0095]
Фиг.18 показывает структуру BD-ROM. В частности, Фиг.18 показывает структуру диска BD 104, который является дисковым носителем, и данные (101, 102, и 103), записанные на диске BD 104. Данные, записанные на диске BD 104, включают в себя данные AV 103, информацию управления BD 102, включающую в себя последовательность воспроизведения AV, информацию управления, относящуюся к данным AV, и т.п., и программу 101 воспроизведения BD для реализации интерактивности. Хотя этот вариант осуществления описывает диск BD с фокусом на его AV-приложении воспроизведения AV контента кинофильма для простоты объяснения, диск BD может равным образом использоваться в других целях.
[0096] Фиг.19 показывает структуру файла каталогов логических данных, записанных на вышеупомянутом диске BD. Как в других оптических дисках, таких как DVD и CD, диск BD имеет область записи, которая по спирали сформирована в направлении от его внутреннего радиуса к внешнему радиусу, где логическое пространство адресов для хранения логических данных формируется между начальной дорожкой на внутреннем радиусе и оконечной зоной на внешнем радиусе. Кроме того, специальная область, названная областью выреза пачки (BCA), которая может только считываться накопителем, располагается в самой внутренней части начальной дорожки. Так как BCA не может быть считана приложением, BCA часто помогает в методиках, таких как защита авторского права.
[0097] В логическом пространстве адресов вначале хранится информация файловой системы (объем), за которой следуют данные прикладной программы, такие как видеоданные. Файловой системой является UDF, ISO 9660, и т.п., как объяснено в разделе описания уровня техники, и разрешает считывание сохраненных логических данных, используя структуру файла каталогов таким же образом, как обычные персональные компьютеры.
[0098] В этом варианте осуществления диск BD имеет следующую структуру файла каталогов. Каталог BDVIDEO помещается непосредственно ниже корневого каталога (ROOT). Каталог BDVIDEO хранит данные (101, 102, и 103 на Фиг.18), такие как контент AV и информацию управления, которые обрабатываются в BD.
[0099] Следующие семь типов файлов обеспечиваются под каталогом BDVIDEO.
[0100] BD.INFO (имя файла фиксировано)
Этот файл принадлежит "информации управления BD" и хранит информацию, касающуюся всего диска BD. Плеер BD считывает этот файл первым.
[0101] BD.PROG (имя файла фиксировано)
Этот файл принадлежит "программе воспроизведения BD" и хранит информацию управления воспроизведением, касающуюся всего диска BD.
[0102] XXX.PL ("XXX" является переменным и расширение "физический уровень", фиксировано)
Этот файл принадлежит "информации управления BD" и хранит информацию списка воспроизведения, которая является сценарием (последовательностью воспроизведения). Этот файл предоставляется для каждого списка воспроизведения.
[0103] XXX.PROG ("XXX" является переменным и расширение "PROG" фиксировано)
Этот файл принадлежит "программе воспроизведения BD" и хранит информацию управления воспроизведением для отдельного упомянутого выше списка воспроизведения. Соответствующий список воспроизведения идентифицируется «телом» ("XXX") имени файла.
[0104] YYY.VOB ("YYY" является переменным и расширение "VOB" фиксировано)
Этот файл принадлежит "AV данным" и хранит VOB (как объяснено в описании уровня техники). Этот файл предоставляется для каждого VOB.
[0105] YYY.VOBI ("YYY" является переменным и расширение "VOBI" фиксировано)
Этот файл принадлежит "информации управления BD" и хранит информацию управления потоком, касающуюся VOB, который является данными AV. Передача VOB идентифицируется телом ("YYY") имени файла.
[0106] ZZZ. PNG ("ZZZ" является переменным и расширение "PNG" фиксировано)
Этот файл принадлежит "AV данным" и хранит данные изображения PNG (формат изображения, стандартизированный W3C, произносимый "пинг") для формирования субтитра или меню. Этот файл предоставляется для каждого изображения PNG.
[0107] <Структура Плеера>
Структура плеера для воспроизведения описанного выше диска BD описана ниже со ссылками на фиг.20 и 21.
[0108] Фиг.20 - блок-схема, иллюстрирующая примерную функциональную структуру плеера.
[0109] Данные на диске BD 201 считываются головкой 202 записи/считывания. Считанные данные передаются в выделенную память в зависимости от типа данных. Более подробно, программа воспроизведения BD (содержимое файла "BD.PROG" или "XXX.PROG") передается к памяти 203 хранения программ, информация управления BD (содержимое файла "BD.INFO", "XXX.PL" или "YYY.VOBI") передается в память 204 хранения информации управления, и данные AV (содержимое файла "YYY.VOB" или "ZZZ.PNG") передаются в память 205 хранения AV.
[0110] Программа воспроизведения BD, сохраненная в памяти 203 хранения программ, обрабатывается модулем 206 обработки программ. Информация управления BD, хранящаяся в памяти 204 хранения информации управления, обрабатывается модулем 207 обработки информации управления. Данные AV, сохраненные в памяти, обрабатываются модулем 208 обработки представления.
[0111] Модуль 206 обработки программ принимает от модуля 207 обработки информации управления информацию о списке воспроизведения, который должен быть воспроизведен, и информацию события о времени выполнения программы и т.п., и выполняет исполнение программы. Здесь, программа может динамически изменить воспроизведение от одного списка воспроизведения на другой. Это выполняется модулем 206 обработки программ, посылающим инструкцию воспроизведения списка воспроизведения на модуль 207 обработки информации управления. Модуль 206 обработки программ также принимает событие от пользователя, то есть, запрос, сделанный через удаленную клавишу управления, и если программа, соответствующая пользовательскому событию, существует, выполняет программу.
[0112] Модуль 207 обработки информации управления принимает инструкцию от модуля 206 обработки программ, анализирует список воспроизведения, соответствующий инструкции, и информацию управления VOB, соответствующую списку воспроизведения, и инструктирует модуль 208 обработки представления воспроизводить целевые данные AV. Модуль 207 обработки информации управления также принимает информацию опорного времени от модуля 208 обработки представления, и инструктирует модуль 208 обработки представления останавливать воспроизведение данных AV, на основании информации опорного времени. Далее, модуль 207 обработки информации управления генерирует событие, указывающее время выполнения программы, для модуля 206 обработки программ.
[0113] Модуль 208 обработки представления имеет декодеры, соответствующие видео, аудио и субтитрам/изображениям (неподвижным изображениям). Модуль 208 обработки представления декодирует и выводит данные AV в соответствии с инструкцией от модуля 207 обработки информации управления. Здесь, видеоданные и субтитры/изображения являются, после декодирования, нарисованными на соответствующих назначенных плоскостях, а именно видеоплоскости 210 и плоскости 209 изображения, и подвергаются процессу композиции изображения модулем 211 обработки композиции прежде, чем будут выведены на устройство отображения, такое как телевизор.
[0114] Таким образом, структура плеера BD основана на структуре данных на диске BD, показанном на Фиг.18, как может быть видно на Фиг.20.
[0115] Фиг.21 есть блок-схема, иллюстрирующая вышеупомянутую структуру плеера более подробно. На Фиг.21 память 205 хранения AV соответствует памяти 308 изображений и буферу 309 дорожки (фонограммы), модуль 206 обработки программ соответствует процессору 302 программ и администратору 303 UOP, модуль 207 обработки информации управления соответствует процессору 305 сценария и контроллеру 306 представления, и модуль 208 обработки представления соответствует тактовому генератору 307, демультиплексору 310, модулю 311 обработки изображения, видеопроцессору 312 и звуковому процессору 313.
[0116] Данные VOB (поток MPEG) и данные изображения (PNG), считанные с диска BD 201, сохраняются в буфере 309 дорожки и памяти 308 изображений соответственно. Демультиплексор 310 извлекает данные VOB, хранимые в буфере 309 дорожки на основании времени, указанного тактовым генератором 307, и выводит видеоданные и аудиоданные к видеопроцессору 312 и звуковому процессору 313 соответственно. Видеопроцессор 312 и звуковой процессор 313 каждый состоят из буфера декодера и декодера, как определено стандартом системы MPEG. Видеоданные и аудиоданные, выведенные из демультиплексора 310, временно сохраняются в соответствующих буферах декодера и декодируются соответствующими декодерами в соответствии с тактовым генератором 307.
[0117] Между тем, PNG, сохраненный в памяти 308 изображений, обрабатывается следующими двумя способами.
[0118] Когда данные изображения предназначены для субтитра, его время декодирования указывается контроллером 306 представления. Сначала процессор 305 сценария принимает информацию времени от тактового генератора 307. Когда текущее время является временем отображения субтитров (время начала или окончания), процессор 305 сценария инструктирует контроллер 306 представления начать или остановить отображение субтитров так, чтобы субтитр мог быть отображен соответственно. После приема инструкции декодировать/отобразить от контроллера 306 представления, процессор 311 изображения извлекает соответствующие данные PNG из памяти 308 изображений, декодирует извлеченные данные PNG и рисует декодированные данные PNG на плоскости 314 изображения.
[0119] Когда данные изображения предназначены для меню, с другой стороны, их время декодирования указывается процессором 302 программ. Время, в которое процессор 302 программ инструктирует декодировать данные изображения, не является фиксированным, но зависит от программы BD, выполняемой процессором 302 программ.
[0120] Данные изображения и видеоданные после декодирования выводятся на плоскость 314 изображения и видеоплоскость 315 соответственно, составленные модулем 316 обработки композиции, и затем выводятся на устройство отображения, как описано выше со ссылками на фиг.20.
[0121] Между тем, информация управления (сценарий и информация управления AV), считанная с диска BD 201, хранится в памяти 304 хранения информации управления. Из этой информации информация сценария ("BD.INFO" или "XXX.PL") считывается и обрабатывается процессором 305 сценария, тогда как информация управления AV ("YYY.VOBI") считывается и обрабатывается контроллером 306 представления.
[0122] Процессор 305 сценария анализирует информацию списка воспроизведения и уведомляет контроллер 306 представления о VOB, на который ссылается список воспроизведения, и позиции воспроизведения VOB. Контроллер 306 представления анализирует информацию управления ("YYY.VOBI") этого целевого VOB и инструктирует контроллер диска 317 считывать целевой VOB.
[0123] Контроллер 317 накопителя перемещает головку считывания/записи и считывает целевые данные AV, согласно инструкции от контроллера 306 представления. Считанные данные AV передаются к памяти 308 изображений или буфер 309 дорожки, как упомянуто выше.
[0124] Также, процессор 305 сценария управляет временем, указанным тактовым генератором 307, и выводит событие на процессор 302 программ во время, заданное в информации управления.
[0125] Программа BD ("BD.PROG" или "XXX.PROG"), сохраненная в памяти 301 хранения программ, выполняется/обрабатывается процессором 302 программ. Процессор 302 программ обрабатывает программу BD в случае, когда событие посылают от процессора 305 сценария или событие послано от администратора 303 UOP. Администратор 303 UOP генерирует событие для процессора 302 программ после приема запроса от пользователя через удаленную клавишу управления.
[0126] <Пространство приложений>
Фиг.22 показывает пространство приложений на BD.
[0127] В пространстве приложений на BD список воспроизведения (PlayList) служит в качестве единицы воспроизведения. Список воспроизведения есть соединение фрагментов (Cells), и имеет статический сценарий, который является последовательностью воспроизведения, определенной в соответствии с порядком соединения, и динамическим сценарием, описанным программой. Без динамического сценария посредством программы список воспроизведения просто воспроизводит отдельные фрагменты последовательно и заканчивается, когда воспроизведение всех фрагментов завершается. С другой стороны, программа способна описать воспроизведение, которое «идет» вне списков воспроизведения, и динамически изменить цели воспроизведения в соответствии с пользовательским выбором или состоянием плеера. Обычный пример этого - меню. В BD меню может быть определено как сценарий, который воспроизводят в соответствии с пользовательским выбором, разрешая, чтобы список воспроизведения был динамически выбран программой.
[0128] Программа, упомянутая здесь, является обработчиком событий, который выполняется согласно событию времени или пользовательскому событию.
[0129] Событие времени - это событие, которое сгенерировано на основании информации времени, внедренной в список воспроизведения. Событие, посланное от процессора 305 сценария на процессор 302 программ, которое было описано ранее со ссылками на фиг.21, есть событие времени. Когда событие времени выдается, процессор 302 программ выполняет обработчик событий, который ассоциируется с идентификатором события времени. Как упомянуто выше, программа, которая выполняется, может выдать инструкцию воспроизводить другой список воспроизведения. В этом случае список воспроизведения, который в настоящее время воспроизводят, останавливается и начинается воспроизведение назначенного списка воспроизведения.
[0130] Пользовательское событие - это событие, которое генерируется операцией удаленной клавиши управления пользователем. Пользовательское событие может быть главным образом классифицировано в два типа. Первый тип пользовательского события - событие выбора пункта меню, сгенерированное работой клавиш управления курсором (клавиш Up/Down/Right/Left) или клавишей ENTER. Обработчик событий, соответствующий событию выбора пункта меню, является действительным только во время ограниченного периода в пределах списка воспроизведения (действительный период каждого отдельного обработчика событий установлен в информации списков воспроизведения). Когда пользователь нажимает любую из клавиш Up/Down/Right/Left или клавишу ENTER на пульте дистанционного управления, выполняется поиск действительного обработчика событий, соответствующего пользовательской операции и, в случае, когда действительный обработчик событий существует, этот обработчик событий выполняется. В случае, когда действительный обработчик событий не существует, событие выбора пункта меню игнорируется.
[0131] Второй тип пользовательского события - событие вызова меню, которое генерируется посредством оперирования клавишей Меню. Когда событие вызова меню сгенерировано, вызывают глобальный обработчик событий. Глобальный обработчик событий не полагается на отдельный список воспроизведения и всегда является действительным. Использование этой функции разрешает реализацию вызова меню DVD (например, особенность вызова меню аудио, меню субтитра, и т.п. во время воспроизведения заголовка и, после того, как аудио или субтитр изменяется, возобновление воспроизведения заголовка с точки, когда воспроизведение заголовка было приостановлено).
[0132] Фрагмент (Cell), который является составляющей единицей статического сценария в списке воспроизведения, ссылается на весь или часть VOB (поток MPEG) как секцию воспроизведения. Фрагмент имеет информацию о временах начала и конца секции воспроизведения в VOB. Информация управления VOB (VOBI), соответствующая каждому отдельному VOB, включает в себя карту времени (Time Map или TMAP), которая является информацией таблицы адресов памяти, соответствующих временам воспроизведения данных. Обращаясь к этой карте времени, начальный адрес считывания и конечный адрес считывания данных в VOB (например конечный файл "YYY.VOB") могут быть получены из вышеупомянутого начала и конца секции воспроизведения в VOB. Карта времени описана подробно ниже.
[0133] <Подробное описание VOB>
Фиг.23 показывает структуру потока MPEG (VOB), используемую в этом варианте осуществления.
[0134] Как показано на Фиг.23, VOB состоит из множества единиц видеообъектов (VOBU). VOBU - одна единица воспроизведения в качестве мультиплексированного потока, который основан на группе изображений (GOP) потока видео MPEG, и также включает в себя аудиоданные. Период воспроизведения каждого VOBU составляет 1,0 секунду или меньше, и обычно приблизительно 0,5 секунды.
[0135] Пакет TS (Пакет транспортного потока MPEG2) в начале VOBU сохраняет заголовок последовательности, и заголовок GOP и интра-кодированное (I) изображение, которое следуют за заголовком последовательности, так, чтобы декодирование могло быть начато с I-изображения. Кроме того, адрес (начальный адрес) пакета TS, включая начало I-изображения в начале VOBU, адрес (конечный адрес) пакета TS, включая конец I-изображения относительно начального адреса, и начальное время воспроизведения (PTS) I-изображения, управляются в карте времени. Поэтому карта времени имеет запись, соответствующую пакету TS, в начале каждого VOBU.
[0136] Каждый VOBU включает в себя видеопакет (V_PKT) и аудиопакет (A_PKT). Каждый пакет состоит из 188 байтов. Хотя не показано на Фиг.23, отметка времени прибытия (ATS) обеспечивается непосредственно перед каждым пакетом TS. ATS указывает относительное начальное время подачи в декодер пакета TS.
[0137] Причиной обеспечения ATS для каждого пакета TS является то, что системная скорость передачи потока TS не фиксирована, а является переменной. Обычно, при использовании фиксированной системной скорость передачи, вставляется фиктивный пакет TS, называемый NULL (нулевой) пакет. Однако чтобы достичь высококачественной записи в пределах ограниченной емкости запоминающего устройства, переменная системная скорость передачи является более подходящей. Поэтому поток TS, соединенный с ATS, записывается в BD.
[0138] Фиг.24 показывает структуру пакета TS.
[0139] Как показано на Фиг.24, TS-пакет главным образом состоит из заголовка пакета TS, поля адаптации и полезных данных. Идентификатор пакета (PID) сохраняется в заголовке пакета TS. Этот PID используется для идентификации, какая информация хранится в пакете TS. Ссылка на тактовый генератор программ (PCR) сохраняется в поле адаптации. PCR - это опорное значение для задающего генератора (тактовый генератор системного времени (STC)) устройства, которое декодирует поток. Как правило, при тактировании PCR, устройство демультиплексирует системный поток и восстанавливает отдельные потоки, такие как видеопоток. Пакет PES сохраняется в полезных данных.
[0140] Заголовок пакета PES хранит отметку времени декодирования (DTS) и отметку времени представления (PTS). DTS указывает тактирование декодирования кадра изображения/аудио, сохраненного в пакете PES, и PTS указывает тактирование представления вывода видео/аудио или подобного. Элементарные данные, такие как видеоданные и аудиоданные, последовательно запоминаются в области хранения данных пакета PES, называемых полезными данными пакета PES, сначала. Заголовок пакета PES также хранит идентификатор (stream_Id) для идентификации, какому потоку принадлежат данные, сохраненные в полезных данных пакета PES,.
[0141] Потоки TS определяются подробно в ISO/IEC 13818-1. Характерная особенность BD - то, что ATS присоединена к каждому пакету TS.
[0142] <Чередуемая запись VOB>
Ниже описана чередуемая запись файла VOB со ссылками на фиг.25 и 26.
[0143] Верхняя часть Фиг.25 показывает часть структуры плеера, описанного выше. Как показано в верхней части Фиг.25, данные на диск BD вводятся посредством головки считывания/записи, в буфер дорожки в случае VOB, то есть, потока MPEG, и в память изображения в случае PNG, то есть, данные изображения.
[0144] Буфер дорожки (фонограмм) является буфером FIFO (первым пришел - первым обслужен). Соответственно, данные VOB, введенные в буфер дорожки, посылают в демультиплексор в порядке ввода. Здесь, каждый отдельный пакет TS извлекается из буфера дорожки в соответствии с вышеупомянутой ATS, и данные в извлеченном пакете TS посылают в видеопроцессор или звуковой процессор через демультиплексор. В случае данных изображения, с другой стороны, контроллер представления назначает, какое изображение должно быть нарисовано. Кроме того, когда данные изображения, используемые для чертежа, являются данными изображения субтитра, эти данные изображения удаляются из памяти изображения во время начертания. Однако когда данные изображения, используемые для рисования, являются данными изображения меню, эти данные изображения сохраняются в памяти изображения, в то время как рисование меню имеет место, по следующей причине. Рисование меню полагается на пользовательскую операцию, и таким образом часть меню может быть восстановлена или заменена отличным изображением согласно пользовательской операции. В таком случае декодирование данных изображения части, которая должна быть восстановлена, может быть выполнено легко, если данные изображения сохраняются в памяти изображения.
[0145] Нижняя часть Фиг.25 показывает чередуемую запись файла VOB и файла PNG на диск BD. В ПЗУ, таком как CD-ROM или DVD-ROM, обычно данные AV, которые формируют одну единицу непрерывного воспроизведения, записываются непрерывно. До тех пор пока данные записаны непрерывно, диск может просто считывать данные последовательно и выдавать считанные данные декодеру. Однако если непрерывные данные разделены и записаны на диске дискретным образом, операция поиска дорожки должна быть выполнена между отдельными секциями непрерывного воспроизведения. Считывание данных приостанавливается во время такой операции поиска дорожки, которая может вызвать остановку подачи данных. В случае BD также предпочтительно записывать файл VOB в одной непрерывной области. Однако так как есть также данные, такие как данные субтитра, которые нужно воспроизводить синхронно с видеоданными, сохраненными в файле VOB, такие данные должны считываться с диска BD некоторым средством так же, как файл VOB.
[0146] Один способ считывания данных субтитра заключается в считывании всех данных (файл PNG) изображения субтитров за раз до начала воспроизведения VOB. Однако этот способ не является реалистическим, поскольку он требует большой памяти для хранения таких данных изображения.
[0147] Ввиду этого используется способ деления файла VOB на несколько блоков и чередуемую запись блоков VOB с данными изображения. Нижняя часть Фиг.25 иллюстрирует такую чередуемую запись.
[0148] При соответствующем чередовании файла VOB и данных изображения возможно запомнить данные изображения в памяти изображения, когда необходимо, без необходимости использовать большую временную память, упомянутую выше. В этом случае, однако, считывание данных VOB останавливается, в то время как данные изображения считываются.
[0149] Фиг.26 - диаграмма для пояснения модели подачи непрерывных данных VOB, используя буфер дорожки для решения этой проблемы.
[0150] Как описано выше, данные VOB временно накапливаются в буфере дорожки. Когда скорость ввода данных (Va) буфера дорожки и скорость вывода данных (Vb) буфера дорожки имеют разность (Va>Vb), количество данных, накопленных в буфере дорожки, увеличивается, пока данные считываются с диска BD.
[0151] Как показано в верхней части Фиг.26, предположим, что одна непрерывная область записи VOB начинается с логического адреса a1 и заканчивается логическим адресом a2, тогда как данные изображения записаны от логического адреса a2 до логического адреса a3, во время которого данные VOB не могут считываться.
[0152] Нижняя часть Фиг.26 показывает внутреннее состояние буфера дорожки. На Фиг.26 горизонтальная ось представляет время и вертикальная ось представляет количество данных, накопленных в буфере дорожки. Время t1 - есть момент времени, в который начинается считывание данных с a1, который является точкой начала непрерывной области записи VOB. С t1 вперед данные накапливаются в буфере дорожки со скоростью (Va-Vb). Эта скорость есть разность между скоростями ввода данных и вывода буфера дорожки. Время t2 является моментом времени, в который считывается данные в a2, который является конечной точкой непрерывной области записи VOB. Нужно заметить, что количество данных в буфере дорожки увеличивается со скоростью (Va-Vb) от t1 до t2. Если B(t2) обозначает количество данных в буфере дорожки в момент t2, B(t2) может быть получено из следующего выражения:
[0153] B(t2)=(Va-Vb)×(t2-t1) (Выражение 1).
[0154] После этого данные изображения продолжаются до адреса a3 на диске BD. Поэтому ввод в буфер дорожки равен 0 в это время. Следовательно, количество данных в буфере дорожки уменьшается со скоростью -Vb. Это продолжается до адреса a3, то есть, до момента времени t3.
[0155] Существенной особенностью здесь является то, что, если количество данных в буфере дорожки становится 0 до t3, то нет данных VOB, которые должны подаваться на декодер, что вызывает остановку воспроизведения VOB. Однако когда данные остаются в буфере дорожки в t3, воспроизведение VOB может быть продолжено без прерывания.
[0156] Это условие может быть выражено следующим выражением:
[0157] B(t2)≥Vb×(t3-t2)
[0158] Поэтому необходимо позиционировать данные изображения (не-VOB данные) на диске BD, чтобы удовлетворить Выражению 2.
Структура навигационных данных
[0159] <>
Ниже описана структура навигационных данных BD (информация управления BD) со ссылками на Фиг.27-33.
[0160] Фиг.27 показывает внутреннюю структуру файла информации управления VOB ("YYY.VOBI").
[0161] Информация управления VOB включает в себя информацию атрибута потока (Attribute) и карту времени для VOB. Информация атрибута потока включает в себя видеоатрибут (Video) и аудиоатрибуты (Audio#0 - Audio#m). Так как один VOB может иметь множество аудиопотоков, присутствие/отсутствие полей данных показано многими аудиопотоками (Количество).
[0162] Ниже приведены поля, включенные в видеоатрибут (Video), и возможные значения этих полей.
[0163] Формат сжатия (Coding):
MPEG1
MPEG2
MPEG4
MPEG4 - Усовершенствованное кодирование видео (AVC)
Разрешение (Resolution):
1920 × 1080
1440 × 1080
1280 × 720
720 × 480
720 × 565
Соотношение сторон (Aspect):
4:3
16:9
Частота кадров (Framerate):
60
59.94 (60/1.001)
50
30
29.97 (30/1.001)
25
24
23.976 (24/1.001)
[0164] Ниже приведены поля, включенные в каждые из звуковых атрибутов (Audio), и возможные значения этих полей.
[0165] формат Сжатия (Coding):
AC3
MPEG1
MPEG2
Количество каналов LPCM (Ch):
1-8
Языковой атрибут (Language):
[0166] Карта времени (TMAP) является информацией хранения таблицы для каждого VOBU. Карта времени включает в себя количество VOBU (Количество) в VOB и информацию VOBU для каждого VOBU (VOBU#1 - VOBU#n). Информация VOBU каждого VOBU включает в себя адрес (I_start) пакета TS (начало I-изображения) в начале VOBU, адрес смещения (I_end) конца I-изображения относительно I_start, и начальное время воспроизведения (PTS) I-изображения.
[0167] Следует заметить, что значение I_end не ограничивается значением смещения, то есть, размером I-изображения, и может вместо этого быть фактическим конечным адресом I-изображения.
[0168] Фиг.28 является диаграммой для пояснения информации VOBU подробно.
[0169] Как широко известно, поток видео MPEG может быть сжат с переменной частотой следования битов для записи с высоким качеством изображения. Соответственно, нет простой корреляции между периодом времени воспроизведения и размером данных в случае потока видео MPEG. AC3, который является звуковым стандартом сжатия, сжимает данные с фиксированной скорости передачи в битах, и поэтому отношение время/адрес может быть представлено линейным выражением. В случае видеоинформации MPEG, с другой стороны, отдельные кадры имеют фиксированный период времени отображения. В качестве одного примера, каждый кадр имеет период времени отображения 1/29.97 секунды в NTSC. Однако размер данных каждого кадра после сжатия сильно отличается в зависимости от особенностей изображения и типа изображения, используемого для сжатия, а именно, I-изображения, P-изображения или B-изображения. Для видео MPEG, поэтому, отношение время/адрес не может быть представлено линейным выражением.
[0170] Соответственно, для VOB, который является потоком системы MPEG, в который видеоинформация MPEG была мультиплексирована, отношения между временем и размером данных также не могут быть представлены линейным выражением. Вместо этого карта времени (TMAP) служит для показа отношения время/адрес в VOB.
[0171] Когда информация времени задана, поиск сначала выполняется для VOBU, которому принадлежит время, показанное информацией времени (посредством проверки PTS каждого VOBU). Переход делается к VOBU, PTS которого непосредственно предшествует времени, показанному информацией времени в TMAP (адрес, заданный посредством I_start). Декодирование начинается с I-изображения в начале VOBU, и отображение начинается с изображения, соответствующего времени, показанному информацией времени.
[0172] Ниже описана внутренняя структура информации списков воспроизведения ("XXX.PL") со ссылками на фиг.29.
[0173] Информация списка воспроизведения грубо состоит из списка фрагментов (CellList) и списка событий (EventList).
[0174] Список фрагментов (CellList) является последовательностью фрагментов воспроизведения в списке воспроизведения. Фрагменты воспроизводят в порядке, показанном этим списком фрагментов. Список фрагментов (CellList) включает в себя количество фрагментов (Number) и информацию фрагмента для каждого фрагмента (Cell#1 - Cell#n).
[0175] Информация фрагментов (Cell#) включает в себя имя файла VOB (VOBName), начальное время (In) и время окончания (Out) в VOB, и таблицу субтитров (SubtitleTable). Начальное время (In) и время окончания (Out) каждое выражаются номером кадра в VOB. Адрес данных VOB, необходимых для воспроизведения, может быть получен при обращении к вышеупомянутой карте времени.
[0176] Таблица субтитров (SubtitleTable) является таблицей, хранящей информацию о субтитрах, которые нужно воспроизводить синхронно с VOB. Как и с аудио, субтитры могут быть предоставлены на множестве языков. Соответственно, таблица субтитров (SubtitleTable) включает в себя количество языков (Количество) и таблицу для каждого языка (Language#1 - Language#k), которая следует за ними.
[0177] Каждая таблица языков (Language #) включает в себя информацию о языке (Lang), ряд наборов информации субтитров для отдельно отображенных субтитров (Количество), и информацию субтитров для каждого отдельно отображенного субтитра (Speech#1 - Speech#j). Информация субтитров (Speech#) грубо состоит из соответствующего имени файла данных изображения (Name), времени начала отображения субтитров (In), времени окончания отображения субтитров, и позиции отображения субтитров (Позиция).
[0178] Список событий (EventList) является таблицей, определяющей события, сгенерированные в списке воспроизведения. Список событий главным образом состоит из многих событий (Количество) и отдельных событий (Event#1 - Event#m), которые следуют за ним. Каждое событие (Event#) включает в себя тип события (Type), идентификатор события (ID), время генерирования события (Time) и период действительности (Duration).
[0179] Фиг.30 показывает таблицу обработчика событий ("XXX.PROG"), которая хранит обработчики событий (для событий времени и пользовательских событий выбора пункта меню) для отдельного списка воспроизведения.
[0180] Таблица обработчика событий имеет множество определенных обработчиков/программ событий, (Количество) и отдельных обработчиков/программ событий (Program#1 - Program#n). Каждый обработчик/программа событий (Programm#*) включает в себя определение начала обработчика событий (тэг <event_handler>) и идентификатор обработчика событий (ID), соответствующий упомянутому выше идентификатору события. После него программа пишется в скобках "{" и "}" после "Функции". События (Event#1 - Event#m), сохраненные в вышеупомянутом списке событий (EventList) в "XXX.PL", определяются, используя идентификаторы (ID) обработчиков событий в "XXX.PROG".
[0181] Ниже описана внутренняя структура информации, относящаяся ко всему диску BD ("BD.INFO") со ссылками на фиг.31.
[0182] Вся информация диска BD главным образом состоит из списка заголовков (TitleList) и таблицы событий для глобальных событий (EventList).
[0183] Список заголовков (TitleList) включает в себя множество заголовков в диске (Количество) и информацию заголовка для каждого заголовка (Title#1 - Title#n), который следует за ним. Информация заголовка (Title#) включает в себя таблицу списков воспроизведения, включенных в заголовок (PLTable) и список разделов в заголовке (ChapterList). Таблица списков воспроизведения (PLTable) включает в себя множество списков воспроизведения в заголовке (Количество) и названия списков воспроизведения, то есть, имена файлов списков воспроизведения (Name#1 - Name#m).
[0184] Список разделов (ChapterList) включает в себя множество разделов, включенных в заголовок (Количество) и информацию раздела для каждого раздела (Chapter#1 - Chapter#n). Информация разделов (Chapter #) включает в себя таблицу фрагментов, включенных в раздел (CellTable). Таблица фрагментов (CellTable) грубо состоит из многих фрагментов (Количество) и информации записи для каждого отдельного фрагмента (CellEntry#1 - CellEntry#k). Информация записи каждого фрагмента (CellEntry #) имеет название списка воспроизведения, который включает в себя фрагмент, и номер фрагмента для фрагмента в списке воспроизведения.
[0185] Список событий (EventList) включает в себя множество глобальных событий (Количество) и информацию для каждого отдельного глобального события. Следует заметить, что глобальное событие, определенное первым в списке событий (EventList), называют первым событием (FirstEvent), которое вызывают первым, когда диск BD вставляется в плеер. Глобальная информация события состоит из типа события (Type) и идентификатора события (ID).
[0186] Фиг.32 показывает таблицу ("BD.PROG") программ, которые являются глобальными обработчиками событий.
[0187] Эта таблица имеет ту же структуру, что таблица обработчика событий, показанная на Фиг.30.
[0188] <Механизм генерирования события>
Ниже описан механизм для генерирования события со ссылками на фиг.33-35.
[0189] Фиг.33 показывает пример события времени.
[0190] Как описано выше, событие времени определено в списке событий (EventList) в информации списков воспроизведения ("XXX.PL"). В случае, когда событие определено как событие времени, то есть, типом события (Type) является "TimeEvent", событие времени, имеющее идентификатор "Ex1", посылают с процессора сценария на процессор программ, когда текущим временем является время генерирования события (t1). Процессор программ ищет обработчик событий, имеющий идентификатор события "Ex1", и выполняет этот обработчик событий. В примере, показанном на Фиг.33, изображены изображения двух кнопок.
[0191] Фиг.34 показывает пример пользовательского события операции меню.
[0192] Как описано выше, пользовательское событие операции меню также определяется в списке событий (EventList) в информации списков воспроизведения ("XXX.PL"). В случае, когда событие определяется как пользовательское событие, то есть, типом события (Type) является "UserEvent", пользовательское событие устанавливается в состояние готовности, когда текущее время есть время генерирования события (t1). В этот момент само событие еще не сгенерировано. Это событие находится в состоянии готовности во время периода, показанного информацией периода действительности (Duration).
[0193] Как показано на Фиг.34, когда пользователь нажимает клавиши Up/Down/Left/Right или клавишу ENTER на пульте дистанционного управления, сначала администратор UOP генерирует событие UOP и выводит сгенерированное событие UOP на процессор программ. Процессор программ передает событие UOP на процессор сценария. Процессор сценария проверяет, существует ли действительное пользовательское событие во время приема события UOP. Когда действительное пользовательское событие существует, процессор сценария генерирует пользовательское событие и посылает сгенерированное пользовательское событие в процессор программ. Процессор программ ищет обработчик событий, который имеет идентификатор события "Ev1", и выполняет этот обработчик событий. В примере, показанном на Фиг.34, начинается воспроизведение playlist#2.
[0194] Сгенерированное пользовательское событие не включает в себя информацию о том, какая удаленная клавиша управления была нажата пользователем. Эту информацию о нажатой удаленной клавише управления посылают в процессор программ посредством события UOP и сохраняют в регистре SPRM(8) в виртуальном плеере. Программа обработчика событий может обратиться к значению этого регистра и выполнить переход.
[0195] Фиг.35 показывает пример глобального события.
[0196] Как описано выше, глобальное событие определено в списке событий (EventList) в информации всего диска BD ("BD.INFO"). В случае, когда событие определяется как глобальное событие, то есть, тип события (Type) является "GlobalEvent", событие генерируется, только когда пользователь выполняет операцию клавиши пульта дистанционного управления.
[0197] Когда пользователь нажимает клавишу Меню, сначала администратор UOP генерирует событие UOP и выводит сгенерированное событие UOP на процессор программ. Процессор программ передает событие UOP на процессор сценария. Процессор сценария генерирует глобальное событие, соответствующее событию UOP, и посылает сгенерированное глобальное событие в процессор программ. Процессор программ ищет обработчик событий, который имеет идентификатор события "Меню", и выполняет этот обработчик событий. В примере, показанном на Фиг.35, начинается воспроизведение playlist#3.
[0198] Хотя этот вариант осуществления просто относится к одной клавише Меню, множество клавиш меню можно предоставить в случае цифровых видеодисков. Это может быть достигнуто посредством определения идентификатора, соответствующего каждой клавише меню.
<
[0199] Машина виртуального плеера>
Ниже описана функциональная структура процессора программ со ссылками на фиг.36.
[0200] Процессор программ - модуль обработки, который имеет машина виртуального плеера внутри. Машина виртуального плеера - это функциональная модель, определенная для BD, и не полагается на реализацию каждого отдельного плеера BD. Другими словами, машина виртуального плеера гарантирует, что одни и те же особенности могут быть реализованы в любом плеере BD.
[0201] Машина виртуального плеера имеет две основные особенности, а именно, функции программирования и переменные плеера (регистры). Функции программирования определяют следующие особенности в качестве уникальных функций BD, основанные на Java (зарегистрированный товарный знак) Script.
[0202] Функция связи: остановить текущее воспроизведение и начать воспроизведение при назначенном списке воспроизведения, фрагменте, и время.
Link (PL#, Cell#, время)
PL#: имя списка воспроизведения
Cell#% имя списка воспроизведения:
время: начальное время воспроизведения в фрагменте
Функция рисования PNG: рисование назначенных данных PNG на плоскости изображения.
Draw (File, X, Y)
File: имя файла PNG
X: позиция координаты X
Y: позиция координаты Y
Функция очистки плоскости изображения: очистить обозначенную область плоскости изображения.
Clear (X, Y, W, H)
X: позиция координаты X
Y: позиция координаты Y
W: ширина в направлении X
Н: ширина в направлении Y
Переменные плеера включают в себя системные параметры (SPRM), которые показывают состояние плеера, и общие параметры (GPRM), которые могут использоваться для общих применений.
[0203] Фиг.37 показывает список системных параметров (SPRM).
[0204] SPRM (0): код языка
SPRM (1): номер потока аудио
SPRM (2): номер потока субтитров
SPRM (3): номер угла
SPRM (4): номер заголовка
SPRM (5): номер раздела
SPRM (6): номер программы
SPRM (7): номер фрагмента
SPRM (8): информация выбранной клавиши
SPRM (9): навигационный таймер
SPRM (10): информация времени воспроизведения
SPRM (11): режим микширования для караоке
SPRM (12): код страны для родительского контроля
SPRM (13): родительский уровень
SPRM (14): конфигурация плеера (видео)
SPRM (15): конфигурация плеера (аудио)
SPRM (16): код языка для аудиопотока
SPRM (17): код языка для аудиопотока (расширение)
SPRM (18): код языка для потока субтитра
SPRM (19): код языка для потока субтитра (расширение)
SPRM (20): код региона плеера
SPRM (21): зарезервированный
SPRM (22): зарезервированный
SPRM (23): состояние воспроизведения
SPRM (24): зарезервированный
SPRM (25): зарезервированный
SPRM (26): зарезервированный
SPRM (27): зарезервированный
SPRM (28): зарезервированный
SPRM (29): зарезервированный
SPRM (30): зарезервированный
SPRM (31): зарезервированный
[0205] Нужно отметить, что этот вариант осуществления описывает случай, когда функции программирования виртуального плеера основаны на Java (зарегистрированный товарный знак) Script, но другие функции программирования, такие как B-Shell или Perl Script, используемые в ОС UNIX (зарегистрированный товарный знак) и т.п., могут также использоваться. Другими словами, настоящее изобретение не ограничивается использованием Java (зарегистрированный товарный знак) Script.
[0206] <Примеры программ>
Фиг.38 и 39 показывают примеры программ обработчика событий.
[0207] Фиг.38 показывает пример меню, имеющего две кнопки выбора.
[0208] Программа слева на Фиг.38 выполняется, используя событие времени, с начала фрагмента (Playlist#1, Cell#1). Здесь, общие параметры GPRM(0) первоначально устанавливаются в "1". GPRM (0) используется для идентификации нажатой кнопки в этой программе. В начальном состоянии GPRM (0) имеет начальное значение, указывающее, что выбирается кнопка 1 слева.
[0209] Затем, рисование PNG выполняется для каждой кнопки 1 и кнопки 2, используя функцию Draw. Для кнопки 1 рисуется PNG изображение 1black.png" с координатами (10, 200) в качестве отправной точки (верхний левый угол). Для кнопки 2 рисуется PNG изображение "2white.png" с координатами (330, 200) в качестве отправной точки (верхний левый угол).
[0210] Кроме того, программа справа на Фиг.38 выполняется, используя событие времени, в конце этого фрагмента. Здесь, функция Link используется для инструктирования, чтобы снова воспроизводить с начала фрагмента.
[0211] Фиг.39 показывает пример обработчика событий для пользовательского события выбора пункта меню.
[0212] Обработчик событий включает в себя программу, соответствующую каждой операции нажима клавиши Влево (Left), клавиши Вправо (Right) и клавиши ENTER на пульте дистанционного управления. Когда пользователь нажимает любую из удаленных клавиш управления, генерируется пользовательское событие, и обработчик событий согласно Фиг.39 активизируется, как объяснено на Фиг.34. Обработчик событий выполняет переход, используя значение GPRM(0), идентифицирующее нажатую кнопку, и значение SPRM(8), идентифицирующее нажатую кнопку пульта дистанционного управления.
[0213] Состояние 1): клавиша Вправо (Right) нажимается, в то время как кнопка 1 выбрана. В этом случае, GPRM(0) изменяется на "2", чтобы установить правую кнопку 2 в этом выбранном состоянии.
[0214] Кроме того, изображение каждой из кнопок 1 и 2 перерисовывается.
[0215] Состояние 2): клавиша ENTER нажимается, в то время как кнопка 1 выбрана. В этом случае начинается воспроизведение playlist#2.
[0216] Состояние 3): клавиша ENTER нажимается, в то время как выбрана кнопка 2. В этом случае начинается воспроизведение playlist#3.
[0217] Таким образом, выполнение программы выполняется.
[0218] <Последовательности обработки плеера >
Ниже описаны потоки операций обработки плеера со ссылками на Фиг.40-43.
[0219] Фиг.40 - есть последовательность операций, иллюстрирующая основную обработку вплоть до воспроизведения AV.
[0220] Как показано на Фиг.40(a), когда диск BD вставляется (этап S101), плеер BD считывает и анализирует файл BD.INFO (этап S102), и считывает файл BD.PROG (этап S103). Здесь, и BD.INFO, и BD.PROG сохранены в памяти хранения информации управления и затем анализируются процессором сценария.
[0221] После этого процессор сценария генерирует первое событие согласно информации первого события (FirstEvent) в файле BD.INFO (этап S104). Процессор программ принимает первое событие и выполняет обработчик событий, соответствующий первому событию (этап S105).
[0222] Обработчик событий, соответствующий первому событию, как ожидают, включает в себя информацию списка воспроизведения, который должен выполняться первым. Если воспроизведение списка воспроизведения не назначено в обработчике событий, плеер BD не имеет ничего для воспроизведения и ждет приема пользовательского события (этап S201), как показано на Фиг.40(b). После приема пользовательской операции дистанционного управления администратор UOP посылает событие UOP в процессор программ (этап S202).
[0223] Процессор программ решает, соответствует ли событие UOP клавише Меню (этап S203). Когда событие UOP соответствует клавише Меню, процессор программ посылает событие UOP в процессор сценария, и процессор сценария генерирует пользовательское событие (этап S204). Процессор программ выполняет обработчик событий, соответствующий сгенерированному пользовательскому событию (этап S205).
[0224] Фиг.41 показывает обработку последовательности операций от начала воспроизведения PL до начала воспроизведения VOB.
[0225] Как отмечено выше, воспроизведение списка воспроизведения инициализируется обработчиком первого события или обработчиком глобального события (этап S301). Процессор сценария считывает и анализирует информацию списка воспроизведения "XXX.PL" (этап S302) и считывает информацию "XXX.PROG" программы, соответствующую списку воспроизведения (этап S303), как информацию, необходимую для воспроизведения списка воспроизведения. После этого процессор сценария дает команду начать воспроизведение фрагмента на основании информации фрагмента, показанной в списке воспроизведения (этап S304). Это выполняется процессором сценария, выдающим запрос на контроллер представления, который в ответ начинает воспроизводить данные AV (этап S305).
[0226] Когда начинается воспроизведение данных AV (этап S401), контроллер представления считывает и анализирует файл информации VOB (YYY.VOBI) в VOB, соответствующем фрагменту (этап S402). Контроллер представления задает VOBU, который должен воспроизводиться, и его адрес, используя карту времени. Контроллер представления указывает адрес считывания для контроллера диска. Контроллер привода считывает целевые данные VOB с указанного адреса (этап S403) и посылает считанные данные VOB в декодер. Таким образом, начинается воспроизведение данных VOB (этап S404).
[0227] Воспроизведение VOB продолжается до тех пор, пока не закончится секция воспроизведения в VOB, заданном этим фрагментом (этап S405). После окончания секции воспроизведения обработка переходит к этапу S304 для воспроизведения следующего фрагмента. Когда следующий фрагмент не существует, операция воспроизведения завершается (этап S406).
[0228] Фиг.42 - есть последовательность операций, иллюстрирующая обработку события после начала воспроизведения AV.
[0229] Плеер BD является управляемой событиями моделью плеера. Как только воспроизведение списка воспроизведения началось, обработки события для какого-то события во времени, пользовательского события, и отображение субтитра активизируются, и плеер BD выполняет такие обработки события параллельно.
[0230] Этапы S501-S505 (Фиг.42 (a)) соответствуют обработке событий времени.
[0231] После начала воспроизведения списка воспроизведения (этап S501) принимается решение относительно того, завершено ли воспроизведение списка воспроизведения (этап S502). Когда воспроизведение списка воспроизведения не завершено, процессор сценария принимает решение, является ли текущее время временем генерирования события времени (этап S503). Когда текущее время есть время генерирования события времени, процессор сценария генерирует событие времени (этап S504). Процессор программ принимает событие времени и выполняет обработчик событий, соответствующий событию времени (этап S505).
[0232] Когда текущее время не является временем генерирования события времени на этапе S503 или после того, как обработчик событий выполнен на этапе S505, обработка события времени возвращается к этапу S502, чтобы повторить вышеупомянутые этапы. Когда воспроизведение списка воспроизведения оценивается как завершенное на этапе S502, обработка события времени принудительно заканчивается.
[0233] Этапы S601-S608 (Фиг.42(b)) соответствуют обработке пользовательского события.
[0234] После начала воспроизведения списка воспроизведения (этап S601) выполняется принятие решения относительно того, завершается ли воспроизведение списка воспроизведения (этап S602). Когда воспроизведение списка воспроизведения не завершается, принимается решение относительно того, принято ли UOP (этап S603). После приема UOP администратор UOP генерирует событие UOP (этап S604). Процессор программ принимает событие UOP и решает, является ли событие UOP вызовом меню (этап S605). Когда событие UOP есть вызов меню, процессор программ дает команду процессору сценария генерировать пользовательское событие (этап S607). Процессор программ затем выполняет обработчик событий, соответствующий пользовательскому событию (этап S608).
[0235] Когда событие UOP оценивается не как вызов меню на этапе S605, это означает, что событие UOP является событием от клавиш управления курсором или клавиши ENTER. В этом случае процессор сценария решает, находится ли текущее время в пределах периода действительности пользовательского события (этап S606). Когда текущее время находится в пределах периода действительности пользовательского события, процессор сценария генерирует пользовательское событие (этап S607), и процессор программ выполняет обработчик событий, соответствующий пользовательскому событию (этап S608).
[0236] Когда UOP не принято на этапе S603, когда текущее время не находится в пределах периода действительности пользовательского события на этапе S606, или после того, как обработчик событий выполняется на этапе S608, обработка пользовательского события возвращается к этапу S602, чтобы повторить вышеупомянутые этапы. Когда воспроизведение списка воспроизведения оценивается как завершенное на этапе S602, обработка пользовательского события принудительно завершается.
[0237] Фиг.43 соответствует обработке субтитра.
[0238] После начала воспроизведения списка воспроизведения (этап S701) выполняется принятие решения относительно того, завершено ли воспроизведение списка воспроизведения (этап S702). Когда воспроизведение списка воспроизведения не завершено, выполняется принятие решения относительно того, является ли текущее время начальным временем для рисования субтитра (этап S703). Когда текущее время есть начальное время рисования субтитра, процессор сценария дает команду контроллеру представления рисовать субтитр. Контроллер представления дает команду блоку обработки изображения рисовать субтитр (этап S704). Когда текущее время оценивается не как начальное время рисования субтитра на этапе S703, выполняется принятие решения относительно того, является ли текущее время временем окончания отображения субтитра (этап 705). Когда текущее время есть время окончания отображения субтитра, контроллер представления дает команду блоку обработки изображения удалить субтитр, и блок обработки изображения удаляет субтитр из плоскости изображения (этап S706).
[0239] После того, как этап S704 рисования субтитра завершается, после того как этап S706 удаления субтитра завершается, или когда текущее время оценивается не как время окончания отображения субтитра на этапе S705, обработка субтитра возвращается к этапу S702, чтобы повторить вышеупомянутые этапы. Когда воспроизведение списка воспроизведения оценивается как законченное на этапе S702, обработка субтитра принудительно завершается.
Второй Вариант осуществления)
[0240] (
Второй пример потока, в котором могут существовать различные способы кодирования (или движущееся изображение с различными атрибутами), то есть пример, где порог уровня яркости (атрибут движущегося изображения), который используется при выполнении обработки прозрачности посредством ключа яркости в отношении картинки в картинке, может принимать различные значения, описывается ниже в качестве второго варианта осуществления настоящего изобретения.
[0241] Этот вариант осуществления описывает носитель записи, способ мультиплексирования, устройство мультиплексирования и устройство воспроизведения, которые могут устранить, при воспроизведении картинки в картинке на носителе пакетов, таком как BD-ROM, задержку операции воспроизведения, вызванную переключением порога уровня яркости, который используется для решения, выполнять ли обработку прозрачности.
[0242] В носителе записи согласно этому варианту осуществления следующая информация включается в информацию управления для потока, который подлежит обработке прозрачности посредством ключа яркости: информация, указывающая, что порог уровня яркости, используемый для решения, выполнить ли обработку прозрачности во время отображения изображения, ограничивается в блоке непрерывного воспроизведения, или информация, указывающая, что обработка прозрачности ограничивается.
[0243] Носитель записи, способ мультиплексирования, устройство мультиплексирования и устройство воспроизведения согласно этому варианту осуществления в основном имеют аналогичную структуру данных на носителе записи согласно первому варианту осуществления, и аналогичные структурные элементы и операции - способу мультиплексирования, устройству мультиплексирования и устройству воспроизведения согласно первому варианту осуществления. Соответственно, нижеследующее описание сосредотачивается только на характерных особенностях второго варианта осуществления.
[0244] Фиг.44 показывает пример порога ключа яркости в потоке, записанном на носителе записи, согласно этому варианту осуществления. В примере на Фиг.44 порог ключа яркости фиксирован равным 20 во всех секциях, которые гладко соединены. В результате задержка, вызванная переключением порога ключа яркости, подавляется, давая возможность реализовать гладкое соединение.
[0245] Кроме того, информация относительно ключа яркости в гладко соединенной секции воспроизведения включается в информацию управления на носителе записи, согласно этому варианту осуществления. Фиг.45 показывает пример хранения информации, касающейся ключа яркости, как части мета-информации картинки в картинке. Фиг.45(a) показывает информацию флага luma_key_valid, которая указывает, действителен ли ключ яркости. Когда ключ яркости действителен (luma_key_valid=1), изображение обрабатывается в отношении прозрачности и отображается на основе порога ключа яркости. Когда ключ яркости не действителен (luma_key_valid=0), изображение отображается без обработки прозрачности. Как показано на Фиг.45(a), значение luma_key_valid фиксировано во всех секциях воспроизведения, которые гладко соединены. Таким образом, состояние того, действителен ли ключ яркости, является фиксированным во всех секциях воспроизведения, которые гладко соединены. Фиг.45(b) показывает порог уровня яркости luma_key_upper_limit, который используется для решения, отображать ли пиксель прозрачным при применении ключа яркости. Например, когда luma_key_upper_limit равен 20, пиксель, уровень яркости которого равен или меньше чем 20, отображается прозрачным, тогда как пиксель, уровень яркости которого превышает 20, отображается непрозрачным. Как показано на Фиг.45(b), значение luma_key_upper_limit фиксировано во всех секциях воспроизведения, которые гладко соединены. Здесь, так как на luma_key_upper_limit ссылаются в случае, когда ключ яркости действителен, информация, иллюстрирующая порог ключа яркости, может быть предоставлена только в случае, когда ключ яркости действителен.
[0246] Когда обеспечивается, что порог ключа яркости фиксирован, плеер для выполнения обработки прозрачности посредством ключа яркости не должен изменять порог в обработке порога ключа яркости. Поэтому желательно быть в состоянии решить заранее, фиксирован ли порог ключа яркости. Фиг.46 является диаграммой для пояснения флага, используемого для обеспечения того, что порог ключа яркости фиксирован. В примере на Фиг.46, информация флага luma_key_fixed_flag, которая указывает, фиксирован ли порог ключа яркости, хранится как часть информации атрибута каждой секции воспроизведения. Luma_key_fixed_flag указывает, является ли порог ключа яркости в секции воспроизведения тем же самым, как в непосредственно предшествующей секции воспроизведения. Фиг.46(a) показывает пример индикации, что порог ключа яркости фиксирован (luma_key_fixed_flag=1). В этом примере гладко соединены секции воспроизведения, и обеспечивается, что порог ключа яркости фиксирован в этих секциях воспроизведения. Фиг.46 (b) показывает пример необеспечения, что порог ключа яркости является фиксированным (luma_key_fixed_fiag=0). В этом примере секции воспроизведения не являются подлежащими гладкому соединению, и порог ключа яркости является переменным в этих секциях воспроизведения. Следует заметить, что luma_key_fixed_flag может быть установлен для всей секции непрерывного воспроизведения или для каждой секции воспроизведения, которая составляет секцию непрерывного воспроизведения. В случае установки luma_key_fixed_flag для каждой секции воспроизведения, при условии, что каждая секция воспроизведения определяется посредством элемента воспроизведения, информация, указывающая, действительно ли порог ключа яркости фиксирован в секции воспроизведения, может быть включена в информацию воспроизведения, предусмотренную для каждого элемента воспроизведения. Например, информация, показывающая, могут ли быть секция воспроизведения, определенная текущим элементом воспроизведения, и секция воспроизведения, определенная непосредственно предшествующим элементом воспроизведения, соединены гладко, может использоваться также как информация, указывающая, фиксирован ли порог ключа яркости. Таким образом, две информации могут показывать один флаг. Кроме того, информация, указывающая, должен ли ключ яркости быть применен, может храниться таким же образом.
[0247] Второй вариант осуществления имеет те же самые типы гладкого соединения, как в первом варианте осуществления. Например, гладкий многоугольник, в котором могут быть гладко соединены потоки различных углов, является одним типом гладкого соединения. В гладком многоугольнике каждый угол имеет одно и то же состояние о том, действителен ли ключ яркости или один и тот же порог ключа яркости. Есть также множественные типы гладкого соединения, такие как (1) случай, когда значение задающего генератора, такого как тактовый генератор системного времени (STC) в стандарте системы MPEG2, не является непрерывным прежде и после соединения (гладкое соединение типа 1), и (2) случай, когда значение задающего генератора, такого как тактовый генератор системного времени (STC) в стандарте системы MPEG2, является непрерывным прежде и после соединения (гладкое соединение типа 2). Если гладкое соединение обозначается любой из информации, показывающей, соответствуют ли две секции воспроизведения гладкому соединению типа 1, и информации, показывающей, соответствуют ли две секции воспроизведения гладкому соединению типа 2, то такая информация может быть использована для показа, что порог ключа яркости является фиксированным в двух непрерывных секциях воспроизведения.
[0248] Фиг.47 показывает пример применения ключа яркости в картинке в картинке. В картинке в картинке под-видео, называемое вторичным видео, отображается посредством наложения на основное видео, называемое первичным видео. Здесь, когда обработка прозрачности посредством ключа яркости является действительной для вторичного видео, обработка прозрачности выполняется. Когда обработка прозрачности посредством ключа яркости не является действительной для вторичного видео, с другой стороны, обработка прозрачности не выполняется. Фиг.47(a) показывает плоскости видеоотображения. Плоскость 1 является плоскостью отображения для первичного видео, и плоскость 2 является плоскостью отображения для вторичного видео, как показано на Фиг.47(b) и 47(c). Как показано на Фиг.47(d), вторичное видео отображается посредством наложения на первичное видео. В этом примере диагонально заштрихованная область на Фиг.47(c) отображается прозрачной в результате обработки прозрачности посредством ключа яркости. Вторичное видео может быть переключено между множеством потоков. Фиг.47(e), 47(f) и 47(g) показывают пример, когда существуют два вторичных потока видео. Более подробно, Фиг.47(e) показывает график отображения во времени каждой секции воспроизведения в первичном видеопотоке. Фиг.47(f) показывает график отображения во времени каждой секции воспроизведения в первом вторичном видеопотоке. Фиг.47(g) показывает график отображения во времени каждой секции воспроизведения во втором вторичном видеопотоке. Например, предположим, что секции 1-1 и 1-2 на Фиг.47(f) соединены гладко (1 в кружке на Фиг.47). Когда дело обстоит так, секции 1-1 и 1-2 имеют одно и то же состояние того, действительна ли обработка прозрачности посредством ключа яркости и, если обработка прозрачности действительна, один и тот же порог ключа яркости. Кроме того, предположим, что секция 1-2 в первом вторичном видеопотоке гладко соединена с секцией 2-3 во втором вторичном видеопотоке (2 в кружке на Фиг.47). В таком случае секции 1-2 и 2-3 имеют одну и ту же информацию, касающуюся ключа яркости. Кроме того, секциям 1-3 и 2-3 может быть задана одна и та же информация, связанная с ключом яркости, чтобы гарантировать непрерывность в соединении, отличном от соединенных частей секций воспроизведения (3 в кружке на Фиг.47).
[0249] Первичное видео и вторичное видео являются мультиплексированными в транспортном потоке или подобном и записанными. Фиг.48 показывает способ мультиплексирования первичного видео и вторичного видео. Фиг.48(a) показывает пример мультиплексирования первичного видео и вторичного видео в одном и том же транспортном потоке. Фиг.48(b) показывает пример мультиплексирования первичного видео и вторичного видео в отдельных транспортных потоках. Таким образом, первичное видео и вторичное видео могут быть мультиплексированными в одном и том же транспортном потоке или в отдельных транспортных потоках.
[0250] Фиг.49 есть последовательность операций, иллюстрирующая работу способа мультиплексирования для генерирования мультиплексированных данных, записанных на носителе записи, согласно этому варианту осуществления. Способ мультиплексирования согласно этому варианту осуществления отличается от обычного способа мультиплексирования тем, что включает в себя: этап определения блока, в котором состояние, действителен ли ключ яркости, является переключаемым (этап S5301); этап кодирования движущегося изображения клипа на основании определенного блока (этап S5302); этап генерирования информации флага, касающейся ключа яркости для каждой заранее определенной секции воспроизведения (этап S5304); и этап генерирования информации управления, которая включает в себя информацию флага, касающуюся ключа яркости, сгенерированного на этапе S5304 (этап S5305).
[0251] Следует заметить, что способ мультиплексирования согласно этому варианту осуществления является способом кодирования движущегося изображения для кодирования видеопотока, который включает в себя первое движущееся изображение и второе движущееся изображение, которое должен быть наложено на первое движущееся изображение, и включает в себя: этап определения в видеопотоке секции непрерывного воспроизведения, которая является группой частичных секций и подлежит непрерывному воспроизведению, и кодирование видеопотока в каждой секции воспроизведения так, чтобы атрибут ключа яркости был фиксирован в секции непрерывного воспроизведения, причем атрибут ключа яркости определяется по меньшей мере посредством одного из: состояния того, действителен ли ключ яркости, и порога, используемого для обработки прозрачности посредством ключа яркости (этапы S5301-S5303); этап генерирования атрибута ключа яркости для каждой секции воспроизведения или для каждой группы секций воспроизведения (этап S5304); и этап генерирования информации управления, включающей в себя информацию флага, указывающую, что атрибут ключа яркости фиксирован в секции непрерывного воспроизведения (этап S5305). Ниже эти этапы описаны подробно.
[0252] Сначала на этапе S5301 определяется блок, в котором состояние того, действителен ли ключ яркости (состояние достоверности ключа яркости), является переключаемым. Таким образом, одно из блока непрерывного воспроизведения, клипа и блока произвольного доступа, определяется как блок, в котором состояние достоверности ключа яркости является переключаемым. Затем на этапе S5302 данные клипа кодируются на основании блока с переключаемым состоянием достоверности ключа яркости, определенного на этапе S5301. Следует заметить, что решение относительно того, переключаем ли порог ключа яркости, может также быть выполнено на этапе S5301, так чтобы кодирование клипа на этапе S5302 было проведено на основании результата принятия решения. На этапе S5303 выполняется принятие решения относительно того, завершено ли кодирование последнего клипа. Когда кодирование последнего клипа завершено, операция переходит к этапу S5304. Когда кодирование последнего клипа не закончилось, операция возвращается к этапу S5302, чтобы повторить кодирование клипа. На этапе S5304 информация атрибута, касающаяся ключа яркости, генерируется для каждой заранее определенной секции воспроизведения, и процедура переходит к этапу S5305. Заранее определенная секция воспроизведения, упомянутая здесь, является секцией воспроизведения, обозначенной списком воспроизведения в этом варианте осуществления, хотя заранее определенная секция воспроизведения может вместо этого быть клипом или блоком произвольного доступа. На этапе S5305 генерируется информация управления, включающая в себя информацию атрибута, сгенерированную на этапе S5304, и информация управления и данные клипа мультиплексируются и выводятся. Здесь, информация, указывающая, могут ли быть две непрерывных секции воспроизведения гладко соединены, может быть включена в информацию управления. Так как состояние достоверности ключа яркости фиксировано в секциях воспроизведения, которые гладко соединены, на этапе S5301 состояние достоверности ключа яркости определяется как не переключаемое в гладко соединенных секциях воспроизведения. Кроме того, на этапе S5302, когда ключ яркости является действительным в гладко соединенных секциях воспроизведения, выполняется кодирование, так чтобы порог, используемый при выполнении обработки прозрачности посредством ключа яркости, был одним и тем же в каждой из этих гладко соединенных секций воспроизведения. Следует отметить, что подробная операция определения блока, в котором состояние достоверности ключа яркости является переключаемым на этапе S5301, может быть реализована той же самой операцией, как в способе мультиплексирования согласно первому варианту осуществления, показанному на Фиг.14.
[0253] Фиг.50 есть последовательность операций, иллюстрирующая конкретный пример этапа генерирования информации флага (этап S5304) и этапа генерирования информации управления (этап S5305), показанный на Фиг.49. На этапе S5304a выполняется принятие решения относительно того, является ли кодированный клип клипом, состояние достоверности ключа яркости которого переключаемо. Когда кодированный клип оценивается как переключаемый, информация флага, указывающая, что состояние достоверности ключа яркости не фиксировано, генерируется и сохраняется в рабочей области памяти в соответствии с клипом (этап S5304b). Когда кодированный клип оценивается как не переключаемый, информация флага, указывающая, что состояние достоверности ключа яркости фиксировано, генерируется и сохраняется в рабочей области памяти в соответствии с клипом (этап S5304c). Здесь, информация флага включает в себя, для каждой заранее определенной секции воспроизведения, такой как секция воспроизведения, определенная посредством элемента воспроизведения, информацию, показывающую, действителен ли ключ яркости и, когда ключ яркости действителен - порог ключа яркости. На этапе S5304d выполняется принятие решения относительно того, является ли кодированный клип последним клипом. Когда кодированный клип не последний клип, этапы S5304a - S5304c повторяются. Когда кодированный клип - последний клип, операция переходит к этапу S5304e. На этапе S5304e генерируется мета-информация картинка-в-картинке, которая включает в себя информацию, связанную с ключом яркости, для каждого элемента воспроизведения. На этапе S5305f генерируется информация управления, которая включает в себя мета-информацию картинка-в-картинке, список воспроизведения, информацию, необходимую для произвольного доступа. Информация, указывающая, могут ли две непрерывные секции воспроизведения быть гладко соединены, и информация, иллюстрирующая тип гладкого соединения, включаются в список воспроизведения.
[0254] Нужно отметить, что так как информация индекса, идентифицирующая транспортный поток или кодированный поток вторичного видео, включается в информацию управления, информация, связанная с ключом яркости, может быть включена в информацию управления только для такого транспортного потока или кодированного потока, который идентифицируется как вторичное видеоиндексным номером.
[0255] Этот вариант осуществления описывает обработку прозрачности посредством ключа яркости для вторичного видео в операции «картинка-в-картинке», но настоящее изобретение не ограничивается этим. Настоящее изобретение применимо к любому случаю отображения, когда существует множество плоскостей отображения, изображение на плоскости, которая помещается перед другой плоскостью. Одним примером является наложение неподвижного изображения или движущегося изображения на неподвижное изображение, компьютерную графику и т.п. Кроме того, обработка прозрачности посредством ключа яркости может быть применена ко множеству изображений, которые отображаются на различных плоскостях отображения.
[0256] Кроме того, коэффициент прозрачности, отличный от 0 и 1, например полупрозрачность, может использоваться согласно порогу ключа яркости и т.п.
[0257] В картинке в картинке может быть наложено ограничение на операцию воспроизведения, отличную от обработки прозрачности посредством ключа яркости. Например, состояние того, отображать ли вторичное видео, может быть фиксировано при выполнении специального воспроизведения, такого как высокоскоростное воспроизведение или обратное воспроизведение, посредством гладко соединенных секций воспроизведения. Более подробно, в случае специального воспроизведения состояние отображения фиксируется на одном из всегда отображающегося вторичного видео и не отображающегося вторичного видео. При отображении вторичного видео во время специального воспроизведения это специальное воспроизведение может ассоциироваться с обработкой прозрачности посредством ключа яркости, например посредством фиксации порога ключа яркости. При таком выполнении ограничение в картинке в картинке во время специального воспроизведения может быть обеспечено посредством фиксации значения информации флага, указывающей, отображать ли вторичное видео при специальном воспроизведении, или посредством использования информации флага, иллюстрирующей это значение вышеупомянутой информации флага, то есть информации флага, указывающей, отобразить ли вторичное видео на специальном воспроизведении, является фиксированным.
[0258] Следует отметить, что первичное видео и вторичное видео могут быть кодированы согласно, например, MPEG4 AVC, MPEG2 Video или VC-1. Чтобы уменьшить комбинации способов кодирования, требуемых для плеера, комбинация способов кодирования первичного видео и вторичного видео может быть ограничена таким образом, что, когда способом кодирования первичного видео является AVC MPEG4, вторичное видео также кодируется MPEG4 AVC.
[0259] Фиг.51 есть блок-схема, иллюстрирующая структуру устройства 5200 мультиплексирования для реализации способа мультиплексирования согласно этому варианту осуществления. Устройство 5200 мультиплексирования является одним примером кодирующего устройства движущегося изображения для кодирования видеопотока, который включает в себя первое движущееся изображение и второе движущееся изображение, которое должен быть наложено на первое движущееся изображение. Устройство 5200 мультиплексирования включает в себя модуль 5201 определения переключаемого блока, модуль 5202 генерирования информации переключения, модуль 5203 кодирования, системный мультиплексирующий модуль 5204, модуль 5205 генерирования информации управления и модуль 5206 комбинирования. Здесь, только область изображения во втором движущемся изображении, уровень яркости которого превышает заранее определенный порог, накладывается на первое движущееся изображение. Ниже описана работа каждого из структурных модулей
[0260] Модуль 5201 определения переключаемого блока определяет в видеопотоке секцию непрерывного воспроизведения, которая является группой из частичных секций и подлежит непрерывному воспроизведению. Здесь, модуль 5201 определения переключаемого блока определяет блок, в котором порог ключа яркости является переключаемым, и вводит определенный блок в модуль 5202 генерирования информации переключения и модуль 5203 кодирования как переключаемый блок Unit2. Хотя предполагается здесь, что переключаемый блок был фиксирован заранее, переключаемый блок может вместо этого быть фиксирован извне.
[0261] Блок 5202 генерирования информации переключения генерирует, на основании переключаемого блока Unit2, информацию ключа яркости Lumalnf2, показывающую информацию атрибута ключа яркости для каждого блока воспроизведения, определенного списком воспроизведения, и вводит информацию ключа яркости Lumalnf2 в модуль 5205 генерирования информации управления. Например, блок 5202 генерирования информации переключения генерирует информацию флага, указывающую, что порог ключа яркости фиксирован в секции непрерывного воспроизведения.
[0262] Модуль 5202 генерирования информации переключения генерирует множество наборов информации атрибута отображения для того, чтобы определить различные процессы отображения в наложении. Это генерирование множества наборов информации атрибута отображения выполняется так, чтобы множество наборов информации атрибута отображения, содержимое которых переключаются во множестве частичных секций, составляющих секцию непрерывного воспроизведения, были ограничены не больше чем заранее определенным количеством. Более подробно, как показано на Фиг.52, модуль 5202 генерирования информации переключения генерирует множество наборов информации атрибута отображения, включая следующее (i) (ii) и (iii), в качестве мета-информации картинка-в-картинке. (i) Информация флага, показывающая, является ли вышеупомянутый порог, то есть порог уровня яркости для определения коэффициента прозрачности равным 1 посредством применения ключа яркости, является тем же самым (1) или отличным (0) между текущей секцией воспроизведения и непосредственно предшествующей секцией воспроизведения, или информацией, иллюстрирующей порог ключа яркости. (ii) Информация флага, показывающая, является ли позиция отображения вторичного видеоизображения, которое должно быть наложено на первичное видеоизображении, тем же самым (1) или различным (0) между текущей секцией воспроизведения и непосредственно предшествующей секцией воспроизведения, или информацией координаты позиции отображения. (iii) Информация флага, показывающая, является ли масштабный коэффициент (масштаб увеличения) вторичного видеоизображения, которое должен быть наложено на первичное видеоизображение, тем же самым (1) или различным (0) между текущей секцией воспроизведения и непосредственно предшествующей секцией воспроизведения, или информация, обозначающая способ масштабирования. При генерировании этих наборов информации атрибута отображения количество наборов информации атрибута изображения, содержание которого может быть переключено в секции непрерывного воспроизведения, ограничивается не больше чем заранее определенным количеством (например 2). Посредством наложения этого ограничения обеспечивается, что количество наборов информации атрибута изображения, которые изменяются по значению в секции непрерывного воспроизведения, не превышает заранее определенное количество. Это облегчает нагрузку обработки для процесса переключения в устройстве воспроизведения.
[0263] Модуль 5203 кодирования кодирует первое и второе движущиеся изображения во множество частичных секций, составляющих секцию непрерывного воспроизведения, определенную модулем 5201 определения переключаемого блока, чтобы удовлетворить ограничение, которое препятствует тому, чтобы порог был изменен в секции непрерывного воспроизведения. Здесь, модуль 5203 кодирования кодирует данные каждого клипа, чтобы выполнить ограничение переключаемого блока Unit2, и вводит кодированные данные Cdata2 в системный мультиплексирующий модуль 5204. Более подробно, в секции непрерывного воспроизведения, модуль 5203 кодирования корректирует (посредством умножения на коэффициент, суммирования значения смещения, и т.д.) уровни яркости пикселей, составляющих второе движущееся изображение так, чтобы уровень яркости каждого пикселя области изображения, которая должен быть наложена, превысил порог, и уровень яркости каждого пикселя области изображения, которая не должен быть наложена (то есть должна быть обработана в отношении прозрачности), не превышал порог.
[0264] Следует заметить, что не только для секции непрерывного воспроизведения, определенной модулем 5201 определения переключаемого блока, но также и для множества частичных секций, которые гладко соединены согласно модели декодера, модуль 5203 кодирования может закодировать первые и вторые движущиеся изображения во множество частичных секций, чтобы выполнить ограничение, которое предотвращает изменение порога. Вышеупомянутая модель декодера определяет случай, когда две частичных секции должны быть гладко соединены. Для таких двух частичных секций предпочтительно кодировать первое и второе движущиеся изображения при ограничении, которое предотвращает изменение порога, заранее.
[0265] Системный мультиплексирующий модуль 5204 системно мультиплексирует кодированные данные Cdata2 и вводит информацию потока Strlnf2 к модулю 5205 генерирования информации управления и мультиплексированные данные Mdata2 к модулю 5206 комбинирования. В BD-ROM используется вызванный способом системного мультиплексирования исходный пакет, в котором 4-байтовый заголовок добавляется к транспортному потоку MPEG2. Кроме того, потоковая информация Strlnf2 включает в себя информацию для генерирования информации управления для мультиплексированных данных Mdata2, такой как карта времени. Здесь, системный мультиплексирующий модуль 5204 может выполнить мультиплексирование таким образом, что множество частичных секций, составляющих секцию непрерывного воспроизведения, задаются идентификатором пакета в транспортном потоке. Это позволяет идентифицировать идентификатором пакета клипы, в которых порог является фиксированным.
[0266] Модуль 5205 генерирования информации управления генерирует информацию управления, включающую в себя вышеупомянутую информацию атрибута элемента изображения, и информацию флага, указывающую, что порог является фиксированным в секции непрерывного воспроизведения, в соответствии с инструкцией от модуля 5202 генерирования информации переключения. Здесь, модуль 5205 генерирования информации управления генерирует информацию управления Ctrllnf2, которая включает в себя информацию Lumalnf2 ключа яркости, карту времени, сгенерированную на основании потоковой информации Strlnf2, и т.п., и вводит информацию управления Ctrllnf2 в модуль 5206 комбинирования.
[0267] Модуль 5206 комбинирования объединяет первое и второе движущиеся изображения, кодированные модулем 5203 кодирования, с информацией управления, сгенерированной модулем 5205 генерирования информации управления, и выводит комбинацию. Здесь, модуль 5206 комбинирования объединяет информацию управления Ctrllnf2 с мультиплексированными данными Mdata2 и выводит комбинацию в качестве данных Dout2 записи.
[0268] Устройство 5200 мультиплексирования, имеющее вышеупомянутую структуру, выполняет операцию мультиплексирования согласно последовательностям операций, показанным на Фиг.49 и 50, и в результате генерирует информацию управления и кодированный поток, как показано на Фиг.44-48.
[0269] Фиг.53 показывает структуру данных информации управления, сгенерированной этим устройством 5200 мультиплексирования. Фиг.53(a) показывает элементы данных списка воспроизведения, который является частью информации управления. Фиг.53(b) показывает пример списка воспроизведения, иллюстрирующий секции воспроизведения, которые гладко соединены (Connection_condition=5). Как показано на Фиг.53(a), устройство 5200 мультиплексирования генерирует в качестве списка воспроизведения "элемент воспроизведения", "под-элемент воспроизведения" и "мета-информацию картинка-в-картинке". Как показано на Фиг.53(b), "элемент воспроизведения" показывает информацию о каждой секции воспроизведения в первичном видео (такую как начальное время воспроизведения и время окончания воспроизведения в клипе), состояние соединения между секциями воспроизведения в первичном видео, и т.п. "Под-элемент воспроизведения" показывает информацию о каждой секции воспроизведения во вторичном видео (такую как начальное время воспроизведения и время окончания воспроизведения в клипе), состояние соединения между секциями воспроизведения во вторичном видео, и т.п. "Мета-информация картинка-в-картинке” показывает информацию атрибута отображения (например, ключ яркости, позицию отображения, и масштабный коэффициент) вторичного видео при воспроизведении картинки в картинке. Следует заметить, что клип первичного видео, соответствующий элементу воспроизведения и под-элементу воспроизведения, идентифицируется индексом элемент воспроизведения.
[0270] Таким образом, устройство 5200 мультиплексирования генерирует информацию флага, указывающую, что порог является фиксированным, в качестве информации воспроизведения ("мета-информации" на Фиг.53), соответствующей каждой из множества частичных секций ("секций воспроизведения" на Фиг.53), которые составляют секцию непрерывного воспроизведения. Более подробно, устройство 5200 мультиплексирования генерирует информацию флага в качестве информации воспроизведения ("мета-информации" на Фиг.53), соответствующей каждому элементу воспроизведения, включенному в список воспроизведения.
[0271] При генерировании данных посредством использования средств разработки или подобного, есть случай, когда генерирование кодированных данных и системного мультиплексирования или генерирование информации управления проводятся отдельными устройствами. В таком случае вышеупомянутый способ мультиплексирования может быть достигнут этими отдельными устройствами, работающими таким же образом, как структурные модули в устройстве 5200 мультиплексирования.
[0272] Устройство 5200 мультиплексирования может использоваться не только как устройство кодирования движущегося изображения для генерирования кодированного потока, но также и как устройство записи движущегося изображения для записи кодированного потока на носитель записи, который включает в себя оптический диск, такой как BD, флэш-память, такая как цифровая карта безопасности (SD), жесткий диск, и т.п. Это может быть достигнуто посредством обеспечения модуля 5206 комбинирования, который является выходным каскадом устройства 5200 мультиплексирования, с функцией записи комбинированных первого и второго движущихся изображений, кодированных модулем 5203 кодирования, с информацией управления, сгенерированной модулем 5205 генерирования информации управления, и записи комбинации на носитель записи. Носитель записи, раскрытый в этом описании, может быть создан таким устройством записи движущегося изображения (или способом записи движущегося изображения).
[0273] Фиг.54 - есть последовательность операций, иллюстрирующая работу выполнения обработки прозрачности посредством ключа яркости, когда воспроизведение одной секции завершается, а другой начинается, в плеере (устройство воспроизведения движущегося изображения) для воспроизведения мультиплексированных данных, записанных на носителе записи согласно этому варианту осуществления.
[0274] Сначала на этапе S5401 плеер решает, гладко ли соединена текущая секция воспроизведения, заданная элементом воспроизведения, со следующей секцией воспроизведения. Когда текущая секция воспроизведения оценивается как гладко соединенная, плеер переходит к этапу S5405. Когда текущая секция воспроизведения оценивается не как гладко связанная, плеер переходит к этапу S5402. Как конкретный пример этого суждения, плеер получает информацию управления, соответствующую видеопотоку, и решает, указывает или нет информация флага в полученной информации управления, что порог является фиксированным (этап S5401). Когда информация флага в информации управления указывает, что порог является фиксированным, плеер решает, что текущая секция воспроизведения и следующая секция воспроизведения соединены гладко (этап S5401: да). Когда информация флага в информации управления указывает, что порог не фиксирован, плеер решает, что текущая секция воспроизведения и следующая секция воспроизведения соединены не гладко (этап S5401: нет).
[0275] На этапе S5402 плеер решает, действителен ли ключ яркости в следующей секции воспроизведения. Когда ключ яркости оценивается как действительный, плеер переходит к этапу S5403. Когда ключ яркости оценивается не как действительный, плеер переходит к этапу S5406. На этапе S5403 плеер получает порог ключа яркости. На этапе S5404 плеер выполняет обработку прозрачности в отношении вторичного видео в следующей секции воспроизведения на основании порога ключа яркости, полученного на этапе S5403.
[0276] На этапе S5405 плеер выполняет обработку прозрачности в отношении вторичного видео в следующей секции воспроизведения, при том же самом состоянии, что текущая секция воспроизведения (то есть на основании того же порога ключа яркости, как в текущей секции воспроизведения). Более подробно, плеер выполняет процесс создания, во вторичном видео, пикселя, уровень яркости которого равен или меньше, чем порог ключа яркости, полностью прозрачным. Здесь, когда ключ яркости не является действительным в текущей секции воспроизведения, плеер не выполняет обработку прозрачности в отношении вторичного видео в следующей секции воспроизведения.
[0277] На этапе S5406 плеер выполняет наложение отображения на первичное видеорезультата вывода этапа S5404 или этапа S5405, или декодирование результата вторичного видео, в отношении которого обработка прозрачности не была выполнена в случае, когда ключ яркости оценивался как недействительный на этапе S5402.
[0278] Нужно отметить, что работа, показанная на Фиг.54, может быть реализована плеером для воспроизведения диска BD, как показано на Фиг.20 и 21 в первом варианте осуществления. Например, обработка прозрачности посредством ключа яркости выполняется блоком 208 обработки представления, показанным на Фиг.20.
[0279] Кроме того, плеер может определить порядок воспроизведения элементов воспроизведения в соответствии с заранее определенной процедурой воспроизведения. Как один пример, при непрерывном воспроизведении множества элементов воспроизведения, плеер располагает по приоритетам элементы воспроизведения, которые имеют один и тот же порог ключа яркости. В случае, когда пользователь просит воспроизводить конкретный элемент воспроизведения операцией с пульта дистанционного управления или подобным образом, плеер может непрерывно воспроизводить элементы воспроизведения, которые имеют различные пороги ключа яркости. Кроме того, в способе мультиплексирования и устройстве мультиплексирования согласно этому варианту осуществления порог ключа яркости может быть фиксирован в элементах воспроизведения, которые непрерывно воспроизводятся в соответствии с заранее определенной процедурой воспроизведения. Здесь, один элемент воспроизведения соответствует одному блоку воспроизведения.
(Третий вариант осуществления)
[0280]
Посредством записи программы для реализации носителя записи способ воспроизведения и способ записи, описанные в каждом из вышеупомянутых вариантов осуществления на носитель записи, такой как гибкий диск, обработка, показанная в каждом из вышеупомянутых вариантов осуществления, может быть легко реализована на независимой компьютерной системе.
[0281] Фиг.55A-55C показывают ситуацию, когда способ воспроизведения и способ записи в каждом из вышеупомянутых вариантов осуществления реализуются на компьютерной системе посредством использования программы, записанной на носителе записи, таком как гибкий диск.
[0282] Фиг.55B показывает вид гибкого диска, как он виден спереди, поперечное сечения гибкого диска, и сам гибкий диск. Фиг.55A показывает примерный физический формат гибкого диска, который является «телом» носителя записи. Гибкий диск FD размещается в корпусе F. Множество дорожек Tr формируется на поверхности гибкого диска FD концентрически в направлении от его внешнего радиуса к внутреннему радиусу. Каждая дорожка делится на 16 секторов Se в угловом направлении. В гибком диске, хранящем программу, программа располагается в области, распределенной на гибком диске FD.
[0283] Фиг.55C показывает структуру для записи/игры программы на гибком диске FD. Чтобы записать программу для реализации способа воспроизведения и способа записи на гибком диске FD, программа записывается с компьютерной системы Cs на гибкий диск FD с помощью накопителя на гибком диске FDD. Чтобы реализовать способ записи и способ воспроизведения на компьютерной системе Cs с помощью программы, сохраненной на гибком диске FD, программа считывается с гибкого диска FD с помощью накопителя на гибком диске FDD и передается компьютерной системе Cs.
[0284] Хотя гибкий диск описывается как пример носителя записи, применим одинаково оптический диск. Кроме того, другие носители записи, способные к записи программы, такой как IC карта или кассета ROM, одинаково применимы.
[0285] Функциональные блоки, показанные в каждой из блок-схем, таких как Фиг.12, 20, 21, 25, и 51, могут обычно реализоваться как БИС, которая является устройством интегральной схемы. Такая БИС может быть получена посредством интегрирования функциональных блоков на одной микросхеме или множестве микросхем (например, функциональные блоки кроме памяти могут быть реализованы на одной микросхеме). Хотя здесь указана БИС, схема может быть названа ИС, системная БИС, сверх БИС качества или ультра-БИС, в зависимости от степени интеграции.
[0286] Кроме того, интеграция не ограничивается БИС и может быть выполнена, используя специализированную схему или обычный процессор. Программируемая пользователем вентильная матрица (FPGA), которая может быть запрограммирована, или реконфигурируемый процессор, способный к реконфигурированию соединений и параметров настройки фрагментов схемы в БИС, могут использоваться после изготовления БИС.
[0287] Кроме того, если технология интегральных схем, которая заменяет БИС, появляется из развития полупроводниковой технологии или другой производной технологии, такая технология может использоваться для интеграции функциональных блоков. Например, биотехнология может быть адаптирована таким образом.
[0288] Кроме того, из функциональных блоков только блок для хранения данных может быть реализован как отдельная структура вместо того, чтобы быть включенным в одну микросхему, как в случае носителя записи в вышеупомянутых вариантах осуществления.
[0289] Хотя способ кодирования движущегося изображения и т.п. согласно настоящему изобретению был описан посредством вышеупомянутых вариантов осуществления, настоящее изобретение не ограничивается этими вариантами осуществления. Настоящее изобретение включает в себя другие формы, которые могут быть реализованы посредством применения модификаций, придуманных специалистами, к вышеупомянутым вариантам осуществления, другие формы, которые могут быть реализованы любой комбинацией конструктивных элементов в вышеупомянутых вариантах осуществления, и т.п.
[0290] Блок-схемы, например Фиг.12, 20, 21, 25, и 51 и в последовательностях операций, Фиг.11, 13-17, 40-43, 49, 50, и 54, основные части могут также быть реализованы процессором или программой.
[0291] Таким образом, способ кодирования движущегося изображения или способ декодирования движущегося изображения в вышеупомянутых вариантах осуществления могут использоваться в любом устройстве или системе, описанной выше. Таким образом, результаты, описанные в вышеупомянутых вариантах осуществления, могут быть достигнуты.
Промышленная применимость
[0292] Способ кодирования движущегося изображения согласно настоящему изобретению фиксирует в кодированных данных движущегося изображения, составляющих блок непрерывного воспроизведения, указанный информацией управления, порог уровня яркости, используемый при решении, отображать ли прозрачный пиксель. В результате гладкое воспроизведение может быть достигнуто посредством подавления задержки декодирования, вызванной переключением порога уровня яркости. Поэтому способ кодирования движущегося изображения согласно настоящему изобретению является подходящим для использования в пакетированной аудиовизуальной информации, приложениях распределения и т.п. для отображения наложения движущегося изображения на движущееся изображение, графику, неподвижное изображение, или подобное. Примеры использования включают в себя БИС кодера движущегося изображения, кинокамеру, устройство записи движущегося изображения, телевидение с функцией записи движущегося изображения и компьютерную программу.