СПОСОБ КОДИРОВАНИЯ ВИДЕОИЗОБРАЖЕНИЙ, СПОСОБ ДЕКОДИРОВАНИЯ ВИДЕОИЗОБРАЖЕНИЙ, УСТРОЙСТВО КОДИРОВАНИЯ ВИДЕОИЗОБРАЖЕНИЙ, УСТРОЙСТВО ДЕКОДИРОВАНИЯ ВИДЕОИЗОБРАЖЕНИЙ И УСТРОЙСТВО КОДИРОВАНИЯ-ДЕКОДИРОВАНИЯ ВИДЕОИЗОБРАЖЕНИЙ
VIDEO IMAGE CODING METHOD, VIDEO IMAGE DECODING METHOD, VIDEO IMAGE CODING DEVICE, VIDEO IMAGE DECODING DEVICE, AND VIDEO IMAGE CODING AND VIDEO IMAGE DECODING DEVICE

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к способу кодирования движущихся графических изображений и способу декодирования движущихся графических изображений.
УРОВЕНЬ ТЕХНИКИ
Стандарт высокоэффективного кодирования видео (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), которое является процессом назначения значения смещения пиксельному значению пикселя, включенного в изображение, генерируемое посредством декодирования кодированного изображения, и непрерывное выполнение обходного арифметического декодирования, в котором используется фиксированное значение вероятности, в отношении второй информации и третьей информации, которые находятся среди многочисленных типов информации SAO, и расположены после первой информации в потоке битов.
При этом контекстно-адаптивное двоичное арифметическое декодирование не может быть выполнено параллельно, а обходное арифметическое декодирование может быть выполнено параллельно на битовой основе. Соответственно, в способе декодирования движущихся графических изображений согласно другому аспекту настоящего изобретения, так как обходное арифметическое декодирование второй информации и обходное арифметическое декодирование третьей информации выполняются не с перерывами, а непрерывно, то вследствие контекстно-адаптивного двоичного арифметического декодирования первой информации, можно увеличить объем информации, которая может быть обработана параллельно. Вследствие этого параллельную обработку можно сделать эффективной. Например, посредством увеличения количества битов, в отношении которых обходное арифметическое декодирование выполняется параллельно, можно увеличить производительность параллельной обработки. Кроме того, так как в обходном арифметическом декодировании значение вероятности является фиксированным, то можно выполнять заблаговременно, до получения данных, которые должны быть декодированы, арифметическое декодирование, когда этот символ равен 0, и арифметическое декодирование, когда этот символ равен 1, параллельно. Другими словами, можно заблаговременно выполнять, для каждого шаблона появления символа, арифметическое декодирование, соответствующее этому шаблону появления. Другими словами, в обходном арифметическом декодировании можно заблаговременно выполнять упреждающую обработку. Соответственно, посредством непрерывного выполнения обходного арифметического декодирования второй информации и обходного арифметического декодирования третьей информации, можно эффективно использовать упреждающую обработку.
Кроме того, так как, в потоке битов, первая информация, в отношении которой выполняется контекстное адаптивное двоичное кодирование, размещается до второй и третьей информации, в отношении которых выполняется обходное арифметическое кодирование, то можно начинать контекстно-адаптивное двоичное арифметическое декодирование первой информации до обходного арифметического декодирования второй информации и обходного арифметического декодирования третьей информации. Вследствие этого можно начинать декодирование второй и третьей информации до окончания декодирования первой информации. Посредством этого можно увеличить скорость обработки.
Кроме того, одна из второй информации и третьей информации может являться 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_band_position. Следовательно, можно быстро сохранять значение смещения в память.
Кроме того, пиксель, к которому применяется SAO, может включать в себя компоненты многочисленных типов, и для каждой из этих компонент может быть кодирована первая информация, вторая информация и третья информация.
При этом, например, когда упомянутыми компонентами многочисленных типов являются яркость и цветность, можно декодировать только одну из информации SAO, применяемой к яркости, и информации SAO, применяемой к цветности, по мере необходимости. Другими словами, когда SAO выполняется только в отношении яркости, можно предотвращать необязательное декодирование информации SAO, применяемой к цветности. Вследствие этого обработку можно сделать эффективной.
Кроме того, при непрерывном выполнении, обходное арифметическое декодирование может быть выполнено в отношении по меньшей мере одной другой информации из многочисленных типов информации SAO непосредственно до или непосредственно после декодирования второй информации и третьей информации.
При этом можно дополнительно увеличить объем информации, которая может быть непрерывно обработана параллельно, и, соответственно, можно сделать параллельную обработку более эффективной.
Кроме того, первая информация может быть частью sao_type_idx, указывающего, что SAO не должно быть выполнено, или тип SAO. При этом, можно предотвратить уменьшение эффективности параллельной обработки для второй информации и третьей информации вследствие контекстно-адаптивного двоичного арифметического декодирования sao_type_idx.
Эти общие и специфичные аспекты могут быть реализованы с использованием системы, способа, интегральной схемы, компьютерной программы или считываемого компьютером носителя записи, например, CD-ROM, или любой комбинации систем, способов, интегральных схем, компьютерных программ или считываемых компьютером носителей записи.
Далее в этом документе, со ссылкой на Чертежи конкретно описываются варианты осуществления.
Каждый из вариантов осуществления, описанных ниже, представляет общий или конкретный пример. Числовые значения, формы, материалы, элементы конструкции, организация и соединение элементов конструкции, этапов, порядок обработки этапов и т.д., представленных в нижеследующих вариантах осуществления, являются только примерами, и, следовательно, не ограничивают объем формулы изобретения. Следовательно, среди элементов конструкции в нижеследующих вариантах осуществления, элементы конструкции, не изложенные в каком-либо одном из независимых пунктов формулы изобретения, описываются как произвольные элементы конструкции.
(ВАРИАНТ ОСУЩЕСТВЛЕНИЯ 1)
Фиг. 7 является блок-схемой, представляющей иллюстративную конфигурацию устройства 100 декодирования движущихся графических изображений согласно Варианту осуществления 1.
Устройство 100 декодирования движущихся графических изображений декодирует кодированные со сжатием данные изображения. Например, кодированные данные изображения (поток битов) вводят, на поблочной основе, в устройство 100 декодирования движущихся графических изображений в качестве сигналов, которые должны быть декодированы (входные сигналы). Устройство 100 декодирования движущихся графических изображений восстанавливает данные изображения посредством выполнения декодирования с переменной длиной слова, обратного квантования и обратного преобразования в отношении введенных сигналов, которые должны быть декодированы.
Как показано на фиг. 7, устройство 100 декодирования движущихся графических изображений включает в себя блок 110 энтропийного декодирования, блок 120 обратного преобразования и обратного квантования, сумматор 125, контурный фильтр 130, память 140, блок 150 внутреннего предсказания, блок 160 компенсации движения и переключатель 170 изменения внутреннее/внешнее.
Блок 110 энтропийного декодирования выполняет декодирование с переменной длиной слова в отношении входного сигнала, для восстановления коэффициента квантования. Следует отметить, что при этом входной сигнал является сигналом, который должен быть декодирован, и соответствует кодированным данным изображения для каждого блока. Кроме того, блок 110 энтропийного декодирования получает данные движения из входного сигнала, и выводит полученные данные движения в блок 160 компенсации движения. Кроме того, блок 110 энтропийного декодирования выполняет декодирование с переменной длиной слова в отношении входном сигнале, для восстановления информации SAO, и выводит информацию SAO в контурный фильтр 130.
Блок 120 обратного преобразования и обратного квантования выполняет обратное квантование в отношении коэффициента квантования, восстановленного блоком 110 энтропийного декодирования, для восстановления коэффициента преобразования. После этого блок 120 обратного преобразования и обратного квантования выполняет обратное преобразование в отношении восстановленного коэффициента преобразования, для восстановления ошибки предсказания.
Сумматор 125 добавляет восстановленную ошибку предсказания к сигналу предсказания, для генерирования декодированного изображения.
Контурный фильтр 130 выполняет процесс контурного фильтра в отношении сгенерированного декодированного изображения. Декодированное изображение, в отношении которого был выполнен процесс контурного фильтра, выводится как декодированный сигнал. Следует отметить, что процесс контурного фильтра включает в себя SAO.
Память 140 является памятью для сохранения опорных изображений, используемых для компенсации движения. А именно, память 140 хранит декодированные изображения, в отношении которых был выполнен процесс контурного фильтра.
Блок 150 внутреннего предсказания выполняет внутреннее предсказание для генерирования сигнала предсказания (сигнал внутреннего предсказания). А именно, блок 150 внутреннего предсказания выполняет внутреннее предсказание посредством ссылки на изображение около текущего блока, который должен быть декодирован, (входной сигнал) в декодированном изображении, сгенерированном сумматором 125, для генерирования сигнала внутреннего предсказания.
Блок 160 компенсации движения выполняет компенсацию движения на основе данных движения, выведенных из блока 110 энтропийного декодирования, для генерирования сигнала предсказания (сигнал внешнего предсказания).
Переключатель 170 изменения внутреннее/внешнее выбирает либо сигнал внутреннего предсказания, либо сигнал внешнего предсказания, и выводит выбранный сигнал в сумматор 125 как сигнал предсказания.
Вышеупомянутая конфигурация обеспечивает возможность устройству 100 декодирования движущихся графических изображений согласно Варианту осуществления 1 декодировать кодированные данные изображения, которые являются кодированными со сжатием данными изображения.
Следует отметить, что, в Варианте осуществления 1, блок 110 энтропийного декодирования включает в себя блок декодирования информации SAO, который декодирует информацию SAO.
Фиг. 8 является блок-схемой, показывающей функциональную конфигурацию блока декодирования информации SAO согласно Варианту осуществления 1.
Блок 101 декодирования информации SAO восстанавливает информацию SAO из потока битов BS. Другими словами, блок 101 декодирования информации SAO выполняет декодирование с переменной длиной слова в отношении информации типа SAO (sao_type_idx), информации позиции интервала пиксельных значений SAO (sao_band_position), значения смещения SAO (sao_offset[i]) и знака смещения SAO (sao_offset_sign[i]), в отношении которых было выполнено кодирование с переменной длиной слова, и которые включены в информацию SAO.
А именно, блок 101 декодирования информации SAO включает в себя: блок 102 декодирования Sao_Type, который декодирует информацию типа SAO; блок 103 определения Sao_Type, который определяет тип обработки смещения, указываемый информацией типа SAO, и т.п.; переключатели 104 и 105; блок 107 декодирования Sao_band_position, который декодирует информацию позиции интервала пиксельных значений SAO; блок 108 декодирования Sao_Offset, который декодирует значение смещения SAO; блок 109 декодирования Sao_offset_sign, который декодирует знак смещения SAO; и блок 111 хранения данных.
Работа блока 101 декодирования информации SAO подробно описана со ссылкой на фиг. 9.
Фиг. 9 является блок-схемой последовательности операций, показывающей иллюстративный поток арифметического декодирования блоком 101 декодирования информации SAO.
Сначала блок 102 декодирования Sao_Type блока 101 декодирования информации SAO декодирует информацию типа SAO (sao_type_idx) из потока битов BS (S201). После этого блок 103 определения Sao_Type определяет, указывает ли sao_type_idx то, что SAO не должно быть выполнено (Sao off) (S202). При этом, при определении того, что sao_type_idx указывает, что SAO не должно быть выполнено (ДА на этапе S202), блок 103 определения Sao_Type переводит переключатели 104 и 105 в положение "ВЫКЛЮЧЕНО", и завершает арифметическое декодирование информации SAO, так как информация SAO, отличная от информации типа SAO, не включена в поток битов BS.
Напротив, при определении того, что sao_type_idx указывает, что SAO должен быть выполнен (НЕТ на этапе S202), блок 103 определения Sao_Type переводит переключатель 105 в положение "ВКЛЮЧЕНО". При этом, блок 108 декодирования Sao_Offset декодирует значение смещения SAO (sao_offset) из потока битов BS (S203). Следует отметить, что блок 108 декодирования Sao_Offset сохраняет декодированное значение смещения SAO в регистр смещения, обеспеченный заранее, или часть памяти внутри блока 111 хранения данных. При этом блок 108 декодирования Sao_Offset продолжает декодирование на этапе S203 до тех пор, пока не будет декодировано предопределенное количество значений смещения SAO (в течение периода НЕТ в S204). Когда блок 108 декодирования Sao_Offset декодирует все значения смещения SAO (ДА на этапе S204), блок 103 определения Sao_Type определяет то, указывает ли sao_type_idx смещение интервала, в котором выполняется обработка смещения в отношении пиксельных значений, включенных в некоторый интервал (диапазон предопределенных пиксельных значений) (S205).
При этом, при определении того, что смещение интервала не указано (НЕТ этапе S205), блок 103 определения Sao_Type переводит переключатель 104 в положение "ВЫКЛЮЧЕНО", и завершает арифметическое декодирование всей информации SAO. Напротив, при определении того, что смещение интервала указано (ДА на этапе S205), блок 103 определения Sao_Type переводит переключатель 104 в положение "ВКЛЮЧЕНО". При этом, когда декодированное значение смещения SAO не равно нулю (НЕТ на этапе S206), блок 109 декодирования Sao_offset_sign декодирует знак смещения SAO, соответствующий значению смещения SAO (S207). В этом случае, значение смещения SAO в блоке A11 хранения данных обновляется с использованием упомянутого декодированного знака смещения SAO. Когда декодированное значение смещения SAO равно нулю (ДА на этапе S206), знак смещения SAO не имеет конкретного значения, и, соответственно, блок 109 декодирования Sao_offset_sign пропускает декодирование. При этом блок 109 декодирования Sao_offset_sign продолжает декодирование до тех пор, пока не будет декодировано предопределенное количество знаков смещения SAO, соответствующих значениям смещения SAO (в течение периода НЕТ на этапе S208). Когда все знаки смещения SAO декодированы (ДА на этапе S208), блок 107 декодирования Sao_band_position декодирует информацию позиции интервала пиксельных значений SAO (sao_band_position) (S209). Информация позиции интервала пиксельных значений SAO указывает то, каким значением смещения интервала (секции) пиксельных значений значение смещения SAO является, и, соответственно, информация позиции интервала пиксельных значений SAO сохраняется в блок 111 хранения данных. В качестве альтернативы, позиция хранения в блоке 111 хранения данных изменяется на основе информации позиции интервала пиксельных значений SAO. Эта обработка обеспечивает возможность правильного декодирования информации SAO.
Следует отметить, несмотря на то, что в этом описании информация типа SAO всегда декодируется из потока битов BS, это не является ограничением настоящего изобретения. Например, информация типа SAO в области, которая должна быть обработана, может быть получена согласно предопределенному правилу (например, правилу, что должна быть использована информация типа SAO, которая является идентичной информации типа SAO в левой области), и упомянутая информация типа SAO может быть декодирована. В этом случае, информация типа SAO не обязательно описывается в потоке битов.
В этом варианте осуществления, так как порядок многочисленных типов информации (параметров), включенных в информацию SAO, отличается от порядка, показанного на фиг. 3, то можно снизить объем обработки, сделать эту обработку эффективной, и должным образом декодировать поток битов, для которого эффективность кодирования увеличивается.
Следует отметить, что параметры, которые являются элементами информации, декодируемыми на этапах, заключенных в двойную рамку на фиг. 9, являются параметрами, декодируемыми посредством обходного арифметического декодирования. Параметры, которые являются элементами информации, декодируемыми на этапах, заключенных в обычную рамку, являются параметрами, в отношении которых выполняется контекстно-адаптивная двоичная арифметическая обработка с использованием переменного значения вероятности, которое является по меньшей мере частью каждого из параметров. В способе декодирования движущихся графических изображений в этом варианте осуществления, как представлено на фиг. 9, параметры многочисленных типов декодируются в совокупности (непрерывно) посредством обходного арифметического декодирования в последней части потока битов BS в сравнении со способом, показанным на фиг. 3.
Следует отметить, что в случае параметра, вероятность появления символа которого не составляет приблизительно 50%, выполнение контекстно-адаптивного двоичного арифметического кодирования, в котором используется переменное значение вероятности, в отношении упомянутого параметра, позволяет увеличить эффективность кодирования ввиду систематической ошибки информации. По этой причине контекстно-адаптивное двоичное арифметическое декодирование в отношении таки образом кодированного параметра (см. фиг. 4). Напротив, в случае параметра, возможное значение которого имеет широкий диапазон, или параметра, вероятность появления символа которого составляет приблизительно 50%, вероятность появления символа параметра считают 50%, и можно снизить объем обработки посредством выполнения обходного арифметического кодирования в отношении упомянутого параметра. Другими словами, выполнение обходного арифметического декодирования в отношении знака смещения SAO, соответствующего значению смещения SAO, и информации позиции интервала пиксельных значений SAO (см. фиг. 5), позволяет снизить объем обработки. Кроме того, в этом обходном арифметическом декодировании, процесс нормализации выполняется согласно потоку, представленному на фиг. 6.
Фиг. 10A является схемой для иллюстрации, в этом варианте осуществления, иллюстративной последовательности параметров, включенных в информацию SAO, и иллюстративного порядка декодирования этих параметров.
(a) На фиг. 10A показан пример, в котором декодирование информации SAO выполняется одновременно параллельно. Как показано на фиг. 10A (a), в способе декодирования движущихся графических изображений в этом варианте осуществления, SAO_OFFSET, SAO_OFFSET_SIGN и SAO_BAND_POSITION, то есть элементы информации (параметры), включенные в поток битов BS, декодируются в этом порядке. Следует отметить, что на фиг. 10A-фиг. 10C, значение смещения SAO, знак смещения SAO и информация позиции интервала пиксельных значений SAO показаны соответственно как SAO_OFFSET, SAO_OFFSET_SIGN и SAO_BAND_POSITION.
Обходное арифметическое декодирование выполняется в отношении, из упомянутых элементов информации, SAO_OFFSET_SIGN и SAO_BAND_POSITION, заключенных в жирную рамку на фиг. 10A. В этом описании желательно реализовывать обработку параллельно, так как необходимо увеличивать скорость обработки в то время, как увеличивается используемое разрешение изображения, и широко используется высокоскоростная связь в реальном времени. Однако, так как в отношении по меньшей мере части SAO_OFFSET выполняется контекстно-адаптивное двоичное арифметическое кодирование, то необходимо последовательно считывать вероятность появления символа, и выполнять процесс обновления. По этой причине невозможно выполнять арифметическое декодирование SAO_OFFSET параллельно. Ввиду этого, как показано посредством (b) на фиг. 10A, части, в отношении которых выполняется обходное арифметическое декодирование, декодируются параллельно бит за битом. Кроме того, когда обходное арифметическое декодирование выполняется параллельно, для обходного арифметического декодирования может быть выполнено предварительное вычисление, независимо от внутреннего состояния устройства 100 декодирования движущихся графических изображений, и, соответственно, после получения информации из потока битов BS, устройство 100 декодирования движущихся графических изображений может начинать обходное арифметическое декодирование, даже когда контекстно-адаптивное двоичное арифметическое декодирование не закончено. Это обеспечивает возможность более высокой скорости декодирования.
Фиг. 10B является схемой для изображения иллюстративной последовательности и иллюстративного порядка декодирования параметров, включенных в информацию SAO, которые используются для выполнения операции, представленной на фиг. 3. Следует отметить, что (a) и (b) на фиг. 10B соответствуют (a) и (b) на фиг. 10A, соответственно. Кроме того, контекстно-адаптивное двоичное арифметическое декодирование выполняется последовательно в отношении SAO_OFFSET, а обходное арифметическое декодирование может быть выполнено в отношении SAO_BAND_POSITION и SAO_OFFSET_SIGN параллельно. Однако, так как части, в отношении которых выполняется обходное арифметическое декодирование, предшествуют и следуют за частью, в отношении которой выполняется контекстно-адаптивное двоичное арифметическое декодирование, то часть, в отношении которой может быть выполнена параллельная обработка является разорванной. Соответственно, последовательность параметров, показанных на фиг. 10A в этом варианте осуществления, является более подходящей для высокоскоростной обработки, чем последовательность параметров, показанных на фиг. 10B. Однако последовательность параметров, показанных на фиг. 10B, обеспечивает возможность устройству декодирования движущихся графических изображений заранее распознавать позицию смещения интервала (информация позиции интервала пиксельных значений SAO), и, соответственно, существует преимущество, состоящее в определении заранее позиции хранения в памяти, в которой сохраняется значение смещения SAO, согласно информации позиции интервала пиксельных значений SAO. Напротив, в этом варианте осуществления, позиция хранения определяется независимо от позиции смещения интервала (информация позиции интервала пиксельных значений SAO), и, когда применяется SAO, в контурный фильтр 130 передается информация позиции интервала пиксельных значений SAO, указывающая позицию смещения интервала. При этом можно успешно декодировать параметры согласно порядку параметров, показанных на фиг. 10A.
Следует отметить, что в примере, представленном на фиг. 10A, в случае, когда присутствует количество i (где i - целое число, большее или равное 2) SAO_OFFSET, даже когда контекстное двоичное арифметическое кодирование выполняется в отношении всего или части SAO_OFFSET, количество i SAO_OFFSET декодируется в порядке включения (его) в поток битов BS. Однако настоящее изобретение не ограничивается этим, часть PREFIX, в совокупности включающая в себя только части каждого SAO_OFFSET, и часть SUFFIX, в совокупности включающая в себя только оставшиеся части каждого SAO_OFFSET, могут быть декодированы по порядку.
Фиг. 10C является схемой, представляющей иллюстративную последовательность параметров, включенных в информацию SAO, и иллюстративный порядок декодирования этих параметров, когда количество i SAO_OFFSET, каждое включает в себя часть PREFIX и часть SUFFIX.
Например, контекстно-адаптивное двоичное арифметическое кодирование выполняется только в отношении первых N битов SAO_OFFSET, а обходное арифметическое кодирование выполняется в отношении оставшихся битов. Кроме того, как заявлено, имеется количество i (i=4 в Непатентной литературе) SAO_OFFSET. В таком случае поток битов BS включает в себя: часть PREFIX (SAO_OFFSET_PREFIX), которая в совокупности включает в себя части (количество N битов), в отношении которых выполняется контекстно-адаптивное двоичное арифметическое кодирование, и показана посредством (a) на фиг. 10C, и часть SUFFIX (SAO_OFFSET_SUFFIX), которая в совокупности включает в себя части, в отношении которых выполняется обходное арифметическое кодирование, и показана посредством (a) на фиг. 10C, причем часть PREFIX и часть SUFFIX включаются в каждое из количества i SAO_OFFSET. Кроме того, часть SUFFIX следует за частью PREFIX. В этом варианте осуществления, когда декодируется такой поток битов BS, как показано посредством (b) на фиг. 10C, обходное арифметическое декодирование непрерывно выполняется не только в отношении SAO_OFFSET_SIGN и SAO_BAND_POSITION, но также и в отношении SAO_OFFSET_SUFFIX, части SUFFIX. При этом, для достижения высокоскоростного декодирования можно увеличить производительность параллельной обработки.
Как описано, устройство декодирования движущихся графических изображений и способ декодирования движущихся графических изображений согласно Варианту осуществления 1 обеспечивают возможность эффективного декодирования, с высокой скоростью, упомянутой информации SAO, включенной в поток битов.
А именно, как описано в Варианте осуществления 1, можно получить большую часть, в отношении которой может быть выполнена параллельная операция, посредством выполнения контекстно-адаптивного двоичного арифметического декодирования в отношении, из многочисленных типов информации, включенной в информацию SAO, предопределенных типов информации, и непрерывного выполнения обходного арифметического декодирования в отношении других многочисленных типов информации, с выполнением посредством этого эффективной параллельной обработки, то есть высокоскоростного декодирования.
Кроме того, можно исключить процесс определения (например, этап SB02 на фиг. 3), посредством декодирования соответствующей информации (sao_band_position) смещения интервала после sao_offset, с декодированием посредством этого эффективно кодированного потока битов.
Следует отметить, несмотря на то, что в вышеупомянутом описании декодирование, применяемое к каждому из параметров, переключается между контекстно-адаптивным двоичным арифметическим декодированием и обходным арифметическим декодированием для каждого параметра, настоящее изобретение не ограничивается этим. Например, как представлено на фиг. 10C, ожидается полезный эффект от сокращения некоторого объема обработки посредством только переключения декодирования, применяемого к каждой из частей, включенных в параметр, между контекстно-адаптивным двоичным арифметическим декодированием и обходным арифметическим декодированием для каждой части. В этом случае, не только может быть получен полезный эффект от этого варианта осуществления, но также может быть достигнуто сокращение внутренней памяти.
Следует отметить, что, в качестве иллюстративного способа выбора двоичной строки, Код Хаффмана может быть получен исходя из индекса моды, полученного на основе частоты появления, исходя из этого кода может быть сгенерирована таблица, и часть, в которой вероятность появления вызывает систематическую ошибку, может быть выбрана в качестве части префикса. Определение двоичной строки таким способом позволяет увеличивать производительность параллельной обработки, и выполнять декодирование с более высокой скоростью.
В качестве другого способа выбора двоичной строки, двоичная строка может иметь фиксированную длину. При этом, информация SAO используется для процесса контурного фильтра, который влияет на качество изображения выходного изображения. Часть, в отношении которой выполняется обходное арифметическое декодирование может непосредственно влиять на объем кодирования, в частности, и, соответственно, с использованием фиксированной длины, когда устройство кодирования движущихся графических изображений выполняет выбор независимо от объема кодирования, обеспечивает возможность устройству кодирования движущихся графических изображений выбирать информацию SAO согласно характеристикам видео. В результате можно обеспечивать декодированное изображение, имеющее высокое качество изображения.
Следует отметить, несмотря на то, что в этом варианте осуществления описывается случай, когда контекстно-адаптивное двоичное арифметическое кодирование выполняется в отношении упомянутой по меньшей мере части значения смещения SAO (sao_offset), настоящее изобретение не ограничивается этим параметром. Даже когда в отношении всего параметра выполняется обходное арифметическое кодирование, посредством выполнения обходного арифметического декодирования параллельно, с использованием порядка, описанного в этом варианте осуществления, который отличается от обычного способа, можно выполнять высокоскоростное декодирование. Кроме того, можно получить полезный эффект от исключения процесса определения, указывается ли смещение интервала, и стремиться к сокращению нагрузки обработки.
(ВАРИАНТ ОСУЩЕСТВЛЕНИЯ 2)
Устройство кодирования движущихся графических изображений в этом варианте осуществления кодирует движущееся графическое изображение для генерирования потока битов BS, декодируемого устройством 100 декодирования движущихся графических изображений согласно Варианту осуществления 1.
Фиг. 11 является блок-схемой, показывающей иллюстративную конфигурацию устройства 200 кодирования движущихся графических изображений согласно Варианту осуществления 2.
Как представлено на фиг. 11, устройство 200 кодирования движущихся графических изображений включает в себя вычитатель 205, блок 210 квантования и преобразования, блок 220 энтропийного кодирования, блок 230 обратного преобразования и обратного квантования, сумматор 235, контурный фильтр 240, память 250, блок 260 внутреннего предсказания, блок 270 обнаружения движения, блок 280 компенсации движения и переключатель 290 изменения внутреннее/внешнее.
Вычитатель 205 вычисляет разность между сигналом предсказания и входным сигналом, представляющим изображение, то есть ошибку предсказания.
Блок 210 квантования и преобразования преобразует ошибку предсказания в пространственную область для генерирования коэффициента преобразования в частотной области. Например, блок 210 квантования и преобразования выполняет дискретное косинусное преобразование (DCT) в отношении ошибки предсказания для генерирования коэффициента преобразования. Кроме того, блок 210 квантования и преобразования квантует коэффициент преобразования для генерирования коэффициента квантования.
Блок 220 энтропийного кодирования выполняет кодирование с переменной длиной слова в отношении коэффициента квантования для генерирования кодированного сигнала (поток битов). Кроме того, блок 220 энтропийного кодирования кодирует данные движения (например, вектор движения), обнаруживаемый блоком 270 обнаружения движения, и выводит кодированные данные движения, включаемые в упомянутый кодированный сигнал. Кроме того, блок 220 энтропийного кодирования выполняет кодирование с переменной длиной слова в отношении информации SAO, используемой контурным фильтром 240, и включает в себя информацию SAO, в отношении которой было выполнено кодирование с переменной длиной слова, в упомянутый кодированный сигнал.
Блок 230 обратного преобразования и обратного квантования выполняет обратное квантование в отношении коэффициента квантования для восстановления коэффициента преобразования. Кроме того, блок 230 обратного преобразования и обратного квантования выполняет обратное преобразование в отношении восстановленного коэффициента преобразования, для восстановления ошибки предсказания. Следует отметить, что, поскольку восстановленная ошибка предсказания утратила информацию вследствие квантования, то эта восстановленная ошибка предсказания не совпадает с ошибкой предсказания, сгенерированной вычитателем 205. Иначе говоря, восстановленная ошибка предсказания включает в себя ошибку квантования.
Сумматор 235 добавляет восстановленную ошибку предсказания к сигналу предсказания, для генерирования локального декодированного изображения (предварительно декодированного изображения).
Контурный фильтр 240 выполняет процесс контурного фильтра в отношении сгенерированного локального декодированного изображения. Следует отметить, что процесс контурного фильтра включает в себя SAO. Другими словами, контурный фильтр 240 выполняет SAO в отношении локального декодированного изображения с использованием информации SAO, и выводит информацию SAO в блок 220 энтропийного кодирования.
Память 250 является памятью для сохранения опорных изображений, используемых для компенсации движения. А именно, память 250 хранят локальные декодированные изображения, в отношении которых был выполнен процесс контурного фильтра.
Блок 260 внутреннего предсказания выполняет внутреннее предсказание для генерирования сигнала предсказания (сигнал внутреннего предсказания). А именно, блок 260 внутреннего предсказания выполняет внутреннее предсказание со ссылкой на изображение около текущего блока, который должен быть кодирован, (входной сигнал) в локальном декодированном изображении, сгенерированном сумматором 235, для генерирования сигнала внутреннего предсказания.
Блок 270 обнаружения движения обнаруживает данные движения (например, вектор движения) между входным сигналом и опорным изображением, хранимым в памяти 250.
Блок 280 компенсации движения выполняет компенсацию движения на основе обнаруженных данных движения для генерирования сигнала предсказания (сигнал внешнего предсказания).
Переключатель 290 изменения внутреннее/внешнее выбирает либо сигнал внутреннего предсказания, либо сигнал внешнего предсказания, и выводит выбранный сигнал в вычитатель 205 и сумматор 235 в качестве сигнала предсказания.
Вышеупомянутая конфигурация обеспечивает возможность устройству 200 кодирования движущихся графических изображений согласно Варианту осуществления 2 кодировать со сжатием данные изображения.
При этом в Варианте осуществления 2, блок 220 энтропийного кодирования включает в себя блок кодирования информации SAO, который кодирует информацию SAO.
Ниже приводятся общие сведения о способе арифметического кодирования, выполняемом блоком кодирования информации SAO в этом варианте осуществления. В отличие от обычных способов арифметического кодирования для информации SAO, способ арифметического кодирования, выполняемый блоком кодирования информации SAO в этом варианте осуществления, включает в себя: выполнение контекстно-адаптивного двоичного арифметического кодирования в отношении предопределенного параметра, включенного в информацию SAO, и непрерывное выполнение обходного арифметического кодирования в отношении параметров других многочисленных типов, включенных в информацию SAO. При этом можно добиться эффективного распараллеливания обработки, и кодировать информацию SAO с высокой скоростью.
Общие сведения о способе арифметического кодирования в этом варианте осуществления приведены выше по тексту. Может быть использован способ, идентичный обычным способам арифметического кодирования, если не указано иное.
Ниже описан поток способа арифметического кодирования для информации SAO в этом варианте осуществления.
Фиг. 12 является блок-схемой последовательности операций, показывающей арифметическое кодирование блоком кодирования информации SAO согласно Варианту осуществления 2. Сначала блок кодирования информации SAO кодирует sao_type_idx (S501). Следует отметить, что sao_type_idx не обязательно является такой информацией, как показана на фиг. 1A. Например, при условии, что sao_type_idx является информацией для идентификации информации типа SAO, например, флаг, указывающий, что должна быть использована информация типа SAO, идентичная информации типа SAO левой целевой области, причем этот sao_type_idx не ограничивается информацией, показанной на фиг. 1A. Этот вариант осуществления отличается порядком кодирования последующих потоков битов.
Далее, когда sao_type_idx указывает, что SAO не должно быть выполнено (Sao off) (ДА на этапе S502), так как не требуется кодировать информацию SAO, блок кодирования информации SAO завершает кодирование информации SAO. Напротив, когда sao_type_idx не указывает Sao off (НЕТ на этапе S502), блок кодирования информации SAO кодирует значение смещения SAO (sao_offset) (S503). При этом, в отношении по меньшей мере части sao_offset выполняется контекстно-адаптивное двоичное арифметическое кодирование, и упомянутая по меньшей мере часть sao_offset включается в поток битов предопределенным способом (S503). Следует отметить, что блок кодирования информации SAO повторно выполняет кодирование на этапе S503 до тех пор, пока не будет кодировано предопределенное количество sao_offset (в течение периода НЕТ на этапе S504). Когда все sao_offset кодированы (ДА на этапе S504), блок кодирования информации SAO определяет, указывает ли sao_type_idx смещение интервала (S505). При определении того, что sao_type_idx не указывает смещение интервала (НЕТ на этапе S505), блок кодирования информации SAO завершает кодирование информации SAO. Напротив, при определении того, что sao_type_idx указывает смещение интервала (ДА на этапе S505), блок кодирования информации SAO определяет то, равно ли значение уже кодированного sao_offset нулю (S506).
При этом, при определении того, что значение sao_offset не равно нулю (НЕТ на этапе S506), блок кодирования информации SAO кодирует знак смещения SAO, соответствующий sao_offset (S507). В отношении знака смещения SAO выполняется обходное арифметическое кодирование. Следует отметить, что детали обходного арифметического кодирования являются идентичными деталям CABAC, описанного в NPL 1-NPL 3, и обходное арифметическое кодирование является обработкой, аналогичной обходному арифметическому декодированию. Напротив, при определении того, что значение sao_offset равно нулю (ДА на этапе S506), блок кодирования информации SAO пропускает кодирование. Блок кодирования информации SAO повторяет этапы S506 и S507 для всех значений sao_offset (S508), и кодирует информацию позиции интервала пиксельных значений SAO (sao_band_position) (S509), когда процессы для всех значений sao_offset завершены (ДА на этапе S508). Этот параметр является параметром, в отношении которого выполняется обходное арифметическое кодирование, как указано выше. После этого, кодирование информации SAO завершается.
Следует отметить, что параметры, которые являются информацией, кодируемой на этапах, заключенных в двойную рамку на фиг. 12, являются параметрами, в отношении которых выполняется обходное арифметическое кодирование. Кроме того, так как в обходном арифметическом кодировании, применяемом к этим параметрам, значение вероятности является фиксированным, то можно кодировать упомянутые параметры параллельно.
Следует отметить, что для обходного арифметического кодирования может быть использовано традиционное обходное арифметическое кодирование. Кроме того, обходное арифметическое кодирование может быть арифметическим кодированием, которое не требует обновления значения вероятности, и отличается от арифметического кодирования, описанного в NPL 1 или NPL 2.
Следует отметить, что даже способ арифметического кодирования для информации SAO в этом варианте осуществления позволяет добиваться эффективного распараллеливания обработки, как показано на фиг. 10A и фиг. 10C, описанной в Варианте осуществления 1, и, соответственно, можно выполнять высокоскоростное кодирование.
При этом синтаксис для генерирования потока битов в этом варианте осуществления описан в сравнении с традиционным примером.
Фиг. 13A является таблицей, показывающей синтаксис для генерирования традиционного потока битов, представленного в NPL 3.
В этом потоке битов часть, в отношении которой выполняется обходное арифметическое кодирование, разделена частью, в отношении которой выполняется контекстно-адаптивное двоичное арифметическое кодирование. Кроме того, этап определения по определению того, указывает ли sao_type_idx смещение интервала, сосуществует при обработке для генерирования потока битов. Поэтому трудно выполнять высокоскоростное кодирование.
Фиг. 13B является таблицей, показывающей синтаксис для генерирования потока битов в этом варианте осуществления.
В этом потоке битов параметры многочисленных типов, в отношении которых выполняется обходное арифметическое кодирование, сосредоточены в последней части. Кроме того, так как имеет место вышеупомянутый этап определения, то легко выполнять высокоскоростное кодирование.
Следует отметить, что в этом варианте осуществления, так как информация позиции интервала пиксельных значений SAO (sao_band_position) в информации SAO кодирована последней, то при декодировании значения смещения SAO (sao_offset) требуется рассматривать позицию, в которой хранится значение смещения SAO, что соответственно увеличивает нагрузку. Однако, полезный эффект, получаемый от этого варианта осуществления, больше, чем восполнение недостатка, вызванного упомянутой нагрузкой, и, соответственно, способ кодирования движущихся графических изображений согласно этому варианту осуществления является значимым.
Фиг. 14 является таблицей, показывающей синтаксис для генерирования другого потока битов в этом варианте осуществления.
В этом потоке битов значение смещения SAO (sao_offset) делится на часть PREFIX, в отношении которой выполняется контекстно-адаптивное двоичное арифметическое кодирование, и часть SUFFIX, в отношении которой выполняется обходное арифметическое кодирование. В этом случае, как представлено на фиг. 10C, можно выполнять высокоскоростное кодирование.
Следует отметить, несмотря на то, что в этом варианте осуществления описывается случай, когда контекстно-адаптивное двоичное арифметическое кодирование выполняется в отношении, по меньшей мере, части значения смещения SAO (sao_offset), настоящее изобретение не ограничивается этим параметром. Даже когда обходное арифметическое кодирование выполняется в отношении целого параметра, посредством выполнения обходного арифметического кодирования, с использованием порядка, описанного в этом варианте осуществления, который отличается от традиционного способа, можно выполнять высокоскоростное кодирование. Кроме того, можно получить полезный эффект от исключения процесса определения, указывается ли смещение интервала, и стремиться к сокращению нагрузки обработки.
Несмотря на то, что способ кодирования движущихся графических изображений и способ декодирования движущихся графических изображений согласно аспектам настоящего изобретения описаны на основе этого варианта осуществления, настоящее изобретение не ограничивается этим вариантом осуществления. Специалистам в данной области техники очевидно, что в этом варианте осуществления могут быть выполнены различные модификации, и что с произвольным объединением элементов конструкции упомянутых вариантов осуществления могут быть получены другие варианты осуществления. Соответственно, все такие модификации и другие варианты осуществления включены в аспекты настоящего изобретения.
Фиг. 15A является блок-схемой последовательности операций способа кодирования движущихся графических изображений в другом варианте осуществления.
Этот способ кодирования движущихся графических изображений является способом кодирования движущихся графических изображений, в котором входное изображение кодируется для генерирования потока битов, и включает в себя этап S11 и этап S12. На этапе S11, в отношении первой информации из многочисленных типов информации SAO (параметров), используемых для адаптивного к выборке смещения (SAO), которое является процессом назначения значения смещения пиксельному значению пикселя, включенного в изображение, генерируемое посредством кодирования входного изображения, выполняется контекстно-адаптивное двоичное арифметическое кодирование, в котором используется переменное значение вероятности. На этапе S12, в отношении второй информации и третьей информации из многочисленных типов информации SAO непрерывно выполняется обходное арифметическое кодирование, в котором используется фиксированное значение вероятности. В результате кодированная вторая и третья информация размещаются после кодированной первой информации в потоке битов.
Фиг. 15B является блок-схемой, показывающей устройство кодирования движущихся графических изображений в другом варианте осуществления.
Устройство 10 кодирования движущихся графических изображений является устройством кодирования движущихся графических изображений, которое кодирует входное изображение для генерирования потока битов, и включает в себя блок 11 контекстно-адаптивного двоичного арифметического кодирования и блок 12 обходного арифметического кодирования. Блок 11 контекстно-адаптивного двоичного арифметического кодирования выполняет контекстно-адаптивное двоичное арифметическое кодирование, в котором используется переменное значение вероятности, в отношении первой информации из многочисленных типов информации SAO (параметров), используемых для адаптивного к выборке смещения (SAO), которое является процессом назначения значения смещения пиксельному значению пикселя, включенного в изображение, генерируемое посредством кодирования входного изображения. Блок 12 обходного арифметического кодирования непрерывно выполняет обходное арифметическое кодирование, в котором используется фиксированное значение вероятности, в отношении второй информации и третьей информации из многочисленных типов информации SAO. В результате кодированная вторая и третья информация размещаются в упомянутом потоке битов после кодированной первой информации.
Фиг. 15C является блок-схемой последовательности операций способа декодирования движущихся графических изображений в другом варианте осуществления.
Этот способ декодирования движущихся графических изображений является способом декодирования движущихся графических изображений, в котором декодируется кодированное изображение, включенное в поток битов, и включает в себя этап S21 и этап S22. На этапе S21, в отношении первой информации из многочисленных типов информации SAO (параметров), которые включены в поток битов, и используются для адаптивного к выборке смещения (SAO), которое является процессом назначения значения смещения пиксельному значению пикселя, включенного в изображение, генерируемое посредством декодирования кодированного изображения, выполняется контекстно-адаптивное двоичное арифметическое декодирование, в котором используется переменное значение вероятности. На этапе S22, в отношении второй информации и третьей информации, которые находятся среди многочисленных типов информации SAO и расположены после первой информации в потоке битов, непрерывно выполняется обходное арифметическое декодирование, в котором используется фиксированное значение вероятности.
Фиг. 15D является блок-схемой, показывающей устройство декодирования движущихся графических изображений в другом варианте осуществления.
Устройство декодирования движущихся графических изображений является устройством декодирования движущихся графических изображений, которое декодирует кодированное изображение, включенное в поток битов, и включает в себя блок 21 контекстно-адаптивного двоичного арифметического декодирования и блок 22 обходного арифметического декодирования. Блок 21 контекстно-адаптивного двоичного арифметического декодирования выполняет контекстно-адаптивное двоичное арифметическое декодирование, в котором используется переменное значение вероятности, в отношении первой информации из многочисленных типов информации SAO (параметров), которые включены в поток битов и используются для адаптивного к выборке смещения (SAO), которое является процессом назначения значения смещения пиксельному значению пикселя, включенного в изображение, генерируемое посредством декодирования кодированного изображения. Блок 22 обходного арифметического декодирования непрерывно выполняет обходное арифметическое декодирование, в котором используется фиксированное значение вероятности, в отношении второй информации и третьей информации, которые находятся среди многочисленных типов информации SAO, и расположены после первой информации в потоке битов.
Каждый из элементов конструкции в каждом из вышеописанных вариантов осуществления может быть выполнен в виде специального аппаратного изделия, или может быть реализован посредством исполнения программы программного обеспечения, подходящей для этого элемента конструкции. Каждый из элементов конструкции может быть реализован посредством блока для исполнения программы, например, CPU (центральный процессор, ЦП), и процессора, считывающего и исполняющего программу программного обеспечения, записанную на носителе записи, например, на жестком диске и полупроводниковом запоминающем устройстве. В этом описании, программой программного обеспечения, для реализации устройства кодирования движущихся графических изображений согласно каждому из вариантов осуществления является программа, вызывающая исполнение компьютером этапов, представленных на фиг. 15A. Кроме того, программой программного обеспечения, для реализации устройства декодирования движущихся графических изображений согласно каждому из вариантов осуществления является программа, вызывающая исполнение компьютером этапов, представленных на фиг. 15C.
(ВАРИАНТ ОСУЩЕСТВЛЕНИЯ 3)
Посредством записи, на носителе записи, программы для реализации структуры способа кодирования движущихся графических изображений (способа кодирования изображений) или способа декодирования  движущихся графических изображений (способа декодирования изображений) согласно каждому варианту осуществления, независимая компьютерная система может легко выполнять обработку, описанную в каждом из вариантов осуществления. Носитель записи может быть любым, при условии, что на нем может быть записана программа, например, магнитным диском, оптическим диском, оптическим магнитным диском, платой ИС и полупроводниковым запоминающим устройством.
Далее в этом документе, описаны применения способа кодирования движущихся графических изображений (способа кодирования изображений) и способа декодирования движущихся графических изображений (способа декодирования изображений) согласно каждому из вариантов осуществления, и система, использующая такие приложения. Особенности системы включают в себя устройство кодирования изображений, использующее упомянутый способ кодирования изображений, и устройство кодирования и декодирования изображений, включающее в себя устройство декодирования изображений, использующее упомянутый способ декодирования изображений. В зависимости от конкретного случая, может быть осуществлена замена на соответствующие другие конфигурации системы.
На фиг. 16 изображена общая конфигурация системы ex100 обеспечения контента для осуществления услуг распределения содержимого. Зона для обеспечения услуг связи делится на соты требуемого размера, и в каждой из сот размещены базовые станции exl06-ex110, которые являются стационарными радиостанциями.
Система ex100 обеспечения контента соединяется с устройствами, например, компьютером ex111, персональным цифровым секретарем (PDA) ex112, камерой ex113, сотовым телефоном ex114 и игровой машиной ex115, через Internet ex101, поставщика ex102 услуг Internet, телефонную сеть ex104, а также базовые станции ex106-ex110.
Однако конфигурация системы ex100 обеспечения контента не ограничивается конфигурацией, представленной на фиг. 16, и допустимой является комбинация, в которой может быть подключен любой из элементов. Кроме того, каждое из устройств может быть непосредственно соединено с телефонной сетью ex104, а не через базовые станции ех106-ex110, которые являются стационарными радиостанциями. Кроме того, устройства могут быть соединены друг с другом посредством беспроводной связи малой дальности и др.
Камера ex113, например, цифровая видеокамера, может захватывать движущиеся изображения. Камера ex116, например, цифровая видеокамера, может захватывать как неподвижные изображения, так и движущиеся изображения. Кроме того, сотовый телефон ex114 может являться сотовым телефоном, который удовлетворяет любому из стандартов, например, Глобальная система мобильной связи (GSM), Множественный доступ с кодовым разделением (CDMA), Широкополосный множественный доступ с кодовым разделением (W-CDMA), Долгосрочное развитие (LTE) и Высокоскоростной пакетный доступ (HSPA). В качестве альтернативы, сотовый телефон ex114 может являться системой персональных мобильных телефонов (PHS).
В системе ex100 обеспечения контента, потоковый сервер ex103 соединен с камерой ex113 и др. через телефонную сеть ex104 и базовую станцию ex109, которая обеспечивает возможность распространения шоу в прямом эфире и др. При таком распространении, содержимое (например, видео музыкального шоу в прямом эфире), захваченное пользователем с использованием камеры exll3, кодируется (то есть, функционирует как устройство кодирования изображения согласно одному аспекту настоящего изобретения), как описано выше в каждом из вариантов осуществления, и кодированное содержимое передается в потоковый сервер ex103. С другой стороны, потоковый сервер ex103 осуществляет распространение потока принятых данных содержимого клиентам после их запросов. Клиенты включают в себя компьютер ex111, PDA ex112, камеру ex113, сотовый телефон ex114 и игровую машину ex115, которые могут декодировать вышеупомянутые закодированные данные. Каждое из устройств, которые приняли упомянутые распространенные данные, декодирует и воспроизводит закодированные данные (то есть, функционирует как устройство декодирования изображения согласно одному аспекту настоящего изобретения).
Захваченные данные могут быть закодированы камерой ex113 или потоковым сервером ex103, который передает эти данные, или процессы кодирования могут быть разделены между камерой ex113 и потоковым сервером ex103. Аналогично, упомянутые распространяемые данные могут быть декодированы клиентами или потоковым сервером ex103, или процессы декодирования могут быть разделены между клиентами и потоковым сервером ex103. Кроме того, данные неподвижных изображений и движущихся изображений, захватываемые не только камерой ex113, но также и камерой ex16, могут передаваться в потоковый сервер exl03 через компьютер ex111. Процессы кодирования могут выполняться камерой ex116, компьютером ex111 или потоковым сервером exl03, или разделяться между ними.
Кроме того, обычно такие процессы кодирования и декодирования выполняет компьютер ex111 и БИС ex500, включенная в каждое из устройств. БИС ex500 может быть выполнена в виде одной микросхемы или множества микросхем. Программное обеспечение для кодирования и декодирования движущихся графических изображений, может быть объединено в одно целое с некоторым типом носителя записи (например, CD-ROM, гибкий диск и жесткий диск), который является читаемым посредством компьютера ex111 и др., и процессы кодирования и декодирования могут выполняться с использованием программных средств. Кроме того, если сотовый телефон ex114 оснащен камерой, то видеоданные, получаемые этой камерой, могут быть переданы. Видеоданными являются данные, закодированные посредством БИС ex500, включенной в сотовый телефон ex114.
Кроме того, потоковый сервер ex103 может состоять из серверов и компьютеров, и может децентрализовывать данные, и эти децентрализованные данные обрабатывать, записывать или распространять данные.
Как описано выше, в системе ex100 обеспечения контента клиенты могут принимать и воспроизводить закодированные данные. Другими словами, в системе ex100 обеспечения контента клиенты могут принимать и декодировать информацию, передаваемую пользователем, и воспроизводить эти декодированные данные в режиме реального времени, так что пользователь, который не имеет специального права и оборудования, может осуществлять персональную широковещательную передачу.
Кроме примера ex100 системы обеспечения контента, по меньшей мере, одно из устройства кодирования движущихся графических изображений (устройство кодирования изображения) и устройства декодирования движущихся графических изображений (устройство декодирования изображения), описанных в каждом из вариантов осуществления, может быть реализовано в системе ex200 цифрового вещания, изображенной на фиг. 17. Более конкретно, вещательная станция ex201 сообщает или передает, посредством радиоволн в вещательный спутник ex202, мультиплексированные данные, полученные при мультиплексировании аудиоданных на видеоданные. Видеоданными являются данные, закодированные способом кодирования движущихся графических изображений, описанным в каждом из вариантов осуществления (то есть, данные, закодированные устройством кодирования изображения согласно одному аспекту настоящего изобретения). После получения видеоданных, вещательный спутник ex202 передает радиоволны для вещания. После этого, антенна ex204 для домашнего использования, которая может принимать спутниковое вещание, принимает эти радиоволны. После этого устройство, например, телевизор (приемник) ех300 и телевизионная абонентская приставка (STB) ex217, декодирует принятые мультиплексированные данные, и воспроизводит эти декодированные данные (то есть, функционирует как устройство декодирования изображения согласно одному аспекту настоящего изобретения).
Кроме того, устройство ex218 считывания/записи, которое (i) считывает и декодирует мультиплексированные данные, записанные на носителях ex215 записи, например, DVD и BD, или (ii) кодирует видеосигналы на носителе ex215 записи, и в некоторых случаях, записывает данные, полученные при мультиплексировании аудиосигнала на закодированные данные, может включать в себя устройство декодирования движущихся графических изображений или устройство кодирования движущихся графических изображений, представленные в каждом из вариантов осуществления. В этом случае воспроизводимые видеосигналы отображаются на мониторе ex219, и с использованием носителя ex215 записи, на котором записаны упомянутые мультиплексированные данные, другое устройство или система могут воспроизводить эти видеосигналы. Кроме того, устройство декодирования движущихся графических изображений также можно реализовать в телевизионной абонентской приставке ex217, соединенной с кабелем ex203 для кабельного телевидения или антенной ex204 для спутникового и/или наземного вещания, для отображения видеосигналов на мониторе ex219 телевизора ех300. Устройство декодирования движущихся графических изображений может быть включено не в телевизионную абонентскую приставку, а в телевизор ех300.
На фиг. 18 изображен телевизор (приемник) ех300, который использует способ кодирования движущихся графических изображений и способ декодирования движущихся графических изображений, описанные в каждом из Вариантов осуществления. Телевизор ех300 включает в себя: селектор ex301 каналов, который получает или обеспечивает мультиплексированные данные, полученные при мультиплексировании аудиоданных и видеоданных, через антенну ex204 или кабель ex203 и т.д., который принимает вещание, блок ex302 модуляции/демодуляции, который демодулирует принятые мультиплексированные данные, или модулирует данные в мультиплексированные данные, которые должны подаваться наружу, и блок ех303 мультиплексирования/демультиплексирования, который демультиплексирует модулированные мультиплексированные данные в видеоданные и аудиоданные, или мультиплексирует видеоданные и аудиоданные, закодированные блоком ех306 обработки сигналов, в данные.
Телевизор ех300 также включает в себя: блок ех306 обработки сигналов, включающий в себя блок ex304 обработки аудиосигнала и блок ex305 обработки видеосигнала, которые декодируют аудиоданные и видеоданные и кодируют аудиоданные и видеоданные, соответственно (которые функционируют как устройство кодирования изображения и устройство декодирования изображения, соответственно, согласно одному аспекту настоящего изобретения), и устройство ex309 вывода, включающее в себя динамик ex307, который обеспечивает декодированный аудиосигнал, и блок ex308 отображения, который отображает декодированный видеосигнал, например, дисплей. Кроме того, телевизор ех300 включает в себя интерфейсный блок ex317, включающий в себя блок ex312 ввода операций, который принимает ввод операции пользователя. Кроме того, телевизор ех300 включает в себя блок ex310 управления, который управляет в целом каждым составляющим элементом телевизора ех300, и блок ex311 схемы подачи питания, который подает электропитание на каждый из элементов. Кроме блока ex312 ввода операций, интерфейсный блок ex317 может включать в себя: устройство ex313 сопряжения, которое соединено с внешним устройством, например, устройством ex218 считывания/записи, блок ex314 слота для обеспечения возможности подсоединения носителя ex216 записи, например, карты SD, драйвер ex315 для соединения с внешним носителем записи, например, с жестким диском, и модем ex316 для соединения с телефонной сетью. При этом, с использованием элемента энергонезависимой полупроводниковой памяти на носитель ex216 записи можно электрически записывать информацию для сохранения. Составляющие элементы телевизора ех300 связаны друг с другом через синхронную шину.
Сначала будет описана конфигурация, при которой телевизор ех300 декодирует мультиплексированные данные, полученные извне через антенны ex204 и др., и воспроизводит эти декодированные данные. В телевизоре ех300, после приема операции пользователя из удаленного контроллера ex220 и др., блок ех303 мультиплексирования/демультиплексирования демультиплексирует мультиплексированные данные, демодулированные блоком ex302 модуляции/демодуляции, под управлением блока ex310 управления, включающего в себя CPU. Кроме того, блок ex304 обработки аудиосигнала декодирует демультиплексированные аудиоданные, и блок ex305 обработки видеосигнала декодирует демультиплексированные видеоданные, с использованием способа декодирования, описанного в каждом из вариантов осуществления, в телевизоре eх300. Устройство ex309 вывода обеспечивает декодированные видеосигнал и аудиосигнал наружу. Когда устройство ex309 вывода обеспечивает видеосигнал и аудиосигнал, эти сигналы могут быть временно сохранены в буферах ex318 и ex319 и др. для воспроизведения этих сигналов синхронно друг с другом. Кроме того, телевизор ех300 может считывать мультиплексированные данные не через широковещание и др., а с носителей ex215 и ex216 записи, например, магнитного диска, оптического диска и карты SD. Далее будет описана конфигурация, при которой телевизор ех300 кодирует аудиосигнал и видеосигнал, и передает эти данные наружу, или записывает эти данные на носитель записи. В телевизоре ех300, после приема операции пользователя из удаленного контроллера ex220 и др., блок ex304 обработки аудиосигнала кодирует аудиосигнал, и блок ex305 обработки видеосигнала кодирует видеосигнал, под управлением блока ex310 управления с использованием способа кодирования, описанного в каждом из вариантов осуществления. Блок ех303 мультиплексирования/демультиплексирования мультиплексирует закодированные видеосигнал и аудиосигнал, и обеспечивает получившийся в результате сигнал наружу. Когда блок ex303 мультиплексирования/демультиплексирования мультиплексирует видеосигнал и аудиосигнал, эти сигналы могут быть временно сохранены в буферах ex320 и ex321 и др. для воспроизведения этих сигналов синхронно друг с другом. При этом может существовать множество буферов ex318-ex321, как изображено, или в телевизоре ех300, по меньшей мере, один буфер может использоваться совместно. Кроме того, данные могут храниться в буфере, отличном от буферов ex318-ex321, например, во избежание незаполнения или переполнения системы между блоком ex302 модуляции/демодуляции и блоком ex303 мультиплексирования/демультиплексирования.
Кроме того, телевизор ех300 может включать в себя конфигурацию для приема ввода AV (аудио/видео) из микрофона или камеры, отличную от конфигурации для получая аудио и видеоданных из вещания или носителя записи, и может кодировать полученные данные. Несмотря на то, что в описании телевизор ех300 может кодировать, мультиплексировать и обеспечивать наружу данные, он может не иметь возможности выполнять все процессы, а иметь возможность только одного из приема, декодирования и обеспечения наружу данных.
Кроме того, когда устройство ex218 считывания/записи считывает или записывает мультиплексированные данные с носителя записи или на него, одно из телевизора ех300 и устройства ex218 считывания/записи может декодировать или кодировать мультиплексированные данные, и телевизор ех300 и устройство ex218 считывания/записи могут совместно использовать декодирование или кодирование.
В качестве примера, на фиг. 19 изображена конфигурация блока ex400 записи/воспроизведения информации, при которой данные считываются или записываются с оптического диска или на него. Блок ex400 записи/воспроизведения информации включает в себя составляющие элементы ex401-ex407, которые описаны далее в этом документе. Для записи информации оптическая головка ex401 излучает лазерное пятно на рабочую поверхность носителя ex215 записи, который является оптическим диском, и для считывания информации регистрирует отраженный свет от рабочей поверхности носителя ex215 записи. Блок ex402 записи и модуляции электрически возбуждает полупроводниковый лазер, включенный в оптическую головку ex401, и модулирует лазерное излучение согласно записываемым данным. Блок ex403 демодуляции и воспроизведения усиливает сигнал воспроизведения, полученный при электрической регистрации света, отраженного от рабочей поверхности носителя записи, с использованием фотодетектора, включенного в оптическую головку ex401, и демодулирует этот сигнал воспроизведения посредством отделения компонента сигнала, записанного на носителе ex215 записи, для воспроизведения необходимой информации. Информация, которая должна быть записана на носитель ex215 записи, и информация, воспроизводимая с носителя ex215 записи, временно хранится в буфере ex404. Носитель ex215 записи вращает дисковый привод ex405. Для следования за лазерным пятном, при управлении приводом вращения дискового привода ex405, блок ex406 сервоуправления перемещает оптическую головку ex401 на предопределенную информационную дорожку. Блок ex407 системного управления управляет всем блоком ex400 записи/воспроизведения информации. Процессы считывания и записи могут осуществляться блоком ex407 системного управления посредством использования различной информации, хранящейся в буфере ex404, и генерации и добавления новой информации, по мере необходимости, и блоком ex402 записи и модуляции, блоком ex403 демодуляции и воспроизведения и блоком ex406 сервоуправления, который записывает и воспроизводит информацию посредством оптической головки ex401, при скоординированном управлении ими. Блок ex407 системного управления включает в себя, например, микропроцессор, и исполняет обработку посредством вызова исполнения компьютером программы для считывания и записи.
Несмотря на то, что в описании оптическая головка ex401 излучает лазерное пятно, она может выполнять запись с высокой плотностью с использованием излучения в ближней зоне.
На фиг. 20 изображен носитель ex215 записи, который является оптическим диском. На рабочей поверхности носителя ex215 записи, по спирали формируются направляющие бороздки, и на информационную дорожку ex230 записывается, заранее, информация об адресах, указывающая абсолютную позицию на диске, согласно изменению формы направляющих бороздок. Информация об адресах включает в себя информацию для определения позиций блоков ex231 записи, которые являются блоком для записи данных. Устройство, которое записывает и воспроизводит данные, воспроизводит информационную дорожку ex230 и считывает информацию об адресах для определения позиций блоков записи. Кроме того, носитель ex215 записи включает в себя область ex233 записи данных, область ex232 внутренней окружности и область ex234 внешней окружности. Область ex233 записи данных является областью для использования при записи данных пользователя. Область ex232 внутренней окружности и область ex234 внешней окружности, которые находятся с внутренней стороны и с внешней стороны области ex233 записи данных, соответственно, используются для целей, отличных от записи данных пользователя. Блок 400 записи/воспроизведения информации считывает и записывает закодированные аудиоданные, закодированные видеоданные или мультиплексированные данные, полученные при мультиплексировании закодированных аудиоданных и закодированных видеоданных, из области ex233 записи данных носителя ex215 записи и в нее.
Несмотря на то, что в описании в качестве примера описан оптический диск, имеющий один слой, например, DVD и BD, оптический диск не ограничивается этим, и может быть оптическим диском, имеющим многослойную структуру, и на котором можно осуществлять запись не только на его поверхности. Кроме того, оптический диск может иметь структуру для многомерной записи/воспроизведения, например, запись информации с использованием излучения цветов с разными длинами волн в идентичной части оптического диска и запись информации при наличии разных слоев под разными углами.
Кроме того, в системе ex200 цифрового вещания, автомобиль ex210 с антенной ex205 может принимать данные из спутника ex202 и др., и воспроизводить видео на таком устройстве отображения, как автомобильная навигационная система ex211, установленная в автомобиле ex210. При этом конфигурация автомобильной навигационной системы ex211 является конфигурацией, например, включающей в себя приемный блок GPS из конфигурации, изображенной на фиг. 18. Это также справедливо для конфигурации компьютера ex111, сотового телефона ex114 и др.
На фиг. 21A изображен сотовый телефон ex114, который использует способ кодирования движущихся графических изображений или способ декодирования движущихся графических изображений, описанные в вариантах осуществления. Сотовый телефон ex114 включает в себя: антенну ex350 для передачи и приема радиоволн через базовую станцию ex110, блок ex365 камеры, которая может захватывать движущиеся и неподвижные изображения, и блок ex358 отображения, например, жидкокристаллический дисплей, для отображения данных, например, декодированного видео, захватываемого блоком ex365 камеры, или принимаемого антенной ex350. Сотовый телефон ex114 также включает в себя: блок основной части, включающий в себя набор рабочих клавиш ex366, блок ex357 вывода аудио, например, динамик, для вывода аудио, блок ex356 ввода аудио, например, микрофон, для ввода аудио, блок ex367 памяти для хранения захваченного видео или неподвижных кинокадров, записанного аудио, закодированных или декодированных данных, принятого видео, неподвижных изображений, сообщений электронной почты или др., и блок ex364 слота, который является интерфейсным блоком для носителя записи, на котором данные сохраняются так же, как и в блоке памяти ex367.
Ниже описан пример конфигурации сотового телефона ex114 со ссылкой на фиг. 21B. В сотовом телефоне ex114, основной блок ex360 управления, предназначенный для управления в целом каждым блоком основной части, включающей в себя блок ex358 отображения, а также рабочие клавиши ех366, взаимосвязан, через синхронную шину ex370, с блоком ex361 схемы подачи питания, блоком ex362 управления вводом операций, блоком ex355 обработки видеосигнала, интерфейсным блоком ех363 для камеры, блоком ex359 управления жидкокристаллическим дисплеем (LCD), блоком ex352 модуляции/демодуляции, блоком ex353 мультиплексирования/демультиплексирования, блоком ex354 обработки аудиосигнала, блоком ex364 слота и блоком ex367 памяти.
Когда клавиша завершения вызова или клавиша питания ВКЛЮЧАЮТСЯ посредством операции пользователя, блок ex361 схемы подачи питания подает на соответствующие блоки электропитание от комплекта батарей для активизирования сотового телефона ex114.
В сотовом телефоне ex114, блок ex354 обработки аудиосигнала преобразует аудиосигналы, введенные блоком ex356 ввода аудио в режиме голосового диалога, в цифровые аудиосигналы, под управлением основного блока ex360 управления, включающего в себя CPU (ЦП), ROM (ПЗУ) и RAM (ОЗУ). После этого блок ex352 модуляции/демодуляции выполняет обработку расширения спектра на цифровых аудиосигналах, и приемопередающий блок ex351 выполняет цифро-аналоговое преобразование и преобразование частоты на данных для передачи получающихся в результате данных через антенну ex350. После этого блок ex352 модуляции/демодуляции выполняет обратную обработку расширения спектра на данных, и блок ex354 обработки аудиосигнала преобразует их в аналоговые аудиосигналы для вывода их через блок ex357 вывода аудио.
Кроме того, при передаче сообщения электронной почты в режиме передачи данных, текстовые данные этого сообщения электронной почты, введенные посредством задействования рабочих клавиш ех366 и др. основной части, отправляются в основной блок ех360 управления через блок ex362 управления вводом операций. Основной блок ex360 управления вызывает выполнение блоком ex352 модуляции/демодуляции обработки расширения спектра на текстовых данных, и приемопередающий блок ex351 выполняет цифро-аналоговое преобразование и преобразование частоты на получающихся в результате данных для передачи этих данных в базовую станцию ex110 через антенну ex350. При приеме сообщения электронной почты, на принятых данных выполняется обработка, которая является приблизительно обратной по отношению к обработке для передачи сообщения электронной почты, и получающиеся в результате данные обеспечиваются в блок ex358 отображения.
При передаче видео, неподвижных изображений или видео и аудио в режиме передачи данных, блок ex355 обработки видеосигнала сжимает и кодирует видеосигналы, подаваемые из блока ex365 камеры, с использованием способа кодирования движущихся графических изображений, представленного в каждом из вариантов осуществления, (то есть, функционирует как устройство кодирования изображения согласно одному аспекту настоящего изобретения) и передает закодированные видеоданные в блок ex353 мультиплексирования/демультиплексирования. Для сравнения, во время захвата видео, неподвижных изображений и др. блоком ex365 камеры, блок ex354 обработки аудиосигнала кодирует аудиосигналы, вводимые блоком ex356 ввода аудио, и передает закодированные аудиоданные в блок ex353 мультиплексирования/демультиплексирования.
Блок ex353 мультиплексирования/демультиплексирования мультиплексирует закодированные видеоданные, подаваемые из блока ex355 обработки видеосигнала, и закодированные аудиоданные, подаваемые из блока ex354 обработки аудиосигнала, с использованием предопределенного способа. После этого блок ex352 схемы модуляции/демодуляции выполняет обработку расширения спектра на мультиплексированных данных, и приемопередающий блок ex351 выполняет цифро-аналоговое преобразование и преобразование частоты на данных для передачи получающихся в результате данных через антенну ex350.
При приеме данных видеофайла, который соединен ссылкой с Web-страницей и др., в режиме передачи данных, или при приеме электронной почты с вложенными видео и/или аудио, для декодирования мультиплексированных данных, принимаемых через антенну ex350, блок ex353 мультиплексирования/демультиплексирования демультиплексирует мультиплексированные данные в поток битов видеоданных и поток битов аудиоданных, и подает закодированные видеоданные в блок ex355 обработки видеосигнала и закодированные аудиоданные в блок ex354 обработки аудиосигнала через синхронную шину ex370. Блок ex355 обработки видеосигнала декодирует видеосигнал с использованием способа декодирования движущихся графических изображений, соответствующего способу кодирования, представленному в каждом из вариантов осуществления, (то есть, функционирует как устройство декодирования изображения согласно одному аспекту настоящего изобретения) и после этого блок ex358 отображения отображает, например, видео и неподвижные изображения, включенные в видеофайл, соединенный ссылкой с Web-страницей, через блок ex359 управления LCD. Кроме того, блок ex354 обработки аудиосигнала декодирует аудиосигнал, и блок ex357 вывода аудио обеспечивает аудио.
Кроме того, аналогично телевизору ех300, терминал, например, сотовый телефон ex114, может иметь три типа внедренческих конфигураций, включающих в себя не только (i) приемопередающий терминал, включающий в себя как устройство кодирования, так и устройство декодирования, но также и (ii) передающий терминал,⋅включающий в себя только устройство кодирования, и (iii) приемный терминал, включающий в себя только устройство декодирования. Несмотря на то, что в описании система ex200 цифрового вещания принимает и передает мультиплексированные данные, получаемые при мультиплексировании аудиоданных на видеоданные, мультиплексированные данные могут являться данными, получаемыми при мультиплексировании не аудиоданных, а символьных данных, относящихся к видео, на видеоданные, и могут являться не мультиплексированными данными, а непосредственно видеоданными.
В связи с этим, способ кодирования движущихся графических изображений или способ декодирования движущихся графических изображений в каждом из вариантов осуществления может использоваться в любом из устройств и систем, описанных выше. Соответственно, могут быть получены преимущества, описанные в каждом варианте осуществления.
Кроме того, в настоящем изобретении в любом из вариантов осуществления могут быть сделаны различные модификации и изменения.
(ВАРИАНТ ОСУЩЕСТВЛЕНИЯ 4)
Видеоданные могут генерироваться с переключением, по мере необходимости, между (i) способом кодирования движущихся графических изображений или устройством кодирования движущихся графических изображений, представленным в каждом из Вариантов осуществления, и (ii) способом кодирования движущихся графических изображений или устройством кодирования движущихся графических изображений в соответствии с другим стандартом, например, MPEG-2, MPEG4-AVC и VC-1.
При этом, когда генерируется множество видеоданных, которые отвечают другим стандартам, и после этого они декодируются, должны быть выбраны способы декодирования, которые отвечают этим другим стандартам. Однако, так как нельзя определить то, какому стандарту каждый из множества видеоданных, которые должны быть декодированы, отвечает, то существует проблема, состоящая в том, что нельзя выбрать адекватный способ декодирования.
Для решения этой проблемы, мультиплексированные данные, полученные при мультиплексировании аудиоданных и др. на видеоданные имеют структуру, включающую в себя информацию для идентификации, указывающую на то, какому стандарту отвечают эти видеоданные. Далее в этом документе описана конкретная структура мультиплексированных данных, включающая в себя видеоданные, генерируемые в способе кодирования движущихся графических изображений или устройством кодирования движущихся графических изображений, представленными в каждом из Вариантов осуществления. Мультиплексированные данные являются цифровым потоком в формате MPEG-2 Transport Stream (Транспортный поток MPEG-2).
Фиг. 22 является схемой, представляющей структуру мультиплексированных данных. Как изображено на фиг. 22, мультиплексированные данные могут быть получены при мультиплексировании, по меньшей мере, одного из видеопотока, аудиопотока, потока презентационной графики (PG) и потока интерактивной графики. Видеопоток представляет первичное видео и вторичное видео фильма, аудиопоток (IG) представляет часть первичного аудио и часть вторичного аудио, которая должна быть смешана с частью первичного аудио, и поток презентационной графики представляет субтитры фильма. При этом, первичное видео является обычным видео, которое должно быть отображено на экране, и вторичное видео является видео, которое должно быть отображено в меньшем окне в основном видео. Кроме того, поток интерактивной графики представляет интерактивный экран, который должен быть сгенерирован при размещении компонентов графического интерфейса пользователя на экране. Видеопоток кодируется в способе кодирования движущихся графических изображений или устройством кодирования движущихся графических изображений, представленными в каждом из вариантов осуществления, или в способе кодирования движущихся графических изображений или устройством кодирования движущихся графических изображений в соответствии с обычным стандартом, например, MPEG-2, MPEG4-AVC и VC-1. Аудиопоток кодируется согласно такому стандарту, как Dolby-AC-З, Dolby Digital Plus, MLP, DTS, DTS-HD и линейной PCM.
Каждый поток, включенный в мультиплексированные данные, идентифицируется посредством PID. Например, 0x1011 присваивается видеопотоку, который должен быть использован для видео фильма, 0x1100-0x111F присваиваются аудиопотокам, 0x1200-0x121F присваиваются потокам презентационной графики, 0x1400-0x141F присваиваются потокам интерактивной графики, 0x1B00-0x1B1F присваиваются видеопотокам, которые должны быть использованы для вторичного видео фильма, и 0x1A00-0x1A1F присваиваются аудиопотокам, которые должны быть использованы для вторичного видео, (и которые должны) быть смешаны с первичным аудио.
На фиг. 23 схематично изображено то, как данные мультиплексируются. Сначала видеопоток ex235, состоящий из видеокадров, и аудиопоток ex238, состоящий из аудиокадров, преобразуются в поток пакетов ex236 PES и поток пакетов ex239 PES, а также в пакеты ex237 TS и пакеты ex240 TS, соответственно. Аналогично, данные потока ex241 презентационной графики и данные потока ex244 интерактивной графики преобразуются в поток пакетов ex242 PES и поток пакетов ex245 PES, а также в пакеты ex243 TS и пакеты ex246 TS, соответственно. Эти пакеты TS мультиплексируются в поток для получения мультиплексированных данных ex247.
На фиг. 24 изображено более подробно то, как видеопоток сохраняется в потоке пакетов PES. Первая панель на фиг. 24 представляет поток видеокадров в видеопотоке. Вторая панель представляет поток пакетов PES. Как указано стрелками, обозначенными yy1, yy2, yy3 и yy4, на фиг. 24, видеопоток делится на кинокадры как I-кинокадры, В-кинокадры и P-кинокадры, каждый из которых является блоком представления видео, и эти кинокадры сохраняются в полезной нагрузке каждого из пакетов PES. Каждый из пакетов PES имеет заголовок PES, и в этом заголовке PES хранится Presentation Time-Stamp (временная метка представления, PTS), указывающая время отображения кинокадра, и Decoding Time-Stamp (временная метка декодирования, DTS), указывающая время декодирования кинокадра.
На фиг. 25 изображен формат пакетов TS, которые должны быть в конечном итоге записаны на мультиплексированных данных. Каждый из пакетов TS является 188-байтовым пакетом фиксированной длины, включающим в себя 4-байтовый заголовок TS, содержащий такую информацию, как PID, для идентификации потока, и 184-байтовую полезную нагрузку TS для хранения данных. Пакеты PES делятся и сохраняются в элементах полезной нагрузки TS. При использовании ROM BD, каждому из пакетов TS предоставляется 4-байтовый TP_Extra_Header, соответственно, в результате получаются 192-байтовые исходные пакеты. Исходные пакеты записываются на мультиплексированных данных. В TP_Extra_Header хранится информация, например, Arrival_Time_Stamp (временная метка поступления, ATS). ATS представляет время начала передачи, в которое каждый из пакетов TS должен быть передан в фильтр PID. Исходные пакеты организуются в мультиплексированные данные, как представлено в нижней части фиг. 25. Номера, увеличивающиеся от головной части мультиплексированных данных, называются номерами исходных пакетов (source packet number, SPN).
Каждый из пакетов TS, включенных в мультиплексированные данные, включает в себя не только потоки аудио, видео, субтитры и др., но также и Program Association Table (таблица ассоциаций программ, PAT), Program Map Table (таблица карты программ, PMT) и Program Clock Reference (временная отметка программ, PCR). PAT представляет то, что указывает PID в PMT, используемой в мультиплексированных данных, и PID самой PAT регистрируется как ноль. В PMT хранятся PID потоков видео, аудио, субтитров и др., включенных в мультиплексированные данные, и информация атрибутов потоков, соответствующих PID. PMT также содержит различные дескрипторы, относящиеся к мультиплексированным данным. Дескрипторы содержат такую информацию, как информация управления копированием, показывающая то, разрешено ли копирование мультиплексированных данных. В PCR хранится информация времени STC, соответствующая ATS, представляющей то, когда пакет PCR передается в декодер, для достижения синхронизации между Arrival Time Clock (тактовый генератор времени поступления, АТС), который является осью времени ATS, и System Time Clock (тактовый генератор системного времени, STC), который является осью времени PTS и DTS.
На фиг. 26 подробно изображена структура данных PMT. Заголовок PMT расположен наверху PMT. Заголовок PMT описывает длину данных, включенных в PMT и др. После заголовка PMT расположены множество дескрипторов, относящихся к мультиплексированным данным. В дескрипторах описывается такая информация, как информация управления копированием. После дескрипторов расположены множество фрагментов информации о потоке, относящейся к потокам, включенным в мультиплексированные данные. Каждый фрагмент информации о потоке включает в себя дескрипторы потока, причем каждый описывает такую информацию, как тип потока, для идентификации кодека со сжатием данных потока, PID потока и информацию атрибутов потока (например, частота кадров или коэффициент пропорциональности). Количество дескрипторов потока равно количеству потоков в мультиплексированных данных.
Когда мультиплексированные данные записываются на носителе записи и др., они записываются вместе с информационными файлами мультиплексированных данных.
Каждый из информационных файлов мультиплексированных данных является управляющей информацией мультиплексированных данных, как представлено на фиг. 27. Информационные файлы мультиплексированных данных находятся во взаимно однозначном соответствии с мультиплексированными данными, и каждый из файлов включает в себя информацию о мультиплексированных данных, информацию атрибутов потока и карту ввода.
Как изображено на фиг. 27, мультиплексированные данные включают в себя скорость системы, время начала воспроизведения и время окончания воспроизведения. Скорость системы указывает максимальную скорость передачи, с которой целевой декодер системы, который описан ниже, передает мультиплексированные данные в фильтр PID. Интервалы ATS, включаемые в мультиплексированные данные, устанавливаются равными значению, не превышающему скорость системы. Время начала воспроизведения указывает PTS в видеокадре в головной части мультиплексированных данных. К PTS в видеокадре в конце мультиплексированных данных прибавляется интервал одного кадра, и PTS устанавливается во время окончания воспроизведения.
Как представлено на фиг. 28, в информации атрибутов потоков регистрируется фрагмент информации атрибутов, для каждого PID каждого потока, включенного в мультиплексированные данные. Каждый фрагмент информации атрибутов содержит разную информацию, зависящую от того, является ли соответствующий поток видеопотоком, аудиопотоком, потоком презентационной графики или потоком интерактивной графики. Каждый фрагмент информации атрибутов видеопотока служит носителем информации, включающей в себя то, какой кодек со сжатием данных используется для сжатия этого видеопотока, и разрешение, коэффициент пропорциональности и частоту кадров фрагментов данных кинокадра, которые включены в этот видеопоток. Каждый фрагмент информации атрибутов аудиопотока служит носителем информации, включающей в себя то, какой кодек со сжатием данных используется для сжатия этого аудиопотока, сколько каналов включено в этот аудиопоток, какой язык этот аудиопоток поддерживает, и какова частота дискретизации. Информация атрибутов видеопотока и информация атрибута аудиопотока используются для инициализации декодера до воспроизведения плеером информации.
В этом варианте осуществления мультиплексированные данные, которые должны быть использованы, имеют тип потока, включенный в PMT. Кроме того, когда мультиплексированные данные записываются на носитель записи, используется информация атрибутов видеопотока, включенная в информацию о мультиплексированных данных. Более конкретно, способ кодирования движущихся графических изображений или устройство кодирования движущихся графических изображений, описанные в каждом из вариантов осуществления, включают в себя этап или блок для присваивания индивидуальной информации, указывающей на видеоданные, генерируемые способом кодирования движущихся графических изображений или устройством кодирования движущихся графических изображений, описанными в каждом из вариантов осуществления, типу потока, включенному в PMT, или информации атрибутов видеопотока. С этой структурой, видеоданные, генерируемые способом кодирования движущихся графических изображений или устройством кодирования движущихся графических изображений, описанными в каждом из вариантов осуществления, можно отличать от видеоданных, которые отвечают другому стандарту.
Кроме того, на фиг. 29 изображены этапы способа декодирования движущихся графических изображений согласно этому варианту осуществления. На Этапе exS100, из мультиплексированных данных получают тип потока, включенный в PMT, или информацию атрибутов видеопотока. После этого, на Этапе exS101, определяется то, указывают ли тип потока или информация атрибутов видеопотока на то, что мультиплексированные данные сгенерированы способом кодирования движущихся графических изображений или устройством кодирования движущихся графических изображений, описанными в каждом из вариантов осуществления. Когда определяется то, что тип потока или информация атрибутов видеопотока указывают на то, что мультиплексированные данные сгенерированы способом кодирования движущихся графических изображений или устройством кодирования движущихся графических изображений, описанными в каждом из вариантов осуществления, на Этапе exS102, тип потока или информация атрибутов видеопотока декодируются способом декодирования движущихся графических изображений, описанным в каждом из вариантов осуществления. Кроме того, когда тип потока или информация атрибутов видеопотока указывают на соответствие обычным стандартам, например, MPEG-2, MPEG4-AVC и VC-1, на Этапе exS103, тип потока или информация атрибутов видеопотока декодируются способом декодирования движущихся графических изображений в соответствии с обычными стандартами.
В связи с этим, присвоение нового индивидуального значения типу потока или информации атрибутов видеопотока обеспечивает возможность определения того, могут ли способ декодирования движущихся графических изображений или устройство декодирования движущихся графических изображений, которые описаны в каждом из вариантов осуществления, выполнять декодирование. Даже при вводе мультиплексированных данных, которые отвечают другому стандарту, могут быть выбраны адекватные устройство или способ декодирования. Соответственно, становится возможным декодирование информации без ошибок. Кроме того, в устройствах и системах, описанных выше, могут использоваться устройство или способ кодирования движущихся графических изображений, или устройство или способ декодирования движущихся графических изображений, описанные в этом варианте осуществления.
(ВАРИАНТ ОСУЩЕСТВЛЕНИЯ 5)
Каждое из способа кодирования движущихся графических изображений, устройства кодирования движущихся графических изображений, способа декодирования движущихся графических изображений и устройства декодирования движущихся графических изображений, описанные в каждом из вариантов осуществления, обычно осуществляется в виде интегральной схемы или большой интегральной схемы (БИС). В качестве примера БИС, на фиг. 30 изображена конфигурация БИС ex500, которая выполнена в виде одной микросхемы. БИС ex500 включает в себя элементы ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508 и ex509, которые описаны ниже, и эти элементы связаны друг с другом посредством шины ex510. При включении блока ex505 схемы подачи питания, со снабжением каждого из элементов электропитанием блок ex505 схемы подачи питания активизируется.
Например, при выполнении кодирования, БИС ex500 принимает сигнал AV (аудио/видео) из микрофона ex117, камеры ex113 и др. через IO ex509 AV (ввод/вывод аудио/видео) под управлением блока ex501 управления, включающего в себя CPU ex502, контроллер ex503 памяти, контроллер ex504 потока и блок ex512 управления частотой возбуждения. Принятый сигнал AV временно сохраняется во внешней памяти ex511, например, SDRAM. Под управлением блока ex501 управления, сохраненные данные сегментируются на части данных согласно скорости и объему обработки для передачи (их) в блок ex507 обработки сигналов. После этого блок ex507 обработки сигналов кодирует аудиосигнал и/или видеосигнал. При этом кодирование видеосигнала является кодированием, описанным в каждом из вариантов осуществления. Кроме того, блок ex507 обработки сигналов иногда мультиплексирует закодированные аудиоданные и закодированные видеоданные, и поток ex506 IO обеспечивает мультиплексированные данные наружу. Упомянутые обеспечиваемые мультиплексированные данные передаются в базовую станцию 6x107, или записываются на носители ex215 записи. Когда наборы данных мультиплексируются, эти наборы данных должны временно сохраняться в буфере ex508 для синхронизации этих наборов данных друг с другом.
Несмотря на то, что память ex511 является внешним элементом по отношению к БИС ex500, она может быть включена в БИС ex500. Буфер ex508 не ограничивается одним буфером, а может состоять из (нескольких) буферов. Кроме того, БИС ex500 может быть выполнена в виде одной микросхемы или множества микросхем.
Кроме того, несмотря на то, что блок ex501 управления включает в себя CPU ex502, контроллер ex503 памяти, контроллер ex504 потока, блок ex512 управления частотой возбуждения, конфигурация блока ex501 управления не ограничивается этим. Например, блок ex507 обработки сигналов может также включать в себя CPU. Включение другого CPU в блок ex507 обработки сигналов может улучшить скорость обработки. Кроме того, в качестве другого примера, CPU ex502 может включать в себя блок ex507 обработки сигналов или блок обработки аудиосигнала, который является частью блока ex507 обработки сигналов. В таком случае, блок ex501 управления включает в себя блок ex507 обработки сигналов, или CPU ex502, включающий в себя часть блока ex507 обработки сигналов.
В этом описании используется название БИС, но также может использоваться название ИС, системная БИС, супербольшая ИС или ультрабольшая ИС, в зависимости от степени интеграции.
Кроме того, способы осуществления интеграции не ограничиваются БИС, и интеграция также может осуществляться посредством специальной схемы или универсального процессора и т.д. Для этой цели может быть использована программируемая пользователем вентильная матрица (Field Programmable Gate Array, FPGA), которая может быть запрограммирована после изготовления БИС, или реконфигурируемый процессор, который обеспечивает возможность реконфигурации соединения или конфигурации БИС. С загрузкой или считыванием, из памяти и т.п., программы, включенной в программные средства или программно-аппаратные средства, такое программируемое логическое устройство обычно может исполнять способ кодирования движущихся графических изображений или способ декодирования движущихся графических изображений, представленный в каждом из вариантов осуществления.
В будущем, с прогрессом в полупроводниковой технологии, БИС может заменить совершенно новая технология. Функциональные блоки могут быть интегрированы с использованием такой технологии. Существует возможность применения настоящего изобретения к биотехнологии.
(ВАРИАНТ ОСУЩЕСТВЛЕНИЯ 6)
При декодировании видеоданных, сгенерированных способом кодирования движущихся графических изображений или устройством кодирования движущихся графических изображений, описанными в каждом из вариантов осуществления, по сравнению со случаем декодирования видеоданных, которые отвечают обычному стандарту, например, MPEG-2, MPEG4-AVC и VC-1, объем вычислений может увеличиться. Соответственно, БИС ex500 должна быть установлена в частоту возбуждения, которая выше частоты возбуждения CPU ex502, используемой при декодировании видеоданных в соответствии с обычным стандартом. Однако при установке частоты возбуждения выше, существует проблема увеличения потребляемой мощности.
Для решения этой проблемы, устройство декодирования движущихся графических изображений, например, телевизор ех300 и БИС ex500, выполнены с возможностью определения того, какому стандарту отвечают видеоданные, и переключения между частотами возбуждения согласно стандарту, который определен. На фиг. 31 изображена конфигурация ex800 в этом варианте осуществления. Когда видеоданные являются сгенерированными способом кодирования движущихся графических изображений или устройством кодирования движущихся графических изображений, описанными в каждом из вариантов осуществления, блок ex803 переключения частоты возбуждения устанавливает частоту возбуждения в более высокую частоту возбуждения. После этого блок ex803 переключения частоты возбуждения, для декодирования этих видеоданных, выдает команду в блок ex801 обработки декодирования, который исполняет способ декодирования движущихся графических изображений, описанный в каждом из вариантов осуществления. Когда видеоданные отвечают обычному стандарту, блок ex803 переключения частоты возбуждения устанавливает частоту возбуждения в более низкую частоту возбуждения, чем частота возбуждения видеоданных, сгенерированных способом кодирования движущихся графических изображений или устройством кодирования движущихся графических изображений, описанными в каждом из вариантов осуществления. После этого блок ex803 переключения частоты возбуждения выдает команду в блок ex802 обработки декодирования, который отвечает обычному стандарту, для декодирования видеоданных.
Более конкретно, блок ex803 переключения частоты возбуждения включает в себя CPU ex502 и блок ex512 управления частотой возбуждения по фиг. 30. При этом каждый блок ex801 обработки декодирования, который исполняет способ декодирования движущихся графических изображений, описанный в каждом из вариантов осуществления, и блок ex802 обработки декодирования, который отвечает обычному стандарту, соответствует блоку ex503 обработки сигналов по фиг. 30. CPU ex502 определяет то, какому стандарту отвечают видеоданные. После этого блок ex512 управления частотой возбуждения определяет частоту возбуждения на основе сигнала из CPU ex502. Кроме того, блок ex507 обработки сигналов декодирует видеоданные на основе сигнала из CPU ex502. Например, для идентификации видеоданных может использоваться информация для идентификации, описанная в Варианте осуществления 4. Информация для идентификации не ограничивается информацией, описанной в Варианте осуществления 4, и может быть любой информацией при условии, если эта информация указывает то, какому стандарту отвечают видеоданные. Например, когда то, какому стандарту отвечают видеоданные, может быть определено на основе внешнего сигнала, для определения того, что видеоданные используются для телевизора или диска и т.д., это определение может быть сделано на основе такого внешнего сигнала. Кроме того, CPU ex503 выбирает частоту возбуждения на основе, например, справочной таблицы, в которой стандарты видеоданных ассоциированы с частотами возбуждения, как представлено на фиг. 33. С сохранением справочной таблицы в буфере ex508 и внутренней памяти БИС и со ссылкой CPU ex502 на справочную таблицу может выбираться частота возбуждения.
На фиг. 32 изображены этапы для исполнения способа в этом варианте осуществления. Сначала, на Этапе exS200, блок ex507 обработки сигналов получает информацию для идентификации из мультиплексированных данных. После этого, на Этапе exS201, на основе информации для идентификации CPU ex502 определяет то, сгенерированы ли видеоданные способом кодирования и устройством кодирования, описанными в каждом из вариантов осуществления. Когда видеоданные сгенерированы способом кодирования или устройством кодирования, описанными в каждом из вариантов осуществления, на Этапе exS202, CPU ex502 передает сигнал для установки частоты возбуждения в более высокую частоту возбуждения в блок ex512 управления частотой возбуждения. После этого блок ex512 управления частотой возбуждения устанавливает частоту возбуждения в более высокую частоту возбуждения. С другой стороны, когда информация для идентификации указывает на то, что видеоданные отвечают обычному стандарту, например, MPEG-2, MPEG4-AVC и VC-1, на Этапе exS203, CPU ex502 передает сигнал для установки частоты возбуждения в более низкую частоту возбуждения в блок ex512 управления частотой возбуждения. После этого блок ex512 управления частотой возбуждения устанавливает частоту возбуждения в более низкую частоту возбуждения, чем частота возбуждения в случае, когда видеоданные сгенерированы способом кодирования или устройством кодирования, описанными в каждом из вариантов осуществления.
Кроме того, вместе с переключением частот возбуждения, эффект экономии энергопотребления может быть улучшен с изменением напряжения, которое должно быть приложено к БИС ex500 или устройству, включающему в себя БИС ex500. Например, когда частота возбуждения установлена ниже, напряжение, которое должно быть приложено к БИС ex500 или устройству, включающему в себя БИС ex500, может быть установлено в напряжение, которое ниже напряжения в случае, когда частота возбуждения установлена выше.
Кроме того, в качестве способа для установки частоты возбуждения, когда объем вычислений для декодирования больше, частота возбуждения может быть установлена выше, и когда объем вычислений для декодирования меньше, частота возбуждения может быть установленный ниже. Соответственно, способ установки не ограничивается способами, описанными выше. Например, когда объем вычислений для декодирования видеоданных в соответствии с MPEG4-AVC больше, чем объем вычислений для декодирования видеоданных, сгенерированных способом кодирования движущихся графических изображений или устройством кодирования движущихся графических изображений, описанными в каждом из вариантов осуществления, частота возбуждения может устанавливаться в обратном порядке по отношению к установке, описанной выше.
Кроме того, способ для установки частоты возбуждения не ограничивается способом для установки частоты возбуждения ниже. Например, когда информация для идентификации указывает на то, что видеоданные сгенерированы способом кодирования движущихся графических изображений или устройством кодирования движущихся графических изображений, описанными в каждом из вариантов осуществления, напряжение, которое должно быть приложено к БИС ex500 или устройству, включающему в себя БИС ex500, может быть установлено выше. Когда информация для идентификации указывает на то, что видеоданные отвечают обычному стандарту, например, MPEG-2, MPEG4-AVC и VC-1, напряжение, которое должно быть приложено к БИС ex500 или устройству, включающему в себя БИС ex500, может быть установлено ниже. В качестве другого примера, когда информация для идентификации указывает на то, что видеоданные сгенерированы способом кодирования движущихся графических изображений или устройством кодирования видеосигнала, описанными в каждом из вариантов осуществления, приведение в действие CPU ex502 не обязательно приостанавливать. Когда информация для идентификации указывает на то, что видеоданные отвечают обычному стандарту, например, MPEG-2, MPEG4-AVC и VC-1, приведение в действие CPU ex502 может быть приостановлено на определенное время, так как CPU ex502 имеет дополнительную производительность обработки. Даже когда информация для идентификации указывает на то, что видеоданные сгенерированы способом кодирования движущихся графических изображений или устройством кодирования движущихся графических изображений, описанными в каждом из вариантов осуществления, в случае, когда CPU ex502 имеет дополнительную производительность обработки, приведение в действие CPU ex502 может быть приостановлено на определенное время. В таком случае может быть установлено меньшее время приостановки, чем в случае, когда информация для идентификации указывает на то, что видеоданные отвечают обычному стандарту, например, MPEG-2, MPEG4-AVC и VC-1.
Соответственно, с переключением между частотами возбуждения согласно стандарту, которому отвечают видеоданные, эффект экономии энергопотребления может быть улучшен. Кроме того, когда БИС ex500 или устройство, включающее в себя БИС ex500, приводится в действие с использованием аккумуляторной батареи, с упомянутым эффектом экономии энергопотребления срок службы аккумуляторной батареи может быть увеличен.
(ВАРИАНТ ОСУЩЕСТВЛЕНИЯ 7)
Существуют случаи, когда в устройства и системы, например, телевизор и сотовый телефон, обеспечивается множество видеоданных, которые отвечают разным стандартам. Для обеспечения возможности декодирования множества видеоданных, которые отвечают разным стандартам, блок ex507 обработки сигналов БИС ex500 должен отвечать этим разным стандартам. Однако с отдельным использованием блоков ex507 обработки сигналов, которые отвечают соответствующим стандартам, возникают проблемы пропорционального увеличения размера схемы БИС ex500 и увеличения затрат.
Для решения этих проблем предложена конфигурация, при которой частично совместно используются блок обработки декодирования для осуществления способа декодирования движущихся графических изображений, описанного в каждом из вариантов осуществления, и блок обработки декодирования, который отвечает обычному стандарту, например, MPEG-2, MPEG4-AVC и VC-1. ex900 на фиг. 34A представляет пример такой конфигурации. Например, способ декодирования движущихся графических изображений, описанный в каждом из вариантов осуществления, и способ декодирования движущихся графических изображений, который отвечает MPEG4-AVC, содержат, частично совместно, детали обработки, например, энтропийное кодирование, обратное квантование, фильтрацию для удаления "блочности" и компенсацию движения. Детали обработки, которые должны быть совместно использованы, могут включать в себя использование блока ex902 обработки декодирования, который отвечает MPEG4-AVC. Напротив, для другой обработки, которая не отвечает MPEG4-AVC, и является специфической для аспекта настоящего изобретения, может использоваться специализированный блок ex901 обработки декодирования. Блок обработки декодирования для осуществления способа декодирования движущихся графических изображений, описанного в каждом из вариантов осуществления, может совместно использоваться для обработки, которая должна совместно использоваться, а специализированный блок обработки декодирования может использоваться для обработки специфической для обработки MPEG4-AVC.
Кроме того, ex1000 на фиг. 34B представляет другой пример, в котором обработка частично используется совместно. В этом примере используется конфигурация, включающая в себя специализированный блок ex1001 обработки декодирования, который поддерживает обработку, специфическую для одного аспекта настоящего изобретения, специализированный блок ex1002 обработки декодирования, который поддерживает обработку, специфическую для другого обычного стандарта, и блок ех1003 обработки декодирования, который поддерживает обработку, которая должна совместно использоваться между способом декодирования движущихся графических изображений согласно упомянутому аспекту настоящего изобретения и обычным способом декодирования движущихся графических изображений. При этом специализированные блоки ex1001 и ex1002 обработки декодирования не обязательно являются специализированными для обработки по аспекту настоящего изобретения и обработки по обычному стандарту, соответственно, и могут иметь возможность осуществления общей обработки. Кроме того, конфигурация этого варианта осуществления может быть реализована посредством БИС ex500.
В связи с этим, с совместным использованием блока обработки декодирования для обработки, которая должна совместно использоваться способом декодирования движущихся графических изображений согласно аспекту настоящего изобретения и способом декодирования движущихся графических изображений в соответствии с обычным стандартом, возможно пропорциональное сокращение размера схемы БИС и сокращение затрат.
ПРОМЫШЛЕННАЯ ПРИМЕНИМОСТЬ
Настоящее изобретение можно применить, например, к телевизионным приемникам, цифровым видеомагнитофонам, автомобильным навигационным системам, сотовым телефонам, цифровым камерам, цифровым видеокамерам и так далее.
СПИСОК ССЫЛОЧНЫХ ПОЗИЦИЙ
10, 200 Устройство кодирования движущихся графических изображений
20, 100 Устройство декодирования движущихся графических изображений
101 Блок декодирования информации SAO
102 Блок декодирования Sao_Type
103 Блок определения Sao_Type
104, 105 Переключатель
107 Блок декодирования Sao_band_position
108 Блоков декодирования Sao_Offset
109 Блок декодирования Sao_offset_sign
110 Блок энтропийного декодирования
111 Блок хранения данных
120, 230 Блок обратного преобразования и обратного квантования
125, 235 Сумматор
130, 240 Контурный фильтр
140, 250 Память
150, 260 Блок внутреннего предсказания
160, 280 Блок компенсации движения
170 Переключатель изменения внутреннее/внешнее
205 Вычитатель
210 Блок квантования и преобразования
220 Блок энтропийного кодирования
270 Блок обнаружения движения