Область техники, к которой относится изобретение
Примерные варианты осуществления изобретения относятся к способу и устройству для кодирования и декодирования изображения, в частности к способу и устройству для кодирования и декодирования изображения посредством преобразования изображения в пиксельной области в коэффициенты в частотной области.
Уровень техники
Для того чтобы выполнять сжатие изображения, большинство способов и устройств кодирования и декодирования изображения кодируют изображение посредством преобразования изображения в пиксельной области в коэффициенты частотной области. Дискретное косинусное преобразование (DCT), которое является одной из методик частотного преобразования, является хорошо известной методикой, которая широко используется при сжатии изображения или звука. Способ кодирования изображения, использующий DCT, касается выполнения DCT над изображением в пиксельной области, формирующего дискретные косинусные коэффициенты, квантования сформированных дискретных косинусных коэффициентов и выполнения энтропийного кодирования над сформированными дискретными косинусными коэффициентами.
Сущность изобретения
Решение задачи
Примерные варианты осуществления предоставляют способ и устройство для кодирования и декодирования изображения при помощи более эффективного дискретного косинусного преобразования (DCT), а так же предоставляют машиночитаемый носитель записи с записанной на нем программой для исполнения способа.
Полезные результаты изобретения
В соответствии с одним или более примерными вариантами осуществления существует возможность установить единицу преобразования так, чтобы она была крупнее единицы предсказания, и выполнить DCT таким образом, чтобы изображение было эффективно сжато и закодировано.
Краткое описание чертежей
Вышеприведенные и прочие признаки примерных вариантов осуществления станут более очевидны из описания их примерных вариантов осуществления со ссылкой на прилагаемые чертежи, в которых:
Фиг.1 является блок-схемой устройства кодирования изображения в соответствии с примерным вариантом осуществления;
Фиг.2 является схемой устройства декодирования изображения в соответствии с другим примерным вариантом осуществления;
Фиг.3 является схемой иерархической единицы кодирования в соответствии с другим примерным вариантом осуществления;
Фиг.4 является блок-схемой кодера изображения, основанного на единице кодирования, в соответствии с другим примерным вариантом осуществления;
Фиг.5 является блок-схемой декодера изображения, основанного на единице кодирования, в соответствии с другим примерным вариантом осуществления;
Фиг.6 иллюстрирует максимальную единицу кодирования, суб-единицы кодирования и единицы предсказания в соответствии с другим примерным вариантом осуществления;
Фиг.7 является схемой единицы кодирования и единицы преобразования в соответствии с другим примерным вариантом осуществления;
Фиг.8A и 8B иллюстрируют формы разделения максимальной единицы кодирования, единицы предсказания и единицы преобразования в соответствии с другим примерным вариантом осуществления;
Фиг.9 является блок-схемой устройства кодирования изображения в соответствии с другим примерным вариантом осуществления;
Фиг.10 является схемой модуля преобразования;
Фиг.11A-11C иллюстрируют типы единиц преобразования в соответствии с другим примерным вариантом осуществления;
Фиг.12 иллюстрирует разные единицы преобразования в соответствии с другим примерным вариантом осуществления;
Фиг.13 является блок-схемой устройства декодирования изображения в соответствии с другим примерным вариантом осуществления; и
Фиг.14 является блок-схемой последовательности операций способа кодирования изображения, в соответствии с примерным вариантом осуществления.
Фиг.15 является блок-схемой последовательности операций способа декодирования изображения, в соответствии с другим примерным вариантом осуществления.
Раскрытие изобретения
В соответствии с аспектом примерного варианта осуществления изобретения, предложен способ кодирования изображения, включающий в себя операции, на которых задают единицу преобразования посредством выбора множества соседних единиц предсказания, преобразуют множество соседних единиц предсказания в частотную область в соответствии с единицей преобразования, формируют коэффициенты частотных составляющих, квантуют коэффициенты частотных составляющих и выполняют энтропийное кодирование над квантованными коэффициентами частотных составляющих.
Операция, на которой задают единицу преобразования, может выполняться на основании глубины, указывающей степень уменьшения размера, которое постепенно происходит от максимальной единицы кодирования текущей последовательности макроблоков или текущего кадра до суб-единицы кодирования, содержащей множество соседних единиц предсказания.
Операция, на которой задают единицу преобразования, может выполняться посредством выбора множества соседних единиц предсказания, над которыми предсказание выполняется в соответствии с одинаковым режимом предсказания.
Одинаковым режимом предсказания может быть режим взаимного предсказания или режим внутреннего предсказания.
Способ кодирования изображения может дополнительно включать в себя операцию, на которой задают оптимальную единицу преобразования посредством повторяющегося выполнения вышеупомянутых операций над разными единицами преобразования, при этом вышеупомянутые операции включают в себя операции, на которых задают единицу преобразования посредством выбора множества соседних единиц предсказания, преобразуют множество соседних единиц предсказания в частотную область в соответствии с единицей преобразования и формируют коэффициенты частотных составляющих, квантуют коэффициенты частотных составляющих и выполняют энтропийное кодирование над квантованными коэффициентами частотных составляющих.
В соответствии с другим аспектом примерного варианта осуществления, предложено устройство кодирования изображения, включающее в себя модуль преобразования для задания единицы преобразования посредством выбора множества соседних единиц предсказания, преобразования множества соседних единиц предсказания в частотную область в соответствии с единицей преобразования и формирования коэффициентов частотных составляющих, модуль квантования для квантования коэффициентов частотных составляющих и модуль энтропийного кодирования для выполнения энтропийного кодирования над квантованными коэффициентами частотных составляющих.
В соответствии с другим аспектом примерного варианта осуществления предложен способ декодирования изображения, включающий в себя операции, на которых выполняют энтропийное декодирование коэффициентов частотных составляющих, которые сформированы посредством преобразования в частотную область в соответствии с единицей преобразования, выполняют обратное квантование коэффициентов частотных составляющих, выполняют обратное преобразование коэффициентов частотных составляющих в пиксельную область и воссоздают множество соседних единиц предсказания, содержащихся в единице преобразования.
В соответствии с другим аспектом примерного варианта осуществления предложено устройство декодирования изображения, включающее в себя энтропийный декодер для выполнения энтропийного декодирования коэффициентов частотных составляющих, которые сформированы посредством преобразования в частотную область в соответствии с единицей преобразования, модуль обратного квантования для обратного квантования коэффициентов частотных составляющих в пиксельную область и воссоздания множества соседних единиц предсказания, содержащихся в единице преобразования.
В соответствии с другим аспектом примерного варианта осуществления предоставляется машиночитаемый носитель записи с записанной на нем программой для исполнения способов кодирования и декодирования изображения.
Осуществление изобретения
Далее со ссылкой на прилагаемые чертежи будут подробно описаны примерные варианты осуществления. В примерных вариантах осуществления, понятие «единица» может относиться, а может и не относиться к единичному блоку некоторого размера, в зависимости от контекста, в котором оно используется, а понятие «изображение» может обозначать неподвижное изображение (кадр), применительно к видео, или подвижное изображение, то есть само видео.
Фиг.1 является блок-схемой устройства 100 для кодирования изображения, в соответствии с примерным вариантом осуществления.
Согласно Фиг.1, устройство 100 включает в себя модуль 110 разделения на максимальные единицы кодирования, модуль 120 определения глубины кодирования, кодер 130 данных изображения и кодер 140 информации кодирования.
Модуль 110 разделения на максимальные единицы кодирования может выполнять разделение текущего кадра или последовательности макроблоков на основе максимальной единицы кодирования, которая является единицей кодирования наибольшего размера. То есть модуль 110 разделения на максимальные единицы кодирования может выполнять разделение текущего кадра или последовательности макроблоков для получения по меньшей мере одной максимальной единицы кодирования.
В соответствии с примерным вариантом осуществления, единица кодирования может быть представлена при помощи максимальной единицы кодирования и глубины. Как описано выше, максимальная единица кодирования указывает единицу кодирования с самым крупным размером среди единиц кодирования текущего кадра, а глубина указывает размер суб-единицы кодирования, полученной посредством иерархического уменьшения единицы кодирования. По мере роста глубины, единица кодирования может уменьшаться в размере от максимальной единицы кодирования до минимальной единицы кодирования, при этом глубина максимальной единицы кодирования задается как минимальная глубина, а глубина минимальной единицы кодирования задается как максимальная глубина. Поскольку размер единицы кодирования уменьшается от максимальной единицы кодирования по мере увеличения глубины, то суб-единица кодирования k-й глубины может включать в себя множество суб-единиц кодирования (k+n)-й глубины (где k и n целые числа, равные или больше 1).
По мере роста размера кадра, который должен быть закодирован, кодирование изображения в более крупных единицах кодирования может привести к более высокой степени сжатия изображения. Однако если более крупная единица кодирования фиксирована, то изображение не может быть эффективно закодировано, учитывая постоянно меняющиеся характеристики изображения.
Например, когда кодируется ровная область, такая как море или небо, то чем крупнее единица кодирования, тем выше может быть степень сжатия. Однако когда кодируется сложная область, такая как человек или здания, то чем мельче единица кодирования, тем выше может быть степень сжатия.
Таким образом, в соответствии с примерным вариантом осуществления, для каждого кадра или последовательности макроблоков задается разная максимальная единица кодирования изображения и разная максимальная глубина. Поскольку максимальная глубина обозначает максимальное количество раз, в которое может уменьшаться единица кодирования, то размер каждой минимальной единицы кодирования, включенной в максимальную единицу кодирования, может задаться переменно, в соответствии максимальной глубиной.
Модуль 120 определения глубины кодирования определяет максимальную глубину. Максимальная глубина может определяться на основании вычисления затрат Искажения к Скорости Передачи (R-D). Максимальная глубина может определяться по-разному для каждого кадра или последовательности макроблоков или для каждой максимальной единицы кодирования. Определенная максимальная глубина предоставляется кодеру 140 информации кодирования, а данные изображения в соответствии с максимальными единицами кодирования предоставляются кодеру 130 данных изображения.
Максимальная глубина обозначает единицу кодирования с наименьшим размером, которая может быть включена в максимальную единицу кодирования, т.е. минимальную единицу кодирования. Другими словами, максимальная единица кодирования может быть разделена на суб-единицы кодирования, имеющие разные размеры, на основе разных глубин. Это более подробно описывается ниже со ссылкой на Фиг.8A и 8B. В дополнение, суб-единицы кодирования, имеющие разные размеры, которые включены в максимальную единицу кодирования, могут предсказываться или преобразовываться на основе единиц обработки, имеющих разные размеры. Другими словами, устройство 100 может выполнять множество операций обработки для кодирования изображения на основе единиц обработки, обладающих различными размерами и различными формами. Чтобы закодировать данные изображения выполняются такие операции обработки, как предсказание, преобразование и энтропийное кодирование, при этом для каждой операции могут использоваться единицы обработки одинакового размера или для каждой операции могут использоваться единицы обработки разных размеров.
Например, устройство 100 может выбрать для предсказания единицы кодирования единицу обработки, отличную от единицы кодирования.
Когда размером единицы кодирования является 2N×2N (где N положительное целое число), единицами обработки для предсказания могут быть 2N×2N, 2N×N, N×2N и N×N. Другими словами, предсказание движения может выполняться на основе единицы обработки, имеющей форму, при которой по меньшей мере одно из высоты или ширины единицы кодирования делятся на 2 равные части. Далее, единица обработки, которая является основой для предсказания, определяется в качестве «единицы предсказания».
Режим предсказания может быть по меньшей мере одним из внутреннего режима, взаимного режима и режима с пропуском, и конкретный режим предсказания может выполняться применительно только к единице предсказания конкретного размера и формы. Например, внутренний режим может выполняться только применительно к единицам предсказания размером 2N×2N и N×N, форма которых является квадратом. Дополнительно, режим с пропуском может выполняться только применительно к единице предсказания размером 2Nx2N. Если в единице кодирования существует множество единиц предсказания, то после выполнения предсказания для каждой единицы предсказания может выбираться режим предсказания с наименьшими ошибками кодирования.
В качестве альтернативы, устройство 100 может выполнять частотное преобразование над данными изображения на основании единиц обработки, имеющих размер, отличный от единицы кодирования. Применительно к частотному преобразованию в единице кодирования, частотное преобразование может выполняться на основании единицы обработки, имеющей размер, равный или мельче размера единицы кодирования. Далее, единица обработки, которая является основой для частотного преобразования, определяется в качестве «единицы преобразования». Частотное преобразование может быть Дискретным Косинусным Преобразованием (DCT) или Преобразованием Карунена-Лоэва (KLT).
Модуль 120 определения глубины кодирования может определять суб-единицу кодирования, включенную в максимальную единицу кодирования, при помощи оптимизации RD, основанной на множителе Лагранжа. Другими словами, модуль 120 определения глубины кодирования может определять формы множества суб-единиц кодирования, полученных путем разделения максимальной единицы кодирования, при этом множество суб-единиц кодирования имеют разные размеры в соответствии с их глубинами. Кодер 130 данных изображения выдает битовый поток посредством кодирования максимальной единицы кодирования на основании форм разделения, т.е. форм, которые разделяют максимальную единицу кодирования, как определено модулем 120 определения глубины кодирования.
Кодер 140 информации кодирования кодирует информацию о режиме кодирования максимальной единицы кодирования, определенном посредством модуля 120 определения глубины кодирования. Другими словами, кодер 140 информации кодирования выдает битовый поток посредством кодирования информации о форме разделения максимальной единицы кодирования, информации о максимальной глубине и информации о режиме кодирования суб-единиц кодирования применительно к каждой глубине. Информация о режиме кодирования суб-единицы кодирования может включать в себя информацию о единице предсказания суб-единицы кодирования, информацию о режиме предсказания для каждой единицы предсказания и информацию о единице преобразования суб-единицы кодирования.
Поскольку в каждой максимальной единице кодирования присутствуют суб-единицы кодирования разных размеров, а информация о режиме кодирования должна быть определена для каждой суб-единицы кодирования, то для одной максимальной единицы кодирования может быть определена информация о по меньшей мере одном режиме кодирования.
Устройство 100 может формировать суб-единицы кодирования посредством разделения поровну как высоты, так и ширины максимальной единицы кодирования на два в соответствии ростом глубины. То есть, когда размером единицы кодирования k-ой глубины является 2N×2N, то размером единицы кодирования (k+1)-й глубины является N×N.
Таким образом, устройство 100 в соответствии с примерным вариантом осуществления может определять оптимальную форму разделения для каждой максимальной единицы кодирования на основании размеров максимальных единиц кодирования и максимальной глубине, учитывая характеристики изображения. Посредством переменной регулировки размера максимальной единицы кодирования с учетом характеристик изображения и кодирования изображения посредством разделения максимальной единицы кодирования на суб-единицы кодирования разных глубин, могут более эффективно кодироваться изображения различных разрешений.
Фиг.2 является блок-схемой устройства 200 для декодирования изображения в соответствии с примерным вариантом осуществления.
Согласно Фиг.2, устройство 200 включает в себя модуль 210 получения данных изображения, модуль 220 извлечения информации кодирования и декодер 230 данных изображения.
Модуль 210 получения данных изображения получает данные изображения на основе максимальных единиц кодирования, посредством анализа битового потока, принимаемого устройством 200, и выдает данные изображения декодеру 230 данных изображения. Модуль 210 получения данных изображения может извлекать информацию о максимальной единице кодирования текущего кадра или последовательности макроблоков из заголовка текущего кадра или последовательности макроблоков. Другими словами, модуль 210 получения данных изображения разделяет битовый поток на максимальные единицы кодирования таким образом, что декодер 230 данных изображения может декодировать данные изображения на основе максимальных единиц кодирования.
Модуль 220 извлечения информации кодирования посредством анализа битового потока, принятого устройством 200, извлекает из заголовка текущего кадра информацию о максимальной единице кодирования, максимальной глубине, форме разделения максимальной единицы кодирования, режиме кодирования суб-единиц кодирования. Информация о форме разделения и информация о режиме кодирования предоставляются декодеру 230 данных изображения.
Информация о форме разделения максимальной единицы кодирования может включать в себя информацию о суб-единицах кодирования, имеющих разные размеры на основе глубин, включенных в максимальную единицу кодирования, а информация о режиме кодирования может включать в себя информацию о единице предсказания на основе суб-единиц кодирования, информацию о режиме предсказания и информацию о единицах преобразования.
Декодер 230 данных изображения восстанавливает текущий кадр посредством декодирования данных изображения каждой максимальной единицы кодирования на основании информации, извлеченной модулем 220 извлечения информации кодирования. Декодер 230 данных изображения может декодировать суб-единицы кодирования, включенные в максимальную единицу кодирования, на основании информации о форме разделения максимальной единицы кодирования. Процесс декодирования может включать в себя процесс предсказания, включая внутреннее предсказание и компенсацию движения, и процесс обратного преобразования.
Декодер 230 данных изображения выполняет внутреннее предсказание или взаимное предсказание на основании информации о единице предсказания и информации о режиме предсказания для того, чтобы предсказать единицу предсказания. Декодер 230 данных изображения так же может выполнять обратное преобразование для каждой суб-единицы кодирования на основании информации о единице преобразования суб-единицы кодирования.
Фиг.3 иллюстрирует иерархические единицы кодирования в соответствии с примерным вариантом осуществления.
Согласно Фиг.3, иерархические единицы кодирования в соответствии с примерным вариантом осуществления могут включать в себя единицы кодирования, чьи ширина на высоту составляют 64×64, 32×32, 16×16, 8×8, и 4×4. Кроме этих единиц кодирования с полностью квадратной формой, могут существовать единицы кодирования, у которых ширина на высоту составляют 64×32, 32×64, 32×16, 16×32, 16×8, 8×16, 8×4 и 4×8.
Согласно Фиг.3, для данных 310 изображения, для которых разрешение составляет 1920×1080, размер максимальной единицы кодирования установлен как 64×64, а максимальная глубина задается как 2.
Для данных 320 изображения, для которых разрешение составляет 1920×1080, размер максимальной единицы кодирования установлен как 64×64, а максимальная глубина задается как 4. Для данных 330 изображения, для которых разрешение составляет 352×288, размер максимальной единицы кодирования установлен как 16×16, а максимальная глубина задается как 1.
Когда разрешение высокое или велик объем данных, предпочтительно, но не обязательно, чтобы максимальный размер единицы кодирования был относительно крупным для увеличения степени сжатия и точного отображения характеристик изображения. Соответственно, применительно к данным 310 и 320 изображения с разрешением выше, чем у данных 330 изображения, в качестве размера максимальной единицы кодирования может быть выбран размер 64×64.
Максимальная глубина указывает суммарное количество уровней в иерархических единицах кодирования. Поскольку максимальная глубина данных 310 изображения составляет 2, то единица 315 кодирования данных 310 изображения может включать в себя максимальную единицу кодирования, у которой размер по большей оси составляет 64, и суб-единицу кодирования, у которой размеры по большей оси составляют 32 и 16, в соответствии с увеличением глубины.
С другой стороны, поскольку максимальная глубина данных 330 изображения составляет 1, то единица 335 кодирования данных 330 изображения может включать в себя максимальную единицу кодирования, у которой размер по большей оси составляет 16, и единицы кодирования, у которой размеры по большей оси составляют 8, в соответствии с увеличением глубины.
Однако поскольку максимальная глубина данных 320 изображения составляет 4, единица 325 кодирования данных 320 изображения может включать в себя максимальную единицу кодирования, для которой размер по большей оси составляет 64, и суб-единицы кодирования, для которых размеры по большей оси составляют 32, 16, 8 и 4 в соответствии с увеличением глубины. Поскольку с увеличением глубины изображение кодируется на основе более мелких суб-единиц кодирования, то характерный вариант осуществления применим для кодирования изображения, включающего сцены с более мелкими деталями.
Фиг.4 является блок-схемой кодера 400 изображения на основании единицы кодирования, в соответствии с примерным вариантом осуществления.
Модуль 410 внутреннего предсказания выполняет внутреннее предсказание над единицами предсказания внутреннего режима в текущем кадре 405, а модуль 420 оценки движения и модуль 425 компенсации движения выполняют взаимное предсказание и компенсацию движения над единицами кодирования взаимного режима, используя текущий кадр 405 и опорный кадр 495.
Значения остатка формируются на основании единиц предсказания, выдаваемых модулем 410 внутреннего предсказания, модулем 420 оценки движения и модулем 426 компенсации движения, и сформированные значения остатка выдаются в качестве квантованных коэффициентов преобразования посредством прохода через модуль 430 преобразования и модуль 440 квантования.
Квантованные коэффициенты преобразования восстанавливаются до значений остатка посредством прохода через модуль 460 обратного квантования и модуль 470 обратного частотного преобразования, и восстановленные значения остатка подвергаются постобработке посредством прохода через модуль 480 удаления блочности и модуль 490 низкочастотной фильтрации и выдаются в качестве опорного кадра 495. Квантованные коэффициенты преобразования могут выводиться в качестве битового потока 455 посредством прохода через энтропийный кодер 450.
Для выполнения кодирования, основанного на способе кодирования в соответствии с примерным вариантом осуществления, компоненты кодера 400 изображения, т.е. модуль 410 внутреннего предсказания, модуль 420 оценки движения, модуль 425 компенсации движения, модуль 430 преобразования, модуль 440 квантования, энтропийный кодер 450, модуль 460 обратного квантования, модуль 470 обратного частотного преобразования, модуль 480 удаления блочности и модуль 490 низкочастотной фильтрации выполняют процессы кодирования на основании максимальной единицы кодирования, суб-единицы кодирования на основе глубин, единицы предсказания и единицы преобразования.
Фиг.5 является блок-схемой декодера 500 изображения, основанного на единице кодирования, в соответствии с примерным вариантом осуществления.
Битовый поток 505 проходит через модуль 510 анализа, чтобы проанализировать закодированные данные изображения, которые должны быть декодированы, и информацию кодирования, необходимую для декодирования. Закодированные данные изображения выдаются в качестве обратно квантованных данных посредством прохода через энтропийный декодер 520 и модуль 530 обратного квантования и восстанавливаются до значений остатка посредством прохода через модуль 540 обратного частотного преобразования. Значения остатка восстанавливаются на основе единиц кодирования посредством сложения с результатом внутреннего предсказания модуля 550 внутреннего предсказания или результатом компенсации движения модуля 560 компенсации движения. Восстановленные единицы кодирования используются для предсказания следующих единиц кодирования или следующего кадра посредством прохода через модуль 570 удаления блочности и модуль 580 низкочастотной фильтрации.
Для выполнения декодирования, основанного на способе декодирования в соответствии с примерным вариантом осуществления, компоненты декодера 500 изображения, т.е., модуль 510 анализа, энтропийный декодер 520, модуль 530 обратного квантования, модуль 540 обратного частотного преобразования, модуль 550 внутреннего предсказания, модуль 560 компенсации движения, модуль 570 удаления блочности и модуль 580 низкочастотной фильтрации выполняют процессы декодирования изображения на основании максимальной единицы кодирования, суб-единицы кодирования на основе глубин, единицы предсказания и единицы преобразования.
В частности, модуль 550 внутреннего предсказания и модуль 560 компенсации движения определяют единицу предсказания и режим предсказания в суб-единице кодирования, принимая во внимание максимальную единицу кодирования и глубину, а модуль 540 обратного частотного преобразования выполняет обратное преобразование, принимая во внимание размер единицы преобразования.
Фиг.6 иллюстрирует максимальную единицу кодирования, суб-единицу кодирования и единицу предсказания в соответствии с примерным вариантом осуществления.
Устройство 100 и устройство 200 в соответствии с примерным вариантом осуществления используют иерархические единицы кодирования для выполнения кодирования и декодирования, учитывая характеристики изображения. Максимальная единица кодирования и максимальная глубина могут адаптивно задаться в соответствии с характеристиками изображения, или переменно задаться в соответствии с требованиями пользователя.
Иерархическая структура 600 единиц кодирования в соответствии с примерным вариантом осуществления иллюстрирует максимальную единицу 610 кодирования, чья высота и ширина составляют 64, а максимальная глубина составляет 4. Глубина растет вдоль вертикальной оси иерархической структуры 600 единиц кодирования, и по мере роста глубины уменьшаются высота и ширина суб-единиц с 620 по 650 кодирования. Единицы предсказания максимальной единицы 610 кодирования и суб-единиц с 620 по 650 кодирования показаны вдоль горизонтальной оси иерархической структуры 600 единиц кодирования.
Максимальная единица 610 кодирования имеет глубину 0 и размер единицы кодирования, т.е. высоту и ширину размером 64×64. Глубина растет вдоль вертикальной оси и присутствуют: суб-единица 620 кодирования, размер которой составляет 32×32, а глубина равна 1; суб-единица 630 кодирования, размер которой составляет 16×16, а глубина равна 2; суб-единица 640 кодирования, размер которой составляет 8×8, а глубина равна 3; и суб-единица 640 кодирования, размер которой составляет 4×4, а глубина равна 4. Суб-единица 650 кодирования, размер которой составляет 4×4, а глубина равна 4, является минимальной единицей кодирования, и минимальная единица кодирования может быть разделена на единицы предсказания, каждая из которых мельче минимальной единицы кодирования.
Согласно Фиг.6, примеры единицы предсказания показаны вдоль горизонтальной оси в соответствии с каждой глубиной. То есть, единицей предсказания максимальной единицы 610 кодирования, глубина которой равна 0, может быть единица предсказания, размер которой равен единице 610 кодирования, т.е. 64×64, или единица 612 предсказания, размер которой составляет 64×32, единица 614 предсказания, размер которой составляет 32×64, или единица 616 предсказания, размер которой составляет 32×32, которые имеют размер мельче единицы 610 кодирования, размер которой составляет 64×64.
Единицей предсказания единицы 620 кодирования, глубина которой равна 1, а размер составляет 32×32, может быть единица предсказания, размер которой равен единице 620 кодирования, т.е. 32×32, или единица 622 предсказания, размер которой составляет 32×16, единица 624 предсказания, размер которой составляет 16×32, или единица 626 предсказания, размер которой составляет 16×16, которые имеют размер мельче единицы 620 кодирования, размер которой составляет 32×32.
Единицей предсказания единицы 630 кодирования, глубина которой равна 2, а размер составляет 16×16, может быть единица предсказания, размер которой равен единице 630 кодирования, т.е. 16×16, или единица 632 предсказания, размер которой составляет 16×8, единица 634 предсказания, размер которой составляет 8×16, или единица 636 предсказания, размер которой составляет 8×8, которые имеют размер мельче единицы 630 кодирования, размер которой составляет 16×16.
Единицей предсказания единицы 640 кодирования, глубина которой равна 3, а размер составляет 8×8, может быть единица предсказания, размер которой равен единице 640 кодирования, т.е. 8×8, или единица 642 предсказания, размер которой составляет 8×4, единица 644 предсказания, размер которой составляет 4×8, или единица 646 предсказания, размер которой составляет 4×4, которые имеют размер мельче единицы 640 кодирования, размер которой составляет 8×8.
В заключении, единица 650 кодирования, глубина которой равна 4, а размер составляет 4×4, является минимальной единицей кодирования и единицей кодирования максимальной глубины, а единицей предсказания единицы 650 кодирования может быть единица 650 предсказания, размер которой составляет 4×4, или единица 652 предсказания, размер которой составляет 4×2, единица 654 предсказания, размер которой составляет 2×4, или единица 656 предсказания, размер которой составляет 2×2.
Фиг.7 иллюстрирует единицу кодирования и единицу преобразования, в соответствии с примерным вариантом осуществления.
Устройство 100 и устройство 200, в соответствии с примерным вариантом осуществления, выполняют кодирование при помощи самой максимальной единицы кодирования, или при помощи суб-единиц кодирования, которые равны или мельче максимальной единицы кодирования и которые получены разделением максимальной единицы кодирования.
В процессе кодирования размер единицы преобразования для частотного преобразования выбирается таким образом, чтобы не быть крупнее размера соответствующей единицы кодирования. Например, когда единица 710 кодирования имеет размер 64×64, то частотное преобразование может выполняться, при помощи единицы 720 преобразования, имеющей размер 32×32.
Фиг.8A и 8B иллюстрируют формы разделения единицы кодирования, единицы предсказания и единицы преобразования в соответствии с примерным вариантом осуществления.
Фиг.8A иллюстрирует единицу кодирования и единицу предсказания в соответствии с примерным вариантом осуществления.
Левая часть Фиг.8A показывает форму разделения, выбранную устройством 100, в соответствии с примерным вариантом осуществления, чтобы кодировать максимальную единицу 810 кодирования. Устройство 100 разделяет максимальную единицу 810 кодирования на различные формы, выполняет кодирование и выбирает оптимальную форму разделения посредством сравнения результатов кодирования различных форм разделения друг с другом на основании затрат R-D. Когда оптимальным считается кодирование максимальной единицы 810 кодирования, как она есть, то максимальная единица 810 кодирования может кодироваться без разделения максимальной единицы 810 кодирования в соответствии с тем, что проиллюстрировано на Фиг.8A и 8B.
Как изображено в левой части Фиг.8A, максимальная единица 810 кодирования, глубина которой равна 1, кодируется посредством разделения ее на суб-единицы кодирования, глубины которых равны или больше чем 1. То есть максимальная единица 810 кодирования разделяется на 4 суб-единицы кодирования, глубина которых равна 1, и все или некоторые суб-единицы кодирования, глубины которых равны 1, разделяются на суб-единицы кодирования, глубины которых равны 2.
Суб-единица кодирования, расположенная в верхней левой части, и суб-единица кодирования, расположенная в нижней левой части, из суб-единиц кодирования, глубины которых равны 1, разделяются на суб-единицы кодирования, глубины которых равны или больше чем 2. Некоторые из суб-единиц кодирования, глубины которых равны или больше 2, могут быть разделены на суб-единицы кодирования, глубины которых равны или больше 3.
Правая сторона Фиг.8A показывает форму разделения единиц предсказания для максимальной единицы 810 кодирования.
Как изображено на правой части Фиг.8A, единица 860 предсказания для максимальной единицы 810 кодирования может быть разделена иначе, нежели максимальная единица 810 кодирования. Другими словами, единица предсказания для каждой из суб-единиц кодирования может быть мельче, чем соответствующая суб-единица кодирования.
Например, единица предсказания для суб-единицы 854 кодирования, расположенной в нижней правой части, из суб-единиц кодирования, глубины которых равны 1, может быть мельче суб-единицы 854 кодирования. В дополнение, единицы предсказания для некоторых (814, 816, 850 и 852) из суб-единиц 814, 816, 818, 828, 850 и 852 кодирования, глубины которых равны 2, могут быть мельче соответствующих суб-единиц 814, 816, 850 и 852 кодирования. В дополнение, единицы предсказания для суб-единиц 822, 832 и 848 кодирования, глубины которых равны 3, могут быть мельче соответствующих суб-единиц 822, 832 и 848 кодирования. Единицы предсказания могут иметь форму, с которой соответствующие суб-единицы кодирования делятся на две равные части по высоте или ширине, или имеют форму, с которой соответствующие суб-единицы кодирования делятся на четыре равные части по высоте и ширине.
Фиг.8B иллюстрирует единицу предсказания и единицу преобразования, в соответствии с примерным вариантом осуществления.
Левая часть Фиг.8B показывает форму разделения единиц предсказания для максимальной единицы 810 кодирования, показанной в правой части Фиг.8A, а правая часть Фиг.8B показывает форму разделения единиц преобразования максимальной единицы 810 кодирования.
Как изображено на правой части Фиг.8B, форма разделения единицы 870 преобразования может задаваться отлично от единицы 860 предсказания.
Например, хотя единица предсказания для единицы 854 кодирования, глубина которой равна 1, выбирается с формой, при которой высота единицы 854 кодирования делится на две равные части, единица преобразования может выбираться того же размера, что и единица 854 кодирования. Аналогично, хотя единицы предсказания для единиц 814 и 850 кодирования, глубины которых равны 2, выбраны с формой, при которой высота каждой из единиц 814 и 850 кодирования делится на две равные части, единица преобразования может выбираться того же размера, что и исходный размер каждой из единиц 814 и 850 кодирования.
Единица преобразования может выбираться меньшего размера, чем единицы предсказания. Например, когда единица предсказания для единицы 852 кодирования, глубина которой равна 2, выбирается с формой, при которой ширина единицы 852 делится на две равные части, единица преобразования может выбираться с формой, при которой единица 852 кодирования делится на четыре равные части по высоте и ширине, и которая имеет меньший размер, чем форма единицы предсказания.
Фиг.9 является блок-схемой устройства 900 кодирования изображения в соответствии с другим примерным вариантом осуществления.
Согласно Фиг.9, устройство 900 кодирования изображения в соответствии с настоящим примерным вариантом осуществления включает в себя модуль 910 преобразования, модуль 920 квантования и энтропийный кодер 930.
Модуль 910 преобразования принимает единицу обработки изображения пиксельной области и преобразует единицу обработки изображения в частотную область. Модуль 910 преобразования принимает множество единиц предсказания, включающих в себя значения остатка, сформированные посредством внутреннего предсказания или взаимного предсказания, и преобразует единицы предсказания в частотную область. В результате преобразования в частотную область формируются коэффициенты частотных составляющих. В соответствии с настоящим примерным вариантом осуществления преобразование в частотную область может происходить через дискретное косинусное преобразование (DCT) или преобразование Карунена-Лоэва (KLT), и в результате DCT или KLT формируются коэффициенты частотной области. Далее, преобразование в частотную область может быть DCT, однако специалисту в соответствующей области должно быть очевидно, что преобразование в частотную область может быть любым преобразованием, имеющем отношение к преобразованию изображения из пиксельной области в частотную область.
Так же, в соответствии с настоящим примерным вариантом осуществления, модуль 910 преобразования задает единицу преобразования посредством группировки множества единиц предсказания и выполняет преобразование в соответствии с единицей преобразования. Данный процесс будет подробно описан со ссылкой на Фиг.10, 11A, 11B и 12.
Фиг.10 является схемой модуля 910 преобразования.
Согласно Фиг.10, модуль 910 преобразования включает в себя модуль 1010 выбора и модуль 1020 выполнения преобразования.
Модуль 1010 выбора задает единицу преобразования посредством выбора множества соседних единиц предсказания.
Устройство кодирования изображения в соответствии со связанной областью техники выполняет внутреннее предсказание или взаимное предсказание на основе блока, обладающего заранее определенным размером, т.е. на основе единицы предсказания, и выполняет DCT на основании размера, который меньше либо равен данной единице предсказания. Другими словами, устройство кодирования изображения в соответствии со связанной областью техники выполняет DCT при помощи единиц преобразования, которые меньше либо равны единице предсказания.
Однако из-за множества частей информации заголовка, добавляемых к единицам преобразования, добавочные служебные данные растут по мере уменьшения единиц преобразования, тем самым ухудшается степень сжатия операции кодирования изображения. Для того чтобы решить данную проблему, устройство 900 кодирования изображения в соответствии с настоящим примерным вариантом осуществления группирует множество соседних единиц предсказания в единицу преобразования и выполняет преобразование в соответствии с единицей преобразования, которая сформирована группировкой. Существует высокая вероятность того, что соседние единицы предсказания могут включать в себя одинаковые значения остатка, и таким образом, если соседние единицы предсказания группируются в единицу преобразования и затем над ними выполняется преобразование, то может быть значительно увеличена степень сжатия операции кодирования.
Для такого увеличения модуль 1010 выбирает соседние единицы предсказания, которые будут сгруппированы в единицу преобразования. Данный процесс будет подробно описан со ссылкой на Фиг.11A-11C и 12.
Фиг.11A-11C иллюстрируют типы единицы преобразования в соответствии с другим примерным вариантом осуществления.
Согласно Фиг.11A-11C, единица 1120 предсказания для единицы 1110 кодирования может иметь форму разделения, полученную посредством разделения пополам ширины единицы 1110 кодирования. Единица 1110 кодирования может быть максимальной единицей кодирования или может быть суб-единицей кодирования с размером меньшим, чем максимальная единица кодирования.
Как проиллюстрировано на Фиг.11A, размер единицы 1130 преобразования может быть меньше единицы 1120 предсказания, или, как проиллюстрировано на Фиг.11B, размер единицы 1140 предсказания может быть равным единице 1120 предсказания. Так же, как проиллюстрировано на Фиг.11C, размер единицы 1150 преобразования может быть больше единицы 1120 предсказания. То есть, единицы с 1130 по 1150 преобразования могут быть установлены без привязки к единице 1120 предсказания.
Фиг.11C иллюстрирует пример, при котором единица 1120 предсказания задается посредством группировки множества единиц 1120 предсказания, включенных в единицу 1110 кодирования. Однако единица преобразования может задаваться большей, чем единица кодирования, когда множество единиц предсказания, которые включены не в одну единицу кодирования, а во множество единиц кодирования, установлены в качестве одной единицы преобразования. Другими словами, как описано со ссылкой на Фиг.11A-11C, единица преобразования может задаваться равной или меньшей, чем размер единицы кодирования, или большей, чем размер единицы кодирования. То есть, единица преобразования может задаваться без привязки к единице предсказания и единице кодирования.
Хотя Фиг.11A-11C иллюстрируют примеры, в которых единица преобразования имеет квадратную форму, однако, в соответствии со способом группировки соседних единиц предсказания, единица преобразования может иметь прямоугольную форму. Например, в случае, где единица предсказания задается не как имеющая прямоугольные формы, что проиллюстрировано на Фиг.11A-11С, а задается как имеющая четыре квадратные формы, полученные посредством разделения на четыре части единицы 1110 кодирования, верхняя и нижняя единицы предсказания или левая и правая единицы предсказания группируются таким образом, что единица преобразования может иметь прямоугольную форму, у которой горизонтальная сторона или вертикальная сторона длиннее.
Со ссылкой на Фиг.10, не существует ограничений по критерию, на основании которого модуль 1010 выбора производит выбор соседних единиц предсказания. Однако в соответствии с примерным вариантом осуществления модуль 1010 выбора может производить выбор единицы преобразования на основе глубины. Как описано выше, глубина указывает степень уменьшения размера, которое постепенно происходит от максимальной единицы кодирования текущей последовательности макроблоков или текущего кадра до суб-единицы кодирования. Как описано выше со ссылкой на Фиг.3 и 6, по мере роста глубины уменьшается размер суб-единицы кодирования, и, вследствие этого, также уменьшается единица предсказания, включенная в суб-единицу кодирования. В данном случае, если преобразование выполняется в соответствии с единицей преобразования, которая меньше или равна единице предсказания, то степень сжатия операции кодирования изображения ухудшается, поскольку в каждую единицу преобразования добавляется информация заголовка.
Таким образом, применительно к суб-единице кодирования на глубине, соответствующей заранее определенному значению, предпочтительно, но не обязательно, чтобы единицы предсказания, включенные в суб-единицу кодирования, группировались и задавались в качестве единицы преобразования, и затем над ней выполнялось преобразование. Для этого модуль 1010 выбора задает единицу преобразования на основе глубины суб-единицы кодирования. Например, в случае, где глубина единицы 1110 кодирования на Фиг.11C больше чем k, модуль 1010 выбора группирует единицы 1120 предсказания и задает их в качестве единицы 1150 преобразования.
В соответствии с другим примерным вариантом осуществления модуль 1010 выбора может группировать множество соседних единиц предсказания, над которыми выполняется предсказание, согласно одинаковому режиму предсказания, и может задать их в качестве одной единицы преобразования. Модуль 1010 выбора группирует соседние единицы предсказания, над которыми выполняется предсказание на основе внутреннего предсказания или взаимного предсказания, и затем задает их в качестве одной единицы преобразования. Поскольку существует высокая вероятность того, что соседние единицы предсказания, над которыми выполняется предсказание согласно одинаковому режиму предсказания, включают в себя одинаковые значения остатка, то существует возможность сгруппировать соседние единицы предсказания в единицу преобразования, а затем выполнить преобразование над соседними единицами предсказания.
Когда модуль 101 выбора задает единицу преобразования, то модуль 1020 выполнения преобразования преобразует соседние единицы предсказания в частотную область в соответствии с единицей преобразования. Модуль 1020 выполнения преобразования выполняет DCT над соседними единицами преобразования в соответствии с единицей преобразования и формирует дискретные косинусные коэффициенты.
Согласно Фиг.9, модуль 920 квантования квантует коэффициенты частотных составляющих, сформированные модулем 910 преобразования, например, дискретные косинусные коэффициенты. Модуль 920 квантования может квантовать дискретные косинусные коэффициенты, которые вводятся в соответствии с заранее определенным шагом квантования.
Энтропийный кодер 930 выполняет энтропийное кодирование коэффициентов частотных составляющих, квантованных модулем 920 квантования. Энтропийный кодер 930 может выполнять энтропийное кодирование над дискретными косинусными коэффициентами посредством использования контекстно-зависимого адаптивного переменного арифметического кодирования (CABAC) или контекстно-зависимого адаптивного кодирования с переменной длиной (CAVLC).
Устройство 900 кодирования изображения может определять оптимальную единицу преобразования посредством повторяющегося выполнения DCT, квантования и энтропийного кодирования над разными единицами преобразования. Для определения оптимальной единицы преобразования процедура выбора соседних единиц предсказания может повторяться. Оптимальная единица преобразования может определяться, принимая во внимание вычисление затрат RD, как подробно описано со ссылкой на Фиг.12.
Фиг.12 иллюстрирует разные единицы преобразования в соответствии с другим примерным вариантом осуществления.
Согласно Фиг.12, устройство 900 кодирования изображения неоднократно выполняет операцию кодирования над разными единицами преобразования.
Как проиллюстрировано на Фиг.12, единица 1210 кодирования может предсказываться и кодироваться на основе единицы 1220 предсказания, имеющей меньший размер, чем единица 1210 кодирования. Преобразование выполняется над значениями остатка, которые сформированы результатом предсказания, и здесь, как проиллюстрировано Фиг.12, DCT может выполняться над значениями остатка на основе разных единиц преобразования.
Первая проиллюстрированная единица 1230 преобразования имеет тот же размер, что и единица 1210 кодирования, и имеет размер, полученный группировкой всех единиц предсказания, включенных в единицу 1210 кодирования.
Вторая проиллюстрированная единица 1240 преобразования имеет размеры, полученные посредством разделения пополам ширины единицы 1210 кодирования, и размеры, полученные посредством группировки каждых двух единиц предсказания, соседствующих друг с другом в вертикальном направлении, соответственно.
Третья проиллюстрированная единица 1250 преобразования имеет размеры, полученные посредством разделения пополам высоты единицы 1210 кодирования, и размеры, полученные посредством группировки каждых двух единиц предсказания, соседствующих друг с другом в горизонтальном направлении, соответственно.
Четвертая проиллюстрированная единица 1260 преобразования используется, когда преобразование выполняется на основании четвертой проиллюстрированной единицы 1260 преобразования, имеющий тот же размер, что и единица 1220 предсказания.
Фиг.13 является блок-схемой устройства 1300 декодирования изображения в соответствии с другим примерным вариантом осуществления.
Согласно Фиг.13, устройство 1300 декодирования изображения в соответствии с настоящим примерным вариантом осуществления включает в себя энтропийный декодер 1310, модуль 1320 обратного квантования и модуль 1330 обратного преобразования.
Энтропийный декодер 1310 выполняет энтропийное декодирование над коэффициентами частотных составляющих в отношении заранее определенной единицы преобразования. Как описано выше, со ссылкой на Фиг.11A-11C и 12, заранее определенная единица преобразования может быть единицей преобразования, сформированной посредством группировки множества соседних единиц предсказания.
Как описано выше со ссылкой на устройство 900 кодирования изображения, единица преобразования может быть сформирована посредством группировки соседних единиц предсказания на основе глубины или может быть сформирована посредством группировки множества соседних единиц предсказания, над которыми предсказание выполняется согласно одинаковому режиму предсказания, то есть в соответствии с режимом внутреннего предсказания или режимом взаимного предсказания.
Множество единиц предсказания могут быть включенными не в одну единицу кодирования, а включенными во множество единиц кодирования. Другими словами, как описано выше со ссылкой на Фиг.11A-11C, единица преобразования, которая энтропийно декодируется энтропийным декодером 1310, может задаваться как равная или меньше, чем размер единицы кодирования, или больше размера единицы кодирования.
Как описано выше со ссылкой на Фиг.12, единица преобразования может быть оптимальной единицей преобразования, выбранной посредством повторения процедуры группировки множества соседних единиц предсказания и посредством повторяющегося выполнения преобразования, квантования и энтропийного декодирования над разными единицами преобразования.
Модуль 1320 обратного квантования обратно квантует коэффициенты частотных составляющих, которые энтропийно декодированы энтропийным декодером 1310.
Модуль 1320 обратного квантования обратно квантует энтропийно декодированные коэффициенты частотных составляющих в соответствии с шагом квантования, который использовался при кодировании единицы преобразования.
Модуль 1330 обратного преобразования выполняет обратное преобразование обратно квантованных коэффициентов частотных составляющих в пиксельную область. Модуль обратного преобразования может выполнять обратное DCT над обратно квантованными дискретными косинусными коэффициентами (т.е., обратно квантованными коэффициентами частотных составляющих) и затем может воссоздавать единицу преобразования в пиксельной области. Воссозданная единица преобразования может включать в себя соседние единицы предсказания.
Фиг.14 является блок-схемой последовательности операций способа кодирования изображения в соответствии с примерным вариантом осуществления.
Согласно Фиг.14, в операции 1410, устройство кодирования изображения задает единицу преобразования посредством выбора множества соседних единиц предсказания. Устройство кодирования изображения может выбрать множество соседних единиц предсказания в соответствии с глубиной или может выбрать множество соседних единиц предсказания, над которыми предсказание выполняется согласно одинаковому режиму предсказания.
В операции 1420, устройство кодирования изображения преобразует соседние единицы предсказания в частотную область, в соответствии с единицей преобразования, установленной на операции 1420. Устройство кодирования изображения группирует соседние единицы предсказания, выполняет DCT над соседними единицами предсказания и таким образом формирует дискретные косинусные коэффициенты.
В операции 1430, устройство кодирования изображения квантует коэффициенты частотных составляющих, сформированные на операции 1420, в соответствии с шагом квантования.
В операции 1440, устройство кодирования изображения выполняет энтропийное кодирование над коэффициентами частотных составляющих, квантованными в операции 1430. Устройство кодирования изображения выполняет энтропийное кодирование над дискретными косинусными коэффициентами при помощи CABAC или CAVLC.
Способ кодирования изображения в соответствии с другим примерным вариантом осуществления может дополнительно включать в себя операцию по установке оптимальной единицы преобразования посредством повторяющегося выполнения операций 1410-1440 над разными единицами преобразования. То есть, посредством повторяющегося выполнения преобразования, квантования и энтропийного кодирования над разными единицами преобразования, как проиллюстрировано на Фиг.12, существует возможность установить оптимальную единицу преобразования.
Фиг.15 является блок-схемой последовательности операций способа декодирования изображения в соответствии с другим примерным вариантом осуществления.
Согласно Фиг.15, в операции 1510, устройство декодирования изображения выполняет энтропийное декодирование над коэффициентами частотных составляющих по отношению к заранее определенной единице преобразования. Коэффициенты частотных составляющих могут быть дискретными косинусными коэффициентами.
В операции 1520, устройство декодирования изображения обратно квантует коэффициенты частотных составляющих, которые энтропийно декодированы в операции 1510. Устройство декодирования изображения обратно квантует дискретные косинусные коэффициенты посредством использования шага квантования, использованного на операции кодирования.
В операции 1530, устройство декодирования изображения обратно преобразует коэффициенты частотных составляющих, которые были обратно квантованы в операции 1520, в пиксельную область и затем воссоздает единицу преобразования. Воссозданная единица преобразования задается посредством группировки множества соседних единиц предсказания. Как описано выше, единица преобразования может задаваться посредством группировки соседних единиц предсказания на основе глубины или может задаваться посредством группирования множества соседних единиц предсказания, предсказание над которыми выполняется согласно одинаковому режиму предсказания.
В соответствии с одним или более примерными вариантами осуществления, существует возможность задания единицы преобразования таким образом, чтобы она была крупнее единицы предсказания, и выполнения DCT таким образом, чтобы изображение могло быть эффективно сжато и закодировано.
Примерные варианты осуществления также могут быть воплощены в качестве машиночитаемых кодов на машиночитаемом носителе записи. Машиночитаемый носитель записи является любым устройством хранения данных, которое может хранить данные, которые впоследствии могут быть считаны компьютерной системой. Примеры машиночитаемого носителя записи включают в себя постоянную память (ROM), оперативную память (RAM), CD-ROM, магнитные ленты, гибкие диски и оптические устройства хранения данных. Машиночитаемый носитель записи также может быть распределен между объединенными в сеть компьютерными системами таким образом, что машиночитаемый код хранится и исполняется распределенным образом.
Например, каждое из устройства кодирования изображения, устройства декодирования изображения, кодер изображения и декодер изображения в соответствии с одним или более вариантами осуществления может включать в себя шину, связанную с каждым модулем в устройстве, как проиллюстрировано на Фиг.1-2, 4-5, 9-10 и 14, и по меньшей мере один процессор, связанный с шиной. Каждое из устройства кодирования изображения, устройства декодирования изображения, кодера изображения и декодера изображения в соответствии с одним или более вариантами осуществления может включать в себя память, связанную с по меньшей мере одним процессором, который связан с шиной, чтобы хранить команды, принимаемые сообщения или формируемые сообщения и исполнять команды.
Хотя настоящее изобретение подробно показано и описано со ссылкой на его примерные варианты осуществления, специалисту в соответствующей области должно быть понятно, что применительно к ним могут быть выполнены различные изменения по форме и деталях, не отступая от сущности и объема изобретения, как определено прилагаемой формулой изобретения. Примерные варианты осуществления должны рассматриваться исключительно в пояснительном смысле, а не в целях наложения ограничений. Вследствие этого объем изобретения определяется не подробным описанием изобретения, а прилагаемой формулой изобретения, и все отличия, лежащие в рамках объема, должны рассматриваться как включенные в настоящее изобретении.
Изобретение относится к вычислительной технике. Технический результат заключается в повышении эффективности декодирования изображения. Способ декодирования изображения, в котором определяют имеющие иерархическую структуру единицы кодирования для декодирования изображения, по меньшей мере, одну единицу предсказания для предсказания каждой единицы кодирования, и, по меньшей мере, одну единицу преобразования для обратного преобразования каждой единицы кодирования, посредством использования информации о форме разделения единицы кодирования, по меньшей мере, одной единице предсказания и, по меньшей мере, одной единице преобразования; получают посредством анализа из битового потока коэффициенты преобразования и восстанавливают кодированные данные, по меньшей мере, одной единицы предсказания посредством выполнения энтропийного декодирования, обратного квантования и обратного преобразования над коэффициентами преобразования; и выполняют внутреннее предсказание или взаимное предсказание над восстановленными кодированными данными и восстанавливают кодированное видео, причем единицы кодирования разделяются иерархически в соответствии с глубиной единицы кодирования, и, по меньшей мере, одна единица преобразования содержит единицу преобразования, имеющую больший размер, чем размер, по меньшей мере, одной единицы предсказания. 3 з.п. ф-лы, 18 ил.
1. Способ декодирования изображения, содержащий этапы, на которых
определяют имеющие иерархическую структуру единицы кодирования для декодирования изображения, по меньшей мере одну единицу предсказания для предсказания каждой единицы кодирования, и по меньшей мере одну единицу преобразования для обратного преобразования каждой единицы кодирования, посредством использования информации о форме разделения единицы кодирования, информации о по меньшей мере одной единице предсказания и информации о по меньшей мере одной единице преобразования, полученных посредством анализа из принятого битового потока кодированного видео;
получают посредством анализа из битового потока коэффициенты преобразования, сформированные преобразованием в соответствии с по меньшей мере одной единицей преобразования, сформированной разделением единицы кодирования, и восстанавливают кодированные данные по меньшей мере одной единицы предсказания посредством выполнения энтропийного декодирования, обратного квантования и обратного преобразования над полученными посредством анализа коэффициентами преобразования; и
выполняют внутреннее предсказание или взаимное предсказание над восстановленными кодированными данными и восстанавливают кодированное видео,
причем единицы кодирования разделяются иерархически в соответствии с глубиной единицы кодирования, и
по меньшей мере одна единица преобразования содержит единицу преобразования, имеющую больший размер, чем размер по меньшей мере одной единицы предсказания.
2. Способ по п.1, в котором по меньшей мере одна единица предсказания содержит множество единиц предсказания, и
при этом единица преобразования, имеющая больший размер, сформирована посредством группировки множества единиц предсказания.
3. Способ по п.1, в котором размер по меньшей мере одной единицы преобразования отличается от размера по меньшей мере одной единицы предсказания и размера единицы кодирования.
4. Способ по п.1, в котором видео в кодированном видео кодировано на основе информации о максимальном размере единицы кодирования и глубины единицы кодирования, причем единица кодирования иерархически разделяется на единицы кодирования с глубинами кодирования в соответствии с глубинами,
единица кодирования текущей глубины является одной из прямоугольных единиц данных, полученных разделением из единицы кодирования более высокой глубины, и
при этом единица кодирования текущей глубины разделяется на единицы кодирования более низкой глубины, до единиц кодирования соответствующей глубины кодирования, независимо от соседних единиц кодирования.
US 7088269 B2, 08.08.2006 | |||
Станок для изготовления деревянных ниточных катушек из цилиндрических, снабженных осевым отверстием, заготовок | 1923 |
|
SU2008A1 |
Колосоуборка | 1923 |
|
SU2009A1 |
Способ приготовления мыла | 1923 |
|
SU2004A1 |
Колосоуборка | 1923 |
|
SU2009A1 |
RU 2008101377 A, 20.07.2009 |
Авторы
Даты
2014-04-10—Публикация
2010-08-13—Подача