СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ ВИДЕО ДЛЯ КОДИРОВАНИЯ СИМВОЛОВ С ИЕРАРХИЧЕСКОЙ СТРУКТУРОЙ, СПОСОБ И УСТРОЙСТВО ДЕКОДИРОВАНИЯ ВИДЕО ДЛЯ ДЕКОДИРОВАНИЯ СИМВОЛОВ С ИЕРАРХИЧЕСКОЙ СТРУКТУРОЙ
VIDEO ENCODING METHOD AND DEVICE FOR ENCODING HIERARCHICAL-STRUCTURE SYMBOLS, VIDEO DECODING METHOD AND DEVICE FOR DECODING HIERARCHICAL-STRUCTURE SYMBOLS

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к кодированию символа видеокодека.
УРОВЕНЬ ТЕХНИКИ
По мере разработки и поставки аппаратного обеспечения для воспроизведения и хранения видеоконтента высокого разрешения или высокого качества увеличивается потребность в видеокодеке для эффективного кодирования или декодирования видеоконтента высокого разрешения или высокого качества. В обыкновенном видеокодеке видео кодируется согласно способу кодирования с ограничением на основе макроблока, имеющего предварительно определенный размер. Также, согласно обыкновенному видеокодеку информация кодирования, требуемая для декодирования видео, кодируется и пересылается.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
ТЕХНИЧЕСКАЯ ПРОБЛЕМА
Настоящее изобретение предоставляет кодирование и декодирование видео, в котором символы, имеющие иерархическую структуру, которые определяются по отношению к блокам данных, имеющим иерархическую структуру, кодируются и декодируются.
ТЕХНИЧЕСКОЕ РЕШЕНИЕ
Согласно аспекту настоящего изобретения предоставляется способ кодирования видео для кодирования символов, имеющих иерархическую структуру, причем способ кодирования видео, включающий в себя: кодирование картинки видео на основе блоков данных, имеющих иерархическую структуру; определение символов кодированной картинки на основе блоков данных, имеющих иерархическую структуру; определение способа кодирования символов на основе характеристик символов, которые определяются на основе блоков данных, имеющих иерархическую структуру; и кодирование и вывод символов согласно определенному способу кодирования.
ПОЛЕЗНЫЕ ЭФФЕКТЫ
Символы эффективно кодируются, так как подходящий способ кодирования символов определяется согласно характеристикам символов для символов кодирования, имеющих древовидную структуру, причем символы кодирования, определенные во время процесса кодирования блоков кодирования, имеющих древовидную структуру, и блоков преобразования, имеющих древовидную структуру. Также, символы могут быть эффективно декодированы, даже когда приняты только некоторые символы кодирования, имеющие древовидную структуру, символы кодирования, определенные во время процессов кодирования блоков кодирования, имеющих древовидную структуру, и блоков преобразования, имеющих древовидную структуру, так как остающиеся символы могут быть восстановлены согласно способу декодирования символов.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
На Фиг. 1 показана блок-схема устройства кодирования видео для кодирования символов, имеющих древовидную структуру, согласно варианту осуществления настоящего изобретения;
на Фиг. 2 показана блок-схема устройства декодирования видео для декодирования символов, имеющих древовидную структуру, согласно варианту осуществления настоящего изобретения;
на Фиг. 3 проиллюстрированы блоки преобразования, имеющие иерархическую структуру, и соответствующая информация разделения блоков преобразования, имеющая древовидную структуру, согласно варианту осуществления настоящего изобретения;
на каждом из Фиг. 4 и 5 проиллюстрирован иерархический режим кодирования символов и символы, кодированные таким образом, согласно вариантам осуществления настоящего изобретения;
на каждом из Фиг. 6 и 7 проиллюстрирован пример выбора одного из иерархического режима кодирования символов и режима кодирования низшего уровня согласно вариантам осуществления настоящего изобретения;
на Фиг. 8 проиллюстрирован пример выбора одного из иерархического режима кодирования символов и режима кодирования низшего уровня, на основе характеристик кодирования, согласно варианту осуществления настоящего изобретения;
на Фиг. 9 показана диаграмма символов, кодированных согласно режиму группового кодирования однородных символов, согласно варианту осуществления настоящего изобретения;
на Фиг. 10 проиллюстрирован пример выбора режима группового кодирования разнородных символов согласно варианту осуществления настоящего изобретения;
на Фиг. 11 показана диаграмма символов, кодированных согласно режиму кодирования с обращением символов, согласно варианту осуществления настоящего изобретения;
на Фиг. 12 показана диаграмма для описания процессов кодирования и декодирования символов, согласно режиму кодирования с обращением символов, согласно варианту осуществления настоящего изобретения;
на Фиг. 13 показана схема последовательности операций, иллюстрирующая способ кодирования видео для кодирования символов, имеющих древовидную структуру, согласно варианту осуществления настоящего изобретения;
на Фиг. 14 показана схема последовательности операций, иллюстрирующая способ декодирования видео для декодирования символов, имеющих древовидную структуру, согласно варианту осуществления настоящего изобретения;
на Фиг. 15 показана диаграмма для описания концепции блоков кодирования согласно варианту осуществления настоящего изобретения;
на Фиг. 16 показана блок-схема кодера изображения на основе блоков кодирования согласно варианту осуществления настоящего изобретения;
на Фиг. 17 показана блок-схема декодера изображения на основе блоков кодирования согласно варианту осуществления настоящего изобретения;
на Фиг. 18 показана диаграмма, иллюстрирующая более глубокие блоки кодирования согласно глубинам, и ячейки согласно варианту осуществления настоящего изобретения;
на Фиг. 19 показана диаграмма для описания взаимосвязи между блоком кодирования и блоками преобразования согласно варианту осуществления настоящего изобретения;
на Фиг. 20 показана диаграмма для описания информации кодирования блоков кодирования, в соответствии с кодируемой глубиной, согласно варианту осуществления настоящего изобретения;
на Фиг. 21 показана диаграмма более глубоких блоков кодирования согласно глубинам, согласно варианту осуществления настоящего изобретения;
на Фиг. 22 -24 показаны диаграммы для описания взаимосвязи между блоками кодирования, блоками предсказания и блоками преобразования согласно варианту осуществления настоящего изобретения;
на Фиг. 25 показана диаграмма для описания взаимосвязи между блоком кодирования, блоком предсказания или ячейкой и блоком преобразования согласно информации режима кодирования Таблицы 0;
на Фиг. 26 показана схема последовательности операций, иллюстрирующая способ кодирования видео, в котором кодируются символы, имеющие древовидную структуру, на основе блоков кодирования, и блоки преобразования, имеющие древовидную структуру, согласно варианту осуществления настоящего изобретения;
на Фиг. 27 показана схема последовательности операций, иллюстрирующая способ декодирования видео, в котором декодируются символы, имеющие древовидную структуру, на основе блоков кодирования, и блоки преобразования, имеющие древовидную структуру, согласно варианту осуществления настоящего изобретения.
НАИЛУЧШИЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
Согласно аспекту настоящего изобретения предложен способ кодирования видео для кодирования символов, имеющих иерархическую структуру, причем способ кодирования видео включает в себя кодирование картинки видео на основе блоков данных, имеющих иерархическую структуру; определение символов кодированной картинки на основе блоков данных, имеющих иерархическую структуру; определение способа кодирования символов на основе характеристик символов, которые определяются на основе блоков данных, имеющих иерархическую структуру; и кодирование и вывод символов согласно определенному способу кодирования.
Определение способа кодирования может включать в себя выборочное определение способа кодирования символов по отношению к блокам данных, имеющим иерархическую структуру, из режима иерархического кодирования символов, в котором определенные символы кодируются согласно блокам данных, имеющим иерархическую структуру, и режима кодирования низшего уровня, в котором кодируются символы блоков данных на низшем уровне из блоков данных, имеющих иерархическую структуру, на основе характеристик кодирования блоков данных, используемых для кодирования символов.
Выборочное определение способа кодирования может включать в себя выборочное определение способа кодирования символов из режима группового кодирования однородных символов, в котором однородные символы, определенные согласно блокам данных, имеющим иерархическую структуру, группируются и кодируются на основе корреляции между значениями символов однородных символов, и режима индивидуального кодирования однородных символов, в котором однородные символы кодируются индивидуально, на основе характеристик кодирования блоков данных, используемых для кодирования символов по отношению к блокам данных.
Определение способа кодирования может включать в себя выборочное определение способа кодирования символов из режима группового кодирования разнородных символов, в котором разнородные символы, определенные согласно блокам данных, имеющим иерархическую структуру, группируются и кодируются на основе корреляции разнородных символов, и режима индивидуального кодирования разнородных символов, в котором разнородные символы кодируются индивидуально.
Определение способа кодирования может включать в себя выборочное определение способа кодирования символов из режима кодирования с обращением символов, в котором значения символов для символов блоков данных на низшем уровне обращаются и кодируются, и режима кодирования без обращения, в котором значения символов для символов блоков данных на низшем уровне кодируются без обращения, на основе соотношения значений символов, которые равны 0, из значений символов блоков данных, имеющих иерархическую структуру.
Согласно другому аспекту настоящего изобретения предложен способ декодирования видео для декодирования символов, имеющих иерархическую структуру, причем способ декодирования видео включает в себя прием битового потока, включающего в себя кодированную картинку видео; извлечение кодированной картинки и символов, определенных на основе блоков данных, имеющих иерархическую структуру, из битового потока посредством синтаксического анализа битового потока; и декодирование кодированной картинки посредством использования символов после определения способа декодирования символов на основе характеристик символов, определенных на основе блоков данных, имеющих иерархическую структуру, и декодирование символов согласно способу декодирования.
Декодирование может включать в себя выборочное определение способа декодирования из режима группового декодирования однородных символов, в котором однородные символы, определенные согласно блокам данных, имеющим иерархическую структуру, группируются и кодируются на основе корреляции между значениями символов однородных символов, и режима индивидуального декодирования однородных символов, в котором однородные символы кодируются индивидуально, на основе характеристик кодирования блоков данных, используемых для декодирования символов по отношению к блокам данных.
Декодирование может включать в себя выборочное определение способа декодирования из режима группового декодирования разнородных символов, в котором разнородные символы, определенные согласно блокам данных, имеющим иерархическую структуру, группируются и декодируются, и режима индивидуального декодирования разнородных символов, в котором разнородные символы декодируются индивидуально, на основе корреляции разнородных символов.
Декодирование может включать в себя выборочное определение способа декодирования символов из режима декодирования с обращением символов, в котором значения символов для символов блоков данных на низшем уровне обращаются и декодируются, и режима декодирования без обращения, в котором значения символов для символов блоков данных на низшем уровне декодируются без обращения, на основе соотношения значений символов, которые равны 0, из значений символов блоков данных, имеющих иерархическую структуру.
Согласно другому аспекту настоящего изобретения предложено устройство кодирования видео для кодирования символов, имеющих иерархическую структуру, причем устройство кодирования видео включает в себя иерархический кодер картинки для кодирования картинки видео на основе блоков данных, имеющих иерархическую структуру; и иерархический кодер символов для определения символов кодированной картинки на основе блоков данных, имеющих иерархическую структуру, определения способа кодирования символов на основе характеристик символов, которые определяются на основе блоков данных, имеющих иерархическую структуру, и кодирования и вывода символов согласно определенному способу кодирования.
Согласно другому аспекту настоящего изобретения предложено устройство декодирования видео для декодирования символов, имеющих иерархическую структуру, причем устройство декодирования видео включает в себя иерархическое устройство извлечения символов и данных для приема битового потока, включающего в себя кодированную картинку видео, и извлечение кодированной картинки и символов, определенных на основе блоков данных, имеющих иерархическую структуру, из битового потока посредством синтаксического анализа битового потока; и иерархический декодер картинки для декодирования кодированной картинки посредством использования символов после определения способа декодирования символов на основе характеристик символов, определенных на основе блоков данных, имеющих иерархическую структуру, и декодирование символов согласно способу декодирования.
Согласно другому аспекту настоящего изобретения предложен считываемый компьютером носитель записи, имеющий записанную на нем программу для исполнения способа кодирования видео. Согласно другому аспекту настоящего изобретения предложен считываемый компьютером носитель записи, имеющий записанную на нем программу для исполнения способа декодирования видео.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
В дальнейшем в этом документе, 'изображение', используемое в различных вариантах осуществления настоящего изобретения, может не только обозначать неподвижное изображение, но может также обозначать подвижное изображение, такое как видео.
Когда различные операции выполняются над данными, относящимися к изображению, данные, относящиеся к изображению, могут быть поделены на группы данных, и та же операция может быть выполнена над данными, включенными в ту же группу данных. В дальнейшем в этом документе, группа данных, образованная согласно заранее определенному стандарту, называется как 'блок данных'. Также, операция, выполняемая согласно 'блокам данных', выполняется посредством использования данных, включенных в соответствующий блок данных.
В дальнейшем в этом документе, кодирование и декодирование видео, в которых символы, имеющие иерархическую структуру, кодируются и декодируются согласно вариантам осуществления настоящего изобретения, будут описаны со ссылкой на Фиг. 1-14. Затем, кодирование и декодирование видео, в которых символы, имеющие древовидную структуру, кодируются и декодируются на основе блоков кодирования, имеющих древовидную структуру, и блоков преобразования, имеющих древовидную структуру, согласно вариантам осуществления настоящего изобретения, описаны со ссылкой на Фиг. 15-27.
Устройство кодирования видео и способ кодирования видео для кодирования символов, имеющих иерархическую структуру, и устройство декодирования видео и способ декодирования видео для декодирования символов, имеющих иерархическую структуру, согласно вариантам осуществления настоящего изобретения, описаны со ссылкой на Фиг. 1-14.
На Фиг. 1 показана блок-схема устройства 100 кодирования видео для кодирования символов, имеющих древовидную структуру, согласно варианту осуществления настоящего изобретения.
Устройство 100 кодирования видео включает в себя иерархический кодер 120 картинки и иерархический кодер 130 символов. Операции иерархического кодера 120 картинки и иерархического кодера 130 символов устройства 100 кодирования видео могут быть совместно управляемыми процессором кодирования видео, центральным процессором и графическим процессором.
Устройство 100 кодирования видео может выполнять кодирование согласно блокам данных посредством разделения текущей картинки на блоки данных, имеющие предварительно определенный размер, для того, чтобы кодировать текущую картинку во входное видео.
Например, текущая картинка включает в себя пиксели в пространственной области. Для того чтобы кодировать пространственно примыкающие пиксели в текущей картинке вместе, текущая картинка может быть разделена на группы пикселей, имеющие предварительно определенный размер, так чтобы примыкающие пиксели в пределах предварительно определенного диапазона образовывали одну группу пикселей. Затем, кодирование может быть выполнено на текущей картинке посредством серии операций кодирования, выполняемых над пикселями в группе пикселей, имеющей предварительно определенный размер.
Так как первоначальные данные, которые подлежат кодированию в картинке, являются значением пикселя в пространственной области, каждая из групп пикселей, имеющая предварительно определенный размер, может быть использована в качестве блока данных, который подлежат кодированию. Также, коэффициенты преобразования в области преобразования генерируются посредством выполнения преобразования для кодирования видео над значениями пикселей из групп пикселей в пространственной области, при этом коэффициенты преобразования также обеспечивают группы коэффициентов, имеющие такой же размер, как группы пикселей в пространственной области. Следовательно, группы коэффициентов из коэффициентов преобразования могут также быть использованы в качестве блоков данных для кодирования текущей картинки.
Следовательно, по всей пространственной области и области преобразования, группы данных, имеющие предварительно определенный размер, могут быть использованы в качестве блоков данных. Здесь, размер блока данных может быть задан числом частей данных, включенных в блок данных. Например, число пикселей в пространственной области или число коэффициентов преобразования в области преобразования может указывать размер блока данных.
Способ кодирования или характеристики кодирования текущего блока данных могут быть определены согласно блокам данных на любом из уровней данных из блока данных, слайса (среза), картинки и последовательности картинок, которые подлежат кодированию в текущий момент в видео.
Устройство 100 кодирования видео может выполнять кодирование на текущей картинке посредством выполнения кодирования с предсказанием, включающим в себя внешнее предсказание и внутреннее предсказание, преобразование, квантование и энтропийное кодирование согласно зонам.
Иерархический кодер 120 картинки кодирует картинку из видео на основе блоков данных, имеющих иерархическую структуру. Для того чтобы кодировать предварительно определенную зону, блоки данных в предварительно определенной зоне могут быть разделены от блоков данных на верхнем уровне до блоков данных на нижнем уровне, так чтобы блоки данных на одном или более уровнях образовывали иерархическую структуру. Иерархический кодер 120 картинки может кодировать картинку на основе блоков данных, имеющих различные размеры согласно иерархической структуре.
Иерархический кодер 130 символов определяет символы кодированной картинки, выведенной из иерархического кодера 120 картинки, на основе блоков данных, имеющих иерархическую структуру. Иерархический кодер 130 символов может определять способ кодирования символов на основе характеристик символов, определенных на основе блоков данных, имеющих иерархическую структуру. Следовательно, иерархический кодер 130 символов может кодировать и выводить символы согласно определенному способу кодирования. Иерархический кодер 130 символов может выводить коды символов, назначенные символам, имеющим иерархическую структуру, согласно определенному способу кодирования.
Иерархический кодер 130 символов может определять символы кодированной картинки согласно блокам данных, имеющим иерархическую структуру. Символ может включать в себя информацию кодирования, указывающую режим кодирования и способ кодирования, определенный и используемый во время кодирования картинки. Например, информация кодирования, заданная во время процесса кодирования видео, такая как информация внутреннего и внешнего предсказания, информация о структуре блока данных, которая является основой кодирования данных, или информация шаблона кодирования может быть включена в символ.
Так как символы определяются согласно блокам данных, имеющим иерархическую структуру, иерархический кодер 130 символов может также определять символы в иерархической структуре. Шаблон с высокой корреляцией может быть сгенерирован между однородными символами блока данных на предварительно определенном уровне из символов, определенных согласно иерархической структуре, посредством иерархического кодера 130 символов. Также, шаблон с высокой корреляцией может быть найден между разнородными символами, определенными согласно иерархической структуре, посредством иерархического кодера 130 символов. Также, предварительно определенный шаблон может быть найден на всех уровнях, определенных согласно иерархической структуре, посредством иерархического кодера 130 символов.
Иерархический кодер 130 символов может определять способ кодирования символов, учитывая такие характеристики символов согласно иерархической структуре символов.
Например, иерархический кодер 130 символов может определять, все ли из символов, определенных согласно блокам данных, имеющим иерархическую структуру, подлежат определению согласно иерархической структуре.
Например, иерархический кодер 130 символов может определять, группировать ли и кодировать однородные символы на основе корреляции между значениями символов однородных символов, определенных согласно блокам данных, имеющим иерархическую структуру.
Например, иерархический кодер 130 символов может определять, группировать ли и кодировать разнородные символы на основе корреляции между разнородными символами, определенными согласно блокам данных, имеющим иерархическую структуру.
Например, иерархический кодер 130 символов может определять, обращать ли и кодировать значения символов по отношению к блокам данных на предварительно определенном уровне, на основе соотношения предварительно определенного значения символа в блоках данных, имеющих иерархическую структуру.
Например, иерархический кодер 130 символов может выборочно определять способ кодирования символов из режима иерархического кодирования символов, в котором символы, определенные согласно блокам данных, имеющим иерархическую структуру, все кодируются согласно блокам данных, имеющим иерархическую структуру, и режима кодирования низшего уровня, в котором кодируются символы блоков данных на низшем уровне (например, концевой узел в символах, имеющих древовидную структуру), из блоков данных, имеющих иерархическую структуру.
Когда символы кодируются согласно режиму иерархического кодирования символов, иерархический кодер 130 символов может кодировать и выводить символы, определенные согласно блокам данных, имеющим иерархическую структуру, согласно блокам данных, имеющим иерархическую структуру. С другой стороны, когда символы кодируются согласно режиму кодирования низшего уровня, иерархический кодер 130 символов может кодировать и выводить только символы блоков данных на предварительно определенном уровне из блоков данных, имеющих иерархическую структуру.
Иерархический кодер 130 символов может определять способ кодирования символов из режима иерархического кодирования символов и режима кодирования низшего уровня на основе характеристик кодирования блоков данных символов. Здесь, кодирование характеристик, учитываемых для определения способа кодирования символов, может включать в себя по меньшей мере один из режима предсказания и цветовой составляющей блоков данных символов.
В качестве альтернативы, иерархический кодер 130 символов может выборочно определять способ кодирования символов из режима группового кодирования однородных символов, в котором однородные символы группируются и кодируются, и режима индивидуального кодирования однородных символов, в котором однородные символы кодируются индивидуально, на основе корреляции значений символов однородных символов, определенных согласно блокам данных, имеющим иерархическую структуру.
Здесь, корреляция значений символов однородных символов, учитываемых для определения способа кодирования символов, может включать в себя форму и частоту шаблонов, образованных между значениями символов.
Когда символы кодируются согласно режиму группового кодирования однородных символов, иерархический кодер 130 символов может определять таблицу кодов символов, включающую в себя коды символов, назначенные согласно шаблонам значений символов. Таблица кодов символов может включать в себя коды символов, назначенные согласно шаблонам на основе частот шаблонов.
Иерархический кодер 130 символов может выводить коды символов однородных символов блоков данных на основе таблицы кодов символов и шаблонов однородных символов. Другими словами, коды символов, назначенные шаблонам значений символов однородных символов, могут быть выведены на основе таблицы кодов символов.
Иерархический кодер 130 символов может определять, кодировать ли по меньшей мере один из символов, из информации режима пропуска, информации разделения блока данных для кодирования, информации разделения блока данных для преобразования и информации шаблона кодирования, согласно режиму группового кодирования однородных символов.
Другими словами, иерархический кодер 130 символов может определять, кодировать ли символы согласно режиму группового кодирования однородных символов, на основе корреляции между значениями символов информации режима пропуска.
Иерархический кодер 130 символов может определять, кодировать ли символы согласно режиму группового кодирования однородных символов, на основе корреляции между значениями символов информации разделения блоков кодирования.
Иерархический кодер 130 символов может определять, кодировать ли символы согласно режиму группового кодирования однородных символов, на основе корреляции между значениями символов информации разделения блоков преобразования.
Иерархический кодер 130 символов может определять, кодировать ли символы согласно режиму группового кодирования однородных символов, на основе корреляции между значениями символов информации шаблона кодирования блоков преобразования.
Когда символы кодируются согласно режиму индивидуального кодирования однородных символов, иерархический кодер 130 символов может индивидуально кодировать однородные символы блоков данных, имеющих иерархическую структуру, независимо от корреляции между значениями символов однородных символов.
Иерархический кодер 130 символов может определять способ кодирования символов из режима группового кодирования однородных символов и режима независимого кодирования, на основе характеристик кодирования блоков данных символов. Например, иерархический кодер 130 символов может выборочно определять способ кодирования символов на основе характеристик кодирования блоков данных, включающих в себя по меньшей мере одно из информации режима предсказания, типа слайса и цветовой составляющей блоков данных символов, уровня разделения блока данных для кодирования и уровня разделения блока данных для преобразования.
Уровень разделения блока данных для кодирования указывает число раз разделения от максимального блока кодирования до текущего блока кодирования и может быть назван как кодируемая глубина. Уровень разделения данных для преобразования указывает число раз разделения от максимального блока преобразования до текущего блока преобразования и может быть назван как глубина преобразования.
В качестве альтернативы, иерархический кодер 130 символов может выборочно определять способ кодирования символов из режима группового кодирования разнородных символов, в котором разнородные символы группируются и кодируются, и режима индивидуального кодирования разнородных символов, в котором разнородные символы кодируются индивидуально, на основе корреляции разнородных символов, определенных согласно блокам данных, имеющим иерархическую структуру.
Во время процесса кодирования на основе блоков данных, имеющих иерархическую структуру, способ кодирования символов из режима группового кодирования разнородных символов и режима индивидуального кодирования разнородных символов может быть выборочно определен на основе корреляции разнородных символов, включающей в себя по меньшей мере одно из корреляции функций, указанных разнородными символами, зависимое кодирование между разнородными символами и последовательное кодирование между разнородными символами.
Например, когда символы кодируются согласно режиму группового кодирования разнородных символов, иерархический кодер 130 символов может определять контекст, совместно используемый разнородными символами на основе корреляции функций, указанных разнородными символами. Иерархический кодер 130 символов может кодировать и выводить каждый из разнородных символов на основе совместно используемого контекста.
Например, когда символы кодируются согласно режиму группового кодирования разнородных символов, иерархический кодер 130 символов может назначать коды символов комбинациям значений символов разнородных символов, на основе распределения вероятностей комбинаций значений символов, сгенерированных между разнородными символами, которые определяются взаимозависимо. Иерархический кодер 130 символов может выводить коды символов, назначенные по отношению к комбинациям значений символов разнородных символов.
Например, когда символы кодируются согласно режиму группового кодирования разнородных символов, иерархический кодер 130 символов может назначать коды символов комбинациям значений символов разнородных символов, сгенерированных между разнородными символами, которые определяются последовательно. Иерархический кодер 130 символов может выводить коды символов, назначенные по отношению к комбинациям значений символов разнородных символов.
Например, иерархический кодер 130 символов может определять, кодировать ли комбинацию информации разделения блоков кодирования и информации разделения блоков преобразования согласно режиму разнородного группового кодирования, на основе корреляции между информацией разделения блоков кодирования и информацией разделения блоков преобразования.
Например, иерархический кодер 130 символов может определять, кодировать ли комбинацию информации разделения блоков преобразования и информации шаблона кодирования согласно режиму разнородного группового кодирования, на основе корреляции между информацией разделения блока преобразования и информацией шаблона кодирования.
Например, иерархический кодер 130 символов может определять, кодировать ли комбинацию информации режима предсказания и информации способа предсказания согласно режиму разнородного группового кодирования, на основе корреляции между информацией режима предсказания и информацией способа предсказания.
Например, иерархический кодер 130 символов может определять, кодировать ли комбинацию информации разделения блоков кодирования и информации пропуска согласно режиму разнородного группового кодирования, на основе корреляции между информацией разделения блоков кодирования и информацией пропуска.
Например, иерархический кодер 130 символов может определять, кодировать ли комбинацию информации шаблона кодирования согласно цветовым составляющим согласно режиму разнородного группового кодирования, на основе корреляции между информацией шаблона кодирования согласно двум или более цветовым составляющим. Информации шаблона кодирования согласно цветовым составляющим могут включать в себя информацию шаблона кодирования составляющей яркости, информацию шаблона кодирования составляющей цветности, информацию шаблона кодирования первой составляющей цветности и информацию шаблона кодирования второй составляющей цветности. Например, иерархический кодер 130 символов может определять, кодировать ли комбинацию информации шаблона кодирования составляющей яркости и информации шаблона кодирования составляющей цветности или комбинацию любой из информации шаблона кодирования составляющей яркости, информации шаблона кодирования первой составляющей цветности и информации шаблона кодирования второй составляющей цветности согласно режиму группового кодирования разнородных символов.
Например, иерархический кодер 130 символов может определять, кодировать ли комбинацию информации шаблона кодирования согласно цветовым составляющим информации разделения блоков кодирования и блоков преобразования согласно режиму разнородного группового кодирования, на основе корреляции между информацией шаблона кодирования согласно двум или более цветовым составляющим и информации разделения блоков преобразования. Например, иерархический кодер 130 символов может определять, кодировать ли комбинацию информации шаблона кодирования составляющей яркости, информации шаблона кодирования первой составляющей цветности и информации шаблона кодирования второй составляющей цветности и информации разделения блоков преобразования согласно режиму группового кодирования разнородных символов.
Когда символы кодируются согласно режиму индивидуального кодирования разнородных символов, иерархический кодер 130 символов может индивидуально кодировать разнородные символы блоков данных, имеющих иерархическую структуру, независимо от корреляции между разнородными символами.
В качестве альтернативы, иерархический кодер 130 символов может выборочно определять способ кодирования символов из режима кодирования с обращением символов, в котором значения символов для символов блоков данных на низшем уровне обращаются и кодируются, и режима кодирования без обращения, в котором значения символов для символов блоков данных кодируются без обращения, на основе соотношения значений символов, которые равны 0, из значений символов блоков данных, имеющих иерархическую структуру.
Например, когда символы кодируются согласно режиму кодирования с обращением символов, иерархический кодер 130 символов может обращать и кодировать значения символов блоков данных на низшем уровне, если соотношение значений символов, которые равны 0, ниже, чем соотношение значений символов, которые являются 1 в значениях символов. Аналогично, когда распределение символов для значений символов является плотным, иерархический кодер 130 символов может обращать и кодировать значения символов блоков данных на низшем уровне.
Когда символы кодируются согласно режиму кодирования без обращения, иерархический кодер 130 символов может кодировать символы без обращения значений символов, независимо от соотношения значений символов, которые равны 0, в значениях символов.
Иерархический кодер 130 символов может выборочно определять способ кодирования символов из режима кодирования с обращением символов и режима кодирования без обращения на основе характеристик кодирования блоков данных, включающих в себя по меньшей мере одно из информации режима предсказания блоков данных символов, типа слайса, цветовой составляющей, кодируемой глубины и глубины преобразования.
Иерархический кодер 130 символов может определять способ кодирования символов согласно каждой секции данных из слайса видео, картинки, последовательности и максимального блока кодирования. Устройство 100 кодирования видео может кодировать и выводить информацию способа кодирования символов, указывающую способ кодирования символов согласно каждой секции данных.
Устройство 100 кодирования видео может выводить битовый поток, включающий в себя картинку, кодированную с помощью символов, кодированных иерархическим кодером 130 символов.
Блоки данных, имеющие иерархическую структуру, которая является основой кодирования для устройства 100 кодирования видео, могут включать в себя блоки кодирования, имеющие древовидную структуру, блоки преобразования, имеющие древовидную структуру, и блоки предсказания и ячейки блоков кодирования, имеющие древовидную структуру. Следовательно, иерархический кодер 120 картинки может определять блоки кодирования, имеющие древовидную структуру, блоки преобразования, имеющие древовидную структуру, и блоки предсказания и ячейки блоков кодирования, имеющие древовидную структуру.
Иерархический кодер 120 картинки может разделять картинку на по меньшей мере один максимальный блок кодирования и определять блоки кодирования, имеющие кодируемую глубину для вывода в качестве результата кодирования, из более глубоких блоков кодирования, имеющих иерархическую структуру, согласно глубинам, указывающим число раз, на которое максимальный блок кодирования пространственно разделен, согласно максимальному блоку кодирования. Блоки кодирования, имеющие древовидную структуру, могут включать в себя блоки кодирования, имеющие кодируемую глубину для генерирования результата кодирования, который следует в итоге вывести. Также, для того чтобы определить блоки кодирования, имеющие кодированные глубины, блоки предсказания и ячейки, которые являются блоками данных для кодирования с предсказанием, могут быть определены, блоки преобразования, имеющие древовидную структуру, которые являются блоками данных для преобразования, могут быть определены.
Иерархический кодер 120 картинки может определять блоки кодирования, имеющие кодированные глубины согласно более глубоким блокам кодирования, независимо от примыкающих более глубоких блоков кодирования, из более глубоких блоков кодирования. Блоки кодирования, имеющие древовидную структуру, могут включать в себя блоки кодирования, имеющие кодируемые глубины, которые являются иерархическими в той же зоне и являются независимыми в разных зонах, в максимальном блоке кодирования.
В этом случае, иерархический кодер 130 символов может кодировать и выводить картинку, кодированную на основе блоков кодирования, имеющих древовидную структуру, и символов, указывающих информацию о кодируемых глубинах и режимах кодирования блоков кодирования, имеющих древовидную структуру, согласно по меньшей мере одному максимальному блоку кодирования.
Способы определения блоков кодирования, имеющих древовидную структуру, блоков преобразования, имеющих древовидную структуру, и блоков предсказания и ячеек будут описаны позднее со ссылкой на Фиг. 15-27.
На Фиг. 2 показана блок-схема устройства 200 декодирования видео для декодирования символов с иерархической структурой, согласно варианту осуществления настоящего изобретения.
Устройство 200 декодирования видео включает в себя иерархическое устройство 220 извлечения символов и данных и иерархический декодер 230 картинки. Операции иерархического устройства 220 извлечения символов и данных и иерархического декодера 230 картинки устройства 200 декодирования видео может быть совместно управляемым процессором декодирования видео, графическим процессором или центральным процессором.
Для того чтобы воссоздать изображение из битового потока, устройство 200 декодирования видео может декодировать данные кодированной картинки битового потока посредством операций, таких как энтропийное декодирование, обратное квантование, обратное преобразование, внешняя компенсация и внутреннее предсказание.
Иерархическое устройство 220 извлечения символов и данных принимает и осуществляет синтаксический анализ битового потока о кодированном видео. Иерархическое устройство 220 извлечения символов и данных может извлекать кодированные данные согласно блокам данных, имеющим иерархическую структуру, по отношению к текущей картинке, из подвергнутого синтаксическому анализу битового потока.
Также, иерархическое устройство 220 извлечения символов и данных может извлекать символы, определенные в иерархической структуре, на основе блоков данных, имеющих иерархическую структуру, по отношению к текущей картинке, из битового потока. Иерархическое устройство 220 извлечения символов и данных может в качестве альтернативы извлекать коды символов, назначенные символам, определенным в иерархической структуре, из битового потока.
Иерархическое устройство 220 извлечения символов и данных может передавать кодированную картинку и извлеченные символы на иерархический декодер 230 картинки. Иерархический декодер 230 картинки может определять способ декодирования символов на основе характеристик символов, определенных на основе блоков данных, имеющих иерархическую структуру. Иерархический декодер 230 картинки может декодировать кодированную картинку посредством использования информации кодирования посредством декодирования символов согласно способу декодирования и считывания информации кодирования из символов.
Символы могут быть кодированы согласно способу кодирования символов, определенному на основе характеристик символов, назначенных блокам данных, имеющим иерархическую структуру. Иерархическое устройство 220 извлечения символов и данных может извлекать информацию способа кодирования символов согласно каждой секции данных из слайса видео, картинки, последовательности и максимального блока кодирования, из битового потока. В качестве альтернативы, информация способа кодирования символов может быть предварительно определена между устройством 100 кодирования видео и устройством 200 декодирования видео.
Иерархический декодер 230 картинки может определять способ декодирования символов, соответствующий способу кодирования символов, используемому для кодирования текущего символа, и считывать информацию, указанную текущим символом, посредством декодирования текущего символа, согласно способу декодирования символов, на основе информации способа кодирования символов или предварительно определенного способа кодирования. Когда коды символов приняты, иерархический декодер 230 картинки может считывать и декодировать символы из кодов символов согласно способу декодирования символов.
Например, иерархический декодер 230 картинки может определять, декодировать ли все из символов, определенных согласно блокам данных, имеющим иерархическую структуру, согласно иерархической структуре.
Например, иерархический декодер 230 картинки может определять, группировать ли и декодировать однородные символы на основе корреляции между значениями символов однородных символов, определенных согласно блокам данных, имеющим иерархическую структуру.
Например, иерархический декодер 230 картинки может определять, группировать ли и декодировать разнородные символы на основе корреляции между разнородными символами, определенными согласно блокам данных, имеющим иерархическую структуру.
Например, иерархический декодер 230 картинки может определять, обращать ли и декодировать значения символов блоков данных на предварительно определенном уровне, на основе соотношения предварительно определенного значения символа из блоков данных, имеющих иерархическую структуру.
Например, иерархический декодер 230 картинки может выборочно определять способ декодирования символов из режима иерархического декодирования символов, в котором символы, определенные согласно блокам данных, имеющим иерархическую структуру, декодируются согласно блокам данных, имеющим иерархическую структуру, и режима декодирования низшего уровня, в котором декодируются символы блоков данных на низшем уровне.
Когда символы декодируются согласно режиму иерархического декодирования символов, иерархический декодер 230 картинки может извлекать и считывать символы, определенные согласно блокам данных, имеющим иерархическую структуру, согласно соответствующим блокам данных, имеющим иерархическую структуру. Символы, кодированные на основе режима иерархического кодирования символов, могут быть декодированы на основе режима иерархического декодирования символов.
Когда символы декодируются согласно режиму декодирования низшего уровня, иерархический декодер 230 картинки может извлекать и считывать символы блоков данных на низшем уровне из блоков данных, имеющих иерархическую структуру. Здесь, иерархический декодер 230 картинки может считывать символы оставшихся блоков данных на основе считанных символов блоков данных на низшем уровне. Символы, кодированные на основе режима кодирования низшего уровня, могут быть декодированы на основе режима декодирования низшего уровня.
Иерархический декодер 230 картинки может определять способ декодирования символов из режима иерархического декодирования символов и режима декодирования низшего уровня на основе характеристик кодирования блоков данных, которые подлежат использованию для декодирования блоков данных символов. Например, способ декодирования символов может быть определен на основе характеристик кодирования, включающих в себя по меньшей мере одно из информации режима предсказания и цветовых составляющих блоков данных символов.
В качестве альтернативы, иерархический декодер 230 картинки может выборочно определять способ декодирования символов из режима группового декодирования однородных символов, в котором однородные символы группируются и декодируются, и режима индивидуального декодирования однородных символов, в котором однородные символы декодируются индивидуально. Символы, кодированные согласно режиму группового кодирования однородных символов, могут быть декодированы согласно режиму группового декодирования однородных символов. Символы, кодированные согласно режиму индивидуального кодирования однородных символов, могут быть декодированы согласно режиму индивидуального декодирования однородных символов.
Символы, декодированные согласно режиму группового декодирования однородных символов, могут иметь высокую корреляцию между значениями символов однородных символов, определенных согласно блокам данных, имеющим иерархическую структуру.
Когда корреляции между значениями символов однородных символов включает в себя формы и частоты шаблонов, образованных между значениями символов, иерархическое устройство 220 извлечения символов и данных может извлекать и передавать коды символов однородных символов из битового потока на иерархический декодер 230 картинки.
Когда символы декодируются согласно режиму группового декодирования однородных символов, иерархический декодер 230 картинки может получать таблицу кодов символов, включающую в себя коды символов, назначенные шаблонам, на основе частот шаблонов между значениями символов однородных символов. Таблица кодов символов может быть принята посредством битового потока или предварительно определена между устройством 100 кодирования видео и устройством 200 декодирования видео.
Иерархический декодер 230 картинки может считывать однородные символы и шаблоны значений символов однородных символов из кодов символов однородных символов, извлеченных по отношению к блокам данных, на основе таблицы кодов символов для декодирования символов согласно режиму группового декодирования однородных символов.
Иерархический декодер 230 картинки может декодировать однородные символы, имеющие иерархическую структуру, которые кодируются на основе режима индивидуального кодирования однородных символов, на основе режима индивидуального декодирования однородных символов. Когда символы декодируются согласно режиму индивидуального декодирования однородных символов, иерархический декодер 230 картинки может индивидуально декодировать однородные символы, имеющие иерархическую структуру, независимо от корреляции между однородными символами.
Типы символов, декодированных согласно режиму группового декодирования однородных символов, могут включать в себя по меньшей мере одно из информации режима пропуска, информации разделения блоков кодирования, информации разделения блоков преобразования и информации шаблона кодирования.
Иерархический декодер 230 картинки может определять, декодировать ли информацию режима пропуска согласно режиму группового декодирования однородных символов и декодировать ли информацию режима пропуска согласно определенному режиму декодирования, на основе кодов символов информации режима пропуска, извлеченной из битового потока.
Иерархический декодер 230 картинки может определять, декодировать ли информацию разделения блоков кодирования согласно режиму группового декодирования однородных символов и декодировать ли информацию разделения блоков кодирования согласно определенному режиму декодирования, на основе кодов символов информации разделения блоков кодирования, извлеченной из битового потока.
Иерархический декодер 230 картинки может определять, декодировать ли информацию разделения блоков преобразования согласно режиму группового декодирования однородных символов и декодировать ли информацию разделения блоков преобразования согласно определенному режиму декодирования, на основе кодов символов информации разделения блоков преобразования, извлеченной из битового потока.
Иерархический декодер 230 картинки может определять, декодировать ли информацию шаблона кодирования блоков преобразования согласно режиму группового декодирования однородных символов, и декодировать ли информацию шаблона кодирования блоков преобразования согласно определенному режиму декодирования, на основе кодов символов информации шаблона кодирования блоков преобразования, извлеченной из битового потока.
В качестве альтернативы, иерархический декодер 230 картинки может определять способ декодирования символов из режима группового декодирования однородных символов и режима индивидуального декодирования однородных символов, на основе характеристик кодирования блоков данных, которые подлежат использованию для декодирования блоков данных символов. Например, способ декодирования символов может быть выборочно определен на основе характеристик кодирования, включающих в себя по меньшей мере одно из информации режима предсказания блоков данных символов, типа слайса, цветовой составляющей, кодируемой глубины и глубины преобразования.
В качестве альтернативы, иерархический декодер 230 картинки может выборочно определять способ декодирования символов из режима группового декодирования разнородных символов, в котором разнородные символы, имеющие иерархическую структуру, группируются и декодируются, и режима индивидуального декодирования разнородных символов, в котором разнородные символы декодируются индивидуально. Следовательно, символы, кодированные на основе режима группового кодирования разнородных символов, могут быть декодированы на основе режима группового декодирования разнородных символов. Также, символы, кодированные на основе режима индивидуального кодирования разнородных символов, могут быть декодированы на основе режима индивидуального декодирования разнородных символов.
Здесь, высокая корреляция может быть сгенерирована между разнородными символами, имеющими иерархическую структуру, которые декодируются согласно режиму группового декодирования разнородных символов. Например, высокая корреляция может быть сгенерирована между декодированными разнородными символами посредством включения в себя по меньшей мере одной из корреляций функций, указанных разнородными символами, во время процесса декодирования на основе блоков данных, имеющих иерархическую структуру, зависимого декодирования между разнородными символами и последовательного декодирования между разнородными символами.
Когда символы декодируются согласно режиму группового декодирования разнородных символов, иерархический декодер 230 картинки может считать разнородные символы, извлеченные по отношению к блокам данных, на основе контекста, определенного в качестве совместно используемого, на основе корреляции функций, указанных разнородными символами. Здесь, совместно используемый контекст может быть предварительно определен между устройством 100 кодирования видео и устройством 200 декодирования видео.
Когда символы кодируются согласно режиму группового кодирования разнородных символов, коды символов могут быть предварительно назначены комбинациям значений символов разнородных символов, на основе распределения вероятностей комбинаций, сгенерированных между разнородными символами, которые определяются взаимозависимо. Здесь, иерархический декодер 230 картинки может декодировать символы посредством считывания кодов символов извлеченных символов согласно режиму группового декодирования разнородных символов. Иерархический декодер 230 картинки может считывать каждый из разнородных символов посредством считывания комбинаций значений символов разнородных символов из кодов символов разнородных символов, извлеченных из битового потока. Считанные разнородные символы являются информацией кодирования согласно блокам данных, имеющим иерархическую структуру, и могут быть взаимозависимо использованы во время декодирования блоков данных.
Когда символы кодируются согласно режиму группового кодирования разнородных символов, коды символов могут быть назначены комбинациям значений символов, сгенерированных между разнородными символами, которые определяются последовательно. Здесь, иерархический декодер 230 картинки может декодировать символы согласно режиму группового декодирования разнородных символов. Иерархический декодер 230 картинки может считывать каждый из разнородных символов посредством считывания комбинаций значений символов разнородных символов из кодов символов разнородных символов, извлеченных из битового потока. Считанные разнородные символы являются информацией кодирования согласно блокам данных, имеющим иерархическую структуру, и могут быть последовательно использованы во время декодирования блоков данных.
Когда символы декодируются согласно режиму индивидуального декодирования разнородных символов, иерархический декодер 230 картинки может считывать разнородные символы, извлеченные по отношению к блокам данных, имеющим иерархическую структуру, независимо от корреляции между разнородными символами.
Иерархический декодер 230 картинки может восстановить каждое из информации разделения блоков кодирования и информации разделения блоков преобразования посредством считывания комбинации информации разделения блоков кодирования и информации разделения блоков преобразования из извлеченных кодов символов, согласно режиму группового декодирования разнородных символов.
Иерархический декодер 230 картинки может восстановить каждое из информации разделения блоков преобразования и информации шаблона кодирования посредством считывания комбинации информации разделения блоков преобразования и информации шаблона кодирования из извлеченных кодов символов, согласно режиму группового декодирования разнородных символов.
Иерархический декодер 230 картинки может восстановить каждое из режима предсказания блока кодирования и информации способа предсказания посредством считывания комбинации режима предсказания и информации способа преобразования из извлеченных кодов символов, согласно режиму группового декодирования разнородных символов.
Иерархический декодер 230 картинки может восстановить каждое из информации разделения блоков кодирования и информации пропуска посредством считывания комбинации информации разделения блоков кодирования и информации пропуска из извлеченных кодов символов, согласно режиму группового декодирования разнородных символов.
Иерархический декодер 230 картинки может восстановить каждое из информации шаблона кодирования согласно двум или более цветовым составляющим посредством считывания комбинации информации шаблона кодирования согласно двум или более цветовым составляющим из извлеченных кодов символов, согласно режиму группового декодирования разнородных символов. Например, комбинация информации шаблона кодирования составляющей яркости и информации шаблона кодирования составляющей цветности может быть считана и восстановлена. Например, комбинация информации шаблона кодирования составляющей яркости, информация шаблона кодирования первой составляющей цветности и информация шаблона кодирования второй составляющей цветности может быть считана и восстановлена.
Иерархический декодер 230 картинки может восстановить каждое из информации шаблона кодирования согласно цветовым составляющим и информации разделения блоков преобразования посредством считывания комбинации информации шаблона кодирования согласно двум или более цветовым составляющим и информации разделения блоков преобразования из извлеченных кодов символов согласно режиму группового декодирования разнородных символов. Например, комбинация информации шаблона кодирования составляющей яркости, информации шаблона кодирования первой составляющей цветности, информации шаблона кодирования второй составляющей цветности и информации разделения блоков преобразования может быть считана для восстановления информации шаблона кодирования составляющей яркости, информации шаблона кодирования первой составляющей цветности, информации шаблона кодирования второй составляющей цветности и информации разделения блоков преобразования.
В качестве альтернативы, иерархический декодер 230 картинки может выборочно определять способ декодирования символов из режима декодирования с обращением символов, в котором значения символов для символов блоков данных на низшем уровне из блоков данных, имеющих иерархическую структуру, обращаются и декодируются, и режима кодирования без обращения, в котором значения символов для символов блоков данных декодируются без обращения.
Когда символы декодируются согласно режиму декодирования с обращением символов, иерархический декодер 230 картинки может обращать и декодировать значения символов для символов блоков данных на низшем уровне, извлеченных из символов блоков данных, имеющих иерархическую структуру. Также, иерархический декодер 230 картинки может декодировать символы блоков данных на верхнем уровне низшего уровня, чьи значения символов обращены, на основе обращенных значений символов. Символы, кодированные на основе режима кодирования с обращением символов, могут быть декодированы на основе режима декодирования с обращением символов. Символы, декодированные согласно способу декодирования с обращением символов могут характеризоваться соотношением значений символов, которые равны 0, в значениях символов блоков данных, имеющих иерархическую структуру.
Иерархический декодер 230 картинки может декодировать символы, имеющие иерархическую структуру, кодированные на основе режима кодирования без обращения, на основе режима декодирования без обращения. Когда символы декодируются согласно режиму декодирования без обращения, иерархический декодер 230 картинки может декодировать извлеченные символы, имеющие иерархическую структуру, без необходимости обращать значения символов.
Иерархический декодер 230 картинки может выбирать способ декодирования символов из режима декодирования с обращением символов и режима декодирования без обращения, на основе характеристик кодирования блока данных, включающих в себя по меньшей мере одно из информации режима предсказания, типа слайса, цветовой составляющей, кодируемой глубины и глубины преобразования блоков данных символов.
В результате, символы, декодированные иерархическим декодером 230 картинки согласно способу декодирования символов, могут иметь иерархическую структуру согласно блокам данных, имеющим иерархическую структуру.
Символы, имеющие иерархическую структуру, декодированные иерархическим декодером 230 картинки согласно способу декодирования символов, могут иметь шаблоны с высокими корреляциями между однородными символами блоков данных на предварительно определенном уровне.
Здесь, высокая корреляция может быть найдена между предварительно определенными разнородными символами, имеющими иерархическую структуру, декодированными иерархическим декодером 230 картинки согласно способу декодирования символов.
Также, предварительно определенный шаблон может быть найден между всеми уровнями в символах, имеющих иерархическую структуру, декодированных иерархическим декодером 230 картинки согласно способу декодирования символов.
Иерархический декодер 230 картинки может считывать информацию, указанную символами посредством декодирования символов согласно способу декодирования символов. Например, иерархический декодер 230 картинки может считывать информацию декодирования, указывающую режим кодирования и способ кодирования, которые используются во время декодирования картинки, из символов. Например, информация режима предсказания, информации направления предсказания, информация о структуре блоков данных и информация шаблона кодирования могут быть считаны из символов.
Значения пикселей могут быть воссозданы, и текущая картинка может быть воссоздана посредством выполнения различных операций декодирования, таких как энтропийное кодирование, обратное квантования, обратное преобразование, внешнее предсказание и компенсация и внутреннее предсказание и компенсация над декодируемой картинкой, согласно любому одному из различных способов декодирования, определенного на основании информации о режиме кодирования.
Блоки данных, имеющие иерархическую структуру, используемые в качестве основы декодирования для устройства 200 декодирования видео, могут включать в себя блоки кодирования, имеющие древовидную структуру, блоки преобразования, имеющие древовидную структуру, и блоки предсказания и ячейки блоков кодирования, имеющие древовидную структуру. Здесь, иерархическое устройство 200 извлечения символов и данных может извлекать данные кодирования картинки и символов, указывающие кодируемую глубину и режим кодирования, из подвергнутого синтаксическому анализу битового потока, согласно блокам кодирования, имеющим древовидную структуру, включенную в каждый максимальный блок кодирования.
Следовательно, иерархический декодер 230 картинки может считывать информацию о кодируемых глубинах и режимах кодирования блоков кодирования, имеющих древовидную структуру, блоков преобразования, имеющих древовидную структуру, и ячеек, посредством определения способа декодирования символов согласно максимальным блокам кодирования. Иерархический декодер 230 картинки может воссоздавать картинку посредством декодирования кодированных данных на основе блоков кодирования, имеющих древовидную структуру, блоков преобразования, имеющих древовидную структуру, и ячеек, посредством использования информации о кодируемых глубинах и режимах кодирования.
Способы определения блоков кодирования, имеющих древовидную структуру, блоков преобразования, имеющих древовидную структуру, блоков предсказания и ячеек, описаны ниже со ссылкой на Фиг. 15-27.
В дальнейшем в этом документе, способы кодирования символов для кодирования символов, имеющих иерархическую структуру, которые используются устройством 100 кодирования видео, и способы декодирования символов для декодирования символов, имеющих иерархическую структуру, которые используются устройством 200 декодирования видео, описаны со ссылкой на Фиг. 3-12.
Устройство 100 кодирования видео может кодировать символы посредством выбора способа кодирования символов из режима иерархического кодирования символов и режима кодирования низшего уровня. Другими словами, устройство 100 кодирования видео может кодировать все символы, определенные согласно блокам данных, имеющим иерархическую структуру, согласно режиму иерархического кодирования символов, или кодировать только символы блоков данных на низшем уровне согласно режиму кодирования низшего уровня.
На Фиг. 3 проиллюстрированы блоки преобразования, имеющие иерархическую структуру, и соответствующая информация разделения блоков преобразования, имеющая древовидную структуру, согласно варианту осуществления настоящего изобретения.
Пример блоков данных, имеющих иерархическую структуру, включает в себя блоки преобразования, имеющие иерархическую структуру. Блок 30 преобразования на уровне 0, который является наивысшим уровнем, разделяется на блоки преобразования с 31a по 31d на уровне 1, который является уровнем ниже, чем наивысший уровень, и блоки преобразования с 31a по 31d соответственно разделяются на блоки преобразования с 32a по 32d и с 32e по 32h на уровне 2, который является уровнем ниже, чем уровень 1.
Информация разделения блоков преобразования, указывающая разделен ли каждый блок преобразования на блоки преобразования на нижнем уровне, может быть использована в качестве информации кодирования для указания иерархической структуры блока преобразования. Например, когда информация разделения блоков преобразования текущего блока преобразования является 1, текущий блок преобразования может быть разделен на нижний уровень, и когда информация разделения блока преобразования является 0, текущий блок преобразования может быть не разделен.
Так как блоки преобразования 30, с 31a по 31d и с 32a по 32h, образуют иерархическую структуру, информация разделения блоков преобразования для блоков преобразования 30, с 31a по 31d и с 32a по 32h, может также образовывать иерархическую структуру. Другими словами, информация 33 разделения блоков преобразования включает в себя информацию разделения блоков преобразования на уровне 0, который является наивысшим уровнем, информацию разделения блоков с 35a по 35d на уровне 1 и информацию разделения блоков с 36a по 36h на уровне 2.
Информация 34 разделения блоков преобразования на уровне 0 в информации 33 разделения блоков преобразования, имеющей иерархическую структуру, обозначает, что блок 30 преобразования на уровне 0 разделен. Аналогично, информация разделения блоков преобразования с 35a по 35d на уровне 1 соответственно обозначает, что блоки преобразования с 31a по 31d на уровне 1 разделены на блоки преобразования с 32a по 32d и с 32e по 32h на уровне 2.
Информация разделения блоков преобразования с 35b по 35c на уровне 1 может обозначать, что блоки преобразования с 31a по 31d на уровне 1 являются блоками преобразования на низшем уровне, так как они больше не разделяются. Аналогично, информация разделения блоков преобразования с 36a по 35d на уровне 2 может обозначать, что блоки преобразования с 32a по 31h на уровне 2 разделены на блоки преобразования на низшем уровне, так как они больше не разделяются.
В качестве альтернативы, информация шаблона кодирования блоков преобразования, указывающая, включает ли в себя блок преобразования коэффициент преобразования, который является не 0, может быть использована в качестве информации кодирования, указывающей способ кодирования блоков преобразования, имеющих иерархическую структуру. Например, когда информация шаблона кодирования блоков преобразования является 1, текущий блок преобразования может включать в себя коэффициент преобразования, который является не 0, и когда информация шаблона кодирования блоков преобразования является 0, текущий блок преобразования может включать в себя только коэффициент преобразования, который является 0.
<РЕЖИМЫ ИЕРАРХИЧЕСКОГО КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ СИМВОЛОВ И РЕЖИМЫ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ НИЗШЕГО УРОВНЯ>
Устройство 200 декодирования видео может декодировать символы согласно способу декодирования символов, выборочно определенному из режима иерархического декодирования символов и режима декодирования низшего уровня. Другими словами, устройство 200 декодирования видео может считывать и декодировать все символы, определенные согласно блокам данных, имеющим иерархическую структуру, из извлеченных кодов символов на основе блоков данных, имеющих иерархическую структуру, согласно режиму иерархического декодирования символов, или может только считывать и декодировать символы блоков данных на низшем уровне, извлеченные согласно режиму кодирования низшего уровня и считывать и декодировать оставшиеся символы на основе декодированных символов блоков данных на низшем уровне.
На каждом из Фиг. 4 и 5 проиллюстрирован иерархический режим кодирования символов и символы, кодированные таким образом согласно вариантам осуществления настоящего изобретения.
На Фиг. 4 и 5 блоки преобразования показаны как блоки данных, имеющие иерархическую структуру, и информация шаблона кодирования блоков преобразования показана как символ. Режимы кодирования и декодирования символов из информации шаблона кодирования блоков преобразования по отношению к блокам преобразования, имеющим иерархическую структуру, описаны со ссылкой на Фиг. 4 и 5.
На основе иерархической структуры блоков преобразования 30, с 31a по 31d и с 32a по 32h на Фиг. 3, информация шаблона кодирования блоков преобразования может также иметь иерархическую структуру 40 по отношению к блокам преобразования 30, с 31a по 31d и с 32a по 32h.
Устройство 100 кодирования видео может кодировать всю информацию шаблона кодирования блоков преобразования cbf, с cbf1a по cbf1d и с cbf2a по cbf2h, о блоках преобразования 30, с 31a по 31d и с 32a по 32h на всех уровнях, согласно режиму иерархического кодирования символов.
Устройство 100 кодирования видео может в качестве альтернативы кодировать только информацию шаблона кодирования блоков преобразования cbf1b, cbf1c, и с cbf2a по cbf2h, о блоках преобразования, с 31b, 31c, и с 32a по 32h на низшем уровне, согласно режиму кодирования низшего уровня.
Устройство 200 декодирования видео может воссоздать информацию шаблона кодирования блоков преобразования, имеющую иерархическую структуру, посредством извлечения и считывания всей информации шаблона кодирования блоков преобразования cbf, с cbf1a по cbf1d и с cbf2a по cbf2h, о блоках преобразования 30, с 31a по 31d и с 32a по 32h на всех уровнях, согласно режиму иерархического кодирования символов.
Устройство 200 декодирования видео может только извлекать информацию шаблона кодирования блоков преобразования cbf1b, cbf1c, и с cbf2a по cbf2h, о блоках преобразования, с 31b, 31c, и с 32a по 32h на низшем уровне, согласно режиму декодирования низшего уровня. Затем, устройство 200 декодирования видео может воссоздать информацию шаблона кодирования блоков преобразования, имеющую иерархическую структуру, посредством считывания оставшейся информации шаблона кодирования блоков преобразования cbf0 и с cbf1a по cbf1d на основе извлеченной и считанной информации шаблона кодирования блоков преобразования cbf1b, cbf1c и с cbf2a по cbf2h на низшем уровне.
Способ кодирования символов может быть определен из режима иерархического кодирования символов и режима кодирования низшего уровня, на основе соотношения (распределения символов) символов, чьи значения символов равны 0, в символах, имеющих иерархическую структуру.
На Фиг. 6 и 7 проиллюстрирован пример выбора одного из иерархического режима кодирования символов и режима кодирования низшего уровня, согласно вариантам осуществления настоящего изобретения.
Например, способ кодирования символов может быть определен из режима иерархического кодирования символов и режима кодирования низшего уровня, на основе соотношения символов, чьи значения символов равны 0, в символах на низших уровнях из символов, имеющих иерархическую структуру.
Согласно информации 60 шаблона кодирования блоков преобразования на уровне 0 из информации 65 шаблона кодирования блоков преобразования, имеющей первую иерархическую структуру, может быть определено, что блок преобразования на уровне 0 не включает в себя коэффициент преобразования, который не является 0. Следовательно, может быть предположено, что блоки преобразования на уровнях 1 и 2, которые указаны информацией шаблона кодирования блоков преобразования с 61a по 61d и с 62a по 62h на уровнях 1 и 2, также не включают в себя коэффициенты преобразования, которые не равны 0.
Следовательно, когда информация 65 шаблона кодирования блоков преобразования, имеющая первую иерархическую структуру, кодируется согласно режиму иерархического кодирования символов, только информация 60 шаблона кодирования блоков преобразования на уровне 0 может быть кодирована. Следовательно, строка битов вывода информации 65 шаблона кодирования блоков преобразования согласно режиму иерархического кодирования символов может быть '0'.
С другой стороны, когда информация 65 шаблона кодирования блоков преобразования, имеющая первую иерархическую структуру, кодируется согласно режиму кодирования низшего уровня, информация шаблона кодирования блоков преобразования 61b, 61c, и с 62a по 62h на низшем уровне может быть кодирована. Порядок вывода информации шаблона кодирования блоков преобразования может быть в вертикальном направлении на уровень вверх и вниз скорее, чем в горизонтальном направлении того же уровня в иерархической структуре информации шаблона кодирования блоков преобразования. Так как порядок вывода является согласно порядку информации шаблона кодирования блоков преобразования на уровне вверх и вниз, строка битов информации 65 шаблона кодирования блоков преобразования, выведенной согласно режиму кодирования низшего уровня, может быть '0000 0 0 0000'.
Следовательно, когда распределение символов информации шаблона кодирования блоков преобразования 61b, 61c и с 62a по 62h является не таким плотным, как информация 65 шаблона кодирования блоков преобразования, имеющая первую иерархическую структуру, т.е., когда соотношение символов, чьи значения символов равны 0, является высоким, эффективность кодирования согласно режиму иерархического кодирования символов является относительно высокой по отношению к эффективности кодирования согласно режиму кодирования низшего уровня.
Также, когда информация 75 шаблона кодирования блоков преобразования, имеющая вторую иерархическую структуру, кодирована согласно режиму иерархического кодирования символов, вся информация шаблона кодирования блоков преобразования 70, с 71a по 71d и с 72a по 72h на уровнях 0, 1 и 2 может быть кодирована. Следовательно, выходная строка битов информации 75 шаблона кодирования блоков преобразования, кодированной согласно режиму иерархического кодирования символов, может быть '1 1 1011 0 1 1 1110'.
С другой стороны, когда информация 75 шаблона кодирования блоков преобразования, имеющая вторую иерархическую структуру, кодируется согласно режиму кодирования низшего уровня, информация шаблона кодирования блоков преобразования 71b, 71c, и с 72a по 72h на низшем уровне может быть кодирована. Следовательно, выходная строка битов информации 75 шаблона кодирования блоков преобразования, кодированной согласно режиму кодирования низшего уровня, может быть '1011 0 1 1110'.
Следовательно, когда распределение символов информации шаблона кодирования блоков преобразования 61b, 61c и с 62a по 62h на низшем уровне является таким плотным как информация 75 шаблона кодирования блоков преобразования, имеющая вторую иерархическую структуру, т.е., когда соотношение символов, чьи значения символов не равны 0, является высоким, эффективность кодирования согласно режиму кодирования низшего уровня является более высокой, чем эффективность кодирования согласно режиму иерархического кодирования символов.
Другими словами, когда соотношение символов, чьи значения символов равны 0, является высоким в символах, имеющих иерархическую структуру, определенных согласно блокам данных, имеющим иерархическую структуру, т.е., когда распределение символов является неплотным, эффективность кодирования согласно режиму иерархического кодирования символов является более высокой, чем эффективность кодирования согласно режиму кодирования низшего уровня. С другой стороны, когда соотношение символов, чьи значения символов равны 0, является низким, т.е., когда распределение символов является плотным, эффективность кодирования согласно режиму кодирования низшего уровня является высокой.
Следовательно, устройство 100 кодирования видео может определять оптимизированный способ кодирования для символов, имеющих иерархическую структуру, посредством определения способа кодирования символов, учитывающего характеристики символов, такие как распределение символов.
Устройство 100 кодирования видео может определять способ кодирования символов из режима иерархического кодирования символов и режима кодирования низшего уровня на основе характеристик кодирования блоков данных символов.
На Фиг. 8 проиллюстрирован пример выбора одного из иерархического режима кодирования символов и режима кодирования низшего уровня на основе характеристик кодирования согласно варианту осуществления настоящего изобретения.
Далее описаны характеристики кодирования, которые являются основой для выбора режима иерархического кодирования символов или режима кодирования низшего уровня, используемых для кодирования информации 85 шаблона кодирования блоков преобразования, которая является примером символов, имеющих иерархическую структуру блоков 83 преобразования, которые являются данными, имеющими иерархическую структуру.
Информация 85 шаблона кодирования блоков преобразования о блоках 83 преобразования, которые являются блоками данных, имеющими иерархическую структуру, может включать в себя информацию шаблона кодирования блоков преобразования 80, с 81a по 81d и с 82a по 82h на уровнях 0, 1 и 2, определенную по отношению к блокам преобразования на уровнях 0, 1 и 2.
Отношение символов, чьи значения символов равны 0, может характеризоваться согласно режиму предсказания блоков 83 преобразования. Например, когда режим предсказания блоков 83 преобразования является внешним режимом, соотношение символов, чьи значения символов равны 0, является высоким, и когда режим предсказания является внутренним режимом, соотношение может быть низким.
Следовательно, устройство 100 кодирования видео и устройство 200 декодирования видео могут соответственно использовать режим кодирования низшего уровня и режим декодирования низшего уровня, когда режим предсказания блоков 83 преобразования является внутренним режимом. Другими словами, информация 87 шаблона кодирования блоков преобразования, передаваемая и принимаемая в информации 85 шаблона кодирования блоков преобразования, имеющей иерархическую структуру, согласно режиму кодирования низшего уровня включает в себя только информацию шаблона кодирования блоков преобразования 81b, 81c и с 82a по 82h на низшем уровне.
В качестве альтернативы, устройство 100 кодирования видео и устройство 200 декодирования видео могут соответственно использовать режим иерархического кодирования символов и режим иерархического декодирования символов, когда режим предсказания блоков 83 преобразования является внешним режимом. Другими словами, информация 89 шаблона кодирования блоков преобразования, передаваемая и принимаемая в информации 85 шаблона кодирования блоков преобразования, имеющей иерархическую структуру, согласно режиму иерархического кодирования символов включает в себя информацию шаблона кодирования блоков преобразования 80, с 81a по 81d и с 82a по 82d согласно иерархической структуре.
Как описано выше, даже когда только информация шаблона кодирования блоков преобразования 87 и 89 кодируется и передается на устройство 200 декодирования видео согласно способу кодирования символов, выбранному устройством 100 кодирования видео, вся информация 85 шаблона кодирования блоков преобразования может быть восстановлена из информации шаблона кодирования блоков преобразования 87 и 89 согласно способу декодирования символов, соответствующему способу кодирования символов.
Аналогично, соотношение информации шаблона кодирования блоков преобразования, чьи значения символов равны 0, может характеризоваться согласно цветовым составляющим блоков 83 преобразования. Например, когда цветовыми составляющими блоков 83 преобразования являются составляющие цветности, соотношение информации шаблона кодирования блоков преобразования, чьи значения символов равны 0, может быть высоким, и когда цветовыми составляющими являются составляющие яркости, соотношение может быть низким. Следовательно, устройство 100 кодирования видео и устройство 200 декодирования видео могут соответственно использовать режим кодирования низшего уровня и режим декодирования низшего уровня, когда цветовыми составляющими блоков 83 преобразования являются составляющие яркости, и могут соответственно использовать режим иерархического кодирования символов и режим иерархического декодирования символов, когда цветовыми составляющими являются составляющие цветности.
Аналогично, соотношение информации шаблона кодирования блоков преобразования, чьи значения символов равны 0, может характеризоваться согласно характеристикам кодирования согласно комбинации режима предсказания и цветовых составляющих блоков 83 преобразования. Например, когда комбинация режима предсказания и цветовых составляющих блоков 83 преобразования является комбинацией внутреннего режима и составляющих яркости, соотношение информации шаблона кодирования блоков преобразования, чьи значения символов равны 0, может быть низшим, тогда как соотношения информации шаблона кодирования блоков преобразования, чьи значения символов равны 0, могут быть высокими при остающихся комбинациях. Следовательно, устройство 100 кодирования видео и устройство 200 декодирования видео могут соответственно использовать режим кодирования низшего уровня и режим декодирования низшего уровня, когда комбинация режима предсказания и цветовых составляющих является комбинацией внутреннего режима и составляющих яркости, и могут соответственно использовать режим иерархического кодирования символов и режим иерархического декодирования символов при остающихся комбинациях режимов предсказания и цветовых составляющих.
<РЕЖИМЫ ГРУППОВОГО КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ ОДНОРОДНЫХ СИМВОЛОВ>
Устройство 100 кодирования видео может кодировать символы посредством выбора способа кодирования символов из режима группового кодирования однородных символов и режима индивидуального кодирования однородных символов. Другими словами, устройство 100 кодирования видео может группировать и кодировать значения символов, имеющих высокую корреляцию из значений символов однородных символов согласно иерархической структуре на основе режима группового кодирования однородных символов, или может индивидуально кодировать символы независимо от корреляции значений символов однородных символов согласно режиму индивидуального кодирования однородных символов.
Устройство 200 декодирования видео может декодировать символы согласно способу декодирования символов, выборочно определенному из режима группового декодирования однородных символов и режима индивидуального декодирования однородных символов. Другими словами, устройство 200 декодирования видео может считывать и декодировать все символы, имеющие иерархическую структуру, посредством считывания групп символов согласно шаблонам символов однородных символов из извлеченных кодов символов согласно режиму группового декодирования однородных символов. В качестве альтернативы, устройство 200 декодирования видео может считывать и декодировать символы, имеющие иерархическую структуру, посредством индивидуального извлечения значений символов для символов из извлеченных кодов символов согласно режиму индивидуального декодирования однородных символов.
На Фиг. 9 показана диаграмма символов, кодированных согласно режиму группового кодирования однородных символов, согласно варианту осуществления настоящего изобретения.
Предварительно определенный шаблон может быть сгенерирован между значениями символов однородных символов, например, 4 символа на одном уровне в символах 95, имеющих иерархическую структуру, имеют значения символов '1, 1, 1, 1'. Также, частота предварительно определенного шаблона может быть чрезвычайно высокой в шаблонах значений символов. Следовательно, устройство 100 кодирования видео может определять таблицу кодов символов о соответствующих символах на основе шаблонов между значениями символов однородных символов, имеющих высокую корреляцию.
Для того чтобы кодировать символы согласно режиму группового кодирования однородных символов, присущие коды символов могут быть назначены согласно шаблонам на основе шаблонов и частот шаблонов значений символов. Более короткий код символа может быть назначен, когда частота является более высокой. Таблица 1 ниже является примером групповой таблицы для символов кодирования, имеющих иерархическую структуру, согласно режиму группового кодирования однородных символов.
Таблица 1
Шаблон значений символов
Код символа
1, 1, 1, 1
1
1, 1, 1, 0
0100
1, 0, 1, 1
0101
0, 1, 1, 1
0110
1, 1, 0, 1
0111
1, 1, 0, 0
0010
....
....
Согласно групповой таблице в Таблице 2, когда частота шаблона '1, 1, 1, 1' является наивысшей в значениях символов 4-х однородных символов, код символа '1', который является самым коротким, может быть назначен шаблону '1, 1, 1, 1', и более длинный коды символа может быть назначен остающимся шаблонам значений символов.
Информация режима пропуска обозначает режим кодирования, использующий информацию примыкающих блоков данных, которые предварительно кодируются, в то же время пропуска кодирования информации внутреннего и внешнего предсказания о текущем блоке данных. Информация режима пропуска может также быть иерархически определена согласно блокам данных, имеющим иерархическую структуру.
Следовательно, самый короткий код символов может быть назначен шаблону '1, 1, 1, 0', имеющему наибольшую частоту из шаблонов значений символов информации режима пропуска, на основе таблицы кодов символов для кодирования информации режима пропуска согласно режиму группового кодирования однородных символов.
Информация разделения блоков кодирования указывает, разделен ли блок кодирования на верхнем уровне на блоки кодирования на нижнем уровне. Информация разделения блоков кодирования может также быть иерархически определена согласно блокам данных, имеющим иерархическую структуру. Следовательно, самый короткий код символов может быть назначен шаблону '0, 0, 0, 1', имеющему наибольшую частоту из шаблонов значений символов информации разделения блоков кодирования, на основе таблицы кодов символов для кодирования информации разделения блоков кодирования согласно режиму группового кодирования однородных символов.
Также, информация шаблона кодирования блоков преобразования согласно комбинации режима предсказания и цветовых составляющих может также быть иерархически определена согласно блокам преобразования, имеющим иерархическую структуру.
Например, самый короткий код символов может быть назначен шаблону '1, 1, 1, 1', имеющему наибольшую частоту из шаблонов значений символов информации шаблона кодирования блоков преобразования, на основе таблицы кодов символов для кодирования информации шаблона кодирования блоков преобразования во внутреннем режиме яркости согласно режиму группового кодирования однородных символов.
Например, самый короткий код символов может быть назначен шаблону '0, 0, 0, 0', имеющему наибольшую частоту из шаблонов значений символов информации шаблона кодирования блоков преобразования, на основе таблицы кодов символов для кодирования информации шаблона кодирования блоков преобразования во внешнем режиме цветности согласно режиму группового кодирования однородных символов.
Устройство 200 декодирования видео может считывать и декодировать все символы, имеющие иерархическую структуру, посредством считывания шаблонов значений символов, соответствующих извлеченным кодам символов, на основе таблицы кодов символов, определенной согласно режиму группового кодирования однородных символов.
Таблицы 2, 3 и 4 ниже являются соответственно примерами таблиц кодов символов для кодирования (декодирования) символов согласно режиму группового кодирования (декодирования) однородных символов, по отношению к информации шаблона кодирования блоков преобразования (внешняя cbf) во внешнем режиме, информации шаблона кодирования блоков преобразования (внутренняя cbf) во внутреннем режиме, и информации внутреннего направления (внутреннее направление).
Таблица 2
Внешняя cbf
Коды символов
0, 0, 0, 0
1
0, 0, 0, 1
01 или 0 0000 или 0001
0, 0, 1, 0
001 или 0 0001 или 0010
....
....
Таблица 3
Внутренняя cbf
Коды символов
1, 1, 1, 1
0
1, 1, 1, 0
10 или 0 1111 или 1110
1, 1, 0, 1
110 или 01110 или 1101
....
....
Таблица 4
Внутреннее направление
Новый символ
2, 2, 2, 2
0
2, 2, 2,0
1
2, 2, 2, 1
2
....
....
<РЕЖИМЫ ГРУППОВОГО КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ РАЗНОРОДНЫХ СИМВОЛОВ>
Устройство 100 кодирования видео может кодировать разнородные символы посредством выбора способа кодирования символов из режима группового кодирования разнородных символов и режима индивидуального кодирования разнородных символов. Другими словами, устройство 100 кодирования видео может группировать и кодировать разнородные символы, имеющие высокую корреляцию согласно иерархической структуре на основе режима группового кодирования разнородных символов, или может индивидуально кодировать разнородные символы независимо от корреляции между разнородными символами согласно режиму индивидуального кодирования разнородных символов.
Устройство 200 декодирования видео может декодировать символы согласно способу декодирования символов, выборочно определенному из режима группового декодирования разнородных символов и режима индивидуального декодирования разнородных символов. Другими словами, устройство 200 декодирования видео может декодировать каждый из разнородных символов, имеющих иерархическую структуру, посредством считывания групп разнородных символов согласно извлеченным кодам символов, согласно режиму группового декодирования разнородных символов. В качестве альтернативы, устройство 200 декодирования видео может считывать и декодировать разнородные символы, имеющие иерархическую структуру из индивидуально извлеченных кодов символов разнородных символов, согласно режиму индивидуального декодирования разнородных символов.
Корреляции между разнородными символами, которые могут быть учтены в режиме группового кодирования разнородных символов и режиме группового декодирования разнородных символов, могут включать в себя функциональные сходства, зависимости и связности характеристик кодирования, указанные разнородными символами.
Когда конкретные функции, указанные разнородными символами, являются аналогичными во время процесса кодирования на основе блоков данных, имеющих иерархическую структуру, устройство 100 кодирования видео может группировать и кодировать разнородные символы, учитывая, что корреляция между разнородными символами является высокой. Устройство 100 кодирования видео может совместно использовать модель контекста разнородных символов, имеющих аналогичные функции, так чтобы кодировать разнородные символы посредством использования совместно используемого контекста.
На Фиг. 10 проиллюстрирован пример выбора режима группового кодирования разнородных символов согласно варианту осуществления настоящего изобретения.
В максимальных блоках кодирования 101, 102 и 103, прямоугольники с толстыми границами обозначают блоки кодирования, и блоки с тонкими границами обозначают блоки преобразования. Блок преобразования не может быть больше, чем соответствующий блок кодирования.
Согласно информации разделения блоков кодирования, имеющей иерархическую структуру, когда максимальные блоки кодирования 101, 102 и 103 находятся на уровне 0, который является наивысшим уровнем, максимальные блоки кодирования 101, 102 и 103 могут быть разделены на блоки кодирования на уровне 1, как например, блок кодирования Cu1, и блоки кодирования на уровне 1 могут быть разделены на блоки кодирования на уровне 2, как например, блоки кодирования с Cu2a по Cu2d и с Cu3b по Cu3d. Блоки кодирования на уровне 2 могут быть разделены на блоки кодирования на уровне 3, как например, блоки кодирования Cu3aa и Cu3ad.
Например, информация разделения блоков кодирования обозначает функцию разделения текущего блока кодирования на блоки кодирования на нижнем уровне во время процесса кодирования на основе блоков кодирования, имеющих иерархическую структуру. Также, информация разделения блоков преобразования обозначает функцию разделения текущего блока преобразования в текущем блоке кодирования на блоки преобразования на нижних уровнях во время процесса кодирования на основе блоков кодирования, имеющих иерархическую структуру.
Следовательно, информация разделения блоков кодирования и информация разделения блоков преобразования, которые имеют иерархическую структуру, имеют аналогичные функции, так как блок данных на верхнем уровне разделяется во время процесса кодирования.
Например, согласно режиму индивидуального кодирования разнородных символов, в информации разделения блоков кодирования текущей зоны, символы кодируются посредством использования контекста, определенного посредством ссылки на глубину (уровень) примыкающих блоков кодирования, которые являются предварительно кодированными. В информации разделения блоков преобразования текущей зоны, символы кодируются посредством использования контекста, определенного посредством ссылки на глубину преобразования (уровень) текущего блока преобразования.
Однако, даже когда предварительно определенный блок данных определен согласно информации разделения блоков кодирования и информации разделения блоков преобразования, глубина (уровень) предварительно определенного блока данных может быть уникальной независимо от глубины примыкающего блока кодирования, который является основой контекста информации разделения блоков кодирования, или глубины текущего блока преобразования, который является основой контекста информации разделения блоков преобразования.
Например, когда глубина примыкающего блока кодирования является глубокой (нижний уровень) и глубина текущего блока преобразования не является глубокой (верхний уровень), глубина текущего блока преобразования может быть глубокой, даже когда глубина текущего блока кодирования является неглубокой. Таким же образом, глубина текущего блока преобразования должна быть глубокой, если глубина текущего блока кодирования является глубокой.
В качестве альтернативы, когда глубина примыкающего блока кодирования является неглубокой (верхний уровень) и глубина текущего блока преобразования является глубокой (нижний уровень), глубина текущего блока преобразования может не быть глубокой, когда глубина текущего блока кодирования является также глубокой. Таким же образом, глубина текущего блока преобразования может быть глубокой, если глубина текущего блока кодирования не является глубокой.
Информация разделения блоков кодирования и информация разделения блоков преобразования показывают аналогичные функции для определения текущей зоны и могут быть использованы одновременно. Следовательно, для того, чтобы отразить все частные случаи независимо от общего контекста, устройство 100 кодирования видео может использовать контент, совместно используемый между информацией разделения блоков кодирования и информацией разделения блоков преобразования для того, чтобы кодировать информацию разделения блоков кодирования и информацию разделения блоков преобразования.
Другими словами, информация разделения блоков кодирования и информация разделения блоков преобразования могут быть сгруппированы и кодированы посредством использования совместно используемого контекста согласно комбинации информации разделения блоков кодирования и информации разделения блоков преобразования, вместо индивидуального использования контекста согласно информации разделения блоков кодирования и информации разделения блоков преобразования.
Например, согласно режиму группового кодирования разнородных символов, и информация разделения блоков кодирования, и информация разделения блоков преобразования могут быть кодированы или декодированы посредством использования контекста на основе глубины примыкающего блока кодирования и глубины преобразования текущего блока преобразования.
В качестве альтернативы, согласно режиму группового кодирования разнородных символов, информация разделения блоков кодирования может быть кодирована посредством использования контекста на основе глубины примыкающего блока кодирования, а информация разделения блоков преобразования может быть кодирована или декодирована посредством использования контекста на основе глубины примыкающего блока кодирования и глубины преобразования текущего блока преобразования.
В качестве альтернативы, согласно режиму группового кодирования разнородных символов, информация разделения блоков преобразования может быть кодирована посредством использования контекста на основе глубины текущего блока преобразования, а информация разделения блоков кодирования может быть кодирована или декодирована посредством использования контекста на основе глубины примыкающего блока кодирования и глубины преобразования текущего блока преобразования.
Комбинации разнородных символов, которые определены для кодирования и декодированы в режиме группового кодирования и декодирования разнородных символов посредством использования контекста на основе функциональных сходствах между разнородными символами, могут не только включать в себя комбинацию информации разделения блоков кодирования и информации разделения блоков преобразования, но могут также включать в себя по меньшей мере одну из комбинации информации разделения блоков преобразования и информации шаблона кодирования, комбинации режима предсказания блоков кодирования и информации способа предсказания, комбинации информация разделения блоков кодирования и информации пропуска, комбинации информации шаблона кодирования согласно двум или более цветовым составляющим и комбинации информации шаблона кодирования согласно двум или более цветовым составляющим и информации разделения блоков преобразования.
Следовательно, устройство 200 декодирования видео может декодировать каждый из разнородных символов посредством использования контекста, совместно используемого между разнородными символами, имеющими аналогичные функции.
Также, когда символы кодируются согласно режиму группового кодирования разнородных символов, устройство 100 кодирования видео может группировать и кодировать разнородные символы, имеющие сильную зависимость от определения следующего символа согласно предыдущего символа. Другими словами, коды символов могут быть назначены комбинациям значений символов на основе распределения вероятностей комбинаций значений символов разнородных символов, которые зависимо определены.
Устройство 100 кодирования видео может использовать информацию шаблона кодирования блоков преобразования, заданную согласно значению символа информации разделения блоков преобразования по отношению к информации разделения блоков преобразования на предварительно определенном уровне.
Например, когда значение символа информации разделения блоков преобразования является 0 по отношению к блоку преобразования составляющей яркости, информация разделения блоков преобразования может быть определена, чтобы быть 0 или 1. Здесь, значение символа информации разделения блоков преобразования может быть 1 и значение символа информации шаблона кодирования блоков преобразования может быть '0000' или '1111' по отношению к блоку преобразования на уровне выше, чем разрешенный в текущий момент итоговый уровень, из глубин преобразования, имеющих иерархическую структуру.
Следовательно, когда блок преобразования составляющей яркости находится на уровне выше, чем итоговый уровень, устройство 100 кодирования видео может группировать и кодировать символы информации разделения блоков преобразования и информации шаблона кодирования блоков преобразования посредством назначения одного кода символа на каждую комбинацию информации разделения блока преобразования и информации шаблона кодирования блоков преобразования, на основе распределения вероятностей значений символов информации разделения блоков преобразования и информации шаблона кодирования блоков преобразования.
Таблица 5 показывает пример таблицы кодов символов для кодирования информации разделения блоков преобразования (TrSubDiv) и информация шаблона кодирования блоков преобразования (cbf) о блоке преобразования составляющей яркости на уровне выше, чем итоговый уровень, в режиме группового кодирования разнородных символов. Здесь, вероятность комбинации информации разделения блоков преобразования, имеющей значение символа '1', и информации шаблона кодирования блоков преобразования, имеющей шаблон символа '1, 1, 1, 1', может быть наивысшей.
Таблица 5
Комбинация разнородных символов
Код символа
TrSubDiv=1 & CBF=1111
1
TrSubDiv=0 & CBF=1
01
TrSubDiv=0 & CBF=0
001
....
....
Таким же образом, информация шаблона кодирования блоков преобразования может не кодироваться, когда значение символа информации разделения блоков преобразования является 1, по отношению к блоку преобразования на высшем уровне или промежуточном уровне из глубин преобразования.
Следовательно, даже в блоке преобразования яркости на высшем уровне или промежуточном уровне, устройство 100 кодирования видео может группировать и кодировать символы информации разделения блоков преобразования и информации шаблона кодирования блоков преобразования посредством назначения кодов символов комбинации информации разделения блоков преобразования и информации шаблона кодирования блоков преобразования на основе распределения вероятностей значений символов информации разделения блоков преобразования и информации шаблона кодирования блоков преобразования.
Таблица 6 показывает пример таблицы кодов символов для кодирования информации разделения блоков преобразования (TrSubDiv) и информация шаблона кодирования блоков преобразования (cbf) в режиме группового кодирования разнородных символов, по отношению к блоку преобразования составляющей яркости на высшем уровне или промежуточном уровне. Вероятность может быть наивысшей в комбинации информации разделения блоков преобразования, имеющей значение символа '0', и информации шаблона кодирования блоков преобразования, имеющей шаблон символа '0'.
Таблица 6
Комбинация разнородных символов
Код символа
TrSubDiv=0 & CBF=0
1
TrSubDiv=0 & CBF=1
01
TrSubDiv=1
001
....
....
Устройство 100 кодирования видео может использовать информацию режима пропуска согласно значениям символов информации разделения блоков кодирования.
Например, информация режима пропуска может быть кодирована по отношению к блоку кодирования на итоговом уровне, который больше не разделяется, или блоку кодирования, имеющему информацию разделения блоков кодирования, чье значение символа является 0.
Следовательно, устройство 100 кодирования видео может группировать и кодировать символы информации разделения блоков преобразования и информации режима пропуска посредством назначения одного кода символа на каждую комбинацию информации разделения блока преобразования и информации режима пропуска, на основе распределения вероятностей значений символов информации разделения блоков преобразования и информации режима пропуска.
Таблица 7 показывает пример таблицы кодов символов для кодирования информации разделения блоков кодирования (Разделение) и информация режима пропуска (Пропуск) по отношению к блоку кодирования, в режиме группового кодирования разнородных символов. Также, так как распределения вероятностей значений символов информация разделения блоков кодирования и информации режима пропуска могут различаться согласно текущему типу слайса (P-слайс или B-слайс), разные таблицы кодов могут быть заданы согласно текущему типу слайса.
Таблица 7
Комбинация разнородных символов
Код символа
P-слайс
B-слайс
Разделение=1
0
10 (или 0)
Разделение=0 & Пропуск=0
10
110 (или 110)
Разделение=0 & Пропуск=1
110
0 (или 10)
Устройство 100 кодирования видео может различным образом определять информацию способа предсказания согласно режимам предсказания блоков кодирования.
Режимы предсказания блоков кодирования могут включать в себя по меньшей мере один режим пропуска, по меньшей мере один внутренний режим и по меньшей мере один внешний режим. Например, различные режимы пропуска, такие как режим пропуска 0 и режим пропуска 1, различные внутренние режимы, такие как внутренний режим 0 и внутренний режим 1, и различные внешние режимы, такие как внешний режим 0 и внешний режим 1, могут быть использованы в качестве режимов предсказания.
Различные режимы пропуска могут указывать различные способы кодирования информации предсказания, такие как режим общего пропуска, режим слияния и прямой режим. Различные внутренние режимы могут указывать различные направления внутреннего предсказания, такие как DC режим, вертикальный режим и горизонтальный режим. Различные внешние режимы могут указывать различные направления внешнего предсказания, такие как направление вперед, направление назад, двунаправленное и прямое направление.
На основе того, является ли режимом предсказания блока кодирования режим пропуска, внутренний режим или внешний режим, информация развернутого способа предсказания, указывающая способ кодирования информации, направление внутреннего предсказания и способ внешнего предсказания, может быть кодирована.
Следовательно, устройство 100 кодирования видео может группировать и кодировать символы режима предсказания блока кодирования и информацию развернутого способа предсказания посредством назначения кода символа на каждую комбинацию режима предсказания и информации развернутого способа предсказания, согласно распределения вероятностей значений символов режима предсказания и информации развернутого способа предсказания. Также, так как режим предсказания может быть задан согласно текущему типу слайса, разные коды символов могут быть определены согласно текущим типам слайсов.
Таблица 8 ниже показывает пример таблицы кодов символов для кодирования режима предсказания блока кодирования и информации развернутого способа предсказания согласно типам слайсов, в режиме группового кодирования разнородных символов.
Таблица 8
Тип слайса
Режим предсказания и развернутый способ предсказания
Код символа
I-слайс
Внутренний & DC режим
1
Внутренний & вертикальный режим
01
Внутренний & горизонтальный режим
001
....
....
P-слайс
Режим пропуска & общего пропуска
1
Режим пропуска & слияния
01
Внешнее & все направления
001
....
....
B-слайс
Режим пропуска & общего пропуска
1
Режим пропуска & прямой режим
01
Режим пропуска & слияния
001
....
....
Например, когда символы кодируются согласно режиму группового кодирования разнородных символов, иерархический кодер 130 символов может назначать коды символов комбинациям значений символов разнородных символов, сгенерированных между разнородными символами, которые определяются последовательно. Иерархический кодер 130 символов может выводить коды символов, назначенные комбинациям значений символов разнородных символов.
В качестве альтернативы, когда символы кодируются согласно режиму группового кодирования разнородных символов, устройство 100 кодирования видео может группировать и кодировать разнородные символы, которые определяются последовательно. Другими словами, коды символов могут быть назначены комбинациям значений символов разнородных символов, которые определяются последовательно.
Устройство 100 кодирования видео и устройство 200 декодирования видео может использовать информацию индекса опорного кадра, указывающую индекс опорного кадра для кодирования с предсказанием текущего кадра, и информацию индекса устройства предсказания векторов движения. Информация индекса опорного кадра и информация индекса устройства предсказания векторов движения могут быть последовательно кодированы устройством 100 кодирования видео, чтобы быть последовательно извлеченными и декодированными устройством 200 декодирования видео.
Для того чтобы кодировать символы в режиме группового кодирования разнородных символов, новое значение символа может быть назначено каждой из действенных комбинаций значений символов информации индекса опорного кадра и информации индекса устройства предсказания векторов движения. Таблицы с 9 по 11 ниже показывают примеры таблиц символов для кодирования информации индекса опорного кадра (RefFrmldx) и информации индекса устройства предсказания векторов движения (MVPIdx) в режиме группового кодирования разнородных символов.
Таблица 9
Комбинация значений символов
Новое значение символа
RefFrmIdx=0 & MVPIdx=0
0
RefFrmIdx=0 & MVPIdx=1
1
RefFrmIdx=1 & MVPIdx=0
2
RefFrmIdx=1 & MVPIdx=1
3
RefFrmIdx=0 & MVPIdx=2
4
....
....
RefFrmIdx=3 & MVPIdx=0
10
Таблица 10
Комбинация значений символов (когда RefFrmIdx только имеет значение 0 или 1)
Новое значение символа
RefFrmIdx=0 & MVPIdx=0
0
RefFrmIdx=0 & MVPIdx=1
1
RefFrmIdx=0 & MVPIdx=2
2
RefFrmIdx=1 & MVPIdx=0
3
....
....
Таблица 11
Комбинация значений символов (когда MVPIdx только имеет значение 0 или 1)
Новое значение символа
RefFrmIdx=0 & MVPIdx=0
0
RefFrmIdx=0 & MVPIdx=1
1
RefFrmIdx=1 & MVPIdx=0
2
RefFrmIdx=2 & MVPIdx=0
3
....
....
Значение символа, вновь назначенное комбинации информации индекса опорного кадра и информации индекса устройства предсказания векторов движения, может быть выведено как код символа.
Также, символы могут быть кодированы (декодированы) в режиме группового кодирования (декодирования) разнородных символов по отношению к разнородным символам, которые являются одиночными символами информации шаблона кодирования блоков преобразования, но используются для другой цели, как например информация шаблона кодирования блоков преобразования составляющей яркости и информация шаблона кодирования блоков преобразования составляющей цветности.
Устройство 200 декодирования видео может декодировать каждый из разнородных символов, имеющих иерархическую структуру, посредством считывания комбинации разнородных символов, соответствующих коду символа, извлеченному из битового потока, на основе кода символа, назначенного комбинации разнородных символов согласно режиму группового декодирования разнородных символов.
<РЕЖИМЫ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ С ОБРАЩЕНИЕМ СИМВОЛОВ>
Устройство 100 кодирования видео может кодировать символы, имеющие иерархическую структуру, посредством выбора способа кодирования символов из режима кодирования с обращением символов и режима кодирования без обращения. Другими словами, устройство 100 кодирования видео может обращать и кодировать значения символов 0 и символов 1 на предварительно определенном уровне из разнородных символов, имеющих иерархическую структуру, согласно режиму кодирования с обращением символов, или может кодировать символы без обращения значений символов согласно режиму кодирования без обращения.
Устройство 200 декодирования видео может декодировать символы согласно способу декодирования символов, выборочно определенному из режима декодирования с обращением символов и режима декодирования без обращения. Другими словами, устройство 200 декодирования видео может считывать символы посредством обращения извлеченных кодов символов на предварительно определенном уровне, и считывать декодировать остающиеся символы на основе считанных символов, чьи коды символов обращены, согласно режиму декодирования с обращением символов. Также, устройство 200 декодирования видео может считывать и декодировать символы без обращения коды символов извлеченных символов, согласно режиму декодирования без обращения.
На Фиг. 11 показана диаграмма символов, кодированных согласно режиму кодирования с обращением символов, согласно варианту осуществления настоящего изобретения.
Когда символы 115, имеющие иерархическую структуру, определенные согласно блокам данных, имеющих иерархическую структуру, кодируются согласно режиму иерархического кодирования символов, вся информация шаблона кодирования блоков преобразования 110, с 111a по 111d и с 112a по 112h на уровнях 0, 1 и 2 может быть кодирована. Следовательно, выходная строка битов символов 115, кодированная согласно режиму иерархического кодирования символов, может быть '1 1 111101 1 1111'.
Устройство 100 кодирования видео может обращать и кодировать значения символов 111b, 111c и с 112a по 112h на низшем уровне из символов 115, имеющих иерархическую структуру, согласно режиму кодирования с обращением символов.
Другими словами, в качестве результатов обращения значений символов для символов 111b, 111c и с 112a по 112h на низшем уровне, символы 116b, 116c и с 117a по 117h могут быть кодированы, и символы 116a и 116d на уровне 1 могут быть обращены из первоначальных символов 111a и 111d согласно обращенным символам с 117a по 117h на уровне 2.
В качестве результатов обращения значений символов, выходная строка битов символов 119, имеющих иерархическую структуру, может быть '1 0 1 0 0'.
Следовательно, когда соотношение символов, чьи значения символов равны 0, является высоким в символах 115, т.е., когда распределение символов является плотным, распределение символов может стать неплотным, если значения символов 0 и 1 для символов на низшем уровне обращены. Эффективность кодирования может быть высокой в символах, чье распределение символов является неплотным.
Следовательно, устройство 100 кодирования видео может определять оптимальный способ кодирования для символов, имеющих иерархическую структуру, по средством определения, обращать ли и кодировать значения символов для символов на низшем уровне, в то же время учитывая характеристики символов, такие как распределение символов.
На Фиг. 12 показана диаграмма для описания процессов кодирования и декодирования символов, согласно режиму кодирования с обращением символов, согласно варианту осуществления настоящего изобретения.
Согласно первоначальной таблице 1200 информации шаблона кодирования блоков преобразования о первоначальных блоках преобразования с 121 по 124, информация шаблона кодирования блоков преобразования с 1201 по 1204 первоначальных блоков преобразования с 121 по 124 имеет плотное распределение символов, так как соотношения значений символов, которые являются не 0, является высоким.
Когда значения символов на низшем уровне из информации шаблона кодирования блоков преобразования с 1201 по 1204 обращаются согласно режиму кодирования с обращением символов, значения символов на низшем уровне могут быть изменены на значения символов на низшем уровне информации шаблона кодирования блоков преобразования с 1295 по 1298. Конкретно, значения символов на низшем уровне информации шаблона кодирования блоков преобразования 1296 и 1298 равны 0, и таким образом, информация шаблона кодирования блоков преобразования на глубине преобразования 1 может быть обращена на 0.
Таким образом, согласно таблице информации шаблона кодирования блоков преобразования 1290 о блоках преобразования с 125 по 128, чьи значения символов обращены, длина кода, которая подлежит кодированию, является более короткой по сравнению с длиной кода до обращения значений символов.
Способы кодирования символов и способы декодирования символов для символов, имеющих иерархическую структуру, были описаны выше со ссылкой на Фиг. 3-12. Предварительно определенные символы используются для описания способов кодирования и декодирования символов для удобства описания, но было бы очевидно специалисту в данной области техники, что символы, к которым применимы данные способы кодирования и декодирования символов, ограничены символами, описанными со ссылкой на Фиг. 3-12, и могут быть любыми символами, имеющими иерархическую структуру.
Также, так как Таблицы 1-11 являются примерами для удобства описания, и таким образом таблицы кодов символов для режимов кодирования и декодирования символов не ограничены Таблицами 1-11 и могут быть любыми таблицами кодов символов, в которых шаблоны символов и коды символов устанавливаются в соответствие разным образом.
На Фиг. 13 показана схема последовательности операций, иллюстрирующая способ кодирования видео для кодирования символов, имеющих древовидную структуру, согласно варианту осуществления настоящего изобретения.
В операции 131, картинка входного видео кодируется на основе блоков данных, имеющих иерархическую структуру. В операции 132, символы кодированной картинки определяются на основе блоков данных, имеющих иерархическую структуру.
В операции 133, способ кодирования символов определяется на основе характеристик символов, определенных на основе блоков данных, имеющих иерархическую структуру.
Согласно варианту осуществления способ кодирования символов может быть выборочно определен из режима иерархического кодирования символов, в котором символы, определенные согласно блокам данных, имеющим иерархическую структуру, кодируются согласно блокам данных, имеющим иерархическую структуру, и режима кодирования низшего уровня, в котором кодируются символы блоков данных на низшем уровне. Способ кодирования символов может быть определен из режима иерархического кодирования символов и режима кодирования низшего уровня, на основе характеристик кодирования, включающих в себя по меньшей мере одно из информации режима предсказания и цветовых составляющих блоков данных символов.
Согласно варианту осуществления способ кодирования символов может быть выборочно определен из режима группового кодирования однородных символов, в котором однородные символы группируются и кодируются, и режима индивидуального кодирования однородных символов, в котором однородные символы кодируются индивидуально, на основе корреляции между значениями символов однородных символов, определенных согласно блокам данных, имеющим иерархическую структуру. Согласно варианту осуществления способ кодирования символов может быть определен из режима группового кодирования однородных символов и режима индивидуального кодирования однородных символов, на основе характеристик кодирования, включающих в себя по меньшей мере одно из информации режима предсказания, типа слайса, цветовой составляющей, кодируемой глубины и глубины преобразования блоков данных символов.
Согласно варианту осуществления способ кодирования символов может быть выборочно определен из режима группового кодирования разнородных символов, в котором разнородных символы группируются и кодируются, и режима индивидуального кодирования разнородных символов, в котором разнородных символы кодируются индивидуально, на основе корреляции разнородных символов, определенных согласно блокам данных, имеющим иерархическую структуру. Согласно варианту осуществления, способ кодирования символов может быть определен на основе по меньшей мере одного из корреляции функций, указанных разнородными символами, имеющими иерархическую структуру, зависимого кодирования и последовательного кодирования.
Согласно варианту осуществления способ кодирования символов может быть выборочно определен из режима кодирования с обращением символов, в котором значения символов для символов блоков данных на низшем уровне обращаются и кодируются, и режима кодирования без обращения, в котором значения символов для символов блоков данных на низшем уровне кодируются без обращения, на основе соотношения значений символов, которые равны 0, в значениях символов блоков данных, имеющих иерархическую структуру. Режим кодирования с обращением символов может быть выборочно определен на основе характеристик кодирования блоков данных, включающих в себя по меньшей мере одно из информации режима предсказания, типа слайса, цветовой составляющей, кодируемой глубины и глубины преобразования блоков данных символов. Способ кодирования символов может быть определен согласно каждой секции данных из слайса, картинки, последовательности и максимального блока кодирования видео, и информация способа кодирования символов, указывающая способ кодирования символов на каждой секции данных, может быть кодирована.
В операции 134 символы кодируются согласно способу кодирования, определенному в операции 133.
Символы, определенные согласно блокам данных, имеющим иерархическую структуру, могут быть кодированы и выведены согласно блокам данных, имеющим иерархическую структуру, согласно режиму иерархического кодирования символов. Только символы блоков данных на низшем уровне из блоков данных, имеющих иерархическую структуру, могут быть кодированы и выведены согласно режиму кодирования низшего уровня.
Таблица кодов символов может быть определена на основе частот шаблонов значений символов однородных символов, и коды символов, соответствующие шаблонам однородных символов блоков данных, могут быть выведены на основе таблицы кодов символов, согласно режиму группового кодирования однородных символов.
Контекст, совместно используемый разнородными символами, может быть определен, и разнородные символы блоков данных могут быть кодированы и выведены на основе совместно используемого контекста, согласно режиму группового кодирования разнородных символов. Коды символов разнородных символов блоков данных могут быть выведены на основе кодов символов, назначенных комбинациям значений символов разнородных символов, которые определяются взаимозависимо или последовательно, согласно режиму группового кодирования разнородных символов.
Значения символов блоков данных на низшем уровне могут быть обращены, и символы могут быть следовательно кодированы и выведены, согласно режиму кодирования с обращением символов.
На Фиг. 14 показана схема последовательности операций, иллюстрирующая способ декодирования видео для декодирования символов, имеющих древовидную структуру, согласно варианту осуществления настоящего изобретения.
В операции 141 принимается битовый поток, включающий в себя кодированную картинку видео. В операции 142 кодированные картинка и символы, определенные на основе блоков данных, имеющих иерархическую структуру, извлекаются из битового потока посредством синтаксического анализа битового потока.
В операции 143 кодированная картинка декодируется посредством использования символов посредством определения способа декодирования символов для символов и декодирования символов согласно способу декодирования, на основе характеристик символов, определенных на основе блоков данных, имеющих иерархическую структуру.
Способ декодирования символов может быть выборочно определен из режима иерархического декодирования символов, в котором символы, имеющие иерархическую структуру, декодируются согласно блокам данных, имеющим иерархическую структуру, и режима декодирования низшего уровня, в котором декодируются символы блоков данных на низшем уровне из блоков данных, имеющих иерархическую структуру.
Символы, определенные согласно блокам данных, имеющим иерархическую структуру, могут быть считаны и декодированы согласно блокам данных, имеющим иерархическую структуру, на основе режима иерархического декодирования символов.
Только символы блоков данных на низшем уровне могут быть считаны и символы остающихся блоков данных могут быть считаны на основе считанных символов блоков данных на низшем уровне, согласно режиму декодирования низшего уровня.
Способ декодирования символов может быть выборочно определен из режима группового декодирования однородных символов, в котором однородные символы группируются и декодируются на основе корреляции между значениями символов однородных символов, имеющих иерархическую структуру, и режима индивидуального декодирования однородных символов, в котором однородные символы декодируются индивидуально. Однородные символы и шаблоны значений символов однородных символов могут быть считаны из кодов символов однородных символов блоков данных, на основе таблицы кодов символов на основе частот шаблонов значений символов однородных символов, согласно режиму группового декодирования однородных символов.
Способ декодирования символов может быть выборочно определен из режима группового декодирования разнородных символов, в котором разнородные символы группируются и декодируются, и режима индивидуального декодирования разнородных символов, в котором разнородных символы декодируются индивидуально, на основе корреляции разнородных символов, имеющих иерархическую структуру.
Разнородные символы блоков данных могут быть считаны на основе контекста, определенного для совместного использования между разнородными символами, согласно режиму группового декодирования разнородных символов. Комбинации значений символов разнородных символов могут быть считаны, и каждый разнородный символ может быть считан на основе кодов символов, назначенных комбинациям значений символов разнородных символов, которые определяются взаимозависимо, согласно режиму группового декодирования разнородных символов.
Способ декодирования символов может быть выборочно определен из режима декодирования с обращением символов, в котором значения символов для символов блоков данных на низшем уровне из блоков данных, имеющих иерархическую структуру, обращаются и декодируются, и режима кодирования без обращения, в котором значения символов для символов блоков данных декодируются без обращения. Значения символов для символов блоков данных на низшем уровне из извлеченных значений символов могут быть обращены, и символы блоков данных на верхнем уровне могут быть декодированы на основе обращенных значений символов, согласно режиму декодирования с обращением символов.
Информация способа декодирования символов, указывающая способ декодирования символов, может быть извлечена согласно секции данных из слайса, картинки, последовательности и максимального блока кодирования видео, и способ декодирования символов, используемый на каждой секции данных, может быть определен на основе информации способа декодирования символов.
Символы эффективно кодируются, так как оптимальный способ кодирования символов определен согласно характеристикам символов, имеющих иерархическую структуру, определенным во время процесса кодирования блоков данных, имеющих иерархическую структуру, согласно кодированию символов и декодированию символов. Также, даже если приняты только некоторые из символов из символов, имеющих иерархическую структуру, остающиеся символы могут быть все восстановлены согласно способу декодирования символов, и таким образом символы могут быть эффективно декодированы.
Следовательно, так как видео кодируется на основе блоков данных, имеющих иерархическую структуру, во время процесса кодирования видео информация кодирования о способе кодирования и режиме кодирования может быть кодирована, чтобы точно декодировать видео. Информация кодирования, имеющая иерархическую структуру, может быть кодирована как символы и выведена в виде кодов символов. Так как информация кодирования о кодированной картинке считывается на основе блоков данных, имеющих иерархическую структуру, из восстановленных символов во время процесса декодирования видео, видео может быть воссоздано посредством воссоздания картинки и последовательности картинок посредством использования информации кодирования.
<КОДИРОВАНИЕ И ДЕКОДИРОВАНИЕ СИМВОЛОВ СОГЛАСНО БЛОКАМ КОДИРОВАНИЯ, ИМЕЮЩИМ ДРЕВОВИДНУЮ СТРУКТУРУ, И БЛОКАМ ПРЕОБРАЗОВАНИЯ, ИМЕЮЩИМ ДРЕВОВИДНУЮ СТРУКТУРУ>
В дальнейшем в этом документе, устройства кодирования и декодирования видео для кодирования и декодирования символов, имеющих древовидную структуру, на основе блоков кодирования, имеющих древовидную структуру, и блоков преобразования, имеющих древовидную структуру, и соответствующие способы кодирования и декодирования видео будут теперь описаны со ссылкой на Фиг. с 15 по 27.
Устройство 100 кодирования видео может кодировать видео на основе блоков кодирования и блоков преобразования, имеющих древовидную структуру.
Текущая картинка может быть разделена на основе максимального блока кодирования для текущей картинки изображения. Если текущая картинка больше, чем максимальный блок кодирования, данные изображения текущей картинки могут быть разделены на по меньшей мере один максимальный блок кодирования. Максимальный блок кодирования может быть блоком данных, имеющим размер 32×32, 64×64, 128×128, 256×256 и т.д., в котором формой блока данных является квадрат, имеющий ширину и длину 2 в степени, кратной двум. Иерархический кодер 120 картинки может кодировать данные картинки согласно по меньшей мере одному максимальному блоку кодирования.
Блок кодирования может характеризоваться максимальным размером и глубиной. Глубина обозначает число раз, которое блок кодирования пространственно разделен от максимального блока кодирования, и так как глубина углубляется, более глубокие блоки кодирования согласно глубинам могут быть разделены от максимального блока кодирования к минимальному блоку кодирования. Глубина максимального блока кодирования является наивысшей глубиной, и глубина минимального блока кодирования является низшей глубиной. Так как размер блока кодирования, соответствующего каждой глубине, уменьшается по мере того, как глубина максимального блока кодирования углубляется, блок кодирования, соответствующий верхней глубине, может включать в себя множество блоков кодирования, соответствующих нижним глубинам.
Как описано выше, данные изображения текущей картинки разделены на максимальные блоки кодирования согласно максимальному размеру блока кодирования, и каждый из максимальных блоков кодирования может включать в себя более глубокие блоки кодирования, которые разделены согласно глубинам. Так как максимальный блок кодирования разделен согласно глубинам, данные изображения пространственной области, включенные в максимальный блок кодирования, могут быть иерархически классифицированы согласно глубинам.
Максимальная глубина и максимальный размер блока кодирования, которые ограничивают итоговое число раз, которое высота и ширина максимального блока кодирования иерархически разделяются, могут быть определены.
Определитель 120 блоков кодирования кодирует по меньшей мере одну зону разделения, полученную посредством разделения зоны максимального блока кодирования согласно глубинам, и определяет глубину для вывода кодированных в итоге данных изображения согласно по меньшей мере одной области разделения.
Другими словами, определитель 120 блоков кодирования определяет кодируемую глубину посредством кодирования данных изображения в более глубоких блоках кодирования согласно глубинам, согласно максимальному блоку кодирования текущей картинки и выбора глубины, имеющей наименьшую ошибку кодирования. Определенная кодируемая глубина и кодированные данные изображения согласно определенной кодируемой глубине выводятся на выходной блок 130.
Иерархический кодер 120 картинки кодирует по меньшей мере одну зону разделения, полученную посредством разделения зоны максимального блока кодирования согласно глубинам, и определяет глубину для вывода кодированных в итоге данных изображения согласно по меньшей мере одной области разделения. Другими словами, иерархический кодер 120 картинки определяет кодируемую глубину посредством кодирования данных изображения в более глубоких блоках кодирования согласно глубинам, согласно максимальному блоку кодирования текущей картинки и выбору глубины, имеющей наименьшую ошибку кодирования.
Иерархический кодер 120 картинки может выводить кодированные данные изображения в более глубоких блоках кодирования согласно максимальному блоку кодирования. Также, иерархический кодер 120 картинки может передавать информацию об определенной кодируемой глубине на иерархический кодер 130 символов, так чтобы информация о кодируемой глубине кодировалась как информация кодирования.
Данные изображения в максимальном блоке кодирования кодируются на основе более глубоких блоков кодирования, соответствующих по меньшей мере одной глубине, равной или ниже максимальной глубины, и результаты кодирования данных изображения сравниваются на основе каждого из более глубоких блоков кодирования. Глубина, имеющая наименьшую ошибку кодирования, может быть выбрана после сравнения ошибок кодирования более глубоких блоков кодирования. По меньшей мере одна кодируемая глубина может быть выбрана для каждого максимального блока кодирования.
Размер максимального блока кодирования разделяется как блок кодирования, иерархически разделяется согласно глубинам и по мере увеличения числа блоков кодирования. Также, даже если блоки кодирования соответствуют одной и той же глубине в одном максимальном блоке кодирования, определяется разделять ли каждый из блоков кодирования, соответствующих одной и той же глубине, до нижней глубины посредством измерения ошибки кодирования данных изображения каждого блока кодирования, по отдельности. Следовательно, даже если данные изображения включены в один максимальный блок кодирования, ошибки кодирования могут различаться согласно областям в одном максимальном блоке кодирования, и таким образом, кодируемые глубины могут различаться согласно областям в данных изображения. Таким образом, одна или более кодируемых глубин могут быть определены в одном максимальном блоке кодирования, и данные изображения максимального блока кодирования могут быть поделены согласно блокам кодирования по меньшей мере одной кодируемой глубины.
Следовательно, иерархический кодер 120 картинки может определять блоки кодирования, имеющие древовидную структуру, включенную в максимальный блок кодирования. 'Блоки кодирования, имеющие древовидную структуру' включают в себя блоки кодирования, соответствующие глубине, определенной в качестве кодируемой глубины, из всех более глубоких блоков кодирования, включенных в максимальный блок кодирования. Блок кодирования кодируемой глубины может быть иерархически определен согласно глубинам в одной и той же зоне максимального блока кодирования и может быть независимо определен в разных зонах. Аналогично, кодируемая глубина в текущей зоне может быть независимо определена из кодируемой глубины в другой зоне.
Максимальная глубина является индексом, относящимся к числу раз разделения от максимального блока кодирования к минимальному блоку кодирования. Первая максимальная глубина может обозначать итоговое число раз разделения от максимального блока кодирования к минимальному блоку кодирования. Вторая максимальная глубина может обозначать итоговое число уровней глубины от максимального блока кодирования к минимальному блоку кодирования. Например, когда глубина максимального блока кодирования является 0, глубина блока кодирования, в котором максимальный блок кодирования разделен один раз, может быть задана в 1, и глубина блока кодирования, в котором максимальный блок кодирования разделен дважды, может быть задана в 2. Здесь, если минимальный блок кодирования является блоком кодирования, в котором максимальный блок кодирования разделен четыре раза, существуют 5 уровней глубины 0, 1, 2, 3 и 4, и таким образом первая максимальная глубина может быть задана в 4, и вторая максимальная глубина может быть задана в 5.
Кодирование с предсказанием и преобразование могут быть выполнены согласно максимальному блоку кодирования. Кодирование с предсказанием и преобразование также выполняются на основе более глубоких блоков кодирования согласно глубине, равной, или глубинам меньше, чем максимальная глубина, согласно максимальному блоку кодирования.
Так как число более глубоких блоков кодирования увеличивается всегда, когда максимальный блок кодирования разделяется согласно глубинам, кодирование, включающее в себя кодирование с предсказанием и преобразование, выполняется над всеми более глубокими блоками кодирования, сгенерированными по мере углубления глубины. Для удобств описания, кодирование с предсказанием и преобразование будут теперь описаны на основе блока кодирования и текущей глубины, в максимальном блоке кодирования.
Устройство 100 кодирования видео может различным образом выбирать размер и форму блока данных для кодирования данных изображения. Для того чтобы кодировать данные изображения, выполняются операции, такие как кодирование с предсказанием, преобразование и энтропийное кодирование, и в это время, один и тот же блок данных может быть использован для всех операций, или разные блоки данных могут быть использованы для каждой операции.
Например, устройство 100 кодирования видео может выбирать не только блок кодирования для кодирования данных изображения, но также блок данных, отличный от блока кодирования, так чтобы выполнить кодирование с предсказанием над данными изображения в блоке кодирования.
Для того чтобы выполнить кодирование с предсказанием в максимальном блоке кодирования, кодирование с предсказанием может быть выполнено на основе блока кодирования, соответствующего кодируемой глубине, т.е. на основе блока кодирования, который больше не разделяется на блоки кодирования, соответствующие нижней глубине. В дальнейшем блок кодирования, который больше не разделяется и становится основным блоком для кодирования с предсказанием, будет называться 'блоком предсказания'. Ячейка, полученная посредством разделения блока предсказания, может включать в себя блок предсказания или блок данных, полученный посредством разделения по меньшей мере одного из высоты и ширины блока предсказания.
Например, когда блок кодирования 2N×2N (где N является положительным целочисленным) больше не разделяется и становится блоком предсказания 2N×2N, и размер ячейки может быть 2N×2N, 2N×N, N×2N и N×N. Примеры типа ячейки включают в себя симметричные ячейки, которые получены посредством симметричного разделения высоты или ширины блока предсказания, ячейки, полученные посредством асимметричного разделения высоты или ширины блока предсказания, как например, 1:n или n:1, ячейки, которые получены посредством геометрического разделения блока предсказания, и ячейки, имеющие произвольные формы.
Режим предсказания блока предсказания может быть по меньшей мере одним из внутреннего режима, внешнего режима и режима пропуска. Например, внутренний режим или внешний режим могут быть выполнены над ячейкой 2N×2N, 2N×N, N×2N или N×N. Также, режим пропуска может быть выполнен только на ячейке 2N×2N. Кодирование независимо выполняется над одним блоком предсказания в блоке кодирования, тем самым выбирая режим предсказания, имеющий наименьшую ошибку предсказания.
Устройство 100 кодирования изображения может также выполнять преобразование над данными изображения в блоке кодирования на основе не только блока кодирования для кодирования данных изображения, но также на основе блока данных, который отличается от блока кодирования.
Для того чтобы выполнить преобразование в блоке кодирования, преобразование может быть выполнено на основе блока данных, имеющего размер меньший, чем, или равный, блок кодирования. Например, блок данных для преобразования может включать в себя блок данных для внутреннего режима и блок данных для внешнего режима.
Аналогично блоку кодирования, блок преобразования в блоке кодирования может быть рекурсивно разделен на зоны меньшего размера, так что блок преобразования может быть определен независимо в блоках зон. Таким образом, остаточные данные в блоке кодирования могут быть поделены согласно блоку преобразования, имеющего древовидную структуру, согласно глубинам преобразования.
Глубина преобразования, указывающая число раз разделения для достижения блока преобразования посредством разделения высоты и ширины блока кодирования, может также быть задана в блоке преобразования. Например, в текущем блоке кодирования 2N×2N, глубина преобразования может быть 0, когда размером блока преобразования является 2N×2N, может быть 1, когда размером блока преобразования является N×N, и может быть 2, когда размером блока преобразования является N/2×N/2. Другими словами, блок преобразования, имеющий древовидную структуру, может быть задан согласно глубинам преобразования.
Информация кодирования согласно блокам кодирования, соответствующим кодируемой глубине, требует не только информацию о кодируемой глубине, но также информацию, относящуюся к кодированию с предсказанием и преобразованию. Следовательно, иерархический кодер 120 картинки не только определяет кодируемую глубину, имеющую наименьшую ошибку предсказания, но также определяет тип ячейки в блоке предсказания, режим предсказания согласно блокам предсказания и размер блока преобразования для преобразования.
В качестве альтернативы, иерархический кодер 120 картинки может выполнять кодирование посредством использования блоков преобразования, имеющих древовидную структуру, в то же время кодируя блок кодирования, на основе максимального уровня разделения блоков преобразования, до предельно заданного согласно максимальному блоку кодирования текущего блока кодирования.
Основной блок преобразования, имеющий размер меньший, чем, или равный, блок кодирования, может быть разделен на блоки преобразования, имеющие более низкие глубины преобразования, согласно более глубоким блокам кодирования. Блоки преобразования, имеющие иерархическую структуру, могут включать в себя основной блок преобразования, имеющий разрешенный в текущий момент максимальный размер, и блоки преобразования от максимального уровня разделения к нижним уровням, разрешенным в блоке кодирования.
Иерархический кодер 120 картинки может определять блоки преобразования, имеющие древовидную структуру, которые являются независимыми от блоков преобразования в примыкающих зонах и от иерархической структуры между блоками преобразования согласно глубинам преобразования в одной и той же зоне, согласно результатам выполнения преобразования согласно уровням глубин преобразования в текущем блоке преобразования.
Другими словами, блоки преобразования, имеющие древовидную структуру, могут быть определены посредством сравнения результатов выполнения преобразования посредством использования блоков преобразования, имеющих различные размеры согласно блокам кодирования. Во время определения блоков кодирования блоки преобразования для преобразования блоков кодирования могут быть определены.
Блоки преобразования одной или более глубин преобразования могут быть использованы согласно более глубоким блокам кодирования одной или более глубин и кодируемых глубин.
Блок преобразования, имеющий наименьшую ошибку предсказания, может быть определен на каждый блок кодирования. Для того чтобы определить глубину преобразования, которая генерирует наименьшую ошибку предсказания в блоке преобразования, ошибки кодирования могут быть измерены и сравнены согласно блокам преобразования всех глубин преобразования. Блок преобразования может быть определен как блок данных, который уменьшает ошибку согласно преобразованию блока кодирования.
Следовательно, так как комбинация, имеющая наименьшую ошибку предсказания, определяется из комбинаций более глубоких блоков кодирования и блоков преобразования, и комбинация индивидуально определяется согласно зонам в максимальном блоке кодирования, блоки кодирования, имеющие древовидную структуру, и блоки преобразования, имеющие древовидную структуру, могут быть определены.
Способы определения блоков кодирования, имеющих древовидную структуру в максимальном блоке кодирования, ячеек и блоков преобразования, имеющих древовидную структуру, согласно вариантам осуществления настоящего изобретения будут описаны подробно позднее со ссылкой на Фиг. с 15 по 25.
Иерархический кодер 120 картинки может измерять ошибку кодирования более глубоких блоков кодирования согласно глубинам посредством использования оптимизации искажений в зависимости от скорости передачи на основе множителей Лагранжа.
Устройство 100 кодирования видео может выводить данные изображения максимального блока кодирования, который кодируется на основе по меньшей мере одной кодируемой глубины, определенной иерархическим кодером 120 картинки, и информацию о режиме кодирования согласно кодируемой глубине, которая является кодированной иерархическим кодером 130 символов, в битовых потоках.
Информация о режиме кодирования, определенная по мере того, как картинка кодируется на основе блоков кодирования, блоков предсказания и блоков преобразования, имеющих древовидную структуру, может быть включена в заголовок, SPS или PPS битового потока.
Кодированные данные изображения могут быть получены посредством кодирования остаточных данных изображения.
Информация о режиме кодирования согласно кодируемой глубине может включать в себя информацию о кодируемой глубине, о типе ячейки в блоке предсказания, режиме предсказания и размере блока преобразования.
Информация о кодируемой глубине может быть задана посредством использования информации разделения согласно глубинам, которая указывает, выполняется ли кодирование над блоками кодирования нижней глубины вместо текущей глубины. Если текущая глубина текущего блока кодирования является кодируемой глубиной, данные изображения в текущем блоке кодирования кодируются и выводятся, и таким образом, информация разделения может быть задана, чтобы не разделять текущий блок кодирования до нижней глубины. В качестве альтернативы, если текущая глубина текущего блока кодирования не является кодируемой глубиной, кодирование выполняется над блоком кодирования нижней глубины, и таким образом, информация разделения может быть задана, чтобы разделять текущий блок кодирования для получения блоков кодирования нижней глубины.
Если текущая глубина не является кодируемой глубиной, кодирование выполняется над блоком кодирования, который разделен на блок кодирования нижней глубины. Так как по меньшей мере один блок кодирования нижней глубины существует в одном блоке кодирования текущей глубины, кодирование часто выполняется над каждым блоком кодирования нижней глубины, и таким образом, кодирование может быть рекурсивно выполнено для блоков кодирования, имеющих одинаковую глубину.
Так как блоки кодирования, имеющие древовидную структуру, определяются для одного максимального блока кодирования, и информация о по меньшей мере одном режиме кодирования определяется для блока кодирования кодируемой глубины, информация о по меньшей мере одном режиме кодирования может быть определена для одного максимального блока кодирования. Также, кодируемая глубина данных изображения максимального блока кодирования может быть другой согласно размещениям, так как данные изображения иерархически разделены согласно глубинам, и таким образом, информация о кодируемой глубине и режиме кодирования может быть задана для данных изображения.
Следовательно, иерархический кодер 130 символов может назначать информацию кодирования о соответствующей кодируемой глубине и режиме кодирования по меньшей мере одному из блока кодирования, блока предсказания и минимального блока, включенных в максимальный блок кодирования.
Минимальный блок является квадратным блоком данных, полученным посредством разделения минимального блока кодирования, составляющим нижнюю глубину, на 4. В качестве альтернативы, минимальный блок может быть максимальным квадратным блоком данных, который может быть включен во все блоки кодирования, блоки предсказания, блоки ячеек и блоки преобразования, включенные в максимальный блок кодирования.
Например, информация кодирования, выведенная через иерархический кодер 130 символов, может быть классифицирована на информацию кодирования согласно блокам кодирования и информацию кодирования согласно блокам предсказания. Информация кодирования согласно блокам предсказания может включать в себя информацию о режиме предсказания и о размере ячеек. Информация кодирования согласно блокам предсказания может включать в себя информацию о оцененном направлении внешнего режима, об индексе опорного изображения внешнего режима, о векторе движения, о составляющей цветности внутреннего режима и о способе интерполяции внутреннего режима.
Информация о максимальном размере блока кодирования согласно картинкам, слайсам, или GOP, и информация о максимальной глубине может быть вставлена в заголовок, SPS или PPS битового потока.
Также, информация о способе кодирования символов, используемом для кодирования текущего видео, или о способе декодирования символов, требуемом для декодирования текущего видео, может быть выведена через заголовок, SPS или PPS битового потока.
В устройстве 100 кодирования видео более глубокий блок кодирования может быть блоком кодирования, полученным посредством деления высоты или ширины блока кодирования верхней глубины, которая является на один уровень выше, на два. Другими словами, когда размером блока кодирования текущей глубины является 2N×2N, размером блока кодирования нижней глубины является N×N. Также, блок кодирования текущей глубины, имеющий размер 2N×2N, может включать в себя максимум 4 из блоков кодирования нижней глубины.
Следовательно, устройство 100 кодирования видео может образовывать блоки кодирования, имеющие древовидную структуру, посредством определения блоков кодирования, имеющих оптимальную форму и оптимальный размер для каждого максимального блока кодирования, на основе размера максимального блока кодирования и максимальной глубины, определенных с учетом характеристик текущей картинки. Также, так как кодирование может быть выполнено над каждым максимальным блоком кодирования посредством использования любого из различных режимов предсказания и преобразований, оптимальный режим кодирования может быть определен с учетом характеристик блока кодирования различных размеров изображения.
Таким образом, если изображение, имеющее высокое разрешение или большое количество данных, кодируется в обыкновенном макроблоке, число макроблоков на каждую картинку чрезмерно увеличивается. Следовательно, число порций сжатой информации, сгенерированной для каждого макроблока, увеличивается, и таким образом, сложно передавать сжатую информацию, и эффективность сжатия данных уменьшается. Однако, посредством использования устройства 100 кодирования видео, эффективность сжатия изображения может быть увеличена, так как блок кодирования регулируется по мере учета характеристик изображения, в то же время увеличивая максимальный размер блока кодирования по мере учета размера изображения.
Иерархический кодер 130 символов может кодировать и выводить информацию кодирования, указывающую информацию о способе кодирования, используемом для кодирования на основе блоков кодирования, имеющих иерархическую структуру, и блоков преобразования, имеющих древовидную структуру. Информация кодирования может включать с себя информацию о кодируемой глубине и информацию о различных режимах кодирования блоков кодирования кодируемых глубин.
Так как видео кодируется на основе блоков кодирования, имеющих древовидную структуру, и блоков преобразования, имеющих древовидную структуру, информация кодирования может также иметь древовидную структуру согласно блокам кодирования и блокам преобразования.
Иерархический кодер 130 символов может кодировать информацию кодирования, имеющую древовидную структуру, как символы. Как описано выше со ссылкой на Фиг. 1-14, иерархический кодер 130 символов может выборочно определять способ кодирования символов на основе характеристик символов информации о режиме кодирования в древовидной структуре. Информация о режиме кодирования в древовидной структуре может быть кодирована на основе определенного способа кодирования символов. Информация о способе кодирования символов может быть кодирована для вывода с информацией кодирования.
Следовательно, иерархический кодер 130 символов устройства 100 кодирования видео может выводить информацию кодирования блоков кодирования, имеющую древовидную структуру, и информацию способа кодирования символов, согласно максимальным блокам кодирования. Следовательно, битовый поток, кодированный и выведенный устройством 100 кодирования видео, может включать в себя кодированные данные, информацию кодирования и информацию способа кодирования символов картинки, кодированной согласно блокам кодирования, имеющим древовидную структуру.
Определения различных терминов, таких как блок кодирования, глубина, блок предсказания, блок преобразования и информация о различных режимах кодирования, для различных операций устройства 200 декодирования видео являются идентичными определениям терминов, описанных со ссылкой на Фиг. 1 и устройство 100 кодирования видео.
Устройство 200 декодирования видео принимает битовый поток кодированного видео. Иерархическое устройство 220 извлечения символов и данных осуществляет синтаксический анализ принятого битового потока. Иерархическое устройство 220 извлечения символов и данных извлекает кодированные данные изображения для каждого блока кодирования из подвергнутого синтаксическому анализу битового потока, в котором блоки кодирования имеют древовидную структуру согласно каждому максимальному блоку кодирования, и выводит извлеченные данные изображения на иерархический декодер 230 картинки. Иерархическое устройство 220 извлечения символов и данных может извлекать информацию о максимальном размере блока кодирования текущей картинки из заголовка, SPS или PPS о текущей картинке.
Также, иерархическое устройство 220 извлечения символов и данных извлекает информацию кодирования о блоках кодирования, имеющих древовидную структуру, согласно каждому максимальному блоку кодирования, из подвергнутого синтаксическому анализу битового потока. Информация о кодируемой глубине и режиме кодирования извлекаются из информации кодирования. Извлеченная информация о кодируемой глубине и режиме кодирования выводится на иерархический декодер 230 картинки. Другими словами, данные изображения в строке битов разделяются на максимальный блок кодирования, так чтобы иерархический декодер 230 картинки декодировал данные изображения для каждого максимального блока кодирования.
Информация о кодируемой глубине и режиме кодирования согласно максимальному блоку кодирования может быть задана для информации о по меньшей мере одном блоке кодирования, соответствующем кодируемой глубине, и информация о режиме кодирования может включать в себя информацию о типе ячейки соответствующего блока кодирования, соответствующего кодируемой глубине, о режиме предсказания и размере блока преобразования. Также, информация разделения согласно глубинам может быть извлечена как информация о кодируемой глубине.
Информация о кодируемой глубине и режиме кодирования согласно каждому максимальному блоку кодирования, извлеченная иерархическим устройством 220 извлечения символов и данных, является информацией о кодируемой глубине и режиме кодирования, определенного для генерирования минимальной ошибки кодирования, когда кодер, такой как устройство 100 кодирования видео, часто выполняет кодирование каждого более глубокого блока кодирования согласно глубинам, согласно каждому минимальному блоку кодирования. Следовательно, устройство 200 декодирования видео может воссоздать изображение посредством декодирования данных изображения согласно кодируемой глубине и режиму кодирования, который генерирует минимальную ошибку кодирования.
Иерархическое устройство 220 извлечения символов и данных может также извлекать информацию способа декодирования символов, требуемую для декодирования символов, имеющих древовидную структуру, описанных со ссылкой на Фиг. 1-14, из битового потока. Извлеченная информация способа декодирования символов может соответствовать информации способа кодирования символов, переданной устройством 100 кодирования видео.
Также, иерархическое устройство 220 извлечения символов и данных может извлекать информацию кодирования, требуемую для декодирования принятого битового потока, из заголовка, SPS или PPS битового потока. Иерархическое устройство 220 извлечения символов и данных может также извлекать информацию способа декодирования символов из заголовка, SPS или PPS битового потока. Информация кодирования и информация способа декодирования символов могут быть извлечены не только из картинки или слайса, но также из максимального блока кодирования или блока кодирования.
Иерархический декодер 230 картинки может декодировать и считывать информацию кодирования, имеющую древовидную структуру, из извлеченной информации кодирования на основе способа декодирования символов, определенного согласно информации способа декодирования символов. Если только принята некоторая информация кодирования, имеющая древовидную структуру, вся информация кодирования, имеющая древовидную структуру, может быть восстановлена и считана посредством декодирования символов согласно способу декодирования символов. Следовательно, информация о кодируемой глубине и режиме кодирования, требуемом для декодирования кодированной картинки на основе блоков кодирования, имеющих древовидную структуру, согласно максимальным блокам кодирования, может быть считана.
Так как информация кодирования о кодируемой глубине и режиме кодирования может быть назначена предварительно определенному блоку данных из соответствующего блока кодирования, блока предсказания и минимального блока, иерархическое устройство 220 извлечения символов и данных может извлекать информацию о кодируемой глубине и режиме кодирования согласно предварительно определенным блокам данных. Если информация о кодируемой глубине и режиме кодирования соответствующего максимального блока кодирования записывается согласно предварительно определенным блокам данных, предварительно определенные блоки данных, которым назначена та же информация о кодируемой глубине и режиме кодирования, могут предполагаться в качестве блоков данных, включенных в тот же максимальный блок кодирования.
Иерархический декодер 230 картинки может определять по меньшей мере одну кодируемую глубину текущего максимального блока кодирования посредством использования информации разделения согласно глубинам. Если информация разделения указывает, что данные изображения больше не разделяются при текущей глубине, текущая глубина является кодируемой глубиной. Следовательно, иерархический декодер картинки 230 может декодировать кодированные данные по меньшей мере одного блока кодирования, соответствующего каждой кодируемой глубине в текущем максимальном блоке кодирования посредством использования информации о типе ячейки блока предсказания, режиме предсказания и размере блока преобразования для каждого блока кодирования, соответствующего кодируемой глубине.
Другими словами, блоки данных, содержащие информацию кодирования, включающую в себя одинаковую информацию разделения, могут быть собраны посредством наблюдения набора информации кодирования, назначенного для предварительно определенного блока данных из блока кодирования, блока предсказания и минимального блока, и собранные блоки данных могут быть учтены в качестве одного блока данных, который подлежит декодированию посредством декодера 230 данных изображения в том же режиме кодирования.
Иерархический декодер 230 картинки может воссоздать текущую картинку посредством декодирования данных изображения в каждом максимальном блоке кодирования, на основе информации о кодируемой глубине и режиме кодирования согласно максимальным блокам кодирования. Другими словами, иерархический декодер 230 картинки может считывать тип ячейки, режим предсказания и блок преобразования как режимы кодирования для каждого блока кодирования из блоков кодирования, имеющих древовидную структуру, включенных в каждый максимальный блок кодирования. Процесс декодирования может включать в себя предсказание, включающее в себя внутреннее предсказание и компенсацию движения, и обратное преобразование.
Иерархический декодер 230 картинки может выполнить внутреннее предсказание или компенсацию движения согласно ячейке и режиму предсказания каждого блока кодирования на основе информации о типе ячейки и режиме предсказания блока предсказания блока кодирования согласно кодируемым глубинам.
Также, иерархический декодер 230 картинки может считывать структуру блоков преобразования, имеющих древовидную структуру, и выполнять обратное преобразование на основе блоков преобразования согласно блокам кодирования.
Устройство 200 декодирования видео может получить информацию о по меньшей мере одном блоке кодирования, который генерирует минимальную ошибку кодирования, когда кодирование рекурсивно выполняется для каждого максимального блока кодирования, и может использовать информацию для декодирования текущей картинки. Другими словами, блоки кодирования, имеющие древовидную структуру, определенные в качестве оптимальных блоков кодирования в каждом максимальном блоке кодирования, могут быть декодированы.
Следовательно, даже если данные изображения имеют высокое разрешение и большое количество данных, данные изображения могут быть эффективно декодированы и воссозданы посредством использования размера блока кодирования и режима кодирования, которые адаптивно определяются согласно характеристикам данных изображения, посредством использования информации об оптимальном режиме кодирования, принятой от кодера.
На Фиг. 15 показана диаграмма для описания концепции блоков кодирования согласно варианту осуществления настоящего изобретения.
Размер блока кодирования может быть выражен как ширина × высота и может быть 64×64, 32×32, 16×16 и 8×8. Блок кодирования 64×64 может быть разделен на ячейки 64×64, 64×32, 32×64 или 32×32 и блок кодирования 32×32 может быть разделен на ячейки 32×32, 32×16, 16×32 или 16×16, блок кодирования 16×16 может быть разделен на ячейки 16×16, 16×8, 8×16 и 8×8 и блок кодирования 8×8 может быть разделен на ячейки 8×8, 8×4, 4×8 или 4×4.
В видеоданных 310 разрешение равно 1920×1080, максимальный размер блока кодирования равен 64 и максимальная глубина равна 2. В видеоданных 320 разрешение равно 1920×1080, максимальный размер блока кодирования равен 64 и максимальная глубина равна 3. В видеоданных 330, разрешение равно 352×288, максимальный размер блока кодирования равен 16 и максимальная глубина равна 1. Максимальная глубина, показанная на Фиг. 15, обозначает итоговое число разделений от максимального блока кодирования к минимальному блоку кодирования.
Если разрешение является высоким или количество данных является большим, максимальных размер блока кодирования может быть большим, с тем чтобы не только увеличить эффективность кодирования, но также точно отразить характеристики изображения. Следовательно, максимальных размер блока кодирования видеоданных 310 и 320, имеющих более высокое разрешение, чем видеоданные 330, может быть 64.
Так как максимальная глубина видеоданных 310 равна 2, блоки 315 кодирования видеоданных 310 могут включать в себя максимальный блок кодирования, имеющий размер длинной оси 64, и блоки кодирования, имеющие размеры длинных осей 32 и 16, так как глубины углубляются на два уровня посредством разделения максимального блока кодирования дважды. При этом, так как максимальная глубина видеоданных 330 составляет 1, блоки 335 кодирования видеоданных 330 могут включать в себя максимальный блок кодирования, имеющий размер длинной оси 16, и блоки кодирования, имеющие размер длинной оси 8, так как глубины углубляются на один уровень посредством разделения максимального блока кодирования один раз.
Так как максимальная глубина видеоданных 320 составляет 3, блоки 325 кодирования видеоданных 320 могут включать в себя максимальный блок кодирования, имеющий размер длинной оси 64, и блоки кодирования, имеющие размеры длинных осей 32, 16 и 8, так как глубины углубляются на 3 уровня посредством разделения максимального блока кодирования три раза. Так как глубина углубляется, подробная информация может быть в точности выражена.
На Фиг. 16 показана блок-схема кодера 400 изображения на основе блоков кодирования согласно варианту осуществления настоящего изобретения.
Кодер 400 изображения выполняет операции определителя 120 блоков кодирования устройства 100 кодирования видео для кодирования данных изображения. Другими словами, устройство 410 внутреннего предсказания выполняет внутреннее предсказание над блоками во внутреннем режиме из текущего кадра 405, и устройство 420 оценки движения и компенсатор 425 движения выполняют внешнюю оценку и компенсацию движения над блоками кодирования во внешнем режиме из текущего кадра 405 посредством использования текущего кадра 405 и опорного кадра 495.
Данные, выведенные из устройства 410 внутреннего предсказания, устройства 420 оценки движения и компенсатора 425 движения, вводятся как квантованные коэффициенты преобразования через преобразователь 430 и устройство 440 квантования. Квантованный коэффициент преобразования воссоздается в качестве данных в пространственной области посредством устройства 460 обратного квантования и обратный преобразователь 470, и воссозданные данные в пространственной области выводятся в качестве опорного кадра 495 после постобработки посредством блока 480 удаления блочности и контурного блока 490 фильтрации. Квантованный коэффициент преобразования может быть выведен как битовый поток 455 через энтропийный кодер 450.
Для того чтобы кодер 400 изображения был применен в устройстве 100 кодирования видео, все элементы кодера 400 изображения, т.е. устройство 410 внутреннего предсказания, устройство 420 оценки движения, компенсатор 425 движения, преобразователь 430, устройство 440 квантования, энтропийный кодер 450, устройство 460 обратного квантования, обратный преобразователь 470, блок 480 удаления блочности и контурный блок 490 фильтрации, выполняют операции на основе каждого блока кодирования из блоков кодирования, имеющих древовидную структуру, в то же время учитывая максимальную глубину каждого максимального блока кодирования.
Конкретно, устройство 410 внутреннего предсказания, устройство 420 оценки движения и компенсатор 425 движения определяют ячейки и режим предсказания каждого блока кодирования из блоков кодирования, имеющих древовидную структуру, в то же время учитывая максимальный размер и максимальную глубину текущего максимального блока кодирования, и преобразователь 430 определяет размер блока преобразования в каждом блоке кодирования из блоков кодирования, имеющих древовидную структуру.
На Фиг. 17 показана блок-схема декодера 500 изображения на основе блоков кодирования согласно варианту осуществления настоящего изобретения.
Устройство 510 синтаксического анализа осуществляет синтаксический анализ кодированных данных изображения, которые подлежат декодированию, и информации о кодировании, требуемой для декодирования, из битового потока 505. Кодированные данные изображения выводятся как обратно квантованные данные посредством энтропийного декодера 520 и устройства 530 обратного квантования, и обратно квантованные данные воссоздаются в данные изображения в пространственной области посредством обратного преобразователя 540.
Устройство 550 внутреннего предсказания выполняет внутреннее предсказание над блоками кодирования во внутреннем режиме по отношению к данным изображения в пространственной области, и компенсатор 560 движения выполняет компенсацию движения над блоками кодирования во внешнем режиме посредством использования опорного кадра 585.
Данные изображения в пространственной области, которые проходят через устройство 550 внутреннего предсказания и компенсатор 560 движения, могут быть выведены в качестве воссозданного кадра 595 после постобработки посредством блока 570 удаления блочности и контурного блока 580 фильтрации. Также, данные изображения, которые являются постобработанными посредством блока 570 удаления блочности и контурного блока 580 фильтрации, могут быть выведены в качестве опорного кадра 585.
Для того чтобы декодировать данные изображения в декодере 230 данных изображения устройства 200 декодирования видео, декодер 500 изображения может выполнять операции, которые выполняются после устройства 510 синтаксического анализа.
Для того чтобы декодер 500 изображения был применен в устройстве 200 декодирования видео, все элементы декодера 500 изображения, т.е. энтропийный декодер 520, устройство 530 обратного квантования, обратный преобразователь 540, устройство 550 внутреннего предсказания, компенсатор 560 движения, блок 570 удаления блочности и контурный блок 580 фильтрации, выполняют операции на основе блоков кодирования, имеющих древовидную структуру, для каждого максимального блока кодирования.
Конкретно, устройство 550 внутреннего предсказания и компенсатор 560 движения выполняют операции на основе ячеек и режима предсказания для каждого из блоков кодирования, имеющих древовидную структуру, и обратный преобразователь 540 выполняет операции на основе размера блока преобразования для каждого блока кодирования.
На Фиг. 18 показана диаграмма, иллюстрирующая более глубокие блоки кодирования согласно глубинам, и ячейки согласно варианту осуществления настоящего изобретения.
Устройство 100 кодирования видео и устройство 200 декодирования видео используют блоки кодирования, чтобы учесть характеристики изображения. Максимальная высота, максимальная ширина и максимальная глубина блоков кодирования могут быть адаптивно определены согласно характеристикам изображения или могут быть по-разному заданы пользователем. Размеры более глубоких блоков кодирования согласно глубинам могут быть определены согласно предварительно определенному максимальному размеру блока кодирования.
В иерархической структуре 600 блоков кодирования, максимальная высота и максимальная ширина блоков кодирования составляет каждая 64 и максимальная глубина составляет 3. Здесь, максимальная глубина обозначает итоговое число раз, которое блок кодирования разделен от максимального блока кодирования к минимальному блоку кодирования. Так как глубина углубляется вдоль вертикальной оси иерархической структуры 600, высота и ширина более глубокого блока кодирования являются каждая разделенными. Также, блок предсказания и ячейки, которые являются основами для кодирования с предсказанием для каждого более глубокого блока кодирования, показаны вдоль горизонтальной оси иерархической структуры 600.
Другими словами, блок 610 кодирования является максимальным блоком кодирования в иерархической структуре 600, в котором глубина составляет 0 и размер, т.е. высота на ширину, равен 64×64. Глубина углубляется вдоль вертикальной оси, и блок 620 кодирования, имеющий размер 32×32 и глубину 1, блок 630 кодирования, имеющий размер 16×16 и глубину 2, и блок 640 кодирования, имеющий размер 8×8 и глубину 3, существуют. Блок 640 кодирования, имеющий размер 8×8 и глубину 3, является минимальным блоком кодирования.
Блок предсказания и ячейки блока кодирования расположены вдоль горизонтальной оси согласно каждой глубине. Другими словами, если блок 610 кодирования, имеющий размер 64×64 и глубину 0, является блоком предсказания, блок предсказания может быть разделен на ячейки, включенные в блок 610 кодирования, т.е. ячейку 610, имеющую размер 64×64, ячейки 612, имеющие размер 64×32, ячейки 614, имеющие размер 32×64, или ячейки 616, имеющие размер 32×32.
Аналогично, блок предсказания блока 620 кодирования, имеющего размер 32×32 и глубину 1, может быть разделен на ячейки, включенные в блок 620 кодирования, т.е. ячейку 620, имеющую размер 32×32, ячейки 622, имеющие размер 32×16, ячейки 624, имеющие размер 16×32, или ячейки 626, имеющие размер 16×16.
Аналогично, блок предсказания блока 630 кодирования, имеющего размер 16×61 и глубину 2, может быть разделен на ячейки, включенные в блок 630 кодирования, т.е. ячейку, имеющую размер 16×16, включенную в блок 630 кодирования, ячейки 632, имеющие размер 16×8, ячейки 634, имеющие размер 8×16, или ячейки 636, имеющие размер 8×8.
Аналогично, блок предсказания блока 640 кодирования, имеющего размер 8×8 и глубину 3, может быть разделен на ячейки, включенные в блок 640 кодирования, т.е. ячейку, имеющую размер 8×8, включенную в блок 640 кодирования, ячейки 642, имеющие размер 8×4, ячейки 644, имеющие размер 4×8, или ячейки 646, имеющие размер 4×4.
Для того чтобы определить по меньшей мере одну кодируемую глубину блоков кодирования, составляющих максимальный блок 610 кодирования, иерархический кодер 120 картинки устройства 100 кодирования видео выполняет кодирование для блоков кодирования, соответствующих каждой глубине в максимальном блоке 610 кодирования.
Число более глубоких блоков кодирования согласно глубинам, включающих в себя данные при одинаковом диапазоне и одинаковом размере, увеличивается по мере того, как глубина углубляется. Например, четыре блока кодирования, соответствующие глубине 2, требуются для восстановления данных, которые включены в один блок кодирования, соответствующий глубине 1. Следовательно, для того, чтобы сравнить результаты кодирования одинаковых данных согласно глубинам, блок кодирования, соответствующий глубине 1, и четыре блока кодирования, соответствующих глубине 2, каждый кодируются.
Для того чтобы выполнять кодирование для текущей глубины из глубин, наименьшая ошибка предсказания может быть выбрана для текущей глубины посредством выполнения кодирования для каждого блока предсказания в блоках кодирования, соответствующих текущей глубине, вдоль горизонтальной оси иерархической структуры 600. В качестве альтернативы, минимальная ошибка кодирования может быть разыскиваемой посредством сравнения минимальных ошибок кодирования, согласно глубинам, посредством выполнения кодирования для каждой глубины по мере того, как глубина углубляется вдоль вертикальной оси иерархической структуры 600. Глубина и ячейка, имеющие минимальную ошибку кодирования в блоке 610 кодирования, могут быть выбраны как кодируемая глубина и тип ячейки блока 610 кодирования.
На Фиг. 19 показана диаграмма для описания взаимосвязи между блоком 710 кодирования и блоками 720 преобразования согласно варианту осуществления настоящего изобретения.
Устройство 100 кодирования видео или устройство 200 декодирования видео кодирует или декодирует изображение согласно блокам кодирования, имеющим размеры, меньшие, чем, или равные, максимальный блок кодирования для каждого максимального блока кодирования. Размеры блоков преобразования для преобразования во время кодирования могут быть выбраны на основе блоков данных, которые не больше, чем соответствующий блок кодирования.
Например, в устройстве 100 кодирования видео или устройстве 200 декодирования видео, если размер блока 710 кодирования составляет 64×64, преобразование может быть выполнено посредством использования блоков 720 преобразования, имеющих размер 32×32.
Также, данные блока 710 кодирования, имеющего размер 64×64, могут быть кодированы посредством выполнения преобразования над каждым из блоков преобразования, имеющих размеры 32×32, 16×16, 8×8 и 4×4, которые меньше, чем 64×64, и тогда блок преобразования, имеющий наименьшую ошибку кодирования, может быть выбран.
На Фиг. 20 показана диаграмма для описания информации кодирования блоков кодирования в соответствии с кодируемой глубиной, согласно варианту осуществления настоящего изобретения.
Иерархический кодер 130 символов устройства 100 кодирования видео может кодировать и передавать информацию 800 о типе ячейки, информацию 810 о режиме предсказания и информацию 820 о размере блока преобразования для каждого блока кодирования, соответствующего кодируемой глубине, как информацию о режиме кодирования.
Информация 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.
Информация 810 указывает режим предсказания каждой ячейки. Например, информация 810 может указывать режим кодирования с предсказанием, выполняемого над ячейкой, указанной информацией 800, т.е. внутренний режим 812, внешний режим 814, или режим пропуска 816.
Информация 820 указывает блок преобразования, на котором следует основываться, когда преобразование выполняется над текущим блоком кодирования. Например, блок преобразования может быть первым внутренним блоком 822 преобразования, вторым внутренним блоком 824 преобразования, первым внешним блоком 826 преобразования или вторым внешним блоком 828 преобразования.
Устройство 220 извлечения данных изображения и информации кодирования устройства 200 декодирования видео может извлекать и использовать информацию 800, 810 и 820 для декодирования согласно каждому более глубокому блоку кодирования.
На Фиг. 21 показана диаграмма более глубоких блоков кодирования согласно глубинам, согласно варианту осуществления настоящего изобретения.
Информация разделения может быть использована для указания изменения глубины. Информация разделения указывает, разделен ли блок кодирования текущей глубины на блоки кодирования нижней глубины.
Блок 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 предсказания могут включать в себя асимметричные ячейки, ячейки, имеющие предварительно определенную форму, и ячейки, имеющие геометрическую форму.
Кодирование с предсказанием повторно выполняется над одной ячейкой, имеющей размер 2N_0×2N_0, двумя ячейками, имеющими размер 2N_0×N_0, двумя ячейками, имеющими размер N_0×2N_0, и четырьмя ячейками, имеющими размер N_0×N_0, согласно каждому типу ячейки. Кодирование с предсказанием во внутреннем режиме и внешнем режиме может быть выполнено над ячейками, имеющими размеры 2N_0×2N_0, N_0×2N_0, 2N_0×N_0 и N_0×N_0. Кодирование с предсказанием в режиме пропуска выполняется только над ячейкой, имеющей размер 2N_0×2N_0.
Если ошибка кодирования является наименьшей в одном из типов ячеек с 912 по 916, блок 910 предсказания не может быть разделен на более низкую глубину.
Если ошибка кодирования является наименьшей в типе 918 ячейки, глубина изменяется с 0 на 1 для разделения типа 918 ячейки в операции 920, и кодирование повторно выполняется над блоками 930 кодирования, имеющими глубину 2 и размер N_0×N_0, для поиска минимальной ошибки кодирования.
Блок 940 предсказания для кодирования с предсказанием блока 930 кодирования, имеющего глубину 1 и размер 2N_1×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.
Если ошибка кодирования является наименьшей в типе 948 ячейки, глубина изменяется с 1 на 2 для разделения типа 948 ячейки в операции 950, и кодирование повторно выполняется над блоками 960 кодирования, которые имеют глубину 2 и размер N_2×N_2, для поиска минимальной ошибки кодирования.
Когда максимальная глубина составляет d, операция разделения согласно каждой глубине может быть выполнена до того, как глубина станет d-1, и информация разделения может быть кодирована как до того, когда глубина составит одно из от 0 до d-2. Другими словами, когда кодирование выполняется до того, когда глубина составит d-1, после того, как блок кодирования, соответствующий глубине d-2, разделен в операции 970, блок 990 предсказания для кодирования с предсказанием блока 980 кодирования, имеющего глубину d-1 и размер 2N_(d-1)×2N_(d-1), может включать в себя ячейки типа 992 ячейки, имеющего размер 2N_(d-1)×2N_(d-1), типа 994 ячейки, имеющего размер 2N_(d-1)×N_(d-1), типа 996 ячейки, имеющего размер N_(d-1)×2N_(d-1), и типа 998 ячейки, имеющего размер N_(d-1)×N_(d-1).
Кодирование с предсказанием может повторно выполняться над одной ячейкой, имеющей размер 2N_(d-1)×2N_(d-1), двумя ячейками, имеющими размер 2N_(d-1)×N_(d-1), двумя ячейками, имеющими размер N_(d-1)×2N_(d-1), четырьмя ячейками, имеющими размер N_(d-1)×N_(d-1), из типов ячеек с 992 по 998 для поиска типа ячейки, имеющего минимальную ошибку кодирования.
Даже когда тип 998 ячейки имеет минимальную ошибку кодирования, так как максимальная глубина равна d, блок кодирования CU_(d-1), имеющий глубину d-1, больше не разделяется на более низкую глубину, и кодируемая глубина для блоков кодирования, составляющих текущий максимальный блок 900 кодирования, определяется как d-1, и тип ячейки текущего максимального блока 900 кодирования может быть определен как N_(d-1)×N_(d-1). Также, так как максимальная глубина равна d и минимальный блок 980 кодирования, имеющий нижнюю глубину d-1, больше не разделяется на более низкую глубину, информация разделения для минимального блока 980 кодирования не устанавливается.
Блок 999 данных может быть 'минимальным блоком' для текущего максимального блока кодирования. Минимальный блок согласно варианту осуществления настоящего изобретения может быть квадратным блоком данных, полученным посредством разделения минимального блока 980 кодирования на 4. Посредством повторного выполнения кодирования, устройство 100 кодирования видео может выбирать глубину, имеющую наименьшую ошибку предсказания, посредством сравнения ошибок кодирования согласно глубинам блока 900 кодирования для определения кодируемой глубины, и задавать соответствующий тип ячейки и режим кодирования в качестве режима кодирования кодированной глубины.
В связи с этим, минимальные ошибки кодирования согласно глубинам сравниваются со всеми глубинами с 1 по d, и глубина, имеющая наименьшую ошибку предсказания, может быть определена как кодируемая глубина. Кодируемая глубина, тип ячейки блока предсказания и режим предсказания может быть кодирован и передан как информация о режиме кодирования. Также, так как блок кодирования разделяется от глубины 0 до кодируемой глубины, только информация разделения кодируемой глубины устанавливается в 0, а информация разделения глубин, исключая кодируемую глубину, устанавливается в 1.
Иерархическое устройство 220 извлечения символов и данных устройства 200 декодирования видео может извлекать и использовать информацию о кодируемой глубине и блоке предсказания блока 900 кодирования для декодирования ячейки 912. Устройство 200 декодирования видео может определять глубину, на которой информация разделения является 0, как кодируемую глубину посредством использования информации разделения согласно глубинам, и использовать информацию о режиме кодирования соответствующей глубины для декодирования.
На Фиг. 22-24 показаны диаграммы для описания взаимосвязи между блоками 1010 кодирования, блоками 1060 предсказания и блоками 1070 преобразования согласно варианту осуществления настоящего изобретения.
Блоки 1010 кодирования являются блоками кодирования, имеющими древовидную структуру, соответствующими кодируемым глубинам, определенным устройством 100 кодирования видео, в максимальном блоке кодирования. Блоки 1060 предсказания являются ячейками блоков предсказания для каждого из блоков 1010 кодирования, и блоки 1070 преобразования являются блоками преобразования каждого из блоков 1010 кодирования.
Когда глубина максимального блока кодирования равна 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.
В блоках 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 кодирования меньше или равны каждому блоку кодирования.
Преобразование или обратное преобразование выполняется над данными изображения блока 1052 кодирования в блоках 1070 преобразования в блоке данных, который меньше, чем блок 1052 кодирования. Также, блоки кодирования 1014, 1016, 1022, 1032, 1048, 1050 и 1052 в блоках 1070 преобразования отличаются от блоков кодирования в блоках 1060 предсказания в том, что касается размеров и форм. Другими словами, устройства кодирования и декодирования видео 100 и 200 могут выполнять внутреннее предсказание, оценку движения, компенсацию движения, преобразование и обратное преобразование индивидуально над блоком данных в одном и том же блоке кодирования.
Следовательно, кодирование рекурсивно выполняется над каждым из блоков кодирования, имеющим иерархическую структуру, в каждой зоне максимального блока кодирования для определения оптимального блока кодирования, и таким образом, могут быть получены блоки кодирования, имеющие рекурсивную древовидную структуру. Информация кодирования может включать в себя информации разделения о блоке кодирования, информацию о типе ячейки, информацию о режиме предсказания и информацию о размере блока преобразования. Таблица 1 показывает информацию кодирования, которая может быть задана устройствами кодирования и декодирования видео 100 и 200.
Таблица 0
Информация разделения 0 (Кодирование блока кодирования, имеющего размер 2N×2N и текущую глубину d)
Информация разделения 1
Режим предсказания
Тип ячейки
Размер блока преобразования
Повторно кодировать блоки кодирования, имеющие нижнюю глубину d+1
Внутренний ВнешнийПропуск (только 2N×2N)
Симметричный тип ячейки
Асимметричный тип ячейки
Информация разделения 0Блок преобразования
Информация разделения 1Блок преобразования
2N×2N 2N×N N×2N N×N
2N×nU 2N×nD nL×2N nR×2N
2N×2N
N×N (Симметричный тип)N/2×N/2 (Асимметричный тип)
Иерархический кодер 130 символов устройства 100 кодирования видео может выводить информацию кодирования о блоках кодирования, имеющих древовидную структуру, и иерархическое устройство 220 извлечения символов и данных устройства 200 декодирования видео может извлекать информацию кодирования о блоках кодирования, имеющих древовидную структуру, из принятого битового потока.
Информация разделения указывает, разделен ли текущий блок кодирования на блоки кодирования нижней глубины. Если информация разделения текущей глубины d составляет 0, глубина, при которой текущий блок кодирования больше не разделяется до нижней глубины, является кодируемой глубиной, и таким образом, информация о типе ячейки, режиме предсказания и размере блока преобразования может быть задана для кодируемой глубины. Если текущий блок кодирования дополнительно разделен согласно информации разделения, кодирование независимо выполняется над четырьмя разделенными блоками кодирования нижней глубины.
Режим предсказания может быть одним из внутреннего режима, внешнего режима и режима пропуска. Внутренний режим и внешний режим могут быть заданы во всех типах ячеек, и режим пропуска задается только в типе ячейки, имеющем размер 2N×2N.
Информация о типе ячейки может указывать симметричные типы ячеек, имеющие размеры 2N×2N, 2N×N, N×2N и N×N, которые получены посредством симметричного разделения высоты и ширины блока предсказания, и асимметричные типы ячеек, имеющие размеры 2N×nU, 2N×nD, nL×2N и nR×2N, которые получены посредством асимметричного разделения высоты и ширины блока предсказания. Асимметричные типы ячеек, имеющие размеры 2N×nU и 2N×nD, могут быть соответственно получены посредством разделения высоты блока предсказания в 1:3 и 3:1, и асимметричные типы ячеек, имеющие размеры nL×2N и nR×2N, могут быть соответственно получены посредством разделения ширины блока предсказания в 1:3 и 3:1.
Размер блока преобразования может быть задан двух типов во внутреннем режиме и двух типов во внешнем режиме. Другими словами, если информация разделения блока преобразования составляет 0, размер блока преобразования может быть 2N×2N, что является размером текущего блока кодирования. Если информация разделения блока преобразования составляет 1, блоки преобразования могут быть получены посредством разделения текущего блока кодирования. Также, если тип ячейки текущего блока кодирования, имеющий размер 2N×2N, является симметричным типом ячейки, размер блока преобразования может быть N×N, и если тип ячейки текущего блока кодирования является асимметричным типом ячейки, размер блока преобразования может быть N/2×N/2.
Информация кодирования о блоках кодирования, имеющих древовидную структуру, может включать в себя по меньшей мере одно из блока кодирования, соответствующего кодируемой глубине, блока предсказания и минимального блока. Блок кодирования, соответствующий кодируемой глубине, может включать в себя по меньшей мере один из блока предсказания и минимального блока, содержащих ту же информацию кодирования.
Следовательно, определяется, включены ли примыкающие блоки данных в те же блоки кодирования, соответствующие кодируемой глубине, посредством сравнения информации кодирования примыкающих блоков данных. Также, соответствующий блок кодирования, соответствующий кодируемой глубине, определяется посредством использования информации кодирования блока данных, и таким образом, распределение кодируемых глубин в максимальном блоке кодирования может быть определено.
Следовательно, если текущий блок кодирования предсказан на основе информации кодирования примыкающих блоков данных, на информацию кодирования блоков данных в более глубоких блоках кодирования, примыкающих к текущему блоку кодирования, можно напрямую ссылаться и использовать.
В качестве альтернативы, если текущий блок кодирования предсказан на основе информации кодирования примыкающих блоков данных, блоки данных, примыкающие к текущему блоку кодирования, отыскиваются с использованием кодированной информации блоков данных, и на искомые примыкающие блоки кодирования можно ссылаться для предсказания текущего блока кодирования.
На Фиг. 25 показана диаграмма для описания взаимосвязи между блоком кодирования, блоком предсказания или ячейкой, и блоком преобразования, согласно информации режима кодирования Таблицы 0.
Максимальный блок 1300 кодирования включает в себя блоки кодирования 1302, 1304, 1306, 1312, 1314, 1316 и 1318 кодируемых глубин. Здесь, так как блок 1318 кодирования является блоком кодирования кодируемой глубины, информация разделения может быть установлена в 0. Информация о типе ячейки блока 1318 кодирования, имеющем размер 2N×2N, может быть задана как одно из типа 1322 ячейки, имеющего размер 2N×N, типа 1324 ячейки, имеющего размер 2N×N, типа 1326 ячейки, имеющего размер N×2N, типа 1328 ячейки, имеющего размер N×N, типа 1332 ячейки, имеющего размер 2N×nU, типа 1334 ячейки, имеющего размер 2N×nD, типа 1336 ячейки, имеющего размер nL×2N, и типа 1338 ячейки, имеющего размер nR×2N.
Информация разделения блоков преобразования «флаг размера TU» может быть типом индекса преобразования, и размер блока преобразования, соответствующего индексу преобразования, может варьироваться согласно типу блока предсказания или типу ячейки блока кодирования.
Например, когда тип ячейки задан как симметричный, т.е. тип ячейки 1322, 1324, 1326 или 1328, блок 1342 преобразования, имеющий размер 2N×2N, задается, если флаг размера TU блока преобразования равен 0, и блок 1344 преобразования, имеющий размер N×N, задается, если флаг размера TU равен 1.
Когда тип ячейки задается как асимметричный, т.е. тип ячейки 1332, 1334, 1336 или 1338, блок 1352 преобразования, имеющий размер 2N×2N, задается, если флаг размера TU равен 0, и блок 1354 преобразования, имеющий размер N/2×N/2, задается, если флаг размера TU равен 1.
Ссылаясь на Фиг. 21, флаг размера TU является флагом, имеющим значение 0 или 1, но флаг размера TU не ограничен 1 битом, и блок преобразования может быть иерархически разделен, имея древовидную структуру, в то время как флаг размера TU увеличивается от 0. Флаг размера TU может быть использован как пример индекса преобразования.
В этом случае, размер блока преобразования, который был действительно использован, может быть выражен посредством использования флага размера TU блока преобразования, вместе с максимальным размером и минимальным размером блока преобразования. Устройство 100 кодирования видео способно кодировать информацию максимального размера блока преобразования, информацию минимального размера блока преобразования и флаг максимального размера TU. Результат кодирования информации максимального размера блока преобразования, информации минимального размера блока преобразования и флага максимального размера TU может быть вставлен в SPS. Устройство 200 декодирования видео может декодировать информацию максимального размера блока преобразования, информацию минимального размера блока преобразования и флаг максимального размера TU.
Например, если размер текущего блока кодирования равен 64×64 и максимальный размер блока преобразования равен 32×32, то размер блока преобразования может быть 32×32, когда флагом размера TU является 0, может быть 16×16, когда флагом размера TU является 1, и может быть 8×8, когда флагом размера TU является 2.
В качестве другого примера, если размер текущего блока кодирования равен 32×32, и минимальный размер блока преобразования равен 32×32, то размер блока преобразования может быть 32×32, когда флаг размера TU равен 0. Здесь, флаг размера TU не может быть установлен в значение, отличное от 0, так как размер блока преобразования не может быть меньше, чем 32×32.
В качестве другого примера, если размер текущего блока кодирования равен 64×64, и флаг максимального размера TU равен 1, то флаг размера TU может быть 0 или 1. Здесь, флаг размера TU не может быть установлен в значение, отличное от 0 или 1.
Таким образом, если задано, что флаг максимального размера TU соответствует 'MaxTransformSizelndex', минимальный размер блока преобразования есть 'MinTransformSize', и размер блока преобразования есть 'RootTuSize', когда флаг размера TU равен 0, то текущий минимальный размер блока преобразования 'CurrMinTuSize', который может быть определен в текущем блоке кодирования, может быть задан Уравнением (1):
CurrMinTuSize = max(MinTransformSize, RootTuSize/(2^MaxTransformSizelndex)) (1)
По сравнению с текущим минимальным размером блока преобразования 'CurrMinTuSize', который может быть определен в текущем блоке кодирования, размер блока преобразования 'RootTuSize', когда флаг размера TU равен 0, может обозначать максимальный размер блока преобразования, который может быть выбран в системе. В Уравнении (1), 'RootTuSize/(2^MaxTransformSizelndex)'
обозначает размер блока преобразования, когда размер блока преобразования 'RootTuSize', когда флаг размера TU равен 0, разделяется некоторое число раз, соответствующее флагу максимального размера TU, и 'MinTransformSize' обозначает минимальный размер преобразования. Таким образом, меньшее значение из 'RootTuSize/(2AMaxTransformSizelndex)' и 'MinTransformSize' может быть текущим минимальным размером блока преобразования 'CurrMinTuSize', который может быть в текущем блоке кодирования.
Максимальный размер блока преобразования RootTuSize может варьироваться согласно типу режима предсказания.
Например, если текущий режим предсказания является внешним режимом, то 'RootTuSize' может быть определен посредством использования Уравнения (2) ниже. В Уравнении (2), 'MaxTransformSize' обозначает максимальный размер блока преобразования, и 'PUSize' обозначает текущий размер блока предсказания.
RootTuSize = min(MaxTransformSize, PUSize) (2)
То есть, если текущий режим предсказания является внешним режимом, размер блока предсказания 'RootTuSize', когда флаг размера TU равен 0, может быть меньшим значением из максимального размера блока преобразования и текущего размера блока предсказания.
Если режим предсказания текущего блока ячейки является внутренним режимом, 'RootTuSize' может быть определен посредством использования Уравнения (3) ниже. В Уравнении (3), 'PartitionSize' обозначает размер текущего блока ячейки.
RootTuSize = min(MaxTransformSize, PartitionSize) (3)
То есть, если текущий режим предсказания является внутренним режимом, размер блока предсказания 'RootTuSize', когда флаг размера TU равен 0, может быть меньшим значением из максимального размера блока преобразования и текущего блока ячейки.
Однако текущий максимальный размер блока преобразования 'RootTuSize', который варьируется согласно типу режима предсказания в блоке ячейки, является просто примером, и настоящее изобретение не ограничено этим.
На Фиг. 26 показана схема последовательности операций, иллюстрирующая способ кодирования видео, в котором кодируются символы, имеющие древовидную структуру, на основе блоков кодирования, и блоки преобразования, имеющие древовидную структуру, согласно варианту осуществления настоящего изобретения.
В операции 2610 текущая картинка разделяется по меньшей мере до одного максимального блока кодирования.
Здесь, максимальная глубина, указывающая итоговое число разделения текущей картинки, может быть предварительно определена.
По меньшей мере одна зона разделения, полученная посредством разделения зоны максимального блока кодирования согласно глубинам, может быть кодирована. Здесь результаты кодирования зон разделения могут сравниваться согласно глубинам для определения глубины разделения для вывода итогового результата кодирования согласно по меньшей мере одной зоне разделения и определения блоков кодирования, имеющих древовидную структуру, включенных в текущий максимальный блок кодирования. Так же как блоки кодирования, имеющие древовидную структуру, могут быть определены блоки преобразования, имеющие древовидную структуру. Другими словами, так же как результат кодирования картинки, выведенный как определенные блоки кодирования, имеющие древовидную структуру, результат кодирования блока преобразования, имеющего древовидную структуру, может быть выведен как кодированные данные картинки.
В операции 2620 символы кодированной картинки определяются на основе блоков данных, имеющих иерархическую структуру. Определяются данные изображения, которые являются итоговым результатом кодирования согласно по меньшей мере одной зоне разделения каждого максимального блока кодирования, и информация о кодируемой глубине и режима кодирования. Информация о режиме кодирования может включать в себя информацию о кодируемой глубине, информацию разделения, информацию типа ячейки блока предсказания, информацию режима предсказания или информацию о иерархической структуре блока преобразования. Кодированная информация о режиме кодирования может быть передана на декодер вместе с кодированными данными изображения.
В операции 2630 способ кодирования символов может быть выборочно определен, учитывая характеристики символов блоков данных, имеющих иерархическую структуру. Способ кодирования символов может быть выборочно определен из режима иерархического кодирования символов, в котором символы, определенные согласно блокам данных, имеющим иерархическую структуру, кодируются согласно блокам данных, имеющим иерархическую структуру, и режима кодирования низшего уровня, в котором кодируются символы блоков данных на низшем уровне.
В качестве альтернативы, способ кодирования символов может быть выборочно определен из режима группового кодирования однородных символов, в котором однородные символы группируются и кодируются, и режима индивидуального кодирования однородных символов, в котором однородные символы кодируются индивидуально, на основе корреляции между значениями символов однородных символов, определенных согласно блокам данных, имеющим иерархическую структуру.
В качестве альтернативы, способ кодирования символов может быть выборочно определен из режима группового кодирования разнородных символов, в котором разнородных символы группируются и кодируются, и режима индивидуального кодирования разнородных символов, в котором разнородные символы кодируются индивидуально, на основе корреляции разнородных символов, определенных согласно блокам данных, имеющим иерархическую структуру. Здесь, режим группового кодирования разнородных символов может быть определен на основе по меньшей мере одного из корреляции функций, указанных разнородными символами, имеющими иерархическую структуру, зависимого кодирования и последовательного кодирования.
В качестве альтернативы, способ кодирования символов может быть выборочно кодирован из режима кодирования с обращением символов, в котором значения символов для символов блоков данных на низшем уровне обращаются и кодируются, и режима кодирования без обращения, в котором значения символов для символов блоков данных на низшем уровне кодируются без обращения, на основе соотношения значений символов, которые равны 0, в значениях символов блоков данных, имеющих иерархическую структуру.
Способ кодирования символов может быть определен согласно каждой секции данных из слайса, картинки, последовательности и максимального блока кодирования видео, и информация способа кодирования символов, указывающая способ кодирования символов, может быть кодирована на каждой секции данных.
В операции 2640 символы кодируются и выводятся согласно способу кодирования символов, определенному в операции 2630.
Символы, определенные согласно блокам данных, имеющим иерархическую структуру, могут быть кодированы и выведены согласно блокам данных, имеющим иерархическую структуру, согласно режиму иерархического кодирования символов. Только символы блоков данных на низшем уровне из блоков данных, имеющих иерархическую структуру, могут быть кодированы и выведены согласно режиму кодирования низшего уровня.
Таблица кодов символов может быть определена на основе частот шаблонов значений символов однородных символов, и коды символов однородных символов могут быть выведены на основе шаблонов однородных символов и таблицы кодов символов, согласно режиму группового кодирования однородных символов.
Контекст, совместно используемый разнородными символами, определен, и разнородные символы блоков данных могут быть кодированы и выведены на основе совместно используемого контекста, согласно режиму группового кодирования разнородных символов.
Коды символов разнородных символов блоков данных могут быть выведены на основе кодов символов, назначенных комбинациям значений символов разнородных символов, которые определяются взаимозависимо или последовательно, согласно режиму группового кодирования разнородных символов.
Значения символов блоков данных на низшем уровне могут быть обращены, и символы могут быть, следовательно, кодированы и выведены, согласно режиму кодирования с обращением символов.
На Фиг. 27 показана схема последовательности операций, иллюстрирующая способ декодирования видео, в котором декодируются символы, имеющие древовидную структуру, на основе блоков кодирования, и блоки преобразования, имеющие древовидную структуру, согласно варианту осуществления настоящего изобретения.
В операции 2710 битовый поток кодированного видео принимается и подвергается синтаксическому анализу.
В операции 2720 данные изображения текущей картинки, назначенные по меньшей мере одному максимальному блоку кодирования, и информация о кодируемой глубине и режиме кодирования, согласно по меньшей мере одному максимальному блоку кодирования, извлекаются из подвергнутого синтаксическому анализу битового потока. В качестве альтернативы, информация способа декодирования символов, имеющих древовидную структуру, может быть извлечена.
В операции 2730 способ декодирования символов может быть выборочно определен на основе характеристик символов, имеющих иерархическую структуру. Согласно древовидной структуре символы на все уровнях могут быть декодированы, символы с конкретными размещениями могут быть декодированы или комбинации символов могут быть декодированы.
Символы, имеющие иерархическую структуру, могут быть декодированы согласно режиму иерархического декодирования символов или режиму декодирования низшего уровня. В качестве альтернативы, символы, имеющие иерархическую структуру, могут быть декодированы согласно режиму группового декодирования однородных символов. В качестве альтернативы, символы, имеющие иерархическую структуру, могут быть декодированы согласно режиму группового декодирования разнородных символов. В качестве альтернативы, символы, имеющие иерархическую структуру, могут быть декодированы согласно режиму декодирования с обращением символов.
Информация способа декодирования символов, указывающая способ декодирования символов, извлекается согласно каждой секции данных из слайса, картинки, последовательности и максимального блока кодирования видео, и способ декодирования символов может быть определен согласно секциям данных на основе информации способа декодирования символов.
Информация о кодируемой глубине и режиме кодирования может быть считана по мере декодирования символов. Согласно информации о кодируемой глубине и режиме кодирования максимальный блок кодирования может быть разделен на блоки кодирования, имеющие древовидную структуру. Также, согласно информации о иерархической структуре блоков преобразования из извлеченной информации, блоки преобразования, имеющие глубины преобразования согласно древовидной структуре в блоке кодирования, могут быть определены.
В операции 2740 данные изображения каждого максимального блока кодирования могут быть декодированы на основе блоков кодирования, имеющих древовидную структуру, блоков преобразования, имеющих древовидную структуру, посредством использования информации о кодируемой глубине и режиме кодирования. Текущий блок кодирования может быть обратно преобразован посредством использования блока преобразования, определенного из блоков преобразования, имеющих древовидную структуру, тогда как текущий блок кодирования декодируется на основе информации о кодируемой глубине и режиме кодирования.
Данные изображения в пространственной области воссоздаются по мере декодирования по меньшей мере одного максимального блока кодирования согласно блокам кодирования, и таким образом, картинка и видео, которое является последовательностью картинок, могут быть воссозданы. Воссозданное видео может быть воспроизведено устройством воспроизведения, сохранено на носителе информации или передано через сеть.
Символы эффективно кодируются, так как подходящий способ кодирования символов определен согласно характеристикам символов для символов, имеющих древовидную структуру, которые определены во время процесса кодирования согласно блокам кодирования, имеющим древовидную структуру, и блокам преобразования, имеющим древовидную структуру, согласно кодированию символов и декодированию символов. Также, даже если приняты только некоторые из символов, имеющих древовидную структуру, определенные во время процесса кодирования, согласно блокам кодирования, имеющим древовидную структуру, и блокам преобразования, имеющим древовидную структуру, остающиеся символы могут быть восстановлены согласно способу декодирования символов, и таким образом символы могут быть эффективно декодированы.
Следовательно, во время процесса кодирования видео, так как видео кодируется на основе блоков кодирования, имеющих древовидную структуру, блоков преобразования, имеющих древовидную структуру, и блоков предсказания, информация кодирования о способе кодирования и режиме кодирования может быть кодирована для того, чтобы точно декодировать видео. Информация кодирования может быть кодирована как символы и выведена в виде кодов символов. Во время процесса декодирования видео, так как информация кодирования о кодированной картинке считывается на основе блоков кодирования, имеющих древовидную структуру, блоков преобразования, имеющих древовидную структуру, и блоков предсказания, из декодированных символов, видео может быть воссоздано посредством воссоздания картинки и последовательности картинок посредством использования информации кодирования.
Варианты осуществления настоящего изобретения могут быть написаны как компьютерные программы и могут быть реализованы в цифровых компьютерах общего использования, которые исполняют программы, используя считываемый компьютером носитель записи. Примеры считываемого компьютером записывающего носителя включают в себя магнитные носители информации (например, ROM, floppy-диски, жесткие диски и т.д.) и оптические носители информации (например, CD-ROM или DVD).
Хотя изобретение было конкретно показано и описано со ссылкой на предпочтительные варианты его осуществления, будет понятно специалистам в данной области техники, что различные изменения в виде и деталях могут быть сделаны в нем без отступления от сущности и объема данного изобретения, как определено пунктами формулы изобретения. Предпочтительные варианты осуществления должны рассматриваться только в описательном смысле и не в целях ограничения. Вследствие этого, объем данного изобретения задается не подробным описанием данного изобретения, а пунктами формулы изобретения, и все различия в рамках объема будут толковаться как включенные в настоящее изобретение.