СОКРАЩЕНИЕ ПРОСТРАНСТВА КОДОВЫХ СЛОВ ДЛЯ СООБЩЕНИЯ О РЕЖИМЕ ВНУТРЕННЕГО ПРЕДСКАЗАНИЯ ЦВЕТНОСТИ ПРИ HEVC
CODEWORD SPACE REDUCTION FOR INTRA CHROMA MODE SIGNALLING FOR HEVC

Область техники, к которой относится изобретение
Настоящее изобретение относится к области обработки изображений. Более конкретно, настоящее изобретение относится к модифицированному назначению кодовых слов для сообщения о режиме внутреннего кодирования цветности при высокоэффективном видеокодировании (HEVC).
Уровень техники изобретения
Стандартная схема преобразования в двоичную форму/назначения кодовых слов при кодировании с переменной длиной (VLC), используемая при современном видеокодировании (AVC), показана в таблице 1. При AVC режим предсказания для внутренне кодированного блока сообщается в битовом потоке на декодер. Возможными режимами предсказания цветности/направления являются вертикальный, горизонтальный, DC, диагональный и "как для яркости". Каждому из режимов назначается кодовое слово от 0 до 4 и они сообщаются, используя усеченный унарный код в битовом потоке.
Таблица 1
Режим внутреннего предсказания для компонент цветности
intra_pred_mode_chroma (режим внутреннего предсказания цветности)
Преобразование в двоичную форму/кодовое слово VLC
0 (вертикальный)
0
1 (горизонтальный)
10
2 (DC)
110
3 (диагональ вниз вправо)
1110
4 (как для яркости)
1111
Статистическое исследование показывает, что для компонент цветности существует высокая вероятность использования направления предсказания выборки в качестве компонента яркости блока. Однако режиму "как для яркости" в таблице 1 назначается самое длинное кодовое слово (4 бита), что неэффективно. С другой стороны, существует также избыточность между режимом 4 и режимом 0-3, когда режимом предсказания яркости является один из режимов - вертикальный, горизонтальный, DC и диагональный вправо вниз. Поэтому необходимо улучшение построения таблицы кодовых слов.
Раскрытие изобретения
В современных стандартах видеокодирования, таких как AVC, используется внутреннее предсказание. Режимы внутреннего предсказания кодируются в битовом потоке. Компоненты яркости и цветности потенциально могут иметь различные режимы предсказания. Для компонентов цветности существуют 5 различных режимов, определенных в AVC: вертикальный, горизонтальный, DC, диагональный вниз вправо и "как для яркости". Статистика показывает, что режим "как для яркости" используется часто, но в AVC этот режим кодируется при энтропийном кодировании, используя больше битов, чем в других режимах, поэтому эффективность кодирования уменьшается. Соответственно модифицированное преобразование в двоичную форму/назначение кодовых слов для сообщения о режиме внутреннего предсказания цветности может использоваться для высокоэффективного видеокодирования (HEVC), стандарта видеокодирования следующего поколения.
В одном варианте способ, запрограммированный в контроллере устройства, содержит программирование назначения кодовых слов, определение, совпадает ли режим "как для яркости" с режимом другого кодового слова, изменение назначения кодовых слов, если режим "как для яркости" совпадает с режимом другого кодового слова, и выполнение кодирования с внутренним предсказанием, используя указанное назначение кодовых слов. Назначение кодовых слов содержит пять режимов, в том числе вертикальный, горизонтальный, DC, диагональный вниз вправо и "как для яркости". Кодовое слово для режима "как для яркости" содержит наименьшее количество битов из пяти режимов. Изменение назначения кодовых слов содержит удаление указанного режима другого кодового слова и уменьшение количества битов в остальных режимах кодовых слов. Кодирование с внутренним предсказанием используется для декодирования изображения. Назначение кодовых слов программируется в памяти устройства. Назначение кодовых слов содержит программируемую логику аппаратного обеспечения. Устройство выбирается из группы, состоящей из персонального компьютера, ноутбука, компьютерной рабочей станции, сервера, большого компьютера, переносного компьютера, персонального цифрового секретаря, сотового/мобильного телефона, смартфона, игровой консоли, цифрового фотоаппарата, цифровой видеокамеры, телефона с фотоаппаратом, iPod/iPhone/iPad, видеоплеера, плеера/пишущего плеера DVD, плеера/пишущего плеера Blu-ray, телевизора и системы домашних развлечений.
В еще одном варианте устройство для осуществления назначения кодовых слов содержит модуль программирования для программирования назначения кодовых слов, модуль сравнения для определения, совпадает ли режим "как для яркости" с режимом другого кодового слова, модуль изменения для изменения назначения кодовых слов, если режим "как для яркости" совпадает с режимом другого кодового слова, и модуль внутреннего предсказания кодирования для выполнения внутреннего предсказания кодирования, используя назначение кодовых слов. Назначение кодовых слов содержит пять режимов, в числе которых вертикальный, горизонтальный, DC, диагональный вниз вправо и "как для яркости". Кодовое слово режима "как для яркости" содержит наименьшее количество битов из этих пяти режимов. Изменение назначения кодовых слов содержит удаление указанного режима другого кодового слова и сокращение количества битов в остающихся режимах кодовых слов. Внутреннее предсказание кодирования используется для декодирования изображения. Назначение кодового слова программируется в памяти устройства. Назначение кодового слова содержит программирование аппаратной логики. Устройство выбирается из группы, содержащей персональный компьютер, ноутбук, компьютерную рабочую станцию, сервер, большой компьютер, переносной компьютер, персонального цифрового секретаря, сотового/мобильного телефона, смарт-устройства, игровой консоли, цифрового фотоаппарата, цифровой видеокамеры, телефона с камерой, iPod/iPhone/iPad, видеоплеера, плеера/пишущего плеера DVD, плеера/пишущего плеера Blu-ray, телевизора и домашней системы развлечений.
В еще одном варианте устройство содержит память для хранения прикладной программы, причем прикладная программа для программирования кодовых слов содержит пять режимов, в том числе вертикальный, горизонтальный, DC, диагональный вниз вправо и "как для яркости", определяет, совпадает ли режим "как для яркости" с другим режимом, и если режим "как для яркости" одинаков с другим режимом, то изменяют назначение кодовых слов так, чтобы удалить другой режим, а в оставшихся кодовых словах уменьшить количество битов, и выполняет внутреннее предсказание кодирования, используя назначение кодовых слов и компонент обработки, связанный с памятью, причем компонент обработки выполнен с возможностью обработки прикладной программы. Режим "как для яркости" содержит наименьшее количество битов из всех режимов. Внутреннее предсказание кодирования используется для декодирования изображения. Устройство выбирается из группы, содержащей персональный компьютер, ноутбук, компьютерную рабочую станцию, сервер, большой компьютер, переносной компьютер, персональный цифровой секретарь, сотовый/мобильный телефон, смарт-устройство, игровую консоль, цифровой фотоаппарат, цифровую видеокамеру, телефон с камерой, iPod/iPhone/iPad, видеоплеер, плеер/пишущий плеер DVD, плеер/пишущий плеер Blu-ray, телевизор и домашнюю систему развлечений.
Краткое описание чертежей
Фиг.1 - блок-схема способа кодирования с внутренним предсказанием, использующая модифицированное назначение кодовых слов в соответствии с некоторыми вариантами осуществления.
Фиг.2 - блок-схема способа изменения назначения кодовых слов в соответствии с некоторыми вариантами осуществления.
Фиг.3 - блок-схема кодера/декодера (кодека), соответствующего некоторым вариантам осуществления.
Фиг.4 - блок-схема примера вычислительного устройства, выполненного с возможностью осуществления модифицированного назначения кодовых слов в соответствии с некоторыми вариантами осуществления.
Подробное описание предпочтительного варианта осуществления
Так как компоненты шаблона текстуры яркости и цветности коррелируется, часто режим, используемый для предсказания яркости, также пригоден для предсказания цветности. Таким образом, режим "как для яркости", вероятно, будет наилучшим режимом. Поэтому в таблице 2 показана пересмотренная схема преобразования в двоичную форму/кодирования с переменной длиной (VLC). Как можно видеть, в улучшенной схеме режим "как для яркости" имеет самое короткое кодовое слово (только 1 бит).
Таблица 2
Зависимость между стандартным преобразованием в двоичную форму/кодовое слово VLC и улучшенным преобразованием в двоичную форму/кодовое слово VLC
Стандартное преобразование в двоичную форму/кодовое слово VLC
Улучшенное преобразование в двоичную форму/кодовое слово VLC
intra_pred_mode_chroma
0 (вертикальный)
0
10
1 (горизонтальный)
10
110
2 (DC)
110
1110
3 (диагональный вниз вправо)
1110
1111
4 (как для яркости)
1111
0
Дополнительно, внутренние режимы цветности не являются взаимно исключающими. Например, если внутренним режимом яркости является вертикальный, то режим "как для яркости" является тем же самым, что и вертикаль. Поэтому, сокращение пространства кодовых слов может быть использовано для дальнейшего повышения эффективности кодирования, так что если режим яркости является одним из режимов из вертикального, горизонтального, DC или диагонального вниз вправо, соответствующий режим удаляется от списка режима цветности, и соответственно пространство кодовых слов усеченного унарного кода уменьшается с 0-4 до 0-3. В таблице 3 показан полный список кодовых слов.
Таблица 3
Список кодовых комбинаций, использующих сокращенное пространство кодовых слов
intra_pred_mode_luma
intra_pred_mode_chroma
0
1
2
3
Прочие
0 (вертикальный)
не примен.
10
10
10
10
1 (горизонтальный)
10
не примен.
110
110
110
2 (DC)
110
110
не примен.
111
1110
3 (диагональный вниз вправо)
111
111
111
не примен.
1111
4 (как для яркости)
0
0
0
0
0
На фиг.1 представлена блок-схема последовательности выполнения операций способа кодирования с внутренним предсказанием, используя модифицированное назначение кодовых слов в соответствии с некоторыми вариантами осуществления. На этапе 100 программируется модифицированное назначение кодовых слов. В некоторых вариантах осуществления программирование содержит сохранение назначения в памяти. В некоторых вариантах осуществления программирование содержит конструирование аппаратного обеспечения для реализации назначения. В некоторых вариантах осуществления реализуется другой способ программирования. В таблице 3 (смотрите выше) показан пример модифицированного назначения кодовых слов, где кодовое слово "как для яркости" использует наименьшее количество битов. На этапе 102 модифицированное назначение кодовых слов используется для выполнения кодирования внутренним предсказанием кодирования (например, определение режима направленного предсказания). В некоторых вариантах осуществления реализуется меньшее количество этапов или дополнительные этапы.
На фиг.2 представлена блок-схема последовательности выполнения операций способа изменения назначения кодовых слов в соответствии с некоторыми вариантами осуществления. На этапе 200 программируется модифицированное назначение кодовых слов. В некоторых вариантах осуществления программирование содержит сохранение назначения в памяти. В некоторых вариантах осуществления программирование содержит разработку аппаратного обеспечения для реализации назначения. В некоторых вариантах осуществления реализуется другой способ программирования. На этапе 202 определяется, совпадает ли значение режима "как для яркости" со значением кодового слова одного из режимов. Если значение режима "как для яркости" не совпадает со значением кодового слова одного из режимов, то назначение кодовых слов далее не модифицируется, и процесс переходит к этапу 206. Если значение режима "как для яркости" совпадает со значением кодового слова одного из режимов, то на этапе 204 это кодовое слово режима удаляется или не используется, а кодовые слова остальных режимов изменяются, и назначение кодовых слов снова модифицируется. Например, кодовые слова изменяются, как показано выше в таблице 3. На этапе 206 модифицированное назначение кодовых слов используется для выполнения кодирования с внутренним предсказанием (например, определение режима направленного предсказания). Назначение этапов модификации кодовых слов при необходимости может повторяться. В некоторых вариантах осуществления реализуются меньше этапов или дополнительные этапы. Например, в некоторых вариантах осуществления этап 200 пропускается или удаляется.
На фиг.3 показана блок-схема кодера/декодера (кодека), соответствующего некоторым вариантам осуществления. Входной видеосигнал принимается в кодеке 300, и видеосигнал разделяется на множество блоков. Кодек 300 содержит компоненты кодера, в том числе: модуль 302 преобразования/квантования, в котором коэффициенты преобразования масштабируются и квантуются, кодер 304 энтропии, такой как кодер контекстного адаптивного двоичного арифметического кодирования (САВАС), выполняет энтропийное кодирование, модуль 306 обратного преобразования/квантования применяет обратное преобразование/квантование, фильтр 308 деблокирования реализуется, чтобы управлять степенью фильтрации для уменьшения разложения изображения на элементы, адаптивный контурный фильтр 310 улучшает эффективность кодирования, применяя фильтры к распакованному-отфильтрованному изображению, и предсказывающее устройство 312 выполняет этапы предсказания. Кодек 300 также содержит компоненты декодера, в том числе: энтропийный декодер 314 для осуществления энтропийного декодирования, второй модуль 316 обратного преобразования/квантования, второй фильтр 318 деблокирования, второй адаптивный контурный фильтр 320 и второе устройство 322 предсказания, которые выполняют операции, подобные описанным выше, только лишь при осуществлении декодирования. В устройстве 312 предсказания модифицированное назначение кодовых слов реализуется так, чтобы обеспечить более эффективный режим внутреннего предсказания. Могут также содержаться меньше компонент или дополнительные компоненты.
На фиг.4 представлена блок-схема примера вычислительного устройства 400, выполненного с возможностью осуществления модифицированного назначения кодовых слов в соответствии с некоторыми вариантами осуществления. Вычислительное устройство 400 может использоваться для сбора, хранения, вычисления, обработки, передачи и/или отображения информации, такой как изображения, видеоинформация и аудиоинформация. Например, вычислительное устройство 400 может получить и сохранить изображение. Модифицированное назначение кодовых слов может использоваться во время или после получения изображения или при отображении изображения на устройстве 400. В целом, структура аппаратурного обеспечения, пригодного для реализации вычислительного устройства 400, содержит сетевой интерфейс 402, память 404, процессор 406, устройство(а) 408 ввода-вывода, шину 410 и устройство 412 хранения. Выбор процессора не критичен, пока выбирается соответствующий процессор с достаточной скоростью. Память 404 может быть любой стандартной компьютерной памятью, известной в этой области техники. Устройство 412 хранения может содержать жесткий диск, CD-ROM, CD-RW, DVD, DVD-RW, карту флэш-памяти или любое другое устройство хранения. Вычислительное устройство 400 может содержать один или более сетевых интерфейсов 402. Примерами сетевого интерфейса являются сетевая плата, соединенная с Ethernet или другим типом локальной сети LAN. Устройство(а) 408 ввода-вывода может быть одним или более из следующих: клавиатура, мышь, монитор, дисплей, принтер, модем, сенсорный экран, кнопочный интерфейс и другие устройства. В некоторых вариантах осуществления структура аппаратного обеспечения содержит многочисленные процессоры и другие аппаратные средства для выполнения параллельной обработки. Прикладная программа(ы) 430 назначения кодовых слов, используемая для осуществления модифицированного синтаксиса, вероятно, должна храниться в устройстве 412 хранения и памяти 404 и обрабатываться так, как обычно обрабатываются прикладные программы. Больше или меньше компонент, показанных на фиг.4, могут быть введены в вычислительное устройство 400. В некоторых вариантах осуществления вводится аппаратное обеспечение 420 для модифицированного назначения кодовых слов. Хотя вычислительное устройство 400 на фиг.4 содержит прикладные программы 430 и аппаратурное обеспечение 420 для реализации модифицированного назначения кодовых слов, модифицированное назначение кодовых слов может быть реализовано на вычислительном устройстве в аппаратурном обеспечении, встроенном микропрограммном обеспечении, программном обеспечении или любой их комбинации. Например, в некоторых вариантах осуществления прикладные программы 430 модифицированного назначения кодовых слов программируются в памяти и выполняются, используя процессор. В другом примере в некоторых вариантах осуществления аппаратное обеспечение 420 модифицированного назначения кодовых слов является запрограммированной логикой аппаратурного обеспечения, в том числе, логических элементов, специально разработанных для реализации способа.
В некоторых вариантах прикладная программа(ы) 430 модифицированного назначения кодовых слов содержит несколько прикладных программ и/или модулей. Модули содержат программный модуль для программирования модифицированного назначения кодовых слов, модуль внутреннего предсказания кодирования для выполнения внутреннего предсказания кодирования, используя модифицированное назначение кодовых слов, модуль сравнения для определения, одинаково ли значение режима "как для яркости" с кодовыми словами одного из режимов, и модуль переконфигурации для переконфигурации назначения кодовых слов. В некоторых вариантах осуществления модули содержат также один или более субмодулей. В некоторых вариантах осуществления могут содержаться меньше модулей или дополнительные модули.
Примерами соответствующих вычислительных устройств являются персональный компьютер, ноутбук, компьютерная рабочая станция, сервер, большой компьютер, переносной компьютер, персональный цифровой секретарь, сотовый /мобильный телефон, смарт-устройство, игровая консоль, цифровой фотоаппарат, цифровая видеокамера, телефон с камерой, iPod/iPhone/iPad, видеоплеер, плеер/пишущий плеер DVD, плеер/пишущий плеер Blu-ray, телевизор, домашняя система развлечений или любое другое соответствующее вычислительное устройство.
Чтобы использовать модифицированное назначение кодовых слов, пользователь получает видеоинформацию/изображения с помощью таких устройств, как цифровая видеокамера, и в то время, когда принимается видеоинформация, или после этого или когда видеоинформация отображается, модифицированное назначение кодовых слов используется в варианте внутреннего предсказания кодирования при кодировании видеоинформации. Модифицированное назначение кодовых слов может быть реализовано автоматически без участия пользователя.
При работе модифицированное назначение кодовых слов позволяет получить более эффективное предсказание. Простое модифицированное назначение кодовых слов может использоваться там, где "как для яркости" является самым коротким кодовым словом, или может использоваться несколько более сложное назначение кодовых слов, когда назначение кодовых слов изменяется в зависимости от того, совпадает ли режим "как для яркости" с одним из других режимов. В некоторых вариантах осуществления предсказание яркости проверяется в кодере, в декодере или в них обоих.
Некоторые варианты осуществления назначения кодовых слов для сообщения о режиме внутреннего предсказания цветности при hevc
1. Способ, программируемый в контроллере устройства, содержащий этапы, на которых:
а. программируют назначение кодовых слов;
b. определяют, совпадает ли режим "как для яркости" с режимом другого кодового слова;
с. переконфигурируют назначение кодовых слов, если режим "как для яркости" совпадает с режимом другого кодового слова; и
d. выполняют внутреннее предсказание кодирования, используя указанное назначение кодовых слов.
2. Способ по п.1, в котором назначение кодовых слов содержит пять режимов, в том числе вертикальный, горизонтальный, DC, диагональный вниз вправо и "как для яркости".
3. Способ по п.2, в котором из указанных пяти режимов кодовое слово для режима "как для яркости" содержит наименьшее количество битов.
4. Способ по п.3, в котором на этапе переконфигурирования назначения кодовых слов удаляют указанный режим другого кодового слова и сокращают количество битов в остальных режимах кодовых слов.
5. Способ по п.1, в котором используют внутреннее предсказание кодирования для декодирования изображения.
6. Способ по п.1, в котором программируют назначение кодовых слов в памяти устройства.
7. Способ по п.1, в котором на этапе назначения кодовых слов программируют аппаратную логику.
8. Способ по п.1, в котором устройство выбирают из группы, состоящей из персонального компьютера, ноутбука, компьютерной рабочей станции, сервера, большого компьютера, переносного компьютера, персонального цифрового секретаря, сотового /мобильного телефона, смарт-устройства, игровой консоли, цифрового фотоаппарата, цифровой видеокамеры, телефона с камерой, iPod/iPhone/iPad, видеоплеера, плеера/пишущего плеера DVD, плеера/пишущего плеера Blu-ray, телевизора и домашней системы развлечений.
9. Устройство для осуществления назначения кодовых слов, содержащее:
а. модуль программирования для программирования назначения кодовых слов;
b. модуль сравнения для определения, совпадает ли режим "как для яркости" с режимом другого кодового слова;
с. модуль переконфигурирования для переконфигурирования назначения кодовых слов, если режим "как для яркости" совпадает с режимом другого кодового слова; и
d. модуль внутреннего предсказания для выполнения внутреннего предсказания кодирования с использованием указанного назначения кодовых слов.
10. Устройство по п.9, в котором назначение кодовых слов содержит пять режимов, в том числе вертикальный, горизонтальный, DC, диагональный вниз вправо и "как для яркости".
11. Устройство по п.10, в котором из указанных пяти режимов кодовое слово для режима "как для яркости" содержит наименьшее количество битов.
12. Устройство по п.9, в котором переконфигурирование назначения кодовых слов содержит удаление другого режима и уменьшение количества битов в остальных режимах кодовых слов.
13. Устройство по п.9, характеризующееся тем, что выполнено с возможностью использования внутреннего предсказания кодирования для декодирования изображения.
14. Устройство по п.9, характеризующееся тем, что выполнено с возможностью программирования назначения кодовых слов в памяти устройства.
15. Устройство по п.9, в котором назначение кодовых слов содержит программирование аппаратной логики.
16. Устройство по п.9, в котором устройство выбрано из группы, состоящей из персонального компьютера, ноутбука, компьютерной рабочей станции, сервера, большого компьютера, переносного компьютера, персонального цифрового секретаря, сотового/мобильного телефона, смарт-устройства, игровой консоли, цифрового фотоаппарата, цифровой видеокамеры, телефона с камерой, iPod/iPhone/iPad, видеоплеера, плеера/пишущего плеера DVD, плеера/пишущего плеера Blu-ray, телевизора и домашней системы развлечений.
17. Устройство, содержащее:
а. память для хранения прикладной программы для:
i. программирования назначения кодовых слов, содержащих пять режимов, в том числе вертикальный, горизонтальный, DC, диагональный вниз вправо и "как для яркости";
ii. определения, совпадает ли режим "как для яркости" с другим режимом, и если режим "как для яркости" совпадает с другим режимом, переконфигурирование назначения кодовых слов так, чтобы удалить указанный другой режим и уменьшить количество битов кодовых слов остальных режимов; и
iii. выполнения внутреннего предсказания кодирования с использованием указанного назначения кодовых слов; и
b. компонент обработки, связанный с памятью, причем компонент обработки выполнен с возможностью обработки прикладной программы.
18. Устройство по п.17, в котором из всех режимов режим "как для яркости" содержит наименьшее количество битов.
19. Устройство по п.17, характеризующееся тем, что выполнено с возможностью использования внутреннего предсказания кодирования для декодирования изображения.
20. Устройство по п.17, в котором устройство выбрано из группы, состоящей из персонального компьютера, ноутбука, компьютерной рабочей станции, сервера, большого компьютера, переносного компьютера, персонального цифрового секретаря, сотового/мобильного телефона, смарт-устройства, игровой консоли, цифрового фотоаппарата, цифровой видеокамеры, телефона с камерой, iPod/iPhone/iPad, видеоплеера, плеера/пишущего плеера DVD, плеера/пишущего плеера Blu-ray, телевизора и домашней системы развлечений.
Настоящее изобретение было описано с точки зрения конкретных вариантов осуществления, содержащих подробности для облегчения понимания принципов осуществления и действия изобретения. Такая ссылка, сделанная здесь на конкретные варианты осуществления и их подробности, не предназначена ограничивать объем прилагаемой формулы изобретения. Специалисту в данной области техники должно быть легко понятно, что в вариант осуществления, выбранный для иллюстрации, могут быть внесены другие различные изменения, не отступая от сущности и объема изобретения, определенных формулой изобретения.