Область техники, к которой относится изобретение
[1] Примерные варианты осуществления относятся к кодированию и декодированию видео.
Уровень техники
[2] По мере того как разрабатывается и предлагается аппаратное обеспечение для воспроизведения и хранения видео контента с высоким разрешением или высоким качеством, растет потребность в видео кодеке для эффективного кодирования или декодирования видео контента с высоким разрешением или высоким качеством. В видео кодеке известного уровня техники, видео кодируется в соответствии с ограниченным способом кодирования, основанным на макроблоке, заранее определенного размера. Также в видео кодеке известного уровня техники информация о структуре кодированного блока кодируется в единицах макроблоков.
Раскрытие изобретения
Техническая задача
[3] Согласующиеся с примерными вариантами осуществления устройства и способы предоставляют кодирование и декодирование видео при помощи информации, указывающей на то, закодирована ли информация о текстуре единицы кодирования и принимая во внимание иерархическую глубину.
Решение задачи
[4] В соответствии с аспектом примерного варианта осуществления, предоставлен способ декодирования видео, причем способ, включает в себя прием и анализ битового потока закодированного видео; извлечение, из битового потока, закодированных данных изображения текущей картины (т.е. текущей «картинки» в декодируемом видеосигнале), назначенных максимальной единице кодирования текущей картины, информации, относящейся к кодируемой глубине максимальной единицы кодирования, информации, относящейся к режиму кодирования, и информации о структуре единицы кодирования, указывающей на то, закодирована ли информация о текстуре максимальной единицы кодирования; и декодирование закодированных данных изображения для максимальной единицы кодирования, на основании информации относящейся к кодируемой глубине максимальной единицы кодирования, информации, относящейся к режиму кодирования, и информации о структуре единицы кодирования.
Полезные результаты изобретения
[5] Используется информация о структуре единицы кодирования, основанная на иерархически структурированных единице кодирования и единице преобразования. Таким образом, информация о структуре единицы кодирования может кодироваться в единице кодирования, которая больше макроблока или является единицей данных другого размера. Также информация о структуре единицы кодирования может кодироваться в единице кодирования, которая включает в себя множество иерархически структурированных единиц преобразования согласно древовидной структуре, интегрированным образом. Соответственно, может быть повышена эффективность кодирования/декодирования и передачи информации о структуре единицы кодирования.
Краткое описание чертежей
[6] Вышеприведенные и/или прочие аспекты станут более очевидны посредством подробного описания их примерных вариантов осуществления со ссылкой на прилагаемые чертежи, в которых:
[7] Фиг. 1 является структурной схемой устройства кодирования видео в соответствии с примерным вариантом осуществления;
[8] Фиг. 2 является структурной схемой устройства декодирования видео в соответствии с примерным вариантом осуществления;
[9] Фиг. 3 является схемой для описания концепции единиц кодирования в соответствии с примерным вариантом осуществления;
[10] Фиг. 4 является структурной схемой кодера изображений, основанного на единицах кодирования, в соответствии с примерным вариантом осуществления;
[11] Фиг. 5 является структурной схемой декодера изображений, основанного на единицах кодирования, в соответствии с примерным вариантом осуществления;
[12] Фиг. 6 является схемой, иллюстрирующей более глубокие единицы кодирования согласно глубинам, и элементы разбиения в соответствии с примерным вариантом осуществления;
[13] Фиг. 7 является схемой для описания взаимосвязи единицы кодирования с единицами преобразования в соответствии с примерным вариантом осуществления;
[14] Фиг. 8 является схемой для описания информации кодирования единиц кодирования соответствующих кодируемой глубине в соответствии с примерным вариантом осуществления;
[15] Фиг. 9 является схемой более глубоких единиц кодирования согласно глубинам в соответствии с примерным вариантом осуществления;
[16] Фиг. 10-12 являются схемами для описания взаимосвязи между единицами кодирования, единицами предсказания и единицами преобразования в соответствии с примерным вариантом осуществления;
[17] Фиг. 13 является схемой для описания взаимосвязи между единицей кодирования, единицей предсказания или элементом разбиения и единицей преобразования, согласно информации о режиме кодирования, в соответствии с примерным вариантом осуществления;
[18] Фиг. 14 является блок-схемой последовательности операций, иллюстрирующей способ кодирования видео, в соответствии с примерным вариантом осуществления;
[19] Фиг. 15 является блок-схемой последовательности операций, иллюстрирующей способ декодирования видео, в соответствии с примерным вариантом осуществления;
[20] Фиг. 16 является структурной схемой устройства кодирования видео, использующего информацию о структуре единицы кодирования, в соответствии с примерным вариантом осуществления;
[21] Фиг. 17 является структурной схемой устройства декодирования видео, использующего информацию о структуре единицы кодирования, в соответствии с примерным вариантом осуществления;
[22] Фиг. 18-20 являются структурными схемами, иллюстрирующими информацию о структуре единицы кодирования соответствующую кодируемой глубине, когда единица кодирования, соответствующая кодируемой глубине, включает в себя одну единицу преобразования, в соответствии с примерным вариантом осуществления;
[23] Фиг. 21-23 иллюстрируют информацию о структуре единицы кодирования, соответствующую кодируемой глубине, когда единица кодирования, соответствующая кодируемой глубине, включает в себя четыре единицы преобразования, в соответствии с примерным вариантом осуществления;
[24] Фиг. 24-26 иллюстрируют информацию о структуре единицы кодирования, соответствующую кодируемой глубине, когда единица кодирования, соответствующая кодируемой глубине, включает в себя множество единиц преобразования, в соответствии с примерным вариантом осуществления;
[25] Фиг. 27 является схемой, иллюстрирующей иерархическую информацию о структуре единицы кодирования, в соответствии с примерным вариантом осуществления;
[26] Фиг. 28 является блок-схемой последовательности операций, иллюстрирующей способ кодирования видео при помощи информации о структуре единицы кодирования, в соответствии с примерным вариантом осуществления; и
[27] Фиг. 29 является блок-схемой последовательности операций, иллюстрирующей способ декодирования видео при помощи информации о структуре единицы кодирования, в соответствии с примерным вариантом осуществления.
Осуществление изобретения
[28] В соответствии с аспектом примерного варианта осуществления, предоставлен способ декодирования видео, при этом способ, включает в себя прием и анализ битового потока закодированного видео; извлечение, из битового потока, закодированных данных изображения текущей картины, назначенных максимальной единице кодирования текущей картины, информации, относящейся к кодируемой глубине максимальной единицы кодирования, информации, относящейся к режиму кодирования, и информации о структуре единицы кодирования, указывающей на то, закодирована ли информация о текстуре максимальной единицы кодирования; и декодирование закодированных данных изображения для максимальной единицы кодирования на основании информации, относящейся к кодируемой глубине максимальной единицы кодирования, информации относящейся к режиму кодирования, и информации о структуре единицы кодирования.
[29] Единица кодирования может характеризоваться максимальным размером и глубиной.
[30] Глубина может обозначать количество раз, на которое была иерархически разбита единица кодирования, и по мере увеличения глубины, более глубокие единицы кодирования, согласно глубинам, могут быть получены путем разбиения максимальной единицы кодирования, чтобы получить минимальные единицы кодирования.
[31] Глубина может увеличиваться от верхней глубины до нижней глубины.
[32] По мере увеличения глубины, количество раз, на которое разбивается максимальная единица кодирования, увеличивается, и суммарное количество раз, на которое может быть разбита максимальная единица кодирования, может соответствовать максимальной глубине.
[33] Максимальный размер и максимальная глубина единицы кодирования могут быть определены заранее.
[34] Информация о структуре единицы кодирования, относящаяся к максимальной единице кодирования, может включать в себя, по меньшей мере, одно из информации о структуре единицы кодирования, соответствующей кодируемой глубине, которая установлена для единицы кодирования, соответствующей кодируемой глубине, или иерархической информации о структуре единицы кодирования согласно глубинам преобразования, которая указывает на то, закодирована ли иерархическая информация о структуре единицы кодирования, относящаяся к нижней глубине.
[35] Если информация о структуре единицы кодирования, относящаяся к единицам кодирования, согласно кодируемым глубинам, указывает, что информация о текстуре максимальных единиц кодирования закодирована, то декодирование закодированных данных изображения может включать в себя извлечение информации о структуре единицы преобразования, указывающей, закодирована ли информация о текстуре, по меньшей мере, одной единицы преобразования, включенной в единицу кодирования, соответствующую кодируемой глубине.
[36] Если информация о структуре единицы преобразования указывает, что информация о текстуре единицы преобразования закодирована, то декодирование закодированных данных изображения может включать в себя декодирование закодированной информации о текстуре.
[37] Если информация о структуре единицы преобразования указывает, что информация о текстуре единицы преобразования не закодирована, то декодирование закодированных данных изображения может включать в себя декодирование единицы преобразования при помощи информации, относящейся к единицам преобразования соседним к единице преобразования.
[38] Информация о структуре единицы кодирования, соответствующая кодируемой глубине, может извлекаться в соответствии с цветовыми составляющими данных изображения.
[39] Если единица кодирования, соответствующая кодируемой глубине, включает в себя, по меньшей мере, четыре единицы преобразования, то первая группа может быть разделена на четыре более низкие группы, и в дальнейшем для каждой из четырех более низких групп может извлекаться информация о структуре единицы кодирования заранее определенного количества битов, соответствующая кодируемой глубине.
[40] В соответствии с аспектом другого примерного варианта осуществления предоставлен способ кодирования видео, причем способ, включает в себя разбиение текущей картины видео на максимальные единицы кодирования; определение кодируемой глубины для вывода итогового результата кодирования в соответствии с, по меньшей мере, одной областью разбиения, которая получается посредством разбиения области максимальной единицы кодирования согласно глубинам, посредством кодирования, по меньшей мере, одной области разбиения, основанной на глубине, которая увеличивается пропорционально количеству раз, на которое разбивается область максимальной единицы кодирования; и выдачу данных изображения, которые являются итоговым результатом кодирования, в соответствии с, по меньшей мере, одной областью разбиения, и кодирование и выдачу информации о кодируемой глубине и режиме предсказания и информации о структуре единицы кодирования одной из максимальной единицы кодирования, при этом информация о структуре единицы кодирования указывает, закодирована ли информация о текстуре максимальной единицы кодирования.
[41] Вывод данных изображения может включать установку и кодирование информации о структуре единицы кодирования, на основании того, являются ли все коэффициенты преобразования информации о текстуре максимальной единицы кодирования равными 0.
[42] Вывод данных изображения может включать в себя установку и кодирование информации о структуре единицы кодирования соответствующей кодируемой глубине, в соответствии с кодируемой глубиной максимальной единицы кодирования, на основании того, являются ли все коэффициенты преобразования единицы кодирования, соответствующей кодируемой глубине, равными 0.
[43] Если иерархическая информация о структуре единицы кодирования и информация о текстуре, относящиеся к единице кодирования, соответствующей верхней глубине текущей глубины не закодированы, то затем вывод данных изображения может включать в себя установку и кодирование иерархической информации о структуре единицы кодирования от самой верхней глубины к текущей глубине.
[44] Способ может дополнительно включать в себя определение, должна ли использоваться применительно к, по меньшей мере, одному из текущей картины, последовательности макроблоков или максимальной единицы кодирования, по меньшей мере, одно из информации о структуре единицы кодирования, соответствующей кодируемой глубине, или иерархической информации о структуре единицы кодирования для каждой из, по меньшей мере, одной глубины преобразования.
[45] Вывод информации о структуре единицы кодирования может включать в себя определение, должна ли устанавливаться информация о структуре единицы преобразования для единицы преобразования, включенной в единицу кодирования, соответствующую кодируемой глубине, на основании информации о структуре единицы кодирования, относящейся к максимальной единице кодирования, при этом информация о структуре единицы преобразования указывает, закодирована ли информация о текстуре единицы преобразования.
[46] В соответствии с аспектом другого примерного варианта осуществления, предоставлено устройство для декодирования видео, при этом устройство включает в себя приемник, который принимает и анализирует битовый поток закодированного видео; модуль извлечения, который извлекает из битового потока закодированные данные изображения текущей картины, назначенные максимальной единице кодирования, информацию, относящуюся к кодируемой глубине, максимальной единицы кодирования, информацию, относящуюся к режиму кодирования, и информацию о структуре единицы кодирования, указывающую, закодирована ли информация о текстуре максимальной единицы кодирования; и декодер данных изображения, который декодирует закодированные данные изображения в максимальной единице кодирования, на основании информации, относящейся к кодируемой глубине максимальной единицы кодирования, информации, относящейся к режиму кодирования, и информации о структуре единицы кодирования.
[47] В соответствии с аспектом другого примерного варианта осуществления, предоставлено устройство для кодирования видео, при этом устройство включает в себя модуль разбиения на максимальные единицы кодирования, который разбивает текущую картину на максимальные единицы кодирования; модуль определения единицы кодирования, который определяет кодируемую глубину для вывода итогового результата кодирования в соответствии с, по меньше мере, одной областью разбиения, которая получается посредством разбиения области каждой максимальной единицы кодирования согласно глубинам, посредством кодирования, по меньшей мере, одной области разбиения, основанной на глубине, которая увеличивается пропорционально количеству раз, на которое разбивается область максимальной единицы кодирования; и модуль вывода, который выводит данные изображения, которые являются итоговым результатом кодирования, в соответствии с, по меньшей мере, одной областью разбиения, и который кодирует и выдает информацию о кодируемой глубине и режиме кодирования и информацию о структуре единицы кодирования максимальной единицы кодирования, при этом информация о структуре единицы кодирования указывает, закодирована ли информация о текстуре каждой из, по меньшей мере, одной максимальной единицы кодирования.
[48] В соответствии с аспектом другого примерного варианта осуществления, предоставлен машиночитаемый носитель записи, содержащий записанную на нем компьютерную программу для выполнения описанного выше способа декодирования видео.
[49] В соответствии с аспектом другого примерного варианта осуществления, предоставлен машиночитаемый носитель записи, содержащий записанную на нем компьютерную программу для выполнения описанного выше способа кодирования видео.
[50] В соответствии с аспектом другого примерного варианта осуществления, предоставлен способ декодирования видео, при этом способ, включает в себя извлечение, из битового потока закодированного видео, закодированных данных изображения текущей картины, назначенных максимальной единице кодирования текущей картины, информации, относящейся к кодируемой глубине максимальной единицы кодирования, и информации о структуре единицы кодирования, указывающей, закодирована ли информация о текстуре максимальной единицы кодирования; и декодирование закодированных данных изображения применительно к максимальной единице кодирования на основании извлеченной информации, относящейся к кодируемой глубине максимальной единицы кодирования, и информации о структуре единицы кодирования.
Вариант осуществления изобретения
[51] Здесь и далее со ссылкой на сопроводительные чертежи будут описаны способ и устройство для кодирования видео и способ и устройство дл декодирования видео в соответствии с одним или более примерными вариантами осуществления. В частности, со ссылкой на Фиг. 1-15 будут описаны кодирование и декодирование видео, выполняемое на основании единиц кодирования согласно древовидной структуре, включающей в себя пространственно независимые, иерархические единицы данных, в соответствии с одним или более примерными вариантами осуществления. Также со ссылкой на Фиг. 16-29 будут подробно описаны кодирование и декодирование видео, выполняемое с использованием информации о структуре единицы кодирования, относящейся к единице кодирования, согласно такой древовидной структуре, в соответствии с одним или более примерными вариантами осуществления. Должно быть понятно, что в настоящем техническом описании выражение «по меньшей мере, одно из», предшествующее перечню элементов, определяет полный перечень элементов и не определяет отдельные элементы перечня.
[52] В настоящем техническом описании единица кодирования является единицей кодирования данных, в которой кодируются данные изображения на стороне кодера, и единицей закодированных данных, из которой декодируются закодированные данные изображения на стороне декодера, в соответствии с примерными вариантами осуществления. Также кодируемая глубина означает глубину, на которой кодируется единица кодирования.
[53] В настоящем техническом описании, «изображение» может обозначать неподвижное изображение применительно к видео, или подвижное изображение, то есть само видео.
[54] Способ и устройство для кодирования видео и способ и устройство для декодирования видео, в соответствии с одним или более примерными вариантами осуществления, будут описаны со ссылкой на Фиг. 1-15.
[55] Фиг. 1 является структурной схемой устройства 100 кодирования видео, в соответствии с примерным вариантом осуществления. Согласно Фиг. 1, устройство 100 кодирования видео включает в себя модуль 110 разбиения на максимальные единицы кодирования, модуль 120 определения единицы кодирования, и модуль 130 вывода.
[56] Модуль 110 разбиения на максимальные единицы кодирования может разбивать текущую картину, на основании максимальной единицы кодирования для текущей картины изображения. Если текущая картина больше максимальной единицы кодирования, то данные изображения текущей картины могут быть разбиты на, по меньшей мере, одну максимальную единицу кодирования. Максимальная единица кодирования, в соответствии с примерным вариантом осуществления, может быть единицей данных размером 32×32, 64×64, 128×128, 256×256 и т.д., при этом форма единицы данных является квадратом с шириной и высотой в квадратах 2. Данные изображения могут выдаваться модулю 120 определения единицы кодирования в соответствии с, по меньшей мере, одной максимальной единицей кодирования.
[57] Единица кодирования в соответствии с примерным вариантом осуществления может характеризоваться максимальным размером и глубиной. Глубина обозначает количество раз, на которое была разбита максимальная единица кодирования в пространственном отношении, чтобы получить единицу кодирования. Соответственно, по мере увеличения глубины, более глубокие единицы кодирования, согласно глубинам, могут разбиваться от максимальной единицы кодирования до минимальной единицы кодирования. Глубина максимальной единицы кодирования является самой верхней глубиной, а глубина минимальной единицы кодирования является самой низкой глубиной. Так как размер единицы кодирования, соответствующий каждой глубине, уменьшается по мере углубления от максимальной единицы кодирования, то единица кодирования, соответствующая верхней глубине, может включать в себя множество единиц кодирования, соответствующих нижним глубинам.
[58] Как описано выше, данные изображения текущей картины разбиты на одну или более максимальные единицы кодирования в соответствии с максимальным размером единицы кодирования, и каждая из максимальных единиц кодирования может включать в себя более глубокие единицы кодирования, которые разбиты в соответствии с глубинами. Поскольку максимальная единица кодирования в соответствии с примерным вариантом осуществления разбивается согласно глубинам, то данные изображения пространственной области, включенные в максимальную единицу кодирования, могут иерархически классифицироваться согласно глубинам.
[59] Максимальная глубина и максимальный размер единицы кодирования, которые ограничивают суммарное количество раз, на которое высота и ширина максимальной единицы кодирования иерархически разбивается, могут быть определены заранее.
[60] Модуль 120 определения единицы кодирования кодирует, по меньшей мере, одну область разбиения, полученную посредством разбиения области максимальной единицы кодирования согласно глубинам, и определяет глубину для вывода итоговых закодированных данных изображения в соответствии с, по меньшей мере, одной областью разбиения. Например, модуль 120 определения единицы кодирования определяет кодируемую глубину посредством кодирования данных изображения в более глубоких единицах кодирования согласно глубинам, в соответствии с максимальной единицей кодирования текущей картины, и выбирает глубину с минимальными ошибками кодирования. Таким образом, модуль 120 определения единицы кодирования выдает закодированные данные изображения единицы кодирования, соответствующей определенной кодируемой глубине. Также единицы кодирования соответствующие кодируемой глубине могут рассматриваться как закодированные единицы кодирования.
[61] Определенная кодируемая глубина и закодированные данные изображения в соответствии с определенной кодируемой глубиной выдаются модулю 130 вывода.
[62] Данные изображения в максимальной единице кодирования кодируются на основании более глубоких единиц кодирования, соответствующих, по меньшей мере, либо эквивалентной глубине, либо глубине ниже максимальной глубины, а результаты кодирования данных изображения сравниваются на основании каждой из более глубоких единиц кодирования. После сравнения ошибок кодирования более глубоких единиц кодирования может выбираться глубина кодирования, с минимальной ошибкой кодирования. Для каждой максимальной единицы кодирования может выбираться, по меньшей мере, одна кодируемая глубина.
[63] Размер максимальной единицы кодирования разбивается по мере того как иерархически разбиваются единицы кодирования согласно глубинам, и по мере того как растет количество единиц кодирования. Также, если даже в одной максимальной единице кодирования присутствуют единицы кодирования соответствующие одной и той же глубине, то определяют, разбить ли каждую из единиц кодирования, соответствующих одной и той же глубине, на более низкую глубину посредством измерения ошибки кодирования данных изображения каждой единицы кодирования, по отдельности. Соответственно, даже когда данные изображения включены в одну максимальную единицу кодирования, данные изображения разбиваются на области, согласно глубинам, и ошибки кодирования могут различаться по областям в одной максимальной единице кодирования. Таким образом, кодируемые глубины могут отличаться по областям в данных изображения. Вследствие этого, в одной максимальной единице кодирования могут быть определены одна или более кодируемые глубины, и данные изображения максимальной единицы кодирования могут быть разделены в соответствии с единицами кодирования, по меньшей мере, одной кодируемой глубины.
[64] Соответственно, модуль 120 определения единицы кодирования может определять единицы кодирования с древовидной структурой, включенные в максимальную единицу кодирования. Единицы кодирования с древовидной структурой, в соответствии с примерным вариантом осуществления, включают в себя единицы кодирования, соответствующие глубине, определенной как кодируемая глубина, из числа всех более глубоких единиц кодирования, включенных в максимальную единицу кодирования. Единица кодирования кодируемой глубины может иерархически определяться согласно глубинам в той же области максимальной единицы кодирования, и может независимо определяться в других областях. Аналогично, кодируемая глубина в текущей области может независимо определяться от кодируемой глубины в другой области.
[65] Максимальная глубина в соответствии с примерным вариантом осуществления является индексом, относящимся к количеству разбиений от максимальной единицы кодирования до минимальной единицы кодирования. Первая максимальная глубина в соответствии с примерным вариантом осуществления может обозначать суммарное количество разбиений от максимальной единицы кодирования до минимальной единицы кодирования. Вторая максимальная глубина в соответствии с вариантом осуществления настоящего изобретения может обозначать суммарное количество уровней глубин от максимальной единицы кодирования до минимальной единицы кодирования. Например, когда глубина максимальной единицы кодирования равна 0, глубина единицы кодирования, при которой максимальная единица кодирования разбивается один раз, может быть установлена как 1, а глубина единицы кодирования, при которой максимальная единица кодирования разбивается дважды, может быть установлена как 2. В данном случае, если минимальная единица кодирования является единицей кодирования, при которой максимальная единица кодирования разбивается четыре раза, то существует 5 уровней глубины из уровней 0, 1, 2, 3 и 4, и таким образом первая максимальная глубина может быть установлена как 4, а вторая максимальная глубина может быть установлена как 5.
[66] Кодирование с предсказанием и преобразование могут выполняться в соответствии с максимальной единицей кодирования. Кодирование с предсказанием и преобразование также могут выполняться на основании более глубоким единицам кодирования в соответствии с глубиной равной или глубинами меньшими, чем максимальная глубина, в соответствии с максимальной единицей кодирования. Преобразование может выполняться в соответствии со способом ортогонального преобразования или способом целочисленного преобразования.
[67] Поскольку количество более глубоких единиц кодирования растет всякий раз, когда максимальная единица кодирования разбивается согласно глубинам, то кодирование, включающее в себя кодирование с предсказанием и преобразование, производятся по всем более глубоким единицам кодирования, формируемым по мере увеличения глубины. Для удобства описания, кодирование с предсказанием и преобразование далее будут описаны на основании единицы кодирования текущей глубины, в максимальной единице кодирования.
[68] Устройство 100 кодирования видео может гибко выбирать размер и форму единицы данных для кодирования данных изображения. Чтобы закодировать данные изображения, выполняются операции, такие как: кодирование с предсказанием, преобразование и энтропийное кодирование, и на данном этапе одна и та же единица данных может использоваться для всех операций, или для каждой операции могут использоваться разные единицы данных.
[69] Например, устройство 100 кодирования видео может выбрать не только единицу кодирования для кодирования данных изображения, но также единицу данных отличную от единицы кодирования, чтобы выполнить кодирование с предсказанием данных изображения в единице кодирования.
[70] Чтобы выполнить кодирование с предсказанием в максимальной единице кодирования, кодирование с предсказанием может выполняться на основании единицы кодирования соответствующей кодируемой глубине, т.е. на основании единицы кодирования, которая далее не разбивается на единицы кодирования, соответствующие более низкой глубине. Здесь и далее, единица кодирования, которая далее не разбивается и становится базовой единицей для кодирования с предсказанием, будет именоваться как единица предсказания. Элемент разбиения, получаемый посредством разбиения единицы предсказания, может включать в себя единицу предсказания или единицу данных получаемые посредством разбиения, по меньшей мере, одного из высоты или ширины единицы предсказания.
[71] Например, когда единица кодирования размером 2N×2N (где N является положительным целым числом) далее не разбивается и становится единицей предсказания размером 2N×2N, то размер элемента разбиения может быть 2N×2N, 2N×N, N×2N, или N×N. Примеры типов разбиения включают в себя: симметричное разбиение, которое получаются посредством симметричного разбиения высоты или ширины единицы предсказания; элементы разбиения, получаемые посредством ассиметричного разбиения высоты или ширины единицы предсказания (такое как 1:n или n:1); разбиение, получаемые посредством геометрического разбиения единицы предсказания; и элементы разбиения произвольной формы.
[72] Режим предсказания единицы предсказания может быть, по меньшей мере, одним из режима «внутри», режима «между» и режима с пропуском. Например, режим «внутри» или режим «между» могут выполняться над элементами разбиения размером 2N×2N, 2N×N, N×2N или N×N. Также режим с пропуском может выполняться только над элементами разбиения 2N×2N. Кодирование независимо выполняется над одной единицей предсказания в единице кодирования, тем самым выбирая режим предсказания, с минимальной ошибкой кодирования.
[73] Устройство 100 кодирования видео также может выполнять преобразование над данными изображения в единице кодирования на основании не только единицы кодирования применительно к кодированию данных изображения, но и на основании единицы данных, которая отличается от единицы кодирования.
[74] Для того чтобы выполнять преобразование в единице кодирования, преобразование может выполняться на основании единицы данных, размером меньше, либо равным единице кодирования. Например, единица данных для преобразования может включать в себя единицу данных для режима «внутри» и единицу данных для режима «между».
[75] Единица данных, используемая в качестве базового элемента преобразования, далее будет именоваться как единица преобразования. Глубина преобразования, указывающая количество разбиений, чтобы получить единицу преобразования посредством разбиения высоты и ширины единицы кодирования, также может быть установлена в единице преобразования. Например, в текущей единице кодирования размером 2N×2N, глубина преобразования может быть 0, когда размер единицы преобразования также составляет 2N×2N, может быть 1, когда как высота, так и ширина текущей единицы кодирования разбиты на две равные части, суммарно разбивая на 4^1 единицы преобразования, и таким образом размер единицы преобразования составляет N×N, и может быть 2, когда как высота, так и ширина текущей единицы кодирования разбиты на четыре равные части, суммарно разбивая на 4^2 единицы преобразования, и таким образом размер единицы преобразования составляет N/2×N/2. Например, единица преобразования может быть установлена в соответствии с иерархической древовидной структурой, в которой единица преобразования верхней глубины преобразования разбита на четыре единицы преобразования нижней глубины преобразования в соответствии с иерархическими характеристиками глубины преобразования.
[76] Аналогично единице кодирования, единица преобразования в единице кодирования может быть рекурсивно разбита на области более мелкого размера, чтобы единица преобразования могла определяться независимо в единицах областей. Таким образом, данные остатка в единице кодирования могут разделяться в соответствии с преобразованием с древовидной структурой, согласно глубинам преобразования.
[77] Кодирование информации согласно единицам кодирования, соответствующим кодируемой глубине, использует не только информацию о кодируемой глубине, но также информацию, связанную с кодированием с предсказанием и преобразованием. Соответственно, модуль 120 определения единицы кодирования не только определяет кодируемую глубину с минимальной ошибкой кодирования, но также определяет тип разбиения в единице предсказания, режим предсказания в соответствии с единицами предсказания и размер единицы преобразования для преобразования.
[78] Единицы кодирования в соответствии с древовидной структурой в максимальной единице кодирования и способ определения элемента разбиения, в соответствии с одним или более примерными вариантами осуществления, будут описаны подробнее далее со ссылкой на Фиг. 3-12.
[79] Модуль 120 определения единицы кодирования может измерять ошибку кодирования более глубоких единиц кодирования согласно глубинам при помощи оптимизации скорости-искажения на основе множителей Лагранжа.
[80] Модуль 130 вывода выдает данные изображения максимальной единицы кодирования, которые закодированы на основании, по меньшей мере, одной кодируемой глубины, определенной модулем 120 определения единицы кодирования, и информации о режиме кодирования, в соответствии с кодируемой глубиной, в битовых потоках. Закодированные данные изображения могут быть получены посредством кодирования данных остатка изображения. Информация о режиме кодирования в соответствии с кодируемой глубине может включать в себя, по меньшей мере, одно из информации о кодируемой глубине, информации о типе разбиения в единице предсказания, режиме предсказания и размере единицы преобразования.
[81] Информация о кодируемой глубине может определяться при помощи информации разбиения согласно глубинам, которая указывает на то, выполняется ли кодирование по единицам кодирования более низкой глубины, чем текущая глубина. Если текущая глубина текущей единицы кодирования является кодируемой глубиной, то кодируются и выдаются данные изображения в текущей единице кодирования, и таким образом информация разбиения может быть определена как показывающая, что не следует разбивать текущую единицу кодирования на более низкую глубину. В качестве альтернативы, если текущая глубина текущей единицы кодирования не является кодируемой глубиной, то кодирование выполняется над единицей кодирования более низкой глубины. Таким образом, информация разбиения может быть определена, как показывающая на необходимость разбить текущую единицу кодирования для получения единиц кодирования более низкой глубины.
[82] Если текущая глубина не является кодируемой глубиной, то кодирование выполняется над единицей кодирования, которая разбита на единицу кодирования более низкой глубины. Поскольку существует, по меньшей мере, одна единица кодирования более низкой глубины в одной единице кодирования текущей глубины, то кодирование повторно выполняется для каждой единицы кодирования более низкой глубины. Таким образом, кодирование может рекурсивно выполняться для единиц кодирования имеющих ту же самую глубину.
[83] Поскольку единицы кодирования с древовидной структурой определены для одной максимальной единицы кодирования, и для единицы кодирования кодируемой глубины определена информация о, по меньшей мере, одном режиме кодирования, то информация о, по меньшей мере, одном режиме кодирования может быть определена для одной максимальной единицы кодирования. Также кодируемая глубина данных изображения максимальной единицы кодирования может быть разной в соответствии с местоположениями, поскольку данные изображения иерархически разбиты согласно глубинам. Таким образом, информация о кодируемой глубине и режим кодирования могут быть установлены для данных изображения.
[84] Соответственно, модуль 130 вывода может назначать информацию кодирования о соответствующей кодируемой глубине и режиме кодирования, по меньшей мере, одному из единицы кодирования, единицы предсказания и минимальной единицы, включенной в максимальную единицу кодирования.
[85] Минимальная единица в соответствии с примерным вариантом осуществления является прямоугольной единицей данных, полученной посредством разбиения минимальной единицы кодирования, с самой низкой глубиной, на 4. В качестве альтернативы, минимальная единица может быть максимальной прямоугольной единицей данных, которая может быть включена во все из единиц кодирования, единиц предсказания, единиц разбиения и единиц преобразования, включенных в максимальную единицу кодирования.
[86] Например, информация кодирования, выдаваемая посредством модуля 130 вывода, может быть классифицирована на информацию кодирования в соответствии с единицами кодирования и информацию кодирования в соответствии с единицами предсказания. Информация кодирования в соответствии с единицами кодирования может включать в себя информацию о режиме предсказания и о размере элементов разбиения. Информация кодирования в соответствии с единицами предсказания может включать в себя, по меньшей мере, одно из информации об оцененном направлении режима «между»; информации об индексе опорного изображения режима «между»; информации о векторе движения; информацию о составляющей цветности режима «внутри» и информации о способе интерполяции режима «внутри». Также в SPS (Набор Параметров Последовательности) или заголовок битового потока может быть вставлена информация о максимальном размере единицы кодирования, определенной в соответствии с кадрами, последовательностями макроблоков (слайсами) или группами кадров (GOP), и информация о максимальной глубине.
[87] В устройстве 100 кодирования видео, более глубокая единица кодирования может быть единицей кодирования, получаемой посредством деления надвое, по меньшей мере, одного из высоты или ширины единицы кодирования верхней глубины, которая на один уровень выше. Другими словами, когда размер единицы кодирования текущей глубины составляет 2N×2N, то размер единицы кодирования более низкой глубины может быть N×N. Также единица кодирования текущей глубины, размером 2N×2N, может включать в себя 4 единицы кодирования более низкой глубины.
[88] Соответственно, устройство 100 кодирования видео может формировать единицы кодирования с древовидной структурой посредством определения единиц кодирования оптимальной формы и оптимального размера применительно к каждой максимальной единице кодирования, на основании размера максимальной единицы кодирования и максимальной глубины, определенной принимая во внимание характеристики текущей картины. Также, поскольку кодирование может выполняться над каждой максимальной единицей кодирования при помощи одного из различных режимов предсказания и преобразований, то оптимальный режим кодирования может определяться, принимая во внимание характеристики единицы кодирования различных размеров изображения.
[89] Таким образом, если изображение с высоким разрешением или большим объемом данных кодируется в обычном макроблоке, то количество макроблоков на картину чрезмерно растет. Соответственно, растет количество частей сжатой информации, формируемой для каждого макроблока, и, таким образом, становится трудным передать сжатую информацию, и эффективность сжатия данных снижается. Тем не менее при помощи устройства 100 кодирования видео в соответствии с примерным вариантом осуществления, эффективность сжатия изображения может быть повышена, поскольку единица кодирования регулируется при рассмотрении характеристик изображения при увеличении максимального размера единицы кодирования при рассмотрении размера изображения.
[90] Фиг. 2 является структурной схемой устройства 200 декодирования видео, в соответствии с примерным вариантом осуществления. Согласно Фиг. 2, устройство 200 декодирования видео включает в себя приемник 210, модуль 200 извлечения данных изображения и информации кодирования и декодер 230 данных изображения. Определения различных терминов, таких как единица кодирования, глубина, единица предсказания, единица преобразования и информация о различных режимах кодирования, применительно к различным операциям устройства 200 декодирования видео, точно такие же или аналогичны тем, что описаны выше со ссылкой на Фиг. 1 и устройство 100 кодирования видео.
[91] Приемник 210 принимает и анализирует битовый поток закодированного видео. Модуль 220 извлечения данных изображения и информации кодирования извлекает закодированные данные изображения для каждой единицы кодирования из проанализированного битового потока, при этом единицы кодирования обладают древовидной структурой в соответствии с каждой максимальной единицей кодирования, и выдает извлеченные данные изображения декодеру 230 данных изображения. Модуль 220 извлечения данных изображения и информации кодирования может извлекать информацию о максимальном размере единицы кодирования текущей картины из заголовка соответствующего текущей картине или SPS.
[92] Также модуль 220 извлечения данных изображения и информации кодирования извлекает информацию о кодируемой глубине и режиме кодирования для единиц кодирования с древовидной структурой в соответствии с каждой максимальной единицей кодирования, из проанализированного битового потока. Извлеченная информация о кодируемой глубине и режиме кодирования выдается декодеру 230 данных изображения. Таким образом, данные изображения в битовом потоке разбиты на максимальные единицы кодирования, так что декодер 230 данных изображения декодирует данные изображения для каждой максимальной единицы кодирования.
[93] Информация о кодируемой глубине и режиме кодирования в соответствии с максимальной единицей кодирования может быть установлена применительно к информации о, по меньшей мере, одной единице кодирования, соответствующей кодируемой глубине. Кроме того, информация о режиме кодирования может включать в себя, по меньшей мере, одно из информации о типе разбиения соответствующей единицы кодирования, которая соответствует кодируемой глубине; информации о режиме предсказания и размере единицы преобразования. В качестве информации о кодируемой глубине может быть извлечена информация разбиения согласно глубинам.
[94] Информация о кодируемой глубине и режиме кодирования в соответствии с каждой максимальной единицей кодирования, извлеченные модулем 220 извлечения данных изображения и информации кодирования, является информацией о кодируемой глубине и режиме кодирования определенными для формирования минимальной ошибки кодирования, когда кодер, такой как устройство 100 кодирования видео, неоднократно выполняет кодирование для каждой более глубокой единицы кодирования согласно глубинам в соответствии с каждой максимальной единицей кодирования. Соответственно, устройство 200 декодирования видео может восстанавливать изображение посредством декодирования данных изображения согласно кодируемой глубине и режиму кодирования, которые формируют минимальную ошибку кодирования.
[95] Поскольку информация кодирования о кодируемой глубине и режиме кодирования может быть назначена заранее определенной единице данных соответствующей одному из единицы кодирования; единицы предсказания и минимальной единицы, то модуль 220 извлечения данных изображения и информации кодирования может извлекать информацию о кодируемой глубине и режиме кодирования в соответствии с заранее определенными единицами данных. Может предполагаться, что заранее определенные единицы данных, которым назначена одинаковая информация о кодируемой глубине и режиме кодирования, могут быть единицами данных, включенными в одну и ту же максимальную единицу кодирования.
[96] Декодер 230 данных изображения восстанавливает текущую картину посредством декодирования данных изображения в каждой максимальной единице кодирования на основании информации о кодируемой глубине и режиме кодирования в соответствии с максимальными единицами кодирования. Другими словами, декодер 230 данных изображения может декодировать кодированные данные изображения на основании извлеченной информации о типе разбиения, режиме предсказания и единице преобразования для каждой единицы кодирования из числа единиц кодирования с древовидной структурой, включенных в каждую максимальную единицу кодирования. Процесс декодирования может включать в себя, по меньшей мере, одно из предсказания, включающего в себя внутрикадровое предсказание и компенсацию движения, и обратного преобразования. Обратное преобразование может выполняться в соответствии со способом обратного ортогонального преобразования или обратного целочисленного преобразования.
[97] Декодер 230 данных изображения может выполнять внутрикадровое предсказание или компенсацию движения в соответствии с элементом разбиения и режимом предсказания каждой единицы кодирования, на основании информации о типе разбиения и режиме предсказания единицы предсказания единицы кодирования, согласно кодируемым глубинам.
[98] Также декодер 230 данных изображения может выполнять обратное преобразование в соответствии с каждой единицей преобразования в единице кодирования, на основании информации о размере единицы преобразования единицы кодирования согласно кодируемым глубинам, чтобы выполнять обратное преобразование в соответствии с максимальными единицами кодирования.
[99] Декодер 230 данных изображения может определять, по меньшей мере, одну кодируемую глубину текущей максимальной единицы кодирования при помощи информации разбиения согласно глубинам. Если информация разбиения указывает на то, что при текущей глубине данные изображения далее не разбиваются, то текущая глубина является кодируемой глубиной. Соответственно, декодер 230 данных изображения может декодировать кодированные данные, по меньшей мере, одной единицы кодирования соответствующей каждой кодируемой глубине в текущей максимальной единице кодирования при помощи информации о типе разбиения единицы предсказания, режиме предсказания и размере единицы преобразования для каждой единицы кодирования соответствующей кодируемой глубины, и выдать данные изображения текущей максимальной единицы кодирования.
[100] Другими словами, единицы данных, содержащие информацию кодирования, включающую в себя одинаковую информацию разбиения, могут собираться вместе посредством просмотра набора информации кодирования, назначенного для заранее определенной единицы данных из числа единицы кодирования, единицы предсказания и минимальной единицы. Более того, собранные единицы данных могут рассматриваться как являющиеся одной единицей данных, которая должна декодироваться декодером 230 данных изображения в одном и том же режиме кодирования.
[101] Устройство 200 декодирования видео может получать информацию о, по меньшей мере, одной единице кодирования, которая формирует минимальную ошибку кодирования, когда кодирование выполняется рекурсивно применительно к каждой максимальной единице кодирования, и может использовать информацию для декодирования текущей картины. Другими словами, могут декодироваться единицы кодирования с древовидной структурой, определенные как оптимальные единицы кодирования в каждой максимальной единице кодирования. Также максимальный размер единицы кодирования может определяться, принимая во внимание разрешение и объем данных изображения.
[102] Соответственно, даже если данные изображения имеют высокое разрешение и большой объем данных, то данные изображения могут эффективно декодироваться и восстанавливаться при помощи размера единицы кодирования и режима кодирования, которые адаптивно определяются в соответствии с характеристиками данных изображения, при помощи информации об оптимальном режиме кодирования, принятой от кодера.
[103] Теперь со ссылкой на Фиг. 3-13 будет описан способ определения единиц кодирования с древовидной структурой, единицы предсказания и единицы преобразования, в соответствии с одним или более примерными вариантами осуществления.
[104] Фиг. 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.
[105] Согласно Фиг. 3, первые видео данные 310 обладают разрешением 1920×1080, максимальным размером единицы кодирования равным 64 и максимальной глубиной равной 2. Вторые видео данные 320 обладают разрешением 1920×1080, максимальным размером единицы кодирования равным 64 и максимальной глубиной равной 3. Третьи видео данные 330 обладают разрешением 352×288, максимальным размером единицы кодирования равным 16 и максимальной глубиной равной 1. Максимальная глубина, показанная на Фиг. 3, обозначает суммарное количество разбиений от максимальной единицы кодирования до минимальной единицы кодирования.
[106] Если разрешение высокое или объем данных большой, то максимальный размер единицы кодирования может быть большим настолько, чтобы не только увеличить эффективность кодирования, но также точно отражать характеристики изображения. Соответственно, максимальный размер единиц кодирования первых и вторых видео данных 310 и 320 с более высоким разрешением, чем третьи видео данные 330, может быть равен 64.
[107] Поскольку максимальная глубина первых видео данных 310 составляет 2, то единицы 315 кодирования первых видео данных 310 могут включать в себя максимальную единицу кодирования с размером по горизонтальной оси равным 64, и единицы кодирования с размерами по горизонтальной оси равными 32 и 16, поскольку глубины увеличиваются на два уровня, посредством разбиения максимальной единицы кодирования дважды. Между тем, поскольку максимальная глубина третьих видео данных 330 составляет 1, то единицы 335 кодирования третьих видео данных 330 могут включать в себя максимальную единицу кодирования с размером по горизонтальной оси равным 16, и единицы кодирования размером по горизонтальной оси равным 8, поскольку глубины увеличиваются на один уровень, посредством разбиения максимальной единицы кодирования единожды.
[108] Поскольку максимальная глубина вторых видео данных 320 составляет 3, то единицы 325 кодирования вторых видео данных 320 могут включать в себя максимальную единицу кодирования с размером по горизонтальной оси равным 64, и единицы кодирования с размерами по горизонтальной оси равными 32, 16 и 8, поскольку глубины увеличиваются на 3 уровня, посредством разбиения максимальной единицы кодирования три раза. По мере увеличения глубины (т.е., углубления), более точно может отображаться подробная информация.
[109] Фиг. 4 является структурной схемой кодера 400 изображений основанного на единицах кодирования, в соответствии с примерным вариантом осуществления. Согласно Фиг. 4, кодер 400 изображений выполняет операции модуля 120 определения единицы кодирования устройства 100 кодирования видео для кодирования данных изображения. Например, модуль 410 предсказания «внутри» выполняет внутрикадровое предсказание по единицам кодирования в режиме «внутри», для текущей картины 405, а модуль 420 оценки движения и модуль 425 компенсации движения выполняют оценку «между» и компенсацию движения по единицам кодирования в режиме «между» для текущей картины 405 при помощи текущей картины 405 и опорной картины 495.
[110] Выходные данные от модуля 410 предсказания «внутри», модуля 420 оценки движения и модуля 425 компенсации движения выдаются в качестве квантованных коэффициентов преобразования посредством модуля 430 преобразования и квантователя 440. Квантованные коэффициенты преобразования восстанавливаются в качестве данных в пространственной области посредством обратного квантователя 460 и модуля 470 обратного преобразования. Восстановленные данные в пространственной области выдаются в качестве опорной картины 495 после дополнительной обработки модулем 480 удаления блочности и модулем 490 низкочастотной фильтрации. Квантованные коэффициенты преобразования могут выводиться в качестве битового потока 455 посредством энтропийного кодера 450.
[111] Для того чтобы кодер 400 изображений мог применяться в устройстве 100 кодирования видео, элементы кодера 400 изображений, т.е., модуль 410 предсказания «внутри», модуль 420 оценки движения, модуль 425 компенсации движения, модуль 430 преобразования, квантователь 440, энтропийный кодер 450, обратный квантователь 460, модуль 470 обратного преобразования, модуль 480 удаления блочности и модуль 490 низкочастотной фильтрации выполняют операции на основании каждой единицы кодирования из числа единиц кодирования с древовидной структурой при этом принимая во внимание максимальную глубину каждой максимальной единицы кодирования.
[112] В частности, модуль 410 предсказания «внутри», модуль 420 оценки движения и модуль 425 компенсации движения определяют элементы разбиения и режим предсказания каждой единицы кодирования из числа единиц кодирования с древовидной структурой, при этом принимая во внимание максимальный размер и максимальную глубину текущей максимальной единицы кодирования, а модуль 430 преобразования определяет размер единицы преобразования в каждой единице кодирования из числа единиц кодирования с древовидной структурой.
[113] Фиг. 5 является структурной схемой декодера 500 изображений основанного на единицах кодирования, в соответствии с примерным вариантом осуществления. Согласно Фиг. 5, модуль 510 анализа анализирует закодированные данные изображения, которые будут декодированы, и информацию о кодировании, требуемую для декодирования, из битового потока 505. Кодированные данные изображения выдаются в качестве обратно квантованных данных посредством энтропийного декодера 520 и обратного квантователя 530, и обратно квантованные данные восстанавливаются в данные изображения в пространственной области посредством модуля 540 обратного преобразования.
[114] Модуль 550 предсказания «внутри» выполняет внутрикадровое предсказание по единицам кодирования в режиме «внутри» в отношении данных изображения в пространственной области, а модуль 560 компенсации движения выполняет компенсацию движения по единицам кодирования в режиме «между» при помощи опорного кадра 585.
[115] Данные изображения в пространственной области, которые прошли через модуль 550 предсказания «внутри» и модуль 560 компенсации движения могут выдаваться в качестве восстановленного кадра 595 после того как дополнительно обрабатываются модулем 570 удаления блочности и модулем 580 низкочастотной фильтрации. Также данные изображения, которые дополнительно обработаны модулем 570 удаления блочности и модулем 580 низкочастотной фильтрации могут выдаваться в качестве опорного кадра 585.
[116] Для того чтобы декодировать данные изображения в декодере 230 данных изображения устройства 200 декодирования видео, декодер 500 изображений может выполнять операции, которые выполняются после модуля 510 анализа.
[117] Для того чтобы декодер 500 изображений мог применяться в устройстве 200 декодирования видео, элементы декодера 500 изображений, т.е., модуль 510 анализа, энтропийный декодер 520, обратный квантователь 530, модуль 540 обратного преобразования, модуль 550 предсказания «внутри», модуль 560 компенсации движения, модуль 570 удаления блочности и модуль 580 низкочастотной фильтрации выполняют операции основанные на единицах кодирования с древовидной структурой для каждой максимальной единицы кодирования.
[118] В частности, модуль 550 предсказания «внутри» и модуль 560 компенсации движения выполняют операции, основанные на элементах разбиения и режиме предсказания для каждой из единиц кодирования древовидной структуры, а модуль 540 обратного преобразования выполняет операции, основанные на размере единицы преобразования для каждой единицы кодирования.
[119] Фиг. 6 является схемой, иллюстрирующей более глубокие единицы кодирования согласно глубинам, и элементы разбиения, в соответствии с примерным вариантом осуществления. Устройство 100 кодирования видео в соответствии с примерным вариантом осуществления и устройство 200 декодирования видео в соответствии с примерным вариантом осуществления используют иерархические единицы кодирования, чтобы принимать во внимание характеристики изображения. Максимальная высота, максимальная ширина и максимальная глубина единиц кодирования могут адаптивно определяться в соответствии с характеристиками изображения, или могут быть иным образом установлены пользователем. Размеры более глубоких единиц кодирования согласно глубинам могут быть определены в соответствии с заранее определенным максимальным размером единицы кодирования.
[120] Согласно Фиг. 6, в иерархической структуре 600 единиц кодирования, в соответствии с примерным вариантом осуществления, максимальная высота и максимальная ширина единиц кодирования, каждая составляет 64, а максимальная глубина составляет 4. Поскольку глубина увеличивается (т.е. углубляется) по вертикальной оси иерархической структуры 600, то разбиваются как высота, так и ширина более глубокой единицы кодирования. Также единица предсказания и элементы разбиения, которые являются основами для кодирования с предсказанием каждой более глубокой единицы кодирования, показаны по горизонтальной оси иерархической структуры 600.
[121] Например, единица 610 кодирования является максимальной единицей кодирования в иерархической структуре 600, при этом ее глубина равна 0 и ее размер, т.е., высота на ширину, составляет 64×64. Глубина увеличивается по вертикальной оси так что иерархическая структура 600 включает в себя вторую единицу 620 кодирования размером 32×32 и глубиной 1, третью единицу 630 кодирования размером 16×16 и глубиной 2, четвертую единицу 640 кодирования размером 8×8 и глубиной 3, и пятую единицу 650 кодирования размером 4×4 и глубиной 4. Пятая единица 650 кодирования размером 4×4 и глубиной 4 является минимальной единицей кодирования.
[122] Единица предсказания и элементы разбиения единиц 610, 620, 630, 640 и 650 кодирования организованы по горизонтальной оси согласно каждой глубине. Другими словами, если первая единица 610 кодирования размером 64×64 и глубинной 0 является единицей предсказания, то единица предсказания может быть разбита на элементы разбиения заключенные в первой единице 610 кодирования, т.е. элемент 610 разбиения, размером 64×64, элементы 612 разбиения размером 64×32, элементы 614 разбиения, размером 32×64, или элементы 616 разбиения размером 32×32.
[123] Аналогично, единица предсказания второй единицы 620 кодирования размером 32×32 и глубиной 1, может быть разбита на элементы разбиения заключенные в единице 620 кодирования, т.е. элемент 620 разбиения размером 32×32, элементы 622 разбиения размером 32×16, элементы 624 разбиения размером 16×32 и элементы 626 разбиения размером 16×16.
[124] Аналогично, единица предсказания третьей единицы 630 кодирования размером 16×16 и глубиной 2, может быть разбита на элементы разбиения заключенные в единице 630 кодирования, т.е. элемент разбиения размером 16×16 заключенный в единице 630 кодирования, элементы 632 разбиения размером 16×8, элементы 634 разбиения размером 8×16 и элементы 636 разбиения размером 8×8.
[125] Аналогично, единица предсказания четвертой единицы 640 кодирования размером 8×8 и глубиной 3, может быть разбита на элементы разбиения заключенные в единице 640 кодирования, т.е. элемент разбиения размером 8×8, заключенный в единице 640 кодирования, элементы 642 разбиения размером 8×4, элементы 644 разбиения размером 4×8 и элементы 646 разбиения размером 4×4.
[126] Пятая единица 650 кодирования размером 4×4 и глубиной 4 является минимальной единицей кодирования и единицей кодирования с самой нижней глубиной. Единица предсказания пятой единицы 650 кодирования назначается элементу разбиения размером 4×4.
[127] Для того чтобы определить, по меньшей мере, одну кодируемую глубину единиц кодирования, составляющих максимальную единицу 610 кодирования, модуль 120 определения единицы кодирования устройства 100 кодирования видео выполняет кодирование для единиц кодирования соответствующих каждой глубине, заключенных в максимальной единице 610 кодирования.
[128] Количество более глубоких единиц кодирования согласно глубинам включающим в себя данные в том же диапазоне и того же размера растет по мере увеличения глубины. Например, четыре единицы кодирования, соответствующие глубине 2 требуются, чтобы охватить данные, которые заключены в одной единице кодирования, соответствующей глубине 1. Соответственно, для того чтобы сравнивать результаты кодирования одних и тех же данных согласно глубинам, выполняется кодирование единицы кодирования соответствующей глубине 1 и каждой из четырех единиц кодирования, соответствующих глубине 2.
[129] Для того чтобы выполнить кодирование для текущей глубины из числа глубин, может выбираться минимальная ошибка кодирования для текущей глубины посредством выполнения кодирования для каждой единицы предсказания в единицах кодирования соответствующих текущей глубине, по горизонтальной оси иерархической структуры 600. В качестве альтернативы, поиск минимальной ошибки кодирования может производиться посредством сравнения минимальных ошибок кодирования согласно глубинам, посредством выполнения кодирования для каждой глубины по мере того как глубина увеличивается по вертикальной оси иерархической структуры 600. Глубина и элемент разбиения с минимальной ошибкой кодирования в первой единице 610 кодирования могут выбираться в качестве кодируемой глубины и типа разбиения первой единицы 610 кодирования.
[130] Фиг. 7 является схемой для описания взаимосвязи единицы 710 кодирования и единиц 720 преобразования, в соответствии с примерным вариантом осуществления. Устройство 100 кодирования видео в соответствии с примерным вариантом осуществления и устройство 200 декодирования видео в соответствии с примерным вариантом осуществления кодирует или декодирует, соответственно, изображение в соответствии с единицами кодирования размеров меньше либо равных максимальной единице кодирования применительно к каждой максимальной единице кодирования. Размеры единиц преобразования для преобразования во время кодирования могут выбираться на основании единиц данных, которые не больше соответствующих единиц кодирования.
[131] Согласно Фиг. 7, например, в устройстве 100 кодирования видео, если размер единицы 710 кодирования равен 64×64, то преобразование может выполняться при помощи единиц 720 преобразования размером 32×32.
[132] Также данные единицы 710 кодирования размером 64×64 могут кодироваться, выполняя преобразование по каждой из единиц преобразования размера 32×32, 16×16, 8×8 и 4×4, которые меньше 64×64, а затем может выбираться единица преобразования с минимальной ошибкой кодирования.
[133] Фиг. 8 является схемой для описания информации кодирования единиц кодирования соответствующих кодируемой глубине, в соответствии с примерным вариантом осуществления. Согласно Фиг. 8, модуль 130 вывода устройства 100 кодирования видео в соответствии с примерным вариантом осуществления может кодировать и передавать первую информацию 800 о типе разбиения, вторую информацию 810 о режиме предсказания, и третью информацию 820 о размере единицы преобразования для каждой единицы кодирования соответствующей кодируемой глубине, в качестве информации о режиме кодирования.
[134] Первая информация 800 указывает информацию о форме элемента разбиения, полученного посредством разбиения единицы предсказания текущей единицы кодирования, при этом элемент разбиения является единицей данных для кодирования с предсказанием текущей единицы кодирования. Например, текущая единица CU_0 кодирования размером 2N×2N может быть разбита на любое из элемента 802 разбиения размером 2N×2N, элемента 804 разбиения размером 2N×N, элемента 806 разбиения размером N×2N и элемента 808 разбиения размером N×N. В данном случае, первая информация 800 о типе разбиения установлена таким образом, чтобы указывать одно из элемента 804 разбиения размером 2N×N, элемента 806 разбиения размером N×2N и элемента 808 разбиения размером N×N.
[135] Вторая информация 810 указывает режим предсказания каждого элемента разбиения. Например, вторая информация 810 может указывать режим кодирования с предсказанием выполняемый над элементом разбиения, указываемым первой информацией 800, т.е. режим 812 «внутри», режим 814 «между» или режим 816 с пропуском.
[136] Третья информация 820 указывает единицу преобразования, на которой должно основываться выполнение преобразования текущей единицы кодирования. Например, единица преобразования может быть первой единицей 822 преобразования «внутри», второй единицей 824 преобразования «внутри», первой единицей 826 преобразования «между», или второй единицей 828 преобразования «внутри».
[137] Модуль 220 извлечения данных изображения и информации кодирования устройства 200 декодирования видео в соответствии с примерным вариантом осуществления может извлекать и использовать информацию 800, 810 и 820 для декодирования, в соответствии с каждой более глубокой единицей кодирования.
[138] Фиг. 9 является схемой более глубоких единиц кодирования согласно глубинам, в соответствии с примерным вариантом осуществления. Информация разбиения может использоваться для указания изменения глубины. Информация разбиения указывает, разбита ли единица кодирования текущей глубины на единицы кодирования более низкой глубины.
[139] Согласно Фиг. 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 предсказания, но должно быть понятно, что в других вариантах осуществления тип разбиения не ограничивается ими. Например, в соответствии с другим вариантом осуществления, элементы разбиения единицы 910 предсказания могут включать в себя асимметричные элементы разбиения, элементы разбиения заранее определенной формы и элементы разбиения геометрической формы.
[140] Кодирование с предсказанием неоднократно выполняется над одним элементом разбиения размером 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.
[141] Ошибки кодирования, включая кодирование с предсказанием по типам с 912 по 918 разбиения, сравниваются, и среди типов разбиения определяется тип с минимальной ошибкой кодирования. Если ошибка кодирования наименьшая при одном из типов с 912 по 916 разбиения, единица 910 предсказания может не разбиваться на более низкую глубину.
[142] Если ошибка кодирования является наименьшей при типе 918 разбиения, глубина меняется с 0 на 1 для разбиения по типу 918 разбиения на операции 920, и кодирование неоднократно выполняется по единицам 930 кодирования с глубиной 2 и размером N_0×N_0 с целью поиска минимальной ошибки кодирования.
[143] Единица 940 предсказания для кодирования с предсказанием единицы 930 кодирования с глубиной 1 и размером 2N_1×2N_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.
[144] Если ошибка кодирования наименьшая при типе 948 разбиения, то глубина меняется с 1 на 2 для разбиения на тип 948 разбиения на операции 950, и кодирование неоднократно повторяется по единицам 960 кодирования, глубиной 2 и размером N_2×N_2, с целью поиска минимальной ошибки кодирования.
[145] Когда максимальная глубина равна 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).
[146] Кодирование с предсказанием может неоднократно выполняться по одному элементу разбиения размером 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 разбиения с целью найти тип разбиения с минимальной ошибкой кодирования.
[147] Даже если тип 998 разбиения имеет минимальную ошибку кодирования, поскольку максимальная глубина равна d, единица CU_(d-1) кодирования с глубиной d-1 далее не разбивается на более низкую глубину, и кодируемая глубина для единиц кодирования текущей максимальной единицы 900 кодирования определяется как d-1, а тип разбиения текущей максимальной единицы 900 кодирования может быть определен как N_(d-1)×N_(d-1). Также поскольку максимальная глубина равна d, а минимальная единица 980 кодирования с наименьшей глубиной равной d-1 далее не разбивается на более низкую глубину, то информация разбиения для минимальной единицы 980 кодирования не устанавливается.
[148] Единица 999 данных может рассматриваться как минимальная единица для текущей максимальной единицы кодирования. Минимальная единица в соответствии с примерным вариантом осуществления может быть прямоугольной единицей данных, полученной посредством разбиения минимальной единицы 980 кодирования на 4. Посредством неоднократного выполнения кодирования, устройство 100 кодирования видео в соответствии с примерным вариантом осуществления может выбрать глубину с минимальной ошибкой кодирования посредством сравнения ошибок кодирования согласно глубинам единицы 900 кодирования для определения кодируемой глубины, и установить соответствующий тип разбиения и режим предсказания в качестве режима кодирования кодируемой глубины.
[149] Минимальные ошибки кодирования согласно глубинам сравниваются по всем глубинам с 1 по d, и глубина с минимальной ошибкой кодирования может быть определена в качестве кодируемой глубины. По меньшей мере, одно из кодируемой глубины, типа разбиения единицы предсказания и режима предсказания могут кодироваться и передаваться в качестве информации о режиме кодирования. Также, поскольку единица кодирования разбивается с глубины 0 до кодируемой глубины, то только информация разбиения кодируемой глубины устанавливается в 0, а информация разбиения глубин за исключением кодируемой глубины устанавливается в 1.
[150] Модуль 220 извлечения данных изображения и информации кодирования устройства 200 декодирования видео в соответствии с примерным вариантом осуществления может извлекать и использовать информацию о кодируемой глубине и единице предсказания единицы 900 кодирования для декодирования элемента 912 разбиения. Устройство 200 декодирования видео может определить глубину, на которой информация разбиения равна 0, в качестве кодируемой глубины, при помощи информации разбиения согласно глубинам, и использовать информацию о режиме кодирования соответствующей глубины для декодирования.
[151] Фиг. 10-12 являются схемами для описания взаимосвязи между единицами 1010 кодирования, единицами 1060 предсказания и единицами 1070 преобразования, в соответствии с примерным вариантом осуществления.
[152] Согласно Фиг. 10-12, единицы 1010 кодирования являются единицами кодирования с древовидной структурой, соответствующие кодируемым глубинам, определяемым устройством 100 кодирования видео в соответствии с примерным вариантом осуществления, в максимальной единице кодирования. Единицы 1060 предсказания являются элементами разбиения единиц предсказания каждой из единиц 1010 кодирования, а единицы 1070 преобразования являются единицами преобразования каждой из единиц 1010 кодирования.
[153] Когда глубина максимальной единицы кодирования равна 0 в единицах 1010 кодирования, то глубины единиц 1012 и 1054 кодирования равны 1, глубины единиц 1014, 1016, 1018, 1028, 1050 и 1052 кодирования равны 2, глубины единиц 1020, 1022, 1024, 1026, 1030, 1032 и 1048 равны 3, а глубины единиц 1040, 1042, 1044 и 1046 равны 4.
[154] В единицах 1060 предсказания, некоторые единицы 1014, 1016, 1022, 1032, 1048, 1050, 1052 и 1054 кодирования получены посредством разбиения единиц кодирования на единицы кодирования 1010. Например, типы разбиения в единицах 1014, 1022, 1050 и 1054 кодирования имеют размер 2N×N, типы разбиения в единицах 1016, 1048 и 1052 кодирования имеют размер N×2N, а тип разбиения единицы 1032 кодирования имеет размер N×N. Единицы предсказания и элементы разбиения единиц 1010 кодирования меньше либо равны каждой единице кодирования.
[155] Преобразование или обратное преобразование выполняется над данными изображения единицы 1052 кодирования в единицах 1070 преобразования в единицах данных, которые меньше единицы 1052 кодирования. Также единицы 1014, 1016, 1022, 1032, 1048, 1050 и 1052 кодирования в единицах 1070 преобразования отличаются от тех, что составляют единицы 1060 предсказания в плане размеров и форм. Например, устройство 100 и 200 кодирования и декодирования видео в соответствии с примерным вариантом осуществления может выполнять внутрикадровое предсказание, оценку движения, компенсацию движения, преобразование и обратное преобразование по индивидуальным единицам данных в одной и той же единице кодирования.
[156] Соответственно, кодирование рекурсивно выполняется по каждой из единиц кодирования с иерархической структурой в каждой области максимальной единицы кодирования для определения оптимальной единицы кодирования и таким образом могут быть получены единицы кодирования с рекурсивной древовидной структурой. Информация кодирования может включать в себя, по меньшей мере, одно из информации разбиения о единице кодирования, информации о типе разбиения, информации о режиме предсказания и информацию о размере единицы преобразования. Таблица 1 показывает характерную информацию кодирования, которая может быть установлена устройством 100 и 200 кодирования и декодирования видео.
2N×2N и Текущей Глубиной d)
«Между»
С пропуском (только 2N×2N)
2N×N
N×2N
N×N
2N×nD
nL×2N
nR×2N
N/2×N/2 (Асимметричный тип)
[158] Модуль 130 вывода устройства 100 кодирования видео может выводить информацию кодирования о единицах кодирования с древовидной структурой, а модуль 220 извлечения данных изображения и информации кодирования устройства 200 декодирования видео может извлекать информацию кодирования о единицах кодирования с древовидной структурой из принимаемого битового потока.
[159] Информация разбиения указывает на то, разбита ли текущая единица кодирования на единицы кодирования более низкой глубины. Если информация разбиения текущей глубины d равна 0, то глубина, при которой текущая единица кодирования далее не разбивается на более низкую глубину, является кодируемой глубиной и таким образом для кодируемой глубины могут быть определены информация о типе разбиения, режиме предсказания и размере единицы преобразования. Если текущая единица кодирования дополнительно разбивается в соответствии с информацией разбиения, то кодирование независимо выполняется для четырех разбиваемых единиц кодирования более низкой глубины.
[160] Режим предсказания может быть одним из режима «внутри», режима «между» и режима с пропуском. Режим «внутри» и режим «между» могут быть определены при всех типах разбиения, а режим с пропуском определяется только при типе разбиения размера 2N×2N.
[161] Информация о типе разбиения может указывать симметричные типы разбиения с размерами 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.
[162] Размер единицы преобразования может быть установлен из двух типов при режиме «внутри» и из двух типов при режиме «между». Например, если информация разбиения единицы преобразования равна 0, то размер единицы преобразования может быть 2N×2N, что является размером текущей единицы кодирования. Если информация разбиения единицы преобразования равна 1, то единицы преобразования могут быть получены посредством разбиения текущей единицы кодирования. Также, если тип разбиения текущей единицы кодирования с размером 2N×2N является симметричным типом разбиения, то размер единицы преобразования может быть N×N, а если тип разбиения текущей единицы кодирования является асимметричным типом разбиения, то размер единицы преобразования может быть N/2×N/2.
[163] Информация кодирования о единицах кодирования с древовидной структурой может включать в себя, по меньшей мере, одно из единицы кодирования, соответствующей кодируемой глубине, единицы предсказания и минимальной единицы. Единица кодирования, соответствующая кодируемой глубине, может включать в себя, по меньшей мере, одно из единицы предсказания и минимальной единицы, содержащей точно такую же информацию кодирования.
[164] Соответственно, определяется, включены ли соседние единицы данных в ту же единицу кодирования, соответствующую кодируемой глубине, посредством сравнения информации кодирования соседних единиц данных. Также соответствующая единица кодирования, соответствующая кодируемой глубине, определяется при помощи информации кодирования единицы данных, и таким образом может определяться распределение кодируемых глубин в максимальной единице кодирования.
[165] Вследствие этого, если текущая единица кодирования предсказывается на основании информации кодирования соседних единиц данных, то можно непосредственно опираться на и использовать информацию кодирования единиц данных в более глубоких единицах кодирования соседних для текущей единицы кодирования.
[166] В качестве альтернативы, если текущая единица кодирования предсказывается на основании информации кодирования соседних единиц данных, то производится поиск единиц данных соседних для текущей единицы кодирования, используя информацию кодирования единиц данных, и найденные соседние единицы кодирования могут служить опорными для предсказания текущей единицы кодирования.
[167] Фиг. 13 является схемой для описания взаимосвязи между единицей кодирования, единицей предсказания или элементом разбиения, и единицей преобразования, согласно информации режима кодирования в Таблице 1, в соответствии с примерным вариантом осуществления. Согласно Фиг. 13, максимальная единица кодирования 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 разбиения размером nL×2N и типа 1338 разбиения размером nR×2N.
[168] Когда тип разбиения установлен как симметричный, т.е. тип 1322, 1324, 1326 или 1328 разбиения, и если информация разбиения (флаг размера TU) единицы преобразования равен 0, то устанавливается единица 1342 преобразования с размером 2N×2N, а если флаг размера TU равен 1, то устанавливается единица 1344 преобразования с размером N×N.
[169] Когда тип разбиения установлен как асимметричный, т.е., тип 1332, 1334, 1336 или 1338 разбиения, и если флаг размера TU равен 0, то устанавливается единица 1352 преобразования размером 2N×2N, а если флаг размера TU равен 1, то устанавливается единица 1354 преобразования размером N/2×N/2.
[170] Согласно Фиг. 13, флаг размера TU является флагом со значением либо 0, либо 1, однако должно быть понятно, что другой характерный вариант осуществления не ограничивается 1-битным флагом. Например, в другом варианте осуществления единица преобразования может иерархически разбиваться, образуя древовидную структуру по мере роста флага размера TU от 0.
[171] В данном случае, размер единицы преобразования, который был фактически использован, может выражаться при помощи флага размера TU единицы преобразования, в соответствии с примерным вариантом осуществления, совместно с максимальным размером и минимальным размером единицы преобразования. В соответствии с примерным вариантом осуществления, устройство 100 кодирования видео может кодировать информацию о максимальном размере единицы преобразования, информацию о минимальном размере единицы преобразования, и флаге максимального размера TU. Результат кодирования информации о максимальном размере единицы преобразования, информации о минимальном размере единицы преобразования и флаге максимального размера TU может вставляться в SPS. В соответствии с примерным вариантом осуществления, устройство 200 декодирования видео может декодировать видео при помощи информации о максимальном размере единицы преобразования, информации о минимальном размере единицы преобразования и флаге максимального размера TU.
[172] Например, если размер текущей единицы кодирования равен 64×64, а максимальны размер единицы преобразования равен 32×32, то затем размер единицы преобразования может быть 32×32, когда флаг размера TU равен 0, может быть 16×16, когда флаг размера TU равен 1, и может быть 8х8, когда флаг размера TU равен 2.
[173] В качестве другого примера, если размер текущей единицы кодирования равен 32×32, а минимальный размер единицы преобразования равен 32×32, то затем размер единицы преобразования может быть 32×32, когда флаг размера TU равен 0. В данном случае флаг размера TU не может быть установлен в значение отличное от 0, поскольку размер единицы преобразования не может быть меньше чем 32×32.
[174] В качестве другого примера, если размер текущей единицы кодирования равен 64×64, а флаг максимального размера TU равен 1, то флаг размера TU может быть 0 или 1. В данном случае, флаг размера TU не может быть установлен в значение отличное от 0 или 1.
[175] Таким образом, если задано, что флаг максимального размера TU является MaxTransformSizeIndex, минимальный размер единицы преобразования MinTransformSize, а размер единицы образования равен RootTuSize при флаге размера TU равном 0, то затем текущий минимальный размер единицы преобразования CurrMinTuSize, который может определяться в текущей единице кодирования, может быть задан Уравнением (1):
[176] CurrMinTuSize=max(MinTransformSize, RootTuSize/(2^ MaxTransformSizeIndex))
[177] В сравнении с текущим минимальным размером единицы преобразования CurrMinTuSize, который может определяться в текущей единице кодирования, размер единицы кодирования RootTuSize при флаге размера TU равном 0 может обозначать максимальный размер единицы преобразования, который может быть выбран в системе. В Уравнении (1), RootTuSize/(2^ MaxTransformSizeIndex) обозначает размер единицы преобразования, когда размер единицы преобразования RootTuSize при флаге размера TU равном 0, разбит несколько раз, соответствуя флагу максимального размера TU, а MinTransformSize обозначает минимальный размер преобразования. Таким образом, меньшее значение из RootTuSize/(2^ MaxTransformSizeIndex) и MinTransformSize может быть текущим минимальным размером единицы преобразования CurrMinTuSize, которое может быть определено в текущей единице кодирования.
[178] В соответствии с примерным вариантом осуществления, максимальный размер единицы преобразования RootTuSize может меняться согласно типу режима предсказания. Например, если текущим режимом предсказания является режим «между», то RootTuSize может определяться при помощи Уравнения (2) ниже. В Уравнении (2), MaxTransformSize обозначает максимальный размер единицы преобразования, а PUSize обозначает текущий размер единицы предсказания:
[179] RootTuSize = min(MaxTransformSize, PUSize)
[180] То есть, если текущим режимом предсказания является режим «между», то размер единицы преобразования RootTuSize при флаге размера TU равном 0, может быть меньшим значением из максимального размера единицы преобразования и текущего размера единицы предсказания:
[181] Если режимом предсказания текущей единицы разбиения является режим «внутри», то RootTuSize может определяться при помощи Уравнения (3) ниже. В Уравнении (3), PartitionSize обозначает размер текущей единицы разбиения:
[182] RootTuSize = min(MaxTransformSize, PartitionSize) (3)
[183] То есть, если текущим режимом предсказания является режим «внутри», то размер единицы преобразования RootTuSize при флаге размера TU равном 0 может быть меньшим значением из максимального размера единицы преобразования и размером текущей единицы разбиения.
[184] Тем не менее текущий максимальный размер единицы преобразования RootTuSize, который меняется в зависимости от типа режима предсказания в единице разбиения, является всего лишь примером, и понятно, что другой вариант осуществления этим не ограничен.
[185] Фиг. 14 является блок-схемой иллюстрирующей способ кодирования видео, в соответствии с примерным вариантом осуществления. Согласно Фиг. 14, на операции 1210 текущая картина разбивается на, по меньшей мере, одну максимальную единицу кодирования. Максимальная глубина, указывающая суммарное количество возможных раз производимого разбиения, может быть установлена заранее.
[186] На операции 1220, посредством кодирования, по меньшей мере, одной области разбиения, определяется кодируемая глубина, для вывода итогового результата кодирования в соответствии с, по меньшей мере, одной областью разбиения, которая получена посредством разбиения области каждой максимальной единицы кодирования согласно глубинам, и определяется единица кодирования в соответствии с древовидной структурой.
[187] Максимальная единица кодирования пространственно разбивается всякий раз, как увеличивается глубина, и таким образом разбивается на единицы кодирования более низкой глубины. Каждая единица кодирования может быть разбита на единицы кодирования другой более низкой глубины, будучи пространственно разбитыми независимо от соседних единиц кодирования. Кодирование неоднократно выполняется над каждой единицей кодирования согласно глубинам.
[188] Также для каждой более глубокой единицы кодирования определяется единица преобразования, в соответствии с типами разбиения с минимальной ошибкой кодирования. Для того чтобы определить кодируемую глубину с минимальной ошибкой кодирования в каждой максимальной единице кодирования, ошибки кодирования могут измеряться и сравниваться во всех более глубоких единицах кодирования согласно глубинам.
[189] В операции 1230, закодированные данные изображения, соответствующие итоговому результату кодирования согласно кодируемой глубине, выдаются для каждой максимальной единицы кодирования, с информацией кодирования о кодируемой глубине и режимом кодирования. Информация о режиме кодирования может включать в себя, по меньшей мере, одно из информации о кодируемой глубине или информации разбиения; информации о типе разбиения единицы предсказания; режима предсказания и размера единицы преобразования. Информация кодирования о режиме кодирования может передаваться декодеру совместно с закодированными данными изображения.
[190] Фиг. 15 является блок-схемой последовательности операций, иллюстрирующей способ декодирования видео, в соответствии с примерным вариантом осуществления. Согласно Фиг. 15, в операции 1310 принимается и анализируется битовый поток закодированного видео.
[191] В операции 1320, закодированные данные изображения текущей картины назначаются максимальной единице кодирования, и информация о кодируемой глубине и режиме кодирования в соответствии с максимальными единицами кодирования извлекается из проанализированного битового потока. Кодируемая глубина каждой максимальной единицы кодирования является глубиной с минимальной ошибкой кодирования в каждой максимальной единице кодирования. При кодировании каждой максимальной единицы кодирования, данные изображения кодируются на основании, по меньшей мере, одной единицы данных полученной посредством иерархического разбиения максимальной единицы кодирования согласно глубинам.
[192] В соответствии с информацией о кодируемой глубине и режиме кодирования, максимальная единица кодирования может быть разбита на единицы кодирования с древовидной структурой. Каждая из единиц кодирования с древовидной структурой определяется в качестве единицы кодирования соответствующей кодируемой глубине, и является оптимально кодированной так, чтобы выдавать минимальные ошибки кодирования. Соответственно, эффективность кодирования и декодирования изображения могут быть улучшены посредством декодирования каждой части кодированных данных изображения в единицах кодирования после определения, по меньшей мере, одной кодируемой глубины в соответствии с единицами кодирования.
[193] В операции 1330, данные изображения каждой максимальной единицы кодирования декодируются на основании информации о кодируемой глубине и режиме кодирования в соответствии с максимальными единицами кодирования. Например, декодированные данные изображения могут быть воспроизведены воспроизводящим устройством, сохранены на носителе данных или переданы по сети.
[194] Далее со ссылкой на Фиг. с 16 по 29 будут подробно описаны кодирование и декодирование видео, выполняемые с использованием информации о структуре единицы кодирования, относящейся к единице кодирования согласно древовидной структуре, в соответствии с другим примерным вариантом осуществления.
[195] Фиг. 16 является структурной схемой устройства 1400 кодирования видео, использующего информацию о структуре единицы кодирования, в соответствии с примерным вариантом осуществления. Согласно Фиг. 16, устройство 1400 кодирования видео включает в себя модуль 1410 разбиения на максимальные единицы кодирования, модуль 1420 определения кодированной единицы и модуль 1460 вывода. Модуль 1460 вывода включает в себя модуль 1430 вывода закодированных данных изображения, модуль 1440 вывода информации кодирования и модуль 1450 вывода информации о структуре единицы кодирования.
[196] Модуль 1410 разбиения на максимальные единицы кодирования и модуль 1420 определения кодированной единицы соответствуют модулю 110 разбиения на максимальные единицы кодирования и модулю 120 определения кодированной единицы, включенным в устройство 100 кодирования видео, проиллюстрированное на Фиг. 1, соответственно. Операции модуля 1430 вывода закодированных данных изображения и модуля 1440 вывода информации кодирования могут быть точно такими же или аналогичными, по меньшей мере, некоторым операциям модуля 130 вывода, включенного в устройство 100 кодирования видео на Фиг. 1. Теперь будет описан характерный вариант осуществления, в котором модуль 1450 вывода информации о структуре единицы кодирования кодирует информацию о структуре единицы кодирования.
[197] В текущем характерном варианте осуществления, модуль 1410 разбиения на максимальные единицы кодирования разбивает текущую картину изображения, на основании максимальной единицы кодирования для текущей картины. Модуль 1420 определения кодированной единицы определяет, по меньшей мере, одну кодируемую глубину посредством кодирования данных изображения в единицах кодирования согласно глубинам в каждой максимальной единицы кодирования и выбора глубины с минимальными ошибками кодирования. Таким образом, модуль 1420 определения кодированной единицы может определять единицы кодирования с древовидной структурой, включенные в каждую максимальную единицу кодирования.
[198] Модуль 1430 вывода кодированных данных изображения выдает битовый поток данных изображения кодированных согласно кодируемой глубине в каждой максимальной единице кодирования. Модуль 1440 вывода информации кодирования кодирует и выдает информацию, относящуюся к режимам кодирования согласно кодируемым глубинам в каждой максимальной единице кодирования.
[199] Модуль 1450 вывода информации о структуре единицы кодирования кодирует и выдает информацию о структуре единицы кодирования, указывающую на то, закодирована ли информация о текстуре для каждой из максимальных единиц кодирования. Информация о текстуре включает в себя, например, по меньшей мере, одно из параметра квантования, коэффициента преобразования и индекса преобразования для единицы данных.
[200] Если устройство 1400 кодирования видео в соответствии с текущим примерным вариантом осуществления соответствует кодеру 400 изображений на Фиг. 4, тогда из данных изображения, соответствующих текущей единицы кодирования, при помощи модуля 410 предсказания «внутри», модуля 420 оценки движения и модуля 425 компенсации движения на Фиг. 4 формируются данные после оценки/компенсации движения. Данные после оценки/компенсации движения преобразуются модулем 430 преобразования и затем квантуются квантователем 440, посредством чего формируется коэффициент преобразования текущей единицы кодирования.
[201] Информация о структуре единицы кодирования, относящаяся к текущей единице кодирования, может быть установлена на основании того, являются ли все коэффициенты преобразования текущей единицы кодирования равными 0. Коэффициенты преобразования текущей единицы кодирования, которые установлены, чтобы кодироваться в соответствии с информацией о структуре единицы кодирования, могут подаваться на энтропийный кодер 450, чтобы выводиться в битовом потоке.
[202] Информация о структуре единицы кодирования используется, чтобы определить, должна ли передаваться закодированная текстура, когда информация о текстуре не закодирована в единицах кодирования, или когда информация о текстуре закодирована в единицах кодирования. Например, если все коэффициенты преобразования в единицах кодирования равны 0, тогда информация о структуре единицы кодирования устанавливается таким образом, чтобы указывать на то, что информация о текстуре не кодируется. Тем не менее, если любой из коэффициентов преобразования в единице кодирования не равен 0, тогда информация о структуре единицы кодирования устанавливается таким образом, чтобы указывать на то, что информация о текстуре закодирована.
[203] В соответствии с примерным вариантом осуществления, примеры информации о структуре единицы кодирования включают в себя информацию о структуре единицы кодирования соответствующую кодируемой глубине, и иерархическую информацию о структуре единицы кодирования.
[204] Информация о структуре единицы кодирования, соответствующая кодируемой глубине, устанавливается для единиц кодирования соответствующих, по меньшей мере, одной кодируемой глубине в максимальной единице кодирования, и указывает на то, закодирована ли информация о текстуре единицы кодирования, соответствующая кодируемой глубине. Например, информация о структуре единицы кодирования, соответствующая кодируемой глубине, может указывать на то, являются ли все коэффициенты преобразования в единицах кодирования согласно глубинам вплоть до кодируемой глубины равными 0.
[205] Иерархическая информация о структуре единицы кодирования устанавливается соответственно для, по меньшей мере, одной глубины преобразования. Глубина преобразования максимальной единицы преобразования является наивысшей глубиной преобразования, и единица преобразования разбивается по мере увеличения глубины преобразования. Также единица преобразования текущей глубины преобразования может включать в себя четыре единицы преобразования, глубины которых ниже на один уровень по отношению к текущей глубине преобразования.
[206] Иерархическая информация о структуре единицы кодирования, соответствующая текущей глубине преобразования, указывает на то, закодирована ли иерархическая информация о структуре единицы кодирования, относящаяся к единицам преобразования глубины на один уровень ниже. Модуль 1450 вывода информации о структуре единицы кодирования устанавливает и кодирует иерархическую информацию о структуре единицы кодирования для каждой из глубин преобразования, располагающихся по порядку от наивысшей глубины преобразования до самой нижней глубины преобразования или до заранее определенной глубины.
[207] Например, иерархическая информация о структуре единицы кодирования может быть установлена для каждой из глубин преобразования, и может кодироваться информация о текстуре единицы преобразования, соответствующая самой нижней глубине преобразования.
[208] Глубина преобразования единицы преобразования может быть связана с глубиной и кодируемой глубиной соответствующей единицы кодирования. Например, глубина преобразования может быть установлена как строго равная или на один уровень ниже, чем глубина единицы кодирования. Или же глубина преобразования может быть установлена так, чтобы отличаться от глубины единицы кодирования.
[209] В соответствии с примерным вариантом осуществления, в устройстве 1400 кодирования видео, должна ли кодироваться одна или обе из информации о структуре единицы кодирования, соответствующей кодируемой глубине, и иерархической информации о структуре единицы кодирования, может выборочно устанавливаться в, по меньшей мере, одной единице данных, выбираемой из GOP, картины, последовательности макроблоков и максимальной единицы кодирования.
[210] Например, если используются как информация о структуре единицы кодирования, соответствующая кодируемой глубине, так и иерархическая информация о структуре единицы кодирования, то модуль 1450 вывода информации о структуре единицы кодирования может устанавливать иерархическую информацию о структуре единицы кодирования для каждой из глубин, располагающихся по порядку от наивысшей глубины до текущей кодируемой глубины, и может устанавливать и кодировать информацию о структуре единицы кодирования, соответствующую кодируемой глубине, для единицы кодирования, соответствующей текущей кодируемой глубине.
[211] Единица кодирования, соответствующая кодируемой глубине, может включать в себя, по меньшей мере, одну единицу преобразования. Информация о структуре единицы преобразования, указывающая, закодирована ли информация о текстуре, может устанавливаться для, по меньшей мере, одной единицы преобразования, соответственно. Например, информация о структуре единицы преобразования указывает, включает ли текущая единица преобразования коэффициент преобразования, отличный от 0.
[212] Когда информация о текстуре единиц преобразования кодируется, модуль 1450 вывода информации о структуре единицы кодирования может устанавливать информацию о структуре единицы кодирования для каждой из единиц преобразования и может устанавливать и кодировать информацию о структуре единицы кодирования, соответствующую кодируемой глубине единицы кодирования, которая включает в себя единицы преобразования.
[213] Если все коэффициенты преобразования в единице кодирования кодируемой глубины не равны 0, то модуль 1430 вывода кодированных данных изображения может не выводить кодированную информацию о текстуре. В соответствии с примерным вариантом осуществления, если все единицы преобразования, принадлежащие единице кодирования, соответствующей кодируемой глубине, не включают в себя коэффициенты преобразования, отличные от 0, то модуль 1450 вывода информации о структуре единицы кодирования не кодирует информацию о структуре единицы преобразования для единицы кодирования, соответствующей кодируемой глубине. Наоборот, модуль 1450 вывода информации о структуре единицы кодирования может устанавливать и кодировать информацию о структуре единицы кодирования, соответствующую кодируемой глубине, которая указывает на то, что информация о текстуре единицы кодирования, соответствующая кодируемой глубине, не должна кодироваться, применительно к единице кодирования соответствующей кодируемой глубине.
[214] Информация о структуре единицы кодирования, соответствующая кодируемой глубине, может устанавливаться согласно цветовым составляющим данных изображения. Например, информация о структуре единицы кодирования, соответствующая кодируемой глубине, может устанавливаться как для составляющей яркости, так и составляющей цветности, или может устанавливаться для каждой из составляющей яркости, составляющей цветности, первой составляющей цветности и второй составляющей цветности (см. Фиг. 18-26 для более подробного описания).
[215] Информация о структуре единицы кодирования, которой назначен один или более битов, может устанавливаться в одной из единиц кодирования согласно глубинам и единицах преобразования для каждой из максимальных единиц кодирования.
[216] Фиг. 17 является структурной схемой устройства 1500 декодирования видео, использующего информацию о структуре единицы кодирования, в соответствии с примерным вариантом осуществления. Согласно Фиг. 17, устройство 1500 декодирования видео включает в себя приемник 1501, модуль 1505 извлечения и декодер 1540 данных изображения. Модуль 1505 извлечения включает в себя модуль 1510 получения данных изображения, модуль 1520 извлечения информации кодирования и модуль 1530 извлечения информации о структуре единицы кодирования.
[217] Приемник 1501 и декодер 1540 данных изображения соответствуют приемнику 210 и декодеру 230 данных изображения включенным в устройство 200 декодирования видео на Фиг. 2, соответственно. Операции модуля 1510 получения данных изображения, модуля 1520 извлечения информации кодирования и декодера 1540 данных изображения точно такие же или аналогичные, по меньшей мере, некоторым из операций модуля 220 извлечения данных изображения и информации кодирования устройства 200 декодирования видео на Фиг. 2. Теперь со ссылкой на Фиг. 17 будет описан способ выполнения декодирования при помощи информации о структуре единицы кодирования, извлеченной модулем 1530 извлечения информации о структуре единицы кодирования в соответствии с примерным вариантом осуществления.
[218] Приемник 1501 принимает и анализирует битовый поток закодированного видео. Модуль 1505 извлечения извлекает различные типы информации кодирования из результата анализа битового потока. Модуль 1510 получения данных изображения может из результата анализа битового потока получать данные изображения, которые были закодированы в единицах, состоящих из максимальных единиц кодирования. Модуль 1520 извлечения информации кодирования анализирует битовый поток и затем из заголовка текущей картины извлекает информацию, относящуюся к кодируемой глубине и режиму кодирования для каждой из максимальных единиц кодирования.
[219] Модуль 1530 извлечения информации о структуре единицы кодирования извлекает информацию о структуре единицы кодирования, указывающую на то, закодирована ли информация о текстуре максимальной единицы кодирования, для каждой из максимальных единиц кодирования. Модуль 1530 извлечения информации о структуре единицы кодирования может извлекать информацию о структуре единицы кодирования, соответствующую кодируемой глубине, и иерархическую информацию о структуре единицы кодирования, относящуюся к текущей максимальной единице кодирования, в качестве информации о структуре единицы кодирования.
[220] Должна ли извлекаться одна или обе из информации о структуре единицы кодирования, соответствующей кодируемой глубине, и иерархической информации о структуре единицы кодирования, может быть установлено в единицах GOP, картины, последовательности макроблоков или максимальной единицы кодирования.
[221] Например, одна единица информации о структуре единицы кодирования, соответствующей кодируемой глубине, может извлекаться в отношении одной единицы кодирования согласно кодируемой глубине, или одна единица иерархической информации о структуре единицы кодирования может извлекаться в отношении каждой из глубин, располагающихся по порядку от наивысшей глубины до кодируемой глубины. Одна единица информации о структуре единицы кодирования может быть заранее определенными битами. Для каждой из максимальных единиц кодирования, один или более битов информации о структуре единицы кодирования могут быть установлены либо в единицах кодирования согласно глубинам, либо единице преобразования. Например, если информация о структуре единицы кодирования представляется в форме флагов, то одна единица информации о структуре единицы кодирования может быть одним битом.
[222] Декодер 1540 данных изображения воссоздает текущую картину посредством декодирования данных изображения, которые были закодированы в единицах, состоящих из максимальных единиц кодирования, на основании информации, относящейся к кодируемым глубинам, и режиму кодирования максимальных единиц кодирования и информации о структуре единицы кодирования.
[223] В соответствии с примерным вариантом осуществления, декодер 1540 данных изображения может проверять, по меньшей мере, одну кодируемую глубину текущей максимальной единицы кодирования и может обнаруживать иерархические структуры единиц кодирования согласно глубинам древовидной структуры, включенных в текущую максимальную единицу кодирования, на основании информации, относящейся к кодируемым глубинам и режимам кодирования максимальных единиц кодирования.
[224] Также декодер 1540 данных изображения может декодировать кодированные данные изображения посредством выполнения обратного преобразования над коэффициентом преобразования, включенным в информацию о текстуре максимальной единицы кодирования, извлеченную модулем 1530 извлечения информации о структуре единицы кодирования, на основании информации о структуре единицы кодирования, относящейся к максимальной единице кодирования.
[225] Если декодер 1540 данных изображения соответствует декодеру 500 изображения на Фиг. 5, то коэффициент преобразования, включенный в информацию о текстуре единиц кодирования, может быть обратно преобразован в данные в области времени при помощи обратного квантователя 530 и модуля 540 обратного преобразования.
[226] То есть, если информация о структуре единицы кодирования указывает на то, что информация о текстуре текущей единицы кодирования была закодирована согласно информации о структуре единицы кодирования, то декодер 1540 данных изображения может принять от энтропийного декодера 520 декодера 500 изображения на Фиг. 5 коэффициент преобразования, который был энтропийно декодирован, и выполнить обратное преобразование над коэффициентом преобразования для получения данных в пространственной области. Данные во временной области могут быть воссозданы в воссозданный кадр при помощи модуля 550 предсказания «внутри», модуля 560 компенсации движения, модуля 570 удаления блочности и модуля 580 низкочастотной фильтрации декодера 500 изображений на Фиг. 5.
[227] Модуль 1530 извлечения информации о структуре единицы кодирования может обнаружить, по меньшей мере, одно из информации о структуре кодирования кодируемой глубины и иерархической информации о структуре кодирования в качестве информации о структуре единицы кодирования, относящейся к единицам кодирования согласно кодируемым глубинам для текущей максимальной единицы кодирования.
[228] Если обнаружена информация о структуре кодирования согласно кодируемой глубине, то декодер 1540 данных изображения может определить способ декодирования единицы кодирования, соответствующий текущей кодируемой глубине, на основании обнаруженной информации о структуре кодирования согласно кодируемой глубине.
[229] Например, если определено на основании обнаруженной информации о структуре кодирования согласно кодируемой глубине, что информация о текстуре кодируемой единицы, соответствующей текущей кодируемой глубине, не закодирована, то декодер 1540 данных изображения может декодировать единицу кодирования, соответствующую текущей кодируемой глубине, опираясь на информацию, относящуюся к единице данных, соседней для единицы кодирования, соответствующей текущей кодируемой глубине.
[230] Также, если определено на основании обнаруженной информации о структуре кодирования согласно кодируемой глубине, что информация о текстуре единицы кодирования, соответствующей текущей кодируемой глубине, закодирована, то декодер 1540 данных изображения может декодировать единицу кодирования, соответствующую текущей кодируемой глубине, посредством выполнения обратного преобразования коэффициента преобразования включенного в закодированную информацию о текстуре единицы кодирования, соответствующую текущей кодируемой глубине.
[231] Кроме того, если обнаружена иерархическая информация о структуре кодирования, то декодер 1540 данных изображения может определить, представлена ли иерархическая информация о структуре кодирования, относящаяся к более низкой глубине преобразования текущей глубины преобразования, и определить способ декодирования единицы преобразования, соответствующей текущей глубине преобразования, на основании обнаруженной иерархической информации о структуре единицы кодирования.
[232] Например, если определено на основании обнаруженной иерархической информации о структуре единицы кодирования, соответствующей текущей единице преобразования, соответствующей глубине преобразования, что представлена иерархическая информация о структуре кодирования, относящаяся к более низкой глубине текущей глубины преобразования, то декодер 1540 данных изображения может проверить иерархическую информацию о структуре кодирования, относящуюся к более низкой глубине преобразования. Однако если определено на основании обнаруженной иерархической информации о структуре единицы кодирования, соответствующей текущей единице преобразования, что иерархическая информация о структуре кодирования, относящаяся к более низкой глубине текущей глубины преобразования, не представлена, то декодер 1540 данных изображения может декодировать текущую единицу преобразования, соответствующую текущей глубине преобразования.
[233] Если обнаружены как информация о структуре единицы кодирования, соответствующая кодируемой глубине, так и иерархическая информация о структуре единицы кодирования, то декодер 1540 данных изображения проверяет, закодирована ли иерархическая информация о структуре кодирования, относящаяся к более низкой глубине преобразования текущей глубины преобразования, на основании иерархической информации о структуре единицы кодирования, относящейся к текущей глубине преобразования.
[234] Если определено, что представлена иерархическая информация о структуре кодирования, относящаяся к более низкой глубине преобразования, то может быть проверена иерархическая информация о структуре кодирования, относящаяся к более низкой глубине преобразования. Если на основании иерархической информации о структуре единицы кодирования, соответствующей текущей глубине преобразования, определено, что иерархическая информация о структуре кодирования, относящаяся к более низкой глубине преобразования, не представлена, то декодер 1540 данных изображения может декодировать единицу преобразования, соответствующую текущей глубине преобразования, на основании информации о структуре единицы кодирования, относящейся к единице преобразования, соответствующей текущей глубине преобразования.
[235] Также, если текущая глубина преобразования является самой нижней глубиной или предварительно установленной итоговой глубиной, тогда единица преобразования, соответствующая текущей глубине преобразования, может быть установлена как декодируемая независимо от иерархической информации о структуре кодирования согласно глубинам преобразования. Если декодируется единица преобразования, соответствующая текущей глубине преобразования, то может быть декодирована информация о текстуре, например, параметр квантования, коэффициент преобразования, индекс преобразования и т.д.
[236] Единица кодирования, соответствующая кодируемой глубине, может включать в себя, по меньшей мере, одну единицу преобразования, и может быть декодирована посредством выполнения обратного преобразования на основании информации о структуре единицы преобразования, которая установлена в каждой из, по меньшей мере, одной единицы преобразования. То есть, закодирована ли информация о текстуре заданной единицы преобразования, может определяться на основании информации о структуре единицы преобразования.
[237] Таким образом, если на основании информации о структуре единицы кодирования, соответствующей кодируемой глубине, определено, что единица кодирования имеет информацию о текстуре, то декодер 1540 данных изображения проверяет информацию о текстуре единицы преобразования каждой из единиц преобразования единицы кодирования.
[238] Если на основании информации о структуре единицы преобразования определено, что заданная единица преобразования имеет закодированную информацию о текстуре, то декодер 1540 данных изображения может выполнить обратное преобразование над коэффициентом преобразования заданной единицы преобразования. Если на основании информации о структуре единицы преобразования определено, что заданная единица преобразования не имеет закодированной информации о текстуре, то декодер 1540 данных изображения может декодировать кодированные данных изображения заданной единицы преобразования при помощи информации, относящейся к единице преобразования соседней к заданной единице преобразования.
[239] Если на основании информации о структуре единицы кодирования, соответствующей кодируемой глубине, определено, что заданная единица преобразования не имеет закодированной информации о текстуре, то не закодирована информация о структуре единицы преобразования, относящаяся ко всем единицам преобразования заданной единицы кодирования. В данном случае, декодер 1540 данных изображения не обнаружит информацию о структуре единицы преобразования для каждой из единиц преобразования заданной единицы кодирования.
[240] В устройстве 1400 кодирования видео и устройстве 1500 декодирования видео в соответствии с примерными вариантами осуществления может использоваться информация о структуре единицы кодирования или информация о структуре единицы преобразования, которые были закодированы на основании единиц кодирования согласно древовидным структурам и единицам преобразования. Таким образом, существует возможность определить, закодирована ли информация о структуре единицы преобразования каждой из единиц преобразования на основании информации о структуре единицы кодирования, которая установлена для единицы кодирования, обладающей множеством групп единиц преобразования. Поскольку количество единиц кодирования меньше данных единиц преобразования, то установка информации о структуре единицы кодирования для каждой из единиц кодирования сокращает объем данных, чем при установке информации о структуре единиц кодирования для каждой из всех единиц преобразования, тем самым повышая эффективность передачи битов.
[241] Теперь со ссылкой на Фиг. 18-26 будет описана информация о структуре единицы кодирования, соответствующая кодируемой глубине, которая устанавливается согласно цветовым составляющим данных изображения в соответствии с примерными вариантами осуществления. В нижеследующих примерных вариантах осуществления предполагается, что одна единица информации о структуре единицы кодирования является 1 битом, однако понятно, что другой характерный вариант осуществления этим не ограничен.
[242] Фиг. 18-20 являются структурными схемами, иллюстрирующими информацию о структуре единицы кодирования, соответствующую кодируемой глубине, когда единица кодирования, соответствующая кодируемой глубине, включает в себя одну единицу преобразования, в соответствии с одним или более примерными вариантами осуществления.
[243] Согласно Фиг. 18-20, первая единица кодирования цветовых данных изображения согласно цветовым стандартам YCbCr включает в себя единицу 1600 кодирования составляющей яркости, единицу 1610 кодирования первой составляющей цветности и единицу 1620 кодирования второй составляющей цветности, обладающую второй составляющей цветности.
[244] Если единица преобразования первой единицы кодирования по размеру равна первой единице кодирования, то первая единица кодирования включает в себя только одну единицу преобразования. Таким образом, единица преобразования первой единицы кодирования включает в себя единицу 1605 преобразования составляющей яркости, единицу 1615 преобразования первой составляющей цветности и единицу 1625 преобразования второй составляющей цветности. Информация о структуре единицы преобразования может быть установлена для каждой из единицы 1605 преобразования составляющей яркости, единицы 1615 преобразования первой составляющей цветности и единицы 1625 преобразования второй составляющей цветности.
[245] Согласно Фиг. 18, информация о структуре единицы кодирования, соответствующая кодируемой глубине, дополнительно не кодируется для первой единицы кодирования. В данном случае, модуль 1450 вывода информации о структуре единицы кодирования на Фиг. 16 не выдает информацию о структуре единицы кодирования, соответствующую кодируемой глубине, для первой единицы кодирования. Декодер 1540 данных изображения на Фиг. 17 может проверять только информацию о структуре единицы преобразования для каждой из единицы 1605 преобразования составляющей яркости, единицы 1615 преобразования первой составляющей цветности и единицы 1625 преобразования второй составляющей цветности и выполнять обратное преобразование над коэффициентами преобразования единицы 1605 преобразования составляющей яркости, единицы 1615 преобразования первой составляющей цветности и единицы 1625 преобразования второй составляющей цветности на основании результата проверки, не проверяя информацию о структуре единицы кодирования, соответствующую кодируемой глубине, для первой единицы кодирования.
[246] Согласно Фиг. 19, 1-битная информация о структуре единицы кодирования, соответствующая кодируемой глубине, установлена для группы 1630, к которой принадлежит единица 1600 преобразования составляющей яркости, единица 1610 преобразования первой составляющей цветности и единица 1620 преобразования второй составляющей цветности. В данном случае, модуль 1450 вывода информации о структуре единицы кодирования с Фиг. 16 выдает 1-битную информацию о структуре единицы кодирования, соответствующую кодируемой глубине, для первой единицы кодирования.
[247] Согласно Фиг. 20, 1-битная информация о структуре единицы кодирования, соответствующая кодируемой глубине, установлена для каждой из группы 1640, к которой принадлежит единица 1600 кодирования составляющей яркости первой единицы кодирования, и группы 1650, к которой принадлежат единица 1610 кодирования первой составляющей цветности и единица 1620 кодирования второй составляющей цветности первой единицы кодирования. В данном случае, модуль 1450 вывода информации о структуре единицы кодирования на Фиг. 16 выдает 2-битную информацию о структуре единицы кодирования, соответствующую кодируемой глубине, для первой единицы кодирования.
[248] В соответствии с примерным вариантом осуществления, декодер 1540 данных изображения на Фиг. 17 может определять, включает ли в себя заданная единица кодирования кодированную информацию о текстуре, посредством проверки либо 1-битной информации о структуре единицы кодирования, соответствующей кодируемой глубине, на Фиг. 19, либо 2-битной информации о структуре единицы кодирования, соответствующей кодируемой глубине, на Фиг. 20, для первой единицы кодирования. Если заданная единица кодирования включает в себя кодированную информацию о текстуре, то декодер 1540 данных изображения на Фиг. 17 может проверить информацию о структуре единицы преобразования соответствующей единицы преобразования и выполнить обратное преобразование над соответствующими коэффициентами преобразования на основании результата проверки.
[249] Фиг. 21-23 иллюстрируют информацию о структуре единицы кодирования, соответствующую кодируемой глубине, когда единица кодирования, соответствующая глубине кодирования, включает в себя четыре единицы преобразования, в соответствии с примерными вариантами осуществления. Согласно Фиг. 21-23, вторая единица кодирования цветовых данных изображения согласно цветовым стандартам YCbCr включает в себя единицу 1700 кодирования составляющей яркости, единицу 1710 кодирования первой составляющей цветности и единицу 1720 кодирования второй составляющей цветности.
[250] Если вторая единица кодирования включает в себя четыре единицы преобразования, то каждая из единиц кодирования второй единицы кодирования, которые классифицированы по цветовой составляющей, также включают в себя четыре единицы преобразования. То есть, единица 1700 кодирования составляющей яркости включает в себя четыре единицы 1702, 1704, 1706 и 1708 преобразования составляющей яркости, единица 1710 кодирования первой составляющей цветности включает в себя четыре единицы 1712, 1714, 1716 и 1718 преобразования первой составляющей цветности, и единица 1720 кодирования второй составляющей цветности включает в себя четыре единицы 1722, 1724, 1726 и 1728 преобразования второй составляющей цветности.
[251] Согласно Фиг. 21, 1-битная информация о структуре единицы кодирования, соответствующая кодируемой глубине, установлена для группы 1730, к которой принадлежит только единица 1700 кодирования составляющей яркости второй единицы кодирования. Однако информация о структуре единицы кодирования, соответствующая глубине кодирования, не установлена для единицы 1710 кодирования первой составляющей цветности и единицы 1720 кодирования второй составляющей цветности.
[252] В данном случае, модуль 1450 вывода информации о структуре единицы кодирования на Фиг. 16 выдает 1-битную информацию о структуре единицы кодирования, соответствующую кодируемой глубине, относящуюся к единице 1700 кодирования составляющей яркости. Соответственно, декодер 1540 данных изображения на Фиг. 17 проверяет 1-битную информацию о структуре единицы кодирования, соответствующую кодируемой глубине, относящуюся к единице 1700 кодирования составляющей яркости, и определяет, представлена ли в единице 1700 кодирования составляющей яркости закодированная информация о текстуре. Если определяется, что закодированная информация о текстуре представлена, то декодер 1540 данных изображения может проверить информацию о структуре единицы преобразования единиц 1702, 1704, 1706 и 1708 преобразования составляющей яркости и выполнить обратное преобразование над коэффициентами преобразования единиц 1702, 1704, 1706 и 1708 преобразования на основании результата проверки.
[253] В качестве альтернативы, декодер 1540 данных изображения может проверить только информацию о структуре единицы преобразования единиц 1712, 1714, 1716, и 1718 преобразования первой составляющей цветности и единиц 1722, 1724, 1726, и 1728 преобразования второй составляющей цветности и может выполнить обратное преобразование над коэффициентами преобразования единиц 1712, 1714, 1716, 1718, 1722, 1724, 1726 и 1728 преобразования на основании результата проверки, не проверяя информацию о структуре единицы кодирования, соответствующую кодируемой глубине, первой составляющей 1710 цветности и второй составляющей 1720 цветности второй единицы кодирования.
[254] Согласно Фиг. 22, 1-битная информация о структуре единицы кодирования, соответствующая кодируемой глубине, установлена для группы 1740, к которой принадлежат единица 1700 кодирования составляющей яркости, единица 1710 кодирования первой составляющей цветности и единица 1720 кодирования второй составляющей цветности, второй единицы кодирования. В данном случае, модуль 1450 вывода информации о структуре единицы кодирования на Фиг. 16 выводит 1-битную информацию о структуре единицы кодирования, соответствующую кодируемой глубине, для второй единицы кодирования.
[255] Согласно Фиг. 23, 1-битная информация о структуре единицы кодирования, соответствующая кодируемой глубине, установлена для каждой из группы 1750, к которой принадлежит единица 1700 кодирования составляющей яркости второй единицы кодирования, группы 1760, к которой принадлежит единица 1710 кодирования первой составляющей цветности второй единицы кодирования, и группы 1770, к которой принадлежит единица 1720 кодирования второй составляющей цветности, второй единицы кодирования. В данном случае, модуль 1450 вывода информации о структуре единицы кодирования на Фиг. 16 выдает 3-битную информацию о структуре единицы кодирования, соответствующую кодируемой глубине, для второй единицы кодирования.
[256] Декодер 1540 данных изображения на Фиг. 17 может определять, представлена ли кодированная информация о текстуре в единице кодирования, посредством проверки либо 1-битной информации о структуре единицы кодирования, соответствующей кодируемой глубине (см. Фиг. 22), либо 3-битной информации о структуре единицы кодирования, соответствующей кодируемой глубине (см. Фиг. 23), для второй единицы кодирования. Если определено, что кодированная информация о текстуре представлена, то декодер 1540 данных изображения может проверить информацию о структуре единицы преобразования единиц преобразования, соответствующих единице кодирования, и выполнить обратное преобразование над коэффициентами преобразования единиц преобразования на основании результата проверки.
[257] Фиг. 24-26 иллюстрируют информацию о структуре единицы кодирования, соответствующую кодируемой глубине, когда единица кодирования, соответствующая кодируемой глубине, включает в себя множество единиц преобразования, в соответствии с примерными вариантами осуществления. Согласно Фиг. 24-26, третья единица кодирования цветовых данных изображения согласно стандартам YCbCr включает в себя единицу 1800 кодирования составляющей яркости, единицу 1820 кодирования первой составляющей цветности и единицу 1830 кодирования второй составляющей цветности.
[258] Если третья единица кодирования включает в себя, по меньшей мере, четыре единицы преобразования, то единица 1800 кодирования составляющей яркости третьей единицы кодирования также включает в себя, по меньшей мере, четыре единицы преобразования. То есть, количество единиц преобразования единицы 1800 кодирования составляющей яркости равно количеству единиц преобразования третьей единицы кодирования. Например, если третья единица кодирования включает в себя шестнадцать единиц преобразования, то единица 1800 кодирования составляющей яркости также включает в себя шестнадцать единиц 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1815, и 1816 преобразования составляющей яркости.
[259] Каждая из единицы 1820 кодирования первой составляющей цветности и единицы 1830 кодирования второй составляющей цветности может включать в себя четыре единицы преобразования. То есть, единица 1810 кодирования первой составляющей цветности может включать в себя четыре единицы 1822, 1824, 1826, и 1828 преобразования первой составляющей цветности, и единица 1830 кодирования второй составляющей цветности может включать в себя четыре единицы 1832, 1834, 1836, и 1838 преобразования второй составляющей цветности.
[260] Одна единица информации о структуре единицы кодирования, соответствующей кодируемой глубине, может быть установлена в качестве информации о структуре единицы кодирования, соответствующей кодируемой глубине, для части единицы 1800 кодирования составляющей яркости, для группы, которой принадлежит заранее определенное количество единиц преобразования составляющей яркости. Например, информация о структуре единицы кодирования, соответствующая кодируемой глубине, может быть установлена для каждой из групп, к которой принадлежат четыре единицы преобразования составляющей яркости единицы 1800 кодирования составляющей яркости. То есть, в единице 1800 кодирования составляющей яркости, 1-битная информация о структуре единицы кодирования может быть установлена для каждой из группы 1840, к которой принадлежат четыре единицы 1801, 1802, 1803 и 1804 преобразования, группы 1850, к которой принадлежат четыре единицы 1805, 1806, 1807 и 1808 преобразования, группы 1860, к которой принадлежат четыре единицы 1809, 1810, 1811 и 1812 преобразования, и группы 1870, к которой принадлежат четыре единицы 1813, 1814, 1815 и 1816 преобразования.
[261] Согласно Фиг. 24, информация о структуре единицы кодирования, соответствующая кодируемой глубине, не устанавливается для единицы 1820 кодирования первой составляющей цветности и единицы 1830 кодирования второй составляющей цветности.
[262] В данном случае, модуль 1450 вывода информации о структуре единицы кодирования на Фиг. 16 выдает 4-битную информацию о структуре кодирования, соответствующую кодируемой глубине, для групп 1840, 1850, 1860 и 1870 единицы 1800 кодирования составляющей яркости. Декодер 1540 данных изображения на Фиг. 17 проверяет 4-битную информацию о структуре кодирования, соответствующую кодируемой глубине, и определяет, представлена ли закодированная информация о текстуре для каждой из групп 1840, 1850, 1860 и 1870.
[263] В качестве альтернативы, декодер 1540 данных изображения может проверять информацию о структуре единицы преобразования единиц 1822, 1824, 1826 и 1828 преобразования первой составляющей цветности и единиц 1832, 1834, 1836 и 1838 преобразования второй составляющей цветности, не проверяя информацию о структуре, соответствующую кодируемой глубине, для единицы 1820 кодирования первой составляющей цветности и единицы 1830 кодирования второй составляющей цветности.
[264] Согласно Фиг. 25, в третьей единице кодирования, 1-битная информация о структуре единицы кодирования, соответствующая кодируемой глубине, установлена для каждой из множества групп 1840, 1850, 1860 и 1870 единиц кодирования составляющей яркости, группы 1880, к которой принадлежит единица 1820 кодирования первой составляющей цветности, и группы 1885, к которой принадлежит единица 1830 кодирования второй составляющей цветности. В данном случае, модуль 1450 вывода информация о структуре единицы кодирования на Фиг. 16 выдает 6-битную информацию о структуре единицы кодирования, соответствующую кодируемой глубине, для третьей единицы кодирования.
[265] Согласно Фиг. 26, в третьей единице кодирования, 1-битная информация о структуре единицы кодирования, соответствующая кодируемой глубине, установлена для каждой из множества групп 1840, 1850, 1860 и 1870 единицы кодирования составляющей яркости, и группы 1890, к которой принадлежит единица 1820 кодирования первой составляющей цветности и единица 1830 кодирования второй составляющей цветности. В данном случае, модуль 1450 вывода информации о структуре единицы кодирования на Фиг. 16 выдает 5-битовую информацию о структуре единицы кодирования, соответствующую кодируемой глубине, для третьей единицы кодирования.
[266] Декодер 1540 данных изображения на Фиг. 17 определяет, представлена ли закодированная информация о текстуре для единицы кодирования, посредством проверки либо 6-битовой информации о структуре единицы кодирования, соответствующей кодируемой глубине (см. Фиг. 25), либо 5-битовой информации о структуре единицы кодирования, соответствующей кодируемой глубине (см. Фиг. 26), для третьей единицы кодирования. Если определено, что закодированная информация о текстуре представлена, то декодер 1540 данных изображения может проверить информацию о структуре единицы преобразования единицы преобразования, включенной в единицу кодирования, и выполнить обратное преобразование над коэффициентами преобразования единиц преобразования на основании результата проверки.
[267] Как описано выше, в соответствии с одним или более примерными вариантами осуществления, информация о структуре единицы кодирования может быть установлена для каждой из цветовых составляющих, и множество частей информации о структуре единицы кодирования одной и той же единицы кодирования, которые классифицированы согласно цветовой составляющей, могут быть объединены и закодированы.
[268] В устройстве 100 кодирования видео и устройстве 200 декодирования видео в соответствии с примерными вариантами осуществления, множество частей информации о структуре единицы кодирования, которые классифицированы согласно цветовой составляющей, могут быть закодированы и декодированы способом объединения, на основании взаимосвязи между информацией о структуре единицы кодирования, относящейся к составляющей яркости, первой составляющей цветности, и второй составляющей цветности одной и той же единицы кодирования, и взаимосвязью между информацией о структуре единицы кодирования одной и той же цветовой составляющей, относящейся к соседним единицам кодирования.
[269] Например, для кодирования с переменной длиной (VLC) текущей единицы кодирования, информация о структуре единицы кодирования, относящаяся к составляющей яркости, информация о структуре единицы кодирования, относящая к первой составляющей цветности, и информация о структуре единицы кодирования, относящаяся ко второй составляющей цветности, могут объединяться и кодироваться, используя одно кодовое слово.
[270] Кроме того, в качестве примера, таблица VLC может быть установлена таким образом, что разные отдельные кодовые слова соответствуют сочетаниям множества частей информации о структуре единицы кодирования, которые классифицированы согласно цветовой составляющей, соответственно. Соответственно, множество частей информации о структуре единицы кодирования могут быть закодированы способом объединения. Таблица VLC может выбираться таким образом, что чем короче отдельное кодовое слово, тем выше возможности сочетания множества частей информации о структуре единицы кодирования.
[271] Как описано выше, существует возможность повысить эффективность кодирования посредством кодирования или декодирования множества частей информации о структуре единицы кодирования, которая классифицирована согласно цветовой составляющей, способом объединения, на основании взаимосвязи между множеством частей информации о структуре единицы кодирования одной и той же единицы кодирования, которые классифицированы согласно цветовой составляющей, и взаимосвязи между множеством частей информации о структуре единицы кодирования одной и той же цветовой составляющей соседних единиц кодирования.
[272] В соответствии с примерным вариантом осуществления, информация о структуре единицы кодирования, соответствующая кодируемой глубине, устанавливается в единице кодирования соответствующей кодируемой глубине, иерархическая информация о структуре единицы кодирования устанавливается в единицах преобразования согласно глубинам преобразования, которые получены путем деления единицы кодирования, соответствующей кодируемой глубине, и информация о структуре единицы преобразования устанавливается в итоговой единице преобразования.
[273] Таким образом, информация о структуре единицы кодирования, соответствующая кодируемой глубине, иерархическая информация о структуре единицы кодирования и информация о структуре единицы преобразования могут быть определены последовательно на основании иерархических структур единицы кодирования и единицы преобразования в соответствии с примерным вариантом осуществления.
[274] Соответственно, в устройстве 100 кодирования видео и устройстве 200 декодирования видео в соответствии с примерными вариантами осуществления существует возможность определения того, закодирована ли составляющая текстуры, которая не равна 0 и которая включена из единицы кодирования в единицу преобразования при помощи одной части информации о структуре единицы данных, которая иерархически установлена согласно глубине преобразования, не проводя различия между информацией о структуре единицы кодирования, соответствующей кодируемой глубине, иерархической информацией о структуре единицы кодирования и информацией о структуре единицы преобразования.
[275] Фиг. 27 является схемой, иллюстрирующей иерархическую информацию о структуре единицы кодирования в соответствии с примерным вариантом осуществления. Согласно Фиг. 27, единицы 1912, 1914, 1916, 1918, 1920, 1930, 1942, 1944, 1946, 1948, 1954, 1956 и 1958 преобразования, размеры которых определены согласно соответствующим глубинам преобразования, соответственно, установлены для максимальной единицы 1900 кодирования.
[276] Например, единица преобразования, соответствующая глубине преобразования, равной 0, равна по размеру максимальной единице 1900 кодирования, вследствие этого максимальная единица 1900 кодирования, проиллюстрированная на Фиг. 27, не включает в себя единицу преобразования, соответствующую глубине преобразования, равной 0.
[277] Единицы 1920 и 1930 преобразования равны результату разбиения высоты и ширины единицы преобразования, соответствующей глубине преобразования, равной 0, на две равные части и соответствуют глубине преобразования, равной 1. Аналогичным образом, единицы 1912, 1914,1916, 1918, 1954, 1956 и 1958 преобразования соответствуют глубине преобразования, равной 2, а единицы 1942, 1944, 1946 и 1948 преобразования соответствуют глубине преобразования, равной 3.
[278] Иерархическая информация о структуре единицы кодирования указывает на то, должна ли быть закодирована иерархическая информация о структуре единицы кодирования, относящаяся к более низкой глубине преобразования. Кроме того, иерархическая информация о структуре единицы кодирования может показывать, закодирована ли информация о текстуре более низкой глубины преобразования.
[279] Максимальная единица 1900 кодирования не включает в себя единицу преобразования, соответствующую глубине преобразования, равной 0, и использует информацию о текстуре единицы преобразования, соответствующую глубине преобразования, равной 1, которая находится ниже глубины преобразования, равной 0. Таким образом, 1-битная иерархическая информация 1960 о структуре единицы кодирования установлена для глубины преобразования, равной 0.
[280] В отношении глубины преобразования, равной 1, единицы 1920 и 1930 преобразования декодируются на глубине преобразования, равной 1, и таким образом, информация о текстуре единицы преобразования, соответствующая глубине преобразования, равной 2, которая ниже глубины преобразования равной 1, не должна кодироваться. Также не должна устанавливаться иерархическая информация о структуре единицы кодирования, относящаяся к глубине преобразования, равной 2. Таким образом, 1-битная иерархическая информация о структуре единицы кодирования, относящаяся к глубине преобразования, равной 1, которая указывает на то, что информация о текстуре иерархической информации о структуре единицы кодирования, относящейся к глубине преобразования, равной 2, может не кодироваться, предоставляется для каждой из единиц 1920 и 1930 преобразования.
[281] Однако информация о текстуре единицы преобразования, соответствующей глубине преобразования, равной 2, которая ниже глубины преобразования, равной 1, должна кодироваться для каждой группы, соответствующей глубине преобразования, равной 1, к которой принадлежат единицы 1912, 1914, 1916 и 1918 преобразования, соответствующие глубине преобразования, равной 2, и группы, соответствующей глубине преобразования, равной 1, к которой принадлежат единицы 1942, 1944, 1946, 1948, 1954 и 1956, и 1958 преобразования. Таким образом, информация о структуре единицы кодирования, относящаяся к глубине преобразования, равной 2, может быть закодирована, и 1-битная иерархическая информация о структуре единицы кодирования, относящаяся к глубине преобразования, равной 1, может быть установлена для каждой из групп, чтобы отражать данный факт.
[282] Соответственно, суммарная 4-битная иерархическая информация 1970 о структуре единицы кодирования устанавливается для глубины преобразования равной 1.
[283] В отношении глубины преобразования равной 2, единицы 1912, 1914, 1916, 1918, 1954, 1956 и 1958 преобразования могут декодироваться на глубине преобразования, равной 2. По этой причине, информация о текстуре единицы преобразования, соответствующей глубине преобразования, равной 3, которая ниже глубины преобразования, равной 2, не должна кодироваться, и таким образом, иерархическая информация о структуре единицы кодирования, относящаяся к глубине преобразования, равной 3, не должна устанавливаться. Таким образом, 1-битная иерархическая информация о структуре единицы кодирования, относящаяся к глубине преобразования, равной 2, должна устанавливаться для каждой из единиц 1912, 1914, 1916, 1918, 1954, 1956 и 1958 преобразования так, чтобы указывать, что иерархическая информация о структуре единицы кодирования, относящаяся к глубине преобразования, равной 3, не должна кодироваться.
[284] Однако информация о единице преобразования, соответствующая глубине преобразования 3, должна кодироваться для групп, соответствующих глубине преобразования, равной 2, к которым принадлежат единицы 1942, 1944, 1946 и 1948 преобразования. Таким образом, информация о структуре единицы кодирования, относящаяся к глубине преобразования, равной 2, должна быть установлена таким образом, чтобы отражать данный факт.
[285] Соответственно, суммарная 8-битовая иерархическая информация 1980 о структуре единицы кодирования должна быть установлена для глубины преобразования, равной 2.
[286] Глубина преобразования 3 является итоговой глубиной преобразования и вследствие этого, 1-битная иерархическая информация о структуре единицы кодирования, относящаяся к глубине преобразования, равной 3, может быть установлена для каждой из единиц 1942, 1944, 1946 и 1948 преобразования, так чтобы указывать, что иерархическая информация о структуре единицы кодирования, относящая к более низкой глубине преобразования, не должна кодироваться. Таким образом, суммарная 4-битная иерархическая информация 1990 о структуре единицы кодирования должна устанавливаться для глубины преобразования, равной 3.
[287] Фиг. 28 является блок-схемой иллюстрирующей способ кодирования видео данных при помощи информации о структуре единицы кодирования, в соответствии с примерным вариантом осуществления. Согласно Фиг. 28, в операции 2010, текущая картина разбивается на, по меньшей мере, одну максимальную единицу кодирования. В операции 202, посредством кодирования, по меньшей мере, одной области разбиения, определяется кодируемая глубина для вывода итогового результата кодирования в соответствии с, по меньшей мере, одной областью разбиения, которая получена посредством разбиения области, по меньшей мере, одной максимальной единицы кодирования согласно глубинам, и согласно древовидной структуре определяется единица кодирования.
[288] В операции 2030 выводится результат кодирования данных изображения в соответствии с одной кодируемой глубиной для каждой из, по меньшей мере, одной максимальной единицы кодирования, и результат информации кодирования, относящейся к кодируемой глубине и режим кодирования.
[289] Информация о структуре единицы кодирования, соответствующая кодируемой глубине, которая указывает на то, закодирована ли информация о текстуре единиц кодирования согласно кодируемым глубинам, по меньшей мере, одной максимальной единицы кодирования, может кодироваться в качестве информации о структуре единицы кодирования, по меньшей мере, одной максимальной единицы кодирования. Если иерархическая информация о структуре единицы кодирования является иерархически кодируемой согласно глубине преобразования, тогда каждая из множества частей иерархической информации о структуре единицы кодирования, соответствующих глубинам преобразования, указывает на то, закодирована ли иерархическая информация о структуре единицы кодирования, относящаяся к глубине преобразования, которая ниже соответствующей глубины преобразования.
[290] Фиг. 29 является блок-схемой последовательности операций, иллюстрирующей способ декодирования видео данных при помощи информации о структуре единицы кодирования, в соответствии с примерным вариантом осуществления. Согласно Фиг. 29, в операции 2110 принимается и анализируется битовый поток закодированного видео.
[291] В операции 2120 данные изображения текущей картины назначаются, по меньшей мере, одной максимальной единице кодирования, и из проанализированного битового потока извлекается информация, относящаяся к кодируемой глубине единицы кодирования согласно древовидной структуре для каждой из, по меньшей мере, одной максимальной единицы кодирования, и информация, относящаяся к режиму кодирования. Также на основе, по меньшей мере, одной максимальной единицы кодирования извлекается информация о структуре единицы кодирования, указывающая на то, закодирована ли информация о текстуре максимальной единицы кодирования. Информация о структуре единицы кодирования, соответствующая кодируемой глубине, относящаяся к единицам кодирования согласно кодируемым глубинам каждой максимальной единицы кодирования, и иерархическая информация о структуре единицы кодирования могут быть извлечены в качестве информации о структуре единицы кодирования, по меньшей мере, одной максимальной единицы кодирования.
[292] В операции 2130 кодированные данные изображения, соответствующие, по меньшей мере, одной максимальной единице кодирования, декодируются на основании кодируемых глубин, по меньшей мере, одной максимальной единицы кодирования, информации, относящейся к режиму кодирования, и информации, относящейся к информации о структуре единицы кодирования, тем самым воссоздавая данные изображения. Существует возможность определения того, закодирована ли информация о текстуре единицы кодирования соответствующей кодируемой глубине на основании информации о структуре единицы кодирования, соответствующей кодируемой глубине. Также существует возможность определения того, закодирована ли иерархическая информация о структуре единицы кодирования, относящаяся к более низкой глубине преобразования, на основании иерархической информации о структуре единицы кодирования, относящейся к каждой из глубин преобразования.
[293] В единице кодирования, соответствующей кодируемой глубине, данные, закодированные в единице преобразования, могут быть декодированы посредством выполнения обратного преобразования над коэффициентами преобразования на основании информации о структуре единицы преобразования для единицы преобразования.
[294] В целом, в способе кодирования/декодирования известного уровня техники при преобразовании и обратном преобразовании, выполняемом над данными изображения, используются макроблоки размером 16х16 или 8х8. Информация о структуре кодированного блока кодируется и передается на основе макроблока во время процесса кодирования и используется для процесса декодирования.
[295] В противоположность этому, в соответствии с вышеописанными примерными вариантами осуществления, используется информация о структуре единицы кодирования, основанная на иерархически структурированной единице кодирования и единице преобразования. Таким образом, информация о структуре единицы кодирования может быть закодирована в единице кодирования, которая больше макроблока или является единицей данных другого размера. Также информация о структуре единицы кодирования может кодироваться в единице кодирования, которая включает в себя множество иерархически структурированных единиц преобразования согласно древовидной структуре, интегрированным образом. Соответственно, может быть повышена эффективность кодирования/декодирования и передачи информации о структуре единицы кодирования.
[296] Один или более характерных вариантов осуществления могут быть воплощены в качестве компьютерной программы. Компьютерная программа может храниться на машиночитаемом носителе записи и исполняться, используя обычный цифровой компьютер. Примеры машиночитаемого носителя информации включают в себя магнитный носитель записи (ROM, гибкий диск, жесткий диск, и т.д.) и оптический носитель записи (CD-ROM, DVD и т.д.)
[297] Хотя, в частности, были показаны и описаны характерные варианты осуществления, специалисту в соответствующей области должно быть понятно, что могут быть выполнены различные изменения в форме и деталях, не отступая при этом от сущности и объема настоящей идеи изобретения, как определено прилагаемой формулой изобретения. Характерные варианты осуществления должны рассматриваться только в описательном смысле, а не в целях ограничения. Вследствие этого, объем идеи изобретения определяется не подробным описанием примерных вариантов осуществления, а прилагаемой формулой изобретения, и все отличия в рамках объема должны толковаться как включенные в настоящую идею изобретения.
Изобретение относится к области кодирования видеоданных. Технический результат заключается в повышении эффективности кодирования видеоданных. Технический результат достигается за счет формирования информации разбиения для того, чтобы определить единицу кодирования; формирования информации индекса преобразования, указывающей на разбиение единицы преобразования текущего уровня, когда единица преобразования текущего уровня, включенная в единицу кодирования, разбивается на единицы преобразования более низкого уровня; и формирования информации о структуре единицы преобразования текущего уровня и информации индекса преобразования, указывающей на неразбиение единицы преобразования текущего уровня, когда единица преобразования текущего уровня не разбивается на единицы преобразования более низкого уровня; при этом информация о структуре указывает, содержит ли единица преобразования текущего уровня один или более коэффициентов преобразования, не равных 0. 10 н.п. ф-лы, 29 ил., 1 табл.
1. Способ кодирования кодированного видео, содержащий:
формирование информации разбиения для того, чтобы определить по меньшей мере одну единицу кодирования;
формирование информации индекса преобразования, указывающей на разбиение единицы преобразования текущего уровня, когда единица преобразования текущего уровня, включенная в единицу кодирования из множества из по меньшей мере одной единицы кодирования, разбивается на единицы преобразования более низкого уровня; и
формирование информации о структуре единицы преобразования текущего уровня и информации индекса преобразования, указывающей на неразбиение единицы преобразования текущего уровня, когда единица преобразования текущего уровня не разбивается на единицы преобразования более низкого уровня; при этом
информация о структуре указывает, содержит ли единица преобразования текущего уровня один или более коэффициентов преобразования, не равных 0.
2. Долговременный машиночитаемый носитель данных, имеющий машиночитаемые коды, которые при исполнении процессором кодера побуждают кодер выполнять способ кодирования изображения, причем способ содержит:
формирование информации разбиения для того, чтобы определить по меньшей мере одну единицу кодирования;
формирование информации индекса преобразования, указывающей на разбиение единицы преобразования текущего уровня, когда единица преобразования текущего уровня, включенная в единицу кодирования из множества из по меньшей мере одной единицы кодирования, разбивается на единицы преобразования более низкого уровня; и
формирование информации о структуре единицы преобразования текущего уровня и информации индекса преобразования, указывающей на неразбиение единицы преобразования текущего уровня, когда единица преобразования текущего уровня не разбивается на единицы преобразования более низкого уровня; при этом
битовый поток включает в себя по меньшей мере одну из информации разбиения, информации индекса преобразования и информации о структуре, и
информация о структуре указывает, содержит ли единица преобразования текущего уровня один или более коэффициентов преобразования, не равных 0.
3. Способ кодирования кодированного видео, содержащий:
формирование информации разбиения для того, чтобы определить по меньшей мере одну единицу кодирования;
формирование информации индекса преобразования, указывающей на разбиение единицы преобразования текущего уровня, когда единица преобразования текущего уровня, включенная в единицу кодирования из множества из по меньшей мере одной единицы кодирования, разбивается на единицы преобразования более низкого уровня; и
формирование информации о структуре единицы преобразования текущего уровня и информации индекса преобразования, указывающей на неразбиение единицы преобразования текущего уровня, когда единица преобразования текущего уровня не разбивается на единицы преобразования более низкого уровня; при этом
информация о структуре указывает, содержит ли единица преобразования текущего уровня один или более коэффициентов преобразования, не равных 0, и
единица преобразования текущего уровня разбивается на четыре единицы преобразования более низкого уровня.
4. Долговременный машиночитаемый носитель данных, имеющий машиночитаемые коды, которые при исполнении процессором кодера побуждают кодер выполнять способ кодирования изображения, причем способ содержит:
формирование информации разбиения для того, чтобы определить по меньшей мере одну единицу кодирования;
формирование информации индекса преобразования, указывающей на разбиение единицы преобразования текущего уровня, когда единица преобразования текущего уровня, включенная в единицу кодирования из множества из по меньшей мере одной единицы кодирования, разбивается на единицы преобразования более низкого уровня; и
формирование информации о структуре единицы преобразования текущего уровня и информации индекса преобразования, указывающей на неразбиение единицы преобразования текущего уровня, когда единица преобразования текущего уровня не разбивается на единицы преобразования более низкого уровня; при этом
битовый поток включает в себя по меньшей мере одну из информации разбиения, информации индекса преобразования и информации о структуре,
информация о структуре указывает, содержит ли единица преобразования текущего уровня один или более коэффициентов преобразования, не равных 0, и
единица преобразования текущего уровня разбивается на четыре единицы преобразования более низкого уровня.
5. Способ кодирования кодированного видео, содержащий:
формирование информации разбиения для того, чтобы определить по меньшей мере одну единицу кодирования;
формирование информации индекса преобразования, указывающей на разбиение единицы преобразования текущего уровня, когда единица преобразования текущего уровня, включенная в единицу кодирования из множества из по меньшей мере одной единицы кодирования, разбивается на квадратные единицы преобразования более низкого уровня; и
формирование информации о структуре единицы преобразования текущего уровня и информации индекса преобразования, указывающей на неразбиение единицы преобразования текущего уровня, когда единица преобразования текущего уровня не разбивается на единицы преобразования более низкого уровня; при этом
информация о структуре указывает, содержит ли единица преобразования текущего уровня один или более коэффициентов преобразования, не равных 0, и
высота каждой квадратной единицы преобразования более низкого уровня является половиной высоты единицы преобразования текущего уровня.
6. Долговременный машиночитаемый носитель данных, имеющий машиночитаемые коды, которые при исполнении процессором кодера побуждают кодер выполнять способ кодирования изображения, причем способ содержит:
формирование информации разбиения для того, чтобы определить по меньшей мере одну единицу кодирования;
формирование информации индекса преобразования, указывающей на разбиение единицы преобразования текущего уровня, когда единица преобразования текущего уровня, включенная в единицу кодирования из множества из по меньшей мере одной единицы кодирования, разбивается на квадратные единицы преобразования более низкого уровня; и
формирование информации о структуре единицы преобразования текущего уровня и информации индекса преобразования, указывающей на неразбиение единицы преобразования текущего уровня, когда единица преобразования текущего уровня не разбивается на единицы преобразования более низкого уровня; при этом
битовый поток включает в себя по меньшей мере одну из информации разбиения, информации индекса преобразования и информации о структуре,
информация о структуре указывает, содержит ли единица преобразования текущего уровня один или более коэффициентов преобразования, не равных 0, и
высота каждой квадратной единицы преобразования более низкого уровня является половиной высоты единицы преобразования текущего уровня.
7. Способ кодирования кодированного видео, содержащий:
формирование информации разбиения для того, чтобы определить по меньшей мере одну единицу кодирования;
формирование информации индекса преобразования, указывающей на разбиение единицы преобразования текущего уровня, когда единица преобразования текущего уровня, включенная в единицу кодирования из множества из по меньшей мере одной единицы кодирования, разбивается на квадратные единицы преобразования более низкого уровня; и
формирование информации о структуре единицы преобразования текущего уровня и информации индекса преобразования, указывающей на неразбиение единицы преобразования текущего уровня, когда единица преобразования текущего уровня не разбивается на единицы преобразования более низкого уровня; при этом
информация о структуре указывает, содержит ли единица преобразования текущего уровня один или более коэффициентов преобразования, не равных 0,
высота каждой квадратной единицы преобразования более низкого уровня является половиной высоты единицы преобразования текущего уровня, и
когда одна или более единиц преобразования, которые содержат единицу преобразования текущего уровня, получены из единицы кодирования, информация разбиения указывает на неразбиение.
8. Долговременный машиночитаемый носитель данных, имеющий машиночитаемые коды, которые при исполнении процессором кодера побуждают кодер выполнять способ кодирования изображения, причем способ содержит:
формирование информации разбиения для того, чтобы определить по меньшей мере одну единицу кодирования;
формирование информации индекса преобразования, указывающей на разбиение единицы преобразования текущего уровня, когда единица преобразования текущего уровня, включенная в единицу кодирования из множества из по меньшей мере одной единицы кодирования, разбивается на квадратные единицы преобразования более низкого уровня; и
формирование информации о структуре единицы преобразования текущего уровня и информации индекса преобразования, указывающей на неразбиение единицы преобразования текущего уровня, когда единица преобразования текущего уровня не разбивается на единицы преобразования более низкого уровня; при этом
информация о структуре указывает, содержит ли единица преобразования текущего уровня один или более коэффициентов преобразования, не равных 0,
высота каждой квадратной единицы преобразования более низкого уровня является половиной высоты единицы преобразования текущего уровня, и
когда одна или более единиц преобразования, которые содержат единицу преобразования текущего уровня, получены из единицы кодирования, информация разбиения указывает на неразбиение.
9. Способ кодирования кодированного видео, содержащий:
формирование информации разбиения для того, чтобы определить по меньшей мере одну единицу кодирования;
формирование информации индекса преобразования, указывающей на разбиение единицы преобразования текущего уровня, когда единица преобразования текущего уровня, включенная в единицу кодирования из множества из по меньшей мере одной единицы кодирования, разбивается на квадратные единицы преобразования более низкого уровня; и
формирование информации о структуре единицы преобразования текущего уровня и информации индекса преобразования, указывающей на неразбиение единицы преобразования текущего уровня, когда единица преобразования текущего уровня не разбивается на единицы преобразования более низкого уровня; при этом
информация о структуре указывает, содержит ли единица преобразования текущего уровня один или более коэффициентов преобразования, не равных 0, и
когда одна или более единиц преобразования, которые содержат единицу преобразования текущего уровня, получены из единицы кодирования, информация разбиения указывает на неразбиение.
10. Долговременный машиночитаемый носитель данных, имеющий машиночитаемые коды, которые при исполнении процессором кодера побуждают кодер выполнять способ кодирования изображения, причем способ содержит:
формирование информации разбиения для того, чтобы определить по меньшей мере одну единицу кодирования;
формирование информации индекса преобразования, указывающей на разбиение единицы преобразования текущего уровня, когда единица преобразования текущего уровня, включенная в единицу кодирования из множества из по меньшей мере одной единицы кодирования, разбивается на квадратные единицы преобразования более низкого уровня; и
формирование информации о структуре единицы преобразования текущего уровня и информации индекса преобразования, указывающей на неразбиение единицы преобразования текущего уровня, когда единица преобразования текущего уровня не разбивается на единицы преобразования более низкого уровня; при этом
информация о структуре указывает, содержит ли единица преобразования текущего уровня один или более коэффициентов преобразования, не равных 0, и
когда одна или более единиц преобразования, которые содержат единицу преобразования текущего уровня, получены из единицы кодирования, информация разбиения указывает на неразбиение.
СПОСОБ КОДИРОВАНИЯ ВИДЕОСИГНАЛОВ И УСТРОЙСТВО, ПОДДЕРЖИВАЮЩЕЕ БЫСТРЫЙ АЛГОРИТМ ТОЧНОЙ МАСШТАБИРУЕМОСТИ ПО КАЧЕСТВУ | 2006 |
|
RU2340115C1 |
СПОСОБ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ ВИДЕОСИГНАЛА С ИСПОЛЬЗОВАНИЕМ ВЗВЕШЕННОГО ПРЕДСКАЗАНИЯ И УСТРОЙСТВО ДЛЯ ЕГО ОСУЩЕСТВЛЕНИЯ | 2006 |
|
RU2341035C1 |
EP 1490975 B1, 12.08.2009 | |||
Пломбировальные щипцы | 1923 |
|
SU2006A1 |
Пресс для выдавливания из деревянных дисков заготовок для ниточных катушек | 1923 |
|
SU2007A1 |
Авторы
Даты
2018-08-28—Публикация
2018-01-15—Подача