УСТРОЙСТВО ВИДЕОКОДИРОВАНИЯ, УСТРОЙСТВО ВИДЕОДЕКОДИРОВАНИЯ, СПОСОБ ВИДЕОКОДИРОВАНИЯ, СПОСОБ ВИДЕОДЕКОДИРОВАНИЯ, ПРОГРАММА ВИДЕОКОДИРОВАНИЯ И ПРОГРАММА ВИДЕОДЕКОДИРОВАНИЯ
VIDEO ENCODING DEVICE, VIDEO DECODING DEVICE, VIDEO ENCODING METHOD, VIDEO DECODING METHOD, VIDEO ENCODING PROGRAMME AND VIDEO DECODING PROGRAMME

ОБЛАСТЬ ТЕХНИКИ
Настоящее изобретение относится к устройству видеокодирования, устройству видеодекодирования, способу видеокодирования, способу видеодекодирования, программе видеокодирования и программе видеодекодирования, использующим технологию видеокодирования, которая использует компенсацию движения.
Приоритет испрашивается по заявке на патент Японии № 2011-144122, поданной 29 июня 2011 г., содержание которой включено в настоящий документ по ссылке.
УРОВЕНЬ ТЕХНИКИ
Одной из важных элементных технологий в видеокодировании, представленном стандартом H.264, является межкадровое предсказание с компенсацией движения. Чтобы эффективно кодировать вектор движения (MV) в межкадровом предсказании с компенсацией движения, выполняется кодирование MV с предсказанием (например, см. непатентный документ 1). Фиг. 13 представляет собой блок-схему, иллюстрирующую конфигурацию устройства видеокодирования, использующего компенсацию движения, в соответствии с известным уровнем техники. На фиг. 13 узел 300 кодирования, основанный на компенсации движения, выполняет кодирование, основываясь на компенсации движения. Узел 310 оценки движения оценивает движение изображения посредством поиска движения. Узел 320 хранения MV (motion vector) хранит MV, вычисленный посредством оценки движения.
Узел 330 предсказания MV предсказывает MV из кодированной информации предсказания MV для кодирования MV с предсказанием. Узел 331 извлечения MV из опорного блока извлекает MV из опорного блока для использования при предсказании MV. Узел 332 вычисления медианы вычисляет медиану MV, извлеченного из опорного блока. Узел 340 вычисления остатка предсказания вычисляет разность между MV и предсказанным MV (ниже в данном документе упоминаемым как предсказанный вектор). Узел 350 выделения кода выводит кодированный поток посредством выделения кода с переменной длиной слова квантованному коэффициенту преобразования или сигналу остатка предсказания (упоминаемому как вектор ошибки предсказания) MV.
Когда вводится видеосигнал целевого блока кодирования, узел 310 оценки движения выполняет поиск движения посредством сопоставления введенного видеосигнала с декодированным сигналом кодированного опорного изображения и вычисляет MV. Вычисленный MV вводится в узел 300 кодирования, основываясь на компенсации движения. В узле 300 кодирования, основываясь на компенсации движения, остаточный сигнал между видеосигналом и предсказанным сигналом получается посредством компенсации движения, используя MV, и кодируется ортогональным предсказанием, квантуется или т.п. Квантованное значение результата обработки или т.п. кодируется узлом 350 выделения кода, и кодированное квантованное значение выводится в качестве кодированного потока. С другой стороны, кодирование с предсказанием также выполняется для уменьшения количества битов кода для MV. Вследствие этого, MV, вычисленный узлом 310 оценки движения, сохраняется в узле 320 хранения MV для ссылки в будущем. Узел 330 предсказания MV вычисляет предсказанный вектор, используя кодированный MV.
При предсказании MV в узле 330 предсказания MV сначала узел 331 извлечения MV из опорного блока извлекает MV из узла 320 хранения MV посредством обозначения кодированных блоков вблизи целевого блока B0 предсказания (целевого блока кодирования) целевого изображения кодирования (также упоминаемого как целевой видеокадр или кадр кодирования), изображенных на фиг. 14 в виде опорных блоков B1-B3. Фиг. 14 представляет собой диаграмму, иллюстрирующую пример целевого блока предсказания целевого изображения кодирования.
Затем узел 332 вычисления медианы вычисляет медианы составляющих MV опорных блоков B1-B3 и генерирует предсказанный вектор из вычисленных медиан. Способ генерирования предсказанного вектора упоминается как пространственное медианное предсказание. Узел 340 вычисления остатка предсказания вычисляет разность (вектор ошибки предсказания) между MV и предсказанным MV и передает вектор ошибки предсказания узлу 350 выделения кода. Вектор ошибки предсказания кодируется узлом 350 выделения кода с переменной длиной слова, и кодированный вектор ошибки предсказания выводится в виде кодированного потока.
Фиг. 15 представляет собой блок-схему, иллюстрирующую конфигурацию устройства видеодекодирования, использующего компенсацию движения известного уровня техники. На фиг. 15 узел 400 декодирования с переменной длиной слова декодирует код с переменной длиной слова кодированного потока. Узел 410 вычисления MV суммирует вектор ошибки предсказания с предсказанным вектором. Узел 420 хранения MV хранит MV. Узел 430 предсказания MV предсказывает MV, используя декодированную информацию. Узел 431 извлечения MV из опорного блока извлекает MV из опорного блока для использования при предсказании MV. Узел 432 вычисления медианы вычисляет медиану составляющей MV, извлеченную из опорного блока. Узел 440 декодирования, основываясь на компенсации движения, выполняет компенсацию движения, используя вычисленный MV, и выводит декодированный видеосигнал посредством декодирования целевого блока декодирования.
Когда вводится кодированный поток, узел 400 декодирования с переменной длиной слова декодирует код с переменной длиной слова кодированного потока, передает квантованный коэффициент преобразования целевого блока декодирования узлу 440 декодирования, основываясь на компенсации движения, и передает вектор ошибки предсказания на узел 410 вычисления MV. Узел 410 вычисления MV суммирует вектор ошибки предсказания с предсказанным вектором, полученным из декодированного MV, и вычисляет MV. Вычисленный MV передается на узел 440 декодирования, основываясь на компенсации движения, и сохраняется в узле 420 хранения MV. Узел 440 декодирования, основываясь на компенсации движения, выполняет компенсацию движения, используя вычисленный MV, и выводит декодированный видеосигнал посредством декодирования целевого блока декодирования.
Процесс предсказания MV узла 430 предсказания MV в устройстве видеодекодирования, по существу, такой же, что и процесс узла 330 предсказания MV в устройстве видеокодирования, изображенном на фиг. 13. Фиг. 16 представляет собой блок-схему, иллюстрирующую конфигурацию узла предсказания MV по направлению времени известного уровня техники.
При кодировании согласно стандарту H.264, в качестве одного из режимов кодирования при кодировании B-видеокадра, используется режим кодирования, который упоминается как прямой режим, в котором информация движения предсказывается и генерируется из информации движения кодированного блока, и в котором исключается кодирование информации движения. Прямой режим включает в себя пространственный прямой режим, использующий, главным образом, информацию движения в направлении пространства, и временной прямой режим, использующий, главным образом, информацию движения направления времени. При предсказании MV во временном прямом режиме узел 500 предсказания MV вычисляет предсказанный вектор следующим образом.
Узел 501 извлечения MV из базового блока извлекает MV mvCol из блока (упоминаемого как базовый блок) в том же положении, что и целевой блок предсказания в базовом видеокадре из узла 510 хранения MV. Базовый видеокадр представляет собой видеокадр, имеющий MV, когда получают MV в прямом режиме. Обычно, базовый видеокадр представляет собой задний опорный видеокадр, ближайший к целевому видеокадру кодирования в порядке отображения. Затем узел 502 предсказания при помощи экстраполяции вычисляет MV mvL0 и MV mvL1 L1 из MV mvCol посредством пропорционального распределения в соответствии с временными интервалами опорного видеокадра L0, целевого видеокадра кодирования и базового видеокадра.
Также, так как можно выбрать максимум два видеокадра из произвольного опорного видеокадра в B-видеокадре, два видеокадра различаются как L0 и L1, предсказание, используемое, главным образом, в прямом направлении, упоминается как предсказание L0, и предсказание, используемое, главным образом, в обратном направлении, упоминается как предсказание L1. Узел 500 предсказания MV выводит MV mvL0 и MV mvL1, вычисленные узлом 502 предсказания при помощи экстраполяции в качестве предсказанных векторов. Кроме того, существует способ обозначения MV mvCol в качестве предсказанного вектора. Способ генерирования предсказанного вектора упоминается как совмещенное предсказание.
[ДОКУМЕНТЫ ИЗВЕСТНОГО УРОВНЯ ТЕХНИКИ]
[НЕПАТЕНТНЫЙ ДОКУМЕНТ]
[НЕПАТЕНТНЫЙ ДОКУМЕНТ 1]
H.264/AVC textbook (third revised edition), Sumino Shinya, et al., Impress R&D, pp.128-130, 2008.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
[ПРОБЛЕМЫ, РЕШАЕМЫЕ ИЗОБРЕТЕНИЕМ]
В этой связи, при кодировании MV в соответствии с устройством видеокодирования, использующим компенсацию движения в известном уровне техники, существует проблема в том, что предсказанный вектор генерируется из MV пространственного соседнего блока, разностный вектор между предсказанным вектором и MV целевого блока кодирования обозначается как цель кодирования, и горизонтальная составляющая и вертикальная составляющая MV предсказываются одновременно. Когда кодирование выполняется в порядке горизонтальной составляющей и вертикальной составляющей MV (а также тогда, когда кодирование выполняется в порядке вертикальной составляющей и горизонтальной составляющей), сгенерированные кодированные данные декодируются в порядке горизонтальной составляющей и вертикальной составляющей на стороне декодирования. Из-за этого, уже декодированная горизонтальная составляющая является доступной, когда декодируется вертикальная составляющая MV. Кроме того, так как кодирование MV представляет собой кодирование без потерь, горизонтальная составляющая MV, доступная на стороне декодирования, является той же, что и значение, кодированное стороной кодирования.
Однако, так как каждая составляющая MV предсказывается независимо и кодируется при кодировании MV известного уровня техники, трудно в достаточной степени использовать корреляцию между составляющими MV. Из-за этого существует потребность в повышении эффективности кодирования MV.
Настоящее изобретение было сделано с учетом таких обстоятельств, и задачей изобретения является обеспечение устройства видеокодирования, способа видеокодирования и программы видеокодирования, способных повышать эффективность кодирования MV и дополнительно уменьшать количество битов MV больше, чем известный уровень техники, и устройства видеодекодирования, способа видеодекодирования и программы видеодекодирования, используемых для декодирования изображения, кодированного устройством видеокодирования, способом видеокодирования и программой видеокодирования.
[СРЕДСТВА ДЛЯ РЕШЕНИЯ ПРОБЛЕМЫ]
Согласно настоящему изобретению обеспечивается устройство видеокодирования, использующее межкадровое предсказание с компенсацией движения для каждого блока посредством деления изображения на блоки, причем каждый имеет заданный размер, обозначения значения одной составляющей из множества значений составляющей MV между целевым блоком кодирования и соседним блоком в качестве значения первой составляющей, обозначения значения другой составляющей в качестве значения второй составляющей и кодирования каждого из значения первой составляющей и значения второй составляющей, причем устройство видеокодирования включает в себя: средство кодирования первой составляющей, которое получает разностное значение первой составляющей, которое представляет собой разностное значение между предсказанным значением значения первой составляющей MV целевого блока кодирования, сгенерированного из значения первой составляющей MV соседнего блока, и значением первой составляющей MV целевого блока кодирования, и кодирует разностное значение первой составляющей; и средство кодирования второй составляющей, которое получает вероятность появления значения-кандидата для значения второй составляющей MV целевого блока кодирования, основываясь на разностном значении между значением первой составляющей MV соседнего блока и значением первой составляющей MV целевого блока кодирования и значении второй составляющей MV соседнего блока, задает кодовое слово значения второй составляющей, основываясь на вероятности появления, и кодирует значение второй составляющей.
Согласно настоящему изобретению обеспечивается устройство видеодекодирования, которое декодирует изображение, кодированное с использованием межкадрового предсказания с компенсацией движения для каждого блока посредством деления изображения на блоки, причем каждый имеет заданный размер, обозначения значения одной составляющей из множества значений составляющей MV между целевым блоком кодирования и соседним блоком в качестве значения первой составляющей, обозначения значения другой составляющей в качестве значения второй составляющей, и кодирования каждого из значения первой составляющей и значения второй составляющей, причем устройство видеодекодирования включает в себя: средство декодирования первой составляющей, которое генерирует значение первой составляющей посредством декодирования разностного значения первой составляющей и суммирования с ним предсказанного значения для значения первой составляющей MV целевого блока кодирования, сгенерированного из значения первой составляющей MV соседнего блока; и средство декодирования второй составляющей, которое получает вероятность появления значения-кандидата для значения второй составляющей MV целевого блока кодирования, основываясь на разностном значении между значением первой составляющей MV соседнего блока и значением первой составляющей MV целевого блока кодирования, и значении второй составляющей MV соседнего блока, идентифицирует отношение соответствия между значением второй составляющей и кодовым словом значения второй составляющей, основываясь на вероятности появления, и декодирует кодовое слово значения второй составляющей, заданного в качестве кодированных данных, в значение второй составляющей.
Согласно настоящему изобретению обеспечивается способ видеокодирования, использующий межкадровое предсказание с компенсацией движения для каждого блока посредством деления изображения на блоки, причем каждый имеет заданный размер, обозначения значения одной составляющей из множества значений составляющей MV между целевым блоком кодирования и соседним блоком в качестве значения первой составляющей, обозначения значения другой составляющей в качестве значения второй составляющей, и кодирования каждого из значения первой составляющей и значения второй составляющей, причем способ видеокодирования включает в себя: этап кодирования первой составляющей для получения разностного значения первой составляющей, которое представляет собой разностное значение между предсказанным значением значения первой составляющей MV целевого блока кодирования, сгенерированного из значения первой составляющей MV соседнего блока и значения первой составляющей MV целевого блока кодирования, и кодирования разностного значения первой составляющей; и этап кодирования второй составляющей для получения вероятности появления значения-кандидата для значения второй составляющей MV целевого блока кодирования, основываясь на разностном значении между значением первой составляющей MV соседнего блока и значением первой составляющей MV целевого блока кодирования, и значении второй составляющей MV соседнего блока, задания кодового слова значения второй составляющей, основываясь на вероятности появления, и кодирования значения второй составляющей.
Согласно настоящему изобретению обеспечивается способ видеодекодирования для декодирования изображения, кодированного с использованием межкадрового предсказания с компенсацией движения для каждого блока посредством деления изображения на блоки, причем каждый имеет заданный размер, обозначения значения одной составляющей из множества значений составляющей MV между целевым блоком кодирования и соседним блоком в качестве значения первой составляющей, обозначения значения другой составляющей в качестве значения второй составляющей, и кодирования каждого из значения первой составляющей и значения второй составляющей, причем способ видеодекодирования включает в себя: этап декодирования первой составляющей для генерирования значения первой составляющей посредством декодирования разностного значения первой составляющей и суммирования предсказанного значения для значения первой составляющей MV целевого блока кодирования, сгенерированного из значения первой составляющей MV соседнего блока, с разностным значением первой составляющей; и этап декодирования второй составляющей для получения вероятности появления значения-кандидата для значения второй составляющей MV целевого блока кодирования, основываясь на разностном значении между значением первой составляющей MV соседнего блока и значением первой составляющей MV целевого блока кодирования и значении второй составляющей MV соседнего блока, идентификации отношения соответствия между значением второй составляющей и кодовым словом значения второй составляющей, основываясь на вероятности появления, и декодирования кодового слова значения второй составляющей, заданного в качестве кодированных данных, в значение второй составляющей.
Согласно настоящему изобретению обеспечивается программа видеокодирования, используемая для того, чтобы вызывать выполнение компьютером на устройстве видеокодирования, которое использует межкадровое предсказание с компенсацией движения для каждого блока посредством деления изображения на блоки, причем каждый имеет заданный размер, обозначения значения одной составляющей из множества значений составляющей MV между целевым блоком кодирования и соседним блоком в качестве значения первой составляющей, обозначения значения другой составляющей в качестве значения второй составляющей, и кодирования каждого из значения первой составляющей и значения второй составляющей, процесса кодирования изображения, включающего в себя: этап кодирования первой составляющей для получения разностного значения первой составляющей, которое представляет собой разностное значение между предсказанным значением значения первой составляющей MV целевого блока кодирования, сгенерированного из значения первой составляющей MV соседнего блока, и значением первой составляющей MV целевого блока кодирования, и кодирования разностного значения первой составляющей; и этап кодирования второй составляющей для получения вероятности появления значения-кандидата для значения второй составляющей MV целевого блока кодирования, основываясь на разностном значении между значением первой составляющей MV соседнего блока и значением первой составляющей MV целевого блока кодирования и значении второй составляющей MV соседнего блока, задания кодового слова значения второй составляющей, основываясь на вероятности появления, и кодирования значения второй составляющей.
Согласно настоящему изобретению обеспечивается программа видеодекодирования, используемая для того, чтобы вызывать выполнение компьютером на устройстве видеодекодирования, которое декодирует изображение, кодированное с использованием межкадрового предсказания с компенсацией движения для каждого блока посредством деления изображения на блоки, причем каждый имеет заданный размер, обозначения значения одной составляющей из множества значений составляющей MV между целевым блоком кодирования и соседним блоком в качестве значения первой составляющей, обозначения значения другой составляющей в качестве значения второй составляющей, и кодирования каждого из значения первой составляющей и значения второй составляющей, процесса видеодекодирования, включающего в себя: этап декодирования первой составляющей для генерирования значения первой составляющей посредством декодирования разностного значения первой составляющей и суммирования предсказанного значения для значения первой составляющей MV целевого блока кодирования, сгенерированного из значения первой составляющей MV соседнего блока, с разностным значением первой составляющей; и этап декодирования второй составляющей для получения вероятности появления значения-кандидата для значения второй составляющей MV целевого блока кодирования, основываясь на разностном значении между значением первой составляющей MV соседнего блока и значением первой составляющей MV целевого блока кодирования и значении второй составляющей MV соседнего блока, идентификации отношения соответствия между значением второй составляющей и кодовым словом значения второй составляющей, основываясь на вероятности появления, и декодирования кодового слова значения второй составляющей, заданного в качестве кодированных данных, в значение второй составляющей.
[ЭФФЕКТЫ ИЗОБРЕТЕНИЯ]
Согласно устройству видеокодирования, ассоциированному с вариантом осуществления настоящего изобретения, имеется полезный эффект в том, что сгенерированное количество битов кодирования (кодировки) в процессе видеокодирования может быть уменьшена, так как может быть уменьшено количество битов MV.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 представляет собой блок-схему, иллюстрирующую конфигурацию устройства видеокодирования в варианте осуществления настоящего изобретения.
Фиг. 2 представляет собой блок-схему, иллюстрирующую конфигурацию устройства видеодекодирования в варианте осуществления настоящего изобретения.
Фиг. 3 представляет собой блок-схему, иллюстрирующую конфигурацию узла предсказания MV, изображенного на фиг. 1.
Фиг. 4 представляет собой блок-схему последовательности действий, иллюстрирующую операцию обработки узла предсказания вектора, изображенного на фиг. 3.
Фиг. 5 представляет собой блок-схему, иллюстрирующую конфигурацию, полученную модифицированием узла предсказания вектора, изображенного на фиг. 3.
Фиг. 6 представляет собой блок-схему последовательности действий, иллюстрирующую операцию обработки узла предсказания вектора, изображенного на фиг. 5.
Фиг. 7 представляет собой блок-схему, иллюстрирующую конфигурацию узла предсказания MV, изображенного на фиг. 2.
Фиг. 8 представляет собой блок-схему последовательности действий, иллюстрирующую операцию обработки узла предсказания вектора, изображенного на фиг. 7.
Фиг. 9 представляет собой блок-схему, иллюстрирующую конфигурацию, полученную модифицированием узла предсказания вектора, изображенного на фиг. 7.
Фиг. 10 представляет собой блок-схему последовательности действий, иллюстрирующую операцию обработки узла предсказания вектора, изображенного на фиг. 9.
Фиг. 11 представляет собой пояснительную диаграмму, иллюстрирующую пример, в котором устанавливается соседний блок.
Фиг. 12 представляет собой блок-схему, иллюстрирующую конфигурацию системы передачи изображения.
Фиг. 13 представляет собой блок-схему, иллюстрирующую конфигурацию устройства видеокодирования, использующего компенсацию движения, согласно известному уровню техники.
Фиг. 14 представляет собой пояснительную диаграмму, иллюстрирующую пример целевого блока предсказания целевого изображения кодирования.
Фиг. 15 представляет собой блок-схему, иллюстрирующую конфигурацию устройства видеодекодирования, использующего компенсацию изображения, согласно известному уровню техники.
Фиг. 16 представляет собой блок-схему, иллюстрирующую конфигурацию узла предсказания MV по направлению времени известного уровня техники.
ВАРИАНТЫ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
Ниже в данном документе описываются устройство видеокодирования и устройство видеодекодирования согласно варианту осуществления настоящего изобретения со ссылкой на чертежи. Фиг. 1 представляет собой блок-схему, иллюстрирующую конфигурацию устройства видеокодирования в варианте осуществления настоящего изобретения. В данном варианте осуществления устройство 1 видеокодирования имеет узел 30 предсказания MV в качестве части, отличающейся от известного уровня техники, и другие части являются такими же, что и в конфигурации обычного устройства видеокодирования известного уровня техники, используемого в качестве кодеров стандарта H.264 и других. Устройство 1 видеокодирования принимает ввод видеосигнала, который должен быть кодирован, кодирует каждый блок посредством деления кадра введенного видеосигнала на блоки и выводит битовый поток в качестве кодированного потока. Для данного кодирования узел 10 вычисления сигнала остатка предсказания получает разность между введенным видеосигналом и предсказанным сигналом, которая представляет собой выходной сигнал узла 19 компенсации движения, и выводит разность в качестве сигнала остатка предсказания. Узел 11 ортогонального преобразования выполняет ортогональное предсказание, такое как дискретное косинусное преобразование (DCT), в отношении сигнала остатка предсказания и выводит коэффициент преобразования. Узел 12 квантования квантует коэффициент преобразования и выводит квантованный коэффициент преобразования. Узел 13 выделения кода выполняет энтропийное кодирование в отношении квантованного коэффициента преобразования и выводит результат энтропийного кодирования в качестве кодированного потока.
С другой стороны, квантованный коэффициент преобразования также вводится в узел 14 обратного квантования и обратно квантуется в нем. Узел 15 обратного ортогонального преобразования выполняет обратное ортогональное преобразование в отношении коэффициента преобразования, который является выходным сигналом узла 14 обратного квантования, и выводит декодированный сигнал остатка предсказания. Узел 16 вычисления декодированного сигнала суммирует декодированный сигнал остатка предсказания с предсказанным сигналом, который представляет собой выходной сигнал узла 19 компенсации движения, и генерирует декодированный сигнал из кодированного целевого блока кодирования. Декодированный сигнал сохраняется в памяти 17 кадров, так что декодированный сигнал используется в качестве опорного изображения компенсации движения в узле 19 компенсации движения. Узел 18 оценки движения выполняет поиск движения посредством ссылки на опорное изображение, хранимое в памяти 17 кадров, в отношении видеосигнала целевого блока кодирования, и вычисляет MV. MV представляет собой выходной сигнал узла 19 компенсации движения и узла 32 вычисления вектора ошибки предсказания и сохраняется в узле 31 хранения MV. Узел 19 компенсации движения выводит предсказанный сигнал целевого блока кодирования посредством ссылки на изображение в памяти 17 кадров, используя MV, полученный узлом 18 оценки движения.
Чтобы выполнить кодирование с предсказанием в отношении MV, используемого при компенсации движения, MV предсказывается с использованием информации, кодированной узлом 30 предсказания MV, разность между MV, используемым при компенсации движения, и предсказанным MV (упоминаемым как предсказанный вектор) вычисляется узлом 32 вычисления вектора ошибки предсказания, и результат выводится на узел 13 выделения кода в качестве вектора ошибки предсказания. Узел 13 выделения кода также выделяет код вектору ошибки предсказания посредством энтропийного кодирования и выводит результат назначения в качестве кодированного потока.
Фиг. 2 представляет собой блок-схему, иллюстрирующую конфигурацию устройства видеодекодирования в варианте осуществления настоящего изобретения.
Устройство 2 видеодекодирования имеет узел 28 предсказания MV в качестве части, отличающейся от известного уровня техники, и другие части являются теми же, что и в конфигурации обычного устройства видеодекодирования известного уровня техники, используемого в качестве декодеров стандарта H.264 и других. Устройство 2 видеодекодирования выводит видеосигнал декодированного изображения посредством приема и декодирования ввода кодированного потока, кодированного устройством 1 видеокодирования, изображенным на фиг. 1. Для данного декодирования узел 20 декодирования принимает ввод кодированного потока, выполняет энтропийное декодирование в отношении квантованного коэффициента преобразования целевого блока декодирования и декодирует вектор ошибки предсказания.
Узел 21 обратного квантования выводит декодированный коэффициент преобразования посредством приема ввода квантованного коэффициента преобразования и выполнения обратного квантования в отношении квантованного коэффициента преобразования. Узел 22 обратного ортогонального преобразования выполняет обратное ортогональное преобразование в отношении декодированного коэффициента преобразования и выводит декодированный сигнал ошибки предсказания. Узел 23 вычисления декодированного сигнала генерирует декодированный сигнал целевого блока декодирования посредством суммирования сигнала межкадрового предсказания, сгенерированного узлом 27 компенсации движения, с декодированным сигналу остатка предсказания. Декодированный сигнал выводится на внешнее устройство, такое как устройство отображения, и сохраняется в памяти 24 кадров, так что декодированный сигнал используется в качестве опорного изображения компенсации движения в узле 27 компенсации движения.
Узел 25 вычисления MV суммирует вектор ошибки предсказания, декодированный узлом 20 декодирования, с предсказанным вектором, вычисленным узлом 28 предсказания MV, и вычисляет MV, который должен быть использован при компенсации движения. MV хранится в узле 26 хранения MV и сообщается узлу 27 компенсации движения. Узел 27 компенсации движения выполняет компенсацию движения, основываясь на введенном MV, и генерирует сигнал межкадрового предсказания целевого блока декодирования посредством ссылки на опорное изображение памяти 24 кадров.
Сигнал межкадрового предсказания суммируется с декодированным сигналом остатка предсказания в узле 23 вычисления декодированного сигнала. Узел 28 предсказания MV предсказывает MV, используя декодированный MV, хранимый в узле 26 хранения MV, и выводит полученный предсказанный вектор на узел 25 вычисления MV.
Ниже описывается узел 30 предсказания MV, изображенный на фиг. 1, и узел 28 предсказания MV, изображенный на фиг. 2. Два узла 30 и 28 предсказания MV имеют одинаковые конфигурации и операции обработки. В нижеследующем описании две составляющие MV упоминаются как первая составляющая и вторая составляющая в порядке кодирования. Например, когда выполняется кодирование в порядке горизонтальной составляющей и вертикальной составляющей, горизонтальная составляющая является первой составляющей, и вертикальная составляющая является второй составляющей. Устройство видеокодирования в настоящем изобретении кодирует вторую составляющую, используя первую составляющую MV. Ниже в данном документе приводится описание посредством обозначения горизонтальной составляющей и вертикальной составляющей MV в качестве первой составляющей и второй составляющей соответственно. Однако первая составляющая и вторая составляющая могут выделяться обратным образом.
x
y
x
y
(m)
(m)
Сначала кратко описывается принцип операций обработки узлов 30 и 28 предсказания MV. Сначала устанавливаются M соседних блоков для кодирования целевого блока. Пример, в котором устанавливаются соседние блоки, изображен на фиг. 11(a), 11(b) и 11(c). Фиг. 11(a), 11(b) и 11(c) являются примерами, в которых для блока A устанавливаются два соседних блока (блоки B0 и B1), три соседних блока (блоки B0, B1 и B2) и четыре соседних блока (блоки B0, B1, B2 и B3). Также, соседние блоки не ограничиваются примерами этих же чертежей. Можно увеличить или уменьшить количество соседних блоков. MV выделяется кодированному целевому блоку и соседнему блоку. Предполагается, что MV целевого блока кодирования является (v, v), и MV m-го соседнего блока является (u , u ).Также, m=0, …, M-1.
Разностное значение в первой составляющей MV получается между целевым блоком кодирования и соседним блоком. Это упоминается как разностное значение первой составляющей. Набором разностных значений первой составляющей является следующий.
x
x
x
(m)
(m)
Здесь e =v-u . Величина разностного значения первой составляющей представляет подобие первых составляющих соответствующего соседнего блока и целевого блока кодирования, и также ожидается, что подобное подобие устанавливается для второй составляющей.
Следовательно, основываясь на разностном значении первой составляющей вероятность появления второй составляющей оценивается как в следующем выражении.
Здесь A представляет собой константу для нормализации, так что сумма устанавливается на 1 для x из p(x). Кроме того, f() использует следующее обобщенное гауссово распределение.
Здесь q представляет собой параметр, представляющий форму распределения, и λ представляет собой параметр, ассоциированный с дисперсией распределения. Кроме того, Γ(z) представляет собой гамма-функцию, определенную в выражении (2).
y
y
y
y
y
(m)
(m)
(m)
(m)
(m)
f(x-u ) имеет максимальное значение в u , и ее значение уменьшается в соответствии с удалением от u . Взвешенная сумма, полученная взвешиванием f(x-u ) посредством обратной величины разностного значения первой составляющей, представляет собой выражение (1). Т.е. большое значение p(x) выделяется вблизи u , где разностное значение первой составляющей является малым. Основываясь на выражении (1), вероятность появления сортируется в убывающем порядке, и значение после сортировки преобразуется в двоичное число, используя данную кодовую таблицу. В качестве примера кодовой таблицы можно применять код Голомба или экспоненциальный код Голомба.
Ниже описывается конфигурация узла 30 предсказания MV, изображенного на фиг. 1, со ссылкой на фиг. 3. Фиг. 3 представляет собой блок-схему, иллюстрирующую конфигурацию узла 30 предсказания MV, изображенного на фиг. 1. На фиг. 3 узел 100 хранения MV целевого блока кодирования хранит первую составляющую MV целевого блока кодирования и предсказанное значение для первой составляющей. Узел 101 считывания MV соседнего блока считывает MV обозначенного соседнего блока. Узел 102 хранения MV соседнего блока хранит MV соседнего блока. Узел 103 генерирования предсказанного значения принимает ввод первой составляющей MV соседнего блока и генерирует предсказанное значение для первой составляющей MV целевого блока кодирования. Предполагается, что способ генерирования предсказанного значения предоставляется заранее. Например, возможно применение пространственного медианного предсказания.
Узел 104 генерирования разностного значения принимает вводы первой составляющей MV целевого блока кодирования в узле 100 хранения MV целевого блока кодирования и предсказанного значения для первой составляющей, выводимого из узла 103 генерирования предсказанного значения, и выводит разностное значение между этими двумя. Узел 105 двоичного преобразования преобразует разностное значение, выводимое из узла 104 генерирования разностного значения, в двоичную последовательность.
Предполагается, что специфичное преобразование в двоичную последовательность предоставляется при кодировании. Например, используется код Голомба или экспоненциальный код Голомба. Ссылочная позиция 106 обозначает узел энтропийного кодирования, который выполняет энтропийное кодирование в отношении двоичной последовательности, выводимой из узла 105 двоичного преобразования. Предполагается, что конкретное энтропийное кодирование предоставляется во время кодирования. Например, используется контекстно-адаптивное двоичное арифметическое кодирование (CABAC), применяемое в H.264/AVC (усовершенствованное видеокодирование).
Узел 107 генерирования предсказанного значения принимает ввод второй составляющей MV соседнего блока и генерирует предсказанное значение для второй составляющей MV целевого блока кодирования. Предполагается, что способ генерирования предсказанного значения предоставляется заранее. Например, возможно применение пространственного медианного предсказания.
Узел 108 генерирования разностного значения принимает вводы второй составляющей MV целевого блока кодирования, хранимого в узле 100 хранения MV целевого блока кодирования, и предсказанного значения для второй составляющей, выводимого из узла 107 генерирования предсказанного значения, и выводит разностное значение между этими двумя. Узел 109 двоичного преобразования преобразует разностное значение, выводимое из узла 108 генерирования разностного значения, в двоичную последовательность. Предполагается, что специфичное преобразование в двоичную последовательность предоставляется во время кодирования. Например, используется код Голомба или экспоненциальный код Голомба. Узел 110 энтропийного кодирования выполняет энтропийное кодирование в отношении двоичной последовательности, выводимой из узла 109 двоичного преобразования. Предполагается, что специфичное энтропийное кодирование предоставляется во время кодирования. Например, используется CABAC, применяемое в H.264/AVC.
Ниже описывается операция обработки узла 30 предсказания вектора, изображенного на фиг. 3, со ссылкой на фиг. 4. Фиг. 4 представляет собой блок-схему последовательности действий, иллюстрирующую операцию обработки узла 30 предсказания вектора, изображенного на фиг. 3. Сначала узел 103 генерирования предсказанного значения считывает MV обозначенного соседнего блока (этап S1) и генерирует предсказанное значение для первой составляющей MV целевого блока кодирования из первой составляющей MV соседнего блока (этап S2). Предполагается, что способ генерирования предсказанного значения предоставляется заранее. Например, возможно применение вышеописанного пространственного медианного предсказания.
Затем узел 104 генерирования разностного значения генерирует разностное значение между двумя из первой составляющей MV целевого блока кодирования и предсказанного значения этой же составляющей (этап S3). Затем узел 105 двоичного преобразования преобразует сгенерированное разностное значение в двоичную последовательность (этап S4). Предполагается, что конкретное преобразование в двоичную последовательность предоставляется во время кодирования. Например, используется код Голомба или экспоненциальный код Голомба. Узел 106 энтропийного кодирования выполняет энтропийное кодирование в отношении двоичной последовательности и выводит результат энтропийного кодирования (этап S5). Предполагается, что конкретное энтропийное кодирование предоставляется во время кодирования. Например, используется CABAC, применяемое в H.264/AVC.
Параллельно данной операции узел 107 генерирования предсказанного значения считывает MV обозначенного соседнего блока и генерирует предсказанное значение для второй составляющей MV целевого блока кодирования из второй составляющей MV соседнего блока (этап S6). Предполагается, что способ генерирования предсказанного значения предоставляется заранее. Например, возможно применение вышеописанного пространственного медианного предсказания.
Затем узел 108 генерирования разностного значения генерирует разностное значение между двумя из второй составляющей MV целевого блока кодирования и предсказанного значения этой же составляющей (этап S7). Затем узел 109 двоичного преобразования преобразует сгенерированное разностное значение в двоичную последовательность (этап S8). Предполагается, что конкретное преобразование в двоичную последовательность предоставляется во время кодирования. Например, используется код Голомба или экспоненциальный код Голомба. Узел 110 энтропийного кодирования выполняет энтропийное кодирование в отношении двоичной последовательности и выводит результат энтропийного кодирования (этап S9). Предполагается, что конкретное энтропийное кодирование предоставляется во время кодирования. Например, используется CABAC, применяемое в H.264/AVC.
Ниже со ссылкой на фиг. 5 описывается конфигурация, создаваемая посредством модифицирования узла 30 предсказания вектора, изображенного на фиг. 3. Фиг. 5 представляет собой блок-схему, иллюстрирующую конфигурацию, создаваемую посредством модифицирования узла 30 предсказания вектора, изображенного на фиг. 3.
Частям, одинаковым с частями устройства, изображенного на фиг. 3, присвоены одинаковые ссылочные позиции на фиг. 5, и их описание опускается. Устройство, изображенное на фиг. 5, отличается от устройства, изображенного на фиг. 3, тем, что обеспечивается узел 111 генерирования разностного значения для первой составляющей, узел 112 оценки функции плотности вероятности второй составляющей и узел 113 генерирования карты двоичного преобразования.
Узел 111 генерирования разностного значения для первой составляющей считывает первую составляющую MV каждого соседнего блока, хранимого в узле 102 хранения MV соседнего блока, и первую составляющую MV целевого блока кодирования, хранимого в узле 100 хранения MV целевого блока кодирования, и выводит разностное значение первой составляющей MV каждого соседнего блока для первой составляющей MV целевого блока кодирования. Узел 112 оценки функции плотности вероятности второй составляющей выводит функцию плотности вероятности второй составляющей MV целевого блока кодирования согласно выражению (1) из выводимого разностного значения и второй составляющей MV каждого соседнего блока. Кроме того, предполагается, что параметры q и λ, используемые для задания обобщенного гауссова распределения, предоставляются извне.
Узел 113 генерирования карты двоичного преобразования сортирует значения-кандидаты для второй составляющей MV целевого блока кодирования в убывающем порядке в соответствии с вероятностью появления, используя выводимую функцию плотности вероятности, и получает ранжирования во всех векторах-кандидатах для второй составляющей MV целевого блока кодирования. Узел 109 двоичного преобразования принимает ввод ранжирования для второй составляющей MV, полученного в узле 113 генерирования карты двоичного преобразования, и преобразует это же ранжирование в двоичное число. Предполагается, что специфичное выделение двоичной последовательности для значения этого же ранжирования предоставляется во время кодирования. Например, используется код Голомба или экспоненциальный код Голомба.
Ниже описывается со ссылкой на фиг. 6 операция обработки узла 30 предсказания вектора, изображенного на фиг. 5. Фиг. 6 представляет собой блок-схему последовательности действий, иллюстрирующую операцию обработки узла 30 предсказания вектора, изображенного на фиг. 5. Сначала узел 103 генерирования предсказанного значения считывает MV обозначенного соседнего блока (этап S1) и генерирует предсказанное значение для первой составляющей MV целевого блока кодирования из первой составляющей MV соседнего блока (этап S2). Предполагается, что способ генерирования предсказанного значения предоставляется заранее. Например, возможно применение вышеописанного пространственного медианного предсказания.
Затем узел 104 генерирования разностного значения генерирует разностное значение между двумя из первой составляющей MV целевого блока кодирования и предсказанного значения этой же составляющей (этап S3). Затем узел 105 двоичного преобразования преобразует сгенерированное разностное значение в двоичную последовательность (этап S4). Предполагается, что специфичное преобразование в двоичную последовательность предоставляется во время кодирования. Например, используется код Голомба или экспоненциальный код Голомба. Узел 106 энтропийного кодирования выполняет энтропийное кодирование в отношении двоичной последовательности и выводит результат энтропийного кодирования (этап S5). Предполагается, что конкретное энтропийное кодирование предоставляется во время кодирования. Например, используется CABAC, применяемое в H.264/AVC.
x
y
(m)
(m)
Параллельно данной операции узел 111 генерирования разностного значения для первой составляющей считывает первую составляющую MV каждого блока, обозначенного как соседний блок, и первую составляющую MV целевого блока кодирования и выводит разностное значение первой составляющей MV каждого соседнего блока для MV целевого блока кодирования (этап S61). Затем узел 112 оценки функции плотности вероятности второй составляющей принимает вводы разностного значения e  первой составляющей MV каждого соседнего блока и второй составляющей u  (m=0, …, M-1) MV каждого соседнего блока и выводит функцию плотности вероятности второй составляющей MV целевого блока кодирования согласно выражению (1) (этап S71). Предполагается, что параметры q и λ, используемые для задания обобщенного гауссова распределения, предоставляются извне.
Затем узел 113 генерирования карты двоичного преобразования принимает ввод выводимой функции плотности вероятности, сортирует значения-кандидаты для второй составляющей MV целевого блока кодирования в убывающем порядке в соответствии с вероятностью появления, используя одну и ту же функцию плотности вероятности, и получает ранжирования во всех векторах-кандидатах для второй составляющей MV целевого блока кодирования (этап S72). Следовательно, узел 109 двоичного преобразования преобразует эту же вторую составляющую в двоичное число, основываясь на второй составляющей MV целевого блока кодирования и ранжировании, полученном для этой же второй составляющей (этап S81). Предполагается, что специфичное выделение двоичной последовательности для значения после сортировки предоставляется во время кодирования. Например, используется код Голомба или экспоненциальный код Голомба. Узел 110 энтропийного кодирования выполняет энтропийное кодирование в отношении двоичной последовательности и выводит результат энтропийного кодирования (этап S9).
Ниже со ссылкой на фиг. 7 описывается конфигурация узла 28 предсказания MV, изображенного на фиг. 2. Фиг. 7 представляет собой блок-схему, иллюстрирующую конфигурацию узла 28 предсказания MV, изображенного на фиг. 2. На фиг. 7 ссылочная позиция 201 представляет узел считывания MV соседнего блока, который считывает MV обозначенного соседнего блока. Узел 202 хранения MV соседнего блока хранит считанный MV соседнего блока. Узел 203 генерирования предсказанного значения принимает ввод первой составляющей MV соседнего блока, хранимого в узле 202 хранения MV соседнего блока, и генерирует предсказанное значение для первой составляющей MV целевого блока декодирования. Предполагается, что способ генерирования предсказанного значения предоставляется заранее. Например, возможно применение вышеописанного пространственного медианного предсказания.
Узел 204 энтропийного декодирования принимает ввод кодированных данных, ассоциированных с первой составляющей MV, хранимых в узле 200 хранения кодированных данных, выполняет процесс энтропийного декодирования и генерирует двоичную последовательность. Предполагается, что специфичный процесс энтропийного декодирования предоставляется во время декодирования. Например, используется CABAC, применяемое в H.264/AVC. Узел 205 обратного двоичного преобразования преобразует выводимую двоичную последовательность в разностное значение первой составляющей. Узел 206 суммирования принимает вводы выводимой двоичной последовательности и предсказанного значения, выводимого из узла 203 генерирования предсказанного значения, суммирует их и выводит первую составляющую MV.
Узел 207 генерирования предсказанного значения принимает ввод второй составляющей MV соседнего блока, хранимого в узле 202 хранения MV соседнего блока, и генерирует предсказанное значение для второй составляющей MV целевого блока декодирования. Предполагается, что способ генерирования предсказанного значения предоставляется заранее. Например, возможно применение вышеописанного пространственного медианного предсказания.
Узел 208 энтропийного декодирования принимает ввод кодированных данных, ассоциированных со второй составляющей MV, хранимых в узле 200 хранения кодированных данных, выполняет процесс энтропийного декодирования и генерирует двоичную последовательность. Предполагается, что конкретный процесс энтропийного декодирования предоставляется во время декодирования. Например, используется CABAC, применяемое в H.264/AVC. Узел 209 обратного двоичного преобразования преобразует выводимую двоичную последовательность в разностное значение второй составляющей. Блок 210 суммирования принимает вводы выводимой двоичной последовательности и предсказанного значения, выводимого из узла 207 генерирования предсказанного значения, суммирует их и выводит вторую составляющую MV.
Ниже со ссылкой на фиг. 8 описывается операция обработки узла 28 предсказания MV, изображенного на фиг. 7. Фиг. 8 представляет собой блок-схему последовательности действий, иллюстрирующую операцию обработки узла 28 предсказания MV, изображенного на фиг. 7. Сначала узел 203 генерирования предсказанного значения считывает MV обозначенного соседнего блока (этап S11). Узел 204 энтропийного декодирования принимает ввод кодированных данных, ассоциированных с MV первой составляющей, выполняет процесс энтропийного декодирования и генерирует и выводит двоичную последовательность (этап S12). Предполагается, что конкретный процесс энтропийного декодирования предоставляется во время декодирования. Например, используется CABAC, применяемое в H.264/AVC.
Затем узел 205 обратного двоичного преобразования обратно преобразует двоичную последовательность для вывода разностного значения первой составляющей (этап S13). Предполагается, что специфичное обратное преобразование двоичной последовательности предоставляется отдельно. Например, используется кодовая таблица кода Голомба или экспоненциального кода Голомба. Затем узел 203 генерирования предсказанного значения генерирует предсказанное значение для первой составляющей MV целевого блока декодирования из первой составляющей MV соседнего блока (этап S14). Предполагается, что способ генерирования предсказанного значения предоставляется заранее. Например, возможно применение вышеописанного пространственного медианного предсказания. Узел 206 суммирования принимает вводы выводимого разностного значения первой составляющей и выводимого предсказанного значения, суммирует их и выводит значение суммирования в качестве первой составляющей MV целевого блока декодирования (этап S15).
Параллельно с данной операций узел 207 генерирования предсказанного значения считывает MV обозначенного соседнего блока (этап S11). Узел 208 энтропийного декодирования принимает ввод кодированных данных, ассоциированных с MV второй составляющей, выполняет процесс энтропийного декодирования и генерирует и выводит двоичную последовательность (этап S16). Предполагается, что специфичный процесс энтропийного декодирования предоставляется во время декодирования. Например, используется CABAC, применяемое в H.264/AVC.
Затем узел 209 обратного двоичного преобразования обратно преобразует двоичную последовательность для вывода разностного значения второй составляющей (этап S17). Предполагается, что специфичное обратное преобразование двоичной последовательности предоставляется отдельно. Например, используется кодовая таблица кода Голомба или экспоненциального кода Голомба. Затем узел 207 генерирования предсказанного значения генерирует предсказанное значение для второй составляющей MV целевого блока декодирования из второй составляющей MV соседнего блока (этап S18). Предполагается, что способ генерирования предсказанного значения предоставляется заранее. Например, возможно применение вышеописанного пространственного медианного предсказания. Следовательно, узел 210 суммирования принимает вводы выводимой двоичной последовательности и выводимого предсказанного значения, суммирует их и выводит значение суммирования в качестве второй составляющей MV целевого блока декодирования (этап S19).
Ниже со ссылкой на фиг. 9 описывается конфигурация, созданная посредством модифицирования узла 28 предсказания вектора, изображенного на фиг. 7. Фиг. 9 представляет собой блок-схему, иллюстрирующую конфигурацию, созданную посредством модифицирования узла 28 предсказания вектора, изображенного на фиг. 7.
Частям, одинаковым с частями устройства, изображенного на фиг. 7, присвоены одинаковые ссылочные позиции на фиг. 9, и их описание опускается. Устройство, изображенное на фиг. 9, отличается от устройства, изображенного на фиг. 7, тем, что обеспечивается узел 211 генерирования разностного значения для первой составляющей, узел 212 оценки функции плотности вероятности и узел 213 генерирования карты преобразования.
Узел 211 генерирования разностного значения для первой составляющей принимает вводы первой составляющей MV каждого соседнего блока, хранимого в узле 202 хранения MV соседнего блока, и первой составляющей MV целевого блока декодирования, хранимого в узле 200 хранения кодированных данных, и выводит разностное значение первой составляющей MV каждого соседнего блока для MV целевого блока декодирования. Узел 212 оценки функции плотности вероятности второй составляющей принимает вводы разностного значения первой составляющей MV каждого соседнего блока и второй составляющей MV каждого соседнего блока и выводит функцию плотности вероятности второй составляющей MV целевого блока декодирования согласно выражению (1). Кроме того, предполагается, что параметры q и λ, используемые для задания обобщенного гауссова распределения, предусматриваются извне.
Узел 213 генерирования карты преобразования принимает ввод выводимой функции плотности вероятности, сортирует значения-кандидаты для второй составляющей MV целевого блока декодирования в убывающем порядке в соответствии с вероятностью появления, используя эту же функцию плотности вероятности, и получает ранжирования значений-кандидатов для этой же второй составляющей и отношение соответствия (карту преобразования) этой же второй составляющей.
Узел 208 энтропийного декодирования принимает ввод кодированных данных, ассоциированных со второй составляющей MV, хранимых в узле 200 хранения кодированных данных, выполняет процесс энтропийного декодирования и генерирует двоичную последовательность. Предполагается, что специфичный процесс энтропийного декодирования предоставляется во время декодирования. Например, используется CABAC, применяемое в H.264/AVC. Узел 209 обратного двоичного преобразования обратно преобразует двоичную последовательность, ассоциированную с этой же выводимой второй составляющей, и вычисляет ранжирования всех векторов-кандидатов для второй составляющей MV целевого блока декодирования. Данное обратное преобразование осуществляется с использованием обратного поиска кодовой таблицы (например, код Голомба или экспоненциальный код Голомба), используемой при кодировании. Кроме того, информация об одинаковом ранжировании преобразуется во вторую составляющую MV целевого блока декодирования, используя это же вычисленное ранжирование и карту преобразования в качестве ввода.
Ниже с ссылкой на фиг. 10 описывается операция обработки узла 28 предсказания вектора, изображенного на фиг. 9.
Фиг. 10 представляет собой блок-схему последовательности действий, иллюстрирующую операцию обработки узла 28 предсказания вектора, изображенного на фиг. 9.
Сначала узел 203 генерирования предсказанного значения считывает MV обозначенного соседнего блока (этап S11). Узел 204 энтропийного декодирования принимает ввод кодированных данных, ассоциированных с MV первой составляющей, выполняет процесс энтропийного декодирования и генерирует и выводит двоичную последовательность (этап S12). Предполагается, что специфичный процесс энтропийного декодирования предоставляется во время декодирования. Например, используется CABAC, применяемое в H.264/AVC.
Затем узел 205 обратного двоичного преобразования обратно преобразует двоичную последовательность для вывода разностного значения первой составляющей (этап S13). Предполагается, что специфичное обратное преобразование двоичной последовательности предоставляется отдельно. Например, используется кодовая таблица кода Голомба или экспоненциального кода Голомба. Затем узел 203 генерирования предсказанного значения генерирует предсказанное значение для первой составляющей MV целевого блока декодирования из первой составляющей MV соседнего блока (этап S14). Предполагается, что способ генерирования предсказанного значения предоставляется заранее. Например, возможно применение вышеописанного пространственного медианного предсказания. Узел 206 суммирования принимает вводы выводимого разностного значения первой составляющей и выводимого предсказанного значения, суммирует их и выводит значение суммирования в качестве первой составляющей MV целевого блока декодирования (этап S15).
Параллельно с данной операций узел 208 энтропийного декодирования принимает кодированные данные, ассоциированные с MV второй составляющей, выполняет процесс энтропийного декодирования и генерирует и выводит двоичную последовательность (этап S16). Узел 211 генерирования разностного значения для первой составляющей принимает вводы первой составляющей MV каждого блока, обозначенного в качестве соседнего блока, и первой составляющей MV целевого блока декодирования и выводит разностное значение первой составляющей MV каждого соседнего блока для MV целевого блока декодирования (этап S171).
Затем узел 212 оценки функции плотности вероятности второй составляющей принимает вводы выводимого разностного значения и второй составляющей MV каждого соседнего блока и оценивает и выводит функцию плотности вероятности второй составляющей MV целевого блока декодирования согласно выражению (1) (этап S172). Кроме того, предполагается, что параметры q и λ, используемые для задания обобщенного гауссова распределения, предоставляются извне. Затем узел 213 генерирования карты преобразования сортирует значения-кандидаты для второй составляющей MV целевого блока декодирования в убывающем порядке в соответствии с вероятностью появления, используя выводимую функцию плотности вероятности, и генерирует ранжирования значений-кандидатов для этой же второй составляющей и отношение соответствия (карту преобразования) этой же второй составляющей (этап S181).
Затем узел 209 обратного двоичного преобразования обратно преобразует двоичную последовательность, ассоциированную с этой же второй составляющей, выводимой на этапе S16, и вычисляет ранжирования всех векторов-кандидатов для второй составляющей MV целевого блока декодирования. Данное обратное преобразование осуществляется с использованием обратного поиска кодовой таблицы (например, кода Голомба или экспоненциального кода Голомба), используемого при кодировании. Кроме того, информация одинакового ранжирования преобразуется во вторую составляющую MV целевого блока декодирования, используя это же вычисленное ранжирование и карту преобразования в качестве ввода (этап S191).
Ниже со ссылкой на фиг. 12 описывается конфигурация системы передачи изображения, включающей в себя устройство видеокодирования и устройство видеодекодирования, изображенные на фиг. 1 и 2. Фиг. 12 представляет собой блок-схему, иллюстрирующую конфигурацию системы передачи изображения. На фиг. 12 узел 601 ввода видео принимает ввод видео, захваченный камерой или т.п. Устройство 602 видеокодирования включает в себя устройство видеокодирования, изображенное на фиг. 1, и кодирует ввод видео узлом 601 ввода видео для передачи кодированного видео. Тракт 603 передачи передает данные кодированного видео, передаваемого от устройства 602 видеокодирования. Устройство 604 видеодекодирования включает в себя устройство видеодекодирования, изображенное на фиг. 2, принимает данные кодированного видео, передаваемого по тракту 603 передачи, и декодирует данные кодированного видео для вывода декодированных данных. Узел 605 вывода видео выводит видео, декодированное в устройстве 604 видеодекодирования, на устройство отображения или т.п.
Ниже описывается работа системы передачи изображения, изображенная на фиг. 12. Устройство 602 видеокодирования принимает ввод данных видео при помощи узла 601 ввода видео и кодирует данные посредством вышеописанной операции обработки для каждого кадра видео. Следовательно, устройство 602 видеокодирования передает кодированные видеоданные на устройство 604 видеодекодирования по тракту 603 передачи. Устройство 604 видеодекодирования декодирует кодированные видеоданные посредством вышеописанной операции обработки и отображает видео на устройстве отображения или т.п. при помощи узла 605 вывода видео.
Так как вторая составляющая кодируется с использованием значения первой составляющей MV как описано выше, возможно уменьшить количество битов значения второй составляющей и уменьшить сгенерированное количество битов кодирования в процессе видеокодирования.
Кроме того, процесс видеокодирования и процесс видеодекодирования могут выполняться посредством записи программы, используемой для реализации функций узлов обработки на фиг. 1, на считываемом компьютером носителе записи и посредством того, что вызывается считывание и исполнение компьютерной системой программы, записанной на носителе записи.
«Компьютерная система», используемая в данном документе, может включать в себя операционную систему (OS) и/или аппаратные средства, такие как периферийные устройства. Кроме того, предполагается, что «компьютерная система» включает в себя систему Всемирной паутины (WWW), имеющую домашнюю страницу, обеспечивающую среду окружения (или среду отображения). Кроме того, «считываемый компьютером носитель записи» ссылается на запоминающее устройство, включающее в себя гибкий диск, магнитооптический диск, постоянное запоминающее устройство (ROM), портативный носитель, такой как неперезаписываемый компакт-диск (CD-ROM) и жесткий диск, встроенный в компьютерную систему. Кроме того, предполагается, что «считываемый компьютером носитель записи» включает в себя носитель, используемый для хранения программ в течение фиксированного периода времени, подобно энергозависимой памяти (RAM) внутри компьютерной системы, включающей в себя сервер и клиента, когда программа передается по сети, такой как Интернет, или линии связи, такой как телефонная линия.
Кроме того, вышеописанная программа может передаваться с компьютерной системы, хранящей программу на запоминающем устройстве или т.п., на другие компьютерные системы по среде передачи или передающим волнам среды передачи. Здесь «среда передачи», используемая для передачи программы, ссылается на среду, имеющую функцию передачи информации, подобно сети (сети связи), такой как Интернет или линия связи (телефонный кабель), такой как телефонная линия. Вышеописанная программа может использоваться для осуществления некоторых из вышеописанных функций. Кроме того, программа может представлять собой так называемый файл изменения (программу изменений), способный осуществлять вышеописанные функции посредством объединения с программой, уже записанной на компьютерной системе.
ПРОМЫШЛЕННАЯ ПРИМЕНИМОСТЬ
Устройство видеокодирования, относящееся к настоящему изобретению, применимо с целью повышения эффективности кодирования MV и дополнительного уменьшения количества битов MV по сравнению с известным уровнем техники.
[ОПИСАНИЕ ССЫЛОЧНЫХ ПОЗИЦИЙ]
1 - устройство видеокодирования
2 - устройство видеодекодирования
100 - узел хранения MV целевого блока кодирования
101 - узел считывания MV соседнего блока
102 - узел хранения MV соседнего блока
103 - узел генерирования предсказанного значения
104 - узел генерирования разностного значения
105 - узел двоичного преобразования
106 - узел энтропийного кодирования
109 - узел двоичного преобразования
110 - узел энтропийного кодирования
111 - узел генерирования разностного значения для первой составляющей
112 - узел оценки функции плотности вероятности второй составляющей
113 - узел генерирования карты двоичного преобразования
200 - узел хранения кодированных данных
201 - узел считывания MV соседнего блока
202 - узел хранения MV соседнего блока
203 - узел генерирования предсказанного значения
204 - узел энтропийного декодирования
205 - узел обратного двоичного преобразования
206 - узел суммирования
208 - узел энтропийного декодирования
209 - узел обратного двоичного преобразования
211 - узел генерирования разностного значения для первой составляющей
212 - узел оценки функции плотности вероятности второй составляющей
213 - узел генерирования карты преобразования.