Видеообработка с масштабируемостью
Иллюстрации
Показать всеИзобретение относится к обработке цифровых видеоданных и, в частности, к способам обработки масштабируемых видеоданных. Техническим результатом является реализация расширений версий стандарта Международного союза электросвязи (ITU)-T H.264 для эффективного масштабируемого видеокодирования. Указанный технический результат достигается тем, что включают видеоданные уровня улучшения в компонент уровня сетевой абстракции (NAL); включают один или несколько синтаксических элементов в компонент NAL для указания, включает ли компонент NAL в себя видеоданные уровня улучшения, и один или несколько синтаксических элементов для указания, по меньшей мере, одного из: включают ли видеоданные уровня улучшения в компоненте NAL в себя видеоданные с внутрикадровым кодированием; включает ли компонент NAL в себя параметр последовательности, набор параметров изображения, слой опорного изображения или раздел данных слоя опорного изображения; и количества ненулевых коэффициентов с величиной, превышающей единицу, в блоках внутрикадрового кодирования в видеоданных уровня улучшения. 10 н. и 39 з.п. ф-лы, 16 ил., 20 табл.
Реферат
Испрашивание приоритета согласно Своду законов США 35 U.S.C. §119
Настоящая заявка испрашивает приоритет предварительной заявки США №60/787310, поданной 29 марта 2006 года, предварительной заявки США №60/789320, поданной 29 марта 2006 года, и предварительной заявки США №60/833445, поданной 25 июля 2006 года, содержание каждой из которых целиком включено по ссылке.
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к обработке цифровых видеоданных и, в частности, к способам обработки масштабируемых видеоданных.
УРОВЕНЬ ТЕХНИКИ
Возможности цифрового видео могут быть включены в состав широкого диапазона устройств, в том числе в цифровые телевизоры, системы прямой цифровой трансляции, устройства беспроводной связи, персональные цифровые помощники (PDA), портативные компьютеры, настольные компьютеры, видеоигровые приставки, цифровые камеры, цифровые записывающие устройства, сотовые или спутниковые радиотелефоны и т.п. Цифровые видеоустройства могут обеспечить значительные преимущества по сравнению со стандартными системами аналогового видео при обработке и передаче видеопоследовательностей.
Для кодирования цифровых видеопоследовательностей установлены различные стандарты кодирования видеоданных. Например, Экспертная группа по кинематографии (MPEG) разработала несколько стандартов, в том числе MPEG-1, MPEG-2 и MPEG-4. Другие примеры включают в себя стандарт Международного союза электросвязи (ITU)-T H.263 и стандарт ITU-T H.264, а также их аналог ISO/IEC MPEG-4, часть 10, то есть усовершенствованное кодирование видео (AVC). Эти стандарты кодирования видеоданных поддерживают повышенную эффективность передачи видеопоследовательностей путем кодирования данных в сжатом виде.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
В общем, здесь описываются способы обработки видеоданных, которые предполагают использование синтаксических элементов и семантики для поддержки достаточно простых расширений при обработке мультимедиа с видеомасштабируемостью. Синтаксические элементы и семантику можно применить к трансляции мультимедиа и определению формата битового потока и процессу кодирования, который поддерживает достаточно простую видеомасштабируемость.
Синтаксический элемент и семантику можно применить к компонентам уровня сетевой абстракции (NAL). Согласно некоторым аспектам эти способы могут быть применены для реализации расширений с достаточно простой видеомасштабируемостью для устройств, которые в остальном соответствуют стандарту ITU-T H.264. Согласно некоторым аспектам компоненты NAL могут в общем случае соответствовать стандарту H.264. В частности, стандарту H.264 могут соответствовать компоненты NAL, несущие видеоданные базового уровня, в то время как компоненты NAL, несущие видеоданные уровня улучшения, могут включать в себя один или несколько добавленных или модифицированных синтаксических элементов.
Согласно одному аспекту изобретение обеспечивает способ для передачи масштабируемых цифровых видеоданных, причем способ содержит включение видеоданных уровня улучшения в блок уровня сетевой абстракции (NAL) и включение одного или нескольких синтаксических элементов в компонент NAL для указания на то, включает ли в себя компонент NAL видеоданные уровня улучшения.
Согласно другому аспекту изобретение обеспечивает устройство для передачи масштабируемых цифровых видеоданных, причем устройство содержит модуль компонентов уровня сетевой абстракции (NAL), который включает кодированные видеоданные уровня улучшения в компонент NAL и включает один или нескольких синтаксических элементов в компонент NAL для указания на то, включает ли в себя компонент NAL видеоданные уровня улучшения.
Согласно еще одному аспекту изобретение обеспечивает процессор для передачи масштабируемых цифровых видеоданных, причем процессор сконфигурирован для включения видеоданных уровня улучшения в компонент уровня сетевой абстракции (NAL) и включения одного или нескольких синтаксических элементов в компонент NAL для указания на то, включает ли в себя компонент NAL видеоданные уровня улучшения.
Согласно дополнительному аспекту изобретение обеспечивает способ для обработки масштабируемых цифровых видеоданных, причем способ содержит прием видеоданных уровня улучшения в компоненте уровня сетевой абстракции (NAL), прием одного или нескольких синтаксических элементов в компоненте NAL для указания на то, включает ли в себя компонент NAL видеоданные уровня улучшения, и декодирование цифровых видеоданных в компоненте NAL на основе этого указания.
Согласно еще одному аспекту изобретение обеспечивает устройство для обработки масштабируемых цифровых видеоданных, причем устройство содержит модуль компонентов уровня сетевой абстракции (NAL), который принимает видеоданные уровня улучшения в компоненте NAL и принимает один или несколько синтаксических элементов в компоненте NAL для указания на то, включает ли в себя компонент NAL видеоданные уровня улучшения, и декодер, который декодирует цифровые видеоданные в компоненте NAL на основе этого указания.
Согласно дополнительному аспекту изобретение обеспечивает процессор для обработки масштабируемых цифровых видеоданных, причем процессор сконфигурирован для приема видеоданных уровня улучшения в компоненте сетевой абстракции (NAL), приема одного или несколько синтаксических элементов в компоненте NAL для указания на то, включает ли в себя компонент NAL видеоданные уровня улучшения, и декодирования цифровых видеоданных в компоненте NAL на основе этого указания.
Описанные в этом изобретении способы могут быть реализованы в устройстве цифрового видеокодирования и/или видеодекодирования аппаратными средствами, программными средствами, программно-аппаратными средствами или любой их комбинацией. При реализации программными средствами программное обеспечение может выполняться в компьютере. Программное обеспечение может изначально храниться в виде команд, программного кода или т.п. Соответственно, изобретение также предполагает использование компьютерного программного продукта для кодирования цифрового видео, содержащего считываемый компьютером носитель, причем считываемый компьютером носитель содержит коды, побуждающие компьютер выполнять способы и функции согласно настоящему изобретению.
Дополнительные подробности различных аспектов изобретения изложены в сопроводительных чертежах и описании, приведенных ниже. Другие признаки, цели и преимущества изобретения станут очевидными из описания и чертежей, а также из формулы изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 - блок-схема, иллюстрирующая систему цифрового мультимедийного вещания, поддерживающую видеомасштабируемость.
Фиг. 2 - схема, иллюстрирующая видеокадры на базовом уровне и уровне улучшения масштабируемого битового видеопотока.
Фиг. 3 - блок-схема, иллюстрирующая примерные компоненты вещательного сервера и абонентского устройства в цифровой мультимедийной вещательной системе по фиг. 1.
Фиг. 4 - блок-схема, иллюстрирующая примерные компоненты видеодекодера для абонентского устройства.
Фиг. 5 - блок-схема, иллюстрирующая процесс декодирования видеоданных базового уровня и уровня улучшения в масштабируемом битовом видеопотоке.
Фиг. 6 - блок-схема, иллюстрирующая объединение коэффициентов базового уровня и уровня улучшения в видеодекодере при одноуровневом декодировании.
Фиг. 7 - блок-схема, иллюстрирующая объединение коэффициентов базового уровня и уровня улучшения в видеодекодере.
Фиг. 8 - блок-схема, иллюстрирующая процесс кодирования масштабируемого битового видеопотока для объединения множества различных примерных синтаксических элементов для поддержки достаточно простой видеомасштабируемости.
Фиг. 9 - блок-схема, иллюстрирующая процесс декодирования масштабируемого битового видеопотока для обработки множества различных примерных синтаксических элементов для поддержки достаточно простой видеомасштабируемости.
Фигуры 10 и 11 - схемы, иллюстрирующие разбиение макроблоков (MB) и четвертных блоков для режимов пространственного предсказания яркости.
Фиг. 12 - блок-схема, иллюстрирующая процесс декодирования макроблоков (MB) базового уровня и уровня улучшения для создания единого уровня MB.
Фиг. 13 - схема, иллюстрирующая процесс фильтрации для деблокирования яркости и цветности.
Фиг. 14 - схема, иллюстрирующая правила для описания отсчетов через горизонтальную или вертикальную границу для блоков 4х4.
Фиг. 15 - блок-схема, иллюстрирующая устройство для передачи масштабируемых цифровых видеоданных.
Фиг. 16 - блок-схема, иллюстрирующая устройство для декодирования масштабируемых цифровых видеоданных.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Масштабируемое видеокодирование можно использовать для обеспечения масштабируемости отношения сигнал-шум (SNR) в приложениях для сжатия видеоданных. Также возможна временная и пространственная масштабируемость. При масштабируемости SNR, например, кодированные видеоданные включают в себя базовый уровень и уровень улучшения. Базовый уровень несет минимальное количество данных, необходимых для видеодекодирования, и обеспечивает базовый уровень качества. Уровень улучшения несет дополнительные данные, которые повышают качество декодированных видеоданных.
В общем случае базовый уровень можно рассматривать как битовый поток, содержащий кодированные видеоданные, которые представляют первый уровень пространственно-временной-SNR масштабируемости, определенной данной спецификацией. Битовый поток уровня улучшения можно декодировать только вместе с базовым уровнем, то есть он содержит ссылки на декодированные видеоданные базового уровня, которые используют для создания конечных декодированных видеоданных.
Путем использования иерархической модуляции на физическом уровне базовый уровень и уровень улучшения можно передавать на одной и той же несущей или поднесущих, но с разными характеристиками передачи, что приводит к разной частоте пакетных ошибок (PER). Базовый уровень имеет более низкую PER для более надежного приема по всей зоне покрытия. Декодер может декодировать только базовый уровень или базовый уровень плюс уровень улучшения, если уровень улучшения надежно принимается и/или в зависимости от других критериев.
В общем, в этом изобретении описываются способы видеообработки, которые предполагают использование синтаксических элементов и семантики для поддержания достаточно простых расширений для обработки мультимедиа с видеомасштабируемостью. Эти способы особенно подходят к мультимедийному вещанию и определяют формат битового потока и процесс кодирования, которые поддерживают достаточно простую видеомасштабируемость. Согласно ряду аспектов эти способы можно применять к реализации расширений для достаточно простой видеомасштабируемости для устройств, которые во всем остальном соответствуют стандарту H.264. Например, расширения могут представлять потенциальные модификации для будущих версий или расширений стандарта H.264 или других стандартов.
Стандарт H.264 был разработан Экспертной группой по видеокодированию ITU-T и Экспертной группой по кинематографии (MPEG) ISO/IEC как продукт партнерства, известного как Объединенная группа по разработке видео (JVT). Стандарт H.264 описан в ITU-T Recommendation H.264, Advanced video coding для generic audiovisual services, by the ITU-T Study Group и датирован мартом 2005 года, причем здесь этот стандарт называется стандарт H.264 или спецификация H.264, либо стандарт или спецификация H.264/AVC.
Описанные в этом изобретении способы предполагают использование синтаксических элементов и семантики уровня улучшения, предназначенных для реализации эффективной обработки видеоданных базового уровня и уровня улучшения видеодекодером. Здесь будут описаны различные синтаксические элементы и семантика, которые можно использовать вместе или отдельно на селективной основе. Достаточно простая видеомасштабируемость обеспечивает два уровня пространственно-временной-SNR масштабируемости путем разбиения битового потока на синтаксические объекты двух типов, обозначенных как базовый уровень и уровень улучшения.
Кодированные видеоданные и масштабируемые расширения переносятся в компонентах уровня сетевой абстракции (NAL). Каждый компонент NAL является компонентом сетевой передачи, который может принимать форму пакета, содержащего целое число байт. Компоненты NAL переносят либо данные базового уровня, либо данные уровня улучшения. Согласно некоторым аспектам изобретения некоторые из компонентов NAL могут фактически соответствовать стандарту H.264/AVC. Однако к компонентам NAL других типов могут быть применены различные принципы настоящего изобретения. В общем случае первый байт компонента NAL включает в себя заголовок, указывающий тип данных в компоненте NAL. Остальная часть компонента NAL несет данные полезной нагрузки, соответствующие типу, который указан в заголовке. Заголовок nal_unit_type имеет пятибитовое значение, которое указывает один из тридцати двух различных типов компонента NAL, причем девять значений зарезервированы для использования в будущем. Четыре из девяти зарезервированных типов компонента NAL зарезервированы для расширения масштабируемости. Специализированный заголовок nal_unit_type можно использовать для указания о том, что компонент NAL является специализированным компонентом NAL, который может включать в себя видеоданные уровня улучшения для использования в приложениях с масштабируемостью.
Синтаксис и семантика битового потока базового уровня в компоненте NAL в общем случае может соответствовать применяемому стандарту, например, стандарту H.264, возможно с некоторыми ограничениями. Как примеры ограничений, наборы параметров изображений могут иметь флаг MbaffFRameFlag, равный 0, наборы параметров последовательности могут иметь флаг frame_mbs_only_flag, равный 1, а запоминаемый флаг В изображений может быть равен 0. Синтаксис и семантика битового потока уровня улучшения для компонентов NAL определяется в этом изобретении для эффективной поддержки достаточно простых расширений для видеомасштабируемости. Например, семантика компонентов уровня сетевой абстракции (NAL), несущих данные уровня улучшения, может быть модифицирована по отношению к стандарту H.264 для ввода новых типов компонента NAL, которые задают тип структуры данных необработанной битовой последовательной полезной нагрузки (RBSP), в компоненте NAL уровня улучшения.
Компоненты NAL уровня улучшения могут нести синтаксические элементы с множеством различных указаний уровня улучшения, помогающих видеодекодеру при обработке компонента NAL. Различные указания могут включать в себя указание о том, включает ли компонент NAL видеоданные уровня улучшения с внутрикадровым кодированием на уровне улучшения, указание о том, должен ли декодер использовать добавление видеоданных уровня улучшения к данным базового уровня в пиксельной области или в области преобразования, и/или указание о том, включают ли видеоданные уровня улучшения в себя какие-либо остаточные данные, относящиеся к видеоданным базового уровня.
Компоненты NAL уровня улучшения также могут нести синтаксические элементы, указывающие, включает ли компонент NAL в себя параметр последовательности, набор параметров изображения, слой опорного изображения или раздел данных слоя опорного изображения. Другие синтаксические элементы могут идентифицировать блоки в видеоданных уровня улучшения, содержащие ненулевые значения коэффициентов преобразования, указывать количество ненулевых коэффициентов с величиной, превышающей единицу, в блоках с внутрикадровым кодированием в видеоданных уровня улучшения и указывать кодированные блочные шаблоны для блоков с внутрикадровым кодированием в видеоданных уровня улучшения. Вышеописанная информация может быть полезной при поддержании эффективного и упорядоченного декодирования.
Описанные в этом изобретении способы можно использовать в сочетании с любым из множества различных стандартов видеокодирования с предсказанием, таких как стандарты MPEG-1, MPEG-2 или MPEG-4, стандарты ITU H.263 или H.264, либо стандарт ISO/IEC MPEG-4, часть 10, то есть усовершенствованное кодирование видео (AVC), который по существу идентичен стандарту H.264. Далее в иллюстративных целях описывается применение указанных способов для поддержки достаточно простых расширений для видеомасштабирования, связанного со стандартом H.264. Соответственно, данное изобретение, в частности, предполагает адаптацию, расширение или модификацию стандарта H.264, как было здесь описано, для обеспечения достаточно простой видеомасштабируемости, но может также быть применено и к другим стандартам.
Согласно некоторым аспектам данное изобретение предполагает возможность его применения к видеокодированию в усовершенствованном стандарте H.264 для предоставления видеоуслуг в реальном времени в наземных мобильных мультимедийных широковещательных (TM3) системах с использованием спецификации радиоинтерфейса FLO (связь только в прямом направлении), “Forward Link Only Air Interface Specification для Terrestrial Mobile Multimedia Multicast”, публикуемой как технический стандарт TIA-1099 («FLO specification»). Спецификация FLO включает в себя примеры, определяющие синтаксис и семантику битовых потоков, а также процессы декодирования, подходящие для предоставления услуг через радиоинтерфейс FLO.
Как упоминалось выше, масштабируемое видеокодирование предусматривает два уровня: базовый уровень и уровень улучшения. Согласно некоторым аспектам может быть обеспечено множество уровней улучшения, обеспечивающих поступательно нарастающие уровни качества, то есть масштабируемость отношения сигнал-шум. Однако в данном описании в иллюстративных целях описывается единственный уровень улучшения. На основе использования иерархической модуляции на физическом уровне базовый уровень и один или несколько уровней улучшения могут передаваться на одной и той же несущей или поднесущих, но с разными характеристиками передачи, что приводит к разной частоте пакетных ошибок (PER). Базовый уровень имеет более низкую частоту PER. Затем декодер может декодировать только базовый уровень или базовый уровень плюс уровень улучшения, в зависимости от их наличия и/или других критериев.
Если декодирование выполняется в клиентском устройстве, таком как мобильный телефон или другое небольшое портативное устройство, могут иметь место ограничения из-за сложности вычислений и требований к памяти. Соответственно, может быть разработано масштабируемое кодирование таким образом, что декодирование базового уровня плюс уровня улучшения незначительно увеличивает сложность вычислений и требования к памяти по сравнению с одноуровневым кодированием. Эффективное декодирование данных базового уровня и уровня улучшения может поддерживаться подходящими синтаксическими элементами и связанной с ними семантикой.
Как пример возможной аппаратной реализации, абонентское устройство может содержать аппаратное ядро с тремя модулями: модуль оценки движения для обработки компенсации движения, модуль преобразования для обработки операций деквантизации и обратного преобразования и модуль деблокирования для обработки деблокирования декодированных видеоданных. Каждый модуль может быть сконфигурирован для одновременной обработки одного макроблока (MB). Однако доступ к подсекциям каждого модуля может оказаться затруднительным.
Например, обратное преобразование яркости между MB может осуществляться на основе блоков 4×4, и в модуле преобразования возможно придется выполнить последовательно 16 преобразований для всех блоков 4×4. Кроме того, для ускорения процесса декодирования можно использовать конвейерный режим работы трех модулей. Следовательно, прерывания с целью обеспечения процессов для масштабируемого декодирования может замедлить ход выполнения декодирования.
В схеме масштабируемого кодирования согласно одному аспекту настоящего изобретения в декодере данные с базового уровня и уровня улучшения можно объединить на одном уровне, например, в микропроцессоре общего назначения. В этом случае входящие данные, поступающие от микропроцессора, выглядят как единый уровень данных и могут обрабатываться аппаратным ядром как один уровень. Таким образом, согласно некоторым аспектам изобретения масштабируемое декодирование является прозрачным для аппаратного ядра. Возможно, что не понадобится переупорядочивать модули аппаратного ядра. Декодирование данных базового уровня и уровня улучшения как данных одного уровня согласно некоторым аспектам может незначительно увеличить сложность декодирования и ненамного повысить (либо вообще не повысить) требования к памяти.
При потере уровня улучшения из-за высокой частоты PER или по какой-либо другой причине остаются только данные базового уровня. Следовательно, можно будет выполнить стандартное одноуровневое декодирование для данных базового уровня, либо могут потребоваться небольшие изменения стандартного, немасштабируемого декодирования, либо изменения вообще не потребуются. Однако, если имеется как базовый уровень, так и уровень улучшения данных, декодер может декодировать оба уровня и создать видео с качеством уровня улучшения, увеличив отношение сигнал-шум результирующих видеоданных для их представления на устройстве отображения.
В этом изобретении процедура декодирования описана для случая, когда получены и имеются как базовый уровень, так и уровень улучшения. Однако специалистам в данной области техники должно быть ясно, что описанная здесь процедура декодирования применима также к одноуровневому декодированию только базового уровня. Также для масштабируемого декодирования и стандартного, одноуровневого (базового) декодирования можно совместно использовать одно и то же аппаратное ядро. Кроме того, для управления планированием в аппаратном ядре может потребоваться незначительная модификация (или вообще не потребоваться) для обработки как декодирования только базового уровня, так и декодирования базового уровня плюс уровня улучшения.
Некоторые из задач, относящихся к масштабируемому декодированию, могут быть выполнены в микропроцессоре общего назначения. Их выполнение может включать в себя двухуровневое энтропийное декодирование, объединение коэффициентов двух уровней и подачу управляющей информации в цифровой процессор сигналов (DSP). Управляющая информация, подаваемая в DSP, может включать в себя значения параметра квантования (QP) и несколько ненулевых коэффициентов в каждом блоке 4х4. Значения QP могут посылаться в DSP для деквантизации и могут также использоваться совместно с информацией о ненулевых коэффициентах в аппаратном ядре для деблокирования. Процессор DSP может обращаться к блокам в аппаратном ядре для завершения других операций. Однако описанные здесь способы нет необходимости ограничивать какой-либо конкретной аппаратной реализацией или архитектурой.
В этом описании двунаправленные предиктивные B-кадры, формируемые способом предсказания вперед/назад, могут кодироваться стандартным образом в предположении, что В-кадры могут переноситься на обоих уровнях. В данном описании основное внимание обращено на обработку I- и P-кадров и/или слоев, которые могут появляться на базовом уровне, уровне улучшения или на обоих уровнях. В общем случае здесь описывается процесс одноуровневого декодирования, который объединяет операции для битовых потоков базового уровня и уровня улучшения с целью минимизации сложности декодирования и энергопотребления.
Как пример, для объединения базового уровня и уровня улучшения коэффициенты базового уровня могут быть приведены к масштабу SNR уровня улучшения. Например, коэффициенты базового уровня можно просто умножить на масштабный коэффициент. Если разница в параметре квантования (QP) между базовым уровнем и уровнем улучшения кратна, например, 6, то коэффициенты базового уровня можно привести к масштабу уровня улучшения с помощью простой операции битового сдвига. Результатом будет масштабированная версия данных базового уровня, которые могут быть объединены с данными уровня улучшения, чтобы разрешить одноуровневое декодирование как базового уровня, так и уровня улучшения на объединенной основе, как если бы они находились на уровне общего битового потока.
Используя декодирование одного уровня, а не двух различных уровней на независимой основе, можно упростить необходимые для обработки компоненты декодера, смягчить ограничения на планирование и уменьшить энергопотребление. Для обеспечения упрощенной масштабируемости компоненты NAL битового потока уровня улучшения включают в себя различные синтаксические элементы и семантику, предназначенные для облегчения декодирования, так чтобы видеодекодер мог реагировать на наличие как данных базового слоя, так и данных слоя расширения в различных компонентах NAL. Примеры синтаксических элементов, семантики и функций обработки описываются ниже со ссылками на чертежи.
На фиг. 1 представлена блок-схема, иллюстрирующая цифровую мультимедийную вещательную систему 10, поддерживающую видеомасштабируемость. В примере на фиг. 1 система 10 включает в себя вещательный сервер 12, передающую башню 14 и множество абонентских устройств 16А, 16В. Вещательный сервер 12 получает цифровой мультимедийный контент от одного или нескольких источников и кодирует этот мультимедийный контент, например, в соответствии с любым из вышеописанных стандартов видеокодирования, например, H.264. Мультимедийный контент, закодированный вещательным сервером 12, может быть скомпонован в виде отдельных битовых потоков для поддержки различных каналов, выбираемых пользователем, связанным с абонентским устройством 16. Вещательный сервер 12 может получать цифровой мультимедийный контент в прямом эфире или в виде архивированного мультимедийного контента от различных поставщиков контента.
Вещательный сервер 12 может включать в себя или быть связан с модулятором/передатчиком, который содержит соответствующие компоненты радиочастотной (RF) модуляции, фильтрации и усиления для возбуждения одной или нескольких антенн, связанных с передающей башней 14, для доставки закодированного мультимедийного контента, полученного от вещательного сервера 12, через беспроводный канал. Согласно некоторым аспектам вещательный сервер 12 может быть сконфигурирован в общем случае для предоставления видеоуслуг в реальном времени в наземных мобильных мультимедийных широковещательных (TM3) системах согласно спецификации FLO. Модулятор/передатчик может передавать мультимедийные данные в соответствии с любым из множества различных способов беспроводной связи, таких как многостанционный доступ с кодовым разделением каналов (CDMA), многостанционный доступ с временным разделением каналов (TDMA), многостанционный доступ с частотным разделением каналов (FDMA), мультиплексирование с ортогональным частотным разделением каналов (OFDM) или любой комбинацией указанных способов.
Каждое абонентское устройство 16 может находиться в любом устройстве, способном декодировать и представлять цифровые мультимедийные данные: система непосредственного цифрового вещания, устройство беспроводной связи, такое как сотовый или спутниковый радиотелефон, персональный цифровой помощник (PDA), компьютер типа «лэптоп», настольный компьютер, видеоигровая приставка или т.п. Абонентские устройства 16 могут поддерживать проводной и/или беспроводный прием мультимедийных данных. Вдобавок, некоторые абонентские устройства 16 могут быть оборудованы средствами для кодирования и передачи мультимедийных данных, а также поддержки приложений для передачи речи и данных, включая видеотелефонную связь, потоковое видео и т.п.
Для поддержки масштабируемого видео вещательный сервер 12 кодирует исходные видеоданные для создания отдельных битовых потоков базового уровня и уровня улучшения для множества каналов видеоданных. Передача по этим каналам обычно выполняется одновременно, так что абонентское устройство 16А, 16В может в любой момент времени выбрать для просмотра другой канал.
Следовательно, абонентское устройство 16А, 16В под управлением пользователя может выбрать один канал для просмотра спортивных передач, а затем выбрать другой канал для просмотра новостей или некоторой другой запланированной программы, совсем так, как при просмотре телевизора. В общем, каждый канал включает в себя базовый уровень и уровень улучшения, которые передаются с различными значениями частоты PER.
В примере на фиг. 1 показаны два абонентских устройства 16А, 16В. Однако система 10 может включать в себя любое количество абонентских устройств 16А, 16В в заданной зоне покрытия. Примечательно, что множество абонентских устройств 16А, 16В могут обращаться к одним и тем же каналам для одновременного просмотра одного и того же контента. На фиг. 1 показано расположение абонентских устройств 16А и 16В относительно передающей башни 14, при котором одно абонентское устройство 16А находится ближе к передающей башне, а другое абонентское устройств 16В дальше от передающей башни. Поскольку базовый уровень кодируется при низкой частоте PER, он должен надежно приниматься и декодироваться любым абонентским устройством 16 в используемой зоне покрытия. Как показано на фиг. 1, базовый уровень принимается обоими абонентскими устройствами 16А, 16В. Однако абонент 16В находится дальше от передающей башни 14 и не принимает с достаточной надежностью уровень улучшения.
Более близкое абонентское устройство 16А способно обеспечить видео более высокого качества, поскольку ему доступны данные как базового уровня, так и уровня улучшения, в то время как абонентское устройство 16В способно представлять видео только с минимальным уровнем качества, обеспечиваемым данными базового уровня. Следовательно, видео, получаемое абонентскими устройствами 16, является масштабируемым в том смысле, что к базовому уровню для повышения отношения сигнал-шум декодированных видеоданных можно добавить предварительно декодированный уровень улучшения. Однако масштабируемость возможна только тогда, когда имеются данные уровня улучшения. Как описано ниже, при наличии данных уровня улучшения синтаксические элементы и семантика, связанные с компонентами NAL уровня улучшения, помогают видеодекодеру в абонентском устройстве 16 реализовать масштабируемость видеоданных. В данном описании, и в частности, на чертежах, термин «улучшение» для краткости может быть укорочен до сокращения «расш» (или "ENH").
На фиг. 2 представлена схема, иллюстрирующая видеокадры в базовом уровне 17 и уровне 18 улучшения масштабируемого битового видеопотока. Базовый уровень 17 представляет собой битовый поток, содержащий кодированные видеоданные, которые представляют первый уровень пространственно-временной-SNR масштабируемости. Уровень 18 улучшения представляет собой битовый поток, содержащий кодированные видеоданные, которые представляют второй уровень пространственно-временной-SNR масштабируемости. В общем случае битовый поток уровня улучшения может декодироваться только вместе с базовым уровнем, а не независимо. Уровень 18 улучшения содержит ссылки на декодированные видеоданные в базовом уровне 17. Указанные ссылки можно использовать либо в области преобразования, либо в пиксельной области для создания конечных декодированных видеоданных.
Базовый уровень 17 и уровень 18 улучшения могут содержать I-кадры (с внутрикадровым кодированием), P-кадры (с предиктивным кодированием) и В-кадры (формируемые методом предсказания вперед/назад). P-кадры в уровне 18 улучшения опираются на ссылки на P-кадры в базовом уровне 17. Путем декодирования кадров в уровне 18 улучшения и базовом уровне 17 видеодекодер имеет возможность повысить качество декодированного видео. Например, базовый уровень 17 может включать в себя видео, закодированное с минимальной частотой 15 кадров в секунду, в то время как уровень 18 улучшения может включать в себя видео, закодированное с более высокой частотой - 30 кадров в секунду. Для поддержки кодирования с разными уровнями качества базовый уровень 17 и уровень 18 улучшения могут кодироваться с большим параметром квантования (QP) и меньшим QP соответственно.
На фиг. 3 представлена блок-схема, иллюстрирующая примерные компоненты вещательного сервера 12 и абонентского устройства 16 в системе 10 цифрового мультимедийного вещания по фиг. 1. Как показано на фиг. 3, вещательный сервер 12 включает в себя один или несколько источников 20 видео или интерфейс для различных источников видео. Вещательный сервер 12 также включает в себя видеодекодер 22, модуль 23 компонентов NAL и модулятор/передатчик 24. Абонентское устройство 16 включает в себя приемник/демодулятор 26, модуль 27 компонентов NAL, видеодекодер 28 и устройство 30 отображения видео. Приемник/демодулятор 26 принимает видеоданные от модулятора/передатчика 24 через канал 15 связи. Видеодекодер 22 включает в себя модуль 32 кодера базового уровня и модуль 34 кодера уровня улучшения. Видеодекодер 28 включает в себя модуль 38 объединителя уровней (базового/расширения) и энтропийный декодер 40 базового уровня/уровня улучшения.
Кодер 32 базового уровня и кодер 34 уровня улучшения принимают общие видеоданные. Кодер 32 базового уровня кодирует видеоданные с первым уровнем качества. Кодер 34 уровня улучшения кодирует уточнения, которые, будучи добавленными к базовому уровню, улучшают видео до второго, более высокого уровня качества. Модуль 23 компонентов NAL обрабатывает кодированный битовый поток из видеокодера 22 и создает компоненты NAL, содержащие кодированные видеоданные из базового уровня и уровня улучшения. Модуль 23 компонентов NAL может представлять собой отдельный блок, как показано на фиг. 3, или быть встроенным или иным образом интегрированным с видеокодером 22. Некоторые компоненты NAL несут данные базового уровня, в то время как другие компоненты NAL несут данные уровня улучшения. Согласно настоящему изобретению по меньшей мере некоторые из компонентов NAL включают в себя синтаксические элементы и семантику, помогающие видеодекодеру 28 при декодировании данных базового уровня и уровня улучшения без существенного увеличения сложности. Например, в компоненте NAL, который включает в себя видеоданные уровня улучшения, компоненте NAL, который включает в себя видеоданные базового уровня, или и то и другое могут быть предусмотрены один или несколько синтаксических элементов, указывающих на наличие видеоданных уровня улучшения в компоненте NAL.
Модулятор/передатчик 24 включает в себя подходящие компоненты для модуляции/демодуляции, усиления, фильтрации и преобразования частоты для поддержки модуляции и беспроводной передачи компонентов NAL, созданных модулем 23 компонентов NAL. Приемник/демодулятор 26 включает в себя подходящие компоненты модуляции/демодуляции, усиления, фильтрации и преобразования частоты для поддержки беспроводного приема компонентов NAL, переданных вещательным сервером. Согласно некоторым аспектам вещательный сервер 12 и абонентское устройство 16 могут быть оборудованы средствами двусторонней связи, так что вещательный сервер 12, абонентское устройство 16 или они оба включают в себя передающие и приемные компоненты, и оба способны кодировать и декодировать видеоданные. Согласно другим аспектам вещательный сервер 12 может являться абонентским устройством 16, оборудованным средствами кодирования, декодирования, передачи и приема видеоданных с использованием кодирования базового уровня и уровня улучшения. Таким образом, здесь также предполагается обработка масштабируемого видео для видеоданных, передаваемых между двумя или более абонентскими устройствами.
Модуль 27 компонентов NAL выделяет синтаксические элементы из принятых компонентов NAL и подает соответствующую информацию в видеодекодер 28 для ее использования при декодировании видеоданных базового уровня и уровня улучшения. Модуль 27 компонентов NAL может представлять собой отдельный блок, как показано на фиг. 3, или быть встроенным или иным образом интегрированным с видеодекодером 28. Энтропийный декодер 40 базового уровня/уровня улучшения применяет энтропийное декодирование к полученным видеоданным. Если имеются данные