Область техники, к которой относится изобретение
Настоящее раскрытие относится к устройству и способу обработки изображений и, в частности, к устройству и способу обработки изображений, обеспечивающим уменьшение ухудшения изображения.
Уровень техники
В последние годы, чтобы эффективно выполнять передачу и хранение информации, начали широко использоваться устройства, в которых изображение подвергается кодированию со сжатием, использующему систему кодирования, обращающуюся с информацией изображения как с цифровой информацией, и в этом случае сжатие изображения посредством ортогонального преобразования, такого как дискретное косинусное преобразование и т.п., и компенсация движения, пользуются преимуществом избыточности, которая является признаком информации изображения. Примерами такой системы кодирования являются Moving Picture Experts Group (MPEG) и другие.
В частности, MPEG2 (ISO/IEC 13818-2) определяется как универсальная система кодирования изображения и является стандартом, охватывающим как изображения с чересстрочной разверткой, так и изображения с прогрессивной развертки, а также изображения со стандартной разрешающей способностью и изображения высокой четкости. Например, MPEG2 сегодня широко используется в широком диапазоне применений для профессионального и потребительского использования. Используя способ сжатия MPEG2, в случае, когда изображение с чересстрочной разверткой со стандартной разрешающей способностью имеет 720×480 пикселей, объем кода (битовая скорость) составляет 4-8 Мбит/с. Используя способ сжатия MPEG2, в случае, когда изображение с чересстрочной разверткой со стандартной разрешающей способностью имеет 1920×1088 пикселей, объем кода (битовая скорость) составляет 18-22 Мбит/с. Благодаря этому, можно реализовывать высокий коэффициент сжатия и прекрасное качество изображения.
MPEG2 используется, в основном, для кодирования изображения с высоким качеством, пригодного, главным образом, для вещания, и он был несовместим с системами кодирования с объемом кодирования (битовой скоростью) ниже, чем для MPEG1, то есть с более высоким коэффициентом сжатия. При широком распространении использования мобильных терминалов, ожидается, что в будущем спрос на такую систему кодирования будет расти, и в ответ на это была осуществлена стандартизация системы кодирования MPEG4. Что касается системы кодирования изображения, то технические требования к ней были утверждена в качестве международного стандарта ISO/IEC 14496-2 в декабре 1998 г.
Дополнительно, в последние годы прогрессировала стандартизация стандарта, названного H.26L (ITU-T (International Telecommunication Union Telecommunication Standardization Sector, сектор стандартизации в области электросвязи Международного союза электросвязи) Q6/16 VCEG (Video Coding Expert Group, группа экспертов по видеокодированию)), задачей которого, в первую очередь, было кодирование изображений для видеоконференций. Для H.26L известно, что хотя для кодирования и декодирования требуется больший объем вычислений по сравнению с традиционной системой кодирования, такой как MPEG2 или MPEG4, в этом стандарте реализуется повышенная эффективность кодирования. Кроме того, в настоящее время, как часть деятельности по MPEG4, стандартизация, содержащая функцию, которая не поддерживается H.26L, с помощью этого стандарта H.26L, взятого в качестве основы, чтобы достигнуть более высокой эффективности кодирования, была выполнена как Joint Model of Enhanced-Compression Video Coding (совместная модель видеокодирования с улучшенным сжатием).
Что касается календарного графика стандартизации, то международный стандарт под названием Н.264 и MPEG-4 Часть 10 (Advanced Video Coding, здесь далее упоминаемый как Н.264/AVC) был принят в марте 2003 г.
Дополнительно, в качестве расширения H.264/AVC в феврале 2005 г. была завершена стандартизация FRExt (Fidelity Range Extension), содержащего инструменты кодирования, необходимые для коммерческого использования, такие как RGB, 4:2:2 или 4:4:4, а также 8x8 DCT и матрицы квантования, определенные в MPEG-2. Соответственно, была принята система кодирования, способная, используя H.264/AVC, хорошо представлять шумы пленки, содержащиеся в кинофильмах, которая будет использоваться в широком диапазоне применений, таких как диски Blu-Ray (зарегистрированная торговая марка).
Однако в наше время возросла потребность кодирования с повышенным коэффициентом сжатия, требующимся для сжатия изображения, имеющего приблизительно 4000×2000 пикселей, что в четыре раза больше, чем у изображения высокой четкости, или для распространения изображений с высоким разрешением в среде с ограниченной пропускной способностью передачи, такой как Интернет. По этой причине в VCEG (Video Coding Expert Group, экспертная группа по видеокодированию) под руководством ITU-T, описанной выше, непрерывно проводились исследования по повышению эффективности кодирования.
Поэтому в настоящее время для дальнейшего повышения эффективности кодирования по сравнению с Н.264/AVC группой Joint Collaboration Team-Video Coding (JCTVC), которая является совместной группой по стандартизации ITU-T и ISO/IEC (например, смотрите непатентный документ 1), проводится стандартизация системы кодирования под названием High Efficiency Video Coding (видеокодирование с высокой эффективностью) (HEVC).
Однако в стандарте HEVC, раскрытом в непатентном документе 1, используется технология под названием "Intra Transform Skipping" (пропуск внутрикадрового преобразования) (смотрите, например, непатентный документ 2).
То есть сначала в набор параметров последовательности (Sequence Parameter Set, SPS) передается флаг, указывающий, может ли в последовательности применяться Transform Skip (упоминаемый также как "пропуск ортогонального преобразования").
Когда значение равно 1, можно применять TransformSkip к блокам 4×4 ортогонального преобразования яркости и цветности.
Флаг, относящийся к включению/выключению TransformSkip, передается в каждый блок.
В отношении блока, к которому применяется TransformSkip, в энтропийном кодировании, квантовании, процессе контурной фильтрации и т.д. изменений не происходит.
Перечень литературы
Непатентный документ
Непатентный документ 1: Benjamin Bross, Woo-Jin Han, Jens-Rainer Ohm, Gary J. Sullivan, Thomas Wiegand, "Working Draft 4 of High-Efficiency Video Coding", JCTVC-F803_d2, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 6th Meeting: Турин, IT, 14-22 июля 2011 г.
Непатентный документ 2: Cuiling Lan, Jizheng Xu, Gary J. Sullivan, Feng Wu, "Intra transform skipping", JCTVC-I0408, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 и ISO/IEC JTC 1/SC 29/WG 119th Meeting: Женева, CH, 27 апреля - 7 мая 2012 г.
Раскрытие изобретения
Проблемы, решаемые изобретением
Однако коэффициент блока, к которому применяется TransformSkip, является значением, относящимся к пространственному домену, коэффициент блока, к которому TransformSkip не применяется, является значением, связанным с частотным доменом, и, таким образом, обе характеристики отличаются друг от друга.
По этой причине, когда процесс кодирования выполняется на обоих блоках, к которому TransformSkip применяется и к которому TransformSkip не применяется, без учета различий в этих характеристиках, существует проблема ухудшения эффективности кодирования.
Настоящее раскрытие сделано с учетом такой ситуации и обеспечивает уменьшение ухудшения качества изображения из-за процессов кодирования/декодирования.
Решения проблем
В соответствии с другим вариантом настоящего раскрытия, обеспечивается устройство обработки изображения, содержащее:
модуль квантования, использующий весовой коэффициент, применяемый к блоку с пропуском ортогонального преобразования, в котором процесс ортогонального преобразования пропускается, для квантования блока с пропуском ортогонального преобразования; и
модуль кодирования для кодирования блока с пропуском ортогонального преобразования, квантованного модулем квантования.
Модуль квантования может использовать один весовой коэффициент.
Модуль квантования может квантовать блок с пропуском ортогонального преобразования размером 4×4, используя весовой коэффициент. Устройство обработки изображения может дополнительно содержать модуль передачи для передачи в качестве набора параметров картинки информации разрешения пропуска, указывающую, разрешен ли пропуск процесса ортогонального преобразования.
Модуль передачи может дополнительно передавать весовой коэффициент.
Модуль квантования может квантовать блок без пропуска ортогонального преобразования, в котором процесс ортогонального преобразования выполняется, с использованием матрицы квантования, отличной от матрицы весовых коэффициентов, полученной при выполнении матричной обработки весового коэффициента.
Устройство обработки изображения может дополнительно содержать модуль передачи для модулирования кодированных данных, полученных при выполнении квантования блоком квантования и кодирования блоком кодирования данных изображения для передачи кодированных данных в качестве сигнала передачи.
Устройство обработки изображения может дополнительно содержать мультиплексор для мультиплексирования кодированных данных, полученных при выполнении квантования блоком квантования и кодирования блоком кодирования данных изображения, с кодированными аудиоданными.
Устройство обработки изображения может дополнительно содержать модуль получения изображения для получения изображения объекта для генерирования данных изображения, при этом модуль квантования выполнен с возможностью квантования блока данных изображения с пропуском ортогонального преобразования, полученного путем получения изображения модулем получения изображения.
Устройство обработки изображения может дополнительно содержать модуль аудиокодека для кодирования и декодирования аудиоданных.
Устройство обработки изображения может дополнительно содержать модуль записи для записи кодированных данных, полученных при выполнении квантования модулем квантования и кодирования модулем кодирования данных изображения, на носитель записи данных.
В соответствии с вариантом настоящего раскрытия, обеспечивается способ обработки изображения, содержащий этапы, на которых: используют весовой коэффициент, применяемый к блоку с пропуском ортогонального преобразования, в котором процесс ортогонального преобразования пропускается для квантования блока с пропуском ортогонального преобразования; и кодируют коэффициент квантованного блока с пропуском ортогонального преобразования.
В другом варианте настоящего раскрытия блок с пропуском ортогонального преобразования квантуется, с использованием весового коэффициента, применяемого к блоку с пропуском ортогонального преобразования, при этом процесс ортогонального преобразования пропускается, и коэффициент квантованного блока с пропуском ортогонального преобразования кодируется.
Дополнительно, устройство обработки изображения, описанное выше, может быть независимым устройством или может быть внутренним блоком, образующим устройство кодирования изображения.
Преимущества изобретения
В соответствии с настоящим раскрытием, можно кодировать изображение. В частности, можно уменьшить снижение качества изображения, возникающее при кодировании/декодировании.
Краткое описание чертежей
Фиг. 1 - блок-схема примера основной конфигурации устройства кодирования изображения.
Фиг. 2 - пример конфигурации блока кодирования.
Фиг. 3 - пример передачи матрицы квантования.
Фиг. 4 - пример набора параметров последовательности.
Фиг. 5 - пример набора параметров последовательности, соответствующего фиг. 4.
Фиг. 6 - пример набора параметров кадра.
Фиг. 7 - пример набора параметров кадра, соответствующего фиг. 6.
Фиг. 8 - пример состояния квантования..
Фиг. 9 - пример набора параметров последовательности.
Фиг. 10 - пример набора параметров последовательности, соответствующего фиг. 9.
Фиг. 11 - пример набора параметров кадра.
Фиг. 12 - пример набора параметров кадра, соответствующего фиг. 11.
Фиг. 13 - блок-схема примера основной конфигурации пропуска ортогонального преобразования и т.п.
Фиг. 14 - блок-схема последовательности выполнения операций примера процесса кодирования.
Фиг. 15 - блок-схема последовательности выполнения операций примера процесса управления пропуском ортогонального преобразования.
Фиг. 16 - блок-схема последовательности выполнения операций примера процесса ортогонального преобразования.
Фиг. 17 - блок-схема последовательности выполнения операций примера процесса квантования.
Фиг. 18 - блок-схема последовательности выполнения операций примера процесса фильтрации удаления блочности.
Фиг. 19 - блок-схема примера основной конфигурации устройства декодирования изображения.
Фиг. 20 - блок-схема примера основной конфигурации блока с пропуском инверсного ортогонального преобразования или т.п.
Фиг. 21 - блок-схема последовательности выполнения операций примера процесса декодирования.
Фиг. 22 - блок-схема последовательности выполнения операций примера процесса инверсного квантования.
Фиг. 23 - блок-схема последовательности выполнения операций примера процесса инверсного ортогонального преобразования.
Фиг. 24 - другой пример набора параметров последовательности.
Фиг. 25 - пример набора параметров кадра.
Фиг. 26 - блок-схема последовательности выполнения операций примера процесса генерирования информации разрешения пропуска.
Фиг. 27 - блок-схема последовательности выполнения операций примера процесса приема информации разрешения пропуска.
Фиг. 28 - пример системы кодирования мультипроекционного изображения.
Фиг. 29 - блок-схема примера основной конфигурации устройства кодирования мультипроекционного изображения, к которому применяется настоящая технология.
Фиг. 30 - блок-схема примера основной конфигурации устройства декодирования мультипроекционного изображения, к которому применяется настоящая технология.
Фиг. 31 - пример системы кодирования иерархического изображения.
Фиг. 32 - блок-схема примера основной конфигурации устройства кодирования иерархического изображения, к которому применяется настоящая технология.
Фиг. 32 - пример основной конфигурации устройства декодирования иерархического изображения, к которому применяется настоящая технология.
Фиг. 34 - блок-схема примера основной конфигурации компьютера.
Фиг. 35 - блок-схема примера схематичной конфигурации телевизионного устройства.
Фиг. 36 - блок-схема примера схематичной конфигурации мобильного телефона.
Фиг. 37 - блок-схема примера схематичной конфигурации устройства записи и воспроизведения.
Фиг. 38 - блок-схема примера схематичной конфигурации устройства получения изображения.
Фиг. 39 - блок-схема примера использования масштабируемого кодирования.
Фиг. 40 - блок-схема другого примера использования масштабируемого кодирования.
Фиг. 41 - блок-схема другого примера использования масштабируемого кодирования.
Фиг. 42 - блок-схема примера основной конфигурации видеокомбайна.
Фиг. 43 - блок-схема примера схематичной конфигурации видеопроцессора.
Фиг. 44 - блок-схема другого примера схематичной конфигурации видеопроцессора.
Осуществление изобретения
Здесь далее будут описаны способы выполнения настоящего раскрытия (здесь далее упоминаемые как варианты осуществления). Дополнительно, описание будет сделано в следующем порядке.
1. Первый вариант осуществления (устройство кодирования изображения)
2. Второй вариант осуществления (устройство декодирования изображений)
3. Третий вариант осуществления (управление передачей информации разрешения пропуска)
4. Четвертый вариант осуществления (устройство кодирования мультипроекционного изображения/устройство декодирования мультипроекционного изображения)
5. Пятый вариант осуществления (устройство кодирования иерархического изображения/декодирования иерархического изображения)
6. Шестой вариант осуществления (компьютер)
7. Седьмой вариант осуществления (пример применения)
8. Восьмой вариант осуществления (пример применения масштабируемого кодирования)
9. Девятый вариант осуществления (комплект/блок/модуль/процессор)
1. Первый вариант осуществления
Устройство кодирования изображения
На фиг. 1 представлена блок-схема примера основной конфигурации устройства кодирования изображения.
Устройство 100 кодирования изображения, показанное на фиг. 1, кодирует данные изображения, используя процесс предсказания, например, системы видеокодирования высокой эффективности (HEVC) или совместимой с ней системы.
В примере, показанном на фиг. 1, устройство 100 кодирования изображения содержит аналогово-цифровой (A/D) преобразователь 101, буфер 102 перегруппировки экрана, модуль 103 вычислений, модуль 104 ортогонального преобразования, модуль 105 квантования, модуль 106 кодирования без потерь, накопительный буфер 107, модуль 108 инверсного квантования и модуль 109 инверсного ортогонального преобразования. Кроме того, устройство 100 кодирования изображения содержит модуль 110 вычислений, фильтр 111 удаления блочности, кадровую память 112, модуль 113 выбора, модуль 114 внутрикадрового предсказания, модуль 115 предсказания/компенсации движения, модуль 116 выбора изображения предсказания и модуль 117 управления скоростью.
Устройство 100 кодирования изображений дополнительно содержит модуль 121 пропуска ортогонального преобразования.
A/D-преобразователь 101 выполняет аналогово-цифровое преобразование входных данных изображения, подает данные изображения (цифровые данные), полученные посредством преобразования, в буфер 102 перегруппировки экрана и сохраняет в нем данные изображения. Буфер 102 перегруппировки экрана перегруппирует изображения кадров, хранящиеся в порядке отображения, в порядок следования кадров для кодирования, соответствующий группе структуре картинки (GOP), и подает изображение, в котором порядок кадров перегруппирован, на модуль 103 вычислений. Кроме того, буфер 102 перегруппировки экрана подает изображение, для которого порядок кадров перегруппирован, на модуль 114 внутрикадрового предсказания и модуль 115 предсказания/компенсации движения.
Модуль 103 вычислений вычитает предсказанное изображение, полученное от модуля 114 внутрикадрового предсказания или модуля 115 предсказания/компенсации через модуль 116 выбора предсказанного изображения, из изображения, считанного из буфера 102 перегруппировки экрана, и выводит разностную информацию на модуль 104 ортогонального преобразования. Например, в случае изображения, для которого выполняется внутрикадровое кодирование, модуль 103 вычислений вычитает из изображения, считанного из буфера 102 перегруппировки экрана, предсказанное изображение, полученное от модуля 114 внутрикадрового предсказания. Дополнительно, в случае изображения, для которого выполняется межкадровое кодирование, модуль 103 вычислений, например, вычитает предсказанное изображение, поданное от модуля 115 предсказания/компенсации движения, из изображения, считанного из буфера 102 перегруппировки экрана.
Модуль 104 ортогонального преобразования выполняет ортогональное преобразование, такое как дискретное косинусное преобразование и преобразование Карунена-Лоэва, для разностной информации, поданной от модуля 103 вычислений, и подает его коэффициент преобразования на модуль 105 квантования.
Модуль 105 квантования квантует коэффициент преобразования, поданный от модуля 104 ортогонального преобразования. Модуль 105 квантования устанавливает параметр квантования, основываясь на информации, касающейся целевого значения объема кодирования, поданной от модуля 117 управления скоростью, и выполняет его квантование. Модуль 105 квантования подает квантованный коэффициент преобразования на модуль 106 кодирования без потерь.
Модуль 106 кодирования без потерь, используя любую систему кодирования, кодирует коэффициент преобразования, квантованный модулем 105 квантования. Поскольку данные коэффициента квантуются под управлением модуля 117 управления скоростью, объем его кодирования является целевым значением, установленным модулем 117 управления скоростью (или аппроксимированным целевым значением).
Кроме того, модуль 106 кодирования без потерь получает информацию, указывающую режим внутрикадрового предсказания и т.п., от модуля 114 внутрикадрового предсказания и получает информацию, указывающую режим межкадрового предсказания, или разностную информацию вектора движения от модуля 115 предсказания/компенсации движения.
Модуль 106 кодирования без потерь кодирует эти различные фрагменты информации в соответствии с системой кодирования, чтобы содержать (мультиплексировать) различные фрагменты информации как часть информации заголовка кодированных данных (упоминаемых также как кодированный поток). Модуль 106 кодирования без потерь подает кодированные данные, полученные кодированием, в накопительный буфер 107 и накапливает в нем кодированные данные.
Например, система кодирования модуля 106 кодирования без потерь выполняет кодирование переменной длины или арифметическое кодирование. Например, кодирование переменной длины содержит контекстно адаптированное кодирование переменной длины (Context-Adaptive Variable Length Coding, CAVLC) и т.п., определенное в системе H.264/AVC. Примером арифметического кодирования является контекстно адаптированное двоичное арифметическое кодирование (Context-Adaptive Binary Arithmetic Coding, CABAC) и т.п.
Накопительный буфер 107 временно хранит кодированные данные, поданные от модуля 106 кодирования без потерь. Накопительный буфер 107 выводит хранящиеся кодированные данные, например, на устройство записи (носитель записи) или на путь прохождения передачи, не показанный в последней части, с заданной синхронизацией. То есть накопительный буфер 107 является также блоком передачи для передачи кодированных данных.
Коэффициент преобразования, квантованный модулем 105 квантования, также подается на модуль 108 инверсного квантования. Модуль 108 инверсного квантования инверсно квантует квантованный коэффициент преобразования согласно способу, соответствующему квантованию модулем 105 квантования. Модуль 108 инверсного квантования подает полученный коэффициент преобразования на модуль 109 инверсного ортогонального преобразования.
Модуль 109 инверсного ортогонального преобразования выполняет инверсное ортогональное преобразование коэффициента преобразования, поданного от модуля 108 инверсного квантования, способом, соответствующим процессу ортогонального преобразования, выполняемому модулем 104 ортогонального преобразования. Выходной результат, полученный посредством процесса инверсного ортогонального преобразования (восстановленная разностная информация), подается на модуль 110 вычислений.
Модуль 110 вычислений добавляет предсказанное изображение, поданное от модуля 114 внутрикадрового предсказания или от модуля 115 предсказания/компенсации движения через модуль 116 выбора предсказанного изображения, к восстановленной разностной информации, являющейся результатом процесса инверсного ортогонального преобразования, полученным от модуля 109 инверсного ортогонального преобразования, создавая, таким образом, локально декодированное изображение (декодированное изображение). Декодированное изображение подается на фильтр 111 удаления блочности или в кадровую память 112.
Фильтр 111 удаления блочности соответственно выполняет процесс фильтрации удаления блочности декодированного изображения, поданного от модуля 110 вычислений. Например, фильтр 111 удаления блочности выполняет процесс фильтрации удаления блочности декодированного изображения, чтобы удалить блочное искажение декодированного изображения.
Фильтр 111 удаления блочности подает результат процесса фильтрации (декодированное изображение после процесса фильтрации) в кадровую память 112. Дополнительно, как описано выше, декодированное изображение с выхода модуля 110 вычислений может подаваться в кадровую память 112, не проходя через фильтр 111 удаления блочности. То есть возможно пропустить процесс фильтрации, выполняемый фильтром 111 удаления блочности.
Кадровая память 112 сохраняет декодированное изображение, которое должно быть подано, и подает хранящееся декодированное изображение в качестве опорного изображения на модуль 113 выбора в заданный момент времени.
Модуль 113 выбора выбирает место назначения для подачи опорного изображения, подаваемого из кадровой памяти 112. Например, в случае межкадрового предсказания модуль 113 выбора подает опорное изображение из кадровой памяти 112 на модуль 115 предсказания/компенсации движения.
Модуль 114 внутрикадрового предсказания выполняет внутрикадровое предсказание (предсказание в пределах экрана), чтобы сформировать предсказанное изображение, используя пиксельное значение внутри текущей картинки, которая является опорным изображением, подаваемым из кадровой памяти 112 через модуль 113 выбора. Модуль 114 внутрикадрового предсказания выполняет внутрикадровое предсказание во множестве режимов внутрикадрового предсказания, подготовленных заранее.
Модуль 114 внутрикадрового предсказания генерирует предсказанное изображение, используя все возможные режимы внутрикадрового предсказания, и оценивает значение функции стоимости каждого предсказанного изображения, используя входное изображение, поданное из буфера 102 перегруппировки экрана, чтобы выбрать оптимальный режим. Когда оптимальный режим выбран как режим внутрикадрового предсказания, модуль 114 внутрикадрового предсказания подает сгенерированное предсказанное изображение в оптимальном режиме на переключатель 116 выбора предсказанного изображения.
Кроме того, как описано выше, модуль 114 внутрикадрового предсказания соответственно подает информацию о режиме внутрикадрового предсказания, указывающую принятый режим внутрикадрового предсказания, на модуль 106 кодирования без потерь, чтобы кодировать поданную информацию о режиме внутрикадрового предсказания.
Модуль 115 предсказания/компенсации движения выполняет предсказание движения (межкадровое предсказание), используя входное изображение, поданное из буфера 102 перегруппировки экрана, и опорное изображение, поданное из кадровой памяти 112 через модуль 113 выбора. Модуль 115 предсказания/компенсации движения выполняет процесс компенсации движения в соответствии с обнаруженным вектором движения и генерирует предсказанное изображение (информацию о межкадрового предсказанном изображении). Модуль 115 предсказания/компенсации движения выполняет такое межкадровое предсказание во множестве подготовленных заранее режимов межкадрового предсказания.
Модуль 115 предсказания/компенсации движения генерирует предсказанное изображение во всех возможных режимах межкадрового предсказания. Модуль 115 предсказания/компенсации движения оценивает значение функции стоимости каждого предсказанного изображения, используя входное изображение, поданное из буфера 102 перегруппировки экрана, и информацию сгенерированного разностного вектора движения, чтобы выбрать оптимальный режим. Когда оптимальный режим межкадрового предсказания выбран, модуль 115 предсказания/компенсации движения подает сгенерированное предсказанное изображение в оптимальном режиме на модуль 116 выбора предсказанного изображения.
Модуль 115 предсказания/компенсации движения подает информацию, указывающую принятый режим межкадрового предсказания, информацию, требующуюся для выполнения процесса в режиме межкадрового предсказания во время декодирования кодированных данных и т.п., на модуль 106 кодирования без потерь и кодирует поданную информацию. Например, требуемая информация может содержать информацию о сгенерированном разностном векторе движения, флаг, указывающий индекс вектора предсказания движения в качестве информации о предсказании вектора движения и т.п.
Модуль 116 выбора предсказанного изображения выбирает источник подачи предсказанного изображения, которое должно подаваться на модуль 103 вычислений или на модуль 110 вычислений. Например, в случае внутрикадрового кодирования модуль 116 выбора предсказанного изображения выбирает модуль 114 внутрикадрового предсказания в качестве источника подачи предсказанного изображения и подает предсказанное изображение, подаваемое от модуля 114 внутрикадрового предсказания, на модуль 103 вычислений или на модуль 110 вычислений. Кроме того, в случае межкадрового кодирования модуль 116 выбора предсказанного изображения выбирает модуль 115 предсказания/компенсации движения в качестве источника подачи предсказанного изображения и подает предсказанное изображение, которое должно подаваться от модуля 115 предсказания/компенсации движения на модуль 103 вычислений или на модуль 110 вычислений.
На основе объема кодирования кодированных данных, накопленных в накопительном буфере 107, модуль 117 управления скоростью управляет скоростью операции квантования модуля 105 квантования, так что переполнение или неполное заполнение не происходит.
Модуль 121 пропуска ортогонального преобразования управляет выполнением процесса ортогонального преобразования в модуле 104 ортогонального преобразования. Кроме того, в соответствии с управлением модуль 121 пропуска ортогонального преобразования управляет процессом квантования через модуль 105 квантования, процессом инверсного квантования через модуль 108 инверсного квантования, процессом инверсного ортогонального преобразования через модуль 109 инверсного ортогонального преобразования и процессом фильтрации удаления блочности через фильтр 111 удаления блочности. Дополнительно, модуль 121 пропуска ортогонального преобразования подает необходимую информацию о пропуске процесса ортогонального преобразования и информацию о квантовании или фильтре удаления блочности на модуль 106 кодирования без потерь и передает поданную информацию из накопительного буфера 107 на сторону декодирования.
Модуль кодирования
В системе AVC описывается иерархическая структура, содержащая макроблок и субмакроблок. Однако размер макромодуля 16 пикселей × 16 пикселей совершенно непригоден для большого кадра изображения, такого как кадр со сверхвысокой разрешающей способностью (UHD; 4000 пикселей × 2000 пикселей), который будет предметом системы кодирования следующего поколения.
Таким образом, например, кодируемый блок (CU) описывается в системе HEVC, показанной на фиг. 2.
CU также называют блоком дерева кодирования (СТВ) и он является частичной областью изображения в блоке картинки, который выполняет ту же самую роль, что и макроблок в системе AVC. Последний имеет фиксированный размер 16x16 пикселей, тогда как размер первого не фиксирован и, таким образом, описывается в информации о сжатии изображения в каждой последовательности.
Например, в наборе параметров последовательности (Sequence Parameter Set, SPS), содержащемся в кодированных данных, которые должны выводиться, определяются максимальный размер (LCU (Largest Coding Unit, наибольший модуль кодирования)) и минимальный размер (SCU (Smallest Coding Unit, наименьший модуль кодирования)) блока CU.
Каждый LCU может дополнительно делиться на меньшие CU, устанавливая флаг split_flag=1 внутри диапазона, не падающего ниже размера SCU. В примере, показанном на фиг. 2, размер LCU равен 128×128 пикселей, тогда как максимальная иерархическая глубина составляет 5. CU с размером 2N×2N пикселей делится на CU с размером N×N пикселей, которые находятся в иерархии на один уровень ниже, когда значение флага split_flag равно "1".
Дополнительно, CU делится на блок предсказания (PU), являющийся областью (частичной областью изображения в блоке картинки), которая должна быть блоком обработки для внутрикадрового или межкадрового предсказания, и делится также на блок преобразования (TU), являющийся областью (частичной областью изображения в блоке картинки), которая должна быть блоком обработки для ортогонального преобразования. В настоящее время система HEVC может выполнять 16×16 и 32×32 ортогональных преобразований в дополнение к ортогональным преобразованиям 4×4 и 8×8.
Как и в упомянутой выше системе HEVC, в случае системы кодирования, в которой CU определяется и различные типы обработки выполняются для CU как блока, считается, что макроблок в системе AVC соответствует LCU, а блок (субблок) соответствует CU. Кроме того, считается, что блок компенсации движения в системе AVC соответствует PU. Однако, поскольку CU имеет иерархическую структуру, размер LCU на самом верхнем уровне обычно устанавливается большим, чем макроблок в системе AVC, например, 128×128 пикселей.
Поэтому здесь далее предполагается, что LCU также содержит макроблок в системе AVC и CU также содержит блок (субблок) в системе AVC. То есть термин "блок", используемый в последующем описании, указывает любую частичную область внутри картинки и не ограничивается размерами, формой, характеристиками блока и т.д. Другими словами, любая область (блок обработки), например, TU, PU, SCU, CU, LCU, субблок, макроблок или срез, содержится в понятии "блок". Естественно, частичные области (блоки обработки), отличные от этих областей, также содержатся в этом определении. Описание, по мере необходимости, соответственно приводится для случая ограничения размеров или блока обработки.
Далее будут описаны основные технические элементы, связанные с настоящей технологией.
Матрица квантования
Как и в AVC, квантование коэффициента ортогонального преобразования выполняется для каждого процессорного модуля ортогонального преобразования в HEVC. Матрица квантования используется для квантования, но матрица квантования подготавливается для каждого размера процессорного блока ортогонального преобразования. Однако, например, когда передается большая матрица квантования, такая как матрица 16×6 или матрица 32×32, существует проблема, что эффективность кодирования снижается.
Здесь, как показано на фиг. 3, большая матрица квантования (или матрица квантования больше заданного размера), например, матрица 16×16 или матрица 32×32 передается в размере 8×8 и дискретизация повышается посредством удержания нулевого порядка, которое должно применяться к каждому размеру ортогонального преобразования. Дополнительно, отдельно в матрицу, к которой применяется повышающая дискретизация, передается постоянная составляющая (DC).
В HEVC, как показано на фиг. 4-7, информация о матрице квантования (Scaling List, список масштабирования) передается в набор параметров последовательности (SPS) или в набор параметров картинки (PPS). На фиг. 4 и 5 показаны примеры набора параметров последовательности. На фиг. 6 и 7 показаны примеры набора параметров картинки.
Фильтр удаления блочности
Как и в AVC, в HEVC фильтр удаления блочности определяется в контуре компенсации движения. Фильтр удаления блочности выполняет процесс фильтрации для уменьшения блочного искажения, происходящего на границах блоков.
То есть при фильтрации удаления блочности обнаруживаются границы блока, а тип или сила фильтрации, смещение и т.п. определяются, основываясь на параметрах квантования и т.п. на границах блока, выполняя, таким образом, процесс фильтрации.
Выбор режима
Однако, чтобы достигнуть более высокой эффективности кодирования в системах кодирования AVC и HEVC, важно выбрать соответствующий режим предсказания.
В качестве примера способа выбора может использоваться способ, который реализуется в эталонном программном обеспечении под названием "совместная модель"(JM) в H.264/MPEG-4/AVC (которое доступно по адресу http://iphome.hhi.de/suehring/tml/index.htm).
Программное обеспечение JM позволяет выбрать способ принятия решения о режиме из двух режимов, режима высокой сложности, High Complexity Mode, и режима низкой сложности, Low Complexity Mode, которые будут описаны ниже. В любом из режимов вычисляется значение функции стоимости для каждого режима предсказания "Mode" и режим предсказания, минимизирующий значение функции стоимости, выбирается в качестве оптимального режима для блока или макроблока.
В режиме высокой сложности функция стоимости выражается следующим уравнением (1).
Здесь, "Ω" представляет универсальный набор возможных режимов для кодирования блока или макроблока и "D" представляет энергетическую разницу между декодированным изображением и входным изображением, когда кодирование выполняется в режиме предсказания. "λ" представляет множитель Лагранжа, заданный как функция параметра квантования. "R" представляет общий объем кодирования, в том числе коэффициента ортогонального преобразования, когда кодирование выполняется в определенном режиме.
То есть, чтобы выполнить кодирование в режиме высокой сложности, требуется больший объем вычислений, поскольку необходимо выполнять процесс временного кодирования во всех возможных режимах, чтобы вычислить параметры D и R.
В режиме низкой сложности функция стоимости выражается следующим уравнением (2).
Здесь "Ω" представляет энергетическую разность между предсказанным изображением и входным изображением и отличается от режима высокой сложности. "QP2Quant (QP)" задается как функция параметра квантования QP и "HeaderBit" является объемом кодирования, связанным с информацией, принадлежащей заголовку, Header, такой как вектор движения или режим, не содержащей коэффициент ортогонального преобразования.
То есть в режиме низкой сложности, Low Complexity Mode, хотя процесс предсказания необходимо выполнять для каждого из соответствующих возможных режимов, поскольку нет необходимости получать декодированное изображение, нет необходимости выполнять процесс кодирования. Таким образом, режим низкой сложности может реализовываться при меньшем объеме вычислений, чем режим высокой сложности.
Пропуск ортогонального преобразования
В сущности, в стандарте HEVC используется технология "пропуска внутрикадрового преобразования" (Intra Transform Skipping), предложенная в непатентном документе 2. Пропуск ортогонального преобразования (Transform Skip) является технологией исключения (пропуска) процесса ортогонального преобразования.
В целом, процесс ортогонального преобразования выполняется для данных изображения (дифференциальных данных изображения) для каждого блока, чтобы преобразовать информацию пространственного домена в блоке в информацию частотного домена, позволяя, таким образом, коэффициентам в блоке концентрироваться на пониженной частоте и, таким образом, возможно, увеличивать отклонение. Таким образом, эффективность кодирования улучшается.
Однако можно также считать, что существует случай, в котором такое отклонение менее вероятно должно произойти в соответствии с конструкциями в блоке. Например, по сравнению с естественными изображениями, градация или резкий край легче возникает в искусственных изображениях, таких как изображения CG или заголовки. По этой причине легко возникает высокочастотная составляющая и маловероятно, что отклонение будет происходить, даже когда выполняется процесс ортогонального преобразования. Поэтому, разрешая пропуск процесса ортогонального преобразования в таком блоке, можно дополнительно улучшить эффективность кодирования.
Дополнительно, в последующем описании пропуск процесса ортогонального преобразования упоминается как пропуск ортогонального преобразования (Transform Skip) и блок, в котором применяется пропуск ортогонального преобразования (Transform Skip), также упоминается как блок с пропуском ортогонального преобразования. Кроме того, блок, к которому пропуск ортогонального преобразования не применяется (ортогональное преобразование выполняется), также упоминается как блок без пропуска ортогонального преобразования.
В этой технологии сначала в набор параметров последовательности (SPS) передается флаг, указывающий, может ли в последовательности применяться пропуск ортогонального преобразования (Transform Skip).
Флаг (transform_skip_enabled_flag), который является информацией разрешения пропуска, указывающей, разрешается или запрещается пропуск ортогонального преобразования (TransformSkip), передается в набор параметров последовательности (SPS), как показано на фиг. 5.
Эта информация о разрешении пропуска (transform_skip_enabled_flag) устанавливается, например, пользователем или т.п. Когда это значение равно 1, пропуск ортогонального преобразования (TransformSkip) может применяться к блокам 4×4 ортогонального преобразования яркости или к блокам 4x4 ортогонального преобразования цветности.
Затем для каждого блока определяется включение/выключение пропуска ортогонального преобразования (TransformSkip) и передается флаг о его включении/выключении.
Эффективность кодирования
Независимо от такого управления пропуском ортогонального преобразования, процесс энтропийного кодирования, процесс квантования, процесс контурной фильтрации и т.п. выполняются постоянно. То есть, как и для блока без пропуска ортогонального преобразования, процесс энтропийного кодирования, процесс квантования, процесс контурной фильтрации и т.п. также выполняются для блока с пропуском ортогонального преобразования.
Однако матрица квантования является весовым коэффициентом, относящимся к частотному домену. То есть матрица квантования проектируется таким образом, чтобы применяться к блоку коэффициентов ортогонального преобразования. Соответственно, когда такая матрица квантования применяется к блоку, имеющему значение пространственного домена (дифференциальные данные изображения), эффективность кодирования может снижаться. То есть качество изображения может ухудшаться.
Кроме того, как описано выше, пропуск ортогонального преобразования применяется к изображению, в котором имеется тенденция появления высокочастотной составляющей. Поэтому существует высокая вероятность, что содержание изображения блока с пропуском ортогонального преобразования значительно отличается от содержания изображения блока без пропуска ортогонального преобразования. То есть блочное искажение легко возникает на границе между блоком с пропуском ортогонального преобразования и блоком без пропуска ортогонального преобразования.
Поэтому, как и на других границах, когда процесс фильтрации удаления блочности выполняется на границе между блоком с пропуском ортогонального преобразования и блоком без пропуска ортогонального преобразования, эффективность кодирования может снижаться. То есть качество изображения может ухудшаться.
Управление, соответствующее пропуску ортогонального преобразования
Таким образом, процесс кодирования управляется в соответствии с тем, является ли текущий блок блоком с пропуском ортогонального преобразования (TransformSkip). Более конкретно, процесс квантования (процесс инверсного квантования) процесса кодирования и процесса декодирования управляются.
Управление процессом квантования
Например, в случае процесса квантования процесс квантования выполняется на блоке без пропуска ортогонального преобразования, в котором ортогональное преобразование выполняется, используя матрицу квантования, и процесс квантования выполняется на блоке с пропуском ортогонального преобразования, в котором ортогональное преобразование пропускается, используя один весовой коэффициент вместо матрицы квантования. То есть все коэффициенты блока с пропуском ортогонального преобразования, служащего в качестве текущего блока, квантуются, используя один весовой коэффициент.
Это состояние представлено на фиг. 8. Например, как показано на фиг. 8, квантование выполняется на блоке без пропуска ортогонального преобразования (матрице коэффициентов ортогонального преобразования), используя матрицу квантования, как на предшествующем уровне техники.
С другой стороны, блок 4×4 с пропуском ортогонального преобразования (матрица дифференциального значения предшествующего ортогонального преобразования) квантуется, используя матрицу весовых коэффициентов, полученную квантованием одного весового коэффициента. Естественно, фактический способ вычисления является произвольным, но выполняющим, главным образом, вычисление, эквивалентное описанному, используя матрицу весовых коэффициентов.
Коэффициент взвешивания является произвольным. Например, коэффициент взвешивания может содержать скалярное значение. Например, постоянная составляющая (DC) матрицы квантования может быть весовым коэффициентом. Матрица квантования является весовым коэффициентом, относящимся к частотному домену, но постоянная составляющая является значением, относящимся к частотному домену, а также значением, относящимся к пространственному домену. Если присутствует только постоянная составляющая матрицы квантования, имеющей эти характеристики, маловероятно, что это должно вести к снижению эффективности кодирования, даже когда квантование применяется к каждому коэффициенту блока с пропуском ортогонального преобразования, являющемуся значением, относящимся к пространственному домену.
В этом случае, как показано на фиг. 8, постоянные составляющие извлекаются из матрицы квантования и матрица весовых коэффициентов генерируется путем перегруппировки извлеченных постоянных составляющих в матрицу 4x4, квантуя тем самым блок 4×4 с пропуском ортогонального преобразования (матрица дифференциального значения предшествующего ортогонального преобразования), используя матрицу весовых коэффициентов.
Дополнительно, например, помимо матрицы квантования весовой коэффициент может формироваться произвольно. Способ генерирования весового коэффициент является произвольным. Даже в этом случае, как показано на фиг. 8, матрица весовых коэффициентов генерируется путем перегруппировки весового коэффициента в матрицу 4×4, тем самым квантуя блок 4×4 с пропуском ортогонального преобразования (матрицу дифференциального значения предшествующего ортогонального преобразования), используя матрицу весового коэффициента. Таким образом, например, только участок, к которому применяется блок с пропуском ортогонального преобразования (например, изображение CG), может легко управляться, чтобы улучшить качество изображения и т.п., используя весовой коэффициент, независимый от матрицы квантования, если сравнивать его с другим участком.
Дополнительно, в этом случае весовой коэффициент может вычисляться тем же самым способом, так что значение на стороне кодирования является тем же самым, что и на стороне декодирования, и может передаваться на сторону декодирования со стороны кодирования.
В случае передачи весового коэффициента, когда значение информации о разрешении пропуска (transform_skip_enabled_flag) является значением (например, 1), которое разрешает пропуск ортогонального преобразования, передается скалярное значение квантования (весовой коэффициент), поданное на блок с пропуском ортогонального преобразования. По этой причине, набор параметров последовательности и набор параметров картинки, описанные со ссылкой на фиг. 4-7, изменяются следующим образом.
В качестве первого изменения, информация разрешения пропуска (transform_skip_enabled_flag) передается раньше, чем матрица квантования (scaling list).
В качестве второго изменения, информация разрешения пропуска (transform_skip_enabled_flag) также передается на PPS, так что SPS является независимым от PPS с точки зрения синтаксического анализа.
То есть SPS выполняется, как показано на фиг. 9 и 10, и PPS выполняется, как показано на фиг. 11 и 12.
Дополнительно, весовой коэффициент может генерироваться, вычисляя среднее значение или т.п., используя, например, постоянную составляющую матрицы квантования, которая применяется для квантования периферийного блока, расположенного на периферии текущего блока. Такой способ вычисления является произвольным и может быть отличным от вычисления среднего значения.
Даже в этом случае, как показано на фиг. 8, матрица весовых коэффициентов генерируется путем перегруппировки весового коэффициента в матрицу 4×4, тем самым квантуя блок 4×4 с пропуском ортогонального преобразования (матрицу дифференциального значения предшествующего ортогонального преобразования), используя матрицу весового коэффициента. Таким образом, весовой коэффициент вычисляется, используя матрицу квантования периферийного блока и, таким образом, в такой же манере можно также легко вычислять весовой коэффициент на стороне декодирования, как на стороне кодирования. То есть передача весового коэффициента может быть пропущена и эффективность кодирования тем самым может быть улучшена.
Управление фильтром удаления блочности
Далее будет описано управление фильтром удаления блочности. Чтобы для пропуска ортогонального преобразования (TransformSkip) улучшить эффективность кодирования области, содержащей изображения CG или заголовки, учитывается, что блочное искажение, вероятно, должно происходить на границе между блоком с пропуском ортогонального преобразования и блоком без пропуска ортогонального преобразования.
Таким образом, выполняется обнаружение, входят ли в контакт друг с другом на границе блоков блок с пропуском ортогонального преобразования и блок без пропуска ортогонального преобразования, и регулировка силы фильтра удаления блочности выполняется на границе между блоком с пропуском ортогонального преобразования и блоком без пропуска ортогонального преобразования выполняется следующим образом, чтобы сделать фильтрацию удаления блочности легко выполняемой.
Например, когда процесс фильтрации удаления блочности применяется к границе между блоком с пропуском ортогонального преобразования и блоком без пропуска ортогонального преобразования, значение силы на границе (bs), действующей в качестве силы на границе блоков, устанавливается равным "+1". Увеличивая значение таким способом, управление выполняется так, чтобы применять более сильную фильтрацию. То есть более сильный фильтр удаления блочности может применяться к границе между блоком с пропуском ортогонального преобразования и блоком без пропуска ортогонального преобразования. Дополнительно, вместо установки значения bs равным +1, значение bs может фиксироваться на большее значение, такое как, например, 2 и т.п.
Кроме того, например, регулировка силы фильтра выполняется, исходя из таких параметров, как значение bs, α и β, но сильный фильтр может применяться к границе между блоком с пропуском ортогонального преобразования и блоком без пропуска ортогонального преобразования, независимо от результата управления силой такого фильтра. То есть более сильный фильтр удаления блочности может более полно применяться к границе между блоком с пропуском ортогонального преобразования и блоком без пропуска ортогонального преобразования.
Дополнительно, для примера, граница между блоком с пропуском ортогонального преобразования и блоком без пропуска ортогонального преобразования может устанавливаться как меньшее смещение по сравнению с β и tc. Таким образом, фильтр удаления блочности можно легко применять к границе между блоком с пропуском ортогонального преобразования и блоком без пропуска ортогонального преобразования.
Применяя регулировку силы фильтра удаления блочности, как описано выше, можно легче применять фильтр удаления блочности к границе между блоком с пропуском ортогонального преобразования и блоком без пропуска ортогонального преобразования и повышать эффективность выводимой информации о сжатии изображения.
Дополнительно рассматриваются многочисленные способы применения фильтра удаления блочности, как описано выше, и он может использоваться в комбинации с многочисленными способами. Естественно, в таких способах могут присутствовать способы, отличные от описанных выше.
Пример конфигурации блока с пропуском ортогонального преобразования и т.п. На фиг. 13 представлена блок-схема примера основной конфигурации модуля 121 пропуска ортогонального преобразования и т.п.
Как показано на фиг. 12, модуль 121 пропуска ортогонального преобразования выполнен с возможностью содержания в нем модуля 131 кодирования пропуска и модуля 132 определения пропуска.
Модуль 131 кодирования пропуска получает коэффициент ортогонального преобразования и дифференциальное значение предшествующего ортогонального преобразования текущего блока от модуля 104 ортогонального преобразования, когда текущий блок является блоком 4×4. Модуль 131 кодирования пропуска выполняет процесс кодирования в случае, когда пропуск ортогонального преобразования не применяется, используя поданный коэффициент ортогонального преобразования, и генерирует его значение функции стоимости. Кроме того, модуль 131 кодирования пропуска выполняет процесс кодирования в случае, когда пропуск ортогонального преобразования применяется, используя поданное дифференциальное значение предшествующего ортогонального преобразования, и генерирует его значение функции стоимости. Модуль 131 кодирования пропуска подает определенные значения функции стоимости на модуль 132 определения пропуска.
Дополнительно, когда текущий блок больше блока 4×4, модуль 131 кодирования пропуска исключает такой процесс. В этом случае модуль 132 определения пропуска подает сигнал управления, который выдает команду на выполнение ортогонального преобразования на модуль 104 ортогонального преобразования. Модуль 104 ортогонального преобразования выполняет ортогональное преобразование текущего блока, основываясь на поданном управлении.
Модуль 132 определения пропуска собирает информацию разрешения пропуска (transform_skip_enabled_flag), указывающую, разрешается ли пропуск процесса ортогонального преобразования от модуля 106 кодирования без потерь. Эта информация о разрешении пропуска (transform_skip_enabled_flag) устанавливается заранее, например, пользователем и т.п., и сохраняется в модуле 106 кодирования без потерь. Модуль 132 определения пропуска подает сигнал управления для подачи команды разрешения пропуска ортогонального преобразования, соответствующей информации о разрешении пропуска (transform_skip_enabled_flag), на модуль 104 ортогонального преобразования.
Например, когда информация о разрешении пропуска (information (transform_skip_enabled_flag) указывает, что пропуск ортогонального преобразования (например, значение, равное 1) разрешается, модуль 132 определения пропуска подает сигнал управления для разрешения пропуска ортогонального преобразования на модуль 104 ортогонального преобразования. Кроме того, когда информация о разрешении пропуска (transform_skip_enabled_flag) указывает, что пропуск ортогонального преобразования (например, значение, равное 0) запрещается, модуль 132 определения пропуска подает сигнал управления для запрещения пропуска ортогонального преобразования на модуль 104 ортогонального преобразования.
Кроме того, модуль 132 определения пропуска определяет оптимальный режим, основываясь на значениях функции стоимости, поданных от модуля 131 кодирования пропуска. То есть определяется, применять ли пропуск ортогонального преобразования (TransformSkip) к текущему блоку. Модуль 132 определения пропуска подает результат определения (информацию, указывающую определенный оптимальный режим) в качестве сигнала управления на модуль 104 ортогонального преобразования, модуль 105 квантования, фильтр 111 удаления блочности, модуль 108 инверсного квантования и модуль 109 инверсного ортогонального преобразования.
Кроме того, модуль 132 определения пропуска генерирует информацию идентификации пропуска (TransformSkipFlag) для идентификации определенного результата (подавать ли пропуск ортогонального преобразования на текущий блок) и подает и передает информацию идентификации пропуска на модуль 106 кодирования без потерь.
Что касается дифференциального значения предшествующего ортогонального преобразования, полученного от модуля 103 вычислений, то модуль 104 ортогонального преобразования генерирует коэффициент ортогонального преобразования и дифференциальное значение предшествующего ортогонального преобразования текущего блока, которое не запрещается сигналом управления, поданным от модуля 131 кодирования пропуска во всех режимах. Модуль 104 ортогонального преобразования подает сгенерированный коэффициент ортогонального преобразования и дифференциальное значение предшествующего ортогонального преобразования текущего блока на модуль 131 кодирования.
Дополнительно, когда пропуск ортогонального преобразования запрещается сигналом управления, модуль 104 ортогонального преобразования подает на модуль 131 кодирования пропуска только коэффициент ортогонального преобразования текущего блока.
Как описано выше, когда в модуле 121 пропуска ортогонального преобразования определяется режим, модуль 104 ортогонального преобразования получает сигнал управления, подаваемый от модуля 132 определения пропуска, и выполняет процесс назначенного режима, соответствующего управлению. То есть модуль 104 ортогонального преобразования выполняет или пропускает процесс ортогонального преобразования. В случае выполнения, модуль ортогонального преобразования подает коэффициент ортогонального преобразования на модуль 105 квантования, а в случае пропуска, подает дифференциальное значение предшествующего ортогонального преобразования на модуль 105 квантования.
Таким образом, модуль 104 ортогонального преобразования может должным образом выполнять ортогональное преобразование, которое необходимо, чтобы уменьшать снижение эффективности кодирования, и, таким образом, возможно уменьшать ухудшение качества изображения из-за кодирования/декодирования
Дополнительно, модуль 104 ортогонального преобразования сохраняет коэффициент ортогонального преобразования и дифференциальное значение предшествующего ортогонального преобразования текущего блока во всех режимах, которые должны подаваться на модуль 131 кодирования пропуска, и может выбирать из коэффициентов и значений коэффициент ортогонального преобразования и дифференциальное значение предшествующего ортогонального преобразования в режиме, соответствующем сигналу управления, поданному от модуля 132 определения пропуска, чтобы подать их в модуль 105 квантования. Таким образом, можно пропустить процесс и снизить нагрузку.
Как показано на фиг. 13, модуль 105 квантования выполнен с возможностью введения в него модуля 141 установки матрицы квантования, модуля 142 генерирования весовых коэффициентов и модуля 143 процесса квантования.
Модуль 141 установки матрицы квантования подает матрицу квантования, установленную пользователем и т.п., на модуль 142 генерирования весовых коэффициентов.
Модуль 142 генерирования весовых коэффициентов получает сигнал управления, поданный от модуля 132 определения пропуска. Модуль 142 генерирования весовых коэффициентов подает матрицу квантования или весовой коэффициент на модуль 143 процесса квантования, основываясь на управлении сигналом управления.
Например, когда пропуск ортогонального преобразования не применяется, модуль 142 генерирования весовых коэффициентов подает на модуль 143 процесса квантования матрицу квантования, которая подается от модуля 141 установки матрицы квантования в режиме, назначенном сигналом управления.
Кроме того, например, когда пропуск ортогонального преобразования применяется, модуль 142 генерирования весовых коэффициентов генерирует весовой коэффициент и подает сгенерированный весовой коэффициент на модуль 143 процесса квантования. Как описано выше, способ генерирования весового коэффициента является произвольным. Например, постоянная составляющая, извлеченная из матрицы квантования, поданной от модуля 141 установки матрицы квантования, может быть установлена в качестве весового коэффициента, помимо матрицы квантования, поданной от модуля 141 установки матрицы квантования, может быть установлен другой весовой коэффициент и весовой коэффициент может вычисляться из постоянной составляющей матрицы квантования периферийного блока.
Модуль 143 процесса квантования квантует коэффициент ортогонального преобразования или дифференциальное значение предшествующего ортогонального преобразования, поданное от модуля 104 ортогонального преобразования, используя матрицу квантования или весовой коэффициент, поданный от модуля 142 генерирования весовых коэффициентов, и параметр квантования и т.п., поданный от модуля 117 управления скоростью.
То есть модуль 143 процесса квантования квантует коэффициент ортогонального преобразования текущего блока, используя матрицу квантования, параметр квантования и т.п., когда коэффициент ортогонального преобразования подается от модуля 104 ортогонального преобразования. Кроме того, модуль 143 процесса квантования квантует дифференциальное значение предшествующего ортогонального преобразования текущего блока, используя весовой коэффициент и т.п., когда дифференциальное значение предшествующего ортогонального преобразования подается от модуля 104 ортогонального преобразования.
Модуль 143 процесса квантования подает квантованный коэффициент на модуль 106 кодирования без потерь и модуль 108 нверсного квантования. Кроме того, если необходимо, модуль 143 процесса квантования подает и передает параметр, относящийся к квантованию, например, весовой коэффициент и т.п., на модуль 106 кодирования без потерь.
Таким образом, модуль 143 процесса квантования может соответственно выполнять квантование, так чтобы уменьшать ухудшение качества изображения. Соответственно, устройство 100 кодирования изображения может устранять ухудшение качества изображения из-за кодирования/декодирования. Другими словами, устройство 100 кодирования изображения может повышать эффективность кодирования.
Дополнительно, модуль 143 процесса квантования может подавать матрицу квантования или весовой коэффициент, применяемый к процессу квантования, вместе, например, с квантованным коэффициентом, на модуль 108 инверсного квантования.
Дополнительно, поскольку процессорный блок, подобный модулю 108 инверсного квантования и модулю 109 инверсного ортогонального преобразования, также генерируется в устройстве декодирования изображения, которое должно быть описано ниже, описание его также применимо к модулю 108 инверсного квантования и модулю 109 инверсного ортогонального преобразования и, таким образом, подробное описание модуля 108 инверсного квантования и модуля 109 инверсного ортогонального преобразования представляться не будет.
Как показано на фиг. 13, фильтр 111 удаления блочности выполнен с возможностью введения в него модуля 151 определения границ, модуля 152 регулирования силы фильтрации и модуля 153 фильтрации.
Модуль 151 определения границ получает сигнал управления, подаваемый от модуля 132 определения пропуска, в отношении текущего блока. Дополнительно, модуль 151 определения границ получает информацию идентификации пропуска (TransformSkipFlag) для определения, применять ли пропуск ортогонального преобразования к периферийному блоку текущего блока (TransformSkipFlag). Модуль 151 определения границ, основываясь на такой информации, определяет, является ли текущая граница между блоками границей между блоком с пропуском ортогонального преобразования и блоком без пропуска ортогонального преобразования, и подает сигнал управления, указывающий полученный результат, на модуль 152 определения силы фильтрации.
Модуль 152 регулирования силы фильтрации генерирует различные параметры, такие как значение Bs, α, β и tc, и определяет силу фильтрации фильтра удаления блочности, основываясь на этих значениях и сигнале управления, поданном от модуля 151 определения границ. То есть модуль 152 регулирования силы фильтрации определяет силу фильтрации фильтра удаления блочности, основываясь на значениях различных параметров, таких как сгенерированное значение Bs, α, β и tc, когда текущая граница между блоками не является границей между блоком с пропуском ортогонального преобразования и блоком без пропуска ортогонального преобразования. Кроме того, когда граница текущего блока является границей между блоком с пропуском ортогонального преобразования и блоком без пропуска ортогонального преобразования, модуль 152 регулирования силы фильтрации дополнительно делает силу фильтрации сильной, основываясь на сигнале управления, любым способом, например, как описано выше.
Таким образом, модуль 152 регулирования силы фильтрации уведомляет модуль 153 фильтрации об установленной силе фильтрации.
Модуль 153 фильтрации выполняет процесс фильтрации удаления блочности для пиксельного значения предшествующей фильтрации удаления блочности границы блока, поданной от модуля 110 вычислений, с силой фильтрации, поданной от модуля 152 регулирования фильтрации. Модуль 153 фильтрации подает пиксельное значение после фильтрации удаления блочности в кадровую память 112 для его сохранения в ней. Эта информация используется в процессе внутрикадрового или межкадрового предсказания.
Таким образом, фильтр 111 удаления блочности может выполнять процесс фильтрации на границе между блоком с пропуском ортогонального преобразования и блоком без пропуска ортогонального преобразования, так что применяется более сильная фильтрация. Соответственно, ухудшение качества изображения дополнительно снижается. То есть устройство 100 кодирования изображения может уменьшать ухудшение качества изображения из-за кодирования/декодирования. Другими словами, устройство 100 кодирования изображения может повышать эффективность кодирования.
Последовательность выполнения операций процесса кодирования
Далее будет описана последовательность выполнения индивидуальных операций процессов, которые должны выполняться устройством 100 кодирования изображения, как представлено выше. Сначала, со ссылкой на блок-схему последовательности выполнения операций, показанную на фиг. 14, будет описан пример последовательности выполнения операций процесса кодирования.
На этапе S101 модуль 106 кодирования без потерь генерирует информацию разрешения пропуска (transform_skip_enabled_flag), указывающую, разрешается ли пропуск процесса ортогонального преобразования, основываясь, например, на команде пользователя и т.п. Например, информация о разрешении пропуска (transform_skip_enabled_flag) передается в SPS.
На этапе S102 A/D-преобразователь 101 выполняет A/D-преобразование входного изображения. На этапе S103 буфер 102 реорганизации экрана сохраняет изображение, полученное при A/D-преобразовании, и реорганизует соответствующие картинки, следующие в порядке отображения, в порядок кодирования. На этапе S104 модуль 114 внутрикадрового предсказания выполняет процесс внутрикадрового предсказания в режиме внутрикадрового предсказания.
На этапе S105 модуль 115 предсказания/компенсации движения выполняет процесс межкадрового предсказания движения, в котором предсказание движения или компенсация движения выполняются в режиме межкадрового предсказания.
На этапе S106 модуль 116 выбора предсказанного изображения определяет оптимальный режим, основываясь на каждом из значений функции стоимости, выведенных из модуля 114 внутрикадрового предсказания и модуля 115 предсказания/компенсации движения. То есть модуль 116 выбора предсказанного изображения выбирает либо предсказанное изображение, сгенерированное модулем 114 внутрикадрового предсказания, либо предсказанное изображение, сгенерированное модулем 115 предсказания/компенсации движения.
На этапе S107 модуль 103 вычислений вычисляет разницу между перегруппированным изображением, полученным в процессе, выполняемом на этапе S103, и предсказанным изображением, выбранным в процессе на этапе S106. Разностные данные имеют меньший объем данных по сравнению с первоначальными данными изображения. Соответственно, объем данных может быть сжат по сравнению со случаем, когда изображения кодируются напрямую.
На этапе S108 модуль 121 с пропуском ортогонального преобразования выполняет процесс управления пропуском ортогонального преобразования.
На этапе S109 модуль 104 ортогонального преобразования выполняет процесс ортогонального преобразования для разностной информации, сгенерированной в процессе на этапе S107 в соответствии с результатом процесса на этапе S108.
На этапе S110 модуль 105 квантования квантует коэффициент ортогонального преобразования или дифференциальное значение предшествующего ортогонального преобразования, полученное в процессе на этапе S109, используя параметр квантования, поданный от модуля 117 управления скоростью, в соответствии с результатом процесса на этапе S108.
Разностная информация, квантованная в процессе на этапе S108, локально декодируется следующим образом. То есть на этапе S111 модуль 108 инверсного квантования выполняет инверсное квантование квантованного коэффициента ортогонального преобразования (также упоминаемого как коэффициент квантования), сгенерированного в процессе на этапе S111, с характеристиками, соответствующими характеристикам модуля 105 квантования, в соответствии с результатом процесса на этапе S108. На этапе S112 модуль 109 инверсного ортогонального преобразования выполняет инверсное ортогональное преобразование коэффициента ортогонального преобразования или дифференциального значения предшествующего ортогонального преобразования, полученного в процессе на этапе S111, в соответствии с результатом процесса на этапе S108.
Поскольку описание каждого процесса обработки на этапе S111 и этапе S112 соответствует описанию подобного процесса, который должен выполняться в процессе декодирования, его подробное описание не приводится.
На этапе S113 модуль 110 вычислений добавляет предсказанное изображение к локально декодированной разностной информации, чтобы сгенерировать локально декодированное изображение (изображение, соответствующее изображению, введенному в модуль 103 вычислений).
На этапе S114 фильтр 111 удаления блочности соответственно выполняет процесс фильтрации удаления блочности локально декодированного изображения, полученного в процессе на этапе S113, в соответствии с результатом процесса, выполненного на этапе S108.
На этапе S115 кадровая память 112 сохраняет декодированное изображение, подвергнутое процессу фильтрации удаления блочности посредством обработки на этапе S114. Дополнительно, изображения, не подвергнутые фильтрации фильтром 111 удаления блочности, также подаются от модуля 110 вычислений и сохраняются в кадровой памяти 112.
На этапе S116 модуль 106 кодирования без потерь кодирует квантованный коэффициент в процессе на этапе S108. То есть кодирование без потерь, такое как кодирование переменной длины или арифметическое кодирование, выполняется для данных, соответствующих разностному изображению.
Кроме того, в этом случае модуль 106 кодирования без потерь кодирует информацию о режиме предсказания предсказанного изображения, выбранном в процессе на этапе S106, и суммирует кодированную информацию с кодированными данными, полученными при кодировании разностного изображения. То есть модуль 106 кодирования без потерь также кодирует информацию, такую как информация об оптимальном режиме внутрикадрового предсказания, поданную от модуля 114 внутрикадрового предсказания, или информацию, соответствующую оптимальному режиму межкадрового предсказания, поданную от модуля 115 компенсации/предсказания движения, и суммирует кодированную информацию с кодированными данными.
Дополнительно, модуль 106 кодирования без потерь соответственно дополнительно кодирует информацию об ортогональном преобразовании или квантовании и кодированную информацию в кодированные данные.
На этапе S117 накопительный буфер 107 накапливает кодированные данные, полученные в процессе на этапе S116. На этапе S117 кодированные данные, накопленные в накопительном буфере 107, соответственно считываются и передаются на сторону декодирования через путь прохождения передачи или через носитель записи.
На этапе S118 модуль 117 управления скоростью управляет скоростью операции квантования модуля 105 квантования, так чтобы не вызывать переполнения или недостаточного заполнения, основываясь на объеме кодирования (сгенерированном объеме кодирования) кодированных данных, накопленных в накопительном буфере 107 в процессе на этапе S117. Кроме того, модуль 117 управления скоростью подает на модуль 105 квантования информацию о параметре квантования.
Процесс кодирования заканчивается, когда заканчивается процесс на этапе S116.
Последовательность выполнения процесса управления пропуском ортогонального преобразования
Далее, со ссылкой на блок-схему последовательности выполнения операций, показанную на фиг. 15, будет описана последовательность выполнения операций процесса управления пропуском ортогонального преобразования, выполняемого на этапе S108, показанном на фиг. 14.
Когда процесс управления пропуском ортогонального преобразования начинается, модуль 132 определения пропуска на этапе S131, основываясь на информации разрешения пропуска (transform_skip_enabled_flag), определяет, разрешается ли режим TransformSkip, в котором выполняется пропуск ортогонального преобразования.
Когда определено, что режим TransformSkip разрешен, процесс переходит к этапу S132. На этапе S132 модуль 132 определения пропуска разрешает режим TransformSkip, который должен вводиться в возможный режим. Когда процесс на этапе S132 закончен, процесс переходит к этапу S134.
Дополнительно, когда на этапе S132 определено, что режим TransformSkip не разрешен, процесс переходит к этапу S132. На этапе S133 модуль 132 определения пропуска исключает режим TransformSkip из возможного режима. Когда процесс на этапе S133 закончен, процесс переходит к этапу S134.
На этапе S134 модуль 131 кодирования пропуска выбирает необработанный возможный режим. На этапе S135 модуль 131 кодирования пропуска определяет, является ли выбранный режим режимом ортогонального преобразования (TransformSkip).
Когда определено, что режим ортогонального преобразования (TransformSkip) разрешен, процесс переходит к этапу S136. На этапе S136 модуль 131 кодирования пропуска генерирует весовой коэффициент. Когда процесс на этапе S136 закончен, процесс переходит к этапу S139.
Когда на этапе S135 определено, что выбранный режим не является режимом ортогонального преобразования (TransformSkip), процесс переходит к этапу S137. На этапе S137 модуль 131 кодирования пропуска выполняет ортогональное преобразование на текущем блоке.
На этапе S138 модуль 131 кодирования пропуска получает матрицу квантования.
На этапе S139 модуль 131 кодирования пропуска выполняет операцию кодирования, используя коэффициент ортогонального преобразования, полученный модулем 104 ортогонального преобразования, или разностное значение предшествующего ортогонального преобразования и генерирует значение функции стоимости в отношении текущего режима.
На этапе S140 модуль 131 кодирования пропуска определяет, все ли возможные режимы были обработаны. Когда существуют необработанные возможные режимы, процесс возвращается к этапу S134 и последующие операции процесса исполняются повторно. То есть каждая операция обработки на этапах S134-S140 исполняется повторно до тех пор, пока значение функции стоимости не будет сформировано для всех режимов.
Когда на этапе S140 определено, что все возможные режимы обработаны, процесс переходит к этапу S141. На этапе S141 модуль 132 определения пропуска определяет оптимальный режим, основываясь на значении функции стоимости.
На этапе S142 модуль 132 определения пропуска, основываясь на оптимальном режиме, генерирует информацию TransformSkip идентификации пропуска.
Когда процесс на этапе S142 закончен, процесс управления пропуском ортогонального преобразования заканчивается и обработка возвращается к операции обработки, показанной на фиг. 14.
Последовательность выполнения процесса ортогонального преобразования
Далее, со ссылкой на блок-схему последовательности выполнения операций, показанную на фиг. 16, будет описана последовательность выполнения процесса ортогонального преобразования, выполняемого на этапе S108, показанном на фиг. 14.
Когда процесс ортогонального преобразования начат, модуль 104 ортогонального преобразования на этапе S151 определяет, является ли оптимальный режим, выбранный модулем 132 определения пропуска, режимом пропуска ортогонального преобразования (режимом TransformSkip). Когда определено, что режимом должен быть режим пропуска ортогонального преобразования (режим TransformSkip), процесс переходит к этапу S152.
На этапе S152 модуль 104 ортогонального преобразования пропускает процесс ортогонального преобразования и выводит разностное значение предшествующего ортогонального преобразования текущего блока. Когда процесс на этапе S152 закончен, обработка возвращается к процессу, показанному на фиг. 14.
Дополнительно, на этапе S151, показанном на фиг. 16, когда определено, что режим не должен быть режимом пропуска ортогонального преобразования (режим TransformSkip), процесс переходит к этапу S153.
На этапе S153 модуль 104 ортогонального преобразования выполняет ортогональное преобразование для разностного значения предшествующего ортогонального преобразования текущего блока. На этапе S154 модуль 104 ортогонального преобразования выводит полученный коэффициент ортогонального преобразования. Когда процесс на этапе S154 закончен, обработка возвращается к процессу, показанному на фиг. 14.
Последовательность выполнения действий процесса квантования
Далее, со ссылкой на блок-схему последовательности выполнения операций, показанную на фиг. 17, будет описана последовательность выполнения операций процесса квантования, выполняемого на этапе S110, показанном на фиг. 14.
Когда процесс квантования начат, модуль 142 генерирования весового коэффициента на этапе S161 определяет, является ли оптимальный режим, выбранный модулем 132 определения пропуска, режимом пропуска ортогонального преобразования (режимом TransformSkip). Когда определено, что режимом должен быть режим пропуска ортогонального преобразования (режим TransformSkip), процесс переходит к этапу S162.
На этапе S162 модуль 142 генерирования весового коэффициента генерирует весовой коэффициент. Когда процесс на этапе S162 закончен, процесс переходит к этапу S164.
Дополнительно, когда определено, что режимом не должен быть режим пропуска ортогонального преобразования (режим TransformSkip), процесс переходит к этапу S163.
На этапе S163 модуль 142 генерирования весового коэффициента получает матрицу квантования. Когда процесс на этапе S163 закончен, процесс переходит к этапу S164.
На этапе S164 модуль 143 процесса квантования выполняет квантование коэффициента ортогонального преобразования текущего блока или разностного значения предшествующего ортогонального преобразования, используя весовой коэффициент, сгенерированный на этапе S162, и матрицу квантования, полученную на этапе S163. На этапе S165 модуль 143 процесса квантования подает и передает матрицу квантования и применяемый весовой коэффициент на модуль 106 кодирования без потерь. Когда процесс на этапе S165 закончен, процесс квантования заканчивается и обработка возвращается к процессу, показанному на фиг. 14.
Последовательность выполнения операций процесса фильтрации удаления блочности
Далее, со ссылкой на блок-схему последовательности выполнения операций, показанную на фиг. 18, будет описана последовательность выполнения операций процесса фильтрации удаления блочности, выполняемого на этапе S114, показанном на фиг. 14.
Когда процесс фильтрации удаления блочности начат, модуль 152 регулирования силы фильтрации на этапе S171 получает информацию о режиме, вектор движения, информацию опорного кадра и т.п.
На этапе S172 модуль 152 регулирования силы фильтрации определяет границы блоков TU, PU и т.п. На этапе S173 модуль 152 регулирования силы фильтрации на основе такой информации определяет значение Bs. На этапе S174 модуль 152 регулирования силы фильтрации вычисляет параметр квантования (QP границы) на границе блока, определяя параметры квантования обоих блоков как QP_P и QP_Q как в формуле (3), приведенной ниже.
На этапе S175 модуль 152 регулирования силы фильтрации определяет значение смещения р и значение смещения tc, используя граничный QP, вычисленный, как описано выше. На этапе S176 модуль 152 регулирования силы фильтрации определяет фильтры (сильный, слабый и выключен), обрабатывая вычисленные значения смещения.
На этапе S177 модуль 151 определения границ получает сигнал управления текущего блока от модуля 132 определения пропуска и получает информацию идентификации пропуска (TransformSkipFlag) периферийного блока от модуля 106 кодирования без потерь.
На этапе S178 модуль 151 определения границ определяет, находится ли текущая граница блоков между блоком с пропуском ортогонального преобразования и блоком без пропуска ортогонального преобразования.
Когда определено, что текущая граница блоков находится между блоком с пропуском ортогонального преобразования и блоком без пропуска ортогонального преобразования, процесс переходит к этапу S179. На этапе S179 модуль 152 регулирования силы фильтрации регулирует силу фильтрации фильтра удаления блочности. Когда процесс на этапе S179 закончен, процесс переходит к этапу S180.
Дополнительно, когда на этапе S178 определено, что текущая граница блоков не является границей между блоком с пропуском ортогонального преобразования и блоком без пропуска ортогонального преобразования, процесс переходит к этапу S180.
На этапе S180 модуль 153 фильтрации выполняет процесс фильтрации удаления блочности. Когда процесс на этапе S180 закончен, процесс фильтрации удаления блочности заканчивается и обработка возвращается к процессу, показанному на фиг. 14.
Выполняя каждую операцию обработки, как описано выше, устройство 100 кодирования изображения может уменьшать уменьшение эффективности кодирования и уменьшать ухудшение качества изображения из-за кодирования/декодирования.
2. Второй вариант осуществления
Устройство декодирования изображения
Далее будет описано декодирование кодированных данных (кодированного потока), который кодируется, как описано выше. На фиг. 19 представлен пример основной конфигурации устройства декодирования изображения, соответствующего устройству 100 кодирования, показанному на фиг. 1.
Устройство 200 декодирования изображения, показанное на фиг. 19, декодирует кодированные данные, сгенерированные устройством 100 кодирования изображения, используя способ декодирования, соответствующий системе его кодирования.
Как показано на фиг. 19, устройство 200 декодирования изображения содержит накопительный буфер 201, модуль 202 декодирования без потерь, модуль 203 инверсного квантования, модуль 204 инверсного ортогонального преобразования, модуль 205 вычислений, фильтр 206 удаления блочности, буфер 207 перегруппировки экрана и D/A-преобразователь 208. Кроме того, устройство 200 декодирования содержит кадровую память 209, модуль 210 выбора, модуль 211 внутрикадрового преобразования, модуль 212 предсказания/компенсации движения и модуль 213 выбора.
Дополнительно, устройство 200 декодирования изображения содержит модуль 221 пропуска инверсного ортогонального преобразования.
Накопительный буфер 201 также является приемным блоком для приема переданных на него кодированных данных. Накопительный буфер 201 принимает и накапливает переданные ему кодированные данные и подает кодированные данные на модуль 202 декодирования без потерь в заданные моменты времени. Фрагменты информации, необходимой для декодирования, такой как информация о режиме предсказания, добавляются к кодированным данным. Модуль 202 декодирования без потерь декодирует информацию, поданную от накопительного буфера 201 и кодированную модулем 106 кодирования без потерь, показанным на фиг. 1, используя способ, соответствующий системе кодирования модуля 106 кодирования без потерь. Модуль 202 декодирования без потерь подает данные квантованного коэффициента разностного изображения, полученные декодированием, на модуль 203 инверсного квантования.
Кроме того, модуль 202 декодирования без потерь определяет, выбран ли режим внутрикадрового предсказания или режим межкадрового предсказания в качестве оптимального режима предсказания, и подает информацию, относящуюся к оптимальному режиму предсказания, на модуль 211 внутрикадрового предсказания или на модуль 212 предсказания/компенсации движения, который является режимом, определенным для выбора. Другими словами, например, в случае, когда в устройстве 100 кодирования изображения режим межкадрового предсказания выбирается в качестве оптимального режима предсказания, информация, относящаяся к оптимальному режиму предсказания, подается на модуль 211 внутрикадрового предсказания. Кроме того, например, когда в устройстве 100 кодирования изображения в качестве оптимального режима предсказания выбирается режим межкадрового предсказания, информация, относящаяся к оптимальному режиму предсказания, подается на модуль 212 предсказания/компенсации движения.
Дополнительно, модуль 202 декодирования без потерь подает информацию, такую как, например, матрица квантования или параметр квантования, который требуется для инверсного квантования, на модуль 203 инверсного квантования. Дополнительно, модуль 202 декодирования без потерь подает, например, такую информацию, как информация о разрешении пропуска (transform_skip_enabled_flag) или информация идентификации пропуска (TransformSkipFlag), которая требуется для инверсного ортогонального преобразования, на модуль 221 с пропуском инверсного ортогонального преобразования.
Модуль 203 инверсного квантования выполняет инверсное квантование для данных квантованного коэффициента, полученных путем декодирования модулем 202 декодирования без потерь, основываясь на управлении модуля 221 пропуска инверсного ортогонального преобразования, используя способ, соответствующий способу квантования модуля 105 квантования, показанному на фиг. 1. Дополнительно, модуль 203 инверсного квантования является процессорным блоком, аналогичным модулю 108 инверсного квантования устройства 100 кодирования изображения, показанного на фиг. 1. То есть описание модуля 203 инверсного квантования может также применяться для описания модуля 108 инверсного квантования. Однако места назначения ввода/вывода данных необходимо считывать, соответственно изменяя их в зависимости от устройств.
Модуль 203 инверсного квантования подает полученные данные коэффициента на модуль 204 инверсного ортогонального преобразования.
Основываясь на управлении модулем 221 пропуска инверсного ортогонального преобразования, модуль 204 инверсного ортогонального преобразования выполняет инверсное ортогональное преобразование данных коэффициента (коэффициента ортогонального преобразования или разностного значения предшествующего ортогонального преобразования), который должен подаваться от модуля 203 инверсного квантования, используя, при необходимости, способ, соответствующий способу ортогонального преобразования модуля 104 ортогонального преобразования, показанного на фиг. 1. Дополнительно, модуль 204 инверсного квантования является процессорным блоком, аналогичным модулю 109 инверсного ортогонального преобразования устройства 100 кодирования изображения, показанного на фиг. 1. То есть описание модуля 204 инверсного ортогонального преобразования может также применяться для описания модуля 109 инверсного ортогонального преобразования. Однако места назначения ввода/вывода данных необходимо считывать, соответственно изменяя их в зависимости от устройств.
Модуль 204 инверсного ортогонального преобразования получает декодированные остаточные данные, соответствующие остаточным данным перед ортогональным преобразованием, посредством процесса инверсного ортогонального преобразования в устройстве 100 кодирования изображения. Декодированные остаточные данные, полученные посредством инверсного ортогонального преобразования, подаются на модуль 205 вычислений. Дополнительно, предсказанное изображение подается на модуль 205 вычислений через модуль 213 выбора от модуля 211 внутрикадрового предсказания или от модуля 212 предсказания/компенсации движения.
Модуль 205 вычислений суммирует декодированные остаточные данные и предсказанное изображение и получает данные декодированного изображения, соответствующие данным изображения до вычитания предсказанного изображения модулем 103 вычислений устройства 100 кодирования изображения. Модуль 205 вычислений подает данные декодированного изображения на фильтр 206 удаления блочности.
Фильтр 206 удаления блочности соответственно выполняет процесс фильтрации удаления блочности поданного декодированного изображения и подает его в буфер 207 перегруппировки экрана. Выполняя процесс фильтрации удаления блочности декодированного изображения, фильтр удаления блочности удаляет блочное искажение декодированного изображения. Дополнительно, модуль 206 фильтрации удаления блочности является процессорным модулем, аналогичным модулю 111 фильтрации удаления блочности устройства 100 кодирования изображения, показанного на фиг. 1.
Фильтр 206 удаления блочности подает результат процесса фильтрации (декодированное изображение после процесса фильтрации) в буфер 207 перегруппировки экрана и в кадровую память 209. Дополнительно, декодированное изображение от выхода модуля 205 вычислений может подано в буфер 207 перегруппировки экрана или в кадровую память 209, не проходя через фильтр 206 удаления блочности. Другими словами, процесс фильтрации, выполняемый фильтром 206 удаления блочности, может быть пропущен.
Буфер 207 перегруппировки экрана перегруппирует изображения. Другими словами, порядок кадров, перегруппированный для порядка кодирования буфером 102 перегруппировки экрана, показанным на фиг. 1, перегруппируется в первоначальный порядок отображения. D/A-преобразователь 208 осуществляет цифро-аналоговое преобразование изображения, поданного из буфера 207 перегруппировки экрана, и выводит изображение на дисплей, не показанный на чертеже, для отображения на нем изображения.
В кадровой памяти 209 сохраняется поданное декодированное изображение и сохраненное декодированное изображение подается в качестве опорного изображения через модуль 210 выбора в заданные моменты времени или на основе запроса извне на модуль 211 внутрикадрового предсказания или модуль 212 предсказания/компенсации движения,
Модуль 210 выбора выбирает место назначения для подачи опорного изображения, поданного от кадровой памяти 209. В случае декодирования внутрикадрового кодированного изображения, модуль 210 выбора подает опорное изображение, поданное из кадровой памяти 209, на модуль 211 внутрикадрового предсказания. Кроме того, в случае декодирования межкадрового кодированного изображения, модуль 210 выбора подает опорное изображение, поданное из кадровой памяти 209, на модуль 212 предсказания/компенсации движения.
В модуль 211 внутрикадрового предсказания подается информация и т.п., указывающая режим внутрикадрового предсказания, которая получается посредством декодирования информации заголовка, соответственно поданного от модуля 202 декодирования без потерь. Модуль 211 внутрикадрового предсказания выполняет внутрикадровое предсказание, используя опорное изображение, полученное из кадровой памяти 209, в режиме внутрикадрового предсказания, используемом в модуле 114 внутрикадрового предсказания, показанном на фиг. 1, и генерирует предсказанное изображение. Модуль 211 внутрикадрового предсказания подает сгенерированное предсказанное изображение на модуль 213 выбора.
Модуль 212 предсказания/компенсации движения принимает информацию (информацию об оптимальном режиме предсказания, информацию об опорном изображении и т.п.), которая получена путем декодирования информации заголовка, от модуля 202 декодирования без потерь.
Модуль 212 предсказания/компенсации движения выполняет межкадровое предсказание, используя опорное изображение, полученное из кадровой памяти 209, в режиме межкадрового предсказания, указанном в информации об оптимальном режиме предсказания, полученной от модуля 202 декодирования без потерь, и генерирует предсказанное изображение.
Модуль 213 выбора подает предсказанное изображение от модуля 211 внутрикадрового предсказания или предсказанное изображение от модуля 212 предсказания/компенсации движения на модуль 205 вычислений. Кроме того, в модуле 205 вычислений предсказанное изображение, сгенерированное, используя вектор движения, и декодированные остаточные данные (разностная информация изображения) от модуля 204 инверсного ортогонального преобразования складываются и первоначальное изображение декодируется. Другими словами, модуль 212 предсказания/компенсации движения, модуль 202 декодирования без потерь, модуль 203 инверсного квантования, модуль 204 инверсного ортогонального преобразования и модуль 205 вычислений являются также модулем декодирования для декодирования кодированных данных, используя вектор движения, и генерирования первоначального изображения.
Модуль 221 с пропуском инверсного ортогонального преобразования получает информацию, поданную со стороны кодирования через модуль 202 декодирования без потерь, и управляет выполнением процесса инверсного ортогонального преобразования в модуле 204 инверсного ортогонального преобразования, основываясь на информации. Кроме того, модуль 221 с пропуском инверсного ортогонального преобразования управляет процессом инверсного квантования, выполняемого модулем 203 инверсного квантования, и процессом фильтрации удаления блочности, выполняемым фильтром 206 удаления блочности.
Таким образом, устройство 200 декодирования изображения может должным образом декодировать кодированные данные. Соответственно, устройство 200 декодирования изображения может осуществлять подавление снижения эффективности кодирования и может осуществлять подавление ухудшения из-за кодирования/декодирования.
Пример конфигурации блока с пропуском инверсного ортогонального преобразования и т.п. На фиг. 20 представлена блок-схема примера основной конфигурации модуля 221 пропуска инверсного ортогонального преобразования и т.п.
Как показано на фиг. 20, модуль 221 с пропуском инверсного ортогонального преобразования выполнен с возможностью содержания в нем буфера 231 TransfomSkipFlag и модуля 232 генерирования сигнала управления.
Буфер 231 TransfomSkipFlag получает и сохраняет информацию разрешения пропуска (transform_skip_enabled_flag) или информацию идентификации пропуска (TransfomSkipFlag), извлеченную из кодированных данных (битового потока) в модуле 202 декодирования без потерь. Буфер 231 TransfomSkipFlag подает хранящуюся информацию о разрешении пропуска (transform_skip_enabled_flag) или информацию идентификации пропуска (TransfomSkipFlag) на модуль 232 генерирования сигнала управления в заданные моменты времени или на основе запроса.
Модуль 232 генерирования сигнала управления генерирует сигнал управления в зависимости от информации разрешения пропуска (transform_skip_enabled_flag) или информации идентификации пропуска (TransfomSkipFlag), поданной от буфера 231 TransfomSkipFlag, и подает сигнал управления на модуль 203 инверсного квантования.
Например, когда информацией разрешения пропуска (transform_skip_enabled_flag) пропуск ортогонального преобразования запрещен, модуль 232 генерирования сигнала управления подает сигнал управления следующим образом. То есть модуль 232 генерирования сигнала управления подает сигнал управления для команды модулю 203 инверсного квантования выполнить инверсное квантование, используя матрицу квантования. Кроме того, модуль 232 генерирования сигнала управления подает сигнал управления для команды модулю 204 инверсного ортогонального преобразования выполнить инверсное ортогональное преобразование. Дополнительно, модуль 232 генерирования сигнала управления подает сигнал управления для уведомления фильтра 206 удаления блочности, что текущий блок не является блоком с пропуском ортогонального преобразования.
Кроме того, например, когда пропуск ортогонального преобразования разрешен посредством информации о разрешении пропуска (transform_skip_enabled_flag) и посредством информации идентификации пропуска (TransfomSkipFlag) идентифицировано, что пропуск ортогонального преобразования не применяется во время кодирования текущего блока, модуль 232 генерирования сигнала управления подает сигнал управления следующими способами. То есть модуль 232 генерирования сигнала управления подает сигнал управления для команды модулю 203 инверсного квантования выполнить инверсное квантование, используя матрицу квантования. Кроме того, модуль 232 генерирования сигнала управления подает сигнал управления для команды модулю 204 инверсного ортогонального преобразования выполнить инверсное ортогональное преобразование. Дополнительно, модуль 232 генерирования сигнала управления подает сигнал управления для уведомления фильтра 206 удаления блочности, что текущий блок не является блоком с пропуском ортогонального преобразования. То есть модуль 232 генерирования сигнала управления может подать информацию идентификации пропуска (TransfomSkipFlag) в качестве сигнала управления на фильтр 206 удаления блочности.
Кроме того, например, когда пропуск ортогонального преобразования разрешен посредством информации о разрешении пропуска (transform_skip_enabled_flag) и посредством информации идентификации пропуска (TransfomSkipFlag) идентифицировано, что пропуск ортогонального преобразования не применяется во время кодирования текущего блока, модуль 232 генерирования сигнала управления подает сигнал управления следующими способами. То есть модуль 232 генерирования сигнала управления подает сигнал управления для команды модулю 203 инверсного квантования выполнить инверсное квантование, используя весовой коэффициент. Кроме того, модуль 232 генерирования сигнала управления подает сигнал управления для команды модулю 204 инверсного ортогонального преобразования не выполнять инверсное ортогональное преобразование. Дополнительно, модуль 232 генерирования сигнала управления подает сигнал управления для уведомления фильтра 206 удаления блочности, что текущий блок является блоком с пропуском ортогонального преобразования. То есть модуль 232 генерирования сигнала управления может подать информацию идентификации пропуска (TransfomSkipFlag) в качестве сигнала управления на фильтр 206 удаления блочности.
Как показано на фиг. 20, модуль 203 инверсного квантования выполнен с возможностью введения в него буфера 241 матрицы квантования, модуля 242 генерирования весового коэффициента, буфера 243 параметров квантования и модуля 244 инверсного квантования.
Буфер 241 матрицы квантования получает и сохраняет матрицу квантования, которая извлекается из SPS или т.п. кодированных данных модулем 202 декодирования без потерь. Матрица квантования передается со стороны кодирования и используется во время кодирования. Буфер 241 матрицы квантования подает хранящуюся матрицу квантования на модуль 242 генерирования весового коэффициента в заданное время или по запросу. Дополнительно, когда весовой коэффициент, поданный во время кодирования, передается со стороны кодирования, буфер 241 матрицы квантования получает весовой коэффициент и подает его на модуль 242 генерирования весового коэффициента в качестве матрицы квантования.
Модуль 242 генерирования весового коэффициента получает сигнал управления, поданный от модуля 232 генерирования сигнала управления. Модуль 242 генерирования весового коэффициента определяет, применяется ли во время кодирования пропуск ортогонального преобразования к текущему блоку, основываясь на управлении сигналом управления, и подает матрицу квантования или весовой коэффициент на модуль 244 инверсного квантования, основываясь на определенной информации.
Например, когда пропуск ортогонального преобразования во время кодирования не применяется к текущему блоку, модуль 242 генерирования весового коэффициента подает матрицу квантования, которая подается из буфера 241 матрицы квантования в режиме, назначенном сигналом управления, на модуль 244 инверсного квантования.
Кроме того, например, когда во время кодирования пропуск ортогонального преобразования применяется к текущему блоку, модуль 242 генерирования весового коэффициента генерирует весовой коэффициент и подает сгенерированный весовой коэффициент на модуль 244 инверсного квантования.
Дополнительно, способ генерирования весового коэффициента является произвольным, пока способ является тем же самым, что и способ на стороне кодирования. То есть, например, в устройстве 100 кодирования изображения, когда модуль 142 генерирования весового коэффициента извлекает постоянную составляющую матрицы квантования, поданной от модуля 141 установки матрицы квантования, и устанавливает извлеченную постоянную составляющую в качестве весового коэффициента, модуль 242 генерирования весового коэффициента аналогично также извлекает постоянную составляющую матрицы квантования, поданной из буфера 241 матрицы квантования и также устанавливает извлеченную постоянную составляющую в качестве весового коэффициента.
Дополнительно, в устройстве 100 кодирования изображения, когда модуль 142 генерирования весового коэффициента устанавливает весовой коэффициент, выделенный из матрицы квантования, поданной от модуля 141 установки матрицы квантования, модуль 242 генерирования весового коэффициента также аналогичным способом устанавливает весовой коэффициент, отделенный от матрицы квантования, поданной из буфера матрицы квантования. В этом случае, когда весовой коэффициент, поданный во время кодирования, подается со стороны кодирования, весовой коэффициент применяется.
Дополнительно, в устройстве 100 кодирования изображения, когда модуль 142 генерирования весового коэффициента вычисляет весовой коэффициент из постоянной составляющей матрицы квантования периферийного блока, модуль 242 генерирования весового коэффициента также вычисляет весовой коэффициент из постоянной составляющей матрицы квантования периферийного блока таким же способом.
Буфер 243 параметров квантования получает и сохраняет параметр квантования, извлеченный из SPS или т.п. кодированных данных модулем 202 декодирования без потерь. Параметр квантования подается со стороны кодирования и используется во время кодирования. Буфер 243 параметра квантования подает хранящийся параметр квантования на модуль 244 инверсного квантования в заданное время или по запросу.
Модуль 244 инверсного квантования получает квантованный коэффициент, извлеченный из кодированных данных модулем 202 декодирования без потерь. Модуль 244 инверсного квантования также получает параметр квантования из буфера 243 параметра квантования и получает матрицу квантования или весовой коэффициент от модуля 242 генерирования весового коэффициента. Используя их, модуль 244 инверсного квантования инверсно квантует квантованный коэффициент. Этот способ инверсного квантования соответствует способу квантования посредством модуля 143 квантования устройства 100 кодирования изображения.
То есть, например, когда во время кодирования пропуск ортогонального преобразования не применяется к текущему блоку, модуль инверсного квантования инверсно квантует квантованный коэффициент, используя матрицу квантования и параметр квантования, и подает полученный коэффициент ортогонального квантования на модуль 204 инверсного ортогонального преобразования.
Кроме того, например, когда во время кодирования пропуск ортогонального преобразования применяется к текущему блоку, модуль инверсного квантования инверсно квантует квантованный коэффициент, используя весовой коэффициент и параметр квантования, и подает полученное разностное значение предшествующего ортогонального преобразования на модуль 204 инверсного ортогонального преобразования.
Таким образом, модуль 203 инверсного квантования может соответственно выполнять инверсное квантование, используя способ, соответствующий квантованию во время кодирования. То есть модуль 203 инверсного квантования может соответственно квантовать квантованный коэффициент посредством модуля 105 квантования устройства 100 кодирования изображения. Соответственно, модуль 203 инверсного квантования может соответственно выполнять инверсное квантование, так чтобы уменьшать ухудшение качества изображения. Поэтому устройство 200 декодирования изображения может реализовывать уменьшение ухудшения качества изображения из-за кодирования/декодирования. Другими словами, устройство 200 декодирования изображения может повышать эффективность кодирования.
Модуль 204 инверсного ортогонального преобразования соответственно выполняет инверсное ортогональное преобразование инверсно квантованного коэффициента, поданного от модуля 244 инверсного квантования, основываясь на сигнале управления, поданном от модуля 232 генерирования сигнала управления.
Например, когда текущий блок является блоком, к которому во время кодирования не применяется пропуск ортогонального преобразования, модуль 204 инверсного ортогонального преобразования понимает, основываясь на сигнале управления, что инверсно квантованный коэффициент, поданный от модуля 244 инверсного квантования, является коэффициентом ортогонального преобразования. То есть модуль 204 инверсного ортогонального преобразования выполняет инверсное ортогональное преобразование коэффициента ортогонального преобразования согласно способу, соответствующему ортогональному преобразованию модулем 104 ортогонального преобразования в устройстве 100 кодирования изображения. Таким образом, инверсно квантованный коэффициент, служащий в качестве значения частотного домена, преобразуется в разностное значение предшествующего ортогонального преобразования (декодированные остаточные данные), служащее в качестве значения пространственного домена. Модуль 204 инверсного ортогонального преобразования подает декодированные остаточные данные на модуль 205 вычислений.
Кроме того, например, когда текущий блок является блоком, к которому во время кодирования применяется пропуск ортогонального преобразования, модуль 204 инверсного ортогонального преобразования понимает, основываясь на сигнале управления, что инверсно квантованный коэффициент, поданный от модуля 244 инверсного квантования, является разностным значением предшествующего ортогонального преобразования. Модуль 204 инверсного ортогонального преобразования подает разностное значение предшествующего ортогонального преобразования, служащее в качестве значения пространственного домена, на модуль 205 вычислений в качестве декодированных остаточных данных.
Таким образом, модуль 204 инверсного ортогонального преобразования может соответственно выполнять инверсное ортогональное преобразование, используя способ, соответствующий ортогональному преобразованию во время кодирования. То есть, например, модуль 204 инверсного ортогонального преобразования может выполнять соответствующий процесс для коэффициента, сгенерированного модулем 104 ортогонального преобразования устройства 100 кодирования изображения. Соответственно, модуль 204 инверсного ортогонального преобразования может соответственно выполнять инверсное ортогональное преобразование, чтобы уменьшать ухудшение качества изображения. Поэтому устройство 200 декодирования изображения может реализовывать подавление ухудшения качества изображения из-за кодирования/декодирования. Другими словами, устройство 200 декодирования изображения может повышать эффективность кодирования.
Как показано на фиг. 20, фильтр 206 удаления блочности выполнен с возможностью введения в него модуля 251 определения границ, модуля 252 регулирования силы фильтрации и модуля 253 фильтрации.
Модуль 251 определения границ является процессорным модулем, аналогичным модулю 151 определения границ устройства 100 кодирования изображения. Сигнал управления (например, информация идентификации пропуска (TransformSkipFlag)), указывающий, применяется ли пропуск ортогонального преобразования к текущему блоку во время кодирования, подается на модуль 251 определения границ. Модуль 251 определения границ сохраняет такую информацию, определяет, является ли текущая граница блоков границей между блоком с пропуском ортогонального преобразования и блоком без пропуска ортогонального преобразования, и подает сигнал управления, указывающий результат определения на модуль 252 регулирования силы фильтрации.
Модуль 252 регулирования силы фильтрации является процессорным блоком, аналогичным модулю 152 регулирования силы фильтрации устройства 100 кодирования изображения. Модуль 252 регулирования силы фильтрации генерирует различные параметры, такие как значение Bs, α, β и tc и определяет силу фильтрации фильтра удаления блочности, основываясь на таких значениях и сигнале управления, поданном от модуля 251 определения границ. То есть модуль 252 регулирования силы фильтрации определяет силу фильтрации фильтра удаления блочности, основываясь на различных параметрах, таких как сгенерированное значение Bs, α, β и tc, когда граница текущего блока не является границей между блоком с пропуском ортогонального преобразования и блоком без пропуска ортогонального преобразования. Кроме того, модуль 252 регулирования силы фильтрации дополнительно увеличивает силу фильтрации, основываясь на сигнале управления, например, любым способом, подобным приведенному выше способу, когда граница текущего блока является границей между блоком с пропуском ортогонального преобразования и блоком без пропуска ортогонального преобразования. Тот же самый способ, что и в модуле 152 регулирования силы фильтрации, используется для определения и регулирования силы фильтрации. То есть сила фильтрации, приложенная во время кодирования, воспроизводится.
Модуль 252 регулирования силы фильтрации уведомляет модуль 253 фильтрации о силе фильтрации, которая устанавливается таким способом.
Модуль 253 фильтрации является процессорным модулем, аналогичным модулю 253 фильтрации устройства 100 кодирования изображения. Модуль 253 фильтрации выполняет процесс фильтрации удаления блочности декодированных остаточных данных (пиксельного значения, предшествующего фильтру удаления блочности) границы блока, которые подаются от модуля 205 вычислений, используя силу фильтрации, поданную от модуля 252 регулирования силы фильтрации. Модуль 253 фильтрации подает пиксельное значение после фильтра удаления блочности, которое получается, выполняя процесс фильтрации удаления блочности, в буфер 207 реорганизации экрана или в кадровую память 209.
Таким образом, фильтр 206 удаления блочности может выполнять процесс фильтрации на границе между блоком с пропуском ортогонального преобразования и блоком без пропуска ортогонального преобразования, так что применяется более сильная фильтрация. Соответственно, ухудшение качества изображения дополнительно снижается. То есть устройство 200 декодирования изображения может реализовывать снижение ухудшения качества изображения из-за кодирования/декодирования. Другими словами, устройство 200 декодирования изображения может достигать повышения эффективности кодирования.
Последовательность операций процесса декодирования
Далее будет описана последовательность выполнения операций, которая должна выполняться описанным выше устройством 200 декодирования изображения. Сначала со ссылкой на блок-схему последовательности выполнения операций, показанную на фиг. 21, будет описан пример последовательности выполнения операций процесса декодирования.
Когда процесс декодирования начат, накопительный буфер 201 на этапе S201 накапливает переданные кодированные данные. На этапе S202 модуль 202 декодирования без потерь декодирует битовый поток (кодированную информацию разностного изображения), поданный из накопительного буфера 201. То есть декодируются картинки I, картинки Р и картинки В, кодированные модулем 106 кодирования без потерь, показанным на фиг. 1.
В этом случае также декодируются содержащиеся в битовом потоке различные типы информации, такие как информация заголовка, кроме информации разностного изображения. На этапе S203 буфер 231 TransformSkipFlag модуля 221 пропуска ортогонального преобразования получает информацию идентификации пропуска (TransformSkipFlag), извлеченную модулем 202 декодирования без потерь. Модуль 232 генерирования сигнала управления модуля 221 с пропуском инверсного ортогонального преобразования генерирует сигнал управления, основываясь на информации идентификации пропуска (TransformSkipFlag) и подает сигнал управления на модуль 242 генерирования весового коэффициента, модуль 204 инверсного ортогонального преобразования и модуль 251 определения границ.
На этапе S204 модуль 203 инверсного квантования инверсно квантует квантованный коэффициент, полученный путем процесса на этапе S202. На этапе S205 при необходимости модуль 204 инверсного ортогонального преобразования выполняет инверсное ортогональное преобразование инверсно квантованного коэффициента, полученного на этапе S204.
На этапе S206 модуль 211 внутреннего предсказания или модуль 212 предсказания/компенсации движения, выполняет процесс предсказания и генерирует предсказанное изображение. То есть операция процесса предсказания выполняется в режиме предсказания, который определяется модулем 202 декодирования без потерь и применяется во время кодирования. Более конкретно, например, когда во время кодирования применяется внутрикадровое предсказание, модуль 211 внутрикадрового предсказания генерирует предсказанное изображение в режиме внутрикадрового предсказания, который на момент кодирования рассматривается как оптимальный режим. Кроме того, например, когда во время кодирования применяется межкадровое предсказание, модуль 212 предсказания/компенсации движения генерирует предсказанное изображение в режиме межкадрового предсказания, который на момент кодирования рассматривается как оптимальный режим.
На этапе S207 модуль 205 вычислений суммирует предсказанное изображение, сгенерированное на этапе S206, с информацией разностного изображения, полученной посредством инверсного ортогонального преобразования на этапе S205. Таким образом, первоначальное изображение декодируется.
На этапе S208 фильтр 206 удаления блочности соответственно выполняет операцию процесса фильтрации удаления блочности для декодированного изображения, полученного на этапе S205. Дополнительно, операция процесса фильтрации удаления блочности выполняется таким же образом, как и операция процесса фильтрации удаления блочности во время кодирования. То есть, поскольку операция выполняется таким же образом, как в случае, когда операция описывается со ссылкой на блок-схему последовательности выполнения операцию, показанную на фиг. 18, подробное описание процесса фильтрации удаления блочности не приводится. Другими словами, приведенное выше описание со ссылкой на блок-схему последовательности выполнения операций, показанную на фиг. 18, может быть применено в качестве описания процесса фильтрации удаления блочности.
На этапе S209 буфер 207 перегруппировки экрана перегруппирует изображение, подвергнутое процессу фильтрации на этапе S208. То есть порядок кадров, перегруппированный для кодирования буфером 102 перегруппировки экрана устройства 100 кодирования изображения, перегруппируется в первоначальный порядок отображения.
На этапе S210 D/A-преобразователь 208 выполняет D/A-преобразование изображения, в котором порядок кадров перегруппирован на этапе S209. Изображение выводится на дисплей (не показан) и изображение отображается.
На этапе S211 кадровая память 209 сохраняет изображение, подвергнутое процессу фильтрации на этапе S209.
Когда операция обработки на этапе S211 закончена, процесс декодирования завершается.
Последовательность выполнения операций процесса инверсного квантования
Далее, со ссылкой на блок-схему последовательности выполнения операций, показанную на фиг. 22, будет описана последовательность выполнения операций процесса инверсного квантования, выполняемого на этапе S204, показанном на фиг. 21.
Когда процесс инверсного квантования начат, модуль 242 генерирования весового коэффициента на этапе S231 определяет, находится ли текущий блок в режиме пропуска ортогонального преобразования (TransformSkip).
Когда определено, что текущий блок находится в режиме пропуска ортогонального преобразования (TransformSkip), процесс переходит к этапу S232. На этапе S232 модуль 242 генерирования весового коэффициента генерирует весовой коэффициент. Когда процесс на этапе S232 закончен, процесс переходит к этапу S234.
Дополнительно, когда на этапе S231 определено, что текущий блок не находится в режиме пропуска ортогонального преобразования (TransformSkip), процесс переходит к этапу S233. На этапе S233 модуль 242 генерирования весового коэффициента получает матрицу квантования через буфер 231 TransformSkipFlag. Когда процесс на этапе S233 закончен, процесс переходит к этапу S234.
На этапе S234 модуль 244 инверсного квантования выполняет инверсное квантование, используя весовой коэффициент, сгенерированный на этапе S232, или матрицу квантования, сгенерированную на этапе S233.
Когда процесс на этапе S234 закончен, процесс инверсного квантования заканчивается и обработка возвращается к процессу, показанному на фиг. 21.
Последовательность выполнения операций процесса инверсного ортогонального преобразования
Далее, со ссылкой на блок-схему последовательности выполнения операций, показанную на фиг. 23, будет описана последовательность выполнения операций процесса инверсного ортогонального преобразования, выполняемого на этапе S205, показанном на фиг. 21.
Когда процесс инверсного ортогонального преобразования начат, модуль 204 инверсного ортогонального преобразования на этапе S251 определяет, находится ли текущий блок в режиме пропуска ортогонального преобразования (TransformSkip).
Когда определено, что текущий блок находится в режиме пропуска ортогонального преобразования (TransformSkip), процесс инверсного ортогонального преобразования заканчивается и процесс обработки возвращается к операции обработки, показанной на фиг. 21.
Дополнительно, когда на этапе S251, показано на фиг. 23, определено, что текущий блок не находится в режиме пропуска ортогонального преобразования (TransformSkip), процесс переходит к этапу S252. На этапе S252 модуль 204 инверсного ортогонального преобразования выполняет инверсное ортогональное преобразование инверсно квантованного коэффициента.
Когда процесс на этапе S252 закончен, процесс инверсного ортогонального преобразования заканчивается и обработка возвращается к процессу, показанному на фиг. 21.
Выполняя каждую операцию обработки, как описано выше, устройство 200 кодирования изображения может правильно декодировать кодированные данные, тем самым достигая снижения уменьшения эффективности кодирования и уменьшения ухудшения качества изображения из-за кодирования/декодирования.
Дополнительно, выше описывается, что информация разрешения пропуска (transform_skip_enabled_flag) передается в SPS, но способ передачи информации о разрешении пропуска этим не ограничивается.
Например, когда картинка, такая как, например, естественное изображение, в которой пропуск ортогонального преобразования (TransformSkip) не применяется, и картинка, такая как изображение, содержащее заголовки, которое содержит блок, к которому пропуск ортогонального преобразования (TransformSkip) применяется, присутствуют в одной последовательности, если пропуск ортогонального преобразования в блоке последовательности разрешается, информация идентификации пропуска (TransformSkipFlag) должна передаваться во все блоки всех картинокв последовательности и, таким образом, это неэффективно. Если пропуск ортогонального преобразования не разрешен, то нет необходимости передавать информацию идентификации пропуска (TransformSkipFlag). По этой причине, в частности, поскольку отношение картинки, содержащей блок, к которому применяется пропуск ортогонального преобразования (TransformSkip), становится меньше, существует проблема необязательно пониженной эффективности кодирования.
Таким образом, пропуск ортогонального преобразования не ограничивается наличием разрешения в блоках последовательности, а предпочтительно разрешается в блоке, меньшем, чем блок последовательности. По этой причине, информация о разрешении пропуска может передаваться в любую позицию битового потока, такую как, например, PPS или заголовк среза, отличный от SPS. Естественно, информация о разрешении пропуска может передаваться отдельно от битового потока.
Дополнительно, выше описано, что информация о разрешении пропуска (transform_skip_enabled_flag) устанавливается пользователем или т.п., но способ установки (способ управления разрешением/запретом пропуска ортогонального преобразования) информации о разрешении пропуска (transform_skip_enabled_flag) является произвольным. Например, информация о разрешении пропуска может устанавливаться в соответствии с содержанием изображения, которое должно кодироваться.
Например, когда пропуск ортогонального преобразования в начальном состоянии запрещен и жанр программы определяется в электронной программе передач (EP) G или т.п., если определенным жанром является анимация, предпочтительно установить информацию о разрешении пропуска (transform_skip_enabled_flag), так чтобы разрешить пропуск ортогонального преобразования. Таким образом, управление разрешением/запретом пропуска ортогонального преобразования может выполняться, основываясь на информации, отличной от движущегося изображения.
Дополнительно, например, определение СМ (коммерческого вещания) выполняется в состоянии (например, в случае, когда программой является анимация), когда пропуск ортогонального преобразования разрешен, когда пропуск ортогонального преобразования может быть запрещен во время СМ-вещания и когда пропуск ортогонального преобразования может быть разрешен во время вещания программы. Таким образом, управление разрешением/запретом пропуска ортогонального преобразования может выполняться, основываясь на результатах анализа, полученных путем анализа содержания движущегося изображения.
Естественно, содержание (движущееся изображение), подвергаемое такому процессу управления, не ограничивается вещательным содержанием. Например, это может быть содержание, записанное на носителе записи, таком как, например, жесткий диск или диск Blu-ray (зарегистрированное торговое название), и содержание, которое выгружается извне через линию связи, такую как Интернет.
3. Третий вариант осуществления
Управление передачей информации о разрешении пропуска
Однако, как описано выше, пропуск ортогонального преобразования может применяться к блоку 4×4 ортогонального преобразования яркости (TU составляющей яркости) или к блоку 4×4 ортогонального преобразования цветности (TU составляющей цветности).
Напротив, например, минимальный размер TU назначается синтаксисом, который приводится как log2_min_transform_block_size_minus2 в HEVC или т.п. Например, в наборе параметров последовательности (SPS), показанном на фиг. 4, минимальный размер TU назначается посредством log2_min_transform_block_size_minus2, как указано в шестой строке снизу.
Когда минимальный размер, назначенный посредством log2_min_transform_block_size_minus2, больше, чем 4×4, блок ортогонального преобразования 4×4 (TU) не присутствует. То есть в этом случае не существует возможности, что пропуск ортогонального преобразования (TransformSkip) применяется. Соответственно, нет необходимости передавать информацию разрешения пропуска (transform_skip_enabled_flag), указывающую, разрешать или запрещать пропуск ортогонального преобразования (TransformSkip). Другими словами, когда информация разрешения пропуска передается, несмотря на то, что минимальный размер TU больше, чем 4×4, объем информации может без необходимости возрастать и, таким образом, эффективность кодирования может снижаться без необходимости.
Здесь, как описано выше, когда минимальный размер TU больше, чем 4×4, передача информации разрешения пропуска может быть пропущена. Другими словами, информация разрешения пропуска может передаваться только в случае, когда минимальный разтер TU равен 4×4 (или меньше) (только в случае, когда присутствует TU, имеющий размер 4×4).
Передача набора параметров последовательности
Способ передачи информации разрешения пропуска (transform_skip_enabled_flag) является произвольным. Например, информация разрешения пропуска может передаваться в наборе параметров последовательности (SPS). Один из примеров синтаксиса SPS для такого случая показан на фиг. 24.
Как показано на фиг. 24, log2_min_transform_block_size_minus2, указывающий минимальный размер блока ортогонального преобразования (TU), устанавливается в пятой строке сверху на фиг. 24. log2_min_transform_block_size_minus2 является синтаксисом, указывающий минимальный размер блока (TU) ортогонального преобразования в последовательности, соответствующей SPS.
Напротив, как указано в пятой строке снизу на фиг. 24, подтверждается, является ли минимальный размер TU равным 4×4 (если (log2_min_transform_block_size_minus2=0)), и информация разрешения пропуска (transform_skip_enabled_flag) устанавливается только в случае, когда минимальный размер TU равен 4×4, как указывается в четвертой строке снизу на фиг. 24. То есть информация разрешения пропуска передается только в случае, когда минимальный размер TU равен 4×4; в противном случае, управление осуществляется таким образом, что передача не выполняется. Дополнительно, в этом случае информация разрешения пропуска (transform_skip_enabled_flag) передается только в SPS. Кроме того, когда информация разрешения пропуска (transform_skip_enabled_flag) устанавливается, то значение устанавливается, основываясь на любой информации, такой как, например, команда пользователя.
Дополнительно, управление передачей информацией разрешения пропуска выполняется модулем 106 кодирования без потерь. В результате, устройство 100 кодирования изображения может передавать информацию разрешения пропуска, только когда это необходимо, подавляя тем самым снижение эффективности кодирования и подавляя ухудшение качества изображения из-за кодирования/декодирования.
Передача в набор параметров последовательности
Кроме того, информация разрешения пропуска (transform_skip_enabled_flag) может передаваться, например, в набор параметров картинки (PPS). Один из примеров синтаксиса PPS для такого случая показан на фиг. 25.
Как показано на фиг. 25, pps_log2_min_transform_block_size_minus2, указывающий минимальный размер блока ортогонального преобразования (TU), устанавливается в третьей строке сверху на фиг. 25. pps_log2_min_transform_block_size_minus2 является синтаксисом, указывающий минимальный размер блока (TU) ортогонального преобразования в картинке, соответствующей PPS. То есть, даже когда описанное выше выражение log2_min_transform_block_size_minus2 установлено SPS, pps_log2_min_transform_block_size_minus2 может быть установлено PPS. Однако в этом случае информация разрешения пропуска (transform_skip_enabled_flag) передается только bPPS.
Напротив, как указано в четвертой строке сверху на фиг. 25, подтверждается, является ли минимальный размер TU равным 4×4 (если (pps_log2_min_transform_block_size_minus2=0)), и информация разрешения пропуска (transform_skip_enabled_flag) устанавливается только в случае, когда минимальный размер TU равен 4×4, как указывается в пятой строке сверху на фиг. 25. То есть даже в этом случае информация разрешения пропуска передается только в случае, когда минимальный размер TU равен 4×4; в противном случае, управление осуществляется таким образом, что передача не выполняется. Когда информация разрешения пропуска (transform_skip_enabled_flag) устанавливается, то значение устанавливается, основываясь на любой информации, такой как, например, команда пользователя.
Даже в этом случае управление передачей информации разрешения пропуска выполняется модулем 106 кодирования без потерь. В результате, устройство 100 кодирования изображения может передавать информацию разрешения пропуска, только когда это необходимо, уменьшая тем самым снижение эффективности кодирования и уменьшая ухудшение качества изображения из-за кодирования/декодирования.
Дополнительно, положение синтаксиса pps_log2_min_transform_block_size_minus2 в PPS не ограничивается примером, показанным на фиг. 25. pps_log2_min_transform_block_size_minus2 может быть установлен в положение, предшествующее положению информации разрешения пропуска (transform_skip_enabled_flag). Таким образом, это позволяет SPS и PPS быть независимыми с точки зрения синтаксического разбора и оба набора могут декодироваться независимо.
Передача в заголовке среза
Дополнительно, хотя это не показано, информация разрешения пропуска (transform_skip_enabled_flag) может передаваться, например, в заголовке среза.
В заголовке среза log2_min_transform_block_size_minus2 не устанавливается. В срезе устанавливается картинка, к которой принадлежит срез. То есть ссылка делается на pps_log2_min_transform_block_size_minus2 для PPS.
В заголовке среза информация разрешения пропуска устанавливается следующим образом.
if(pps_log2_min_transform_block_size_minus2=0){
transcorm_skip_enabled_flag
}
То есть в этом случае информация разрешения пропуска (transform_skip_enabled_flag) устанавливается таким же способом, как в в случае PPS. Дополнительно, в этом случае информация разрешения пропуска (transform_skip_enabled_flag) передается только в SPS.
Даже в этом случае информация разрешения пропуска передается только в случае, когда минимальный размер TU равен 4×4; в противном случае, управление осуществляется таким образом, что передача не выполняется. Кроме того, когда информация разрешения пропуска (transform_skip_enabled_flag) устанавливается, то значение устанавливается, основываясь на любой информации, такой как, например, команда пользователя. Дополнительно, управление передачей информацией разрешения пропуска выполняется модулем 106 кодирования без потерь.
В результате, устройство 100 кодирования изображения может передавать информацию разрешения пропуска, только когда это необходимо, подавляя тем самым снижение эффективности кодирования и подавляя ухудшение качества изображения из-за кодирования/декодирования.
Как описано выше, управление передачей информации разрешения пропуска может выполняться в произвольном блоке. Естественно, это может быть блок, отличный от описанного выше примера.
Последовательность выполнения операций процесса генерирования информации разрешения пропуска
Далее будет описан пример последовательности выполнения операций процесса генерирования информации разрешения пропуска со ссылкой на последовательность выполнения операций, показанную на фиг. 26, которая управляет передачей информацией разрешения пропуска.
Эта операция обработки может выполняться в любое время, если она выполняется перед процессом ортогонального преобразования, и, например, она может выполняться на этапе S101 процесса кодирования, показанного на фиг. 14.
Когда процесс генерирования информации разрешения пропуска начался, модуль 106 кодирования без потерь на этапе S301 устанавливает log2_min_transform_block_size_minus2.
На этапе S302 модуль 106 кодирования без потерь определяет, равен ли минимальный размер блока ортогонального преобразования (TU) 4×4 (или меньше).
Если посредством процесса на этапе S301 "0" устанавливается как значение log2_min_transform_block_size_minus2 и определяется, что минимальный размер блока (TU) ортогонального преобразования равен 4×4 (или меньше), процесс переходит к этапу S303.
На этапе S303 модуль 106 кодирования без потерь устанавливает информацию разрешения пропуска (transform_skip_enabled_flag). Когда процесс на этапе S180 закончен, процесс генерирования информации разрешения пропуска возвращается, например, к процессу кодирования, показанному на фиг. 14.
Дополнительно, если на этапе S302, показанном на фиг. 26, посредством процесса этапа S301 в значение log2_min_transform_block_size_minus2 устанавливается "1" или больше и определяется, что минимальный размер блока ортогонального преобразования (TU) больше, чем 4×4, процесс на этапе S303 (установка информации разрешения пропуска (transform_skip_enabled_flag)) пропускается, процесс генерирования информации разрешения пропуска заканчивается и операция обработки возвращается, например, к процессу кодирования, показанному на фиг. 14.
Выполняя процесс генерирования информации разрешения пропуска, как описано выше, устройство 100 кодирования изображения может уменьшать снижение эффективности кодирования и уменьшать ухудшение качества изображения из-за кодирования/декодирования.
Дополнительно, на фиг. 26 показано описание последовательности операций процесса генерирования информации разрешения пропуска, когда информация разрешения пропуска передается в SPS, но может применяться, даже когда информация разрешения пропуска передается в PPS или заголовок среза. В случае, когда информация разрешения пропуска передается в PPS или в заголовок среза, поскольку последовательность выполнения операции обработки обычно подобна последовательности выполнения операции обработки, которая описывается со ссылкой на фиг. 26, за исключением синтаксиса, установленного на этапе S301, который имеет вид pps_log2_min_transform_block_size_minus2 для PPS, ее описание здесь не приводится.
Прием информации разрешения пропуска в устройстве декодирования изображения
Когда передача информации разрешения пропуска управляется, как описано выше, в устройстве 100 кодирования изображения, существует случай, когда информация разрешения пропуска передается, и случай, когда информация разрешения пропуска не передается. Поэтому аналогичным образом устройство 200 декодирования изображения может управлять тем, чтобы получать или не получать (принимать или не принимать) информацию разрешения пропуска из установки минимального размера блока (TU) ортогонального преобразования. Таким образом, устройство 200 декодирования изображения может уменьшать ненужное увеличение времени ожидания, например, времени ожидания информации разрешения пропуска, которая не передается.
То есть, как и в устройстве 100 кодирования изображения, устройство 200 декодирования изображения управляет тем, принимать или не принимать информацию разрешения пропуска, основываясь на значениях (в зависимости от того, является ли минимальным размером TU размер 4×4), относящихся к выражению log2_min_transform_block_size_minus2, переданному в SPS, и на выражении pps_log2_min_transform_block_size_minus2, переданном в PPS. Например, такое управление выполняется модулем 202 декодирования без потерь устройства 200 декодирования изображения.
Последовательность выполнения операций процесса приема информации разрешения пропуска
Далее будет описан пример последовательности выполнения операций процесса генерирования информации разрешения пропуска со ссылкой на последовательность выполнения операций, показанную на фиг. 27, которая управляет передачей информацией разрешения пропуска. Эта операция процесса может выполняться перед сбором информации идентификации пропуска (TransfomSkipFlag) (например, перед этапом S203, показанным на фиг. 21).
Когда процесс приема информации разрешения пропуска начат, модуль 202 декодирования без потерь на этапе S321 принимает log2_min_transform_block_size_minus2. На этапе S322 модуль 202 декодирования без потерь, основываясь на принятом значении, определяет, равен ли минимальный размер блока TU размеру 4×4 (или меньше).
Если значение log2_min_transform_block_size_minus2 равно "0" и определяется, что минимальный размер TU равен 4×4 (или меньше), процесс переходит к этапу S323. На этапе S323 модуль 202 декодирования без потерь выполняет прием информации разрешения пропуска (transform_skip_enabled_flag). Когда процесс на этапе S323 закончен, процесс приема информации разрешения пропуска завершается и операция обработки возвращается, например, к процессу декодирования, показанному на фиг. 21.
Дополнительно, если на этапе S322, показанном на фиг. 27, значение log2_min_transform_block_size_minus2 равно "1" или больше и определено, что минимальный размер TU больше, чем размер 4×4, процесс приема информации разрешения пропуска завершается и операция обработки возвращается, например, к процессу декодирования, показанному на фиг. 21.
Как описано выше, выполняя процесс приема информации разрешения пропуска, устройство 200 декодирования изображения может снижать уменьшение эффективности кодирования и уменьшать ухудшение качества изображения из-за кодирования/декодирования.
Дополнительно, на фиг. 27 показано описание последовательности выполнения операций процесса генерирования информации разрешения пропуска, когда информация разрешения пропуска передается в SPS, и описание может использоваться, даже когда skip информация разрешения пропуска передается в PPS или заголовок среза, поскольку последовательность выполнения операций для обработки, в основном, подобна последовательности выполнения операций, описанной со ссылкой на фиг. 27, за исключением синтаксиса, принятого на этапе S321, которым является pps_log2_min_transform_block_size_minus2 для PPS, и, таким образом, ее описание повторяться не будет.
Представленное выше описание было сделано, основываясь на системе кодирования HEVC, но объем настоящей технологии этим не ограничивается и настоящая технология может применяться к устройству кодирования изображения и к устройству декодирования изображения, основываясь на системе кодирования, использующей пропуск ортогонального преобразования (TransformSkip), как предложено в непатентном документе 2.
4. Четвертый вариант осуществления
Применение для кодирования мультипроекционного изображения /декодирования мультипроекционного изображения
Описанная выше последовательность операций обработки может применяться к кодированию мультипроекционного изображения и декодированию мультипроекционного изображения. На фиг. 28 показан пример системы кодирования мультипроекционного изображения.
Как показано на фиг. 28, мультипроекционное изображение содержит изображения множества проекций и изображение одной заданной проекции из множества проекций назначается в качестве изображения основной проекции. Изображения каждой проекции, отличной от основной проекции, рассматриваются как изображения неосновной проекции.
В случае выполнения кодирования такого мультипроекционного изображения, как показано на фиг. 28, разница в параметре квантования может учитываться в индивидуальных проекциях (одной и той же проекции).
(1) основная проекция:
(1-1) dQP(основная проекция)=Current_CU_QP(основная проекция) - LCU_QP(основная проекция)
(1-2) dQP(основная проекция)=Current_CU_QP(основная проекция) - Previsous_QP(основная проекция)
(1-3) dQP(основная проекция)=Current_CU_QP(основная проекция) - Slice_QP(основная проекция)
(2) неосновная проекция:
(2-1) dQP(неосновная проекция)=Current_CU_QP (неосновная проекция) - LCU_QP(неосновная проекция)
(2-2) dQP(неосновная проекция)=Current_CU_QP(неосновная проекция)-PrevisousQP (неосновная проекция)
(2-3) dQP(неосновная проекция)= Current_CU_QP (неосновная проекция) - Slice_QP(неосновная проекция)
В случае выполнения кодирования мультипроекционного изображения, разница в параметре квантования может учитываться в индивидуальных проекциях (разных проекциях).
(3) основная проекция/неосновная проекция:
(3-1) dQP(межкадровая проекция)=Slice_CU_QP (основная проекция) - Slice_QP(неосновная проекция)
(3-2) dQP(межкадровая проекция)=LCU_QP(основная проекция) - LCU_QP(неосновная проекция)
(4) неосновная проекция/неосновная проекция:
(4-1) dQP(межкадровая проекция)=Slice_CU_QP(неосновная проекция i) - Slice_QP(неосновная проекция j)
(4-2) dQP(межкадровая проекция)=LCU_QP(неосновная проекция i) - LCU_QP(неосновная проекция j)
В таком случае позиции (1)-(4), описанные выше, могут использоваться комбинационным способом. Например, в неосновных проекциях могут рассматриваться способ (объединяющий позиции 3-1 и 2-3) для получения разности между параметрами квантования основной проекции и неосновной проекции на основе уровня среза и способ (объединяющий позиции 3-2 и 2-1) для получения разности между параметрами квантования основной проекции и неосновной проекции на основе уровня LCU.
Соответственно, возможно повысить эффективность кодирования, периодически применяя разность даже в случае выполнения мультипроекционного кодирования.
Подобно технологиям, описанным выше, в отношении каждого dQP, описанного выше, также возможно установить флаг, идентифицирующий, присутствует ли dQP, значение которого не равно 0.
Устройство кодирования мультипроекционного изображения
На фиг. 29 показано устройство кодирования мультипроекционного изображения, выполняющее описанное выше кодирование мультипроекционного изображения. Как показано на фиг. 29, устройство 600 кодирования мультипроекционного изображения содержит модуль 601 кодирования, модуль 602 кодирования и мультиплексор 603.
Модуль 601 кодирования кодирует изображение основной проекции и генерирует поток кодирования изображения основной проекции. Модуль 602 кодирования кодирует изображение неосновной проекции и генерирует поток кодирования изображения неосновной проекции. Мультиплексор 603 мультиплексирует кодированный поток изображения основной проекции, сгенерированный модулем 601 кодирования, и кодированный поток изображения неосновной проекции, сгенерированный модулем 602 кодирования, и генерирует кодированный поток мультипроекционного изображения.
Устройство 100 кодирования изображения (фиг. 1) может применяться к модулю 601 кодирования и к модулю 602 кодирования устройства 600 кодирования мультипроекционного изображения. В таком случае, устройство 600 кодирования мультипроекционного изображения устанавливает разностное значение между параметром квантования, установленным модулем 601 кодирования, и параметром квантования, установленным модулем 602 кодирования, и передает установленную разность.
Кроме того, процесс пропуска ортогонального преобразования может выполняться независимо для каждой проекции в каждом из модулей кодирования 601 и 602. Кроме того, процесс квантования, процесс фильтрации удаления блочности и т.п. могут также выполняться независимо для каждой проекции в каждом из модулей кодирования 601 и 602. В этом случае такая информация, как матрица квантования, различные флаги и весовой коэффициент, вводится, например, в кодированный поток для каждой проекции и, таким образом, информация подается на мультиплексор 603 от модуля кодирования 601 и модуля кодирования 602. Поданная информация мультиплексируется мультиплексором 603 и затем передается на сторону декодирования в состоянии, которое вводится в кодированный поток мультипроекционного изображения.
Дополнительно, в отношении некоторой части или всего процесса пропуска ортогонального преобразования, процесса квантования и процесса фильтрации удаления блочности, обработка в одном из модулей кодирования 601 и 602 может отражаться в остальных из них. Дополнительно, некоторая часть или вся информация, такая как информация о пропуске процесса ортогонального преобразования, содержащая информацию разрешения пропуска или информацию идентификации пропуска, информацию о квантовании и информацию о фильтре удаления блочности, может использоваться совместно в модуле 601 кодирования и модуле 602 кодирования. Например, некоторые или все обработанные результаты (или полученная информация или т.п.), полученные при выполнении процесса пропуска ортогонального преобразования, процесса квантования и процесса фильтрации удаления блочности для изображения основной проекции в модуле 601 кодирования, могут подаваться на модуль 602 кодирования и отражаться в тех операциях обработки для изображения неосновной проекции, которые выполняются в модуле 602 кодирования. Естественно, в противном случае, обработанные результаты (или полученная информация или т.п.), полученные при выполнении процесса пропуска ортогонального преобразования, процесса квантования и процесса фильтрации удаления блочности для изображения неосновной проекции в модуле 602 кодирования, могут подаваться на модуль 601 кодирования и отражаться в тех операциях обработки для изображения основной проекции, которые выполняются в модуле 601 кодирования.
Устройство декодирования мультипроекционного изображения
На фиг. 30 показано устройство декодирования мультипроекционного изображения, выполняющее описанное выше декодирование мультипроекционного изображения. Как показано на фиг. 30, устройство 610 декодирования мультипроекционного изображения содержит демультиплексор 611, модуль 612 декодирования и модуль 613 декодирования.
Демультиплексор 611 демультиплексирует кодированный поток мультипроекционного изображения, в котором мультиплексированы кодированный поток изображения основной проекции и кодированный поток изображения неосновной проекции, и извлекает кодированный поток изображения основной проекции и кодированный поток изображения неосновной проекции. Модуль 612 декодирования декодирует кодированный поток изображения основной проекции, извлеченный модулем 611 демультиплексирования, и получает изображение основной проекции. Модуль 613 декодирования декодирует кодированный поток изображения неосновной проекции, извлеченный демультиплексором 611, и получает изображение неосновной проекции.
Устройство 200 декодирования изображения (фиг. 19) может применяться к модулю 612 декодирования и модулю 613 декодирования устройства 610 декодирования мультипроекционного изображения. В этом случае модуль 612 декодирования и модуль 613 декодирования устройства 610 декодирования мультипроекционного изображения устанавливают параметр квантования, используя разностное значение между параметром квантования, установленным модулем 601 декодирования устройства 600 кодирования мультипроекционного изображения, и параметром квантования, установленным модулем 602 кодирования, и выполняют инверсное квантование.
Кроме того, процесс пропуска ортогонального преобразования может выполняться независимо для каждой проекции в каждом из модулей 612 и 613 кодирования. Кроме того, процесс инверсного квантования, процесс фильтрации удаления блочности и т.п. могут также выполняться независимо для каждого из модулей 612 и 613 декодирования. В этом случае такая информация, как матрица квантования, различные флаги и весовой коэффициент, содержащаяся в кодированном потоке мультипроекционного изображения и переданная со стороны кодирования, разделяется в демультиплексоре 611 для каждой проекции и затем подается на модуль 612 декодирования и модуль 613 декодирования в состоянии, вводимом в кодированный поток для каждой проекции.
Дополнительно, в отношении некоторой части или всего процесса пропуска инверсного ортогонального преобразования, процесса квантования и процесса фильтрации удаления блочности, обработка в одном из блоков 612 и 613 декодирования может отражаться в другом из них. Дополнительно, некоторая часть или вся информация, такая как информация о пропуске процесса ортогонального преобразования, содержащая информацию разрешения пропуска или информацию идентификации пропуска, информацию об инверсном квантовании и информацию об инверсном фильтре удаления блочности, может использоваться совместно в модуле 612 декодирования и модуле 613 декодирования. Например, некоторые или все обработанные результаты (или полученная информация или т.п.), полученные при выполнении процесса пропуска инверсного ортогонального преобразования, процесса инверсного квантования и процесса фильтрации удаления блочности для кодированного потока изображения основной проекции в модуле 612 декодирования, могут подаваться на модуль 613 декодирования и отражаться в тех операциях обработки для кодированного потока изображения неосновной проекции, которые выполняются в модуле 613 декодирования (например, пропуск дублирующего процесса). Естественно, напротив, обработанные результаты (или полученная информация), полученные при выполнении процесса пропуска инверсного ортогонального преобразования, процесса инверсного квантования и процесса фильтрации удаления блочности для кодированного потока изображения неосновной проекции в модуле 613 декодирования, могут подаваться на модуль 612 декодирования и отражаться в таких операциях обработки для кодированного потока изображения основной проекции, которые выполняются в модуле 612 декодирования (например, пропуск дублирующего процесса).
5. Пятый вариант осуществления
Применение для кодирования иерархического изображения/декодирования иерархического изображения
Описанная выше последовательность процессов может применяться к кодированию иерархического изображения и декодированию иерархического изображения. На фиг. 31 показан пример системы кодирования мультипроекционного изображения.
Как показано на фиг. 31, иерархическое изображение содержит изображения множества уровней (разрешений) и изображение заданного уровня слоя из множества разрешений назначается в качестве изображения основного уровня. Изображение каждого уровня, отличного от изображения основного уровня, рассматривается как изображение неосновного уровня.
В случае выполнения кодирования иерархического изображения (пространственной масштабируемости), показанного на фиг. 31, разница в параметре квантования может учитываться в индивидуальных уровнях (одном и том же уровне).
(1) основной уровень:
(1-1) dQP(основной уровень)=Current_CU_QP(основной уровень) - LCU_QP(основной уровень)
(1-2) dQP(base layer)=Current_CU_QP(base layer) - Previsous_CU_QP(base layer)
(1-3) dQP(основной уровень)=Current_CU_QP(основной уровень) - Slice_CU_QP(основной уровень)
(2) неосновной уровень:
(2-1) dQP(неосновной уровень)=Current_CU_QP(неосновной уровень) - LCU_QP(неосновной уровень)
(2-2) dQP(неосновной уровень)=CurrentQP(неосновной уровень) - Previsous_QP(неосновной уровень)
(2-3) dQP(неосновной уровень)=Current_CU_QP(неосновной уровень) - Slice_QP(неосновной уровень)
В случае иерархического кодирования, разница в параметре квантования может учитываться на каждом уровне (разных уровнях).
(3) основной уровень/неосновной уровень:
(3-1) dQP(межкадровый уровень)=Slice_QP(основной уровень) - Slice_QP(неосновной уровень)
(3-2) dQP(межкадровый уровень)=LCU_QP(основной уровень) - LCU_QP(неосновной уровень)
(4) неосновной уровень/неосновной уровень:
(4-1) dQP(межкадровый уровень)==Slice_QP(неосновной уровень i) - Slice_QP(неосновной уровень])
(4-2) dQP(межкадровый уровень)=LCU_QP(неосновной уровень i) - LCU_QP(неосновной уровень j)
В таком случае позиции (1)-(4), описанные выше, могут использоваться комбинационным способом. Например, в неосновных уровнях могут рассматриваться способ (объединяющий позиции 3-1 и 2-3) для получения разности между параметрами квантования основного уровня и неосновного уровня на основе уровня среза и способ (объединяющий позиции 3-2 и 2-1) для получения разности между параметрами квантования основного уровня и неосновного уровня на основе уровня LCU. Соответственно, возможно повысить эффективность кодирования, периодически применяя разность даже в случае выполнения иерархического кодирования.
Подобно технологиям, описанным выше, в отношении каждого dQP, описанного выше, также возможно установить флаг, идентифицирующий, присутствует ли dQP, значение которого не равно 0.
Устройство кодирования иерархического изображения
На фиг. 32 показано устройство кодирования иерархического изображения, выполняющее кодирование иерархического изображения, описанное выше. Как показано на фиг. 32, устройство 620 кодирования иерархического изображения содержит модуль 621 кодирования, модуль 622 кодирования и мультиплексор 623.
Модуль 621 кодирования кодирует изображение основного уровня и генерирует кодированный поток изображения основного уровня. Модуль 622 кодирования кодирует изображение неосновного уровня и генерирует кодированный поток изображения неосновного уровня. Мультиплексор 623 мультиплексирует изображение кодированный поток изображения основного уровня, сгенерированный модулем 621 кодирования, и кодированный поток изображения неосновного уровня, сгенерированный модулем 622 кодирования, генерируя, таким образом, кодированный поток иерархического изображения.
Устройство 100 кодирования изображения (фиг. 1) может применяться к модулю 621 кодирования и к модулю 622 кодирования устройства 620 кодирования иерархического изображения. В таком случае, устройство 620 кодирования иерархического изображения устанавливает разностное значение между параметром квантования, установленным модулем 621 кодирования, и параметром квантования, установленным модулем 622 кодирования, и передает разностное значение.
Кроме того, процесс пропуска ортогонального преобразования может выполняться независимо для каждого уровня в каждом из модулей 621 и 622 кодирования. Кроме того, процесс квантования, процесс фильтрации удаления блочности и т.п. могут также выполняться независимо для каждого уровня в каждом из модулей 621 и 622 кодирования. В этом случае такая информация, как матрица квантования, различные флаги и весовой коэффициент, вводится, например, в кодированный поток для каждого уровня и, таким образом, информация подается на мультиплексор 623 от модуля 621 кодирования и от модуля 622 кодирования. Поданная информация мультиплексируется мультиплексором 623 и затем передается на сторону декодирования в состоянии, которое вводится в кодированный поток иерархического изображения.
Дополнительно, в отношении некоторой части или всего процесса пропуска ортогонального преобразования, процесса квантования и процесса фильтрации удаления блочности, обработка в одном из модулей 621 и 622 декодирования может отражаться в другом из них. Дополнительно, некоторая часть или вся информация, такая как информация о пропуске процесса ортогонального преобразования, содержащая информацию разрешения пропуска или информацию идентификации пропуска, информацию о квантовании и информацию о фильтре удаления блочности, может использоваться совместно в модуле 621 кодирования и модуле 622 кодирования. Например, некоторые или все обработанные результаты (или полученная информация или т.п.), полученные при выполнении процесса пропуска ортогонального преобразования, процесса квантования и процесса фильтрации удаления блочности для изображения основного уровня в модуле 621 кодирования, могут подаваться на модуль 622 кодирования и отражаться в тех операциях обработки для изображения неосновного уровня, которые выполняются в модуле 622 кодирования (например, пропуск дублирующей обработки). Естественно, в противном случае, обработанные результаты (или полученная информация), полученные при выполнении процесса пропуска ортогонального преобразования, процесса квантования и процесса фильтрации удаления блочности для изображения неосновного уровня в модуле 622 кодирования, могут подаваться на модуль 621 кодирования и отражаться в тех операциях обработки для изображения основного уровня, которые выполняются в модуле 621 кодирования (например, пропуск дублирующей обработки).
Устройство декодирования иерархического изображения
На фиг. 33 показано устройство декодирования иерархического изображения, выполняющее декодирование иерархического изображения, описанное выше. Как показано на фиг. 33, устройство 630 декодирования иерархического изображения содержит демультиплексор 631, модуль 632 декодирования и модуль 633 декодирования.
Демультиплексор 631 демультиплексирует кодированный поток иерархического изображения, в котором мультиплексированы кодированный поток изображения основного уровня и кодированный поток изображения неосновного уровня, и извлекает кодированный поток изображения основного уровня и кодированный поток изображения неосновного уровня. Модуль 632 декодирования декодирует кодированный поток изображения основного уровня, извлеченный демультиплексором 631, и получает изображение основного уровня. Модуль 633 декодирования декодирует кодированный поток изображения неосновного уровня, извлеченный демультиплексором 631, и получает изображение неосновного уровня.
Устройство 200 декодирования изображения (фиг. 19) может применяться к модулю 632 декодирования и к модулю 633 декодирования устройства 630 декодирования иерархического изображения. В этом случае модуль 632 декодирования и модуль 633 декодирования устройства 630 декодирования иерархического изображения устанавливают параметр квантования, используя разностное значение между параметром квантования, установленным модулем 621 кодирования устройства 620 кодирования иерархического изображения, и параметром квантования, установленным модулем 622 кодирования, и выполняют инверсное квантование.
Кроме того, процесс пропуска ортогонального преобразования может выполняться независимо для каждой проекции в каждом из модулей 632 и 633 кодирования. Кроме того, процесс инверсного квантования, процесс фильтрации удаления блочности и т.п. могут также выполняться независимо в модуле 632 декодирования и в модуле 633 декодирования. В этом случае такая информация, как матрица квантования, различные флаги и весовой коэффициент, содержащаяся в кодированном потоке иерархического изображения и переданная со стороны кодирования, разделяется в демультиплексоре 631 для каждого уровня и затем подается на модуль 632 декодирования и на модуль 633 декодирования в состоянии, вводимом в кодированный поток для каждого уровня.
Дополнительно, в отношении некоторой части или всего процесса пропуска инверсного ортогонального преобразования, процесса квантования и процесса фильтрации удаления блочности, обработка в одном из модулей 632 и 633 декодирования может отражаться в другом из них. Дополнительно, некоторая часть или вся информация, такая как информация о пропуске процесса ортогонального преобразования, содержащая информацию разрешения пропуска или информацию идентификации пропуска, информацию об инверсном квантовании и информацию об инверсном фильтре удаления блочности, может использоваться совместно в модуле 632 декодирования и модуле 633 декодирования. Например, некоторые или все обработанные результаты (или полученная информация или т.п.), полученные при выполнении процесса пропуска инверсного ортогонального преобразования, процесса инверсного квантования и процесса фильтрации удаления блочности для кодированного потока изображения основного уровня в модуле 632 декодирования, могут подаваться на модуль 633 декодирования и отражаться в тех операциях обработки для кодированного потока изображения неосновного уровня, которые выполняются в модуле 633 декодирования (например, пропуск дублирующего процесса). Естественно, напротив, обработанные результаты (или полученная информация), полученные при выполнении процесса пропуска инверсного ортогонального преобразования, процесса инверсного квантования и процесса фильтрации удаления блочности для кодированного потока изображения неосновного уровня в модуле 633 декодирования, могут подаваться на модуль 632 декодирования и отражаться в таких операциях обработки для кодированного потока изображения основного уровня, которые выполняются в модуле 632 декодирования (например, пропуск дублирующего процесса).
Кроме того, настоящий способ может применяться к устройствам кодирования изображения и устройствам декодирования изображения, используемым для приема сжатой информации изображения (битовых потоков), используя ортогональные преобразования, такие как дискретные косинусные преобразования и компенсация движения, как в MPEG, Н.26х и т.п., например, через медиасеть, такую как спутниковое вещание, кабельное телевидение, Интернет или мобильный телефон. Дополнительно, настоящая технология может также применяться к устройствам кодирования изображения и устройствам декодирования изображения, которые используются при обработке информации сжатого изображения на носителе для хранения данных, таком как оптический или магнитный диск или флэш-память. Дополнительно, настоящая технология может также применяться к устройству квантования или к устройству инверсного квантования, содержащимся в устройстве кодирования изображения, устройстве декодирования изображения и т.п.
6. Шестой вариант осуществления
Компьютер
Упомянутые выше последовательности обработки могут исполняться с помощью аппаратурного обеспечения или могут исполняться посредством программного обеспечения. В случае, когда ряд операция обработки выполняется посредством программного обеспечения, программы, образующие программное обеспечение, устанавливаются на компьютер. Здесь примеры компьютеров содержит компьютер, встроенный в специализированное аппаратурное обеспечение, универсальный персональный компьютер, способный исполнять различные функций, устанавливая различные виды программ и т.п.
На фиг. 34 показана блок-схема примера конфигурации аппаратурного обеспечения компьютера, исполняющего посредством программы последовательность описанных выше операций обработки.
В компьютере 800, показанном на фиг. 34, центральный процессор (CPU) 801, постоянное запоминающее устройство (ROM) 802 и оперативное запоминающее устройство (RAM) 803 соединяются друг с другом через шину 804.
Интерфейс 810 ввода-вывода дополнительно соединяется с шиной 804.
Интерфейс 810 ввода-вывода соединяется с устройством 811 ввода, устройством 812 вывода, модулем 813 запоминающего устройства, модулем 814 связи и приводом 815.
Устройство 811 ввода выполнено в виде клавиатуры, мыши, микрофона, сенсорной панели, входного терминала и т.п. Устройство 812 вывода выполнено, например, в виде дисплея, громкоговорителя, выходного терминала и т.п. Модуль 813 запоминающего устройства содержит, например, жесткий диск, диск RAM, энергонезависимую память и т.п. Модуль 814 связи содержит, например, сетевой интерфейс. Привод 815 приводит в действие съемный носитель 821, такой как магнитный диск, оптический диск, магнитно-оптический диск и полупроводниковая память.
В компьютере, имеющем описанную выше конфигурацию, CPU 801 может, например, загружать и исполнять программы, хранящиеся в блоке 813 запоминающего устройства, в RAM 803 через интерфейс 810 ввода-вывода и шину 804, выполняя, таким образом, последовательность операций обработки, описанных выше. Необходимые данные и т.п. для CPU 801, чтобы исполнить различные типы операций обработки, также соответственно хранятся в RAM 803.
Программы, исполняемые компьютером (или CPU 801) могут предоставляться, например, как записанные на съемном носителе 821, который может использоваться, например, в качестве пакетного носителя и т.п. Кроме того, программы могут предоставляться через проводную или беспроводную среду передачи, такую как локальная сеть, Интернет или цифровое спутниковое вещание.
В компьютере программы могут устанавливаться в модуль 813 запоминающего устройства через интерфейс 810 ввода-вывода в ответ на установку съемного носителя 821 на привод 815. Программы могут приниматься блоком 814 связи через проводную или беспроводную передающую среду и устанавливаться в модуль 813 запоминающего устройства. Альтернативно, программы могут устанавливаться в ROM 802 или в модуль 813 запоминающего устройства заранее.
Дополнительно, программы, которые должны исполняться компьютером, могут обрабатываться в объясненном здесь хронологическом порядке или по запросу, например, когда они вызываются.
Дополнительно, в настоящем описании этапы описания программ, которые должны записываться на носителе для записи, содержат не только операции обработки, которые исполняются в раскрытом здесь хронологическом порядке, но также операции обработки, исполняемые параллельным способом или индивидуально, если нет необходимости выполнять их во времени.
Кроме того, в настоящем описании система представляет собрание из множества элементов компонент (устройств, модулей (компонент) и т.п.) и нет необходимости устанавливать все элементы компонент в одном корпусе. Поэтому множество устройств, размещенных в разных корпусах и соединенных между собой через сеть, являются системой; и одно устройство, в котором в одном корпусе установлено множество модулей, также является системой.
Кроме того, в описанных выше примерах любая структура, описанная как одно устройство (или один процессорный блок), может быть разделена на множество устройств (или процессорных блоков). Наоборот, любая структура, описанная как множество устройств (или процессорных блоков), может быть объединена, чтобы сформировать одно устройство (или один процессорный блок). Кроме того, любая конфигурация, отличная от описанной выше конфигурации, может естественным образом добавляться к конфигурации каждого устройства (или каждого процессорного блока). Дополнительно, часть конфигурации одного устройства (или одного процессорного блока) может содержаться в конфигурации другого устройства (или другого процессорного блока), пока конфигурация или порядок действия как единой системы остается, по существу, одним и тем же.
Предпочтительные варианты осуществления настоящего раскрытия были подробно описаны со ссылкой на приложенные чертежи, но технический объем настоящего раскрытия не ограничивается приведенными выше примерами. Специалисты в данной области техники должны понимать, что в рамках объема технической сущности, описанной в формуле изобретения, могут появляться различные модификации или альтернативы и они находятся в рамках технического объема настоящего изобретения.
Например, настоящая технология может адаптировать конфигурацию вычисления в облаке, где одна функция совместно обрабатывается множеством устройств через сеть посредством совместного использования.
Дополнительно, каждый этап, описанный в приведенных выше блок-схемах последовательностей выполнения операций, может исполняться не только одним устройством, но также и множеством устройств, действующих совместно.
Кроме того, если один этап содержит множество операций обработки, то множество операций обработки, содержащихся в одном этапе, могут исполняться не только одним устройством, но также и множеством устройств совместным образом.
Устройство кодирования изображения и устройство декодирования изображения, соответствующие описанным выше вариантам осуществления, могут применяться в различных электронных устройствах, таких как передатчик или приемник для спутникового вещания, проводного вещания, такого как кабельное телевидение, распространения через Интернет, и передачи оконечным устройствам посредством сотовой связи, устройства записи, записывающего изображения на носитель данных, такой как оптический диск, магнитный диск и флэш-память, или устройствам воспроизведения, воспроизводящим изображения с этих носителей записи. Ниже будут описаны четыре примера применений.
7. Седьмой вариант осуществления
Первый пример применения: телевизионный приемник
На фиг. 35 показан пример структуры телевизионного устройства, к которому применяется описанный выше вариант осуществления. Телевизионное устройство 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 можно достигнуть подавления снижения эффективности кодирования и достигнуть подавления ухудшения качества изображения из-за кодирования/декодирования.
Второй пример применения: мобильный телефон
На фиг. 36 показан пример конфигурации схемы, показывающей мобильный телефон, к которому применяются описанные выше варианты осуществления. Мобильный телефон 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. Аудиокодек 923 выполняет расширение аудиоданных, выполняет D/A-преобразование аудиоданных и генерирует аналоговый аудиосигнал. Дополнительно аудиокодек 923 подает сгенерированный аудиосигнал на громкоговоритель 924 и выводит звуковой сигнал.
Дополнительно, в режиме передачи данных, например, модуль 931 управления в соответствии с операцией пользователя, выполняемой через операционный модуль 932, генерирует текстовые данные, составляющие электронную почту. Дополнительно, модуль 931 управления отображает текст на блоке 930 отображения. Кроме того, модуль 931 управления генерирует данные электронной почты в соответствии с командой передачи пользователя, поданной через операционный модуль 932, и выводит сгенерированные данные электронной почты на модуль 922 связи. Модуль 922 связи кодирует и модулирует данные электронной почты и генерирует сигнал передачи. Дополнительно, модуль 922 связи передает сгенерированный сигнал передачи через антенну 921 на базовую станцию (не показана). Дополнительно, модуль 922 связи усиливает и выполняет преобразование частоты радиосигнала, принятого через антенну 921, и получает принятый сигнал. Также дополнительно, модуль 922 связи демодулирует и декодирует принятый сигнал, восстанавливает данные электронной почты и выводит восстановленные данные электронной почты на модуль 931 управления. Модуль 931 управления отображает содержание электронной почты на блоке 930 отображения и подает данные электронной почты на модуль 929 записи/воспроизведения для записи данных на носитель для хранения данных.
Модуль 929 записи/воспроизведения имеет произвольный считываемый/записываемый носитель для хранения данных. Например, носитель для хранения данных может быть встроенным носителем для хранения данных, таким как RAM или флэш-память, и может быть внешним устанавливаемым носителем для хранения данных, таким как жесткий диск, магнитный диск, магнитно-оптический диск, оптический диск, устройством памяти с битовой матрицей с нераспределенным пространством (Unallocated Space Bitmap, USB) или картой памяти.
Дополнительно, в режиме получения изображения, например, модуль 926 камеры получает изображение объекта, генерирует данные изображения и выводит сгенерированные данные изображения на модуль 927 видеопроцессора. Модуль 927 видеопроцессора кодирует данные изображения, введенные из модуля 926 камеры, и подает кодированный поток на модуль 929 записи/воспроизведения для записи потока на носитель для хранения данных. Кроме того, в режиме отображения изображения модуль 929 записи/воспроизведения считывает кодированный поток, хранящийся на носителе для хранения данных, и выводит его на модуль 927 видеопроцессора. Модуль 927 видеопроцессора декодирует кодированный поток, введенный от модуля 929 записи/воспроизведения и подает данные изображения на модуль 930 отображения, чтобы отображать на нем изображение.
В режиме видеотелефона, например, модуль 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 можно достигнуть подавления снижения эффективности кодирования и подавить ухудшение качества изображения из-за кодирования/декодирования.
Третий пример применения: устройство записи/воспроизведения
На фиг. 37 представлен пример конфигурации схемы устройства записи/воспроизведения, к которому применяются описанные выше варианты осуществления. Устройство 940 записи и воспроизведения кодирует, например, аудиоданные и видеоданные принятой вещательной программы и записывает данные на носитель для записи данных. Дополнительно, устройство 940 записи и воспроизведения может, например, кодировать аудиоданные и видеоданные, полученные от другого устройства и записывать данные на носитель для записи данных. Дополнительно, устройство 940 записи и воспроизведения воспроизводит данные, записанные на носителе для записи данных, используя монитор и громкоговоритель в соответствии, например, с командой пользователя. В этом случае устройство 940 записи и воспроизведения декодирует аудиоданные и видеоданные.
Устройство 940 записи и воспроизведения содержит тюнер 941, внешний интерфейс 942, кодер 943, модуль 944 жесткого диска (HDD), дисковод 945, переключатель 946, декодер 947, модуль 948 экранного меню (OSD), модуль 949 управления и интерфейс 950 пользователя.
Тюнер 941 извлекает сигнал желаемого канала из широковещательных сигналов, принимаемых через антенну (не показана) и демодулирует извлеченный сигнал. Дополнительно, тюнер 941 выводит кодированный битовый поток, полученный при демодуляции, на переключатель 946. То есть тюнер 941 играет в устройстве 940 записи и воспроизведения роль блока передачи
Внешний интерфейс 942 является интерфейсом для соединения друг с другом устройства 940 записи и воспроизведения и внешнего устройства или сети. Внешний интерфейс 942 может быть интерфейсом IEEE 1394, сетевым интерфейсом, интерфейсом USB, интерфейсом флэш-памяти и т.п. Например, видеоданные и аудиоданные, принятые через внешний интерфейс 942, вводятся в кодер 943. То есть внешний интерфейс 942 играет в устройстве 940 записи и воспроизведения роль блока передачи.
Когда видеоданные и аудиоданные, принятые от внешнего интерфейса 942, не кодированы, кодер 943 кодирует видеоданные и аудиоданные. Дополнительно, кодер 943 выводит кодированный битовый поток на переключатель 946.
HDD 944 записывает на внутренний жесткий диск кодированные битовые потоки, сжимая такие данные, как видеоданные и аудиоданные, различные программы и другие данные. Дополнительно, при воспроизведении видео- и аудиоданных HDD 944 считывает эти типы данных с жесткого диска.
Дисковод 945 записывает данные на носителе для записи и считывает данные с установленного на нем носителя для записи данных. Носителем записи, устанавливаемым на дисковод 945, могут быть, например, диск DVD (такой как DVD-video, DVD-RAM, DVD-R, DVD-RW, DVD+R и DVD+RW) или диск Blu-ray (зарегистрированная торговая марка).
Во время записи видеоданных и аудиоданных переключатель 946 выбирает кодированный битовый поток, вводимый от тюнера 941 или кодера 943, и выводит выбранный кодированный битовый поток на HDD 944 или на дисковод 945. Дополнительно, во время воспроизведения видео- и аудиоданных переключатель 946 выводит кодированный битовый поток, введенный от модуля 944 HDD или дисковода 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 записи и воспроизведения можно уменьшить снижение эффективности кодирования и уменьшить ухудшение качества изображения из-за кодирования/декодирования.
Четвертый пример применения: устройство получения изображения
На фиг. 38 показан пример конфигурации схемы устройства получения изображения, к которому применяются описанные выше варианты осуществления. Устройство 960 получения изображения получает изображение объекта, генерирует данные изображения, кодирует данные изображения и записывает данные изображения на носитель для записи данных.
Устройство 960 получения изображения содержит оптический модуль 961, модуль 962 получения изображения, сигнальный процессор 963, видеопроцессор 964, модуль 965 отображения, внешний интерфейс 966, память 967, привод 968 носителя данных, модуль 969 OSD, модуль 970 управления, интерфейс 971 пользователя и шину 972.
Оптический модуль 961 соединяется с модулем 962 получения изображения. Модуль 962 получения изображения соединяется с сигнальным процессором 963. Модуль 965 отображения соединяется с видеопроцессором 964. Интерфейс 971 пользователя соединяется с модулем 970 управления. Шина 972 выполнена с возможностью соединения друг с другом видеопроцессора 964, внешнего интерфейса 966, памяти 967, дисковода 968 носителя данных, OSD 969 и модуля 970 управления.
Оптический модуль 961 содержит объектив, диафрагму и т.п. Оптический модуль 961 генерирует оптическое изображение объекта на поверхности получения изображения модуля 962 получения изображения. Модуль 962 получения изображения содержит датчик изображения, такой как датчик на приборе с зарядовой связью (Charge Coupled Device, CCD) или CMOS-датчик (Complementary Metal Oxide Semiconductor, комплементарный металло-оксидный полупроводник), и преобразует оптическое изображение, сгенерированное на поверхности получения изображения, в сигнал изображения в виде электрического сигнала, используя для этого фотоэлектрическое преобразование. Дополнительно модуль 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. Восьмой вариант осуществления
Пример применения масштабируемого кодирования: первая система
Далее будет описан конкретный пример использования масштабируемых кодированных данных, которые подвергаются масштабируемому кодированию (или кодированию иерархического изображения). Масштабируемое кодирование может использоваться, например, для выбора данных, предназначенных для передачи, как показано в примере на фиг. 39.
В системе 1000 передачи данных, показанной на фиг. 39, распределительный сервер 1002 считывает масштабируемые кодированные данные, хранящиеся в модуле 1001 запоминающего устройства масштабируемых кодированных данных, и распределяет масштабируемые кодированные данные на оконечные устройства, такие как персональный компьютер 1004, AV-устройство 1005, планшетное устройство 1006 и мобильный телефон 1007 через сеть 1003.
В этом случае распределительный сервер 1002 выбирает кодированные данные соответствующего качества согласно характеристикам оконечного устройства и среды передачи данных и передает выбранные кодированные данные. Даже если распределительный сервер 1002 передает данные с качеством, более высоким, чем требуется, оконечное устройство не обязательно получает высококачественное изображение и может создавать задержку или переполнение. Кроме того, такие данные могут занимать полосу пропускания, большую, чем необходимо, или могут увеличивать нагрузку на оконечное устройство больше, чем нужно. Напротив, если распределительный сервер 1002 передает данные с качеством, более низким, чем требуется, оконечное устройство может не получать в устройстве изображение с достаточным качеством. Таким образом, если необходимо, распределительный сервер 1002 считывает и передает масштабируемые кодированные данные, хранящиеся в модуле 1001 запоминающего устройства для хранения масштабируемых кодированных данных в качестве кодированных данных, обладающих качеством, соответствующим характеристикам оконечного устройства и среды передачи данных, и передает считанные кодированные данные.
Например, модуль 1001 запоминающего устройства для хранения масштабируемых кодированных данных сохраняет масштабируемые кодированные данные (BL+EL) 1011, которые подверглись масштабируемому кодированию. Масштабируемые кодированные данные (BL+EL) 1011 являются кодированными данными, содержащими как основной уровень, так и улучшенный уровень, и являются данными, которые декодируются для получения как изображений основного уровня, так и изображений улучшенного уровня.
Распределительный сервер 1002 выбирает соответствующий уровень согласно характеристикам оконечного устройства, которое передает данные, и среды передачи данных и считывает данные уровня. Например, для персонального компьютера 1004 или планшетного устройства 1006 с высокой способностью обработки, распределительный сервер 1002 считывает высококачественные масштабируемые кодированные данные (BL+EL) 1011 из модуля 1001 запоминающего устройства для хранения масштабируемых кодированных данных и передает считанные масштабируемые кодированные данные такими, как они есть. В отличие от этого, например, распределительный сервер 1002 извлекает данные основного уровня из масштабируемых кодированных данных (BL+EL) 1011 и передает извлеченные данные основного уровня на AV-устройство 1005 или мобильный телефон 1007 с низкой способностью обработки, в качестве масштабируемых кодированных данных (BL) 1012, имеющих то же самое содержание, что и масштабируемые кодированные данные (BL+EL) 1011, но более низкое качество, чем масштабируемые кодированные данные (BL+EL) 1011.
Таким образом, использование масштабируемых кодированных данных может облегчить регулирование объема данных, подавляя, таким образом, возникновение задержки или переполнения, и подавляя ненужное увеличение нагрузки на оконечное устройство или среду связи. Кроме того, поскольку масштабируемые кодированные данные (BL+EL) 1011 имеют пониженную избыточность между уровнями, можно уменьшить объем данных по сравнению со случаем индивидуально кодированных данных соответствующих уровней. Соответственно, область хранения модуля 1001 запоминающего устройства для хранения масштабируемых кодированных данных может использоваться более эффективно.
Дополнительно, поскольку различные устройства, такие как персональный компьютер 1004 и мобильный телефон, могут применяться на оконечном устройстве, характеристики аппаратурного обеспечения оконечного устройства могут быть зависимы от устройства. Кроме того, поскольку оконечное устройство может также исполнять различные приложения, возможности программного обеспечения приложений могут варьироваться. Дополнительно, сеть 1003, служащая в качестве среды передачи, может адоптироваться как некая сеть из линий связи, которые могут быть проводными, беспроводными или теми и другими, такими как Интернет или локальная сеть (LAN), и иметь различные возможности передачи данных. Кроме того, такие характеристики и возможности могут варьироваться для других линий связи и т.п.
Поэтому перед начало передачи данных распределительный сервер 1002 может осуществлять связь с оконечным устройством, которому должны передаваться данные, и может получать информацию, относящуюся к возможностям оконечного устройства, таким как характеристики оконечного устройства или характеристики приложения (программного обеспечения), исполняемого оконечным устройством, а также информацию, относящуюся к среде передачи данных, такую как доступная ширина полосы сети 1003. Затем распределительный сервер 1002 на основе полученной информации может выбрать соответствующий уровень.
Извлечение уровня может выполняться оконечным устройством. Например, персональный компьютер 1004 может декодировать переданные масштабируемые кодированные данные (BL+EL) 1011 и отображать изображение основного уровня или изображение улучшенного уровня. Альтернативно, например, персональный компьютер 1004 может извлекать масштабируемые кодированные данные (BL) 1012 основного уровня из переданных масштабируемых кодированных данных (BL+EL) 1011, сохранять масштабируемые кодированные данные или передавать данные другому устройству или декодировать данные, чтобы отображать изображение основного уровня.
Естественно, количество блоков 1001 запоминающего устройства для масштабируемых кодированных данных, количество распределительных серверов 1002, количество сетей 1003 и количество оконечных устройств являются произвольными. Кроме того, хотя выше был описан пример, в котором распределительный сервер 1002 передает данные оконечному устройству, примеры использования не ограничиваются только этим. Система 1000 передачи данных может применяться в любой системе, пока система выбирает и передает соответствующий уровень, когда передаются кодированные данные, которые подверглись масштабируемому кодированию в оконечное устройство в соответствии с определенными условиями, такими как возможности оконечного устройства и среды передачи.
Те же самые эффекты, которые описаны выше со ссылкой на фиг. 1-31, могут быть получены, применяя ту же самую технологию, что и при применении к иерархическому кодированию/иерархическому декодированию, описанному выше со ссылкой на фиг. 1-31 в системе 1000 передачи данных, показанной на фиг. 39.
Пример применения масштабируемого кодирования: вторая система
Масштабируемое кодирование может также использоваться для передачи через многочисленные среды передачи данных, как показано, например, в примере на фиг. 40.
В системе 1100 передачи данных, показанной на фиг. 40, широковещательная станция 1101 передает масштабируемые кодированные данные (BL) 1121 основного уровня посредством наземного вещания 1111. Кроме того, широковещательная станция 1101 передает (например, пакетирует и передает) масштабируемые кодированные данные (EL) 1122 улучшенного уровня через произвольную сеть 1112, образованную проводной сетью передачи данных, беспроводной сетью передачи данных или сетью передачи данных, содержащей и ту, и другую сети.
Оконечное устройство 1102 обладает функцией приема наземного вещания 1111 которое передает широковещательная станция 1101, и принимает масштабируемые кодированные данные (BL) 1121 основного уровня, передаваемого через наземное вещание 1111. Кроме того, оконечное устройство 1102 дополнительно имеет функцию передачи данных для осуществления связи через сеть 1112 и принимает масштабируемые кодированные данные (EL) 1122 улучшенного уровня, переданные через сеть 1112.
Оконечное устройство 1102, например, в соответствии с командой пользователя и т.п., получает изображение основного уровня, декодируя масштабируемые кодированные данные (BL) 1121 основного уровня, полученные через наземное вещание 1111, сохраняет полученные масштабируемые кодированные данные или передает полученные масштабируемые кодированные данные другому устройству.
Кроме того, оконечное устройство 1102, например, в соответствии с командой пользователя, создает масштабируемые кодированные данные (BL) 1121 основного уровня, получаемые через наземное вещание 1111, и масштабируемые кодированные данные (EL) 1122 улучшенного уровня, которые оно получает через сеть 1112, так чтобы получить масштабируемые кодированные данные (BL+EL), декодирует масштабируемые кодированные данные, так чтобы получить или сохранить изображение улучшенного уровня, или передает масштабируемые кодированные данные другому устройству.
Как сказано выше, масштабируемые кодированные данные могут, например, передаваться через среду передачи данных, различную для каждого уровня. Таким образом, нагрузка может распределяться и возникновение задержки или переполнения может быть подавлено.
Кроме того, в зависимости от ситуации, среда передачи данных, используемая для передачи, может быть выполнена такой, чтобы выбираться для каждого уровня. Например, она может быть выполнена такой, что масштабируемые кодированные данные (BL) 1121 основного уровня с относительно большим объемом данных передаются через среду передачи данных с широкой полосой пропускания, а масштабируемые кодированные данные (EL) 1122 улучшенного уровня с относительно малым объемом данных передаются через среду передачи данных с узкой полосой пропускания. Кроме того, например, среда передачи данных, через которую передаются масштабируемые кодированные данные (EL) 1122 улучшенного уровня, может быть выполнена с возможностью переключения между сетью 1112 и наземным вещанием 1111 в соответствии с используемой полосой пропускания сети 1112. Аналогично, то же самое относится к данным любого уровня.
Управляя таким образом, повышение нагрузки для передачи данных может дополнительно уменьшаться.
Здесь количество уровней является произвольным и количество сред передачи данных, используемых для передачи, также является произвольным. Кроме того, количество оконечных устройств 1102, являющихся местами назначения при передаче данных, также является произвольным. Дополнительно, в приведенном выше описании, хотя был описан пример, в котором вещание ведется через широковещательную станцию 1101, пример использования этим не ограничивается. Система 1100 передачи данных может применяться в любой системе, пока она является системой, которая делит кодированные данные, кодируемые масштабируемым способом, на множество частей в виде блоков уровней и передает поделенные данные через множество линий.
Затем, даже в системе 1100 передачи данных, показанной на фиг. 40, возможно получение эффектов, подобных эффектам, описанным выше со ссылкой на фиг. 1-31, применяя настоящую технологию таким же способом, как она применяется выше при иерархическом кодировании/иерархическом декодировании, описанных выше со ссылкой на фиг. 1-31.
Пример применения масштабируемого кодирования: третья система
Масштабируемое кодирование может также использоваться для хранения кодированных данных, как показано, например, в примере на фиг. 41.
В системе 1200 получения изображения, показанной на фиг. 41, устройство 1201 получения изображения выполняет масштабируемое кодирование данных изображения, полученного посредством получения изображения объекта 1211, и подает результирующие данные изображения на запоминающее устройство 1202 для хранения масштабируемых кодированных данных в качестве масштабируемых кодированных данных (BL+EL) 1221.
Запоминающее устройство 1202 для хранения масштабируемых кодированных данных хранит масштабируемые кодированные данные (BL+EL) 1221, поданные от устройства 1201 получения изображения, с качеством, соответствующим ситуации. Например, в случае обычной ситуации запоминающее устройство 1202 для хранения масштабируемых кодированных данных извлекает данные основного уровня из масштабируемых кодированных данных (BL+EL) 1221 и сохраняет извлеченные данные (BL) 1222 основного уровня в качестве масштабируемых кодированных данных (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 получения изображения, показанной на фиг. 41, возможно получение эффектов, подобных эффектам, описанным выше со ссылкой на фиг. 1-31, применяя настоящую технологию таким же способом, как она применяется к иерархическому кодированию/иерархическому декодированию, описанным выше со ссылкой на фиг. 1-31.
Дополнительно, настоящая технология используется путем выбора соответствующих данных в сегментном блоке из множества видов кодированных данных, имеющих различные разрешающие способности или т.п., которые подготавливаются заранее и могут также применяться при потоковой передаче данных HTTP, такой, как, например, MPEG/DASH. То есть информация о кодировании или декодировании может использоваться совместно различными видами кодированных данных.
9. Девятый вариант осуществления
Другие примеры
Хотя в представленном выше описании были приведены примеры устройств, систем и т.п., к которым применяется настоящая технология, настоящая технология этим не ограничивается. Таким образом, настоящая технология может применяться как ко всем конфигурациям, установленным на таком устройстве или устройствах, образующих такую систему, например, на процессоре, как системе LSI (Large Scale Integration, интеграции большого объема), и т.п., так и к модулю, который использует множество процессоров и т.п. в блоке, использующем множество модулей и т.п. или их наборов и т.п. (другими словами, к части конфигурации устройства), при добавлении к блоку других функций.
Видеокомплект
Пример случая, когда настоящая технология применяется к комплекту, будет описан со ссылкой на фиг. 42. На фиг. 42 представлена схема конфигурации видеокомплекта, к которому применяется настоящая технология.
В последнее время реализация многочисленных функций электронного устройства расширяется и при их разработке или изготовлении, в случае, когда часть конфигурации назначается для продажи, обеспечения и т.п., существует случай, когда применяется не только конфигурация, использующая одну функцию, но также широко используемый случай, когда применяется один комплект, имеющий множество функций, полученных посредством комбинации множества конфигураций, имеющих соответствующие функции.
Видеокомплект 1300, показанный на фиг. 42, имеет такую многофункциональную конфигурацию и получается путем объединения устройства, имеющего функцию, связанную с кодированием изображения или декодированием изображения (любая из них или обе), с устройствами, имеющими другие функции, связанные с этой функцией.
Как показано на фиг. 42, видеокомплект 1300 содержит группу модулей, содержащую видеомодуль 1311, внешнюю память 1312, модуль 1313 управления электропитанием, входной модуль 1314 и т.п. и устройства, имеющие связанные функции модуля 1321 связности, камеры 1322, датчика 1323 и т.п.
Модуль генерируется как компонент, имеющий функцию, обладающую единством, организуя вместе несколько функций компонент, связанных друг с другом. Хотя конкретная физическая конфигурация является произвольной, может быть рассмотрен модуль, полученный путем установки нескольких процессоров, каждый из которых обладает некоторой функцией, компонента электронной схемы, такого как резистор или конденсатор, и других устройств и т.п., на монтажной панели и т.п., так чтобы интегрировать их вместе. Кроме того, может быть рассмотрено формирование нового модуля, объединяя модуль с другими модулями, процессорами и т.п.
В примере, показанном на фиг. 42, видеомодуль 1311 получается объединением конфигураций, имеющих функции, связанные с видеообработкой, и содержит: прикладной процессор, видеопроцессор, широкополосный модем 1333 и радиочастотный модуль 1334.
Процессор получают, интегрируя конфигурацию, имеющую заданную функцию на полупроводниковом кристалле в виде SoC (System On a Chip, система на кристалле) и, например, существует процессор, называемый системным LSI (Large Scale Integration, большая степень интеграции) или т.п. Конфигурация, обладающая заданной функцией, может быть логической схемой (конфигурацией аппаратурного обеспечения), конфигурацией, содержащей CPU, ROM, RAM и т.п., и программой (конфигурация программного обеспечения), исполняемой, используя их, или конфигурацией, объединяющей обе описанные выше конфигурации. Например, возможна конфигурация, в которой процессор содержит логические схемы, CPU, ROM, RAM и т.п., в которой некоторые функции реализуются логическими схемами (конфигурация аппаратурного обеспечения), а другие функции реализуются программой (конфигурация программного обеспечения), исполняемой CPU.
Прикладной процессор 1331, показанный на фиг. 42, является процессором, исполняющим прикладную программу, связанную с обработкой изображения. Для реализации заданных функций прикладная программа, исполняемая прикладным процессором 1331, может не только выполнять процесс вычислений, но также может по мере необходимости управлять конфигурациями внутри и снаружи видеомодуля 1311, такого как видеопроцессор 1332.
Видеопроцессор 1332 является процессором, имеющим функции, связанные с кодированием изображения и декодированием изображения (одной из них или обеими).
Широкополосный модем 1333 преобразует данные (цифровой сигнал), переданные посредством проводной или беспроводной (или проводной и беспроводной) широкополосной передачи данных, выполняемой через широкополосную линию, такую как Интернет или телефонная сеть общего пользования, в аналоговый сигнал посредством цифровой модуляции и т.п. или демодулирует аналоговый сигнал, принятый при широкополосной передаче данных, так чтобы он был преобразован в данные (цифровой сигнал). Например, широкополосный модем 1333 обрабатывает различную информацию, такую как данные изображения, обработанные видеопроцессором 1332, поток, в котором кодированы данные изображения, прикладная программа и данные установки.
Радиочастотный модуль 1334 является модулем, выполняющим преобразование частот, модуляцию/демодуляцию, усиление, процесс фильтрации и т.п.для радиочастотного (RF, Radio Frequency) сигнала, который передается/принимается через антенну. Например, радиочастотный модуль 1334 генерирует радиочастотный сигнал, выполняя преобразование частот и т.п. для сигнала в основной полосе, сгенерированного широкополосным модемом 1333. Кроме того, радиочастотный модуль 1334, например, генерирует сигнал в основной полосе, выполняя преобразование частот и т.п. для радиочастотного сигнала, принятого через входной модуль 1314.
Кроме того, как отмечено пунктирной линией 1341 на фиг. 42, прикладной процессор 1331 и видеопроцессор 1332 могут интегрироваться, так чтобы образовывать конфигурацию единого процессора.
Внешняя память 1312 является модулем, расположенным вне видеомодуля 1311, и содержит запоминающее устройство, используемое видеомодулем 1311. Запоминающее устройство внешней памяти 1312 может быть реализовано в любой физической конфигурации. Однако, в целом, поскольку запоминающее устройство часто используется для хранения данных, имеющих большой объем, таких как данные изображения, выполненные в блоках кадров, запоминающее устройство предпочтительно реализуется посредством полупроводниковой памяти, обладающей большой емкостью при относительно малой стоимости, такой как DRAM (Dynamic Random Access Memory)
Модуль 1313 управления электропитанием руководит и управляет подачей электропитания на видеомодуль 1311 (каждая конфигурация внутри видеомодуля 1311).
Входной модуль 1314 является модулем, обеспечивающим входную функцию (конечной схемы передачи/приема на стороне антенны) для радиочастотного модуля 1334. Как показано на фиг. 42, входной модуль 1314 содержит, например, модуль 1351 антенны, фильтр 1352 и усилительный модуль 1353.
Модуль 1351 антенны содержит антенну, передающую/принимающую беспроводной сигнал, и ее периферическую конфигурацию. Модуль 1351 антенны передает сигнал, поданный от усилительного модуля 1353, в качестве беспроводного сигнала и принимает беспроводной сигнал, поступающий на фильтр 1352 в качестве электрического сигнала (радиочастотного сигнала). Фильтр 1352 выполняет процесс фильтрации и т.п. для радиочастотного сигнала, принятого через антенну, и подает радиочастотный сигнал после процесса фильтрации на радиочастотный модуль 1334. Усилительный модуль 1353 усиливает радиочастотный сигнал, поданный от радиочастотного модуля 1334, и подает усиленный радиочастотный сигнал на модуль 1351 антенны.
Модуль 1321 связности является модулем, обладающим функцией, связанной с внешним подключением. Физическая конфигурация модуля 1321 связности является произвольной. Например, модуль 1321 связности содержит конфигурацию, имеющую функцию связи, отличную от технических требований для связи, которым соответствует широкополосный модем 1333, внешние терминалы ввода/вывода и т.п.
Например, модуль 1321 связности может быть выполнен с возможностью содержания модуля, имеющего связные функции, совместимые с техническими требованиями по радиосвязи, такими как Bluetooth (зарегистрированная торговая марка), IEEE 802.11 (например, Wi-Fi (Wireless Fidelity; зарегистрированная торговая марка)), NFC (Near Field Communication, связь в ближнем поле) и IrDA (InfraRed Data Association), и антенны, которая передает/принимает сигналы, совместимые с техническими требованиями. Кроме того, например, модуль 1321 связности может быть выполнен с возможностью содержания связных функций, совместимых с техническими требованиями проводной связи, такими как USB (Universal Serial Bus, универсальная последовательная шина) и HDMI (зарегистрированная торговая марка) (High-Definition Multimedia Interface, мультимедийный интерфейс высокой четкости) и терминалами, которые совместимы с техническими требованиями. Дополнительно, например, модуль 1321 связности может быть выполнен с возможностью наличия дополнительной функции передачи данных (сигнала) и т.п. для терминалов аналогового ввода/вывода и т.п.
Кроме того, модуль совместимости может быть выполнен с возможностью присутствия устройства, являющегося местом назначения передачи для данных (сигнала). Например, модуль 1321 связности может быть выполнен с возможностью введения привода (не только привода съемного носителя, но также и жесткого диска, SSD (Solid State Drive), a NAS (Network Attached Storage), и т.п.), выполняющего считывание данных или запись данных на носителе для записи, таком как магнитный диск, оптический диск, магнитно-оптический диск или полупроводниковая память. Дополнительно, модуль 1321 связности может быть выполнен с возможностью введения в него устройства вывода (монитора, громкоговорителя или т.п.) для изображения или аудиосигналов.
Камера 1322 является модулем, обладающим функцией получения данных изображения объекта посредством получения изображения объекта. Данные изображения, полученные посредством процесса получения изображения, выполняемого камерой 1322, например, подаются на видеопроцессор 1322 и кодируются.
Датчик 1323 является модулем, имеющим функцию произвольного датчика, такого как аудиодатчик, ультразвуковой датчик, оптический датчик, датчик освещенности, инфракрасный датчик, датчик изображения, датчик вращения, датчик угла, датчик угловой скорости, датчик скорости, датчик ускорения, датчик наклона, магнитный датчик идентификации, датчик удара или датчик температуры. Данные, которые обнаруживаются датчиком 1323, подаются, например, на прикладной процессор 1331 и используются прикладной программой и т.п.
В представленном выше описании, каждая конфигурация, описанная как модуль, может быть реализована процессором и каждая конфигурация, описанная как процессор, может быть реализована модулем.
Как будет описан позже, настоящая технология может быть применена к видеопроцессору 1332 видеокомплекта 1300, имеющего описанную выше конфигурацию. Соответственно, видеокомплект 1300 может быть выполнен в виде комплекта, к которому применима настоящая технология.
Пример конфигурации видеопроцессора
На фиг. 43 схематично представлена конфигурация видеопроцессора 1332 (фиг. 42), к которому применяется настоящая технология.
В примере, показанном на фиг. 43, видеопроцессор 1332 имеет функцию приема входного видеосигнала и аудиосигнала и кодирования принятых сигналов в соответствии с заданной системой и функцию декодирования кодированных видеоданных и кодированных аудиоданных и воспроизведения и вывода видеосигнала и аудиосигнала.
Как показано на фиг. 43, видеопроцессор 1332 содержит: модуль 1401 входного видеопроцессора; первый модуль 1402 увеличения/уменьшения изображения; второй модуль 1403 увеличения/уменьшения изображения; модуль 1404 выходного видеопроцессора; кадровую память 1405; и модуль 1406 управления памятью. Кроме того, видеопроцессор 1332 содержит: механизм 1407 кодирования/декодирования; видеобуферы 1408A ES (Elementary Stream, элементарного потока) и аудиобуферы 1409А и 1409 В ES. Кроме того, видеопроцессор 1332 содержит: аудиокодер 1410; аудиодекодер 1411; мультиплексор (MUX) 1412; демультиплексор (DMUX) 1413; и потоковый буфер 1414.
Модуль 1401 входного видеопроцессора, например, получает видеосигнал, поступающий от модуля 1321 связности (фиг. 42) или т.п., и преобразует полученный видеосигнал в цифровые данные изображения. Первый модуль 1402 увеличения/уменьшения изображения выполняет преобразование формата и процесс увеличения/уменьшения изображения для данных изображения. Второй модуль 1403 увеличения/уменьшения изображения выполняет для данных изображения процесс увеличения/уменьшения изображения в соответствии с форматом места назначения вывода через выходной модуль 1404 видеопроцессора или выполняет преобразование формата и процесс увеличения/уменьшения изображения, которые подобны процессам первого модуля 1402 увеличения/уменьшения изображения, и т.п. Выходной модуль 1404 видеопроцессора выполняет преобразование формата, преобразование в аналоговый сигнал и т.п. для данных изображения и выводит результирующий сигнал, например, на модуль 1321 связности (фиг. 42) или т.п. в качестве воспроизводимого видеосигнала.
Кадровая память 1405 является памятью для данных изображения, которая совместно используется модулем 1401 входного видеопроцессора, первым модулем 1402 увеличения/уменьшения изображения, вторым модулем 1403 увеличения/уменьшения изображения, модулем 1404 выходного видеопроцессора и механизмом 1407 кодирования/декодирования. Кадровая память 1405 реализуется как полупроводниковая память, такая как DRAM.
Модуль 1406 управления памятью принимает сигнал синхронизации от механизма 1407 кодирования/декодирования и управляет доступом к кадровой памяти 1405 для записи/считывания в соответствии с графиком доступа для кадровой памяти 1405, записанным в таблице 1406А управления доступом. Таблица 1406А управления доступом обновляется модулем 1406 управления памятью в соответствии с процессом, который выполняется механизмом 1407 кодирования/декодирования, первым модулем 1402 увеличения/уменьшения изображения, вторым модулем 1403 увеличения/уменьшения изображения и т.п.
Механизм 1407 кодирования/декодирования выполняет процесс кодирования данных изображения и выполняет процесс декодирования видеопотока, являющегося данными, полученными кодированием данных изображения. Например, механизм 1407 кодирования/декодирования кодирует данные изображения, считанные из кадровой памяти 1405 и далее записывает считанные данные изображения в видеобуфер 1408A ES в качестве видеопотока. Кроме того, например, механизм 1407 кодирования/декодирования последовательно считывает видеопоток из видеобуфера 1408A ES, декодирует считанный видеопоток и далее записывает декодированный видеопоток в кадровую память 1405 в качестве данных изображения. Механизм 1407 кодирования/декодирования использует кадровую память 1405 в таких процессах кодирования/декодирования в качестве рабочей области. Кроме того, механизм 1407 кодирования/декодирования, например, во время запуска процесса каждого макроблока, выводит сигнал синхронизации на модуль 1406 управления памятью.
Видеобуфер 1408A ES буферирует видеопоток, сгенерированный механизмом 1407 кодирования/декодирования и подает видеопоток на мультиплексор (MUX) 1412. Видеобуфер 1408 В ES буферирует видеопоток, поданный от демультиплексора (DMUX) 1413 и подает видеопоток на механизм 1407 кодирования/декодирования.
Видеобуфер 1409A ES буферирует аудиопоток, сгенерированный аудиокодером 1410, и подает аудиопоток на мультиплексор (MUX) 1412. Видеобуфер 1409 В ES буферирует аудиопоток, поданный от демультиплексора (DMUX) 1413, и подает аудиопоток на аудио декодер 1411.
Аудиокодер 1410 в цифровом виде коммутирует аудиосигнал, например, введенный от модуля 1321 связности (фиг. 42) или т.п., и кодирует цифровой сигнал в соответствии с заданной системой, такой как, например, аудиосистема MPEG или система АС3 (AudioCode, номер 3). Аудиокодер 1410 последовательно записывает в аудиобуфер 1409A ES аудиопотоки, являющиеся данными, полученными кодированием аудиосигналов. Аудио декодер 1411 декодирует аудиопоток, поданный из буфера 1409 В ES, выполняет преобразование декодированного аудиопотока, например, в аналоговый сигнал и т.п. и подает преобразованный сигнал, например на модуль 1321 связности (фиг. 42) и т.п. в качестве воспроизводимого аудиосигнала.
Мультиплексор (MUX) 1412 мультиплексирует видеопоток и аудиопоток. Способ мультиплексирования (другими словами, формат битового потока, формируемого путем мультиплексирования) является произвольным. Кроме того, во время мультиплексирования мультиплексор (MUX) 1412 может добавлять в битовый поток заданную информацию заголовка и т.п. Другими словами, мультиплексор (MUX) 1412 посредством процесса мультиплексирования может преобразовывать формат потока. Например, мультиплексируя видеопоток и аудиопоток, мультиплексор (MUX) 1412 преобразует видеопоток и аудиопоток в транспортный поток, являющийся битовым потоком, имеющим формат для передачи. Кроме того, например, мультиплексируя видеопоток и аудиопоток, мультиплексор (MUX) 1412 преобразует видеопоток и аудиопоток в данные (файловые данные), обладающие форматом для записи.
Демультиплексор (DMUX) 1413 демультиплексирует битовый поток, в котором видеопоток и аудиопоток мультиплексированы, используя способ, соответствующий процессу мультиплексирования, выполняемому мультиплексором (MUX) 1412. Другими словами, демультиплексор (DMUX) 1413 извлекает видеопоток и аудиопоток из битового потока, считанного из потокового буфера 1414 (видеопоток и аудиопоток разделены). Другими словами, демультиплексор (DMUX) 1413 может преобразовывать (инверсное преобразование для преобразования, выполненного мультиплексором (MUX) 1412) формат потока через процесс демультиплексирования. Например, демультиплексор (DMUX) 1413 получает транспортный поток, поданный, например, от модуля 1321 связности (фиг. 42), широкополосного модем 1333 или т.п. (фиг. 42) через потоковый буфер 1414, и демультиплексирует полученный транспортный поток, преобразуя тем самым транспортный поток в видеопоток и аудиопоток. Кроме того, например, демультиплексор (DMUX) 1413 получает файловые данные, считанные с различных носителей для записи данных, например, модулем 1321 связности (фиг. 42) через потоковый буфер 1414, и демультиплексирует полученные файловые данные, преобразованные файловые данные в видеопоток и аудиопоток.
Потоковый буфер 1414 буферирует битовый поток. Как пример, потоковый буфер 1414 буферирует транспортный поток, поданный от мультиплексора (MUX) 1412 и подает транспортный поток, например, на модуль 1321 связности (фиг. 42), широкополосный модем 1333 (фиг. 42) и т.п. в заданные моменты времени или основываясь на переданном извне запросе.
Кроме того, например, потоковый буфер 1414 буферирует транспортный поток, поданный от мультиплексора (MUX) 1412 и подает транспортный поток, например, на модуль 1321 связности (фиг. 42), широкополосный модем 1333 (фиг. 42) и т.п. в заданные моменты времени или основываясь на переданном извне запросе.
Дополнительно, потоковый буфер 1414 буферирует транспортный поток, полученный, например, через модуль 1321 связности (фиг. 42), широкополосный модем 1333 (фиг. 42) и т.п., и подает транспортный поток на демультиплексор (DMUX) 1413 в заданные моменты времени или основываясь на переданном извне запросе и т.п.
Кроме того, потоковый буфер 1414 буферирует файловые данные, считанные с различных носителей для записи данных, например, модулем 1321 связности (фиг. 42) или т.п., и подает файловые данные на демультиплексор (DMUX) 1413 в заданные моменты времени или основываясь на переданном извне запросе и т.п.
Далее будет описан пример работы видеопроцессора 1332 с такой конфигурацией. Например, видеосигнал, поданный на видеопроцессор 1332 от модуля 1321 связности (фиг. 42) или т.п., преобразуется в цифровые данные изображения в соответствии с заданной системой, такой как система 4:2:2 Y/Cb/Cr, входным модулем 1401 видеопроцессора и последовательно записывается в кадровую память 1405. Эти цифровые данные изображения считываются первым модулем 1402 увеличения/уменьшения изображения или вторым модулем 1403 увеличения/уменьшения изображения и процесс преобразование формата в заданной системе, такой как система 4:2:0Y/Cb/Cr и т.п., и увеличения/уменьшения выполняется для цифровых данных изображения и обработанные цифровые данные изображения снова записываются в кадровую память 1405. Эти данные изображения кодируются механизмом 1407 кодирования/декодирования и записываются в видеобуфер 1408A ES в качестве видеопотока.
Кроме того, аудиосигнал, поданный от модуля 1321 связности (фиг. 42) или т.п. на видеопроцессор 1332, кодируется аудиокодером 1410 и записывается в аудиобуфер 1409А ES в качестве аудиопотока.
Видеопоток, хранящийся в видеобуфере 1408A ES, и аудиопоток, хранящийся в аудиобуфере 1409A ES, считываются мультиплексором (MUX) 1412, мультиплексируются и преобразуются в транспортный поток, файловые данные или т.п. Транспортный поток, сгенерированный мультиплексором (MUX) 1412, буферируется в потоковый буфер 1414 и затем выводится во внешнюю сеть, например, через модуль 1321 связности (фиг. 42), широкополосный модем 1333 (фиг. 42) или т.п. Кроме того, файловые данные, сгенерированные мультиплексором (MUX) 1412, буферируются в потоковый буфер 1414, затем выводятся, например, на модуль 1321 связности (фиг. 42) или т.п., и записываются на различные носители для записи данных.
Кроме того, транспортный поток, который вводится из внешней сети на видеопроцессор 1332, например, через модуль 1321 связности (фиг. 42), широкополосный модем 1333 (фиг. 42) или т.п., буферируется в потоковый буфер 1414 и затем демультиплексируется демультиплексором (DMUX) 1413. Кроме того, файловые данные, которые считываются с различных носителей для записи данных, например, модулем 1321 связности (фиг. 42) или т.п., и вводятся на видеопроцессор 1332, буферируются в потоковый буфер 1414 и затем демультиплексируются демультиплексором (DMUX) 1413. Другими словами, транспортный поток или файловые данные, введенные на видеопроцессор 1332, разделяются на видеопоток и аудиопоток демультиплексором (DMUX) 1413.
Аудиопоток подается на аудиодекодер 1411 через аудиобуфер 1409A ES, декодируется и аудиосигнал воспроизводится. Кроме того, видеопоток записывается в видеобуфер 1408 В ES, затем последовательно считывается механизмом 1407 кодирования/декодирования, декодируется и записывается в кадровую память 1405. Декодированные данные изображения увеличиваются или уменьшаются вторым модулем 1403 увеличения/уменьшения изображения и записываются в кадровую память 1405. Затем декодированные данные изображения считываются выходным модулем 1404 видеопроцессора, имеют формат, преобразованный в заданную систему, такую как система 4:2:2Y/Cb/Cr, дополнительно преобразуются в аналоговый сигнал и видеосигнал воспроизводится и выводится.
В случае, когда настоящая технология применяется к видеопроцессору, выполненному таким образом, настоящая технология, соответствующая каждому из вариантов осуществления, описанных выше, может применяться к механизму 1407 кодирования/декодирования. Другими словами, например, механизм 1407 кодирования/декодирования может быть выполнен с возможностью наличия функции устройства 100 кодирования изображения (фиг. 1), соответствующего первому варианту осуществления, или устройства 200 декодирования изображения (фиг. 19), соответствующего второму варианту осуществления. При таком исполнении видеопроцессор 1332 может получать такие же преимущества, как описано выше со ссылкой на фиг. 1-31.
Кроме того, в механизме 1407 кодирования/декодирования настоящая технология (другими словами, функции устройства кодирования изображения и устройства декодирования изображения, соответствующих каждому из вариантов осуществления, описанных выше) может реализовываться аппаратурным обеспечением, таким как логические схемы, может реализовываться программным обеспечением, таким как встроенная программа или может реализовываться аппаратурным обеспечением и программным обеспечением вместе.
Другой пример конфигурации видеопроцессора
На фиг. 44 представлен другой пример конфигурации видеопроцессора 1332 (фиг. 42), к которому применяется настоящая технология. В случае примера, показанного на фиг. 44, видеопроцессор 1332 имеет функцию кодирования/декодирования видеоданных в соответствии с заданной системой.
Более конкретно, как показано на фиг.44, видеопроцессор 1332 содержит: модуль 1511 управления; интерфейс 1512 отображения; механизм 1513 отображения; механизм 1514 обработки изображения и внутреннюю память 1515. Кроме того, видеопроцессор 1332 содержит: механизм 1516 кодека; интерфейс 1517 памяти; мультиплексор/демультиплексор (MUX DMUX) 1518; сетевой интерфейс 1519 и видеоинтерфейс 1520.
Модуль 1511 управления управляет операциями процессорных блоков, расположенных внутри видеопроцессора 1332, таких как интерфейс 1512 отображения, механизм 1513 отображения, механизм 1514 видеопроцессора и механизм 1516 кодека.
Как показано на фиг. 44, модуль 1511 управления содержит, например, основной CPU 1531, субпроцессор 1532 и системный контроллер 1533. Основной CPU 1531 исполняет программу, которая используется для управления работой каждого процессорного блока, расположенного внутри видеопроцессора 1332. Основной CPU 1531 генерирует сигнал управления в соответствии с программой или т.п. и подает сигнал управления на каждый процессорный блок (другими словами, управляет работой каждого процессорного блока). Подпроцессор 1532 играет вспомогательную роль для основного CPU 1531. Например, подпроцессор 1532 исполняет дочерний процесс, подпрограмму и т.п. программы, исполняемой основным CPU 1531. Системный контроллер 1533 управляет операциями основного CPU 1531 и подпроцессора 1532, такими как назначение программ, которые должны исполняться основным CPU 1531 и подпроцессором 1532.
Интерфейс 1512 отображения выводит данные изображения, например, на модуль 1321 связности (фиг. 42) или т.п. под управлением модуля 1511 управления. Например, интерфейс 1512 отображения преобразует данные изображения, являющиеся цифровыми данными, в аналоговый сигнал и выводит данные изображения на контрольное устройство или т.п. модуля 1321 связности (фиг.42) в качество воспроизводимого видеосигнала или данных изображения, являющихся цифровыми данными.
Механизм 1513 отображения под управлением модуля 1511 управления выполняет различные процессы преобразования, такие как преобразование формата, преобразование размера и преобразование цветовой гаммы для данных изображения, так чтобы регулировать их под технические требования к аппаратурному обеспечению контрольного устройства, отображающего изображение или т.п.
Механизм 1514 обработки изображения под управлением модуля 1511 управления для данных изображения управляет заданной обработкой изображения, такой как процесс фильтрации для улучшения качества изображения или т.п.
Внутренняя память 1515 является памятью, расположенной внутри видеопроцессора 1332, которая используется совместно механизмом 1513 отображения, механизмом 1514 обработки изображения и механизмом 1516 кодека. Внутренняя память 1515, например, используется для обмена данными, выполняемого между механизмом 1513 отображения, механизмом 1514 обработки изображения и механизмом 1516 кодека. Например, во внутренней памяти 1515 при необходимости хранятся данные, поданные от механизма 1513 отображения, механизма 1514 отображения изображения или механизма 1516 кодека и данные подаются на механизм 1513 отображения, механизм 1514 обработки изображения или механизм 1516 кодека (например, в соответствии с запросом). Хотя эта внутренняя память 1515 может быть реализована в качестве любого запоминающего устройства, как правило, внутренняя память часто используется для хранения данных, имеющих малый объем, таких, как данные изображения, выполненные в видеоблоков или параметров, и, соответственно, предпочтительно реализуется полупроводниковой памятью, имеющей относительно малую емкость (например, по сравнению с расширенной памятью 1312) и высокое быстродействие, такой как SRAM (Static Random Access Memory, статическая память со случайным доступом).
Механизм 1516 кодек выполняет процесс, относящийся к кодированию или декодированию данных изображения. Система кодирования/декодирования, которой соответствует механизм 1516 кодека, является произвольной и их количество может быть одной, двумя или больше. Например, механизм 1516 кодека может содержать функцию кодека множества систем кодирования/декодирования и выполнять кодирование данных изображения или декодирование кодированных данных изображения, используя одну из множества систем кодирования/декодирования.
В примере, показанном на фиг. 44, механизм 1516 кодека, например, содержит MPEG-2 Video 1541, AVC/H.264 1542, HEVC/H.265 1543, HEVC/H.265 (масштабируемый) 1544, HEVC/H.265 (мультипроекционный) 1545 и MPEG-DASH 1551 в качестве функциональных блоков процесса, связанного с кодеком.
MPEG-2 Video 1541 является функциональным блоком, используемым для кодирования или декодирования данных изображения в соответствии с системой MPEG-2. AVC/H.264 1542 является функциональным блоком, используемым для кодирования или декодирования данных изображения в соответствии с системой AVC. Кроме того, HEVC/H.265 1543 является функциональным блоком, используемым для кодирования или декодирования данных изображения в соответствии с системой HEVC. HEVC/H.265 (Scalable) 1544 является функциональным блоком, используемым для кодирования или декодирования данных изображения в соответствии с системой HEVC. HEVC/H.265 (Multi-view) 1545 является функциональным блоком, используемым для мультипроекционного кодирования или мультипроекционного декодирования данных изображения в соответствии с системой HEVC.
MPEG-DASH 1551 является функциональным блоком, используемым для передачи/приема данных изображения в соответствии с системой MPEG-DASH (MPEG-Dynamic Adaptive Streaming over HTTP). MPEG-DASH является технологией потокового видео, использующего HTTP (HyperText Transfer Protocol, протокол передачи гипертекста), и имеющего ту особенность, что он соответственно выбирается из множества фрагментов кодированных данных, имеющих взаимно-различные разрешающие способности и т.п., которые подготавливаются заранее в блоках сегментов и передаются. MPEG-DASH 1551 выполняет формирование потока, передачу управления потоком и т.п., которые совместимы с техническими требованиями, и для данных кодирования/декодирования изображения использует MPEG-2 Video 1541 или HEVC/H.265 (Multi-view) 1545, как описано выше.
Интерфейс 1517 памяти является интерфейсом, используемым для внешней памяти 1312. Данные, поданные от механизма 1514 обработки изображения или механизма 1516 кодека, подаются во внешнюю память 1312 через интерфейс 1517 памяти. Кроме того, данные, поданные от внешней памяти 1312, подаются на видеопроцессор 1332 (механизм 1514 обработки изображения или механизм 1516 кодека) через интерфейс 1517 памяти.
Мультиплексор/демультиплексор (MUX DMUX) 1518 мультиплексирует или демультиплексирует различного рода данные, относящиеся к изображению, такие как битовый поток, данные изображения или видеосигнал. Способ мультиплексирования/демультиплексирования является произвольным. Например, во время процесса мультиплексирования мультиплексор/демультиплексор (MUX DMUX) 1518 может не только размещать в нем множество фрагментов данных, но также добавлять к данным заданную информацию заголовка. Кроме того, во время процесса демультиплексирования мультиплексор/демультиплексор (MUX DMUX) 1518 может не только делить один фрагмент данных на множество частей, но также добавлять к поделенным данным заданную информацию заголовка. Другими словами, мультиплексор/демультиплексор (MUX DMUX) 1518 посредством процесса мультиплексирования/демультиплексирования может преобразовывать формат данных. Например, мультиплексор/демультиплексор (MUX DMUX) 1518 может преобразовывать битовый поток в транспортный поток, то есть в формат для передачи данных или данных (файловых данных), то есть в файловый формат для записи посредством мультиплексирования битового потока. Очевидно, что инверсное преобразование может выполняться посредством процесса демультиплексирования.
Сетевой интерфейс 1519 является специализированным интерфейсом, таким как широкополосный модем 1333 (фиг. 42) или модуль 1321 связности (фиг. 42). Видеоинтерфейс 1520 является специализированным интерфейсом, таким как модуль 1321 связности (фиг. 42) или камера 1322 (фиг. 42).
Далее будет описан пример работы такого видеопроцессора 1332. Например, когда транспортный поток принимается от внешней сети через модуль 1321 связности (фиг. 42), широкополосный модем 1333 (фиг. 42) или т.п., транспортный поток подается на мультиплексор/демультиплексор (DMUX) 1518 через сетевой интерфейс 1519, демультиплексируется и декодируется механизмом 1516 кодека. Для данных изображения, полученных процессом декодирования, выполняемым, например, механизмом 1516 кодека, заданная обработка изображения выполняется механизмом 1514 обработки изображения, заданное преобразование выполняется механизмом 1513 отображения и результирующие данные изображения подаются, например, на модуль 1321 связности (фиг. 42) или т.п. через интерфейс 1512 отображения и изображение отображается на мониторе. Кроме того, например, данные изображения, полученные процессом декодирования, выполняемым механизмом 1516 кодека, перекодируются механизмом 1516 кодека, мультиплексируются мультиплексором/демультиплексором (MUX DMUX) 1518, преобразуются в файловые данные, выводятся, например, на модуль 1321 связности (фиг. 42) или т.п. через интерфейс 1520 отображения и записываются на различных носителях для записи данных.
Кроме того, например, файловые данные или кодированные данные, полученные кодированием данных изображения, считанных модулем 1321 связности (фиг. 42) или т.п. с носителя для записи данных, не показанного на чертеже, подаются на мультиплексор/демультиплексор (MUX DMUX) 1518 через видеоинтерфейс 1520, демультиплексируются и декодируются механизмом 1516 кодеком. Данные изображения, полученные процессом декодирования, выполняемым механизмом 1516 кодека, подвергаются заданной обработке изображения, выполняемой механизмом 1514 обработки изображения, заданное преобразование выполняется механизмом 1513 отображения и результирующие данные изображения подаются, например, на модуль 1321 связности (фиг. 42) или т.п. через интерфейс 1512 отображения и изображение отображается на мониторе. Дополнительно, например, данные изображения, полученные процессом декодирования, выполняемым механизмом 1516 кодека, перекодируются механизмом 1516 кодека, мультиплексируются мультиплексором/демультиплексором (MUX DMUX) 1518, преобразуются в транспортный поток, подаются, например, на модуль 1321 связности (фиг. 42), широкополосный модем (фиг. 42) или т.п. через интерфейс 1519 отображения и передаются на другое устройство, не показанное на чертеже.
Кроме того, обмен данными изображения или другими данными между процессорными блоками, расположенными внутри видеопроцессора 1332, например, выполняется, используя внутреннюю память 1515 или внешнюю память 1312. Кроме того, модуль 1313 управления электропитанием, например, управляет подачей электропитания на модуль 1511 управления.
В случае, когда настоящая технология применяется к видеопроцессору, выполненному таким образом, настоящая технология, соответствующая каждому из вариантов осуществления, описанных выше, может применяться к механизму 1516 кодека. Другими словами, например, механизм 1516 кодека может содержать функциональный блок, который реализует устройство 100 кодирования изображения (фиг. 1), соответствующее первому варианту осуществления, или устройство 200 декодирования изображения (фиг. 19), соответствующее второму варианту осуществления. При таком исполнении видеопроцессор 1332 может получать такие же преимущества, как описано выше со ссылкой на фиг. 1-31.
Кроме того, в механизме 1516 кодека настоящая технология (другими словами, функции устройства кодирования изображения и устройства декодирования изображения, соответствующих каждому из вариантов осуществления, описанных выше) могут реализовываться аппаратурным обеспечением, таким как логические схемы, могут реализовываться программным обеспечением, таким как встроенная программа или могут реализовываться аппаратурным обеспечением и программным обеспечением вместе.
Как сказано выше, хотя две конфигурации видеопроцессора 1332 были описаны как примеры, конфигурация видеопроцессора 1332 является произвольной и может быть конфигурацией, отличной от описанных выше двух конфигураций. Кроме того, этот видеопроцессор 1332 может быть выполнен в виде либо одного полупроводникового чипа, либо множества полупроводниковых чипов. Например, видеопроцессор 1332 может быть выполнен в виде трехмерной слоистой LSI, в которой множество полупроводников располагаются слоями. Кроме того, видеопроцессор 1332 может быть реализован посредством множества LSI.
Пример применения в устройстве
Видеокомплект 1300 может быть встроен в различные устройства, обрабатывающие данные изображения. Например, видеокомплект 1300 может быть встроен в телевизионное устройство 900 (фиг. 35), мобильный телефон 920 (фиг. 36), устройство 940 записи и воспроизведения (фиг. 37), устройство 960 получения изображения (фиг. 38) и т.д. При таком исполнении видеопроцессор 1300 может получать такие же преимущества, как описано выше со ссылкой на фиг. 1-31.
Кроме того, видеокомплект 1300, например, может быть встроен в оконечные устройства системы 1000 передачи данных, показанные на фиг. 39, такие как персональный компьютер 1004, AV-устройство 1005, планшетное устройство 1006 и мобильный телефон 1007, вещательная станция 1101 и оконечное устройство 1102 системы 1100 передачи данных, показанной на фиг. 40, и устройство 1201 получения изображения и запоминающее устройство 1202 масштабируемых кодированных данных системы 1200 получения изображения, показанной на фиг. 41, и т.п. Встраивая в них видеокомплект 1300, устройства могут получать такие же преимущества, как описано выше со ссылкой на фиг. 1-31.
Дополнительно, даже если некоторые из конфигураций видеонабора 1300, описанного выше, могут быть конфигурациями, в которых содержится видеопроцессор 1332, конфигурации могут реализовываться как в случае, когда применяется настоящая технология. Например, только видеопроцессор 1332 может быть выполнен в виде видеопроцессора, к которому применима настоящая технология. Кроме того, как описано выше, процессор, видеомодуль 1311 и т.п., обозначенные пунктирной линией 1341, могут быть выполнены в виде процессора, модуля и т.п., к которым применяется настоящая технология. Дополнительно, например, видеомодуль 1311, расширенная память 1312, модуль 1313 управления электропитанием и входной модуль 1314 могут объединяться, чтобы быть выполненными в виде видеомодуля 1361, к которому применима настоящая технология. В любой из конфигураций могут быть получены те же самые преимущества, как те, которые описаны выше со ссылкой на фиг. 1-31.
Другими словами, любая конфигурация, которая содержит видеопроцессор 1332, подобно случаю видеокомплекта 1300, может быть встроена в различные устройства, обрабатывающие данные изображения. Например, видеопроцессор 1332, процессор и видеомодуль 1311, обозначенные пунктирной линией 1341, или видеомодуль 1361 могут быть встроены в телевизионное устройство 900 (фиг. 35), мобильный телефон 920 (фиг. 36), устройство 940 записи и воспроизведения (фиг. 37), устройство 960 получения изображения (фиг. 38), оконечные устройства системы 1000 передачи данных, показанной на фиг. 39, такой как персональный компьютер 1004, AV-устройство 1005, планшетное устройство 1006 и мобильный телефон 1007, широковещательную станцию 1101 и оконечное устройство 1102 системы 1100 передачи данных, показанной на фиг. 40, и устройство 1201 получения изображения и запоминающее устройство 1202 масштабируемых кодированных данных системы 1200 получения изображения, показанной на фиг. 41, и т.п. При встраивании любой конфигурации, к которой может применяться настоящая технология, подобно случаю видеокомплекта 1300, устройства могут приобретать такие же преимущества, как описано выше со ссылкой на фиг. 1-31.
Дополнительно, в настоящем описании были представлены примеры, в которых различные виды информации, такие как информация разрешения пропуска или информация идентификации пропуска, мультиплексируются в кодированный поток и кодированный поток передается со стороны кодирования на сторону декодирования. Однако способ передачи информации этим не ограничивается. Например, информация может передаваться или записываться как отдельные данные, связанные с кодированным битовым потоком, без мультиплексирования с кодированным битовым потоком. Здесь термин "связанные" означает, что изображение (срез, блок или т.п.; это может быть часть изображения), содержащееся в битовом потоке, и информация, соответствующая изображению, во время процесса декодирования связываются друг с другом. Другими словами, информация может передаваться по линии передачи информации, отличной от линии передачи, по которой передается изображение (или битовый поток). Дополнительно, информация может записываться на носителе для записи данных (или в другой области хранения данных на том же самом носителе для записи), отличном от того, на котором записывается изображение (или битовый поток). Кроме того, информация и изображение (или битовый поток) могут связываться друг с другом, например, в произвольном блоке, таком как множество кадров, один кадр или участок кадров.
Предпочтительные варианты осуществления настоящего раскрытия были подробно описаны со ссылкой на приложенные чертежи, но технический объем настоящего раскрытия не ограничивается приведенными выше примерами. Специалисты в данной области техники должны понимать, что в рамках объема технической сущности, описанной в формуле изобретения, могут появляться различные модификации или альтернативы и они находятся в рамках технического объема настоящего изобретения.
Настоящая технология может также использовать следующие конфигурации:
(1) Устройство обработки изображений, содержащее: модуль квантования для квантования с использованием весового коэффициента, применяемого к блоку с пропуском ортогонального преобразования, в котором процесс ортогонального преобразования пропускается, блока с пропуском ортогонального преобразования; и модуль кодирования для кодирования коэффициента блока с пропуском ортогонального преобразования, квантованного модулем квантования.
(2) Устройство обработки изображения по (1), в котором модуль квантования выполнен с возможностью использования значения пространственного домена в качестве весового коэффициента.
(3) Устройство обработки изображения по (2), в котором модуль квантования выполнен с возможностью использования одного весового коэффициента.
(4) Устройство обработки изображения по (2), в котором модуль квантования выполнен с возможностью использования компонента постоянной составляющей матрицы квантования, используемой при квантовании блока ортогонального преобразования, в котором выполняется процесс ортогонального преобразования, в качестве весового коэффициента.
(5) Устройство обработки изображения по (2), в котором модуль квантования выполнен с возможностью квантования блока с пропуском ортогонального преобразования, с использованием матрицы весовых коэффициентов, полученной посредством выполнения матричной обработки компонента постоянной составляющей матрицы квантования.
(6) Устройство обработки изображения по (1), в котором модуль квантования выполнен с возможностью квантования блока с пропуском ортогонального преобразования, с использованием матрицы весовых коэффициентов, полученной путем выполнения матричной обработки весового коэффициента.
(7) Устройство обработки изображения по (1), дополнительно содержащее модуль передачи, выполненный с возможностью передачи весового коэффициента в качестве набора параметров последовательности или в качестве набора параметров картинки.
(8) Устройство обработки изображения по п. (1), дополнительно содержащее модуль передачи, выполненный с возможностью передачи в качестве набора параметров картинки или в качестве заголовка среза информации разрешения пропуска, указывающей, разрешен ли пропуск процесса ортогонального преобразования.
(9) Устройство обработки изображения по (8), в котором блок передачи выполнен с возможностью передачи информации разрешения пропуска, только когда минимальный размер блока при выполнении ортогонального преобразования равен 4×4.
(10) Устройство обработки изображения по п. (1), дополнительно содержащее модуль передачи, выполненный с возможностью передачи информации разрешения пропуска в качестве набора параметров последовательности, только когда минимальный размер блока при выполнении ортогонального преобразования равен 4×4.
(11) Устройство обработки изображения по (10), в котором модуль передачи выполнен с возможностью передачи весового коэффициента вслед за информацией разрешения пропуска, когда информация разрешения пропуска является значением для разрешения пропуска процесса ортогонального преобразования.
(12) Способ обработки изображения устройства обработки изображения, использующего весовой коэффициент, применяемый к блоку с пропуском ортогонального преобразования, в котором процесс ортогонального преобразования пропускается, для квантования блока с пропуском ортогонального преобразования и кодирующем коэффициент квантованного блока с пропуском ортогонального преобразования.
(13) Устройство обработки изображений, содержащее: модуль фильтрации для осуществления фильтрации удаления блочности локально декодированного изображения, когда изображение подвергается процессу кодирования; модуль управления для управления фильтром удаления блочности посредством модуля фильтрации, так чтобы увеличивать силу фильтрации удаления блочности фильтра в отношении границы между блоком с пропуском ортогонального преобразования, в котором процесс ортогонального преобразования пропускается, и блоком ортогонального преобразования в котором ортогональное преобразование выполняется; и модуль кодирования, использующий изображение, для которого блоком фильтрации выполняется фильтрация удаления блочности для кодирования изображения.
(14) Способ обработки изображения устройства обработки изображения, в котором устройство обработки изображения выполняет фильтрацию удаления блочности локально декодированного изображения, когда изображение подвергается процессу кодирования, управляет фильтром удаления блочности посредством модуля фильтрации, так чтобы увеличивать силу фильтрации фильтра удаления блочности в отношении границы между блоком с пропуском ортогонального преобразования, в котором процесс ортогонального преобразования пропускается, и блоком ортогонального преобразования, в котором ортогональное преобразование выполняется, использует изображение, для которого блоком фильтрации выполняется фильтрация удаления блочности, и кодирует изображение.
(15) Устройство обработки изображений, содержащее: модуль декодирования, выполняющий процесс декодирования битового потока, для генерирования изображения; модуль фильтрации, для осуществления фильтрации удаления блочности изображения, сгенерированного модулем декодирования; и модуль управления для управления фильтром удаления блочности посредством блока фильтрации, для увеличения силы фильтрации фильтра удаления блочности в отношении границы между блоком с пропуском ортогонального преобразования, в котором процесс ортогонального преобразования пропускается, и блоком ортогонального преобразования в котором ортогональное преобразование выполняется.
(16) Способ обработки изображения устройства обработки изображения, в котором устройство обработки изображения выполняет процесс декодирования битового потока, для генерирования изображения, выполняет фильтрацию удалении блочности декодированного изображения, и управляет фильтром удалении блочности, так чтобы увеличивать силу фильтрации фильтра удаления блочности в отношении границы между блоком с пропуском ортогонального преобразования, в котором процесс ортогонального преобразования пропускается, и блоком ортогонального преобразования в котором ортогональное преобразование выполняется.
(21) Устройство обработки изображений, содержащее:
модуль квантования, для квантования с использованием весового коэффициента, применяемого к блоку с пропуском ортогонального преобразования, в котором процесс ортогонального преобразования пропускается, блока с пропуском ортогонального преобразования; и
модуль кодирования, для кодирования блока с пропуском ортогонального преобразования, квантованного блоком квантования.
(22) Устройство обработки изображения по (21), в котором модуль квантования выполнен с возможностью использования одного весового коэффициента.
(23) Устройство обработки изображения по (22), в котором модуль квантования выполнен с возможностью использования весового коэффициента, для квантования блока с пропуском ортогонального преобразования, имеющего размер блока 4×4.
(24) Устройство обработки изображения по (23), дополнительно содержащее модуль передачи, выполненный с возможностью передачи информации разрешения пропуска, переданной в виде набора параметров картинки и указывающей, разрешен ли пропуск процесса ортогонального преобразования.
(25) Устройство обработки изображения по (24), в котором модуль передачи дополнительно выполнен с возможностью передачи весового коэффициента.
(26) Устройство обработки изображения по (21), в котором модуль квантования выполнен с возможностью квантования блока без пропуска ортогонального преобразования, при этом процесс ортогонального преобразования выполняется, с использованием матрицы квантования, отличной от матрицы весовых коэффициентов, полученной при выполнении матричной обработки весового коэффициента.
(27) Устройство обработки изображения по (24), дополнительно содержащее модуль передачи, выполненный с возможностью модулирования кодированных данных, полученных при выполнении квантования модулем квантования, и кодирования посредством модуля кодирования данных изображения, для передачи кодированных данных в качестве сигнала передачи.
(28) Устройство обработки изображения по (24), дополнительно содержащее мультиплексор, выполненный с возможностью мультиплексирования кодированных данных, полученных при выполнении квантования модулем квантования и кодирования модулем квантования данных изображения, с кодированными аудиоданными.
(29) Устройство обработки изображения по (24), дополнительно содержащее модуль получения изображения, выполненный с возможностью получения изображения объекта для генерирования данных изображения, при этом
модуль квантования выполнен с возможностью квантования блока с пропуском ортогонального преобразования данных изображения, полученных посредством получения изображения модулем получения изображения.
(30) Устройство обработки изображения по (24), дополнительно содержащее модуль аудиокодека, выполненный с возможностью осуществления кодирования и декодирования аудиоданных.
(31) Устройство обработки изображения по (24), дополнительно содержащее модуль записи, выполненный с возможностью который записи кодированных данных, полученных при выполнении квантования модулем квантования и кодирования модулем кодирования данных изображения, на носитель записи данных.
(32) Способ обработки изображения, содержащий этапы, на которых:
используют весовой коэффициент, применяемый к блоку с пропуском ортогонального преобразования, в котором процесс ортогонального преобразования пропускается, для квантования блока с пропуском ортогонального преобразования; и
кодируют коэффициент квантованного блока с пропуском ортогонального преобразования.
Перечень ссылочных позиций
100 Устройство кодирования изображения
104 Модуль ортогонального преобразования
105 Модуль квантования
106 Модуль кодирования без потерь
108 Модуль инверсного квантования
109 Модуль инверсного ортогонального преобразования
111 Фильтр удаления блочности
121 Модуль с пропуском ортогонального преобразования
131 Модуль кодирования пропуска
132 Модуль определения пропуска
141 Модуль установки матрицы квантования
142 Модуль генерирования весового коэффициента
143 Модуль процесса квантования
151 Модуль определения границ
152 Модуль регулирования силы фильтрации
153 Блок фильтрации
200 Устройство декодирования изображения
202 Блок декодирования без потерь
203 Модуль инверсного квантования
204 Модуль инверсного ортогонального преобразования
206 Фильтр удаления блочности
221 Модуль с пропуском инверсного ортогонального преобразования
231 Буфер TransformSkipFlag
232 Модуль генерирования сигнала управления
241 Буфер матрицы квантования
242 Модуль генерирования весового коэффициента
243 Буфер параметра квантования
244 Модуль инверсного квантования
251 Модуль определения границ
252 Модуль регулирования силы фильтрации
253 Модуль фильтрации
название | год | авторы | номер документа |
---|---|---|---|
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ | 2013 |
|
RU2740164C2 |
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ | 2013 |
|
RU2641261C2 |
УСТРОЙСТВО ДЕКОДИРОВАНИЯ И СПОСОБ ДЕКОДИРОВАНИЯ | 2013 |
|
RU2643490C2 |
УСТРОЙСТВО ДЕКОДИРОВАНИЯ И СПОСОБ ДЕКОДИРОВАНИЯ | 2013 |
|
RU2752695C2 |
УСТРОЙСТВО КОДИРОВАНИЯ И СПОСОБ КОДИРОВАНИЯ | 2013 |
|
RU2642364C2 |
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЯ | 2013 |
|
RU2658793C2 |
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЯ | 2013 |
|
RU2680741C2 |
УСТРОЙСТВО И СПОСОБ КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И УСТРОЙСТВО И СПОСОБ ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ | 2015 |
|
RU2679990C2 |
УСТРОЙСТВО И СПОСОБ КОДИРОВАНИЯ ИЗОБРАЖЕНИЙ И УСТРОЙСТВО И СПОСОБ ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЙ | 2015 |
|
RU2690439C2 |
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ | 2013 |
|
RU2737038C2 |
Группа изобретений относится к технологиям кодирования/декодирования данных изображения. Техническим результатом является повышение качества изображения посредством использования матрицы квантования, содержащей коэффициенты, имеющие одинаковое значение. Предложено устройство кодирования данных изображения. Устройство содержит модуль квантования для квантования блока с пропуском ортогонального преобразования, в котором процесс ортогонального преобразования пропускается, с использованием матрицы квантования, содержащей коэффициенты, имеющие одинаковое значение. Устройство также содержит модуль кодирования для кодирования коэффициентов блока с пропуском ортогонального преобразования, квантованного блоком квантования. 2 н. и 9 з.п. ф-лы, 44 ил.
1. Устройство кодирования данных изображения, содержащее:
модуль квантования для квантования блока с пропуском ортогонального преобразования, в котором процесс ортогонального преобразования пропускается, с использованием матрицы квантования, содержащей коэффициенты, имеющие одинаковое значение; и
модуль кодирования для кодирования коэффициентов блока с пропуском ортогонального преобразования, квантованного блоком квантования.
2. Устройство по п. 1, в котором матрица квантования является матрицей 4×4.
3. Устройство по п. 1, в котором модуль квантования выполнен с возможностью квантования, с использованием весового коэффициента, блока с пропуском ортогонального преобразования, имеющего размер блока 4×4.
4. Устройство по п. 1, дополнительно содержащее модуль передачи, выполненный с возможностью передачи информации разрешения пропуска, переданной в виде набора параметров картинки и указывающей, разрешен ли пропуск процесса ортогонального преобразования.
5. Устройство по п. 1, в котором модуль квантования выполнен с возможностью квантования блока без пропуска ортогонального преобразования, при этом процесс ортогонального преобразования выполняется с использованием матрицы квантования, отличной от указанной матрицы квантования.
6. Устройство по п. 1, дополнительно содержащее модуль передачи, выполненный с возможностью модулирования кодированных данных, полученных посредством выполнения квантования модулем квантования и кодирования модулем кодирования данных изображения, для передачи кодированных данных в качестве сигнала передачи.
7. Устройство по п. 1, дополнительно содержащее мультиплексор, выполненный с возможностью мультиплексирования кодированных данных, полученных посредством выполнения квантования модулем квантования и кодирования модулем кодирования данных изображения, с кодированными аудиоданными.
8. Устройство по п. 1, дополнительно содержащее модуль получения изображения, выполненный с возможностью получения изображения объекта, для генерирования данных изображения, при этом
модуль квантования выполнен с возможностью квантования блока данных изображения с пропуском ортогонального преобразования, полученного посредством получения изображения модулем получения изображения.
9. Устройство по п. 1, дополнительно содержащее модуль аудиокодека, выполненный с возможностью осуществления кодирования и декодирования аудиоданных.
10. Устройство по п. 1, дополнительно содержащее модуль записи, выполненный с возможностью записи кодированных данных, полученных посредством выполнения квантования модулем квантования и кодирования модулем кодирования данных изображения, на носителе записи данных.
11. Способ кодирования данных изображения, содержащий этапы, на которых:
квантуют блок с пропуском ортогонального преобразования, в котором процесс ортогонального преобразования пропускается, с использованием матрицы квантования, сформированной коэффициентами, имеющими одинаковое значение, и
кодируют коэффициенты квантованного блока с пропуском ортогонального преобразования.
Приспособление для суммирования отрезков прямых линий | 1923 |
|
SU2010A1 |
статья M | |||
Кипятильник для воды | 1921 |
|
SU5A1 |
Печь для непрерывного получения сернистого натрия | 1921 |
|
SU1A1 |
Изложница с суживающимся книзу сечением и с вертикально перемещающимся днищем | 1924 |
|
SU2012A1 |
Изложница с суживающимся книзу сечением и с вертикально перемещающимся днищем | 1924 |
|
SU2012A1 |
Изложница с суживающимся книзу сечением и с вертикально перемещающимся днищем | 1924 |
|
SU2012A1 |
Приспособление для суммирования отрезков прямых линий | 1923 |
|
SU2010A1 |
ОПЕРАТОР ОБРАТИМОГО ПЕРЕКРЫТИЯ ДЛЯ ЭФФЕКТИВНОГО СЖАТИЯ ДАННЫХ БЕЗ ПОТЕРЬ | 2005 |
|
RU2377653C2 |
Авторы
Даты
2018-01-16—Публикация
2013-06-21—Подача