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

Область техники, к которой относится изобретение
Настоящее раскрытие относится к устройству и способу обработки изображений и, в частности, к устройству и способу обработки изображений, способным уменьшать ухудшение изображения.
Уровень техники
В последние годы получили широкое распространение устройства, в которых изображение подвергается кодированию со сжатием, используя систему кодирования, которая обращается с информацией изображения как с цифровой информацией, и в этом случае сжатие изображения посредством ортогонального преобразования, такого как дискретное косинусное преобразование и т.п., и компенсация движения, обладает преимуществом избыточности, являющимся признаком информации изображения, чтобы выполнять высокоэффективное кодирование и хранение информации. Примерами такой системы кодирования являются Moving Picture Experts Group (MPEG) и другие.
В частности, MPEG2 (ISO/IEC 13818-2) определяется как универсальная система кодирования изображения и является стандартом, охватывающим как изображения с чересстрочной разверткой, так и изображения с прогрессивной разверткой, а также изображения со стандартной разрешающей способностью и изображения высокой четкости. Например, MPEG2 в настоящее время широко используется как для профессионального, так для потребительского использования. Используя способ сжатия MPEG2, в случае изображения с чересстрочной разверткой со стандартной разрешающей способностью, например, 720 х 480 пикселей, назначается объем кодирования (битовая скорость) 4-8 Мбит/с. Кроме того, при использовании способа сжатия MPEG 2, в случае изображения с чересстрочной разверткой и высокой разрешающей способностью, например, 1920 х 1088 пикселей, назначается объем кодирования (битовая скорость) 18-22 Мбит/с. По этой причине становится возможным реализовать высокий коэффициент сжатия и благоприятное качество изображения.
MPEG2 использовался, главным образом, для кодирования изображения высокого качества, пригодного для широкого вещания, но не был совместимым с системами кодирования с объемом кода (битовой скоростью) ниже, чем в MPEG1, другими словами, с более высоким коэффициентом сжатия. При широком использовании мобильных терминалов ожидается, что потребность в такой системе кодирования в будущем будет расти и в ответ на это была проведена стандартизация системы кодирования MPEG4. Что касается системы кодирования изображения, то технические требования к ней были утверждены в качестве международного стандарта как ISO/IEC 14496-2 в декабре 1998 г.
Дополнительно, в последние годы стандартизация стандарта под названием H.26L (ITU-T (сектор по стандартизации телекоммуникаций в составе ITU (Международного союза по телекоммуникациям)) Q6/16 VCEG (экспертная группа по видеокодированию)) прогрессировала, причем предметом его рассмотрения первоначально было кодирование изображения для использования при проведении видеоконференций. При использовании H.26L стало известно, что хотя кодирование и декодирование для этих целей требуют повышенного объема вычислений по сравнению с традиционной системой кодирования, такой как MPEG2 или MPEG4, при этом реализуется повышенная эффективность кодирования. Кроме того, в настоящее время, как часть деятельности по MPEG4, стандартизация, была осуществлена совместная модель видеокодирования с улучшенным сжатием (Joint Model of Enhanced-Compression Video Coding), содержащая функцию, которая не поддерживается H.26L, и берущая H.26L в качестве основы, чтобы реализовать повышенную эффективность кодирования.
Согласно графику стандартизации, в марте 2003 г. был принят международный стандарт под названием H.264 и Часть 10 MPEG 4 (Advanced Video Coding, перспективное видеокодирование, здесь далее упоминаемое как AVC).
Дополнительно, как расширение H.264/AVC, стандартизация FRExt (Fidelity Range Extension, расширение диапазона точности воспроизведения), содержащая инструменты кодирования, необходимые для бизнес-применения, такие как RGB, 4:2:2 или 4:4:4, а также 8 х 8 DCT и матрицы квантования, определенные в MPEG 2, была завершена в феврале 2005 г. Соответственно, была принята система кодирования, способная, используя H.264/AVC, должным образом передавать даже шум пленки, содержащийся в кинофильме, и которая используется в широком диапазоне применений, таких как диски Blu-ray (зарегистрированная торговая марка).
Однако, в последнее время возросла потребность кодирования при более высоком коэффициенте сжатия, например, потребность в сжатии изображения, имеющего приблизительно 4000 х 2000 пикселей, что в четыре раза больше, чем у изображения высокой четкости, или для распространения изображений высокой четкости в среде с ограниченной способностью передачи, такой как Интернет. Поэтому, в экспертной группе по видеокодированию (Video Coding Expert Group, VCEG) под эгидой ITU-T, как было описано выше, непрерывно проводились исследования по повышению эффективности кодирования.
Поэтому с целью дополнительного повышения эффективности кодирования по сравнению с AVC, в настоящее время группой сотрудничества по видеокодированию (Joint Collaboration Team-Video Coding, JCTVC), являющейся группой по стандартизации ITU-T и ISO/IEC, проводится стандартизация системы кодирования под названием High Efficiency Video Coding (HEVC) (видеокодирование высокой эффективности) (смотрите, например, непатентный документ 1).
Однако, в стандарте HEVC, раскрытом в непатентном документе 1, используется технология, названная "Intra Transform Skipping" (пропуск внутрикадрового преобразования) (смотрите, например, непатентный документ 2).
То есть, во-первых, флаг, указывающий, применяется ли в последовательности Transform Skipping (пропуск преобразования) (упоминаемый также как "пропуск ортогонального преобразования"), передается в Sequence Parameter Set (SPS) (набор параметров последовательности).
Когда значение равно 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: Torino, IT, 14-22 July, 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 and ISO/IEC JTC 1/SC 29/WG 119th Meeting: Geneva, CH, 27 April - 7 May 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 кодирования без потерь выполняет кодирование переменной длины или арифметическое кодирование. Например, кодирование переменной длины содержит CAVLC (Context-Adaptive Variable Length Coding, контекстно адаптированное кодирование переменной длины) и т.п., определенное в системе H.264/AVC. Примером арифметического кодирования является CABAC (Context-Adaptive Binary Arithmetic Coding, контекстно адаптированное двоичное арифметическое кодирование) и т.п.
Накопительный буфер 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. Например, в случае межкадрового предсказания блок выбора подает опорное изображение из кадровой памяти 112 на блок 115 предсказания/компенсации движения.
Блок 114 внутрикадрового предсказания выполняет внутрикадровое предсказание (предсказание в пределах экрана), чтобы сформировать предсказанное изображение, используя пиксельное значение внутри текущей картинки, которая является опорным изображением, подаваемым из кадровой памяти 112 через блок 113 выбора. Блок 114 внутрикадрового предсказания выполняет внутрикадровое предсказание во множестве режимов внутрикадрового предсказания, подготовленных заранее.
Блок 114 внутрикадрового предсказания формирует предсказанное изображение, используя все возможные режимы внутрикадрового предсказания, и оценивает значение функции стоимости каждого предсказанного изображенияия, используя входное изображение, поданное из буфера 102 перегруппировки изображений, чтобы выбрать оптимальный режим. Когда оптимальный режим внутрикадрового предсказания выбран, блок 114 внутрикадрового предсказания 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, Ultra High Definition; 4000 пикселей × 2000 пикселей), который будет предметом системы кодирования следующего поколения.
Таким образом, например, кодируемый блок (CU) описывается в системе HEVC, показанной на фиг. 2.
CU также называют блоком дерева кодирования (CTB) и он является частичной областью изображения в блоке картинки, который выполняет ту же самую роль, что и макроблок в системе H.264/AVC. Последний имеет фиксированный размер 16х16 пикселей, тогда как размер первого не фиксирован и, таким образом, описывается в информации о сжатии изображения в каждой последовательности.
Например, в наборе параметров последовательности (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 с размером 2Nx2N пикселей делится на CU с размером NxN пикселей, которые находятся в иерархии на один уровень ниже, когда значение флага 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 х 16 или матрица 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 ⋅⋅⋅ (1)
Здесь, "Ω" представляет универсальный набор возможных режимов для кодирования блока или макроблока и "D" представляет энергетическую разницу между декодированным изображением и входным изображением, когда кодирование выполняется в режиме предсказания. "λ" представляет множитель Лагранжа, заданный как функция параметра квантования. "R" представляет общий объем кодирования, в том числе коэффициента ортогонального преобразования, когда кодирование выполняется в определенном режиме.
То есть, чтобы выполнить кодирование в режиме высокой сложности, требуется больший объем вычислений, поскольку необходимо выполнять процесс временного кодирования во всех возможных режимах, чтобы вычислить параметры D и R.
В режиме низкой сложности функция стоимости выражается следующим уравнением (2).
Стоимость (режим ∈ Ω) = D + QP2Quant(QP) * HeaderBit ⋅⋅⋅ (2)
Здесь "D" представляет энергетическую разность между предсказанным изображением и входным изображением и отличается от режима высокой сложности. "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 ортогонального преобразования яркости или к блокам 4 × 4 ортогонального преобразования цветности.
Затем для каждого блока определяется включение/выключение с пропуском ортогонального преобразования (TransformSkip) и передается флаг о его включении/выключении.
Эффективность кодирования
Независимо от такого управления пропуском ортогонального преобразования, процесс энтропийного кодирования, процесс квантования, процесс контурной фильтрации и т.п. выполняются постоянно. То есть, процесс энтропийного кодирования, процесс квантования, процесс контурной фильтрации и т.п. также выполняются для блока с пропуском ортогонального преобразования, как в блоке без пропуска ортогонального преобразования.
Однако, матрица квантования является весовым коэффициентом, относящимся к частотному домену. То есть, матрица квантования проектируется таким образом, чтобы применяться к блоку коэффициентов ортогонального преобразования. Соответственно, когда такая матрица квантования применяется к блоку, имеющему значение пространственной области (разностные данные изображения), эффективность кодирования может снижаться. То есть, качество изображения может ухудшаться.
Кроме того, как описано выше, пропуск ортогонального преобразования применяется к изображению, в котором имеют тенденцию появляться высокочастотные составляющие. Поэтому существует высокая вероятность, что содержание изображения на блоке с пропуском ортогонального преобразования значительно отличается от содержания изображения на блоке без пропуска ортогнального преобразования. То есть, на границе между блоком с пропуском ортогонального преобразования и блоком без пропуска ортогонального преобразования легко возникает блочное искажение.
Поэтому, как и на других границах, когда процесс фильтрации удаления блочности выполняется на границе между блоком с пропуском ортогонального преобразования и блоком без пропуска ортогонального преобразования, эффективность кодирования может снижаться. То есть, качество изображения может ухудшаться.
Управление, соответствующее пропуску ортогонального преобразования
Таким образом, процесс кодирования управляется в соответствии с тем, является ли текущий блок блоком с пропуском ортогонального преобразования (TransformSkip). Более конкретно, процесс квантования (процесс инверсного квантования) процесса кодирования и процесса декодирования управляются.
Управление процессом квантования
Например, в случае процесса квантования, процесс квантования выполняется на блоке без пропуска ортогонального преобразования, в котором ортогональное преобразование выполняется, используя матрицу квантования, и процесс квантования выполняется на блоке с пропуском ортогонального преобразования, в котором ортогональное преобразование пропускается, используя вместо матрицы квантования один весовой коэффициент. То есть, все коэффициенты блока с пропуском ортогонального преобразования, служащего в качестве текущего блока, квантуются, используя один весовой коэффициент.
Это состояние представлено на фиг. 8. Например, как показано на фиг. 8, квантование выполняется на блоке без пропуска ортогонального преобразования (матрице коэффициентов ортогонального преобразования), используя матрицу квантования, как на предшествующем уровне техники.
С другой стороны, блок с пропуском ортогонального преобразования 4 х 4 (матрица разностного значения предшествующего ортогонального преобразования) квантуется, используя матрицу весовых коэффициентов, получаемую путем квантования одного весового коэффициента. Естественно, фактический способ вычисления является произвольным, но выполняющим, в сущности, вычисление, эквивалентное описанному, используя матрицу весовых коэффициентов.
Весовой коэффициент является произвольным. Например, весовой коэффициент может содержать скалярное значение. Например, весовым коэффициентом может быть постоянная составляющая (DC) матрицы квантования. Матрица квантования является весовым коэффициентом, относящимся к частотному домену, но постоянная составляющая является значением, относящимся к частотному домену, а также значением, относящимся к пространственному домену. Если присутствует только постоянная составляющая матрицы квантования, имеющей эти характеритики, маловероятно, что это должно вести к снижению эффективности кодирования, даже когда квантование применяется к каждому коэффициенту блока с пропуском ортогонального преобразования, являющемуся значением, относящимся к пространственному домену.
В этом случае, как показано на фиг. 8, постоянные составляющие извлекаются из матрицы квантования и матрица весовых коэффициентов формируется путем перегруппировки извлеченных постоянных составляющих в матрицу 4 х 4, квантуя, тем самым, блок с пропуском ортогонального преобразования 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 определения пропуска получает от блока 106 кодирования без потерь информацию разрешения пропуска (transform_skip_enabled_flag), указывающую, разрешается ли пропуск процесса ортогонального преобразования. Эта информация разрешения пропуска (transform_skip_enabled_flag) устанавливается заранее, например, пользователем и т.п., и сохраняется в блоке 106 кодирования без потерь. Блок 132 определения пропуска подает сигнал управления для подачи команды разрешения с пропуском ортогонального преобразования, соответствующей информации разрешения пропуска (transform_skip_enabled_flag), на блок 104 ортогонального преобразования.
Например, когда информация разрешения пропуска (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 удаления блочности согласно результату процесса на этапе S108 соответственно выполняет процесс фильтрации удаления блочности локально декодированного изображения, полученного в процессе на этапе S113.
На этапе S115 кадровая память 112 сохраняет декодированное изображение, подвергнутое процессу фильтрации удаления блочности посредством процесса на этапе S114. Дополнительно, изображения, не подвергнутые фильтрации фильтром 111 удаления блочности, также подаются от блока 110 вычислений и сохраняются в кадровой памяти 112.
На этапе S116 блок 106 кодирования без потерь кодирует квантованный коэффициент посредством процесса, описанного на этапе S110. То есть, для данных, соответствующих разностному изображению, выполняется кодирование без потерь, такое как кодирование переменной длины или арифметическое кодирование.
Кроме того, в этом случае, блок 106 кодирования без потерь кодирует информацию о режиме предсказания предсказанного изображения, выбранном в процессе на этапе S106, и суммирует кодированную информацию с кодированными данными, полученными при кодировании разностного изображения. То есть, блок 106 кодирования без потерь также кодирует информацию, такую как информация об оптимальном режиме внутрикадрового предсказания, поданную от блока 114 внутрикадрового предсказания, или информацию, соответствующую оптимальному режиму межкадрового предсказания, поданную от блока 115 компенсации/предсказания движения, и суммирует кодированную информацию с кодированными данными.
Дополнительно, блок 106 кодирования без потерь соответственно дополнительно кодирует информацию по ортогональному преобразованию или квантованию и кодированную информацию в кодированные данные.
На этапе S117 накопительный буфер 107 накапливает кодированные данные, полученные в процессе на этапе S116. На этапе S117 кодированные данные, накопленные в накопительном буфере 107, соответственно считываются и передаются на сторону декодирования через путь прохождения передачи или через носитель для записи данных.
На этапе S118 блок 117 управления скоростью управляет скоростью операции квантования блока 105 квантования, чтобы не вызывать переполнения или недостаточного заполнения, основываясь на объеме кодирования (сформированном объеме кодирования) кодированных данных, накопленных в накопительном буфере 107 в процессе на этапе S117. Кроме того, блок 117 управления скоростью подает на блок 105 кантования информацию о параметре квантования.
Процесс кодирования заканчивается, когда заканчивается процесс на этапе S116.
Последовательность выполнения процесса управления пропуском ортогонального преобразования
Далее, со ссылкой на блок-схему последовательности выполнения операций, показанную на фиг. 15, будет описана последовательность выполнения операций процесса управления пропуском ортогонального преобразования, выполняемого на этапе S108, показанном на фиг. 14.
Когда процесс управления пропуском ортогонального преобразования начинается, блок 132 определения пропуска на этапе S131 определяет, разрешается ли режим TransformSkip, в котором выполняется пропуск ортогонального преобразования, основываясь на информации разрешения пропуска (transform_skip_enabled_flag).
Когда определено, что режим 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), приведенной ниже.
QP = (QP_P + QP_Q + 1) >> 1 ⋅⋅⋅ (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 выбора подает на блок 205 вычислений предсказанное изображение от блока 211 внутрикадрового предсказания или предсказанное изображение от блока 212 предсказания/компенсации движения. Кроме того, в блоке 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 инверсного квантования, блок 204 инверсного ортогонального преоюразования и фильтр 206 удаления блочности.
Например, когда информацией разрешения пропуска (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, картинки P и картинки B, кодированные блоком 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) является произвольным. Например, информация разрешения пропуска может устанавливаться в соответствии с содержанием изображения, которое должно кодироваться.
Например, когда пропуск ортогонального преобразования в начальном состоянии запрещен и жанр программы определяется в электронной программе передач (EPG) или т.п., если определенным жанром является анимация, предпочтительно установить информацию разрешения пропуска (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) передается только в PPS.
Напротив, как указано в четвертой строке сверху на фиг. 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 и определяется, что минимальный размер блока ортогонального преобразования block (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(неосновная проекция) = CurrentQP(неосновная проекция) - 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_ 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(основной уровень) = Current_CU_QP(основной уровень) – Previsous_CU_QP(основной уровень)
(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(неосновной уровень j)
(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 может быть интерфейсом IEEE1394, сетевым интерфейсом, интерфейсом 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 связности может быть выполнен с возможностью присутствия устройства, являющегося местом назначения передачи данных (сигнала). Например, модуль 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 кодирования/декодирования; видеобуферы 1408А 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, и далее записывает считанные данные изображения в видеобуфер 1408А ES в качестве видеопотока. Кроме того, например, механизм 1407 кодирования/декодирования последовательно считывает видеопоток из видеобуфера 1408А ES, декодирует считанный видеопоток и далее записывает декодированный видеопоток в кадровую память 1405 в качестве данных изображения. Механизм 1407 кодирования/декодирования использует кадровую память 1405 в таких процессах кодирования/декодирования в качестве рабочей области. Кроме того, механизм 1407 кодирования/декодирования, например, во время запуска процесса каждого макроблока, выводит сигнал синхронизации на блок 1406 управления памятью.
Видеобуфер 1408А ES буферирует видеопоток, сформированный механизмом 1407 кодирования/декодирования и подает видеопоток на мультиплексор (MUX) 1412. Видеобуфер 1408В ES буферирует видеопоток, поданный от демультиплексора (DMUX) 1413, и подает видеопоток на механизм 1407 кодирования/декодирования.
Видеобуфер 1409А ES буферирует аудиопоток, сформированный аудиокодером 1410, и подает аудиопоток на мультиплексор (MUX) 1412. Видеобуфер 1409В ES буферирует аудиопоток, поданный от демультиплексора (DMUX) 1413, и подает аудиопоток на аудиодекодер 1411.
Аудиокодер 1410 в цифровом виде коммутирует аудиосигнал, например, введенный от модуля 1321 связности (фиг. 42) или т.п., икодирует цифровой сигнал в соответствии с заданной системой, такой как, например, аудиосистема MPEG или система AC3 (AudioCode, номер 3). Аудиокодер 1410 последовательно записывает в аудиобуфер 1409А 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:2Y/Cb/Cr, входным блоком 1401 видеопроцессора и последовательно записывается в кадровую память 1405. Эти цифровые данные изображения считываются первым блоком 1402 увеличения/уменьшения изображения или вторым блоком 1403 увеличения/уменьшения изображения и процесс преобразование формата в заданной системе, такой как система 4:2:0Y/Cb/Cr и т.п., увеличение/уменьшение выполняется для цифровых данных изображения и обработанные цифровые данные изображения снова записываются в кадровую память 1405. Эти данные изображения кодируются механизмом 1407 кодирования/декодирования и записываются в видеобуфер 1408А ES в качестве видеопотока.
Кроме того, аудиосигнал, поданный от модуля 1321 связности (фиг. 42) или т.п. на видеопроцессор 1332, кодируется аудиокодером 1410 и записывается в аудиобуфер 1409А ES в качестве аудиопотока.
Видеопоток, хранящийся в видеобуфере 1408А ES, и аудиопоток, хранящийся в аудиобуфере 1409А 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 через аудиобуфер 1409А 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 (Scalable) 1544, HEVC/H.265 (Multi-view) 1545 и MPEG-DASH1551 в качестве функциональных блоков процесса, связанного с кодеком.
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, и т.п. Встраивая любую конфигурацию, к которой применяется настоящая технорлогия, аналогично случаю видеокомплекта 13000, устройство может получать те же самые преимущества, которые описаны выше со ссылкой на фиг. 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 Модуль фильтрации