Сообщение характеристик рабочей точки нескольких изображений видео (mvc)

Иллюстрации

Показать все

Изобретение относится к транспортированию кодированных видеоданных. Техническим результатом является улучшение кодирования нескольких изображений видео (MVC) в системе стандарта MPEG-2. Указанный технический результат достигается тем, что исходные и целевые видеоустройства используют структуры данных, которые сообщают сведения о рабочей точки для потока битов MPEG-2. Предложено устройство для составления потока битов, включающее: мультиплексор, который формирует структуру данных, соответствующую рабочей точке кодирования MVC потока битов MPEG-2, в котором структура данных сообщает значение способности воспроизведения, которое описывает способность воспроизведения, удовлетворяющую принимающее устройство для использования рабочей точки MVC, значение способности декодирования, которое описывает способность декодирования, удовлетворяющую принимающее устройство для использования рабочей точки MVC, и значение битовой скорости, которое описывает битовую скорость рабочей точки MVC и которое включает в себя структуру данных как часть потока битов; и выходной интерфейс, который выводит поток битов, содержащий указанную структуру данных. 8 н. и 40 з.п. ф-лы, 8 ил., 10 табл.

Реферат

[0001] Настоящая заявка на патент испрашивает приоритет предварительных заявок США № 61/232272, поданной 7 августа 2009 года, № 61/248738, поданной 5 октября 2009 года, и № 61/266861, поданной 4 декабря 2009 года, все содержимое которых включено в настоящий документ посредством ссылки в их соответствующей полноте.

ОБЛАСТЬ ТЕХНИКИ

[0002] Это раскрытие изобретения относится к транспортированию кодированных видеоданных.

УРОВЕНЬ ТЕХНИКИ

[0003] Возможности цифрового видео могут быть встроены в широкий диапазон устройств, в том числе цифровые телевизоры, системы цифрового прямого широковещания, беспроводные широковещательные системы, карманные персональные компьютеры (PDA), портативные или настольные компьютеры, цифровые камеры, цифровые записывающие устройства, проигрыватели цифровых медиаданных, устройство видеоигр, видеоигровые консоли, сотовые или спутниковые радиотелефоны, устройства видеоконференции и тому подобные. Устройства цифрового видео реализуют способы сжатия видео, такие как описанные в стандартах, заданных посредством MPEG-2, MPEG-4, ITU-T H.263 или ITU-T H.264/MPEG-4, Часть 10, Улучшенного кодирования видео (AVC) и расширениях этих стандартов, для передачи и приема цифровой видеоинформации более эффективно.

[0004] Способы сжатия видео выполняют пространственное предсказание и/или временное предсказание для снижения или удаления избыточности, свойственной видеопоследовательностям. Для блочного кодирования видео, видеокадр или слайс (срез) могут быть разделены на макроблоки. Каждый макроблок может быть дополнительно разделен. Макроблоки в кодированном посредством внутреннего кодирования (I) кадре или слайсе (срезе) кодируют с помощью пространственного предсказания с учетом соседних макроблоков. Макроблоки в кодированном посредством внешнего кодирования (P или B) кадре или слайсе могут использовать пространственное предсказание с учетом соседних макроблоков в том же кадре или слайсе или временное предсказание с учетом других опорных кадров.

[0005] После того, как видеоданные были закодированы, видеоданные могут быть пакетированы мультиплексором для передачи или хранения. MPEG-2 включает в себя раздел "Системы", который задает транспортный уровень для множества стандартов кодирования видео. Системы транспортного уровня MPEG-2 могут быть использованы видеокодерами MPEG-2, или другими видеокодерами, согласующимися с разными стандартами кодирования видео. Например, MPEG-4 предписывает другие способы кодирования и декодирования, нежели MPEG-2, но видеокодеры, реализующие способы стандарта MPEG-4, все же могут использовать способы транспортного уровня MPEG-2.

[0006] В общем, ссылки на "Системы MPEG-2" в этом раскрытии изобретения относятся к транспортному уровню видеоданных, предписанному посредством MPEG-2. Транспортный уровень, предписанный посредством MPEG-2, в этом раскрытии изобретения также называется как "транспортный поток MPEG-2" или просто "транспортный поток". Аналогично транспортный уровень систем MPEG-2 также включает в себя программные потоки. Транспортные потоки и программные потоки, в общем, включают в себя разные форматы для доставки подобных данных, где транспортный поток содержит одну или более "программ", включающих в себя как аудио, так и видеоданные, в то время как программные потоки включают в себя одну программу, включающую в себя как аудио, так и видеоданные.

[0007] Были предприняты усилия для разработки новых стандартов кодирования видео на основе H.264/AVC. Одним таким стандартом является стандарт масштабируемого кодирования видео (SVC), который является масштабируемым расширением для H.264/AVC. Другим стандартом является кодирование нескольких изображений видео, который становится расширением на несколько изображений для H.264/AVC. Спецификация Системы MPEG-2 описывает то, как потоки сжатых мультимедийных (видео и аудио) данных могут быть мультиплексированы вместе с другими данными для образования единого потока данных, подходящего для передачи и хранения. Самая последняя спецификация систем MPEG-2 указана в "Information Technology-Generic Coding of Moving Pictures and Associated Audio: Systems, Recommendation H.222.0; International Organisation for Standardisation, ISO/IEC JTC1/SC29/WG11; Coding of Moving Pictures and Associated Audio", Май 2006. Недавно спроектированный группой MPEG стандарт транспортирования MVC через Системы MPEG-2 и последней версией этой спецификации является "Study of ISO/IEC 13818-1:2007/FPDAM4 Transport of MVC", MPEG doc. N10572, MPEG of ISO/IEC JTC1/SC29/WG11, Мауи, Гавайи, США, апрель 2009.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

[0008] В общем, это раскрытие изобретения описывает способы для улучшения кодирования нескольких изображений видео в Системах MPEG-2 (Экспертная группа по кинематографии). В частности, способы этого раскрытия изобретения направлены на структуру данных для рабочей точки потока битов Системы MPEG-2, где структура данных сообщает способность воспроизведения для принимающего устройства, способность декодирования для принимающего устройства и в некоторых примерах битовую скорость для рабочей точки. Структура данных может соответствовать дескриптору рабочей точки, который включен в поток битов Системы MPEG-2.

[0009] Для того, чтобы правильно декодировать и отображать видеоданные рабочей точки, принимающее устройство должно удовлетворять свойствам, описанным способностью воспроизведения и способностью декодирования, сообщенным в структуре данных. Потоки битов Системы MPEG-2 могут включать в себя множество рабочих точек, которые соответствуют различным изображениям программы. Использование разных рабочих точек для программы дает возможность различным клиентским устройствам выполнять адаптацию. То есть клиентские устройства с разными способностями воспроизведения и декодирования могут извлекать изображения из одной и той же программы для отображения двумерных или трехмерных видеоданных. Клиентские устройства могут также согласовываться с серверным устройством для выборки данных и изменяющейся битовой скоростью, чтобы адаптироваться для транспорта медиаданных с различными характеристиками полосы частот.

[0010] В одном примере способ включает в себя конструирование с помощью исходного устройства, структуры данных, соответствующей рабочей точке кодирования нескольких изображений видео (MVC) потока битов стандарта Системы MPEG-2, в котором структура данных сообщает значение способности воспроизведения, которое описывает способность воспроизведения, которую необходимо удовлетворить принимающим устройством, для использования рабочей точки MVC, значение способности декодирования, которое описывает способность декодирования, которую необходимо удовлетворить принимающим устройством, для использования рабочей точки MVC, и значение битовой скорости, которое описывает битовую скорость рабочей точки MVC и в котором структура данных включена как часть потока битов, и вывод потока битов, содержащего структуру данных.

[0011] В другом примере устройство включает в себя мультиплексор, который конструирует структуру данных, соответствующую рабочей точке MVC потока битов стандарта Системы MPEG-2, в котором структура данных сообщает значение способности воспроизведения, которое описывает способность воспроизведения, которую необходимо удовлетворить принимающим устройством, для использования рабочей точки MVC, значение способности декодирования, которое описывает способность декодирования, которую необходимо удовлетворить принимающим устройством, для использования рабочей точки MVC, и значение битовой скорости, которое описывает битовую скорость рабочей точки MVC и которое включает в себя структуру данных как часть потока битов, и выходной интерфейс, который выводит поток битов, содержащий структуру данных.

[0012] В другом примере устройство включает в себя средство для конструирования структуры данных, соответствующей рабочей точке MVC потока битов стандарта Системы MPEG-2, в котором структура данных сообщает значение способности воспроизведения, которое описывает способность воспроизведения, которую необходимо удовлетворить принимающим устройством, для использования рабочей точки MVC, значение способности декодирования, которое описывает способность декодирования, которую необходимо удовлетворить принимающим устройством, для использования рабочей точки MVC, и значение битовой скорости, которое описывает битовую скорость рабочей точки MVC, и причем структура данных включена как часть потока битов, и средство для вывода потока битов, содержащего структуру данных.

[0013] В другом примере считываемый компьютером носитель информации содержит инструкции, которые заставляют процессор исходного устройства конструировать структуру данных, соответствующую рабочей точке MVC потока битов стандарта Системы MPEG-2, в котором структура данных сообщает значение способности воспроизведения, которое описывает способность воспроизведения, которую необходимо удовлетворить принимающим устройством, для использования рабочей точки MVC, значение способности декодирования, которое описывает способность декодирования, которую необходимо удовлетворить принимающим устройством, для использования рабочей точки MVC, и значение битовой скорости, которое описывает битовую скорость рабочей точки MVC, и при этом структура данных включена как часть потока битов, и заставляют выходной интерфейс выводить поток битов, содержащий структуру данных.

[0014] В другом примере способ включает в себя этапы, на которых принимают с помощью целевого устройства структуру данных, соответствующую рабочей точке MVC потока битов стандарта Системы MPEG-2 (Экспертная группа по кинематографии), в котором структура данных сообщает значение способности воспроизведения, которое описывает способность воспроизведения, которую необходимо удовлетворить принимающим устройством, для использования рабочей точки MVC, значение способности декодирования, которое описывает способность декодирования, которую необходимо удовлетворить принимающим устройством, для использования рабочей точки MVC, и значение битовой скорости, которое описывает битовую скорость рабочей точки MVC, определяют способен ли видеодекодер целевого устройства декодировать изображения, соответствующие рабочей точке MVC, на основе способности декодирования, сообщенной структурой данных, определяют способно ли целевое устройство воспроизводить изображения, соответствующие рабочей точке MVC, на основе способности воспроизведения, сообщенной структурой данных, и отправляют изображения, соответствующие рабочей точке MVC, на видеодекодер целевого устройства, когда определено, что видеодекодер целевого устройства способен декодировать и воспроизводить изображения, соответствующие рабочей точке MVC.

[0015] В другом примере устройство содержит входной интерфейс, выполненный с возможностью приема структуры данных, соответствующей рабочей точке MVC потока битов стандарта Системы MPEG-2, в котором структура данных сообщает значение способности воспроизведения, которое описывает способность воспроизведения, которую необходимо удовлетворить принимающим устройством, для использования рабочей точки MVC, значение способности декодирования, которое описывает способность декодирования, которую необходимо удовлетворить принимающим устройством, для использования рабочей точки MVC, и значение битовой скорости, которое описывает битовую скорость рабочей точки MVC, видеодекодер, выполненный с возможностью декодирования видеоданных; и демультиплексор, выполненный с возможностью определения того, способен ли видеодекодер декодировать изображения, соответствующие рабочей точке MVC, на основе способности декодирования, сообщенной структурой данных, определения того, способно ли устройство воспроизводить изображения, соответствующие рабочей точке MVC, на основе способности воспроизведения, сообщенной структурой данных, и отправки изображений, соответствующих рабочей точке MVC, на видеодекодер, когда определено, что видеодекодер способен декодировать и воспроизводить изображения, соответствующие рабочей точке MVC.

[0016] В другом примере устройство включает в себя средство для приема структуры данных, соответствующей рабочей точке MVC потока битов стандарта Системы MPEG-2, в котором структура данных сообщает значение способности воспроизведения, которое описывает способность воспроизведения, которую необходимо удовлетворить принимающим устройством, для использования рабочей точки MVC, значение способности декодирования, которое описывает способность декодирования, которую необходимо удовлетворить принимающим устройством, для использования рабочей точки MVC, и значение битовой скорости, которое описывает битовую скорость рабочей точки MVC, средство для определения того, способен ли видеодекодер устройства декодировать изображения, соответствующие рабочей точке MVC, на основе способности декодирования, сообщенной структурой данных, средство для определения того, способно ли устройство воспроизводить изображения, соответствующие рабочей точке MVC, на основе способности воспроизведения, сообщенной структурой данных, и средство для отправки изображений, соответствующих рабочей точке MVC, на видеодекодер устройства, когда определено, что видеодекодер устройства способен декодировать и воспроизводить изображения, соответствующие рабочей точке MVC.

[0017] В другом примере считываемый компьютером носитель информации содержит инструкции, которые заставляют процессор целевого устройства принимать структуру данных, соответствующую рабочей точке MVC потока битов стандарта Системы MPEG-2, в котором структура данных сообщает значение способности воспроизведения, которое описывает способность воспроизведения, которую необходимо удовлетворить принимающим устройством, для использования рабочей точки MVC, значение способности декодирования, которое описывает способность декодирования, которую необходимо удовлетворить принимающим устройством для использования рабочей точки MVC, и значение битовой скорости, которое описывает битовую скорость рабочей точки MVC, определять, способен ли видеодекодер целевого устройства декодировать изображения, соответствующие рабочей точке MVC, на основе способности декодирования, сообщенной структурой данных, определять способно ли целевое устройство воспроизводить изображения, соответствующие рабочей точке MVC, на основе способности воспроизведения, сообщенной структурой данных, и отправлять изображения, соответствующие рабочей точке MVC, на видеодекодер целевого устройства, когда определено, что видеодекодер целевого устройства способен декодировать и воспроизводить изображения, соответствующие рабочей точке MVC.

[0018] Детали одного или более примеров изложены на прилагающихся чертежах и в описании ниже. Другие признаки, цели и преимущества будут очевидны из описания и чертежей, и из формулы изобретения.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[0019] На Фиг. 1 показана блок-схема, иллюстрирующая примерную систему, в которой исходное аудио/видео (A/V) устройство транспортирует аудио- и видеоданные на целевое А/V устройство.

[0020] На Фиг. 2 показана блок-схема, иллюстрирующая примерную компоновку компонентов мультиплексора в соответствии с этим раскрытием изобретения.

[0021] На Фиг. 3 показана блок-схема, иллюстрирующая примерный набор таблиц специальной информации о программах в соответствии с этим раскрытием изобретения.

[0022] На Фиг. 4-6 показаны концептуальные схемы, иллюстрирующие различные примеры наборов данных, которые могут быть включены в дескриптор рабочей точки.

[0023] На фиг. 7 показана концептуальная схема, иллюстрирующая примерный образец предсказания MVC.

[0024] На Фиг. 8 показана маршрутная карта, иллюстрирующая примерный способ для использования структуры данных, которая сообщает характеристики рабочей точки.

ПОДРОБНОЕ ОПИСАНИЕ

[0025] Способы этого раскрытия изобретения, в общем, направлены на улучшение кодирования нескольких изображений видео (MVC) в системах MPEG-2 (Экспертная группа по кинематографии), то есть системах, которые согласовываются с MPEG-2 с учетом сведений транспортного уровня. MPEG-4, например, предоставляет стандарты для кодирования видео, но, в общем, предполагает, что видеокодеры, согласованные со стандартом MPEG-4, будут использовать системы транспортного уровня MPEG-2. Следовательно, способы этого раскрытия изобретения применимы к видеокодерам, которые согласованы с MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4 или другим стандартом кодирования видео, который использует транспортные потоки и/или программные потоки (также упоминающиеся как "потоки программ") MPEG-2.

[0026] В частности, способы этого раскрытия изобретения могут модифицировать синтаксические элементы на транспортном уровне для транспортных потоков и программных потоков MPEG-2. Например, способы этого раскрытия изобретения включают в себя дескриптор, который передают в транспортном потоке для описания признаков рабочей точки. Серверное устройство, например, может предоставлять различные рабочие точки в потоке битов транспортного уровня MPEG-2, каждый их которых соответствует соответствующему поднабору конкретных изображений видеоданных кодирования нескольких изображений видео. То есть рабочая точка, в общем, соответствует поднабору изображений в потоке битов. В некоторых примерах каждое изображение рабочей точки включает в себя видеоданные с одинаковой частотой кадров.

[0027] Целевое устройство может использовать дескрипторы рабочих точек, включенные в потоки битов, чтобы выбрать одну из рабочих точек, подлежащих декодированию, и в конечном счете представлению (например, отображению) пользователю. Вместо того, чтобы по приему передавать данные для всех изображений на видеодекодер, целевое устройство может отправлять на видеодекодер только изображения выбранной рабочей точки. Таким образом, целевое устройство может отбрасывать данные для изображений, которые не будут декодированы. Целевое устройство может выбирать рабочую точку на основе наивысшего качества, поддерживаемого одной из рабочих точек для потока битов.

[0028] Серверное устройство может отправлять множество подпотоков битов (каждый из которых может соответствовать рабочей точке) в едином транспортном потоке или программном потоке. Несмотря на то, что различных разделах это раскрытие изобретения может ссылаться индивидуально на "транспортный поток" или "программный поток", должно быть понятно, что способы этого раскрытия изобретения, в общем, применимы к любому или обоим из транспортных потоков MPEG-2 и программных потоков. В общем, это раскрытие изобретения описывает использование дескрипторов в качестве примерных структур данных для выполнения способов этого раскрытия изобретения. Дескрипторы используют для расширения функциональности потока. Дескрипторы этого раскрытия изобретения могут быть использованы как транспортными потоками, так и программными потоками для реализации способов этого раскрытия изобретения. Несмотря на то, что это раскрытие изобретения в первую очередь фокусируется на дескрипторах, как примерной структуре данных, которая может быть использована для сообщения значения способности воспроизведения для рабочей точки, значение способности декодирования для рабочей точки и значения битовой скорости для рабочей точки, должно быть понятно, что для выполнения этих способов могут быть использованы другие структуры данных.

[0029] В соответствии со способами этого раскрытия изобретения исходное устройство 20 может конструировать дескриптор рабочей точки, который описывает характеристики рабочей точки. Характеристики могут включать в себя, например то, какие изображения включены в рабочую точку и частоты кадров для изображений рабочей точки. Дескриптор рабочей точки может указывать способность воспроизведения, которая должна поддерживаться видеодекодером для того, чтобы принимать и декодировать рабочую точку, способность декодирования, которая должна поддерживаться видеодекодером для того, чтобы принимать и декодировать рабочую точку и битовую скорость для рабочей точки.

[0030] Способы этого раскрытия изобретения могут, в общем, представлять каждую рабочую точку, как если бы рабочая точка была своей собственной программой, сообщенной таблицей карты программы в транспортном потоке или картой программного потока в программном потоке. В качестве альтернативы, когда программа содержит множество рабочих точек, способы этого раскрытия изобретения предоставляют информацию о том, как повторно собирать рабочие точки в дескрипторах рабочих точек. Дескрипторы рабочих точек могут дополнительно сообщать зависимости рабочих точек, которые могут экономить биты.

[0031] На Фиг. 1 показана блок-схема, иллюстрирующая примерную систему 10, в которой исходное аудио/видео (A/V) устройство 20 транспортирует аудио- и видеоданные на целевое А/V устройство 40. Система 10 с Фиг. 1 может соответствовать системе видеотелеконференции, серверной/клиентской системе, широковещающей/принимающей системе или любой другой системе, в которой видеоданные отправляют из исходного устройства, такого как исходное A/V устройство 20, на целевое устройство, такое как целевое A/V устройство 40. В некоторых примерах исходное A/V устройство 20 и целевое A/V устройство 40 могут выполнять двусторонний обмен информацией. То есть исходное A/V устройство 20 и целевое A/V устройство 40 могут быть способны как кодировать, так и декодировать (и передавать и принимать) аудио- и видеоданные. В некоторых примерах аудиокодер 26 может содержать голосовой кодер, также называемый вокодером.

[0032] Исходное A/V устройство 20, в примере Фиг. 1, содержит аудиоисточник 22 и видеоисточник 24. Аудиоисточник 22 может содержать, например, микрофон, который производит электрические сигналы, представляющие захваченные аудиоданные, подлежащие декодированию аудиокодером 26. В качестве альтернативы аудиоисточник 22 может содержать носитель информации, хранящий ранее записанные аудиоданные, генератор аудиоданных, такой как компьютеризированный синтезатор, или любой другой источник аудиоданных. Видеоисточник 24 может содержать видеокамеру, которая производит видеоданные, подлежащие декодированию видеокодером 28, носитель информации, кодированный ранее записанными видеоданными, блок генерирования видеоданных или любой другой источник видеоданных.

[0033] Необработанные аудио- и видеоданные могут содержать аналоговые или цифровые данные. Аналоговые данные могут быть оцифрованы до их кодирования аудиокодером 26 и/или видеокодером 28. Аудиоисточник 22 может также получать аудиоданные от говорящего участника, во время того как говорящий участник говорит, и видеоисточник 24 может одновременно получать видеоданные говорящего участника. В других примерах аудиоисточник 22 может содержать считываемый компьютером носитель информации, содержащий сохраненные аудиоданные, и видеоисточник 24 может содержать считываемый компьютером носитель информации, содержащий сохраненные видеоданные. Таким образом, описанные в этом раскрытии изобретения способы могут быть применены к прямой трансляции, потоковой передаче, аудио- и видеоданным в реальном времени и к заархивированным, заранее записанным аудио- и видеоданным.

[0034] Аудиокадры, которые соответствуют видеокадрам, в общем, являются аудиокадрами, содержащими аудиоданные, которые были захвачены аудиоисточником 22, одновременно с видеоданными, захваченными видеоисточником 24, которые содержатся внутри видеокадров. Например, в то время как говорящий участник обычно производит аудиоданные посредством разговора, аудиоисточник 22 захватывает аудиоданные, а видеоисточник 24 захватывает видеоданные говорящего участника в тоже самое время, то есть во время того, как аудиоисточник 22 захватывает аудиоданные. Следовательно, аудиокадр может временно соответствовать одному или более конкретным видеокадрам. Следовательно, аудиокадр, соответствующий видеокадру, в общем, соответствует ситуации, в которой аудиоданные и видеоданные были захвачены в одно и то же время, и для которой аудиокадр и видеокадр содержат, соответственно, аудиоданные и видеоданные, которые были захвачены в одно и то же время.

[0035] В некоторых примерах аудиокодер 26 может кодировать метку времени в каждом кодированном аудиокадре, которая представляет время, в которое были записаны аудиоданные для кодированного аудиокадра, и аналогично видеокодер 28 может кодировать метку времени каждом кодированном видеокадре, которая представляет время, в которое были записаны видеоданные для кодированного видеокадра. В таких примерах аудиокадр, соответствующий видеокадру, может содержать аудиокадр, содержащий метку времени, и видеокадр, содержащий ту же метку времени. Исходное A/V устройство 20 может включать в себя внутренний генератор тактовых импульсов, из которого аудиокодер 26 и/или видеокодер 28 могут генерировать метки времени, или который аудиоисточник 22 и видеоисточник 24 могут использовать, чтобы связать аудио- и видеоданные, соответственно, с меткой времени.

[0036] В некоторых примерах аудиоисточник 22 может отправлять данные на аудиокодер 26, соответствующие времени, в которое были записаны аудиоданные, и видеоисточник 24 может отправлять данные на видеокодер 28, соответствующие времени, в которое были записаны видеоданные. В некоторых примерах аудиокодер 26 может кодировать идентификатор последовательности в кодированных аудиоданных для указания относительного временного порядка кодированных аудиоданных, но без необходимости указания абсолютного времени, в которое были записаны аудиоданные, и аналогично видеокодер 28 может также использовать идентификаторы последовательностей для указания относительного временного порядка кодированных видеоданных. Аналогично в некоторых примерах идентификатор последовательности может быть сопоставлен или, иначе, соотнесен с меткой времени.

[0037] Способы этого раскрытия изобретения, в общем, направлены на транспорт кодированных мультимедийных (например, аудио и видео) данных, и прием, и последующую интерпретацию, и декодирование транспортированных мультимедийных данных. Способы этого раскрытия изобретения, в частности, применимы для транспортирования данных кодирования нескольких изображений видео, то есть видеоданных, содержащих множество изображений. Как показано в примере на Фиг. 1, видеоисточник 24 может предоставлять множество изображений сцены на видеокодер 28. MVC может быть полезно для генерирования трехмерных видеоданных для использования трехмерным дисплеем, таким как стереоскопический и автостереоскопический трехмерный дисплей.

[0038] Исходное A/V устройство 20 может предоставлять "сервис" целевому A/V устройству 40. В общем, сервис соответствует поднабору доступных изображений данных MVC. Например, данные MVC могут быть доступны для восьми изображений, пронумерованных с нуля до семи. Один сервис может соответствовать стереовидео, имеющему два изображения, в то время как другой сервис может соответствовать четырем изображениям, и еще один сервис может соответствовать всем восьми изображениям. В общем, сервис соответствует любой комбинации (то есть любому поднабору) доступных изображений. Сервис может также соответствовать комбинации доступных изображений, равно как и аудиоданных. Рабочая точка может соответствовать сервису, так что исходное A/V устройство 20 может дополнительно предоставлять дескриптор рабочей точки для каждого сервиса, предоставленного исходным A/V устройством 20.

[0039] Исходное A/V устройство 20 в соответствии со способами этого раскрытия изобретения способно предоставлять сервисы, которые соответствуют поднабору изображений. В общем, изображение представлено идентификатором изображения, также называемым как "view_id". В общем, идентификаторы изображений содержат синтаксические элементы, которые могут быть использованы для идентификации изображения. MVC кодер предоставляет view_id изображения, когда кодируют изображение. view_id может быть использован MVC декодером для предсказания изменений между изображениями или другими блоками для других целей, например, для воспроизведения.

[0040] Предсказание изменений между изображениями является способом для кодирования MVC видеоданных кадра со ссылкой на один или более кадров при общем временном расположении как и кодированный кадр разных изображений. На Фиг. 7, который рассмотрен более подробно ниже, предоставлена примерная схема кодирования для предсказания изменений между изображениями. В общем, кодированный кадр MVC видеоданных может быть кодирован с пространственным предсказанием, временным и/или со ссылкой на кадры других изображений при общем временном расположении. Следовательно, опорные изображения, исходя из которых предсказывают другие изображения, в общем, декодируют до изображений, для которых образцовые изображения действуют как образец, так что эти декодированные изображения могут быть использованы для образца при декодировании образцовых изображений. Порядок декодирования необязательно соответствует порядку view_id. Следовательно, порядок декодирования изображений описан с использованием индексов порядка изображений. Индексы порядка изображений являются индексами, которые указывают порядок декодирования компонентов изображения в блоке доступа.

[0041] Каждый индивидуальный поток данных (или аудио, или видео) называют элементарным потоком. Элементарный поток является одиночным с цифровым кодированием (возможно сжатым) компонентом программы. Например, кодированное видео или аудио часть программы может быть элементарным потоком. Элементарный поток может быть преобразован в пакетированный элементарный поток (PES) до мультиплексирования в программный поток или транспортный поток. Внутри одной и той же программы ID потока используют, чтобы отличать PES-пакеты, принадлежащие одному элементарному потоку, от других. Базовой единицей данных элементарного потока является пакет пакетированного элементарного потока (PES). Таким образом, каждое изображение MVC видеоданных соответствует соответствующим элементарным потокам. Аналогично аудиоданные соответствуют одному или более соответствующим элементарным потокам.

[0042] Видеопоследовательность с MVC кодированием может быть разделена на несколько подпотоков битов, каждый из которых является элементарным потоком. Каждый подпоток битов может быть идентифицирован с помощью поднабора MVC view_id. На основе концепции каждого поднабора MVC view_id задают подпоток битов MVC видео. Подпоток битов MVC видео содержит блоки NAL изображений, указанных в поднаборе MVC view_id. Программный поток, в общем, содержит только блоки NAL, которые являются блоками NAL элементарных потоков. Также спроектировано так, что любые два элементарных потока не могут содержать идентичное изображение.

[0043] В примере на Фиг. 1, мультиплексор 30 принимает элементарные потоки, содержащие видеоданные, от видеокодера 28 и элементарные потоки, содержащие аудиоданные, от аудиокодера 26. В некоторых примерах видеокодер 28 и аудиокодер 26, каждый, могут включать в себя пакетизаторы для формирования пакетов PES из кодированных данных. В других примерах видеокодер 28 и аудиокодер 26, каждый, могут взаимодействовать с соответствующими пакетизаторами для формирования пакетов PES из кодированных данных. В еще других примерах мультиплексор 30 может включать в себя пакетизаторы для формирования пакетов PES кодированных аудио- и видеоданных.

[0044] "Программа", как использовано в этом раскрытии изобретения, может содержать комбинацию аудиоданных и видеоданных, например элементарный аудиопоток и поднабор доступных изображений, доставленных сервисом исходного A/V устройства 20. Каждый пакет PES включает в себя stream_id, который идентифицирует элементарный поток, которому принадлежит пакет PES. Мультиплексор 30 отвечает за сборку элементарных потоков в составные программные потоки или транспортные потоки. Программный поток и транспортный поток являются двумя альтернативными мультиплексами, нацеленными на разные применения.

[0045] В общем, программный поток включает в себя данные для одной программы, в то время как транспортный поток может включать в себя данные для одной или более программ. Мультиплексор 30 может кодировать любой или оба из программного потока или транспортного потока на основе предоставляемого сервиса, среды, в которую будет передан поток, числа программ для отправки или других соображении. Например, когда видеоданные подлежат кодированию в носителе информации, мультиплексор 30 может с большей вероятностью формировать программный поток, в то время когда видеоданные подлежат потоковой передаче через сеть, широковещательной передаче или отправке как части видеотелефонии, мультиплексор 30 может с большей вероятностью использовать транспортный поток.

[0046] Мультиплексор 30 может быть склонен в сторону использования программного потока для хранения и отображения одиночной программы от сервиса цифрового хранения. Программный поток предназначен для использования в свободных от ошибок окружающих средах или окружающих средах, менее подверженных встречающимся ошибкам, потому что программные потоки достаточно чувствительны к ошибкам. Программный поток просто содержит принадлежащие ему элементарные потоки и обычно содержит пакеты переменной длины. В программном потоке PES-пакеты, которые получены из предоставляемых элементарных потоков, организованы в "упаковки". Упаковка содержит заголовок упаковки, необязательный системный заголовок и любое число PES-пакетов, взятых из любых предоставляемых элементарных потоков, в любом порядке. Системный заголовок содержит сводку о характеристиках программного потока, такую как максимальная скорость передачи данных, число предоставляемых элементарных видео- и аудиопотоков, дополнительно информация о временном согласовании или другая информация. Декодер может использовать информацию, содержащуюся в системном заголовке для определения того, способен или нет декодер декодировать программный поток.

[0047] Мультиплексор 30 может использовать транспортный поток для одновременной доставки множества программ через потенциально подверженные ошибкам каналы. Транспортный поток является мультиплексом, задуманным для мультипрограммных применений, таких как широковещательная передача, так что единственный транспортный поток может вмещать много независимых программ. Транспортный поток может содержать ряд транспортных пакетов, где длина каждого из транспортных пакетов составляет 188 байт. Использование коротких пакетов с постоянной длиной приводит к тому, что транспортный поток менее чувствителен к ошибкам, чем программный поток. Кроме того, каждому транспортному пакету длиной 188 байт может быть дана дополнительная защита от ошибок за счет обработки пакетов посредством процесса стандартной защиты от ошибок, такого как кодирование Рида-Соломона. Улучшенная устойчивость к ошибкам транспортного потока означает, что он имеет лучшие шансы на выживание в подверженных ошибкам каналах, находящихся, например, в широковещательном окружении.

[0048] Может показаться, что транспортный поток лучше, чем программный поток из-за его повышенной устойчивости к ошибкам и способности переносить много одновременных программ. Однако транспортный поток является более сложным мультиплексом, чем программный поток, и, следовательно, является более сложным для создания и более трудным для демультиплексирования, чем программный поток. Первый байт транспортного пакета может быть байтом синхронизации, имеющим значение 0×47 (шестнадцатеричное 47, двоичное '01000111', десятичное 71). Одиночный транспортный поток может переносить много разных программ, где каждая программа содержит много пакетированных элементарных потоков. Мультиплексор 30 может использовать тринадцатибитное поле Идентификатора пакета (PID), чтобы отличать транспортные пакеты, содержащие данные одного элементарного потока, от тех, которые переносят данные других элементарных потоков. Обязанностью мультиплексора является гарантирование того, что каждому элементарному потоку присваивают уникальное значение PID. Последний байт транспортного пакета может быть полем счетчика непрерывности. Мультиплексор 30 увеличивает значение поля счетчика непрерывности между последовательными транспортными пакета, принадлежа