СПОСОБ КОДИРОВАНИЯ ИЗОБРАЖЕНИЙ НА ОСНОВЕ ПРЕОБРАЗОВАНИЯ И УСТРОЙСТВО ДЛЯ ЭТОГО
METHOD FOR ENCODING IMAGES BASED ON CONVERSION AND A DEVICE FOR THIS

Уровень техники
Область техники, к которой относится изобретение
[1] Настоящее раскрытие сущности, в общем, относится к технологии кодирования изображений, а более конкретно, к способу кодирования изображений на основе преобразования в системе кодирования изображений и к аппаратуре для этого.
Описание предшествующего уровня техники
[2] В наше время, спрос на высококачественные изображения/видео высокого разрешения, к примеру, 4K, 8K или изображения/видео еще более сверхвысокой четкости (UHD) растет в различных областях техники. По мере того, как данные изображений/видео приобретают все более высокое разрешение и более высокое качество, передаваемый объем информации или объем в битах увеличивается по сравнению с традиционными данными изображений. Следовательно, когда данные изображений передаются с использованием такой среды, как традиционная проводная/беспроводная широкополосная линия, или данные изображений/видео сохраняются с использованием существующего носителя хранения данных, затраты на передачу и затраты на хранение для них увеличиваются.
[3] Дополнительно, в наше время, интерес и спрос на иммерсивное мультимедиа, такое как контент виртуальной реальности (VR), искусственной реальности (AR) или голограмма и т.п., растет, и широковещательная передача для изображений/видео, имеющих признаки изображений, отличающиеся от признаков действительных изображений, таких как игровое изображение, увеличивается.
[4] Соответственно, имеется потребность в высокоэффективной технологии сжатия изображений/видео для эффективного сжатия и передачи либо сохранения и воспроизведения информации высококачественных изображений/видео высокого разрешения, имеющих различные признаки, как описано выше.
Сущность изобретения
[5] Технический аспект настоящего раскрытия сущности состоит в том, чтобы предоставлять способ и аппаратуру для повышения эффективности кодирования изображений.
[6] Другой технический аспект настоящего раскрытия сущности состоит в том, чтобы предоставлять способ и аппаратуру для повышения эффективности при остаточном кодировании.
[7] Еще один другой технический аспект настоящего раскрытия сущности состоит в том, чтобы предоставлять способ и аппаратуру для повышения эффективности при кодировании последнего ненулевого коэффициента преобразования.
[8] Еще один другой технический аспект настоящего раскрытия сущности состоит в том, чтобы предоставлять способ и аппаратуру для кодирования коэффициента преобразования на основе высокочастотного обнуления, чтобы повышать эффективность остаточного кодирования.
[9] Еще один другой технический аспект настоящего раскрытия сущности состоит в том, чтобы предоставлять способ и аппаратуру для кодирования информации позиции относительно последнего значимого коэффициента в текущем блоке (или текущем блоке преобразования) на основе высокочастотного обнуления.
[10] Еще один другой технический аспект настоящего раскрытия сущности состоит в том, чтобы предоставлять способ и аппаратуру для извлечения максимального значения информации суффикса относительно позиции последнего значимого коэффициента преобразования на основе размера области, к которой высокочастотное обнуление не применяется, в текущем блоке при кодировании коэффициентов преобразования для текущего блока (или текущего блока преобразования) на основе высокочастотного обнуления.
[11] Еще один другой технический аспект настоящего раскрытия сущности состоит в том, чтобы предоставлять способ и аппаратуру для извлечения контекстной модели для информации позиции последнего значимого коэффициента преобразования на основе размера текущего блока при кодировании коэффициентов преобразования для текущего блока (или текущего блока преобразования) на основе высокочастотного обнуления.
[12] Согласно варианту осуществления настоящего раскрытия сущности, предоставляется способ декодирования изображений, осуществляемый посредством аппаратуры декодирования. Способ включает в себя извлечение остаточной выборки, и извлечение остаточной выборки включает в себя: извлечение обнуляемого блока для текущего блока; извлечение контекстной модели для информации позиции последнего значимого коэффициента на основе ширины или высоты текущего блока; извлечение значения информации позиции последнего значимого коэффициента на основе контекстной модели; и извлечение позиции последнего значимого коэффициента на основе значения информации позиции последнего значимого коэффициента и ширины или высоты обнуляемого блока.
[13] Ширина обнуляемого блока может быть меньше ширины текущего блока.
[14] Высота обнуляемого блока может быть меньше высоты текущего блока.
[15] Информация позиции последнего значимого коэффициента может включать в себя информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента, информация префикса последнего значимого коэффициента может включать в себя информацию префикса по оси X и информацию префикса по оси Y, и контекстное приращение для информации префикса по оси X и информации префикса по оси Y может извлекаться на основе ширины или высоты текущего блока.
[16] Максимальное значение, разрешенное для информации префикса последнего значимого коэффициента, может извлекаться на основе размера обнуляемого блока.
[17] Ширина или высота обнуляемого блока может извлекаться на основе ширины или высоты текущего блока.
[18] Когда ширина текущего блока равна 32, и высота текущего блока равна 32 или меньше, ширина обнуляемого блока может задаваться равной 16, и когда ширина текущего блока не равна 32, или высота текущего блока равна 64 или больше, ширина обнуляемого блока может задаваться равной меньшему значению из ширины текущего блока и 32.
[19] Когда высота текущего блока может быть равной 32, и ширина текущего блока равна 32 или меньше, высота обнуляемого блока задается равной 16, и когда высота текущего блока не равна 32, или ширина текущего блока равна 64 или больше, высота обнуляемого блока может задаваться равной меньшему значению из высоты текущего блока и 32.
[20] Согласно другому варианту осуществления настоящего раскрытия сущности, предоставляется способ кодирования изображений, осуществляемый посредством аппаратуры кодирования. Способ может включать в себя кодирование остаточной информации, и кодирование включает в себя: извлечение обнуляемого блока для текущего блока; извлечение позиции последнего значимого коэффициента на основе ширины или высоты обнуляемого блока; извлечение контекстной модели для информации позиции последнего значимого коэффициента на основе ширины или высоты текущего блока; и кодирование информации позиции последнего значимого коэффициента на основе контекстной модели.
[21] Согласно еще одному другому варианту осуществления настоящего раскрытия сущности, может предоставляться цифровой носитель хранения данных, который сохраняет данные изображений, включающие в себя кодированную информацию изображений и поток битов, сформированный согласно способу кодирования изображений, осуществляемому посредством аппаратуры кодирования.
[22] Согласно еще одному другому варианту осуществления настоящего раскрытия сущности, может предоставляться цифровой носитель хранения данных, который сохраняет данные изображений, включающие в себя кодированную информацию изображений и поток битов, чтобы инструктировать аппаратуре декодирования осуществлять способ декодирования изображений.
[23] Согласно настоящему раскрытию сущности, можно повышать общую эффективность сжатия изображений/видео.
[24] Согласно настоящему раскрытию сущности, можно повышать эффективность при остаточном кодировании.
[25] Согласно настоящему раскрытию сущности, можно повышать эффективность при кодировании позиции последнего значимого коэффициента преобразования.
[26] Согласно настоящему раскрытию сущности, можно повышать эффективность остаточного кодирования посредством кодирования коэффициента преобразования на основе высокочастотного обнуления.
[27] Согласно настоящему раскрытию сущности, можно повышать эффективность кодирования изображений посредством кодирования информации позиции относительно последнего значимого коэффициента преобразования в текущем блоке (или текущем блоке преобразования) на основе высокочастотного обнуления.
[28] Согласно настоящему раскрытию сущности, можно повышать эффективность кодирования изображений посредством извлечения контекстной модели для информации позиции последнего значимого коэффициента преобразования на основе предварительно определенного размера блока при кодировании коэффициентов преобразования для текущего блока (или текущего блока преобразования) на основе высокочастотного обнуления.
[29] Преимущества, которые могут получаться за счет конкретных примеров настоящего раскрытия сущности, не ограничены упомянутыми выше преимуществами. Например, могут быть предусмотрены различные технические эффекты, которые специалисты в данной области техники могут понимать или извлекать из настоящего раскрытия сущности. Соответственно, конкретные преимущества настоящего раскрытия сущности не ограничены преимуществами, явно описанными в настоящем раскрытии сущности, и могут включать в себя различные преимущества, которые могут пониматься или извлекаться из технических признаков настоящего раскрытия сущности.
Краткое описание чертежей
[30] Фиг. 1 схематично иллюстрирует пример системы кодирования видео/изображений, к которой является применимым настоящее раскрытие сущности.
[31] Фиг. 2 является схемой, принципиально иллюстрирующей конфигурацию аппаратуры кодирования видео/изображений, к которой является применимым настоящее раскрытие сущности.
[32] Фиг. 3 является схемой, принципиально иллюстрирующей конфигурацию аппаратуры декодирования видео/изображений, к которой является применимым настоящее раскрытие сущности.
[33] Фиг. 4 схематично иллюстрирует технологию множественного преобразования согласно варианту осуществления настоящего раскрытия сущности.
[34] Фиг. 5 иллюстрирует 32-точечное обнуление согласно варианту осуществления настоящего раскрытия сущности.
[35] Фиг. 6 иллюстрирует сегмент остаточного блока согласно варианту осуществления настоящего раскрытия сущности.
[36] Фиг. 7 является блок-схемой последовательности операций способа, иллюстрирующей работу аппаратуры декодирования видео согласно варианту осуществления настоящего раскрытия сущности.
[37] Фиг. 8 является блок-схемой, иллюстрирующей конфигурацию аппаратуры декодирования согласно варианту осуществления настоящего раскрытия сущности.
[38] Фиг. 9 является блок-схемой последовательности операций способа, иллюстрирующей процесс извлечения остаточной выборки согласно варианту осуществления настоящего раскрытия сущности.
[39] Фиг. 10 является блок-схемой последовательности операций способа, иллюстрирующей работу аппаратуры кодирования видео согласно варианту осуществления настоящего раскрытия сущности.
[40] Фиг. 11 является блок-схемой, иллюстрирующей конфигурацию аппаратуры кодирования согласно варианту осуществления настоящего раскрытия сущности.
[41] Фиг. 12 является блок-схемой последовательности операций способа, иллюстрирующей процесс кодирования остаточной информации согласно варианту осуществления настоящего раскрытия сущности.
[42] Фиг. 13 иллюстрирует структуру системы потоковой передачи контента, к которой применяется настоящее раскрытие сущности.
Подробное описание вариантов осуществления
[43] Хотя настоящее раскрытие сущности может подвергаться различным модификациям и включает в себя различные варианты осуществления, его конкретные варианты осуществления показаны на чертежах в качестве примера и подробно описываются ниже. Тем не менее, это не имеет намерение ограничивать настоящее раскрытие сущности конкретными вариантами осуществления, раскрытыми в данном документе. Термины, используемые в данном документе, служат только для цели описания конкретных вариантов осуществления и не имеют намерение ограничивать техническую идею настоящего раскрытия сущности. Формы единственного числа могут включать в себя формы множественного числа, если контекст явно не указывает иное. Такие термины, как "включать в себя" и "иметь", предназначены для того, чтобы указывать то, что существуют признаки, числа, этапы, операции, элементы, компоненты либо комбинации вышеозначенного, используемые в нижеприведенном описании, и в силу этого не следует понимать, что заранее исключается возможность наличия или добавления одного или более других признаков, чисел, этапов, операций, элементов, компонентов либо комбинаций вышеозначенного.
[44] Между тем, каждый компонент на чертежах, описанных в данном документе, проиллюстрирован независимо для удобства описания в отношении характеристических функций, отличающихся друг от друга, и, тем не менее, не подразумевается то, что каждый компонент реализуется посредством отдельных аппаратных средств или программного обеспечения. Например, любые два или более из этих компонентов могут комбинироваться, чтобы формировать один компонент, и любой один компонент может разделяться на несколько компонентов. Варианты осуществления, в которых компоненты комбинируются и/или разделяются, должны принадлежать объему патентного права настоящего раскрытия сущности при условии, что они не отступают от сущности настоящего раскрытия сущности.
[45] В дальнейшем в этом документе, подробнее поясняются предпочтительные варианты осуществления настоящего раскрытия сущности со ссылкой на прилагаемые чертежи. Помимо этого, идентичные ссылки с номерами используются для идентичных компонентов на чертежах, и повторные описания для идентичных компонентов опускаются.
[46] Этот документ относится к кодированию видео/изображений. Например, способ/пример, раскрытый в этом документе, может относится к стандарту VVC (универсального кодирования видео) (ITU-T-рекомендация H.266), к стандарту кодирования видео/изображений следующего поколения после VVC либо к другим связанным с кодированием видео стандартам (например, к стандарту HEVC (высокоэффективного кодирования видео) (ITU-T-рекомендация H.265), к стандарту EVC (фундаментального кодирования видео), к AVS2-стандарту и т.д.).
[47] В этом документе, могут предоставляться множество вариантов осуществления, связанных с кодированием видео/изображений, и если не указано обратное, варианты осуществления могут комбинироваться между собой и выполняться.
[48] В этом документе, видео может означать набор последовательности изображений со временем. В общем, кадр означает единицу, представляющую изображение в конкретной временной зоне, и слайс/плитка представляет собой единицу, составляющую часть кадра. Слайс/плитка может включать в себя одну или более единиц дерева кодирования (CTU). Один кадр может состоять из одного или более слайсов/плиток. Один кадр может состоять из одной или более групп плиток. Одна группа плиток может включать в себя одну или более плиток.
[49] Пиксел или пел может означать наименьшую единицу, составляющую один кадр (или изображение). Кроме того, "выборка" может использоваться в качестве термина, соответствующего пикселу. Выборка, в общем, может представлять пиксел или значение пиксела и может представлять только пиксел/пиксельное значение компонента сигнала яркости либо только пиксел/пиксельное значение компонента сигнала цветности. Альтернативно, выборка может означать пиксельное значение в пространственной области, либо когда это пиксельное значение преобразуется в частотную область, она может означать коэффициент преобразования в частотной области.
[50] Единица может представлять базовую единицу обработки изображений. Единица может включать в себя по меньшей мере одно из конкретной области и информации, связанной с областью. Одна единица может включать в себя один блок сигналов яркости и два блока сигналов цветности (например, Cb, Cr). "Единица" и такой термин, как "блок", "зона" и т.п., могут использоваться вместо друг друга согласно обстоятельствам. В общем случае, блок MxN может включать в себя набор (или массив) выборок (или массивы выборок) или коэффициентов преобразования, состоящий из M столбцов и N строк.
[51] В этом документе, термин "/" и "," должен интерпретироваться как указывающий "и/или". Например, выражение "A/B" может означать "A и/или B". Дополнительно, "A, B" может означать "A и/или B". Дополнительно, "A/B/C" может означать "по меньшей мере одно из A, B и/или C". Кроме того, "A/B/C" может означать "по меньшей мере одно из A, B и/или C".
[52] Дополнительно, в документе, термин "или" должен интерпретироваться как указывающий "и/или". Например, выражение "A или B" может включать в себя 1) только A, 2) только B и/или 3) как A, так и B. Другими словами, термин "или" в этом документе должен интерпретироваться как указывающий "дополнительно или альтернативно".
[53] В настоящем раскрытии сущности, "по меньшей мере одно из A и B" может означать "только A", "только B" или "как A, так и B". Помимо этого, в раскрытии сущности, выражение "по меньшей мере одно из A или B" или "по меньшей мере одно из A и/или B" может интерпретироваться как "по меньшей мере одно из A и B".
[54] Помимо этого, в настоящем раскрытии сущности, "по меньшей мере одно из A, B и C" может означать "только A", "только B", "только C" либо "любая комбинация A, B и C". Помимо этого, "по меньшей мере одно из A, B или C" или "по меньшей мере одно из A, B и/или C" может означать "по меньшей мере одно из A, B и C".
[55] Помимо этого, круглая скобка, используемая в настоящем раскрытии сущности, может означать "например". В частности, при указании "прогнозирование (внутреннее прогнозирование)" это может означать то, что "внутреннее прогнозирование" (intra prediction) предлагается в качестве примера "прогнозирования". Таким образом, "прогнозирование" в настоящем раскрытии сущности не ограничено "внутренним прогнозированием", и "внутреннее прогнозирование" может предлагаться в качестве примера "прогнозирования". Помимо этого, при указании "прогнозирование (т.е. внутреннее прогнозирование)", это также может означать то, что "внутреннее прогнозирование" предлагается в качестве примера "прогнозирования".
[56] Технические признаки, отдельно описанные на одном чертеже в настоящем раскрытии сущности, могут реализовываться отдельно либо могут реализовываться одновременно.
[57] Фиг. 1 схематично иллюстрирует пример системы кодирования видео/изображений, к которой является применимым настоящее раскрытие сущности.
[58] Ссылаясь на фиг. 1, система кодирования видео/изображений может включать в себя первое устройство (исходное устройство) и второе устройство (приемное устройство). Исходное устройство может доставлять кодированную информацию или данные видео/изображений в форме файла или потоковой передачи в приемное устройство через цифровой носитель хранения данных или сеть.
[59] Исходное устройство может включать в себя видеоисточник, аппаратуру кодирования и передатчик. Приемное устройство может включать в себя приемник, аппаратуру декодирования и модуль рендеринга. Аппаратура кодирования может называться "аппаратурой кодирования видео/изображений", и аппаратура декодирования может называться "аппаратурой декодирования видео/изображений". Передатчик может включаться в аппаратуру кодирования. Приемник может включаться в аппаратуру декодирования. Модуль рендеринга может включать в себя дисплей, и дисплей может быть сконфигурирован как отдельное устройство или внешний компонент.
[60] Видеоисточник может получать видео/изображение посредством процесса захвата, синтезирования или формирования видео/изображения. Видеоисточник может включать в себя устройство захвата видео/изображений и/или устройство формирования видео/изображений. Устройство захвата видео/изображений может включать в себя, например, одну или более камер, архивы видео/изображений, включающие в себя ранее захваченные видео/изображения, и т.п. Устройство формирования видео/изображений может включать в себя, например, компьютер, планшетный компьютер и смартфон и может (электронно) формировать видео/изображение. Например, виртуальное видео/изображение может формироваться через компьютер и т.п. В этом случае, процесс захвата видео/изображений может заменяться посредством процесса формирования связанных данных.
[61] Аппаратура кодирования может кодировать входное видео/изображение. Аппаратура кодирования может выполнять последовательность процедур, таких как прогнозирование, преобразование и квантование, для эффективности сжатия и кодирования. Кодированные данные (кодированная информация видео/изображений) могут выводиться в форме потока битов.
[62] Передатчик может передавать информацию или данные кодированного видео/изображений, выводимую в форме потока битов, в приемник приемного устройства через цифровой носитель хранения данных или сеть в форме файла или потоковой передачи. Цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик может включать в себя элемент для формирования мультимедийного файла через предварительно определенный формат файлов и может включать в себя элемент для передачи через широковещательную передачу/сеть связи. Приемник может принимать/извлекать поток битов и передавать принимаемый/извлеченный поток битов в аппаратуру декодирования.
[63] Аппаратура декодирования может декодировать видео/изображение посредством выполнения последовательности процедур, таких как деквантование, обратное преобразование, прогнозирование и т.п., соответствующих работе аппаратуры кодирования.
[64] Модуль рендеринга может осуществлять рендеринг декодированного видео/изображения. Подготовленное посредством рендеринга видео/изображение может отображаться через дисплей.
[65] Фиг. 2 является схемой, принципиально иллюстрирующей конфигурацию аппаратуры кодирования видео/изображений, к которому является применимым настоящее раскрытие сущности. В дальнейшем в этом документе, то, что называется "аппаратурой кодирования видео", может включать в себя аппаратуру кодирования изображений.
[66] Ссылаясь на фиг. 2, аппаратура 200 кодирования может включать в себя модуль 210 сегментации изображений, модуль 220 прогнозирования, остаточный процессор 230, энтропийный кодер 240, сумматор 250, фильтр 260 и запоминающее устройство 270. Модуль 220 прогнозирования может включать в себя модуль 221 взаимного прогнозирования и модуль 222 внутреннего прогнозирования. Остаточный процессор 230 может включать в себя преобразователь 232, квантователь 233, деквантователь 234, обратный преобразователь 235. Остаточный процессор 230 дополнительно может включать в себя вычитатель 231. Сумматор 250 может называться "модулем восстановления" или "формирователем восстановленных блоков". Модуль 210 сегментации изображений, модуль 220 прогнозирования, остаточный процессор 230, энтропийный кодер 240, сумматор 250 и фильтр 260, которые описываются выше, может состоять из одного или более аппаратных компонентов (например, наборов микросхем или процессоров кодера) согласно варианту осуществления. Дополнительно, запоминающее устройство 270 может включать в себя буфер декодированных кадров (DPB) и может быть сконфигурировано посредством цифрового носителя хранения данных. Аппаратный компонент дополнительно может включать в себя запоминающее устройство 270 в качестве внутреннего/внешнего компонента.
[67] Модуль 210 сегментации изображений может сегментировать входное изображение (либо кадр или видеокадр), вводимое в аппаратуру 200 кодирования, на одну или более единиц обработки. В качестве одного примера, единица обработки может называться "единицей кодирования (CU)". В этом случае, начиная с единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU), единица кодирования может рекурсивно сегментироваться согласно структуре в виде дерева квадрантов, двоичного дерева и троичного дерева (QTBTTT). Например, одна единица кодирования может разделяться на множество единиц кодирования большей глубины на основе структуры в виде дерева квадрантов, структуры в виде двоичного дерева и/или троичной структуры. В этом случае, например, сначала может применяться структура в виде дерева квадрантов, и впоследствии может применяться структура в виде двоичного дерева и/или троичная структура. Альтернативно, сначала может применяться структура в виде двоичного дерева. Процедура кодирования согласно настоящему раскрытию сущности может выполняться на основе конечной единицы кодирования, которая далее не сегментируется. В этом случае, максимальная единица кодирования может использоваться непосредственно в качестве конечной единицы кодирования на основе эффективности кодирования согласно характеристике изображения. Альтернативно, единица кодирования может рекурсивно сегментироваться на единицы кодирования дополнительной большей глубины по мере необходимости, так что единица кодирования оптимального размера может использоваться в качестве конечной единицы кодирования. Здесь, процедура кодирования может включать в себя такие процедуры, как прогнозирование, преобразование и восстановление, которые описываются ниже. В качестве другого примера, единица обработки дополнительно может включать в себя единицу прогнозирования (PU) или единицу преобразования (TU). В этом случае, единица прогнозирования и единица преобразования могут разбиваться или сегментироваться из вышеописанной конечной единицы кодирования. Единица прогнозирования может представлять собой единицу выборочного прогнозирования, и единица преобразования может представлять собой единицу для извлечения коэффициента преобразования и/или единицу для извлечения остаточного сигнала из коэффициента преобразования.
[68] "Единица" и такой термин, как "блок", "зона" и т.п., могут использоваться вместо друг друга согласно обстоятельствам. В общем случае, блок MxN может представлять набор выборок или коэффициентов преобразования, состоящий из M столбцов и N строк. Выборка, в общем, может представлять пиксел или значение пиксела и может представлять только пиксел/пиксельное значение компонента сигнала яркости либо только пиксел/пиксельное значение компонента сигнала цветности. Выборка может использоваться в качестве термина, соответствующего пикселу или пелу одного кадра (или изображения).
[69] Вычитатель 223 вычитает прогнозный сигнал (прогнозированный блок, массив прогнозных выборок), выводимый из модуля 221 взаимного прогнозирования или модуля 222 внутреннего прогнозирования, из сигнала входного изображения (исходного блока, массива исходных выборок), чтобы формировать остаточный сигнал (остаточный блок, массив остаточных выборок), и сформированный остаточный сигнал передается в преобразователь 232. В этом случае, как показано, модуль, который вычитает прогнозный сигнал (прогнозированный блок, массив прогнозных выборок) из сигнала входного изображения (исходного блока, массива исходных выборок) в кодере 200, может называться "вычитателем 231". Модуль прогнозирования может выполнять прогнозирование для целевого блока обработки (в дальнейшем в этом документе, называемого "текущим блоком") и может формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование, на основе текущего блока или CU. Как пояснено ниже в описании каждого режима прогнозирования, модуль прогнозирования может формировать различную информацию, связанную с прогнозированием, к примеру, информацию режима прогнозирования, и передавать сформированную информацию в энтропийный кодер 240. Информация относительно прогнозирования может кодироваться в энтропийном кодере 240 и выводиться в форме потока битов.
[70] Модуль 222 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Выборки для ссылки могут быть расположены в соседнем узле или с разнесением от текущего блока согласно режиму прогнозирования. При внутреннем прогнозировании, режимы прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Ненаправленные режимы могут включать в себя, например, DC-режим и планарный режим. Направленный режим может включать в себя, например, 33 режима направленного прогнозирования или 65 режимов направленного прогнозирования согласно степени детальности направления прогнозирования. Тем не менее, это представляет собой просто пример, и большее или меньшее число режимов направленного прогнозирования может использоваться в зависимости от настройки. Модуль 222 внутреннего прогнозирования может определять режим прогнозирования, применяемый к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.
[71] Модуль 221 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В это время, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться на основе блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, существующий в текущем кадре, и временной соседний блок, существующий в опорном кадре. Опорный кадр, включающий в себя опорный блок, и опорный кадр, включающий в себя временной соседний блок, могут быть идентичными друг другу или отличающимися друг от друга. Временной соседний блок может называться "совместно размещенным опорным блоком", "совместно размещенной CU (colCU)" и т.п., и опорный кадр, включающий в себя временной соседний блок, может называться "совместно размещенным кадром (colPic)". Например, модуль 221 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и формировать информацию, указывающую то, какой возможный вариант используется для того, чтобы извлекать вектор движения и/или индекс опорного кадра текущего блока. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования. Например, в случае режима пропуска и режима объединения, модуль 221 взаимного прогнозирования может использовать информацию движения соседнего блока в качестве информации движения текущего блока. В режиме пропуска, в отличие от режима объединения, остаточный сигнал может не передаваться. В случае режима прогнозирования информации движения (прогнозирования векторов движения, MVP), вектор движения соседнего блока может использоваться в качестве предиктора вектора движения, и вектор движения текущего блока может указываться посредством передачи в служебных сигналах разности векторов движения.
[72] Модуль 220 прогнозирования может формировать прогнозный сигнал на основе различных способов прогнозирования. Например, модуль прогнозирования может применять внутреннее прогнозирование или взаимное прогнозирование для прогнозирования относительно одного блока и, также, может применять внутреннее прогнозирование и взаимное прогнозирование одновременно. Это может называться "комбинированным взаимным и внутренним прогнозированием (CIIP)". Дополнительно, модуль прогнозирования может быть основан на режиме прогнозирования на основе внутриблочного копирования (IBC) либо на палитровом режиме, чтобы выполнять прогнозирование относительно блока. Режим IBC-прогнозирования или палитровый режим может использоваться для кодирования изображений/видео контента игры и т.п., к примеру, для кодирования экранного контента (SCC). Хотя IBC по существу выполняет прогнозирование в текущем блоке, оно может выполняться аналогично взаимному прогнозированию в том, что оно извлекает опорный блок в текущем блоке. Таким образом, IBC может использовать, по меньшей мере, одну из технологий взаимного прогнозирования, описанных в настоящем раскрытии сущности.
[73] Прогнозный сигнал, сформированный через модуль 221 взаимного прогнозирования и/или модуль 222 внутреннего прогнозирования, может использоваться для того, чтобы формировать восстановленный сигнал или формировать остаточный сигнал. Преобразователь 232 может формировать коэффициенты преобразования посредством применения технологии преобразования к остаточному сигналу. Например, технология преобразования может включать в себя, по меньшей мере, одно из дискретного косинусного преобразования (DCT), дискретного синусного преобразования (DST), преобразования Карунена-Лоэва (KLT), преобразования на основе графа (GBT) или условно нелинейного преобразования (CNT). Здесь, GBT означает преобразование, полученное из графа, когда информация взаимосвязи между пикселами представляется посредством графа. CNT означает преобразование, полученное на основе прогнозного сигнала, сформированного с использованием всех ранее восстановленных пикселов. Помимо этого, процесс преобразования может применяться к квадратным пиксельным блокам, имеющим идентичный размер, или может применяться к блокам, имеющим переменный размер, а не квадратный.
[74] Квантователь 233 может квантовать коэффициенты преобразования и передавать их в энтропийный кодер 240, и энтропийный кодер 240 может кодировать квантованный сигнал (информацию относительно квантованных коэффициентов преобразования) и выводить кодированный сигнал в потоке битов. Информация относительно квантованных коэффициентов преобразования может называться "остаточной информацией". Квантователь 233 может перекомпоновывать блочные квантованные коэффициенты преобразования в одномерную векторную форму на основе порядка сканирования коэффициентов и формировать информацию относительно квантованных коэффициентов преобразования на основе квантованных коэффициентов преобразования в одномерной векторной форме. Энтропийный кодер 240 может осуществлять различные способы кодирования, такие как, например, кодирование экспоненциальным кодом Голомба, контекстно-адаптивное кодирование переменной длины (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC) и т.п. Энтропийный кодер 240 может кодировать информацию, необходимую для восстановления видео/изображений, отличную от квантованных коэффициентов преобразования (например, значений синтаксических элементов и т.д.), вместе или отдельно. Кодированная информация (например, кодированная информация видео/изображений) может передаваться или сохраняться на основе единиц слоя абстрагирования от сети (NAL) в форме потока битов. Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS) и т.п. Дополнительно, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. В настоящем раскрытии сущности, информация и/или синтаксические элементы, которые передаются/сигнализируются в служебных сигналах в аппаратуру декодирования из аппаратуры кодирования, могут включаться в информацию видео/изображений. Информация видео/изображений может кодироваться через вышеописанную процедуру кодирования и включаться в поток битов. Поток битов может передаваться через сеть или сохраняться на цифровом носителе хранения данных. Здесь, сеть может включать в себя широковещательную сеть, сеть связи и т.п., и цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик (не показан), который передает сигнал, выводимый из энтропийного кодера 240, и/или модуль хранения (не показан), который сохраняет его, могут быть сконфигурированы как внутренний/внешний элемент аппаратуры 200 кодирования, либо передатчик может включаться в энтропийный кодер 240.
[75] Квантованные коэффициенты преобразования, выводимые из квантователя 233, могут использоваться для того, чтобы формировать прогнозный сигнал. Например, посредством применения деквантования и обратного преобразования к квантованным коэффициентам преобразования через деквантователь 234 и обратный преобразователь 235, остаточный сигнал (остаточный блок или остаточные выборки) может восстанавливаться. Сумматор 155 суммирует восстановленный остаточный сигнал с прогнозным сигналом, выводимым из модуля 221 взаимного прогнозирования или модуля 222 внутреннего прогнозирования, так что может формироваться восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок). Когда отсутствует остаток для целевого блока обработки, как в случае, когда режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока. Сумматор 250 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего целевого блока обработки в текущем блоке и, как описано ниже, может использоваться для взаимного прогнозирования следующего кадра посредством фильтрации.
[76] Между тем, в процессе кодирования и/или восстановления кадров может применяться преобразование сигнала яркости с масштабированием сигнала цветности (LMCS).
[77] Фильтр 260 может повышать субъективное/объективное качество видео посредством применения фильтрации к восстановленному сигналу. Например, фильтр 260 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и может сохранять модифицированный восстановленный кадр в запоминающем устройстве 270, в частности, в DPB запоминающего устройства 270. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, дискретизированное адаптивное смещение, адаптивный контурный фильтр, билатеральный фильтр и т.п. Как пояснено ниже в описании каждого способа фильтрации, фильтр 260 может формировать различную информацию, связанную с фильтрацией, и передавать сформированную информацию в энтропийный кодер 240. Информация относительно фильтрации может кодироваться в энтропийном кодере 240 и выводиться в форме потока битов.
[78] Модифицированный восстановленный кадр, который передан в запоминающее устройство 270, может использоваться в качестве опорного кадра в модуле 221 взаимного прогнозирования. Посредством этого, аппаратура кодирования может не допускать рассогласования прогнозирования в аппаратуре 100 кодирования и аппаратуре декодирования, когда применяется взаимное прогнозирование, и также может повышать эффективность кодирования.
[79] DPB запоминающего устройства 270 может сохранять модифицированный восстановленный кадр, чтобы использовать его в качестве опорного кадра в модуле 221 взаимного прогнозирования. Запоминающее устройство 270 может сохранять информацию движения блока в текущем кадре, из которой извлекается (или кодируется) информация движения, и/или информацию движения блоков в уже восстановленном кадре. Сохраненная информация движения может передаваться в модуль 221 взаимного прогнозирования для использования в качестве информации движения соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 270 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и передавать их в модуль 222 внутреннего прогнозирования.
[80] Фиг. 3 является схемой, принципиально иллюстрирующей конфигурацию аппаратуры декодирования видео/изображений, к которому является применимым настоящее раскрытие сущности.
[81] Ссылаясь на фиг. 3, аппаратура декодирования видео 300 может включать в себя энтропийный декодер 310, остаточный процессор 320, модуль 330 прогнозирования, сумматор 340, фильтр 350 и запоминающее устройство 360. Модуль 330 прогнозирования может включать в себя модуль 331 взаимного прогнозирования и модуль 332 внутреннего прогнозирования. Остаточный процессор 320 может включать в себя деквантователь 321 и обратный преобразователь 321. Энтропийный декодер 310, остаточный процессор 320, модуль 330 прогнозирования, сумматор 340 и фильтр 350, которые описываются выше, может состоять из одного или более аппаратных компонентов (например, наборов микросхем или процессоров декодера) согласно варианту осуществления. Дополнительно, запоминающее устройство 360 может включать в себя буфер декодированных кадров (DPB) и может быть сконфигурировано посредством цифрового носителя хранения данных. Аппаратный компонент дополнительно может включать в себя запоминающее устройство 360 в качестве внутреннего/внешнего компонента.
[82] Когда поток битов, включающий в себя информацию видео/изображений, вводится, аппаратура 300 декодирования может восстанавливать изображение, соответствующее процессу, посредством которого информация видео/изображений обработана в аппаратуре кодирования по фиг. 2. Например, аппаратура 300 декодирования может извлекать единицы/блоки на основе информации, связанной с сегментацией на блоки, полученной из потока битов. Аппаратура 300 декодирования может выполнять декодирование посредством использования единицы обработки, применяемой в аппаратуре кодирования. Следовательно, единица обработки декодирования, например, может представлять собой единицу кодирования, которая может сегментироваться вдоль структуры в виде дерева квадрантов, структуры в виде двоичного дерева и/или структуры в виде троичного дерева из единицы дерева кодирования или наибольшей единицы кодирования. Одна или более единиц преобразования могут извлекаться из единицы кодирования. Так же, восстановленный сигнал изображения, декодированный и выводимый через аппаратуру 300 декодирования может воспроизводиться через модуль воспроизведения.
[83] Аппаратура 300 декодирования может принимать сигнал, выводимый из аппаратуры кодирования по фиг. 2 в форме потока битов, и принимаемый сигнал может декодироваться через энтропийный декодер 310. Например, энтропийный декодер 310 может синтаксически анализировать поток битов, чтобы извлекать информацию (например, информацию видео/изображений), требуемую для восстановления изображений (или восстановления кадров). Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS) и т.п. Дополнительно, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. Аппаратура декодирования дополнительно может декодировать кадр на основе информации относительно набора параметров и/или общей информации ограничений. В настоящем раскрытии сущности, передаваемая в служебных сигналах/принимаемая информация и/или синтаксические элементы, которые описываются ниже, могут декодироваться посредством процедуры декодирования и получаться из потока битов. Например, энтропийный декодер 310 может декодировать информацию в потоке битов на основе способа кодирования, такого как кодирование экспоненциальным кодом Голомба, CAVLC, CABAC и т.п., и может выводить значение синтаксического элемента, необходимого для восстановления изображений, и квантованные значения коэффициента преобразования относительно остатка. Более конкретно, способ энтропийного CABAC-декодирования может принимать элемент разрешения, соответствующий каждому синтаксическому элементу в потоке битов, определять контекстную модель с использованием декодирования информации целевых синтаксических элементов и декодирования информации соседних и декодируемых целевых блоков либо информации символа/элемента разрешения, декодированного на предыдущем этапе, прогнозировать вероятность формирования элемента разрешения согласно определенной контекстной модели и выполнять арифметическое декодирование элемента разрешения, чтобы формировать символ, соответствующий каждому значению синтаксического элемента. Здесь, способ энтропийного CABAC-декодирования может обновлять контекстную модель с использованием информации символа/элемента разрешения, декодированного для контекстной модели следующего символа/элемента разрешения после определения контекстной модели. Информация относительно прогнозирования из информации, декодированной в энтропийном декодере 310, может предоставляться в модуль прогнозирования (модуль 332 взаимного прогнозирования и модуль 331 внутреннего прогнозирования), и остаточные значения, т.е. квантованные коэффициенты преобразования, для которых энтропийное декодирование выполнено в энтропийном декодере 310, и ассоциированная информация параметров могут вводиться в остаточный процессор 320. Остаточный процессор 320 может извлекать остаточный сигнал (остаточный блок, остаточные выборки, массив остаточных выборок). Дополнительно, информация относительно фильтрации из информации, декодированной в энтропийном декодере 310, может предоставляться в фильтр 350. Между тем, приемник (не показан), который принимает сигнал, выводимый из аппаратуры кодирования, дополнительно может составлять аппаратуру 300 декодирования в качестве внутреннего/внешнего элемента, и приемник может представлять собой компонент энтропийного декодера 310. Между тем, аппаратура декодирования согласно настоящему раскрытию сущности может называться "аппаратурой кодирования видео/изображений/кадров", и аппаратура декодирования может классифицироваться на информационный декодер (декодер информации видео/изображений/кадров) и выборочный декодер (декодер выборок видео/изображений/кадров). Информационный декодер может включать в себя энтропийный декодер 310, и выборочный декодер может включать в себя, по меньшей мере, одно из деквантователя 321, обратного преобразователя 322, сумматора 340, фильтра 350, запоминающего устройства 360, модуля 332 взаимного прогнозирования и модуля 331 внутреннего прогнозирования.
[84] Деквантователь 321 может выводить коэффициенты преобразования посредством деквантования квантованных коэффициентов преобразования. Деквантователь 321 может перекомпоновывать квантованные коэффициенты преобразования в форме двумерного блока. В этом случае, перекомпоновка может выполнять перекомпоновку на основе порядка сканирования коэффициентов, которое выполнено в аппаратуре кодирования. Деквантователь 321 может выполнять деквантование для квантованных коэффициентов преобразования с использованием параметра квантования (например, информации размера шага квантования) и получать коэффициенты преобразования.
[85] Деквантователь 322 получает остаточный сигнал (остаточный блок, массив остаточных выборок) посредством обратного преобразования коэффициентов преобразования.
[86] Модуль 230 прогнозирования может выполнять прогнозирование для текущего блока и может формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование к текущему блоку, на основе информации относительно прогнозирования, выводимой из энтропийного декодера 310, и, в частности, может определять режим внутреннего/взаимного прогнозирования.
[87] Модуль прогнозирования может формировать прогнозный сигнал на основе различных способов прогнозирования. Например, модуль прогнозирования может применять внутреннее прогнозирование или взаимное прогнозирование для прогнозирования относительно одного блока и, также, может применять внутреннее прогнозирование и взаимное прогнозирование одновременно. Это может называться "комбинированным взаимным и внутренним прогнозированием (CIIP)". Помимо этого, модуль прогнозирования может выполнять внутриблочное копирование (IBC) для прогнозирования для блока. Внутриблочное копирование может использоваться для кодирования изображений/видео контента игры и т.п., к примеру, для кодирования экранного контента (SCC). Хотя IBC по существу выполняет прогнозирование в текущем блоке, оно может выполняться аналогично взаимному прогнозированию в том, что оно извлекает опорный блок в текущем блоке. Таким образом, IBC может использовать, по меньшей мере, одну из технологий взаимного прогнозирования, описанных в настоящем раскрытии сущности.
[88] Модуль 331 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Выборки для ссылки могут быть расположены в соседнем узле или с разнесением от текущего блока согласно режиму прогнозирования. При внутреннем прогнозировании, режимы прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Модуль 331 внутреннего прогнозирования может определять режим прогнозирования, применяемый к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.
[89] Модуль 332 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В это время, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться на основе блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.д.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, существующий в текущем кадре, и временной соседний блок, существующий в опорном кадре. Например, модуль 332 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и извлекать вектор движения и/или индекс опорного кадра текущего блока на основе принимаемой информации выбора возможных вариантов. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования, и информация относительно прогнозирования может включать в себя информацию, указывающую режим взаимного прогнозирования для текущего блока.
[90] Сумматор 340 может формировать восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок) посредством суммирования полученного остаточного сигнала с прогнозным сигналом (прогнозированным блоком, массивом прогнозных выборок), выводимым из модуля 330 прогнозирования. Когда отсутствует остаток для целевого блока обработки, как в случае, когда режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока.
[91] Сумматор 340 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего целевого блока обработки в текущем блоке и, как описано ниже, может выводиться посредством фильтрации или использоваться для взаимного прогнозирования следующего кадра.
[92] Между тем, в процессе декодирования кадров, может применяться преобразование сигнала яркости с масштабированием сигнала цветности (LMCS).
[93] Фильтр 350 может повышать субъективное/объективное качество видео посредством применения фильтрации к восстановленному сигналу. Например, фильтр 350 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и может передавать модифицированный восстановленный кадр в запоминающем устройстве 360, в частности, в DPB запоминающего устройства 360. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, дискретизированное адаптивное смещение, адаптивный контурный фильтр, билатеральный фильтр и т.п.
[94] (Модифицированный) восстановленный кадр, который сохранен в DPB запоминающего устройства 360, может использоваться в качестве опорного кадра в модуле 332 взаимного прогнозирования. Запоминающее устройство 360 может сохранять информацию движения блока в текущем кадре, из которой информация движения извлечена (или декодирована), и/или информацию движения блоков в уже восстановленном кадре. Сохраненная информация движения может передаваться в модуль 260 взаимного прогнозирования для использования в качестве информации движения соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 360 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и передавать их в модуль 331 внутреннего прогнозирования.
[95] В этом подробном описании, примеры, описанные в модуле 330 прогнозирования, деквантователе 321, обратном преобразователе 322 и фильтре 350 аппаратуры 300 декодирования, могут аналогично или соответственно применяться к модулю 220 прогнозирования, деквантователю 234, обратному преобразователю 235 и фильтру 260 аппаратуры 200 кодирования, соответственно.
[96] Как описано выше, прогнозирование выполняется для того, чтобы повышать эффективность сжатия при выполнении кодирования видео. За счет этого, может формироваться прогнозированный блок, включающий в себя прогнозные выборки для текущего блока, который представляет собой целевой блок кодирования. Здесь, прогнозированный блок включает в себя прогнозные выборки в пространственной области (или пиксельной области). Прогнозированный блок может идентично извлекаться в аппаратуре кодирования и аппаратуре декодирования, и аппаратура кодирования может повышать эффективность кодирования изображений посредством передачи в служебных сигналах в аппаратуру декодирования не исходного выборочного значения самого исходного блока, а информации относительно остатка (остаточной информации) между исходным блоком и прогнозированным блоком. Аппаратура декодирования может извлекать остаточный блок, включающий в себя остаточные выборки на основе остаточной информации, формировать восстановленный блок, включающий в себя восстановленные выборки, посредством суммирования остаточного блока с прогнозированным блоком, и формировать восстановленный кадр, включающий в себя восстановленные блоки.
[97] Остаточная информация может формироваться через процедуры преобразования и квантования. Например, аппаратура кодирования может извлекать остаточный блок между исходным блоком и прогнозированным блоком, извлекать коэффициенты преобразования посредством выполнения процедуры преобразования для остаточных выборок (массива остаточных выборок), включенных в остаточный блок, и извлекать квантованные коэффициенты преобразования посредством выполнения процедуры квантования для коэффициентов преобразования, так что оно может передавать в служебных сигналах ассоциированную остаточную информацию в аппаратуру декодирования (через поток битов). Здесь, остаточная информация может включать в себя информацию значений, информацию позиции, технологию преобразования, ядро преобразования, параметр квантования и т.п. квантованных коэффициентов преобразования. Аппаратура декодирования может выполнять процедуру квантования/деквантования и извлекать остаточные выборки (или блок остаточных выборок), на основе остаточной информации. Аппаратура декодирования может формировать восстановленный блок на основе прогнозированного блока и остаточного блока. Аппаратура кодирования может извлекать остаточный блок посредством деквантования/обратного преобразования квантованных коэффициентов преобразования для ссылки для взаимного прогнозирования следующего кадра и может формировать восстановленный кадр на его основе.
[98] Фиг. 4 схематично иллюстрирует технологию множественного преобразования согласно варианту осуществления настоящего раскрытия сущности.
[99] Ссылаясь на фиг. 4, преобразователь может соответствовать преобразователю в аппаратуре кодирования вышеприведенного фиг. 2, и обратный преобразователь может соответствовать обратному преобразователю в аппаратуре кодирования вышеприведенного фиг. 2 либо обратному преобразователю в аппаратуре декодирования по фиг. 3.
[100] Преобразователь может извлекать коэффициенты (первичного) преобразования посредством выполнения первичного преобразования на основе остаточных выборок (массива остаточных выборок) в остаточном блоке (S410). Это первичное преобразование может называться "базовым преобразованием". В данном документе, первичное преобразование может быть основано на множественном выборе преобразования (MTS), и когда множественное преобразование применяется в качестве первичного преобразования, оно может называться "многоядерным преобразованием".
[101] Многоядерное преобразование может представлять способ преобразования дополнительно с использованием дискретного косинусного преобразования (DCT) тип 2 и дискретного синусного преобразования (DST) тип 7, DCT типа 8 и/или DST типа 1. Таким образом, многоядерное преобразование может представлять способ преобразования для преобразования остаточного сигнала (или остаточного блока) пространственной области в коэффициенты преобразования (или коэффициенты первичного преобразования) частотной области на основе множества ядер преобразования, выбранных из числа DCT типа 2, DST типа 7, DCT типа 8 и DST типа 1. В данном документе, коэффициенты первичного преобразования могут называться "временными коэффициентами преобразования" с точки зрения преобразователя.
[102] Таким образом, когда традиционный способ преобразования применяется, коэффициенты преобразования могут формироваться посредством применения преобразования из пространственной области в частотную область к остаточному сигналу (или остаточному блоку) на основе DCT типа 2. Тем не менее, когда многоядерное преобразование применяется, коэффициенты преобразования (или коэффициенты первичного преобразования) могут формироваться посредством применения преобразования из пространственной области в частотную область к остаточному сигналу (или остаточному блоку) на основе DCT типа 2, DST типа 7, DCT типа 8 и/или DST типа 1. Здесь, DCT тип 2, DST тип 7, DCT тип 8 и DST тип 1 могут называться "типами преобразования", "ядрами преобразования" (transform kernels или transform cores). Эти DCT/DST типы могут задаваться на основе базисных функций.
[103] Если множественное базовое преобразование выполняется, то ядро вертикального преобразования и ядро горизонтального преобразования для целевого блока могут выбираться из числа ядер преобразования, вертикальное преобразование для целевого блока может выполняться на основе ядра вертикального преобразования, и горизонтальное преобразование для целевого блока может выполняться на основе ядра горизонтального преобразования. Здесь, горизонтальное преобразование может представлять преобразование для горизонтальных компонентов целевого блока, и вертикальное преобразование может представлять преобразование для вертикальных компонентов целевого блока. Ядро вертикального преобразования/ядро горизонтального преобразования может адаптивно определяться на основе режима прогнозирования и/или индекса преобразования целевого блока (CU или субблока), включающего в себя остаточный блок.
[104] Дополнительно, согласно примеру, если первичное преобразование выполняется посредством применения MTS, взаимосвязь преобразования для ядер преобразования может задаваться посредством задания конкретных базисных функций равными предварительно определенным значениям и комбинирования базисных функций, которые должны применяться при вертикальном преобразовании или горизонтальном преобразовании. Например, когда ядро горизонтального преобразования выражается как trTypeHor, и ядро преобразования вертикального направления выражается как trTypeVer, значение trTypeHor или trTypeVer в 0 может задаваться для DCT2, значение trTypeHor или trTypeVer в 1 может задаваться для DST7, и значение trTypeHor или trTypeVer в 2 может задаваться для DCT8.
[105] В этом случае, информация MTS-индекса может кодироваться и передаваться в служебных сигналах в аппаратуру декодирования, чтобы указывать любой из множества наборов ядер преобразования. Например, MTS-индекс в 0 может указывать то, что значения trTypeHor и trTypeVer равны 0, MTS-индекс в 1 может указывать то, что значения trTypeHor и trTypeVer равны 1, MTS-индекс в 2 может указывать то, что значение trTypeHor равно 2, и значение trTypeVer равно 1, MTS-индекс 3 может указывать то, что значение trTypeHor равно 1, и значение trTypeVer равно 2, и MTS-индекс 4 может указывать то, что оба значения trTypeHor и trTypeVer равны 2.
[106] В одном примере, наборы ядер преобразования согласно информации MTS-индекса проиллюстрированы в следующей таблице.
[107] Табл. 1
[108] В другом примере, trTypeHor и trTypeVer согласно информации MTS-индекса (mts_idx[x][y]) и режиму прогнозирования (CuPredMode[x][y]) для текущего блока (например, текущего блока кодирования) проиллюстрированы следующим образом.
[109] Табл. 2
[110] Преобразователь может извлекать модифицированные коэффициенты (вторичного) преобразования посредством выполнения вторичного преобразования на основе коэффициентов (первичного) преобразования (S420). Первичное преобразование представляет собой преобразование из пространственной области в частотную область, и вторичное преобразование означает преобразование в более сжимающее выражение посредством использования корреляции, существующей между коэффициентами (первичного) преобразования. Вторичное преобразование может включать в себя неразделимое преобразование. В этом случае, вторичное преобразование может называться "неразделимым вторичным преобразованием (NSST)" или "зависимым от режима неразделимым вторичным преобразованием (MDNSST)". Неразделимое вторичное преобразование может представлять преобразование, которое формирует модифицированные коэффициенты преобразования (или коэффициенты вторичного преобразования) для остаточного сигнала посредством вторичного преобразования, на основе матрицы неразделимого преобразования, коэффициентов (первичного) преобразования, извлекаемых через первичное преобразование. В это время, вертикальное преобразование и горизонтальное преобразование могут не применяться отдельно (либо горизонтальное и вертикальное преобразования могут не применяться независимо) к коэффициентам (первичного) преобразования, но преобразования могут применяться сразу на основе матрицы неразделимого преобразования. Другими словами, неразделимое вторичное преобразование может представлять способ преобразования, в котором вертикальный и горизонтальный компоненты коэффициентов (первичного) преобразования не разделяются, и, например, двумерные сигналы (коэффициенты преобразования) перекомпонуются в одномерный сигнал через конкретное определенное направление (например, направление сначала по строкам или направление сначала по столбцам), и затем модифицированные коэффициенты преобразования (или коэффициенты вторичного преобразования) формируются на основе матрицы неразделимого преобразования. Например, согласно порядку сначала по строкам, блоки MxN располагаются в линию в порядке "первая строка, вторая строка, ..., и N-ая строка". Согласно порядку сначала по столбцам, блоки MxN располагаются в линию в порядке "первый столбец, второй столбец, ..., и N-ый столбец". Неразделимое вторичное преобразование может применяться к левой верхней области блока, сконфигурированного с коэффициентами (первичного) преобразования (в дальнейшем в этом документе, может называться "блоком коэффициентов преобразования"). Например, если ширина (W) и высота (H) блока коэффициентов преобразования равны или больше 8, неразделимое вторичное преобразование 8×8 может применяться к левой верхней области 8×8 блока коэффициентов преобразования. Дополнительно, если ширина (W) и высота (H) блока коэффициентов преобразования равны или больше 4, и ширина (W) или высота (H) блока коэффициентов преобразования меньше 8, то неразделимое вторичное преобразование 4×4 может применяться к левой верхней области min(8, W) x min(8, H) блока коэффициентов преобразования. Тем не менее, вариант осуществления не ограничен, этим и, например, даже если только такое условие, что ширина (W) или высота (H) блока коэффициентов преобразования равна или выше 4, удовлетворяется, неразделимое вторичное преобразование 4×4 может применяться к левой верхней области min(8, W) x min(8, H) блока коэффициентов преобразования.
[111] Преобразователь может выполнять неразделимое вторичное преобразование на основе выбранных ядер преобразования и может получать модифицированные коэффициенты (вторичного) преобразования. Как описано выше, модифицированные коэффициенты преобразования могут извлекаться в качестве коэффициентов преобразования, квантованных через квантователь, и могут кодироваться и передаваться в служебных сигналах в аппаратуру декодирования и передаваться в деквантователь/обратный преобразователь в аппаратуре кодирования.
[112] Между тем, как описано выше, если вторичное преобразование опускается, коэффициенты (первичного) преобразования, которые представляют собой вывод первичного (разделимого) преобразования, могут извлекаться в качестве коэффициентов преобразования, квантованных через квантователь, как описано выше, и могут кодироваться и передаваться в служебных сигналах в аппаратуру декодирования и передаваться в деквантователь/обратный преобразователь в аппаратуре кодирования.
[113] Обратный преобразователь может выполнять последовательность процедур в обратном порядке по отношению к порядку, в котором они выполнены в вышеописанном преобразователе. Обратный преобразователь может принимать (деквантованные) коэффициенты преобразования и извлекать коэффициенты (первичного) преобразования посредством выполнения вторичного (обратного) преобразования (S450) и может получать остаточный блок (остаточные выборки) посредством выполнения первичного (обратного) преобразования для коэффициентов (первичного) преобразования (S460). В этой связи, коэффициенты первичного преобразования могут называться "модифицированными коэффициентами преобразования" с точки зрения обратного преобразователя. Как описано выше, аппаратура кодирования и аппаратура декодирования могут формировать восстановленный блок на основе остаточного блока и прогнозированного блока и могут формировать восстановленное изображение на основе восстановленного блока.
[114] Аппаратура декодирования дополнительно может включать в себя модуль определения применения вторичного обратного преобразования (либо элемент для того, чтобы определять то, следует или нет применять вторичное обратное преобразование) и модуль определения вторичного обратного преобразования (либо элемент для того, чтобы определять вторичное обратное преобразование). Модуль определения применения вторичного обратного преобразования может определять то, следует или нет применять вторичное обратное преобразование. Например, вторичное обратное преобразование может представлять собой NSST или RST, и модуль определения применения вторичного обратного преобразования может определять то, следует или нет применять вторичное обратное преобразование, на основе флага вторичного преобразования, полученного посредством синтаксического анализа потока битов. В другом примере, модуль определения применения вторичного обратного преобразования может определять то, следует или нет применять вторичное обратное преобразование, на основе коэффициента преобразования остаточного блока.
[115] Модуль определения вторичного обратного преобразования может определять вторичное обратное преобразование. В этом случае, модуль определения вторичного обратного преобразования может определять вторичное обратное преобразование, применяемое к текущему блоку, на основе набора для NSST-(или RST-)преобразования, указываемого согласно режиму внутреннего прогнозирования. В варианте осуществления, способ определения вторичного преобразования может определяться в зависимости от способа определения первичного преобразования. Различные комбинации первичных преобразований и вторичных преобразований могут определяться согласно режиму внутреннего прогнозирования. Дополнительно, в примере, модуль определения вторичного обратного преобразования может определять область, к которой применяется вторичное обратное преобразование, на основе размера текущего блока.
[116] Между тем, как описано выше, если вторичное (обратное) преобразование опускается, (деквантованные) коэффициенты преобразования могут приниматься, первичное (разделимое) обратное преобразование может выполняться, и остаточный блок (остаточные выборки) может получаться. Как описано выше, аппаратура кодирования и аппаратура декодирования могут формировать восстановленный блок на основе остаточного блока и прогнозированного блока и могут формировать восстановленное изображение на основе восстановленного блока.
[117] Между тем, в настоящем раскрытии сущности, сокращенное вторичное преобразование (RST), в котором размер матрицы (ядра) преобразования уменьшается, может применяться в понятии NSST, чтобы уменьшать объем вычислений и запоминающее устройство, требуемое для неразделимого вторичного преобразования.
[118] Между тем, ядро преобразования, матрица преобразования и коэффициент, составляющий матрицу ядер преобразования, т.е. коэффициент ядра или коэффициент матрицы, описанный в настоящем раскрытии сущности, могут выражаться в 8 битах. Это может представлять собой условие для реализации в аппаратуре декодирования и аппаратуре кодирования и позволяет уменьшать объем запоминающего устройства, требуемый для того, чтобы сохранять ядро преобразования, с ухудшением производительности, которое может приспосабливаться в достаточной степени по сравнению с существующими 9 битами или 10 битами. Помимо этого, выражение матрицы ядер в 8 битах может обеспечивать возможность использования небольшого умножителя и может быть более подходящим для инструкций с одним потоком инструкций и несколькими потоками данных (SIMD), используемых для оптимальной программной реализации.
[119] В настоящем описании изобретения, термин "RST" может означать преобразование, которое выполняется для остаточных выборок для целевого блока на основе матрицы преобразования, размер которой сокращается согласно сокращенному коэффициенту. В случае выполнения сокращенного преобразования, объем вычислений, требуемый для преобразования, может уменьшаться вследствие уменьшения размера матрицы преобразования. Таким образом, RST может использоваться для того, чтобы разрешать проблему вычислительной сложности, возникающую при неразделимом преобразовании или преобразовании блока большого размера.
[120] RST может называться с помощью различных терминов, таких как "сокращенное преобразование", "сокращенное вторичное преобразование", "преобразование с сокращением", "упрощенное преобразование", "простое преобразование" и т.п., и название, с помощью которого может называться RST, не ограничено перечисленными примерами. Альтернативно, поскольку RST главным образом выполняется в низкочастотной области, включающей в себя ненулевой коэффициент в блоке преобразования, оно может называться "низкочастотным неразделимым преобразованием (LFNST)".
[121] Между тем, когда вторичное обратное преобразование выполняется на основе RST, обратный преобразователь 235 аппаратуры 200 кодирования и обратный преобразователь 322 аппаратуры 300 декодирования могут включать в себя обратный сокращенный вторичный преобразователь, который извлекает модифицированные коэффициенты преобразования на основе обратного RST коэффициентов преобразования, и обратный первичный преобразователь, который извлекает остаточные выборки для целевого блока на основе обратного первичного преобразования модифицированных коэффициентов преобразования. Обратное первичное преобразование означает обратное преобразование первичного преобразования, применяемого к остатку. В настоящем раскрытии сущности, извлечение коэффициента преобразования на основе преобразования может означать извлечение коэффициента преобразования посредством применения преобразования.
[122] В дальнейшем в этом документе, описывается множественный выбор (или набор) для сокращенного адаптивного (или явного) преобразования (RMTS).
[123] Как описано выше, когда комбинации множества преобразований (DCT2, DST7, DCT8, DST1, DCT5 и т.п.) во множественном наборе для преобразования (явное множественное преобразование или адаптивное множественное преобразование) избирательно используются для первичного преобразования, преобразование может применяться только к предварительно заданной области, чтобы уменьшать сложность, вместо выполнения преобразования во всех случаях, за счет этого значительно уменьшая сложность в худшем случае.
[124] Например, когда первичное преобразование применяется к пиксельному блоку MxM на основе вышеприведенного способа сокращенного преобразования (RT), только вычисление для блока преобразования RxR (М>=R) может выполняться вместо получения блока преобразования MxM. Как результат, значимые коэффициенты (ненулевые коэффициенты) существуют только в области RxR, и коэффициенты, существующие в другой области, могут рассматриваться как нули без вычисления. Следующая таблица иллюстрирует три примера сокращенного адаптивного множественного преобразования (RAMT) с использованием коэффициента (R) сокращенного преобразования, предварительно заданного согласно размеру блока, к которому применяется первичное преобразование.
[125] Табл. 3
Размер преобразования
Сокращенное преобразование 1
Сокращенное преобразование 2
Сокращенное преобразование 3
8×8
4×4
6×6
6×6
16×16
8×8
12×12
8×8
32×32
16×16
16×16
16×16
64×64
32×32
16×16
16×16
128×128
32×32
16×16
16×16
[126] Согласно примеру, при применении сокращенных множественных преобразований, проиллюстрированных выше, коэффициент сокращенного преобразования может определяться на основе первичного преобразования. Например, когда первичное преобразование представляет собой DCT2, вычисление является простым по сравнению с другими первичными преобразованиями, и в силу этого сокращенное преобразование может не использоваться для небольшого блока, или относительно большое R-значение может использоваться для небольшого блока, за счет этого минимизируя снижение производительности кодирования. Например, различные коэффициенты сокращенного преобразования могут использоваться для DCT2 и других преобразований следующим образом.
[127] Табл. 4
Размер преобразования
Сокращенное преобразование для DCT2
Сокращенное преобразование, отличное от DCT2
8×8
8×8
4×4
16×16
16×16
8×8
32×32
32×32
16×16
64×64
32×32
32×32
128×128
32×32
32×32
[128] Как показано в таблице 4, когда первичное преобразование представляет собой DCT2, размер преобразования не изменяется, когда размер блока, который должен преобразовываться, составляет 8×8 или 16×16, и уменьшенный размер преобразования ограничен 32×32, когда размер блока составляет 32×32 или больше.
[129] Альтернативно, согласно примеру, когда значение флага, указывающее то, применяется или нет MTS, равно 0 (т.е. когда DCT2 применяется для горизонтального и вертикального направлений), только 32 коэффициента слева или сверху могут оставляться, и высокочастотные компоненты могут обнуляться, т.е. задаваться равными нулям для (горизонтального и вертикального) направлений (вариант 1 осуществления на основе обнуления).
[130] Например, в единице преобразования (TU) 64×64, коэффициенты преобразования оставляются только в левой верхней области 32×32, в TU 64×16, коэффициенты преобразования оставляются только в левой верхней области 32×16, и в TU 8×64, коэффициенты преобразования оставляются только в левой верхней области 8×32. Таким образом, коэффициенты преобразования существуют согласно только вплоть до максимальной длины в 32 по ширине и по высоте.
[131] Этот способ обнуления может применяться только к остаточному сигналу, к которому применяется внутреннее прогнозирование, либо может применяться только к остаточному сигналу, к которому применяется взаимное прогнозирование. Альтернативно, способ обнуления может применяться как к остаточному сигналу, к которому применяется внутреннее прогнозирование, так и к остаточному сигналу, к которому применяется взаимное прогнозирование.
[132] Изменение размера блока преобразования, который может выражаться как вышеприведенное обнуление или высокочастотное обнуление, означает процесс обнуления (определения в качестве нулей) коэффициентов преобразования, связанных с высокой частотой определенного значения или более в блоке (преобразования), имеющем первую ширину (или длину) в W1 и первую высоту (или длину) в H1. Когда высокочастотное обнуление применяется, значения коэффициентов преобразования для всех коэффициентов преобразования за пределами области низкочастотных коэффициентов преобразования, сконфигурированной на основе второй ширины в W2 и второй высоты в H2 из числа коэффициентов преобразования в блоке (преобразования), могут определяться (задаваться) в качестве нулей. Наружная часть по отношению к области низкочастотных коэффициентов преобразования может называться "областью высокочастотных коэффициентов преобразования". В примере, область низкочастотных коэффициентов преобразования может представлять собой прямоугольную область, позиционированную с левого верхнего конца блока (преобразования).
[133] Таким образом, высокочастотное обнуление может задаваться как задание всех коэффициентов преобразования в позиции, заданной посредством координаты X в N или более и координаты Y в M или более, равным нулям, при этом горизонтальное значение координаты X левой верхней позиции текущего блока преобразования (TB) задается равным 0, и вертикальное значение координаты Y этого задается равным 0 (и при этом координаты X увеличиваются слева направо, и координаты Y увеличиваются вниз).
[134] При использовании в данном документе, конкретный термин или выражение используются для того, чтобы задавать конкретную информацию или понятие. Например, как описано выше, в настоящем раскрытии сущности, процесс обнуления коэффициентов преобразования, связанных с высокой частотой определенного значения или более в блоке (преобразования), имеющем первую ширину (или длину) в W1 и первую высоту (или длину) в H1, задается как "высокочастотное обнуление", область, в которой обнуление выполняется через высокочастотное обнуление, задается как "область высокочастотных коэффициентов преобразования" и область, в которой обнуление не выполняется, задается как "область низкочастотных коэффициентов преобразования". Вторая ширина (или длина) в W2 и вторая высота (длина) в H2 используются для того, чтобы выражать размер области низкочастотных коэффициентов преобразования.
[135] Тем не менее, "высокочастотное обнуление" может заменяться посредством различных терминов, таких как высокочастотное обнуление (high frequency zeroing, high frequency zeroing-out, high-frequency zeroing-out, high-frequency zero-out) и обнуление, и "область высокочастотных коэффициентов преобразования" может заменяться посредством различных терминов, таких как область применения высокочастотного обнуления, область высокочастотного обнуления, высокочастотная область, область высокочастотных коэффициентов, область высокочастотного обнуления и область обнуления, и "область низкочастотных коэффициентов преобразования" может заменяться посредством различных терминов, таких как область без применения высокочастотного обнуления, низкочастотная область, область низкочастотных коэффициентов и ограниченная область. Таким образом, конкретный термин или выражение, используемое в данном документе для того, чтобы задавать конкретную информацию или понятие, должно интерпретироваться во всем подробном описании с учетом различных операций, функций и преимуществ согласно содержанию, указываемому посредством термина, без ограничения обозначением.
[136] Альтернативно, согласно примеру, область низкочастотных коэффициентов преобразования означает оставшуюся область после того, как высокочастотное обнуление выполняется, или область, в которой значимый коэффициент преобразования остается, и может называться "областью обнуления" или "обнуляемым блоком".
[137] Согласно примеру, когда значение флага, указывающее то, применяется или нет MTS, равно 1, т.е. когда другое преобразование (DST7 или DCT8), отличное от DCT2, является применимым для горизонтального направления и вертикального направления, коэффициенты преобразования могут оставляться только в левой верхней области, и оставшаяся область может обнуляться следующим образом (вариант 2 осуществления на основе обнуления).
n
p
[138] - Когда ширина (w) равна или выше 2, только коэффициенты преобразования, соответствующие длине в w/2 слева, могут оставляться, и оставшиеся коэффициенты преобразования могут задаваться фиксированно равными нулям (обнуляться).
m
q
[139] - Когда высота (h) равна или выше 2, только коэффициенты преобразования, соответствующие длине в h/2 сверху, и остающиеся коэффициентами преобразования, могут задаваться фиксированно равными нулям (обнуляться).
[140] Здесь, m, n, p и q могут быть целыми числами, равными или большими 0, и конкретно могут быть следующими:
[141] 1) (m, n, p, q)=(5, 5, 1, 1)
[142] 2) (m, n, p, q)=(4, 4, 1, 1)
[143] В конфигурации 1), коэффициенты преобразования остаются только в левой верхней области 16×16 в TU 32×16, и коэффициенты преобразования остаются только в левой верхней области 8×16 в TU 8×32.
[144] Этот способ обнуления может применяться только к остаточному сигналу, к которому применяется внутреннее прогнозирование, либо может применяться только к остаточному сигналу, к которому применяется взаимное прогнозирование. Альтернативно, способ обнуления может применяться как к остаточному сигналу, к которому применяется внутреннее прогнозирование, так и к остаточному сигналу, к которому применяется взаимное прогнозирование.
[145] Альтернативно, согласно другому примеру, когда значение флага, указывающее то, применяется или нет MTS, равно 1, т.е. когда другое преобразование (DST7 или DCT8), отличное от DCT2, является применимым для горизонтального направления и вертикального направления, коэффициенты преобразования могут оставляться только в левой верхней области, и оставшаяся область может обнуляться следующим образом (вариант 3 осуществления на основе обнуления).
n
p
[146] - Когда высота (h) равна или выше ширины (w) и равна или выше 2, только коэффициенты преобразования в левой верхней области wx(h/2) могут оставляться, и оставшиеся коэффициенты преобразования могут задаваться фиксированно равными нулям (обнуляться).
m
q
[147] - Когда ширина (w) превышает высоту (h) и равна или выше 2, только коэффициенты преобразования в левой верхней области (w/2)xh, и оставшиеся коэффициенты преобразования могут задаваться фиксированно равными нулям (обнуляться).
p
q
[148] В вышеуказанных условиях, когда высота (h) и ширина (w) являются идентичными, длина по вертикали уменьшается (h/2), но длина по горизонтали может уменьшаться (w/2).
[149] Здесь, m, n, p и q могут быть целыми числами, равными или большими 0, и конкретно могут быть следующими:
[150] 1) (m, n, p, q)=(4, 4, 1, 1)
[151] 2) (m, n, p, q)=(5, 5, 1, 1)
[152] В конфигурации 1), коэффициенты преобразования остаются только в левой верхней области 16×16 в TU 32×16, и коэффициенты преобразования остаются только в левой верхней области 8×8 в TU 8×16.
[153] Этот способ обнуления может применяться только к остаточному сигналу, к которому применяется внутреннее прогнозирование, либо может применяться только к остаточному сигналу, к которому применяется взаимное прогнозирование. Альтернативно, способ обнуления может применяться как к остаточному сигналу, к которому применяется внутреннее прогнозирование, так и к остаточному сигналу, к которому применяется взаимное прогнозирование.
[154] В вышеприведенных вариантах осуществления, область коэффициентов преобразования ограничена в зависимости от того, в каком месте значение флага, указывающее то, применяется или нет MTS, равно 0, или в каком месте значение флага, указывающее то, применяется или нет MTS, равно 1. Согласно одному примеру, комбинации этих вариантов осуществления являются возможными.
[155] 1) Вариант 1 осуществления на основе обнуления + вариант 2 осуществления на основе обнуления
[156] 2) Вариант 1 осуществления на основе обнуления + вариант 3 осуществления на основе обнуления
[157] Как упомянуто в варианте 2 осуществления на основе обнуления и в варианте 3 осуществления на основе обнуления, обнуление может применяться только к остаточному сигналу, к которому применяется внутреннее прогнозирование, либо может применяться только к остаточному сигналу, к которому применяется взаимное прогнозирование. Альтернативно, способ обнуления может применяться как к остаточному сигналу, к которому применяется внутреннее прогнозирование, так и к остаточному сигналу, к которому применяется взаимное прогнозирование. Соответственно, когда MTS-флаг равен 1, следующая таблица может быть сконфигурирована (когда MTS-флаг равен 0, вариант 1 осуществления на основе обнуления может применяться).
[158] Табл. 5
Индекс конфигурации
Остаточные сигналы внутреннего прогнозирования
Остаточные сигналы взаимного прогнозирования
1
Обнуление не применяется
Обнуление не применяется
2
Обнуление не применяется
Вариант 2 осуществления на основе обнуления
3
Обнуление не применяется
Вариант 3 осуществления на основе обнуления
4
Вариант 2 осуществления на основе обнуления
Обнуление не применяется
5
Вариант 2 осуществления на основе обнуления
Вариант 2 осуществления на основе обнуления
6
Вариант 2 осуществления на основе обнуления
Вариант 3 осуществления на основе обнуления
7
Вариант 3 осуществления на основе обнуления
Обнуление не применяется
3
Вариант 3 осуществления на основе обнуления
Вариант 2 осуществления на основе обнуления
9
Вариант 3 осуществления на основе обнуления
Вариант 3 осуществления на основе обнуления
[159] В варианте 1 осуществления на основе обнуления, в варианте 2 осуществления на основе обнуления и в варианте 3 осуществления на основе обнуления, область, неизбежно включающая в себя значение в 0 в TU, четко задается. Таким образом, область, отличная от левой верхней области, в которой коэффициенту преобразования разрешается существовать, обнуляется. Соответственно, согласно варианту осуществления, может задаваться конфигурация с возможностью обходить область, в которой коэффициент преобразования определенно имеет значение 0, в результате энтропийного кодирования остаточного сигнала, вместо выполнения остаточного кодирования. Например, следующая конфигурация является возможной.
[160] 1) В HEVC или VVC, флаг, указывающий то, существует или нет ненулевой коэффициент преобразования в одной группе коэффициентов (CG, которая может представлять собой 4×4 или 2×2 в зависимости от форм субблока и TU-блока и компонента сигнала яркости/компонент сигнала цветности), кодируется (subblock_flag). Только тогда, когда subblock_flag равен 1, внутренняя часть CG сканируется, и значения уровня коэффициентов кодируются. Соответственно, для CG, принадлежащих области, в которой обнуление выполняется, subblock_flag может задаваться равным значению 0 по умолчанию вместо кодирования.
[161] 2) В HEVC или VVC, позиция последнего коэффициента (last_coefficient_position_x в направлении по оси X и last_coefficient_position_y в направлении по оси Y) в прямом порядке сканирования кодируется сначала. Обычно, last_coefficient_position_x и last_coefficient_position_y могут иметь максимальное значение (ширина TU-1) и максимальное значение (высота TU-1), соответственно. Тем не менее, когда область, в которой может существовать ненулевой коэффициент, ограничена вследствие обнуления, максимальные значения last_coefficient_position_x и last_coefficient_position_y также ограничены. Соответственно, максимальные значения last_coefficient_position_x и last_coefficient_position_y могут быть ограничены с учетом обнуления и затем могут кодироваться. Например, когда способ преобразования в двоичную форму, применяемый к last_coefficient_position_x, и last_coefficient_position_y, представляет собой усеченное унарное преобразование в двоичную форму, максимальная длина усеченного унарного кода (длина кодового слова, которую last_coefficient_position_x и last_coefficient_position_y могут иметь) может уменьшаться на основе отрегулированных максимальных значений.
[162] Как описано выше, обнуление может применяться, в частности, в случае, если левая верхняя область 32×32 представляет собой область низкочастотных коэффициентов преобразования (в дальнейшем в этом документе называется "32-точечным сокращенным MTS" или "RMTS32"), в случае, если MTS-схема применяется, и в любом случае, если применяется 32-точечное DST7 или 32-точечное DCT8.
[163] Фиг. 5 иллюстрирует 32-точечное обнуление согласно примеру настоящего раскрытия сущности.
[164] Как показано на фиг. 5, когда блок разделяется, и преобразование применяется к области A, DST7 или DCT8 могут применяться к каждой стороне, и пара преобразований, применяемая в горизонтальном и вертикальном направлениях, не ограничена примером, проиллюстрированным на фиг. 5. На фиг. 5, ширина и высота всего блока обозначаются посредством w и h, соответственно, и ширина и высота блока, к которому фактически применяется разделимое преобразование, выражаются как пара (ширина, высота), которая составляет (w1, h) или (w, h1); w1 может быть равна 1/2 или 1/4 от w, и h1 также может быть равна 1/2 или 1/4 от h.
[165] Блок, к которому применяется преобразование, может позиционироваться слева или справа либо сверху или снизу во всем блоке, как показано на фиг. 5. Дополнительно, блок по фиг. 5 может представлять собой остаточный сигнал, сформированный посредством взаимного прогнозирования. Флаг, указывающий то, следует или нет применять преобразование только к одному субблоку остаточного сигнала, сегментированного так, как показано на фиг. 5, может передаваться в служебных сигналах, и когда флаг равен 1, флаг, указывающий то, представляет собой или нет блок 16×32 как показано на фиг. 5, также может задаваться посредством передачи служебных сигналов.
[166] Флаг, указывающий то, позиционируется или нет блок A, к которому фактически применяется преобразование, слева или справа во всем блоке, либо флаг, указывающий то, позиционируется или нет блок A сверху или снизу, также может передаваться в служебных сигналах.
[167] Как проиллюстрировано на фиг. 5, когда горизонтальное преобразование и вертикальное преобразование определяются для конкретного блока, вместо обозначения горизонтального преобразования и вертикального преобразования посредством передачи служебных MTS-сигналов, если горизонтальная сторона и вертикальная сторона имеют длину в 32, RMTS32, предложенный выше, может применяться в каждом направлении. Например, когда блок вертикально сегментируется на фиг. 5, если высота блока A равна 32, обнуление может применяться в вертикальном направлении. В частности, когда блок A составляет 16×32, левый верхний блок 16×16 может обнуляться, и в силу этого значимый коэффициент может существовать только в соответствующей области размера. В RMTS32, остаточное кодирование может опускаться для области, которая обнуляется, либо только область, которая не обнуляется, может сканироваться и может подвергаться остаточному кодированию.
[168] Фиг. 6 иллюстрирует сегмент остаточного блока согласно варианту осуществления настоящего раскрытия сущности.
[169] Остаточный блок может сегментироваться, как показано на фиг. 6, и ширина и высота блока A, к которому фактически применяется преобразование, может составлять w/4 и h/4, соответственно, в связи с шириной (w) и высотой (h) исходного блока преобразования.
[170] В общих словах, RMTS32 может применяться к любому блоку, к которому применяется преобразование, если DST7 или DCT8, имеющее длину 32, является применимым в каждом из горизонтального направления и вертикального направления. То, DST7 или DCT8, имеющее длину в 32, применяется, может определяться посредством предварительно установленной передачи служебных сигналов или может определяться без передачи служебных сигналов согласно предварительно определенному условию кодирования.
[171] Текст спецификации, описывающий обнуление согласно вариантам осуществления по фиг. 5 и фиг. 6, проиллюстрирован в следующей таблице. В следующей таблице, преобразование может применяться к остаточному сигналу, сформированному через взаимное прогнозирование, и может называться "субблочным преобразованием (SBT)". Остаточный сигнальный блок сегментируется на два блока сегментов посредством SBT, и отдельное преобразование может применяться только к одному из сегментированных блоков.
[172] Табл. 6
7.3.4.6. Синтаксис единицы кодирования
[173] Таблица 6 показывает синтаксис CU, к которой применяется взаимное прогнозирование, и форма сегмента, в которой применяется SBT, может определяться посредством четырех синтаксических элементов в таблице 6.
[174] - cu_sbt_flag указывает то, применяется или нет SBT к CU, и cu_sbt_quad_flag представляет собой информацию флага, указывающую то, составляет или нет блок, к которому применяется преобразование, 1/4 от всего блока, когда одна CU сегментируется на два блока сегментов. Когда cu_sbt_quad_flag равен 0, блок сегментов имеет размер в 1/2 от всего блока. Когда cu_sbt_quad_flag равен 1, блок сегментов имеет размер в 1/4 от ширины или высоты CU. Когда ширина CU составляет w, и ее высота составляет h, высота блока сегментов может составлять h1=(1/4) x h, или ширина блока сегментов может составлять w1=(1/4) x w.
[175] - cu_sbt_horizontal_flag, равный 1, указывает то, что CU горизонтально сегментируется, и cu_sbt_horizontal_flag, равный 0, указывает то, что CU вертикально сегментируется.
[176] Относительно cu_sbt_pos_flag, значение флага, равное 0, указывает то, что преобразование применяется к верхнему или левому блоку сегментов в горизонтальном или вертикальном сегменте, и значение флага, равное 1, указывает то, что преобразование применяется к нижнему или правому блоку сегментов.
[177] Следующая таблица иллюстрирует trTypeHor и trTypeVer согласно cu_sbt_horizontal_flag и cu_sbt_pos_flag.
[178] Табл. 7
[179] Как описано выше, когда ядро горизонтального преобразования обозначается посредством trTypeHor, и ядро вертикального преобразования обозначается посредством trTypeVer, значение trTypeHor или trTypeVer в 0 может задаваться для DCT2, значение trTypeHor или trTypeVer в 1 может задаваться для DST7, и значение trTypeHor или trTypeVer в 2 может задаваться для DCT8. Соответственно, когда длина, по меньшей мере, одной стороны блока сегментов, к которому применяется преобразование, равна 64 или больше, DCT2 может применяться как в горизонтальном направлении, так и в вертикальном направлении, и в противном случае, DST7 или DCT8 может применяться.
[180] Табл. 8
7.3.4.11. Синтаксис единицы преобразования
[181] Табл. 9
7.3.4.12. Синтаксис остаточного кодирования
[182] Таблица 8 показывает часть TU-синтаксиса согласно примеру, и таблица 9 показывает часть синтаксиса остаточного кодирования.
[183] В таблице 8, tu_mts_idx[x0][y0] обозначает MTS-индекс, применяемый к блоку преобразования, и trTypeHor и trTypeVer могут определяться согласно MTS-индексу, как показано в таблице 1.
[184] Синтаксические элементы last_sig_coeff_x_prefix, last_sig_coeff_y_prefix, last_sig_coeff_x_suffix и last_sig_coeff_y_suffix в таблице 9 обозначают информацию позиции (x, y) относительно последнего ненулевого коэффициента преобразования в блоке преобразования. В частности, last_sig_coeff_x_prefix обозначает префикс позиции столбца последнего значимого коэффициента в порядке сканирования в блоке преобразования, last_sig_coeff_y_prefix обозначает префикс позиции строки последнего значимого коэффициента в порядке сканирования в блоке преобразования, last_sig_coeff_x_suffix обозначает суффикс позиции столбца последнего значимого коэффициента в порядке сканирования в блоке преобразования, и last_sig_coeff_y_suffix обозначает суффикс позиции строки последнего значимого коэффициента в порядке сканирования в блоке преобразования. Здесь, значимый коэффициент может означать ненулевой коэффициент. Порядок сканирования может представлять собой порядок сканирования вправо вверх по диагонали. Альтернативно, порядок сканирования может представлять собой горизонтальный порядок сканирования или вертикальный порядок сканирования. Порядок сканирования может определяться на основе того, применяется или нет внутреннее/взаимное прогнозирование к целевому блоку (CB или CB, включающему в себя TB), и/или конкретного режима внутреннего/взаимного прогнозирования.
[185] Область обнуления может задаваться при остаточном кодировании таблицы 9 на основе tu_mts_idx[x0][y0] в таблице 8.
[186] Когда cu_sbt_flag равен 1, высота блока, к которому применяется преобразование, равна 32 или меньше (log2TbHeight<6), и его ширина равна 32 (log2TbWidth<6 andand log2TbWidth>4), ширина блока преобразования задается равной 16 (log2TbWidth=4). В других случаях, в которых cu_sbt_flag не равен 1, высота блока преобразования превышает 32, или ширина блока преобразования не равна 32, ширина блока преобразования может задаваться равной меньшему значению из ширины блока преобразования и 32. Таким образом, максимальная ширина блока преобразования может быть ограничена 32 посредством обнуления.
[187] Аналогично, когда cu_sbt_flag равен 1, ширина блока, к которому применяется преобразование, равна 32 или меньше (log2TbWidth<6), и его высота равна 32 (log2TbHeight<6 andand log2TbHeight>4), высота блока преобразования задается равной 16 (log2TbHeight=4). В других случаях, в которых cu_sbt_flag не равен 1, ширина блока преобразования превышает 32, или высота блока преобразования не равна 32, высота блока преобразования может задаваться равной меньшему значению из высоты блока преобразования и 32. Таким образом, максимальная высота блока преобразования может быть ограничена 32 посредством обнуления.
[188] Согласно таблице 7, когда длина, по меньшей мере, одной стороны блока сегментов равна 64 или больше, DCT2 может применяться как в горизонтальном направлении, так и в вертикальном направлении, и в противном случае, DST7 или DCT8 может применяться. Соответственно, когда SBT применяется, обнуление может выполняться посредством применения RMTS32 только тогда, когда все две стороны блока сегментов, к которому применяется преобразование, имеют длину 32 или меньше. Таким образом, когда длина блока в каждом направлении равна 32, только 16 коэффициентов преобразования могут оставляться посредством применения DST7 или DCT8, имеющего длину 32.
[189] Как показано в таблице 9, при применении RMTS32, кодирование может выполняться с учетом ширины и высоты оставшейся области (области низкочастотных коэффициентов преобразования), которая не обнуляется, в качестве фактической ширины и высоты TU, вместо использования ширины и высоты исходной единицы преобразования для кодирования (log2TbWidth=Min(log2TbWidth, 5) или log2TbHeight=Min(log2TbHeight, 5)).
[190] Например, когда высота x ширина исходной TU составляет 32×16, если RMTS32 применяется, ненулевой коэффициент существует только в левой верхней области 16×16 посредством обнуления. Соответственно, ширина и высота TU может задаваться равной 16 и 16, соответственно, и затем синтаксические элементы (например, last_sig_coeff_x_prefix и last_sig_coeff_y_prefix) могут кодироваться.
[191] В общих словах, согласно остаточному кодированию таблицы 9, фактическая ширина и высота TU изменяется посредством изменения значений log2TbWidth и log2TbHeight до кодирования last_sig_coeff_x_prefix, и синтаксические элементы затем кодируются согласно измененным значениям.
[192] Когда TU-размер уменьшается до области низкочастотных коэффициентов преобразования вследствие обнуления высокочастотного коэффициента преобразования, семантика синтаксических элементов таблицы 9 проиллюстрирована в таблице 10.
[193] Табл. 10
- last_sig_coeff_x_prefix указывает префикс позиции столбца последнего значимого коэффициента в порядке сканирования в блоке преобразования. Значения last_sig_coeff_x_prefix должны составлять в диапазоне от 0 до (log2TbWidth<<1)-1, включительно.Когда last_sig_coeff_x_prefix не присутствует, он логически выводится равным 0.- last_sig_coeff_y_prefix указывает префикс позиции строки последнего значимого коэффициента в порядке сканирования в блоке преобразования. Значения last_sig_coeff_y_prefix должны составлять в диапазоне от 0 до (log2TbHeight<<1)-1, включительно.Когда last_sig_coeff_y_prefix не присутствует, он логически выводится равным 0.
[194] Ссылаясь на таблицу 10, last_sig_coeff_x_prefix и last_sig_coeff_y_prefix ограничены значениями в пределах от 0 до (log2TbWidth<<1)-1 или (log2TbHeight<<1)-1, где log2TbWidth или log2TbHeight может представлять собой ширину или высоту блока преобразования с уменьшенным размером, как показано в таблице 9.
[195] Когда размер блока преобразования изменяется, размер блока преобразования, используемого для выбора контекста last_sig_coeff_x_prefix и last_sig_coeff_y_prefix, также может изменяться. Таблица 11 иллюстрирует процесс извлечения контекстного приращения (ctxInc) для извлечения last_sig_coeff_x_prefix и last_sig_coeff_y_prefix, и таблица 12 иллюстрирует преобразование в двоичную форму last_sig_coeff_x_prefix и last_sig_coeff_y_prefix с учетом сокращенной TU. Поскольку контекст может выбираться и разделяться посредством контекстного приращения, контекстная модель может извлекаться на основе контекстного приращения.
[196] Табл. 11
9.5.4.2.4. Процесс извлечения ctxInc для синтаксических элементов last_sig_coeff_x_prefix и last_sig_coeff_y_prefixВводы в этот процесс представляют собой переменную binIdx, индекс cIdx цветового компонента, двоичный логарифм ширины log2TbWidth блока преобразования и высоты log2TbHeight блока преобразования.Вывод этого процесса представляет собой переменную ctxInc.Переменная log2TbSize извлекается следующим образом:- Если синтаксический элемент, который должен синтаксически анализироваться, представляет собой last_sig_coeff_x_prefix, log2TbSize задается равным log2TbWidth.- Иначе (синтаксический элемент, который должен синтаксически анализироваться, представляет собой last_sig_coeff_y_prefix), log2TbSize задается равным log2TbHeight.Переменные ctxOffset и ctxShift извлекаются следующим образом:- Если cIdx равен 0, ctxOffset задается равной 3*(log2TbSize-2)+((log2TbSize-1)>>2), и ctxShift задается равной (log2ThSize+1)>>2.- Иначе (cIdx превышае<u>т</u> 0), ctxOffset задается равной21, и ctxShift задается равной Clip3 (0, 2, 2<sup>log2TbSize</sup>>>3).Переменная ctxInc извлекается следующим образом:- ctxInc=(binIdx>>ctxShift)+ctxOffset (9-31)
[197] Табл. 12
[198] Как показано в таблице 11, переменная log2TbSize задается равной log2TbWidth, когда last_sig_coeff_x_prefix синтаксически анализируется, и равной log2TbHeight, когда last_sig_coeff_y_prefix синтаксически анализируется, где log2TbWidth и log2TbHeight обозначают ширину и высоту сокращенной TU, такой как область низкочастотных коэффициентов преобразования.
[199] Дополнительно, максимальные значения (cMax) last_sig_coeff_x_prefix и last_sig_coeff_y_prefix в таблице 12 также задаются на основе ширины и высоты сокращенной TU, такой как область низкочастотных коэффициентов преобразования (cMax=(log2TbWidth<<1)-1, cMax=(log2TbHeight<<1)-1). Когда усеченное унарное преобразование в двоичную форму используется для преобразования в двоичную форму last_sig_coeff_x_prefix и last_sig_coeff_y_prefix, максимальные значения (cMax) last_sig_coeff_x_prefix и last_sig_coeff_y_prefix могут задаваться идентичными максимальным значениям кодовых слов, используемых для преобразования в двоичную форму last_sig_coeff_x_prefix и last_sig_coeff_y_prefix. Следовательно, максимальная длина префиксного кодового слова, указывающего информацию префикса последнего значимого коэффициента, может извлекаться на основе размера обнуляемого блока.
[200] Вариант осуществления настоящего раскрытия сущности предлагает применение размера исходной TU, а не сокращенной TU области низкочастотных коэффициентов преобразования для CABAC-контекста для двух синтаксических элементов, т.е. last_sig_coeff_x_prefix и last_sig_coeff_y_prefix.
[201] Таблица 13 показывает синтаксические элементы остаточного кодирования и семантику, соответствующую им, согласно варианту осуществления.
[202] Табл. 13
<img file="00000008.jpg" he="129" wi="160" img-content="undefined" img-format="jpg" />- last_sig_coeff_x_prefix указывает префикс позиции столбца последнего значимого коэффициента в порядке сканирования в блоке преобразования. Значения last_sig_coeff_x_prefix должны составлять в диапазоне от 0 до (log2ZoTbWidth<<1)-1, включительно. Когда last_sig_coeff_x_prefix не присутствует, он логически выводится равным 0.- last_sig_coeff_y_prefix указывает префикс позиции строки последнего значимого коэффициента в порядке сканирования в блоке преобразования. Значения last_sig_coeff_y_prefix должны составлять в диапазоне от 0 до (log2ZoTbHeight<<1)-1, включительно. Когда last_sig_coeff_y_prefix не присутствует, он логически выводится равным 0.
[203] Согласно таблице 13, могут предлагаться две новых переменные (log2ZoTbWidth и log2ZoTbHeight), указывающие сокращенную ширину и сокращенную высоту. TU-размер может в завершение обновляться на log2ZoTbWidth и log2ZoTbHeight после синтаксического анализа синтаксиса позиции последнего значимого коэффициента (log2TbWidth = log2ZoTbWidth, log2TbHeight = log2ZoTbHeight).
[204] Таким образом, согласно настоящему варианту осуществления, остаточные выборки могут извлекаться на основе информации позиции относительно последнего значимого коэффициента, в котором контекстная модель может извлекаться на основе размера исходного блока преобразования, размер которого является неизменным, и позиция последнего значимого коэффициента может извлекаться на основе размера обнуляемого блока. Здесь, размер, в частности, ширина или высота, обнуляемого блока меньше размера, ширины или высоты, исходного блока преобразования.
[205] Когда контекстная модель извлекается на основе размера исходного блока преобразования, размер которого является неизменным, log2TbWidth и log2TbHeight, используемые для извлечения контекстного приращения (ctxInc) в таблице 11, могут интерпретироваться в качестве ширины и высоты исходного блока преобразования.
[206] Согласно таблице 13, таблица 12, в которой позиция последнего значимого коэффициента извлекается на основе размера (log2ZoTbWidth и log2ZoTbHeight) обнуляемого блока, может изменяться на таблицу 14.
[207] Табл. 14
[208] Согласно таблице 14, максимальные значения (cMax) last_sig_coeff_x_prefix и last_sig_coeff_y_prefix задаются на основе log2ZoTbWidth и log2ZoTbHeight, соответствующих ширине и высоте сокращенной TU, такой как область низкочастотных коэффициентов преобразования (cMax=(log2ZoTbWidth<<1)-1, cMax=(log2ZoTbHeight<<1)-1). Когда усеченное унарное преобразование в двоичную форму используется для преобразования в двоичную форму last_sig_coeff_x_prefix и last_sig_coeff_y_prefix, максимальные значения (cMax) last_sig_coeff_x_prefix и last_sig_coeff_y_prefix могут задаваться идентичными максимальным значениям кодовых слов, используемых для преобразования в двоичную форму last_sig_coeff_x_prefix и last_sig_coeff_y_prefix. Следовательно, максимальная длина префиксного кодового слова, указывающего информацию префикса последнего значимого коэффициента, может извлекаться на основе размера обнуляемого блока.
[209] Таблица 15 показывает результат тестирования для выполнения выбора контекста посредством применения размера сокращенной TU на основе теста, в котором выбор контекста выполняется на основе размера исходной TU.
[210] Табл. 15
Главный профиль 10, полностью внутренний
По сравнению с VTM-4.0
Y
U
V
EncT
DecT
Класс A1
0,24%
0,19%
0,15%
101%
103%
Класс A2
0,12%
0,20%
0,06%
101%
103%
Класс B
0,10%
0,13%
0,11%
100%
100%
Класс C
0,03%
-0,03%
0,02%
101%
105%
Класс E
0,03%
0,07%
-0,05%
103%
107%
В целом
0,10%
0,11%
0,06%
101%
103%
Класс D
0,02%
-0,15%
-0,14%
102%
108%
Класс F
0,01%
0,04%
0,04%
103%
105%
Класс SCC
0,02%
0,00%
-0,01%
103%
102%
[211] Как показано в таблице 15, когда выбор контекста выполняется посредством применения сокращенного TU-размера, уменьшение BD-коэффициента приблизительно в 0,10% наблюдается по сравнению с тестом, в котором выбор контекста выполняется на основе размера исходной TU. Таким образом, чтобы повышать эффективность при остаточном кодировании, предлагается выполнять выбор контекста на основе исходной TU, а не сокращенной TU, т.е. области низкочастотных коэффициентов преобразования.
[212] Нижеприведенные чертежи предоставляются для того, чтобы описывать конкретные примеры настоящего раскрытия сущности. Поскольку конкретные обозначения устройств или обозначения конкретных сигналов/сообщений/полей, проиллюстрированных на чертежах, предоставляются для иллюстрации, технические признаки настоящего раскрытия сущности не ограничены конкретными обозначениями, используемыми на нижеприведенных чертежах.
[213] Фиг. 7 является блок-схемой последовательности операций способа, иллюстрирующей работу аппаратуры декодирования видео согласно варианту осуществления настоящего раскрытия сущности.
[214] Фиг. 7 является блок-схемой последовательности операций способа, иллюстрирующей работу аппаратуры декодирования согласно варианту осуществления, и фиг. 8 является блок-схемой, иллюстрирующей конфигурацию аппаратуры декодирования согласно варианту осуществления.
[215] Каждая операция, проиллюстрированная на фиг. 7, может выполняться посредством аппаратуры 300 декодирования, проиллюстрированного на фиг. 3. В частности, S700 и S710 могут выполняться посредством энтропийного декодера 310, проиллюстрированного на фиг. 3, S720 может выполняться посредством деквантователя 321, проиллюстрированного на фиг. 3, S730 может выполняться посредством обратного преобразователя 322, проиллюстрированного на фиг. 3, и S740 может выполняться посредством сумматора 340, проиллюстрированного на фиг. 3. Операции согласно S700-S740 основаны на некоторых вышеприведенных подробностях, поясненных со ссылкой на фиг. 4-6. Следовательно, описание конкретных подробностей, перекрывающихся с подробностями, поясненными выше со ссылкой на фиг. 4-6, опускается или приводится кратко.
[216] Как показано на фиг. 8, аппаратура декодирования согласно варианту осуществления может включать в себя энтропийный декодер 310, деквантователь 321, обратный преобразователь 322 и сумматор 340. Тем не менее, в некоторых случаях, все компоненты, показанные на фиг. 8, могут не представлять собой существенные компоненты аппаратуры декодирования, и аппаратура декодирования может быть сконфигурирована с большим или меньшим числом компонентов относительно компонентов, показанных на фиг. 8.
[217] В аппаратуре декодирования согласно варианту осуществления, энтропийный декодер 310, деквантователь 321, обратный преобразователь 322 и сумматор 340 могут быть сконфигурированы как отдельные микросхемы, или, по меньшей мере, два компонента могут быть сконфигурированы как одна микросхема.
[218] Аппаратура декодирования согласно варианту осуществления может принимать поток битов, включающий в себя остаточную информацию (S700). В частности, энтропийный декодер 310 аппаратуры декодирования может принимать поток битов, включающий в себя остаточную информацию.
[219] Аппаратура декодирования согласно варианту осуществления может извлекать квантованные коэффициенты преобразования для текущего блока на основе остаточной информации, включенной в поток битов (S710). В частности, энтропийный декодер 310 аппаратуры декодирования может квантованные коэффициенты преобразования для текущего блока на основе остаточной информации, включенной в поток битов.
[220] Аппаратура декодирования согласно варианту осуществления может преобразовывать коэффициенты из квантованных коэффициентов преобразования на основе процесса деквантования. В частности, деквантователь 321 аппаратуры декодирования может извлекать коэффициенты преобразования из квантованных коэффициентов преобразования на основе процесса деквантования.
[221] Аппаратура декодирования согласно варианту осуществления может извлекать остаточные выборки для текущего блока посредством применения обратного преобразования к извлеченным коэффициентам преобразования (S720). В частности, обратное преобразование 322 аппаратуры декодирования может извлекать остаточные выборки для текущего блока посредством применения обратного преобразования к извлеченным коэффициентам преобразования.
[222] Аппаратура декодирования согласно варианту осуществления может формировать восстановленный кадр на основе остаточных выборок для текущего блока (S740). В частности, сумматор 340 аппаратуры декодирования может формировать восстановленный кадр на основе остаточных выборок для текущего блока.
[223] В варианте осуществления, единица текущего блока может представлять собой блок преобразования (TB).
[224] В варианте осуществления, каждый из коэффициентов преобразования для текущего блока может быть связан с областью высокочастотных коэффициентов преобразования, включающей в себя коэффициент преобразования в 0, или с областью низкочастотных коэффициентов преобразования, включающей в себя, по меньшей мере, один значимый коэффициент преобразования.
[225] В варианте осуществления, остаточная информация может включать в себя информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента относительно позиции последнего значимого коэффициента преобразования из числа коэффициентов преобразования для текущего блока.
[226] В одном примере, информации префикса последнего значимого коэффициента можно определять максимальное значение на основе размера обнуляемого блока.
[227] В варианте осуществления, позиция последнего значимого коэффициента преобразования может определяться на основе префиксного кодового слова, указывающего информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента.
[228] В варианте осуществления, максимальная длина префиксного кодового слова может определяться на основе области низкочастотных коэффициентов преобразования, т.е. размера обнуляемого блока.
[229] В варианте осуществления, размер обнуляемого блока может определяться на основе ширины и высоты текущего блока.
[230] В варианте осуществления, информация префикса последнего значимого коэффициента может включать в себя информацию префикса по оси X и информацию префикса по оси Y, и префиксное кодовое слово может представлять собой кодовое слово для информации префикса по оси X и кодовое слово для информации префикса по оси Y.
[231] В одном примере, информация префикса по оси X может выражаться как last_sig_coeff_x_prefix, информация префикса по оси Y может выражаться как last_sig_coeff_y_prefix, и позиция последнего значимого коэффициента преобразования может выражаться как (LastSignificantCoeffX, LastSignificantCoeffY).
[232] В варианте осуществления, остаточная информация может включать в себя информацию относительно размера обнуляемого блока.
[233] Фиг. 9 является блок-схемой последовательности операций способа, иллюстрирующей процесс извлечения остаточной выборки согласно варианту осуществления настоящего раскрытия сущности.
[234] Каждая операция, проиллюстрированная на фиг. 9, может выполняться посредством аппаратуры 300 декодирования, проиллюстрированного на фиг. 3. В частности, S900 и S940 могут выполняться посредством энтропийного декодера 310, проиллюстрированного на фиг. 3.
[235] Во-первых, как показано, обнуляемый блок для текущего блока может извлекаться (S900). Как описано выше, обнуляемый блок означает область низкочастотных коэффициентов преобразования, включающую в себя ненулевой значимый коэффициент преобразования, и ширина или высота обнуляемого блока может извлекаться на основе ширины или высоты текущего блока.
[236] Альтернативно, ширина или высота обнуляемого блока может извлекаться на основе информации флага, указывающей то, сегментируется текущий блок на субблоки и затем преобразуется или нет. Например, когда значение флага, указывающее то, сегментируется текущий блок на субблоки и затем преобразуется или нет, равно 1, ширина сегментированных субблоков равна 32, и высота субблоков меньше 64, ширина субблоков может задаваться равной 16. Альтернативно, когда значение флага, указывающее то, сегментируется текущий блок на субблоки и затем преобразуется или нет, равно 1, высота сегментированных субблоков равна 32, и ширина субблоков меньше 64, высота субблоков может задаваться равной 16.
[237] Альтернативно, ширина или высота обнуляемого блока может извлекаться на основе MTS-индекса текущего блока или информации, указывающей то, применяется или нет MTS к преобразованию текущего блока.
[238] Размер обнуляемого блока может быть меньше размера текущего блока. В частности, ширина обнуляемого блока может быть меньше ширины текущего блока, и высота обнуляемого блока может быть меньше высоты текущего блока.
[239] В частности, когда ширина текущего блока равна 32, и высота текущего блока равна 32 или меньше, ширина обнуляемого блока может задаваться равной 16. Альтернативно, в одном примере, ширина обнуляемого блока может ограничиваться случаем, в котором DST7 или DCT8, а не DCT2 применяется в качестве ядра преобразования, используемого для обратного первичного преобразования.
[240] Когда вышеприведенное условие не удовлетворяется, т.е. когда ширина текущего блока не равна 32, или высота текущего блока равна 64 или больше, ширина обнуляемого блока может задаваться равной меньшему значению из ширины текущего блока и 32.
[241] Дополнительно, в частности, когда высота текущего блока равна 32, и ширина текущего блока равна 32 или меньше, высота обнуляемого блока может задаваться равной 16. Альтернативно, в одном примере, высота обнуляемого блока может ограничиваться случаем, в котором DST7 или DCT8, а не DCT2 применяется в качестве ядра преобразования, используемого для обратного первичного преобразования.
[242] Когда вышеприведенное условие не удовлетворяется, т.е. когда высота текущего блока не равна 32, или ширина текущего блока равна 64 или больше, высота обнуляемого блока может задаваться равной меньшему значению из высоты текущего блока и 32.
[243] В варианте осуществления, размер обнуляемого блока может составлять одно из 32×16, 16×32, 16×16 или 32×32.
[244] В варианте осуществления, размер текущего блока может составлять 64×64, и размер обнуляемого блока может составлять 32×32.
[245] Аппаратура декодирования может извлекать контекстную модель для информации позиции последнего значимого коэффициента на основе ширины или высоты текущего блока (S910).
[246] Согласно варианту осуществления, контекстная модель может извлекаться на основе размера исходного блока преобразования, а не размера обнуляемого блока. В частности, контекстное приращение для информации префикса по оси X и информации префикса по оси Y, соответствующей информации префикса последнего значимого коэффициента, может извлекаться на основе размера исходного блока преобразования.
[247] Аппаратура декодирования может извлекать значение позиции последнего значимого коэффициента на основе извлеченной контекстной модели (S920).
[248] Как описано выше, информация позиции последнего значимого коэффициента может включать в себя информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента, и значение позиции последнего значимого коэффициента может извлекаться на основе контекстной модели.
[249] Аппаратура декодирования может извлекать позицию последнего значимого коэффициента на основе извлеченного значения информации позиции последнего значимого коэффициента и ширины или высоты обнуляемого блока (S930).
[250] В одном примере, аппаратура декодирования может извлекать позицию последнего значимого коэффициента в пределах диапазона размера обнуляемого блока, меньшего диапазона размера текущего блока, а не исходного текущего блока. Таким образом, коэффициент преобразования, к которому применяется преобразование, может извлекаться в пределах диапазона размера обнуляемого блока, а не текущего блока.
[251] В одном примере, информации префикса последнего значимого коэффициента можно определять максимальное значение на основе размера обнуляемого блока.
[252] В одном примере, позиция последнего значимого коэффициента может извлекаться на основе префиксного кодового слова, указывающего информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента, и максимальная длина префиксного кодового слова может определяться на основе размера обнуляемого блока.
[253] Аппаратура декодирования может извлекать остаточные выборки на основе позиции последнего значимого коэффициента, извлекаемой на основе ширины или высоты обнуляемого блока (S940).
[254] Нижеприведенные чертежи предоставляются для того, чтобы описывать конкретные примеры настоящего раскрытия сущности. Поскольку конкретные обозначения устройств или обозначения конкретных сигналов/сообщений/полей, проиллюстрированных на чертежах, предоставляются для иллюстрации, технические признаки настоящего раскрытия сущности не ограничены конкретными обозначениями, используемыми на нижеприведенных чертежах.
[255] Фиг. 10 является блок-схемой последовательности операций способа, иллюстрирующей работу аппаратуры кодирования видео согласно варианту осуществления настоящего раскрытия сущности, и фиг. 11 является блок-схемой, иллюстрирующей конфигурацию аппаратуры кодирования согласно варианту осуществления.
[256] Аппаратура кодирования согласно фиг. 10 и фиг. 11 может выполнять операции, соответствующие операциям аппаратуры декодирования согласно фиг. 7 и фиг. 8. Следовательно, операции аппаратуры декодирования, проиллюстрированного выше на фиг. 7 и фиг. 8, могут в равной степени применяться к аппаратуре кодирования согласно фиг. 10 и фиг. 11.
[257] Каждая операция, проиллюстрированная на фиг. 10, может выполняться посредством аппаратуры 200 кодирования, проиллюстрированной на фиг. 2. В частности, S1000 может выполняться посредством вычитателя 231, проиллюстрированного на фиг. 2, S1010 может выполняться посредством преобразователя 232, проиллюстрированного на фиг. 2, и S1020 может выполняться посредством квантователя 233, и S1030 может выполняться посредством энтропийного кодера 240, проиллюстрированного на фиг. 2. Операции согласно S1000-S1030 основаны на части контента, описанного на фиг. 4-6. Следовательно, описание конкретных подробностей, перекрывающихся с подробностями, поясненными выше со ссылкой на фиг. 4-6, опускается или приводится кратко.
[258] Как показано на фиг. 11, аппаратура кодирования согласно варианту осуществления может включать в себя вычитатель 231, преобразователь 232, квантователь 233 и энтропийный кодер 240. Тем не менее, в некоторых случаях, все компоненты, показанные на фиг. 11, могут не представлять собой существенные компоненты аппаратуры кодирования, и аппаратура кодирования может быть сконфигурирована с большим или меньшим числом компонентов относительно компонентов, показанных на фиг. 11.
[259] В аппаратуре кодирования согласно варианту осуществления, вычитатель 231, преобразователь 232, квантователь 233 и энтропийный кодер 240 могут быть сконфигурированы как отдельные микросхемы, или, по меньшей мере, два компонента могут быть сконфигурированы как одна микросхема.
[260] Аппаратура кодирования согласно варианту осуществления может извлекать остаточные выборки для текущего блока (S1000). В частности, вычитатель 231 аппаратуры кодирования может извлекать остаточные выборки для текущего блока.
[261] Аппаратура кодирования согласно варианту осуществления может преобразовывать остаточные выборки для текущего блока, за счет этого извлекая коэффициенты преобразования для текущего блока (S1010). В частности, преобразователь 232 аппаратуры кодирования может преобразовывать остаточные выборки для текущего блока, за счет этого извлекая коэффициенты преобразования для текущего блока.
[262] Аппаратура кодирования согласно варианту осуществления может извлекать квантованные коэффициенты преобразования из коэффициентов преобразования на основе квантования (S1020). В частности, квантователь 233 аппаратуры кодирования может извлекать квантованные коэффициенты преобразования из коэффициентов преобразования на основе квантования.
[263] Аппаратура кодирования согласно варианту осуществления может кодировать остаточную информацию, включающую в себя информацию относительно квантованных коэффициентов преобразования (S1030). В частности, энтропийный кодер 240 аппаратуры кодирования может кодировать остаточную информацию, включающую в себя информацию относительно квантованных коэффициентов преобразования.
[264] В варианте осуществления, каждый из коэффициентов преобразования для текущего блока может быть связан с областью высокочастотных коэффициентов преобразования, включающей в себя коэффициент преобразования в 0, или с областью низкочастотных коэффициентов преобразования, включающей в себя, по меньшей мере, один значимый коэффициент преобразования, т.е. обнуляемый блок.
[265] В варианте осуществления, остаточная информация может включать в себя информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента относительно позиции последнего значимого коэффициента преобразования из числа коэффициентов преобразования для текущего блока.
[266] В варианте осуществления, позиция последнего значимого коэффициента преобразования может определяться на основе префиксного кодового слова, указывающего информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента.
[267] В одном примере, информации префикса последнего значимого коэффициента можно определять максимальное значение на основе размера обнуляемого блока.
[268] В варианте осуществления, максимальная длина префиксного кодового слова может определяться на основе размера обнуляемого блока.
[269] В варианте осуществления, размер обнуляемого блока может определяться на основе ширины и высоты текущего блока.
[270] В варианте осуществления, информация префикса последнего значимого коэффициента может включать в себя информацию префикса по оси X и информацию префикса по оси Y, и префиксное кодовое слово может представлять собой кодовое слово для информации префикса по оси X и кодовое слово для информации префикса по оси Y.
[271] В одном примере, информация префикса по оси X может выражаться как last_sig_coeff_x_prefix, информация префикса по оси Y может выражаться как last_sig_coeff_y_prefix, и позиция последнего значимого коэффициента преобразования может выражаться как (LastSignificantCoeffX, LastSignificantCoeffY).
[272] В варианте осуществления, остаточная информация может включать в себя информацию относительно размера обнуляемого блока.
[273] Фиг. 12 является блок-схемой последовательности операций способа, иллюстрирующей процесс кодирования остаточной информации согласно варианту осуществления настоящего раскрытия сущности.
[274] Каждая операция, проиллюстрированная на фиг. 12, может выполняться посредством аппаратуры 200 кодирования, проиллюстрированного на фиг. 2. В частности, S1200 и S1230 могут выполняться посредством энтропийного кодера 240, проиллюстрированного на фиг. 2.
[275] Во-первых, как показано, может извлекаться обнуляемый блок для текущего блока (S1200). Как описано выше, обнуляемый блок означает область низкочастотных коэффициентов преобразования, включающую в себя ненулевой значимый коэффициент преобразования, и ширина или высота обнуляемого блока может извлекаться на основе ширины или высоты текущего блока.
[276] Альтернативно, ширина или высота обнуляемого блока может извлекаться на основе информации флага, указывающей то, сегментируется текущий блок на субблоки и затем преобразуется или нет. Например, когда значение флага, указывающее то, сегментируется текущий блок на субблоки и затем преобразуется или нет, равно 1, ширина сегментированных субблоков равна 32, и высота субблоков меньше 64, ширина субблоков может задаваться равной 16. Альтернативно, когда значение флага, указывающее то, сегментируется текущий блок на субблоки и затем преобразуется или нет, равно 1, высота сегментированных субблоков равна 32, и ширина субблоков меньше 64, высота субблоков может задаваться равной 16.
[277] Альтернативно, ширина или высота обнуляемого блока может извлекаться на основе MTS-индекса текущего блока или информации, указывающей то, применяется или нет MTS к преобразованию текущего блока.
[278] Размер обнуляемого блока может быть меньше размера текущего блока. В частности, ширина обнуляемого блока может быть меньше ширины текущего блока, и высота обнуляемого блока может быть меньше высоты текущего блока.
[279] В частности, когда ширина текущего блока равна 32, и высота текущего блока равна 32 или меньше, ширина обнуляемого блока может задаваться равной 16. Альтернативно, в одном примере, ширина обнуляемого блока может ограничиваться случаем, в котором DST7 или DCT8, а не DCT2 применяется в качестве ядра преобразования, используемого для первичного преобразования.
[280] Когда вышеприведенное условие не удовлетворяется, т.е. когда ширина текущего блока не равна 32, или высота текущего блока равна 64 или больше, ширина обнуляемого блока может задаваться равной меньшему значению из ширины текущего блока и 32.
[281] Дополнительно, в частности, когда высота текущего блока равна 32, и ширина текущего блока равна 32 или меньше, высота обнуляемого блока может задаваться равной 16. Альтернативно, в одном примере, высота обнуляемого блока может ограничиваться случаем, в котором DST7 или DCT8, а не DCT2 применяется в качестве ядра преобразования, используемого для первичного преобразования.
[282] Когда вышеприведенное условие не удовлетворяется, т.е. когда высота текущего блока не равна 32, или ширина текущего блока равна 64 или больше, высота обнуляемого блока может задаваться равной меньшему значению из высоты текущего блока и 32.
[283] В варианте осуществления, размер обнуляемого блока может составлять одно из 32×16, 16×32, 16×16 или 32×32.
[284] В варианте осуществления, размер текущего блока может составлять 64×64, и размер обнуляемого блока может составлять 32×32.
[285] Аппаратура кодирования может извлекать позицию последнего значимого коэффициента на основе извлеченной ширины или высоты обнуляемого блока (S1210).
[286] В одном примере, аппаратура кодирования может извлекать позицию последнего значимого коэффициента в пределах диапазона размера обнуляемого блока, меньшего или равного диапазону размера текущего блока, а не исходного текущего блока. Таким образом, коэффициент преобразования, к которому применяется преобразование, может извлекаться в пределах диапазона размера обнуляемого блока, а не текущего блока.
[287] В одном примере, позиция последнего значимого коэффициента может извлекаться на основе префиксного кодового слова, указывающего информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента, и максимальная длина префиксного кодового слова может определяться на основе размера обнуляемого блока.
[288] Аппаратура кодирования может извлекать контекстную модель для информации позиции последнего значимого коэффициента на основе ширины или высоты текущего блока (S1220).
[289] Согласно варианту осуществления, контекстная модель может извлекаться на основе размера исходного блока преобразования, а не размера обнуляемого блока. В частности, контекстное приращение для информации префикса по оси X и информации префикса по оси Y, соответствующей информации префикса последнего значимого коэффициента, может извлекаться на основе размера исходного блока преобразования.
[290] Аппаратура кодирования может кодировать информацию позиции относительно значения позиции последнего значимого коэффициента на основе извлеченной контекстной модели (S1230).
[291] Как описано выше, информация позиции последнего значимого коэффициента может включать в себя информацию префикса последнего значимого коэффициента и информацию суффикса последнего значимого коэффициента, и значение позиции последнего значимого коэффициента может кодироваться на основе контекстной модели.
[292] В настоящем раскрытии сущности, по меньшей мере, одно из квантования/деквантования и/или преобразования/обратного преобразования может опускаться. Когда квантование/деквантование опускается, квантованный коэффициент преобразования может называться "коэффициентом преобразования". Когда преобразование/обратное преобразование опускается, коэффициент преобразования может называться "коэффициентом" или "остаточным коэффициентом" либо по-прежнему может называться "коэффициентом преобразования" для согласованности выражения.
[293] Дополнительно, в настоящем раскрытии сущности, квантованный коэффициент преобразования и коэффициент преобразования могут называться "коэффициентом преобразования" и "масштабированным коэффициентом преобразования", соответственно. В этом случае, остаточная информация может включать в себя информацию относительно коэффициента(ов) преобразования, и информация относительно коэффициента(ов) преобразования может передаваться в служебных сигналах через синтаксис остаточного кодирования. Коэффициенты преобразования могут извлекаться на основе остаточной информации (или информации относительно коэффициента(ов) преобразования), и масштабированные коэффициенты преобразования могут извлекаться через обратное преобразование (масштабирование) коэффициентов преобразования. Остаточные выборки могут извлекаться на основе обратного преобразования (преобразования) масштабированных коэффициентов преобразования. Эти подробности также могут применяться/выражаться в других частях настоящего раскрытия сущности.
[294] В вышеописанных вариантах осуществления, способы поясняются на основе блок-схем последовательности операций способа посредством последовательности этапов или блоков, но настоящее раскрытие сущности не ограничено порядком этапов, и определенный этап может выполняться в порядке или этапе, отличающемся от порядка или этапа, описанного выше, либо одновременно с другим этапом. Дополнительно, специалистам в данной области техники очевидно, что этапы, показанные на блок-схеме последовательности операций способа, не являются единственно возможными, и что другой этап может быть включен, либо один или более этапов блок-схемы последовательности операций способа могут удаляться без влияния на объем настоящего раскрытия сущности.
[295] Вышеописанные способы согласно настоящему раскрытию сущности могут реализовываться как программная форма, и аппаратура кодирования, и/или аппаратура декодирования согласно раскрытию сущности может включаться в устройство для обработки изображений, к примеру, в телевизор, компьютер, смартфон, абонентскую приставку, устройство отображения и т.п.
[296] Когда варианты осуществления в настоящем раскрытии сущности осуществляются посредством программного обеспечения, вышеописанные способы могут осуществляться в качестве модулей (процессов, функций и т.п.), чтобы выполнять вышеописанные функции. Модули могут сохраняться в запоминающем устройстве и могут выполняться посредством процессора. Запоминающее устройство может находиться внутри или снаружи процессора и может соединяться с процессором различными известными способами. Процессор может включать в себя специализированную интегральную схему (ASIC), другой набор микросхем, логическую схему и/или устройство обработки данных. Запоминающее устройство может включать в себя постоянное запоминающее устройство (ROM), оперативное запоминающее устройство (RAM), флэш-память, карту памяти, носитель хранения данных и/или другое устройство хранения данных. Таким образом, варианты осуществления, описанные в настоящем раскрытии сущности, могут осуществляться и выполняться в процессоре, микропроцессоре, контроллере или микросхеме. Например, функциональные модули, показанные на каждом чертеже, могут осуществляться и выполняться на компьютере, в процессоре, микропроцессоре, контроллере или микросхеме.
[297] Дополнительно, аппаратура декодирования и аппаратура кодирования, к которой применяется настоящее раскрытие сущности, могут включаться в широковещательное мультимедийное приемо-передающее устройство, терминал мобильной связи, видеоустройство системы домашнего кинотеатра, видеоустройство системы цифрового кинотеатра, камеру наблюдения, устройство проведения видеочатов, устройство связи в реальном времени, к примеру, видеосвязи, мобильное устройство потоковой передачи, носитель хранения данных, записывающую видеокамеру, устройство предоставления услуг на основе технологии "видео по запросу" (VoD), видеоустройство поверх сетей (OTT), устройство предоставления услуг потоковой передачи по Интернету, трехмерное видеоустройство, видеоустройство системы видеотелефонии и медицинское видеоустройство, и могут использоваться для того, чтобы обрабатывать видеосигнал или сигнал данных. Например, видеоустройство поверх сетей (OTT) может включать в себя игровую приставку, Blu-Ray-проигрыватель, телевизор с доступом в Интернет, систему домашнего кинотеатра, смартфон, планшетный PC, цифровое записывающее видеоустройство (DVR) и т.п.
[298] Помимо этого, способ обработки, к которому применяется настоящее раскрытие сущности, может формироваться в форме программы, выполняемой посредством компьютера, и сохраняться на компьютерно-читаемом носителе записи. Мультимедийные данные, имеющие структуру данных согласно настоящему раскрытию сущности, также могут сохраняться на компьютерно-читаемом носителе записи. Компьютерно-читаемый носитель записи включает в себя все виды устройств хранения данных и устройств распределенного хранения данных, на которых сохраняются компьютерно-читаемые данные. Компьютерно-читаемый носитель записи может включать в себя, например, Blu-Ray-диск (BD), универсальную последовательную шину (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, магнитную ленту, гибкий диск и оптическое устройство хранения данных. Дополнительно, компьютерно-читаемый носитель записи включает в себя среды, осуществленные в форме несущей волны (например, передачи по Интернету). Помимо этого, поток битов, сформированный посредством способа кодирования, может сохраняться на компьютерно-читаемом носителе записи или передаваться через сеть проводной или беспроводной связи. Дополнительно, варианты осуществления настоящего раскрытия сущности могут осуществляться в качестве компьютерного программного продукта посредством программных кодов, и программные коды могут выполняться на компьютере посредством вариантов осуществления настоящего раскрытия сущности. Программные коды могут сохраняться на компьютерно-читаемом носителе.
[299] Фиг. 13 иллюстрирует структуру системы потоковой передачи контента, к которой применяется настоящее раскрытие сущности.
[300] Дополнительно, система потоковой передачи контента, к которой применяется настоящее раскрытие сущности, может включать в себя главным образом сервер кодирования, потоковый сервер, веб-сервер, хранилище мультимедиа, абонентское оборудование и устройство ввода мультимедиа.
[301] Сервер кодирования функционирует для того, чтобы сжимать в цифровые данные контент, вводимый из устройств ввода мультимедиа, таких как смартфон, камера, записывающая видеокамера и т.п., чтобы формировать поток битов и передавать его на потоковый сервер. В качестве другого примера, в случае если устройство ввода мультимедиа, такое как смартфон, камера, записывающая видеокамера и т.п., непосредственно формирует поток битов, сервер кодирования может опускаться. Поток битов может формироваться посредством способа кодирования или способа формирования потоков битов, к которому применяется настоящее раскрытие сущности. Кроме того, потоковый сервер может сохранять поток битов временно во время процесса, чтобы передавать или принимать поток битов.
[302] Потоковый сервер передает мультимедийные данные в абонентское оборудование на основе запроса пользователя через веб-сервер, который функционирует в качестве инструментария, который информирует пользователя в отношении того, какая услуга предусмотрена. Когда пользователь запрашивает услугу, которую пользователь хочет, веб-сервер передает запрос на потоковый сервер, и потоковый сервер передает мультимедийные данные пользователю. В этом отношении, система потоковой передачи контента может включать в себя отдельный сервер управления, и в этом случае, сервер управления функционирует для того, чтобы управлять командами/ответами между соответствующим оборудованием в системе потоковой передачи контента.
[303] Потоковый сервер может принимать контент из хранилища мультимедиа и/или сервера кодирования. Например, в случае, если контент принимается из сервера кодирования, контент может приниматься в реальном времени. В этом случае, потоковый сервер может сохранять поток битов в течение предварительно определенного периода времени, чтобы плавно предоставлять услугу потоковой передачи.
[304] Например, абонентское оборудование может включать в себя мобильный телефон, смартфон, переносной компьютер, цифровой широковещательный терминал, персональное цифровое устройство (PDA), портативный мультимедийный проигрыватель (PMP), навигационное устройство, грифельный планшетный PC, планшетный PC, ультрабук, носимое устройство (например, терминал в виде часов (интеллектуальные часы), терминал в виде очков (интеллектуальные очки), наголовный дисплей (HMD)), цифровой телевизор, настольный компьютер, систему цифровых информационных табло и т.п. Каждый из серверов в системе потоковой передачи контента может работать в качестве распределенного сервера, и в этом случае, данные, принимаемые посредством каждого сервера, могут обрабатываться распределенным способом.
[305] Формула изобретения, раскрытая в данном документе, может комбинироваться различным способом. Например, технические признаки пунктов формулы изобретения на способ настоящего раскрытия сущности могут комбинироваться с возможностью реализовываться или выполняться в аппаратуре, и технические признаки пунктов формулы изобретения на аппаратуру могут комбинироваться с возможностью реализовываться или выполняться в способе. Дополнительно, технические признаки пунктов формулы изобретения на способ и пунктов формулы изобретения на аппаратуру могут комбинироваться с возможностью реализовываться или выполняться в аппаратуре, и технические признаки пунктов формулы изобретения на способ и пунктов формулы изобретения на аппаратуру могут комбинироваться с возможностью реализовываться или выполняться в способе.