СПОСОБЫ И УСТРОЙСТВА КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ
METHODS AND APPARATUS FOR ENCODING AND DECODING

Область техники, к которой относится изобретение
[0001] Варианты осуществления настоящего изобретения относятся к способам и устройствам для кодирования и декодирования видеоизображения.
Уровень техники
[0002] В ходе как кодирования видеоизображений, так и декодирования видеоизображений должны быть прогнозированы единицы прогнозирования, полученные посредством разделения блока изображения. В ходе прогнозирования доступные режимы прогнозирования обычно предварительно устанавливаются для прогнозных блоков согласно размерам прогнозных блоков, что приводит к различным числам доступных режимов прогнозирования для прогнозных блоков различных размеров во время кодирования видео. Как показано в таблице 1, когда размер прогнозного блока составляет 4×4, режим внутрикадрового прогнозирования (CurrMode) выбирается из режимов 0-17 прогнозирования; когда размер прогнозного блока составляет 8×8, 16×16 или 32×32, текущий режим внутрикадрового прогнозирования выбирается из режимов 0-35 прогнозирования; и для прогнозного блока 64×64 режим внутрикадрового прогнозирования может быть выбран только из режимов 0-3 прогнозирования.
Таблица 1Число режимов прогнозирования для прогнозных блоков различных размеров
Размер блока
Число режимов прогнозирования
2(4×4)
18
3(8×8)
35
4(16×16)
35
5(32×32)
35
6(64×64)
4
[0003] В процессе кодирования после того, как определяется текущий режим внутрикадрового прогнозирования прогнозного блока, схема кодирования (например, с использованием 5-битового или 4-битового для кодирования) для номера текущего режима внутрикадрового прогнозирования должна быть дополнительно определена согласно размеру прогнозного блока. В процессе декодирования также задается конкретная логика с тем, чтобы определять число битов, занимаемое посредством информации номера текущего режима внутрикадрового прогнозирования в кодовом потоке. Это влияет на эффективность кодирования и декодирования.
Сущность изобретения
[0004] Настоящее изобретение предоставляет способ кодирования, включающий в себя: получение режима внутрикадрового прогнозирования текущего блока внутрикадрового кодирования из предварительно установленного набора режимов прогнозирования, причем режим внутрикадрового прогнозирования представляет собой режим прогнозирования, применяемый, когда текущий блок внутрикадрового кодирования пиксельно кодируется; получение опорных режимов прогнозирования текущего блока внутрикадрового кодирования, причем опорные режимы прогнозирования представляют собой режимы внутрикадрового прогнозирования доступных смежных блоков относительно текущего блока внутрикадрового кодирования или режимы прогнозирования в предварительно установленном резервном наборе опорных режимов, причем все режимы прогнозирования в предварительно установленном резервном наборе опорных режимов принадлежат набору режимов прогнозирования; запись первого флагового бита в кодовый поток согласно опорным режимам прогнозирования и режиму внутрикадрового прогнозирования, при этом первый флаговый бит используется для того, чтобы указывать то, является ли режим внутрикадрового прогнозирования идентичным одному из опорных режимов прогнозирования; и когда режим внутрикадрового прогнозирования блока кодирования отличается от всех опорных режимов прогнозирования, получение значения кодирования режима прогнозирования согласно взаимосвязи размеров между значением режима внутрикадрового прогнозирования и значениями опорных режимов прогнозирования и кодирование значения кодирования режима прогнозирования.
[0005] Настоящее изобретение также предоставляет способ декодирования, включающий в себя: получение первого флагового бита из кодового потока, причем первый флаговый бит используется для того, чтобы указывать то, является ли режим внутрикадрового прогнозирования текущего блока внутрикадрового декодирования идентичным одному из опорных режимов прогнозирования, и когда первый флаговый бит указывает то, что режим внутрикадрового прогнозирования текущего блока внутрикадрового декодирования отличается от всех опорных режимов прогнозирования, получение кодированных битов режима из кодового потока согласно фиксированному числу битов, причем режим внутрикадрового прогнозирования представляет собой режим прогнозирования, применяемый, когда блок внутрикадрового декодирования пиксельно декодируется; получение значения кодирования режима прогнозирования согласно кодированным битам режима; получение опорных режимов прогнозирования блока внутрикадрового декодирования, причем опорные режимы прогнозирования представляют собой режимы внутрикадрового прогнозирования доступных смежных блоков относительно текущего блока внутрикадрового декодирования или режимы прогнозирования в предварительно установленном резервном наборе опорных режимов; и получение режима внутрикадрового прогнозирования текущего блока внутрикадрового декодирования согласно взаимосвязи размеров между значением кодирования режима прогнозирования и значениями опорных режимов прогнозирования.
[0006] Настоящее изобретение дополнительно предоставляет устройство кодирования с использованием способа кодирования, предоставленного в настоящем изобретении, при этом устройство кодирования включает в себя: модуль прогнозирования, выполненный с возможностью получать режим внутрикадрового прогнозирования текущего блока внутрикадрового кодирования из предварительно установленного набора режимов прогнозирования и получать опорные режимы прогнозирования текущего блока внутрикадрового кодирования, причем опорные режимы прогнозирования представляют собой режимы внутрикадрового прогнозирования доступных смежных блоков относительно текущего блока внутрикадрового кодирования или режимы прогнозирования в предварительно установленном резервном наборе опорных режимов, причем все режимы прогнозирования в предварительно установленном резервном наборе опорных режимов принадлежат набору режимов прогнозирования; флаговый модуль, выполненный с возможностью записывать первый флаговый бит в кодовый поток согласно опорным режимам прогнозирования и режиму внутрикадрового прогнозирования, при этом первый флаговый бит используется для того, чтобы указывать то, является ли режим внутрикадрового прогнозирования идентичным одному из опорных режимов прогнозирования; и модуль кодирования режимов прогнозирования, выполненный с возможностью: когда режим внутрикадрового прогнозирования блока кодирования отличается от всех опорных режимов прогнозирования, получать значение кодирования режима прогнозирования согласно взаимосвязи размеров между значением режима внутрикадрового прогнозирования и значениями опорных режимов прогнозирования и кодировать значение кодирования режима прогнозирования.
[0007] Настоящее изобретение дополнительно предоставляет устройство декодирования с использованием способа декодирования настоящего изобретения, при этом устройство декодирования включает в себя: модуль считывания кодовых потоков, выполненный с возможностью получать первый флаговый бит из кодового потока, причем первый флаговый бит используется для того, чтобы указывать то, является ли режим внутрикадрового прогнозирования текущего блока внутрикадрового декодирования идентичным опорному режиму прогнозирования, и когда первый флаговый бит указывает то, что режим внутрикадрового прогнозирования текущего блока внутрикадрового декодирования отличается от опорных режимов прогнозирования, получать кодированные биты режима из кодового потока согласно фиксированному числу битов, причем режим внутрикадрового прогнозирования представляет собой режим прогнозирования, применяемый, когда блок внутрикадрового декодирования пиксельно декодируется; модуль получения опорных режимов прогнозирования, выполненный с возможностью получать опорные режимы прогнозирования блока внутрикадрового прогнозирования, причем опорные режимы прогнозирования представляют собой режимы внутрикадрового прогнозирования доступных смежных блоков относительно текущего блока внутрикадрового декодирования или режимы прогнозирования в предварительно установленном резервном наборе опорных режимов; и модуль декодирования, выполненный с возможностью получать значение кодирования режима прогнозирования согласно кодированным битам режима, получать режим внутрикадрового прогнозирования текущего блока внутрикадрового декодирования согласно взаимосвязи размеров между значением кодирования режима прогнозирования и значениями опорных режимов прогнозирования и декодировать текущий блок внутрикадрового декодирования согласно режиму внутрикадрового прогнозирования.
[0008] Посредством использования способа кодирования, предоставленного посредством настоящего изобретения, может обеспечиваться экономия для логики определения системы кодирования и декодирования, и в силу этого повышается эффективность кодирования и декодирования.
Краткое описание чертежей
[0009] Чтобы более понятно проиллюстрировать технические решения в вариантах осуществления настоящего изобретения, далее кратко представлены прилагаемые чертежи, требуемые для описания вариантов осуществления или предшествующего уровня техники. Очевидно, что прилагаемые чертежи в нижеприведенном описании показывают только некоторые варианты осуществления настоящего изобретения, и специалисты в данной области техники по-прежнему могут извлекать другие чертежи из этих прилагаемых чертежей без творческих усилий.
[0010] Фиг. 1 является блок-схемой способа кодирования согласно варианту осуществления настоящего изобретения;
[0011] Фиг. 2 является блок-схемой позиционной взаимосвязи между блоком изображений и его смежными блоками;
[0012] Фиг. 3 является блок-схемой способа декодирования согласно варианту осуществления настоящего изобретения;
[0013] Фиг. 4 является блок-схемой устройства кодирования согласно варианту осуществления настоящего изобретения; и
[0014] Фиг. 5 является блок-схемой устройства декодирования согласно варианту осуществления настоящего изобретения;
Описание вариантов осуществления
[0015] Ниже понятно и полностью описаны технические решения в вариантах осуществления настоящего изобретения со ссылкой на прилагаемые чертежи в вариантах осуществления настоящего изобретения. Очевидно, что описанные варианты осуществления представляют собой только часть, а не все варианты осуществления настоящего изобретения. Все другие варианты осуществления, полученные специалистами в данной области техники на основе вариантов осуществления настоящего изобретения без творческих усилий, должны попадать в объем охраны настоящего изобретения.
[0016] Ссылаясь на фиг. 1, вариант осуществления настоящего изобретения предоставляет способ кодирования текущих блоков внутрикадрового кодирования. Способ включает в себя следующие этапы:
[0017] Этап 101. Получение режима внутрикадрового прогнозирования текущего блока внутрикадрового кодирования из предварительно установленного набора режимов прогнозирования.
[0018] В варианте осуществления настоящего изобретения, режимы внутрикадрового прогнозирования текущих блоков внутрикадрового кодирования различных размеров исходят из идентичного набора режимов прогнозирования.
[0019] На стороне кодирования режим внутрикадрового прогнозирования представляет собой режим прогнозирования, применяемый, когда блок изображений пиксельно кодируется, и, следовательно, также может называться режимом прогнозирования при кодировании. При этом на стороне декодирования режим внутрикадрового прогнозирования представляет собой режим прогнозирования, применяемый, когда блок изображений пиксельно декодируется, и также может называться режимом прогнозирования при декодировании.
[0020] Этап 102. Получение опорных режимов прогнозирования текущего блока внутрикадрового кодирования.
[0021] Опорные режимы прогнозирования представляют собой режимы внутрикадрового прогнозирования доступных смежных блоков относительно текущего блока внутрикадрового кодирования или режимы прогнозирования в предварительно установленном резервном наборе опорных режимов, причем все режимы прогнозирования в предварительно установленном резервном наборе опорных режимов принадлежат набору режимов прогнозирования.
[0022] Этап 103. Кодирование режима внутрикадрового прогнозирования согласно опорному режиму прогнозирования и запись первого флагового бита в кодовый поток, при этом первый флаговый бит используется для того, чтобы указывать то, является ли режим внутрикадрового прогнозирования идентичным одному из опорных режимов прогнозирования.
[0023] Этап 104. Когда режим внутрикадрового прогнозирования отличается от всех опорных режимов прогнозирования, получение значения кодирования режима прогнозирования согласно взаимосвязи размеров между значением режима внутрикадрового прогнозирования и значениями опорных режимов прогнозирования и кодирование значения кодирования режима прогнозирования.
[0024] В варианте осуществления настоящего изобретения, если текущий блок внутрикадрового кодирования получает два опорных режима прогнозирования (первый опорный режим прогнозирования и второй опорный режим прогнозирования) согласно режимам внутрикадрового прогнозирования смежных блоков, получение значения кодирования режима прогнозирования согласно взаимосвязи размеров между значением режима внутрикадрового прогнозирования и значениями опорных режимов прогнозирования и кодирование значения кодирования режима прогнозирования включает в себя следующие этапы:
[0025] Этап 104a. Если значение режима внутрикадрового прогнозирования превышает значение только одного опорного режима прогнозирования, значение кодирования режима прогнозирования равно значению режима внутрикадрового прогнозирования минус 1, и если значение режима внутрикадрового прогнозирования превышает значения двух опорных режимов прогнозирования, рассмотрение результата значения режима внутрикадрового прогнозирования минус 2 в качестве значения кодирования режима прогнозирования.
[0026] Этап 104b. Кодирование значения кодирования режима прогнозирования посредством использования фиксированного числа битов, чтобы получать кодированные биты режима, и запись кодированных битов режима в кодовый поток, причем если длина двоичного кода значения кодирования режима прогнозирования превышает фиксированное число битов, все биты кодированных битов режима равны 1, и третий флаговый бит записывается в кодовый поток, причем третий флаговый бит используется для того, чтобы указывать значение для значения кодирования режима прогнозирования в предварительно установленном наборе.
[0027] В варианте осуществления настоящего изобретения, независимо от размера текущего блока внутрикадрового кодирования (т.е. прогнозного блока внутрикадрового кодирования) режим внутрикадрового прогнозирования выбирается из унифицированных режимов внутрикадрового прогнозирования. В частности, HEVC-стандарт предоставляет 35 типов режимов прогнозирования для получения прогнозного пиксельного значения текущего блока внутрикадрового кодирования согласно кодированным пиксельным значениям доступных смежных блоков. Во время кодирования 35 типов режимов прогнозирования выбираются последовательно, чтобы выполнять прогнозирование согласно доступным смежным блокам относительно блока внутрикадрового кодирования. Результаты прогнозирования 35 типов режимов прогнозирования сравниваются, и режим прогнозирования, в котором разность между прогнозным пиксельным значением и фактическим пиксельным значением изображения является наименьшей, выбирается в качестве режима внутрикадрового прогнозирования. Диапазон значений режима внутрикадрового прогнозирования составляет 0-34, т.е. больше или равен "0" и меньше или равен 34. Поскольку текущий блок внутрикадрового кодирования и его смежные блоки прогнозируются согласно идентичному набору режимов прогнозирования, диапазон значений опорных режимов прогнозирования также составляет 0-34. Конечно, в другом необязательном варианте осуществления, типы и число режимов прогнозирования в наборе режимов прогнозирования могут регулироваться согласно совершенствованию технологии, и число режимов прогнозирования в наборе режимов прогнозирования может регулироваться по мере необходимости.
[0028] В варианте осуществления настоящего изобретения, опорные режимы прогнозирования представляют собой режимы внутрикадрового прогнозирования доступных смежных блоков относительно текущего блока внутрикадрового кодирования. Доступные смежные блоки должны удовлетворять следующим условиям: 1. нахождение в идентичной полосе с текущим блоком внутрикадрового кодирования; и 2. подвергание кодированию (в случае процесса декодирования, доступные смежные блоки должны быть декодированы). Например, в настоящее время последовательности кодирования и декодирования, в общем, применяемые в отрасли, выполняются сверху вниз и слева направо. Следовательно, при нахождении в идентичной полосе с текущим блоком внутрикадрового кодирования левый блок и верхний блок относительно текущего блока внутрикадрового кодирования могут быть выбраны в качестве доступных смежных блоков относительно текущего блока внутрикадрового кодирования. Смежные блоки относительно текущего блока внутрикадрового кодирования, которые не удовлетворяют вышеуказанным условиям, являются недоступными смежными блоками. На предмет позиций левого блока и верхнего блока относительно текущего блока внутрикадрового кодирования следует обратиться к фиг. 2.
[0029] Для получения опорных режимов прогнозирования режимы внутрикадрового прогнозирования доступных смежных блоков относительно текущего блока внутрикадрового кодирования могут рассматриваться в качестве опорных режимов прогнозирования текущего блока внутрикадрового кодирования согласно последовательности кодирования. Например, в настоящее время последовательности кодирования и декодирования, унифицированно применяемые в отрасли, выполняются слева направо и сверху вниз. Следовательно, если верхний блок и левый блок относительно текущего блока внутрикадрового кодирования доступны, режимы прогнозирования левого блока и правого блока рассматриваются в качестве опорных режимов прогнозирования текущего блока внутрикадрового кодирования. Если один из двух недоступен, режим прогнозирования может быть выбран из предварительно установленного резервного набора опорных режимов в качестве опорного режима прогнозирования, например из режима DC-прогнозирования или режима планарного прогнозирования, указываемых в HEVC-стандарте (оба из них представляют собой режимы прогнозирования, указываемые в HEVC-стандарте кодирования и декодирования видео, и конкретный способ прогнозирования не связан с настоящим изобретением и не описывается в данном документе). Если как верхний блок, так и левый блок относительно текущего блока внутрикадрового кодирования недоступны, опорные режимы прогнозирования также могут быть выбраны из предварительно установленного резервного набора опорных режимов. Если два опорных режима прогнозирования являются идентичными, один из опорных режимов прогнозирования может быть заменен посредством режима прогнозирования в резервном наборе опорных режимов согласно предварительно установленному правилу. Например, предполагается, что значения режимов внутрикадрового прогнозирования верхнего блока и левого блока относительно текущего блока внутрикадрового кодирования равны 34, и затем один из опорных режимов прогнозирования текущего блока внутрикадрового кодирования равен 34, и меньшее значение из резервного набора опорных режимов, к примеру, 0 или 3, выбирается в качестве другого опорного режима прогнозирования. В данном документе, поскольку режимы прогнозирования в резервном наборе опорных режимов должны разрешать случаи "недоступности смежных блоков" и "идентичности режимов внутрикадрового прогнозирования смежных блоков", режимы прогнозирования в резервном наборе опорных режимов могут быть дополнительно разделены. Например, резервный набор опорных режимов разделяется на первый опорный набор и второй опорный набор. Когда указанное число опорных режимов прогнозирования не может предоставляться, поскольку смежные блоки относительно текущего блока недоступны, режим прогнозирования (к примеру, режим DC-прогнозирования или режим планарного прогнозирования) может быть выбран из первого опорного набора. Когда указанное число опорных режимов прогнозирования не может предоставляться, поскольку режимы внутрикадрового прогнозирования смежных блоков относительно текущего блока являются идентичными, режим прогнозирования (например, режим прогнозирования со значением "0" или "3") выбирается из второго опорного набора. Конечно, при необходимости, набор опорных режимов может быть разделен на большее число наборов, чтобы разрешать большее число ситуаций, и режимы прогнозирования в наборе опорных режимов могут принадлежать первому опорному набору и второму опорному набору одновременно, а также могут принадлежать другим типам опорных наборов одновременно.
[0030] На этапе 104a пусть значение режима внутрикадрового прогнозирования представляет собой CurrMode, и значения двух опорных режимов прогнозирования, соответственно, представляют собой первый опорный режим Mode A прогнозирования и второй опорный режим Mode B прогнозирования. Значения Mode A и Mode B могут задаваться в последовательности по умолчанию. Например, Mode A может задаваться равным опорному режиму прогнозирования левого блока, и Mode B может быть опорным режимом прогнозирования верхнего блока.
[0031] Если CurrMode = Mode A или CurrMode = Mode B, что означает то, что режим внутрикадрового прогнозирования равен одному из опорных режимов прогнозирования, первый флаговый бит (длина может составлять 1 бит) и второй флаговый бит записываются в кодовый поток. Первый флаговый бит используется для того, чтобы указывать то, является ли режим внутрикадрового прогнозирования текущей единицы прогнозирования идентичным одному из опорных режимов прогнозирования. Например, 0 указывает то, что режим внутрикадрового прогнозирования является идентичным одному из опорных режимов прогнозирования, а 1 указывает то, что режим внутрикадрового прогнозирования отличается от всех опорных режимов прогнозирования. Второй флаговый бит используется для того, чтобы указывать опорный режим прогнозирования, равный режиму внутрикадрового прогнозирования. Например, 0 указывает то, что CurrMode равен Mode A, а 1 указывает то, что CurrMode равен Mode B.
[0032] Если режим внутрикадрового прогнозирования не равен ни одному из двух опорных режимов прогнозирования, значение кодирования режима прогнозирования режима внутрикадрового прогнозирования получается согласно взаимосвязи размеров между значением режима внутрикадрового прогнозирования и значениями опорных режимов прогнозирования, причем если значение режима внутрикадрового прогнозирования превышает значение только одного опорного режима прогнозирования, значение кодирования режима прогнозирования равно значению режима внутрикадрового прогнозирования минус 1, а если значения первого опорного режима прогнозирования и второго опорного режима прогнозирования меньше значения режима внутрикадрового прогнозирования, значение кодирования режима прогнозирования равно значению режима внутрикадрового прогнозирования минус 2. Поскольку значения как режима внутрикадрового прогнозирования, так и опорных режимов прогнозирования равны 34, диапазон значений значения кодирования режима прогнозирования составляет 0-32. Очевидно, когда диапазон значений значения кодирования режима прогнозирования составляет 0-31, значение кодирования режима прогнозирования может непосредственно указываться посредством 5-битового двоичного кода, в то время как двоичному коду для значения 32 требуются шесть битов. Следовательно, когда значение кодирования режима прогнозирования равно 31 и 32, соответствующие кодированные биты режима равны 11111, и затем соответствующее значение третьего флагового бита записывается в кодовый поток, в чем и состоит различие. Например, когда значение кодирования режима прогнозирования равно 31, соответствующие кодированные биты режима равны 11111, и третий флаговый бит равен 0; и когда значение кодирования режима прогнозирования равно 32, соответствующие кодированные биты равны 11111, и третий флаговый бит равен 1. Конечно, задание также может быть следующим: когда значение кодирования режима прогнозирования равно 31, соответствующие кодированные биты равны 11111, и третий флаговый бит равен 1; и когда значение кодирования режима прогнозирования равно 32, соответствующие кодированные биты равны 11111, и третий флаговый бит равен 0.
[0033] Например, предполагается, что когда значение текущего режима внутрикадрового прогнозирования равно 12, и наиболее вероятные значения режимов внутрикадрового прогнозирования, соответственно, равны 10 и 20: 12-1=11. Пусть фиксированное число битов составляет 5, и результат кодирования режима внутрикадрового прогнозирования представляет собой 5-битовый двоичный код для значения 11, 01011. Если наиболее вероятные режимы равны, соответственно, 13 и 20, результат кодирования режима внутрикадрового прогнозирования представляет собой 5-битовый двоичный код для значения 12, 01100. Если наиболее вероятные режимы равны, соответственно, 8 и 10, результат кодирования режима внутрикадрового прогнозирования представляет собой 5-битовый двоичный код для значения 10 (12-2), 01010.
[0034] В варианте осуществления настоящего изобретения, поскольку идентичный набор режимов прогнозирования задается для прогнозных блоков различных размеров, во время кодирования значения режима внутрикадрового прогнозирования значение кодирования режима прогнозирования может быть кодировано посредством использования фиксированного числа битов (только пяти битов) в большинстве случаев. Помимо этого необязательно задавать дополнительную логику определения для того, чтобы определять фиксированное число битов для кодирования режима внутрикадрового прогнозирования. В силу этого, экономятся системные ресурсы.
[0035] В другом необязательном варианте осуществления, аналогично предполагается, что число режимов прогнозирования в наборе режимов прогнозирования равно 35. Чтобы разрешать такую проблему, что диапазон значений кодированных битов режима может составлять только 0-31, три опорных режима прогнозирования могут задаваться для текущего блока внутрикадрового кодирования. Например, режимы прогнозирования верхнего блока, левого блока и левого верхнего блока относительно доступных смежных блоков рассматриваются в качестве опорных режимов прогнозирования, либо предварительно заданный режим прогнозирования дополнительно задается в качестве третьего опорного режима прогнозирования на основе того, что используются режимы внутрикадрового прогнозирования доступного левого блока и верхнего блока. Аналогично, когда режимы внутрикадрового прогнозирования доступных смежных блоков являются идентичными, опорные режимы прогнозирования дополняются от набора опорных режимов. В процессе получения значения кодирования режима прогнозирования операция вычитания 1 из значения режима внутрикадрового прогнозирования выполняется согласно числу опорных режимов прогнозирования, которые меньше режима внутрикадрового прогнозирования, с тем, чтобы получать значение кодирования режима прогнозирования. Поскольку существует три опорных режима прогнозирования, и как диапазон значений режима внутрикадрового прогнозирования, так и диапазон значений трех опорных режимов прогнозирования составляет 0-34, диапазон значений значения кодирования режима прогнозирования составляет 0-31. Другими словами, фиксированное число битов в пять битов может всегда использоваться для того, чтобы выполнять кодирование. Другими словами, в варианте осуществления настоящего изобретения, получение опорных режимов прогнозирования текущего блока внутрикадрового кодирования на этапе 102 включает в себя: получение трех опорных режимов прогнозирования текущего блока внутрикадрового кодирования; и на этапе 104, когда режим внутрикадрового прогнозирования отличается от всех опорных режимов прогнозирования, получение значения кодирования режима прогнозирования согласно взаимосвязи размеров между значением режима внутрикадрового прогнозирования и значениями опорных режимов прогнозирования и кодирование значения кодирования режима прогнозирования включает в себя следующие этапы:
[0036] Этап 104a'. Если значение режима внутрикадрового прогнозирования превышает значение только одного опорного режима прогнозирования, рассмотрение результата значения режима внутрикадрового прогнозирования минус 1 в качестве значения кодирования режима прогнозирования; если значение режима внутрикадрового прогнозирования превышает значения двух опорных режимов прогнозирования, рассмотрение результата значения режима внутрикадрового прогнозирования минус 2 в качестве значения кодирования режима прогнозирования; и если режим внутрикадрового прогнозирования превышает значения трех опорных режимов прогнозирования, рассмотрение результата значения режима внутрикадрового прогнозирования минус 3 в качестве значения кодирования режима прогнозирования.
[0037] Этап 104b'. Кодирование значения кодирования режима прогнозирования посредством использования фиксированного числа битов, чтобы получать кодированные биты режима, и запись кодированных битов режима в кодовый поток.
[0038] Ссылаясь на фиг. 3, вариант осуществления настоящего изобретения дополнительно предоставляет способ декодирования. Способ включает в себя следующие этапы:
[0039] Этап 301. Получение первого флагового бита из кодового потока, причем первый флаговый бит используется для того, чтобы указывать то, является ли режим внутрикадрового прогнозирования текущего блока внутрикадрового декодирования идентичным опорному режиму прогнозирования, и когда первый флаговый бит указывает то, что режим внутрикадрового прогнозирования текущего блока внутрикадрового декодирования отличается от опорных режимов прогнозирования, получение кодированных битов режима из кодового потока согласно фиксированному числу битов.
[0040] Этап 302. Получение значения кодирования режима прогнозирования согласно кодированным битам режима.
[0041] Этап 303. Получение опорных режимов прогнозирования блока внутрикадрового прогнозирования.
[0042] Этап 304. Получение режима внутрикадрового прогнозирования текущего блока внутрикадрового декодирования согласно взаимосвязи размеров между значением кодирования режима прогнозирования и значениями опорных режимов прогнозирования.
[0043] Этап 305. Декодирование текущего блока внутрикадрового декодирования согласно режиму внутрикадрового прогнозирования.
[0044] В варианте осуществления настоящего изобретения, соответствующем стороне кодирования, режимы внутрикадрового прогнозирования текущих блоков внутрикадрового декодирования различных размеров исходят из идентичного набора режимов прогнозирования. Конечно, набор режимов прогнозирования на стороне кодирования является идентичным или соответствует набору режимов прогнозирования на стороне декодирования.
[0045] На стороне декодирования получение опорных режимов прогнозирования соответствует стороне кодирования, и необходимо рассматривать только режимы прогнозирования при декодировании доступных смежных блоков относительно текущего блока внутрикадрового декодирования в качестве опорных режимов прогнозирования текущего блока внутрикадрового кодирования. Например, режимы внутрикадрового прогнозирования верхнего блока и левого блока относительно текущего блока внутрикадрового декодирования рассматриваются в качестве опорных режимов прогнозирования текущего блока внутрикадрового декодирования.
[0046] Аналогично стороне кодирования, в варианте осуществления настоящего изобретения, доступные смежные блоки относительно текущего блока внутрикадрового декодирования должны удовлетворять следующим условиям: 1. нахождение в идентичной полосе с текущим блоком внутрикадрового декодирования; и 2. подвергание декодированию.
[0047] Если значение кодирования режима прогнозирования превышает или равно значениям всех опорных режимов прогнозирования, определяется то, что результат значения кодирования режима прогнозирования плюс 2 является значением режима внутрикадрового прогнозирования текущего блока внутрикадрового декодирования; если значение кодирования режима прогнозирования превышает или равно значениям только одного из двух опорных режимов прогнозирования, определяется то, что результат значения кодирования режима прогнозирования плюс 1 является значением режима внутрикадрового прогнозирования текущего блока внутрикадрового декодирования; и если значение кодирования режима прогнозирования меньше значений всех опорных режимов прогнозирования, значение кодирования режима прогнозирования рассматривается в качестве значения режима внутрикадрового прогнозирования.
[0048] В варианте осуществления настоящего изобретения, когда первый флаговый бит указывает то, что режим внутрикадрового прогнозирования текущего блока внутрикадрового декодирования является идентичным одному из опорных режимов прогнозирования, второй флаговый бит дополнительно получается из кодового потока. Второй флаговый бит используется для того, чтобы указывать опорный режим прогнозирования, равный режиму внутрикадрового прогнозирования текущего блока внутрикадрового декодирования.
[0049] Аналогично, когда кодированные биты не равны "11111", значение кодирования режима прогнозирования равно кодированным битам; и когда кодированные биты равны "11111", третий флаговый бит получается из кодового потока, и значение кодирования режима прогнозирования получается из предварительно установленного набора согласно третьему флаговому биту.
[0050] В варианте осуществления настоящего изобретения, когда кодированные биты не равны "11111", значение кодирования режима прогнозирования равно кодированным битам; и когда кодированные биты равны "11111", третий флаговый бит получается из кодового потока, и значение кодирования режима прогнозирования получается из предварительно установленного набора согласно третьему флаговому биту. Соответственно, получение опорных режимов прогнозирования блока внутрикадрового прогнозирования включает в себя: получение двух опорных режимов прогнозирования; и получение режима внутрикадрового прогнозирования текущего блока внутрикадрового декодирования согласно взаимосвязи размеров между значением кодирования режима прогнозирования и значениями опорных режимов прогнозирования включает в себя: если значение кодирования режима прогнозирования меньше значений двух опорных режимов прогнозирования, определяется то, что значение режима внутрикадрового прогнозирования равно значению кодирования режима прогнозирования; если значение кодирования режима прогнозирования превышает или равно одному из значений двух опорных режимов прогнозирования, определяется то, что результат значения кодирования режима прогнозирования плюс 1 является значением режима внутрикадрового прогнозирования; и если значение кодирования режима прогнозирования превышает или равно значениям двух опорных режимов прогнозирования, определяется то, что результат значения кодирования режима прогнозирования плюс 2 является значением режима внутрикадрового прогнозирования.
[0051] В другом варианте осуществления настоящего изобретения, три опорных режима прогнозирования получаются непосредственно. Затем, если значение кодирования режима прогнозирования меньше значений трех опорных режимов прогнозирования, значение режима внутрикадрового прогнозирования равно значению кодирования режима прогнозирования; если значение кодирования режима прогнозирования превышает или равно значению только одного из трех опорных режимов прогнозирования, результат значения кодирования режима прогнозирования плюс 1 является значением режима внутрикадрового прогнозирования; если значение кодирования режима прогнозирования превышает или равно значениям только двух из трех опорных режимов прогнозирования, результат значения кодирования режима прогнозирования плюс 2 является значением режима внутрикадрового прогнозирования; и если значение кодирования режима прогнозирования превышает или равно значениям трех опорных режимов прогнозирования, результат значения кодирования режима прогнозирования плюс 3 является значением режима внутрикадрового прогнозирования.
[0052] После того как получается режим внутрикадрового прогнозирования, текущий блок внутрикадрового декодирования может быть декодирован согласно режиму внутрикадрового прогнозирования.
[0053] Согласно способу кодирования и способу декодирования, предоставленными в вариантах осуществления настоящего изобретения, варианты осуществления настоящего изобретения дополнительно предоставляют соответствующее устройство кодирования и устройство декодирования.
[0054] Ссылаясь на фиг. 4, устройство кодирования, предоставленное в варианте осуществления настоящего изобретения, включает в себя:
- модуль 401 прогнозирования, выполненный с возможностью получать режим внутрикадрового прогнозирования текущего блока внутрикадрового кодирования из предварительно установленного набора режимов прогнозирования и получать опорные режимы прогнозирования текущего блока внутрикадрового кодирования согласно режимам внутрикадрового прогнозирования доступных смежных блоков относительно текущего блока внутрикадрового кодирования;
- флаговый модуль 402, выполненный с возможностью записывать первый флаговый бит в кодовый поток согласно опорным режимам прогнозирования и режиму внутрикадрового прогнозирования, при этом первый флаговый бит используется для того, чтобы указывать то, является ли режим внутрикадрового прогнозирования идентичным одному из опорных режимов прогнозирования; и
- модуль 403 кодирования режимов прогнозирования, выполненный с возможностью: когда режим внутрикадрового прогнозирования блока кодирования отличается от всех опорных режимов прогнозирования, получать значение кодирования режима прогнозирования согласно взаимосвязи размеров между значением режима внутрикадрового прогнозирования и значениями опорных режимов прогнозирования и кодировать значение кодирования режима прогнозирования.
[0055] Конкретные результаты работы модуля 401 прогнозирования, флагового модуля 402 и модуля 403 кодирования режимов прогнозирования являются аналогичными результатам работы в способе кодирования, предоставленном в варианте осуществления настоящего изобретения.
[0056] Например, предполагается, что число режимов прогнозирования в наборе режимов прогнозирования по-прежнему равно 35.
[0057] В варианте осуществления настоящего изобретения, модуль 401 прогнозирования, в частности, выполнен с возможностью получать первый опорный режим прогнозирования и второй опорный режим прогнозирования согласно доступным смежным блокам относительно текущего блока внутрикадрового кодирования.
[0058] Если как верхний блок, так и левый блок относительно текущего блока внутрикадрового кодирования являются доступными смежными блоками, и режимы внутрикадрового прогнозирования верхнего блока и левого блока относительно текущего блока внутрикадрового кодирования отличаются, режимы внутрикадрового прогнозирования верхнего блока и левого блока рассматриваются в качестве первого опорного режима прогнозирования и второго опорного режима прогнозирования текущего блока внутрикадрового кодирования; и если достаточное число опорных режимов прогнозирования не может быть получено для текущего блока внутрикадрового кодирования согласно доступным смежным блокам, предварительно установленный опорный режим может рассматриваться в качестве опорного режима прогнозирования, чтобы составлять нужное число. В частности:
- если как верхний блок, так и левый блок относительно текущего блока внутрикадрового кодирования являются доступными смежными блоками, и режимы внутрикадрового прогнозирования верхнего блока и левого блока относительно текущего блока внутрикадрового кодирования являются идентичными, режим внутрикадрового прогнозирования верхнего блока или левого блока относительно текущего блока внутрикадрового кодирования рассматривается в качестве первого опорного режима прогнозирования, и предварительно установленный режим прогнозирования выбирается из набора режимов прогнозирования в качестве второго опорного режима прогнозирования; или
- если верхний блок относительно текущего блока внутрикадрового кодирования является доступным смежным блоком, в то время как левый блок является недоступным смежным блоком, режим прогнозирования верхнего блока относительно текущего блока внутрикадрового кодирования рассматривается в качестве первого опорного режима прогнозирования, и режим прогнозирования выбирается из предварительно установленного резервного набора опорных режимов в качестве второго опорного режима прогнозирования; или
- если верхний блок относительно текущего блока внутрикадрового кодирования является недоступным смежным блоком, в то время как левый блок является доступным смежным блоком, режим прогнозирования левого блока относительно текущего блока внутрикадрового кодирования рассматривается в качестве первого опорного режима прогнозирования, и режим прогнозирования выбирается из предварительно установленного резервного набора опорных режимов в качестве второго опорного режима прогнозирования; или
- если как верхний блок, так и левый блок относительно текущего блока внутрикадрового кодирования являются недоступными смежными блоками, два режима прогнозирования повторно выбираются из предварительно установленного резервного набора опорных режимов в качестве первого опорного режима прогнозирования и второго опорного режима прогнозирования.
[0059] Модуль 403 кодирования режимов прогнозирования, в частности, выполнен с возможностью:
- если значение режима внутрикадрового прогнозирования превышает значение только одного опорного режима прогнозирования, рассматривать результат значения режима внутрикадрового прогнозирования минус 1 в качестве значения кодирования режима прогнозирования; если значение режима внутрикадрового прогнозирования превышает значения двух опорных режимов прогнозирования, рассматривать результат значения режима внутрикадрового прогнозирования минус 2 в качестве значения кодирования режима прогнозирования; кодировать значение кодирования режима прогнозирования посредством использования фиксированного числа битов, чтобы получать кодированные биты режима, и записывать кодированные биты режима в кодовый поток, причем если длина двоичного кода значения кодирования режима прогнозирования превышает фиксированное число битов, кодированные биты режима приравниваются к "11111", и третий флаговый бит дополнительно записывается в кодовый поток, причем третий флаговый бит используется для того, чтобы указывать значение для значения кодирования режима прогнозирования в предварительно установленном наборе.
[0060] В другом варианте осуществления настоящего изобретения, модуль 401 прогнозирования, в частности, выполнен с возможностью получать три опорных режима прогнозирования согласно доступным смежным блокам относительно текущего блока внутрикадрового кодирования.
[0061] В другом варианте осуществления настоящего изобретения, модуль 403 кодирования режимов прогнозирования, в частности, выполнен с возможностью:
- если значение режима внутрикадрового прогнозирования превышает значение только одного из трех опорных режимов прогнозирования, рассматривать результат значения режима внутрикадрового прогнозирования минус 1 в качестве значения кодирования режима прогнозирования; если значение режима внутрикадрового прогнозирования превышает значения двух из трех опорных режимов прогнозирования, рассматривать результат значения режима внутрикадрового прогнозирования минус 2 в качестве значения кодирования режима прогнозирования; и если режим внутрикадрового прогнозирования превышает значения трех опорных режимов прогнозирования, определять то, что значение кодирования режима прогнозирования равно значению режима внутрикадрового прогнозирования минус 3; и
- кодировать значение кодирования режима прогнозирования посредством использования фиксированного числа битов, чтобы получать кодированные биты режима, и записывать кодированные биты режима в кодовый поток.
[0062] Ссылаясь на фиг. 5, фиг. 5 является блок-схемой устройства декодирования согласно варианту осуществления настоящего изобретения. Устройство декодирования, предоставленное в варианте осуществления настоящего изобретения, включает в себя:
- модуль 501 считывания кодовых потоков, выполненный с возможностью получать первый флаговый бит из кодового потока, причем первый флаговый бит используется для того, чтобы указывать то, является ли режим внутрикадрового прогнозирования текущего блока внутрикадрового декодирования идентичным опорному режиму прогнозирования, и когда первый флаговый бит указывает то, что режим внутрикадрового прогнозирования текущего блока внутрикадрового декодирования отличается от опорных режимов прогнозирования, получать кодированные биты режима из кодового потока согласно фиксированному числу битов, причем режим внутрикадрового прогнозирования представляет собой режим прогнозирования, применяемый, когда блок внутрикадрового декодирования пиксельно декодируется;
- модуль 502 получения опорных режимов прогнозирования, выполненный с возможностью получать опорные режимы прогнозирования блока внутрикадрового прогнозирования; и
- модуль 503 декодирования, выполненный с возможностью получать значение кодирования режима прогнозирования согласно кодированным битам режима, получать режим внутрикадрового прогнозирования текущего блока внутрикадрового декодирования согласно взаимосвязи размеров между значением кодирования режима прогнозирования и значениями опорных режимов прогнозирования и декодировать текущий блок внутрикадрового декодирования согласно режиму внутрикадрового прогнозирования.
[0063] Конкретные способы работы модуля 501 считывания кодовых потоков, модуля 502 получения опорных режимов прогнозирования и модуля 503 декодирования являются идентичными способу декодирования, предоставленному в варианте осуществления настоящего изобретения.
[0064] В частности, фиксированное число битов равно 5.
[0065] В варианте осуществления настоящего изобретения, когда первый флаговый бит указывает то, что режим внутрикадрового прогнозирования текущего блока внутрикадрового декодирования отличается от опорных режимов прогнозирования, модуль 501 считывания кодовых потоков выполняет следующие этапы: если кодированные биты не равны "11111", определение того, что значение кодирования режима прогнозирования равно кодированным битам; и если кодированные биты равны "11111", получение бита из кодового потока и получение значения кодирования режима прогнозирования из предварительно установленного набора согласно биту. Соответственно, модуль 502 получения опорных режимов прогнозирования получает два опорных режима прогнозирования; и модуль 503 декодирования выполняет следующие этапы: если значение кодирования режима прогнозирования меньше значений двух опорных режимов прогнозирования, определение того, что значение режима внутрикадрового прогнозирования равно значению кодирования режима прогнозирования; если значение кодирования режима прогнозирования превышает или равно значению только одного из двух опорных режимов прогнозирования, определение того, что результат значения кодирования режима прогнозирования плюс 1 является значением режима внутрикадрового прогнозирования; и если значение кодирования режима прогнозирования превышает или равно значениям двух опорных режимов прогнозирования, определение того, что результат значения кодирования режима прогнозирования плюс 2 является значением режима внутрикадрового прогнозирования.
[0066] В другом варианте осуществления настоящего изобретения, модуль 502 получения опорных режимов прогнозирования получает три опорных режима прогнозирования; и, соответственно, модуль 503 декодирования выполняет следующие этапы: если значение кодирования режима прогнозирования меньше значений трех опорных режимов прогнозирования, определение того, что значение режима внутрикадрового прогнозирования равно значению кодирования режима прогнозирования; если значение кодирования режима прогнозирования превышает или равно значению только одного из трех опорных режимов прогнозирования, определение того, что результат значения кодирования режима прогнозирования плюс 1 является значением режима внутрикадрового прогнозирования; если значение кодирования режима прогнозирования превышает или равно значениям только двух из трех опорных режимов прогнозирования, определение того, что результат значения кодирования режима прогнозирования плюс 2 является значением режима внутрикадрового прогнозирования; и если значение кодирования режима прогнозирования превышает или равно значениям трех опорных режимов прогнозирования, определение того, что результат значения кодирования режима прогнозирования плюс 3 является значением режима внутрикадрового прогнозирования.
[0067] Вышеприведенное описание представляет собой только конкретные варианты осуществления настоящего изобретения и не предназначено ограничивать объем охраны настоящего изобретения. Все изменения или замены, очевидные для специалистов в данной области техники в пределах объема, раскрытого в настоящем изобретении, должны попадать в объем охраны настоящего изобретения. Следовательно, объем охраны настоящего изобретения должен зависеть от объема охраны формулы изобретения.