ОБЛАСТЬ ТЕХНИКИ ИЗОБРЕТЕНИЯ
Настоящее изобретение относится к устройству кодирования изображения для и способу кодирования изображения для кодирования видео с высокой степенью эффективности, и устройству декодирования изображения для и способу декодирования изображения для декодирования видео, которое закодировано с высокой степенью эффективности.
УРОВЕНЬ ТЕХНИКИ ИЗОБРЕТЕНИЯ
Традиционно, в соответствии со способом кодирования видео по международным стандартам, таким как MPEG (Экспертной группы по движущемся изображениям) или H.26x ITU-T (Комитета по телекоммуникациям Международного союза электросвязи), после того, как введенный видеокадр разбит на макроблоки, каждый из которых состоит из блоков 16x16 пикселей, и предсказание с компенсацией движения выполнено над каждым из макроблоков, сжатие информации выполняется над введенным видеокадром посредством выполнения ортогонального преобразования и квантования над сигналом ошибки предсказания на поблочной основе. Однако, проблема состоит в том, что, по мере того, как степень сжатия становится высокой, эффективность сжатия уменьшается вследствие ухудшения качества опорного изображения предсказания, используемого при выполнении предсказания с компенсацией движения. Для решения этой проблемы, в соответствии со способом кодирования, таким как AVC/H.264 MPEG-4 (обратитесь к непатентному противопоставленному материалу 1), посредством выполнения процесса фильтрации с внутриконтурным деблокированием, искажение блока, происходящее в опорном изображении предсказания и вызванное квантованием коэффициентов ортогонального преобразования, устраняется.
Фиг. 21 - структурная схема, показывающая устройство кодирования видео, раскрытое в непатентном ссылочном материале 1. В этом устройстве кодирования видео, при приеме сигнала изображения, который является предметом для кодирования, узел 100 разделения на блоки разделяет сигнал изображения на макроблоки и выводит сигнал изображения каждого из макроблоков в узел 102 предсказания в качестве секционированного сигнала изображения. При приеме секционированного сигнала изображения из узла 101 разделения на блоки, узел 102 предсказания выполняет внутрикадровое или межкадровое предсказание над сигналом изображения каждой цветовой компоненты в каждом из макроблоков, чтобы определять сигнал ошибки предсказания.
В частности, при выполнении предсказания с компенсацией движения между кадрами, поиск вектора движения выполняется над каждым самим макроблоком или каждым из субблоков, на которые дополнительно мелко разделяется каждый макроблок. Затем, изображение предсказания с компенсацией движения формируется посредством выполнения предсказания с компенсацией движения над сигналом опорного изображения, хранимым в памяти 107, посредством использования вектора движения, и сигнал ошибки предсказания вычисляется посредством определения разности между сигналом предсказания, показывающим изображение предсказания с компенсацией движения, и сигналом разделенного изображения. Кроме того, узел 102 предсказания выводит параметры для формирования сигнала предсказания, которые узел предсказания определяет при получении сигнала предсказания, в узел 108 кодирования с переменной длиной слова. Например, параметры для формирования сигнала предсказания включают в себя режим внутреннего предсказания, указывающий, каким образом выполняется пространственное предсказание в пределах кадра, и вектор движения, указывающий количество движения между кадрами.
При приеме сигнала ошибки предсказания из узла 102 предсказания, узел 103 сжатия устраняет корреляцию сигнала посредством выполнения процесса ДКП (дискретного косинусного преобразования, DCT) над сигналом ошибки предсказания, а затем, квантует этот сигнал ошибки предсказания для получения сжатых данных. При приеме сжатых данных из узла 103 сжатия, узел 104 локального декодирования вычисляет сигнал ошибки предсказания, соответствующий сигналу ошибки предсказания, выведенному из узла 102 предсказания, посредством обратного квантования сжатых данных, а затем, выполнения процесса обратного ДКП над сжатыми данными.
При приеме сигнала ошибки предсказания из узла 104 локального декодирования, узел 105 сложения складывает сигнал ошибки предсказания и сигнал предсказания, выведенный из узла 102 предсказания, для формирования локально декодированного изображения. Контурный фильтр 106 устраняет искажение блока, наложенное на локально декодированный сигнал изображения, показывающий локально декодированное изображение, сформированное узлом 105 сложения, и сохраняет локально декодированный сигнал изображения, из которого устранено искажение, в памяти 107 в качестве сигнала опорного изображения.
При приеме сжатых данных из узла 103 сжатия, узел 108 кодирования с переменной длиной слова осуществляет энтропийное кодирование сжатых данных и выводит битовый поток, который является кодированным результатом. При выводе битового потока, узел 108 кодирования с переменной длиной слова мультиплексирует параметры для формирования сигнала предсказания, выведенные из узла 102 предсказания, в битовый поток и выводит этот битовый поток.
В соответствии со способом, раскрытым непатентным противопоставленным материалом 1, контурный фильтр 106 определяет интенсивность сглаживания для соседнего пикселя на границе блока в ДКП на основе информации, включающей в себя глубину детализации квантования, режим кодирования, степень изменения вектора движения, и т.д., тем самым, уменьшая искажения, возникающие на границах блоков. Как результат, качество сигнала опорного изображения может улучшаться, и может улучшаться эффективность предсказания с компенсацией движения в последующих процессах кодирования.
В противоположность, проблема у способа, раскрытого непатентным ссылочным материалом 1, состоит в том, что количество высокочастотных компонент, потерянных из сигнала, возрастает с повышением степени сжатия, и это дает в результате избыточную равномерность на всем экране, а отсюда, видеоизображение становится нерезким. Для того чтобы решить эту проблему, непатентный ссылочный материал 2 предлагает, в качестве контурного фильтра 106, процесс адаптивного смещения (процесс адаптивного смещения пикселя) для разделения экрана на множество блоков, выполнения классификации по классам над каждым пикселем в пределах каждого из блоков, на которые разделен экран, и сложения значения смещения, которое минимизирует искажение квадратичной ошибки между сигналом изображения, который является сигналом исходного изображения, и который является объектом (целью), который должен быть кодирован, и сигналом опорного изображения, соответствующим сигналу изображения для каждого класса.
ДОКУМЕНТЫ СВЯЗАННОГО УРОВНЯ ТЕХНИКИ
НЕПАТЕНТНЫЕ ССЫЛОЧНЫЕ МАТЕРИАЛЫ
Непатентный ссылочный материал 1: стандарты MPEG-4 AVC (ISO/IEC 14496-10)/H.ITU-T 264
Непатентный ссылочный материал 2: «CE13: Адаптивная коррекция отсчетов с независимым от LCU декодированием», документ JCTVC-E049 от JCT-VC, март 2011 года, Женева, Швейцария («CE13: Sample Adaptive Offset with LCU-Independent Decoding», JCT-VC Document JCTVC-E049, March 2011, Geneva, CH).
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
ПРОБЛЕМЫ, КОТОРЫЕ ДОЛЖНЫ БЫТЬ РЕШЕНЫ ИЗОБРЕТЕНИЕМ
Так как традиционное устройство кодирования видео сконструировано, как изложено выше, этому устройству кодирования видео необходимо кодировать смещения, определенные для нескольких классов, для каждого из блоков, на которые разделен экран. Проблема, поэтому, состоит в том, что, поскольку процесс высокоточной компенсации искажения выполняется во время процесса адаптивного смещения пикселя, объем кода, требуемый для кодирования смещений, увеличивается, а отсюда, эффективность кодирования падает с повышением мелкости разделения экрана на блоки.
УРОВЕНЬ ТЕХНИКИ ИЗОБРЕТЕНИЯ
Настоящее изобретение сделано, для того чтобы решить вышеупомянутую проблему, а потому, цель настоящего изобретения состоит в том, чтобы предоставить устройство кодирования изображения, устройство декодирования изображения, способ кодирования изображения и способ декодирования изображения, способные к уменьшению объема кода, требуемого для кодирования смещений, а отсюда к улучшению эффективности кодирования.
СРЕДСТВО ДЛЯ РЕШЕНИЯ ПРОБЛЕМЫ
В соответствии с настоящим изобретением, предусмотрено устройство кодирования изображения, в котором фильтр определяет способ классификации для выполнения классификации по классам над каждым блоком кодирования, имеющим наибольший размер, выполняет классификацию по классам над каждым пикселем в пределах каждого блока кодирования, имеющего наибольший размер, посредством использования вышеупомянутого способа классификации, вычисляет значение смещения для каждого класса для каждого блока кодирования, имеющего наибольший размер, и выполняет процесс адаптивного смещения пикселя для прибавления значения смещения к пиксельному значению пикселя, принадлежащего к соответствующему классу, а кодер с переменной длиной слова кодирует с переменной длиной слова индекс, указывающий способ классификации для выполнения классификации по классам над каждым блоком кодирования, имеющим наибольший размер, способ классификации определяется фильтром, и также кодирует с переменной длиной слова параметр о значении смещения для каждого класса, определенного для каждого блока кодирования, имеющего наибольший размер, на основе процесса бинаризации с использованием усеченного унарного кода.
ПРЕИМУЩЕСТВА ИЗОБРЕТЕНИЯ
Так как устройство кодирования видео согласно настоящему изобретению сконструировано таким образом, чтобы фильтр определял способ классификации для выполнения классификации по классам над каждым блоком кодирования, имеющим наибольший размер, выполнял классификацию по классам над каждым пикселем в пределах каждого блока кодирования, имеющего наибольший размер, посредством использования вышеупомянутого способа классификации, вычислял значение смещения для каждого класса для каждого блока кодирования, имеющего наибольший размер, и выполнял процесс адаптивного смещения пикселя для прибавления значения смещения к пиксельному значению пикселя, принадлежащего к соответствующему классу, а кодер с переменной длиной слова осуществлял кодирование с переменной длиной слова индекса, указывающего способ классификации для выполнения классификации по классам над каждым блоком кодирования, имеющим наибольший размер, способ классификации определяется фильтром, а также осуществлял кодирование с переменной длиной слова параметра о значении смещения для каждого класса, определенного для каждого блока кодирования, имеющего наибольший размер, на основе процесса бинаризации с использованием усеченного унарного кода, обеспечивается преимущество способности уменьшать объем кода, требуемый для кодирования смещения, и улучшать эффективность кодирования.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 - структурная схема, показывающая устройство кодирования видео в соответствии с вариантом 1 осуществления настоящего изобретения;
фиг. 2 - блок-схема последовательности операций способа, показывающая последовательность операций (способ кодирования видео), выполняемую устройством кодирования видео в соответствии с вариантом 1 осуществления настоящего изобретения;
фиг. 3 - структурная схема, показывающая устройство декодирования видео в соответствии с вариантом 1 осуществления настоящего изобретения;
фиг. 4 - блок-схема последовательности операций способа, показывающая последовательность операций (способ декодирования видео), выполняемую устройством декодирования видео в соответствии с вариантом 1 осуществления настоящего изобретения;
фиг. 5 - пояснительный чертеж, показывающий пример, в котором каждый наибольший блок кодирования разделен иерархически на множество блоков кодирования;
фиг. 6(a) - пояснительный чертеж, показывающий распределение блоков кодирования и блоков предсказания после разделения, а фиг. 6(b) - пояснительный чертеж, показывающий состояние, в котором режим m(Bn) кодирования назначен на каждый из блоков внутри иерархического разделения;
фиг. 7 - пояснительный чертеж, показывающий пример параметра внутреннего предсказания (режима внутреннего предсказания), который может выбираться для каждого блока Pin предсказания в блоке Bn кодирования;
фиг. 8 - пояснительный чертеж, показывающий пример
пикселей, которые используются при формировании предсказанного значения каждого пикселя в блоке Pin предсказания в случае lin=min=4;
фиг. 9 - пояснительный чертеж, показывающий относительные координаты каждого пикселя в блоке Pin предсказания, которые определены по отношению к пикселю в верхнем левом углу блока Pin предсказания, определяемому в качестве начала координат;
фиг. 10 - пояснительный чертеж, показывающий пример матрицы квантования;
фиг. 11 - пояснительный чертеж, показывающий пример структуры узла контурного фильтра устройства кодирования видео в соответствии с вариантом 1 осуществления настоящего изобретения в случае использования множества процессов фильтрации контуров;
фиг. 12 - пояснительный чертеж, показывающий пример структуры узла контурного фильтра устройства декодирования видео в соответствии с вариантом 1 осуществления настоящего изобретения в случае использования множества процессов фильтрации контуров;
фиг. 13 - пояснительный чертеж, показывающий способ BO, который является одним из способов классификации по классам в случае выполнения процесса адаптивного смещения пикселя;
фиг. 14 - пояснительный чертеж, показывающий способ EO, который является одним из способов классификации по классам в случае выполнения процесса адаптивного смещения пикселя;
фиг. 15 - пояснительный чертеж, показывающий пример кодированного битового потока;
фиг. 16 - пояснительный чертеж, показывающий индексы, указывающие способы классификации по классам для использования в процессе адаптивного смещения пикселя;
фиг. 17 - пояснительный чертеж, показывающий пример таблицы, показывающей комбинации коррекций, определенных соответственно для классов процесса адаптивного смещения пикселя;
фиг. 18 - пояснительный чертеж, показывающий пример кодированного битового потока, в котором закодированы два или более заголовков уровня последовательности;
фиг. 19 - пояснительный чертеж, показывающий пример изменения таблицы, показывающей комбинации значений смещения, соответственно определенных для классов процесса адаптивного смещения пикселя, согласно битовой глубине;
фиг. 20 - пояснительный чертеж, показывающий пример изменения количества комбинаций смещений в одиночной таблице, показывающей комбинации значений смещения, соответственно определенных для классов процесса адаптивного смещения пикселя, согласно битовой глубине;
фиг. 21 - структурная схема, показывающая устройство кодирования видео, раскрытое в непатентном ссылочном материале 1;
фиг. 22 - пояснительный чертеж, показывающий пример структуры картинки, включающей в себя картинку IDR.
фиг. 23 - пояснительный чертеж, показывающий пример структуры картинки, включающей в себя картинку CRA;
фиг. 24 - пояснительный чертеж кодированного битового потока, показывающий процесс деактивации наборов параметров адаптации в процессе декодирования, начиная с картинки IDR или картинки CRA;
фиг. 25 - пояснительный чертеж, показывающий усеченный унарный код в случае, в котором диапазон символов, которые должны быть кодированы, простирается от 0 до 5;
фиг. 26 - пояснительный чертеж, показывающий унарный код;
фиг. 27 - пояснительный чертеж, показывающий пример синтаксиса набора параметров адаптации; и
фиг. 28 - пояснительный чертеж случая, в котором изменен порядок данных в кодированном битовом потоке по фиг. 24, введенном в сторону декодирования.
ВАРИАНТЫ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
В дальнейшем, для того чтобы пояснить это изобретение подробнее, предпочтительные варианты осуществления настоящего изобретения будут описаны со ссылкой на прилагаемые чертежи.
Вариант 1 осуществления
Фиг. 1 - структурная схема, показывающая устройство кодирования видео в соответствии с вариантом 1 осуществления настоящего изобретения. Со ссылкой на фиг. 1, узел 14 разделения на слайсы выполняет процесс, при приеме видеосигнала в качестве введенного изображения, разделения введенного изображения на одно или более частичных изображений, которые упоминаются как «слайсы» (вырезки), согласно информации разделения на слайсы, определенной узлом 2 управления кодированием. Каждый полученный разделением слайс будет дополнительно разделяться на блоки кодирования, которые будут упомянуты ниже. Узел 14 разделения на слайсы составляет разделитель на слайсы.
Узел 1 разделения на блоки выполняет, каждый раз при приеме слайса, полученного разделением узлом 14 разделения на слайсы, процесс разделения слайса на наибольшие блоки кодирования, каждый из которых является блоком кодирования, имеющим наибольший размер, определенный узлом 2 управления кодированием, и дополнительного разделения каждого из наибольших блоков кодирования на блоки кодирования иерархически до тех пор, пока количество иерархий не достигает верхнего предела по количеству иерархий, верхний предел определяется узлом 2 управления кодированием. Точнее, узел 1 разделения на блоки выполняет процесс разделения каждого слайса на блоки кодирования согласно разделению, которое определено узлом 2 управления кодированием, и вывода каждого из блоков кодирования. Каждый из блоков кодирования дополнительно разделяется на один или более блоков предсказания, каждый из которых является единицей для процесса предсказания. Узел 1 разделения на блоки составляет разделитель на блоки.
Узел 2 управления кодированием выполняет процесс определения наибольшего размера каждого из блоков кодирования, который является единицей, которая должна быть обработана в то время, когда выполняется процесс предсказания, а также определения верхнего предела по количеству иерархий в то время как каждый из блоков кодирования, имеющий наибольший размер, иерархически разделяется на блоки, для определения размера каждого из блоков кодирования. Узел 2 управления кодированием также выполняет процесс выбора режима кодирования, который применяется к каждому блоку кодирования, выведенному из узла 1 разделения на блоки, из одного или более выбираемых режимов кодирования (одного или более режимов внутреннего кодирования, в которых размеры, или тому подобное, блоков предсказания, каждый представляет единицу для процесса предсказания, отличаются друг от друга, и одного или более режимов внешнего кодирования, в которых размеры, или тому подобное, блоков предсказания отличаются друг от друга). В качестве примера способа выбора, есть способ выбора режима кодирования, имеющего наивысшую эффективность кодирования, для блока кодирования, выведенного из узла 1 разделения на блоки, из одного или более выбираемых режимов кодирования.
Узел 2 управления кодированием дополнительно выполняет процесс, когда режим кодирования, имеющий наивысшую эффективность кодирования, является режимом внутреннего кодирования, определения параметра внутреннего предсказания, который используется при выполнении процесса внутреннего предсказания над блоком кодирования в режиме внутреннего кодирования для каждого блока предсказания, который является единицей для процесса предсказания, который показан вышеупомянутым режимом внутреннего кодирования, а когда режим кодирования, имеющий наивысшую эффективность кодирования, является режимом внешнего кодирования, определения параметра внешнего кодирования, который используется при выполнении процесса внешнего предсказания над блоком кодирования в режиме внешнего кодирования для каждого блока предсказания, который является единицей для процесса предсказания, который показан вышеупомянутым режимом внешнего кодирования. Узел управления кодированием дополнительно выполняет процесс определения параметров кодирования разности предсказания, которые узел управления кодированием обеспечивает для узла 7 преобразования/квантования и узла 8 обратного квантования/обратного преобразования. Параметры кодирования разности предсказания включают в себя информацию разделения на блоки ортогонального преобразования, показывающую информацию о разделение на блоки ортогонального преобразования, каждый из которых является единицей для процесса ортогонального преобразования в блоке кодирования, и параметр квантования, определяющий размер шага квантования во время квантования коэффициентов преобразования. Узел 2 управления кодированием составляет определитель параметров кодирования.
Переключатель 3 выбора выполняет процесс, когда режим кодирования, определенный узлом 2 управления кодированием, является режимом внутреннего кодирования, вывода блока кодирования, выведенного из узла 1 разделения на блоки, в узел 4 внутреннего предсказания, а когда режим кодирования, определенный узлом 2 управления кодированием, является режимом внешнего кодирования, вывода блока кодирования, выведенного из узла 1 разделения на блоки, в узел 5 предсказания с компенсацией движения.
Узел 4 внутреннего предсказания выполняет процесс, когда режим внутреннего кодирования выбран узлом 2 управления кодированием в качестве режима кодирования, соответствующего блоку кодирования, выведенному из переключателя 3 выбора, выполнения процесса внутреннего предсказания (процесса внутрикадрового предсказания) с использованием параметра внутреннего предсказания, определенного узлом 2 управления кодированием, над каждым блоком предсказания, который является единицей для процесса предсказания, во время выполнения процесса предсказания над блоком кодирования, наряду с опорной на локально декодированное изображение, которое хранится в памяти 10, для внутреннего предсказания, с тем чтобы формировать изображение внутреннего предсказания.
Узел 5 предсказания с компенсацией движения выполняет процесс, когда режим внешнего кодирования выбран узлом 2 управления кодированием в качестве режима кодирования, соответствующего блоку кодирования, выведенному из переключателя 3 выбора, сравнения блока кодирования с одним или более кадров локально декодированных изображений, хранимых в памяти 12 кадров предсказания с компенсацией движения, для каждого блока предсказания, который является единицей для процесса предсказания, с тем чтобы отыскивать вектор движения, и выполнения процесса внешнего предсказания (процесса предсказания с компенсацией движения) над каждым блоком предсказания в блоке кодирования посредством использования вектора движения и параметра внешнего предсказания, такого как количество кадров, к которым необходимо обращаться, которое определено узлом 2 управления кодированием, с тем чтобы формировать изображение внешнего предсказания. Средство предсказания содержит узел 4 внутреннего предсказания, память 10 для внутреннего предсказания, узел 5 предсказания с компенсацией движения и память 12 кадров предсказания с компенсацией движения.
Узел 6 вычитания выполняет процесс вычитания изображения внутреннего предсказания, сформированного узлом 4 внутреннего предсказания, или изображения внешнего предсказания, сформированного узлом 5 предсказания с компенсацией движения, из блока кодирования, выведенного из узла 1 разделения на блоки, и вывода сигнала разности предсказания, показывающего разностное изображение, которое является результатом вычитания, в узел 7 преобразования/квантования. Узел 6 вычитания составляет формирователь разностного изображения. Узел 7 преобразования/квантования выполняет процесс выполнения процесса ортогонального преобразования (например, ДКП (дискретного косинусного преобразования, ДСТ (дискретного синусного преобразования, DST) или процесса ортогонального преобразования, такого как преобразование KL, в котором базисы заранее назначены для специфической обучающей последовательности) над каждым из блоков ортогонального преобразования в сигнале разности предсказания, выведенном из узла 6 вычитания, посредством обращения к информации разделения на блоки ортогонального преобразования, включенной в параметры кодирования разности предсказания, определенные узлом 2 управления кодированием, с тем чтобы вычислять коэффициенты преобразования, а также квантования коэффициентов преобразования каждого из блоков ортогонального преобразования посредством обращения к параметру квантования, включенному в параметры кодирования разности предсказания, а затем, вывода сжатых данных, которые, в силу этого являются квантованными коэффициентами преобразования, в узел 8 обратного квантования/обратного преобразования и узел 13 кодирования с переменной длиной слова. Узел 7 преобразования/квантования составляет средство сжатия изображения.
При квантовании коэффициентов преобразования, узел 7 преобразования/квантования может выполнять процесс квантования коэффициентов преобразования посредством использования матрицы квантования для масштабирования размера шага квантования, определенного по вышеупомянутому параметру квантования, для каждого из коэффициентов преобразования. Фиг. 10 - пояснительный чертеж, показывающий пример матрицы квантования ДКП 8×8. Числа, показанные на фигуре, представляют значения масштабирования для размеров шага квантования коэффициентов преобразования. Так как коэффициент, чьим значением масштабирования является 0, имеет размер шага квантования 0, коэффициент эквивалентен «отсутствию квантования». Например, посредством выполнения масштабирования таким образом, что коэффициент преобразования в полосе более высоких частот имеет больший размер шага квантования, для того чтобы сдерживать битовую скорость кодирования, как показано на фиг. 10, коэффициенты преобразования в полосах высоких частот, которые возникают в сложных областях изображения, или тому подобном, уменьшаются, при этом кодирование может быть выполнено без сокращения информации о коэффициентах в полосе низких частот, которая оказывает большое влияние на субъективное качество. Когда желательно управлять размером шага квантования для каждого коэффициента преобразования, необходимо просто использовать матрицу квантования.
Кроме того, в качестве матрицы квантования, может использоваться матрица, которая независима для каждого сигнала цветности и для каждого режима кодирования (внутреннего кодирования или внешнего кодирования) при каждом размере ортогонального преобразования, и может выбираться, следует или нет выбирать, в качестве начального значения матрицы квантования, одну матрицу квантования из матриц квантования, которые подготовлены заранее и совместно между устройством кодирования видео и устройством декодирования видео, и уже кодированными матрицами квантования, или следует или нет использовать, в качестве начального значения матрицы квантования, новую матрицу квантования. Поэтому, узел 7 преобразования/квантования устанавливает, в качестве параметра матрицы квантования, который должен быть кодирован, информацию флага, показывающую, следует или нет использовать новую матрицу квантования для каждого размера ортогонального преобразования для каждого сигнала цветности или для каждого режима кодирования. В дополнение, когда используется новая матрица квантования, каждое из значений масштабирования в матрице квантования, как показано на фиг. 10, устанавливается в качестве параметра матрицы квантования, который должен быть кодирован. В противоположность, когда новая матрица квантования не используется, индекс, задающий матрицу, которая должна быть использована, из матрицы квантования, подготовленной, в качестве начального значения, заранее и совместно между устройством кодирования видео и устройством декодирования видео, и уже закодированных матриц, устанавливается в качестве параметра матрицы квантования, который должен быть кодирован. Однако, когда уже кодированная матрица квантования, к которой может быть осуществлено обращение, не существует, может выбираться только матрица квантования, подготовленная заранее и совместно между устройством кодирования видео и устройством декодирования видео. Узел 7 преобразования/квантования затем выводит установленные параметры матрицы квантования в узел 13 кодирования с переменной длиной слова в качестве части набора параметров адаптации.
Узел 8 обратного квантования/обратного преобразования выполняет процесс обратного квантования сжатых данных, выведенных из узла 7 преобразования/квантования, а также выполнения процесса обратного ортогонального преобразования над коэффициентами преобразования, которые, в силу этого, являются сжатыми данными, подвергнутыми обратному квантованию, для каждого из блоков ортогонального преобразования посредством обращения к параметру квантования и информации разделения на блоки ортогонального преобразования, которые включены в параметры кодирования разности предсказания, определенные узлом 2 управления кодированием, с тем чтобы вычислять локально декодированный сигнал разности предсказания, соответствующий сигналу разности предсказания, выведенному из узла 6 вычитания. К тому же, при выполнении процесса квантования посредством использования матрицы квантования, узел 7 преобразования/квантования выполняет соответствующий процесс обратного квантования посредством обращения к матрице квантования, тоже во время выполнения процесса обратного квантования. Узел 9 сложения выполняет процесс сложения локально декодированного сигнала разности предсказания, вычисленного узлом 8 обратного квантования/обратного преобразования, и изображения внутреннего предсказания, сформированного узлом 4 внутреннего предсказания, или изображения внешнего предсказания, сформированного узлом 5 предсказания с компенсацией движения, с тем чтобы вычислять локально декодированное изображение, соответствующее блоку кодирования, выведенному из узла 1 разделения на блоки. Формирователь локально декодированного изображения содержит узел 8 обратного квантования/обратного преобразования и узел 9 сложения.
Память 10 для внутреннего предсказания является носителем записи для хранения локально декодированного изображения, вычисленного узлом 9 сложения. Узел 11 контурного фильтра выполняет процесс выполнения предопределенного процесса фильтрации над локально декодированным изображением, вычисленным узлом 9 сложения, с тем чтобы выводить локально декодированное изображение, над которым выполнен процесс фильтрации. Конкретно, узел контурного фильтра выполняет процесс фильтрации (фильтрации деблокирования) по уменьшению искажения, возникающего на границе между блоками ортогонального преобразования, и искажения, возникающего на границе между блоками предсказания, процесс (процесс адаптивного смещения пикселя) по адаптивному прибавлению смещения на попиксельной основе, процесс адаптивной фильтрации по адаптивному переключению между линейными фильтрами, такими как фильтры Винера, с тем чтобы выполнять процесс фильтрации, и так далее.
Узел 11 контурного фильтра определяет, выполнять или нет процесс для каждого из вышеупомянутых процессов фильтрации, в том числе, процесса фильтрации деблокирования, процесса адаптивного смещения пикселя и процесса адаптивной фильтрации, и выводит флаг активации каждого из процессов в качестве части набора параметров адаптации, который должен быть кодирован, и части заголовка уровня слайса, в узел 13 кодирования с переменной длиной слова. При использовании двух или более из вышеупомянутых процессов фильтрации, узел контурного фильтра выполняет два или более процессов фильтрации по порядку. Фиг. 11 показывает пример структуры узла 11 контурного фильтра в случае использования множества процессов фильтрации. Вообще, несмотря на то, что качество изображения улучшается с увеличением количества типов используемых процессов фильтрации, нагрузка обработки повышается с увеличением количества типов используемых процессов фильтрации. Точнее, есть компромисс между качеством изображения и нагрузкой обработки. Кроме того, эффект улучшения качества изображения, который создается каждым из процессов фильтрации, различается в зависимости от характеристик изображения, которое является объектом для процесса фильтрации. Поэтому, необходимо просто определять процессы фильтрации, которые должны использоваться, согласно нагрузке обработки, приемлемой в устройстве кодирования видео, и характеристикам изображения, которое является объектом для процесса фильтрации. Узел 11 контурного фильтра составляет фильтр.
В процессе фильтрации деблокирования, различные параметры, используемые для выбора интенсивности фильтра, который должен быть применен к границе блока, могут изменяться от своих начальных значений. При изменении параметра, параметр выводится в узел 13 кодирования с переменной длиной слова в качестве части набора параметров адаптации, который должен быть кодирован. В процессе адаптивного смещения пикселя, изображение сначала разделяется на множество блоков, случай не выполнения процесса смещения определен в качестве одного способа классификации по классам для каждого из блоков кодирования, и один способ классификации по классам выбирается из числа множества способов классификации по классам, которые подготовлены заранее. Затем, посредством использования выбранного способа классификации по классам, каждый пиксель, включенный в блок классифицируется на один из классов, и значение смещения для компенсации искажения кодированием вычисляется для каждого из классов. В заключение, выполняется процесс прибавления значения смещения к значению яркости локально декодированного изображения, тем самым, улучшая качество изображения локально декодированного изображения. Поэтому, в процессе адаптивного смещения пикселя, информация разделения на блоки, индекс, указывающий способ классификации по классам, выбранный для каждого блока, и информация смещения, задающая значение смещения, вычисленное для каждого класса, определяемого на поблочной основе, выводятся в узел 13 кодирования с переменной длиной слова в качестве набора параметров адаптации, который должен быть кодирован. В процессе адаптивного смещения пикселя, например, изображение может всегда разделяться на блоки, каждый имеет постоянный размер, такие как наибольшие блоки кодирования, и способ классификации по классам может выбираться для каждого из блоков, и может выполняться процесс адаптивного смещения для каждого класса. В этом случае, вышеупомянутая информация разделения на блоки становится ненужной, и объем кода может быть уменьшен на объем кода, требуемый для информации разделения на блоки.
В процессе адаптивной фильтрации, классификация по классам выполняется над локально декодированным изображением посредством использования предопределенного способа, фильтр для компенсации искажения, наложенного на изображение, назначается для каждой области (локально декодированного изображения), принадлежащей к каждому классу, и процесс фильтрации по фильтрации локально декодированного изображения выполняется посредством использования фильтра. Фильтр, назначенный для каждого класса, затем выводится в узел 13 кодирования с переменной длиной слова в качестве части набора параметров адаптации, который должен быть кодирован. В качестве способа классификации по классам, есть простой способ разделения изображения на равные части пространственным образом и способ выполнения классификации на поблочной основе согласно локальным характеристикам (дисперсии, и так далее) изображения. Кроме того, количество классов, используемых в процессе адаптивной фильтрации, может быть установлено заранее в качестве значения, общего между устройством кодирования видео и устройством декодирования видео, или может быть заранее установлено в качестве части набора параметров адаптации, который должен быть кодирован. Эффект улучшения качества изображения в последнем случае усиливается, так как количество классов, используемых в последнем случае, может свободно устанавливаться по сравнению с таковым в первом случае, наряду с тем, что объем кода увеличивается на требуемый для количества классов, так как количество классов кодируется.
В дополнение, классификация по классам для процесса адаптивной фильтрации, и построение фильтра и процесс фильтрации могут выполняться, вместо всего изображения, над каждым блоком, имеющим фиксированный размер, например, каждым наибольшим блоком кодирования. Точнее, классификация по классам может выполняться над каждым набором многочисленных малых блоков, на которые разделяется каждый блок, имеющий фиксированный размер, согласно локальным характеристикам (дисперсии, и так далее) изображения и построению фильтра, и процесс фильтрации может выполняться для каждого класса, фильтр каждого класса может кодироваться, в качестве части набора параметров адаптации, для каждого блока, имеющего фиксированный размер. Посредством действия таким образом, процесс высокоточной фильтрации согласно локальным характеристикам может быть реализован по сравнению со случаем выполнения классификации по классам, построения фильтра и процесса фильтрации на полном изображении. Так как необходимо, чтобы узел 11 контурного фильтра обращался к видеосигналу при выполнении процесса адаптивного смещения пикселя и процесса адаптивной фильтрации, необходимо модифицировать устройство кодирования видео, показанное на фиг. 1, таким образом, чтобы видеосигнал вводился в узел 11 контурного фильтра.
Память 12 кадров предсказания с компенсацией движения является носителем записи, который хранит локально декодированное изображение, над которым процесс фильтрации выполнен узлом 11 контурного фильтра. Узел 13 кодирования с переменной длиной слова кодирует с переменной длиной слова сжатые данные, выведенные в него из узла 7 преобразования/квантования, выходной сигнал узла 2 управления кодированием (информация разделения на блоки о разделении каждого наибольшего блока кодирования, режим кодирования, параметры кодирования разности предсказания и параметр внутреннего предсказания или параметр внешнего предсказания) и вектор движения, выведенный из узла 5 предсказания с компенсацией движения (когда режим кодирования является режимом внешнего кодирования), с тем чтобы формировать кодированные данные. Узел 13 кодирования с переменной длиной слова также кодирует заголовки уровня последовательности, заголовки уровня картинки и наборы параметров адаптации в качестве информации заголовка кодированного битового потока, как проиллюстрировано на фиг. 15, с тем чтобы формировать кодированный битовый поток, а также данные картинки. Узел 13 кодирования с переменной длиной слова составляет узел кодирования с переменной длиной слова.
Данные картинки состоят из одних или более данных слайса, и каждые данные слайса являются кодированными данными, как упомянуто выше в соответствующем слайсе. Заголовок уровня последовательности является комбинацией фрагментов информации заголовка, которые типично являются общими на основе по каждой последовательности, фрагменты информации заголовка включают в себя размер изображения, формат сигнала цветности, битовые глубины значений сигналов сигнала яркости и цветоразностных сигналов, и информацию флага активации о каждом из процессов фильтрации (процессе адаптивной фильтрации, процессе адаптивного смещения пикселя и процессе фильтрации деблокирования), которые выполняются на основе по каждой последовательности узлом 11 контурного фильтра. Заголовок уровня картинки является комбинацией фрагментов информации заголовка, которые установлены на основе по каждой картинке, фрагменты информации заголовка включают в себя индекс, указывающий заголовок уровня последовательности, к которому следует обращаться, количество опорных картинок во время компенсации движения и флаг инициализации таблицы вероятностей для энтропийного кодирования.
Заголовок уровня слайса является комбинацией параметров, которые устанавливаются на основе по каждому слайсу, параметры включают в себя информацию позиции, показывающую, в какой позиции картинки существует соответствующий слайс, индекс, указывающий, к какому заголовку уровня картинки должно осуществляться обращение, тип кодирования слайса (всякого внутреннего кодирования, внешнего кодирования, или тому подобного), индекс, указывающий набор параметров адаптации, который используется соответствующим слайсом, и информацию флага, показывающую, следует или нет выполнять каждый из процессов фильтрации (процесса адаптивной фильтрации, процесса адаптивного смещения пикселя и процесса фильтрации деблокирования) в узле 11 контурного фильтра с использованием набора параметров адаптации, указанного вышеупомянутым индексом. Набор параметров адаптации имеет флаги, показывающие, существуют или нет, соответственно, параметры (параметры фильтрации), связанные с процессом адаптивной фильтрации, процессом адаптивного смещения пикселя и процессом фильтрации деблокирования, и параметр (параметр матрицы квантования), связанный с матрицей квантования, и имеет параметры, соответствующие только параметрам, чьи флаги, упомянутые выше, «активированы». Набор параметров адаптации также имеет индексы (aps_id) для идентификации множества наборов параметров адаптации, которые соответственно мультиплексируются в кодированный битовый поток.
В этом случае, при кодировании нового заголовка уровня последовательности (заголовка 2 уровня последовательности) во время изменения последовательности, как показано на фиг. 18, узел 13 кодирования с переменной длиной слова деактивирует все наборы параметров адаптации, которые были закодированы до того, как закодирован этот заголовок уровня последовательности. Поэтому, в примере, показанном на фиг. 18, запрещено обращение к любому набору параметров адаптации через заголовок уровня последовательности, такое как обращение к набору 2 параметров адаптации для кодирования данных 30 картинки. Точнее, когда параметр в наборе параметров адаптации используется для картинки, которая должна быть обработана после того, как закодирован новый заголовок уровня последовательности (заголовок 2 уровня последовательности), необходимо кодировать параметр в качестве нового набора параметров адаптации. Поэтому, набор параметров адаптации, который кодируется вновь, когда прошлый набор параметров адаптации вообще не может использоваться, так как выполнен процесс деактивации по деактивации вышеупомянутого набора параметров адаптации, или тому подобного, является тем, в котором параметр, такой как матрица квантования, не обращается к прошлому набору параметров адаптации, и все параметры могут декодироваться посредством использования только рассматриваемого набора параметров адаптации. Посредством инициализации набора параметров адаптации посредством использования заголовка уровня последовательности во время изменения последовательности таким образом, когда ошибка возникает в кодированном битовом потоке до того, как декодирован новый заголовок уровня последовательности, устройство декодирования видео может избегать ошибки декодирования, вызванной обращением к набору параметров адаптации в потоке, а потому, может улучшать устойчивость к ошибкам. В качестве альтернативы, заголовок уровня последовательности может быть построен таким образом, чтобы иметь флаг aps_reset_flag инициализации для набора параметров адаптации, тем самым, улучшая устойчивость к ошибкам. Конкретно, только когда флаг aps_reset_flag инициализации установлен в «активирован», набор параметров адаптации инициализируется, тогда как, когда флаг aps_reset_flag инициализации установлен в «деактивирован», набор параметров адаптации не инициализируется. Посредством предоставления флага инициализации для набора параметров адаптации в качестве одного из параметров заголовка уровня последовательности таким образом, может выполняться процесс адаптивной инициализации, а посредством выполнения инициализации, только когда необходимо улучшать устойчивость к ошибкам, может предотвращаться снижение эффективности кодирования, обусловленное инициализацией набора параметров адаптации.
В дополнение, в качестве специальных картинок, которые гарантируют, что устройство декодирования видео будет выполнять процесс произвольного доступа, будучи способным правильно выполнять воспроизведение изображения предопределенной картинки и последующих картинок, даже если устройство декодирования видео начинает декодирование с некоторой средней точки в кодированном битовом потоке, есть картинки IDR (мгновенного восстановления декодирования) и картинки CRA (чисто произвольного доступа). Фиг. 22 показывает пример структуры картинки, включающей в себя картинку IDR. В примере, показанном на фиг. 22, начальные значения, показывающие порядок отображения и порядок кодирования (декодирования), установлены в 0. Картинка IDR является внутренне-кодированной картинкой, и той, которая дает возможность, даже когда декодирование начато с картинки IDR, всегда и правильно декодировать картинку IDR и картинки, которые должны быть декодированы после картинки IDR, накладывая ограничение опорных картинок во время компенсации движения, показанной на фиг. 22 на картинки (окрашенные серым картинки на фиг. 22), которые должны быть кодированы после картинки IDR. Затем, фиг. 23 показывает пример структуры картинки, включающей в себя картинку CRA. В примере, показанном на фиг. 23, начальные значения, показывающие порядок отображения и порядок кодирования (декодирования), установлены в 0. Картинка CRA является внутренне-кодированной картинкой и является той, которая дает возможность, даже когда декодирование начато с картинки CRA, всегда и правильно декодировать картинку CRA и картинки, которые должны быть отображены после картинки CRA, накладывая ограничение опорных картинок во время компенсации движения, показанной на фиг. 23, на картинки (окрашенные серым картинки на фиг. 23), которые должны быть кодированы после картинки CRA и должны быть отображены по порядку после картинки CRA, а кроме того, запрещая существование картинки, которая должна быть кодирована до картинки CRA и должна быть отображена по порядку после картинки CRA.
В этом случае, есть вероятность, что, когда выполняется произвольный доступ согласно картинке IDR или картинке CRA, картинка, которая предполагается, как упомянуто выше, способной правильно декодироваться согласно картинке IDR или картинке CRA, не может правильно декодироваться (так как есть вероятность, что картинка, которая предполагается способной правильно декодироваться, обращается к набору параметров адаптации, который закодирован до картинки IDR или картинки CRA), когда не предусмотрены все наборы параметров адаптации, закодированные до вышеупомянутой картинки. Поэтому, по мере того, как возрастает длина части кодированного битового потока, предшествующего кодированным данным о картинке IDR или картинке CRA, большее количество наборов параметров адаптации должно декодироваться, и происходит ослабление устойчивости к ошибкам, например, набор параметров адаптации не может декодироваться вследствие ошибки, возникающей в части кодированного битового потока, предшествующей кодированным данным о картинке IDR или картинке CRA, а отсюда, картинка не может декодироваться правильно. Для решения этой проблемы, в качестве части параметров каждого набора параметров адаптации, предусмотрен флаг previous_aps_clear_flag, деактивирующий уже закодированный набор параметров адаптации. Когда previous_aps_clear_flag установлен в «активирован», узел 13 кодирования с переменной длиной слова деактивирует наборы параметров адаптации, закодированные до набора параметров адаптации, тогда как, когда previous_aps_clear_flag установлен в «деактивирован», узел 13 кодирования с переменной длиной слова не выполняет вышеупомянутый процесс деактивации.
Фиг. 24 показывает пример кодированного битового потока, показывающий процесс деактивации по деактивации некоторых наборов параметров адаптации. Предполагается, что, для данных 31 картинки, показанных на фиг. 24, процесс кодирования (декодирования) выполняется, обращаясь к заголовку 2 уровня последовательности, заголовку 3 уровня картинки и набору 21 параметров адаптации. Вообще, единица для доступа к картинке, которая является комбинацией данных картинки и информации заголовка, связанной с данными картинки, которые сформированы вышеупомянутым образом, упоминается как единица доступа. Наборы с 1 по 20 параметров адаптации, которые включены в наборы параметров адаптации, показанные на фиг. 24, деактивированы посредством установки флага previous_aps_clear_flag только набора 21 параметров адаптации в «активирован», обращение к любому из наборов с 1 по 20 параметров адаптации не может производиться для картинок, которые должны быть кодированы по порядку после картинки IDR или картинки CRA. Поэтому, при выполнении произвольного доступа согласно картинке IDR или картинке CRA, необходимо просто выполнять декодирование с заголовка 2 уровня последовательности, показанного на фиг. 24. С другой стороны, когда процесс высокоскоростного декодирования во время произвольного доступа и высокая степень устойчивости к ошибкам не требуются, необходимо просто всегда устанавливать флаг previous_aps_clear_flag в «деактивирован», с тем чтобы не деактивировать наборы параметров адаптации. Поэтому, может быть реализован адаптивный процесс деактивации наборов параметров адаптации посредством использования флага previous_aps_clear_flag.
В вышеупомянутом примере, адаптивный процесс деактивации наборов параметров адаптации для произвольного доступа реализуется посредством использования previous_aps_clear_flag в наборе параметров адаптации. В качестве альтернативы, адаптивный процесс деактивации наборов параметров адаптации для произвольного доступа может быть реализован посредством предоставления флага part_aps_clear_flag для деактивации некоторых наборов параметров адаптации при кодировании (декодировании) картинки IDR или картинки CRA в заголовке уровня последовательности или единице, упоминаемой как единица NAL. Единица NAL является той, в которой хранятся данные слайса, заголовок уровня последовательности, заголовки уровня картинки, заголовки адаптивных параметров, или тому подобное, как показано на фиг. 15, и имеет идентификационную информацию для идентификации, являются ли данные, хранимые в ней, данными слайса или информацией заголовка. В случае, в котором данные, хранимые в единице NAL, являются данными слайса, из этой идентификационной информации также может идентифицироваться, что картинка является картинкой IDR или картинкой CRA.
Конкретно, если флаг part_aps_clear_flag установлен в «активирован», при кодировании картинки IDR или картинки CRA, узел 13 кодирования с переменной длиной слова реализует процесс адаптивной деактивации по деактивации наборов параметров адаптации для произвольного доступа, который является таким же, как в случае использования флага previous_aps_clear_flag, посредством деактивации наборов параметров адаптации, предшествующих данным картинки о картинке, непосредственно предшествующей картинке IDR или картинке CRA. Точнее, в примере, показанном на фиг. 24, посредством установки флага part_aps_clear_flag в заголовке 2 уровня последовательности или единице NAL данных 31 картинки в «активирован», наборы параметров адаптации, предшествующие данным 30 картинки, которые являются данными, непосредственно предшествующими данным 31 картинки, деактивированы при кодировании данных 31 картинки. Поэтому, для картинок, которые должны быть кодированы по порядку после картинки IDR или картинки CRA, обращение к любому одному из наборов с 1 по 20 параметров адаптации производиться не может. Точнее, наборы параметров адаптации, предшествующие единице доступа, включающей в себя данные картинки о картинке IDR иди картинке CRA, деактивированы, и обращение производиться не может. Поэтому, при выполнении произвольного доступа согласно картинке IDR или картинке CRA, необходимо просто выполнять декодирование с заголовка 2 уровня последовательности, показанного на фиг. 24.
В вышеупомянутом пояснении, процесс деактивации по деактивации наборов параметров адаптации выполняется, когда флаг part_aps_clear_flag установлен в «активирован». В качестве альтернативы, вместо размещения флага, как упомянуто выше, процесс деактивации по деактивации наборов параметров адаптации всегда может выполняться при кодировании картинки IDR или картинки CRA. Посредством действия таким образом, объем кода сокращается на объем кода, требуемый для кодирования флага, как упомянуто выше. Кроме того, процесс обращения к флагу, как упомянуто выше, при выполнении процесса кодирования становится ненужным, и устройство кодирования видео упрощается.
В дополнение, в качестве еще одного способа реализации процесса деактивации по деактивации наборов параметров адаптации согласно картинке IDR или картинке CRA, может быть предусмотрен способ построения устройства кодирования видео, которое предусматривает параметр aps_group_id в каждом наборе параметров адаптации. В вышеупомянутом устройстве кодирования видео, как показано на фиг. 27, вышеупомянутый параметр размещен в каждом наборе параметров адаптации и, при кодировании картинки IDR или картинки CRA, узел 13 кодирования с переменной длиной слова деактивирует набор параметров адаптации, имеющий aps_group_id, чье значение отличается от значения aps_group_id, которое имеет другой набор параметров адаптации, причем к другому набору параметров адаптации обращается картинка IDR или картинка CRA. Например, в случае, показанном на фиг. 24, посредством установки параметров aps_group_id из наборов с 1 по 20 параметров адаптации в ноль, и также установки параметров aps_group_id из набора 21 параметров адаптации и последующих наборов параметров адаптации в единицу, узел кодирования с переменной длиной слова деактивирует наборы с 1 по 20 параметров адаптации, чьи параметры aps_group_id (=0) отличаются от параметра aps_group_id (=1) из набора 21 параметров адаптации, когда набор 21 параметров адаптации упоминается данными 31 картинки о картинке IDR или картинке CRA. Поэтому, наборы с 1 по 20 параметров адаптации не упоминаются данными 31 картинки и данными последующих картинок.
Посредством соответственного выполнения кодирования таким образом в отношении изменения значения параметра aps_group_id из набора параметров адаптации согласно картинке IDR или картинке CRA, обращение к наборам параметров адаптации ограничивается, и устройству декодирования видео дается возможность правильно декодировать предопределенную картинку и последующие картинки при начале декодирования с единицы доступа, включающей в себя данные картинки о картинке IDR или картинке CRA. aps_group_id, в качестве альтернативы, может быть флагом, имеющим только значение 0 или 1. В этом случае, подобный процесс деактивации по деактивации наборов параметров адаптации может быть реализован посредством переключения вышеупомянутого флага, который имеет набор параметров адаптации согласно картинке IDR или картинке CRA, с 0 на 1 или с 1 на 0.
Посредством способа вставки aps_group_id, как упомянуто выше, декодирование может выполняться правильно, даже когда порядок данных в кодированном битовом потоке, который принимается устройством декодирования видео, изменен с порядка данных, кодированных устройством кодирования видео по причине передачи кодированного битового потока наряду с распространением кодированного битового потока среди множества линий, или тому подобного. Конкретно, даже в случае, в котором кодированный битовый поток, в котором данные кодируются в порядке по фиг. 24, был изменен в тот, в котором наборы 21 и 22 параметров адаптации должны декодироваться раньше данных 30 картинки при достижении устройства декодирования видео, как показано на фиг. 28, наборы с 1 по 20 параметров адаптации, чьи параметры aps_group_id (=0) отличаются от такового из набора 21 параметров адаптации, могут деактивироваться надлежащим образом, когда к набору 21 параметров адаптации обращаются данные 31 картинки о картинке IDR или картинке CRA. В соответствии со способом вставки aps_group_id, как упомянуто выше, когда более высокий приоритет отдан эффективности кодирования, чем устойчивости к ошибкам, уменьшение эффективности кодирования вследствие ограничений, наложенных на наборы параметров адаптации, к которым может быть осуществлено обращение, может предотвращаться, так как наборам параметров адаптации не нужно деактивироваться посредством выполнения кодирования таким образом, чтобы значения параметров aps_group_id из наборов параметров адаптации не изменялись согласно картинке IDR или картинке CRA. Кроме того, устройство кодирования видео, которое имеет параметр aps_group_id в каждом наборе параметров адаптации, может быть построено таким образом, чтобы деактивировать набор параметров адаптации, чей параметр aps_group_id имеет значение, отличное от значения параметра aps_group_id, к которому также должно быть осуществлено обращение, когда декодируется картинка, иная чем картинка IDR и картинка CRA. Посредством действия таким образом, устройство кодирования видео может выполнять процесс адаптивной деактивации по деактивации наборов параметров адаптации посредством произвольной установки временных характеристик, с которыми следует изменять параметр aps_group_id набора параметров адаптации, и может реализовывать адаптивный процесс, обладающий устойчивостью к ошибкам.
В дополнение, устройство кодирования видео может быть сконструировано таким образом, что, при кодировании картинки IDR или картинки CRA, узел 13 кодирования с переменной длиной слова деактивирует наборы параметров адаптации, имеющие индексы, меньшие, чем индекс (aps_id) параметра адаптации, к которому должна обращаться картинка IDR или картинка CRA, в качестве еще одного способа реализации процесса деактивации по деактивации наборов параметров адаптации согласно картинке IDR или картинке CRA. Точнее, в случае, в котором индексы назначены наборам параметров адаптации в порядке, в котором эти наборы параметров адаптации закодированы в примерах по фиг. 24 и 28, когда к набору 21 параметров адаптации обращаются данные 31 картинки о картинке IDR или картинке CRA, деактивируются наборы с 1 по 20 параметров адаптации, имеющие индексы, меньшие, чем индекс набора 21 параметров адаптации. Поэтому, к наборам с 1 по 20 параметров адаптации не обращаются данными 31 картинки и данными последующих картинок, и устройство декодирования видео может всегда и правильно декодировать предопределенную картинку и последующие картинки при начале декодирования с единицы доступа, включающей в себя данные 31 картинки о картинке IDR или картинке CRA.
В дополнение, узел 13 кодирования с переменной длиной слова может быть построен таким образом, чтобы, вместо кодирования параметра матрицы квантования в качестве набора параметров адаптации, кодировать параметр матрицы квантования в заголовке уровня последовательности в качестве параметра, который может изменяться на основе по каждой картинке. Посредством действия таким образом, узел кодирования с переменной длиной слова может кодировать параметр матрицы квантования и параметры фильтра соответственно в независимых единицах. В этом случае, такие же процессы, как процесс инициализации набора параметров адаптации, использующий заголовок уровня последовательности, и процесс деактивации по деактивации наборов параметров адаптации согласно картинке IDR или CRA, которые пояснены выше, также выполняются над параметром матрицы квантования.
Кроме того, узел 13 кодирования с переменной длиной слова может быть построен таким образом, чтобы, вместо кодирования параметров фильтра, которые используются в узле 11 контурного фильтра, в качестве набора параметров адаптации, кодировать параметры фильтра, которые используются на основе по каждому слайсу, посредством прямого использования данных слайса о заголовке уровня слайса, или тому подобного. Посредством действия таким образом, так как становится необязательным кодировать индексы, каждый указывает на набор параметров адаптации, к которому необходимо обращаться во время процесса декодирования над каждым слайсом, который является одним заголовком уровня слайса для параметров фильтра, которые используются в узле 11 контурного фильтра, когда не существует избыточных параметров фильтра между слайсами, объем кода индексов может уменьшаться, а эффективность кодирования может улучшаться.
В примере, показанном на фиг. 1, узел разделения на блоки, узел 2 управления кодированием, переключатель 3 выбора, узел 4 внутреннего предсказания, узел 5 предсказания с компенсацией движения, узел 6 вычитания, узел 7 преобразования/квантования, узел 8 обратного преобразования/обратного квантования, узел 9 сложения, память 10 для внутреннего предсказания, узел 11 контурного фильтра, память 12 кадров предсказания с компенсацией движения и узел 13 кодирования с переменной длиной слова, которые являются компонентами устройства кодирования видео, могут соответственно составлять детали аппаратных средств для исключительного использования (например, полупроводниковые интегральные схемы, в каждой из которых установлен ЦПУ, однокристальные микрокомпьютеры, или тому подобное). В качестве альтернативы, устройство кодирования видео может состоять из компьютера, и программа, в которой описаны процессы, выполняемые узлом 1 разделения на блоки, узлом 2 управления кодированием, переключателем 3 выбора, узлом 4 внутреннего предсказания, узлом 5 предсказания с компенсацией движения, узлом 6 вычитания, узлом 7 преобразования/квантования, узлом 8 обратного квантования/обратного преобразования, узлом 9 сложения, узлом 11 контурного фильтра, узлом 13 кодирования с переменной длиной слова, может храниться в памяти компьютера, и ЦПУ компьютера может быть выполнен с возможностью выполнять программу, хранимую в памяти. Фиг. 2 - блок-схема последовательности операций способа, показывающая обработку (способ кодирования видео), выполняемую устройством кодирования видео в соответствии с вариантом 1 осуществления настоящего изобретения.
Фиг. 3 - структурная схема, показывающая устройство декодирования видео в соответствии с вариантом 1 осуществления настоящего изобретения. Со ссылкой на фиг. 3, при приеме битового потока, сформированного устройством кодирования видео, показанным на фиг. 1, узел 31 декодирования с переменной длиной слова декодирует каждый из фрагментов информации заголовка, таких как заголовки уровня последовательности, заголовки уровня картинки, наборы параметров адаптации и заголовки уровня слайса, из битового потока, а также декодирует с переменной длиной слова информацию разделения на блоки, показывающую состояние разделения каждого из блоков кодирования, разбитых иерархически, из битового потока. В это время, по параметру матрицы квантования в каждом наборе параметров адаптации, декодированном с переменной длиной слова узлом 31 декодирования с переменной длиной слова, устройство декодирования видео задает матрицу квантования из набора параметров адаптации. Конкретно, для каждого из сигналов цветности и для каждого режима кодирования при каждом размере ортогонального преобразования, устройство декодирования видео задает матрицу квантования, для которой подготовлен параметр матрицы квантования, в качестве начального значения, заранее и совместно между устройством кодирования видео и устройством декодирования видео. В качестве альтернативы, когда параметр матрицы квантования показывает, что матрица квантования является уже кодированной (матрица квантования не является новой), устройство декодирования видео задает матрицу квантования посредством обращения к информации индекса, задающей, какая матрица квантования из вышеупомянутых матриц, включенных в вышеупомянутый набор параметров адаптации, является матрицей квантования, и, когда параметр матрицы квантования показывает, что используется новая матрица квантования, задает, в качестве матрицы квантования, которая должна использоваться, матрицу квантования, включенную в параметр матрицы квантования. Узел 31 декодирования с переменной длиной слова также выполняет процесс обращения к каждой информации заголовка для задания каждого наибольшего блока декодирования, включенного в данные слайса (блока, соответствующего каждому «наибольшему блоку кодирования» в устройстве кодирования видео по фиг. 1), обращения к информации разделения на блоки для задания каждого блока декодирования, который является одной из единиц, на которые иерархически разделен каждый наибольший блок декодирования, и над которым устройство декодирования видео выполняет процесс декодирования (блок, соответствующий каждому «блоку кодирования» в устройстве кодирования видео по фиг. 1), и декодирования с переменной длиной слова сжатых данных, режима кодирования, параметра внутреннего предсказания (когда режим кодирования является режимом внутреннего кодирования), параметра внешнего предсказания (когда режим кодирования является режимом внешнего кодирования), параметров кодирования разности предсказания и вектора движения (когда режим кодирования является режимом внешнего кодирования), которые связаны с каждым блоком декодирования. Узел 31 декодирования с переменной длиной слова составляет декодер с переменной длиной слова.
Узел 32 обратного квантования/обратного преобразования выполняет процесс обратного квантования сжатых данных, декодированных с переменной длиной слова узлом 31 декодирования с переменной длиной слова, для каждого блока ортогонального преобразования посредством обращения к параметру квантования и информации разделения на блоки ортогонального преобразования, которые включены в параметры кодирования разности предсказания, декодированные с переменной длиной слова узлом 31 декодирования с переменной длиной слова, а также выполнения процесса обратного ортогонального преобразования над коэффициентами преобразования, которые являются сжатыми данными, подвергнутыми обратному квантованию, чтобы, тем самым, вычислять декодированный сигнал разности предсказания, который является таким же, как локально декодированный сигнал разности предсказания, выведенный из узла 8 обратного квантования/обратного преобразования, показанного на фиг. 1. Узел 32 обратного квантования/обратного преобразования составляет формирователь разностного изображения.
В этом случае, когда каждая информация заголовка, декодированная с переменной длиной слова узлом 31 декодирования с переменной длиной слова, показывает, что процесс обратного квантования выполняется над слайсом, обрабатываемым на данный момент, посредством использования матрицы квантования, узел обратного квантования/обратного преобразования выполняет процесс обратного квантования посредством использования матрицы квантования. Конкретно, узел обратного квантования/обратного преобразования выполняет процесс обратного квантования посредством использования матрицы квантования из набора параметров адаптации, который задан из каждой информации заголовка, и к которому обращаются слайсом, обрабатываемым на данный момент.
Переключатель 33 выбора выполняет процесс, когда режим кодирования, декодированный с переменной длиной слова узлом 31 декодирования с переменной длиной слова, является режимом внутреннего кодирования, вывода параметра внутреннего предсказания, декодированного с переменной длиной слова узлом 31 декодирования с переменной длиной слова, в узел 34 внутреннего предсказания, а когда режим кодирования, декодированный с переменной длиной слова узлом 31 декодирования с переменной длиной слова, является режимом внешнего кодирования, вывода параметра внешнего предсказания и вектора движения, которые декодированы с переменной длиной слова узлом 31 декодирования с переменной длиной слова, в узел 35 компенсации движения.
Узел 34 внутреннего предсказания выполняет процесс, когда режим кодирования, связанный с блоком декодирования, заданным из информации разделения на блоки, декодированной с переменной длиной слова узлом 31 декодирования с переменной длиной слова, является режимом внутреннего кодирования, выполнения процесса внутреннего предсказания (процесс внутрикадрового предсказания) с использованием параметра внутреннего предсказания, выведенного из переключателя 33 выбора, над каждым блоком предсказания, который является единицей для процесса предсказания, во время выполнения процесса предсказания над блоком декодирования, наряду с обращением к декодированному изображению, хранимому в памяти 37 для внутреннего предсказания, с тем чтобы формировать изображение внутреннего предсказания.
Узел 35 компенсации движения выполняет процесс, когда режим кодирования, связанный с блоком декодирования, заданным из информации разделения на блоки, декодированной с переменной длиной слова узлом 31 декодирования с переменной длиной слова, является режимом внешнего кодирования, выполнения процесса внешнего предсказания (процесса предсказания с компенсацией движения) с использованием вектора движения и параметра внешнего предсказания, которые выведены из переключателя 33 выбора, над каждым блоком предсказания, который является единицей для процесса предсказания, во время выполнения процесса предсказания над вышеупомянутым блоком декодирования наряду с обращением к декодированному изображению, хранимому в памяти 39 кадров предсказания с компенсацией движения, с тем чтобы формировать изображение внешнего предсказания. Средство предсказания содержит узел 34 внутреннего предсказания, память 37 для внутреннего предсказания, узел 35 компенсации движения и память 39 кадров предсказания с компенсацией движения.
Узел 36 сложения выполняет процесс сложения декодированного сигнала разности предсказания, вычисленного узлом 32 обратного квантования/обратного преобразования, и изображения внутреннего предсказания, сформированного узлом 34 внутреннего предсказания, или изображения внешнего предсказания, сформированного частью 35 компенсации движения, с тем чтобы вычислять такое же декодированное изображение, как локально декодированное изображение, выведенное из узла 9 сложения, показанного на фиг. 1. Узел 36 сложения составляет формирователь декодированного изображения.
Память 37 для внутреннего предсказания является носителем записи для хранения декодированного изображения, вычисленного узлом 36 сложения. Узел 38 контурного фильтра выполняет процесс выполнения предопределенного процесса фильтрации над декодированным изображением, вычисленным узлом 36 сложения, с тем чтобы выводить декодированное изображение, над которым выполнен процесс фильтрации. Конкретно, узел контурного фильтра выполняет процесс фильтрации (фильтрации деблокирования) по уменьшению искажения, возникающего на границе между блоками ортогонального преобразования, и искажения, возникающего на границе между блоками предсказания, процесс (процесс адаптивного смещения пикселя) по адаптивному прибавлению смещения на попиксельной основе, процесс адаптивной фильтрации по адаптивному переключению между линейными фильтрами, такими как фильтры Винера, чтобы выполнять процесс фильтрации, и так далее. Однако, для каждого из вышеупомянутых процессов фильтрации, в том числе, процесса фильтрации деблокирования, процесса адаптивного смещения пикселя и процесса адаптивной фильтрации, узел 38 контурного фильтра задает, следует или нет выполнять процесс над слайсом, обрабатываемым на данный момент, посредством обращения к каждой информации заголовка, декодированной с переменной длиной слова узлом 31 декодирования с переменной длиной слова. В случае, в котором устройство кодирования видео по фиг. 1 кодирует параметры фильтра, которые используются на основе по каждому слайсу, посредством прямого использования данных слайса вместо кодирования параметров фильтра, которые используются узлом 38 контурного фильтра в качестве части набора параметров адаптации, который является одним фрагментом информации заголовка, узел 31 декодирования с переменной длиной слова декодирует параметры фильтра, которые используются узлом 38 контурного фильтра, из данных слайса. В это время, в случае, в котором узел 11 контурного фильтра устройства кодирования видео построен как показано на фиг. 11, узел 38 контурного фильтра построен как показано на фиг. 12 в случае выполнения двух или более процессов фильтрации. Узел 38 контурного фильтра составляет фильтр.
В процессе фильтрации деблокирования, при обращении к набору параметров адаптации, к которому необходимо обращаться слайсом, обрабатываемым на данный момент, и существует информация изменения для изменения различных параметров, используемых для выбора интенсивности фильтра, применяемого к границе блока, от их начальных значений, узел контурного фильтра выполняет процесс фильтрации деблокирования на основании информации изменения. Когда информации изменения не существует, узел контурного фильтра выполняет процесс фильтрации деблокирования согласно предопределенному способу.
В процессе адаптивного смещения пикселя, узел контурного фильтра обращается к набору параметров адаптации, к которому необходимо обращаться слайсом, обрабатываемым на данный момент, разделяет декодированное изображение на блоки на основании информации разделения на блоки, включенной в набор параметров адаптации, обращается к индексу, включенному в набор параметров адаптации и указывающему способ классификации по классам каждого из блоков на поблочной основе, и, когда индекс не показывает «не выполнять процесс смещения», выполняет классификацию по классам над каждым пикселем в каждом из блоков согласно способу классификации по классам, указанному вышеупомянутым индексом, на поблочной основе. В качестве возможных вариантов для способа классификации по классам, способы классификации по классам, которые являются такими же, как возможные варианты для способа классификации по классам процесса адаптивного смещения пикселя, выполняемого узлом 11 контурного фильтра, подготовлены заранее. Узел контурного фильтра затем обращается к информации смещения, задающей значение смещения, вычисленное для каждого класса, определенного на поблочной основе (информации смещения, включенной в набор параметров адаптации), и выполняет процесс прибавления смещения к значению яркости декодированного изображения.
Однако, в случае, в котором процесс адаптивного смещения пикселя, выполняемый узлом 11 контурного фильтра устройства кодирования видео, построен таким образом, чтобы всегда разделять изображение на блоки, каждый имеет фиксированный размер (например, наибольшие блоки кодирования), без кодирования информации разделения на блоки, выбирать способ классификации по классам для каждого из блоков и выполнять процесс адаптивного смещения для каждого класса, узел 38 контурного фильтра также выполняет процесс адаптивного смещения пикселя над каждым блоком, имеющим такой же фиксированный размер, как обрабатываемый узлом 11 контурного фильтра.
В процессе адаптивной фильтрации, узел контурного фильтра обращается к набору параметров адаптации, к которому необходимо обращаться слайсом, обрабатываемым на данный момент, и, после выполнения классификации по классам согласно такому же способу, как используемый устройством кодирования видео по фиг. 1, выполняет процесс фильтрации посредством использования фильтра для каждого класса, включенного в набор параметров адаптации, на основе информации о классификации по классам. Однако, в случае, в котором, в процессе адаптивной фильтрации, выполняемым узлом 11 контурного фильтра устройства кодирования видео, вышеупомянутая классификация по классам и построение фильтра, и процесс фильтрации построены таким образом, чтобы выполняться над, вместо всего изображения, каждым блоком, имеющим фиксированный размер, например, каждым наибольшим блоком кодирования, узел 38 контурного фильтра также декодирует фильтр, используемый для каждого класса, и выполняет вышеупомянутую классификацию по классам и вышеупомянутый процесс фильтрации над каждым блоком, имеющим фиксированный размер, который является таким же, как обрабатываемый узлом 11 контурного фильтра.
Когда новый заголовок уровня последовательности (заголовок 2 уровня последовательности) вставлен в некоторую среднюю точку в кодированном битовом потоке вследствие изменения последовательности, как показано на фиг. 18, узел 31 декодирования с переменной длиной слова деактивирует все наборы параметров адаптации, уже декодированные при декодировании нового заголовка уровня последовательности. Поэтому, в примере, показанном на фиг. 18, не производится обращение к набору параметров адаптации через заголовок уровня последовательности, такое как обращение к набору 2 параметров адаптации во время декодирования данных 30 картинки. В дополнение, набор параметров адаптации, который декодирован, когда прошлые наборы параметров адаптации совсем не могут использоваться благодаря вышеупомянутому процессу деактивации по деактивации наборов параметров адаптации, или тому подобному, является тем, в котором параметры, в том числе, матрица квантования, не обращаются к прошлому набору параметров адаптации, и который дает возможность декодировать все параметры посредством использования только рассматриваемого набора параметров адаптации. Это ограничение может предотвращать возникновение ошибки декодирования, когда ошибка возникает в части кодированного битового потока, предшествующей новому заголовку уровня последовательности, в результате обращения к набору параметров адаптации в части битового потока, тем самым, будучи способным улучшать устойчивость к ошибкам. Однако, в случае, в котором устройство кодирования видео построено таким образом, чтобы иметь флаг aps_reset_flag инициализации для каждого набора параметров адаптации в заголовке уровня последовательности, каждый набор параметров адаптации инициализируется, только когда его флаг aps_reset_flag, декодированный узлом 31 декодирования с переменной длиной слова, установлен в «активирован», тогда как каждый набор параметров адаптации не инициализируется, когда его флаг aps_reset_flag установлен в «деактивирован». Посредством действия таким образом, устройство декодирования видео может правильно декодировать поток, сформированный устройством кодирования видео, которое выполняет процесс адаптивной инициализации с использованием флага aps_reset_flag инициализации для каждого набора параметров адаптации.
В дополнение, в случае, в котором устройство кодирования видео построено таким образом, чтобы иметь, в качестве части параметров каждого набора параметров адаптации, флаг previous_aps_clear_flag для деактивации уже декодированных наборов параметров адаптации, когда previous_aps_clear_flag, декодированный узлом 31 декодирования с переменной длиной слова, установлен в «активирован», узел 31 декодирования с переменной длиной слова деактивирует наборы параметров адаптации, декодированные до набора параметров адаптации, тогда как, когда previous_aps_clear_flag установлен в «деактивирован», узел декодирования с переменной длиной слова не выполняет вышеупомянутый процесс деактивации. Точнее, в примере кодированного битового потока, показанного на фиг. 24, когда узел 13 кодирования с переменной длиной слова устройства кодирования видео закодировал флаг previous_aps_clear_flag набора 21 параметров адаптации в качестве «активированного», наборы с 1 по 20 параметров адаптации деактивируются, и обращение к наборам с 1 по 20 параметров адаптации не производится для картинок, которые должны быть кодированы по порядку после картинки IDR или картинки CRA. Поэтому, произвольный доступ согласно картинке IDR или картинке CRA может быть реализован при декодировании из заголовка 2 уровня последовательности, который является заголовком единицы доступа, включающей в себя данные 31 картинки о картинке IDR или картинке CRA.
В качестве альтернативы, в случае, в котором устройство кодирования видео построено таким образом, чтобы реализовывать процесс деактивации по деактивации наборов параметров адаптации для произвольного доступа посредством предоставления флага part_aps_clear_flag для деактивации некоторых наборов параметров адаптации при декодировании картинки IDR или картинки CRA в заголовке уровня последовательности или единице NAL, когда флаг part_aps_clear_flag, декодированный узлом 31 декодирования с переменной длиной слова во время декодирования картинки IDR или картинки CRA, установлен в «активирован», узел 31 декодирования с переменной длиной слова деактивирует наборы параметров адаптации, предшествующие данным картинки о картинке, непосредственно предшествующей картинке IDR или картинке CRA. Точнее, в примере, показанном на фиг. 24, когда узел 13 кодирования с переменной длиной слова устройства кодирования видео закодировал флаг part_aps_clear_flag в заголовке 2 уровня последовательности или единице NAL данных 31 картинки в качестве «активированного», наборы параметров адаптации, предшествующие данным 30 картинки, которые являются данными картинки, непосредственно предшествующими данным 31 картинки, деактивируются при декодировании данных 31 картинки. Поэтому, обращение к наборам с 1 по 20 параметров адаптации не производится для картинок, которые должны быть декодированы по порядку после картинки IDR или картинки CRA, и произвольный доступ согласно картинке IDR или картинке CRA может быть реализован при декодировании из заголовка 2 уровня последовательности. Однако, в случае, в котором устройство кодирования видео построено таким образом, чтобы всегда выполнять процесс деактивации по деактивации наборов параметров адаптации при кодировании картинки IDR или картинки CRA, не предусматривая флага, как приведенный выше, устройство декодирования видео может быть построено таким образом, что узел 31 декодирования с переменной длиной слова выполняет вышеупомянутый процесс деактивации по деактивации наборов параметров адаптации при декодировании картинки IDR или картинки CRA, тем самым, будучи способным правильно декодировать кодированный битовый поток, сформированный вышеупомянутым устройством кодирования видео.
В дополнение, в случае, в котором устройство кодирования видео построено таким образом, чтобы иметь параметр, упоминаемый как aps_group_id, в каждом наборе параметров адаптации в качестве способа реализации процесса деактивации по деактивации наборов параметров деактивации согласно картинке IDR или картинке CRA, при декодировании картинки IDR или картинки CRA, узел 31 декодирования с переменной длиной слова устройства декодирования видео деактивирует набор параметров адаптации, имеющий aps_group_id, чье значение отличается от значения aps_group_id, которое имеет другой набор параметров адаптации, к другому набору параметров адаптации обращаются картинкой IDR или картинкой CRA. Например, в случае, показанном на фиг. 24, когда устройство кодирования видео кодирует наборы параметров адаптации таким образом, чтобы устанавливать параметры aps_group_id наборов с 1 по 20 параметров адаптации в ноль, а также устанавливать параметры aps_group_id набора 21 параметров адаптации и последующих наборов параметров адаптации в единицу, узел 31 декодирования с переменной длиной слова устройства декодирования видео деактивирует наборы с 1 по 20 параметров адаптации, имеющие параметры aps_group_id (=0), отличные от параметра aps_group_id (=1) набора 21 параметров адаптации, когда данные 31 картинки о картинке IDR или картинке CRA обращаются к набору 21 параметров адаптации. Поэтому, к наборам с 1 по 20 параметров адаптации не обращаются данными 31 картинки и данными последующих картинок, и устройство декодирования видео может всегда и правильно декодировать предопределенную картинку и последующие картинки, начиная декодирование с заголовка 2 уровня последовательности, который является заголовком единицы доступа, включающей в себя данные 31 картинки о картинке IDR или картинке CRA.
В соответствии со способом вставки aps_group_id, как упомянутый выше, когда устройство кодирования видео выполняет кодирование таким образом, чтобы не изменять значения параметров aps_group_id из наборов параметров адаптации согласно картинке IDR или картинке CRA наряду с приданием более высокого приоритета эффективности кодирования, чем устойчивости к ошибкам, устройство декодирования видео также может правильно декодировать наборы параметров адаптации без деактивации наборов параметров адаптации, так как, когда данные картинки о картинке IDR или картинке CRA обращаются к набору параметров адаптации, не существует набора параметров адаптации, имеющего параметр aps_group_id, чье значение отличается от значения параметра aps_group_id из набора параметров адаптации, к которому обращаются данными картинки. Кроме того, в случае, в котором устройство кодирования видео построено таким образом, чтобы деактивировать набор параметров адаптации, имеющий параметр aps_group_id, чье значение отличается от значения параметра aps_group_id, к которому обращаются, также при декодировании картинки, отличной от картинки IDR или картинки CRA, узел 31 декодирования с переменной длиной слова устройства декодирования видео деактивирует набор параметров адаптации, имеющий параметр aps_group_id, чье значение отличается от значения параметра aps_group_id, к которому обращаются при декодировании картинки. Посредством действия таким образом, устройство декодирования видео может правильно декодировать поток, сформированный устройством кодирования видео, которое реализует процесс адаптивной деактивации по деактивации наборов параметров адаптации посредством произвольной установки временных характеристик, с которыми следует изменять параметр aps_group_id из набора параметров адаптации.
В дополнение, в случае, в котором узел 13 кодирования с переменной длиной слова устройства кодирования видео построен таким образом, чтобы, при кодировании картинки IDR или картинки CRA, выполнять процесс деактивации по деактивации наборов параметров адаптации согласно картинке IDR или картинке CRA посредством использования индекса (aps_id) каждого набора параметров адаптации, в качестве еще одного способа реализации процесса деактивации по деактивации наборов параметров адаптации согласно картинке IDR или картинке CRA, узел 31 декодирования с переменной длиной слова устройства декодирования видео деактивирует наборы параметров адаптации, имеющие индексы, меньшие, чем индекс (aps_id) рассматриваемого набора параметров адаптации, при обращении к набору параметров адаптации, к которому обращаются картинкой IDR или картинкой CRA. Точнее, в случае, в котором индексы назначены наборам параметров адаптации в порядке, в котором эти наборы параметров адаптации закодированы в примерах по фиг. 24 и 28, когда к набору 21 параметров адаптации обращаются данными 31 картинки о картинке IDR или картинке CRA, деактивируются наборы с 1 по 20 параметров адаптации, имеющие индексы, меньшие, чем индекс набора 21 параметров адаптации. Поэтому, к наборам с 1 по 20 параметров адаптации не обращаются данными 31 картинки и данными последующих картинок, и устройство декодирования видео может всегда и правильно декодировать предопределенную картинку и последующие картинки при начале декодирования с единицы доступа, включающей в себя данные 31 картинки по картинке IDR или картинке CRA.
В дополнение, в случае, в котором устройство кодирования видео построено таким образом, чтобы, вместо кодирования параметра матрицы квантования в качестве набора параметров адаптации, кодировать параметр матрицы квантования в заголовке уровня картинки в качестве параметра, который может изменяться на основе по каждой картинке, такие же процессы, как процесс инициализации набора параметров адаптации с использованием заголовка уровня последовательности и процесс деактивации по деактивации наборов параметров адаптации согласно картинке IDR или CRA, которые пояснены выше, также выполняются над параметром матрицы квантования. Память 39 кадров предсказания с компенсацией движения является носителем записи, который хранит декодированное изображение, над которым процесс фильтрации выполнен узлом 38 контурного фильтра. Вообще, профиль и уровень могут быть определены в устройстве декодирования видео в качестве информации, показывающей ограничение для определения масштабов схем, в том числе, объема памяти. Профиль определяет технические условия устройства декодирования видео (описания, показывающие конструкции узла декодирования с переменной длиной слова, узла обратного квантования/обратного преобразования, узла внутреннего предсказания, узла компенсации движения, узла контурного фильтра, и т.д.), а уровень накладывает ограничения на установки, такие как максимальный размер входного изображения, количество устройств памяти кадров и диапазон векторов движения, который может иметь вектор движения, которые оказывают влияние на требуемый объем памяти и объем вычислений устройства декодирования видео. С другой стороны, так как оптимальное количество смещений на каждую картинку процесса адаптивного смещения пикселя в узле 38 контурного фильтра и оптимальное количество фильтров на картинку процесса адаптивной фильтрации возрастают с повышением пространственного разрешения изображения, максимальное количество смещений на картинку процесса адаптивного смещения пикселя и максимальное количество фильтров на картинку процесса адаптивной фильтрации могут быть определены согласно максимальному размеру входного изображения, определенному уровнем. Посредством действия таким образом, надлежащее максимальное количество смещений и надлежащее максимальное количество фильтров могут определяться адаптивно.
В примере, показанном на фиг. 3, узел 31 декодирования с переменной длиной слова, узел 32 обратного квантования/обратного преобразования, переключатель 33 выбора, узел 34 внутреннего предсказания, узел 35 компенсации движения, узел 36 сложения, память 37 для внутреннего предсказания, узел 38 контурного фильтра и память 39 кадров предсказания с компенсацией движения, которые являются компонентами устройства декодирования видео, могут соответственно состоять из деталей аппаратных средств для исключительного использования (например, полупроводниковых интегральных схем, в каждой из которых установлен ЦПУ, однокристальных микрокомпьютеров, или тому подобного). В качестве альтернативы, устройство декодирования видео может состоять из компьютера, и программа, в которой описаны процессы, выполняемые узлом 31 декодирования с переменной длиной слова, узлом 32 обратного квантования/обратного преобразования, переключателем 33 выбора, узлом 34 внутреннего предсказания, узлом 35 компенсации движения, узлом 36 сложения и узлом 38 контурного фильтра, может храниться в памяти компьютера, и ЦПУ компьютера может быть выполнен с возможностью выполнять программу, хранимую в памяти. Фиг. 4 - блок-схема последовательности операций способа, показывающая обработку (способ декодирования видео), выполняемую устройством декодирования видео в соответствии с вариантом 1 осуществления настоящего изобретения.
Затем, будут пояснены операции устройств кодирования и декодирования видео. В этом варианте 1 осуществления, будет пояснен случай, в котором устройство кодирования видео принимает изображение каждого кадра видео в качестве введенного изображения, выполняет внутреннее предсказание по уже кодированным соседним пикселям или предсказание с компенсацией движения между смежными кадрами и выполняет процесс сжатия с ортогональным преобразованием и квантованием над полученным сигналом разности предсказания, а после этого, выполняет кодирование с переменной длиной слова, с тем чтобы сформировать кодированный битовый поток, а устройство декодирования видео декодирует кодированный битовый поток, выведенный из устройства кодирования видео.
Устройство кодирования видео, показанное на фиг. 1, отличается тем, что устройство кодирования видео приспособлено для локальных изменений пространственного направления и временного направления видеосигнала, разделяет видеосигнал на блоки, имеющие различные размеры, и выполняет внутрикадровое и межкадровое адаптивное кодирование. Вообще, видеосигнал имеет характеристику своей сложности, меняющуюся локально в пространстве и времени. Может быть случай, в котором структура, имеющая равномерную характеристику сигнала в относительно большой области изображения, такая как изображение неба или изображение стены, или структура, имеющая сложную картину текстуры в небольшой области изображения, такая как изображение человека или картинка, включающая в себя мелкозернистую структуру, также сосуществуют в некотором видеокадре с точки зрения пространства. К тому же, с точки зрения времени, изображение неба и изображение стены имеют малое локальное изменение во временном направлении в своих структурах, наряду с тем, что изображение движущегося человека или объекта, имеет большее временное изменение, так как его очертание содержит движение неизменяемого тела и движение изменяемого тела относительно времени.
Хотя процесс формирования сигнала разности предсказания, имеющего небольшую мощность сигнала и небольшую энтропию, посредством использования временного и пространственного предсказания, тем самым, уменьшения общего объема кода, выполняется в процессе кодирования, объем кода параметров, используемых для предсказания, может уменьшаться до тех пор, пока параметры могут единообразно применяться к как можно большей области сигнала изображения. С другой стороны, так как количество ошибок, возникающих в предсказании, возрастает, когда один и тот же параметр предсказания применяется к большой области изображения в структуре сигнала изображения, имеющей большое изменение во времени и пространстве, объем кода сигнала разности предсказания увеличивается. Поэтому, желательно применять один и тот же параметр предсказания к области изображения, имеющей большое изменение во времени и пространстве, для уменьшения размера блока у блока, который подвергается процессу предсказания, тем самым, увеличивая объем данных параметра, который используется для предсказания и уменьшая электрическую мощность и энтропию сигнала разности предсказания.
В этом варианте 1 осуществления, предусмотрена структура, для того чтобы выполнять кодирование, которое адаптировано для таких типичных характеристик видеосигнала, запуска процесса предсказания, и так далее, сначала с предопределенного наибольшего размера блока, иерархического разделения каждой области видеосигнала на блоки и адаптации процесса предсказания и процесса кодирования разности предсказания под каждый из полученных разделением блоков.
Видеосигнал, имеющий формат, который должен обрабатываться устройством кодирования видео, показанным на фиг. 1, может быть сигналом YUV, который состоит из сигнала яркости и двух цветоразностных сигналов, или сигналом цветного видеоизображения в произвольном цветовом пространстве, таким как сигнал RGB, выведенный с цифрового датчика изображения, или произвольным видеосигналом, таким как сигнал монохромного изображения или сигнал инфракрасного изображения, в котором каждая картинка состоит из последовательности цифровых отсчетов (пикселей) в двух измерениях, горизонтальном и вертикальном. Оттенок каждого пикселя может быть 8-битным, 10-битным или 12-битным.
В последующем пояснении, ради удобства, будет описан случай, в котором видеосигнал введенного изображения является сигналом YUV, если не указан иной способ действий, и обрабатываются две цветоразностных компонент U и V, которые являются сигналами, имеющими формат 4:2:0, которые подвергнуты подвыборке (субдискретизации) относительно компоненты Y яркости. Кроме того, единица данных для обработки, которая соответствует каждому кадру видеосигнала, упоминается как «картинка». В этом варианте 1 осуществления, хотя будет дано пояснение, в котором «картинка» является сигналом видеокадра, над которым выполнена простая строчная развертка, «картинка», в качестве альтернативы, может быть сигналом полевого изображения, который является единицей, которая составляет видеокадр, когда видеосигнал является чересстрочным сигналом.
Сначала будет пояснена обработка, выполняемая устройством кодирования видео, показанным на фиг. 1. Прежде всего, узел 2 управления кодированием определяет состояние разделения на слайсы картинки (текущей картинки), который является объектом для кодирования, и также определяет размер каждого наибольшего блока кодирования, который используется для кодирования картинки, и верхний предел по количеству иерархий в то время, когда каждый наибольший блок кодирования иерархически разделяется на блоки (этап ST1 по фиг. 2). В качестве способа определения размера каждого наибольшего блока кодирования, например, может быть способ определения одинакового размера для всех картинок согласно разрешению видеосигнала введенного изображения, и способ количественного определения изменения сложности локального движения видеосигнала введенного изображения в качестве параметра, а затем, определения малого размера для картинки, имеющей большое и энергичное движение, наряду с определением большого размера для картинки, имеющей меньшее движение.
В качестве способа определения верхнего предела по количеству иерархий разделения, например, может быть способ определения одинакового количества иерархий для всех картинок согласно разрешению видеосигнала введенного изображения, и способ увеличения количества иерархий, чтобы давать возможность выявлять более мелкое движение, в то время как видеосигнал введенного изображения содержит большее или более энергичное движение, или уменьшения количества иерархий, в то время как видеосигнал введенного изображения содержит меньшее движение. Узел управления кодированием может кодировать вышеупомянутый размер каждого наибольшего блока кодирования и верхний предел по количеству иерархий в то время, когда каждый наибольший блок кодирования иерархически разделяется на блоки, чтобы включать кодированные данные в заголовок уровня последовательности, или тому подобное. В качестве альтернативы, устройство декодирования видео также может выполнять такой же процесс определения без кодирования размера и верхнего предела. В первом случае, так как, несмотря на то, что объем кода информации заголовка увеличивается, устройство декодирования видео не должно выполнять вышеупомянутый процесс определения, нагрузка обработки на устройство декодирования видео может быть понижена, а устройство кодирования видео также может отыскивать свои оптимальные значения и отправлять эти значения в устройство декодирования видео. В последнем случае, в противоположность, так как устройство декодирования видео выполняет вышеупомянутый процесс определения, в то время как нагрузка обработки на устройство кодирования видео возрастает, объем кода информации заголовка не увеличивается.
Узел 2 управления кодированием также выбирает режим кодирования, соответствующий каждому из блоков кодирования, на которые иерархически разделено введенное изображение, из одного или более имеющихся в распоряжении режимов кодирования (этап ST2). Точнее, узел 2 управления кодированием иерархически разделяет каждую область изображения, имеющую наибольший размер блока кодирования, на блоки кодирования, каждый имеет размер блока кодирования, до тех пор, пока количество иерархий разделения не достигает верхнего предела по количеству иерархий, который определен заранее, и определяет режим кодирования для каждого из блоков кодирования. Режим кодирования может быть одним из одного или более режимов внутреннего кодирования (в целом указываемых ссылкой как «INTRA») и одного или более режимов внешнего кодирования (в целом указываемых ссылкой как «INTER»), и узел 2 управления кодированием выбирает режим кодирования, соответствующий каждому из блоков кодирования из числа всех режимов кодирования, имеющихся в распоряжении в картинке, обрабатываемой на данный момент, или подмножестве режимов кодирования.
Каждый из блоков кодирования, на которые введенное изображение иерархически разделяется узлом 1 разделения на блоки, который будет упомянут ниже, дополнительно разделяется на один или более блоков предсказания, каждый из которых является единицей, над которой должен выполняться процесс предсказания, и состояние разделения на один или более блоков предсказания также включено в качестве информации в информацию режима кодирования. Точнее, информация режима кодирования является индексом, идентифицирующим режим внутреннего кодирования или режим внешнего кодирования, и какой тип разделения на блоки предсказания имеет режим кодирования. Хотя подробное пояснение способа выбора по выбору режима кодирования для использования в узле 2 управления кодированием будет опущено в дальнейшем, так как способ выбора является известной технологией, например, есть способ выполнения процесса кодирования над каждым блоком кодирования посредством использования произвольных имеющихся в распоряжении режимов кодирования для исследования эффективности кодирования и выбора режима кодирования, имеющего наивысшую степень эффективности кодирования, из числа множества имеющихся в распоряжении режимов кодирования.
Узел 2 управления кодированием дополнительно определяет параметр квантования и состояние разделения на блоки ортогонального преобразования, которые используются, когда сжимается разностное изображение, для каждого блока кодирования, а также определяет параметр предсказания (параметр внутреннего предсказания или параметр внешнего предсказания), который используется, когда выполняется процесс предсказания. Когда каждый блок кодирования дополнительно разделяется на блоки предсказания, над каждым из которых выполняется процесс предсказания, узел управления кодированием может выбирать параметр предсказания (параметр внутреннего предсказания или параметр внешнего предсказания) для каждого из блоков предсказания. В дополнение, так как, когда процесс внутрикадрового предсказания выполняется над каждым блоком предсказания в блоке кодирования, чьим режимом кодирования является режим внутреннего кодирования, используются уже кодированные пиксели, прилегающие к блоку предсказания, как будет описано подробнее, необходимо выполнять кодирование на основе по каждому блоку предсказания, а потому, выбираемые размеры блока преобразования ограничены размером блока предсказания или меньшим.
Узел 2 управления кодированием выводит параметры кодирования разности предсказания, в том числе, параметр квантования и размер блока преобразования в узел 7 преобразования/квантования, узел 8 обратного квантования/обратного преобразования и узел 13 кодирования с переменной длиной слова. Узел 2 управления кодированием также выводит параметр внутреннего предсказания в узел 4 внутреннего предсказания по мере надобности. Узел 2 управления кодированием дополнительно выводит параметр внешнего предсказания в узел 5 предсказания с компенсацией движения по мере надобности.
При приеме видеосигнала в качестве введенного изображения, узел 14 разделения на слайсы разделяет введенное изображение на один или более слайсов, которые являются частичными изображениями, согласно информации разделения на слайсы, определенной узлом 2 управления кодированием. Каждый раз при приеме каждого из слайсов из узла 14 разделения на слайсы, узел 1 разделения на блоки разделяет слайс на блоки кодирования, каждый имеет наибольший размер блока кодирования, определенный узлом 2 управления кодированием, а кроме того, иерархически разделяет каждый из наибольших блоков кодирования, на которые разделено введенное изображение, на блоки кодирования, эти блоки кодирования определяются узлом 2 управления, и выводит каждый из блоков кодирования.
Фиг. 5 - пояснительный чертеж, показывающий пример, в котором каждый наибольший блок кодирования разделен иерархически на множество блоков кодирования. Со ссылкой на фиг. 5, каждый наибольший блок кодирования является блоком кодирования, чья компонента яркости, которая показана «0-ым иерархическим уровнем», имеет размер (L0, M0). Посредством выполнения иерархического разделения с каждым наибольшим блоком кодирования, устанавливаемым в качестве начальной точки, до тех пор, пока глубина иерархии не достигает предопределенной глубины, которая устанавливается отдельно согласно структуре дерева квадрантов, могут получаться блоки кодирования. На глубине n, каждый блок кодирования является областью изображения, имеющей размер (Ln, Mn). В этом примере, хотя Ln может быть таким же как или отличным от Mn, случай Ln=Mn показан на фиг. 5.
В дальнейшем, размер блока кодирования, определенный узлом 2 управления кодированием, определен в качестве размера (Ln, Mn) в компоненте яркости каждого блока кодирования. Так как выполняется разделение дерева квадрантов, (Ln+1, Mn+1)=(Ln/2, Mn/2) всегда установлено. В случае сигнала цветного видеоизображения (формата 4:4:4), в котором все цветовые компоненты имеют одинаковое количество отсчетов, такого как сигнал RGB, все цветовые компоненты имеют размер (Ln, Mn), наряду с тем, что, в случае обращения с форматом 4:2:0, соответствующая цветоразностная компонента имеет размер блока кодирования (Ln/2, Mn/2).
В дальнейшем, каждый блок кодирования на n-ом уровне иерархии выражен в качестве Bn, а режим кодирования, выбираемый для каждого блока Bn кодирования, выражен в качестве m(Bn). В случае цветного видеосигнала, который состоит из множества цветовых компонент, режим m(Bn) кодирования может быть сконфигурирован таким образом, что отдельный режим используется для каждой цветовой компоненты, или может быть сконфигурирован таким образом, что общий режим используется для всех цветовых компонент. В дальнейшем, пояснение будет производиться согласно предположению, что режим кодирования указывает режим для компоненты яркости блока кодирования, имеющей формат 4:2:0 в сигнале YUV, если не указан иной способ действий.
Каждый блок Bn кодирования разделяется на один или более блоков предсказания, каждый показывает единицу предсказания, узлом 1 разделения на блоки, как показано на фиг. 5. В дальнейшем, каждый блок предсказания, принадлежащий к каждому блоку Bn кодирования, выражен в качестве Pin (i показывает номер блока предсказания в пределах n-ого иерархического уровня). Пример P00 и P10 показан на фиг. 5. Каким образом выполняется разделение каждого блока Bn кодирования на блоки предсказания, включено в качестве информации в режим m(Bn) кодирования. Несмотря на то, что процесс предсказания выполняется над каждым из всех блоков Pin предсказания согласно режиму m(Bn) кодирования, отдельный параметр предсказания (параметр внутреннего предсказания или параметр внешнего предсказания) может быть выбран для каждого блока Pin предсказания.
Узел 2 управления кодированием формирует такое состояние разделения на блоки, как например, показанное на фиг. 6, для каждого наибольшего блока кодирования, а затем, задает блоки кодирования. Каждый прямоугольник, обведенный пунктирной линией, по фиг. 6(a) показывает блок кодирования, а каждый блок, заполненный линиями штриховки, в каждом блоке кодирования показывает состояние разделения каждого блока предсказания. Фиг. 6(b) показывает ситуацию, где режим m(Bn) кодирования назначается каждой узловой точке через иерархическое разделение в примере по фиг. 6(a), посредством использования графа дерева квадрантов. Каждая узловая точка, обведенная □, показанная на фиг. 6(b), является узловой точкой (блоком кодирования), которой назначен режим m(Bn) кодирования. Информация об этом графе дерева квадрантов выводится из узла 2 управления кодированием в узел 13 кодирования с переменной длиной слова вместе с режимом m(Bn) кодирования и мультиплексируется в битовый поток
Когда режим m(Bn) кодирования, определенный узлом 2 управления кодированием, является режимом внутреннего кодирования (в случае m(Bn)∈INTRA), переключатель 3 выбора выводит блок Bn кодирования, выведенный из узла 1 разделения на блоки, в узел 4 внутреннего предсказания. В противоположность, когда режим m(Bn) кодирования, определенный узлом 2 управления кодированием, является режимом внешнего кодирования (в случае m(Bn)∈INTER), переключатель выбора выводит блок Bn кодирования, выведенный из узла 1 разделения на блоки, в узел 5 предсказания с компенсацией движения.
Когда режим m(Bn) кодирования, определенный узлом 2 управления кодированием, является режимом внутреннего кодирования (в случае m(Bn)∈INTRA), и узел 4 внутреннего предсказания принимает блок Bn кодирования из переключателя 3 выбора (этап ST3), узел 4 внутреннего предсказания выполняет процесс внутреннего предсказания над каждым блоком Pin предсказания в блоке Bn кодирования посредством использования параметра внутреннего предсказания, определенного узлом 2 управления кодированием, наряду с обращением к локально декодированному изображению, хранимому в памяти 10 для внутреннего предсказания, с тем чтобы формировать изображение PINTRAin внутреннего предсказания (этап ST4). Так как устройству декодирования видео необходимо формировать изображение внутреннего предсказания, которое является полностью таким же, как изображение PINTRAin внутреннего предсказания, параметр внутреннего предсказания, используемый для формирования изображения PINTRAin внутреннего предсказания, выводится из узла 2 управления кодированием в узел 13 кодирования с переменной длиной слова и мультиплексируется в битовый поток. Подробности об обработке, выполняемой узлом 4 внутреннего предсказания, будут упомянуты ниже.
Когда режим m(Bn) кодирования, определенный узлом 2 управления кодированием, является режимом внутреннего кодирования (в случае m(Bn)∈INTER), и узел 5 предсказания с компенсацией движения принимает блок Bn кодирования из переключателя 3 выбора (этап ST3), узел 5 предсказания с компенсацией движения сравнивает каждый блок Pin предсказания в блоке Bn кодирования с локально декодированным изображением, которое хранится в памяти 12 кадров предсказания с компенсацией движения, и над которым выполнен процесс фильтрации для поиска вектора движения, и выполняет процесс внешнего предсказания над каждым блоком Pin предсказания в блоке Bn кодирования посредством использования как вектора движения, так и параметра кодирования, определенного узлом 2 управления кодированием, с тем чтобы формировать изображение PINTERin внешнего предсказания (этап ST5). Так как устройству декодирования видео необходимо формировать изображение внешнего предсказания, которое является полностью таким же, как изображение PINTERin внешнего предсказания, параметр внешнего предсказания, используемый для формирования изображения PINTERin внешнего предсказания, выводится из узла 2 управления кодированием в узел 13 кодирования с переменной длиной слова и мультиплексируется в битовый поток. Вектор движения, который отыскивается узлом 5 предсказания с компенсацией движения, также выводится в узел 13 кодирования с переменной длиной слова и мультиплексируется в битовый поток.
При приеме блока Bn кодирования из узла 1 разделения на блоки, узел 6 вычитания вычитает изображение PINTRAin внутреннего предсказания, сформированное узлом 4 внутреннего предсказания, или изображение PINTERin внешнего предсказания, сформированное узлом 5 предсказания с компенсацией движения из блока Pin предсказания в блоке Bn кодирования, и выводит сигнал ein разности предсказания, показывающий разностное изображение, которое является результатом вычитания, в узел 7 преобразования/квантования (этап ST6).
При приеме сигнала ein разности предсказания из узла 6 вычитания, узел 7 преобразования/квантования обращается к информации разделения на блоки ортогонального преобразования, включенной в параметры кодирования разности предсказания, определенные узлом 2 управления кодированием, и выполняет процесс ортогонального преобразования (например, ДКП (дискретное косинусное преобразование) ДСТ (дискретное синусное преобразование) или процесс ортогонального преобразования, такой как преобразование KL, в котором базисы строятся заранее для специфической обучающей последовательности) над каждым блоком ортогонального преобразования сигнала ein разности предсказания, с тем чтобы вычислять коэффициенты преобразования. Узел 7 преобразования/квантования также обращается к параметру квантования, включенному в параметры кодирования разности предсказания, для квантования коэффициентов преобразования каждого блока ортогонального преобразования и выводит сжатые данные, которые, в силу этого, являются квантованными коэффициентами преобразования, в узел 8 обратного квантования/обратного преобразования и узел 13 кодирования с переменной длиной слова (этап ST7). В это время, узел преобразования/квантования может выполнять процесс квантования посредством использования матрицы квантования для выполнения масштабирования над размером шага квантования, вычисленным по вышеупомянутому параметру квантования для каждого коэффициента преобразования.
В качестве матрицы квантования, может использоваться матрица, которая независима для каждого из сигналов цветности и для каждого режима кодирования (внутреннего кодирования или внешнего кодирования) при каждом размере ортогонального преобразования, и может выбираться, следует или нет выбирать, в качестве начального значения матрицы квантования, одну матрицу квантования из матрицы квантования, которая подготовлена заранее и совместно между устройством кодирования видео и устройством декодирования видео, и уже кодированной матрицей квантования, или следует или нет использовать, в качестве начального значения матрицы квантования, новую матрицу квантования. Поэтому, узел 7 преобразования/квантования устанавливает, в качестве параметра матрицы квантования, которая должна быть кодирована, информацию флага, показывающую, следует или нет использовать новую матрицу квантования для каждого сигнала цветности и для каждого режима кодирования при каждом размере ортогонального преобразования. В дополнение, когда используется новая матрица квантования, каждое из значений масштабирования в матрице квантования, как показано на фиг. 10, устанавливается в качестве параметра матрицы квантования, который должен быть кодирован. В противоположность, когда новая матрица квантования не используется, индекс, задающий матрицу, которая должна быть использована, в качестве начального значения, из матрицы квантования, подготовленной заранее и совместно между устройством кодирования видео и устройством декодирования видео, и уже кодированной матрицей квантования устанавливается в качестве параметра матрицы квантования, который должен быть кодирован. Однако, когда уже кодированная матрица квантования, к которой может быть осуществлено обращение, не существует, может выбираться только матрица квантования, подготовленная заранее и совместно между устройством кодирования видео и устройством декодирования видео. Узел 7 преобразования/квантования затем выводит установленные параметры матрицы квантования в узел 13 кодирования с переменной длиной слова в качестве части набора параметров адаптации.
При приеме сжатых данных из узла 7 преобразования/квантования, узел 8 обратного квантования/обратного преобразования обращается к параметру квантования и информации разделения на блоки ортогонального преобразования, которые включены в параметры кодирования разности предсказания, определенных узлом 2 управления кодированием, с тем чтобы осуществлять обратное квантование сжатых данных о каждом блоке ортогонального преобразования. Когда узел 7 преобразования/квантования использует матрицу квантования для процесса квантования, узел обратного квантования/обратного преобразования выполняет соответствующий процесс обратного квантования посредством обращения к матрице квантования также во время процесса обратного квантования. Узел 8 обратного квантования/обратного преобразования также выполняет процесс обратного ортогонального преобразования (например, обратное ДКП, обратное ДСП, обратное преобразование KL, или тому подобное) над коэффициентами преобразования, которые являются сжатыми данными, обратно квантованными, для каждого блока ортогонального преобразования, и вычисляет локально декодированный сигнал разности предсказания, соответствующий сигналу ein разности предсказания, выведенному из узла 6 вычитания, и выводит локально декодированный сигнал разности предсказания в узел 9 сложения (этап ST8).
При приеме локально декодированного сигнала разности предсказания из узла 8 обратного квантования/обратного преобразования, узел 9 сложения вычисляет локально декодированное изображение посредством сложения локально декодированного сигнала разности предсказания и изображения PINTRAin внутреннего предсказания, сформированного узлом 4 внутреннего предсказания, либо изображения PINTERin внешнего предсказания, сформированного узлом 5 предсказания с компенсацией движения (этап ST9). Узел 9 сложения выводит локально декодированное изображение в узел 11 контурного фильтра наряду с сохранением локально декодированного изображения в памяти 10 для внутреннего предсказания. Локально декодированное изображение является кодированным сигналом изображения, который используется во время последующих процессов внутрикадрового предсказания.
При приеме локально декодированного изображения из узла 9 сложения, узел 11 контурного фильтра выполняет предопределенный процесс фильтрации над локально декодированным изображением и сохраняет локально декодированное изображение, обработанное фильтрацией в силу этого, в памяти кадров предсказания с компенсацией движения (этап ST10). Конкретно, узел контурного фильтра выполняет процесс фильтрации (фильтрации деблокирования) по уменьшению искажения, происходящего на границе между блоками ортогонального преобразования, и искажения, возникающего на границе между блоками предсказания, процесс (процесс адаптивного смещения пикселя) адаптивного прибавления смещения к каждому пикселю, процесс адаптивной фильтрации по адаптивному переключению между линейными фильтрами, такими как фильтры Винера, и выполнению процесса фильтрации, и так далее.
Узел 11 контурного фильтра определяет, выполнять или нет процесс касательно каждого из вышеупомянутых процессов фильтрации, в том числе, процесса фильтрации деблокирования, процесса адаптивного смещения пикселя и процесса адаптивной фильтрации, и выводит флаг активации каждого из процессов в качестве части набора параметров адаптации, который должен быть кодирован, и части заголовка уровня слайса, в узел 13 кодирования с переменной длиной слова. При использовании двух или более из вышеупомянутых процессов фильтрации, узел контурного фильтра выполняет процессы фильтрации по порядку. Фиг. 11 показывает пример структуры узла 11 контурного фильтра в случае использования множества процессов фильтрации. Вообще, несмотря на то, что качество изображения улучшается с увеличением количества типов используемых процессов фильтрации, нагрузка обработки повышается с увеличением количества типов используемых процессов фильтрации. Точнее, есть компромисс между качеством изображения и нагрузкой обработки. Кроме того, эффект улучшения качества изображения, который создается каждым из процессов фильтрации, различается в зависимости от характеристик изображения, которое является объектом для процесса фильтрации. Поэтому, необходимо просто определять процесс фильтрации, который должен использоваться, согласно нагрузке обработки, приемлемой в устройстве кодирования видео, и характеристикам изображения, которое является предметом для процесса фильтрации.
В процессе фильтрации деблокирования, различные параметры, используемые для выбора интенсивности фильтра, который должен быть применен к границе блока, могут изменяться от своих начальных значений. При изменении параметра, параметр выводится в узел 13 кодирования с переменной длиной слова в качестве части набора параметров адаптации, который должен быть кодирован.
В процессе адаптивного смещения пикселя, изображение сначала разделяется на множество блоков, случай не выполнения процесса смещения определен в качестве одного способа классификации по классам для каждого из блоков кодирования, и один способ классификации по классам выбирается из числа множества способов классификации по классам, которые подготовлены заранее. Затем, посредством использования выбранного способа классификации по классам, каждый пиксель, включенный в блок классифицируется на один из классов, и значение смещения для компенсации искажения кодированием вычисляется для каждого из классов. В заключение, выполняется процесс прибавления значения смещения к значению яркости локально декодированного изображения, тем самым, улучшая качество изображения локально декодированного изображения.
В качестве способа выполнения классификации по классам, есть способ (упоминаемый как способ BO) классификации каждого пикселя в один из классов согласно значению яркости локально декодированного изображения, и способ (упоминаемый как способ EO) классификации каждого пикселя в один из классов согласно состоянию соседней области вокруг пикселя (например, является или нет соседняя область граничным участком) для каждого из направлений границ. Эти способы подготовлены совместно между устройством кодирования видео и устройством декодирования видео. Как показано на фиг. 16, случай не выполнения процесса смещения определен в качестве одного способа классификации по классам, и индекс, показывающий, какой один из этих способов должен использоваться для выполнения классификации по классам, выбирается для каждого из вышеупомянутых блоков.
Фиг. 13 - пояснительный чертеж, показывающий способ BO. В соответствии со способом BO, диапазон значений яркости, которые может иметь локально декодированное изображение, сначала делится на MBO равных групп. MBO - постоянная, которая является целым числом, делящимся без остатка на ((наибольшее из значений яркости) - (наименьшее из значений яркости) +1), и MBO=32 в примере, показанном на фиг. 13. Затем, каждый пиксель в блоке классифицируется в соответствующую одну из MBO групп согласно значению яркости рассматриваемого пикселя. Для того чтобы затем определять класс, который является группой, к которой должно добавляться смещение, определяется bo_start_position, показывающее начальную позицию классов. Как показано на фиг. 13, классы определяются в качестве класса 0, класса 1, класса 2, …, и класса LBO-1, начиная с группы, показанной посредством bo_start_position. Однако, LBO - постоянная, показывающая количество классов, и LBO=4 в примере, показанном на фиг. 13.
bo_start_position является частью набора параметров адаптации, который должен быть кодирован, и определяется вместе со значением смещения, которое должно прибавляться к каждому пикселю, принадлежащему к каждому классу, таким образом, что эффект улучшения качества изображения усиливается до максимума. Во время большей постоянной MBO, обеспечивается дополнительно усиленный эффект улучшения качества изображения, так как смещение может устанавливаться для каждой более мелкой единицы, объем кода, требуемый для кодирования bo_start_position увеличивается, так как становится большим диапазон значений, которые могут иметь bo_start_position. Во время большей постоянной LBO, обеспечивается дополнительно усиленный эффект улучшения качества изображения, так как возрастает количество смещений, объем кода, требуемый для кодирования смещений, увеличивается. Поэтому, значения постоянных MBO и LBO заранее устанавливаются в надлежащие значения совместно между устройством кодирования видео и устройством декодирования видео, принимая во внимание компромисс между эффектом улучшения качества изображения и объемом кода. В качестве альтернативы, значения постоянных MBO и LBO могут устанавливаться в качестве части набора параметров адаптации, который должен быть кодирован, вместо подготовки заранее и совместно между устройством кодирования видео и устройством декодирования видео. В этом случае, несмотря на то, что эффект улучшения качества усиливается, так как постоянные MBO и LBO могут устанавливаться адаптивно, объем кода возрастает, так как разрастается информация, которая должна кодироваться.
Затем, фиг. 14 - пояснительный чертеж, показывающий способ EO. На фиг. 14, c показывает пиксель, который является объектом для процесса смещения, а a и b показывают пиксели, прилегающие к пикселю c. Как показано на фиг. 14, четыре типа способов классификации по классам предусмотрены согласно направлениям, в каждом из которых пиксели a, b и c выровнены в линию. Способы, в порядке начала со способа 1, соответствуют способам с 1 по 4 EO, соответственно показанным на фиг. 16. Каждый из способов классификации классифицирует каждый пиксель в блоке в один из пяти типов классов согласно критериям классификации по классам, показанным на фиг. 14, для определения значения смещения, которое должно быть прибавлено к пикселю, принадлежащему к классу.
Значение смещения, которое должно прибавляться к каждому пикселю, принадлежащему к каждому классу, определяется, как проиллюстрировано на фиг. 17, посредством подготовки таблицы, в которой значение смещения, вычисленное для каждого класса, подготовлено заранее и совместно между устройством кодирования видео и устройством декодирования видео, и выбора индекса, указывающего комбинацию значений смещения, которые должны использоваться в качестве информации смещения. Посредством действия таким образом, хотя диапазон значений, которые может иметь каждое смещение, ограничен, процесс высокоточной компенсации искажений может быть реализован наряду с тем, что объем кода, требуемый для кодирования информации смещения, может быть уменьшен по сравнению со случаем кодирования значения смещения просто как есть, посредством надлежащей установки комбинации значений смещения для каждого класса, которая подготовлена в вышеупомянутой таблице. Посредством использования, в качестве способа кодирования вышеупомянутого индекса, который использует узел 13 кодирования с переменной длиной слова, способа бинаризации с учетом диапазона значений символа, который должен кодироваться, такого как усеченный унарный код, показанный на фиг. 25, так как диапазон значений, который может иметь индекс, может быть виден по таблице, подготовленной заранее, может выполняться кодирование, имеющее высокую степень эффективности. Фиг. 25 - пример случая, в котором диапазон значений, которые может иметь символ, который должен кодироваться, установлен в диапазон от 0 до 5.
В это время, таблица, которая подготовлена заранее, может быть общей между всеми способами классификации по классам или может быть разной согласно способам классификации по классам. Например, так как процессы, полностью отличаются между способом BO и способом EO, адаптивное улучшение качества изображения может быть реализовано посредством отдельной подготовки разных таблиц для способов BO и EO. В дополнение, так как расстояния между пикселями a, b, и c различаются между способами 1 и 2 EO и способами 3 и 4 EO в случае использования способа EO, адаптивное улучшение качества изображения может быть реализовано посредством раздельной подготовки таблицы для способов 1 и 2 EO и таблицы для способов 3 и 4 EO. Однако, объем памяти, требуемой для хранения таблиц, увеличивается с возрастанием количества подготовленных таблиц. Поэтому, количество таблиц, которые могут быть подготовлены, ограничено объемом памяти, которая может быть подготовлена в устройстве кодирования видео, и объемом памяти, которая может быть подготовлена в устройстве декодирования видео.
Кроме того, хотя высокоточное улучшение качества изображения может быть реализовано посредством увеличения количества индексов, которые имеет каждая таблица (количества комбинаций смещений для каждого класса), объем кода, требуемый для кодирования индексов, увеличивается с повышением количества индексов, выбираемых в таблице. Поэтому, количество индексов устанавливается заранее и совместно между устройством кодирования видео и устройством декодирования видео, принимая во внимание компромисс между эффектом улучшения качества изображения и объемом кода. Таблица, подготовленная заранее, может быть подготовлена для каждого сигнала цветности. Посредством действия таким образом, надлежащая таблица может подготавливаться для каждого из сигналов цветности, имеющих разные характеристики сигнала, и эффект улучшения качества изображения может усиливаться.
В дополнение, вместо создания табличной ссылки на все смещения, например, могут быть созданы табличные ссылки на смещения согласно только способу EO вышеупомянутым образом наряду с тем, что сами значения смещений согласно способу BO могут кодироваться. Вообще, согласно способу EO, обеспечивается эффект устранения легкого шума на граничном участке, и оптимальное значение смещения слегка отклоняется в направлении малого значения. С другой стороны, согласно способу BO, обеспечивается эффект коррекции компоненты DC сигнала, подпадающего под некоторый диапазон яркости, и оптимальному значению смещения не нужно откланяться в направлении малого значения. Поэтому, табличная ссылка создается только для способа классификации по классам, в котором оптимальное значение смещения отклонено, наряду с тем, что само значение смещения кодируется для способа классификации по классам, в котором оптимальное значение смещения не отклонено, так что получается больший эффект улучшения качества изображения. Согласно способу кодирования по кодированию вышеупомянутого значения смещения, которую использует узел 13 кодирования с переменной длиной слова, посредством установки диапазона значений, которые может иметь смещение, заранее и совместно между устройством кодирования видео и устройством декодирования видео, высокоэффективное кодирование может выполняться посредством использования способа бинаризации, который учитывает диапазон значений, которые имеет символ, который должен кодироваться, такой как усеченный унарный код, показанный на фиг. 25. В противоположность, когда диапазон значений, которые может иметь смещение, не установлен заранее, используется код, который может преобразовываться в двоичный вид без учета диапазона значений символа, который должен кодироваться, такой как унарный код, показанный на фиг. 26.
Кроме того, переключение между таблицами может выполняться посредством использования битовой глубины значения сигнала у сигнала яркости или каждого цветоразностного сигнала во время выполнения процесса кодирования. Значение смещения в случае 9 бит, соответствующих значению смещения 1 в случае 8 битов, имеет значение 2. Однако, есть вероятность, что, даже когда оптимальное значение смещения в случае 8 битов имеет значение 1, оптимальное значение смещения в случае 9 битов имеет значение не 2, но 1 или другое значение. Поэтому, эффект улучшения качества изображения может усиливаться посредством подготовки таблицы для каждой битовой глубины значения сигнала, как показано на фиг. 19. В дополнение, как проиллюстрировано на фиг. 20, посредством использования всего лишь одной таблицы, и предоставления, в качестве варианта выбора, только индекса 0 (0 битов) в случае 8 битов, предоставления, в качестве варианта выбора, индексов 0 и 1 (1 бит) в случае 9 битов, и предоставления, в качестве варианта выбора, индексов от 0 до 4 (2 бита) в случае 10 битов, количество подготовленных таблиц может уменьшаться, и может уменьшаться объем памяти для хранения таблиц. В примерах, показанных на фиг. 19 и 20, так как только индекс 0 предусмотрен в случае 8 битов, кодировать индекс не нужно. Посредством действия таким образом, эффективность кодирования может улучшаться на значение, соответствующее объему кода, требуемому для кодирования индексов.
В процессе адаптивного смещения пикселя, оптимальный способ классификации по классам и оптимальное значение смещения выбираются из вышеупомянутого множества способов классификации по классам и из комбинации оптимальных значений смещения, так что может реализовываться оптимальный процесс компенсации искажений.
Как результат, в процессе адаптивного смещения пикселя, информация разделения на блоки, индекс, указывающий способ классификации по классам для каждого блока и информация смещения о каждом блоке выводятся в узел 13 кодирования с переменной длиной слова в качестве части набора параметров адаптации, который должен быть кодирован. В дополнение, в процессе адаптивного смещения пикселя, когда индекс, указывающий способ классификации по классам для каждого из блоков, показывает способ BO, bo_start_position, показывающий начальную позицию классов, также выводится в узел 13 кодирования с переменной длиной слова в качестве части набора параметров адаптации, который должен быть кодирован. В вышеупомянутом процессе адаптивного смещения пикселя, например, изображение может всегда разделяться на блоки, каждый имеет постоянный размер, такие как наибольшие блоки кодирования, и способ классификации по классам может выбираться для каждого из блоков, и может выполняться процесс адаптивного смещения для каждого класса. В этом случае, вышеупомянутая информация разделения на блоки становится ненужной, и объем кода может быть уменьшен на объем кода, требуемый для информации разделения на блоки.
Кроме того, в процессе адаптивной фильтрации, классификация по классам выполняется над локально декодированным изображением посредством использования предопределенного способа, фильтр для компенсации искажения, наложенного на изображение, назначается для каждой области (локально декодированного изображения), принадлежащей к каждому классу, и процесс фильтрации по фильтрации этого локально декодированного изображения выполняется посредством использования фильтра. Фильтр, назначенный для каждого класса, затем выводится в узел 13 кодирования с переменной длиной слова в качестве части набора параметров адаптации, который должен быть кодирован. В качестве способа классификации по классам, есть простой способ разделения изображения на равные части пространственным образом и способ выполнения классификации на поблочной основе согласно локальным характеристикам (дисперсии, и так далее) изображения. Кроме того, количество классов, используемых в процессе адаптивной фильтрации, может быть установлено заранее в качестве значения, общего между устройством кодирования видео и устройством декодирования видео, или может быть заранее установлено в качестве части набора параметров адаптации, который должен быть кодирован. Эффект улучшения качества изображения в последнем случае усиливается, так как количество классов, используемых в последнем случае, может свободно устанавливаться по сравнению с таковым в первом случае, наряду с тем, что объем кода увеличивается на требуемый для количества классов, так как количество классов кодируется.
В дополнение, классификация по классам для процесса адаптивной фильтрации, и построение фильтра и процесс фильтрации могут выполняться, вместо всего изображения, над каждым блоком, имеющим фиксированный размер, например, каждым наибольшим блоком кодирования. Точнее, классификация по классам может выполняться над каждым набором многочисленных малых блоков, на которые разделяется каждый блок, имеющий фиксированный размер, согласно локальным характеристикам (дисперсии, и так далее) изображения и построению фильтра, и процесс фильтрации может выполняться для каждого класса, фильтр каждого класса может кодироваться, в качестве части набора параметров адаптации, для каждого блока, имеющего фиксированный размер. Посредством действия таким образом, процесс высокоточной фильтрации согласно локальным характеристикам может быть реализован по сравнению со случаем выполнения классификации по классам, построения фильтра и процесса фильтрации на полном изображении.
Устройство кодирования видео повторно выполняет процессы по этапам с ST3 по ST9 до тех пор, пока устройство кодирования видео не завершает обработку на всех блоках Bn кодирования, на которые иерархически разделено введенное изображение, и, при завершении обработки на всех блоках Bn кодирования, переключается на процесс по этапу ST13 (этапам ST11 и ST12).
Узел 13 кодирования с переменной длиной слова осуществляет энтропийное кодирование сжатых данных, выведенных в него из узла 7 преобразования/квантования, информации разделения на блоки о разделении каждого наибольшего блока кодирования на блоки, которая выведена из узла 2 управления кодированием (информации дерева квадрантов, которая показана на фиг. 6(b) в качестве примера), режима m(Bn) кодирования и параметров кодирования разности предсказания, параметра внутреннего предсказания (когда режимом кодирования является режим внутреннего кодирования) или параметра внешнего предсказания (когда режимом кодирования является режим внешнего кодирования), выведенных из узла 2 управления кодированием, и вектора движения, выведенного из узла 5 предсказания с компенсацией движения (когда режимом кодирования является режим внешнего кодирования), и формирует кодированные данные, показывающие такие кодированные результаты (этап ST13).
Узел 13 кодирования с переменной длиной слова также кодирует, в качестве информации заголовка кодированного битового потока, заголовок уровня последовательности, заголовков уровня картинки и наборов параметров адаптации, с тем чтобы формировать кодированный битовый поток вместе с данными картинки, как проиллюстрировано на фиг. 15. Каждые данные картинки состоят из одних или более данных слайса, и каждые данные слайса являются кодированными данными, как упомянуто выше в соответствующем слайсе.
Заголовок уровня последовательности является комбинацией фрагментов информации заголовка, которые типично являются общими на основе по каждой последовательности, фрагменты информации заголовка включают в себя размер изображения, формат сигнала цветности, битовые глубины значений сигналов сигнала яркости и цветоразностных сигналов, и информацию флага о каждом из процессов фильтрации (процессе адаптивной фильтрации, процессе адаптивного смещения пикселя и процессе фильтрации деблокирования), которые выполняются на основе по каждой последовательности узлом 11 контурного фильтра. Каждый заголовок уровня картинки является комбинацией фрагментов информации заголовка, которые установлены на основе по каждой картинке, фрагменты информации заголовка включают в себя индекс, указывающий заголовок уровня последовательности, к которому следует обращаться, количество опорных картинок во время компенсации движения и флаг инициализации таблицы вероятностей для энтропийного кодирования. Каждый заголовок уровня слайса является комбинацией параметров, которые устанавливаются на основе по каждому слайсу, параметры включают в себя информацию позиции, показывающую, в какой позиции картинки существует соответствующий слайс, индекс, указывающий, какой заголовок уровня картинки должен подвергаться обращению, тип кодирования слайса (всякого внутреннего кодирования, внешнего кодирования, или тому подобного), индекс, указывающий набор параметров адаптации, который используется соответствующим слайсом, и информацию флага, показывающую, следует или нет выполнять каждый из процессов фильтрации (процесса адаптивной фильтрации, процесса адаптивного смещения пикселя и процесса фильтрации деблокирования) в узле 11 контурного фильтра с использованием набора параметров адаптации, указанного вышеупомянутым индексом.
Каждый набор параметров адаптации имеет параметры (параметры фильтра), связанные с процессом адаптивной фильтрации, процессом адаптивного смещения пикселя и процессом фильтрации деблокирования, и параметр (параметр матрицы квантования), связанный с матрицей квантования, и также имеет индекс (aps_id), который дает возможность, чтобы каждый из множества наборов параметров адаптации, которые мультиплексированы в кодированный битовый поток, идентифицировался от других. Каждый набор параметров адаптации также имеет флаги (present_flag), показывающие, существуют ли параметры фильтра, связанные соответственно с процессом адаптивной фильтрации, процессом адаптивного смещения фильтра и процессом фильтрации деблокирования, и параметр матрицы квантования, соответственно, и, когда данный флаг показывает «активирован», имеет параметр, соответствующий данному флагу. Поэтому, существует или нет каждый параметр, может свободно устанавливаться в каждом наборе параметров адаптации. Каждый слайс имеет по меньшей мере один индекс (aps_id) в своем заголовке уровня слайса, индекс указывает набор параметров адаптации, к которому должно быть осуществлено обращение во время выполнения процесса декодирования над слайсом. Процесс квантования и процесс обратного квантования, и процесс фильтрации контуров выполняются над каждым слайсом посредством обращения к соответствующему набору параметров адаптации.
Кроме того, при кодировании набора параметров адаптации и мультиплексировании этого кодированного набора параметров адаптации в кодированный битовый поток, если набор параметров адаптации, имеющий тот же самый индекс (aps_id), уже существует в кодированном битовом потоке, этот набор параметров адаптации, имеющий индекс, заменяется вышеупомянутым набором параметров адаптации, который является предметом для кодирования. Поэтому, если уже кодированный набор параметров адаптации не нужен при кодировании нового набора параметров адаптации, посредством кодирования индекса, указывающего ненужный набор параметров адаптации, может выполняться перезапись и обновление набора параметров адаптации. Так как не нужно увеличивать количество наборов параметров адаптации, которые должны храниться, объем используемой памяти может уменьшаться.
В дополнение, при кодировании нового заголовка уровня последовательности (заголовка 2 уровня последовательности) во время изменения последовательности, как показано на фиг. 18, узел 13 кодирования с переменной длиной слова деактивирует все наборы параметров адаптации, которые были закодированы до того, как закодирован этот заголовок уровня последовательности. Поэтому, в примере, показанном на фиг. 18, запрещено обращение к любому набору параметров адаптации через заголовок уровня последовательности, такое как обращение к набору 2 параметров адаптации для кодирования данных 30 картинки. Точнее, когда параметр в наборе параметров адаптации используется для картинки, которая должна быть обработана после того, как закодирован новый заголовок уровня последовательности (заголовок 2 уровня последовательности), необходимо кодировать параметр в качестве нового набора параметров адаптации. Поэтому, набор параметров адаптации, который кодируется вновь, когда прошлый набор параметров адаптации вообще не может использоваться, так как выполнен процесс деактивации по деактивации вышеупомянутого набора параметров адаптации, или тому подобного, является тем, в котором параметр, такой как матрица квантования, не обращается к прошлому набору параметров адаптации, и все параметры могут декодироваться посредством использования только рассматриваемого набора параметров адаптации. Посредством инициализации набора параметров адаптации посредством использования заголовка уровня последовательности во время изменения последовательности таким образом, когда ошибка возникает в кодированном битовом потоке до того, как декодирован новый заголовок уровня последовательности, устройство декодирования видео может избегать ошибки декодирования, вызванной обращением к набору параметров адаптации в потоке, а потому, может улучшать устойчивость к ошибкам.
В качестве альтернативы, заголовок уровня последовательности может быть построен таким образом, чтобы иметь флаг aps_reset_flag инициализации для набора параметров адаптации, тем самым, улучшая устойчивость к ошибкам. Конкретно, только когда флаг aps_reset_flag инициализации установлен в «активирован», набор параметров адаптации инициализируется, тогда как, когда флаг aps_reset_flag инициализации установлен в «деактивирован», набор параметров адаптации не инициализируется. Посредством предоставления флага инициализации для набора параметров адаптации в качестве одного из параметров заголовка уровня последовательности таким образом, может выполняться процесс адаптивной инициализации, а посредством выполнения инициализации, только когда необходимо улучшать устойчивость к ошибкам, может предотвращаться снижение эффективности кодирования, обусловленное инициализацией набора параметров адаптации.
В дополнение, когда выполняется произвольный доступ согласно картинке IDR или картинке CRA, для того чтобы реализовывать ускорение процесса декодирования и обеспечивать улучшение устойчивости к ошибкам, флаг previous_aps_clear_flag для деактивации уже кодированных наборов параметров адаптации предусмотрен в качестве части параметров каждого набора параметров адаптации. Когда флаг previous_aps_clear_flag установлен в «активирован», узел 13 кодирования с переменной длиной слова деактивирует наборы параметров адаптации, закодированные до набора параметров адаптации, тогда как, когда флаг previous_aps_clear_flag установлен в «деактивирован», узел 13 кодирования с переменной длиной слова не выполняет вышеупомянутый процесс деактивации.
Фиг. 24 показывает пример кодированного битового потока, показывающий процесс деактивации по деактивации некоторых наборов параметров адаптации. Предполагается, что, для данных 31 картинки, показанных на фиг. 24, процесс кодирования (декодирования) выполняется, обращаясь к заголовку 2 уровня последовательности, заголовку 3 уровня картинки и набору 21 параметров адаптации. Вообще, единица для доступа к картинке, которая является комбинацией данных картинки и информации заголовка, связанной с данными картинки, которые сформированы вышеупомянутым образом, упоминается как единица доступа. Наборы с 1 по 20 параметров адаптации, которые включены в наборы параметров адаптации, показанные на фиг. 24, деактивированы посредством установки флага previous_aps_clear_flag только набора 21 параметров адаптации в «активирован», обращение к любому из наборов с 1 по 20 параметров адаптации не может производиться для картинок, которые должны быть кодированы по порядку после картинки IDR или картинки CRA. Поэтому, при выполнении произвольного доступа согласно картинке IDR или картинке CRA, необходимо просто выполнять декодирование с заголовка 2 уровня последовательности, показанного на фиг. 24. С другой стороны, когда процесс высокоскоростного декодирования во время произвольного доступа и высокая степень устойчивости к ошибкам не требуются, необходимо просто всегда устанавливать флаг previous_aps_clear_flag в «деактивирован», с тем чтобы не деактивировать наборы параметров адаптации. Поэтому, может быть реализован адаптивный процесс деактивации наборов параметров адаптации посредством использования флага previous_aps_clear_flag.
В вышеупомянутом примере, адаптивный процесс деактивации наборов параметров адаптации для произвольного доступа реализуется посредством использования previous_aps_clear_flag в наборе параметров адаптации. В качестве альтернативы, адаптивный процесс деактивации наборов параметров адаптации для произвольного доступа может быть реализован посредством предоставления флага part_aps_clear_flag для деактивации некоторых наборов параметров адаптации при кодировании (декодировании) картинки IDR или картинки CRA в заголовке уровня последовательности или единице NAL. Конкретно, если флаг part_aps_clear_flag установлен в «активирован», при кодировании картинки IDR или картинки CRA, узел 13 кодирования с переменной длиной слова реализует процесс адаптивной деактивации по деактивации наборов параметров адаптации для произвольного доступа, который является таким же, как в случае использования флага previous_aps_clear_flag, посредством деактивации наборов параметров адаптации, предшествующих данным картинки о картинке, непосредственно предшествующей картинке IDR или картинке CRA. Точнее, в примере, показанном на фиг. 24, посредством установки флага part_aps_clear_flag в заголовке 2 уровня последовательности или единице NAL данных 31 картинки в «активирован», наборы параметров адаптации, предшествующие данным 30 картинки, которые являются данными, непосредственно предшествующими данным 31 картинки, деактивированы при кодировании данных 31 картинки. Поэтому, для картинок, которые должны быть кодированы по порядку после картинки IDR или картинки CRA, обращение к любому одному из наборов с 1 по 20 параметров адаптации производиться не может. Точнее, наборы параметров адаптации, предшествующие единице доступа, включающей в себя данные картинки о картинке IDR иди картинке CRA, деактивированы, и обращение производиться не может.
Поэтому, при выполнении произвольного доступа согласно картинке IDR или картинке CRA, необходимо просто выполнять декодирование с заголовка 2 уровня последовательности, показанного на фиг. 24.
В вышеупомянутом пояснении, процесс деактивации по деактивации наборов параметров адаптации выполняется, когда флаг part_aps_clear_flag установлен в «активирован». В качестве альтернативы, вместо размещения флага, как упомянуто выше, процесс деактивации по деактивации наборов параметров адаптации всегда может выполняться при кодировании картинки IDR или картинки CRA. Посредством действия таким образом, объем кода сокращается на объем кода, требуемый для кодирования флага, как упомянуто выше. Кроме того, процесс обращения к флагу, как упомянуто выше, при выполнении процесса кодирования становится ненужным, и устройство кодирования видео упрощается.
В дополнение, в качестве еще одного способа реализации процесса деактивации по деактивации наборов параметров адаптации согласно картинке IDR или картинке CRA, может быть предусмотрен способ построения устройства кодирования видео, которое предусматривает параметр aps_group_id в каждом наборе параметров адаптации. В вышеупомянутом устройстве кодирования видео, как показано на фиг. 27, вышеупомянутый параметр размещен в каждом наборе параметров адаптации и, при кодировании картинки IDR или картинки CRA, узел 13 кодирования с переменной длиной слова деактивирует набор параметров адаптации, имеющий aps_group_id, чье значение отличается от значения aps_group_id, которое имеет другой набор параметров адаптации, к другому набору параметров адаптации осуществляется обращение картинкой IDR или картинкой CRA. Например, в случае, показанном на фиг. 24, посредством установки параметров aps_group_id из наборов с 1 по 20 параметров адаптации в ноль, и также установки параметров aps_group_id из набора 21 параметров адаптации и последующих наборов параметров адаптации в единицу, узел кодирования с переменной длиной слова деактивирует наборы с 1 по 20 параметров адаптации, чьи параметры aps_group_id (=0) отличаются от параметра aps_group_id (=1) из набора 21 параметров адаптации, когда к набору 21 параметров адаптации осуществляется обращение данными 31 картинки о картинке IDR или картинке CRA. Поэтому, к наборам с 1 по 20 параметров адаптации не осуществляется обращение данными 31 картинки и данными последующих картинок.
Посредством соответственного выполнения кодирования таким образом в отношении изменения значения параметра aps_group_id из набора параметров адаптации согласно картинке IDR или картинке CRA, обращение к наборам параметров адаптации ограничивается, и устройству декодирования видео дается возможность правильно декодировать предопределенный кадр и последующие картинки при начале декодирования с единицы доступа, включающей в себя данные картинки о картинке IDR или картинке CRA. Aps_group_id, в качестве альтернативы, может быть флагом, имеющим только значение 0 или 1. В этом случае, подобный процесс деактивации по деактивации наборов параметров адаптации может быть реализован посредством переключения вышеупомянутого флага, который имеет набор параметров адаптации согласно картинке IDR или картинке CRA, с 0 на 1 или с 1 на 0.
Посредством способа вставки aps_group_id, как упомянуто выше, декодирование может выполняться правильно, даже когда порядок данных в кодированном битовом потоке, который принимается устройством декодирования видео, изменен с порядка данных, кодированных устройством кодирования видео по причине передачи кодированного битового потока наряду с распространением кодированного битового потока среди множества линий, или тому подобного. Конкретно, даже в случае, в котором кодированный битовый поток, в котором данные кодируются в порядке по фиг. 24, был изменен в тот, в котором наборы 21 и 22 параметров адаптации должны декодироваться раньше данных 30 картинки при достижении устройства декодирования видео, как показано на фиг. 28, наборы с 1 по 20 параметров адаптации, чьи параметры aps_group_id (=0) отличаются от такового из набора 21 параметров адаптации, могут деактивироваться надлежащим образом, когда к набору 21 параметров адаптации осуществляется обращение данными 31 картинки о картинке IDR или картинке CRA. В соответствии со способом вставки aps_group_id, как упомянуто выше, когда более высокий приоритет отдан эффективности кодирования, чем устойчивости к ошибкам, уменьшение эффективности кодирования вследствие ограничений, наложенных на наборы параметров адаптации, к которым может быть осуществлено обращение, может предотвращаться, так как наборам параметров адаптации не нужно деактивироваться посредством выполнения кодирования таким образом, чтобы значения параметров aps_group_id из наборов параметров адаптации не изменялись согласно картинке IDR или картинке CRA. Кроме того, устройство кодирования видео, которое имеет параметр aps_group_id в каждом наборе параметров адаптации, может быть построено таким образом, чтобы деактивировать набор параметров адаптации, чей параметр aps_group_id имеет значение, отличное от значения параметра aps_group_id, к которому также необходимо обращаться, когда декодируется картинка, отличной от картинки IDR и картинки CRA. Посредством действия таким образом, устройство кодирования видео может выполнять процесс адаптивной деактивации по деактивации наборов параметров адаптации посредством произвольной установки временных характеристик, с которыми следует изменять параметр aps_group_id набора параметров адаптации, и может реализовывать адаптивный процесс, обладающий устойчивостью к ошибкам.
В дополнение, устройство кодирования видео может быть сконструировано таким образом, что, при кодировании картинки IDR или картинки CRA, узел 13 кодирования с переменной длиной слова деактивирует наборы параметров адаптации, имеющие индексы, меньшие, чем индекс (aps_id) параметра адаптации, к которому должно быть осуществлено обращение картинкой IDR или картинкой CRA, в качестве еще одного способа реализации процесса деактивации по деактивации наборов параметров адаптации согласно картинке IDR или картинке CRA. Точнее, в случае, в котором индексы назначены наборам параметров адаптации в порядке, в котором эти наборы параметров адаптации закодированы в примерах по фиг. 24 и 28, когда к набору 21 параметров адаптации осуществляется обращение данными 31 картинки о картинке IDR или картинке CRA, деактивируются наборы с 1 по 20 параметров адаптации, имеющие индексы, меньшие, чем индекс набора 21 параметров адаптации. Поэтому, к наборам с 1 по 20 параметров адаптации не осуществляется обращение данными 31 картинки и данными последующих картинок, и устройство декодирования видео может всегда и правильно декодировать предопределенную картинку и последующие картинки при начале декодирования с единицы доступа, включающей в себя данные 31 картинки о картинке IDR или картинке CRA.
В дополнение, узел 13 кодирования с переменной длиной слова может быть построен таким образом, чтобы, вместо кодирования параметра матрицы квантования в качестве набора параметров адаптации, кодировать параметр матрицы квантования в заголовке уровня последовательности в качестве параметра, который может изменяться на основе по каждой картинке. Посредством действия таким образом, узел кодирования с переменной длиной слова может кодировать параметр матрицы квантования и параметры фильтра соответственно в независимых единицах. В этом случае, такие же процессы, как процесс инициализации набора параметров адаптации, использующий заголовок уровня последовательности, и процесс деактивации по деактивации наборов параметров адаптации согласно картинке IDR или CRA, которые пояснены выше, также выполняются над параметром матрицы квантования.
Кроме того, узел 13 кодирования с переменной длиной слова может быть построен таким образом, чтобы, вместо кодирования параметров фильтра, которые используются в узле 11 контурного фильтра, в качестве набора параметров адаптации, кодировать параметры фильтра, которые используются на основе по каждому слайсу, посредством прямого использования данных слайса о заголовке уровня слайса, или тому подобного. Посредством действия таким образом, так как становится необязательным кодировать индексы, каждый обращается к набору параметров адаптации, к которому следует обращаться во время процесса декодирования, над каждым слайсом, который является одним заголовком уровня слайса для параметров фильтра, которые используются в узле 11 контурного фильтра, когда не существует избыточных параметров фильтра между слайсами, объем кода индексов может уменьшаться, а эффективность кодирования может улучшаться.
Затем, будет пояснена подробно обработка, выполняемая узлом 4 внутреннего предсказания. Фиг. 7 - пояснительный чертеж, показывающий пример режимов внутреннего предсказания, каждый из которых является параметром внутреннего предсказания, который может выбираться для каждого блока Pin предсказания в блоке Bn кодирования. На фигуре, NI показывает количество режимов внутреннего предсказания. На фиг. 7, показаны значения индексов режимов внутреннего предсказания и векторы движения, представленные каждым из режимов внутреннего предсказания. В примере по фиг. 7, запланировано, что относительный угол между векторами направления предсказания становится малым с повышением количества выбираемых режимов внутреннего предсказания.
Узел 4 внутреннего предсказания выполняет процесс внутреннего предсказания над каждым блоком Pin предсказания посредством обращения к параметру внутреннего предсказания блока Pin предсказания для формирования изображения PINTRAin внутреннего предсказания, как упомянуто выше. В дальнейшем, будет пояснен внутренний (интра-) процесс формирования сигнала внутреннего предсказания блока Pin предсказания в сигнале яркости.
Предполагается, что размер блока Pin предсказания имеет значение lin×min пикселей. Фиг. 8 - пояснительный чертеж, показывающий пример пикселей, которые используются при формировании предсказанного значения каждого пикселя в блоке Pin предсказания в случае lin=min=4. Хотя (2×lin+1) уже кодированных пикселей, расположенных над блоком Pin предсказания, и (2×min) уже кодированных пикселей, расположенных слева от блока Pin предсказания, установлены в качестве пикселей, используемых для предсказания в примере по фиг. 8, большее или меньшее количество пикселей, чем пиксели, показанные на фиг. 8, может использоваться для предсказания. Кроме того, хотя одна строка или столбец пикселей, прилегающих к блоку Pin предсказания, используются для предсказания в примере, показанном на фиг. 8, две или более строк или столбцов пикселей, прилегающих к блоку Pin предсказания, могут использоваться для предсказания в качестве альтернативы.
Когда значением индекса, указывающим режим внутреннего предсказания для блока Pin предсказания, является 0 (планарное предсказание), узел внутреннего предсказания использует уже кодированные пиксели, прилегающие сверху от блока Pin предсказания, и уже кодированные пиксели, прилегающие слева от блока Pin предсказания, с тем чтобы определять значение, интерполированное согласно расстоянию между этими пикселями и целевым пикселем, который должен быть предсказан, в блоке Pin предсказания, в качестве предсказанного значения и формирует изображение предсказания. Кроме того, когда значением индекса, указывающим режим внутреннего предсказания для блока Pin предсказания, является 2 (среднее предсказание (DC)), узел внутреннего предсказания определяет среднее значение уже кодированных пикселей, прилегающих сверху от блока Pin предсказания, и уже кодированных пикселей, прилегающих слева от блока Pin предсказания, в качестве предсказанного значения каждого пикселя в блоке Pin предсказания, с тем чтобы формировать изображение предсказания.
Когда значение индекса, указывающее режим внутреннего предсказания, является иным, чем 0 (планарное предсказание) и 2 (среднее предсказание), узел внутреннего предсказания формирует предсказанное значение каждого пикселя в блоке Pin предсказания на основе вектора υp=(dx, dy) направления предсказания, показанного значением индекса. Как показано на фиг. 9, когда относительные координаты каждого пикселя в блоке Pin предсказания выражены в качестве (x, y) относительно пикселя в верхнем левом углу блока Pin предсказания, являющегося определенным в качестве начала координат, каждый опорный пиксель, который используется для предсказания, располагается в точке пересечения L, показанной ниже, и смежного пикселя.
где k - отрицательное скалярное значение.
Когда опорный пиксель находится в позиции целого пикселя, значение соответствующего целого пикселя определяется в качестве предсказанного значения целевого пикселя, который должен предсказываться, тогда как, когда опорный пиксель не находится в позиции целого пикселя, значение пикселя интерполяции, сформированного из целых пикселей, которые являются прилегающими к опорному пикселю, определяется в качестве предсказанного значения целевого пикселя, который должен предсказываться. В примере, показанном на фиг. 8, так как опорный пиксель не расположен в положении целого пикселя, предсказанное значение интерполируется из значений двух пикселей, прилегающих к опорному пикселю. Узел внутреннего предсказания может использовать не только прилегающие два пикселя, но также один или более прилегающих пикселей, для формирования пикселя интерполяции и определения значения этого пикселя интерполяции в качестве предсказанного значения. Несмотря на увеличение количества пикселей, используемых для процесса интерполяции, дает преимущество улучшения точности интерполяции пикселя интерполяции, так как степень сложности вычислений, требуемых для процесса интерполяции, возрастает с увеличением количества пикселей, используемых для процесса интерполяции, предпочтительно формировать пиксель интерполяции из большего количества пикселей в случае, в котором устройство кодирования видео требует высокой производительности кодирования, даже если высока арифметическая нагрузка.
Благодаря процессу, описанному выше, узел внутреннего предсказания формирует пиксели предсказания для всех пикселей сигнала яркости в блоке Pin предсказания и выводит изображение PINTRAin внутреннего предсказания. Параметр внутреннего предсказания (режим внутреннего предсказания), используемый для формирования изображения PINTRAin внутреннего предсказания, выводится в узел 13 кодирования с переменной длиной слова, для того чтобы мультиплексировать параметр внутреннего предсказания в битовый поток.
Как в случае выполнения процесса сглаживания над опорным изображением во время выполнения внутреннего предсказания над блоком 8×8 пикселей в изображении, которое соблюдает MPEG-4 AVC/H.264, поясненные ранее, даже в случае, в котором уже кодированный пиксель, прилегающий к блоку Pin предсказания, над которым выполняется процесс сглаживания, предусмотрен в качестве опорного пикселя во время формирования промежуточного изображения предсказания блока Pin предсказания, узел 4 внутреннего предсказания может выполнять процесс фильтрации, который является таким же, как вышеупомянутый пример, над промежуточным изображением предсказания.
Узел внутреннего предсказания также выполняет процесс внутреннего предсказания на основании параметра внутреннего предсказания (режима внутреннего предсказания) над каждым из цветоразностных сигналов блока Pin предсказания согласно такой же процедуре, как процедура, согласно которой узел внутреннего предсказания выполняет процесс внутреннего предсказания над сигналом яркости, и выводит параметр внутреннего предсказания, используемый для формирования изображения внутреннего предсказания, в узел 13 кодирования с переменной длиной слова. Однако, выбираемые параметры внутреннего предсказания (режимы внутреннего предсказания) для каждого из цветоразностных сигналов могут отличаться от таковых для сигнала яркости. Например, в случае формата YUV 4:2:0, каждый из цветоразностных сигналов (сигналов U и V) является сигналом, чье разрешение уменьшается до половины разрешения сигнала яркости (сигнала Y), как в горизонтальном направлении, так и в вертикальном направлении, и сложность каждого из цветоразностных сигналов является более низкой, чем у сигнала яркости, а отсюда, предсказание может выполняться над каждым из цветоразностных сигналов легче, чем над сигналом яркости. Поэтому, посредством уменьшения количества выбираемых параметров внутреннего предсказания (режимов внутреннего предсказания) для каждого из цветоразностных сигналов, чтобы было меньшим, чем для сигнала яркости, может реализовываться уменьшение объема кода, требуемого для кодирования параметра внутреннего предсказания (режима внутреннего предсказания) и уменьшение объема вычислений, требуемых для выполнения процесса предсказания.
Затем, будет конкретно описана обработка, выполняемая устройством кодирования видео, показанным на фиг. 3. При приеме битового потока, сформированного устройством кодирования видео, показанным на фиг. 1, узел 31 декодирования с переменной длиной слова выполняет процесс декодирования с переменной длиной слова над битовым потоком (этап ST21 по фиг. 4) и декодирует информацию заголовка (заголовка уровня последовательности) о каждой последовательности, состоящей из одного или более кадров из картинок, такую как информация о размере кадра, информация заголовка о каждой картинке (заголовка уровня картинки) и параметры фильтра для использования в узле 38 контурного фильтра, и параметр матрицы квантования, которые кодируются в качестве набора параметров адаптации. В это время, по параметру матрицы квантования в каждом наборе параметров адаптации, декодированном с переменной длиной слова узлом 31 декодирования с переменной длиной слова, устройство декодирования видео задает матрицу квантования из набора параметров адаптации. Конкретно, для каждого из сигналов цветности и для каждого режима кодирования при каждом размере ортогонального преобразования, устройство декодирования видео задает матрицу квантования, для которой подготовлен параметр матрицы квантования, в качестве начального значения, заранее и совместно между устройством кодирования видео и устройством декодирования видео. В качестве альтернативы, когда параметр матрицы квантования показывает, что матрица квантования является уже кодированной (матрица квантования не является новой), устройство декодирования видео задает матрицу квантования посредством обращения к информации индекса, задающей, какая матрица квантования из вышеупомянутых матриц, включенных в вышеупомянутый набор параметров адаптации, является матрицей квантования, и, когда параметр матрицы квантования показывает, что используется новая матрица квантования, задает, в качестве матрицы квантования, которая должна использоваться, матрицу квантования, включенную в параметр матрицы квантования. Устройство декодирования видео, в таком случае, декодирует информацию заголовка (заголовок уровня слайса) о каждом слайсе, такую как информация разделения на слайсы, из каждых данных слайса, которые составляют данные о каждой картинке, и декодирует кодированные данные о каждом слайсе. В это время, устройство декодирования видео задает набор параметров адаптации, который должен использоваться для каждого слайса посредством обращения к индексу (aps_id) набора параметров адаптации, существующего в заголовке уровня слайса. В случае, в котором устройство кодирования видео, показанное на фиг. 1, кодирует параметры фильтра, которые используются на основе по каждому слайсу посредством прямого использования данных слайса, вместо кодирования параметров фильтра, которые используются узлом 38 контурного фильтра в качестве набора параметров адаптации, устройство декодирования видео декодирует параметры фильтра, которые используются узлом 38 контурного фильтра, из данных слайса.
Узел 31 декодирования с переменной длиной слова также определяет наибольший размер блока кодирования и верхний предел по количеству иерархий разделения, которые определяются узлом 2 управления кодированием устройства кодирования видео, показанного на фиг. 1, согласно такой же процедуре, как процедура согласно которой действует устройство кодирования видео (этап ST22). Например, когда наибольший размер блока кодирования и верхний предел по количеству иерархий разделения определяются согласно разрешению видеосигнала, узел декодирования с переменной длиной слова определяет наибольший размер блока кодирования на основе декодированной информации размера кадра и согласно такой же процедуре, как процедура, согласно которой действует устройство кодирования видео. Когда наибольший размер блока кодирования и верхний предел по количеству иерархий разделения мультиплексированы в заголовок уровня последовательности устройством кодирования видео, узел декодирования с переменной длиной слова использует значения, декодированные из вышеупомянутого заголовка. В дальнейшем, вышеупомянутый наибольший размер блока кодирования упоминается как наибольший размер блока декодирования, а наибольший блок кодирования упоминается как наибольший блок декодирования в устройстве декодирования видео. Узел 31 декодирования с переменной длиной слова декодирует состояние разделения наибольшего блока декодирования, как показано на фиг. 6, для каждого определенного наибольшего блока декодирования. Узел декодирования с переменной длиной слова иерархически задает блоки декодирования (то есть, блоки, соответствующие «блокам кодирования», которые обрабатываются устройством кодирования видео, показанным на фиг. 1) на основе декодированного состояния разделения (этап ST23).
Узел 31 декодирования с переменной длиной слова затем декодирует режим кодирования, назначенный на каждый блок декодирования. Узел декодирования с переменной длиной слова разделяет каждый блок декодирования на один или более блоков предсказания, каждый из которых является единицей для процесса предсказания, на основании информации, включенной в декодированный режим кодирования, и декодирует параметр предсказания, назначенный каждому из одного или более блоков предсказания (этап ST24).
Точнее, когда режим кодирования, назначенный на блок декодирования является режимом внутреннего кодирования, узел 31 декодирования с переменной длиной слова декодирует параметр внутреннего предсказания для каждого одного или более блоков предсказания, которые включены в блок декодирования, и каждый из которых является единицей для процесса предсказания. В противоположность, когда режим кодирования, назначенный на блок декодирования, является режимом внешнего кодирования, узел декодирования с переменной длиной слова декодирует параметр внутреннего предсказания и вектор движения для каждого одного или более блоков предсказания, которые включены в блок декодирования, и каждый из которых является единицей для процесса предсказания (этап ST24).
Узел 31 декодирования с переменной длиной слова дополнительно декодирует сжатые данные (преобразованные и квантованные коэффициенты преобразования) каждого блока ортогонального преобразования на основе информации разделения на блоки ортогонального преобразования, включенной в параметры кодирования разности предсказания (этап ST24).
Когда режим m(Bn) кодирования, декодированный с переменной длиной слова узлом 31 декодирования с переменной длиной слова, является режимом внутреннего кодирования (когда m(Bn)∈INTRA), переключатель 33 выбора выводит параметр внутреннего предсказания каждого блока предсказания, который декодирован с переменной длиной слова узлом 31 декодирования с переменной длиной слова, в узел 34 внутреннего предсказания. В противоположность, когда режим m(Bn) кодирования, декодированный с переменной длиной слова узлом 31 декодирования с переменной длиной слова, является режимом внешнего кодирования (когда m(Bn)∈INTER), переключатель выбора выводит параметр внешнего предсказания и вектор движения каждого блока предсказания, которые декодированы с переменной длиной слова узлом 31 декодирования с переменной длиной слова, в узел 35 компенсации движения.
Когда режим m(Bn) кодирования, декодированный с переменной длиной слова узлом 31 декодирования с переменной длиной слова, является режимом (m(Bn)∈INTRA) внутреннего кодирования (этап ST25), узел 34 внутреннего предсказания принимает параметр внутреннего предсказания каждого блока предсказания, выведенного из переключателя 33 выбора, и выполняет процесс внутреннего предсказания над каждым блоком Pin предсказания в блоке Bn декодирования с использованием вышеупомянутого параметра внутреннего предсказания наряду с обращением к декодированному изображению, хранимому в памяти 37 для внутреннего предсказания, чтобы формировать изображение PINTRAin внутреннего предсказания согласно такой же процедуре, как процедура, которую использует узел 4 внутреннего предсказания, показанный на фиг. 1 (этап ST26).
Когда режим m(Bn) кодирования, декодированный с переменной длиной слова узлом 31 декодирования с переменной длиной слова, является режимом (m(Bn) ∈INTER) внешнего кодирования (этап ST25), узел 35 компенсации движения принимает вектор движения и параметр внешнего предсказания каждого блока предсказания, которые выведены из переключателя 33 выбора, и выполняет процесс внешнего предсказания над каждым блоком Pin предсказания в блоке Bn декодирования с использованием вышеупомянутого вектора движения и вышеупомянутого параметра внешнего предсказания наряду с обращением к декодированному изображению, хранимому в памяти 39 кадров предсказания с компенсацией движения, и над которым выполнен процесс фильтрации, чтобы формировать изображение PINTERin внешнего предсказания (этап ST27).
При приеме сжатых данных и параметров кодирования разности предсказания из узла 31 декодирования с переменной длиной слова, узел 32 обратного квантования/обратного преобразования осуществляет обратное квантование сжатых данных о каждом блоке ортогонального преобразования посредством обращения к параметру квантования и информации разделения на блоки ортогонального преобразования, которые включены в параметры кодирования разности предсказания, согласно такой же процедуре, как процедура, согласно которой действует узел 8 обратного квантования/обратного преобразования, показанный на фиг. 1. В это время, узел обратного квантования/обратного преобразования обращается к каждой информации заголовка, декодированной с переменной длиной слова узлом 31 декодирования с переменной длиной слова, и, когда эта информация заголовка показывает, что процесс обратного квантования выполняется над соответствующим слайсом посредством использования матрицы квантования, выполняет процесс обратного квантования посредством использования матрицы квантования.
В это время, узел обратного квантования/обратного преобразования задает матрицу квантования, которая должна использоваться для каждого из сигналов цветности и для каждого режима кодирования (внутреннего кодирования, внешнего кодирования) при каждом размере ортогонального преобразования посредством обращения к каждой информации заголовка, декодированной с переменной длиной слова узлом 31 декодирования с переменной длиной слова. Конкретно, матрица квантования, которая задана по заголовку уровня слайса, для набора параметров адаптации, к которому осуществляется обращение слайсом, обрабатываемым на данный момент, устанавливается в качестве матрицы квантования, которая должна использоваться для слайса. Узел 32 обратного квантования/обратного преобразования также выполняет процесс обратного ортогонального преобразования над коэффициентами преобразования каждого блока ортогонального преобразования, которые являются сжатыми данными, обратное квантование которых осуществляет узел обратного квантования/обратного преобразования для вычисления декодированного сигнала разности предсказания, который является таким же, как локально декодированный сигнал разности предсказания, выведенный из узла 8 обратного квантования/обратного преобразования, показанного на фиг. 1 (этап ST28).
Узел 36 сложения складывает декодированный сигнал разности предсказания, вычисленный узлом 32 обратного квантования/обратного преобразования, и изображение PINTRAin внутреннего предсказания, сформированное узлом 34 внутреннего предсказания, либо изображение PINTERin внешнего предсказания, сформированное узлом 35 компенсации движения, для вычисления декодированного изображения и выводит декодированное изображение в узел 38 контурного фильтра, а также сохраняет декодированное изображение в памяти 37 для внутреннего предсказания (этап ST29). Декодированное изображение является декодированным сигналом изображения, который используется во время последующих процессов внутреннего предсказания.
При завершении процессов по этапам с ST23 по ST29 на всех блоках Bn декодирования (этап ST30), узел 38 контурного фильтра выполняет предопределенный процесс фильтрации над декодированным изображением, выведенным из узла 36 сложения, и сохраняет декодированное изображение, в силу этого обработанное фильтрацией, в памяти 39 кадров предсказания с компенсацией движения (этап ST31). Конкретно, узел контурного фильтра выполняет процесс фильтрации (фильтрации деблокирования) по уменьшению искажения, происходящего на границе между блоками ортогонального преобразования, и искажения, возникающего на границе между блоками предсказания, процесс (процесс адаптивного смещения пикселя) адаптивного прибавления смещения к каждому пикселю, процесс адаптивной фильтрации по адаптивному переключению между линейными фильтрами, такими как фильтры Винера, и выполнению процесса фильтрации, и так далее. Однако, для каждого из вышеупомянутых процессов фильтрации, в том числе, процесса фильтрации деблокирования, процесса адаптивного смещения пикселя и процесса адаптивной фильтрации, узел 38 контурного фильтра задает, следует или нет выполнять процесс над слайсом, обрабатываемым на данный момент, посредством обращения к каждой информации заголовка, декодированной с переменной длиной слова узлом 31 декодирования с переменной длиной слова. В это время, в случае, в котором узел 11 контурного фильтра устройства кодирования видео построен как показано на фиг. 11, узел 38 контурного фильтра построен как показано на фиг. 12 в случае выполнения двух или более процессов фильтрации.
В процессе фильтрации деблокирования, при обращении к набору параметров адаптации, к которому необходимо обращаться слайсом, обрабатываемым на данный момент, и существует информация изменения для изменения различных параметров, используемых для выбора интенсивности фильтра, применяемого к границе блока, от их начальных значений, узел контурного фильтра выполняет процесс фильтрации деблокирования на основании информации изменения. Когда информации изменения не существует, узел контурного фильтра выполняет процесс фильтрации деблокирования согласно предопределенному способу.
В процессе адаптивного смещения пикселя, узел контурного фильтра обращается к набору параметров адаптации, к которому необходимо обращаться слайсом, обрабатываемым на данный момент, разделяет декодированное изображение на блоки на основании информации разделения на блоки, включенной в набор параметров адаптации, обращается к индексу, включенному в набор параметров адаптации и указывающему способ классификации по классам каждого из блоков на поблочной основе, и, когда индекс не показывает «не выполнять процесс смещения», выполняет классификацию по классам над каждым пикселем в каждом из блоков согласно способу классификации по классам, указанному вышеупомянутым индексом, на поблочной основе. В качестве возможных вариантов для способа классификации по классам, способы классификации по классам, которые являются такими же, как возможные варианты для способа классификации по классам процесса адаптивного смещения пикселя, выполняемого узлом 11 контурного фильтра, подготовлены заранее.
Узел 38 контурного фильтра затем обращается к информации смещения, задающей смещение, вычисленное для каждого класса, определенного на поблочной основе и включенного в набор параметров адаптации, и выполняет процесс прибавления смещения к значению яркости декодированного изображения. Однако, в случае, в котором процесс адаптивного смещения пикселя, выполняемый узлом 11 контурного фильтра устройства кодирования видео, построен таким образом, чтобы всегда разделять изображение на блоки, каждый имеет фиксированный размер (например, наибольшие блоки кодирования), без кодирования информации разделения на блоки, выбирать способ классификации по классам для каждого из блоков и выполнять процесс адаптивного смещения для каждого класса, узел 38 контурного фильтра также выполняет процесс адаптивного смещения пикселя над каждым блоком, имеющим такой же фиксированный размер, как обрабатываемый узлом 11 контурного фильтра.
В процессе адаптивной фильтрации, узел контурного фильтра обращается к набору параметров адаптации, к которому необходимо обращаться слайсом, обрабатываемым на данный момент, и, после выполнения классификации по классам согласно такому же способу, как используемый устройством кодирования видео по фиг. 1, выполняет процесс фильтрации посредством использования фильтра для каждого класса, включенного в набор параметров адаптации, на основе информации о классификации по классам. Однако, в случае, в котором, в процессе адаптивной фильтрации, выполняемым узлом 11 контурного фильтра устройства кодирования видео, вышеупомянутая классификация по классам и построение фильтра, и процесс фильтрации построены таким образом, чтобы выполняться над, вместо всего изображения, каждым блоком, имеющим фиксированный размер, например, каждым наибольшим блоком кодирования, узел 38 контурного фильтра также декодирует фильтр, используемый для каждого класса, и выполняет вышеупомянутую классификацию по классам и вышеупомянутый процесс фильтрации над каждым блоком, имеющим фиксированный размер, который является таким же, как обрабатываемый узлом 11 контурного фильтра. Декодированное изображение, над которым выполнен процесс фильтрации этим узлом 38 контурного фильтра, является опорным изображением для предсказания с компенсацией движения, и также является воспроизведенным изображением.
Когда новый заголовок уровня последовательности (заголовок 2 уровня последовательности) вставлен в некоторую среднюю точку в кодированном битовом потоке вследствие изменения последовательности, как показано на фиг. 18, узел 31 декодирования с переменной длиной слова деактивирует все наборы параметров адаптации, уже декодированные при декодировании нового заголовка уровня последовательности. Поэтому, в примере, показанном на фиг. 18, не производится обращение к набору параметров адаптации через заголовок уровня последовательности, такое как обращение к набору 2 параметров адаптации во время декодирования данных 30 картинки. В дополнение, набор параметров адаптации, который декодирован, когда прошлые наборы параметров адаптации совсем не могут использоваться благодаря вышеупомянутому процессу деактивации по деактивации наборов параметров адаптации, или тому подобному, является тем, в котором параметры, в том числе, матрица квантования, не обращаются к прошлому набору параметров адаптации, и который дает возможность декодировать все параметры посредством использования только рассматриваемого набора параметров адаптации. Это ограничение может предотвращать возникновение ошибки декодирования, когда ошибка возникает в части кодированного битового потока, предшествующей новому заголовку уровня последовательности, в результате обращения к набору параметров адаптации в части битового потока, тем самым, будучи способным улучшать устойчивость к ошибкам. Однако, в случае, в котором устройство кодирования видео построено таким образом, чтобы иметь флаг aps_reset_flag инициализации для каждого набора параметров адаптации в заголовке уровня последовательности, каждый набор параметров адаптации инициализируется, только когда его флаг aps_reset_flag, декодированный узлом 31 декодирования с переменной длиной слова, установлен в «активирован», тогда как каждый набор параметров адаптации не инициализируется, когда его флаг aps_reset_flag установлен в «деактивирован». Посредством действия таким образом, устройство декодирования видео может правильно декодировать поток, сформированный устройством кодирования видео, которое выполняет процесс адаптивной инициализации с использованием флага aps_reset_flag инициализации для каждого набора параметров адаптации.
В дополнение, в случае, в котором устройство кодирования видео построено таким образом, чтобы иметь, в качестве части параметров каждого набора параметров адаптации, флаг previous_aps_clear_flag для деактивации уже декодированных наборов параметров адаптации, когда previous_aps_clear_flag, декодированный узлом 31 декодирования с переменной длиной слова, установлен в «активирован», узел 31 декодирования с переменной длиной слова деактивирует наборы параметров адаптации, декодированные до набора параметров адаптации, тогда как, когда previous_aps_clear_flag установлен в «деактивирован», узел декодирования с переменной длиной слова не выполняет вышеупомянутый процесс деактивации. Точнее, в примере кодированного битового потока, показанного на фиг. 24, когда узел 13 кодирования с переменной длиной слова устройства кодирования видео закодировал флаг previous_aps_clear_flag набора 21 параметров адаптации в качестве «активированного», наборы с 1 по 20 параметров адаптации деактивируются, и обращение к наборам с 1 по 20 параметров адаптации не производится для картинок, которые должны быть кодированы по порядку после картинки IDR или картинки CRA. Поэтому, произвольный доступ согласно картинке IDR или картинке CRA может быть реализован при декодировании из заголовка 2 уровня последовательности, который является заголовком единицы доступа, включающей в себя данные 31 картинки о картинке IDR или картинке CRA.
В качестве альтернативы, в случае, в котором устройство кодирования видео построено таким образом, чтобы реализовывать процесс деактивации по деактивации наборов параметров адаптации для произвольного доступа посредством предоставления флага part_aps_clear_flag для деактивации некоторых наборов параметров адаптации при декодировании картинки IDR или картинки CRA в заголовке уровня последовательности или единице NAL, когда флаг part_aps_clear_flag, декодированный узлом 31 декодирования с переменной длиной слова во время декодирования картинки IDR или картинки CRA, установлен в «активирован», узел 31 декодирования с переменной длиной слова деактивирует наборы параметров адаптации, предшествующие данным картинки о картинке, непосредственно предшествующей картинке IDR или картинке CRA. Точнее, в примере, показанном на фиг. 24, когда узел 13 кодирования с переменной длиной слова устройства кодирования видео закодировал флаг part_aps_clear_flag в заголовке 2 уровня последовательности или единице NAL данных 31 картинки в качестве «активированного», наборы параметров адаптации, предшествующие данным 30 картинки, которые являются данными картинки, непосредственно предшествующими данным 31 картинки, деактивируются при декодировании данных 31 картинки. Поэтому, обращение к наборам с 1 по 20 параметров адаптации не производится для картинок, которые должны быть декодированы по порядку после картинки IDR или картинки CRA, и произвольный доступ согласно картинке IDR или картинке CRA может быть реализован при декодировании из заголовка 2 уровня последовательности. Однако, в случае, в котором устройство кодирования видео построено таким образом, чтобы всегда выполнять процесс деактивации по деактивации наборов параметров адаптации при кодировании картинки IDR или картинки CRA, не предусматривая флага, как приведенный выше, устройство декодирования видео может быть построено таким образом, что узел 31 декодирования с переменной длиной слова выполняет вышеупомянутый процесс деактивации по деактивации наборов параметров адаптации при декодировании картинки IDR или картинки CRA, тем самым, будучи способным правильно декодировать кодированный битовый поток, сформированный вышеупомянутым устройством кодирования видео.
В дополнение, в случае, в котором устройство кодирования видео построено таким образом, чтобы иметь параметр, упоминаемый как aps_group_id, в каждом наборе параметров адаптации в качестве способа реализации процесса деактивации по деактивации наборов параметров деактивации согласно картинке IDR или картинке CRA, при декодировании картинки IDR или картинки CRA, узел 31 декодирования с переменной длиной слова устройства декодирования видео деактивирует набор параметров адаптации, имеющий aps_group_id, чье значение отличается от значения aps_group_id, которое имеет другой набор параметров адаптации, к другому набору параметров адаптации осуществляется обращение картинкой IDR или картинкой CRA. Например, в случае, показанном на фиг. 24, когда устройство кодирования видео кодирует наборы параметров адаптации таким образом, чтобы устанавливать параметры aps_group_id наборов с 1 по 20 параметров адаптации в ноль, а также устанавливать параметры aps_group_id набора 21 параметров адаптации и последующих наборов параметров адаптации в единицу, узел 31 декодирования с переменной длиной слова устройства декодирования видео деактивирует наборы с 1 по 20 параметров адаптации, имеющие параметры aps_group_id (=0), отличные от параметра aps_group_id (=1) набора 21 параметров адаптации, когда данные 31 картинки о картинке IDR или картинке CRA обращаются к набору 21 параметров адаптации. Поэтому, к наборам с 1 по 20 параметров адаптации не осуществляется обращение данными 31 картинки и данными последующих картинок, и устройство декодирования видео может всегда и правильно декодировать предопределенную картинку и последующие картинки, начиная декодирование с заголовка 2 уровня последовательности, который является заголовком единицы доступа, включающей в себя данные 31 картинки о картинке IDR или картинке CRA.
В соответствии со способом вставки aps_group_id, как упомянуто выше, когда устройство кодирования видео выполняет кодирование таким образом, чтобы не изменять значения параметров aps_group_id из наборов параметров адаптации согласно картинке IDR или картинке CRA наряду с приданием более высокого приоритета эффективности кодирования, чем устойчивости к ошибкам, устройство декодирования видео также может правильно декодировать наборы параметров адаптации без деактивации наборов параметров адаптации, так как, когда данные картинки о картинке IDR или картинке CRA обращаются к набору параметров адаптации, не существует набора параметров адаптации, имеющего параметр aps_group_id. чье значение отличается от значения параметра aps_group_id из набора параметров адаптации, к которому осуществляется обращение данными картинки. Кроме того, в случае, в котором устройство кодирования видео построено таким образом, чтобы деактивировать набор параметров адаптации, имеющий параметр aps_group_id, чье значение отличается от значения параметра aps_group_id, к которому осуществляется обращение, также при декодировании картинки, иной, чем картинка IDR или картинка CRA, узел 31 декодирования с переменной длиной слова устройства декодирования видео деактивирует набор параметров адаптации, имеющий параметр aps_group_id, чье значение отличается от значения параметра aps_group_id, к которому осуществляется обращение при декодировании картинки. Посредством действия таким образом, устройство декодирования видео может правильно декодировать поток, сформированный устройством кодирования видео, которое реализует процесс адаптивной деактивации по деактивации наборов параметров адаптации посредством произвольной установки временных характеристик, с которыми следует изменять параметр aps_group_id из набора параметров адаптации.
В дополнение, в случае, в котором узел 13 кодирования с переменной длиной слова устройства кодирования видео построен таким образом, чтобы, при кодировании картинки IDR или картинки CRA, выполнять процесс деактивации по деактивации наборов параметров адаптации согласно картинке IDR или картинке CRA посредством использования индекса (aps_id) каждого набора параметров адаптации, в качестве еще одного способа реализации процесса деактивации по деактивации наборов параметров адаптации согласно картинке IDR или картинке CRA, узел 31 декодирования с переменной длиной слова устройства декодирования видео деактивирует наборы параметров адаптации, имеющие индексы, меньшие, чем индекс (aps_id) рассматриваемого набора параметров адаптации, при обращении к набору параметров адаптации, к которому осуществляется обращение картинкой IDR или картинкой CRA. Точнее, в случае, в котором индексы назначены наборам параметров адаптации в порядке, в котором эти наборы параметров адаптации закодированы в примерах по фиг. 24 и 28, когда к набору 21 параметров адаптации осуществляется обращение данными 31 картинки о картинке IDR или картинке CRA, деактивируются наборы с 1 по 20 параметров адаптации, имеющие индексы, меньшие, чем индекс набора 21 параметров адаптации. Поэтому, к наборам с 1 по 20 параметров адаптации не осуществляется обращение данными 31 картинки и данными последующих картинок, и устройство декодирования видео может всегда и правильно декодировать предопределенную картинку и последующие картинки при начале декодирования с единицы доступа, включающей в себя данные 31 картинки по картинке IDR или картинке CRA.
В дополнение, в случае, в котором устройство кодирования видео построено таким образом, чтобы, вместо кодирования параметра матрицы квантования в качестве набора параметров адаптации, кодировать параметр матрицы квантования в заголовке уровня картинки в качестве параметра, который может изменяться на основе по каждой картинке, такие же процессы, как процесс инициализации набора параметров адаптации с использованием заголовка уровня последовательности и процесс деактивации по деактивации наборов параметров адаптации согласно картинке IDR или CRA, которые пояснены выше, также выполняются над параметром матрицы квантования.
Как может быть видно из вышеприведенного описания, так как устройство кодирования видео согласно этому варианту 1 осуществления построено таким образом, чтобы узел 11 контурной фильтрации разделял локально декодированное изображение на множество блоков, выбирал способ классификации для выполнения классификации по классам на поблочной основе, выполнял классификацию по классам над каждым пикселем в пределах блока, обрабатываемого на данный момент, посредством использования способа классификации, а также обращался к таблице, показывающей индексы, соответственно соответствующие комбинациям значений смещения, соответственно вычисленных для классов, с тем чтобы задавать индекс, соответствующий комбинации значений смещения, одно из которых должно прибавляться к пиксельному значению каждого пикселя, над которым выполнена классификация по классам, наряду с выполнением процесса адаптивного смещения пикселя для прибавления значения смещения к вышеупомянутому пиксельному значению, и узел 13 кодирования с переменной длиной слова кодировал индекс, указывающий способ классификации для выполнения классификации по классам на поблочной основе, который выбран узлом 11 контурного фильтра, и индекс, соответствующий комбинации значений смещения, заданных узлом 11 контурного фильтра, в качестве параметров фильтра, обеспечивается преимущество способности реализовывать процесс высокоточной компенсации искажений наряду с уменьшением объема кода, требуемого для кодирования информации смещения.
Кроме того, так как устройство декодирования видео согласно этому варианту 1 осуществления имеет таблицу для задания значения смещения для каждого класса процесса адаптивного смещения пикселя, выполняемого его узлом 38 контурного фильтра, и задает значение смещения по декодированной информации табличного индекса и вышеупомянутой таблице, обеспечивается преимущество способности правильно декодировать битовый поток, кодированный устройством кодирования видео, в котором значение смещения для каждого класса процесса адаптивного смещения пикселя, выполняемого узлом 11 контурного фильтра, занесена в таблицу.
ВАРИАНТ 2 ОСУЩЕСТВЛЕНИЯ
Хотя процесс высокоточной компенсации искажений по уменьшению объема кода, требуемого для кодирования информации смещения, посредством занесения в таблицу комбинации смещений, вычисленных соответственно для классов процесса адаптивного смещения пикселя, выполняемого узлом 11 контурного фильтра, пояснен в вышеупомянутом варианте 1 осуществления, способ уменьшения объема кода, требуемого для кодирования информации смещения, без использования какой бы то ни было таблицы, будет пояснен в этом варианте 2 осуществления.
Так как этот вариант 2 осуществления отличается от варианта 1 осуществления только способом вычисления смещения, которое должно прибавляться к каждому пикселю, принадлежащему к каждому классу, в процессах адаптивного смещения пикселя, выполняемых узлом 11 контурного фильтра и узлом 38 контурного фильтра согласно вышеупомянутому варианту 1 осуществления, и информацией смещения, которая должна кодироваться, будет пояснено только отличие.
Процесс вычисления смещения для каждого класса согласно способу EO определен, как изложено ниже.
OFFSET0=0
OFFSET1=X
OFFSET2=[X/2]
OFFSET3=-[X/2]
OFFSET4=-X,
где OFFSETz показывает значение смещения для класса z, X показывает параметр, определяющий значение смещения, а [n] показывает целую часть вещественного числа n.
Посредством определения процесса вычисления смещения таким образом, не нужно кодировать значение смещения для каждого класса, и необходимо просто кодировать параметр X в качестве информации смещения. Поэтому, объем кода может быть сокращен. В дополнение, есть преимущество устранения необходимости предусматривать память, требуемую для хранения таблицы, по сравнению со случаем, как показанный в вышеупомянутом варианте 1 осуществления, использования таблицы, показывающей комбинации смещений, соответственно вычисленных для классов. К тому же, что касается способа BO, смещение для каждого класса может определяться подобным образом посредством использования одного параметра. Пример установки количества LBO классов в три будет показан ниже.
OFFSET0=[Y/2]
OFFSET1=Y
OFFSET2=[Y/2]
В это время, согласно способу кодирования по кодированию вышеупомянутого значения смещения, которую использует узел 13 кодирования с переменной длиной слова, посредством установки диапазона значений, которые может иметь смещение, заранее и совместно между устройством кодирования видео и устройством декодирования видео, высокоэффективное кодирование может выполняться посредством использования способа бинаризации, который учитывает диапазон значений, которые имеет символ, который должен кодироваться, такой как усеченный унарный код, показанный на фиг. 25. В это время, согласно способу кодирования у кодирования вышеупомянутых параметров X и Y, которую использует узел 13 кодирования с переменной длиной слова, посредством установки диапазона значений, которые может иметь каждый из параметров, заранее и совместно между устройством кодирования видео и устройством декодирования видео, высокоэффективное кодирование может выполняться посредством использования способа бинаризации, который учитывает диапазон значений, которые имеет символ, который должен кодироваться, такой как усеченный унарный код, показанный на фиг. 25. В противоположность, когда диапазон значений, которые может иметь каждый из параметров, не установлен заранее, используется код, который может быть бинаризован без учета диапазона значений символа, который должен кодироваться, такой как унарный код, показанный на фиг. 26.
Хотя смещение для каждого класса определяется посредством использования всего лишь одного параметра как для способа EO, так и для способа BO в вышеупомянутом примере, само смещение для каждого класса может кодироваться в качестве информации о смещении для любого одного из способов. В это время, согласно способу кодирования у кодирования вышеупомянутого значения смещения, которую использует узел 13 кодирования с переменной длиной слова, посредством установки диапазона значений, которые может иметь смещение, заранее и совместно между устройством кодирования видео и устройством декодирования видео, высокоэффективное кодирование может выполняться посредством использования способа бинаризации, который учитывает диапазон значений, которые имеет символ, который должен кодироваться, такой как усеченный унарный код, показанный на фиг. 25. В противоположность, когда диапазон значений, которые может иметь 26. Вообще, несмотря на то, что способ EO обладает эффектом сглаживания шумов, возникающих на граничном участке изображения, и имеет высокую корреляцию между значениями смещения для классов на основе зависимости между пикселями a, b и c каждого класса, показанного на фиг. 14, способ BO не имеет очевидной корреляции между классами, которые являются по существу такими же, как те, которые имеет способ EO. Поэтому, есть случай, в котором уместнее определять смещение посредством использования параметра X только для способа EO наряду с кодированием самого значения смещения для каждого класса в качестве информации смещения для способа BO так как интенсивный эффект улучшения качества изображения получается наряду с тем, что увеличивается объем кода, требуемый для кодирования информации смещения. Выражение вычисление для вычисления смещения для каждого класса может быть подготовлено для каждого из сигналов цветности. Посредством действия таким образом, надлежащее выражение вычисление для вычисления смещения для каждого класса может быть подготовлено для каждого из сигналов сигнала цветности, имеющих разные характеристики сигнала, и может быть усилен результат улучшения качества изображения.
Кроме того, возможные варианты для вышеупомянутых параметров X и Y могут подготавливаться посредством использования таблицы. Посредством действия таким образом, ограничивается диапазон значений, которые может иметь каждый из параметров X и Y. Однако, когда значения возможных вариантов, подготовленные в таблице, могут устанавливаться надлежащим образом, процесс высокоточной компенсации искажений может быть реализован наряду с тем, что сокращается объем кода, требуемый для кодирования параметров X и Y. В дополнение, способы согласно обоим вариантам осуществления могут комбинироваться. Например, способ EO применяется к способу вычисления коррекции, и кодированию согласно вышеупомянутому варианту 1 осуществления, наряду с тем, что способ BO применяется к способу вычисления смещения и кодированию согласно вышеупомянутому варианту 2 осуществления (в качестве альтернативы, способ EO применяется к способу вычисления смещения и кодированию согласно смещения и кодированию согласно вышеупомянутому варианту 2 осуществления (в качестве альтернативы, способ EO применяется к способу вычисления смещения и кодированию согласно вышеупомянутому варианту 2 осуществления наряду с тем, что способ BO применяется к способу вычисления смещения и кодированию согласно вышеупомянутому варианту 1 осуществления).
Как может быть видно из вышеприведенного описания, так как устройство кодирования видео согласно варианту 2 осуществления построено таким образом, что узел 11 контурного фильтра разделяет локально декодированное изображение на множество блоков, выбирает способ классификации для выполнения классификации по классам на поблочной основе, выполняет классификацию по классам над каждым пикселем в пределах блока, обрабатываемого на данный момент, посредством использования способа классификации, и также определяет параметр для вычисления значения смещения, которое должно быть прибавлено к пиксельному значению каждого пикселя, над которым выполнена классификация по классам, наряду с вычислением значения смещения из параметра и выполнением процесса адаптивного смещения пикселя для прибавления значения смещения к вышеупомянутому пиксельному значению, а узел 13 кодирования с переменной длиной слова кодирует индекс, указывающий способ классификации для выполнения классификации по классам на поблочной основе, который выбран узлом 11 контурного фильтра, и параметр для вычисления значения смещения, который определен узлом 11 контурного фильтра, в качестве параметров фильтра, обеспечивается преимущество способности реализовывать процесс высокоточной компенсации искажений наряду с сокращением объема кода, требуемого для кодирования информации смещения.
Кроме того, так как устройство декодирования видео согласно этому варианту 2 осуществления задает значение смещения для каждого класса процесса адаптивного смещения пикселя, выполняемого его узлом 38 контурного фильтра, из одиночного параметра, обеспечивается преимущество способности правильно декодировать битовый поток, кодированный устройством кодирования видео, в котором значение смещения для каждого класса процесса адаптивного смещения пикселя, выполняемого узлом 11 контурного фильтра, определяется одиночным параметром.
Несмотря на то, что изобретение было описано в своих предпочтительных вариантах осуществления, должно быть понятно, что может быть создана произвольная комбинация двух или более из вышеупомянутых вариантов осуществления, различные изменения могут быть произведены в произвольном компоненте в соответствии с любым одним из вышеупомянутых вариантов осуществления, и произвольный компонент в соответствии с любым одним из вышеупомянутых вариантов осуществления может быть не включен в объем изобретения.
ПРОМЫШЛЕННАЯ ПРИМЕНИМОСТЬ
Настоящее изобретение пригодно для системы, которой необходимо реализовывать процесс компенсации искажений высокой точности наряду с уменьшением объема кода, требуемого для кодирования информации смещения.
ПОЯСНЕНИЯ ПО ПОЗИЦИОННЫМ ОБОЗНАЧЕНИЯМ
1 узел разделения на блоки (разделитель на блоки), 2 узел управления кодированием (определитель параметров кодирования), 3 переключатель выбора, 4 узел внутреннего предсказания (средство предсказания), 5 узел предсказания с компенсацией движения (средство предсказания), 6 узел вычитания (формирователь разностного изображения), 7 узел преобразования/квантования (средство сжатия изображения), 8 узел обратного квантования/обратного преобразования (формирователь локально декодированного изображения), 9 узел сложения (формирователь локально декодированного изображения), 10 память для внутреннего предсказания (средство предсказания), 11 узел контурного фильтра (фильтр), 12 память кадров предсказания с компенсацией движения (средство предсказания), 13 узел кодирования с переменной длиной слова (кодер с переменной длиной слова), 14 узел разделения на слайсы (разделитель на слайсы), 31 узел декодирования с переменной длиной слова (декодер с переменной длиной слова), 32 узел обратного квантования/обратного преобразования (формирователь разностного изображения), 33 переключатель выбора, 34 узел внутреннего предсказания (средство предсказания), 35 узел компенсации движения (средство предсказания), 36 узел сложения (формирователь декодированного изображения), 37 память для внутреннего предсказания (средство предсказания), 38 узел контурного фильтра (фильтр), 39 память кадров предсказания с компенсацией движения (средство предсказания), 101 узел разделения на блоки, 102 узел предсказания, 103 узел сжатия, 104 узел локального декодирования, 105 узел сложения, 106 контурный фильтр, 107 память, 108 узел кодирования с переменной длиной слова.
Изобретение относится к устройствам и способам кодирования и декодирования изображений. Технический результат заключается в повышении эффективности кодирования и декодирования изображений. Устройство содержит: средство сжатия изображения, которое осуществляет процесс преобразования над разностным изображением между введенным изображением и изображением предсказания, квантует коэффициенты преобразования разностного изображения, выводит квантованные коэффициенты преобразования в качестве сжатых данных; фильтр, определяющий способ классификации класса относительно каждого блока кодирования, имеющего наибольший размер, выполняет классификацию в отношении каждого пикселя в пределах каждого блока кодирования, имеющего наибольший размер, посредством использования упомянутого способа классификации, вычисляет значение смещения для каждого класса для каждого блока кодирования, имеющего наибольший размер, выполняет процесс адаптивного смещения пикселя; кодер с переменной длиной слова, который кодирует с переменной длиной слова параметр, связанный с матрицей квантования, для формирования матрицы квантования и индекс. 4 н.п. ф-лы, 28 ил.
1. Устройство кодирования изображений, содержащее:
средство сжатия изображения, которое осуществляет процесс преобразования над разностным изображением между введенным изображением и изображением предсказания, квантует коэффициенты преобразования упомянутого разностного изображения и выводит квантованные коэффициенты преобразования в качестве сжатых данных;
фильтр, который выполняет процесс фильтрации над декодированным изображением, которое является результатом сложения разностного изображения, декодированного из сжатых данных, и изображения предсказания; и
кодер с переменной длиной слова, который кодирует с переменной длиной слова сжатые данные, набор параметров адаптации и параметр фильтра, используемый при выполнении фильтром процесса фильтрации, и формирует кодированный битовый поток, в который мультиплексируются кодированные данные сжатых данных и кодированные данные параметра фильтра,
при этом упомянутый фильтр определяет способ классификации класса относительно каждого блока кодирования, имеющего наибольший размер, выполняет классификацию в отношении каждого пикселя в пределах каждого блока кодирования, имеющего наибольший размер, посредством использования упомянутого способа классификации, вычисляет значение смещения для каждого класса для каждого блока кодирования, имеющего наибольший размер, и выполняет процесс адаптивного смещения пикселя, посредством которого значение смещения прибавляется к пиксельному значению пикселя, принадлежащего к соответствующему классу, и
кодер с переменной длиной слова кодирует с переменной длиной слова параметр, связанный с матрицей квантования, для формирования матрицы квантования, используемой при квантовании коэффициентов преобразования средством сжатия изображения, и индекс, указывающий способ классификации класса относительно каждого блока кодирования, имеющего наибольший размер, причем способ классификации определяется фильтром, и кодирует с переменной длиной слова параметр значения смещения для каждого класса на основе процесса бинаризации с использованием усеченного унарного кода, и
набор параметров адаптации включает в себя флаг, указывающий, что параметр, связанный с матрицей квантования, существует, и параметр, связанный с матрицей квантования.
2. Устройство декодирования изображений, содержащее:
декодер с переменной длиной слова, который декодирует с переменной длиной слова сжатые данные, параметр фильтра и набор параметров адаптации из кодированных данных, мультиплексированных в кодированный битовый поток,
формирователь разностного изображения, который осуществляет обратное квантование коэффициентов преобразования блока, полученного из сжатых данных, посредством использования параметра, связанного с матрицей квантования, включенного в набор параметров адаптации, который декодируется с переменной длиной слова декодером с переменной длиной слова, и осуществляет обратное преобразование подвергнутых обратному квантованию коэффициентов преобразования для формирования разностного изображения;
формирователь декодированного изображения, который складывает разностное изображение и изображение предсказания для формирования декодированного изображения; и
фильтр, который выполняет процесс фильтрации в отношении декодированного изображения, декодированного из сжатых данных, посредством использования параметра фильтра,
при этом декодер с переменной длиной слова декодирует с переменной длиной слова, в качестве параметра фильтра, индекс, указывающий способ классификации класса относительно каждого блока кодирования, имеющего наибольший размер, из кодированных данных и декодирует с переменной длиной слова параметр значения смещения для каждого класса, над которым выполнен процесс бинаризации, использующий усеченный унарный код, и
причем упомянутый фильтр задает способ классификации класса относительно каждого блока кодирования, имеющего наибольший размер, посредством использования упомянутого индекса, выполняет классификацию в отношении каждого пикселя посредством использования упомянутого способа классификации и выполняет процесс адаптивного смещения пикселя, посредством которого значение смещения прибавляется к пиксельному значению пикселя, принадлежащего к соответствующему классу, и
набор параметров адаптации включает в себя флаг, указывающий, что параметр, связанный с матрицей квантования, существует, и параметр, связанный с матрицей квантования.
3. Способ кодирования изображений, содержащий:
этап сжатия изображения, на котором средство сжатия изображения осуществляет процесс преобразования над разностным изображением между введенным изображением и изображением предсказания, квантует коэффициенты преобразования упомянутого разностного изображения и выводит квантованные коэффициенты преобразования в качестве сжатых данных;
этап процесса фильтрации, на котором фильтр выполняет процесс фильтрации над декодированным изображением, которое является результатом сложения разностного изображения, декодированного из сжатых данных, и изображения предсказания; и
этап процесса кодирования с переменной длиной слова, на котором кодер с переменной длиной слова кодирует с переменной длиной слова сжатые данные, набор параметров адаптации и параметр фильтра, используемый при выполнении процесса фильтрации на этапе процесса фильтрации, и формирует кодированный битовый поток, в который мультиплексируются кодированные данные сжатых данных и кодированные данные параметра фильтра,
при этом упомянутый этап процесса фильтрации включает в себя этапы, на которых определяют способ классификации класса относительно каждого блока кодирования, имеющего наибольший размер, выполняют классификацию в отношении каждого пикселя в пределах каждого блока кодирования, имеющего наибольший размер, посредством использования упомянутого способа классификации, вычисляют значение смещения для каждого класса и выполняют процесс адаптивного смещения пикселя, посредством которого значение смещения прибавляется к пиксельному значению пикселя, принадлежащего к соответствующему классу, и
этап процесса кодирования с переменной длиной слова включает в себя этапы, на которых кодируют с переменной длиной слова параметр, связанный с матрицей квантования, для формирования матрицы квантования, используемой при квантовании коэффициентов преобразования на этапе сжатия изображения, и индекс, указывающий способ классификации класса относительно каждого блока кодирования, имеющего наибольший размер, причем способ классификации определяется на этапе процесса фильтрации, и кодируют с переменной длиной слова параметр значения смещения для каждого класса на основе процесса бинаризации с использованием усеченного унарного кода, и
набор параметров адаптации включает в себя флаг, указывающий, что параметр, связанный с матрицей квантования, существует, и параметр, связанный с матрицей квантования.
4. Способ декодирования изображений, содержащий:
этап процесса декодирования с переменной длиной слова, на котором декодер с переменной длиной слова декодирует с переменной длиной слова сжатые данные, параметр фильтра и набор параметров адаптации из кодированных данных, мультиплексированных в кодированный битовый поток,
этап формирования разностного изображения, на котором формирователь разностного изображения осуществляет обратное квантование коэффициентов преобразования блока, полученного из сжатых данных, посредством использования параметра, связанного с матрицей квантования, включенного в набор параметров адаптации, который декодируется с переменной длиной слова на этапе процесса декодирования с переменной длиной слова, и осуществляет обратное преобразование подвергнутых обратному квантованию коэффициентов преобразования для формирования разностного изображения;
этап формирования декодированного изображения, на котором формирователь декодированного изображения складывает разностное изображение и изображение предсказания для формирования декодированного изображения; и
этап процесса фильтрации, на котором фильтр выполняет процесс фильтрации над декодированным изображением, декодированным из сжатых данных, посредством использования параметра фильтра,
при этом этап процесса декодирования с переменной длиной включает в себя этапы, на которых декодируют с переменной длиной слова, в качестве параметра фильтра, индекс, указывающий способ классификации класса относительно каждого блока кодирования, имеющего наибольший размер, из кодированных данных и декодируют с переменной длиной слова параметр значения смещения для каждого класса, над которым выполнен процесс бинаризации, использующий усеченный унарный код, и
этап процесса фильтрации включает в себя этапы, на которых задают способ классификации класса относительно каждого блока кодирования, имеющего наибольший размер, посредством использования упомянутого индекса, выполняют классификацию в отношении каждого пикселя посредством использования упомянутого способа классификации и выполняют процесс адаптивного смещения пикселя, посредством которого значение смещения прибавляется к пиксельному значению пикселя, принадлежащего к соответствующему классу, и
набор параметров адаптации включает в себя флаг, указывающий, что параметр, связанный с матрицей квантования, существует, и параметр, связанный с матрицей квантования.
Колосоуборка | 1923 |
|
SU2009A1 |
Приспособление для суммирования отрезков прямых линий | 1923 |
|
SU2010A1 |
Приспособление для суммирования отрезков прямых линий | 1923 |
|
SU2010A1 |
Пресс для выдавливания из деревянных дисков заготовок для ниточных катушек | 1923 |
|
SU2007A1 |
RU 2010132652 A, 10.02.2012. |
Авторы
Даты
2019-12-02—Публикация
2019-03-14—Подача