Способ и устройство предсказания блока цветности

Изобретение относится к средствам для кодирования видео. Технический результат заключается в повышении эффективности кодирования компонента цветности при внутреннем прогнозировании. Выполняют операцию понижающей дискретизации на первом блоке яркости с использованием первого фильтра, когда значение первой информации указания является первым значением, или посредством использования второго фильтра, когда значение первой информации указания является вторым значением, для получения второго блока яркости. Значение первой информации указания является первым значением, когда положение выборки текущего блока цветности является (xb, yb), а позиция выборки первого блока яркости является (2*xb, 2*yb+0,5), первый блок яркости является блоком яркости, соответствующим текущему блоку цветности, а изображение, содержащее первый блок яркости и текущий блок цветности, имеет формат 4:2:0 или формат 4:2:2. Получают множество выборок цветности и множество выборок яркости, причем множество выборок цветности содержит множество соседних выборок цветности текущего блока цветности, а множество выборок яркости получают посредством выполнения операции понижающей дискретизации для множества соседних выборок яркости первого блока яркости. 5 н. и 8 з.п. ф-лы, 18 ил.

 

Область техники, к которой относится изобретение

Настоящее изобретение относится к области кодирования видео и, в частности, к способу и устройству предсказания блока цветности.

Уровень техники

Поскольку интернет технологии быстро развиваются и все больше обогащается материальная и возрастает духовная культура людей, растет спрос на интернет-приложения видео, особенно для приложений видео высокой четкости. Однако видео высокой четкости содержит довольно большой объем данных. Для передачи видео высокой четкости в интернете с ограниченной полосой пропускания, сначала необходимо выполнить кодирование со сжатием видео высокой четкости. В настоящее время две международные организации MPEG в ISO/IEC и VCEG в ITU-T занимаются разработкой стандартов кодирования видео. MPEG, основанное в 1986 году, специализируется на разработке связанных стандартов, которые в основном используются в системах хранения данных, широковещательном телевидении, потоковой передаче мультимедиа в интернете или в беспроводной сети и т.п. в области мультимедиа. ITU-T в основном формулирует стандарты кодирования видео для области видеосвязи в реальном времени, такой как видеотелефония, видеоконференцсвязь или другие приложения. За последние несколько десятилетий стандарты кодирования видео были сформулированы для различных приложений, включающие в себя MPEG-1 для VCD, MPEG-2 для DVD и DVB, H.261, H.263 и H.264 для видеоконференцсвязи, MPEG-4 и HEVC, который позволяет кодировать объекты любой формы и т.п.

В настоящее время в широко используемых стандартах кодирования видео H.264/AVC (обозначается как H.264) и H.265/HEVC (обозначается как H.265) различные типы операций кодирования, такие как предсказание, преобразование и энтропийное кодирование выполняется с использованием блока изображения в качестве базового блока. Блок изображения является двумерным массивом выборки, то есть, массив размером W * H выборки (где W может быть равно или не равно H). Дополнительно, известно значение выборки в каждой позиции выборки.

Общий процесс кодирования видео в основном включает в себя следующие этапы: внутреннее предсказание (Intra Prediction), внешнее предсказание (Inter Prediction), преобразование (Transform), квантование (Quantization), энтропийное кодирование (Entropy encoding), внутриконтурная фильтрация (in-loop filtering) и тому подобное. Внутреннее предсказание и внешнее предсказание выполняются после того, как изображение разделено на блоки изображения. Затем после получения остаточного значения выполняются преобразование и квантование. Наконец, выполняется энтропийное кодирование для вывода битового потока.

Внутреннее предсказание означает, что значение выборки в восстановленной области в текущем изображении используется для предсказания значения выборки в текущем блоке. Как правило, значение предсказания выборки в текущем блоке выводится на основании выборки в восстановленном соседнем блоке вокруг текущего блока. Например, в H.264 или H.265 граничные выборки (граница рядом с текущим блоком) соседнего блока обычно используются в качестве опорных выборок текущего блока, и значение предсказания выборки в текущем блоке получается на основании этих опорных выборок с использованием определенного способа. Режим внутреннего предсказания представляет собой, например, ненаправленный режим, такой как DC режим (или средний) или планарный режим, или направленный режим, как определено в H.265.

После получения информации предсказания посредством внутреннего предсказания получается остаточная информация вычитанием соответствующей информации предсказания из значения выборки в текущем блоке кодирования. Затем остаточная информация преобразуется с использованием такого способа, как дискретное косинусное преобразование (Discrete Cosine Transformation, DCT). Наконец, получается битовый поток посредством квантования и энтропийного кодирования. После суммирования сигнала предсказания и восстановленного остаточного сигнала для получения восстановленного сигнала необходимо выполнить дополнительную операцию фильтрации. Восстановленный сигнал используется как опорный сигнал для последующего кодирования.

Декодирование является процессом, обратный кодированию. Для получения остаточной информации сначала выполняются энтропийное декодирование, деквантование и обратное преобразование. Битовый поток декодируется для определения, используется ли внутреннее или внешнее предсказание для текущего блока. Если используется внутреннее кодирование, информация предсказания формируется на основании значения выборки в восстановленной области вокруг текущего изображения с использованием способа внутреннего предсказания. После сложения информации предсказания и остаточной информации, может быть получена восстановленная информация путем выполнения операции фильтрации.

Существующее видео обычно является цветным видео. В дополнение к компоненту яркости изображение в цветном видео дополнительно включает в себя компонент цветности. Следовательно, компонент яркости должен быть закодирован, и компонент цветности также должен быть закодирован. Поэтому, необходимо решить техническую задачу повышения эффективности кодирования компонента цветности при внутреннем предсказании.

Раскрытие сущности изобретения

Варианты осуществления настоящего раскрытия обеспечивают способ и устройство предсказания блока цветности для повышения эффективности кодирования компонента цветности (блока цветности) при внутреннем предсказании.

Согласно первому аспекту вариант осуществления настоящего раскрытия обеспечивает способ предсказания блока цветности. Способ описан с точки зрения кодера. Способ может использоваться во внутреннем предсказании для текущего блока цветности, и используемый режим внутреннего предсказания является режимом линейной модели (liner model mode, LM mode, для краткости). Способ может включать в себя: определение типа фильтра на основании типа позиции выборки текущего блока цветности, где тип фильтра определяется на основании типа позиции выборки текущего блока цветности, и каждый тип позиции выборки текущего блока цветности соответствует типу фильтра; установку первой информации указания, где первая информация указания используется для указания типа фильтра; и кодирование первой информации указания в битовый поток, так что битовый поток впоследствии передается на сторону декодера.

Очевидно, что в этом варианте осуществления настоящего раскрытия кодер может определять, на основании типа позиции выборки текущей выборки цветности, фильтр понижающей дискретизации яркости, используемый для текущего блока яркости, и указывать тип фильтра понижающей дискретизации для декодера посредством информации указания. Это гарантирует, что и сторона кодера, и сторона декодера могут получить фильтр, соответствующий позиции выборки цветности, тем самым, повышая точность кодирования и эффективность кодирования стороны кодера.

На основании первого аспекта, в возможном варианте осуществления могут быть разработаны шесть типов позиции выборки: тип 0, тип 1, тип 2, тип 3, тип 4 и тип 5. Соответственно, существует шесть типов фильтров понижающей дискретизации яркости, соответствующих шести типам позиций выборки: фильтр 0, фильтр 1, фильтр 2, фильтр 3, фильтр 4 и фильтр 5. Другими словами, тип позиции выборки текущего блока цветности может быть одним из шести типов позиции выборки. За счет установки этих фильтров гарантируется, что и сторона кодера, и сторона декодера получают фильтр, соответствующий позиции выборки цветности. Это рассматривает случай, в котором в действительности могут существовать разные позиции выборок цветности в разных последовательностях видео, тем самым, повышая точность кодирования и эффективность кодирования на стороне кодера.

На основании первого аспекта в возможном варианте осуществления считается, что позиции выборки цветности: тип 0 и тип 2 являются наиболее распространенными в настоящее время и, в качестве альтернативы, могут быть разработаны два типа позиций выборки. Другими словами, два типа позиции выборки включают в себя только тип 0 и тип 2. Соответственно, существует два типа фильтров понижающей дискретизации яркости, фильтр 0 и фильтр 2, соответствующие двум типам позиции выборки. Другими словами, тип позиции выборки текущего блока цветности может быть одним из двух типов позиции выборки. Путем установки этих фильтров точность кодирования и эффективность кодирования на стороне кодера могут быть повышены, при этом удовлетворяются наиболее общие требования к кодированию.

На основании первого аспекта, в возможном варианте осуществления, заново может быть добавлен параметр набора параметров последовательности (sequence parameter set, SPS), и значение SPS параметра используется для указания типа фильтра понижающей дискретизации яркости в LM режиме во время кодирования или декодирования текущей последовательности видео. На стороне кодера этот параметр может быть установлен на основании позиции выборки цветности в текущей последовательности. В частности, первая информация указания может быть установлена на основании типа фильтра. Первая информация указания может включать в себя значение SPS параметра, где значение используется для указания типа фильтра понижающей дискретизации яркости, используемого для предсказания для блока цветности во время кодирования или декодирования.

На основании первого аспекта, в возможном варианте осуществления на стороне кодера может быть предварительно установлено множество режимов внутреннего предсказания. Множество режимов внутреннего предсказания включает в себя LM режим. Сторона кодера просматривает множество режимов внутреннего предсказания и определяет, что оптимальным режимом внутреннего предсказания для текущего блока цветности является LM режим. Дополнительно, сторона кодера может дополнительно установить вторую информацию указания, где вторая информация указания используется для указания LM режима, и кодировать вторую информацию указания в битовый поток, так что для повышения эффективности кодирования сторона декодера также выполняет внутреннее предсказание в LM режиме.

На основании первого аспекта, в возможном варианте осуществления, во время построения блока предсказания, сторона кодера может дополнительно определять, на основании первой информации указания, фильтр, соответствующий типу фильтра; выполнять понижающую дискретизацию первого блока яркости с помощью фильтра, соответствующего типу фильтра для получения второго блока яркости, где первый блок яркости является блоком яркости, соответствующим текущему блоку цветности; получение шаблона выборки цветности и шаблона выборки яркости, где шаблон выборки цветности включает в себя множество соседних выборок цветности текущего блока цветности и шаблон выборки яркости получается посредством понижающей дискретизации множества соседних выборок яркости первого блока яркости; получение коэффициентов линейной модели на основании шаблона выборки цветности и шаблона выборки яркости; и получение значения предсказания текущего блока цветности на основании второго блока яркости и коэффициентов линейной модели.

Согласно второму аспекту вариант осуществления настоящего раскрытия обеспечивает способ предсказания блока цветности. Способ может использоваться при внутреннем предсказании для текущего блока цветности, и используемый режим внутреннего предсказания является LM режимом. Способ включает в себя: синтаксический анализ битового потока для получения первой информации указания, при этом, первая информация указания используется для указания типа фильтра; выполнение операции понижающей дискретизации на первом блоке яркости с использованием фильтра, соответствующего типу фильтра, для получения второго блока яркости, где первый блок яркости является блоком яркости, соответствующим текущему блоку цветности, и позиция выборки яркости второго блока яркости согласуется с позицией выборки цветности текущего блока цветности; получение шаблона выборки цветности и шаблона выборки яркости, где шаблон выборки цветности включает в себя множество соседних выборок цветности текущего блока цветности и шаблон выборки яркости получается путем выполнения операции понижающей дискретизации на множестве соседних выборок яркости первого блока яркости; получение коэффициентов линейной модели на основании шаблона выборки цветности и шаблона выборки яркости; и получение значения предсказания текущего блока цветности на основании второго блока яркости и коэффициентов линейной модели.

Очевидно, что в этом варианте осуществления настоящего раскрытия для LM режима сторона декодера может определять на основании информации указания в битовом потоке во время понижающей дискретизации текущего блока фильтр, используемый для понижающей дискретизации блока яркости, соответствующий текущему блоку цветности. Таким образом, может быть получен фильтр, соответствующий позиции выборки цветности. При этом рассматривается случай, когда в действительности в разных последовательностях видео могут присутствовать разные позиции выборки цветности, тем самым, повышая точность кодирования и эффективность кодирования.

В частности, в этом варианте осуществления настоящего раскрытия соседняя верхняя сторона и соседняя левая сторона, которые используются для вычисления коэффициентов линейной модели, могут упоминаться как шаблоны (template). Шаблон представляет собой набор выборок яркости или набор выборок цветности, используемых для вычисления коэффициентов линейной модели. Набор выборок яркости (luma sample), используемый для вычисления коэффициентов линейной модели, также может упоминаться как шаблон выборки яркости. Шаблон выборки яркости получается путем выполнения операции понижающей дискретизации на множестве соседних выборок яркости блока яркости (поскольку в изображении яркость может отсутствовать значение выборки яркости на позиции, соответствующей шаблону выборки цветности). Набор выборок цветности (chroma sample), используемый для вычисления коэффициентов линейной модели, также может называться шаблоном выборки цветности. Шаблон выборки цветности включает в себя множество соседних восстановленных выборок цветности текущего блока цветности.

На основании второго аспекта, в возможном варианте осуществления, шаблон выборки цветности, в частности, включает в себя одну или более строк соседних верхних выборок цветности текущего блока цветности и один или более столбцов соседних левых выборок цветности текущего блока цветности. Шаблон выборки яркости взаимно однозначно соответствует шаблону выборки цветности, и значение выборки в шаблоне выборки яркости и значение выборки в шаблоне выборки цветности составляют пару значений.

На основании второго аспекта, в возможном варианте осуществления, шаблон выборки цветности включает в себя одну строку соседних верхних выборок цветности и один столбец соседних левых выборок цветности текущего блока цветности. Соответственно, шаблон выборки яркости включает в себя одну строку выборок яркости и один столбец левых выборок яркости, где одна строка выборок яркости и один столбец левых выборок яркости соответствуют позициям выборок цветности в шаблоне выборки цветности.

На основании второго аспекта, в возможном варианте осуществления шаблон выборки цветности включает в себя две строки соседних верхних выборок цветности и два столбца соседних левых выборок цветности текущего блока цветности. Соответственно, шаблон выборки яркости включает в себя две строки выборок яркости и два столбца выборок яркости, где две строки выборок яркости и два столбца выборок яркости соответствуют позициям выборок цветности в шаблоне выборки цветности.

На основании второго аспекта, в возможном варианте осуществления шаблон выборки цветности может альтернативно включать в себя только один или более столбцов соседних левых выборок цветности текущего блока цветности. Шаблон выборки яркости включает в себя только один или более столбцов выборок яркости и шаблон выборок яркости один к одному соответствуют шаблону выборок цветности.

На основании второго аспекта, в возможном варианте осуществления шаблон выборки цветности может альтернативно включать в себя только одну или более строк соседних верхних выборок цветности текущего блока цветности. Шаблон выборки яркости включает в себя только одну или более строк выборок яркости и шаблон выборок яркости один к одному соответствуют шаблону выборок цветности.

На основании второго аспекта, в возможном варианте осуществления для шаблона выборки яркости, поскольку первая информация указания указывает тип фильтра, операция понижающей дискретизации может выполняться на множестве соседних выборок яркости первого блока яркости с использованием фильтра, соответствующего типу фильтра, для получения шаблона выборки яркости. Таким образом, сторона декодера использует один и тот же фильтр в процессе понижающей дискретизации для получения шаблона выборки яркости и в процессе понижающей дискретизации текущего блока, тем самым, повышая эффективность обработки.

Например, если на стороне декодера используются шесть типов фильтров, и значение, указанное в настоящее время первой информацией указания, равно 0, используемый фильтр понижающей дискретизации яркости является фильтром 0, и операция понижающей дискретизации может выполняться на множестве соседних выборок яркости первого блока яркости с использованием фильтра 0 для получения значения каждой выборки яркости в шаблоне выборки яркости.

На основании второго аспекта, в возможном варианте осуществления, во время синтаксического анализа битового потока, может быть дополнительно получена вторая информация указания путем синтаксического анализа битового потока. Вторая информация указания используется для указания, что режим внутреннего предсказания, используемый стороной декодера для декодирования текущего блока цветности, является LM режимом, так что сторона декодера определяет использовать LM режим для внутреннего предсказания для текущего изображения в последовательности видео.

На основании второго аспекта в возможном варианте осуществления способ используется для декодирования текущего блока изображения в последовательности видео. Текущий блок изображения включает в себя первый блок яркости и текущий блок цветности, и изображение в последовательности видео имеет формат 4:2:0 или формат 4: 2:2.

На основании второго аспекта, в возможном варианте осуществления сторона кодера и сторона декодера могут использовать одну и ту же структуру типа фильтра. Например, шесть типов фильтров (соответствующих шести позициям выборок цветности) разработаны для стороны кодера, и шесть типов фильтров также разработаны для стороны декодера. Дополнительно, алгоритмы понижающей дискретизации шести типов фильтров на стороне декодера, соответственно, согласуются с алгоритмами понижающей дискретизации шести типов фильтров на стороне кодера. В другом примере два типа фильтра (соответствующие двум позициям выборки цветности) разработаны для стороны кодера, и два типа фильтров также разработаны для стороны декодера. Дополнительно, алгоритмы понижающей дискретизации двух типов фильтров на стороне декодера, соответственно, согласуются с алгоритмами понижающей дискретизации двух типов фильтров на стороне кодера.

На основании второго аспекта в возможном варианте осуществления первая информация указания включает в себя значение SPS параметра, где это значение используется для указания типа фильтра понижающей дискретизации яркости, используемого для предсказания блока цветности во время кодирования или декодирования.

На основании второго аспекта, в возможном варианте осуществления получение коэффициентов линейной модели на основании шаблона выборки цветности и шаблона выборки яркости включает в себя: получение коэффициентов α и β линейной модели на основании шаблона выборки цветности и шаблона выборки яркости с использованием способа наименьших квадратов.

На основании второго аспекта, в возможном варианте осуществления, получение коэффициентов линейной модели на основании шаблона выборки цветности и шаблона выборки яркости включает в себя: получение коэффициентов α и β линейной модели на основании шаблона выборки цветности и шаблона выборки яркости с использованием способа экстремального значения.

Согласно третьему аспекту способ может использоваться во внутреннем предсказании для текущего блока цветности. Способ может быть описан с точки зрения декодера, и используемый режим внутреннего предсказания является, например, LM режимом. Способ включает в себя: определение типа фильтра на основании позиции выборки текущего блока цветности; выполнение операции понижающей дискретизации на первом блоке яркости с использованием фильтра, соответствующего типу фильтра, для получения второго блока яркости, где первый блок яркости является блоком яркости, соответствующим текущему блоку цветности; получение шаблона выборки цветности и шаблона выборки яркости, где шаблон выборки цветности включает в себя множество соседних выборок цветности текущего блока цветности, и шаблон выборки яркости получается путем выполнения операции понижающей дискретизации на множестве соседних выборок яркости первого блока яркости; получение коэффициентов линейной модели на основании шаблона выборки цветности и шаблона выборки яркости; и получение значения предсказания текущего блока цветности на основании второго блока яркости и коэффициентов линейной модели.

Очевидно, что в этом варианте осуществления настоящего раскрытия кодер может определять на основании позиции выборки текущего блока цветности фильтр понижающей дискретизации яркости, используемый для текущего блока яркости, чтобы получить фильтр, соответствующий позиции выборки цветности. При этом рассматривается случай, когда в действительности в разных последовательностях видео могут существовать разные позиции выборки цветности, тем самым, повышая точность кодирования и эффективность кодирования.

Основываясь на третьем аспекте, в возможном варианте осуществления перед определением типа фильтра на основании позиции выборки текущего блока цветности способ включает в себя: синтаксический анализ битового потока для получения первой информации указания, где первая информация указания используется для указания позиции выборки текущего блока цветности. Позиция выборки текущего блока цветности может быть ассоциирована с типом фильтра.

Можно узнать, что в этом варианте осуществления настоящего раскрытия кодер может определять позицию выборки текущей выборки цветности на основании первой информации указания, чтобы получить фильтр, соответствующий позиции выборки цветности. Как сторона кодера, так и сторона декодера могут получить фильтр, соответствующий позиции выборки цветности, тем самым, повышая точность кодирования и эффективность кодирования стороны кодера.

На основании третьего аспекта в возможном варианте осуществления может быть определена позиция выборки текущего блока цветности, например, на основании типа позиции выборки текущего блока цветности. Тип позиции выборки текущего блока цветности может быть ассоциирован с типом фильтра.

В реализации тип позиции выборки текущего блока цветности является, по меньшей мере, одним из следующих типов позиции выборки: типом позиции выборки тип 0 и типом позиции выборки тип 2.

В другой реализации тип позиции выборки текущего блока цветности является, по меньшей мере, одним из следующих типов позиции выборки: типом позиции выборки тип 0, типом позиции выборки тип 1, типом позиции выборки тип 2, типом позиции выборки тип 3, типом позиции выборки тип 4 и типом позиции выборки тип 5.

На основании третьего аспекта, в возможном варианте осуществления, синтаксический анализ битового потока для получения первой информации указания включает в себя: синтаксический анализ параметра набора параметров последовательности (SPS) в битовом потоке, чтобы получить первую информацию указания. Во время реализации этого варианта осуществления сторона кодера может указывать тип позиции выборки текущего блока цветности стороне декодера через конкретный SPS параметр. Это эквивалентно указанию типа фильтра понижающей дискретизации для стороны декодера, тем самым, гарантируя, что и сторона кодера, и сторона декодера могут получить фильтр, соответствующий позиции выборки цветности.

Согласно четвертому аспекту вариант осуществления настоящего раскрытия обеспечивает устройство для кодирования видеоданных. Устройство включает в себя память и кодер, соединенный с памятью. Память выполнена с возможностью хранить видеоданные в битовом потоке. Кодер выполнен с возможностью: определять тип фильтра на основании типа позиции выборки текущего блока цветности; установить первую информацию указания, причем первая информация указания используется для указания типа фильтра; и кодировать первую информацию указания в битовый поток. В частности, устройство может быть выполнено с возможностью реализации способа, описанного в первом аспекте.

Согласно пятому аспекту вариант осуществления настоящего раскрытия обеспечивает устройство для декодирования видеоданных. Устройство включает в себя память и декодер, соединенный с памятью. Память выполнена с возможностью хранить видеоданные в виде битового потока. Декодер выполнен с возможностью: выполнять синтаксический анализ битового потока для получения первой информации указания, где первая информация указания используется для указания типа фильтра; выполнить операцию понижающей дискретизации на первом блоке яркости с использованием фильтра, соответствующего типу фильтра, для получения второго блока яркости, где первый блок яркости является блоком яркости, соответствующим текущему блоку цветности; получить шаблон выборки цветности и шаблон выборки яркости, где шаблон выборки цветности включает в себя множество соседних выборок цветности текущего блока цветности и шаблон выборки яркости получается путем выполнения операции понижающей дискретизации на множестве соседних выборок яркости первого блока яркости; получать коэффициенты линейной модели на основании шаблона выборки цветности и шаблона выборки яркости; и получить значение предсказания текущего блока цветности на основании второго блока яркости и коэффициентов линейной модели. В частности, устройство может быть выполнено с возможностью реализации способа, описанного во втором аспекте.

Согласно шестому аспекту вариант осуществления настоящего раскрытия обеспечивает устройство для декодирования видеоданных. Устройство включает в себя память и декодер, соединенный с памятью. Память выполнена с возможностью хранить видеоданные в виде битового потока. Декодер выполнен с возможностью: определять тип фильтра на основании типа позиции выборки текущего блока цветности; выполнить операцию понижающей дискретизации на первом блоке яркости с использованием фильтра, соответствующего типу фильтра для получения второго блока яркости, где первый блок яркости является блоком яркости, соответствующим текущему блоку цветности; получить шаблон выборки цветности и шаблон выборки яркости, где шаблон выборки цветности включает в себя множество соседних выборок цветности текущего блока цветности и шаблон выборки яркости получается путем выполнения операции понижающей дискретизации на множестве соседних выборок яркости первого блока яркости; получать коэффициенты линейной модели на основании шаблона выборки цветности и шаблона выборки яркости; и получить значение предсказания текущего блока цветности на основании второго блока яркости и коэффициентов линейной модели. В частности, устройство может быть выполнено с возможностью реализации способа, описанного в третьем аспекте.

Согласно седьмому аспекту вариант осуществления настоящего раскрытия обеспечивает устройство для кодирования. Устройство для кодирования включает в себя постоянную память и процессор, которые соединены друг с другом. Процессор вызывает программный код, хранящийся в памяти, для выполнения способа, описанного в первом аспекте.

Согласно восьмому аспекту вариант осуществления настоящего раскрытия обеспечивает устройство для декодирования. Устройство для декодирования включает в себя постоянную память и процессор, которые соединены друг с другом. Процессор вызывает программный код, хранящийся в памяти, для выполнения способа, описанного во втором аспекте.

Согласно девятому аспекту вариант осуществления настоящего раскрытия обеспечивает устройство для декодирования. Устройство для декодирования включает в себя постоянную память и процессор, которые соединены друг с другом. Процессор вызывает программный код, хранящийся в памяти, для выполнения способа, описанного в третьем аспекте.

Согласно десятому аспекту вариант осуществления настоящего раскрытия обеспечивает систему. Система включает в себя устройство, описанное в четвертом аспекте, и устройство, описанное в пятом аспекте, или система включает в себя устройство, описанное в четвертом аспекте, и устройство, описанное в шестом аспекте.

Согласно одиннадцатому аспекту вариант осуществления настоящего раскрытия обеспечивает другую систему. Система включает в себя устройство для кодирования, описанное в седьмом аспекте, и устройство для декодирования, описанное в восьмом аспекте, или система включает в себя устройство для кодирования, описанное в седьмом аспекте, и устройство для декодирования, описанное в девятом аспекте.

Согласно двенадцатому аспекту вариант осуществления настоящего раскрытия обеспечивает энергонезависимый машиночитаемый носитель данных. Машиночитаемый носитель данных выполнен с возможностью хранить программный код способа, описанного в первом аспекте. Когда программный код выполняется вычислительным устройством, вычислительное устройство выполнено с возможностью выполнять способ, описанный в первом аспекте.

Согласно тринадцатому аспекту вариант осуществления настоящего раскрытия обеспечивает другой энергонезависимый машиночитаемый носитель данных. Машиночитаемый носитель данных выполнен с возможностью хранить программный код способа, описанный во втором или третьем аспектах. Когда программный код выполняется вычислительным устройством, вычислительное устройство выполнено с возможностью выполнять способ, описанный во втором или третьем аспектах.

Согласно четырнадцатому аспекту вариант осуществления настоящего раскрытия обеспечивает компьютерный программный продукт. Компьютерный программный продукт включает в себя программные инструкции. Когда компьютерный программный продукт выполняется вычислительным устройством, вычислительное устройство выполняет способ, описанный в первом аспекте. Компьютерный программный продукт может быть установочным пакетом программного обеспечения. Когда необходимо использовать способ, предусмотренный в любой возможной реализации первого аспекта, компьютерный программный продукт может быть загружен и выполнен на вычислительном устройстве, чтобы реализовать способ, описанный в первом аспекте.

Согласно пятнадцатому аспекту вариант осуществления настоящего раскрытия обеспечивает другой компьютерный программный продукт. Компьютерный программный продукт включает в себя программные инструкции. Когда компьютерный программный продукт выполняется вычислительным устройством, вычислительное устройство выполняет способ, предусмотренный в любой возможной реализации второго или третьего аспекта. Компьютерный программный продукт может быть установочным пакетом программного обеспечения. Когда необходимо использовать способ, предусмотренный в любой возможной реализации второго или третьего аспекта, компьютерный программный продукт может быть загружен и выполнен на вычислительном устройстве для реализации способа, описанного во втором или третьем аспектах.

Очевидно, что в вариантах осуществления настоящего раскрытия для LM режима кодер может определять на основании позиции выборки текущего блока цветности фильтр понижающей дискретизации яркости, используемый для текущего блока яркости, и указывать тип фильтра понижающей дискретизации для декодера через информацию указания (например, значение вновь добавленного SPS параметра). Это гарантирует, что как сторона кодера, так и сторона декодера могут получить фильтр, соответствующий позиции выборки цветности. При этом рассматривается случай, в котором в действительности могут существовать разные позиции выборки цветности в различных последовательностях видео, тем самым, обеспечивая согласованность между позицией выборки с понижающей дискретизацией яркости и позицией выборки цветности, и повышая точность кодирования и эффективность кодирования на стороне кодера.

Краткое описание чертежей

Для более ясного описания технических решений в вариантах осуществления настоящего раскрытия или уровня техники, ниже описаны сопроводительные чертежи, используемые в вариантах осуществления настоящего раскрытия или в описании уровня техники.

Фиг. 1A является блок-схемой примерной системы кодирования видео для реализации варианта осуществления настоящего раскрытия;

фиг. 1B является блок-схемой примерной системы кодирования видео, включающей в себя один или два кодера 20 на фиг. 2 и декодер 30 на фиг. 3;

фиг. 2 является блок-схемой примерной структуры кодера для реализации варианта осуществления настоящего раскрытия;

фиг. 3 является блок-схемой примерной структуры декодера для реализации варианта осуществления настоящего раскрытия;

фиг. 4 является блок-схемой примерного устройства для кодирования или примерного устройства декодирования;

фиг. 5 является блок-схемой другого примерного устройства для кодирования или другого примерного устройства декодирования;

фиг. 6 является схемой нескольких форматов YUV изображения;

фиг. 7 является схемой взаимосвязи между позицией выборки цветности и позицией выборки яркости;

фиг. 8 показывает вариант осуществления блока яркости, блока с понижающей дискретизацией яркости и текущего блока цветности;

фиг. 9 показывает вариант осуществления шаблона выборки яркости и шаблона выборки цветности;

фиг. 10 показывает другой вариант осуществления шаблона выборки яркости и шаблона выборки цветности;

фиг. 11 является примерной схемой взаимосвязи между некоторыми позициями выборок цветности и некоторыми позициями выборок яркости;

фиг. 12 является блок-схемой алгоритма способа предсказания блока цветности согласно варианту осуществления настоящего раскрытия;

фиг. 13 является блок-схемой алгоритма другого способа предсказания блока цветности согласно варианту осуществления настоящего раскрытия;

фиг. 14 является схемой распределения набора пар значений выборки в системе координат яркости-цветности;

фиг. 15 является блок-схемой алгоритма еще одного способа предсказания блока цветности согласно варианту осуществления настоящего раскрытия;

фиг. 16 является блок-схемой примерной структуры системы поставки контента для реализации услуги распространения контента; и

фиг. 17 является блок-схемой примерной структуры оконечного устройства.

Осуществление изобретения

Ниже описаны варианты осуществления настоящего изобретения со ссылкой на сопроводительные чертежи в вариантах осуществления настоящего изобретения. Термины, используемые в реализациях настоящего изобретения, предназначены только для объяснения конкретных вариантов осуществления настоящего изобретения, но не предназначены для ограничения настоящего изобретения.

Кодирование видео обычно относится к обработке последовательности изображений, которые образуют видео или последовательность видео. В области кодирования видео термины «изображение (picture)», «кадр (frame)» и «изображение (image)» могут использоваться как синонимы. Кодирование видео, используемое в этой спецификации, относится к кодированию видео или декодированию видео. Кодирование видео выполняется на стороне источника и обычно включает в себя обработку (например, сжатие) исходного видеоизображения для уменьшения объема данных для представления видеоизображения, для более эффективного хранения и/или передачи. Декодирование видео выполняется на стороне назначения и обычно включает в себя обратную обработку по сравнению с обработкой кодера для восстановления видеоизображения. «Кодирование» видеоизображения в вариантах осуществления следует понимать как «кодирование» или «декодирование» последовательности видео. Комбинация части кодирования и части декодирования также называется CODEC (encoding and decoding).

Каждое из множества изображений в последовательности видео обычно разделяется на набор неперекрывающихся блоков, и кодирование обычно выполняется на уровне блоков. Другими словами, на стороне кодера видео обычно обрабатывается, то есть, кодируется на уровне блока (также называемого блоком изображения или блоком видео), например, с использованием пространственного (внутреннего изображения) предсказания и/или временное (межкадровое) предсказание для генерирования блока предсказания, вычитание блока предсказания из текущего блока (блока, который в настоящее время обрабатывается/должен быть обработан) для получения остаточного блока и преобразование остаточного блока и квантование остаточного блока в области преобразования для уменьшения объема данных, которые должны быть переданы (сжаты), тогда как на стороне декодера обратная обработка по сравнению с обработкой кодера применяется к кодированному или сжатому блоку для восстановления текущего блока для представления. Кроме того, кодер дублирует цикл обработки декодера, так что оба генерируют идентичное предсказание (например, внутреннее предсказание и внешнее предсказание) и/или восстановление для обработки, то есть, кодирования, последующих блоков.

Термин «блок» представляет часть изображения или кадра. В этом описании текущий блок является блоком, который в настоящее время обрабатывается. Например, во время кодирования текущий блок является блоком, который в настоящее время кодируется; и во время декодирования текущий блок является блоком, который декодируется. Если блок, который в настоящее время обрабатывается, является блоком компонента цветности, этот блок называется текущим блоком цветности. Блок яркости, соответствующий текущему блоку цветности, может упоминаться как текущий блок яркости. Опорный блок является блоком, который обеспечивает опорный сигнал для текущего блока. Опорный сигнал представляет собой значение выборки, значение выборки или сигнал выборки в блоке изображения. Блок предсказания является блоком, который обеспечивает сигнал предсказания для текущего блока. Сигнал предсказания представляет собой значение выборки, значение выборки или сигнал выборки в блоке предсказания. Например, после прохождения множества опорных блоков найден оптимальный опорный блок. Оптимальный опорный блок обеспечивает предсказание для текущего блока, и этот блок называется блоком предсказания.

Дополнительно, в этом описании выборка (или пиксель) также может называться выборкой. Соответственно, значение выборки также может называться значением выборки (или значением выборки). Если выборка, содержащаяся в текущем блоке, является выборкой яркости, текущий блок может упоминаться как текущий блок яркости (или упоминаться как текущий блок изображения яркости). Если выборка, содержащаяся в текущем блоке изображения, представляет собой выборку цветности, текущий блок изображения может называться текущим блоком цветности (или называться текущим блоком изображения цветности).

Ниже описана архитектура системы, к которой применяется вариант осуществления настоящего раскрытия. Фиг. 1A является блок-схемой примерной системы 10 кодирования видео, описанной в варианте осуществления настоящего раскрытия. В данном описании термин «видеокодек» обычно относится как к видеокодеру, так и к видеодекодеру. В этой спецификации термин «кодирование видео» или «кодирование» может обычно относиться к кодированию видео или декодированию видео. Как показано на фиг. 1A, система 10 кодирования видео может включать в себя устройство 12 источника и устройство 14 назначения. Устройство 12 источника генерирует кодированные видеоданные, и поэтому устройство 12 источника может называться устройством для кодирования видео. Устройство 14 назначения может декодировать кодированные видеоданные, сгенерированные устройством 12 источника, и поэтому устройство 14 назначения может называться устройством для декодирования видео. Устройство 12 источника, устройство 14 назначения или различные решения реализации устройства 12 источника или устройства 14 назначения могут включать в себя один или более процессоров и память, соединенную с одним или несколькими процессорами. Память может включать в себя, помимо прочего, RAM, ROM, EEPROM, флэш-память или любой другой носитель, который может использоваться для хранения желаемого программного кода в форме инструкции или структуры данных, доступной для компьютера, как описано в этой спецификации. Устройство 12 источника и устройство 14 назначения могут включать в себя различные устройства, включающие в себя настольный компьютер, мобильное вычислительное устройство, портативный компьютер (например, портативный компьютер), планшетный компьютер, телеприставку, портативный телефонный аппарат, такой как «смартфон», телевизор, фотоаппарат, устройство отображения, цифровой медиаплеер, игровую консоль, бортовой компьютер и подобное устройство.

Соединение связи между устройством 12 источника и устройством 14 назначения может быть реализовано через линию 13 связи, устройство 14 назначения может принимать закодированные видеоданные из устройства 12 источника через линию 13 связи. Линия 13 связи может включать в себя одно или более носителей или устройств, способных перемещать закодированные видеоданные из устройства 12 источника в устройство 14 назначения. В примере линия 13 связи может включать в себя одну или более коммуникационных сред, которые позволяют устройству 12 источника напрямую передавать закодированные видеоданные в устройство 14 назначения в реальном времени. В этом примере устройство 12 источника может модулировать закодированные видеоданные в соответствии со стандартом связи (например, протоколом беспроводной связи) и может передавать модулированные видеоданные на устройство 14 назначения. Одна или более сред связи могут включать в себя среду беспроводной связи и/или проводную среду связи, например, радиочастотный (RF) спектр или одну или более физических линий передачи. Одна или более коммуникационных сред могут составлять часть сети с пакетной передачей данных и сеть с пакетной передачей данных представляет собой, например, локальную сеть, глобальную сеть или региональную сеть (например, интернет). Одна или более коммуникационных сред могут включать в себя маршрутизатор, коммутатор, базовую станцию или другое устройство, которое обеспечивает связь от устройства 12 источника к устройству 14 назначения.

Устройство 12 источника включает в себя кодер 20 и, возможно, устройство 12 источника может дополнительно включать в себя источник 16 изображения, предварительный процессор 18 изображения и интерфейс 22 связи. В конкретной форме реализации кодер 20, источник 16 изображения, предварительный процессор 18 изображения и интерфейс 22 связи могут быть аппаратными компонентами в устройстве 12 источника или могут быть программными программами в устройстве 12 источника. Ниже приводятся отдельные описания.

Источник 16 изображения может включать в себя или быть устройством захвата изображения любого типа, выполненным с возможностью, например, захватывать реальное изображение; и/или устройство любого типа для генерирования изображения или комментария (для кодирования контента экрана, некоторый текст на экране также рассматривается как часть изображения, подлежащего кодированию), например, процессор компьютерной графики, выполненный с возможностью генерировать компьютерное анимационное изображение; или устройство любого типа, выполненное с возможностью получать и/или предоставлять реальное изображение или компьютерное анимационное изображение (например, контент экрана или изображение виртуальной реальности (virtual reality, VR)); и/или любое их сочетание (например, изображение дополненной реальности (augmented reality, AR)). Источник 16 изображения может быть камерой, выполненной с возможностью захватывать изображение, или памятью, выполненной с возможностью хранить изображения. Источник 16 изображения может дополнительно включать в себя интерфейс любого типа (внутренний или внешний) для хранения ранее захваченного или сгенерированного изображения и/или для получения или приема изображения. Когда источником 16 изображения является камера, источником 16 изображения может быть, например, локальная камера или интегрированная камера, встроенная в устройство источника. Когда источник 16 изображения является памятью, источник 16 изображения может быть, например, локальной памятью или интегрированной памятью, интегрированной в устройство источника. Когда источник 16 изображения включает в себя интерфейс, этот интерфейс может быть, например, внешним интерфейсом для приема изображения от внешнего источника видео. Внешний видеоисточник представляет собой, например, внешнее устройство захвата изображения, такое как камера, внешняя память или внешнее устройство формирования изображения. Внешнее устройство формирования изображения представляет собой, например, внешний процессор компьютерной графики, компьютер или сервер. Интерфейс может быть интерфейсом любого типа, например проводным или беспроводным интерфейсом или оптическим интерфейсом, в соответствии с любым частным или стандартизованным протоколом интерфейса.

Изображение можно рассматривать как двумерный массив или матрицу выборок со значениями яркости. Выборка в массиве также может упоминаться как выборка (sample) (сокращенная форма элемента изображения (picture element)) или пиксель (pel). Количество выборок в горизонтальном и вертикальном направлениях (или осях) массива или изображения определяет размер и/или разрешение изображения. Для представления цвета обычно используются три цветовых компонента. Например, изображение может быть представлено как или включать в себя три массива выборок. В формате RBG или цветовом пространстве изображение включает в себя соответствующие массивы выборок красного, зеленого и синего цветов. Однако при кодировании видео каждая выборка обычно представлена в формате яркости/цветности или цветовом пространстве. Например, изображение в формате YUV включает в себя компонент яркости, обозначенный Y (иногда вместо него используется L), и два компонента цветности, обозначенные U и V. Компонент Y яркости (сокращение от luma) представляет собой яркость или интенсивность уровня серого (например, эти два компонента идентичны в изображении с оттенками серого), в то время как два компонента цветности (сокращенно chroma) U и V представляют собой компоненты цветности или информации о цвете. Соответственно, изображение в формате YUV включает в себя массив выборки яркости значений выборки яркости (Y) и два массива выборки цветности значений цветности (U и V). Изображение в формате RGB может быть преобразовано или конвертировано в изображение в формате YUV и наоборот, и этот процесс также известен как преобразование цвета или преобразование. Если изображение монохромное, оно может включать в себя только массив выборок яркости. В этом варианте осуществления настоящего раскрытия изображение, переданное источником 16 изображения в процессор изображения, также может называться необработанными данными 17 изображения. В возможном варианте осуществления настоящего раскрытия источник 16 изображения может быть дополнительно выполнен с возможностью определять позицию выборки цветности каждого изображения в текущей последовательности видео.

Предварительный процессор 18 изображения выполнен с возможностью принимать необработанные данные 17 изображения и выполнять предварительную обработку необработанных данных 17 изображения для получения предварительно обработанного изображения 19 или предварительно обработанных данных 19. Например, предварительная обработка, выполняемая предварительным процессором 18 изображения, может включать в себя обрезку, преобразование цветового формата (например, из формата RGB в формат YUV), цветокоррекцию или уменьшение шума. В возможном варианте осуществления предварительный процессор 18 изображения может быть дополнительно выполнен с возможностью определять позицию выборки цветности в текущей последовательности видео.

Кодер 20 (также называемый видео кодером 20) выполнен с возможностью принимать предварительно обработанных данных 19 изображения и выполнять обработку предварительно обработанных данных 19 изображения в соответствующем режиме предсказания (например, в режиме внутреннего предсказания в этом варианте осуществления данного описания), чтобы предоставить закодированные данные 21 изображения (структурные детали кодера 20 дополнительно описаны ниже со ссылкой на фиг. 2, фиг. 4 или фиг. 5). В некоторых вариантах осуществления кодер 20 может быть выполнен с возможностью выполнять варианты осуществления, описанные ниже, для реализации применения способа предсказания блока цветности на стороне кодера, описанного в настоящем изобретении.

Интерфейс 22 связи может быть выполнен с возможностью принимать данные 21 закодированного изображения и передавать данные 21 закодированного изображения в устройство 14 назначения или любое другое устройство (например, память) через линию 13 связи для хранения или прямого восстановления. Любое другое устройство может быть любым устройством, используемым для декодирования или хранения. Интерфейс 22 связи может быть, например, выполнен с возможностью упаковки данных 21 закодированного изображения в соответствующий формат, например пакет данных, для передачи по линии 13 связи.

Устройство 14 назначения включает в себя декодер 30 и, возможно, устройство 14 назначения может дополнительно включать в себя интерфейс 28 связи, постпроцессор 32 изображения и устройство 34 отображения. Ниже приводятся отдельные описания.

Интерфейс 28 связи может быть выполнен с возможностью принимать данные 21 закодированного изображения из устройства 12 источника или любого другого источника. Любой другой источник представляет собой, например, запоминающее устройство, и запоминающее устройство является, например, устройством хранения данных закодированного изображения. Интерфейс 28 связи может быть выполнен с возможностью передавать или принимать данные 21 закодированного изображения через линию 13 связи между устройством 12 источника и устройством 14 назначения или через сеть любого типа. Линия 13 связи является, например, прямым проводным или беспроводным соединением, и любой тип сети представляет собой, например, проводную или беспроводную сеть или любую их комбинацию, или любой тип частной или общественной сети, или любую их комбинацию. Интерфейс 28 связи может быть, например, выполнен с возможностью распаковывать пакет данных, переданный через интерфейс 22 связи, для получения данных 21 закодированного изображения.

И интерфейс 28 связи, и интерфейс 22 связи могут быть сконфигурированы как интерфейсы однонаправленной связи или интерфейсы двунаправленной связи, и могут быть выполнены с возможностью, например, отправлять и принимать сообщения для установки соединения, а также подтверждать и обмениваться любой другой информацией, относящейся к линии связи и/или передаче данных, например, к передаче данных закодированного изображения.

Декодер 30 (также называемый видео декодером 30) выполнен с возможностью принимать данные 21 кодированного изображения и предоставлять данные 31 декодированного изображения или декодированного изображения 31 (структурные детали декодера 30 дополнительно описаны ниже со ссылкой на фиг. 3, 4 или 5). В некоторых вариантах осуществления декодер 30 может быть выполнен с возможностью выполнять варианты осуществления, описанные ниже, для реализации применения способа предсказания блока цветности на стороне декодера, описанного в настоящем изобретении.

Постпроцессор 32 изображения выполнен с возможностью постобработки данных 31 декодированного изображения (также называемых данными восстановленного изображения) для получения данных 33 постобработанного изображения. Постобработка, выполняемая постпроцессором изображения 32 может включать в себя преобразование формата цвета (например, из формата YUV в формат RGB), цветокоррекцию, обрезку, повторную выборку или любую другую обработку. Постпроцессор 32 изображения может быть дополнительно выполнен с возможностью передавать данные 33 постобработанного изображения в устройство 34 отображения.

Устройство 34 отображения выполнено с возможностью принимать данные 33 изображения с постобработкой, чтобы отображать изображение, например, пользователю или зрителю. Устройство 34 отображения может быть или включать в себя любой тип дисплея, выполненного с возможностью представления восстановленного изображения, например, может быть интегрированным или внешним дисплеем или монитором. Например, дисплей может включать в себя жидкокристаллический дисплей (liquid crystal display, LCD), дисплей с органическим светоизлучающим диодом (organic light emitting diode, OLED), плазменный дисплей, проектор, микро-светодиодный дисплей, жидкий кристалл на кремний (liquid crystal on silicon, LCoS), цифровой световой процессор (digital light processor, DLP) или любые другие дисплеи.

Хотя фиг. 1A изображает устройство 12 источника и устройство 14 назначения как отдельные устройства, варианты осуществления устройств также могут включать в себя оба или обе функциональные возможности: устройство 12 источника или соответствующие функциональные возможности и устройство 14 назначения или соответствующие функциональные возможности. В таких вариантах осуществления устройство 12 источника или соответствующие функциональные возможности и устройство 14 назначения или соответствующие функциональные возможности могут быть реализованы с использованием одного и того же аппаратного и/или программного обеспечения или с использованием отдельного аппаратного и/или программного обеспечения или любой их комбинации.

Специалист в данной области техники может узнать, что на основании описаний, наличие и (точное) разделение функциональных возможностей различных модулей или функций устройства 12 источника и/или устройства 14 назначения, показанных на фиг. 1A, может отличаться в зависимости от реального устройства и приложения. Устройство 12 источника и устройство 14 назначения может быть любым из широкого диапазона устройств, включающие в себя любой тип портативного или стационарного устройства, например, ноутбук или портативный компьютер, мобильный телефон, смартфон, планшет или планшетный компьютер, видеокамера, настольный компьютер, телеприставка, телевизор, фотоаппарат, устройство, установленное на транспортном средстве, устройство отображения, цифровой медиаплеер, игровая консоль, устройство для потоковой передачи видео (такое как сервер службы контента или сервер распространения контента), устройство приемника вещания или устройство передатчика вещания, и могут не использовать или могут использовать операционные системы любого типа.

Кодер 20 и декодер 30 каждый может быть реализован как любая из различных подходящих схем, например, один или более микропроцессоров, процессоров цифровых сигналов (digital signal processor, DSP), интегральные схемы для конкретных приложений (application-specific integrated circuit, ASIC), программируемые пользователем вентильные матрицы (field-programmable gate array, FPGA), дискретная логика, аппаратное обеспечение или любые их комбинации. Если технологии реализованы частично с использованием программного обеспечения, устройство может хранить программную инструкцию на подходящем и постоянном машиночитаемом носителе и может выполнять инструкцию с использованием оборудования, такого как один или более процессоров, для выполнения технологий настоящего раскрытия. Любое из вышеперечисленного (включающее в себя оборудование, программное обеспечение, комбинацию оборудования и программного обеспечения и т.п.) может рассматриваться как один или более процессоров.

В некоторых случаях система 10 кодирования видео, показанная на фиг. 1A, является просто примером, и технологии в настоящем изобретении применимы к настройкам кодирования видео (например, кодирование видео или декодирование видео), которые не обязательно включают в себя какой-либо обмен данными между устройством для кодирования и устройством для декодирования. В других примерах данные могут быть извлечены из локальной памяти, переданы в потоковом режиме по сети и т.п. Устройство для кодирования видео может кодировать данные и сохранять закодированные данные в памяти, и/или устройство для декодирования видео может извлекать данные из памяти и декодировать данные. В некоторых примерах кодирование и декодирование выполняются устройствами, которые не обмениваются данными друг с другом, а просто кодируют данные в память и/или извлекают данные из памяти и декодируют данные.

Фиг. 1B является иллюстративной схемой примера системы 40 кодирования видео, включающей в себя кодер 20 на фиг. 2 и/или декодер 30 на фиг. 3 согласно примерному варианту осуществления. Система 40 кодирования видео может реализовывать комбинацию различных технологий в вариантах осуществления настоящего раскрытия. В проиллюстрированной реализации система 40 кодирования видео может включать в себя устройство 41 формирования изображения, кодер 20, декодер 30 (и/или кодер/декодер видео, реализованный логической схемой 47 блока 46 обработки), антенну 42, один или более процессоров 43, одно или более памяти 44 и/или устройство 45 отображения.

Как показано на фиг. 1B, устройство 41 формирования изображения, антенна 42, блок 46 обработки, логическая схема 47, кодер 20, декодер 30, процессор 43, память 44 и/или устройство 45 отображения могут обмениваться данными друг с другом. Как описано, хотя система 40 кодирования видео проиллюстрирована с использованием кодера 20 и декодера 30, в различных примерах система 40 кодирования видео может включать в себя только кодер 20 или только декодер 30.

В некоторых примерах антенна 42 может быть выполнена с возможностью передавать или принимать закодированный битовый поток видеоданных. Кроме того, в некоторых примерах устройство 45 отображения может быть выполнено с возможностью представления видеоданных. В некоторых примерах логическая схема 47 может быть реализована блоком 46 обработки. Блок 46 обработки может включать в себя логику специализированной интегральной схемы (application-specific integrated circuit, ASIC), графический процессор, процессор общего назначения, или тому подобное. Система 40 кодирования видео может также включать в себя дополнительный процессор 43. Дополнительный процессор 43 может аналогичным образом включать в себя логику специализированной интегральной схемы (application-specific integrated circuit, ASIC), графический процессор, универсальный процессор и т.п. В некоторых примерах логическая схема 47 может быть реализована аппаратными средствами, например, специализированным оборудованием для кодирования видео, и процессор 43 может быть реализован программным обеспечением общего назначения, операционной системой и т.п. Дополнительно, память 44 может быть памятью любого типа, например, непостоянной памятью (например, статической памятью с произвольным доступом (Static Random Access Memory, SRAM), динамической памятью с произвольным доступом (Dynamic Random Access Memory, DRAM) или постоянной памятью (например, флэш-памятью). В неограничивающем примере память 44 может быть реализована посредством кэш-памяти. В некоторых примерах логическая схема 47 может обращаться к памяти 44 (например, для реализации буфера изображения). В других примерах логическая схема 47 и/или блок 46 обработки могут включать в себя память (например, кэш) для реализации буфера изображения или т.п.

В некоторых примерах кодер 20, реализованный логической схемой, может включать в себя буфер изображения (например, реализованный блоком 46 обработки или память 44) и блок обработки графики (например, реализованный блоком 46 обработки). Блок обработки графики может быть коммуникативно связан с буфером изображения. Блок обработки графики может включать в себя кодер 20, реализованный логической схемой 47, для реализации различных модулей, которые описаны со ссылкой на фиг. 2, и/или любую другую систему или подсистему кодера, описанную в этой спецификации. Логическая схема может быть выполнена с возможностью выполнять различные операций, описанные в настоящем изобретении.

В некоторых примерах декодер 30 может быть реализован логической схемой 47 аналогичным образом для реализации различных модулей, которые описаны со ссылкой на декодер 30 на фиг. 3, и/или любую другую систему или подсистему декодера, описанную в этой спецификации. В некоторых примерах декодер 30, реализованный логической схемой, может включать в себя буфер изображения (например, реализованный блоком 46 обработки или памятью 44) и блок обработки графики (например, реализованный блоком 46 обработки). Блок обработки графики может быть коммуникативно связан с буфером изображения. Блок обработки графики может включать в себя декодер 30, реализованный логической схемой 47, для реализации различных модулей, которые описаны со ссылкой на фиг. 3, и/или любую другую систему или подсистему декодера, описанную в настоящем раскрытии.

В некоторых примерах антенна 42 может быть выполнена с возможностью принимать закодированный битовый поток видеоданных. Как описано, кодированный битовый поток может включать в себя данные, индикатор, значение индекса, данные выбора режима и т.п., относящиеся к кодированию видеокадров, описанному в этой спецификации, например, данные, относящиеся к разделению кодирования (например, коэффициент преобразования или квантованный коэффициент преобразования, возможный индикатор (как описано) и/или данные, определяющие разделение кодирования). Система 40 кодирования видео может дополнительно включать в себя декодер 30, который подключен к антенне 42 и выполнен с возможностью декодировать кодированный битовый поток. Устройство 45 отображения выполнено с возможностью представлять видеокадр.

Следует понимать, что в этом варианте осуществления настоящего раскрытия для примера, описанного со ссылкой на кодер 20, декодер 30 может быть выполнен с возможностью выполнять обратный процесс. Что касается сигнализации элемента синтаксиса, декодер 30 может быть выполнен с возможностью принимать и анализировать такой элемент синтаксиса и, соответственно, декодировать соответствующие видеоданные. В некоторых примерах кодер 20 может энтропийно кодировать элемент синтаксиса в кодированный битовый поток видео. В таких примерах декодер 30 может анализировать такой элемент синтаксиса и, соответственно, декодировать соответствующие видеоданные.

Следует отметить, что способ предсказания блока цветности, описанный в вариантах осуществления настоящего раскрытия, в основном, используется в процессе внутреннего предсказания, и этот процесс выполняется как в кодере 20, так и в декодере 30. Кодер 20/декодер 30 в вариантах осуществления настоящего раскрытия может быть кодером/декодером, соответствующим протоколу стандарта видео, например H.263, H.264, HEVC, MPEG-2, MPEG-4, VP8 или VP9, или соответствующим протоколу стандарта видео следующего поколения (например, H.266).

Фиг. 2 представляет собой схематическую/концептуальную блок-схему примерного кодера 20, выполненного с возможностью реализации варианта осуществления настоящего раскрытия. В примере на фиг. 2, кодер 20 включает в себя блок 204 вычисления остатка, блок 206 обработки преобразования, блок 208 квантования, блок 210 обратного квантования, блок 212 обработки обратного преобразования, блок 214 восстановления, буфер 216, блок 220 контурного фильтра, буфер 230 декодированного изображения (decoded picture buffer, DPB), блок 260 обработки предсказания и блок 270 энтропийного кодирования. Блок 260 обработки предсказания может включать в себя блок 244 внешнего предсказания, блок 254 внутреннего предсказания и блок 262 выбора режима. Блок 244 внешнего предсказания может включать в себя блок оценки движения и блок компенсации движения (не показаны на чертеже). Кодер 20, показанный на фиг. 2, также может называться гибридным видеокодером или видеокодером на основании гибридного видеокодека.

Например, блок 204 вычисления остатка, блок 206 обработки преобразования, блок 208 квантования, блок 260 обработки предсказания и блок 270 энтропийного кодирования образуют прямой тракт сигнала кодера 20, тогда как, например, блок 210 обратного квантования, блок 212 обработки обратного преобразования, блок 214 восстановления, буфер 216, контурный фильтр 220, буфер 230 декодированного изображения (decoded picture buffer, DPB) и блок 260 обработки предсказания формируют обратный тракт сигнала кодера. Обратный тракт сигнала кодера соответствует тракту сигнала декодера (см. декодер 30 на фиг. 3).

Кодер 20 принимает, например, через вход 202 изображение 201 или блок 203 изображения изображение 201, например, изображение в последовательности изображений, образующих видео или последовательность видео. Блок 203 изображения может также называться текущим блоком изображения или блоком изображения, который должен быть закодирован. Изображение 201 может упоминаться как текущее изображение или изображение, которое должно быть закодировано (в частности, при кодировании видео, чтобы отличать текущее изображение от других изображений, другие изображения являются, например, ранее кодированными и/или декодированными изображениями, в ту же последовательность видео, то есть, последовательность видео, которая также включает в себя текущее изображение).

Вариант осуществления кодера 20 может включать в себя блок разделения (не показан на фиг. 2), выполненный с возможностью разделять изображение 201 на множество блоков, таких как блок 203 изображения. Изображение 201 обычно разделяется на множество неперекрывающихся блоков. Блок разделения может быть выполнен с возможностью использования одного и того же размера блока для всех изображений в последовательности видео и соответствующей сетки, определяющей размер блока, или изменения размера блока между изображениями или подмножествами или группами изображений и разделения каждого изображения на соответствующие блоки.

В одном примере блок 260 обработки предсказания кодера 20 может быть выполнен с возможностью выполнять любую комбинацию способов разделения, описанных выше.

Подобно изображению 201, блок 203 изображения также или может рассматриваться как двумерный массив или матрица выборок со значениями яркости (sample values), хотя размер блока 203 изображения меньше, чем размер блока 203 изображения изображение 201. Другими словами, блок 203 изображения может включать в себя, например, один массив выборок (например, массив яркости в случае монохромного изображения 201), три массива выборок (например, один массив яркости и два массива цветности массивы в случае цветного изображения) или любое другое количество и/или тип массивов в зависимости от применяемого цветового формата. Количество выборок в горизонтальном и вертикальном направлениях (или осях) блока 203 изображения определяет размер блока 203 изображения.

Кодер 20, показанный на фиг. 2, выполнен с возможностью кодировать изображение 201 блок за блоком, например, для кодирования и предсказания каждого блока 203 изображения.

Блок 204 вычисления остатка выполнен с возможностью вычислять остаточный блок 205 на основании блока 203 изображения и блока 265 предсказания (дополнительные подробности о блоке 265 предсказания предоставлены ниже), например, для получения остаточного блока 205 в области выборки путем вычитания значения выборки блока 265 предсказания из значения выборки блока 203 изображения выборка за выборкой (sample by sample).

Блок 206 обработки преобразования выполнен с возможностью применять преобразование, например, дискретное косинусное преобразование (discrete cosine transform, DCT) или дискретное синусоидальное преобразование (discrete sine transform, DST), к значениям выборки остаточного блока 205 для получения коэффициентов 207 преобразования в области преобразования. Коэффициенты 207 преобразования также могут упоминаться как остаточные коэффициенты преобразования и представлять остаточный блок 205 в области преобразования.

Блок 206 обработки преобразования может быть выполнен с возможностью применять целочисленную аппроксимацию DCT/DST, такую как преобразование, указанное в HEVC/H.265. По сравнению с ортогональным преобразованием DCT, такая целочисленная аппроксимация обычно масштабируется с помощью конкретного коэффициента. Чтобы сохранить норму остаточного блока, который обрабатывается с помощью прямого и обратного преобразований, применение дополнительного масштабного коэффициента является частью процесса преобразования. Коэффициент масштабирования обычно выбирается с учетом некоторых ограничений. Например, масштабный коэффициент представляет собой степень два для операции сдвига, битовой глубины коэффициента преобразования, компромиссом между точностью и затратами на реализацию и т.п. Конкретный коэффициент масштабирования, например, указывается для обратного преобразования, например, блоком 212 обработки обратного преобразования на стороне 30 декодера (и соответствующее обратное преобразование, например, блоком 212 обработки обратного преобразования на стороне кодера 20), и может быть указан соответствующий коэффициент масштабирования для прямого преобразования, например, блоком 206 обработки преобразования на стороне 20 кодера соответственно.

Блок 208 квантования выполнен с возможностью квантовать коэффициенты 207 преобразования для получения квантованных коэффициентов 209 преобразования, например, путем применения скалярного квантования или векторного квантования. Квантованные коэффициенты 209 преобразования могут также называться квантованными остаточными коэффициентами 209. Процесс квантования может уменьшить глубину в битах, ассоциированную с некоторыми или всеми коэффициентами 207 преобразования. Например, n-битовый коэффициент преобразования может быть округлен до m-битового коэффициента преобразования во время квантования, где n больше m. Степень квантования может быть изменена путем настройки параметра квантования (quantization parameter, QP). Например, для скалярного квантования могут применяться разные масштабы для достижения более тонкого или более грубого квантования. Меньший шаг квантования соответствует более тонкому квантованию, тогда как больший шаг квантования соответствует более грубому квантованию. Соответствующий размер шага квантования может быть указан параметром квантования (quantization parameter, QP). Параметр квантования может быть, например, индексом для заданного набора подходящих размеров шагов квантования. Например, меньший параметр квантования может соответствовать более тонкому квантованию (меньшему размеру шага квантования) и больший параметр квантования может соответствовать более грубому квантованию (большему размеру шага квантования) или наоборот. Квантование может включать в себя деление размера шагом квантования и соответствующее квантование и/или обратное квантование, например, выполняемое блоком 210 обратного квантования, или может включать в себя умножение на размер шага квантования. В вариантах осуществления согласно некоторым стандартам, таким как HEVC, параметр квантования может использоваться для определения размера шага квантования. Обычно размер шага квантования может быть вычислен на основании параметра квантования с использованием аппроксимации с фиксированной точкой уравнения, включающего в себя деление. Может быть введен дополнительный коэффициент масштабирования для квантования и деквантования, чтобы восстановить норму остаточного блока, где норма остаточного блока может быть изменена из-за масштаба, используемого в приближении фиксированной точки уравнения для размера шага квантования и параметра квантования. В примерной реализации шкалы обратного преобразования и деквантования могут быть объединены. В качестве альтернативы может использоваться настроенная таблица квантования и сигнализироваться от кодера к декодеру, например, в битовом потоке. Квантование представляет собой операцию с потерями, при которой потери увеличиваются с увеличением размера шага квантования.

Блок 210 обратного квантования выполнен с возможностью применять обратное квантование блока 208 квантования к квантованным коэффициентам для получения деквантованных коэффициентов 211, например, применять на основании или с использованием того же шага квантования, что и блок 208 квантования, обратной схемы квантования схемы квантования, применяемая блоком 208 квантования. Деквантованные коэффициенты 211 также могут упоминаться как деквантованные остаточные коэффициенты 211 и соответствуют, хотя обычно не идентичны, коэффициентам преобразования из-за потери при квантовании, коэффициентам 207 преобразования.

Блок 212 обработки обратного преобразования выполнен с возможностью применять обратное преобразование, применяемое блоком 206 обработки преобразования, например, обратное дискретное косинусное преобразование (discrete cosine transform, DCT) или обратное дискретное синусоидальное преобразование (discrete sine transform, DST), чтобы получить блок 213 обратного преобразования в области выборки. Блок 213 обратного преобразования может также называться блоком 213 деквантования обратного преобразования или остаточным блоком 213 обратного преобразования.

Блок 214 восстановления (например, сумматор 214) выполнен с возможностью добавлять блок 213 обратного преобразования (то есть, восстановленный остаточный блок 213) к блоку 265 предсказания для получения восстановленного блока 215 в области выборки, например, путем добавления значения выборки восстановленного остаточного блока 213 и значения выборки блока 265 предсказания.

Возможно, блок 216 буфера («буфер» 216 для краткости), например, строковый буфер 216, выполнен с возможностью буферизации или хранения восстановленного блока 215 и соответствующего значения выборки, например, для внутреннего предсказания. В других вариантах осуществления кодер может быть выполнен с возможностью использовать нефильтрованный восстановленный блок и/или соответствующее значение выборки, которое храниться/хранятся в блоке 216 буфера, для любого типа оценки и/или предсказания, например, внутреннего предсказания.

Например, вариант осуществления кодера 20 может быть выполнен с возможностью так, что блок 216 буфера не только используется для хранения восстановленного блока 215 для блока 254 внутреннего предсказания, но также используется для блока 220 контурного фильтра (не показан на фиг. 2), и/или так, что, например, блок 216 буфера и блок 230 буфера декодированного изображения образуют один буфер. В других вариантах осуществления фильтрованный блок 221 и/или блок или выборка из буфера 230 декодированного изображения (блок или выборка не показаны на фиг. 2) используется/используются в качестве входных данных или основы для блока 254 внутреннего предсказания.

Блок 220 контурного фильтра (кратко называемый «контурным фильтром» 220) выполнен с возможностью фильтрации восстановленного блока 215 для получения отфильтрованного блока 221, сглаживания перехода между выборками или улучшения качества видео. Блок 220 контурного фильтра предназначен для представления одного или нескольких контурных фильтров, включающие в себя, например, фильтр деблокинга, фильтр смещения с адаптацией к выборке (sample-adaptive offset, SAO) или другой фильтр, такой как двусторонний фильтр, адаптивный контурный фильтр (Adaptive loop filter, ALF), фильтр повышения резкости или сглаживания или совместный фильтр. Хотя блок 220 контурного фильтра показан на фиг. 2 в качестве внутриконтурного фильтра, в другой конфигурации блок 220 контурного фильтра может быть реализован как пост-контурный фильтр. Отфильтрованный блок 221 также может называться фильтрованным восстановленным блоком 221. Буфер 230 декодированного изображения может хранить восстановленный кодированный блок после того, как блок 220 контурного фильтра выполняет операцию фильтрации на восстановленном кодированном блоке.

Вариант осуществления кодера 20 (соответственно, блок 220 контурного фильтра) может быть выполнен с возможностью выводить параметр контурного фильтра (например, информацию об адаптивном смещении выборки), например, непосредственно или после энтропийного кодирования, выполняемого блоком 270 энтропийного кодирования, или любой другой блок энтропийного кодирования, так что, например, декодер 30 может принимать тот же самый параметр контурного фильтра и применять тот же самый параметр контурного фильтра для декодирования.

Буфер 230 декодированных изображений (decoded picture buffer, DPB) может быть памятью опорного изображения, в которой хранятся данные опорных изображений для кодирования видеоданных с помощью кодера 20. DPB 230 может быть сформирован любым из множества запоминающих устройств, например, динамическая память с произвольным доступом (dynamic random access memory, DRAM) (включающую в себя синхронную DRAM (synchronous DRAM, SDRAM), магниторезистивную RAM (magnetoresistive RAM, MRAM) и резистивную RAM (resistive RAM, RRAM)) или другой тип запоминающего устройства. DPB 230 и буфер 216 могут быть предоставлены одним и тем же запоминающим устройством или отдельными запоминающими устройствами. В примере буфер 230 декодированного изображения (decoded picture buffer, DPB) выполнен с возможностью хранить отфильтрованный блок 221. Буфер 230 декодированного изображения может быть дополнительно выполнен с возможностью хранить другой ранее отфильтрованный блок, например, ранее восстановленный и отфильтрованный блок 221, того же текущего изображения или другого изображения, например, ранее восстановленного изображения, и может предоставлять полностью ранее восстановленное изображение, то есть, декодированное изображение (и соответствующий опорный блок и выборку) и/или частично восстановленное текущее изображение (и соответствующий опорный блок и выборку), например, для внешнего предсказания. В одном примере, если восстановленный блок 215 восстанавливается без внутриконтурной фильтрации, буфер 230 декодированного изображения (decoded picture buffer, DPB) выполнен с возможностью хранить восстановленный блок 215.

Блок 260 обработки предсказания, также называемый блоком 260 обработки блока предсказания, выполнен с возможностью принимать или получать блок 203 изображения (текущего блока 203 изображения текущего изображения 201) и данные восстановленного изображения, например, опорные выборки одного и того же (текущее) изображения из буфера 216 и/или данные опорного изображения 231 из одного или более ранее декодированных изображений из буфера 230 декодированного изображения; и обрабатывать такие данные для предсказания, то есть, предоставлять блок 265 предсказания, который может быть блоком 245 внешнего предсказания или блоком 255 внутреннего предсказания.

Блок 262 выбора режима может быть выполнен с возможностью выбирать режим предсказания (например, режим внутреннего предсказания или режим внешнего предсказания) и/или соответствующего блока 245 или 255 предсказания для использования в качестве блока 265 предсказания, чтобы вычислить остаточный блок 205 и восстановить восстановленный блок 215.

Вариант осуществления блока 262 выбора режима может быть выполнен с возможностью выбирать режим предсказания (например, из режимов предсказания, поддерживаемых блоком 260 обработки предсказания), где режим предсказания обеспечивает оптимальное соответствие или минимальное остаточное значение (минимальное остаточное значение означает лучшее сжатие для передачи или хранения), или обеспечивает минимальный объем служебной сигнализации (минимальный объем служебной сигнализации означает лучшее сжатие для передачи или хранения), или учитывает или уравновешивает оба. Блок 262 выбора режима может быть выполнен с возможностью определять режим предсказания на основании оптимизации искажения скорости (rate distortion optimization, RDO), то есть, выбор режима предсказания, который обеспечивает оптимизацию искажения с минимальной скоростью, или выбора режима предсказания, для которого соответствующее искажение скорости, по меньшей мере, удовлетворяет критерию выбора режима предсказания.

Блок 260 обработки предсказания может быть дополнительно выполнен с возможностью разделять блок 203 изображения на более мелкие части или подблоки, например, посредством итеративного использования разделения квадродерева (quad-tree, QT), двоичного дерева (binary-tree, BT), тройного дерева (triple-tree, TT) или любую их комбинацию, а также для выполнения, например, предсказания на каждом из разделов или подблоков блока, где выбор режима включает в себя выбор древовидной структуры разделенного блока 203 изображения и выбор режима предсказания, применяемого к каждому из разделов или подблоков блока.

Блок 244 внешнего предсказания может включать в себя блок оценки движения (motion estimation, ME) (не показан на фиг. 2) и блок компенсации движения (motion compensation, MC) (не показан на фиг. 2). Блок оценки движения выполнен с возможностью принимать или получать блок 203 изображения (блок 203 изображения текущего изображения текущего изображения 201) и декодированного изображения 231 или, по меньшей мере, одного или нескольких ранее восстановленных блоков, например, восстановленного блока или восстановленных блоков одного или нескольких других/различных ранее декодированных изображений 231 для оценки движения. Например, последовательность видео может включать в себя текущее изображение и ранее декодированное изображение 31. Другими словами, текущее изображение и ранее декодированное изображение 31 могут быть частью или формировать последовательность изображений, образующих последовательность видео.

Например, кодер 20 может быть выполнен с возможностью выбирать опорный блок из множества опорных блоков одного и того же изображения или различных изображений из множества других изображений и поставить в блок оценки движения (не показан на фиг. 2) опорное изображение и/или обеспечить смещение (пространственное смещение) между позицией (координаты X и Y), опорного блока и позицию текущего блока в качестве параметра внешнего предсказания. Это смещение также называется вектором движения (motion vector, MV).

Блок компенсации движения выполнен с возможностью получать параметр внешнего предсказания и выполнять внешнее предсказание на основании или с использованием параметра внешнего предсказания, чтобы получить блок 245 внешнего предсказания. Компенсация движения, выполняемая блоком компенсации движения (не показан на фиг. 2) может включать в себя выборку или генерирования блока предсказания на основании вектора/блока движения, определенного посредством оценки движения (возможно, выполнение интерполяции для точности подвыборки). Интерполяционная фильтрация может генерировать дополнительную выборку выборки из известной выборки, тем самым, потенциально увеличивая количество кандидатов блоков предсказания, которые могут использоваться для кодирования блока изображения. После приема вектора движения для PU текущего блока изображения, блок 246 компенсации движения может найти блок предсказания, на который указывает вектор движения, в одном списке опорных изображений. Блок 246 компенсации движения может дополнительно генерировать элементы синтаксиса, ассоциированные с блоком и сегментом видео, для декодирования блока изображения сегмента видео декодером 30.

Блок 254 внутреннего предсказания выполнен с возможностью получать блок 203 изображения (текущего блока изображения) и одного или нескольких ранее восстановленных блоков, например, восстановленных соседних блоков, одного и того же изображения для внутренней оценки. Например, кодер 20 может быть выполнен с возможностью выбирать режим внутреннего предсказания (например, режим предсказания LM) из множества режимов внутреннего предсказания.

Например, для компонента цветности изображения в последовательности видео в H.265 может быть пять режимов внутреннего предсказания для компонента цветности изображения: планарный режим, вертикальный режим, горизонтальный режим, DC режим и производный режим (DM). В стандарте кодирования видео следующего поколения (например, H.266) режимы внутреннего предсказания для компонента цветности изображения дополнительно включают в себя режим перекрестного предсказания компонентов (Cross component prediction, CCP), где перекрестное предсказание компонентов (Cross component prediction, CCP) также называется режимом перекрестного компонентного внутреннего предсказания (Cross component intra prediction, CCIP) или режимом предсказания линейного режима перекрестного предсказания компонентов (CCLM). Режим предсказания CCLM может также кратко называться режимом линейной модели (режим линейной модели, LM режим для краткости). LM режим является способом внутреннего предсказания цветности, использующий корреляцию текстуры между яркостью и цветностью.

Для другого примера, для компонента яркости изображения в последовательности видео существует 35 режимов внутреннего предсказания для компонента яркости в H.265, где 35 режимов внутреннего предсказания включают в себя 33 режима направленного предсказания, DC режим предсказания и режим планарного предсказания. Режим направленного предсказания относится к отображению в конкретном направлении (с использованием флага индекса внутреннего режима) опорной выборки на позицию выборки в текущем блоке для получения значения предсказания текущей выборки или обратного отображения в конкретном направлении (с использованием флага индекса режима внутреннего предсказания) на позицию каждой выборки в текущем блоке на опорную выборку, где значение выборки соответствующей опорной выборки является значением предсказания текущей выборки. В отличие от режима направленного предсказания, DC режим предсказания использует среднее значение опорных выборок в качестве значения предсказания выборки в текущем блоке, и планарный режим использует значения выборок опорных выборок вверху и слева от текущей выборки и значения выборки опорных выборок в верхнем правом и нижнем левом углу текущего блока для совместного получения значения предсказания текущей выборки.

Блок 254 внутреннего предсказания дополнительно выполнен с возможностью определять блок 255 внутреннего предсказания на основании, например, параметра внутреннего предсказания выбранного режима внутреннего предсказания. В любом случае, после выбора режима внутреннего предсказания для блока, блок 254 внутреннего предсказания дополнительно выполнен с возможностью предоставлять параметр внутреннего предсказания, то есть, информацию, указывающую выбранный режим внутреннего предсказания для блока в блок 270 энтропийного кодирования.

В этом варианте осуществления настоящего раскрытия блок 254 внутреннего предсказания может дополнительно включать в себя набор фильтров. Набор фильтров включает в себя множество типов фильтров, разные типы фильтров соответственно представляют разные алгоритмы понижающей дискретизации блока яркости, и каждый тип фильтра соответствует одной позиции выборки цветности. Блок 254 внутреннего предсказания может быть дополнительно выполнен с возможностью: определять позиции выборки цветности текущей последовательности видео; определять на основании позиции выборки цветности тип фильтра, используемый для текущего кодирования; и генерировать информацию указания на основании типа фильтра. Информация указания используется для указания типа фильтра, используемого в процессе понижающей дискретизации изображения яркости в режиме предсказания LM во время кодирования или декодирования текущей последовательности видео (например, во время кодирования или восстановления изображения 201 или блока 203 изображения). Блок 254 внутреннего предсказания дополнительно выполнен с возможностью предоставлять информацию указания типа фильтра в блок 270 энтропийного кодирования.

В частности, блок 254 внутреннего предсказания может передавать элемент синтаксиса в блок 270 энтропийного кодирования, где этот элемент синтаксиса включает в себя параметр внутреннего предсказания (например, информацию указания режима внутреннего предсказания, например, LM режима, который выбран для предсказания для текущего блока после прохождения множества режимов внутреннего предсказания) и информацию указания типа фильтра. В возможном сценарии применения, если существует только один режим внутреннего предсказания, то есть, только режим предсказания LM, параметр внутреннего предсказания может не передаваться в элементе синтаксиса. В этом случае сторона декодера 30 может напрямую использовать режим предсказания LM по умолчанию для декодирования. В одном примере блок 254 внутреннего предсказания может быть выполнен с возможностью выполнять любую комбинацию следующих способов внешнего предсказания.

Блок 270 энтропийного кодирования выполнен с возможностью применять (или обходить) алгоритм энтропийного кодирования или схему (например, схему кодирования с переменной длиной (variable length coding, VLC), контекстно-адаптивного VLC (context adaptive VLC, CAVLC), схему арифметического кодирования, контекстно-адаптивного двоичного арифметического кодирования (context adaptive binary arithmetic coding, CABAC), основанные на синтаксисе контекстно-адаптивного двоичного арифметического кодирования (syntax-based context-adaptive binary arithmetic coding, SBAC), вероятностное энтропийное кодирование с интервальным разбиением (probability interval partitioning entropy, PIPE) или другим способом или способом энтропийного кодирования) по одному или всем из следующего: квантованные коэффициенты 209, параметр внешнего предсказания, параметр внутреннего предсказания и/или параметр контурного фильтра, для получения данных 21 закодированного изображения, которые могут выводиться через выход 272, например, в форме кодированного битового потока. Кодированный битовый поток может быть передан в декодер 30, или заархивированы для последующей передачи или поиска декодером 30. Блок 270 энтропийного кодирования может быть дополнительно выполнен с возможностью энтропийного кодирования другого элемента синтаксиса для текущего сегмента видео, который кодируется.

Другие структурные изменения кодера 20 могут быть выполнены с возможностью кодировать видеопоток. Например, кодер 20, не основанный на преобразовании, может квантовать остаточный сигнал напрямую без блока 206 обработки преобразования для некоторых блоков или кадров. В другой реализации кодер 20 может иметь блок 208 квантования и блок 210 обратного квантования, которые объединены в единый блок.

В частности, в варианте осуществления настоящего раскрытия кодер 20 может быть выполнен с возможностью: устанавливать значение типа фильтра на основании типа позиции выборки блока цветности; генерировать на основании значения первую информацию указания, используемую для указания типа фильтра, где тип фильтра соответствует фильтру в наборе фильтров; и кодировать в битовый поток первую информацию указания как информацию в элементе синтаксиса, где первая информация указания передается в кодированных данных 21 изображения.

В варианте осуществления настоящего раскрытия кодер 20 может быть дополнительно выполнен с возможностью: выбирать LM режим из множества режимов внутреннего предсказания и генерировать вторую информацию указания, где вторая информация указания используется для указания режима линейной модели; и кодировать в битовый поток вторую информацию указания как информацию в элементе синтаксиса, где вторая информация указания передается в кодированных данных 21 изображения.

В варианте осуществления настоящего раскрытия во время построения блока предсказания кодер 20 может быть дополнительно выполнен с возможностью: в LM режиме определять на основании первой информации указания фильтр, который находится в наборе фильтров и который соответствует типу фильтра; выполнять понижающую дискретизацию первого блока яркости с помощью фильтра, чтобы получить второй блок яркости, где первый блок яркости является блоком яркости, соответствующим текущему блоку цветности; получать шаблон выборки цветности и шаблон выборки яркости, где шаблон выборки цветности включает в себя множество соседних выборок цветности текущего блока цветности, и шаблон выборки яркости получается посредством понижающей дискретизации множества соседних выборок яркости первого блока яркости; получать коэффициенты линейной модели на основании шаблона выборки цветности и шаблона выборки яркости; и получать значение предсказания текущего блока цветности на основании второго блока яркости и коэффициентов линейной модели.

Фиг. 3 является схематической/концептуальной блок-схемой примерного декодера 30, выполненного с возможностью реализации варианта осуществления настоящего раскрытия. Декодер 30 выполнен с возможностью принимать данных 21 закодированного изображения, например, полученные посредством кодирования кодером 20, для получения декодированного изображения 231. Во время декодирования декодер 30 принимает видеоданные из кодера 20, например, закодированное видео битового потока, представляющий блок изображения кодированного сегмента видео и ассоциированный с ним элемент синтаксиса.

В примере на фиг. 3, декодер 30 включает в себя блок 304 энтропийного декодирования, блок 310 обратного квантования, блок 312 обработки обратного преобразования, блок 314 восстановления (например, сумматор 314), буфер 316, контурный фильтр 320, буфер 330 декодированных изображений и блок 360 обработки предсказания. Блок 360 обработки предсказания может включать в себя блок 344 внешнего предсказания, блок 354 внутреннего предсказания и блок 362 выбора режима. В некоторых примерах декодер 30 может выполнять процесс декодирования, который примерно является обратным процессу кодирования, описанному со ссылкой на кодер 20 на фиг. 2.

Блок 304 энтропийного декодирования выполнен с возможностью выполнять энтропийное декодирование кодированных данных 21 изображения, чтобы получить, например, квантованные коэффициенты 309 и/или декодированные параметры кодирования (не показаны на фиг. 3), например, любого из или все из параметра внешнего предсказания, параметра внутреннего предсказания, параметра контурного фильтра и/или другого элемента синтаксиса (которые декодируются). Блок 304 энтропийного декодирования дополнительно выполнен с возможностью пересылать параметр внешнего предсказания, параметр внутреннего предсказания и/или другой элемент синтаксиса в блок 360 обработки предсказания. Декодер 30 может принимать элемент синтаксиса на уровне сегмента видео и/или уровне блока видео.

Блок 310 обратного квантования может иметь ту же функцию, что и блок 210 обратного квантования. Блок 312 обработки обратного преобразования может иметь ту же функцию, что и блок 212 обработки обратного преобразования. Блок 314 восстановления может иметь ту же функцию, что и блок 214 восстановления. Буфер 316 может иметь ту же функцию, что и буфер 216. Контурный фильтр 320 может иметь ту же функцию, что и контурный фильтр 220. Буфер 330 декодированного изображения может иметь ту же функцию, что и буфер 230 декодированного изображения.

Блок 360 обработки предсказания может включать в себя блок 344 внешнего предсказания и блок 354 внутреннего предсказания. Блок 344 внешнего предсказания может быть аналогичен блоку 244 внешнего предсказания по функциям и блок 354 внутреннего предсказания может быть аналогичен блоку 254 внешнего предсказания в функциях. Блок 360 обработки предсказания обычно выполнен с возможностью выполнять предсказание блока и/или получения блока 365 предсказания из закодированных данных 21, а также принимать или получать (явно или неявно) параметр, относящийся к предсказанию, и/или информацию о выбранном режиме предсказания, например, из блока 304 энтропийного декодирования.

Когда сегмент видео кодируется как сегмент с внутренним кодированием (I), блок 354 внутреннего предсказания блока 360 обработки предсказания выполнен с возможностью генерировать блок 365 предсказания для блока изображения текущего сегмента видео на основании сигнализированного режима внутреннего предсказания и данных из ранее декодированного блока текущего кадра или изображения. Когда видеокадр кодируется как сегмент с внешним предсказанием (B или P), блок 344 внешнего предсказания (например, блок компенсации движения) блока 360 обработки предсказания выполнен с возможностью генерировать блок 365 предсказания для блока видео текущего сегмента видео на основании вектора движения и другого элемента синтаксиса, который принимается из блока 304 энтропийного декодирования. Для внешнего предсказания блок предсказания может быть сгенерирован из одного из опорных изображений в одном списке опорных изображений. Декодер 30 может формировать списки опорных кадров: список 0 и список 1, с использованием технологии формирования по умолчанию, основанную на опорный кадре, хранящимся в DPB 330.

Блок 360 обработки предсказания выполнен с возможностью определять информацию предсказания для блока видео текущего сегмента видео путем анализа вектора движения и другого элемента синтаксиса и использования информации предсказания для генерирования блока предсказания для текущего блока видео, который декодируется. Например, блок 360 обработки предсказания использует некоторые из принятых элементов синтаксиса для определения режима предсказания (например, внутреннее предсказание или внешнее предсказание), используемого для кодирования блока видео сегмента видео, типа сегмента с внешним предсказанием (например, B-сегмент, P-сегмент или GPB-сегмент), информации формирования одного или нескольких списков опорных изображений для сегмента, вектора движения для каждого блока видео с внешним предсказанием сегмента, статуса внешнего предсказания для каждого блока видео с внешним предсказанием сегмента и другой информации для декодирования блока видео текущего сегмента видео.

Блок 310 обратного квантования может быть выполнен с возможностью обратного квантования (то есть, обратного квантования) квантованного коэффициента преобразования, предоставленного в битовом потоке и декодированного блоком 304 энтропийного декодирования. Процесс обратного квантования может включать в себя: использование параметра квантования, вычисленного кодером 20 для каждого блока видео в сегменте видео для определения степени квантования, которую следует применять, и аналогичным образом для определения степени обратного квантования, которая должна применяться.

Блок 312 обработки обратного преобразования выполнен с возможностью применять обратное преобразование (например, обратное DCT, обратное целочисленное преобразование или концептуально аналогичный процесс обратного преобразования) к коэффициенту преобразования для генерирования остаточного блока в области выборки.

Блок 314 восстановлением (например, сумматор 314) выполнен с возможностью добавлять блок 313 обратного преобразования (то есть, восстановленного остаточного блока 313) к блоку 365 предсказания, чтобы получить восстановленный блок 315 в области выборки, например, путем добавления значения выборки восстановленного остаточного блока 313 и значения выборки блока 365 предсказания.

Блок 320 контурного фильтра (во время цикла кодирования или после цикла кодирования) выполнен с возможностью фильтрации восстановленного блока 315 для получения отфильтрованного блока 321, сглаживания перехода между выборками или улучшения качества видео. В одном примере блок 320 контурного фильтра может быть выполнен с возможностью выполнять любую комбинацию способов фильтрации, описанных ниже. Блок 320 контурного фильтра предназначен для представления одного или нескольких контурных фильтров, включающие в себя, например, фильтр деблокинга, фильтр смещения с адаптацией к выборке (sample-adaptive offset, SAO) или другой фильтр, такой как двусторонний фильтр, адаптивный контурный фильтр (Adaptive loop filter, ALF), фильтр повышения резкости или сглаживания или коллективный фильтр. Хотя блок 320 контурного фильтра показан на фиг. 3 в качестве контурного фильтра, в другой конфигурации блок 320 контурного фильтра может быть реализован как пост-контурный фильтр.

Декодированный блок 321 видео в заданном кадре или изображениях затем сохраняется в буфере декодированного изображения 330, который хранит опорное изображение, используемое для последующей компенсации движения.

Декодер 30 выполнен с возможностью, например, выводить декодированное изображение 31 через выход 332 для представления пользователю или просмотра пользователем.

Другие варианты декодера 30 могут быть выполнены с возможностью декодировать сжатый битовый поток. Например, декодер 30 может генерировать выходной видеопоток без блока 320 контурного фильтра. Например, декодер 30 без преобразования может обратно квантовать остаточный сигнал напрямую без блока 312 обработки обратного преобразования для некоторых блоков или кадров. В другой реализации декодер 30 может иметь блок 310 обратного квантования и блок 312 обработки обратного преобразования, которые объединены в единый блок.

В частности, в варианте осуществления настоящего изобретения декодер 30 выполнен с возможностью: выполнять синтаксический анализ битового потока для получения первой информации указания и второй информации указания, где вторая информация указания используется для указания, что режим внутреннего предсказания, используемый для декодирования блока цветности в настоящее время является LM режимом, и первая информация указания используется для указания типа фильтра; выполнять понижающую дискретизацию первого блока яркости с использованием фильтра, соответствующего типу фильтра, чтобы получить второй блок яркости, где первый блок яркости является блоком яркости, соответствующим текущему блоку цветности; получить шаблон выборки цветности и шаблон выборки яркости, где шаблон выборки цветности включает в себя множество соседних выборок цветности текущего блока цветности и шаблон выборки яркости получается посредством понижающей дискретизации множества соседних выборок яркости первого блока яркости; получить коэффициенты линейной модели на основании шаблона выборки цветности и шаблона выборки яркости; и получить значение предсказания текущего блока цветности на основании второго блока яркости и коэффициентов линейной модели.

Фиг. 4 является схематической структурной схемой устройства 400 для кодирования видео (например, устройство 400 для кодирования видео или устройство 400 для декодирования видео) согласно варианту осуществления настоящего раскрытия. Устройство 400 для кодирования видео подходит для реализации варианта осуществления, описанного в этой спецификации. В варианте осуществления устройство 400 для кодирования видео может быть видеодекодером (например, декодером 30 на фиг. 1A) или видеокодером (например, кодером 20 на фиг. 1A). В другом варианте осуществления устройство 400 для кодирования видео может быть одним или несколькими компонентами декодера 30 на фиг. 1A или кодером 20 на фиг. 1А.

Устройство 400 для кодирования видео включает в себя: входные порты 410 и блок 420 приемника (Rx), которые выполнены с возможностью принимать данные; процессор, логический блок или центральный процессор (CPU) 430, который выполнен с возможностью обработки данных; передатчик (Tx) 440 и выходные порты 450, которые выполнены с возможностью передавать данные; и память 460, выполненную с возможностью хранить данные. Устройство 400 для кодирования видео может дополнительно включать в себя оптико-электрический компонент и электрический оптический (EO) компонент, которые подключены к входным портам 410, блоку 420 приемника, блоку 440 передатчика и выходным портам 450, для вывода или ввода оптического или электрического сигнала.

Процессор 430 реализован с использованием аппаратного и программного обеспечения. Процессор 430 может быть реализован как одна или более микросхем CPU, ядер (например, многоядерных процессоров), FPGA, ASIC и DSP. Процессор 430 обменивается данными с входными портами 410, блоком 420 приемника, блоком 440 передатчика, выходными портами 450 и памятью 460. Процессор 430 включает в себя модуль 470 кодирования (например, модуль 470 кодирования или модуль 470 декодирования). Модуль 470 кодирования/декодирования реализует варианты осуществления, раскрытые в этом описании, для реализации способа предсказания блока цветности, предусмотренного в вариантах осуществления настоящего раскрытия. Например, модуль 470 кодирования/декодирования реализует, обрабатывает или обеспечивает различные операции кодирования. Следовательно, использование модуля 470 кодирования/декодирования обеспечивает существенное улучшение функций устройства 400 для кодирования видео и влияет на переключение устройства 400 для кодирования видео в другое состояние. В качестве альтернативы модуль 470 кодирования/декодирования реализован как инструкции, хранящиеся в памяти 460 и выполняемые процессором 430.

Память 460 включает в себя один или более дисков, ленточных накопителей и твердотельных накопителей и может использоваться в качестве устройства хранения данных переполнения, для хранения программ, когда такие программы выборочно выполняются, и для хранения инструкций и данных, которые считываются во время выполнения программы. Память 460 может быть энергозависимой и/или энергонезависимой и может быть постоянным запоминающим устройством (ROM), памятью с произвольным доступом (RAM), троичной памятью с адресацией по содержанию (ternary content-addressable memory, TCAM) и/или статической оперативной памятью (SRAM).

Фиг. 5 представляет собой упрощенную блок-схему устройства 500, которое может использоваться как одно или два из устройства 12 источника и устройства 14 назначения на фиг. 1A согласно примерному варианту осуществления. Устройство 500 может реализовывать технологии в настоящем изобретении. Устройство 500 для предсказания блока цветности может быть в форме вычислительной системы, включающей в себя множество вычислительных устройств, или может быть в форме одного вычислительного устройства, такого как мобильный телефон, планшетный компьютер, портативный компьютер или настольный компьютер.

Процессор 502 в устройстве 500 может быть центральным блоком обработки. Альтернативно, процессор 502 может быть любым другим типом одного или нескольких существующих/разрабатываемых в будущем устройств, выполненным с возможностью управлять или обрабатывать информацию. Как показано на чертеже, хотя раскрытые реализации могут быть реализованы на практике с использованием одного процессора, такого как процессор 502, преимущества в скорости и эффективности могут быть достигнуты с использованием более чем одного процессора.

В реализации, память 504 в устройстве 500 может быть постоянным запоминающим устройством (Read Only Memory, ROM) или устройством с произвольным доступом (random access memory, RAM). В качестве памяти 504 может использоваться любой другой подходящий тип запоминающего устройства. Память 504 может включать в себя код и данные 506, к которым обращается процессором 502 через шину 512. Память 504 может дополнительно включать в себя операционную систему 508 и прикладные программы 510. Прикладные программы 510 включают в себя, по меньшей мере, одну программу, которая позволяет процессору 502 выполнять способы, описанные в этой спецификации. Например, прикладные программы 510 могут включать в себя приложения с 1 по N, и приложения с 1 по N дополнительно включают в себя приложение кодирования видео, которое выполняет способ, описанный в этой спецификации. Устройство 500 может дополнительно включать в себя дополнительную память в форме вторичной памяти 514. Вторичная память 514 может быть, например, картой памяти, используемой вместе с мобильным вычислительным устройством. Поскольку сеанс видеосвязи может содержать большой объем информации, вся или часть информации может храниться во вторичной памяти 514 и загружаться, при необходимости, в память 504 для обработки.

Устройство 500 может дополнительно включать в себя одно или более устройств вывода, например, дисплей 518. В примере дисплей 518 может быть сенсорным дисплеем, который объединяет дисплей и сенсорный элемент, который оперативно распознает ввод. Дисплей 518 может быть соединен с процессором 502 через шину 512. Другое устройство вывода, которое позволяет пользователю программировать устройство 500 или использовать устройство 500 другим способом, может быть предоставлено в дополнение к дисплею 518 или в качестве альтернативы ему. Когда устройство вывода представляет собой или включает в себя дисплей, отображение может быть реализовано различными способами, в том числе с использованием жидкокристаллического дисплея (liquid crystal display, LCD), дисплея с электронно-лучевой трубкой (cathode-ray tube, CRT), плазменный дисплей или светоизлучающий диод (light emitting diode, LED), например, дисплей с органическим светодиодом (organic LED, OLED).

Устройство 500 может дополнительно включать в себя устройство 520 формирования изображения или быть связано с устройством 520 формирования изображения. Устройство 520 формирования изображения представляет собой, например, камеру или любое другое существующее/разрабатываемое в будущем устройство 520 формирования изображения, выполненное с возможностью формировать изображение. Изображение представляет собой, например, изображение пользователя, который запускает устройство 500. Устройство 520 формирования изображений может быть размещено так, чтобы оно было обращено непосредственно к пользователю, который запускает устройство 500. В примере, положение и оптическая ось изображения устройства 520 формирования изображения может быть сконфигурировано так, что поле обзора устройства 520 формирования изображения включает в себя область, соседнюю с дисплеем 518, и дисплей 518 виден из этой области.

Устройство 500 может дополнительно включать в себя устройство 522 обнаружения звука или быть связано с устройством 522 обнаружения звука. Устройство 522 обнаружения звука представляет собой, например, микрофон или любое другое существующее/разрабатываемое в будущем устройство обнаружения звука, выполненное с возможностью отправлять звук рядом с устройством 500. Устройство 522 обнаружения звука может быть размещено непосредственно перед лицом пользователя, который запускает устройство 500, и может быть выполнено с возможностью принимать звук, например, голос или другой звук, издаваемый, когда пользователь запускает устройство. 500.

Хотя фиг. 5 изображает процессор 502 и память 504 устройства 500 как интегрированные в единый блок, возможна другая конфигурация. Реализация процессора 502 может быть распределена по множеству машин (каждая машина имеет один или более процессоров), которые могут быть напрямую связаны друг с другом или распределены в локальном регионе или другой сети. Память 504 может быть распределена между множеством машин, например, память 504 является сетевой памятью или памятью множества машин, на которых работает устройство 500. Хотя здесь изображена только одна шина, шина 512 устройства 500 может включать в себя множество шин. Кроме того, вторичная память 514 может быть напрямую связана с другими компонентами устройства 500 или может быть доступна через сеть. Вторичная память 514 может включать в себя один интегрированный блок, такой как карта памяти, или множество блоков, например, множество карт памяти. Следовательно, устройство 500 может быть реализовано в широком разнообразии конфигураций.

Чтобы лучше понять технические решения в вариантах осуществления настоящего раскрытия, нижеследующее дополнительно описывает изображение YUV (или называемое изображением YCbCr) и LM режим для внутреннего предсказания для компонента цветности в вариантах осуществления настоящего раскрытия.

Существующее видео обычно является цветным видео. В дополнение к компоненту (Y) яркости цветное видео дополнительно включает в себя компоненты (U, V) цветности. Поэтому такое изображение также называют изображением YUV. В этом случае кодирование YUV изображения включает в себя не только кодирование компонента яркости, но также кодирование компонентов цветности. Исследования показывают, что человеческие глаза более чувствительны к яркости, чем к цвету. Следовательно, во время кодирования для экономии места для хранения и повышения эффективности кодирования компонент яркости дискредитируется с полным разрешением и компонент цветности не может дискредитироваться с полным разрешением. Согласно различным способам выборки для компонента яркости и компонентов цветности в цветном видео, как правило, есть изображение YUV в формате 4:4:4, изображение YUV в формате 4:2:2, изображение YUV в формате 4:2:0 и т.п. в последовательности видео. Фиг. 6 показаны примеры формата 4:4:4, формата 4:2:2 и формата 4:2:0, где крестик (×) на чертеже представляет выборку компонента яркости, и знак круга (○) на чертеже представляет собой выборку компонента цветности.

Формат 4:4:4 указывает, что понижающая дискретизация не выполняется для компонента цветности и формат 4:4:4 является форматом с наивысшим разрешением компонента цветности. Другими словами, данные в четырех соседних выборках включают в себя четыре компонента Y, четыре компонента U и четыре компонента V.

Формат 4:2:2 указывает, что горизонтальная понижающая дискретизация 2:1 выполняется для компонента цветности относительно компонента яркости, и вертикальная понижающая дискретизация не выполняется. Для каждых двух выборок U или каждых двух выборок V каждая строка включает в себя четыре Y выборки. Другими словами, данные в четырех соседних выборках включают в себя четыре компонента Y, два компонента U и два компонента V.

Формат 4:2:0 указывает, что выполняется понижающая дискретизация по горизонтали 2:1 и понижающая дискретизация по вертикали 2:1 для компонента цветности относительно компонента яркости. Формат 4:2:0 является форматом с самым низким разрешением компонента цветности и является наиболее распространенным форматом. В формате 4:2:0 количество выборки цветности составляет только половину количества выборки яркости в каждой строке (то есть, в горизонтальном направлении) и только половину количества выборки яркости в каждом столбце (то есть, в вертикальном направлении). Когда видеоизображение использует формат 4:2:0, если компонент яркости блока изображения является блоком изображения размером 2M*2N, компонент цветности блока изображения является блоком изображения размером M*Н. Например, если разрешение блока изображения составляет 720*480, разрешение компонента яркости блока изображения составляет 720*480 и разрешение компонента цветности блока изображения составляет 360*240.

Для формата 4:2:0 может быть шесть различных типов позиции выборки цветности на основании разных позиций выборки цветности. Фиг. 7 показывает примерные отношения между позицией выборки яркости для выборки яркости и шестью различными типами позиции выборки цветности для выборки цветности. Шесть различных типов позиции выборки цветности: тип 0 (type0), тип 1 (type1), тип 2 (type2), тип 3 (type3), тип 4 (type4) и тип 5 (type5).

В этом описании изображение YUV в формате 4:2:0 используется в качестве примера для описания технических решений в вариантах осуществления настоящего раскрытия. В этой спецификации компонент яркости текущего блока изображения, который должен быть обработан, также может называться блоком яркости (или называться блоком яркости, соответствующим текущему блоку цветности, первому блоку яркости, блоку компонента яркости или блоку яркости), и компонент цветности текущего подлежащего обработке блока изображения, также может называться текущим блоком цветности (или называться блоком цветности, блоком компонента цветности или блоком цветности).

Подобно внутреннему предсказанию для компонента яркости, внутреннее предсказание для компонента цветности использует граничную выборку соседнего восстановленного блока вокруг текущего блока цветности в качестве опорной выборки текущего блока цветности, отображает опорную выборку на выборку в текущем блоке цветности в конкретном режиме предсказания и использует значение отображенной опорной выборки в качестве значения предсказания выборки в текущем блоке цветности. Различие заключается в том, что количество режимов внутреннего предсказания для компонента цветности обычно меньше количества режимов внутреннего предсказания для компонента яркости, поскольку текстура компонента цветности обычно относительно проста. Например, в H.265 может быть только пять режимов внутреннего предсказания для компонента цветности: планарный режим, вертикальный режим, горизонтальный режим, DC режим и производный режим (DM). В стандарте кодирования видео следующего поколения (например, H.266) режимы внутреннего предсказания для компонента цветности дополнительно включают в себя режим перекрестного предсказания компонентов (Cross component prediction, CCP).

Следует понимать, что в различных сценариях приложений CCP режим может также называться режимом перекрестного компонентного внутреннего предсказания (Cross component intra prediction, CCIP) или линейным режимом перекрестного предсказания компонентов (cross component liner mode, CCLM), или кратко называемый режимом линейной модели (liner model mode, LM режим). LM режим используется в качестве примера для описания в этой спецификации.

LM режим представляет собой способ внутреннего предсказания цветности, использующий корреляцию текстуры между яркостью и цветностью. В LM режиме используется восстановленная составляющая яркости для получения значения предсказания текущего блока цветности на основании линейной модели, тем самым, обеспечивая более точное значение предсказания для компонента цветности. LM режим можно выразить следующей формулой:

α и β представляют коэффициенты линейной модели; представляет значение предсказания выборки цветности на позиции (i, j); и представляет значение восстановленной выборки яркости на позиции (i, j), полученное после того, как блок яркости, соответствующий текущему блоку цветности, подвергается понижающей дискретизации до разрешения компонента цветности. Для последовательности видео в формате 4:2:0 разрешение компонента яркости в четыре раза больше разрешения компонента цветности. Для получения блока яркости с тем же разрешением, что и блок цветности, компонент яркости перед использованием должен быть подвергнут понижающей дискретизации до разрешения компонента цветности с использованием того же способа понижающей дискретизации компонента цветности.

Фиг. 8 используется в качестве примера. Фиг. 8 показывает в изображении YUV в формате 4:2:0 блок яркости (то есть, компонент яркости блока изображения), соответствующий текущему блоку цветности и соседним верхним опорным выборкам и соседним левым опорным выборкам яркости, блок с пониженной дискретизацией блока яркости (то есть, компонент с пониженной дискретизацией яркости блока изображения, или называемый вторым блоком яркости) и соседние верхние восстановленные опорные выборки и соседние левые восстановленные опорные выборки блока с пониженной дискретизацией яркости, и текущий блок цветности (то есть, компонент цветности блока изображения) и соседние верхние восстановленные опорные выборки и соседние левые восстановленные опорные выборки текущего блока цветности. Разрешение блока яркости, соответствующего текущему блоку цветности, составляет 2W*2H, разрешение блока с пониженной дискретизацией яркости составляет W*H и разрешение текущего блока цветности составляет W*H. Другими словами, блок яркости и соседняя опорная выборка блока яркости подвергаются пониженной дискретизации до разрешения компонента цветности, так что может быть получен блок с пониженной дискретизацией яркости. Существует взаимно однозначное соответствие между соседней опорной выборкой блока с пониженной дискретизацией яркости и соседней опорной выборкой текущего блока цветности.

Со ссылкой на фиг. 9 и фиг. 10, этом варианте осуществления настоящего раскрытия, для простоты понимания, соседняя верхняя сторона и соседняя левая сторона, которые используются для вычисления коэффициентов линейной модели, могут упоминаться как шаблоны (template). Шаблон представляет собой набор выборок яркости или набор выборок цветности, используемых для вычисления коэффициентов линейной модели. Набор выборок яркости (luma sample), используемый для вычисления коэффициентов линейной модели, также может упоминаться как шаблон выборки яркости. Шаблон выборки яркости получается путем выполнения операции понижающей дискретизации на множестве соседних выборок яркости блока яркости (поскольку в изображении яркости может не быть значения выборки яркости на позиции, соответствующей шаблону выборки цветности). Набор выборок цветности (chroma sample), используемый для вычисления коэффициентов линейной модели, также может называться шаблоном выборки цветности. Шаблон выборки цветности включает в себя множество соседних восстановленных выборок цветности текущего блока цветности.

В возможном варианте осуществления шаблон выборки цветности, в частности, включает в себя одну или более строк соседних верхних выборок цветности текущего блока цветности и один или более столбцов соседних левых выборки цветности текущего блока цветности. Шаблон выборки яркости взаимно однозначно соответствует шаблону выборки цветности, и значение выборки в шаблоне выборки яркости и значение эталона в шаблоне выборки цветности составляют пару значений.

Например, на фиг. 9, шаблон выборки цветности включает в себя одну строку из соседних верхних выборок цветности и один столбец из соседних левых выборок цветности текущего блока цветности. Соответственно, шаблон выборки яркости включает в себя одну строку выборки яркости и один столбец левых выборок яркости, где одна строка выборок яркости и один столбец левых выборок яркости соответствуют позициям выборок цветности в шаблоне выборки цветности.

Например, как показано на фиг. 10, в примере, шаблон выборки цветности включает в себя две строки соседних верхних выборок цветности и два столбца соседних левых выборок цветности текущего блока цветности. Соответственно, шаблон выборки яркости включает в себя две строки выборок яркости и два столбца выборок яркости, где две строки выборок яркости и два столбца выборок яркости соответствуют позициям выборок цветности в шаблоне выборки цветности.

Конечно, могут существовать различные конкретные реализации шаблона выборки цветности и шаблона выборки яркости. В другом примере шаблон выборки цветности может включать в себя только один или более столбцов соседних левых выборок цветности текущего блока цветности. Шаблон выборки яркости включает в себя только один или более столбцов выборок яркости и шаблон выборок яркости один к одному соответствуют шаблону выборок цветности. В еще одном примере шаблон выборки цветности может альтернативно включать в себя только одну или более строк из соседних верхних выборок цветности текущего блока цветности. Шаблон выборки яркости включает в себя только одну или более строк выборок яркости и шаблон выборок яркости один к одному соответствуют шаблону выборок цветности.

Как описано выше, шаблон выборки яркости получается посредством выполнения операции понижающей дискретизации (down sampling) для множества соседних выборок яркости блока яркости. Ниже описывается пример способа для выполнения операции понижающей дискретизации для шаблона выборки яркости.

Фиг. 11 является примерной схемой взаимосвязи между некоторыми позициями выборок цветности и некоторыми позициями выборок яркости. Для YUV изображения в формате 4:2 0, если верхняя левая вершина изображения яркости используется в качестве начала координат выборки яркости и верхняя левая вершина изображения цветности используется как начало координат для выборки цветности, позиция (xb, yb) выборки в изображении цветности, которая соответствует позиции в изображении яркости, равна (2*xb, 2*yb + 0,5). Чтобы получить значение выборки яркости в шаблоне выборки яркости, то есть, значение выборки яркости, соответствующее позиции (xb, yb) выборки, сначала может быть выбрано множество соседних выборок яркости блока яркости. Например, позиции выборки множества соседних выборок яркости блока яркости являются: (2*xb, 2*yb), (2*xb - 1, 2*yb), (2*xb + 1, 2*yb), (2*xb, 2*yb + 1), (2*xb - 1, 2*yb + 1) и (2*xb + 1, 2*yb + 1), значение на позиции (2*xb, 2*yb + 0,5) выводится на основании значений выборки яркости в изображении яркости, которые соответствуют этим позициям, и значение используется как значение выборки яркости, соответствующей позиции (xb, yb) выборки.

Например, в примере вычисление понижающей дискретизации может выполняться на множестве выборок яркости согласно следующей формуле, чтобы получить значение LC (xb, yb) выборки яркости, соответствующее позиции (xb, yb) выборки в шаблоне выборки яркости:

LC(xb, yb) = (2*L(2*xb, 2*yb) + L(2*xb-1, 2*yb) + L(2*xb+1, 2*yb) + 2*L(2*xb, 2*yb+1) + L(2*xb-1, 2*yb+1) + L(2*xb+1, 2*yb+1) + 4)>>3

где символ «>>» обозначает движение вправо.

Можно понять, что для значений других выборок (xb + 1, yb - 1), …, (xb + i, yb - 1) … и (xb - 1, yb) , …, и (xb - 1, yb + j) яркости в шаблоне выборки яркости текущего блока понижающая дискретизация также может выполняться с использованием того же способа понижающей дискретизации.

Следует отметить, что понижающая дискретизация в существующем способе дискретизации выполняется на основании фиксированного фильтра. В частности, для изображений в различных последовательностях видео в существующем LM режиме используется фиксированный фильтр понижающей дискретизации независимо от позиции выборки цветности, но, в случае, когда на практике в разных последовательностях видео могут существовать разные позиции выборки цветности, различные позиции выборки цветности в фильтре понижающей дискретизации яркости не учитываются. Если позиция понижающей дискретизации яркости несовместима с позицией выборки цветности, коэффициенты α и β модели LM, полученные в соответствии с формулой модели LM, являются неточными, и и позиция выборки цветности не выровнены. Следовательно, эффективность кодирования снижается.

С целью устранения вышеупомянутых недостатков, повышения точности предсказания для блока цветности в LM режиме и повышения эффективности кодирования, вариант осуществления настоящего раскрытия обеспечивает на основании вышеописанной системы и устройства способ предсказания блока цветности, используемый в LM режиме. Во-первых, способ описывается с точки зрения кодера. Со ссылкой на фиг. 12, способ включает в себя, но не ограничивается следующими этапами.

Этап 701: определить, что режим внутреннего предсказания, используемый для предсказания для текущего блока цветности, является LM режимом.

В конкретной реализации сторона кодера может предварительно установить только LM режим для внутреннего предсказания. Другими словами, в этом случае сторона кодера напрямую определяет, что текущий используемый режим внутреннего предсказания является LM режимом, и затем продолжает выполнять этапы 702-704.

В другой конкретной реализации сторона кодера может предварительно установить множество режимов внутреннего предсказания, где множество режимов внутреннего предсказания включает в себя LM режим; и сторона кодера просматривает множество режимов внутреннего предсказания и определяет, что оптимальным режимом внутреннего предсказания для текущего блока цветности является LM режим. В этом случае сторона кодера начинает выполнение последующих этапов, таких как этапы 702-704.

Дополнительно, сторона кодера может дополнительно установить вторую информацию указания, где вторая информация указания используется для указания LM режима, так что вторая информация указания кодируется в битовый поток на последующем этапе 704.

Этап 702: определить тип фильтра на основании типа позиции выборки текущего блока цветности.

Другими словами, в реализации этого варианта осуществления настоящего раскрытия, когда текущий блок предсказания цветности в LM режиме, используемый фильтр понижающей дискретизации яркости не фиксируется, и определяется на основании типа позиции выборки текущего блока цветности. Каждый тип позиции выборки текущего блока цветности соответствует типу фильтра.

В конкретном варианте осуществления настоящего раскрытия могут быть разработаны шесть типов позиций выборки (такая структура может упоминаться как структура 1). Как показано на фиг. 7, шесть типов позиций выборки включают в себя: тип 0, тип 1, тип 2, тип 3, тип 4 и тип 5. Соответственно, существует шесть типов фильтров понижающей дискретизации яркости, соответствующих шести типам позиций выборки: фильтр 0, фильтр 1, фильтр 2, фильтр 3, фильтр 4 и фильтр 5. В примере алгоритмы понижающей дискретизации этих фильтров могут быть установлены отдельно следующим образом.

Для фильтра 0:

LC(xb, yb) = (2*L(2*xb, 2*yb) + L(2*xb-1, 2*yb) + L(2*xb+1, 2*yb) + 2*L(2*xb, 2*yb+1) + L(2*xb-1, 2*yb+1) + L(2*xb+1, 2*yb+1) + 4)>>3

Для фильтра 1:

LC(xb, yb) = (L(2*xb, 2*yb) + L(2*xb+1, 2*yb) + L(2*xb, 2*yb+1) + L(2*xb+1, 2*yb+1) + 2)>>2

Для фильтра 2:

LC(xb, yb) = (4*L(2*xb, 2*yb) + 2*L(2*xb, 2*yb+1) + 2*L(2*xb, 2*yb-1) + 2*L(2*xb-1, 2*yb) + 2*L(2*xb+1, 2*yb) + L(2*xb+1, 2*yb+1) + L(2*xb-1, 2*yb+1) + L(2*xb-1, 2*yb-1) + L(2*xb+1, 2*yb-1) + 8)>>4

Для фильтра 3:

LC(xb, yb) = (2*L(2*xb, 2*yb) + 2*L(2*xb+1, 2*yb) + L(2*xb, 2*yb-1) + L(2*xb+1, 2*yb-1) + L(2*xb, 2*yb+1) + L(2*xb+1, 2*yb+1) + 4)>>3

Для фильтра 4:

LC(xb, yb) = (4*L(2*xb, 2*yb+1) + 2*L(2*xb, 2*yb+2) + 2*L(2*xb, 2*yb) + 2*L(2*xb-1, 2*yb+1) + 2*L(2*xb+1, 2*yb+1) + L(2*xb+1, 2*yb+2) + L(2*xb-1, 2*yb+2) + L(2*xb-1, 2*yb) + L(2*xb+1, 2*yb) + 8)>>4

Для фильтра 5:

LC(xb, yb) = (2*L(2*xb, 2*yb+1) + 2*L(2*xb+1, 2*yb+1) + L(2*xb, 2*yb) + L(2*xb+1, 2*yb) + L(2*xb, 2*yb+2) + L(2*xb+1, 2*yb+2) + 4)>>3

Следует отметить, что алгоритмы понижающей дискретизации фильтров являются просто примерами, а не ограничениями.

В другом конкретном варианте осуществления настоящего раскрытия считается, что позиции выборки цветности: тип 0 и тип 2 являются наиболее распространенными в настоящее время, и в качестве альтернативы могут быть разработаны два типа позиций выборки (такая структура может называться структурой 2). Другими словами, два типа позиции выборки включают в себя только тип 0 и тип 2. Соответственно, существует два типа фильтров понижающей дискретизации яркости, фильтр 0 и фильтр 2, соответствующие двум типам позиции выборки. В одном примере алгоритмы понижающей дискретизации этих фильтров могут быть отдельно установлены следующим образом.

Для фильтра 0:

LC(xb, yb) = (2*L(2*xb, 2*yb) + L(2*xb-1, 2*yb) + L(2*xb+1, 2*yb) + 2*L(2*xb, 2*yb+1) + L(2*xb-1, 2*yb+1) + L(2*xb+1, 2*yb+1) + 4)>>3

Для фильтра 2:

LC(xb, yb) = (4*L(2*xb, 2*yb) + 2*L(2*xb, 2*yb+1) + 2*L(2*xb, 2*yb-1) + 2*L(2*xb-1, 2*yb) + 2*L(2*xb+1, 2*yb) + L(2*xb+1, 2*yb+1) + L(2*xb-1, 2*yb+1) + L(2*xb-1, 2*yb-1) + L(2*xb+1, 2*yb-1) + 8)>>4

Следует отметить, что алгоритмы понижающей дискретизации фильтров являются просто примерами, а не ограничениями.

Кроме того, следует отметить, что, помимо двух вышеупомянутых структур, этот вариант осуществления настоящего раскрытия может альтернативно включать в себя другую структуру. Например, разработаны три позиции выборки цветности, и три позиции выборки цветности соответственно соответствуют трем типам фильтров. Здесь это не ограничивается.

Таким образом, сторона кодера может сначала определить тип позиции выборки текущего блока цветности, и затем определить соответствующий тип фильтра на основании типа позиции выборки текущего блока цветности, то есть, определить фильтр понижающей дискретизации яркости, используемый для предсказания текущего блока цветности в LM режиме.

Этап 703: установить первую информацию указания, где первая информация указания используется для указания типа фильтра.

В этом варианте осуществления настоящего раскрытия параметр набора параметров последовательности (sequence parameter set, SPS) добавляется заново, и значение SPS параметра используется для указания типа фильтра понижающей дискретизации яркости в LM режиме во время кодирования или декодирования текущей последовательности видео. На стороне кодера этот параметр может быть установлен на основании позиции выборки цветности в текущей последовательности. В частности, первая информация указания может быть установлена на основании типа фильтра. Первая информация указания включает в себя значение SPS параметра, где это значение используется для указания типа фильтра понижающей дискретизации яркости, используемого для предсказания для блока цветности во время кодирования или декодирования.

В конкретной реализации настоящего раскрытия элемент синтаксиса вновь добавленного SPS параметра может называться «lm_mode_downsampling_filter_type_idc», где lm_mode_downsampling_filter_type_idc используется для указания типа фильтра понижающей дискретизации в LM режиме.

Например, для структуры 1, описанной на этапе 702, разработаны шесть типов фильтров: фильтр 0, фильтр 1, фильтр 2, фильтр 3, фильтр 4 и фильтр 5. В этом случае набор параметров последовательности может быть выполнен следующим образом:

Значение lm_mode_downsampling_filter_type_idc находится в диапазоне от 0 до 5, и разные значения соответствуют разным фильтрам. Например, значение 0 соответствует фильтру 0, значение 1 соответствует фильтру 1, значение 2 соответствует фильтру 2, значение 3 соответствует фильтру 3, значение 4 соответствует фильтру 4 и значение 5 соответствует фильтру 5. Конечно, приведенная выше установка значений и соответствие между каждым значением и фильтром являются просто примерами, а не ограничениями.

В качестве другого примера, для структуры 2, описанной на этапе 702, разработаны два типа фильтров: фильтр 0 и фильтр 2. В этом случае набор параметров последовательности может быть разработан следующим образом:

Значение lm_mode_downsampling_filter_type_idc может быть 0 или 1, и разные значения соответствуют разным фильтрам. Например, значение 0 соответствует фильтру 0 и значение 1 соответствует фильтру 2. Конечно, приведенная выше установка значений и соответствие между каждым значением и фильтром являются просто примерами, а не ограничениями.

Этап 704: кодировать первую информацию указания в битовый поток и отправлять битовый поток на сторону декодера. В конкретной реализации вторая информация указания, которая установлена на предшествующем этапе 701, может быть дополнительно закодирована в битовый поток, и затем битовый поток передается на сторону декодера. Вторая информация указания используется для указания LM режима, так что стороне декодера указывается использовать LM режим.

Следует отметить, что вышеупомянутый вариант осуществления описывает только то, что сторона кодера реализует процесс кодирования и процесс отправки битового потока. Согласно вышеизложенному описанию, специалист в данной области техники понимает, что сторона кодера может дополнительно реализовать другой способ, описанный в вариантах осуществления настоящего раскрытия, в другой процедуре. Например, в блоке предсказания цветности для конкретной реализации восстановления блока цветности, выполняемой стороной кодера, обратитесь к соответствующему способу, описанному с точки зрения стороны декодера ниже. Подробности здесь не описаны.

Можно узнать, что в этом варианте осуществления настоящего раскрытия для LM режима кодер может определять на основании типа позиции выборки текущей выборки цветности фильтр понижающей дискретизации яркости, используемый для текущего блока яркости, и указывать тип фильтра понижающей дискретизации для декодера с помощью информации указания (например, значение вновь добавленного SPS параметра). Это гарантирует, что как сторона кодера, так и сторона декодера могут получить фильтр, соответствующий позиции выборки цветности. При этом рассматривается случай, в котором в действительности в разных последовательностях видео могут существовать разные позиции выборки цветности, тем самым, обеспечивая согласованность между позицией выборки с понижающей дискретизации яркости и позицией выборки цветности, а также улучшая точность кодирования и эффективность кодирования на стороне кодера.

На основании вышеупомянутой системы и устройства вариант осуществления настоящего раскрытия обеспечивает другой способ предсказания блока цветности. Способ описан с точки зрения декодера. Со ссылкой на фиг. 13, способ включает в себя, но не ограничивается следующими этапами.

Этап 801: выполнить синтаксический анализ битового потока, чтобы получить первую информацию указания.

В частности, сторона декодера может получить первую информацию указания путем синтаксического анализа параметра набора параметров последовательности (SPS) в битовом потоке. Например, SPS параметр в битовом потоке может быть, в частности, вновь добавленным SPS параметром.

В варианте осуществления первая информация указания используется для указания типа фильтра.

В частности, сторона декодера анализирует битовый поток, переданный со стороны кодера, чтобы получить первую информацию указания, которая используется для указания типа фильтра. Для подробного содержания информации первого указания см. описания на этапе 703 в варианте осуществления по фиг. 12.

Сторона кодера и сторона декодера могут использовать одну и ту же структуру типа фильтра. Например, шесть типов фильтров (соответствующих шести позициям выборок цветности) разработаны для стороны кодера, и для стороны декодера также разработаны шесть типов фильтров. Дополнительно, алгоритмы понижающей дискретизации шести типов фильтров на стороне декодера, соответственно, согласуются с алгоритмами понижающей дискретизации шести типов фильтров на стороне кодера. Шесть типов фильтров: фильтр 0, фильтр 1, фильтр 2, фильтр 3, фильтр 4 и фильтр 5. В этом случае первая информация указания, полученная стороной декодера, используется для указания одного из шесть типов фильтров. Например, когда первая информация указания является SPS параметром lm_mode_downsampling_filter_type_idc, и значение SPS параметра равно 2, это указывает, что первая информация указания указывает, что тип фильтра является фильтром 2.

Для другого примера, два типа фильтра (соответствующие двум позициям выборки цветности) разработаны для стороны кодера, и два типа фильтров также разработаны для стороны декодера. Дополнительно, алгоритмы понижающей дискретизации двух типов фильтров на стороне декодера, соответственно, согласуются с алгоритмами понижающей дискретизации двух типов фильтров на стороне кодера. К двум типам фильтров относятся: фильтр 0 и фильтр 2. В этом случае первая информация указания, полученная стороной декодера, используется для указания одного из двух типов фильтра. Например, когда первая информация указания является SPS параметром lm_mode_downsampling_filter_type_idc, и значение SPS параметра равно 0, это указывает, что первая информация указания указывает, что тип фильтра является фильтром 0.

В другом варианте осуществления первая информация указания используется для указания позиции выборки текущего блока цветности, и позиция выборки текущего блока цветности связана с типом фильтра. Следовательно, сторона декодера может определять тип фильтра на основании позиции выборки текущего блока цветности.

Кроме того, первая информация указания может специально использоваться для указания типа позиции выборки текущего блока цветности и, соответственно, тип позиции выборки текущего блока цветности ассоциирован с типом фильтра. Следовательно, сторона декодера может определять тип фильтра на основании типа позиции выборки текущего блока цветности.

Например, два типа фильтра (соответствующие двум позициям выборки цветности) разработаны для стороны кодера, и два типа фильтров также разработаны для стороны декодера. Дополнительно, алгоритмы понижающей дискретизации двух типов фильтров на стороне декодера, соответственно, согласуются с алгоритмами понижающей дискретизации двух типов фильтров на стороне кодера. К двум типам фильтров относятся: фильтр 0 и фильтр 2. В этом случае первая информация указания, принятая стороной декодера, используется для указания одной из двух позиций выборки цветности. Например, когда первая информация указания является SPS параметром lm_mode_downsampling_filter_type_idc, и значение SPS параметра равно 0, указывается позиция первой выборки цветности, например тип 0. Поскольку тип позиции выборки связан с типом фильтра, сторона декодера может напрямую определить на основании первого типа позиции выборки тип 0, что тип фильтра является фильтром 0. В другом примере, когда значение SPS параметра равно 1 указывается позиция второй выборки цветности, например, тип 2. Поскольку тип позиции выборки ассоциирован с типом фильтра, сторона декодера может напрямую определить на основании второго типа позиции выборки тип 2, что тип фильтра является фильтром 2.

Дополнительно, в конкретном варианте осуществления во время синтаксического анализа битового потока вторая информация указания может быть дополнительно получена путем синтаксического анализа битового потока. Вторая информация указания используется для указания, что режим внутреннего предсказания, используемый стороной декодера для декодирования текущего блока цветности, является LM режимом, так что сторона декодера решает использовать LM режим для внутреннего предсказания для текущего изображения в последовательности видео. Кроме того, сторона декодера продолжает выполнять связанные этапы 802-805.

Этап 802: выполнить операцию понижающей дискретизации (down sampling) на первом блоке яркости, используя фильтр, соответствующий типу фильтра, чтобы получить второй блок яркости, где первый блок яркости является блоком яркости, соответствующим текущему блоку цветности.

В конкретном варианте осуществления фильтр, соответствующий первой информации указания, может использоваться для понижающей дискретизации блока яркости (то есть, первого блока яркости), соответствующего текущему блоку цветности текущего изображения, чтобы получить значение каждой выборки яркости в блоке яркости с понижающей дискретизацией (то есть, второй блок яркости). Таким образом получается в формуле алгоритма LM режима.

Например, если используются шесть типов фильтров для стороны декодера, и значение, указанное в настоящее время первой информацией указания, равно 0, используемый фильтр понижающей дискретизации яркости является фильтром 0, и алгоритм выборки выглядит следующим образом:

LC(xb, yb) = (2*L(2*xb, 2*yb) + L(2*xb-1, 2*yb) + L(2*xb+1, 2*yb) + 2*L(2*xb, 2*yb+1) + L(2*xb-1, 2*yb+1) + L(2*xb+1, 2*yb+1) + 4)>>3

В этом случае фильтр 0 может использоваться для понижающей дискретизации блока яркости, чтобы получить значение каждой выборки яркости во втором блоке яркости.

В качестве другого примера, если используются два типа фильтров (например, фильтр 0 и фильтр 2) для стороны декодера, и значение, которое в настоящее время указывается первой информацией указания, равно 1, используемый фильтр понижающей дискретизации яркости является фильтром 2, и алгоритм выборки следующий:

LC(xb, yb) = (4*L(2*xb, 2*yb) + 2*L(2*xb, 2*yb+1) + 2*L(2*xb, 2*yb-1) + 2*L(2*xb-1, 2*yb) + 2*L(2*xb+1, 2*yb) + L(2*xb+1, 2*yb+1) + L(2*xb-1, 2*yb+1) + L(2*xb-1, 2*yb-1) + L(2*xb+1, 2*yb-1) + 8)>>4

В этом случае фильтр 2 может использоваться для понижающей дискретизации первого блока яркости, чтобы получить значение каждой выборки яркости во втором блоке яркости.

Этап 803: получить шаблон выборки цветности и шаблон выборки яркости. Шаблон выборки цветности включает в себя множество соседних выборок цветности текущего блока цветности, и шаблон выборки яркости получается посредством выполнения операции понижающей дискретизации на множестве соседних выборок яркости первого блока яркости. Для конкретной реализации этапа 803 см. соответствующие описания в вариантах осуществления на фиг. 9 и фиг. 10. Для краткости данного описания подробности здесь снова не описывается.

Следует отметить, что этап 802 и этап 803 не являются последовательными, то есть, этап 802 может выполняться до или после этапа 803, или этап 802 и этап 803 могут выполняться одновременно.

Этап 804: получить коэффициенты α и β линейной модели на основании шаблона выборки цветности и шаблона выборки яркости.

Например, в реализации коэффициенты α и β линейной модели могут быть вычислены с использованием способа наименьших квадратов. В частности, например, система линейных уравнений может быть построена с использованием шаблона выборки яркости блока яркости с понижающей дискретизацией и шаблона выборки цветности, которые показаны на фиг. 9. Количество соседних опорных выборок шаблона выборки цветности или шаблона выборки яркости обозначается как N, а L (n) и C (n) соответственно представляют значение n-й выборки яркости и значение n-й выборки цветности. В этом случае коэффициенты α и β линейной модели представляют собой:

В другом примере, в другой реализации, коэффициенты α и β линейной модели могут быть вычислены с использованием способа максимальной величины. В частности, количество соседних опорных выборок шаблона выборки цветности или шаблона выборки яркости обозначается как N, L (n) и C (n), соответственно, представляют значение n-й выборки яркости и значение n-й выборки цветности, и L (n) и C (n) составляют пару значений выборки. Набор пар значений выборки может быть получен следующим образом: {(L0,C0), (L1,C1), (L2,C2)…(Ln,Cn)…(LN-1,CN-1)}, где N представляет количество соседних выборок текущего блока цветности, которые используются для определения коэффициентов линейной модели. Фиг. 14 показывает распределение набора пар значений выборки в системе координат яркости-цветности. Пара значений, соответствующая максимальному значению Lmax яркости и минимальному значению Lmin яркости, находится в наборе пар значений выборки. Предполагая, что i-й выборка B соответствует максимальному значению яркости, то есть, Li = Lmax, и что j-й выборка A соответствует минимальному значению яркости, то есть, Lj = Lmin, коэффициенты α и β линейной модели соответственно:

Следует понимать, что вышеизложенное является просто примером, но не ограничением. После получения значения каждой выборки яркости шаблона выборки цветности и значения каждой выборки цветности шаблона выборки яркости способ получения коэффициентов α и β линейной модели LM режима на основании шаблона выборки цветности и шаблона выборки яркости не ограничивается этим вариантом осуществления настоящего раскрытия.

Этап 805: получить значение предсказания текущего блока цветности на основании второго блока яркости и коэффициентов линейной модели.

Можно понять, что после получения и коэффициентов α и β линейной модели согласно формуле алгоритма LM режима:

может быть получено значение предсказания каждой выборки цветности в текущем блоке цветности.

Очевидно, что в этом варианте осуществления настоящего раскрытия сторона декодера может определять на основании информации указания (например, значения вновь добавленного SPS параметра) в битовом потоке фильтр, используемый для понижающей дискретизации блока яркости, соответствующего текущему блоку цветности в LM режиме. Таким образом может быть получен фильтр, соответствующий позиции выборки цветности. При этом рассматривается случай, в котором в действительности в различных последовательностях видео могут существовать разные позиции выборки цветности, тем самым, обеспечивая согласованность между позицией выборки яркости с понижающей дискретизации и позицией выборки цветности.

На основании описанных выше системы и устройства вариант осуществления настоящего раскрытия обеспечивает еще один способ предсказания блока цветности. Способ описан с точки зрения декодера. Обратитесь к фиг. 15. По сравнению с фиг. 13, этап 903 в варианте осуществления по фиг. 15 отличается от этапа 803 в варианте осуществления по фиг. 13. Способ кратко описывается следующим образом.

Этап 901: проанализировать битовый поток для получения первой информации указания, где первая информация указания используется для указания типа фильтра. Для конкретной реализации обратитесь к описанию этапа 801 в варианте осуществления по фиг. 13. Подробности здесь снова не описываются.

Этап 902: выполнить операцию понижающей дискретизации (down sampling) на первом блоке яркости, используя фильтр, соответствующий типу фильтра, чтобы получить второй блок яркости, где первый блок яркости является блоком яркости, соответствующий текущему блоку цветности, и второй блок яркости представляет набор выборок яркости с понижающей дискретизацией в первом блоке яркости. Для конкретной реализации обратитесь к описанию этапа 802 в варианте осуществления на фиг. 13. Подробности здесь снова не описываются.

Этап 903: получить шаблон выборки цветности и получить шаблон выборки яркости на основании первой информации указания.

В этом варианте осуществления настоящего раскрытия для шаблона выборки яркости, поскольку первая информация указания указывает тип фильтра, операция понижающей дискретизации может выполняться на множестве соседних выборок яркости первого блока яркости с использованием фильтра, соответствующего типу фильтра, чтобы получить шаблон выборки яркости.

Например, при использовании шести типов фильтров для стороны декодера, и значение, указанное в настоящее время первой информацией указания, равно 0, используемый фильтр понижающей дискретизации яркости является фильтром 0, и алгоритм выборки выглядит следующим образом:

LC(xb, yb) = (2*L(2*xb, 2*yb) + L(2*xb-1, 2*yb) + L(2*xb+1, 2*yb) + 2*L(2*xb, 2*yb+1) + L(2*xb-1, 2*yb+1) + L(2*xb+1, 2*yb+1) + 4)>>3

В этом случае фильтр 0 может использоваться для выполнения операции понижающей дискретизации на множестве соседних выборок яркости первого блока яркости, чтобы получить значение каждой выборки яркости в шаблоне выборки яркости.

В другом примере для стороны декодера используется два типа фильтров (например, фильтр 0 и фильтр 2) и значение, указанное в настоящее время первой информацией указания, равно 1, используемый фильтр понижающей дискретизации яркости является фильтром 2, и алгоритм выборки следующий:

LC(xb, yb) = (4*L(2*xb, 2*yb) + 2*L(2*xb, 2*yb+1) + 2*L(2*xb, 2*yb-1) + 2*L(2*xb-1, 2*yb) + 2*L(2*xb+1, 2*yb) + L(2*xb+1, 2*yb+1) + L(2*xb-1, 2*yb+1) + L(2*xb-1, 2*yb-1) + L(2*xb+1, 2*yb-1) + 8)>>4

В этом случае фильтр 2 может использоваться для выполнения операции понижающей дискретизации на множестве соседних выборок яркости первого блока яркости, чтобы получить значение каждой выборки яркости в шаблонной выборке яркости.

Следует отметить, что вышеизложенное является скорее примером, чем ограничением.

В этом варианте осуществления настоящего раскрытия для шаблона выборки цветности шаблон выборки цветности включает в себя множество соседних выборок цветности текущего блока цветности. Для конкретного способа получения шаблона выборки цветности см. соответствующие описания в вариантах осуществления на фиг. 9 и фиг. 10. Подробности здесь снова не описываются.

Этап 904: получить коэффициенты α и β линейной модели на основании шаблона выборки цветности и шаблона выборки яркости. Для конкретной реализации обратитесь к описанию этапа 804 в варианте осуществления по фиг. 13. Подробности здесь снова не описываются.

Этап 905: получить значение предсказания текущего блока цветности на основании второго блока яркости и коэффициентов линейной модели. Для конкретной реализации обратитесь к описанию этапа 805 в варианте осуществления по фиг. 13. Подробности здесь снова не описываются.

В частности, представлены следующие варианты осуществления:

Вариант 1 осуществления. Способ предсказания блока цветности, в котором способ содержит:

синтаксический анализ битового потока для получения первой информации указания, в котором первая информация указания используется для указания типа фильтра;

выполнение операции понижающей дискретизации на первом блоке яркости с использованием фильтра, соответствующего типу фильтра, для получения второго блока яркости, в котором первый блок яркости является блоком яркости, соответствующим текущему блоку цветности;

получение шаблона выборки цветности и шаблона выборки яркости, в котором шаблон выборки цветности содержит множество соседних выборок цветности текущего блока цветности и шаблон выборки яркости получается путем выполнения операции понижающей дискретизации на множестве соседних выборок яркости первого блока яркости;

получение коэффициентов линейной модели на основании шаблона выборки цветности и шаблона выборки яркости; и

получение значения предсказания текущего блока цветности на основании второго блока яркости и коэффициентов линейной модели.

Вариант 2 осуществления. Способ согласно варианту 1 осуществления, в котором получение шаблона выборки яркости содержит:

выполнение операции понижающей дискретизации на множестве соседних выборок яркости первого блока яркости с использованием фильтра, соответствующего типу фильтра, для получения шаблона выборки яркости.

Вариант 3 осуществления. Способ согласно варианту 1 или 2 осуществления, в котором шаблон выборки цветности содержит:

один или более столбцов соседних левых выборок цветности текущего блока цветности.

Вариант 4 осуществления. Способ согласно варианту 1 или 2 осуществления, в котором шаблон выборки цветности содержит:

одну или более строк соседних верхних выборок цветности текущего блока цветности.

Вариант 5 осуществления. Способ согласно любому из вариантов 1-4 осуществления, в котором шаблон выборки цветности содержит:

одну или более строк соседних верхних выборок цветности текущего блока цветности и один или более столбцов соседних левых выборок цветности текущего блока цветности.

Вариант 6 осуществления. Способ согласно любому из вариантов 1-5 осуществления, в котором перед получением шаблона выборки цветности и шаблона выборки яркости способ дополнительно содержит:

синтаксический анализ потока битов для получения второй информации указания, в котором вторая информация указания используется для указания, что режим внутреннего предсказания, используемый для текущего декодирования, является режимом LM линейной модели.

Вариант 7 осуществления. Способ согласно любому из вариантов 1-6 осуществления, в котором

способ используется для декодирования текущего блока изображения в последовательности видео, в котором текущий блок изображения содержит первый блок яркости и текущий блок цветности, и изображение в последовательности видео имеет формат 4 2:0 или формат 4:2:2.

Вариант 8 осуществления. Способ предсказания блока цветности, в котором способ содержит:

определение типа фильтра на основании позиции выборки текущего блока цветности;

выполнение операции понижающей дискретизации на первом блоке яркости с использованием фильтра, соответствующего типу фильтра, для получения второго блока яркости, в котором первый блок яркости является блоком яркости, соответствующим текущему блоку цветности;

получение шаблона выборки цветности и шаблона выборки яркости, в котором шаблон выборки цветности содержит множество соседних выборок цветности текущего блока цветности и шаблон выборки яркости получается путем выполнения операции понижающей дискретизации на множестве соседних выборок яркости первого блока яркости;

получение коэффициентов линейной модели на основании шаблона выборки цветности и шаблона выборки яркости; и

получение значения предсказания текущего блока цветности на основании второго блока яркости и коэффициентов линейной модели.

Вариант 9 осуществления. Способ согласно варианту 8 осуществления, в котором перед определением типа фильтра на основании позиции выборки текущего блока цветности способ дополнительно содержит:

синтаксический анализ потока битов для получения первой информации указания, в котором первая информация указания используется для указания позиции выборки текущего блока цветности.

Вариант 10 осуществления. Способ согласно варианту 9 осуществления, в котором синтаксический анализ потока битов для получения первой информации указания содержит:

синтаксический анализ параметра набора параметров последовательности (SPS) в битовом потоке для получения первой информации указания.

Вариант 11 осуществления. Способ предсказания блока цветности, в котором способ содержит:

определение типа фильтра на основании типа позиции выборки текущего блока цветности;

установку первой информации указания, в котором первая информация указания используется для указания типа фильтра; и

кодирование первой информации указания в битовый поток.

Вариант 12 осуществления. Способ согласно варианту 11 осуществления, в котором тип позиции выборки текущего блока цветности является, по меньшей мере, одним из следующих типов позиции выборки:

тип позиции выборки тип 0, тип позиции выборки тип 1, тип позиции выборки тип 2, тип позиции выборки тип 3, тип позиции выборки тип 4 и тип позиции выборки тип 5.

Вариант 13 осуществления. Способ согласно варианту 11 осуществления, в котором тип позиции выборки текущего блока цветности является, по меньшей мере, одним из следующих типов позиции выборки:

тип позиции выборки тип 0 и тип позиции выборки тип 2.

Вариант 14 осуществления. Способ согласно любому из вариантов 11-13 осуществления, в котором способ дополнительно содержит:

выбор LM режима линейной модели из множества режимов внутреннего предсказания;

установку второй информации указания, в котором вторая информация указания используется для указания LM режима линейной модели; и

кодирование второй информации указания в битовый поток.

Вариант 15 осуществления. Способ согласно любому из вариантов 11-14 осуществления, в котором способ дополнительно содержит:

определение, на основании первой информации указания, фильтра, соответствующего типу фильтра;

выполнение понижающей дискретизации первого блока яркости с использованием фильтра, соответствующего типу фильтра, для получения второго блока яркости, в котором первый блок яркости является блоком яркости, соответствующим текущему блоку цветности;

получение шаблона выборки цветности и шаблона выборки яркости, в котором шаблон выборки цветности содержит множество соседних выборок цветности текущего блока цветности и шаблон выборки яркости получается понижающей дискретизацией множества соседних выборок яркости первого блока яркости;

получение коэффициентов линейной модели на основании шаблона выборки цветности и шаблона выборки яркости; и

получение значения предсказания текущего блока цветности на основании второго блока яркости и коэффициентов линейной модели.

Очевидно, что в этом варианте осуществления настоящего раскрытия для LM режима в процессе понижающей дискретизации для получения шаблона выборки яркости и процесса понижающей дискретизации текущего блока сторона декодера может определять на основании информации указания (например, значение вновь добавленного SPS параметра) в битовом потоке, фильтр, используемый для понижающей дискретизации блока яркости, соответствующего текущему блоку цветности в LM режиме. Таким образом может быть получен фильтр, соответствующий позиции выборки цветности. При этом рассматривается случай, в котором в действительности в различных последовательностях видео могут существовать разные позиции выборки цветности, тем самым, обеспечивая согласованность между позицией понижающей дискретизации выборки яркости и позицией выборки цветности.

Нижеследующее описывает применение способа кодирования и способа декодирования, описанных в вышеупомянутых вариантах осуществления и систему, в которой используются способ кодирования и способ декодирования.

Фиг. 16 является блок-схемой системы 3100 предоставления контента для реализации услуги распространения контента. Система 3100 предоставления контента включает в себя устройство 3102 захвата и оконечное устройство 3106 и, возможно, включает в себя дисплей 3126. Устройство 3102 захвата обменивается данными с оконечным устройством 3106 через линию 3104 связи. Линия связи может включать в себя описанную линию 13 связи. выше. Линия 3104 связи включает в себя, но не ограничивается этим, Wi-Fi, Ethernet, кабель, беспроводное соединение (3G/4G/5G), USB, любую их комбинацию и т.п.

Устройство 3102 захвата генерирует данные и может кодировать данные, используя способ кодирования, как описано в предшествующих вариантах осуществления. В качестве альтернативы устройство 3102 захвата может поставлять данные в сервер потоковой передачи (не показан на чертеже), и сервер кодирует данные и передает закодированные данные в оконечное устройство 3106. Устройство 3102 захвата включает в себя, но не ограничивается камерой, смартфоном, планшетным компьютером, компьютером, ноутбуком, системой видеоконференцсвязи, PDA, установленным на транспортном средстве устройством, их комбинацией и т.п. Например, устройство 3102 захвата может включать в себя устройство 12 источника, как описано выше. Когда данные включают в себя видео, видеокодер 20, включенный в устройство 3102 захвата, может фактически выполнять обработку кодирования видео. Когда данные включают в себя звук (например, голос), аудиокодер, включенный в устройство 3102 захвата, может фактически выполнять обработку кодирования звука. Для некоторых практических сценариев устройство 3102 захвата распределяет закодированные видеоданные и закодированные аудиоданные, мультиплексируя их вместе. Для других практических сценариев, например, в системе видеоконференцсвязи, кодированные аудиоданные и кодированные видеоданные не мультиплексируются. Устройство 3102 захвата отдельно распределяет закодированные аудиоданные и закодированные видеоданные в оконечное устройство 3106.

В системе 3100 предоставления контента оконечное устройство 310 принимает и воспроизводит закодированные данные. Оконечное устройство 3106 может быть устройством, выполненным с возможностью принимать и восстанавливать данные, таким как смартфон или планшетный компьютер 3108, компьютер или ноутбук 3110, сетевой видеомагнитофон (network video recorder, NVR)/цифровой видеомагнитофон (digital video recorder, DVR) 3112, телевизор 3114, телеприставка (set top box, STB) 3116, система видеоконференцсвязи 3118, система видеонаблюдения 3120, персональный цифровой помощник (personal digital assistant, PDA) 3122, установленное на транспортном средстве устройство 3124 или любую их комбинацию, которое выполнено с возможностью декодировать вышеупомянутые закодированные данные. Например, оконечное устройство 3106 может включать в себя устройство 14 назначения, как описано выше. Когда кодированные данные включают в себя видео, видеодекодеру 30, содержащийся в оконечном устройстве, отдается приоритет для выполнения декодирования видео. Когда кодированные данные включают в себя звук, аудиодекодер, содержащийся в оконечном устройстве, имеет приоритет для выполнения обработки декодирования звука.

Для оконечного устройства, оснащенного дисплеем, например, смартфона или планшетного компьютера 3108, компьютера или ноутбука 3110, сетевого видеомагнитофона (network video recorder, NVR)/цифровой видеомагнитофон (digital video recorder, DVR) 3112, телевизор 3114, персональный цифровой помощник (personal digital assistant, PDA) 3122 или установленное на транспортном средстве устройство 3124, оконечное устройство может передавать декодированные данные в дисплей оконечного устройства. Для оконечного устройства, оборудованного без дисплея, например STB 3116, системы 3118 видеоконференцсвязи или системы 3120 видеонаблюдения, для приема и отображения декодированных данных подключается внешний дисплей 3126.

Когда каждое устройство в этой системе выполняет кодирование или декодирование, может использоваться устройство для кодирования изображения или устройство для декодирования изображения, как описано в вышеописанных вариантах осуществления.

Фиг. 17 является схемой примерной структуры оконечного устройства 3106. После того, как оконечное устройство 3106 принимает поток из устройства 3102 захвата, блок 3202 обработки протокола анализирует протокол передачи потока. Протокол включает в себя, помимо прочего, протокол потоковой передачи в реальном времени (Real Time Streaming Protocol, RTSP), протокол передачи гипертекста (Hyper Text Transfer Protocol, HTTP), протокол потоковой передачи в реальном времени HTTP (HTTP Live streaming protocol, HLS), MPEG-DASH, транспортный протокол реального времени (Real-time Transport protocol, RTP), протокол обмена сообщениями в реальном времени (Real Time Messaging Protocol, RTMP), любая их комбинация и т.п.

После обработки потока блок 3202 обработки протокола генерирует файл потока. Файл выводится в блок 3204 демультиплексора. Блок 3204 демультиплексора может разделять мультиплексированные данные на кодированные аудиоданные и кодированные видеоданные. Как описано выше, для других практических сценариев, например, в системе видеоконференцсвязи, кодированные аудиоданные и кодированные видеоданные не мультиплексируются. В этой ситуации закодированные данные передаются в видеодекодер 3206 и аудиодекодер 3208 без использования блока 3204 демультиплексора.

Элементарный видеопоток (elementary stream, ES), аудио ES и, возможно, субтитр генерируются посредством обработки демультиплексирования. Видеодекодер 3206 включает в себя видеодекодер 30, описанный в предшествующем варианте осуществления, декодирует видео ES с использованием способа декодирования, показанного в предшествующем варианте осуществления, для генерирования видеокадра, и подает данные в блок 3212 синхронизации. Аудиодекодер 3208 декодирует аудио ES для генерирования аудиокадра и подает данные в блок 3212 синхронизации. В качестве альтернативы видеокадр может быть сохранен в буфере (не показан на чертеже) до того, как видеокадр будет подан в блок 3212 синхронизации, аудиокадр может быть сохранен в буфере (не показан на чертеже) до того, как аудиокадр будет подан в блок 3212 синхронизации.

Блок 3212 синхронизации синхронизирует видеокадр и аудиокадр и обеспечивает видео/аудио в видео/аудио дисплей 3214. Например, блок 3212 синхронизации синхронизирует представление видеоинформации и аудиоинформации. Информация может быть закодирована в элементе синтаксиса с использованием отметок времени, касающихся представления кодированных аудио- и видеоданных, и отметки времени, относящейся к доставке потока данных.

Если в поток добавлен субтитр, то декодер 3210 субтитров декодирует субтитр, синхронизирует субтитр с видеокадром и звуковым кадром и обеспечивает видео/аудио/субтитры в видео/аудио/субтитры дисплей 3216.

Настоящее изобретение не ограничивается вышеупомянутой системой, и устройство для кодирования изображения или устройство для декодирования изображения в вышеупомянутых вариантах осуществления может содержаться в другой системе, например, системе транспортного средства.

Все или некоторые из вышеизложенных вариантов осуществления могут быть реализованы с помощью программного обеспечения, аппаратного обеспечения, встроенного программного обеспечения или любой их комбинации. Когда для реализации используется программное обеспечение, варианты осуществления могут быть реализованы полностью или частично в форме компьютерного программного продукта. Компьютерный программный продукт включает в себя одну или более компьютерных инструкций. Когда инструкция компьютерной программы загружается и выполняется на компьютере, все или некоторые из процедур или функций генерируются в соответствии с вариантами осуществления настоящего раскрытия. Компьютер может быть компьютером общего назначения, компьютером специального назначения, компьютерной сетью или другим программируемым устройством. Компьютерная инструкция может храниться на машиночитаемом носителе данных или может передаваться с машиночитаемого носителя данных на другой машиночитаемый носитель данных. Например, компьютерная инструкция может быть передана с веб-сайта, компьютера, сервера или центра обработки данных на другой веб-сайт, компьютер, сервер или центр обработки данных по проводной связи (например, коаксиальному кабелю, оптическому волокну или цифровой абонентской линии) или беспроводным способом (например, инфракрасным, микроволновым и т.п.). Машиночитаемый носитель данных может быть любым используемым носителем, доступным для компьютера, или устройством хранения данных, таким как сервер или центр обработки данных, интегрирующим один или более используемых носителей. Используемый носитель может быть магнитным носителем (например, дискета, жесткий диск или магнитная лента), оптическим носителем (например, DVD), полупроводниковым носителем (например, твердотельным накопителем) или тому подобное.

В вышеупомянутых вариантах осуществления описания в вариантах осуществления имеют соответствующие основные аспекты. Для части, которая не описана подробно в варианте осуществления, обратитесь к соответствующим описаниям в других вариантах осуществления.

1. Способ предсказания блока цветности с использованием режима предсказания линейной модели (LM), содержащий этапы, на которых:

осуществляют синтаксический анализ битового потока для получения первой информации указания;

выполняют операцию понижающей дискретизации на первом блоке яркости с использованием первого фильтра, когда значение первой информации указания является первым значением, или посредством использования второго фильтра, когда значение первой информации указания является вторым значением, для получения второго блока яркости, причем значение первой информации указания является первым значением, когда положение выборки текущего блока цветности является (xb, yb), а позиция выборки первого блока яркости является (2*xb, 2*yb+0,5), первый блок яркости является блоком яркости, соответствующим текущему блоку цветности, а изображение, содержащее первый блок яркости и текущий блок цветности, имеет формат 4:2:0 или формат 4:2:2;

получают множество выборок цветности и множество выборок яркости, причем множество выборок цветности содержит множество соседних выборок цветности текущего блока цветности, а множество выборок яркости получают посредством выполнения операции понижающей дискретизации для множества соседних выборок яркости первого блока яркости;

получают коэффициенты линейной модели на основании множества выборок цветности и множества выборок яркости; и

получают значение предсказания текущего блока цветности на основании второго блока яркости и коэффициентов линейной модели.

2. Способ по п. 1, в котором этап получения множества выборок яркости содержит подэтап, на котором:

выполняют операции понижающей дискретизации для множества соседних выборок яркости первого блока яркости с использованием первого фильтра, когда значение первой информации указания является первым значением, или с использованием второго фильтра, когда значение второй информации указания является вторым значением для получения множества выборок яркости.

3. Способ по п. 1 или 2, дополнительно содержащий, перед этапом получения множества выборок цветности и множества выборок яркости, этап, на котором:

осуществляют синтаксический анализ битового потока для получения второй информации указания, при этом вторая информация указания используется для указания, что режим внутреннего предсказания, используемый для текущего декодирования, является LM режимом линейной модели.

4. Способ по любому из пп. 1-3, в котором синтаксический анализ битового потока для получения первой информации указания содержит:

синтаксический анализ параметра набора параметров последовательности (SPS) в битовом потоке для получения первой информации указания.

5. Способ по п. 4, в котором, когда значение SPS параметра равно 0, первый фильтр используется для выполнения операции понижающей дискретизации; или значение SPS параметра равно 1, второй фильтр используется для выполнения операции понижающей дискретизации.

6. Способ по любому из пп. 1-5, в котором первый фильтр представляет собой фильтр 0, определенный ниже:

LC (xb, yb) = (2 * L (2 * xb, 2 * yb) + L (2 * xb-1,2 * yb) + L (2 * xb + 1,2 * yb) + 2 * L (2 * xb, 2 * yb + 1) + L (2 * xb-1,2 * yb + 1) + L (2 * xb + 1,2 * yb + 1) +4) >> 3,

где LC (xb, yb) представляет значение второго блока яркости, соответствующего позиции (xb, yb) выборки текущего блока цветности, xb позиция текущего блока цветности по горизонтали, а yb позиция текущего блока цветности по вертикали.

7. Способ предсказания блока цветности с использованием режима предсказания линейной модели (LM), содержащий этапы, на которых:

определяют тип фильтра на основании типа позиции выборки текущего блока цветности, причем тип фильтра является первым типом, когда положение выборки текущего блока цветности является (xb, yb), а позиция выборки первого блока яркости является (2*xb, 2*yb+0,5), а изображение, содержащее соответствующие первый блок яркости и текущий блок цветности, имеет формат 4:2:0 или формат 4:2:2;

устанавливают первую информацию указания в первое значение, когда тип фильтра является первым типом, или устанавливают первую информацию указания во второе значение, когда тип фильтра является вторым типом; и

кодируют первую информацию указания в битовый поток.

8. Способ по п. 7, дополнительно содержащий этапы, на которых:

выбирают LM режим линейной модели из множества режимов внутреннего предсказания;

устанавливают вторую информацию указания, причем вторая информация указания используется для указания LM режима линейной модели; и

кодируют вторую информацию указания в битовый поток.

9. Способ по п. 7 или 8, в котором первый фильтр представляет собой фильтр 0, определенный ниже:

LC (xb, yb) = (2 * L (2 * xb, 2 * yb) + L (2 * xb-1,2 * yb) + L (2 * xb + 1,2 * yb) + 2 * L (2 * xb, 2 * yb + 1) + L (2 * xb-1,2 * yb + 1) + L (2 * xb + 1,2 * yb + 1) +4) >> 3,

где LC (xb, yb) представляет значение второго блока яркости, соответствующего позиции (xb, yb) выборки текущего блока цветности, xb позиция текущего блока цветности по горизонтали, а yb позиция текущего блока цветности по вертикали.

10. Способ по любому из пп. 7-9, в котором первая информация указания кодирована в параметр набора параметров последовательности (SPS) в битовом потоке.

11. Устройство декодирования, содержащее энергонезависимую память и процессор, соединенные друг с другом, причем память выполнена с возможностью хранения программных инструкций, вызывающих выполнение, процессором, способа по любому из пп. 1-6.

12. Устройство кодирования, содержащее энергонезависимую память и процессор, соединенные друг с другом, причем память выполнена с возможностью хранения программных инструкций, вызывающих выполнение, процессором, способа по любому из пп. 7-10.

13. Энергонезависимый носитель данных, содержащий битовый поток, декодированный способом по любому из пп. 1-6.



 

Похожие патенты:

Изобретение относится к технологии усовершенствованного кодирования видеосигналов, более конкретно к управлению буфером декодированных изображений. Техническим результатом является повышение эффективности декодирования.

Изобретение относится к технологиям сжатия видео, а также к внешнему и внутреннему предсказанию в усовершенствованных видеокодеках. Техническим результатом является повышение эффективности кодирования/декодирования.

Изобретение относится к кодированию и декодированию и, в частности, к изображению произвольного доступа и процессу его вывода в кодированном видеопотоке с множественными уровнями. Техническим результатом является повышение эффективности кодирования изображения/видео.

Изобретение относится к кодированию и декодированию видеосигналов. Технический результат заключается в уменьшении объема служебных данных в процессе декодирования и повышении точности предсказания, тем самым повышается эффективность кодирования.

Изобретение относится к области кодирования и декодирования видеосигнала. Технический результат заключается в оптимальной сигнализации различных вариантов разбиения на тайлы и кирпичи (brick) - прямоугольной области из строк блока кодового дерева (CTU) внутри конкретного тайла в изображении, что обеспечивает повышение эффективности кодирования.

Изобретение относится к технологии кодирования изображений на основе преобразования системы кодирования изображений. Техническим результатом является повышение эффективности кодирования изображений.

Изобретение относится к средствам для кодирования видео. Технический результат заключается в повышении эффективности кодирования видео.

Изобретение относится к декодированию изображений с интра-предсказанием в системе кодирования изображения. Техническим результатом является обеспечение высокоэффективного сжатия изображений для эффективной передачи и воспроизведения информации изображений высокого разрешения и качества.

Группа изобретений относится к кодированию и декодированию видео и, более конкретно, согласно примерам осуществления, к ссылке на набор параметров и ее границам в кодированном видеопотоке. Техническим результатом является повышение эффективности кодирования/декодирования видео.

Изобретение относится к области кодирования/декодирования изображений с использованием ядра преобразования. Техническим результатом является повышение эффективности кодирования.
Наверх