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

Область техники
Настоящее изобретение имеет отношение к методике кодирования изображения и методике декодирования изображения для арифметического кодирования или арифметического декодирования.
Уровень техники
Растет количество приложений для предоставления услуг через Интернет (например, услуг видеоконференций, цифрового видеовещания и передачи видео по запросу, включающих в себя потоковую передачу видео). Эти приложения полагаются на передачу видеоданных. Когда приложения передают видеоданные, большинство видеоданных передается через традиционный канал передачи, имеющий ограниченную пропускную способность. Кроме того, когда приложения записывают видеоданные, большинство видеоданных записывается на традиционном носителе записи, имеющем ограниченную емкость. Чтобы передать видеоданные через традиционный канал передачи или записать видеоданные на традиционном носителе записи, необходимо сжать или уменьшить объем видеоданных.
С этой целью было разработано много стандартов кодирования видео для сжатия видеоданных. Этими стандартами кодирования видео являются, например, стандарты ITU-T, обозначенные как H.26x, и стандарты ISO/IEC, обозначенные как MPEG-x. В настоящий момент последним и наиболее усовершенствованным стандартом кодирования видео является стандарт, обозначенный как H.264/MPEG-4 AVC (см. не патентную литературу (NPL) 1 и не патентную литературу (NPL) 2).
Подход к кодированию, лежащий в основе большинства этих стандартов кодирования видео, основан на кодировании с предсказанием, которое включает в себя следующие основные этапы (a)-(d): (a) разделить каждый видеокадр на блоки, каждый из которых имеет пиксели, для сжатия данных видеокадра блок за блоком, (b) предсказать каждый блок на основе ранее кодированных видеоданных, чтобы идентифицировать временную и пространственную избыточность, (c) вычесть предсказанные данные из видеоданных, чтобы удалить идентифицированную избыточность, (d) сжать оставшиеся данные (остаточные блоки) посредством преобразования Фурье, квантования и энтропийного кодирования.
Что касается этапа (a), текущий стандарт кодирования видео обеспечивает различные режимы предсказания в зависимости от макроблока, который должен быть предсказан. В соответствии с большинством стандартов кодирования видео оценка движения и компенсация движения используются для предсказания видеоданных на основе ранее кодированного и декодированного кадра (межкадровое (inter) предсказание). В качестве альтернативы, данные блока могут быть экстраполированы из смежного блока того же самого кадра (внутрикадровое (intra) предсказание).
На этапе (d) квантованные коэффициенты, включенные в текущий блок, который должен быть кодирован, сканируются в предопределенном порядке (порядке сканирования). Затем кодируется информация (SignificantFlag), указывающая, являются ли сканированные коэффициенты нулевыми коэффициентами или ненулевыми коэффициентами (например, двоичная информация (символ), указывающая ненулевой коэффициент как 1 и нулевой коэффициент как 0).
Кроме того, информация, указывающая позицию последнего ненулевого коэффициента в порядке сканирования (информация последней позиции), преобразовывается в двоичную форму, кодируется посредством контекстно-адаптивного двоичного арифметического кодирования и декодируется посредством контекстно-адаптивного двоичного арифметического декодирования.
Список литературы
Непатентная литература
[NPL 1] ITU-T Recommendation H.264 "Advanced video coding for generic audiovisual services", March 2010.
[NPL 2] JCT-VC "WD4: Working Draft 4 of High-Efficiency Video Coding", JCTVC-F803, July 2011.
Сущность изобретения
Техническая проблема
Однако в традиционной методике надлежащее переключение среди контекстов является трудным при контекстно-адаптивном двоичном арифметическом кодировании и контекстно-адаптивном двоичном арифметическом декодировании информации последней позиции. Например, когда один и тот же контекст используется для двоичных символов, которые существенно отличаются по вероятности появления, точность предсказания вероятности появления символа уменьшается, и, таким образом, также уменьшается эффективность кодирования.
С этой целью один неограничивающий и иллюстративный вариант осуществления обеспечивает способ кодирования изображения и способ декодирования изображения для арифметического кодирования и арифметического декодирования информации последней позиции с использованием контекста, который надлежащим образом переключен среди множества контекстов.
Решение проблемы
Способ кодирования изображения в соответствии с аспектом настоящего изобретения представляет собой способ кодирования изображения для кодирования информации последней позиции, указывающей позицию последнего ненулевого коэффициента в предопределенном порядке в текущем блоке, который должен быть кодирован, способ кодирования изображения содержит этапы, на которых: преобразовывают в двоичную форму информацию последней позиции для формирования (i) двоичного сигнала, который включает в себя первый сигнал, имеющий длину, меньшую или равную предопределенной максимальной длине, и не включает в себя второй сигнал или (ii) двоичного сигнала, который включает в себя первый сигнал, имеющий предопределенную максимальную длину, и второй сигнал; выполняют первое кодирование для арифметического кодирования каждого из двоичных символов, включенных в первый сигнал, с использованием контекста, переключенного среди множества контекстов в соответствии с битовой позицией двоичного символа; и выполняют второе кодирование для арифметического кодирования второго сигнала с использованием фиксированной вероятности, когда двоичный сигнал включает в себя второй сигнал, причем при первом кодировании двоичный символ в последней битовой позиции первого сигнала арифметически кодируется с использованием контекста, особого для последней битовой позиции, когда первый сигнал имеет предопределенную максимальную длину.
Следует отметить, что этот общий аспект может быть реализован с использованием системы, устройства, интегральной схемы, компьютерной программы или считываемого компьютером носителя записи, такого как компакт-диск (CD-ROM), или любой комбинации систем, устройств, интегральных схем, компьютерных программ или считываемых компьютером носителей записи.
Полезные эффекты изобретения
С помощью способа кодирования изображения в соответствии с аспектом настоящего изобретения возможно арифметически кодировать информацию последней позиции с использованием контекста, который надлежащим образом переключен среди множества контекстов.
Краткое описание чертежей
Фиг.1 - блок-схема, показывающая пример конфигурации устройства декодирования изображения в соответствии с основополагающим знанием.
Фиг.2 - блок-схема последовательности операций, показывающая пример способа декодирования изображения в соответствии с основополагающим знанием.
Фиг.3A - схема, показывающая пример двоичных сигналов информации последней позиции, когда размер блока составляет 4×4.
Фиг.3B - схема, показывающая пример двоичных сигналов информации последней позиции, когда размер блока составляет 8×8.
Фиг.3C - схема, показывающая пример двоичных сигналов информации последней позиции, когда размер блока составляет 16×16.
Фиг. 3D - схема, показывающая пример двоичных сигналов информации последней позиции, когда размер блока составляет 32×32.
Фиг.4 - блок-схема последовательности операций, показывающая контекстно-адаптивное двоичное арифметическое декодирование.
Фиг.5 - блок-схема последовательности операций, показывающая обходное декодирование.
Фиг.6 - блок-схема последовательности операций, показывающая нормализацию.
Фиг.7 - блок-схема, показывающая функциональную конфигурацию устройства декодирования изображения в соответствии с вариантом осуществления 1.
Фиг.8A - блок-схема последовательности операций, показывающая пример операций обработки устройства декодирования изображения в соответствии с вариантом осуществления 1.
Фиг.8B - блок-схема последовательности операций, показывающая другой пример операций обработки устройства декодирования изображения в соответствии с вариантом осуществления 1.
Фиг.9A - блок-схема последовательности операций, показывающая пример операций обработки второго блока декодирования в соответствии с вариантом осуществления 1.
Фиг.9B - схема, показывающая пример соотношения между размером блока и максимальной длиной префиксной части в соответствии с вариантом осуществления 1.
Фиг.9C - схема, показывающая другой пример соотношения между размером блока и максимальной длиной префиксной части в соответствии с вариантом осуществления 1.
Фиг.9D - схема, показывающая пример соотношения между размером блока и параметром Райса в соответствии с вариантом осуществления 1.
Фиг.9E - схема, показывающая другой пример соотношения между размером блока и параметром Райса в соответствии с вариантом осуществления 1.
Фиг.10A - блок-схема последовательности операций, показывающая пример способа определения значения RP и максимальной длины префиксной части.
Фиг.10B - блок-схема последовательности операций, показывающая другой пример способа определения значения RP и максимальной длины префиксной части.
Фиг.10C - блок-схема последовательности операций, показывающая другой пример способа определения значения RP и максимальной длины префиксной части.
Фиг.10D - блок-схема последовательности операций, показывающая другой пример способа определения значения RP и максимальной длины префиксной части.
Фиг.11A - схема для описания соотношения между битовыми позициями и контекстами в соответствии с вариантом осуществления 1.
Фиг.11B - схема для описания соотношения между битовыми позициями и контекстами в соответствии со сравнительным примером.
Фиг.12 - блок-схема, показывающая пример конфигурации устройства декодирования изображения в соответствии с изменением варианта осуществления 1.
Фиг.13 - блок-схема, показывающая функциональную конфигурацию устройства кодирования изображения в соответствии с вариантом осуществления 2.
Фиг.14A - блок-схема последовательности операций, показывающая пример операций обработки устройства кодирования изображения в соответствии с вариантом осуществления 2.
Фиг.14B - блок-схема последовательности операций, показывающая другой пример операций обработки устройства кодирования изображения в соответствии с вариантом осуществления 2.
Фиг.15 - схема, показывающая пример двоичных сигналов информации последней позиции, когда размер блока составляет 16x16.
Фиг.16 - блок-схема, показывающая пример конфигурации устройства кодирования изображения в соответствии с вариантом осуществления 2.
Фиг.17 показывает общую конфигурацию системы обеспечения информационного содержания для реализации службы распространения информационного содержания.
Фиг.18 показывает общую конфигурацию системы цифрового вещания.
Фиг.19 показывает блок-схему, иллюстрирующую пример конфигурации телевизора.
Фиг.20 показывает блок-схему, иллюстрирующую пример конфигурации блока воспроизведения/записи информации, который считывает информацию с носителя записи и записывает информацию на носитель записи, являющийся оптическим диском.
Фиг.21 показывает пример конфигурации носителя записи, являющегося оптическим диском.
Фиг.22A показывает пример сотового телефона.
Фиг.22B - блок-схема, показывающая пример конфигурации сотового телефона.
Фиг.23 иллюстрирует структуру мультиплексированных данных.
Фиг.24 схематично показывает, каким образом каждый поток мультиплексирован в мультиплексированных данных.
Фиг.25 более подробно показывает, каким образом видеопоток сохранен в потоке пакетов PES.
Фиг.26 показывает структуру пакетов TS и пакетов источника в мультиплексированных данных.
Фиг.27 показывает структуру данных таблицы PMT.
Фиг.28 показывает внутреннюю структуру информации мультиплексированных данных.
Фиг.29 показывает внутреннюю структуру информации атрибутов потока.
Фиг.30 показывает этапы для идентификации видеоданных.
Фиг.31 показывает пример конфигурации интегральной схемы для реализации способа кодирования движущегося изображения и способа декодирования движущегося изображения в соответствии с каждым из вариантов осуществления.
Фиг.32 показывает конфигурацию для переключения между задающими частотами.
Фиг.33 показывает этапы для идентификации видеоданных и переключения между задающими частотами.
Фиг.34 показывает пример таблицы поиска, в которой стандарты видеоданных соответствуют задающим частотам.
Фиг.35A - схема, показывающая пример конфигурации для совместного использования модуля блока обработки сигналов.
Фиг.35B - схема, показывающая другой пример конфигурации для совместного использования модуля блока обработки сигналов.
Описание вариантов осуществления
(Основополагающие знания, формирующие базис
настоящего изобретения)
Авторы изобретения изложили следующий вопрос относительно арифметического кодирования и арифметического декодирования информации последней позиции в разделе "Уровень техники".
Следует отметить, что в последующем описании информация последней позиции указывает позицию по горизонтали и позицию по вертикали последнего ненулевого коэффициента в предопределенном порядке в текущем блоке. При этом информация последней позиции включает в себя горизонтальную компоненту (именуемую в дальнейшем "компонентой X") и вертикальную компоненту (именуемую в дальнейшем "компонентой Y"). Компонента X указывает позицию по горизонтали в текущем блоке. Компонента Y указывает позицию по вертикали в текущем блоке.
Фиг.1 является блок-схемой, показывающей пример конфигурации устройства 1000 декодирования изображения в соответствии с основополагающим знанием. Фиг.2 является блок-схемой последовательности операций, показывающей пример способа декодирования изображения в соответствии с основополагающим знанием. Как показано, на Фиг.1, устройство 1000 декодирования изображения включает в себя первый блок 1001 декодирования, второй блок 1002 декодирования, блок 1003 управления декодированием и блок 1004 восстановления.
Устройство 1000 декодирования изображения получает битовый поток (BS), который включает в себя информацию последней позиции. Затем устройство 1000 декодирования изображения вводит битовый поток BS в первый блок 1001 декодирования, второй блок 1002 декодирования и блок 1003 управления декодированием.
Блок 1003 управления декодированием выполняет определение, является ли каждый сигнал в полученном битовом потоке BS компонентой X или компонентой Y информации последней позиции.
Первый блок 1001 декодирования арифметически декодирует префиксную часть компоненты X информации последней позиции, включенной в битовый поток BS (этап S1001). Более определенно, первый блок 1001 декодирования арифметически декодирует префиксную часть компоненты X посредством контекстно-адаптивного двоичного арифметического декодирования. При этом префиксная часть является частью двоичного сигнала компоненты X или компоненты Y, которая кодирована посредством контекстно-адаптивного двоичного арифметического кодирования.
Затем первый блок 1001 декодирования определяет, содержит ли двоичный сигнал компоненты X суффиксную часть (этап S1002). Суффиксная часть является частью двоичного сигнала компоненты X или компоненты Y, которая кодирована посредством обходного кодирования.
Префиксная часть и суффиксная часть определяются в соответствии с каждым значением (в дальнейшем называемым также "последним значением") компоненты X и компоненты Y, как показано, например, на Фиг.3A-3D. Таким образом, с помощью предопределенного способа первый блок 1001 декодирования может определить, содержит ли двоичный сигнал компоненты X суффиксную часть.
Более определенно, когда размер блока преобразования (именуемый в дальнейшем "размером преобразования"), например, составляет 4×4, двоичный сигнал компоненты X содержит только префиксную часть и не содержит суффиксную часть независимо от последнего значения, как показано на Фиг.3A. Таким образом, первый блок 1001 декодирования определяет, что двоичный сигнал компоненты X не содержит суффиксную часть, когда размер блока, который должен быть декодирован, составляет 4×4.
В случае, когда размер преобразования составляет 8x8, первый блок 1001 декодирования определяет, что декодируемый двоичный сигнал компоненты X не содержит суффиксную часть, когда какое-либо из значений двоичных символов вплоть до значения двоичного символа 4-го бита двоичного сигнала компоненты X равно "1", как показано на Фиг.3B. С другой стороны, первый блок 1001 декодирования определяет, что декодируемый двоичный сигнал компоненты X содержит суффиксную часть, имеющую фиксированную длину 2 бита, когда значения двоичных символов вплоть до двоичного значения символа 4-го бита двоичного сигнала компоненты X все равны "0".
В случае, когда размер преобразования составляет 16×16, первый блок 1001 декодирования определяет, что декодируемый двоичный сигнал компоненты X не содержит суффиксную часть, когда какое-либо из значений двоичных символов вплоть до значения двоичного символа 8-го бита двоичного сигнала компоненты X равно "1", как показано на Фиг.3C. С другой стороны, первый блок 1001 декодирования определяет, что декодируемый двоичный сигнал компоненты X содержит суффиксную часть, имеющую фиксированную длину 3 бита, когда значения двоичных символов вплоть до значения двоичного символа 8-го бита двоичного сигнала компоненты X все равны "0".
В случае, когда размер преобразования составляет 32x32, первый блок 1001 декодирования определяет, что декодируемый двоичный сигнал компоненты X не содержит суффиксную часть, когда какое-либо из значений двоичных символов вплоть до значения двоичного символа 16-го бита двоичного сигнала компоненты X равно "1", как показано на Фиг.3D. С другой стороны, первый блок 1001 декодирования определяет, что декодируемый двоичный сигнал компоненты X содержит суффиксную часть, имеющую фиксированную длину 4 бита, когда значения двоичного символа вплоть до значения двоичного символа 16-го бита двоичного сигнала компоненты X все равны "0".
При этом, когда двоичный сигнал компоненты X содержит суффиксную часть ("Да" на этапе S1002), второй блок 1002 декодирования арифметически декодирует суффиксную часть, имеющую предопределенную фиксированную длину в битах (этап S1003). Более определенно, второй блок 1002 декодирования декодирует суффиксную часть компоненты X посредством обходного декодирования. С другой стороны, когда двоичный сигнал компоненты X не содержит суффиксную часть ("Нет" на этапе S1002), процесс декодирования для суффиксной части пропускается.
Блок 1004 восстановления восстанавливает компонент X информации последней позиции с использованием префиксной части и суффиксной части, которые декодированы (этап S1004). Более определенно, когда двоичный сигнал компоненты X содержит суффиксную часть, блок 1004 восстановления восстанавливает компонент X посредством преобразования из двоичной формы двоичного сигнала, содержащего декодированную префиксную часть и суффиксную часть. С другой стороны, когда двоичный сигнал компоненты X не содержит суффиксную часть, блок 1004 восстановления восстанавливает компонент X посредством преобразования из двоичной формы двоичного сигнала, содержащего декодированную префиксную часть.
Затем первый блок 1001 декодирования арифметически декодирует префиксную часть компоненты Y информации последней позиции, как на этапе S1001 (этап S1005). После этого первый блок 1001 декодирования определяет, содержит ли двоичный сигнал компоненты Y суффиксную часть, как на этапе S1002 (этап S1006).
При этом, когда двоичный сигнал компоненты Y содержит суффиксную часть ("Да" на этапе S1006), второй блок 1002 декодирования арифметически декодирует суффиксную часть, имеющую предопределенную фиксированную длину, как на этапе S1003 (этап S1007). С другой стороны, когда двоичный сигнал компоненты Y не содержит суффиксную часть ("Нет" на этапе S1006), процесс декодирования для суффиксной части пропускается.
Наконец, блок 1004 восстановления восстанавливает компонент Y информации последней позиции, как на этапе S1004 (этап S1008). Более определенно, когда двоичный сигнал компоненты Y содержит суффиксную часть, блок 1004 восстановления восстанавливает компонент Y посредством преобразования из двоичной формы двоичного сигнала, содержащего декодированную префиксную часть и суффиксную часть. С другой стороны, когда двоичный сигнал компоненты Y не содержит суффиксную часть, блок 1004 восстановления восстанавливает компонент Y посредством преобразования из двоичной формы двоичного сигнала, содержащего декодированную префиксную часть.
Таким образом, восстанавливаются компонент X и компонент Y, содержащиеся в информации последней позиции.
Затем будет описано кодирование переменной длины и декодирование переменной длины. Стандарт H.264 использует контекстно-адаптивное двоичное арифметическое кодирование (CABAC) как один из способов кодирования переменной длины. Префиксная часть кодируется посредством CABAC. Напротив, суффиксная часть кодируется посредством обходного кодирования, которое является арифметическим кодированием, в котором используется фиксированная вероятность (например, "0,5"). Далее контекстно-адаптивное двоичное арифметическое декодирование и обходное декодирование будут описаны с использованием Фиг.4-6.
Фиг.4 является блок-схемой последовательности операций, показывающей контекстно-адаптивное двоичное арифметическое декодирование. Следует отметить, что Фиг.4 была взята из непатентной литературы 1. Если не указано иначе, описание Фиг.4 является таким, которое дано в непатентной литературе 1.
В арифметическом декодировании сначала вводится контекст (ctxIdx), который определяется на основе типа сигнала текущего сигнала, который должен быть декодирован.
Затем на этапе S2001 выполняется следующий процесс.
Сначала вычисляется qCodIRangeIdx из первого параметра codIRange, указывающего текущее состояние арифметического декодирования. Кроме того, получается pStateIdx, который является значением состояния, соответствующим ctxIdx. Затем посредством ссылки на таблицу (rangeTableLPS) получается codIRangeLPS, соответствующий двум значениям (qCodIRangeIdx и pStateIdx).
Следует отметить, что codIRangeLPS указывает состояние арифметического декодирования, когда LPS возник в состоянии арифметического декодирования, указанном первым параметром codIRange. LPS определяет один из символов "0" и "1", который имеет меньшую вероятность возникновения.
Кроме того, codIRange устанавливается равным значению, полученному посредством вычитания упомянутого выше codIRangeLPS из текущего codIRange.
Затем на этапе S2002 выполняется сравнение между codIRange и вторым параметром codIOffset, который указывает состояние арифметического декодирования.
При этом, когда codIOffset больше или равен codIRange ("Да" на этапе S2002), выполняется следующий процесс на этапе S2003.
Сначала определяется, что возник LPS, и binVal, которое является выходным значением декодирования, устанавливается равным значению, отличающемуся от valMPS ("0", когда valMPS = 1, и "1", когда valMPS = 0). Значение valMPS указывает заданное значение MPS ("0" или "1"). Символ MPS определяет одно из значений "0" и "1" двоичного символа, который имеет более высокую вероятность возникновения.
Кроме того, второй параметр codIOffset, который указывает состояние арифметического декодирования, устанавливается равным значению, полученному посредством вычитания codIRange из текущего codIOffset. Кроме того, первый параметр codIRange, который указывает состояние арифметического декодирования, устанавливается равным значению codIRangeLPS, которое было установлено на этапе S2001.
Затем на этапе S2005 определяется, является ли значение pStateIdx равным "0".
При этом, когда значение pStateIdx равно "0" ("Да" на этапе S2005), это означает, что вероятность LPS больше вероятности MPS. Таким образом, значение valMPS переключается (то есть устанавливается "0", когда valMPS = 1, и устанавливается "1", когда valMPS = 0) (этап S2006). С другой стороны, когда значение pStateIdx не равно "0" ("Нет" на этапе S2005), значение pStateIdx обновляется на основе таблицы преобразования transIdxLPS, к которой обращаются, когда возникает символ LPS (этап S2007).
Кроме того, когда codIOffset меньше codIRange ("Нет" на этапе S2002), определяется, что возник символ MPS. Таким образом, значение binVal, которое является выходным значением декодирования, устанавливается равным valMPS, и значение pStateIdx обновляется на основе таблицы преобразования transIdxMPS, к которой обращаются, когда возникает символ MPS (этап S2004).
Наконец, выполняется нормализация (RenormD) (этап S2008), и арифметическое декодирование заканчивается.
Как показано выше, в контекстно-адаптивном двоичном арифметическом декодировании множественные вероятности возникновения символов, которые являются вероятностями возникновения двоичных символов, поддерживаются в связи с индексами контекста. Контексты переключены в соответствии с условием (например, значением смежного блока), и, таким образом, необходимо поддерживать порядок обработки.
Фиг.5 является блок-схемой последовательности операций, показывающей обходное декодирование. Следует отметить, что Фиг.5 была взята из непатентной литературы 1. Если не указано иначе, описание Фиг.5 является таким, которое дано в непатентной литературе 1.
Сначала второй параметр codlOffset, который указывает текущее состояние арифметического декодирования, смещается влево (удваивается). Кроме того, один бит считывается из битового потока, и когда считанный бит равен "1", единица добавляется к codIOffset (этап S3001).
Затем, когда codIOffset больше или равен первому параметру codIRange, который указывает состояние арифметического декодирования ("Да" на этапе S3002), значение binVal, которое является выходным значением декодирования, устанавливается равным "1", и codIOffset устанавливается равным значению, полученному посредством вычитания codIRange из текущего codIOffset (этап S3003). С другой стороны, когда codIOffset меньше первого параметра codIRange, который указывает состояние арифметического декодирования ("Нет" на этапе S3002), значение binVal, которое является выходным значением декодирования, устанавливается равным "0" (этап S3004).
Фиг.6 является блок-схемой последовательности операций для подробного описания нормализации (RenormD), показанной на этапе S2008 на Фиг.4. Фиг.6 была взята из непатентной литературы 1. Если не указано иначе, описание Фиг.6 является таким, которое дано в не патентной литературе 1.
Когда первый параметр codIRange, который указывает состояние арифметического декодирования, стал меньше 0x100 (в шестнадцатеричной системе; 256 в десятичной системе) ("Да" на этапе S4001), codIRange смещается влево (удваивается). Кроме того, второй параметр codIOffset, который указывает состояние арифметического декодирования, смещается влево (удваивается). Кроме того, один бит считывается из битового потока, и когда считанный бит равен "1", единица добавляется к codIOffset (этап S4002).
Когда codIRange в конечном счете достигает 256 или большего значения посредством этого процесса на этапе S4002 ("Нет" на этапе S4001), нормализация заканчивается.
Таким образом выполняется арифметическое декодирование.
Однако соответствующее переключение среди контекстов (моделей контекстов) является трудным при кодировании или декодировании префиксной части посредством контекстно-адаптивного двоичного арифметического кодирования или контекстно-адаптивного двоичного арифметического декодирования. Например, при арифметическом кодировании и арифметическом декодировании префиксной части контексты переключаются в соответствии с битовой позицией в двоичном сигнале. В это время, если контекст является общим для множества битовых позиций для уменьшения требуемой емкости памяти и уменьшения доступа к памяти, идентичный контекст в некоторых случаях используется для битовых позиций, которые существенно отличаются по вероятности возникновения символа. В таком случае точность предсказания вероятности возникновения символа уменьшается, и, таким образом, также уменьшается эффективность кодирования.
С этой целью способ кодирования изображения в соответствии с аспектом настоящего изобретения представляет собой способ кодирования изображения для кодирования информации последней позиции, указывающей позицию последнего ненулевого коэффициента в предопределенном порядке в текущем блоке, который должен быть кодирован, способ кодирования изображения содержит этапы, на которых: преобразовывают в двоичную форму информацию последней позиции для формирования (i) двоичного сигнала, который включает в себя первый сигнал, имеющий длину, меньшую или равную предопределенной максимальной длине, и не включает в себя второй сигнал или (ii) двоичного сигнала, который включает в себя первый сигнал, имеющий предопределенную максимальную длину, и второй сигнал; выполняют первое кодирование для арифметического кодирования каждого из двоичных символов, включенных в первый сигнал, с использованием контекста, переключенного среди множества контекстов в соответствии с битовой позицией двоичного символа; и выполняют второе кодирование для арифметического кодирования второго сигнала с использованием фиксированной вероятности, когда двоичный сигнал включает в себя второй сигнал, причем при первом кодировании двоичный символ в последней битовой позиции первого сигнала арифметически кодируется с использованием контекста, особого для последней битовой позиции, когда первый сигнал имеет предопределенную максимальную длину.
Двоичный символ в последней битовой позиции первого сигнала указывает, содержит ли двоичный сигнал второй сигнал. Это означает, что двоичный символ в последней битовой позиции первого сигнала имеет большое влияние на эффективность кодирования. Таким образом, двоичный символ в последней битовой позиции первого сигнала имеет признак при возникновении символа, отличающийся от признака двоичных символов в других битовых позициях. С учетом этого возможно увеличить эффективность кодирования посредством арифметического кодирования двоичного символа в последней битовой позиции первого сигнала с использованием контекста, особого для последней битовой позиции.
Например, при первом кодировании каждый из двоичных символов в двух или более битовых позициях, отличных от последней битовой позиции, первого сигнала может быть арифметически кодирован с использованием контекста, общего для этих двух или более битовых позиций.
При этом каждый из двоичных символов в двух или более битовых позициях, отличных от последней битовой позиции, первого сигнала может быть арифметически кодирован с использованием контекста, общего для этих двух или более битовых позиций. Это сокращает количество контекстов по сравнению со случаем использования разных контекстов для каждой битовой позиции, и тем самым может быть уменьшена требуемая емкость памяти.
Например, преобразование в двоичную форму может включать в себя изменение предопределенной максимальной длины в соответствии с размером текущего блока.
При этом максимальная длина первого сигнала может быть различной в соответствии с размером текущего блока, который должен быть кодирован. Это позволяет должным образом установить максимальную длину первого сигнала, тем самым увеличивая эффективность кодирования.
Например, способ кодирования изображения может дополнительно содержать этапы, на которых: переключают процесс кодирования либо на первый процесс кодирования, совместимый с первым стандартом, либо на второй процесс кодирования, совместимый со вторым стандартом; и добавляют к битовому потоку идентификационную информацию, указывающую либо первый стандарт, либо второй стандарт, с которым совместим процесс кодирования, на который выполнено переключение, причем когда процесс кодирования переключен на первый процесс кодирования, преобразование в двоичную форму, первое кодирование и второе кодирование могут быть выполнены как первый процесс кодирования.
Это позволяет переключаться между первым процессом кодирования, совместимым с первым стандартом, и вторым процессом кодирования, совместимым со вторым стандартом.
Кроме того, способ декодирования изображения в соответствии с аспектом настоящего изобретения представляет собой способ декодирования изображения для декодирования информации последней позиции, указывающей позицию последнего ненулевого коэффициента в предопределенном порядке в текущем блоке, который должен быть декодирован, способ декодирования изображения содержит этапы, на которых: выполняют первое декодирование для арифметического декодирования каждого из двоичных символов, включенных в первый сигнал, с использованием контекста, переключенного среди множества контекстов в соответствии с битовой позицией двоичного символа, первый сигнал включен в двоичный сигнал информации последней позиции и имеет длину, меньшую или равную предопределенной максимальной длине; и выполняют второе декодирование, когда двоичный сигнал информации последней позиции включает в себя второй сигнал, для арифметического декодирования второго сигнала с использованием фиксированной вероятности, причем при первом декодировании двоичный символ в последней битовой позиции первого сигнала арифметически декодируется с использованием контекста, особого для последней битовой позиции, когда первый сигнал имеет предопределенную максимальную длину.
Двоичный символ в последней битовой позиции первого сигнала указывает, содержит ли двоичный сигнал второй сигнал. Это означает, что двоичный символ в последней битовой позиции первого сигнала имеет большое влияние на эффективность кодирования. Таким образом, двоичный символ в последней битовой позиции первого сигнала имеет признак возникновения значения, отличающийся от признака двоичных символов в других битовых позициях. С учетом этого возможно увеличить эффективность кодирования посредством арифметического декодирования двоичного символа в последней битовой позиции первого сигнала с использованием контекста, особого для последней битовой позиции.
Например, при первом декодировании каждый из двоичных символов в двух или более битовых позициях, отличных от последней битовой позиции, первого сигнала может быть арифметически декодирован с использованием контекста, общего для этих двух или более битовых позиций.
При этом каждый из двоичных символов в двух или более битовых позициях, отличных от последней битовой позиции, первого сигнала может быть арифметически декодирован с использованием контекста, общего для этих двух или более битовых позиций. Это сокращает количество контекстов по сравнению со случаем использования разного контекста для каждой битовой позиции, и тем самым может быть уменьшена требуемая емкость памяти.
Например, предопределенная максимальная длина может изменяться в соответствии с размером текущего блока.
При этом максимальная длина первого сигнала может быть различной в соответствии с размером текущего блока, который должен быть декодирован. Это позволяет должным образом установить максимальную длину первого сигнала, тем самым увеличивая эффективность кодирования.
Например, способ декодирования изображения может дополнительно содержать этап, на котором переключают процесс декодирования либо на первый процесс декодирования, совместимый с первым стандартом, либо на второй процесс декодирования, совместимый со вторым стандартом, в соответствии с идентификационной информации, которая добавлена к битовому потоку и указывает либо первый стандарт, либо второй стандарт, причем когда процесс декодирования переключен на первый процесс декодирования, первое декодирование и второе декодирование могут быть выполнены как первый процесс декодирования.
Это позволяет переключаться между первым процессом декодирования, совместимым с первым стандартом, и вторым процессом декодирования, совместимым со вторым стандартом.
Следует отметить, что эти общие и частные аспекты могут быть реализованы с использованием системы, устройства, интегральной схемы, компьютерной программы или считываемого компьютером носителя записи, такого как компакт-диск (CD-ROM), или любой комбинации систем, устройств, интегральных схем, компьютерных программ или считываемых компьютером носителей записи.
Далее будут подробно описаны варианты осуществления с использованием чертежей.
Следует отметить, что каждый из описанных ниже вариантов осуществления показывает общий или частный пример. Численные значения, формы, материалы, структурные элементы, размещение и соединение структурных элементов, этапов, порядок обработки этапов и т.д., показанный в следующих вариантах осуществления, являются лишь примерами и, таким образом, не предназначены для ограничения объема формулы изобретения. Кроме того, среди структурных элементов в следующих вариантах осуществления структурные элементы, не упомянутые в каком-либо из независимых пунктов формулы изобретения, представляющих наиболее универсальные концепции, описаны как произвольные структурные элементы.
(Вариант осуществления 1)
Фиг.7 является блок-схемой, показывающей функциональную конфигурацию устройства 100 декодирования изображения в соответствии с вариантом осуществления 1. Устройство декодирования 100 изображения декодирует информацию последней позиции.
Как показано на Фиг.7, устройство 100 декодирования изображения включает в себя блок 110 арифметического декодирования и блок 104 восстановления. Блок 110 арифметического декодирования включает в себя первый блок 101 декодирования, второй блок 102 декодирования и блок 103 управления декодированием.
Устройство 100 декодирования изображения получает битовый поток BS, который включает в себя кодированную информацию последней позиции.
Первый блок 101 декодирования арифметически декодирует каждый двоичный символ, включенный в первый сигнал, который включен в двоичный сигнал информации последней позиции, с использованием контекста, переключаемого среди множества контекстов в соответствии с битовой позиции двоичного символа. Другими словами, первый блок 101 декодирования декодирует первый сигнал посредством контекстно-адаптивного двоичного арифметического декодирования.
Первый сигнал является частью двоичного сигнала информации последней позиции, которая была арифметически кодирована с использованием контекста, переключаемого среди множества контекстов. Первый сигнал имеет длину, меньшую или равную предопределенной максимальной длине. Первый сигнал, например, соответствует префиксной части.
При этом, когда первый сигнал имеет предопределенную максимальную длину, первый блок 101 декодирования арифметически декодирует двоичный символ в последней битовой позиции первого сигнала с использованием контекста, особого для последней битовой позиции. Другими словами, первый блок 101 декодирования арифметически декодирует двоичный символ в последней битовой позиции первого сигнала с использованием контекста, отличающегося от контекстов, используемых для арифметического декодирования двоичных символов в других битовых позициях.
Например, когда префиксная часть, соответствующая последнему значению "7", показанному на Фиг.3C, должно быть декодировано, первый блок 101 декодирования арифметически декодирует двоичный символ 8-ого бита с использованием контекста, особого для двоичного символа 8-ого бита. Другими словами, первый блок 101 декодирования арифметически декодирует двоичный символ 8-ого бита, используя в качестве контекста для битовой позиции 8-ого бита контекст, отличающийся от контекстов для битовых позиций с 1-ого по 7-ой биты.
Когда двоичный сигнал информации последней позиции включает в себя второй сигнал, второй блок 102 декодирования арифметически декодирует второй сигнал с использованием фиксированной вероятности. Другими словами, второй блок 102 декодирования декодирует второй сигнал посредством обходного декодирования.
Второй сигнал является частью двоичного сигнала информации последней позиции, которая была арифметически кодирована с использованием фиксированной вероятности. Второй сигнал, например, соответствует суффиксной части.
Блок 103 управления декодированием для каждой части битового потока BS определяет, является ли часть компонентой X или компонентой Y информации последней позиции. Следует отметить, что нет необходимости включать блок 103 управления декодированием в блок 110 арифметического декодирования. То есть устройство 100 декодирования изображения не обязательно должно включать в себя блок 103 управления декодированием.
Блок 104 восстановления восстанавливает горизонтальный компонент или вертикальный компонент, включенный в информацию последней позиции, посредством преобразования из двоичной формы (i) двоичного сигнала, который содержит первый сигнал и не содержит второй сигнал, или (ii) двоичного сигнала, который содержит первый сигнал и второй сигнал.
Далее с использованием Фиг.8A и Фиг.8B подробно описываются операции устройства 100 декодирования изображения, имеющего описанную выше конфигурацию. Далее описан случай, в котором первый сигнал является префиксной частью, и второй сигнал является суффиксной частью.
Фиг.8A является блок-схемой последовательности операций, показывающей пример операций обработки устройства 100 декодирования изображения в соответствии с вариантом осуществления 1. Как показано на Фиг.8A, префиксная часть компоненты X, суффиксная часть компоненты X, префиксная часть компоненты Y и суффиксная часть компоненты Y кодированы и помещены в битовый поток BS в этом порядке. Следует отметить, что в некоторых случаях суффиксная часть каждой компоненты не включена в битовый поток BS в зависимости от значения компоненты.
Сначала первый блок 101 декодирования декодирует из битового потока BS кодированную префиксную часть компоненты X посредством контекстно-адаптивного двоичного арифметического декодирования (этап S101). Например, первый блок 101 декодирования бит за битом арифметически декодирует кодированную префиксную часть, пока не будет достигнута предопределенная максимальная длина или пока не будет декодировано значение "1". Следует отметить, что переключение контекста будет описано позже.
Затем первый блок 101 декодирования определяет, содержит ли двоичный сигнал компоненты X суффиксную часть (этап S102). Например, первый блок 101 декодирования определяет, что двоичный сигнал компоненты X содержит суффиксную часть, когда префиксная части имеет предопределенную максимальную длину, и значения двоичного символа, включенные в префиксную часть, все равны "0".
Следует отметить, что максимальная длина префиксной части предопределена, например, в соответствии с размером преобразования. Например, максимальная длина префиксной части определена таким образом, как показано на Фиг.9B или Фиг.9C.
При этом, когда двоичный сигнал компоненты X содержит суффиксную часть ("Да" на этапе S102), второй блок 102 декодирования декодирует кодированную суффиксную часть компоненты X посредством обходного декодирования (этап S103). С другой стороны, когда двоичный сигнал компоненты X не содержит суффиксную часть ("Нет" на этапе S102), этап S103 пропускается.
Затем блок 104 восстановления восстанавливает компонент X информации последней позиции посредством преобразования из двоичной формы двоичного сигнала компоненты X, который содержит и префиксную часть, и суффиксную часть, или который содержит только префиксную часть (этап S104).
После этого первый блок 101 декодирования декодирует из битового потока BS кодированную префиксную часть компоненты Y посредством контекстно-адаптивного двоичного арифметического декодирования (этап S105). Более определенно, первый блок 1001 декодирования декодирует префиксную часть компоненты Y таким же образом, как при декодировании префиксной части компоненты X.
Затем первый блок 101 декодирования определяет, содержит ли двоичный сигнал компоненты Y суффиксную часть (этап S106). Более определенно, первый блок 101 декодирования определяет, содержит ли двоичный сигнал компоненты Y суффиксную часть таким же образом, как при определении того, содержит ли двоичный сигнал компоненты X суффиксную часть.
При этом, когда двоичный сигнал компоненты Y содержит суффиксную часть ("Да" на этапе S106), второй блок 102 декодирования декодирует кодированную суффиксную часть компоненты Y посредством обходного декодирования (этап S107). С другой стороны, когда двоичный сигнал компоненты Y не содержит суффиксную часть ("Нет" на этапе S106), этап S107 пропускается.
Наконец, блок 104 восстановления восстанавливает компонент Y информации последней позиции посредством преобразования из двоичной формы двоичного сигнала компоненты Y, который содержит и префиксную часть, и суффиксную часть, или который содержит только префиксную часть (этап S108).
Далее описывается случай, в котором префиксная часть и суффиксная часть каждой компоненты помещены в битовый поток в порядке, отличающемся от показанного на Фиг.8A.
Фиг.8B является блок-схемой последовательности операций, показывающей другой пример операций обработки устройства 100 декодирования изображения в соответствии с вариантом осуществления 1. Следует отметить, что на Фиг.8B процессы, выполняемые на этапах, обозначенных такими же знаками для ссылок, как на Фиг.8A, в основном являются такими же, как процессы, описанные на Фиг.8A. Кроме того, при этом предполагается, что флаг суффикса "выключен" по умолчанию. Следует отметить, что флаг суффикса является внутренним флагом, указывающим, содержит ли двоичный сигнал компоненты X информации последней позиции суффиксную часть.
Как показано на Фиг.8B, префиксная часть компоненты X, префиксная часть компоненты Y, суффиксная часть компоненты Y и суффиксная часть компоненты X кодированы и помещены в битовый поток BS в таком порядке. Следует отметить что в некоторых случаях суффиксная часть каждой компоненты не включена в битовый поток BS в зависимости от значения компоненты, как в случае на Фиг.8A.
Сначала первый блок 101 декодирования декодирует кодированную префиксную часть компоненты X посредством контекстно-адаптивного двоичного арифметического декодирования (этап S101). Затем первый блок 101 декодирования определяет, содержит ли двоичный сигнал компоненты X суффиксную часть (этап S102). При этом, когда двоичный сигнал компоненты X содержит суффиксную часть ("Да" на этапе S102), первый блок 101 декодирования устанавливает флаг суффикса в значение "включен" (этап S111).
С другой стороны, когда двоичный сигнал компоненты X не содержит суффиксную часть ("Нет" на этапе S102), первый блок 101 декодирования не устанавливает флаг суффикса равным значению "включен". Другими словами, флаг суффикса остается "выключен", что является значением по умолчанию. Следует отметить, что первый блок 101 декодирования может в этот момент установить флаг суффикса равным значению "выключен".
Затем с этапа S105 до этапа S108 процесс, относящийся к компоненте Y, выполняется таким же образом, как на Фиг.8A.
После этого второй блок 102 декодирования определяет, "включен" ли флаг суффикса (этап S112). При этом, когда флаг суффикса "включен" ("Да" на этапе S112), второй блок 102 декодирования декодирует суффиксную часть компоненты X посредством обходного декодирования (этап S103). С другой стороны, когда флаг суффикса не "включен" ("Нет" на этапе S112), этап S103 пропускается.
Наконец, блок 104 восстановления восстанавливает компонент X информации последней позиции посредством преобразования из двоичной формы двоичного сигнала компоненты X, которая содержит и префиксную часть, и суффиксную часть, или которая содержит только префиксную часть (этап S104).
Последовательное декодирование префиксных частей компоненты X и компоненты Y и последовательное декодирование суффиксных частей компоненты X и компоненты Y таким образом позволяют уменьшить количество раз, которое переключаются способы арифметического декодирования (контекстно-адаптивное двоичное арифметическое декодирование и обходное декодирование). Это позволяет блоку 110 арифметического декодирования эффективно выполнять арифметическое декодирование кодированной информации последней позиции.
Кроме того, последовательное декодирование суффиксных частей компоненты X и компоненты Y облегчает параллельное выполнение для обходного декодирования, тем самым увеличивая скорость обработки.
Кроме того, последовательное декодирование префиксной части и суффиксной части компоненты Y избавляет от необходимости устанавливать флаг суффикса для компоненты Y. Другими словами, емкость требуемой памяти может быть уменьшена по сравнению со случаем декодирования префиксной части компоненты X, префиксной части компоненты Y, суффиксной части компоненты X и суффиксной части компоненты Y в этом порядке.
Затем описывается пример процесса декодирования в отношении кодированных суффиксных частей компоненты X и компоненты Y (этапы S108 и S111). Здесь описан случай, в котором суффиксные части преобразованы в двоичную форму посредством кодирования Голомба-Райса.
В кодировании Голомба-Райса длина каждой суффиксной части не является фиксированной. Суффиксная часть может быть разделена на две части, первую половину и вторую половину.
Вторая половина является частью фиксированной длины, имеющей длину, указанную посредством параметра Райса (именуемого в дальнейшем "RP").
RP
Первая половина может быть представлена посредством: значения "1", которое увеличивается кратно числу, представимому посредством 2 в степени RP (2) (например, кратно "4", когда RP=2); и значения "0", которое установлено в последней битовой позиции. Более определенно, когда RP=2, длина первой половины увеличивается на 1 бит для каждых четырех (2 в степени RP) значений следующим образом: 0, 0, 0, 0, 10, 10, 10, 10, 110, 110, 110, 110, ...
Следует отметить, что при этом количество информации, которая должна быть представлена суффиксной частью, является известным, и, таким образом, возможно опустить последний "0" из первой половины, когда первая половина имеет максимальную длину. Например, когда RP=2, и максимальное количество информации равно 12, первая половина может быть представлена любым числом из 0, 0, 0, 0, 10, 10, 10, 10, 11, 11, 11 и 11. Опуская таким образом последний "0" из первой половины, количество кодированной информации двоичного сигнала может быть уменьшено на 1 бит.
Максимальное количество информации может быть представлено разницей между длиной размера преобразования и длиной префиксной части. Это сокращает избыточный бит(ы).
Достаточно, чтобы параметр RP являлся предопределенным в соответствии с размером преобразования, как показано, например, на Фиг.9D или Фиг.9E. Это позволяет представить суффиксную часть с помощью двоичного сигнала, имеющего длину, адаптированную к размеру преобразования, и, таким образом, эффективность кодирования может быть увеличена.
Далее с использованием Фиг.9A описаны операции второго блока 102 декодирования для декодирования суффиксной части, преобразованной в двоичную форму посредством кодирования Голомба-Райса, как описано выше. Фиг.9A является блок-схемой последовательности операций, показывающей пример операций обработки второго блока 102 декодирования в соответствии с вариантом осуществления 1.
Сначала второй блок 102 декодирования устанавливает значение RP (этап S201). Более определенно, второй блок 102 декодирования, например, обращается к предопределенной таблице для установки значения RP. Предопределенная таблица в этом случае является таблицей, например, показанной на Фиг.9D или Фиг.9E.
Следует отметить, что второй блок 102 декодирования может установить значение RP без обращения к таблице. Настройка значения RP будет подробно описана ниже по тексту с использованием Фиг.10A-10D.
Затем второй блок 102 декодирования устанавливает значение Max (этап S202). При этом значение Max указывает максимальное значение длины первой половины кода Голомба-Райса. Более определенно, значение Max указывает самую маленькую длину двоичного сигнала, который может представлять значение, полученное посредством вычитания максимальной длины префиксной части из максимального значения последнего значения. Таким образом, второй блок 102 декодирования получает значение Max посредством (i) вычитания длины префиксной части из максимального значения последнего значения и (ii) деления полученного в результате значения на 2 в степени RP или выполнения операции сдвига вправо в отношении полученного в результате значения на RP бит (битов).
Следует отметить, что максимальная длина префиксной части может различаться в соответствии с размером преобразования, как показано на Фиг.9B или Фиг.9C.
Затем второй блок 102 декодирования декодирует из битового потока BS сигнал, соответствующий 1 биту кода Голомба-Райса посредством обходного декодирования и увеличивает значение счетчика (по умолчанию "0") на 1 (этап S203).
При этом, когда декодированный сигнал, соответствующий 1 биту, равен "0" ("Да" на этапе S204), декодирование первой половины кода Голомба-Райса заканчивается, и процесс переходит на этап S206.
С другой стороны, когда декодированный сигнал не равен "0" (когда декодированный сигнал равен "1") ("Нет" на этапе S204), определяется, равно ли значение счетчика значению Max (этап S205). При этом, когда значение счетчика не равно значению Max ("Нет" на этапе S205), процесс возвращается на этап S203. Более определенно, второй блок 102 декодирования декодирует сигнал, соответствующий следующему 1 биту кода Голомба-Райса посредством обходного декодирования.
С другой стороны, когда значение счетчика равно значению Max ("Да" на этапе S205), декодирование первой половины суффиксной части заканчивается, и процесс переходит на этап S206.
Затем второй блок 102 декодирования декодирует вторую половину кода Голомба-Райса (двоичного сигнала, имеющего фиксированную длину бита (битов) RP) посредством обходного декодирования (этап S206).
Наконец, второй блок 102 декодирования восстанавливает значение, представленное посредством кодирования Голомба-Райса (этап S207). При этом значение восстанавливается посредством сложения второй половины кода Голомба-Райса и значения, полученного посредством смещения влево на бит (биты) RP, значения, полученного посредством вычитания 1 из значения, представленного первой половиной кода Голомба-Райса.
Следует отметить, что в некоторых случаях значение двоичного сигнала второй половины преобразовано в двоичную форму в виде инвертированного значения. В таких случаях второй блок 102 декодирования выполняет восстановление с этой принятой во внимание инверсией. Следует отметить, что достаточно, чтобы устройство декодирования и устройство кодирования определяли заранее, должно ли значение двоичного сигнала быть инвертировано. Ни на эффективность кодирования, ни на нагрузку обработки не влияет, инвертировано ли значение двоичного сигнала.
Затем с использованием Фиг.10A-10D описывается способ определения значения RP и максимальной длины префиксной части.
Фиг.10A показывает способ определения значения RP и максимальной длины префиксной части в соответствии с размером преобразования.
Сначала второй блок 102 декодирования получает размер преобразования (этап S301). Затем второй блок 102 декодирования обращается к таблице, показанной на Фиг.9D или Фиг.9E, указывающей соотношение между размером преобразования и значением RP, для определения значения RP, соответствующего полученному размеру преобразования (этап S302). Кроме того, второй блок 102 декодирования обращается к таблице, показанной на Фиг.9B или Фиг.9C, указывающей соотношение между размером преобразования и максимальной длиной префиксной части, для определения максимальной длины префиксной части (этап S303).
Фиг.10B показывает способ определения значения RP и максимальной длины префиксной части в соответствии с информацией предсказания.
Сначала второй блок 102 декодирования получает информацию предсказания (этап S311). Информация предсказания является информацией, имеющей отношение к предсказанию блока преобразования, являющегося текущим блоком, который должен быть декодирован. Например, информация предсказания указывает, должен ли блок преобразования быть декодирован посредством внутреннего предсказания или внешнего предсказания. Кроме того, например, информация предсказания может являться информацией, указывающей направление предсказания во внутреннем предсказании.
Затем второй блок 102 декодирования определяет значение RP на основе информации предсказания (этап S312). Например, известно, что в случае внешнего предсказания обычно имеется меньше высокочастотных компонент, чем во внутреннем предсказании. Таким образом, когда информация предсказания указывает внешнее предсказание, достаточно, чтобы второй блок 102 декодирования определял такое значение RP, которое позволяет компоненте X и компоненте Y, имеющим маленькие значения, быть представленным короткими двоичными сигналами. Более определенно, когда информация предсказания указывает внешнее предсказание, достаточно, чтобы второй блок 102 декодирования определял значение RP, меньшее, чем значение RP, определенное, когда информация предсказания указывает внутреннее предсказание.
Кроме того, когда направлением внутреннего предсказания является горизонтальное направление, обычно ожидается, что компонента Y информации последней позиции меньше, чем компонента X. Ввиду этого, когда направлением предсказания внутреннего предсказания является горизонтальное направление, достаточно, чтобы второй блок 102 декодирования определял в качестве значения RP компоненты Y значение RP, меньшее, чем значение RP компоненты X. Следует отметить это, когда направлением предсказания внутреннего предсказания является вертикальное направление, достаточно, чтобы второй блок 102 декодирования определял в качестве значения RP компоненты X, значение RP, меньшее, чем значение RP компоненты Y.
Наконец, второй блок 102 декодирования определяет максимальную длину префиксной части на основе информации предсказания (этап S313).
Как описано выше, второй блок 102 декодирования может изменять длину кода двоичного сигнала в соответствии с информацией предсказания, и тем самым эффективность кодирования может быть увеличена.
Фиг.10C показывает способ определения значения RP и максимальной длины префиксной части в соответствии со статистической информацией.
Сначала второй блок 102 декодирования получает статистическую информацию (этап S321). Статистическая информация является, например, информацией о статистике длины двоичного сигнала компоненты X или компоненты Y, включенных в информацию последней позиции ранее декодированного блока.
Затем второй блок 102 декодирования определяет значение RP на основе статистической информации (этап S322). Наконец, второй блок 102 декодирования определяет максимальную длину префиксной части на основе статистической информации (этап S323).
Как описано выше, второй блок 102 декодирования может изменять длину кода двоичного сигнала в соответствии со статистической информацией, и тем самым эффективность кодирования может быть дополнительно увеличена.
Фиг.10D показывает способ определения значения RP и максимальной длины префиксной части в соответствии с ранее декодированной одной из компоненты X и компоненты Y.
Сначала второй блок 102 декодирования получает ранее декодированную одну из компоненты X и компоненты Y (этап S331). Например, второй блок 102 декодирования получает ранее декодированную компоненту X при декодировании кодированной компоненты Y. Кроме того, например, второй блок 102 декодирования может получить ранее декодированную компоненту Y при декодировании кодированной компоненты X.
Затем второй блок 102 декодирования определяет с использованием ранее декодированной одной из компоненты X и компоненты Y значение RP другой, предназначенной для декодирования одной из компоненты X и компоненты Y (этап S332). Обычно вероятно, что компонента X и компонента Y имеют одинаковые или подобные значения. Поэтому, когда значение ранее декодированной компоненты X, например, меньше, чем некоторое значение (например, половина размера преобразования), второй блок 102 декодирования определяет в качестве значения RP компоненты Y значение, меньшее, чем значение RP компоненты X.
Наконец, второй блок 102 декодирования определяет с использованием ранее декодированной одной из компоненты X и компоненты Y максимальную длину префиксной части другой, предназначенной для декодирования одной из компоненты X и компоненты Y (этап S333).
Как описано выше, второй блок 102 декодирования может изменить длину кода двоичного сигнала в соответствии с ранее декодированной одной из компоненты X и компоненты Y, и тем самым эффективность кодирования может быть дополнительно увеличена.
Следует отметить, что способы определения значения RP и максимальной длины префиксной части, показанные на Фиг.10A-10D, могут использоваться в комбинации. Например, когда нет информации, к которой можно обратиться, второй блок 102 декодирования может определить значение RP на основе предопределенной таблицы, тогда как если имеется информация, к которой можно обратиться, второй блок 102 декодирования может определить значение RP в соответствии с информацией, к которой можно обратиться.
Кроме того, второй блок 102 декодирования может определить максимальную длину префиксной части таким же образом, как значение RP. Следует отметить, что когда предсказано, что значения компоненты X и компоненты Y являются большими, достаточно, чтобы второй блок 102 декодирования определил максимальную длину префиксной части более короткой, чем когда компонента X и компонента Y предсказаны маленькими. Уменьшение длины префикса таким образом сокращает количество необходимых контекстов.
Далее описываются контексты, используемые для декодирования информации последней позиции посредством контекстно-адаптивного двоичного арифметического декодирования.
Фиг.11A является схемой, показывающей пример соотношения между битовыми позициями и контекстами в соответствии с вариантом осуществления 1. Фиг.11B является схемой, показывающей пример соотношения между битовыми позициями и контекстами в соответствии со сравнительным примером.
Фиг.11A и Фиг.11B показывают соотношение между битовыми позициями и контекстами для четырех типов размера преобразования (4×4, 8×8, 16×16 и 32×32). На Фиг.11A и Фиг.11B прямоугольные блоки, расположенные в горизонтальном направлении, соответствуют битовым позициям 1-го бита, 2-го бита, 3-го бита и так далее в последовательности слева. Кроме того, числовое значение в каждом блоке представляет собой индексное значение контекста, используемого для получения вероятности, которая должна быть использована при декодировании двоичного символа в этой битовой позиции.
На Фиг.11A имеется 16 типов (от 0 до 15) контекстов, используемых при декодировании префиксной части. Кроме того, на Фиг.11A максимальная длина префиксной части составляет "3", "4", "4" и "8" для размера преобразования 4×4, 8×8, 16×16 и 32×32, соответственно.
Что касается Фиг.11A, когда размер преобразования составляет, например, 8×8, значение вероятности, полученное из контекста, идентифицированного индексным значением "3", используется в качестве значения вероятности для декодирования двоичного символа 1-го бита префиксной части. Аналогичным образом, значение вероятности, полученное из контекста, идентифицированного индексным значением "4", используется в качестве значения вероятности для декодирования двоичных символов 2-го бита и 3-го бита. Аналогичным образом, значение вероятности, полученное для контекста, идентифицированного индексным значением "5", используется в качестве значения вероятности для декодирования двоичного символа 4-го бита.
Таким образом, как показано на Фиг.11A, двоичный символ в последней битовой позиции префиксной части арифметически декодируется с использованием контекста, особого для последней битовой позиции. Другими словами, контекст для последней битовой позиции является контекстом, отличающимся от контекстов для других битовых позиций.
Двоичный символ в последней битовой позиции префиксной части указывает, содержит ли двоичный сигнал компоненты X или компоненты Y суффиксную часть. Это означает, что двоичный символ в последней битовой позиции префиксной части имеет большое влияние эффективность кодирования. Таким образом, двоичный символ в последней битовой позиции префиксной части имеет признак возникновения символа, отличающийся от такового двоичных символов в других битовых позициях. Ввиду этого эффективность кодирования может быть увеличена посредством декодирования двоичного символа в последней битовой позиции префиксной части с использованием контекста, особого для последней битовой позиции.
Кроме того, контекст может быть общим для множества битовых позиций, таких как битовые позиции 2-го бита и 3-го бита для размера преобразования 8×8 или битовые позиции с 5-го бита по 7-ой бит для размера преобразования 32×32 на Фиг.11A. Другими словами, каждый из двоичных символов в двух или более битовых позициях, отличных от последней битовой позиции префиксной части может быть арифметически декодирован с использованием контекста, общего для этих двух или более битовых позиций.
Это сокращает количество контекстов по сравнению со случаем использования разных контекстов для каждой битовой позиции, и тем самым требуемая емкость памяти может быть уменьшена.
Следует отметить, что хотя на фиг 11A двоичный символ в последней битовой позиции префиксной части декодируется с использованием контекста, особого для последней битовой позиции, для всех предопределенных размеров преобразования, двоичный символ в последней битовой позиции не обязательно должен быть декодирован таким образом для всех размеров преобразования. Другими словами, контекст может быть общим для последней битовой позиции и другой битовой позиции префиксной части для некоторых из размеров преобразования.
Например, когда суффиксная часть имеет фиксированную длину 1 бит, контекст может быть общим для последней битовой позиции префиксной части и битовой позиции, непосредственно предшествующей последней битовой позиции.
Это обеспечивает возможность устойчивой оценки вероятности, даже когда, например, битовый поток содержит несколько префиксных частей, имеющих предопределенную максимальную длину. Например, эффективность кодирования может быть увеличена в случае, когда последняя позиция динамически изменяется с длиной кода, принимаемой во внимание во время кодирования.
Как описано на данный момент, устройство 100 декодирования изображения в соответствии с настоящим вариантом осуществления может арифметически декодировать двоичный символ в последней битовой позиции первого сигнала с использованием контекста, особого для последней битовой позиции. То есть устройство 100 декодирования изображения может арифметически декодировать информацию последней позиции с использованием контекста, соответствующим образом переключенного среди множества контекстов, и тем самым эффективность кодирования может быть увеличена.
Следует отметить, что значения RP и максимальные длины префиксной части, показанные на Фиг.9B-9E, являются лишь примерами, и могут быть другие значения RP и другие максимальные длины префиксной части. Например, максимальная длина префиксной части может быть короче, и суффиксная часть может быть длиннее. Это дополнительно обеспечивает возможность параллельного арифметического декодирования и дополнительно увеличивает скорость арифметического декодирования.
Следует отметить, что каждый из структурных элементов в настоящем варианте осуществления может быть выполнен в виде отдельного аппаратного продукта или может быть реализован посредством исполнения программы, подходящей для структурного элемента. Каждый структурный элемент может быть реализован посредством исполняющего программы блока, такого как центральный процессор или процессор, считывающий и исполняющий программу программного обеспечения, записанную на носителе записи, таком как жесткий диск или полупроводниковая память. При этом программа программного обеспечения для реализации устройства декодирования изображения в соответствии с настоящим вариантом осуществления является описанной ниже программой.
Эта программа заставляет компьютер исполнять способ декодирования изображения для декодирования информации последней позиции, указывающей позицию последнего ненулевого коэффициента в предопределенном порядке в текущем блоке, который должен быть декодирован, способ декодирования изображения содержит этапы, на которых: выполняют первое декодирование для арифметического декодирования каждого из двоичных символов, включенных в первый сигнал, с использованием контекста, переключенного среди множества контекстов в соответствии с битовой позицией двоичного символа, первый сигнал включен в двоичный сигнал информации последней позиции и имеет длину, меньшую или равную предопределенной максимальной длине; и выполняют второе декодирование, когда двоичный сигнал информации последней позиции включает в себя второй сигнал, для арифметического декодирования второго сигнала с использованием фиксированной вероятности, причем при первом декодировании двоичный символ в последней битовой позиции первого сигнала арифметически декодируется с использованием контекста, особого для последней битовой позиции, когда первый сигнал имеет предопределенную максимальную длину.
(Изменение варианта осуществления 1)
Устройство 100 декодирования изображения в соответствии с вариантом осуществления 1 может быть включено в описанное ниже устройство декодирования изображения. Фиг.12 является блок-схемой, показывающей пример конфигурации устройства 200 декодирования изображения в соответствии с изменением варианта осуществления 1.
Устройство 200 декодирования изображения декодирует кодированные данные изображения, сформированные посредством кодирования со сжатием. Например, устройство 200 декодирования изображения принимает кодированные данные изображения блок за блоком как текущий сигнал, который должен быть декодирован. Устройство 200 декодирования изображения выполняет декодирование с переменной длиной слова, обратное квантование и обратное преобразование над принятым текущим сигналом для восстановления данных изображения.
Как показано на Фиг.12, устройство 200 декодирования изображения включает в себя блок 210 энтропийного декодирования, блок 220 обратного квантования и обратного преобразования, сумматор 225, фильтр 230 удаления блочности, память 240, блок 250 внутреннего предсказания, блок 260 компенсации движения и переключатель 270 внутреннего/внешнего режима.
Блок 210 энтропийного декодирования выполняет декодирование с переменной длиной слова над входным сигналом (битовым потоком) для восстановления квантованных коэффициентов. При этом входной сигнал является текущим сигналом, который должен быть декодирован, и соответствует данным блок за блоком кодированных данных изображения. Кодированные данные изображения содержат кодированную информацию последней позиции. Кроме того, блок 210 энтропийного декодирования получает данные движения из входного сигнала и выдает данные движения блоку 260 компенсации движения.
Следует отметить, что устройство 100 декодирования изображения в соответствии с вариантом осуществления 1 соответствует части блока 210 энтропийного декодирования. То есть блок 210 энтропийного декодирования декодирует кодированную информацию последней позиции.
Блок 220 обратного квантования и обратного преобразования выполняет обратное квантование над квантованными коэффициентами, восстановленными блоком 210 энтропийного декодирования, для восстановления коэффициентов преобразования. Затем блок 220 обратного квантования и обратного преобразования выполняет обратное преобразование над коэффициентами преобразования для восстановления ошибки предсказания.
Сумматор 225 складывает ошибку предсказания и сигнал предсказания для формирования декодированного изображения.
Фильтр 230 удаления блочности применяет фильтр удаления блочности к декодированному изображению. Полученное в результате декодированное изображение выдается в качестве декодированного сигнала.
Память 240 является памятью для хранения опорного изображения, используемого при компенсации движения. Более определенно, память 240 хранит декодированное изображение, к которому был применен фильтр удаления блочности.
Блок 250 внутреннего предсказания выполняет внутреннее предсказание для формирования сигнала предсказания (сигнала внутреннего предсказания). Более определенно, блок 250 внутреннего предсказания формирует сигнал внутреннего предсказания посредством выполнения внутреннего предсказания опираясь на изображение, соседствующее с текущим блоком, который должен быть декодирован (входным сигналом), в декодированном изображении, сформированном сумматором 225.
Блок 260 компенсации движения выполняет компенсацию движения на основе данных движения, выданных блоком 210 энтропийного декодирования, для формирования сигнала предсказания (сигнала внешнего предсказания).
Переключатель 270 внутреннего/внешнего режима выбирает либо сигнал внутреннего предсказания, либо сигнал внешнего предсказания, и выдает выбранный сигнал сумматору 225 в качестве сигнала предсказания.
С помощью описанной выше конфигурации устройство 200 декодирования изображения декодирует кодированные данные изображения, сформированные посредством кодирования со сжатием.
(Вариант осуществления 2)
Далее описывается устройство кодирования изображения в соответствии с вариантом осуществления 2 с использованием чертежей.
Фиг.13 является блок-схемой, показывающей функциональную конфигурацию устройства 300 кодирования изображения в соответствии с вариантом осуществления 2. Устройство 300 кодирования изображения кодирует информацию последней позиции. Устройство 300 кодирования изображения включает в себя блок 310 преобразования в двоичную форму и блок 320 арифметического кодирования. Блок 320 арифметического кодирования включает в себя первый блок 321 кодирования, второй блок 322 кодирования и блок 323 управления кодированием.
Блок 310 преобразования в двоичную форму преобразовывает в двоичную форму информацию последней позиции, чтобы сформировать (i) двоичный сигнал, который содержит первый сигнал, имеющий длину, меньшую или равную предопределенной максимальной длине, и не содержит второй сигнал, или (ii) двоичный сигнал, который содержит первый сигнал, имеющий предопределенную максимальную длину, и второй сигнал.
Первый сигнал является сигналом, арифметически кодированным с использованием контекста, переключенного среди множества контекстов. Первый сигнал, например, соответствует префиксной части.
Второй сигнал является сигналом, арифметически кодированным с использованием фиксированной вероятности. Второй сигнал, например, соответствует суффиксной части.
Первый блок 321 кодирования арифметически кодирует каждый из двоичных символов, включенных в первый сигнал, с использованием контекста, переключаемого среди множества контекстов в соответствии с битовой позицией двоичного символа. Другими словами, первый блок 321 кодирования кодирует первый сигнал посредством контекстно-адаптивного двоичного арифметического кодирования.
При этом, когда первый сигнал имеет предопределенную максимальную длину, первый блок 321 кодирования арифметически кодирует двоичный символ в последней битовой позиции первого сигнала с использованием контекста, особого для последней битовой позиции. Другими словами, первый блок 321 кодирования арифметически кодирует двоичный символ в последней битовой позиции первого сигнала, имеющего предопределенную максимальную длину, с использованием контекста, отличающегося от контекстов, используемых для двоичных символов в битовых позициях, отличных от последней битовой позиции.
Второй блок 322 кодирования арифметически кодирует второй сигнал с использованием фиксированной вероятности, когда двоичный сигнал содержит второй сигнал. Другими словами, второй блок 322 кодирования кодирует второй сигнал посредством обходного кодирования.
Далее с использованием Фиг.14A и Фиг.14B описываются операции устройства 300 кодирования изображения, имеющего описанную выше конфигурацию. Далее описывается случай, в котором первый сигнал является префиксной частью, и второй сигнал является суффиксной частью. Следует отметить, что флаг суффикса предполагается "выключенным" как значение по умолчанию.
Фиг.14A является блок-схемой последовательности операций, показывающей пример операций обработки устройства 300 кодирования изображения в соответствии с вариантом осуществления 2. Более конкретно, Фиг.14A показывает способ кодирования для формирования битового потока, который может быть декодирован посредством способа декодирования, показанного на Фиг.8A.
Сначала блок 310 преобразования в двоичную форму преобразовывает в двоичную форму каждую из компоненты X и компоненты Y информации последней позиции (этап S401). Более определенно, блок 310 преобразования в двоичную форму преобразовывает в двоичную форму каждую из компоненты X и компоненты Y (последние значения), например, как показано на Фиг.15. При этом суффиксная часть преобразовывается в двоичную форму посредством кодирования Голомба-Райса.
Затем первый блок 321 кодирования кодирует посредством контекстно-адаптивного двоичного арифметического кодирования префиксную часть компоненты X, включенную в информацию последней позиции (этап S402).
Контекстно-адаптивное двоичное арифметическое кодирование является кодированием, соответствующим контекстно-адаптивному двоичному арифметическому декодированию, показанному на Фиг.4. В контекстно-адаптивном двоичном арифметическом кодировании контексты переключаются в соответствии с условием, и получается вероятность возникновения символа, соответствующего переключенному контексту. Затем двоичный символ арифметически кодируется с использованием полученной вероятности возникновения символа. Кроме того, значение вероятности, соответствующее контексту, обновляется в соответствии со значением кодированного двоичного символа (см. непатентную литературу 1).
При этом, как в варианте осуществления 1, когда префиксная часть имеет предопределенную максимальную длину, первый блок 321 кодирования арифметически кодирует двоичный символ в последней битовой позиции префиксной части с использованием контекста, особого для последней битовой позиции.
Следует отметить, что первый блок 321 кодирования может арифметически кодировать каждый из двоичных символов в двух или более битовых позициях, кроме последней битовой позиции префиксной части, с использованием контекста, общего для этих двух или более битовых позиций. Это позволяет первому блоку 321 кодирования сокращать количество контекстов по сравнению со случаем использования разного контекста для каждой битовой позиции, и тем самым требуемая емкость памяти может быть уменьшена.
Затем первый блок 321 кодирования определяет, содержит ли двоичный сигнал компоненты X суффиксную часть (этап S403). Более определенно, первый блок 321 кодирования определяет, содержит ли двоичный сигнал компоненты X суффиксную часть, таким же образом, как на этапе S102 на Фиг.8A.
При этом, когда двоичный сигнал компоненты X содержит суффиксную часть ("Да" на этапе S403), второй блок 322 кодирования кодирует суффиксную часть компоненты X посредством обходного кодирования (этап S404). С другой стороны, когда двоичный сигнал компоненты X не содержит суффиксную часть ("Нет" на этапе S403), этап S404 пропускается.
Затем первый блок 321 кодирования кодирует префиксную часть компоненты Y посредством контекстно-адаптивного двоичного арифметического кодирования (этап S405). При этом первый блок 321 кодирования кодирует префиксную часть компоненты Y таким же образом, как на этапе S402.
Затем первый блок 321 кодирования определяет, содержит ли двоичный сигнал компоненты Y суффиксную часть (этап S406). При этом первый блок 321 кодирования определяет, содержит ли двоичный сигнал компоненты Y суффиксную часть таким же образом, как на этапе S403.
При этом, когда двоичный сигнал компоненты Y содержит суффиксную часть ("Да" на этапе S406), второй блок 322 кодирования кодирует суффиксную часть компоненты Y посредством обходного кодирования (этап S407). С другой стороны, когда двоичный сигнал компоненты Y не содержит суффиксную часть ("Нет" на этапе S406), этап S407 пропускается.
Таким образом кодируется информация последней позиции.
Далее описывается случай, в котором префиксная часть и суффиксная часть каждой компоненты кодируются в порядке, отличающемся от показанного на Фиг.14A.
Фиг.14B является блок-схемой последовательности операций, показывающей другой пример операций обработки устройства 300 кодирования изображения в соответствии с вариантом осуществления 2. Более определенно, Фиг.14B показывает способ кодирования для формирования битового потока, который может быть декодирован посредством способа декодирования, показанного на Фиг.8B. Следует отметить, что на Фиг.14B процессы, выполняемые на этапах, обозначенных такими же номерами для ссылок, как на Фиг.14A, в основном являются такими же процессами, какие описаны на Фиг.14A.
Сначала блок 310 преобразования в двоичную форму преобразовывает в двоичную форму каждую из компоненты X и компоненты Y информации последней позиции (этап S401). Затем первый блок 321 кодирования кодирует посредством контекстно-адаптивного двоичного арифметического кодирования префиксную часть компоненты X, включенную в информацию последней позиции (этап S402). Затем первый блок 321 кодирования определяет, содержит ли двоичный сигнал компоненты X суффиксную часть (этап S403).
При этом, когда двоичный сигнал компоненты X содержит суффиксную часть ("Да" на этапе S403), первый блок 321 кодирования устанавливает флаг суффикса "включенным" (этап S411). С другой стороны, когда двоичный сигнал компоненты X не содержит суффиксную часть ("Нет" на этапе S403), первый блок 321 кодирования не устанавливает флаг суффикса компоненты X "включенным". Другими словами, флаг суффикса компоненты X остается "выключенным". Следует отметить, что в этот момент первый блок 321 кодирования может установить флаг суффикса компоненты X "выключенным".
Далее, с этапа S405 до этапа S407 процесс, относящийся к компоненте Y, выполняется таким же образом, как на Фиг.14A.
После этого второй блок 322 кодирования определяет, "включен" ли флаг суффикса (этап S412). При этом, когда флаг суффикса "включен" ("Да" на этапе S412), второй блок 322 кодирования кодирует суффиксную часть компоненты X посредством обходного кодирования (этап S404). С другой стороны, когда флаг суффикса не "включен" ("Нет" на этапе S412), этап S404 пропускается.
Посредством последовательного кодирования префиксной части и суффиксной части компоненты Y описанным выше образом возможно кодировать двоичный сигнал компоненты Y без удерживания в памяти информации, указывающей, содержит ли двоичный сигнал компоненты Y суффиксную часть (например, флаг суффикса компоненты Y). Это уменьшает требуемую емкость памяти.
Далее с использованием Фиг.15 кратко описывается способ кодирования префиксной части и суффиксной части, включенных в информацию последней позиции.
Фиг.15 является схемой, показывающей пример двоичных сигналов информации последней позиции, когда размер блока составляет 16x16. На Фиг.15 максимальная длина префиксной части равна "4", и значение RP равно "2".
Когда префиксная часть короче, чем максимальная длина префиксной части, первый блок 321 кодирования посредством контекстно-адаптивного двоичного арифметического кодирования кодирует несколько "0" в количестве, которое указано значением компоненты X. Наконец, первый блок 321 кодирования кодирует "1" посредством контекстно-адаптивного двоичного арифметического кодирования. В этом случае двоичный сигнал компоненты X не содержит суффиксную часть, и тем самым кодирование компоненты X в этот момент заканчивается.
С другой стороны, когда префиксная часть длиннее, чем максимальная длина префиксной части, первый блок 321 кодирования посредством контекстно-адаптивного двоичного арифметического кодирования кодирует несколько "0" в количестве, равном максимальной длине.
Затем второй блок 322 кодирования кодирует первую половину суффиксной части. Более определенно, второй блок 322 кодирования добавляет значение "1" к первой половине кратно числу, представимому как 2 в степени RP (например, кратно "4", когда значение RP равно "2"), кодирует полученное в результате значение и, наконец, кодирует "0".
То есть когда значение компоненты X больше или равно 4 и меньше 8, второй блок 322 кодирования только кодирует "0" в качестве первой половины. Когда значение компоненты X больше или равно 8 и меньше 12, второй блок 322 кодирования кодирует "10" в качестве первой половины. Когда значение компоненты X больше или равно 12 и меньше 16, второй блок 322 кодирования кодирует "110" в качестве первой половины.
Следует отметить это в примере на Фиг.15, количество информации, которая должна быть представлена суффиксной частью, равно "12" (16-4=12), и, таким образом, когда значение компоненты X больше или равно 12 и меньше 16, вместо того, чтобы кодировать "110" в качестве первой половины, кодируется "11", которое получается опусканием последнего "0" из "110". Это уменьшает длину кода.
Затем второй блок 322 кодирования кодирует вторую половину суффиксной части. Вторая половина является частью фиксированной длины, имеющей дину, указанную значением RP. В примере на Фиг.15 вторая половина указывает значение, которое получено посредством преобразования в двоичную форму числа среди чисел вплоть до 2 в степени RP и выдачи полученного в результате значения от числа слева к числу справа. Более определенно, вторая половина указывает значение, полученное посредством преобразования в двоичную форму 0, 1, 2 или 3. Это лишь пример, и эффективность кодирования не затрагивается, в частности, пока имеется непротиворечивость между способом, используемым устройством кодирования, и способом, используемым устройством декодирования.
Как описано выше, устройство 300 кодирования изображения в соответствии с настоящим вариантом осуществления может арифметически кодировать двоичный символ в последней битовой позиции первого сигнала с использованием контекста, особого для последней битовой позиции, когда первый сигнал имеет предопределенную максимальную длину. Двоичный символ в последней битовой позиции первого сигнала указывает, содержит ли двоичный сигнал второй сигнал. Это означает, что двоичный символ в последней битовой позиции первого сигнала имеет большое влияние на эффективность кодирования. Таким образом, двоичный символ в последней битовой позиции первого сигнала имеет признак возникновения символа, отличающийся от двоичных символов в других битовых позициях. Ввиду этого устройство 300 кодирования изображения может увеличить эффективность кодирования посредством арифметического кодирования двоичного символа в последней битовой позиции первого сигнала с использованием контекста, особого для последней битовой позиции.
Следует отметить, что каждый из структурных элементов в настоящем варианте осуществления может быть выполнен в виде отдельного аппаратного продукта или может быть реализован посредством исполнения программы, подходящей для структурного элемента. Каждый структурный элемент может быть реализован посредством исполняющего программы блока, такого как центральный процессор или процессор, считывающий и исполняющий программу, записанную на носителе записи, таком как жесткий диск или полупроводниковая память. При этом программа для реализации устройства кодирования изображения в соответствии с настоящим вариантом осуществления является описанной ниже программой.
Эта программа заставляет компьютер исполнять способ кодирования изображения для кодирования информации последней позиции, указывающей позицию последнего ненулевого коэффициента в предопределенном порядке в текущем блоке, который должен быть кодирован, способ кодирования изображения содержит этапы, на которых: преобразовывают в двоичную форму информацию последней позиции для формирования (i) двоичного сигнала, который включает в себя первый сигнал, имеющий длину, меньшую или равную предопределенной максимальной длине, и не включает в себя второй сигнал или (ii) двоичного сигнала, который включает в себя первый сигнал, имеющий предопределенную максимальную длину, и второй сигнал; выполняют первое кодирование для арифметического кодирования каждого из двоичных символов, включенных в первый сигнал, с использованием контекста, переключенного среди множества контекстов в соответствии с битовой позицией двоичного символа; и выполняют второе кодирование для арифметического кодирования второго сигнала с использованием фиксированной вероятности, когда двоичный сигнал включает в себя второй сигнал, причем при первом кодировании двоичный символ в последней битовой позиции первого сигнала арифметически кодируется с использованием контекста, особого для последней битовой позиции, когда первый сигнал имеет предопределенную максимальную длину.
(Изменение варианта осуществления 2)
Устройство 300 кодирования изображения в соответствии с вариантом осуществления 2 может быть включено в описанное ниже устройство кодирования изображения. Фиг.16 является блок-схемой, показывающей пример конфигурации устройства 400 кодирования изображения в соответствии с изменением варианта осуществления 2.
Устройство 400 кодирования изображения выполняет кодирование со сжатием над данными изображения. Например, устройство 400 кодирования изображения принимает данные изображения блок за блоком в качестве входного сигнала. Устройство 400 кодирования изображения выполняет преобразование, квантование и кодирование с переменной длиной слова над входным сигналом для формирования кодированного сигнала (битового потока).
Как показано на Фиг.16, устройство 400 кодирования изображения включает в себя блок 405 вычитания, блок 410 преобразования и квантования, блок 420 энтропийного кодирования, блок 430 обратного квантования и преобразования, сумматор 435, фильтр 440 удаления блочности, память 450, блок 460 внутреннего предсказания, блок 470 оценки движения, блок 480 компенсации движения, и переключатель 490 внутреннего/внешнего режима.
Блок 405 вычитания вычисляет разность между входным сигналом и сигналом предсказания как ошибку предсказания.
Блок 410 преобразования и квантования преобразовывает ошибку предсказания в пространственной области для формирования коэффициентов преобразования в частотной области. Например, блок 410 преобразования и квантования выполняет дискретное косинусное преобразование (DCT) над ошибкой предсказания для формирования коэффициентов преобразования. Кроме того, блок 410 преобразования и квантования квантует коэффициенты преобразования для формирования квантованных коэффициентов.
Блок 420 энтропийного кодирования выполняет кодирование с переменной длиной слова над квантованными коэффициентами для формирования кодированного сигнала. Кроме того, блок 420 энтропийного кодирования кодирует данные движения (например, вектор движения), обнаруженные блоком 470 оценки движения, для вывода кодированного сигнала с включенными в него данными движения.
Следует отметить, что устройство 300 кодирования изображения в соответствии с вариантом осуществления 2 соответствует части блока 420 энтропийного кодирования. То есть блок 420 энтропийного кодирования кодирует информацию последней позиции.
Блок 430 обратного квантования и обратного преобразования выполняет обратное квантование над квантованными коэффициентами для восстановления коэффициентов преобразования. Кроме того, блок 430 обратного квантования и обратного преобразования выполняет обратное преобразование над восстановленными коэффициентами преобразования для восстановления ошибки предсказания. Следует отметить, что восстановленная ошибка предсказания испытывает недостаток информации вследствие квантования, и, таким образом, не является такой же, как ошибка предсказания, сформированная блоком 405 вычитания. Другими словами, восстановленная ошибка предсказания содержит ошибку квантования.
Сумматор 435 складывает восстановленную ошибку предсказания и сигнал предсказания для формирования локального декодированного изображения.
Фильтр 440 удаления блочности применяет фильтр удаления блочности к локальному декодированному изображению.
Память 450 является памятью для хранения опорного изображения, используемого при компенсации движения. Более определенно, память 450 хранит локальное декодированное изображение, к которому был применен фильтр удаления блочности.
Блок 460 внутреннего предсказания выполняет внутреннее предсказание для формирования сигнала предсказания (сигнала внутреннего предсказания). Более определенно, блок 460 внутреннего предсказания формирует сигнал внутреннего предсказания посредством выполнения внутреннего предсказания опираясь на изображение, соседствующее с текущим блоком, который должен быть кодирован (входным сигналом) в локальном декодированном изображении, сформированном сумматором 435.
Блок 470 оценки движения обнаруживает данные движения (например, вектор движения) между входным сигналом и опорным изображением, сохраненным в памяти 450.
Блок 480 компенсации движения выполняет компенсацию движения на основе данных движения для формирования сигнала предсказания (сигнала внешнего предсказания).
Переключатель 490 внутреннего/внешнего режима выбирает либо сигнал внутреннего предсказания, либо сигнал внешнего предсказания, и выдает выбранный сигнал блоку 405 вычитания и сумматору 435 в качестве сигнала предсказания.
С помощью описанной выше конфигурации устройство 400 кодирования изображения выполняет кодирование со сжатием над данными изображения.
Хотя выше были описаны только некоторые иллюстративные варианты осуществления, объем формулы изобретения настоящей заявки не ограничен этими вариантами осуществления. Специалисты в области техники без труда поймут, что в этих иллюстративных вариантах осуществления могут быть сделаны различные модификации, и что другие варианты осуществления могут быть получены посредством произвольной комбинации структурных элементов вариантов осуществления, без существенного отступления от новых идей и преимуществ предмета, изложенного в приложенной формуле изобретения. В соответствии с этим все такие модификации и другие варианты осуществления включены в настоящее изобретение.
Кроме того, хотя суффиксная часть преобразовывается в двоичную форму посредством кода Голомба-Райса в каждом описанном выше варианте осуществления, суффиксная часть может быть преобразована в двоичную форму с помощью другого способа. Например, суффиксная часть может быть преобразована в двоичную форму с фиксированной длиной, как показано на Фиг.3A-3D.
Кроме того, способ преобразования в двоичную форму компоненты X и компоненты Y в каждом описанном выше варианте осуществления является лишь примером, и они могут быть преобразованы в двоичную форму с помощью других способов. Например, на Фиг.3A-3D последнее значение может быть преобразовано в двоичную форму с инвертированными "0" и "1". Более определенно, на Фиг.3B последнее значение "3" может быть преобразовано в двоичную форму, например, как "1110".
Кроме того, конфигурация устройства декодирования изображения или устройства кодирования изображения в соответствии с каждым описанным выше вариантом осуществления, является лишь примером. Устройство декодирования изображения или устройство кодирования изображения не обязательно должны включать в себя все структурные элементы, показанные на Фиг.7 или Фиг.13. Кроме того, блок-схема последовательности операций, показывающая способ декодирования изображения или способ кодирования изображения в соответствии с каждым описанным выше вариантом осуществления, также является лишь примером, и все этапы не обязательно должны быть выполнены.
Например, когда информация последней позиции представлена одним значением (например, порядок сканирования), процесс для одной из компоненты X и компоненты Y не обязательно должен выполняться. Например, на Фиг.8A достаточно, чтобы выполнялись по меньшей мере этап S101 и этап S103. В этом случае устройство 100 декодирования изображения не обязательно должно включать в себя ни блок 103 управления декодированием, ни 104 блок восстановления. Кроме того, на Фиг.14A достаточно, чтобы выполнялись по меньшей мере этап S401, этап S402 и этап S404. В этом случае устройство 300 кодирования изображения не обязательно должно включать в себя блок 323 управления кодированием.
Даже в таких случаях эффективность кодирования может быть увеличена посредством арифметического декодирования или арифметического кодирования двоичного символа в последней битовой позиции первого сигнала с использованием контекста, особого для последней битовой позиции.
(Вариант осуществления 3)
Обработка, описанная в каждом из вариантов осуществления, может быть легко реализована в независимой компьютерной системе посредством записи на носителе записи программы для реализации конфигурации способа кодирования движущегося изображения (способа кодирования изображения) и способа декодирования движущегося изображения (способа декодирования изображения), описанных в каждом из вариантов осуществления. Носители записи могут быть любыми носителями записи, если на него может быть записана программа, такими как магнитный диск, оптический диск, магнитно-оптический диск, карта с интегральной микросхемой (IC-карта) и полупроводниковая память.
Далее будут описаны применения для способа кодирования движущегося изображения (способа кодирования изображения) и способа декодирования движущегося изображения (способа декодирования изображения), описанных в каждом из вариантов осуществления, и систем, использующие их. Система имеет признак наличия устройства кодирования и устройства декодирования изображения, которые включают в себя устройство кодирования изображения, использующее способ кодирования изображения, и устройство декодирования изображения, использующее способ декодирования изображения. Другие конфигурации в системе могут быть изменены при необходимости в зависимости от случаев.
Фиг.17 иллюстрирует общую конфигурацию системы ex100 обеспечения информационного содержания для реализации службы распространения информационного содержания. Область для обеспечения службы связи разделена на соты желаемого размера, и базовые станции ex106, ex107, ex108, ex109 и ex110, которые являются стационарными беспроводными станциями, помещены в каждую из сот.
Система ex100 обеспечения информационного содержания соединена с устройствами, такими как компьютер ex111, карманный персональный компьютер (PDA) ex112, камера ex113, сотовый телефон ex114 и игровой автомат ex115, через Интернет ex101, поставщика ex102 Интернет-услуг, телефонную сеть ex104, а также базовые станции ex106-ex110, соответственно.
Однако конфигурация системы ex100 обеспечения информационного содержания не ограничена конфигурацией, показанной на Фиг.17, и комбинация, в которой соединен любой из элементов, является приемлемой. Кроме того, каждое устройство может быть непосредственно соединено с телефонной сетью ex104, а не через базовые станции ex106-ex110, которые являются стационарными беспроводными станциями. Кроме того, устройства могут быть соединены друг с другом через беспроводную связь ближнего действия и другие.
Камера ex113, например, цифровая видеокамера, способна захватывать видеоинформацию. Камера ex116, например, цифровой фотоаппарат, способна захватывать как неподвижные изображения, так и видеоинформацию. Кроме того, сотовый телефон ex114 может соответствовать любому из стандартов, таких как глобальная система мобильной связи (GSM) (зарегистрированная торговая марка), множественный доступ с кодовым разделением (CDMA), широкополосный множественный доступ с кодовым разделением (W-CDMA), стандарт проекта долгосрочного развития (LTE) и высокоскоростной пакетный доступ (HSPA). В качестве альтернативы, сотовый телефон ex114 может являться системой персональных мобильных телефонов (PHS).
В системе ex100 обеспечения информационного содержания сервер ex103 потоковой передачи соединен с камерой ex113 и другими устройствами через телефонную сеть ex104 и базовую станцию ex109, что обеспечивает возможность распределения шоу в прямом эфире и других изображений. При таком распределении информационное содержание (например, видеоинформация музыкального шоу в прямом эфире), захваченное пользователем, использующим камеру ex113, кодируется, как описано выше в каждом из вариантов осуществления (то есть камера функционирует как устройство кодирования изображения в соответствии с аспектом настоящего изобретения), и закодированное информационное содержание передается серверу ex103 потоковой передачи. С другой стороны, сервер ex103 потоковой передачи выполняет распределение потоков переданных данных информационного содержания клиентам по их запросам. Клиенты включают в себя компьютер ex111, персональный карманный компьютер ex112, камеру ex113, сотовый телефон ex114 и игровой автомат ex115, которые способны декодировать упомянутые выше закодированные данные. Каждое из устройств, которые приняли распределенные данные, декодирует и воспроизводит закодированные данные (то есть функционирует как устройство декодирования изображения в соответствии с аспектом настоящего изобретения).
Захваченные данные могут быть кодированы камерой ex113 или сервером ex103 потоковой передачи, который передает данные, или процессы кодирования могут быть разделены между камерой ex113 и сервером ex103 потоковой передачи. Аналогичным образом, распределенные данные могут декодироваться клиентами или сервером ex103 потоковой передачи, или процессы декодирования могут быть разделены между клиентами и сервером ex103 потоковой передачи. Кроме того, данные неподвижных изображений и видеоинформации, захваченной не только камерой ex113, но также и камерой ex116, могут быть переданы серверу ex103 потоковой передачи через компьютер ex111. Процессы кодирования могут быть выполнены камерой ex116, компьютером ex111 или сервером ex103 потоковой передачи или разделены среди них.
Кроме того, процессы кодирования и декодирования могут быть выполнены посредством большой интегральной схемы (LSI; <BC) ex500, обычно включенной в компьютер ex111 и устройства. Большая интегральная схема ex500 может быть выполнена как однокристальная схема или множество однокристальных схем. Программное обеспечение для кодирования и декодирования видеоинформации может быть интегрировано в носитель записи некоторого типа (такой как компакт-диск (CD-ROM), гибкий диск и жесткий диск), который может быть прочитан компьютером ex111 и другими устройствами, и процессы кодирования и декодирования могут выполняться с использованием программного обеспечения. Кроме того, когда сотовый телефон ex114 оборудован камерой, видеоданные, полученные камерой, могут быть переданы. Видеоданные представляют собой данные, закодированные посредством большой интегральной схемы ex500, включенной в сотовый телефон ex114.
Кроме того, сервер ex103 потоковой передачи может состоять из серверов и компьютеров и может децентрализовать данные и обрабатывать децентрализованные данные, записывать или распределять данные.
Как описано выше, клиенты могут принимать и воспроизводить закодированные данные в системе ex100 обеспечения информационного содержания. Другими словами, клиенты могут принимать и декодировать информацию, переданную пользователем, и воспроизводить декодированные данные в режиме реального времени в системе ex100 обеспечения информационного содержания, с тем чтобы пользователь, который не имеет какого-либо конкретного права и оборудования, мог реализовать персональное вещание.
Помимо примера системы ex100 обеспечения информационного содержания, по меньшей мере одно устройство из устройства кодирования движущегося изображения (устройства кодирования изображения) и устройства декодирования движущегося изображения (устройства декодирования изображения), описанных в каждом из вариантов осуществления, может быть реализовано в системе ex200 цифрового вещания, проиллюстрированной на Фиг.18. Более определенно, радиостанция ex201 передает по радио ретрансляционному спутнику ex202 мультиплексированные данные, полученные посредством мультиплексирования аудиоданных и других данных с видеоданными. Видеоданные представляют собой данные, закодированные способом кодирования движущегося изображения, описанным в каждом из вариантов осуществления (то есть данные, закодированные устройством кодирования изображения в соответствии с аспектом настоящего изобретения). После приема мультиплексированных данных ретрансляционный спутник ex202 передает радиоволны для вещания. Затем бытовая антенна ex204 со функцией приема спутникового вещания принимает радиоволны. Затем устройство, например, телевизор (приемник) ex300 и телеприставка (STB) ex217, декодирует принятые мультиплексированные данные и воспроизводит декодированные данные (то есть функционирует как устройство декодирования изображения в соответствии с аспектом настоящего изобретения).
Кроме того, устройство ex218 чтения/записи (i) считывает и декодирует мультиплексированные данные, записанные на носителе ex215 записи, таком как DVD и BD, или (i) кодирует видеосигналы на носителе ex215 записи и в некоторых случаях записывает данные, полученные посредством мультиплексирования аудиосигнала с закодированными данными. Устройство ex218 чтения/записи может включать в себя устройство декодирования движущегося изображения или устройство кодирования движущегося изображения, как показано в каждом из вариантов осуществления. В этом случае воспроизведенные видеосигналы отображаются на мониторе ex219 и могут быть воспроизведены другим устройством или системой с использованием носителя ex215 записи, на котором записаны мультиплексированные данные. Также возможно реализовать устройство декодирования движущегося изображения в телеприставке ex217, соединенной с кабелем ex203 для кабельного телевидения или с антенной ex204 для спутникового и/или наземного вещания, для отображения видеосигналов на мониторе ex219 телевизора ex300. Устройство декодирования движущегося изображения может быть реализовано не в телеприставке, а в телевизоре ex300.
Фиг.19 иллюстрирует телевизор (приемник) ex300, который использует способ кодирования движущегося изображения и способ декодирования движущегося изображения, описанные в каждом из вариантов осуществления. Телевизор ex300 включает в себя: селектор ex301 каналов, который получает или обеспечивает мультиплексированные данные, полученные посредством мультиплексирования аудиоданных и видеоданных, через антенну ex204 или кабель ex203 и т.д. которые принимают вещание; блок ex302 модуляции/демодуляции, который демодулирует принятые мультиплексированные данные или модулирует данные в мультиплексированные данные, которые будут выданы вовне; и блок ex303 мультиплексирования/демультиплексирования, который демультиплексирует модулированные мультиплексированные данные в видеоданные и аудиоданные или мультиплексирует видеоданные и аудиоданные, закодированные блоком ex306 обработки сигналов, в данные.
Телевизор ex300 дополнительно включает в себя: блок ex306 обработки сигналов, содержащий блок ex304 обработки аудиосигнала и блок ex305 обработки видео, которые декодируют аудиоданные и видеоданные и кодируют аудиоданные и видеоданные, соответственно (которые функционируют как устройство кодирования изображения и устройство декодирования изображения в соответствии с аспектами настоящего изобретения); и блок ex309 вывода, содержащий динамик ex307, который обеспечивает декодированный аудиосигнал, и блок ex308 отображения, который отображает декодированный видеосигнал, например, устройство отображения. Кроме того, телевизор ex300 включает в себя блок ex317 интерфейса, содержащий блок ex312 ввода операций, который принимает ввод пользовательским операций. Кроме того, телевизор ex300 включает в себя блок ex310 управления, который управляет всеми составляющими элементами телевизора ex300, и блок ex311 схемы электропитания, который подает питание каждому из элементов. Кроме блока ex312 ввода операций, блок ex317 интерфейса может включать в себя: мост ex313, который соединен с внешним устройством, таким как устройство ex218 чтения/записи; блок ex314 слота для обеспечения возможности присоединения носителя ex216 записи, такого как SD-карта; привод ex315 для соединения внешнего носителя записи, такого как жесткий диск; и модем ex316 для соединения с телефонной сетью. При этом носитель ex216 записи может электрически записывать информацию с использованием энергонезависимого/энергозависимого элемента полупроводниковой памяти для хранения. Составляющие элементы телевизора ex300 соединены друг с другом через синхронную шину.
Сначала будет описана конфигурация, в которой телевизор ex300 декодирует мультиплексированные данные, полученные извне через антенну ex204 и другие элементы, и воспроизводит декодированные данные. В телевизоре ex300 после пользовательской операции через пульт ex220 дистанционного управления и другие элементы блок ex303 мультиплексирования/демультиплексирования демультиплексирует мультиплексированные данные, демодулированные блоком ex302 модуляции/демодуляции, под управлением блока ex310 управления, содержащего центральный процессор. Кроме того, блок ex304 обработки аудиосигнала декодирует демультиплексированные аудиоданные, и блок ex305 обработки видео декодирует демультиплексированные видеоданные с использованием способа декодирования, описанного в каждом из вариантов осуществления, в телевизоре ex300. Блок ex309 вывода выдает вовне декодированный видеосигнал и аудиосигнал снаружи, соответственно. Когда блок ex309 вывода выдает видеосигнал и аудиосигнал, сигналы могут быть временно сохранены в буферах ex318 и ex319 и других элементах, с тем чтобы сигналы были воспроизведены в синхронизации друг с другом. Кроме того, телевизор ex300 может считывать мультиплексированные данные не посредством вещания и т.п., а с носителей ex215 и ex216 записи, таких как магнитный диск, оптический диск и SD-карта. Далее будет описана конфигурация, в которой телевизор ex300 кодирует аудиосигнал и видеосигнал и передает данные вовне или записывает данные на носителе записи. В телевизоре ex300 после пользовательской операции через пульт ex220 дистанционного управления и другие элементы блок ex304 обработки аудиосигнала кодирует аудиосигнал, и блок ex305 обработки видео кодирует видеосигнал под управлением блока ex310 управления с использованием способа кодирования, описанного в каждом из вариантов осуществления. Блок ex303 мультиплексирования/демультиплексирования мультиплексирует закодированный видеосигнал и аудиосигнал и выдает вовне полученный в результате сигнал. Когда блок ex303 мультиплексирования/демультиплексирования мультиплексирует видеосигнал и аудиосигнал, сигналы могут быть временно сохранены в буферах ex320 и ex321 и других элементах, с тем чтобы сигналы были воспроизведены в синхронизации друг с другом. При этом в телевизоре ex303 может быть несколько буферов ex318, ex319, ex320 и ex321, как проиллюстрировано, или по меньшей мере один буфер может быть совместно использован. Кроме того, данные могут храниться в буфере таким образом, чтобы, например, можно было избежать системного переполнения и отрицательного переполнения между блоком ex302 модуляции/демодуляции и блоком ex303 мультиплексирования/демультиплексирования.
Кроме того, телевизор ex300 может включать в себя конфигурацию для приема ввода AV от микрофона или камеры кроме конфигурации для получения аудиоданных и видеоданных из вещания или с носителя записи и может кодировать полученные данные. Хотя телевизор ex300 может кодировать, мультиплексировать и выдавать вовне данные в описании, он может быть способен только принимать, декодировать и выдавать вовне данные, а не кодировать, мультиплексировать и выдавать вовне данные.
Кроме того, когда устройство ex218 чтения/записи читает или записывает мультиплексированные данные с носителя записи или на носитель записи, либо телевизор ex300, либо устройство ex218 чтения/записи может декодировать или закодировать мультиплексированные данные, и телевизор ex300 и устройство ex218 чтения/записи могут совместно использовать декодирование или кодирование.
В качестве примера Фиг.20 иллюстрирует конфигурацию блока ex400 воспроизведения/записи информации, когда данные считываются с оптического диска или записываются на оптический диск. Блок ex400 воспроизведения/записи информации включает в себя составляющие элементы ex401, ex402, ex403, ex404, ex405, ex406 и ex407, которые будут описаны далее. Оптическая головка ex401 излучает лазерное пятно на поверхности записи носителя ex215 записи, который является оптическим диском, для записи информации и обнаруживает отраженный свет от поверхности записи носителя ex215 записи, для считывания информации. Блок ex402 записи модуляции электрически управляет полупроводниковым лазером, включенным в оптическую головку ex401, и модулирует лазерный свет соответствии с записываемыми данными. Блок ex403 демодуляции воспроизведения усиливает сигнал воспроизведения, полученный посредством электрического обнаружения отраженного света от поверхности записи с использованием фотодетектора, включенного в оптическую головку ex401, и демодулирует сигнал воспроизведения посредством разделения компонента сигнала, записанного на носителе записи ex215, для воспроизведения необходимой информации. Буфер ex404 временно сохраняет информацию, которая будет записана на носителе ex215 записи, и информацию, воспроизведенную с носителя ex215 записи. Дисковый двигатель ex405 поворачивает, вращает носитель ex215 записи. Блок ex406 управления сервомотором перемещает оптическую головку ex401 на предопределенную информационную дорожку, управляя приведением во вращательное движение дискового двигателя ex405, чтобы следовать за лазерным пятном. Системный блок ex407 управления управляет всем блоком ex400 воспроизведения/записи информации. Процессы чтения и записи могут быть реализованы посредством системного блока ex407 управления с использованием различной информации, хранящейся в буфере ex404, и формирования и добавления новой информации по мере необходимости, и блока ex402 записи модуляции, блока ex403 демодуляции воспроизведения и блока ex406 управления сервомотором, чтобы запись и воспроизведение информации через оптическую головку ex401 управлялась скоординированным образом. Системный блок ex407 управления включает в себя, например, микропроцессор и исполняет обработку, заставляя компьютер исполнять программу для чтения и записи.
Хотя в описании оптическая головка ex401 излучает лазерное пятно, она может выполнять высокоплотную запись, используя ближнепольную оптику.
Фиг.21 иллюстрирует носитель ex215 записи, который является оптическим диском. На поверхности записи носителя записи ex215 по спирали сформированы направляющие канавки, и информационная дорожка ex230 заранее записывает информацию адреса, указывающую абсолютную позицию на диске в соответствии с изменением формы направляющих канавок. Информация адреса включает в себя информацию для определения позиции блоков ex231 записи, которые являются единицами записи данных. Воспроизведение информационной дорожки ex230 и считывание информации адреса в устройстве, которое записывает и воспроизводит данные, может привести к определению позиций блоков записи. Кроме того, носитель ex215 записи включает в себя область ex233 записи данных, внутреннюю область ex232 окружности и внешнюю область ex234 окружности. Область ex233 записи данных является областью для использования при записи пользовательских данных. Внутренняя область ex232 окружности и внешняя область ex234 окружности, которые находятся внутри и снаружи области ex233 записи данных, соответственно, предназначены для специального использования кроме записи пользовательских данных. Блок 400 воспроизведения/записи данных считывает и записывает закодированную аудиоинформацию, закодированные видеоданные или мультиплексированные данные, полученные посредством мультиплексирования кодированных аудиоданных и видеоданных, с области ex233 записи данных носителя ex215 записи и на нее.
Хотя в описании в качестве примера описан оптический диск, имеющий слой, такой как DVD и BD, оптический диск не ограничен этим и может быть оптическим диском, имеющим многоуровневую структуру, и на котором запись может быть сделана на части, отличной от поверхности. Кроме того, оптический диск может иметь структуру для многомерной записи/воспроизведения, например, записи информации с использованием цветного света с разными длинами волн в одной и той же секции оптического диска и для записи информации, имеющей различные слои с различных углов.
Кроме того, автомобиль ex210, имеющий антенну ex205, может принимать данные от спутника ex202 и т.п. и воспроизводить видеоинформацию на устройстве отображения, таком как автомобильная навигационная система ex211, установленная в автомобиле ex210, в системе ex200 цифрового вещания. При этом, конфигурация автомобильной навигационной системы ex211 будет конфигурацией, например, включающей в себя блок приема GPS, из конфигурации, проиллюстрированной на Фиг.19. То же самое будет верно для конфигурации компьютера ex111, сотового телефона ex114 и т.п.
Фиг.22A иллюстрирует сотовый телефон ex114, который использует способ кодирования движущегося изображения и способ декодирования движущегося изображения, описанные в вариантах осуществления. Сотовый телефон ex114 включает в себя: антенну ex350 для передачи и приема радиоволн через базовую станцию ex110; блок ex365 камеры, способный захватывать динамические и неподвижные изображений; и блок ex358 отображения, такой как жидкокристаллическое устройство отображения, для отображения данных, таких как декодированная видеоинформация, захваченная блоком ex365 камеры или принятая антенной ex350. Сотовый телефон ex114 дополнительно включает в себя: блок корпуса, содержащий блок ex366 операционных клавиш; блок ex357 аудиовывода, например, динамик для вывода аудиоинформации; блок ex356 аудиоввода, например, микрофон для ввода аудиоинформации; блок ex367 памяти для хранения захваченной видеоинформации или фотоснимков, записанной аудиоинформации, кодированных или декодированных данных, принятой видеоинформации, фотоснимков, электронных писем и т.п.; и блок ex364 слота, который является блоком интерфейса для носителя записи, который хранит данные таким же образом, как блок ex367 памяти.
Далее будет описан пример конфигурации сотового телефона ex114 со ссылкой на Фиг.22B. В сотовом телефоне ex114 основной блок ex360 управления, выполненный с возможностью управлять каждым блоком корпуса, в том числе блоком ex358 отображения, а также блоком ex366 операционных клавиш, соединен взаимно через синхронную шину ex370 с блоком ex361 схемы электропитания, блоком ex362 управления вводом, блоком ex355 обработки видео, блоком ex363 интерфейса камеры, блоком ex359 управления жидкокристаллическим устройством отображения (LCD), блоком ex352 модуляции/демодуляции, блоком ex353 мультиплексирования/демультиплексирования, блоком ex354 обработки аудиосигнала, блоком ex364 слота и блоком ex367 памяти.
Когда клавиша окончания вызова или клавиша питания включены посредством пользовательской операции, блок ex361 схемы электропитания подает на соответствующие блоки питание от блока батарей, чтобы активировать сотовый телефон ex114.
В сотовом телефоне ex114 блок ex354 обработки аудиосигнала преобразовывает аудиосигналы, собранные блоком ex356 аудиоввода в режиме разговора, в цифровые аудиосигналы под управлением основного блока ex360 управления, включающего в себя центральный процессор (CPU), постоянное запоминающее устройство (ROM) и оперативное запоминающее устройство (RAM). Затем блок ex352 модуляции/демодуляции выполняет обработку расширения спектра над цифровыми аудиосигналами, и блок ex351 передачи и приема выполняет цифро-аналоговое преобразование и частотное преобразование над данными, чтобы передать полученные в результате данные через антенну ex350. Кроме того, в сотовом телефоне ex114 блок ex351 передачи и приема усиливает данные, принятые антенной ex350 в режиме разговора, и выполняет частотное преобразование и аналого-цифровое преобразование над данными. Затем блок ex352 модуляции/демодуляции выполняет обратную обработку расширения спектра над данными, и блок ex354 обработки аудиосигнала преобразовывает их в аналоговые аудиосигналы для выдачи их через блок ex357 аудиовывода.
Кроме того, когда в режиме передачи данных передается электронная почта, текстовые данные электронной почты, введенные посредством блока ex366 операционных клавиш и т.п. корпуса, посылаются в основной блок ex360 управления через блок ex362 управления вводом. Основной блок ex360 управления заставляет блок ex352 модуляции/демодуляции выполнять обработку расширения спектра над текстовыми данными, и блок ex351 передачи и приема выполняет цифро-аналоговое преобразование и частотное преобразование над полученными в результате данными, чтобы передать данные базовой станции ex110 через антенну ex350. Когда электронное письмо принимается, над принятыми данными выполняется обработка, которая является приблизительно обратной по отношению к обработке для передачи электронной почты, и полученные в результате данные выдаются блоку ex358 отображения.
Когда в режиме передачи данных передается видеоинформация, неподвижные изображения или видеоинформация и аудиоинформация, блок ex355 обработки видео сжимает и кодирует видеосигналы, предоставленные от блока ex365 камеры, с использованием способа кодирования движущегося изображения, показанного в каждом из вариантов осуществления (то есть функционирует как устройство кодирования изображения в соответствии с аспектом настоящего изобретения), и передает закодированные видеоданные блоку ex353 мультиплексирования/демультиплексирования. Напротив, в то время, когда блок ex365 камеры захватывает видеоинформацию, неподвижные изображения и т.п., блок ex354 обработки аудиосигнала кодирует аудиосигналы, собранные блоком ex356 аудиоввода, и передает закодированные аудиоданные блоку ex353 мультиплексирования/демультиплексирования.
Блок ex353 мультиплексирования/демультиплексирования мультиплексирует закодированные видеоданные, предоставленные от блока ex355 обработки видео, и закодированные аудиоданные, предоставленные от блока ex354 обработки аудиосигнала, с использованием предопределенного способа. Затем блок ex352 модуляции/демодуляции (блок схемы модуляции/демодуляции) выполняет обработку расширения спектра над мультиплексированными данных, и блок ex351 передачи и приема выполняет цифро-аналоговое преобразование и частотное преобразование над данными, чтобы передать полученные в результате данные через антенну ex350.
При приеме данных видеофайла, который присоединен к веб-странице и т.п., в режиме передачи данных или при приеме электронной почты с присоединенной видеоинформацией и/или аудиоинформацией, чтобы декодировать мультиплексированные данные, принятые через антенну ex350, блок ex353 мультиплексирования/демультиплексирования демультиплексирует мультиплексированные данные в битовый поток видеоданных и битовый поток аудиоданных, и предоставляет блоку ex355 обработки видео закодированные видеоданные и блоку ex354 обработки аудиосигнала закодированными аудиоданные через синхронную шину ex370. Блок ex355 обработки видео декодирует видеосигнал с использованием способа декодирования движущегося изображения, соответствующего способу кодирования движущегося изображения, показанному в каждом из вариантов осуществления (то есть функционирует как устройство декодирования изображения в соответствии с аспектом настоящего изобретения), и затем блок ex358 отображения отображает, например, видеоизображения и неподвижные изображения, включенные в видеофайл, присоединенный к веб-странице, через блок ex359 управления LCD. Кроме того, блок ex354 обработки аудиосигнала декодирует аудиосигнал, и блок ex357 аудиовывода выдает аудиоинформацию.
Кроме того, аналогично телевизору ex300 терминал, такой как сотовый телефон ex114, вероятно имеет 3 типа конфигураций реализации, в том числе не только (i) терминал передачи и приема, включающий в себя и устройство кодирования, и устройство декодирования, но также и (ii) терминал передачи, включающий в себя только устройство кодирования, и (iii) терминал приема, включающий в себя только устройство декодирования. Хотя в описании система ex200 цифрового вещания принимает и передает мультиплексированные данные, полученные посредством мультиплексирования аудиоданных и видеоданных, мультиплексированные данные могут быть данными, полученными посредством мультиплексирования не аудиоданных, а символьных данных, имеющих отношение к видеоинформации, и видеоданных, и могут быть не мультиплексированными данными, а видеоданными непосредственно.
Также способ кодирования движущегося изображения и способ декодирования движущегося изображения в каждом из вариантов осуществления могут использоваться в любом из устройств и описанных систем. Таким образом, могут быть получены преимущества, описанные в каждом из вариантов осуществления.
Кроме того, настоящее изобретение не ограничено вариантами осуществления, и возможны различные модификации и ревизии без отступления от объема настоящего изобретения.
(Вариант осуществления 4)
Видеоданные могут быть сформированы посредством переключения по мере необходимости между (i) способом кодирования движущегося изображения или устройством кодирования движущегося изображения, показанных в каждом из вариантов осуществления, и (ii) способом кодирования движущегося изображения или устройством кодирования движущегося изображения в соответствии с другим стандартом, таким как MPEG 2, MPEG 4 AVC и VC 1.
При этом, когда множество видеоданных, которые соответствуют различным стандартам, сформировано и затем декодируется, способы декодирования должны быть выбраны для соответствия разным стандартам. Однако, поскольку не может быть обнаружено, какому стандарту соответствует каждое множество видеоданных, которые будут декодированы, есть проблема, что не может быть выбран соответствующий способ декодирования.
Чтобы решить проблему, мультиплексированные данные, полученные посредством мультиплексирования аудиоданных и других данных с видеоданными, имеют структуру, включающую в себя идентификационную информацию, указывающую, какому стандарту соответствуют видеоданные. Далее будет описана заданная структура мультиплексированных данных, включающая в себя видеоданные, сформированные способом кодирования движущегося изображения и устройством кодирования движущегося изображения, показанными в каждом из вариантов осуществления. Мультиплексированные данные представляют собой цифровой поток в формате транспортного потока MPEG 2.
Фиг.23 иллюстрирует структуру мультиплексированных данных. Как проиллюстрировано на Фиг.23, мультиплексированные данные могут быть получены посредством мультиплексирования по меньшей мере одного из видеопотока, аудиопотока, потока презентационной графики (PG) и потока интерактивной графики. Видеопоток представляет первичную видеоинформацию и вторичную видеоинформацию фильма, аудиопоток (IG) представляет первичную звуковую часть и вторичную звуковую часть, которая должна быть микширована с первичной звуковой частью, и поток презентационной графики представляет субтитры фильма. При этом первичная видеоинформация является обычной видеоинформацией, которая будет отображена на экране, и вторичная видеоинформация является видеоинформацией, которая будет отображена в меньшем окне в первичной видеоинформации. Кроме того, поток интерактивной графики представляет интерактивный экран, который будет сформирован посредством расположения компонентов графического пользовательского интерфейса (GUI) на экране. Видеопоток закодирован способом кодирования движущегося изображения или устройством кодирования движущегося изображения, показанными в каждом из вариантов осуществления, или способом кодирования движущегося изображения или устройством кодирования движущегося изображения в соответствии с традиционным стандартом, таким как MPEG 2, MPEG 4 AVC и VC 1. Аудиопоток закодирован в соответствии со стандартом, таким как Dolby-AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD и линейный PCM.
Каждый поток, включенный в мультиплексированные данные, идентифицирован посредством PID. Например, значение 0x1011 выделяется видеопотоку, который будет использоваться для видеоинформации фильма, значения от 0x1100 до 0x111F выделяются аудиопотокам, значения от 0x1200 до 0x121F выделяются потокам презентационной графики, значения от 0x1400 до 0x141F выделяются потокам интерактивной графики, значения от 0x1B00 до 0x1B1F выделяются видеопотокам, которые будут использоваться для вторичной видеоинформации фильма, и значения от 0x1A00 до 0x1A1F выделяются аудиопотокам, которые будут использоваться для вторичной аудиоинформации, которая будет микшироваться с первичной аудиоинформацией.
Фиг.24 схематично иллюстрирует, как данные мультиплексируются. Сначала видеопоток ex235, состоящий из видеокадров, и аудиопоток ex238, состоящий из звуковых кадров, преобразовываются в поток PES пакетов ex236 и поток PES пакетов ex239 и затем в TS пакеты ex237 и TS пакеты ex240, соответственно. Аналогичным образом данные потока ex241 презентационной графики и данные потока ex244 интерактивной графики преобразовываются в поток PES пакетов ex242 и поток PES пакетов ex245 и затем в TS пакеты ex243 и TS пакеты ex246, соответственно. Эти TS пакеты мультиплексируются в поток для получения мультиплексированных данных ex247.
Фиг.25 более подробно иллюстрирует, как видео поток сохраняется в потоке PES пакетов. Первая полоса на Фиг.25 показывает поток видеокадров в видеопотоке. Вторая полоса показывает поток PES пакетов. Как указано стрелками, обозначенными yy1, yy2, yy3 и yy4 на Фиг.25, видеопоток разделяется на такие изображения, как I-изображения, B-изображения и P-изображения, каждое из которых является блоком видеопрезентации, и изображения сохраняются в полезной нагрузке каждого из PES пакетов. Каждый из PES пакетов имеет PES заголовок, и PES заголовок хранит временную метку представления (PTS), указывающую времени отображения изображения, и временную метку декодирования (DTS), указывающую время декодирования изображения.
Фиг.26 иллюстрирует формат TS пакетов, которые будут в конечном счете записаны в мультиплексированных данных. Каждый из TS пакетов представляет собой 188-байтовый пакет фиксированной длины, включающий в себя 4-байтовый TS заголовок, имеющий такую информацию, как PID для идентификации потока, и 184-байтовую полезную нагрузку TS для хранения данных. PES пакеты разделены и сохранены в полезных нагрузках TS, соответственно. Когда используется BD ROM, каждому из TS пакетов дается 4-байтовый заголовок TP_Extra_Header, что дает в результате 192-байтовые пакеты источника. Пакеты источника записаны в мультиплексированных данных. Заголовок TP_Extra_Header хранит такую информацию, как метка Arrival_Time_Stamp (ATS). Метка ATS показывает время начала передачи, в которое каждый из TS пакетов должен быть передан фильтру PID. Пакеты источника расположены в мультиплексированных данных, как показано внизу Фиг.26. Номера, увеличивающиеся от начала мультиплексированных данных, называются номерами пакетов источника (SPN).
Каждый из TS пакетов, включенных в мультиплексированные данные, включает в себя не только потоки аудиоинформации, видеоинформации, субтитров и т.п., но также и таблицу привязки программы (PAT), таблицу карты программы (PMT) и метка времени программы (PCR). Таблица PAT показывает, что обозначает PID в таблице PMT, используемой в мультиплексированных данных, и PID самой таблицы PAT записывается как нуль. Таблица PMT хранит PID потоков видеоинформации, аудиоинформации, субтитров и т.п., включенных в мультиплексированные данные, и информацию атрибута потоков, соответствующих PID. Таблица PMT также имеет различные дескрипторы, имеющие отношение к мультиплексированным данным. Дескрипторы имеют такую информацию, такая управляющая информация копирования, показывающая, разрешено ли копирование мультиплексированных данных. Метка PCR хранит информацию времени STC, соответствующую метке ATS, показывающую, когда пакет PCR передан декодеру, чтобы достигнуть синхронизации между временем поступления (ATC), которое является осью времени меток ATS, и системным таймером (STC), который является осью времени потоков PTS и DTS.
Фиг.27 подробно иллюстрирует структуру данных таблицы PMT. Заголовок PMT расположен сверху таблицы PMT. Заголовок PMT описывает длину данных, включенных в таблицу PMT, и т.п. Множество дескрипторов, имеющих отношение к мультиплексированным данным, расположено после заголовка PMT. Информация, такая как управляющая информация копирования, описана в дескрипторах. После дескрипторов расположено множество частей информации потока, имеющей отношение к потокам, включенным в мультиплексированные данные. Каждая часть информации потока включает в себя дескрипторы потока, каждый из которых описывает такую информацию, как тип потока, для идентификации кодека сжатия потока, PID потока и информации атрибутов потока (такой как частота кадров или формат изображения). Количество дескрипторов потоков равно количеству потоков в мультиплексированных данных.
Когда мультиплексированные данные записываются на носителе записи и т.п., они записываются вместе с файлами информации мультиплексированных данных.
Каждый из файлов информации мультиплексированных данных представляет собой информацию об управлении мультиплексированными данными, как показано на Фиг.28. Файлы информации мультиплексированных данных находятся во взаимно-однозначном соответствии с мультиплексированными данными, и каждый из файлов включает в себя информацию мультиплексированных данных, информацию атрибутов потока и карту записи.
Как проиллюстрировано на Фиг.28, информация мультиплексированных данных включает в себя системную скорость, время начала воспроизведения и время окончания воспроизведения. Системная скорость указывает максимальную скорость передачи, на которой системный целевой декодер, который будет описан позже, передает мультиплексированные данные PID фильтру. Интервалы меток ATS, включенных в мультиплексированные данные, устанавливаются не больше системной скорости. Время начала воспроизведения указывает на метку PTS в видеокадре в начале мультиплексированных данных. Интервал одного кадра добавляется к метке PTS в видеокадре в конце мультиплексированных данных, и метка PTS устанавливается равной времени окончания воспроизведения.
Как показано на Фиг.29, часть информации атрибутов записывается в информации атрибутов потока для каждого PID каждого потока, включенного в мультиплексированные данные. Каждая часть информации атрибутов имеет различную информацию в зависимости от того, является ли соответствующий поток видеопотоком, аудиопотоком, потоком презентационной графики или потоком интерактивной графики. Каждая часть информации атрибутов видеопотока несет такую информацию, как информация о том, какой кодек сжатия используется для сжатия видеопотока, и разрешение, формат изображения и частоту кадров частей данных изображения, которые включены в видеопоток. Каждая часть информации атрибутов аудиопотока несет такую информацию, как информация о том, какой кодек сжатия используется для сжатия аудиопотока, сколько каналов включено в аудиопоток, какой язык поддерживает аудиопоток и насколько высока частота дискретизации. Информация атрибутов видеопотока и информация атрибутов аудиопотока используются для инициализации декодера, прежде чем проигрыватель воспроизведет информацию.
В настоящем варианте осуществления мультиплексированные данные, которые будут использоваться, имеют тип потока, включенный в таблицу PMT. Кроме того, когда мультиплексированные данные записываются на носителе записи, используется информация атрибутов видеопотока, включенная в информацию мультиплексированных данных. Более определенно, способ кодирования движущегося изображения или устройство кодирования движущегося изображения, описанные в каждом из вариантов осуществления, включают в себя этап или блок для выделения уникальной информации, указывающей на видеоданные, сформированные способом кодирования движущегося изображения или устройством кодирования движущегося изображения в каждом из вариантов осуществления, для типа потока, включенного в таблицу PMT или в информацию атрибутов видеопотока. При такой конфигурации видеоданные, сформированные способом кодирования движущегося изображения или устройством кодирования движущегося изображения, описанные в каждом из вариантов осуществления, можно отличить от видеоданных, которые соответствуют другому стандарту.
Кроме того, Фиг.30 иллюстрирует этапы способа декодирования движущегося изображения в соответствии с настоящим вариантом осуществления. На этапе exS100 из мультиплексированных данных получается тип потока, включенный в таблицу PMT или в информацию атрибутов потока, включенную в информацию мультиплексированных данных. Затем на этапе exS101 определяется, указывают ли тип потока или информация атрибутов видеопотока, что мультиплексированные данные сформированы способом кодирования движущегося изображения или устройством кодирования движущегося изображения в каждом из вариантов осуществления. Когда определено, что тип потока или информация атрибутов видеопотока указывают, что мультиплексированные данные сформированы способом кодирования движущегося изображения или устройством кодирования движущегося изображения в каждом из вариантов осуществления, на этапе exS102 декодирование выполняется посредством способа декодирования движущегося изображения в каждом из вариантов осуществления. Кроме того, когда тип потока или информация атрибутов видеопотока указывают на соответствие традиционным стандартам, таким как MPEG 2, MPEG 4 AVC и VC 1, на этапе exS103 декодирование выполняется способом декодирования движущегося изображения в соответствии с традиционными стандартами.
Таким образом, выделение нового уникального значения для типа потока или информации атрибутов видеопотока обеспечивает возможность для определения, могут ли способ декодирования движущегося изображения или устройство декодирования движущегося изображения, которые описаны в каждом из вариантов осуществления, выполнить декодирование. Даже когда вводятся мультиплексированные данные, которые соответствуют другому стандарту, могут быть выбраны соответствующий способ или устройство декодирования. Таким образом, становится возможно декодировать информацию без какой-либо ошибки. Кроме того, способ или устройство кодирования движущегося изображения или способ или устройство декодирования движущегося изображения в настоящем варианте осуществления могут использоваться в описанных выше устройствах и системах.
(Вариант осуществления 5)
Каждый из способа кодирования движущегося изображения, устройства кодирования движущегося изображения, способа декодирования движущегося изображения и устройства декодирования движущегося изображения в каждом из вариантов осуществления обычно достигается в виде интегральной схемы или большой интегральной схемы (LSI). В качестве примера схемы LSI, Фиг.31 иллюстрирует конфигурацию схемы ex500 LSI, которая выполнена в одной микросхеме. Схема ex500 LSI включает в себя элементы ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508 и ex509, которые будут описан ниже, и элементы соединены друг с другом через шину ex510. Блок ex505 схемы электропитания активируется посредством подачи питания на каждый из элементов, когда блок ex505 схемы электропитания включен.
Например, когда выполняется кодирование, схема ex500 LSI принимает AV-сигнал от микрофона ex117, камеры ex113 и т.п. через блок ex509 ввода/вывода аудиоданных и видеоданных под управлением блока ex501 управления, включающего в себя центральный процессор ex502, контроллер ex503 памяти, потоковый контроллер ex504 и блок ex512 управления задающей частотой. Принятый AV-сигнал временно сохраняется во внешней памяти ex511, такой как SDRAM. Под управлением блока ex501 управления сохраненные данные в соответствии с количеством и скоростью обработки сегментируются в секции данных, которые будут переданы блоку ex507 обработки сигналов. Затем блок ex507 обработки сигналов кодирует аудиосигнал и/или видеосигнал. При этом кодирование видео представляет собой кодирование, описанное в каждом из вариантов осуществления. Кроме того, блок ex507 обработки сигналов иногда мультиплексирует закодированные аудиоданные и закодированные видеоданные, и блок ex506 ввода/вывода потока выдает мультиплексированные данные вовне. Выданные мультиплексированные данные передаются базовой станции ex107 или записываются на носителе ex215 записи. Когда наборы данных мультиплексируются, данные должны временно сохраняться в буфере ex508, с тем чтобы наборы данных были синхронизированы друг с другом.
Хотя память ex511 является элементом, внешним по отношению к схеме ex500 LSI, она может быть включена в схему ex500 LSI. Буфер ex508 не ограничен одним буфером, а может быть составлен из буферов. Кроме того, схема ex500 LSI может быть выполнена как одна микросхема или множество микросхем.
Кроме того, хотя блок ex501 управления включает в себя центральный процессор ex502, контроллер ex503 памяти, потоковый ex504 контроллер, блок ex512 управления задающей частотой, конфигурация блока ex501 управления не ограничена этим. Например, блок ex507 обработки сигналов может дополнительно включать в себя центральный процессор. Включение другого центрального процессора в блок ex507 обработки сигналов может увеличить скорость обработки. Кроме того, в качестве другого примера, центральный процессор ex502 может служить в качестве или являться частью блока ex507 обработки сигналов и, например, может включать в себя блок обработки аудиосигнала. В таком случае блок ex501 управления включает в себя блок ex507 обработки сигналов или центральный процессор ex502, содержащий часть блока ex507 обработки сигналов.
Используемое здесь название представляет собой большую интегральную схему (LSI), но она также может называться интегральной схемой (IC), системной большой интегральной схемой, сверхбольшой интегральной схемой или ультрабольшой интегральной схемой в зависимости от степени интеграции.
Кроме того, способы достижения интеграции не ограничены схемами LSI, и специальная схема или процессор общего назначения и т.д. также могут достигать интеграции. Программируемая пользователем вентильная матрица (FPGA), которая может быть запрограммирована после изготовления схем LSI, или реконфигурируемый процессор, который позволяет реконфигурирование соединения или конфигурации LSI, может использоваться с той же целью.
В будущем, с развитием полупроводниковой технологии схемы LSI может заменить совершенно новая технология. Функциональные блоки могут быть интегрированы с использованием такой технологии. Возможность состоит в том, что настоящее изобретение применено к биотехнологии.
(Вариант осуществления 6)
Когда декодируются видеоданные, сформированные способом кодирования движущегося изображения или устройством кодирования движущегося изображения, описанными в каждом из вариантов осуществления, по сравнению с декодированием видеоданных, которые соответствуют традиционному стандарту, такому как MPEG 2, MPEG 4 AVC и VC 1, количество обработки, вероятно, увеличивается. Таким образом, схеме ex500 LSI нужна установка более высокой задающей частоты, чем в центральном процессоре ex502, для использования, когда декодируются видеоданные в соответствии с традиционным стандартом. Однако, когда задающая частота установлена более высокой, имеется проблема, которая увеличивает расход энергии.
Чтобы решить эту проблему, устройство декодирования движущегося изображения, такое как телевизор ex300 и схема ex500 LSI, выполнены с возможностью определять, которому стандарту соответствуют видеоданные, и выполнять переключение между задающими частотами в соответствии с определенным стандартом. Фиг.32 иллюстрирует конфигурацию ex800 в настоящем варианте осуществления. Блок ex803 переключения задающей частоты устанавливает задающую частоту равной более высокой задающей частоте, когда видеоданные сформированы способом кодирования движущегося изображения или устройством кодирования движущегося изображения, описанными в каждом из вариантов осуществления. Затем блок ex803 переключения задающей частоты дает команду блоку ex801 обработки декодирования, который исполняет способ декодирования движущегося изображения, описанный в каждом из вариантов осуществления, для декодирования видеоданных. Когда видеоданные соответствуют традиционному стандарту, блок ex803 переключения задающей частоты устанавливает задающую частоту равной более низкой задающей частоте, чем для видеоданных, сформированных способом кодирования движущегося изображения или устройством кодирования движущегося изображения, описанными в каждом из вариантов осуществления. Затем, блок ex803 переключения задающей частоты дает команду блоку ex802 обработки декодирования, который соответствует традиционному стандарту, для декодирования видеоданных.
Более определенно, блок ex803 переключения задающей частоты включает в себя центральный процессор ex502 и блок ex512 управления задающей частотой на Фиг.31. При этом каждый из блока ex801 обработки декодирования, который исполняет способ декодирования движущегося изображения, описанный в каждом из вариантов осуществления, и блока ex802 обработки декодирования, который соответствует традиционному стандарту, соответствует блоку ex507 обработки сигналов на Фиг.31. Центральный процессор 502 определяет, какому стандарту соответствуют видеоданные. Затем блок ex512 управления задающей частотой определяет задающую частоту на основе сигнала от центрального процессора ex502. Кроме того, блок ex507 обработки сигналов декодирует видеоданные на основе сигнала от центрального процессора ex502. Например, идентификационная информация, описанная в варианте осуществления 4, вероятно, используется для идентификации видеоданных. Идентификационная информация не ограничена описанием в варианте осуществления 4, а может быть представлять собой любую информацию, пока информация указывает, какому стандарту соответствуют видеоданные. Например, когда стандарт, которому соответствуют видеоданные, может быть определен на основе внешнего сигнала для определения, что видеоданные используются для телевидения или диска и т.д., определение может быть сделано на основе такого внешнего сигнала. Кроме того, центральный процессор ex502 выбирает задающую частоту, например, на основе таблицы поиска, в которой стандарты видеоданных соответствуют задающим частотам, как показано на Фиг.34. Задающая частота может быть выбрана посредством хранения таблицы поиска в буфере ex508 и во внутренней памяти схемы LSI и со ссылкой на таблицу поиска посредством центрального процессора ex502.
Фиг.33 иллюстрирует этапы выполнения способа в настоящем варианте осуществления. Сначала на этапе exS200 блок ex507 обработки сигналов получает идентификационную информацию из мультиплексированных данных. Затем на этапе exS201, центральный процессор ex502 определяет, сформированы ли видеоданные способом кодирования и устройством кодирования, описанными в каждом из вариантов осуществления, на основе идентификационной информации. Когда видеоданные сформированы способом кодирования движущегося изображения и устройством кодирования движущегося изображения, описанными в каждом из вариантов осуществления, на этапе exS202 центральный процессор ex502 передает сигнал для установки задающей частоты равной более высокой задающей частоте блоку ex512 управления задающей частотой. Затем блок ex512 управления задающей частотой устанавливает задающую частоту равной более высокой задающей частоте. С другой стороны, когда идентификационная информация указывает, что видеоданные соответствуют традиционному стандарту, такому как MPEG 2, MPEG 4 AVC и VC 1, на этапе exS203 центральный процессор ex502 передает сигнал для установки задающей частоты равной более низкой задающей частоте блоку ex512 управления задающей частотой. Затем блок ex512 управления задающей частотой устанавливает задающую частоту равной более низкой задающей частоте, чем в случае, когда видеоданные сформированы способом кодирования движущегося изображения и устройством кодирования движущегося изображения, описанными в каждом варианте осуществления.
Кроме того, наряду с переключением задающих частот, эффект экономии мощности может быть улучшен посредством изменения напряжения, которое будет приложено к схеме ex500 LSI или устройству, включающему в себя схему ex500 LSI. Например, когда задающая частота устанавливается ниже, напряжение, которое будет приложено к схеме ex500 LSI или устройству, включающему в себя схему ex500 LSI , вероятно, устанавливается равным более низкому напряжению, чем в случае, когда задающая частота устанавливается выше.
Кроме того, когда количество обработки для декодирования больше, задающая частота может быть установлена выше, и когда количество обработки для декодировать меньше, задающая частота может быть установлена ниже, как в способе для установки задающей частоты. Таким образом, способ установки не ограничен описанными выше. Например, когда количество обработки для декодирования видеоданные в соответствии со стандартом MPEG-4 AVC больше, чем количество обработки для декодирования видеоданных, сформированных способом кодирования движущегося изображения и устройством кодирования движущегося изображения, описанными в каждом из вариантов осуществления, задающая частота, вероятно, устанавливается в обратном порядке по отношению к описанной выше установке.
Кроме того, способ установки задающей частоты не ограничен способом установки более низкой задающей частоты. Например, когда идентификационная информация указывает, что видеоданные сформированы способом кодирования движущегося изображения и устройством кодирования движущегося изображения, описанными в каждом из вариантов осуществления, напряжение, которое будет приложено к схеме ex500 LSI или устройству, включающему в себя схему ex500 LSI , вероятно, устанавливается более высоким. Когда идентификационная информация указывает, что видеоданные соответствуют традиционному стандарту, такому как MPEG 2, MPEG 4 AVC и VC 1, напряжение, которое будет приложено к схеме ex500 LSI или устройству, включающему в себя схему ex500 LSI, вероятно, устанавливается более низким. В качестве другого примера, когда идентификационная информация указывает, что видеоданные сформированы способом кодирования движущегося изображения и устройством кодирования движущегося изображения, описанными в каждом из вариантов осуществления, работа центрального процессора ex502, вероятно, не должна приостанавливаться. Когда идентификационная информация указывает, что видеоданные соответствуют традиционному стандарту, такому как MPEG 2, MPEG 4 AVC и VC 1, работа центрального процессора ex502, вероятно, приостанавливается в заданное время, поскольку центральный процессор ex502 имеет дополнительную емкость обработки. Даже когда идентификационная информация указывает, что видеоданные сформированы способом кодирования движущегося изображения и устройством кодирования движущегося изображения, описанными в каждом из вариантов осуществления, в случае, когда центральный процессор ex502 имеет дополнительную емкость обработки, работа центрального процессора ex502, вероятно, приостанавливается в заданное время. В таком случае время приостановки, вероятно, устанавливается более коротким, чем в случае, когда идентификационная информация указывает, что видеоданные соответствуют традиционному стандарту, такому как MPEG 2, MPEG 4 AVC и VC 1.
В соответствии с этим, эффект экономии мощности может быть улучшен посредством переключения между задающими частотами в соответствии со стандартом, которому соответствуют видеоданные. Кроме того, когда схема ex500 LSI или устройство, включающее в себя схему ex500 LSI, управляется с использованием батареи, время работы от батареи может быть увеличено с помощью эффекта экономии мощности.
(Вариант осуществления 7)
Имеются случаи, в которых множество видеоданных, которые соответствуют различным стандартам, выдается устройствам и системам, таким как телевизор и сотовый телефон. Чтобы обеспечить возможность декодировать множество видеоданных, которые соответствуют различным стандартам, блок ex507 обработки сигналов схемы ex500 LSI должен соответствовать различным стандартам. Однако проблемы увеличения масштаба схемы ex500 LSI и увеличения затрат возникают с отдельным использованием блоков ex507 обработки сигналов, которые удовлетворяют соответствующим стандартам.
Чтобы решить эту проблему, разработана конфигурация, в которой блок обработки декодирования для реализации способа декодирования движущегося изображения, описанный в каждом из вариантов осуществления, и блок обработки декодирования, который соответствует традиционному стандарту, такому как MPEG 2, MPEG 4 AVC и VC 1, частично распределены. Номер ex900 на Фиг.35A показывает пример конфигурации. Например, способ декодирования движущегося изображения, описанный в каждом из вариантов осуществления, и способ декодирования движущегося изображения, который соответствует стандарту MPEG-4 AVC, имеют частично общие детали обработки, такие как статистическое кодирование, обратное квантование, фильтрация удаления блочности и предсказание с компенсацией движения. Детали обработки, которые будут распределены, вероятно, включают в себя использование блока ex902 обработки декодирования, который соответствует формату MPEG-4 AVC. Напротив, специализированный блок ex901 обработки декодирования, вероятно, используется для другой обработки, уникальной для аспекта настоящего изобретения. Поскольку аспект настоящего изобретения отличается статистическим декодированием, в частности, например, специализированный блок ex901 обработки декодирования используется для статистического декодирования. В ином случае блок обработки декодирования, вероятно, совместно используется для одного действия из фильтрации удаления блочности, компенсации движения и обратного квантования или для всей обработки. Блок обработки декодирования для реализации способа декодирования движущегося изображения, описанного в каждом из вариантов осуществления, может совместно использоваться для обработки, которая будет распределена, и специализированный блок обработки декодирования может использоваться для обработки, уникальной для стандарта MPEG-4 AVC.
Кроме того, номер ex1000 на Фиг.35B показывает другой пример, в котором обработка частично распределена. Этот пример использует конфигурацию, включающую в себя специализированный блок ex1001 обработки декодирования, который поддерживает обработку, уникальную для аспекта настоящего изобретения, специализированный блок ex1002 обработки декодирования, который поддерживает обработку, уникальную для другого традиционного стандарта, и блок ex1003 обработки декодирования, который поддерживает обработку, которая будет распределена между способом декодирования движущегося изображения в соответствии с аспектом настоящего изобретения и традиционным способом декодирования движущегося изображения. При этом специализированные блоки ex1001 и ex1002 обработки декодирования не обязательно специализированы для обработки в соответствии с аспектом настоящего изобретения и обработки традиционного стандарта, соответственно, а могут быть способными к реализации общей обработки. Кроме того, конфигурация настоящего варианта осуществления может быть реализована посредством схемы ex500 LSI.
Таким образом, сокращение масштаба схемы LSI и сокращение затрат возможны посредством совместного использования блока обработки декодирования для обработки, которая будет распределена между способом декодирования движущегося изображения в соответствии с аспектом настоящего изобретения и способом декодирования движущегося изображения в соответствии с традиционным стандартом.
Промышленная применимость
Устройство кодирования изображения и устройство декодирования изображения в соответствии с аспектом настоящего изобретения применимы, например, к телевизорам, цифровым видеомагнитофонам, автомобильным навигационным системам, мобильным телефонам, цифровым фотоаппаратам или цифровым видеокамерам.
Список обозначений
100, 200, 1000 Устройства декодирования изображения
101, 1001 Первый блок декодирования
102, 1002 Второй блок декодирования
103, 1003 Блок управления декодированием
104, 1004 Блок восстановления
110 Блок арифметического декодирования
210 Блок энтропийного декодирования
220, 430 Блок обратного квантования и обратного преобразования
225, 435 Сумматор
230, 440 Фильтр удаления блочности
240, 450 Память
250, 460 Блок внутреннего предсказания
260, 480 Блок компенсации движения
270, 490 Переключатель внутреннего/внешнего режима
300, 400 Устройство кодирования изображения
310 Блок преобразования в двоичную форму
320 Блок арифметического кодирования
321 Первый блок кодирования
322 Второй блок кодирования
323 Блок управления кодированием
405 Блок вычитания
410 Блок преобразования и квантования
420 Блок энтропийного кодирования
470 Блок оценки движения