способ и устройство обработки изображения
Классы МПК: | H04N7/32 включающие кодовое прогнозирование G06K9/40 фильтрация помех |
Автор(ы): | НАКАГАМИ Одзи (JP), ТАНАКА Дзунити (JP), ЯГАСАКИ Ёити (JP) |
Патентообладатель(и): | СОНИ КОРПОРЕЙШН (JP) |
Приоритеты: |
подача заявки:
2009-07-24 публикация патента:
27.09.2013 |
Изобретение относится к способу и устройству обработки изображения, в частности к кодированию движущихся изображений. Техническим результатом является генерирование прогнозируемого изображения с высокой точностью без увеличения процессорной нагрузки. Указанный технический результат достигается тем, что из опорного кадра выделяют изображение, составленное из макроблоков размером 16×16 пикселов, при этом к каждому макроблоку присоединена полоса шириной «а» пикселов, служащая областью полей, в качестве изображения с компенсацией движения и рассматривают его в качестве входного изображения для процесса фильтрации. Величину «а» определяют в соответствии с числом отводов фильтра с конечной импульсной характеристикой (КИХ). Процесс фильтрации выполняют с использованием изображения с компенсацией движения в качестве входного изображения и передают на выход прогнозируемое изображение размером 16×16 пикселов в качестве выходного изображения процесса фильтрации. Прогнозируемое изображение добавляют в сумматоре к выходному изображению схемы обратного ортогонального преобразования и используют результат суммирования в качестве макроблока, составляющего декодированный кадр. 2 н. и 4 з.п. ф-лы, 46 ил.
Формула изобретения
1. Устройство обработки изображения, содержащее: средства определения для определения в соответствии с числом отводов фильтра, используемого для процесса фильтрации, числа пикселов по ширине полосы, расположенной вне макроблока, включающего в себя опорный блок, представляющий собой блок декодированного опорного кадра, и находящейся в контакте с указанным опорным блоком; средства получения для получения из опорного кадра указанного опорного блока и полосы, соответствующей числу пикселов, определенному средствами определения, если опорный блок, представляющий собой блок опорного кадра, соответствующий блоку, входящему в состав изображения, подвергаемого фильтрации, находится в контакте с границей указанного макроблока, включающего в себя опорный блок; и средства фильтрации для фильтрации изображения опорного блока и полосы, полученных посредством средств получения, при этом средства фильтрации включают в себя первые средства фильтрации для фильтрации нижних частот в отношении разностного изображения между множеством изображений, вторые средства фильтрации для фильтрации верхних частот в отношении изображения, получаемого в результате фильтрации нижних частот, выполняемой первыми средствами фильтрации, и сумматор для добавления изображения, получаемого в результате фильтрации нижних частот, выполняемой первыми средствами фильтрации, и изображения, получаемого в результате фильтрации верхних частот, выполняемой вторыми средствами фильтрации, к любому из множества изображений для генерации прогнозируемого изображения в единицах макроблоков.
2. Устройство обработки изображения по п.1, в котором средства получения выполнены с возможностью получения опорного блока из опорного кадра, если опорный блок контактирует с границей макроблока, включающего опорный блок.
3. Устройство обработки изображения по п.2, в котором средства определения выполнены с возможностью определения числа пикселов, равного максимальному целому числу, которое меньше или равно величине, получаемой путем деления на два числа отводов фильтра, используемого для фильтрации, причем определенное число пикселов является числом пикселов по ширине указанной полосы.
4. Устройство обработки изображения по п.1, дополнительно содержащее: задающие средства для задания опорного блока на основе вектора движения.
5. Устройство обработки изображения по п.4, в котором фильтр представляет собой фильтр с конечной импульсной характеристикой.
6. Способ обработки изображения, содержащий: этап определения, на котором определяют в соответствии с числом отводов фильтра, используемого для фильтрации, число пикселов по ширине полосы, расположенной вне макроблока, включающего в себя опорный блок, представляющий собой блок декодированного опорного кадра, и находящейся в контакте с указанным опорным блоком; этап получения, на котором получают из опорного кадра указанный опорный блок и полосу, соответствующую числу пикселов, найденному на этапе определения, если опорный блок, представляющий собой блок опорного кадра, соответствующий блоку, входящему в состав изображения, подвергаемого фильтрации, находится в контакте с границей указанного макроблока, включающего в себя опорный блок; и этап фильтрации, на котором выполняют фильтрацию изображения опорного блока и полосы, полученных на этапе получения, при этом на этапе фильтрации выполняют фильтрацию нижних частот в отношении разностного изображения между множеством изображений, выполняют фильтрацию верхних частот в отношении изображения, получаемого в результате фильтрации нижних частот, выполняемой первыми средствами фильтрации, и добавляют изображение, получаемое в результате фильтрации нижних частот, выполняемой первыми средствами фильтрации, и изображение, получаемое в результате фильтрации верхних частот, выполняемой вторыми средствами фильтрации, к любому из множества изображений для генерации прогнозируемого изображения в единицах макроблоков.
Описание изобретения к патенту
Область техники, к которой относится изобретение
Настоящее изобретение относится к способу и устройству для обработки изображения и более конкретно к способу и устройству для обработки изображения, которые позволяют генерировать прогнозируемое изображение с высокой точностью без увеличения процессорной нагрузки.
Уровень техники
Обычно в качестве схем кодирования для обработки движущихся изображений применяют алгоритмы кодирования с использованием компенсации движения, такие как MPEG (Группа экспертов по движущимся изображениям) или Н.26х, и ортогональные преобразования, такие как дискретное косинусное преобразование, преобразование Карунена-Лоэва или вэйвлетное преобразование (преобразование по элементарным волнам). В таких способах кодирования движущихся изображений уменьшение объема кода достигается путем использования корреляции в пространственном направлении и по оси времени между характеристиками входного сигнала изображения, который подлежит кодированию.
Например, согласно стандарту Н.264, применяют однонаправленное или двунаправленное прогнозирование в процессе генерации интер-кадра, т.е. кадра, который должен быть подвергнут обработке с межкадровым прогнозированием (интер-прогнозирование) с использованием корреляции в направлении оси времени. При межкадровом прогнозировании генерируют прогнозируемое изображение на основе кадров, имеющих место в разные моменты времени.
Фиг.1 представляет схему, иллюстрирующую пример однонаправленного прогнозирования.
Как показано на фиг.1, когда подлежащий кодированию кадр Р 0, т.е. кадр, соответствующий текущему моменту времени, генерируют с использованием однонаправленного прогнозирования, компенсацию движения осуществляют с применением, в качестве опорных кадров, уже кодированного кадра, соответствующего прошедшему или будущему моменту времени относительно текущего момента времени. Остаточную погрешность между прогнозируемым изображением и реальным изображением кодируют с применением корреляции в направлении оси времени, что позволяет уменьшить объем кода. Информацию опорного кадра и вектор движения используют, соответственно, в качестве информации, определяющей опорный кадр, и информации, определяющей опорную позицию в этом опорном кадре, и передают эти блоки информации от кодирующей стороны декодирующей стороне.
Здесь число опорных кадров не обязательно равно одному. Например, согласно стандарту Н.264 можно использовать несколько кадров в качестве опорных кадров. Как показано на фиг.1, если два кадра, расположенных во времени ближе к подлежащему кодированию кадру Р0 , обозначены в качестве опорных кадров R0 и R 1, величины пикселов в произвольном макроблоке в составе подлежащего кодированию кадра Р0, можно предсказать на основе величин произвольных пикселов в опорном кадре R 0 или R1.
На фиг.1 прямоугольники, выделенные внутри каждого кадра, представляют макроблоки. Если в подлежащем кодированию кадре Р0 макроблок, который нужно прогнозировать, является макроблоком MBP0, тогда в опорном кадре R0 этому макроблоку MBP0 соответствует макроблок MBR0, определяемый вектором движения MV0. Кроме того, в опорном кадре R1 рассматриваемому макроблоку соответствует макроблок MBR1 , определяемый вектором движения MV1.
Если величины пикселов в макроблоках MBR0 и MB R1 (значения пикселов в изображениях с компенсацией движения) обозначить MC0(i, j) и MC1(i, j), то поскольку величины пикселов любого из изображений с компенсацией движения используются в качестве величин пикселов прогнозируемого изображения для случая однонаправленного прогнозирования, прогнозируемое изображение Pred(i, j) представлено уравнением (1) ниже. Здесь (i, j) обозначает относительное положение пиксела в макроблоке и удовлетворяет условию 0 i 16 и 0 j 16. В уравнении (1), знак || указывает, что берут только одну из величин MC0 (i, j) или MC1(i, j).
Отметим, что можно также разбить один макроблок размером 16×16 пикселов на меньшие блоки размером, например, 16×8 пикселов и выполнить компенсацию движения для каждого индивидуального блока, образованного в результате разбиения, с применением ссылки на разные опорные кадры. В результате передачи вектора движения с десятичной погрешностью, а не вектора движения с целочисленной погрешностью, и выполнения интерполяции с применением фильтра с конечной импульсной характеристикой (FIR) или КИХ-фильтра, определенного в стандарте, можно использовать величины пикселов, окружающих соответствующую рассматриваемую точку, для компенсации движения.
Фиг.2 представляет схему, иллюстрирующую пример двунаправленного прогнозирования.
Как показано на фиг.2, когда подлежащий кодированию кадр В0, т.е. кадр, соответствующий текущему моменту времени, генерируют с использованием двунаправленного прогнозирования, компенсацию движения осуществляют с применением, в качестве опорных кадров, уже кодированных кадров, соответствующих прошедшим и будущим моментам времени относительно текущего момента времени. Здесь в качестве опорных кадров используют несколько уже кодированных кадров, а остаточную погрешность между прогнозируемым изображением и реальным изображением кодируют с применением корреляции между этими опорными кадрами, что позволяет уменьшить объем кода. Согласно стандарту Н.264 можно также в качестве опорных кадров использовать несколько кадров из прошлого и несколько кадров из будущего.
Как показано на фиг.2, если кадр из прошлого и кадр из будущего относительно подлежащего кодированию кадра В 0, служащего базой, выбраны в качестве опорных кадров L 0 и L1, величины пикселов в произвольном макроблоке в составе подлежащего кодированию кадра В0 можно предсказать на основе величин произвольных пикселов в опорных кадрах L 0 и L1.
В примере, показанном на фиг.2, макроблок опорного кадра L0, соответствующий макроблоку MBB0 в подлежащем кодированию кадре В 0, обозначен в качестве макроблока MBL0, определяемого вектором движения MV0. Кроме того, макроблок опорного кадра L1, соответствующий макроблоку MBB0 в подлежащем кодированию кадре В0, обозначен в качестве макроблока MBL1, определяемого вектором движения MV 1.
Если величины пикселов в макроблоках MBL0 и MBL1 обозначить MC0(i, j) и MC1(i, j), соответственно, тогда величина пиксела Pred(i, j) в составе прогнозируемого изображения Pred(i, j) может быть получена как среднее значение для этих величин пикселов, согласно следующему уравнению (2).
При такой компенсации движения, как описано выше при рассмотрении однонаправленного прогнозирования, точность прогнозируемого изображения улучшается путем повышения точности вектора движения и уменьшения размеров макроблока, чтобы уменьшить остаточную погрешность относительно реального изображения, что обеспечивает повышение эффективности кодирования.
Более того, при компенсации движения с применением двунаправленного прогнозирования в качестве величин пикселов прогнозируемого изображения используют средние значения величин пикселов опорных кадров, расположенных близко по времени, что делает возможным стабильное с вероятностной точки зрения уменьшение остаточной погрешности прогнозирования.
Перечень литературы
Непатентная литература
NPL 1: «Улучшение разрешения путем совмещения изображений», Михал Ирани и Шмуэль Пелег, Отделение компьютерных наук, Еврейский университет Иерусалима, 91904 Иерусалим, Израиль, передал Рама Хеллапа, получено 16 июня 1989 г.; принято 25 мая 1990 г. («Improving Resolution by Image Registration», MICHAL IRANI AND SHMUEL PELEG, Department of Computer Science, The Hebrew University of Jerusalem, 91904 Jerusalem, Israel, Communicated by Rama Chellapa, Received June 16, 1989; accepted May 25, 1990)
Раскрытие изобретения
Техническая проблема
В случае обычного однонаправленного прогнозирования, даже если можно выбирать из нескольких опорных кадров, необходимо избирательно использовать величины пикселов из какого-либо одного из опорных кадров в качестве величин пикселов кадра, подлежащего кодированию. Таким образом, поскольку невыбранный опорный кадр не используется для компенсации движения, корреляция по времени между этим опорным кадром и кадром, подлежащим кодированию, не может быть использована в достаточной степени, так что остается значительное пространство для усовершенствования с точки зрения повышения эффективности кодирования.
Кроме того, в случае обычного двунаправленного прогнозирования в качестве величин пикселов кадра, подлежащего кодированию, используют среднее значение величин пикселов двух опорных кадров, так что осуществляется фильтрация нижних частот по времени, вследствие чего в прогнозируемом изображении оказываются утрачены высокочастотные составляющие. В результате, поскольку сигнал остаточной погрешности, включающий высокочастотные составляющие, кодировать уже невозможно, изображение, полученное посредством декодирования, не включает высокочастотные составляющие, что приводит к деградации разрешения изображения.
Настоящее изобретение было создано с учетом такой ситуации и предназначено для предоставления возможности генерации высокоточного прогнозируемого изображения без увеличения процессорной нагрузки.
Решение проблемы
Устройство обработки изображения согласно одному из аспектов настоящего изобретения включает в себя средства определения для определения в соответствии с числом отводов фильтра, используемого для осуществления фильтрации, числа пикселов по ширине полосы, располагаемой вне макроблока, включающего опорный блок, представляющий собой блок декодированного опорного кадра, и находящейся в контакте с опорным блоком, средства получения для получения, из опорного кадра, указанных опорного блока и полосы, соответствующей числу пикселов, найденному средствами определения, если опорный блок, представляющий собой блок опорного кадра, соответствующего блоку, входящему в состав изображения, подвергаемого фильтрации, находится в контакте с границей указанного макроблока, включающего в себя опорный блок, и средства фильтрации для выполнения фильтрации изображения опорного блока и полосы, полученных посредством средств получения.
Средства получения могут получить опорный блок из опорного кадра, если опорный блок находится в контакте с границей макроблока, включающего в себя опорный блок.
Средства определения могут определить число пикселов, равное максимальному целому числу, которое меньше или равно величине, получаемой путем деления числа отводов фильтра, используемого для фильтрации, на два, причем определенное число пикселов является числом пикселов в направлении ширины области полосы.
Средства фильтрации могут содержать первые средства фильтрации для выполнения фильтрации нижних частот в отношении разностного изображения между множеством изображений, вторые средства фильтрации для выполнения фильтрации верхних частот в отношении изображения, полученного в результате фильтрации нижних частот, осуществляемой первыми средствами фильтрации, и сумматор для добавления изображения, полученного в результате фильтрации нижних частот, выполненной первыми средствами фильтрации, и изображения, полученного в результате фильтрации верхних частот, выполненной вторыми средствами фильтрации, к любому из множества изображений для генерации прогнозируемого изображения в единицах макроблоков.
Рассматриваемое устройство обработки изображения может дополнительно включать в себя средства памяти для сохранения, в качестве опорного кадра, декодированного кадра, полученного в результате декодирования, выполняемого в единицах макроблоков, составляющих этот кадр. Средства выборки могут получать опорный блок и полосу из опорного кадра, записанного в средствах памяти.
Устройство обработки изображения может дополнительно включать в себя задающие средства для задания опорного блока на основе вектора движения.
Указанный фильтр может представлять собой фильтр с конечной импульсной характеристикой (КИХ-фильтр).
Способ обработки изображения согласно одному из аспектов настоящего изобретения включает этап определения для определения в соответствии с числом отводов фильтра, используемого для осуществления фильтрации, числа пикселов по ширине полосы, располагаемой вне макроблока, включающего опорный блок, представляющий собой блок декодированного опорного кадра, и находящейся в контакте с этим опорным блоком, этап получения для получения, из опорного кадра, указанных опорного блока и полосы, соответствующей числу пикселов, найденному на этапе определения, если опорный блок, представляющий собой блок опорного кадра, соответствующий блоку, входящему в состав изображения, подвергаемое фильтрации, находится в контакте с границей указанного макроблока, включающего опорный блок, и этап фильтрации для осуществления фильтрации изображения опорного блока и полосы, полученных на указанном этапе получения.
Согласно одному из аспектов настоящего изобретения число пикселов по ширине полосы, располагаемой вне макроблока, включающего опорный блок, представляющий собой блок декодированного опорного кадра, и находящейся в контакте с опорным блоком определяют в соответствии с числом отводов фильтра, используемого для осуществления фильтрации, указанный опорный блок и полосу, соответствующие найденному числу пикселов, получают из опорного кадра, если опорный блок, представляющий собой блок опорного кадра, соответствующий блоку, составляющему изображение, подвергаемое фильтрации, находится в контакте с границей указанного макроблока, включающего этот опорный блок, и фильтрацию осуществляют применительно к изображению полученных опорного блока и полосы.
Результат изобретения
Согласно настоящему изобретению можно сформировать прогнозируемое изображение с высокой точностью без увеличения процессорной нагрузки.
Краткое описание чертежей
Фиг.1 представляет схему, иллюстрирующую пример однонаправленного прогнозирования.
Фиг.2 представляет схему, иллюстрирующую пример двунаправленного прогнозирования.
Фиг.3 представляет блок-схему, иллюстрирующую пример конфигурации декодирующего устройства согласно одному из вариантов настоящего изобретения.
Фиг.4 представляет схему, иллюстрирующую принцип третьего режима прогнозирования.
Фиг.5 представляет блок-схему, иллюстрирующую пример конфигурации схемы прогнозирования/компенсации движения, показанной на фиг.3.
Фиг.6 представляет схему, иллюстрирующую пример опорных кадров.
Фиг.7 представляет схему, иллюстрирующую другой пример опорных кадров.
Фиг.8 представляет блок-схему, иллюстрирующую пример конфигурации схемы фильтрации, показанной на фиг.5.
Фиг.9 представляет логическую схему для пояснения последовательности операций процесса декодирования в декодирующем устройстве.
Фиг.10 представляет логическую схему для пояснения последовательности операций процесса прогнозирования/компенсации движения, выполняемого на этапе S9 на фиг.9.
Фиг.11 представляет блок-схему, иллюстрирующую пример конфигурации кодирующего устройства.
Фиг.12 представляет блок-схему, иллюстрирующую пример конфигурации схемы определения режима, показанной на фиг.11.
Фиг.13 представляет блок-схему, иллюстрирующую пример конфигурации схемы прогнозирования/компенсации движения, показанной на фиг.11.
Фиг.14 представляет логическую схему для пояснения последовательности операций процесса кодирования в кодирующем устройстве.
Фиг.15 представляет логическую схему для пояснения последовательности операций процесса определения режима, выполняемого на этапе S58 на фиг.14.
Фиг.16 представляет логическую схему для пояснения последовательности операций процесса прогнозирования/компенсации движения, выполняемого на этапе S61 на фиг.14.
Фиг.17 представляет блок-схему, иллюстрирующую другой пример конфигурации схемы фильтрации.
Фиг.18 представляет блок-схему, иллюстрирующую еще один пример конфигурации схемы фильтрации.
Фиг.19 представляет схему, иллюстрирующую пример случая, когда используют три опорных кадра.
Фиг.20 представляет блок-схему, иллюстрирующую пример конфигурации схемы фильтрации для случая, когда используют три опорных кадра.
Фиг.21 представляет схему, иллюстрирующую пример интерполяции пикселов.
Фиг.22 представляет схему, иллюстрирующую принципы процесса, использующего компенсацию движения с добавлением области полей.
Фиг.23 представляет схему, иллюстрирующую пример изображения с компенсацией движения.
Фиг.24 представляет блок-схему, иллюстрирующую пример конфигурации схемы прогнозирования, показанной на фиг.5.
Фиг.25 представляет логическую схему для пояснения последовательности операций процесса компенсации движения в схеме прогнозирования.
Фиг.26 представляет схему, иллюстрирующую пример разбиения макроблока, подлежащего декодированию.
Фиг.27 представляет схему, иллюстрирующую пример опорного кадра.
Фиг.28 представляет схему, иллюстрирующую пример блоков, составляющих макроблок, показанный на фиг.27.
Фиг.29 представляет схему, иллюстрирующую пример области полей.
Фиг.30 представляет схему, иллюстрирующую пример области полей.
Фиг.31 представляет схему, иллюстрирующую пример области полей.
Фиг.32 представляет схему, иллюстрирующую пример области полей.
Фиг.33 представляет схему, иллюстрирующую пример области полей.
Фиг.34 представляет схему, иллюстрирующую пример области полей.
Фиг.35 представляет схему, иллюстрирующую пример области полей.
Фиг.36 представляет схему, иллюстрирующую пример области полей.
Фиг.37 представляет схему, иллюстрирующую пример изображения с компенсацией движения.
Фиг.38 представляет схему, иллюстрирующую пример КИХ-фильтра.
Фиг.39 представляет схему, иллюстрирующую пример процесса фильтрации.
Фиг.40 представляет схему, иллюстрирующую результат, полученный путем кодирования с применением прогнозируемого изображения, генерируемого посредством схемы фильтрации, показанной на фиг.8.
Фиг.41 представляет схему, иллюстрирующую другой результат, полученный путем кодирования с применением прогнозируемого изображения, генерируемого посредством схемы фильтрации, показанной на фиг.8.
Фиг.42 представляет блок-схему, иллюстрирующую пример конфигурации персонального компьютера.
Фиг.43 представляет блок-схему, иллюстрирующую пример основной конфигурации телевизионного приемника, в котором применено настоящее изобретение.
Фиг.44 представляет блок-схему, иллюстрирующую пример основной конфигурации мобильного телефона, в котором применено настоящее изобретение.
Фиг.45 представляет блок-схему, иллюстрирующую пример основной конфигурации устройства записи на жестком магнитном диске, в котором применено настоящее изобретение.
Фиг.46 представляет блок-схему, иллюстрирующую пример основной конфигурации видеокамеры, в которой применено настоящее изобретение.
Описание вариантов изобретения
Фиг.3 представляет блок-схему, иллюстрирующую пример конфигурации декодирующего устройства 1 согласно одному из вариантов настоящего изобретения.
Информация изображения, сжатая и кодированная в кодирующем устройстве, рассматриваемом ниже, поступает в декодирующее устройство 1 по кабелю, через сеть связи или на сменном носителе записи. Эта сжатая информация изображения представляет собой информацию изображения, сжатую и кодированную в соответствии, например, со стандартом Н.264.
Промежуточный буфер 11 последовательно записывает входные потоки битов в качестве сжатой информации изображения. Информацию, записанную в промежуточном буфере 11, по мере необходимости считывает схема 12 декодирования без потерь. Считывание происходит фрагментами (единицами) некоторого размера, такими как макроблоки, составляющие кадр. Согласно стандарту Н.264 процесс можно осуществлять не только в единицах макроблоков размером 16×16 пикселов, а также в единицах блоков размером 8×8 пикселов или 4×4 пикселов, полученных путем дальнейшего разбиения макроблоков.
Схема 12 декодирования без потерь выполняет процедуру декодирования, соответствующую способу кодирования, например декодирование кодов переменной длины или арифметическое декодирование, для изображения, считываемого из промежуточного буфера 11. Схема 12 декодирования без потерь передает квантованный коэффициент преобразования, полученный в результате декодирования, в схему 13 деквантования.
Кроме того, схема 12 декодирования без потерь идентифицирует на основе идентификационного флага, включенного в заголовок изображения, подлежащего декодированию, кодировано ли это изображение с применением внутрикадрового кодирования или межкадрового кодирования. Если схема 12 декодирования без потерь установит, что изображение, подлежащее декодированию, кодировано внутрикадровым способом, схема 12 декодирования без потерь передает в схему 22 внутрикадрового прогнозирования информацию о режиме внутрикадрового прогнозирования, записанную в заголовке изображения. Эта информация о режиме внутрикадрового прогнозирования включает информацию, относящуюся к внутрикадровому прогнозированию, такую как размер блока, используемого в качестве единицы процесса.
Если схема 12 декодирования без потерь определит, что изображение, подлежащее декодированию, кодировано межкадровым способом, схема 12 декодирования без потерь передает вектор движения и идентификационный флаг, записанные в заголовке изображения, в схему 21 прогнозирования/компенсации движения. Идентификационный флаг позволяет идентифицировать режим прогнозирования для генерации прогнозируемого изображения с применением межкадрового прогнозирования. Идентификационные флаги устанавливают в единицах, например, макроблоков или кадров.
В дополнение к режиму однонаправленного прогнозирования, показанному на фиг.1, и режиму двунаправленного прогнозирования, показанному на фиг.2, предложен также третий режим прогнозирования для генерации прогнозируемого изображения путем выполнения фильтрации изображений с компенсацией движения, выделенных из нескольких опорных кадров, расположенных в одном направлении по оси времени или в обоих направлениях.
Фиг.4 представляет схему, иллюстрирующую принципы третьего режима прогнозирования.
В примере, показанном на фиг.4, если принять за основу момент времени, соответствующий текущему кадру (прогнозируемому кадру), кадр, предшествующий по времени на один временной шаг текущему кадру, обозначен как опорный кадр R0, а кадр, предшествующий на один временной шаг этому опорному кадру R0, обозначен как опорный кадр R 1. В этом случае, в соответствии с третьим режимом прогнозирования изображения МС0 и MC1 с компенсацией движения, выделенные из опорных кадров R0 и R1, вводят в схему фильтрации, а величины пикселов выходного изображения схемы фильтрации рассматривают в качестве величин пикселов прогнозируемого изображения, представляющего собой целевой макроблок.
В дальнейшем режим прогнозирования, при использовании которого величины пикселов какого-либо из изображений с компенсацией движения, выделенных из нескольких опорных кадров, расположенных в одном направлении, как показано на фиг.1, принимают в качестве величин пикселов прогнозируемого изображения, именуется просто режимом однонаправленного прогнозирования. Кроме того, как показано на фиг.2, режим прогнозирования, при использовании которого средние значения величин пикселов изображений с компенсацией движения, выделенных из нескольких опорных кадров, расположенных в обоих направлениях, принимают в качестве величин пикселов прогнозируемого изображения, именуется просто режимом двунаправленного прогнозирования.
Третий режим прогнозирования, при использовании которого, как показано на фиг.4, величины пикселов прогнозируемого изображения получают посредством фильтрации индивидуальных изображений с компенсацией движения, выделенных из нескольких опорных кадров, расположенных в одном или в двух направлениях, именуется режимом прогнозирования с фильтрацией. Этот режим прогнозирования с фильтрацией будет подробно описан ниже.
Если вернуться к фиг.3, схема 13 деквантования осуществляет деквантование квантованного коэффициента преобразования, поступающего от схемы 12 декодирования без потерь, с применением способа, соответствующего способу квантования, использованному на стороне кодирования. Схема 13 деквантования выводит коэффициент преобразования, полученный путем выполнения деквантования, в схему 14 обратного ортогонального преобразования.
Схема 14 обратного ортогонального преобразования выполняет обратное ортогональное преобразование четвертого порядка над коэффициентом преобразования, поступающим от схемы 13 деквантования, с применением способа, соответствующего способу ортогонального преобразования, использованному на кодирующей стороне, такому как дискретное косинусное преобразование или преобразование Карунена-Лоэва, и передает полученное изображение в сумматор 15.
Сумматор 15 осуществляет суммирование изображения, поступающего от схемы 14 обратного ортогонального преобразования, и прогнозируемого изображения, поступающего от схемы 21 прогнозирования/компенсации движения или от схемы 22 внутрикадрового прогнозирования через переключатель 23, и выводит сложное изображение в деблокирующий фильтр 16.
Деблокирующий фильтр 16 устраняет блочные шумы, включенные в изображение, поступающее от сумматора 15, и выводит изображение, из которого удалены блочные шумы. Выходное изображение от деблокирующего фильтра 16 поступает в буфер 17 перестановок и память 19 кадров.
Буфер 17 перестановок временно сохраняет изображение, поступающее от деблокирующего фильтра 16. Буфер 17 перестановок генерирует индивидуальные кадры на основе записанных в нем изображений, например, в единицах макроблоков, переставляет сформированные кадры в определенном порядке, например порядке представления на дисплее, и выводит эти кадры в цифро-аналоговый преобразователь (ЦАП) 18.
ЦАП 18 выполняет цифроаналоговое преобразование индивидуальных кадров, поступающих от буфера 17 перестановок, и выводит сигналы этих индивидуальных кадров.
Память 19 кадров временно сохраняет изображение, поступающее от деблокирующего фильтра 16. Информацию, записанную в памяти 19 кадров, передают в схему 21 прогнозирования/компенсации движения или в схему 22 внутрикадрового прогнозирования через переключатель 20.
Переключатель 20 соединяется с клеммой a1 в случае генерации прогнозируемого изображения посредством межкадрового прогнозирования, и соединяется с клеммой b1 в случае генерации прогнозируемого изображения посредством внутрикадрового прогнозирования. Работой переключателя 20 управляют, например, посредством схемы 31 управления.
Схема 21 прогнозирования/компенсации движения определяет режим прогнозирования в соответствии с идентификационным флагом, поступающим от схемы 12 декодирования без потерь, и выбирает кадр для использования в качестве опорного кадра среди уже декодированных кадров, записанных в памяти 19 кадров, в зависимости от режима прогнозирования. Схема 21 прогнозирования/компенсации движения определяет макроблок, соответствующий интересующему прогнозируемому изображению, из нескольких макроблоков, образующих опорный кадр, на основе вектора движения, поступающего от схемы 12 декодирования без потерь, и выделяет определенный таким способом макроблок в качестве изображения с компенсацией движения. Схема 21 прогнозирования/компенсации движения определяет величины пикселов прогнозируемого изображения на основе величин пикселов изображения с компенсацией движения в соответствии с используемым режимом прогнозирования и выводит прогнозируемое изображение с определенными таким способом величинами пикселов в сумматор 15 через переключатель 23.
Схема 22 внутрикадрового прогнозирования выполняет такое внутрикадровое прогнозирование в соответствии с информацией о режиме внутрикадрового прогнозирования, поступающей от схемы 12 декодирования без потерь, и генерирует прогнозируемое изображение. Схема 22 внутрикадрового прогнозирования передает сформированное прогнозируемое изображение в сумматор 15 через переключатель 23.
Переключатель 23 соединяется с клеммой а2, когда прогнозируемое изображение было сформировано схемой 21 прогнозирования/компенсации движения, и соединяется с клеммой b2, если прогнозируемое изображение было создано схемой 22 внутрикадрового прогнозирования. Работой переключателя 23 также управляет, например, схема 31 управления.
Схема 31 управления переключает соединения переключателей 20 и 23 и управляет всей работой декодирующего устройства 1. Эта схема 31 управления может идентифицировать, кодировано ли изображение, подлежащее обработке, с применением внутрикадрового или межкадрового кодирования.
Фиг.5 представляет блок-схему, иллюстрирующую пример конфигурации схемы 21 прогнозирования/компенсации движения, показанной на фиг.3.
Как показано на фиг.5, схема 21 прогнозирования/компенсации движения составлена из схемы 41 определения режима прогнозирования, схемы 42 однонаправленного прогнозирования, схемы 43 двунаправленного прогнозирования, схемы 44 прогнозирования и схемы 45 фильтрации. Вектор движения и идентификационный флаг, поступающие от схемы 12 декодирования без потерь, направляют на входы схемы 41 определения режима прогнозирования.
Схема 41 определения режима прогнозирования определяет режим прогнозирования в соответствии с идентификационным флагом, поступающим от декодера 12 без потерь. Эта схема 41 определения режима прогнозирования передает вектор движения в схему 42 однонаправленного прогнозирования, когда определено, что прогнозируемое изображение следует генерировать посредством однонаправленного прогнозирования, или передает этот вектор движения в схему 43 двунаправленного прогнозирования, когда определено, что прогнозируемое изображение следует генерировать посредством двунаправленного прогнозирования. Кроме того, если определено, что прогнозируемое изображение следует генерировать посредством прогнозирования с фильтрацией, схема 41 определения режима прогнозирования передает вектор движения в схему 44 прогнозирования.
Таким образом, для предоставления возможности идентификации прогнозирования с фильтрацией можно установить в качестве величины идентификационного флага величину, отличную от величины, представляющей однонаправленное прогнозирование, и величины, представляющей двунаправленное прогнозирование, как это определено в обычном стандарте Н.264. В альтернативном варианте режим прогнозирования может быть определен посредством какого-либо сформулированного заранее способа вместо того, чтобы определять этот режим по идентификационному флагу, для уменьшения объема информации.
Схема 42 однонаправленного прогнозирования рассматривает несколько кадров, расположенных в одном направлении по оси времени, в качестве опорных кадров и определяет в этих опорных кадрах макроблоки, соответствующие прогнозируемому изображению, на основе векторов движения, как показано на фиг.1. Кроме того, схема 42 однонаправленного прогнозирования считывает определенные ею макроблоки в соответствующих опорных кадрах из памяти 19 в качестве изображения с компенсацией движения и генерирует прогнозируемое изображение с использованием величин пикселов какого-либо из этих изображений с компенсацией движения в качестве величин пикселов прогнозируемого изображения. Схема 42 однонаправленного прогнозирования передает это прогнозируемое изображение сумматору 15. Для выполнения однонаправленного прогнозирования схема 42 однонаправленного прогнозирования использует, например, алгоритм однонаправленного прогнозирования, определенный в стандарте Н.264.
Схема 43 двунаправленного прогнозирования рассматривает несколько кадров, расположенных в двух направлениях по оси времени, в качестве опорных кадров и определяет в этих опорных кадрах макроблоки, соответствующие прогнозируемому изображению, на основе векторов движения, как показано на фиг.2. Кроме того, схема 43 двунаправленного прогнозирования считывает определенные ею макроблоки в соответствующих опорных кадрах в качестве изображения с компенсацией движения из памяти 19 кадров и генерирует прогнозируемое изображение путем использования средних значений величин пикселов этих изображений с компенсацией движения в качестве величин пикселов прогнозируемого изображения. Схема 43 двунаправленного прогнозирования передает это прогнозируемое изображение сумматору 15. Для выполнения двунаправленного прогнозирования схема 43 двунаправленного прогнозирования использует, например, алгоритм двунаправленного прогнозирования, определенный в стандарте Н.264.
Схема 44 прогнозирования определяет несколько кадров, расположенных в одном или в двух направлениях по оси времени, в качестве опорных кадров. Какие именно кадры следует использовать в качестве опорных кадров, можно определить заранее или можно выбрать на основе информации, передаваемой кодирующей стороной вместе с идентификационным флагом.
Фиг.6 представляет схему, иллюстрирующую пример опорных кадров.
В примере, показанном на фиг.6, когда момент времени, соответствующий прогнозируемому изображению, служит базой, два кадра, находящиеся на оси времени на один шаг раньше и на два шага раньше, соответственно, прогнозируемого кадра, рассматриваются в качестве опорных кадров, аналогично описанию, данному со ссылками на фиг.4. Из этих двух опорных кадров тот, который расположен по оси времени ближе к прогнозируемому кадру, т.е. предшествует ему на один шаг по времени, обозначен как опорный кадр R0, а кадр, предшествующий на один шаг по времени опорному кадру R0, обозначен как опорный кадр R1.
Фиг.7 представляет схему, иллюстрирующую другой пример опорных кадров.
В примере, показанном на фиг.7, когда момент времени, соответствующий прогнозируемому изображению, служит базой, два кадра, один из которых расположен на один шаг по времени прежде, а другой - на один шаг по времени после прогнозируемого кадра, рассматриваются в качестве опорных кадров. Из этих двух опорных кадров тот кадр, который предшествует прогнозируемому кадру на один временной шаг, обозначен как опорный кадр L0, а тот кадр, который находится на один временной шаг после прогнозируемого кадра, обозначен как опорный кадр L1.
Таким образом, при прогнозировании с фильтрацией в качестве опорных кадров используют несколько кадров, расположенных в одном направлении по оси времени, или несколько кадров, расположенных в двух направлениях по оси времени.
Кроме того, схема 44 прогнозирования определяет на основе векторов движения, поступающих от схемы 41 определения режима прогнозирования, макроблоки, соответствующие прогнозируемому изображению, среди уже декодированных макроблоков в опорных кадрах, определенных, как показано на фиг.6 или 7.
Схема 44 прогнозирования считывает выбранные макроблоки из соответствующих опорных кадров в качестве изображений с компенсацией движения из памяти 19 кадров и передает эти считываемые изображения с компенсацией движения в схему 45 фильтрации. Векторы движения могут быть определены не в единицах макроблоков размером 16×16 пикселов, а в единицах блоков, полученных в результате дальнейшего разбиения макроблоков. Изображения, например, в единицах макроблоков передают на вход схемы 45 фильтрации. На фиг.5 две стрелки, направленные от схемы 44 прогнозирования в схему 45 фильтрации, представляют передачу двух изображений с компенсацией движения.
Схема 45 фильтрации принимает изображения с компенсацией движения, поступающие от схемы 44 прогнозирования, фильтрует эти изображения и выводит прогнозируемое изображение, полученное в результате фильтрации, в сумматор 15.
Фиг.8 представляет блок-схему, иллюстрирующую пример конфигурации схемы 45 фильтрации. В схеме 45 фильтрации, показанной на фиг.8, сигнал фильтруют во временной области.
Как показано на фиг.8, схема 45 фильтрации состоит из схемы 51 вычисления разности, фильтра 52 нижних частот, схемы 53 регулировки коэффициента передачи, фильтра 54 верхних частот, схемы 55 регулировки коэффициента передачи, сумматора 56 и сумматора 57. Изображение МС0 с компенсацией движения, приходящее от схемы 44 прогнозирования, поступает на входы схемы 51 вычисления разности и сумматора 57, а изображение MC1 с компенсацией движения поступает на вход схемы 51 вычисления разности.
Если, как показано на фиг.6, прогнозируемое изображение, генерируют, например, посредством однонаправленного прогнозирования, изображение, выделенное из опорного кадра R0, считающегося обладающим более высокой корреляцией с прогнозируемым изображением, рассматривают как изображение МС0 с компенсацией движения, а изображение, выделенное из опорного кадра R1, рассматривают как изображение MC1 с компенсацией движения. Изображение, выделенное из опорного кадра R0, можно рассматривать как изображение MC1 с компенсацией движения, а изображение, выделенное из опорного кадра R1, можно рассматривать как изображение МС0 с компенсацией движения.
С другой стороны, если прогнозируемое изображение генерируют посредством двунаправленного прогнозирования, как показано на фиг.7, изображение, выделенное из предшествующего на один временной шаг опорного кадра L0, рассматривают как изображение МС0 с компенсацией движения, а изображение, выделенное из опорного кадра L1 на один временной шаг позже прогнозируемого изображения, обозначают как изображение MC1 с компенсацией движения, например. Изображение, выделенное из опорного кадра L0, можно рассматривать как изображение MC1 с компенсацией движения, а изображение, выделенное из опорного кадра L1, можно рассматривать как изображение МС 0 с компенсацией движения.
Схема 51 вычисления разности вычисляет разность между изображением МС0 с компенсацией движения и изображением MC1 с компенсацией движения и передает разностное изображение в фильтр 52 нижних частот. Разностное изображение D представлено следующим уравнением (3).
В уравнении (3), индексы (i, j) представляют относительное положение пиксела в изображении с компенсацией движения. Если обработка осуществляется в единицах макроблоков размером 16×16 пикселов, выполняются соотношения 0 i 16 и 0 j 16. То же самое верно и далее.
Фильтр 52 нижних частот содержит КИХ-фильтр. Фильтр 52 нижних частот осуществляет фильтрацию нижних частот в разностном изображении D, поступающем от схемы 51 вычисления разности, и передает полученное изображение в схему 53 регулировки коэффициента передачи и в фильтр 54 верхних частот. Разностное изображение D', получаемое в результате выполнения фильтрации нижних частот, представлено следующим уравнением (4). В уравнении (4), LPF(X) представляет выполнение фильтрации нижних частот во входном изображении Х с использованием двумерного КИХ-фильтра.
Схема 53 регулировки коэффициента передачи подстраивает коэффициент передачи разностного изображения D', поступающего от фильтра 52 нижних частот, и передает изображение с подстроенным коэффициентом передачи в сумматор 56. Выходное изображение X(i, j) схемы 53 регулировки коэффициента передачи представлено следующим уравнением (5).
Фильтр 54 верхних частот содержит КИХ-фильтр. Этот фильтр 54 верхних частот осуществляет фильтрацию верхних частот в разностном изображении D', поступающем от фильтра 52 нижних частот, и выводит полученное изображение в схему 55 регулировки коэффициента передачи. Разностное изображение D'', получаемое в результате выполнения фильтрации верхних частот, представлено уравнением (6) ниже. В этом уравнении (6), HPF(X) представляет выполнение фильтрации верхних частот во входном изображении Х с использованием двумерного КИХ-фильтра.
Схема 55 регулировки коэффициента передачи подстраивает коэффициент передачи разностного изображения D'', поступающего от фильтра 54 верхних частот, и выводит изображение с подстроенным коэффициентом передачи в сумматор 56. Выходное изображение Y(i, j) схемы 55 регулировки коэффициента передачи представлено следующим уравнением (7).
В качестве величин коэффициентов в уравнении (5) и в уравнении (7) можно выбрать, например, =0,8 и =0,2, однако можно выбрать и другие значения для повышения точности прогнозируемого изображения. Более того, эти величины можно адаптивно изменять в зависимости от свойств входной последовательности.
Сумматор 56 суммирует изображение X(i, j) и изображение Y(i, j) с подстроенными коэффициентами передачи и передает на выход изображение, полученное в результате суммирования. Выходное изображение Z(i, j) сумматора 56 представлено следующим уравнением (8).
Выходное изображение Z(i, j) представляет высокочастотные составляющие изображения, которые могут быть определены на основе разности между изображением МС0 с компенсацией движения и изображением MC1 с компенсацией движения, т.е. корреляцию между этими изображениями.
Сумматор 57 выполняет суммирование выходного изображения Z(i, j), поступающего от сумматора 56, с изображением МС0 с компенсацией движением и передает полученное изображение в сумматор 15 в качестве прогнозируемого изображения. Прогнозируемое изображение S(i, j), т.е. окончательное выходное изображение сумматора 57, представлено следующим уравнением (9).
Таким образом, в режиме прогнозирования с фильтрацией генерируют изображение, полученное путем суммирования изображения, представляющего высокочастотные составляющие, с изображением МС0 с компенсацией движения, в качестве прогнозируемого изображения. Это прогнозируемое изображение содержит больше высокочастотных составляющих, чем прогнозируемое изображение, получаемое в случае простого выполнения двунаправленного прогнозирования. Как описано выше, поскольку в качестве величин пикселов прогнозируемого изображения принимают средние значения величин пикселов нескольких изображений с компенсацией движения, в прогнозируемом изображении, генерируемом с применением двунаправленного прогнозирования, высокочастотные составляющие оказываются утрачены.
Кроме того, поскольку в сумматоре 15 прогнозируемое изображение, включающее большое число высокочастотных составляющих, суммируют с декодированным изображением, окончательное выходное изображение декодирующего устройства 1 также представляет собой изображение с высоким разрешением, включающее большую долю высокочастотных составляющих.
Более того, можно генерировать прогнозируемое изображение путем более эффективного использования корреляции изображений во времени, по сравнению со случаем простого выполнения однонаправленного прогнозирования. Как описано выше, вследствие использования величин пикселов только одного изображения с компенсацией движения из нескольких таких изображений с компенсацией прогнозируемое изображение, генерируемое посредством однонаправленного прогнозирования, нельзя назвать генерируемым с использованием в достаточной степени корреляции изображений во времени.
Далее будет описан принцип действия декодирующего устройства 1, имеющего описанную выше конфигурацию.
Сначала процесс декодирования, выполняемый декодирующим устройством 1, будет рассмотрен со ссылками на логическую схему последовательности операций, показанную на фиг.9.
Процесс, показанный на фиг.9, начинается, когда, например, схема 12 декодирования без потерь считывает изображение определенного размера, такое как макроблок размером 16×16 пикселов, из состава информации, записанной в промежуточном буфере 11. На каждом этапе, изображенном на фиг.9, обработка данных может производиться, при необходимости, параллельно обработке другого этапа, либо можно изменить последовательность выполнения этапов. То же самое применимо к обработке данных на соответствующих этапах в индивидуальных логических схемах, рассмотренных ниже.
На этапе S1 схема 12 декодирования без потерь декодирует изображение, считываемое из промежуточного буфера 11, и передает квантованный коэффициент преобразования в схему 13 деквантования. Кроме того, схема 12 декодирования без потерь передает информацию о режиме внутрикадрового прогнозирования в схему 22 внутрикадрового прогнозирования, если изображение, подлежащее декодированию, кодировано внутрикадровым способом, и передает вектор движения и идентификационный флаг в схему 21 прогнозирования/компенсации движения, если это изображение кодировано межкадровым способом.
На этапе S2 схема 13 деквантования осуществляет деквантование с использованием алгоритма, соответствующего способу квантования, примененному на кодирующей стороне, и выводит коэффициент преобразования в схему 14 обратного ортогонального преобразования.
На этапе S3 схема 14 обратного ортогонального преобразования выполняет такое обратное ортогональное преобразование для коэффициента преобразования, поступившего от схемы 13 деквантования, и выводит полученное изображение в сумматор 15.
На этапе S4 сумматор 15 осуществляет суммирование декодированного изображения, поступающего от схемы 14 обратного ортогонального преобразования, и прогнозируемого изображения, поступающего от схемы 21 прогнозирования/компенсации движения или от схемы 22 внутрикадрового прогнозирования, и выводит суммарное изображение в деблокирующий фильтр 16.
На этапе S5 деблокирующий фильтр 16 выполняет фильтрацию для устранения блочных шумов, включенных в суммарное изображение, и выводит на выход изображение, в котором устранены эти блочные шумы.
На этапе S6 память 19 кадров временно записывает изображение, поступившее от деблокирующего фильтра 16.
На этапе S7 схема 31 управления определяет, кодировано ли рассматриваемое изображение внутрикадровым способом.
Если на этапе S7 определено, что изображение кодировано внутрикадровым способом, тогда на этапе S8 схема 22 внутрикадрового прогнозирования генерирует прогнозируемое изображение посредством внутрикадрового прогнозирования и выводит сформированное таким способом прогнозируемое изображение в сумматор 15.
С другой стороны, если на этапе S7 определено, что изображение не кодировано внутрикадровым способом, т.е. изображение кодировано межкадровым способом, тогда на этапе S9 схема 21 прогнозирования/компенсации движения выполняет процедуру прогнозирования/компенсации движения. Прогнозируемое изображение, сформированное посредством выполнения этой процедуры прогнозирования/компенсации движения, передают в сумматор 15. Ниже процедура прогнозирования/компенсации движения будет описана со ссылками на логическую схему, показанную на фиг.10.
На этапе S10 схема 31 управления определяет, была ли описанная выше процедура выполнена на макроблоках в одном полном кадре. Если схема 31 управления определила, что процедура не была выполнена для всех макроблоков одного полного кадра, снова повторяют процесс от этапа S1 для другого макроблока.
С другой стороны, если на этапе S10 будет определено, что процедура была выполнена на всех макроблоках одного полного кадра, тогда на этапе S11 буфер 17 перестановок выводит сформированный кадр в цифро-аналоговый преобразователь 18 по команде схемы 31 управления.
На этапе S12 ЦАП 18 выполняет цифро-аналоговое преобразование кадра, поступившего из буфера 17 перестановок, и выводит аналоговый сигнал. Описанную выше процедуру выполняют для индивидуальных кадров.
Далее процедура прогнозирования/компенсации движения, выполняемая на этапе S9, показанном на фиг.9, будет описана со ссылками на логическую схему, представленную на фиг.10.
На этапе S21 схема 41 определения режима прогнозирования из состава схемы 21 прогнозирования/компенсации движения определяет, указывает ли идентификационный флаг, поступивший от декодера 12 без потерь, что обработку следует производить в режиме прогнозирования с фильтрацией.
Если на этапе S21 определено, что идентификационный флаг не указывает, что обработку следует производить в режиме прогнозирования с фильтрацией, тогда на этапе S22 выполняют однонаправленное или двунаправленное прогнозирование и генерируют прогнозируемое изображение.
Таким образом, если идентификационный флаг указывает, что обработку данных следует производить в режиме однонаправленного прогнозирования, векторы движения передают из схемы 41 определения режима прогнозирования в схему 42 однонаправленного прогнозирования, и схема 42 однонаправленного прогнозирования осуществляет однонаправленное прогнозирование. Кроме того, если идентификационный флаг указывает, что обработку данных следует производить в режиме двунаправленного прогнозирования, векторы движения передают из схемы 41 определения режима прогнозирования в схему 43 двунаправленного прогнозирования, и схема 43 двунаправленного прогнозирования осуществляет двунаправленное прогнозирование. После вывода прогнозируемого изображения в сумматор 15 процесс возвращается к этапу S9, показанному на фиг.9, и выполняется дальнейшая обработка данных.
С другой стороны, если на этапе S21 определено, что идентификационный флаг указывает, что обработку данных следует производить в режиме прогнозирования с фильтрацией, тогда на этапе S23 схема 44 прогнозирования выделяет изображение с компенсацией движения из каждого из нескольких опорных кадров и передает эти изображения с компенсацией движения в схему 45 фильтрации. Векторы движения поступают от схемы 41 определения режима прогнозирования в схему 44 прогнозирования, где выделение изображений с компенсацией движения происходит с использованием этих векторов.
На этапе S24 схема 51 вычисления разности в схеме 45 фильтрации вычисляет разность между изображением МС0 с компенсацией движения и изображением MC1 с компенсацией движения и выводит разностное изображение в фильтр 52 нижних частот.
На этапе S25 фильтр 52 нижних частот осуществляет фильтрацию нижних частот в разностном изображении, поступившем от схемы 51 вычисления разности, и выводит полученное изображение в схему 53 регулировки коэффициента передачи и в фильтр 54 верхних частот.
На этапе S26 схема 53 регулировки коэффициента передачи подстраивает коэффициент передачи изображения, поступающего от фильтра 52 нижних частот, и выводит изображение с подстроенным коэффициентом передачи в сумматор 56.
На этапе S27 фильтр 54 верхних частот осуществляет фильтрацию верхних частот в разностном изображении, поступающем от фильтра 52 нижних частот, и выводит полученное изображение в схему 55 регулировки коэффициента передачи.
На этапе S28 схема 55 регулировки коэффициента передачи подстраивает коэффициент передачи разностного изображения, поступающего от фильтра 54 верхних частот, и выводит изображение с подстроенным коэффициентом передачи в сумматор 56.
На этапе S29 сумматор 56 осуществляет суммирование изображения, поступающего от схемы 53 регулировки коэффициента передачи, и изображения, поступающего от схемы 55 регулировки коэффициента передачи, для получения высокочастотных составляющих изображения. Полученные высокочастотные составляющие подают из сумматора 56 в сумматор 57.
На этапе S30 сумматор 57 осуществляет суммирование изображения, поступающего от сумматора 56, (высокочастотная составляющая) с изображением МС0 с компенсацией движения и выводит полученное изображение в качестве прогнозируемого изображения в сумматор 15. После этого процесс возвращается к этапу S9, показанному на фиг.9, и выполняется последующая обработка.
Таким образом, декодирование осуществляется с использованием прогнозируемого изображения, генерируемого посредством прогнозирования с фильтрацией, что делает возможным получение декодированного изображения с высоким разрешением.
Далее будут рассмотрены конфигурация и работа устройства на кодирующей стороне.
Фиг.11 представляет блок-схему, иллюстрирующую пример конфигурации кодирующего устройства 101. Информация о сжатом изображении, получаемая в результате кодирования в кодирующем устройстве 101, поступает на вход декодирующего устройства 1, показанного на фиг.3.
Аналого-цифровой преобразователь 111 (АЦП) выполняет аналого-цифровое преобразование входного сигнала и передает изображение в буфер 112 перестановок.
Буфер 112 перестановок осуществляет перестановку кадров в соответствии с GOP-структурой (группа кадров) информации о сжатом изображении и передает изображение в виде некоторых единиц, таких как макроблоки. Выходное изображение из буфера 112 перестановок поступает в сумматор 113, схему 123 определения режима, схему 125 прогнозирования/компенсации движения и схему 126 внутрикадрового прогнозирования.
Сумматор 113 определяет разность между изображением, поступающим от буфера 112 перестановок, и прогнозируемым изображением, генерируемым схемой 125 прогнозирования/компенсации движения или схемой 126 внутрикадрового прогнозирования и поступающим через переключатель 127, и выводит остаточную погрешность в схему 114 ортогонального преобразования. Чем ближе прогнозируемое изображение к оригинальному изображению и чем меньше указанная остаточная погрешность, тем меньше объем кода, который следует назначить остаточной погрешности, и потому тем выше эффективность кодирования.
Схема 114 ортогонального преобразования осуществляет ортогональное преобразование, такое как дискретное косинусное преобразование или преобразование Карунена-Лоэва, остаточной погрешности, поступающей от сумматора 113, и выводит коэффициент преобразования, полученный в результате такого ортогонального преобразования, в схему 115 квантования.
Схема 115 квантования выполняет квантование коэффициента преобразования, поступающего от схемы 114 ортогонального преобразования, в соответствии с командами схемы 118 управления частотой дискретизации и выводит квантованный коэффициент преобразования на выход. Коэффициент преобразования, квантованный в схеме 115 квантования, поступает в схему 116 кодирования без потерь и в схему 119 деквантования.
Схема 116 кодирования без потерь сжимает коэффициент преобразования, поступивший от схемы 115 квантования, путем выполнения кодирования без потерь, такого как кодирование в коде переменной длины или арифметическое кодирование, и выводит информацию в промежуточный буфер 117.
Кроме того, схема 116 кодирования без потерь устанавливает значение идентификационного флага в соответствии с информацией, поступающей от схемы 123 определения режима, и вставляет этот идентификационный флаг в заголовок изображения. Как описано выше, декодирующее устройство 1 определяет режим прогнозирования на основе идентификационного флага, описанного схемой 116 кодирования без потерь.
Схема 116 кодирования без потерь описывает также информацию, поступающую от схемы 125 прогнозирования/компенсации движения или от схемы 126 внутрикадрового прогнозирования, в заголовке изображения. Векторы движения и другая подобная информация, определяемые при выполнении межкадрового прогнозирования, поступают от схемы 125 прогнозирования/компенсации движения, а информация, относящаяся к применению внутрикадрового прогнозирования, поступает от схемы 126 внутрикадрового прогнозирования.
Промежуточный буфер 117 временно сохраняет информацию, поступающую от схемы 116 кодирования без потерь, и выводит эту информацию в виде информации сжатого изображения в определенные моменты времени. Промежуточный буфер 117 передает информацию об объеме сформированного кода в схему 118 управления частотой дискретизации.
Схема 118 управления частотой дискретизации вычисляет масштаб квантования на основе объема кода с выхода промежуточного буфера 117 и управляет схемой 115 квантования таким образом, чтобы квантование выполнялось в соответствии с вычисленным масштабом.
Схема 119 деквантования осуществляет деквантование коэффициента преобразования, квантованного схемой 115, и выводит коэффициент преобразования в схему 120 обратного ортогонального преобразования.
Схема 120 обратного ортогонального преобразования осуществляет такое обратное ортогональное преобразование для коэффициента преобразования, приходящего от схемы 119 деквантования, и выводит полученное изображение в деблокирующий фильтр 121.
Деблокирующий фильтр 121 устраняет блочные шумы, появляющиеся в локально декодированном изображении, и выводит изображение, из которого были устранены эти блочные шумы в память 122 кадров.
Память 122 кадров записывает изображение, поступающее от деблокирующего фильтра 121. Это изображение, записанное в памяти 122 кадров, считывает по мере необходимости схема 123 определения режима.
Схема 123 определения режима определяет, следует ли выполнять внутрикадровое кодирование или межкадровое кодирование, на основе изображения, записанного в памяти 122 кадров, и оригинального изображения, поступающего из буфера 112 перестановок. Кроме того, если схема 123 определения режима определит, что следует выполнять межкадровое кодирование, в этом случае схема 123 определения режима выбирает один из режимов - режим однонаправленного прогнозирования, режим двунаправленного прогнозирования или режим прогнозирования с фильтрацией. Схема 123 определения режима передает информацию, указывающую результаты определения, в схему 116 кодирования без потерь в качестве информации о режиме.
Если схема 123 определения режима определит, что следует выполнять межкадровое кодирование, в этом случае схема 123 определения режима передает кадр, записанный в памяти 122 кадров, и кадр, полученный в результате локального декодирования, в схему 125 прогнозирования/компенсации движения через переключатель 124.
Кроме того, если схема 123 определения режима определит, что следует выполнять внутрикадровое кодирование, в этом случае схема 123 определения режима передает кадр, записанный в памяти 122 кадров, и кадр, полученный в результате локального декодирования, в схему 126 внутрикадрового прогнозирования.
Переключатель 124 соединяется с клеммой а11 , когда следует выполнять межкадровое кодирование, и соединяется с клеммой b11, когда следует выполнять внутрикадровое кодирование. Работой переключателя 124 управляет, например, схема 131 управления.
Схема 125 прогнозирования/компенсации движения определяет векторы движения на основе оригинального изображения, поступающего от буфера 112 перестановок, и опорных кадров, считываемых из памяти 122 кадров, и выводит найденные векторы движения в схему 116 кодирования без потерь. Кроме того, схема 125 прогнозирования/компенсации движения выполняет компенсацию движения с использованием найденных векторов движения и опорных кадров для генерации прогнозируемого изображения и выводит сформированное прогнозируемое изображения в сумматор 113 через переключатель 127.
Схема 126 внутрикадрового прогнозирования осуществляет такое внутрикадровое прогнозирование на основе оригинального изображения, поступающего от буфера 112 перестановок, и опорных кадров, локально декодированных и записанных в памяти 122 кадров, и генерирует прогнозируемое изображение. Схема 126 внутрикадрового прогнозирования передает сформированное прогнозируемое изображение в сумматор 113 через переключатель 127 и передает информацию о режиме внутрикадрового прогнозирования в схему 116 кодирования без потерь.
Переключатель 127 соединяется с клеммой a12 или с клеммой b12 и выводит прогнозируемое изображение, генерируемое схемой 125 прогнозирования/компенсации движений или схемой 126 внутрикадрового прогнозирования, в сумматор 113.
Схема 131 управления переключает соединения переключателей 124 и 127 в соответствии с режимом, найденным схемой 123 определения режима, и управляет всей работой кодирующего устройства 101.
Фиг.12 представляет блок-схему, иллюстрирующую пример конфигурации схемы 123 определения режима, показанной на фиг.11.
Как показано на фиг.12, схема 123 определения режима составлена из схемы 141 внутрикадрового прогнозирования, схемы 142 межкадрового прогнозирования, схемы 143 вычисления погрешности прогнозирования и схемы 144 определения. В схеме 123 определения режима внутрикадровое прогнозирование и межкадровое прогнозирование осуществляют блоками, размеры которых отличаются один от другого, а в каком именно режиме следует производить прогнозирование, определяют на основе полученного результата. В случае межкадрового прогнозирования обработку выполняют в каждом из режимов прогнозирования, т.е. в режиме однонаправленного прогнозирования, режиме двунаправленного прогнозирования и в режиме прогнозирования с фильтрацией. Изображение оригинала, поступающее от буфера 112 перестановок, вводят в схему 141 внутрикадрового прогнозирования, схему 142 межкадрового прогнозирования и схему 143 вычисления погрешности прогнозирования.
Схема 141 внутрикадрового прогнозирования осуществляет внутрикадровое прогнозирование блоками, размеры которых отличаются один от другого, на основе оригинального изображения и изображения, считываемого из памяти 122 кадров, и передает сформированное прогнозируемое изображение в схему 143 вычисления погрешности прогнозирования. Подсхема 151-1 прогнозирования в формате 4×4 осуществляет внутрикадровое прогнозирование блоками размером 4×4 пикселов, а подсхема 151-2 прогнозирования в формате 8×8 осуществляет внутрикадровое прогнозирование блоками размером 8×8 пикселов. Подхема 151-3 прогнозирования в формате 16×16 осуществляет внутрикадровое прогнозирование блоками размером 16×16 пикселов.
Схема 161 прогнозирования в составе схемы 142 межкадрового прогнозирования определяет векторы движения в единицах блоков, размеры которых отличаются один от другого, на основе оригинального изображения и опорных кадров, считываемых из памяти 122 кадров. Кроме того, схема 161 прогнозирования выполняет компенсацию движения на основе найденных векторов движения и выводит изображения с компенсацией движения, используемые для генерации прогнозируемого изображения.
В подсхеме 161-1 прогнозирования в формате 16×16 осуществляется обработка изображения в единицах блоков размером 16×16 пикселов. В подсхеме 161-2 прогнозирования в формате 16×8 осуществляется обработка изображения в единицах блоков размером 16×8 пикселов. Кроме того, в подсхеме 161-(n-1) прогнозирования в формате 4×4 осуществляется обработка изображения в единицах блоков размером 4×4 пикселов. В подсхеме 161-n прогнозирования с пропусками/прямого прогнозирования векторы движения определяют в режиме прогнозирования с пропусками или в режиме прямого прогнозирования и выполняют компенсацию движения с использованием найденных векторов движения.
Изображения с компенсацией движения, выделенные из нескольких опорных кадров, расположенных в одном направлении относительно текущего кадра, поступают от соответствующих подсхем схемы 161 прогнозирования в схему 162 однонаправленного прогнозирования. Изображения с компенсацией движения, выделенные из нескольких опорных кадров, расположенных в двух направлениях относительно текущего кадра, поступают от соответствующих подсхем схемы 161 прогнозирования в схему 163 двунаправленного прогнозирования.
Если нужно произвести прогнозирование с фильтрацией с использованием, как описано выше, изображений с компенсацией движения, выделенных из нескольких опорных кадров, расположенных в одном направлении, эти изображения с компенсацией движения, выделенные из нескольких опорных кадров, расположенных в одном направлении, направляют из соответствующих подсхем схемы прогнозирования 161 в схему 164 фильтрации. Если нужно произвести прогнозирование с фильтрацией с использованием изображений с компенсацией движения, выделенных из нескольких опорных кадров, расположенных в двух направлениях, эти изображения с компенсацией движения, выделенные из нескольких опорных кадров, расположенных в двух направлениях, направляют из соответствующих подсхем схемы прогнозирования 161 в схему 164 фильтрации.
Схема 162 однонаправленного прогнозирования осуществляет однонаправленное прогнозирование с использованием изображений с компенсацией движения, отличающихся по размерам одно от другого и поступающих от соответствующих подсхем схемы 161 прогнозирования, генерируя тем самым прогнозируемое изображение, и передает сформированное прогнозируемое изображение в схему 143 вычисления погрешности прогнозирования. Например, схема 162 однонаправленного прогнозирования генерирует прогнозируемое изображение с использованием величин пикселов одного изображения из совокупности нескольких изображений с компенсацией движения размером 16×16 пикселов, поступающих от подсхемы 161-1 прогнозирования, в качестве величин пикселов прогнозируемого изображения.
Схема 163 двунаправленного прогнозирования выполняет двунаправленное прогнозирование с использованием изображений с компенсацией движения, отличающихся по размеру одно от другого и поступающих от соответствующих подсхем схемы 161 прогнозирования, генерируя тем самым прогнозируемое изображение, и передает сформированное прогнозируемое изображение в схему 143 вычисления погрешности прогнозирования. Например, схема 163 двунаправленного прогнозирования генерирует прогнозируемое изображение с использованием средних значений величин пикселов нескольких изображений с компенсацией движения размером 16×16 пикселов, поступающих от подсхемы 161-1 прогнозирования, в качестве величин пикселов прогнозируемого изображения.
Схема 164 фильтрации выполняет прогнозирование с фильтрацией с использованием каждого из изображений с компенсацией движения, отличающихся по размеру одно от другого и поступающих от соответствующих подсхем схемы 161 прогнозирования, генерируя тем самым прогнозируемое изображение, и передает сформированное прогнозируемое изображение в схему 143 вычисления погрешности прогнозирования. Схема 164 фильтрации соответствует схеме 45 фильтрации в декодирующем устройстве 1 и имеет такую же конфигурацию, как показано на фиг.8.
Например, при генерации прогнозируемого изображения для изображений МС0 и MC1 с компенсацией движения по 16×16 пикселов каждое, поступающих от подсхемы 161-1 прогнозирования, схема 164 фильтрации определяет разность между этими изображениями МС0 и MC1 с компенсацией движения и осуществляет фильтрацию нижних частот в полученном разностном изображении. Кроме того, схема 164 фильтрации осуществляет фильтрацию верхних частот в выходном сигнале после фильтрации нижних частот и суммирует выходное изображение после фильтрации верхних частот с подстроенным коэффициентом передачи и выходное изображение после фильтрации нижних частот с подстроенным коэффициентом передачи. Схема 164 фильтрации суммирует изображение, полученное в результате указанного выше суммирования и представляющее высокочастотные составляющие, с изображением МС0 с компенсацией движения, генерируя тем самым прогнозируемое изображение, и выводит сформированное прогнозируемое изображение в схему 143 вычисления погрешности прогнозирования.
Схема 143 вычисления погрешности прогнозирования определяет разности между оригинальным изображением и соответствующими прогнозируемыми изображениями, поступающими от соответствующих схем в составе схемы 141 внутрикадрового прогнозирования, и выводит сигнал остаточной погрешности, представляющий полученные разности, в схему 144 определения. Кроме того, схема 143 вычисления погрешности прогнозирования определяет разности между оригинальным изображением и соответствующими прогнозируемыми изображениями, поступающими от схемы 162 однонаправленного прогнозирования, схемы 163 двунаправленного прогнозирования и схемы 164 фильтрации в схему 142 межкадрового прогнозирования, и выводит сигнал остаточной погрешности, представляющий полученные разности, в схему 144 определения.
Схема 144 определения измеряет интенсивности сигналов остаточной погрешности, приходящих от схемы 143 вычисления погрешности прогнозирования, и выбирает способ прогнозирования, используемый для генерации прогнозируемого изображения, характеризуемого небольшой разностью относительно оригинального изображения, в качестве способа прогнозирования для генерации прогнозируемого изображения с целью применения при кодировании. Схема 144 определения выводит информацию, представляющую результаты выбора и являющуюся информацией о режиме, в схему 116 кодирования без потерь. Эта информация о режиме включает также информацию, представляющую размер блока, используемого в качестве единицы обработки, и т.п.
Кроме того, когда схема 144 определения установит, что прогнозируемое изображение следует генерировать способом межкадрового прогнозирования (определит, что следует выполнять межкадровое кодирование), эта схема 144 определения выводит опорные кадры, считываемые из памяти 122 кадров, в схему 125 прогнозирования/компенсации движения вместе с информацией о режиме. Если схема 144 определения установит, что прогнозируемое изображение следует генерировать способом внутрикадрового прогнозирования (определит, что следует выполнять внутрикадровое кодирование), эта схема 144 определения выводит используемые для внутрикадрового прогнозирования опорные изображения, считываемые из памяти 122 кадров, в схему 126 внутрикадрового прогнозирования вместе с информацией о режиме.
Фиг.13 представляет блок-схему, иллюстрирующую пример конфигурации схемы 125 прогнозирования/компенсации движения, показанной на фиг.11.
Как показано на фиг.13, схема 125 прогнозирования/компенсации движения составлена из схемы 181 определения векторов движения, схемы 182 однонаправленного прогнозирования, схемы 183 двунаправленного прогнозирования, схемы 184 прогнозирования и схемы 185 фильтрации. Схема 125 прогнозирования/компенсации движения имеет конфигурацию, аналогичную схеме 21 прогнозирования/компенсации движения, показанной на фиг.5, за исключением того, что вместо схемы 41 определения режима прогнозирования присутствует схема 181 определения векторов движения.
Схема 181 определения векторов движения выполняет такое определение вектора движения посредством сравнения блоков или подобных объектов на основе оригинального изображения, поступающего от буфера 112 перестановок, и опорных кадров, поступающих от схемы 123 определения режима. Схема 181 определения векторов движения сверяется с информацией, поступающей от схемы 123 определения режима, и выводит векторы движения вместе с опорными кадрами в одну из схем - схему 182 однонаправленного прогнозирования, схему 183 двунаправленного прогнозирования или схему 184 прогнозирования с фильтрацией.
Схема 181 определения векторов движения выводит векторы движения вместе с опорными кадрами в схему 182 однонаправленного прогнозирования, если был выбран способ однонаправленного прогнозирования, и выводит эти фрагменты информации в схему 183 двунаправленного прогнозирования, если был выбран способ двунаправленного прогнозирования. Схема 181 определения векторов движения выводит эти векторы движения вместе с опорными кадрами в схему 184 прогнозирования с фильтрацией, если был выбран способ прогнозирования с фильтрацией.
Аналогично схеме 42 однонаправленного прогнозирования, показанной на фиг.5, схема 182 однонаправленного прогнозирования генерирует прогнозируемое изображение, выполняя однонаправленное прогнозирование. Эта схема 182 однонаправленного прогнозирования выводит сформированное ею прогнозируемое изображение сумматору 113.
Аналогично схеме 43 двунаправленного прогнозирования, показанной на фиг.5, схема 183 двунаправленного прогнозирования генерирует прогнозируемое изображение, выполняя двунаправленное прогнозирование. Эта схема 183 двунаправленного прогнозирования выводит сформированное ею прогнозируемое изображение сумматору 113.
Аналогично схеме 44 прогнозирования, показанной на фиг.5, схема 184 прогнозирования выделяет изображения с компенсацией движения из нескольких (например, двух) опорных кадров и выводит эти несколько выделенных изображений с компенсацией движения в схему 185 фильтрации.
Аналогично схеме 45 фильтрации, показанной на фиг.5, схема 185 фильтрации генерирует прогнозируемое изображение посредством прогнозирования с фильтрацией. Эта схема 185 фильтрации передает сформированное прогнозируемое изображение в сумматор 113. Отметим, что схема 185 фильтрации имеет конфигурацию, аналогичную конфигурации схемы 45 фильтрации, показанной на фиг.8. В дальнейшем конфигурация схемы 185 фильтрации будет описана с использованием подходящих ссылок на конфигурацию схемы 45 фильтрации, показанную на фиг.8.
Прогнозируемое изображение, сформированное посредством прогнозирования с фильтрацией, может включать большой объем высокочастотных составляющих по сравнению с прогнозируемым изображением, генерируемым посредством однонаправленного прогнозирования или двунаправленного прогнозирования, и иметь небольшую разность относительно оригинального изображения. Поэтому объем кода, назначаемого остаточной погрешности, оказывается небольшим, что позволяет повысить эффективность кодирования.
Кроме того, такое прогнозирование с фильтрацией может быть выполнено, когда число опорных кадров равно по меньшей мере двум, и таким образом, подобное повышение эффективности кодирования может быть реализовано без увеличения сложности обработки данных. Например, остаточную погрешность относительно оригинального изображения можно уменьшить и эффективность кодирования можно повысить посредством генерации прогнозируемого изображения с высокой точностью при большом числе опорных кадров, применяемых для межкадрового прогнозирования, и использования такого сформированного изображения. Однако в этом случае сложность обработки повышается, поскольку число применяемых опорных кадров становится большим.
Отметим, что когда нужно выбрать способ прогнозирования, к интенсивности сигнала остаточной погрешности может быть добавлен весовой коэффициент, соответствующий объему кода и определяемый с учетом объема кода информации, такой как векторы движения, необходимые для прогнозирования, и режима кодирования, и путем суммирования весового коэффициента, соответствующего объему кода, так что оказывается выбран оптимальный способ прогнозирования. Соответственно, можно еще больше повысить эффективность кодирования. Кроме того, для упрощения процедуры кодирования можно адаптивно выбрать способ прогнозирования с использованием значения признака входного оригинального изображения в направлении оси времени и в пространственных направлениях.
Далее будет рассмотрен принцип действия кодирующего устройства 101, имеющего описанную выше конфигурацию.
Процедура кодирования в кодирующем устройстве 101 будет описана со ссылками на логическую схему, приведенную на фиг.14. Эта процедура начинается, когда изображение некоторой единицы, например макроблока, поступает с выхода буфера 112 перестановок.
На этапе S51 сумматор 113 определяет разность между изображением, поступающим от буфера 112 перестановок, и прогнозируемым изображением, генерируемым в схеме 125 прогнозирования/компенсации движения или в схеме 126 внутрикадрового прогнозирования, и выводит остаточную погрешность в схему 114 ортогонального преобразования.
На этапе S52 схема 114 ортогонального преобразования осуществляет ортогональное преобразование остаточной погрешности, поступающей от сумматора 113, и выводит коэффициент преобразования в схему 115 квантования.
На этапе S53 схема квантования 115 выполняет квантование коэффициента преобразования, поступающего от схемы 114 ортогонального преобразования, и выводит квантованный коэффициент преобразования на выход.
На этапе S54 схема 119 деквантования осуществляет деквантование коэффициента преобразования, квантованного схемой 115 квантования, и выводит этот коэффициент преобразования в схему 120 обратного ортогонального преобразования.
На этапе S55 схема 120 обратного ортогонального преобразования осуществляет обратное ортогональное преобразование для коэффициента преобразования, поступающего от схемы деквантования 119, и выводит полученное изображение в деблокирующий фильтр 121.
На этапе S56 деблокирующий фильтр 121 выполняет фильтрацию для устранения блочных шумов и выводит изображение, из которого были устранены блочные шумы, в память 122 кадров.
На этапе S57 память 122 кадров записывает изображение, получаемое от деблокирующего фильтра 121.
На этапе S58 схема 123 определения режима выполняет процедуру определения режима. В процессе выполнения этой процедуры определения режима происходит определение режима, в котором следует генерировать прогнозируемое изображение. Эта процедура определения режима будет описана ниже со ссылками на логическую схему, показанную на фиг.15.
На этапе S59 схема 131 управления определяет, следует ли выполнять внутрикадровое прогнозирование, на основе результата работы схемы 123 определения режима.
Если на этапе S59 определено, что следует выполнить внутрикадровое прогнозирование, тогда схема 126 внутрикадрового прогнозирования осуществляет такое внутрикадровое прогнозирование на этапе S60 и выводит прогнозируемое изображение сумматору 113.
С другой стороны, если на этапе S59 определено, что внутрикадровое прогнозирование производить не требуется, т.е. следует выполнить межкадровое прогнозирование, тогда схема 125 прогнозирования/компенсации движения осуществляет такое прогнозирование/компенсацию движения на этапе S61 и выводит прогнозируемое изображение сумматору 113. Эта процедура прогнозирования/компенсации движения будет описана ниже со ссылками на логическую схему, показанную на фиг.16.
На этапе S62 схема 116 кодирования без потерь сжимает коэффициент преобразования, поступивший от схемы 115 квантования, и выводит его в промежуточный буфер 117. Кроме того, схема 116 кодирования без потерь описывает идентификационный флаг в заголовке изображения в соответствии с информацией, поступившей от схемы 123 определения режима, или описывает вектор движения, поступивший от схемы 125 прогнозирования/компенсации движения, в заголовке этого изображения.
На этапе S63 промежуточный буфер 117 временно сохраняет информацию, поступающую от схемы 116 кодирования без потерь.
На этапе S64 схема управления 131 определяет, была ли выполнена изложенная выше процедура для всех макроблоков одного полного кадра. Если определено, что эта процедура еще не была выполнена для всех макроблоков одного полного кадра, вновь осуществляют процедуру для другого макроблока, начиная с этапа S51.
С другой стороны, если на этапе S64 определено, что процедура уже была выполнена для всех макроблоков одного полного кадра, тогда промежуточный буфер 117 передает сжатую информацию изображения в соответствии с командами от схемы 131 управления на этапе S65. Изложенную выше процедуру выполняют для индивидуального кадра.
Далее, процедура определения режима, выполняемая на этапе S58, показанном на фиг.14, будет описана со ссылками на логическую схему, представленную на фиг.15.
На этапе S81 схема 141 внутрикадрового прогнозирования и схема 142 межкадрового прогнозирования осуществляют внутрикадровое прогнозирование и межкадровое прогнозирование, соответственно, для блоков, отличающихся по размеру один от другого, генерируя тем самым прогнозируемые изображения. Сформированные прогнозируемые изображения поступают в схему 143 вычисления погрешности прогнозирования.
На этапе S82 схема 143 вычисления погрешности прогнозирования определяет разности между оригинальным изображением и соответствующими прогнозируемыми изображениями, поступающими от соответствующих схем в схеме 141 внутрикадрового прогнозирования и от схемы 162 однонаправленного прогнозирования, схемы 163 двунаправленного прогнозирования и схемы 164 фильтрации в составе схемы 142 межкадрового прогнозирования. Схема 143 вычисления погрешности прогнозирования выводит сигнал остаточной погрешности в схему 144 определения.
На этапе S83 схема 144 определения выполняет определение способа прогнозирования для генерации прогнозируемого изображения с целью передачи в сумматор 113 на основе интенсивности сигнала остаточной погрешности, поступающего от схемы 143 вычисления погрешности прогнозирования.
На этапе S84 схема 144 определения выводит информацию о режиме, представляющую собой информацию о выбранном способе прогнозирования, в схему 116 кодирования без потерь. После этого, процесс возвращается к этапу S58, показанному на фиг.14, и выполняет последующие операции обработки.
Далее, процедура прогнозирования/компенсации движения, выполняемая на этапе S61, показанном на фиг.14, будет описана со ссылками на логическую схему, представленную на фиг.16.
На этапе S91 схема 181 определения вектора движения оценивает векторы движения на основе оригинального изображения и опорных кадров.
На этапе S92 схема 181 определения вектора движения проверяет, определила ли схема 123 определения режима, что обработку следует выполнять в режиме прогнозирования с фильтрацией.
Если на этапе S92 выяснилось, что не установлено, что обработку следует производить в режиме прогнозирования с фильтрацией, тогда на этапе S93 выполняют однонаправленное прогнозирование или двунаправленное прогнозирование и генерируют прогнозируемое изображение.
А именно, если было определено, что обработку следует выполнять в режиме однонаправленного прогнозирования, векторы движения передают из схемы 181 определения вектора движения в схему 182 однонаправленного прогнозирования и осуществляют однонаправленное прогнозирование в схеме 182 однонаправленного прогнозирования. Кроме того, если было определено, что обработку следует выполнять в режиме двунаправленного прогнозирования, векторы движения передают из схемы 181 определения вектора движения в схему 183 двунаправленного прогнозирования и осуществляют двунаправленное прогнозирование в схеме 183 двунаправленного прогнозирования. После того, как прогнозируемое изображение будет передано в сумматор 113, процедура возвращается к этапу S61, представленному на фиг.14, и производит последующую обработку.
С другой стороны, если на этапе S92 было определено, что обработку следует производить в режиме прогнозирования с фильтрацией, тогда схема 184 прогнозирования выделяет изображения с компенсацией движения из нескольких опорных кадров и передает эти изображения с компенсацией движения в схему 185 фильтрации на этапе S94. Векторы движения передают из схемы 181 определения векторов движения в схему 184 прогнозирования и выделяют изображения с компенсацией движения с использованием этих векторов.
На этапе S95 схема 51 вычисления разности (фиг.8) в составе схемы 185 фильтрации вычисляет разность между изображением МС0 с компенсацией движения и изображением MC1 с компенсацией движения и выводит разностное изображение в фильтр 52 нижних частот.
На этапе S96 фильтр 52 нижних частот из состава схемы 185 фильтрации осуществляет фильтрацию нижних частот в разностном изображении, поступающем от схемы 51 вычисления разности, и выводит полученное изображение в схему 53 регулировки коэффициента передачи и в фильтр 54 верхних частот.
На этапе S97 схема 53 регулировки коэффициента передачи в составе схемы 185 фильтрации подстраивает коэффициент передачи разностного изображения, поступающего от фильтра 52 нижних частот, и выводит изображение с подстроенным коэффициентом передачи в сумматор 56.
На этапе S98 фильтр 54 верхних частот из состава схемы 185 фильтрации осуществляет фильтрацию верхних частот в разностном изображении, поступающем от фильтра 52 нижних частот, и выводит полученное изображение в схему 55 регулировки коэффициента передачи.
На этапе S99 схема 55 регулировки коэффициента передачи в составе схемы 185 фильтрации подстраивает коэффициент передачи изображения, поступающего от фильтра 54 верхних частот, и выводит изображение с подстроенным коэффициентом передачи в сумматор 56.
На этапе S100 сумматор 56 из состава схемы 185 фильтрации суммирует изображение, поступающее от схемы 53 регулировки коэффициента передачи, и изображение, поступающее от схемы 55 регулировки коэффициента передачи, для получения высокочастотных составляющих. Найденные высокочастотные составляющие поступают из сумматора 56 в сумматор 57.
На этапе S101 сумматор 57 из состава схемы 185 фильтрации суммирует изображение, поступающее от сумматора 56, (высокочастотные составляющие) с изображением МС0 с компенсацией движения и выводит полученное изображение в сумматор 113 в качестве прогнозируемого изображения. После этого процедура возвращается к этапу S61, показанному на фиг.14, и осуществляется последующая обработка.
Таким образом, кодирование выполняют с использованием прогнозируемого изображения, генерируемого посредством прогнозирования с фильтрацией, что делает возможным повысить эффективность кодирования.
В приведенном выше описании схемы 45 и 185 фильтрации имеют конфигурацию, показанную на фиг.8, однако эту конфигурацию можно при необходимости изменить.
Фиг.17 представляет блок-схему, иллюстрирующую другой пример конфигурации схемы 45 фильтрации. Элементам конфигурации, соответствующим элементам конфигурации, показанным на фиг.8, присвоены те же самые цифровые позиционные обозначения. Избыточное описание будет, где это возможно, опущено.
Схема 51 вычисления разности, показанная на фиг.17, вычисляет разность между изображением МС0 с компенсацией движения и изображением MC1 с компенсацией движения и выводит разностное изображение в фильтр 52 нижних частот.
Фильтр 52 нижних частот осуществляет фильтрацию нижних частот в разностном изображении, поступающем от схемы 51 вычисления разности, и выводит полученное изображение в сумматор 57.
Сумматор 57 выполняет суммирование изображения, поступающего от фильтра 52 нижних частот, с изображением МС0 с компенсацией движения и выводит полученное изображение в качестве прогнозируемого изображения.
При использовании конфигурации, представленной на фиг.17, объем обработки может быть уменьшен по сравнению с вариантом, применяющим конфигурацию, показанную на фиг.8, так что можно реализовать работу с высокой скоростью.
Фиг.18 представляет блок-схему, иллюстрирующую еще один пример конфигурации схемы 45 фильтрации. Элементам конфигурации, соответствующим элементам конфигурации, показанным на фиг.8, присвоены те же самые цифровые позиционные обозначения. Избыточное описание будет, где это возможно, опущено.
В схеме 45 фильтрации, показанной на фиг.18, фильтрацию применяют не к сигналу во временной области, а к сигналу в частотной области. Оба варианта схемы 45 фильтрации, представленные на фиг.8 и 17, выполняют фильтрацию сигнала во временной области.
Схема 51 вычисления разности, показанная на фиг.18, вычисляет разность между изображением МС0 с компенсацией движения и изображением MC 1 с компенсацией движения и выводит разностное изображение в схему 201 ортогонального преобразования.
Схема 201 ортогонального преобразования выполняет над разностным изображением ортогональное преобразование, представленное дискретным косинусным преобразованием (DCT), преобразованием Адамара и преобразованием Карунена-Лоэва (KLT), и выводит сигнал, полученный после ортогонального преобразования, в полосно-пропускающий фильтр 202. Выполнение ортогонального преобразования и осуществление фильтрации сигнала в частотной области позволяет более гибко реализовать фильтрацию с высокой точностью по сравнению с фильтрацией сигнала во временной области.
В случае применения дискретного косинусного преобразования (DCT) в качестве ортогонального преобразования выходной сигнал DF, получаемый после ортогонального преобразования, представлен следующим уравнением (10). В уравнении (10), DCT(X) представляет выполнение двумерного дискретного косинусного преобразования (DCT) над сигналом X.
Полосно-пропускающий фильтр 202 осуществляет фильтрацию выходного сигнала схемы 201 ортогонального преобразования и выводит сигнал в некотором диапазоне.
Схема 203 регулировки коэффициента передачи подстраивает коэффициент передачи выходного сигнала подоено-пропускающего фильтра 202 путем умножения его на коэффициент , а также выполняет регулировку частотных составляющих. Выходной сигнал XF схемы 203 регулировки коэффициента передачи представлен следующим уравнением (11). В уравнении (11) BPF(X) представляет выполнение попоено-пропускающей фильтрации сигнала X.
Схема 204 обратного ортогонального преобразования осуществляет обратное ортогональное преобразование с использованием алгоритма, соответствующего ортогональному преобразованию, выполняемому в схеме 201 ортогонального преобразования, для превращения сигнала в частотной области, поступающего от схемы 203 регулировки коэффициента передачи, в сигнал во временной области. Например, если схема 201 ортогонального преобразования использует дискретное косинусное преобразование (DCT) в качестве ортогонального преобразования, схема 204 обратного ортогонального преобразования выполняет обратное преобразование DCT (IDCT). Выходной сигнал Х схемы 204 обратного ортогонального преобразования, представлен следующим уравнением (12). В уравнении (12) IDCT(X) представляет выполнение двумерного обратного преобразования IDCT над сигналом X.
Сумматор 57 выполняет суммирование сигнала X, поступающего от схемы 204 обратного ортогонального преобразования, с изображением МС0 с компенсацией движения во временной области, и выводит полученное изображение в качестве прогнозируемого изображении. Прогнозируемое изображение S(i, j), представляющее собой окончательный выходной сигнал сумматора 57, представлено следующим уравнением (13).
Таким образом, прогнозируемое изображение с высокой точностью можно генерировать также путем выполнения фильтрации сигнала в частотной области.
Кроме того, в приведенном выше рассмотрении прогнозирование с фильтрацией осуществляется с использованием двух опорных кадров, однако в качестве опорных кадров могут быть использованы два или более кадров.
Фиг.19 представляет схему, иллюстрирующую пример случая, когда используют три опорных кадра.
В примере, показанном на фиг.19, если взять в качестве основы момент времени, соответствующий прогнозируемому кадру, то опорными кадрами служат кадр, предшествующий прогнозируемому кадру на один временной шаг, кадр, предшествующий прогнозируемому кадру на два временных шага, и кадр на три временных шага раньше прогнозируемого кадра. Ближайший к прогнозируемому кадру, предшествующий ему на один временной шаг кадр обозначен как опорный кадр R0 , кадр на один временной шаг раньше опорного кадра R0 обозначен как опорный кадр R1 и кадр на один временной шаг раньше опорного кадра R1 обозначен как опорный кадр R2.
Фиг.20 представляет блок-схему, иллюстрирующую пример конфигурации схемы фильтрации для случая, когда используют три опорных кадра.
Как показано на фиг.20, схема 211 фильтрации образована схемой 221 фильтрации и схемой 222 фильтрации. Каждая из этих схем 221 и 222 фильтрации имеет конфигурацию, показанную на фиг.8, 17 или 18. При этом схема 211 фильтрации конфигурирована для работы с тремя входами и одним выходом путем каскадного соединения схем 45 фильтрации, имеющих структуру с двумя входами и одним выходом.
Дальнейшее описание здесь будет дано в предположении, что изображением с компенсацией движения, выделенным из опорного кадра R0 , является изображение МС0 с компенсацией движения, изображением с компенсацией движения, выделенным из опорного кадра R1, является изображение MC1 с компенсацией движения и изображением с компенсацией движения, выделенным из опорного кадра R2, является изображение МС2 с компенсацией движения. Изображения MC1 и МС 2 с компенсацией движения поступают в схему 221 фильтрации, а изображение МС0 с компенсацией движения поступает в схему 222 фильтрации.
Схема 221 фильтрации осуществляет фильтрацию с использованием изображений MC1 и MC2 с компенсацией движения в качестве изображений МС0 и MC1 с компенсацией движения, показанных на фиг.8 и других, соответственно, и выводит промежуточный выходной сигнал X, являющийся результатом фильтрации, в схему 222 фильтрации.
Схема 222 фильтрации выполняет фильтрацию с использованием указанного промежуточного выходного сигнала Х и изображения МС 0 с компенсацией движения в качестве изображений МС 0 и MC1 с компенсацией движения, показанных на фиг.8 и других, соответственно, и выводит результат фильтрации на выход в качестве прогнозируемого изображения.
Можно также применить схему 211 фильтрации, обрабатывающую три таких опорных кадра, в декодирующем устройстве 1, показанном на фиг.3, или в кодирующем устройстве 101, показанном на фиг.11, вместо схемы 45 фильтрации.
Кроме того, схема 221 фильтрации и схема 222 фильтрации не обязательно должны иметь одинаковую конфигурацию, а их индивидуальные конфигурации могут отличаться одна от другой, так что, например, одна из них может иметь конфигурацию, показанную на фиг.8, а другая конфигурацию, представленную на фиг.17. Кроме того, можно также варьировать параметры фильтров, учитывая при этом характеристики ввода/вывода, полученные до и после фильтрации.
Схема 211 фильтрации может выполнять фильтрацию для изображений с компенсацией движения, выделенных из трех опорных кадров, расположенных в двух направлениях вдоль оси времени, а не для изображений с компенсацией движения, выделенных из опорных кадров, расположенных в одном направлении вдоль оси времени.
Отметим, что при использовании кадров, предшествующих прогнозируемому кадру и следующих за ним вдоль оси времени, в качестве опорных кадров, включая случай, описанный со ссылками на фиг.7, такой параметр, как коэффициент отвода, используемый для фильтрации, можно динамически изменять в зависимости от направления между опорными кадрами по оси времени или расстояния между этими кадрами.
Передачу сжатой информации изображения от кодирующего устройства 101 декодирующему устройству 1 осуществляют посредством различных носителей, включая носители записи, такие как оптические диски, магнитные диски, устройства флэш-памяти, системы спутникового вещания, кабельного телевидения, Интернет и сеть мобильной телефонной связи.
Теперь будет рассмотрена компенсация движения при прогнозировании с фильтрацией. Далее будут описаны конфигурация и принцип действия схемы 44 прогнозирования в декодирующем устройстве 1, передающей изображения с компенсацией движения в схему 45 фильтрации. Это описание применимо к показанной на фиг.12 схеме 161 прогнозирования и показанной на фиг.13 схеме 184 прогнозирования, которые передают изображения с компенсацией движения в схему фильтрации.
Компенсация движения для декодирования изображения, кодированного в соответствии со стандартом Н.264, осуществляется не в единицах макроблоков размером 16×16 пикселов, а в единицах блоков, полученных путем дальнейшего разбиения макроблоков. Это означает, что компенсацию движения выполняют, фокусируя внимание на индивидуальных блоках, полученных путем разбиения макроблока, подлежащего декодированию, и рассматривая величины соответствующих пикселов соответствующего блока в опорном кадре в качестве величин соответствующих пикселов в целевом блоке на основе вектора движения. Кроме того, в ходе описанного выше прогнозирования с фильтрацией такую процедуру фильтрации с использованием КИХ-фильтра осуществляют для изображения с компенсацией движения, полученного в результате выполнения указанной компенсации движения, в качестве входного изображения.
При этом, поскольку размер блока, используемого в качестве единицы для выполнения процедуры фильтрации, мал, его влияние нельзя игнорировать. Например, для генерации пикселов вблизи края прогнозируемого изображения, которое следует формировать посредством фильтрации, необходимо интерполировать пикселы изображения с компенсацией движения, являющегося входным изображением, в соответствии с числом отводов КИХ-фильтра (FIR).
Фиг.21. представляет схему, иллюстрирующую пример интерполяции пикселов.
Входное изображение размером 16×16 пикселов, показанное в верхней части фиг.21, представляет собой изображение с компенсацией движения, образованное путем сборки из индивидуальных блоков, полученных посредством компенсации движения. Выходное изображение размером 16×16 пикселов, показанное в нижней части фиг.21, представляет собой прогнозируемое изображение, образованное пикселами, путем выполнения фильтрации с использованием КИХ-фильтра для изображения с компенсацией движения, представленного в верхней части. Здесь предполагается, что КИХ-фильтр имеет пять отводов. Для получения некоторого пиксела прогнозируемого изображения требуются пять пикселов изображения с компенсацией движения.
Например, для генерации пиксела Р1 на левом нижнем краю прогнозируемого изображения необходимы пять пикселов, расположенных в горизонтальном направлении, так что пиксел р1 на нижнем левом краю, представляющий собой соответствующий пиксел изображения с компенсацией движения, должен быть в центре. Однако слева от пиксела р1, как показано прерывистой линией, пикселов нет. Кроме того, для генерации пиксела Р16 на нижнем правом краю прогнозируемого изображения тоже нужны пять пикселов, расположенных в горизонтальном направлении, так что пиксел р16 на нижнем правом краю, представляющий собой соответствующий пиксел изображения с компенсацией движения, должен быть в центре. Однако справа от пиксела р16, как показано прерывистой линией, пикселов нет.
Поэтому процедура фильтрации может быть выполнена после интерполяции недостающих пикселов путем копирования пикселов р1 и р16 или осуществления интерполяции с использованием пикселов в симметричных позициях, так что граница находится в центре. Однако величины этих пикселов отличаются от истинных величин пикселов, обозначенных прерывистыми линиями, так что точность величин пикселов прогнозируемого изображения снижается. Во избежание такой деградации необходимо использовать истинные величины пикселов, однако из опорного кадра в существующей компенсации движения получена только область, размер которой равен размеру блока, и следовательно, такая интерполяция является необходимой.
Тогда в схеме 44 прогнозирования компенсацию движения осуществляют таким образом, чтобы генерировать макроблоки, имеющие поля, число пикселов в которых соответствует числу отводов КИХ-фильтра.
Фиг.22 представляет схему, иллюстрирующую принцип процесса, использующего компенсацию движения с добавлением области полей.
Как показано стрелкой А1 на фиг.22, изображение, в котором к изображению макроблока размером 16×16 пикселов добавлена область полей, выделяют из опорного кадра в качестве изображения с компенсацией движения и рассматривают как входное изображение для процесса фильтрации.
Фиг.23 представляет схему, иллюстрирующую пример изображения с компенсацией движения.
Как показано на фиг.23, изображение размером (16+2а)×(16+2а) пикселов, полученное путем добавления своего рода полосы шириной «а» пикселов вокруг изображения размером 16×16 пикселов, чтобы расширить это изображение, выделяют из опорного кадра в качестве изображения с компенсацией движения. Величину «а» определяют в соответствии с числом отводов КИХ-фильтра.
Затем выполняют процедуру фильтрации с использованием такого изображения с компенсацией движения в качестве входного изображения и передают на выход прогнозируемое изображение размером 16×16 пикселов в качестве выходного изображения процесса фильтрации, как показано стрелкой А2 на фиг.22. В сумматоре 15, показанном на фиг.3, это прогнозируемое изображение суммируют с выходным изображением схемы 14 обратного ортогонального преобразования, и изображение, являющееся результатом суммирования, используют в качестве макроблока, составляющего декодированный кадр.
Таким образом, в процессе компенсации движения в схеме 44 прогнозирования используют тот факт, что опорный кадр является кадром из прошлого или из будущего, близким к целевому кадру, и что полный кадр может быть применен для компенсации движения.
За счет использования изображения с компенсацией движения, обладающего областью полей, соответствующей числу отводов КИХ-фильтра для осуществления процесса фильтрации, этот процесс можно реализовать с применением реальных величин пикселов, так что точность величин пикселов прогнозируемого изображения можно повысить даже в случае генерации пикселов на краях прогнозируемого изображения. Иными словами, нет необходимости интерполировать пикселы для осуществления процесса фильтрации.
Поскольку точность величин пикселов прогнозируемого изображения может быть повышена, точность декодированного кадра в декодирующем устройстве 1 может быть увеличена, а остаточная погрешность относительно оригинального изображения может быть уменьшена и эффективность кодирования в кодирующем устройстве 101 может быть повышена.
Фиг.24 представляет блок-схему, иллюстрирующую пример конфигурации схемы 44 прогнозирования, показанной на фиг.5.
Как показано на фиг.24, схема 44 прогнозирования содержит схему 231 разбиения блока, ограничитель 232 и буфер 233. Вектор движения, приходящий от схемы 41 определения режима прогнозирования, показанной на фиг.5, поступает в ограничитель 232.
Схема 231 разбиения блока осуществляет разбиение макроблока, подлежащего декодированию, и передает информацию об областях соответствующих блоков в ограничитель 232.
Ограничитель 232 фокусирует свое внимание на индивидуальных блоках, составляющих макроблок, подлежащий декодированию, и определяет блок в опорном кадре, соответствующий целевому блоку, на основе вектора движения, поступающего от схемы 41 определения режима прогнозирования. Указанный блок в опорном кадре представляет собой блок такого же размера, как и целевой блок. В последующем описании найденный на основе вектора движения блок в опорном кадре, соответствующий целевому блоку, будет в случае необходимости именоваться опорным блоком.
Кроме того, ограничитель 232 определяет, находится ли рассматриваемый опорный блок в контакте с границей макроблока, включающего этот опорный блок. Если ограничитель 232 определит, что опорный блок не контактирует с границей макроблока, этот ограничитель 232 считывает информацию об опорном блоке из памяти 19 кадров и передает эту информацию в качестве величин пикселов целевого блока в буфер 233.
Если ограничитель 232 определит, что опорный блок контактирует с границей рассматриваемого макроблока, этот ограничитель 232 считывает из памяти 19 кадров информацию об этом опорном блоке и информацию об области полей, представляющей собой полосу, контактирующую с опорным блоком и находящуюся вне макроблока, включающего этот опорный блок, и выводит эту информацию в буфер 233.
После того как внимание было поочередно сфокусировано на всех блоках, получая тем самым информацию об изображении с компенсацией движения, показанном на фиг.23, где к макроблоку, подлежащему декодированию, добавлена область полей, буфер 233 передает эту информацию в схему 45 фильтрации. В процессе прогнозирования с фильтрацией используют несколько изображений с компенсацией движения, причем индивидуальные изображения с компенсацией движения генерируют в схеме 44 прогнозирования аналогичным образом.
Далее процесс компенсации движения, выполняемый в схеме 4 прогнозирования, будет описан со ссылками на логическую схему последовательности операций, показанную на фиг.25. Процедура, представленная на фиг.25, выполняется для генерации индивидуальных изображений с компенсацией движения.
На этапе S1 схема 231 разбиения блоков осуществляет разбиение макроблока, подлежащего декодированию, и передает информацию об областях соответствующих блоков в ограничитель 232.
Фиг.26 представляет схему, иллюстрирующую пример разбиения макроблока, подлежащего декодированию.
В примере, показанном на фиг.26, макроблок размером 16×16 пикселов разбит на блоки с В11 по В44.
На этапе S2 ограничитель 232 фокусирует внимание на одном блоке.
На этапе S3 ограничитель 232 определяет опорный кадр.
На этапе S4 ограничитель 232 оценивает, является ли точность вектора движения, поступившего от схемы 41 определения режима прогнозирования, десятичной точностью.
Если на этапе S4 определено, что точность вектора не является десятичной точностью, ограничитель 232 указывает положение опорного блока, соответствующего целевому блоку, на основе вектора движения с целочисленной точностью на этапе S5.
С другой стороны, если на этапе S4 определено, что точность вектора движения является десятичной точностью, ограничитель 232 осуществляет интерполяцию пикселов с использованием интерполяционного фильтра, соответствующего стандарту, и указывает опорный блок в точке, обозначенной вектором движения, обладающим десятичной точностью, на этапе S6.
После указания опорного блока ограничитель 232 оценивает, контактирует ли одна из сторон опорного блока с границей макроблока, включающего в себя этот опорный блок, на этапе S7.
Здесь такую оценку осуществляют на основе условий, описываемых следующими уравнениями с (14) по (17). Если по меньшей мере одно из этих условий удовлетворяется, принимается решение, что одна из сторон опорного блока контактирует с границей макроблока. Если не удовлетворяется ни одно из условий, принимается решение, что ни одна из сторон опорного блока не контактирует с границей макроблока. Запись (bk_pos_x, bk_pos_y) представляет положение верхней левой вершины опорного блока, а запись (bk_width, bk_height) представляет ширину и высоту опорного блока. Запись (MB_pos_x, MB_pos_y) представляет положение верхней левой вершины макроблока, включающего рассматриваемый опорный блок.
Фиг.27 представляет схему, иллюстрирующую пример опорного кадра.
В примере, показанном на фиг.27, представлены девять макроблоков с MB11 по МВ33. Здесь будет дано описание случая, когда опорные блоки, соответствующие индивидуальным блокам, полученным путем разбиения макроблока, подлежащего декодированию, представляют собой индивидуальные блоки, составляющие макроблок МВ22, выделенный путем окружения его жирной линией L.
Фиг.28 представляет схему, иллюстрирующую пример блоков, составляющих макроблок МВ22, показанный на фиг.27. Блоки с b11 по b44, представленные на фиг.28, служат опорными блоками для блоков, соответственно, с B11 по B44, изображенных на фиг.26 и составляющих макроблок, подлежащий декодированию.
Например, когда внимание сфокусировано на блоке B11, изображенном на фиг.26, блок b11, показанный на фиг.28 и служащий опорным блоком для блока B11, удовлетворяет условиям, представленным уравнениями (14) и (15), и потому оказывается признан контактирующим с границей макроблока МВ22.
Когда внимание сфокусировано на блоках В12 и В13, показанных на фиг.26, блоки b12 и b13, изображенные на фиг.28 и служащие опорными блоками для этих блоков, удовлетворяют условию, представленному уравнением (15), и потому оказываются признаны контактирующими с границей макроблока МВ22.
Когда внимание сфокусировано на блоке В14, изображенном на фиг.26, блок b14, показанный на фиг.28 и служащий опорным блоком для блока В14, удовлетворяет условиям, представленным уравнениями (15) и (16), и потому оказывается признан контактирующим с границей макроблока МВ22.
Когда внимание сфокусировано на блоках В21 и В31, показанных на фиг.26, блоки b21 и b31, изображенные на фиг.28 и служащие опорными блоками для этих блоков, удовлетворяют условию, представленному уравнением (14), и потому оказываются признаны контактирующими с границей макроблока МВ22.
Когда внимание сфокусировано на блоках В24 и В34, показанных на фиг.26, блоки b24 и b34, изображенные на фиг.28 и служащие опорными блоками для этих блоков, удовлетворяют условию, представленному уравнением (16), и потому оказываются признаны контактирующими с границей макроблока МВ22.
Когда внимание сфокусировано на блоке В41, изображенном на фиг.26, блок b41, показанный на фиг.28 и служащий опорным блоком для блока В41, удовлетворяет условиям, представленным уравнениями (14) и (17), и потому оказывается признан контактирующим с границей макроблока МВ22.
Когда внимание сфокусировано на блоках В42 и В43, показанных на фиг.26, блоки b42 и b43, изображенные на фиг.28 и служащие опорными блоками для этих блоков, удовлетворяют условию, представленному уравнением (17), и потому оказываются признаны контактирующими с границей макроблока МВ22.
Когда внимание сфокусировано на блоке В44, изображенном на фиг.26, блок b44, показанный на фиг.28 и служащий опорным блоком для блока В44, удовлетворяет условиям, представленным уравнениями (16) и (17), и потому оказывается признан контактирующим с границей макроблока МВ22.
Когда внимание сфокусировано на блоках В22, В23, В32 и В33, показанных на фиг.26, блоки b22, b23, b32 и b33, изображенные на фиг.28 и служащие опорными блоками для этих блоков, не удовлетворяют никаким из указанных условий и потому оказываются признаны не имеющими контакта с границей макроблока МВ22.
Возвращаясь к фиг.25, если на этапе S7 признано, что одна сторона опорного блока контактирует с границей макроблока, ограничитель 232 определяет на этапе S8, совпадает ли вершина опорного блока с вершиной макроблока, включающего этот опорный блок. Определить, совпадает ли вершина опорного блока с вершиной включающего его макроблока, можно на основе условий, которым удовлетворяет опорный блок.
Такие условия для случая, когда вершина опорного блока совпадает с вершиной макроблока, выражены следующими уравнениями с (18) по (21). Если выполнено любое из этих условий, это означает, что вершина опорного блока совпадает с вершиной макроблока.
MB_pos_x=bk_pos_x
и
MB_pos_x=bk_pos_x
и
MB_pos_x+16=bk_pos_x+bk_width
и
MB_pos_x+16=bk_pos_x+bk_width
и
Например, блок b11, показанный на фиг.28 и являющийся опорным блоком в случае, когда внимание сфокусировано на блоке B11, показанном на фиг.26, удовлетворяет условию приведенного выше уравнения (18) (уравнения (14) и (15)), вследствие чего определено, что вершина опорного блока совпадает с вершиной макроблока.
Блок b14, показанный на фиг.28 и являющийся опорным блоком в случае, когда внимание сфокусировано на блоке В 14, показанном на фиг.26, удовлетворяет условию приведенного выше уравнения (20) (уравнения (15) и (16)), вследствие чего определено, что вершина опорного блока совпадает с вершиной макроблока.
Блок b41, показанный на фиг.28 и являющийся опорным блоком в случае, когда внимание сфокусировано на блоке В41, показанном на фиг.26, удовлетворяет условию приведенного выше уравнения (19) (уравнения (14) и (17)), вследствие чего определено, что вершина опорного блока совпадает с вершиной макроблока.
Блок b44, показанный на фиг.28 и являющийся опорным блоком в случае, когда внимание сфокусировано на блоке В44, показанном на фиг.26, удовлетворяет условию приведенного выше уравнения (21) (уравнения (16) и (17)), вследствие чего определено, что вершина опорного блока совпадает с вершиной макроблока.
Когда внимание сфокусировано на каком-либо другом блоке из показанных на фиг.26, опорный блок не удовлетворяет ни одному из условий уравнений с (18) по (21), вследствие чего определено, что вершина опорного блока не совпадает с вершиной макроблока.
Если на этапе S8 определено, что вершина опорного блока совпадает с вершиной макроблока, ограничитель 232 устанавливает область размером а×а пикселов, контактирующую с соответствующей вершиной макроблока в одной точке и находящуюся вне макроблока, в качестве области полей на этапе S9.
С другой стороны, если на этапе S8 определено, что вершина опорного блока не совпадает с вершиной макроблока, или если на этапе S9 установлена область полей, процесс переходит к этапу S10.
На этапе S10 ограничитель 232 устанавливает область размером а×w пикселов, контактирующую с опорным блоком и расположенную вне макроблока, включающего опорный блок, в качестве области полей. Здесь «w» обозначает длину стороны опорного блока, контактирующей с границей макроблока. Когда опорный блок выбран так, как показано на фиг.28, w=4.
На этапе S11 ограничитель 232 считывает информацию об указанном опорном блоке, к которому добавлена область полей, из памяти 19 кадров и передает в буфер 233.
С другой стороны, если на этапе S7 определено, что ни одна из сторон опорного блока не имеет контакта с границей макроблока, ограничитель 232 считывает информацию об этом опорном блоке из памяти 19 кадров и передает в буфер 233 на этапе S12.
На этапе S13 ограничитель 232 проверяет, было ли уже внимание сфокусировано по очереди на всех блоках. Если определено, что внимание было сфокусировано еще не на всех блоках, процедура возвращается к этапу S2, где внимание фокусируется на другом блоке, после чего аналогичный процесс повторяется.
Если на этапе S13 было определено, что внимание уже было сфокусировано поочередно на всех блоках, буфер 233 передает макроблок вместе с областью полей, служащий изображением с компенсацией движения, в схему 45 фильтрации на этапе S14 и завершает процесс.
Далее будут описаны конкретные примеры области полей.
Например, когда внимание сфокусировано на блоке В11, показанном на фиг.26, вершина блока b11, служащего опорным блоком, совпадает с вершиной макроблока МВ22, и таким образом, показанная на фиг.29 область а1 размером а×а пикселов, контактирующая с указанной совпадающей вершиной в одной точке, установлена в качестве области полей. Кроме того, показанные на фиг.29 области а2 и а3 размером а×w пикселов каждая, которые контактируют с блоком b11 и при этом располагаются вне макроблока МВ22, также установлены в качестве областей полей. Блок b11, служащий опорным блоком, и установленные указанным способом области а1, а2 и а3 полей вырезают из опорного кадра и сохраняют в буфере 233 в качестве информации о блоке B11, служащем целевым блоком.
Область а1 представляет собой область, составленную из пикселов макроблока MB 11 (фиг.27), расположенного вне макроблока МВ22. Область а2 представляет собой область, составленную из пикселов макроблока МВ21, а область а3 представляет собой область, составленную из пикселов макроблока MB12.
Когда внимание сфокусировано на блоке В12, показанном на фиг.26, изображенная на фиг.30 область a11, представляющая собой область размером а×w пикселов, контактирующую с блоком b12, служащим опорным блоком, и находящуюся вне макроблока МВ22, устанавливают в качестве области полей. Блок b12, служащий опорным блоком, и область а11 полей, установленную указанным способом, вырезают из опорного кадра и сохраняют в буфере 233 в качестве информации о блоке В12, служащем целевым блоком. Область a11 представляет собой область, составленную из пикселов макроблока MB12, расположенного вне макроблока МВ22.
Аналогично, когда внимание сфокусировано на блоке В13, показанном на фиг.26, изображенная на фиг.31 область а21, представляющая собой область размером а×w пикселов, контактирующую с блоком b13, служащим опорным блоком, и находящуюся вне макроблока МВ22, устанавливают в качестве области полей. Блок b13, служащий опорным блоком, и область полей а21, установленную указанным способом, вырезают из опорного кадра и сохраняют в буфере 233 в качестве информации о блоке В13, служащем целевым блоком. Область а21 представляет собой область, составленную из пикселов макроблока MB12, расположенного вне макроблока МВ22.
Когда внимание сфокусировано на блоке В14, показанном на фиг.26, вершина блока b14, служащего опорным блоком, совпадает с вершиной макроблока МВ22, и таким образом, изображенную на фиг.32 область а31, представляющую собой область размером а×а пикселов, контактирующую с совпадающей вершиной в одной точке, устанавливают в качестве области полей. Кроме того, в этом случае показанные на фиг.32 области а32 и а33, каждая из которых представляет собой область размером а×w пикселов, контактирующую с блоком b14 и находящуюся вне макроблока МВ22, устанавливают в качестве областей полей. Блок b14, служащий опорным блоком, и области полей а32 и а33, установленные указанным способом, вырезают из опорного кадра и сохраняют в буфере 233 в качестве информации о блоке В14, служащем целевым блоком.
Область а31 представляет собой область, составленную из пикселов макроблока МВ13, расположенного вне макроблока МВ22. Область а32 представляет собой область, составленную из пикселов макроблока МВ23, а область а33 представляет собой область, составленную из пикселов макроблока MB12.
Когда внимание сфокусировано на блоке В21, показанном на фиг.26, изображенная на фиг.33 область а41, представляющая собой область размером а×w пикселов, контактирующую с блоком b21, служащим опорным блоком, и находящуюся вне макроблока МВ22, устанавливают в качестве области полей. Блок b21, служащий опорным блоком, и область полей а41, установленную указанным способом, вырезают из опорного кадра и сохраняют в буфере 233 в качестве информации о блоке В21, служащем целевым блоком. Область а41 представляет собой область, составленную из пикселов макроблока МВ21, расположенного вне макроблока МВ22.
Когда внимание сфокусировано на блоке В22, показанном на фиг.26, блок b22, служащий опорным блоком, представляет собой блок, стороны которого не контактируют с границей макроблока МВ22, и таким образом, никаких областей полей не устанавливают, как изображено на фиг.34. Этот блок b22 вырезают из опорного кадра и сохраняют в буфере 233 в качестве информации о блоке В22, служащем целевым блоком.
Аналогично, когда внимание сфокусировано на блоке В23, показанном на фиг.26, блок b23, служащий опорным блоком, представляет собой блок, стороны которого не контактируют с границей макроблока МВ22, и таким образом, никаких областей полей не устанавливают, как изображено на фиг.35. Этот блок b23 вырезают из опорного кадра и сохраняют в буфере 233 в качестве информации о блоке В23, служащем целевым блоком.
Когда внимание сфокусировано на блоке В24, показанном на фиг.26, изображенная на фиг.36 область а51, представляющая собой область размером а×w пикселов, контактирующую с блоком b24, служащим опорным блоком, и находящуюся вне макроблока МВ22, устанавливают в качестве области полей. Блок b24, служащий опорным блоком, и область полей а51, установленную указанным способом, вырезают из опорного кадра и сохраняют в буфере 233 в качестве информации о блоке В24, служащем целевым блоком. Область а51 представляет собой область, составленную из пикселов макроблока МВ23, расположенного вне макроблока МВ22.
Аналогично, когда внимание сфокусировано на блоках с В31 по 44, показанных на фиг.26, устанавливают должным образом области полей и сохраняют их в буфере вместе с информацией о рассматриваемом опорном блоке.
Фиг.37 представляет схему, иллюстрирующую пример изображения с компенсацией движения, поступающего с выхода схемы 44 прогнозирования.
Показанное на фиг.37 изображение с компенсацией движения генерируют с применением описанного выше способа на основе информации об опорных блоках и информации об областях полей, считываемой из памяти 19 кадров. Показанное на фиг.37 изображение с компенсацией движения представляет собой изображение размером (16+2а)×(16+2а) пикселов.
В схеме 45 фильтрации для нескольких изображений с компенсацией движения, генерируемых описанным выше способом, выполняют вычисление разности, фильтрацию с использованием КИХ-фильтра, регулировку коэффициента передачи, суммирование и т.д. и формируют в результате прогнозируемое изображение.
Фиг.38 представляет схему, иллюстрирующую пример КИХ-фильтра, входящего в состав фильтра 52 нижних частот и в состав фильтра 54 верхних частот в схеме 45 фильтрации.
Например, при использовании показанного на фиг.38 КИХ-фильтра, в котором число отводов равно пяти, устанавливают величину «а», равную двум, а на вход схемы 45 фильтрации поступает изображение с компенсацией движения, представляющее собой изображение размером 20×20 пикселов, полученное путем удлинения каждой из четырех сторон макроблока размером 16×16 пикселов на два пиксела.
Ширину полосы «а» (пикселы) определяют с использованием следующего уравнения (22), где предполагается, что число отводов КИХ-фильтра равно Т. Запись floor(x) обозначает функцию вычисления максимального целого числа не больше х.
Таким образом, ширина «а» мала, когда мало число отводов Т, и ширина «а» велика при большом числе отводов Т. Отметим, что для выполнения двумерной фильтрации в фильтре 52 нижних частот и аналогичных схемах применяют КИХ-фильтр с пятью отводами для ввода пяти пикселов, расположенных в горизонтальном направлении, и вывода одного пиксела и КИХ-фильтр с пятью отводами для ввода пяти пикселов, расположенных в вертикальном направлении, и вывода одного пиксела.
Фиг.39 представляет схему, иллюстрирующую пример процесса фильтрации, выполняемого для изображения с компенсацией движения, имеющего область полей.
Входное изображение размером (16+2а)×(16+2а) пикселов, показанное в верхней части фиг.39, представляет собой изображение с компенсацией движения, генерируемое с применением описанного выше способа компенсации движения, выполняемой в схеме 44 прогнозирования. Выходное изображение размером 16×16 пикселов, показанное в нижней части, образовано пикселами, полученными посредством процедуры фильтрации, выполняемой применительно к изображению с компенсацией движения, представленному в верхней части, с использованием КИХ-фильтра.
Например, в случае генерации пиксела Р1 на нижнем левом конце прогнозируемого изображения можно получить величину этого пиксела Р1 путем ввода пяти пикселов, расположенных в горизонтальном направлении, так что пиксел р1, представляющий собой соответствующий пиксел изображения с компенсацией движения, находится в центре этой пятерки пикселов р21, р22, р1, р2 и р3, в КИХ-фильтр (FIR). Пикселы р21 и р22 находятся в области полей.
Кроме того, в случае генерации пиксела Р16 на нижнем правом конце прогнозируемого изображения можно получить величину этого пиксела Р16 путем ввода пяти пикселов, расположенных в горизонтальном направлении, так что пиксел р16, представляющий собой соответствующий пиксел изображения с компенсацией движения, находится в центре этой пятерки пикселов р14, р15, р16, р31 и р32, в КИХ-фильтр. Пикселы р31 и р32 находятся в области полей.
Соответственно, процедуру фильтрации можно выполнять с использованием реальных величин пикселов, что позволяет повысить точность величин пикселов прогнозируемого изображения. Поскольку двумерное изображение обладает сильной корреляцией в пространственных направлениях, можно считать, что величины пикселов внутри макроблока сильно коррелированны с величинами пикселов вне макроблока. Поэтому величины пикселов прогнозируемого изображения отличаются высокой надежностью по сравнению со случаем выполнения фильтрации с применением интерполяции с пикселами в макроблоке.
В общем случае, с точки зрения характеристик предпочтительно, чтобы число отводов КИХ-фильтра было больше. Однако при большом числе отводов возрастает вероятность использования значений пикселов, расположенных вне рассматриваемого блока, при обработке, так что диапазон, в пределах которого оказываются затронуты величины пикселов выходного изображения, расширяются.
В частности, в случае выполнения фильтрации в единицах макроблоков при использовании КИХ-фильтра с тремя отводами в качестве фильтра нижних частот, описываемого уравнением (4), оказываются затронуты около 25% пикселов полного кадра из-за нехватки пикселов во входном изображении. Кроме того, при использовании КИХ-фильтра с пятью отводами, процесс затрагивает около 50% пикселов полного кадра. При использовании КИХ-фильтра с семью отводами оказываются затронуты примерно 73% пикселов полного кадра.
При использовании описанного выше изображения с компенсацией движения в качестве входного изображения для процесса фильтрации этот процесс фильтрации можно осуществить с использованием КИХ-фильтра с большим числом отводов.
Согласно приведенному выше описанию, для генерации некоторого пиксела прогнозируемого изображения на входы КИХ-фильтра подают несколько пикселов, расположенных в горизонтальном направлении, так что соответствующий пиксел изображения с компенсацией движения находится в центре этой группы пикселов, но при этом группа пикселов, подаваемых на входы фильтра не ограничивается только пикселами, расположенными в горизонтальном направлении, или пикселами, расположенными в вертикальном направлении. Например, можно также подавать на входы фильтра соответствующий пиксел изображения с компенсацией движения и пикселы сверху, снизу, справа и слева от этого пиксела, либо подавать на входы фильтра соответствующий пиксел изображения с компенсацией движения и пикселы сверху справа, сверху слева, снизу справа и снизу слева от этого пиксела.
Фиг.40 и 41 представляют схемы, иллюстрирующие результаты, полученные путем кодирования с применением прогнозируемого изображения, генерируемого посредством схемы 45 фильтрации, показанной на фиг.8.
График на фиг.40 иллюстрирует объем кодированных данных, генерируемых в процессе кодирования.
На горизонтальной оси указаны номера кадров. Например, «1» на горизонтальной оси представляет первый кадр движущегося изображения, подлежащего обработке, а «2» представляет второй кадр. По вертикальной оси отложен объем кода индивидуальных кадров в единицах бит. Чем меньше этот объем кода, тем выше коэффициент сжатия кадра.
Линия L1 представляет объем кода в случае, когда кодирование осуществляется с использованием обычного стандарта AVC, а линия L2. представляет объем кода в случае, когда кодирование производится с применением прогнозирования с фильтрацией. В этом примере результат сжатия (infra-picture или I-кадр) одного кадра вставлен в каждые 15 кадров, а 14 кадров, отличных от указанного I-кадра, рассматриваются в качестве прогнозируемых Р-кадров (Р-pictures).
Как показано на фиг.40, I-кадр является одинаковым как в случае применения стандарта AVC, так и в случае применения алгоритма кодирования с использованием прогнозирования с фильтрацией, вследствие чего объемы генерируемого кода оказываются одинаковыми. Кроме того, для кодирования с применением прогнозирования с фильтрацией требуются два опорных кадра, вследствие чего объем кода второго Р-кадра, для которого только, первый I-кадр может быть использован в качестве опорного кадра, имеет такую же величину, как и объем кода в случае применения стандарта AVC. Что касается объемов кода для других Р-кадров, при использовании способа кодирования с применением прогнозирования с фильтрацией эти величины, как показывает линия L2, оказываются меньше величин, представленных линией L1.
Причина того, что объем генерируемого кода можно уменьшить при применении способа кодирования с использованием прогнозирования с фильтрацией, заключается в высокой точности прогнозируемого изображения и в том, что объем кодированных данных остаточной погрешности может быть уменьшен по сравнению со случаем применения стандарта AVC.
График на фиг.41 иллюстрирует качество изображения, передаваемого кодированными данными.
Горизонтальная ось на фиг.41 аналогично горизонтальной оси на фиг.40 представляет номер кадра. Вертикальная ось представляет величину PSNR (отношение сигнал/шум для изображения). Величина PSNR представляет собой объективный показатель, так что сходство рассматриваемого изображения с оригинальным изображением тем выше (выше качество изображения), чем больше эта величина. Единицей измерения этого отношения является [дБ].
Линия L11 представляет величину отношения PSNR для случая, когда кодирование осуществляется с использованием обычного алгоритма AVC, а линия L12 представляет величину отношения PSNR для случая, когда кодирование осуществляется с использованием прогнозирования с фильтрацией. По тем же самым причинам, как и в случае фиг.40, величины отношения PSNR для I-кадра и для второго Р-кадра также становятся одинаковыми, как в ситуации применения стандарта AVC, так и в ситуации кодирования с использованием прогнозирования с фильтрацией.
С другой стороны, как и для других Р-кадров, величины отношения PSNR для случая применения кодирования с использованием прогнозирования с фильтрацией, представленные линией L12, оказываются больше величин отношения PSNR для случая применения стандарта AVC, представленных линией L11.
Причина, по которой величину отношения PSNR, т.е. качество изображения, можно увеличить путем применения алгоритма кодирования с использованием прогнозирования с фильтрацией, состоит в том, что точность прогнозируемого изображения может быть увеличена.
Описанная выше последовательность процессов может быть реализована аппаратным или программным способом. В случае программного способа реализации этой последовательности процессов программы, составляющие соответствующее программное обеспечение, инсталлируют с носителя записи программ в компьютер, включенный в состав специализированного оборудования, или в персональный компьютер общего назначения, способный выполнять различные функции посредством инсталлирования программ различного типа, или в аналогичное устройство.
Фиг.42 представляет блок-схему, иллюстрирующую пример конфигурации оборудования персонального компьютера, выполняющего описанную выше последовательность процессов в соответствии с программой.
Центральный процессор ЦП 251, постоянное запоминающее устройство (ПЗУ) 252 и оперативное запоминающее устройство (ОЗУ) 253 соединены посредством шины 254.
С шиной 254 соединен также интерфейс 255 ввода/вывода. С этим интерфейсом 255 ввода/вывода соединены устройство 256 ввода, образованное клавиатурой, мышью, микрофоном и т.п., устройство 257 вывода, включающее дисплей, громкоговоритель и т.п., запоминающее устройство 258, включающее накопитель на жестком магнитном диске, энергонезависимую память и т.п., модуль 259 связи, включающий сетевой интерфейс и т.п., и привод 260 для сменного носителя 261 записи, такого как оптический диск или полупроводниковое запоминающее устройство.
В компьютере, конфигурированном, как указано выше, процессор ЦП 251 загружает программу, хранящуюся в запоминающем устройстве 258, в ОЗУ 253 через интерфейс 255 ввода/вывода и шину 254 и выполняет программу, осуществляя тем самым описанную выше последовательность процессов.
Программу, выполняемую процессором ЦП 251, поставляют в виде записи, например, на сменном носителе 261 записи или по кабельному или беспроводному каналу связи, такому как локальная сеть связи, Интернет или система цифрового вещания, и инсталлируют в запоминающем устройстве 258.
Кроме того, программа, выполняемая компьютером, может представлять собой программу, осуществляющую процессы последовательно во времени в соответствии с описываемым здесь порядком, либо программу, выполняющую процессы параллельно, либо в нужные моменты времени, например, когда выполняется вызов.
Спектр вариантов настоящего изобретения не ограничивается рассмотренным выше вариантом. Здесь возможны разнообразные изменения, не выходящие за пределы объема настоящего изобретения.
Например, декодирующее устройство 1 или кодирующее устройство 101, описанные выше, могут быть применены в любом электронном устройстве. Примеры этого будут рассмотрены ниже.
Фиг.43 представляет блок-схему, иллюстрирующую пример основной конфигурации телевизионного приемника, использующего декодирующее устройство, в котором применено настоящее изобретение.
Телевизионный приемник 300, показанный на фиг.43, включает в себя тюнер 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 имеет аналого-цифровой преобразователь 314 аудио сигнала, процессор 322 аудио сигнала, схему 323 эхоподавления/синтеза аудио сигнала, усилитель 324 аудио сигнала и громкоговоритель 325.
Тюнер 313 для приема передач наземного телевидения демодулирует принимаемый сигнал вещания для получения не только видеосигнала, но также и аудио сигнала. Тюнер 313 для приема передач наземного телевидения передает полученный аудио сигнал в аналого-цифровой преобразователь 314 аудио сигнала.
Аналого-цифровой преобразователь 314 аудиосигнала осуществляет аналого-цифровое преобразование аудио сигнала, приходящего от тюнера 313 для приема передач наземного телевидения, и передает полученный цифровой аудио сигнал процессору 322 аудио сигнала.
Процессор 322 аудиосигнала выполняет некоторую обработку, такую как устранение шумов, аудиоданных, приходящих от аналого-цифрового преобразователя 314 аудиосигнала, и передает полученные аудиоданные в схему 323 эхоподавления/синтеза аудиосигнала.
Схема 323 эхоподавления/синтеза аудиосигнала передает аудиоданные, поступающие от процессора 322 аудио сигнала, усилителю 324 аудиосигнала.
Усилитель 324 аудиосигнала выполняет цифроаналоговое преобразование и усиление аудиоданных, поступающих от схемы 323 эхоподавления/синтеза аудио сигнала, для подстройки аудио сигнала до некоторой громкости и затем выводит звуковой сигнал через громкоговоритель 325.
Кроме того, телевизионный приемник 300 содержит цифровой тюнер 316 и MPEG-декодер 317.
Цифровой тюнер 316 принимает сигнал цифрового вещания (наземное цифровое вещание, цифровое вещание через BS (Вещательный спутник)/С8 (Спутник связи)) через антенну, демодулирует этот сигнал, выделяет из него транспортный поток MPEG-TS и передает в MPEG-декодер 317.
MPEG-декодер 317 дескремблирует транспортный поток MPEG-TS, поступающий от цифрового тюнера 316, и выделяет поток, включающий данные программы, подлежащей воспроизведению (для просмотра/прослушивания). MPEG-декодер 317 осуществляет декодирование аудио пакетов, образующих выделенный поток, и передает полученные аудиоданные процессору 322 аудио сигнала, а также декодирует видео пакеты, образующие указанный выделенный поток, и передает полученные видеоданные процессору 318 видеосигнала. Кроме того, MPEG-декодер 317 передает данные электронной программы передач (EPG), выделенные из транспортного потока MPEG-TS, процессору ЦП 332 по тракту, не показанному на этом чертеже.
Телевизионный приемник 300 использует декодирующее устройство 1, описанное выше, в качестве MPEG-декодера 317, который декодирует видео пакеты таким способом. Таким образом, как и в случае декодирующего устройства 1, MPEG-декодер 317 осуществляет декодирование с использованием прогнозируемого изображения, генерируемого посредством прогнозирования с фильтрацией, и вследствие этого, можно получить декодированное изображение с высоким разрешением более эффективно за счет использования корреляции изображений по времени.
Видеоданные, поступающие от MPEG-декодера 317, подвергают, как и в случае видеоданных, приходящих от видео декодера 315, некоторой обработке в процессоре 318 видеосигнала и накладывают должным образом поверх обработанных видеоданных другие видеоданные или аналогичную информацию, формируемую генератором 319 графики. Полученные видеоданные поступают к панели 321 дисплея через схему 320 управления панелью, так что на дисплее появляется соответствующее этим данным изображение.
Аудиоданные, поступающие от MPEG-декодера 317, подвергают, как и в случае аудиоданных, приходящих от аналого-цифрового преобразователя 314 аудио сигнала, некоторой обработке в процессоре 322 аудио сигнала, передают в усилитель 324 аудио сигнала через схему 323 эхоподавления/синтеза аудио сигнала и затем осуществляют цифро-аналоговое преобразование и усиление этих данных. В результате громкоговоритель 325 выводит звук, громкость которого была подстроена до некоторого уровня.
Кроме того, телевизионный приемник 300 имеет микрофон 326 и аналого-цифровой преобразователь 327.
Этот аналого-цифровой преобразователь 327 принимает аудио сигнал, соответствующий звуку от пользователя, улавливаемому микрофоном 326, встроенным в телевизионный приемник 300, для использования в звуковом разговоре, выполняет аналого-цифровое преобразование принятого аудио сигнала и передает полученные цифровые аудиоданные в схему 323 эхоподавления/синтеза аудио сигнала.
При поступлении аудиоданных пользователя (пользователь А) телевизионного приемника 300 от аналого-цифрового преобразователя 327 схема 323 эхоподавления/синтеза аудио сигнала осуществляет подавление эхо в аудиоданных от пользователя А и инициирует вывод аудиоданных, полученных путем синтеза с другими аудиоданными, через усилитель 324 аудио сигнала и затем через громкоговоритель 325.
Кроме того, телевизионный приемник 300 имеет аудио кодек 328, внутреннюю шину 329, SDRAM (Синхронное динамическое ОЗУ) 330, флэш-память 331, процессор ЦП 332, USB-интерфейс (универсальная последовательная шина) 333 и сетевой интерфейс 334.
Аналого-цифровой преобразователь 327 принимает аудио сигнал от пользователя, уловленный микрофоном 326, установленным в телевизионном приемнике 300 для голосового разговора, осуществляет аналого-цифровое преобразование принятого аудио сигнала и передает полученные цифровые аудиоданные аудио кодеку 328.
Аудиокодек 328 преобразует аудиоданные, поступающие от аналого-цифрового преобразователя 327, в данные в некотором формате для передачи через сеть связи и передает эти данные сетевому интерфейсу 334 по внутренней шине 329.
Сетевой интерфейс 334 соединен с сетью связи через кабель, присоединенный к сетевому терминалу 335. Этот сетевой интерфейс 334 передает аудиоданные, поступающие от аудио кодека 328, например, другому устройству, соединенному с сетью связи. Кроме того, сетевой интерфейс 334 принимает через сетевой терминал 335, например, аудиоданные, переданные от другого устройства, соединенного с сетью связи, и передает эти аудиоданные аудио кодеку 328 по внутренней шине 329.
Аудиокодек 328 преобразует ay ди сданные, поступающие от сетевого интерфейса 334, в данные в некотором формате и передает эти данные в схему 323 эхоподавления/синтеза аудиосигнала.
Схема 323 эхоподавления/синтеза аудио сигнала выполняет эхоподавление для аудиоданных, поступающих от аудио кодека 328, и инициирует вывод аудиоданных, полученных путем синтеза с другими ауди сданными, через усилитель 324 аудио сигнала и затем через громкоговоритель 325.
Запоминающее устройство SDRAM 330 сохраняет данные различного типа, необходимые процессору ЦП 332 для выполнения обработки.
Флэш-память 331 записывает программу, выполняемую процессором ЦП 332. процессор ЦП 332 считывает программу, записанную во флэш-памяти 331, в соответствующие моменты времени, например при включении телевизионного приемника 300. Во флэш-памяти 331 записывают также данные электронной программы передач, полученные из сигнала цифрового вещания, и данные, полученные от определенного сервера через сеть связи.
Например, флэш-память 331 сохраняет транспортный поток MPEG-TS, включающий данные контента, получаемые от определенного сервера через сеть связи под управлением процессора ЦП 332. Флэш-память 331 передает транспортный поток MPEG-TS в MPEG-декодер 317 по внутренней шине 329 под управлением, например, процессора ЦП 332.
MPEG-декодер 317 обрабатывает транспортный поток MPEG-TS способом, аналогичным случаю транспортного потока MPEG-TS, поступающего от цифрового тюнера 316. Таким образом, телевизионный приемник 300 может принимать данные контента, составленные из видеоданных, аудиоданных и подобных данных, через сеть связи, декодировать эти данные контента с использованием MPEG-декодера 317 и представлять видеоданные на дисплее или выводить аудио сигнал.
Кроме того, телевизионный приемник 300 включает также фото приемник 337, принимающий излучение инфракрасного сигнала, передаваемого пультом 351 дистанционного управления.
Фотоприемник 337 принимает инфракрасное излучение от пульта 351 дистанционного управления и передает управляющий код, указывающий содержание команды пользователя, определенной в результате демодуляции, центральному процессору ЦП 332.
Процессор ЦП 332 выполняет программу, записанную во флэш-памяти 331, и управляет всей работой телевизионного приемника 300 в соответствии с управляющим кодом или аналогичным кодом, поступившими от фотоприемника 337. Процессор ЦП 332 соединен с индивидуальными узлами телевизионного приемника 300 по трактам, не показанным на чертеже.
USB-интерфейс 333 передает/принимает данные к/от внешнего устройства телевизионному приемнику 300, соединенному через USB-кабель, присоединенный к USB-терминалу 336. Сетевой интерфейс 334 соединен с сетью связи через кабель, присоединенный к сетевому терминалу 335, а также передает/принимает данные, отличные от аудиоданных, к/от устройств различного типа, соединенных с сетью связи.
Телевизионный приемник 300 использует декодирующее устройство 1 в качестве MPEG-декодера 317, что позволяет ему генерировать прогнозируемое изображение с высокой точностью без увеличения процессорной нагрузки. В результате, телевизионный приемник 300 может получать декодированное изображение с более высоким разрешением на основе сигнала вещания, принимаемого через антенну, или данных контента, получаемых по сети связи, и представлять это изображение на дисплее.
Фиг.44 представляет блок-схему, иллюстрирующую пример основной конфигурации мобильного телефона, использующего декодирующее устройство и кодирующее устройство, в которых применено настоящее изобретение.
Мобильный телефон 400, показанный на фиг.44, включает в себя главный блок 450 управления, конфигурированный для совместного управления индивидуальными блоками, блок 451 питания, блок 452 управления вводом, устройство 453 кодирования изображения, интерфейс 454 видеокамеры, блок 455 управления жидкокристаллическим дисплеем, декодер 456 изображения, демультиплексор 457, блок 462 записи/воспроизведения, модулятор/демодулятор 458 и аудио кодек 459. Все они соединены посредством шины 460.
Кроме того, мобильный телефон 400 включает рабочую клавишу 419, видеокамеру 416 на основе приборов с зарядовой связью (ПЗС (CCD)), жидкокристаллический дисплей 418, запоминающее устройство 423, приемопередатчик 463, антенну 414, микрофон 421 и громкоговоритель 417.
Когда пользователь нажимает клавишу завершения разговора и включения питания, блок 451 питания подает питание от аккумулятора каждому индивидуальному блоку телефона, переводя тем самым мобильный телефон 400 в рабочее состояние.
Мобильный телефон 400 выполняет разнообразные операции, такие как передачу/прием аудио сигнала, передачу/прием сообщений электронной почты или данных изображения, считывание изображения или запись данных, в различных режимах, таких как режим голосового вызова или режим передачи данных, под управлением главного блока 450 управления, содержащего процессор ЦП, ПЗУ и т.п.
Например, в режиме голосового вызова мобильный телефон 400 преобразует с использованием аудио ко дека 459 аудио сигнал, уловленный микрофоном 421, в цифровые аудиоданные, выполняет расширение спектра этих цифровых аудиоданных с использованием модулятора/демодулятора 458 и осуществляет цифро-аналоговое преобразование и преобразование частоты с применением приемопередатчика 463. Этот мобильный телефон 400 передает подлежащий передаче сигнал, полученный в результате преобразования, на базовую станцию, не показанную на чертеже, через антенну 414. Указанный подлежащий передаче сигнал (аудио сигнал), переданный на базовую станцию, пересылают мобильному телефону на другом конце вызова через телефонную сеть общего пользования.
Кроме того, в режиме, например, голосового вызова мобильный телефон 400 усиливает принимаемый сигнал, который был принят антенной 414, с использованием приемопередатчика 463, затем осуществляет преобразование частоты и аналого-цифровое преобразование сигнала, выполняет процедуру сжатия спектра сигнала посредством модулятора/демодулятора 458 и преобразует результирующий сигнал в аналоговый аудио сигнал с использованием аудио ко дека 459. Мобильный телефон 400 выводит полученный путем преобразования аналоговый аудио сигнал через громкоговоритель 417.
Более того, например, в случае передачи сообщения электронной почты в режиме передачи данных мобильный телефон 400 принимает с использованием блока 452 управления вводом текстовые данные электронной почты, введенные посредством рабочей клавиши 419. Мобильный телефон 400 обрабатывает эти текстовые данные с использованием главного блока 450 управления и представляет полученные данные в виде изображения на жидкокристаллическом дисплее 418 через блок 455 управления жидкокристаллическим дисплеем.
Далее, мобильный телефон 400 генерирует с использованием главного блока 450 управления данные электронной почты на основе указанных текстовых данных или команд пользователя, принимаемых блоком 452 управления вводом. Мобильный телефон 400 выполняет расширение спектра для данных электронной почты с использованием модулятора/демодулятора 458 и осуществляет цифро-аналоговое преобразование и преобразование частоты с применением приемопередатчика 463. Мобильный телефон 400 передает полученный в результате преобразования сигнал, подлежащий передаче, на базовую станцию, не показанную на чертеже, через антенну 414. Этот подлежащий передаче сигнал (электронную почту), переданный на базовую станцию, направляют на некоторый адрес через сеть связи и почтовый сервер или аналогичную систему.
Кроме того, например, при приеме сообщения электронной почты в режиме передачи данных мобильный телефон 400 принимает сигнал, переданный от базовой станции, через антенну 414 с использованием приемопередатчика 463, усиливает этот сигнал и затем выполняет преобразование частоты и аналого-цифровое преобразование. Далее мобильный телефон 400 осуществляет сжатие спектра принимаемого сигнала в модуляторе/демодуляторе 458 с целью восстановления первоначальных данных электронной почты. Мобильный телефон 400 представляет восстановленные данные электронной почты на жидкокристаллическом дисплее 418 через блок 455 управления этим жидкокристаллическим дисплеем.
В дополнение к этому, мобильный телефон 400 может также записывать (сохранять) принятые данные электронной почты в запоминающем устройстве 423 посредством блока 462 записи/воспроизведения.
Запоминающее устройство 423 представляет собой какой-либо перезаписываемый носитель записи. В качестве запоминающего устройства 423 можно использовать полупроводниковое запоминающее устройство, такое как ОЗУ или встроенная флэш-память, накопитель на жестком магнитном диске, либо сменный носитель записи, такой как магнитный диск, магнитооптический диск, оптический диск, USB-память или карта памяти. Безусловно, может быть также использован носитель любого другого типа.
Более того, в случае, например, передачи данных изображения в режиме передачи данных мобильный телефон 400 генерирует данные изображения посредством считывания соответствующего изображения с использованием ПЗС-камеры 416. ПЗС-камера 416 имеет оптические устройства, такие как объектив и диафрагма, и прибор с зарядовой связью (ПЗС), служащий фотоэлектрическим преобразовательным элементом, считывает изображение предмета, преобразует интенсивность принимаемого света в электрический сигнал и генерирует данные изображения предмета. Кодирующее устройство 453 изображения сжимает и кодирует эти данные изображения через интерфейс 454 камеры с использованием некоторого алгоритма кодирования, такого как MPEG2 или MPEG4, с целью преобразования их в кодированные данные изображения.
Мобильный телефон 400 использует кодирующее устройство 101, описанное выше, в качестве кодирующего устройства 453 изображения, выполняющего такую процедуру. Таким образом, аналогично случаю кодирующего устройства 101, кодирующее устройство 453 изображения выполняет кодирование с использованием прогнозируемого изображения, генерируемого посредством прогнозирования с фильтрацией, так что это прогнозируемое изображение включает большое число высокочастотных составляющих и обладает небольшой разностью относительно оригинального изображения, вследствие чего объем кода, назначаемого остаточной погрешности, может быть уменьшен, а эффективность кодирования может быть повышена.
Кроме того, в это же время мобильный телефон 400 осуществляет с использованием аудио кодека 459 аналого-цифровое преобразование аудио сигнала, уловленного микрофоном 421 в ходе считывания изображения посредством ПЗС-камеры 416 и затем кодирует этот аудиосигнал.
Мобильный телефон 400 мультиплексирует с использованием демультиплексора 457 кодированные данные изображения, поступающие от кодирующего устройства 453 изображения, и цифровые аудиоданные, поступающие от аудио кодека 459, с применением некоторого алгоритма. Мобильный телефон 400 осуществляет расширение спектра полученных мультиплексированных данных с использованием модулятора/демодулятора 458 и выполняет цифро-аналоговое преобразование и преобразование частоты с применением приемопередатчика 463. Мобильный телефон 400 передает получаемый в результате преобразования сигнал, подлежащий передаче, на базовую станцию, не показанную на чертеже, через антенну 414. Этот подлежащий передаче сигнал (данные изображения), который был передан на базовую станцию, поступает на другой конец канала связи через сеть связи или подобную структуру.
Отметим, что когда данные изображения передавать не нужно, мобильный телефон 400 может представить данные изображения, генерируемые с использованием ПЗС-камеры 416, на жидкокристаллическом дисплее 418 посредством блока 455 управления дисплеем, а не через кодирующее устройство 453 изображения.
Кроме того, в случае, например, когда нужно принять данные файла движущегося изображения, имеющего ссылку на простую вэб-страницу или подобный объект, в режиме передачи данных, мобильный телефон 400 принимает сигнал, переданный базовой станцией, через антенну 414 с использованием приемопередатчика 463, усиливает этот сигнал и затем выполняет преобразование частоты и аналого-цифровое преобразование. Мобильный телефон 400 осуществляет сжатие спектра принимаемого сигнала для восстановления первоначальных мультиплексированных данных посредством модулятора/демодулятора 458. Затем мобильный телефон 400 разделяет эти мультиплексированные данные на кодированные данные изображения и аудиоданные с применением демультиплексора 457.
Мобильный телефон 400 декодирует с использованием декодера 456 изображения кодированные данные изображения с применением алгоритма декодирования, соответствующего некоторому алгоритму кодирования, такому как MPEG2 или MPEG4, для генерации данных воспроизводимого движущегося изображения и представляет эти данные на жидкокристаллическом дисплее 418 через блок 455 управления жидкокристаллическим дисплеем. Соответственно, данные, например, движущегося изображения, включенные в файл движущегося изображения, имеющего ссылку на простую вэб-страницу, могут быть представлены на жидкокристаллическом дисплее 418.
Мобильный телефон 400 использует описанное выше декодирующее устройство 1 в качестве декодера 456 изображения, выполняющего такую процедуру. Поэтому, аналогично случаю декодирующего устройства 1, декодер 456 изображения осуществляет декодирование с использованием прогнозируемого изображения, генерируемого посредством прогнозирования с фильтрацией, и таким образом, декодированное изображение с высоким разрешением можно получить более эффективно с использованием корреляции изображений во времени.
В этот момент мобильный телефон 400 одновременно преобразует цифровые ауди сданные в аналоговый аудио сигнал с использованием аудио кодека 459 и выводит аудио сигнал через громкоговоритель 417. Соответственно, можно, например, воспроизводить аудиоданные, включенные в файл движущегося изображения, имеющий ссылку на простую вэб-страницу.
Отметим, что аналогично случаю электронной почты, мобильный телефон 400 способен также записывать (сохранять) принимаемые данные, связанные ссылкой с простой вэб-страницей, в запоминающем устройстве 423 через блок 462 записи/воспроизведения.
Кроме того, мобильный телефон 400 может также анализировать двумерный код, полученный ПЗС-камерой 416 в результате считывания изображения, и принимать информацию, содержащуюся в этом двумерном коде, с использованием главного блока 450 управления.
Более того, мобильный телефон 400 может поддерживать связь с внешним устройством посредством инфракрасного излучения с использованием блока 481 инфракрасной связи.
За счет использования кодирующего устройства 101 в качестве кодирующего устройства 453 изображения мобильный телефон 400 может повысить эффективность кодирования данных, генерируемых путем кодирования данных изображения, формируемых, например, ПЗС-камерой 416, без увеличения сложности обработки. В результате, мобильный телефон 400 может передавать другому устройству кодированные данные (данные изображения) с высокой эффективностью кодирования.
Кроме того, при использовании декодирующего устройства 1 в качестве декодера 456 изображения мобильный телефон 400 может генерировать прогнозируемое изображение с высокой точностью без увеличения процессорной нагрузки. В результате, например, мобильный телефон 400 может получить декодированное изображение с повышенным разрешением на основе файла движущегося изображения, связанного по ссылке с простой вэб-страницей, и представить это изображение на дисплее.
Отметим, что хотя приведенное выше описание было дано для мобильного телефона 400, применяющего ПЗС-камеру 416, вместо такой ПЗС-камеры 416 может быть использован формирователь сигналов изображения (КМОП-формирователь сигналов изображения), построенный на основе КМОП-структур (комплементарные структуры металл-оксид-полупроводник). В этом случае тоже, аналогично случаю применения ПЗС-камеры 416, мобильный телефон 400 может считывать изображение предмета и генерировать данные этого изображения предмета.
Кроме того, хотя приведенное выше описание было дано применительно к мобильному телефону 400, рассмотренные декодирующее устройство 1 и кодирующее устройство 101 могут быть применены в любом устройстве, имеющем функцию считывания изображения и функцию связи, аналогично мобильному телефону 400, таком как, например, персональный цифровой помощник (PDA), смартфон, ультрамобильный персональный компьютер (UMPC), компьютер нетбук или портативный персональный компьютер (ноутбук).
Фиг.45 представляет блок-схему, иллюстрирующую пример основной конфигурации устройства записи на жестком магнитном диске, использующего декодирующее устройство и кодирующее устройство, в которых применено настоящее изобретение.
Устройство 500 записи на жестком магнитном диске (HDD), показанное на фиг.45, представляет собой устройство, сохраняющее аудиоданные и видеоданные программы вещания, включенной в сигнал вещания (телевизионный сигнал), передаваемый от спутника, наземной антенны или аналогичного устройства и принимаемый тюнером, на встроенном жестком магнитном диске и предоставляющее сохраненные данные пользователю в нужный момент в соответствии с командами этого пользователя.
Устройство 500 записи на жестком магнитном диске может выделять, например, аудиоданные и видеоданные из сигнала вещания, декодировать эти данные должным образом и сохранять на встроенном жестком магнитном диске. Кроме того, устройство 500 записи на жестком магнитном диске может также получать аудиоданные и видеоданные от другого устройства через, например, сеть связи, декодировать эти данные должным образом и сохранять на встроенном жестком магнитном диске.
Далее, устройство 500 записи на жестком магнитном диске может декодировать аудиоданные и видеоданные, записанные на встроенном в устройство жестком магнитном диске, передавать, например, декодированные данные монитору 560, представлять изображение на экране этого монитора 560 и выводить аудио сигнал через громкоговоритель монитора 560. Кроме того, устройство 500 записи на жестком магнитном диске может, например, декодировать аудиоданные и видеоданные, выделенные из сигнала вещания, получаемого через тюнер, или аудиоданные и видеоданные, получаемые от другого устройства через сеть связи, передавать декодированные данные монитору 560, представлять изображение на экране этого монитора 560 и выводить аудио сигнал через громкоговоритель монитора 560.
Безусловно, возможно также выполнение других операций.
Как показано на фиг.45, устройство 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 связи соединен с сетью связи и осуществляет связь с другим устройством через эту сеть связи. Например, блок 535 связи, управляемый блоком 526 управления устройством записи, может поддерживать связь с тюнером (не показан) и передавать этому тюнеру главным образом сигнал управления выбором канала.
Демодулятор 522 осуществляет демодуляцию сигнала, поступающего от тюнера, и передает результат демультиплексору 523. Демультиплексор 523 разделяет данные, поступающие от демодулятора 522, на аудиоданные, видеоданные и данные электронной программы передач (EPG) и передает полученные данные в аудиодекодер 524, видеодекодер 525 и блок 526 управления устройством записи соответственно.
Аудиодекодер 524 выполняет декодирование входных аудиоданных с использованием, например, алгоритма MPEG и передает результат блоку 533 записи/воспроизведения. Видео декодер 525 осуществляет декодирование входных видеоданных с использованием, например, алгоритма MPEG и передает результат конвертору 530 дисплея. Блок 526 управления устройством записи передает входные данные электронной программы передач (EPG) в память 527 данных EPG для записи этих данных EPG в памяти.
Конвертор 530 дисплея кодирует с использованием видео кодирующего устройства 541 видеоданные, поступающие от видео декодера 525 или от блока 526 управления устройством записи, для преобразования их в видеоданные, например, в стандарте NTSC и передает результат преобразования в блок 533 записи/воспроизведения. Кроме того, конвертор 530 дисплея преобразует размер экрана видеоданных, поступающих от видео декодера 525 или от блока 526 управления устройством записи, к размеру экрана, соответствующему размеру монитора 560, преобразует видеоданные к стандарту NTSC с использованием видео кодирующего устройства 541, трансформирует эти данные в аналоговый сигнал и передает в блок 532 управления дисплеем.
Блок 532 управления дисплеем накладывает сигнал экранного меню (OSD) от блока 531 управления этим меню на видеосигнал, поступающий от конвертора 530 дисплея, по командам от блока 526 управления устройством записи и передает результат монитору 560 для представления на экране.
Кроме того, монитор 560 получает аудиоданные с выхода аудио декодера 524, преобразованные затем в аналоговый сигнал посредством цифро-аналогового преобразователя 534. Монитор 560 выводит аудио сигнал через встроенный громкоговоритель.
Устройство 533 записи/воспроизведения имеет жесткий магнитный диск в качестве носителя записи, на котором записывают видеоданные, аудиоданные и другую подобную информацию.
Блок 533 записи/воспроизведения кодирует с использованием кодирующего устройства 551 аудиоданные, поступающие от аудио декодера 524, с применением алгоритма MPEG, например. Кроме того, блок 533 записи/воспроизведения кодирует с использованием кодирующего устройства 551 видеоданные, поступающие от видео кодирующего устройства 541 из состава конвертора 530 дисплея, с применением алгоритма MPEG. Блок 533 записи/воспроизведения объединяет посредством мультиплексора результат кодирования аудиоданных и результат кодирования видеоданных. Блок 533 записи/воспроизведения выполняет канальное кодирование полученных сложных данных для усиления их и записывает эти данные на жесткий магнитный диск посредством записывающей головки.
Блок 533 записи/воспроизведения воспроизводит данные, записанные на жестком магнитном диске, посредством головки воспроизведения, усиливает эти данные и разделяет их на аудиоданные и видеоданные с применением демультиплексора. Далее блок 533 записи/воспроизведения декодирует аудиоданные и видеоданные с использованием декодера 552 в соответствии с алгоритмом MPEG. Блок 533 записи/воспроизведения осуществляет цифро-аналоговое преобразование декодированных аудиоданных и передает результат громкоговорителю монитора 560. Кроме того, блок 533 записи/воспроизведения осуществляет цифро-аналоговое преобразование декодированных видеоданных и передает результат для представления на дисплее монитора 560.
Блок 526 управления устройством записи считывает самые последние данные электронной программы передач (EPG) из памяти 527 данных EPG на основе команд пользователя, представленных инфракрасным сигналом от пульта дистанционного управления и полученных через приемник 521, и передает данные EPG блоку 531 управления экранным меню (OSD). Блок 531 управления экранным меню генерирует данные изображения, соответствующие входным данным электронной программы передач, и передает эти данные блоку 532 управления дисплеем. Блок 532 управления дисплеем передает видеоданные, поступившие на его вход от блока 531 управления экранным меню OSD, монитору 560 для представления на экране дисплея. Соответственно, на дисплее монитора 560 оказывается представлена электронная программа передач (EPG).
Кроме того, устройство 500 записи на жестком магнитном диске может получать различные данные, такие как видеоданные, аудиоданные или данные электронной программы передач (EPG), поступающие от другого устройства через сеть связи, такую как Интернет.
Блок 535 связи по командам блока 526 управления устройством записи получает в кодированном виде данные, такие как видеоданные, аудиоданные и данные EPG, передаваемые от другого устройства через сеть связи, и направляет эти данные в блок 526 управления устройством записи. Блок 526 управления устройством записи передает, например, кодированные данные, соответствующие принятым им видеоданным и аудиоданным, в устройство 533 записи/воспроизведения, где происходит сохранение этих данных на жестком магнитном диске. В этот момент блок 526 управления устройством записи и устройство 533 записи/воспроизведения могут в случае необходимости выполнять такую операцию, как перекодирование.
Кроме того, блок 526 управления устройством записи декодирует полученные им кодированные данные, соответствующие видеоданным и аудиоданным, и передает полученные видеоданные конвертору 530 дисплея. Конвертор 530 дисплея обрабатывает видеоданные, поступившие от блока 526 управления устройством записи, аналогично обработке видеоданных, приходящих от видео декодера 525, передает результат монитору 560 через блок 532 управления дисплеем и инициирует представление изображения на экране дисплея монитора.
Более того, наряду с представлением изображения на дисплее блок 526 управления устройством записи может передавать декодированные аудиоданные монитору 560 через цифро-аналоговый преобразователь 534 и выводить выходной звуковой сигнал от громкоговорителя.
Далее, блок 526 управления устройством записи декодирует полученные кодированные данные, соответствующие данным электронной программы передач (EPG), и передает декодированные данные EPG в память 527 данных EPG.
Устройство 500 записи на жестком магнитном диске, как описано выше, использует декодирующее устройство 1 в качестве видео декодера 525, декодера 552 и декодера в блоке 526 управления устройством записи. Поэтому, видео декодер 525, декодер 552 и декодер в блоке 526 управления устройством записи осуществляют декодирование с применением прогнозируемого изображения, генерируемого посредством прогнозирования с фильтрацией, как и в случае декодирующего устройства 1, и таким образом, декодированное изображение с высоким разрешением может быть получено с использованием корреляции изображений во времени более эффективно.
Соответственно, устройство 500 записи на жестком магнитном диске может генерировать прогнозируемое изображение с высокой точностью без увеличения процессорной нагрузки. В результате этого, устройство 500 записи на жестком магнитном диске может получать декодированное изображение с повышенным разрешением на основе, например, кодированных видеоданных, принимаемых посредством тюнера, кодированных видеоданных, считываемых с жесткого магнитного диска в блоке 533 записи/воспроизведения, или кодированных видеоданных, принимаемых через сеть связи, и представлять полученное изображение на экране монитора 560.
Кроме того, устройство 500 записи на жестком магнитном диске использует кодирующее устройство 101 в качестве кодирующего устройства 551. Поэтому, как и в случае кодирующего устройства 101, кодирующее устройство 551 осуществляет кодирование с использованием прогнозируемого изображения, генерируемого посредством прогнозирования с фильтрацией, включающего большое количество высокочастотных составляющих и обладающего небольшой разностью относительно оригинального изображения, и таким образом, можно уменьшить объем кода, назначаемого остаточной погрешности, и повысить эффективность кодирования.
Соответственно, такое устройство 500 записи на жестком магнитном диске способно, например, повысить эффективность кодирования данных для записи на жестком магнитном диске без увеличения сложности обработки. В результате, устройство 500 записи на жестком магнитном диске может более эффективно использовать площадь жесткого магнитного диска для записи информации.
Отметим, что, хотя приведенное выше описание было дано применительно к устройству 500 записи на жестком магнитном диске, которое записывает видеоданные и аудиоданные на этом жестком магнитном диске, безусловно, можно использовать носитель записи любого типа. Например, такие декодирующее устройство 1 и кодирующее устройство 101 могут быть применены в устройстве записи, использующем носитель записи, отличный от жесткого магнитного диска, такой как флэш-память, оптический диск или магнитная лента, как и в случае устройства 500 записи на жестком магнитном диске, описанного выше.
Фиг.46 представляет блок-схему, иллюстрирующую пример основной конфигурации видеокамеры, использующей декодирующее устройство и кодирующее устройство, в которых применено настоящее изобретение.
Видеокамера 600, показанная на фиг.46, считывает изображение предмета и представляет это изображение предмета на жидкокристаллическом дисплее 616, а также записывает это изображение в качестве данных изображения на носителе 633 записи.
Блок 611 объектива направляет световой поток (несущий изображение предмета) на формирователь 612 сигналов изображения ПЗС/КМОП-типа. ПЗС/КМОП-формирователь 612 представляет собой формирователь сигналов изображения, использующий ПЗС или КМОП-структуру, преобразующий интенсивность принимаемого света в электрический сигнал и передающий этот сигнал в блок 613 обработки сигнала видеокамеры.
Блок 613 обработки сигнала видеокамеры преобразует электрический сигнал, приходящий от ПЗС/КМОП-формирователя 612, в цветоразностные сигналы Y, Cr и Cb и передает эти сигналы в процессор 614 сигнала изображения. Процессор 614 сигнала изображения осуществляет некоторую обработку изображения в соответствии с сигналом изображения, поступающим от блока 613 обработки сигнала видеокамеры, и кодирует посредством кодирующего устройства 641 сигнал изображения с применением, например, алгоритма MPEG по командам контроллера 621. Процессор 614 для обработки сигнала изображения передает кодированные данные, генерируемые путем кодирования сигнала изображения, в декодер 615. Кроме того, процессор 614 сигнала изображения получает данные для представления на дисплее, генерируемые блоком 620 экранного меню (OSD), и передает эти данные в декодер 615.
При выполнении описанной выше процедуры блок 613 обработки сигнала видеокамеры использует должным образом динамическое запоминающее устройство 618 с произвольной выборкой (динамическое ОЗУ), соединенное с ним через шину 617, и записывает данные изображения, кодированные данные, полученные в результате кодирования этих данных изображения, или аналогичные данные для сохранения в этом динамическом ОЗУ 618 по мере необходимости.
Декодер 615 осуществляет декодирование кодированных данных, поступающих от процессора 6 14 сигнала изображения, и передает полученные данные изображения (данные декодированного изображения) жидкокристаллическому дисплею 616. Кроме того, декодер 615 передает данные для представления на дисплее, приходящие от процессора 614 сигнала изображения, жидкокристаллическому дисплею 616. Этот жидкокристаллический дисплей 616 суммирует должным образом изображение, представленное данными декодированного изображения, поступающими от декодера 615, и изображение данных для представления на дисплее и представляет результирующее составное изображение на дисплее.
Блок 620 экранного меню передает данные для представления на дисплее, такие как экран меню, образованный знаками, буквами или цифрами, и иконки в процессор 614 сигнала изображения через шину 617 по командам контроллера 621.
Контроллер 621 выполняет различные процедуры на основе сигнала, представляющего содержание команды, поданной пользователем с использованием операционного блока 622, а также управляет процессором 614 сигнала изображения, динамическим ОЗУ 618, внешним интерфейсом 619, блоком 620 экранного меню, приводом 623 носителя записи и т.п. через шину 617. Программы, данные и подобная информация, необходимые контроллеру 621 для выполнения различных процедур, записаны во флэш-ПЗУ 624.
Например, контроллер 621 может кодировать данные изображения, записанные в динамическом ОЗУ 618, или декодировать кодированные данные, записанные в динамическом ОЗУ 618, «от имени» процессора 614 сигнала изображения или декодера 615. В этот момент контроллер 621 может осуществлять процедуру кодирования/декодирования с использованием алгоритма, аналогичного алгоритму кодирования/декодирования в процессоре 614 сигнала изображения или в декодере 615, либо может выполнять процедуру кодирования/декодирования с использованием алгоритма, не совместимого с процессором 614 сигнала изображения или декодером 615.
Кроме того, когда, например, операционный блок 622 подал команду начать распечатку изображения, контроллер 621 считывает данные изображения из динамического ОЗУ 618 и передает эти данные принтеру 634, соединенному с внешним интерфейсом 619, через шину 617 для печати этого изображения.
Более того, когда, например, операционный блок 622 подал команду записать изображение, контроллер 621 считывает кодированные данные из динамического ОЗУ618 и передает эти данные на носитель 633 записи, установленный в приводе 623 носителя, через шину 617 для сохранения этих данных.
Носитель 633 записи представляет собой какой-либо произвольный считываемый и перезаписываемый сменный носитель записи, такой как магнитный диск, магнитооптический диск, оптический диск или полупроводниковая память. Безусловно, в качестве такого носителя 633 записи можно использовать сменный носитель записи любого типа, который может быть устройством на магнитной ленте, диском или картой памяти. Естественно, рассматриваемый носитель 633 записи может быть также бесконтактной электронной карточкой или аналогичным устройством.
Кроме того, привод 623 носителя записи и носитель 633 записи могут быть выполнены заодно в виде непортативного носителя записи, такого как встроенный накопитель информации на жестком магнитном диске или твердотельный SSD-накопитель.
Внешний интерфейс 619 содержит, например, USB-терминал ввода/вывода или аналогичный терминал, и соединяется с принтером 634, если нужно распечатать изображение. Кроме того, с внешним интерфейсом 619 в случае необходимости соединяют привод 631, на котором устанавливают соответствующий сменный носитель 632 записи, такой как магнитный диск, оптический диск или магнитооптический диск, а считываемую с носителя компьютерную программу инсталлируют по мере необходимости в памяти флэш-ПЗУ 624.
Далее, внешний интерфейс 619 имеет сетевой интерфейс, соединенный с какой-либо сетью связи, такой как локальная сеть связи (LAN) или Интернет. Контроллер 621 может считывать кодированные данные из динамического ОЗУ 618 и передавать эти данные от внешнего интерфейса 619 другому устройству, соединенному с ним через сеть связи, в соответствии с командами от, например, операционного блока 622. Кроме того, контроллер 621 может принимать через внешний интерфейс 619 кодированные данные или данные изображения, передаваемые от другого устройства через сеть связи, и сохранять их в динамическом ОЗУ 618 или направлять в процессор 614 сигнала изображения.
Камера 600, как описано выше, использует декодирующее устройство 1 в качестве декодера 615. Поэтому, аналогично случаю декодирующего устройства 1, декодер 615 осуществляет декодирование с использованием прогнозируемого изображения, генерируемого посредством прогнозирования с фильтрацией. Таким образом, можно получать декодированное изображение с высоким разрешением за счет более эффективного использования корреляции изображений во времени.
Вследствие этого видеокамера 600 может генерировать прогнозируемое изображение с высокой точностью без увеличения процессорной нагрузки. В результате, видеокамера 600 может получать декодированное изображение с повышенным разрешением на основе, например, данных изображения, генерируемых с использованием ПЗС/КМОП-формирователя 612, кодированных видеоданных, считываемых из динамического ОЗУ618 или с носителя 633 записи, или кодированных видеоданных, принимаемых через сеть связи, и может представлять это изображение на жидкокристаллическом дисплее 616.
Кроме того, видеокамера 600 использует кодирующее устройство 101 в качестве кодирующего устройства 641. Поэтому, аналогично случаю кодирующего устройства 101, указанное кодирующее устройство 641 осуществляет кодирование с использованием прогнозируемого изображения, генерируемого посредством прогнозирования с фильтрацией, включающего большое количество высокочастотных составляющих и имеющего небольшую разность относительно оригинального изображения, и таким образом, объем кода, назначаемого остаточной погрешности, может быть уменьшен, а эффективность кодирования может быть увеличена.
Соответственно, видеокамера 600 может повысить эффективность кодирования, например, кодированных данных для записи на жестком магнитном диске без увеличения сложности обработки. В результате, видеокамера 600 способна более эффективно использовать «пространство» записи в динамическом ОЗУ 618 или на носителе 633 записи.
В дополнение к этому способ декодирования, используемый в декодирующем устройстве 1, может быть применен в процессе декодирования, выполняемого контроллером 621. Аналогично способ кодирования, используемый в кодирующем устройстве 101, может быть применен в процессе кодирования, выполняемого контроллером 621.
Кроме того, данные изображения, считываемые видеокамерой 600, могут быть данными движущегося или неподвижного изображения.
Безусловно, декодирующее устройство 1 и кодирующее устройство 101 могут быть также применены в аппаратуре или системе, отличных от аппаратуры, описанной выше.
Перечень позиционных обозначений
1 - декодирующее устройство, 21 - схема прогнозирования/компенсации движения, 41 - схема определения режима прогнозирования, 42 - схема однонаправленного прогнозирования, 43 - схема двунаправленного прогнозирования, 44 -схема прогнозирования, 45 - схема фильтрации, 51 - схемы вычисления разности, 52 - фильтр нижних частот, 53 - схема регулировки коэффициента передачи, 54 - фильтр верхних частот, 55 - схема регулировки коэффициента передачи, 56 - сумматор, 57 - сумматор, 231 - схема разбиения блока, 232 - ограничитель, 233 - буфер
Класс H04N7/32 включающие кодовое прогнозирование
Класс G06K9/40 фильтрация помех