Область техники, к которой относится изобретение
[0001] Настоящее изобретение относится к методике кодирования видео, используя структуру разбиения блока, основанную на квадродереве и бинарном дереве.
Предпосылки создания изобретения
[0002] В системе кодирования видео, описанной в Непатентной Литературе 1, каждый кадр оцифрованного видео дробится на единицы дерева кодирования (CTU), и каждая CTU кодируется в очередности растрового сканирования.
[0003] Каждая CTU дробится на единицы кодирования и кодируется, в структуре квадродерева. Каждая CU дробится на единицы предсказания (PU) и кодируется с предсказанием. Кодирование с предсказанием включает в себя интра предсказание и интер-кадровое предсказание.
[0004] Ошибка предсказания каждой CU дробится на единицы преобразования (TU) и кодируется с преобразованием на основании преобразования частоты в структуре квадродерева.
[0005] CU наибольшего размера именуется наибольшей CU (наибольшая единица кодирования: LCU), а CU наименьшего размера именуется наименьшей CU (наименьшая единица кодирования: SCU). Размер LCU и размер CTU являются одинаковыми.
[0006] Нижеследующее описывает интра предсказание и интер-кадровое предсказание, и сигнализацию CTU, CU, PU, и TU.
[0007] Интра предсказание является предсказанием для генерирования изображения предсказания из воссозданного изображения с тем же самым временем отображения, что и для кадра, который будет кодироваться. Непатентная Литература 1 определяет 33 типа углового интра предсказания, изображенных на Фиг. 9. В угловом интра предсказании, воссозданный пиксель рядом с блоком, который будет кодироваться, используется для экстраполяции в любом из 33 направлений, чтобы сгенерировать сигнал интра предсказания. В дополнение к 33 типам углового интра предсказания, Непатентная Литература 1 определяет DC интра предсказание для усреднения воссозданных пикселей рядом с блоком, который будет кодироваться, и плоское интра предсказание для линейной интерполяции воссозданных пикселей рядом с блоком, который будет кодироваться. CU, кодируемая на основании интра предсказания, далее именуется интра CU.
[0008] Интер-кадровое предсказание является предсказанием для генерирования изображения предсказания из воссозданного изображения (опорной картинки) отличного по времени отображения от кадра, который будет кодироваться. Интер-кадровое предсказание далее также именуется интер предсказанием. Фиг. 10 является пояснительной схемой, изображающей пример интер-кадрового предсказания. Вектор движения MV=(mvx, mvy ) указывает величину перемещения воссозданного блока изображения для опорной картинки относительно блока, который будет кодироваться. В интер предсказании, сигнал интер предсказания генерируется на основании воссозданного блока изображения опорной картинки (используя интерполяцию пикселя при необходимости). CU, кодируемая на основании интер-кадрового предсказания, далее именуется «интер CU».
[0009] Кодируемый кадр включающий в себя только интра CU именуется «I кадром» (или «I картинкой»). Кодируемый кадр включающий в себя не только интра CU, но также интер CU именуется «P кадром» (или «P картинкой»). Кодируемый кадр включающий в себя интер CU, каждая из которых использует не только одну опорную картинку, а две опорные картинки одновременно для интер предсказания блока именуется «B кадром» (или «B картинкой»).
[0010] Режим пропуска указывает, что CU, которая будет обрабатываться, является кодируемой с предсказанием посредством предсказания кадра основанного на 2N×2N форме нижеуказанной формы разбиения PU и нижеуказанное значение квантования преобразования не присутствует. Находится или нет каждая CU в режиме пропуска, сигнализируется посредством синтаксиса skip_flag, описанного в Непатентной Литературе 1.
[0011] Является ли каждая CU, которая не находится в режиме пропуска, интра CU или интер CU, сигнализируется посредством синтаксиса pred_mode_flag, описанного в Непатентной Литературе 1.
[0012] Фиг. 11 является пояснительной схемой, изображающей пример разбиения CTU для кадра t и пример разбиения CU восьмой CTU (CTU8), включенной в кадр t, в случае, когда пространственное разрешение кадра находится в общем промежуточном формате (CIF) и размер CTU составляет 64.
[0013] Фиг. 12 является пояснительной схемой, изображающей структуру квадродерева, соответствующую примеру разбиения CU для CTU8. Структура квадродерева, т.е., форма разбиения CU, для каждой CTU сигнализируется посредством синтаксиса cu_split_flag, описанного в Непатентной Литературе 1.
[0014] Фиг. 13 является пояснительной схемой, изображающей формы разбиения PU для CU. В случае, когда CU является интра CU, квадратное разбиение PU является выбираемым. В случае, когда CU является интер CU, не только квадратное, но также прямоугольное разбиение PU является выбираемым. Форма разбиения PU для каждой CU сигнализируется посредством синтаксиса part_mode, описанного в Непатентной Литературе 1.
[0015] Фиг. 14 является пояснительной схемой, изображающей примеры разбиения TU для CU. Пример разбиения TU для интра CU с 2N×2N формой разбиения PU изображается в верхней части чертежа. В случае, когда CU является интра CU, корень квадродерева располагается в PU, и ошибка предсказания каждой PU выражается посредством структуры квадродерева. Пример разбиения TU для интер CU с 2N×N формой разбиения PU изображается в нижней части чертежа. В случае, когда CU является интер CU, корень квадродерева располагается в CU, и ошибка предсказания CU выражается посредством структуры квадродерева. Структура квадродерева для ошибки предсказания, т.е., форма разбиения TU для каждой CU, сигнализируется посредством синтаксиса split_tu_flag, описанного в Непатентной Литературе 1.
[0016] Это завершает описание интра предсказания и интер-кадрового предсказания, и сигнализации CTU, CU, PU, или TU.
[0017] Нижеследующее описывает структуру и работу типичного устройства кодирования видео, которое принимает каждую CU каждого кадра оцифрованного видео в качестве входного изображения и выводит битовый поток, со ссылкой на структурную схему на Фиг. 15.
[0018] Устройство кодирования видео, изображенное на Фиг. 15, включает в себя преобразователь/квантователь 101, энтропийный кодер 102, обратный квантователь/обратный преобразователь 103, буфер 104, предсказатель 105, и мультиплексор 106.
[0019] Предсказатель 105 определяет, для каждой CTU, значение синтаксиса cu_split_flag для определения формы разбиения CU, которая минимизирует затраты кодирования.
[0020] Предсказатель 105 затем определяет, для каждой CU, значение синтаксиса pred_mode_flag для определения интра предсказания/интер предсказания, значение синтаксиса part_mode для определения формы разбиения PU, значение синтаксиса split_tu_flag для определения формы разбиения TU, направление интра предсказания, и вектор движения, которые минимизируют затраты кодирования.
[0021] Предсказатель 105 дополнительно определяет значение синтаксиса skip_flag для определения режима пропуска.
[0022] Подробнее, в случае, когда, для CU, которая будет обрабатываться, определенный pred_mode_flag указывает интер предсказание, определенный part_mode указывает 2N×2N, и нижеупомянутое значение квантования преобразования не присутствует, предсказатель 105 устанавливает skip_flag в 1 (т.е., режим пропуска установлен). В противном случае, предсказатель 105 устанавливает skip_flag в 0 (т.е., режим пропуска не установлен).
[0023] Предсказатель 105 генерирует сигнал предсказания, соответствующий входному сигналу изображения каждой CU, на основании определенного значения синтаксиса cu_split_flag, значения синтаксиса pred_mode_flag, значения синтаксиса part_mode, значения синтаксиса split_tu_flag, направления интра предсказания, вектора движения, и т.д. Сигнал предсказания генерируется на основании вышеупомянутого интра предсказания или интер-кадрового предсказания.
[0024] Преобразователь/квантователь 101 частотно-преобразует изображение ошибки предсказания, полученное посредством вычитания сигнала предсказания из входного сигнала изображения, на основании формы разбиения TU, определенной предсказателем 105.
[0025] Преобразователь/квантователь 101 дополнительно квантует частотно-преобразованное изображение ошибки предсказания (коэффициенты преобразования частоты). Квантованные коэффициенты преобразования частоты далее именуются «значением квантования преобразования».
[0026] Энтропийный кодер 102 энтропийно кодирует значение синтаксиса cu_split_flag, значение синтаксиса skip_flag, значение синтаксиса pred_mode_flag, значение синтаксиса part_mode, значение синтаксиса split_tu_flag, информацию разности направления интра предсказания, и информацию разности вектора движения, определенную предсказателем 105 (эта связанная с предсказанием информация далее именуется «параметрами предсказания»), и значение квантования преобразования.
[0027] Обратный квантователь/обратный преобразователь 103 обратно квантует значение квантования преобразования. Обратный квантователь/обратный преобразователь 103 дополнительно обратно частотно-преобразует коэффициент преобразования частоты, полученный посредством обратного квантования. Сигнал предсказания складывается с воссозданным изображением ошибки предсказания, полученным посредством обратного преобразования частоты, и результат подается в буфер 104. Буфер 104 хранит воссозданное изображение.
[0028] Мультиплексор 106 мультиплексирует и выводит энтропийно-закодированные данные, подаваемые от энтропийного кодера 102, в качестве битового потока.
[0029] Типичное устройство кодирования видео генерирует битовый поток посредством операции, описанной выше.
[0030] Нижеследующее описывает структуру и работу типичного устройства декодирования видео, которое принимает битовый поток в качестве ввода и выводит декодированный кадр видео, со ссылкой на Фиг. 16.
[0031] Устройство декодирования видео, изображенное на Фиг. 16, включает в себя де-мультиплексор 201, энтропийный декодер 202, обратный квантователь/обратный преобразователь 203, предсказатель 204, и буфер 205.
[0032] Де-мультиплексор 201 де-мультиплексирует входной битовый поток, чтобы извлечь энтропийно-закодированный битовый поток видео.
[0033] Энтропийный декодер 202 энтропийно-декодирует битовый поток видео. Энтропийный декодер 202 энтропийно-декодирует параметры предсказания и значение квантования преобразования, и подает их обратному квантователю/обратному преобразователю 203 и предсказателю 204.
[0034] Обратный квантователь/обратный преобразователь 203 обратно квантует значение квантования преобразования. Обратный квантователь/обратный преобразователь 203 дополнительно обратно частотно-преобразует коэффициент преобразования частоты, полученный посредством обратного квантования.
[0035] После обратного преобразования частоты, предсказатель 204 генерирует сигнал предсказания, используя воссозданное изображение, хранящееся в буфере 205, на основании энтропийно-декодированных параметров предсказания.
[0036] После того, как сигнал предсказания генерируется, сигнал предсказания, подаваемый от предсказателя 204, складывается с воссозданным изображением ошибки предсказания, полученным посредством обратного преобразования частоты посредством обратного квантователя/обратного преобразователя 203, и результат подается в буфер 205 в качестве воссозданного изображения.
[0037] Воссозданное изображение, хранящееся в буфере 205, затем выводится в качестве декодированного изображения (декодированного видео).
[0038] Типичное устройство декодирования видео генерирует декодированное изображение посредством операции, описанной выше.
[0039] Непатентная Литература 2 раскрывает методику кодирования видео используя структуру разбиения блока основанную на квадродереве и бинарном дереве (BT), которая именуется Квадродерево плюс Бинарное Дерево (QTBT) и является расширением для вышеупомянутой системы, описанной в Непатентной Литературе 1.
[0040] В структуре QTBT, единица дерева кодирования (CTU) рекурсивно дробится на квадратные единицы кодирования (CU) на основании структуры квадродерева. Каждая рекурсивно раздробленная CU дополнительно рекурсивно дробится на прямоугольные или квадратные блоки на основании структуры бинарного дерева, для процесса предсказания или процесса преобразования. В структуре QTBT, синтаксис part_mode не используется.
[0041] Фиг. 17 является пояснительной схемой, изображающей структур QTBT, описанную в Непатентной Литературе 2. Пример разбиения блока для CTU показан на виде (a) Фиг. 17, а его древовидная структура показана на виде (b) Фиг. 17. На Фиг. 17, каждая сплошная линия указывает разбиение на основании структуры квадродерева, а каждая пунктирная линия указывает разбиение на основании структуры бинарного дерева. В разбиение основанном на структуре бинарного дерева, допускаются прямоугольные блоки, так что является необходимой информация, указывающая направление дробления (направление, в котором проходит линия дробления). На виде (b) Фиг. 17, 0 указывает дробление в горизонтальном направлении, а 1 указывает дробление в вертикальном направлении. Структура QTBT может выражать прямоугольные форма разбиения более гибко, и, следовательно, улучшать эффективность сжатия видеосистемы, основанной на структуре разбиения блока, описанной в Непатентной Литературе 1.
Список цитирования
Непатентная Литература
[0042] NPL 1: High Efficiency Video Coding (HEVC) text specification draft 10 (for FDIS & Last Call) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 12th Meeting: Женева, Швейцария, 14-23 января 2013г.
NPL 2: Jicheng An, и др., «Quadtree plus binary tree structure integration with JEM tools», JVET-B0023, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 2nd Meeting: Сан-Диего, США, 20-26 февраля 2016г.
Сущность изобретения
Техническая задача
[0043] Фиг. 18 является пояснительной схемой, изображающей пример разбиения блока для CTU на основании структуры QTBT и его древовидную структуру.
[0044] Сначала описываются определения cu_split_flag, bt_split_flag, и bt_split_vertical_flag, используемых на Фиг. 18.
[0045] cu_split_flag указывает выполняется или нет разбиение, основанное на структуре квадродерева. Когда cu_split_flag является 0, разбиение, основанное на структуре квадродерева, не выполняется (т.е., блок является блоком конечного узла в структуре квадродерева). Когда cu_split_flag является 1, разбиение, основанное на структуре квадродерева, выполняется.
[0046] bt_split_flag указывает выполняется или нет разбиение, основанное на структуре бинарного дерева. Когда bt_split_flag является 0, разбиение, основанное на структуре бинарного дерева, не выполняется (т.е., блок является блоком конечного узла в структуре бинарного дерева). Когда bt_split_flag является 1, разбиение, основанное на структуре бинарного дерева, выполняется.
[0047] bt_split_vertical_flag присутствует, когда bt_split_flag является 1. bt_split_vertical_flag указывает направление дробления. Когда bt_split_vertical_flag является 0, дробление выполняется в горизонтальном направлении. Когда bt_split_vertical_flag является 1, дробление выполняется в вертикальном направлении.
[0048] Пример разбиения блока показан на виде (a) Фиг. 18. На виде (b) Фиг. 18 показаны элементы синтаксиса и структура QTBT, которые соответствуют разбиению, показанному на виде (a) Фиг. 18.
[0049] В примере, изображенном на виде (a) Фиг. 18, 64×64 (64 пикселя × 64 пикселя) блок дробится на четыре 32×32 блока на основании структуры квадродерева. Соответственно, на QT 0-уровне (глубина 0), значение cu_split_flag указывает разбиение (1 в данном примере).
[0050] На QT 1-уровне (глубина 1), нижний правый 32×32 блок дробится на два в вертикальном направлении. Для 32×32 блока, значение cu_split_flag указывает не разбиение (0 в данном примере), но значение bt_split_flag на BT 1-уровне (глубина 1) указывает разбиение (1 в данном примере). Более того, значение bt_split_vertical_flag указывает вертикальное направление (1 в данном примере). Для других трех 32×32 блоков, значение bt_split_flag, относящееся к структуре бинарного дерева, указывает не разбиение (0 в данном примере).
[0051] На BT 2-уровне (глубина 2), для левого 16×32 блока, включенного в нижний правый 32×32 блок, значение bt_split_flag указывает не разбиение (0 в данном примере), поскольку блок более не подвергается разбиению.
[0052] Для правого 16×32 блока, значение bt_split_flag указывает разбиение (1 в данном примере), поскольку блок подвергается дальнейшему разбиению. Значение bt_split_vertical_flag указывает вертикальное направление (1 в данном примере).
[0053] На BT 3-уровне (глубина 3), левый 8×32 блок, включенный в нижний правый 16×32 блок, не подвергается разбиению, так что значение bt_split_flag указывает не разбиение (0 в данном примере). Правый 8×32 блок, включенные в нижний правый 16×32 блок, подвергается разбиению, так что значение bt_split_flag указывает разбиение (1 в данном примере). Значение bt_split_vertical_flag указывает горизонтальное направление (0 в данном примере).
[0054] Верхний 8×16 блок и нижний 8×16 блок, включенные в нижний правый 8×32 блок, оба не подвергаются разбиению. Соответственно, для каждого из блоков, значение bt_split_flag указывает не разбиение (0 в данном примере).
[0055] При использовании вышеупомянутой структуры QTBT, информация разбиения/не разбиения блока основана на бинарном дереве (далее именуемой «флаг дробления бинарного дерева») и требуется, чтобы была передана информация горизонтального/вертикального направления дробления (далее именуемая «флаг направления дробления бинарного дерева» в дополнение к информации разбиения/не разбиения блока на основании квадродерева (далее именуемая «флаг дробления квадродерева»).
[0056] Поскольку флаг дробления бинарного дерева и флаг направления дробления бинарного дерева передаются для каждого блока, число битов увеличивается значительно, в особенности при условии низкой скорости передачи битов.
[0057] Таким образом, информация флага несет величину служебного кода и вызывает снижение эффективности сжатия, и также вызывает увеличение величины обработки энтропийного кодирования/декодирования.
[0058] В случае использования структуры QTBT, может быть установлен минимальный размер блока. Минимальный размер является концепцией, включающей в себя как минимальную ширину, так и минимальную высоту. Предположим, что минимальный размер установлен в «N». Если ширина (число пикселей в горизонтальном направлении) блока достигает N, блок не может быть дополнительно раздроблен в вертикальном направлении. Поскольку такое дробление приводит к ширине N/2. Если высота (число пикселей в вертикальном направлении) блока достигает N, блок не может быть дополнительно раздроблен в горизонтальном направлении. Поскольку такое дробление приводит к высоте N/2.
[0059] Таким образом, в случае дробления блока, чья ширина или высота является минимальным размером, на основании разбиения бинарного дерева, направление дробления определяется однозначно. В системе, изображенной на виде (b) Фиг. 18, тем не менее, ненужный (т.е., избыточный bt_split_vertical_flag передается даже в таком случае.
[0060] Цель настоящего изобретения состоит в улучшении эффективности сжатия и сокращении количества обработки энтропийного кодирования и количества обработки энтропийного декодирования в процессе кодирования видео и процессе декодирования видео, которые используют структуру разбиения блока на основании квадродерева и бинарного дерева.
Решение задачи
[0061] Способ кодирования видео в соответствии с настоящим изобретением является способом кодирования видео использующим структуру разбиения блока на основании квадродерева и бинарного дерева, причем способ кодирования видео, содержит: этап энтропийного-кодирования флага, указывающего, разбивается или нет блок на основании структуры квадродерева; этап энтропийного-кодирования флага пропуска конечного узла в структуре квадродерева; этап энтропийного-кодирования флага, указывающего разбивается или нет блок конечного узла в структуре квадродерева на основании структуры бинарного дерева, и флага горизонтального/вертикального направления дробления, указывающего направление дробления; и этап мультиплексирования информации, указывающей минимальный размер разбиения на основании структуры бинарного дерева, в битовый поток, при этом в случае, когда узел размера, равного минимальному размеру, дополнительно разбивается на основании структуры бинарного дерева, флаг горизонтального/вертикального направления дробления в узле не энтропийно-кодируется.
[0062] Способ декодирования видео в соответствии с настоящим изобретением является способом декодирования видео, использующим структуру разбиения блока на основании квадродерева и бинарного дерева, причем способ декодирования видео, содержит: этап энтропийного-декодирования флага пропуска конечного узла в структуре квадродерева; этап энтропийного-декодирования флага, указывающего, разбивается или нет блок конечного узла в структуре квадродерева на основании структуры бинарного дерева, и флага горизонтального/вертикального направления дробления, указывающего направление дробления; и этап извлечения информации, указывающей минимальный размер разбиения на основании структуры бинарного дерева, из битового потока, при этом в случае, когда узел размера, равного минимальному размеру, допонительно разбивается на основании структуры бинарного дерева, флаг горизонтального/вертикального направления дробления в узле не энтропийно-декодируется.
[0063] Устройство кодирования видео в соответствии с настоящим изобретением является устройством кодирования видео, использующим структуру разбиения блока на основании квадродерева и бинарного дерева, причем устройство кодирования видео, содержащее: средство кодирования флага дробления квадродерева для энтропийного-кодирования флага, указывающего, разбивается или нет блок на основании структуры квадродерева; средство кодирования флага пропуска для энтропийного-кодирования флага пропуска конечного узла в структуре квадродерева; средство кодирования информации бинарного дерева для энтропийного-кодирования флага, указывающего разбивается или нет блок конечного узла в структуре квадродерева на основании структуры бинарного дерева, и флага горизонтального/вертикального направления дробления, указывающего направление дробления; и средство мультиплексирования размера для мультиплексирования информации, указывающей минимальный размер разбиения на основании структуры бинарного дерева, в битовый поток, при этом в случае, когда узел размера, равного минимальному размеру, дополнительно разбивается на основании структуры бинарного дерева, средство кодирования информации бинарного дерева не энтропийно-кодирует флаг горизонтального/вертикального направления дробления в узле.
[0064] Устройство декодирования видео в соответствии с настоящим изобретением является устройством декодирования видео, использующим структуру разбиения блока на основании квадродерева и бинарного дерева, причем устройство декодирования видео, содержащее: средство декодирования флага пропуска для энтропийного-декодирования флага пропуска конечного узла в структуре квадродерева; средство декодирования информации бинарного дерева для энтропийного-декодирования флага, указывающего, разбивается или нет блок конечного узла в структуре квадродерева на основании структуры бинарного дерева, и флага горизонтального/вертикального направления дробления, указывающего направление дробления; и средство извлечения размера для извлечения информации, указывающей минимальный размер разбиения на основании структуры бинарного дерева, из битового потока, при этом в случае, когда узел размера, равного минимальному размеру, дополнительно разбивается на основании структуры бинарного дерева, средство декодирования информации бинарного дерева не энтропийно-декодирует флаг горизонтального/вертикального направления дробления в узле.
[0065] Программа кодирования видео в соответствии с настоящим изобретением является программой кодирования видео для исполнения способа кодирования видео, использующего структуру разбиения блока на основании квадродерева и бинарного дерева, причем программа кодирования видео, предписывающая компьютеру исполнять: процесс энтропийного-кодирования флага, указывающего, разбивается или нет блок на основании структуры квадродерева; процесс энтропийного-кодирования флага пропуска конечного узла в структуре квадродерева; процесс энтропийного-кодирования флага, указывающего разбивается или нет блок конечного узла в структуре квадродерева на основании структуры бинарного дерева, и флага горизонтального/вертикального направления дробления, указывающего направление дробления; и процесс мультиплексирования информации, указывающей минимальный размер разбиения на основании структуры бинарного дерева, в битовый поток, при этом в случае, когда узел размера, равного минимальному размеру, дополнительно разбивается на основании структуры бинарного дерева, флаг горизонтального/вертикального направления дробления в узле не энтропийно-кодируется.
[0066] Программа декодирования видео в соответствии с настоящим изобретением является программой декодирования видео для исполнения способа декодирования видео, использующего структуру разбиения блока на основании квадродерева и бинарного дерева, причем программа декодирования видео, предписывающая компьютеру исполнять: процесс энтропийного-декодирования флага пропуска конечного узла в структуре квадродерева; процесс энтропийного-декодирования флага, указывающего, разбивается или нет блок конечного узла в структуре квадродерева на основании структуры бинарного дерева, и флага горизонтального/вертикального направления дробления, указывающего направление дробления; и процесс извлечения информации, указывающей минимальный размер разбиения на основании структуры бинарного дерева, из битового потока, при этом в случае, когда узел размера, равного минимальному размеру, дополнительно разбивается на основании структуры бинарного дерева, флаг горизонтального/вертикального направления дробления в узле не энтропийно-декодируется.
Преимущественные результаты изобретения
[0067] В соответствии с настоящим изобретением, улучшается эффективность сжатия, и сокращаются количество обработки энтропийного кодирования и количество обработки энтропийного декодирования.
Краткое описание чертежей
[0068] [Фиг. 1] является структурной схемой, изображающей устройство кодирования видео в соответствии с Примерным Вариантом 1 Осуществления.
[Фиг. 2] Фиг. 2 является блок-схемой, изображающей операции контроллера энтропийного кодирования и энтропийного кодера.
[Фиг. 3] Фиг. 3 является пояснительной схемой, изображающей структуру QTBT в Примерном Варианте 1 Осуществления.
[Фиг. 4] Фиг. 4 является структурной схемой, изображающей устройство декодирования видео в соответствии с Примерным Вариантом 2 Осуществления.
[Фиг. 5] Фиг. 5 является блок-схемой, изображающей операции контроллера энтропийного декодирования и энтропийного декодера.
[Фиг. 6] Фиг. 6 является структурной схемой, изображающей пример структуры системы обработки информации, выполненной с возможностью реализации функций устройства кодирования видео.
[Фиг. 7] Фиг. 7 является структурной схемой, изображающей основные части устройства кодирования видео.
[Фиг. 8] Фиг. 8 является структурной схемой, изображающей основные части устройства декодирования видео.
[Фиг. 9] Фиг. 9 является пояснительной схемой, изображающей пример 33 типов углового интра предсказания.
[Фиг. 10] Фиг. 10 является пояснительной схемой, изображающей пример интер-кадрового предсказания.
[Фиг. 11] Фиг. 11 является пояснительной схемой, изображающей пример разбиения CTU кадра t и пример разбиения CU для CTU8 кадра t.
[Фиг. 12] Фиг. 12 является пояснительной схемой, изображающей структуру квадродерева, соответствующую примеру разбиения CU для CTU8.
[Фиг. 13] Фиг. 13 является пояснительной схемой, изображающей примеры разбиения PU для CU.
[Фиг. 14] Фиг. 14 является пояснительной схемой, изображающей примеры разбиения TU для CU.
[Фиг. 15] Фиг. 15 является структурной схемой, изображающей пример структуры типичного устройства кодирования видео.
[Фиг. 16] Фиг. 16 является структурной схемой, изображающей пример структуры типичного устройства декодирования видео.
[Фиг. 17] Фиг. 17 является пояснительной схемой, изображающей пример разбиения блока для CTU, описанного в НЕПАТЕНТНОЙ ЛИТЕРАТУРЕ 2, и его древовидную структуру.
[Фиг. 18] Фиг. 18 является пояснительной схемой, изображающей пример разбиения блока для CTU на основании структуры QTBT и его древовидную структуру.
Описание вариантов осуществления
[0069]
Примерный Вариант 1 Осуществления
Фиг. 1 является структурной схемой, изображающей примерный вариант осуществления (Примерный Вариант 1 Осуществления) устройства кодирования видео. Устройство кодирования видео, изображенное на Фиг. 1, включает в себя преобразователь/квантователь 101, энтропийный кодер 102, обратный квантователь/обратный преобразователь 103, буфер 104, предсказатель 105, мультиплексор 106, и контроллер 107 энтропийного кодирования.
[0070] Определения cu_split_flag, bt_split_flag, и bt_split_vertical_flag, используемых в данном примерном варианте осуществления являются как описано выше. В случае, когда bt_split_flag не присутствует, сторона декодирования видео в неявной форме интерпретирует bt_split_flag как 0. В данном примерном варианте осуществления, bt_split_vertical_flag может не присутствовать даже когда bt_split_flag является 1.
[0071] Предсказатель 105 определяет, для каждой CTU, cu_split_flag, bt_split_flag, и bt_split_vertical_flag, которые минимизируют затраты кодирования. Между прочим, cu_split_flag, bt_split_flag, и bt_split_vertical_flag определяют форму разбиения QTBT.
[0072] Блок, сгенерированный в результате разбиения на основании структуры квадродерева или структуры бинарного дерева, далее также именуется как «субблок».
[0073] Предсказатель 105 затем определяет pred_mode_flag для определения интра предсказания/интер предсказания, split_tu_flag для определения формы разбиения TU, направление интра предсказания, и вектор движения, для каждого субблока, сгенерированного посредством разбиения QTBT, на основании определенных cu_split_flag, bt_split_flag, и bt_split_vertical_flag. pred_mode_flag, split_tu_flag, направление интра предсказания и вектор движения, которые будут определяться, минимизируют затраты кодирования.
[0074] Предсказатель 105 затем определяет skip_flag для определения режима пропуска. Подробнее, в случае, когда, для субблока, который будет обрабатываться, определенный pred_mode_flag указывает интер предсказание и значение квантования преобразования не присутствует, предсказатель 105 устанавливает skip_flag в 1 (т.е., режим пропуска установлен). В противном случае, предсказатель 105 устанавливает skip_flag в 0 (т.е., режим пропуска не установлен).
[0075] Предсказатель 105 генерирует сигнал предсказания, соответствующий входному сигналу изображения каждого субблока, на основании определенного значения синтаксиса cu_split_flag, значения синтаксиса bt_split_flag, значения синтаксиса bt_split_vertical_flag, значения синтаксиса skip_flag, значения синтаксиса pred_mode_flag, значения синтаксиса split_tu_flag, направления интра предсказания, и вектора движения. Сигнал предсказания генерируется на основании вышеупомянутого интра предсказания или интер-кадрового предсказания.
[0076] Преобразователь/квантователь 101 частотно-преобразует изображение ошибки предсказания, полученное посредством вычитания сигнала предсказания из входного сигнала изображения, на основании формы разбиения TU, определенной посредством предсказателя 105. Преобразователь/квантователь 101 дополнительно квантует частотно-преобразованное изображение ошибки предсказания (коэффициент преобразования частоты), чтобы сгенерировать значение квантования преобразования.
[0077] Контроллер 107 энтропийного кодирования осуществляет мониторинг размера каждого субблока на основании структуры бинарного дерева, подаваемой от предсказателя 105 энтропийному кодеру 102, и определяет, энтропийно-кодировать или нет bt_split_vertical_flag.
[0078] Подробнее, в случае, когда ширина или высота субблока, который будет обрабатываться, равна минимальному размеру, при дальнейшем разбиении блока, контроллер 107 энтропийного кодирования предписывает энтропийному кодеру 102 пропускать процесс энтропийного кодирования bt_split_vertical_flag. Минимальный размер далее обозначается minBTsize. Минимальный размер может быть установлен в любой размер. В данном примерном варианте осуществления, минимальный размер является «8» в качестве примера. Ширина и высота субблока, который будет обрабатываться, соответственно обозначаются curPartW и curPartH.
[0079] Энтропийный кодер 102 энтропийно-кодирует значение синтаксиса cu_split_flag, значение синтаксиса bt_split_flag, значение синтаксиса bt_split_vertical_flag, значение синтаксиса skip_flag, значение синтаксиса pred_mode_flag, значение синтаксиса split_tu_flag, информацию разности направления интра предсказания, информацию разности вектора движения, которые определены предсказателем 105, и значение квантования преобразования.
[0080] Здесь, когда контроллер 107 энтропийного кодирования определяет пропустить энтропийное-кодирование bt_split_vertical_flag, энтропийный кодер 102 пропускает энтропийное-кодирование bt_split_vertical_flag.
[0081] Посредством вышеупомянутого управления, предотвращается избыточная сигнализация bt_split_vertical_flag.
[0082] Обратный квантователь/обратный преобразователь 103 обратно квантует значение квантования преобразования. Обратный квантователь/обратный преобразователь 103 дополнительно обратно частотно-преобразует коэффициент преобразования частоты, полученный посредством обратного квантования. Сигнал предсказания складывается с воссозданным изображением ошибки предсказания, полученным посредством обратного преобразования частоты, и результат подается в буфер 104. Буфер 104 сохраняет воссозданное изображение.
[0083] Мультиплексор 106 мультиплексирует и выводит энтропийно-закодированные данные, поданные от энтропийного кодера 102, в качестве битового потока. Здесь, мультиплексор 106 также мультиплексирует minBTsize, указывающий минимальный размер разбиения на основании структуры бинарного дерева, в битовый поток.
[0084] Устройство кодирования видео в соответствии с данным примерным вариантом осуществления генерирует битовый поток посредством операции, описанной выше.
[0085] Нижеследующее описывает операции контроллера 107 энтропийного кодирования и энтропийного кодера 102, которые являются характерными частями в данном примерном варианте осуществления, для bt_split_flag, bt_split_vertical_flag, и skip_flag более подробно, со ссылкой на блок-схему на Фиг. 2.
[0086] На этапе S101, контроллер 107 энтропийного кодирования определяет, является 0 или нет cu_split_flag. В случае, когда cu_split_flag является 0, процесс перемещается к этапу S102. В случае, когда cu_split_flag является 1, процесс перемещается к обработке следующего субблока квадродерева (блок после разбиения основанного на структуре квадродерева).
[0087] На этапе S102, энтропийный кодер 102 энтропийно-кодирует bt_split_flag. На этапе S103, контроллер 107 энтропийного кодирования определяет, является 0 или нет bt_split_flag. В случае, когда bt_split_flag является 0, процесс заканчивается. Перед окончанием процесса, энтропийный кодер 102 энтропийно-кодирует skip_flag. В случае, когда bt_split_flag является 1, процесс перемещается к этапу S104.
[0088] На этапе S104, контроллер 107 энтропийного кодирования определяет, является или нет curPartW или curPartH равной minBTsize. Когда любая из curPartW и curPartH является равной minBTsize, процесс перемещается к обработке следующего субблока бинарного дерева (блок после разбиения на основании структуры бинарного дерева). Обработка следующего субблока бинарного дерева соответствует процессу с этапа S102 и далее. Когда ни curPartW, ни curPartH не равна minBTsize, процесс перемещается к этапу S105.
[0089] На этапе S105, энтропийный кодер 102 энтропийно-кодирует bt_split_vertical_flag. Процесс затем перемещается к обработке следующего субблока бинарного дерева.
[0090] Посредством этапов с S103 по S105, контроллер 107 энтропийного кодирования пропускает процесс энтропийного кодирования bt_split_vertical_flag в случае, когда bt_split_flag субблока, который будет обрабатываться, является 1 (т.е., блок, который будет обрабатываться, дополнительно разбивается на основании структуры бинарного дерева) и любая из curPartW и curPartH равна minBTsize.
[0091] Конкретный пример данного примерного варианта осуществления описывается ниже. Фиг. 3 является пояснительной схемой, изображающей структуру QTBT в Примерном Варианте 1 Осуществления.
[0092] Пример разбиения блока показан на виде (a) Фиг. 3. На виде (b) Фиг. 3, показаны элементы синтаксиса и структура QTBT, которые соответствуют разбиению, показанному на виде (a) Фиг. 3.
[0093] В примере, показанном на виде (a) Фиг. 3, 64×64 (64 пикселя × 64 пикселя) блок дробится на четыре 32×32 блока (субблока) на основании структуры квадродерева. Соответственно, на QT 0-уровне (глубина 0), значение cu_split_flag указывает разбиение (1 в данном примерном варианте осуществления).
[0094] На QT 1-уровне (глубина 1), нижний правый 32×32 блок дробится на два в вертикальном направлении. Для 32×32 блока, значение cu_split_flag указывает не разбиение (0 в данном примерном варианте осуществления), но значение bt_split_flag на BT 1-уровне (глубина 1) указывает разбиение (1 в данном примерном варианте осуществления). Более того, значение bt_split_vertical_flag указывает вертикальное направление (1 в данном примерном варианте осуществления).
[0095] На BT 2-уровне (глубина 2), для левого 16×32 блока, включенного в нижний правый 32×32 блок, значение bt_split_flag указывает не разбиение (0 в данном примерном варианте осуществления, поскольку блок более не подвергается разбиению.
[0096] Для правого 16×32 блока, значение bt_split_flag указывает разбиение (1 в данном примерном варианте осуществления), поскольку блок подвергается дальнейшему разбиению. Значение bt_split_vertical_flag указывает вертикальное направление (1 в данном примерном варианте осуществления). minBTsize не достигается любым из ширины (curPartW), т.е., 16, и высоты (curPartH), т.е., 32.
[0097] На BT 3-уровне (глубина 3), для левого 8×32 блока, включенного в нижний правый 16×32 блок, значение bt_split_flag указывает не разбиение (0 в данном примерном варианте осуществления), поскольку блок не подвергается дальнейшему разбиению.
[0098] Для правого 8×32 блока (блок, обведенный толстой линией на виде (a) Фиг. 3), значение bt_split_flag указывает разбиение (1 в данном примерном варианте осуществления, поскольку блок подвергается дальнейшему разбиению. Между тем, поскольку curPartW равна minBTsize (=8), bt_split_vertical_flag не энтропийно-кодируется и передается.
[0099] На уровне BT 4-уровень (глубина 4), верхний 8×16 блок и нижний 8×16 блок, включенные в нижний 8×32 блок, оба не подвергаются разбиению. Соответственно, для каждого из блоков, значение bt_split_flag указывает не разбиение (0 в данном примерном варианте осуществления).
[0100] В примере, изображенном на виде (a) Фиг. 3, 8×32 блок, обведенный толстой линией, дополнительно дробится в горизонтальном направлении на основании структуры бинарного дерева. В системе, изображенной на виде (b) Фиг. 18, bt_split_vertical_flag с значением 0 энтропийно-кодируется и включается в битовый поток. Тем не менее, curPartW равна minBTsize для 8×32 блока, обведенного толстой линией, так что направление дробления блока однозначно определяется как горизонтальное направление.
[0101] Вследствие этого, даже когда не передается значение синтаксиса bt_split_vertical_flag, лишь посредством приема информации (например, bt_split_flag) касательно 8×32 блока, чья curPartW равна minBTsize, устройство декодирования видео может распознать направление дробления 8×32 блока. Следовательно, в данном примерном варианте осуществления, устройство кодирования видео не энтропийно-кодирует значение синтаксиса bt_split_vertical_flag в случае, когда удовлетворяется предварительно определенное условие (в частности, bt_split_flag для блока, который будет обрабатываться, является 1 и любая из curPartW и curPartH равна minBTsize).
[0102] С помощью устройства кодирования видео, использующего упомянутый выше контроллер 107 энтропийного кодирования и энтропийный кодер 102, в соответствии с данным примерным вариантом осуществления, предотвращается избыточная передача флага направления дробления бинарного дерева, чтобы улучшать эффективность сжатия. Более того, сокращается избыточная обработка энтропийного кодирования лага направления дробления бинарного дерева, и уменьшается сложность обработки.
[0103] Условие посредством процесса этапов S103 и S104 состоит в том, что когда блок, который будет обрабатываться, дополнительно разбивается на основании структуры бинарного дерева, размер блока после разбиения меньше minBTsize. Это может быть сформулировано как
min(curPartW, curPartH)/(1+bt_split_flag)<minBTsize,
где min(a, b) является функцией, которая возвращает меньшее значение из a и b.
[0104]
Примерный Вариант 2 Осуществления
Фиг. 4 является структурной схемой, изображающей примерный вариант осуществления (Примерный Вариант 2 Осуществления) устройства декодирования видео. Устройство декодирования видео, изображенное на Фиг. 4 включает в себя де-мультиплексор 201, энтропийный декодер 202, обратный квантователь/обратный преобразователь 203, предсказатель 204, буфер 205, и контроллер 206 энтропийного декодирования.
[0105] Де-мультиплексор 201 де-мультиплексирует входной битовый поток, чтобы извлекать энтропийно-закодированные данные. Здесь, де-мультиплексор 201 также извлекает minBTsize из битового потока.
[0106] Энтропийный декодер 202 энтропийно-декодирует энтропийно-закодированные данные. Энтропийный декодер 202 подает энтропийно-декодированное значение квантования преобразования обратному квантователю/обратному преобразователю 203, и дополнительно подает cu_split_flag, bt_split_flag, bt_split_vertical_flag, skip_flag, pred_mode_flag, split_tu_flag, направление интра предсказания, и вектор движения.
[0107] Здесь, если точно такое же условие, как предварительно определенное условие в устройстве кодирования видео, удовлетворяется для bt_split_vertical_flag, энтропийный декодер 202 в данном примерном варианте осуществления пропускает процесс энтропийного декодирования.
[0108] Обратный квантователь/обратный преобразователь 203 обратно квантует значение квантования преобразования с размером шага квантования. Обратный квантователь/обратный преобразователь 203 дополнительно обратно частотно-преобразует коэффициент преобразования частоты, полученный посредством обратного квантования.
[0109] Предсказатель 204 генерирует сигнал предсказания для каждого субблока, на основании cu_split_flag, bt_split_flag, bt_split_vertical_flag, skip_flag, pred_mode_flag, split_tu_flag, направления интра предсказания, и, вектора движения. Сигнал предсказания генерируется на основании вышеупомянутого интра предсказания или интер-кадрового предсказания.
[0110] Сигнал предсказания, подаваемый от предсказателя 204, складывается с воссозданным изображением ошибки предсказания, полученным посредством обратного преобразования частоты посредством обратного квантователя/обратного преобразователя 203, и результат подается в буфер 205 в качестве воссозданной картинки. Воссозданная картинка хранится в буфере 205 и затем выводится в качестве декодированного изображения.
[0111] Устройство декодирования видео в соответствии с данным примерным вариантом осуществления генерирует декодированное изображение посредством операции, описанной выше.
[0112] Нижеследующее описывает операции контроллера 206 энтропийного декодирования и энтропийного декодера 202, которые являются характерными частями в данном примерном варианте осуществления, для bt_split_flag, и bt_split_vertical_flag, более подробно, со ссылкой на блок-схему на Фиг. 5.
[0113] На этапе S201, контроллер 206 энтропийного декодирования определяет, является 0 или нет энтропийно-декодированный cu_split_flag. В случае, когда cu_split_flag является 0, процесс перемещается к этапу S202. В случае, когда cu_split_flag является 1, процесс перемещается к обработке следующего субблока квадродерева.
[0114] На этапе S202, энтропийный декодер 202 энтропийно-декодирует bt_split_flag. Вслед за этим, на этапе S203, контроллер 206 энтропийного декодирования определяет, является 0 или нет энтропийно-декодированный bt_split_flag. В случае, когда bt_split_flag является 0, процесс заканчивается. Перед окончанием процесса, энтропийный декодер 202 энтропийно-кодирует skip_flag. В случае, когда bt_split_flag является 1, процесс перемещается к этапу s204.
[0115] На этапе S204, контроллер 206 энтропийного декодирования определяет, является или нет curPartW или curPartH равной minBTsize. В случае, когда любая из curPartW и curPartH равна minBTsize, процесс перемещается к этапу S206. Другими словами, контроллер 206 энтропийного декодирования предписывает энтропийному декодеру 202 пропустить процесс энтропийного декодирования bt_split_vertical_flag. В случае, когда ни curPartW, ни curPartH не равна minBTsize, процесс перемещается к этапу S205.
[0116] На этапе S205, энтропийный декодер 202 энтропийно-декодирует bt_split_vertical_flag субблока, который будет обрабатываться. Процесс затем перемещается к обработке следующего субблока бинарного дерева (блок после разбиения на основании структуры бинарного дерева). Обработка следующего субблока бинарного дерева соответствует процессу с этапа S202 и далее.
[0117] На этапе с S206 по S208, контроллер 206 энтропийного декодирования извлекает значение bt_split_vertical_flag для которого процесс энтропийного декодирования пропускается.
[0118] Подробнее, на этапе S206, контроллер 206 энтропийного декодирования определяет является или нет min(curPartW)/(1+bt_split_flag)<minBTsize. В случае, когда min(curPartW)/(1+bt_split_flag)<minBTsize, контроллер 206 энтропийного декодирования устанавливает значение bt_split_vertical_flag в 0 (указывающее дробление в горизонтальном направлении) на этапе S207. В случае, когда min(curPartW)/(1+bt_split_flag)≥minBTsize, контроллер 206 энтропийного декодирования устанавливает bt_split_vertical_flag в 1 (указывающую дробление в вертикальном направлении) на этапе S208. Процесс затем перемещается к обработке следующего субблока бинарного дерева (блок после разбиения на основании структуры бинарного дерева).
[0119] min(curPartW)/(1+bt_split_flag)<minBTsize является условием, что при дальнейшем дроблении субблока, который будет обрабатываться, на основании структуры бинарного дерева, ширина субблока после дробления меньше minBTsize. Следовательно, контроллер 206 энтропийного декодирования может использовать условие «min(curPartH)/(1+bt_split_flag)<minBTsize» на этапе S206, чтобы устанавливать bt_split_vertical_flag в 1 (указывающую дробление в вертикальном направлении) в случае, когда min(curPartH)/(1+bt_split_flag)<minBTsize и устанавливать bt_split_vertical_flag в 0 (указывающее дробление в горизонтальном направлении) в случае, когда min(curPartH)/(1+bt_split_flag)≥minBTsize.
[0120] Преимущественные эффекты данного примерного варианта осуществления описываются ниже. С помощью устройства декодирования видео, использующего вышеупомянутый контроллер 206 энтропийного декодирования и энтропийный декодер 202 в соответствии с данным примерным вариантом осуществления, предотвращается избыточное энтропийное декодирование флага направления дробления бинарного дерева, чтобы уменьшить сложность обработки.
[0121] Преимущества исключения избыточности являются следующими.
[0122] Могут быть сокращены избыточный процесс энтропийного кодирования и процесс энтропийного декодирования bt_split_vertical_flag при кодировании видео и декодировании видео. Более того, функциональная совместимость между кодированием видео и декодированием видео может быть улучшена посредством предотвращения любой ошибки при объединении значений параметра.
[0123] Несмотря на то, что Примерные Варианты 1 и 2 Осуществления описывают случай, когда minBTsize означает как минимальную ширину, так и минимальную высоту, минимальная ширина и минимальная высота могут быть установлены раздельно. В таком случае, на этапе S104 на Фиг. 2 и этапе S204 на Фиг. 5, curPartW сравнивается с минимальной шириной, и curPartH сравнивается с минимальной высотой.
[0124] Каждый из вышеизложенных примерных вариантов осуществления может быть реализован посредством аппаратного обеспечения или компьютерной программы.
[0125] Система обработки информации, изображенная на Фиг. 6, включает в себя процессор 1001, память 1002 программ, запоминающий носитель 1003 информации для хранения видеоданных, и запоминающий носитель 1004 информации для хранения битового потока. Запоминающий носитель информации 1003 и запоминающий носитель информации 1004 могут быть раздельными запоминающими носителями информации, или зонами хранения, включенными в один и тот же запоминающий носитель информации. Магнитный запоминающий носитель информации, такой как жесткий диск, является доступным в качестве запоминающего носителя информации.
[0126] В системе обработки информации, изображенной на Фиг. 6, программа для реализации функций блоков (за исключением блока буфера), изображенных в каждой из Фиг. 1 и 4, хранится в памяти 1002 программ. Процессор 1001 реализует функции устройства кодирования видео и устройства декодирования видео в соответствии с вышеизложенными примерными вариантами осуществления, посредством исполнения процессов в соответствии с программой, хранящейся в памяти 1002 программ.
[0127] Фиг. 7 является структурной схемой, изображающей основные части устройства 10 кодирования видео. Как изображено на Фиг. 7, устройство 10 кодирования видео содержит: модуль 11 кодирования флага дробления квадродерева (реализованный посредством энтропийного кодера 102 в примерном варианте осуществления) для энтропийного-кодирования флага (например, cu_split_flag), указывающего разбивается или нет блок на основании структуры квадродерева; модуль 12 кодирования флага пропуска (реализованный посредством энтропийного кодера 102 в примерном варианте осуществления) для энтропийного-кодирования флага пропуска конечного узла в структуре квадродерева; модуль 13 кодирования информации бинарного дерева (реализованный посредством энтропийного кодера 102 в примерном варианте осуществления) для энтропийного-кодирования флага (например, bt_split_flag), указывающего, разбивается или нет блок конечного узла в структуре квадродерева на основании структуры бинарного дерева, и флага горизонтального/вертикального направления дробления (например, bt_split_vertical_flag), указывающего направление дробления; и модуль 14 мультиплексирования размера, (реализованный посредством мультиплексора 106 в примерном варианте осуществления) для мультиплексирования информации (например, minBTsize), указывающей минимальный размер разбиения на основании структуры бинарного дерева, в битовый поток, при этом в случае, когда узел размера, равного минимальному размеру, дополнительно разбивается на основании структуры бинарного дерева, модуль 13 кодирования информации бинарного дерева не энтропийно-кодирует флаг горизонтального/вертикального направления дробления в узле.
[0128] Фиг. 8 является структурной схемой, изображающей основные части устройства декодирования видео. Как изображено на Фиг. 8, устройство 20 декодирования видео содержит: модуль 21 декодирования флага пропуска (реализованный посредством энтропийного декодера 202 в примерном варианте осуществления) для энтропийного-декодирования флага пропуска конечного узла в структуре квадродерева; модуль 22 декодирования информации бинарного дерева (реализованный посредством энтропийного декодера 202 в примерном варианте осуществления) для энтропийного-декодирования флага (например, bt_split_flag), указывающего, разбивается или нет блок конечного узла в структуре квадродерева на основании структуры бинарного дерева, и флага горизонтального/вертикального направления дробления (например, bt_split_vertical_flag), указывающего направление дробления; и модуль 23 извлечения размера (реализуемый посредством де-мультиплексора 201 в примерном варианте осуществления) для извлечения информации (например, minBTsize), указывающей минимальный размер разбиения на основании структуры бинарного дерева, из битового потока, при этом в случае, когда узел размера, равного минимальному размеру, дополнительно разбивается на основании структуры бинарного дерева, модуль 22 декодирования информации бинарного дерева не энтропийно-декодирует флаг горизонтального/вертикального направления дробления в узле.
[0129] Устройство 20 декодирования видео может включать в себя модуль установки размера (реализованный посредством контроллера 206 энтропийного декодирования в примерном варианте осуществления) для установки значения отвечающего минимальному размеру, в качестве значения флага горизонтального/вертикального направления дробления, который не энтропийно-декодируется. Значение отвечающее минимальному размеру является значением для указания того, что разбиение на субблок меньший минимального размера не выполняется (в частности, как ширина, так и высота не опускается ниже минимального значения).
[0130] Несмотря на то, что настоящее изобретение было описано со ссылкой на вышеизложенные примерные варианты осуществления и примеры, настоящее изобретение не ограничивается вышеизложенными примерными вариантами осуществления и примерами. Разнообразные изменения, понятные специалистам в соответствующей области техники, могут быть выполнены в отношении структур и подробностей настоящего изобретения в рамках объема настоящего изобретения.
[0131] По данной заявке испрашивается приоритет Японской Патентной Заявки № 2016-251290, поданной 26 декабря 2016г., раскрытие которой во всей своей полноте включено в настоящее описание.
Перечень ссылочных обозначений
[0132]
10 устройство кодирования видео
11 модуль кодирования флага дробления квадродерева
12 модуль кодирования флага пропуска
13 модуль кодирования информации бинарного дерева
14 модуль мультиплексирования размера
20 устройство декодирования видео
21 модуль декодирования флага пропуска
22 модуль декодирования информации бинарного дерева
23 модуль извлечения размера
101 преобразователь/квантователь
102 энтропийный кодер
103 обратный квантователь/обратный преобразователь
104 буфер
105 предсказатель
106 мультиплексор
107 контроллер энтропийного кодирования
201 де-мультиплексор
202 энтропийный декодер
203 обратный квантователь/обратный преобразователь
204 предсказатель
205 буфер
206 контроллер энтропийного декодирования
1001 процессор
1002 память программ
1003 запоминающий носитель информации
1004 запоминающий носитель информации
Изобретение относится к вычислительной технике. Технический результат заключается в улучшении эффективности сжатия. Способ кодирования видео, использующий структуру разбиения блока на основании квадродерева и бинарного дерева, содержащий этап энтропийного кодирования флага, указывающего, разбивается или нет блок на основании структуры квадродерева; этап энтропийного кодирования флага пропуска конечного узла в структуре квадродерева; этап энтропийного кодирования флага, указывающего разбивается или нет блок конечного узла в структуре квадродерева на основании структуры бинарного дерева, и флага горизонтального/вертикального направления дробления, указывающего направление дробления; и этап мультиплексирования информации, указывающей минимальный размер разбиения на основании структуры бинарного дерева, в битовый поток, при этом в случае, когда узел размера, равного минимальному размеру, дополнительно разбивается на основании структуры бинарного дерева, флаг горизонтального/вертикального направления дробления в узле не энтропийно кодируется. 6 н. и 3 з.п. ф-лы, 18 ил.
1. Способ кодирования видео, использующий структуру разбиения блока на основании квадродерева и бинарного дерева, причем способ кодирования видео содержит:
этап энтропийного кодирования флага, указывающего, разбивается или нет блок на основании структуры квадродерева;
этап энтропийного кодирования флага пропуска конечного узла в структуре квадродерева;
этап энтропийного кодирования флага, указывающего разбивается или нет блок конечного узла в структуре квадродерева на основании структуры бинарного дерева, и флага горизонтального/вертикального направления дробления, указывающего направление дробления; и
этап мультиплексирования информации, указывающей минимальный размер разбиения на основании структуры бинарного дерева, в битовый поток,
при этом в случае, когда узел размера, равного минимальному размеру, дополнительно разбивается на основании структуры бинарного дерева, флаг горизонтального/вертикального направления дробления в узле не энтропийно кодируется.
2. Способ декодирования видео, использующий структуру разбиения блока на основании квадродерева и бинарного дерева, причем способ декодирования видео содержит:
этап энтропийного декодирования флага пропуска конечного узла в структуре квадродерева;
этап энтропийного декодирования флага, указывающего, разбивается или нет блок конечного узла в структуре квадродерева на основании структуры бинарного дерева, и флага горизонтального/вертикального направления дробления, указывающего направление дробления; и
этап извлечения информации, указывающей минимальный размер разбиения на основании структуры бинарного дерева, из битового потока,
при этом в случае, когда узел размера, равного минимальному размеру, дополнительно разбивается на основании структуры бинарного дерева, флаг горизонтального/вертикального направления дробления в узле не энтропийно декодируется.
3. Способ декодирования видео по п. 2, в котором значение, отвечающее минимальному размеру, устанавливается в качестве значения флага горизонтального/вертикального направления дробления, который не энтропийно декодируется.
4. Устройство кодирования видео, использующее структуру разбиения блока на основании квадродерева и бинарного дерева, причем устройство кодирования видео содержит:
средство кодирования флага дробления квадродерева для энтропийного кодирования флага, указывающего, разбивается или нет блок на основании структуры квадродерева;
средство кодирования флага пропуска для энтропийного кодирования флага пропуска конечного узла в структуре квадродерева;
средство кодирования информации бинарного дерева для энтропийного кодирования флага, указывающего разбивается или нет блок конечного узла в структуре квадродерева на основании структуры бинарного дерева, и флага горизонтального/вертикального направления дробления, указывающего направление дробления; и
средство мультиплексирования размера для мультиплексирования информации, указывающей минимальный размер разбиения на основании структуры бинарного дерева, в битовый поток,
при этом в случае, когда узел размера, равного минимальному размеру, дополнительно разбивается на основании структуры бинарного дерева, средство кодирования информации бинарного дерева не энтропийно кодирует флаг горизонтального/вертикального направления дробления в узле.
5. Устройство декодирования видео, использующее структуру разбиения блока на основании квадродерева и бинарного дерева, причем устройство декодирования видео содержит:
средство декодирования флага пропуска для энтропийного декодирования флага пропуска конечного узла в структуре квадродерева;
средство декодирования информации бинарного дерева для энтропийного декодирования флага, указывающего, разбивается или нет блок конечного узла в структуре квадродерева на основании структуры бинарного дерева, и флага горизонтального/вертикального направления дробления, указывающего направление дробления; и
средство извлечения размера для извлечения информации, указывающей минимальный размер разбиения на основании структуры бинарного дерева, из битового потока,
при этом в случае, когда узел размера, равного минимальному размеру, дополнительно разбивается на основании структуры бинарного дерева, средство декодирования информации бинарного дерева не энтропийно декодирует флаг горизонтального/вертикального направления дробления в узле.
6. Устройство декодирования видео по п. 5, содержащее
средство установки размера для установки значения отвечающего минимальному размеру, в качестве значения флага горизонтального/вертикального направления дробления, который не энтропийно декодируется.
7. Информационный носитель записи, хранящий программу кодирования видео для исполнения способа кодирования видео, использующего структуру разбиения блока на основании квадродерева и бинарного дерева, причем программа кодирования видео предписывает компьютеру исполнять:
процесс энтропийного кодирования флага, указывающего, разбивается или нет блок на основании структуры квадродерева;
процесс энтропийного кодирования флага пропуска конечного узла в структуре квадродерева;
процесс энтропийного кодирования флага, указывающего разбивается или нет блок конечного узла в структуре квадродерева на основании структуры бинарного дерева, и флага горизонтального/вертикального направления дробления, указывающего направление дробления; и
процесс мультиплексирования информации, указывающей минимальный размер разбиения на основании структуры бинарного дерева, в битовый поток,
при этом в случае, когда узел размера, равного минимальному размеру, дополнительно разбивается на основании структуры бинарного дерева, флаг горизонтального/вертикального направления дробления в узле не энтропийно кодируется.
8. Информационный носитель записи, хранящий программу декодирования видео для исполнения способа декодирования видео, использующего структуру разбиения блока на основании квадродерева и бинарного дерева, причем программа декодирования видео предписывает компьютеру исполнять:
процесс энтропийного декодирования флага пропуска конечного узла в структуре квадродерева;
процесс энтропийного декодирования флага, указывающего, разбивается или нет блок конечного узла в структуре квадродерева на основании структуры бинарного дерева, и флага горизонтального/вертикального направления дробления, указывающего направление дробления; и
процесс извлечения информации, указывающей минимальный размер разбиения на основании структуры бинарного дерева, из битового потока,
при этом в случае, когда узел размера, равного минимальному размеру, дополнительно разбивается на основании структуры бинарного дерева, флаг горизонтального/вертикального направления дробления в узле не энтропийно декодируется.
9. Информационный носитель записи по п. 8, в котором программа декодирования видео дополнительно предписывает компьютеру устанавливать значение, отвечающее минимальному размеру, в качестве значения флага горизонтального/вертикального направления дробления, который не энтропийно декодируется.
J | |||
CHEN et al | |||
Очаг для массовой варки пищи, выпечки хлеба и кипячения воды | 1921 |
|
SU4A1 |
Способ изготовления электрических сопротивлений посредством осаждения слоя проводника на поверхности изолятора | 1921 |
|
SU19A1 |
H | |||
HUANG et al | |||
Аппарат для очищения воды при помощи химических реактивов | 1917 |
|
SU2A1 |
Авторы
Даты
2020-04-29—Публикация
2017-11-15—Подача