УСТРОЙСТВО КОДИРОВАНИЯ ИЗОБРАЖЕНИЙ, СПОСОБ ДЛЯ КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, ПРОГРАММА ДЛЯ ЭТОГО, УСТРОЙСТВО ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЙ, СПОСОБ ДЛЯ ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И ПРОГРАММА ДЛЯ ЭТОГО
IMAGE ENCODING DEVICE, METHOD FOR IMAGE ENCODING, PROGRAM FOR IT, IMAGE DECODING DEVICE, METHOD FOR IMAGE DECODING AND PROGRAM FOR IT

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[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 является блок-схемой, изображающей конфигурацию устройства декодирования изображений согласно второму примерному варианту осуществления настоящего изобретения.
[0055] Устройство декодирования изображений вводит кодированный битовый поток с вывода 1100. Компонент 1101 декодирования и отделения декодирует информацию заголовка битового потока, отделяет необходимые коды от битового потока и выводит отделенные коды в последующий каскад. Компонент 1101 декодирования и отделения выполняет обратное действие по отношению к компоненту 1009 объединения и кодирования на Фиг. 1. Компонент 1102 декодирования параметра квантования декодирует кодированные данные параметра квантования. Компонент 1103 декодирования блока декодирует код коэффициента квантования каждого подблока для воспроизведения коэффициента квантования. Компонент 1104 обратного квантования блока применяет обратное квантование к коэффициенту квантования на основе параметра квантования подблока, воспроизведенного компонентом 1102 декодирования параметра квантования, чтобы воспроизвести коэффициент ортогонального преобразования. Компонент 1105 обратного преобразования блока выполняет обратное ортогональное преобразование по отношению к компоненту 1004 преобразования блока на Фиг. 1 для воспроизведения ошибки предсказания. Компонент 1106 воспроизведения блока воспроизводит данные изображения подблока на основе ошибки предсказания и декодированных данных изображения. Компонент 1107 соединения блока размещает воспроизведенные данные изображения подблока в соответствующих положениях для воспроизведения данных изображения основного блока.
[0056] Ниже будет описана обработка декодирования изображения посредством устройства декодирования изображений согласно настоящему примерному варианту осуществления. Хотя во втором примерном варианте осуществления битовый поток движущегося изображения, сгенерированный устройством кодирования изображений согласно первому примерному варианту осуществления, вводится в компонентах кадра, также может быть введен битовый поток неподвижного изображения для одного кадра.
[0057] На Фиг. 6 компонент 1101 декодирования и отделения вводит данные потока для одного кадра с вывода 1100 и декодирует информацию заголовка, необходимую для воспроизведения изображения. Впоследствии компонент 1101 декодирования и отделения выводит код параметра квантования основного блока в компонент 1102 декодирования параметра квантования. Впоследствии компонент 1101 декодирования и отделения также выводит код значения разности параметра квантования подблока в компонент 1102 декодирования параметра квантования.
[0058] Фиг. 7 является подробной блок-схемой, изображающей компонент 1102 декодирования параметра квантования. Компонент 1102 декодирования параметра квантования вводит через вывод 101 код параметра квантования основного блока из компонента 1101 декодирования и отделения на Фиг. 6. Компонент 1102 декодирования параметра квантования также вводит через вывод 102 кодированные данные разности параметра квантования подблока из компонента 1101 декодирования и отделения на Фиг. 6. Компонент 103 декодирования параметра квантования основного блока вводит код параметра квантования основного блока и декодирует код параметра квантования основного блока для воспроизведения параметра квантования основного блока. Компонент 104 декодирования параметра квантования подблока декодирует кодированные данные значения разности параметра квантования подблока для воспроизведения значения разности параметра квантования каждого подблока. Компонент 105 суммирования параметра квантования подблока суммирует воспроизведенный параметр квантования основного блока и значение разности параметра квантования каждого подблока, чтобы воспроизвести параметр квантования каждого подблока. Компонент 105 суммирования параметра квантования подблока выводит через вывод 106 воспроизведенный параметр квантования каждого подблока в компонент 1104 обратного квантования блока на Фиг. 6.
[0059] Компонент 103 декодирования параметра квантования основного блока вводит код параметра квантования основного блока с вывода 101, декодирует код параметра квантования основного блока посредством использования кода Голомба для воспроизведения параметра квантования основного блока и сохраняет результирующий код.
[0060] Компонент 104 декодирования параметра квантования подблока вводит кодированные данные значения разности параметра квантования подблока с вывода 102 и декодирует кодированные данные значения разности параметра квантования подблока посредством использования кода Голомба для воспроизведения значения разности параметра квантования подблока. В частности, компонент 104 декодирования параметра квантования подблока декодирует однобитовый код, указывающий присутствие или существование изменения относительно параметра квантования основного блока. Когда нет никакого изменения, компонент 104 декодирования параметра квантования подблока выводит ноль в качестве значения разности параметра квантования подблока в компонент 105 суммирования параметра квантования подблока. Когда есть изменение, компонент 104 декодирования параметра квантования подблока впоследствии декодирует значение разности параметра квантования подблока и выводит результирующее значение в компонент 105 суммирования параметра квантования подблока. Компонент 105 суммирования параметра квантования подблока суммирует значение разности параметра квантования подблока с воспроизведенным параметром квантования основного блока для воспроизведения параметра квантования подблока и выводит воспроизведенный параметр квантования подблока наружу через вывод 106.
[0061] Возвращаясь к Фиг. 6, компонент 1103 декодирования блока вводит данные кода коэффициента квантования подблока, отделенные от битового потока компонентом 1101 декодирования и отделения, декодирует входные данные кода коэффициента квантования подблока посредством использования кода Голомба для воспроизведения коэффициента квантования каждого подблока и выводит воспроизведенный коэффициент квантования подблока в компонент 1104 обратного квантования блока. Компонент 1104 обратного квантования блока применяет обратное квантование к входному коэффициенту квантования подблока и параметру квантования подблока для воспроизведения коэффициента ортогонального преобразования и выводит воспроизведенный коэффициент ортогонального преобразования в компонент 1105 обратного преобразования блока. Компонент 1105 обратного преобразования блока применяет обратное преобразование к воспроизведенному коэффициенту ортогонального преобразования для воспроизведения ошибки предсказания и выводит воспроизведенную ошибку предсказания в компонент 1106 воспроизведения блока. Компонент 1106 воспроизведения блока вводит воспроизведенную ошибку предсказания, выполняет предсказание на основе декодированных данных пикселей, находящихся вокруг, или данных пикселей предыдущих кадров для воспроизведения данных изображения подблока и выводит воспроизведенные данные изображения подблока в компонент 1107 соединения блока. Компонент 1107 соединения блока размещает воспроизведенные данные изображения подблока в соответствующих положениях для воспроизведения данных изображения основного блока и выводит воспроизведенные данные изображения основного блока наружу через вывод 1108. Компонент 1107 соединения блока также выводит воспроизведенные данные изображения основного блока в компонент 1106 воспроизведения блока для вычисления предсказанного значения.
[0062] Фиг. 8 является блок-схемой последовательности операций способа, изображающей обработку декодирования изображения посредством устройства декодирования изображений согласно второму примерному варианту осуществления настоящего изобретения. На этапе S101, компонент 1101 декодирования и отделения декодируют информацию заголовка.
[0063] На этапе S102 компонент 103 декодирования параметра квантования основного блока декодирует код параметра квантования основного блока для воспроизведения параметра квантования основного блока.
[0064] На этапе S103 компонент 104 декодирования параметра квантования подблока декодирует кодированные данные значения разности параметра квантования подблока для воспроизведения значения разности параметра квантования подблока. Компонент 105 суммирования параметра квантования подблока суммирует параметр квантования основного блока со значением разности параметра квантования подблока для воспроизведения параметра квантования подблока.
[0065] На этапе S104 устройство декодирования изображений декодирует данные кода коэффициента квантования подблока для воспроизведения коэффициента квантования и применяет обратное квантование и обратное ортогональное преобразование к декодированным данным кода коэффициента квантования подблока для воспроизведения ошибки предсказания. Устройство декодирования изображений дополнительно выполняет предсказание на основе декодированных данных пикселей, находящихся вокруг, или данных пикселей предыдущих кадров, чтобы воспроизвести декодированное изображение подблока.
[0066] На этапе S105 устройство декодирования изображений размещает декодированное изображение подблока в декодируемом изображении основного блока. На этапе S106 устройство декодирования изображений определяет, завершена ли обработка декодирования для всех подблоков в соответствующем основном блоке. Когда обработка декодирования завершена для всех подблоков (ДА на этапе S106), обработка переходит к этапу S107. Когда обработка декодирования не завершена для всех подблоков (НЕТ на этапе S106), обработка возвращается к этапу S103, чтобы обработать следующий подблок.
[0067] На этапе S107 устройство декодирования изображений размещает декодированное изображение основного блока в декодированном изображении кадра. На этапе S108 устройство декодирования изображений определяет, завершена ли обработка декодирования для всех основных блоков. Когда обработка декодирования завершена для всех основных блоков (ДА на этапе S108), устройство декодирования изображений останавливает все действия, чтобы завершить обработку. Когда обработка декодирования не завершена для всех основных блоков (НЕТ на этапе S108), обработка возвращается этапу S102 для следующего основного блока.
[0068] Вышеупомянутые конфигурация и действия предоставляют возможность декодирования битового потока с уменьшенным количеством кода, генерируемым в первом примерном варианте осуществления, чтобы получить воспроизведенное изображение.
[0069] Если возможна идентификация кода для каждого подблока посредством использования символа разделителя, то возможно эффективное выполнение различных действий параллельно, то есть, воспроизводить параметры квантования подблоков, применять обратное квантование и обратное преобразование к воспроизведенным подблокам и воспроизводить данные изображения, таким образом достигая высокоскоростного декодирования.
[0070] На Фиг. 9A и 9B изображена параллельная обработка в качестве примера для применения декодирования, обратного квантования и обработки обратного преобразования к подблокам с 10001 по 10006 в основном блоке 10000, изображенном на Фиг. 2A, чтобы воспроизвести ошибки предсказания. Подобно Фиг. 5A и 5B согласно первому примерному варианту осуществления настоящего изобретения, чтобы упростить описание, предполагается использования трех процессоров. В данном примере эти три процессора декодируют значение разности параметра квантования каждого подблока (.delta.QP), чтобы воспроизвести параметр квантования (QP), декодируют коэффициент квантования и применяют обратное квантование и обратное ортогональное преобразование к коэффициенту квантования. В данном случае, еще один процессор отделяет эти коды.
[0071] На Фиг. 9A изображен пример традиционной параллельной обработки. Прежде всего, устройство декодирования изображений назначает обработку подблока 10001 процессору A, обработку подблока 10002 процессору B и обработку подблока 10003 процессору C. Так как процессор A, как первый процессор, декодирует параметр квантования подблока непосредственно. Процессоры B и C декодируют значение разности параметра квантования каждого подблока и затем воспроизводят параметр квантования подблока. Вышеупомянутая обработка достигается посредством суммирования параметра квантования подблока подблоков до появления предсказанного значения параметра квантования подблока и значения разности параметра квантования подблока.
[0072] Чтобы начать воспроизведение параметра квантования подблока для подблока 10002, необходимо завершить декодирование параметра квантования подблока 10001. Это означает, что процессор B ожидает, пока процессор A завершит воспроизведение параметра квантования для подблока 10001.
[0073] Это также применяется к воспроизведению параметра квантования для подблока 10002. Процессор C ожидает, пока процессор B завершит воспроизведение параметра квантования для подблока 10002. Впоследствии, каждый из процессоров, который завершил обработку, обрабатывает подблоки в порядке структуры дерева квадрантов с областями, то есть, в порядке подблока 10004, подблока 10005 и подблока 10006. Чтобы начать воспроизведение параметра квантования подблока для подблока 10006, необходимо завершить воспроизведение параметра квантования для подблока 10005. Это означает, что процессор C ожидает, пока процессор A завершит воспроизведение параметра квантования для подблока 10005.
[0074] На Фиг. 9B изображена параллельная обработка в качестве примера согласно настоящему примерному варианту осуществления. Сначала процессор A декодирует и сохраняет параметр квантования основного блока. Впоследствии, подобно традиционному случаю, устройство декодирования изображений назначает обработку подблока 10001 процессору A, обработку подблока 10002 процессору B и обработку подблока 10003 процессору C. После декодирования значения разности параметра квантования подблока устройство декодирования изображений воспроизводит параметр квантования подблока. Так как параметр квантования основного блока был воспроизведен, воспроизведение параметра квантования для подблока 10002 может быть начато сразу после декодирования значения разности параметра квантования подблока. Настоящее изобретение достигает эффективной параллельной обработки. В частности, когда существуют подблоки, имеющие множество размеров, настоящее изобретение предоставляет значительный эффект из-за уменьшения интервала обработки.
[0075] Предположим случай, где только подблок 10008 на Фиг. 2A отсекается посредством использования применения редактирования для отсечения части от данных изображения. В традиционном случае необходимо декодировать подблоки с 10001 по 10007. Согласно настоящему изобретению декодирование только подблоков 10001 и 10006 предоставляет возможность необходимой обработки декодирования, включающей в себя внутреннее предсказание. Таким образом, скорость обработки может быть повышена посредством пропуска обработки декодирования.
[0076] Подобно первому примерному варианту осуществления настоящего изобретения размер блока, размер компонента обработки, компоненты обработки, на которые осуществляется ссылка, и размещения пикселей и коды этим не ограничиваются.
[0077] Хотя во втором примерном варианте осуществления используется код Голомба для декодирования параметра квантования основного блока, значения разности параметра квантования подблока и коэффициента квантования, обработка этим не ограничена. Несомненно, можно использовать, например, кодирование Хаффмана и другие способы арифметического кодирования и выводить вышеупомянутые значения такими, какие они есть, без кодирования.
[0078] Хотя второй примерный вариант осуществления был в частности описан на основе кадров с использованием внутреннего предсказания, очевидно, что настоящий примерный вариант осуществления также применим к кадрам, которые могут использовать взаимное предсказание, вовлекающее компенсацию движения при предсказании.
[0079] Фиг. 10 является блок-схемой, изображающей устройство кодирования изображений согласно третьему примерному варианту осуществления настоящего изобретения. В третьем примерном варианте осуществления параметр квантования первого подблока (упоминаемый в дальнейшем, как параметр квантования первого подблока) рассматривается в качестве параметра квантования основного блока, и параметр квантования основного блока не кодируется отдельно. В отличие от первого примерного варианта осуществления настоящего изобретения третий примерный вариант осуществления не использует код, указывающий существование или отсутствие изменения. Однако, подобно первому примерному варианту осуществления настоящего изобретения кодирование может быть выполнено посредством использования кода, указывающего существование или отсутствие изменения. На Фиг. 10 элементам, имеющим ту же самую функцию, что и элементы в первом примерном варианте осуществления (Фиг. 1), присвоены те же самые ссылочные позиции, и дублирование описания опускается.
[0080] Компонент 1208 кодирования параметра квантования кодирует параметр квантования подблока для генерирования данных кода параметра квантования. Компонент 1209 объединения и кодирования генерирует информацию заголовка и код, относящийся к предсказанию, и объединяет данные кода параметра квантования, сгенерированные компонентом 1208 кодирования параметра квантования, и данные кода коэффициента квантования, сгенерированные компонентом 1006 кодирования блока.
[0081] Фиг. 11 является подробной блок-схемой, изображающей компонент 1208 кодирования параметра квантования. На Фиг. 11 элементам, имеющим ту же самую функцию, что и элементы в первом примерном варианте осуществления (Фиг. 3), присвоены те же самые ссылочные позиции, и дублирование описания опускается.
[0082] Селектор 200 выбирает получателя в зависимости от положения подблока для входного параметра квантования подблока. Компонент 203 хранения параметра квантования основного блока сохраняет параметр квантования первого подблока в качестве параметра квантования основного блока в порядке структуры дерева квадрантов с областями основного блока. Компонент 206 разности параметра квантования подблока вычисляет значение разности между каждым из последующих параметров квантования подблоков и параметром квантования основного блока. Компонент 207 кодирования параметра квантования подблока кодирует первый параметр квантования подблока и значение разности параметра квантования каждого подблока.
[0083] Подобно первому примерному варианту осуществления компонент 1208 кодирования параметра квантования, имеющий вышеупомянутую конфигурацию, вводит параметры квантования подблоков с вывода 1 в порядке структуры дерева квадрантов с областями. Селектор 200 выводит параметр квантования первого подблока в компонент 203 хранения параметра квантования основного блока в порядке структуры дерева квадрантов с областями. Селектор 200 выводит последующие параметры квантования подблоков в компонент 206 разности параметра квантования подблока.
[0084] Компонент 203 хранения параметра квантования основного блока сохраняет параметр квантования первого подблока в качестве параметра квантования основного блока. Затем компонент 206 разности параметра квантования подблока также вводит параметр квантования первого подблока. Так как параметр квантования соответствующего подблока является параметром квантования первого подблока в основном блоке, то компонент 206 разности параметра квантования подблока не вычисляет разность и выводит параметр квантования соответствующего подблока таким, какой он есть, в компонент 207 кодирования параметра квантования подблока в последующем каскаде. Компонент 207 кодирования параметра квантования подблока кодирует входной параметр квантования подблока посредством кодирования Голомба и выводит результирующий код наружу через вывод 8 в качестве кодированных данных параметра квантования подблока.
[0085] Впоследствии компонент 206 разности параметра квантования подблока вводит с вывода 1 через селектор 200 параметры квантования подблоков в порядке структуры дерева квадрантов с областями. Компонент 206 разности параметра квантования подблока вычисляет значение разности между каждым входным параметром квантования подблока и параметром квантования основного блока, сохраненным в компоненте 203 хранения параметра квантования основного блока. Компонент 207 кодирования параметра квантования подблока кодирует значение разности параметра квантования подблока посредством кодирования Голомба для генерирования кодированных данных значения разности параметра квантования подблока и выводит сгенерированные кодированные данные значения разности параметра квантования подблока наружу через вывод 8 в качестве кодированных данных параметра квантования подблока. Впоследствии компонент 207 кодирования параметра квантования подблока получает и кодирует значение разности параметра квантования подблока каждого подблока в основном блоке.
[0086] Фиг. 12 является блок-схемой последовательности операций способа, изображающей обработку кодирования изображения посредством устройства кодирования изображений согласно третьему примерному варианту осуществления настоящего изобретения. На Фиг. 12, элементам, имеющим ту же самую функцию, что и элементы в первом примерном варианте осуществления (Фиг. 4), присвоены те же самые ссылочные позиции, и дублирование описания опускается.
[0087] На этапах с S001 по S004, подобно первому примерному варианту осуществления настоящего изобретения, устройство кодирования изображений отсекает основной блок, разделяет основной блок на множество подблоков и определяет параметры квантования подблоков.
[0088] На этапе S205 устройство кодирования изображений сохраняет параметр квантования первого подблока в качестве параметра квантования основного блока.
[0089] На этапе S206 устройство кодирования изображений определяет, является ли входной подблок первым подблоком в основном блоке. Когда входной подблок является первым подблоком, обработка переходит к этапу S208 (ДА на этапе S206). В противном случае, когда входной подблок не является первым подблоком (НЕТ на этапе S206), обработка переходит к этапу S207. На этапе S207 устройство кодирования изображений вычисляет разность между параметром квантования основного блока, сохраненным на этапе S205, и входным параметром квантования подблока.
[0090] На этапе S208 устройство кодирования изображений кодирует входной параметр квантования подблока или значение разности параметра квантования подблока посредством кодирования Голомба и выводит результирующий код в качестве кодированных данных параметра квантования подблока.
[0091] На этапах S008 и S009 устройство кодирования изображений выполняет подобную обработку по отношению к устройству кодирования изображений согласно первому примерному варианту осуществления настоящего изобретения. На этапе S210 устройство кодирования изображений определяет, завершена ли обработка кодирования для всех подблоков в основном блоке. Когда обработка кодирования не завершена для всех подблоков (НЕТ на этапе S210), обработка переходит к этапу S206, чтобы обработать следующий подблок. Когда обработка кодирования завершена для всех подблоков (ДА на этапе S210), обработка переходит к этапу S011. Впоследствии устройство кодирования изображений выполняет обработку кодирования для всего изображения подобно устройству кодирования изображений согласно первому примерному варианту осуществления настоящего изобретения. С помощью вышеупомянутой конфигурации и действий, рассматривание параметра квантования первого подблока в качестве параметра квантования основного блока избавляет от необходимости переноса параметра квантования основного блока, приводя в результате к повышению эффективности кодирования.
[0092] Вышеупомянутая конфигурация и действия дополнительно предоставляют возможность эффективной параллельной обработки подобно первому примерному варианту осуществления настоящего изобретения. В частности, на Фиг. 5A, на первой стадии параллельной обработки, процессорам B и C необходимо ожидать, пока процессор A завершит вычисление параметра квантования первого подблока. Впоследствии, однако, процессоры B и C могут вычислять значение разности параметра квантования подблока 10005 без ожидания, пока процессор A завершит обработку подблока 10004.
[0093] Несомненно, можно предоставить код для переключения между способом кодирования параметра квантования основного блока в первом примерном варианте осуществления и способом рассмотрения параметра квантования первого подблока в качестве параметра квантования основного блока в настоящем примерном варианте осуществления и выбирать тот, который имеет более высокую эффективность кодирования.
[0094] Хотя один и тот же способ кодирования применяется к параметру квантования первого подблока (параметру квантования основного блока) и последующим значениям разности параметров квантования подблоков, обработка этим не ограничена. Несомненно, можно применять другие способы кодирования к параметру квантования первого подблока и последующим значениям разности параметров квантования подблоков.
[0095] Хотя в третьем примерном варианте осуществления параметр квантования основного блока, значение разности параметра квантования подблока и коэффициент квантования кодируются посредством кодирования Голомба, обработка этим не ограничена. Несомненно, можно использовать, например, кодирование Хаффмана и другие способы арифметического кодирования.
[0096] Хотя третий примерный вариант осуществления был в частности описан на основе кадров с использованием внутреннего предсказания, очевидно, что настоящий примерный вариант осуществления также применим к кадрам, которые могут использовать взаимное предсказание, вовлекающее компенсацию движения при предсказании.
[0097] Ниже будет описан четвертый примерный вариант осуществления настоящего изобретения на основе способа декодирования изображения для декодирования данных кода, кодированных посредством использования способа кодирования согласно третьему примерному варианту осуществления настоящего изобретения. Фиг. 13 является блок-схемой, изображающей устройство декодирования изображений для декодирования данные кода, кодированных посредством использования способа кодирования согласно третьему примерному варианту осуществления настоящего изобретения. На Фиг. 13, элементам, имеющим ту же самую функцию, что и элементы во втором примерном варианте осуществления (Фиг. 6), присвоены те же самые ссылочные позиции, и дублирование описания опускается.
[0098] На Фиг. 13 компонент 1301 декодирования и отделения декодирует информацию заголовка битового потока, отделяет необходимые коды от битового потока и выводит отделенные коды в последующий каскад. Компонент 1302 декодирования параметра квантования воспроизводит параметр квантования подблока. Компонент 1301 декодирования и отделения и компонент 1302 декодирования параметра квантования отличаются в данных кода параметра квантования от компонента 1101 декодирования и отделения и компонента 1102 декодирования параметра квантования (Фиг. 6), соответственно, согласно второму примерному варианту осуществления.
[0099] Ниже будет описана обработка декодирования изображения посредством устройства декодирования изображений согласно настоящему примерному варианту осуществления. Хотя в настоящем примерном варианте осуществления битовый поток движущегося изображения, сгенерированный устройством кодирования изображений согласно третьему примерному варианту осуществления, вводится в компонентах кадра, также может быть введен битовый поток неподвижного изображения для одного кадра.
[0100] Подобно второму примерному варианту осуществления, компонент 1301 декодирования и отделения вводит данные потока для одного кадра с вывода 1100 и декодирует информацию заголовка, необходимую для воспроизведения изображения. Впоследствии, компонент 1302 декодирования параметра квантования вводит кодированные данные параметра квантования подблока в порядке структуры дерева квадрантов с областями.
[0101] Фиг. 14 является подробной блок-схемой, изображающей компонент 1302 декодирования параметра квантования. На Фиг. 14, элементам, имеющим ту же самую функцию, что и элементы во втором примерном варианте осуществления (Фиг. 7), присвоены те же самые ссылочные позиции, и дублирование описания опускается.
[0102] Компонент 304 декодирования параметра квантования подблока декодирует параметр квантования подблока и кодированные данные значения разности параметра квантования подблока для воспроизведения значения разности параметра квантования каждого подблока. Селектор 300 выбирает получателя в зависимости от положения подблока для входного параметра квантования подблока. Компонент 310 хранения параметра квантования основного блока сохраняет в качестве параметра квантования основного блока декодированный первым параметр квантования подблока. Компонент 305 суммирования параметра квантования подблока суммирует параметр квантования основного блока и значение разности параметра квантования каждого подблока для воспроизведения параметра квантования каждого подблока.
[0103] С помощью вышеупомянутой конфигурации селектор 300 выбирает компонент 310 хранения параметра квантования основного блока в качестве получателя, когда начинается декодирование основного блока. Компонент 304 декодирования параметра квантования подблока вводит кодированные данные параметра квантования подблока первого подблока в основном блоке с вывода 102 и декодирует кодированные данные параметра квантования подблока посредством использования кода Голомба для воспроизведения параметра квантования подблока. Компонент 310 хранения параметра квантования основного блока вводит параметр квантования первого подблока через селектор 300 и сохраняет параметр квантования подблока в течение обработки соответствующего основного блока. Затем компонент 305 суммирования параметра квантования подблока также вводит параметр квантования первого подблока. Так как значение разности не существует для первого подблока, компонент 305 суммирования параметра квантования подблока выводит воспроизведенный параметр квантования подблока таким, какой он есть, наружу через вывод 106. Когда компонент 310 хранения параметра квантования основного блока сохраняет параметр квантования первого подблока, селектор 300 выбирает компонент 305 суммирования параметра квантования подблока в качестве получателя.
[0104] Впоследствии компонент 304 декодирования параметра квантования подблока вводит кодированные данные значений разности параметров квантования второго и последующих подблоков. Компонент 304 декодирования параметра квантования подблока декодирует входные кодированные данные значения разности параметра квантования подблока посредством использования кода Голомба для воспроизведения значения разности параметра квантования подблока. Компонент 305 суммирования параметра квантования подблока суммирует значение разности параметра квантования подблока (введенного через селектор 300) с параметром квантования основного блока, сохраненным в компоненте 310 хранения параметра квантования основного блока. Компонент 305 суммирования параметра квантования подблока воспроизводит параметр квантования подблока по такому принципу и выводит воспроизведенный параметр квантования подблока наружу через вывод 106. Впоследствии компонент 1302 декодирования параметра квантования декодирует параметр квантования подблока каждого подблока в основном блоке, вычисляет значение разности параметра квантования подблока и суммирует вычисленное значение разности параметра квантования подблока с параметром квантования основного блока для воспроизведения параметра квантования подблока.
[0105] Фиг. 15 является блок-схемой последовательности операций способа, изображающей обработку декодирования изображения согласно четвертому примерному варианту осуществления настоящего изобретения. На Фиг. 15 элементам, имеющим ту же самую функцию, что и элементы во втором примерном варианте осуществления (Фиг. 8), присвоены те же самые ссылочные позиции, и дублирование описания опускается.
[0106] На этапе S101 устройство декодирования изображений декодирует информацию заголовка подобно устройству декодирования изображений согласно второму примерному варианту осуществления настоящего изобретения. На этапе S310 устройство декодирования изображений определяет, является ли подблок, подвергаемый декодированию, первым подблоком в основном блоке. Когда подблок, подвергаемый декодированию, является первым подблоком (ДА на этапе S310), обработка переходит к этапу S311. В противном случае, когда подблок, подвергаемый декодированию, не является первым подблоком (НЕТ на этапе S310), обработка переходит к этапу S303.
[0107] На этапе S311 устройство декодирования изображений декодирует код, относящийся к входному параметру квантования подблока, то есть, кодированные данные параметра квантования подблока, посредством использовании кода Голомба и сохраняет результирующий код в качестве параметра квантования основного блока. Затем обработка переходит к этапу S104 для генерирования декодированного изображения первого подблока.
[0108] На этапе S303 устройство декодирования изображений декодирует код, относящийся к входному параметру квантования подблока, то есть, кодированные данные значения разности параметра квантования подблока, посредством использования кода Голомба для воспроизведения значения разности параметра квантования подблока. Устройство декодирования изображений суммирует воспроизведенное значение разности параметра квантования подблока с параметром квантования основного блока, сохраненным на этапе S311, и использует результат суммирования в качестве параметра квантования подблока. Обработка переходит к этапу S104 для генерирования декодированных изображений вторых и последующих подблоков.
[0109] Впоследствии подобно второму примерному варианту осуществления настоящего изобретения, устройство декодирования изображений генерирует декодированное изображение подблока и воспроизводит изображение кадра.
[0110] Вышеупомянутая конфигурация и действия предоставляют возможность декодирования кодированных данных с уменьшенным количеством кода, генерируемым в третьем примерном варианте осуществления, без отдельного кодирования основного параметра квантования.
[0111] Вышеупомянутая конфигурация и действия дополнительно предоставляют возможность эффективной параллельной обработки подобно второму примерному варианту осуществления настоящего изобретения. В частности, на Фиг. 9B, процессор A выполняет декодирование параметра квантования первого подблока для основного блока вместо декодирования параметра квантования основного блока. Данная обработка заменяет декодирование параметра квантования основного блока и декодирование значения разности параметра квантования первого подблока. Это означает, что, на первой стадии параллельной обработки, процессорам B и С необходимо ожидать, пока процессор A завершит декодирование параметра квантования первого подблока. Впоследствии процессоры B и С могут начать воспроизведение параметров квантования всех подблоков без ожидания, пока процессор A завершит обработку других подблоков.
[0112] Хотя в четвертом примерном варианте осуществления для декодирования параметра квантования основного блока, значения разности параметра квантования подблока и коэффициента квантования используется код Голомба, обработка этим не ограничена. Несомненно, можно использовать, например, кодирование Хаффмана и другие способы арифметического кодирования.
[0113] Когда предоставляется код для переключения между способом кодирования параметра квантования основного блока в третьем примерном варианте осуществления и способом рассмотрения параметра квантования первого подблока в качестве параметра квантования основного блока в четвертом примерном варианте осуществления, то устройство декодирования изображений интерпретирует упомянутый код и исполняет этап S102 на Фиг. 8. Альтернативно, устройство декодирования изображений предпочтительно выбирает, должны ли быть исполнены этапы S310, S311 и S303 на Фиг. 15.
[0114] Хотя четвертый примерный вариант осуществления был в частности описан на основе кадров с использованием внутреннего предсказания, очевидно, что настоящий примерный вариант осуществления также применим к кадрам, которые могут использовать взаимное предсказание, вовлекающее компенсацию движения при предсказании.
[0115] Ниже будет описан пятый примерный вариант осуществления настоящего изобретения на основе определения параметра квантования основного блока посредством использования параметра квантования подблока в последнем основном блоке.
[0116] Устройство кодирования изображений согласно пятому примерному варианту осуществления имеет конфигурацию, подобную устройству кодирования изображений согласно третьему примерному варианту осуществления настоящего изобретения (Фиг. 10), с отличием в конфигурации компонента 1208 кодирования параметра квантования.
[0117] Фиг. 16 является блок-схемой, изображающей подробную конфигурацию компонента 1208 кодирования параметра квантования согласно пятому примерному варианту осуществления настоящего изобретения.
[0118] На Фиг. 16 селектор 400 выбирает источник в зависимости от положения основного блока для входного параметра квантования подблока. Компонент 410 хранения параметра квантования подблока хранит параметры квантования подблока предыдущего основного блока. Компонент 403 определения параметра квантования основного блока определяет параметр квантования основного блока у основного блока, подвергаемого кодированию, на основе параметров квантования подблоков, сохраненных в компоненте 410 хранения параметра квантования подблока. Компонент 406 разности параметра квантования подблока вычисляет значение разности между параметром квантования основного блока и параметром квантования каждого подблока. Компонент 407 кодирования параметра квантования подблока кодирует значение разности между параметром квантования первого подблока и параметром квантования каждого подблока.
[0119] С помощью вышеупомянутой конфигурации, подобной третьему примерному варианту осуществления, компонент 1001 разделения блока разделяет данные изображения (введенные с вывода 1000) на множество подблоков, а компонент 1002 определения параметра квантования определяет параметр квантования каждого подблока. Компонент 1002 определения параметра квантования выводит каждый определенный параметр квантования подблоков в компонент 1208 кодирования параметра квантования.
[0120] На Фиг. 16, когда входной параметр квантования подблока является параметром квантования первого подблока в первом основном блоке данных изображения, селектор 400 выбирает ввод с вывода 1. Компонент 403 определения параметра квантования основного блока вводит параметр квантования подблока через компонент 410 хранения параметра квантования подблока, компонент 406 разности параметра квантования подблока и селектор 400. Компонент 410 хранения параметра квантования подблока сохраняет параметр квантования подблока для обработки следующего основного блока. Подобно компоненту 203 хранения параметра квантования основного блока согласно третьему примерному варианту осуществления, компонент 403 определения параметра квантования основного блока сохраняет входной параметр квантования подблока в качестве параметра квантования основного блока. Подобно компоненту 206 разности параметра квантования подблока согласно третьему примерному варианту осуществления настоящего изобретения компонент 406 разности параметра квантования подблока выводит параметр квантования подблока таким, какой он есть, в компонент 407 кодирования параметра квантования подблока. Компонент 407 кодирования параметра квантования подблока кодирует параметр квантования первого подблока посредством кодирования Голомба и выводит результирующий код наружу через вывод 8.
[0121] Впоследствии компонент 410 хранения параметра квантования подблока и компонент 406 разности параметра квантования подблока вводят параметры квантования других подблоков первого основного блока данных изображения с вывода 1. Компонент 406 разности параметра квантования подблока вычисляет значение разности между параметром квантования основного блока, выведенным от компонента 403 определения параметра квантования основного блока, и входным параметром квантования подблока. Компонент 407 кодирования параметра квантования подблока вводит значение разности, кодирует значение разности подобно третьему примерному варианту осуществления и выводит результирующий код наружу через вывод 8.
[0122] Ниже будет описана обработка для впоследствии введенных основных блоков изображения, не первого основного блока. Перед обработкой кодирования основного блока селектор 400 выбирает компонент 410 хранения параметра квантования подблока в качестве источника. Компонент 403 определения параметра квантования основного блока вычисляет среднее значение сохраненных параметров квантования подблоков и рассматривает среднее значение в качестве параметра квантования основного блока. Затем компонент 406 разности параметра квантования подблока вводит параметры квантования подблоков соответствующего основного блока с вывода 1. Компонент 406 разности параметра квантования подблока вычисляет значение разности между параметром квантования основного блока, выведенным из компонента 403 определения параметра квантования основного блока, и входным параметром квантования каждого подблока. Компонент 407 кодирования параметра квантования подблока вводит значение разности, кодирует значение разности подобно третьему примерному варианту осуществления и выводит результирующий код в вывод 8.
[0123] Фиг. 17 является блок-схемой последовательности операций способа, изображающей обработку кодирования изображения посредством устройства кодирования изображений согласно пятому примерному варианту осуществления настоящего изобретения. На Фиг. 17 элементам, имеющим ту же самую функцию, что и элементы в первом примерном варианте осуществления (Фиг. 4), присвоены те же самые ссылочные позиции, и дублирование описания опускается.
[0124] На этапах с S001 по S003 подобно устройству кодирования изображений согласно первому примерному варианту осуществления устройство кодирования изображений кодирует информацию заголовка, отсекает основной блок от данных изображения и разделяет основной блок на множество подблоков. На этапе S401 устройство кодирования изображений определяет, является ли соответствующий основной блок первым основным блоком изображения. Когда соответствующий основной блок является первым основным блоком (ДА на этапе S401), обработка переходит к этапу S402. В противном случае, когда соответствующий основной блок не является первым основным блоком (НЕТ на этапе S401), обработка переходит к этапу S409. На этапе S402 устройство кодирования изображений определяет, является ли соответствующий подблок первым подблоком в первом основном блоке. Когда соответствующий подблок является первым подблоком (ДА на этапе S402), обработка переходит к этапу S403. В противном случае, когда соответствующий подблок не является первым подблоком (НЕТ на этапе S402), обработка переходит к этапу S406.
[0125] На этапе S403 устройство кодирования изображений определяет параметр квантования первого подблока первого основного блока и сохраняет параметр квантования первого подблока так, чтобы ссылаться на него в течение обработки следующего основного блока. На этапе S404 устройство кодирования изображений сохраняет параметр квантования подблока, определенный на этапе S403 в качестве параметра квантования основного блока. На этапе S405 устройство кодирования изображений кодирует параметр квантования подблока, определенный на этапе S403, и обработка переходит к этапу S008. На этапе S406 устройство кодирования изображений определяет параметр квантования подблока соответствующего подблока и сохраняет определенный параметр квантования подблока, чтобы ссылаться на него в течение обработки следующего основного блока.
[0126] На этапе S407 устройство кодирования изображений вычитает параметр квантования основного блока, сохраненный на этапе S404, из параметра квантования подблока, определенного на этапе S406, чтобы вычислить значение разности параметра квантования подблока соответствующего подблока. На этапе S408 устройство кодирования изображений кодирует значение разности параметра квантования подблока, вычисленное на этапе S407, чтобы сгенерировать кодированные данные значения разности параметра квантования, и обработка переходит к этапу S008. На этапе S409 устройство кодирования изображений определяет, является ли соответствующий подблок первым подблоком во втором и последующем основном блоке. Когда соответствующий подблок является первым подблоком (ДА на этапе S409), обработка переходит к этапу S410. В противном случае, когда соответствующий подблок не является первым подблоком (НЕТ на этапе S409), обработка переходит к этапу S406. На этапе S410, ссылаясь на параметры квантования подблоков предыдущего основного блока, сохраненного на этапе S403 или S406, устройство кодирования изображений вычисляет параметр квантования основного блока соответствующего основного блока. В настоящем примерном варианте осуществления устройство кодирования изображений вычисляет среднее значение вышеупомянутых параметров квантования подблоков и рассматривает среднее значение в качестве параметра квантования основного блока. На этапе S411 устройство кодирования изображений определяет параметр квантования подблока соответствующего подблока и сохраняет параметр квантования подблока, чтобы ссылаться на него в течение обработки следующего основного блока.
[0127] На этапе S412 устройство кодирования изображений вычитает параметр квантования основного блока, вычисленный на этапе S410, из параметра квантования подблока, определенного на этапе S411, чтобы вычислить значение разности параметра квантования подблока соответствующего подблока.
[0128] На этапе S413 устройство кодирования изображений кодирует значение разности параметра квантования подблока, вычисленное на этапе S412, чтобы сгенерировать кодированные данные значения разности параметра квантования, и обработка переходит к этапу S008. На этапе S414 устройство кодирования изображений определяет, завершена ли обработка кодирования для всех подблоков в соответствующем основном блоке. Когда обработка кодирования завершена для всех подблоков (ДА на этапе S414), обработка переходит к этапу S011. В противном случае, когда обработка кодирования не завершена для всех подблоков (НЕТ на этапе S414), обработка возвращается этапу S401 для обработки следующего подблока. На этапах S008, S009, и S011 устройство кодирования изображений выполняет обработку, подобную первому примерному варианту осуществления, для кодирования всего изображения.
[0129] С помощью вышеупомянутой конфигурации и действий, определение параметра квантования основного блока посредством использования параметров квантования подблоков предыдущего основного блока предоставляет возможность определения параметра квантования основного блока соответствующего основного блока сразу после начала обработки соответствующего основного блока, приводя в результате к минимизации задержки обработки. Дополнительно, вычисление параметра квантования основного блока на основе параметров квантования подблоков предыдущего основного блока избавляет от необходимости переноса параметра квантования основного блока, приводя в результате к повышению эффективности кодирования.
[0130] Вышеупомянутая конфигурация и действия дополнительно предоставляют возможность эффективной параллельной обработки подобно первому примерному варианту осуществления настоящего изобретения. В частности, на Фиг. 5B перед обработкой кодирования параметр квантования основного блока вычисляется на основе параметров квантования подблоков предыдущего основного блока. Это предоставляет возможность вычисления значений разности параметров квантования всех подблоков без ожидания завершения обработки каждого отдельного подблока.
[0131] Хотя в пятом примерном варианте осуществления параметр квантования первого подблока кодируется таким, какой он есть только для первого основного блока изображения, обработка этим не ограничена. В частности, также можно предоставить слое-подобную конфигурацию, состоящую из множества основных блоков, и применить подобную обработку к первому основному блоку.
[0132] Хотя в пятом примерном варианте осуществления параметр квантования основного блока определяется посредством ссылки на параметры квантования подблоков предыдущего основного блока, обработка этим не ограничена. Параметры квантования последних подблоков предыдущего основного блока можно рассматривать в качестве параметра квантования основного блока соответствующего основного блока. Несомненно, можно ссылаться на параметры квантования подблоков или параметр квантования основного блока находящихся вокруг основных блоков.
[0133] Хотя в пятом примерном варианте осуществления среднее значение параметров квантования подблоков предыдущего основного блока рассматривается в качестве параметра квантования основного блока, обработка этим не ограничена. Несомненно, возможно, например, что параметр квантования основного блока может быть срединным значением параметров квантования подблоков, либо самым частым значением параметра квантования подблоков. Несомненно, можно подготовить множество способов вычисления по такому принципу, выбирать самый эффективный параметр квантования основного блока и выполнять кодирование посредством использования кода, указывающего соответствующий способ вычисления.
[0134] Хотя пятый примерный вариант осуществления был в частности описан на основе кадров с использованием внутреннего предсказания, очевидно, что настоящий примерный вариант осуществления также применим к кадрам, которые могут использовать взаимное предсказание, вовлекающее компенсацию движения при предсказании.
[0135] Ниже будет описан шестой примерный вариант осуществления настоящего изобретения на основе способа декодирования изображения для декодирования данных кода, кодированных посредством использования способа кодирования согласно пятому примерному варианту осуществления настоящего изобретения. Устройство кодирования изображений согласно шестому примерному варианту осуществления имеет конфигурацию, подобную устройству кодирования изображений согласно четвертому примерному варианту осуществления настоящего изобретения (Фиг. 13), с отличием в конфигурации компонента 1302 декодирования параметра квантования.
[0136] Фиг. 18 является блок-схемой, изображающей конфигурацию компонента 1302 декодирования параметра квантования согласно шестому примерному варианту осуществления настоящего изобретения. На Фиг. 18 элементам, имеющим ту же самую функцию, что и элементы в четвертом примерном варианте осуществления (Фиг. 14), присвоены те же самые ссылочные позиции, и дублирование описания опускается.
[0137] Селектор 500 выбирает получателя в зависимости от положения подблока для входного параметра квантования подблока и от положения основного блока для соответствующего подблока. Компонент 501 декодирования параметра квантования подблока декодирует код параметра квантования подблока непосредственно для воспроизведения параметра квантования подблока. Компонент 502 декодирования значения разности параметра квантования подблока декодирует код значения разности параметра квантования подблока для воспроизведения значения разности параметра квантования подблока. Селектор 503 выбирает источник в зависимости от положения подблока для входного параметра квантования подблока и от положения основного блока для соответствующего подблока. Компонент 504 определения параметра квантования основного блока определяет параметр квантования основного блока. Компонент 505 суммирования параметра квантования подблока суммирует определенный параметр квантования основного блока и значение разности параметра квантования каждого подблока для воспроизведения параметра квантования каждого подблока. Селектор 506 выбирает источник в зависимости от положения подблока для входного параметра квантования подблока и от положения основного блока для соответствующего подблока. Компонент 507 хранения параметра квантования подблока сохраняет воспроизведенные параметры квантования подблоков.
[0138] Ниже будет описана обработка декодирования посредством устройства декодирования изображений. Хотя в настоящем примерном варианте осуществления битовый поток движущегося изображения вводится в компонентах кадра, также может быть введен битовый поток неподвижного изображения для одного кадра.
[0139] Перед обработкой декодирования битового потока для одного кадра селектор 500 выбирает компонент 501 декодирования параметра квантования подблока в качестве получателя, а селектор 503 выбирает компонент 501 декодирования параметра квантования подблока в качестве источника. Селектор 505 выбирает компонент 501 декодирования параметра квантования подблока в качестве источника.
[0140] Компонент 501 декодирования параметра квантования подблока вводит кодированные данные параметра квантования подблока первого основного блока через селектор 500. Компонент 501 декодирования параметра квантования подблока декодирует кодированные данные посредством использования кода Голомба для воспроизведения параметра квантования подблока. Компонент 504 определения параметра квантования основного блока вводит параметр квантования подблока через селектор 503. Так как подблок параметра квантования подблока является первым подблоком первого основного блока, компонент 504 определения параметра квантования основного блока сохраняет входной параметр квантования подблока таким, какой он есть, в качестве параметра квантования основного блока. Компонент 501 декодирования параметра квантования подблока выводит воспроизведенный параметр квантования подблока наружу через селектор 505 и вывод 106. Компонент 507 хранения параметра квантования подблока сохраняет параметр квантования подблока.
[0141] Впоследствии селектор 500 выбирает компонент 502 декодирования значения разности параметра квантования подблока в качестве получателя, а селектор 503 выбирает компонент 507 хранения параметра квантования подблока в качестве источника. Селектор 505 выбирает компонент 305 суммирования параметра квантования подблока в качестве источника.
[0142] Когда компонент 1302 декодирования параметра квантования вводит кодированные данные значения разности параметра квантования подблока следующего подблока, компонент 502 декодирования значения разности параметра квантования подблока вводит кодированные данные значения разности параметра квантования подблока через селектор 500. Компонент 502 декодирования значения разности параметра квантования подблока декодирует кодированные данные значения разности параметра квантования подблока для воспроизведения значения разности параметра квантования подблока. Компонент 305 суммирования параметра квантования подблока суммирует значение разности параметра квантования подблока с параметром квантования основного блока для воспроизведения параметра квантования подблока и выводит воспроизведенный параметр квантования подблока наружу через вывод 106. Компонент 507 хранения параметра квантования подблока сохраняет параметр квантования подблока.
[0143] Впоследствии компонент 1302 декодирования параметра квантования вводит кодированные данные значения разности параметра квантования подблока следующего основного блока. В данном случае компонент 504 определения параметра квантования основного блока считывает параметры квантования подблоков предыдущего основного блока из компонента 507 хранения параметра квантования подблока, вычисляет среднее значение считанных параметров квантования подблоков и рассматривает среднее значение в качестве параметра квантования основного блока соответствующего основного блока.
[0144] Компонент 502 декодирования значения разности параметра квантования подблока декодирует входные кодированные данные значения разности параметра квантования подблока для воспроизведения значения разности параметра квантования подблока. Компонент 305 суммирования параметра квантования подблока воспроизводит параметр квантования подблока и выводит воспроизведенный параметр квантования подблока наружу через вывод 106. Компонент 507 хранения параметра квантования подблока сохраняет воспроизведенный параметр квантования подблока.
[0145] Впоследствии компонент 1302 декодирования параметра квантования вводит следующие кодированные данные значения разности параметра квантования подблока, схожим образом воспроизводит значение разности параметра квантования подблока и затем воспроизводит параметр квантования подблока. Компонент 1302 декодирования параметра квантования выводит воспроизведенный параметр квантования подблока наружу через вывод 106. Компонент 507 хранения параметра квантования подблока сохраняет параметр квантования подблока.
[0146] Фиг. 19 является блок-схемой последовательности операций способа, изображающей обработку декодирования изображения посредством устройства декодирования изображений согласно шестому примерному варианту осуществления настоящего изобретения.
[0147] На этапе S101 подобно второму примерному варианту осуществления настоящего изобретения, устройство декодирования изображений декодирует информацию заголовка. На этапе S501 устройство декодирования изображений определяет, является ли основной блок подблока, подвергаемого декодированию, первым основным блоком изображения. Когда соответствующий основной блок является первым основным блоком (ДА на этапе S501), обработка переходит к этапу S502. В противном случае, когда соответствующий основной блок не является первым основным блоком (НЕТ на этапе S501), обработка переходит к этапу S504.
[0148] На этапе S502 устройство декодирования изображений определяет, является ли подблок, подвергаемый декодированию, первым подблоком в основном блоке. Когда соответствующий подблок является блоком с первым подблоком (ДА на этапе S502), обработка переходит к этапу S503. В противном случае, когда соответствующий подблок не является блоком с первым подблоком (НЕТ на этапе S502), обработка переходит к этапу S506. На этапе S503 устройство декодирования изображений декодирует код, относящийся к входному параметру квантования подблока, то есть, кодированные данные параметра квантования подблока, посредством использования кода Голомба для воспроизведения параметра квантования подблока. Устройство декодирования изображений сохраняет результирующий код в качестве параметра квантования основного блока. В то же время, устройство декодирования изображений отдельно сохраняет результирующий код, чтобы ссылаться на него в течение определение параметра квантования основного блока следующего основного блока. Затем, обработка переходит к этапу S104 для генерирования декодированного изображения первого подблока.
[0149] На этапе S504 устройство декодирования изображений определяет, является ли подблок, подвергаемый декодированию, первым подблоком в основном блоке. Когда подблок, подвергаемый декодированию, является первым подблоком (ДА на этапе S504), обработка переходит к этапу S505. В противном случае, когда подблок, подвергаемый декодированию, не является первым подблоком (НЕТ на этапе S504), обработка переходит к этапу S506.
[0150] На этапе S505 устройство декодирования изображений вычисляет среднее значение сохраненных параметров квантования подблоков предыдущего основного блока и рассматривает среднее значение в качестве параметра квантования основного блока. Затем, обработка переходит к этапу S506.
[0151] На этапе S506 устройство декодирования изображений декодирует код, относящийся к входному параметру квантования подблока, то есть, кодированные данные значения разности параметра квантования подблока, посредством использования кода Голомба для воспроизведения значения разности параметра квантования подблока. Устройство декодирования изображений суммирует воспроизведенное значение разности параметра квантования подблока с параметром квантования основного блока, сохраненным или вычисленным на этапе S503 или S505, для получения параметра квантования подблока. Затем обработка переходит к этапу S104 для генерирования декодированного изображения подблока. Впоследствии, подобно четвертому примерному варианту осуществления настоящего изобретения, устройство декодирования изображений генерирует декодированное изображение подблока и воспроизводит изображение кадра.
[0152] Вышеупомянутая конфигурация и действия предоставляют возможность декодирования битового потока, с помощью которого не кодируется значение параметра квантования основного блока, сгенерированное устройством кодирования изображений согласно пятому примерному варианту осуществления.
[0153] Вышеупомянутая конфигурация и действия дополнительно предоставляют возможность эффективной параллельной обработки, подобной второму примерному варианту осуществления настоящего изобретения. В частности, на Фиг. 9B вместо декодирования параметра квантования основного блока, процессор A выполняет вычисление параметра квантования основного блока посредством использования параметров квантования подблока предыдущего основного блока. Это позволяет процессору A начинать воспроизведение параметра квантования для всех подблоков без ожидания завершения обработки над другими подблоками.
[0154] Хотя в шестом примерном варианте осуществления среднее значение параметров квантования подблоков предыдущего основного блока рассматривается в качестве параметра квантования основного блока, обработка этим не ограничена, пока используется способ вычисления параметра квантования основного блока согласно пятому примерному варианту осуществления. Несомненно, возможно, например, что параметр квантования основного блока может быть срединным значением параметров квантования подблоков, либо самым частым значением параметра квантования подблоков. Эти части информации могут быть извлечены из параметров квантования подблоков, сохраненных в компоненте 507 хранения параметра квантования подблока.
[0155] Даже когда множество способов вычисления приготовлено по такому принципу на стороне кодирования, выбирается самый эффективный параметр квантования основного блока, и кодирование выполняется на основе кода, указывающего соответствующий способ вычисления, при этом параметр квантования подблока может быть схожим образом вычислен посредством декодирования.
[0156] Хотя шестой примерный вариант осуществления был в частности описан на основе кадров с использованием внутреннего предсказания, очевидно, что настоящий примерный вариант осуществления также применим к кадрам, которые могут использовать взаимное предсказание, вовлекающее компенсацию движения при предсказании.
[0157] Хотя вышеупомянутые примерные варианты осуществления были в частности описаны на предпосылке того, что компоненты обработки, изображенные на Фиг. 1, 3, 6, 7, 10, 11, 13, 14, 16 и 18, реализуются посредством аппаратного обеспечения, обработка, исполняемая данными компонентами обработки, может быть реализована посредством программного обеспечения (компьютерных программ).
[0158] Фиг. 20 является блок-схемой, изображающей в качестве примера конфигурацию аппаратного обеспечения компьютера применительно к компоненту отображения изображения согласно вышеупомянутым примерным вариантам осуществления настоящего изобретения.
[0159] Центральный компонент 1401 обработки (CPU) управляет всем компьютером посредством использования компьютерных программ и данных, сохраненных в памяти 1402 с произвольным доступом (RAM) и постоянном запоминающем устройстве (ROM) 1403, и исполняет каждую часть обработки, описанную выше, в качестве устройства обработки изображений согласно вышеупомянутым примерным вариантам осуществления. В частности, CPU 1401 функционирует в качестве компонентов обработки, изображенных на Фиг. 1, 3, 6, 7, 10, 11, 13, 14, 16 и 18.
[0160] RAM 1402 включает в себя область для временного хранения компьютерной программы и данных, загруженных из устройства 1406 внешнего хранения, и данных, полученных извне через интерфейс 1407 (I/F). RAM 1402 дополнительно включает в себя рабочие области, используемые CPU 1401 для исполнения различных частей обработки. Например, RAM 1402 может использоваться в качестве памяти кадра и других различных типов областей по необходимости.
[0161] ROM 1403 хранит данные установки и программу начальной загрузки компьютера. Операционный компонент 1404 оснащен клавиатурой, мышью и т.д. Пользователь компьютера управляет операционным компонентом 1404 для дачи различных инструкций в CPU 1401. Компонент 1405 вывода отображает результат обработки, исполненной посредством CPU 1401. Компонент 1405 вывода состоит из компонента отображения удерживающего типа, такого как устройство отображения на жидких кристаллах (LCD), или устройства отображения импульсного типа, такого как устройство отображения по типу автоэлектронной эмиссии.
[0162] Компонент 1406 внешнего хранения является устройством хранения большой емкости, представленным компонентом жесткого диска. Устройство 1406 внешнего хранения хранит операционную систему (OS) и компьютерные программы, исполняемые посредством CPU 1401 для реализации функций компонентов обработки, изображенных на Фиг. 1, 3, 6, 7, 10, 11, 13, 14, 16 и 18. Устройство 1406 внешнего хранения может дополнительно хранить данные изображения, которые следует обрабатывать.
[0163] CPU 1401 надлежащим образом загружает компьютерную программу и данные, сохраненные в устройстве 1406 внешнего хранения, в RAM 1402 и исполняет компьютерную программу. Сети, такие как локальная сеть (LAN) и Интернет, устройство проецирования, устройство отображения и другие устройства могут быть соединены с I/F 1407. Компьютер может получать и передавать различные порции информации через I/F 1407. Шина 1408 осуществляет взаимное соединение вышеупомянутых различных устройств.
[0164] Действия с помощью вышеупомянутой конфигурации достигаются, когда CPU 1401 управляет обработкой вышеупомянутых блок-схем последовательностей операций способов.
[0165] Дополнительно, когда CPU 1401 имеет многоядерную конфигурацию, то может достигаться эффективная параллельная обработка посредством назначения цепочки из каждой части обработки каждому ядру.
[0166] Цели настоящего изобретения также достигаются, когда носитель хранения информации с записью компьютерных программных кодов для реализации вышеупомянутых функций поставляется в систему, и система загружает и исполняет компьютерные программные коды. В данном случае, компьютерные программные коды, загруженные с носителя хранения информации, реализуют функции примерных вариантов осуществления, а носитель хранения информации, хранящий компьютерные программные коды, входит в состав настоящего изобретения. Дополнительно, настоящее изобретение дополнительно включает в себя случай, где операционная система (OS), функционирующая на компьютере, исполняет часть или всю фактическую обработку на основе инструкций компьютерных программных кодов, и вышеупомянутые функции реализуются посредством обработки компьютерных программных кодов.
[0167] Дополнительно, цели настоящего изобретения могут быть достигнуты в следующем виде. В частности, настоящее изобретение дополнительно включает в себя случай, где компьютерные программные коды, загруженные с носителя хранения информации, записываются в память, предоставленную в плате функционального расширения, вставленной в компьютер, или компоненте функционального расширения, соединенном с компьютером. Настоящее изобретение дополнительно включает в себя случай, где CPU, предоставленный в плате функционального расширения или компоненте функционального расширения, исполняет часть или всю фактическую обработку на основе инструкций компьютерных программных кодов для реализации вышеупомянутых функций.
[0168] При применении настоящего изобретения к вышеупомянутому носителю хранения информации носитель хранения информации хранит компьютерные программные коды, соответствующие вышеописанным блок-схемам последовательностей операций способов.
[0169] В то время как настоящее изобретение было описано со ссылкой на примерные варианты осуществления, следует понимать, что изобретение не ограничивается раскрытыми примерными вариантами осуществления. Объему следующей формулы изобретения должна быть предоставлена самая широкая интерпретация для того, чтобы охватить все изменения, эквивалентные структуры и функции.
[0170] Данная заявка имеет приоритет заявки на патент Японии № 2011-051267, поданной 9 марта 2011, содержание которой полностью включено в данный документ посредством ссылки.