УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ
DEVICE AND METHOD FOR IMAGE PROCESSING

Область техники, к которой относится изобретение
Настоящее раскрытие относится к устройствам и способам обработки изображений и, более конкретно, к устройству и способу обработки изображений, которые обеспечивают улучшение эффективности обработки при кодировании или декодировании.
Уровень техники
В последние годы, все более распространенными становятся устройства, обрабатывающие информацию изображений в цифровой форме и, в данном случае, использующие избыточность, специфичную для информации изображения, для достижения сжатия и кодирования изображений, используя схему кодирования для сжатия на основе ортогонального преобразования, такого как дискретное косинусное преобразование и компенсация движения, для эффективной передачи и накопления информации. Примеры такой схемы кодирования включают в себя MPEG (Группа экспертов движущегося изображения) и Н.264, и MPEG 4, Часть 10 (Усовершенствованное кодирование видеоданных, ниже называется Н.264/AVC).
Кроме того, стандартизация схемы кодирования, называемой HEVC (Высокоэффективное кодирование видеоданных) в настоящее время выполняется JCTVC (Объединенная команда сотрудничества - кодирование видеоданных), которая представляет собой объединенную команду по стандартизации ITU-T и ISO/IEC, для достижения улучшенной эффективности кодирования, чем у H.264/AVC (см., например, NPL 1).
В настоящем рабочем проекте HEVC, фильтр удаления блочности, фильтр адаптивного контура и адаптивный фильтр смещения (адаптивное смещение выборки: SAO), используются, как фильтры в контуре.
В HEVC параметры фильтра адаптивного контура совместно подают на сторону декодера группами по одному кадру. В отличие от этого, в NPL 2 предложено, чтобы процесс фильтра адаптивного контура выполнялся в модулях наибольшего модуля кодирования или LCU.
Список литературы
Непатентная литература
NPL 1: Thomas Wiegand, Woo-Jin Han, Benjamin Bross, Jens-Rainer Ohm, Gary J. Sullivan, "Working Draft 4 of High-Efficiency Video Coding", JCTVC-F803, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 6th Meeting: Torino, IT, 14-22 July, 2011
NPL 2: A. Fuldseth, Cisco Systems, G. bjontegaard, Cisco Systems, "Improved ALF with low latency and reduced complexity", JCTVC-G499, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 7th Meeting: Geneva, CH, 21-30 November, 2011
Раскрытие изобретения
Техническая задача
В HEVC, кроме того, фильтр адаптивного смещения адаптирован для областей, называемых областями квадродерева, которые уникально определены для фильтра адаптивного смещения. Кроме того, параметры фильтра адаптивного смещения совместно определены в sao_param () в группах по одному кадру.
sao_param () помещается перед данными (видеоинформации) в кодированном потоке. На стороне кодера, поэтому, необходимо содержать данные для одного кадра в буфере до тех пор, пока не закончится обработка фильтра адаптивного смещения, определения коэффициентов фильтра адаптивного смещения и формирования sao_param ().
Настоящее раскрытие было выполнено с учетом такой ситуации, и обеспечивает улучшение эффективности обработки при кодировании или декодировании.
Решение задачи
Устройство обработки изображений, в соответствии с первым аспектом настоящего раскрытия включает в себя модуль получения для получения параметров фильтра адаптивного смещения в модулях наибольшего модуля кодирования из кодированного потока, при этом параметры фильтра адаптивного смещения установлены с использованием наибольшего модуля кодирования, в качестве модуля передачи; модуль декодирования для выполнения процесса декодирования для кодированного потока и затем генерирования изображения; и модуль фильтра адаптивного смещения для выполнения фильтрации адаптивного смещения для изображения, генерируемого модулем декодирования, в модулях наибольшего модуля кодирования с использованием параметров, полученных модулем получения.
Параметры фильтра адаптивного смещения могут включать в себя тип фильтра адаптивного смещения и значения смещения.
Устройство обработки изображений может дополнительно включать в себя модуль фильтра удаления блочности для выполнения фильтрации удаления блочности для изображения, генерируемого модулем декодирования, а модуль фильтра адаптивного смещения может выполнять фильтрацию адаптивного смещения для изображения, для которого модуль фильтра удаления блочности выполнил фильтрацию удаления блочности.
Модуль получения может получать, из кодированного потока, идентификационные данные, идентифицирующие параметр предыдущего наибольшего модуля кодирования, для которого была выполнена фильтрация адаптивного смещения перед текущим наибольшим модулем кодирования, который является таким же, как параметр текущего наибольшего модуля кодирования, а модуль фильтра адаптивного смещения может выполнять фильтрацию адаптивного смещения для изображения, генерируемого модулем декодирования, в модулях наибольшего модуля кодирования, используя идентификационные данные, полученные модулем получения.
Модуль получения может получать из кодированного потока идентификационные данные, идентифицирующие, следует ли использовать параметр предыдущего наибольшего модуля кодирования, для которого была выполнена фильтрация адаптивного смещения, перед текущим наибольшим модулем кодирования, а модуль фильтра адаптивного смещения может выполнять фильтрацию адаптивного смещения для изображения, генерируемого модулем декодирования, в модулях наибольшего модуля кодирования, используя идентификационные данные, полученные модулем получения.
Модуль получения может получать, из кодированного потока идентификационные данные, идентифицирующие, следует ли использовать копию параметра предыдущего наибольшего модуля кодирования, для которого фильтрация адаптивного смещения была выполнена перед текущим наибольшим модулем кодирования, модуль фильтра адаптивного смещения может выполнять фильтрацию адаптивного смещения для изображения, генерируемого модулем декодирования, в модулях наибольшего модуля кодирования, используя идентификационные данные, полученные модулем получения.
Модуль получения может получать, из кодированного потока, идентификационные данные, устанавливающие наибольший модуль кодирования, который идентичен текущему наибольшему модулю кодирования, в виде параметра, из предыдущих наибольших модулей кодирования, для которых была выполнена фильтрация адаптивного смещения перед текущим наибольшим модулем кодирования, а модуль фильтра адаптивного смещения может выполнять фильтрацию адаптивного смещения для изображения, генерируемого модулем декодирования, в модулях наибольшего модуля кодирования, используя идентификационные данные, полученные модулем получения.
Параметры фильтра адаптивного смещения передают в моменты времени начала наибольшего модуля кодирования.
Модуль декодирования может выполнять процесс декодирования в модулях, каждый из которых имеет иерархическую структуру.
Способ обработки изображений, в соответствии с первым аспектом настоящего раскрытия выполняется устройством обработки изображений, включающий в себя этапы, на которых: получают параметры фильтра адаптивного смещения в модулях наибольшего модуля кодирования из кодированного потока, при этом параметры фильтра адаптивного смещения устанавливают, используя наибольший модуль кодирования в качестве модуля передачи; выполняют процесс декодирования для кодированного потока для генерирования изображения; и выполняют фильтрацию адаптивного смещения для сгенерированного изображения в модулях наибольшего модуля кодирования, используя полученные параметры.
Устройство обработки изображений, в соответствии со вторым аспектом настоящего раскрытия, включает в себя модуль установки, который устанавливает параметры фильтра адаптивного смещения, используя наибольший модуль кодирования, в качестве модуля передачи; модуль фильтра адаптивного смещения, который выполняет фильтрацию адаптивного смещения для изображения, которое было подвергнуто процессу локального декодирования, в случае, когда изображение кодируют в модулях наибольшего модуля кодирования, используя параметры, установленные модулем установки; модуль кодирования, который выполняет процесс кодирования для изображения, для которого модуль фильтра адаптивного смещения выполнил фильтрацию адаптивного смещения, и генерирующий кодированный поток, используя изображение; и модуль передачи, который передает параметры, установленные модулем установки, и кодированный поток, генерируемый модулем кодирования.
Параметры фильтра адаптивного смещения могут включать в себя тип фильтра адаптивного смещения и значения смещения.
Устройство обработки изображений может дополнительно включать в себя модуль фильтра удаления блочности, который выполняет фильтрацию удаления блочности для локально декодированного изображения, и модуль фильтра адаптивного смещения может выполнять фильтрацию адаптивного смещения для изображения, для которого модуль фильтра удаления блочности выполнил фильтрацию удаления блочности.
Модуль установки может устанавливать идентификационные данные, идентифицирующие параметр предыдущего наибольшего модуля кодирования, для которого была выполнена фильтрация адаптивного смещения перед текущим наибольшим модулем кодирования, который является таким же, как и параметр текущего наибольшего модуля кодирования, и модуль передачи может передавать идентификационные данные, установленные модулем установки, и кодированный поток, генерируемый модулем кодирования.
Модуль установки может устанавливать идентификационные данные, идентифицирующие, следует ли использовать параметр предыдущего наибольшего модуля кодирования, для которого была выполнена фильтрация адаптивного смещения перед текущим наибольшим модулем кодирования, а модуль передачи может передавать идентификационные данные, установленные модулем установки, и кодированный поток, генерируемый модулем кодирования.
Модуль установки может устанавливать идентификационные данные, идентифицирующие, следует ли использовать копию параметра предыдущего наибольшего модуля кодирования, для которого была выполнена фильтрация адаптивного смещения перед текущим наибольшим модулем кодирования, и модуль передачи может передавать идентификационные данные, установленные модулем установки, и кодированный поток, генерируемый модулем кодирования.
Модуль установки может устанавливать идентификационные данные, устанавливающие наибольший модуль кодирования, который идентичен текущему наибольшему модулю кодирования, с точки зрения параметра, среди предыдущих наибольших модулей кодирования, для которых была выполнена фильтрация адаптивного смещения перед текущим наибольшим модулем кодирования, и модуль передачи может передавать идентификационные данные, установленные модулем установки, и кодированный поток, генерируемый модулем кодирования.
Модуль передачи может передавать параметры фильтра адаптивного смещения, установленного модулем установки в момент времени начала наибольшего модуля кодирования.
Модуль кодирования может выполнять процесс кодирования в модулях, каждый из которых имеет иерархическую структуру.
Способ обработки изображений по второму аспекту настоящего раскрытия выполняется устройством обработки изображений, и включает в себя этапы, на которых: устанавливают параметры фильтра адаптивного смещения, с использованием наибольшего модуля кодирования, в качестве модуля передачи; выполняют фильтрацию адаптивного смещения для изображения, подвергнутого процессу локального декодирования, в случае, когда изображение кодировано, в модулях наибольшего модуля кодирования, с использованием установленных параметров; выполняют процесс кодирования для изображения, для которого была выполнена фильтрация адаптивного смещения, для генерирования кодированного потока, с использованием изображения; и передают набор параметров и генерируемый кодированный поток.
В первом аспекте настоящего раскрытия параметры фильтра адаптивного смещения получают в модулях наибольшего модуля кодирования из кодированного потока, в котором параметры фильтра адаптивного смещения устанавливают с использованием наибольшего модуля кодирования, в качестве модуля передачи; и процесс декодирования выполняют для кодированного потока, для генерирования изображения. Затем фильтрацию адаптивного смещения выполняют для генерируемого изображения в модулях наибольшего модуля кодирования с использованием полученных параметров.
Во втором аспекте настоящего раскрытия параметры фильтра адаптивного смещения устанавливают с использованием наибольшего модуля кодирования, в качестве модуля передачи; и фильтрацию адаптивного смещения выполняют для изображения, которое было подвергнуто обработке локального декодирования, в случае, когда изображение кодировано, в модулях наибольшего модуля кодирования с использованием установленных параметров. Затем выполняют процесс кодирования для изображения, для которого была выполнена фильтрация адаптивного смещения, для генерирования кодированного потока, с использованием указанного изображения; и передают установленные параметры и сгенерированный поток кодирования.
Следует отметить, что каждое из устройств обработки изображений, описанное выше, может представлять собой независимое устройство или внутренний блок, включенный в одно устройство кодирования изображения, или в устройство декодирования изображения.
В соответствии с первым аспектом настоящего раскрытия, возможно декодировать изображение. В частности, возможно улучшить эффективность обработки.
В соответствии со вторым аспектом настоящего раскрытия, возможно кодировать изображение. В частности, возможно улучшить эффективность обработки.
Краткое описание чертежей
На фиг. 1 показана блок-схема, поясняющая основной пример конфигурации устройства кодирования изображения.
На фиг. 2 показана блок-схема последовательности операций, представляющая пример потока процесса кодирования.
На фиг. 3 показана блок-схема, поясняющая основной пример конфигурации устройства декодирования изображения.
На фиг. 4 показана блок-схема последовательности операций, представляющая пример потока обработки декодирования.
На фиг. 5 показана схема, представляющая структуру квадродерева в схеме HEVC.
На фиг. 6 показана схема, представляющая смещение полосы.
На фиг. 7 показана схема, представляющая смещение кромки.
На фиг. 8 представлена схема, иллюстрирующая правила классификации для смещения кромки.
На фиг. 9 показана схема, представляющая краткий обзор представленной технологии.
На фиг. 10 показана схема, представляющая преимущества представленной технологии.
На фиг. 11 представлена схема, иллюстрирующая пример синтаксиса sao_param ().
На фиг. 12 показана схема, представляющая sao_type_idx.
На фиг. 13 показана блок-схема, поясняющая пример конфигурации фильтра адаптивного смещения, в котором применено настоящее раскрытие.
На фиг. 14 показана блок-схема последовательности операций, представляющая процесс фильтра адаптивного смещения.
На фиг. 15 показана блок-схема последовательности операций, представляющая запись коэффициента.
На фиг. 16 показана схема, представляющая запись коэффициента.
На фиг. 17 показана блок-схема, поясняющая пример конфигурации фильтра адаптивного смещения, в котором применено настоящее раскрытие.
На фиг. 18 показана блок-схема последовательности операций, представляющая процесс фильтра адаптивного смещения.
На фиг. 19 показана блок-схема последовательности операций, представляющая процесс считывания коэффициента.
На фиг. 20 показана схема, представляющая процесс считывания коэффициента.
На фиг. 21 представлена схема, иллюстрирующая пример схемы кодирования многопроекционного изображения.
На фиг. 22 представлена схема, иллюстрирующая конфигурацию основного примера устройства кодирования многопроекционного изображения, в котором применена настоящая технология.
На фиг. 23 представлена схема, иллюстрирующая конфигурацию основного примера устройства декодирования многопроекционного изображения, в котором применена настоящая технология.
На фиг. 24 представлена схема, иллюстрирующая пример схемы кодирования многослойного изображения.
На фиг. 25 представлена схема, иллюстрирующая конфигурацию основного примера устройства кодирования многослойного изображения, в котором применена существующая технология.
На фиг. 26 представлена схема, иллюстрирующая конфигурацию основного примера устройства декодирования многослойного изображения, в котором применена существующая технология.
На фиг. 27 показана блок-схема, поясняющая основной пример конфигурации компьютера.
На фиг. 28 показана блок-схема, поясняющая пример схематической конфигурации телевизионного устройства.
На фиг. 29 показана блок-схема, поясняющая пример схематической конфигурации мобильного телефона.
На фиг. 30 показана блок-схема, поясняющая пример схематической конфигурации устройства записи/воспроизведения.
На фиг. 31 показана блок-схема, поясняющая пример схематической конфигурации устройства формирования изображения.
На фиг. 32 показана блок-схема, поясняющая пример использования масштабируемого кодирования.
На фиг. 33 показана блок-схема, поясняющая другой пример использования масштабируемого кодирования.
На фиг. 34 показана блок-схема, поясняющая еще один другой пример использования масштабируемого кодирования.
Осуществление изобретения
Режимы для выполнения настоящего раскрытия (ниже называются вариантами осуществления) будут описаны ниже. Следует отметить, что описание будет представлено в следующем порядке.
1. Общий обзор устройств и операций
2. Пояснение технологий предшествующего уровня техники
3. Первый вариант осуществления (устройство обработки изображений)
4. Второй вариант осуществления (устройство кодирования многопроекционного изображения/декодирования многопроекционного изображения)
5. Третий вариант осуществления (устройство кодирования многослойного изображения/устройство декодирования многослойного изображения)
6. Четвертый вариант осуществления (компьютер)
7. Примерные приложения
8. Примерные приложения масштабируемого кодирования
1. Общий обзор устройств и операций
Пример конфигурации устройства кодирования изображения
На фиг. 1 иллюстрируется конфигурация варианта осуществления устройства кодирования изображения, используемого, как устройство обработки изображений, в котором применяется настоящее раскрытие.
Устройство 11 кодирования изображения, представленное на фиг. 1, кодирует данные изображения, используя процесс прогнозирования. Примеры схемы кодирования, используемые здесь, включают в себя схему HEVC (высокоэффективное кодирование видеоданных). В схеме HEVC установлены модуль CU кодирования, наибольший модуль кодирования LCU, наименьший модуль кодирования SCU, модуль прогнозирования PU и модуль преобразования TU, и кодирование/декодирование выполняют в модулях, каждый из которых имеет иерархическую структуру.
В примере на фиг. 1 устройство 11 кодирования изображения включает в себя модуль 21 A/D (аналогово/цифрового) преобразования, буфер 22 изменения компоновки экрана, вычислительный модуль 23, модуль 24 ортогонального преобразования, модуль 25 квантования, модуль 26 кодирования без потерь и буфер 27 накопления. Устройство 11 кодирования изображения дополнительно включает в себя модуль 28 обратного квантования, модуль 29 обратного ортогонального преобразования, вычислительный модуль 30, фильтр 31 удаления блочности, запоминающее устройство 32 кадра, модуль 33 выбора, модуль 34 прогнозирования внутри кадра, модуль 35 прогнозирования и компенсации движения, модуль 36 выбора изображения прогнозирования и модуль 37 управления скоростью.
Устройство 11 кодирования изображения дополнительно включает в себя фильтр 41 адаптивного смещения и фильтр 42 адаптивного контура между фильтром 31 удаления блочности и запоминающим устройством 32 кадра.
Модуль 21 A/D преобразования выполняет A/D преобразование для данных входного изображения, и выводит полученные в результате данные изображения в буфер 22 изменения компоновки экрана для сохранения.
Буфер 22 изменения компоновки экрана изменяет компоновку сохраненного изображения, имеющего кадры, расположенные в порядке отображения, в изображение, имеющее кадры, размещенные в порядке кодирования, в соответствии со структурой GOP (группа изображений). Буфер 22 изменения компоновки экрана подает изображение, в котором компоновка кадров была изменена, в вычислительный модуль 23. Буфер 22 изменения компоновки экрана также подает изображение, в котором компоновка кадров была изменена на модуль 34 прогнозирования внутри кадров и модуль 35 прогнозирования и компенсации движения.
Вычислительный модуль 23 вычитает изображение прогнозирования, подаваемое из модуля 34 прогнозирования внутри кадров, или модуля 35 прогнозирования и компенсации движения через модуль 36 выбора изображения прогнозирования из изображения, считываемого из буфера 22 изменения компоновки экрана, и выводит информацию о разности, представляющую разность между ними, в модуль 24 ортогонального преобразования.
Например, в случае, когда изображение кодировано внутри кадра, вычислительный модуль 23 вычитает изображение прогнозирования, подаваемое из модуля 34 прогнозирования внутри кадров, из изображения, считываемого из буфера 22 изменения компоновки экрана. Далее, например, в случае, когда изображение должно быть кодировано между кадрами, вычислительный модуль 23 вычитает изображение прогнозирования, подаваемое из модуля 35 прогнозирования и компенсации движения, из изображения, считываемого из буфера 22 изменения компоновки экрана.
Модуль 24 ортогонального преобразования выполняет ортогональное преобразование, такое как дискретное косинусное преобразование или преобразование Карунена-Лоэва, для информации разности, подаваемой из вычислительного модуля 23, и подает полученные коэффициенты преобразования в модуль 25 квантования.
Модуль 25 квантования квантует коэффициенты преобразования, выводимые из модуля 24 ортогонального преобразования. Модуль 25 квантования подает квантованные коэффициенты преобразования в модуль 26 кодирования без потерь.
Модуль 26 кодирования без потерь выполняет кодирование без потерь, такое как кодирование переменной длины или арифметическое кодирование, для квантованных коэффициентов преобразования.
Модуль 26 кодирования без потерь получает параметры, такие как информация, обозначающая режим прогнозирования внутри кадра, из модуля 34 прогнозирования внутри кадра, и получает параметры, такие как информация, обозначающая режим прогнозирования между кадрами, и информация о векторе движения, из модуля 35 прогнозирования и компенсации движения.
Модуль 26 кодирования без потерь кодирует квантованные коэффициенты преобразования и полученные соответствующие параметры (элементы синтаксиса), и организует (мультиплексирует) кодированные квантованные коэффициенты преобразования и параметры в часть информации о заголовке кодированных данных. Модуль 26 кодирования без потерь подает кодированные данные, полученные путем кодирования, в буфер 27 накопления для накопления.
В модуле 26 кодирования без потерь, например, выполняют процесс кодирования без потерь, такой как кодирование переменной длины или арифметическое кодирование. Примеры кодирования переменной длины включают в себя CAVLC (контекстно-адаптивное кодирование переменной длины). Примеры арифметического кодирования включают в себя САВАС (контекстно-адаптивное двоичное арифметическое кодирование).
Буфер 27 накопления временно содержит кодированный поток (данные), подаваемый из модуля 26 кодирования без потерь, и выводит кодированный поток (данные) в непредставленное устройство, расположенное далее по потоку, такое как устройство записи и канал передачи в определенные моменты времени, как кодированное изображение, которое было подвергнуто кодированию. Таким образом, буфер 27 накопления также используется, как модуль передачи, который передает кодированные потоки.
Далее, коэффициенты преобразования, квантованные модулем 25 квантования, также подают в модуль 28 деквантования. Модуль 28 деквантования деквантует квантованные коэффициенты преобразования, используя способ, соответствующий способу квантования, выполняемому модулем 25 квантования. Модуль 28 деквантования подает полученные коэффициенты преобразования в модуль 29 обратного ортогонального преобразования.
Модуль 29 обратного ортогонального преобразования выполняет обратное ортогональное преобразование для подаваемых коэффициентов преобразования, используя способ, соответствующий процессу ортогонального преобразования, выполняемому модулем 24 ортогонального преобразования. Выходные данные после обработки обратного ортогонального преобразования (восстановленная информация разности), подают в вычислительный модуль 30.
Вычислительный модуль 30 добавляет изображение прогнозирования, подаваемое из модуля 34 прогнозирования внутри кадра или модуля 35 прогнозирования и компенсации движения, через модуль 36 выбора изображения прогнозирования, к результату обратного ортогонального преобразования, подаваемому из модуля 29 обратного ортогонального преобразования, то есть, к восстановленной информации разности, для получения локально декодированного изображения (декодированного изображения).
Например, если информация разности соответствует изображению, предназначенному для кодирования внутри кадра, вычислительный модуль 30 добавляет изображение прогнозирования, подаваемое из модуля 34 прогнозирования внутри кадров, к информации разности. Далее, например, если информация разности соответствует изображению, предназначенному для кодирования между кадрами, вычислительный модуль 30 добавляет изображение прогнозирования, переданное из модуля 35 прогнозирования и компенсации движения, к информации разности.
Декодированное изображение, которое представляет собой результат суммирования, подают в фильтр 31 удаления блочности и запоминающее устройство 32 кадра.
Фильтр 31 удаления блочности соответствующим образом выполняет процесс фильтра удаления блочности, для удаления блочного искажения из декодированного изображения. Фильтр 31 удаления блочности подает результат процесса фильтрации в фильтр 41 адаптивного смещения.
Фильтр 41 адаптивного смещения выполняет процесс фильтра смещения (SAO: адаптивное смещение выборки) для изображения, фильтрованного фильтром 31 удаления блочности, для удаления, в основном, "звона".
В сумме существует девять типов фильтра смещения: два типа смещения полосы, шесть типов смещения кромки и без смещения. Фильтр 41 адаптивного смещения определяет вид (тип) фильтра смещения и (значение) смещения для каждого LCU, который представляет собой наибольший модуль кодирования, и выполняет процесс фильтрации для изображения, отфильтрованного фильтром 31 удаления блочности, используя определенный тип и смещение. В фильтре 41 смещения описанное выше смещение представляет собой коэффициент фильтра. Смещение ниже также называется коэффициентом, когда это необходимо.
Следует отметить, что, по мере того, как детали фильтра 41 адаптивного смещения будут описаны ниже со ссылкой на фиг. 13, фильтр 41 адаптивного смещения имеет буфер для сохранения коэффициентов. Если в буфере сохранен тот же коэффициент, что и коэффициент, определенный для каждого LCU, фильтр 41 адаптивного смещения подает флаг, обозначающий сохранение коэффициента, индекс, обозначающий положение сохранения коэффициента в буфере, и информацию, обозначающую тип, в модуль 26 кодирования без потерь, для их кодирования.
С другой стороны, если в буфере не сохранен тот же коэффициент, что и коэффициент, определенный для каждого LCU, фильтр 41 адаптивного смещения подает флаг, обозначающий отсутствие сохранения коэффициента, коэффициент и информацию, обозначающую тип, в модуль 26 кодирования без потерь, для их кодирования.
Фильтр 41 адаптивного смещения подает изображение, которое было подвергнуто обработке фильтра, в фильтр 42 адаптивного контура.
Фильтр 42 адаптивного контура выполняет процесс фильтра адаптивного контура (ALF), например, для каждого LCU, который представляет собой наибольший модуль кодирования. В фильтре 42 адаптивного контура, например, используется двумерный фильтр Винера, в качестве фильтра. Само собой, разумеется, может использоваться любой фильтр, кроме фильтра Винера.
Фильтр 42 адаптивного контура выполняет процесс фильтрации для изображения, отфильтрованного фильтром 41 адаптивного смещения, для каждого LCU, используя коэффициент фильтра, и подает результат процесса фильтрации в запоминающее устройство 32 кадра.
Следует отметить, что, в устройстве 11 кодирования изображения, коэффициент фильтра рассчитывают с помощью фильтра 42 адаптивного контура для каждого LCU, с тем, чтобы минимизировать остаток исходного изображения, из буфера 12 изменения компоновки экрана, и используют, что не будет подробно описано здесь. Расчетный коэффициент фильтра кодируют с помощью модуля 26 кодирования без потерь, и передают в устройство 51 декодирования изображения по фиг. 3, описанной ниже. Кроме того, в то время как здесь описан пример, в котором выполняется обработка для каждого LCU, модуль обработки фильтра 42 адаптивного контура не ограничен этим.
Запоминающее устройство 32 кадра выводит опорное изображение, накопленное в нем, в модуль 34 прогнозирования внутри кадра или в модуль 35 прогнозирования и компенсации движения 35 через модуль 33 выбора в определенные моменты времени.
Например, в случае изображения, которое должно быть кодировано внутри кадра, запоминающее устройство 32 кадра подает опорное изображение в модуль 34 прогнозирования внутри кадра через модуль 33 выбора. Далее, например, в случае, когда должно быть выполнено кодирование между кадрами, запоминающее устройство 32 кадра передает опорное изображение в модуль 35 прогнозирования и компенсации движения через модуль 33 выбора.
Если опорное изображение, подаваемое из запоминающего устройства 32 кадра, представляет собой изображение для кодирования внутри кадра, модуль 33 выбора подает опорное изображение в модуль 34 прогнозирования внутри кадра. Далее, если опорное изображение, переданное из запоминающего устройства 32 кадра, представляет собой изображение для кодирования между кадрами, модуль 33 выбора подает опорное изображение в модуль 35 прогнозирования и компенсации движения.
Модуль 34 прогнозирования внутри кадра выполняет прогнозирование внутри кадра (прогнозирование внутри экрана), для генерирования изображения прогнозирования, используя значения пикселя на экране. Модуль 34 прогнозирования внутри кадра выполняет прогнозирование внутри кадров, используя множество режимов (режимы прогнозирования внутри кадра).
Модуль 34 внутри кадров генерирует изображение прогнозирования во всех режимах прогнозирования внутри кадра, выполняет оценку каждого изображения прогнозирования, и выбирает оптимальный режим. После выбора оптимального режима прогнозирования внутри кадра, модуль 34 прогнозирования внутри кадра подает изображение прогнозирования, сгенерированное в оптимальном режиме, в вычислительный модуль 23 и вычислительный модуль 30 через модуль 36 выбора изображения прогнозирования.
Кроме того, как описано выше, модуль 34 прогнозирования внутри кадра подает параметры, такие как информацию о принятом режиме прогнозирования внутри кадра, обозначающую режим прогнозирования внутри кадра, в модуль 26 кодирования без потерь, если необходимо.
Модуль 35 прогнозирования и компенсации движения выполняет прогнозирование движения для изображения, предназначенного для кодирования между кадрами, используя входное изображение, подаваемое из буфера 22 изменения компоновки экрана, и опорное изображение, подаваемое из запоминающего устройства 32 кадра через модуль 33 выбора. Модуль 35 прогнозирования и компенсации движения дополнительно выполняет процесс компенсации движения в соответствии с векторами движения, обнаруживаемыми в ходе прогнозирования движения, и генерирует изображение прогнозирования (информацию изображения прогнозирования между кадрами).
Модуль 35 прогнозирования и компенсации движения выполняет процесс прогнозирования между кадрами для всех кандидатов режимов прогнозирования между кадрами, и генерирует изображение прогнозирования. Модуль 35 прогнозирования и компенсации движения передает сгенерированное изображение прогнозирования в вычислительный модуль 23 и вычислительный модуль 30 через модуль 36 выбора изображения прогнозирования.
Модуль 35 прогнозирования и компенсации движения дополнительно подает параметры, такие как информация о режиме прогнозирования между кадрами, обозначающая режим прогнозирования между кадрами, который был принят, и информация вектора движения, обозначающая рассчитанные вектора движения, в модуль 26 кодирования без потерь.
В случае изображения, предназначенного для кодирования внутри кадра, модуль 36 выбора изображения прогнозирования подает выход модуля 34 прогнозирования внутри кадра в вычислительный модуль 23 и вычислительный модуль 30. В случае изображения, которое должно быть кодировано между кадрами, модуль 36 выбора изображения прогнозирования подает выход модуля прогнозирования и компенсации движения в вычислительный модуль вычисления 23 и вычислительный модуль 30.
Модуль 37 управления скоростью управляет скоростью операции квантования модуля 25 квантования на основе сжатого изображения, накопленного в буфере 27 накопления, таким образом, чтобы не будут происходить переполнение или потеря значимости.
Операция устройства кодирования изображения
Поток процесса кодирования, выполняемый устройством 11 кодирования изображения, как описано выше, будет описан со ссылкой на фиг. 2.
На этапе S11, модуль 21 AID преобразования выполняет A/D преобразование для входного изображения. На этапе S12 буфер 22 изменения компоновки экрана сохраняет изображение, подвергнутое A/D преобразованию, и изменяет компоновку изображений в порядке отображения на порядок кодирования.
Если изображение, предназначенное для обработки, подаваемое из буфера 22 изменения компоновки экрана, представляет собой изображение блока, который должен быть подвергнут обработке внутри кадра, декодированное изображение, которое представляет собой опорное изображение, считывают из запоминающего устройства 32 кадра, и подают в модуль 34 прогнозирования внутри кадра через модуль 33 выбора.
На этапе S13, на основе этих изображений, модуль 34 прогнозирования внутри кадра выполняет прогнозирование внутри кадра для пикселей в целевом блоке обработки, во всех кандидатах режимов прогнозирования внутри кадра. Следует отметить, что декодированный пиксель, который представляет собой опорный пиксель, может представлять собой пиксель, который не подвергают фильтрации с использованием фильтра 31 удаления блочности.
В результате процесса, описанного выше, выполняют прогнозирование внутри кадров во всех кандидатах режимов прогнозирования внутри кадра, и рассчитывают функцию стоимости для всех кандидатов режимов прогнозирования внутри кадра. Затем выбирают оптимальный режим прогнозирования внутри кадра на основе рассчитанных функций стоимости, и изображение прогнозирования, сгенерированное в ходе прогнозирования внутри кадра, в оптимальном режиме прогнозирования внутри кадра, и его функцию стоимости подают в модуль 36 выбора изображения прогнозирования.
Если изображение, предназначенное для обработки, переданное из буфера 22 изменения компоновки экрана, представляет собой изображение, которое должно быть подвергнуто обработке между кадрами, опорное изображение считывают из запоминающего устройства 32 кадра и подают в модуль 35 прогнозирования и компенсации движения через модуль 33 выбора. На этапе S14, на основе этих изображений, модуль 35 прогнозирования и компенсации движения выполняет процесс прогнозирования и компенсации движения.
В результате процесса, описанного выше, процесс прогнозирования движения выполняют для всех кандидатов режимов прогнозирования между кадрами, и вычисляют функцию стоимости для всех кандидатов режимов прогнозирования между кадрами. Оптимальный режим прогнозирования между кадрами определяют на основе рассчитанных функций стоимости. Затем изображение прогнозирования, сгенерированное в оптимальном режиме прогнозирования между кадрами и его функцию стоимости подают в модуль 36 выбора изображения прогнозирования.
На этапе S15, модуль 36 выбора изображения прогнозирования определяет один из оптимального режима прогнозирования внутри кадра и оптимального режима прогнозирования между кадрами, в качестве оптимального режима прогнозирования на основе соответствующий функций стоимости, выводимых из модуля 34 прогнозирования внутри кадра и модуля 35 прогнозирования и компенсации движения. Затем модуль 36 выбора изображения прогнозирования выбирает изображение прогнозирования определенного оптимального режима прогнозирования, и подает выбранное изображение прогнозирования в вычислительные модули 23 и 30. Такое изображение прогнозирования используется для расчета на этапах S16 и S21, описанных ниже.
Следует отметить, что информация выбора для такого изображения прогнозирования поступает в модуль 34 прогнозирования внутри кадра или в модуль 35 прогнозирования и компенсации движения. Если выбирают изображение прогнозирования оптимального режима прогнозирования внутри кадра, модуль 34 прогнозирования внутри кадра подает информацию, обозначающую оптимальный режим прогнозирования внутри кадра (то есть, параметры, относящиеся к прогнозированию внутри кадра), в модуль 26 кодирования без потерь.
Если будет выбрано изображение прогнозирования для оптимального режима прогнозирования между кадрами, модуль 35 прогнозирования и компенсации движения выводит информацию, обозначающую оптимальный режим прогнозирования между кадрами, и информацию, соответствующую оптимальному режиму прогнозирования между кадрами (то есть параметры, относящиеся к прогнозированию движения) в модуль 26 кодирования без потерь. Примеры информации, соответствующей оптимальному режиму прогнозирования между кадрами, включают в себя информацию вектора движения и информацию опорного кадра.
На этапе S16, вычислительный модуль 23 рассчитывает разность между изображением, подвергнутым изменению компоновки на этапе S12, и изображением прогнозирования, выбранным на этапе S15. Изображение прогнозирования подают в вычислительный модуль 23 через модуль 36 выбора изображения прогнозирования из модуля 35 прогнозирования и компенсации движения для прогнозирования между кадрами или из модуля 34 прогнозирования внутри кадра для прогнозирования внутри кадра.
Данные разности имеют меньший объем данных, чем оригинальные данные изображения. В соответствии с этим, может быть уменьшено определенное количество данных, по сравнению количеством данных для изображения, которые записаны в том виде, как есть.
На этапе S17, модуль 24 ортогонального преобразования выполняет ортогональное преобразование для информации разности, подаваемой из вычислительного модуля 23. В частности, выполняют ортогональное преобразование, такое как дискретное косинусное преобразование или преобразование Карунена-Лоэва, и выводят коэффициенты преобразования.
На этапе S18, модуль 25 квантования квантует коэффициенты преобразования. При таком квантовании, как описано со ссылкой на обработку на этапе S28, описанном ниже, управляют скоростью.
Информацию разности, квантованную таким образом, как описано выше, локально декодируют следующим образом: На этапе S19 модуль 28 деквантования выполняет деквантование коэффициентов преобразования, квантованных модулем 25 квантования, используя характеристики, соответствующие характеристикам модуля 25 квантования. На этапе S20, модуль 29 обратного ортогонального преобразования выполняет обратное ортогональное преобразование для коэффициентов преобразования, деквантованных модулем 28 деквантования, используя характеристики, соответствующие характеристикам модуля 24 ортогонального преобразования.
На этапе S21, вычислительный модуль 30 добавляет ввод изображения прогнозирования через модуль 36 выбора изображения прогнозирования к локально декодированной информации разности, и генерирует локально декодированное изображение (изображение, соответствующее входному в вычислительный модуль 23).
На этапе S22, фильтр 31 удаления блочности выполняет процесс фильтрации удаления блочности для изображения, выводимого из вычислительного модуля 30. В соответствии с этим, удаляют искажение блоков. Фильтрованное изображение, полученное из фильтра 31 удаления блочности, выводят в фильтр 41 адаптивного смещения.
На этапе S23, фильтр 41 адаптивного смещения выполняет процесс фильтра адаптивного смещения. В ходе этого процесса определяют тип и коэффициент фильтра смещения для каждого LCU, который представляет собой наибольший модуль кодирования, и процесс фильтра выполняют для изображения, отфильтрованного фильтром 31 удаления блочности, используя тип и коэффициент фильтра смещения. Следует отметить, что детали такого процесса фильтра адаптивного смещения будут описаны ниже со ссылкой на фиг. 14.
Затем, если в буфере сохранен такой же коэффициент, как и коэффициент, определенный для каждого LCU, флаг, обозначающий сохранение коэффициента, индекс, обозначающий положение сохранения в буфере, и информацию, обозначающую тип, подают в модуль 26 кодирования без потерь. С другой стороны, если в буфере не содержится тот же коэффициент, что и коэффициент, определенный для каждого LCU, флаг, обозначающий отсутствие коэффициента, коэффициент и информацию, обозначающие тип, подают в модуль 26 кодирования без потерь.
Эти части информации, переданные в модуль 26 кодирования без потерь (ниже совместно называются параметрами адаптивного смещения), кодируют на этапе S26, описанном ниже.
На этапе S24, фильтр 42 адаптивного контура выполняет процесс фильтра адаптивного контура для изображения, отфильтрованного фильтром 41 адаптивного смещения. Например, изображение, отфильтрованное фильтром 41 адаптивного смещения, проходит обработку фильтра для каждого LCU, используя коэффициент фильтра, и результат обработки фильтра для изображения подают в запоминающее устройство 32 кадра.
Как описано выше, благодаря тому, что модуль обработки фильтра 41 адаптивного смещения выполнен согласованно с обработкой фильтра 42 адаптивного контура, обеспечивается эффективная обработка.
На этапе S25, запоминающее устройство 32 кадра содержит отфильтрованное изображение. Следует отметить, что изображение, которое не было отфильтровано фильтром 31 удаления блочности, фильтром 41 адаптивного смещения или фильтром 42 адаптивного контура, также подают в запоминающее устройство 32 кадра из вычислительного модуля 30, и затем сохраняют в запоминающем устройстве 32 кадра.
С другой стороны, коэффициенты преобразования, квантованные на этапе S18, описанном выше, также подают в модуль 26 кодирования без потерь. На этапе S26, модуль 26 кодирования без потерь кодирует квантованные коэффициенты преобразования, выводимые из модуля 25 квантования, и также кодирует поданные параметры. Таким образом, изображение разности кодируют без потерь, используя кодирование переменной длины, арифметическое кодирование и т.п., и его сжимают.
На этапе S27, буфер 27 накопления накапливает кодированное изображение разности (то есть кодированный поток), как сжатое изображение. Сжатое изображение, накопленное в буфере 27 накопления, считывают, по мере необходимости, и передают на сторону декодера через канал передачи.
На этапе S28, модуль 37 управления скоростью управляет скоростью операции квантования модуля 25 квантования на основе сжатого изображения, накопленного в буфере 27 накопления, таким образом, что не происходит переполнение или потеря значимости.
После окончания обработки на этапе S28, процесс кодирования заканчивается).
Пример конфигурации устройства декодирования изображения
На фиг. 3 иллюстрируется конфигурация варианта осуществления устройства декодирования изображения, используемого, как устройство обработки изображения, в котором применяется настоящее раскрытие. Устройство 51 декодирования изображения, представленное на фиг. 3, представляет собой устройство декодирования, соответствующее устройству 11 кодирования изображения по фиг. 1.
Предполагается, что кодированный поток (данные), которые подвергли кодированию в устройстве 11 кодирования изображения, будет передан в устройство 51 декодирования изображения, что соответствует устройству 11 кодирования изображения через определенный канал передачи, и декодирован.
Как представлено на фиг. 3, устройство 51 декодирования изображения включает в себя накопительный буфер 61, модуль 62 декодирования без потерь, модуль 63 деквантования, модуль 64 обратного ортогонального преобразования, вычислительный модуль 65, фильтр 66 удаления блочности, буфер 67 изменения компоновки экрана и модуль 68 D/A преобразования. Модуль 51 декодирования изображения дополнительно включает в себя запоминающее устройство 69 кадра, модуль 70 выбора, модуль 71 прогнозирования внутри кадра, модуль 72 прогнозирования и компенсации движения и модуль 73 выбора.
Устройство 51 декодирования изображения дополнительно включает в себя фильтр 81 адаптивного смещения и фильтр 82 адаптивного контура между фильтром 66 удаления блочности и буфером 67 изменения компоновки экрана и между фильтром 66 удаления блочности и запоминающим устройством 69 кадра.
Накопительный буфер 61 также представляет собой модуль приема для приема передаваемых кодированных данных. Накопительный буфер 61 принимает и накапливает переданные кодированные данные. Кодированные данные были подвергнуты кодированию устройством 11 кодирования изображения. Модуль 62 декодирования без потерь декодирует кодированные данные, считанные из накопительного буфера 61, в определенные моменты времени, используя схему, соответствующую схеме кодирования модуля 26 кодирования без потерь по фиг. 1.
Модуль 62 декодирования без потерь передает декодированные параметры, такие как информация, обозначающая режим прогнозирования внутри кадра, в модуль 71 прогнозирования внутри кадра, и подает параметры, такие как информация, обозначающая режим прогнозирования между кадрами, и информация о векторе движения, в модуль 72 прогнозирования и компенсации движения. Модуль 62 декодирования без потерь дополнительно подает декодированные параметры адаптивного смещения (такие как флаг, обозначающий присутствие или отсутствие коэффициента, сохраненного в буфере, коэффициент, информацию, обозначающую тип, и индекс, обозначающий положение сохранения коэффициента в буфере) для фильтра 81 адаптивного смещения.
Модуль 63 деквантования выполняет деквантование данных коэффициента (коэффициенты квантования), полученных модулем 62 декодирования без потерь в результате декодирования, используя схему, соответствующую схеме квантования модуля 25 квантования по фиг. 1. Таким образом, модуль 63 деквантования деквантует коэффициенты квантования, используя способ, аналогичный применяемому способу в модуле 28 деквантования 28 по фиг. 1, используя параметры квантования, подаваемые из устройства 11 кодирования изображения.
Модуль 63 деквантования подает деквантованные данные коэффициента, то есть, коэффициенты ортогонального преобразования, в модуль 64 обратного ортогонального преобразования. Модуль 64 обратного ортогонального преобразования выполняет обратное ортогональное преобразование для коэффициентов ортогонального преобразования, используя схему, соответствующую схеме ортогонального преобразования модуля 24 ортогонального преобразования по фиг. 1, и получает декодированные остаточные данные, соответствующие остаточным данным, которые не были ортогонально преобразованы в устройстве 11 кодирования изображения.
Декодированные остаточные данные, полученные в результате обратного ортогонального преобразования, подают в вычислительный модуль 65. В вычислительный модуль 65 также подают изображения прогнозирования из модуля 71 прогнозирования внутри кадра или из модуля 72 прогнозирования и компенсации движения через модуль 73 выбора.
Вычислительный модуль 65 суммирует вместе декодированные остаточные данные и изображение прогнозирования, и получает данные декодированного изображения, соответствующие данным изображения, из которых изображение прогнозирования не было вычтено вычислительным модулем 23 устройства 11 кодирования изображения. Вычислительный модуль 65 подает декодированные данные, изображения в фильтр 66 удаления блочности.
Фильтр 66 удаления блочности соответствующим образом выполняет процесс фильтра удаления блочности для удаления блочных искажений из декодированного изображения. Фильтр 66 удаления блочности подает результат процесса фильтрации в фильтр 81 адаптивного смещения.
Фильтр 81 адаптивного смещения выполняет процесс фильтра смещения (SAO) для изображения, фильтруемого фильтром 66 удаления блочности, для удаления в основном "звона".
Фильтр 81 адаптивного смещения выполняет процесс фильтрации для изображения, фильтрованного фильтром 66 удаления блочности для каждого LCU, который представляет собой наибольший модуль кодирования, используя параметры адаптивного смещения, подаваемые из модуля 62 декодирования без потерь. Фильтр 81 адаптивного смещения подает изображение, которое было подвергнуто процессу фильтра, в фильтр 82 адаптивного контура.
Следует отметить, что, в качестве принятого по умолчанию фильтра 81 адаптивного смещения ниже со ссылкой на фиг. 12 на следующих чертежах будет описан фильтр 81 адаптивного смещения, который имеет буфер для сохранения коэффициентов. Если флаг, переданный из модуля 62 декодирования без потерь, обозначает присутствие коэффициента, сохраненного в буфере, фильтр 81 адаптивного смещения считывает коэффициент из буфера, обращаясь к информации, обозначающей тип, и к индексу, обозначающему положение сохранения коэффициента в буфере, и выполняет обработку фильтрации, используя считываемый коэффициент.
С другой стороны, если флаг, переданный из модуля 62 декодирования без потерь, обозначает отсутствие коэффициента, сохраненного в буфере, фильтр 81 адаптивного смещения выполняет процесс фильтрации, используя коэффициент, полученный из модуля 62 декодирования без потерь. После этого, фильтр 81 адаптивного смещения записывает полученный коэффициент в буфер.
Фильтр 82 адаптивного контура имеет, в основном, конфигурацию, аналогичную конфигурации фильтра 42 адаптивного контура для устройства 11 кодирования изображения 11 по фиг. 1, и выполняет процесс фильтра адаптивного контура для каждого LCU, который представляет собой наибольший модуль кодирования. Фильтр 82 адаптивного контура выполняет процесс фильтра для изображения, отфильтрованного фильтром 81 адаптивного смещения для каждого LCU, используя коэффициент фильтра, и подает результат процесса фильтра в запоминающее устройство 69 кадра, и в буфер 67 изменения компоновки экрана.
Следует отметить, что, в устройстве 51 декодирования изображения коэффициент фильтра, который был рассчитан для каждого LUC и был кодирован фильтром 42 адаптивного контура устройства 11 кодирования изображения, и был передан из него, декодируют с помощью модуля 62 декодирования без потерь и используют, как будет подробно описано ниже.
Буфер 67 изменения компоновки экрана выполняет изменение компоновки для изображения. Таким образом, порядок кадров, повторно расположенных в порядке кодирования буфером 22 изменения компоновки экрана по фиг. 1, изменяют на исходный порядок отображения. Модуль 68 D/A преобразования выполняет D/A преобразование изображения, подаваемого из буфера 67 изменения компоновки экрана, и выводит полученное в результате изображение в устройство отображения (не показано) для отображения.
Выход фильтра 82 адаптивного контура дополнительно подают в запоминающее устройство 69 кадра.
Запоминающее устройство 69 кадра, модуль 70 выбора, модуль 71 прогнозирования внутри кадра, модуль 72 прогнозирования и компенсации движения, и модуль 73 выбора соответствуют запоминающему устройству 32 кадра, модулю 33 выбора, модулю 34 прогнозирования внутри кадра, модулю 35 прогнозирования и компенсации движения и модулю 36 выбора изображения прогнозирования устройства 11 кодирования изображения, соответственно.
Модуль 70 выбора считывает изображение, которое должно быть подвергнуто обработке между кадрами, и опорное изображение из запоминающего устройства 69 кадра, и подает считанные изображения в модуль 72 прогнозирования и компенсации движения. Далее, модуль 70 выбора считывает изображение, предназначенное для использования, для прогнозирования внутри кадра, из запоминающего устройства 69 кадра, и подает считанное изображение в модуль 71 прогнозирования внутри кадра.
В модуль 71 прогнозирования внутри кадра подают информацию, обозначающую режим прогнозирования внутри кадра и т.п., которую получают путем декодирования информации заголовка из модуля 62 декодирования без потерь, соответствующим образом. Модуль 71 прогнозирования внутри кадра генерирует изображение прогнозирования, на основе этой информации, из опорного изображения, полученного из запоминающего устройства 69 кадра, и подает сгенерированное изображение прогнозирования в модуль 73 выбора.
В модуль 72 прогнозирования и компенсации движения подают информацию, полученную путем декодирования информации заголовка (информацию режима прогнозирования, информацию вектора движения, информацию опорного кадра, флага, различных параметров и т.д.) из модуля 62 декодирования без потерь.
Модуль 72 прогнозирования и компенсации движения генерирует изображение прогнозирования, на основе этих частей информации, поданных из модуля 62 декодирования без потерь, из опорного изображения, полученного из запоминающего устройства 69 кадра, и подает сгенерированное изображение прогнозирования в модуль 73 выбора.
Модуль 73 выбора выбирает изображение прогнозирования, генерируемое модулем 72 прогнозирования и компенсации движения или модулем 71 прогнозирования внутри кадра, и подает выбранное изображение прогнозирования в вычислительный модуль 65.
Работа устройства декодирования изображения
Пример потока обработки декодирования, выполняемого устройством 51 декодирования изображения, как описано выше, будет описан со ссылкой на фиг. 4.
Когда начинается процесс декодирования, на этапе S51, буфер 61 накопления принимает и накапливает переданный кодированный поток (данные). На этапе S52, модуль 62 декодирования без потерь декодирует кодированные данные, переданные из буфера 61 накопления. Декодируют I-кадр, P-кадр и B-кадр, которые были кодированы модулем 26 кодирования без потерь по фиг. 1.
Перед декодированием кадров также декодируют информацию о параметрах, такую как информация вектора движения, информация опорного кадра и информация режима прогнозирования (режим прогнозирования внутри кадра или режим прогнозирования между кадрами).
Если информация режима прогнозирования представляет собой информацию режима прогнозирования внутри кадра, информацию режима прогнозирования подают в модуль 71 прогнозирования внутри кадра. Если информация режима прогнозирования представляет собой информацию режима прогнозирования между кадрами, информацию вектора движения и т.п., соответствующую информации режима прогнозирования, подают в модуль 72 прогнозирования и компенсации движения. Кроме того, адаптивные параметры смещения также декодируют и подают в фильтр 81 адаптивного смещения.
На этапе S53, модуль 71 прогнозирования внутри кадра или модуль 72 прогнозирования и компенсации движения выполняют соответствующий процесс генерирования изображения прогнозирования, в соответствии с информацией режима прогнозирования, подаваемой из модуля 62 декодирования без потерь.
В частности, если информацию режима прогнозирования внутри кадра подают из модуля 62 декодирования без потерь, модуль 71 прогнозирования внутри кадра генерирует изображение прогнозирования внутри кадра для режима прогнозирования внутри кадра. Если информация режима прогнозирования между кадра будет передана из модуля 62 декодирования без потерь, модуль 72 прогнозирования и компенсации движения выполняет процесс прогнозирования и компенсации движения режима прогнозирования между кадрами и генерирует изображение прогнозирования между кадрами.
В процессе, описанном выше, изображение прогнозирования (изображение прогнозирования внутри кадра), генерируемое модулем 71 прогнозирования внутри кадра, или изображение прогнозирования (изображение прогнозирования между кадрами), генерируемое модулем 72 прогнозирования и компенсации движения, поступает в модуль 73 выбора.
На этапе S54, модуль 73 выбора выбирает изображение прогнозирования. Таким образом, подают изображение прогнозирования, генерируемое модулем 71 прогнозирования внутри кадра, или изображение прогнозирования, генерируемое модулем 72 прогнозирования и компенсации движения. В соответствии с этим, переданное изображение прогнозирования выбирают и подают в вычислительный модуль 65, так, что изображение прогнозирования суммируют с выходом модуля 64 обратного ортогонального преобразования на этапе S57, описанном ниже.
На этапе S52, описанном выше, коэффициенты преобразования, декодированные модулем 62 декодирования без потерь, также подают в модуль 63 деквантования. На этапе S55, модуль 63 деквантования выполняет деквантование коэффициентов преобразования, декодированным модулем 62 декодирования без потерь, используя характеристики, соответствующие характеристикам модуля 25 квантования на фиг. 1.
На этапе S56, модуль 29 обратного ортогонального преобразования выполняет обратное ортогональное преобразование для коэффициентов преобразования, деквантованных модулем 28 деквантования, используя характеристики, соответствующие характеристикам модуля 24 ортогонального преобразования по фиг. 1. В соответствии с этим, декодируют информацию разности, соответствующую входному сигналу модуля 24 ортогонального преобразования по фиг. 1 (выход вычислительного модуля 23).
На этапе S57, вычислительный модуль 65 добавляет изображение прогнозирования, выбранное при обработке на этапе S54, описанном выше, и подаваемое через модуль 73 выбора, к информации разности. В соответствии с этим, декодируют исходное изображение.
На этапе S58, фильтр 66 удаления блочности выполняет процесс фильтра удаления блочности для изображения, выводимого из вычислительного модуля 65. В соответствии с этим, удаляют блочные искажения. Декодированное изображение, переданное из фильтра 66 удаления блочности, выводят в фильтр 81 адаптивного смещения.
На этапе S59, фильтр 81 адаптивного смещения выполняет процесс фильтра адаптивного смещения. Фильтр 81 адаптивного смещения выполняет процесс фильтра для изображения, фильтруемого фильтром 66 удаления блочности, используя параметры адаптивного смещения, переданные из модуля 62 декодирования без потерь. Фильтр 81 адаптивного смещения подает изображение, которое было подвергнуто процессу фильтрации, в фильтр 82 адаптивного контура.
Следует отметить, что, при описании деталей фильтра 81 адаптивного смещения ниже со ссылкой на фиг. 12 и на следующие чертежи, фильтр 81 адаптивного смещения имеет буфер для сохранения коэффициентов. Если флаг, переданный из модуля 62 декодирования без потерь, обозначает присутствие коэффициента, сохраненного в буфере, этот коэффициент считывают из буфера со ссылкой на информацию, обозначающую тип и индекс, обозначающий положение сохранения коэффициента в буфере, и процесс фильтрации выполняют, используя считанный коэффициент.
С другой стороны, если флаг, переданный из модуля 62 декодирования без потерь, обозначает отсутствие коэффициента, сохраненного в буфере, процесс фильтрации выполняют, используя коэффициент, полученный из модуля 62 декодирования без потерь. После этого полученный коэффициент записывают в буфер.
На этапе S60, фильтр 82 адаптивного контура выполняет процесс фильтра адаптивного контура для изображения, фильтрованного фильтром 81 адаптивного смещения. Фильтр 82 адаптивного контура выполняет процесс фильтрации для входного изображения для каждого LCU, который представляет собой наибольший модуль кодирования, используя коэффициент фильтрации, рассчитанный для каждого LCU, и подает результат процесса фильтрации в буфер 67 изменения компоновки экрана и в запоминающее устройство 69 кадра.
На этапе S61, в запоминающем устройстве 69 кадра сохраняют фильтрованное изображение.
На этапе S62, буфер 67 изменения компоновки экрана выполняет изменения компоновки изображения после применения фильтра 82 адаптивного контура. Таким образом, порядок кадров, повторно размещенных в буфере 22 повторного размещения экрана устройства 11 кодирования изображения для кодирования изменяют на исходный порядок отображения.
На этапе S63, модуль 68 D/A преобразования выполняет D/A преобразование изображения, передаваемого из буфера 67 изменения компоновки экрана. Это изображение выводят на устройство отображения (не показано), и это изображение отображают.
После окончания обработки на этапе S63, процесс декодирования заканчивается.
Пояснение технологий предшествующего уровня техники
Процесс адаптивного смещения в схеме HEVC
Далее будет описан фильтр адаптивного смещения в схеме HEVC. В схеме HEVC применена схема адаптивного смещения выборки.
На стороне кодера фильтр 41 адаптивного смещения расположен между фильтром (DB) 31 удаления блочности и адаптивным фильтром (ALF) 42 контура. Также на стороне декодера, фильтр 81 адаптивного смещения расположен между фильтром 66 (DB) удаления блочности и фильтром (ALF) 82 адаптивного контура.
Типы (виды) адаптивного смещения включают в себя два типа смещения, называемого смещением полосы, и шесть типов смещения, называемых смещением кромки, и при этом также возможно отсутствие применения смещения. Кроме того, возможно разделять изображение на области квадродерева и выбирать, для каждой области, какой из типов адаптивного смещения, описанных выше, использовать для кодирования.
Такую информацию выбора кодируют, как PQAO Info с помощью модуля кодирования (энтропийного кодирования), генерируют поток битов, и сгенерированный поток битов передают на сторону декодера. Используя этот способ, можно повысить эффективность кодирования.
Здесь, со ссылкой на фиг. 5, будет описана структура квадродерева.
Например, на стороне кодера, как обозначено позицией А1 на фиг. 5, вычисляют функцию J0 стоимости для Уровня 0 (глубина разделения 0), обозначающую, что область 0 не разделена на части. Далее, вычисляют функцию стоимости J1, J2, J3 и J4 для Уровня 1 (глубина разделения 0), обозначающего, что область 0 разделена на четыре области 1-4.
Затем, как обозначено в позиции А2, сравнивают функцию стоимости, и выбирают области разделения (разделы) Уровня 1, в соответствии с J0>(J1+J2+J3+J4).
Аналогично, как обозначено A3, рассчитывают функции J5-J20 уровня 2 (глубина разделения 2), обозначающие, что область 0 разделена на 16 областей 5-20.
Затем, как обозначено А4, функции стоимости сравнивают, и область разделения (раздел) Уровня 1 выбирают в области 1, в соответствии с J1<(J5+J6+J9+J10). В области 2, области разделения (разделы) Уровня 2 выбирают в соответствии с J2>(J7+J8+J11+J12). В области 3, области разделения (разделы) Уровня 2 выбирают в соответствии с J3>(J13+J14+J17+J18). В области 4, выбирают область разделения (раздел) Уровня 1 в соответствии c J4>(J15+J16+J19+J20).
В результате, определяют конечные области квадродерева (разделы), обозначенные А4, в структуре квадродерева. Затем рассчитывают функции стоимости для всех типов, а именно, для двух типов смещения полосы, шести типов смещения кромки, и отсутствия смещения, для каждой из определенных областей в структуре квадродерева, и определяют, какие смещения использовать для кодирования.
Например, в примере на фиг. 5, как обозначено белой стрелкой, ЕО (4), то есть, четвертый тип среди типов смещения кромки, определяют для области 1. Для области 7 определяют ВЫКЛЮЧЕНО, то есть, отсутствие смещения. Для области 8, определяют ЕО (2), то есть второй тип среди типов смещения кромки. Для областей 11 и 12 определяют ВЫКЛЮЧЕНО, то есть, отсутствие смещения.
Кроме того, для области 13, определяют ВО (1), то есть, первый тип среди типов смещения полосы. Для области 14 определяют ЕО (2), то есть, второй тип среди типов смещения кромки. Для области 17 определяют ВО (2), то есть, второй тип среди типов смещения полосы. Для области 18, определяют ВО (1), то есть, первый тип среди типов смещения полосы. Для области 4 определяют ЕО (1), то есть, первый тип среди типов смещения кромки.
Далее детали смещения полосы будут описаны со ссылкой на фиг. 6.
При смещении полосы, в примере на фиг. 6, каждая шкала представляют одну полосу =8 пикселей, и значения пикселей яркости разделяют на 32 полосы, и каждая полоса, имеет отдельное значение смещения.
Таким образом, в примере на фиг. 6 центр из 16 полос среди от 0-ого до 255-ого пикселей (32 полосы) группируют в первую группу, и 8 полос с обеих сторон группируют во вторую группу.
Затем кодируют смещение только в одной из первой группы или второй группы и передают на сторону декодера. В общем, каждая область часто представляет собой область белого или черного с высоким контрастом или область с окраской с малым контрастом, и редко обе первая группа и вторая группа все содержат пиксели. По этой причине отправка смещений только одной группы может предотвратить увеличение объема кодирования, связанного с передачей значений пикселей для значений, которые не включены в каждую область квадродерева.
Следует отметить, что, если входной сигнал передают в режиме широковещательной передачи, значение сигнала яркости ограничивают диапазоном 16235, и значения сигналов цветности ограничивают до диапазона 16240. В этом случае, применяют широковещательную передачу, разрешенную представленной в нижней части на фиг. 6, и значения смещения для 2 полос с каждой стороны, которые помечены крестом, не передают
Далее, со ссылкой на фиг. 7, будут подробно описаны смещения кромки.
При смещении кромки выполняют сравнение между целевым значением пикселя и значением соседнего пикселя, расположенного рядом с целевым значением пикселя, и значение смещения передают в соответствии с соответствующей категорией.
Смещение кромки имеет четыре одномерных структуры, представленные в части А на фиг. 7 - части D на фиг. 7, и две двумерные структуры, представленные в части Е на фиг. 7 и в части F на фиг. 7, и передают смещения для категорий, обозначенных на фиг. 7.
В части А на фиг. 7 иллюстрируется структура 1-D 0 градусов, в которой соседние пиксели расположены одномерно справа и слева от целевого пикселя С, то есть, структура 1-D 0 градусов, которая образует угол 0 градусов со структурой в части А на фиг. 7. В части В на фиг. 7 иллюстрируется структура 1-D 90 градусов, в которой соседние пиксели расположены одномерно выше и ниже целевого пикселя С, то есть, структура 1-D 90 градусов, которая определяет угол 90 градусов со структурой части А на фиг. 7.
В части С на фиг. 7 иллюстрируется структура 1-D 135 градусов, в которой соседние пиксели расположены одномерно в положениях, сверху слева и снизу справа от целевого пикселя С, то есть структура 1-D 135 градусов, которая определяет угол 135 градусов со структурой в части А на фиг. 7. В части D на фиг. 7 иллюстрируется структура 1-D 135 градусов, в которой соседние пиксели расположены одномерно вверху справа и снизу слева целевого пикселя С, то есть, структура 1-D 135 градусов, которая определяет угол 45 градусов со структурой в части А на фиг. 7.
В части Е на фиг. 7 иллюстрируется 2-D перекрестная структура, в которой соседние пиксели размещены двумерно выше и ниже, и справа, и слева от целевого пикселя С, то есть, 2-D перекрестная структура, которая пересекает целевой пиксель С. В части F на фиг. 7 иллюстрируется 2-D диагональная структура, в которой соседние пиксели расположены двумерно сверху справа и снизу слева и сверху слева и снизу справа от целевого пикселя С, то есть, 2-D диагональная структура, которая диагонально пересекает целевой пиксель С.
В части А на фиг. 8 иллюстрируется правило классификации для одномерных структур (Правило классификации для структур 1-D). Структуры в части А на фиг. 7 - части D на фиг. 7 классифицируют на пять категорий, представленных в части А на фиг. 8. Смещение рассчитывают в соответствии с категориями, и передают в модуль декодирования.
Если значение пикселя для целевого пикселя С будет меньше, чем значения пикселя двух соседних пикселей, структуру классифицируют в категорию 1. Если значение пикселя целевого пикселя С меньше, чем значение пикселя одного соседнего пикселя и равно значению пикселя другого соседнего пикселя, структуру классифицируют в категорию 2. Если значение пикселя целевого пикселя С больше, чем значение пикселя одного соседнего пикселя и равно значению пикселя другого соседнего пикселя, структуру классифицируют в категорию 3. Если значение пикселя для целевого пикселя С больше, чем значения пикселей двух соседних пикселей, структуру классифицируют в категорию 4. В противном случае, структуру классифицируют в категорию 0.
В части В на фиг. 8 иллюстрируется правило расчета для двумерных структур (Правило классификации для 2-D структур). Структуры в части Е на фиг. 7 и в части F на фиг. 7 классифицируют на семь категорий, как представлено в части В на фиг. 8. Смещение передают на сторону декодера, в соответствии с категориями.
Если значение пикселя для целевого пикселя С будет меньше, чем значения пикселя для четырех соседних пикселей, структуру классифицируют, как категорию 1. Если значение пикселя целевого пикселя С меньше, чем значения пикселя трех соседних пикселей и равно значению пикселя четвертого соседнего пикселя, структуру классифицируют в категорию 2. Если значение пикселя целевого пикселя С будет меньше, чем значения пикселя трех соседних пикселей и больше, чем значение пикселя четвертого соседнего пикселя, структуру классифицируют в категорию 3.
Если значение пикселя целевого пикселя С больше, чем значения пикселя трех соседних пикселей и меньше, чем значение пикселя четвертого соседнего пикселя, структуру классифицируют в категории 4. Если значение пикселя целевого пикселя С больше, чем значения пикселя трех соседних пикселей и равно значению пикселя четвертого соседнего пикселя, структуру классифицируют в категории 5. Если значение пикселя целевого пикселя С больше, чем значения пикселя четырех соседних пикселей, структуру классифицируют в категории 6. В противном случае, структуру классифицируют в категории 0.
Как описано выше, при смещении на кромке, одномерные структуры требуют меньшего объема расчетов, поскольку сравнение выполняют просто между соседними двумя пикселями. Следует отметить, что в условиях высокоэффективного кодирования, значение смещения на 1 бит выполняют более точно, чем в условиях кодирования с длительной задержкой, и передают на сторону декодера.
Процесс адаптивного смещения, описанный выше, представляет собой процесс, выполняемый в схеме HEVC для каждой из полученных областей в структуре квадродерева. Таким образом, в процессе адаптивного смещения необходимо уникально определить области для фильтра адаптивного смещения, называемые структурой квадродерева.
Кроме того, параметры фильтра адаптивного смещения все вместе определяют в sao_param (), который помещают перед данными (видеоинформация), в группах одного кадра. На стороне кодера, поэтому, необходимо содержать данные для одного кадра в буфере, пока не кончится процесс фильтра адаптивного смещения, определения коэффициентов фильтра адаптивного смещения, и формирования sao_param ().
Учитывая описанное выше, в некоторых вариантах осуществления, как описано в следующем разделе со ссылкой на фиг. 9, фильтрацию адаптивного смещения выполняют в таких модулях, как LCU, который представляет собой наибольший модуль кодирования, соответственно, для обработки LCU-no-LCU адаптивного фильтра контура, которая была предложена на NPL 2.
3. Первый вариант осуществления
Обзор существующей технологии
В примере на фиг. 9 представлено изображение, которое разделено на LCU 111-LCU 117. Фильтр 41 адаптивного смещения на стороне кодера определяет тип и коэффициент (значение смещения) фильтра адаптивного смещения в модулях LCU, которые представляют собой наибольшую единицу кодирования, и передает этот тип и коэффициент на сторону декодера в моменты времени начала каждого LCU. В этом случае, если коэффициент соответствует какому-либо из коэффициентов, которые уже были переданы и были сохранены в буфере, фильтр 81 адаптивного смещения на стороне декодера использует копию коэффициента в буфере.
Например, тип Е0 LCU 111 (смещение кромки категории 0) и его коэффициент определяют на стороне кодера, и тип, и коэффициент LCU 111 передают на сторону декодера в начале LCU 111. Тип B1 LCU 112 (смещение полосы категории 1) и его коэффициент определяют на стороне кодера, и тип, и коэффициент LCU 111 передают на сторону декодера в начале LCU 112. Тип E1 LCU 113 (смещение кромки категории 1) и его коэффициент определяют на стороне кодера, и тип, и коэффициент LCU 111 передают на сторону декодера в начале LCU 113. Тип В2 LCU 114 (смещение полосы категории 2) и его коэффициент определяют на стороне кодера, и тип, и коэффициент LCU 111 передают на сторону декодера в начале LCU 114.
На стороне декодера фильтр 81 адаптивного смещения имеет буфер 121 ЕО (смещения кромки) и буфер 122 ВО (смещения полосы), и выполняет процесс фильтрации в модулях LCU. Кроме того, сохраняются переданные коэффициенты.
Здесь тип Е0 LCU 115 (категория 0 смещения кромки) и его коэффициент определяют на стороне кодера. Коэффициент типа Е0 уже был передан на сторону декодера во время LCU 111, и был сохранен в буфере 121 ЕО (смещение) кромки, включенном в фильтр 81 адаптивного смещения на стороне декодера.
Для LCU 115, поэтому, используется копия коэффициента типа Е0 в буфере 121 ЕО на стороне декодера без передачи коэффициента типа Е0. Следует отметить, что, для LCU 116, не определяется адаптивное смещение (выключено) на стороне кодера, и, таким образом, не используется никакой коэффициент.
Кроме того, тип Е0 LCU 117 (смещение кромки категории 0) и его коэффициент определяют на стороне кодера. Коэффициент типа Е0 уже был передан на сторону декодера во время LCU 111, и был сохранен в буфере 121 ЕО (смещение кромки), включенном в фильтр 81 адаптивного смещения на стороне декодера.
Для LCU 117, поэтому, используется копия коэффициента типа Е0 в буфере 121 ЕО, на стороне декодера, без передачи коэффициента типа Е0.
Как описано выше, параметры фильтра адаптивного смещения, которые передают в виде одной партии в начале кадра, в предшествующем уровне техники, передают последовательно в начале каждого LCU. Таким образом, в то время, как буфер с емкостью, соответствующей одному кадру, требуется в предшествующем уровне техники, можно использовать буфер с уменьшенной емкостью, соответствующей LCU.
Кроме того, коэффициент, который уже использовался, не передают, что предотвращает увеличение количества передаваемых коэффициентов, вызванное передачей коэффициента каждого LCU.
На фиг. 10 иллюстрируются примеры разделения фильтра адаптивного смещения. В левой части на фиг. 10 представлен пример разделения на основе квадродерева предшествующего уровня техники, и с правой стороны на фиг. 10 иллюстрируется пример разделения на основе LCU, в соответствии с настоящей технологией.
В случае структуры квадродерева, как показано в правой части на фиг. 10, изображение можно разделить только на квадратные области. В отличие от этого, в фильтре на основе LCU, как представлено с правой стороны на фиг. 10, изображение может быть разделено на области выпуклой формы или области вогнутой формы.
Фактически, как обозначено пунктирной линией, область выпуклой формы состоит, например, из LCU размером 8×8 и LCU размером 16×16, где представлены одинаковый тип и использование одного и того же коэффициента. Аналогично, как обозначено пунктирной линией, область вогнутой формы состоит из, например, трех LCU 8×8, где представлен один и тот же тип и использование одного и того же коэффициента.
Как описано выше, область разделена на модули LCU, что повышает гибкость при разделении, по сравнению с разделением, основанным на структуре квадродерева в предшествующем уровне техники. Может быть выполнена фильтрация адаптивного смещения, в соответствии с характеристиками входного изображения.
Кроме того, модуль обработки фильтра адаптивного смещения и модуль обработки фильтра адаптивного контура выполнен так, чтобы они соответствовали и обеспечивали одновременное выполнение обработки обоих фильтров, параллельно, по принципу магистральной линии обработки и т.п. В соответствии с этим, эффективность обработки может быть повышена.
Пример синтаксиса
На фиг. 11 представлена схема, иллюстрирующая пример синтаксиса sao_param (), генерируемого устройством 11 кодирования изображения. Цифры с левой стороны соответствующих рядов представляют собой номера рядов, представленные с целью описания.
В примере на фиг. 11, sample_adaptive_offset_flag в восьмом ряду представляет собой флаг, обозначающий, следует или нет выполнять фильтрацию адаптивного смещения. sao_flag_cb в десятом ряду обозначает применение фильтра адаптивного смещения cb, когда он равен 1. sao_flag_cr в двенадцатом ряду обозначает применение фильтра адаптивного смещения cr, когда он равен 1. Следует отметить, что sample_adaptive_offset_flag, sao_flag_cb, и saoflagcr не описаны здесь конкретно.
sao_type_idx в восемнадцатом ряду представляет собой тип смещения. copy_flag в двадцатом ряду устанавливает, следует или нет копировать sao_type_idx (тип) и sao_offset (коэффициент) предшествующего LCU. Таким образом, copy_flag представляет собой идентификационные данные, идентифицирующие параметры (тип и смещение) предшествующего LCU, в котором была выполнена фильтрация адаптивного смещения перед обработкой текущего LCU, поскольку они являются такими же, как и параметры текущего LCU. Другими словами, кроме того, copy_flag представляет собой идентификационные данные, идентифицирующие, следует ли использовать параметры предыдущего LCU, как параметры текущего LCU. Другими словами, кроме того, copy_flag представляет собой идентификационные данные, идентифицирующие, следует ли использовать копию параметров предыдущего LCU, как параметры текущего LCU.
copy_idx в двадцать втором ряду относится к предыдущему (обработанному) sao_type_idx (тип) и sao_offset (коэффициент), которые должны быть скопированы. Таким образом, copy_idx представляет собой идентификационные данные, устанавливающие тот же LCU (требуется копировать), как и текущий LCU с точки зрения параметров из предыдущих LCU.
sao_offset в двадцать пятом ряду относится к смещению (коэффициенту) каждой категории.
Пример индекса типа
На фиг. 12 показана схема, представляющая sao_type_idx. В примере на фиг. 12, sao_type_idx, NumSaoCategory и тип кромки или полосы представлены в последовательности слева направо.
sao_type_idx представляет собой индекс, обозначающий тип фильтра адаптивного смещения. NumSaoCategory представляет собой информацию, обозначающую количество категорий для этого индекса. Тип кромки или полосы представляет собой информацию, обозначающую какому типу кромки (или полосы) соответствует индекс. Следует отметить, что, приблизительно sao_type_idx представляет собой смещение кромки (ЕО), когда значение sao_type_idx находится в диапазоне 1-4, и sao_type_idx представляет смещение полосы (ВО), когда значение sao_type_idx находится в диапазоне 5 и 6.
Таким образом, если значение sao_type_idx равно 0, NumSaoCategoriy (количество категорий) равно 0, и процесс адаптивного смещения не выполняется.
Если значение sao_type_idx равно 1, NumSaoCategoriy (количество категорий) равно 4, и тип кромки представляет собой кромку 1D 0 градусов, представленную, как часть А на фиг. 7. Если значение sao_type_idx равно 2, NumSaoCategoriy (количество категорий) равно 4, и тип кромки представляет кромку 1D 90 градусов, представленную в части В на фиг. 7. Если значение sao_type_idx равно 3, NumSaoCategoriy (количество категорий) равно 4, и тип кромки представляет собой кромку 1D 135 градусов, показанную в части С на фиг. 7. Если значение sao_type_idx равно 4, NumSaoCategoriy (количество категорий) равно 4 и тип кромки представляет собой кромку 1D 45 градусов, представленную в части D на фиг. 7.
Если значение sao_type_idx равно 5, NumSaoCategoriy (количество категорий) равно 16, и тип полосы представляет собой центральную полосу (первая группа на фиг. 6). Если значение sao type idx равно 6, NumSaoCategoriy (количество категорий) равно 16 и тип полосы представляет собой боковую полосу (вторую группу на фиг. 6).
Следует отметить, что, в то время, как двумерные структуры смещения кромки не представлены в примере на фиг. 7, двумерную структуру смещения кромки также можно обрабатывать путем увеличения значения sao_type_idx.
Пример конфигурации фильтра адаптивного смещения
На фиг. 13 показана блок-схема, иллюстрирующая пример конфигурации фильтра адаптивного смещения и модуля кодирования без потерь в устройстве кодирования изображения по фиг. 1.
В примере на фиг. 13, фильтр 41 адаптивного смещения построен так, что он включает в себя модуль 211 определения типа и смещения, модуль 212 обработки смещения, буфер 213 изображения, модуль 214 считывания коэффициента и буфер 215 смещения. Фильтр 41 адаптивного смещения построен так, что он дополнительно включает в себя модуль 216 установки параметра и модуль 217 записи коэффициента.
Модуль 26 кодирования без потерь построен так, что он включает в себя, по меньшей мере, модуль 221 записи синтаксиса.
Значение пикселя с удаленной блочностью, переданное из фильтра 31 удаления блочности, вводят в модуль 211 определения типа и смещения и в модуль 212 обработки смещения. Модуль 211 определения типа и смещения определяет тип фильтра адаптивного смещения и смещение типа в модулях LCU. В этом случае, в качестве примера, функцию стоимости рассчитывают в модулях LCU, и определяют тип и смещение, которые являются оптимальными для каждого LCU, где функция стоимости является минимальной. Модуль 211 определения типа и смещения подает индекс типа (sao_type_idx), обозначающий определенные тип и смещение (sao_offset), в модуль 212 обработки смещения и в модуль 214 считывания коэффициента.
Следует отметить, что смещение (коэффициент) представляет собой коэффициент, равный 5 для смещения кромки, и коэффициент, равный 9, для смещения полосы.
Модуль 212 обработки смещения выполняет процесс фильтра адаптивного смещения для значений пикселей с удаленной блочностью, переданных из фильтра 31 удаления блочности, для каждого LCU, используя тип и смещение, обозначенные индексом типа, переданным из модуля 211 определения типа и смещения. Модуль 212 обработки смещения подает значения пикселя, которые были подвергнуты обработке смещения, в буфер 213 изображения.
В буфере 213 изображения временно сохраняются значения пикселя, которые были подвергнуты обработке смещения модулем 212 обработки смещения, и затем значения пикселя передают в фильтр 42 адаптивного контура в определенные моменты времени.
Модуль 214 считывания коэффициента выполняет поиск в буфере 215 смещения, такого смещения, которое соответствует смещению, переданному из модуля 211 определения типа и смещения. Следует отметить, что модуль 214 считывания коэффициента проверяет буфер типа (буфер смещения кромки или буфер смещения полосы), обозначенный индексом типа, переданным из буфера 215 смещения.
Если присутствует какой-либо соответствующий коэффициент, модуль 214 считывания коэффициента подает индекс копии (copy_idx), обозначающий положение, в котором сохраняется соответствующий коэффициент, в буфер 215 смещения, в модуль 216 установки параметра вместе с индексом типа. Если соответствующий коэффициент отсутствует, модуль 214 считывания коэффициента подает индекс смещения и типа в модуль 216 установки параметра.
Буфер 215 смещения имеет буфер, для сохранения смещения для смещения кромки, и буфер для сохранения смещения, для смещения полосы. Буфер 215 смещения построен, например, по принципу FIFO.
Если индекс копии подают вместе с индексом типа, модуль 216 установки параметра устанавливает флаг копии (copy_flag) в значение true. Модуль 216 установки параметра передает флаг копии, индекс типа и индекс копии в модуль 221 записи синтаксиса, как параметры адаптивного смещения.
Если индекс копии будет подан в модуль 216 установки параметра вместе со смещением, модуль 216 установки параметра устанавливает флаг копии (copy_flag) в значение false. Модуль 216 установки параметра подает флаг копии, индекс типа и смещение в модуль 221 записи синтаксиса, как параметры адаптивного смещения. В этом случае, модуль 216 установки параметра также подает индекс типа и смещение в модуль 217 записи коэффициента и обеспечивает запись смещения в доступную область в буфере 215 смещения.
Модуль 217 записи коэффициента записывает значение смещения, переданное из модуля 216 установки параметра, в доступную область, которая близка к началу среди доступных областей в буфере типа, обозначенного индексом типа, переданным из модуля 216 установки параметра в пределах буфера 215 смещения. Следует отметить, что доступная область, которая близка к началу, представляет собой доступную область, имеющую самый малый индекс.
Модуль 221 записи синтаксиса записывает параметры адаптивного смещения, переданные из модуля 216 установки параметра, в участок заголовка (sao_param) кодированного потока в модулях LCU, как описано выше со ссылкой, например, на фиг. 11.
Процесс фильтра адаптивного смещения на стороне кодера
Далее с помощью фильтра 41 адаптивного смещения, показанного на фиг. 13, со ссылкой на блок-схему последовательности операций по фиг. 14, будет описана обработка процесса фильтра адаптивного смещения. Следует отметить, что такая обработка фильтра адаптивного смещения представляет собой процесс на этапе S23 на фиг. 2.
Значение пикселя с удаленной блочностью, переданное от фильтра 31 удаления блочности, подают в модуль 211 определения типа и смещения и модуль 212 обработки смещения. На этапе S211, модуль 211 определения типа и смещения определяет тип фильтра адаптивного смещения и смещение типа в модулях LCU. Модуль 211 определения типа и смещения подает индекс типа (sao_type_idx), обозначающий определенный тип и смещение (sao_offset), в модуль 214 считывания коэффициента.
Модуль 214 считывания коэффициента выполняет поиск в буфере 215 смещения, величины смещения, которая соответствует смещению, переданному из модуля 211 определения типа и смещения. На этапе S212, модуль 214 считывания коэффициента определяет, присутствует или нет соответствующее смещение в буфере 215 смещения. Следует отметить, что модуль 214 считывания коэффициента проверяет буфер типа (буфер смещения кромки или буфер смещения полосы), обозначенного по индексу типа, переданному из буфера 215 смещения.
Если на этапе S212 определяют, что отсутствует соответствующее смещение, модуль 214 считывания коэффициента подает индекс смещения и типа в модуль 216 установки параметра.
В ответ на это, на этапе S213, модуль 216 установки параметра устанавливает флаг копии (copy_flag) в значение false.
Модуль 216 установки параметра также подает индекс типа и смещения в модуль 217 записи коэффициента, и, на этапе S214, обеспечивает выполнение процесса записи коэффициента (смещения). Такой процесс записи коэффициента будет описан ниже со ссылкой на фиг. 15.
На этапе S217, модуль 216 установки параметра подает флаг копии, индекс типа и смещение в модуль 221 записи синтаксиса, как параметры адаптивного смещения, и обеспечивает кодирование параметров адаптивного смещения.
В ответ на это, на этапе S26, на фиг. 2, описанной выше, модуль 221 записи синтаксиса записывает параметры адаптивного смещения, переданные из модуля 216 установки параметра в участок заголовка (sao_param) кодированного потока в модулях LCU.
С другой стороны, если на этапе S212 определяют, что существует соответствующее смещение, процесс переходит на этап S215.
На этапе S215, модуль 214 считывания коэффициента устанавливает индекс копии (copy_idx), обозначающий положение, в котором сохраняется соответствующий коэффициент в буфере 215 смещения, и подает индекс копии (copy_idx) в модуль 216 установки параметра вместе с индексом типа.
В ответ на это, на этапе S216, модуль 216 установки параметра устанавливает значение флага копии (copy_flag), как true.
Затем, модуль 216 установки параметра подает флаг копии, индекс типа и индекс копии в модуль 221 записи синтаксиса, как параметры адаптивного смещения, и обеспечивает кодирование параметров адаптивного смещения.
В ответ на это, на этапе S26, на фиг. 2 описанной выше, модуль 221 записи синтаксиса записывает параметры адаптивного смещения, переданные из модуля 216 установки параметра, в участок заголовка (sao_param) кодированного потока в модулях LCU.
В то же время, индекс типа (sao_type_idx) и смещение (sao_offset), определенные на этапе S211, также подают в модуль 212 обработки смещения.
На этапе S218, модуль 212 обработки смещения выполняет обработку смещения. Таким образом, модуль 212 обработки смещения выполняет процесс фильтра адаптивного смещения для значений деблокированных пикселей, переданных из фильтра 31 удаления блочности, для каждого LCU используют тип и смещение, обозначенные индексом типа, переданным из модуля 211 определения типа и смещения. Значения пикселя, которые были подвергнуты обработке фильтра адаптивного смещения, сохраняют в буфере 213 изображения, и их подают в фильтр 42 адаптивного контура в определенные моменты времени.
Процесс записи коэффициента
Далее, со ссылкой на блок-схему последовательности операций на фиг. 15, будет описан процесс записи коэффициента, выполняемый на этапе S214 по фиг. 14. Следует отметить, что фиг. 16 относится к описанию процесса записи коэффициента.
Как представлено на фиг. 16, буфер 215 смещения включает в себя два буфера, то есть, буфер 215-1 ЕО, в котором содержатся коэффициенты для смещения кромки, и в буфер 215-2, в котором содержатся коэффициенты для смещения полосы.
В буфере 215-1 ЕО и в буфере 215-2 ВО содержатся коэффициенты, начиная от положения, которое ближе к началу (левой стороны). В буфере 215-1 ЕО и в буфере 215-2 ВО положение, отмеченное индексом копии (idx), представляет собой область, где коэффициент был уже записан, и положение, отмеченное, как "пустое", представляет собой доступную область.
Таким образом, в буфере ЕО 215-1, коэффициенты были уже записаны в положении, отмеченном индексом копии (idx)=1, положении, отмеченном индексом копии =2, положении, отмеченном индексом копии =3, и положении, отмеченном индексом копии =4.
Например, в буфере 215-2 ВО коэффициенты уже были записаны в положении, отмеченном индексом копии (idx)=1, и положении, отмеченном индексом копии =2.
На этапе S231 на фиг. 15, модуль 217 записи коэффициента определяет, является или нет ЕО индекс, переданный из модуля 216 установки параметра (смещение кромки).
Если на этапе S231 определяется, что тип индекса представляет собой ЕО (смещение кромки), на этапе S232, модуль 217 записи коэффициента выбирает буфер 215-1 ЕО.
Если на этапе S231 определяют, что индекс типа не представляет собой ЕО (смещение кромки), то есть, индекс типа представляет собой смещение полосы на этапе S233, модуль 217 записи коэффициента выбирает буфер 215-2 ВО.
На этапе S234, модуль 217 записи коэффициента записывает sao_offset (смещение) в доступную область, которая близка к началу в выбранном буфере.
Например, как представлено на фиг. 16, если индекс типа (sao_type_idx) равен 5, индекс типа обозначает смещение полосы. Таким образом, на этапе S233, выбирают буфер 215-2 ВО. Затем, на этапе S234, записывают sao_offset (смещение) с индексом типа 5 в положении справа, рядом с положением, отмеченным индексом копии =2. Таким образом, положение справа, рядом с положением, отмеченным индексом копии =2, представляет собой область, которая близка к началу среди доступных областей.
Пример конфигурации фильтра адаптивного смещения
На фиг. 17 показана блок-схема, иллюстрирующая пример конфигурации модуля декодирования без потерь и фильтра адаптивного смещения в устройстве декодирования изображения на фиг. 3.
В примере на фиг. 17, модуль 62 декодирования без потерь построен так, чтобы он включал в себя, по меньшей мере, модуль 251 считывания синтаксиса.
Фильтр 81 адаптивного смещения построен так, чтобы он включал в себя модуль 261 приема параметра, модуль 262 считывания коэффициента, буфер 263 смещения, модуль 264 записи коэффициента, модуль 265 обработки смещения и буфер 266 изображения.
Модуль 251 считывания синтаксиса считывает синтаксис из участка заголовка кодированного потока и подает параметры адаптивного смещения в модуль 261 приема параметра.
Следует отметить, что, как также описано выше со ссылкой на сторону кодера, если флаг копии имеет значение true, параметры адаптивного смещения включают в себя флаг копии, индекс типа и индекс копии. Если флаг копии имеет значение false, параметры адаптивного смещения включают в себя флаг копии, индекс типа и смещение.
Модуль 261 приема параметра принимает параметры адаптивного смещения, переданные из модуля 251 считывания синтаксиса, и подает параметры адаптивного смещения в модуль 262 считывания коэффициента.
Модуль 262 считывания коэффициента определяет, равен или нет индекс типа 0. Если индекс типа равен 0, модуль 262 считывания коэффициента не обеспечивает выполнение фильтрации адаптивного смещения модулем 265 обработки смещения.
Если флаг копии имеет значение true, модуль 262 считывания коэффициента считывает смещение из положения, обозначенного индексом копии буфера типа, обозначенного индексом типа. Модуль 262 считывания коэффициента подает считанное значение смещение и индекс типа в модуль 265 обработки смещения.
Если флаг копии имеет значение false, модуль 262 считывания коэффициента подает смещение и индекс типа в модуль 265 обработки смещения. В этом случае, модуль 262 считывания коэффициента также подает смещение и индекс типа в модуль 264 записи коэффициента, и обеспечивает запись этого смещения в буфер 263 смещения.
Буфер 263 смещения имеет конфигурацию, аналогичную конфигурации буфера 215 смещения на фиг. 13. Таким образом, буфер 263 смещения имеет буфер, для сохранения смещения, для смещения кромки, и буфер для сохранения смещения для смещения полосы. Буфер 263 смещения построен, например, по принципу FIFO.
Модуль 264 записи коэффициента, в принципе, имеет такую конфигурацию, как и модуля 217 записи коэффициента на фиг. 13. Таким образом, модуль 264 записи коэффициента записывает смещение, переданное из модуля 262 считывания коэффициента, в доступную область, которая ближе к началу среди доступных областей в буфере типа, обозначенном по индексу типа, переданному из модуля 262 считывания коэффициента в пределах буфера 263 смещения.
Модуль 265 обработки смещения имеет, в принципе, конфигурацию аналогичную модулю 212 обработки смещения по фиг. 13. Таким образом, модуль 265 обработки смещения выполняет обработку фильтра адаптивного смещения для значений пикселя с удаленной блочностью, переданных из фильтра 66 удаления блочности, для каждого LCU, используя тип и смещение, обозначенное индексом типа смещения, переданным из модуля 262 считывания коэффициента. Модуль 265 обработки смещения подает значения пикселя, которые были подвергнуты обработке смещения, в буфер 266 изображения.
Следует отметить, что, если индекс типа равен 0, модуль 265 обработки смещения подает фильтрованные пиксели, переданные из фильтра 66 удаления блочности, в буфер 266 изображения в том виде, как они есть. Таким образом, в этом случае, не выполняется процесс фильтра адаптивного смещения.
Буфер 266 изображения имеет, в основном, аналогичную конфигурацию, как и у буфера 213 изображения по фиг. 13. Таким образом, буфер 266 изображения временно сохраняет значения пикселя, которые были подвергнуты обработке смещения модулем 265 обработки смещения, и подает эти значения пикселя в фильтр 82 адаптивного контура в определенные моменты времени.
Процесс фильтра адаптивного смещения на стороне декодера
Далее будет описан процесс фильтра адаптивного смещения, выполняемый фильтром 81 адаптивного смещения по фиг. 17, со ссылкой на блок-схему последовательности операций на фиг. 18. Следует отметить, что этот процесс фильтра адаптивного смещения представляет собой процесс на этапе S59 по фиг. 4.
На этапе S52, на фиг. 4, когда кодированный поток требуется декодировать, модуль 251 считывания синтаксиса считывает синтаксис из участка заголовка кодированного потока, и подает параметры адаптивного смещения в синтаксисе в модуль 261 приема параметра.
На этапе S251, модуль 261 приема параметра принимает параметры адаптивного смещения, переданные из модуля 251 считывания синтаксиса, и подает параметры адаптивного смещения в модуль 262 считывания коэффициента.
На этапе S252, модуль 262 считывания коэффициента определяет, равен или нет 0 индекс типа (sao_type_idx).
Если на этапе S252 определяют, что индекс типа равен 0, процесс фильтра адаптивного смещения заканчивается. Таким образом, в этом случае, процесс фильтра адаптивного смещения не выполняется, и модуль 265 обработки смещения подает отфильтрованные пиксели, переданные из фильтра 66 удаления блочности, в буфер 266 изображения, в том виде, как они есть.
Если на этапе S252 определяют, что индекс типа не равен 0, на этапе S253, модуль 262 считывания коэффициента определяет, имеет или нет флаг копии (copy_flag) значение true.
Если на этапе S253 определяют, что флаг копии имеет значение true, на этапе S254, модуль 262 считывания коэффициента выполняет процесс считывания коэффициента (смещение). Этот процесс считывания коэффициента будет описан ниже со ссылкой на фиг. 19.
В ходе процесса, описанного выше, смещение считывают из положения, обозначенного индексом копии буфера типа, обозначенного по индексу типа. Модуль 262 считывания коэффициента подает считанное смещение и индекс типа в модуль 265 обработки смещения.
С другой стороны, если на этапе S253 определяют, что флаг копии не имеет значение true, модуль 262 считывания коэффициента подает смещение и индекс типа, переданный из модуля 261 приема параметра в модуль 265 обработки смещения.
Затем, на этапе S255, модуль 262 считывания коэффициента также подает смещение и индекс типа, переданные из модуля 261 приема параметра, в модуль 264 записи коэффициента, и обеспечивает выполнение процесса записи коэффициента для буфера 263 смещения. Этот процесс записи коэффициента, в основном, является таким же процессом, как и процесс записи коэффициента, описанный выше со ссылкой на фиг. 15, и его описание здесь, таким образом, исключено.
На этапе S256, модуль 265 обработки смещения выполняет процесс фильтра адаптивного смещения для значений пикселя с удаленной блочностью, переданных из фильтра 66 удаления блочности, для каждого LCU, используя тип и смещение, обозначенные индексом типа, переданным из модуля 262 считывания коэффициента. Модуль 265 обработки смещения подает значения пикселя, которые были подвергнуты обработке смещения, в буфер 266 изображения.
Процесс считывания коэффициента
Далее, со ссылкой на блок-схему последовательности операций на фиг. 19, будет описан процесс считывания коэффициента на этапе S254 по фиг. 18. Следует отметить, что фиг. 20 относится к описанию процесса считывания коэффициента.
Как представлено на фиг. 20, буфер 263 смещения включает в себя два буфера, то есть, буфер 263-1 ЕО, в котором содержатся коэффициенты для смещения кромки, и буфер 263-2 ВО, в котором содержатся коэффициенты для смещения полосы.
В буфере 263-1 ЕО и в буфере 263-2 ВО сохраняют коэффициенты, начиная с положения, которое ближе к началу (левая сторона). В буфере 263-1 ЕО и в буфере 263-2 ВО положение, отмеченное индексом копии (idx), представляет собой область, где коэффициенты уже был записаны, и другие положения представляют собой доступные области.
Таким образом, в буфере 263-1 ЕО, коэффициенты уже записаны были в положении, отмеченном индексом (idx)=1 копии, в положении, отмеченном индексом =2 копии, в положении, отмеченном индексом =3 копии, и в положении, отмеченном индексом =4 копии.
Например, в буфер 263-2 ВО, коэффициенты уже были записаны в положении, отмеченном индексом (idx)=1 копии в положении, отмеченном индексом =2 копии, в положении, отмеченном индексом =3 копии, и в положении, отмеченном индексом =4 копии.
На этапе S271, на фиг. 19, модуль 262 считывания коэффициента определяет, является ли индекс типа, переданный из модуля 261 приема параметра, ЕО (смещением кромки).
Если определяют на этапе S271, что индекс типа представляет собой ЕО (смещение кромки), на этапе S272, модуль 262 считывания коэффициента выбирает буфер 263-1 ЕО.
Если на этапе S271 определяют, что индекс типа не является ЕО (смещение кромки), то есть, индекс типа представляет собой смещение полосы, на этапе S273, модуль 262 считывания коэффициента выбирает буфер 263-2 ВО.
На этапе S274, модуль 262 считывания коэффициента считывает sao_offset (смещение) из положения, обозначенного индексом копии (copy_idx) в выбранном буфере.
Например, как представлено на фиг. 20, если индекс типа (sao_type_idx) равен 5, индекс типа обозначает смещение полосы. Таким образом, на этапе S273, выбирают буфер 263-2 ВО. Затем, на этапе S274, sao_offset (смещение) считывают из положения, отмеченного индексом =3 копии.
Как описано выше, фильтрацию адаптивного смещения выполняют в модулях LCU, которые представляют собой наибольший модуль кодирования, и параметры фильтра адаптивного смещения, которые передают в одной партии в начале кадра предшествующего уровня техники, последовательно передают в начале каждого LCU. Таким образом, в то время как буфер с емкостью, соответствующей одному кадру, требуется в предшествующем уровне техники, можно использовать буфер с уменьшенной емкостью, соответствующей LCU.
Кроме того, флаг копии и индекс копии передают на сторону декодера, и коэффициент, который уже использовался, не передают, предотвращая, таким образом, увеличение количества передаваемых коэффициентов, что связано с передачей коэффициента для каждого LCU.
Кроме того, фильтрация адаптивного смещения и фильтрация адаптивного контура могут быть выполнены в модулях одного LCU. В соответствии с этим, эффективность обработка может быть улучшена.
Кроме того, область разделяют на модули LCU, увеличивая, таким образом, гибкость при разделении, по сравнению с тем, что основано на структуре квадродерева в предшествующем уровне техники. Фильтрация адаптивного смещения может быть выполнена в соответствии с характеристиками входного изображения.
Следует отметить, что в представленном выше описании, буфер 215 смещения и буфер 263 смещения построены по принципам FIFO, в качестве примера. Однако, FIFO не установлен в ограничительном смысле. Таким образом, конфигурация буфера 215 смещения и буфера 263 смещения может быть любой другой конфигурацией буфера, пока такая же конфигурация используется на стороне кодера и на стороне декодера.
Выше представлена схема HEVC, которая, в основном, используется, как схема кодирования. Однако, настоящее раскрытие не ограничено этим, и может применяться любая другая схема кодирования/схема декодирования, включая в себя, по меньшей мере, фильтрацию адаптивного смещения, как фильтрацию в контуре.
Следует отметить, что настоящее раскрытие может применяться в устройстве кодирования изображения и устройстве декодирования изображения, которые используются для приема информации изображения (потока битов), сжатой используя ортогональное преобразование, такое как дискретное косинусное преобразование, и компенсация движения, например, аналогично схеме HEVC и т.п., через сетевую среду, такую как спутниковая широковещательная передача, кабельное телевидение, Интернет или мобильный телефон. Настоящее раскрытие, кроме того, может применяться в устройстве кодирования изображения и в устройстве декодирования изображения при обработке на носителе сохранения информации, таком как оптический диск, магнитный диск и запоминающее устройство флэш.
4. Второй вариант осуществления
Применение для кодирования многопроекционного изображения/декодирования многопроекционного изображения
Последовательность обработки, описанная выше, может применяться для кодирования многопроекционного изображения и декодирования многопроекционного изображения. На фиг. 21 иллюстрируется пример схемы кодирования многопроекционного изображения.
Как представлено на фиг. 21, многопроекционные изображения включают в себя изображения, снятые из множества точек обзора, и изображение из определенной одной из множества точек обзора, обозначено, как изображение основного обзора. Другие изображения, кроме изображения основного обзора, обрабатывают, как изображения, не являющиеся изображениями основного обзора.
В случае, когда выполняют кодирование многопроекционного изображения, как на фиг. 21, параметры фильтра адаптивного смещения (флаг копии, индекс копии и т.д.) могут быть установлены в каждой проекции (в одной и той же проекции). Кроме того, в каждой проекции (разных проекциях), могут совместно использоваться параметры фильтра адаптивного смещения, установленные в другой проекции.
В этом случае, параметры фильтра адаптивного смещения, установленные в основной проекции, используются, по меньшей мере, в одной из не основных проекций. В качестве альтернативы, например, параметры фильтра адаптивного смещения, установленные в не основной проекции (view_id=i), используются, по меньшей мере, в одной из основной проекции и не основной проекции (view_id=j).
В соответствии с этим, может быть улучшена эффективность обработки.
Устройство кодирования многопроекционного изображения
На фиг. 22 представлена схема, иллюстрирующая устройство кодирования многопроекционного изображения для выполнения операции кодирования многопроекционного изображения, описанного выше. Как представлено на фиг. 22, устройство 600 кодирования многопроекционного изображения включает в себя модуль 601 кодирования, модуль 602 кодирования и модуль 603 мультиплексирования.
Модуль 601 кодирования кодирует изображение основной проекции для генерирования потока кодированного изображения основной проекции. Модуль 602 кодирования кодирует изображение не основной проекции для генерирования кодированного потока изображения не основной проекции. Модуль 603 мультиплексирования мультиплексирует кодированный поток изображения основной проекции, генерируемый модулем 601 кодирования, и кодированный поток изображения не основной проекции, генерируемый модулем 602 кодирования, для генерирования кодированного потока многопроекционного изображения.
Устройство 11 кодирования изображения (фиг. 1) может использоваться для каждого из модуля 601 кодирования и модуля 602 кодирования устройства 600 кодирования многопроекционного изображения. В этом случае, устройство 600 кодирования многопроекционного изображения устанавливает параметры фильтра адаптивного смещения, установленные модулем 601 кодирования, и параметры фильтра адаптивного смещения, установленные модулем 602 кодирования, и передает установленные параметры фильтра адаптивного смещения.
Следует отметить, что, как описано выше, параметры фильтра адаптивного смещения, установленные модулем 601 кодирования, могут быть установлены так, чтобы их можно было совместно использовать, и они могли бы использоваться модулем 601 кодирования и модулем 602 кодирования, и их можно было бы передавать. И, наоборот, параметры фильтра адаптивного смещения, совместно установленные модулем 602 кодирования, могут быть установлены так, чтобы можно было их совместно использовать, и они могли бы использоваться модулем 601 кодирования и модулем 602 кодирования, и их можно было передавать.
Устройство декодирования многопроекционного изображения
На фиг. 23 показана схема, иллюстрирующая устройство декодирования многопроекционного изображения, предназначенное для выполнения операции декодирования многопроекционного изображения, описанной выше. Как показано на фиг. 23, устройство 610 декодирования многопроекционного изображения включает в себя модуль 611 демультиплексирования, модуль 612 декодирования и модуль 613 декодирования.
Модуль 611 демультиплексирования демультиплексирует кодированный поток многопроекционного изображения, в котором были мультиплексированы кодированный поток изображения основной проекции и кодированный поток изображения не основной проекции, и выделяет кодированный поток изображения основной проекции и кодированный поток изображения не основной проекции. Модуль 612 декодирования декодирует кодированный поток изображения основной проекции, выделенный модулем 611 демультиплексирования, для получения изображения основной проекции. Модуль 613 декодирования декодирует кодированный поток изображения не основной проекции, выделенный модулем 611 демультиплексирования, для получения изображения не основного обзора.
Устройство 51 декодирования изображения (фиг. 3) можно использовать для каждого из модуля 612 декодирования и модуля 613 декодирования устройства 610 декодирования многопроекционного изображения. В этом случае, устройство 610 декодирования многопроекционного изображения выполняет обработку, используя параметры фильтра адаптивного смещения, установленные модулем 601 кодирования и декодированные модулем 612 декодирования, и параметры фильтра адаптивного смещения, установленные модулем 602 кодирования и декодированные модулем 613 декодирования.
Следует отметить, что, как описано выше, в некоторых случаях, параметры фильтра адаптивного смещения, установленные модулем 601 кодирования (или модулем 602 кодирования), могут быть установлены так, чтобы их можно было совместно использовать, и они могли использоваться модулем 601 кодирования и модулем 602 кодирования, и они могли бы быть переданы. В таких случаях, в устройстве 610 декодирования многопроекционного изображения, выполняют обработку, используя параметры фильтра адаптивного смещения, установленные модулем 601 кодирования (или модулем 602 кодирования), и декодированные модулем 612 декодирования (или модулем 613 декодирования).
5. Третий вариант осуществления
Применение для кодирования многослойного изображения/декодирования многослойного изображения
Последовательность обработки, описанная выше, может применяться для кодирования многослойного изображения и декодирования многослойного изображения. На фиг. 24 иллюстрируется пример схемы кодирования многослойного изображения.
Как представлено на фиг. 24, многослойные изображения включают в себя изображения множества слоев (разрешений) и изображение некоторого из множества разрешений обозначено, как изображение основного слоя. Другие изображения, кроме изображения основного слоя обрабатывают, как изображения не основных слоев (также называются слоями улучшения).
В случае, когда выполняют кодирование многослойного изображения (пространственная масштабируемость), как на фиг. 24, могут быть установлены параметры фильтра адаптивного смещения в каждом слое (в том же слое). Кроме того, в каждом слое (разных слоях), также могут совместно использоваться параметры фильтра адаптивного смещения, установленные в другом слое.
В этом случае, параметры фильтра адаптивного смещения, установленные в основном слое, используются, по меньшей мере, в одном не основном слое. В качестве альтернативы, например, параметры фильтра адаптивного смещения, установленные в не основном слое (layer_id=i), используются, по меньшей мере, в одном из основного слоя и не основного слоя (layer_id=j).
В соответствии с этим, может быть улучшена эффективность обработки.
Устройство кодирования многослойного изображения
На фиг. 25 представлена схема, иллюстрирующая устройство кодирования многослойного изображения, предназначенное для выполнения операции кодирования многослойного изображения, описанного выше. Как показано на фиг. 25, устройство 620 кодирования многослойного изображения включает в себя модуль 621 кодирования, модуль 622 кодирования и модуль 623 мультиплексирования.
Модуль 621 кодирования кодирует изображение основного слоя для генерирования потока кодированного изображения основного слоя. Модуль 622 кодирования кодирует изображение не основного слоя для генерирования кодированного потока изображения не основного слоя. Модуль 623 мультиплексирования мультиплексирует поток кодированного изображения основного слоя, сгенерированный модулем 621 кодирования, и поток кодированного изображения не основного слоя, сгенерированный модулем 622 кодирования, для генерирования потока кодированного многослойного изображения.
Устройство И кодированного изображения (фиг. 1) может использоваться для каждого из модуля 621 кодирования и модуля 622 кодирования устройства 620 кодирования многослойного изображения. В этом случае, устройство 620 кодирования многослойного изображения устанавливает параметры фильтра адаптивного смещения, установленные модулем 621 кодирования, и параметры фильтра адаптивного смещения, установленные модулем 602 кодирования, и передает установленные параметры фильтра адаптивного смещения.
Следует отметить, что, как описано выше, параметры фильтра адаптивного смещения, установленные модулем 621 кодирования, могут быть установлены так, чтобы их можно было совместно использовать, и они могли бы использоваться модулем 621 кодирования и модулем 622 кодирования, и их можно было передавать. И, наоборот, параметры фильтра адаптивного смещения, установленные модулем 622 кодирования, могут быть установлены так, чтобы их можно было совместно использовать, и они могли бы использоваться модулем 621 кодирования и модулем 622 кодирования, и их можно было передавать.
Устройство декодирования многослойного изображения
На фиг. 26 показана схема, иллюстрирующая устройство декодирования многослойного изображения, предназначенное для выполнения операции декодирования многослойного изображения, описанного выше. Как представлено на фиг. 26, устройство 630 декодирования многослойного изображения включает в себя модуль 631 демультиплексирования, модуль 632 декодирования и модуль 633 декодирования.
Модуль 631 демультиплексирования демультиплексирует поток кодированного многослойного изображения, в котором были мультиплексированы поток кодированного изображения основного слоя и поток кодированного изображения не основного слоя, и выделяет поток кодированного изображения основного слоя и поток кодированного изображения не основного слоя. Модуль 632 декодирования декодирует поток кодированного изображения основного слоя, выделенный модулем 631 демультиплексирования, для получения изображения основного слоя. Модуль 633 декодирования декодирует поток кодированного изображения не основного слоя, выделенный модулем 631 демультиплексирования, для получения изображения не основного слоя.
Устройство 51 декодирования изображения (фиг. 3) может использоваться для каждого из модуля 632 декодирования и модуля 633 декодирования устройство 630 декодирования многослойного изображения. В этом случае, устройство 630 декодирования многослойного изображения выполняет обработку, используя параметры фильтра адаптивного смещения, установленные модулем 621 кодирования и декодированные модулем 632 декодирования, и параметры фильтра адаптивного смещения, установленные модулем 622 кодирования и декодированные модулем 633 декодирования.
Следует отметить, что, как описано выше, в некоторых случаях, параметры фильтра адаптивного смещения, установленные модулем 621 кодирования (или модулем 622 кодирования), могут быть установлены так, чтобы их можно было совместно использовать, и они могли бы использоваться модулем 621 кодирования и модулем 622 кодирования, и они могли быть переданы. В этом случае, в устройстве 630 декодирования многослойного изображения, обработку выполняют, используя параметры фильтра адаптивного смещения, установленные модулем 621 кодирования (или модулем 622 кодирования) и декодированные модулем 632 декодирования (или модулем 633 декодирования).
6. Четвертый вариант осуществления
Пример конфигурации компьютера
Последовательность процессов, описанных выше, может исполняться с использованием аппаратных средств или может выполняться программным средством. Если последовательность обработки должна быть выполнена программными средствами, программу, составляющую программное обеспечение, устанавливают в компьютере. Здесь примеры компьютера включают в себя компьютер, внедренный в специализированные аппаратные средства, и компьютер, выполненный с возможностью исполнения различных функций, путем установки различных программ, например, персональный компьютер общего назначения.
На фиг. 27 показана блок-схема, иллюстрирующая пример конфигурации аппаратных средств компьютера, который выполняет последовательность обработки, описанную выше, в соответствии с программой.
В компьютере 800 CPU (центральное процессорное устройство) 801, ROM (постоянное запоминающее устройство) 802 и RAM (оперативное запоминающее устройство) 803 соединены друг с другом через шину 804.
Интерфейс 805 ввода-вывода дополнительно соединен с шиной 804. Модуль 806 ввода, модуль 807 вывода, модуль 808 хранения, модуль 809 связи и привод 810 соединены с интерфейсом 805 ввода-вывода.
Модуль 806 ввода включает в себя клавиатуру, мышь, микрофон и т.д. Модуль 807 вывода включает в себя устройство отображения, громкоговоритель и т.д. Модуль 808 хранения включает в себя жесткий диск, энергонезависимое запоминающее устройство и т.д. Модуль 809 связи включает в себя сетевой интерфейс и т.д. Привод 810 осуществляет привод съемного носителя 811, такого как магнитный диск, оптический диск, магнитооптический диск или полупроводниковое запоминающее устройство.
В компьютере, имеющем конфигурацию, описанную выше, CPU 801 загружает программу, сохраненную, например, в модуле 808 хранения, в RAM 803, через интерфейс 805 ввода-вывода и шину 804, и исполняет программу. В соответствии с этим, выполняется последовательность обработки, описанная выше.
Программа, исполняемая компьютером 800 (CPU 801), может быть предусмотрена в форме записи на съемном носителе 811, например, пакетном носителе записи. Кроме того, программа также может быть предоставлена через проводную или беспроводную среду связи, такую как локальная вычислительная сеть, Интернет или цифровая спутниковая широковещательная передача.
В компьютере съемный носитель 811 записи установлен в приводе 810, обеспечивая, таким образом, возможность установки программы в модуле 808 хранения через интерфейс 805 ввода-вывода. Кроме того, программа может быть принята модулем 809 связи через проводную или беспроводную среду связи, и может быть установлена в модуле 808 хранения. В качестве альтернативы, программа может быть установлена заранее в ROM 802 или в модуль 808 хранения.
Следует отметить, что программа, которую исполняет компьютер, может представлять собой программу, в которой операции обработки выполняют во временной последовательности, в порядке, установленном здесь, или может представлять собой программу, в которой операции обработки выполняются параллельно или в необходимые моменты времени, например, по вызову.
Кроме того, этапы, описывающие программу, сохраненную на носителе записи, как используется здесь, включают в себя, конечно, операции обработки, выполняемые во временной последовательности, в установленном порядке, и операции обработки, исполняемые параллельно или индивидуально, но не обязательно выполняемые во временной последовательности.
Кроме того, термин "система", используемый здесь, относится к общему устройству, включающему в себя множество устройств (устройства).
Кроме того, конфигурация, описанная выше, как одно устройство (или модуль обработки) может быть разделена на множество устройств (или модулей обработки). Наоборот, конфигурация, описанная выше, представляет собой множество устройств (или модулей обработки) может быть скомбинирована в одном устройстве (или в модуле обработки). Кроме того, конечно, конфигурация, другая, чем описана выше, может быть добавлена к конфигурации каждого устройства (или каждого модуля обработки). Кроме того, часть конфигурации определенного устройства (или модуля обработки) может быть включена в конфигурацию другого устройства (или другого модуля обработки), если устройства (или модули обработки) имеют, по существу, такую же конфигурацию и/или выполняют те же операции, с точки зрения всей системы. Другими словами, варианты осуществления настоящей технологии не ограничены представленными вариантами осуществления, и различные модификации могут быть выполнены без выхода за пределы объема настоящей технологии.
Устройство кодирования изображения и устройство декодирования изображения, в соответствии с представленными выше вариантами осуществления, могут применяться в различных частях электронного оборудования, такого как передатчик, или приемник, используемые для связи через спутниковую широковещательную передачу данных, проводную широковещательную передачу данных, такую как кабельное телевидение или Интернет, или могут использоваться для связи в или из терминалов через сотовую сеть связи в устройство записи, для записи изображений на носителе информации, таком как оптический диск, магнитный диск и запоминающее устройство типа флэш, и из устройства воспроизведения, для воспроизведения изображения с таких носителей информации. Четыре примерных варианта осуществления будут описаны ниже.
7. Примерные варианты применения
Первый пример применения: телевизионный приемник
На фиг. 28 иллюстрируется пример схематичной конфигурации телевизионного устройства, в котором применяются описанные выше варианты осуществления. Телевизионное устройство 900 включает в себя антенну 901, тюнер 902, демультиплексор 903, декодер 904, модуль 905 обработки видеосигнала, модуль 906 отображения, модуль 907 обработки аудиосигнала, громкоговоритель 908, внешний интерфейс 909, модуль 910 управления, интерфейс 911 пользователя и шину 912.
Тюнер 902 выделяет сигнал на желательном канале из сигнала широковещательной передачи, принятого через антенну 901, и демодулирует выделенный сигнал. Затем тюнер 902 выводит кодированный поток битов, полученный посредством демодуляции, в демультиплексор 903. Другими словами, тюнер 902 функционирует, как средство передачи в телевизионном устройстве 900, для приема кодированного потока, включающего в себя кодированные изображения.
Демультиплексор 903 демультиплексирует, из кодированного потока битов, видеопоток и аудио поток программы, предназначенной для просмотра, и выводит демультиплексированные потоки в декодер 904. Кроме того, демультиплексор 903 выделяет вспомогательные данные, такие как EPG (Электронная программа передач) из кодированного потока битов, и подает выделенные данные в модуль 910 управления. Следует отметить, что демультиплексор 903 также может дескремблировать кодированный поток битов, если кодированный поток битов был скремблирован.
Декодер 904 декодирует видеопоток и аудио поток, поступающие из демультиплексора 903. Затем декодер 904 выводит видеоданные, сгенерированные в процессе декодирования, в модуль 905 обработки видеосигнала. Декодер 904 дополнительно выводит аудиоданные, сгенерированные в процессе декодирования, в модуль 907 обработки аудиосигнала.
Модуль 905 обработки видеосигнала воспроизводит видеоданные, подаваемые из декодера 904, и обеспечивает отображение видеоизображения в модуле 906 отображения. Модуль 905 обработки видеосигнала также может обеспечивать отображение экрана приложений, передаваемого через сеть, в модуле 906 дисплея. Модуль 905 обработки видеосигнала может дополнительно выполнять дополнительную обработку, такую как удаление шумов, для видеоданных, в соответствии с установками. Кроме того, модуль 905 обработки видеосигнала также может генерировать изображение GUI (графический интерфейс пользователя), такое как меню, кнопка или курсор, и накладывать генерируемое изображение на выходное изображение.
Модуль 906 отображения управляется сигналом управления, подаваемым из модуля 905 обработки видеосигнала, и отображает видеоданные или изображение на видеоповерхности устройства отображения (такого как жидкокристаллический дисплей, плазменный дисплей или OELD (дисплей органической электролюминесценции) (дисплей органической EL)).
Модуль 907 обработки аудиосигнала выполняет обработку воспроизведения, включающую в себя D/A преобразование, усиление и т.д. аудиоданных, вводимых из декодера 904, и обеспечивает вывод звука из громкоговорителя 908. Модуль 907 обработки аудиосигнала может дополнительно выполнять дополнительную обработку, такую как удаление шумов, для аудиоданных.
Внешний интерфейс 909 представляет собой интерфейс для подключения телевизионного устройства 900 к внешнему устройству или сети. Например, видеопоток или аудиопоток, принимаемый через внешний интерфейс 909, может быть декодирован декодером 904. Другими словами, внешний интерфейс 909 также функционирует, как средство передачи, в телевизионном устройстве 900 для приема кодированного потока, включающего в себя кодированные изображения.
Модуль 910 управления включает в себя процессор, такой как CPU, и запоминающие устройства, такие как RAM и ROM. В запоминающем устройстве содержится программа для выполнения CPU, данные программы, данные EPG, данные, полученные через сеть, и т.д. Программы, сохраненные в запоминающих устройствах, считывают и исполняют с помощью CPU, когда, например, включают телевизионное устройство 900. CPU исполняет программу для управления операциями телевизионного устройства 900, в соответствии, например, с сигналом операции, поступающим из интерфейса 911 пользователя.
Интерфейс 911 пользователя соединен с модулем 910 управления. Интерфейс 911 пользователя включает в себя, например, кнопки и переключатели, которые позволяют пользователю выполнять операции с телевизионным устройством 900, модулем приема для сигнала пульта дистанционного управления и т.д. Интерфейс 911 пользователя обнаруживает операцию пользователя через описанные выше компоненты для генерирования сигнала операции, и выводит сгенерированный сигнал операции в модуль 910 управления.
Шина 912 используется для подключения тюнера 902, демультиплексора 903, декодера 904, модуля 905 обработки видеосигнала, модуля 907 обработки аудиосигнала, внешнего интерфейса 909 и модуля 910 управления друг к другу.
В телевизионном устройстве 900, имеющем описанную выше конфигурацию, декодер 904 имеет функцию устройства декодирования изображения, в соответствии с описанными выше вариантами осуществления. В соответствии с этим, эффективность обработки может быть улучшена, когда телевизионное устройство 900 декодирует изображение.
Второй пример применения: мобильный телефон
На фиг. 29 иллюстрируется пример схематичной конфигурации мобильного телефона, в котором применяются описанные выше варианты осуществления. Мобильный телефон 920 включает в себя антенну 921, модуль 922 связи, аудиокодек 923, громкоговоритель 924, микрофон 925, модуль 926 камеры, модуль 927 обработки изображений, модуль 928 мультиплексирования/демультиплексирования, модуль 929 записи/воспроизведения, модуль 930 отображения, модуль 931 управления, модуль 932 оперирования и шину 933.
Антенна 921 соединена с модулем 922 связи. Громкоговоритель 924 и микрофон 925 соединены с аудиокодеком 923. Модуль 932 оперирования соединен с модулем 931 управления. Шина 933 используется для соединения модуля 922 связи, аудиокодека 923, модуля 926 камеры, модуля 927 обработки изображений, модуля 928 мультиплексирования/демультиплексирования, модуля 929 записи/воспроизведения, модуля 930 отображения и модуля 931 управления друг с другом.
Мобильный телефон 920 выполняет операции, такие как передача и прием аудиосигнала, передача и прием электронной почты или данных изображения, съемка изображения и запись данных, в различных режимах работы, включая в себя режим голосового вызова, режим связи, режим съемки изображения и режим видеофона.
В режиме голосового вызова аналоговый аудиосигнал, генерируемый микрофоном 925, подают в аудиокодек 923. Аудиокодек 923 преобразует аналоговый аудиосигнал в аудиоданные, и выполняет A/D преобразование и сжатие преобразованных аудиоданных. Аудиокодек 923 затем выводит сжатые аудиоданные в модуль 922 связи. Модуль 922 связи кодирует и модулирует аудиоданные, и генерирует сигнал передачи. Модуль 922 связи затем передает сгенерированный сигнал передачи в базовую станцию (не показана) через антенну 921. Далее, модуль 922 связи усиливает радиосигнал, принятый через антенну 921, и выполняет преобразование частоты для усиленного сигнала для получения сигнала приема. Затем модуль 922 связи демодулирует и декодирует сигнал приема для генерирования аудиоданных, и выводит сгенерированные аудиоданные в аудиокодек 923. Аудиокодек 23 расширяет аудиоданные, и выполняет D/A преобразование для генерирования аналогового аудиосигнала. Аудиокодек 923 затем подает сгенерированный аудиосигнал в громкоговоритель 924, для обеспечения вывода звука.
Кроме того, в режиме связи, например, модуль 931 управления генерирует текстовые данные, которые формируют электронную почту, в соответствии с операцией пользователя, через модуль 932 операций. Кроме того, модуль 931 управления обеспечивает отображение текста в модуле 930 отображения. Модуль 931 управления дополнительно генерирует данные электронной почты, в соответствии с инструкцией передачи, заданной пользователем, через модуль 932 операций, и выводит сгенерированные данные электронной почты в модуль 922 связи. Модуль 922 связи кодирует и модулирует данные электронной почты для генерирования сигнала передачи. Затем модуль 922 связи передает сгенерированный сигнал передачи в базовую станцию (не показана) через антенну 921. Кроме того, модуль 922 связи усиливает радиосигнал, принятый через антенну 921, и выполняет преобразование частоты для усиленного сигнала, для получения сигнала приема. Затем модуль 922 связи демодулирует и декодирует сигнал приема для восстановления данных электронной почты, и выводит восстановленные данные электронной почты в модуль 931 управления. Модуль 931 управления обеспечивает отображение содержания электронной почты в модуле 930 отображения, и также обеспечивает хранение данных электронной почты на носителе сохранения информации модуля 929 записи/воспроизведения.
Модуль 929 записи/воспроизведения включает в себя требуемый носитель хранения, выполненный с возможностью считывания/записи информации. Носитель хранения информации может, например, представлять собой встроенный носитель хранения информации, такой как RAM или запоминающее устройство флэш, или внешний носитель хранения, такой как жесткий диск, магнитный диск, магнитооптический диск, оптический диск, запоминающее устройство USB (двоичное отображение незанятого пространства) или карту памяти.
Кроме того, в режиме съемки изображения, например, модуль 926 камеры снимает изображение объекта для генерирования данных изображения и выводит сгенерированные данные изображения в модуль 927 обработки изображений. Модуль 927 обработки изображений кодирует данные изображения, вводимые из модуля 926 камеры, и обеспечивает сохранение кодированного потока на носителе хранения модуля 929 записи/воспроизведения.
Кроме того, в режиме видеофона, например, модуль 928 мультиплексирования/демультиплексирования мультиплексирует видеопоток, кодированный модулем 927 обработки изображений, и аудиопоток, вводимые из аудиокодека 923, и выводит мультиплексированный поток в модуль 922 связи. Модуль 922 связи кодирует и модулирует поток, для генерирования сигнала передачи. Затем модуль 922 связи передает сгенерированный сигнал передачи в базовую станцию (не показана) через антенну 921. Далее, модуль 922 связи усиливает радиосигнал, принятый через антенну 921, и выполняет преобразование частоты для усиленного сигнала, для получения сигнала приема. Сигнал передачи и сигнал приема могут включать в себя кодированный поток битов. Затем модуль 922 связи демодулирует и декодирует сигнал приема для восстановления потока, и выводит восстановленный поток в модуль 928 мультиплексирования/демультиплексирования. Модуль 928 мультиплексирования/ демультиплексирования демультиплексирует из входного потока поток видеоданных и аудиопоток, и выводит видеопоток и аудиопоток в модуль 927 обработки изображений и в аудиокодек 923, соответственно. Модуль 927 обработки изображений декодирует видеопоток для генерирования видеоданных. Видеоданные подают в модуль 930 отображения, и последовательность изображений отображают с помощью модуля 930 отображения. Аудиокодек 923 расширяет аудиопоток, и выполняет D/A преобразование для генерирования аналогового аудиосигнала. Аудиокодек 923 затем подает сгенерированный аудиосигнал в громкоговоритель 924, для обеспечения вывода звука.
В мобильном телефоне 920, имеющем описанную выше конфигурацию, модуль 927 обработки изображений имеет функцию устройства кодирования изображения и устройства декодирования изображения, в соответствии с описанными выше вариантами осуществления. В соответствии с этим, эффективность обработки может быть улучшена, когда мобильный телефон 920 кодирует и декодирует изображение.
Третий пример применения: устройство записи/воспроизведения
На фиг. 30 иллюстрируется пример схематической конфигурации устройства записи/воспроизведения, в котором применяются описанные выше варианты осуществления. Устройство 940 записи/воспроизведения кодирует, например, аудиоданные и видеоданные принятой программы широковещательной передачи, и записывает кодированные аудиоданные и видеоданные на носителе записи. Кроме того, устройство 940 записи/воспроизведения также может кодировать аудиоданные и видеоданные, полученные, например, из другого устройства, и записывать кодированные аудиоданные и видеоданные на носителе записи. Кроме того, устройство 940 записи/воспроизведений воспроизводит данные, записанные на носителе записи, используя монитор и громкоговоритель, в соответствии, например, с инструкцией, заданной пользователем. В таком случае, устройство 940 записи/воспроизведения декодирует аудиоданные и видеоданные.
Устройство 940 записи/воспроизведения включает в себя тюнер 941, внешний интерфейс 942, кодер 943, HDD (привод жесткого диска) 944, привод 945 диска, селектор 946, декодер 947, OSD (индикация меню на экране) 948, модуль 949 управления и интерфейс 950 пользователя.
Тюнер 941 выделяет сигнал в требуемом канале из сигнала широковещательной передачи, принятого через антенну (не показана), и демодулирует выделенный сигнал. Тюнер 941 затем выводит кодированный поток битов, полученный в результате демодуляции, в селектор 946. Другими словами, тюнер 941 функционирует, как средство передачи, в устройстве 940 записи/воспроизведения.
Внешний интерфейс 942 представляет собой интерфейс для подключения устройства 940 записи/воспроизведения к внешнему устройству или сети. Внешний интерфейс 942 может представлять собой, например, интерфейс IEEE 1394, сетевой интерфейс, интерфейс USB, интерфейс запоминающего устройства флэш и т.п. Например, видеоданные и аудиоданные, принятые через внешний интерфейс 942, вводят в кодер 943. Другими словами, внешний интерфейс 942 функционирует, как средство передачи, в устройстве 940 записи/воспроизведения.
Кодер 943 кодирует видеоданные и аудиоданные, вводимые из внешнего интерфейса 942, если видеоданные и аудиоданные не были кодированы. Кодер 943 затем выводит кодированный поток битов в селектор 946.
HDD 944 записывает кодированный поток битов, включающий в себя сжатые данные содержания, такие как видео и аудиоданные, различные программы и другие данные, на внутреннем жестком диске. Кроме того, HDD 944 считывает описанные выше данные с жесткого диска при воспроизведении видео и аудиоданных.
Привод 945 диска записывает и считывает данные на и с носителя записи, установленного на него. Носитель записи, установленный в привод 945 диска, может, например, представлять собой диск DVD (такой как DVD Видео, DVD-RAM, DVD-R, DVD-RW, DVD+R или DVD+RW), диск Blu-ray (зарегистрированный товарный знак) и т.п.
Селектор 946 выбирает кодированный поток битов, подаваемый из тюнера 941 или кодера 943, при записи видео- и аудиоданных, и выводит выбранный кодированный поток битов в HDD 944 или в привод 945 диска. При воспроизведении видео- и аудиоданных селектор 946 выводит кодированный поток битов, подаваемый из HDD 944, или из привода 945 диска в декодер 947.
Декодер 947 декодирует кодированный поток битов, для генерирования видеоданных и аудиоданных. Декодер 947 затем выводит сгенерированные видеоданные в OSD 948. Декодер 904 дополнительно выводит сгенерированные аудиоданные во внешний громкоговоритель.
OSD 948 воспроизводит видеоданные, вводимые из декодера 947, и отображает видеоизображение. Кроме того, OSD 948 также может накладывать изображение GUI, такое как меню, кнопка или курсор на видеоизображение, предназначенное для отображения.
Модуль 949 управления включает в себя процессор, такой как CPU, и запоминающие устройства, такие как RAM и ROM. В запоминающих устройствах содержится программа, предназначенная для исполнения в CPU, данные программы и т.д. Программа, сохраненная в запоминающих устройствах, считывается и исполняется CPU, когда, например, устройство 940 записи/воспроизведения запускают.CPU исполняет программу для управления операцией устройства 940 записи/воспроизведения, в соответствии, например, с сигналом операции, вводимым из интерфейса 950 пользователя.
Интерфейс 950 пользователя соединен с модулем 949 управления. Интерфейс 950 пользователя включает в себя, например, кнопки и переключатели, которые позволяют пользователю выполнять операции с устройством 940 записи/воспроизведения, модуль приема для сигнала пульта дистанционного управления и т.д. Интерфейс 950 пользователя обнаруживает операции пользователя через описанные выше компоненты для генерирования сигнала операций, и выводит сгенерированный сигнал операции в модуль 949 управления.
В устройстве 940 записи/воспроизведения, которое имеет конфигурацию, описанную выше, кодер 943 имеет функцию устройства кодирования изображения, в соответствии с описанными выше вариантами осуществления. Кроме того, декодер 947 имеет функцию устройства декодирования изображения, в соответствии с описанными выше вариантами осуществления. В соответствии с этим, эффективность обработки может быть улучшена, когда устройство 940 записи/воспроизведения кодирует и декодирует изображение.
Четвертый пример варианта осуществления: устройство формирования изображения
На фиг. 31 иллюстрируется пример схематичной конфигурации устройства формирования изображения, в котором используются описанные выше варианты осуществления. Устройство 960 формирования изображения снимает изображение объекта для генерирования данных изображения, кодирует данные изображения, и записывает кодированные данные изображения на носителе записи.
Устройство 960 формирования изображения включает в себя оптический блок 961, модуль 962 формирования изображения, модуль 963 обработки сигналов, модуль 964 обработки изображений, модуль 965 отображения, модуль 966 внешнего интерфейса, запоминающее устройство 967, привод 968 носителя информации, OSD 969, модуль 970 управления, интерфейс 971 пользователя и шину 972.
Оптический блок 961 соединен с модулем 962 формирования изображения. Модуль 962 формирования изображения соединен с модулем 963 обработки сигналов. Модуль 965 отображения соединен с модулем 964 обработки изображений. Интерфейс 971 пользователя соединен с модулем 970 управления. Шина 972 используется для подключения модуля 964 обработки изображений, внешнего интерфейса 966, запоминающего устройства 967, привода 968 носителя информации, OSD 969 и модуля 970 управления друг к другу.
Оптический блок 961 включает в себя линзу фокусирования, механизм апертуры и т.д. Оптический блок 961 формирует оптическое изображение объекта на поверхности формирования изображения модуля 962 формирования изображения. Модуль 962 формирования изображения включает в себя датчик изображения, такой как CCD (прибор с зарядовой связью) или датчик изображения CMOS (комплементарный металло-оксидный полупроводник), и преобразует оптическое изображение, сформированное на поверхности формирования изображения, в сигнал изображения, используемый, как электрический сигнал, путем выполнения фотоэлектрического преобразования. Модуль 962 формирования изображения затем выводит сигнал изображения в модуль 963 обработки сигналов.
Модуль 963 обработки сигналов выполняет различные операции обработки сигналов камеры, такие как коррекция изгиба характеристики передачи уровня яркости, гамма-коррекция и коррекция цветов, для сигнала изображения, вводимого из модуля 962 формирования изображения. Модуль 963 обработки сигналов выводит данные изображения, подвергнутые операциям обработки сигналов камеры, в модуль 964 обработки изображений.
Модуль 964 обработки изображений кодирует данные изображения, вводимые из модуля 963 обработки сигналов, для генерирования кодированных данных. Модуль 964 обработки изображения затем выводит сгенерированные кодированные данные во внешний интерфейс 966 или в привод 968 носителя информации. Кроме того, модуль 964 обработки изображений декодирует кодированные данные, вводимые из внешнего интерфейса 966 или из привода 968 носителя информации, для генерирования данных изображения. Модуль 964 обработки изображений затем выводит сгенерированные данные изображения в модуль 965 отображения. Кроме того, модуль 964 обработки изображений также может выводить данные изображения, вводимые из модуля 963 обработки сигналов, в модуль 965 отображения, для обеспечения отображения изображения. Кроме того, модуль 964 обработки изображений также может накладывать данные отображения, полученные из OSD 969, на изображения, предназначенные для вывода, в модуль 965 отображения.
OSD 969 генерирует изображение GUI, такое как меню, кнопку или курсор, и выводит сгенерированное изображение в модуль 964 обработки изображений.
Внешний интерфейс 966 сформирован как, например, разъем ввода-вывода USB. Внешний интерфейс 966 соединяет, например, устройство 960 формирования изображения с принтером при печати изображения. Кроме того, с внешним интерфейсом 966, в случае необходимости, соединяют привод. Съемный носитель информации, такой как магнитный диск или оптический диск, помещают в привод, и программу, считываемую со съемного носителя информации, можно установить в устройстве 960 формирования изображения. Кроме того, внешний интерфейс 966 также может быть сформирован, как сетевой интерфейс, предназначенный для подключения к сети, такой как LAN или Интернет. Другими словами, внешний интерфейс 966 функционирует, как средство передачи, в устройстве 960 формирования изображения.
Носитель записи, предназначенный для размещения в приводе 968 носителя информации, может, например, представлять собой любой съемный носитель информации, выполненный с возможностью считывания/записи, такой как магнитный диск, магнитооптический диск, оптический диск или полупроводниковое запоминающее устройство. В качестве альтернативы, носитель записи может быть фиксировано закреплен в приводе 968 носителя информации, и может формировать встроенный привод жесткого диска или стационарный модуль сохранения, такой как SSD (твердотельный привод).
Модуль 970 управления включает в себя процессор, такой как CPU, и запоминающие устройства, такие как RAM и ROM. В запоминающем устройстве сохраняется программа, предназначенная для исполнения CPU, данные программы и т.д. Программу, сохраненную в запоминающих устройствах, считывают и исполняют с помощью CPU, когда, например, включают устройство 960 формирования изображения. CPU выполняет программу, для управления операцией устройства 960 формирования изображения, в соответствии с, например, сигналом операций, поступающим из интерфейса 971 пользователя.
Интерфейс 971 пользователя соединен с модулем 970 управления. Интерфейс 971 пользователя включает в себя, например, кнопки, переключатели и т.д., который обеспечивает для пользователя возможность выполнять операции с устройством 960 формирования изображения. Интерфейс 971 пользователя обнаруживает операцию пользователя через описанные выше компоненты для генерирования сигнала операции и выводит сгенерированный сигнал операции в модуль 970 управления.
В устройстве 960 формирования изображения, которое имеет конфигурацию, описанную выше, модуль 964 обработки изображений имеет функцию устройства кодирования изображения и устройства декодирования изображения, в соответствии с описанными выше вариантами осуществления. В соответствии с этим, эффективность обработки может быть улучшена, когда устройство 960 формирования изображения кодирует и декодирует изображение.
8. Пример применения масштабируемого кодирования
Первая система
Далее, со ссылкой на фиг. 24 - фиг. 26, будет описан конкретный пример использования данных, кодированных с масштабированием, которые были кодированы с масштабированием (иерархически кодированы), как описано выше. Масштабируемое кодирование используется, например, для выбора данных, предназначенных для передачи, как в примере, представленном на фиг. 32.
В системе 1000 связи, представленной на фиг. 32, сервер 1002 распределения считывает масштабируемые кодированные данные, сохраненные в модуле 1001 хранения масштабируемых кодированных данных, и распределяет масштабируемые кодированные данные в устройства терминала, такое как персональный компьютер 1004, устройство 1005 AV, устройство 1006 планшет и мобильный телефон 1007, через сеть 1003.
В этом случае, сервер 1002 распределения выбирает кодированные данные, имеющие требуемое качество, в соответствии с рабочими характеристиками устройства терминала, среды связи и т.п., и передает выбранные кодированные данные. Даже если сервер 1002 распределения передает данные, имеющие более высокое качество, чем необходимо, устройство может не иметь возможности всегда получать высококачественное изображение, и это может привести к задержке или переполнению. Кроме того, такие данные могут занимать полосу пропускания связи в большей степени, чем необходимо, или могут увеличить нагрузку на устройство терминала в большей степени, чем необходимо. И, наоборот, даже если сервер 1002 распределения передает данные, имеющие качество, более низкое, чем необходимо, устройство терминала может не иметь возможности получать изображение с достаточным качеством. Таким образом, сервер 1002 распределения считывает масштабируемые кодированные данные, сохраненные в модуле 1001 хранения масштабируемых кодированных данных, в случае необходимости, в качестве кодированных данных, имеющих качество, соответствующее рабочим характеристикам устройства терминала, среды связи и т.п., и передает считываемые кодированные данные.
Например, предполагается, что модуль 1001 хранения масштабируемых кодированных данных сохраняет масштабируемые кодированные данные (BL+EL) 1011, которые уже были кодированы с масштабированием. Масштабируемые кодированные данные (BL+EL) 1011 представляют собой кодированные данные, включающие в себя уровень основания и уровень расширения, и представляют собой данные, которые декодируют для получения, как изображения уровня основания, так и изображения уровня расширения.
Сервер 1002 распределения выбирает соответствующий уровень, в соответствии с рабочими характеристиками устройства терминала, которое передает данные, среду связи и т.п., и считывает данные уровня. Например, сервер 1002 распределения считывает высококачественные масштабируемые кодированные данные (BL+EL) 1011 из модуля 1001 хранения масштабируемых кодированных данных, и передает считываемые масштабируемые кодированные данные (BL+EL) 1011 в устройства, имеющие высокие возможности обработки, а именно, персональный компьютер 1004 или в устройство 1006 планшет, в том виде, как они есть. В отличие от этого, например, сервер 1002 распределения выделяет данные уровня основания из масштабируемых кодированных данных (BL+EL) 1011, и передает выделенные данные уровня основания в устройства, имеющие низкие возможности обработки, а именно, устройство 1005 AV и в мобильный телефон 1007, как масштабируемые кодированные данные (BL) 1012, имеющие то же содержание, что и масштабируемые кодированные данные (BL+EL) 1011, но имеющие более низкое качество, чем масштабируемые кодированные данные (BL+EL) 1011.
Использование масштабируемых кодированных данных, таким образом, способствует регулированию количества данных, предотвращая, таким образом, возникновение задержки или переполнении и предотвращая ненужное увеличение нагрузки на устройство терминала или среду связи. Кроме того, масштабируемые кодированные данные (BL+EL) 1011 имеют уменьшенную избыточность между уровнями, и, поэтому, имеют меньшее количество данных, чем данные, имеющие индивидуально кодированные данные соответствующих уровней. В соответствии с этим, область сохранения модуля 1001 хранения масштабируемых кодированных данных может использоваться более эффективно.
Следует отметить, что поскольку различные устройства, такие как персональный компьютер 1004, AV устройство 1005, устройство 1006 планшет и мобильный телефон 1007 применимы, как устройства терминала, характеристики аппаратных средств устройств терминала отличаются от устройства к устройству. Кроме того, поскольку различные приложения могут быть выполнены устройствами терминала, возможности программного обеспечения приложений могут меняться. Кроме того, сеть 1003, используемая, в качестве среды связи, может быть воплощена, как любая сеть линии связи, которая может быть проводной, беспроводной или может быть представлена обеими технологиями, такими как Интернет и LAN (локальная вычислительная сеть), и возможности связи изменяются. Такие характеристики и возможности могут изменяться в зависимости от других передач данных и т.п.
В соответствии с этим, перед началом связи, сервер 1002 распределения может выполнять обмен данными с устройством терминала, в которое требуется передать эти данные, и может получать информацию, относящуюся к возможностям устройства терминала, таким как рабочая характеристика аппаратных средств устройства терминала или рабочая характеристика приложения (программное обеспечение), выполняемого устройством терминала, и также информацию, относящуюся к среде связи, такой как доступная полоса пропускания сети 1003. Кроме того, сервер 1002 распределения может выбирать соответствующий уровень на основе полученной информации.
Следует отметить, что уровень может быть выделен устройством терминала. Например, персональный компьютер 1004 может декодировать передаваемые масштабируемые кодированные данные (BL+EL) 1011, и отображать изображение уровня основания или изображение уровня расширения. В качестве альтернативы, например, персональный компьютер 1004 может выделять масштабируемые кодированные данные (BL) 1012 уровня основания из переданных масштабируемых кодированных данных (BL+EL) 1011, сохранять выделенные масштабируемые кодированные данные (BL) 1012, передавать выделенные масштабируемые кодированные данные (BL) 1012 в другое устройство или декодировать выделенные масштабируемые кодированные данные (BL) 1012 для отображения изображения уровня основания.
Само собой разумеется, что количество модулей 1001 хранения масштабируемых кодированных данных, количество серверов 1002 распределения, количество сетей 1003 и количество устройств терминала может быть произвольным. Кроме того, в то время, как описание было представлено для примера, в котором сервер 1002 распределения передает данные в устройство терминала, примеры использования не ограничены этим. Система 1000 связи может использоваться в любой системе, которая выбирает и передает соответствующий уровень, когда передают кодированные данные, которые были кодированы с масштабированием в устройстве терминала, в соответствии с возможностями устройства терминала, среды связи и т.п.
Кроме того, настоящая технология также может применяться для системы 1000 связи, представленной на фиг. 32, как описано выше, аналогично применению иерархического кодирования, и иерархического декодирования, описанных выше со ссылкой на фиг. 24 - фиг. 26, достигая, таким образом, преимущества, аналогичные преимуществам, описанным выше со ссылкой на фиг. 24 - фиг. 26.
Вторая система
Масштабируемое кодирование также используется, например, как в примере, представленном на фиг. 33, для передачи через множество сред связи.
В системе 1100 связи, представленной на фиг. 33, станция 1101 связи передает масштабируемые кодированные данные (BL) 1121 уровня основания через наземную широковещательную передачу 1111. Станция 1101 широковещательной передачи дополнительно передает (например, размещает по пакетам и передает), масштабируемые кодированные данные (EL) 1122 уровня расширения через требуемую сеть 1112, сформированную в сети связи, которая может быть проводной, беспроводной или может быть построена с использованием обеих технологий.
Устройство 1102 терминала имеет функцию приема наземной широковещательной передачи 1111 из станции 1101 широковещательной передачи, и принимает масштабируемые кодированные данные (BL) 1121 уровня основания, передаваемого через наземную широковещательную передачу 1111. Устройство 1102 терминала дополнительно имеет функцию связи, для выполнения связи через сеть 1112, и принимает масштабируемые кодированные данные (EL) 1122 уровня расширения, переданные через сеть 1112.
Устройство 1102 терминала декодирует масштабируемые кодированные данные (BL) 1121 уровня основания, полученные через наземную широковещательную передачу 1111, в соответствии, например, с инструкцией пользователя и т.п., для получения изображения уровня основания, сохраняет масштабируемые кодированные данные (BL) 1121, или передает масштабируемые кодированные данные (BL) 1121 в другое устройство.
Кроме того, устройство 1102 терминала комбинирует масштабируемые кодированные данные (BL) 1121 уровня основания, полученные через наземную широковещательную передачу 1111 с масштабируемыми кодированными данными (EL) 1122 уровня расширения, полученными через сеть 1112, в соответствии, например, с инструкцией пользователя и т.п., для получения масштабируемых кодированных данных (BL+EL), и декодирует масштабируемые кодированные данные (BL+EL) для получения изображения уровня расширения, сохраняет масштабируемые кодированные данные (BL+EL) или передает масштабируемые кодированные данные (BL+EL) в другое устройство.
Как описано выше, масштабируемые кодированные данные могут быть переданы, например, через среду связи, которая отличается от одного уровня к другому. Таким образом, нагрузка может быть распределена, и при этом может быть предотвращено возникновение задержки или переполнение.
Кроме того, среда связи, предназначенная для использования для передачи, может быть избираемой для каждого уровня, в соответствии с ситуацией. Например, масштабируемые кодированные данные (BL) 1121 уровня основания, имеющие относительно большое количество данных, могут быть переданы через среду связи, имеющую большую полосу пропускания, и масштабируемые кодированные данные (EL) 1122 уровня улучшения, имеющие относительно малое количество данных, могут быть переданы через среду связи, имеющую узкую полосу пропускания. В качестве альтернативы, например, среда связи, через которую требуется передавать масштабируемые кодированные данные (EL) 1122 уровня расширения, может переключаться между сетью 1112 и наземной широковещательной передачей 1111, в соответствии с доступной полосой пропускания сети 1112. Само собой разумеется, что описанная выше аналогия применима к данным произвольного уровня.
Управление с таким подходом, как описано выше, может дополнительно подавлять увеличение нагрузки связи.
Само собой разумеется, что количество уровней является произвольным, и количество сред связи, предназначенных для использования при передаче, также является произвольным. Кроме того, количество устройств 1102 терминала, в которые требуется распределять данные, также является произвольным. Кроме того, в то время, как описание было представлено в контексте широковещательной передачи из станции 1101 широковещательной передачи, в качестве примера, примеры использования не ограничены этим. Система 1100 связи может применяться для любой системы, которая подразделяет кодированные данные, которые были подвергнуты масштабируемому кодированию, на множество сегментов в модулях уровней, и которая передает сегменты данных через множество линий.
Кроме того, настоящая технология может также применяться к системе 1100 связи, представленной на фиг. 33, как описано выше, аналогично применению иерархического кодирования и иерархического декодирования, описанных выше со ссылкой на фиг. 24 - фиг. 26, достигая, таким образом, преимуществ, аналогичных преимуществам, описанным выше со ссылкой на фиг. 24 - фиг. 26.
Третья система
Масштабируемое кодирование также используется, например, как в примере, представленном на фиг. 34, для сохранения кодированных данных.
В системе 1200 формирования изображений, представленной на фиг. 34, устройство 1201 формирования изображения выполняет масштабируемое кодирование для данных изображения, полученных путем съемки изображения объекта 1211, и подает полученные в результате данные в устройство 1202 хранения масштабируемых кодированных данных, как масштабируемые кодированные данные (BL+EL) 1221.
Устройство 1202 хранения масштабируемых кодированных данных сохраняет масштабируемые кодированные данные (BL+EL) 1221, подаваемые из устройства 1201 формирования изображения, с качеством, соответствующим ситуации. Например, в расчетном времени, устройство 1202 хранения масштабируемых кодированных данных выделяет данные уровня основания из масштабируемых кодированных данных (BL+EL) 1221, и сохраняет выделенные данные уровня основания, как масштабируемые кодированные данные (BL) 1222 уровня основания, имеющего низкое качество, и малое количество данных. В отличие от этого, например, во время технического обслуживания, устройство 1202 хранения масштабируемых кодированных данных сохраняет масштабируемые кодированные данные (BL+EL) 1221, имеющие высокое качество и большое количество данных, в том виде как они есть.
В соответствии с этим, устройство 1202 хранения данных масштабируемого кодирования может сохранять изображение высокого качества только, когда это необходимо. Это может предотвратить увеличение объема данных, при одновременном предотвращении уменьшения ценности изображения, из-за снижения качества, и может улучшить эффективность использования пространства сохранения.
Например, предполагается, что устройство 1201 формирования изображения представляет собой камеру для обеспечения видеонаблюдения. Если объект, который требуется отслеживать (например, злоумышленник), не появляется на снятом изображении (в нормальное время), вероятно, может быть, что снятое изображение не содержит важное содержание. Таким образом, уменьшение количества данных имеет приоритет, и данные изображения (данные масштабируемого кодирования) изображения сохраняют с низким качеством. В отличие от этого, если объект, который требуется отслеживать, появляется, как объект 1211 в снятом изображении (время внимания), может быть вероятным, что снятое изображение имеет важное содержание. Таким образом, качество изображения получает приоритет, и данные изображения (данные, кодированные с масштабированием) изображения сохраняются с высоким качеством.
Следует отметить, что является ли время нормальным или временем внимания, можно определять, например, с помощью устройства 1202 сохранения данных масштабируемого кодирования, путем анализа изображения. В качестве альтернативы, устройство 1201 формирования изображения может определять нормальное время или время внимания, и может передавать результат определения в устройство 1202 сохранения данных масштабируемого кодирования.
Следует отметить, что определение, является ли время нормальным, или временем внимания, может быть основано на произвольном стандарте, и изображение, на основе которого выполняют такое определение, может иметь любое содержание. Само собой разумеется, другие условия, чем содержание изображения, можно использовать в качестве стандарта определения. Это состояние может изменяться в соответствии, например, с магнитудой, формой колебаний и т.п. записанных аудиоданных, или может изменяться через интервалы в заданные периоды времени. В качестве альтернативы, состояние может изменяться в соответствии с внешней инструкцией, такой как инструкция пользователя.
Кроме того, в то время как было представлено описание примера изменения между двумя состояниями, а именно, нормальным временем и временем внимания, количество состояний может быть произвольным, и изменение состояние может быть выполнено между больше, чем двумя состояниями, такими как нормальное время, время меньшего внимания, время внимания и время чрезвычайного внимания. Следует отметить, что верхний предел количества состояний, который можно изменять, зависит от количества уровней данных кодирования с масштабированием.
Кроме того, устройство 1201 формирования изображения может быть выполнено с возможностью определения количества уровней масштабируемого кодирования, в соответствии с состоянием. Например, в нормальное время, устройство 1201 формирования изображения может генерировать масштабируемые кодированные данные (BL) 1222 уровня основания, имеющего низкое качество, и малое количество данных, и может подавать сгенерированные масштабируемые кодированные данные (BL) 1222 в устройство 1202 хранения масштабируемых кодированных данных. Кроме того, например, во время внимания, устройство 1201 формирования изображения может генерировать масштабируемые кодированные данные (BL+EL) 1221 уровня основания, имеющие высокое качество и большое количество данных, и подавать генерируемые масштабируемые кодированные данные (BL+EL) 1221 в устройство 1202 хранения масштабируемых кодированных данных.
В то время, как камера для видеонаблюдения была описана, как пример, система 1200 формирования изображений может использоваться в любом варианте применения, и такой вариант применения не ограничен камерой видеонаблюдения.
Кроме того, настоящая технология также может применяться в системе 1200 формирования изображений, представленной на фиг. 34, как описано выше, аналогично применению иерархического кодирования и иерархического декодирования, описанных выше со ссылкой на фиг. 24 - фиг. 26, достигая, таким образом, преимуществ, аналогичных преимуществам, описанным выше со ссылкой на фиг. 24 - фиг. 26.
Следует отметить, что здесь был описан пример, в котором различные части информации, такие как параметры фильтра адаптивного смещения, мультиплексируют в кодированный поток и который передают со стороны кодера на сторону декодера. Однако, технология для передачи таких частей информации не ограничена этим примером. Например, эти части информации могут быть переданы или могут быть записаны, как отдельные данные, ассоциированные с потоком кодированных битов, без их мультиплексирования в поток кодированных битов. Термин "ассоциировать", используемый здесь, означает обеспечение возможности для изображения (которое может представлять собой часть изображения, такую как срез или блок), включенного в поток битов, соединяться с информацией, соответствующей изображению, когда изображение декодируют. Таким образом, информация может быть передана по каналу связи, отличному от канала связи для изображения (или потока битов). Кроме того, информация может быть записана на другом носителе записи, чем носитель записи, используемый для изображения (или потока битов) (или может быть записана в другой области записи того же носителя записи). Кроме того, информация и изображение (или поток битов) могут быть ассоциированы друг с другом в произвольных единицах, таких как множество кадров, один кадр или участок в кадре.
В то время, как предпочтительные варианты осуществления настоящего раскрытия были подробно описаны со ссылкой на приложенные чертежи, настоящее раскрытие не ограничено такими примерами. Очевидно, что любое лицо, имеющее обычные знания в области уровня техники, к которому относится настоящее раскрытие, может выполнить различные изменения или модификации в пределах объема технической идеи, которая определена в формуле изобретения, и при этом следует понимать, что такие изменения или модификации также могут попадать в пределы технического объема настоящего раскрытия.
Следует отметить, что настоящая технология также обеспечивает следующие конфигурации.
(1) Устройство обработки изображений, включающее в себя:
модуль получения для получения параметров фильтра адаптивного смещения в модулях наибольшего модуля кодирования из кодированного потока, при этом параметры фильтра адаптивного смещения установлены с использованием наибольшего модуля кодирования, в качестве модуля передачи;
модуль декодирования для выполнения процесса декодирования кодированного потока и затем генерирования изображения; и
модуль фильтра адаптивного смещения для выполнения фильтрации адаптивного смещения изображения, генерируемого модулем декодирования, в модулях наибольшего модуля кодирования, с использованием параметров, полученных модулем получения.
(2) Устройство обработки изображений в соответствии с (1), в котором
параметры фильтра адаптивного смещения включают в себя тип фильтра адаптивного смещения и значения смещения.
(3) Устройство обработки изображений в соответствий с (1) или (2), дополнительно содержащее
модуль фильтра удаления блочности, выполненный с возможностью осуществления фильтрации удаления блочности для изображения, генерируемого модулем декодирования, при этом
модуль фильтра адаптивного смещения выполнен с возможностью осуществления фильтрации адаптивного смещения для изображения, для которого модуль фильтра удаления блочности выполнил фильтрацию удаления блочности.
(4) Устройство обработки изображений по любому из (1) до (3), в котором
модуль получения выполнен с возможностью получения, из кодированного потока, идентификационных данных, идентифицирующих параметр предыдущего наибольшего модуля кодирования, для которого была выполнена фильтрация адаптивного смещения перед текущим наибольшим модулем кодирования, являющегося таким же, как параметр текущего наибольшего модуля кодирования, а
модуль фильтра адаптивного смещения выполнен с возможностью осуществления фильтрации адаптивного смещения для изображения, генерируемого модулем декодирования, в модулях наибольшего модуля кодирования, с использованием идентификационных данных, полученных модулем получения.
(5) Устройство обработки изображений по любому из (1)-(3), в котором
модуль получения выполнен с возможностью получения, из кодированного потока, идентификационных данных, идентифицирующих, следует ли использовать параметр предыдущего наибольшего модуля кодирования, для которого выполнена фильтрация адаптивного смещения, перед текущим наибольшим модулем кодирования, а
модуль фильтра адаптивного смещения выполнен с возможностью осуществления фильтрации адаптивного смещения для изображения, генерируемого модулем декодирования, в модулях наибольшего модуля кодирования, с использованием идентификационных данных, полученных модулем получения.
(6) Устройство обработки изображений по любому из (1)-(3), представленным выше, в котором
модуль получения выполнен с возможностью получения из кодированного потока, идентификационных данных, идентифицирующих, следует ли использовать копию параметра предыдущего наибольшего модуля кодирования, для которого фильтрация адаптивного смещения выполнена перед текущим наибольшим модулем кодирования, а
модуль фильтра адаптивного смещения выполнен с возможностью фильтрации адаптивного смещения для изображения, генерируемого модулем декодирования, в модулях наибольшего модуля кодирования, с использованием идентификационных данных, полученных модулем получения.
(7) Устройство обработки изображений по любому из (1)-(3), в котором
модуль получения выполнен с возможностью получения, из кодированного потока, идентификационных данных, устанавливающих наибольший модуль кодирования, идентичный текущему наибольшему модулю кодирования, в виде параметра, из предыдущих наибольших модулей кодирования, для которых была выполнена фильтрация адаптивного смещения перед тем текущим наибольшим модулем кодирования, а
модуль фильтра адаптивного смещения выполнен с возможностью осуществления фильтрации адаптивного смещения для изображения, генерируемого модулем декодирования, в модулях наибольшего модуля кодирования, с использованием идентификационных данных, полученных модулем получения.
(8) Устройство обработки изображений по любому из (1)-(7), в котором
параметры фильтра адаптивного смещения передают в моменты времени начала наибольшего модуля кодирования.
(9) Устройство обработки изображений по любому из (1)-(8), в котором
модуль декодирования выполнен с возможностью осуществления процесса декодирования в модулях, каждый из которых имеет иерархическую структуру.
(10) Способ обработки изображений, включающий в себя этапы, на которых:
получают параметры фильтра адаптивного смещения в модулях наибольшего модуля кодирования из кодированного потока, при этом параметры фильтра адаптивного смещения установлены, с использованием наибольшего модуля кодирования в качестве модуля передачи;
выполняют процесс декодирования для кодированного потока для генерирования изображения; и
выполняют фильтрацию адаптивного смещения для сгенерированного изображения в модулях наибольшего модуля кодирования, с использованием полученных параметров, причем
способ обработки изображений выполняется устройством обработки изображений.
(11) Устройство обработки изображений, включающее в себя:
модуль установки для установки параметров фильтра адаптивного смещения, с использованием наибольшего модуля кодирования, в качестве модуля передачи;
модуль фильтра адаптивного смещения для выполнения фильтрации адаптивного смещения для изображения, подвергнутого процессу локального декодирования, в случае, когда изображение кодируют в модулях наибольшего модуля кодирования, с использованием параметров, установленных модулем установки;
модуль кодирования для выполнения процесса кодирования изображения, для которого модуль фильтра адаптивного смещения выполнил фильтрацию адаптивного смещения, и генерирования кодированного потока, используя изображение; и
модуль передачи для передачи параметров, установленных модулем установки, и кодированного потока, генерируемого модулем кодирования.
(12) Устройство обработки изображений по (11), в котором
параметры фильтра адаптивного смещения включают в себя тип фильтра адаптивного смещения и значения смещения.
(13) Устройство обработки изображений по (11) или (12), дополнительно включающее в себя
модуль фильтра удаления блочности, выполненный с возможностью осуществления фильтрации удаления блочности для локально декодированного изображения, при этом
модуль фильтра адаптивного смещения выполнен с возможностью осуществления фильтрации адаптивного смещения для изображения, для которого модуль фильтра удаления блочности выполнил фильтрацию удаления блочности.
(14) Устройство обработки изображений по любому из (11)-(13), в котором
модуль установки выполнен с возможностью установки идентификационных данных, идентифицирующих параметр предыдущего наибольшего модуля кодирования, для которого была выполнена фильтрация адаптивного смещения перед текущим наибольшим модулем кодирования, являющийся таким же, как и параметр текущего наибольшего модуля кодирования, а
модуль передачи выполнен с возможностью передачи идентификационных данных, установленных модулем установки, и кодированного потока, генерируемого модулем кодирования.
(15) Устройство обработки изображений по любому из (11)-(13), в котором
модуль установки выполнен с возможностью установки идентификационных данных, идентифицирующих, следует ли использовать параметр предыдущего наибольшего модуля кодирования, для которого была выполнена фильтрация адаптивного смещения перед текущим наибольшим модулем кодирования, а
модуль передачи выполнен с возможностью передачи идентификационных данных, установленных модулем установки, и кодированного потока, генерируемого модулем кодирования.
(16) Устройство обработки изображений по любому из (11)-(13), в котором
модуль установки выполнен с возможностью установки идентификационных данных, идентифицирующих, следует ли использовать копию параметра предыдущего наибольшего модуля кодирования, для которого была выполнена фильтрация адаптивного смещения перед текущим наибольшим модулем кодирования, а
модуль передачи выполнен с возможностью передачи идентификационных данных, установленных модулем установки, и кодированного потока, генерируемого модулем кодирования.
(17) Устройство обработки изображений по любому из (11)-(13), в котором
модуль установки выполнен с возможностью установки идентификационных данных, устанавливающих наибольший модуль кодирования, идентичный текущему наибольшему модулю кодирования, в отношении параметра, из предыдущих наибольших модулей кодирования, для которых была выполнена фильтрация адаптивного смещения перед текущим наибольшим модулем кодирования, а
модуль передачи выполнен с возможностью передачи идентификационных данных, установленных модулем установки, и кодированного потока, генерируемого модулем кодирования.
(18) Устройство обработки изображений по любому из (11)-(17), в котором
модуль передачи выполнен с возможностью передачи параметров фильтра адаптивного смещения, установленного модулем установки в момент времени начала наибольшего модуля кодирования.
(19) Устройство обработки изображений по любому из (11)-(18), в котором
модуль кодирования выполнен с возможностью осуществления процесса кодирования в модулях, каждый из которых имеет иерархическую структуру.
(20) Способ обработки изображений, включающий в себя этапы, на которых:
устанавливают параметры фильтра адаптивного смещения, с использованием наибольшего модуля кодирования, в качестве модуля передачи;
выполняют фильтрацию адаптивного смещения для изображения, подвергнутого процессу локального декодирования, в случае, когда изображение кодировано, в модулях наибольшего модуля кодирования, с использованием установленных параметров;
выполняют процесс кодирования для изображения, для которого выполнена фильтрация адаптивного смещения, для генерирования кодированного потока, с использованием изображения; и
передают набор параметров и генерируемый кодированный поток,
при этом способ обработки изображений выполняется устройством обработки изображений.
Список номеров ссылочных позиций
11 устройство кодирования изображения, 26 модуль кодирования без потерь, 31 фильтр удаления блочности, 41 фильтр адаптивного смещения, 42 фильтр адаптивного контура, 51 устройство декодирования изображения, 62 модуль декодирования без потерь, 66 фильтр удаления блочности, 81 фильтр адаптивного смещения, 82 фильтр адаптивного контура, 211 модуль определения типов и смещения, 212 модуль обработки смещения, 213 буфер изображения, 214 модуль считывания коэффициента, 215 буфер смещения, 215-1 буфер ЕО, 215-2 буфер ВО, 216 модуль установки параметра, 217 модуль записи коэффициента, 221 модуль записи синтаксиса, 251 модуль считывания синтаксиса, 261 модуль приема параметра, 262 модуль считывания коэффициента, 263 буфер смещения, 263-1 буфер ЕО, 263-2 буфер ВО, 264 модуль записи коэффициента, 265 модуль обработки смещения, 266 буфер изображения.