Область техники, к которой относится изобретение
Настоящее раскрытие относится к устройству и способу обработки изображений и, в частности, относится к устройству и способу обработки изображений, которые обеспечивают возможность повышения эффективности кодирования при подавлении снижения эффективности обработки кодирования.
Уровень техники
В последние годы устройства, соответствующие формату сжатия, такому как MPEG (Группа экспертов движущегося изображения), в котором информацию изображения обрабатывают в цифровой форме и сжимают, используя ортогональное преобразование, такое как дискретное косинусное преобразование, и применяя компенсацию движения путем использования избыточности, присущей информации изображения, с целью достижения высокоэффективного преобразования и накопления информации, стали преобладающими для использования, как при распределении информации станциями широковещательной передачи, так и при приеме информации в обычных домашних хозяйствах.
В частности, MPEG 2 (ISO (Международная организация по стандартизации)/IEC (Международная электротехническая комиссия) 13818-2), определенный как формат кодирования изображения общего назначения, представляет собой стандарт, который охватывает, как изображение с разверткой с перемежением, так и изображения последовательной разверткой, а также изображения стандартной четкости, так и изображения высокой четкости, и в настоящее время широко используется в широком диапазоне применений для профессионального использования и обычного потребления. В формате сжатия MPEG 2 могут быть реализованы высокая степень сжатия и предпочтительное качество изображения путем выделения, например, определенного количества кода (скорости передачи битов) 4-8 Мбит/с для изображения со стандартной четкостью и разверткой с перемежением, имеющего 720×480 пикселей или для количества кодов (скоростью битов) 18-22 Мбит/с для изображения высокой четкости с разверткой с перемежением, имеющего 1920×1088 пикселей.
MPEG 2, в основном, используют для кодирования изображений высокого качества, пригодного для широковещательной передачи, но не совместимого с форматами кодирования, с количеством кодов (скоростью битов) ниже, чем у MPEG 1, то есть, с высокой степенью сжатия. При широком использовании мобильных оконечных устройств необходимость в таких форматах кодов будет увеличиваться в будущем, и в ответ был стандартизован формат кодирования MPEG 4. Что касается формата кодирования изображения, MPEG 4 был назначен международным стандартом, как ISO/IEC 14496-2 в декабре 1998 г.
Кроме того, стандартизация в формате H.26L (ITU-T (Международный союз телекоммуникаций. Сектор стандартизации телекоммуникаций) Q6/16 VCEG (Группа экспертов кодирования видеоданных)), которая первоначально предназначалась для кодирования изображения для видеоконференций, все больше используется в последние годы. Известно, что в H.26L реализуется более высокая эффективность кодирования, чем в предыдущих форматах кодирования, таких как MPEG 2 и MPEG 4, хотя кодирование и декодирование в соответствии с H.26L подразумевает больший объем вычислений. Кроме того, как часть действия MPEG 4, стандартизация для реализации высокой эффективности кодирования, путем ввода функции, которая не поддерживается H.26L на основе H.26L, в настоящее время все чаще используется, как Объединенная модель кодирования видеоданных с улучшенным сжатием.
По плану стандартизации, стандарт под названием Н.264 и MPEG 4 Часть 10 (Усовершенствованное кодирование видеоданных, ниже называемое AVC) был обозначен, как международный стандарт, в марте 2003 г.
Кроме того, в качестве расширения представленного выше, в феврале 2005 была закончена стандартизация FRExt (Расширение диапазона точности воспроизведения), включающего в себя инструменты кодирования, необходимые для использования в бизнесе, такие как RGB, 4:2:2 и 4:4:4, а также 8×8 DCT (дискретное косинусное преобразование) и матрицы квантования, определенные в MPEG 2. В соответствии с этим, был установлен формат кодирования, позволяющий предпочтительно выражать даже шумы пленки, включенные в кинофильмы при использовании AVC, который используется в широком диапазоне применений, таких как диски Blu-ray.
Однако в последнее время все в большей степени возрастает потребность в кодировании с высокой степенью сжатия, например, сжатия изображения, имеющего приблизительно 4000×2000 пикселей, что в четыре раза превышает количество пикселей, включенных в изображение высокой четкости, или в распределении изображений высокой четкости в среде с ограниченной способностью передачи, такой как Интернет. Поэтому, в VCEG (Группа экспертов кодирования видеоданных) в соответствии с ITU-T, были проведены текущие исследования по улучшению эффективности кодирования.
В то же время, с целью реализации более высокой эффективности кодирования, чем в AVC, в настоящее время выполняют стандартизацию формата кодирования, называемую стандартом HEVC (Кодирование видеоданных высокой эффективности) в JCTVC (Объединенная группа по сотрудничеству в области кодирования видеоданных), которая представляет собой группу стандартов ITU-T и ISO/IEC (см., например, NPL 1).
В формате кодирования HEVC модули кодирования (CU) определены, как модули обработки, которые аналогичны макроблокам, используемым в AVC. В отличие от макроблока, используемого в AVC, размер CU не фиксирован 16×16 пикселями, и определен в информации сжатия изображения в каждой последовательности.
CU сконфигурированы иерархически от наибольшего модуля кодирования (LCU) до наименьшего модуля кодирования (SCU). Таким образом, в общем, рассматривается, что LCU соответствует макроблоку, используемому в AVC, и CU на более низком уровне, чем LCU, соответствует подмакроблоку, используемому в AVC.
В то же время, существует формат кодирования, в котором предусмотрены режим кодирования для кодирования и вывода данных изображения, и режим без кодирования для вывода данных изображения без кодирования данных изображения, при этом следует ли использовать режим кодирования или режим без кодирования, выбирают в модулях макроблоков, и режим кодирования, и режим без кодирования могут использоваться в комбинации с одним изображением (см., например, PTL 1). Также, в формате кодирования AVC, режим I_PCM, для вывода данных изображения без кодирования данных изображения поддерживается, как mb_type (см., например, PTL 2). Это используют для обеспечения операции в режиме реального времени кодирования обработки арифметического кодирования, в случае, когда параметры квантования установлены, как малое значение, такое как QP=0, и в случае, когда количество информации кодированных данных больше, чем у входного изображения. Кроме того, возможно реализовать кодирование без потерь, используя I-PCM.
Кроме того, был рассмотрен способ для увеличения внутренней арифметической обработки (см., например, NPL 2). В соответствии с этим, внутренняя арифметическая ошибка, связанная с обработкой, такой как ортогональное преобразование и компенсация движения, может быть уменьшена, и эффективность кодирования может быть улучшена.
Кроме того, была предложена технология, в которой фильтр FIR предусмотрен в контуре компенсации движения (см., например, NPL 3). В устройстве кодирования, при получении коэффициента фильтра FIR, используя фильтр Винера, для сведения к минимуму ошибки в отношении входного изображения, деградация опорного изображения может быть сведена к минимуму, и эффективность кодирования информации сжатия изображения, предназначенной для вывода, может быть улучшена.
Список литературы
Патентная литература
PTL 1: Японский патент №3992303
PTL 2: Японский патент №4240283
Непатентная литература
NPL 1: "Test Model under Consideration", JCTVC-B205, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG112nd Meeting: Geneva, CH, 21-28 July, 2010
NPL 2: Takeshi Chujoh, Reiko Noda, "Internal bit depth increase except frame memory", VCEG-AF07, ITU - Telecommunications Standardization Sector STUDY GROUP 16 Question 6 Video Coding Experts Group (VCEG) 32nd Meeting: San Jose, USA, 20-21 April, 2007
NPL 3: Takeshi Chujoh, Goki Yasuda, Naofumi Wada, Takashi Watanabe, Tomoo Yamakage, "Block-based Adaptive Loop Filter", VCEG-AI18, ITU - Telecommunications Standardization Sector STUDY GROUP 16 Question 6 Video Coding Experts Group (VCEG) 35th Meeting: Berlin, Germany, 16-18 July, 2008
Раскрытие изобретения
Техническая задача
Однако в случае формата кодирования, в котором CU определены, как в HEVC, и различные операции обработки выполняют в модулях CU, считается, что макроблок, используемый в AVC, соответствует LCU, но если I_PCM может быть установлен только в модулях LCU, ненужная обработка кодирования увеличивается, поскольку модуль обработки составляет максимум 128×128 пикселей, то эффективность обработки кодирования может снизиться. Например, может стать трудным обеспечить работу в режиме реального времени САВАС.
Кроме того, форматы кодирования, предложенные в NPL 2 и NPL 3, не включены в формат кодирования AVC, и совместимость с режимом I_PCM здесь не раскрыта.
Настоящее раскрытие было выполнено с учетом этих обстоятельств, и направлено на повышение эффективности кодирования при подавлении снижения эффективности обработки кодирования.
Решение задачи
В соответствии с аспектом настоящего раскрытия, предусмотрено устройство обработки изображения. Устройство обработки изображения включает в себя установщик режима кодирования для установки в модулях модулей кодирования, имеющих иерархическую структуру, следует ли выбрать режим без сжатия, в качестве режима кодирования, для кодирования данных изображения, при этом режим без сжатия представляет собой режим кодирования, в котором данные изображения выводят, в качестве кодированных данных; и кодер для кодирования данных изображения в модулях модулей кодирования, в соответствии с режимом, установленным установщиком режима кодирования.
Устройство обработки изображения может дополнительно включать в себя контроллер обработки сдвига для выполнения управления модулем кодирования, для которого режим без сжатия был установлен установщиком режима кодирования для пропуска обработки сдвига, при которой повышается точность битов для кодирования или декодирования; и процессор сдвига для выполнения обработки сдвига для модуля кодирования данных изображения, причем модулем кодирования управляют с помощью контроллера обработки сдвига, для выполнения обработки сдвига.
Устройство обработки изображения может дополнительно включать в себя контроллер обработки фильтром для управления модулем кодирования для которого режим без сжатия был установлен установщиком режима кодирования, для пропуска обработки фильтром, при которой выполняют фильтрацию локально декодированного изображения; вычислитель коэффициента фильтра для вычисления коэффициента фильтра для обработки фильтром, с использованием данных изображения, соответствующих модулю кодирования, управляемому контроллером обработки фильтром, для выполнения обработки фильтром; и процессор фильтра для выполнения обработки фильтром в модулях блоков, представляющих собой модули обработки фильтром, с использованием коэффициента фильтра, вычисленного вычислителем коэффициента фильтра.
Процессор фильтра может выполнять обработку фильтром только для пикселей, которыми управляет контроллер обработки фильтром, для выполнения обработки фильтром, при этом пиксели включены в текущий блок, который представляет собой цель для обработки.
Устройство обработки изображения может дополнительно включать в себя генератор информации идентификации фильтра для генерирования информации идентификации фильтра в единицах блоков, причем информация идентификации фильтра представляет собой информацию идентификации, указывающую, следует ли выполнить обработку фильтром.
Процессор фильтра может выполнять адаптивную фильтрацию контура для локально декодированного изображения, при этом адаптивная фильтрация контура представляет собой адаптивную обработку фильтром, использованием обработки классификации.
В случае, когда количество кода для кодированных данных, которое получают путем кодирования данных изображения, соответствующих текущему модулю кодирования, как цели обработки кодирования, меньше чем или равно количеству входных данных, которое представляет собой количество данных для данных изображения, соответствующих текущему модулю кодирования, установщик режима кодирования может установить режим кодирования текущего модуля кодирования, как режим без сжатия.
Устройство обработки изображения дополнительно включает себя вычислитель количества входных данных для вычисления количества входных данных. Установщик режима кодирования может выполнять сравнение для текущего модуля кодирования количества входных данных, вычисленного вычислителем количества входных данных, с количеством кода.
Устройство обработки изображения может дополнительно включать в себя генератор идентификационной информации, который генерирует идентификационную информацию в модулях модулей кодирования, причем идентификационная информация указывает, был ли установлен режим без сжатия с помощью установщика режима кодирования.
В соответствии с аспектом настоящего раскрытия, предусмотрен способ обработки изображений для устройства обработки изображений. Способ обработки изображений включает в себя установку с использованием установщика режима кодирования, в модулях модулей кодирования, имеющих иерархическую структуру, следует ли выбрать режим без сжатия, в качестве режима кодирования для кодирования данных изображения, при этом режим без сжатия представляет собой режим кодирования, в котором данные изображения выводят, в качестве кодированных данных; и кодирование, с использованием кодера, данных изображения в модулях модулей кодирования, в соответствии с установленным режимом.
В соответствии с другим аспектом настоящего раскрытия, предусмотрено устройство обработки изображения. Устройство обработки изображения включает в себя определитель режима кодирования для определения в модулях модулей кодирования, имеющих иерархическую структуру, был ли выбран режим без сжатия, в качестве режима кодирования, для кодирования данных изображения, причем режим без сжатия представляет собой режим кодирования, в котором данные изображения выводят, в качестве кодированных данных; и декодер для декодирования результата кодирования в модулях модулей кодирования, в соответствии с режимом, определенным определителем режима кодирования.
Устройство обработки изображения может дополнительно включать в себя контроллер обработки сдвига для управления модулем кодирования, для которого определитель режима кодирования определил, что был выбран режим без сжатия, для пропуска обработки сдвига, при которой повышается точность битов для кодирования или декодирования; и процессор сдвига для выполнения обработки сдвига для модуля кодирования данных изображения, при этом модулем кодирования управляют с помощью контроллера обработки сдвига для выполнения обработки сдвига.
Устройство обработки изображения может дополнительно включать в себя контроллер обработки фильтром для управления модулем кодирования, для которого определитель режима кодирования определил, что был выбран режим без сжатия, для пропуска обработки фильтром, при которой выполняют фильтрацию для локально декодируемого изображения; и процессор фильтра для выполнения обработки фильтром для данных изображения в модулях блоков, которые представляют собой модули обработки фильтром. Процессор фильтра может выполнять обработку фильтром только для пикселей, которыми управляют с помощью контроллера обработки фильтром для выполнения обработки фильтром, причем пиксели включены в текущий блок, который представляет собой цель обработки.
Процессор фильтра может выполнять адаптивную фильтрацию контура для локально декодируемого изображения, причем адаптивная фильтрация контура представляет собой обработку адаптивным фильтром с использованием обработки классификации.
Процессор фильтра может выполнять обработку фильтром, в случае, когда информация идентификации фильтра, указывающая, что обработка фильтром была выполнена, указывает, что обработка фильтром была выполнена для данных изображения, соответствующих текущему блоку, который представляет собой цель обработки, только когда управление выполняют с помощью контроллера обработки фильтром, для выполнения обработки фильтром для всех пикселей, включенных в текущий блок.
Определитель режима кодирования может определять, выбран ли режим без сжатия, на основе идентификационной информации, указывающей, выбран ли режим без сжатия, в модулях модулей кодирования.
В соответствии с другим аспектом настоящего раскрытия, предусмотрен способ обработки изображений для устройства обработки изображений. Способ обработки изображений включает в себя этапы, на которых: определяют, используя определитель режима кодирования, в модулях модулей кодирования, имеющих иерархическую структуру, выбран ли режим без сжатия, в качестве режима кодирования для кодирования данных изображения, при этом режим без сжатия представляет собой режим кодирования, при котором данные изображения выводят, в качестве кодированных данных; и декодируют, с помощью декодера, кодированные данные в модулях модулей кодирования, в соответствии с определенным режимом.
В соответствии с аспектом настоящего раскрытия, следует или нет выбрать режим без сжатия, в качестве режима кодирования, для кодирования данных изображения, устанавливают в модулях модулей кодирования, имеющих иерархическую структуру, при этом режим без сжатия представляет собой режим кодирования, в котором данные изображения выводят, в качестве кодированных данных, и данные изображения кодируют в модулях модулей кодирования, в соответствии с установленным режимом.
В соответствии с другим аспектом настоящего раскрытия определяют, был или нет выбран режим без сжатия, в качестве режима кодирования, для кодирования данных изображения в модулях модулей кодирования, имеющих иерархическую структуру, при этом режим без сжатия представляет собой режим кодирования, в котором данные изображения выводят, в качестве кодированных данных, а кодированные данные декодируют в модулях модулей кодирования, в соответствии с определенным режимом.
Полезные эффекты изобретения
В соответствии с настоящим раскрытием может быть обработано изображение. В частности, эффективность кодирования может быть повышена при подавлении снижения эффективности обработки кодирования.
Краткое описание чертежей
На фиг.1 показана блок-схема, иллюстрирующая устройство кодирования изображения, которое выводит информацию сжатого изображения на основе формата кода AVC.
На фиг.2 показана блок-схема, иллюстрирующая устройство декодирования изображения, которое принимает информацию сжатого изображения на основе формата кода AVC.
На фиг.3 показана схема, иллюстрирующая пример типа макроблока.
На фиг.4 показана схема, описывающая пример конфигурации модулей кодирования.
На фиг.5 показана схема, описывающая способ увеличения количества битов при внутренней арифметической обработке.
На фиг.6 показана схема, описывающая адаптивный фильтр цепи обратной связи.
На фиг.7 показана блок-схема, иллюстрирующая пример основной конфигурации устройства кодирования изображения.
На фиг.8 показана блок-схема, иллюстрирующая пример основной конфигурации кодера без потерь, фильтра контура и кодера РСМ по фиг.7.
На фиг.9 показана блок-схема, иллюстрирующая пример основной конфигурации модуля определения РСМ по фиг.8.
На фиг.10 показана блок-схема последовательности операций, описывающая пример потока кодирования обработки.
На фиг.11 показана блок-схема последовательности операций, описывающая пример потока обработки управления кодированием РСМ.
На фиг.12 показана блок-схема последовательности операций, описывающая пример потока обработки управления кодированием РСМ.
На фиг.13 показана блок-схема последовательности операций, описывающая пример потока обработки генерирования опорного изображения.
На фиг.14 показана блок-схема последовательности операций, описывающая пример потока обработки фильтром контура.
На фиг.15 показана блок-схема, иллюстрирующая пример основной конфигурации устройства декодирования изображения.
На фиг.16 показана блок-схема, иллюстрирующая пример основной конфигурации декодера без потерь, фильтра контура и декодера РСМ по фиг.15.
На фиг.17 показана блок-схема последовательности операций, описывающая пример потока обработки декодирования.
На фиг.18 показана блок-схема последовательности операций - продолжение фиг.17, описывающая пример потока обработки декодирования.
На фиг.19 показана блок-схема последовательности операций, описывающая пример потока обработки фильтром контура.
На фиг.20 показана схема, описывающая пример информации I_PCM.
На фиг.21 показана блок-схема, иллюстрирующая пример основной конфигурации персонального компьютера.
На фиг.22 показана блок-схема, иллюстрирующая пример основной конфигурации телевизионного приемника.
На фиг.23 показана блок-схема, иллюстрирующая пример основной конфигурации мобильного телефона.
На фиг.24 показана блок-схема, иллюстрирующая пример основной конфигурации устройства записи на жестком диске.
На фиг.25 показана блок-схема, иллюстрирующая пример основной конфигурации камеры.
Осуществление изобретения
Ниже будут описаны варианты осуществления для выполнения настоящей технологии (ниже называются вариантам осуществления). Следует отметить, что описание будет представлено в следующем порядке.
1. Первый вариант осуществления (устройство кодирования изображения),
2. Второй вариант осуществления (устройство декодирования изображения),
3. Третий вариант осуществления (персональный компьютер)
4. Четвертый вариант осуществления (телевизионный приемник)
5. Пятый вариант осуществления (мобильный телефон)
6. Шестой вариант осуществления (блок записи жесткого диска)
7. Седьмой вариант осуществления (камера)
1. Первый вариант осуществления
Устройство кодирования изображения, совместимое с форматом кодирования AVC
На фиг.1 иллюстрируется конфигурация устройства кодирования изображения, в соответствии с вариантом осуществления, которое кодирует изображение с использованием формата кодирования Н.264 и MPEG (Группа экспертов движущегося изображения) 4 часть 10 (AVC (Усовершенствованное кодирование видеоданных)).
Устройство 100 кодирования изображения, показанное на фиг.1, представляет собой устройство, которое кодирует изображение, используя формат кодирования на основе стандарта AVC, и выводит кодированное изображение. Как представлено на фиг.1, устройство 100 кодирования изображения включает в себя аналого-цифровой преобразователь 101, буфер 102 изменения компоновки экрана, модуль 103 вычисления, модуль 104 ортогонального преобразования, квантователь 105, кодер 106 без потерь и накопительный буфер 107. Кроме того, устройство 100 кодирования изображения включает в себя деквантователь 108, модуль 109 обратного ортогонального преобразования, модуль 110 вычисления, фильтр 111 устранения блочности, устройство 112 хранения кадра, селектор 113, модуль 114 прогнозирования внутри кадра, модуль 115 прогнозирования/компенсации движения, селектор 116 и контроллер 117 скорости.
Аналого-цифровой преобразователь 101 выполняет A/D преобразование данных изображения, подаваемых на него, и выводит данные изображения на буфер 102 изменения компоновки экрана для сохранения в нем данных изображения. Буфер 102 изменения компоновки экрана выполняет изменения компоновки, в соответствии со структурой GOP (группа изображений), изображений кадров, сохраненных в нем, компоновку которых выполняют в порядке отображения таким образом, что компоновка изображений кадров изменяется на порядок кодирования. Буфер 102 изменения компоновки экрана подает изображения кадра с измененной компоновкой на модуль 103 вычисления. Кроме того, буфер 102 изменения компоновки экрана подает изображения кадра с измененной компоновкой на модуль 114 прогнозирования внутри кадра и на модуль 115 прогнозирования/компенсации движения.
Модуль 103 вычисления вычитает из изображения, считанного из буфера 102 изменения компоновки экрана, изображение прогнозирования, подаваемое от модуля 114 прогнозирования внутри кадра или модуля 115 прогнозирования/компенсации движения через селектор 116 и выводит информацию об их разности на модуль 104 ортогонального преобразования.
Например, в случае изображения, в котором выполняется кодирование внутри кадра, модуль 103 вычисления вычитает изображение прогнозирования, подаваемое от модуля 114 прогнозирования внутри кадра, из изображения, считанного из буфера 102 изменения компоновки экрана. Кроме того, например, в случае изображения, в котором должно быть выполнено кодирование между кадрами, модуль 103 вычисления вычитает изображение прогнозирования, подаваемое от модуля 115 прогнозирования/компенсации движения из изображения, считанного из буфера 102 изменения компоновки экрана.
Модуль 104 ортогонального преобразования выполняет ортогональное преобразование, такое как дискретное косинусное преобразование или преобразование Карунена-Лоэва, для информации разности, подаваемой от модуля 103 вычисления, и подает его коэффициенты преобразования на квантователь 105.
Квантователь 105 выполняет квантование коэффициентов преобразования, выводимых модулем 104 ортогонального преобразования. Квантователь 105 выполняет квантование путем установки параметров квантования на основе информации о целевом значении количества кода, подаваемого от контроллера 117 скорости. Квантователь 105 подает квантованные коэффициенты преобразования на кодер 106 без потерь.
Кодер 106 без потерь выполняет кодирование без потерь, такое как кодирование переменной длины или арифметическое кодирование, для квантованного коэффициента преобразования. Данные коэффициента были квантованы под управлением, выполняемым контроллером 117 скорости, и, таким образом, количество их кода равно (или приближается к) целевому значению, установленному контроллером 117 скорости.
Кодер 106 без потерь получает информацию, указывающую прогнозирование внутри кадра и т.д., из блока 114 прогнозирования внутри кадра, и получает информацию, указывающую режим прогнозирования между кадрами, информацию о векторе движения и т.д. из модуля 115 прогнозирования/компенсации движения. Следует отметить, что информация, указывающая прогнозирование внутри кадра (прогнозирование внутри экрана) также будет называться ниже информацией режима прогнозирования внутри кадра. Кроме того, информация, указывающая режим информации, указывающий прогнозирование между кадрами (прогнозирование между экранами), также ниже будет называться информацией режима прогнозирования между кадрами.
Кодер 106 без потерь кодирует квантованный коэффициент преобразования, и также обеспечивает то, что различные части информации, такие как коэффициент фильтра, информация режима прогнозирования внутри кадра, информация режима прогнозирования между кадрами и параметр квантования составляют часть информации заголовка кодированных данных (мультиплексирует различные части информации). Кодер 106 без потерь подает кодированные данные, которые были получены путем кодирования накопительного буфера 107, для сохранения в нем кодированных данных.
Например, в кодере 106 без потерь выполняется обработка кодирования без потерь, такая как кодирование переменной длины или арифметическое кодирование. Пример кодирования переменной длины включает в себя CAVLC (Адаптированное к контексту кодирование переменной длины), определенное в формате H.264/AVC. Пример арифметического кодирования включает в себя САВАС (Адаптированное к контексту двоичное арифметическое кодирование).
Накопительный буфер 107 временно содержит кодированные данные, подаваемые от кодера 106 без потерь, и выводит кодированные данные, например, на устройство записи или в канал передачи на последующем этапе (не представлен) в определенные моменты времени, как кодированное изображение, которое было кодировано с использованием формата H.264/AVC.
Кроме того, коэффициент преобразования, квантованный квантователем 105, также подают в деквантователь 108. Деквантователь 108 выполняет деквантование квантованного коэффициента преобразования, используя способ, соответствующий квантованию, выполняемому квантователем 105. Деквантователь 108 подает коэффициенты преобразования, полученные с его помощью, на модуль 109 обратного ортогонального преобразования.
Модуль 109 обратного ортогонального преобразования выполняет обратное ортогональное преобразование коэффициента преобразования, подаваемого на него, используя способ, соответствующий обработке ортогонального преобразования, выполняемой модулем 104 ортогонального преобразования. Выходные данные, полученные в результате обратного ортогонального преобразования (восстановленная информация разности), поступают на модуль 110 вычисления.
Модуль 110 вычисления добавляет изображение прогнозирования, подаваемое от модуля 114 прогнозирования внутри кадра или модуля 115 прогнозирования/компенсации движения, через селектор 116 для получения обратного ортогонального преобразования, подаваемого модулем 109 обратного ортогонального преобразования, то есть восстановленную информацию разности, и получает локально декодированное изображение (декодированное изображение).
Например, в случае, когда информация разности соответствует изображению, для которого должно быть выполнено кодирование внутри кадра, модуль 110 вычисления добавляет изображение прогнозирования, подаваемое от модуля 114 прогнозирования внутри кадра, к информации разности. Кроме того, например, в случае, когда информация разности соответствует изображению, для которого требуется выполнить кодирование между кадрами, модуль 110 вычисления суммирует изображение прогнозирования, подаваемое от модуля 115 прогнозирования/компенсации движения, с информацией разности.
Результат суммирования поступает на фильтр 111 устранения блочности или в устройство 112 хранения кадра.
Фильтр 111 устранения блочности выполняет обработку фильтром устранения блочности соответствующим образом, удаляя, таким образом, искажения блоков декодированного изображения. Фильтр 111 устранения блочности подает результат обработки фильтром в устройство 112 хранения кадра. Следует отметить, что декодированное изображение, выведенное модулем 110 вычисления, может быть подано в устройство 112 хранения кадра не через фильтр 111 устранения блочности. Таким образом, обработка фильтром устранения блочности, выполняемая фильтром 111 устранения блочности может быть пропущена.
В устройстве 112 хранения кадра содержится декодированное изображение, поданное на него, и оно выводит сохраненное декодированное изображение, как опорное изображение, на модуль 114 прогнозирования внутри кадра, или на модуль 115 прогнозирования/компенсации движения через селектор 113 в определенные моменты времени.
Например, в случае изображения, для которого следует выполнить кодирование внутри кадра, устройство 112 хранения кадра подает опорное изображение на модуль 114 прогнозирования внутри кадра через селектор 113. Кроме того, например, в случае, когда следует выполнить кодирование между кадрами, устройство 112 хранения кадра подает опорное изображение на модуль 115 прогнозирования/компенсации движения через селектор 113.
В случае, когда опорное изображение, подаваемое из устройства 112 хранения кадра, представляет собой изображение, в котором следует выполнить кодирование внутри кадра, селектор 113 подает опорное изображение на модуль 114 прогнозирования внутри кадра. С другой стороны, в случае, когда опорное изображение, подаваемое из устройства 112 хранения кадра, представляет собой изображение, для которого требуется выполнить кодирование между кадрами, селектор 113 подает опорное изображение на модуль 115 прогнозирования/компенсации движения.
Модуль 114 прогнозирования внутри кадра выполняет прогнозирование внутри кадра (прогнозирование внутри экрана), при котором генерируется прогнозируемое изображение, используя значения пикселей целевого изображения, предназначенного для обработки, подаваемого из устройства 112 хранения кадра через селектор 113. Модуль 114 прогнозирования внутри кадра выполняет прогнозирование внутри кадра, используя множество подготовленных режимов (режимов прогнозирования внутри кадра).
В формате кодирования информации изображения, в соответствии с Н.264 определены режим прогнозирования 4×4 внутри кадра, режим прогнозирования 8×8 кадра и режим прогнозирования 16×16 внутри кадра для сигналов яркости. Кроме того, что касается цветоразностных сигналов может быть определен режим прогнозирования, независимый от режима прогнозирования сигналов яркости, для индивидуальных макроблоков. Что касается режима прогнозирования 4×4 внутри кадра, один режим прогнозирования внутри кадра определен для каждого блока яркости 4×4. Что касается режимов прогнозирования 8×8 внутри кадра, один режим прогнозирования внутри кадра определен для каждого из блоков яркости 8×8. Что касается режима прогнозирования 16×16 внутри кадра и цветоразностных сигналов, один режим прогнозирования определен для одного макроблока.
Модуль 114 прогнозирования внутри кадров генерирует изображения прогнозирования, используя все кандидаты режимов прогнозирования внутри кадра, выполняет оценку значения функции стоимости отдельных изображений прогнозирования, используя входное изображение, подаваемое в буфер 102 изменения компоновки экрана, и выбирает оптимальный режим. После выбора оптимального режима прогнозирования внутри кадра, блок 114 прогнозирования внутри кадра подает прогнозируемое изображение, которое было сгенерировано, используя оптимальный режим, на модуль 103 вычисления и модуль 110 вычисления через селектор 116.
Кроме того, как описано выше, модуль 114 прогнозирования внутри кадра предоставляет информацию, такую как информация о режиме прогнозирования внутри кадра, указывающую принятый режим прогнозирования внутри кадра, в кодер 106 без потерь, соответствующим образом.
Модуль 115 прогнозирования/компенсации движения выполняет прогнозирование движения (прогнозирование между кадрами) для изображения, для которого должно быть выполнено кодирование между кадрами, используя входное изображение, подаваемое от буфера 102 изменения компоновки экрана, и опорное изображение, подаваемое из устройства 112 хранения кадра через селектор 113, выполняет обработку компенсации движения в соответствии с обнаруженным вектором движения и генерирует прогнозируемое изображение (информацию прогнозируемого изображения между кадрами). Модуль 115 прогнозирования/компенсации движения выполняет такое прогнозирование между кадрами, используя множество подготовленных режимов (режимов прогнозирования между кадрами).
Модуль 115 прогнозирования/компенсации движения генерирует изображения прогнозирования, используя все кандидаты режимов прогнозирования между кадрами, выполняет оценку значения функции стоимости индивидуальных изображений прогнозирования и выбирает оптимальный режим. Модуль 115 прогнозирования/компенсации движения подает сгенерированное изображение прогнозирования на модуль 103 вычисления и модуль 110 вычисления через селектор 116.
Кроме того, модуль 115 прогнозирования/компенсации движения подает информацию о режиме прогнозирования между кадрами, указывающую принятый режим прогнозирования между кадрами, и информацию о векторе движения, указывающую вычисленный вектор движения, на кодер 106 без потерь.
В случае изображения, для которого должно быть выполнено кодирование внутри кадра, селектор 116 подает выходные данные модуля 114 прогнозирования внутри кадра на модуль 103 вычисления и на модуль 110 вычисления. В случае изображения, для которого следует выполнить кодирование между кадрами, селектор 116 подает выходные данные модуля 115 прогнозирования/компенсации движения на модуль 103 вычисления и на модуль 110 вычисления.
Контроллер 117 скорости управляет скоростью операции квантования, выполняемой квантователем 105, на основе сжатых изображений, накопленных в накопительном буфере 107, таким образом, что не возникает переполнение или потеря значимости.
Устройство декодирования изображения, совместимое с форматом кодирования AVC
На фиг.2 показана блок-схема, иллюстрирующая основную примерную конфигурацию устройства декодирования изображения, которое реализует сжатие изображения, используя ортогональное преобразование, такое как дискретное косинусное преобразование или преобразование Карунена-Лоэва и с компенсацией движения. Устройство 200 декодирования изображения, представленное на фиг.2, представляет собой устройство декодирования, соответствующее устройству 100 кодирования изображения, представленному на фиг.1.
Кодированные данные, которые были кодированы устройством 100 кодирования изображения, подают на устройство 200 декодирования изображения, соответствующее устройству 100 кодирования изображения, через произвольный путь, например, канал передачи, носитель записи и т.п.и декодируют.
Как показано на фиг.2, устройство 200 декодирования изображения включает в себя накопительный буфер 201, декодер 202 без потерь, деквантователь 203, модуль 204 обратного ортогонального преобразования, модуль 205 вычисления, фильтр 206 устранения блочности, буфер 207 изменения компоновки экрана и D/A преобразователь 208. Кроме того, устройство 200 декодирования изображения включает в себя запоминающее устройство 209 кадра, селектор 210, модуль 211 прогнозирования внутри кадра, модуль 212 прогнозирования/компенсации движения и селектор 213.
Накопительный буфер 201 накапливает кодированные данные, передаваемые на него. Кодированные данные были кодированы устройством 100 кодирования изображения. Декодер 202 без потерь декодирует кодированные данные, считанные из накопительного буфера 201 в определенный момент времени, используя формат, соответствующий формату кодирования, используемому кодером 106 без потерь, представленному на фиг.1.
Кроме того, в случае, когда целевой кадр был кодирован внутри кадра, информацию режима прогнозирования внутри кадра сохраняют на участке заголовка кодированных данных. Декодер 202 без потерь также декодирует информацию о режиме прогнозирования внутри кадра, и подает эту информацию на модуль 211 прогнозирования внутри кадра. В отличие от этого, в случае, когда целевой кадр был кодирован между кадрами, информацию вектора движения сохраняют в участке заголовка кодированных данных. Декодер 202 без потерь также декодирует информацию вектора движения, и передает эту информацию на модуль 212 прогнозирования/компенсации движения.
Деквантователь 203 выполняет деквантование данных коэффициента (квантованного коэффициента), который получают путем декодирования, выполняемого декодером 202 без потерь, используя способ, соответствующий способу квантования, используемый квантователем 105, представленным на фиг.1. Таким образом, деквантователь 203 выполняет деквантование квантованного коэффициента, используя способ, аналогичный используемому деквантователем 108, представленным на фиг.1.
Деквантователь 203 подает деквантованные данные коэффициента, то есть, коэффициента ортогонального преобразования, на модуль 204 обратного ортогонального преобразования. Модуль 204 обратного ортогонального преобразования выполняет обратное ортогональное преобразование для коэффициента ортогонального преобразования, используя способ, соответствующий способу ортогонального преобразования, используемому модулем 104 ортогонального преобразования, представленным на фиг.1 (способ, аналогичный способу, используемому модулем 109 обратного ортогонального преобразования, представленным на фиг.1), и получает декодированные остаточные данные, соответствующие остаточным данным перед ортогональным преобразованием в устройстве 100 кодирования изображения. Например, может быть выполнено обратное ортогональное преобразование четвертого порядка.
Декодированные остаточные данные, полученные в результате обратного ортогонального преобразования, подают на модуль 205 вычисления. Кроме того, в модуль 205 вычисления подают изображение прогнозирования из модуля 211 прогнозирования внутри кадра или модуля 212 прогнозирования/компенсации движения через селектор 213.
Модуль 205 вычисления суммирует декодированные остаточные данные и прогнозируемое изображение, получая, таким образом, декодированные данные изображения, соответствующие данным изображения, из которых изображение прогнозирования не было вычтено модулем 103 вычисления устройства 100 кодирования изображения. Модуль 205 вычисления подает декодированные данные изображения на фильтр 206 устранения блочности.
Фильтр 206 устранения блочности удаляет искажение блоков в декодированном изображении, подаваемом на него, и подает декодированное изображение на буфер 207 изменения компоновки экрана.
Буфер 207 изменения компоновки экрана изменяет компоновку изображений. Таким образом, для кадров, компоновка которых была изменена в порядке кодирования буферов 102 изменения компоновки экрана, представленном на фиг.1, компоновку изменяют в порядке исходного отображения. D/A преобразователь 208 выполняет D/A-преобразование изображения, подаваемого из буфера 207 изменения компоновки экрана, и выводит изображение на устройство отображения (не показано) для отображения изображения на нем.
Выход фильтра 206 устранения блочности также подают в устройство 209 хранения кадра.
Устройство 209 хранения кадра, селектор 210, модуль 211 прогнозирования внутри кадра, модуль 212 прогнозирования/компенсации движения и селектор 213, соответственно, соответствуют устройству 112 хранения кадра, селектору 113, модулю 114 прогнозирования внутри кадра, модулю 115 прогнозирования/компенсации движения и селектору 116 устройства 100 кодирования изображения.
Селектор 210 считывает изображение, для которого требуется выполнить обработку между кадрами, и опорное изображение из устройства 209 хранения кадра, и подает эти изображения на модуль 212 прогнозирования/компенсации движения. Кроме того, селектор 210 считывает изображение, предназначенное для использования, для прогнозирования внутри кадра, из устройства 209 хранения кадра, и подает это изображение на модуль 211 прогнозирования внутри кадра.
В модуль 211 прогнозирования внутри кадра подают, например, информацию, указывающую режим прогнозирования внутри кадра, которая была получена, соответствующим образом, путем декодирования информации заголовка из декодера 202 без потерь. Модуль 211 прогнозирования внутри кадра генерирует изображение прогнозирования из опорного изображения, полученного из устройства 209 хранения кадра, на основе этой информации, и подает сгенерированное изображение прогнозирования на селектор 213.
Модуль 212 прогнозирования/компенсации движения получает информацию, которая была получена путем декодирования информации заголовка (информацию режима прогнозирования, информацию вектора движения, информацию опорного кадра, флаг, различные параметры и т.д.) из декодера 202 без потерь.
Модуль 212 прогнозирования/компенсации движения генерирует прогнозируемое изображение из опорного изображения, полученного из устройства 209 хранения кадра, на основе информации, подаваемой из декодера 202 без потерь, и подает сгенерированное прогнозируемое изображение на селектор 213.
Селектор 213 выбирает изображение прогнозирования, которое было сгенерировано модулем 212 прогнозирования/компенсации движения или модулем 211 прогнозирования внутри кадра, и подает это изображение на модуль 205 вычисления.
Тип макроблока
В качестве примера, как раскрыто в PTL 1, существует формат кодирования, в котором предусмотрен режим кодирования для кодирования и вывода данных изображения, и предусмотрен режим без кодирования для вывода данных изображения без кодирования данных изображения, где выбирают, следует ли использовать режим кодирования или режим без кодирования в единицах макроблоков, и режим кодирования и режим без кодирования могут использоваться в комбинации в пределах одного изображения. Как раскрыто в PTL 2, в формате кодирования AVC также поддерживается режим I_PCM (импульсная кодовая модуляция в внутри блока) (режим без сжатия) для вывода данных изображения без кодирования данных изображения, как один из типов макроблоков (mb_type), как представлено на фиг.3.
Это используется для обеспечения возможности выполнения операций в режиме реального времени при обработке арифметического кодирования, в случае, когда параметры квантования установлены, как малое значение, такое как QP=0, и в случае, когда количество информации кодированных данных больше, чем во входном изображении. Кроме того, кодирование без потерь может быть реализовано путем использования режима I-PCM (режим без сжатия).
Функция стоимости
В то же время, для достижения высокой эффективности кодирования в формате кодирования AVC важно выбрать соответствующий режим прогнозирования.
Пример способа выбора представляет собой способ, который загружен в опорное программное обеспечение, в соответствии с H.264/MPEG-4 AVC, называемое JM (Объединенная модель), которое реализовано в http://iphome.hhi.de/suehring/tml/index.htm.
В соответствии с JM могут быть выбраны следующие два способа определения режима, то есть, режим большой сложности и режим малой сложности. В любом из них вычисляют значения функции стоимости в отношении индивидуальных режимов прогнозирования, и режим прогнозирования с наименьшим значением функции стоимости выбирают, как оптимальный режим для целевого блока или макроблока.
Функция стоимости в отношении режима большой сложности выражена следующим уравнением (1).
Здесь Ω представляет универсальный набор режимов кандидатов для кодирования целевого блока или макроблока, и D представляет собой дифференциальную энергию между декодируемым изображением и входным изображением в случае, когда кодирование выполняют, используя режим прогнозирования. λ представляет неопределенный множитель Лагранжа, который задан, как функция параметра квантования. R представляет общую величину кода, включающего в себя коэффициент ортогонального преобразования, в случае, когда кодирование выполняют, используя этот режим.
Таким образом, для выполнения кодирования, используя режим большой сложности, необходимо один раз выполнить предварительную обработку кодирования, используя все режимы-кандидаты, для расчета параметров D и R, что подразумевает большой объем вычислений.
Функция стоимости в режиме малой сложности выражена следующим уравнением (2).
Здесь D представляет собой дифференциальную энергию между изображением прогнозирования и входным изображением, в отличие от режима большой сложности. QP2Quant(QP) задано, как функция параметра QP квантования, и HeaderBit представляет количество кода, относящегося к информации, принадлежащей заголовку, такой как вектор движения и режим, не включая в себя коэффициент ортогонального преобразования.
Таким образом, в режиме малой сложности необходимо выполнить обработку прогнозирования в отношении индивидуальных режимов кандидатов, но декодированное изображение не является необходимым, и, таким образом, нет необходимости выполнять обработку кодирования. Таким образом, режим малой сложности может быть реализован с меньшим объемом вычислений, чем в режиме большой сложности.
Модуль кодирования
Далее будет представлено описание модулей кодирования, которые определены в формате кодирования HEVC, описанном в NPL 1.
Модули кодирования (CU), также называемые блоками дерева кодирования (СТВ), представляют собой частичные области изображения для каждого изображения, которые играют роль, аналогичную макроблокам в AVC, и представляют собой модули кодирования, имеющие иерархическую структуру. Размер макроблока фиксирован до 16×16 пикселей, в то время, как размер CU не фиксирован и установлен в информации сжатия изображения в каждой последовательности.
В частности, CU, имеющий наибольший размер называется LCU (наибольший модуль кодирования), и CU, имеющий наименьший размер, называется SCU (наименьший модуль кодирования). Например, размеры этих областей установлены в наборе параметров последовательности (SPS), включенном в информацию сжатия изображения. Отдельные области имеют квадратную форму, и их размеры ограничены размерами, выраженными степенью 2.
На фиг.4 иллюстрируется пример модулей кодирования, определенных в HEVC. В примере, показанном на фиг.4, размер LCU равен 128, и максимальная глубина слоя составляет 5. Когда значение split_flag равно "1", CU, имеющий размер 2N×2N разделяют на CU, каждый имеющий размер N×N, на непосредственно нижнем уровне.
Кроме того, CU разделяют на модули прогнозирования (PU), каждый из которых представляет собой область, используемую, как единица обработки для прогнозирования внутри кадра или прогнозирования между кадрами (частичная область изображения для каждого изображения), или разделяют на модули преобразования (TU), каждый из которых представляет собой область, используемую, как модуль обработки для ортогонального преобразования (частичная область изображения для каждого изображения). В настоящее время, в HEVC можно использовать ортогональные преобразования 16×16 и 32×32, в дополнение к ортогональным преобразованиям 4×4 и 8×8.
IBDI
В то же время в NPL 2 предложен способ увеличения внутреннего объема арифметических вычислений (IBDI (увеличение внутренней битовой глубины, за исключением запоминающего устройства кадра)), представленных на фиг.5. В этом способе, как показано на фиг.5, глубина битов данных увеличивается, например, от 8 битов до 12 битов при обработке квантования, обработке кодирования без потерь, обработке деквантования, обработке фильтра, обработке прогнозирования, обработке декодирования без потерь и т.д., выполняемой устройством кодирования и устройством декодирования. В соответствии с этим, внутренняя арифметическая ошибка при обработке, такой как ортогональное преобразование или компенсация движения, может быть уменьшена, и эффективность кодирования может быть улучшена.
BALF
В то же время, в NPL 3 предложен способ, в котором предусмотрен фильтр FIR в контуре компенсации движения, и обработку фильтром контура адаптивно выполняют, используя этот фильтр (BALF (адаптивный фильтр контура на основе блока)), как представлено на фиг.5. В устройстве кодирования коэффициент фильтра FIR получают, используя фильтр Винера, для минимизации ошибки в отношении входного изображения, и, таким образом, деградация опорного изображения может быть минимизирована, и эффективность кодирования информации сжатия изображения, которая должна быть выведена, может быть улучшена.
Эффективность обработки кодирования
В то же время, в случае формата кодирования, в котором определены CU, и различные операции обработки выполняют в единицах CU, как в HEVC, можно учитывать, что макроблок в AVC соответствует LCU. Однако, поскольку CU имеет иерархическую структуру, как показано на фиг.4, размер LCU на верхнем уровне, в общем, установлен большим, чем макроблок в AVC, например, 128×128 пикселей.
Поэтому, в таком формате кодирования, как в случае AVC, если режим I_PCM установлен в единицах LCU, модуль обработки становится больше, чем в AVC, например, 128×128 пикселей.
Режим прогнозирования внутри кадров или прогнозирования между кадрами определяют путем вычисления и сравнения значений функции стоимости, как описано выше. Таким образом, прогнозирование и кодирование выполняют, используя все режимы, при этом вычисляют индивидуальные значения функции стоимости, выбирают оптимальный режим, и кодированные данные генерируют, используя оптимальный режим.
Однако когда принят режим I_PCM, кодированные данные, генерируемые с использованием оптимального режима, отбрасывают, и входное изображение (не кодированные данные) принимают, как результат кодирования. Таким образом, когда выбран режим I_PCM, все операции по обработке для генерирования кодированных данных оптимального режима, являются ненужными. Таким образом, если модуль управления выбором режима I_PCM становится большим, дополнительно увеличиваются ненужные операции обработки. Таким образом, как описано выше, если для каждого LCU выбрано, следует или нет применять режим I_PCM, эффективность обработки кодирования может дополнительно снизиться. Таким образом, например, может быть трудно обеспечить работу в режиме реального времени САВАС.
Кроме того, описанные выше технологии, такие как IBDI и BALF, не включены в формат кодирования AVC. В случае, когда принят режим I_PCM, неизвестно, как управлять этими операциями обработки.
В соответствии с этим, настоящий вариант осуществления обеспечивает более подробное управление выбором режима I_PCM (режим без сжатия), и также обеспечивает возможность расширения эффективности кодирования при подавлении снижения эффективности обработки кодирования. Кроме того, настоящий вариант осуществления позволяет обеспечить соответствующее управление исполнением IBDI и BALF, в соответствии с выбором режима I_PCM, и также обеспечивает дополнительное подавление снижения эффективности при обработке кодирования.
Устройство кодирования изображения
На фиг.7 показана блок-схема, иллюстрирующая пример основной конфигурации устройства кодирования изображения.
Устройство 300 кодирования изображения, показанное на фиг.7, в основном, аналогично устройству 100 кодирования изображения, показанному на фиг.1, и кодирует данные изображения. Как показано на фиг.7, устройство 300 кодирования изображения включает в себя A/D преобразователь 301, буфер 302 изменения компоновки экрана, модуль 303 адаптивного сдвига влево, модуль 304 вычисления, модуль 305 ортогонального преобразования, квантователь 306, кодер 307 без потерь, и буфер 308 накопления. Кроме того, устройство 300 кодирования изображения включает в себя деквантователь 309, модуль 310 обратного ортогонального преобразования, модуль 311 вычисления, фильтр 312 контура, модуль 313 адаптивного сдвига вправо, устройство 314 хранения кадра, модуль 315 адаптивного сдвига влево, селектор 316, модуль 317 прогнозирования внутри кадра, модуль 318 прогнозирования/компенсации движения, селектор 319 и контроллер 320 скорости.
Устройство 300 кодирования изображения дополнительно включает в себя кодер 321 РСМ.
A/D преобразователь 301 выполняет A/D преобразование данных изображения, подаваемых на него, как в случае A/D преобразователя 101. A/D преобразователь 301 подает преобразованные данные изображения (цифровые данные) на буфер 302 изменения компоновки экрана для сохранения в нем данных изображения. Буфер 302 изменения компоновки экрана изменяет компоновку, в соответствии со структурой GOP (группа изображений), изображения кадра, сохраненного в нем, которое размещают в порядке отображения таким образом, что компоновка изображений кадра изменяется в порядке кодирования, как и в случае буфера 102 изменения компоновки экрана. Буфер 302 изменения компоновки экрана подает изображения кадра изменения компоновки на модуль 303 адаптивного сдвига влево.
Кроме того, буфер 302 изменения компоновки экрана подает изображения кадра с измененной компоновкой также на кодер 307 без потерь и на кодер 321 РСМ.
Модулем 303 адаптивного сдвига влево управляют с помощью кодера 321 РСМ, он сдвигает данные изображения, которые были считаны, из буфера 302 изменения компоновки экрана в направлении влево, и увеличивает свою глубину битов на определенное количество битов (например, на 4 бита). Например, модуль 303 адаптивного сдвига влево увеличивает глубину битов данных изображения, которые были считаны, из буфера 302 изменения компоновки экрана, с 8 битов до 12 битов. В результате увеличения глубины битов, таким образом, точность внутренней арифметической обработки в каждой из операций обработки, таких, как обработка ортогонального преобразования, обработка квантования, обработка кодирования без потерь, обработка прогнозирования и т.д., может быть увеличена, и ошибки могут быть подавлены.
Следует отметить, что величина сдвига влево (количество битов) не определена, и может представлять собой фиксированную или переменную величину. Кроме того, обработка сдвига влево может быть пропущена в соответствии с управлением, выполняемым кодером 321 РСМ.
Модуль 303 адаптивного сдвига влево подает данные изображения, для которых была выполнена обработка сдвига влево, на модуль 304 вычисления (в случае, когда обработка пропущена, данные изображения, выведенные из буфера 302 изменения компоновки экрана, подают на модуль 304 вычисления). Кроме того, модуль 303 адаптивного сдвига влево также подает данные изображения на модуль 317 прогнозирования внутри кадра и на модуль 318 прогнозирования/компенсации движения.
Модуль 304 вычисления вычитает из изображения, подаваемого модулем 303 адаптивного сдвига влево, изображение прогнозирования, подаваемое модулем 317 прогнозирования внутри кадра или модулем 318 прогнозирования/компенсации движения через селектор 319, как и в случае модуля 103 вычисления. Модуль 304 вычисления выводит свою информацию разности на модуль 305 ортогонального преобразования.
Например, в случае изображения, для которого требуется выполнить кодирование внутри кадров, модуль 304 вычисления вычитает изображение прогнозирования, поданное модулем 317 прогнозирования внутри кадров, из изображения, поданного модулем 303 адаптивного сдвига влево. Кроме того, например, в случае изображения, для которого требуется выполнить кодирование между кадрами, модуль 304 вычисления вычитает изображение прогнозирования, подаваемое модулем 318 прогнозирования/компенсации движения из изображения, поданного из адаптивного модуля 303 сдвига влево.
Модуль 305 ортогонального преобразования выполняет ортогональное преобразование, такое как дискретное косинусное преобразование или преобразование Карунена-Лоэва, для информации разности, подаваемой от модуля 304 вычисления, как и в случае модуля 104 ортогонального преобразования. Способ для ортогонального преобразования не указан. Модуль 305 ортогонального преобразования подает свои коэффициенты преобразования на квантователь 306.
Квантователь 306 выполняет квантование коэффициента преобразования, поданного от модуля 305 ортогонального преобразования, как и в случае квантователя 105. Квантователь 306 выполняет квантование путем установки параметров квантования, на основе информации о целевом количестве величины кода, подаваемого от контроллера 320 скорости. Способ для квантования не указан. Квантователь 306 подает квантованный коэффициент преобразования на кодер 307 без потерь.
Кодер 307 без потерь выполняет кодирование без потерь, такое как кодирование переменной длины или арифметическое кодирование, для коэффициента преобразования, квантованного квантователем 306, как и в случае кодера 106 без потерь. Данные коэффициента были квантованы под управлением, выполняемым контроллером 320 скорости, и, таким образом, количество их кода равно (или приблизительно равно) целевому значению, установленному контроллером 320 скорости.
Следует отметить, что, в случае, когда режим I_PCM выбран кодером 321 РСМ, кодер 307 без потерь рассматривает входное изображение (не кодированные данные), подаваемое из буфера 302 изменения компоновки экрана, как результат кодирования (то есть, кодирование фактически пропускается).
Кроме того, кодер 307 без потерь получает информацию, указывающую режим прогнозирования внутри кадра и т.д., от модуля 317 прогнозирования внутри кадра, и получает информацию, указывающую режим прогнозирования между кадрами, информацию вектора движения и т.д. от модуля 318 прогнозирования/компенсации движения. Кроме того, кодер 307 без потерь получает коэффициент фильтра, используемый фильтром 312 контура.
Кодер 307 без потерь кодирует различные части информации, такие как коэффициент фильтра, информация, указывающая режим для режима прогнозирования внутри кадров или прогнозирования между кадрами, и параметр квантования, как в случае кодера 106 без потерь, и подает различные части информации, как часть информации заголовка кодированных данных (мультиплексирует различные части информации). Кодер 307 без потерь подает кодированные данные, которые были получены в результате кодирования (включая в себя не кодированные данные, в случае режима I_PCM) в накопительный буфер 308 для сохранения в нем кодированных данных.
Например, в кодере 307 без потерь, как и в случае кодера 106 без потерь, выполняется обработка такая, как кодирование без потерь, кодирование переменной длины или арифметическое кодирование. Пример кодирования переменной длины включает в себя CAVLC (адаптивное к контексту кодирование переменной длины), определенное в формате H.264/AVC. Пример арифметического кодирования включает в себя САВАС (адаптивное к контексту двоичное арифметическое кодирование). Конечно, кодер 307 без потерь может выполнять кодирование, используя другой способ, кроме этих способов.
Накопительный Буфер 308 временно содержит кодированные данные, подаваемые из кодера 307 без потерь (включая в себя не кодированные данные, в случае режима I_PCM), как и в случае накопительного буфера 107. Накопительный буфер 308 выводит кодированные данные, содержащиеся в нем, например, на устройство записи (носитель записи) или в канал передачи на следующем этапе (не показан), в определенные моменты времени.
Кроме того, коэффициент преобразования, квантованный квантователем 306, также подают в деквантователь 309. Деквантователь 309 выполняет деквантование квантованного коэффициента преобразования, используя способ, соответствующий квантованию, выполненному квантователем 306, как и в случае деквантователя 108. Способ деквантования не ограничен чем-либо, если только этот способ соответствует обработке квантования, выполненной квантователем 306. Деквантователь 309 подает коэффициент преобразования, полученный, таким образом, на модуль 310 обратного ортогонального преобразования.
Модуль 310 обратного ортогонального преобразования выполняет обратное ортогональное преобразование для коэффициента преобразования, поданного из деквантователя 309, используя способ, соответствующий обработке ортогонального преобразования, выполняемой модулем 305 ортогонального преобразования, как и в случае модуля 109 обратного ортогонального преобразования. Способ обратного ортогонального преобразования не ограничен чем-либо, если только этот способ соответствует обработке ортогонального преобразования, выполняемой модулем 305 ортогонального преобразования. Выходные данные, полученные в результате обратного ортогонального преобразование (восстановленная информация разности), подают на модуль 311 вычисления.
Модуль 311 вычисления суммирует изображение прогнозирования, подаваемое от модуля 317 прогнозирования внутри кадра или модуля 318 прогнозирования/компенсации движения, через селектор 319, с результатом обратного ортогонального преобразования, подаваемым от модуля 310 обратного ортогонального преобразования, то есть восстановленной информацией разности, и получает локально декодированное изображение (декодированное изображение), как и в случае модуля 110 вычисления.
Например, в случае, когда информация разности соответствует изображению, в котором следует выполнить кодирование внутри кадра, модуль 311 вычисления суммирует изображение прогнозирования, подаваемое от модуля 317 прогнозирования внутри кадра, с информацией разности. Кроме того, например, в случае, когда информация разности соответствует изображению, для которого следует выполнить кодирование между кадрами, модуль 311 вычисления суммирует изображение прогнозирования, поданное от модуля 318 прогнозирования/компенсации движения, с информацией разности.
Результат суммирования (декодированное изображение) подают на фильтр 312 контура или на модуль 313 адаптивного сдвига вправо.
Фильтр 312 контура включает в себя фильтр устранения блочности, адаптивный фильтр контура и т.п., и выполняет обработку фильтром для декодированного изображения, подаваемого от модуля 311 вычисления соответствующим образом. Например, фильтр 312 контура выполняет обработку фильтром устранения блочности, которая аналогична выполняемой фильтром 111 устранения блочности для декодированного изображения, удаляя, таким образом, искажение блоков декодированного изображения. Кроме того, например, фильтром 312 контура управляют с помощью кодера 321 РСМ, и он выполняет обработку фильтром контура по результатам обработки фильтром устранения блочности (декодированное изображение, из которого было удалено искажение блоков), используя фильтр Винера, улучшая, таким образом, качество изображения. Следует отметить, что обработка адаптивным фильтром контура может быть пропущена в соответствии с управлением, выполняемым кодером 321 РСМ.
В качестве альтернативы, фильтр 312 контура может выполнять произвольную обработку фильтром для декодированного изображения. Кроме того, фильтр 312 контура может подавать коэффициент фильтра, используемый для обработки фильтром, в кодер 307 без потерь, если это необходимо, таким образом, что коэффициент фильтра будет кодирован.
Фильтр 312 контура подает результат обработки фильтром (декодированное изображение, для которого была выполнена обработка фильтром) на модуль 313 адаптивного сдвига вправо. Следует отметить, что, как описано выше, декодированное изображение, выводимое модулем 311 вычисления, может быть подано на модуль 313 адаптивного сдвига вправо без прохода через фильтр 312 контура. Таким образом, обработка фильтром, выполняемая фильтром 312 контура, может быть пропущена.
Модулем 313 адаптивного сдвига вправо управляют с помощью кодера 321 РСМ. Он сдвигает данные изображения, подаваемые модулем 311 вычисления или фильтром 312 контура в направлении вправо, и уменьшает их глубину битов на определенное количество битов (например, на 4 бита). Таким образом, модуль 313 адаптивного сдвига вправо выполняет сдвиг вправо данных изображения на количество битов, на которое выполнен сдвиг данных изображения влево модулем 303 адаптивного сдвига влево, для изменения глубины битов данных изображения до состояния перед тем, как данные изображения были сдвинуты влево (состояние в момент времени, когда данные изображения считывают из буфера 302 изменения компоновки экрана).
Например, модуль 313 адаптивного сдвига вправо уменьшает глубину битов для данных изображения, подаваемых модулем 311 вычисления, или фильтра 312 контура с 12 битов до 8 битов. В результате уменьшения глубины битов таким образом, количество данных для данных изображения, сохраняемых в устройстве хранения кадра, может быть уменьшено.
Следует отметить, что величина сдвига вправо (количество битов) не установлена, если только эта величина соответствует величине сдвига влево в модуле 303 адаптивного сдвига влево. Таким образом, величина может быть фиксированной или переменной. Кроме того, обработка сдвига вправо может быть пропущена в соответствии с управлением, выполняемым кодером 321 РСМ.
Модуль 313 адаптивного сдвига вправо подает данные изображения, для которых была выполнена обработка сдвига вправо, на устройство 314 хранения кадра (в случае, когда обработку пропускают, данные изображения, выводимые модулем 311 вычисления или фильтром 312 контура, подают на устройство 314 хранения кадра).
В устройстве 314 хранения кадра сохраняется декодированное изображение, поданное на него, как и в случае с устройством 112 хранения кадра, и из него выводят сохраненное декодированное изображение на модуль 315 адаптивного сдвига влево, как опорное изображение, в определенный момент времени.
Модуль 315 адаптивного сдвига влево представляет собой модуль обработки, аналогичный модулю 303 адаптивного сдвига влево, им управляют с помощью кодера 321 РСМ, и он, соответственно, выполняет сдвиг данных изображения (опорного изображения), считанного из устройства 314 хранения кадра в направлении влево, и увеличивает их глубину битов на определенное количество битов (например, на 4 бита).
Например, в случае, когда режим не является режимом I_PCM, данные входного изображения сдвигают влево с помощью модуля 303 адаптивного сдвига влево. Таким образом, модуль 315 адаптивного сдвига влево выполняет сдвиг данных опорного изображения, считанного из устройства 14 хранения кадра влево, в соответствии с управлением, выполняемым кодером 321 РСМ, и увеличивает глубину битов на количество битов, которая является такой же, как в случае модуля 303 адаптивного сдвига влево (например, изменяет глубину битов с 8 битов до 12 битов).
Затем модуль 315 адаптивного сдвига влево подает данные изображения, для которых была выполнена обработка сдвига влево, на селектор 316. В результате увеличения глубины битов таким образом, глубина битов опорного изображения может быть сделана такой же, как и глубина битового входного изображения, и опорное изображение может быть добавлено к входному изображению. Кроме того, точность внутренней арифметической обработки, такой как обработка прогнозирования, может быть повышена, и это помогает подавлять ошибки.
В отличие от этого, например, в случае режима I_PCM, данные входного изображения не сдвигают влево, используя модуль 303 адаптивного сдвига влево. Таким образом, модуль 315 адаптивного сдвига влево подает опорное изображение, считанное из устройства 314 хранения кадра, на селектор 316, без увеличения глубины битов, в соответствии с управлением, выполняемым кодером 321 РСМ.
В случае прогнозирования внутри кадра, селектор 316 подает опорное изображение, переданное от модуля 315 адаптивного сдвига влево, на модуль 317 прогнозирования внутри кадра, как и в случае селектора 113. Кроме того, в случае прогнозирования между кадрами, селектор 316 подает опорное изображение, переданное от модуля 315 адаптивного сдвига влево на модуль 318 прогнозирования/компенсации движения, как и в случае селектора 113.
Модуль 317 прогнозирования внутри кадра выполняет прогнозирование внутри кадра (прогнозирование внутри экрана), в котором изображение прогнозирования генерируют, используя опорное изображение, подаваемое от модуля 315 адаптивного сдвига влево, через селектор 316. Модуль 317 прогнозирования внутри кадра выполняет прогнозирование внутри кадра, используя множество подготовленных режимов (режимов прогнозирования внутри кадра). Модуль 317 прогнозирования внутри кадра также выполнен с возможностью выполнения прогнозирования внутри кадра, используя произвольный режим, другой, чем режимы, определенные в формате кодирования AVC.
Модуль 317 прогнозирования внутри кадров генерирует изображения прогнозирования, используя все кандидаты режимов прогнозирования внутри кадра, выполняет оценку значения функции стоимости для отдельных изображений прогнозирования, используя входное изображение, подаваемое от модуля 303 адаптивного сдвига влево, и выбирает оптимальный режим. После выбора оптимального режима прогнозирования внутри кадра, модуль 317 прогнозирования внутри кадра подает изображение прогнозирования, которое было сгенерировано, используя оптимальный режим, на модуль 304 вычисления и модуль 311 вычисления через селектор 319.
Кроме того, как описано выше, модуль 317 прогнозирования внутри кадра подает информацию, такую как информация о режиме прогнозирования внутри кадра, указывающую принятый режим прогнозирования внутри кадров, на кодер 307 без потерь соответствующим образом, так, что информацию кодируют.
Модуль 318 прогнозирования/компенсации движения выполняет прогнозирование движения (прогнозирование между кадрами) для изображения, для которого следует выполнить кодирование между кадрами, используя входное изображение, переданное от модуля 303 адаптивного сдвига влево, и опорное изображение, поданное от модуля 315 адаптивного сдвига влево через селектор 316, выполняет обработку компенсации движения, в соответствии с обнаруженным вектором движения, и генерирует изображение прогнозирования (информацию изображения прогнозирования между кадрами). Модуль 318 прогнозирования/компенсации движения выполняет такое прогнозирование между кадрами, используя множество подготовленных режимов (режимов прогнозирования между кадрам). Модуль 318 прогнозирования/компенсации движения также выполнен с возможностью выполнения прогнозирования между кадрами, используя произвольный режим, другой, чем режимы, определенные в формате кодирования AVC.
Модуль 318 прогнозирования/компенсации движения генерирует изображения прогнозирования, используя все кандидаты режимов прогнозирования между кадрами, выполняет оценку значения функции стоимости индивидуальных изображений прогнозирования, и выбирает оптимальный режим. После выбора оптимального режима прогнозирования между кадрами модуль 318 прогнозирования/компенсации движения подает изображение прогнозирования, сгенерированное с использованием оптимального режима, на модуль 304 вычисления и модуль 311 вычисления, через селектор 319.
Кроме того, модуль 318 прогнозирования/компенсации движения информации подает информацию режима прогнозирования между кадрами, указывающую принятый режим прогнозирования между кадрами, и информацию вектора движения, указывающую вычисленный вектор движения, в кодер 307 без потерь, таким образом, что информация кодируется.
В случае изображения, для которого следует выполнить кодирование внутри кадра, селектор 319 подает выход модуля 317 прогнозирования внутри кадра на модуль 304 вычисления и модуль 311 вычисления, как и в случае селектора 116. В случае изображения, для которого следует выполнить кодирование между кадрами, селектор 319 подает выход модуля 318 прогнозирования/компенсации движения на модуль 304 вычисления и модуль 311 вычисления.
Контроллер 320 скорости управляет скоростью операции квантования, выполняемой квантователем 306, на основе количества кода кодированных данных, накопленных в накопительном буфере 308, таким образом, чтобы не возникало переполнение или потеря значимости.
Кроме того, контроллер 320 скорости подает количество кода (количество сгенерированного кода) для кодированных данных, накопленных в накопительном буфере 308, на кодер 321 РСМ.
Кодер 321 РСМ сравнивает количество кода, поданного от контроллера 320 скорости, с количеством данных входного изображения, поданного от буфера 302 изменения компоновки экрана, и выбирает, следует или нет принять режим I_PCM. В это время кодер 321 РСМ выполняет выбор в модулях CU, которые меньше, чем LCU. Таким образом, кодер 321 РСМ более подробно управляет, следует или нет принять режим I_PCM.
В соответствии с результатом выбора, кодер 321 РСМ управляет операциями кодера 307 без потерь, модуля 303 адаптивного сдвига влево, модуля 313 адаптивного сдвига вправо, модуля 315 адаптивного сдвига влево и фильтра 312 контура.
Кодер без потерь, кодер РСМ и фильтр контура
На фиг.8 показана блок-схема, иллюстрирующая пример основной конфигурации кодера 307 без потерь, кодера 321 РСМ и фильтра 312 контура, показанного на фиг.7.
Как показано на фиг.8, кодер 307 без потерь включает в себя кодер 331 NAL (уровень абстракции сети) и кодер 332 CU.
Кодер 331 NAL кодирует NAL, например, SPS (набор параметра последовательности), PPS (набор параметра изображения) и т.п., на основе инструкции пользователя, спецификаций и т.п., поданных через интерфейс пользователя (не представлен). Кодер 331 NAL подает кодированный NAL (данные NAL) в накопительный буфер 308, таким образом, что данные NAL суммируют с данными CU, которые представляют собой кодированный VCL (уровень кодирования видеоданных), переданный от кодера 332 CU в накопительный буфер 308.
Кодером 332 CU управляют с помощью кодера 321 РСМ (на основе сигнала управления включения/выключения, поданного от кодера 321 РСМ), и он кодирует VCL. Например, в случае, когда режим I_PCM не выбран кодером 321 (РСМ в случае, когда сигнал управления представляет "Включено", поданный из кодера 321 РСМ), кодер 332 CU кодирует квантованные коэффициенты ортогонального преобразования индивидуальных CU. Кодер 332 CU подает части кодированных данных (данные CU) индивидуальных CU в накопительный буфер 308.
Кроме того, например, в случае, когда режим I_PCM выбирают с помощью кодера 321 РСМ (в случае, когда сигнал управления, представляющий "выключено", подают от кодера 321 РСМ), кодер 332 CU подает входные значения пикселя, которые поступают от буфера 302 изменения компоновки экрана, в накопительный буфер 308, как результат кодирования (данные CU).
Кроме того, кодер 332 CU также кодирует флаг (I_PCM_flag), который указывает, является или нет режим кодирования режимом I_PCM, и который подают от кодера 321 РСМ, и подает кодированный флаг, как данные CU, в накопительный буфер 308. Кроме того, кодер 332 CU кодирует информацию об обработке фильтра, такую как флаг адаптивного фильтра и коэффициент фильтра, переданный от фильтра 312 контура, и подает кодированную информацию, как данные CU, в накопительный буфер 308.
Способ кодирования, используемый кодером 332 CU, не установлен (например, САВАС, CAVLC, и т.п.). Данные NAL и данные CU, подаваемые в накопительный буфер 308, комбинируют вместе и накапливают в нем.
Следует отметить, что кодер 321 РСМ фактически управляет, следует или нет выбрать режим I_PCM, используя количество кода кодированных данных, которые генерируют путем кодирования, используя кодер 332 CU, квантованного коэффициента ортогонального преобразования.
Таким образом, например, в случае, когда режим I_PCM не выбран, кодированные данные, которые были поданы в накопительный буфер 308, принимают, как результат кодирования квантованного коэффициента ортогонального преобразования целевого CU. Таким образом, от кодера 332 CU требуется только кодировать дополнительную информацию, такую как I_PCM_flag.
Напротив, например, в случае, когда выбран режим I_PCM, кодер CU 332 подает входные значения пикселей целевого CU, которые подают от буфера 302 изменения компоновки экрана, на накопительный буфер 308, как результат кодирования (данные CU). Таким образом, в таком случае, отбрасывают кодированные данные целевого CU, которые были поданы (кодированные данные, сгенерированные путем кодирования квантованных коэффициентов ортогонального преобразования). Таким образом, все операции по обработке в отношении генерирования кодированных данных являются избыточными.
Как представлено на фиг.8, кодер 321 РСМ включает в себя генератор 341 I_PCM_flag и модуль 342 определения РСМ.
Генератор 341 I_PCM_flag генерирует I_PCM_flag в соответствии с решением, принятым модулем 342 определения РСМ, и определяет его значение. Генератор 341 I_PCM_flag подает сгенерированный I_PCM_flag в кодер 332 CU кодера 307 без потерь. Например, в случае, когда модуль 342 определения РСМ выбирает режим I_PCM, генератор 341 I_PCM_flag устанавливает значение I_PCM_flag, как значение, указывающее, что был выбран режим I_PCM (например, "1"), и подает I_PCM_flag на кодер 332 CU. Кроме того, например, в случае, когда модуль 342 определения РСМ не выбирает, например, режим I_PCM, генератор 341 I_PCM_flag устанавливает значение I_PCM_flag, как значение, указывающее, что режим I_PCM не был выбран (например, "0"), и подает I_PCM_flag на кодер 332 CU.
Модуль 342 определения РСМ определяет, должен быть или нет режим кодирования режимом I_PCM. Модуль 342 определения РСМ получает количество данных для входных значений пикселей, подаваемых от буфера 302 изменения компоновки экрана, сравнивает это количество данных с количеством генерируемого кода, подаваемого от контроллера 320 скорости, и определяет, следует или нет выбрать режим I_PCM на основе результата сравнения. Модуль 342 определения РСМ подает сигнал управления включено/выключено, представляющий результат выбора, на кодер 332 CU и генератор I_PCM_flag 341, управляя, таким образом, операцией в соответствии с результатом выбора.
Например, в случае, когда количество данных входных значений пикселя больше, чем количество генерируемого кода, модуль 342 определения РСМ не выбирает режим I_PCM. В этом случае, модуль 342 определения РСМ подает сигнал управления, представляющий "включено", на кодер 332 CU, и обеспечивает кодирование кодером 332 CU квантованного коэффициента ортогонального преобразования. Кроме того, модуль 342 определения РСМ подает сигнал управления, представляющий "включено", на генератор 341 I_PCM_flag, и обеспечивает генерирование I_PCM_flag генератором 341 I_PCM_flag, имеющего значение, указывающее, что режим I_PCM не был выбран (например, "0").
В отличие от этого, например, в случае, когда количество данных входных значений пикселей меньше, чем или равно количеству генерируемого кода, модуль 342 определения РСМ выбирает режим I_PCM. В этом случае, модуль 342 определения РСМ подает сигнал управления, представляющий "выключено", на кодер 332 CU, и обеспечивает вывод кодером 332 CU входных значений пикселя, в качестве результата кодирования (данные CU). Кроме того, модуль 342 определения РСМ подает сигнал управления, представляющий "выключено", на генератор 341 I_PCM_flag, и обеспечивает генерирование генератором 341 I_PCM_flag, I_PCM_flag, имеющего значение, указывающее, что режим I_PCM был выбран (например, "1").
Модуль 342 определения РСМ выполнен с возможностью определения, следует или нет выбрать режим I_PCM, в модулях CU всех размеров (на произвольном уровне), которые установлены в наборе параметров последовательности, так же, как и LCU. В соответствии с этим, например, обработка подавления генерирования множества битов с низким значением QP, при использовании режима I_PCM, может быть выполнена в модулях меньших CU. Таким образом, количеством кода (включая в себя количество данных не кодированных данных в режиме I_PCM) можно более подробно управлять, и можно уменьшить количество возникающей избыточной обработки в режиме I_PCM.
Кроме того, модуль 342 определения РСМ подает сигнал управления включено/выключено, представляющий результат выбора, на модуль 303 адаптивного сдвига влево, модуль 313 адаптивного сдвига вправо и модуль 315 адаптивного сдвига влево, управляя, таким образом, IBDI, в соответствии с результатом выбора. Таким образом, в случае, когда режим целевого CU представляет собой режим I_PCM, модуль 342 определения РСМ выполняет управление таким образом, что обработка увеличения и уменьшения точности бита не будет выполнена устройством адаптивного сдвига.
Например, в случае, когда режим I_PCM не выбран, модуль 342 определения РСМ передает сигнал управления, представляющий "включено", на модуль 303 адаптивного сдвига влево, модуль 313 адаптивного сдвига вправо и на модуль 315 адаптивного сдвига влево, и обеспечивает выполнение обработки сдвига влево и обработки сдвига вправо таким образом, что точность битов при внутренней обработке повышается.
В отличие от этого, например, в случае, когда режим I_PCM выбирают, модуль 342 определения РСМ передает сигнал управления, представляющий "выключено", на модуль 303 адаптивного сдвига влево, модуль 313 адаптивного сдвига вправо и модуль 315 адаптивного сдвига влево, и обеспечивает пропуск обработки сдвига влево и обработки сдвига вправо, таким образом, что точность битов при внутренней обработке не повышается.
В режиме I_PCM значения входных пикселей изображения передают в информацию сжатия изображения, и, таким образом, арифметические ошибки не возникают. Повышение точности арифметических битов, поэтому, представляет собой избыточную обработку. Модуль 342 определения РСМ выполнен с возможностью устранения такой избыточной обработки, выполняя обработку описанным выше образом.
Кроме того, модуль 342 определения РСМ подает сигнал управления включено/выключено, представляющий результат выбора, в фильтр 312 контура, управляя, таким образом, адаптивной обработкой фильтра контура (BALF), в соответствии с результатом выбора. Таким образом, в случае, когда режим целевого CU представляет собой режим I_PCM, модуль 342 определения РСМ выполняет управление таким образом, что обработка адаптивным фильтром контура не выполняется фильтром 312 контура.
Например, в случае, когда режим I_PCM не выбран, модуль 342 определения РСМ передает сигнал управления, представляющий "включено", на фильтр 312 контура, таким образом, что выполняется обработка адаптивным фильтром контура. В отличие от этого, например, в случае, когда выбран режим I_PCM, модуль 342 определения РСМ передает сигнал управления, представляющий "выключено", на фильтр 312 контура таким образом, что обработка адаптивным фильтром контура пропускается.
В режиме I_PCM значения входных пикселей изображения передают в информацию сжатия изображения, и, таким образом, происходит деградация. Выполнение обработки адаптивным фильтром контура для нее является избыточной. Модуль 342 определения РСМ выполнен с возможностью устранения такой избыточной обработки путем выполнения обработки описанным выше образом.
Как представлено на фиг.8, фильтр 312 контура включает в себя фильтр 351 устранения блочности, модуль 352 сортировки пикселя, калькулятор 353 коэффициента фильтра и модуль 354 фильтрации.
Как и в случае фильтра 111 устранения блочности, фильтр 351 устранения блочности выполняет обработку фильтром устранения блочности для декодированного изображения (значения пикселей перед фильтром устранения блочности), подаваемых от модуля 311 вычисления, устраняя, таким образом, искажения блоков.
Даже если целевой CU, предназначенный для обработки, будет обработан с использованием режима I_PCM, не всегда CU, расположенный рядом с целевым CU, будет обработан с использованием режима I_PCM. Таким образом, даже если целевой CU обрабатывают, используя режим I_PCM, могут возникнуть искажения блоков. Таким образом, выполняют обработка фильтром устранения блочности, независимо от того, является или нет режим целевого CU режимом I_PCM.
Фильтр 351 устранения блочности передает результат обработки фильтром (значения пикселя после фильтра устранения блочности) на модуль 352 сортировки пикселя.
Модуль 352 сортировки пикселей сортирует индивидуальные результаты обработки фильтром (значения пикселей после фильтра устранения блочности), как значения пикселя, для которых требуется выполнить обработку адаптивным фильтром контура или как значения пикселя, для которых не требуется выполнять обработку адаптивным фильтром контура, в соответствии со значением сигналов управления включено/выключено, подаваемых от модуля 342 определения РСМ.
Например, в случае, когда сигнал управления, представляющий "включено", поступает от модуля 342 определения РСМ, модуль 352 сортировки пикселя сортирует значения пикселя после фильтра устранения блочности соответствующего CU, как значения пикселей, для которых требуется выполнить обработку адаптивным фильтром контура. В отличие от этого, например, в случае, когда сигнал управления, представляющий "выключено", поступает от модуля 342 определения РСМ, модуль 352 сортировки пикселей сортирует значения пикселей после фильтра устранения блочности соответствующего CU, как значения пикселей, для которых не требуется выполнять обработку адаптивным фильтром контура.
Модуль 352 сортировки пикселей подает отсортированные значения пикселей для индивидуальных пикселей (значения пикселя после фильтра устранения блочности) на вычислитель 353 коэффициента фильтра.
Вычислитель 353 коэффициента фильтра вычисляет, используя фильтр Винера, коэффициент фильтра (коэффициент фильтра FIR) адаптивного фильтра контура для значений пикселей, для которых следует выполнить обработку адаптивным фильтром контура, среди значений пикселей после фильтра устранения блочности, подаваемых на него, для сведения к минимуму ошибок в отношении входного изображения. Таким образом, вычислитель 353 коэффициента фильтра вычисляет коэффициент фильтра путем исключения пикселей, которые должны быть обработаны, используя режим I_PCM.
Вычислитель 353 коэффициента фильтра подает значения пикселя после фильтра устранения блочности и вычисленный коэффициент фильтра, на модуль 354 фильтрации.
Модуль 354 фильтрации выполняет, используя коэффициент фильтра, подаваемый на него, обработку адаптивным фильтром контура для значений пикселя, которые были отсортированы, как значения пикселя, для которых должна быть выполнена обработка адаптивным фильтром контура. Модуль 354 фильтрации подает значения пикселя, для которых была выполнена обработка фильтром, и значения пикселя, которые были отсортированы, как значения пикселя, для которых обработку адаптивным фильтром контура не требуется выполнять, которые представляют собой значения пикселей после адаптивного фильтра, на модуль 313 адаптивного сдвига вправо.
Кроме того, модуль 354 фильтрации генерирует флаг адаптивного фильтра (флаг включено/выключено), который представляет собой информацию идентификации фильтра, указывающую, следует или нет выполнять обработку фильтром, для каждого из определенных блоков, которые установлены независимо от CU. Способ установки значения флага адаптивного фильтра не указан.
Например, в случае, когда обработка адаптивным фильтром контура была выполнена для некоторых или всех пикселей в целевом блоке, предназначенном для обработки (текущий блок), флаг адаптивного фильтра может быть установлен так, чтобы он имел значение, указывающее, что обработка фильтром была выполнена (например, "1"). Кроме того, например, в случае, когда обработка адаптивным фильтром контура не была выполнена для всех пикселей в блоке, флаг адаптивного фильтра может быть установлен так, чтобы он имел значение, указывающее, что обработка фильтром не была выполнена (например, "0"). Значение флага адаптивного фильтра может быть установлено на основе другого стандарта.
Модуль 354 фильтрации подает сгенерированный флаг адаптивного фильтра на кодер 332 CU кодера 307 без потерь, таким образом, что флаг адаптивного фильтра кодируют и подают на сторону декодирования. Следует отметить, что, в случае, когда значение флага адаптивного фильтра представляет собой значение, указывающее, что обработка фильтром не была выполнена (например, "0"), предоставление флага адаптивного фильтра на сторону декодирования может быть пропущено (флаг адаптивного фильтра не предоставляют) на сторону декодирования).
Например, в случае, когда значение флага адаптивного фильтра представляет собой значение, указывающее, что обработка фильтром не была выполнена (например, "0") и в случае, когда формат кодирования, используемый для кодера 307 без потерь (кодер 332 CU), представляет собой VLC, модуль 354 фильтрации пропускает подачу флага адаптивного фильтра (не подает флаг адаптивного фильтра на сторону декодирования). Кроме того, например, в случае, когда значение флага адаптивного фильтра представляет собой значение, указывающее, что обработка фильтром не была выполнена (например, "0") и в случае, когда формата кода, используемый кодером 307 без потерь (кодером 332 CU), представляет собой САВАС, модуль 354 фильтрации подает флаг адаптивного фильтра на кодер 332 CU кодера 307 без потерь (предоставляет флаг адаптивного фильтра на сторону декодирования).
Это связано с тем, что, в случае VLC, если количество входной информации мало, возможно реализовать высокую эффективность кодирования, но в случае САВАС, если одна и та же информация постоянно поступает на вход, вероятность во время выполнения арифметического кодирования смещается, и может быть реализована более высокая эффективность кодирования.
Кроме того, модуль 354 фильтрации подает коэффициент фильтра, используемый для обработки адаптивным фильтром контура, в кодер 332 CU кодера 307 без потерь, таким образом, что коэффициент фильтра кодируют и предоставляют на сторону декодирования.
Модуль определения РСМ
На фиг.9 показана блок-схема, иллюстрирующая пример основной конфигурации модуля 342 определения РСМ, представленного на фиг.8.
Как представлено на фиг.9, модуль 342 определения РСМ включает в себя вычислитель 361 количества входных данных, модуль 362 определения РСМ, контроллер 363 кодирования, контроллер 364 адаптивного сдвига и контроллер 365 фильтра.
Вычислитель 361 количества входных данных вычисляет, для целевого CU, количество входных данных, которое представляет собой количество данных входных значений пикселя, подаваемых из буфера 302 изменения компоновки экрана, и подает вычисленное количество входных данных на модуль 362 определения РСМ.
Модуль 362 определения РСМ получает количество сгенерированных кодов (сгенерированных битов), подаваемых от контроллера 320 скорости, сравнивает количество сгенерированных кодом с количеством входных данных, подаваемых от вычислителя 361 количества входных данных, и определяет, следует или нет выбрать режим I_PCM для CU на основе результата сравнения. Таким образом, модуль 362 определения РСМ определяет, для каждого CU на произвольном уровне, следует или нет выбрать режим I_PCM. Модуль 362 определения РСМ подает результат определения на контроллер 363 кодирования, контроллер 364 адаптивного сдвига и в контроллер 365 фильтра.
На основе результата определения, переданного от модуля 362 определения РСМ (информация идентификации, указывающая, выбран ли режим I_PCM), контроллер 363 кодирования подает сигнал управления включено/выключено на кодер 332 CU и в генератор 341 I_PCM_flag.
Таким образом, контроллер 363 кодирования выполнен с возможностью управления режимом кодирования в модулях CU на произвольном уровне. В соответствии с этим, контроллер 363 кодирования выполнен с возможностью более подробного управления количеством кодов (включая в себя количество данных не кодированных данных в режиме I_PCM) и также выполнен с возможностью уменьшения избыточной обработки, когда выбирают режим I_PCM.
На основе результата определения, переданного от модуля 362 определения РСМ (информация, указывающая, был или не был выбран режим I_PCM), контроллер 364 адаптивного сдвига передает сигнал управления включить/выключить на модуль 303 адаптивного сдвига влево, модуль 313 адаптивного сдвига вправо и на модуль 315 адаптивного сдвига влево.
Таким образом, контроллер 364 адаптивного сдвига выполнен с возможностью выполнения управления таким образом, что глубина битов не будет увеличиваться при внутренней арифметической обработке, когда выбран режим I_PCM. В соответствии с этим, контроллер 364 адаптивного сдвига выполнен с возможностью уменьшения избыточной обработки.
На основе результата определения, подаваемого от модуля 362 определения РСМ (информация, указывающая, выбран ли режим I_PCM), контроллер 365 фильтра подает сигнал управления включить/выключить на модуль 352 сортировки пикселя.
Таким образом, контроллер 365 фильтра выполнен с возможностью выполнения такого управления, что обработка адаптивного фильтра контура не выполняется, когда выбран режим I_PCM. В соответствии с этим, контроллер 365 фильтра выполнен с возможностью уменьшения избыточной обработки.
Как описано выше, устройство 300 кодирования изображения выполнено с возможностью уменьшения избыточной обработки и подавления снижения эффективности обработки кодирования. Кроме того, устройство 300 кодирования изображения выполнено с возможностью более подробного выбора режима I_PCM (режим без сжатия) (в единицах меньших модулей данных) и улучшения эффективности кодирования. Поэтому, устройство 300 кодирования изображения выполнено с возможностью улучшения эффективности кодирования при подавлении снижения эффективности обработки кодирования.
Поток обработки кодирования
Далее будет представлено описание потока операций индивидуальной обработки, выполняемых описанным выше устройством 300 кодирования изображения. Вначале, со ссылкой на блок-схему последовательности операций на фиг.10, будет описан пример потока обработки кодирования.
На этапе S301, A/D преобразователь 301 выполняет A/D-преобразование входного изображения. На этапе S302 буфер 302 изменения компоновки экрана сохраняет в нем A/D-преобразованное изображение и выполняет изменение компоновки изображения с порядка отображения на порядок кодирования.
На этапе S303, модуль 303 адаптивного сдвига влево выполняет адаптивный сдвиг влево входного изображения на основе управления, выполняемого кодером 321 РСМ. На этапе S304, модуль 315 адаптивного сдвига влево выполняет адаптивный сдвиг влево для опорного изображения.
На этапе S305, модуль 317 прогнозирования внутри кадра выполняет обработку прогнозирования внутри кадра в режиме прогнозирования внутри кадра, используя опорное изображение, которое было сдвинуто влево на этапе S304. На этапе S306 модуль 318 прогнозирования/компенсации движения выполняет обработку прогнозирования движения между кадрами, при которой выполняется прогнозирование движения или компенсация движения в режиме прогнозирования между кадрами, используя опорное изображение, которое было сдвинуто влево на этапе S304.
Следует отметить, что, фактически, обработка сдвига глубины битов опорного изображения влево может быть выполнена, когда опорное изображение считывают из устройства 314 хранения кадра при обработке прогнозирования внутри кадра, или при обработке прогнозирования движения между кадрами.
На этапе S307, селектор 319 определяет оптимальный режим на основе индивидуальных функций стоимости, которые были выведены из модуля 317 прогнозирования внутри кадра и модуля 318 прогнозирования/компенсации движения. Таким образом, селектор 319 выбирает любое из изображения прогнозирования, генерируемого модулем 317 прогнозирования внутри кадра, и изображения прогнозирования, генерируемого модулем 318 прогнозирования/компенсации движения.
Кроме того, информацию выбора, указывающую, какое из изображений прогнозирования должно быть выбрано, подают на один из модуля 317 прогнозирования внутри кадра и модуля 318 прогнозирования/компенсации движения, соответствующего выбранному изображению прогнозирования. В случае, когда изображение прогнозирования оптимального режима прогнозирования внутри кадров было выбрано, модуль 317 прогнозирования внутри кадра подает информацию о режиме прогнозирования внутри кадра, указывающую оптимальный режим прогнозирования внутри кадра и т.д., на кодер 307 без потерь. В случае, когда прогнозируемое изображение оптимального режима прогнозирования между кадрами было выбрано, модуль 318 прогнозирования/компенсации движения выводит информацию, указывающую оптимальный режим прогнозирования между кадрами, и если необходимо, информацию на основе оптимального режима прогнозирования между кадрами, на кодер 307 без потерь Примеры информации на основе оптимального режима прогнозирования между кадрами включают в себя информацию вектора движения, информацию флага и информацию опорного кадра.
На этапе S308, модуль 304 вычисления вычисляет разность между изображением, в котором глубина битов была сдвинута влево, используя обработку на этапе S303, и изображением прогнозирования, выбранным в ходе обработки на этапе S307. Изображение прогнозирования подают на модуль 304 вычисления через селектор 319 от модуля 318 прогнозирования/компенсации движения, в случае, когда следует выполнить прогнозирование между кадрами, и из модуля 317 прогнозирования внутри кадра в случае, когда следует выполнить прогнозирование внутри кадров.
Количество данных разности меньше, чем количество данных оригинального изображения. Таким образом, количество данных может быть уменьшено по сравнению со случаем, когда кодируется само изображение.
На этапе S309, модуль 305 ортогонального преобразования выполняет ортогональное преобразование информации разности, генерируемой в ходе обработки на этапе S308. В частности, выполняют ортогональное преобразование, такое как дискретное косинусное преобразование или преобразование Карунена-Лоэва, и выводят коэффициент преобразования.
На этапе S310 квантователь 306 квантует коэффициент ортогонального преобразования, полученный в результате обработки на этапе S309.
На этапе S311, кодер 307 без потерь кодирует коэффициент преобразования, квантованный в ходе обработки на этапе S310. Таким образом, для разности изображения выполняют кодирование без потерь, такое как кодирование переменной длины или арифметическое кодирование.
Кодер 307 потерь кодирует параметр квантования, вычисленный на этапе S310, и суммирует параметр квантования с кодированными данными. Кроме того, кодер 307 без потерь кодирует информацию о режиме изображения прогнозирования, выбранного в ходе обработки на этапе S307, и добавляет эту информацию к кодированным данным, которые были получены в ходе кодирования разности изображения. Таким образом, модуль 307 кодирования без потерь также кодирует информацию оптимального режима прогнозирования внутри кадров, подаваемую от модуля 317 прогнозирования внутри кадра, или информацию на основе режима оптимального прогнозирования между кадрами, передаваемую от модуля 318 прогнозирования/компенсации движения, и добавляет эту информацию к кодированным данным.
Кроме того, кодер 307 без потерь кодирует коэффициент фильтра и информацию флага, полученную от фильтра 312 контура, и добавляет их к кодированным данным. Кроме того, кодер 307 без потерь кодирует данные NAL.
На этапе S312, накопительный буфер 308 накапливает кодированные данные, выводимые от кодера 307 без потерь. Кодированные данные, накопленные в накопительном буфере 308, считывают соответствующим образом и передают на сторону декодирования через канал передачи или носитель записи.
На этапе S313, контроллер 320 скорости вычисляет количество кода (количество генерируемого кода) для кодированных данных, накопленных в накопительном буфере 308 в ходе обработке на этапе S312, и управляет скоростью операции квантования, выполняемой квантователем 306, на основе количества кода таким образом, что не происходит переполнение или потеря значимости. Кроме того, контроллер 320 скорости подает количество генерируемого кода на кодер 321 РСМ.
На этапе S314, кодер 321 РСМ выполняет обработку кодирования РСМ, используя количество генерируемого кода, вычисленного на этапе S313. На этапе S315, кодер 307 без потерь выполняет обработку кодирования РСМ, в соответствии с управлением, выполняемым кодером 321 РСМ.
На этапе S316, деквантователь 309 для устройства 314 хранения кадра выполняет обработку генерирования опорного изображения, в ходе которой информацию разности, квантованную в ходе обработки на этапе S310, локально декодируют для генерирования опорного изображения.
После окончания обработки на этапе S316 заканчивается обработка кодирования. Обработка кодирования многократно выполняется, например, для индивидуальных CU.
Обработка управления кодированием РСМ
Далее пример потока обработки управления кодированием РСМ, которую выполняют на этапе S314 на фиг.10, будет описан со ссылкой на блок-схему последовательности операций на фиг.11.
После начала обработки управления кодированием РСМ, на этапе S331, модуль 362 определения РСМ в модуле 342 определения РСМ получает от контроллера 320 скорости количество генерируемого кода для кодированных данных квантованного коэффициента ортогонального преобразования целевого CU.
На этапе S332 калькулятор 361 количества входных данных вычисляет количество входных значений пикселей целевого CU.
На этапе S333, модуль 362 определения РСМ сравнивает количество кода, полученное на этапе S331, с количеством входных данных, вычисленных на этапе S332, и определяет, следует или нет выполнить кодирование, используя режим I_PCM.
На этапе S334 генератор 341 I_PCM_flag генерирует I_PCM_flag на основе сигнала управления включения/выключения, который представляет результат определения, генерируемый на этапе S333, и который подают от контроллера 363 кодирования.
На этапе S335, контроллер 363 кодирования подает сигнал управления включения/выключения, представляющий результат определения, генерируемый на этапе S333, в кодер 332 CU, управляя, таким образом, кодированием данных CU.
На этапе S336 контроллер 364 адаптивного сдвига подает сигнал управления включено/выключено, представляющий результат определения, сгенерированный на этапе S333, в модуль 303 адаптивного сдвига влево, на модуль 313 адаптивного сдвига вправо, и на модуль 315 адаптивного сдвига влево, управляя, таким образом, обработкой адаптивного сдвига.
На этапе S337, контроллер 363 кодирования подает сигнал управления включения/выключения, представляющий результат определения, сгенерированный на этапе S333, на модуль 352 сортировки пикселя фильтра 312 контура, управляя, таким образом, обработкой адаптивным фильтром контура.
После того, как обработка на этапе S337 заканчивается, модуль 342 определения РСМ заканчивает, обработку управления кодированием РСМ, при этом обработка возвращается на этап S314 на фиг.10, и обработка выполняется, начиная с этапа S315.
Поток обработки кодирования РСМ
Далее, со ссылкой на блок-схему последовательности операций, показанную на фиг.12, будет описан пример потока обработки кодирования РСМ, которую выполняют на этапе S315 по фиг.10.
После начала обработки кодирования РСМ, на этапе S351, кодер 332 CU определяет, следует или нет выполнить кодирование, используя режим I_PCM. В случае, когда управление выполняют при описанной выше обработке управления кодированием РСМ, таким образом, что кодирование требуется выполнить, используя режим I_PCM, кодер 332 CU обеспечивает переход обработки на этап S352. На этапе S352, кодер 332 CU выбирает входные значения пикселя целевого CU, как результат кодирования. Кодер 332 CU обеспечивает отбрасывание данных целевого CU в накопительном буфере 308 и обеспечивает накопление входных значений пикселя в накопительном буфере 308.
После окончания этапа S352, кодер 332 CU обеспечивает переход обработки на этап S353. С другой стороны, если на этапе S351 определяют, что кодирование не следует выполнить, используя режим I_PCM, кодер 332 CU обеспечивает переход обработки на этап S353.
На этапе S353, кодер 332 CU кодирует I_PCM_flag, который был сгенерирован при описанной выше обработке управления кодированием РСМ, и накапливает I_PCM_flag в накопительном буфере 308.
После окончания этапа S353 кодер 332 CU заканчивает обработку кодирования РСМ, обработка возвращается на этап S315 по фиг.10, и обработка выполняется, начиная с этапа S316.
Поток обработки генерирования опорного изображения
Далее, со ссылкой на блок-схему последовательности операций, показанную на фиг.13, будет описан пример потока обработки генерирования сигнала опорного изображения, которую выполняют на этапе S316 по фиг.10.
После начала обработки генерирования опорного изображения модуль 315 адаптивного сдвига влево определяет на этапе S371, был ли выбран режим I_PCM на основе управления, выполненного контроллером 364 адаптивного сдвига. Если режим I_PCM был выбран, глубина битов не увеличивается в ходе внутренней арифметической обработки, и, таким образом, обработка выполняется снова, начиная от обработки прогнозирования. Таким образом, если определяют, что был выбран режим I_PCM, модуль 315 адаптивного сдвига влево обеспечивает переход к обработке на этап S372 без выполнения обработки сдвига влево для опорного изображения.
На этапе S372, модуль 317 прогнозирования внутри кадра выполняет обработку прогнозирования внутри кадра, используя опорное изображение, для которого глубина битов не была сдвинута влево. На этапе S373, модуль 318 прогнозирования/компенсации движения выполняет обработку прогнозирования движения между кадрами, используя опорное изображение, в котором глубина битов не была сдвинута влево.
На этапе S374, селектор 319 определяет оптимальный режим на основе индивидуальных значений функции стоимости, выводимых модулем 317 прогнозирования внутри кадров и модулем 318 прогнозирования/компенсации движения. Таким образом, селектор 319 выбирает любое одно из изображения прогнозирования, генерируемого модулем 317 прогнозирования внутри кадров, и изображения прогнозирования, генерируемого модулем 318 прогнозирования/компенсации движения.
Кроме того, информацию выбора, указывающую, какое из изображений прогнозирования было выбрано, подают на один из модуля 317 прогнозирования внутри кадра и модуля 318 прогнозирования/компенсации движения, который соответствует выбранному изображению прогнозирования. В случае, когда было выбрано изображение прогнозирования оптимального режима прогнозирования внутри кадра, модуль 317 прогнозирования внутри кадра подает информацию режима прогнозирования внутри кадра, указывающую оптимальный режим прогнозирования внутри кадра и т.д., в кодер 307 без потерь. В случае, когда было выбрано изображение прогнозирования оптимального режима прогнозирования между кадрами, модуль 318 прогнозирования/компенсации движения подает информацию, указывающую оптимальный режим прогнозирования между кадрами, и если необходимо, информацию на основе оптимального режима прогнозирования между кадрами, на кодер 307 без потерь. Примеры информации на основе оптимального режима прогнозирования между кадрами включают в себя информацию вектора движения, информацию флага и информацию опорного кадра.
В случае, когда режим I_PCM выбран, глубина битов при выполнении внутренней арифметической обработки не увеличивается. Таким образом, обработку сдвига влево, выполняемую для опорного изображения модулем 303 адаптивного сдвига влево, пропускают. На этапе S375, модуль 304 вычисления вычисляет разность между входным изображением, в котором глубина битов не сдвинута влево, и изображением прогнозирования, выбранным в ходе обработки на этапе S374. Изображение прогнозирования поступает на модуль 304 вычисления через селектор 319 от модуля 318 прогнозирования/компенсации движения, в случае, когда выполняют прогнозирование между кадрами, и от модуля 317 прогнозирования внутри кадров, в случае, когда выполняется прогнозирование внутри кадров.
На этапе S376, модуль 305 ортогонального преобразования выполняет ортогональное преобразование по информации разности, сгенерированной через обработку на этапе S375. В частности, выполняют ортогональное преобразование, такое как дискретное косинусное преобразование или преобразование Карунена-Лоэва, и выводят коэффициент преобразования. На этапе S377, квантователь 306 квантует коэффициент ортогонального преобразования, полученный в результате обработки на этапе S376.
После того, как коэффициент ортогонального преобразования был квантован, квантователь 306 обеспечивает переход обработки на этап S378, где генерируется опорное изображение, используя коэффициент ортогонального преобразования (данные, для которых не была выполнена обработка сдвига влево), квантованный на этапе S377.
В отличие от этого, если на этапе S371 определяют, что режим I_PCM не был выбран, модуль 315 адаптивного сдвига влево пропускает операции обработки с этапа S372 по этап S377 и обеспечивает переход обработки на этап S378. Таким образом, в случае, когда режим I_PCM не был выбран, опорное изображение генерируют, используя коэффициент ортогонального преобразования (данные, для которых была выполнена обработка сдвига влево), квантованный на этапе S310 по фиг.10.
На этапе S378 деквантователь 309 выполняет деквантование для квантованного коэффициента ортогонального преобразования (также называемого квантованным коэффициентом), в соответствии с характеристикой, соответствующей характеристике квантователя 306. На этапе S379 модуль 310 обратного ортогонального преобразования выполняет обратное ортогональное преобразование для коэффициента ортогонального преобразования, получаемого через обработку на этапе S378, в соответствии с характеристикой, соответствующей характеристике модуля 305 ортогонального преобразования.
На этапе S380, модуль 311 вычисления добавляет изображение прогнозирования к локально декодированной информации разности, генерируя, таким образом, локально декодированное изображение (изображение, соответствующее входу модуля 304 вычисления). Например, в случае, когда выбирают режим I_PCM, модуль 311 вычисления добавляет изображение прогнозирования, для которого не была выполнена обработка сдвига влево, к информации разности, для которой не была выполнена обработка сдвига влево, для генерирования декодированного изображения, для которого не была выполнена обработка сдвига влево. Кроме того, например, в случае, когда не был выбран режим I_PCM, модуль 311 вычисления добавляет изображение прогнозирования, для которого была выполнена обработка сдвига влево, к информации разности, для которой была выполнена обработка сдвига влево, для генерирования декодированного изображения, для которого была выполнена обработка сдвига влево.
На этапе S381, фильтр 312 контура выполняет обработку фильтром контура для локально декодированного изображения, полученного в результате обработки на этапе S380, на основе управления, выполненного контроллером 365 фильтра, и выполняет обработку фильтром контура, включающую в себя обработку фильтром устранения блочности, обработку фильтром адаптивного контура и т.д., соответствующим образом.
На этапе S382, модуль 313 адаптивного сдвига вправо определяет, выбран или нет режим I_PCM, на основе управления, выполняемого контроллером 364 адаптивного сдвига. Если определяют, что режим I_PCM не был выбран, модуль 313 адаптивного сдвига вправо обеспечивает переход обработки на этап S383.
В случае, когда режим I_PCM не был выбран, декодированное изображение было подвергнуто увеличению глубины битов при выполнении внутренней арифметической обработки. Таким образом, на этапе S383, модуль 313 адаптивного сдвига вправо выполняет сдвиг вправо на глубину битов по результатам обработки фильтром (декодированное изображение), полученным через обработку фильтром контура, на этапе S381. После окончания обработки на этапе S383, модуль 313 адаптивного сдвига вправо обеспечивает переход обработки на этап S384.
Если на этапе S382 определяют, что был выбран режим I_PCM, модуль 313 адаптивного сдвига вправо обеспечивает переход обработки на этап S384 без выполнения обработки сдвига вправо.
На этапе S384, в устройстве 314 хранения кадра сохраняется декодированное изображение. После окончания обработки на этапе S384, устройство 314 хранения кадра заканчивает обработку генерирования опорного изображения, при этом обработка возвращается на этап S316 по фиг.10, и обработка кодирования заканчивается.
Поток обработки фильтром контура
Далее, со ссылкой на блок-схему последовательности операций на фиг.14, будет описан пример потока обработки фильтром контура, который выполняют на этапе S381 фиг.13.
После начала обработки фильтром контура, на этапе S401, фильтр 351 устранения блочности фильтра 312 контура выполняет обработку фильтром устранения блочности для декодированного изображения (значения пикселя перед фильтром устранения блочности), подаваемого от модуля 311 вычисления.
На этапе S402, модуль 352 сортировки пикселя сортирует индивидуальные пиксели для декодированного изображения на основе того, является или нет режим режимом I_PCM, под управлением, выполняемым контроллером 365 фильтра модуля 342 определения РСМ.
На этапе S403, вычислитель 353 коэффициента фильтра вычисляет коэффициент фильтра для пикселей, которые были отсортированы, для выполнения обработки фильтром (целевые пиксели, предназначенные для обработки). На этапе S404 модуль 354 фильтрации выполняет обработку адаптивным фильтром для целевых пикселей, предназначенных для обработки, используя коэффициент фильтра, вычисленный на этапе S403.
На этапе S405, модуль 354 фильтрации устанавливает флаг адаптивного фильтра для целевого блока, предназначенного для обработки, и подает флаг адаптивного фильтра и коэффициент фильтра на кодер 332 CU, таким образом, что флаг адаптивного фильтра и коэффициент фильтра кодируют.
После окончания обработки на этапе S405, фильтр 312 контура заканчивает обработку фильтром контура, обработка возвращается на этап S381 по фиг.13, и обработка выполняется, начиная с этапа S382.
В результате выполнения индивидуальных операций обработки с описанным выше подходом, устройство 300 кодирования изображения выполнено с возможностью улучшения эффективности кодирования при подавлении снижения эффективности обработки кодирования.
2. Второй вариант осуществления
Устройство декодирования изображения
На фиг.15 показана блок-схема, иллюстрирующая пример основной конфигурации устройства декодирования изображения. Устройство 500 декодирования изображения, представленное на фиг.15, представляет собой устройство, которое, в принципе, аналогично устройству 200 декодирования изображения, представленному на фиг.2, и декодирует кодированные данные, которые генерирует путем кодирования данных изображения.
Устройство 500 декодирования изображения, представленное на фиг.15, представляет собой устройство декодирования, соответствующее устройству 300 кодирования изображения, представленному на фиг.7. Кодированные данные, которые были кодированы устройством 300 кодирования изображения, поступают на устройство 500 декодирования изображения через произвольный путь, например, канал передачи, носитель записи и т.п., и там их декодируют.
Как показано на фиг.15, устройство 500 декодирования изображения включает в себя накопительный буфер 501, декодер 502 без потерь, деквантователь 503, модуль 504 обратного ортогонального преобразования, модуль 505 вычисления, фильтр 506 контура, модуль 507 адаптивного сдвига вправо, буфер 508 изменения компоновки экрана и D/A преобразователь 509. Кроме того, устройство 500 декодирования изображения включает в себя устройство 510 хранения кадра, модуль 511 адаптивного сдвига влево, селектор 512, модуль 513 прогнозирования внутри кадра, модуль 514 прогнозирования/компенсации движения и селектор 515.
Устройство 500 декодирования изображения дополнительно включает в себя декодер 516 РСМ.
Накопительный буфер 501 накапливает кодированные данные, переданные на него, как в случае накопительного буфера 201. Кодированные данные были кодированы устройством 300 кодирования изображения.
Декодер 502 без потерь считывает кодированные данные от накопительного буфера 501 в определенный момент времени и декодирует кодированные данные, используя формат, соответствующий формату кодирования, используемому кодером 307 без потерь, представленным на фиг.15. В это время декодер 502 без потерь подает I_PCM_flag, включенный в кодированные данные, на декодер 516 РСМ, и обеспечивает определение декодером 516 РСМ, является или нет режим режимом I_PCM (режимом без сжатия).
В случае, когда режим представляет собой режим I_PCM, данные CU, полученные от накопительного буфера 501, не являются кодированными данными. Таким образом, декодер 502 без потерь подает данные CU на деквантователь 503, в соответствии с управлением, выполняемым декодером 516 РСМ.
В случае, когда режим не является режимом I_PCM, данные CU, полученные из накопительного буфера 501, представляют собой кодированные данные. Таким образом, декодер 502 без потерь декодирует данные CU, в соответствии с управлением, выполняемым декодером 516 РСМ, и подает результат декодирования на деквантователь 503.
Следует отметить, что, например, в случае, когда целевой CU был кодирован внутри кадра, информацию режима прогнозирования внутри кадра сохраняют на участке заголовка кодированных данных. Декодер 502 без потерь также декодирует информацию режима прогнозирования внутри кадра и передает эту информацию на модуль 513 прогнозирования внутри кадра. С другой стороны, в случае, когда целевой CU был кодирован между кадрами, информацию вектора движения и информацию режима прогнозирования между кадрами сохраняют на участке заголовка кодированных данных. Декодер 502 без потерь также декодирует информацию вектора движения и информацию режима прогнозирования между кадрами и подает эту информацию на модуль 514 прогнозирования/компенсации движения.
В случае, когда режим не является режимом I_PCM, деквантователь 503 выполняет деквантование данных коэффициента (квантованного коэффициента), подаваемых от декодера 502 без потерь, используя способ, соответствующий способу квантования, используемому квантователем 306, представленным на фиг.7, как и в случае квантователя 203. Таким образом, деквантователь 503 выполняет деквантование квантованного коэффициента, используя способ, аналогичный способу, используемому деквантователем 309, представленному на фиг.7. Деквантователь 503 подает деквантованные данные коэффициента, то есть коэффициент ортогонального преобразования, на модуль 504 обратного ортогонального преобразования.
Кроме того, в случае, когда режим представляет собой режим I_PCM, деквантователь 503 подает данные CU, переданные от декодера 502 без потерь (данные изображения, которые не были кодированы), на модуль 504 обратного ортогонального преобразования.
В случае, когда режим не является режимом I_PCM, модуль 504 обратного ортогонального преобразования выполняет обратное ортогональное преобразование для коэффициента ортогонального преобразования, используя способ, соответствующий способу ортогонального преобразования, используемому модулем 305 ортогонального преобразования, представленным на фиг.7 (способ, аналогичный используемому модулем 310 обратного ортогонального преобразования, представленным на фиг.7), как и в случае модуля 204 обратного ортогонального преобразования. Используя обработку обратного - ортогонального преобразования, модуль 504 обратного ортогонального преобразования получает декодированные остаточные данные, соответствующие остаточным данным, перед выполнением ортогонального преобразования, в устройстве 300 кодирования изображения. Например, выполняют обратное ортогональное преобразование четвертого порядка. Модуль 504 обратного ортогонального преобразования подает декодированные остаточные данные, полученные в результате обратного ортогонального преобразования, на модуль 505 вычисления.
Кроме того, в случае, когда режим представляет собой режим I_PCM, модуль 504 обратного ортогонального преобразования подает данные CU, переданные от деквантователя 503 (данные изображения, которые не были кодированы) на модуль 505 вычисления.
Кроме того, изображение прогнозирования подают на модуль 505 вычисления от модуля 513 прогнозирования внутри кадра или от модуля 514 прогнозирования/компенсации движения через селектор 515.
В случае, когда режим не является режимом I_PCM, модуль 505 вычисления суммирует декодированные остаточные данные и изображение прогнозирования, и получает, таким образом, декодированные данные изображения, соответствующие данным изображения перед вычитанием изображения прогнозирования модулем 304 вычисления устройства 300 кодирования изображения, как в случае модуля 205 вычисления. Модуль 505 вычисления подает декодированные данные изображения на фильтр 506 контура.
В случае, когда режим представляет собой режим I_PCM, модуль 505 вычисления подает данные CU, переданные от модуля 504 обратного ортогонального преобразования (данные изображения, который не были кодированы), на фильтр 506 контура. В этом случае, данные CU не представляют собой остаточную информацию, и, таким образом, добавление к изображению прогнозирования не является необходимым.
Фильтр 506 контура выполняет обработку фильтром контура, включающую в себя обработку фильтром устранения блочности, обработку адаптивным фильтром контура и т.п., для декодированного изображения, подаваемого от модуля 505 вычисления, если соответствует, под управлением, выполняемым декодером 516 РСМ.
Более конкретно, фильтр 506 контура выполняет обработку фильтром устранения блочности, аналогичную выполняемой с помощью фильтра 206 устранения блочности для декодированного изображении, удаляя, таким образом, искажение блоков декодированного изображения. Кроме того, фильтр 506 контура выполняет обработку фильтром контура, используя фильтр Винера, по результату обработки фильтром устранения блочности (декодированное изображение, из которого были устранены искажения блоков), в соответствии с управлением, выполняемым декодером 516 РСМ, улучшая, таким образом, качество изображения.
В качестве альтернативы, фильтр 506 контура может выполнять произвольную обработку фильтром для декодированного изображения. В качестве альтернативы, фильтр 506 контура может выполнять обработку фильтром, используя коэффициент фильтра, подаваемый от устройства 300 кодирования изображения, представленного на фиг.7.
Фильтр 506 контура подает результат обработки фильтром (декодированное изображение, для которого была выполнена обработка фильтром) на модуль 507 адаптивного сдвига вправо.
Модуль 507 адаптивного сдвига вправо представляет собой модуль обработки, аналогичный модулю 313 адаптивного сдвига вправо (фиг.7), и им управляет декодер 516 РСМ. В случае, когда режим не является режимом I_PCM, модуль 507 адаптивного сдвига вправо выполняет сдвиг декодированных данных изображения, подаваемых от фильтра 506 контура в направлении вправо, таким образом, уменьшается глубина битов на определенное количество битов (например, на 4 бита), например, глубина битов уменьшается с 12 битов до 8 битов. Таким образом, модуль 507 адаптивного сдвига вправо выполняет сдвиг декодированных данных изображения вправо на количество битов, на которое данные изображения были сдвинуты влево, в устройстве 300 кодирования изображения, для сдвига глубины битов данных изображения до состояния, в котором сдвиг влево не было выполнен (состояние в момент времени, когда данные изображения были считаны из буфера 302 изменения компоновки экрана (фиг.7)).
Модуль 507 адаптивного сдвига вправо подает данные изображения, для которых была выполнена обработка сдвига вправо, в буфер 508 изменения компоновки экрана и в устройство 510 хранения кадра.
Следует отметить, что величина сдвига вправо (количество битов) не устанавливается, если только это количество является таким же, как количество сдвига влево в устройстве 300 кодирования изображения (модуль 303 адаптивного сдвига влево). Таким образом, величина может быть фиксированной или переменной. Например, величина сдвига может быть заранее определенной (заранее совместно используемой между устройством 300 кодирования изображения и устройством 500 декодирования изображения), или устройству 500 декодирования изображения может быть разрешено вычислять величину сдвига устройства 300 кодирования изображения, или информация, указывающая величину сдвига, может быть предоставлена от устройства 300 кодирования изображения.
В качестве альтернативы, обработка сдвига вправо может быть пропущена в соответствии с управлением, выполняемым декодером 516 РСМ. Например, в случае режима I_PCM, для данных изображения не выполняют обработку сдвига влево в устройстве 300 кодирования изображения. Поэтому, в этом случае, модулем 507 адаптивного сдвига вправо управляют с помощью декодера 516 РСМ, и декодированные данные изображения, подаваемые от фильтра 506 контура, подают в буфер 508 изменения компоновки экрана и в устройство 510 хранения кадра, без сдвига данных декодированного изображения в направлении вправо.
Буфер 508 изменения компоновки экрана выполняет изменение компоновки изображения, как и случае буфера 207 изменения компоновки экрана. Таким образом, для кадров, компоновка которых была изменена в порядке кодирования с помощью буфера 302 изменения компоновки экрана, представленного на фиг.7, выполняют изменение компоновки экрана в порядке исходного отображения. Буфер 508 изменения компоновки экрана подает декодированные данные изображения для индивидуальных кадров на D/A преобразователь 509 в порядке исходного отображения.
D/A преобразователь 509 выполняет D/A-преобразование изображений кадра, подаваемых из буфера 508 изменения компоновки экрана, и выводит изображения кадра на устройство отображения (не показано) таким образом, что изображения кадра отображаются, как в случае D/A преобразователя 208.
В устройство 510 хранения кадра сохраняется декодированное изображение, подаваемое от модуля 507 адаптивного сдвига вправо, и сохраненное декодированное изображение подают, как опорное изображение, на модуль 511 адаптивного сдвига влево в определенный момент времени.
Модуль 511 адаптивного сдвига влево представляет собой модуль обработки, аналогичный модулю 315 адаптивного сдвига влево, им управляют с помощью декодера 516 РСМ, он выполняет сдвиг данных изображения (опорного изображения), считанного из устройства 510 хранения кадра в направлении влево, соответствующим образом, и увеличивает глубину его битов на определенное количество битов (например, на 4 бита).
Например, в случае, когда режим не является режимом I_PCM, данные декодированного изображения, подаваемые от модуля 504 обратного ортогонального преобразование в модуль 505 вычисления, представляют собой данные изображения, которые были сдвинуты влево, в устройстве 300 кодирования изображения (например, глубина битов составляет 12 битов). Таким образом, модуль 511 адаптивного сдвига влево увеличивает глубину битов опорного изображения, которое было считано из устройства 510 хранения кадра, на определенное количество битов (например, увеличивают глубину битов от 8 битов до 12 битов) в соответствии с управлением, выполняемым декодером 516 РСМ.
Затем, модуль 511 адаптивного сдвига влево подает данные изображения, для которых была выполнена обработка сдвига влево, на селектор 512. В результате увеличения глубины битов таким образом, глубина битов опорного изображения может быть сделана такой же, как и глубина битов декодированного изображения, таким образом, что опорное изображение может быть добавлено к декодированному изображению. Кроме того, точность внутренней арифметической обработки, такой как обработка прогнозирования, может быть повышена, и ошибки могут быть подавлены.
С другой стороны, например, в случае, когда режим представляет собой режим I_PCM, данные декодированного изображения, подаваемые от модуля 504 обратного ортогонального преобразования на модуль 505 вычисления, представляют собой данные изображения, для которых не была выполнена обработка сдвига влево в устройстве 300 кодирования изображения (например, глубина битов составляет 8 битов). Таким образом, модуль 511 адаптивного сдвига влево подает опорное изображение, считанное из устройства 510 хранения кадра, на селектор 512, без увеличения глубины битов, в соответствии с управлением, выполняемым декодером 156 РСМ.
В случае прогнозирования внутри кадра, селектор 512 подает опорное изображение, переданное от модуля 511 адаптивного сдвига влево, на модуль 513 прогнозирования внутри кадра. С другой стороны, в случае прогнозирования между кадрами, селектор 512 подает опорное изображение, переданное от модуля 511 адаптивного сдвига влево, на модуль 514 прогнозирования/компенсации движения.
На модуль 513 прогнозирования внутри кадра подают информацию, указывающую режим прогнозирования внутри кадра, которая была получена путем декодирования информации заголовка и т.д., из декодера 502 без потерь, соответствующим образом. Модуль 513 прогнозирования внутри кадра выполняет прогнозирование внутри кадра, используя опорное изображение, полученное из устройства 510 хранения кадра, используя режим прогнозирования внутри кадра, используемый модулем 317 прогнозирования внутри кадра, и генерирует изображение прогнозирования. Таким образом, модуль 513 прогнозирования внутри кадра также выполнен с возможностью выполнения прогнозирования внутри кадра, используя другой произвольный режим, чем режимы, определенные в формате кодирования AVC, аналогично модулю 317 прогнозирования внутри кадра.
Модуль 513 прогнозирования внутри кадра подает сгенерированное изображение прогнозирования на селектор 515.
На модуль 514 прогнозирования/компенсации движения подают информацию, полученную путем декодирования информации заголовка (информации режима прогнозирования, информации вектора движения, информации опорного кадра, флага, различных параметров и т.д.) от декодера 502 без потерь.
Модуль 514 прогнозирования/компенсации движения выполняет прогнозирование между кадрами, используя опорное изображение, полученное из устройства 510 хранения кадра, используя режим прогнозирования между кадрами, используемый модулем 318 прогнозирования/компенсации движения, генерируя, таким образом, изображение прогнозирования. Таким образом, модуль 514 прогнозирования/компенсации движения также выполнен с возможностью выполнения прогнозирования внутри кадра, используя произвольный режим, кроме режимов, определенных в формате кодирования AVC, как в модуле 318 прогнозирования/компенсации движения.
Модуль 514 прогнозирования/компенсации движения подает сгенерированное изображение прогнозирования на селектор 515.
Селектор 515 выбирает изображение прогнозирования, генерируемое с помощью модуля 514 прогнозирования/компенсации движения или модуля 513 прогнозирования внутри кадра, и подает изображение прогнозирования на модуль 505 вычисления, как и в случае селектора 213.
Декодер 516 РСМ управляет декодером 502 без потерь, фильтром 506 контура, модулем 507 адаптивного сдвига вправо и модулем 511 адаптивного сдвига влево на основе флага I_PCM_flag, передаваемого декодером 502 без потерь.
Декодер без потерь, декодер РСМ и фильтр контура
На фиг.16 показана блок-схема, иллюстрирующая пример основной конфигурации декодера 502 без потерь, декодера 516 РСМ и фильтра 506 контура, представленных на фиг.15.
Как показано на фиг.16, декодер 502 без потерь включает в себя декодер 531 NAL и декодер 532 CU. Декодер 531 NAL декодирует кодированные данные NAL, подаваемые из накопительного буфера 501, и подает декодированные данные NAL на декодер 532 CU.
Декодер 532 CU декодирует кодированные данные CU, которые поступают из накопительного буфера 501, на основе данных NAL, подаваемых от декодера 531 NAL.
Кроме того, после получения I_PCM_flag, в результате декодирования данных CU, декодер 532 CU подает I_PCM_flag на декодер 516 РСМ. Декодер 532 CU декодирует кодированные данные CU, в соответствии с управлением, выполняемым декодером 156 РСМ, на основе I_PCM_flag (на основе сигнала управления включения/выключения, подаваемого кодером 321 РСМ).
Например, в случае, когда I_PCM_flag имеет значение, указывающее, что режим не является режимом I_PCM, и в случае, когда сигнал управления, соответствующий состоянию "включено", будет получен от декодера 516 РСМ, декодер 532 CU декодирует кодированные данные CU, подаваемые из накопительного буфера 501, на основе данных NAL, подаваемых декодером 531 NAL, и подает квантованный коэффициент ортогонального преобразования на деквантователь 503.
С другой стороны, в случае, когда I_PCM_flag имеет значение, указывающее, что режим представляет собой режим I_PCM, и в случае, когда сигнал управления, представляющий "выключено", будет получен от декодера 516 РСМ, декодер 532 CU подает данные CU, подаваемые из накопительного буфера 501 (данные изображения, которые не были кодированы), на деквантователь 503.
Следует отметить, что декодер 532 CU подает информацию, получаемую в результате декодирования данных CU, таких как коэффициент фильтра и флаг адаптивного фильтра, на фильтр 506 контура.
Как представлено на фиг.8, декодер 516 РСМ включает в себя буфер 541 I_PCM_flag и контроллер 542 РСМ.
Буфер 541 I_PCM_flag содержит I_PCM_flag, поданный от декодера 532 CU декодера 502 без потерь, и подает этот I_PCM_flag на контроллер 542 РСМ в определенный момент времени.
Контроллер 542 РСМ определяет, был или нет выбран режим I_PCM во время кодирования в устройстве 300 кодирования изображения, на основе значения I_PCM_flag, полученного из буфера 541 I_PCM_flag. На основе результата определения, контроллер 542 РСМ подает сигнал управления включено/выключено на декодер 532 CU, и управляет его работой.
Например, в случае, когда определяют, что режим I_PCM не был выбран, контроллер 542 РСМ подает сигнал управления, представляющий состояние "включено", на декодер 532 CU, обеспечивает декодирование декодером 532 CU кодированных данных CU и обеспечивает подачу декодером 532 CU квантованного коэффициента ортогонального преобразования, полученного в результате декодирования, на деквантователь 503.
С другой стороны, например, в случае, когда определяют, что был выбран режим I_PCM, контроллер 542 РСМ подает сигнал управления, представляющий состояние "выключено", на декодер 532 CU, и обеспечивает подачу декодером 532 CU данных CU, которые являются не кодированными данными, на деквантователь 503, как выходные значения пикселя.
В соответствии с описанным выше управлением, декодер 532 CU выполнен с возможностью соответствующим образом декодировать кодированные данные, подаваемые от устройства 300 кодирования изображения. Таким образом, декодер 532 CU выполнен с возможностью декодирования кодированных данных более соответствующим образом, даже если режимом, который представляет собой режим I_PCM, управляют в модулях CU, которые меньше, чем LCU.
Кроме того, контроллер 542 РСМ подает сигнал управления включено/выключено на модуль 507 адаптивного сдвига вправо и на модуль 511 адаптивного сдвига влево на основе результата определения режима I_PCM и управляет их функционированием.
Например, в случае, когда определяют, что режим I_PCM не был выбран, контроллер 542 РСМ подает сигнал управления, представляющий состояние "включено", на модуль 507 адаптивного сдвига вправо и на модуль 511 адаптивного сдвига влево, и обеспечивает выполнение обработки сдвига влево и обработки сдвига вправо, таким образом, что повышается точность битов при внутренней обработке.
С другой стороны, в случае, когда определяют, что был выбран режим I_PCM, контроллер 542 РСМ подает сигнал управления, представляющий состояние "выключено", на модуль 507 адаптивного сдвига вправо и на модуль 511 адаптивного сдвига влево, и обеспечивает пропуск обработки сдвига влево и обработки сдвига вправо, так, что точность битов при внутренней обработке не повышается.
При использовании описанного выше управления контроллер 542 РСМ выполнен с возможностью соответствующим образом устранения избыточной обработки даже несмотря на то, управляется ли режим I_PCM в модулях CU или нет, которые меньше, чем LCU.
Кроме того, контроллер 542 РСМ подает сигнал управления включено/выключено на фильтр 506 контура на основе результата определения режима I_PCM, и управляет его работой. Например, в случае, когда определяют, что режим I_PCM не был выбран, контроллер 542 РСМ подает сигнал управления, представляющий состояние "включено", на фильтр 506 контура. С другой стороны, например, в случае, когда определяют, что был выбран режим I_PCM, контроллер 542 РСМ подает на фильтр 506 контура сигнал управления, представляющий состояние "выключено".
При использовании описанного выше управления контроллер 542 РСМ выполнен с возможностью устранения избыточной обработки более соответствующим образом, даже если режим представляет собой режим I_PCM, управляемый в модулях CU, которые меньше, чем LCU.
Как показано на фиг.8, фильтр 506 контура включает в себя фильтр 551 устранения блочности, модуль 552 сортировки пикселей и модуль 553 фильтрации.
Фильтр 551 устранения блочности выполняет обработку фильтром устранения блочности для декодированного изображения, подаваемого от модуля 505 вычисления (значения пикселей перед фильтром устранения блочности), удаляя, таким образом, искажения блоков, как и в случае фильтра 206 устранения блочности.
Как и в случае устройства 300 кодирования изображения, обработку фильтром устранения блочности выполняют независимо от того, является или нет режим для целевого CU режимом I_PCM. Фильтр 551 устранения блочности подает результат обработки фильтром (значения пикселя после фильтра устранения блочности) на модуль 552 сортировки пикселей.
В соответствии со значением сигнала управления включено/выключено, подаваемого от контроллера 542 РСМ, модуль 552 сортировки пикселей сортирует индивидуальные результаты обработки фильтром (значения пикселя после фильтра устранения блочности), как значения пикселя, для которых должна быть выполнена обработка адаптивным фильтром контура, и значения пикселя, для которых не должна быть выполнена обработка адаптивным фильтром контура.
Например, в случае, когда сигнал управления, представляющий "включено", поступает от контроллера 542 РСМ, модуль 552 сортировки пикселя сортирует значения пикселя после фильтра устранения блочности для CU, как значения пикселя, для которых должна быть выполнена обработка адаптивным фильтром контура. В отличие от этого, например, в случае, когда сигнал управления, представляющий "выключено", поступает от контроллера 542 РСМ, модуль 552 сортировки пикселя сортирует значения пикселя после фильтра устранения блочности CU, как значения пикселя, для которых не должна быть выполнена обработка адаптивным фильтром контура.
Модуль 552 сортировки пикселя подает отсортированные значения пикселя для отдельных пикселей (значения пикселя после фильтра устранения блочности) на модуль 553 фильтрации.
Модуль 553 фильтрации выполняет обработку адаптивным фильтром контура для значений пикселя, которые были отсортированы, как значения пикселя, для которых должна быть выполнена обработка адаптивным фильтром контура, на основе флага фильтра адаптивного контура, подаваемого декодером 532 CU.
Обработку адаптивным фильтром контура выполняют в модулях определенных блоков, которые установлены независимо от CU. В случае, когда значение флага адаптивного фильтра контура целевого блока представляет собой значение, указывающее, что обработка фильтром не была выполнена на стороне кодирования (например, "0"), модуль 553 фильтрации пропускает обработку адаптивным фильтром контура для целевого блока и подает значения пикселя после фильтра устранения блочности, подаваемые на него, на модуль 507 адаптивного сдвига вправо, как значения пикселя после адаптивного фильтра.
Кстати, способ установки флага адаптивного фильтра контура зависит от спецификации и т.д. устройства 300 кодирования изображения. Таким образом, в зависимости от способа установки флага адаптивного фильтра контура с помощью устройства 300 кодирования изображения, даже если значение флага адаптивного фильтра контура целевого блока представляет собой значение, указывающее, что обработка фильтром была выполнена на стороне кодирования (например, "1"), существует вероятность того, что пиксель в режиме I_PCM включен в целевой блок.
Таким образом, в случае, когда присутствует значение пикселя, которое было отсортировано как значение пикселя, для которого не была выполнена обработка адаптивным фильтром контура в целевом блоке, модуль 553 фильтрации пропускает обработку адаптивным фильтром контура для целевого блока, даже если значение флага адаптивного фильтра контура целевого блока представляет собой значение, указывающее, что обработка фильтром была выполнена на стороне кодирования (например, "1"), и подает значения пикселя после фильтра устранения блочности, подаваемые в него, на модуль 507 адаптивного сдвига вправо, как значения пикселя после адаптивного фильтра.
Таким образом, модуль 553 фильтрации выполняет обработку адаптивным фильтром контура для целевого блока только в случае, когда значение флага адаптивного фильтра контура целевого блока представляет собой значение, указывающее, что обработка фильтром была выполнена на стороне кодирования (например, "1"), и когда все пиксели целевого блока были отсортированы, как пиксели, для которых должна быть выполнена обработка адаптивным фильтром контура.
Следует отметить, что, в случае выполнения обработки адаптивным фильтром контура, модуль 553 фильтрации выполняет обработку адаптивным фильтром контура, используя коэффициент фильтра, подаваемый от декодера 32 CU (коэффициент фильтра, используемый при обработке адаптивным фильтром контура на стороне кодирования).
Модуль 553 фильтрации подает значения пикселя, для которых была выполнена обработка адаптивным фильтром контура, на модуль 507 адаптивного сдвига вправо, как значения пикселя после адаптивного фильтра.
Используя описанное выше управление, контроллер 542 РСМ выполнен с возможностью соответствующего устранения избыточной обработки, даже если режим представляет собой или нет режим I_PCM (режим без сжатия), которым управляют в модулях CU, которые меньше, чем LCU.
Как описано выше, при операциях обработки, выполняемых отдельными модулями обработки, устройство 500 декодирования изображения выполнено с возможностью реализации повышенной эффективности кодирования, при подавлении снижения эффективности обработки кодирования.
Последовательность обработки декодирования
Далее будет описана последовательность операций индивидуальной обработки, выполняемых описанным выше устройством 500 декодирования изображения. Вначале, со ссылкой на блок-схему последовательности операций на фиг.17 и фиг.18, будет описан пример потока обработки декодирования.
После начала обработки декодирования, на этапе S501, накопительный буфер 501 накапливает изображение (кодированные данные), переданные на него. На этапе S502 декодер 532 CU получает флаг адаптивного фильтра из кодированных данных, накопленных на этапе S501. На этапе S503 декодер 532 CU получает I_PCM_flag из кодированных данных, накопленных на этапе S501. Буфер 541 I_PCM_flag содержит I_PCM_flag.
На этапе S504 контроллер 542 РСМ определяет, является или нет режим кодирования кодированных данных (данных CU), накопленных на этапе S501, режимом I_PCM (то есть не кодированные данные), на основе значения I_PCM_flag, сохраненного в буфере 541 I_PCM_flag.
Если определяют, что режим кодирования не является режимом I_PCM, контроллер 542 РСМ обеспечивает переход обработки на этап S505. На этапе S505 декодер 502 без потерь выполняет обработку декодирования без потерь, декодирует кодированные данные (данные CU), накопленные на этапе S501, и получает квантованный коэффициент ортогонального преобразования, коэффициент фильтра и т.д.
На этапе S506 деквантователь 503 выполняет устранение квантования для квантованного коэффициента ортогонального преобразования, который получают в ходе обработки на этапе S505. На этапе S507 модуль 504 обратного ортогонального преобразования выполняет обратное ортогональное преобразование для коэффициента ортогонального преобразования, устранение квантования которого выполняют в ходе обработки на этапе S506, и генерируют декодированные данные изображения.
На этапе S508 модуль 511 адаптивного сдвига влево получает опорное изображение, соответствующее целевому CU, из устройства 510 хранения кадра, и выполняет обработку сдвига влево для опорного изображении, в соответствии с управлением, выполненным декодером 516 РСМ.
На этапе S509 модуль 513 прогнозирования внутри кадра или модуль 514 прогнозирования/компенсации движения выполняет обработку прогнозирования, используя опорное изображение, для которого была выполнена обработка сдвига влево на этапе S508, генерируя, таким образом, прогнозируемое изображение.
На этапе S510 модуль 505 вычисления суммирует прогнозируемое изображение, генерируемое модулем 513 прогнозирования внутри кадра или модулем 514 прогнозирования/компенсации движения на этапе S509, с информацией разности, полученной в ходе обработки на этапе S507.
На этапе S511 фильтр 506 контура выполняет обработку фильтром контура для результата суммирования, полученного на этапе S510.
На этапе S512 модуль 507 адаптивного сдвига вправо выполняет обработку сдвига вправо для результата обработки фильтром контура, полученного на этапе S511, в соответствии с управлением, выполненным декодером 516 РСМ.
На этапе S513 в устройстве 510 хранения кадра сохраняют декодированные данные изображения, как опорное изображение.
На этапе S514 буфер 508 изменения компоновки экрана изменяет компоновку кадров для декодированных данных изображения. Таким образом, для кадров декодированных данных изображения, компоновка которых была изменена в порядке кодирования в буфере 302 изменения компоновки экрана (фиг.7) устройства 300 кодирования изображения, выполняют изменение компоновки в порядке оригинального отображения.
На этапе S515 D/A преобразователь 509 выполняет D/A-преобразование декодированных данных изображения, в которых компоновка кадров была изменена на этапе S514. Декодированные данные изображения выводят на устройство отображения (не показано) и отображают их изображение.
Кроме того, если на этапе S504 определяют, что режим кодирования представляет собой режим I_PCM, контроллер 542 РСМ обеспечивает переход обработки на этап S521 на фиг.18. На этапе S521, декодер 502 без потерь выполняет обработку декодирования без потерь, и рассматривает кодированные данные (несжатые данные), накопленные на этапе S501, в качестве результата кодирования (выходные значения пикселя).
На этапе S522 фильтр 506 контура выполняет обработку фильтром контура для выходных значений пикселей, полученных на этапе S521. После окончания обработки на этапе S522, фильтр 506 контура возвращается к обработке на этапе S513 на фиг.17, таким образом, что выполняется последующий этап.
Последовательность обработки фильтром контура
Далее, со ссылкой на блок-схему последовательности операций, показанную на фиг.19, будет описан пример последовательности обработки фильтром контура, которая выполняется на этапе S511, на фиг.17, и этапе S522, на фиг.18,
После начала обработки фильтром контура, на этапе S541, фильтр 551 устранения блочности выполняет обработку фильтром устранения блочности для значений пикселя перед фильтром устранения блочности, которые получают на этапе S510 или этапе S521.
На этапе S542 модуль 553 фильтрации получает коэффициент фильтра. На этапе S543 модуль 552 сортировки пикселя определяет, следует или нет выполнить адаптивную фильтрацию контура, на основе значения флага адаптивного фильтра контура. В случае, когда определяют, что должна быть выполнена обработка адаптивным фильтром контура, модуль 552 сортировки пикселя обеспечивает переход обработки на этап S544.
На этапе S544 модуль 552 сортировки пикселя сортирует значения пикселя после фильтра устранения блочности, в соответствии с тем, является или нет режим режимом I_PCM, в соответствии с управлением, выполняемым контроллером 542 РСМ.
На этапе S545, модуль 545 фильтрации выполняет обработку адаптивным фильтром контура для значений пикселя после фильтра устранения блочности, которые были отсортированы так, что они прошли обработку адаптивным фильтром контура, используя коэффициент фильтра, полученный на этапе S542. После окончания обработки на этапе S545 модуль 545 фильтрации заканчивает обработку фильтром контура, обработка возвращается на этап S511 на фиг.17 или на этап S522 на фиг.18, и обработка переходит на этап S512 на фиг.17, или этап S513 на фиг.17.
Если на этапе S543 по фиг.19 определяют, что обработка адаптивным фильтром контура не должна быть выполнена, модуль 552 сортировки пикселя заканчивает обработку фильтром контура, обработка возвращается на этап S511 на фиг.17 или этап S522 на фиг.18, и обработка переходит на этап S512 на фиг.17 или этап S513 на фиг.17.
В результате выполнения операций индивидуальной обработки описанным выше образом, устройство 500 декодирования изображения выполнено с возможностью реализации улучшенной эффективности кодирования при подавлении снижения эффективности обработки кодирования.
Положение информации I_PCM
Как описано выше, управление выбором режима I_PCM может быть выполнено в модулях CU, таким образом, что кодирование с использованием режима I_PCM может быть выполнено только для некоторых из CU в LCU, как представлено, например, в части А на фиг.20. В части А на фиг.20 иллюстрируется структура CU в одном LCU. LCU, представленный в части А на фиг.20, состоит из семи CU, то есть CU0-CU6. Отдельные цифры обозначают порядок обработки в LCU. В примере, представленном в части А на фиг.20, заштрихованные CU (CU1, CU3 и CU6) будут кодированы с использованием режима I_PCM.
В этом случае, как представлено в части В на фиг.20, информация I_PCM, которая представляет собой информацию в отношении I_PCM внутри LCU, может быть добавлена сверху данных LCU в кодовом потоке.
Информация I_PCM включает в себя, например, информацию флага, указывающую, включает ли в себя LCU CU, который должен быть кодирован с использованием режима I_PCM. В случае примера, представленного на фиг.20, CU1, CU3 и CU6 представляют собой CU, которые должны быть кодированы, используя режим I_PCM, и, таким образом, информацию флага устанавливают в значение, указывающее, что LCU включает в себя CU, который должен быть кодирован, используя режим I_PCM (например, "1").
Таким образом, устройство 300 кодирования изображения добавляет информацию об I_PCM внутри LCU поверх LCU, и, таким образом, устройство 500 декодирования изображения получает возможность легко определять, включает в себя или нет LCU CU, который должен быть кодирован, используя режим I_PCM, перед декодированием LCU.
Кроме того, информация I_PCM включает в себя, например, информацию, указывающую CU, который должен быть кодирован, используя режим I_PCM, включенный в LCU. В случае примера, показанного на фиг.20, CU1, CU3 и CU6 представляют собой CU, которые должны быть кодированы, используя режим I_PCM, и, таким образом, информация I_PCM включает в себя информацию, указывающую эти CU (CU1, CU3 и CU6).
Таким образом, устройство 300 кодирования изображения добавляет информацию об одном I_PCM внутри LCU сверху LCU, и, таким образом, устройство 500 декодирования изображения получает возможность легко определять, какой из CU в LCU был кодирован с использованием режима I_PCM (режим без сжатия), перед декодированием LCU.
Следует отметить, что, в представленном выше описании, другие фрагменты информации, кроме данных изображения, такие как I_PCM_flag, флаг адаптивного фильтра, коэффициент фильтра и информация I_PCM, предоставляют от устройства 300 кодирования изображения на устройство 500 декодирования изображения, в соответствии с необходимостью, но эти фрагменты информации могут быть добавлены в произвольном положении кодированных данных. Например, фрагменты информации могут быть добавлены поверх CU или LCU, или могут быть добавлены в заголовок среза, или могут быть сохранены в наборе параметров последовательности (SPS), наборе параметров изображения (PPS) и т.п. В качестве альтернативы, например, фрагменты информации могут быть сохранены в наборе параметров (например, заголовке последовательности или изображения) в SEI (вспомогательная информация улучшения) и т.п.
Кроме того, части информации могут быть переданы на сторону декодирования отдельно от кодированных данных. В этом случае необходимо прояснить (обеспечить возможность определения для стороны декодирования) соответствие между частями информации и кодированными данными, но способ этого не указан. Например, таблица информации, указывающая соответствие, может быть сформирована отдельно, или информация связи, указывающая другую сторону, может быть внедрена в данные каждой стороны.
В качестве альтернативы, фрагменты информации могут совместно использоваться заранее с помощью устройства 300 кодирования изображения и устройства 500 декодирования изображения. В этом случае, передача фрагментов информации может быть исключена.
3. Третий вариант осуществления
Персональный компьютер
Описанная выше последовательность операций обработки может быть выполнена с помощью аппаратных средств или может быть выполнена с помощью программного обеспечения. В этом случае, например, аппаратные средства или программное обеспечение могут быть составлены, как персональный компьютер, представленный на фиг.21.
На фиг.21, CPU (центральное процессорное устройство) 601 персонального компьютера 600 выполняет различные операции обработки, в соответствии с программой, сохраненной в ROM (постоянное запоминающее устройство) 602, или программой, загруженной из модуля 613 хранения в RAM (оперативное запоминающее устройство) 603. Кроме того, данные, который необходимы CPU 601 для выполнения различных операций обработки, содержатся в RAM 603, соответствующим образом.
CPU 601, ROM 602 и RAM 603 соединены друг с другом через шину 604. Кроме того, интерфейс 610 ввода-вывода соединен с шиной 604.
Модуль 611 ввода, включающий в себя клавиатуру, "мышь" и т.п.; устройство 612 вывода, включающее в себя устройство отображения, такой как CRT (электронно-лучевая трубка) или LCD (жидкокристаллический дисплей), и громкоговоритель и т.п.; модуль 613 хранения, включающий в себя жесткий диск и т.п., и модуль 614 связи, включающий в себя модем и т.п., соединены с интерфейсом 610 ввода-вывода. Модуль 614 связи выполняет обработку связи через сеть, включающую в себя Интернет.
Кроме того, привод 615 соединяют с интерфейсом 610 ввода-вывода, в соответствии с необходимостью, съемный носитель 621 информации, такой как магнитный диск, оптический диск, магнитооптический диск или полупроводниковое запоминающее устройство, загружают в него, соответствующим образом, и компьютерную программу, считываемую с него, устанавливают в модуле 613 хранения, в соответствии с необходимостью.
В случае обеспечения выполнения программным обеспечением описанной выше последовательности операций обработки, программу, составляющую программное обеспечение, устанавливают через сеть или с носителя записи.
Носитель записи составлен, например, как показано на фиг.21, из съемного носителя 621, который предусмотрен отдельно от основного корпуса устройства, для распределения программы пользователю, он содержит программу, записанную на нем, и состоит из магнитного диска (включая в себя гибкий диск), оптического диска (включая в себя CD-ROM (постоянное запоминающее устройство на компакт-диске) и DVD (цифровой универсальный диск)), магнитооптического диска (включая в себя MD (мини-диск)) или полупроводникового запоминающего устройства. В качестве альтернативы, носитель записи состоит из ROM 602, содержащего программу, записанную в нем, или жесткий диск, включенный в модуль 613 хранения, который предоставляют для пользователя в состоянии, в котором он заранее встроен в основной корпусе устройства.
Программа, исполняемая компьютером, может представлять собой программу, в которой выполняются операции обработки во временной последовательности, в соответствии с порядком, описанным в данном описании, или может представлять собой программу, в которой операции обработки выполняются параллельно или в необходимые моменты времени, например, при вызове операций обработки.
Кроме того, в этом описании этапы, описывающие программу, записанную на носителе записи, могут представлять собой операции обработки, которые выполняют во временной последовательности, в соответствии с описанным порядком, или могут представлять собой операции обработки, которые выполняют параллельно или по-отдельности.
Кроме того, в данном описании "система" представляет собой все устройство, составленное из множества устройств.
Кроме того, конфигурация, описанная выше, как отдельное устройство (или модуль обработки) может быть разделена на множество устройств (или модулей обработки). В отличие от этого, конфигурация, описанная выше, как множество устройств (или модулей обработки) может быть скомбинирована в одно устройство (или модуль обработки). Кроме того, другая конфигурация, кроме описанной выше, конечно, может быть добавлена к конфигурации отдельных устройств (или модулей обработки). Кроме того, до тех пор, пока конфигурация и работа всей системы, по существу, является одной и той же, часть конфигурации определенного устройства (или модуля обработки) может быть включена в конфигурацию другого устройства (или другого модуля обработки). Таким образом, варианты осуществления настоящей технологии не ограничены описанными выше вариантами осуществления, и различные модификации могут быть выполнены без отклонения от сущности настоящей технологии.
Например, каждый из кодера 307 без потерь, фильтра 312 контура и кодера 321 РСМ, представленных на фиг.8, могут быть сконфигурированы, как независимое устройство. Кроме того, каждый из кодера 331 NAL, кодера 332 CU, генератора 341 I_PCM_flag, модуля 342 определения РСМ, фильтра 351 устранения блочности, модуля 352 сортировки пикселей, вычислителя 353 коэффициента фильтра и модуля 354 фильтра, представленных на фиг.8, могут быть сконфигурированы, как независимое устройство.
Кроме того, каждый из вычислителя 361 количества входных данных, модуля 362 определения РСМ, контроллера 363 кодирования, контроллера 364 адаптивного сдвига и контроллера фильтра, представленных на фиг.9, могут быть сконфигурированы, как независимое устройство.
В качестве альтернативы, такие модули обработки могут быть произвольно объединены вместе, и могут составлять независимое устройство. Конечно, такие модули обработки могут быть скомбинированы с произвольным модулем обработки, представленным на фиг.7 - фиг.9, или могут быть объединены с модулем обработки, который не показан.
Это же относится к устройству 500 декодирования изображения. Например, каждый из декодера 502 без потерь, фильтра 506 контура и декодера 516 РСМ, показанных на фиг.15, могут быть сконфигурированы, как независимое устройство. Кроме того, каждый из декодера 531 NAL, декодера 532 CU, буфера 541 I_PCM_flag, контроллера 542 РСМ, фильтра 551 устранения блочности, модуля 552 сортировки пикселя и модуля 553 фильтрации, представленных на фиг.16, могут быть сконфигурированы, как независимое устройство.
Кроме того, такие модули обработки могут быть произвольно скомбинированы вместе и могут составлять независимое устройство. Конечно, такие модули обработки могут быть скомбинированы с произвольным модулем обработки, представленным на фиг.15 и фиг.16, или могут быть скомбинированы с модулем обработки, который не показан.
Кроме того, например, описанные выше устройство кодирования изображения и устройство декодирования изображения могут применяться в произвольном электронном устройстве. Ниже будут описаны их примеры.
4. Четвертый вариант осуществления
Телевизионный приемник
На фиг.22 показана блок-схема, иллюстрирующая пример основной конфигурации телевизионного приемника, который включает в себя устройство 500 декодирования изображения.
Телевизионный приемник 1000, представленный на фиг.22, включает в себя тюнер 1013 наземной передачи, видеодекодер 1015, схему 1018 обработки видеосигнала, схему 1019 генерирования графических изображений, схему 1020 привода панели и панель 1021 отображения.
Тюнер 1013 наземной передачи принимает сигнал волны широковещательной передачи наземной аналоговой широковещательной передачи через антенну, декодирует этот сигнал, получает видеосигнал и подает видеосигнал на видеодекодер 1015. Видеодекодер 1015 выполняет обработку декодирования для видеосигнала, подаваемого от тюнера 1013 наземной передачи, и подает цифровой компонентный сигнал, полученный, таким образом, на схему 1018 обработки видеосигнала.
Схема 1018 обработки видеосигнала выполняет определенную обработку, такую как снижение уровня шумов, для видеоданных, подаваемых от видеодекодера 1015, и подает полученные видеоданные на схему 1019 генерирования графических изображений.
Схема 1019 генерирования графических изображений генерирует, например, видеоданные программы, которая должна отображаться на панели 1021 отображения, или генерирует данные изображения, выполняя обработку на основе приложения, подаваемого через сеть, и подает сгенерированные видеоданные или данные изображения на схему 1020 управления панелью. Кроме того, схема 1019 генерирования графических изображений выполняет, соответствующим образом, обработку генерирования видеоданных (графических изображений) для отображения экрана, который используется пользователем для выбора элемента и т.п., и подает видеоданные, полученные путем наложения сгенерированных видеоданных на видеоданные программы, на схему 1020 управления панелью.
Схема 1020 управления панелью выполняет управление панелью 1021 отображения на основе данных, подаваемых от схемы 1019 генерирования графических изображений, и обеспечивает отображение панелью 1021 отображения видеоданных программы или описанных выше различных экранов.
Панель 1021 отображения состоит из LCD (жидкокристаллического дисплея) и т.п., и отображает видеоизображения программы и т.д., в соответствии с управлением, выполняемым схемой 1020 управления панелью.
Кроме того, телевизионный приемник 1000 включает в себя схему 1014 A/D (аналогово/цифрового) преобразователя аудиоданных, схему 1022 обработки аудиосигнала, схему 1023 компенсации эха/синтеза аудиоданных, схему 1024 усиления звука и громкоговоритель 1025.
Наземный тюнер 1013 демодулирует принятый сигнал волны широковещательной передачи, и, таким образом, получает аудиосигнал, а также видеосигнал. Наземный тюнер 1013 подает полученный аудиосигнал на схему 1014 A/D преобразователя аудиоданных.
Схема 1014 A/D преобразователя аудиоданных выполняет обработку A/D преобразования для аудиосигнала, подаваемого от наземного тюнера 1013, и подает цифровой аудиосигнал, полученный, таким образом, на схему 1022 обработки аудиосигнала.
Схема 1022 обработки аудиосигнала выполняет определенную обработку, такую как уменьшение уровня шумов, для аудиоданных, подаваемых от схемы 1014 A/D преобразователя аудиоданных, и подает аудиоданные, полученные, таким образом, на схему 1023 компенсации эха/синтеза аудиоданных.
Схема 1023 компенсации эха/синтеза аудиоданных подает аудиоданные, переданные от схемы 1022 обработки аудиосигнала, на схему 1024 усилителя звука.
Схема 1024 усилителя звука выполняет обработку D/A преобразования и обработку усиления аудиоданных, подаваемых от схемы 1023 компенсации эха/синтеза аудиоданных, регулирует эти аудиоданные таким образом, чтобы они имели определенный уровень, и обеспечивает вывод звука из громкоговорителя 1025.
Кроме того, телевизионный приемник 1000 включает в себя цифровой тюнер 1016 и декодер 1017 MPEG.
Цифровой тюнер 1016 принимает сигнал волны широковещательной передачи цифровой широковещательной передачи (наземной цифровой широковещательной передачи, BS (спутниковой широковещательной передачи)/CS (спутник связи) цифровой широковещательной передачи) через антенну, демодулирует сигнал, получает MPEG-TS (транспортный поток Группы экспертов в области движущегося изображения), и подает его в декодер 1017 MPEG.
Декодер 1017 MPEG выполняет дескремблирование MPEG-TS, подаваемого из цифрового тюнера 1016, и выделяет поток, включающий в себя данные программы, как цель для воспроизведения (цель, которая должна просматриваться и которую требуется прослушивать). Декодер 1017 MPEG декодирует пакеты аудиоданных, составляющие выделенный поток, и подает аудиоданные, полученные, таким образом, на схему 1022 обработки аудиосигнала, и также декодирует видеопакеты, составляющие поток, и подает видеоданные, полученные, таким образом, на схему 1018 обработки видеосигнала. Кроме того, декодер 1017 MPEG подает данные EPG (электронная телевизионная программа передач), выделенные из MPEG-TS, на CPU 1032 через путь, который не показан.
Телевизионный приемник 1000 включает в себя описанное выше устройство 500 декодирования изображения, используемое, как декодер 1017 MPEG, который декодирует пакеты видеоданных, таким образом. Следует отметить, что MPEG-TS, переданный из станции широковещательной передачи и т.п., был кодирован устройством 300 кодирования изображения.
Как и в случае устройства 500 декодирования изображения, декодер 1017 MPEG соответствующим образом декодирует кодированные данные, для которых выбор режима I_PCM управляется в модулях CU, которые меньше чем LCU. Таким образом, декодер MPEG 1017 выполнен с возможностью реализации уменьшения избыточной обработки для кодирования и уменьшения избыточной информации, включенной в кодированные данные. В соответствии с этим, декодер 1017 MPEG выполнен с возможностью реализации улучшенной эффективности кодирования при подавлении снижения эффективности обработки кодирования.
Как и в случае видеоданных, подаваемых от видеодекодера 1015, видеоданные, подаваемые от декодера 1017 MPEG, проходят определенную обработку на схеме 1018 обработки видеосигнала, видеоданные и т.п., генерируемые в схеме 1019 графического генерирования, накладывают на них, соответствующим образом, видеоданные подают в панель 1021 отображения через схему 1020 управления панелью, и отображают их изображение.
Как и в случае аудиоданных, подаваемых от схемы 1014 A/D преобразования, аудиоданные, подаваемые от декодера 1017 MPEG, проходят определенную обработку в схеме 1022 обработки аудиосигнала, их подают на схему 1024 усилителя звука через схему 1023 компенсации эха/синтеза аудиоданных, и для них выполняют обработку D/A преобразования и обработку усиления. В результате, звук, отрегулированный до определенного уровня, выводят через громкоговоритель 1025.
Кроме того, телевизионный приемник 1000 включает в себя микрофон 1026 и схему 1027 A/D преобразователя.
Схема 1027 A/D преобразователя принимает сигнал голоса пользователя, захваченного микрофоном 1026, который предусмотрен в телевизионном приемнике 1000, для преобразования голоса, выполняет обработку A/D преобразования для принятого аудиосигнала, и подает полученные цифровые аудиоданные на схему 1023 компенсации эха/синтеза аудиоданных.
В случае, когда аудиоданные пользователя (пользователя А) телевизионного приемника 1000 поступают от схемы 1027 A/D преобразователя, схема 1023 компенсации эха/синтеза аудиоданных выполняет компенсацию эха сигнала для аудиоданных пользователя А, и обеспечивает вывод аудиоданных, которые были получены в ходе синтеза, с другими аудиоданными, через громкоговоритель 1025, через схему 1024 усилителя звука.
Кроме того, телевизионный приемник 1000 включает в себя аудиокодек 1028, внутреннюю шину 1029, SDRAM (синхронное динамическое оперативное запоминающее устройство) 1030, запоминающее устройство 1031 типа флэш, CPU 1032, интерфейс 1033 USB (универсальная последовательная шина) и сетевой интерфейс 1034.
Схема 1027 A/D преобразователя принимает сигнал голоса пользователя, захваченный микрофоном 1026, который поступает на телевизионный приемник 1000 для голосового разговора, выполняет обработку A/D преобразования для принятого аудиосигнала, и подает полученные цифровые аудио данные на аудиокодек 1028.
Аудиокодек 1028 преобразует аудиоданные, поданные из схемы 1027 A/D преобразователя в данные в определенном формате, для передачи их через сеть, и подает аудиоданные на сетевой I/F 1034 через внутреннюю шину 1029.
Сетевой I/F 1034 соединен с сетью через кабель, присоединенный к сетевому разъему 1035. Сетевой I/F 1034 передает аудиоданные, переданные от аудиокодека 1028, например, на другое устройство, подключенное к сети. Кроме того, сетевой I/F 1034 принимает, через сетевой разъем 1035, аудиоданные, переданные от другого устройства, подключенные, например, через сеть, и подает эти аудиоданные на аудиокодек 1028 через внутреннюю шину 1029.
Аудиокодек 1028 преобразует аудиоданные, переданные от сетевого I/F 1034, в данные определенного формата, и подает эти данные на схему 1023 компенсации эха/синтеза аудиоданных.
Схема 1023 компенсации эха/синтеза аудиоданных выполняет компенсацию эхо-сигнала для аудиоданных, подаваемых от аудиокодека 1028, и обеспечивает вывод аудиоданных, полученных в результате синтеза, с другими аудиоданными через громкоговоритель 1025, через схему 1024 усилителя звука.
В SDRAM 1030 содержатся различные части данных, необходимых для CPU 1032 для выполнения обработки.
В запоминающем устройстве 1031 типа флэш содержится программа, выполняемая CPU 1032. Программа, содержащаяся в запоминающем устройстве 1031 типа флэш, считывается с помощью CPU 1032 в определенный момент времени, например, при включении телевизионного приемника 1000. Запоминающее устройство 1031 типа флэш также содержит данные EPG, полученные через цифровую широковещательную передачу, и данные, полученные из определенного сервера через сеть.
Например, в запоминающем устройстве 1031 типа флэш содержится MPEG-TS, включающий в себя данные содержания, полученные от определенного сервера через сеть под управлением, выполняемым CPU 1032. Запоминающее устройство 1031 типа флэш подает MPEG-TS на декодер 1017 MPEG, например, через внутреннюю шину 1029, под управлением, выполняемым CPU 1032.
Декодер 1017 MPEG обрабатывает MPEG-TS, как в случае MPEG-TS, переданного от цифрового тюнера 1016. Таким образом, телевизионный приемник 1000 выполнен с возможностью приема данных содержания, таких как видеоданные, аудиоданные и т.п. через сеть, декодирования данных, используя декодер 1017 MPEG, и обеспечения вывода видеоизображения, предназначенного для отображения или звука.
Кроме того, телевизионный приемник 1000 включает в себя приемник 1037 света, который принимает инфракрасный сигнал, передаваемый от пульта 1051 дистанционного управления.
Приемник 1037 света принимает инфракрасные лучи от пульта 1051 дистанционного управления, и выводит код управления, представляющий детали операции пользователя, полученные в результате демодуляции, на CPU 1032.
CPU 1032 выполняет программу, содержащуюся в запоминающем устройстве 1031 типа флэш, и управляет всей работой телевизионного приемника 1000, в соответствии с кодом управления и т.п., переданным от приемника 1037 света. CPU 1032 соединено с отдельными модулями телевизионного приемника 1000 через пути, которые не показаны.
I/F 1033 USB передает данные в/принимает данные от внешнего устройства телевизионного приемника 1000, устройство подключено через кабель USB, соединенный с разъемом 1036 USB. Сетевой I/F 1034 соединен с сетью через кабель, подключенный к сетевому разъему 1035, и передает/принимает другие данные, кроме аудиоданных в/из различных устройств, подключенных к сети.
Телевизионный приемник 1000 включает в себя устройство 500 декодирования изображения, используемое, как декодер 1017 MPEG, будучи, таким образом, способным реализовать повышение эффективности кодирования данных содержания при подавлении снижения эффективности обработки кодирования во время генерирования данных содержания, которые получают через сигнал волны широковещательной передачи, принятый через антенну или сеть.
5. Пятый вариант осуществления
Мобильный телефон
На фиг.23 показана блок-схема, иллюстрирующая основную примерную конфигурации мобильного телефона, который включает в себя устройство 300 кодирования изображения и устройство 500 декодирования изображения.
Мобильный телефон 1100, показанный на фиг.23, включает в себя основной контроллер 1150, выполненный с возможностью совместного управления отдельными модулями, модуль 1151 схемы источника питания, контроллер 1152 ввода оперирования, кодер 1153 изображения, модуль 1154 I/F камеры, контроллер 1155 LCD, декодер 1156 изображения, модуль 1157 мультиплексора/демультиплексора, модуль 1162 записи/воспроизведения, модуль 1158 схемы модуляции/демодуляции и аудиокодек 1159. Они соединены друг с другом через шину 1160.
Кроме того, мобильный телефон 1100 включает в себя ключ 1119 оперирования, CCD (прибор с зарядовой связью) камеру 1116, жидкокристаллический дисплей 1118, модуль 1123 накопителя, модуль 1163 схемы передачи/приема, антенну 1114, микрофон 1121 и громкоговоритель 1117.
Когда вызов заканчивается, или когда включают переключатель питания при выполнении операции пользователя, модуль 1151 схемы источника питания подает питание от аккумуляторной батареи на отдельные модули, переводя, таким образом, мобильный телефон 1100 в рабочее состояние.
Мобильный телефон 1100 выполняет различные операции, такие как передача/прием аудиосигнала, передача/прием электронной почты или данных изображения, съемка изображения или запись данных, в различных режимах, таких как режим звукового вызова или режим передачи данных, на основе управления, выполняемого основным контроллером 1150, который включает в себя CPU, ROM, RAM и т.д.
Например, в режиме звукового вызова, мобильный телефон 1100 преобразует аудиосигнал, захваченный микрофоном 1121, в цифровые аудиоданные, используя аудиокодек 1159, выполняет обработку расширения спектра для него, используя модуль 1158 схемы модуляции/демодуляции, и выполняет обработку цифро-аналогового преобразования и обработку преобразования частоты, используя модуль 1163 схемы передачи/приема. Мобильный телефон 1100 передает сигнал, предназначенный для передачи, полученный через обработку преобразования, на базовую станцию (не представлена) через антенну 1114. Сигнал, предназначенный для передачи (аудиосигнал), передаваемый на базовую станцию, подают на мобильный телефон на другом конце вызова через телефонную сеть общего пользования.
Кроме того, например, в режиме звукового вызова, мобильный телефон 1100 усиливает сигнал приема, принимаемый антенной 1114, используя модуль 1163 схемы передачи/приема, дополнительно выполняет обработку преобразования частоты и обработку аналого-цифрового преобразования, выполняет обработку обратного расширения спектра, используя модуль 1158 схемы модуляции/демодуляции, и преобразует сигнал в аналоговый звуковой сигнал, используя аудиокодек 1159. Мобильный телефон 1100 выводит аналоговый звуковой сигнал, полученный в ходе преобразования, через громкоговоритель 1117.
Кроме того, например, в случае передачи электронной почты в режиме передачи данных, мобильный телефон 1100 принимает, в контроллере 1152 ввода операции, текстовые данные электронной почты, подаваемые в ходе операции, выполняемой с кнопкой 1119 оперирования. Мобильный телефон 1100 обрабатывает текстовые данные, используя основной контроллер 1150, и обеспечивает отображение текстовых данных, как изображение, на жидкокристаллическом дисплее 1118 через контроллер 1155 LCD.
Кроме того, мобильный телефон 1100 генерирует, в основном контроллере 1150, данные электронной почты, на основе текстовых данных или инструкции пользователя, принятой контроллером 1152 ввода операции. Мобильный телефон 1100 выполняет обработку расширения спектра для данных электронной почты, используя модуль 1158 схемы модуляции/демодуляции, и выполняет обработку цифро-аналогового преобразования и обработку преобразования частоты, используя модуль 1163 схемы передачи/приема. Мобильный телефон 1100 передает сигнал, предназначенный для передачи, полученный в результате обработки преобразования, на базовую станцию (не показана) через антенну 1114. Сигнал, предназначенный для передачи (электронная почта), переданный на базовую станцию, подают в определенное место назначения через сеть и почтовый сервер, и т.п.
Кроме того, например, в случае приема электронной почты в режиме передачи данных, мобильный телефон 1100 принимает сигнал, переданный от базовой станции через антенну 1114, используя модуль 1163 схемы передачи/приема, усиливает сигнал и дополнительно выполняет обработку преобразования частоты и обработку аналого-цифрового преобразования. Мобильный телефон 1100 выполняет обработку обратного расширения спектра для принятого сигнала, используя модуль 1158 схемы модуляции/демодуляции для восстановления исходных данных электронной почты. Мобильный телефон 1100 отображает восстановленные данные электронной почты в жидкокристаллическом дисплее 1118 через контроллер 1155 LCD.
Кроме того, мобильный телефон 1100 также выполнен с возможностью обеспечения записи (сохранения) принятых данных электронной почты в модуле 1123 накопителя через модуль 1162 записи/воспроизведения.
Модуль 1123 накопителя представляет собой произвольный модуль накопителя с возможностью перезаписи. Модуль 1123 накопителя может представлять собой, например, полупроводниковое запоминающее устройство, такое как RAM или встроенное запоминающее устройство типа флэш, жесткий диск или съемный носитель информации, такой как магнитный диск, магнитооптический диск, оптический диск, запоминающее устройство USB или карта памяти. Конечно, можно использовать другие типы носителей.
Кроме того, например, в случае передачи данных изображения в режиме передачи данных, мобильный телефон 1100 генерирует данные изображения во время съемки изображения, используя камеру 1116 CCD. Камера 1116 CCD включает в себя оптические устройства, такие как объектив и диафрагма, и CCD, используемый в качестве элемента фотоэлектрического преобразования, захватывает изображение субъекта, преобразует интенсивность принятого света в электрический сигнал и генерирует данные изображения для изображения субъекта. Камера 1116 CCD кодирует данные изображения, используя кодер 1153 изображения, через модуль 1154 I/F камеры, преобразуя, таким образом, данные изображения в кодированные данные изображения.
Мобильный телефон 1100 включает в себя описанное выше устройство 300 кодирования изображения, используемое в качестве кодера 1153 изображения, который выполняет описанную выше обработку. Как и в случае устройства 300 кодирования изображения, кодер 1153 изображения управляет выбором режима I_PCM в модулях CU, которые меньше, чем LCU. Таким образом, кодер 1153 изображения выполнен с возможностью дополнительного уменьшения избыточной обработки для кодирования, и также выполнен с возможностью дополнительного уменьшения избыточной информации, включенной в кодированные данные. В соответствии с этим, кодер 1153 изображения выполнен с возможностью улучшения эффективности кодирования при подавлении снижения эффективности обработки кодирования.
Кроме того, в то же время, мобильный телефон 1100 выполняет, в аудиокодеке 1159, аналого-цифровое преобразование для звука, собранного с помощью микрофона 1121 во время захвата изображения с помощью камеры 1116 CCD, и также кодирует его.
Мобильный телефон 1100 мультиплексирует, в модуле 1157 мультиплексора/демультиплексора, кодированные данные изображения, переданные из кодера 1153 изображения, и цифровые аудиоданные, поданные от аудиокодека 1159, используя определенный способ. Мобильный телефон 1100 выполняет обработку расширения спектра для мультиплексированных данных, полученных в результате, использования модуля 1158 схемы модуляции/демодуляции, и выполняет обработку цифроаналогового преобразования и обработку преобразования частоты, используя модуль 1163 схемы передачи/приема. Мобильный телефон 1100 передает сигнал, который предназначен для передачи, полученный посредством обработки преобразования, на базовую станцию (не показана) через антенну 1114. Сигнал, предназначенный для передачи (данные изображения), который был передан на базовую станцию, поступает на другой конец связи через сеть и т.п.
Следует отметить, что, в случае, когда не передают данные изображения, мобильный телефон 1100 выполнен с возможностью обеспечения отображения данных изображения, генерируемых камерой 1116 CCD на жидкокристаллическом дисплее 1118 через контроллер 1155 LCD, а не через кодер 1153 изображения.
Кроме того, например, в случае приема данных файла движущегося изображения, который соединен с простой сетевой страницей и т.п. в режиме передачи данных, мобильный телефон 1100 принимает сигнал, переданный от базовой станции, через антенну 1114, используя модуль 1163 схемы передачи/приема, усиливает этот сигнал и дополнительно выполняет обработку преобразования частоты и обработку аналого-цифрового преобразования для него. Мобильный телефон 1100 выполняет обработку обратного расширения спектра для принятого сигнала, для восстановления исходных мультиплексированных данных, используя модуль 1158 схемы модуляции/демодуляции. Мобильный телефон 1100 демультиплексирует мультиплексированные данные в данные кодированного изображения и аудиоданные, используя модуль 1157 мультиплексора/демультиплексора.
Мобильный телефон 1100 декодирует кодированные данные изображения, используя декодер 1156 изображения для генерирования воспроизводимых данных движущегося изображения, и обеспечивает отображение этих данных в жидкокристаллическом дисплее 1118 через контроллер 1155 LCD. В соответствии с этим, например, данные движущегося изображения, включенные в файл движущегося изображения, соединенный с простой веб-страницей, отображаются на жидкокристаллическом дисплее 1118.
Мобильный телефон 1100 включает в себя описанное выше устройство 500 декодирования изображения, используемое в качестве декодера 1156 изображения, для выполнения такой обработки. Таким образом, как и в случае устройства 500 декодирования изображения, декодер 1156 изображения соответствующим образом декодирует кодированные данные, для которых выбором режима I_PCM управляют в модулях CU, которые меньше, чем LCU. Таким образом, декодер 1156 изображения выполнен с возможностью реализации уменьшения избыточной обработки для кодирования и уменьшения избыточной информации, включенной в кодированные данные. В соответствии с этим, декодер 1156 изображения выполнен с возможностью реализации повышения эффективности кодирования при подавлении снижения эффективности обработки кодирования.
В это время, мобильный телефон 1100 преобразует цифровые аудиоданные в аналоговый аудиосигнал, используя аудиокодек 1159, и обеспечивает выход сигнала через громкоговоритель 1117. В соответствии с этим воспроизводят, например, аудиоданные, включенные в файл движущегося изображения, соединенный с простой веб-страницей.
Следует отметить, что, как и в случае электронной почты, мобильный телефон 1100 также выполнен с возможностью обеспечения записи (сохранения) принятых данных, связанных с простой веб-страницей, и т.п., в модуле 1123 накопителя через модуль 1162 записи/воспроизведения.
Кроме того, мобильный телефон 1100 выполнен с возможностью анализа двумерного кода, полученного камерой 1116 CCD в ходе съемки изображения, и получения информации, записанной в двумерном коде, используя основной контроллер 1150.
Кроме того, мобильный телефон 1100 выполнен с возможностью обмена данными с внешним устройством, используя инфракрасные лучи, через модуль 1181 инфракрасной передачи данных.
В результате включения устройства 300 кодирования изображения, используемого в качестве кодера 1153 изображения, мобильный телефон 1100 выполнен с возможностью улучшения эффективности кодирования при подавлении снижения эффективности обработки кодирования, например, при кодировании и передаче данных изображения, генерируемых камерой 1116 CCD.
Кроме того, в результате включения устройства 500 декодирования изображения, используемого в качестве декодера 1156 изображения, мобильный телефон 1100 выполнен с возможностью реализации повышенной эффективности кодирования данных, при подавлении снижения эффективности обработки кодирования во время генерирования данных (кодированных данных) файла движущегося изображения, соединенного с простой веб-страницей и т.п.
Следует отметить, что, хотя выше было представлено описание, в котором мобильный телефон 1100 включает в себя камеру 1116 CCD, датчик изображения, с использованием CMOS (комплементарный металло-оксидный полупроводник) (датчик изображения CMOS) может использоваться вместо камеры 1116 CCD. В этом случае, мобильный телефон 1100 также выполнен с возможностью съемки изображения субъекта и генерирования данных изображения для изображения субъекта, как и в случае использования камеры 1116 CCD.
Кроме того, хотя выше было представлено описание мобильного телефона 1100, устройство 300 кодирования изображения и устройство 500 декодирования изображения могут применяться в любом устройстве, имеющем функцию съемки изображения и функцию связи, аналогичную функции мобильного телефона 1100, таком как PDA (карманный персональный компьютер), смартфон, UMPC (ультра мобильный персональный компьютер), нетбук или персональный компьютер - ноутбук, как и в случае мобильного телефона 1100.
6. Шестой вариант осуществления
Устройство записи на жесткий диск
На фиг.24 показана блок-схема, иллюстрирующая основную примерную конфигурации устройства записи на жесткий диск, которое включает в себя устройство 300 кодирования изображения и устройство 500 декодирования изображения.
Устройство 1200 записи на жесткий диск (устройство записи HDD), представленное на фиг.24, представляет собой устройство, которое сохраняет, на жестком диске, встроенном в него, аудиоданные и видеоданные программы широковещательной передачи, включенной в сигнал волны широковещательной передачи (телевизионный сигнал), переданный через спутник, антенну или по наземному каналу передачи, и т.п. и который принимают тюнером, и который предоставляет сохраненные данные для пользователя в моменты времени, соответствующие инструкции, предоставленной пользователем.
Устройство 1200 записи на жесткий диск выполнено с возможностью, например, выделения аудиоданных и видеоданных из сигнала волны широковещательной передачи, соответствующим образом, декодируя их, и обеспечивая сохранение на встроенном в нем жестком диске. Кроме того, устройство 1200 записи на жесткий диск выполнено с возможностью, например, получения аудиоданных и видеоданных от другого устройства через сеть, соответствующего их декодирования и обеспечения их сохранения на жестком диске, встроенном в нем.
Кроме того, устройство 1200 записи на жесткий диск выполнено с возможностью, например, декодирования аудиоданных и видеоданных, записанных на жестком диске, встроенном в него, подачи их на монитор 1260, обеспечивая отображение их изображения на экране монитора 1260, и обеспечивая вывод их звука через громкоговоритель монитора 1260. Кроме того, устройство 1200 записи на жесткий диск выполнено с возможностью, например, декодирования аудиоданных и видеоданных, выделенных из сигнала волны широковещательной передачи, полученного через тюнер, или аудиоданных и видеоданных, полученных от другого устройства через сеть, подачи их на монитор 1260, обеспечения отображения их изображения на экране монитора 1260, и обеспечения вывода их звука через громкоговоритель монитора 1260.
Конечно, могут выполняться другие операции.
Как представлено на фиг.24, устройство 1200 записи на жесткий диск включает в себя модуль 1221 приема, модуль 1222 демодуляции, демультиплексор 1223, аудиодекодер 1224, видеодекодер 1225 и контроллер 1226 устройства записи. Устройство 1200 записи на жесткий диск дополнительно включает в себя устройство 1227 хранения данных EPG, устройство 1228 хранения программы, оперативное запоминающее устройство 1229, преобразователь 1230 отображения, контроллер 1231 OSD (меню на экране) контроллер 1232 отображения, модуль 1233 записи/воспроизведения, D/A преобразователь 1234 и модуль 1235 связи.
Кроме того, преобразователь 1230 отображения включает в себя видеокодер 1241. Модуль 1233 записи/воспроизведения включает в себя кодер 1251 и декодер 1252.
Модуль 1221 приема принимает инфракрасный сигнал от пульта дистанционного управления (не показан), преобразует этот сигнал в электрический сигнал и выводит электрический сигнал на контроллер 1226 устройства записи. Контроллер 1226 устройства записи состоит, например, из микропроцессора и т.п., и выполняет различные операции обработки в соответствии с программой, сохраненной в запоминающем устройстве 1228 программы. В это время контроллер 1226 устройства записи использует оперативное запоминающее устройство 1229, в соответствии с необходимостью.
Модуль 1235 связи соединен с сетью и выполняет обработку связи через другое устройство через сеть. Например, модулем 1235 связи управляют с использованием контроллера 1226 устройства записи, он связывается с тюнером (не показан), и выводит сигнал управления выбора канала, в основном, в тюнер.
Модуль 1222 демодуляции демодулирует сигнал, подаваемый от тюнера, и выводит этот сигнал на демультиплексор 1223. Демультиплексор 1223 демультиплексирует данные, поданные от модуля 1222 демодуляции, на аудиоданные, видеоданные и данные EPG и выводит их на аудиодекодер 1224, видеодекодер 1225 и в контроллер 1226 устройства записи, соответственно.
Аудиодекодер 1224 декодирует аудиоданные, подаваемые на него, и выводит аудиоданные на модуль 1233 записи/воспроизведения. Видеодекодер 1225 декодирует видеоданные, подаваемые на него, и выводит эти видеоданные на преобразователь 1230 отображения. Контроллер 1226 устройства записи подает данные EPG, подаваемые на него, в устройство 1227 хранения данных EPG, для сохранения их в нем.
Преобразователь 1230 отображения кодирует, используя видеокодер 1241, видеоданные, подаваемые от видеодекодера 1225 или контроллера 1226 устройства записи, в видеоданные в формате NTSC (Национальный комитет телевизионных стандартов), например, и выводит эти видеоданные на модуль 1233 записи/воспроизведения. Кроме того, преобразователь 1230 отображения преобразует размер экрана видеоданных, подаваемых от видеодекодера 1225 или контроллера 1226 устройства записи, в размер, соответствующий размеру монитора 1260, преобразует эти видеоданные в видеоданные в формате NTSC, используя видеокодер 1241, преобразует видеоданные в аналоговый сигнал и выводит аналоговый сигнал на контроллер 1232 отображения.
Контроллер 1232 отображения накладывает сигнал OSD, выводимый от контроллера 1231 OSD (меню на экране), на видеосигнал, подаваемый от преобразователя 1230 отображения, под управлением, выполняемым контроллером 1226 устройства записи, выводит его для отображения на устройство отображения монитора 1260, и обеспечивает его отображение на нем.
Кроме того, на монитор 1260 подают аудиоданные, которые были выведены аудиодекодером 1224 и которые были преобразованы в аналоговый сигнал с помощью D/A преобразователя 1234. Монитор 1260 выводит этот звуковой сигнал через громкоговоритель, встроенный в него.
Модуль 1233 записи/воспроизведения включает в себя жесткий диск, используемый, как носитель информации для содержания видеоданных, аудиоданных и т.п., записанных на нем.
Модуль 1233 записи/воспроизведения кодирует, с помощью кодера 1251, аудиоданные, подаваемые, например, от декодера 1224 аудиоданных. Кроме того, модуль 1233 записи/воспроизведения кодирует, с помощью кодера 1251, видеоданные, подаваемые от видеокодера 1241 преобразователя 1230 отображения. Модуль- 1233 записи/воспроизведения комбинирует, с помощью мультиплексора, кодированные данные для аудиоданных и кодированные данных для видеоданных. Модуль 1233 записи/воспроизведения выполняет кодирование канала для композитных данных, для их усиления, и записывает эти данные на жесткий диск через головку записи.
Модуль 1233 записи/воспроизведения воспроизводит данные, записанные на жестком диске, через головку воспроизведения, усиливает эти данные, и демультиплексирует эти данные в аудиоданные и видеоданные, используя демультиплексор. Модуль 1233 записи/воспроизведения декодирует, используя декодер 1252, аудиоданные и видеоданные. Модуль 1233 записи/воспроизведения выполняет D/A-преобразование декодированных аудиоданных, и выводит аудиоданные на громкоговоритель монитора 1260. Кроме того, модуль 1233 записи/воспроизведения выполняет D/A-преобразование декодированных видеоданных, и выводит эти видеоданные на устройство отображения монитора 1260.
Контроллер 1226 устройства записи считывает самые последние данные EPG из устройства 1227 хранения данных EPG на основе инструкции пользователя, представленной инфракрасным сигналом, который поступает от пульта дистанционного управления и который принимают через модуль 1221 приема, и подает данные EPG на контроллер 1231 OSD. Контроллер 1231 OSD генерирует данные изображения, соответствующие входным данным EPG, и выводит данные изображения на контроллер 1232 отображения. Контроллер 1232 отображения выводит видеоданные, подаваемые от контроллера 1231 OSD, на устройство отображения монитора 1260, и обеспечивает отображение на нем видеоданных. В соответствии с этим, EPG (электронная программа передач) отображается на устройстве отображения монитора 1260.
Кроме того, устройство 1200 записи на жесткий диск выполнено с возможностью получения различных фрагментов данных, таких как видеоданные, аудиоданные или данные EPG, подаваемых от другого устройства через сеть, такую как Интернет.
Модулем 1235 связи управляют с помощью контроллера 1226 устройства записи, он получает кодированные данные, такие как видеоданные, аудиоданные, данные EPG и т.д., переданные из другого устройства через сеть, и подает кодированные данные на контроллер 1226 устройства записи. Например, контроллер 1226 устройства записи подает полученные кодированные данные, такие как видеоданные и аудиоданные, на модуль 1233 записи/воспроизведения, и обеспечивает сохранение на жестком диске кодированных данных. В это время контроллер 1226 устройства записи и модуль 1233 записи/воспроизведения могут выполнять обработку, такую как повторное кодирование, в случае необходимости.
Кроме того, контроллер 1226 устройства записи декодирует полученные кодированные данные для видеоданных и аудиоданных и подает полученные видеоданные на преобразователь 1230 отображения. Преобразователь 1230 отображения обрабатывает видеоданные, переданные из контроллера 1226 устройства записи, как видеоданные, переданные от видеодекодера 1225, подает эти видеоданные на монитор 1260 через контроллер 1232 отображения и обеспечивает отображение на нем их изображения.
Кроме того, в соответствии с отображением изображения, контроллер 1226 устройства записи может подавать декодированные аудиоданные на монитор 1260 через D/A преобразователь 1234 и обеспечивает вывод аудиоданных через громкоговоритель.
Кроме того, контроллер 1226 устройства записи декодирует полученные кодированные данные для данных EPG, и подает эти декодированные данные EPG на устройство 1227 хранения данных EPG.
Устройство 1200 записи на жесткий диск, описанное выше, включает в себя устройство 500 декодирования изображения, используемое, как видеодекодер 1225, декодер 1252 и декодер, включенный в контроллер 1226 устройства записи. Таким образом, видеодекодер 1225, декодер 1252 и декодер, включенный в контроллер 1226 устройства записи, соответствующим образом, декодирует кодированные данные, для которых выбором режима I_PCM управляют в модулях CU, которые меньше, чем LCU, как и в случае устройства 500 декодирования изображения. В соответствии с этим, видеодекодер 1225, декодер 1252 и декодер, включенный в контроллер 1226 устройства записи, выполнены с возможностью реализации уменьшения избыточной обработки для кодирования и уменьшения избыточной информации, включенной в кодированные данные. В соответствии с этим, видеодекодер 1225, декодер 1252 и декодер, включенный в контроллер 1226 устройства записи, выполнены с возможностью реализации улучшенной эффективности кодирования при подавлении снижения эффективности обработки кодирования.
Поэтому, устройство 1200 записи на жесткий диск выполнено с возможностью реализации улучшенной эффективности кодирования данных, при подавлении снижения эффективности обработки кодирования, при генерировании видеоданных (кодированных данных), принятых тюнером или модулем 1235 передачи данных или видеоданных (кодированных данных), воспроизведенных модулем 1233 записи/воспроизведения.
Кроме того, устройство 1200 записи на жесткий диск включает в себя устройство 300 кодирования изображения, используемое в качестве кодера 1251. Таким образом, кодер 1251 управляет выбором режима I_PCM в модулях CU, которые меньше, чем LCU, как и в случае устройства 300 кодирования изображения. Таким образом, кодер 1251 выполнен с возможностью дополнительного уменьшения избыточной обработки при кодировании и также выполнен с возможностью уменьшения избыточной информации, включенной в кодированные данные. В соответствии с этим, кодер 1251 выполнен с возможностью повышения эффективности кодирования при подавлении снижения эффективности обработки кодирования.
Поэтому, устройство 1200 записи на жесткий диск выполнено с возможностью повышения эффективности кодирования при подавлении снижения эффективности обработки кодирования, например, при генерировании кодированных данных, предназначенных для записи на жесткий диск.
Следует отметить, что, хотя выше было представлено описание устройства 1200 записи на жесткий диск, в котором видеоданные и аудиоданные записывают на жесткий диск, конечно можно использовать любые типы носителей записи. Например, устройство 300 кодирования изображения и устройство 500 декодирования изображения могут применяться для устройства записи, в котором используется другой носитель записи, чем жесткий диск, например, запоминающее устройство типа флэш, оптический диск или видеолента, как и в случае описанного выше устройства 1200 записи на жесткий диск.
7. Седьмой вариант осуществления
Камера
На фиг.25 показана блок-схема, иллюстрирующая основную примерную конфигурации камеры, которая включает в себя устройство 300 кодирования изображения и устройство 500 декодирования изображения.
Камера 1300, представленная на фиг.25, снимает изображение субъекта, обеспечивает отображение 1316 изображения субъекта, и записывает его, как данные изображения, на носителе 1333 записи.
Блок 1311 объектива обеспечивает подачу света (то есть изображение субъекта) в CCD/CMOS 1312. CCD/CMOS 1312 представляет собой датчик изображения, включающий в себя CCD или CMOS, преобразует интенсивность принятого света в электрический сигнал и подает электрический сигнал на процессор 1313 сигнала камеры.
Процессор 1313 обработки сигнала камеры преобразует электрический сигнал, подаваемый из CCD/CMOS 1312, в цветоразностные сигналы Y, Cr и Cb, и подает их на процессор 1314 сигнала изображения. Процессор 1314 сигнала изображения выполняет определенную обработку изображений для сигнала изображения, подаваемого от процессора 1313 сигнала камеры, и кодирует, с помощью кодера 1341, сигнал изображения под управлением, выполняемым контроллером 1321. Процессор 1314 сигнала изображения подает кодированные данные, сгенерированные в результате кодирования сигнала изображения, на декодер 1315. Кроме того, процессор 1314 сигнала изображения получает данные, предназначенные для отображения, сгенерированные при отображении 1320 на экране (OSD), и подает эти данные на декодер 1315.
В описанном выше процессе процессор 1313 сигнала камеры использует DRAM (динамическое оперативное запоминающее устройство) 1318, соединенное с шиной 1317, соответствующим образом, и обеспечивает содержание в DRAM 1318 данных изображения, кодированных данные, полученных в результате кодирования данных изображения, и т.п., в соответствии с необходимостью.
Декодер 1315 декодирует кодированные данные, подаваемые из процессора 1314 сигнала изображения, и подает данные изображения, полученные таким образом (декодированные данные изображения), в LCD 1316. Кроме того, декодер 1315 подает данные, предназначенные для отображения, подаваемые от процессора 1314 сигнала изображения, на LCD 1316. LCD 1316 комбинирует изображение данных декодированного изображения, подаваемых от декодера 1315, и изображение данных, предназначенных для отображения, соответствующим образом, и отображает композитное изображение.
Отображение 1320 на экране выводит данные, предназначенные для отображения, такие как экран меню, состоящий из символов, знаков или фигур, и пиктограмм, на процессор 1314 сигнала изображения через шину 1317, под управлением, выполняемым контроллером 1321.
Контроллер 1321 выполняет различные операции обработки на основе сигнала, представляющего детали инструкции, предоставленной пользователем, используя модуль 1322 операций, и управляет процессором 1314 сигнала изображения, DRAM 1318, внешним интерфейсом 1319, отображением 1320 на экране, приводом 1323 носителя информации и т.д. через шину 1317. Программы, данные, и т.д., которые необходимы для контроллера 1321, для выполнения различных операций обработки, содержатся в ROM 1324 типа флэш.
Например, контроллер 1321 выполнен с возможностью кодирования данных изображения, сохраненных в DRAM 1318, и декодирования кодированных данных, сохраненных в DRAM 1318 вместо процессора 1314 сигнала изображения или декодера 1315. В это время контроллер 1321 может выполнять обработку кодирования/декодирования, используя формат, аналогичный формату кодирования/декодирования процессора 1314 сигнала изображения или декодера 1315, или может выполнять обработку кодирования/декодирования, используя формат, несовместимый с процессором 1314 сигнала изображения или декодера 1315.
Кроме того, например, в случае, когда инструкция на начало печати изображения поступает из модуля 1322 оперирования, контроллер 1321 считывает данные изображения из DRAM 1318 и подает их на принтер 1334, соединенный с внешним интерфейсом 1319 через шину 1317, для их печати.
Кроме того, например, в случае, когда инструкция на запись изображения поступает из модуля 1322 оперирования, контроллер 1321 считывает кодированные данные из DRAM 1318 и подает их на носитель 1333 записи, загруженный в привод 1323 носителя, через шину 1317, для их сохранения.
Носитель 1333 записи представляет собой, например, произвольный съемный носитель с возможностью считывания и записи, такой как магнитный диск, магнитооптический диск, оптический диск или полупроводниковое запоминающее устройство. Конечно, носитель 1333 записи может представлять собой съемный носитель любого типа, и может представлять собой ленточное устройство, диск или карту памяти. Конечно, носитель 1333 записи может представлять собой бесконтактную IC-карту и т.п.
Кроме того, привод 1323 носителя и носитель 1333 записи могут быть интегрированы вместе, и могут быть составлены, например, из стационарного носителя хранения информации, такого как встроенный привод жесткого диска или SSD (твердотельное устройство).
Внешний интерфейс 1319 состоит, например, из терминала ввода-вывода USB и т.п., и его соединяют с принтером 1334, в случае печати изображения. Кроме того, привод 1331 соединяют с внешним интерфейсом 1319, если необходимо, съемный носитель 1332, такой как магнитный диск, оптический диск или магнитооптический диск, загружают в него соответственно, и компьютерную программу, считываемую с него, устанавливают во ROM 1324 типа флэш, в соответствии с необходимостью.
Кроме того, внешний интерфейс 1319 включает в себя сетевой интерфейс, соединенный с определенной сетью, такой как LAN или Интернет. Контроллер 1321 выполнен с возможностью, например, считывания кодированных данных из DRAM 1318 и подачи их из внешнего интерфейса 1319 на другое устройство, соединенное через сеть, в соответствии с инструкцией, подаваемой от модуля 1322 операций. Кроме того, контроллер 1321 выполнен с возможностью получения, через внешний интерфейс 1319, кодированных данных или данных изображения, подаваемых от другого устройства через сеть, и обеспечения содержания в DRAM 1318 их или подачи их на процессор 1314 сигнала изображения.
Камера 1300, описанная выше, включает в себя устройство 500 декодирования изображения, используемое, в качестве декодера 1315. Таким образом, декодер 1315 соответствующим образом декодирует кодированные данные, для которых выбором режима I_PCM управляют в модулях CU, которые меньше, чем LCU, как и в случае устройства 500 декодирования изображения. В соответствии с этим, декодер 1315 выполнен с возможностью реализации уменьшения избыточной обработки для кодирования и уменьшения избыточной информации, включенной в кодированные данные. В соответствии с этим, декодер 1315 выполнен с возможностью реализации улучшенной эффективности кодирования при подавлении снижения эффективности обработки кодирования.
Поэтому, камера 1300 выполнена с возможностью, например, реализации улучшенной эффективности кодирования данных, при подавлении снижения эффективности обработки кодирования, при генерировании данных изображения, генерируемых с CCD/CMOS1312, кодированных данных, таких, как видеоданные, считанные из DRAM 1318 или с носителя 1333 записи, или кодированных данных, таких, как видеоданные, получаемых через сеть.
Кроме того, камера 1300 включает в себя устройство 300 кодирования изображения, используемое, как кодер 1341. Кодер 1341 управляет выбором режима I_PCM в модулях CU, которые меньше, чем LCU, как и в случае устройства 300 кодирования изображения. Таким образом, кодер 1341 выполнен с возможностью дополнительного уменьшения избыточной обработки для кодирования и также выполнен с возможностью дополнительного уменьшения избыточной информации, включенной в кодированные данные. В соответствии с этим, кодер 1341 выполнен с возможностью повышения эффективности кодирования при подавлении снижения эффективности обработки кодирования.
Поэтому, камера 1300 выполнена с возможностью повышения эффективности кодирования при подавлении снижения эффективности обработки кодирования, например, при генерировании кодированных данных, которые предназначены для записи в DRAM 1318 или на носитель 1333 записи, или кодированных данных, которые должны быть предоставлены на другое устройство.
Кроме того, способ декодирования устройства 500 декодирования изображения может применяться для обработки декодирования, выполняемой контроллером 1321. Аналогично, способ кодирования устройства 300 кодирования изображения может применяться при обработке кодированию, выполняемой контроллером 1321.
Кроме того, данные изображения, захваченные камерой 1300, могут представлять собой данные движущего изображения или неподвижного изображения.
Конечно, устройство 300 кодирования изображения и устройство 500 декодирования изображения могут применяться в другом устройстве или системе, кроме описанных выше устройств.
Настоящая технология может применяться в устройстве кодирования изображения и в устройстве декодирования изображения, которые используются, например, для приема информации изображения (потока битов), сжатой в результате ортогонального преобразования, такого, как дискретное косинусное преобразование, и компенсации движения, через сетевую среду, такую как спутниковая широковещательная передача, кабельное телевидение, Интернет или мобильный телефон, или для обработки информации изображении на носителе записи, таком как оптический или магнитный диск, или запоминающее устройство типа флэш, как в MPEG Н.26х и т.п.
Кроме того, настоящая технология также может обеспечивать следующие конфигурации.
(1) Устройство обработки изображения, включающее в себя:
установщик режима кодирования для установки в модулях модулей кодирования, имеющих иерархическую структуру, выбирать ли режим без сжатия, в качестве режима кодирования, для кодирования данных изображения, при этом режим без сжатия представляет собой режим кодирования, в котором данные изображения выводят, в качестве кодирования данных; и
кодер для кодирования изображения в модулях модулей кодирования, в соответствии с режимом, установленным установщиком режима кодирования.
(2) Устройство обработки изображения, в соответствии с (1), дополнительно включающее в себя:
контроллер обработки сдвига, выполненный с возможностью выполнения управления модулем кодирования, с установленным установщиком режима кодирования режимом без сжатия для пропуска обработки сдвига, повышающего точность битов для кодирования или декодирования; и
процессор сдвига, выполненный с возможностью обработки сдвига для модуля кодирования данных изображения, причем контроллер обработки сдвигом выполнен с возможностью управления модулем кодирования для выполнения обработки сдвига.
(3) Устройство обработки изображения в соответствии с (1) или (2), дополнительно включающее в себя:
контроллер обработки фильтром, выполненный с возможностью управления модулем кодирования с установленным установщиком режима кодирования режимом без сжатия для пропуска обработки фильтром, обеспечивающей фильтрацию локально декодированного изображения;
вычислитель коэффициента фильтра, выполненный с возможностью вычисления коэффициента фильтра для обработки фильтром, с использованием данных изображения, соответствующих модулю кодирования, управляемым контроллером обработки фильтром, для выполнения обработки фильтром; и
процессор фильтра, выполненный с возможностью обработки фильтром в модулях блоков, представляющих собой модули обработки фильтром, используя коэффициент фильтра, вычисленный калькулятором коэффициента фильтра.
(4) Устройство обработки изображения в соответствии с (3), в котором процессор фильтра выполнен с возможностью обработки фильтром только пикселей, управляемых контроллером обработки фильтром, для выполнения обработки фильтром, при этом пиксели включены в текущий блок, представляющий собой цель обработки.
(5) Устройство обработки изображения в соответствии с (3) или (4), дополнительно включающее в себя:
генератор информации идентификации фильтра, выполненный с возможностью генерирования информации идентификации фильтра в модулях блоков, причем информация идентификации фильтра представляет собой информацию идентификации, указывающую, следует ли выполнить обработку фильтром.
(6) Устройство обработки изображения в соответствии с любым из (3)-(5), в котором процессор фильтра выполнен с возможностью осуществления адаптивной фильтрации контура для локально декодированного изображения, при этом адаптивная фильтрация контура представляет собой адаптивную обработку фильтром, с использованием обработки классификации.
(7) Устройство обработки изображения в соответствии с любым из (1)-(6), в котором, когда количество кода кодированных данных, получаемое посредством кодирования данных изображения, соответствующих текущему модулю кодирования, в качестве цели обработки кодирования, меньше чем или равно количеству входных данных, представляющему собой количество данных изображения, соответствующих текущему модулю кодирования, установщик режима кодирования выполнен с возможностью установки режима кодирования текущего модуля кодирования, в качестве режима без сжатия.
(8) Устройство обработки изображения в соответствии с (7), дополнительно включающее в себя:
вычислитель количества входных данных, выполненный с возможностью вычисления количества входных данных,
при этом установщик режима кодирования выполнен с возможностью осуществления сравнения для текущего модуля кодирования, количества входных данных, вычисленного вычислителем количества входных данных, с количеством кода.
(9) Устройство обработки изображения в соответствии с любым из (1)-(8), дополнительно включающее в себя:
генератор идентификационной информации, выполненный с возможностью генерирования идентификационной информации в модулях модулей кодирования, причем идентификационная информация указывает, установлен ли режим без сжатия установщиком режима кодирования.
(10) Способ обработки изображений для устройства обработки изображений, включающий в себя этапы, на которых:
устанавливают с помощью установщика режима кодирования, в модулях модулей кодирования, имеющих иерархическую структуру, выбрать ли режим без сжатия, в качестве режима кодирования для кодирования данных изображения, при этом режим без сжатия представляет собой режим кодирования, обеспечивающий вывод данных изображения, в качестве кодированных данных; и
кодируют с помощью кодера, данные изображения в модулях модулей кодирования, в соответствии с установленным режимом.
(11) Устройство обработки изображения, включающее в себя:
определитель режима кодирования для определения в модулях модулей кодирования, имеющих иерархическую структуру, выбран ли режим без сжатия, в качестве режима кодирования, для кодирования данных изображения, причем режим кодирования представляет собой режим кодирования, обеспечивающий вывод данных изображения, в качестве кодированных данных; и
декодер, выполненный с возможностью декодирования результата кодирования в модулях модулей кодирования, в соответствии с режимом, определенным определителем режима кодирования.
(12) Устройство обработки изображения в соответствии с (11), дополнительно включающее в себя:
контроллер обработки сдвига, выполненный с возможностью управления модулем кодирования с определенным определителем режима кодирования, выбранным режимом без сжатия, для пропуска обработки сдвига, для повышения точности битов для кодирования или декодирования; и
процессор сдвига, выполненный с возможностью обработки сдвига для модуля кодирования данных изображения, при этом контроллер обработки сдвига выполнен с возможностью управления кодированным модулем для выполнения обработки сдвига.
(13) Устройство обработки изображения в соответствии с (11) или (12), дополнительно включающее в себя:
контроллер обработки фильтром, выполненный с возможностью управления модулем кодирования с определенным определителем режима кодирования, что выбран режим без сжатия, для пропуска обработки фильтром, обеспечивающей выполнение фильтрации для локально декодируемого изображения; а
процессор фильтра выполнен с возможностью обработки фильтром данных изображения в модулях блоков, представляющих собой модули для обработки фильтром,
при этом процессор фильтра выполнен с возможностью осуществления обработки фильтром только пикселей, управляемые с помощью контроллера обработки фильтром для выполнения обработки фильтром, причем пиксели включены в текущий блок, представляющий собой цель обработки.
(14) Устройство обработки изображения в соответствии с (13), в котором процессор фильтра выполнен с возможностью осуществления адаптивной фильтрации контура для локально декодируемого изображения, причем адаптивная фильтрация контура представляет собой обработку адаптивным фильтром, с использованием обработки классификации.
(15) Устройство обработки изображения в соответствии с (13) или (14), в котором процессор фильтра выполнен с возможностью осуществления обработки фильтром, когда информация идентификации фильтра, указывающая, что обработка фильтром выполнена, указывает, что обработка фильтром выполнена для данных изображения, соответствующих текущему блоку, представляющему собой цель обработки, только когда управление выполнено с помощью контроллера обработки фильтром, для выполнения обработки фильтром всех пикселей, включенных в текущий блок.
(16) Устройство обработки изображения, в соответствии с любым из (11)-(15), в котором определитель режима кодирования выполнен с возможностью определения выбран ли режим без сжатия, на основе идентификационной информации, указывающей, выбран ли режим без сжатия, в модулях модулей кодирования.
(17) Способ обработки изображений для устройства обработки изображений, включающий в себя этапы, на которых:
определяют, с использованием определителя режима кодирования, в модулях модулей кодирования, имеющих иерархическую структуру, выбран ли режим без сжатия, в качестве режима кодирования для кодирования данных изображения, при этом режим без сжатия представляет собой режим кодирования, обеспечивающий вывод данных изображения, в качестве кодированных данных; и
декодируют, с помощью декодера, кодированные данные в модулях модулей кодирования, в соответствии с определенным режимом.
Список номеров ссылочных позиций
300 устройство кодирования изображения
303 модуль адаптивного сдвига влево
307 кодер без потерь
312 фильтр контура
313 модуль адаптивного сдвига вправо
315 модуль адаптивного сдвига влево
320 контроллер скорости
321 кодер РСМ
331 кодер NAL
332 кодер CU
341 генератор I_PCM_flag
342 модуль определения РСМ
351 фильтр устранения блочности
352 модуль сортировки пикселей
353 вычислитель коэффициента фильтра
354 модуль фильтрации
361 вычислитель количества входных данных
362 модуль определения РСМ
363 контроллер кодирования
364 адаптивный контроллер сдвига
365 контроллер фильтра
500 устройство декодирования изображения
502 декодер без потерь
506 фильтр контура
507 модуль адаптивного сдвига вправо
511 модуль адаптивного сдвига влево
516 декодер РСМ
531 декодер NAL
532 декодер CU
541 буфер I_PCM_flag
542 контроллер РСМ
551 фильтр устранения блочности
552 модуль сортировки пикселей
553 модуль фильтрации
название | год | авторы | номер документа |
---|---|---|---|
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ | 2014 |
|
RU2607239C2 |
СИСТЕМА И СПОСОБ ДЛЯ КОДИРОВАНИЯ ВИДЕО | 2020 |
|
RU2817290C2 |
СИСТЕМА И СПОСОБ ДЛЯ КОДИРОВАНИЯ ВИДЕО | 2020 |
|
RU2819086C2 |
КОДЕР, ДЕКОДЕР, СПОСОБ КОДИРОВАНИЯ И СПОСОБ ДЕКОДИРОВАНИЯ | 2020 |
|
RU2808454C1 |
КОДЕР, ДЕКОДЕР, СПОСОБ КОДИРОВАНИЯ И СПОСОБ ДЕКОДИРОВАНИЯ | 2020 |
|
RU2821010C2 |
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ | 2014 |
|
RU2660612C2 |
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ | 2010 |
|
RU2533444C2 |
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ | 2010 |
|
RU2543306C2 |
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ | 2014 |
|
RU2656712C2 |
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ | 2018 |
|
RU2766441C2 |
Изобретение относится к устройству и способу обработки изображений для стандарта высокоэффективного видеокодирования (HEVC). Техническим результатом является повышение эффективности кодирования при подавлении снижения эффективности обработки кодирования. Предложенное устройство обработки изображения включает в себя установщик режима кодирования для установки, в модулях модулей кодирования, имеющих иерархическую структуру, выбран ли режим без сжатия, в качестве режима кодирования, для кодирования данных изображения, причем режим без сжатия представляет собой режим кодирования, в котором данные изображения выводят, в качестве кодированных данных, и кодер для кодирования данных изображения в модулях модулей кодирования в соответствии с режимом, установленным установщиком режима кодирования. 2 н. и 7 з.п. ф-лы, 25 ил.
1. Устройство обработки изображения, содержащее:
установщик (362, 363) режима кодирования, выполненный с возможностью определения подлежит ли выбору режим без сжатия в качестве режима кодирования для кодирования данных изображения и установки в модулях, модулей кодирования, являющихся составляющими областями изображения каждого кадра и, поэтому, имеющих иерархическую структуру от наибольшего модуля кодирования к наименьшему модулю кодирования, режима без сжатия, представляющего собой режим кодирования, обеспечивающий вывод данных изображения, в качестве кодированных данных без кодирования данных изображения, когда режим без сжатия подлежит выбору;
контроллер (365) обработки фильтра, выполненный с возможностью осуществления контроля, для модуля кодирования, для которого, установщиком (362, 363) режима кодирования, установлен режим без сжатия для пропуска обработки фильтром, при которой фильтрация осуществляется для локально декодированного изображения; и
кодер (307), выполненный с возможностью осуществления арифметического кодирования для кодирования данных изображения в модулях модулей кодирования с использованием локально декодированного изображения, в соответствии с режимом, установленным установщиком (362, 363) режима кодирования.
2. Устройство обработки изображения по п. 1, дополнительно содержащее: процессор фильтрации (312), выполненный с возможностью осуществления обработки фильтрации только для пикселей управляемых контроллером обработки фильтрации так, что они подвергаются обработке фильтрации, при этом пиксели содержатся в текущем блоке.
3. Устройство обработки изображения по п. 1, дополнительно содержащее: генератор (354) идентификационной информации фильтра, выполненный с возможностью генерирования информации идентификации фильтра в модулях блоков, являющихся модулями обработки фильтрации, при этом информация идентификации фильтра указывает подлежит ли выполнению обработка фильтрации.
4. Устройство обработки изображения по п. 1, в котором указанные кодированные данные накапливаются в буфере (308) накопления, а установщик (362, 363) режима кодирования выполнен с возможностью установки режима кодирования текущего модуля кодирования в качестве режима без сжатия, когда количество входных данных, являющееся количеством данных указанных данных изображения соответствующих текущему модулю кодирования в качестве цели обработки кодирования, менее чем или равно количеству кода кодированных данных накопленных буфером (308) накопления.
5. Устройство обработки изображения по п. 4, дополнительно содержащее: устройство (361) вычисления количества входных данных, выполненное с возможностью вычисления количества входных данных; при этом установщик (362, 363) режима кодирования выполнен с возможностью сравнения, относительно текущего модуля кодирования, количества входных данных, вычисленных устройством (361) вычисления количества входных данных, с количеством кода.
6. Устройство обработки изображения по п. 1, дополнительно содержащее: генератор (363) информации идентификации, выполненный с возможностью генерирования информации идентификации в модулях указанных модулей кодирования, при этом указанная информация идентификации указывает установлен ли режим без сжатия установщиком (362, 363) режима кодирования.
7. Устройство обработки изображения по п. 1, дополнительно содержащее: генератор (354) информации идентификации, выполненный с возможностью генерирования информации идентификации, идентифицирующей, что блок состоит из множества модулей кодирования, включающего в себя модули кодирования для которых установлен режим без сжатия.
8. Устройство обработки изображения по п. 6, в котором указанный блок, состоящий из множества модулей кодирования, является наибольшим модулем кодирования, который является модулем кодирования наибольшего размера.
9. Способ обработки изображений для устройства обработки изображений, содержащий этапы, на которых:
определяют с помощью установщика (362, 363) режима кодирования подлежит ли выбору режим без сжатия в качестве режима кодирования для кодирования данных изображения и устанавливают, в модулях модулей кодирования, являющихся составляющими областями изображения каждого кадра и, поэтому, имеющих иерархическую структуру от наибольшего модуля кодирования к наименьшему модулю кодирования, режим без сжатия, представляющий собой режим кодирования, обеспечивающий вывод данных изображения, в качестве кодированных данных без кодирования данных изображения, когда режим без сжатия подлежит выбору;
осуществляют с помощью контроллера (365) обработки фильтра, контроль обработки фильтра, модуля кодирования, для которого установлен режим без сжатия, для пропуска обработки фильтрации, в которой фильтрация осуществляется для локально декодированного изображения; и
кодируют, посредством арифметического кодирования, с помощью кодера (307), данные изображения в модулях модулей кодирования с использованием локально декодированного изображения, в соответствии с установленным режимом.
WO 2004034330 A1, 2004-04-22 | |||
US 2007133892 A1, 2007-06-14 | |||
US 2009274209 A1, 2009-11-05 | |||
US 2009316788 A1, 2009-12-24 | |||
US 2009175334 A1, 2009-07-09 | |||
УСТРОЙСТВО И СПОСОБ КОДИРОВАНИЯ, УСТРОЙСТВО И СПОСОБ ДЕКОДИРОВАНИЯ И СИСТЕМА ПЕРЕДАЧИ ДАННЫХ | 2006 |
|
RU2339997C1 |
JOCH A., UB Video Comments on Draft Text, Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG, JVT-F074, 6th Meeting: Awaji, Island, 5-13 December, 2002, sec.2, 3. |
Авторы
Даты
2016-03-20—Публикация
2012-01-04—Подача