Способ моделирования информации кодирования видеосигнала для компрессии/декомпрессии информации кодирования

Иллюстрации

Показать все

Изобретение относится к способу моделирования информации кодирования видеосигнала для компрессии (сжатия) информации кодирования или декомпрессии (восстановления) сжатой информации масштабируемым видеокодеком (SVC). Техническим результатом является обеспечение моделирования информации кодирования, имеющей корреляцию между множеством уровней, для увеличения коэффициента компрессии данных. Указанный технический результат достигается тем, что получают первую индексную переменную, основываясь на контекстном индексном смещении для информации кодирования блока изображения на первом уровне; получают вторую индексную переменную, используя контекстное индексное смещение и первую индексную переменную; и определяют первоначальное значение функции для вероятностного кодирования, основываясь второй индексной переменной, причем первую индексную переменную получают, основываясь на информации кодирования, указывающей корреляцию между первым уровнем и вторым уровнем. 2 н. и 10 з.п. ф-лы, 5 ил.

Реферат

Область техники, к которой относится изобретение

Настоящее изобретение относится к способу моделирования информации кодирования видеосигнала для компрессии (сжатия) информации кодирования или декомпрессии (восстановления) сжатой информации.

Предшествующий уровень техники

Масштабируемый видеокодек (SVC) кодирует видеоданные в последовательность изображений с наивысшим качеством изображения, гарантируя, что часть последовательности кодированных изображений (в частности, частичная последовательность кадров, скачкообразно выбранных из общей последовательности кадров) может быть декодирована и использована для отображения видеоданных с низким качеством изображения.

Несмотря на возможность отображения видеоданных с низким качеством изображения, посредством приема и обработки части последовательности изображений, закодированных согласно масштабируемой схеме, остается проблема, при которой значительно снижается качество изображения, в случае низкой скорости передачи данных. Одно решение этой проблемы заключается в обеспечении вспомогательной последовательности изображений для низких скоростей передачи данных, например, последовательности изображений, имеющих малый размер экрана и/или низкую частоту кадров.

Вспомогательная последовательность изображений называется основным уровнем, а основная последовательность кадров называется расширенным уровнем или уровнем улучшения. При обеспечении основного уровня для увеличения эффективности кодирования выполняется межуровневое предсказание.

Масштабируемый видеокодек (SVC), являющийся кодеком, расширенным из усовершенствованного видеокодека (AVC) (также называемого «Н.264»), может использовать контекстно-адаптивное бинарное (двоичное) арифметическое кодирование (CABAC) для компрессии данных. CABAC является схемой энтропийного кодирования, предложенной для использования в компрессии видеосигнала, закодированного в AVC.

CABAC выполняет моделирование для арифметического кодирования информации кодирования макроблока, являющегося конкретным синтаксическим элементом, просто с использованием соответствующей информации кодирования соседнего макроблока того же уровня. Соответствующее моделирование информации кодирования, согласно вероятностям значений информации кодирования, увеличивает коэффициент компрессии арифметического кодирования.

Однако CABAC не имеет определенного стандарта для моделирования информации кодирования с использованием информации множества уровней. Таким образом, при использовании масштабированного видеокодека (SVC), обеспечивающего множество уровней, CABAC не может обеспечить подходящее моделирование для информации кодирования, имеющей корреляцию между множеством уровней.

Раскрытие изобретения

Настоящее изобретение было создано с учетом вышеизложенных проблем, и целью настоящего изобретения является обеспечение способа моделирования информации кодирования, имеющей корреляцию между множеством уровней, для увеличения коэффициента компрессии данных.

В соответствии с настоящим изобретением, вышеупомянутые и другие цели могут быть достигнуты посредством обеспечения способа моделирования, в котором первоначальное значение функции для вероятностного кодирования информации кодирования блока изображения на первом уровне определяется на основе информации кодирования второго уровня, отличающегося от первого уровня.

В варианте осуществления настоящего изобретения, флаги, которые могут быть использованы для определения первоначального значения функции для вероятностного кодирования информации кодирования, включают в себя флаг «base_mode_flag» (флаг основного режима), указывающий на то, должны ли данные изображения, закодированные в режиме внутрикадрового кодирования, или информация вектора движения блока на втором уровне, соответствующего блоку изображения, использоваться для блока изображения, флаг «base_mode_refinement_flag» (флаг улучшения основного режима), указывающий на то, необходимо ли для блока изображения повышение качества для использования информации вектора движения блока на втором уровне, соответствующего блоку изображения, флаг «residual_prediction_flag» (флаг предсказания остатка), указывающий на то, были ли остаточные данные блока изображения закодированы с использованием данных, предсказанных из остаточных данных блока на втором уровне, соответствующего блоку изображения, флаг «intra_base_flag», указывающий на то, были ли данные изображения блока изображения закодированы в разностные данные, на основе данных изображения блока режима внутрикадрового кодирования на втором уровне, соответствующего блоку изображения, флаг «mvd_ref_lX», указывающий значение повышения качества, требуемое для получения вектора движения блока изображения с использованием информации вектора движения блока на втором уровне, соответствующего блоку изображения, а также флаг «motion_prediction_flag_lX» (флаг предсказания движения), указывающий на то, должен ли вектор движения блока на втором уровне, соответствующего блоку изображения, использоваться для предсказывающего вектора движения блока изображения.

В другом варианте осуществления настоящего изобретения, информация кодирования, соответствующая информации кодирования блока изображения, блока на втором уровне, соответствующего блоку изображения, используется в качестве информации кодирования второго уровня.

В другом варианте осуществления настоящего изобретения, информация, указывающая на то, используется ли блок на втором уровне, соответствующий блоку изображения, закодированный в режиме межкадрового кодирования или в режиме внутрикадрового кодирования, в качестве информации кодирования второго уровня.

В другом варианте осуществления настоящего изобретения, первоначальное значение определяется на основе того, действительно ли информация сегментирования блока на втором уровне, соответствующего блоку изображения, идентична информации сегментирования блока изображения.

В другом варианте осуществления настоящего изобретения, первоначальное значение определяется либо на основе значения параметра квантования блока на втором уровне, соответствующего блоку изображения, либо на основе разности между упомянутым значением параметра квантования и значением параметра квантования блока изображения.

В другом варианте осуществления настоящего изобретения, первоначальное значение определяется на основе разности между вектором движения блока изображения и вектором движения блока на втором уровне, соответствующего блоку изображения.

В другом варианте осуществления настоящего изобретения, первоначальное значение определяется на основе того, идентично ли значение, указывающее эталонное изображение блока изображения, значению, указывающему эталонное изображение блока на втором уровне, соответствующего блоку изображения.

В другом варианте осуществления настоящего изобретения, первоначальное значение определяется на основе того, идентично ли пространственное разрешение блока изображения пространственному разрешению блока на втором уровне, соответствующего блоку изображения.

В другом варианте осуществления настоящего изобретения, первоначальное значение определяется на основе информации структуры блока, указывающей на то, присутствует ли значение, иное чем «0», в блоке на втором уровне, соответствующем блоку изображения.

В другом варианте осуществления настоящего изобретения для определения первоначального значения, на основе информации кодирования второго уровня, выбираются две константы «m» и «n», на основе выбранных констант «m» и «n» определяется промежуточное значение и информация, связанная с кодированием второго уровня (например, значение параметра квантования второго уровня, разность между значениями параметров квантования первого и второго уровней или отношение пространственного разрешения между первым и вторым уровнями), и на основе того, является ли промежуточное значение бόльшим, чем предварительно определенное значение, определяется первоначальное значение вероятности и MPS информации кодирования.

Краткое описание чертежей

Вышеупомянутые и другие цели, признаки и прочие преимущества настоящего изобретения будут более четко поняты из нижеследующего подробного описания, иллюстрируемого чертежами, на которых изображено следующее:

фиг.1 - блок-схема блока выполнения CABAC кодера усовершенствованного уровня, выполняющего моделирование контекста, согласно настоящему изобретению;

фиг.2 - пример бинаризации входной информации кодирования;

фиг.3 - способ моделирования контекста для вероятностного кодирования информации кодирования;

фиг.4 - процедура определения первоначального значения для вероятностного кодирования; и

фиг.5 - блок-схема блока выполнения CABAC декодера усовершенствованного уровня, выполняющего моделирование контекста, согласно настоящему изобретению.

Варианты осуществления изобретения

Ниже, со ссылкой на чертежи, подробно описаны варианты осуществления настоящего изобретения.

Фиг.1 изображает блок-схему блока выполнения CABAC усовершенствованного уровня, согласно предпочтительному варианту осуществления настоящего изобретения. Изображенный на фиг.1 блок выполнения CABAC включает в себя блок 101 бинаризации, блок 102 моделирования контекста и блок 110 арифметического кодирования. Блок 101 бинаризации выполняет бинаризацию информации кодирования с небинарными значениями, согласно указанной схеме. В частности, блок 101 бинаризации преобразует синтаксический элемент с небинарными значениями в бинарную строку, как показано на фиг.1. Блок 102 моделирования контекста моделирует каждый бит информации кодирования с бинарными значениями не только на основе информации кодирования соседнего блока на том же уровне (в данном примере на усовершенствованном уровне), но также и на основе информации кодирования основного уровня, коррелированной с информацией кодирования с бинарными значениями или информацией 10 межуровневого отношения. Блок 110 арифметического кодирования выполняет арифметическое кодирование входного бита на основе установленной модели.

Блок 110 арифметического кодирования включает в себя стандартный механизм 103 кодирования для выполнения арифметического кодирования битов информации кодирования на основе переменных (в частности, вероятностных функций и первоначальных значений вероятностных функций), смоделированных блоком 102 моделирования контекста, а также механизм 104 обходного кодирования для выполнения арифметического кодирования информации кодирования, которая не извлекает выгоду из моделирования, поскольку биты 0 и 1 информации кодирования имеют почти аналогичную вероятность появления.

Настоящее изобретение, которое использует моделирование входной информации кодирования, непосредственно не связано с процедурой арифметического кодирования, основанной на смоделированных переменных. Поэтому описание битовой компрессии (энтропийного кодирования), связанной с блоком 110 арифметического кодирования, опущено в настоящем документе, поскольку оно не является необходимым для понимания настоящего изобретения.

Если входная информация кодирования имеет небинарное значение, то изображенный на фиг.1 блок выполнения CABAC выполняет бинаризацию значения входной информации кодирования с помощью блока 101 бинаризации. Фиг.2 изображает пример бинаризации. Информация кодирования, используемая в изображенном на фиг.2 примере, связана с типами макроблоков (mb_type). Типам макроблоков (с прямым кодированием, с внутрикадровым кодированием, P_16x16, P_16x8, P_8x16 и P_8x8) назначаются соответствующие бинарные значения (или бинарные последовательности (строки)), согласно предварительно определенной схеме (или таблице преобразования). Другая информация кодирования бинаризуется, согласно другим схемам (или таблицам преобразования), определенным для соответствующих элементов, способом, подобным изображенному на фиг.2.

Для битовой компрессии, биты, полученные с помощью вышеупомянутой бинаризации, вводятся в блок 110 арифметического кодирования, обеспеченный следом за блоком 101 бинаризации. Биты информации кодирования, имеющие аналогичную вероятность появления битовых значений 0 и 1, непосредственно вводятся в механизм 104 обходного кодирования, тогда как биты информации кодирования, имеющие различающиеся вероятности появления битовых значений 0 и 1, вводятся в блок 102 моделирования контекста, так что входные биты подвергаются процессу моделирования.

Блок 102 моделирования контекста выполняет моделирование каждого бита входной информации кодирования на усовершенствованном уровне на основе битовых значений соответствующей информации кодирования соседнего макроблока и/или информации кодирования основного уровня, коррелированной с информацией кодирования и значением соответствующей информации кодирования, принятой от блока кодирования основного уровня (не показан), либо на основе информации 10, относящейся к взаимосвязи между усовершенствованным уровнем и основным уровнем. Моделирование является процессом выбора вероятностной функции и определения первоначального значения вероятностной функции. Как изображено на фиг.3, значение смещения k-1, k или k+1 определяется, согласно информации кодирования, для выбора вероятностной функции fk-1/fk или fk+1 информации кодирования и определения значения индексной переменной «ctxIdxInc» из значения смещения, согласно информации, коррелированной с информацией кодирования. Подобная вероятностная функция может быть использована для всей информации кодирования. Другими словами, простая (отдельная) вероятностная функция может быть использована независимо от информации кодирования. В качестве значения индексной переменной определяется «ctxIdxInc», а также определяются первоначальные значения «valMPS» и «pStateIdx» для использования с вероятностной функцией. В качестве первоначального значения определяется «pStateIdx», а первоначальная вероятность LPS (или MPS) определяется, как показано на фиг.3. Соответственно, стандартный механизм 103 кодирования, обеспеченный следом за блоком 102 моделирования контекста, выполняет кодирование (или компрессию) каждого бита входной информации кодирования, используя выбранную вероятностную функцию, начиная с определенных первоначальных значений «valMPS» и «pStateIdx». В этом случае «pStateIdx» является информацией состояния вероятности, а «valMPS» является информацией наиболее вероятного значения для вероятностной функции.

Далее предлагаются подробные примеры способа определения значения индексной переменной «ctxIdxInc» при моделировании, выполняемом блоком 102 моделирования контекста. Множество предложенных ниже примеров просто являются примерами способа моделирования определенной информации кодирования усовершенствованного уровня на основе информации кодирования, коррелированной со значением определенной информации кодирования, либо на основе соотношения между усовершенствованным и основным уровнями. В связи с этим настоящее изобретение не ограничивается предложенными ниже примерами, и любой способ, характеризуемый моделированием информации кодирования усовершенствованного уровня на основе информации кодирования, коррелированной со значением элемента информации кодирования, либо на основе соотношения между усовершенствованным и основным уровнями, находится в пределах объема настоящего изобретения.

Сначала в описании будет предложено множество способов определения индексной переменной «ctxIdxInc» флага «base_mode_flag», указывающего на то, должна ли информация кодирования (такая как, информация вектора движения или данные изображения, закодированные в режиме внутрикадрового кодирования) блока на основном уровне, соответствующего макроблоку, использоваться для макроблока.

1-1) ctxIdxInc = condTermFlagA + condTermFlagB + condTermFlagBase

В данном случае «A» и «B» обозначают соседние макроблоки, расположенные на верхней и левой сторонах текущего макроблока X. Флагу «condTermFlagN» (N = A или B) присваивается значение «0» в случае, если макроблок N недоступен, или в случае, если флагу «base_mode_flag» макроблока N присвоено значение «0», в противном случае ему присваивается значение «1». Подобным образом флагу «condTermFlagBase» присваивается значение «0» в случае отсутствия блока основного уровня, соответствующего текущему макроблоку X, или в случае, если флагу «base_mode_flag» соответствующего блока присвоено значение «0», в противном случае ему присваивается значение «1». Поэтому значение соответствующей информации кодирования основного уровня также используется в качестве основания для определения значения индексной переменной «ctxIdxInc». Это указывает, что первоначальное значение для вероятностного кодирования, изменяемое в зависимости от значения соответствующей информации кодирования основного уровня.

1-2) ctxIdxInc = condTermFlagA` + condTermFlagB` + condTermFlagBase`

В данном случае флагу «conTermFlag`» блока присваивается значение «0» или «1» в зависимости от того, в каком из режимов (межкадрового кодирования или внутрикадрового кодирования) находится блок. Например, флагу «condTermFlagBase`» присваивается значение «0» (или «1») в случае, если блок основного уровня, соответствующий текущему макроблоку X, находится в режиме межкадрового кодирования, а значение «1» (или «0») присваивается в случае, если соответствующий блок находится в режиме внутрикадрового кодирования.

В этом способе режимы (режим межкадрового или внутрикадрового кодирования) двух соседних блоков A и В, а также соответствующего блока основного уровня, используются в качестве основания для определения первоначального значения вероятностной функции для кодирования бита флага «base_mode_flag».

Альтернативно, только флаг «condTermFlagBase'» (то есть только режим соответствующего блока на основном уровне) может быть использован в качестве основания для определения значения индексной переменной «ctxIdxInc» для изменения первоначального значения в зависимости только от значения флага «condtermFlagBase'».

1-3) ctxIdxInc = (BaseBlkSize == EnhanceBlkSize)? 1:0 + condTermFlagA + condTermFlagB

В этом способе значение, указывающее на то, идентичен ли сегмент блока основного уровня сегменту блока усовершенствованного уровня (например, значение «1» в случае идентичности и значение «0» в случае отсутствия идентичности) или значение, указывающее на то, действительно ли размер блока на основном уровне равен размеру соответствующего блока на усовершенствованном уровне (например, значение «1» в случае равенства и значение «0» в случае неравенства), используется в качестве основания для определения первоначального значения вероятностной функции.

1-4) ctxIdxInc = condTermFlagA" + condTermFlagB" + condTermFlagBase"

В данном случае флагу «condTermFlag"» блока присваивается значение «1» в случае, если параметр квантования блока имеет значение, равное или больше предварительно определенного порога, в противном случае ему присваивается значение «0». В этом способе параметры квантования двух соседних блоков A и В, а также параметр квантования соответствующего блока на основном уровне, используются в качестве основания для определения первоначального значения вероятностной функции для кодирования бита флага «base_mode_flag».

Флагу «condTermFlag"» блока также может быть присвоено значение «1» или «0» в зависимости от разности между значением параметра квантования блока и значением другого параметра квантования, вместо зависимости от параметра квантования блока, для определения значения индексной переменной «ctxIdxInc» на основе значения флага «condTermFlag"». Например, флагу «condTermFlagN"» блока N присваивается значение «1» в случае, если разность между значением параметра квантования блока N и значением параметра квантования блока на основном уровне, соответствующего блоку N, равно или больше предварительно определенного порога, в противном случае флагу «condTermFlagN"» присваивается значение «0». В этом примере «condTermFlagBase"» обозначает флаг, указывающий на то, является ли разность между значением параметра квантования текущего блока X и значением параметра квантования блока на основном уровне, соответствующего текущему блоку X, большей или меньшей предварительно определенного порога.

Альтернативно, только флаг «condTermFlagBase"» (то есть только значение параметра квантования блока на основном уровне, соответствующего текущему блоку X (или только разность между значением параметра квантования текущего блока X и значением параметра квантования соответствующего блока)), может быть использован в качестве основания для определения значения индексной переменной «ctxIdxInc» для изменения первоначального значения в зависимости только от значения флага «condTermFlagBase"».

1-5) ctxIdxInc=0 (если С>порога 1),

1 (если порог 1>С>порога 2),

2 (если С<порога 2)

В данном случае «С» обозначает либо вектор движения соответствующего блока на основном уровне, либо разность между вектором движения соответствующего блока и вектором движения одного из соседних макроблоков, либо среднее значение вектора движения соседних макроблоков.

В связи с этим, вектор движения основного уровня используется в качестве основания для определения первоначального значения вероятностной функции.

1-6) ctxIdxInc = (refIdxEnhanceL1 == refIdxBaseL1)? 1:0 + (refIdxEnhanceL0 == refIdxBaseL0)? 1:0

В этом способе значение, указывающее на то, являются ли индексы эталонного изображения refIdxL0 и refIdxL1 в группах изображений L0 и L1 макроблока, содержащего кодируемую в настоящее время информацию кодирования, равны индексам эталонных изображений в группах изображений L0 и L1 соответствующего блока на основном уровне (например, значение «2» в случае, если и индексы эталонного изображения refIdxL0 и refIdxL1 в группе изображений L0 и L1 равны индексам эталонного изображения основного уровня, значение «1» в случае, если один из индексов эталонного изображения refIdxL0 и refIdxL1 равен соответствующему индексу эталонного изображения основного уровня, и значение «0» в случае, если ни один из индексов эталонного изображения refIdxL0 и refIdxL1 не равен индексу эталонного изображения основного уровня), используется в качестве основания для определения первоначального значения вероятностной функции для изменения первоначального значения в зависимости от значения, указывающего на то, действительно ли индексы эталонного изображения на усовершенствованном уровне равны индексам эталонного изображения на основном уровне.

Комбинация вышеупомянутых способов (с 1-1 до 1-6), вместо одного из вышеупомянутых способов, может быть использована для определения первоначального значения вероятностной функции для энтропийного кодирования флага «base_mode_flag».

Далее будет предоставлено описание множества способов определения индексной переменной «ctxIdxInc» флага «base_mode_refinement_flag», указывающего на то, действительно ли макроблоку необходимо повышение качества для использования информации вектора движения блока на основном уровне, соответствующего макроблоку.

Поскольку флаг «base_mode_refinement_flag» не используется при кодировании соответствующего макроблока на основном уровне в режиме внутрикадрового кодирования, способ, предполагающий режим внутрикадрового кодирования, такой как способ, подобный вышеупомянутому способу 1-2), не используется для моделирования бита флага «base_mode_refinement_flag».

2-1) ctxIdxInc = condTermFlagA + condTermFlagB + condTermFlagBase

Флагу «condTermFlagN» (N=A или B) присваивается значение «0» в случае, если макроблок N недоступен, или в случае, если флагу «base_mode_refinement_flag» макроблока N присвоено значение «0», в противном случае ему присваивается значение «1». Подобным образом флагу «condTermFlagBase» присваивается значение «0» в случае отсутствия блока на основном уровне, соответствующего текущему макроблоку, или в случае, если флагу «base_mode_refinement_flag» соответствующего блока присвоено значение «0», в противном случае ему присваивается значение «1». В связи с этим значение соответствующей информации кодирования основного уровня используется в качестве основания для определения значения индексной переменной «ctxIdxInc».

2-2) ctxIdxInc = (BaseBlkSize == EnhanceBlkSize)? 1:0 + condTermFlagA + condTermFlagB

Этот способ подобен вышеупомянутому способу 1-3).

2-3) ctxIdxInc = condTermFlagA" + condTermFlagB" + condTermFlagBase" или ctxIdxInc = condTermFlagBase"

Этот способ подобен вышеупомянутому способу 1-4).

2-4) ctxIdxInc = (SpatialResEnhance == SpatialResBase)? 1:0

В этом способе значение, указывающее на то, действительно ли пространственное разрешение изображения на основном уровне равно пространственному разрешению кадра на усовершенствованном уровне (например, значение «1» в случае равенства, и значение «0» в случае неравенства), используется в качестве основания для определения первоначального значения вероятностной функции.

Комбинация вышеупомянутых способов (с 2-1 до 2-4), вместо одного из вышеупомянутых способов, может быть использована для определения первоначального значения вероятностной функции для вероятностного кодирования флага «base_mode_refinement_flag».

Далее будет предоставлено описание множества способов определения индексной переменной «ctxIdxInc» флага «residual_prediction_flag», указывающего на то, закодированы ли остаточные данные макроблока с использованием данных, предсказанных из остаточных данных блока на основном уровне, соответствующего макроблоку.

3-1) ctxIdxInc = condTermFlagA + condTermFlagB + condTermFlagBase

Флагу «condTermFlagN» (N=A или B) присваивается значение «0» в случае, если макроблок N недоступен, или в случае, если флагу «residual_prediction_flag» макроблока N присвоено значение «0», в противном случае ему присваивается значение «1». Подобным образом флагу «condTermFlagBase» присваивается значение «0» в случае отсутствия блока на основном уровне, соответствующего текущему макроблоку, или в случае, если флагу «residual_prediction_flag» соответствующего блока присвоено значение «0», в противном случае ему присваивается значение «1». В связи с этим, значение соответствующей информации кодирования основного уровня используется в качестве основания для определения значения индексной переменной «ctxIdxInc».

3-2) ctxIdxInc = (BaseBlkSize == EnhanceBlkSize)? 1:0 + condTermFlagA + condTermFlagB

Этот способ подобен вышеупомянутому способу 1-3).

3-3) ctxIdxInc = condTermFlagA" + condTermFlagB" + condTermFlagBase" или ctxIdxInc = condTermFlagBase"

Этот способ подобен вышеупомянутому способу 1-4).

3-4) ctxIdxInc = (refIdxEnhanceL1 == refIdxBaseL1)? 1:0 + (refIdxEnhanceL0 == refIdxBaseL0)? 1:0

Этот способ подобен вышеупомянутому способу 1-6).

3-5) ctxIdxInc=0 (если С>порога 1),

1 (если порог 1>С>порога 2),

2 (если С<порога 2)

Этот способ подобен вышеупомянутому способу 1-5).

3-6) ctxIdxInc = (SpatialResEnhance == SpatialResBase)? 1:0

Этот способ подобен вышеупомянутому способу 2-4).

3-7) ctxIdxInc = CBPBase? 1:0

В этом способе первоначальное значение вероятностной функции для кодирования флага «residual_prediction_flag» определяется из значения закодированного состава блока (СВР) соответствующего блока основного уровня. В данном случае СВР блока яркости или блока цветности основного уровня может быть использован в качестве СВР. СВР блока присваивается значение отличное от «0» в случае присутствия в блоке любого ненулевого значения, в противном случае ему присваивается значение «0». В этом способе первоначальное значение вероятностной функции для кодирования флага «residual_prediction_flag» устанавливается иначе, в зависимости от значения, указывающего на то, действительно ли в соответствующем блоке на основном уровне присутствует значение, отличное от «0», которое устанавливается в «1» в случае присутствия любого ненулевого значения, и устанавливается в «0» в случае отсутствия значения, отличного от «0».

Далее этот случай будет разъяснен более подробно. Если отношение разрешений между текущим уровнем и основным уровнем равно 2:1, то размер блока основного уровня, соответствующего текущему макроблоку размером 16×16, равен 4×4. В связи с этим битовое значение, связанное с блоком размером 4×4, в СВР макроблока, включающего в себя блок на основном уровне размером 4×4, устанавливается на индексную переменную «ctxIdxInc» для определения первоначального значения вероятностной функции, в связи с тем, что битовое значение в СВР указывает на то, имеет ли блок размером 4×4 какое-либо ненулевое значение.

Кроме того, если макроблок «BL1_MB» на основном уровне, включающий в себя блок размером 4×4, закодирован способом предсказания остатка на основе соответствующего блока «BL2_B» на нижнем уровне (втором основном уровне), то есть, если флагу «residual_prediction_flag» макроблока «BL1_MB» на основном уровне присвоено значение «1», то значение индексной переменной «ctxIdxInc» определяется, согласно связанному биту СВР соответствующего блока «BL2_B» второго основного уровня.

В способе использования СВР для определения первоначального значения, значения соответствующей информации кодирования «residual_prediction_flag» соседних блоков A и B, в дополнение к вышеупомянутому условию (СВРBase? 1:0), могут быть использованы в качестве условия для определения индексной переменной «ctxIdxInc». В этом случае индексная переменная «ctxIdxInc» может быть определена следующим образом:

ctxIdxInc = CBPBase? 1:0 + condTermFlagA + condTermFlagB

Альтернативно, индексная переменная «ctxIdxInc» может быть определена на основе значений СВР двух соседних блоков A и В следующим образом:

CtxIdxInc = CBPA? 1:0 + CBPB? 1:0

Комбинация вышеупомянутых способов (с 3-1 до 3-7), вместо одного из вышеупомянутых способов, может быть использована для определения первоначального значения вероятностной функции для вероятностного кодирования флага «residual_prediction_flag».

Моделирование (например, установка первоначального значения) информации кодирования, кроме вышеописанной информации кодирования, также может быть выполнено различными способами, либо согласно информации кодирования основного уровня, либо согласно межуровневому соотношению.

Например, моделирование для вероятностного кодирования флага «intra_base_flag», указывающего на то, были ли данные изображения блока на усовершенствованном уровне закодированы в разностные данные на основе данных изображения закодированного в режиме внутрикадрового кодирования блока на основном уровне, соответствующего блоку на усовершенствованном уровне, также может быть выполнено различными способами, либо используя межуровневое соотношение (в частности, используя соответствующую информацию кодирования на основном уровне), согласно способу, подобному 1-1), либо используя межуровневое соотношение пространственного разрешения, согласно способу, подобному 2-4), либо используя параметр квантования, представляющий уровень качества изображения основного уровня, согласно способу, подобному 1-4).

Кроме того, моделирование для вероятностного кодирования информации «mvd_ref_1X, X=0,1», указывающей значение повышения качества, требуемого макроблоку для использования информации вектора движения блока на основном уровне, соответствующего макроблоку, также может быть выполнено различными способами, либо используя межуровневое соотношение (в частности, используя соответствующую информацию кодирования на основном уровне), согласно способу, подобному 1-1), либо используя межуровневое соотношение пространственного разрешения, согласно способу, подобному 2-4).

Более того, моделирование для вероятностного кодирования флага «motion_prediction_flag_1X, X=0,1», указывающего на то, должен ли вектор движения блока на основном уровне, соответствующего макроблоку, использоваться для предсказывающего вектора движения макроблока, также может быть выполнено различными способами, либо используя межуровневое соотношение (в частности, используя соответствующую информацию кодирования на основном уровне), согласно способу, подобному 1-1), либо используя межуровневое соотношение пространственного разрешения, согласно способу, подобному 2-4), либо используя соотношение размеров блоков, согласно способу, подобному 1-3).

Множество вышеописанных способов моделирования также могут быть применены к любой другой информации кодирования, на значение которой может влиять межуровневое соотношение.

Несмотря на то, что вышеупомянутое описание было изложено со ссылкой на то, что первоначальные значения «valMPS» и «pStateIdx» определяются непосредственно из индексной переменной «ctxIdxInc», эти два первоначальных значения определяются из значений «m» и «n», определяемых из индексной переменной «ctxIdxInc», как показано на фиг.4.

Промежуточное значение «preCtxState» в изображенной на фиг.4 процедуре определения первоначального значения определяется с помощью функции «Clip3()». Функция «Clip3()» определения «preCtxState» содержит параметр «SliceQPY» квантования яркости в качестве параметра (varX) в дополнение к значениям «m» и «n». Этот параметр (varX) связан с макроблоком, содержащим кодируемую в текущее время информацию кодирования. Параметр (varX), влияющий на определение первоначального значения, в дополнение к значениям «m» и «n», не содержит значения, связанного с межуровневым соотношением.

Соответственно, если межуровневое соотношение будет отражено в аргументе (varX) для получения первоначального значения на основе межуровневой взаимосвязи, то первоначальное значение, вероятно, будет иметь значение, которое намного более выгодно в отношении вероятностного кодирования. В связи с этим, согласно настоящему изобретению, межуровневое соотношение отражается в аргументе (varX).

Способы отражения межуровневого соотношения в аргументе (varX) должны либо использовать параметр «BaseSliceQPY» квантования яркости основного уровня в качестве аргумента (varX) для использования разности между параметрами квантования усовершенствованного и основного уровней в качестве аргумента (varX), либо использовать отношение пространственных разрешений между основным уровнем и текущим уровнем в качестве аргумента (varX).

Если разность между параметрами квантования усовершенствованного и основного уровней используется в качестве аргумента (varX), то изображенная на фиг.4 функция 401 определения «preCtxState» может быть определена следующим образом, согласно настоящему изобретению:

preCtxState=Clip3 (1.126, ((m.*(SliceQPYBaseSliceQPY))>>4) +n)

Несмотря на то, что вышеупомянутый способ был описан для вероятностного кодирования в блоке кодирования, аналогичный способ применяется к изображенному на фиг.5 блоку декодирования CABAC для декомпрессии сжатых данных, в связи с чем описание моделирования контекста в блоке декодирования в настоящем документе опускается.

Подобно способу, которым блок 102 моделирования контекста изображенного на фиг.1 блока кодирования CABAC моделирует целевую информацию кодирования, блок 202 моделирования контекста изображенного на фиг.5 блока декодирования CABAC моделирует целевую информацию кодирования на основе информации кодирования основного уровня и информации 20 межуровневого соотношения, а также передает соответствующее первоначальное значение на стандартный механизм 203 декодирования, обеспеченный следом за блоком 202 моделирования контекста. Стандартный механизм 203 декодирования преобразует биты входящей информации кодирования в декомпрессированную битовую последовательность, начинающуюся с того же значения, что и первоначальное значение, использованное в стандартном механизме 103 кодирования 103 блока кодирования.

Блок декодирования, включающий в себя блок моделирования контекста для моделирования информации кодирования, согласно вышеописанному способу, может быть включен в терминал мобильной связи, медиаплеер или подобное устройство.

Как следует из вышеупомянутого описания, способ моделирования информации кодирования видеосигнала для компрессии и декомпрессии информации кодирования, согласно настоящему изобретению, выполняет моделирование контекста каждого бита информации кодирования, используя межуровневое соотношение для определения первоначального значения функции для вероятностного кодирования информации кодирования, которая является выгодной в отношении вероятностного кодирования (то есть первоначальное значение, которое дополнительно сокращает первоначальную вероятность LPS), таким образом значительно повышая коэффициент компрессии данных вероятностного кодирования.

Несмотря на то, что изобретение было описано со ссылкой на предпочтительные варианты осуществления, специалистам в данной области техники будет понятно, что в изобретении могут быть сделаны различ