Импульсно-кодовая модуляция с квантованием при кодировании видеоинформации
Иллюстрации
Показать всеИзобретение относится к технологиям кодирования и декодирования видеоданных. Техническим результатом является повышение эффективности кодирования или декодирования видео за счет осуществления кодирования или декодирования выборок блоков данных, с использованием импульсно-кодовой модуляции с квантованием. Предложен способ кодирования видеоданных. Способ включает в себя этап, на котором кодируют по меньшей мере один блок кадра видеоданных, используя внутрикадровое предсказание в отношении первого другого блока кадра видеоданных. А также, согласно способу, кодируют выборки одного или более вторых других блоков кадра видеоданных с использованием импульсно-кодовой модуляции с квантованием в соответствии с битовой глубиной на выходе. 8 н. и 39 з.п. ф-лы, 8 ил.
Реферат
По этой заявке испрашивается приоритет на основании предварительной заявки на патент США № 61/449413, поданной 4 марта 2011 г., которая включена сюда в полном объеме путем ссылки.
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Это изобретение, сущность которого здесь раскрыта, относится к кодированию видеоинформации и, в частности к способам импульсно-кодовой модуляции (ИКМ) видеоданных с квантованием.
ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ
Возможности цифрового видео могут быть встроены в разнообразные устройства, в том числе в цифровые телевизоры, в цифровые системы прямой широковещательной передачи, в системы беспроводной широковещательной передачи, персональные цифровые информационные устройства (PDA), в портативные или настольные компьютеры, в цифровые фотоаппараты, в устройства цифровой записи, в цифровые медиапроигрыватели, в видеоигровые устройства, в игровые приставки, в сотовые или спутниковые радиотелефонные аппараты, в устройства видеоконференцсвязи и т.п. В цифровых видеоустройствах реализованы способы сжатия видеоинформации, которые описаны в стандартах MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, раздел 10, в стандарте усовершенствованного кодирования видеоинформации (AVC), в разрабатываемом в настоящее время стандарте высокопроизводительного кодирования видеоинформации (HEVC) и в расширенных версиях этих стандартов для более эффективной передачи, более эффективного приема и хранения цифровой видеоинформации.
Способы сжатия видеоинформации включают в себя предсказание по пространству и/или предсказание по времени для уменьшения или устранения избыточности, присущей видеопоследовательностям. Для поблочного кодирования видеоинформации видеокадр или срез может быть разделен на блоки. Каждый блок может быть дополнительно разделен на сегменты. Блоки в кадре или срезе, закодированном с внутрикадровым предсказанием (I), закодированы с использованием предсказания по пространству относительно опорных выборок в соседних блоках в том же самом кадре или срезе. Для блоков в кадре или срезе, закодированном с межкадровым предсказанием (P или B), может использоваться предсказание по пространству относительно опорных выборок в соседних блоках в том же самом кадре или срезе или предсказание по времени относительно опорных выборок в других опорных кадрах. В результате предсказания по пространству или по времени получают предсказанный блок для блока, подлежащего кодированию. Разностные данные представляют собой разности пикселей между исходным блоком, подлежащим кодированию, и предсказанным блоком.
Блок, кодируемый способом кодирования с межкадровым предсказанием, кодируют в соответствии с вектором движения, который указывает блок опорных выборок, образующих предсказанный блок, и с разностными данными, указывающими разность между закодированным блоком и предсказанным блоком. Блок, кодируемый с внутрикадровым предсказанием, кодируют в соответствии с режимом кодирования с внутрикадровым предсказанием и с разностными данными. Для дополнительного сжатия разностные данные могут быть преобразованы из области пикселей в область преобразования, что приводит к разностным коэффициентам преобразования, которые затем могут быть подвергнуты квантованию. Квантованные коэффициенты преобразования, первоначально расположенные в двумерной матрице, могут быть просканированы в индивидуальном порядке для создания одномерного вектора коэффициентов преобразования для статистического кодирования.
КРАТКОЕ ИЗЛОЖЕНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
В общем, в этом изобретении, сущность которого здесь раскрыта, описаны устройства и способы кодирования видеоинформации с использованием импульсно-кодовой модуляции (ИКМ) с квантованием. ИКМ с квантованием включает в себя операцию квантования выборок видеоинформации так, чтобы при некоторых обстоятельствах к закодированной видеоинформации можно было добавлять искажение. Таким образом, блоки видеоинформации, закодированные с использованием ИКМ с квантованием, кажутся более равномерными по сравнению со смежными блоками видеоинформации, которые были закодированы другими способами сжатия с потерями, такими как, например, кодирование с межкадровым предсказанием или кодирование с внутрикадровым предсказанием.
Видеокодер может, например, сначала выполнить квантование входных выборок видеоинформации, выполняя операцию квантования до кодирования квантованных выборок с использованием ИКМ. Операция квантования обычно добавляет искажение в видеоинформацию и задает битовую глубину квантованных выборок, закодированных с использованием ИКМ, на выходе. Сведения об этой операции квантования и/или о битовой глубине на выходе могут быть сообщены в декодер в закодированном потоке битов видеоинформации. В качестве одного из примеров, указатель битовой глубины выхода может содержаться в виде 4-битового элемент синтаксиса в заголовке последовательности в закодированном потоке битов.
В качестве другого примера, видеодекодер может принимать закодированный поток битов видеоинформации, включающий в себя квантованные выборки видеоинформации, закодированные с использованием ИКМ. Эти выборки сначала декодируют с использованием импульсно-кодовой демодуляции, а затем повергают обратному квантованию с тем же самым шагом квантования, который был использован для кодирования видеоинформации. В качестве одного из примеров, видеодекодер может извлекать этот шаг квантования из закодированного потока битов видеоинформации.
В одном из примеров в изобретении, сущность которого здесь раскрыта, описан способ кодирования видеоданных, содержащий операцию кодирования выборок из блока видеоданных с использованием импульсно-кодовой модуляции с квантованием в соответствии с битовой глубиной на выходе. Импульсно-кодовая модуляция с квантованием включает в себя операцию квантования выборок из блока видеоданных в соответствии с шагом квантования, задающим величину квантования для создания битовой глубины на выходе, и операцию импульсно-кодовой модуляции квантованных выборок. В изобретении, сущность которого здесь раскрыта, также описан способ декодирования видеоданных, содержащий операцию декодирования выборок из закодированного блока видеоданных с использованием импульсно-кодовой демодуляции и обратного квантования декодированных выборок в соответствии с шагом квантования.
В другом примере в изобретении, сущность которого здесь раскрыта, описано устройство, сконфигурированное для кодирования видеоданных. Это устройство включает в себя блок кодирования видеоинформации, сконфигурированный для кодирования выборок из блока видеоданных с использованием импульсно-кодовой модуляции с квантованием в соответствии с битовой глубиной на выходе. Блок кодирования видеоинформации включает в себя блок квантования, сконфигурированный для квантования выборок из блока видеоданных в соответствии с шагом квантования, задающим величину квантования для создания битовой глубины на выходе, и блок модуляции, сконфигурированный для кодирования квантованных выборок с использованием импульсно-кодовой модуляции. В изобретении, сущность которого здесь раскрыта, также описано устройство, сконфигурированное для декодирования видеоданных. Это устройство включает в себя блок декодирования видеоинформации, сконфигурированный для декодирования выборок из закодированного блока видеоданных, которые были закодированы с использованием импульсно-кодовой модуляции с квантованием в соответствии с битовой глубиной на выходе. Блок декодирования видеоинформации включает в себя блок демодуляции, сконфигурированный для декодирования выборок из закодированного блока видеоданных с использованием импульсно-кодовой демодуляции, и блок обратного квантования, сконфигурированный для выполнения обратного квантования декодированных выборок в соответствии с шагом квантования.
В еще одном примере в изобретении, сущность которого здесь раскрыта, описан компьютерный программный продукт, содержащий считываемый посредством компьютера носитель информации, имеющий хранящиеся на нем команды, которые при их исполнении вызывают то, что процессор устройства кодирования видеоинформации выполняет кодирование выборок из блока видеоданных с использованием импульсно-кодовой модуляции с квантованием в соответствии с битовой глубиной на выходе. Команды кодирования выборок из блока видеоданных с использованием импульсно-кодовой модуляции с квантованием включают в себя команды выполнения квантования выборок блока видеоданных в соответствии с шагом квантования, задающим величину квантования для создания битовой глубины на выходе, и выполнения импульсно-кодовой модуляции квантованных выборок. В изобретении, сущность которого здесь раскрыта, также описан компьютерный программный продукт для декодирования видеоданных, включающих в себя команды декодирования выборок из закодированного блока видеоданных, которые были закодированы с использованием импульсно-кодовой модуляции с квантованием в соответствии с битовой глубиной на выходе. Команды декодирования выборок из блока видеоданных включают в себя команды выполнения декодирования выборок из закодированного блока видеоданных с использованием импульсно-кодовой демодуляции и выполнения обратного квантования декодированных выборок в соответствии с шагом квантования.
Подробности одного или большего количества вариантов осуществления настоящего изобретения изложены на сопроводительных чертежах и в приведенном ниже описании. Другие признаки, задачи и преимущества настоящего изобретения станут очевидными из описания, чертежей и из формулы изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
На фиг.1 изображена блок-схема, на которой проиллюстрирована система кодирования и декодирования видеоинформации, приведенная в качестве примера.
На фиг.2 изображена блок-схема, на которой проиллюстрирован видеокодер, приведенный в качестве примера.
На фиг.3 изображена блок-схема, на которой проиллюстрирован приведенный в качестве примера блок ИКМ с квантованием, входящий в состав видеокодера.
На фиг.4 изображен приведенный в качестве примера закодированный поток битов видеоинформации с заголовком последовательности.
На фиг.5 изображена блок-схема, на которой проиллюстрирован видеодекодер, приведенный в качестве примера.
На фиг.6 изображена блок-схема, на которой проиллюстрирован приведенный в качестве примера блок декодирования с использованием ИКМ с квантованием, входящий в состав видеодекодера.
На фиг.7 изображена схема последовательности операций, на которой проиллюстрирован способ кодирования, приведенный в качестве примера.
На фиг.8 изображена схема последовательности операций, на которой проиллюстрирован способ декодирования, приведенный в качестве примера.
ПОДРОБНОЕ ОПИСАНИЕ
Цифровые видеоустройства реализуют способы сжатия видеоинформации для более эффективной передачи и для более эффективного приема цифровой видеоинформации. При сжатии видеоинформации могут применяться способы предсказания по пространству (то есть, внутрикадрового предсказания) и/или предсказания по времени (то есть, межкадрового предсказания) для уменьшения или устранения избыточности, присущей видеопоследовательностям.
Для кодирования видеоинформации согласно стандарту высокопроизводительного кодирования видеоинформации (HEVC) видеокадр может быть разделен на единичные элементы кодирования, единичные элементы предсказания и единичные элементы преобразования. Термин "единичный элемент кодирования" обычно относится к области изображения, которая служит в качестве базовой единицы, к которой применяют различные средства кодирования для сжатия видеоинформации. Единичный элемент кодирования обычно имеет квадратную форму, и можно полагать, что он является аналогичным так называемому макроблоку, например, согласно другим стандартам кодирования видеоинформации, например, согласно стандарту ITU-T H.264. Единичный элемент кодирования может быть разделен на все более и более малые единичные элементы кодирования согласно схеме разделения на основе дерева квадрантов.
Для обеспечения лучшей эффективности кодирования единичный элемент кодирования может иметь различные размеры в зависимости от содержимого видеоинформации. Кроме того, единичный элемент кодирования может быть разделен на меньшие блоки для предсказания или преобразования. В частности, каждый единичный элемент кодирования может быть дополнительно разделен на единичные элементы предсказания и единичные элементы преобразования. Можно полагать, что единичные элементы предсказания являются аналогичными так называемым разделам на макроблоки согласно другим стандартам кодирования видеоинформации. Единичные элементы преобразования относятся к блокам разностных данных, к которым применено преобразование для получения коэффициентов преобразования.
Единичный элемент кодирования обычно имеет одну составляющую сигнала яркости, обозначаемую как Y, и две составляющих сигнала цветности, обозначаемые как U и V. В зависимости от формата выборки видеоинформации размер составляющих U и V, с точки зрения количества выборок, может быть тем же самым, что и размер составляющей Y, или отличающимся от него.
Для кодирования блока (например, единичного элемента предсказания видеоданных) сначала получают предиктор для блока. Предиктор может быть получен либо путем внутрикадрового (I) предсказания (то есть, предсказания по пространству), либо путем межкадрового (P или B) предсказания (то есть, предсказания по времени). Следовательно, некоторые единичные элементы предсказания могут быть закодированы с внутрикадровым предсказанием (I) с использованием предсказания по пространству относительно соседних опорных блоков в том же самом кадре, а другие единичные элементы предсказания могут быть закодированы с межкадровым предсказанием (P или B) относительно опорных блоков в других кадрах.
После определения предиктора вычисляют разности между исходным блоком видеоданных и его предиктором. Эту разность также именуют разностью предсказания, и она относится к разностям пикселей между пикселями в блоке, подлежащем кодированию, и в опорном блоке, то есть в предикторе. Для обеспечения лучшего сжатия разность предсказания обычно преобразовывают, например, с использованием дискретного косинусного преобразования (ДКП), целочисленного преобразования, преобразования Карунена-Лоэва (Karhunen-Loeve) (K-L-преобразования) или иного преобразования.
Преобразование преобразовывает значения разности пикселей в пространственной области в коэффициенты преобразования в области преобразования, например, в частотной области. Коэффициенты преобразования обычно упорядочены в виде двумерного (2-D) массива для каждого единичного элемента преобразования. Для дополнительного сжатия коэффициенты преобразования могут быть подвергнуты квантованию. Затем статистический кодер применяет к квантованным коэффициентам преобразования статистическое кодирование, которым является любой из следующих способов кодирования: контекстно-адаптивное кодирование кодами переменной длины (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC) и т.п.
В некоторых случаях при использовании вышеописанных способов видеокодер может действовать как устройство, увеличивающее объем данных, а не устройство сжатия данных. Несмотря на то, что кодер обычно обеспечивает очень хорошее сжатие для большинства содержимого видеоинформации, изолированные части видеокадра, содержащие нетипичное информационное содержимое в области преобразования, могут создавать большие объемы закодированных данных. Следовательно, для некоторого содержимого видеоинформации кодер не может выполнять задачу сжатия видеоданных, а вместо этого может создавать избыточные данные. Для этих случаев видеокодер может улучшать общее сжатие видеоинформации путем применения кодирования с использованием импульсно-кодовой модуляции (ИКМ) вместо кодирования с предсказанием. Кодирование с использованием ИКМ обычно представляет собой способ кодирования без потерь, в котором выполняют кодирование отдельных выборок видеоданных без сжатия, основанного на предсказании.
В качестве примера, в стандарте кодирования видеоинформации MPEG-2 задают верхний предел количества закодированных битов, которое может быть сгенерировано для закодированного макроблока видеоданных. При проектировании декодера этот верхний предел служит вспомогательным средством, задавая конкретный объем данных, который получают, а затем обрабатывают для декодирования макроблока. Генерация кодируемых битов сверх этого верхнего предела противоречила бы конструкции декодера стандарта MPEG-2.
В режиме ИКМ с внутрикадровым предсказанием (Intra PCM) согласно стандарту ITU-T H.264/MPEG-4 AVC (ниже именуемому стандартом H.264) кодер передает значения выборок из макроблока без предсказания, кодирования с преобразованием и статистического кодирования. То есть, в режиме ИКМ с внутрикадровым предсказанием для макроблоков кодер просто выполняет кодирование значений пикселей в области макроблока с использованием, например, 8 битов на каждую выборку. Кодер генерирует значения пикселей, закодированные с использованием ИКМ, в качестве значений байтов без обработки. Режим ИКМ с внутрикадровым предсказанием позволяет кодерам регулировать количество битов каждого макроблока равным заданному или меньшему значению без сложных вычислений.
Использование кодирования в режиме ИКМ с внутрикадровым предсказанием в стандарте H.264 указано посредством элемента синтаксиса "режим макроблока". При использовании кодирования в режиме ИКМ с внутрикадровым предсказанием значения выборок из каждого соответствующего макроблока передают без предсказания, кодирования с преобразованием и статистического кодирования. Следует отметить, что, когда статистическим кодированием является контекстно-адаптивное двоичное арифметическое кодирование (CABAC), двоичное арифметическое кодирование (BAC) прекращают и инициализируют перед передачей значений выборок.
В существующей в настоящее время модели стандарта HEVC отсутствует какое-либо средство, сопоставимое с ИКМ с внутрикадровым предсказанием в стандарте H.264. Одна из проблем состоит в том, что характеристики стандарта HEVC являются иными, чем характеристики стандарта H.264. В стандарте H.264 объем данных ограничен на уровне макроблока, который имеет размер 16×16 пикселей. В отличие от этого, стандарт HEVC имеет единичные элементы кодирования и единичные элементы предсказания до 64×64 пикселей или, возможно, еще большие. В результате, в стандарте HEVC ограничение, наложенное на предельный объем данных в каждом блоке, является более сильным для удовлетворения некоторым требованиям, предъявляемым сетью, которые встречаются на практике, чем в стандарте H.264.
Другой проблемой, связанной с режимом ИКМ с внутрикадровым предсказанием в стандарте H.264, является то, что он является режимом без потерь. При кодировании без потерь закодированные данные могут быть точно восстановлены на стороне декодера. Следовательно, в кадре, который в ином случае закодирован с потерями, может появиться абсолютно неискаженный макроблок. Он может быть визуально шокирующим или, по меньшей мере, визуально заметным вследствие визуальных различий между данными без потерь и соседними данными с потерями.
Еще одна проблема, связанная со стандартом HEVC, состоит в том, что он может обеспечивать поддержку информационного содержимого с битовой глубиной 8 бит, 10 бит, 12 бит или с еще большей битовой глубиной. Поэтому передача единичного элемента кодирования размером 64×64 (или более) с 12 битами на каждую выборку может привести к нежелательному объему данных для режима ИКМ.
В этом изобретении, сущность которого здесь раскрыта, предложена концепция режима ИКМ с квантованием для использования в способах кодирования видеоинформации, например, согласно стандартам HEVC и H.264. В режиме ИКМ с квантованием видеокодер квантует блоки входных пикселей до применения кодирования с использованием ИКМ. Аналогичным образом, когда видеоданные были закодированы с использованием режима ИКМ с квантованием, видеодекодер сначала будет выполнять импульсную демодуляцию закодированных видеоданных и затем применять обратное квантование. В этом описании изобретения единичные элементы кодирования (в стандарте HEVC), единичные элементы предсказания (в стандарте HEVC), единичные элементы преобразования (в стандарте HEVC), макроблоки (в стандарте H.264) и разделы (в стандарте H.264) обычно именуют блоками.
Режим ИКМ с квантованием может обеспечить поддержку двух целевых установок. Во-первых, кодирование ИКМ с квантованием может позволять кодеру задавать гибкое ограничение максимального объема данных для единичного элемента кодирования в различных ситуациях, таких как, например, разные уровни, профили, скорости передачи кадров, параметры квантования (ПК), значения разрешающей способности и т.п. Без такого ограничения при кодировании с использованием ИКМ может быть превышен допустимый уровень битов кодирования для блока. Эта гибкость может быть достигнута путем применения контекстно-зависимых шагов квантования для управления битовой глубиной на выходе и, таким образом, максимальным объемом данных, созданным для видеоданных, закодированных с использованием ИКМ. Во-вторых, за счет введения потерь в способ ИКМ, кодирование с использованием ИКМ с квантованием может непосредственно уменьшать или устранять вероятность появления видеокадра, имеющего нежелательный визуальный внешний вид, который включает в себя как часть с потерями, так и часть без потерь.
На фиг.1 изображена блок-схема, на которой проиллюстрирована приведенная в качестве примера система 10 кодирования и декодирования видеоинформации, которая может быть сконфигурирована для использования способов импульсно-кодовой модуляции/демодуляции с квантованием в соответствии с примерами из этого изобретения, сущность которого здесь раскрыта. Как показано на фиг.1, система 10 включает в себя устройство-источник 12, которое передает закодированную видеоинформацию в устройство-адресат 14 по каналу 16 связи. Закодированная видеоинформация также может храниться на носителе 34 информации или в файловом сервере 36, и к ней при желании может осуществлять доступ устройство-адресат 14. Устройство-источник 12 и устройство-адресат 14 могут содержать любое из широкого разнообразия устройств, в том числе настольные компьютеры, блокнотные (то есть, портативные) компьютеры, планшетные компьютеры, компьютерные приставки к телевизору, телефонные трубки, например, так называемые смартфоны, телевизоры, камеры, дисплеи, цифровые медиапроигрыватели, видеоигровые консоли и т.п. Во многих случаях такие устройства могут быть оснащены для беспроводной связи. Следовательно, канал 16 связи может содержать канал беспроводной связи, канал проводной связи или комбинацию каналов беспроводной и проводной связи, пригодную для передачи закодированных видеоданных. Аналогичным образом, доступ к файловому серверу 36 устройство-адресат 14 может осуществить через любое стандартное соединение для передачи данных, включая соединение с сетью Интернет. Оно может включать в себя канал беспроводной связи (например, соединение стандарта Wi-Fi), проводное соединение (например, цифровую абонентскую линию (DSL), кабельный модем и т.д.) или комбинацию обоих из них, пригодную для доступа к закодированным видеоданным, хранящимся в файловом сервере.
Согласно примерам из этого изобретения, сущность которого здесь раскрыта, способы импульсно-кодовой модуляции/демодуляции с квантованием могут быть применены для кодирования видеоинформации для обеспечения поддержки любого из множества мультимедийных приложений, таких как, например, эфирное телевещание, передачи кабельного телевидения, передачи спутникового телевидения, потоковая передача видеоинформации, например, через сеть Интернет, кодирование цифровой видеоинформации для хранения на носителе для хранения данных, декодирование цифровой видеоинформации, хранящейся на носителе для хранения данных, или иных приложений. В некоторых примерах система 10 может быть сконфигурирована так, что обеспечивает поддержку односторонней или двусторонней передачи видеоинформации для обеспечения поддержки таких областей применения, как, например, потоковая передача видеоинформации, воспроизведение видеоинформации, широковещательная передача видеоинформации и/или видеотелефония.
В примере из фиг.1 устройство-источник 12 включает в себя источник 18 видеоинформации, видеокодер 20, модулятор/демодулятор 22 и передатчик 24. В устройстве-источнике 12 источником 18 видеоинформации может являться, в том числе, такой источник, как, например, устройство видеосъемки, такое как, например, видеокамера, видеоархив, содержащий ранее снятую видеоинформацию, интерфейс с внешним источником видеоинформации, предназначенный для приема видеоинформации от поставщика видеоконтента, и/или система компьютерной графики, предназначенная для генерации данных компьютерной графики в качестве источника видеоинформации, или комбинация таких источников. В качестве одного из примеров, если источником 18 видеоинформации является видеокамера, то устройство-источник 12 и устройство-адресат 14 могут представлять собой так называемые телефоны с камерой или видеотелефоны. Однако, способы, описанные в этом изобретении, сущность которого здесь раскрыта, могут быть применены для кодирования видеоинформации в целом и могут быть применены для областей применения с беспроводной и/или проводной связью.
Снятая, заранее снятая или созданная посредством компьютера видеоинформация может быть закодирована видеокодером 20. Закодированная видеоинформация может быть промодулирована модемом 22 согласно стандарту связи, например, согласно протоколу беспроводной связи, и передана в устройство-адресат 14 через передатчик 24. Модем 22 может включать в себя различные смесители, фильтры, усилители или иные компоненты, предназначенные для модуляции сигнала. Передатчик 24 может включать в себя схемы, предназначенные для передачи данных, в том числе усилители, фильтры и одну или большее количество антенн.
Снятая, заранее снятая или созданная посредством компьютера видеоинформация, закодированная видеокодером 20, также может быть сохранена на носителе 34 информации или в файловом сервере 36 для использования впоследствии. Носителем 34 информации могут являться, в том числе диски формата Blu-ray, универсальные цифровые диски (DVD), постоянные запоминающие устройства на компакт-диске (CD-ROM), флэш-память или любые иные подходящие цифровые носители информации, предназначенные для хранения закодированной видеоинформации. Устройство-адресат 14 может затем осуществлять доступ к закодированной видеоинформации, хранящейся на носителе 34 информации, для ее декодирования и воспроизведения.
Файловым сервером 36 может являться сервер любого типа, способный обеспечивать хранение закодированной видеоинформации и передачу этой закодированной видеоинформации в устройство-адресат 14. Примерами файловых серверов являются, в том числе, Web-сервер (например, для веб-сайта), FTP-сервер, устройства хранения данных, подключенные к сети (NAS), локальный дисковод или устройство любого иного типа, способное хранить закодированные видеоданные и передавать их в устройство-адресат. Передачей закодированных видеоданных из файлового сервера 36 может являться потоковая передача, передача путем загрузки или комбинация обоих этих видов передачи. Устройство-адресат 14 может осуществлять доступ к файловому серверу 36 через любое стандартное соединение для передачи данных, включая соединение с сетью Интернет. Оно может включать в себя канал беспроводной связи (например, соединение стандарта Wi-Fi), проводное соединение (например, цифровую абонентскую линию (DSL), кабельный модем, соединение с сетью стандарта Ethernet, универсальную последовательную шину (USB) и т.д.) или комбинацию обоих из них, пригодную для доступа к закодированным видеоданным, хранящимся в файловом сервере.
В примере из фиг.1 устройство-адресат 14 включает в себя приемник 26, модем 28, видеодекодер 30 и дисплей 32. Приемник 26 из устройства-адресата 14 принимает информацию по каналу 16, а модем 28 выполняет демодуляцию информации для создания демодулированного потока битов для видеодекодера 30. Информация, переданная по каналу 16, может включать в себя разнообразную информацию синтаксиса, сгенерированную видеокодером 20 для ее использования видеодекодером 30 при декодировании видеоданных. Такой синтаксис также может содержаться в закодированных видеоданных, хранящихся на носителе 34 информации или в файловом сервере 36. Каждое из устройств, которыми являются видеокодер 20 и видеодекодер 30, может являться частью соответствующего кодера-декодера (CODEC), способного выполнять кодирование или декодирование видеоданных.
Дисплей 32 может являться встроенным в устройство-адресат 14 или являться внешним к нему. В некоторых примерах устройство-адресат 14 может включать в себя встроенный дисплей и также может быть сконфигурировано для взаимодействия с внешним дисплеем. В других примерах устройством-адресатом 14 может являться дисплей. В общем, дисплей 32 отображает декодированные видеоданные для пользователя и может содержать любой из множества дисплеев, такой как, например, жидкокристаллический дисплей (ЖКД), плазменный дисплей, дисплей на органических светодиодах (OLED) или дисплей иного типа.
В примере из фиг.1 канал 16 связи может содержать любое средство беспроводной или проводной связи, такое как, например, радиочастотный (РЧ) спектр, или одну или большее количество физических линий передачи, или любую комбинацию средств беспроводной и проводной связи. Канал 16 связи может являться частью сети с коммутацией пакетов, такой как, например, локальная сеть, региональная сеть или глобальная сеть, такая как, например, сеть Интернет. Канал 16 связи обычно представляет собой любое подходящее средство связи или совокупность различных средств связи для передачи видеоданных из устройства-источника 12 в устройство-адресат 14, включая любую подходящую комбинацию средств проводной или беспроводной связи. Канал 16 связи может включать в себя маршрутизаторы, коммутаторы, базовые станции или любое иное оборудование, которое может быть полезным для облегчения передачи информации из устройства-источника 12 в устройство-адресат 14.
Видеокодер 20 и видеодекодер 30 могут функционировать согласно стандарту сжатия видеоинформации, такому как, например, разрабатываемый в настоящее время стандарт высокопроизводительного кодирования видеоинформации (HEVC), и могут соответствовать тестовой модели стандарта HEVC (HM). В альтернативном варианте видеокодер 20 и видеодекодер 30 могут функционировать согласно другим отраслевым или промышленным стандартам, таким как, например, стандарт ITU-T H.264, иначе именуемый стандартом MPEG-4, раздел 10, усовершенствованное кодирование видеоинформации (AVC) или расширенные версии этих стандартов. Тем не менее, способы из этого изобретения, сущность которого здесь раскрыта, не ограничены каким-либо конкретным стандартом кодирования. Другими примерами являются, в том числе, стандарт MPEG-2 и стандарт ITU-T H.263.
Хотя это и не показано на фиг.1, в некоторых аспектах изобретения каждое из устройств, которыми являются видеокодер 20 и видеодекодер 30, может быть объединено с кодером звука и с декодером звука и может включать в себя надлежащие блоки мультиплексирования-демультиплексирования (MUX-DEMUX) или иное аппаратное и программное обеспечение для обеспечения кодирования как звуковой информации, так и видеоинформации в общий поток данных или в раздельные потоки данных. Если это возможно, то в некоторых примерах блоки мультиплексирования-демультиплексирования (MUX-DEMUX) могут соответствовать протоколу мультиплексора согласно стандарту ITU H.223 или иным протоколам, таким как, например, протокол передачи дейтаграмм пользователя (UDP).
Каждое из устройств, которыми являются видеокодер 20 и видеодекодер 30, может быть реализовано в виде любой из множества походящих схем кодера, например, в виде одного или большего количества следующих устройств: микропроцессоров, устройств цифровой обработки сигналов (DSP), специализированных интегральных схем (ASIC), программируемых пользователем вентильных матриц (FPGA), дискретной логики, программного обеспечения, аппаратных средств, аппаратно-реализованного программного обеспечения или любых их комбинаций. Когда способы частично реализованы посредством программного обеспечения, устройство может хранить команды для программного обеспечения на подходящем постоянном считываемом посредством компьютера носителе информации и выполнять эти команды аппаратными средствами с использованием одного или большего количества процессоров для выполнения способов из этого изобретения, сущность которого здесь раскрыта. Каждое из устройств, которыми являются видеокодер 20 и видеодекодер 30, может содержаться в одном или в большем количестве кодеров или декодеров, любой из которых может быть встроен как часть объединенного кодера/декодера (CODEC) в соответствующее устройство.
Видеокодер 20 может реализовывать любой из способов из этого изобретения, сущность которого здесь раскрыта, или все эти способы для использования режима ИКМ с квантованием в процедуре кодирования видеоинформации. Аналогичным образом, видеодекодер 30 может реализовать любой из этих способов или все эти способы для использования режима ИКМ с квантованием в процедуре декодирования видеоинформации. Видеокодер, описанный в этом изобретении, сущность которого здесь раскрыта, может относиться к видеокодеру или к видеодекодеру. Аналогичным образом, видеокодер и видеодекодер могут именоваться, соответственно, блоками кодирования видеоинформации и блоками декодирования видеоинформации. Аналогичным образом, термин "кодирование видеоинформации" может относиться к кодированию видеоинформации или к декодированию видеоинформации.
На фиг.2 изображена блок-схема, на которой проиллюстрирован приведенный в качестве примера видеокодер 20, в котором могут использоваться способы для режима ИКМ с квантованием в способе кодирования видеоинформации, описанном в этом изобретении, сущность которого здесь раскрыта. Описание видеокодера 20 будет приведено в иллюстративных целях применительно к стандарту кодирования HEVC, но это не ограничивает настоящее изобретение, сущность которого здесь раскрыта, режим ИКМ с квантованием может оказаться полезным в других стандартах или способах кодирования. В дополнение к кодированию видеоинформации путем ИКМ с квантованием видеокодер 20 может выполнять кодирование единичных элементов кодирования внутри видеокадров с внутрикадровым и с межкадровым предсказанием.
Кодирование с внутрикадровым предсказанием основано на предсказании по пространству для уменьшения или устранения пространственной избыточности в видеоинформации в конкретном видеокадре. Кодирование с межкадровым предсказанием основано на предсказании по времени для уменьшения или устранения временной избыточности между текущим кадром и предварительно закодированными кадрами видеопоследовательности. Режим с внутрикадровым предсказанием (I-режим) может относиться к любым из нескольких режимов сжатия видеоинформации по пространству. Режимы с межкадровым предсказанием, такие как, например, предсказание в одном направлении (P-режим) или предсказание в двух направлениях (B-режим), могут относиться к любому из нескольких режимов сжатия видеоинформации по времени.
Как показано на фиг.2, видеокодер 20 принимает текущий блок видеоинформации в видеокадре, подлежащем кодированию. В примере из фиг.2 видеокодер 20 включает в себя блок 44 компенсации движения, блок 42 оценки параметров движения, блок 46 внутрикадрового предсказания, блок 47 ИКМ с квантованием, буфер 64 для опорных кадров, сумматор 50, блок 52 преобразования, блок 54 квантования пре