МАРКИРОВКА ВИРТУАЛЬНЫХ ДЕКОДИРОВАННЫХ ОПОРНЫХ ИЗОБРАЖЕНИЙ И СПИСОК ОПОРНЫХ ИЗОБРАЖЕНИЙ
MARKING OF VIRTUAL DECODED REFERENCE IMAGES AND LIST OF REFERENCE IMAGES

Область техники, к которой относится изобретение
[0001] Настоящее изобретение в целом относится к масштабируемому кодированию видеосигналов. В частности, настоящее изобретение направлено на управление опорными изображениями для одноконтурного декодирования масштабируемых видеосигналов.
Предпосылки создания изобретения
[0002] Этот раздел описывает предпосылки создания изобретения или контекст изобретения, которое изложено в формуле изобретения. Описание здесь может включать концепции, которые могут осуществляться, но не обязательно те, которые были ранее задуманы или осуществлены. Поэтому, если здесь не указано иное, описанное в этом разделе не является уровнем техники для описания и формулы изобретения в этой заявке и не признается таковым вследствие включения в этот раздел.
[0003] Масштабируемое кодирование производит масштабируемые мультимедийные битовые потоки, причем битовый поток может быть закодирован на многочисленных уровнях, и каждый уровень вместе с необходимыми нижними уровнями является одним представлением мультимедийной последовательности при определенной пространственной или временной разрешающей способности, или при определенном уровне качества, или определенной комбинации этих трех параметров. Часть масштабируемого битового потока может извлекаться и декодироваться с желательной пространственной разрешающей способностью или временной разрешающей способностью, или с некоторым уровнем качества, или с некоторой комбинацией этих трех параметров. Масштабируемый битовый поток содержит немасштабируемый основной уровень и один или несколько уровней расширения. Уровень расширения может улучшать временную разрешающую способность (то есть частоту кадров), пространственную разрешающую способность или просто качество контента видеоданных, представленных нижним уровнем или его частью. В некоторых случаях данные уровня расширения могут быть усечены после некоторого места или даже в произвольных позициях, причем каждая позиция усечения может включать дополнительные данные, представляющие все более и более улучшенное визуальное качество. Самая последняя спецификация масштабируемого кодирования видеоданных (SVC) описана в документе JVT-T201, "Joint Draft 7 of SVC Amendment," 20th JVT Meeting, Klagenfurt, Austria, July 2006 (в дальнейшем "H.264/AVC").
[0004] В некоторых случаях кодирования SVC данные в уровне расширения могут быть усечены после некоторого места или в произвольных позициях, где каждая позиция усечения может включать дополнительные данные, представляющие все более и более улучшенное визуальное качество. Такая масштабируемость называется мелкозернистой масштабируемостью (FGS). В отличие от FGS масштабируемость, обеспечиваемая теми уровнями расширения, которые не могут быть усечены, называется крупнозернистой масштабируемостью (CGS). Все вместе они включают традиционную масштабируемость качества (SNR - отношения сигнал/шум) и пространственную масштабируемость. Ниже в этом документе принимается, что имеются только уровни масштабируемости CGS, хотя очевидно, что способы могут быть расширены на случаи, когда в распоряжении имеются также уровни масштабируемости FGS.
[0005] Для одноконтурного декодирования SVC декодируются полностью изображения только самого высокого уровня декодирования. Поэтому, как показано на фиг.4, текущая спецификация кодирования SVC поддерживает только один буфер декодированных изображений (DPB) для уровня, предназначенного для воспроизведения. Соответственно, список опорных изображений создается только для целевого уровня. Например, для нижних уровней, хотя операция управления памятью (ММСО) и команды переупорядочения списка опорных изображений (RPLR) передаются в заголовках слайса, процесс декодирования игнорирует их.
[0006] Как показано на фиг.5, когда межуровневое предсказание движения применяется для текущего макроблока (MB), используются вектор движения и опорный индекс основного уровня, чтобы предсказать вектор движения и опорный индекс текущего MB. Опорный индекс, передаваемый в MB основного уровня, относится к списку опорных изображений основного уровня. Однако не имеется никакого процесса декодирования, указанного в текущей спецификации кодирования SVC, для образования списка опорных изображений для кодированных изображений основного уровня. Вместо этого, когда необходимо, для основного уровня используется список опорных изображений целевого уровня. Следовательно, когда список опорных изображений основного уровня отличается от целевого уровня, может использоваться информация (например, о движении) из неправильного опорного изображения основного уровня.
[0007] В частности, эта проблема может возникать, когда используется так называемое прямое (direct mode) временное предсказание или прямое пространственное предсказание. Например, предположим, что текущий MB использует межуровневое предсказание движения. Расположенный в том же месте MB в изображении нижнего уровня использует временное прямое предсказание. Чтобы получить информацию о движении MB нижнего уровня, расположенного в том же месте, необходима информация о движении изображения нижнего уровня из ранее декодированного блока доступа. В этом случае, если списочная позиция этого изображения нижнего уровня в списке опорных изображений нижнего уровня отличается от списочной позиции изображения целевого уровня, имеющего тот же самый индекс в списке опорных изображений целевого уровня, будет указываться неправильное движение. Таким образом, текущий MB и, следовательно, текущее изображение целевого уровня будут декодированы неправильно.
[0008] Соответственно, имеется потребность в системе и способе для поддержания списка опорных изображений для нижних уровней при декодировании битового SVC-потока, содержащего более одного масштабируемого уровня, чтобы обеспечивать правильное декодирование, когда режимы прямого предсказания используются для кодирования нижних уровней.
Сущность изобретения
[0009] Настоящее изобретение предлагает улучшенную систему и способ для осуществления эффективного декодирования масштабируемых битовых потоков видеоданных. В одной форме осуществления буфер виртуальных декодированных изображений предусматривается для каждого нижнего уровня масштабируемого битового потока видеоданных. В более частной форме осуществления буфер виртуальных декодированных изображений хранит те виртуальные декодированные изображения нижнего уровня, для которых информация о движении может использоваться для предсказания информации о движении. Виртуальное декодированное изображение нижнего уровня не связано с декодированными значениями отсчетов. В другой форме осуществления виртуальные декодированные изображения нижнего уровня, используемые в качестве опорных, компилируются, чтобы создать список опорных изображений для нижнего уровня. Список опорных изображений, генерируемый буфером виртуальных декодированных изображений, используется во время процесса временного прямого или пространственного прямого предсказания вместо целевого опорного списка, чтобы правильно декодировать текущий макроблок.
[0010] Эти и другие преимущества и особенности изобретения вместе со структурой и способом его работы станут очевидными из нижеследующего подробного описания вместе с сопроводительными чертежами, на которых подобные элементы имеют аналогичные номера позиций повсюду на нескольких чертежах.
Краткое описание чертежей
[0011] Фиг.1 - общая схема системы, в которой может быть осуществлено настоящее изобретение.
[0012] Фиг.2 - перспективный вид мобильного телефона, который может использоваться при реализации настоящего изобретения.
[0013] Фиг.3 - схематическое представление телефонных схем мобильного телефона фиг.2.
[0014] Фиг.4 - блок-схема буфера декодированных изображений и списка опорных изображений.
[0015] Фиг.5 - блок-схема, иллюстрирующая межуровневое предсказание движения.
[0016] Фиг.6 - блок-схема системы и способа для маркировки виртуального декодированного опорного изображения и структура списка опорных изображений.
[0017] Фиг.7 - блок-схема, иллюстрирующая временное прямое или пространственное прямое предсказание согласно одной из форм осуществления изобретения.
Подробное описание предпочтительных форм осуществления изобретения
[0018] Формы осуществления настоящего изобретения будут описаны ниже со ссылкой на сопроводительные чертежи. Должно быть понятно, что нижеследующее описание предназначено для описания примеров осуществления изобретения, а не для ограничения изобретения.
[0019] На фиг.1 показана мультимедийная система связи общего типа для использования с настоящим изобретением. Как показано на фиг.1, источник 100 данных обеспечивает исходный сигнал в аналоговом, несжатом цифровом или сжатом цифровом формате, или в виде некоторой комбинации этих форматов. Кодер 110 кодирует исходный сигнал, формируя кодированный битовый поток мультимедийных данных. Кодер 110 может быть способен кодировать более одного вида мультимедиа, таких как звуковой и видеосигнал, или может требоваться более одного кодера 110, чтобы кодировать различные виды мультимедиа исходного сигнала. Кодер 110 может получать также синтетически созданный входной сигнал, такой как графика и текст, или он может быть способен создавать кодированные битовые потоки синтетических мультимедийных данных. Ниже, чтобы упростить описание, рассматривается обработка только одного кодированного битового потока мультимедийных данных одного вида мультимедиа. Следует заметить, однако, что типичные широковещательные услуги в реальном времени включают несколько потоков (обычно, по крайней мере один поток данных звука, видео и текстовых субтитров). Следует также заметить, что система может содержать много кодеров, но далее рассматривается только один кодер 110, чтобы упростить описание без потери общности.
[0020] Кодированный битовый поток мультимедийных данных передается в запоминающее устройство 120. Запоминающее устройство 120 может быть выполнено в виде запоминающего устройства большого объема любого типа, чтобы хранить кодированный битовый поток мультимедийных данных. Формат кодированного битового потока мультимедийных данных в запоминающем устройстве 120 может быть форматом элементарного самостоятельного битового потока, или же один или несколько кодированных битовых потоков мультимедийных данных могут инкапсулироваться в файл контейнера. Некоторые системы работают "на лету", то есть опускают запоминающее устройство и передают кодированный битовый поток мультимедийных данных из кодера 110 непосредственно в передатчик 130. Кодированный битовый поток мультимедийных данных затем по мере необходимости передается в передатчик 130, упоминаемый также как сервер. Формат, используемый при передаче, может быть форматом элементарного самостоятельного битового потока, форматом пакетного потока, или же один или несколько кодированных битовых потоков мультимедийных данных могут инкапсулироваться в файл контейнера. Кодер 110, запоминающее устройство 120 и передатчик 130 могут находиться в одном физическом устройстве, или они могут быть включены в отдельные устройства. Кодер 110 и передатчик 130 могут работать с "живым" контентом в реальном времени, в этом случае кодированный битовый поток мультимедийных данных обычно не хранится постоянно, а буферизируется в течение малых периодов времени в кодере 110 контента и/или в передатчике 130, чтобы сгладить изменения в задержке обработки, задержке передачи и скорости передачи кодированных мультимедийных данных.
[0021] Передатчик 130 передает кодированный битовый поток мультимедийных данных, используя стек протоколов связи. Стек может включать в качестве неограничивающих примеров протокол передачи мультимедийных данных в реальном времени (RTP), протокол пользовательских дейтаграмм (UDP) и протокол Интернета (IP). Когда стек протоколов связи ориентирован на пакетную передачу, передатчик 130 формирует кодированный битовый поток мультимедийных данных в пакеты. Например, когда используется протокол RTP, передатчик 130 формирует кодированный битовый поток мультимедийных данных в пакеты RTP согласно формату полезной информации RTP. Обычно каждый вид мультимедиа имеет заранее определенный формат полезной информации RTP. Снова следует отметить, что система может содержать более одного передатчика 130, но ради простоты в дальнейшем описании рассматривается только один передатчик 130.
[0022] Передатчик 130 может быть подключен или не подключен к шлюзу 140 через сеть связи. Шлюз 140 может выполнять функции различного вида, такие как преобразование потока пакетов согласно одному стеку протоколов связи в другой стек протоколов связи, объединение и разветвление потоков данных, а также манипуляцию потоком данных согласно возможностям нисходящей линии связи и/или приемника, таким как управление скоростью передачи данных пересылаемого потока согласно преобладающим условиям нисходящих линий сети. Примеры шлюзов 140 включают модули управления многосторонними конференциями (MCU), шлюзы между видеотелефонией с коммутацией каналов и с пакетной коммутацией, услугу полудуплексной голосовой связи Push-to-Talk ("Нажми и говори") с помощью сервера сотовой сети (РоС), инкапсуляторы IP в системах цифрового телевизионного вещания на карманные мобильные устройства (DVB-H) или абонентские приставки, которые локально пересылают широковещательные передачи в домашние беспроводные сети. Когда используется протокол RTP, шлюз 140 называется микшером RTP и действует как конечная точка соединения RTP.
[0023] Система содержит один или несколько приемников 150, обычно способных к приему, демодуляции и декапсуляции переданных сигналов в кодированный битовый поток мультимедийных данных. Кодированный битовый поток мультимедийных данных обычно обрабатывается далее декодером 160, выходной сигнал которого представляет собой один или несколько несжатых потоков мультимедийных данных. Следует отметить, что битовый поток, который будет декодироваться, может приниматься от удаленного устройства, расположенного в сети фактически любого типа. Кроме того, битовый поток может приниматься от локальных аппаратных или программных средств. Наконец, устройство 170 воспроизведения (рендерер) может воспроизводить несжатые потоки мультимедийных данных, например, с помощью громкоговорителя или дисплея. Приемник 150, декодер 160 и воспроизводящее устройство 170 могут находиться в одном физическом устройстве, или они могут быть включены в отдельные устройства.
[0024] Масштабируемость с точки зрения скорости передачи данных, сложности декодирования и размера изображения - желательное свойство для гетерогенной и подверженной ошибкам среды передачи. Это свойство желательно, чтобы противодействовать ограничениям, таким как ограничения на скорость передачи данных, разрешающую способность дисплея, пропускную способность сети и вычислительную мощность в приемном устройстве.
[0025] Должно быть понятно, что, хотя текст и примеры, содержащиеся здесь, могут конкретно описывать процесс кодирования, специалистам в данной области техники будет легко понять, что те же самые концепции и принципы применимы также к соответствующему процессу декодирования и наоборот. Следует отметить, что битовый поток, который будет декодироваться, может приниматься от удаленного устройства, расположенного в сети фактически любого типа. Дополнительно, битовый поток может быть получен от локальных аппаратных или программных средств.
[0026] Устройства связи согласно настоящему изобретению могут осуществлять связь с использованием различных технологий передачи, включая в качестве неограничивающих примеров множественный доступ с кодовым разделением каналов (CDMA), глобальную систему подвижной связи (GSM), универсальную систему подвижной связи (UMTS), многостанционный доступ с временным разделением каналов (TDMA), многостанционный доступ с частотным разделением каналов (FDMA), протокол управления передачей/протокол Интернет (TCP/IP), службу обмена короткими сообщениями (SMS), службу передачи мультимедийных сообщений (MMS), электронную почту, службу мгновенной передачи сообщений (IMS), Bluetooth, IEEE 802.11 и т.д. Устройство связи может осуществлять связь с использованием различных сред, включая в качестве неограничивающих примеров радио, инфракрасное излучение, лазер, кабельное соединение и т.п.
[0027] На фиг.2 и 3 показан один типичный мобильный телефон 12, в котором может быть осуществлено настоящее изобретение. Должно быть понятно, однако, что настоящее изобретение не ограничено одним конкретным типом мобильного телефона 12 или другого электронного устройства. Мобильный телефон 12 на фиг.6 и 7 содержит корпус 30, дисплей 32 в виде индикатора на жидких кристаллах, клавиатуру 34, микрофон 36, динамик 38, батарею 40, инфракрасный порт 42, антенну 44, смарт-карту 46 в виде универсальной микропроцессорной карты 3-го поколения (UICC) согласно одной из форм осуществления изобретения, устройство 48 считывания карты, схему 52 радиоинтерфейса, схему 54 кодека, контроллер 56 и запоминающее устройство 58. Все отдельные цепи и элементы представляют собой устройства хорошо известного в данной области техники типа, например, по номенклатуре мобильных телефонов фирмы Nokia.
[0028] Согласно одной форме осуществления изобретения фиг.6 представляет собой блок-схему системы и способа для поддержания списков опорных изображений для нижних уровней в масштабируемом потоке двоичных символов видеоданных, чтобы гарантировать правильное декодирование, когда режимы прямого предсказания (временного или пространственного) используются для декодирования нижних уровней масштабируемого битового потока.
[0029] Прежде всего, буфер 200 виртуальных декодированных изображений (VDPB) предусматривается для каждого нижнего уровня масштабируемого битового потока видеоданных. Согласно одной форме осуществления буфер VDPB 200 является виртуальным буфером, который хранит декодированные изображения 205 нижнего уровня для их использования в качестве опорных. Буфер VDPB 200 подходит для хранения декодированных изображений 205 нижнего уровня, потому что значения отсчетов для каждого декодированного изображения нижнего уровня не требуются. Декодированные изображения 205 нижнего уровня могут использоваться для предсказания информации о движении кодированных изображений в последующих блоках доступа. Согласно одной форме осуществления каждое декодированное изображение 205 нижнего уровня, хранящееся в буфере VDPB, называется виртуальным опорным изображением 205. Каждое виртуальное опорное изображение 205 связано с информацией, как определено в спецификации H.264/AVC. Эта информация является той же самой информацией, с которой связаны невиртуальные опорные изображения, показанные на фиг.4. Однако согласно одной форме осуществления виртуальные опорные изображения не связаны со значениями отсчетов. Кроме того, буфер VDPB не хранит неопорные изображения нижнего уровня. Далее, ни одно из опорных изображений, хранящихся в буфере VDPB, не маркируется как "неиспользуемое в качестве опорного".
[0030] Согласно одной форме осуществления список 210 виртуальных опорных изображений составляется из виртуальных опорных изображений 205, полученных из буфера VDPB 200. Чтобы поддерживать список опорных изображений для каждого из нижних уровней, процесс декодирования, который определен в стандарте SVC, применяется, как будто нижний уровень является целевым уровнем, за исключением того, что отсчеты не декодируются. Процесс декодирования включает процесс 220 маркировки опорных изображений и процесс 230 построения списка опорных изображений.
[0031] Согласно одной форме осуществления процесс 220 маркировки опорных изображений выполняется, как определено в стандарте SVC, как будто подчиненный нижний уровень является целевым уровнем. Процесс маркировки опорных изображений в спецификации SVC кратко может быть описан следующим образом. Максимальное число опорных изображений, используемых для интер-предсказания, обозначаемое как М, указывается в наборе параметров активной последовательности. Когда опорное изображение декодируется, оно маркируется как "используемое в качестве опорного". Если декодирование опорного изображения порождает больше чем М изображений, маркируемых как "используемое в качестве опорного", то по меньшей мере одно изображение должно быть отмечено как "не используемое в качестве опорного". Как указано выше, если изображение было маркировано как "не используемое в качестве опорного", оно не появляется в списке 210в виртуальных опорных изображений. Далее, основываясь на том, считается ли опорное изображение краткосрочным или долгосрочным, различные процессы инициализации и переупорядочивания списка применяются к опорному изображению.
[0032] Кроме того, согласно одной форме осуществления процесс 230 построения списка опорных изображений выполняется, как определено в спецификации SVC, как будто подчиненный нижний уровень является целевым уровнем. В результате поддерживается список опорных изображений для нижних уровней масштабируемого битового потока. Таким образом, как показано на фиг.7, когда используется прямое предсказание (временное или пространственное), система использует список 210 виртуальных опорных изображений декодируемого нижнего уровня. Это гарантирует, что макроблок декодируется правильно.
[0033] Настоящее изобретение описано в общем контексте шагов способа, которые могут быть реализованы в одной из форм осуществления программным продуктом, включающим выполняемые компьютером команды, такие как код программы, выполняемый компьютерами в сетевых средах. Вообще, программные модули включают подпрограммы, программы, объекты, компоненты, структуры данных и т.д., которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Исполняемые машинные команды, связанные структуры данных и программные модули представляют собой примеры программного кода для выполнения шагов способов, раскрытых здесь. Конкретная последовательность таких выполнимых команд или связанных структур данных представляет примеры соответствующих действий для реализации функций, описанных в таких шагах.
[0034] Программные и сетевые реализации настоящего изобретения могут быть выполнены стандартными методами программирования с логикой на основе правил и другой логики для выполнения различных шагов поиска в базе данных, шагов корреляции, шагов сравнения и шагов решения. Следует также отметить, что слова "компонент" и "модуль", которые используются здесь и в формуле изобретения, предназначены для охвата реализаций, использующих одну или несколько строк программного кода, и/или аппаратных реализаций и/или оборудования для приема данных, вводимых вручную.
[0035] Вышеизложенное описание предпочтительной формы осуществления изобретения было представлено с целью иллюстрации и описания. Оно не предназначено быть исчерпывающим или ограничивать изобретение точной раскрытой формой, и модификации и разновидности возможны в свете вышеприведенного описания или в результате практического применения изобретения. Форма осуществления была выбрана и описана с целью объяснения принципов изобретения и для практического применения, чтобы позволить специалистам в данной области техники использовать изобретение в различных формах осуществления и с различными модификациями, которые подходят для рассмотренного конкретного использования. Предполагается, что объем изобретения определяется пунктами прилагаемой формулой изобретения и их эквивалентами.