СПОСОБ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ МАСШТАБИРУЕМОГО ВИДЕО, УСТРОЙСТВА ДЛЯ ИХ ОСУЩЕСТВЛЕНИЯ, ПРОГРАММЫ ДЛЯ ИХ ОСУЩЕСТВЛЕНИЯ И МАШИНОЧИТАЕМЫЕ НОСИТЕЛИ, КОТОРЫЕ ХРАНЯТ ЭТИ ПРОГРАММЫ
SCALABLE VIDEO CODING AND DECODING METHODS, APPARATUS FOR REALISING SAID METHODS, PROGRAMMES FOR REALISING SAID METHODS AND MACHINE-READABLE MEDIA STORING SAID PROGRAMMES

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к способу кодирования и способу декодирования масштабируемого видео, устройствам для их осуществления, программам для их осуществления и машиночитаемым носителям, которые хранят эти программы.
Приоритет испрашивается по заявке № 2007-174161 на выдачу патента Японии, поданной 2 июля 2007 года, содержимое которой включено в материалы настоящей заявки посредством ссылки.
УРОВЕНЬ ТЕХНИКИ
В обычных способах кодирования видео предсказание движения выполняется посредством подбора блоков, основанного на минимизации расхождений между значениями пикселей между кадрами, с тем, чтобы улучшать эффективность кодирования. Однако в изображении (имеющем эффект выцветания или ему подобный), чья яркость меняется во времени, в соответствии с изменением яркости возрастает ошибка предсказания, которая ухудшает эффективность кодирования.
Поэтому стандарт H.264/AVC (смотрите непатентный документ 1) применяет взвешенное предсказание движения для адаптивного умножения опорного кадра изображения для предсказания движения на весовые коэффициенты. Предсказанный опорный сигнал, в котором было скорректировано временное изменение яркости, получается вследствие вышеприведенного взвешенного предсказания движения, тем самым улучшая эффективность кодирования.
Взвешенное предсказание движения в H.264/AVC имеет два режима передачи коэффициентов, таких как (i) явный режим для кодирования и передачи весовых коэффициентов, и (ii) неявный режим для опосредованного формирования общего весового коэффициента между кодером и декодером на основании информации об опорном кадре. Таблица 1 иллюстрирует типы и способы предсказания у взвешенного предсказания для P и B серий последовательных макроблоков.
<b>Таблица 1</b><b>Тип и способы взвешенного предсказания движения в H.264/AVC</b>
Тип
Тип предсказания
Предсказанный сигнал
Передача коэффициентов
Серия Р последовательных макроблоков
-
z=w<sub>0</sub>·y<sub>0</sub>+d<sub>0</sub>
передать w<sub>0</sub> и d<sub>0</sub> (явная)
Серия В последовательных макроблоков
предсказание L0/L1
z=w<sub>0</sub>·y<sub>0</sub>+d<sub>0</sub> (предсказание L0)z=w<sub>1</sub>·y<sub>1</sub>+d<sub>1</sub> (предсказание L1)
передача w<sub>0</sub>, d<sub>0</sub>, w<sub>1</sub> и d<sub>1 </sub>(явная)
двухпрогнозное предсказание
z=w<sub>0</sub>·y<sub>0</sub>+w<sub>1</sub>·y<sub>1</sub>+d(d=1/2(d<sub>0</sub>+d<sub>1</sub>))
передача w<sub>0</sub>, d<sub>0</sub>, w<sub>1</sub> и d<sub>1 </sub>(явная)
z=w<sub>0</sub>·y<sub>0</sub>+w<sub>1</sub>·y<sub>1</sub>+d
вычисление коэффициентов на основании расстояния от опорного кадра изображения (неявное)
0
1
0
1
0
1
В таблице 1 z представляет собой подвергнутый взвешенному предсказанию сигнал, y, y и y представляют собой опорные сигналы для взвешенного предсказания движения, а w, w, w, d, d и d представляют собой весовые коэффициенты. Операция переключения для взвешенного предсказания движения и выбор режима для передачи коэффициентов выполняется для каждой серии последовательных макроблоков.
b
d
Фиг.1 - схема, используемая для разъяснения взвешенного предсказания движения (неявного режима) в H.264/AVC. Неявный режим применяется только к двухпрогнозному предсказанию для серий B последовательных макроблоков, а весовые коэффициенты формируются в соответствующих кодере и декодере, как показано на фиг.1, где t и t указывают расстояния между кадрами.
0
1
Здесь предполагается, что изменение яркости между кадром кодирования и двумя опорными кадрами является линейным. Коэффициенты w и w пропорциональности вычисляются в соответствии с расстоянием от опорного кадра изображения. Коэффициент d смещения определен, чтобы был равен 0.
0
1
w=1-w
1
b
d
w=t/t
d=0
Несмотря на то что фиг.1 иллюстрирует пример вычисления коэффициентов пропорциональности посредством внутреннего разбиения в соответствии с расстоянием от опорного кадра изображения, подобная операция может выполняться, когда применяется внешнее разбиение. Если яркость значимого изображения изменяется линейно, надлежащие весовые коэффициенты могут вычисляться даже в неявном режиме, а объем кода, требуемого для информации о коэффициентах, может быть уменьшен.
Такое же взвешенное предсказание движения в настоящее время применяется JSVC (расширенным масштабируемым способом) H.264/AVEX (смотрите непатентный документ 2), который рассмотрен в JTD (совместной части ISO (Международной организации по стандартизации) и ITU-T (Международного телекоммуникационного союза).
Взвешенное предсказание движения, показанное в таблице 1, также применяется в JSVM (программе) базового кодера, показанной в непатентном документе 3.
Также известна методика, описанная в патентном документе 1, в которой общее изменение яркости видеоизображения детектируется, с тем, чтобы выполнять компенсацию яркости. Для того чтобы справляться со случаем, в котором изменение яркости не является постоянным по всему изображению, технология по патентному документу 1 использует величину общего изменения яркости по всему изображению и применяет признак, который указывает, скомпенсировано ли изменение яркости на каждом небольшом участке.
Непатентный документ 1: ITU-T: «Advanced video coding for generic audiovisual services», ITU-T Rec, H.264, pp. 129-132, 2003.
Непатентный документ 2: T.Wiegand, G.Sullivan, J.Reichel, H.Schwarz and M.Wien: «Joint Draft 9 of SVC Amendment», ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q.6, JVT-V201, pp. 166-170, 2006.
Непатентный документ 3: J.Reichel, H.Schwarz and M.Wien: "Joint Scalable Video Model JSVM-8.0", ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q.6, JVT-U202, 2006.
Патентный документ 1: Нерассмотренная заявка на выдачу патента Японии, первая публикация № H10-32824.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Проблема, решаемая изобретением
Как описано выше, взвешенное предсказание движения в H.264/AVC применяется к каждой серии последовательных макроблоков. Поэтому, если изменение яркости возникает в части серии последовательных макроблоков или не является постоянным в пределах серии последовательных макроблоков, эффективность предсказания у взвешенного предсказания движения в H.264/AVC ухудшается. Отдельным примером является изменение яркости, обусловленное тенью движущегося объекта, которое ухудшает эффективность предсказания.
Если весовые коэффициенты вычисляются для каждого макроблока, который является меньшим элементом, чем серия последовательных макроблоков, и выполняется взвешенное предсказание движения, объем кода, требуемого для весовых коэффициентов, значительно возрастает в явном режиме. В таком случае, предпочтительно вычислять весовые коэффициенты в неявном режиме. Однако, как описано выше, неявный режим взвешенного предсказания движения в H.264/AVC применяется только к двухпрогнозному предсказанию для серий B последовательных макроблоков.
Кроме того, в неявном режиме взвешенного предсказания движения весовые коэффициенты вычисляются на основании предположения, такого что изменение яркости по целевому кадру кодирования и двум опорным кадрам является линейным. Поэтому, если изменение яркости по трем кадрам является нелинейным, надлежащие весовые коэффициенты не вычисляются, что ухудшает эффективность предсказания. Отдельными примерами являются выцветающее изображение, имеющее нелинейное изменение яркости, или вспышечное изображение, которое включает в себя вспышку и имеет временное изменение яркости. JSVC непосредственно применяет взвешенное предсказание движения в H.264/AVC и, таким образом, имеет такие же проблемы, как описанные выше.
В дополнение, технология, раскрытая в патентном документе 1, нуждается в передаче информации признака для каждого небольшого участка и, таким образом, имеет проблему снижения эффективности кодирования. Когда изменение яркости даже для небольшого участка велико и значительно отличается от общего изменения яркости, изменение яркости для небольшого участка не может компенсироваться, тем самым ухудшая эффективность кодирования.
В свете вышеприведенных обстоятельств задача настоящего изобретения состоит в том, чтобы создать способ расчета для масштабируемого кодера и масштабируемого декодера, используемых при пространственном масштабируемом кодировании, на основании базового уровня, имеющего самое низкое пространственное разрешение, и одного или более уровней апертурной коррекции, каждый из которых имеет разрешение, более высокое, чем у базового уровня, причем способ расчета включает в себя этапы, на которых формируют весовой коэффициент для взвешенного предсказания движения на основании информации о временном изменении яркости между декодированным сигналом и опорным кадром для предсказания движения и декодированным сигналом непосредственно нижнего уровня целевого кадра кодирования, и выполняют взвешенное предсказание движения с использованием общего весового коэффициента между кодером и декодером, без передачи информации о весовом коэффициенте.
Средство решения проблемы
Далее будет описана процедура взвешенного предсказания движения по настоящему изобретению.
Взвешенное предсказание движения состоит из двух этапов: один является взвешенной оценкой движения, а другой - взвешенной компенсацией движения.
Взвешенная оценка движения состоит в том, чтобы отыскивать движение между целевым кадром обработки и опорным кадром предсказания движения наряду с коррекцией изменения яркости между двумя кадрами, и выдавать информацию о движении, полученную соответствующим поиском в качестве вектора движения.
Взвешенная компенсация движения состоит в том, чтобы извлекать информацию о векторе движения, корректировать значение сигнала, указанное соответствующим вектором движения в отношении изменения яркости, и выдавать скорректированное значение сигнала в качестве предсказанного сигнала для целевого кадра обработки.
В процессе кодирования вектор движения выявляется посредством взвешенной оценки движения, и вектор движения извлекается, для того чтобы выполнялась взвешенная компенсация движения.
С другой стороны, в процессе декодирования кодированные данные декодируются, с тем чтобы извлекать соответствующий вектор движения и выполнять взвешенную компенсацию движения.
Вычисление весовых коэффициентов может применяться к требуемому единичному участку изображения, такому как кадр, серия последовательных макроблоков, макроблок или тому подобное.
Так как необходима передача коэффициентов, каждый единичный участок изображения имеет одинаковые служебные сигналы или данные для взвешенного предсказания движения. Поэтому, чем меньше единичный участок изображения, тем выше эффективность предсказания у взвешенного предсказания движения.
Теперь поясняются примеры вычисления весовых коэффициентов для каждого макроблока в качестве единичного элемента. Однако другой единичный участок изображения может подвергаться взвешенному предсказанию движения в соответствии с подробной операцией. В дополнение, операция не зависит от типа сигнала, то есть подобная операция может применяться к каждому из сигнала яркости и сигнала цветности.
Преимущество изобретения
В соответствии с настоящим изобретением весовые коэффициенты могут вычисляться для каждого требуемого локального участка. Поэтому, даже когда яркость изменяется в части изображения вследствие тени движущегося объекта или тому подобного, точное взвешенное предсказание движения может быть воплощено посредством неявного режима, который не выполняет никакой передачи весовых коэффициентов.
К тому же, в предсказании L0/L1 серий P и B последовательных макроблоков, которое традиционно имеет только явный режим, можно выполнять взвешенное предсказание движения посредством неявного режима.
Дополнительно, в соответствии с коррекцией с учетом информации о яркости непосредственно нижнего уровня, даже для изображений (например, изображений, содержащих вспышечные и выцветающие изображения, имеющие нелинейное изменение), имеющих нелинейное изменение яркости между целевым кадром кодирования или декодирования и опорными кадрами предсказания, можно выполнять взвешенное предсказание движения посредством неявного режима. В соответствии с таким улучшением эффективности взвешенного предсказания движения может улучшаться результативность кодирования.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1 - схема, используемая для разъяснения взвешенного предсказания движения (неявного режима) в H.264/AVC.
Фиг.2 - схема, используемая для разъяснения взвешенного предсказания движения в соответствии с настоящим изобретением.
Фиг.3 - схема, иллюстрирующая последовательность операций процесса кодирования в соответствии с вариантом осуществления настоящего изобретения.
Фиг.4 - схема, иллюстрирующая последовательность операций процесса декодирования в соответствии с вариантом осуществления настоящего изобретения.
Фиг.5 - схема, иллюстрирующая последовательность операций взвешенной оценки движения при операции кодирования.
Фиг.6 - схема, иллюстрирующая последовательность операций взвешенной компенсации движения при операциях кодирования и декодирования.
Фиг.7 - схема, иллюстрирующая последовательность операций вычисления весовых коэффициентов при операциях кодирования и декодирования.
Фиг.8 - схема, иллюстрирующая подробную последовательность операций этапа S43 на фиг.7.
Фиг.9 - схема, иллюстрирующая подробную последовательность операций этапа S44 на фиг.7.
Фиг.10 - схема, иллюстрирующая подробную последовательность операций этапа S46 на фиг.7.
Фиг.11 - схема, иллюстрирующая подробную последовательность операций этапа S48 на фиг.7.
Фиг.12 - схема, иллюстрирующая подробную последовательность операций этапа S49 на фиг.7.
Фиг.13 - схема, иллюстрирующая пример конструкции устройства кодирования в качестве варианта осуществления настоящего изобретения.
Фиг.14 - схема, иллюстрирующая пример конструкции устройства декодирования в качестве варианта осуществления настоящего изобретения.
Фиг.15 - схема, иллюстрирующая пример конструкции блока взвешенной оценки движения.
Фиг.16 - схема, иллюстрирующая пример конструкции взвешенного компенсатора движения.
Фиг.17 - схема, иллюстрирующая пример конструкции модуля вычисления весовых коэффициентов.
Фиг.18 - схема, иллюстрирующая пример конструкции процессора коррекции весовыми коэффициентами на базе минимизации квадратичной ошибки двухпрогнозного предсказания.
Фиг.19 - схема, иллюстрирующая пример конструкции процессора коррекции весовыми коэффициентами на базе DC-составляющей двухпрогнозного предсказания.
Фиг.20 - схема, иллюстрирующая пример конструкции процессора коррекции весовыми коэффициентами на базе минимизации квадратичной ошибки покадрового предсказания.
Фиг.21 - схема, иллюстрирующая пример конструкции процессора коррекции коэффициентов пропорциональности на базе DC-составляющей покадрового предсказания.
Фиг.22 - схема, иллюстрирующая пример конструкции процессора коррекции смещения на базе DC-составляющей покадрового предсказания.
Фиг.23 - схема, иллюстрирующая изменение BD бит (в качестве экспериментального примера) для выцветающих изображений.
Фиг.24 - схема, иллюстрирующая изменения средней яркости и среднего коэффициента смещения (в качестве экспериментального примера) для выцветающих изображений.
Фиг.25 - схема, иллюстрирующая изменение BD бит (в качестве экспериментального примера) для вспышечных изображений.
Фиг.26 - схема, иллюстрирующая изменения средней яркости и среднего коэффициента смещения (в качестве экспериментального примера) для вспышечных изображений.
101 модуль определения способа предсказания
102 внутрикадровый предсказатель
103 невзвешенный предсказатель движения
104 межуровневый предсказатель
105 блок взвешенной оценки движения
106 взвешенный компенсатор движения
107 генератор остаточного сигнала предсказания
108 кодер остаточного сигнала предсказания
109 декодер
110 модуль хранения декодированного сигнала соответствующего уровня апертурной коррекции
111 модуль хранения декодированного сигнала непосредственно нижнего уровня
201 декодер способа предсказания
202 модуль хранения режима предсказания
203 модуль определения способа предсказания
204 внутрикадровый предсказатель
205 невзвешенный предсказатель движения
206 межуровневый предсказатель
207 декодер информации о векторе движения
208 модуль хранения вектора движения
209 взвешенный компенсатор движения
210 модуль хранения декодированного сигнала непосредственно нижнего уровня
211 декодер остаточного сигнала
212 модуль хранения остаточного сигнала
213 генератор декодированного сигнала
214 модуль хранения декодированного сигнала соответствующего уровня апертурной коррекции
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Типичное действие в соответствии с настоящим изобретением будет пояснено ниже.
Взвешенная оценка движения
При взвешенной оценке движения для каждого единичного участка изображения (например, макроблока) в целевом кадре кодирования в опорном кадре для оценки отыскивается макроблок совпадения.
В операции поиска каждый раз, когда целевой макроблок для поиска изменяется, вычисляется весовой коэффициент для указания изменения яркости между соответствующими блоками кадров, и декодированный сигнал целевого макроблока для поиска корректируется весовым коэффициентом. Скорректированный сигнал используется в качестве сравнительного сигнала для определения совпадения.
Макроблок, определенный блоком совпадения, указывается вектором движения и действует в качестве опорного макроблока при компенсации движения.
Примерное устройство для определения совпадения является устройством определения, использующим минимизацию стоимости Лагранжа для объема кода и расхождения кодирования, как показано в непатентном документе 1.
Взвешенная компенсация движения
При взвешенной компенсации кодирования для каждого целевого макроблока кодирования или декодирования реконструируется информация о векторе движения целевого макроблока.
Затем вычисляется весовой коэффициент для указания изменения яркости между опорным макроблоком, обозначенным вектором движения, и целевым макроблоком кодирования или декодирования.
Декодированный сигнал опорного макроблока корректируется с использованием весового коэффициента, и скорректированный сигнал используется в качестве предсказанного сигнала для целевого макроблока кодирования или декодирования.
Вычисление весовых коэффициентов
Типично весовые коэффициенты, используемые для взвешенной оценки движения и взвешенной компенсации движения для масштабируемого кодирования, вычисляются посредством процедуры, поясненной ниже.
В традиционном неявном режиме временное изменение яркости оценивается в пределах одиночного уровня посредством интерполяции или экстраполяции в соответствии с расстоянием от опорного кадра, тем самым вычисляя весовые коэффициенты.
В настоящем изобретении временное изменение яркости оценивается с использованием информации о декодированном сигнале макроблока на непосредственно нижнем уровне, тем самым улучшая точность оценки.
0
1
До того, как пояснена процедура, показаны обозначения, используемые для пояснения. Целевой кадр кодирования или декодирования (называемый «целевым кадром коррекции») на соответствующем уровне апертурной коррекции представлен посредством «f»; опорный кадр взвешенной оценки или компенсации движения (называемый «корректируемым кадром») для серий P последовательных макроблоков и предсказания L0 серий B последовательных макроблоков представлен посредством «f»; а корректируемый кадр для предсказания L1 серий B последовательных макроблоков представлен посредством «f».
0
0
1
1
В дополнение, кадр на непосредственно нижнем уровне одновременно с целевым кадром f коррекции представлен посредством «g»; кадр на непосредственно нижнем уровне одновременно с корректируемым кадром f представлен посредством «g»; а кадр на непосредственно нижнем уровне одновременно с корректируемым кадром f представлен посредством «g».
0
0
Дополнительно, значение предсказанного сигнала, применяемое к координатам (i,j) целевого блока кодирования или декодирования (называемого «целевым блоком коррекции») в кадре f, представлено посредством z(i,j); а значение декодированного сигнала в координатах (i,j) в опорном блоке взвешенной оценки или компенсации движения (называемом «корректируемым блоком») кадра f представлено посредством y(i,j).
Дополнительно, значение декодированного сигнала в координатах (i,j) в блоке кадра g, который имеет такое же пространственное положение, как целевой блок коррекции кадра f, представлено посредством x(i,j); а значение сигнала, полученное подверганием x(i,j) повышающей дискретизации для получения разрешения соответствующего уровня апертурной коррекции посредством специального фильтра повышающей дискретизации, представлено посредством x'(i,j).
0
0
0
0
0
Подобным образом, значение декодированного сигнала в координатах (i,j) в блоке кадра g, который имеет такое же пространственное положение, как корректируемый блок кадра f, представлено посредством x(i,j); а значение сигнала, полученное подверганием x(i,j) повышающей дискретизации для получения разрешения соответствующего уровня апертурной коррекции посредством специального фильтра повышающей дискретизации, представлено посредством x'(i,j).
1
1
1
0
0
0
Способы для получения y(i,j), x(i,j) и x'(i,j) соответствуют таковым для получения y(i,j), x(i,j) и x'(i,j).
Вышеприведенное определение будет показано на фиг.2, где отношением разрешений между соответствующим уровнем апертурной коррекции и непосредственно нижним уровнем является 2:1 как в вертикальном, так и горизонтальном направлениях. Подобные операции могут выполняться для отношений разрешений, иных чем 2:1.
0
0
В дополнение, DC (постоянный ток) составляющая корректируемого блока в кадре f представлена посредством Y, а DC-составляющая блока в кадре g, который имеет такое же пространственное положение, как целевой блок коррекции в кадре f, представлена посредством X. Что касается фиг.2, эти составляющие вычисляются, как изложено ниже.
0
0
1
0
1
0
Способы для предоставления X, X', X, X' и Y соответствуют таковым для предоставления X и Y.
Способ вычисления весовых коэффициентов для серии P последовательных макроблоков и предсказания L0/L1 серии B последовательных макроблоков
В предсказании, применяемом к одиночной серии последовательных макроблоков (например, предсказании для серии P последовательных макроблоков или предсказании L0/L1 серии B последовательных макроблоков), значение z(i,j) предсказанного сигнала вычисляется, как изложено ниже.
Для серии P последовательных макроблоков или предсказания L0 серии B последовательных макроблоков:
0
0
0
z(i,j)=w·y(i,j)+d
Для предсказания L1 серии B последовательных макроблоков:
1
1
1
z(i,j)=w·y(i,j)+d (3)
0
0
1
1
Ниже будут показаны три способа вычисления для весовых коэффициентов w и d или w и d.
0
0
1
1
Последующее пояснение относится к предсказанию для серии P последовательных макроблоков или предсказанию L0 серии B последовательных макроблоков. Что касается предсказания L1 серии B последовательных макроблоков, элементы, относящиеся к кадрам f и g, преобразуются в таковые для кадров f и g.
0
Три способа вычисления основаны на следующем допущении. Так как кадры f и g являются информацией, полученной одновременно, предсказывается, что оба имеют подобные значения яркости сигнала. Поэтому информация о яркости известного кадра g используется для опосредованного предсказания изменения яркости от корректируемого кадра f до целевого кадра f коррекции.
Способ 1-1:
Коррекция коэффициентом пропорциональности с использованием DC-составляющей при покадровом предсказании
В этом способе коэффициенты пропорциональности вычисляются, как изложено ниже.
0
0
w=X/Y (4)
0
d=0 (5)
0
0
В формуле (4) X может быть замещен составляющей X' DC соответствующего подвергнутого повышающей дискретизации сигнала. В дополнение, вышеприведенные X или X' могут быть заменены составляющей, скорректированной с использованием соотношения DC-составляющих между корректируемым кадром f и кадром g его непосредственно нижнего уровня.
0
0
0
0
0
0
Примерами такой коррекции являются составляющая, полученная умножением X или X' на отношение Y/X DC-составляющих для корректируемого кадра f, и составляющая, полученная сложением X или X' и разности Y-X DC-составляющих для корректируемого кадра f.
Способ 1-2:
Коррекция коэффициентом смещения с использованием DC-составляющей при покадровом предсказании
В этом способе коэффициенты пропорциональности вычисляются, как изложено ниже.
0
w=1 (6)
0
0
d=X-Y (7)
0
0
Подобно способу 1-1, X в формуле (7) может быть заменен составляющей X' DC подвергнутого повышающей дискретизации сигнала. В дополнение, вышеприведенные X или X' могут быть заменены составляющей, скорректированной с использованием соотношения DC-составляющих между корректируемым кадром f и кадром g его непосредственно нижнего уровня. Примеры такой коррекции подобны таковым для способа 1-1.
Способ 1-3:
Коррекция весовыми коэффициентами с использованием метода наименьших квадратов при покадровом предсказании
0
0
0
0
В этом способе весовые коэффициенты вычисляются, как изложено ниже, где w и d, на которые наложены тильды, являются переменными, используемыми для получения w и d.
0
0
В формуле (8) x'(i,j) может быть заменен составляющей, скорректированной с использованием соотношения декодированных сигналов между корректируемым кадром f и кадром g его непосредственно нижнего уровня.
0
0
0
0
0
0
Примерами такой коррекции являются составляющая, полученная умножением x'(i,j) на отношение «y(i,j)/x'(i,j)» декодированных сигналов для корректируемого кадра f, и составляющая, полученная сложением x'(i,j) и разности «y(i,j)-x'(i,j)» декодированных сигналов для корректируемого кадра f.
0
0
Весовые коэффициенты (w, d) для предоставления минимального значения ε могут быть получены в качестве решений следующей системы линейных уравнений.
Способ вычисления весовых коэффициентов для двухпрогнозного предсказания серии B последовательных макроблоков
При двухпрогнозном предсказании серий B последовательных макроблоков значение z(i,j) предсказанного сигнала вычисляется, как изложено ниже.
0
0
1
1
z(i,j)=w·y(i,j)+w·y(i,j)+d (12)
0
1
Ниже будут показаны два способа вычисления для весовых коэффициентов w, w и d.
0
1
Три способа вычисления основаны на следующем допущении. Так как кадры f и g являются информацией, полученной одновременно, предсказывается, что оба имеют близкие значения яркости сигнала. Поэтому информация о яркости известного кадра g используется для опосредованного предсказания изменения яркости от корректируемых кадров f и f до целевого кадра f коррекции.
Способ 2-1:
Коррекция весовыми коэффициентами с использованием блока DC-составляющих при двухпрогнозном предсказании
В этом способе коэффициенты пропорциональности вычисляются, как изложено ниже.
0
1
w=1-w (13)
1
b
d
w=t/t (14)
0
0
0
1
1
d=X-w·Y-w·Y (15)
b
0
d
0
1
В вышеприведенных формулах t указывает межкадровое расстояние от корректируемого кадра f до целевого кадра f коррекции, а t указывает внутрикадровое расстояние от корректируемого кадра f до корректируемого кадра f.
0
0
1
1
В формуле (15) X может быть заменен составляющей X' DC подвергнутого повышающей дискретизации сигнала. В дополнение, вышеприведенные X или X' могут быть заменены составляющей, скорректированной с использованием DC-составляющих корректируемого кадра f и кадра g его непосредственно нижнего уровня или DC-составляющих корректируемого кадра f и кадра g его непосредственно нижнего уровня. Способ коррекции подобен показанным для вышеприведенного способа 1-1.
Способ 2-2:
Коррекция весовыми коэффициентами с использованием метода наименьших квадратов при двухпрогнозном предсказании
В этом способе коэффициенты пропорциональности вычисляются, как изложено ниже.
0
0
1
1
В формуле (16) x'(i,j) может быть заменен составляющей, скорректированной с использованием декодированных сигналов корректируемого кадра f и кадра g его непосредственно нижнего уровня или декодированных сигналов корректируемого кадра f и кадра g его непосредственно нижнего уровня.
0
0
0
0
0
0
Примерами такой коррекции являются составляющая, полученная умножением x'(i,j) на отношение «y(i,j)/x'(i,j)» декодированных сигналов для корректируемого кадра f, и составляющая, полученная сложением x'(i,j) и разности «y(i,j)-x'(i,j)» декодированных сигналов для корректируемого кадра f. Способ коррекции подобен показанным для вышеприведенного способа 1-3.
0
1
Весовые коэффициенты (w, w, d) для предоставления минимального значения ε могут быть получены в качестве решений следующей системы линейных уравнений.
В традиционном взвешенном предсказании движения по стандарту H.264/AVC переключение весовых коэффициентов выполняется для каждой серии последовательных макроблоков. В противоположность, в настоящем изобретении весовой коэффициент может вычисляться для любого прямоугольного единичного участка, тем самым улучшая точность взвешенного предсказания движения.
Дополнительно, в традиционной технологии передача информации о весовых коэффициентах необходима для блоков, к которым применяется однонаправленное предсказание. В противоположность, в настоящем изобретении даже для блоков, к которым применяется однонаправленное предсказание, передача информации о весовых коэффициентах необязательна и может выполняться точное взвешенное предсказание.
В традиционной технологии, для того чтобы выполнять точное взвешенное предсказание, когда яркость целевого видеоизображения меняется нелинейно, необходимо передавать информацию о весовых коэффициентах даже для двухпрогнозного предсказания. В противоположность, в настоящем изобретении независимо от способа временного изменения яркости целевого видеоизображения передавать информацию о весовых коэффициентах необязательно и может выполняться точное взвешенное предсказание.
В частности, когда отношение значений сигналов между декодированным сигналом опорного блока предсказания и исходным сигналом текущего блока является постоянным в пределах блока, точные весовые коэффициенты могут быть вычислены вышеприведенным способом 1-1, и, соответственно, этот способ предпочтителен.
В дополнение, когда разность значений сигналов между декодированным сигналом опорного блока предсказания и исходным сигналом текущего блока является постоянным в пределах блока, добавочные точные весовые коэффициенты могут быть вычислены вышеприведенным способом 1-2, и, соответственно, предпочтителен этот способ.
Когда все пространственные частотные составляющие, включенные в исходный сигнал текущего блока, близки к пространственным частотным составляющим, включенным в интерполированный сигнал пространственно соответствующего блока непосредственно нижнего уровня, точные весовые коэффициенты могут быть вычислены вышеприведенными способами 1-1, 1-2 и 2-1.
Вышеприведенные способы 1-3 и 2-2 могут давать точные весовые коэффициенты, когда только DC-составляющие, включенные в исходный сигнал текущего блока, близки к DC-составляющим, включенным в интерполированный сигнал пространственно соответствующего блока непосредственно нижнего уровня.
Рабочая последовательность операций
Вариант осуществления операции кодирования в соответствии с настоящим изобретением будет пояснен со ссылкой на фиг.3. Поясненный вариант осуществления является операцией кодирования, примененной к макроблоку. Кодированные данные видеоизображения вырабатываются подверганием всех макроблоков соответствующей операции.
Этап S1: Определяется, является или нет текущий макроблок соответствующего уровня апертурной коррекции целевым макроблоком для взвешенного предсказания движения. Если результатом определения является ДА, выполняется последовательность операций этапа S3, а если результатом определения является НЕТ, выполняется последовательность операций этапа S2.
Вышеприведенное определение может выполняться на основании предопределенных условий, которые в настоящем изобретении не ограничены.
Этап S2: Предсказанный сигнал формируется в соответствии с информацией о режиме предсказания текущего макроблока, которая выдана этапом S1. Способ предсказания на этапе S2 может быть внутрикадровым предсказанием, обычным предсказанием движения (то есть не взвешенным) или межуровневым предсказанием.
Способ предсказания в JSVM, показанной в непатентном документе 3, является примерным способом предсказания.
Этап S3: Когда текущий макроблок является целевым для взвешенного предсказания движения, извлекаются исходный сигнал текущего макроблока, декодированный сигнал макроблока его непосредственно нижнего уровня и декодированный сигнал целевого макроблока поиска (в опорном кадре), так что выполняется взвешенная оценка движения, и выводится информация о векторе движения. Эта последовательность операций подробно показана на фиг.5 (пояснена позже).
Этап S4: Получаются информация о векторе движения, выведенная на этапе S3, и декодированный сигнал макроблока его непосредственно нижнего уровня, так что выполняется взвешенная компенсация движения, и выводится подвергнутый взвешенному предсказанию движения сигнал. Эта последовательность операций подробно показана на фиг.6 (пояснена позже).
Этап S5: Получается предсказанный сигнал, выведенный этапами S2 или S4, и формируется разностный сигнал между предсказанным сигналом и исходным сигналом текущего макроблока. Разностный сигнал затем кодируется. Способ кодирования в JSVM, показанной в непатентном документе 3, является примерным способом кодирования.
Вариант осуществления операции декодирования в соответствии с настоящим изобретением будет пояснен со ссылкой на фиг.4. Поясненный вариант осуществления является операцией декодирования, примененной к макроблоку. Декодированный сигнал видеоизображения вырабатывается подверганием всех макроблоков соответствующей операции.
Этап S11: Кодированные данные для режима предсказания текущего макроблока соответствующего уровня апертурной коррекции извлекаются и подвергаются последовательности операций декодирования, тем самым выдавая информацию о режиме предсказания.
Этап S12: Определяется, является или нет текущий макроблок соответствующего уровня апертурной коррекции целевым макроблоком для взвешенного предсказания движения. Если результатом определения является ДА, выполняется последовательность операций этапа S14, а если результатом определения является НЕТ, выполняется последовательность операций этапа S13.
Этап S13: Предсказанный сигнал формируется в соответствии с информацией о режиме предсказания текущего макроблока, которая выдана этапом S11. Способ предсказания на этапе S13 может быть внутрикадровым предсказанием, обычным предсказанием движения (то есть не взвешенным) или межуровневым предсказанием. Способ предсказания в JSVM, показанной в непатентном документе 3, является примерным способом предсказания.
Этап S14: Когда текущий макроблок является целевым макроблоком для взвешенного предсказания движения, кодированные данные для вектора движения текущего макроблока извлекаются и подвергаются последовательности операций декодирования, тем самым выдавая информацию о векторе движения.
Этап S15: Получаются информация о векторе движения, выведенная на этапе S14, и декодированный сигнал макроблока его непосредственно нижнего уровня, так что выполняется взвешенная компенсация движения, и выводится подвергнутый взвешенному предсказанию движения сигнал. Эта последовательность операций также подробно показана на фиг.6 (пояснена позже).
Этап S16: Предсказанный сигнал, выведенный этапами S13 или S15, получается и прибавляется к декодированному остаточному сигналу (сигналу ошибки) предсказания, тем самым вырабатывая и выдавая декодированный сигнал.
Вариант осуществления взвешенной оценки движения (этап S3) в соответствии с настоящим изобретением будет пояснен со ссылкой на фиг.5.
Этап S21: Извлекается декодированный сигнал макроблока непосредственно нижнего уровня и декодированный сигнал текущего целевого макроблока поиска (в опорном кадре), и вычисляются и выводятся весовые коэффициенты, определенные между обоими макроблоками. Эта последовательность операций подробно показана на фиг.7 (пояснена позже).
Этап S22: Получается информация о весовых коэффициентах, выданная этапом S21, и декодированный сигнал текущего целевого макроблока поиска корректируется соответствующими весовыми коэффициентами. Выводится значение скорректированного сигнала.
Этап S23: Стоимость кодирования, определенная между значением сигнала, выведенным этапом S22, и исходным сигналом текущего макроблока, вычисляется по соответствующему объему кода и величине расхождения кодирования, и вычисленная стоимость выводится.
Этап S24: Определяется, все или нет целевые макроблоки поиска были подвергнуты соответствующему поиску. Если результатом определения является ДА, выполняется последовательность операций этапа S26, а если результатом определения является НЕТ, выполняется последовательность операций этапа S25.
Этап S25: Следующий целевой макроблок устанавливается, чтобы быть целевым объектом обработки, с тем чтобы повторить работу с этапа S21.
Этап S26: Получается информация о стоимости кодирования, выведенная этапом S23, макроблок, имеющий минимальную стоимость кодирования, выбирается из числа макроблоков, которые были найдены. Разность координат между выбранным макроблоком и текущим макроблоком выдается в качестве вектора движения.
Вариант осуществления взвешенной компенсации движения (этап S4 и этап S15) в соответствии с настоящим изобретением будет пояснен со ссылкой на фиг.6.
Этап S31: Информация о векторе движения текущего макроблока извлекается и выводится. Информация о векторе движения извлекается из (i) сигнала, выведенного из блока взвешенной оценки движения при взвешенной компенсации движения в последовательности операций кодирования, или (ii) сигнала, выведенного из процессора декодирования вектора движения при взвешенной компенсации движения в последовательности операций декодирования.
Этап S32: Получаются декодированный сигнал макроблока на непосредственно нижнем уровне и информация о векторе движения, выведенная на этапе S31, и вычисляются и выводятся весовые коэффициенты, определенные между опорным макроблоком, указанным соответствующим вектором движения, и текущим макроблоком. Эта последовательность операций подробно показана на фиг.7 (пояснена позже).
В последовательности операций кодирования весовые коэффициенты, вычисленные в последовательности операций взвешенной оценки, показанной на фиг.5, могут сохраняться вместе с информацией о векторе движения и выводиться.
Этап S33: Получается информация о весовых коэффициентах, выданная на этапе S32, и декодированный сигнал опорного макроблока корректируется соответствующими весовыми коэффициентами. Значение скорректированного сигнала затем выводится.
Вариант осуществления вычисления весовых коэффициентов (этап S21 и этап S32) в соответствии с настоящим изобретением будет пояснен со ссылкой на фиг.7.
Этап S41: Определяется, было или нет определено, что серия последовательных макроблоков, к которой принадлежит текущий макроблок, является серией B последовательных макроблоков, и выполняется двухпрогнозное предсказание. Если результатом определения является ДА, выполняется последовательность операций этапа S42, а если результатом определения является НЕТ, выполняется последовательность операций этапа S45.
Этап S42: Определяется, является или нет способ вычисления весовых коэффициентов (для текущего макроблока), назначенный внешним устройством, способом коррекции весовыми коэффициентами на основании минимизации квадратичной ошибки для двухпрогнозного предсказания серии B последовательных макроблоков. Если результатом определения является ДА, выполняется последовательность операций этапа S43, а если результатом определения является НЕТ, выполняется последовательность операций этапа S44.
Примеры того, как следует выдавать информацию назначения способа вычисления весовых коэффициентов из внешнего устройства, состоят в том, чтобы (i) изначально определять способ в качестве условия установки последовательности операций кодирования и сохранять его в наборе параметров кадра изображения, и (ii) выбирать надлежащий способ для каждой серии последовательных макроблоков посредством многопроходной обработки.
Этап S43: Вычисляются и выводятся весовые коэффициенты для минимизации квадратичной ошибки между скорректированным сигналом, сформированным декодированными сигналами двух корректируемых макроблоков, и декодированным сигналом соответствующего макроблока на непосредственно нижнем уровне. Эта последовательность операций подробно показана на фиг.8 (пояснена позже).
Этап S44: Коэффициент пропорциональности вычисляется на основании межкадрового расстояния между двумя корректируемыми кадрами и текущим кадром, а коэффициент смещения вычисляется на основании DC-составляющих декодированных сигналов двух корректируемых макроблоков и декодированного сигнала макроблока на непосредственно нижнем уровне. Вычисленные коэффициенты выводятся. Эта последовательность операций подробно показана на фиг.9 (пояснена позже).
Этап S45: Определяется, является или нет способ вычисления весовых коэффициентов (для текущего макроблока), назначенный внешним устройством, способом коррекции весовыми коэффициентами на основании минимизации квадратичной ошибки для серий P последовательных макроблоков или предсказания L0/L1 серии B последовательных макроблоков. Если результатом определения является ДА, выполняется последовательность операций этапа S46, а если результатом определения является НЕТ, выполняется последовательность операций этапа S47.
Подобно этапу S42, примеры того, как следует выдавать информацию назначения способа вычисления весовых коэффициентов из внешнего устройства, состоят в том, чтобы (i) изначально определять способ в качестве условия установки последовательности операций кодирования и сохранять его в наборе параметров кадра изображения, и (ii) выбирать надлежащий способ для каждой серии последовательных макроблоков посредством многопроходной обработки.
Этап S46: Вычисляются и выводятся весовые коэффициенты для минимизации квадратичной ошибки между скорректированным сигналом, сформированным декодированными сигналами корректируемого макроблока, и декодированным сигналом соответствующего макроблока на непосредственно нижнем уровне. Эта последовательность операций подробно показана на фиг.10 (пояснена позже).
Этап S47: Определяется, является или нет способ вычисления весовых коэффициентов (для текущего макроблока), назначенный внешним устройством, способом коррекции коэффициентами пропорциональности на основании DC-составляющих для серий P последовательных макроблоков или предсказания L0/L1 серии B последовательных макроблоков. Если результатом определения является ДА, выполняется последовательность операций этапа S48, а если результатом определения является НЕТ, выполняется последовательность операций этапа S49.
Подобно этапам S42 и S45, примеры того, как следует выдавать информацию назначения способа вычисления весовых коэффициентов из внешнего устройства, состоят в том, чтобы (i) изначально определять способ в качестве условия установки последовательности операций кодирования и сохранять его в наборе параметров кадра изображения, и (ii) выбирать надлежащий способ для каждой серии последовательных макроблоков посредством многопроходной обработки.
Этап S48: Отношение DC-составляющих между декодированным сигналом корректируемого макроблока и декодированным сигналом макроблока на непосредственно нижнем уровне, и выводится в качестве коэффициента пропорциональности. Эта последовательность операций подробно показана на фиг.11 (пояснена позже).
Этап S49: Разность DC-составляющих между декодированным сигналом корректируемого макроблока и декодированным сигналом макроблока на непосредственно нижнем уровне, и выводится в качестве коэффициента смещения. Эта последовательность операций подробно показана на фиг.12 (пояснена позже).
Вариант осуществления последовательности операций по этапу S43 на фиг.7 будет пояснен со ссылкой на фиг.8.
Этап S51: Декодированный сигнал макроблока на непосредственно нижнем уровне и декодированные сигналы двух корректируемых макроблоков извлекаются и сохраняются в буфере.
Этап S52: Декодированный сигнал макроблока на непосредственно нижнем уровне и декодированные сигналы двух корректируемых макроблоков получаются из буфера, и формируется система уравнений для получения минимальной квадратичной ошибки между скорректированным сигналом, сформированным декодированными сигналами двух корректируемых макроблоков, и декодированным сигналом макроблока на непосредственно нижнем уровне. Сформированная система уравнений сохраняется в регистре.
Этап S53: Система уравнений, сформированная на этапе S52, извлекается из регистра, и его решение вычисляется, так что вычисляются и выводятся коэффициент пропорциональности и коэффициент смещения. Решение может быть получено с использованием метода исключения Гаусса. Вышеприведенная последовательность операций выполняется с использованием описанных выше формул (16) и (17).
Вариант осуществления последовательности операций по этапу S44 на фиг.7 будет пояснен со ссылкой на фиг.9.
Этап S61: Декодированный сигнал макроблока на непосредственно нижнем уровне и декодированные сигналы двух корректируемых макроблоков извлекаются и сохраняются в буфере.
Этап S62: Декодированный сигнал макроблока на непосредственно нижнем уровне и декодированные сигналы двух корректируемых макроблоков получаются из буфера, и вычисляются DC-составляющие декодированного сигнала макроблока на непосредственно нижнем уровне и декодированных сигналов двух корректируемых макроблоков. Вычисленные DC-составляющие сохраняются в регистре.
Этап S63: DC-составляющие, вычисленные на этапе S62, извлекаются из регистра. Коэффициент пропорциональности вычисляется на основании расстояния между опорными кадрами, а коэффициент смещения вычисляется в соответствии с описанными выше формулами (13)-(15). Вычисленные коэффициенты выводятся.
Вариант осуществления последовательности операций по этапу S46 на фиг.7 будет пояснен со ссылкой на фиг.10.
Этап S71: Декодированный сигнал макроблока на непосредственно нижнем уровне и декодированные сигналы корректируемого макроблока извлекаются и сохраняются в буфере.
Этап S72: Декодированный сигнал макроблока на непосредственно нижнем уровне и декодированный сигнал корректируемого макроблока получаются из буфера, и формируется система уравнений для получения минимальной квадратичной ошибки между скорректированным сигналом, сформированным декодированными сигналами двух корректируемых макроблоков, и декодированным сигналом макроблока на непосредственно нижнем уровне. Сформированная система уравнений сохраняется в регистре.
Этап S73: Система уравнений, сформированная на этапе S72, извлекается из регистра, и его решение вычисляется, так что вычисляются и выводятся коэффициент пропорциональности и коэффициент смещения. Решение может быть получено с использованием метода исключения Гаусса. Вышеприведенная последовательность операций выполняется с использованием описанных выше формул (8) и (9).
Вариант осуществления последовательности операций по этапу S48 на фиг.7 будет пояснен со ссылкой на фиг.11.
Этап S81: Декодированный сигнал макроблока на непосредственно нижнем уровне и декодированные сигналы корректируемого макроблока извлекаются и сохраняются в буфере.
Этап S82: Декодированный сигнал макроблока на непосредственно нижнем уровне и декодированные сигналы корректируемого макроблока получаются из буфера, и вычисляются DC-составляющие декодированного сигнала макроблока на непосредственно нижнем уровне и декодированного сигнала корректируемого макроблока. Вычисленные DC-составляющие сохраняются в регистре.
Этап S83: DC-составляющие, вычисленные на этапе S82, извлекаются из регистра. Отношение между обеими DC-составляющими вычисляется в качестве коэффициента пропорциональности, а коэффициент смещения устанавливается в ноль. Вычисленные коэффициенты выводятся. Эта последовательность операций выполняется с использованием описанных выше формул (4) и (5).
Вариант осуществления последовательности операций по этапу S49 на фиг.7 будет пояснен со ссылкой на фиг.12.
Этап S91: Декодированный сигнал макроблока на непосредственно нижнем уровне и декодированные сигналы корректируемого макроблока извлекаются и сохраняются в буфере.
Этап S92: Декодированный сигнал макроблока на непосредственно нижнем уровне и декодированные сигналы корректируемого макроблока получаются из буфера, и вычисляются DC-составляющие декодированного сигнала макроблока на непосредственно нижнем уровне и декодированного сигнала корректируемого макроблока. Вычисленные DC-составляющие сохраняются в регистре.
Этап S93: DC-составляющие, вычисленные на этапе S92, извлекаются из регистра. Разность между обеими DC-составляющими вычисляется в качестве коэффициента смещения, а коэффициент пропорциональности устанавливается в единицу. Вычисленные коэффициенты выводятся. Эта последовательность операций выполняется с использованием описанных выше формул (6) и (7).
Устройства обработки
На фиг.13 показан пример конструкции устройства кодирования в соответствии с настоящим изобретением, которое обрабатывает одиночный макроблок.
Модуль 101 определения способа предсказания: Он извлекает информацию о назначении способа предсказания для текущего макроблока. В соответствии с информацией о назначении настоящее устройство обработки переключается на внутрикадровый предсказатель 102 для внутрикадрового предсказания, невзвешенный предсказатель 103 движения для обычного невзвешенного предсказания движения, межуровневый предсказатель 104 для межуровневого предсказания или блок 105 взвешенной оценки движения для взвешенного предсказания движения.
Внутрикадровый предсказатель 102: Он извлекает исходный сигнал и декодированный сигнал целевого кадра кодирования и выполняет внутрикадровое предсказание, с тем чтобы формировать предсказанный сигнал. Внутрикадровый предсказатель 102 выдает предсказанный сигнал в генератор 107 остаточного сигнала предсказания. Внутрикадровое предсказание в JSVM, показанной в непатентном документе 3, является примерным способом внутрикадрового предсказания.
Невзвешенный предсказатель 103 движения: Он извлекает исходный сигнал целевого кадра кодирования и декодированный сигнал опорного кадра и выполняет обычное невзвешенное предсказание движения, с тем чтобы формировать предсказанный сигнал, который выводится в генератор 107 остаточного сигнала предсказания. Невзвешенное предсказание движения в JSVM в непатентном документе 3 является примером способа невзвешенного предсказания движения.
Межуровневый предсказатель 104: Он извлекает исходный сигнал целевого кадра кодирования и декодированный сигнал непосредственно нижнего уровня и выполняет межуровневое предсказание, с тем чтобы формировать предсказанный сигнал, который выводится в генератор 107 остаточного сигнала предсказания. Межуровневое предсказание в JSVM в непатентном документе 3 является примером способа межуровневого предсказания.
Блок 105 взвешенной оценки движения: Он извлекает исходный сигнал целевого кадра кодирования, декодированный сигнал опорного кадра, который выводится из модуля 110 хранения декодированного сигнала соответствующего уровня апертурной коррекции, и декодированный сигнал непосредственно нижнего уровня, который выводится из модуля 111 хранения декодированного сигнала непосредственно нижнего уровня, и выполняет взвешенную оценку движения, с тем чтобы формировать вектор движения, который выводится во взвешенный компенсатор 106 движения. Подробная конструкция блока 105 взвешенной оценки движения показана на фиг.15 (поясненной позже).
Взвешенный компенсатор 106 движения: Он извлекает декодированный сигнал опорного кадра, выведенный из модуля 110 хранения декодированного сигнала соответствующего уровня апертурной коррекции, и декодированный сигнал непосредственно нижнего уровня, выведенный из модуля 111 хранения декодированного сигнала непосредственно нижнего уровня, и выполняет взвешенную компенсацию движения, с тем чтобы формировать предсказанный сигнал, который выводится в генератор 107 остаточного сигнала предсказания. Подробная конструкция взвешенного компенсатора 106 движения показана на фиг.16 (поясненной позже).
Генератор 107 остаточного сигнала предсказания: Он принимает исходный сигнал целевого кадра кодирования и предсказанный сигнал, выведенный из внутрикадрового предсказателя 102, невзвешенного предсказателя 103 движения, межуровневого предсказателя 104 или взвешенного компенсатора 106 движения, и формирует разностный сигнал между ними, который выводится в кодер 108 остаточного сигнала предсказания.
Кодер 108 остаточного сигнала предсказания: Он извлекает остаточный сигнал предсказания, выведенный из генератора 107 остаточного сигнала предсказания, и подвергает его кодированию, тем самым выдавая кодированные данные. Одновременно кодер 108 остаточного сигнала предсказания вводит кодированные данные в буфер, с тем чтобы ввести кодированные данные в декодер 109. Последовательность обработки ортогонального преобразования, квантования и кодирования с переменной длиной слова в JSVM в непатентном документе 3 является примерной последовательностью операций кодирования остаточного сигнала предсказания.
Декодер 109: Он извлекает кодированные данные из вышеприведенного буфера и подвергает кодированные данные декодированию. Полученный декодированный сигнал выводится в модуль 110 хранения декодированного сигнала соответствующего уровня апертурной коррекции. Последовательность операций декодирования выполняется на основании способа декодирования по настоящему изобретению. Подробная конструкция устройства декодирования для выполнения декодирования на фиг.14 (поясненной позже).
Модуль 111 хранения декодированного сигнала непосредственно нижнего уровня: Он извлекает декодированный сигнал, полученный последовательностью операций декодирования, примененной к кодированным данным непосредственно нижнего уровня, и выводит полученный декодированный сигнал в буфер.
На фиг.14 показан пример конструкции устройства декодирования в соответствии с настоящим изобретением, которое обрабатывает одиночный макроблок.
Декодер 201 способа предсказания: Он извлекает кодированные данные о режиме предсказания соответствующего макроблока и подвергает кодированные данные последовательности операций декодирования. Полученная информация о режиме предсказания выводится в модуль 202 хранения режима предсказания.
Модуль 203 определения способа предсказания: Он извлекает информацию о режиме предсказания из модуля 202 хранения режима предсказания. В соответствии с соответствующей информацией о назначении модуль 203 определения способа предсказания выбирает устройство соединения с внутрикадровым предсказателем 204 для внутрикадрового предсказания, невзвешенным предсказателем 205 движения для обычного невзвешенного предсказания движения, межуровневым предсказателем 206 для межуровневого предсказания или декодером 207 информации о векторе движения для взвешенного предсказания движения.
Внутрикадровый предсказатель 204: Он извлекает исходный сигнал и декодированный сигнал целевого кадра кодирования и выполняет внутрикадровое предсказание, с тем чтобы формировать предсказанный сигнал. Внутрикадровый предсказатель 204 выдает предсказанный сигнал в генератор 213 декодированного сигнала.
Невзвешенный предсказатель 205 движения: Он извлекает исходный сигнал целевого кадра кодирования и декодированный сигнал опорного кадра и выполняет обычное невзвешенное предсказание движения, с тем чтобы формировать предсказанный сигнал, который выводится в генератор 213 декодированного сигнала.
Межуровневый предсказатель 206: Он извлекает исходный сигнал целевого кадра кодирования и декодированный сигнал непосредственно нижнего уровня и выполняет межуровневое предсказание, с тем чтобы формировать предсказанный сигнал, который выводится в генератор 213 остаточного сигнала предсказания.
Декодер 207 информации о векторе движения: Он извлекает кодированные данные для вектора движения соответствующего макроблока и подвергает кодированные данные последовательности операций декодирования. Полученная информация о векторе движения выводится в модуль 208 хранения вектора движения.
Взвешенный компенсатор 209 движения: Он извлекает декодированный сигнал опорного кадра, выведенный из модуля 214 хранения декодированного сигнала соответствующего уровня апертурной коррекции, и декодированный сигнал непосредственно нижнего уровня, выведенный из модуля 210 хранения декодированного сигнала непосредственно нижнего уровня, и выполняет взвешенную компенсацию движения, с тем чтобы формировать предсказанный сигнал, который выводится в генератор 213 декодированного сигнала. Подробная конструкция взвешенного компенсатора 209 движения показана на фиг.16 (поясненной позже).
Модуль 210 хранения декодированного сигнала непосредственно нижнего уровня: Он принимает декодированный сигнал, полученный декодированием кодированной информации непосредственно нижнего уровня, и сохраняет декодированный сигнал в буфере.
Декодер 211 остаточного сигнала: Он извлекает кодированные данные для остаточного сигнала текущего макроблока и декодирует кодированные данные. Полученный остаточный сигнал выводится в модуль 212 хранения остаточного сигнала.
Генератор 213 декодированного сигнала: Он принимает предсказанный сигнал, выведенный из внутрикадрового предсказателя 204, невзвешенного предсказателя 205 движения, межуровневого предсказателя 206 или взвешенного компенсатора 209 движения и синтезирует предсказанный сигнал и остаточный сигнал, извлеченный из модуля 212 хранения остаточного сигнала, с тем чтобы формировать декодированный сигнал и выдавать его на внешнее устройство. Генератор 213 декодированного сигнала одновременно сохраняет декодированный сигнал в модуле 214 хранения декодированного сигнала соответствующего уровня апертурной коррекции.
Примерная конструкция блока 105 взвешенной оценки движения по фиг.13 показана на фиг.15. То есть фиг.15 является схемой, показывающей устройство, которое применяет взвешенную оценку движения к макроблоку на соответствующем уровне апертурной коррекции.
Модуль 301 установки целевого блока поиска: Он извлекает декодированный сигнал опорного кадра, который является декодированным сигналом соответствующего уровня апертурной коррекции, и определяет макроблок в качестве целевого объекта поиска для оценки движения. Модуль 301 установки целевого блока поиска выводит декодированный сигнал соответствующего макроблока в модуль 302 вычисления весовых коэффициентов.
Модуль 302 вычисления весовых коэффициентов: Он принимает декодированный сигнал целевого макроблока поиска, выведенный из модуля 301 установки целевого блока поиска, и декодированный сигнал соответствующего блока на непосредственно нижнем уровне и вычисляет весовые коэффициенты, которые указывают изменение яркости между обоими блоками и выводятся в модуль 303 хранения весовых коэффициентов.
Генератор 304 подвергнутого взвешенной оценке движения сигнала: Он извлекает весовые коэффициенты из модуля 303 хранения весовых коэффициентов и корректирует декодированный сигнал целевого блока поиска на основании весовых коэффициентов. Скорректированный сигнал выводится в модуль 305 хранения подвергнутого взвешенной оценке движения сигнала.
Модуль 306 вычисления стоимости кодирования: Он извлекает подвергнутый взвешенной оценке движения сигнал из модуля 305 хранения подвергнутого взвешенной оценке движения сигнала и вычисляет стоимость кодирования для исходного сигнала текущего макроблока. Вычисленная стоимость выводится в модуль 307 хранения стоимости кодирования.
Модуль 308 определения завершения поиска: Он определяет, был или нет поиск опорного кадра при взвешенной оценке движения для текущего макроблока выполнен по всей назначенной области поиска. Если результат определения является истинным, модуль 309 установки опорного блока выбирается присоединенным к модулю 308 определения завершения поиска, тогда как, если результат определения является ложным, выбирается модуль 301 установки целевого блока поиска.
Модуль 309 выбора опорного блока: Он извлекает набор данных стоимости кодирования для всех целевых макроблоков поиска из модуля 307 хранения стоимости кодирования и выбирает один из целевых блоков поиска, который имеет минимальную стоимость кодирования, опорным блоком. Модуль 309 выбора опорного блока выводит разность координат между опорным блоком и текущим макроблоком.
Примерная конструкция взвешенного компенсатора 106 движения по фиг.13 и взвешенного компенсатора 209 движения по фиг.14 показана на фиг.16. То есть фиг.16 является схемой, показывающей устройство, которое применяет взвешенную компенсацию движения к макроблоку на соответствующем уровне апертурной коррекции.
Модуль 401 установки сигнала опорного блока: Он извлекает декодированный сигнал опорного кадра, который является декодированным сигналом соответствующего уровня апертурной коррекции, и информацию о векторе движения, определяет опорный макроблок и выводит сигнал макроблока в модуль 402 вычисления весовых коэффициентов.
Вышеприведенная информация о векторе подается из (i) блока 105 взвешенной оценки движения (по фиг.13), когда соответствующий взвешенный компенсатор движения предусмотрен в устройстве кодирования, или (ii) модуля 208 хранения вектора движения (по фиг.14) для хранения информации о декодированном векторе движения, когда взвешенный компенсатор движения предусмотрен в устройстве кодирования.
Модуль 402 вычисления весовых коэффициентов: Он принимает декодированный сигнал опорного макроблока, выведенный из модуля 401 установки сигнала опорного блока, и декодированный сигнал соответствующего блока на непосредственно нижнем уровне и вычисляет весовые коэффициенты, которые указывают изменение яркости между обоими блоками и выводятся в модуль 403 хранения весовых коэффициентов. При взвешенной компенсации движения во время операции кодирования весовые коэффициенты, вычисленные в блоке 105 взвешенной оценки движения (по фиг.13), могут сохраняться вместе с информацией о векторе движения и выводиться в модуль 403 хранения весовых коэффициентов.
Генератор 404 подвергнутого взвешенному предсказанию сигнала: Он извлекает весовые коэффициенты из модуля 403 хранения весовых коэффициентов и корректирует декодированный сигнал опорного блока на основании весовых коэффициентов. Скорректированный сигнал выводится в модуль 405 хранения подвергнутого взвешенному предсказанию сигнала.
Примерная конструкция модуля 302 вычисления весовых коэффициентов по фиг.15 и модуля 402 вычисления весовых коэффициентов по фиг.16 показана на фиг.17. То есть фиг.17 является схемой, показывающей устройство, которое применяет вычисление весовых коэффициентов к макроблоку на соответствующем уровне апертурной коррекции.
Модуль 501 определения способа вычисления весовых коэффициентов: Он соединяется с процессором, который выполняет вычисление весовых коэффициентов в соответствии со способом вычисления весовых коэффициентов, назначенным внешним устройством.
Примеры того, как следует выдавать информацию назначения способа вычисления весовых коэффициентов из внешнего устройства, состоят в том, чтобы (i) изначально определять способ в качестве условия установки последовательности операций кодирования и сохранять его в наборе параметров кадра изображения, и (ii) выбирать надлежащий способ для каждой серии последовательных макроблоков посредством многопроходной обработки.
Процессор 502 коррекции весовыми коэффициентами на базе минимизации квадратичной ошибки двухпрогнозного предсказания: Он принимает декодированные сигналы соответствующих двух корректируемых макроблоков и декодированный сигнал целевого макроблока коррекции на непосредственно нижнем уровне, вычисляет и выдает весовые коэффициенты с использованием способа наименьших квадратов. Фиг.18 показывает подробную конструкцию этого процессора, а вышеприведенная последовательность операций выполняется с использованием описанных выше формул (16) и (17).
Процессор 503 коррекции весовыми коэффициентами на базе DC-составляющих двухпрогнозного предсказания: Он принимает декодированные сигналы двух корректируемых макроблоков и декодированный сигнал целевого макроблока коррекции на непосредственно нижнем уровне, вычисляет и выдает весовые коэффициенты с использованием DC-составляющих извлеченных сигналов. Фиг.19 показывает подробную конструкцию этого процессора, а вышеприведенная последовательность операций выполняется с использованием описанных выше формул (13)-(15).
Процессор 504 коррекции весовыми коэффициентами на базе минимизации квадратичной ошибки покадрового предсказания: Он принимает декодированный сигнал соответствующего корректируемого макроблока и декодированный сигнал целевого макроблока коррекции на непосредственно нижнем уровне, вычисляет и выводит весовые коэффициенты для минимизации квадратичной ошибки между скорректированным сигналом, сформированным декодированным сигналом корректируемого макроблока и декодированным сигналом целевого макроблока коррекции на непосредственно нижнем уровне. Эта последовательность операций выполняется с использованием описанных выше формул (8) и (9).
Процессор 505 коррекции коэффициентами пропорциональности на базе DC-составляющих покадрового предсказания: Он принимает декодированный сигнал корректируемого макроблока и декодированный сигнал целевого макроблока коррекции на непосредственно нижнем уровне, вычисляет DC-составляющую каждого соответствующего блока, вычисляет отношение между обеими DC-составляющими, а также выводит это отношение в качестве коэффициента пропорциональности. Вышеприведенная последовательность операций выполняется с использованием описанных выше формул (4) и (5).
Процессор 506 коррекции коэффициентами смещения на базе DC-составляющих покадрового предсказания: Он принимает декодированный сигнал корректируемого макроблока и декодированный сигнал целевого макроблока коррекции на непосредственно нижнем уровне, вычисляет DC-составляющую каждого соответствующего блока, вычисляет разницу между обеими DC-составляющими и выводит эту разницу в качестве коэффициента смещения. Эта последовательность операций выполняется с использованием описанных выше формул (6) и (7).
Фиг.18 - схема, показывающая примерную конструкцию процессора 502 коррекции весовыми коэффициентами на базе минимизации квадратичной ошибки двухпрогнозного предсказания по фиг.17. Ниже работа процессора 502 коррекции весовыми коэффициентами на базе минимизации квадратичной ошибки двухпрогнозного предсказания будет пояснена со ссылкой на фиг.18.
Формирователь 601 системы уравнений: Он извлекает декодированный сигнал целевого макроблока коррекции на непосредственно нижнем уровне и декодированные сигналы двух корректируемых макроблоков и формирует систему уравнений для получения минимальной квадратичной ошибки между скорректированным сигналом, сформированным декодированными сигналами (то есть опорными декодированными сигналами) двух корректируемых макроблоков, и декодированным сигналом макроблока на непосредственно нижнем уровне. Сформированная система уравнений выдается в модуль 602 решения системы уравнений.
Модуль 602 решения системы уравнений: Он принимает систему уравнений, выведенную из формирователя 601 системы уравнений, и получает ее решение, тем самым вычисляя коэффициент пропорциональности и коэффициент смещения, которые выводятся. Решение может быть получено с использованием метода исключения Гаусса. Вышеприведенная последовательность операций выполняется с использованием описанных выше формул (16) и (17).
Фиг.19 - схема, показывающая примерную конструкцию процессора 503 коррекции весовыми коэффициентами на базе DC-составляющих двухпрогнозного предсказания по фиг.17. Ниже работа процессора 503 коррекции весовыми коэффициентами на базе DC-составляющих двухпрогнозного предсказания будет пояснена со ссылкой на фиг.19.
Модуль 701 вычисления DC-составляющей декодированного сигнала непосредственно нижнего уровня: Он извлекает декодированный сигнал макроблока на непосредственно нижнем уровне из соответствующего буфера, вычисляет его DC-составляющую и сохраняет DC-составляющую в регистре.
Модуль 702 вычисления DC-составляющей опорного декодированного сигнала 1: Он извлекает декодированный сигнал одного корректируемого макроблока из соответствующего буфера, вычисляет его DC-составляющую и сохраняет DC-составляющую в регистре.
Модуль 703 вычисления DC-составляющей опорного декодированного сигнала 2: Он извлекает декодированный сигнал корректируемого макроблока, иного чем обрабатываемый модулем 702 вычисления DC-составляющей опорного декодированного сигнала 1, из соответствующего буфера, вычисляет его DC-составляющую и сохраняет DC-составляющую в регистре.
Модуль 704 вычисления коэффициента пропорциональности: Он извлекает номер опорного кадра, вычисляет коэффициент пропорциональности и выводит коэффициент пропорциональности в модуль 705 хранения коэффициента пропорциональности.
Модуль 706 вычисления коэффициента смещения: Он извлекает каждую DC-составляющую из соответствующего регистра и коэффициент пропорциональности из модуля 705 хранения коэффициента пропорциональности и вычисляет коэффициент смещения, который выводится в модуль 707 хранения коэффициента смещения. Коэффициент смещения вычисляется с использованием формул (13)-(15).
Фиг.20 - схема, показывающая примерную конструкцию процессора 504 коррекции весовыми коэффициентами на базе минимизации квадратичной ошибки покадрового предсказания по фиг.17. Ниже работа процессора 504 коррекции весовыми коэффициентами на базе минимизации квадратичной ошибки покадрового предсказания будет пояснена со ссылкой на фиг.20.
Формирователь 801 системы уравнений: Он извлекает декодированный сигнал целевого макроблока коррекции на непосредственно нижнем уровне и декодированный сигнал корректируемого макроблока и формирует систему уравнений для получения минимальной квадратичной ошибки между скорректированным сигналом, сформированным декодированными сигналами корректируемого макроблока, и декодированным сигналом макроблока на непосредственно нижнем уровне. Сформированная система уравнений выдается в модуль 802 решения системы уравнений.
Модуль 802 решения системы уравнений: Он принимает систему уравнений, выведенную из формирователя 801 системы уравнений, и получает ее решение, тем самым вычисляя коэффициент пропорциональности и коэффициент смещения, которые выводятся. Решение может быть получено с использованием метода исключения Гаусса. Вышеприведенная последовательность операций выполняется с использованием описанных выше формул (8) и (9).
Фиг.21 - схема, показывающая примерную конструкцию процессора 505 коррекции коэффициентом пропорциональности на базе DC-составляющих покадрового предсказания по фиг.17. Ниже работа процессора 505 коррекции коэффициентом пропорциональности на базе DC-составляющих покадрового предсказания будет пояснена со ссылкой на фиг.21.
Модуль 901 вычисления DC-составляющей декодированного сигнала непосредственно нижнего уровня: Он извлекает декодированный сигнал макроблока на непосредственно нижнем уровне из соответствующего буфера, вычисляет его DC-составляющую и сохраняет DC-составляющую в регистре.
Модуль 902 вычисления DC-составляющей опорного декодированного сигнала: Он извлекает декодированный сигнал корректируемого макроблока из соответствующего буфера, вычисляет его DC-составляющую и сохраняет DC-составляющую в регистре.
Модуль 903 вычисления коэффициента пропорциональности: Он извлекает два значения DC-составляющих из регистров, вычисляет отношение между обоими DC-составляющими и выводит отношение в качестве коэффициента пропорциональности. Эта последовательность операций выполняется с использованием описанных выше формул (4) и (5).
Фиг.22 - схема, показывающая примерную конструкцию процессора 506 коррекции смещением на базе DC-составляющих покадрового предсказания по фиг.17. Ниже работа процессора 506 коррекции смещением на базе DC-составляющих покадрового предсказания будет пояснена со ссылкой на фиг.22.
Модуль 1001 вычисления DC-составляющей декодированного сигнала непосредственно нижнего уровня: Он извлекает декодированный сигнал макроблока на непосредственно нижнем уровне из соответствующего буфера, вычисляет его DC-составляющую и сохраняет DC-составляющую в регистре.
Модуль 1002 вычисления DC-составляющей опорного декодированного сигнала: Он извлекает декодированный сигнал корректируемого макроблока из соответствующего буфера, вычисляет его DC-составляющую и сохраняет DC-составляющую в регистре.
Модуль 1003 вычисления коэффициента смещения: Он извлекает два значения DC-составляющих из регистров, вычисляет разность между обоими DC-составляющими и выводит разность в качестве коэффициента смещения. Эта последовательность операций выполняется с использованием описанных выше формул (6) и (7).
Описанные выше операции масштабированного кодирования и декодирования видео могут быть реализованы не только аппаратными или аппаратно-программными ресурсами, но также могут быть компьютером и программно реализованной программой. Такая программа может быть предоставлена ее сохранением на машинно-читаемом запоминающем носителе или посредством сети.
Эксперимент
Для того чтобы проверить результаты настоящего изобретения, способ в соответствии с настоящим изобретением применялся к образцовому программному обеспечению JSVM 8.0 JSVC (смотрите непатентный документ 3), с тем чтобы сравнить способ по настоящему изобретению с неявным режимом JSVM. В обоих способах декодер выполнял декодирование с многими циклами. В дополнение, в обоих способах оценка движения ограниченно выполнялась с интегральной точностью. При вышеописанных условиях результаты были проверены для выцветающих и вспышечных изображений.
Ниже в способе вычисления весовых коэффициентов для двухпрогнозного предсказания серий B последовательных макроблоков показан примерный эксперимент коррекции весовыми коэффициентами с использованием блока DC-составляющих в двухпрогнозном предсказании (поясненном в способе 2-1). Подобные предпочтительные результаты проверки были получены при использовании любого другого способа в соответствии с настоящим изобретением. Результаты проверки для выцветающих изображений
Таблица 2 показывает условия эксперимента.
<b>Таблица 2</b><b>Условия эксперимента для выцветающих изображений</b>
Последовательность
Город, Бригадир, Футбол
Количество кадров
33 кадра (смешанных с плавным введением белого изображения)
Разрешение
(BL) QCIF (EL) CIF
Частота кадров
30 кадров в секунду
GOP (группа изображений)
16 (иерархических B)
QP
21, 24, 27, 30
WP
(серия P последовательных макроблоков) выключена (серия B последовательных макроблоков) включена
В эксперименте использовались изображения (с подмешанным выцветанием), полученные применением эффекта постепенного введения белого изображения (в течение 33 кадров изображения) к каждому из трех типов стандартных изображений JSVC. Такие изображения с подмешанным белым выцветанием формировались, как изложено ниже:
g(t)=(1-f(t))a(t)+f(t)b(t)
В вышеприведенной формуле g(t) указывает изображение плавного ввода увеличением яркости, a(t) указывает одноцветное (белое) изображение, b(t) указывает исходное изображение, а f(t) - функция для вычисления коэффициента микширования.
2
В представленном эксперименте использовались два типа f(t); одним была f(t)=t/T (линейное выцветание), а другим была f(t)= (t/T) (квадратичное выцветание). Здесь T указывает отрезок выцветания. 33 выцветающих изображения были целевыми объектами кодирования, и один кадр соответствовал одной серии последовательных макроблоков.
Таблица 3 показывает результаты эксперимента.
<b>Таблица 3</b><b>Эффективность кодирования кадра B изображения для выцветающих изображений</b>
Последовательность
Выцветание
BD бит [%]
BD отношения сигнал/шум [дБ]
Город
Линейное
-1,23
0,038
Квадратичное
-6,28
0,215
Бригадир
Линейное
-0,03
0,001
Квадратичное
-6,15
0,187
Футбол
Линейное
-0,50
0,018
Квадратичное
-2,34
0,095
В качестве критериев оценки эффективности использовалась «дельта Бьонтигаарда» в следующем документе: G. Bjontegaard: «Calculation of average PNSR differences between RD-curves», ITU-T SG16 Q.6, VCEG, VCEG-M33, pp. 1-4, 2001 (Ж. Бьонтигаард: «Расчет разностей средних PNSR между кривыми RD» ITU-T SG16 Q.6, VCEG, VCEG-M33, стр. 1-4, 2001 год). Это способ для вычисления разностей объема кода и PSNR (пикового отношения сигнал/шум) между двумя кривыми RD.
В таблице 3, для способа по настоящему изобретению, «BD бит» и «BD отношения сигнал/шум» соответственно указывают скорость возрастания объема кода и скорость возрастания PSNR из DSVM для кадров B изображения. Настоящее изобретение реализовало (i) уменьшение в 0,59% (в среднем) объема кода и улучшение в 0,019 дБ отношения SN (сигнал/шум) для изображений с линейным выцветанием, а также (ii) уменьшение в 4,92% (в среднем) объема кода и улучшение в 0,166 дБ отношения SN для изображений с квадратичным выцветанием.
Фиг.23 показывает временное изменение BD бит между квадратично выцветающими кадрами B изображения для стандартного изображения «Город» JSVC.
Фиг.24 показывает временное изменение средней яркости (средн. ярк.) для изображений «Город» с подмешанным выцветанием и временное изменение среднего коэффициента смещения (средн. смещение), полученное при кодировании изображений с подмешанным выцветанием с использованием QP (параметра квантования) 24.
Вследствие иерархической структуры кадра B изображения чем меньше временной уровень соответствующего кадра B, тем больше отклонение от линейной формы для изменения яркости у опорного сигнала, так что настоящее изобретение является более результативным.
Со ссылкой на фиг.23 может быть подтверждено, что большое снижение (на более 10%) объема кода было реализовано для кадров B, имеющих относительно низкий временной уровень.
В таком случае также может быть подтверждено, обращением к фиг.24, что в качестве коэффициента смещения выводилось ненулевое значение, которое указывает, что коэффициент смещения мог бы лучше корректировать изменение яркости.
Результаты проверки для вспышечных изображений
Для вспышечных изображений применялось стандартное изображение «Бригада» JSVC, и кодировалось 300 кадров изображения, где GOP (группа изображений) имела значение 8. Другие условия эксперимента были такими же, как показанные в таблице 2.
Фиг.25 показывает временное изменение BD бит для кадров B изображения, а фиг.26 показывает среднюю яркость исходных изображений и временное изменение средних коэффициентов смещения при кодировании изображений с использованием QP 24.
На фиг.26 каждый кадр (названы «вспышечным кадром»), имеющий резкое изменение средней яркости, содержал вспышку. В дополнение, каждый кадр, к которому не применялся неявный режим в соответствии с настоящим изобретением, имел коэффициент смещения ноль.
Со ссылкой на фиг.25 может быть подтверждено, что снижение приблизительно на 10% (максимум 36,2%) объема кода было реализовано для вспышечных кадров и кадров около них. Для всех кадров B изображения в соответствующей последовательности (BD бит)=-1,14%, а (BD отношения сигнал/шум)=0,043 дБ.
При сверке сигнала яркости с коэффициентом смещения, подобно изменению BD бит, может быть подтверждено, что ненулевые коэффициенты смещения вычислялись для вспышечных кадров и кадров около них.
Каждому вспышечному кадру был назначен положительный коэффициент смещения, соответствующий увеличению яркости. Для каждого кадра (около соответствующего вспышечного кадра), который указывается ссылкой как вспышечный кадр для предсказания, отклонение от линейного предсказания, обусловленное опорой на вспышечный кадр, имеющий высокую яркость, корректировалось с использованием отрицательного коэффициента смещения.
Также может быть подтверждено, что вычисленные коэффициенты смещения лучше корректировали вспышечные изображения.
ПРОМЫШЛЕННАЯ ПРИМЕНИМОСТЬ
В соответствии с настоящим изобретением весовые коэффициенты могут вычисляться для каждого требуемого локального участка. Поэтому, даже когда яркость изменяется в части изображения вследствие тени движущегося объекта, или тому подобного, точное взвешенное предсказание движения может быть воплощено посредством неявного режима, который не выполняет никакой передачи весовых коэффициентов.
К тому же в предсказании L0/L1 серий P и B последовательных макроблоков, которое традиционно имеет только явный режим, можно выполнять взвешенное предсказание движения посредством неявного режима.
Дополнительно, в соответствии с коррекцией с учетом информации о яркости непосредственно нижнего уровня, даже для изображений (например, изображений, содержащих вспышечные и выцветающие изображения, имеющие нелинейное изменение), имеющих нелинейное изменение яркости между целевым кадром кодирования или декодирования и опорными кадрами предсказания, можно выполнять взвешенное предсказание движения посредством неявного режима. В соответствии с таким улучшением эффективности взвешенного предсказания движения, может улучшаться результативность кодирования.