Устройство и способ для фильтра деблокинга при кодировании видео

Изобретение относится к области обработки изображения. Технический результат заключается в эффективном сглаживании горизонтального края блока цветности с блокирующими артефактами, в то время как линейный буфер уменьшен для сценария, в котором горизонтальный край блока между блоками изображения перекрывается границей горизонтального блока дерева кодирования (CTB), что обеспечивает эффективное удаление артефактов блочности. Такой результат достигается за счет того, что устройство фильтра деблокинга, кодер, декодер и соответствующие способы выполняют фильтрацию деблокинга с имеющимся линейным буфером. Определяют, перекрывается ли горизонтальный край блока с границей горизонтального CTB, в случае, когда горизонтальный край блока перекрывается с границей горизонтального CTB, модифицируются не более количества МА значений выборки первого блока изображения, прилегающего к краю блока, и модифицируются не более количества МВ значений выборки второго блока изображения, прилегающего к краю блока, в котором MA ≠ MB. 21 н. и 58 з.п. ф-лы, 23 ил.

 

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

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

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

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

В 1990 году с момента разработки блочного гибридного подхода к кодированию видео в стандарте H.261 были разработаны новые способы и инструменты кодирования видео, которые легли в основу новых стандартов кодирования видео. Одной из задач большинства стандартов кодирования видео является сокращение битов передачи по сравнению с его предшественником без ущерба для качества изображения. Дополнительные стандарты кодирования видео включают в себя MPEG-1 видео, MPEG-2 видео, ITU-T H.262/MPEG-2, ITU-T H.263, ITU-T H.264/MPEG-4, часть 10, усовершенствованное кодирование видео (AVC), ITU-T H.265/высокоэффективное кодирование видео (HEVC), ITU-T H.266/универсальное кодирование видео (VVC) и расширения, например, масштабируемость и/или трехмерные (3D) расширения этих стандартов.

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

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

Сущность изобретения

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

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

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

Согласно первому аспекту изобретения предлагается устройство для использования в кодере изображения и/или декодере изображения для деблокинга краев блока между блоками изображений, в котором край блока содержит горизонтальный край блока между первым блоком изображения и вторым блоком изображения,

в котором первый блок изображения имеет размер SA блока вдоль вертикального направления,

в котором второй блок изображения имеет размер SB блока вдоль вертикального направления, вертикальное направление перпендикулярно горизонтальному краю блока,

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

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

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

в котором первый блок изображения является блоком выше CTB границы, и второй блок изображения является блоком ниже CTB границы;

в котором MB≠MB (например, MA<MB) и MB определяется, по меньшей мере, на основании размера линейного буфера линейного буфера, ассоциированного с CTB границей. Другими словами, MA зависит от (или основан на или ассоциирован с) размера линейного буфера, ассоциированного с CTB границей. Размер линейного буфера представляет собой количество пикселей, которые необходимо хранить в памяти для декодирования на основании CTU (например, устройство декодирования). В примерах размер линейного буфера для блока яркости (или компонента яркости) составляет 4 строки и для блока цветности (или компонента цветности) составляет 2 строки.

Очевидно, что МА может быть рассмотрен, как максимальная длина фильтра для первого блока изображения и МВ может быть рассмотрен, как максимальная длина фильтра для второго блока изображения,

Второй блок изображения является текущим блоком и первый блок Р изображения является смежным блоком текущего блока, соответственно во втором блоке изображений, для каждого столбца входных выборок, которые являются перпендикулярными и примыкающими к горизонтальному краю блока, модифицированы не более МВ выборок для генерирования выходных отфильтрованных выборок; в первом блоке изображения для каждого столбца входных выборок, которые перпендикулярны и прилегают к горизонтальному краю блока, не более МА выборок модифицированы для генерирования выходных отфильтрованных выборок. В примере SA и SB равны или больше 32. В другом примере SA (например, высота первого блока изображения) равна или больше 16, и SB (например, высота второго блока изображения) равна или больше 32. В другом примере SA или SB (например, высота соответствующего блока изображения) равны или больше 8. Отмечено, что SA является четным целым числом 2n1, SB является четным целым числом 2n2, в котором n1 и n2 могут быть одинаковыми или отличными друг от друга.

Следует отметить, что термин «блок», «блок кодирования» или «блок изображения», используемый в настоящем изобретении, может быть применен к блокам преобразования (TUs), блокам предсказания (PUs), блокам кодирования (CUs) и т.д. В VVC, как правило, блоки преобразовании и блоки кодирования выровнены, за исключением нескольких сценариев, когда используется TU плитки или суб-блок преобразования (SBT). Очевидно, что в настоящем изобретении термины «блок/блок изображения/блок кодирования/блок преобразования/блок преобразования» и «размер блока/размер блока преобразования» могут быть взаимозаменяемыми. В настоящем изобретении термины «выборка/пиксель» могут быть взаимозаменяемыми.

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

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

В настоящем изобретении, в ответ на определение, что горизонтальный край блока перекрывается с границей горизонтального блока дерева кодирования (CTB), фильтр деблокинга представляет собой фильтр, в котором МВ выборки модифицируются на стороне (то есть, нижней стороне) горизонтального края блока (CU край или TU край), в то время, как МА выборки модифицируются на другой стороне (то есть, верхней стороне) горизонтального края блока (CU край или TU край), в котором MB≠MB, в частности, MA<MB, например, МА=3 и МВ=7. Фильтр деблокинга может представлять собой асимметричный фильтр, который модифицирует различное количество выборок по обе стороны горизонтального края блока (например, CU край или TU край).

Очевидно, что в настоящем изобретении фильтр деблокинга может быть асимметричным фильтром. Кроме того, в настоящем изобретении термин «длинный отводной фильтр», «более длинный отводной фильтр» или «асимметричный отводной фильтр» или «асимметричный длинный фильтр» или «асимметричный фильтр» может быть взаимозаменяемым.

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

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

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

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

в котором DA≠DB (DA<DB) и DA определяется на основании размера линейного буфера, ассоциированного с CTB границей.

В настоящем изобретении в ответ на определение, что горизонтальной край блока перекрывается с границей горизонтального блока дерева кодирования (CTB), фильтр деблокинга также является фильтром, который использует DA выборки для принятия решения фильтра на одной стороне (то есть, верхней стороне) горизонтального края блока и использует DB выборки для принятия решения фильтра на другой стороне (то есть, нижней стороне) горизонтального края блока, в котором DA≠DB, в частности, DA<DB, например, DA=4 и DB=8. В общем, DA=MA+1 и DB=MB+1. Фильтр деблокинга может быть также асимметричным фильтром, который использует разное количество выборок по обе стороны края блока (например, CU край или TU край).

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

В возможной форме реализации устройства в соответствии с любой предшествующей реализацией первого аспекта или первого аспекта как такового, в котором, если размер линейного буфера имеет размер линейного буфера Х строк, для первого блока изображения, DA=X и MA=X-1, в котором X является положительным целым числом.

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

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

В возможной форме реализации устройства по любой предшествующей реализации первого аспекта или первого аспекта как такового, в котором, если линейный буфер, ассоциированный с CTB границей, имеет размер линейного буфера X строк,

выборка pi первого блока изображения используется в качестве значения заполнения, которое заменяет другие выборки, которые принадлежат к первому блоку изображения и, которые находятся за пределами линейного буфера, в котором i=X-1.

Выборка pi первого блока изображения является X-й выборкой в столбце, перпендикулярном и прилегающем к горизонтальному краю блока, и также является наиболее удаленной выборкой (например, р3, как показано на фиг. 17 или р1, как показано на фиг. 18 или р5, как показано на фиг. 16В), разрешенную для хранения в линейном буфере, ассоциированным с CTB границей.

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

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

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

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

В возможной форме реализации устройства в соответствии с любой предшествующей реализацией первого аспекта или первого аспекта как такового, в котором, когда линейный буфер имеет размер буфера 2 строки, выборка pi является выборкой р1 (например, столбец включает в себя [р0 р1 р2 …], р1 является вторым элементом в столбце), и коэффициент фильтра, ассоциированный с выборкой р1, равен 3 для выходной выборки р0' выходных значений первого фильтра. Уравнение p0'=Clip3(p0-tC, p0+tC, (3*p1+2*p0+q0+q1+q2+4)>>3) (8-1151)

В возможной форме реализации устройства в соответствии с любой предшествующей реализацией первого аспекта или первого аспекта как такового, в котором, когда линейный буфер имеет размер буфера 2 строки, выборка pi является выборкой р1 (например, столбец включает в себя [р0 р1 р2 …], р1 является вторым элементом в столбце), и коэффициент фильтра, ассоциированный с выборкой р1, равен 2 для выходной выборки q0' выходных значений второго фильтра. Уравнение q0'=Clip3(q0-tC, q0+tC, (2*p1+p0+2*q0+q1+q2+q3+4)>>3) (8-1154)

В возможной форме реализации устройства в соответствии с любой предшествующей реализацией первого аспекта или первого аспекта как такового, в котором, когда как первый блок изображения, так и второй блок изображения являются блоками яркости и SB и SA равны или больше, чем 32, MB=7 и MA=3; или

в котором, когда и первый блок изображения, так и второй блок изображения являются блоки яркости SB равен или больше 32 и SA равен или превышает 16, МВ=7 и МА=3.

Очевидно, что SA может отличаться от SB или SA одинаково с SB. Другими словами, SB и SA могут быть одинаковым значением или SB и SA могут быть разными значениями, например, SA составляет 32, SB составляет 64. Например, SA равен 16, SB равен 32.

В возможной форме реализации устройства в соответствии с любой предшествующей реализацией первого аспекта или первого аспекта как такового, в котором, когда как первый блок изображения, так и второй блок изображения являются блоками яркости и SB и SA равны или больше, чем 32, DB=8 и DA=4; или

в котором, когда и первый блок изображения, так и второй блок изображения, являются блоками яркости, и SB равен или больше 32 и SA равен или больше 16, DB=8 и DA=4.

Очевидно, что SA может отличаться от SB или SA одинаково с SB. Другими словами, SB и SA могут быть одинаковым значением или SB и SA могут быть разными значениями, например, SA составляет 32, SB равен 64. Например, SA равен 16, SB равен 32.

В возможной форме реализации устройства в соответствии с любой предшествующей реализацией первого аспекта или первого аспекта как такового, в котором, когда первый блок изображения и второй блок изображения являются блоками цветности, SA и SB равны или больше 8, MB=3 и MA=1.

Очевидно, что SA может отличаться от SB или SA одинаково с SB. Другими словами, SB и SA могут быть одинаковым значением или SB и SA могут быть разными значениями, например, SA равен 8, SB равен 8. Например, SA равен 8, SB равен 16.

В возможной форме реализации устройства по любой предшествующей реализации первого аспекта или первого аспекта как такового, в котором, когда первый блок изображения и второй блок изображения являются блоками цветности, SB и SA равны или больше 8, DB=4 и DA=2.

Очевидно, что SA может отличаться от SB или SA одинаково с SB. Другими словами, SB и SA могут быть одинаковым значением или SB и SA могут быть разными значениями, например, SA равен 8, SB равен 8. Например, SA равен 8, SB равен 16.

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

В возможной форме реализации устройства в соответствии с любой предшествующей реализацией первого аспекта или первого аспекта как такового, в котором выборки pi первого блока изображения являются выборками яркости или выборки pi первого блока изображения являются выборками цветности, диапазон для i может быть {0, 1, 2, …, SA-1}.

Аналогичным образом, выборки qj второго блока изображения представляют собой выборки яркости или выборки qj второго блока изображения представляют собой выборки цветности, диапазон для j может быть {0, 1, 2, …, SB-1}.

В частности, pi представляет собой любую выборку столбца выборок первого блока изображения (например, блока P), который является перпендикулярным и прилегающим к горизонтальному краю блока, и qj представляет собой любую выборку столбца выборок второго блока изображения (например, блок Q), который является перпендикулярным и прилегающим к горизонтальному краю блока, так как i, j=0, 1, 2, …7 или так как i, j=0, 1, 2 ,. 31.

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

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

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

Согласно второму аспекту изобретения предлагается устройство для использования в кодере изображений и/или декодере изображений для деблокинга краев блоков изображения между блоками изображения, в котором край блока содержат горизонтальный край блока между первым блоком изображения и вторым блоком изображения,

в котором первый блок изображения имеет размер SA блока вдоль вертикального направления, в котором второй блок изображения имеет размер SB блока вдоль вертикального направления, вертикальное направление перпендикулярно к горизонтальному краю блока,

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

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

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

в котором первый блок изображения является блоком цветности выше CTB границы, и второй блок изображения является еще одним блоком цветности ниже CTB границы и SA и SB равны или больше 8.

Очевидно, что SA может отличаться от SB, или SA одинаково с SB. Другими словами, SB и SA могут быть одинаковым значением или SB и SA могут быть разными значениями, например, SA равен 8, SB равен 8. Например, SA равен 8, SB равен 16.

Согласно третьему аспекту изобретения предлагается устройство для использования в кодере изображений и/или декодере изображений для деблокинга краев блоков изображения между блоками изображения, в котором край блока содержат горизонтальный край блока между первым блоком изображения и вторым блоком изображения,

в котором первый блок изображения имеет размер SA блока вдоль вертикального направления,

в котором второй блок изображения имеет размер SB блока вдоль вертикального направления, вертикальное направление перпендикулярно горизонтальному краю блока,

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

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

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

в котором первый блок изображения является блоком цветности над CTB границей, и второй блок изображения является еще одним блоком цветности ниже CTB границы, и SA и SB равны или больше 8.

Очевидно, что SA может отличаться от SB, или SA одинаково с SB. Другими словами, SB и SA могут быть одинаковым значением или SB и SA могут быть разными значениями, например, SA равен 8, SB равен 8. Например, SA составляет 8, SB равен 16.

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

в котором первый блок изображения имеет размер SA блока вдоль вертикального направления,

в котором второй блок изображения имеет размер SB блока вдоль вертикального направления, вертикальное направление перпендикулярно горизонтальному краю блока,

в котором способ содержит: в том случае, если горизонтальный край блока перекрывается с границей горизонтального блока дерева кодирования (CTB) (или, в ответ на определение, что горизонтальный блок блока перекрывается с границей горизонтального блока дерева кодирования (CTB),

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

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

в котором первый блок изображения является блоком выше CTB границы и второй блок изображения является блоком ниже CTB границы;

в котором MA≠MB (MA<MB) и MB определяется на основании размера линейного буфера линейного буфера, ассоциированного с CTB границей.

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

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

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

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

в котором DA≠DB (DA<DB) и DA определяется на основании размера линейного буфера линейного буфера, ассоциированного с CTB границей.

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

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

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

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

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

выборка pi первого блока изображения используется в качестве значения заполнения, которое заменяет другие выборки, которые принадлежат первому блоку изображения, и которые находятся за пределами линейного буфера, в котором i=X-1.

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

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

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

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

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

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

В возможной форме реализации способа в соответствии с любой предшествующей реализацией четвертого аспекта или четвертого аспекта как такового, в котором, когда как первый блок изображения, так и второй блок изображения являются блоками яркости, и SB и SA равны или больше, чем 32, MB=7 и MA=3; или

в котором, когда и первый блок изображения, так и второй блок изображения являются блоками яркости, и SB равен или больше 32 и SA равен или превышает 16, МВ=7 и МА=3.

В возможной форме реализации способа в соответствии с любой предшествующей реализацией четвертого аспекта или четвертого аспекта как такового, в котором, когда как первый блок изображения, так и второй блок изображения являются блоками яркости и SB и SA равны или больше, чем 32, DB=8 и DA=4; или

в котором, когда и первый блок изображения, так и второй блок изображения, являются блоками яркости, SB равен или больше 32 и SA равен или больше 16, DB=8 и DA=4.

В возможной форме реализации способа в соответствии с любой предшествующей реализацией четвертого аспекта или четвертого аспекта как такового, в котором, когда первый блок изображения и второй блок изображения являются блоками цветности, SA и SB равны или больше 8, MB=3 и MA=1.

В возможной форме реализации способа в соответствии с любой предшествующей реализацией четвертого аспекта или четвертого аспекта как такового, в котором, когда первый блок изображения и второй блок изображения являются блоками цветности, SB и SA равны или больше 8, DB=4 и DA=2.

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

В возможной форме реализации способа в соответствии с любой предшествующей реализацией четвертого аспекта или четвертого аспекта как такового, в котором выборки pi первого блока изображения являются выборками яркости, или выборки pi первого блока изображения являются выборками цветности, в котором i принадлежит к {0, 1, 2, …, SA-1}.

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

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

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

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

Согласно пятому аспекту изобретения предложен способ деблокинга для деблокинга краев блока между блоками изображения при кодировке изображения и/или декодировании изображения, в котором край блока содержит горизонтальный край блока между первым блоком изображения и вторым блоком изображения,

в котором первый блок изображения имеет размер SA блока вдоль вертикального направления,

в котором второй блок изображения имеет размер SB блока вдоль вертикального направления, вертикальное направление перпендикулярно горизонтальному краю блока,

в котором способ содержит: в том случае, если горизонтальный край блока перекрывается с границей горизонтального блока дерева кодирования (CTB) (или, в ответ на определение, что горизонтальный край блока перекрывается с границей горизонтального блока дерева кодировки (CTB)),

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

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

в котором первый блок изображения является блоком цветности выше CTB границы, и второй блок изображения является еще одним блоком цветности ниже CTB границы, и SA и SB равны или больше 8.

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

в котором первый блок изображения имеет размер SA блока вдоль вертикального направления,

в котором второй блок изображения имеет размер SB блока вдоль вертикального направления, вертикальное направление перпендикулярно горизонтальному краю блока,

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

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

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

в котором первый блок изображения является блоком цветности выше CTB границы, и второй блок изображения является еще одним блоком цветности ниже CTB границы, SA и SB равны или больше 8.

Согласно седьмому аспекту изобретения предложено устройство для использования в кодере изображений и/или декодере изображений для деблокинга краев блока между блоками изображения, в котором край блока содержит горизонтальный край блока между текущим блоком изображения и смежным блоком изображения текущего блока изображения, в котором текущий блок изображения выше горизонтального края блока;

в котором текущий блок изображения имеет размер SA блока вдоль вертикального направления, вертикальное направление перпендикулярно к горизонтальному краю блока,

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

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

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

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

Согласно восьмому аспекту изобретения предложен способ деблокинга для деблокинга краев блока между блоками изображений при кодировании изображений и/или декодировании изображений, в котором край блока содержит горизонтальный край блока между текущим блоком изображения и смежным блоком изображения текущего блока изображения, в котором текущий блок изображения выше горизонтального края блока;

в котором текущий блок изображения имеет размер SA блока вдоль вертикального направления, вертикальное направление перпендикулярно к горизонтальному краю блока,

в котором способ содержит: в том случае, если горизонтальный край блока перекрывается с границей горизонтального блока дерева кодирования (CTB) (или, в ответ на определение, что горизонтальный край блока перекрывается границей горизонтального блока дерева кодирования (CTB),

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

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

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

В возможной форме реализации в соответствии с седьмым или восьмым аспектом как таковым, в котором, если линейный буфер, ассоциированный с CTB границей, имеет размер буфера строк X строк, MA=Х-1, в котором X является положительным целым числом.

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

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

В возможной форме реализации в соответствии с любой предшествующей реализацией седьмого или восьмого аспекта, или седьмого или восьмого аспекта как такового, в котором, если линейный буфер, ассоциированный с CTB границей, имеет размер буфера X строк, DA=X и MA=X-1, в котором X является положительным целым числом.

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

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

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

выборка pi текущего блока изображения используется в качестве значения заполнения, которое заменяет другие выборки, которые принадлежат текущему блоку изображений, и которые находятся за пределами линейного буфера, в котором i=X-1.

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

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

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

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

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

В возможной форме реализации в соответствии с любой предшествующей реализацией седьмого или восьмого аспекта, или седьмого или восьмого аспекта как такового, когда текущий блок изображения является блоком яркости, и SA равен или превышает 32, МА=3, в котором SA равен или больше 32, МА=3, в котором SA является высотой текущего блока изображения;

или

когда текущий блок изображения является блоком яркости и SA равен или превышает 16, МА=3, в котором SA является высотой текущего блока изображения.

В возможной форме реализации в соответствии с любой предшествующей реализацией седьмого или восьмого аспекта, или седьмого или восьмого аспекта как такового, когда текущий блок изображения является блоком яркости, и SA равен или более 32, DA=4, в котором SA равен или превышает 32, DA=4, в котором SA является высотой текущего блока изображения; или

когда текущий блок изображения является блоком яркости и SA равен или больше 16, DA=4, в котором SA является высотой текущего блока изображения.

В возможной форме реализации в соответствии с любой предшествующей реализацией седьмого или восьмого аспекта, или седьмого или восьмого аспекта как такового, когда текущий блок изображения является блоком цветности, и SA равен или больше 8, МА=1,

в котором SA является высотой текущего блока изображения.

В возможной форме реализации в соответствии с любой предшествующей реализацией седьмого или восьмого аспекта, или седьмого или восьмого аспекта как такового, когда текущий блок изображения является блоком цветности, и SA равен или больше 8, DA=2,

в котором SA является высотой текущего блока изображения.

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

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

В возможной форме реализации в соответствии с любой предшествующей реализацией седьмого или восьмого аспекта, или седьмого или восьмого аспекта как такового, в котором выборки pi текущего блока изображения представляют собой выборки яркости или выборки pi текущего блока изображения являются выборками цветности, в котором i принадлежит {0, 1, 2, …, SA-1}.

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

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

Согласно девятому аспекту изобретения, предложено устройство для использования в кодере изображений и/или декодере изображения для деблокинга краев блоков между блоками изображений, в котором край блока содержит горизонтальный край блока между текущим блоком изображения и смежным блоком изображения текущего блока изображения, в котором текущий блок изображения выше горизонтального края блока;

в котором текущий блок изображения имеет размер SA блока вдоль вертикального направления, вертикальное направление перпендикулярно к горизонтальному краю блока,

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

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

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

в котором, когда текущий блок изображения является блоком яркости и SA равен или больше 32, MA=3 и DA=4.

Согласно десятому аспекту изобретения предложено устройство для использования в кодере изображений и/или декодере изображений для деблокинга краев блока между блоками изображений, в котором край блока содержит горизонтальный край блока между текущим блоком изображения и смежным блоком изображения текущего блока изображения, в котором текущий блок изображения выше горизонтального края блока;

в котором текущий блок изображения имеет размер SA блока вдоль вертикального направления, вертикальное направление перпендикулярно к горизонтальному краю блока,

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

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

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

в котором, когда текущий блок изображения представляет собой блоком цветности и SA равен или более 8, MA=1 и DA=2.

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

в котором текущий блок изображения имеет размер SA блока вдоль вертикального направления, вертикальное направление перпендикулярно к горизонтальному краю блока,

в котором способ содержит: в том случае, если горизонтальный край блока перекрывается с границей горизонтально блока дерева кодирования (CTB) (или, в ответ на определение, что горизонтальный край блока перекрывается с границей горизонтального блока дерева кодирования (CTB),

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

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

в котором, когда текущий блок изображения является блоком яркости и SA равен или больше 32, MA=3 и DA=4.

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

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

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

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

в котором, когда текущий блок изображения представляет собой блок цветности и SA равен или более 8, MA=1 и DA=2.

Следует отметить, что модифицированное условие фильтра предполагает использование ограниченного количества строк из верхнего блока «P»,

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

Очевидно, что выборки, которые могут быть сохранены в памяти с верхнего CTU, называются линейным буфером. В настоящем изобретении линейный буфер, например, может представлять собой 4-строчный буфер или 6-строчный буфер. Размер линейного буфера представляет собой количество пикселей, которые необходимо хранить в памяти для CTU на основании декодирования (например, аппаратные декодеры).

Размер линейного буфера для компонента яркости составляет 4 строки и для компонента цветности составляет 2 строки.

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

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

Выборки на каждой стороне границы блока (перпендикулярно границе блока) могут быть представлены как:

… р8 p7 p6 p5 p4 p3 p2 p1 p0 | q0 q1 q2 q3 q4 q5 q6 q7 q8 …

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

в котором pi представляет значения выборки первого блока P кодирования (коротко, блок Р), и qi представляют значения выборки второго блока Q кодирования (коротко, блок Q).

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

Согласно другому аспекту изобретения предусмотрено устройство кодирования видео. Устройство (100) кодирования видео для кодирования изображения видеопотока, в котором устройство (100) кодирования видео содержит:

блок (114) восстановления, выполненный с возможностью восстанавливать изображение; и

устройство (120) фильтра, как описано ранее, для обработки восстановленного изображения в отфильтрованное восстановленное изображение.

Это позволяет очень эффективно и точно кодировать изображение.

Согласно другому аспекту изобретения предусмотрено устройство декодирования видео. Устройство (200) декодирования видео для декодирования изображения кодированного видеопотока (303), в котором устройство (200) декодирования видео содержит:

блок (214) восстановления, выполненный с возможностью восстанавливать изображение; и

устройство (220) контурного фильтра, как описано ранее, для обработки восстановленного изображения в отфильтрованное восстановленное изображение.

Это обеспечивает особенно точное и эффективное декодирование изображения.

В примере, первый фильтр (то есть длинный отводной фильтр или асимметричный фильтр или асимметричный отводной фильтр) представляет собой фильтр, который использует 4 выборки верхнего блока для принятия решения фильтра на одной стороне края блока (например, горизонтальный край блока перекрывается с границей блока дерева кодирования (CTU)) и использует 8 выборок ниже блока для принятия решения фильтра на другой стороне края блока и 3 выборки верхнего блока модифицированы на одной стороне края блока (CU край), в то время как модифицируются 7 выборок ниже блока на другой стороне края блока (CU край).

Это обеспечивает особенно точное и эффективное выполнение деблокинга.

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

Это позволяет обеспечить очень эффективное и точное кодирование изображения.

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

Это позволяет обеспечить очень эффективное и точное декодирование изображения.

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

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

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

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

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

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

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

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

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

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

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

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

Фиг. 4А показывает два примерных блока кодирования, в которых блок Q кодирования использует инструменты суб-PU;

Фиг. 4B показывает два примерных блока кодирования, в которых горизонтальный край блока между двумя блоками P и Q кодирования;

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

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

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

Фиг. 8 показывает блок-схему алгоритма, иллюстрирующую способ определения, удовлетворено ли условие HEVC сильного фильтра;

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

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

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

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

Фиг. 13 показывает упрощенную блок-схему устройства 1300, которая может использоваться в качестве устройства 310 источника или устройства 320 назначения по фиг. 3 или оба в соответствии с примерным вариантом осуществления;

Фиг. 14 показывает схему устройства для кодирования видео;

Фиг. 15 показывает изображение 1500, содержащее блоки CTU1-CTU40 дерева кодирования;

Фиг. 16А показывает перекрытие горизонтального края на границе CTU в соответствии с примерным вариантом осуществления;

Фиг. 16B показывает перекрытие горизонтального края на границе горизонтального CTB яркости в соответствии с другим примерным вариантом осуществления, когда применяется линейный буфер (такой как 6-строчный буфер);

Фиг. 17 показывает перекрытие горизонтального края на границе горизонтального CTB яркости в соответствии с другим примерным вариантом осуществления, когда применяется линейный буфер (такой как 4-строчный буфер);

Фиг. 18 показывает перекрытие горизонтального края на границе горизонтального CTB цветности в соответствии с другим примерным вариантом осуществления, когда применяется линейный буфер (такой как 2-строчный буфер); и

Фиг. 19 показывает схему устройства для деблокинга краев блока.

Фиг. 20 представляет собой блок-схему, показывающую пример структуры системы 3100 поставки контента, которая реализует службу доставки контента.

Фиг. 21 представляет собой блок-схему, показывающую структуру оконечного устройства.

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

Описание вариантов осуществления

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

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

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

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

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

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

В следующих вариантах осуществления до подробного описания вариантов осуществления изобретения со ссылкой на фиг. 4-19, приведено описание кодера 100, декодера 200 и системы 10 кодирования со ссылкой на фиг. 1-3.

Фиг. 3 представляет собой концептуальную или схематическую блок-схему, иллюстрирующую пример системы 300 кодирования, например, система 300 кодирования видео, в котором система 300 кодирования видео содержит устройство 310 источника, выполненное с возможностью предоставлять закодированные данные 330, например, закодированное изображение 330, например, в устройство 320 назначения для декодирования закодированных данных 330.

Устройство 310 источника содержит кодер 100 и может дополнительно, т.е. возможно, содержать источник 312 изображения, блок 314 предварительной обработки, например, блок 314 предварительной обработки изображения и интерфейс связи или блок 318 связи.

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

(Цифровое) изображение представляет собой или может рассматриваться как двумерный массив или матрица выборок со значениями интенсивности. Выборка в массиве также может называться пикселем (сокращенная форма элемента изображения) или пикселем. Количество выборок в горизонтальном и вертикальном направлении (или по оси) массива или изображения определяет размер и/или разрешение изображения. Для представления цвета обычно используются три цветовых компонента, то есть, изображение может быть представлено или содержать в себя три массива выборок. В формате RBG или цветовом пространстве изображение содержит соответствующий массив выборок красного, зеленого и синего цветов. Однако при кодировании видео каждый пиксель обычно представлен в формате яркости/цветности или цветовом пространстве, например YCbCr, который содержит компонент яркости, обозначенный Y (иногда вместо него также используется L), и два компонента цветности, обозначенные Cb и Cr. Компонент Y яркости (или короткости, яркость) представляет яркость или интенсивность уровня серого (например, как в полутоновом изображении), в то время как два компонента цветности (или коротко, цветность) Cb и Cr представляют компоненты цветности или информация о цвете. Соответственно, изображение в формате YCbCr содержит массив выборок яркости значений выборок яркости (Y) и два массива выборок цветности значений цветности (Cb и Cr). Изображения в формате RGB могут быть преобразованы или преобразованы в формат YCbCr, и наоборот, этот процесс также известен как преобразование цвета или конвертация. Если изображение является монохромным, оно может содержать только массив выборок яркости.

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

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

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

Кодер 100 выполнен с возможностью принимать данные 315 предварительно обработанного изображения и предоставлять данные 171 закодированного изображения (дополнительные подробности будут описаны ниже, например, со ссылкой на фиг. 1).

Интерфейс 318 связи устройства 310 источника может быть выполнен с возможностью принимать данные 171 закодированного изображения и напрямую передавать другому устройству, например, в устройство 320 назначения или любое другое устройство для хранения или прямого восстановления или для обработки данных 171 закодированного изображения, соответственно, перед сохранением кодированных данных 330 и/или передачей закодированных данных 330 в другое устройство, например, устройство 320 назначения или любое другое устройство для декодирования или сохранения.

Устройство 320 назначения содержит декодер 200 или блок 200 декодирования и может дополнительно, т.е. возможно, содержать интерфейс связи или блок 322 связи, блок 326 постобработки и устройство 328 отображения.

Интерфейс 322 связи устройства 320 назначения выполнен с возможностью принимать данные 171 закодированного изображения или кодированные данные 330, например, непосредственно из устройства 310 источника или из любого другого источника, например, память, например, устройство хранения данных закодированного изображения.

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

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

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

Как интерфейс 318 связи, так и интерфейс 322 связи могут быть сконфигурированы как однонаправленные интерфейсы связи, как показано стрелкой для данных 330 закодированного изображения на фиг. 3, указывающей от устройства 310 источника к устройству 320 назначения или, как интерфейсы двунаправленной связи, и может быть выполнен с возможностью, например, отправлять и принимать сообщения, например, для установки соединения, подтверждения и обмена любой другой информацией, относящейся к каналу связи и/или передаче данных, например, передача данных закодированного изображения.

Декодер 200 выполнен с возможностью принимать данные 171 кодированного изображения и предоставления данных 231 декодированного изображения или декодированного изображения 231 (дополнительные подробности будут описаны ниже, например, на основании фиг. 2).

Постпроцессор 326 устройства 320 назначения выполнен с возможностью пост-обработки данных 231 декодированного изображения, например, декодированного изображения 231, чтобы получить данные 327 изображения после обработки, например, пост-обработанное изображение 327. Постобработка, выполняемая блоком 326 постобработки, может содержать, например, преобразование цветового формата (например, из YCbCr в RGB), цветокоррекция, обрезка или повторная выборка, или любая другая обработка, например, для подготовки данных 231 декодированного изображения для отображения, например, с помощью устройства 328 отображения.

Устройство 328 отображения устройства 320 назначения выполнено с возможностью принимать данные 327 изображения с постобработкой для отображения изображения, например, пользователю или зрителю. Устройство 328 отображения может быть или содержать любой вид дисплея для представления восстановленного изображения, например, встроенный или внешний дисплей, или монитор. Дисплеи могут, например, состоят из жидкокристаллических дисплеев (LCD), дисплеев на органических светодиодах (OLED) или любого другого дисплея … видеопроектор, голограмма (3D).

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

Как будет очевидно для специалиста на основании описания, наличие и (точное) разделение функциональных возможностей различных блоков или функций в устройстве 310 источника и/или устройстве 320 назначения, как показано на фиг. 3, может варьироваться в зависимости от фактического устройства и реализации.

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

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

Фиг. 1 показывает схематическую/концептуальную блок-схему примерного кодера 100, например, кодера 20 изображения, который содержит вход 102, блок 104 вычисления остатка, блок 106 преобразования, блок 108 квантования, блок 110 обратного квантования и блок 112 обработки обратного преобразования, блок 114 восстановления, буфер 118, контурный фильтр 120, буфер 130 декодированных изображений (DPB), блок 160 предсказания (блок 142 внешней оценки, блок 144 внешнего предсказания, блок 152 внутренней оценки, блок 154 внутреннего предсказания), блок 162 выбора режима, блок 170 энтропийного кодирования и выход 172. Видеокодер 100, показанный на фиг. 1, также может называться гибридным видеокодером или видеокодером согласно гибридному видеокодеку.

Например, блок 104 вычисления остатка, блок 106 преобразования, блок 108 квантования и блок 170 энтропийного кодирования образуют прямой путь сигнала кодера 100, тогда как, например, блок 110 обратного квантования, блок 112 обратного преобразования, блок 114 восстановления, буфер 118, контурный фильтр 120, буфер 130 декодированных изображений (DPB), блок 144 внешнего предсказания и блок 154 внутреннего предсказания образуют обратный путь сигнала кодера, в котором обратный путь сигнала кодера соответствует тракту сигнала декодера (см. декодер 200 на фиг. 2).

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

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

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

Кодер 100, как показано на фиг. 1, выполнен с возможностью поблочно кодировать изображение 101, например, выполнять кодирование и предсказание блока 103.

Блок 104 вычисления остатка выполнен с возможностью вычислять остаточный блок 105 на основании блока 103 изображения и блока 165 предсказания (дополнительные подробности о блоке 165 предсказания предоставлены позже), например, путем вычитания значений выборок блока 165 предсказания из значений выборок блока 103 изображения, выборка за выборкой (пиксель за пикселем) для получения остаточного блока 105 в области выборки.

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

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

Блок 108 квантования выполнен с возможностью квантовать преобразованные коэффициенты 107 для получения квантованных коэффициентов 109, например, путем применения скалярного квантования или векторного квантования. Квантованные коэффициенты 109 также могут упоминаться как квантованные остаточные коэффициенты 109. Например, для скалярного квантования может применяться другое масштабирование для достижения более тонкого или более грубого квантования. Меньшие размеры шага квантования соответствуют более тонкому квантованию, тогда как большие размеры шагов квантования соответствуют более грубому квантованию. Применимый размер шага квантования может быть указан параметром квантования (QP). Параметр квантования может, например, быть индексом для заранее определенного набора применимых размеров шага квантования. Например, малые параметры квантования могут соответствовать точному квантованию (малые размеры шагов квантования), и большие параметры квантования могут соответствовать грубому квантованию (большие размеры шага квантования) или наоборот. Квантование может содержать в себя деление по размеру шага квантования и соответствующее или деквантование, например, посредством блока 110 обратного квантования, может содержать в себя умножение на размер шага квантования.

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

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

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

Блок 112 обратного преобразования выполнен с возможностью применять обратное преобразование, применяемое блоком 106 преобразования, например, обратное дискретное косинусное преобразование (DCT) или обратное дискретное синусоидальное преобразование (DST) для получения обратно преобразованного блока 113 в области выборки. Обратно преобразованный блок 113 также может называться обратно преобразованным деквантованным блоком 113 или обратно преобразованным остаточным блоком 113.

Блок 114 восстановления выполнен с возможностью объединять обратно преобразованный блок 113 и блок 165 предсказания для получения восстановленного блока 115 в области выборки, например, путем сложения значений выборок декодированного остаточного блока 113 и значений выборок блока 165 предсказания.

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

Варианты осуществления кодера 100 могут быть выполнены с возможностью, в которых, например, блок 116 буфера используется не только для хранения восстановленных блоков 115 для внутренней оценки 152 и/или внутреннего предсказания 154, но также для блока 120 контурного фильтра (не показан на фиг. 1) и/или, что, например, блок 116 буфера и блок 130 буфера декодированных изображений образуют один буфер. Дополнительные варианты осуществления могут быть выполнены с возможностью использовать фильтрованные блоки 121 и/или блоки или выборки из буфера 130 декодированных изображений (оба не показаны на фиг. 1) в качестве входных данных или основы для внутренней оценки 152 и/или внутреннего предсказания 154.

Блок 120 контурного фильтра (или коротко, «контурный фильтр» 120) выполнен с возможностью фильтрации восстановленного блока 115 для получения отфильтрованного блока 121, например, применением фильтра с адаптивным смещением (SAO) или других фильтров, например, фильтров повышения резкости или сглаживания или коллаборативных фильтров. Отфильтрованный блок 121 также может упоминаться как фильтрованный восстановленный блок 121. Далее, контурный фильтр 120 обозначается как фильтр деблокинга. Со ссылкой на фиг. 6 или фиг. 7 или фиг. 10-фиг. 12 будет приведено дополнительное подробное описание блока 120 контурного фильтра.

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

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

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

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

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

Блок 160 предсказания, также называемый блоком 160 блока предсказания, выполнен с возможностью принимать или получать блок 103 изображения (блок 103 текущего изображения 101) и данные декодированного или, по меньшей мере, восстановленного изображения, например, опорные выборки одного и того же (опорного) изображения из буфера 116 и/или данных 231 декодированного изображения из одного или множества ранее декодированных изображений из буфера 130 декодированных изображений, и обрабатывать такие данные для предсказания, то есть, для обеспечения блока 165 предсказания, которые могут быть блоком 145 внешнего предсказания или блоком 155 внутреннего предсказания.

Блок 162 выбора режима может быть выполнен с возможностью выбирать режим предсказания (например, режим внутреннего или внешнего предсказания) и/или соответствующий блок 145 или 155 предсказания, который будет использоваться в качестве блока 165 предсказания для вычисления остаточного блока 105 и для вычисления остаточного блока 105 и для восстановления восстановленного блока 115.

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

Далее будет приведено подробное описание процесса предсказания (например, блок 160 предсказания и выбора режима (например, блоком 162 выбора режима), выполненный примерным кодером 100.

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

Набор режимов внутреннего предсказания может содержать 32 различных режимов внутреннего предсказания, например, ненаправленные режимы, такие как DC (или средний) режим и планарный режим, или направленные режимы, например, как определено в H.264, или может содержать 65 различных режимов внутреннего предсказания, например, ненаправленные режимы, такие как DC (или средний) режим и планарный режим, или направленные режимы, например, как определено в H.265.

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

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

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

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

Кодер 100 может, например, быть выполнен с возможностью выбирать опорный блок из множества опорных блоков одинаковых или разных изображений множества других изображений и предоставляют опорное изображение (или индекс опорного изображения, …) и/или смещение (пространственное смещение) между позицией (координатами x, y) опорного блока и позицией текущего блока в качестве параметров 143 внешней оценки в блок 144 внешнего предсказания. Это смещение также называется вектором движения (MV). Внешняя оценка также называется оценкой движения (ME) и внешнее предсказание также предсказанием движения (MP).

Блок 144 внешнего предсказания выполнен с возможностью получать, например, принимать параметр 143 внешнего предсказания и выполнять внешнее предсказание на основании или использованием параметра 143 внешнего предсказания для получения блока 145 внешнего предсказания.

Хотя фиг. 1 показывает два различных блока (или этапа) для внешнего кодирования, а именно, внешняя оценка 142 и внешнее предсказание 152, обе функциональности могут быть выполнены в виде одного (внешняя оценка) требуется/содержит вычисление блока внешнего предсказания, то есть, или «вид» внешнего предсказания 154), например, посредством тестирования всех возможных или заранее определенного подмножества возможных режимов внешнего предсказания итеративно сохраняя в данный момент наилучший режим внешнего предсказания и соответствующего блока внешнего предсказания, и используя наилучший в данный момент блок внешнего предсказания и соответствующего блока внешнего предсказания, в качестве (окончательного) параметра 143 внешнего предсказания и блока 145 внешнего предсказания, без выполнения в другое время внешнего предсказания 144.

Блок 152 внутренней оценки выполнен с возможностью получать, например, принимать блок 103 изображения (текущий блок изображения) и один или множество ранее восстановленных блоков, например, восстановленные соседние блоки одного и того же изображения для внутренней оценки. Кодер 100 может, например, быть выполнен с возможностью выбирать режим внутреннего предсказания из множества (заранее определенного) режимов внутреннего предсказания и предоставлять его в качестве параметра 153 внутренней оценки в блок 154 внутреннего предсказания.

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

Блок 154 внутреннего предсказания выполнен с возможностью определять на основании параметра 153 внутреннего предсказания, например, выбранный режим 153 внутреннего предсказания, блок 155 внутреннего предсказания.

Хотя фиг. 1 показывает два отдельных блока (или этапа) для внутреннего кодирования, а именно, внутренней оценки 152 и внутреннего предсказания 154, обе функции могут быть выполнены в виде одной (внутренней оценки) требует/содержит вычисление блока внутреннего предсказания, то есть, или «вид» внутреннего предсказания 154), например, посредством тестирования всех возможных или заранее определенного подмножества возможных режимов внутреннего предсказания итеративно сохраняя в настоящее время наилучший режим внутреннего предсказания и соответствующий блок внутреннего предсказания и использование в настоящее время лучшего режима внутреннего предсказания и соответствующего блока внутреннего предсказания в качества (окончательного) параметра 153 внутреннего предсказания и блока 155 внутреннего предсказания без выполнения другого времени внутреннего предсказания 154.

Блок 170 энтропийного кодирования выполнен с возможностью применять алгоритм или схему энтропийного кодирования (например, схема кодирования переменной длины (VLC), схема адаптации на основе контекста (CALVC), схема арифметического кодирования, контекстно-адаптивное двоичное арифметическое кодирование (CABAC)) к квантованным остаточным коэффициентам 109, параметрам 143 внешнего предсказания, параметру 153 внутреннего предсказание и/или параметры контурного фильтра индивидуально или совместно (или нет) для получения данных 171 кодированного изображения, которые могут быть выведены через выход 172, например, в виде закодированного битового потока 171.

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

Фиг. 2 показывает примерный видеодекодер 200, выполненный с возможностью принимать данные 171 кодированного изображения (например, кодированный битовый поток), например, кодированные кодером 100 для получения декодированного изображения 231.

Декодер 200 содержит вход 202, блок 204 энтропийного декодирования, блок 210 обратного квантования, блок 212 обратного преобразования, блок 214 восстановления, буфер 216, контурный фильтр 220, буфер 230 декодированных изображений, блок 260 предсказания, блок 244 внешнего предсказания, блок 254 внутреннего предсказания, блок 260 выбора режима и выход 232.

Блок 204 энтропийного декодирования выполнен с возможностью выполнять энтропийное декодирование данных 171 закодированного изображения для получения, например, квантовых коэффициентов 209 и/или декодированных параметров кодирования (не показано на фиг. 2), например, (декодированные) любые или все параметры 143 внешнего предсказания, параметр 153 внутреннего предсказания и/или параметры контурного фильтра.

В вариантах осуществления декодера 200 блок 210 обратного квантования, блок 212 обратного преобразования, блок 214 восстановления, буфер 216, контурный фильтр 220, буфер 230 декодированных изображений, блок 260 предсказания и блок 260 выбора режима выполнены с возможностью выполнять обратную обработку кодера 100 (и соответствующих функциональных блоков) для декодирования данных 171 кодированного изображения.

В частности, блок 210 обратного квантования может быть идентичен функциями с функцией блока 110 обратного квантования, блок 212 обратного преобразования может быть идентичен функциями с функцией блока 112 обратного преобразования, блок 214 восстановления может быть функционально идентичен блоку 114 восстановления, буфер 216 может быть идентичен функциям буфера 116, контурный фильтр 220 может быть идентичен функциями контурному фильтру 120 (в отношении фактического контурного фильтра, когда контурный фильтр 220, как правило, не содержит блок анализа фильтра для определения параметров фильтра на основании исходного изображения 101 или блока 103, но принимают (явно или неявно) или получает параметры фильтра, используемые для кодирования, например, из блока 204 энтропийного декодирования) и буфер 230 декодированных изображений может быть функционально идентичен буферу 130 декодированных изображений.

Блок 260 предсказания может содержать блок 244 внешнего предсказания и блок 254 внутреннего предсказания, в котором блок 244 внешнего предсказания может быть идентичен функциям блоку 144 внешнего предсказания и блок 254 внутреннего предсказания может быть идентичен функциям блоку 154 внутреннего предсказания. Блок 260 предсказания и блок 262 выбора режима, как правило, выполнены с возможностью выполнять предсказание блока и/или получать предсказанный блок 265 только из закодированных данных 171 (без какой-либо дополнительной информации о исходном изображении 101) и принимать или получать (явно или неявно) параметры 143 или 153 предсказания и/или информацию о выбранном режиме предсказания, например, из блока 204 энтропийного декодирования.

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

Хотя варианты осуществления изобретения были в первую очередь описаны в основном на основании кодирования видео, следует отметить, что варианты осуществления кодера 100 и декодера 200 (и, соответственно, системы 300) также могут быть выполнены с возможностью обрабатывать или кодировать неподвижное изображение, т.е. обрабатывать или кодировать отдельные изображения независимо от любого предшествующего или следующего изображения, как при кодировании видео. В целом не используются только внешняя оценка 142, внешнее предсказание 144, 244 в случае, если процесс кодирования изображений ограничен одним изображением 101. Большинство, если не все другие функции (также называются инструментами или технологиями) кодера 100 видео и декодера 200 видео могут одинаково использоваться для фотографий, например, разделение, преобразование (масштабирование) 106, квантование 108, блок 110 обратного квантования, обратное преобразование 112, внутренняя оценка 142, внутреннее предсказание 154, 254 и/или контурная фильтрация 120, 220 и энтропийное кодирование 170 и энтропийное декодирование 204.

Настоящее изобретение относится к внутренней разработке фильтра деблокинга, также называемый контурным фильтром на фиг. 1 и фиг. 2. Далее со ссылкой на фиг. 4-фиг. 19 будет приведено дополнительное подробное описание блока 120, 220 контурного фильтра.

Схемы кодирования видео, такие как H.264/AVC, HEVC и VVC, разработаны по принципу блочного гибридного кодирования видео. Используя этот принцип, изображение сначала распределяется на блоки и затем каждый блок предсказывается с использованием внутреннего предсказания изображения или внешнего предсказания изображения. Эти блоки кодируются относительно соседних блоков и приближается к исходному сигналу с некоторой степенью сходства. Поскольку кодированные блоки только приближены к исходному сигналу, разница между приближениями, вызывающая разрывы на границах блока предсказания и преобразования. Эти разрывы ослабляются фильтром деблокинга. HEVC заменяет структуру макроблока H.264/AVC концепцией блока дерева кодирования (CTU) максимального размера 64×64 пикселей. CTU может дополнительно разделяться по схеме разделения дерева квадрантов на более мелкие блоки кодирования (CU), которые могут быть подразделены до минимального размера 8×8 пикселей. HEVC также вводит концепции блоков предсказания (PB) и блоков преобразования (TB).

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

Новый видеокодек: универсальное кодирование видео (VVC) реализует возможности сжатия, которые значительно превышает текущий стандарт HEVC (включающий в себя его текущие расширения и краткосрочные расширения для кодирования контента экрана и кодирования высокого динамического диапазона). Тестовая модель VVC (VTM) использует новую схему структуры разделения блока, называемую дерево квадрантов плюс двоичное дерево плюс троичное дерево (QTBTTT).

QTBTTT структура не использует концепции множества типов разделения, т.е. устраняет разделение блоков кодирования (CU), блоков предсказания (PU) и блоков преобразования (TU). Поэтому CU=PU=TU. QTBTTT поддерживает более гибкие формы разделения CU, в котором CU может иметь либо квадратную, либо прямоугольную форму. Минимальная ширина и высота CU могут быть 4 выборками и размеры CU также могут быть 4×N или N×4, в котором N может принимать значения в диапазоне [4, 8, 16, 32]. Кроме того, наибольший размер CTU был увеличен до 128×128 пикселей, что в 4 раза больше, чем размер CTU в HEVC.

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

Для удаления блочных артефактов, принадлежащих большим блокам, использовался длинный отводной фильтр деблокинга (например, более большие блоки яркости или более большие блоки цветности). Особенно для больших блоков (таких как блоки преобразования (TU), блоки предсказания (PU), блоки кодирования (CB)), фильтрация деблокинга (например, деблокинг яркости и цветности) может быть сложной, в то время, как должны быть рассмотрены требования линейного буфера на горизонтальных CTB (или CTU) границах, например, должно быть рассмотрено требование линейного буфера для длинного отводного фильтра деблокинга на границах горизонтального CTB (или CTU).

На фиг. 4А показана операция фильтра деблокинга (посредством разделения дерева квадрантов плюс двоичного дерева плюс троичного дерева (QTBTTT)) для вертикальных границ.

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

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

Техническая задача применения «длинного отводного фильтра» для удовлетворения требования линейного буфера решена, как показано на фиг. 4В. Блоки 401, 402 кодирования, также обозначенные как P, Q, представляют собой два CUs, размер CU равен 4×16 выборок. В другом примере, как показано на фиг. 16А, блок P кодирования (т.е. первый блок кодирования) имеет высоту блока > = 16 и блок Q кодирования (т.е. второй блок кодирования) имеет высоту блока = 32.

Когда горизонтальный край блока (отмечен толстой черной линией, такой как край блока яркости) отфильтрован, модифицируют максимум 7 выборок по обе стороны края блока. Поэтому выборки P0,0 до P6,0 могут быть модифицированы и/или выборки Q0,0 до Q6,0 модифицированы. Однако в случае, когда горизонтальный край блока перекрывается с CTB границей, необходимо найти компромисс на основании требований линейного буфера и субъективного качества. Использование асимметричного длинного отводного фильтра предоставляет лучший компромисс по сравнению с полным выключением длинного отводного фильтра на границах горизонтального CTB. Асимметричный длинный отводной фильтр дополнительно определяется следующим образом: асимметричный длинный отводной фильтр использует разное количество отводов на обоих сторонах края для принятия решений фильтра и операции фильтрации. Например, на одной стороне края можно использовать только 4 отвода, но на другой стороне края можно использовать до 8 выборок.

В настоящем изобретении техническая задача выполнения фильтрации деблокинга горизонтального края (Edge_Hor) с оптимальным субъективным качеством при ограниченном доступном линейном буфере решена подходом, как показано на фиг. 9, фиг. 10-12, фиг. 15-фиг. 18.

Аспект, который необходимо учитывать, заключается в том, что соответствующий край блока относится к кодированному изображению. Особенно, если в данный момент край отфильтрованного блока выровнен с границей блока дерева кодирования (CTB) (или границей блока дерева кодирования (CTU)) и является горизонтальным краем блока, количество входных значений фильтра и выходных значения фильтра значительно влияет на объем линейной памяти для выполнения кодирования. Это проиллюстрировано на фиг. 15.

Фиг. 15 показывает изображение 1500, содержащее количество блоков CTU1-CTU40 дерева кодирования. Каждый блок дерева кодирования имеет, например, 256×256 значений выборки. При выполнении фильтрации длинным отводным фильтром, в примере для определения выходных значений фильтра могут рассматриваться восемь значений выборки вдоль краев блока кодирования. Поскольку блоки CTU1-CTU40 кодирования обрабатываются последовательно, это может привести к чрезвычайно большому необходимого объему линейной памяти.

Рассмотрим фильтрацию деблокинга края 1501 блока, показанного на фиг. 15. Здесь край 1501 блока был изображен по всей ширине блоков CTU17 и CTT25 кодирования. На практике размер блока кодирования будет значительно меньше, поскольку кодирование не выполняется в масштабе блока дерева кодирования.

Поскольку блоки CTU1-CTU40 дерева кодирования обрабатываются последовательно для выполнения деблокинга края 1501 блока кодирования, необходимо сохранить всю нижнюю горизонтальную пограничную область блоков CTU17-CTU24 дерева кодирования в рамках объема линейной памяти. В примере, показанном здесь, с восемью блоками CTU17-CTU24 дерева кодирования и шириной 256 выборок каждого из блоков кодирования и восемь соответствующих значений выборок в качестве входных значений фильтра, требуется размер памяти 8×256×8=16 384 выборок линейной памяти. Для каждого горизонтального края блока кодирования необходимо решить данную техническую задачу. Это особенно проблематично для блока CTU9, CTU17, CTU25 и CTU33 дерева кодирования, поскольку в любом из этих случаев вся горизонтальная пограничная область предшествующей строки блоков дерева кодирования должна храниться в линейной памяти. Это дополнительно изображено на фиг. 9, фиг. 16А, 16В или фиг. 17 или фиг. 18.

Следует отметить, что техническую задачу линейного буфера необходимо рассматривать с учетом горизонтальной границы, перекрывающейся с CTU границей. Настоящее изобретение сфокусировано на горизонтальных границах, перекрывающиеся с CTB (или CTU) границами, особенно на фильтрации горизонтальных краев, перекрывающихся с CTB границами с помощью X-строк, доступных в линейном буфере.

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

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

В примере линейный буфер может составлять 4 строки (например, в HEVC). В другом примере линейный буфер может составлять 6 строк, то есть, 6-строчный буфер. В частности, для блоков яркости линейный буфер может составлять 4 строки (например, в HEVC). В другом примере линейный буфер может составлять 6 строк, то есть, 6-строчный буфер.

Фиг. 9 показывает размер линейного буфера 4 строк. На фиг. 9 показано изображение 900, содержащее два блока 901, 902. Край 903 блока делит блоки 901 и 902. В соответствии с примером, когда край горизонтального 903 блока перекрывается с CTB границей, в котором первый блок P кодирования является блоком 901 выше CTB границы, и второй блок Q кодирования является блоком 902 ниже CTB границы; MA=3, DA=4. Здесь, МА является количеством выборок, модифицированных во время процесса фильтрации для блока (например, блока 901) выше границы горизонтального CTB и DA является количеством выборок, используемых в решении фильтра для блока (например, блока 901) выше границы горизонтального CTB. Другими словами, MA может быть рассмотрена, как максимальная длина фильтра блока (такого как блок 901) выше границы горизонтального CTB.

Фиг. 17 также показывает размер линейного буфера 4 строк. На фиг. 17, когда 4 строки разрешено использоваться в качестве размера линейного буфера, например, на границах CTB для верхнего блока, модифицируются 3 выборки во время модификации фильтра; 4 выборки используются в решении фильтра; т.е. MA=3 и DA=4. Например, на границах CTB для нижнего блока модифицируются 7 выборок в модификации фильтра; 8 выборок используются в решении фильтра; т.е. MB=7 и DB=8.

Фиг. 16А или фиг. 16В показывает пример с размером линейного буфера 6 строк. На фиг. 16A или фиг. 16B отображается изображение 1600, содержащее два блока 1601, 1602. Край 1603 блока делит блоки 1601 и 1602. В соответствии с примером, когда край горизонтального 1603 блока перекрывается с границей блока дерева кодирования (CTB), в котором первый блок Р кодирования (такой как первый блок яркости) является блоком 1601 выше границей 1603 CTU и второй блок Q кодирования (например, второй блок яркости) является блоком 1602 ниже границы 1603 СТВ для горизонтальных краев, перекрывающихся на границе CTB, DA<DB и MA<MB могут быть установлены для дополнительного уменьшения линейного буфера. Здесь DB является количеством выборок, используемых при решении фильтра для блока кодирования ниже горизонтальной границы CTU, и МВ является количеством выборок, модифицированных в процессе фильтрации для блока кодирования ниже горизонтальной границы CTU. Другими словами, MB можно рассматривать как максимальную длину фильтра для блока кодирования (например, блока 902) ниже границы горизонтального CTU.

Как показано на фиг. 16A или фиг. 16B, когда разрешено использовать 6 строк в качестве размера линейного буфера, например, на границах CTB для верхнего блока, модифицированы 5 выборок во время модификации фильтра; 6 выборок используются в решении фильтрации (процесс принятия решения для вывода параметра, ассоциированного с фильтрацией, такой как максимальная длина фильтра); т.е. MA=5 и DA=6.

В примере в таблице описан фильтр для горизонтальных краев, перекрывающихся с границами CTB с доступными 6 строками:

Выходные пиксели Коэффициенты фильтра
{p7, p6, p5, p4, p3, p2, p1, p0, q0, q1, q2, q3, q4, q5, q6, q7}
Входные пиксели
p4 {0, 0, 6, 3, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0} p5~q2
p3 {0, 0, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0} p5~q3
p2 {0, 0, 4, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0} p5~q4
p1 {0, 0, 3, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 0, 0} p5~q5
p0 {0, 0, 3, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 0} p5~q6
q0 {0, 0, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1} p5~q7
q1 {0, 0, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1} p5~q7
q2 {0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 2} p4~q7
q3 {0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 3} p3~q7
q4 {0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 4} p2~q7
q5 {0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 3, 1, 5} p1~q7
q6 {0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 3, 6} p0~q7

Из таблицы видно, что количество выходных выборок р0 до р4 блока P является МА, которое равно 5. Для каждого из выходных выборок р0 до р4, количество входных выборок р5, р4, р3, р2, р1, р0 блока P является DA, которое равно 6.

В другом примере выходные значения первого фильтра и выводные значения второго фильтра для i=0 до S-1 формулируются следующим образом:

-

-

в котором является параметром отсечения зависимой позиции, , , , , и зависят от S;

pi представляет собой значение выборки первого блока Р кодирования; и

qi представляет собой значение выборки второго блока Q кодирования;

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

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

Когда размер линейного буфера равен Х=6, , , , и зависит от S следующим образом:

Если размер линейного буфера (например, размер линейного буфера) равен Х (то есть, линейный буфер имеет размер линейного буфера равен Х строк), то для первого блока P кодирования, DA=X и MA=X-1; и выборка pi первого блока P кодирования используются в качестве значения заполнения, которое заменяет другие выборки, которые принадлежат первому блоку P кодирования и которые находятся за пределами линейного буфера, в котором, если размер линейного буфера равен X, то i=Х-1. Здесь выборка pi является наиболее удаленной выборкой для хранения в линейном буфере. Например, столбец выборок первого блока P кодирования выше горизонтальной границы обозначен как [р0, р1, р2, р3, р4, р5, р6, р7, …] (как показано на фиг. 4В). Если размер линейного буфера равен 4, т.е. Х=4, то i=3. Поэтому р3 используется для заполнения или замены всех других выборок, которые находятся вне линейного буфера, то есть, выборки р4, р5 … В другом примере, если допустимый размер линейного буфера равен 6, т.е. Х=6, то i=5. Поэтому р5 используется в качестве выборки для заполнения всех других выборок, которые находятся вне линейного буфера, то есть, выборки р6, р7 … заменяются на р5.

В качестве альтернативы, когда размер линейного буфера равен Х=4, g, , , и зависит от S следующим образом:

3, 7
(S(=MA)=3 для первого блока Р кодирования);
S(=MB)=7 для второго блока Q кодирования)



Более того, для горизонтальных краев, перекрывающихся на границе CTB, когда DA<DB и MA<MB, размер линейного буфера может быть уменьшен.

В примере DB=8 и DA=6, MB=7 и MA=5.

В примере DB=8 и DA=7, MB=7 и MA=6.

В примере DB=8 и DA=5, MB=7 и MA=4.

В примере DB=8 и DA=4, MB=7 и MA=3.

Со ссылкой на фиг. 6, согласно аспекту изобретения, предоставляется устройство фильтра деблокинга. Устройство фильтра деблокинга может использоваться в кодере изображения и/или декодере изображения. Устройство фильтра деблокинга содержит:

блок 603 определения местонахождения края, выполненный с возможностью определять края между блоками, в котором край между блоками содержит горизонтальный край блока (например, CU край или CU границу) между первым блоком P кодирования и вторым блоком Q кодирования, и горизонтальный край блока перекрывается с границей блока дерева кодирования (CTB), в котором первый блок P кодирования является блоком выше CTB границы, и второй блок Q кодирования является другим блоком ниже CTB границы;

блок 604 определения деблокинга, выполненный с возможностью определять, должен ли горизонтальный край блока между первым блоком Р кодирования и вторым блоком Q кодирования быть отфильтрован путем применения первого фильтра (т.е. длинного отводного фильтра или асимметричного фильтра, или асимметричного отводного фильтра или HEVC фильтра деблокинга), на основании:

- не более DA данных выборки первого блока кодирования, прилегающего к горизонтальному краю блока, как значения принятия решения первого фильтра и

- не более DB значений выборки второго блока кодирования, прилегающего к горизонтальному краю блока, в качестве значений принятия решения второго фильтра; в котором DA≠DB или DA<DB, DA равен размеру линейного буфера;

блок 606 фильтрации деблокинга, выполненный с возможностью применять первый фильтр (т.е. длинный отводной фильтр или асимметричный фильтр, или асимметричный отводной фильтр или HEVC фильтр деблокинга) к значениям выборок вблизи горизонтального края блока между первым блоком P кодирования и вторым блоком Q кодирования, когда определяется, что горизонтальный край блока между первым блоком P кодирования и вторым блоком Q кодирования должен быть фильтрован посредством применения первого фильтра.

В некоторых вариантах осуществления, если размер линейного буфера (например, размер линейного буфера) равен Х (то есть, линейный буфер имеет размер буфера линейного буфера Х строк), то для первого блока P кодирования DA=Х. Выборка pi первого блока Р кодирования используется в качестве значения заполнения для замены других выборок, которые принадлежат первому блоку P кодирования и которые находятся за пределами линейного буфера. Если размер линейного буфера равен X, то i=Х-1.

В некоторых вариантах осуществления модифицируются не более МА значений выборки столбца (например, каждый столбец) первого блока кодирования, который является перпендикулярным и прилегающим к горизонтальному краю блока и модифицируются не более МВ значений выборки столбца (например, каждый столбец) второго блока кодирования, который перпендикулярен и прилегает к горизонтальному краю блока; в котором MA≠MB или MA<MB.

В некоторых вариантах осуществления, если размер линейного буфера (например, размер линейного буфера) равен Х (т.е. размер линейного буфера имеет размер буфера 4 строк), то для первого блока P кодирования, MA=Х-1; и

выборка pi первого блока Р кодирования используется в качестве значения заполнения для замены других выборок, которые принадлежат первому блоку P кодирования и которые находятся за пределами линейного буфера. Если размер линейного буфера равен X, то i=Х-1.

В некоторых вариантах осуществления DB=8, DA=6, MB=7 и MA=5.

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

В некоторых вариантах осуществления, когда применяется 6-строчный буфер (например, линейный буфер с размером 6), блок 604 определения деблокинга выполнен с возможностью определять, удовлетворяется ли уравнение условия расширенного фильтра =(sq3+Abs(q7-q3)+1)>>1. Очевидно, что x>>y определяется, то есть, арифметическое правое смещение двухкомпонентного целочисленного представления x и y двоичных цифр. Эта функция определяется только для неотрицательных целочисленных значений y. Биты, смещенные в наиболее значимые биты (MSB) в результате правого смещения, имеют значение, равное MSB х до операции смещения.

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

в котором sp3=Abs (p3-p0) и pi представляют собой значение выборки первого блока Р кодирования, используемого для принятия решения фильтра, i=0, 1, 2, 3, 4 или 5.

В некоторых вариантах осуществления применяется 6-стройчный буфер и второй блок Q кодирования с размером блока, равным SB > = заданный размер (например, 32), блок 604 определения деблокинга выполнен с возможностью определять, удовлетворяется ли уравнение условия расширенного фильтра =(sq3+Abs(q7-q3)+1)>>1.

Когда одно или несколько уравнений условия фильтра, содержащие уравнение условия расширенного фильтра, выполнены, применяется первый фильтр для значений выборки второго блока Q кодирования, прилегающей к горизонтальному краю блока, перекрывающейся с CTU границей. Также sq3=Abs(q0-q3), и представляет собой значение выборки второго блока Q кодирования, используемое в принятии решения фильтра, i=0, 1, 2, 3, 4 … или 7.

В некоторых вариантах осуществления, когда применяется 4-строчный буфер, блок 604 определения деблокинга выполнен с возможностью определять, удовлетворяется ли уравнение условия расширенного фильтра =(sp3+Abs(p3-p0)+1)>>1.

Когда одно или несколько уравнений условия фильтра, содержащие уравнение условия расширенного фильтра, выполнены, применяется первый фильтр для значений выборки первого блока P кодирования, прилегающей к горизонтальному краю блока, перекрывающейся с CTU границей. Здесь sp3=Abs(p3-p0), и pi представляют собой значение выборки первого блока P кодирования, используемое в принятии решения фильтра, i=0, 1, 2 или 3.

В некоторых вариантах осуществления блока 606 фильтрации деблокинга выполнен с возможностью определять выходные значения первого фильтра и выходные значения второго фильтра для i = от 0 до S-1 на основании следующего уравнения:

-

-

в котором является параметром отсечения зависимой позиции; , , , и зависят от S;

pi представляет собой значение выборки первого блока Р кодирования; и

qi представляет собой значение выборки второго блока Q кодирования.

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

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

В некоторых вариантах осуществления, в котором размер линейного буфера равен Х=6, , , , и зависит от S следующим образом:

В некоторых вариантах осуществления, в котором размер линейного буфера равен Х=4, , , , и зависит от S следующим образом:

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

В некоторых вариантах осуществления линейный буфер имеет размер линейного буфера 6 строк и выборки р0 до р4 модифицируются из первого блока Р кодирования для получения выборок р0' до р4'.

В некоторых вариантах осуществления выборки pi первого блока P кодирования является выборками яркости и/или цветности.

Следует отметить, что при применении 6-строчного буфера, условие фильтра модифицируется для использования ограниченного количества строк из верхнего блока «P». Максимальное доступное количество выборок равно р5, то есть, DA=6.

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

Например, в приведенном выше случае, когда DB=8 и DA=6, MB=7 и MA=5

Из верхнего блока (P) кодирования можно использовать максимум 6 выборок, и можно модифицировать максимум 5 выборок, тогда как для нижнего блока (q) можно модифицировать максимум 7 выборок и максимум 8 выборок могут быть использованы.

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

DB=8 и DA=7, MB=7 и MA=6

DB=8 и DA=5, MB=7 и MA=4

DB=8 и DA=4, MB=7 и MA=3

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

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

дополнительно, DB=4 и DA=4, MB=3 и MA=3. Данная комбинация может использовать простой HEVC сильный фильтр. HEVC фильтр деблокинга модифицирует максимум 3 выборки по обе стороны края.

Фиг. 7 является блок-схемой алгоритма, иллюстрирующей способ определения, должен ли использоваться длинный отводной фильтр. Как показано на фиг. 7, условие HEVC сильного фильтра должно быть удовлетворено тем, что условие «длинного отводного фильтра» должно быть истинным. На этапе 707 детали были описаны выше. Длинный отводной фильтр, используемый на этапе 709, отличается от нормального длинного отводного фильтра, используемом на этапе 708, детали были описаны выше. В некоторых примерах, на верхней части фильтра HEVC, нормальный длинный отводной фильтр в этапе 708 использует 8 выборок для принятия решения фильтра на каждой стороне края, и на каждой стороне края модифицируются 7 выборок. Однако длинный отводной фильтр в этапе 709 использует 8 выборок для принятия решения фильтра с каждой стороны края и 7 выборок модифицируются на одной стороне края, в то время как 3 выборки модифицированы на другой стороне края.

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

Во-первых, на этапе 800 проверяется, если текущий фильтруемый край блока выровнен с 8×8 сеткой выборки кодирования. Если это так, то на втором этапе 801 проверяется, если край блока, подлежащий фильтрации, является границей между блоками предсказания или преобразования. Если это так, на третьем этапе 802 проверяется, если граничная прочность BS>0. Если также удовлетворяется это условие, то на четвертом этапе 803 проверяется, если условие 7.1 является верным.

Условие 7.1 используется для проверки, если фильтрация деблокинга применяется к границе блока или нет. Условие особенно проверяет, насколько сигнал на каждой стороне границы блока отклоняется от прямой линии (наклон).

Если это условие не удовлетворяется или любой из этапов 800, 801 и 802 не выполняется, определяется на пятом этапе 804, что фильтрация не выполняется.

На шестом этапе 803 проверяется, что условие 7.1 верно, то на седьмом этапе 806 проверяется, если удовлетворяется дополнительное условие 7.2, 7.3 и 7.4.

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

Если все эти условия верны, то на восьмом этапе 807 выполняется сильная фильтрация. Этап 807 напрямую заменяется этапом 702 на фиг. 7. Если это не так, на девятом этапе 808 принимается решение выполнять нормальную фильтрацию.

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

В некоторых примерах «асимметричный» фильтр используется для горизонтальных краев, перекрывающихся с границами CTB с 6 строками или 4 строками.

Этот подход показан на фиг. 16 (фи. 16А и 16В). На фиг. 16 показано изображение 1600, содержащее два блока 1601, 1602. Край 1603 блока делит блоки 1601 и 1602. Согласно первому варианту осуществления изобретения, в котором край горизонтального 1603 блока перекрывается с границей блока дерева кодирования (CTB), в котором первый блок P кодирования является блоком 1601 над CTB границей 1603 и второй блок Q кодирования представляет собой блок 1602 ниже CTB границы 1603; Фиг. 16 (фиг. 16А и фиг. 16В) показывает линейный буфер размером 6 строк. Для горизонтальных краев, перекрывающихся на CTB границе, DA<DB и MA<MB устанавливаются для дополнительного уменьшения линейного буфера. Настоящее изобретение применяется ко всем типам блоков (таким как блоки 1601 и 1602, которые являются блоком яркости или блоком цветности) для применения длинного отводного фильтра и обработки горизонтальных краев.

Другими словами, блок P 1601 кодирования представляет собой блок на одной стороне СТВ границы 1603, и блок Q 1602 кодирования представляет собой блок на другой стороне СТВ границы 1603. Понятно, что в одном примере блок P 1601 кодирования является блоком выше CTB границы 1603, и блок Q 1602 кодирования представляет собой блок ниже СТВ границы 1603. Соответственно, текущий блок кодирования рассматривается как блок Q 1602 кодирования. В другом примере, если блок Р кодирования является под CTB границей и блок Q кодирования представляет собой блок над CTB границей. Соответственно, текущий блок кодирования считается блоком Р кодирования. Очевидно, что для горизонтальной границы нижний блок является текущим блоком кодирования. Настоящее изобретение может также применяться в обоих этих двух сценариях таким образом, как описано выше. Выборка pi, которая принадлежат к первому блоку P кодирования, и которая является наиболее удаленной выборкой, которая может быть сохранена в линейном буфере, используется в качестве значения заполнения, которое заменяет другие выборки, которые принадлежат к первому блоку изображения, и которые находятся за пределами линейного буфера.

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

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

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

Как показано на фиг. 16 (= фиг. 16А или фиг. 16В) или фиг. 17, если размер линейного буфера (например, размер линейного буфера) равен X, то для первого блока P кодирования, DA=X и MA=X-1 Выборка pi первого блока P кодирования используется в качестве значения заполнения, которое заменяет другие выборки, которые принадлежат первому блоку P кодирования и которые находятся за пределами линейного буфера, в котором, если размер буфера равен X, то i=Х-1. Например, выборка pi является наиболее удаленной выборкой, которая может быть сохранена в линейном буфере, в котором, если допустимый размер буфера равен «X», то i=Х-1. Например, если размер линейного буфера 4, т.е. Х=4, то i=3 (как показано на фиг. 17). Поэтому р3 используется в качестве выборки для заполнения всех других выборок, которые находятся вне линейного буфера. Например, выборки р4, р5 … заменяются на р3. В другом примере, если допустимый размер линейного буфера составляет 6, то есть, Х=6, то i=5. Поэтому р5 используется в качестве выборки для заполнения всех других выборок, которые находятся вне линейного буфера. Например, выборки р6, р7 … заменяются на р5.

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

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

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

Фиг. 18 показывает пример с размером линейного буфера, равным 2 строкам. На фиг. 18 показано изображение 1800, содержащее два блока 1801, 1802. Край 1803 блока делит блоки 1801 и 1802. Согласно примеру, когда край горизонтального 1803 блока перекрывается с границей блока дерева кодирования (CTB), в котором первый блок Р кодирования (например, первый блок яркости) является блоком 1801 над CTU границей 1803 и второй блок Q кодирования (например, второй блок яркости) является блоком 1802 ниже CTB границы 1803, для горизонтальных краев, перекрывающихся на границе CTB цветности, DA<DB и MA<MB может быть установлено для дополнительного уменьшения линейного буфера. Здесь DB является количеством выборок, используемых в принятии решения фильтра для блока кодирования ниже горизонтальной границы CTB цветности и МВ представляет собой количество выборок, модифицированных в процессе фильтрации для блока кодирования ниже границы горизонтального CTB. Другими словами, MA может быть использовано как максимальная длина фильтра для блока 1801 над границей горизонтального CTB цветности. MB может быть использовано как максимальная длина фильтра для блока 1802 ниже границы горизонтального CTB цветности, в котором MA=1, MB=3; DA=2, DB=4. Как показано на фиг. 18, размер блока или высота обеих двух блоков равна 16. Можно отметить, что когда первый блок изображения и второй блок изображения являются блоками цветности, и SA, и SB равны или больше 8, MB=3 и MA=1. Когда первый блок изображения и второй блок изображения являются блоками цветности и SB, и SA равны или больше 8, DB=4, DA=2.

Для принятия решения более длинного отводного фильтра ниже приведены уравнения исходного фильтра:

dp0=Abs(p2,0-2*p1,0+p0,0)

dp1=Abs(p2,1-2*p1,1+p0,1)

dq0=Abs(q2,0-2*q1,0+q0,0)

dq1=Abs(q2,1-2*q1,1+q0,1)

На границах горизонтального CTU модифицированные решения более длинного отводного фильтра представляют собой следующие: ((p2,0, p2,1 просто заменены на p1,0 и p1,1)

dp0=Abs(p21,0-2*p1,0+p0,0)

dp1=Abs(p21,1-2*p1,1+p0,1)

dq0=Abs(q2,0-2*q1,0+q0,0)

dq1=Abs(q2,1-2*q1,1+q0,1)

Уравнения исходного более длинного отводного фильтра для более длинного отводного фильтра деблокинга цветности представляют собой следующие:

p0'=Clip3(p0-tC, p0+tC, (p3+p2+p1+2*p0+q0+q1+q2+4)>>3)

p1'=Clip3(p1-tC, p1+tC, (2*p3+p2+2*p1+p0+q0+q1+4)>>3)

p2'=Clip3(p2-tC, p2+tC, (3*p3+2*p2+p1+p0+q0+4)>>3)

q0'=Clip3(q0-tC, q0+tC, (p2+p1+p0+2*q0+q1+q2+q3+4)>>3)

q1'=Clip3(q1-tC, q1+tC, (p1+p0+q0+2*q1+q2+2*q3+4)>>3)

q2'=Clip3(q2-tC, q2+tC, (p0+q0+q1+2*q2+3*q3+4)>>3)

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

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

Подробное описание предлагаемого способа приведено в формате спецификации. Вышеописанный вариант осуществления может быть выражен в виде следующей модификации VVC версии (часть 8.8.3.3):

8.8.3.3 Процесс получения границы блока преобразования

Входные данные к этому процессу:

- местоположение (xCb, yCb), определяющее верхне-левую выборку текущего блока кодирования относительно верхне-левой выборки текущего изображения,

- переменная nCbW, указывающая ширину текущего блока кодирования,

- переменная nCbH, указывающая высоту текущего блока кодирования,

- переменная cldx, указывающая компонент цвета текущего блока кодирования,

- переменная filterEdgeFlag,

- двухмерный (nCbW)×(nCbH) массив edgeFlags,

- двухмерные (nCbW)×(nCbH) массивы maxFilterLengthQs и maxFilterLengthPs,

- переменная edgeType, указывающая, отфильтровывается ли вертикальный (Edge_ver) или горизонтальный (Edge_Hor) край.

Выходные данные этого процесса:

- модифицированный двумерный (nCbW)×(nCbH) массив edgeFlags,

- модифицированные двумерные (nCbW)×(nCbH) массивы maxFilterLengthQs, maxFilterLengthPs

В зависимости от edgeType, получают массивы edgeFlags, maxFilterLengthPs и maxFilterLengthQs следующим образом:

- переменная gridSize устанавливается следующим образом:

gridSize=cldx==0? 4 : 8 (8-1024)

- если edgeType равен Edge_ver, применяется следующее:

- переменная numEdges устанавливается равной Max (1, nCbW/gridSize).

- для xEdge=0..numEdges-1 и y=0..nCbH-1, применяется следующее:

- горизонтальная позиция х внутри текущего блока кодирования устанавливается равной xEdge*gridSize.

- значение edgeFlags [x] [y] получено следующим образом:

- если pps_loop_filter_across_virtual_boundares_disabled_flag, равный 1 и (xCb+x) равен ppsVirtualBoundaryPosX [n] для любого n=0..ps_num_ver_virtual_boundares-1, edgeFlags [x] [y] устанавливается равным 0.

- в противном случае, если X равен 0, edgeFlags [x] [y] устанавливается равным filterEdgeFlag.

- в противном случае, если местоположение (xCb+x, yCb+y) находится на крае блока преобразования, edgeFlags [x] [y] устанавливается равным 1.

- когда edgeFlags [x] [y] равно 1, применяется следующее:

- если cldx равен 0, применяется следующее:

- значение maxFilterLengthQs [x] [y] получено следующим образом:

- если ширина в выборках яркости блока преобразования в местоположении (xCb+x, yCb+y) яркости равна или менее 4 или ширина в выборках яркости блока преобразования в местоположении (xCb+x, yCb+y-1) яркости равен или менее 4, maxFilterLengthQs [x] [y] устанавливается равным 1.

- в противном случае, если ширина в выборках яркости блока преобразования в местоположении (xCb+x, yCb+y) яркости равно или больше 32, maxFilterLengthQs [x] [y] устанавливается равным 7.

- в противном случае maxFilterLengthQs [x] [y] устанавливается равным 3.

- значение maxFilterLengthPs [x] [y] получено следующим образом:

- если ширина в выборках яркости блока преобразования местоположении (xCb+x, yCb+y) яркости равна или менее 4 или ширина в выборках яркости блока преобразования в местоположении (xCb+x, yCb+y-1) яркости равна или менее 4, maxFilterLengthPs [x] [y] устанавливается равным 1.

- в противном случае, если ширина в выборках яркости в блоке преобразования в местоположении (xCb+x, yCb+y-1) яркости равна или больше 32, maxFilterLengthPs [x] [y] устанавливается равным 7.

- в противном случае maxFilterLengthPs [x] [y] устанавливается равным 3.

- в противном случае (cldx не равен 0), значения maxFilterLengthPs [x] [y] и maxFilterLengthQs [x] [y] получают следующим образом:

- если ширина в выборках цветности блока преобразования в местоположении (xCb+x, yCb+y) цветности и ширина в местоположении (xCb+x-1, yCb+y) цветности обе равны и больше 8, maxFilterLengthPs [x] [y] и maxFilterLengthQs [x] [y] устанавливаются равными 3.

- в противном случае maxFilterLengthPs [x] [y] и maxFilterLengthQs [x] [y] устанавливаются равными 1.

- в противном случае (edgeType равен Edge_Hor) применяется следующее:

- переменная numEdges устанавливается равной Max (1, nCbH/gridSize).

- для yEdge=0..numEdges-1 и x=0..nCbW-1, применяется следующее:

- вертикальная позиция y внутри текущего блока кодирования устанавливается равной yEge*gridSize.

- значение edgeFlags [x] [y] получено следующим образом:

- если pps_loop_filter_across_virtual_boundares_disabled_flag, равный 1 и (yCb+y), равен PpsVirtualBoundaryPosY [n] для любого n=0..ps_num_hor_virtual_boundares-1, edgeFlags [x] [y] устанавливается равным 0.

- в противном случае, если y равно 0, edgeFlags [x] [y] устанавливается равным filterEdgeFlag.

- в противном случае, если местоположение (xCb+x, yCb+y) находится на крае блока преобразования, edgeFlags [x] [y] устанавливается равным 1.

- когда edgeFlags [x] [y] равен 1, применяется следующее:

- если cldx равен 0, применяется следующее:

- значение maxFilterLengthQs [x] [y] получено следующим образом:

- если высота в выборках яркости в блоке преобразования в местоположении (xCb+x, yCb+y) яркости равна или менее 4 или высота в выборках яркости блока преобразования на местоположение (xCb+x, yCb+y-1) яркости равен или менее 4, maxFilterLengthQs [x] [y] устанавливается равным 1.

- в противном случае, если высота в выборках яркости блока преобразования в местоположении (xCb+x, yCb+y) яркости равна или превышает 32, maxFilterLengthQs [x] [y] устанавливается равным 7.

- в противном случае maxFilterLengthQs [x] [y] устанавливается равным 3.

- значение maxFilterLengthPs [x] [y] получено следующим образом:

- если высота в выборках яркости блока преобразования в местоположении (xCb+x, yCb+y) яркости равна или менее 4 или высота в выборках яркости блока преобразования в местоположении (xCb+x, yCb+y-1) яркости равна или менее 4, maxFilterLengthPs [x] [y] устанавливается равным 1.

- в противном случае, если высота в выборках яркости блока преобразования в местоположении (xCb+x, yCb+y-1) яркости равна или больше 32, maxFilterLengthPs [x] [y] устанавливается равным 7.

- в противном случае maxFilterLengthPs [x] [y] устанавливается равным 3.

- в противном случае (cldx не равен 0), значения maxFilterLengthPs [x] [y] и maxFilterLengthQs [x] [y] получают следующим образом:

- если все следующие условия являются верными, maxFilterLengthPs [x] [y] и maxFilterLengthQs [x] [y] устанавливаются равными 3:

- высота в выборках цветности блока преобразования в местоположении (xCb+x, yCb+y) цветности и высота в местоположении (xCb+x, yCb+y-1) цветности обе равны или больше 8.

- в противном случае, если (yCb+y) % CtbHeightC равно 0, т.е. горизонтальный край перекрывается с границей верхнего CTB цветности и высотой в выборках цветности блока преобразования в местоположении (xCb+x, yCb+y) цветности и высота в местоположении (xCb+x, yCb+y-1) цветности обе равна или больше 8, то maxFilterLengthPs [x] [y] устанавливается на 1 и maxFilterLengthQs [x] [y] устанавливаются равными 3 и переменная isHorCTBBoundary устанавливается как истинное.

- в противном случае maxFilterLengthPs [x] [y] и maxFilterLengthQs [x] [y] устанавливаются равными 1.

Вышеуказанный вариант осуществления также может быть выражен в виде следующей модификации VVC драфте (часть 8.8.3.6.3):

8.8.3.6.3 Процесс принятия решений для краев блока цветности

……

Когда maxFilterLengthCbCr равен 3, применяются следующие упорядоченные этапы:

1. Переменные n1, dpq0, dpq1, dp, dq и d получены следующим образом:

n1=(subSampleC==2)? 1: 3 (8-1138)

Если переменная isHorCTBBondary является верной, то p3,0=p1,0, p2,0=p1,0 и p3,n1=p1,n1, p2,n1=p1,n1

dp0=Abs(p2,0-2*p1,0+p0,0) (8-1139)

dp1=Abs(p2,n1-2*p1,n1+p0,n1) (8-1140)

dq0=Abs(q2,0-2*q1,0+q0,0) (8-1141)

dq1=Abs(q2,n1-2*q1,n1+q0,n1) (8-1142)

dpq0=dp0+dq0 (8-1143)

dpq1=dp1+dq1 (8-1144)

dp=dp0+dp1 (8-1145)

dq=dq0+dq1 (8-1146)

d=dpq0+dpq1 (8-1147)

……

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

Фиг. 6 является блок-схемой, иллюстрирующей примерное устройство 600 фильтра деблокинга в соответствии с способами, описанными в настоящем изобретении (более подробные данные будут описаны ниже, например, со ссылкой на фиг. 7, 8 или фиг. 10-12). Устройство 600 фильтра деблокинга может быть выполнено с возможностью выполнять способы деблокинга в соответствии с различными примерами, описанными в настоящем изобретении. В общем, либо один, либо оба контурный фильтр 120 на фиг. 1 и контурный фильтр 220 на фиг. 2 может включать в себя компоненты, по существу, по существу, аналогичные фильтру 600 деблокинга. Другие устройства кодирования видео, такие как видеокодеры, видеодекодеры, видеокодер/видеодекодеры (кодеки) и тому подобное могут также включать в себя компоненты, по существу, аналогичные фильтру 600. Фильтр 600 деблокинга может быть реализован в аппаратном обеспечении, программном обеспечении или прошивке, или на любой их комбинации. При реализации в программном обеспечении или прошивке, также может быть представлено соответствующее аппаратное обеспечение (такое как один или несколько процессоров или блоков обработки и память для хранения инструкций для программного обеспечения или прошивки).

В примере на фиг. 6 устройство 600 фильтра деблокинга включает в себя блок 604 определения деблокинга, определения 602 поддержки, хранящиеся в памяти, блок 606 фильтрации деблокинга, параметры 608 фильтра деблокинга, хранящиеся в памяти, блок 603 определения местоположения края, структура 605 данных местоположений края. Любой или все компоненты фильтра 600 деблокинга могут быть функционально интегрированы. Компоненты фильтра 600 деблокинга проиллюстрированы отдельно только в целях иллюстрации. В целом фильтр 600 деблокинга принимает данные для декодированных блоков, например, из компонента 114 суммирования, который объединяет данные предсказания с остаточными данными для блоков. Данные могут дополнительно включать в себя указание о том, как были предсказаны блоки. В приведенном ниже примере, описанном ниже, устройство 600 фильтра деблокинга выполнено с возможностью принимать данные, включающие в себя декодированный видеоблок, ассоциированный с CTB (или LCU) и CU дерева квадрантов для CTB, в котором CU дерева квадрантов описывает, как CTB разделяется на CUs и режимы предсказания для PUs и TUs CUs листового узла.

Устройство 600 фильтра деблокинга может поддерживать структуру 605 данных местоположений края в памяти устройства 600 фильтра деблокинга или во внешней памяти, предоставляемой соответствующим устройством кодирования видео. В некоторых примерах блок 603 определения местоположения края может принимать данные дерева квадрантов, соответствующие CTB, которые указывают, как CTB разделен на CUs. Блок 603 определения местоположения края может затем проанализировать CU дерева квадрантов для определения краев между декодированными видеоблоками, ассоциированными с TUs и PUs CUs в CTB, которые являются кандидатами для деблокинга.

Структура 605 данных местоположений края может содержать массив, имеющий горизонтальное измерение, вертикальное измерение и измерения, представляющее горизонтальные края и вертикальные края. В целом края между видеоблоками могут возникать между двумя видеоблоками, ассоциированными с CUs самого малого размера CTB, или TUs и PUs CUs. Предполагая, что CTB имеет размер N×N и предполагая, что CU самого малого размера CTB имеет размер M×M, массив может содержать размер [N/M]×[N/M]×2, в котором «2» представляет два возможных направления краев между CUs (горизонтальной и вертикальной). Например, предполагая, что CTB имеет 64×64 пикселей и 8×8, максимально возможный CU, массив может содержать [8]×[8]×[2] записей.

Каждая запись обычно может соответствовать возможным краям между двумя видеоблоками. Края фактически могут отсутствовать на каждой из позиций в LCU, соответствующий каждой из записей структуры 605 данных местоположений края. Соответственно, значения структуры данных могут быть инициализированы как ложные. Как правило, блок 603 определения местоположения края может проанализировать CU дерева квадрантов для определения местоположения краев между двумя видеоблоками, ассоциированными с TUs и PUs CUs CTB, и установить соответствующие значения в структуре 605 данных местоположений края.

Как правило, записи массива могут описать, существует ли соответствующий край в CTB, в качестве кандидата деблокинга. То есть, когда блок 603 определения местоположения края определяет наличие края между двумя смежными видеоблоками, ассоциированными с TUs и PUs CUs CTB, блок 603 определения местоположения края может устанавливать значение соответствующей записи в структуре 605 данных местоположений края для указания наличия края (например, на значение «истинно»).

Блок 604 определения деблокинга, как правило, определяет, следует ли выполнить деблокинг края между двумя смежными блоками. Блок 604 определения деблокинга может определять местоположения краев, используя структуру 605 данных местоположений края. В некоторых примерах, когда значение структуры 605 местоположений края имеет логическое значение, блок 604 определения деблокинга может определить, что значение «истинно» указывает на наличие края и значение «ложно» указывает на отсутствие края.

Как правило, блок 604 определения деблокинга выполнен с возможностью выполнять одну или несколько функций определения деблокинга. Функции могут включать в себя множество коэффициентов, применяемых к строкам пикселей, которые пересекают край между блоками. Например, для блоков яркости функции могут быть применены к строке пикселей, перпендикулярной краю, в котором MA (такие как 3, 4 или 5) пикселей находятся в одном из двух блоков и MB (например, 7) пикселей находятся в других двух блоках. Например, для блоков цветности могут быть применены функции к строке пикселей, перпендикулярной краю, в котором MA (например, 1) пикселей находятся в одном из двух блоков и MB (например, 3) пикселей в других двух блоках. Определения 602 поддержки определяют поддержку функций. Как правило, «поддержка» соответствует пикселям, к которым применяются функции.

Блок 604 определения деблокинга может быть выполнен с возможностью применять одну или несколько функций определения деблокинга к одному или нескольким наборам поддержки, как определено определениями 602 поддержки, для определения, должен ли быть выполнен деблокинг конкретного край между двумя блоками видеоданных. Пунктирная линия, исходящая из блока 604 определения деблокинга, представляет данные для вывода блоков без фильтрации. В тех случаях, когда блок 604 определения деблокинга определяет, что край между двумя блоками не должен быть отфильтрован, фильтр 600 деблокинга может выводить данные для блоков, не изменяя данные. То есть, данные могут обойти блок 606 фильтрации деблокинга. С другой стороны, когда блок 604 определения деблокинга определяет, что край должен быть подвержен деблокингу, блок 604 определения деблокинга может побудить блок 606 фильтрации деблокинга выполнить фильтрацию значений пикселей вблизи края для деблокинга края.

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

Настоящее изобретение применимо к блоку 604 определения деблокинга и блоку 606 фильтрации деблокинга на фиг. 6.

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

Фиг. 10 является блок-схемой, иллюстрирующей примерный способ деблокинга в соответствии со способами, описанными в настоящем изобретении (более подробные данные будут описаны ниже, например, на основании фиг. 7, 8 и фиг. 16 (= 16А и 16В), фиг. 17 и фиг. 18). В котором край блока содержит горизонтальный край блока (например, CU край или границу CU) между первым блоком кодирования и вторым блоком кодирования, в котором горизонтальный край блока перекрывается с границей блока дерева кодирования (CTB), в котором первый блок Р кодирования является блоком выше CTB границы и второй блок Q кодирования представляет собой блок ниже CTB границы; в котором первый блок кодирования имеет размер SA блока по вертикальному направлению, которое перпендикулярно к горизонтальному краю блока, в котором второй блок Q кодирования имеет размер SB блока вдоль вертикального направления, перпендикулярного к горизонтальному краю блока,

На фиг. 10 показан вариант осуществления способа деблокинга.

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

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

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

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

в котором, DA≠DB и MA≠MB, SA>DA>MA и SB>DB>MB.

Если размер линейного буфера (например, размер линейного буфера) равен X, то для первого блока P кодирования, DA=X и MA=X-1; и

выборка pi первого блока Р кодирования используется в качестве значения заполнения, которое заменяет другие выборки, которые принадлежат первому блоку P кодирования и которые находятся за пределами линейного буфера. Если размер линейного буфера равен X, то i=Х-1.

В дополнительной возможной форме реализации варианта осуществления, в котором SA≠SB или SA=SB.

В дополнительной возможной форме реализации варианта осуществления, в котором DA<DB и MA<MB.

В дополнительной возможной форме реализации варианта осуществления DB=8 и DA=6, MB=7 и MA=5.

В дополнительной возможной форме реализации варианта осуществления DB=8 и DA=7, МВ=7 и MA=6.

В дополнительной возможной форме реализации варианта осуществления DB=8 и DA=5, МВ=7 и MA=4.

В дополнительной возможной форме реализации варианта осуществления DB=8 и DA=4, MB=7 и MA=3.

В дополнительно возможной форме реализации варианта осуществления, когда применяется 6-строчный буфер (например, линейный буфер с размером 6 в линейном буфере), проверяется уравнение условия расширенного фильтра =(sp3+Abs(p5-p3)+1)>>1.

Когда одно или несколько уравнений условия фильтра, содержащие уравнение условия расширенного фильтра, выполнены, применяется первый фильтр для значений выборки первого блока P кодирования, прилегающего к горизонтальному краю блока, перекрывающийся с CTB границей. sp3=Abs(p3-p0) и i представляет собой значение выборки первого блока Р кодирования, используемое при принятии решения фильтра, i=0, 1, 2, 3, 4 или 5.

В дополнительной возможной форме реализации варианта осуществления при применении 6-строчного буфера, второй блок Q кодирования с размером блока SB> = заданный размер (например, 32), проверяется уравнение условия расширенного фильтра =(sq3+Abs(q7-q3)+1)>>1. Когда одно или несколько уравнений условия фильтра, содержащие уравнение условия расширенного фильтра, выполнены, применяется первый фильтр для значений выборки второго блока Q кодирования, прилегающего к горизонтальному краю блока, перекрывающийся с CTB границей. Здесь sq3=Abs(q0-q3) и представляют собой значение выборки второго блока Q кодирования, используемого при принятии решения фильтра, i=0, 1, 2, 3, 4 … или 7.

В дополнительной возможной форме реализации варианта осуществления при применении 4-строчного буфера, проверяется уравнение условия расширенного фильтра =(sp3+Abs(p3-p0)+1)>>1. Когда одно или несколько уравнений состояния фильтра, содержащие уравнение условия расширенного фильтра, выполнены, применяется первый фильтр для значений выборки первого блока P кодирования, прилегающего к горизонтальному краю блока, перекрывающийся с CTB границей. Здесь sp3=Abs(p3-p0) и pi представляют собой значение выборки первого блока P кодирования, используемое в фильтре, i=0, 1, 2 или 3.

В дополнительной возможной форме реализации варианта осуществления выходные значения первого фильтра и выходные значения второго фильтра для i=0 до S-1 сформулированы следующим образом:

-

-

В котором является параметром отсечения зависимой позиции, , , , и зависят от S;

pi представляет собой значение выборки первого блока Р кодирования; и

qi представляет собой значение выборки второго блока Q кодирования.

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

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

В дополнительной возможной форме реализации варианта осуществления размер линейного буфера Х=6, , , , и зависит от S, представлен следующим образом:

В дополнительной возможной форме реализации варианта осуществления размер линейного буфера Х=4, , , , и зависит от S, представлен следующим образом:

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

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

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

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

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

Фиг. 11 является блок-схемой, иллюстрирующей другой примерный способ деблокинга в соответствии с способами, описанными в этом изобретении (более подробные данные будут описаны ниже, например, со ссылкой на фиг. 7, 8 и фиг. 16 (= 16A и 16В), фиг. 17 и фиг. 18).

На этапе 1101 определить края между блоками, в котором край между блоками содержит горизонтальный край блока (например, CU край или CU граница) между первым блоком P кодирования и вторым блоком Q кодирования, и горизонтальный край блока перекрывается с границей блока дерева кодирования (CTB), в котором первый блок P кодирования является блоком выше CTB границы и второй блок Q кодирования является блоком ниже границы CTB.

На этапе 1102 определить, должен ли быть отфильтрован горизонтальный край блока между первым блоком P кодирования и вторым блоком Q кодирования путем применения первого фильтра (т.е. длинный отводной фильтр или асимметричный фильтр, или асимметричный фильтр или асимметричный отводной фильтр или HEVC фильтр деблокинга) на основании:

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

- не более количества DB значений выборки второго блока кодирования, прилегающего к горизонтальному краю блока, в качестве значения принятия решения второго фильтра; в котором DA≠DB или DA<DB, DA равно размеру линейного буфера;

На этапе 1103 применить первый фильтр (т.е. длинный отводной фильтр или асимметричный фильтр, или асимметричный отводной фильтр) к значениям выборок вблизи горизонтального края блока между первым блоком P кодирования и вторым блоком Q кодирования, когда определено, что горизонтальный край блока между первым блоком P кодирования и вторым блоком Q кодирования должен быть фильтрован путем применения первого фильтра.

В дополнительной возможной форме осуществления варианта осуществления, если размер линейного буфера (например, размер линейного буфера) равен X, то для первого блока P кодирования, DA=X; и

выборка pi первого блока P кодирования используют в качестве значения заполнения, которое заменяет другие выборки, которые принадлежат первому блоку P кодирования и которые находятся за пределами линейного буфера, в котором, если размер буфера равен X, то i=Х-1.

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

В дополнительной возможной форме осуществления варианта осуществления, если размер линейного буфера (например, размер линейного буфера) равен X, то для первого блока P кодирования, MA=Х-1; и

выборка pi первого блока P кодирования используется в качестве значения заполнения, которое заменяет другие выборки, которые принадлежат первому блоку P кодирования и которые находятся за пределами линейного буфера, в котором, если размер буфера равен X, то i=Х-1.

В дополнительной возможной форме реализации варианта осуществления DB=8 и DA=6; MB=7 и MA=5.

В дополнительной возможной форме реализации варианта осуществления, когда размер линейного буфера (например, размер линейного буфера) составляет 6, не более количества L строк из первого блока P кодирования разрешено использовать для принятия решения фильтрации, L=6.

В дополнительной возможной форме реализации варианта осуществления, когда применяется 6-строчный буфер (например, линейный буфер с размером 6 строк), блок определения деблокинга выполнен с возможностью определять, удовлетворяется ли уравнение условия расширенного фильтра =(sp3+Abs(p5-p3)+1)>>1. Когда одно или несколько уравнений условия фильтра, содержащие уравнение условия расширенного фильтра, удовлетворено, применяется первый фильтр к значениям выборки первого блока P кодирования, прилегающий к горизонтальному краю блока, перекрывающейся с CTB границей. Здесь sp3=Abs(p3-p0) и pi представляют собой значение выборки первого блока P кодирования, используемого для принятия решении фильтра, i=0, 1, 2, 3, 4 или 5.

Sp3 в основном является метрикой, которая рассчитывается в HEVC следующим образом: Abs(p3-p0). Теперь для более крупных блоков т.е. блоков, в котором SA> = 32, sp3 расширяется с помощью уравнения =(sp3+Abs(p7-p3)+1)>>1, в котором p7 заполняется р5.

В основном условие фильтра главным образом изменяется для блока Р кодирования. Для блока Q кодирования условие фильтра остается одинаковым как для краев на CTB границе, так и на краях не на CTB границе.

В дополнительной возможной форме реализации варианта осуществления при применении 6-стройчного буфера, второй блок Q кодирования имеет размер SB блока, больше или равный заданному размеру (например, 32), блок определения деблокинга выполнен с возможностью определять, удовлетворяется ли уравнение условия расширенного фильтра =(sq3+Abs(q7-q3)+1)>>1.

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

sq3=Abs(q0-q3) и представляют собой значение выборки второго блока Q кодирования, используемого в принятии решения фильтра, i=0, 1, 2, 3, 4 … или 7.

В дополнительной возможной форме реализации варианта осуществления при применении 4-строчного буфера, блок определения деблокинга выполнен с возможностью определять, удовлетворяется ли уравнение условия расширенного фильтра =(sp3+Abs(p3-p0)+1)>>1.

Когда одно или несколько уравнений условия фильтра, содержащие уравнение условия расширенного фильтра, выполнены, применяется первый фильтр для значений выборки первого блока P кодирования, прилегающего к горизонтальному краю блока, перекрывающийся с CTB границей. Здесь, sp3=Abs(p3-p0) и pi представляют собой значение выборки первого блока P кодирования, используемое в принятии решения фильтра, i=0, 1, 2 или 3.

В дополнительной возможной форме реализации варианта осуществления блок фильтрации деблокинга выполнен с возможностью определять выходные значения первого фильтра и выходные значения фильтра для i=0 до S-1 на основании следующего уравнения:

-

-

в котором является параметром отсечения зависимой позиции, , , , and зависят от S;

является или или на основании S для блока Р и Q.

pi представляет собой значение выборки первого блока Р кодирования; и

qi представляет собой значение выборки второго блока Q кодирования.

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

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

В дополнительной возможной форме реализации варианта осуществления размер линейного буфера является Х=6, , , , и зависит от S следующим образом:

Следует отметить, что в уравнении Р7 или P3 в основном являются PS. Аналогично, в уравнении Q7 или Q3 в основном QS.

В дополнительной возможной форме реализации варианта осуществления размер линейного буфера Х=4, , , , и зависит от S следующим образом:

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

В дополнительной возможной форме реализации варианта осуществления DB=8 и DA=6, MB=7 и MA=5.

В дополнительной возможной форме реализации варианта осуществления DB=8 и DA=7, МВ=7 и MA=6.

В дополнительной возможной форме реализации варианта осуществления DB=8 и DA=5, МВ=7 и MA=4.

В дополнительной возможной форме реализации варианта осуществления DB=8 и DA=4, MB=7 и MA=3.

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

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

Как показано на фиг. 16А или 16В, из верхнего блока (P) может быть использовано максимум 6 выборок в принятии решения фильтра, и можно модифицировать максимум 5 выборок, тогда как для нижнего блока (Q), могут быть модифицированы максимум 7 выборок и максимум 8 выборок можно использовать в принятии решения фильтра.

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

Фиг. 12 является блок-схемой, иллюстрирующей примерный способ деблокинга в соответствии со способами, описанными в настоящем изобретении (дополнительные данные будут описаны ниже, например, на основании на фиг. 7, 8 и фиг. 16 (= 16A и 16В), фиг. 17 и фиг. 18). В котором края блока содержит горизонтальный край блока (например, CU край или CU граница) между текущим блоком изображения и смежным блоком изображения текущего блока изображений, в котором текущий блок изображения находится выше горизонтального края блока; в котором текущий блок изображения имеет размер SA блока вдоль вертикального направления, вертикальное направление перпендикулярно горизонтальному краю блока.

На фиг. 12 показан вариант осуществления способа деблокинга.

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

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

В котором линейный буфер, ассоциированный с CTB границей, имеет размер буфера строки Х строк, МА=Х-1, в котором X является положительным целым числом.

В котором способ дополнительно содержит:

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

В некоторых возможных формах реализации варианта осуществления, если линейный буфер, ассоциированный с CTB границей, имеет размер линейного буфера X-строк, DA=X и MA=X-1, в котором Х является положительным целым числом.

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

В некоторых возможных формах реализации варианта осуществления, если линейный буфер, ассоциированный с CTB границей, имеет размер буфера строк X строк,

выборка pi текущего блока изображения используется в качестве значения заполнения, которое заменяет другие выборки, которые принадлежат текущему блоку изображений, и которые находятся за пределами линейного буфера, в котором i=X-1.

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

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

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

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

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

В другой форме варианта осуществления,

когда текущий блок изображения является блоком яркости, и SA равен или больше 32, МА=3, в котором SA является высотой текущего блока изображения; или

когда текущий блок изображения является блоком яркости, и SA равен или превышает 16, МА=3, в котором SA является высотой текущего блока изображения.

В другой форме варианта осуществления,

когда текущий блок изображения является блоком яркости, и SA равен или больше 32, DA=4, в котором SA является высотой текущего блока изображения; или

когда текущий блок изображения является блоком яркости, и SA равен или больше 16, DA=4, в котором SA является высотой текущего блока изображения.

В дополнительно возможной форме реализации варианта осуществления, когда текущий блок изображения является блоком цветности и SA равен или превышает 8, МА=1, в котором SA является высотой текущего блока изображения.

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

когда текущий блок изображения является блоком цветности, и SA равен или превышает 8, DA=2, в котором SA является высотой текущего блока изображения.

В котором способ дополнительно содержит:

На этапе 1001, когда текущий блок изображения представляет собой блок цветности, определение, перекрывается ли горизонтальный край блока с границей горизонтального CTB цветности; или

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

Следует отметить, что выборки pi текущего блока изображений являются выборками яркости, или выборки pi текущего блока изображений являются выборками цветности, в котором I принадлежит к {0, 1, 2, …, SA-1}.

Очевидно, что текущий блок изображения является блоком преобразования; или текущий блок изображения является блоком кодирования.

Фиг. 13 является упрощенной блок-схемой устройства 1300, которое может использоваться как одно или оба из устройства 310 источника и устройства 320 назначения по фиг. 3 согласно примерному варианту осуществления. Устройство 1300 может реализовывать способы настоящего изобретения, описанные выше. Устройство 1300 может быть выполнено в форме вычислительной системы, включающей в себя несколько вычислительных устройств, или в форме одного вычислительного устройства, например, мобильного телефона, планшетного компьютера, портативного компьютера, портативного компьютера, настольного компьютера, и тому подобное.

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

В реализации память 1304 в устройстве 1300 может быть постоянным запоминающим устройством (ROM) или устройством оперативной памяти (RAM). В качестве памяти 1304 может использоваться любой другой подходящий тип запоминающего устройства. Память 1304 может содержать в себя код и данные 1306, к которым обращается процессор 1302 с использованием шины 1312. Память 1304 может дополнительно содержать в себя операционную систему 1308 и прикладные программы 1310, прикладные программы 1310 включают в себя, по меньшей мере, одну программу, которая позволяет процессору 1302 выполнять описанные в настоящем документе способы. Например, прикладные программы 1310 могут содержать в себя приложения с 1 по N, которые дополнительно включают в себя приложение кодирования видео, которое выполняет описанные здесь способы. Устройство 1300 также может включать в себя дополнительную память в виде вторичного запоминающего устройства 1314, которое может, например, быть картой памяти, используемой с мобильным вычислительным устройством. Поскольку сеансы видеосвязи могут содержать значительный объем информации, они могут быть сохранены полностью или частично во вторичном хранилище 1314 и загружены в память 1304 по мере необходимости для обработки.

Устройство 1300 также может включать в себя одно или несколько устройств вывода, таких как дисплей 1318. Дисплей 1318 может быть, в одном примере, сенсорным дисплеем, который объединяет дисплей с сенсорным элементом, способным распознавать сенсорные вводы. Дисплей 1318 может быть подключен к процессору 1302 через шину 1312. Другие устройства вывода, которые позволяют пользователю программировать или иным образом использовать устройство 1300, могут быть предоставлены в дополнение к дисплею 1318 или в качестве альтернативы ему или содержит в себя дисплей, дисплей может быть реализован различными способами, в том числе с помощью жидкокристаллического дисплея (LCD), дисплея с электронно-лучевой трубкой (CRT), плазменного дисплея или дисплея на светоизлучающих диодах (LED), например, органического светодиодного (OLED) дисплея.

Устройство 1300 также может включать в себя устройство 1320 формирования изображений, например камеру, или любое другое устройство 1320 формирования изображений, существующее в настоящее время или разработанное в дальнейшем, которое может воспринимать изображение, такое как изображение пользователя, управляющего устройством, или взаимодействовать с устройством 1300. Устройство 1320 формирования изображений может быть расположено так, чтобы оно было направлено к пользователю, работающему с устройством 1300. В примере положение и оптическая ось устройства 520 формирования изображений могут быть выполнены таким образом, чтобы поле зрения включало бы в себя область, которая непосредственно примыкает к дисплею 1318 и из которой дисплей 1318 виден.

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

Хотя фиг. 13 изображает процессор 1302 и память 1304 устройства 1300 как интегрированные в единый блок, могут использоваться другие конфигурации. Операции процессора 1302 могут быть распределены между несколькими машинами (каждая машина имеет один или несколько процессоров), которые могут быть связаны напрямую или через локальную область или другую сеть. Память 1304 может быть распределена между несколькими машинами, такими как сетевая память или память на нескольких машинах, выполняющих операции устройства 1300. Хотя изображена как одна шина, шина 1312 устройства 1300 может состоять из нескольких шин. Кроме того, вторичное хранилище 1314 может быть напрямую связано с другими компонентами устройства 1300 или может быть доступно через сеть и может содержать один интегрированный блок, такой как карта памяти, или несколько блоков, например, несколько карт памяти. Таким образом, устройство 1300 может быть реализовано в широком разнообразии конфигураций.

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

Вычислительное устройство 1400 содержит входные порты 1420 и блоки 1410 приемника (Rx) для приема данных; процессор, логический блок или центральный процессор (CPU) 1430 для обработки данных; блоки 1440 передатчика (Tx) и выходные порты 1450 для передачи данных; память 1460 для хранения данных. Вычислительное устройство 1400 также может содержать оптико-электрические (OE) компоненты и электро-оптические компоненты (EO), соединенные с входными портами 1420, блоками 1410 приемника, блоками 1440 передатчика и выходными портами 1450 для ввода или вывода оптических или электрических сигналов. В некоторых примерах вычислительное устройство 1400 также может включать в себя беспроводные передатчики и/или приемники.

Процессор 1430 реализуется аппаратным и программным обеспечением. Процессор 1430 может быть реализован как один или несколько CPU микросхем, ядрами (например, в качестве многоядерного процессора), программируемая пользователем вентильная матрица (FPGA), специализированная интегральная схема (ASIC) и процессор цифровых сигналов (DSP). Процессор 1430 взаимодействует с входными портами 1420, блоками 1410 приемника, блоками 1440 передатчика, выходными портами 1450 и памятью 1460. Процессор 1430 содержит модуль 1414 кодирования. Модуль 1414 кодирования реализует раскрытые варианты осуществления, описанные выше. Например, модуль 1414 кодирования реализует, процессы, подготавливает или обеспечивает различные операции кодирования. Следовательно, использованием модуля 1414 кодирования обеспечивает существенное улучшение функциональности вычислительного устройства 1400 и влияет на преобразование вычислительного устройства 1400 в другое состояние. Альтернативно, модуль 1414 кодирования реализован в качестве инструкций, хранящихся в памяти 1460, и выполняются процессором 1430 (например, в качестве продукта компьютерного программного обеспечения, хранящегося на постоянном носителе).

Память 1460 содержит один или несколько дисков, ленточных накопителей и твердотельных носителей и может использоваться в качестве устройства хранения данных при переполнении для хранения программ, когда такие программы выбраны для выполнения, и для хранения инструкций и данных, которые будут прочитаны во время выполнения программы. Память 1460 может быть энергозависимой и/или энергонезависимой и может быть памятью только для чтения (ROM), памятью произвольного доступа (RAM), троичной памятью с адресацией по содержимому (TCAM) и/или статической памятью произвольного доступа (SRAM). Компьютерное устройство 1400 может также включать устройство ввода/вывода (I/O) для взаимодействия с конечным пользователем. Например, вычислительное устройство 1400 может включать в себя дисплей, такой как монитор, для визуального вывода, динамики для аудиовыхода и клавиатуру/мышь/трекбол и т.д. для пользовательского ввода.

Фиг. 19 является блок-схемой, иллюстрирующей примерное устройство 1900 в соответствии с способами, описанными в этом изобретении (более подробные данные будут описаны ниже, например, со ссылкой на фиг. 7, 8 и фиг. 16 (= 16А и 16В), фиг. 17 и фиг. 18). Устройство для использования в кодере изображений и/или декодере изображений для деблокинга краев блока между блоками, в котором край блока содержит горизонтальный край блока (например, CU край или CU граница) между первым блоком Р кодирования и вторым блок Q кодирования.

в котором горизонтальный край блока перекрывается с границей блока дерева кодирования (CTU), в котором первый блок P кодирования является блоком над границей CTU и второй блок Q кодирования является блоком под CTU границей;

в котором первый блок Р кодирования имеет размер SA блока, перпендикулярного граю горизонтального блока,

в котором второй блок Q кодирования имеет размер SB блока, перпендикулярного горизонтальному краю блока,

в котором устройство 1900 содержит фильтр 1910 деблокинга, выполненный с возможностью:

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

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

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

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

В котором DA≠DB и MA≠MB, SA>DA>MA и SB>DB>MB.

В некоторой форме реализации варианта осуществления, в котором, если размер линейного буфера (например, размер линейного буфера) равен X, то для первого блока P кодирования, DA=X и MA=Х-1; и

выборка pi первого блока P кодирования используется в качестве значения заполнения, которое заменяет другие выборки, которые принадлежат первому блоку P кодирования и которые находятся за пределами линейного буфера, в котором, если размер буфера равен X, то i=Х-1

В некоторой форме реализации варианта осуществления, в котором DA<DB и MA<MB.

В некоторой форме реализации варианта осуществления, в котором DB=8 и DA=6, в котором MB=7 и MA=5.

В некоторой форме реализации варианта осуществления, в котором DB=8 и DA=7, в котором MB=7 и MA=6.

В некоторой форме реализации варианта осуществления, в котором DB=8 и DA=5, в котором MB=7 и MA=4.

В некоторой форме реализации варианта осуществления, в котором DB=8 и DA=4, в котором MD=7 и MA=3.

В дополнительной возможной форме реализации варианта осуществления, в котором при применении 6-строчного буфера (например, линейный буфер с размером 6 линейного буфера), проверяется уравнение условия расширенного фильтра =(sp3+Abs(p5-p3)+1)>>1;

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

В котором sp3=Abs(p3-p0) и pi представляют собой значение выборки первого блока Р кодирования, используемого в принятии решения фильтра, i=0, 1, 2, 3, 4 или 5.

В дополнительной возможной форме реализации варианта осуществления, в котором при применении 6-строчного буфера и второй блок Q кодирования с размером блока SB > = заданный размер (например, 32), проверяется уравнение условия расширенного фильтра =(sq3+Abs(q7-q3)+1)>>1;

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

В котором sq3=Abs(q0-q3) и представляют собой значение выборки второго блока Q кодирования, используемое при принятии решении фильтра, i=0, 1, 2, 3, 4 … или 7.

В дополнительной возможной форме реализации варианта осуществления, в котором при применении 4-строчного буфера, проверяется уравнение условия расширенного фильтра =(sp3+Abs(p3-p0)+1)>>1;

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

в котором p3=Abs(p3-p0) и pi представляют собой значение выборки первого блока Р кодирования, используемое при принятии решения фильтра, i=0, 1, 2 или 3.

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

-

-

В котором является параметром отсечения зависимой позиции, , , , и зависят от S;

pi представляет собой значение выборки первого блока Р кодирования; и

qi представляет собой значение выборки второго блока Q кодирования.

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

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

В некоторой форме реализации варианта осуществления линейный буфер с размером Х=6, , , , и зависит от S как указано ниже:

В некоторой форме реализации варианта осуществления, в котором размер буфера размером Х=4, , , , и зависит от S является следующим:

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

В приведенном примере, в котором линейный буфер имеет размер буфера линейного буфера 6 строк, и выборки р0 до р4 модифицируются из первого блока Р кодирования, чтобы быть выборками p0' до p4'.

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

В некоторых формах реализации варианта осуществления, в котором выборки pi являются выборками яркости и/или цветности.

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

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

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

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

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

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

Фиг. 21 является схемой, показывающей структуру примера оконечного устройства 3106. После того, как оконечное устройство 3106 принимает поток из устройства 3102 захвата, блок 3202 обработки протокола анализирует протокол передачи потока. Протокол содержит, помимо прочего, протокол потоковой передачи в реальном времени (RTSP), протокол передачи гипертекста (HTTP), протокол потоковой передачи в реальном времени HTTP (HLS), MPEG-DASH, транспортный протокол в реальном времени (RTP), протокол обмена сообщениями в реальном времени (RTMP) или любую их комбинацию или тому подобное.

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

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

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

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

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

Изобретение было описано в сочетании с различными вариантами осуществления. Однако специалистами в данной области техники могут быть рассмотрены и осуществлены другие вариации раскрытых вариантов осуществления при реализации настоящего изобретения посредством изучения чертежей, описания и прилагаемой формулы изобретения. В формуле изобретения слово «содержащий» не исключает в себя другие элементы или этапы и неопределенный артикль «а» или «an» не исключает множества. Один процессор или другой блок может выполнить функции нескольких аспектов, изложенных в формуле изобретения. Сам факт того, что определенные меры изложены в обычно различных зависимых пунктах формулы изобретения, не указывает, что комбинацию этих мер нельзя использовать для преимущества. Компьютерная программа может быть сохранена/распределена на подходящем носителе, таком как оптический носитель или твердотельный накопитель, подаваемая вместе с или как часть другого оборудования, но также может быть распределена в других формах, таких как через интернет или другие проводные или беспроводные системы связи.

По тексту изложения, в котором варианты осуществления и описание относятся к термину «память», термин «память» должен быть понятен и/или должен содержать магнитный диск, оптический диск, память только для чтения (Read-Only Memory, ROM) или память произвольного доступа (Random Access Memory, RAM), …, если явно не указано иное.

Везде, в котором варианты осуществления и описание относятся к термину «сеть», термин «сеть» должен быть понятен и/или содержит [перечисление всех возможных памяти] …, если явно не указано иное.

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

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

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

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

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

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

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

Функциональность кодера 100 (и соответствующий способ 100 кодирования) и/или декодера 200 (и соответствующий способ 200 декодирования) может быть реализован посредством программной инструкции, хранящейся на машиночитаемом носителе информации. Программная инструкция при выполнении побуждает схему обработки, компьютер, процессор или тому подобное, выполнять этапы способов кодирования и/или декодирования. Машиночитаемый носитель информации может быть любым носителем, включающим в себя постоянный носитель информации, на котором хранится программа, такой как диск Bluray, DVD, CD, USB (Flash), жесткий диск, сервер хранения, доступные через сеть и т.д.

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

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

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

В качестве примера, но не ограничения, такие машиночитаемые носители данных могут содержать RAM, ROM, EEPROM, CD-ROM или другое запоминающее устройство на оптическом диске, запоминающее устройство на магнитном диске или другие магнитные запоминающие устройства, флэш-память или любой другой носитель, который может использоваться для хранения требуемого программного кода в форме инструкций или структур данных и может быть доступен для компьютера. Дополнительно, любое соединение правильно называть машиночитаемым носителем. Например, если инструкции передаются с веб-сайта, сервера или другого удаленного источника с использованием коаксиального кабеля, оптоволоконного кабеля, витой пары, цифровой абонентской линии (DSL) или беспроводных технологий, таких как инфракрасный порт, радио и микроволновый сигнал, тогда коаксиальный кабель, оптоволоконный кабель, витая пара, DSL или беспроводные технологии, такие как инфракрасный порт, радио и микроволновый сигнал рассматриваются в качестве среды связи. Однако следует понимать, что машиночитаемые носители данных и носители данных не включают в себя соединения, несущие волны, сигналы или другие временные носители, а вместо этого относятся к энергонезависимым материальным носителям данных. Диск, как используется в настоящем документе, включает в себя компакт-диск (CD), лазерный диск, оптический диск, цифровой универсальный диск (DVD), дискету и диск Blu-ray, в котором диски обычно воспроизводят данные магнитным способом, и диски воспроизводят данные оптически с помощью лазеров. Комбинации вышеперечисленного также должны быть включены в объем машиночитаемых носителей.

Инструкции могут выполняться одним или несколькими процессорами, такими как один или несколько процессоров цифровых сигналов (DSP), микропроцессоры общего назначения, специализированные интегральные схемы (ASIC), программируемые логические матрицы (FPGA) или другие эквивалентные интегральные или дискретные логические схемы. Соответственно, термин «процессор», используемый в настоящем описании, может относиться к любой из вышеупомянутой структуре или любой другой структуре, подходящей для реализации описанных способов. Дополнительно, в некоторых аспектах, описанные в настоящем документе, функциональные возможности могут быть предоставлены в рамках выделенных аппаратных и/или программных модулей, выполненных с возможностью кодировать и декодировать или содержащиеся в комбинированном кодеке. Дополнительно, способы могут быть полностью реализованы в одной или нескольких схемах или логических элементах.

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

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

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

1. Устройство для использования в кодере изображения и/или декодере изображения для деблокинга краев блока между блоками изображения, в котором края блока содержат горизонтальный край блока между первым блоком изображения и вторым блоком изображения,

в котором первый блок изображения имеет размер SA блока вдоль вертикального направления,

в котором второй блок изображения имеет размер SВ блока вдоль вертикального направления, вертикальное направление перпендикулярно горизонтальному краю блока,

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

определять, перекрывается ли горизонтальный край блока с границей горизонтального блока дерева кодирования (CTB);

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

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

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

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

в котором MA ≠ MB.

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

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

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

в котором DA ≠ DB.

3. Устройство по п.1, в котором для первого блока изображения MA = X - 1, в котором размер линейного буфера линейного буфера, ассоциированного с CTB границей, равен Х строк, X является положительным целым числом.

4. Устройство по п.2, в котором для первого блока изображения DA = X и MA = X-1, в котором размер линейного буфера линейного буфера, ассоциированного с CTB границей, равен Х строк, X является положительным целым числом.

5. Устройство по любому из пп.3 или 4,

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

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

6. Устройство по любому из пп.1-4, в котором, если линейный буфер, ассоциированный с CTB границей, имеет размер линейного буфера X строк,

выборка рi первого блока изображения используется в качестве значения заполнения, которое заменяет другие выборки, которые принадлежат первому блоку изображения и которые находятся за пределами линейного буфера, в котором i = X - 1.

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

8. Устройство по любому из пп.1-4, в котором коэффициент фильтра, ассоциированный с выборкой рi первого блока изображения, определяется на основании количества раз, когда выборка рi используется в качестве значения заполнения, в котором выборка рi принадлежит первому блоку изображения и представляет собой наиболее удаленную выборку, разрешенную для хранения в линейном буфере, ассоциированным с CTB границей.

9. Устройство по любому из пп.1-4,

в котором, когда и первый блок изображения, так и второй блок изображения являются блоками яркости и SB и SA равны или более 32, MB = 7 и MA = 3; или

в котором, когда и первый блок изображения, и второй блок изображения являются блоками яркости и SВ равно или больше 32 и SA равно или превышает 16, МВ = 7 и МА = 3.

10. Устройство по любому из пп.2-4,

в котором, когда оба: и первый блок изображения, и второй блок изображения, являются блоками яркости, SВ и SА равны или больше 32, DB = 8 и DA = 4; или

в котором, когда и первый блок изображения, так и второй блок изображения являются блоками яркости, SВ равно или больше 32 и SA равно или больше 16, DB = 8 и DA = 4.

11. Устройство по любому из пп.1-4, в котором, когда первый блок изображения и второй блок изображения являются блоками цветности и SА и SВ равны или больше 8, MВ = 3 и MА = 1.

12. Устройство по п.2 или 4, в котором, когда первый блок изображения и второй блок изображения являются блоками цветности, SВ и SА равны или больше 8, DB = 4 и DA = 2.

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

14. Устройство по любому из пп.1-4, в котором выборки рi первого блока изображения являются выборками яркости или выборки рi первого блока изображения являются выборками цветности, в котором i принадлежит к {0, 1, 2, ... , SA-1}.

15. Устройство по любому из пп.1-4, в котором, когда первый и второй блоки изображения являются блоками цветности, фильтр деблокинга выполнен с возможностью определять, перекрывается ли горизонтальный край блока с границей горизонтального CTB цветности; или

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

16. Устройство по любому из пп.1-4, в котором фильтр деблокинга является более длинным отводным фильтром, или асимметричным фильтром, или асимметричным отводным фильтром.

17. Устройство для использования в кодере изображения и/или декодере изображения для деблокинга краев блока между блоками изображения, в котором края блока содержат горизонтальный край блока между первым блоком изображения и вторым блоком изображения,

в котором первый блок изображения имеет размер SA блока вдоль вертикального направления, в котором второй блок изображения имеет размер SВ блока вдоль вертикального направления, вертикальное направление перпендикулярно к горизонтальному краю блока,

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

определять, перекрывается ли горизонтальный край блока с границей горизонтального блока дерева кодирования (CTB);

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

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

- модифицировать значения не более МВ выборок второго блока изображения в качестве выходных значений второго фильтра, в котором не более МВ выборок расположены в столбце второго блока изображения, который является перпендикулярным к горизонтальному краю блока, и не более МB выборок прилегают к горизонтальному краю блока, в котором MB = 3,

в котором первый блок изображения является блоком цветности над CTB границей, и второй блок изображения является другим блоком цветности ниже CTB границы, и SA и SB равны или больше 8.

18. Устройство для использования в кодере изображения и/или декодере изображения для деблокинга краев блока между блоками изображения, в котором края блока содержат горизонтальный край блока между первым блоком изображения и вторым блоком изображения,

в котором первый блок изображения имеет размер SA блока вдоль вертикального направления,

в котором второй блок изображения имеет размер SВ блока вдоль вертикального направления, вертикальное направление перпендикулярно горизонтальному краю блока,

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

определять, перекрывается ли горизонтальный край блока с границей горизонтального блока дерева кодирования (CTB);

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

- использовать значения не более DА выборок первого блока изображения в качестве значений принятия решения первого фильтра, в котором не более DА выборок расположены в столбце первого блока изображения, который является перпендикулярным к горизонтальному краю блока, и не более DА выборок прилегают к горизонтальному краю блока, в котором DA = 2;

- использовать значения не более DВ выборок второго блока изображения в качестве значений принятия решения второго фильтра, в котором не более DВ выборок расположены в столбце второго блока изображения, который является перпендикулярным к горизонтальному краю блока, и не более DB выборок прилегают к горизонтальному краю блока, в котором DB = 4, и

в котором первый блок изображения является блоком цветности над CTB границей, и второй блок изображения является другим блоком цветности ниже CTB границы, и SA и SB равны или больше 8.

19. Кодер для кодирования изображения, содержащий устройство по любому из пп.1-18.

20. Декодер для декодирования изображения, содержащий устройство по любому из пп.1-18.

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

в котором первый блок изображения имеет размер SA блока вдоль вертикального направления,

в котором второй блок изображения имеет размер SВ блока вдоль вертикального направления, вертикальное направление перпендикулярно горизонтальному краю блока,

в котором способ содержит:

определение, перекрывается ли горизонтальный край блока с границей горизонтального блока дерева кодирования (CTB);

в случае если горизонтальный край блока перекрывается с границей горизонтального CTB,

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

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

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

в котором MA ≠ MB.

22. Способ по п.21, в котором способ дополнительно содержит: в случае если горизонтальный край блока перекрывается с границей горизонтального CTB,

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

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

в котором DA ≠ DB.

23. Способ по п.21, в котором для первого блока изображения MA = X - 1, в котором размер линейного буфера линейного буфера, ассоциированного с CTB границей, равен Х строк, X является положительным целым числом.

24. Способ по п.22, в котором для первого блока изображения, DA = X и MA = X-1, в котором размер линейного буфера линейного буфера, ассоциированного с CTB границей, равен Х строк, X является положительным целым числом.

25. Способ по любому из пп.21-24, в котором, когда первый блок изображения и второй блок изображения являются блоками цветности, линейный буфер имеет размер линейного буфера 2 строки, или

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

26. Способ по любому из пп.21-24, в котором, если линейный буфер, ассоциированный с CTB границей, имеет размер линейного буфера Х строк,

выборка рi первого блока изображения используется в качестве значения заполнения, которое заменяет другие выборки, которые принадлежат первому блоку изображений и которые находятся за пределами линейного буфера, в котором i = X - 1.

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

28. Способ по любому из пп.21-24, в котором коэффициент фильтра, ассоциированный с выборкой рi первого блока изображения, определяется на основании количества раз, когда выборка рi используется в качестве значения заполнения, в котором выборка рi принадлежит первому блоку изображений и представляет собой наиболее удаленную выборку, разрешенную для хранения в линейном буфере, ассоциированным с CTB границей.

29. Способ по любому из пп.21-24,

в котором, когда оба: первый блок изображения и второй блок изображения, являются блоками яркости и SВ и SА равны или больше 32, МВ = 7 и МА = 3; или

в котором, когда и первый блок изображения, так и второй блок изображения являются блоками яркости и SВ равен или больше 32 и SA равен или превышает 16, МВ = 7 и МА = 3.

30. Способ по п.22 или 24,

в котором, когда оба: первый блок изображения, так и второй блок изображения, являются блоками яркости и SВ и SА равны или больше 32, DB = 8 и DA = 4; или

в котором, когда и первый блок изображения, так и второй блок изображения являются блоками яркости и SВ равен или больше 32 и SA равен или больше 16, DB = 8 и DA = 4.

31. Способ по любому из пп.21-24, в котором, когда первый блок изображения и второй блок изображения являются блоками цветности и SА и SВ равны или больше 8, MВ = 3 и MА = 1.

32. Способ по п. 22 или 24, в котором, когда первый блок изображения и второй блок изображения являются блоками цветности и SВ и SА равны или больше 8, DB = 4 и DA = 2.

33. Способ по любому из пп.21-24, в котором второй блок изображения представляет собой текущий блок изображения и первый блок изображения представляет собой смежный блок изображения, прилегающий к текущему блоку изображений.

34. Способ по любому из пп.21-24, в котором выборки рi первого блока изображения являются выборками яркости или выборки рi первого блока изображения являются выборками цветности,

в котором i принадлежит к {0, 1, 2, ..., SA-1}.

35. Способ по любому из пп.21-24, в котором определение, перекрывается ли горизонтальный край блока с границей горизонтального блока дерева кодирования (CTB), содержит:

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

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

36. Способ по любому из пп.21-24, в котором фильтр деблокинга является длинным отводным фильтром, или асимметричным фильтром, или асимметричным отводным фильтром.

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

в котором первый блок изображения имеет размер SA блока вдоль вертикального направления,

в котором второй блок изображения имеет размер SВ блока вдоль вертикального направления, вертикальное направление перпендикулярно горизонтальному краю блока,

в котором способ содержит:

определение, перекрывается ли горизонтальный край блока с границей горизонтального блока дерева кодирования (CTB);

в случае если горизонтальный край блока перекрывается с границей горизонтального CTB,

- модифицирование значений не более МА выборок первого блока изображения в качестве выходных значений первого фильтра, в котором не более МА выборок расположены в столбце первого блока изображения, который является перпендикулярным к горизонтальному краю блока, и не более MA выборок прилегают к горизонтальному краю блока, в котором МА = 1; и

- модифицирование значений не более МВ выборок второго блока изображения в качестве выходных значений второго фильтра, в котором не более МВ выборок расположены в столбце второго блока изображения, который является перпендикулярным к горизонтальному краю блока, и не более MВ выборок прилегают к горизонтальному краю блока, в котором MB = 3,

в котором первый блок изображения является блоком цветности над CTB границей и второй блок изображения является другим блоком цветности ниже CTB границы и SA и SB равны или больше 8.

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

в котором первый блок изображения имеет размер SA блока вдоль вертикального направления,

в котором второй блок изображения имеет размер SВ блока вдоль вертикального направления, вертикальное направление перпендикулярно горизонтальному краю блока,

в котором способ содержит фильтр деблокинга, выполненный с возможностью:

определять, перекрывается ли горизонтальный край блока с границей горизонтального блока дерева кодирования (CTB);

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

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

- использовать значения не более DB выборок второго блока изображений в качестве значений принятия решения второго фильтра, в котором не более выборок DB расположены в столбце второго блока изображения, который является перпендикулярным к горизонтальному краю блока, и не более DВ выборок прилегают к горизонтальному краю блока, в котором DB = 4, и

в котором первый блок изображения является блоком цветности над CTB границей и второй блок изображения является другим блоком цветности ниже CTB границы и SA и SB равны или больше 8.

39. Способ кодирования для кодирования изображения, содержащий способ деблокинга по любому из пп.21-38.

40. Способ декодирования для декодирования изображения, содержащий способ деблокинга по любому из пп.21-38.

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

в котором текущий блок изображения имеет размер SA блока вдоль вертикального направления, вертикальное направление перпендикулярно к горизонтальному краю блока,

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

определять, перекрывается ли горизонтальный край блока с границей горизонтального блока дерева кодирования (CTB);

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

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

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

42. Устройство по п.41, в котором МА = Х-1, в котором размер линейного буфера линейного буфера, ассоциированного с CTB границей, равен Х строк, X является положительным целым числом.

43. Устройство по п.41 или 42, в котором фильтр деблокинга дополнительно выполнен с возможностью: в случае когда горизонтальный край блока перекрывается с границей горизонтального блока дерева кодирования (CTB),

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

44. Устройство по п.43, в котором DA = X и MA = Х-1, в котором размер линейного буфера линейного буфера, ассоциированного с CTB границей, равен Х строк, X является положительным целым числом.

45. Устройство по любому из пп.41-44,

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

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

46. Устройство по любому из пп.41-44, в котором, если линейный буфер, ассоциированный с CTB границей, имеет размер линейного буфера Х строк,

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

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

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

49. Устройство по п.47 или 48, в котором, когда линейный буфер имеет размер линейного буфера 2 строки, выборка рi является выборкой р1 и коэффициент фильтра, ассоциированный с выборкой р1, равен 3.

50. Устройство по любому из пп.41-44, в котором

когда текущий блок изображения является блоком яркости и SА равен или больше 32, МА = 3, в котором SA является высотой текущего блока изображения;

или

когда текущий блок изображения является блоком яркости и SА равен или превышает 16, МА = 3, в котором SA является высотой текущего блока изображения.

51. Устройство по п.43 или 44, в котором

когда текущий блок изображения является блоком яркости и SА равен или больше 32, DA = 4, в котором SA является высотой текущего блока изображения; или

когда текущий блок изображения является блоком яркости и SА равен или больше 16, DA = 4, в котором SA является высотой текущего блока изображения.

52. Устройство по любому из пп.41-44, в котором

когда текущий блок изображения является блоком цветности и SА равен или больше 8, МА = 1,

в котором SA является высотой текущего блока изображения.

53. Устройство по любому из пп.43 или 44, в котором

когда текущий блок изображения является блоком цветности и SА равен или больше 8, DA = 2,

в котором SA является высотой текущего блока изображения.

54. Устройство по любому из пп.41-44, в котором, когда текущий блок изображения является блоком цветности, фильтр деблокинга выполнен с возможностью определять, перекрывается ли горизонтальный край блока с границей горизонтального CTB цветности; или

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

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

в котором i принадлежит к {0, 1, 2, ..., SA-1}.

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

в котором текущий блок изображения имеет размер SA блока вдоль вертикального направления, вертикальное направление перпендикулярно к горизонтальному краю блока,

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

определять, перекрывается ли горизонтальный край блока с границей горизонтального блока дерева кодирования (CTB);

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

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

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

в котором, когда текущий блок изображения является блоком яркости и SA равен или больше 32, MA = 3 и DA = 4.

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

в котором текущий блок изображения имеет размер SA блока вдоль вертикального направления, вертикальное направление перпендикулярно к горизонтальному краю блока,

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

определять, перекрывается ли горизонтальный край блока с границей горизонтального блока дерева кодирования (CTB);

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

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

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

в котором, когда текущий блок изображения представляет собой блок цветности и SA равен или более 8, MA = 1 и DA = 2.

58. Кодер для кодирования изображения, содержащий устройство по любому из пп.41-57.

59. Декодер для декодирования изображения, содержащий устройство по любому из пп.41-57.

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

в котором текущий блок изображения имеет размер SA блока вдоль вертикального направления, вертикальное направление перпендикулярно к горизонтальному краю блока,

в котором способ содержит:

определение, перекрывается ли горизонтальный край блока с границей горизонтального блока дерева кодирования (CTB);

в случае если горизонтальный край блока перекрывается с границей горизонтального CTB,

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

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

61. Способ по п.60, в котором MA = Х-1, в котором размер линейного буфера линейного буфера, ассоциированного с CTB границей, равен Х строк, X является положительным целым числом.

62. Способ по п.60, в котором способ дополнительно содержит: в случае когда горизонтальный край блока перекрывается с границей горизонтального блока дерева кодирования (CTB),

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

63. Способ по п.62, в котором DA=X и MA=X-1, в котором размер линейного буфера линейного буфера, ассоциированного с CTB границей, равен Х строк, X является положительным целым числом.

64. Способ по любому из пп.60-63,

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

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

65. Способ по любому из пп.60-63, в котором, если линейный буфер, ассоциированный с CTB границей, имеет размер линейного буфера Х строк,

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

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

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

68. Способ по п.66 или 67, в котором, когда линейный буфер имеет размер линейного буфера 2 строки, выборка рi является выборкой р1 и коэффициент фильтра, ассоциированный с выборкой р1, равен 3.

69. Способ по любому из пп.60-63, в котором

когда текущий блок изображения является блоком яркости и SА равен или больше 32, МА = 3, в котором SA является высотой текущего блока изображения; или

когда текущий блок изображения является блоком яркости и SА равен или превышает 16, МА = 3, в котором SA является высотой текущего блока изображения.

70. Способ по п.62 или 63, в котором

когда текущий блок изображения является блоком яркости и SА равен или больше 32, DA = 4, в котором SA является высотой текущего блока изображения; или

когда текущий блок изображения является блоком яркости и SА равен или больше 16, DA = 4, в котором SA является высотой текущего блока изображения.

71. Способ по любому из пп.60-63, в котором

когда текущий блок изображения является блоком цветности и SА равен или больше 8, MA = 1, в котором SA является высотой текущего блока изображения.

72. Способ по любому из пп.62 или 63, в котором

когда текущий блок изображения является блоком цветности и SА равен или превышает 8, DA = 2, в котором SA является высотой текущего блока изображения.

73. Способ по любому из пп.60-63, в котором определение, перекрывается ли горизонтальный край блока с границей горизонтального блока дерева кодирования (CTB) содержит:

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

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

74. Способ по любому из пп.60-63, в котором выборки рi текущего блока изображения являются выборками яркости или выборки рi текущего блока изображения являются выборками цветности,

в котором i принадлежит к {0, 1, 2, ..., SA-1}.

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

в котором текущий блок изображения имеет размер SA блока вдоль вертикального направления, вертикальное направление перпендикулярно к горизонтальному краю блока,

в котором способ содержит:

определение, перекрывается ли горизонтальный край блока с границей горизонтального блока дерева кодирования (CTB);

в случае если горизонтальный край блока перекрывается с границей горизонтального CTB,

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

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

в котором, когда текущий блок изображения является блоком яркости и SA равен или больше 32, MA = 3 и DA = 4.

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

в котором текущий блок изображения имеет размер SA блока вдоль вертикального направления, вертикальное направление перпендикулярно к горизонтальному краю блока, в котором способ содержит:

определение, перекрывается ли горизонтальный край блока с границей горизонтального блока дерева кодирования (CTB);

в случае если горизонтальный край блока перекрывается с границей горизонтального CTB,

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

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

в котором, когда текущий блок изображения представляет собой блок цветности и SA равен или более 8, MA = 1 и DA = 2.

77. Постоянный машиночитаемый носитель, хранящий компьютерные инструкции, которые при выполнении одним или несколькими процессорами побуждают один или несколько процессоров выполнить способ по любому из пп.21-38 и 60-76.

78. Способ кодирования для кодирования изображения, содержащий способ деблокинга по любому одному из пп.60-76.

79. Способ декодирования для декодирования изображения, содержащий способ деблокинга по любому одному из пп.60-76.



 

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

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

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

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

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

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

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

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

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

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

Изобретение относится к области технологий кодирования изображений, в частности к устройствам предсказания видеоизображений. Аппаратура предсказания видеоизображений содержит: блок синтаксического анализа, сконфигурированный для синтаксического анализа, из набора параметров последовательности, SPS, в битовом потоке, значения первого указателя sps_affine_enabled_flag и значения третьего указателя sps_sbtmvp_enabled_flag; причем блок синтаксического анализа сконфигурирован для синтаксического анализа значения второго указателя из упомянутой SPS, когда значение первого указателя равно первому значению; блок определения, сконфигурированный для определения максимальной длины первого списка кандидатных векторов движения на основе второго указателя, когда значение первого указателя равно первому значению, причем первый список кандидатных векторов движения является списком кандидатных векторов движения, созданным для блока, который должен быть обработан, режим предсказания слияния субблоков используется для блока, который должен быть обработан.
Наверх