Область техники, к которой относится изобретение
Настоящее изобретение относится к способу и устройству для обработки изображения и в частности относится к способу и устройству для обработки изображения, которые позволяют не допустить увеличения объема сжатой информации, а также позволяют повысить точность прогнозирования.
Уровень техники
В последние годы широкое распространение получили устройства, в которых изображение подвергают сжимающему кодированию с использованием системы кодирования, обрабатывающей информацию изображения в форме цифровых сигналов, и в этот момент сжимают изображение посредством ортогонального преобразования, такого как дискретное косинусное преобразование или другое подобное преобразование, и осуществляют компенсацию движения, используя наличие избыточности, которая является свойством информации изображения, для осуществления передачи и накопления информации с высокой эффективностью. Примеры такого способа кодирования включают алгоритмы MPEG (группа экспертов по кинематографии) и т.п.
В частности, стандарт MPEG2 (ISO/IEC 13818-2) определен в качестве системы кодирования изображения общего назначения и является стандартом, охватывающим как изображения с чересстрочной разверткой, так и изображения с построчной разверткой, а также изображения со стандартным разрешением и изображения высокой четкости. Например, стандарты MPEG2 широко использовались до последнего времени самыми разнообразными приложениями как для профессионального, так и для потребительского применения. При использовании системы сжатия MPEG2 для изображения с чересстрочной разверткой и стандартным разрешением, имеющего размер, например, 720×480 пикселов, выделяют объем кода (скорость передачи информации) от 4 до 8 Мбит/с. В то же время при использовании системы сжатия MPEG2 для изображения с чересстрочной разверткой и высокой четкостью, имеющего размер, например, 1920×1088 пикселов, выделяют объем кода (скорость передачи информации) от 11 до 22 Мбит/с. Таким способом можно реализовать высокий коэффициент сжатия и превосходное качество изображения.
Стандарт MPEG2 принципиально направлен на реализацию высококачественного кодирования изображения применительно к области широкого вещания, но не работает с более низкими объемами кода (скоростью передачи информации), чем объем кода для стандартов MPEG1, т.е. системы кодирования, имеющей более высокий коэффициент сжатия. Ожидалось, что потребность в такой системе кодирования будет только возрастать вследствие распространения персональных цифровых помощников, и в ответ на такие потребности была произведена стандартизация системы кодирования MPEG4. Технические характеристики такой системы кодирования были утверждены в качестве международного стандарта ISO/IEC 14496-2 в Декабре 1998.
Кроме того, в последние годы продвигался процесс оформления стандарта, именуемого H.26L (ITU-T Q6/16 VCEG) и имеющего целью кодирование изображения для использования в ходе телеконференций. Относительно стандарта H.26L было обнаружено, что хотя при кодировании и декодировании в этом стандарте требуется выполнить больший объем вычислений по сравнению с обычной системой кодирования, такой как MPEG2 или MPEG4, тем не менее реализуется более высокая эффективность кодирования. Кроме того, в настоящее время в рамках работы над стандартами MPEG4 ведется разработка стандартов, позволяющих использовать преимущества функций, не поддерживаемых стандартами H.26L, причем стандарты H.26L взяты за основу для реализации повышенной эффективности кодирования. Эти работы велись под названием «Совместная модель видеокодирования с повышенной степенью сжатия» (Joint Model of Enhanced-Compression Video Coding). В рамках этих работ по стандартизации стандарты Н.264 и MPEG-4 Part10 (Усовершенствованное видеокодирование (Advanced Video Coding), именуемое далее H.264/AVC) стали международными стандартами в марте 2003.
В частности, при использовании системы MPEG2 обработка данных для прогнозирования и компенсации движения с точностью 1/2 пиксела производилась посредством линейной интерполяции. С другой стороны, при использовании системы Н.264/AVC обработка данных для прогнозирования и компенсации с точностью 1/4 пиксела производится с применением имеющего 6 отводов фильтра с конечной импульсной характеристикой (КИХ-фильтра (FIR)).
При работе в системе MPEG2 в режиме компенсации движения кадра обработка данными для прогнозирования и компенсации движения осуществляется блоками размером 16×16 пикселов. В режиме компенсации движения по полям обработка данных для прогнозирования и компенсации движения осуществляется в каждом - и в первом, и во втором - поле блоками размером 16×8 пикселов.
С другой стороны, при работе в системе H.264/AVC прогнозирование и компенсацию движения можно осуществлять, используя размер блока в качестве переменной. В частности, в системе H.264/AVC один макроблок размером 16×16 пикселов можно разбить на секции одного из типов 16×16, 16×8, 8×16 и 8×8, так что каждая секция имеет независимую информацию вектора движения. Кроме того, секция размером 8x8 может быть разбита на подсекции одного из типов 8×8, 8×4, 4×8 и 4×4, так что каждая подсекция имеет независимую информацию вектора движения.
Однако при работе в системе H.264/AVC в результате обработки данных для прогнозирования и компенсации движения с точностью 1/4 пиксела и переменным размером блока происходит генерации больших объемов информации о векторах движения, что ведет к деградации эффективности кодирования, если кодировать эту информацию без изменений.
Вследствие этого было предложено уменьшить деградацию эффективности кодирования с применением способа генерации информации вектора прогнозирования движения целевого блока, к кодированию которого нужно приступить в текущий момент, используя уже кодированную информацию вектора движения для соседнего блока посредством усреднения или сходным способом.
Далее, поскольку объем информации векторов движения в двунаправленных аппроксимированных кадрах (В-кадрах) очень велик, в системе H.264/AVC предложен режим кодирования, именуемый кодированием с прогнозированием движения (direct mode). Кодирование с прогнозированием движения представляет собой режим кодирования для генерации информации движения на основе информации движения в кодированном блоке посредством прогнозирования, так что некоторое количество бит, необходимых для кодирования информации движения, становится ненужным, что позволяет улучшить сжимающее кодирование.
Кодирование с прогнозированием движения включает два типа прогнозирования - режим пространственного прогнозирования движения (Spatial Direct Mode) и режим временного прогнозирования движения (Temporal Direct Mode). Режим пространственного прогнозирования движения использует преимущества корреляции информации движения главным образом в пространстве (горизонтальное и вертикальное направления в двумерном пространстве картинки), а режим временного прогнозирования движения использует преимущества корреляции главным образом по оси времени.
Используемый режим пространственного прогнозирования движения или временного прогнозирования движения можно переключать для каждого среза. В частности, описание этого дано в параграфе «7.3.3. Синтаксис заголовков срезов» ("7.3.3. Slice header syntax") в непатентной Литературе 1 (NPL 1), который указывает, что в срезе объекта флаг "direct_spatial_mv_pred_flag" устанавливает, какой именно режим - пространственное прогнозирование движения или временное прогнозирование движения - использовать.
Перечень литературы
Непатентная Литература
NPL 1: "ITU-T Recommendation Н.264 Advanced video coding for generic audiovisual", November 2007
Сущность изобретения
Техническая проблема
Между прочим, даже в пределах одного среза выбор способа кодирования - какой именно режим прогнозирования движения - пространственное прогнозирование движения или временное прогнозирование движения, дает наилучшую эффективность кодирования, отличается для каждого макроблока или каждого блока.
Однако в системе H.264/AVC переключение режимов осуществлялось только для каждого среза. Кроме того, если выбирать оптимальный режим кодирования с прогнозированием движения для каждого макроблока или каждого блока, подлежащего кодированию, и передавать информацию, указывающую использованный режим кодирования с прогнозированием движения, устройству декодирования изображения, то это приведет к деградации эффективности кодирования.
Настоящее изобретение было сделано с учетом такой ситуации и с целью не допустить увеличения объема сжатой информации, а также улучшить точность прогнозирования.
Решение проблемы
Устройство для обработки изображения согласно первому аспекту настоящего изобретения включает: модуль вычисления остаточной энергии в пространственном режиме, конфигурированный для использования информации вектора движения согласно режиму пространственного прогнозирования движения для целевого блока с целью вычисления остаточной энергии в режиме пространственного прогнозирования движения с применением периферийного пиксела, расположенного рядом с целевым блоком в заданном позиционном соотношении с этим блоком и также включенного в декодированное изображение; модуль вычисления остаточной энергии во временном режиме, конфигурированный для использования информации вектора движения согласно режиму временного прогнозирования движения для целевого блока с целью вычисления остаточной энергии в режиме временного прогнозирования движения с применением указанного периферийного пиксела; и модуль определения режима кодирования с прогнозированием движения, конфигурированный для определения, что кодирование целевого блока должно быть выполнено в режиме пространственного прогнозирования движения, если остаточная энергия в пространственном режиме, вычисленная модулем вычисления остаточной энергии в пространственном режиме, не больше остаточной энергии во временного режиме, вычисленной модулем вычисления остаточной энергии во временном режиме, и определения, что кодирование целевого блока должно быть выполнено в режиме временного прогнозирования движения, если остаточная энергия в пространственном режиме больше остаточной энергии во временном режиме.
Устройство для обработки изображения может дополнительно включать: модуль кодирования, конфигурированный для кодирования целевого блока в соответствии с режимом пространственного прогнозирования движения или режимом временного прогнозирования движения, определенным посредством модуля определения. режима кодирования с прогнозированием движения.
Модуль вычисления остаточной энергии в пространственном режиме может вычислять эту остаточную энергию в пространственном режиме на основе яркостной составляющей Y сигнала (далее Y-составляющая сигнала), синей цветностной составляющей Cb сигнала (далее Cb-составляющая сигнала) и красной цветностной составляющей Cr сигнала (далее Cr-составляющая сигнала), модуль вычисления остаточной энергии во временном режиме может вычислять эту остаточную энергию во временном режиме на основе Y-составляющей сигнала, Cb-составляющей сигнала и Cr-составляющей сигнала, а модуль определения режима кодирования с прогнозированием движения может сравнивать соотношение величин между остаточной энергией пространственного режима и остаточной энергией временного режима для каждой составляющей сигнала - Y-составляющей сигнала, Cb-составляющей сигнала и Cr-составляющей сигнала, чтобы определить, следует ли целевой блок кодировать в режиме пространственного прогнозирования движения или в режиме временного прогнозирования движения.
Модуль вычисления остаточной энергии в пространственном режиме может вычислить эту остаточную энергию в пространственном режиме на основе яркостной составляющей сигнала целевого блока, а модуль вычисления остаточной энергии во временном режиме может вычислить эту остаточную энергию во временном режиме также на основе яркостной составляющей сигнала целевого блока.
Модуль вычисления остаточной энергии в пространственном режиме может вычислить эту остаточную энергию в пространственном режиме на основе яркостной составляющей сигнала и цветоразностной составляющей сигнала целевого блока, а модуль вычисления остаточной энергии во временном режиме может вычислить эту остаточную энергию во временном режиме также на основе яркостной составляющей сигнала и цветоразностной составляющей сигнала целевого блока.
Устройство для обработки изображения может дополнительно включать: модуль вычисления вектора движения в пространственном режиме, конфигурированный для вычисления информации вектора движения согласно режиму пространственного прогнозирования движения; и модуль вычисления вектора движения во временном режиме, конфигурированный для вычисления информации вектора движения согласно режиму временного прогнозирования движения.
Способ обработки изображения согласно первому аспекту настоящего изобретения включает этапы, в соответствии с которыми устройство для обработки изображения: использует информацию векторов движения согласно режиму пространственного прогнозирования движения целевого блока для вычисления остаточной энергии в пространственном режиме с применением периферийного пиксела, расположенного рядом с целевым блоком в заданном позиционном соотношении с этим блоком и также включенного в декодированное изображение; использует информацию векторов движения согласно режиму временного прогнозирования движения целевого блока для вычисления остаточной энергии во временном режиме с применением периферийного пиксела; и определяет, что кодирование целевого блока должно быть выполнено в режиме пространственного прогнозирования движения, если остаточная энергия в пространственном режиме, вычисленная модулем вычисления остаточной энергии в пространственном режиме, не больше остаточной энергии во временном режиме и определяет, что кодирование целевого блока должно быть выполнено в режиме временного прогнозирования движения, если остаточная энергия в пространственном режиме больше остаточной энергии во временном режиме.
Устройство для обработки изображения согласно второму аспекту настоящего изобретения включает: модуль вычисления остаточной энергии в пространственном режиме, конфигурированный для использования информации вектора движения согласно режиму пространственного прогнозирования движения для целевого блока, кодируемого в режиме кодирования с прогнозированием движения, с целью вычисления остаточной энергии режима пространственного прогнозирования движения с применением периферийного пиксела, расположенного рядом с целевым блоком в заданном позиционном соотношении с этим блоком и также включенного в декодированное изображение; модуль вычисления остаточной энергии во временном режиме, конфигурированный для использования информации вектора движения согласно режиму временного прогнозирования движения для целевого блока с целью вычисления остаточной энергии во временном режиме с применением указанного периферийного пиксела; и модуль определения режима кодирования с прогнозированием движения, конфигурированный для определения, что следует генерировать прогнозируемое изображение целевого блока в режиме пространственного прогнозирования движения, если остаточная энергия в пространственном режиме, вычисленная модулем вычисления остаточной энергии в пространственном режиме, не больше остаточной энергии во временно режиме, вычисленной модулем вычисления остаточной энергии во временном режиме, и определения, что следует генерировать прогнозируемое изображение целевого блока в режиме временного прогнозирования движения, если остаточная энергия в пространственном режиме больше остаточной энергии во временном режиме.
Устройство для обработки изображения может дополнительно включать: модуль компенсации движения, конфигурированный для генерации прогнозируемого изображения целевого блока в соответствии с режимом пространственного прогнозирования движения или режимом временного прогнозирования движения, определенным посредством модуля определения режима прогнозирования движения.
Модуль вычисления остаточной энергии в пространственном режиме может вычислять эту остаточную энергию в пространственном режиме на основе Y-составляющей сигнала, Cb-составляющей сигнала и Cr-составляющей сигнала, модуль вычисления остаточной энергии во временном режиме может вычислять эту остаточную энергию во временном режиме на основе Y-составляющей сигнала, Cb-составляющей сигнала и Cr-составляющей сигнала, а модуль определения режима кодирования с прогнозированием движения может сравнивать соотношение величин между остаточной энергией пространственного режима и остаточной энергией временного режима для каждой составляющей сигнала - Y-составляющей сигнала, Cb-составляющей сигнала и Cr-составляющей сигнала, чтобы определить, следует ли генерировать прогнозируемое изображение целевого блока в режиме пространственного прогнозирования движения или генерировать прогнозируемое изображение в режиме временного прогнозирования движения.
Модуль вычисления остаточной энергии в пространственном режиме может вычислить эту остаточную энергию в пространственном режиме на основе яркостной составляющей сигнала целевого блока, а модуль вычисления остаточной энергии во временном режиме может вычислить эту остаточную энергию во временном режиме также на основе яркостной составляющей сигнала целевого блока.
Модуль вычисления остаточной энергии в пространственном режиме может вычислить эту остаточную энергию в пространственном режиме на основе яркостной составляющей сигнала и цветоразностной составляющей сигнала целевого блока, а модуль вычисления остаточной энергии во временном режиме может вычислить эту остаточную энергию во временном режиме также на основе яркостной составляющей сигнала и цветоразностной составляющей сигнала целевого блока.
Способ обработки изображения согласно второму аспекту настоящего изобретения включает этапы, в соответствии с которыми устройство для обработки изображения: использует информацию векторов движения согласно режиму пространственного прогнозирования движения целевого блока, кодированного в режиме кодирования с прогнозированием движения, для вычисления остаточной энергии в пространственном режиме с применением периферийного пиксела, расположенного рядом с целевым блоком в заданном позиционном соотношении с этим блоком и также включенного в декодированное изображение; использует информацию векторов движения согласно режиму временного прогнозирования движения целевого блока для вычисления остаточной энергии во временном режиме с применением периферийного пиксела; и определяет, что следует генерировать прогнозируемое изображение целевого блока в режиме пространственного прогнозирования движения, если остаточная энергия в пространственном режиме не больше остаточной энергии во временном режиме прогнозирования движения, и определяет, что следует генерировать прогнозируемое изображение целевого блока в режиме временного прогнозирования движения, если остаточная энергия в пространственном режиме больше остаточной энергии во временном режиме.
В соответствии с первым аспектом настоящего изобретения информацию вектора движения согласно режиму пространственного прогнозирования движения для целевого блока используют для вычисления остаточной энергии в пространственном режиме с применением периферийного пиксела, расположенного рядом с целевым блоком в заданном позиционном соотношении с этим блоком и также включенного в декодированное изображение, информацию вектора движения согласно режиму временного прогнозирования движения для целевого блока используют для вычисления остаточной энергии во временном режиме с применением указанного периферийного пиксела. После этого, если остаточная энергия в пространственном режиме не больше остаточной энергии во временном режиме, определяют, что кодирование целевого блока должно быть выполнено в режиме пространственного прогнозирования движения, и если остаточная энергия в пространственном режиме больше остаточной энергии во временном режиме, определяют, что кодирование целевого блока должно быть выполнено в режиме временного прогнозирования движения.
В соответствии со вторым аспектом настоящего изобретения информацию вектора движения согласно режиму пространственного прогнозирования движения для целевого блока, кодированного в режиме кодирования с прогнозированием движения, используют для вычисления остаточной энергии в пространственном режиме с применением периферийного пиксела, расположенного рядом с целевым блоком в заданном позиционном соотношении с этим блоком и также включенного в декодированное изображение, и информацию вектора движения согласно режиму временного прогнозирования движения для целевого блока используют для вычисления остаточной энергии во временном режиме с применением указанного периферийного пиксела. После этого, если остаточная энергия в пространственном режиме не больше вычисленной остаточной энергии во временном режиме, определяют, что следует генерировать прогнозируемое изображение целевого блока в режиме пространственного прогнозирования движения, и если остаточная энергия в пространственном режиме больше остаточной энергии во временном режиме, определяют, что следует генерировать прогнозируемое изображение целевого блока в режиме временного прогнозирования движения.
Отметим, что описанные выше устройства для обработки изображения могут быть автономными устройствами либо могут быть внутренними блоками, составляющими одно устройство кодирования изображения или устройство декодирования изображения.
Преимущества изобретения
Согласно первому аспекту настоящего изобретения для кодирования целевого блока может быть определен режим кодирования с прогнозированием движения. Кроме того, согласно первому аспекту настоящего изобретения можно не допустить увеличения объема сжатой информации, а также повысить точность прогнозирования.
Согласно второму аспекту настоящего изобретения для генерации прогнозируемого изображения целевого блока может быть определен режим кодирования с прогнозированием движения. Кроме того, согласно второму аспекту настоящего изобретения можно не допустить увеличения объема сжатой информации, а также повысить точность прогнозирования.
Краткое описание чертежей
Фиг.1 представляет блок-схему, иллюстрирующую конфигурацию варианта устройства для кодирования изображения, к которому применено настоящее изобретение.
Фиг.2 представляет схему, описывающую обработку данных для прогнозирования и компенсации движения при переменном размере блока.
Фиг.3 представляет схему, описывающую обработку данных для прогнозирования и компенсации движения с точностью 1/4 пиксела.
Фиг.4 представляет схему, описывающую способ прогнозирования и компенсации движения с несколькими опорными кадрами.
Фиг.5 представляет схему, описывающую пример способа генерации информации вектора движения.
Фиг.6 представляет блок-схему, иллюстрирующую пример конфигурации модуля выбора режима кодирования с прогнозированием движения.
Фиг.7 представляет логическую схему, описывающую обработку данных при кодировании в устройстве для кодирования изображения, показанном на Фиг.1.
Фиг.8 представляет логическую схему, описывающую обработку данных при прогнозировании на этапе S21, показанном на Фиг.7.
Фиг.9 представляет логическую схему, описывающую обработку данных при внутрикадровом прогнозировании на этапе S31, показанном на Фиг.8.
Фиг.10 представляет логическую схему, описывающую обработку данных при межкадровом прогнозировании движения на этапе S32, показанном на Фиг.8.
Фиг.11 представляет логическую схему, описывающую обработку данных при прогнозировании в режиме кодирования с прогнозированием движения на этапе S33, показанном на Фиг.8.
Фиг.12 представляет схему, описывающую режим временного прогнозирования движения.
Фиг.13 представляет схему, описывающую пример вычисления остаточной энергии.
Фиг.14 представляет блок-схему, иллюстрирующую конфигурацию варианта устройства для декодирования изображения, к которому применено настоящее изобретение.
Фиг.15 представляет логическую схему, описывающую обработку данных при декодировании в устройстве декодирования изображения, показанном на Фиг.14.
Фиг.16 представляет логическую схему, описывающую обработку данных при прогнозировании на этапе S138, показанном на Фиг.15.
Фиг.17 представляет логическую схему, описывающую обработку данных при прогнозировании движения между шаблонами на этапе S177, показанном на Фиг.16.
Фиг.18 представляет схему, иллюстрирующую пример увеличенного размера блоков.
Фиг.19 представляет блок-схему, иллюстрирующую пример конфигурации аппаратуры компьютера.
Фиг.20 представляет блок-схему, иллюстрирующую пример принципиальной конфигурации телевизионного приемника, в котором применено настоящее изобретение.
Фиг.21 представляет блок-схему, иллюстрирующую пример принципиальной конфигурации сотового телефона, в котором применено настоящее изобретение.
Фиг.22 представляет блок-схему, иллюстрирующую пример принципиальной конфигурации устройства записи информации на жестком диске, в котором применено настоящее изобретение.
Фиг.23 представляет блок-схему, иллюстрирующую пример принципиальной конфигурации видеокамеры, в которой применено настоящее изобретение.
Подробное описание изобретения
Далее вариант настоящего изобретения будет описан со ссылками на прилагаемые чертежи.
Пример конфигурации устройства для кодирования изображения
Фиг.1 представляет конфигурацию варианта устройства для кодирования изображения, служащего устройством для обработки изображения, к которому применено настоящее изобретение.
Это устройство 51 для кодирования изображения осуществляет сжимающее кодирование изображения с применением, например, системы, использующей алгоритмы Н.264 и MPEG-4 Part10 (Advanced Video Coding) (далее именуемой 264/AVC). Отметим, что кодирование в устройстве 51 для кодирования изображения осуществляется с шагом, равным блоку или макроблоку. В дальнейшем, применительно к подлежащему кодированию «целевому» блоку описание будет дано в предположении, что в этот целевой блок включен блок или макроблок.
В примере, показанном на Фиг.1, устройство 51 для кодирования изображения конфигурировано на основе аналого-цифрового (A/D) преобразователя 61, буфера 62 сортировки экрана, вычислительного модуля 63, модуля 64 ортогонального преобразования, модуля 65 квантования, модуля 66 кодирования без потерь, накопительного буфера 67, модуля 68 обратного квантования, модуля 69 обратного ортогонального преобразования, вычислительного модуля 70, деблокирующего фильтра 71, памяти 72 кадров, переключателя 73, модуля 74 внутрикадрового прогнозирования, модуля 75 прогнозирования/компенсации движения, модуля 76 выбора режима кодирования с прогнозированием движения, модуля 77 выбора прогнозируемого изображения и модуля 78 управления частотой квантования.
Аналого-цифровой преобразователь 61 преобразует входное изображение из аналоговой в цифровую форму и передает буферу 62 сортировки экрана для сохранения. Этот буфер 62 сортировки экрана сортирует изображения кадров в порядке записи для представления на дисплее в порядке кадров для кодирования в соответствии с Группой изображений (GOP).
Вычислительный модуль 63 вычитает из изображения, считываемого из буфера 62 сортировки экрана, прогнозируемое изображение от модуля 74 внутрикадрового прогнозирования, выбранное модулем 77 выбора прогнозируемого изображения, или прогнозируемое изображение от модуля 75 прогнозирования/компенсации движения и передает полученную разностную информацию модулю 64 ортогонального преобразования. Модуль 64 ортогонального преобразования осуществляет ортогональное преобразование, такое как дискретное косинусное преобразование, преобразование Карунена-Лоэва и т.п., этой разностной информации от вычислительного модуля 63 и передает на выход коэффициенты преобразования. Модуль 65 квантования осуществляет квантование этих коэффициентов преобразования с выхода модуля 64 ортогонального преобразования.
Квантованные коэффициенты преобразования с выхода модуля 65 квантования поступают в модуль 66 кодирования без потерь, где к ним применяют кодирование без потерь, такое как кодирование в коде переменной длины, арифметическое кодирование и т.п. и сжимают.
Модуль 66 кодирования без потерь получает информацию индикации внутрикадрового прогнозирования от модуля 74 внутрикадрового прогнозирования и получает информацию индикации межкадрового прогнозирования и режима кодирования с прогнозированием движения и т.п. от модуля 75 прогнозирования/компенсации движения. Отметим, что в дальнейшем информация индикации внутрикадрового прогнозирования будет именоваться информацией режима внутрикадрового прогнозирования. Кроме того, информация индикации режима межкадрового прогнозирования и информация индикации режима кодирования с прогнозированием движения будет именоваться информацией режима межкадрового прогнозирования и информацией режима кодирования с прогнозированием движения, соответственно.
Модуль 66 кодирования без потерь кодирует квантованные коэффициенты преобразования, а также кодирует информацию индикации внутрикадрового прогнозирования, информацию индикации межкадрового прогнозирования и режима кодирования с прогнозированием движения и т.п. и берет все эти данные в качестве части информации заголовка в сжатом изображении. Модуль 66 кодирования без потерь передает кодированные данные в накопительный буфер 67 для накопления.
Например, модуль 66 кодирования без потерь осуществляет обработку данных для кодирования без потерь, такого как кодирование в коде переменной длины, арифметическое кодирование и т.п. Примеры кодирования в коде переменной длины включают CAVLC (Контекстно-адаптивное кодирование в коде переменной длины (Context-Adaptive Variable Length Coding)), определенное в системе H.264/AVC. Примеры арифметического кодирования включают САВАС (Контекстно-адаптивное двоичное арифметическое кодирование (Context-Adaptive Binary Arithmetic Coding)).
Накопительный буфер 67 передает данные, поступившие от модуля 66 кодирования без потерь в, например, расположенное далее по логической схеме запоминающее устройство или в тракт передачи данных и т.п., не показанные на чертеже, в качестве сжатого изображения, кодированного в системе H.264/AVC.
Кроме того, квантованные коэффициенты преобразования с выхода модуля 65 квантования поступают также на вход модуля 68 обратного квантования, где их подвергают операции обратного квантования и затем выполняют обратное ортогональное преобразование полученных коэффициентов в модуле 69 обратного ортогонального преобразования. Вычислительный модуль 70 суммирует результат обратного ортогонального преобразования с прогнозируемым изображением, поступающим от модуля 77 выбора прогнозируемого изображения, и получает локально декодированное изображение. Деблокирующий фильтр 71 устраняет блочные искажения из декодированного изображения и затем передает результат в память 72 кадров для накопления.
Переключатель 73 передает опорные изображения, накопленные в памяти 72 кадров, модулю 75 прогнозирования/компенсации движения или модулю 74 внутрикадрового прогнозирования.
В таком устройстве - 51 для кодирования изображения опорный кадр (I-кадр), аппроксимированный кадр (В-кадр) и прогнозируемый кадр (Р-кадр) из буфера 62 сортировки экрана передают в модуль 74 внутрикадрового прогнозирования в качестве изображения, подлежащего внутрикадровому прогнозированию (именуемому также внутрикадровой обработкой), например. Кроме того, B-кадр и Р-кадр, считываемые из буфера 62 сортировки экрана, направляют в модуль 75 прогнозирования/компенсации движения в качестве изображения, подлежащего межкадровому прогнозированию (именуемому также межкадровой обработкой).
Модуль 74 внутрикадрового прогнозирования выполняет обработку данных внутрикадрового прогнозирования для всех режимов внутрикадрового прогнозирования, служащих кандидатами, на основе подлежащего внутрикадровому прогнозированию изображения, считываемого из буфера 62 сортировки экрана, и опорного изображения, поступающего из памяти 72 кадров, для генерации прогнозируемого изображения.
В этот момент модуль 74 внутрикадрового прогнозирования вычисляет величину целевой функции для всех режимов внутрикадрового прогнозирования, служащих кандидатами, и выбирает режим внутрикадрового прогнозирования, которому соответствует минимальная величина вычисленной целевой функции, в качестве оптимального режима внутрикадрового прогнозирования.
Модуль 74 внутрикадрового прогнозирования передает прогнозируемое изображение, генерируемое в оптимальном режиме внутрикадрового прогнозирования, и величину целевой функции для этого изображения в модуль 77 выбора прогнозируемого изображения. Если этот модуль 77 выбора прогнозируемого изображения выберет прогнозируемое изображение, сформированное в оптимальном режиме внутрикадрового прогнозирования, модуль 74 внутрикадрового прогнозирования передает информацию, указывающую оптимальный режим внутрикадрового прогнозирования, модулю 66 кодирования без потерь. Этот модуль 66 кодирования без потерь кодирует полученную информацию и делает ее частью информации заголовка сжатого изображения.
Модуль 75 прогнозирования/компенсации движения осуществляет обработку данных прогнозирования и компенсации движения для всех режимов межкадрового прогнозирования, служащих кандидатами. В частности, в модуль 75 прогнозирования/компенсации движения поступают подлежащее межкадровой обработке изображение, считываемое из буфера 62 сортировки экрана, и через переключатель 73 опорное изображение из памяти 72 кадров. Модуль 75 прогнозирования/компенсации движения определяет векторы движения для всех режимов межкадрового прогнозирования, служащих кандидатами, на основе изображения, подлежащего межкадровой обработке, и опорного изображения, подвергает опорное изображение компенсационной обработке на основе этих векторов движения и генерирует прогнозируемое изображение.
Отметим, что модуль 75 прогнозирования/компенсации движения подвергает В-кадр обработке для прогнозирования и компенсации движения "на основе изображения, подлежащего межкадровой обработке, и опорного изображения, а также на основе режима кодирования с прогнозированием движения для генерации прогнозируемого изображения.
В режиме кодирования с прогнозированием движения информацию векторов движения не сохраняют в составе сжатого изображения. В частности, на декодирующей стороне, имея информацию векторов движения вокруг целевого блока или опорного кадра, информацию векторов движения целевого блока выделяют из информации векторов движения совмещенного блока, представляющего собой блок, имеющий такие же координаты, как и целевой блок. Соответственно, нет необходимости передавать информацию векторов движения на декодирующую сторону.
Такой режим кодирования с прогнозированием движения включает два типа режимов - режим пространственного прогнозирования (Spatial Direct Mode) и режим временного прогнозирования (Temporal Direct Mode). Режим пространственного прогнозирования представляет собой режим, использующий преимущества корреляции информации движения главным образом в пространственном направлении (по горизонтали и по вертикали в двумерном пространстве в пределах изображения), и в общем случае имеет преимущество в ситуации, когда изображение включает подобные движения с изменяющимися скоростями. С другой стороны, режим временного прогнозирования представляет собой режим, использующий преимущества корреляции информации движения главным образом по оси времени, и в общем случае имеет преимущество в ситуации, когда изображение включает различные движения с постоянными скоростями.
В частности, даже в пределах одного и того же среза оптимальный вариант режима кодирования с прогнозированием движения - режим пространственного прогнозирования или режим временного прогнозирования, может отличаться для каждого целевого блока. Поэтому модуль 75 прогнозирования/компенсации движения вычисляет информацию вектора движения согласно режиму пространственного прогнозирования и информацию вектора движения согласно режиму временного прогнозирования, а модуль 76 выбора режима кодирования с прогнозированием движения выбирает оптимальный режим кодирования с прогнозированием движения для подлежащего кодированию целевого блока с использованием информации о векторах движения для этого целевого блока.
Модуль 75 прогнозирования/компенсации движения вычисляет информацию вектора движения согласно режиму пространственного прогнозирования и режиму временного прогнозирования и использует вычисленную информацию о векторах движения для осуществления компенсационной обработки изображения и генерации прогнозируемого изображения. В этот момент модуль 75 прогнозирования/компенсации движения передает вычисленную информацию вектора движения согласно режиму пространственного прогнозирования и вычисленную информацию вектора движения согласно режиму временного прогнозирования модулю 76 выбора режима кодирования с прогнозированием движения.
Кроме того, модуль 75 прогнозирования/компенсации движения вычисляет величину целевой функции для всех режимов межкадрового прогнозирования, служащих кандидатами, и в соответствии с режимом кодирования с прогнозированием движения, выбранным модулем 76 выбора режима кодирования с прогнозированием движения. Модуль 75 прогнозирования/компенсации движения определяет на основе вычисленных величин целевой функции режим прогнозирования, которому соответствует минимальная величина, в качестве оптимального режима межкадрового прогнозирования.
Модуль 75 прогнозирования/компенсации движения передает прогнозируемое изображение, генерируемое в оптимальном режиме межкадрового прогнозирования, и величину целевой функции для этого изображения в модуль 77 выбора прогнозируемого изображения. Если модуль 77 выбора прогнозируемого изображения выбрал прогнозируемое изображение, генерируемое в оптимальном режиме межкадрового прогнозирования, модуль 75 прогнозирования/компенсации движения передает информацию индикации оптимального режима межкадрового прогнозирования (информацию режима межкадрового прогнозирования или информацию режима кодирования с прогнозированием движения) модулю 66 кодирования без потерь.
Отметим, что в модуль 66 кодирования без потерь по мере необходимости передают информацию вектора движения, информацию флага, информацию опорного кадра и т.п. Модуль 66 кодирования без потерь также подвергает информацию от модуля 75 прогнозирования/компенсации движения обработке кодирования без потерь, такой как кодирование в коде переменной длины или арифметическое кодирование, и вставляет результат в заголовок сжатого изображения.
Модуль 76 выбора режима кодирования с прогнозированием движения использует информацию векторов движения согласно режиму пространственного прогнозирования и режиму временного прогнозирования от модуля 75 прогнозирования/компенсации движения для вычисления соответствующей остаточной энергии (погрешности прогнозирования). В этот момент вместе с информацией векторов движения для вычисления остаточной энергии используют периферийный пиксел, расположенный рядом с целевым блоком, подлежащим кодированию, в заданном позиционном соотношении с этим блоком и включенный в декодированное изображение.
Модуль 76 выбора режима кодирования с прогнозированием движения сравнивает остаточную энергию двух видов, соответствующую режиму пространственного прогнозирования и режиму временного прогнозирования, выбирает режим с меньшей остаточной энергией в качестве оптимального режима кодирования с прогнозированием движения и передает информацию, указывающую тип выбранного режима кодирования с прогнозированием движения, модулю 75 прогнозирования/компенсации движения.
Модуль 77 выбора прогнозируемого изображения определяет оптимальный режим прогнозирования из оптимального режима внутрикадрового прогнозирования и оптимального режима межкадрового прогнозирования на основе величин целевой функции, поступающий от модуля 74 внутрикадрового прогнозирования или модуля 75 прогнозирования/компенсации движения. Затем модуль 77 выбора прогнозируемого изображения выбирает прогнозируемое изображение, соответствующее найденному оптимальному режиму прогнозирования, и передает его вычислительным модулям 63 и 70. В этот момент модуль 77 выбора прогнозируемого изображения передает информацию выбора прогнозируемого изображения модулю 74 внутрикадрового прогнозирования или модулю 75 прогнозирования/компенсации движения.
Модуль 78 управления частотой квантования управляет частотой квантования, осуществляемого в модуле 65 квантования, на основе сжатого изображения, накопленного в накопительном буфере 67, таким образом, чтобы не вызвать переполнения или недостаточного заполнения.
Описание системы H.264/AVC System
Фиг.2 представляет схему, иллюстрирующую пример размера блока в процессе прогнозирования и компенсации движения в системе H.264/AVC. B такой системе H.264/AVC процедура прогнозирования и компенсации движения осуществляется при переменном размере блока.
Макроблоки размером 16×16 пикселов разделены на секции 16×16 пикселов, 16×8 пикселов, 8×16 пикселов и 8×8 пикселов, показанные на верхнем уровне на Фиг.2 по порядку от левого края. Кроме того, секции 8×8 пикселов разделены на подсекции 8×8 пикселов, 8×4 пикселов, 4×8 пикселов и 4×4 пикселов, показанные по порядку от левого края на нижнем уровне Фиг.2.
В частности, в системе H.264/AVC один макроблок может быть разбит на секции одного из размеров 16×16 пикселов, 16×8 пикселов, 8×16 пикселов и 8×8 пикселов, так что каждая секция имеет независимую информацию вектора движения. Кроме того, секция 8×8 пикселов может быть разделена на подсекции одного из размеров 8×8 пикселов, 8×4 пикселов, 4×8 пикселов и 4×4 пикселов, так что каждая подсекция имеет независимую информацию вектора движения.
Фиг.3 представляет схему, описывающую обработку данных для прогнозирования и компенсации движения с точностью 1/4 пиксела согласно системе H.264/AVC. В системе H.264/AVC обработка данных для прогнозирования и компенсации движения с точностью 1/4 пиксела с использованием имеющего 6 отводов КИХ-фильтра (FIR (Конечная импульсная характеристика)).
В примере на Фиг.3 позиции А обозначают позиции пикселов с целочисленной точностью, а позиции b, c и d обозначают позиции с точностью 1/2 пикселов и позиции e1, e2 и e3 обозначают позиции с точностью 1/4 пиксела. Сначала параметр определяют в соответствии со следующим Выражением (1).
[Математическое выражение 1]
Отметим, что если входное изображение имеет точность 8 бит, величина параметра max_pix становится равной 255.
Величины пикселов в позициях b и d генерируют в соответствии со следующим Выражением (2) с использованием имеющего 6 отводов КИХ-фильтра.
[Математическое выражение 2]
Величину пиксела в позиции с генерируют согласно Выражению (3) путем применения имеющего 6 отводов КИХ-фильтра в горизонтальном направлении и в вертикальном направлении.
[Математическое выражение 3]
Отметим, что обработка Clip (ограничение) осуществляется в самом конце только один раз после обработки данных для определения суммы произведений в горизонтальном направлении и в вертикальном направлении.
Позиции с e1 по e3 генерируют посредством линейной интерполяции, как показывает следующее Выражение (4).
[Математическое выражение 4]
Фиг.4 представляет схему, описывающую способ прогнозирования и компенсации движения с использованием нескольких опорных кадров согласно системе H.264/AVC. В системе H.264/AVC был определен способ прогнозирования и компенсации движения с использованием нескольких опорных кадров (Несколько опорных кадров).
В примере, изображенном на Фиг.4, показаны целевой кадр Fn, подлежащий кодированию с настоящего момента, и кодированные кадры с Fn-5 по Fn-1. Кадр Fn-1 представляет собой кадр, расположенный на временной оси на один кадр раньше целевого кадра Fn, кадр Fn-2 представляет собой кадр на два кадра раньше целевого кадра Fn и кадр Fn-3 представляет собой кадр на три кадра раньше целевого кадра Fn. Аналогично, кадр Fn-4 представляет собой кадр на четыре кадра раньше целевого кадра Fn и кадр Fn-5 представляет собой кадр на пять кадров раньше целевого кадра Fn. В общем, чем ближе некий кадр к целевому кадру Fn на временной оси, тем меньше добавляемый номер (ref_id) опорного кадра. В частности, кадр Fn-1 имеет наименьший номер опорного кадра и затем номера опорных кадров являются малыми в порядке Fn-2, …, Fn-5.
В целевом кадре Fn показаны блок А1 и блок А2, а вектор VI движения определяют в предположении, что блок А1 коррелирован с блоком A1' в кадре Fn-2 на два кадра раньше целевого кадра Fn. Аналогично, вектор V2 движения определяют в предположении, что блок А2 коррелирован с блоком A1' в кадре Fn-4 на четыре кадра раньше целевого кадра Fn.
Как описано выше, в системе H.264/AVC один кадр привязан к нескольким опорным кадрам, так что эти несколько опорных кадров записаны в памяти. В частности, например, если блок А1 привязан к кадру Fn-2, а блок А2 привязан к кадру Fn-4, независимая информация об опорном кадре (номер опорного кадра (ref_id)) может быть дана для каждого блока в одном кадре.
В системе H.264/AVC в результате обработки данных для прогнозирования и компенсации движения, описанной выше со ссылками на Фиг.2-4, происходит генерация больших объемов информации о векторах движения, так что если эту информацию кодировать без изменений, произойдет снижение эффективности кодирования. В связи с этим в системе H.264/AVC согласно способу, показанному на Фиг.5, было реализовано уменьшение объема информации, кодирующей векторы движения.
На Фиг.5 представлена схема, описывающая способ генерации информации векторов движения в системе H.264/AVC.
В примере на Фиг.5 показаны целевой блок E, подлежащий кодированию с текущего момента (например, размером 16×16 пикселов) и уже закодированные блоки А-D, расположенные рядом с этим целевым блоком Е.
В частности, блок D расположен рядом с целевым блоком E сверху слева, блок B расположен рядом с целевым блоком E сверху, блок C расположен рядом с целевым блоком E сверху справа и блок A расположен рядом с целевым блоком E слева. Отметим, что причиной, почему блоки А-D не разделены на секции, является тот факт, что каждый из этих блоков представляет блок, имеющий одну структуру от 16×16 пикселов до 4×4 пикселов, описанную выше со ссылками на Фиг.2.
Например, предположим, что информация векторов движения X (=A, B, C, D, E) представлена mvX. Сначала генерируют информацию pmvE прогнозирования векторов движения для целевого блока E в соответствии со следующим Выражением (5) посредством медианного прогнозирования с использованием информации векторов движения относительно блоков A, B и C.
Использование информации вектора движения относительно блока С может оказаться невозможным (информация может быть недоступна) по какой-либо причине, такой как край кадра изображения, кодирование еще не началось или нечто подобное. В этом случае используют информацию вектора движения относительно блока D вместо информации вектора движения относительно блока C.
Данные mvdE для добавления к части заголовка сжатого изображения, служащие информацией вектора движения относительно целевого блока Е, генерируют в соответствии со следующим Выражением (6) с использованием
Отметим, что в реальности - обработку составляющих вектора движения в горизонтальном направлении и в вертикальном направлении осуществляют независимо.
Таким образом, генерируют информацию прогнозирования вектора движения, определяют разность между генерируемыми единицами информации прогнозирования вектора движения на основе корреляции с соседним блоком и добавляют информацию вектора движения, к части заголовка сжатого изображения, что позволяет восстановить информацию вектора движения.
Пример конфигурации модуля выбора режима кодирования с прогнозированием движения
Фиг.6 представляет блок-схему, иллюстрирующую пример подробной конфигурации модуля выбора режима кодирования с прогнозированием движения. Отметим, что вместе с примером, показанным на Фиг.6, представлены модуль 75 прогнозирования/компенсации движения, а также показанные на Фиг.11 модули, осуществляющие часть описанной выше обработки данных в режиме кодирования с прогнозированием движения.
В случае примера, показанного на Фиг.6, модуль 75 прогнозирования/компенсации движения конфигурирован так, что он включают модуль 81 вычисления вектора движения в режиме пространственного прогнозирования (Spatial Direct Mode) (далее именуемый SDM-режим) и модуль 82 вычисления вектора движения в режиме временного прогнозирования (Temporal Direct Mode) (далее именуемый TDM-режим).
Модуль 76 выбора режима кодирования с прогнозированием движения конфигурирован так, что он включает модуль 91 вычисления остаточной энергии в SDM-режиме, модуль 92 вычисления остаточной энергии в TDM-режиме, модуль 93 сравнения и модуль 94 определения режима кодирования с прогнозированием движения.
Модуль 81 вычисления вектора движения в SDM-режиме осуществляет обработку данных прогнозирования и компенсации движения на основе режима пространственного прогнозирования применительно к В-кадрам для генерации прогнозируемого изображения. Отметим, что в случае В-кадра выполняют обработку прогнозирования и компенсации движения применительно к обоим опорным кадрам List0 (L0) и List1 (L1).
В этот момент в модуле 81 вычисления вектора движения в SDM-режиме на основе режима пространственного прогнозирования вычисляют вектор directmvL0 (Spatial) движения посредством прогнозирования движения между целевым кадром и опорным кадром L0. Аналогично вектор directmvL1 (Spatial) движения вычисляют посредством прогнозирования движения между целевым кадром и опорным кадром L1. Вычисленные вектор directmvL0 (Spatial) движения и вектор directmL1 (Spatial) движения передают в модуль 91 вычисления остаточной энергии в SDM-режиме.
Модуль 82 вычисления вектора движения в TDM-режиме осуществляет обработку данных прогнозирования и компенсации движения на основе режима временного прогнозирования применительно к В-кадрам для генерации прогнозируемого изображения;
В этот момент в модуле 82 вычисления вектора движения в TDM-режиме на основе режима временного прогнозирования вычисляют вектор directmvL0 (Temporal) движения посредством прогнозирования движения между целевым кадром и опорным кадром L0. Аналогично, вычисляют вектор directmvL0 (Temporal) движения посредством прогнозирования движения между целевым кадром и опорным кадром L1. Эти вычисленные вектор directmvL0 (Temporal) движения и вектор directmvL1 (Temporal) движения передают в модуль 92 вычисления остаточной энергии в TDM-режиме.
Модуль 91 вычисления остаточной энергии в SDM-режиме получает из каждого опорного кадра группы NL0 и NL1 пикселов, соответствующие периферийной группе NCUR пикселов относительно целевого блока, подлежащего кодированию, и специфицированные вектором directmvL0 (Spatial) движения и вектором directmvL1 (Spatial) движения. Эта периферийная группа NCUR пикселов представляет собой уже кодированную группу пикселов вокруг целевого блока, например. Отметим, что такая периферийная группа NCUR пикселов будет более подробно описана позднее со ссылками на Фиг.13.
Модуль 91 вычисления остаточной энергии в SDM-режиме использует величины пикселов из периферийной группы NCUR пикселов целевого блока и величины пикселов из групп NL0 и NL1 пикселов, полученных из каждого опорного кадра, для вычисления соответствующих остаточных энергий с использованием суммы абсолютных разностей (SAD (Sum of Absolute Difference)).
Далее, модуль 91 вычисления остаточной энергии в SDM-режиме 91 использует остаточную энергию SAD(NL0; Spatial) относительно группы NL0 пикселов опорного кадра L0 и остаточную энергию SAD(NL1; Spatial) относительно группы NL1 пикселов опорного кадра L1 для вычисления остаточной энергии SAD(Spatial). Эту остаточную энергию SAD(Spatial) вычисляют с использованием приведенного ниже Выражения (7). Вычисленную остаточную энергию SAD(Spatial) передают в модуль 93 сравнения.
Модуль 92 вычисления остаточной энергии в TDM-режиме получает группы NL0 и NL1 пикселов из каждого опорного кадра, соответствующие периферийной группе NCUR пикселов целевого блока, подлежащего кодированию, и специфицированные вектором directmvLo (Temporal) движения и вектором движения directmvLi (Temporal). Этот модуль 92 вычисления остаточной энергии в TDM-режиме использует величины пикселов из периферийной группы NCUR пикселов целевого блока и величины пикселов из групп NL0 и NL1 пикселов, полученных из каждого опорного кадра, для вычисления соответствующих остаточных энергий с использованием SAD.
Далее, модуль 92 вычисления остаточной энергии в TDM-режиме использует остаточную энергию SAD(NL0; Temporal) относительно группы NL0 пикселов опорного кадра L0 и остаточную энергию SAD(NL1; Temporal) относительно группы NL1 пикселов опорного кадра L1 для вычисления остаточной энергии SAD(Temporal). Эту остаточную энергию SAD(Temporal) вычисляют с использованием приведенного ниже Выражения (8). Вычисленную остаточную энергию SAD(Temporal) передают в модуль 93 сравнения.
Модуль 93 сравнения осуществляет сравнение остаточной энергии SAD(Spatial), вычисленной на основе режима пространственного прогнозирования, с остаточной энергией SAD(Temporal), вычисленной на основе режима временного прогнозирования, и передает результат в модуль 94 определения режима кодирования с прогнозированием движения.
Модуль 94 определения режима кодирования с прогнозированием движения определяет на основе следующего выражения (9), следует ли кодировать целевой блок в режиме пространственного прогнозирования или в режиме временного прогнозирования. Иными словами модуль определяет выбор оптимального режима кодирования с прогнозированием движения для целевого блока.
В частности, если удовлетворяется Выражение (9) и остаточная энергия SAD(Spatial) не превышает остаточной энергии SAD(Temporal), модуль 94 определения режима кодирования с прогнозированием движения определяет выбор режима пространственного прогнозирования в качестве оптимального режима кодирования с прогнозированием движения для целевого блока. С другой стороны, если Выражение (9) не удовлетворяется и остаточная энергия SAD(Spatial) больше остаточной энергии SAD(Temporal), модуль 94 определения режима кодирования с прогнозированием движения определяет выбор режима временного прогнозирования в качестве оптимального режима кодирования с прогнозированием движения для целевого блока. Информацию, указывающую тип выбранного режима кодирования с прогнозированием движения, передают в модуль 75 прогнозирования/компенсации движения.
Отметим, что приведенное выше описание относится к случаю получения остаточной энергии с использованием суммы абсолютных разностей (SAD), однако вместо SAD можно использовать, например, сумму квадратов разностей (SSD (Sum of Squared Difference)). В случае использования SAD выбор оптимального режима кодирования с прогнозированием движения может быть осуществлен при меньшем объеме вычислений, чем в случае использования SSD. С другой стороны, в случае использования SSD выбор оптимального режима кодирования с прогнозированием движения может быть осуществлен с более высокой точностью, чем в случае использования SAD.
Кроме того, при выполнении указанных выше вычислений на основе SAD можно использовать только яркостный сигнал, либо в дополнение к яркостному сигналу можно использовать также цветоразностный сигнал. Далее, в качестве альтернативного варианта может быть применена система, где обработка данных для вычисления SAD осуществляется для каждой - Y/Cb/Cr-составляющей сигнала и сравнение SAD также осуществляется для каждой - Y/Cb/Cr-составляющей сигнала.
При выполнении обработки данных для вычисления SAD с использованием только яркостного сигнала определение режима кодирования с прогнозированием движения может быть реализовано при меньшем объеме вычислений, но добавление сюда цветоразностного сигнала позволяет определить выбор оптимального режима кодирования с прогнозированием движения с более высокой точностью. Кроме того, возможна ситуация, когда оптимальный режим кодирования с прогнозированием движения отличается для каждой - Y/Cb/Cr-составляющей и, соответственно, указанную выше вычислительную обработку данных осуществляют для каждой из этих составляющих и оптимальный режим кодирования с прогнозированием движения определяют для каждой из составляющих, что позволяет сделать определение еще более точным.
Описание процесса кодирования в устройстве для кодирования изображений
Далее процесс кодирования в устройстве 51 для кодирования изображений, представленном на Фиг.1, будет описан со ссылками на логическую схему, показанную на Фиг.7.
На этапе S11 аналого-цифровой преобразователь 61 осуществляет преобразование входного изображения из аналоговой формы в цифровую форму. На этапе S12 буфер 62 сортировки экрана сохраняет изображение, поступающее от аналого-цифрового преобразователя 61, и осуществляет сортировку из последовательности для представления кадров на дисплее в последовательность для кодирования.
На этапе S13 вычислительный модуль 63 вычисляет разность между изображением, отсортированным на этапе S12, и прогнозируемым изображением. Это прогнозируемое изображение поступает в вычислительный модуль 63 от модуля 75 прогнозирования/компенсации движения в случае выполнения межкадрового прогнозирования или от модуля 74 внутрикадрового прогнозирования в случае осуществления внутрикадрового прогнозирования через модуль 77 выбора прогнозируемого изображения.
Разностные данные имеют меньший объем по сравнению с данными исходного изображения. Соответственно, объем данных может быть сжат по сравнению со случаем кодирования исходного изображения без изменений.
На этапе S14 модуль 64 ортогонального преобразования осуществляет ортогональное преобразование разностной информации, поступающей от вычислительного модуля 63. В частности, осуществляется ортогональное преобразование, такое как дискретное косинусное преобразование, преобразование Карунена-Лоэва и т.п., и происходит передача коэффициентов преобразования на выход. На этапе S15 модуль 65 квантования осуществляет квантование коэффициентов преобразования. В момент этого квантования управление частотой квантования осуществляется в соответствии с описанием, приведенным далее для этапа S25.
Квантованную разностную информацию локально декодируют следующим образом. В частности, на этапе S16 модуль 68 обратного квантования осуществляет обратное квантование коэффициентов преобразования, квантованных модулем 65 квантования, с использованием функции, соответствующей функции модуля 65 квантования. На этапе S17 модуль 69 обратного ортогонального преобразования осуществляет обратное ортогональное преобразование коэффициентов преобразования, прошедших процедуру обратного квантования в модуле 68 обратного квантования, с использованием функции, соответствующей функции модуля 64 ортогонального преобразования.
На этапе S18 вычислительный модуль 70 суммирует прогнозируемое изображение, поступающее через модуль 77 выбора прогнозируемого изображения, с локально декодированной разностной информацией и генерирует локально декодированное изображение (изображение, соответствующее данным, поступающим на входы вычислительного модуля 63). На этапе S19 деблокирующий фильтр 71 осуществляет фильтрацию изображения, поступающего с выхода вычислительного модуля 70. В результате происходит удаление искажений блоков. На этапе S20 память 72 кадров сохраняет изображение, прошедшее фильтрацию. Отметим, что изображение, не подвергавшееся фильтрации в деблокирующем фильтре 71, также поступает от вычислительного модуля 70 в память 72 кадров для сохранения.
На этапе S21 модуль 74 внутрикадрового прогнозирования и модуль 75 прогнозирования/компенсации движения осуществляют каждый обработку данных для прогнозирования изображения. В частности, на этапе S21 модуль 74 внутрикадрового прогнозирования осуществляет обработку данных внутрикадрового прогнозирования в режиме внутрикадрового прогнозирования. Модуль 75 прогнозирования/компенсации движения осуществляет обработку данных прогнозирования и компенсации движения в режиме межкадрового прогнозирования, а также выполняет обработку данных прогнозирования и компенсации движения применительно к В-кадрам в режимах пространственного и временного прогнозирования. В этот момент модуль 76 выбора режима кодирования с прогнозированием движения использует информацию векторов движения в режиме пространственного прогнозирования и в режиме временного прогнозирования, вычисленную модулем 75 прогнозирования/компенсации движения, чтобы выбрать оптимальный режим кодирования с прогнозированием движения.
Подробности процедуры прогнозирования на этапе S21 будут описаны позднее со ссылками на Фиг.8, однако в соответствии с этой процедурой выполняют операции прогнозирования для всех режимов прогнозирования, служащих кандидатами, и вычисляют величины целевой функции для всех этих режимов прогнозирования служащих кандидатами. На основе этих вычисленных величин целевой функций выбирают оптимальный режим внутрикадрового прогнозирования и передают прогнозируемое изображение, генерируемое посредством операций внутрикадрового прогнозирования в выбранном оптимальном режиме внутрикадрового прогнозирования, и соответствующую величину целевой функции в модуль 77 выбора прогнозируемого изображения.
Кроме того, применительно к Р-кадрам выбирают оптимальный режим межкадрового прогнозирования из нескольких режимов межкадрового прогнозирования на основе вычисленных величин целевой функции и передают прогнозируемое изображение, сформированное в выбранном оптимальном режиме межкадрового прогнозирования, и величину целевой функции для этого изображения в модуль 77 выбора прогнозируемого изображения.
С другой стороны, применительно к В-кадрам выбирают оптимальный режим межкадрового прогнозирования из нескольких режимов межкадрового прогнозирования и режима кодирования с прогнозированием движения, выбранного модулем 76 выбора режима кодирования с прогнозированием движения, на основе вычисленных величин целевой функции. Прогнозируемое изображение, сформированное в выбранном оптимальном режиме межкадрового прогнозирования, и величину целевой функции для этого изображения передают в модуль 77 выбора прогнозируемого изображения.
На этапе S22 модуль 77 выбора прогнозируемого изображения определяет один из режимов - оптимальный режим внутрикадрового прогнозирования или оптимальный режим межкадрового прогнозирования, в качестве оптимального режима прогнозирования на основе величин целевой функции, поступающих от модуля 74 внутрикадрового прогнозирования и от модуля 75 прогнозирования/компенсации движения. Затем модуль 77 выбора прогнозируемого изображения выбирает прогнозируемое изображение в определенном им оптимальном режиме прогнозирования и передает вычислительным модулям 63 и 70. Это прогнозируемое изображение используется, как указано выше, для вычислений на этапах S13 и S18.
Отметим, что информацию о выборе этого прогнозируемого изображения передают в модуль 74 внутрикадрового прогнозирования или в модуль 75 прогнозирования/компенсации движения. Если было выбрано прогнозируемое изображение согласно оптимальному режиму внутрикадрового прогнозирования, модуль 74 внутрикадрового прогнозирования передает информацию индикации оптимального режима внутрикадрового прогнозирования (т.е. информацию режима внутрикадрового прогнозирования).
Если было выбрано прогнозируемое изображение для оптимального режима межкадрового прогнозирования, модуль 75 прогнозирования/компенсации движения передает на выход информацию индикации оптимального режима межкадрового прогнозирования (включая режим кодирования с прогнозированием движения) и при необходимости информацию согласно оптимальному режиму межкадрового прогнозирования модулю 66 кодирования без потерь. Примеры информации согласно оптимальному режиму межкадрового прогнозирования включают информацию векторов движения, информацию флага и информацию опорного кадра. Кроме того, если прогнозируемое изображение, соответствующее некоторому конкретному режиму межкадрового прогнозирования, было выбрано в качестве изображения для оптимального режима межкадрового прогнозирования, модуль 75 прогнозирования/компенсации движения передает информацию этого конкретного режима межкадрового прогнозирования, информацию векторов движения и информацию опорного кадра в модуль 66 кодирования без потерь.
С другой стороны, если прогнозируемое изображение, соответствующее некоторому режиму кодирования с прогнозированием движения, было выбрано в качестве изображения для оптимального режима межкадрового прогнозирования, модуль 75' прогнозирования/компенсации движения передает модулю 66 кодирования без потерь только информацию индикации этого режима кодирования с прогнозированием движения для каждого среза. Иными словами, в случае кодирования согласно какому-либо режиму кодирования с прогнозированием движения информацию векторов движения и т.п. не нужно передавать на декодирующую сторону, вследствие чего эту информацию не передают модулю 66 кодирования без потерь. Более того, информацию индикации вида режима кодирования с прогнозированием движения для каждого блока также не передают на декодирующую сторону. Соответственно, объем информации векторов движения в сжатом изображении может быть уменьшен.
На этапе S23 модуль 66 кодирования без потерь кодирует квантованные коэффициенты преобразования с выхода модуля 65 квантования. В частности, разностное изображение подвергают кодированию без потерь, такому как кодирование в коде переменной длины, арифметическое кодирование и т.п., и сжимают. В этот момент информацию режима внутрикадрового прогнозирования от модуля 74 внутрикадрового прогнозирования или информацию согласно оптимальному режиму межкадрового прогнозирования от модуля 75 прогнозирования/компенсации движения и т.п., переданные модулю 66 кодирования без потерь на этапе S22, описанном выше, также кодируют и добавляют к информации заголовка.
На этапе S24 накопительный буфер 67 накапливает разностное изображение в качестве сжатого изображения. Это сжатое изображение, накопленное в указанном накопительном буфере 67, считывают по мере необходимости и передают на декодирующую сторону по тракту передачи данных.
На этапе S25, модуль 78 управления частотой квантования управляет частотой квантования, выполняемого модулем 65 квантования, на основе сжатого изображения, накопленного в указанном накопительном буфере 67, таким образом, чтобы не вызвать переполнения или недостаточного заполнения.
Описание процесса прогнозирования в устройстве для кодирования изображений
Далее процедура прогнозирования на этапе S21, показанном на Фиг.7, будет описана со ссылками на логическую схему, представленную на Фиг.8.
Если подлежащее обработке изображение, поступающее из буфера 62 сортировки экрана, представляет собой изображение блока, подлежащего внутрикадровой обработке, декодированное изображение, которое должно служить опорой, считывают из памяти 72 кадров и направляют в модуль 74 внутрикадрового прогнозирования через переключатель 73. На этапе S31 на основе этих изображений модуль 74 внутрикадрового прогнозирования осуществляет внутрикадровое прогнозирование для пикселов в блоке, подлежащем обработке, с использованием всех режимов внутрикадрового прогнозирования, служащих кандидатами. Отметим, что в качестве декодированных опорных пикселов используют пикселы, не подвергавшиеся деблокирующей фильтрации в деблокирующем фильтре 71.
Подробнее обработка данных для внутрикадрового прогнозирования, выполняемая на этапе S31, будет описана позднее со ссылками на Фиг.9, однако в ходе такой обработки осуществляют внутрикадровое прогнозирование с использованием всех режимов внутрикадрового прогнозирования, служащих кандидатами, и вычисляют величины целевой функции для всех режимов внутрикадрового прогнозирования, служащих кандидатами. Затем на основе вычисленных величин целевой функции выбирают оптимальный режим внутрикадрового прогнозирования и передают прогнозируемое изображение, сформированное в результате внутрикадрового прогнозирования в оптимальном режиме внутрикадрового прогнозирования, и целевую функцию для этого изображения в модуль 77 выбора прогнозируемого изображения.
Если подлежащее обработке изображение, поступающее из буфера 62 сортировки экрана, представляет собой изображение, подлежащее межкадровой обработке, изображение, которое должно служить опорой, считывают из памяти 72 кадров и направляют в модуль 75 прогнозирования/компенсации движения через переключатель 73. На этапе S32 модуль 75 прогнозирования/компенсации движения на основе этих изображений осуществляет обработку данных межкадрового прогнозирования. Иными словами, модуль 75 прогнозирования/компенсации движения использует изображение, поступающее из памяти 72 кадров в качестве опоры при выполнении обработки данных с прогнозированием движения во всех режимах межкадрового прогнозирования, служащих кандидатами.
Подробнее обработка данных для межкадрового прогнозирования, выполняемая на этапе S32, будет описана позднее со ссылками на Фиг.10, однако в ходе такой обработки данных осуществляют прогнозирование движения с использованием всех режимов межкадрового прогнозирования, служащих кандидатами, и вычисляют величины целевой функции для всех режимов межкадрового прогнозирования, служащих кандидатами.
Далее, если изображение, подлежащее обработке, представляет собой В-кадр, модуль 75 прогнозирования/компенсации движения и модуль 76 выбора режима кодирования с прогнозированием движения осуществляют обработку данных в режиме кодирования с прогнозированием движения на этапе S33.
Подробнее обработка данных для режима кодирования с прогнозированием движения, выполняемая на этапе S33, будет описана позднее со ссылками на Фиг.11. В ходе такой обработки данных выполняют процедуры прогнозирования и компенсации движения на основе режимов пространственного и временного прогнозирования. Вычисленные в этот момент величины векторов движения согласно режимам пространственного и временного прогнозирования используют для выбора оптимального режима кодирования с прогнозированием движения из этих режимов пространственного и временного прогнозирования. После этого вычисляют величину целевой функции для выбранного режима кодирования с прогнозированием движения.
На этапе S34 модуль 75 прогнозирования/компенсации движения сравнивает величины целевой функции для режимов межкадрового прогнозирования, вычисленные на этапе S32, и величину целевой функции для режима кодирования с прогнозированием - движения, вычисленную на этапе S33. Модуль 75 прогнозирования/компенсации движения определяет режим прогнозирования, при котором достигается минимальная величина, выбирает его в качестве оптимального режима межкадрового прогнозирования и передает прогнозируемое изображение, сформированное в оптимальном режиме межкадрового прогнозирования, и целевую функцию для этого изображения в модуль 77 выбора прогнозируемого изображения.
Отметим, что если изображение, подлежащее обработке, представляет Р-кадр, обработку данных на этапе S33 пропускают, а на этапе S34 определяют оптимальный режим межкадрового прогнозирования на основе результатов формирования прогнозируемого изображения для нескольких режимов межкадрового прогнозирования на этапе S32.
Описание процесса обработки данных при внутрикадровом прогнозировании в устройстве для кодирования изображений
Далее обработка данных при внутрикадровом прогнозировании на этапе S31 согласно Фиг.8 будет описана со ссылками на логическую схему, показанную на Фиг.9. Отметим, что пример, изображенный на Фиг.9, будет описан для случая яркостного сигнала.
На этапе S41 модуль 74 внутрикадрового прогнозирования осуществляет внутрикадровое прогнозирование в соответствии с режимами внутрикадрового прогнозирования для блоков с размерностью 4×4 пикселов, 8×8 пикселов и 16×16 пикселов.
Применительно к внутрикадровому прогнозированию для яркостного сигнала разработаны девять видов режимов внутрикадрового прогнозирования для блоков размером 4×4 пикселов и 8×8 пикселов и четыре вида режимов внутрикадрового прогнозирования для макроблоков размером 16×16 пикселов, а применительно к внутрикадровому прогнозированию цветоразностного сигнала предложены четыре вида режимов внутрикадрового прогнозирования для блоков размером 8×8 пикселов. Режимы внутрикадрового прогнозирования для цветоразностных сигналов можно устанавливать независимо от режимов внутрикадрового прогнозирования для яркостных сигналов. Если говорить о режимах внутрикадрового прогнозирования для блоков 4×4 пиксела и 8×8 пикселов яркостного сигнала, то для каждого такого блока яркостного сигнала размером 4×4 пиксела и 8×8 пикселов определяют по одному режиму внутрикадрового прогнозирования. Если говорить о режимах внутрикадрового прогнозирования для блоков - размером 16×16 пикселов яркостного сигнала и режимах внутрикадрового прогнозирования для цветоразностного сигнала, то одному макроблоку назначают один режим прогнозирования.
В частности, модуль 74 внутрикадрового прогнозирования осуществляет внутрикадровое прогнозирование для пикселов в блоке, подлежащем обработке, с опорой на декодированное изображение, считываемое из памяти 73 кадров и получаемое через переключатель 73. Такую обработку данных для внутрикадрового прогнозирования выполняют в нескольких режимах внутрикадрового прогнозирования и, соответственно, генерируют прогнозируемые изображения для этих режимов внутрикадрового прогнозирования. Отметим, что пикселы, не подвергшиеся деблокирующей фильтрации в деблокирующем фильтре 71, используют в качестве декодированных пикселов, служащих опорными.
На этапе S42 модуль 74 внутрикадрового прогнозирования вычисляет величину целевой функции для режимов внутрикадрового прогнозирования для блоков размером 4×4 пиксела, 8×8 пикселов и 16х16 пикселов. Здесь величину целевой функции вычисляют на основе одного из методов - варианта Высокой сложности (High Complexity mode) или варианта Низкой сложности (Low Complexity mode). Эти варианты определены в Совместной модели (JM (Joint Model)), являющейся опорным пакетом программного обеспечения в системе H.264/AVC.
В частности, в варианте Высокой сложности в качестве эксперимента осуществляли кодирование для всех режимов прогнозирования, служащих кандидатами, как обработка на этапе S41. При этом вычисляли величину целевой функции, представленной приведенным ниже Выражением (10), для каждого режима прогнозирования и выбирали режим прогнозирования, которому соответствует минимальная величина целевой функции, в качестве оптимального режима прогнозирования.
Здесь D обозначает разность (искажения) между исходным изображением и декодированным изображением, R обозначает объем сформированного кода, включающего коэффициент ортогонального преобразования, и λ обозначает множитель Лагранжа, определяемый в функции параметра QP квантования.
С другой стороны, в варианте Низкой сложности генерируют прогнозируемое изображение и вычисляют для добавления к заголовку биты информации векторов движения, информации режима прогнозирования, информации флага и т.п. для всех режимов прогнозирования, служащих кандидатами, как при обработке на этапе S41. Для всех режимов прогнозирования вычисляют величину целевой функции в соответствии с приведенным ниже Выражением (И) и выбирают режим прогнозирования, которому соответствует минимальная величина целевой функции, в качестве оптимального режима прогнозирования.
Здесь D обозначает разность (искажения) между исходным изображением и декодированным изображением, Header_Bit обозначает биты заголовка в режиме прогнозирования и QPtoQuant обозначает функцию параметра QP квантования.
В варианте Низкой сложности генерируют только прогнозируемые изображения во всех режимах прогнозирования, и при этом нет необходимости выполнять обработку кодирования данных и обработку декодирования данных и, соответственно, можно уменьшить объем вычислений.
На этапе S43 модуль 74 внутрикадрового прогнозирования определяет оптимальный режим из совокупности режимов внутрикадрового прогнозирования для блоков размером 4×4 пиксела, 8×8 пикселов и 16×16 пикселов. В частности, как описано выше, для режима 4×4 внутрикадрового прогнозирования и режима 8×8 внутрикадрового прогнозирования число различных видов прогнозирования равно девяти, а для режима 16×16 внутрикадрового прогнозирования число различных видов прогнозирования равно четырем. Соответственно, модуль 74 внутрикадрового прогнозирования определяет на основе величин целевой функции, вычисленных на этапе S42, оптимальный режим 4×4 внутрикадрового прогнозирования, оптимальный режим 8×8 внутрикадрового прогнозирования и оптимальный режим 16х16 внутрикадрового прогнозирования из этой совокупности видов прогнозирования.
На этапе S44 модуль 74 внутрикадрового прогнозирования выбирает оптимальный режим внутрикадрового прогнозирования из совокупности режимов внутрикадрового прогнозирования для блоков 4×4 пиксела, 8×8 пикселов и 16×16 пикселов на основе величин целевой функции, вычисленных на этапе S42. В частности, модуль 74 внутрикадрового прогнозирования выбирает из оптимальных режимов, найденных для размеров блока 4×4 пиксела, 8×8 пикселов и 16×16 пикселов, режим, которому соответствует минимальная величина целевой функции, в качестве оптимального режима внутрикадрового прогнозирования. Затем модуль 74 внутрикадрового прогнозирования передает прогнозируемое изображение, сформированное в выбранном оптимальном режиме внутрикадрового прогнозирования, и соответствующую этому изображению величину целевой функции в модуль 77 выбора прогнозируемого изображения.
Описание процесса межкадрового прогнозирования движения в устройстве для кодирования изображения
Далее процесс обработки данных при межкадровом прогнозировании движения на этапе S32, показанном на Фиг.8, будет описан со ссылками на логическую схему, представленную на Фиг.10.
На этапе S51 модуль 75 прогнозирования/компенсации движения определяет вектор движения и опорное изображение для каждого из восьми видов режимов межкадрового прогнозирования для блоков размером от 16×16 пикселов до 4×4 пиксела, описанных выше со ссылками на Фиг.2. Иными словами вектор движения и опорное изображение определяют для подлежащего обработке блока в каждом режиме межкадрового прогнозирования.
На этапе S52 модуль 75 прогнозирования/компенсации движения выполняет обработку данных для прогнозирования и компенсации движения применительно к опорному изображению на основе вектора движения, найденного на этапе S51 в каждом из восьми видов режима межкадрового прогнозирования для блоков размером от 16×16 пикселов до 4×4 пиксела. В результате такой обработки данных для прогнозирования и компенсации движения генерируют прогнозируемое изображение для каждого из режимов межкадрового прогнозирования.
На этапе S53 модуль 75 прогнозирования/компенсации движения генерирует информацию векторов движения с целью добавления к сжатому изображению относительно векторов движения, определяемых для каждого из восьми видов режимов межкадрового прогнозирования для блоков размером от 16×16 пикселов до 4×4 пиксела. В этот момент для генерации информации векторов движения используют способ генерации векторов движения, описанный выше со ссылками на Фиг.5.
Сформированную таким способом информацию векторов движения используют также в момент вычисления величин целевой функции на следующем этапе S54, и если соответствующее прогнозируемое изображение было в конечном итоге выбрано модулем 77 выбора прогнозируемого изображения, это прогнозируемое изображение передают в модуль 66 кодирования без потерь вместе с информацией режима прогнозирования и информацией опорного кадра.
На этапе S54 модуль 75 прогнозирования/компенсации движения вычисляет величину целевой функции в соответствии с описанными выше Выражением (10) или Выражением (11) для каждого из восьми видов режимов межкадрового прогнозирования для блоков размером от 16×16 пикселов до 4×4 пиксела. Вычисленную здесь величину целевой функции используют в момент определения оптимального режима межкадрового прогнозирования на описанном выше этапе S34, показанном на Фиг.8.
Описание процесса прогнозирования в режиме кодирования с прогнозированием движения в устройстве для кодирования изображения
Далее обработка данных в процессе прогнозирования в режиме кодирования с прогнозированием движения на этапе S33, показанном на Фиг.8, будет описана со ссылками на логическую схему, представленную на Фиг.11. Отметим, что такую обработку данных выполняют только в случае, когда целевое изображение представляет собой В-кадр.
На этапе S71 модуль 81 вычисления вектора движения в SDM-режиме вычисляет величину вектора движения в режиме пространственного прогнозирования.
В частности, модуль 81 вычисления вектора движения в SDM-режиме осуществляет обработку данных для прогнозирования и компенсации движения в соответствии с режимом пространственного прогнозирования для генерации прогнозируемого изображения. В этот момент модуль 81 вычисления вектора движения в SDM-режиме вычисляет в режиме пространственного прогнозирования вектор directmvLo (Spatial) движения в соответствии с прогнозом движения между целевым кадром и опорным кадром L0. Аналогично, вектор directmvLi (Spatial) движения вычисляют в соответствии с прогнозом движения между целевым кадром и опорным кадром L1.
Режим пространственного прогнозирования согласно системе H.264/AVC будет снова описан со ссылками на Фиг.5. В примере, представленном на Фиг.5, как описано выше, показаны целевой блок Е (например, 16×16 пикселов), подлежащий кодированию в текущий момент, и уже кодированные блоки А-D, расположенные рядом с этим целевым блоком Е. Информация вектора движения для X (=A, B, C, D, E) представлена, например, посредством mvX.
Информацию pmvE прогнозируемого вектора движения для целевого блока Е генерируют посредством медианного прогнозирования подобно описанному выше Выражению (5) с использованием информации векторов движения относительно блоков A, B и C. Информация hive вектора движения для целевого блока E в режиме пространственного прогнозирования представлена подобно следующему Выражению (12).
В частности, в режиме пространственного прогнозирования информацию прогнозируемого вектора движения, генерируемую посредством медианного прогнозирования, принимают в качестве информации вектора движения целевого блока. Иными словами, информацию вектора движения целевого блока генерируют с использованием информации вектора движения кодированного блока. Соответственно, вектор движения для режима пространственного прогнозирования может быть сформирован даже на декодирующей стороне, так что нет необходимости передавать информацию вектора движения на декодирующую сторону.
Вычисленные вектор directmvLo (Spatial) движения и вектор directmvu (Spatial) движения передают в модуль 91 вычисления остаточной энергии в SDM-режиме.
На этапе S72 модуль 82 вычисления вектора движения в TDM-режиме вычисляет величину вектора движения в режиме временного прогнозирования.
В частности, модуль 82 вычисления вектора движения в TDM-режиме осуществляет обработку данных для прогнозирования и компенсации движения применительно к В-кадрам в соответствии с режимом временного прогнозирования для генерации прогнозируемого изображения.
В этот момент модуль 82 вычисления вектора движения в TDM-режиме вычисляет в режиме временного прогнозирования вектор directmvL0 (Temporal) движения в соответствии с прогнозом движения между целевым кадром и опорным кадром L0. Аналогично, вектор directrnvu (Temporal) движения вычисляют в соответствии с прогнозом движения между целевым кадром и опорным кадром L1. Отметим, что обработка данных для вычисления векторов движения в режиме временного прогнозирования будет описана позднее со ссылками на Фиг.12.
Вычисленные вектор directmvL0 (Temporal) движения и вектор directmvu (Temporal) движения передают в модуль 92 вычисления остаточной энергии в TDM-режиме.
Отметим, что в системе H.264/AVC оба этих режима кодирования с прогнозированием движения (режим пространственного прогнозирования и режим временного прогнозирования) могут быть определены с шагом макроблоками размером 16×16 пикселов или блоками размером 8×8 пикселов. Соответственно, в модуле 81 вычисления вектора движения в SDM-режиме и модуле 82 вычисления вектора движения в TDM-режиме обработка данных осуществляется с шагом макроблоками размером 16×16 пикселов или блоками размером 8×8 пикселов.
На этапе S73 модуль 91 вычисления остаточной энергии в SDM-режиме использует вектор движения в соответствии с режимом пространственного прогнозирования для вычисления остаточной энергии SAD(Spatial) и передает вычисленную им остаточную энергию SAD(Spatial) в модуль 93 сравнения.
В частности, модуль 91 вычисления остаточной энергии в SDM-режиме получает группы NL0 и NL1 пикселов из каждого опорного кадра, соответствующие периферийной группе NCUR пикселов подлежащего кодированию целевого блока и специфицированные векторами directmvL0 (Spatial) и directrnvL1 (Spatial) движения. Модуль 91 вычисления остаточной энергии в SDM-режиме использует величины пикселов из состава периферийной группы NCUR пикселов целевого блока и величины пикселов из полученных групп NL0 и NL1 пикселов из состава каждого опорного кадра для вычисления соответствующих остаточных энергий с применением SAD.
Далее, модуль 91 вычисления остаточной энергии в SDM-режиме использует остаточную энергию SAD(NL0; Spatial) для группы NL0 пикселов опорного кадра L0 и остаточную энергию SAD(NL1; Spatial) для группы NL1 пикселов опорного кадра L1 для вычисления остаточной энергии SAD(Spatial). В этот момент используют приведенное выше Выражение (7).
На этапе S74 модуль 92 вычисления остаточной энергии в TDM-режиме использует вектор движения согласно режиму временного прогнозирования для вычисления остаточной энергии SAD(Temporal) и передает вычисленную им остаточную энергию SAD(Temporal) в модуль 93 сравнения.
В частности, модуль 92 вычисления остаточной энергии в TDM-режиме получает группы NL0 и NL1 пикселов из каждого опорного кадра, соответствующие периферийной группе Ncur пикселов подлежащего кодированию целевого блока и специфицированные вектором directmvL0 (Temporal) движения и вектором directmvL1 (Temporal) движения. Модуль 92 вычисления остаточной энергии в TDM-режиме использует величины пикселов из состава периферийной группы NCUR пикселов целевого блока и величины пикселов из полученных групп NL0 и NL1 пикселов из состава каждого опорного кадра для вычисления соответствующих остаточных энергий с применением SAD.
Далее, модуль 92 вычисления остаточной энергии в TDM-режиме использует остаточную энергию SAD(NL0; Temporal) для группы NL0 пикселов опорного кадра L0 и остаточную энергию SAD(NL1; emporal) для группы NL1 пикселов опорного кадра L1 с целью вычисления остаточной энергии SAD(Temporal). В этот момент используют приведенное выше Выражение (8).
На этапе S75 модуль 93 сравнения осуществляет сравнение остаточной энергии SAD(Spatial) для режима пространственного прогнозирования и остаточной энергии SAD(Temporal) для режима временного прогнозирования и передает результат такого сравнения в модуль 94 определения режима кодирования с прогнозированием движения.
Если на этапе S75 выяснилось, что энергия SAD(Spatial) не больше энергии SAD(Temporal), процедура обработки данных переходит к этапу S76. На этапе S76 модуль 94 определения режима кодирования с прогнозированием движения определяет, что следует выбрать режим пространственного прогнозирования в качестве оптимального режима кодирования с прогнозированием движения для целевого блока. Соответственно, в модуль 75 прогнозирования/компенсации движения передают сигнал, что для целевого блока выбран режим пространственного прогнозирования в качестве информации индикации типа режима кодирования с прогнозированием движения.
С другой стороны, если на этапе S75 выяснилось, что энергия SAD(Spatial) больше энергии SAD(Temporal), процедура обработки данных переходит к этапу S77. На этапе S77 модуль 94 определения режима кодирования с прогнозированием движения определяет, что следует выбрать режим временного прогнозирования в качестве оптимального режима кодирования с прогнозированием движения для целевого блока. Соответственно, в модуль 75 прогнозирования/компенсации движения передают сигнал, что для целевого блока выбран режим временного прогнозирования в качестве информации индикации типа режима кодирования с прогнозированием движения.
На этапе S78 модуль 75 прогнозирования/компенсации движения вычисляет с использованием приведенных выше Выражений (10) или (11) величину целевой функции для выбранного режима кодирования с прогнозированием движения на основе информации индикации типа режима кодирования с прогнозированием движения от модуля 94 определения режима кодирования с прогнозированием движения. Вычисленную здесь величину целевой функции используют в момент определения оптимального режима межкадрового прогнозирования на описанном выше этапе S34 согласно Фиг.8.
Описание режима временного прогнозирования
Фиг.12 представляет схему, описывающую режим временного прогнозирования в системе H.264/AVC.
В примере, показанном на Фиг.12, ось t времени представляет истекшее время, а также по порядку слева направо представлены опорный кадр L0 (List0), целевой кадр, подлежащий кодированию от настоящего момента и опорный кадр L1 (List1). Отметим, что в системе H.264/AVC строка из опорного кадра L0, целевого кадра и опорного кадра L1 этим порядком не ограничивается.
Целевой блок из состава целевого кадра включен, например, в B-срез. Модуль 82 вычисления вектора движения в TDM-режиме вычисляет информацию вектора движения в режиме временного прогнозирования для опорного кадра L0 и опорного кадра L1.
Для опорного кадра L0 информацию mvcol вектора движения в совмещенном блоке, представляющем собой блок, расположенный по тому же самому пространственному адресу (координатам), что и целевой блок, подлежащий кодированию от этого момента, вычисляют на основе опорного кадра L0 и опорного кадра L1.
Предположим теперь, что расстояние по оси времени между целевым кадром и опорным кадром L0 обозначено TDb и расстояние по оси времени между опорным кадром L0 и опорным кадром L1 обозначено TDD. В этом случае информацию hivL0 вектора движения в целевом кадре относительно кадра L0 и информацию mvL1 вектора движения в целевом кадре относительно кадра L1 можно вычислить с использованием следующего Выражения (13).
[Математическое Выражение 5]
Отметим, что в системе H.264/AVC нет информации, эквивалентной расстояниям TDB и TDD по оси t времени, применительно к целевому кадру в сжатом изображении. Соответственно в качестве реальных величин для этих расстояний TDB и TDD используют параметр «Порядок пересчета кадров» (РОС (Picture Order Count)), представляющий собой информацию, обозначающую порядок выходной последовательности кадров.
Пример вычисления остаточной энергии
Фиг.13 представляет схему, описывающую вычисление остаточной энергии в модуле 91 вычисления остаточной энергии в SDM-режиме и в модуле 92 вычисления остаточной энергии в TDM-режиме. Отметим, что применительно к примеру, показанному на Фиг.13, вектор движения в режиме пространственного прогнозирования и вектор движения в режиме временного прогнозирования будут совместно именоваться вектором движения в режиме кодирования с прогнозированием движения. В частности, применительно к обоим векторам - вектору движения в режиме пространственного прогнозирования и вектору движения в режиме временного прогнозирования, вычисление остаточной энергии происходит следующим образом.
В примере, представленном на Фиг.13, опорный кадр LO (List0), целевой кадр, подлежащий кодированию от настоящего момента, и опорный кадр LI (List1) показаны в этом порядке слева направо. Эти кадры расположены в ряд в последовательности их представления на дисплее, однако ряд из опорного кадра LO (List0), целевого кадра, подлежащего кодированию от настоящего момента, и опорного кадра LI (List1) в системе H.264/AVC этим примером не ограничивается.
На целевом кадре показан целевой блок (или макроблок), подлежащий кодированию от настоящего момента. Для этого целевого блока показаны вычисленный вектор DirectmvL0 движения в системе кодирования с прогнозированием движения между целевым блоком и опорным кадром L0 и вычисленный вектор DirectmvL1 движения в системе кодирования с прогнозированием движения между целевым блоком и опорным кадром L1.
Здесь периферийная группа NCUR пикселов представляет собой уже кодированную группу пикселов вокруг целевого блока. В частности, эта периферийная группа NCUR пикселов образована пикселами, расположенными рядом с целевым блоком и уже подвергнутыми кодированию. Кроме того, при выполнении обработки данных для кодирования в последовательности растровой развертки эта периферийная группа Ncur пикселов представляет собой, как показано на Фиг.13, группу пикселов, расположенных на левой и верхней сторонах от целевого блока, и представляет собой группу пикселов декодированного изображения, накапливаемых в памяти 72 кадров.
При этом группы NL0 и NL1 пикселов представляют собой группы пикселов из состава опорных кадров L0 и L1, соответствующие периферийной группе NCUR пикселов и специфицированные вектором DirectmvL0 движения и вектором DirectmvL1 движения.
Модуль 91 вычисления остаточной энергии в SDM-режиме и модуль 92 вычисления остаточной энергии в TDM-режиме вычисляют остаточную энергию SAD(NL0; Spatial), SAD(NL1; Spatial), SAD(NL0; Temporal) и SAD(NL1; Temporal) между периферийной группой NCUR пикселов и каждой из групп NL0 и NL1 пикселов, соответственно, с использованием суммы абсолютных разностей (SAD). Затем эти модуль 91 вычисления остаточной энергии в SDM-режиме и модуль 92 вычисления остаточной энергии в TDM-режиме вычисляют остаточную энергию SAD(Spatial) и SAD(Temporal) посредством приведенных выше Выражения (7) и Выражения (8) соответственно.
Таким образом, процесс вычисления остаточной энергии использует информацию о кодированном изображении (т.е. декодированное изображение) вместо информации об исходном изображении, поступившем на вход, вследствие чего такую же операцию можно выполнить на декодирующей стороне. Кроме того, приведенные выше процедуры вычисления информации вектора движения на основе режима пространственного прогнозирования и информации вектора движения на основе режима временного прогнозирования также являются процедурами, использующими декодированное изображение, вследствие чего такие же операции также могут быть выполнены в устройстве 101 для декодирования изображения, показанном на Фиг.14.
Соответственно, информацию индикации режима кодирования с прогнозированием движения для каждого среза следует передавать обычным способом, но при этом информацию о том, какой именно режим кодирования с прогнозированием движения - режим пространственного прогнозирования или режим временного прогнозирования - применен для каждого блока (или макроблока), т.е. информацию этого режима, передавать на декодирующую сторону не нужно.
Таким образом, для каждого блока (или макроблока) может быть выбран оптимальный режим кодирования с прогнозированием движения без увеличения объема информации сжатого изображения, служащей выходными данными, так что можно повысить точность прогнозирования. В результате этого есть возможность увеличить эффективность кодирования.
Кодированное сжатое изображение передают по заданному тракту передачи сигналов и декодируют в устройстве для декодирования изображений.
Пример конфигурации устройства для декодирования изображений
Фиг.14 представляет конфигурацию варианта устройства для декодирования изображений, служащего вариантом устройства для обработки изображений, к которому применено настоящее изобретение.
Устройство 101 для декодирования изображения конфигурировано в составе накопительного буфера 111, модуля 112 декодирования без потерь, модуля 113 обратного квантования, модуля 114 обратного ортогонального преобразования, вычислительного модуля 115, деблокирующего фильтра 116, буфера 117 сортировки экрана, цифроаналогового (D/A) преобразователя 118, памяти 119 кадров, переключателя 120, модуля 121 внутрикадрового прогнозирования, модуля 122 прогнозирования/компенсации движения, модуля 123 выбора режима кодирования с прогнозированием движения и переключателя 124.
Накопительный буфер 111 накапливает переданное сжатое изображение. Модуль 112 декодирования без потерь декодирует информацию, поступающую из накопительного буфера 111 и кодированную в модуле 66 кодирования без потерь, показанном на Фиг.1, с использованием системы, соответствующей системе кодирования, примененной в модуле 66 кодирования без потерь. Модуль 113 обратного квантования выполняет обратное квантование изображения, декодированного в модуле 112 декодирования без потерь с использованием системы, соответствующей системе квантования, примененной в модуле 65 квантования, показанном на Фиг.1. Модуль 114 обратного ортогонального преобразования осуществляет обратное ортогональное преобразование выходных данных модуля ИЗ обратного квантования с использованием системы, соответствующей системе ортогонального преобразования, примененной в модуле 64 ортогонального преобразования, показанном на Фиг.1.
Выходные данные после обратного ортогонального преобразования декодируют путем суммирования с прогнозируемым изображением, поступающим от переключателя 124, в вычислительном модуле 115. Деблокирующий фильтр 116 устраняет блочные искажения в декодированном изображении и передает результат в память 119 кадров для накопления, а также в буфер 117 сортировки экрана.
Буфер 117 сортировки экрана осуществляет сортировку изображений. В частности, последовательность кадров, отсортированную в виде последовательности кодирования в буфере 62 сортировки экрана, показанном на Фиг.1, подвергают обратной сортировке для получения первоначальной последовательности представления на дисплее. Цифроаналоговый преобразователь 118 осуществляет преобразование изображения, поступающего из буфера 117 сортировки экрана, из цифровой формы в аналоговую форму и передает не показанному на схеме дисплею для представления на экране.
Переключатель 120 считывает изображение, подлежащее межкадровой обработке, и изображение, которое должно служить опорным изображением, из памяти 119 кадров и передает их в модуль 122 прогнозирования/компенсации движения, а также считывает из памяти 119 кадров изображение для использования при внутрикадровом прогнозировании и передает его в модуль 121 внутрикадрового прогнозирования.
Информацию индикации режима внутрикадрового прогнозирования, полученную в результате декодирования информации заголовка, передают из модуля 112 декодирования без потерь в модуль 121 внутрикадрового прогнозирования. Этот модуль 121 внутрикадрового прогнозирования генерирует на основе полученной информации прогнозируемое изображение и передает это сформированное им прогнозируемое изображение переключателю 124.
Информацию (информацию режима прогнозирования, информацию вектора движения и информацию опорного кадра), полученную в результате декодирования информации заголовка, передают от модуля 112 декодирования без потерь в модуль 122 прогнозирования/компенсации движения. В случае получения информации индикации режима межкадрового прогнозирования модуль 122 прогнозирования/компенсации движения выполняет обработку данных изображения для прогнозирования и компенсации движения на основе информации вектора движения и информации опорного кадра для генерации прогнозируемого изображения.
При получении информации индикации режима кодирования с прогнозированием движения модуль 122 прогнозирования/компенсации движения вычисляет информацию вектора движения в режиме пространственного прогнозирования и в режиме временного прогнозирования и передает вычисленную информацию векторов движения в модуль 123 выбора режима кодирования с прогнозированием движения. Кроме того, модуль 122 прогнозирования/компенсации движения выполняет компенсационную обработку данных в режиме кодирования с прогнозированием движения, выбранном модулем 123 выбора режима кодирования с прогнозированием движения для генерации прогнозируемого изображения.
Отметим, что при выполнении обработки данных для прогнозирования и компенсации движения в соответствии с режимом кодирования с прогнозированием движения модуль 122 прогнозирования/компенсации движения конфигурирован таким же образом, как и модуль 75 прогнозирования/компенсации движения, показанный на Фиг.6, чтобы включать по меньшей мере модуль 81 вычисления вектора движения в SDM-режиме и модуль 82 вычисления вектора движения в TDM-режиме.
Затем модуль 122 прогнозирования/компенсации движения передает либо прогнозируемое изображение, сформированное в режиме межкадрового прогнозирования, либо прогнозируемое изображение, сформированное в режиме кодирования с прогнозированием движения, переключателю 124 в соответствии с информацией режима прогнозирования.
Модуль 123 выбора режима кодирования с прогнозированием движения использует информацию вектора движения в соответствии с режимом пространственного прогнозирования и с режимом временного прогнозирования от модуля 122 прогнозирования/компенсации движения для вычисления соответствующей остаточной энергии. В этот момент для вычисления остаточной энергии используют периферийный пиксел, расположенный рядом с целевым блоком, подлежащим кодированию, в заданном позиционном соотношении с этим блоком и также включенный в декодированное изображение.
Модуль 123 выбора режима кодирования с прогнозированием движения сравнивает величины остаточной энергии двух видов в соответствии с режимом пространственного прогнозирования и режимом временного прогнозирования для определения выбора режима кодирования с прогнозированием движения, имеющего меньшую остаточную энергию, и передает информацию индикации вида выбранного режима кодирования с прогнозированием движения в модуль 122 прогнозирования/компенсации движения.
Отметим, что модуль 123 выбора режима кодирования с прогнозированием движения конфигурирован в основном таким же образом, как модуль 76 выбора режима кодирования с прогнозированием движения, вследствие чего упомянутый выше на Фиг.6 также будет использован для описания модуля 123 выбора режима кодирования с прогнозированием движения. В частности, модуль 123 выбора режима кодирования с прогнозированием движения конфигурирован таким же образом, как и модуль 76 выбора режима кодирования с прогнозированием движения, показанный на Фиг.6, а именно в составе модуля 91 вычисления остаточной энергии в SDM-режиме, модуля 92 вычисления остаточной энергии в TDM-режиме, модуля 93 сравнения и модуля 94 определения режима кодирования с прогнозированием движения.
Переключатель 124 выбирает прогнозируемое изображение, генерируемое модулем 122 прогнозирования/компенсации движения или модулем 121 внутрикадрового прогнозирования, и передает это изображение вычислительному модулю 115.
Описание обработки данных при декодировании в устройстве для декодирования изображений
Далее, обработка данных при декодировании, выполняемая устройством 101 для декодирования изображений, будет описана со ссылками на логическую схему, показанную на Фиг.15.
На этапе S131 накопительный буфер 111 накапливает переданное изображение. На этапе S13 модуль 112 декодирования без потерь декодирует это сжатое изображение, поступающее от накопительного буфера 111. В частности, происходит декодирование I-кадра, Р-кадра и B-кадра, кодированных в модуле 66 кодирования без потерь, показанном на Фиг.1.
В этот момент также декодируют информацию векторов движения, информацию опорного кадра, информацию режима прогнозирования (информацию индикации режима внутрикадрового прогнозирования, режима межкадрового прогнозирования или режима кодирования с прогнозированием движения) и информацию флага.
В частности, если информация режима прогнозирования представляет собой информацию режима внутрикадрового прогнозирования, эту информацию режима прогнозирования передают в модуль 121 внутрикадрового прогнозирования. Если информация режима прогнозирования представляет собой информацию режима межкадрового прогнозирования, информацию векторов движения, соответствующую этой информации режима прогнозирования, передают в модуль 122 прогнозирования/компенсации движения. Если информация режима прогнозирования представляет собой информацию режима кодирования с прогнозированием движения, эту информацию режима прогнозирования передают в модуль 122 прогнозирования/компенсации движения.
На этапе S133 модуль 113 обратного квантования осуществляет обратное квантование коэффициента преобразования, декодированного в модуле 112 декодирования без потерь, с использованием функции, соответствующей функции модуля 65 квантования, показанного на Фиг.1. На этапе S134 модуль 114 обратного ортогонального преобразования осуществляет обратное ортогональное преобразование коэффициентов преобразования, прошедших процедуру обратного квантования в модуле 113 обратного квантования, с использованием функции, соответствующей функции модуля 64 ортогонального преобразования, показанного на Фиг.1. Это означает, что разностная информация, соответствующая входным данным модуля 64 ортогонального преобразования, показанного на Фиг.1 (выходные данные вычислительного модуля 63) была декодирована.
На этапе S135 вычислительный модуль 115 суммирует прогнозируемое изображение, выбранное в процессе обработки данных на описываемом позднее этапе S141 и поступившее через переключатель 124, с разностной информацией. Таким образом, исходное изображение оказывается декодировано. На этапе S136 деблокирующий фильтр 116 осуществляет фильтрацию изображения с выхода вычислительного модуля 115. Таким образом, происходит удаление блочных искажений. На этапе S137 память 119 кадров сохраняет изображение, прошедшее фильтрации.
На этапе S138 модуль 121 внутрикадрового прогнозирования, модуль 122 прогнозирования/компенсации движения или модуль 123 выбора режима кодирования с прогнозированием движения выполняет соответствующую обработку данных для прогнозирования изображения в ответ на информацию режима прогнозирования, поступающую от модуля 112 декодирования без потерь.
В частности, в случае поступления информации режима внутрикадрового прогнозирования от модуля 112 декодирования без потерь модуль 121 внутрикадрового прогнозирования осуществляет обработку данных в режиме внутрикадрового прогнозирования. В случае поступления информации режима межкадрового прогнозирования от модуля 112 декодирования без потерь модуль 122 прогнозирования/компенсации движения осуществляет обработку данных для прогнозирования и компенсации движения в режиме межкадрового прогнозирования. Кроме того, в случае поступления информации режима кодирования с прогнозированием движения от модуля 112 декодирования без потерь модуль 122 прогнозирования/компенсации движения осуществляет обработку данных для прогнозирования движения в режимах пространственного прогнозирования и временного прогнозирования и выполняет компенсационную обработку с использованием режима кодирования с прогнозированием движения, выбранного модулем 123 выбора режима кодирования с прогнозированием движения.
Подробнее обработка данных для прогнозирования на этапе S138 будет описана позднее со ссылками на Фиг.16, но в соответствии с этой обработкой к переключателю 124 поступает прогнозируемое изображение, генерируемое модулем 121 внутрикадрового прогнозирования, или прогнозируемое изображение, генерируемое модулем 122 прогнозирования/компенсации движения.
На этапе S139 переключатель 124 выбирает прогнозируемое изображение. В частности, передают прогнозируемое изображение, генерируемое модулем 121 внутрикадрового прогнозирования, или прогнозируемое изображение, генерируемое модулем 122 прогнозирования/компенсации движения. Соответственно, выбирают это поступившее прогнозируемое изображение, передают его вычислительному модулю 115 и на этапе S134, как описано выше, суммируют с выходным изображением модуля 114 обратного ортогонального преобразования.
На этапе S140 буфер 117 сортировки экрана осуществляет такую сортировку. В частности, последовательность кадров, отсортированную для кодирования буфером 62 сортировки экрана в устройстве 51 для кодирования изображения, сортируют для возвращения к исходной последовательности для представления на дисплее.
На этапе S141 цифроаналоговый преобразователь 118 осуществляет преобразование изображения, поступающего с выхода буфера 117 сортировки экрана, из цифровой формы в аналоговую форму. Это изображение передают не показанному на схеме дисплею для представления на экране этого дисплея.
Описание обработки данных при прогнозировании в устройстве для декодирования изображения
Далее, обработка данных для прогнозирования на этапе S138, показанном на Фиг.15, будет описана со ссылками на логическую схему, представленную на Фиг.16.
На этапе S171 модуль 121 внутрикадрового прогнозирования определяет, был ли целевой блок подвергнут процедуре внутрикадрового кодирования. После получения информации режима внутрикадрового прогнозирования от модуля 112 декодирования без потерь в модуле 121 внутрикадрового прогнозирования этот модуль 121 внутрикадрового прогнозирования на этапе S171 определяет, что целевой блок был подвергнут внутрикадровому кодированию, после чего обработка переходит к этапу S172.
На этапе S172 модуль 121 внутрикадрового прогнозирования получает информацию режима внутрикадрового прогнозирования и на этапе S173 выполняет внутрикадровое прогнозирование.
В частности, если подлежащее обработке изображение представляет собой изображение, предназначенное для внутрикадровой обработки данных, необходимое изображение считывают из памяти 119 кадров и передают в модуль 121 внутрикадрового прогнозирования через переключатель 120. На этапе S173 модуль 121 внутрикадрового прогнозирования осуществляет внутрикадровое прогнозирование в соответствии с информацией режима внутрикадрового прогнозирования, полученной на этапе S172, для генерации прогнозируемого изображения. Сформированное в результате прогнозируемое изображение передают переключателю 124.
С другой стороны, если на этапе S171 определено, что внутрикадровое кодирование выполнено не было, процедура обработки переходит к этапу S174.
На этапе S174 модуль 122 прогнозирования/компенсации движения получает информацию режима прогнозирования и т.п. от модуля 112 декодирования без потерь.
Если изображение, подлежащее обработке, представляет собой изображение, предназначенное для межкадровой обработки данных, информацию режима межкадрового прогнозирования, информацию опорного кадра и информацию вектора движения передают от модуля 112 декодирования без потерь в модуль 122 прогнозирования/компенсации движения. В этом случае на этапе S174 модуль 122 прогнозирования/компенсации движения получает информацию режима межкадрового прогнозирования, информацию опорного кадра и информацию векторов движения.
На этапе S175 модуль 122 прогнозирования/компенсации движения определяет, является ли информация режима прогнозирования от модуля 112 декодирования без потерь информацией режима кодирования с прогнозированием движения. Если на этапе S175 определено, что информация режима прогнозирования не является информацией режима кодирования с прогнозированием движения, т.е. эта информация режима прогнозирования представляет собой информацию режима межкадрового прогнозирования, процедура обработки данных переходит к этапу S176.
На этапе S176 модуль 122 прогнозирования/компенсации движения осуществляет межкадровое прогнозирование движения. В частности, если изображение, подлежащее обработке, представляет собой изображение, предназначенное для обработки в режиме межкадрового прогнозирования, необходимое изображение считывают из памяти 119 кадров и передают в модуль 122 прогнозирования/компенсации движения через переключатель 120. На этапе S176 модуль 122 прогнозирования/компенсации движения выполняет прогнозирование движения в режиме межкадрового прогнозирования на основе вектора движения, полученного на этапе S174, для генерации прогнозируемого изображения. Сформированное в результате прогнозируемое изображение передают переключателю 124.
С другой стороны, если изображение, подлежащее обработке, представляет собой изображение, предназначенное для обработки в режиме кодирования с прогнозированием движения, информацию режима кодирования с прогнозированием движения передают от модуля 112 декодирования без потерь в модуль 122 прогнозирования/компенсации движения. В этом случае на этапе S174 модуль 122 прогнозирования/компенсации движения получает информацию режима кодирования с прогнозированием движения, определяет на этапе S175, что информация режима прогнозирования действительно является информацией режима кодирования с прогнозированием движения, и затем процедура обработки данных переходит к этапу S177.
На этапе S177 модуль 122 прогнозирования/компенсации движения и модуль 123 выбора режима кодирования с прогнозированием движения выполняют обработку данных для прогнозирования в режиме кодирования с прогнозированием движения. Обработка данных для прогнозирования в режиме кодирования с прогнозированием движения на этапе S177 будет описана со ссылками на Фиг.17.
Описание обработки данных для прогнозирования в режиме кодирования с прогнозированием движения в устройстве для декодирования изображений
Фиг.17 представляет логическую схему, описывающую обработку данных для прогнозирования в режиме кодирования с прогнозированием движения. Отметим, что процедура обработки данных на этапах с S193 по S197, показанных на Фиг.17, в основном такая же, как и обработка данных на этапах с S73 по S77, показанных на Фиг.11, вследствие чего описание этой обработки данных является избыточным и подробное описание ее будет опущено.
На этапе S191 модуль 81 вычисления вектора движения в SDM-режиме из состава модуля 122 прогнозирования/компенсации движения вычисляет вектор движения в режиме пространственного прогнозирования. Иными словами, модуль 81 вычисления вектора движения в SDM-режиме выполняет прогнозирование движения на основе режима пространственного прогнозирования.
В этот момент модуль 81 вычисления вектора движения в SDM-режиме вычисляет в режиме пространственного прогнозирования вектор directmvL0 (Spatial) движения посредством прогнозирования движения между целевым кадром и опорным кадром L0. Аналогично, вектор directmvL1 (Spatial) движения вычисляют посредством прогнозирования движения между целевым кадром и опорным кадром L1. Вычисленные вектор directmvL0 (Spatial) движения и вектор directmvL1 (Spatial) передают в модуль 91 вычисления остаточной энергии в SDM-режиме.
На этапе S192 модуль 82 вычисления вектора движения в TDM-режиме из состава модуля 122 прогнозирования/компенсации движения вычисляет вектор движения в режиме временного прогнозирования. Иными словами, модуль 82 вычисления вектора движения в TDM-режиме выполняет прогнозирование движения на основе режима временного прогнозирования.
В этот момент модуль 82 вычисления вектора движения в TDM-режиме вычисляет в режиме временного прогнозирования вектор directmvL0 (Temporal) движения посредством прогнозирования движения между целевым кадром и опорным кадром L0. Аналогично, вектор directmvL1 (Temporal) движения вычисляют посредством прогнозирования движения между целевым кадром и опорным кадром L1. Вычисленные вектор directmvL0 (Temporal) движения и вектор directmvL1 (Temporal) передают в модуль 92 вычисления остаточной энергии в TDM-режиме.
На этапе S193 модуль 91 вычисления остаточной энергии в SDM-режиме из состава модуля 123 выбора режима кодирования с прогнозированием движения использует вектор движения, соответствующий режиму пространственного прогнозирования, для вычисления остаточной энергии SAD(Spatial). Этот модуль 91 вычисления остаточной энергии в SDM-режиме передает вычисленную остаточную энергию SAD(Spatial) в модуль 93 сравнения.
В частности, модуль 91 вычисления остаточной энергии в SDM-режиме получает группы NL0 NL1 пикселов из каждого опорного кадра, соответствующие периферийной группе NCUR пикселов подлежащего кодированию целевого блока и специфицированные вектором directmvL0 (Spatial) движения и вектором directmvL1 (Spatial) движения. Этот модуль 91 вычисления остаточной энергии в SDM-режиме использует величины пикселов периферийной группы NCUR пикселов целевого блока и величины пикселов полученных групп Nlo и Nli пикселов из каждого опорного кадра для вычисления соответствующей остаточной энергии с использованием суммы абсолютных разностей (SAD).
Далее, модуль 91 вычисления остаточной энергии в SDM-режиме использует остаточную энергию SAD(NL0; Spatial) относительно группы NL0 пикселов опорного кадра L0 и остаточную энергию SAD(NL1; SpatiaI) относительно группы NL1 пикселов опорного кадра L1 для вычисления остаточной энергии SAD(Spatial). В этот момент применяют приведенное выше Выражение (7).
На этапе S194 модуль 92 вычисления остаточной энергии в TDM-режиме из состава модуля 123 выбора режима кодирования с прогнозированием движения использует вектор движения, соответствующий режиму временного прогнозирования, для вычисления остаточной энергии SAD(Temporal) и передает вычисленную остаточную энергию SAD(Temporal) в модуль 93 сравнения.
В частности, модуль 92 вычисления остаточной энергии в TDM-режиме получает группы NL0 и NL1 пикселов из каждого опорного кадра, соответствующие периферийной группе NCUR пикселов подлежащего кодированию целевого блока и специфицированные вектором directmvL0 (Temporal) движения и вектором directmvL1 (Temporal) движения. Этот модуль 92 вычисления остаточной энергии в TDM-режиме использует величины пикселов периферийной группы NCUR пикселов целевого блока и величины пикселов полученных групп NL0 и NL1 пикселов из каждого опорного кадра для вычисления соответствующей остаточной энергии SAD.
Далее, модуль 92 вычисления остаточной энергии в TDM-режиме использует остаточную энергию SAD(NL0; Temporal) относительно группы NL0 пикселов опорного кадра L0 и остаточную энергию SAD(NL1; Temporal) относительно группы NL1 пикселов опорного кадра L1 для вычисления остаточной энергии SAD(Temporal). В этот момент применяют приведенное выше Выражение (8).
На этапе S195 модуль 93 сравнения из состава модуля 123 выбора режима кодирования с прогнозированием движения сравнивает остаточную энергию SAD(Spatial), вычисленную на основе режима пространственного прогнозирования, и остаточную энергию SAD(Temporal), вычисленную на основе режима временного прогнозирования, и передает результат сравнения в модуль 94 определения режима кодирования с прогнозированием движения из состава модуля 123 выбора режима кодирования с прогнозированием движения.
Если на этапе S195 определено, что энергия SAD(Spatial) не превышает энергии SAD(Temporal), процедура обработки данных переходит к этапу S196. На этапе S196 модуль 94 определения режима кодирования с прогнозированием движения выбирает режим пространственного прогнозирования в качестве оптимального режима кодирования с прогнозированием движения для целевого блока. Затем в модуль 122 прогнозирования/компенсации движения сообщают, что для обработки целевого блока выбран режим пространственного прогнозирования, посредством информации индикации вида режима кодирования с прогнозированием движения.
С другой стороны, если на этапе S195 выяснилось, что энергия SAD(Spatial) больше энергии SAD(Temporal), процедура обработки данных переходит к этапу S197. На этапе S197 модуль 94 определения режима кодирования с прогнозированием движения выбирает режим временного прогнозирования в качестве оптимального режима кодирования с прогнозированием движения для целевого блока. Далее модулю 122 прогнозирования/компенсации движения сообщают, что для целевого блока был выбран режим временного прогнозирования, посредством информации индикации вида режима кодирования с прогнозированием движения.
На этапе S198 модуль 122 прогнозирования/компенсации движения генерирует прогнозируемое изображение в выбранном режиме кодирования с прогнозированием движения на основе информации индикации типа режима кодирования с прогнозированием движения от модуля 94 определения режима кодирования с прогнозированием движения. Иными словами, модуль 122 прогнозирования/компенсации движения выполняет компенсационную обработку данных с использованием информации вектора движения в выбранном режиме кодирования с прогнозированием движения для генерации прогнозируемого изображения. Сформированное в результате прогнозируемое изображение передают переключателю 124.
Как описано выше, выбор оптимального режима кодирования с прогнозированием движения осуществляется и в устройстве для кодирования, и в устройстве для декодирования с использованием декодированного изображения для каждого целевого блока (или макроблока). Таким образом, можно представлять на дисплее изображение высокого качества без передачи информации индикации вида режима кодирования с прогнозированием движения для каждого целевого блока (или макроблока).
Иными словами, вид режима кодирования с прогнозированием движения для каждого целевого блока можно переключать без увеличения объема сжатой информации и, соответственно, можно повысить точность прогнозирования.
Отметим, что приведенное выше описание относится к случаю, когда размер макроблока равен 16×16 пикселов, но настоящее изобретение может быть применено к макроблокам увеличенного размера, как это описано в документе «Видеокодирование с использованием увеличенного размера блоков» ("Video Coding Using Extended Block Sizes", VCEG-AD09, ITU-Telecommunications Standardization Sector STUDY GROUP Question 16 - Contribution 123, Jan 2009).
Фиг.18 представляет схему, иллюстрирующую пример увеличенного размера макроблоков. Применительно к приведенному выше описанию размер макроблока увеличен до 32×32 пикселов.
Макроблоки, содержащие 32×32 пикселов и разбитые на блоки (секции) размером 32×32 пикселов, 32×16 пикселов, 16×32 пикселов и 16×16 пикселов, показаны по порядку слева направо на верхнем ярусе Фиг.18. Блоки, содержащие 16×16 пикселов и разбитые на блоки размером 16×16 пикселов, 16×8 пикселов, 8×16 пикселов и 8×8 пикселов, показаны по порядку слева направо на среднем ярусе Фиг.18. Кроме того, блоки, содержащие 8×8 пикселов и разбитые на блоки размером 8×8 пикселов, 8×4 пикселов, 4×8 пикселов и 4×4 пикселов, показаны по порядку слева направо на нижнем ярусе Фиг.18.
Иными словами, макроблоки размером 32×32 пикселов могут быть обработаны с использованием блоков размером 32×32 пикселов, 32×16 пикселов, 16×32 пикселов и 16×16 пикселов, показанных по порядку слева направо на верхнем ярусе Фиг.18.
Кроме того, блоки размером 16×16 пикселов, показанные на правой стороне верхнего яруса, могут быть обработаны с использованием блоков размером 16×16 пикселов, 16×8 пикселов, 8×16 пикселов и 8×8 пикселов, показанных на среднем ярусе, таким же образом, как в системе H.264/AVC.
Далее, блоки размером 8×8 пикселов, показанные на правой стороне среднего яруса, могут быть обработаны с использованием блоков размером 8×8 пикселов, 8×4 пикселов, 4×8 пикселов и 4×4 пикселов, показанных на нижнем ярусе, таким же образом, как в системе H.264/AVC.
В случае макроблоков увеличенного размера при использовании такой иерархической структуры применительно к блокам размером 16×16 пикселов или меньше блок большего размера определяется как супермножество при сохранении совместимости с системой H.264/AVC.
Настоящее изобретение может быть также применено к предполагаемым размерам макроблоков, превосходящим указанные выше размеры.
Приведенное выше описание относилось к системе H.264/AVC, используемой в качестве системы кодирования, однако здесь может быть применена и другая система кодирования/декодирования.
Отметим, что настоящее изобретение может быть применено к устройству для кодирования изображения и к устройству для декодирования изображения, используемому при приеме информации изображения (потока бит), сжатой с применением ортогонального преобразования, такого как дискретное косинусное преобразование или аналогичное преобразование, и компенсации движения через сеть связи, такую как система спутникового вещания, система кабельного телевидения, Интернет, сотовый телефон и т.п., например, с использованием таких стандартов, как MPEG, Н.26х и т.п. Кроме того, настоящее изобретение может быть применено к устройству для кодирования изображения и к устройству для декодирования изображения, используемым при обработке данных на носителях записи, таких как оптический диск, магнитный диск или флэш-память. Кроме того, настоящее изобретение может быть применено к устройству для прогнозирования и компенсации движения, включенному в такое устройство для кодирования изображения и устройство для декодирования изображения и т.п.
Описанная выше последовательность обработки данных может быть выполнена аппаратным способом или может быть реализована посредством программного обеспечения. В случае использования программного варианта программы, составляющие соответствующее программное обеспечение, инсталлируют на компьютере. Здесь примеры такого компьютера включают компьютер, встроенный в специализированное оборудование, или компьютер общего назначения, так что различные функции могут быть реализованы посредством программ различного типа, инсталлированных на этом компьютере.
Фиг.19 представляет блок-схему, иллюстрирующую пример конфигурации аппаратуры компьютера, выполняющего приведенную выше последовательность операций обработки данных с использованием программы.
Такой компьютер содержит центральный процессор (CPU) 201, постоянное запоминающее устройство (ПЗУ (ROM)) 202 и запоминающее устройство с произвольной выборкой (ЗУПВ (RAM)) 203, соединенные одно с другими посредством шины 204.
Далее, с шиной 204 соединен интерфейс 205 ввода/вывода. С этим интерфейсом 205 ввода/вывода соединены также устройство 206 ввода, устройство 207 вывода, запоминающее устройство 208, устройство 209 связи и накопитель 210.
Устройство 206 ввода может иметь клавиатуру, мышь, микрофон и т.п. Устройство 207 вывода может иметь дисплей, громкоговоритель и т.п. Запоминающее устройство 208 может содержать жесткий диск, энергонезависимую память и т.п. Устройство 209 связи может иметь сетевой интерфейс и т.п. В накопителе 210 может быть установлен сменный носитель 211 записи, такой как магнитный диск, оптический диск, магнитооптический диск, полупроводниковое запоминающее устройство и т.п.
Когда компьютер конфигурирован таким образом, например, центральный процессор CPU 201 загружает программу, сохраняемую в запоминающем устройстве 208, в ЗУПВ RAM 203 через интерфейс 205 ввода/вывода и шину 204 и выполняет эту программу, осуществляя тем самым описанную выше последовательность операций обработки данных.
Программа, которую выполняет компьютер (CPU 201), может быть предоставлена путем записи, например, на сменном носителе 211 записи, служащим пакетным носителем, и т.п. Кроме того, программа может быть передана по кабельным или беспроводным линиям передачи, таким как локальная сеть связи, Интернет или система цифрового вещания.
На компьютере программа может быть инсталлирована в запоминающем устройстве 208 через интерфейс 205 ввода/вывода путем установки сменного носителя 211 записи в накопителе 210. Кроме того, программа может быть принята устройством 209 связи по кабельной или беспроводной линии связи и инсталлирована в запоминающем устройстве 208. Помимо этого программа может быть заранее инсталлирована в ПЗУ ROM 202 или запоминающем устройстве 208.
Отметим, что программа, выполняемая компьютером, может представлять собой программу, согласно которой обработка осуществляется последовательно во времени в соответствии с последовательностью, рассмотренной в настоящем Описании, или это может быть программа, согласно которой обработка осуществляется параллельно или в нужные моменты времени, например при поступлении вызова.
Возможные варианты настоящего изобретения не ограничиваются вариантом, рассмотренным выше, так что могут быть выполнены разнообразные модификации, не отклоняясь от существа настоящего изобретения.
Например, упомянутые выше устройство 51 для кодирования изображения и устройство 101 для декодирования изображения могут быть применены в каком-либо электронном устройстве. Далее будет описан пример такого применения.
Фиг.20 представляет блок-схему, иллюстрирующую пример принципиальной конфигурации телевизионного приемника, использующего устройство для декодирования изображения, в котором применено настоящее изобретение.
Телевизионный приемник 300, показанный на Фиг.20, включает тюнер 313 для каналов наземного вещания, видеодекодер 315, схему 318 обработки видеосигнала, генератор 319 графики, драйвер 320 панели дисплея и панель 321 дисплея.
Тюнер 313 для каналов наземного вещания принимает сигналы радиоволн наземного аналогового вещания через антенну, демодулирует эти сигналы, получает в результате видеосигналы и передает эти видеосигналы видеодекодеру 315. Видеодекодер 315 осуществляет декодирующую обработку видеосигналов, поступающих от тюнера 313 каналов наземного вещания, и передает полученные составляющие цифровых сигналов в схему 318 обработки видеосигнала.
Схема 318 обработки видеосигнала осуществляет заданную обработку данных, такую как устранение шумов и т.п., видеоданных, поступающих от видеодекодера 315, и передает полученные видеоданные генератору 319 графики.
Генератор 319 графики формирует видеоданные программы для представления на панели 321 дисплея или данные изображения посредством обработки данных на основе приложения, поступившего через сеть и т.п., и передает сформированные им видеоданные или изображение драйверу 320 панели дисплея. Кроме того, генератор 319 графики осуществляет такую обработку данных, как передача видеоданных, полученных в результате формирования видеоданных (графики), для представления пользователю экрана, используемого для выбора объекта и т.п., и результата наложения этих видеоданных (графики) на видеоданные программы, драйверу 320 панели дисплея, по мере необходимости.
Драйвер 320 панели дисплея управляет работой панели 321 дисплея на основе данных, поступающих от генератора 319 графики, для представления видеопрограммы или указанных выше разнообразных экранов на панели 321 дисплея.
Панель 321 дисплея выполнена на основе жидкокристаллического дисплея (LCD) или аналогичной панели и представляет видеопрограммы и т.п. в соответствии с сигналами управления от драйвера 320 панели.
Кроме того, телевизионный приемник 300 включает аналого-цифровой (A/D) преобразователь 314 аудиосигнала, схему 322 обработки аудиосигнала, схему 323 эхоподавления/синтеза аудиосигнала, усилитель 324 аудиосигнала и громкоговоритель 325.
Тюнер 313 для каналов наземного вещания демодулирует принимаемый радиосигнал вещания, получая не только видеосигнал, но и аудиосигнал. Тюнер 313 для каналов наземного вещания передает полученный аудиосигнал аналого-цифровому преобразователю 314 аудиосигнала.
Этот аналого-цифровой преобразователь 314 аудиосигнала осуществляет аналого-цифровое преобразование аудиосигнала, поступающего от тюнера 313 для каналов наземного вещания, и передает полученный цифровой аудиосигнал в схему 322 обработки аудиосигнала.
Схема 322 обработки аудиосигнала осуществляет заданную обработку, например устранение шумов и т.п., аудиоданных, поступающих от аналого-цифрового преобразователя 314 аудиосигнала, и передает полученные аудиоданные в схему 323 эхоподавления/синтеза аудиосигнала.
Схема 323 эхоподавления/синтеза аудиосигнала передает аудиоданные, поступающие от схемы 322 обработки аудиосигнала, усилителю 324 аудиосигнала.
Усилитель 324 аудиосигнала осуществляет цифроаналоговое (D/A) преобразование аудиоданных, поступающих от схемы 323 эхоподавления/синтеза аудиосигнала, усиливает их для достижения заданной громкости и затем воспроизводит через громкоговоритель 325.
Кроме того, телевизионный приемник 300 включает цифровой тюнер 316 и MPEG-декодер 317.
Цифровой тюнер 316 принимает радиосигналы цифрового вещания (цифрового наземного вещания, цифрового вещания вещательных спутников/спутников связи (BS/CS)) через антенну, демодулирует эти сигналы для получения транспортного потока MPEG (MPEG-TS) и передает этот транспортный поток MPEG-декодеру 317.
Этот MPEG-декодер 317 дескремблирует указанный транспортный поток MPEG-TS, поступающий от цифрового тюнера 316, и выделяет поток, включающий данные программы, служащей целью воспроизведения (цель воспроизведения). Рассматриваемый MPEG-декодер 317 осуществляет декодирование аудиопакетов, составляющих выделенный поток, передает полученные аудиоданные в схему 322 обработки аудиосигнала, а также декодирует видеопакеты, составляющие рассматриваемый выделенный поток, и передает полученные видеоданные в схему 318 обработки видеосигнала. Кроме того, MPEG-декодер 317 передает данные электронной программы передач (EPG), выделенные из транспортного потока MPEG-TS, центральному процессору CPU 332 по непоказанному тракту.
Телевизионный приемник 300 использует описанное выше устройство 101 для декодирования изображения в качестве MPEG-декодера 317 для декодирования видеопакетов рассматриваемым способом. Соответственно, MPEG-декодер 317 осуществляет выбор оптимального режима кодирования с прогнозированием движения для каждого целевого блока (или макроблока), используя декодированное изображение таким же образом, как и устройство 101 для декодирования изображения. В результате можно не допустить увеличения объема сжатой информации, а также можно повысить точность прогнозирования.
Видеоданные, поступающие от MPEG-декодера 317, подвергают таким же образом, как и в случае видеосигнала, поступающего от видеодекодера 315, заданной обработке в схеме 318 обработки видеосигнала. После такой заданной обработки данных на полученные видеоданные накладывают по мере необходимости видеоданные и т.п., сформированные в генераторе 319 графики, передают панели 321 дисплея через драйвер 320 панели дисплея и представляют на этой панели дисплея изображение в соответствии с такими данными.
Аудиоданные, поступающие от MPEG-декодера 317, так же, как и в случае аудиоданных, поступающих от аналого-цифрового преобразователя 314 аудиосигнала, обрабатывают заданным образом в схеме 322 обработки аудиосигнала. Обработанные аудиоданные передают в усилитель 324 аудиосигнала через схему эхоподавления/синтеза аудиосигнала и осуществляют цифроаналоговое преобразование этих аудиоданных и усиление. В результате громкоговоритель 325 воспроизводит звук, отрегулированный до заданной громкости.
Кроме того, телевизионный приемник 300 включает микрофон 326 и аналого-цифровой преобразователь 327.
Аналого-цифровой преобразователь 327 получает аудиосигнал пользователя, воспринятый микрофоном 326, входящим в состав телевизионного приемника 300 для реализации голосового разговора. Аналого-цифровой преобразователь 327 осуществляет аналого-цифровое преобразование принимаемого им аудиосигнала и передает полученные цифровые аудиоданные в схему 323 эхоподавления/синтеза аудиосигнала.
При получении аудиоданных пользователя (пользователя A) телевизионного приемника 300 от аналого-цифрового преобразователя 327 схема 323 эхоподавления/синтеза аудиосигнала осуществляет эхоподавление в аудиоданных пользователя A в качестве цели. После такого эхоподавления схема 323 эхоподавления/синтеза аудиосигнала передает аудиоданных, полученные в результате соединения с другими аудиоданными и т.п., приходящими от громкоговорителя 325 через усилитель 324 аудиосигнала.
Далее, телевизионный приемник 300 включает также аудиокодек 328, внутреннюю шину 329, синхронное динамическое запоминающее устройство 330 с произвольной выборкой (синхронное динамическое ЗУПВ (SDRAM)), флэш-память 331, центральный процессор CPU 332, интерфейс 333 универсальной последовательной шины (USB) и сетевой интерфейс 334.
Аналого-цифровой преобразователь 327 получает аудиосигнал пользователя, воспринятый микрофоном 326, входящим в состав телевизионного приемника 300 для реализации голосового разговора. Аналого-цифровой преобразователь 327 осуществляет аналого-цифровое преобразование принимаемого им аудиосигнала и передает полученные цифровые аудиоданные аудиокодеку 328.
Аудиокодек 328 преобразует аудиоданные, поступающие от аналого-цифрового преобразователя 327, в данные в заданном формате для передачи через сеть связи и передает их сетевому интерфейсу 334 по внутренней шине 329.
Сетевой интерфейс 334 соединен с сетью связи по кабелю, присоединенному к сетевому терминалу 335. Этот сетевой интерфейс 334 передает аудиоданные, поступающие от аудиокодека 328, другому устройству, соединенному, например, с этой же сетью связи. Кроме того, сетевой интерфейс 334 принимает через сетевой терминал 335 аудиоданные, например, от другого устройства, соединенного с ним через эту же сеть связи, и передает принятые аудиоданные аудиокодеку 328 по внутренней шине 329.
Аудиокодек 328 преобразует аудиоданные, поступающие от сетевого интерфейса 334, в данные в заданном формате и передает их в схему 323 эхоподавления/синтеза аудиосигнала.
Схема 323 эхоподавления/синтеза аудиосигнала осуществляет эхоподавление в аудиоданные, поступающих от аудиокодека 328, в качестве цели и передает аудиоданных, полученные в результате соединения с другими аудиоданными и т.п., приходящими от громкоговорителя 325 через усилитель 324 аудиосигнала.
Синхронное динамическое ЗУПВ (SDRAM) 330 сохраняет данные различных типов, необходимые центральному процессору CPU 332 для выполнения обработки данных.
Флэш-память 331 сохраняет программу для выполнения центральным процессором CPU 332. Этот центральный процессор CPU 332 считывает программу, записанную во флэш-памяти 331, в заданные моменты времени, например при включении телевизионного приемника 300 и т.п. В этой флэш-памяти 331 записывают также данные электронной программы передач (EPG), полученные из сигнала цифрового вещания, данные, полученные от заданного сервера через сеть, и т.п.
Например, в этой флэш-памяти 331 записывают транспортный поток MPEG-TS, включающий данные контента, получаемые от заданного сервера через сеть связи под управлением центрального процессора CPU 332. Флэш-память 331 передает записанный в ней транспортный поток MPEG-TS в MPEG-декодер 317 по внутренней шине 329 под управлением центрального процессора CPU 332, например.
Этот MPEG-декодер 317 обрабатывает указанный транспортный поток MPEG-TS таким же образом, как транспортный поток MPEG-TS, поступающий от цифрового тюнера 316. Таким способом телевизионный приемник 300 принимает данные контента, построенные из видеоданных, аудиоданных и т.п., через сеть связи и декодирует эти данные с использованием MPEG-декодера 317, вследствие чего можно представить на дисплее видеопрограмму и воспроизвести звук.
Кроме того, телевизионный приемник 300 включает фотоприемный модуль 337 для приема инфракрасного сигнала, передаваемого пультом 351 дистанционного управления.
Фотоприемный модуль 337 принимает инфракрасные лучи от пульта 351 дистанционного управления и передает полученный путем демодуляции управляющий код, представляющий содержание поданной пользователем команды, центральному процессору CPU 332.
Центральный процессор CPU 332 выполняет программу, записанную во флэш-памяти 331, для управления всей работой телевизионного приемника 300 в соответствии с управляющим кодом, поступающим от фотоприемного модуля 337 и т.п. Этот центральный процессор CPU 332 и модули телевизионного приемника 300 соединены непоказанным трактом.
Указанный USB-интерфейс 333 осуществляет передачу и прием данных при обмене с внешним относительно телевизионного приемника 300 устройством, соединенным через USB-кабель, присоединенный к USB-терминалу 336. Сетевой интерфейс 334 соединен с сетью связи по кабелю, присоединенному к сетевому терминалу 335, и также осуществляет передачу и прием данных, отличных от аудиоданных, при обмене с различными устройствами, соединенными с сетью связи.
Телевизионный приемник 300 использует устройство 101 для декодирования изображения в качестве MPEG-декодера 317, вследствие чего выбор оптимального режима кодирования с прогнозированием движения может быть осуществлен с использованием декодированного изображения для каждого целевого блока (или макроблока). В результате телевизионный приемник 300 может получить декодированное изображение с более высокой точностью из вещательных радиосигналов, принимаемых через антенну, или данных контента, получаемых через сеть связи, и представлять его на экране.
Фиг.21 представляет блок-схему, иллюстрирующую пример принципиальной конфигурации сотового телефона, использующего устройство для кодирования изображений и устройство для декодирования изображений, в которых применено настоящее изобретение.
Сотовый телефон 400, показанный на Фиг.21, включает главный модуль 450 управления, конфигурированный в качестве единого центра управления всеми модулями, модуль 451 источника питания, модуль 452 управления вводом, устройство 453 для кодирования изображения, модуль 454 интерфейса видеокамеры, модуль 455 управления жидкокристаллическим дисплеем (LCD), декодер 456 изображения, модуль 457 мультиплексирования/разделения, модуль 462 записи/воспроизведения, модуль 458 модулятора/демодулятора и аудиокодек 459. Все эти модули и устройства соединены одно с другими через шину 460.
Кроме того, сотовый телефон 400 включает рабочие клавиши 419, видеокамеру 416 на основе приборов с зарядовой связью (ПЗС (CCD)), жидкокристаллический дисплей 418, запоминающее устройство 423, приемопередающий модуль 463, антенну 414, микрофон (MIC) 421 и громкоговоритель 417.
После завершения вызова и включения клавиши питания пользователем модуль 451 источника переводит сотовый телефон 400 в рабочее состояние путем подачи питания модулям от блока аккумуляторов.
Сотовый телефон 400 выполняет различные операции, такие как передача/прием аудиосигнала, передача/прием электронной почты (e-mail) и данных изображения, съемка изображения, запись данных и т.п., в различных режимах, таких как режим голосового вызова, режим передачи данных и т.п., под управлением главного модуля 450 управления, построенного из центрального процессора CPU, постоянного запоминающего устройства (ПЗУ) ROM, запоминающего устройства с произвольной выборкой (ПЗУ) RAM и т.п.
Например, в режиме голосового вызова сотовый телефон 400 преобразует аудиосигнал, воспринятый микрофоном (MIC) 421, в цифровые аудиоданные посредством аудиокодека 459, обрабатывает эти данные для расширения спектра в модуле 458 модулятора/демодулятора и осуществляет цифроаналоговое преобразование данных и затем преобразование частоты сигнала в приемопередающем модуле 463. Сотовый телефон 400 передает сигнал для передачи, полученный в результате указанного преобразования, на не показанную на чертеже базовую станцию через антенну 414. Указанный сигнал для передачи (аудиосигнал), который передают на базовую станцию, поступает к сотовому телефону партнера по сеансу связи через телефонную сеть общего пользования.
Кроме того, например, в режиме голосового вызова сотовый телефон 400 усиливает сигнал, принимаемый через антенну 414, в приемопередающем модуле 463 и затем выполняет преобразование частоты и аналого-цифровое преобразование усиленного сигнала, обрабатывает преобразованный сигнал для сжатия спектра в модуле 458 модулятора/демодулятора и преобразует результат в аналоговый аудиосигнал в аудиокодеке 459. Сотовый телефон 400 воспроизводит полученный таким образом аудиосигнал через громкоговоритель 417.
Далее, например, при передаче сообщения электронной почты в режиме передачи данных сотовый телефон 400 принимает текстовые данные сообщения, введенного посредством действия рабочих клавиш 419 на модуле 452 управления вводом. Сотовый телефон 400 обрабатывает текстовые данные этого сообщения в главном модуле 450 управления и представляет эти данные в виде изображения на жидкокристаллическом дисплее 418 через модуль 455 управления жидкокристаллическим дисплеем (LCD).
Кроме того, сотовый телефон 400 генерирует данные сообщения электронной почты в главном модуле 450 управления на основе текстовых данных, принятых модулем 452 управления вводом, команд пользователя и т.п. Сотовый телефон 400 подвергает эти данные сообщения обработке для расширения спектра в модуле 458 модулятора/демодулятора и осуществляет цифроаналоговое преобразование и преобразование частоты в приемопередающем модуле 463. Сотовый телефон 400 передает сигнал для передачи, полученный в результате указанных преобразований, в адрес непоказанной базовой станции через антенну 414. Сигнал для передачи (сообщение е-mail), передаваемый в адрес базовой станции, направляют в заданный пункт назначения, через сеть связи, почтовый сервер и т.п.
Кроме того, например, при приеме сообщения электронной почты (e-mail) в режиме передачи данных сотовый телефон 400 принимает сигнал, передаваемый базовой станцией, через антенну 414 и приемопередающий модуль 463, усиливает этот сигнал и затем осуществляет преобразование частоты и аналого-цифровое преобразование этого сигнала. После этого сотовый телефон 400 обрабатывает принятый сигнал для сжатия спектра в модуле 458 модулятора/демодулятора с целью восстановления данных первоначального сообщения электронной почты. Сотовый телефон 400 представляет восстановленные данные первоначального сообщения электронной почты на жидкокристаллическом дисплее 418 через модуль 455 управления жидкокристаллическим дисплеем (LCD).
Отметим, что сотовый телефон 400 может записывать (сохранять) принятые данные электронной почты в запоминающем устройстве 423 через модуль 462 записи/воспроизведения.
Запоминающее устройство 423 представляет собой выбираемый из нескольких вариантов перезаписываемый носитель записи. Это запоминающее устройство 423 может быть, например, полупроводниковым запоминающим устройством, таким как ЗУПВ (RAM), встроенная флэш-память и т.п., может быть жестким диском или может быть сменным носителем записи, таким как магнитный диск, магнитооптический диск, оптический диск, USB-память, карта памяти и т.п. Само собой разумеется, что запоминающее устройство может быть также устройством какого-либо еще другого типа.
Далее, например, в случае передачи данных изображения в режиме передачи данных сотовый телефон 400 генерирует данные изображения посредством считывания этого изображения ПЗС-видеокамерой 416. ПЗС-видеокамера 416 включает прибор с зарядовой связью (ПЗС (CCD)), служащий оптическим прибором, таким как объектив, диафрагма и т.п., и служащий фотоэлектрическим прибором, считывающим изображение предмета, преобразующим яркость принимаемого света в электрический сигнал и генерирующим данные этого изображения предмета. Эти данные изображения подвергают сжимающему кодированию в устройстве 453 для кодирования изображения с использованием заданной системы кодирования, например такой, как MPEG2, MPEG4 или аналогичной системы, через модуль 454 интерфейса видеокамеры и соответственно преобразуют данные изображения в кодированные данные изображения.
Сотовый телефон 400 использует указанное выше устройство 51 для кодирования изображения в качестве устройства 453 для кодирования изображения с целью выполнения такой обработки данных. Соответственно, устройство 453 для кодирования изображения выбирает оптимальный режим кодирования с прогнозированием движения для каждого целевого блока (или макроблока) с использованием декодированного изображения таким же способом, как и в случае устройства 51 для кодирования изображения. Таким образом, можно избежать увеличения объема сжатой информации, а также повысить точность прогнозирования.
Отметим, что в это же время сотовый телефон 400 одновременно преобразует аудиосигнал, принятый микрофоном (MIC) 421, из аналоговой формы в цифровую форму в аудиокодеке 459 и дополнительно кодирует этот сигнал в процессе считывания изображения ПЗС-видеокамерой 416.
Сотовый телефон 400 мультиплексирует кодированные данные изображения, поступающие от устройства 453 для кодирования изображения, и цифровые аудиоданные, поступающие от аудиокодека 459, в модуле 457 мультиплексирования/разделения с применением заданного способа. Сотовый телефон 400 обрабатывает полученные в результате мультиплексированные данные для расширения спектра этих данных в модуле 458 модулятора/демодулятора и затем осуществляет цифроаналоговое преобразование и преобразование частоты в приемопередающем модуле 463. Сотовый телефон 400 передает сигнал для передачи, полученный в результате указанного преобразования, в адрес не показанной на чертеже базовой станции через антенны 414. Сигнал для передачи (данные изображения), переданные в адрес базовой станции, направляют партнеру по связи через сеть связи или аналогичную систему.
Отметим, что, если данные изображения не передают, сотовый телефон 400 может также представить данные изображения, генерируемые ПЗС-камерой 416, на экране жидкокристаллического дисплея 418 через модуль 455 управления жидкокристаллическим дисплеем (LCD) вместо кодирования в устройстве 453 для кодирования изображения.
Кроме того, например, при приеме данных файла движущегося изображения, связанного с обычным вэб-сайтом или аналогичным объектом, в режиме передачи данных сотовый телефон 400 принимает сигнал, передаваемый от базовой станции, посредством приемопередающего модуля 463 через антенну 414, усиливает этот сигнал и затем выполняет обработку сигнала для преобразования частоты и аналого-цифрового преобразования. Сотовый телефон 400 обрабатывает принимаемый сигнал для сжатия спектра в модуле 458 модулятора/демодулятора с целью восстановления первоначальных мультиплексированных данных. Сотовый телефон 400 разделяет мультиплексированные данные в модуле 457 мультиплексирования/разделения на кодированные данные изображения и аудиоданные.
Сотовый телефон 400 декодирует кодированные данные изображения в декодере 456 изображения с использованием системы декодирования, соответствующей заданной системе кодирования, такой MPEG2, MPEG4 или аналогичной системы, и в результате генерирует данные воспроизведения движущегося изображения и представляет их на жидкокристаллическом дисплее 418 через модуль 455 управления жидкокристаллическим дисплеем. Таким образом, данные движущегося изображения, включенные в файл движущегося изображения, связанный с обычным веб-сайтом, оказываются не представлены на жидкокристаллическом дисплее 418, например.
Сотовый телефон 400 использует упомянутое выше устройство 101 для декодирования изображения в качестве декодера 456 изображения для выполнения такой обработки данных. Соответственно, декодер 456 изображения выбирает оптимальный режим кодирования с прогнозированием движения для каждого целевого блока (или макроблока) с использованием декодированного изображения таким же способом, как и в случае устройства 101 для декодирования изображения. Таким образом удается избежать увеличения объема сжатой информации, а также повысить точность прогнозирования.
В этот момент сотовый телефон 400 одновременно преобразует цифровые аудиоданные в аналоговый аудиосигнал в аудиокодеке 459 и воспроизводит этот аудиосигнал через громкоговоритель 417. Таким образом, происходит воспроизведение аудиоданных, включенных в файл движущегося изображения, связанный с обычным вэб-сайтом, например.
Отметим, что таким же способом, как и в случае с электронной почтой, сотовый телефон 400 может записывать (сохранять) принимаемые данные подобно обычному вэб-сайту или аналогичной системе в запоминающем устройстве 423 через модуль 462 записи/воспроизведения.
Кроме того, сотовый телефон 400 анализирует в главном модуле 450 управления двумерный код, полученный в результате считывания изображения ПЗС-видеокамерой 416, что позволяет получить информацию, записанную в этом двумерном коде.
Более того, сотовый телефон 400 может поддерживать связь с внешним устройством через модуль 481 инфракрасной связи с использованием инфракрасных лучей.
Рассматриваемый сотовый телефон 400 использует устройство 51 для кодирования изображения в качестве устройства 453 для кодирования изображения, вследствие чего можно, например, повысить эффективность кодирования данных, генерируемых при считывании данных изображения посредством ПЗС-видеокамеры 416. В результате сотовый телефон 400 может генерировать кодированные данные (данные изображения) с эффективностью кодирования, превосходящей эффективность кодирования в других устройствах.
Кроме того, сотовый телефон 400 использует устройство 101 для декодирования изображения в качестве декодера 456 изображения, что позволяет генерировать прогнозируемое изображение с высокой точностью. В результате, сотовый телефон 400 может получать декодированное изображение с более высокой точностью из файла движущегося изображения, связанного с обычным вэб-сайтом, и представлять его на дисплее, например.
Отметим, что в приведенном выше описании сотовый телефон 400 использует ПЗС-видеокамеру 416, однако такой сотовый телефон 400 может использовать также формирователь сигналов изображения (КМОП-формирователь сигналов изображения) на основе КМОП-структур (комплементарные структуры металл-оксид-полупроводник (CMOS)) вместо указанной ПЗС-видеокамеры 416. В этом случае сотовый телефон 400 также может считывать изображение предмета и генерировать данные изображения, соответствующие этому изображению предмета, таким же способом, как и при использовании ПЗС-видеокамеры.
Кроме того, приведенное выше описание относится к сотовому телефону 400, но рассматриваемые здесь устройства 51 для кодирования и устройство 101 для декодирования могут быть применены в аппаратуре любого типа таким же образом, как и в сотовом телефоне 400, если соответствующая аппаратура имеет такую же функцию считывания изображения и такую же функцию связи, как и сотовый телефон 400, например. Это может быть персональный цифровой помощник PDA, смартфон, ультрамобильный персональный компьютер UMPC, персональный компьютер типа ноутбук и т.п.
Фиг.22 представляет блок-схему, иллюстрирующую пример принципиальной конфигурации устройства записи информации на жестком диске, использующего устройство для кодирования изображения и устройство для декодирования изображения, в которых применено настоящее изобретение.
Устройство 500 записи информации на жестком диске (HDD), показанное на Фиг.22, представляет собой устройство, сохраняющее на встроенном жестком диске аудиоданные и видеоданные программы вещания, включенной в радиосигналы вещания (телевизионные сигналы), принимаемые тюнером и передаваемые от спутниковой или наземной антенны или аналогичного устройства, и передающее сохраненные данные пользователю в моменты, указанные командами пользователя.
Устройство 500 записи информации на жестком диске может выделять аудиоданные и видеоданные из радиосигналов вещания, декодировать эти данные соответствующим образом и сохранять на встроенном жестком диске, например. Кроме того, это устройство 500 записи информации на жестком диске может также получать аудиоданные и видеоданные от другого устройства через сеть связи, декодировать их соответствующим образом и сохранять на встроенном жестком диске, например.
Далее, устройство 500 записи информации на жестком диске декодирует аудиоданные и видеоданные, записанные на встроенном жестком диске, передает результат монитору 560 и представляет изображение этих данных на экране монитора 560, например. Кроме того, устройство 500 записи информации на жестком диске может воспроизводить звук, соответствующий аудиоданным, через громкоговоритель монитора 560.
Устройство 500 записи информации на жестком диске декодирует аудиоданные и видеоданные, выделенные из радиосигналов вещания, полученных через тюнер, или аудиоданные и видеоданные, полученные от другого устройства через сеть связи, передает результат монитору 560 и представляет соответствующее изображение на экране монитора 560, например. Кроме того, устройство 500 записи информации на жестком диске может воспроизводить звук, соответствующий аудиоданным, через громкоговоритель монитора 560.
Само собой разумеется, что можно также выполнять операции, отличные от перечисленных операций.
Как показано на Фиг.22, устройство 500 записи информации на жестком диске включает приемный модуль 521, модуль 522 демодулятора, демультиплексор 523, аудиодекодер 524, видеодекодер 525 и модуль 526 управления устройством записи. Это устройство 500 записи информации на жестком диске дополнительно включает память 527 данных электронной программы передач (EPG), память 528 программы, рабочую память 529, преобразователь 530 дисплея, модуль 531 управления экранным меню (OSD), модуль 532 управления дисплеем, модуль 533 записи/воспроизведения, цифроаналоговый преобразователь 534 и модуль 535 связи.
Кроме того, преобразователь 530 дисплея включает видеокодирующее устройство 541. Модуль 533 записи/воспроизведения включает кодирующее устройство 551 и декодер 552.
Приемный модуль 521 принимает инфракрасный сигнал от пульта дистанционного управления (не показан), преобразует в электрический сигнал и передает модулю 526 управления устройством записи. Этот модуль 526 управления устройством записи конфигурирован из, например, микропроцессора и т.п. и выполняет различные виды обработки данных в соответствии с программой, записанной в памяти 528 программ. В этот момент модуль 526 управления устройством записи использует рабочую память 529 по мере необходимости.
Модуль 535 связи, соединенный с сетью связи, осуществляет связь с другим устройством через сеть. Например, модуль 526 управления устройством записи управляет модулем 535 связи для связи с тюнером (не показан) через сеть связь и для передачи тюнеру сигнала управления выбором каналом.
Модуль 522 демодулятора осуществляет демодуляцию сигнала, поступающего от тюнера, и передает результат демультиплексору 523. Этот демультиплексор 523 разделяет данные, поступающие от модуля 522 демодулятора, на аудиоданные, видеоданные и данные электронной программы передач (EPG) и передает аудиодекодеру 524, видеодекодеру 525 и модулю 526 управления устройством записи соответственно.
Аудиодекодер 524 осуществляет декодирование входных аудиоданных, например, с использованием MPEG-системы и передает результат модулю 533 записи/воспроизведения. Видеодекодер 525 осуществляет декодирование входных видеоданных, например, с использованием MPEG-системы и передает результат преобразователю 530 дисплея. Модуль 526 управления устройством записи передает полученные им данные электронной программы передач (EPG) в память 527 данных программы EPG для сохранения.
Преобразователь 530 дисплея кодирует видеоданные, поступающие от видеодекодера 525 или модуля 526 управления устройством записи, для превращения их, например, в видеоданные в телевизионном стандарте NTSC с использованием видеокодирующего устройства 541 и передает модулю 533 записи/воспроизведения. Кроме того, преобразователь 530 дисплея преобразует размер экрана видеоданных, приходящих от видеодекодера 525 или модуля 526 управления устройством записи к размеру, соответствующему размеру монитора 560. Преобразователь 530 дисплея далее преобразует видеоданные, размер экрана которых был преобразован, в видеоданные в стандарте NTSC с использованием видеокодирующего устройства 541, преобразует эти видеоданные в аналоговый сигнал и передает модулю 532 управления дисплеем.
Модуль 532 управления дисплеем накладывает под управлением модуля 526 управления устройством записи выходной сигнал экранного меню (OSD) от модуля 531 управления экранным меню на входной видеосигнал от преобразователя 530 дисплея и передает результат наложения для представления на дисплее монитора 560.
Кроме того, аудиоданные с выхода аудиодекодера 524 преобразуют в аналоговый сигнал с использованием цифроаналогового преобразователя 534 и передают монитору 560. Этот монитор 560 воспроизводит получаемый им аудиосигнал через встроенный громкоговоритель.
Модуль 533 записи/воспроизведения включает жесткий диск в качестве носителя записи, на котором записывают видеоданные, аудиоданные и т.п.
Модуль 533 записи/воспроизведения кодирует аудиоданные, поступающие от аудиодекодера 524, посредством кодирующего устройства 551 с использованием, например, системы MPEG Модуль 533 записи/воспроизведения, объединяет результат кодирования аудиоданных и результат кодирования видеоданных посредством мультиплексора. Рассматриваемый модуль 533 записи/воспроизведения усиливает объединенные данные посредством канального кодирования и записывает результат на жестком диске через записывающую головку.
Модуль 533 записи/воспроизведения осуществляет воспроизведение данных, записанных на жестком диске, через головку воспроизведения, усиливает считываемые с диска данные и разделяет их на аудиоданные и видеоданные с использованием демультиплексора. Этот модуль 533 записи/воспроизведения декодирует указанные аудиоданные и видеоданные посредством декодера 52 с использованием системы MPEG Модуль 533 записи/воспроизведения преобразует декодированные аудиоданные из цифровой формы в аналоговую форму и передает громкоговорителю монитора 560. Кроме того, модуль 533 записи/воспроизведения преобразует декодированные видеоданные из цифровой формы в аналоговую форму и передает дисплею монитора 560.
Модуль 526 управления устройством записи считывает самые последние данные электронной программы передач (EPG) из памяти 527 данных EPG на основе команд пользователя, переданных посредством инфракрасного сигнала от пульта дистанционного управления и принятых посредством приемного модуля 521, и передает модулю 531 управления экранным меню (OSD). Этот модуль 531 управления экранным меню (OSD) генерирует данные изображения, соответствующего поступившим данным электронной программы передач (EPG), и передает модулю 532 управления дисплеем. Этот модуль 532 управления дисплеем передает видеоданные, полученные от модуля 531 управления экранным меню (OSD), для представления на дисплее монитора 560. В результате электронная программа передач (EPG) оказывается представлена на дисплее монитора 560.
Кроме того, устройство 500 записи информации на жестком диске может получать данные различного типа, такие как видеоданные, аудиоданные, данные электронной программы передач (EPG) и т.п., поступающие от другого устройства через сеть связи, такую как Интернет или другую сеть.
Модулем 535 связи под управлением модуля 526 управления устройством записи получает кодированные данные, такие как видеоданные, аудиоданные, данные электронной программы передач (EPG) и т.п., передаваемые от другого устройства через сеть связи, и передает полученные данные модулю 526 управления устройством записи. Модуль 526 управления устройством записи передает кодированную версию полученных видеоданных и аудиоданных модулю 533 записи/воспроизведения и сохраняет, например, на жестком диске. В этот момент модуль 526 управления устройством записи и модуль 533 записи/воспроизведения могут выполнять также такую обработку данных, как повторное кодирование и т.п., по мере необходимости.
Кроме того, модуль 526 управления устройством записи декодирует указанную кодированную версию полученных видеоданных и аудиоданных и передает полученные видеоданные преобразователю 530 дисплея. Этот преобразователь 530 дисплея обрабатывает таким же образом, как и видеоданные, получаемые от видеодекодера 525, видеоданные, поступившие от модуля 526 управления устройством записи, и передает их монитору 560 через модуль 532 управления дисплеем для представления соответствующего дисплея.
В альтернативном варианте возможна система, в которой в соответствии с представлением этого изображения на дисплее модуль 526 управления устройством записи передает декодированные аудиоданные монитору 560 через цифроаналоговый преобразователь 534 и воспроизводит звук через громкоговоритель.
Далее, модуль 526 управления устройством записи декодирует кодированные данные полученной электронной программы передач (EPG) и передает декодированные данные EPG в память 527 данных электронной программы передач (EPG).
Устройство 500 записи информации на жестком диске, конфигурированное таким образом, использует устройство 101 для декодирования изображения в качестве видеодекодера 525, декодера 522 и декодера в составе модуля 526 управления устройством записи. Соответственно, такие видеодекодер 525, декодер 522 и декодер в составе модуля 526 управления устройством записи выбирают оптимальный режим кодирования с прогнозированием движения для каждого целевого блока (или макроблока) с использованием декодированного изображения таким же способом, как это делает устройство 101 для декодирования изображения. Таким образом, можно не допустить увеличения объема сжатой информации, а также можно повысить точность прогнозирования.
Соответственно, устройство 500 записи информации на жестком диске может генерировать прогнозируемое изображение с высокой точностью. В результате этого, такое устройство 500 записи информации на жестком диске может получать декодированное изображение с повышенной точностью, например, на основе кодированной версии видеоданных, принимаемых через тюнер, кодированной версии видеоданных, считываемый с жесткого диска модуля 533 записи/воспроизведения, или кодированной версии видеоданных, получаемых через сеть связи, и представлять это изображение на мониторе 560.
Кроме того, устройство 500 записи информации на жестком диске использует устройство 51 для кодирования изображения в качестве устройства 551 для кодирования изображения. Соответственно, устройство 551 для кодирования изображения выбирает оптимальный режим кодирования с прогнозированием движения для каждого целевого блока (или макроблока) с использованием декодированного изображения таким же способом, как и в случае устройства 51 для кодирования изображения. Таким образом, можно не допустить увеличения объема сжатой информации, а также можно повысить качество прогнозирования.
Соответственно, такое устройство 500 записи информации на жестком диске может повысить эффективность кодирования данных для записи на жестком диске, например. В результате это устройство 500 записи информации на жестком диске может более эффективно использовать площадь области жесткого диска для записи информации.
Отметим, что приведенное выше описание относится к устройству 500 записи информации на жестком диске, предназначенному для записи видеоданных и аудиоданных на жестком диске, но само собой разумеется, что здесь может быть использован носитель записи любого типа. Например, даже при использовании устройства записи информации с отличным от жесткого магнитного диска носителем записи, таким как флэш-память, оптический диск, видеомагнитофонная лента, таким же способом, как и описанное выше устройство 500 записи информации на жестком диске, устройство 51 для кодирования изображения и устройство 101 для декодирования изображения могут быть аналогично применены и в таком устройстве записи информации на носителе другого типа.
Фиг.23 представляет блок-схему, иллюстрирующую пример принципиальной конфигурации видеокамеры, использующей устройство для кодирования изображений и устройство для декодирования изображений, в которых применено настоящее изобретение.
Видеокамера 600, показанная на Фиг.23, считывает изображение предмета, представляет это изображение предмета на жидкокристаллическом дисплее 616 и записывает его на носителе 633 записи в качестве данных изображения.
Блок 611 линз вводит свет (т.е. видеопредмета) в ПЗС/КМОП (CCD/CMOS) формирователь 612 сигналов изображения. Этот ПЗС/КМОП формирователь 612 сигналов изображения, представляющий собой формирователь сигналов изображения, использующий прибор с зарядовой связью (ПЗС (CCD)) или КМОП-структуру (CMOS), преобразует интенсивность принимаемого света в электрический сигнал, и передает этот сигнал в модуль 613 обработки сигнала видеокамеры.
Модуль 613 обработки сигнала видеокамеры преобразует электрический сигнал, поступающий от ПЗС/КМОП формирователя 612 в цветоразностные сигналы Y, Cr и Cb и передает модулю 614 обработки сигналов изображения. Этот модуль 614 обработки сигналов изображения выполняет под управлением контроллера 621 заданную обработку изображения, передаваемого сигналом изображения, поступающим от модуля 613 обработки сигнала видеокамеры, или кодирует этот сигнал изображения в кодирующем устройстве 641 с использованием, например, системы MPEG. Модуль 614 обработки сигнала изображения передает кодированные данные, сформированные посредством кодирования сигнала изображения, декодеру 615. Далее, модуль 614 обработки сигналов изображения получает данные для представления на дисплее, генерируемые модулем 620 экранного меню (OSD), и передает их декодеру 615.
Для выполнения упомянутой выше обработки модуль 613 обработки сигнала видеокамеры использует динамическое ЗУПВ (DRAM) 618, соединенное с ним через шину 617, для сохранения данных изображения, кодированной версии этих данных изображения и т.п. по мере необходимости в этом динамическом ЗУПВ (DRAM) 618.
Декодер 615 осуществляет декодирование кодированных данных, поступающих от модуля 614 обработки сигнала, и передает полученные данные изображения (декодированные данные изображения) жидкокристаллическому дисплею 616. Кроме того, декодер 615 передает данные для представления на дисплее, приходящие от модуля 614 обработки сигналов изображения, жидкокристаллическому дисплею 616. Этот жидкокристаллический дисплей 616 объединяет должным образом изображение, соответствующее декодированным данным изображения, и изображение, соответствующее данным для дисплея.
Модуль 620 экранного меню передает по командам контроллера 621 данные для представления на дисплее, такие как экранное меню или иконка или еще что-то подобное, построенные из символов, знаков или цифр, модулю 614 обработки сигналов изображения через шину 617.
На основе сигнала, указывающего контент, выбранный командой пользователя с использованием операционного модуля 622, контроллер 621 осуществляет различные виды обработки, а также управляет модулем 614 обработки сигнала, динамическим ЗУПВ (DRAM) 618, внешним интерфейсом 619, модулем 620 экранного меню, приводом 623 носителя записи и т.п. через шину 617. Программу, данные и т.п., необходимые, чтобы контроллер 621 выполнял различные виды обработки, сохраняют во флэш-ПЗУ (FLASH ROM) 624.
Например, контроллер 621 может кодировать данные изображения, записанные в динамическом ЗУПВ (DRAM) 618, или декодировать кодированные данные, записанные в динамическом ЗУПВ (DRAM) 618, вместо модуля 614 обработки сигнала изображения и декодера 615. В этот момент контроллер 621 может выполнять обработку данных для кодирования и декодирования с использованием такой же системы, как и система кодирования и декодирования в модуле 614 обработки сигнала изображения и декодере 615, или может выполнять обработку данных для кодирования и декодирования с использованием системы, в которой не могут работать ни модуль 614 обработки сигналов изображения, ни декодер 615.
Кроме того, например, если от операционного модуля 622 поступила команда начать печатать изображение, контроллер 621 считывает кодированные данные из динамического ЗУПВ (DRAM) 618 и передает эти данные принтеру 634, соединенному с внешним интерфейсом 619 через шину 617, для печати.
Далее, например, при получении от операционного модуля 622 команды записать изображение контроллер 621 считывает кодированные данные из динамического ЗУПВ (DRAM) 618 и передает их на носитель записи 633, установленный на приводе 623 носителя, через шину 617 для записи.
Носитель 633 записи представляет собой выбираемый читаемый/перезаписываемый сменный носитель, например такой, как магнитный диск, магнитооптический диск, оптический диск, полупроводниковое запоминающее устройство и т.п. Само собой разумеется, что носитель 633 записи также является выбираемым с точки зрения типа сменного носителя и соответственно может быть накопителем на магнитной ленте, или может быть диском, или может быть картой памяти. Само собой разумеется также, что носитель 633 записи может быть также бесконтактной карточкой с интегральной схемой или аналогичным устройством.
В альтернативном варианте привод 623 носителя и носитель 633 записи могут быть конфигурированы таким образом, чтобы их можно было встроить в нетранспортируемый носитель записи, например, такого как встроенный накопитель с жестким диском, твердотельный накопитель (SSD) или аналогичное устройство.
Внешний интерфейс 619 конфигурирован из, например, USB терминала ввода/вывода и т.п. и соединен с принтером 634 для печати изображения. Кроме того, с внешним интерфейсом 619 по мере необходимости соединяют накопитель 631, на котором установлен подходящий сменный носитель 632 записи, такой как магнитный диск, оптический диск или магнитооптический диск или аналогичное устройство, а считываемую с носителя компьютерную программу инсталлируют по мере необходимости во флэш-ПЗУ (FLASH ROM) 624.
Далее, внешний интерфейс 619 включает сетевой интерфейс для соединения с заданной сетью связи, такой как локальная сеть связи (LAN), Интернет или аналогичная сеть связи. Например, в соответствии с командами от операционного модуля 622 контроллер 621 может считывать кодированные данные из динамического ЗУПВ (DRAM) 618 и передавать их через внешний интерфейс 619 другому устройству, соединенному с ним через сеть связи. Кроме того, контроллер 621 может получать через внешний интерфейс 619 кодированные данные или данные изображения, поступающие от другого устройства через сеть связи, и сохранять эти данные в динамическом ЗУПВ (DRAM) 618 или передавать модулю 614 обработки сигналов изображения.
Видеокамера 600, конфигурированная таким образом, использует устройство 101 для декодирования изображения в качестве декодера 615. Соответственно, декодер 615 выбирает оптимальный режим кодирования с прогнозированием движения для каждого целевого блока (или макроблока) с использованием декодированного изображения таким же способом, как и устройство 101 для декодирования изображения. Таким образом, можно не допустить увеличения объема сжатой информации, а также повысить точность прогнозирования.
Соответственно, видеокамера 600 может генерировать прогнозируемое изображение с высокой точностью. В результате видеокамера 600 может получать декодированное изображение с повышенной точностью, например, на основе данных изображения, генерируемых в ПЗС/КМОП (CCD/CMOS) формирователе 612, и кодированной версии видеоданных, считываемой из динамического ЗУПВ (DRAM) 618 или с носителя 633 записи, или кодированной версии видеоданных, полученной через сеть связи, и представлять изображение на жидкокристаллическом дисплее (LCD) 616.
Кроме того видеокамера 600 использует устройство 51 для кодирования изображения в качестве кодирующего устройства 641. Соответственно, кодирующее устройство 641 выбирает оптимальный режим кодирования с прогнозированием движения для каждого целевого блока (или макроблока) с использованием декодированного изображения таким же способом, как в устройстве 51 для кодирования изображения. Таким образом, можно не допустить увеличения объема сжатой информации, а также повысить точность прогнозирования.
Соответственно, видеокамера 600 может повысить эффективность кодирования данных для записи на жестком диске, например. В результате видеокамера 600 может использовать область для хранения информации в составе динамического ЗУПВ (DRAM) 618 или носителя 633 записи более эффективно.
Отметим, что способ декодирования, используемый в устройстве 101 для декодирования изображения, может быть применен для декодирования, выполняемого контроллером 621. Аналогично, способ кодирования, используемый в устройстве 51 для кодирования изображения, может быть применен для кодирования, выполняемого контроллером 621.
Кроме того, данные изображения, считываемого видеокамерой 600, могут представлять движущееся изображения или неподвижное изображение.
Само собой разумеется, что устройство 51 для кодирования изображения и устройство 101 для декодирования изображения могут быть применены в устройстве или системе, отличных от рассмотренных выше устройств.
Перечень позиционных обозначений
51 устройство для кодирования изображения, 66 модуль кодирования без потерь, 74 модуль внутрикадрового прогнозирования, 75 модуль прогнозирования/компенсации движения, 76 модуль выбора режима кодирования с прогнозированием движения, 77 модуль выбора прогнозируемого изображения, 81 модуль вычисления вектора движения в SDM-режиме, 82 модуль вычисления вектора движения в TDM-режиме, 91 модуль вычисления остаточной энергии в SDM-режиме, 92 модуль вычисления остаточной энергии в TDM-режиме, 93 модуль сравнения, 94 модуль определения режима кодирования с прогнозированием движения, 112 модуль декодирования без потерь, 121 модуль внутрикадрового прогнозирования, 122 модуль прогнозирования/компенсации движения, 123 модуль выбора режима кодирования с прогнозированием движения, 124 переключатель.
Изобретение относится к вычислительной технике. Технический результат заключается в повышении точности прогнозирования. Устройство для обработки изображения содержит модуль вычисления остаточной энергии в пространственном режиме, конфигурированный для использования информации вектора движения согласно режиму пространственного прогнозирования движения для целевого блока с применением периферийного пиксела, расположенного рядом с целевым блоком в заданном позиционном соотношении с этим блоком и также включенного в декодированное изображение; модуль вычисления остаточной энергии во временном режиме, конфигурированный для использования информации вектора движения согласно режиму временного прогнозирования движения для целевого блока с применением указанного периферийного пиксела; и модуль определения режима кодирования с прогнозированием движения, конфигурированный для определения, что кодирование целевого блока должно быть выполнено в режиме пространственного прогнозирования движения, если остаточная энергия в пространственном режиме не больше остаточной энергии во временном режиме, и определения, что кодирование целевого блока должно быть выполнено в режиме временного прогнозирования движения, если остаточная энергия в пространственном режиме больше остаточной энергии во временном режиме. 4 н. и 10 з.п. ф-лы, 23 ил.
1. Устройство для обработки изображения, содержащее:
модуль вычисления остаточной энергии в пространственном режиме, конфигурированный для использования информации вектора движения согласно режиму пространственного прогнозирования движения для целевого блока с целью вычисления остаточной энергии режима пространственного прогнозирования движения с применением периферийного пиксела, расположенного рядом с целевым блоком в заданном позиционном соотношении с этим блоком и также включенного в декодированное изображение;
модуль вычисления остаточной энергии во временном режиме, конфигурированный для использования информации вектора движения согласно режиму временного прогнозирования движения для целевого блока с целью вычисления остаточной энергии режима временного прогнозирования движения с применением указанного периферийного пиксела; и
модуль определения режима кодирования с прогнозированием движения, конфигурированный для определения, что кодирование целевого блока должно быть выполнено в режиме пространственного прогнозирования движения, если остаточная энергия в пространственном режиме, вычисленная модулем вычисления остаточной энергии в пространственном режиме, не больше остаточной энергии во временном режиме, вычисленной модулем вычисления остаточной энергии во временном режиме, и определения, что кодирование целевого блока должно быть выполнено в режиме временного прогнозирования движения, если остаточная энергия в пространственном режиме больше остаточной энергии во временном режиме.
2. Устройство для обработки изображения по п.1, дополнительно содержащее:
модуль кодирования, конфигурированный для кодирования целевого блока в соответствии с режимом пространственного прогнозирования движения или режимом временного прогнозирования движения, определенным посредством модуля определения режима кодирования с прогнозированием движения.
3. Устройство для обработки изображения по п.1, отличающееся тем, что модуль вычисления остаточной энергии в пространственном режиме вычисляет эту остаточную энергию в пространственном режиме на основе Y-составляющей сигнала, Cb-составляющей сигнала и Cr-составляющей сигнала;
и отличающееся тем, что модуль вычисления остаточной энергии во временном режиме вычисляет эту остаточную энергию во временном режиме на основе Y-составляющей сигнала, Cb-составляющей сигнала и Cr-составляющей сигнала;
и отличающееся тем, что модуль определения режима кодирования с прогнозированием движения сравнивает соотношение величин между остаточной энергией в пространственном режиме и остаточной энергией во временном режиме для каждой составляющей сигнала - Y-составляющей сигнала, Cb-составляющей сигнала и Cr-составляющей сигнала, чтобы определить, следует ли целевой блок кодировать в режиме пространственного прогнозирования движения или его следует кодировать в режиме временного прогнозирования движения.
4. Устройство для обработки изображения по п.1, отличающееся тем, что модуль вычисления остаточной энергии в пространственном режиме вычисляет эту остаточную энергию в пространственном режиме на основе яркостной составляющей сигнала целевого блока;
и отличающееся тем, что модуль вычисления остаточной энергии во временном режиме вычисляет эту остаточную энергию во временном режиме на основе яркостной составляющей сигнала целевого блока.
5. Устройство для обработки изображения по п.1, отличающееся тем, что модуль вычисления остаточной энергии в пространственном режиме вычисляет эту остаточную энергию в пространственном режиме на основе яркостной составляющей сигнала и цветоразностной составляющей сигнала целевого блока;
и отличающееся тем, что модуль вычисления остаточной энергии во временном режиме вычисляет эту остаточную энергию во временном режиме на основе яркостной составляющей сигнала и цветоразностной составляющей сигнала целевого блока.
6. Устройство для обработки изображения по п.1, дополнительно содержащее:
модуль вычисления вектора движения в пространственном режиме, конфигурированный для вычисления информации вектора движения согласно режиму пространственного прогнозирования движения; и
модуль вычисления вектора движения во временном режиме, конфигурированный для вычисления информации вектора движения согласно режиму временного прогнозирования движения.
7. Способ обработки изображения, содержащий этапы:
в соответствии с которыми устройство для обработки изображения
использует информацию векторов движения согласно режиму пространственного прогнозирования движения целевого блока для вычисления остаточной энергии в пространственном режиме с применением периферийного пиксела, расположенного рядом с целевым блоком в заданном позиционном соотношении с этим блоком и также включенного в декодированное изображение;
использует информацию векторов движения согласно режиму временного прогнозирования движения целевого блока для вычисления остаточной энергии во временном режиме с применением указанного периферийного пиксела;
и определяет, что кодирование целевого блока должно быть выполнено в режиме пространственного прогнозирования движения, если остаточная энергия в пространственном режиме не больше остаточной энергии во временном режиме прогнозирования движения, и определяет, что кодирование целевого блока должно быть выполнено в режиме временного прогнозирования движения, если остаточная энергия в пространственном режиме больше остаточной энергии во временном режиме.
8. Устройство для обработки изображения, содержащее:
модуль вычисления остаточной энергии в пространственном режиме, конфигурированный для использования информации вектора движения согласно режиму пространственного прогнозирования движения для целевого блока, кодируемого в режиме кодирования с прогнозированием движения, с целью вычисления остаточной энергии в режиме пространственного прогнозирования движения с применением периферийного пиксела, расположенного рядом с целевым блоком в заданном позиционном соотношении с этим блоком и также включенного в декодированное изображение;
модуль вычисления остаточной энергии во временном режиме, конфигурированный для использования информации вектора движения согласно режиму временного прогнозирования движения для целевого блока с целью вычисления остаточной энергии временного режима прогнозирования движения с применением указанного периферийного пиксела; и
модуль определения режима кодирования с прогнозированием движения, конфигурированный для определения, что следует генерировать прогнозируемое изображение целевого блока в режиме пространственного прогнозирования движения, если остаточная энергия в пространственном режиме, вычисленная модулем вычисления остаточной энергии в пространственном режиме, не больше остаточной энергии во временном режиме, вычисленной модулем вычисления остаточной энергии во временном режиме, и определения, что следует генерировать прогнозируемое изображение целевого блока в режиме временного прогнозирования движения, если остаточная энергия в пространственном режиме больше остаточной энергии во временном режиме.
9. Устройство для обработки изображения по п.8, дополнительно содержащее:
модуль компенсации движения, конфигурированный для генерации прогнозируемого изображения целевого блока в соответствии с режимом пространственного прогнозирования движения или режимом временного прогнозирования движения, определенным посредством модуля определения режима кодирования с прогнозированием движения.
10. Устройство для обработки изображения по п.8, отличающееся тем, что модуль вычисления остаточной энергии в пространственном режиме вычисляет эту остаточную энергию в пространственном режиме на основе Y-составляющей сигнала, Cb-составляющей сигнала и Cr-составляющей сигнала;
и отличающееся тем, что модуль вычисления остаточной энергии во временном режиме вычисляет эту остаточную энергию во временном режиме на основе Y-составляющей сигнала, Cb-составляющей сигнала и Cr-составляющей сигнала;
и отличающееся тем, что модуль определения режима кодирования с прогнозированием движения сравнивает соотношение величин между остаточной энергией в пространственном режиме и остаточной энергией во временном режиме для каждой составляющей сигнала - Y-составляющей сигнала, Cb-составляющей сигнала и Cr-составляющей сигнала, чтобы определить, следует ли генерировать прогнозируемое изображение целевого блока в режиме пространственного прогнозирования движения или генерировать прогнозируемое изображение этого целевого блока в режиме временного прогнозирования движения.
11. Устройство для обработки изображения по п.8, отличающееся тем, что модуль вычисления остаточной энергии в пространственном режиме вычисляет эту остаточную энергию в пространственном режиме на основе яркостной составляющей сигнала целевого блока;
и отличающееся тем, что модуль вычисления остаточной энергии во временном режиме вычисляет эту остаточную энергию во временном режиме на основе яркостной составляющей сигнала целевого блока.
12. Устройство для обработки изображения по п.8, отличающееся тем, что модуль вычисления остаточной энергии в пространственном режиме вычисляет эту остаточную энергию в пространственном режиме на основе яркостной составляющей сигнала и цветоразностной составляющей сигнала целевого блока;
и отличающееся тем, что модуль вычисления остаточной энергии во временном режиме вычисляет эту остаточную энергию во временном режиме на основе яркостной составляющей сигнала и цветоразностной составляющей сигнала целевого блока.
13. Устройство для обработки изображения по п.8, дополнительно содержащее:
модуль вычисления вектора движения в пространственном режиме, конфигурированный для вычисления информации вектора движения согласно режиму пространственного прогнозирования движения; и
модуль вычисления вектора движения во временном режиме, конфигурированный для вычисления информации вектора движения согласно режиму временного прогнозирования движения.
14. Способ обработки изображения, содержащий этапы:
в соответствии с которыми устройство для обработки изображения
использует информацию векторов движения согласно режиму пространственного прогнозирования движения целевого блока, кодированного в режиме кодирования с прогнозированием движения, для вычисления остаточной энергии в пространственном режиме с применением периферийного пиксела, расположенного рядом с целевым блоком в заданном позиционном соотношении с этим блоком и также включенного в декодированное изображение;
использует информацию векторов движения согласно режиму временного прогнозирования движения целевого блока для вычисления остаточной энергии во временном режиме с применением периферийного пиксела; и
определяет, что следует генерировать прогнозируемое изображение целевого блока в режиме пространственного прогнозирования движения, если остаточная энергия в пространственном режиме не больше остаточной энергии во временном режиме, и определяет, что следует генерировать прогнозируемое изображение целевого блока в режиме временного прогнозирования движения, если остаточная энергия в пространственном режиме больше остаточной энергии режима во временном режиме.
Пресс для выдавливания из деревянных дисков заготовок для ниточных катушек | 1923 |
|
SU2007A1 |
Способ приготовления мыла | 1923 |
|
SU2004A1 |
Пресс для выдавливания из деревянных дисков заготовок для ниточных катушек | 1923 |
|
SU2007A1 |
Станок для изготовления деревянных ниточных катушек из цилиндрических, снабженных осевым отверстием, заготовок | 1923 |
|
SU2008A1 |
Станок для изготовления деревянных ниточных катушек из цилиндрических, снабженных осевым отверстием, заготовок | 1923 |
|
SU2008A1 |
СПОСОБ МАСШТАБИРУЕМОГО КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ ВИДЕОСИГНАЛА И УСТРОЙСТВО ДЛЯ ЕГО ОСУЩЕСТВЛЕНИЯ | 2004 |
|
RU2329615C2 |
Авторы
Даты
2014-07-27—Публикация
2010-02-12—Подача