Устройство кодирования изображений, способ для кодирования изображения, программа для этого, устройство декодирования изображений, способ для декодирования изображения и программа для этого
Иллюстрации
Показать всеИзобретение относится к средствам кодирования изображений. Техническим результатом является повышение скорости кодирования/декодирования. Устройство кодирования содержит: компонент разделения, сконфигурированный с возможностью разделения входного изображения на множество блоков изображения, причем по меньшей мере один из блоков изображения разделяется на подблоки изображения; компонент определения соответствующих параметров квантования подблоков изображения; компонент получения первого значения разности между первым параметром квантования первого подблока изображения блока изображения и вторым параметром квантования второго подблока изображения блока изображения; компонент кодирования первого значения разности и второго значения разности. 6 н. и 12 з.п.ф-лы, 23 ил.
Реферат
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[0001] Настоящее изобретение относится к устройству кодирования изображений, способу для кодирования изображения, программе для этого, устройству декодирования изображений, способу для декодирования изображения и программе для этого. Более конкретно, настоящее изобретение относится к способу для кодирования с предсказанием для параметров квантования в изображении.
УРОВЕНЬ ТЕХНИКИ
[0002] В качестве способа для сжатия и записи движущегося изображения известен (ISO/IEC 14496-10; 2004 Информационная технология - Кодирование аудиовизуальных объектов - Часть 10: Усовершенствованное видеокодирование (ISO/IEC 14496-10; 2004 Information technology - Coding of audio-visual objects - Part 10: Advanced Video Coding)) H.264/MPEG-4AVC (в дальнейшем упоминаемый как H.264). H.264 широко используется для односегментного наземного цифрового вещания.
[0003] H.264 предоставляет возможность изменения параметров квантования в макроблочных компонентах (единицах) (16x16 пикселей) посредством использования кода mb_qp_delta. Формула 7-23, обсужденная в вышеупомянутом документе, суммирует значение разности mb_qp_delta с параметром квантования QPYPREV последнего декодированного макроблока для изменения параметров квантования в макроблочных компонентах (16x16 пикселей).
[0004] В последние годы стали предприниматься действия для стандартизации Высокоэффективного видеокодирования (HEVC) на международном уровне. (HEVC по-прежнему является способом кодирования с более высокой эффективностью, который является преемником H.264). Данные действия, с увеличением размера экрана, рассматривают разделение на блоки большего размера, чем традиционные макроблоки (16x16 пикселей). Согласно статье JCT-VC JCTVC-A205.doc, основной блок, имеющий больший размер, упоминается, как Наибольший блок дерева кодирования (LCTB (Largest Coding Tree Block)). Рассмотрение допускает размер в 64x64 пикселей (статья JCT-VC JCTVC-A205.doc <http://wftp3.itu.int/av-arch/jctvc-site/2010_04_A_Dresden/>). LCTB дополнительно разделяется на множество подблоков, то есть, на Блоки дерева кодирования (CTB (Coding Tree Blocks)), подвергаемые преобразованию и квантованию. В качестве способа разделения используется структура дерева квадрантов с областями для разделения блока на четыре подблока (два по вертикали и два по горизонтали).
[0005] На Фиг. 2A изображена структура дерева квадрантов с областями. Полный («Толстый») кадр 10000 указывает основной блок, который образован из 64x64 пикселей для упрощения описания. Каждый из подблоков 10001 и 10010 образован из 16x16 пикселей. Каждый из подблоков с 10002 по 10009 образован из 8x8 пикселей. Подблоки образованы по такому принципу и используются для преобразования и другой обработки кодирования.
[0006] В HEVC считается, что управление параметром квантования выполняется на основе основного блока схожим образом с макроблоками в H.264. Однако, с точки зрения качества изображения фактически желательно, чтобы выполнялось управление параметром квантования на основе подблоков. В данном случае, ожидается, что квантование в более малых компонентах будет выполняться через управление параметром квантования на основе подблоков.
[0007] Однако обработка выполняется на основе структуры дерева квадрантов с областями, даже если возможно квантование в более малых компонентах. Поэтому, не представлялось возможности эффективного выполнения параллельной обработки на основе подблоков, не имея улучшения в скорости обработки кодирования и декодирования. В частности, со ссылкой на Фиг. 2A, подблок 10001 (16x16 пикселей), подблоки с 10002 по 10009 (8x8 пикселей) и подблок 10010 (16x16 пикселей) обрабатываются в данном порядке. Поскольку каждый из параметров квантования подблоков вычисляется посредством использования значения разности относительно параметра квантования предыдущего подблока в качестве заранее определенного значения, эти параметры квантования должны быть подвергнуты последующей обработке, таким образом исключая возможность эффективной параллельной обработки на основе подблоков.
[0008] Дополнительно, когда оптимизация параметра квантования предпринимается для каждого подблока, значения разности будут изменяться, поскольку обработка для получения значения разности параметра квантования выполняется на основе структуры дерева квадрантов с областями. Например, на Фиг. 2B изображено значение параметра квантования, указанное в центре каждого подблока. В примере на Фиг. 2B рассматривается случай, где значения параметров квантования постепенно изменяются от верхней левой стороны к нижней правой стороне. Данное явление, скорее всего, происходит в обыкновенных естественных изображениях. Так как подблок 10001 имеет параметр квантования 12, а подблок 10002 имеет параметр квантования 14, то подблок 10002 имеет значение разности +2 относительно подблока 10001. Последующие значения разности представляют собой +4, -6, +6, -6, +-0, +2, +4 и +2. Получение значений разности согласно структуре дерева квадрантов с областями таким способом приводит к колебанию в произвольном порядке значений разности, что обуславливает проблему генерирования больших кодов.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0009] Настоящее изобретение направлено на предоставление возможности параллельного выполнения для каждого подблока кодирования и декодирования, чтобы достигнуть не только высокоскоростной обработки, но также и высокоэффективного кодирования и декодирования параметра квантования.
[0010] Согласно аспекту настоящего изобретения, устройство кодирования изображений включает в себя: средство разделения, сконфигурированное с возможностью разделения входного изображения на множество подблоков, подвергаемых управлению квантованием; средство вычисления параметра квантования подблока, сконфигурированное с возможностью вычисления параметра квантования каждого из подблоков; средство вычисления параметра квантования основного блока, сконфигурированное с возможностью установки основного блока, включающего в себя по меньшей мере два подблока, и вычисления параметра квантования основного блока; средство вычисления значения разности, сконфигурированное с возможностью вычисления значения разности между параметром квантования основного блока и параметром квантования каждого подблока, содержащегося в основном блоке; и средство кодирования значения разности, сконфигурированное с возможностью кодирования значения разности.
[0011] Согласно примерному варианту осуществления настоящего изобретения возможно независимо кодировать и декодировать параметр квантования каждого подблока на основе параметра квантования основного блока на основе подблоков, способствуя параллельной обработке на основе подблоков. Дополнительно, ограничение ошибки предсказания предоставляет возможность высокоэффективного кодирования и декодирования параметра квантования.
[0012] Дополнительно признаки и аспекты настоящего изобретения станут очевидными из последующего подробного описания примерных вариантов осуществления со ссылкой на прилагаемые чертежи.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0013] Сопроводительные чертежи, которые включены в и составляют часть описания, изображают примерные варианты осуществления, признаки и аспекты изобретения и, вместе с описанием, служат для объяснения принципов действия изобретения.
[0014] [фиг. 1] Фиг. 1 является блок-схемой, изображающей конфигурацию устройства кодирования изображений согласно первому примерному варианту осуществления настоящего изобретения.
[фиг. 2A] На Фиг. 2A изображено разделение блока в качестве примера.
[фиг. 2B] На Фиг. 2B изображено разделение блока в качестве примера.
[фиг. 3] Фиг. 3 является подробной блок-схемой, изображающей компонент кодирования параметра квантования в устройстве кодирования изображений согласно первому примерному варианту осуществления настоящего изобретения.
[фиг. 4] Фиг. 4 является блок-схемой последовательности операций способа, изображающей обработку кодирования изображения посредством устройства кодирования изображений согласно первому примерному варианту осуществления настоящего изобретения.
[фиг. 5A] На Фиг. 5A изображена параллельная обработка во время кодирования.
[фиг. 5B] На Фиг. 5B изображена параллельная обработка во время кодирования.
[фиг. 6] Фиг. 6 является блок-схемой, изображающей конфигурацию устройства декодирования изображений согласно второму примерному варианту осуществления настоящего изобретения.
[фиг. 7] Фиг. 7 является подробной блок-схемой, изображающей компонент декодирования параметра квантования согласно второму примерному варианту осуществления настоящего изобретения.
[фиг. 8] Фиг. 8 является блок-схемой последовательности операций способа, изображающей обработку декодирования изображения посредством устройства декодирования изображений согласно второму примерному варианту осуществления настоящего изобретения.
[фиг. 9A] На Фиг. 9A изображена параллельная обработка при декодировании.
[фиг. 9B] На Фиг. 9B изображена параллельная обработка при декодировании.
[фиг. 10] Фиг. 10 является блок-схемой, изображающей конфигурацию устройства кодирования изображений согласно третьему примерному варианту осуществления настоящего изобретения.
[фиг. 11] Фиг. 11 является подробной блок-схемой, изображающей компонент кодирования параметра квантования в устройстве кодирования изображений согласно третьему примерному варианту осуществления настоящего изобретения.
[фиг. 12] Фиг. 12 является блок-схемой последовательности операций способа, изображающей обработку кодирования изображения посредством устройства кодирования изображений согласно третьему примерному варианту осуществления настоящего изобретения.
[фиг. 13] Фиг. 13 является блок-схемой, изображающей конфигурацию устройства декодирования изображений согласно четвертому примерному варианту осуществления настоящего изобретения.
[фиг. 14] Фиг. 14 является подробной блок-схемой, изображающей компонент декодирования параметра квантования в устройстве декодирования изображений согласно четвертому примерному варианту осуществления настоящего изобретения.
[фиг. 15] Фиг. 15 является блок-схемой последовательности операций способа, изображающей обработку декодирования изображения посредством устройства декодирования изображений согласно четвертому примерному варианту осуществления настоящего изобретения.
[фиг. 16] Фиг. 16 является подробной блок-схемой, изображающей компонент кодирования параметра квантования в устройстве кодирования изображений согласно пятому примерному варианту осуществления настоящего изобретения.
[фиг. 17] Фиг. 17 является блок-схемой последовательности операций способа, изображающей обработку кодирования изображения посредством устройства кодирования изображений согласно пятому примерному варианту осуществления настоящего изобретения.
[фиг. 18] Фиг. 18 является подробной блок-схемой, изображающей компонент декодирования параметра квантования в устройстве декодирования изображений согласно шестому примерному варианту осуществления настоящего изобретения.
[фиг. 19] Фиг. 19 является блок-схемой последовательности операций способа, изображающей обработку декодирования изображения посредством устройства декодирования изображений согласно шестому примерному варианту осуществления настоящего изобретения.
[фиг. 20] Фиг. 20 является блок-схемой, изображающей в качестве примера конфигурацию аппаратного обеспечения компьютера, применимую к устройству кодирования изображений и устройству декодирования изображений согласно примерным вариантам осуществления настоящего изобретения.
ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
[0015] Ниже будут подробно описаны различные примерные варианты осуществления, признаки и аспекты изобретения со ссылкой на чертежи.
[0016] Фиг. 1 является блок-схемой, изображающей устройство кодирования изображений согласно первому примерному варианту осуществления настоящего изобретения. На Фиг. 1 устройство кодирования изображений вводит данные изображения с вывода (терминала) 1000.
[0017] Компонент 1001 разделения блока разделяет входное изображение на множество основных блоков, то есть, отсекает основной блок от входного изображения множество раз, и, в случае необходимости, дополнительно разделяет каждый основной блок на множество подблоков. Устройство кодирования изображений выполняет управление квантованием на основе подблоков. Хотя для упрощения описания предполагается, что входное изображение имеет пиксельное значение в 8 бит, однако, пиксельное значение этим не ограничено. Размер основного блока составляет 64x64 пикселей, а минимальный размер подблока составляет 8x8 пикселей. В данном случае, основной блок включает в себя четыре подблока. Хотя разделение блока будет описано ниже на основе способа разделения блока на четыре подблока (два по вертикали и два по горизонтали), форма и размер блоков этим не ограничены. Основному блоку необходимо включать в себя по меньшей мере два подблока. Разделение подблока не ограничивается каким-либо конкретным способом. Например, все изображение может быть разделено на множество подблоков после вычисления величины краев и кластеризации. В частности, малые подблоки устанавливаются в части, где существует много краев, а большие подблоки устанавливаются в плоской части. Компонент 1002 определения параметра квантования определяет параметр квантования каждого основного блока и параметр квантования каждого подблока.
[0018] Компонент 1003 предсказания блока выполняет предсказание на основе подблоков, образованных посредством компонента 1001 разделения блока, для вычисления ошибки предсказания для каждого подблока. Компонент 1003 предсказания блока применяет внутреннее (intra) предсказание к внутренним кадрам неподвижного изображения и движущегося изображения, а также применяет предсказание с компенсацией движения к движущемуся изображению. Компонент 1004 преобразования блока применяет ортогональное преобразование к ошибке предсказания для каждого подблока для вычисления коэффициента ортогонального преобразования. Ортогональное преобразование не ограничивается каким-либо конкретным способом, и может быть основано на дискретном косинусном преобразовании и преобразовании Адамара. Компонент 1005 квантования блока квантует вышеупомянутый коэффициент ортогонального преобразования на основе параметра квантования каждого подблока, определенного компонентом 1002 определения параметра квантования. Данное квантование предоставляет возможность получения коэффициента квантования. Компонент 1006 кодирования блока применяет кодирование c переменной длиной слова к коэффициенту квантования для каждого подблока, полученного по такому принципу, чтобы сгенерировать данные кода коэффициента квантования. Кодирование не ограничивается каким-либо конкретным способом, и может быть основано на коде Хаффмана или арифметическом коде. Компонент 1007 генерирования воспроизведенного изображения блока воспроизводит ошибку предсказания посредством выполнения обратной операции относительно компонента 1005 квантования блока и компонента 1004 преобразования блока, чтобы сгенерировать декодированное изображение основного блока на основе результата обработки компонента 1003 предсказания блока. Данные воспроизведенного изображения сохраняются и используются для предсказания компонентом 1003 предсказания блока.
[0019] Компонент 1008 кодирования параметра квантования кодирует параметр квантования основного блока и каждый параметр квантования подблока, определенный компонентом 1002 определения параметра квантования, чтобы сгенерировать данные кода параметра квантования.
[0020] Компонент 1009 объединения и кодирования генерирует информацию заголовка и осуществляет кодирование относительно предсказания и объединяет данные кода параметра квантования, сгенерированные компонентом 1008 кодирования параметра квантования, и данные кода коэффициента квантования, сгенерированные компонентом 1006 кодирования блока. Компонент 1009 объединения и кодирования выводит сгенерированный битовый поток наружу через вывод 1010.
[0021] Ниже будет описана обработка кодирования изображения посредством устройства кодирования изображений согласно настоящему примерному варианту осуществления. Хотя в настоящем примерном варианте осуществления данные движущегося изображения вводятся в компонентах кадра, также могут быть введены данные неподвижного изображения для одного кадра.
[0022] Компонент 1001 разделения блока вводит данные изображения для одного кадра с вывода 1000 и разделяет данные изображения на множество основных блоков, причем каждый образован из 64x64 пикселей. В случае необходимости, компонент 1001 разделения блока дополнительно разделяет каждый основной блок на множество подблоков, причем каждый образован из, по меньшей мере, 8x8 пикселей. Компонент 1002 определения параметра квантования и компонент 1003 предсказания блока вводят информацию о делении в подблоки и разделенные данные изображения.
[0023] Компонент 1003 предсказания блока выполняет предсказание, ссылающееся на воспроизведенное изображение, сохраненное в компоненте 1007 генерирования воспроизведенного изображения блока, генерирует ошибку предсказания и выводит сгенерированную ошибку предсказания в компонент 1004 преобразования блока и компонент 1007 генерирования воспроизведенного изображения блока. Компонент 1004 преобразования блока применяет ортогональное преобразование к введенной ошибке предсказания, вычисляет коэффициент ортогонального преобразования и выводит вычисленный коэффициент ортогонального преобразования в компонент 1005 квантования блока.
[0024] Принимая во внимание количество входного кода, появляющегося в каждом подблоке, компонент 1002 определения параметра квантования определяет оптимальный параметр квантования на основе баланса между качеством изображения и количеством кода на основе подблоков. Например, может использоваться методика, обсуждаемая в находящейся в открытом доступе заявке на патент Японии № 4-323961. Компонент 1002 определения параметра квантования выводит каждый из определенных параметров квантования подблоков в компонент 1005 квантования блока, компонент 1007 генерирования воспроизведенного изображения блока и компонент 1008 кодирования параметра квантования.
[0025] Компонент 1005 квантования блока квантует коэффициент ортогонального преобразования (введенный из компонента 1004 преобразования блока) на основе каждого параметра квантования, определенного компонентом 1002 определения параметра квантования, для генерирования коэффициента квантования. Компонент 1005 квантования блока выводит сгенерированный коэффициент квантования в компонент 1006 кодирования блока и компонент 1007 генерирования воспроизведенного изображения блока. Компонент 1007 генерирования воспроизведенного изображения блока вводит коэффициент квантования и воспроизводит коэффициент ортогонального преобразования на основе каждого параметра квантования, определенного компонентом 1002 определения параметра квантования. Компонент 1007 генерирования воспроизведенного изображения блока применяет обратное ортогональное преобразование к воспроизведенному коэффициенту ортогонального преобразования для воспроизведения ошибки предсказания, генерирует воспроизведенное изображение на основе воспроизведенной ошибки предсказания и пиксельное значение, на которое осуществлялась ссылка во время предсказания, и сохраняет воспроизведенное изображение. Компонент 1006 кодирования блока кодирует коэффициент квантования для генерирования данных кода коэффициента квантования и выводит сгенерированные данные кода коэффициента квантования в компонент 1009 объединения и кодирования.
[0026] Компонент 1008 кодирования параметра квантования кодирует на основе основного блока параметры квантования, определенные компонентом 1002 определения параметра квантования.
[0027] Фиг. 3 является подробной блок-схемой, изображающей компонент 1008 кодирования параметра квантования. На Фиг. 3 компонент 1008 кодирования параметра квантования вводит через вывод 1 параметр квантования каждого подблока из компонента 1002 определения параметра квантования на Фиг. 1. Компонент 2 хранения параметра квантования однократно сохраняет входные параметры квантования подблоков. Компонент 3 определения параметра квантования основного блока определяет параметр квантования основного блока на основе параметра квантования каждого подблока, сохраненного в компоненте 2 хранения параметра квантования. Компонент 4 кодирования параметра квантования основного блока кодирует параметр квантования основного блока для генерирования кода параметра квантования основного блока. Компонент 4 кодирования параметра квантования основного блока выводит через вывод 5 сгенерированный код параметра квантования основного блока в компонент 1009 объединения и кодирования на Фиг. 1. Компонент 6 разности параметра квантования подблока получает разность между параметром квантования основного блока и параметром квантования каждого подблока. Компонент 7 кодирования параметра квантования подблока кодирует разность для генерирования кода значения разности параметра квантования подблока. Компонент 7 кодирования параметра квантования подблока выводит через вывод 8 сгенерированный код значения разности параметра квантования подблока в компонент 1009 объединения и кодирования на Фиг. 1.
[0028] С помощью вышеупомянутой конфигурации компонент 2 хранения параметра квантования сохраняет на основе основного блока параметры квантования подблоков, введенные с вывода 1. Когда все параметры квантования подблоков сохранены в компоненте 2 хранения параметра квантования, компонент 3 определения параметра квантования основного блока вычисляет параметр квантования основного блока. С помощью настоящего примерного варианта осуществления компонент 3 определения параметра квантования основного блока вычисляет среднее значение параметров квантования подблоков. На Фиг. 2B, среднее значение составляет 14,6. Когда кодирование параметра квантования выполняется на целочисленной основе, компонент 3 определения параметра квантования основного блока округляет среднее значение 14,6 и, поэтому, устанавливает параметр квантования основного блока в 15. Компонент 3 определения параметра квантования основного блока выводит определенный параметр квантования основного блока в компонент 4 кодирования параметра квантования основного блока и компонент 6 разности параметра квантования подблока. Компонент 4 кодирования параметра квантования основного блока кодирует входной параметр квантования основного блока посредством кодирования Голомба, чтобы сгенерировать код параметра квантования основного блока, и выводит сгенерированный код параметра квантования основного блока наружу через вывод 5.
[0029] Компонент 6 разности параметра квантования подблока вычисляет разность между параметром квантования каждого подблока и параметром квантования основного блока. На Фиг. 2B, значения разности представляют собой -3, -1, +3, -3, +3, -3, -3, -1, -1 и +5 в порядке структуры дерева квадрантов с областями. Компонент 6 разности параметра квантования подблока выводит эти значения разности в компонент 7 кодирования параметра квантования подблока. Компонент 7 кодирования параметра квантования подблока кодирует эти значения разности вместе с существованием или отсутствием изменения. Параметр квантования первого подблока 10001 отличается от параметра квантования основного блока или 15. Компонент 7 кодирования параметра квантования подблока кодирует однобитовое значение «1», указывающее изменение, и значение разности «-3» посредством кодирования Голомба и выводит результирующий код наружу через вывод 8 в качестве кодированных данных значения разности параметра квантования подблока. Впоследствии, компонент 7 кодирования параметра квантования подблока кодирует значение разности параметра квантования подблока второго подблока 10002. Так как данное значение разности отличается от параметра квантования основного блока, компонент 7 кодирования параметра квантования подблока выводит код Голомба, состоящий из однобитового значения «1», указывающего изменение, и значения разности параметра квантования подблока «-1», наружу через вывод 8. Впоследствии, схожим с вышеупомянутым образом компонент 7 кодирования параметра квантования подблока кодирует однобитовое значение «1», указывающее изменение, и значение разности параметра квантования подблока, чтобы сгенерировать кодированные данные значения разности параметра квантования подблока.
[0030] Возвращаясь к Фиг. 1, компонент 1009 объединения и кодирования генерирует последовательность изображения, заголовок кадра и другие коды. Для каждого основного блока компонент 1009 объединения и кодирования получает информацию, такую как режим предсказания, от компонента 1003 предсказания блока и кодирует информацию. Затем компонент 1009 объединения и кодирования вводит код параметра квантования основного блока из компонента 1008 кодирования параметра квантования. Впоследствии компонент 1009 объединения и кодирования объединяет кодированные данные значения разности параметра квантования подблока и данные кода коэффициента квантования для каждого подблока и выводит в качестве битового потока объединенные данные наружу через вывод 1010.
[0031] Фиг. 4 является блок-схемой последовательности операций способа, изображающей обработку кодирования изображения посредством устройства кодирования изображений согласно первому примерному варианту осуществления настоящего изобретения. На этапе S001 компонент 1009 объединения и кодирования генерирует последовательность, заголовок кадра и другие коды и выводит сгенерированные коды наружу через вывод 1010.
[0032] На этапе S002, компонент 1001 разделения блока последовательно отсекает каждый основной блок от входного изображения, начиная с его верхнего левого угла.
[0033] На этапе S003, компонент 1001 разделения блока дополнительно разделяет каждый основной блок на множество подблоков.
[0034] На этапе S004 компонент 1002 определения параметра квантования определяет параметры квантования подблоков. На этапе S005 устройство кодирования изображений определяет параметр квантования основного блока на основе параметров квантования подблоков, определенных на этапе S004. Чтобы упростить описание, устройство кодирования изображений согласно настоящему примерному варианту осуществления вычисляет среднее значение параметров квантования подблоков в основном блоке в качестве параметра квантования основного блока.
[0035] На этапе S006 устройство кодирования изображений кодирует параметр квантования основного блока (определенный на этапе S005) посредством кодирования Голомба и выводит результирующий код в качестве код параметра квантования основного блока.
[0036] На этапе S007 устройство кодирования изображений кодирует параметр квантования подблока на основе подблоков. При использовании параметра квантования, который является тем же самым что и параметр квантования основного блока в порядке структуры дерева квадрантов с областями, устройство кодирования изображений выводит однобитовый код «0». При использовании другого параметра квантования устройство кодирования изображений выводит однобитовый код «1» и разность между параметром квантования каждого подблока и параметром квантования основного блока.
[0037] На этапе S008 устройство кодирования изображений выполняет предсказание для данных изображения подблока, чтобы получить ошибку предсказания, применяет ортогональное преобразование и квантование к ошибке предсказания, кодирует полученный коэффициент квантования и выводит данные кода коэффициента квантования.
[0038] На этапе S009, устройство кодирования изображений применяет обратное квантование и обратное преобразование к полученному коэффициенту квантования, чтобы вычислить ошибку предсказания. Устройство кодирования изображений генерирует воспроизведенное изображение соответствующего подблока на основе ошибки предсказания и предсказанного значения, полученного из воспроизведенного изображения.
[0039] На этапе S010 устройство кодирования изображений определяет, завершена ли обработка кодирования для всех подблоков в основном блоке. Когда обработка кодирования завершена для всех подблоков (ДА на этапе S010), обработка переходит к этапу S011. В противном случае, когда обработка кодирования не завершена для всех подблоков (НЕТ на этапе S010), обработка возвращается к этапу S007, чтобы обработать следующий подблок.
[0040] На этапе S011 устройство кодирования изображений определяет, завершена ли обработка кодирования для всех основных блоков. Когда обработка кодирования завершена для всех основных блоков (ДА на этапе S011), обработка заканчивается. В противном случае, когда обработка кодирования не завершена для всех основных блоков (НЕТ на этапе S011), обработка возвращается к этапу S002, чтобы обработать следующий основной блок.
[0041] В частности на этапах с S005 по S009, вышеупомянутые конфигурация и этапы предоставляют возможность кодирования значения разности параметра квантования каждого подблока посредством использования параметра квантования основного блока, таким образом ограничивая количество генерируемого кода.
[0042] Хотя в настоящем примерном варианте осуществления среднее значение параметров квантования подблоков используется, как оно есть, в качестве параметра квантования основного блока, параметр квантования основного блока этим не ограничен и может быть фактическим значением параметра квантования подблока, самым близким к среднему значению. Например, хотя среднее значение является 14,6 в примере на Фиг. 2B, фактическое значение параметра квантования подблока, самое близкое к среднему значению, то есть, 14, может использоваться вместо значения, полученного посредством округления среднего значения. Получение параметра квантования подблока таким способом предоставляет возможность установления кода, указывающего изменение, в «0», сокращая количество значений разности параметров квантования подблоков, которые следует передавать.
[0043] Вышеупомянутая конфигурация дополнительно предоставляет возможность эффективного выполнения предсказания, квантования, преобразования и кодирования параллельно, достигая высокоскоростной обработки.
[0044] На Фиг. 5A и 5B изображена параллельная обработка в качестве примера для применения квантования, преобразования и обработки кодирования к подблокам с 10001 по 10005 в основном блоке 10000, изображенном на Фиг. 2A. В данном случае, чтобы упростить описание, предполагается использование трех процессоров для обработки кодирования. Процессоры с A по C вычисляют параметр квантования (QP) каждого подблока, вычисляют и кодируют значение разности параметра квантования каждого подблока (.delta. QP), применяют ортогональное преобразование и квантование к ошибке предсказания и кодируют коэффициент квантования. В данном случае эти коды объединяются посредством другого процессора.
[0045] На Фиг. 5A изображена традиционная параллельная обработка в качестве примера. Прежде всего, устройство кодирования изображений назначает обработку подблока 10001 процессору A, обработку подблока 10002 процессору B и обработку подблока 10003 процессору C. Время обработки для вычисления QP зависит от сложности изображения и размера блока. Существует тенденция того, что вычисление параметра квантования для подблока 10001, имеющего больший размер блока, занимает более длительное время, чем вычисление параметра квантования для подблоков 10002 и 10003.
[0046] После вычисления параметра квантования устройство кодирования изображений вычисляет значения разности параметров квантования. Чтобы начать вычисление значения разности параметра квантования подблока для подблока 10002, необходимо завершить вычисление параметра квантования подблока для подблока 10001. Это означает, что процессор B ожидает, пока процессор A завершит вычисление параметра квантования подблока для подблока 10001. Если требуется более длительное время для вычисления параметра квантования подблока 10002, чем вычисление параметра квантования подблока 10003, то необходимо, чтобы вычисление параметра квантования подблока для подблока 10002 было завершено, чтобы начать вычисление значения разности параметра квантования подблока для подблока 10003. Процессор C ожидает, пока процессор B завершит вычисление параметра квантования подблока для подблока 10002.
[0047] На Фиг. 5B изображена параллельная обработка в качестве примера согласно настоящему примерному варианту осуществления. Подобно традиционному случаю, устройство кодирования изображений назначает обработку подблока 10001 процессору A, обработку подблока 10002 процессору B и обработку подблока 10003 процессору C. После вычисления параметра квантования подблока устройство кодирования изображений вычисляет значения разности параметров квантования подблоков. Так как вычисление параметра квантования основного блока завершено, вычисление значения разности параметра квантования подблока для подблока 10002 может быть начато сразу после вычисления параметра квантования подблока. Таким образом, настоящее изобретение достигает эффективной параллельной обработки. В частности, когда существуют подблоки, имеющие множество размеров, настоящее изобретение обеспечивает значительный эффект от уменьшения интервала обработки.
[0048] Хотя в настоящем примерном варианте осуществления кодируется непосредственно значение параметра квантования основного блока, предсказание может быть выполнено посредством использования параметра квантования основного блока, обработанного ранее.
[0049] Хотя в настоящем примерном варианте осуществления основной блок образован из 64x64 пикселей, а подблок образован вплоть до из 8x8 пикселей, пиксельная конфигурация этим не ограничена. Например, размер блока основного блока может быть изменен на 128x128 пикселей. Форма основного блока и подблока не ограничена квадратом и может быть прямоугольником, таким как 8x4 пикселей. Сущность настоящего изобретения остается неизменной.
[0050] Хотя в настоящем примерном варианте осуществления среднее значение параметров квантования подблоков рассматривается как параметр квантования основного блока, параметр квантования основного блока этим не ограничен. Несомненно, возможно, например, что параметр квантования основного блока может быть срединным значением параметров квантования подблоков, либо самым частым значением параметра квантования подблока. Несомненно, таким образом возможно подготовить множество способов вычисления и выбрать самый эффективный параметр квантования основного блока.
[0051] Хотя однобитовый код, указывающий изменение, предоставляется в кодированных данных значения разности параметра квантования подблока, обработка этим не ограничена. Несомненно, возможно закодировать значение разности параметра квантования подблока даже тогда, когда нет никакого изменения.
[0052] Хотя в настоящем примерном варианте осуществления используется кодирование Голомба для кодирования параметра квантования основного блока, значения разности параметра квантования подблока и коэффициента квантования, обработка этим не ограничена. Несомненно, возможно использование, например, кодирования Хаффмана и других способов арифметического кодирования и выведение вышеупомянутых значений такими, какие они есть, без кодирования.
[0053] Хотя настоящий примерный вариант осуществления был в частности описан на основе кадров с использованием внутреннего предсказания, очевидно, что настоящий примерный вариант осуществления также применим к кадрам, которые могут использовать взаимное предсказание, вовлекающее компенсацию движения при предсказании.
[0054] Ниже будет описан второй примерный вариант осуществления настоящего изобретения на основе способа декодирования изображения для декодирования данных кода, закодированных посредством использования способа кодирования согласно первому примерному варианту осуществления настоящего изобретения. Фиг. 6 является блок-схемой, изображающей конфигурацию устройства декодирования изображений согласно второму примерному варианту осуществ