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

ОБЛАСТЬ ТЕХНИКИ
Настоящее изобретение имеет отношение к способам кодирования изображений и способам декодирования изображений для выполнения арифметического кодирования и арифметического декодирования, соответственно.
УРОВЕНЬ ТЕХНИКИ
В последние годы наблюдается значительное техническое развитие устройств цифрового видео и требований для кодирования со сжатием видеосигнала (множества графических изображений, упорядоченных во временной последовательности). Такой кодированный со сжатием видеосигнал, например, записывается на носитель записи, такой как DVD и жесткий диск, и распространяется по сети. H.264/AVC (MPEG-4 AVC) является одним из стандартов кодирования изображений, а в настоящее время обсуждается, в качестве стандарта следующего поколения, стандарт Высокоэффективное Кодирование Видео (HEVC - High Efficiency Video coding) (Непатентная Литература 1).
Стандарт HEVC на сегодня охватывает этап предсказания изображения, которое должно быть кодировано, этап вычисления остатка между целевым изображением кодирования и изображением предсказания, этап преобразования остаточного изображения в частотные коэффициенты, и этап выполнения арифметического кодирования в отношении этих частотных коэффициентов. На этапе арифметического кодирования, контекстно-адаптивное арифметическое кодирование выполняется в отношении составляющих (коэффициентов), включенных в целевой блок кодирования, в порядке от самых высокочастотных составляющих к низкочастотным составляющим.
СПИСОК ССЫЛОК
НЕПАТЕНТНАЯ ЛИТЕРАТУРА 1
Объединенная команда по видеокодированию (JCT-VC - Joint Co11aborative Team on Video Coding) ITU-T SG16 WP3 и ISO/IEC JTC1/SC29/WG11, 6-е заседание: Torino, IT, 14-22 июля 2011 года, JCTVC-F803_d0, Заголовок: WD4: Рабочий Проект 4 Высокоэффективного Видеокодирования. http://phenix.it-sudparis.eu/jct/doc_end_user/documents/6_Torino/wg11/JCTVC-F803-v2.zip
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
ТЕХНИЧЕСКАЯ ПРОБЛЕМА
Однако, в традиционном контекстно-адаптивном арифметическом кодировании, иногда требуется большая величина нагрузки для выбора контекстов для кодирования целевых коэффициентов кодирования.
Ввиду этого, настоящее изобретение предоставляет способ кодирования изображений, который позволяет снизить величину нагрузки, необходимой для выбора контекстов для кодирования целевых коэффициентов кодирования.
РЕШЕНИЕ ПРОБЛЕМЫ
Способ кодирования изображений в соответствии с одним из аспектов настоящего изобретения представляет собой способ кодирования изображений для поблочного кодирования изображений, и включает в себя этапы, на которых: выбирают, для каждого из множества подблоков, включенных в целевой блок кодирования, и каждый из которых включает в себя множество коэффициентов, контекст для выполнения арифметического кодирования в отношении параметра, указывающего целевой коэффициент кодирования, включенный в подблок, из набора контекстов, соответствующего этому подблоку, основываясь на по меньшей мере одном опорном коэффициенте, находящемся вблизи целевого коэффициента кодирования, при этом целевой блок кодирования является единицей преобразования; и выполняют арифметическое кодирование в отношении параметра, указывающего целевой коэффициент кодирования, используя вероятностную информацию о выбранном контексте, причем, при выборе, контекст выбирается из набора контекстов, при этом набор контекстов соответствует сумме (i) значения, указывающего позицию в горизонтальном направлении подблока в целевом блоке кодирования, и (ii) значения, указывающего позицию в вертикальном направлении подблока в целевом блоке кодирования.
Эти общие и конкретные аспекты могут быть реализованы с использованием системы, устройства, интегральной схемы, компьютерной программы, или считываемого компьютером носителя записи, такого, как CD-ROM, или любой комбинации систем, способов, интегральных схем, компьютерных программ, или считываемых компьютером носителей записи.
ВЫГОДНЫЕ ЭФФЕКТЫ ИЗОБРЕТЕНИЯ
Способ кодирования изображений в соответствии с одним из аспектов настоящего изобретения позволяет снизить нагрузку выбора контекстов для кодирования целевых коэффициентов кодирования при контекстно-адаптивном арифметическом кодировании.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 является графическим представлением для демонстрации схемы выбора контекста для арифметического кодирования (параметра) significant_flag в рамках лежащего в основе знания, формирующего базис настоящего изобретения.
Фиг. 2 является графическим представлением, показывающим порядок кодирования коэффициентов, включенных в целевой блок кодирования, в рамках лежащего в основе знания, формирующего базис настоящего изобретения.
Фиг. 3A является графическим представлением для демонстрации набора контекстов для одного из коэффициентов, включенных в подблок, в рамках лежащего в основе знания, формирующего базис настоящего изобретения.
Фиг. 3B является графическим представлением для демонстрации набора контекстов для еще одного из коэффициентов, включенных в подблок, в рамках лежащего в основе знания, формирующего базис настоящего изобретения.
Фиг. 4 является структурной схемой, показывающей структуру устройства кодирования изображений в Варианте 1 осуществления.
Фиг. 5 является блок-схемой последовательности операций способа, показывающей рабочий процесс обработки, выполняемый устройством кодирования изображений, в Варианте 1 осуществления.
Фиг. 6 является структурной схемой, показывающей внутреннюю структуру устройства кодирования с переменной длиной кода (переменной длины) в Варианте 1 осуществления.
Фиг. 7 является блок-схемой последовательности операций способа, показывающей рабочий процесс обработки, выполняемый устройством кодирования с переменной длиной кода в Варианте 1 осуществления.
Фиг. 8 является структурной схемой, показывающей внутреннюю структуру устройства кодирования significant_flag в Варианте 1 осуществления.
Фиг. 9 является блок-схемой последовательности операций способа, показывающей рабочий процесс обработки, выполняемый устройством кодирования significant_flag, в Варианте 1 осуществления.
Фиг. 10A является графическим представлением, показывающим пример результата группировки в случае блока кодирования размером 16×16 пикселей в Варианте 1 осуществления.
Фиг. 10B является графическим представлением, показывающим пример результата группировки в случае блока кодирования размером 32×32 пикселей в Варианте 1 осуществления.
Фиг. 11A является графическим представлением для демонстрации набора контекстов для одного из коэффициентов, включенных в блок коэффициентов в Варианте 1 осуществления.
Фиг. 11B является графическим представлением для демонстрации набора контекстов для еще одного из коэффициентов, включенных в блок коэффициентов в Варианте 1 осуществления.
Фиг. 12 является структурной схемой, показывающей структуру устройства декодирования изображений в Варианте 2 осуществления.
Фиг. 13 является блок-схемой последовательности операций способа, показывающей рабочий процесс обработки, выполняемый устройством декодирования изображений, в Варианте 2 осуществления.
Фиг. 14 является структурной схемой, показывающей внутреннюю структуру устройства декодирования (декодера) с переменной длиной кода (переменной длины) в Варианте 2 осуществления.
Фиг. 15 является блок-схемой последовательности операций способа, показывающей рабочий процесс обработки, выполняемый устройством декодирования с переменной длиной кода, в Варианте 2 осуществления.
Фиг. 16 является структурной схемой, показывающей внутреннюю структуру устройства декодирования significant_flag в Варианте 2 осуществления.
Фиг. 17 является блок-схемой последовательности операций способа, показывающей рабочий процесс обработки, выполняемый устройством декодирования significant_flag, в Варианте 2 осуществления.
Фиг. 18 является структурной схемой, показывающей структуру устройства кодирования изображений в Разновидности Варианта 1 осуществления.
Фиг. 19 является блок-схемой последовательности операций способа, показывающей рабочий процесс обработки, выполняемый устройством кодирования изображений, в Разновидности Варианта 1 осуществления.
Фиг. 20 является структурной схемой, показывающей структуру устройства декодирования изображений в Разновидности Варианта 2 осуществления.
Фиг. 21 является блок-схемой последовательности операций способа, показывающей рабочий процесс обработки, выполняемый устройством декодирования изображений, в Разновидности Варианта 2 осуществления.
Фиг. 22 показывает общую конфигурацию системы предоставления контента для реализации услуг распространения контента.
Фиг. 23 показывает общую конфигурацию системы цифрового вещания.
Фиг. 24 показывает структурную схему, демонстрирующую пример конфигурации телевизионного приемника.
Фиг. 25 показывает структурную схему, демонстрирующую пример конфигурации модуля воспроизведения/записи информации, который читает и записывает информацию с носителя записи и на него, причем носитель информации является оптическим диском.
Фиг. 26 показывает пример конфигурации носителя записи, который является оптическим диском.
Фиг. 27A показывает пример сотового телефона.
Фиг. 27B является структурной схемой, показывающей пример конфигурации сотового телефона.
Фиг. 28 демонстрирует структуру мультиплексированных данных.
Фиг. 29 схематично показывает, как каждый поток мультиплексируется в мультиплексированных данных.
Фиг. 30 более подробно показывает, как видеопоток сохраняется в потоке PES-пакетов.
Фиг. 31 показывает структуру TS-пакетов и исходных пакетов в мультиплексированных данных.
Фиг. 32 показывает структуру данных PMT.
Фиг. 33 демонстрирует внутреннюю структуру мультиплексированных данных.
Фиг. 34 показывает внутреннюю структуру информации потоковых атрибутов.
Фиг. 35 показывает этапы для идентификации видеоданных.
Фиг. 36 показывает пример конфигурации интегральной схемы для реализации способа кодирования движущегося графического изображения и способа декодирования движущегося графического изображения согласно каждому из вариантов осуществления.
Фиг. 37 показывает конфигурацию для переключения между частотами возбуждения.
Фиг. 38 показывает этапы для идентификации видеоданных и переключения между частотами возбуждения.
Фиг. 39 показывает пример справочной таблицы, в которой стандарты видеоданных связаны с частотами возбуждения.
Фиг. 40A является графическим представлением, показывающим пример конфигурации для совместного использования функционального блока модуля обработки сигналов.
Фиг. 40B является графическим представлением, показывающим другой пример конфигурации для совместного использования функционального блока модуля обработки сигналов.
ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
(Лежащее в основе знание, формирующее базис настоящего раскрытия)
Контекст для выполнения арифметического кодирования в отношении каждого из целевых коэффициентов кодирования выбирается согласно кодированному коэффициенту вблизи целевого коэффициента кодирования. Целевой коэффициент кодирования подвергается арифметическому кодированию с использованием вероятности появления символа, соответствующей выбранному контексту.
В случае естественного изображения, более низкочастотная составляющая имеет большее значение коэффициента. Поэтому возможно смещение вероятности появления символа за счет выбора контекста с опорой на кодированный соседствующий коэффициент (коэффициент более высокой частотной составляющей, чем частотная составляющая, имеющая целевой коэффициент кодирования). Например, когда значение кодированного соседствующего коэффициента является большим, весьма вероятно, что значение целевого коэффициента кодирования тоже является большим. Поэтому можно уменьшить количество битов, которые должны быть сгенерированы с использованием контекста для большого значения, для использования в арифметическом кодировании целевого коэффициента кодирования, когда значение кодированного соседствующего коэффициента является большим.
Помимо этого, множество коэффициентов в целевом блоке кодирования разделяется на группы в зависимости от их частотных составляющих. Для соответствующих групп используются свои наборы контекстов. Другими словами, каждый из коэффициентов подвергается арифметическому кодированию с использованием контекста, выбранного из набора контекстов, соответствующего группе, к которой принадлежит этот коэффициент. В случае естественного изображения, большие коэффициенты присутствуют в низкочастотной области, а малые коэффициенты присутствуют в высокочастотной области. Поэтому можно уменьшить количество битов, которые должны быть сгенерированы, избирательно используя наборы контекстов, определенные по-разному для коэффициентов в низкочастотной области и для коэффициентов в высокочастотной области.
В стандарте HEVC, коэффициенты представлены в виде множества параметров (таких, как significant_flag и greater1_flag). Фиг. 1 является графическим представлением для демонстрации схемы выбора контекста для арифметического кодирования significant_flag.
На Фиг. 1, целевой блок кодирования включает в себя 16×16 пикселей. Каждый из пикселей имеет коэффициент. Пиксель, находящийся ближе к верхней левой части, имеет более низкую частотную составляющую, а пиксель, находящийся ближе к нижней правой части, имеет более высокую частотную составляющую.
Помимо этого, каждый из пикселей принадлежит к группе A или к группе B. На Фиг. 1, группой A является группа, к которой принадлежат пиксели без штриховки. Группой B является группа, к которой принадлежат пиксели со штриховкой.
Контекст для выполнения арифметического кодирования в отношении significant_flag, представляющем коэффициент каждого пикселя, выбирается из набора контекстов, соответствующего группе, к которой принадлежит этот пиксель. Например, контекст для significant_flag пикселя, находящегося в верхнем левом краю, выбирается из набора A контекстов, соответствующего группе A. С другой стороны, например, контекст для significant_flag пикселя, находящегося в нижнем правом краю, выбирается из набора B контекстов, соответствующего группе B.
На данный момент, контекст выбирается из набора контекстов, основываясь на коэффициенте опорного пикселя (опорный коэффициент), находящегося вблизи целевого пикселя кодирования (целевой коэффициент кодирования). На Фиг. 1, контекст, выбранный из набора контекстов, определяется с использованием в общей сложности пяти опорных коэффициентов, которые представляют собой два коэффициента, находящиеся справа от целевого коэффициента кодирования, два коэффициента, находящиеся ниже целевого коэффициента кодирования, и один коэффициент, находящийся снизу справа от целевого коэффициента кодирования.
Как показано на Фиг. 1, множество пикселей разделено на группы. Таким образом, как описано выше, использование опорного коэффициента вблизи целевого коэффициента кодирования позволяет выбирать контексты, воспользовавшись той особенностью, что коэффициенты смещены в зависимости от частотных коэффициентов, и тем самым повысить эффективность кодирования.
Фиг. 2 показывает порядок кодирования коэффициентов, включенных в целевой блок кодирования. На Фиг. 2, целевой блок кодирования размером 16×16 пикселей разделяется на множество подблоков размером 4×4 пикселя, обведенных жирными линиями. Числа, показанные в соответственных подблоках, представляют порядок кодирования. Другими словами, множество коэффициентов, включенных в целевой блок кодирования, кодируются по подблокам в порядке, показанном пунктирными стрелками. Помимо этого, коэффициенты, включенные в каждый из подблоков, кодируются в таком порядке, как показано стрелками, имеющимися в тринадцатом подблоке.
Каждая из Фиг. 3A и Фиг. 3B является графическим представлением для демонстрации набора контекстов для разных коэффициентов, включенных в подблок, находящийся в верхнем левом краю. Целевой коэффициент кодирования на Фиг. 3A и целевой коэффициент кодирования на Фиг. 3B включены в этот подблок, но принадлежат разным группам. Другими словами, контекст для выполнения арифметического кодирования в отношении целевого коэффициента кодирования на Фиг. 3A и контекст для выполнения арифметического кодирования в отношении целевого коэффициента кодирования на Фиг. 3B выбираются из разных наборов контекстов.
Другими словами, как показано на Фиг. 1, когда множество пикселей (множество коэффициентов) разделено на группы, переключение между наборами контекстов производится в подблоке. В этом случае, например, имеется необходимость определить одну из групп, к которой принадлежит коэффициент, для каждого из коэффициентов в подблоке. Таким образом, нагрузка для выбора контекста увеличивается.
Ввиду этого, способ кодирования изображений в соответствии с одним из аспектов настоящего изобретения представляет собой способ кодирования изображений для поблочного кодирования изображений и включает в себя этапы, на которых: выбирают, для каждого из множества подблоков, включенных в целевой блок кодирования, и каждый из которых включает в себя множество коэффициентов, контекст для выполнения арифметического кодирования в отношении параметра, указывающего целевой коэффициент кодирования, включенный в подблок, из набора контекстов, соответствующего этому подблоку, основываясь на по меньшей мере одном опорном коэффициенте, находящемся вблизи целевого коэффициента кодирования, при этом целевой блок кодирования является единицей преобразования; и выполняют арифметическое кодирование в отношении параметра, указывающего целевой коэффициент кодирования, используя вероятностную информацию о выбранном контексте, в котором, при выборе, контекст выбирается из набора контекстов, причем набор контекстов соответствует сумме (i) значения, указывающего позицию в горизонтальном направлении подблока в целевом блоке кодирования, и (ii) значения, указывающего позицию в вертикальном направлении подблока в целевом блоке кодирования.
Согласно этому способу, можно выбирать контекст из набора контекстов, соответствующего подблоку. Соответственно, можно предотвратить появление переключения между наборами контекстов в подблоке, и тем самым снизить нагрузку для выбора контекста.
Кроме того, согласно этому способу, можно выбирать контекст из набора контекстов в соответствии с суммой значений, указывающих позицию в горизонтальном направлении и позицию в вертикальном направлении подблока в целевом блоке кодирования. Соответственно, можно использовать набор контекстов, адаптированный к колебанию коэффициентов в зависимости от частотных составляющих, и тем самым подавить уменьшение эффективности кодирования за счет использования набора контекстов, соответствующего подблоку.
Например, при выборе, когда расстояние по горизонтали и расстояние по вертикали от позиции верхнего левого коэффициента в целевом блоке кодирования до позиции целевого коэффициента кодирования обозначены как H и V, соответственно, и когда каждый из подблоков имеет размер, обозначенный как α, в вертикальном направлении и в горизонтальном направлении, "целая часть от (H/α) + целая часть от (V/α)" может вычисляться в качестве этой суммы.
Согласно этому способу, легко можно вычислить сумму значений, указывающих позицию в горизонтальном направлении и позицию в вертикальном направлении подблока в целевом блоке кодирования.
Например, при выборе, когда сумма меньше или равна пороговому значению, контекст выбирается из первого набора контекстов; а когда сумма больше порогового значения, контекст может выбираться из второго набора контекстов, отличающегося от первого набора контекстов.
Согласно этому способу, можно выбирать контекст из первого набора контекстов, когда сумма меньше или равна пороговому значению, и выбирать контекст из второго набора контекстов, когда сумма больше порогового значения. Соответственно, основываясь на результате сравнения между суммой и пороговым значением, легко можно произвести переключение между наборами контекстов среди подблоков.
Например, при выборе, пороговое значение может увеличиваться с увеличением размера целевого блока кодирования.
Согласно этому способу, пороговое значение увеличивается с увеличением размера целевого блока кодирования. Соответственно, если колебание коэффициентов отличается в зависимости от размера целевого блока кодирования, можно выбирать контекст из одного подходящего из наборов контекстов.
Например, по меньшей мере одним опорным коэффициентом может быть коэффициент частотной составляющей выше, чем частотная составляющая, имеющая целевой коэффициент кодирования.
Согласно этому способу, можно использовать, в качестве опорного коэффициента, коэффициент частотной составляющей выше, чем коэффициент, имеющий целевой коэффициент кодирования. В случае естественного изображения, весьма вероятно, что коэффициенты низкочастотных составляющих являются большими по значению, чем коэффициенты высокочастотных составляющих. Соответственно, можно выбирать подходящий контекст, воспользовавшись этой особенностью естественного изображения, используя, в качестве опорного коэффициента, коэффициент частотной составляющей выше, чем коэффициент, имеющий целевой коэффициент кодирования.
Например, параметром, указывающим целевой коэффициент кодирования, может быть флаг, указывающий, является целевой коэффициент кодирования равным 0 или нет.
Согласно этому способу, можно кодировать флаг, указывающий, является ли целевой коэффициент кодирования равным 0 или нет, в качестве параметра, указывающего целевой коэффициент кодирования. Этот флаг является параметром, имеющим высокую частоту появления, и поэтому оказывает большое влияние на эффективность кодирования. Кроме того, этот флаг отличается от параметра с ограниченным количеством появлений в подблоке, и, следовательно, нет колебания значения коэффициента в зависимости от подблока. Тем не менее, при кодировании такого флага можно к тому же подавить уменьшение эффективности кодирования, выбирая контекст из набора контекстов, соответствующего подблоку.
Например, упомянутым по меньшей мере одним опорным коэффициентом может быть множество опорных коэффициентов, и контекст, выбранный при выборе, может соответствовать количеству опорных коэффициентов, имеющих ненулевое значение, среди множества опорных коэффициентов.
Согласно этому способу, можно выбирать контекст, используя количество опорных коэффициентов, имеющих ненулевые значения, из множества опорных коэффициентов. Соответственно, можно выбирать подходящий контекст, основываясь на опорных коэффициентах.
Например, способ кодирования изображений может дополнительно включать в себя этапы, на которых: производят переключение между первым процессом кодирования, согласующимся с первым стандартом, и вторым процессом кодирования, согласующимся со вторым стандартом; добавляют, к потоку битов, идентификационную информацию, указывающую тот из первого стандарта и второго стандарта, который поддерживает тот из первого процесса кодирования и второго процесса кодирования, на который произведено переключение; и когда произведено переключение на первый процесс кодирования, выполняются выбор и арифметическое кодирование, в качестве первого процесса кодирования.
Согласно этому способу, можно произвести переключение между первым процессом кодирования, согласующимся с первым стандартом, и вторым процессом кодирования, согласующимся со вторым стандартом.
Кроме того, способ декодирования изображения в соответствии с одним из аспектов настоящего изобретения представляет собой способ декодирования изображения для декодирования поблочно кодированного изображения и включает в себя этапы, на которых: выбирают, для каждого из множества подблоков, включенных в целевой блок декодирования, и каждый из которых включает в себя множество коэффициентов, контекст для выполнения арифметического декодирования в отношении параметра, указывающего целевой коэффициент декодирования, включенный в подблок, из набора контекстов, соответствующего этому подблоку, основываясь на по меньшей мере одном опорном коэффициенте, находящемся вблизи целевого коэффициента декодирования, при этом целевой блок декодирования является единицей преобразования; и выполняют арифметическое декодирование в отношении параметра, указывающего целевой коэффициент декодирования, используя вероятностную информацию о выбранном контексте, причем, при выборе, контекст выбирается из набора контекстов, при этом набор контекстов соответствует сумме (i) значения, указывающего позицию в горизонтальном направлении подблока в целевом блоке декодирования, и (ii) значения, указывающего позицию в вертикальном направлении подблока в целевом блоке декодирования.
Согласно этому способу, можно выбирать контекст из набора контекстов, соответствующего подблоку. Соответственно, можно предотвратить появление переключения между наборами контекстов в подблоке, и тем самым снизить нагрузку для выбора контекста.
Кроме того, согласно этому способу, можно выбирать контекст из набора контекстов в соответствии с суммой значений, указывающих позицию в горизонтальном направлении и позицию в вертикальном направлении подблока в целевом блоке декодирования. Соответственно, можно использовать набор контекстов, адаптированный к колебанию коэффициентов в зависимости от частотных составляющих, и, следовательно, должным образом декодировать битовый поток с менее сниженной эффективностью кодирования за счет использования набора контекстов, соответствующего подблоку.
Например, при выборе, когда расстояние по горизонтали и расстояние по вертикали от позиции верхнего левого коэффициента в целевом блоке декодирования до позиции целевого коэффициента декодирования обозначены как H и V, соответственно, и когда каждый из подблоков имеет размер, обозначенный как α, в вертикальном направлении и в горизонтальном направлении, "целая часть от (H/α) + целая часть от (V/α)" может вычисляться в качестве этой суммы.
Согласно этому способу, легко можно вычислить сумму значений, указывающих позицию в горизонтальном направлении и позицию в вертикальном направлении подблока в целевом блоке декодирования.
Например, при выборе, когда сумма меньше или равна пороговому значению, контекст выбирается из первого набора контекстов; а когда сумма больше порогового значения, контекст может выбираться из второго набора контекстов, отличающегося от первого набора контекстов.
Согласно этому способу, можно выбирать контекст из первого набора контекстов, когда сумма меньше или равна пороговому значению, и выбирать контекст из второго набора контекстов, когда сумма больше порогового значения. Соответственно, основываясь на результате сравнения между суммой и пороговым значением, легко можно произвести переключение между наборами контекстов среди подблоков.
Например, при выборе, пороговое значение может увеличиваться с увеличением размера целевого блока декодирования.
Согласно этому способу, пороговое значение увеличивается с увеличением размера целевого блока декодирования. Соответственно, если колебание коэффициентов отличается в зависимости от размера целевого блока декодирования, можно выбирать контекст из одного подходящего из наборов контекстов.
Например, упомянутым по меньшей мере одним опорным коэффициентом может быть коэффициент частотной составляющей выше, чем частотная составляющая, имеющая целевой коэффициент декодирования.
Согласно этому способу, можно использовать, в качестве опорного коэффициента, коэффициент частотной составляющей выше, чем частотная составляющая, имеющая целевой коэффициент декодирования. В случае естественного изображения, весьма вероятно, что коэффициенты низкочастотных составляющих являются большими по значению, чем коэффициенты высокочастотных составляющих. Соответственно, можно выбирать подходящий контекст, воспользовавшись этой особенностью естественного изображения, используя, в качестве опорного коэффициента, коэффициент частотной составляющей выше, чем частотная составляющая, имеющая целевой коэффициент декодирования.
Например, параметром, указывающим целевой коэффициент декодирования, может быть флаг, указывающий, является ли целевой коэффициент декодирования равным 0 или нет.
Согласно этому способу, можно декодировать флаг, указывающий, является ли целевой коэффициент декодирования равным 0 или нет, в качестве параметра, указывающего целевой коэффициент декодирования. Этот флаг является параметром, имеющим высокую частоту появления, и поэтому оказывает большое влияние на эффективность кодирования. Кроме того, этот флаг отличается от параметра с ограниченным количеством появлений в подблоке, и, следовательно, нет колебания значения коэффициента в зависимости от подблока. Тем не менее, при кодировании такого флага можно к тому же подавить уменьшение эффективности кодирования, выбирая контекст из набора контекстов, соответствующего подблоку.
Например, упомянутым по меньшей мере одним опорным коэффициентом может быть множество опорных коэффициентов, и контекст, выбранный при выборе, может соответствовать количеству опорных коэффициентов, имеющих ненулевое значение, среди множества опорных коэффициентов.
Согласно этому способу, можно выбирать контекст, используя количество опорных коэффициентов, имеющих ненулевые значения, из множества опорных коэффициентов. Соответственно, можно выбирать подходящий контекст, основываясь на опорных коэффициентах.
Например, способ декодирования изображений может дополнительно включать в себя этапы, на которых: производят переключение между первым процессом декодирования, согласующимся с первым стандартом, и вторым процессом декодирования, согласующимся со вторым стандартом, в соответствии с идентификационной информацией, указывающей первый стандарт или второй стандарт, и добавленной к битовому потоку; когда произведено переключение на первый процесс декодирования, выполняются выбор и арифметическое декодирование, в качестве первого процесса декодирования.
Согласно этому способу, можно произвести переключение между первым процессом декодирования, согласующимся с первым стандартом, и вторым процессом декодирования, согласующимся со вторым стандартом.
Эти общие и конкретные аспекты могут быть реализованы с использованием системы, устройства, интегральной схемы, компьютерной программы, или считываемого компьютером носителя записи, такого, как CD-ROM, или любой комбинации систем, способов, интегральных схем, компьютерных программ, или считываемых компьютером носителей записи.
В дальнейшем, подробно описываются варианты осуществления со ссылкой на чертежи.
Каждый из описываемых ниже иллюстративных вариантов осуществления показывает обобщенный или конкретный пример. Численные значения, формы, материалы, структурные элементы, расположение и соединение структурных элементов, этапы, порядок обработки этапов, и т.д., показанные в последующих иллюстративных вариантах осуществления, являются всего лишь примерами, и, следовательно, не ограничивают объем формулы изобретения. И поэтому, среди структурных элементов в последующих иллюстративных вариантах осуществления, структурные элементы, не перечисленные в любом из независимых пунктов формулы изобретения, определяющих основополагающую идею, описываются как произвольные структурные элементы.
ВАРИАНТ 1 ОСУЩЕСТВЛЕНИЯ
[ОБЩАЯ СТРУКТУРА]
Фиг. 4 является структурной схемой, показывающей структуру устройства 100 кодирования изображений в Варианте 1 осуществления. Устройство 100 кодирования изображений кодирует изображение поблочно. Устройство 100 кодирования изображений включает в себя модуль 101 генерирования блоков кодирования, модуль 102 предсказания, вычитающее устройство 103, модуль 104 преобразования, устройство 105 кодирования с переменной длиной кода, модуль 106 обратного преобразования, суммирующее устройство 107, и память 108 кадров.
Модуль 101 генерирования блоков кодирования делит входное изображение (входное графическое изображение) на множество блоков кодирования. Блок кодирования представляет собой, например, единицу (единицу преобразования), на основе которой выполняется частотное преобразование. Модуль преобразования имеет размер, меньший или равный единице кодирования. Модуль 101 генерирования блоков кодирования последовательно выводит множество блоков кодирования на модуль 102 предсказания и вычитающее устройство 103.
Модуль 102 предсказания генерирует изображение предсказания (блок предсказания) для каждого из блоков кодирования. Например, модуль 102 предсказания генерирует блок предсказания, используя внешнее (inter-) предсказание или внутреннее (intra-) предсказание.
Вычитающее устройство 103 вычитает изображение предсказания для блока кодирования из изображения блока кодирования, чтобы сгенерировать изображение ошибки предсказания (остаточный блок) для блока кодирования.
Модуль 104 преобразования выполняет частотное преобразование на остаточном блоке, чтобы сгенерировать множество частотных коэффициентов. Следует отметить, что модуль 104 преобразования производит квантование множества частотных коэффициентов по мере необходимости, чтобы сгенерировать множество квантованных коэффициентов. В дальнейшем, частотные коэффициенты и квантованные коэффициенты упоминаются просто как коэффициенты, не различая их.
Устройство 105 кодирования с переменной длиной кода выполняет кодирование с переменной длиной кода в отношении множества коэффициентов, сгенерированных модулем 104 преобразования. Кроме того, устройство 105 кодирования с переменной длиной кода выполняет кодирование с переменной длиной кода в отношении информации предсказания (например, информации вектора движения). Это устройство 105 кодирования с переменной длиной кода подробно описывается позже.
Модуль 106 обратного преобразования выполняет обратное преобразование в отношении множества коэффициентов для реконструкции остаточного блока.
Суммирующее устройство 107 суммирует изображение предсказания для блока кодирования и реконструированное изображение ошибки, чтобы сгенерировать декодированное изображение (декодированный блок) блока кодирования.
Память 108 кадров сохраняет такое декодированное изображение.
[РАБОЧИЙ ПРОЦЕСС (В ЦЕЛОМ)]
Далее приводится описание рабочего процесса обработки, выполняемого устройством 100 кодирования изображений, в описанной выше конфигурации. Фиг. 5 является блок-схемой последовательности операций способа, показывающей рабочий процесс обработки, выполняемый устройством 100 кодирования изображений, в Варианте 1 осуществления.
(ЭТАП S101)
Модуль 101 генерирования блоков кодирования делит входное изображение на множество блоков кодирования. Модуль 101 генерирования блоков кодирования последовательно выводит множество блоков кодирования на вычитающее устройство 103 и модуль 102 предсказания.
В данном случае, блок кодирования имеет переменный размер. Соответственно, модуль 101 генерирования блоков кодирования делит входное изображение на множество блоков кодирования, основываясь на особенностях изображения. Минимальный размер для блока кодирования, например, составляют размеры 4×4 пикселей по горизонтали и по вертикали. Максимальный размер для блока кодирования, например, составляют размеры 32×32 пикселей по горизонтали и по вертикали.
(ЭТАП S102)
Модуль 102 предсказания генерирует блок предсказания, основываясь на блоке кодирования и декодированном изображении, сохраненном в памяти 108 кадров.
(ЭТАП S103)
Вычитающее устройство 103 вычитает блок предсказания из входного изображения, чтобы сгенерировать остаточный блок.
(ЭТАП S104)
Модуль 104 преобразования преобразует остаточный блок во множество коэффициентов.
(ЭТАП S105)
Устройство 105 кодирования с переменной длиной кода выводит битовый поток, выполняя кодирование с переменной длиной кода в отношении множества коэффициентов.
(ЭТАП S106)
Модуль 106 обратного преобразования выполняет обратное преобразование в отношении множества коэффициентов для реконструкции остаточного блока.
(ЭТАП S107)
Суммирующее устройство 107 суммирует реконструированный остаточный блок и блок предсказания, чтобы сгенерировать декодированный блок. Кроме того, суммирующее устройство 107 сохраняет сгенерированный декодированный блок в память 108 кадров.
(ЭТАП S108)
Этапы с S102 по S107 повторяются до тех пор, пока все блоки кодирования во входном изображении не будут кодированы.
[СТРУКТУРА УСТРОЙСТВА КОДИРОВАНИЯ С ПЕРЕМЕННОЙ ДЛИНОЙ КОДА]
Фиг. 6 является структурной схемой, показывающей внутреннюю структуру устройства 105 кодирования с переменной длиной кода в Варианте 1 осуществления. В этом варианте осуществления, устройство 105 кодирования с переменной длиной кода выполняет кодирование с использованием по меньшей мере одного из следующих пяти параметров: significant_flag, greater1_flag, greater2_flag, level_minus3, и sign_flag. Устройство 105 кодирования с переменной длиной кода включает в себя модуль 111 генерирования блока коэффициентов, устройство 112 кодирования significant_flag, устройство 113 кодирования greater1_flag, устройство 114 кодирования greater2_flag, устройство 115 кодирования level_minus3, и устройство 116 кодирования sign_flag.
Модуль 111 генерирования блока коэффициентов делит блок кодирования на множество блоков коэффициентов. Блок коэффициентов является примером подблока. В этом варианте осуществления, модуль 111 генерирования блока коэффициентов делит блок кодирования на множество блоков коэффициентов размером 4×4 пикселей. Другими словами, в этом варианте осуществления, каждый из блоков коэффициентов включает в себя шестнадцать коэффициентов.
Устройство 112 кодирования significant_flag кодирует significant_flag. Параметр significant_flag является флагом, указывающим, является ли коэффициент равным "0" или нет. Когда значение significant_flag равно "0", показано, что коэффициент равен "0". Когда значение significant_flag равно "1", показано, что коэффициент не равен "0". Устройство 112 кодирования significant_flag подробно описывается позже.
Устройство 113 кодирования greater1_flag кодирует greater1_flag только тогда, когда significant_flag указывает "1" (только, когда коэффициент не равен "0"). greater1_flag является флагом, указывающим, является ли абсолютное значение коэффициента большим, чем 1, или нет. Когда значение greater1_flag равно "0", показано, что абсолютное значение коэффициента равно "1". С другой стороны, когда значение greater1_flag равно "1", показано, что абсолютное значение коэффициента равно "2" или больше.
Устройство 114 кодирования greater2_flag кодирует greater2_flag только тогда, когда greater1_flag указывает "1" (только, когда абсолютное значение коэффициента равно "2" или больше). greater2_flag является флагом, указывающим, является ли абсолютное значение коэффициента большим, чем 2, или нет. Когда значение greater2_flag равно "0", показано, что абсолютное значение коэффициента равно "2". С другой стороны, когда значение greater2_flag равно "1", показано, что абсолютное значение коэффициента равно "3" или больше.
Устройство 115 кодирования level_minus3 кодирует level_minus3 только тогда, когда greater2_flag указывает "1" (только, когда абсолютное значение коэффициента равно 3 или больше). level_minus3 указывает значение, полученное путем вычитания "3" из абсолютного значения коэффициента.
Устройство 116 кодирования sign_flag кодирует sign_flag только тогда, significant_flag указывает "1" (только, когда коэффициент не равен "0"). sign_flag является флагом, указывающим, является ли коэффициент отрицательным значением или нет. Когда значение sign_flag равно "0", показано, что коэффициент является положительным значением. Когда значение sign_flag равно "1", показано, что коэффициент является отрицательным значением.
[РАБОЧИЙ ПРОЦЕСС (КОДИРОВАНИЕ С ПЕРЕМЕННОЙ ДЛИНОЙ КОДА)]
Далее приводится описание рабочего процесса обработки, выполняемого устройством 105 кодирования с переменной длиной кода (переменной длины), в описанной выше конфигурации. Фиг. 7 является блок-схемой последовательности операций способа, показывающей рабочий процесс обработки, выполняемый устройством 105 кодирования с переменной длиной кода в Варианте 1 осуществления.
(ЭТАП S111)
Модуль 111 генерирования блока коэффициентов делит блок кодирования на блоки коэффициентов размером 4×4 пикселей. Например, в случае блока кодирования размером 32×32 пикселей, модуль 111 генерирования блока коэффициентов делит блок кодирования на 8 по горизонтали и по вертикали. В дополнение, например, в случае блока кодирования размером 4×4 пикселей, модуль 111 генерирования блока коэффициентов не делит блок кодирования. Следует отметить, что следующие Этапы S112 и S116 выполняются на основе блока коэффициентов размером 4×4 пикселей.
(ЭТАП S112)
Устройство 112 кодирования significant_flag выполняет арифметическое кодирование в отношении significant_flag с использованием контекста.
(ЭТАП S113)
Устройство 113 кодирования greater1_flag выполняет арифметическое кодирование в отношении greater1_flag с использованием контекста.
(ЭТАП S114)
Устройство 114 кодирования greater2_flag выполняет арифметическое кодирование в отношении greater2_flag, основываясь на контексте.
(ЭТАП S115)
Устройство 115 кодирования level_minus3 выполняет арифметическое кодирование в отношении level_minus3. Конкретнее, устройство 115 кодирования level_minus3 выполняет арифметическое кодирование с использованием фиксированной вероятности появления символа (50%), без использования контекста.
(ЭТАП S116)
Устройство 116 кодирования sign_flag выполняет арифметическое кодирование в отношении sign_flag. Конкретнее, устройство 116 кодирования sign_flag выполняет арифметическое кодирование с использованием фиксированной вероятности появления символа (50%), без использования контекста, так же, как это делает устройство 115 кодирования level_minus3.
(ЭТАП S117)
Этапы с S112 по S116 повторяются до тех пор, пока все блоки коэффициентов в блоке кодирования не будут кодированы.
[СТРУКТУРА УСТРОЙСТВА КОДИРОВАНИЯ SIGNIFICANT_FLAG]
Фиг. 8 показывает внутреннюю структуру устройства 112 кодирования significant_flag в Варианте 1 осуществления. Устройство 112 кодирования significant_flag включает в себя модуль 121 установки групп significant_flag, модуль 122 установки significant_flag, память 123 significant_flag, модуль 124 выбора контекста significant_flag, устройство 125 арифметического кодирования, и память 126 контекста significant_flag.
Модуль 121 установки групп significant_flag делит множество блоков коэффициента, включенных в блок кодирования, на группы. Конкретнее, модуль 121 установки групп significant_flag делит множество блоков коэффициентов на группы, основываясь на сумме значений, указывающих позицию в горизонтальном направлении и позицию в вертикальном направлении каждого из блоков коэффициентов в блоке кодирования. Конкретнее, модуль 121 установки групп significant_flag делит множество блоков коэффициентов на группы, например, основываясь на том, является ли эта сумма меньшей или равной пороговому значению (пороговое значение для определения групп), или эта сумма больше порогового значения.
Значения, указывающие позицию в горизонтальном направлении и позицию в вертикальном направлении блока коэффициентов, получаются из значений, указывающих позиции в горизонтальном направлении (позиции по горизонтали коэффициентов) и позиции в вертикальном направлении (позиции по вертикали коэффициентов) соответственных коэффициентов, включенных в блок коэффициентов. Конкретнее, например, модуль 121 установки групп significant_flag получает "целая часть от (позиция по горизонтали коэффициентов/размер по горизонтали блока коэффициентов)" в качестве значения, указывающего позицию в горизонтальном направлении блока коэффициентов. В дополнение, например, модуль 121 установки групп significant_flag получает "целая часть от (позиция по вертикали коэффициентов/размер по вертикали блока коэффициентов)" в качестве значения, указывающего позицию в вертикальном направлении блока коэффициентов.
В данном случае, можно использовать, в качестве позиции по горизонтали и позиции по вертикали коэффициента, включенного в блок коэффициентов, расстояния по горизонтали и по вертикали от позиции верхнего левого коэффициента в блоке кодирования и позиции этого коэффициента в блоке коэффициентов.
Модуль 122 установки significant_flag считывает, для каждого блока коэффициентов, множество коэффициентов, включенных в блок коэффициентов. Модуль 122 установки significant_flag устанавливает значение на significant_flag для коэффициента, основываясь на том, является ли считанный коэффициент равным "0" или нет. В этом варианте осуществления, модуль 122 установки significant_flag устанавливает "0" на significant_flag, когда коэффициент равен "0", и устанавливает "1" на significant_flag, когда коэффициент равен "1".
Кроме того, модуль 122 установки significant_flag сохраняет significant_flag для каждого коэффициента в память 123 significant_flag.
Память 123 significant_flag хранит significant_flag для каждого коэффициента.
Модуль 124 выбора контекста significant_flag выбирает, для каждого блока коэффициентов, контекст для арифметического кодирования параметра, указывающего текущий целевой коэффициент обработки (целевой коэффициент кодирования), включенный в блок коэффициентов, из набора контекстов, соответствующего блоку коэффициентов, основываясь на по меньшей мере одном опорном коэффициенте вблизи целевого коэффициента кодирования. Конкретнее, модуль 124 выбора контекста significant_flag выбирает контекст из набора контекстов, соответствующего сумме значений, указывающих позицию в горизонтальном направлении и позицию в вертикальном направлении блока коэффициентов в блоке кодирования.
Устройство 125 арифметического кодирования получает вероятностную информацию о выбранном контексте из памяти 126 контекста significant_flag. Устройство 125 арифметического кодирования выполняет арифметическое кодирование в отношении параметра, указывающего целевой коэффициент обработки, используя полученную вероятностную информацию о контексте. В этом варианте осуществления, таким параметром является significant_flag.
Кроме того, устройство 125 арифметического кодирования обновляет вероятностную информацию о контексте, сохраненную в памяти 126 контекста significant_flag, согласно значению significant_flag.
Память 126 контекста significant_flag сохраняет вероятностную информацию о каждом контексте.
[РАБОЧИЙ ПРОЦЕСС (КОДИРОВАНИЕ SIGNIFICANT_FLAG)]
Далее приводится описание относительно устройства 112 кодирования significant_flag, в описанной выше конфигурации. Фиг. 9 показывает рабочий процесс обработки, выполняемый устройством 112 кодирования significant_flag в Варианте 1 осуществления. Следует отметить, что порядок кодирования множества коэффициентов, включенных в блоки коэффициентов, является тем же, что и на Фиг. 2. Другими словами, significant_flag кодируется по блокам коэффициентов.
(ЭТАП S121)
Модуль 121 установки групп significant_flag вычисляет пороговое значение определения групп. Например, модуль 121 установки групп significant_flag делит размер по горизонтали блока кодирования, например, на "16". Затем, модуль 121 установки групп significant_flag устанавливает целую часть от результата деления в качестве порогового значение определения групп.
Другими словами, модуль 121 установки групп significant_flag вычисляет большее пороговое значение для большего размера блока кодирования. Таким образом, когда коэффициенты смещаются в зависимости от размера блока кодирования, можно связать подходящий набор контекстов с блоком коэффициентов. Следует отметить, что пороговым значением может быть некоторое значение, которое не зависит от размера блока кодирования. В этом случае, модуль 121 установки групп significant_flag может вычислять пороговое значение без использования размера блока кодирования.
(ЭТАП S122)
Модуль 121 установки групп significant_flag суммирует целую часть от "позиция по горизонтали коэффициента/4" и целую часть от "позиция по вертикали коэффициента/4". Затем, модуль 121 установки групп significant_flag сравнивает результат суммирования с пороговым значением определения групп, которое устанавливается на Этапе S121. В этот момент, производится переход к Этапу S123, когда результат суммирования меньше или равен пороговому значению определения групп, а в противном случае производится переход к S124.
Позиция по горизонтали коэффициента и позиция по вертикали коэффициента являются позициями в горизонтальном и вертикальном направлении целевых коэффициентов обработки в блоке кодирования или значениями, указывающими позиции в горизонтальном и вертикальном направлении целевых коэффициентов обработки. В данном случае, позиция по горизонтали коэффициента и позиция по вертикали коэффициента являются расстояниями по горизонтали и по вертикали (количество пикселей) от верхнего левого коэффициента до целевого коэффициента обработки в блоке кодирования. Коротко говоря, в случае верхнего левого коэффициента, позиция по горизонтали коэффициента и позиция по вертикали коэффициента, обе равны "0". Следует отметить, что и позиция по горизонтали коэффициента и позиция по вертикали коэффициента делится на "4", так как размер по горизонтали и размер по вертикали блока коэффициента равны "4".
(ЭТАП S123)
Модуль 121 установки групп significant_flag устанавливает "A" для группы.
(ЭТАП S124)
Модуль 121 установки групп significant_flag устанавливает "B" для группы.
Фиг. 10A показывает пример результата группировки в случае блока кодирования размером 16 × 16 пикселей. Фиг. 10B показывает пример результата группировки в случае блока кодирования размером 32×32 пикселей.
Как показано на Фиг. 10A, в случае блока кодирования размером 16×16 пикселей, только блок коэффициентов в верхнем левом углу входит в группу A. Как показано на Фиг. 10B, в случае блока кодирования размером 32×32 пикселей, три блока коэффициентов вверху слева входят в группу A.
Следующие Этапы S125-S139 являются процессами, выполняемыми для каждого коэффициента в блоке коэффициентов, и повторяются до тех пор, пока все коэффициенты в блоке коэффициентов не будут обработаны.
(ЭТАП S125)
Модуль 122 установки significant_flag определяет, является ли целевой коэффициент обработки равным "0". Переход к Этапу S126 производится, если целевой коэффициент обработки равен "0", и переход к Этапу S127 производится, если целевой коэффициент обработки не равен "0".
(ЭТАП S126)
Модуль 122 установки significant_flag устанавливает "0" на significant_flag. Модуль 122 установки significant_flag выводит significant_flag с установленным значением "0" на устройство 125 арифметического кодирования и память 123 significant_flag.
(ЭТАП S127)
Модуль 122 установки significant_flag устанавливает "1" на significant_flag. Модуль 122 установки significant_flag выводит significant_flag с установленным значением "1" на устройство 125 арифметического кодирования и память 123 significant_flag.
(ЭТАП S128)
Модуль 124 выбора контекста significant_flag устанавливает "0" на SNUM, который используется в последующей обработке.
Следует отметить, что следующие Этапы с S129 по S132 выполняются для каждого обработанного коэффициента, и повторяются до тех пор, пока все обработанные коэффициенты не будут обработаны.
(ЭТАП S129)
Модуль 124 выбора контекста significant_flag определяет, является ли обработанный коэффициент коэффициентом частотной составляющей выше, чем частотная составляющая, имеющая целевой коэффициент обработки. Переход к Этапу S130 производится, если обработанный коэффициент является коэффициентом частотной составляющей выше, чем частотная составляющая, имеющая целевой коэффициент обработки, а в противном случае производится переход к Этапу S133. Другими словами, модуль 124 выбора контекста significant_flag использует, в качестве опорного коэффициента, коэффициент частотной составляющей выше, чем частотная составляющая, имеющая целевой коэффициент обработки.
Следует отметить, что модуль 124 выбора контекста significant_flag определяет, является ли обработанный коэффициент коэффициентом частотной составляющей выше, чем частотная составляющая, имеющая целевой коэффициент обработки, определяя присутствие направления обработанного коэффициента среди направлений вправо, вниз, и вниз вправо относительно целевого коэффициента обработки.
(ЭТАП S130)
Модуль 124 выбора контекста significant_flag вычисляет разность между позициями обработанного коэффициента и целевого коэффициента обработки, а также устанавливает разность позиций по горизонтали на h и устанавливает разность позиций по вертикали на v.
(ЭТАП S131)
Модуль 124 выбора контекста significant_flag определяет, является ли сумма h и v, установленных на Этапе S130, меньшей или равной "2". В данном случае, переход к Этапу S132 производится, когда сумма h и v является меньшей или равной "2", а в противном случае производится переход к Этапу S133. Другими словами, модуль 124 выбора контекста significant_flag использует, в качестве опорного коэффициента, обработанный коэффициент, имеющий сумму h и v, равную "2" или меньше, и не использует, в качестве опорного коэффициента, какой-либо обработанный коэффициент, имеющий сумму h и v, равную "3" или больше. Другими словами, в качестве опорных коэффициентов в общей сложности используются следующие пять коэффициентов: коэффициенты, находящиеся, относительно целевого коэффициента обработки, непосредственно справа, следующий непосредственно справа, непосредственно снизу, следующий снизу, и ниже справа. Позиции опорных коэффициентов являются теми же, что и позиции опорных коэффициентов, показанные на Фиг. 1.
(ЭТАП S132)
Модуль 124 выбора контекста significant_flag загружает значение significant_flag обработанного коэффициента (опорного коэффициента) из памяти 123 significant_flag, и добавляет загруженное значение к SNUM.
(ЭТАП S133)
Модуль 124 выбора контекста significant_flag повторяет Этапы от S129 до S132 до тех пор, пока все обработанные коэффициенты в блоке кодирования не будут обработаны.
В результате процессов Этапов от S129 до S132, количество опорных коэффициентов, имеющих "1" в качестве значения significant_flag, устанавливается в качестве конечного SNUM, из числа опорных коэффициентов вблизи целевого коэффициента обработки. Кратко, SNUM показывает количество опорных коэффициентов, имеющих ненулевое значение, среди множества опорных коэффициентов. Здесь, SNUM принимает значение в диапазоне от 0 до 5.
(ЭТАП S134)
Модуль 124 выбора контекста significant_flag определяет, является ли SNUM большим, чем "3". В данном случае, переход к Этапу S135 производится, когда SNUM является большим, чем "3", а в противном случае производится переход к Этапу S136.
(ЭТАП S135)
Модуль 124 выбора контекста significant_flag устанавливает "4" на SNUM. Другими словами, модуль 124 выбора контекста significant_flag переустанавливает значение SNUM так, чтобы значение SNUM не превышало "4".
(ЭТАП S136)
Модуль 124 выбора контекста significant_flag устанавливает SNUM в качестве номера контекста, когда блок коэффициентов, включающий в себя целевой коэффициент обработки, входит в группу A. С другой стороны, когда блок коэффициентов, включающий в себя целевой коэффициент обработки, включен в группу B, модуль 124 выбора контекста significant_flag устанавливает, в качестве номера контекста, результат, полученный добавлением "5" к SUM.
В результате, один из контекстных индексов, указанный номерами контекста от 0 до 4, выбирается для арифметического кодирования целевого коэффициента обработки в блоке коэффициентов, включенном в группу A, а один из контекстных индексов, указанный номерами контекста от 5 до 9, выбирается для арифметического кодирования целевого коэффициента обработки в блоке коэффициентов, включенном в группу B.
Другими словами, модуль 124 выбора контекста significant_flag выбирает контекст из первого набора контекстов (контексты с номерами контекста от 0 до 4), когда сумма позиций в горизонтальном и вертикальном направлении блока коэффициентов является меньшей или равной пороговому значению. Помимо этого, модуль 124 выбора контекста significant_flag выбирает контекст из второго набора контекстов (контексты с номерами контекста от 5 до 9), когда сумма позиций в горизонтальном и вертикальном направлении блока коэффициентов является меньшей или равной пороговому значению. Другими словами, один из наборов контекстов, который должен быть использован, выбирается в зависимости от группы, к которой принадлежит блок коэффициентов.
Помимо этого, контекст, который должен быть выбран из определенного набора контекстов, определяется в зависимости от SNUM (количества опорных коэффициентов, имеющих ненулевое значение, среди множества опорных коэффициентов). Другими словами, модуль 124 выбора контекста significant_flag выбирает контекст, соответствующий количеству опорных коэффициентов, имеющих значение, которое не равно "0", из числа опорных коэффициентов (находящийся в обратной зависимости от количества опорных коэффициентов, имеющих значение "0").
(ЭТАП S137)
Устройство 125 арифметического кодирования загружает вероятностную информацию контекста из памяти 126 контекста significant_flag, в соответствии с номером контекста.
(ЭТАП S138)
Устройство 125 арифметического кодирования выводит битовый поток, выполняя арифметическое кодирование в отношении significant_flag с использованием вероятностной информации.
(ЭТАП S139)
Устройство 125 арифметического кодирования обновляет вероятностную информацию контекста в зависимости от значения significant_flag, и сохраняет обновленную вероятностную информацию контекста в память 126 контекста significant_flag.
(ЭТАП S140)
Этапы с S125 по S139 повторяются до тех пор, пока все коэффициенты в блоке коэффициентов не будут обработаны.
Хотя определение по группе, к которой принадлежит блок коэффициентов, производится на основе каждого блока коэффициентов на Фиг. 9, такое определение может производиться коэффициент за коэффициентом. Другими словами, возврат к Этапу S125 производится, если результатом определения на Этапе S140 является Нет, но можно вместо этого произвести возврат к Этапу S122. Даже в этом случае, можно предотвратить появление переключения между наборами контекстов в блоке коэффициентов. Кроме того, в этом случае, необходимо лишь загрузить набор контекстов, соответствующий определенной группе, из памяти, и, следовательно, можно снизить нагрузку, возлагаемую на память.
[ВЫГОДНЫЕ ЭФФЕКТЫ]
Как описано выше, в соответствии с устройством 100 кодирования изображений в этом варианте осуществления, можно подавить уменьшение эффективности кодирования, и снизить нагрузку для выбора контекста. Этот выгодный эффект описывается подробно со ссылкой на чертежи.
Фиг. 11A и Фиг. 11B являются графическими представлениями для демонстрации наборов контекстов для различных коэффициентов, включенных в блок коэффициентов, в Варианте 1 осуществления. В случаях, показанных на Фиг. 11A и 11B, отсутствует переключение, такое, как переключение между группами (наборами контекстов) в блоке коэффициентов, которое показано на Фиг. 3A и 3B. Соответственно, устройству 100 кодирования изображений не нужно определять, для каждого коэффициента, один из наборов контекстов, который включает в себя контекст, который должен быть выбран. Таким образом, можно снизить нагрузку для выбора контекста.
Кроме того, устройство 100 кодирования изображений может выбирать контекст из набора контекстов, соответствующего сумме позиций в горизонтальном и вертикальном направлении блока коэффициентов в блоке кодирования. Соответственно, можно использовать набор контекстов, адаптированный к колебанию коэффициентов в зависимости от частотных составляющих, и, следовательно, подавлять уменьшение эффективности кодирования за счет использования набора контекстов, соответствующего блоку коэффициентов.
Помимо этого, в соответствии с устройством 100 кодирования изображений в этом варианте осуществления, можно выбирать контекст из набора контекстов, соответствующего блоку коэффициентов, при выполнении арифметического кодирования в отношении significant_flag. significant_flag является параметром, имеющим высокую частоту появления, и поэтому оказывает большое влияние на эффективность кодирования. Помимо этого, significant_flag является параметром, для которого не устанавливается ограничение в количестве появлений в блоке коэффициента, и который свободен от колебания значения в зависимости от блока коэффициентов. Авторы настоящего изобретения обнаружили, что выбор контекста из набора контекстов, соответствующего блоку коэффициентов, при кодировании significant_flag не уменьшает эффективность кодирования. Другими словами, устройство 100 кодирования изображений способно снизить нагрузку для выбора контекста и одновременно подавить уменьшение эффективности кодирования, во время арифметического кодирования significant_flag.
ВАРИАНТ 2 ОСУЩЕСТВЛЕНИЯ
[ОБЩАЯ СТРУКТУРА]
Фиг. 12 показывает структуру устройства 200 декодирования изображений в Варианте 2 осуществления. Устройство 200 декодирования изображений декодирует поблочно кодированное изображение. Конкретнее, устройство 200 декодирования изображений декодирует изображение, кодированное устройством 100 кодирования изображений в Варианте 1 осуществления. Устройство 200 декодирования изображений включает в себя устройство 201 декодирования с переменной длиной кода, модуль 202 обратного преобразования, модуль 203 предсказания, суммирующее устройство 204, модуль 205 объединения декодированных блоков, и память 206 кадров.
Устройство 201 декодирования с переменной длиной кода выполняет декодирование с переменной длиной кода в отношении битового потока, чтобы получить множество коэффициентов и информацию предсказания (например, информацию вектора движения и т.д.) для каждого из целевых блоков декодирования.
Модуль 202 обратного преобразования выполняет обратное преобразование в отношении множества коэффициентов, чтобы сгенерировать изображения ошибки (остаточные блоки) соответственных целевых блоков декодирования.
Модуль 203 предсказания генерирует изображение предсказания (блок предсказания) для каждого целевого блока декодирования, используя информацию предсказания и декодированное изображение (декодированное графическое изображение), сохраненное в памяти 206 кадров.
Суммирующее устройство 204 суммирует изображение ошибки целевого блока декодирования и изображение предсказания, чтобы сгенерировать декодированное изображение (декодированный блок) целевого блока декодирования.
Модуль 205 объединения декодированных блоков объединяет множество декодированных блоков, чтобы сгенерировать декодированное изображение. Кроме того, модуль 205 объединения декодированных блоков сохраняет декодированное изображение в память 206 кадров.
Память 206 кадров хранит такое декодированное изображение.
[РАБОЧИЙ ПРОЦЕСС (В ЦЕЛОМ)]
Далее приводится описание рабочего процесса обработки, выполняемого устройством 200 декодирования изображений, в описанной выше конфигурации. Фиг. 13 является блок-схемой последовательности операций способа, показывающей рабочий процесс обработки, выполняемый устройством 200 декодирования изображений, в Варианте 2 осуществления.
(ЭТАП S201)
Устройство 201 декодирования с переменной длиной кода выполняет декодирование с переменной длиной кода в отношении битового потока, чтобы получить множество коэффициентов и информацию предсказания. Затем, устройство 201 декодирования с переменной длиной кода выводит множество коэффициентов на модуль 202 обратного преобразования, и выводит информацию предсказания на модуль 203 предсказания.
(ЭТАП S202)
Модуль 202 обратного преобразования выполняет обратное преобразование в отношении множества коэффициентов, чтобы сгенерировать остаточный блок.
(ЭТАП S203)
Модуль 203 предсказания генерирует блок предсказания с использованием декодированного изображения, сохраненного в памяти 206 кадров, и информации предсказания, декодированной устройством 201 декодирования с переменной длиной кода.
(ЭТАП S204)
Суммирующее устройство 204 суммирует блок предсказания и остаточный блок, чтобы сгенерировать декодированный блок.
(ЭТАП S205)
Этапы с S201 по S204 повторяются до тех пор, пока все блоки в изображении не будут декодированы.
(ЭТАП S206)
Модуль 205 объединения декодированных блоков объединяет декодированные блоки, чтобы сгенерировать декодированное изображение. Кроме того, модуль 205 объединения декодированных блоков сохраняет декодированное изображение в память 206 кадров.
[СТРУКТУРА УСТРОЙСТВА ДЕКОДИРОВАНИЯ С ПЕРЕМЕННОЙ ДЛИНОЙ КОДА]
Фиг. 14 показывает внутреннюю структуру устройства 201 декодирования с переменной длиной кода в Варианте 2 осуществления. В этом варианте осуществления, как и в Варианте 1 осуществления, каждый из коэффициентов представляется с помощью по меньшей мере одного из следующих пяти параметров: significant_flag, greater1_flag, greater2_flag, level_minus3 и sign_flag. Каждый из параметров имеет такое же смысловое содержание, что и в Варианте 1 осуществления, и поэтому то же самое описание не повторяется.
Устройство 201 декодирования с переменной длиной кода включает в себя устройство 211 декодирования significant_flag, устройство 212 декодирования greater1_flag, устройство 213 декодирования greater2_flag, устройство 214 декодирования level_minus3, устройство 215 декодирования sign_flag, модуль 216 реконструкции коэффициентов и модуль 217 объединения блоков коэффициентов.
[РАБОЧИЙ ПРОЦЕСС (ДЕКОДИРОВАНИЕ С ПЕРЕМЕННОЙ ДЛИНОЙ КОДА)]
Далее приводится описание рабочего процесса обработки, выполняемого устройством 201 декодирования с переменной длиной кода, в описанной выше конфигурации. Фиг. 15 является блок-схемой последовательности операций способа, показывающей рабочий процесс обработки, выполняемый устройством 201 декодирования с переменной длиной кода, в Варианте 2 осуществления. Следует отметить, что Этапы с S211 по S216 выполняются для каждого из блоков коэффициентов, включенных в целевой блок декодирования.
(ЭТАП S211)
Устройство 211 декодирования significant_flag выполняет, используя соответствующий контекст, арифметическое декодирование в отношении significant_flag каждого коэффициента, включенного в блок коэффициентов. Затем, устройство 211 декодирования significant_flag выводит significant_flag на устройство 212 декодирования greater1_flag, устройство 213 декодирования greater2_flag, устройство 214 декодирования level_minus3, устройство 215 декодирования sign_flag и модуль 216 реконструкции коэффициентов.
(ЭТАП S212)
Устройство 212 декодирования greater1_flag выполняет, используя соответствующий контекст, арифметическое декодирование в отношении greater1_flag коэффициента, имеющего significant_flag, равный "1". Затем, устройство 212 декодирования greater1_flag выводит greater1_flag на устройство 213 декодирования greater2_flag, устройство 214 декодирования level_minus3 и модуль 216 реконструкции коэффициентов.
(ЭТАП S213)
Устройство 213 декодирования greater2_flag выполняет, используя соответствующий контекст, арифметическое декодирование в отношении greater2_flag коэффициента, имеющего significant_flag, равный "1", и greater1_flag, равный "1". Затем, устройство 213 декодирования greater2_flag выводит greater2_flag на устройство 214 декодирования level_minus3 и модуль 216 реконструкции коэффициентов.
(ЭТАП S214)
Устройство 214 декодирования level_minus3 декодирует параметр level_minus3 коэффициента, имеющего significant_flag, равный "1", greater1_flag, равный "1", и greater2_flag, равный "1" с использованием фиксированной вероятности появления символа (50%), без использования какого-либо контекста. Затем, устройство 214 декодирования level_minus3 выводит level_minus3 на модуль 216 реконструкции коэффициентов.
(ЭТАП S215)
Устройство 215 декодирования sign_flag декодирует параметр sign_flag коэффициента, имеющего significant_flag, равный "1" с использованием фиксированной вероятности появления символа (50%), без использования какого-либо контекста. Затем, устройство 215 декодирования sign_flag выводит sign_flag на модуль 216 реконструкции коэффициентов.
(ЭТАП S216)
Модуль 216 реконструкции коэффициентов реконструирует коэффициент, используя significant_flag, greater1_flag, greater2_flag, level_minus3 и sign_flag. Каждый из параметров имеет смысловое содержание, как описано ранее, и модуль 216 реконструкции коэффициентов реконструирует коэффициент в соответствии с этим смысловым содержанием.
(ЭТАП S217)
Этапы с S212 по S216 повторяются до тех пор, пока все блоки коэффициентов в целевом блоке декодирования не будут декодированы.
(ЭТАП S218)
Модуль 217 объединения блоков коэффициентов объединяет все блоки коэффициентов в целевом блоке декодирования, и выводит декодированный блок.
[СТРУКТУРА УСТРОЙСТВА ДЕКОДИРОВАНИЯ SIGNIFICANT_FLAG]
Фиг. 16 показывает внутреннюю структуру устройства 211 декодирования significant_flag в Варианте 2 осуществления. Устройство 211 декодирования significant_flag включает в себя модуль 221 установки групп significant_flag, модуль 222 выбора контекста significant_flag, устройство 223 арифметического декодирования, память 224 контекста significant_flag, и память 225 significant_flag.
Модуль 221 установки групп significant_flag делит множество блоков коэффициентов, включенных в блок кодирования, на группы, как выполнялось модулем 121 установки групп significant_flag в Варианте 1 осуществления.
Модуль 222 выбора контекста significant_flag выбирает, для каждого блока коэффициентов, контекст для арифметического кодирования в отношении параметров, указывающих целевой коэффициент обработки (целевой коэффициент декодирования), включенный в блок коэффициентов, из набора контекстов, соответствующего этому блоку коэффициентов, основываясь на по меньшей мере одном опорном коэффициенте вблизи целевого коэффициента кодирования. Конкретнее, модуль 222 выбора контекста significant_flag выбирает контекст из набора контекстов, соответствующего сумме значений, указывающих позицию в горизонтальном направлении и позицию в вертикальном направлении блока коэффициентов в блоке кодирования.
Устройство 223 арифметического декодирования получает вероятностную информацию о выбранном контексте из памяти 224 контекста significant_flag. Затем, устройство 223 арифметического декодирования выполняет арифметическое декодирование в отношении параметра, указывающего целевой коэффициент обработки, используя вероятностную информацию о полученном контексте. В этом варианте осуществления, таким параметром является significant_flag.
Кроме того, устройство 223 арифметического декодирования сохраняет декодированный significant_flag в памяти 225 significant_flag. Помимо этого, устройство 223 арифметического декодирования обновляет вероятностную информацию о контексте, сохраненную в памяти 224 контекста significant_flag, в соответствии со значением significant_flag.
Память 224 контекста significant_flag хранит вероятностную информацию о каждом контексте.
Память 225 significant_flag хранит significant_flag для каждого коэффициента.
[РАБОЧИЙ ПРОЦЕСС (ДЕКОДИРОВАНИЕ SIGNIFICANT_FLAG)]
Далее приводится описание устройства 211 декодирования significant_flag в описанной выше конфигурации. Фиг. 17 является блок-схемой последовательности операций способа, указывающей рабочий процесс обработки, выполняемый устройством декодирования significant_flag.
(ЭТАПЫ S221-S224)
Модуль 221 установки групп significant_flag делит блоки коэффициентов на группы таким же образом, как и на Этапах с S121 по S124 на Фиг. 9.
(ЭТАПЫ S225-S233)
Модуль 222 выбора контекста significant_flag выбирает контекст, основываясь на опорном коэффициенте, находящемся вблизи целевого коэффициента обработки, из набора контекстов, соответствующего группе, к которой принадлежит этот блок коэффициентов, таким же образом, как и на Этапах с S128 по S136 на Фиг. 9. Конкретнее, модуль 222 выбора контекста significant_flag выбирает контекст из первого набора контекстов (контексты с номерами контекста от 0 до 4), когда сумма позиций в горизонтальном и вертикальном направлении блока коэффициентов является меньшей или равной пороговому значению. Помимо этого, модуль 222 выбора контекста significant_flag выбирает контекст из второго набора контекстов (контексты с номерами контекста от 5 до 9), когда сумма позиций в горизонтальном и вертикальном направлении блока коэффициентов является меньшей или равной пороговому значению. Другими словами, модуль 222 выбора контекста significant_flag выбирает контекст, соответствующий количеству опорных коэффициентов, имеющих значение, которое не равно "0", из числа опорных коэффициентов частотных составляющих выше, чем частотная составляющая, имеющая целевой коэффициент обработки (находящийся в обратной зависимости от количества опорных коэффициентов, имеющих значение "0").
(ЭТАП S234)
Устройство 223 арифметического декодирования загружает вероятностную информацию контекста из памяти 224 контекста significant_flag, в соответствии с номером контекста.
(ЭТАП S235)
Устройство 223 арифметического декодирования выполняет арифметическое декодирование в отношении significant_flag, используя эту вероятностную информацию.
(ЭТАП S236)
Устройство 223 арифметического декодирования обновляет вероятностную информацию контекста в зависимости от значения significant_flag, и сохраняет обновленную вероятностную информацию контекста в память 224 контекста significant_flag.
(ЭТАП S237)
Этапы с S225 по S236 повторяются до тех пор, пока все коэффициенты в блоке коэффициентов не будут обработаны.
Хотя определение по группе, к которой принадлежит блок коэффициентов, производится на основе каждого блока коэффициентов на Фиг. 17, такое определение может производиться коэффициент за коэффициентом. Другими словами, возврат к Этапу S225 производится, если результатом определения на Этапе S237 является Нет, но можно вместо этого произвести возврат к Этапу S222. Даже в этом случае, можно предотвратить появление переключения между наборами контекстов в блоке коэффициентов. Кроме того, в этом случае, необходимо лишь загрузить набор контекстов, соответствующий определенной группе, из памяти, и, следовательно, можно снизить нагрузку, возлагаемую на память.
[ВЫГОДНЫЕ ЭФФЕКТЫ]
Как и в случае устройства 100 кодирования изображений в Варианте 1 осуществления, в соответствии с устройством 200 декодирования изображений в этом варианте осуществления, можно подавить уменьшение эффективности кодирования, и снизить нагрузку для выбора контекста, как описывалось выше.
Хотя устройство кодирования изображений и устройство декодирования изображений в соответствии с одним или несколькими аспектами были описаны выше на основе одного или нескольких вариантов осуществления, настоящее изобретение не ограничивается этими вариантами осуществления. Различные виды модификаций, какие может вообразить специалист в данной области техники, и другие варианты осуществления, полученные путем объединения некоторых структурных элементов в различных вариантах осуществления, могут быть включены в объем(ы) одного или нескольких аспектов при условии, что эти модификации и другие варианты осуществления не отклоняются от сущности настоящего изобретения.
Например, в каждом из вариантов осуществления, значения, указывающие позицию в горизонтальном направлении и позицию в вертикальном направлении подблока, вычисляются с использованием "целая часть от (позиция по горизонтали коэффициента/размер по горизонтали блока коэффициентов)" и "целая часть от (позиция по вертикали коэффициента/размер по вертикали блока коэффициентов)". Тем не менее, эти значения могут быть вычислены с использованием другой схемы. Например, значения, указывающие позицию в горизонтальном направлении и позицию в вертикальном направлении подблока, могут быть вычислены с использованием операции сдвига вместо деления.
Помимо этого, в каждом из вариантов осуществления, множество коэффициентов, включенных в целевой блок кодирования или в целевой блок декодирования, может быть рассортировано в две группы. Тем не менее, множество коэффициентов может быть рассортировано в три или более групп. В этом случае, пороговое значение определения групп может быть увеличено в соответствии с количеством групп.
Помимо этого, количество и позиции опорных коэффициентов в каждом из вариантов осуществления могут быть иллюстративными, и могут использоваться другие опорные коэффициенты.
Помимо этого, в каждом из вариантов осуществления, каждый контекст выбирается, основываясь на подблоке и количестве опорных коэффициентов. Тем не менее, контекст может быть выбран, основываясь на других условиях. Например, в качестве контекста для выполнения арифметического кодирования в отношении коэффициента верхнего левого края (постоянная составляющая) либо в целевом блоке кодирования, либо в целевом блоке декодирования, может быть выбран контекст, отличный от контекста для других коэффициентов.
Помимо этого, в каждом из вариантов осуществления, арифметическое кодирование или арифметическое декодирование выполняется в отношении коэффициентов целевого блока кодирования или целевого блока декодирования по порядку, начиная с коэффициента на правом нижнем краю (самая высокочастотная составляющая) в нем. Тем не менее, также уместно выполнять арифметическое кодирование или арифметическое декодирование на коэффициентах, начиная с ненулевого коэффициента, который появляется первым в ходе сканирования коэффициентов, начиная с самой высокочастотной составляющей. В этом случае, нулевые коэффициенты перед ненулевым коэффициентом, который появляется первым в ходе сканирования коэффициентов, начиная с самой высокочастотной составляющей, не обязательно должны подвергаться арифметическому кодированию.
Помимо этого, в каждом из вариантов осуществления, коэффициенты кодируются с использованием пять параметров. Тем не менее, коэффициенты могут быть кодированы с использованием другой комбинации параметров. Например, коэффициенты могут быть кодированы с использованием следующих трех параметров: significant_flag, level_minus1 и sign_flag.
Помимо этого, в каждом из вариантов осуществления, описываются способы выбора контекста для выполнения арифметического кодирования и арифметического декодирования significant_flag. Что касается других параметров, уместно выбирать контекст, используя способы выбора, подобные способам, используемым для significant_flag.
Помимо этого, в каждом из вариантов осуществления, коэффициенты, находящиеся вне целевого блока кодирования или целевого блока декодирования, не всегда должны использоваться в качестве опорного коэффициента. Кроме того, можно использовать, в качестве опорных коэффициентов, коэффициенты, включенные в графическое изображение, отличающееся во времени от графического изображения, включающего в себя целевой блок кодирования или целевой блок декодирования.
Помимо этого, размер блока кодирования (целевого блока кодирования или целевого блока декодирования) в каждом из вариантов осуществления и размер блока коэффициентов (подблока) являются иллюстративными, и, следовательно, возможны и другие размеры.
Следует отметить, что устройство 100 кодирования изображений в Варианте 1 осуществления не должно включать в себя все структурные элементы, показанные на Фиг. 4. Например, устройство кодирования изображений может быть выполнено в описанной ниже конфигурации.
Фиг. 18 показывает структуру устройства 300 кодирования изображений в Разновидности Варианта 1 осуществления. Устройство 300 кодирования изображений кодирует изображение поблочно. Как показано на Фиг. 18, устройство 300 кодирования изображений включает в себя модуль 301 выбора контекста и устройство 302 арифметического кодирования.
Здесь приводится описание рабочего процесса обработки, выполняемого устройством 300 кодирования изображений, в описанной выше конфигурации. Фиг. 19 является блок-схемой последовательности операций способа, показывающей рабочий процесс обработки, выполняемый устройством 300 кодирования изображений, в Разновидности Варианта 1 осуществления.
(ЭТАП S301)
Модуль 301 выбора контекста выбирает контекст для выполнения арифметического кодирования в отношении параметров, указывающих коэффициенты, включенные в целевой блок кодирования, который является единицей преобразования. Конкретнее, модуль 301 выбора контекста выбирает, для каждого из множества подблоков, включенных в целевой блок кодирования, контекст для выполнения арифметического кодирования в отношении параметров, указывающих целевые коэффициенты кодирования, включенные в подблок, из набора контекстов, соответствующего этому подблоку, основываясь на по меньшей мере одном опорном коэффициенте, находящемся вблизи целевого коэффициента кодирования.
Конкретнее, модуль 301 выбора контекста выбирает, для каждого из множества подблоков, контекст для выполнения арифметического кодирования в отношении параметров, указывающих целевые коэффициенты кодирования, включенные в подблок, из набора контекстов, соответствующего сумме значений, указывающих позицию в горизонтальном направлении и позицию в вертикальном направлении этого подблока в целевом блоке кодирования.
Подблок представляет собой блок, который получен путем деления целевого блока кодирования. Каждый из подблоков включает в себя множество пикселей (например, 4×4 пикселей) каждый из которых включает в себя коэффициент.
Под коэффициентами, находящимися вблизи целевого коэффициента кодирования, понимаются коэффициенты пикселей, находящихся в пределах предварительно заданного диапазона относительно пикселя, имеющего целевой коэффициент кодирования. Например, коэффициентами, находящимися вблизи целевого коэффициента кодирования, являются коэффициенты частотных составляющих выше, чем частотная составляющая, имеющая целевой коэффициент кодирования.
Параметром, указывающим целевой коэффициент кодирования, является, например, флаг (significant_flag), указывающий, является ли целевой коэффициент кодирования равным 0. Следует отметить, что параметр, указывающий целевой коэффициент кодирования, не должен быть significant_flag, а может быть и другим параметром.
(ЭТАП S302)
Устройство 302 арифметического кодирования выполняет арифметическое кодирование в отношении параметра, указывающего целевой коэффициент кодирования, используя вероятностную информацию о контексте, выбранном модулем 301 выбора контекста.
Как описано выше, устройство 300 кодирования изображений, выполненное, как показано на Фиг. 18, тоже может выбирать контекст из набора контекстов, соответствующего сумме значений, указывающих позицию в горизонтальном направлении и позицию в вертикальном направлении подблока в целевом блоке кодирования. Соответственно, устройство 300 кодирования изображений может подавлять уменьшение эффективности кодирования и снижать нагрузку для выбора контекста.
Следует отметить, что устройство 200 декодирования изображений в Варианте 2 осуществления не должно включать в себя все структурные элементы, показанные на Фиг. 12. Например, устройство декодирования изображений может быть выполнено в описанной ниже конфигурации.
Фиг. 20 показывает структуру устройства 400 декодирования изображений в Разновидности Варианта 2 осуществления. Устройство 400 декодирования изображений декодирует поблочно кодированное изображение. Как показано на Фиг. 20, устройство 400 декодирования изображений включает в себя модуль 401 выбора контекста и устройство 402 арифметического декодирования.
Здесь приводится описание рабочего процесса обработки, выполняемого устройством 400 декодирования изображений, в описанной выше конфигурации. Фиг. 21 является блок-схемой последовательности операций способа, показывающей рабочий процесс обработки, выполняемый устройством 400 декодирования изображений, в Разновидности Варианта 2 осуществления.
(ЭТАП S401)
Модуль 401 выбора контекста выбирает контекст для выполнения арифметического декодирования в отношении параметров, указывающих коэффициенты, включенные в целевой блок декодирования, который является единицей преобразования. Детали этой обработки являются теми же, что и в Этапе S301 на Фиг. 19, и поэтому то же самое описание не повторяется здесь.
(ЭТАП S402)
Устройство 402 арифметического декодирования выполняет арифметическое декодирование в отношении параметра, указывающего целевой коэффициент декодирования, используя вероятностную информацию о контексте, выбранном модулем 401 выбора контекста.
Как описано выше, устройство 402 арифметического декодирования, выполненное, как показано на Фиг. 20, может выбирать контекст из набора контекстов, соответствующего сумме значений, указывающих позицию в горизонтальном направлении и позицию в вертикальном направлении подблока в целевом блоке декодирования. Соответственно, устройство 400 декодирования изображений может подавлять уменьшение эффективности декодирования и снижать нагрузку для выбора контекста.
Следует отметить, что в каждом из вариантов осуществления и их модификациях, каждый из структурных элементов в каждом из вышеописанных вариантов осуществления может быть выполнен в виде особого аппаратного изделия, или могут быть реализованы благодаря исполнению программы программного обеспечения, подходящей для этого структурного элемента. Каждый из структурных элементов может быть реализован посредством модуля исполнения программ, такого, как ЦП и обрабатывающее устройство, читающего и исполняющего программу программного обеспечения, записанную на носителе записи, таком, как жесткий диск или полупроводниковое запоминающее устройство. В этом случае, программой программного обеспечения для реализации любого из устройства кодирования изображения и устройства декодирования изображения в соответствии с каждым из вариантов осуществления и их модификациями и т.д. является программа, описанная ниже.
Этой программой является, например, программа, побуждающая компьютер исполнять способ кодирования изображений для поблочного кодирования изображения, и включающий в себя этапы, на которых: выбирают, для каждого из множества подблоков, включенных в целевой блок кодирования, и каждый из которых включает в себя множество коэффициентов, контекст для выполнения арифметического кодирования в отношении параметра, указывающего целевой коэффициент кодирования, включенный в подблок, из набора контекстов, соответствующего этому подблоку, основываясь на по меньшей мере одном опорном коэффициенте, находящемся вблизи целевого коэффициента кодирования, при этом целевой блок кодирования является единицей преобразования; и выполняют арифметическое кодирование в отношении параметра, указывающего целевой коэффициент кодирования, используя вероятностную информацию о выбранном контексте, причем, при выборе, контекст выбирается из набора контекстов, при этом набор контекстов соответствует сумме (i) значения, указывающего позицию в горизонтальном направлении подблока в целевом блоке кодирования, и (ii) значения, указывающего позицию в вертикальном направлении подблока в целевом блоке кодирования.
В качестве альтернативы, этой программой является программа для побуждения компьютера выполнять способ декодирования изображения в соответствии с одним из аспектов настоящего изобретения, которым является способ декодирования изображения для декодирования поблочно кодированного изображения, и включающий в себя этапы, на которых: выбирают, для каждого из множества подблоков, включенных в целевой блок декодирования, и каждый из которых включает в себя множество коэффициентов, контекст для выполнения арифметического декодирования в отношении параметра, указывающего целевой коэффициент декодирования, включенный в подблок, из набора контекстов, соответствующего этому подблоку, основываясь на по меньшей мере одном опорном коэффициенте, находящемся вблизи целевого коэффициента декодирования, при этом целевой блок декодирования является единицей преобразования; и выполняют арифметическое декодирование в отношении параметра, указывающего целевой коэффициент декодирования, используя вероятностную информацию о выбранном контексте, причем, при выборе, контекст выбирается из набора контекстов, при этом набор контекстов соответствует сумме (i) значения, указывающего позицию в горизонтальном направлении подблока в целевом блоке декодирования, и (ii) значения, указывающего позицию в вертикальном направлении подблока в целевом блоке декодирования.
ВАРИАНТ 3 ОСУЩЕСТВЛЕНИЯ
Обработка, описанная в каждом из вариантов осуществления, может быть просто реализована в независимой компьютерной системе путем записи, на носитель записи, программы для реализации схем способа кодирования движущегося графического изображения (способа кодирования изображений) и способа декодирования движущегося графического изображения (способа декодирования изображений), описанных в каждом из вариантов осуществления. Носители записи могут быть любыми носителями записи при условии, что может быть записана программа, такими, как магнитный диск, оптический диск, магнитный оптический диск, плата ИС, и полупроводниковое запоминающее устройство.
В дальнейшем будут описаны приложения для способа кодирования движущегося графического изображения (способа кодирования изображений) и способа декодирования движущегося графического изображения (способа декодирования изображений), описанных в каждом из вариантов осуществления, и использующих их систем. Система имеет такую отличительную особенность, что содержит устройство кодирования и декодирования изображений, которое включает в себя устройство кодирования изображений, использующее способ кодирования изображений, и устройство декодирования изображений, использующее способ декодирования изображений. Другие конфигурации в системе могут быть изменены по необходимости в зависимости от конкретных случаев.
Фиг. 22 показывает общую конфигурацию системы ex100 предоставления контента для реализации услуг распространения контента. Зона для предоставления услуг связи делится на ячейки нужного размера, а базовые станции ex106, ex107, ex108, ex109 и ex110, которые являются стационарными беспроводными станциями, помещаются в каждой из ячеек.
Система ex100 предоставления контента соединяется с устройствами, такими, как компьютер ex111, карманный персональный компьютер (КПК) ex112, камера ex113, сотовый телефон ex114 и игровая машина ex115, через сеть Интернет ex101, поставщика ex102 услуг Интернет, телефонную сеть ex104, а также базовые станции ex106-ex110, соответственно.
Тем не менее, конфигурация системы ex100 предоставления контента не ограничивается конфигурацией, показанной на Фиг. 22, и комбинация, в которой любые из элементов соединены, является приемлемой. Помимо этого, каждое устройство может напрямую соединяться с телефонной сетью ex104, а не через базовые станции ex106-ex110, которые являются стационарными беспроводными станциями. Кроме того, устройства могут быть соединены друг с другом посредством беспроводной ближней связи, и пр.
Камера ex113, такая, как цифровая видеокамера, способна захватывать видеоизображение. Камера ex116, такая, как цифровая камера, способна захватывать как неподвижные изображения, так и видеоизображения. Кроме того, сотовый телефон ex114 может быть таким устройством, которое удовлетворяет требованиям любого из таких стандартов, как Глобальная система связи с подвижными объектами (GSM - Global System for Mobile Communications) (зарегистрированная торговая марка), Множественный доступ с кодовым разделением каналов (CDMA - Code Division Multiple Access), Широкополосный множественный доступ с кодовым разделением каналов (W-CDMA - Wideband-Code Division Multiple Access), Проект долгосрочного развития (LTE - long term evolution), и Высокоскоростная пакетная передача данных (HSPA - High Speed Packet Access). В качестве альтернативы, сотовый телефон ex114 может представлять собой Систему персонального ручного телефона (PHS - Personal Handyphone System).
В системе 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, или быть разделены между ними.
Кроме того, процессы кодирования и декодирования могут быть выполнены с помощью БИС ex500, как правило, входящие в состав каждого из компьютера ex111 и устройств. БИС ex500 может быть выполнена на одном кристалле или на множестве кристаллов. Программное обеспечение для кодирования и декодирования видеоизображений может быть интегрировано в носитель записи какого-либо типа (такой, как CD-ROM, гибкий диск и жесткий диск), который доступен для чтения с помощью компьютера ex111 и пр., и процессы кодирования и декодирования могут быть выполнены с использованием этого программного обеспечения. Кроме того, если сотовый телефон ex114 оборудован камерой, видеоданные, полученные камерой, могут быть переданы. Видеоданные являются данными, кодированными посредством БИС ex500, входящей в состав сотового телефона ex114.
Кроме того, потоковый сервер ex103 может быть составлен из серверов и компьютеров, и может децентрализовать данные и обрабатывать децентрализованные данные, записывать, или распределять данные.
Как описано выше, клиенты могут принимать и воспроизводить кодированные данные в системе ex100 предоставления контента. Другими словами, клиенты могут принимать и декодировать информацию, передаваемую пользователем, и воспроизводить декодированные данные в режиме реального времени в системе ex100 предоставления контента, так что пользователь, который без конкретного права и оборудования, может реализовать персональное вещание.
Кроме примера системы ex100 предоставления контента по меньшей мере одно из устройства кодирования движущегося графического изображения (устройство кодирования изображений) или устройства декодирования движущегося графического изображения (устройство декодирования изображений), описанные в каждом из вариантов осуществления, может быть реализовано в системе ex200 цифрового вещания, продемонстрированной на Фиг. 23. Конкретнее, вещательная станция ex201 осуществляет сообщение или передачу, посредством радиоволн на вещательный спутник ex202, мультиплексированных данных, полученных путем мультиплексирования аудиоданных и пр. на видеоданные. Видеоданные являются данными, кодированными способом кодирования движущегося графического изображения, описанном в каждом из вариантов осуществления (т.е., данными, кодированными устройством кодирования изображений в соответствии с одним из аспектов настоящего изобретения). После приема мультиплексированных данных, вещательный спутник ex202 передает радиоволны для вещания. Затем, бытовая антенна ex204 с функцией приема спутникового вещания принимает радиоволны. После этого, устройство, такое, как телевизионный приемник (ресивер) ex300 и телевизионная приставка (STB - set top box) ex217 декодирует принятые мультиплексированные данные и воспроизводит декодированные данные (т.е., функционирует в качестве устройства декодирования изображений в соответствии с одним из аспектов настоящего изобретения).
Кроме того, устройство ex218 чтения/записи (i) читает и декодирует мультиплексированные данные, записанные на носителе ex215 записи, таком, как DVD и BD, или (i) кодирует видеосигналы в носителе ex215 записи, а в некоторых случаях, записывает данные, полученные путем мультиплексирования аудиосигнала на кодированных данных. Устройство ex218 чтения/записи может включать в себя устройство декодирования движущегося графического изображения или устройство кодирования движущегося графического изображения, которые показаны в каждом из вариантов осуществления. В этом случае, воспроизводимые видеосигналы отображаются на мониторе ex219, и могут быть воспроизведены другим устройством или системой, используя носитель ex215 записи, на котором записаны мультиплексированные данные. Также можно реализовать устройство декодирования движущегося графического изображения в телевизионной приставке ex217, соединенной с кабелем ex203 для кабельного телевидения или с антенной ex204 для спутникового и/или наземного вещания, чтобы отображать видеосигналы на мониторе ex219 телевизионного приемника ex300. Устройство декодирования движущегося графического изображения может быть реализовано не в телевизионной приставке, а в телевизионном приемнике ex300.
Фиг. 24 демонстрирует телевизионный приемник (ресивер) 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 и пр., так что сигналы воспроизводятся синхронно друг с другом. Здесь, буферных устройств ex318, ex319, ex320 и ex321 может быть множество, как продемонстрировано, или по меньшей мере одно буферное устройство может совместно использоваться в телевизионном приемнике ex300. Кроме того, данные могут сохраняться в буферном устройстве, так что можно избежать переполнения и незаполнения системы, например между модулем ex302 модуляции/демодуляции и модулем ex303 мультиплексирования/демультиплексирования.
Кроме того, телевизионный приемник ex300 может включать в себя конфигурацию для приема AV-ввода от микрофона или камеры, отличных от конфигурации для получения аудио- и видео- данных из вещания или с носителя записи, и может кодировать полученные данные. Несмотря на то, что в настоящем описании телевизионный приемник ex300 может кодировать, мультиплексировать и предоставлять вовне данные, он может быть способен только принимать, декодировать и предоставлять вовне данные, но не кодировать, мультиплексировать и предоставлять вовне данные.
Кроме того, когда устройство ex218 чтения/записи читает или записывает мультиплексированные данные с носителя записи или на него, либо телевизионный приемник ex300, либо устройство ex218 чтения/ записи может декодировать или кодировать мультиплексированные данные, или телевизионный приемник ex300 и устройство ex218 чтения/записи могут разделять декодирование или кодирование.
В качестве примера, Фиг. 25 демонстрирует конфигурацию модуля 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 освещает лазерное пятно, она может выполнять запись высокой плотности, используя свет в ближнем поле.
Фиг. 26 демонстрирует носитель ex215 записи, который является оптическим диском. На поверхности записи носителя ex215 записи, по спирали сформированы направляющие канавки, а на информационную дорожку ex230 записывается, заранее, адресная информация, указывающая абсолютную позицию на диске в соответствии с изменением в форме направляющих канавок. Адресная информация включает в себя информацию для определения позиций блоков ex231 записи, которые являются единицей для данных записи. Воспроизведение информационной дорожки ex230 и чтение адресной информации в устройстве, которое записывает и воспроизводит данные, может дать определение позиций блоков записи. Кроме того, носитель ex215 записи включает в себя область ex233 записи данных, область ex232 внутренней окрестности, и область ex234 внешней окрестности. Область ex233 записи данных является областью для использования при записи пользовательских данных. Область ex232 внутренней окрестности и область ex234 внешней окрестности, которые находятся внутри и за областью ex233 записи данных, соответственно, предназначены для особого использования, исключающего запись пользовательских данных. Модуль 400 воспроизведения/записи информации читает и записывает кодированное аудио, кодированные видеоданные, или мультиплексированные данные, полученные путем мультиплексирования кодированного аудио- и видео- данных, из области ex233 записи данных носителя ex215 записи и на нее.
Несмотря на то, что в настоящем описании в качестве примера описан оптический диск, имеющий один слой, например, DVD и BD, оптический диск не ограничивается этим, и может быть оптическим диском, имеющим многослойную структуру, и способный осуществлять запись на другую часть, кроме поверхности. Кроме того, оптический диск может иметь структуру для многомерных записи/ воспроизведения, например, записи информации с использованием света разных цветов с различными длинами волны на одном и том же участке оптического диска, и для записи информации, при наличии различных уровней, под разными углами.
Кроме того, в системе ex200 цифрового вещания автомобиль ex210 с антенной ex205 может принимать данные от спутника ex202 и пр., и воспроизводить видеоизображение на устройстве отображения, таком, как автомобильная навигационная система ex211, установленная в автомобиле ex210. В этом случае, конфигурацией автомобильной навигационной системы ex211 будет конфигурация, например, включающая в себя модуль приема GPS из конфигурации, продемонстрированной на Фиг. 24. То же самое будет справедливо и для конфигурации компьютера ex111, сотового телефона ex114, и пр.
Фиг. 27A демонстрирует сотовый телефон ex114, который использует способ кодирования движущегося графического изображения и способ декодирования движущегося графического изображения, описанные в вариантах осуществления. Сотовый телефон ex114 включает в себя: антенну ex350 для передачи и приема радиоволн через базовую станцию ex110; модуль ex365 камеры, способный захватывать движущиеся и неподвижные изображения; и модуль ex358 отображения, такой, как жидкокристаллическое устройство отображения, для отображения данных, таких, как декодированное видеоизображение, захваченное модулем ex365 камеры или принятое антенной ex350. Сотовый телефон ex114 дополнительно включает в себя: модуль основного корпуса, включающий в себя операционный клавишный модуль ex366; модуль ex357 аудиовывода, такой, как динамик для аудиовывода; модуль ex356 аудиоввода, такой, как микрофон для аудиоввода; модуль ex367 памяти для хранения захваченных видеоизображений или неподвижных графических изображений, записанного аудио, кодированных или декодированных данных принятых видеоизображений, неподвижных графических изображений, сообщений электронной почты, и пр.; и модуль ex364 щелевого разъема, который является интерфейсным модулем для носителя записи, который хранит данные так же, как модуль ex367 памяти.
Далее будет описан пример конфигурации сотового телефона ex114 со ссылкой на Фиг. 27B. В сотовом телефоне ex114, основной модуль ex360 управления, предназначенный для управления в целом каждым модулем в основном корпусе, в том числе модулем ex358 отображения, а также операционным клавишным модулем ex366, взаимно соединяется, через синхронную шину ex370, с модулем ex361 схемы подачи питания, операционным модулем ex362 управления вводом, модулем ex355 обработки видеосигнала, интерфейсным модулем ex363 камеры, модулем ex359 управления жидкокристаллическим устройством отображения (LCD - liquid crystal display), модулем ex352 модуляции/демодуляции, модулем ex353 мультиплексирования/демультиплексирования, модулем ex354 обработки аудиосигнала, модулем ex364 щелевидного разъема, и модулем ex367 памяти.
При включении клавиши завершения вызова или клавиши питания в результате действия пользователя, модуль ex361 схемы подачи питания подает на соответственные модули питание от блока батарей, чтобы активировать сотовый телефон ex114.
В сотовом телефоне ex114, модуль ex354 обработки аудиосигнала преобразует аудиосигналы, собранные модулем ex356 аудиоввода, в режиме преобразования речи, в цифровые аудиосигналы под управлением основного модуля ex360 управления, включающего в себя ЦП, ПЗУ и ОЗУ. Затем, модуль 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 Transport Stream.
Фиг. 28 демонстрирует структуру мультиплексированных данных. Как продемонстрировано на Фиг. 28, мультиплексированные данные могут быть получены путем мультиплексирования по меньшей мере одного из следующего: видеопоток, аудиопоток, поток презентационной графики (ПГ), и поток интерактивной графики (ИГ). Видеопоток представляет собой основное видеоизображение и вторичное видеоизображение фильма, аудиопоток представляет собой основную аудиочасть и вторичную аудиочасть, которая должна быть смешана с основной аудиочастью, а поток презентационной графики представляет собой субтитры фильма. В данном документе, основное видеоизображение является нормальным видеоизображением, которое должно быть отображено на экране, а вторичное видеоизображение является видеоизображением, которое должно быть отображено в меньшем окне в основном видеоизображении. Кроме того, поток интерактивной графики представляет собой интерактивный экран, который должен быть сгенерирован путем размещения компонентов графического интерфейса пользователя на экране. Видеопоток кодируется согласно способу кодирования движущегося графического изображения или устройством кодирования движущегося графического изображения, показанным в каждом из вариантов осуществления, или согласно способу кодирования движущегося графического изображения или устройством кодирования движущегося графического изображения, согласующимися с традиционным стандартом, таким, как 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 назначаются аудиопотокам, которые должны быть использованы для вторичного аудио, которое должно быть смешана с основным аудио.
Фиг. 29 схематично демонстрирует, как мультиплексируются данные. Сначала, видеопоток ex235, состоящий из видеокадров и аудиопоток ex238, состоящий из аудиокадров, преобразуется в поток PES-пакетов ex236 и поток PES-пакетов ex239, и далее в TS-пакеты ex237 и TS-пакеты ex240, соответственно. Аналогично, данные потока ex241 презентационной графики и данные потока ex244 интерактивной графики преобразуются в поток PES-пакетов ex242 и поток PES-пакетов ex245, и далее в TS-пакеты ex243 и TS-пакеты ex246, соответственно. Эти TS-пакеты мультиплексируются в поток, чтобы получить мультиплексированные данные ex247.
Фиг. 30 более подробно демонстрирует, как видеопоток сохраняется в потоке PES-пакетов. Первая полоса на Фиг. 30 показывает поток видеокадров в видеопотоке. Вторая полоса показывает поток PES-пакетов. Как указано стрелками, обозначенными как yy1, yy2, yy3 и yy4 на Фиг. 30, видеопоток разделяется на графические изображения в порядке графические изображения I, графические изображения B, и графические изображения P, каждый из которых представляет собой единицу видеопрезентации, и эти графические изображения сохраняются в полезной нагрузке каждого из PES-пакетов. Каждый из PES-пакетов имеет PES-заголовок, и PES-заголовок хранит временную метку предоставления (PTS - Presentation Time-Stamp), указывающую время отображения этого графического изображения, и временную метку декодирования (DTS - Decoding Time-Stamp), указывающую время декодирования этого графического изображения.
Фиг. 31 демонстрирует формат TS-пакетов, которые должны быть в конечном счете записаны на мультиплексированных данных. Каждый из TS-пакетов представляет собой пакет фиксированной длины в 188 байтов, включающий в себя 4-байтовый TS-заголовок с такой информацией, как PID для идентификации потока и 184 байт полезной нагрузки TS для хранения данных. PES-пакеты разделяются и сохраняются в полезной нагрузке TS, соответственно. Когда используется BD ROM, каждому из TS-пакетов придается 4-байтовый дополнительный заголовок TP, что дает в результате 192-байтовые исходные пакеты. Исходные пакеты записываются на мультиплексированные данные. Дополнительный заголовок TP хранит такую информацию, как временная метка поступления (ATS - Arrival_Time_Stamp). ATS показывает время начала переноса, в которое каждый из TS-пакетов должен быть перенесен в PID-фильтр. Исходные пакеты размещаются в мультиплексированных данных, как показано внизу Фиг. 31. Номера, увеличивающиеся от первого элемента мультиплексированных данных, называются номерами исходных пакетов (SPN - source packet number).
Каждый из TS-пакетов, включенных в мультиплексированные данные, включает в себя не только потоки аудио, видеоизображений, субтитров и пр., но также и Таблицу ассоциаций программы (PAT - Program Association Table), Таблицу состава программы (PMT - Program Map Table), и Ссылку на программные часы (PCR - Program Clock Reference). PAT показывает, что обозначает PID в PMT, используемой в мультиплексированных данных, а PID для самой PAT регистрируется как нуль. PMT хранит PID потоков видеоизображений, аудио, субтитров и пр., включенных в мультиплексированные данные, и атрибутную информацию потоков, соответствующих этим PID. PMT также содержит различные дескрипторы, связанные с мультиплексированными данными. Дескрипторы содержат такую информацию, как информацию управления копиями, показывающую, разрешено ли копирование мультиплексированных данных или нет. PCR хранит информацию времени STC в соответствии с ATS, показывающую, когда PCR-пакет переносится в декодер, чтобы достичь синхронизации между Таймером поступления (ATC - Arrival Time Clock), который является временной осью для ATS, и Системным таймером (STC - System Time Clock), который является временной осью для PTS и DTS.
Фиг. 32 демонстрирует структуру данных PMT в деталях. PMT-заголовок расположен в верхней части PMT. PMT-заголовок описывает длину данных, включенных в PMT, и пр. Множество дескрипторов, связанных с мультиплексированными данными, расположено после PMT-заголовка. В дескрипторах описывается такая информация, как информация управления копиями. После дескрипторов расположено множество фрагментов потоковой информации, связанной с потоками, входящими в мультиплексированные данные. Каждый фрагмент потоковой информации включает в себя потоковые дескрипторы, каждый из которых описывает такую информацию, как тип потока для идентификации кодека сжатия потока, PID потока, и атрибутная информация потока (например, частота кадров или форматное соотношение). Количество потоковых дескрипторов равно количеству потоков в мультиплексированных данных.
Когда мультиплексированные данные записываются на носитель записи и пр., они записываются вместе с файлами информации мультиплексированных данных.
Каждый из файлов информации мультиплексированных данных является управляющей информацией мультиплексированных данных, как показано на Фиг. 33. Файлы информации мультиплексированных данных находятся в однозначном соответствии с мультиплексированными данными, и каждый из этих файлов включает в себя информацию мультиплексированных данных, атрибутную информацию потока, и карту входов.
Как продемонстрировано на Фиг. 33, информация мультиплексированных данных включает в себя скорость передачи данных в системе, время начала воспроизведения, и время окончания воспроизведения. Скорость передачи данных в системе указывает максимальную скорость переноса, с которой системный конечный декодер, которое будет описан позже, переносит мультиплексированные данные в PID-фильтр. Интервалы ATS, включенных в мультиплексированные данные, устанавливаются на значения не выше, чем скорость передачи данных в системе. Время начала воспроизведения указывает PTS в видеокадре в начале мультиплексированных данных. Длительность одного кадра добавляется к PTS в видеокадре в конце мультиплексированных данных, и PTS устанавливается на время окончания воспроизведения.
Как показано на Фиг. 34, фрагмент атрибутной информации записывается в атрибутную информацию потока, для каждого PID каждого потока, входящего в мультиплексированные данные. Каждый фрагмент атрибутной информации содержит разную информацию в зависимости от того, является ли соответствующий поток видеопотоком, аудиопотоком, потоком презентационной графики, или потоком интерактивной графики. Каждый фрагмент атрибутной информации видеопотока несет информацию, включающую в себя то, какой кодек сжатия используется для сжатия видеопотока, а также разрешение, форматное соотношение и частоту кадров фрагментов данных графического изображения, которое входит в видеопоток. Каждый фрагмент атрибутной информации аудиопотока несет информацию, включающую в себя то, какой кодек сжатия используется для сжатия аудиопотока, сколько каналов входит в аудиопоток, какой язык поддерживает аудиопоток, и насколько высока частота дискретизации. Атрибутная информация видеопотока, и атрибутная информация аудиопотока используются для инициализации декодера перед тем, как устройство воспроизведения проигрывает информацию.
В настоящем варианте осуществления, мультиплексированные данные, которые должны быть использованы, имеют потоковый тип, включенный в PMT. Кроме того, когда мультиплексированные данные записываются на носитель записи, используется атрибутная информация видеопотока, входящая в информацию мультиплексированных данных. Конкретнее, способ кодирования движущегося графического изображения или устройство кодирования движущегося графического изображения, описанные в каждом из вариантов осуществления, включают в себя этап или модуль для назначения уникальной информации, указывающей видеоданные, сгенерированные при помощи способа кодирования движущегося графического изображения или устройства кодирования движущегося графического изображения в каждом из вариантов осуществления, относительно типа потока, включенного в PMT, или атрибутной информации потока. При этой конфигурации, видеоданные, сгенерированные при помощи способа кодирования движущегося графического изображения или устройства кодирования движущегося графического изображения, описанных в каждом из вариантов осуществления, можно провести различие от видеоданных, которые согласуются с другим стандартом.
Кроме того, Фиг. 35 демонстрирует этапы способа декодирования движущегося графического изображения в соответствии с настоящим вариантов осуществления. На этапе exS100, из мультиплексированных данных получают тип потока, включенный в PMT, или атрибутную информацию видеопотока, включенную в информацию мультиплексированных данных. Затем, на этапе exS101, определяют, указывает или нет тип потока или атрибутная информация видеопотока, что мультиплексированные данные сгенерированы при помощи способа кодирования движущегося графического изображения или устройства кодирования движущегося графического изображения в рамках каждого из вариантов осуществления. Если определено, что тип потока или атрибутная информация видеопотока указывает, что мультиплексированные данные сгенерированы при помощи способа кодирования движущегося графического изображения или устройства кодирования движущегося графического изображения в каждом из вариантов осуществления, то, на этапе exS102, выполняют декодирование при помощи способа декодирования движущегося графического изображения в каждом из вариантов осуществления. Кроме того, если тип потока или атрибутная информация видеопотока указывает соответствие традиционным стандартам, таким, как MPEG-2, MPEG-4 AVC и VC-1, то, на этапе exS103, выполняют декодирование при помощи способа декодирования движущегося графического изображения согласно традиционным стандартам.
Соответственно, назначение нового уникального значения для типа потока или атрибутной информации видеопотока позволяет определить, может или нет способ декодирования движущегося графического изображения или устройство декодирования движущегося графического изображения, которые описаны в каждом из вариантов осуществления, выполнить декодирование. Даже если на вход поступают мультиплексированные данные, которые согласуются с другим стандартом, могут быть выбраны подходящие способ или устройство декодирования. Таким образом, становится возможным декодировать информацию без каких-либо ошибок. Кроме того, способ или устройство кодирования движущегося графического изображения, или способ или устройство декодирования движущегося графического изображения в настоящем варианте осуществления может использоваться в описанных выше устройствах и системах.
ВАРИАНТ 5 ОСУЩЕСТВЛЕНИЯ
Каждый из способа кодирования движущегося графического изображения, устройства кодирования движущегося графического изображения, способа декодирования движущегося графического изображения, и устройства декодирования движущегося графического изображения в каждом из вариантов осуществления обычно осуществляется в виде интегральной схемы или Большой Интегральной Схемы (БИС). В качестве примера БИС, на Фиг. 36 продемонстрирована конфигурация БИС ex500, которая произведена на одном кристалле. БИС ex500 включает в себя элементы ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508 и ex509, которые будут описаны ниже, и эти элементы соединяются друг с другом через шину ex510. Модуль ex505 схемы подачи питания активируется посредством подачи питания на каждый из элементов при включении модуля ex505 схемы подачи питания.
Например, при выполнении кодирования, БИС ex500 принимает AV-сигнал от микрофона ex117, камеры ex113, и пр., через устройство ex509 AV-ввода-вывода под управлением модуля ex501 управления, включающего в себя ЦП ex502, устройство ex503 управления памятью, устройство ex504 управления потоком, а также модуль ex512 управления частотой возбуждения. Принятый AV-сигнал временно сохраняется во внешней памяти ex511, такой, как SDRAM. Под управлением модуля ex501 управления, сохраненные данные сегментируются на порции данных согласно объему и скорости обработки, которые должны быть переданы на модуль ex507 обработки сигналов. Затем, модуль ex507 обработки сигналов кодирует аудиосигнал и/или видеосигнал. В данном документе, кодирование видеосигнала является кодированием, описанным в каждом из вариантов осуществления. Кроме того, модуль ex507 обработки сигналов иногда мультиплексирует кодированные аудиоданные и кодированные видеоданные, и устройство ex506 потокового ввода-вывода предоставляет мультиплексированные данные вовне. Предоставленные мультиплексированные данные передаются на базовую станцию ex107, или записываются на носитель ex215 записи. Когда наборы данных мультиплексированы, эти данные должны быть временно сохранены в буферном устройстве ex508, чтобы наборы данных были синхронизированы друг с другом.
Хотя память ex511 и является элементом вне БИС ex500, она может быть включена в состав БИС ex500. Буферное устройство ex508 не ограничивается одним буферным устройством, а может быть составлено из буферных устройств. Кроме того, БИС ex500 может быть произведена на одном кристалле или на множестве кристаллов.
Кроме того, хотя модуль ex501 управления и включает в себя ЦП ex502, устройство ex503 управления памятью, устройство ex504 управления потоком, модуль ex512 управления частотой возбуждения, конфигурация модуля ex501 управления этим не ограничивается. Например, модуль ex507 обработки сигналов может дополнительно включать в себя ЦП. Добавление другого ЦП в модуль ex507 обработки сигналов может повысить скорость обработки. Кроме того, в качестве другого примера, ЦП ex502 может служить модулем ex507 обработки сигналов или быть его частью, и, например, может включать в себя модуль обработки аудиосигнала. В таком случае, модуль ex501 управления включает в себя модуль ex507 обработки сигналов или ЦП ex502, включающий в себя часть модуля ex507 обработки сигналов.
В данном документе используется название БИС, но это также может называться ИС, системная БИС, сверхбольшая ИС, или ультрабольшая ИС, в зависимости от степени интеграции.
Более того, пути осуществления интеграции не ограничиваются БИС, и специализированная схема или обрабатывающее устройство общего назначения и т.п. тоже может обеспечивать интеграцию. Программируемая пользователем вентильная матрица (ППВМ), которая может быть запрограммирована после изготовления БИС, или обрабатывающее устройство с изменяемой структурой, которое позволяет перестраивать соединение или конфигурацию БИС, могут использоваться для той же цели.
В будущем, с развитием полупроводниковой технологии, совершенно новая технология может заменить БИС. Функциональные блоки могут быть интегрированы с использованием такой технологии. Возможно, что настоящее изобретение находит применение в биотехнологии.
ВАРИАНТ 6 ОСУЩЕСТВЛЕНИЯ
При декодировании видеоданных, сгенерированных при помощи способа кодирования движущегося графического изображения или устройства кодирования движущегося графического изображения, описанных в каждом из вариантов осуществления, по сравнению с тем, когда декодируются видеоданные, которые согласуются с традиционным стандартом, таким, как MPEG-2, MPEG-4 AVC и VC-1, объем обработки может возрастать. А значит, БИС ex500 должна быть установлена на частоту возбуждения выше, чем частота возбуждения ЦП ex502 для использования при декодировании видеоданных в соответствии с традиционным стандартом. Однако, если устанавливается более высокая частота возбуждения, есть проблема увеличения потребляемой мощности.
Для того чтобы решить эту проблему, устройство декодирования движущегося графического изображения, такое, как телевизионный приемник ex300 и БИС ex500, выполняется с возможностью определения, с каким стандартом согласуются видеоданные, и переключения между частотами возбуждения в соответствии с определенным стандартом. Фиг. 37 демонстрирует конфигурацию ex800 в настоящем варианте осуществления. Модуль ex803 переключения частоты возбуждения устанавливает частоту возбуждения на более высокую частоту возбуждения, если видеоданные генерируются при помощи способа кодирования движущегося графического изображения или устройства кодирования движущегося графического изображения, описанных в каждом из вариантов осуществления. Затем, модуль ex803 переключения частоты возбуждения инструктирует модулю ex801 обработки декодирования, который исполняет способ декодирования движущегося графического изображения, описанный в каждом из вариантов осуществления, декодирование видеоданных. Если видеоданные согласуются с традиционным стандартом, модуль ex803 переключения частоты возбуждения устанавливает частоту возбуждения на более низкую частоту возбуждения, чем для видеоданных, сгенерированных при помощи способа кодирования движущегося графического изображения или устройства кодирования движущегося графического изображения, описанных в каждом из вариантов осуществления. Затем, модуль ex803 переключения частоты возбуждения инструктирует модулю ex802 обработки декодирования, который согласуется с традиционным стандартом, чтобы декодировать видеоданные.
Конкретнее, модуль ex803 переключения частоты возбуждения включает в себя ЦП ex502 и модуль ex512 управления частотой возбуждения, изображенные на Фиг. 36. В данном документе, и модуль ex801 обработки декодирования, который исполняет способ декодирования движущегося графического изображения, описанный в каждом из вариантов осуществления, и модуль ex802 обработки декодирования, который согласуется с традиционным стандартом, соответствует модулю ex507 обработки сигналов на Фиг. 36. ЦП ex502 определяет, с каким стандартом согласуются видеоданные. Затем модуль ex512 управления частотой возбуждения определяет частоту возбуждения, основываясь на сигнале от ЦП ex502. Кроме того, модуль ex507 обработки сигналов декодирует видеоданные, основываясь на сигнале от ЦП ex502. Например, идентификационная информация, описанная в Варианте 4 осуществления, может использоваться для идентификации видеоданных. Идентификационная информация не ограничивается описанной в Варианте 4 осуществления, а может быть любой информацией при условии, что эта информация указывает, с каким стандартом согласуются видеоданные. Например, если может быть определено, с каким стандартом согласуются видеоданные, основываясь на внешнем сигнале для определения, что видеоданные используются для телевизионного приемника или диска, и т.д., это определение может производиться на основании такого внешнего сигнала. Кроме того, ЦП ex502 выбирает частоту возбуждения, основываясь, например, на справочной таблице, в которой стандарты видеоданных связаны с частотами возбуждения, как показано на Фиг. 39. Частота возбуждения может быть выбрана благодаря сохранению справочной таблицы в буферном устройстве ex508 и во внутренней памяти БИС, и с обращением к справочной таблице со стороны ЦП ex502.
Фиг. 38 демонстрирует этапы для исполнения способа в настоящем варианте осуществления. Сначала, на этапе exS200, модуль ex507 обработки сигналов получает идентификационную информацию из мультиплексированных данных. Затем, на этапе exS201, ЦП ex502 определяет, сгенерированы ли видеоданные при помощи способа кодирования и устройства кодирования, описанных в каждом из вариантов осуществления, основываясь на идентификационной информации. Если видеоданные сгенерированы при помощи способа кодирования движущегося графического изображения и устройства кодирования движущегося графического изображения, описанных в каждом из вариантов осуществления, то, на этапе exS202, ЦП ex502 передает сигнал, для установления частоты возбуждения на более высокую частоту возбуждения, модулю ex512 управления частотой возбуждения. Тогда модуль ex512 управления частотой возбуждения устанавливает частоту возбуждения на более высокую частоту возбуждения. С другой стороны, если идентификационная информация указывает, что видеоданные согласуются с традиционным стандартом, таким, как MPEG-2, MPEG-4 AVC и VC-1, то, на этапе exS203, ЦП ex502 передает сигнал, для установления частоты возбуждения на более низкую частоту возбуждения, модулю ex512 управления частотой возбуждения. Тогда модуль ex512 управления частотой возбуждения устанавливает частоту возбуждения на более низкую частоту возбуждения, чем в случае, когда видеоданные сгенерированы при помощи способа кодирования движущегося графического изображения и устройства кодирования движущегося графического изображения, описанных в каждом из вариантов осуществления.
Кроме того, вместе с переключением частот возбуждения, эффект экономии энергии может быть усилен за счет изменения напряжения, которое подается на БИС ex500 или устройство, включающее в себя БИС ex500. Например, если устанавливается более низкая частота возбуждения, напряжение, которое подается на БИС ex500 или устройство, включающее в себя БИС ex500, может устанавливаться на более низкое напряжение, чем в случае, когда устанавливается более высокая частота возбуждения.
Кроме того, при большем объеме обработки для декодирования, частота возбуждения может устанавливаться выше, а при меньшем объеме обработки для декодирования частота возбуждения может устанавливаться ниже, в качестве способа для установки частоты возбуждения. При этом, способ установки не ограничивается описанным выше. Например, если объем обработки для декодирования видеоданных, согласующихся с MPEG-4 AVC, является большим, чем объем обработки для декодирования видеоданных, сгенерированных при помощи способа кодирования движущегося графического изображения и устройства кодирования движущегося графического изображения, описанных в каждом из вариантов осуществления, то частота возбуждения может устанавливаться в порядке, обратном по отношению к описанной выше настройке.
Кроме того, способ для установки частоты возбуждения не ограничивается способом для установки более низкой частоты возбуждения. Например, если идентификационная информация указывает, что видеоданные сгенерированы при помощи способа кодирования движущегося графического изображения и устройства кодирования движущегося графического изображения, описанных в каждом из вариантов осуществления, то может устанавливаться более высокое напряжение, которое подается на БИС ex500, или устройство, включающее в себя БИС ex500. Если идентификационная информация указывает, что видеоданные согласуются с традиционным стандартом, таким, как MPEG-2, MPEG-4 AVC и VC-1, то может устанавливаться более низкое напряжение, которое подается на БИС ex500, или устройство, включающее в себя БИС ex500. В качестве другого примера, если идентификационная информация указывает, что видеоданные сгенерированы при помощи способа кодирования движущегося графического изображения и устройства кодирования движущегося графического изображения, описанных в каждом из вариантов осуществления, запуск ЦП ex502 не может быть приостановлен. Если идентификационная информация указывает, что видеоданные согласуются с традиционным стандартом, таким, как MPEG-2, MPEG-4 AVC и VC-1, запуск ЦП ex502 может быть приостановлен в данный момент времени, так как ЦП ex502 обладает излишней производительностью обработки. Даже если идентификационная информация указывает, что видеоданные сгенерированы при помощи способа кодирования движущегося графического изображения и устройства кодирования движущегося графического изображения, описанных в каждом из вариантов осуществления, в случае, когда ЦП ex502 обладает излишней производительностью обработки, запуск ЦП ex502 может быть приостановлен в данный момент времени. В таком случае, время приостановки может устанавливаться меньшим, чем в случае, когда идентификационная информация указывает, что видеоданные согласуются с традиционным стандартом, таким, как MPEG-2, MPEG-4 AVC и VC-1.
Соответственно, эффект экономии энергии может быть усилен за счет переключения между частотами возбуждения в зависимости от стандарта, с которым согласуются видеоданные. Кроме того, если БИС ex500 или устройство, включающее в себя БИС ex500, приводится в действие с помощью батареи, срок службы батареи может быть продлен благодаря эффекту экономии энергии.
ВАРИАНТ 7 ОСУЩЕСТВЛЕНИЯ
Бывают случаи, когда множество видеоданных, которые согласуются с разными стандартами, предоставляется на устройства и системы, такие, как телевизионный приемник и сотовый телефон. Чтобы обеспечить возможность декодирования этого множества видеоданных, которые согласуются с разными стандартами, модуль ex507 обработки сигналов, включенный в состав БИС ex500, должен согласовываться с разными стандартами. Однако, возникают проблемы увеличения масштаба схемы БИС ex500 и увеличения стоимости при использовании по отдельности модулей ex507 обработки сигналов, которые согласуются с соответственными стандартами.
Для того чтобы решить эту проблему, предположим, что конфигурация, в которой модуль обработки декодирования для реализации способа декодирования движущегося графического изображения, описанного в каждом из вариантов осуществления, и модуль обработки декодирования, который согласуется с традиционным стандартом, таким, как MPEG-2, MPEG-4 AVC и VC-1, частично совмещены. Ex900 на Фиг. 40A показывает пример такой конфигурации. Например, способ декодирования движущегося графического изображения, описанный в каждом из вариантов осуществления, и способ декодирования движущегося графического изображения, который согласуется с MPEG-4 AVC, имеют между собой в некоторой степени общими такие элементы обработки, как статистическое кодирование, обратное квантование, фильтрация распаковки блоков, и предсказание с компенсацией движения. Эти элементы обработки совместного использования могут предусматривать использование модуля ex902 обработки декодирования, который согласуется с MPEG-4 AVC. В отличие от этого, специально выделенный модуль ex901 обработки декодирования может использоваться для другой обработки, присущей только аспекту настоящего изобретения. Поскольку аспект настоящего изобретения характеризуется, в частности, статистическим декодированием, например, специально выделенный модуль ex901 обработки декодирования используется для статистического декодирования. В иных случаях, модуль обработки декодирования может совместно использоваться для обратного квантования, фильтрации распаковки блоков или компенсации движения, либо для всей обработки. Модуль обработки декодирования для реализации способа декодирования движущегося графического изображения, описанного в каждом из вариантов осуществления, может совместно использоваться для общей обработки, а специально выделенный модуль обработки декодирования может использоваться для обработки, присущей только MPEG-4 AVC.
Кроме того, ex1000 на Фиг. 40B показывает другой пример того, как обработка частично совмещается. Этот пример использует конфигурацию, включающую в себя специально выделенный модуль ex1001 обработки декодирования, который поддерживает обработку, присущую только аспекту настоящего изобретения, специально выделенный модуль ex1002 обработки декодирования, который поддерживает обработку, присущую только другому традиционному стандарту, и модуль ex1003 обработки декодирования, который поддерживает обработку, совместно используемую способом декодирования движущегося графического изображения в соответствии с аспектом настоящего изобретения и традиционным способом декодирования движущегося графического изображения. В данном документе, специально выделенные модули ex1001 и ex1002 обработки декодирования не обязательно специализируются для обработки в соответствии с аспектом настоящего изобретения и для обработки традиционного стандарта, соответственно, а могут быть модулями, способными реализовать общую обработку. Кроме того, конфигурация настоящего варианта осуществления может быть реализована посредством БИС ex500.
В силу этого, возможно уменьшение масштаба схемы БИС и снижение стоимости за счет совместного использования модуля обработки декодирования для обработки, которая будет общей для декодирования движущегося графического изображения в соответствии с аспектом настоящего изобретения и способа декодирования движущегося графического изображения, согласующегося с традиционным стандартом.
ПРОМЫШЛЕННАЯ ПРИМЕНИМОСТЬ
Устройство кодирования изображений и устройство декодирования изображений в соответствии с аспектами настоящего изобретения применимы, например, в телевизорах, цифровых видеомагнитофонах, автомобильных навигационных системах, подвижных телефонах, цифровых камерах, цифровых видеокамерах и тому подобном.
ПЕРЕЧЕНЬ ССЫЛОЧНЫХ ПОЗИЦИЙ
100, 300 устройство кодирования изображений
101 модуль генерирования блоков кодирования
102, 203 модуль предсказания
103 вычитающее устройство
104 модуль преобразования
105 устройство кодирования (кодер) с переменной длиной кода
106, 202 модуль обратного преобразования
107, 204 суммирующее устройство
108, 206 память кадров
111 модуль генерирования блока коэффициентов
112 устройство кодирования significant_flag
113 устройство кодирования greater1_flag
114 устройство кодирования greater2_flag
115 устройство кодирования level_minus3
116 устройство кодирования sign_flag
121, 221 модуль установки групп significant_flag
122 модуль установки significant_flag
123, 225 память significant_flag
124, 222 модуль выбора контекста significant_flag
125, 302 устройство арифметического кодирования (кодер)
126, 224 память контекста significant_flag
200, 400 устройство декодирования изображений
201 устройство декодирования (декодер) с переменной длиной кода
205 модуль объединения декодированных блоков
211 устройство декодирования significant_flag
212 устройство декодирования greater1_flag
213 устройство декодирования greater2_flag
214 устройство декодирования level_minus3
215 устройство декодирования sign_flag
216 модуль реконструкции коэффициентов
217 модуль объединения блоков коэффициентов
223, 402 устройство арифметического декодирования (декодер)
301, 401 модуль выбора контекста