СПОСОБ ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЙ, ДЕКОДЕР И КОМПЬЮТЕРНЫЙ НОСИТЕЛЬ ДАННЫХ
IMAGE DECODING METHOD, DECODER AND COMPUTER DATA CARRIER

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к области техники кодирования видео и, в частности, к способу декодирования изображений, декодеру и компьютерному носителю данных.
ПРЕДПОСЫЛКИ ИЗОБРЕТЕНИЯ
В стандарте кодирования видео нового поколения H.266 или универсального кодирования видео (VVC) разрешается межкомпонентная зависимость. Таким образом, предсказание от значения яркости до значения цветности или предсказание между значениями цветности может быть достигнуто посредством межкомпонентного предсказывания линейной модели (CCLM) и прямого режима (DM).
Хотя CCLM и другие режимы кодирования (т. е. кодирования/декодирования) межкомпонентной зависимости могут повышать эффективность кодирования, для сцен, требующих быстрой обработки или обработки с высокой степенью параллелизма, режим кодирования межкомпонентной зависимости не может эффективно использоваться для параллельного кодирования и имеет недостаток, заключающийся в высокой сложности.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
В вариантах реализации настоящей заявки представлены способ декодирования изображений, декодер и компьютерный носитель данных для достижения параллельного кодирования и снижения сложности кодирования для сцен, требующих быстрой обработки или обработки с высокой степенью параллелизма.
Технические решения вариантов реализации являются следующими.
Представлен способ декодирования изображений. Способ включает следующее.
Получают битовый поток, соответствующий текущему изображению. Анализируют битовый поток с получением флага, соответствующего текущему изображению. Отключение функции перекрестного декодирования, когда метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета, где функция перекрестного декодирования разрешает декодирование, основанное на зависимости между компонентами цвета.
Представлены способ декодирования изображений, декодер и компьютерный носитель данных. Декодер получает битовый поток, соответствующий текущему изображению. Декодер анализирует битовый поток с получением флага, соответствующего текущему изображению. Декодер отключает функцию перекрестного декодирования, когда метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета, где функция перекрестного декодирования разрешает декодирование, основанное на зависимости между компонентами цвета. Согласно вариантам реализации декодер может вначале анализировать битовый поток, соответствующий текущему изображению, с получением флага в битовом потоке для определения, разрешать ли зависимость между компонентами цвета. Если метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета (т. е. зависимость между компонентами цвета не разрешается), декодер должен отключить функцию перекрестного декодирования (т. е. декодер декодирует текущее изображение без учета зависимости между компонентами цвета). Таким образом, можно достичь параллельного кодирования и сложность кодирования может быть снижена для сцен, требующих быстрой обработки или обработки с высокой степенью параллелизма. В то же время, в этих сценах бит, указывающий, что декодирование не основано на зависимости между компонентами цвета, может быть пропущен на уровне элемента кодирования (CU) и эффективность кодирования может быть повышена.
КРАТКОЕ ОПИСАНИЕ ГРАФИЧЕСКИХ МАТЕРИАЛОВ
На фиг. 1 показана структурная схема системы кодирования видео.
На фиг. 2 показана структурная схема системы декодирования видео.
На фиг. 3 показана первая блок-схема способа декодирования изображений согласно вариантам реализации.
На фиг. 4 показана вторая блок-схема способа декодирования изображений согласно вариантам реализации.
На фиг. 5 показана третья блок-схема способа декодирования изображений согласно вариантам реализации.
На фиг. 6 показана четвертая блок-схема способа декодирования изображений согласно вариантам реализации.
На фиг. 7 показана пятая блок-схема способа декодирования изображений согласно вариантам реализации.
На фиг. 8 показана первая структурная схема декодера согласно вариантам реализации.
На фиг. 9 показана вторая структурная схема декодера согласно вариантам реализации.
ПОДРОБНОЕ ОПИСАНИЕ
Технические решения в вариантах реализации настоящей заявки будут ясно и полностью описаны ниже в сочетании с графическими материалами в вариантах реализации настоящей заявки. Следует понимать, что варианты реализации, описанные в данном документе, используются только для объяснения соответствующего приложения, но не ограничивают это приложение. В дополнение, для простоты описания на графических материалах показаны только части, относящиеся к соответствующему приложению.
Кодирование видео представляет собой кодирование каждого изображения; подобным образом, декодирование битового потока видео, полученного посредством кодирования и сжатия видео, представляет собой декодирование битового потока каждого изображения. Практически во всех международных стандартах для кодирования изображения при кодировании одного изображения необходимо разбивание изображения на несколько фрагментов изображения блока M×M пикселей, которые называются элементами кодирования (CU), и кодирование фрагментов изображения блок за блоком с использованием CU в качестве базового элемента кодирования. M обычно имеет значение 4, 8, 16, 32 или 64. Следовательно, кодирование последовательности видеокадров представляет собой последовательное кодирование каждого CU каждого изображения. Декодирование битового потока последовательности видеокадров представляет собой последовательное декодирование CU каждого изображения и, наконец, восстановление всей последовательности видеокадров.
В изображении первый компонент цвета, второй компонент цвета и третий компонент цвета обычно используют для указания блока кодирования. Первый компонент цвета, второй компонент цвета и третий компонент цвета представляют собой соответственно компонент яркости, синий компонент цветности и красный компонент цветности. Например, компонент яркости обычно представлен символом Y, синий компонент цветности обычно представлен символом Cb и красный компонент цветности обычно представлен символом Cr.
В варианте реализации первый компонент цвета, второй компонент цвета и третий компонент цвета представляют собой компонент яркости Y, синий компонент цветности Cb и красный компонент цветности Cr соответственно. Например, первый компонент цвета представляет собой компонент яркости Y, второй компонент цвета представляет собой красный компонент цветности Cr и третий компонент цвета представляет собой синий компонент цветности Cb, что не ограничено в данном документе.
В H.266 для дальнейшего повышения производительности кодирования и эффективности кодирования расширено и улучшено межкомпонентное предсказывание (CCP). В H.266 CCLM может реализовывать предсказание от первого компонента цвета до второго компонента цвета, от первого компонента цвета до третьего компонента цвета и между вторым компонентом цвета и третьим компонентом цвета. Иными словами, режим предсказания CCLM включает предсказание компонента цветности с использованием компонента яркости (т. е. использование первого компонента цвета для предсказания второго компонента цвета или использование первого компонента цвета для предсказания третьего компонента цвета). Режим предсказания CCLM также включает предсказание между двумя компонентами цветности (т. е. предсказание между вторым компонентом цвета и третьим компонентом цвета). В варианте реализации настоящей заявки предсказание между вторым компонентом цвета и третьим компонентом цвета может включать предсказание от компонента Cb до компонента Cr или предсказание от компонента Cr до компонента Cb.
Для технологий в стандарте кодирования видео, таком как CCLM и DM, в котором разрешена межкомпонентная зависимость, такие инструменты могут быть задействованы в будущем кодировании среды, такой как 3D-видео и облака точек. В этих технологиях, поскольку компонент яркости может быть использован для предсказания информации, такой как компонент цветности, режим кодирования и остаток, и при этом также возможно предсказание между компонентами цветности, эффективность кодирования может быть значительно увеличена. Однако межкомпонентная зависимость также усложняет параллельное кодирование. То есть в некоторых сценах зависимость между компонентом яркости и компонентом цветности и между разными компонентами цветности или между разными цветовыми компонентами могут не использовать для упрощения кодирования.
Согласно вариантам реализации настоящей заявки флаг, указывающий, разрешать ли перекрестное кодирование между разными компонентами цвета, добавляют в битовый поток для управления использованием технологий, таких как CCLM и DM. Таким образом, кодек может эффективно использоваться для параллельного кодирования и можно преодолеть недостаток, заключающийся в высокой сложности кодирования. На фиг. 1 показана структурная схема системы кодирования видео. Как показано на фиг. 1, система 200 кодирования видео содержит элемент 201 трансформации и квантования, элемент 202 внутренней оценки, элемент 203 внутреннего предсказывания, элемент 204 компенсации движения, элемент 205 оценки движения, элемент 206 обратной трансформации и обратного квантования, элемент 207 анализирования управления фильтром, элемент 208 фильтра, элемент 209 кодирования энтропии и элемент 210 буфера для текущего изображения, и т. п. Элемент 208 фильтра может реализовывать фильтрацию для удаления блочности и фильтрацию адаптивного смещения дискретного значения (SAO), а элемент 209 кодирования энтропии может реализовывать кодирование информации заголовка и контекстно-адаптивное двоичное арифметическое кодирование (CABAC).
Для входного исходного видеосигнала элемент кодового дерева (CTU) может быть получен с помощью предварительного разбивания, и при этом посредством применения разбивания с учетом содержимого к одному CTU могут быть получены несколько CU. CU обычно содержит один или более блоков кодирования (CB). Тогда для остаточной информации о пикселе, полученной после внутреннего предсказывания или предсказывания, осуществляемого между изображениями, блок кодирования преобразуется посредством элемента 201 трансформации и квантования, включая преобразование остаточной информации из области пикселя в область преобразования, и полученный коэффициент преобразования квантуется для дальнейшего уменьшения битовой скорости. Элемент 202 внутренней оценки и элемент 203 внутреннего предсказывания используются для выполнения кодирования с внутренним предсказыванием блока кодирования. В примере, элемент 202 внутренней оценки и элемент 203 внутреннего предсказывания используются для определения режима внутреннего предсказывания, который будет использован для кодирования блока кодирования. Элемент 204 компенсации движения и элемент 205 оценки движения используются для выполнения предсказывания, осуществляемого между изображениями, принятого блока кодирования относительно одного или более блоков в одном или более опорных изображениях для предоставления информации временного предсказания. Оценка движения, выполняемая элементом 205 оценки движения, представляет собой процесс генерирования вектора движения, при этом вектор движения может оценивать движение блока кодирования. Элемент 204 компенсации движения используется для выполнения компенсация движения на основании вектора движения, определенного элементом 205 оценки движения. После определения режима внутреннего предсказывания элемент 203 внутреннего предсказывания используется для предоставления выбранных данных внутреннего предсказывания в элемент 209 кодирования энтропии и элемент 205 оценки движения используется для отправки вычисленных данных вектора движения в элемент 209 кодирования энтропии. В дополнение, элемент 206 обратной трансформации и обратного квантования используется для восстановления блока кодирования. Остаточный блок восстанавливается в области пикселя, и артефакты блочности восстановленного остаточного блока удаляются посредством элемента 207 анализирования управления фильтром и элемента 208 фильтра, и затем восстановленный остаточный блок добавляется к предсказыванию изображения в элементе 210 буфера для текущего изображения с генерированием восстановленного блока кодирования. Элемент 209 кодирования энтропии используется для кодирования различных параметров кодирования и квантованных коэффициентов преобразования. В алгоритме кодирования, основанном на CABAC, контекст может основываться на соседних блоках кодирования и элемент 209 кодирования энтропии может использоваться для кодирования информации, указывающей определенный режим внутреннего предсказывания, и вывода битового потока видеосигнала. Элемент 210 буфера для текущего изображения используется для хранения восстановленных блоков кодирования для ссылки при предсказании. По ходу кодирования изображений восстановленные блоки кодирования будут непрерывно генерироваться, и эти восстановленные блоки кодирования будут сохраняться в элемент 210 буфера для текущего изображения.
На фиг. 2 показана структурная схема системы декодирования видео. Как показано на фиг. 2, система 300 декодирования видео содержит элемент 301 декодирования энтропии, элемент 302 обратной трансформации и обратного квантования, элемент 303 внутреннего предсказывания, элемент 304 компенсации движения, элемент 305 фильтра, элемент 306 буфера для текущего изображения и т. п. Элемент 301 декодирования энтропии может реализовывать декодирование информации заголовка и CABAC, а элемент 305 фильтра может реализовывать фильтрацию для удаления блочности и фильтрацию SAO. После кодирования входного видеосигнала (как показано на фиг. 2) выводят битовый поток видеосигнала. Битовый поток вводится в систему 300 декодирования видео. Сначала получают декодированные коэффициенты преобразования посредством элемента 301 декодирования энтропии. Декодированные коэффициенты преобразования обрабатываются элементом 302 обратной трансформации и обратного квантования для генерирования остаточного блока в области пикселя. Элемент 303 внутреннего предсказывания может использоваться для генерирования данных преобразования текущего блока кодирования на основании определенного режима внутреннего предсказывания и данных из предыдущего декодированного блока текущего кадра или изображения. Элемент 304 компенсации движения используется для определения информации предсказания для блока кодирования посредством анализирования векторов движения и других связанных элементов синтаксиса и применения информации предсказания для генерирования предсказания блока кодирования, который декодируется. Декодированный блок образуется посредством суммирования остаточного блока из элемента 302 обратной трансформации и обратного квантования и соответствующего предсказания, сгенерированного элементом 303 внутреннего предсказывания или элементом 304 компенсации движения. Артефакты блочности декодированного видеосигнала удаляются посредством элемента 305 фильтра, за счет чего может улучшаться качество видео. Затем декодированный блок хранится в элементе 306 буфера для текущего изображения. Элемент 306 буфера для текущего изображения используется для хранения опорных изображений, используемых для последующего внутреннего предсказывания или компенсации движения, а также используется для вывода видеосигнала, т. е. получают восстановленный исходный видеосигнал.
Технические решения в вариантах реализации настоящей заявки будут описаны понятно и полностью далее со ссылкой на прилагаемые графические материалы.
В по меньшей мере одном варианте реализации настоящей заявки представлен способ декодирования изображений. На фиг. 3 показана первая блок-схема способа декодирования изображений согласно вариантам реализации. Как показано на фиг. 3, в варианте реализации способ, выполняемый декодером, начинается на этапе 101.
На этапе 101 получают битовый поток, соответствующий текущему изображению.
В варианте реализации декодер получает битовый поток, соответствующий текущему изображению.
Кроме того, в варианте реализации битовая скорость относится к потоку данных, который видеофайл потребляет за единицу времени, и представляет собой важную часть контроля качества изображения при кодировании видео.
В варианте реализации после кодирования текущего изображения кодер может генерировать соответствующий битовый поток для хранения или передачи. Соответственно при декодировании текущего изображения декодер может сначала принимать битовый поток, соответствующий текущему изображению.
На этапе 102 битовый поток анализируют с получением флага, соответствующего текущему изображению.
В варианте реализации после получения битового потока, соответствующего текущему изображению, декодер анализирует битовый поток с получением флага, соответствующего текущему изображению.
В варианте реализации флаг могут использоваться для указания отношений между разными компонентами цвета, соответствующими текущему изображению. В примере, в варианте реализации разные компоненты цвета, соответствующие текущему изображению, могут быть зависимыми друг от друга или независимыми друг от друга.
Кроме того, при кодировании текущего изображения кодер может определять флаг на основании отношений между разными компонентами в текущем изображении. Например, если кодер не использует зависимость между разными компонентами цвета в процессе кодирования текущего изображения, т. е. не использует зависимость между компонентом яркости и компонентом цветности, а также между разными компонентами цветности, кодер определяет флаг в битовом потоке как 0. Если кодер использует зависимость между разными компонентами цвета в процессе кодирования текущего изображения, т. е. использует зависимость между компонентом яркости и компонентом цветности, а также между разными компонентами цветности, кодер определяет флаг в битовом потоке как 1.
Соответственно, когда декодер анализирует битовый поток, соответствующий текущему изображению, если флаг в битовом потоке, полученный в результате анализирования, представляет собой 1, декодер определяет, что зависимость между разными компонентами цвета необходимо использовать в процессе декодирования текущего изображения, т. е. зависимость между компонентом яркости и компонентом цветности, а также между разными компонентами цветности, должна быть использована. Если флаг в битовом потоке, полученный в результате анализирования, представляет собой 0, декодер определяет, что зависимость между разными компонентами цвета не должна быть использована в процессе декодирования текущего изображения, т. е. зависимость между компонентом яркости и компонентом цветности, а также между разными компонентами цветности, не должна быть использована.
В варианте реализации разные компоненты цвета, соответствующие текущему изображению, могут содержать первый компонент цвета, второй компонент цвета и третий компонент цвета, т. е. содержать три компонента цвета: Y, Cb и Cr. Следовательно, когда декодер использует флаг для указания отношений между разными компонентами цвета, соответствующими текущему изображению, флаг могут не только использовать для указания взаимной зависимости или взаимной независимости среди первого компонента цвета, второго компонента цвета и третьего компонента цвета, но и также использовать для указания взаимной зависимости или взаимной независимости между по меньшей мере двумя из первого компонента цвета, второго компонента цвета и третьего компонента цвета. Кроме того, в варианте реализации после анализирования декодером битового потока, соответствующего текущему изображению, флаг, полученный после анализирования, может быть расположен в одном или более из набора параметров последовательности (SPS), набора параметров изображения (PPS), информации для дополнительной оптимизации (SEI), элемента кодового дерева и элемента кодирования в битовом потоке.
В стандарте кодирования видео H.264/AVC вся структура системы содержит два уровня, представляющие собой уровень абстракции сети (NAL) и уровень кодирования видео (VCL). VCL отвечает за эффективное предоставление содержимого видеоданных, а NAL отвечает за форматирование данных и предоставление информации заголовка для обеспечения того, что данные подходят для передачи на различных каналах и носителе данных.
Кроме того, разные типы элементов NAL обозначены в стандарте H.264, и разные элементы NAL хранят разные данные. В H.264 первый элемент NAL в битовом потоке представляет собой SPS; второй элемент NAL в битовом потоке представляет собой PPS; третий элемент NAL в битовом потоке представляет собой мгновенное обновление декодирования (IDR).
В варианте реализации помимо SPS и PPS данные, соответствующие изображению, представляют собой элемент NAL.
Кроме того, в варианте реализации информация в SPS является очень важной. Если данные в SPS потеряны или возникает ошибка, вероятнее всего декодирование не будет выполнено. В примере, SPS также обычно используют в качестве информации инициализации в примерах декодера в схеме обработки видео таких платформ, как VideoToolBox от iOS.
В варианте реализации набор основных параметров последовательности кодированных видеокадров хранят в SPS. Последовательность кодированных видеокадров относится к последовательности, состоящей из кодированных данных пикселя каждого изображения исходного видео. Параметры, которые определяют кодированные данные каждого изображения, хранят в PPS.
Кроме того, элементы NAL для SPS и PPS обычно располагают в начале всего битового потока. Однако в некоторых особых случаях эти две структуры также могут располагать в середине битового потока. Это осуществляют из-за того, что декодеру необходимо начинать декодирование в середине битового потока, или из-за того, что кодер изменяет параметры битового потока (такие как разрешение изображения и т. п.) во время кодирования.
На этапе 103 функцию перекрестного декодирования отключают, когда метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета, где функция перекрестного декодирования разрешает декодирование, основанное на зависимости между компонентами цвета.
В варианте реализации после анализирования декодером битового потока с получением флага, соответствующего текущему изображению, если метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета, декодер отключает функцию перекрестного декодирования.
В варианте реализации функция перекрестного декодирования разрешает декодирование, основанное на зависимости между компонентами цвета. То есть, когда декодер декодирует текущее изображение, функция перекрестного декодирования разрешает межкомпонентную зависимость, т. е. декодер может декодировать текущее изображение посредством CCLM или DM.
Кроме того, в варианте реализации после получения флага в битовом потоке после анализирования декодер может сначала определять метод декодирования, указанный флагом. В примере метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета или перекрестное декодирование компонентов цвета.
В варианте реализации, если метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета, декодер не может использовать зависимость между разными компонентами цвета для декодирования, т. е. декодер должен выполнять независимое декодирование согласно одному (типу) компоненту цвета. Например, если флаг в битовом потоке, полученный в результате анализирования декодером, представляет собой 0, считают, что кодер не использует зависимость между компонентом яркости и компонентом цветности, а также между разными компонентами цветности, в процессе кодирования текущего изображения. Таким образом, определяют, что метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета. Соответственно декодер не будет использовать зависимость между компонентом яркости и компонентом цветности, а также между разными компонентами цветности, и затем декодирует текущее изображение.
В варианте реализации, когда декодер использует флаг для указания отношений между разными компонентами цвета, соответствующими текущему изображению, флаг могут не только использовать для указания взаимной зависимости или взаимной независимости среди первого компонента цвета, второго компонента цвета и третьего компонента цвета, но и также использовать для указания взаимной зависимости или взаимной независимости между по меньшей мере двумя из первого компонента цвета, второго компонента цвета и третьего компонента цвета. Следовательно, метод декодирования, указанный флагом, может включать независимое декодирование компонентов цвета среди трех компонентов цвета и перекрестное декодирование компонентов цвета среди трех компонентов цвета и также может включать независимое декодирование компонентов цвета между любыми двумя компонентами цвета и перекрестное декодирование компонентов цвета между любыми двумя компонентами цвета. Например, когда флаг указывает отношение между тремя компонентами цвета, такими как Y, Cb и Cr, если флаг в битовом потоке представляет собой 1, могут считать, что кодер использует зависимость между компонентом яркости и компонентом цветности, а также между разными компонентами цветности, при кодировании текущего изображения. Соответственно декодер будет использовать зависимость между тремя разными компонентами цвета: Y, Cb и Cr. Когда флаг указывает отношение между двумя компонентами цвета, такими как Cb и Cr, если флаг в битовом потоке представляет собой 0, могут считать, что кодер не использует зависимость между разными компонентами цветности при кодировании текущего изображения. Соответственно декодер не будет использовать зависимость между двумя компонентами цвета, такими как Cb и Cr, но зависимость между компонентами цвета, такими как Y и Cb, а также между компонентами цвета, такими как Y и Cr, будет использована.
В по меньшей мере одном варианте реализации, кроме того, на фиг. 4 показана вторая блок-схема способа декодирования изображений согласно вариантам реализации. Как показано на фиг. 4, после того, как декодер анализирует битовый поток с получением флага, соответствующего текущему изображению (т. е. этап 102), декодер дополнительно выполняет следующее.
На этапе 104 функцию перекрестного декодирования включают, когда метод декодирования, указанный флагом, представляет собой перекрестное декодирование компонентов цвета.
В варианте реализации после анализирования декодером битового потока с получением флага, соответствующего текущему изображению, если метод декодирования, указанный флагом, представляет собой перекрестное декодирование компонентов цвета, декодер может включать функцию перекрестного декодирования.
В варианте реализации после анализирования декодером битового потока с получением флага, если метод декодирования, указанный флагом, представляет собой перекрестное декодирование компонентов цвета, декодер может использовать зависимость между разными компонентами цвета для декодирования, т. е. декодер может декодировать текущее изображение посредством CCLM или DM. Например, если флаг в битовом потоке, полученный в результате анализирования декодером, представляет собой 1, считают, что кодер использует зависимость между компонентом яркости и компонентом цветности, а также между разными компонентами цветности, в процессе кодирования текущего изображения. Таким образом, определяют, что метод декодирования, указанный флагом, представляет собой перекрестное декодирование компонентов цвета. Соответственно декодер будет использовать зависимость между компонентом яркости и компонентом цветности, а также между разными компонентами цветности, и затем декодирует текущее изображение.
В по меньшей мере одном варианте реализации, кроме того, на фиг. 5 показана третья блок-схема способа декодирования изображений согласно вариантам реализации. Как показано на фиг. 5, после того, как декодер анализирует битовый поток с получением флага, соответствующего текущему изображению (т. е. этап 102), декодер дополнительно выполняет следующее.
На этапе 105, DM отключают, когда метод декодирования, указанный флагом, запрещен DM.
В варианте реализации после анализирования декодером битового потока с получением флага, соответствующего текущему изображению, если метод декодирования, указанный флагом, запрещен DM, декодер может отключать DM.
В варианте реализации флаг в битовом потоке может указывать «использование» или «неиспользование» технологии DM. В примере, если метод декодирования, указанный флагом, запрещен DM, декодер должен отключить DM при декодировании текущего изображения. Если метод декодирования, указанный флагом, разрешен DM, декодер должен включить DM при декодировании текущего изображения.
Кроме того, в варианте реализации флаг в битовом потоке может указывать «использование» или «неиспользование» любой технологии или образца выражения на основании зависимости между компонентами цвета. То есть в варианте реализации флаг в битовом потоке предусмотрен не только для управления использованием технологии DM, но и представляет собой инструмент для управления использованием других технологий на основании зависимости между компонентами цвета, что не ограничено в данном документе.
Согласно способу декодирования изображений декодер получает битовый поток, соответствующий текущему изображению; декодер анализирует битовый поток с получением флага, соответствующего текущему изображению; декодер отключает функцию перекрестного декодирования, когда метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета, при этом функция перекрестного декодирования разрешает декодирование, основанное на зависимости между компонентами цвета. То есть согласно варианту реализации декодер может вначале анализировать битовый поток, соответствующий текущему изображению, с получением флага в битовом потоке для определения, разрешать ли зависимость между компонентами цвета. Если метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета (т. е. зависимость между компонентами цвета не разрешается), декодер должен отключить функцию перекрестного декодирования (т. е. декодер декодирует текущее изображение без учета зависимости между компонентами цвета). Таким образом, можно достичь параллельного кодирования и сложность кодирования может быть снижена для сцен, требующих быстрой обработки или обработки с высокой степенью параллелизма. В то же время, в этих сценах бит, указывающий, что декодирование не основано на зависимости между компонентами цвета, может быть пропущен на уровне CU и эффективность кодирования может быть повышена.
На основе вышеприведенного варианта реализации в другом варианте реализации компоненты цвета на этапах 101–103 могут содержать первый компонент цвета, второй компонент цвета и третий компонент цвета. Первый компонент цвета, второй компонент цвета и третий компонент цвета представляют собой компонент яркости Y, синий компонент цветности Cb и красный компонент цветности Cr соответственно. Например, первый компонент цвета представляет собой компонент яркости Y, второй компонент цвета представляет собой красный компонент цветности Cr и третий компонент цвета представляет собой синий компонент цветности Cb, что не ограничено в данном документе.
В по меньшей мере одном варианте реализации, кроме того, на фиг. 6 показана четвертая блок-схема способа декодирования изображений согласно вариантам реализации. Как показано на фиг. 6, для способа, описанного в этапах 101–105 выше, декодер анализирует битовый поток с получением флага, соответствующего текущему изображению, следующим образом.
На этапе 201, флаг получают от SPS в битовом потоке при анализировании битового потока.
В варианте реализации после получения битового потока, соответствующего текущему изображению, декодер может анализировать битовый поток с получением флага, соответствующего текущему изображению, из SPS в битовом потоке.
В варианте реализации после анализирования декодером битового потока, соответствующего текущему изображению, флаг, полученный в результате анализирования, может быть расположен в SPS. В примере, поскольку SPS хранит набор основных параметров последовательности кодированных видеокадров, если декодер получает флаг из SPS в битовом потоке, флаг могут применять ко всем изображениям в последовательности кодированных видеокадров.
Кроме того, в варианте реализации, если декодер получает флаг из SPS, декодер может декодировать все изображения в последовательности кодированных видеокадров в соответствии с флагом. Например, если метод декодирования, указанный флагом, представляет собой перекрестное декодирование компонентов цвета, декодер может включать функцию перекрестного декодирования для декодирования всех изображений посредством использования зависимости между разными компонентами цвета, т. е. декодировать все изображения посредством CCLM или DM.
На этапе 202, флаг получают из PPS в битовом потоке при анализировании битового потока.
В варианте реализации после получения битового потока, соответствующего текущему изображению, декодер может анализировать битовый поток с получением флага, соответствующего текущему изображению, из PPS в битовом потоке.
В варианте реализации после анализирования декодером битового потока, соответствующего текущему изображению, флаг, полученный в результате анализирования, может быть расположен в PPS. В примере, поскольку PPS хранит параметры, которые определяют кодированные данные каждого изображения, если декодер получает флаг из PPS в битовом потоке, флаг могут применять к одному изображению в последовательности кодированных видеокадров, которая соответствует PPS.
Кроме того, в варианте реализации, если декодер получает флаг из PPS, декодер может декодировать в соответствии с флагом изображение в последовательности кодированных видеокадров, которая соответствует PPS. Например, если метод декодирования, указанный флагом, представляет собой перекрестное декодирование компонентов цвета, декодер может включать функцию перекрестного декодирования для декодирования изображения в последовательности кодированных видеокадров, которая соответствует PPS, посредством использования зависимости между разными компонентами цвета, т. е. декодировать изображение в последовательности кодированных видеокадров, которая соответствует PPS, посредством CCLM или DM.
На этапе 203, флаг получают из SEI в битовом потоке при анализировании битового потока.
В варианте реализации после получения битового потока, соответствующего текущему изображению, декодер может анализировать битовый поток с получением флага, соответствующего текущему изображению, из SEI в битовом потоке.
В варианте реализации после анализирования декодером битового потока, соответствующего текущему изображению, флаг, полученный в результате анализирования, может быть расположен в SEI. В примере, поскольку SEI помогает в декодировании, что используется для добавления дополнительной информации о видео в битовый поток, если декодер получает флаг из SEI в битовом потоке, флаг могут применять к информации об изображении, соответствующей SEI, в последовательности кодированных видеокадров.
Кроме того, в варианте реализации флаг, полученный в результате анализирования, может быть расположен в одном или более из SPS, PPS, SEI, элемента кодового дерева и элемента кодирования в битовом потоке. Соответственно при обработке текущего изображения декодер может выполнять адаптивное декодирование для соответствующей информации об изображении в соответствии с конкретным положением флага в битовом потоке.
Согласно способу декодирования изображений декодер получает битовый поток, соответствующий текущему изображению; декодер анализирует битовый поток с получением флага, соответствующего текущему изображению; декодер отключает функцию перекрестного декодирования, когда метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета, при этом функция перекрестного декодирования разрешает декодирование, основанное на зависимости между компонентами цвета. То есть согласно варианту реализации декодер может вначале анализировать битовый поток, соответствующий текущему изображению, с получением флага в битовом потоке для определения, разрешать ли зависимость между компонентами цвета. Если метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета (т. е. зависимость между компонентами цвета не разрешается), декодер должен отключить функцию перекрестного декодирования (т. е. декодер декодирует текущее изображение без учета зависимости между компонентами цвета). Таким образом, можно достичь параллельного кодирования и сложность кодирования может быть снижена для сцен, требующих быстрой обработки или обработки с высокой степенью параллелизма.
На основе приведенного выше варианта реализации в еще одном варианте реализации, кроме того, на фиг. 7 показана пятая блок-схема способа декодирования изображений согласно вариантам реализации. Как показано на фиг. 7, после того, как декодер включает функцию перекрестного декодирования, когда метод декодирования, указанный флагом, представляет собой перекрестное декодирование компонентов цвета (т. е. этап 104), декодер дополнительно выполняет следующее.
На этапе 106, текущее изображение декодируют в DM.
В варианте реализации, если метод декодирования, указанный флагом, представляет собой перекрестное декодирование компонентов цвета, после включения функции перекрестного декодирования декодер может декодировать текущее изображение в DM.
Кроме того, в варианте реализации при реализации предсказания от компонента яркости до компонента цветности посредством DM для уменьшения избыточности между компонентом яркости и компонентом цветности и между разными компонентами цветности в совместной исследовательской модели (JEM) или тестовой модели VVC (VTM) H.266/VVC используют межкомпонентное альтернативное представление режима предсказания.
В варианте реализации, кроме того, после того, как декодер включает функцию перекрестного декодирования, когда метод декодирования, указанный флагом, представляет собой перекрестное декодирование компонентов цвета (т. е. этап 104), декодер может не только декодировать текущее изображение с использованием CCLM или DM, но и также декодировать текущее изображение с использованием любой технологии на основании зависимости между компонентами цвета, что не ограничено в данном документе.
Согласно способу декодирования изображений декодер получает битовый поток, соответствующий текущему изображению; декодер анализирует битовый поток с получением флага, соответствующего текущему изображению; декодер отключает функцию перекрестного декодирования, когда метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета, при этом функция перекрестного декодирования разрешает декодирование, основанное на зависимости между компонентами цвета. То есть согласно варианту реализации декодер может вначале анализировать битовый поток, соответствующий текущему изображению, с получением флага в битовом потоке для определения, разрешать ли зависимость между компонентами цвета. Если метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета (т. е. зависимость между компонентами цвета не разрешается), декодер должен отключить функцию перекрестного декодирования (т. е. декодер декодирует текущее изображение без учета зависимости между компонентами цвета). Таким образом, можно достичь параллельного кодирования и сложность кодирования может быть снижена для сцен, требующих быстрой обработки или обработки с высокой степенью параллелизма.
На основе приведенного выше варианта реализации в еще одном варианте реализации на фиг. 8 показана первая структурная схема декодера согласно вариантам реализации. Как показано на фиг. 8, декодер 100 согласно варианту реализации содержит часть 101 для получения, часть 102 для анализирования, часть 103 для отключения, часть 104 для включения и часть 105 для декодирования.
Часть 101 для получения выполнена с возможностью получения битового потока, соответствующего текущему изображению.
Часть 102 для анализирования выполнена с возможностью анализирования битового потока с получением флага, соответствующего текущему изображению.
Часть 103 для отключения выполнена с возможностью отключения функции перекрестного декодирования, когда метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета, при этом функция перекрестного декодирования разрешает декодирование, основанное на зависимости между компонентами цвета.
Кроме того, в по меньшей мере одном варианте реализации часть 104 для включения выполнена с возможностью включения функции перекрестного декодирования, когда метод декодирования, указанный флагом, представляет собой перекрестное декодирование компонентов цвета, после анализирования битового потока с получением флага, соответствующего текущему изображению.
Кроме того, в по меньшей мере одном варианте реализации компоненты цвета содержат по меньшей мере два из первого компонента цвета, второго компонента цвета и третьего компонента цвета.
Кроме того, в по меньшей мере одном варианте реализации часть 105 для декодирования дополнительно выполнена с возможностью декодирования текущего изображения в соответствии с DM, после включения функции перекрестного декодирования, когда метод декодирования, указанный флагом, представляет собой перекрестное декодирование компонентов цвета.
Кроме того, в по меньшей мере одном варианте реализации часть 103 для отключения дополнительно выполнена с возможностью выключения DM, когда метод декодирования, указанный флагом, запрещен DM, после анализирования битового потока с получением флага, соответствующего текущему изображению.
Кроме того, в по меньшей мере одном варианте реализации часть 102 для анализирования выполнена с возможностью получения из SPS в битовом потоке флага при анализировании битового потока.
Кроме того, в по меньшей мере одном варианте реализации часть 102 для анализирования выполнена с возможностью получения из PPS в битовом потоке флага при анализировании битового потока.
Кроме того, в по меньшей мере одном варианте реализации часть 102 для анализирования выполнена с возможностью получения из SEI в битовом потоке флага при анализировании битового потока.
На фиг. 9 показана вторая структурная схема декодера согласно вариантам реализации. Как показано на фиг. 9, декодер 100 согласно варианту реализации дополнительно содержит процессор 106, запоминающее устройство 107, хранящее команды, которые могут исполняться процессором 106, интерфейс 108 связи и шину 109 для подключения процессора 106, запоминающего устройства 107 и интерфейса 108 связи.
В варианте реализации процессор 106 может представлять собой по меньшей мере одно из следующего: специализированную интегральную схему (ASIC), процессор цифровой обработки сигналов (DSP), устройство цифровой обработки сигналов (DSPD), программируемое логическое устройство (PLD), программируемую пользователем вентильную матрицу (FPGA), центральный процессор (CPU), контроллер, микроконтроллер и микропроцессор. Следует понимать, что для разных устройств для реализации функций описанного выше процессора могут использоваться другие электронные устройства, что не ограничено в данном документе. Устройство 1 может дополнительно содержать запоминающее устройство 107, и запоминающее устройство 107 может быть соединено с процессором 106. Запоминающее устройство 107 используется для хранения исполняемого программного кода, и программный код содержит компьютерные действующие команды. Запоминающее устройство 107 может включать в себя быстродействующее оперативное запоминающее устройство (RAM) и может также включать в себя постоянное запоминающее устройство, например по меньшей мере два дисковых запоминающих устройства.
В варианте реализации шина 109 выполнена с возможностью подключения интерфейса 108 связи, процессора 106 и запоминающего устройства 107 и выполнена с возможностью взаимной связи этих устройств.
В варианте реализации запоминающее устройство 107 выполнено с возможностью хранения команд и данных.
Помимо этого, в варианте реализации процессор 106 выполнен с возможностью получения битового потока, соответствующего текущему изображению; анализирования битового потока с получением флага, соответствующего текущему изображению; отключения функции перекрестного декодирования, когда метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета, при этом функция перекрестного декодирования разрешает декодирование, основанное на зависимости между компонентами цвета.
На практике, запоминающее устройство 107 может представлять собой энергозависимое запоминающее устройство, такое как RAM, или может представлять собой энергонезависимое запоминающее устройство, такое как постоянное запоминающее устройство (ROM), флеш-память, жесткий диск (HDD) или твердотельный накопитель (SSD), или может представлять собой комбинацию вышеупомянутых запоминающих устройств, и выполнено с возможностью предоставления команд и данных на процессор 106.
В дополнение, функциональные элементы в варианте реализации могут быть интегрированы в один обрабатывающий элемент, или каждый элемент может физически присутствовать, или два или более элементов могут быть интегрированы в один элемент. Вышеупомянутый интегрированный элемент может быть реализован в форме аппаратных средств или программного функционального элемента.
Интегрированный элемент может храниться на машиночитаемом носителе данных, если он реализован в виде программного функционального элемента, и продаваться или использоваться в качестве отдельного продукта. На основании понимания этого технические решения настоящего изобретения по существу или та часть технических решений, которая вносит вклад в область техники изобретения, или все технические решения или их часть могут быть реализованы в виде программного продукта, который хранится на запоминающем устройстве и содержит команды для обеспечения выполнения компьютерным устройством (которое может представлять собой персональный компьютер, сервер или сетевое устройство и т. п.) всех или части этапов, описанных в различных вариантах реализации настоящего изобретения. Запоминающее устройство содержит различные носители, способные хранить программные коды, такие как флеш-накопитель USB (универсальная последовательная шина), ROM, RAM, съемный жесткий диск, диск, компакт-диск (CD) или т. п.
В соответствии с декодером согласно настоящему изобретению декодер получает битовый поток, соответствующий текущему изображению; декодер анализирует битовый поток с получением флага, соответствующего текущему изображению; декодер отключает функцию перекрестного декодирования, когда метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета, при этом функция перекрестного декодирования разрешает декодирование, основанное на зависимости между компонентами цвета. То есть согласно варианту реализации декодер может вначале анализировать битовый поток, соответствующий текущему изображению, с получением флага в битовом потоке для определения, разрешать ли зависимость между компонентами цвета. Если метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета (т. е. зависимость между компонентами цвета не разрешается), декодер должен отключить функцию перекрестного декодирования (т. е. декодер декодирует текущее изображение без учета зависимости между компонентами цвета). Таким образом, можно достичь параллельного кодирования и сложность кодирования может быть снижена для сцен, требующих быстрой обработки или обработки с высокой степенью параллелизма. В то же время, в этих сценах бит, указывающий, что декодирование не основано на зависимости между компонентами цвета, может быть пропущен на уровне CU и эффективность кодирования может быть повышена.
В вариантах реализации настоящей заявки предусмотрен машиночитаемый носитель данных. Машиночитаемый носитель данных хранит в себе программы. При исполнении процессором программы предназначены реализации способа декодирования изображений согласно приведенному выше.
В примере, программные команды, соответствующие способу декодирования изображений согласно варианту реализации, могут храниться на носителе данных, таком как оптический диск, жесткий диск и флеш-накопитель USB. Когда программные команды, соответствующие способу декодирования изображений, на носителе данных считываются или исполняются электронным устройством, они используются для реализации следующего.
Получают битовый поток, соответствующий текущему изображению. Анализируют битовый поток с получением флага, соответствующего текущему изображению. Отключают функцию перекрестного декодирования, когда метод декодирования, соответствующий флагу, представляет собой независимое декодирование компонентов цвета, где функция перекрестного декодирования разрешает декодирование, основанное на зависимости между компонентами цвета.
Специалистам в данной области техники должно быть понятно, что в вариантах реализации в данном документе могут быть представлены способ, система или компьютерный программный продукт. Следовательно, настоящее изобретение может иметь только аппаратные реализации, только программные реализации или программно-аппаратные реализации. В дополнение, настоящее изобретение может быть реализовано в форме компьютерного программного продукта, реализованного на одном или более используемых компьютером носителях данных (включая, но без ограничения, магнитное запоминающее устройство, оптическое запоминающее устройство и т. п.), содержащего используемые компьютером программные коды.
Настоящее изобретение описано со ссылкой на блок-схемы и/или функциональные схемы способов, устройств (систем) и компьютерных программных продуктов согласно вариантам реализации настоящего изобретения. Следует понимать, что каждый поток и/или блок в блок-схемах и/или функциональных схемах и комбинации потоков и/или блоков в блок-схемах и/или функциональных схемах могут быть реализованы посредством команд компьютерной программы. Эти команды компьютерной программы могут быть предоставлены для компьютера общего назначения, специализированного компьютера, встроенного процессора или процессора других программируемых устройств обработки данных для создания машины, чтобы устройство для реализации функций, обозначенных в одном или более потоках в блок-схемах и/или одном или более блоках в функциональных схемах могли быть сгенерированы посредством исполнения команд процессором компьютера или других программируемых устройств обработки данных.
Команды компьютерной программы также могут храниться в машиночитаемом запоминающем устройстве, которое может управлять компьютером или другим программируемым устройством обработки данных для работы определенным образом, чтобы команды, хранящиеся в машиночитаемом запоминающем устройстве, генерировали изготовленный продукт, включая устройство, исполняющее команды, и причем устройство, исполняющее команды, реализует функции, указанные в одном или более потоках в блок-схемах и/или одном или более блоках в функциональных схемах.
Команды компьютерной программы могут также загружаться на компьютер или другие программируемые устройства обработки данных, таким образом, последовательность этапов процесса может исполняться на компьютере или других программируемых устройствах для обеспечения обработки, реализуемой компьютером, таким образом команды, исполняемые на компьютере или других программируемых устройствах, обеспечивают этапы реализации функций, указанных в одном или более потоках в блок-схемах и/или одном или более блоках в функциональных схемах.
Приведенное выше является только некоторыми вариантами реализации настоящей заявки и не используется для ограничения объема правовой охраны настоящей заявки.
Промышленная применимость
Представлены способ декодирования изображений, декодер и компьютерный носитель данных. Декодер получает битовый поток, соответствующий текущему изображению. Декодер анализирует битовый поток с получением флага, соответствующего текущему изображению. Декодер отключает функцию перекрестного декодирования, когда метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета, при этом функция перекрестного декодирования разрешает декодирование, основанное на зависимости между компонентами цвета. Согласно вариантам реализации декодер может вначале анализировать битовый поток, соответствующий текущему изображению, с получением флага в битовом потоке для определения, разрешать ли зависимость между компонентами цвета. Если метод декодирования, указанный флагом, представляет собой независимое декодирование компонентов цвета (т. е. зависимость между компонентами цвета не разрешается), декодер должен отключить функцию перекрестного декодирования (т. е. декодер декодирует текущее изображение без учета зависимости между компонентами цвета). Таким образом, можно достичь параллельного кодирования и сложность кодирования может быть снижена для сцен, требующих быстрой обработки или обработки с высокой степенью параллелизма. В то же время, в этих сценах бит, указывающий, что декодирование не основано на зависимости между компонентами цвета, может быть пропущен на уровне CU и эффективность кодирования может быть повышена.