ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к кодированию и декодированию видео.
УРОВЕНЬ ТЕХНИКИ
По мере того как разрабатывается и поставляется аппаратное обеспечение для воспроизведения и сохранения видео контента с высоким разрешением или с высоким качеством, возрастает потребность в видео кодеке для эффективного кодирования или декодирования видео контента с высоким разрешением или с высоким качеством. В обычном видео кодеке видео кодируется в соответствии с ограниченным способом кодирования на основе макроблока с заранее заданным размером.
Способ кодирования с предсказанием на основе макроблока может создавать эффект блокирования из-за прерывистых значений пикселей на границах блоков. Поэтому в видео кодеке выполняется деблокирующая фильтрация для улучшения сжимаемости видео и качества восстановленного изображения.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
ТЕХНИЧЕСКАЯ ПРОБЛЕМА
В настоящем изобретении предложен способ выполнения деблокирующей фильтрации в видео кодеке путем использования единицы кодирования, преодолевающей ограничения обычного способа кодирования на основе макроблока и имеющий новую древовидную структуру.
ТЕХНИЧЕСКОЕ РЕШЕНИЕ
В настоящем изобретении предложены способ и устройство для выполнения деблокирующей фильтрации, которая уменьшает деблокирующий эффект, создаваемый в области границы единиц кодирования в видео, кодированном на основе единицы кодирования древовидной структуры.
ПОЛЕЗНЫЕ ЭФФЕКТЫ
В соответствии с вариантами осуществления настоящего изобретения качество сжатого и восстановленного видео может быть значительно улучшено путем удаления деблокирующего эффекта из сжатого и восстановленного видео на основе единицы кодирования древовидной структуры.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1 - блок-схема устройства для кодирования видео, которое выполняет деблокирующую фильтрацию на основе единиц кодирования с древовидной структурой, в соответствии с одним вариантом осуществления настоящего изобретения;
Фиг.2 - блок-схема устройства для декодирования видео, которое выполняет деблокирующую фильтрацию на основе единиц кодирования с древовидной структурой, в соответствии с одним вариантом осуществления настоящего изобретения;
Фиг.3 - схема для описания концепции единиц кодирования в соответствии с одним вариантом осуществления настоящего изобретения;
Фиг.4 - блок-схема кодера изображения на основе единиц кодирования в соответствии с одним вариантом осуществления настоящего изобретения;
Фиг.5 - блок-схема декодера изображения на основе единиц кодирования в соответствии с одним вариантом осуществления настоящего изобретения;
Фиг.6 - схема, иллюстрирующая единицы кодирования с большей глубиной в соответствии с глубинами и единицы предсказания, в соответствии с одним вариантом осуществления настоящего изобретения;
Фиг.7 - схема для описания взаимосвязи между единицами кодирования и единицами преобразования, в соответствии с вариантом осуществления настоящего изобретения;
Фиг.8 - схема для описания кодирующей информации единиц кодирования, соответствующих кодированной глубине, в соответствии с одним вариантом осуществления настоящего изобретения;
Фиг.9 - схема единиц кодирования с большей глубиной в соответствии с глубинами, в соответствии с одним вариантом осуществления настоящего изобретения;
Фиг. 10-12 - схемы, описывающие взаимосвязь между единицами кодирования, единицами предсказания и единицами преобразования, в соответствии с одним вариантом осуществления настоящего изобретения;
Фиг.13 - схема, описывающая взаимосвязь между единицей кодирования, единицей предсказания и единицей преобразования, в соответствии с информацией режима кодирования из Таблицы 1;
Фиг.14 иллюстрирует максимальные единицы кодирования, единицы кодирования с древовидной структурой, полученные разделением каждой максимальной единицы кодирования, единицы предсказания, полученные разделением каждой единицы кодирования, и единицы данных, включающие в себя единицы преобразования;
Фиг. 15-17 иллюстрируют границы фильтрации, определяемые на основании границ единиц данных, имеющих заранее определенный или превышающий размер, по отношению к единицам данных с фиг.14;
Фиг.18 - схема для описания процесса деблокирующей фильтрации в соответствии с одним вариантом осуществления настоящего изобретения, на основе границ фильтрации по Фиг.17;
Фиг. 19А-19В иллюстрируют пиксели, расположенные на границах фильтрации, чтобы описать деблокирующую фильтрацию в соответствии с одним вариантом осуществления настоящего изобретения;
Фиг. 20А-20В - таблицы для определения пороговых значений α и β в соответствии с одним вариантом осуществления настоящего изобретения;
Фиг.21 - схема для описания процесса задания значения смещения относительно порогового значения α в соответствии с одним вариантом осуществления настоящего изобретения;
Фиг. 22А и 22В - таблицы, используемые для определения заранее определенного промежуточного значения, используемого в процессе деблокирующей фильтрации в соответствии с одним вариантом осуществления настоящего изобретения;
Фиг.23 - блок-схема последовательности операций, иллюстрирующая способ кодирования видео на основе единиц кодирования в соответствии с одним вариантом осуществления настоящего изобретения; и
Фиг.24 - блок-схема последовательности операций, иллюстрирующая способ декодирования видео на основе единиц кодирования в соответствии с одним вариантом осуществления настоящего изобретения.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
В соответствии с одним аспектом настоящего изобретения представлен способ кодирования видео, который выполняет деблокирующую фильтрацию на основании единиц кодирования, при этом способ включает в себя разбиение одной картинки на по меньшей мере одну максимальную единицу кодирования, которая представляет собой единицу данных с максимальным размером; определение единиц кодирования, которые являются иерархически сконфигурированными в соответствии с глубинами, указывающими сколько раз по меньшей мере одна максимальная единица кодирования пространственно разбивается, и единиц предсказания и единиц преобразования соответственно для предсказания и преобразования единиц кодирования; определение границы фильтрации, на которой должна выполняться деблокирующая фильтрация, на основании по меньшей мере одной единицы данных из единиц кодирования, единиц предсказания и единиц преобразования; определение силы фильтрации на границе фильтрации на основании режима предсказания единицы кодирования, к которой принадлежат смежные пиксели на основании границы фильтрации, и значений коэффициента преобразования пикселей, смежных с границей фильтрации; и выполнение деблокирующей фильтрации на основании определенной силы фильтрации.
В соответствии с другим аспектом настоящего изобретения представлен способ декодирования видео, который выполняет деблокирующую фильтрацию на основании единиц кодирования, при этом способ включает в себя выделение данных изображения, кодированных в соответствии с единицами кодирования, информации режима кодирования о единицах кодирования с древовидной структурой, и информации о деблокирующей фильтрации в максимальной единице кодирования в соответствии с единицами кодирования с древовидной структурой, включенными в каждую максимальную единицу кодирования, полученную разбиением текущей картинки, путем автоматического анализа принятого битового потока; определение единиц предсказания и единиц преобразования для предсказания и преобразования в соответствии с единицами кодирования и декодирования закодированных данных изображения, на основании информации режима кодирования о единицах кодирования с древовидной структурой; определение границы фильтрации, до которой должна быть выполнена деблокирующая фильтрация из границ, по меньшей мере одной единицы данных из единиц кодирования с древовидной структурой, единиц предсказания и единиц преобразования, путем использования информации о деблокирующей фильтрации; определение силы фильтрации границы фильтрации на основании режима предсказания единицы кодирования, к которой принадлежат смежные пиксели на основании определенной границы фильтрации, и значений коэффициентов преобразования пикселей, смежных с границей фильтрации; и выполнение деблокирующей фильтрации на декодированных данных изображения на основании определенной силы фильтрации.
В соответствии с другим аспектом настоящего изобретения представлено устройство для кодирования видео, которое выполняет деблокирующую фильтрацию на основании единиц кодирования, при этом устройство включает в себя определитель единицы кодирования для определения единиц кодирования, которые иерархически сконфигурированы в соответствии с глубинами, указывающими сколько раз по меньшей мере одна максимальная единица кодирования пространственно разбивается, причем максимальная единица кодирования представляет собой единицу данных с максимальным размером, которая разбивается для кодирования одной картинки, и единицы предсказания и единицы преобразования соответственно для предсказания и преобразования единиц кодирования; модуль деблокирующей фильтрации для определения границы фильтрации, на которой деблокирующая фильтрация должна быть выполнена на основании по меньшей мере одной единицы данных из единиц кодирования, единиц предсказания и единиц преобразования, для определения силы фильтрации на границе фильтрации на основании режима предсказания единицы кодирования, к которой принадлежат смежные пиксели на основании границы фильтрации, и значений коэффициента преобразования пикселей, смежных с границей фильтрации, и выполнения деблокирующей фильтрации на основании определенной силы фильтрации; и передатчик для кодирования информации о деблокирующей фильтрации и передачи информации с закодированными данными одной картинки и информации режима кодирования о единицах кодирования с древовидной структурой.
В соответствии с еще одним аспектом настоящего изобретения представлено устройство для декодирования видео, которое выполняет деблокирующую фильтрацию на основании единиц кодирования, при этом устройство включает в себя модуль приема и выделения для выделения данных изображения, закодированных в соответствии с единицами кодирования, информации режима кодирования о единицах кодирования с древовидной структурой, и информации о деблокирующей фильтрации в максимальной единице кодирования, в соответствии с единицами кодирования с древовидной структурой, включенной в каждую максимальную единицу кодирования, полученную разбиением текущей картинки, путем анализа принятого битового потока; декодер для определения единиц предсказания и единиц преобразования для предсказания и преобразования в соответствии с единицами кодирования и декодирования кодированных данных изображения, на основании информации режима кодирования о единицах кодирования с древовидной структурой; и модуль деблокирующей фильтрации для определения границы фильтрации, до которой деблокирующая фильтрация должна быть выполнена, из границ по меньшей мере одной единицы данных из единиц кодирования с древовидной структурой, единиц предсказания и единиц преобразования, путем использования информации о деблокирующей фильтрации, определения силы фильтрации границы фильтрации на основании режима предсказания единицы кодирования, к которому принадлежат смежные пиксели, на основании определенной границы фильтрации, и значений коэффициентов преобразования пикселей, смежных с границей фильтрации, и выполнения деблокирующей фильтрации на декодированных данных изображения на основании определенной силы фильтрации.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Фиг.1 представляет собой блок-схему устройства 100 кодирования видео, которое выполняет деблокирующую фильтрацию на основании единиц кодирования с древовидной структурой, в соответствии с одним вариантом осуществления настоящего изобретения.
Устройство 100 кодирования видео включает в себя определитель 110 единицы кодирования, модуль 130 деблокирующей фильтрации и передатчик 120.
Определитель 110 единицы кодирования принимает данные изображения одной картинки видео и разбивает картинку по меньшей мере на одну максимальную единицу кодирования, которая представляет собой единицу данных с максимальным размером. Максимальная единица кодирования в соответствии с одним вариантом осуществления настоящего изобретения может быть единицей данных с размером 32×32, 64×64, 128×128, 256×256, и т.д., в котором форма единицы данных представляет собой квадрат с шириной и длиной, (кратными 2) равными 2 в квадрате, что больше 8.
Определитель 110 единицы кодирования определяет единицы кодирования с иерархической структурой в соответствии с областями, пространственно разнесенными по каждой максимальной единице кодирования. Единицы кодирования могут быть выражены на основании глубины, указывающей количество раз пространственного разбиения максимальной единицы кодирования. В развернутом виде, единицы кодирования с древовидной структурой включают в себя единицы кодирования, соответствующие глубине, определенной как кодированная глубина, из всех единиц кодирования с большей глубиной в соответствии с глубинами, включенными в максимальную единицу кодирования. Единица кодирования кодированной глубины может быть иерархически определена в соответствии с глубинами в одной и той же области максимальной единицы кодирования, а может быть независимо определена в разных областях.
Определитель 110 единицы кодирования может кодировать каждую единицу кодирования с большей глубиной, включенную в текущую максимальную единицу кодирования, и определять единицу кодирования для вывода оптимального результата кодирования и кодированной глубины, которая представляет собой соответствующую глубину, путем сравнения результатов кодирования единиц кодирования меньшей глубины и большей глубины в соответствии с областями. Также, кодированная глубина текущей области может быть независимо определена из кодированной глубины другой области.
Следовательно, определитель 110 единицы кодирования может определить единицы кодирования с древовидной структурой в кодированной глубине независимо определенной в соответствии с областями по каждой максимальной единице кодирования. Также, определитель 110 единицы кодирования выполняет кодирование с предсказанием при определении единиц кодирования кодированной глубины. Определитель 110 единицы кодирования может определить единицу предсказания или сектор, который представляет собой единицу данных для выполнения кодирования с предсказанием для вывода оптимального результата кодирования в единицу кодирования кодированной глубины. Например, примеры типа секторов в отношении единицы кодирования с размером 2N×2N (где N - положительное целое) могут включать в себя сектора с размерами 2N×2N, 2N×N, N×2N или N×N. Примеры типа секторов включают в себя симметричные сектора, которые получаются путем симметричного разбиения высоты или ширины единицы кодирования, сектора, полученные путем ассиметричного разбиения высоты или ширины единицы кодирования, такого как 1:n или n:1, сектора, которые получаются путем геометрического разбиения единицы предсказания, и сектора с произвольными формами. Также режим предсказания типа разбиения может быть взаимным режимом, внутренним режимом, режимом пропуска или тому подобным.
Единица кодирования в соответствии с одним вариантом осуществления настоящего изобретения может характеризоваться максимальным размером и глубиной. Глубина обозначает количество раз иерархического разбиения единицы кодирования из максимальной единицы кодирования, и так как глубина увеличивается, то единицы кодирования с большей глубиной в соответствии с глубинами могут быть получены разбиением из максимальной единицы кодирования до минимальной единицы кодирования. Глубина максимальной единицы кодирования представляет собой наибольшую глубину, а глубина минимальной единицы кодирования является наименьшей глубиной. Так как размер единицы кодирования, соответствующий каждой глубине, уменьшается, по мере того как глубина максимальной единицы кодирования увеличивается, то единица кодирования, соответствующая большей глубине, может включать в себя множество единиц кодирования, соответствующих меньшим глубинам.
Максимальная глубина в соответствии с одним вариантом осуществления настоящего изобретения представляет собой индекс, указывающий, сколько раз происходило разбиение максимальной единицы кодирования до минимальной единицы кодирования. Первая максимальная глубина в соответствии с одним вариантом осуществления настоящего изобретения может обозначать общее количество разбиений максимальной единицы кодирования до минимальной единицы кодирования. Вторая максимальная глубина в соответствии с одним вариантом осуществления настоящего изобретения может обозначать общее количество уровней глубины от максимальной единицы кодирования до минимальной единицы кодирования. Например, когда глубина максимальной единицы кодирования равна 0, глубина единицы кодирования, при которой максимальная единица кодирования разбивается один раз, может быть установлена равной 1, а глубина единицы кодирования, при которой максимальная единица кодирования разбивается 2 раза, может быть установлена равной 2. Отсюда, если минимальная единица кодирования представляет собой единицу кодирования, до которой максимальная единица кодирования разбивалась четыре раза, существуют 5 уровней глубины - глубины 0, 1, 2, 3 и 4, и, таким образом, первая максимальная глубина может быть установлена равной 4, а вторая максимальная глубина может быть установлена равной 5.
Единицы кодирования с древовидной структурой в максимальной единице кодирования и способ определения сектора, в соответствии вариантами осуществления настоящего изобретения, будут описаны подробно ниже со ссылкой на Фиг. 3-12.
Блок 130 деблокирующей фильтрации определяет границу фильтрации, до которой должна быть выполнена деблокирующая фильтрация на основании по меньшей мере одной единицы данных из единиц кодирования, единиц предсказания и единиц преобразования и определяет силу фильтрации на границе фильтрации на основании режима предсказания единицы кодирования, к которой принадлежат смежные пиксели на основании определенной границы фильтрации и значений коэффициентов преобразования пикселей, смежных с границей фильтрации, и выполняет деблокирующую фильтрацию на основании силы фильтрации. Например, когда единицы кодирования, единицы предсказания и единицы преобразования определяются, как будет описано ниже, то модуль 130 деблокирующей фильтрации может определять границу единиц данных с заранее заданным размером или выше как границу фильтрации, до которой должна быть выполнена деблокирующая фильтрация на основании размеров единиц кодирования, единиц предсказания и единиц преобразования, и выполняет деблокирующую фильтрацию на пикселях, смежных с границей фильтрации.
Передатчик 120 может кодировать информацию о деблокирующей фильтрации, определенной модулем 130 деблокирующей фильтрации, и передавать информацию наряду с кодированными данными картинки и информацией режима кодирования о единицах кодирования с древовидной структурой максимальной единицы кодирования. Информация о деблокирующей фильтрации может включать в себя информацию об определении границы фильтрации, такую, как размер единицы данных для определения единицы данных для выполнения деблокирующей фильтрации из границ единиц данных, таких как единицы кодирования, единицы предсказания и единицы преобразования.
Передатчик 120 может вставлять и передавать информацию о деблокирующей фильтрации в набор параметров последовательности (SPS) или набор параметров картинки (PPS) картинки.
Процесс определения границы фильтрации для деблокирующей фильтрации и процесс деблокирующей фильтрации в соответствии с вариантами осуществления настоящего изобретения будут описаны подробно со ссылкой на Фиг. 14-24.
Определитель 110 единицы кодирования может определять единицу кодирования с оптимальной формой и размером для каждой максимальной единицы кодирования на основании размера и максимальной глубины максимальной единицы кодирования, определенной с учетом рассмотрения характеристик текущий картинки. Также, поскольку кодирование может быть выполнено с использованием любого из различных режимов предсказания и способов преобразования по каждой максимальной единице кодирования, то оптимальный режим кодирования может быть определен, принимая во внимание характеристики изображения единиц кодирования с различными размерами изображения.
Если изображение с высоким разрешением или большим количеством данных кодируется в обычном макроблоке с фиксированным размером 16×16 или 8×8, то количество макроблоков на каждую картинку существенно возрастает. Следовательно, количество участков сжатой информации, генерированных каждым макроблоком, возрастает и, таким образом, затрудняет передачу сжатой информации, и эффективность сжатия данных падает. Однако, используя определитель 110 единицы кодирования, окончательная эффективность сжатия видео может быть увеличена, поскольку единица кодирования регулируется, принимая во внимание характеристики изображения наряду с увеличением максимального размера единицы кодирования, учитывая размер изображения.
Также кодирование с предсказанием, имеющее уменьшенную ошибку с исходной картинкой может быть выполнено с помощью опорной картинки, которая деблочно отфильтрована, посредством деблокирующей фильтрации на основании единиц кодирования с древовидной структурой.
Фиг.2 представляет блок-схему устройства 200 декодирования видео, которое выполняет деблокирующую фильтрацию на основании единиц кодирования с древовидной структурой, согласно одному варианту осуществления настоящего изобретения.
Устройство 200 декодирования видео включает в себя модуль 210 приема и выделения, декодер 220 и модуль 230 деблокирующей фильтрации.
Модуль 210 приема и выделения выделяет данные изображения, кодированные согласно единицам кодирования с древовидной структурой, информацией режима о единицах кодирования и информации о деблокирующей фильтрации, в соответствии с максимальными единицами кодирования, путем приема и автоматического анализа битового потока видео. Модуль 210 приема и выделения может выделять информацию о деблокирующей фильтрации из SPS или PPS картинки.
Декодер 220 декодирует данные изображения, кодированные в соответствии с единицами кодирования, на основании информации режима кодирования о единицах кодирования с древовидной структурой, выделенной модулем 210 приема и выделения.
Декодер 220 может определять единицу кодирования кодированной глубины, включенную в максимальную единицу кодирования, и тип сектора, режим предсказания и единицу преобразования единицы кодирования на основании информации режима кодирования о единицах кодирования с древовидной структурой, соответствующей максимальным единицам кодирования.
Декодер 220 может декодировать кодированные данные изображения максимальной единицы кодирования путем декодирования кодированных данных изображения на основании определенного типа сектора, режима предсказания и единицы преобразования по каждой единице кодирования из единиц кодирования с древовидной структурой, включенных в состав максимальной единицы кодирования.
Данные изображения, декодированные декодером 220 и информация о деблокирующей фильтрации, выделенная модулем 210 приема и выделения, вводятся в модуль 230 деблокирующей фильтрации.
Модуль 230 деблокирующей фильтрации определяет границу фильтрации, до которой должна быть выполнена деблокирующая фильтрация, из границ по меньшей мере одной единицы данных из единиц кодирования с древовидной структурой, единиц предсказания и единиц преобразования, путем использования информации о деблокирующей фильтрации, определяет силу фильтрации на границе фильтрации на основании режима предсказания единицы кодирования, к которой принадлежат смежные пиксели на основании границы фильтрации и значений коэффициента преобразования пикселей, смежных с границей фильтрации, и выполняет деблокирующую фильтрацию на данных деблокирующей фильтрации на основании силы фильтрации.
С использованием модуля 230 деблокирующей фильтрации ошибка между восстановленным изображением и исходным изображением может быть уменьшена, так как декодирование с предсказанием выполняется на последующей картинке путем обращения к опорной картинке, до которой выполняется деблокирующая фильтрация.
На Фиг.3 показана схема, описывающая концепцию единиц кодирования в соответствии с одним вариантом осуществления настоящего изобретения.
Размер единицы кодирования может быть выражен как ширина × высота, и может быть 64×64, 32×32, 16×16, 8×8. Единица кодирования с размером 64×64 может быть разбита на единицы предсказания с размером 64×64, 64×32, 32×64 или 32×32, а единица кодирования с размером 32×32 может быть разбита на единицы предсказания с размером 32×32, 32×16, 16×32 или 16×16, а единица кодирования с размером 16×16 может быть разбита на единицы предсказания с размером 16×16, 16×8, 8×16, или 8×8, а единица кодирования с размером 8×8 может быть разбита на единицы предсказания 8×8, 8×4, 4×8 или 4×4.
В видеоданных 310 разрешение равно 1920×1080, максимальный размер единицы кодирования 64, и максимальная глубина 2. В видеоданных 320 разрешение равно 1920×1080, максимальный размер единицы кодирования 64, и максимальная глубина 3. В видеоданных 330 разрешение равно 352×288, максимальный размер единицы кодирования 16, максимальная глубина 1. Максимальная глубина, показанная на Фиг.3, обозначает общее количество разбиений максимальной единицы кодирования до минимальной единицы декодирования.
Если разрешение высокое или количество данных большое, то максимальный размер единицы кодирования может быть большим, что не только повышает эффективность кодирования, но также точно отражает характеристики изображения. Следовательно, максимальный размер единицы кодирования видеоданных 310 и 320 с более высоким разрешением, чем видеоданные 330, может быть 64.
Так как глубина видеоданных 310 равна 2, то единицы кодирования 315 видеоданных 310 могут включать в себя максимальную единицу кодирования с размером 64 длинной оси и единицы кодирования с размерами 32 и 16 длинной оси, поскольку глубины стали глубже на два уровня путем двойного разбиения максимальной единицы кодирования. При этом, так как максимальная глубина видео данных 330 равна 1, то единицы кодирования 335 видеоданных 330 могут включать в себя максимальную единицу кодирования с размером 16 длинной оси, и единицы кодирования с размером 8 длинной оси, поскольку глубины стали глубже на один уровень путем одноразового разбиения максимальной единицы кодирования.
Так как максимальная глубина видео данных 320 равна 3, то единицы кодирования 325 видеоданных 320 могут включать в себя максимальную единицу кодирования с размером 64 длинной оси и единицы кодирования с размерами 32, 16 и 8 длинной оси, так как глубины стали глубже на 3 уровня путем разбиения максимальной единицы кодирования три раза. Из-за того, что глубина увеличивается, подробная информация может быть выражена точно.
На Фиг. 4 показана блок-схема кодера 400 изображения, основанного на единицах кодирования, в соответствии с одним вариантом осуществления настоящего изобретения.
Кодер 400 изображения может соответствовать устройству 100 кодирования видео. Другими словами, внутренний предиктор 410 выполняет внутреннее предсказание по единицам кодирования во внутреннем режиме из текущего кадра 405, а оценщик 420 движения и компенсатор 425 движения выполняют взаимную оценку и компенсацию движения по единицам кодирования во внутреннем режиме из текущего кадра 405, используя текущий кадр 405 и опорный кадр 495.
Данные, выведенные из внутреннего предиктора 410, оценщика 420 движения и компенсатора 425 движения вводятся как квантованный коэффициент преобразования через преобразователь 430 и квантователь 440. Квантованный коэффициент преобразования восстанавливается как данные в пространственной области через инверсный квантователь 460 и инверсный преобразователь 470, и восстановленные данные в пространственной области выводятся как опорный кадр 495 после пост-обработки модулем 480 деблокирования и модулем 490 контурного фильтра. Квантованный коэффициент преобразования может быть выведен как битовый поток 455 через энтропийный кодер 450.
Внутренний предиктор 410, оценщик 420 движения, компенсатор 425 движения, преобразователь 430, квантователь 440, энтропийный кодер 450, инверсный квантователь 460, инверсный преобразователь 470, модуль 480 деблокирования 480 и модуль 490 контурного фильтра декодера 400 изображения могут работать, принимая во внимание единицы кодирования с древовидной структурой, в соответствии с максимальными единицами кодирования.
В частности, модуль 480 деблокирования определяет границу фильтрации, до которой деблокирующая фильтрация должна быть выполнена, на основании максимального размера единицы кодирования и единиц кодирования с древовидной структурой, определяет силу фильтрации на границе фильтрации на основании режима предсказания единицы кодирования, к которой принадлежат смежные пиксели на основании границы фильтрации, и значений коэффициентов преобразования пикселей, смежных с границей фильтрации, и выполняет деблокирующую фильтрацию, основанную на силе фильтрации.
Фиг.5 - блок-схема декодера 500 изображения, основанного на единицах кодирования в соответствии с одним вариантом осуществления настоящего изобретения.
Анализатор 510 анализирует кодированные данные изображения, которые должны быть декодированы, и информацию о кодировании, необходимую для декодирования, из битового потока 505. Данные кодированного изображения выводятся как инверсные квантованные данные через энтропийный декодер 520 и инверсный квантователь 530, и инверсные квантованные данные восстанавливаются в данные изображения в пространственной области посредством инверсного преобразователя 540.
Внутренний предиктор 550 выполняет внутреннее предсказание по единицам кодирования во внутреннем режиме в отношении данных изображения в пространственном домене, и компенсатор 560 движения выполняет компенсацию на единицах кодирования во взаимном режиме с помощью использования опорного кадра 585.
Данные изображения в пространственном домене, которые прошли через внутренний предиктор 550 и компенсатор 560 движения могут быть выведены как восстановленный кадр 595 после прохождения обработки через деблокирующий единица 570 и единица 580 петлевого фильтра. Также данные изображения, которые были обработаны посредством модуля 570 деблокирования и модуля 580 контурного фильтра могут быть выведены как опорный кадр 585.
Чтобы декодировать данные изображения в декодере 230 данных изображения устройства 200 декодирования видео, декодер 500 изображения может выполнять операции, которые выполняются после автоматического анализатора 510.
Поскольку декодер 500 изображения соответствует устройству декодирования видео, то автоматический анализатор 510, энтропийный декодер 520, инверсный квантователь 530, инверсный преобразователь 540, внутренний предиктор 550, компенсатор 560 движения, модуль 570 деблокирования и модуль 580 контурного фильтра декодера 500 изображения выполняют операции на основании единиц кодирования с древовидной структурой для каждой максимальной единицы кодирования.
В частности, модуль 570 деблокирования определяет границу фильтрации, до которой деблокирующая фильтрация должна выполняться, из границ по меньшей мере одной единицы данных из единиц кодирования с древовидной структурой, единиц предсказания и единиц преобразования, путем использования автоматически проанализированной информации о деблокирующей фильтрации, определяет силу фильтрации на границе фильтрации на основании режима предсказания единицы кодирования, к которой принадлежат смежные пиксели на основании границы фильтрации и значений коэффициентов преобразования пикселей, смежных с границей фильтрации, и выполняет деблокирующую фильтрацию в отношении данных изображения, декодированных на основании силы фильтрации. Подробные операции, касающиеся деблокирующей фильтрации, будут описаны подробно позже со ссылкой на Фиг.14.
На Фиг.6 показана схема, иллюстрирующая единицы кодирования с большей глубиной в соответствии с глубинами и единицы предсказания в соответствии с одним вариантом осуществления настоящего изобретения.
Устройство 100 кодирования видео и устройство 200 декодирования видео используют единицы кодирования с древовидной структурой, которые независимо определены в соответствии с областями, так чтобы учесть характеристики изображения. Максимальная высота, максимальная ширина и максимальная глубина единиц кодирования могут быть адаптивно определены в соответствии с характеристиками изображения, или могут быть другим путем заданы пользователем. Размеры единиц кодирования с большей глубиной в соответствии с глубинами могут быть определены согласно заранее определенному максимальному размеру единицы кодирования.
В иерархической структуре 600 единиц кодирования, в соответствии с одним вариантом осуществления настоящего изобретения, максимальная высота и максимальная ширина каждой из единиц кодирования равна 64, а максимальная глубина равна 5. Максимальная глубина, показанная на Фиг.6 обозначает общее количество уровней глубины от максимальной единицы кодирования до минимальной единицы кодирования.
Так как глубина увеличивается по вертикальной оси иерархической структуры 600, то каждая высота и ширина единицы кодирования с большей глубиной разбиваются. Также единица предсказания или сектора, которые являются основой для кодирования с предсказанием каждой единицы кодирования с большей глубиной, показаны по горизонтальной оси иерархической структуры 600.
Другими словами, единица 610 кодирования является максимальной единицей кодирования в иерархической структуре 600, в которой глубина равна 0 и размер, т.е. высота на ширину, равен 64×64. Глубина увеличивается по вертикальной оси, и существуют единица 620 кодирования с размером 32×32 и глубиной 1, и единица 630 кодирования с размером 16×16 и глубиной 2, и единица 640 кодирования с размером 8×8 и глубиной 3, и единица 650 кодирования с размером 4×4 и глубиной 4. Единица 650 кодирования с размером 4×4 и глубиной 4 является минимальной единицей кодирования.
Сектора сформированы как единицы предсказания единиц кодирования вдоль горизонтальной оси в соответствии с каждой глубиной. Другими словами единица предсказания единицы 610 кодирования с размером 64×64 и глубиной 0 включает в себя сектор 610 с размером 64×64, сектора 612 с размером 64×32, сектора 614 с размером 32×64 или сектора 616 с размером 32×32. Другими словами единица 610 кодирования может быть квадратной единицей данных с минимальным размером, включающей в себя сектора 610, 612, 614 и 616.
Аналогичным образом, единица предсказания единицы 620 кодирования с размером 32×32 и глубиной 1 может включать в себя сектор 620 с размером 32×32, сектора 622 с размером 32×16, сектора 624 с размером 16×32 и сектора 626 с размером 16×16.
Аналогично единица предсказания единицы 630 кодирования с размером 16×16 и глубиной 2 может включать в себя сектор с размером 16×16, включенным в единицу 630 кодирования с размером 16×8, сектора 634 с размером 8×16 и сектора 636 с размером 8×8.
Аналогично единица предсказания единицы 640 кодирования с размером 8×8 и глубиной 3 может включать в себя сектор с размером 8×8, включенный в единицу 640 кодирования, секторы 642 с размером 8×4, секторы 644 с размером 4×8 и секторы 646 с размером 4×4.
Единица 650 кодирования с размером 4×4 и глубиной 4 является минимальной единицей кодирования и единицей кодирования наибольшей глубины. Единица предсказания единицы 650 кодирования может включать в себя сектор 650 с размером 4×4, секторы 652 с размером 4×2, секторы 654 с размером 2×4 и секторы 656 с размером 2×2.
Чтобы определить по меньшей мере одну кодированную глубину единиц кодирования, составляющих максимальную единицу 610 кодирования, определитель 120 единицы кодирования устройства 100 кодирования видео выполняет кодирование для единиц кодирования, согласно каждой глубине, включенной в максимальную единицу 610 кодирования.
Количество единиц кодирования с большей глубиной в соответствии с глубинами, включающих в себя данные в одном и том же диапазоне и в одном и том же размере, увеличивается по мере увеличения глубины. Например, четыре единицы кодирования, соответствующие глубине 2, включены в состав данных, которые входят в состав одной единицы кодирования, соответствующей глубине 1. Следовательно, чтобы сравнить результаты кодирования одних и тех же данных в соответствии с глубинами, кодируют каждое из единицы кодирования, соответствующей глубине 1, и четырех единиц кодирования, соответствующих глубине 2.
Чтобы выполнить кодирование для текущей глубины из глубин, наименьшая ошибка кодирования может быть выбрана для текущей глубины путем выполнения кодирования для каждой единицы предсказания в единицах кодирования, соответствующих текущей глубине, по горизонтальной оси иерархической структуры 600. Альтернативно минимальная ошибка кодирования может быть обнаружена сравнением наименьших ошибок кодирования в соответствии с глубинами, путем выполнения кодирования для каждой глубины по мере увеличения глубины по вертикальной оси иерархической структуры 600. Глубина и единица предсказания с минимальной ошибкой кодирования в единице 610 кодирования могут быть выбраны как кодированная глубина и тип сектора единицы 610 кодирования.
На Фиг.7 представлена схема для описания взаимосвязи между единицей 710 кодирования и единицами 720 преобразования, в соответствии с одним вариантом осуществления настоящего изобретения.
Устройство 100 кодирования видео или устройство 200 декодирования видео кодирует или декодирует изображение в соответствии с единицами кодирования с размерами равными или меньшими, чем максимальная единица кодирования для каждой максимальной единицы кодирования. Размеры единиц преобразования для преобразования в процессе кодирования могут быть выбраны на основании единиц данных, которые не больше, чем соответствующая единица кодирования.
Например, в устройстве 100 кодирования видео или в устройстве 200 декодирования видео, если размер единицы 710 кодирования равен 64×64, то преобразование может быть выполнено, используя единицы 720 преобразования с размером 32×32.
Также, данные единицы 710 кодирования с размером 64×64 могут быть кодированы выполнением преобразования на каждом из единиц преобразования с размером 32×32, 16×16, 8×8 и 4×4, которые гораздо меньше, чем 64×64, и затем может быть выбрана единица преобразования с наименьшей ошибкой кодирования.
На Фиг.8 представлена схема для описания информации кодирования единиц кодирования, соответствующих кодированной глубине, в соответствии с одним вариантом осуществления настоящего изобретения.
Устройство 100 кодирования видео может кодировать и передавать информацию 800 о типе сектора, информацию 810 о режиме предсказания и информацию 820 о размере бока преобразования для каждой единицы кодирования, соответствующей кодированной глубине, как информацию режима кодирования о единицах кодирования с древовидной структурой.
Информация 800 указывает информацию о типе, на который разбивается текущая единица кодирования как единица предсказания (сектор) для кодирования с предсказанием текущей единицы кодирования. Например, текущая единица кодирования CU_0 с размером 2N×2N и глубиной 0 может использоваться как единица предсказания, после разбиения на любой сектор 802 с размером 2N×2N, сектор 804 с размером 2N×N, сектор 806 с размером N×2N и сектор 808 с размером N×N. Здесь информация 800 о типе сектора задается, чтобы указывать один из секторов 804 с размером 2N×N, секторов 806 с размером N×2N и секторов 808 с размером N×N.
Информация 810 указывает режим предсказания каждой единицы кодирования. Например, информация 810 может указывать режим кодирования с предсказанием, выполненный на единице предсказания, указанной информацией 800, т.е. внутренний режим 812, взаимный режим 814 или режим 816 пропуска.
Информация 820 указывает единицу преобразования, который должен быть основан на преобразовании, выполняемом на текущей единице кодирования. Например, единица преобразования может иметь один из первого размера 822 и второго размера 824 внутреннего режима, и первого размера 826 и второго размера 828 взаимного режима.
Модуль 220 приема и выделения устройства 200 декодирования видео может выделять информацию 800, 810 и 820 в соответствии с каждой единицей кодирования с большей глубиной, а декодер 220 может использовать информацию 800, 810 и 820 для декодирования.
НА Фиг.9 представлена схема единиц кодирования с большей глубиной в соответствии с глубинами, в соответствии с одним вариантом осуществления настоящего изобретения.
Информация о разбиении может быть использована для указания изменения глубины. Информация о разбиении указывает, разбивалась ли единица кодирования текущей глубины на единицы кодирования с меньшей глубиной.
Единица 910 предсказания для кодирования с предсказанием единицы 900 кодирования с глубиной, равной 0 и размером 2N_0×2N_0 может включать в себя сектора с типом 912 сектора, имеющим размер 2N_0×2N_0, с типом 914 сектора, имеющим размер 2N_0×N_0, с типом 916 сектора, имеющим размер N_0×2N_0 и типом 918 сектора, имеющим размер N_0×N_0. Фиг.9 только иллюстрирует типы 912-918 секторов, которые получены путем симметричного разбиения единицы 910 предсказания, но тип сектора ими не ограничивается.
Кодирование с предсказанием повторно выполняется на одной единице предсказания с размером 2N_0×2N_0, на двух единицах предсказания с размером 2N_0×N_0, на двух единицах предсказания с размером N_0×2N_0 и на четырех единицах предсказания с размером N_0×N_0, согласно каждому типу сектора. Кодирование с предсказанием во внутреннем режиме и во взаимном режиме может быть выполнено на единицах предсказания с размерами 2N_0×2N_0, N_0×2N_0, 2N_0×N_0 и N_0×N_0. Кодирование с предсказанием в режиме пропуска выполняется только на единице предсказания с размером 2N_0×2N_0.
Если ошибка кодирования является наименьшей в одном из типов секторов с 912 по 916, то единица 910 предсказания не может быть разбита в меньшую глубину.
Если ошибка кодирования является наименьшей в типе 918 сектора, то глубина изменяется от 0 до 1 для разбиения типа 918 сектора в операции 920, и кодирование повторно выполняется на единицах 930 кодирования с глубиной 2 и размером N_0×N_0, чтобы найти минимальную ошибку кодирования.
Единица 940 предсказания для кодирования с предсказанием единицы 930 кодирования с глубиной 1 и размером 2N_1×N_1 (=N_0×N_0) может включать в себя тип 942 сектора с размером 2N_1×2N_1, тип 944 сектора с размером 2N_1×N_1, тип 946 сектора с размером N_1×2N_1, и тип 948 сектора с размером N_1×N_1.
Если ошибка кодирования является наименьшей в типе 948 сектора, то глубина изменяется от 1 до 2 для разбиения типа 948 сектора на операции 950, и кодирование повторно выполняется на единицах 960 кодирования, которые имеют глубину 2 и размер N_2×N_2, чтобы найти минимальную ошибку кодирования.
Когда максимальная глубина равна d, то операция разбиения в соответствии с каждой глубиной может выполняться то тех пор, пока глубина не станет равной d-1, и информация о разбиении может кодироваться до тех пор, пока глубина не станет равной одному значению от 0 до d-2. Другими словами, когда кодирование выполняется до тех пор, пока глубина не станет равной d-1 после того, как единица кодирования, соответствующая глубине d-2, разбивается в операции 970, единица 990 предсказания для кодирования с предсказанием единицы 980 кодирования с глубиной d-1 и размером 2N_(d-1)×2N_(d-1) может включать в себя сектора с типом 992 сектора с размером 2N_(d-1)×2N_(d-1), типом 994 сектора с размером 2N_(d-1)×N_(d-1), типом 996 сектора с размером N_(d-1)×2N_(d-1) и типом 998 сектора с размером N_(d-1)×N_(d-1).
Кодирование с предсказанием может повторно выполняться на одной единице предсказания с размером 2N_(d-1)×2N_(d-1), двух единицах предсказания с размером 2N_(d-1)×N_(d-1), двух единицах предсказания с размером N_(d-1)×2N_(d-1), четырех единицах предсказания с размером N_(d-1)×N_(d-1) из типов 992-998 секторов, чтобы найти тип сектора с минимальной ошибкой кодирования.
Даже если тип 998 сектора имеет минимальную ошибку кодирования, поскольку максимальная глубина равна d, то единица CU_(d-1) с глубиной d-1 не разбивается дальше до более низкой глубины, и кодированная глубина для единиц кодирования, составляющих текущую максимальную единицу 900 кодирования, определяется равной d-1, и тип сектора текущей максимальной единицы 900 кодирования может быть определен равным N_(d-1)×N_(d-1). Также, поскольку максимальная глубина равна d и минимальная единица 980 кодирования с наименьшей глубиной d-1 не разбивается далее до более низкой глубины, то информация о разбиении для минимальной единицы 980 кодирования не задается.
Единица 999 данных может быть «минимальной единицей» для текущей максимальной единицы кодирования. Минимальная единица, в соответствии с одним вариантом осуществления настоящего изобретения, может быть квадратной единицей данных, полученной разбиением минимальной единицы 980 кодирования на 4, т.е. может быть квадратной единицей данных с максимальным размером, который может быть включен в единицы кодирования всех кодированных глубин, единиц предсказания и единиц преобразования, входящих в максимальную единицу кодирования. Выполняя кодирование повторно, устройство 100 кодирования видео может выбирать глубину с наименьшей ошибкой кодирования путем сравнения ошибок кодирования в соответствии с глубинами единицы 900 кодирования, чтобы определить кодированную глубину, и устанавливать соответствующий тип сектора и режим предсказания, в качестве режима кодирования кодированной глубины.
Фактически, минимальные ошибки кодирования в соответствии с глубинами сравниваются на всех глубинах от 1 до d, и глубина с наименьшей ошибкой кодирования может быть определена как кодированная глубина. Кодированная глубина и предсказание кодированной глубины могут быть закодированы и переданы как информация о режиме кодирования. Также, поскольку единица кодирования делится от 0 до кодированной глубины, то только информация о разбиении кодированной глубины устанавливается равной 0, а информация о глубинах, исключающая кодированную глубину, устанавливается равной 1.
Модуль 210 приема и выделения устройства 200 декодирования видео может выделять и использовать информацию о кодированной глубине и единице предсказания единицы 900 кодирования, чтобы декодировать сектор 912. Устройство 200 декодирования видео может определять глубину, на которой информация о разбиении равна 0, как кодированную глубину, путем использования информации о разбиении в соответствии с глубинами, и использовать информацию о режиме кодирования соответствующей глубины, чтобы декодировать кодированные данные соответствующей единицы кодирования.
Фиг. 10-12 представляют схемы для описания взаимоотношения между единицами 1010 кодирования, единицами 1060 предсказания и единицами 1070 преобразования в соответствии с одним вариантом осуществления настоящего изобретения.
Единицы 1010 кодирования являются единицами кодирования в соответствии с древовидной структурой, определенной устройством 100 кодирования видео, в текущем максимальной единице кодирования. Единицы 1060 предсказания являются единицами предсказания единиц кодирования каждой кодированной глубины в единицах 1010 кодирования, и единицы 1070 преобразования являются единицами преобразования каждой единицы 1010 кодирования.
Когда глубина максимальной единицы кодирования равна 0 в единицах 1010 кодирования, то единицы 1010 кодирования включают в себя единицы 1012 и 1054 кодирования с глубиной 1, единицы 1014, 1016, 1018, 1028, 1050 и 1052 кодирования с глубиной 2, единицы 1020, 1022, 1024, 1026, 1030, 1032 и 1048 кодирования с глубиной 3 и единицы 1040, 1042, 1044 и 1046 кодирования с глубиной 4.
В единицах 1060 предсказания некоторые единицы 1014, 1016, 1022, 1032, 1048, 1050, 1052 и 1054 кодирования получают путем разбиения единиц кодирования в единице 1010 кодирования. Другими словами типы секторов в единицах 1014,1022, 1050 и 1054 кодирования имеют размер 2NxN, типы секторов в единицах 1016, 1048 и 1052 кодирования имеют размер N×2N, и тип секторов единицы 1032 кодирования имеет размер N×N. Другими словами, единицы кодирования равны или гораздо меньше, чем каждая единица кодирования.
Преобразование или обратное преобразование выполняется над данными изображения единицы 1052 кодирования в единицах 1070 преобразования в единице данных, которые меньше, чем единица 1052 кодирования. Также, единицы 1014, 1016, 1022, 1032, 1048, 1050 и 1052 кодирования в единицах 1070 преобразования представляют собой единицы данных с разными размерами или формами по сравнению с такими же в единицах предсказания 1060. Другими словами единицы преобразования и единицы предсказания одной единицы кодирования определяются независимо. Следовательно, устройства 100 и 200 кодирования и декодирования видео могут выполнять внутреннее предсказание, оценку движения, компенсацию движения, преобразование и обратное преобразование индивидуально на единице данных в одной и той же единице кодирования.
Поэтому кодирование выполняется рекурсивно на каждой из единиц кодирования с иерархической структурой в каждой области максимальной единицы кодирования, чтобы определить оптимальную единицу кодирования, и, таким образом, могут быть получены единицы кодирования с рекурсивной древовидной структурой.
Информация о кодировании может включать в себя информацию разбиения о единице кодирования, информацию о типе сектора, информацию о режиме предсказания и информацию о размере единицы преобразования. Таблица 1 показывает информацию о кодировании, которая может быть задана устройствами 100 и 200 кодирования и декодирования видео.
(Кодирование на единице кодирования с размером 2Nx2N и текущей глубиной d)
2N×N
N×2N
N×N
2N×nD
nL×2N
nR×2N
(Симметричный тип) N/2×N/2
(Асимметричный тип)
Передатчик 120 устройства 100 кодирования видео может выводить кодирующую информацию о единицах кодирования с древовидной структурой, а модуль 210 приема и выделения устройства 200 декодирования видео может выделять кодирующую информацию о единицах кодирования с древовидной структурой из принятого битового потока.
Информация о разбиении указывает, разбита ли единица кодирования на единицы кодирования небольшой глубины. Если информация о разбиении текущей глубины d равна 0, то глубина, в которой текущая единица кодирования больше не делится на меньшую глубину, является кодированной глубиной и, таким образом, информация о типе сектора, режиме предсказания и размере единицы преобразования может быть определена для кодированной глубины. Если текущая единица кодирования далее разбивается в соответствии с информацией о разбиении, то кодирование независимо выполняется на четырех разбитых единицах кодирования более низкой глубины.
Режим предсказания может быть одним из внутреннего режима, взаимного режима и режима пропуска. Внутренний режим и взаимный режим могут быть определены во всех типах секторов, а прерывистый режим определяется только в типе сектора с размером 2N×2N.
Информация о типе сектора может указывать симметричные типы сектора с размерами 2N×2N, 2N×N, N×2N и N×N, и асимметричные типы сектора с размерами 2N×nU,2N×nD, nL×2N и nR×2N, которые получают асимметричным разбиением высоты или ширины единицы предсказания. Асимметричные типы секторов с размерами 2N×nU и 2N×nD могут быть соответственно получены разбиением высоты единицы предсказания на 1:3 и 3:1, и асимметричные типы секторов с размерами nL×2N и nR×2N могут быть соответственно получены разбиением ширины единицы предсказания на 1:3 и 3:1.
Размер единицы преобразования может быть установлен так, чтобы быть двух типов, соответствующих информации о разбиении единицы преобразования. Другими словами, если информация о разбиении единицы преобразования равна 0, то единица преобразования с размером 2N×2N может быть задана равной размеру текущей единицы кодирования. Если информация о разбиении единицы преобразования равна 1, то единицы преобразования могут быть получены разбиением текущей единицы кодирования. Также, если тип разбиения текущей единицы кодирования с размером 2N×2N является симметричным типом разбиения, то размер единицы преобразования может быть N×N, а если тип сектора текущей единицы кодирования является асимметричным типом сектора, то размер единицы преобразования может быть N/2×N/2.
Информация кодирования о единицах кодирования с древовидной структурой может включать в себя по меньшей мере одно из единицы кодирования, соответствующий кодированной глубине, единицы предсказания и минимальной единицы. Единица кодирования, соответствующая кодированной глубине, может включать в себя по меньшей мере одну из единицы предсказания и минимальной единицы, содержащей ту же самую информацию кодирования.
Следовательно, определяется, входят ли смежные единицы данных в одну и ту же единицу кодирования, соответствующую кодированной глубине, путем сравнения информации кодирования смежных единиц кодирования. Также, соответствующие единицы кодирования, соответствующие кодированной глубине определяют путем сравнения информации кодирования единицы данных, и, таким образом, может быть определено распределение кодированных глубин в максимальной единице кодирования.
Следовательно, если текущая единица кодирования предсказана на основе информации кодирования смежных единиц информации, то к информации кодирования единиц данных в единицах кодирования с большей глубиной, смежных с текущей единицей кодирования, можно непосредственно обращаться и использовать.
Альтернативно, если текущая единица кодирования предсказана на основе информации кодирования смежных единиц информации, то единицы информации, смежные с текущей единицей кодирования, находят, используя информацию кодирования единиц данных, и найденные смежные единицы кодирования могут быть использованы для предсказания текущей единицы кодирования.
На Фиг.13 представлена схема для описания соотношения между единицей кодирования, единицей предсказания или сектором и единицей преобразования, в соответствии с информацией о режиме кодирования из Таблицы 1.
Максимальная единица 1300 кодирования включает в себя единицы 1302, 1304, 1306, 1312, 1314, 1316 и 1318 кодирования кодированных глубин. Отсюда, поскольку единица 1318 кодирования является единицей кодирования кодированной глубины, то информация о разбиении может быть установлена равной 0. Информация о типе сектора единицы 1318 кодирования с размером 2N×2N может быть задана как одно из типа 1322 сектора с размером 2N×2N, типа 1324 сектора с размером 2N×N, типа 1326 сектора с размером N×2N, типа 1328 сектора с размером N×N, типа 1332 сектора с размером 2N×nU, типа 1334 сектора с размером 2N×nD, типа 1336 сектора с размером nLx2N и типа 1338 сектора с размером nR×2N.
Когда тип сектора задан симметричным, т.е. тип 1322, 1324, 1326 или 1328 сектора, то устанавливается единица 1342 преобразования с размером 2N×2N, если информация о разбиении (флаг размера TU) единицы преобразования равна 0, и устанавливается единица 1344 преобразования с размером N×N, если флаг размера TU равен 1.
Когда тип сектора задан асимметричным, т.е. тип 1332, 1334, 1336 или 1338 сектора, то устанавливается единица 1352 преобразования с размером 2N×N, если флаг размера TU равен 0, и устанавливается единица 1354 преобразования с размером N/2×N/2, если флаг размера TU равен 1.
Фиг.14 иллюстрирует максимальные единицы кодирования, единицы кодирования с древовидной структурой, полученные разбиением каждой максимальной единицы кодирования, единицы предсказания, полученные разбиением каждой единицы кодирования, и единицы данных, включающие в себя единицы преобразования. Другими словами, Фиг. 14 иллюстрирует единицы 1400 данных, включающие единицы кодирования, единицы предсказания и единицы преобразования по Фиг.10-12, описанные выше, перекрытием единиц кодирования, единиц предсказания и единиц преобразования. На Фиг.14 предполагается, что размер максимальной единицы кодирования равен 32×32, и единицы кодирования кодированной глубины показаны непрерывными линиями, а единицы предсказания и единицы преобразования, полученные разбиением единиц кодирования кодированной глубины, показаны прерывистыми длинными и короткими пунктирными линиями в единицах кодирования. Также, кодированные глубины единиц кодирования с древовидной структурой равны 0, 1, 2, в которых максимальная глубина равна 3.
Согласно Фиг. 14, единицы 1400 данных включают в себя единицы кодирования кодированных глубин 9 максимальных единиц кодирования с размером 32×32. Как описано выше, оптимальная единица кодирования определяется рекурсивно выполненным кодированием на единицах кодирования с иерархической структурой, классифицированной в соответствии с глубинами, для каждой максимальной единицы кодирования, в то же время оптимальная единица предсказания и оптимальная единица преобразования для предсказания и преобразования могут быть определены в соответствии с каждой единицей кодирования. Модуль 130 деблокирующей фильтрации определяет границу фильтрации, до которой деблокирующая фильтрация должна быть выполнена на основании по меньшей мере одной единицы 1400 данных из единиц кодирования, единиц предсказания и единиц преобразования, показанных на Фиг.4.
Подробно, модуль 130 деблокирующей фильтрации может определять границу фильтрации, основанную на границах единиц данных с заранее определенным размером или выше из единиц кодирования, единиц предсказания и единиц преобразования. Другими словами, касательно Фиг.14, когда текущая картинка разбивается на максимальные единицы кодирования с размером 32×32, каждая единица кодирования опять разбивается на единицы кодирования с иерархической структурой в соответствии с глубинами, и каждая единица кодирования опять разбивается на единицы предсказания и единицы преобразования с меньшим размером, чем единицы кодирования в соответствии с глубинами для предсказания и преобразования, то может быть определена только граница единиц данных с заранее заданным или превышающим размером из границ единиц кодирования, единиц предсказания и единиц преобразования, чтобы стать границей фильтрации, до которой должна быть выполнена деблокирующая фильтрация.
Фиг. 15-17 иллюстрируют границы фильтрации, определенные на основании границ единиц данных с заранее заданным или превышающим размером по отношению к единицам 1400 данных с Фиг.14.
Согласно Фиг. 14 и 15, когда единицы кодирования, единицы предсказания и единицы преобразования по Фиг.14 определены, то модуль 130 деблокирующей фильтрации может определить только границу единиц данных с заранее заданным или превышающим размером из границ единиц кодирования, единиц предсказания и единиц преобразования как границу фильтрации, до которой деблокирующая фильтрация должна быть выполнена. Например, модуль 130 деблокирующей фильтрации может определить только границы единиц кодирования, единиц предсказания и единиц преобразования, которые имеют размер, равный или больший, чем 32×32, как границы фильтрации, до которых должна выполняться деблокирующая фильтрация, как показано на Фиг.15, определить только границы единиц кодирования, единиц предсказания и единиц преобразования, которые имеют размер равный или больший, чем 16×16, в качестве границ фильтрации, до которых должна выполняться деблокирующая фильтрация, как показано на Фиг.16, или определить только границу единиц кодирования, единиц предсказания и единиц преобразования, которые имеют размер равный или больший, чем 8×8, в качестве границ фильтрации, до которых должна выполняться деблокирующая фильтрация, как показано на Фиг.17. Когда только границы единиц данных с заранее определенным или превышающим размером определены как границы фильтрации, до которых должна быть выполнена деблокирующая фильтрация, граница фильтрации, до которой должна выполняться деблокирующая фильтрация, изменяется относительно одной и той же формы разбиения. Например, когда деблокирующая фильтрация выполняется только на границах единиц данных с размером 32×32 или выше, как показано на Фиг.15, внутренняя граница не рассматривается как граница фильтрации, кроме участка границы фильтрации, перекрывающегося с максимальной единицей 1510 кодирования с размером 32×32 среди границ единиц кодирования, единиц преобразования и единиц предсказания, полученных разбиением максимальной единицы 1510 кодирования. С другой стороны, когда деблокирующая фильтрация выполняется только на границе единиц данных с размером 16×16 или выше, как показано на Фиг.16, то внутренние границы единиц 1611-1614 кодирования, полученные разбиением максимальной единицы 1610 кодирования, соответствующей максимальной единице 1510 кодирования с Фиг. 15, также определяются как границы фильтрации.
При этом модуль 130 деблокирующей фильтрации не определяет границу единиц данных с заранее заданным или превышающим размером как границу фильтрации, если граница представляет собой границу кадра. Другими словами деблокирующая фильтрация в соответствии с одним вариантом настоящего изобретения не выполняется на наиболее удаленной от центра границе, соответствующей краю картинки.
На Фиг.18 представлена схема для описания процесса деблокирующей фильтрации в соответствии с одним вариантом настоящего изобретения, основанного на границах фильтрации по Фиг.17.
Когда границы фильтрации, до которых должна быть выполнена деблокирующая фильтрация, определяются на основании границ единиц данных с заранее определенным или превышающим размером, то модуль 130 деблокирующей фильтрации определяет силу фильтрации на границах фильтрации на основании режима предсказания единицы кодирования, к которой принадлежат смежные пиксели на основании границы фильтрации и значений коэффициента преобразования пикселей, примыкающих к границе фильтрации.
Далее описан процесс выполнения деблокирующей фильтрации на основании границ фильтрации, таких как горизонтально направленная граница 1810 фильтрации и вертикально направленная граница 1820 фильтрации по Фиг.18.
Фиг. 19А и 19В иллюстрируют пиксели, расположенные на границах фильтрации, чтобы описать деблокирующую фильтрацию в соответствии с одним вариантом настоящего изобретения.
Согласно Фиг.19А, пиксельные значения пикселей 1910, смежных с верхней и нижней горизонтально направленной границей фильтрации, перед деблокирующей фильтрацией определяются как равные от ρ0 до ρ4 и от q0 до q4. Также, пиксельные значения пикселей 1920, смежных с верхней и нижней горизонтально направленной границей фильтрации, после деблокирующей фильтрации определяются как равные от ρ0’ до ρ4’ и от q0’ до q4’. Подобным образом, относительно Фиг.19В, пиксельные значения пикселей 1930, смежных с левой и правой вертикально направленной границей фильтрации, перед деблокирующей фильтрацией определяются как равные от ρ0 до ρ4 и от q0 до q4. Также, пиксельные значения пикселей 1940, смежных с левой и правой вертикально направленной границей фильтрации, после деблокирующей фильтрации определяются как равные от ρ0’ до ρ4’ и от q0’ до q4’. Операции деблокирующей фильтрации, основанные на горизонтально и вертикально направленных границах фильтрации, идентичны за исключением разницы в направлении.
Модуль 130 деблокирующей фильтрации определяет силу фильтрации на основании того, является ли режим предсказания единицы кодирования, к которому принадлежат смежные пиксели на основании границы фильтрации, внутренним режимом или взаимным режимом, и равны ли значения коэффициента преобразования пикселей, смежных с границей фильтрации 0. Если мощность границы (Bs) обозначает силу фильтрации, то Bs может быть классифицирована на 5 уровней от 0 до 4. Размер Bs пропорционален силе фильтрации. Другими словами, когда Bs=4, то сила фильтрации самая высокая, а если Bs=0, то сила фильтрации слабая. Следовательно, деблокирующая фильтрация не может быть выполнена, когда Bs=0.
Более подробно, если ρ0 и q0 обозначают пиксели, которые являются смежными с границей фильтрации и разделяются на основании границы фильтрации, то модуль 130 деблокирующей фильтрации может определять силу фильтрации, чтобы иметь значение Bs=4, когда режим предсказания по меньшей мере одной единицы кодирования, к которой принадлежат ρ0 и q0, является внутренним режимом, а граница фильтрации является границей единицы кодирования. Например, если деблокирующая фильтрация выполняется на основании горизонтально направленной границы 1810 фильтрации по Фиг. 18, то модуль 130 деблокирующей фильтрации может определять силу фильтрации, чтобы иметь значение Bs=4, когда режим предсказания по меньшей мере одной единицы 1840 кодирования, к которой принадлежат ρ0, и единицы 1830 кодирования, к которой принадлежат q0, являющиеся ближайшими пикселями, расположенными на горизонтально направленной границе 1810, является внутренним режимом, и текущая граница фильтрации является границей единиц кодирования. Отсюда, является ли горизонтально направленная граница 1810 фильтрации границей единиц кодирования, может быть определено на основании того, являются ли единица 1840 кодирования, которой принадлежат ρ0, и единица 1830 кодирования, которой принадлежат q0, единицами данных, основанными на единицах кодирования с большей глубиной, или соответствует ли горизонтально направленная граница 1810 фильтрации границе единиц предсказания и единиц преобразования по Фиг.11 и Фиг.12, полученных разбиением единиц кодирования для предсказания и преобразования.
Альтернативно, модуль 130 деблокирующей фильтрации определяет силу фильтрации как имеющую значение Bs=3, когда режим предсказания по меньшей мере одной из единиц кодирования, к которой принадлежат ρ0 и q0, является внутренним режимом, и граница фильтрации не является границей единиц кодирования.
Альтернативно, единица 130 деблокирующей фильтрации определяет силу фильтрации как имеющую значение Bs=2, когда режимы предсказания единиц кодирования, к которым принадлежат ρ0 и q0, не являются внутренними режимами, и значение коэффициента преобразования по меньшей мере одной единицы предсказания, к которой принадлежат ρ0 и q0, не равно 0.
Альтернативно, модуль 130 деблокирующей фильтрации определяет силу фильтрации как имеющую значение Bs=1, когда режимы предсказания единиц кодирования, к которым принадлежат ρ0 и q0, не являются внутренними режимами, значения коэффициента преобразования боков преобразования, к которым принадлежат ρ0 и q0, равны 0, и любой из опорного кадра и вектора движения, используемых для предсказания движения единиц предсказания, к которым принадлежат ρ0 и q0, отличаются друг от друга.
Альтернативно, модуль 130 деблокирующей фильтрации определяет силу фильтрации как имеющую значение Bs=0, когда режимы предсказания единиц кодирования, к которым принадлежат ρ0 и q0, не являются внутренними режимами, а значения коэффициента преобразования единиц преобразования, к которым принадлежат ρ0 и q0, и опорный кадр и вектор движения, используемые для предсказания движения единиц предсказания, к которым принадлежат ρ0 и q0, являются одними и теми же.
В то же время, модуль 130 деблокирующей фильтрации может определять, выполнять ли деблокирующую фильтрацию на границе фильтрации, на основании силы фильтрации и результата сравнения заранее определенного порогового значения и разницы между абсолютной величиной значений пикселей заранее определенного числа смежных пикселей, расположенных на границе фильтрации. Подробнее, модуль 130 деблокирующей фильтрации решает выполнять деблокирующую фильтрацию, только когда абсолютное значение разницы между пиксельными значениями пикселей, смежных с границей фильтрации и разделенных на основании границы фильтрации, и абсолютное значение разницы между пиксельными значениями пикселей, смежных с той же самой стороной, основываясь на границе фильтрации, меньше, чем заранее определенное пороговое значение, определенное в соответствии с параметром квантования единиц преобразования, к которым принадлежат пиксели, и сила фильтрации не самая слабая. Например, модуль 130 деблокирующей фильтрации может выполнять деблокирующую фильтрацию на границе фильтрации, только когда i) сила Bs фильтрации не равна 0 и ii) выполняется условие |
Фиг. 20А и 20В представляют соответствующие таблицы для определения пороговых значений α и β, в соответствии с одним вариантом осуществления настоящего изобретения.
Согласно Фиг. 20А и 20В, пороговые значения α и β определяются на основании indexА и indexВ, где indexA и indexВ - значения, определенные в соответствии с уравнениями indexА=Clip3(0,51,qPav+FilterOffsetA) и indexВ=Clip3(0,51,qPav+FilterOffsetB). Здесь, qPav обозначает среднее значение параметров квантования единиц преобразования, к которым принадлежат ρ0 и q0. Clip3(a,b,c) обозначает операцию отсечения значения с, так что a≤c≤b. Например, уравнение indexА=Clip3(0, 51, qPav+FilterOffsetA) равно 0, когда значение qPav+FilterOffsetA ниже или равно 0, и равно 51, когда значение qPav+FilterOffsetA равно или выше, чем 51. Также, FilterOffsetA и FilterOffsetВ обозначают заранее определенные значения отклонений, установленных соответственно в отношении пороговых значений α и β.
На Фиг.21 представлена схема для описания процесса установки значения отклонения в отношении порогового значения α, в соответствии с одним вариантом осуществления настоящего изобретения. Например, когда пороговое значение α устанавливается в пропорции к параметру квантования как кривая, показанная на Фиг.21, то значение indexА возрастает так, как возрастает значение FilterOffsetA, и в результате кривая, установленная как значение по умолчанию, перемещается в правом направлении (b-направлении), как показано на фиг. 21. Когда значение FilterOffsetA уменьшается, то значение indexА уменьшается, и, таким образом, кривая, установленная как значение по умолчанию, перемещается в левом направлении (а-направлении), как показано на Фиг.21. По существу, FilterOffsetA и FilterOffsetB могут быть использованы для регулировки силы фильтрации.
Таким образом, модуль 130 деблокирующей фильтрации определяет, выполнять ли деблокирующую фильтрацию на границе фильтрации, основываясь на параметрах квантования единиц преобразования, к которой принадлежат ρ0 и q0, и заранее определенных значениях отклонений.
В отношении границы, до которой деблокирующая фильтрация должна быть выполнена, модуль 130 деблокирующей фильтрации определяет количество и коэффициенты отводов фильтра для пикселей, подлежащих фильтрации, смежных с границей фильтрации, на основании силы фильтрации, абсолютного значения разницы между значениями пикселей, смежных с границей фильтрации и разделенных на основании границы фильтрации, и абсолютного значения разницы между значениями пикселей, смежных с той же самой стороной, основываясь на границе фильтрации. Также модуль 130 деблокирующей фильтрации выполняет фильтрацию путем изменения пиксельных значений пикселей, подлежащих фильтрации посредством взвешенной суммы на основании коэффициентов отводов фильтра.
Подробнее, когда сила фильтрации текущей границы фильтрации равна Bs<4, модуль 130 деблокирующей фильтрации генерирует ρ1’, ρ0’, q0’ и q1’, используя 4-отводный фильтр конечного импульсного отклика, использующий ρ1’, ρ0’, q0’ и q1’ как входные сигналы. Модуль 130 деблокирующей фильтрации генерирует значение дельта ∆ в соответствии с уравнением ∆=clip3[-tc,tc((((q0-ρ0)<<2)+(ρ1-ρ1)*4>>3)). Здесь tc может быть определено на основании |ρ2-ρ0|, |q2-q0| и порогового значения β.
Фиг. 22А и 22В являются таблицами, используемыми для определения заранее определенного промежуточного значения tc, используемого в процессе деблокирующей фильтрации, в соответствии с одним вариантом осуществления настоящего изобретения. Как показано на Фиг.22А и Фиг.22В, tc может быть определено, используя значения, заранее определенные в таблице в соответствии с indexA и силой фильтрации bS.
Также модуль 130 деблокирующей фильтрации генерирует значения пикселей ρ0 и q0, которые являются ближайшими к границе фильтрации и отфильтрованные с деблокированием в соответствии уравнениями ρ0=ρ0+∆ и q0’=q0+∆. Значения пикселей ρ1 и q1, которые являются смежными с границей фильтрации после ρ0 и q0, изменяются в соответствии с уравнениями ρ1’=ρ1+∆/2 и q1’=q1+∆/2.
В то же время, когда сила фильтрации имеет значение Bs=4 на текущей границе фильтрации, то модуль 130 деблокирующей фильтрации определяет количество и коэффициенты отводов фильтра для пикселей, которые являются отфильтрованными, смежных с границей фильтрации, на основании абсолютного значения разницы между пиксельными значениями пикселей, смежных с границей фильтрации и разделенных на основании границы фильтрации, и абсолютного значения разницы между пиксельными значениями пикселей, смежных с той же самой стороной, основываясь на границе фильтрации. Подробнее, когда |ρ2-ρ0|<β;|ρ0-q0|<round(α/4), модуль 130 деблокирующей фильтрации устанавливает входные значения пикселей, которые должны быть равными ρ2,ρ1,ρ0,q0 и q1, по отношению к ρ0, ближайшему к границе фильтрации, и генерирует ρ0’, фильтруемое с использованием 5-отводного фильтра с коэффициентом отводов фильтра {1,2,2,2,1}.
Относительно ρ1, ближайшего к границе фильтрации после ρ0, модуль 130 деблокирующей фильтрации устанавливает входные значения пикселей, которые должны быть равными ρ2, ρ1, ρ0 и q1, и генерирует ρ1’, фильтруемое с помощью 4-отводного фильтра с коэффициентом отводов фильтра {1,1,1,1}.
Относительно ρ2, ближайшего к границе фильтрации после ρ1, модуль 130 деблокирующей фильтрации устанавливает входные значения пикселей, которые должны быть равными ρ3, ρ2, ρ1, ρ0 и q1, и генерирует ρ2’, фильтруемое с помощью 5-отводного фильтра с коэффициентом отводов фильтра {2,3,1,1,1}.
Аналогичным образом, когда |q2-q0|<β; |ρ0-q0|<round(α/4), модуль 130 деблокирующей фильтрации устанавливает входные значения пикселей на q2, q1, q0, ρ0 и ρ1, по отношению к q0, ближайшему к границе фильтрации, и генерирует q0’, фильтруемое с помощью 5-отводного фильтра с коэффициентом отводов фильтра {1,2,2,2,1}.
Относительно q1, ближайшего к границе фильтрации после q0, модуль 130 деблокирующей фильтрации устанавливает входные значения пикселей на q2, q1, q0 и ρ1 и генерирует q1’, фильтруемое с помощью 4-отводного фильтра с коэффициентом отводов фильтра {1,1,1,1}.
Относительно q2, ближайшего к границе фильтрации после q1, модуль 130 деблокирующей фильтрации устанавливает входные значения пикселей на q3, q2, q1, q0 и ρ0 и генерирует q2’, фильтруемое с помощью 5-отводного фильтра с коэффициентом отводов фильтра {2,3,1,1,1}.
Модуль 230 деблокирующей фильтрации устройства 200 кодирования видео в соответствии с одним вариантом осуществления, определяет границу фильтрации, до которой должна быть выполнена деблокирующая фильтрация, из границ по меньшей мере одной единицы данных из единиц кодирования с древовидной структурой, единиц предсказания и единиц преобразования, определяет силу фильтрации на границе фильтрации на основании режима предсказания единиц кодирования, к которым принадлежат смежные пиксели на основании границы фильтрации и значений коэффициента преобразования пикселей, смежных с границей фильтрации, и выполняет деблокирующую фильтрацию на декодированных данных изображения на основании силы фильтрации путем использования информации о деблокирующей фильтрации, полученной анализом из битового потока. Поскольку операции модуля 230 деблокирующей фильтрации устройства 200 кодирования видео подобны таковым модуля 130 деблокирующей фильтрации устройства 100 кодирования видео, их подробные описания не повторяются.
На Фиг.23 представлена блок-схема последовательности операций, описывающая способ кодирования видео на основании единиц кодирования в соответствии с одним вариантом осуществления настоящего изобретения.
Согласно Фиг.23, в операции 2310 определитель 110 единицы кодирования разбивает одну картинку по меньшей мере в одной максимальной единице кодирования, которая представляет собой единицу данных с максимальным размером. Затем, в операции 2320 определитель 110 единицы кодирования определяет единицы кодирования, которые иерархически сконфигурированы в соответствии с глубинами, указывая число пространственных разбиений по меньшей мере одной максимальной единицы кодирования, и единицы предсказания и единицы преобразования соответственно для предсказания и преобразования единиц кодирования.
В операции 2330 модуль 130 деблокирующей фильтрации определяет границу фильтрации, на которой должна выполняться деблокирующая фильтрация, на основании по меньшей мере одной единицы данных из единиц кодирования, единиц предсказания и единиц преобразования. Как описано выше, граница фильтрации может быть определена на основании границы единиц данных с заранее определенным или превышающим размером.
Модуль 130 деблокирующей фильтрации определяет силу фильтрации на границе фильтрации на основании режима предсказания единицы кодирования, к которой принадлежат смежные пиксели на основании границы фильтрации, и значений коэффициента преобразования пикселей, смежных с границей фильтрации, в операции 2340, и выполняет деблокирующую фильтрацию на основании определенной силы фильтрации в операции 2350.
На Фиг.24 представлена блок-схема последовательности операций, иллюстрирующая способ декодирования видео на основании единиц кодирования, в соответствии с одним вариантом осуществления настоящего изобретения.
Согласно Фиг.24, в операции 2410 модуль 210 приема и выделения выделяет данные изображения, закодированные в соответствии с единицами кодирования, информацию режима кодирования о единицах кодирования с древовидной структурой и информацию о деблокирующей фильтрации в максимальной единице кодирования, в соответствии с единицами кодирования в соответствии древовидной структурой, включенной в каждую максимальную единицу кодирования, полученную разбиением текущей картинки, путем анализа принятого битового потока.
В операции 2420, декодер 220 определяет единицы предсказания и единицы преобразования для предсказания и преобразования в соответствии с единицами кодирования и декодирует кодированные данные изображения, на основании информации режима предсказания о единицах кодирования с древовидной структурой.
В операции 2430 модуль 230 деблокирующей фильтрации определяет границу фильтрации, до которой деблокирующая фильтрация должна быть выполнена, из границ по меньшей мере одной единицы данных из единиц кодирования с древовидной структурой, единиц предсказания и единиц преобразования, путем использования информации о деблокирующей фильтрации.
В операции 2440 модуль 230 деблокирующей фильтрации определяет силу фильтрации границы фильтрации на основании режима предсказания единицы кодирования, к которой принадлежат смежные пиксели, на основании определенной границы фильтрации и значений коэффициента преобразования пикселей, смежных с границей фильтрации.
В операции 2450 модуль 230 деблокирующей фильтрации выполняет деблокирующую фильтрацию на декодированных данных изображения на основании определенной силы фильтрации.
Варианты осуществления настоящего изобретения могут быть выполнены в виде компьютерных программ и могут быть реализованы в повсеместно используемых компьютерах, которые выполняют программы, используя компьютерные машиночитаемые записывающие носители. Примеры компьютерных машиночитаемых записывающих носителей включают в себя магнитные запоминающие устройства (например, ROM, гибкие диски, жесткие диски и так далее) и оптические записывающие устройства (например, CD-ROM или DVD).
Хотя настоящее изобретение частично показано и описано со ссылкой на предпочтительные варианты его осуществления, специалисту в данной области техники будет понятно, что в нем могут быть сделаны разные изменения в форме и деталях без отклонения от сущности и объема изобретения, как определено прилагаемой формулой изобретения. Предпочтительные варианты осуществления должны рассматриваться только с целью описания, а не ограничения. Поэтому объем изобретения определяется не подробным описанием изобретения, а прилагаемой формулой изобретения, и все отличия в пределах объема должны толковаться как входящие в состав настоящего изобретения.
Изобретение относится к кодированию и декодированию видео. Техническим результатом является повышение качества сжатого и восстановленного видео путем удаления деблокирующего эффекта из сжатого и восстановленного видео на основе единицы кодирования древовидной структуры. В способе кодирования видео, который выполняет деблокирующую фильтрацию на основании единиц кодирования, определяют границу фильтрации на основании единиц данных из единиц кодирования, единиц предсказания и единиц преобразования соответственно для предсказания и преобразования единиц кодирования. Причем единицы кодирования иерархически сконфигурированы в соответствии с глубинами, указывающими количество раз, которое максимальная единица кодирования пространственно разделяется. Определяют силу фильтрации на границе фильтрации на основании режима предсказания единицы кодирования, к которой принадлежат смежные пиксели, на основании границы фильтрации, и значений коэффициентов преобразования пикселей, смежных с границей фильтрации. Выполняют деблокирующую фильтрацию на основании определенной силы фильтрации. 2 з.п. ф-лы, 27 ил., 1 табл.
1. Устройство декодирования видео, которое выполняет деблокирующую фильтрацию, при этом устройство содержит:
приемник, выполненный с возможностью принимать битовый поток, включающий в себя данные о картинке, информацию о размере максимальной единицы кодирования, информацию о типе сектора и информацию разбиения;
декодер, выполненный с возможностью разбивать картинку на множество максимальных единиц кодирования с использованием информации о размере максимальной единицы кодирования, иерархически разбивать максимальную единицу кодирования на одну или более единиц кодирования на основе информации разбиения, определять одну или более единиц предсказания единицы кодирования из одной или более единиц кодирования посредством использования информации о типе сектора, определять одну или более единиц преобразования единицы кодирования посредством использования информации о размере единицы преобразования, выполнять предсказание на одной или более единиц предсказания в единице кодирования и обратное преобразование на одной или более единиц преобразования в единице кодирования, чтобы сформировать восстановленную единицу кодирования, если граница, включенная в восстановленную единицу кодирования, соответствует по меньшей мере одной из границы одной или более единиц предсказания и границы одной или более единиц преобразования, определять мощность границы для границы, включенной в восстановленную единицу кодирования, на основе по меньшей мере одного из ненулевых коэффициентов преобразования, режима предсказания, вектора движения и опорного индекса, определять способ деблокирующей фильтрации, включая силу фильтрации и положение для пикселей, подлежащих деблокирующей фильтрации, на основе одного из мощности границы и соседних пикселей, смежных границе, и выполнять деблокирующую фильтрацию над пикселями, подлежащими деблокирующей фильтрации, согласно способу деблокирующей фильтрации, чтобы сформировать отфильтрованную единицу кодирования, включающую в себя подвергнутые деблокирующей фильтрации пиксели.
2. Устройство по п.1, в котором декодер определяет мощность границы на основе того, является ли режим предсказания единицы кодирования, к которой принадлежат соседние пиксели на основе границы, внутренним режимом или взаимным режимом, и того, являются ли значения коэффициентов преобразования соседних пикселей нулевыми.
3. Устройство по п.1, в котором декодер определяет мощность границы на основе опорного индекса и вектора движения, используемого для предсказания движения единицы предсказания, к которой принадлежат соседние пиксели, если режим предсказания единицы кодирования, к которой принадлежат соседние пиксели, является взаимным режимом.
Станок для изготовления деревянных ниточных катушек из цилиндрических, снабженных осевым отверстием, заготовок | 1923 |
|
SU2008A1 |
Станок для изготовления деревянных ниточных катушек из цилиндрических, снабженных осевым отверстием, заготовок | 1923 |
|
SU2008A1 |
Пломбировальные щипцы | 1923 |
|
SU2006A1 |
Станок для изготовления деревянных ниточных катушек из цилиндрических, снабженных осевым отверстием, заготовок | 1923 |
|
SU2008A1 |
Колосоуборка | 1923 |
|
SU2009A1 |
УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ ИЗОБРАЖЕНИЙ, УСТРОЙСТВО ДЛЯ ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЙ, СПОСОБ КОДИРОВАНИЯ ИЗОБРАЖЕНИЙ И СПОСОБ ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЙ | 2008 |
|
RU2369039C1 |
Авторы
Даты
2018-10-11—Публикация
2017-01-30—Подача