Способ кодирования видеоизображений, способ декодирования видеоизображений, устройство кодирования видеоизображений, устройство декодирования видеоизображений и устройство кодирования-декодирования видеоизображений

Иллюстрации

Показать все

Изобретение относится к технологиям кодирования/декодирования движущихся графических изображений. Техническим результатом является повышение эффективности кодирования/декодирования данных. Предложен способ кодирования движущихся графических изображений для кодирования входного изображения для генерирования потока битов. Способ содержит этап, на котором осуществляют выполнение контекстно-адаптивного двоичного арифметического кодирования, в котором используется значение переменной вероятности, в отношении первой информации из многочисленных типов информации адаптивного к выборке смещения (SAO), используемой для SAO, которое является процессом назначения значения смещения пиксельному значению пикселя, включенного в изображение, генерируемое посредством кодирования входного изображения. Далее осуществляют непрерывное выполнение обходного арифметического кодирования. 5 н. и 8 з.п. ф-лы, 45 ил.

Реферат

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ

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

УРОВЕНЬ ТЕХНИКИ

Стандарт высокоэффективного кодирования видео (High Efficiency Video Coding, HEVC), стандарт кодирования изображений следующего поколения, исследовался различными способами для увеличения его эффективности кодирования (Непатентная литература (Non Patent Literature, NPL) 1). Кроме того, существует обычный стандарт сектора Стандартизации телекоммуникаций Международного союза телекоммуникаций (International Telecommunication Union Telecommunication Standardization sector, ITU-T), типичным примером которого является H.26x, и стандарт ISO/IEC, типичным примером которого является MPEG-x. Последний и самый усовершенствованный стандарт кодирования изображений рассматривается как стандарт следующий за стандартом, типичным примером которого в настоящее время является H.264/AVC или MPEG-4 AVC (см. Непатентная литература (NPL) 2).

В стандарте HEVC для дальнейшего снижения ухудшения кодирования рассматривается обработка для снижения ухудшения кодирования, называемая адаптивным к выборке смещением (sample adaptive offset, SAO) (разность между исходным сигналом до кодирования и кодированным и декодированным сигналом). SAO является обработкой смещения, в которой, для снижения ухудшения кодирования, для каждого из предопределенных областей, категорий или типов добавляется значение смещения, и она выполняется в отношении предварительно декодированного изображения (восстановленного изображения) (см. Непатентная литература (NPL) 3).

СПИСОК ЛИТЕРАТУРЫ

НЕПАТЕНТНАЯ ЛИТЕРАТУРА

NPL 1 Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SGI6 WP3 and ISO/IEC JTC1/SC29/WG11 9th Meeting: Geneva, CH, 27 April - 7 May 2012, JCTVC-I1003_dl, "High efficiency video coding (HEVC) text specification draft 7"

NPL 2 ITU-T Recommendation H.264 "Advanced video coding for generic audiovisual services", March, 2010

NPL 3 Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 9th Meeting: Geneva, CH, 27 April - 7 May 2012, JCTVC-I0602, "BoG report on integrated text of SAO adoptions on top of JCTVC-I0030"

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

ТЕХНИЧЕСКАЯ ПРОБЛЕМА

Однако способ кодирования движущихся графических изображений и способ декодирования движущихся графических изображений с использованием SAO по NPL 3 не могут сделать обработку эффективной.

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

РЕШЕНИЕ ПРОБЛЕМЫ

Способ кодирования движущихся графических изображений согласно аспекту настоящего изобретения является способом кодирования движущихся графических изображений для кодирования входного изображения для генерирования потока битов, причем способ включает в себя: выполнение контекстно-адаптивного двоичного арифметического кодирования (context adaptive binary arithmetic coding), в котором используется переменное значение вероятности, в отношении первой информации из многочисленных типов информации адаптивного к выборке смещения (sample adaptive offset, SAO), используемой для SAO, которое является процессом назначения значения смещения пиксельному значению пикселя, включаемого в изображение, генерируемое посредством кодирования входного изображения, и непрерывное выполнение обходного арифметического кодирования (bypass arithmetic coding), в котором используется фиксированное значение вероятности, в отношении второй информации и третьей информации из многочисленных типов информации SAO, причем кодированная вторая и третья информация размещаются в потоке битов после кодированной первой информации.

Эти общие и специфичные аспекты могут быть реализованы с использованием системы, способа, интегральной схемы, компьютерной программы или считываемого компьютером носителя записи, например, CD-ROM, или любой комбинации систем, способов, интегральных схем, компьютерных программ или считываемых компьютером носителей записи.

ПОЛЕЗНЫЙ ЭФФЕКТ ИЗОБРЕТЕНИЯ

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

Фиг. 1A - таблица, показывающая информацию, используемую для обработки смещения, называемой SAO.

Фиг. 1B - таблица, показывающая другую информацию, используемую для обработки смещения, называемой SAO.

Фиг. 1C - таблица, показывающая другую информацию, используемую для обработки смещения, называемой SAO.

Фиг. 1D - таблица, показывающая другую информацию, используемую для обработки смещения, называемой SAO.

Фиг. 2 - блок-схема, показывающая функциональную конфигурацию блока декодирования информации SAO.

Фиг. 3 - блок-схема последовательности операций, показывающая поток операций блока декодирования информации SAO.

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

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

Фиг. 6 - блок-схема, показывающая процесс нормализации в способе арифметического декодирования.

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

Фиг. 8 - блок-схема, показывающая функциональную конфигурацию блока декодирования информации SAO согласно Варианту осуществления 1.

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

Фиг. 10A - схема для иллюстрации, в Варианте осуществления 1, иллюстративной последовательности параметров, включенных в информацию SAO, и иллюстративного порядка декодирования этих параметров.

Фиг. 10B - схема, соответствующая блок-схеме последовательности операций по фиг. 3, и для иллюстрации иллюстративной последовательности параметров, включенных в информацию SAO, и иллюстративного порядка декодирования этих параметров.

Фиг. 10C - схема для иллюстрации, в Варианте осуществления 1, еще одной иллюстративной последовательности параметров, включенных в информацию SAO, и еще одного иллюстративного порядка декодирования этих параметров.

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

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

Фиг. 13A - таблица, показывающая синтаксис для генерирования обычного потока битов.

Фиг. 13B - таблица, показывающая синтаксис для генерирования потока битов в Варианте осуществления 2.

Фиг. 14 - таблица, показывающая синтаксис для генерирования еще одного потока битов в Варианте осуществления 2.

Фиг. 15A - блок-схема последовательности операций способа кодирования движущихся графических изображений в одном варианте осуществления.

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

Фиг. 15C - блок-схема способа декодирования движущихся графических изображений в одном варианте осуществления.

Фиг. 15D - блок-схема, показывающая устройство декодирования движущихся графических изображений в одном варианте осуществления.

Фиг. 16 - общая схема конфигурации системы обеспечения контента, которая оказывает услуги распространения контента.

Фиг. 17 - схема общей конфигурации системы цифрового вещания.

Фиг. 18 - блок-схема, показывающая иллюстративную конфигурацию телевизора.

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

Фиг. 20 - схема, показывающая иллюстративную конфигурацию носителя записи, который является оптическим диском.

Фиг. 21A - схема, показывающая иллюстративный сотовый телефон.

Фиг. 21B - блок-схема, показывающая иллюстративную конфигурацию сотового телефона.

Фиг. 22 - схема, показывающая структуру мультиплексированных данных.

Фиг. 23 - схема, схематично показывающая то, как каждый поток мультиплексируется в мультиплексированных данных.

Фиг. 24 - схема, показывающая более подробно то, как видеопоток сохраняется в потоке пакетов PES.

Фиг. 25 - схема, показывающая структуру пакетов TS и исходных пакетов в мультиплексированных данных.

Фиг. 26 - схема, показывающая структуру данных PMT.

Фиг. 27 - схема, показывающая внутреннюю структуру информации мультиплексированных данных.

Фиг. 28 - схема, показывающая внутреннюю конфигурацию информации атрибутов потока.

Фиг. 29 - блок-схема последовательности операций, показывающая этапы для идентификации видеоданных.

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

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

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

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

Фиг. 34A - схема, показывающая иллюстративную конфигурацию для совместного использования модуля блока обработки сигналов.

Фиг. 34B - схема, показывающая еще одну иллюстративную конфигурацию для совместного использования модуля блока обработки сигналов.

ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ

(БАЗОВЫЕ ПРИНЦИПЫ, ЛЕЖАЩИЕ В ОСНОВЕ ФОРМИРОВАНИЯ ЗНАНИЙ НАСТОЯЩЕГО ИЗОБРЕТЕНИЯ)

Фиг. 1A-1D являются схемами, показывающими четыре типа информации, используемой для обработки смещения, называемой SAO. Эти четыре типа информации (параметры) являются информацией типа SAO (sao_type_idx), информацией позиции интервала пиксельных значений SAO (sao_band_position), значением смещения SAO (sao_offset[i]) и знаком смещения SAO (sao_offset_sign[i]). Следует отметить, что эти элементы информации в совокупности называются информацией SAO.

Как представлено на фиг. 1A, информация типа SAO (sao_type_idx) указывает не выполнение обработки смещения или тип обработки смещения, которая должна быть выполнена. Примеры обработки смещения включают в себя смещение края, в котором обработка смещения выполняется в отношении шаблона в направлении края, и смещение интервала, в котором обработка смещения выполняется в отношении пиксельных значений, включенных в некоторый интервал (диапазон предопределенных пиксельных значений). Кроме того, смещение края также классифицируется по нескольким типам, зависящим от направлений края. Например, в NPL 3, содержимое, указываемое информацией типа SAO, классифицируется по шести типам, как показано на фиг. 1A. В отношении части информации типа SAO выполняется арифметическое кодирование (контекстно-адаптивное двоичное арифметическое кодирование) с использованием контекста, соответствующего переменному значению вероятности, и эта часть информации типа SAO сохраняется в потоке битов.

Информация позиции интервала пиксельных значений SAO (sao_band_position) является информацией, используемой для смещения интервала. Например, интервал уровня (от 0 до 255 в случае 8 битов) сигнала изображения, который должен быть обработан, делится на 32 секции. Информация позиции интервала пиксельных значений SAO указывает, из какой секции смещение интервала применяется к секции (по меньшей мере одной непрерывной секции) из этих 32 секций. Например, в NPL 3, количество непрерывных секций равно четырем. Когда информация позиции интервала пиксельных значений SAO указывает 1, и сигнал изображения имеет 8 битов, эта информация позиции интервала пиксельных значений SAO указывает, что обработка смещения выполняется в отношении секций пиксельных значений от 8 до 15, пиксельных значений от 16 до 23, пиксельных значений от 24 до 31 и пиксельных значений от 32 до 39. Как представлено посредством "XXXXX" на фиг. 1B, информация позиции интервала пиксельных значений SAO имеет фиксированную длину 5 битов, кодируется посредством обходного арифметического кодирования с использованием не переменного значения вероятности, а фиксированного значения вероятности, и сохраняется в потоке битов.

Значение смещения SAO (sao_offset[i]) указывает тип смещения края, указываемый информацией типа SAO, или значение смещения, фактически заданное для секции (упомянутой по меньшей мере одной непрерывной секции), указываемой информацией позиции интервала пиксельных значений SAO. Следует отметить, что i указывает одно из типов или секций. Иначе говоря, значение смещения SAO указывает, для каждого i, значение смещения, соответствующее типу смещения края или секции смещения интервала, указываемому посредством i. Например, в NPL 3, i принимает одно из четырех значений от 0 до 3. Другими словами, в случае значения смещения для смещения края, значение смещения SAO указывает, для каждого направления границы (каждого из 0, 45, 90 и 135 градусов), значение от 0 до 7 для соответствующего одного из четырех типов шаблонов (например, тип V, тип Λ, тип/и тип\) в качестве значения смещения. В случае значения смещения для смещения интервала, значение смещения SAO указывает значение от 0 до 7 для соответствующего одного из упомянутых четырех секций в качестве значения смещения. После этого, в отношении части значения смещения SAO выполняется арифметическое кодирование с использованием контекста, которое сохраняется в потоке битов. (см. фиг. 1C)

Знак смещения SAO (sao_offset_sign[i]) указывает знак значения смещения SAO. Следует отметить, что i является идентичным i, используемому для значения смещения SAO, и связывает значение смещения SAO и знак смещения SAO. Например, в NPL 3, когда информация типа SAO указывает смещение края, знак SAO не используется, и значение смещения, указываемое значением смещения SAO, обрабатывается в качестве всегда являющегося положительным. Соответственно, знак смещения SAO не описывается в потоке битов. Напротив, когда информация типа SAO указывает смещение интервала, используются знаки смещения SAO для соответствующих значений смещения SAO упомянутых четырех секций. Соответственно, знаки смещения SAO кодируются посредством обходного арифметического кодирования, и сохраняются в потоке битов (см фиг. 1D)

Ниже описывается обычный пример способа для декодирования информации SAO (четыре типа), со ссылкой на фиг. 2 и фиг. 3.

Фиг. 2 является блок-схемой, показывающей функциональную конфигурацию блока декодирования информации SAO.

Блок A01 декодирования информации SAO выполняет декодирование с переменной длиной слова (арифметическое декодирование) в отношении информации типа SAO (sao_type_idx), информации позиции интервала пиксельных значений SAO (sao_band_position), значения смещения SAO (sao_offset[i]) и знака смещения SAO (sao_offset_sign[i]), которые включаются в информацию SAO.

Блок A01 декодирования информации SAO включает в себя: блок А02 декодирования Sao_Type, который декодирует информацию типа SAO; блок A03 определения Sao_Type, который определяет тип обработки смещения и т.п., указываемый информацией типа SAO; переключатели A04, A05 и А06; блок A07 декодирования Sao_band_position, который декодирует информацию позиции интервала пиксельных значений SAO; блок A08 декодирования Sao_Offset, который декодирует значение смещения SAO; блок A09 декодирования Sao_offset_sign, который декодирует знак смещения SAO; блок A10 установки позиции хранения данных; и блок A11 хранения данных. Блок A01 декодирования информации SAO восстанавливает информацию SAO из потока битов BS.

Работа блока A01 декодирования информации SAO подробно описана со ссылкой на фиг. 3.

Фиг. 3 является блок-схемой, показывающей иллюстративный поток операций блока A01 декодирования информации SAO.

Сначала блок A02 декодирования Sao_Type блока A01 декодирования информации SAO декодирует информацию типа SAO (sao_type_idx) из потока битов BS (SB01). После этого блок A03 определения Sao_Type определяет, указывает ли sao_type_idx смещение интервала, при котором обработка смещения выполняется в отношении пиксельных значений, включенных в некоторый интервал (диапазон предопределенных пиксельных значений) (SB02). При определении того, что указано смещение интервала (ДА на этапе SB02), блок A03 определения Sao_Type, переводит переключатель A04 в положение "ВКЛЮЧЕНО". При этом, блок A07 декодирования Sao_band_position декодирует информацию позиции интервала пиксельных значений SAO (sao_band_position) (SB03). Блок A10 установки позиции хранения данных определяет позицию хранения в блоке A11 хранения данных на основе декодированной информации позиции интервала пиксельных значений SAO. Напротив, при определении того, что смещение интервала не указано (НЕТ на этапе SB02), блок A03 определения Sao_Type переводит переключатель A04 в положение "ВЫКЛЮЧЕНО". После этого блок A03 определения Sao_Type определяет, указывает ли sao_type_idx, что обработка смещения не должна быть выполнена (Sao off) (SB04). При этом, при определении того, что указано Sao off (ДА на этапе SB04), блок A03 определения Sao_Type переводит переключатели A04, A05 и A06 в положение "ВЫКЛЮЧЕНО", и заканчивает декодирование информации SAO.

Напротив, при определении того, что не указано Sao off (НЕТ на этапе SB04), блок A03 определения Sao_Type переводит переключатель A05 в положение "ВКЛЮЧЕНО". При этом, блок A08 декодирования Sao_Offset декодирует значение смещения SAO (sao_offset) из потока битов BS (SB05). Следует отметить, что декодированное значение смещения SAO сохраняется в блоке A11 хранения данных в позиции, установленной блоком A10 установки позиции хранения данных. При этом, декодирование на этапе SB05 продолжается до тех пор, пока не будет декодировано предопределенное количество значений смещения SAO (в течение периода НЕТ на этапе SB06). Когда все значения смещения SAO декодированы (ДА на этапе SB06), блок A03 определения Sao_Type определяет, указывает ли sao_type_idx смещение интервала (SB07). При определении того, что указано смещение интервала (ДА на этапе SB07), блок A03 определения Sao_Type, переводит переключатель A06 в положение "ВКЛЮЧЕНО".

При этом, когда декодированное значение смещения SAO не равно нулю (НЕТ на этапе SB08), блок A09 декодирования Sao_offset_sign декодирует знак смещения SAO, соответствующий значению смещения SAO (SB09). В этом случае, значение смещения SAO в блоке A11 хранения данных обновляется с использованием упомянутого декодированного знака смещения SAO. Когда декодированное значение смещения SAO равно нулю (ДА на этапе SB08), знак смещения SAO не имеет конкретного значения, и, соответственно, блок A09 декодирования Sao_offset_sign пропускает декодирование. При этом блок A09 декодирования Sao_offset_sign продолжает декодирование до тех пор, пока не будет декодировано предопределенное количество знаков смещения SAO, соответствующих значениям смещения SAO (в течение периода НЕТ на этапе SB10). Когда все знаки смещения SAO декодированы (ДА на этапе SB10), блок A01 декодирования информации SAO заканчивает декодирование информации SAO.

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

Ниже описывается кодирование с переменной длиной слова, например, контекстно-адаптивное двоичное арифметическое кодирование, использующее переменное значение вероятности, и обходное арифметическое кодирование, не использующее переменное значение вероятности. В H.264 или HEVC, контекстно-адаптивное двоичное арифметическое кодирование (CABAC) является одним из подходов кодирования с переменной длиной слова. CABAC описано ниже со ссылкой на фиг. 4, фиг. 5 и фиг. 6.

Фиг. 4 является блок-схемой, представляющей контекстно-адаптивное двоичное арифметическое декодирование. Следует отметить, что фиг. 4 взята из NPL 2, и является такой, как описано в NPL 2, если не указано иное.

В контекстно-адаптивном двоичном арифметическом декодировании, сначала, вводится контекст (ctxIdx), определяемый на основе типа сигнала.

После этого, вычисляют значение "qCodIRangeIdx" исходя из первого параметра "codIRange", представляющего текущее состояние в устройстве арифметического декодирования, и получают pStateIdx, который является значением состояния, соответствующим ctxIdx. codIRangeLPS получают со ссылкой на таблицу (rangeTableLPS) с использованием двух значений. Следует отметить, что codIRangeLPS является параметром, представляющим состояние в устройстве арифметического декодирования, когда имеет место LPS (указывает символ, имеющий наименьшую вероятность появления, из символов 0 и 1) в отношении первого параметра "codIRange", представляющего состояние в устройстве арифметического декодирования.

Значение, полученное посредством вычитания codIRangeLPS из текущего codIRange, помещают в codIRange (этап SC01). После этого вычисленный codIRange сравнивают со вторым параметром "codIOffset", представляющим состояние в устройстве арифметического декодирования (этап SC02). Если codIOffset больше или равно codIRange (Да на этапе SC02), то определяют, что появился символ LPS, и значение (когда valMPS=1, 0, и, когда valMPS=0, 1), отличающееся от valMPS (которое является специфичным значением, указывающим символ, имеющий наибольшую вероятность появления из символов 0 и 1, и указывает 0 или 1), устанавливают в binVal, которое является декодированным выходным значением. Кроме того, значение, полученное посредством вычитания codIRRangeLPS из codIRange, устанавливают во второй параметр "codIOffset", представляющий состояние в устройстве арифметического декодирования. Поскольку появился LPS, значение codIRangeLPS, вычисленное на этапе SC01, устанавливают в первый параметр "codIRange", представляющий состояние в устройстве арифметического декодирования (этап SC03). Следует отметить, что, поскольку случай, когда pStateIdx, который является значением состояния, соответствующим ctxIdx, равен 0 (Да на этапе SC05), указывает случай, когда вероятность LPS больше вероятности MPS, valMPS заменяют другим значением (когда valMPS=1, 0, и, когда valMPS=0, 1) (этап SC06). Напротив, когда pStateIdx не равен 0 (Нет на этапе SC05), pStateIdx обновляют на основе таблицы преобразования, когда появляется LPS (этап SC07).

Когда codIOffset является небольшим (Нет на этапе SC02), то определяют, что появился символ MPS, valMPS устанавливают в binVal, декодированное выходное значение, и pStateldx обновляют на основе таблицы преобразования "transIdxMPS", когда появляется MPS (этап SC04).

Наконец, выполняют процесс нормализации (RenormD) (этап SC08), и контекстно-адаптивное двоичное арифметическое декодирование заканчивается.

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

Фиг. 5 является блок-схемой последовательности операций, показывающее обходное арифметическое декодирование. Следует отметить, что фиг. 5 взята из NPL 2, и является такой, как описано в NPL 2, если не указано иное.

Сначала сдвигают влево (удваивают) второй параметр "codIOffset", представляющий текущее состояние в устройстве арифметического декодирования, из потока битов считывают 1 бит, и если считанный бит содержит 1, то 1 дополнительно добавляют к упомянутому (удвоенному) значению, и если считанный бит содержит 0, то устанавливают упомянутое (удвоенное) значение (SD01).

После этого, если codIOffset больше или равно первому параметру "codIRange", представляющему состояние в устройстве арифметического декодирования, (Да на этапе SD02), "1" устанавливают в binVal, декодированное выходное значение, в codIOffset устанавливают значение, полученное посредством вычитания codIRange из codIOffset (этап SD03). Напротив, когда codIOffset меньше первого параметра "codIRange", представляющего состояние в устройстве арифметического декодирования, (Нет на этапе SD02), в binVal, декодированное выходное значение, устанавливают "0" (этап SD04).

Фиг. 6 является блок-схемой последовательности операций для более подробного представления процесса нормализации (RenormD) на этапе SC08, показанном на фиг. 4. Следует отметить, что фиг. 6 взята из NPL 2, и является такой, как описано в NPL 2, если не указано иное.

В контекстно-адаптивном двоичном арифметическом декодировании, если первый параметр "codIRange", представляющий состояние в устройстве арифметического декодирования, становится меньше, чем 0 x 100 (шестнадцатеричное: 256 (десятичное)) (Да на этапе SE01), codIRange сдвигают влево (удваивают), второй параметр "codIOffset", представляющий состояние в устройстве арифметического декодирования, сдвигают влево (удваивают), из потока битов считывается 1 бит, и если считанный бит содержит 1, то 1 дополнительно добавляют к упомянутому (удвоенному) значению, и если считанный бит содержит 0, то устанавливают упомянутое (удвоенное) значение (SE02).

Когда посредством этого процесса codIRange в конечном итоге становится больше или равно 256 (Нет на этапе SE01), процесс нормализации заканчивается.

Арифметическое декодирование выполняют посредством выполнения вышеупомянутых этапов.

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

Ввиду вышеизложенного, настоящее изобретение обеспечивает способ кодирования движущихся графических изображений, устройство кодирования движущихся графических изображений, способ декодирования движущихся графических изображений, устройство декодирования движущихся графических изображений и т.п., которые могут сделать обработку эффективной без снижения эффективности кодирования при поддержании возможности хранения данных, когда в отношении информации SAO, которая является информацией, необходимой для SAO, выполняется арифметическое кодирование или арифметическое декодирование. Следует отметить, что далее в этом документе термин "кодирование" (“coding”) используется в значении "кодирование" (закодированное) (“encoding”).

Способ кодирования движущихся графических изображений согласно аспекту настоящего изобретения является способом кодирования движущихся графических изображений для кодирования входного изображения для генерирования потока битов, причем способ включает в себя: выполнение контекстно-адаптивного двоичного арифметического кодирования, в котором используется переменное значение вероятности, в отношении первой информации из многочисленных типов информации адаптивного к выборке смещения (sample adaptive offset, SAO), используемых для SAO, которое является процессом назначения значения смещения пиксельному значению пикселя, включаемого в изображение, генерируемое посредством кодирования входного изображения; и непрерывное выполнение обходного арифметического кодирования, в котором используется фиксированное значение вероятности, в отношении второй информации и третьей информации из многочисленных типов информации SAO, причем кодированная вторая и третья информация размещаются после кодированной первой информации в упомянутом потоке битов.

При этом, контекстно-адаптивное двоичное арифметическое кодирование не может быть выполнено параллельно, а обходное арифметическое кодирование может быть выполнено параллельно на битовой основе. Соответственно, в способе кодирования движущихся графических изображений согласно аспекту настоящего изобретения, так как обходное арифметическое кодирование второй информации и обходное арифметическое кодирование третьей информации выполняются не с перерывами, а непрерывно, то вследствие контекстно-адаптивного двоичного арифметического кодирования первой информации, можно увеличить объем информации, который может быть обработан параллельно. Вследствие этого параллельную обработку можно сделать эффективной. Например, посредством увеличения количества битов, в отношении которых параллельно выполняется обходное арифметическое кодирование, можно увеличить производительность параллельной обработки. Кроме того, так как в обходном арифметическом кодировании значение вероятности является фиксированным, то можно выполнять заблаговременно, до получения символа, который должен быть кодирован, арифметическое кодирование, когда упомянутый символ равен 0, и арифметическое кодирование, когда упомянутый символ равен 1, параллельно. Другими словами, можно заблаговременно выполнять, для каждого шаблона появления символа, арифметическое кодирование, соответствующее этому шаблону появления. Другими словами, в обходном арифметическом кодировании можно заблаговременно выполнять упреждающую (look-ahead) обработку. Соответственно, посредством непрерывного выполнения обходного арифметического кодирования второй информации и обходного арифметического кодирования третьей информации, можно эффективно использовать упреждающую обработку.

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

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

Посредством этого можно эффективно кодировать sao_band_position. Кроме того, например, когда первая информация является sao_offset, указывающим абсолютное значение значения смещения, sao_band_position размещается после sao_offset в потоке битов. При этом, в устройстве декодирования движущихся графических изображений, так как sao_band_position декодируется после sao_offset, даже когда sao_offset декодировано, до тех пор, пока sao_band_positson не декодировано, нельзя сохранить декодированный sao_offset в позиции хранения в памяти, связанной с диапазоном (позицией) пиксельных значений, указанной посредством sao_band_position. Однако можно надлежащим образом применять абсолютное значение значения смещения, указываемого sao_offset, к пиксельным значениям, включенным в диапазон пиксельных значений, указываемый sao_band_position, посредством сохранения декодированного sao_offset в памяти независимо от упомянутого диапазона и связывания декодированного sao_offset с sao_band_position, которая должна быть декодирована. Вследствие этого обработку можно сделать эффективной, и должным образом выполнять SAO.

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

Посредством этого можно эффективно кодировать sao_offset_sign. Кроме того, например, когда первая информация является sao_offset, указывающим абсолютное значение значения смещения, sao_band_sign размещается после sao_offset в потоке битов. При этом, когда абсолютное значение значения смещения, указываемого посредством sao_offset, равно 0, можно пропустить sao_offset_sign. Вследствие этого можно увеличить эффективность кодирования.

Кроме того, при непрерывном выполнении, sao_band_position может быть кодирована после кодирования sao_offset_sign.

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

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

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

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

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

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

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

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