RU2815483C1 - Декодирование и кодирование на основе механизма адаптивного внутреннего обновления - Google Patents

Декодирование и кодирование на основе механизма адаптивного внутреннего обновления Download PDF

Info

Publication number
RU2815483C1
RU2815483C1 RU2023120246A RU2023120246A RU2815483C1 RU 2815483 C1 RU2815483 C1 RU 2815483C1 RU 2023120246 A RU2023120246 A RU 2023120246A RU 2023120246 A RU2023120246 A RU 2023120246A RU 2815483 C1 RU2815483 C1 RU 2815483C1
Authority
RU
Russia
Prior art keywords
current frame
virtual boundary
position information
boundary position
adaptive
Prior art date
Application number
RU2023120246A
Other languages
English (en)
Inventor
Лян ВЭЙ
Фандун ЧЭНЬ
Ли ВАН
Original Assignee
Ханчжоу Хиквижн Диджитал Текнолоджи Ко., Лтд.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ханчжоу Хиквижн Диджитал Текнолоджи Ко., Лтд. filed Critical Ханчжоу Хиквижн Диджитал Текнолоджи Ко., Лтд.
Application granted granted Critical
Publication of RU2815483C1 publication Critical patent/RU2815483C1/ru

Links

Images

Abstract

Изобретение относится к области кодирования и декодирования видео. Техническим результатом является повышение гибкости применения механизма внутреннего обновления. Способ включает: прием битового потока текущего кадра и определение, поддерживает ли текущий кадр технологию адаптивного внутреннего обновления. Указанное определение включает одно из следующего: если имеются данные расширения в битовом потоке текущего кадра и данные расширения содержат идентификатор (ID) расширения видео с адаптивным внутренним обновлением, получение информации о положении виртуальной границы, переносимой в данных расширения, и определение того, текущий кадр поддерживает технологию адаптивного внутреннего обновления, на основе информации о положении виртуальной границы; или, если в данных расширения в битовом потоке текущего кадра нет идентификатора расширения видео с адаптивным внутренним обновлением, определение того, что текущий кадр не поддерживает технологию адаптивного внутреннего обновления. 4 н. и 12 з.п. ф-лы, 9 ил., 2 табл.

Description

ОБЛАСТЬ ТЕХНИКИ
[01] Варианты осуществления настоящего раскрытия относятся к области кодирования и декодирования видео и, в частности, к способам декодирования и кодирования на основе механизма адаптивного внутреннего обновления и к соответствующим устройствам.
ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ
[02] Для решения проблемы, заключающейся в том, что декодирование I-изображения занимает много времени из-за большой битовой скорости I-изображения, предусмотрен механизм внутреннего обновления. Основной принцип механизма внутреннего обновления состоит в распределении битовой скорости 1-изображения на несколько Р-изображений. В процессе кодирования полное изображение (кадр) делится на N областей принудительного внутреннего кодирования на основе периода обновления, и N кадров внутреннего обновления для изображения последовательно кодируются. Каждый из N кадров внутреннего обновления включает одну из N областей принудительного внутреннего кодирования. Режим кодирования N областей принудительного внутреннего кодирования является режимом принудительного внутреннего кодирования, а другим областям в каждом кадре внутреннего обновления разрешено использовать режим внешнего кодирования, так что битовая скорость каждого кадра внутреннего обновления не только уменьшается по сравнению с битовой скоростью I-изображения, но и является относительно стабильной. Однако процесс запуска механизма внутреннего обновления на основе текущего синтаксиса несколько избыточен.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[03] Варианты осуществления настоящего раскрытия обеспечивают способы декодирования и кодирования на основе механизма адаптивного внутреннего обновления и соответствующие устройства, которые могут повысить гибкость применения механизма внутреннего обновления. Техническое решение состоит в следующем.
[04] В одном аспекте предоставляется способ декодирования на основе механизма адаптивного внутреннего обновления, включающий: прием битового потока текущего кадра; если в битовом потоке текущего кадра есть данные расширения и данные расширения содержат идентификатор (ID) расширения видео с адаптивным внутренним обновлением, получение информации о положении виртуальной границы, переносимой в данных расширения, при этом информация о положении виртуальной границы предназначена для указания положения виртуальной границы, а виртуальная граница предназначена по меньшей мере для различения обновляемой области от необновляемой области в текущем кадре; и определение того, поддерживает ли текущий кадр технологию адаптивного внутреннего обновления, на основе информации о положении виртуальной границы.
[05] На основе описанного выше способа в одной реализации способ также включает: если в данных расширения в битовом потоке текущего кадра нет идентификатора расширения видео с адаптивным внутренним обновлением, определение того, что текущий кадр не поддерживает технологию адаптивного внутреннего обновления.
[06] На основе описанного выше способа в одной реализации информация о положении виртуальной границы включает первую информацию о положении виртуальной границы и вторую информацию о положении виртуальной границы; при этом первая информация о положении виртуальной границы предназначена для указания положения пикселей виртуальной границы в горизонтальном направлении текущего кадра, а вторая информация о положении виртуальной границы предназначена для указания положения пикселей виртуальной границы в вертикальном направлении текущего кадра.
[07] На основе описанного выше способа в одной реализации первая информация о положении виртуальной границы представляет собой х-координату виртуальной границы в горизонтальном направлении текущего кадра, а вторая информация о положении виртуальной границы представляет собой y-координату виртуальной границы в вертикальном направлении текущего кадра; обновляемая область относится к прямоугольной области с координатами (0, 0) верхнего левого угла изображения в качестве начала координат, шириной, равной упомянутой х-координате, и высотой, равной упомянутой y-координате, а необновляемая область относится к другим областям в текущем кадре, отличным от обновляемой области.
[08] На основе описанного выше способа в одной реализации определение того, поддерживает ли текущий кадр технологию адаптивного внутреннего обновления, на основе информации о положении виртуальной границы включает: если значение первой информации о положении виртуальной границы и значение второй информации о положении виртуальной границы оба больше 0, определение того, что текущий кадр поддерживает технологию адаптивного внутреннего обновления; если значение первой информации о положении виртуальной границы равно 0 и/или значение второй информации о положении виртуальной границы равно 0, определение того, что текущий кадр не поддерживает технологию адаптивного внутреннего обновления.
[09] На основе описанного выше способа в одной реализации способ также включает: если текущий кадр поддерживает технологию адаптивного внутреннего обновления, а предыдущий кадр для текущего кадра в порядке декодирования не поддерживает технологию адаптивного внутреннего обновления, определение того, что текущий кадр является точкой произвольного доступа. То, что предыдущий кадр не поддерживает технологию адаптивного внутреннего обновления, включает следующее: отсутствует идентификатор расширения видео с адаптивным внутренним обновлением в данных расширения предыдущего кадра; или имеется идентификатор расширения видео с адаптивным внутренним обновлением в данных расширения предыдущего кадра, и значение первой информации о положении виртуальной границы предыдущего кадра равно 0, и/или значение второй информации о положении виртуальной границы предыдущего кадра равно 0.
[10] На основе описанного выше способа в одной реализации способ также включает: если определено, что текущий кадр поддерживает технологию адаптивного внутреннего обновления, и определено, что положение пикселей виртуальной границы равно или превышает правую границу текущего кадра, на основе первой информации о положении виртуальной границы текущего кадра, и что положение пикселей виртуальной границы равно или превышает нижнюю границу текущего кадра, на основе второй информации о положении виртуальной границы текущего кадра, определение того, что текущий кадр является точкой восстановления произвольного доступа.
[11] На основе описанного выше способа в одной реализации точность первой информации о положении виртуальной границы равна ширине наибольшей единицы кодирования (LCU, Largest Coding Unit), а точность второй информации о положении виртуальной границы равна высоте LCU.
[12] На основе описанного выше способа в одной реализации, когда текущий кадр используется для произвольного доступа, перед декодированием текущего кадра способ также включает: получение действительного заголовка последовательности и декодирование текущего кадра на основе информации, содержащейся в заголовке последовательности.
[13] В другом аспекте предоставляется способ кодирования на основе механизма адаптивного внутреннего обновления, включающий: определение того, поддерживает ли текущий кадр технологию адаптивного внутреннего обновления; если текущий кадр поддерживает технологию адаптивного внутреннего обновления, передачу идентификатора (ID) расширения видео с адаптивным внутренним обновлением и информации о положении виртуальной границы текущего кадра в данных расширения текущего кадра, при этом информация о положении виртуальной границы предназначена для указания положения виртуальной границы, а виртуальная граница предназначена по меньшей мере для различения обновляемой области от необновляемой области в текущем кадре.
[14] На основе описанного выше способа в одной реализации информация о положении виртуальной границы включает первую информацию о положении виртуальной границы и вторую информацию о положении виртуальной границы; первая информация о положении виртуальной границы предназначена для указания положения пикселей виртуальной границы в горизонтальном направлении текущего кадра, а вторая информация о положении виртуальной границы предназначена для указания положения пикселей виртуальной границы в вертикальном направлении текущего кадра.
[15] На основе описанного выше способа в одной реализации первая информация о положении виртуальной границы представляет собой х-координату виртуальной границы в горизонтальном направлении текущего кадра, а вторая информация о положении виртуальной границы представляет собой y-координату виртуальной границы в вертикальном направлении текущего кадра; обновляемая область относится к прямоугольной области с координатами (0, 0) верхнего левого угла изображения в качестве начала координат, шириной, равной упомянутой х-координате, и высотой, равной упомянутой y-координате, а необновляемая область относится к другим областям в текущем кадре, отличным от обновляемой области.
[16] На основе описанного выше способа в одной реализации, если текущий кадр не поддерживает технологию адаптивного внутреннего обновления, идентификатор расширения видео с адаптивным внутренним обновлением не передают в данных расширения текущего кадра; или идентификатор расширения видео с адаптивным внутренним обновлением передают в данных расширения текущего кадра, при этом значение первой информации о положении виртуальной границы, переносимой в данных расширения текущего кадра, равно 0, и/или значение второй информации о положении виртуальной границы, переносимой в данных расширения текущего кадра, равно 0.
[17] На основе описанного выше способа в одной реализации, если текущий кадр поддерживает технологию адаптивного внутреннего обновления, значение первой информации о положении виртуальной границы и значение второй информации о положении виртуальной границы, переносимых в данных расширения текущего кадра, оба больше 0.
[18] На основе описанного выше способа в одной реализации способ также включает: если текущий кадр является точкой произвольного доступа, определение того, что текущий кадр поддерживает технологию адаптивного внутреннего обновления и что предыдущий кадр для текущего кадра в порядке кодирования не поддерживает технологию адаптивного внутреннего обновления.
[19] На основе описанного выше способа в одной реализации способ также включает: если текущий кадр является точкой восстановления произвольного доступа, определение того, что текущий кадр поддерживает технологию адаптивного внутреннего обновления и что положение пикселей виртуальной границы, указанное посредством первой информации о положении виртуальной границы, равно или превышает правую границу текущего кадра, а положение пикселей виртуальной границы, указанное второй информацией о положении виртуальной границы, равно или превышает нижнюю границу текущего кадра.
[20] На основе описанного выше способа в одной реализации точность первой информации о положении виртуальной границы равна ширине наибольшей единицы кодирования (LCU), а точность второй информации о положении виртуальной границы равна высоте LCU.
[21] В еще одном аспекте предусмотрено устройство декодирования, содержащее: модуль приема, сконфигурированный для приема битового потока текущего кадра; и модуль обработки, выполненный с возможностью, если в битовом потоке текущего кадра имеются данные расширения и данные расширения содержат идентификатор (ID) расширения видео с адаптивным внутренним обновлением, получать информацию о положении виртуальной границы, переносимую в данных расширения, при этом информация о положении виртуальной границы предназначена для указания положения виртуальной границы, а виртуальная граница предназначена по меньшей мере для различения обновляемой области от необновляемой области в текущем кадре; модуль обработки также сконфигурирован для определения того, поддерживает ли текущий кадр технологию адаптивного внутреннего обновления, на основе информации о положении виртуальной границы.
[22] На основе описанного выше устройства в одной реализации модуль обработки также выполнен с возможностью, если в данных расширения в битовом потоке текущего кадра нет идентификатора расширения видео с адаптивным внутренним обновлением, определять, что текущий кадр не поддерживает технологию адаптивного внутреннего обновления.
[23] На основе описанного выше устройства в одной реализации информация о положении виртуальной границы включает первую информацию о положении виртуальной границы и вторую информацию о положении виртуальной границы. Первая информация о положении виртуальной границы предназначена для указания положения пикселей виртуальной границы в горизонтальном направлении текущего кадра, а вторая информация о положении виртуальной границы предназначена для указания положения пикселей виртуальной границы в вертикальном направлении текущего кадра.
[24] На основе приведенного выше устройства в одной реализации первая информация о положении виртуальной границы представляет собой х-координату виртуальной границы в горизонтальном направлении текущего кадра, а вторая информация о положении виртуальной границы представляет собой y-координату виртуальной границы в вертикальном направлении текущего кадра. Обновляемая область относится к прямоугольной области с координатами (0, 0) верхнего левого угла изображения в качестве начала координат, шириной, равной упомянутой х-координате, и высотой, равной упомянутой у-координате. Необновляемая область относится к другим областям в текущем кадре, отличным от обновляемой области.
[25] На основе описанного выше устройства в одной реализации модуль обработки выполнен с возможностью, если значение первой информации о положении виртуальной границы и значение второй информации о положении виртуальной границы оба больше 0, определять, что текущий кадр поддерживает технологию адаптивного внутреннего обновления; если значение первой информации о положении виртуальной границы равно 0 и/или значение второй информации о положении виртуальной границы равно 0, определять, что текущий кадр не поддерживает технологию адаптивного внутреннего обновления.
[26] На основе описанного выше устройства в одной реализации модуль обработки также выполнен с возможностью, если текущий кадр поддерживает технологию адаптивного внутреннего обновления, а предыдущий кадр для текущего кадра в порядке декодирования не поддерживает технологию адаптивного внутреннего обновления, определять, что текущий кадр является точкой произвольного доступа. То, что предыдущий кадр не поддерживает технологию адаптивного внутреннего обновления, включает следующее: отсутствует идентификатор расширения видео с адаптивным внутренним обновлением в данных расширения предыдущего кадра; или в данных расширения предыдущего кадра имеется идентификатор расширения видео с адаптивным внутренним обновлением, и значение первой информации о положении виртуальной границы предыдущего кадра равно 0, и/или значение второй информации о положении виртуальной границы предыдущего кадра равно 0.
[27] На основе описанного выше устройства в одной реализации модуль обработки также выполнен с возможностью, если определено, что текущий кадр поддерживает технологию адаптивного внутреннего обновления, и определено, что положение пикселей виртуальной границы равно или превышает правую границу текущего кадра, на основе первой информации о положении виртуальной границы текущего кадра, и что положение пикселей виртуальной границы равно или превышает нижнюю границу текущего кадра, на основе второй информации о положении виртуальной границы текущего кадра, определять, что текущий кадр является точкой восстановления произвольного доступа.
[28] На основе описанного выше устройства в одной реализации точность первой информации о положении виртуальной границы равна ширине наибольшей единицы кодирования (LCU), а точность второй информации о положении виртуальной границы равна высоте LCU.
[29] На основе описанного выше устройства в одной реализации модуль обработки также выполнен с возможностью, если текущий кадр используется для произвольного доступа, получать действительный заголовок последовательности перед декодированием текущего кадра; и декодировать текущий кадр на основе информации, содержащейся в заголовке последовательности.
[30] В еще одном аспекте предусмотрено устройство кодирования, содержащее: модуль кодирования, сконфигурированный для определения того, поддерживает ли текущий кадр технологию адаптивного внутреннего обновления. Модуль кодирования также выполнен с возможностью, если текущий кадр поддерживает технологию адаптивного внутреннего обновления, передавать идентификатор (ID) расширения видео с адаптивным внутренним обновлением и информацию о положении виртуальной границы текущего кадра в данных расширения текущего кадра, при этом информация о положении виртуальной границы предназначена для указания положения виртуальной границы, а виртуальная граница предназначена по меньшей мере для различения обновляемой области от необновляемой области в текущем кадре.
[31] На основе описанного выше устройства в одной реализации информация о положении виртуальной границы включает первую информацию о положении виртуальной границы и вторую информацию о положении виртуальной границы. Первая информация о положении виртуальной границы предназначена для указания положения пикселей виртуальной границы в горизонтальном направлении текущего кадра, а вторая информация о положении виртуальной границы предназначена для указания положения пикселей виртуальной границы в вертикальном направлении текущего кадра.
[32] На основе приведенного выше устройства в одной реализации первая информация о положении виртуальной границы представляет собой х-координату виртуальной границы в горизонтальном направлении текущего кадра, а вторая информация о положении виртуальной границы представляет собой y-координату виртуальной границы в вертикальном направлении текущего кадра. Обновляемая область относится к прямоугольной области с координатами (0, 0) верхнего левого угла изображения в качестве начала координат, шириной, равной упомянутой х-координате, и высотой, равной упомянутой у-координате. Необновляемая область относится к другим областям в текущем кадре, отличным от обновляемой области.
[33] На основе описанного выше устройства в одной реализации модуль кодирования также выполнен с возможностью, если текущий кадр не поддерживает технологию адаптивного внутреннего обновления, не передавать идентификатор расширения видео с адаптивным внутренним обновлением в данных расширения текущего кадра; или передавать идентификатор расширения видео с адаптивным внутренним обновлением в данных расширения текущего кадра, при этом значение первой информации о положении виртуальной границы, переносимой в данных расширения текущего кадра, равно 0, и/или значение второй информации о положении виртуальной границы, переносимой в данных расширения текущего кадра, равно 0.
[34] На основе описанного выше устройства в одной реализации, если текущий кадр поддерживает технологию адаптивного внутреннего обновления, значение первой информации о положении виртуальной границы и значение второй информации о положении виртуальной границы, переносимых в данных расширения текущего кадра, оба больше 0.
[35] На основе описанного выше устройства в одной реализации модуль кодирования также выполнен с возможностью, если текущий кадр является точкой произвольного доступа, определять, что текущий кадр поддерживает технологию адаптивного внутреннего обновления и что предыдущий кадр для текущего кадра в порядке кодирования не поддерживает технологию адаптивного внутреннего обновления.
[36] На основе описанного выше устройства в одной реализации модуль кодирования также выполнен с возможностью, если текущий кадр является точкой восстановления произвольного доступа, определять, что текущий кадр поддерживает технологию адаптивного внутреннего обновления и что положение пикселей виртуальной границы, указанное первой информацией о положении виртуальной границы, равно или превышает правую границу текущего кадра, а положение пикселей виртуальной границы, указанное второй информацией о положении виртуальной границы, равно или превышает нижнюю границу текущего кадра.
[37] На основе описанного выше устройства в одной реализации точность первой информации о положении виртуальной границы равна ширине наибольшей единицы кодирования (LCU), а точность второй информации о положении виртуальной границы равна высоте LCU.
[38] В еще одном аспекте предусмотрено устройство декодирования, которое содержит процессор и память, сконфигурированную для хранения инструкций, исполняемых процессором; при этом процессор сконфигурирован для выполнения любого из этапов способа декодирования на основе механизма адаптивного внутреннего обновления, описанного выше.
[39] В еще одном аспекте предусмотрено устройство кодирования, которое содержит процессор и память, сконфигурированную для хранения инструкций, исполняемых процессором; при этом процессор сконфигурирован для выполнения любого из этапов способа кодирования на основе механизма адаптивного внутреннего обновления, описанного выше.
[40] В еще одном аспекте предоставлен машиночитаемый носитель данных, хранящий инструкции, которые при выполнении процессором осуществляют любой из этапов способа декодирования на основе механизма адаптивного внутреннего обновления или способа кодирования на основе механизма адаптивного внутреннего обновления, описанных выше.
[41] В еще одном аспекте предоставляется компьютерный программный продукт, содержащий инструкции, которые при выполнении на компьютере обеспечивают осуществление компьютером любого из этапов способа декодирования на основе механизма адаптивного внутреннего обновления или способа кодирования на основе адаптивного механизма внутреннего обновления, описанных выше.
[42] Преимущества технического решения вариантов осуществления настоящего раскрытия по меньшей мере включают следующее: идентификатор расширения видео с адаптивным внутренним обновлением и информацию о положении виртуальной границы добавляют в данные расширения в битовом потоке текущего кадра. Поскольку информация о положении виртуальной границы может указывать положение виртуальной границы, а виртуальная граница по меньшей мере используется для различения обновляемой области от необновляемой области в текущем кадре, сторона кодирования может произвольно установить виртуальную границу на основе фактических требований при отделении области обновления текущего кадра. Положение виртуальной границы может быть указано посредством информации о положении виртуальной границы, что повышает гибкость отделения области обновления. То есть вариант осуществления настоящего раскрытия обеспечивает механизм адаптивного внутреннего обновления, который адаптивно отделяет область обновления посредством данных расширения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[43] Чтобы более ясно описать техническое решение в вариантах осуществления настоящего раскрытия, ниже будут кратко представлены сопровождающие чертежи вариантов осуществления. Очевидно, что чертежи в последующем описании являются лишь некоторыми примерами настоящего раскрытия. Специалистами в данной области техники могут быть получены другие чертежи на основе этих чертежей без выполнения творческой работы.
[44] Фиг. 1 представляет собой схематическую диаграмму, иллюстрирующую механизм внутреннего обновления согласно варианту осуществления настоящего раскрытия.
[45] Фиг. 2 представляет собой схематическую диаграмму, иллюстрирующую последовательность действий после применения механизма внутреннего обновления в соответствии с вариантом осуществления настоящего раскрытия.
[46] Фиг. 3 представляет собой схематическую диаграмму, иллюстрирующую последовательность действий после применения механизма внутреннего обновления в соответствии с вариантом осуществления настоящего раскрытия.
[47] Фиг. 4 представляет собой блок-схему, иллюстрирующую способ кодирования на основе механизма адаптивного внутреннего обновления согласно варианту осуществления настоящего раскрытия.
[48] Фиг. 5 представляет собой схематическую диаграмму, иллюстрирующую распределение областей кадра внутреннего обновления в механизме адаптивного внутреннего обновления согласно варианту осуществления настоящего раскрытия.
[49] Фиг. 6 представляет собой блок-схему, иллюстрирующую способ декодирования на основе механизма адаптивного внутреннего обновления согласно варианту осуществления настоящего раскрытия.
[50] Фиг. 7 представляет собой структурную схему, иллюстрирующую устройство декодирования согласно варианту осуществления настоящего раскрытия.
[51] Фиг. 8 представляет собой структурную схему, иллюстрирующую устройство кодирования согласно варианту осуществления настоящего раскрытия.
[52] Фиг. 9 представляет собой структурную схему, иллюстрирующую терминал в соответствии с вариантом осуществления настоящего раскрытия.
ПОДРОБНОЕ ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
[53] Для пояснения цели, технического решения и преимуществ вариантов осуществления настоящего раскрытия, варианты осуществления настоящего раскрытия будут далее подробно описаны со ссылкой на прилагаемые чертежи.
[54] Перед описанием способов, предусмотренных вариантами осуществления настоящего раскрытия, сначала будут описаны сценарии приложений, задействованные в вариантах осуществления настоящего раскрытия.
[55] При кодировании и декодировании видео изображение (кадр), используемое в качестве базового опорного изображения, называется I-изображением, которое также называется ключевым кадром. При кодировании I-изображения степень сжатия очень низкая, так что I-изображение может быть непосредственно декодировано на основе битового потока I-изображения во время последующего декодирования, что устраняет необходимость обращения к другим изображениям. Во время кодирования изображение, которое кодируется на основе разницы между предыдущим изображением и текущим изображением, называется Р-изображением. Битовый поток кодированного Р-изображения переносит разницу между предыдущим изображением и текущим изображением, так что текущее изображение может быть декодировано на основе I-изображения, декодированного предыдущего изображения и разницы в битовом потоке во время последующего декодирования. Кроме того, при кодировании изображение, которое кодируется на основе разницы между предыдущим изображением и текущим изображением, а также разницы между текущим изображением и следующим изображением, называется В-изображением. Битовый поток кодированного В-изображения переносит разницу между предыдущим изображением и текущим изображением, а также разницу между текущим изображением и следующим изображением, так что текущее изображение может быть декодировано на основе I-изображения, декодированного предыдущего изображения и следующего изображения, и разницы в битовом потоке при последующем декодировании. Последовательность, состоящая из одного I-изображения и нескольких В-изображений или нескольких Р-изображений после кодирования, называется последовательностью изображений (последовательностью). Эта последовательность также называется последовательностью IPPP или IBBB.
[56] Когда сторона декодирования осуществляет доступ к последовательности IPPP или IBBB посредством произвольного доступа, битовая скорость 1-изображения обычно намного выше, чем битовая скорость Р-изображения или В-изображения, поэтому время декодирования I-изображения больше, чем время декодирования Р-изображения или В-изображения. Особенно в слабых сетевых средах для декодирования 1-изображения требуется больше времени, что может привести к зависанию видео.
[57] Чтобы избежать зависания видео, вызванного длительным временем, необходимым для декодирования I-изображения, в настоящее время в данной области техники предусмотрен механизм внутреннего обновления. Основная идея механизма внутреннего обновления состоит в том, чтобы распределить битовую скорость I-изображения на несколько Р-изображений, режим кодирования небольшой области каждого Р-изображения является режимом принудительного внутреннего кодирования, а другим областям разрешено использовать режим внешнего кодирования, и, наконец, битовая скорость каждого Р-изображения намного меньше, чем у исходного I-изображения. В то же время необходимо, чтобы в механизме внутреннего обновления области принудительного внутреннего кодирования разных Р-изображений не пересекались друг с другом, чтобы после нескольких Р-изображений вся область изображения могла быть обновлена на основе режима принудительного внутреннего кодирования.
[58] Для упрощения последующего объяснения далее будет подробно описан принцип механизма внутреннего обновления.
[59] Фиг. 1 представляет собой схематическую диаграмму механизма внутреннего обновления согласно варианту осуществления настоящего раскрытия. Механизм внутреннего обновления на фиг.1 состоит в том, чтобы распределить битовую скорость I-изображения на четыре Р-изображения, каждое из которых имеет область принудительного внутреннего кодирования. Область, отмеченная является областью принудительного внутреннего кодирования. Область, отмеченная является обновляемой областью предыдущего кадра в порядке кодирования, и ей разрешено использовать режим внешнего кодирования, поэтому эта область также называется областью внешнего кодирования текущего кадра. Область, отмеченная является необновляемой областью, и этой области разрешено использовать режим внешнего кодирования.
[60] Как показано на фиг. 1, полное изображение разделено на четыре области принудительного внутреннего кодирования, а период обновления включает четыре кадра внутреннего обновления, которые соответственно представляют собой четыре изображения слева направо на фиг. 1. Для первого изображения в периоде обновления изображение включает область внутреннего обновления и необновляемую область. Поскольку первое изображение является первым изображением в периоде обновления, обновляемая область в первом изображении включает только область принудительного внутреннего кодирования в текущем изображении. Для второго изображения в периоде обновления изображение включает обновляемую область в первом изображении, область внутреннего обновления и необновляемую область. Обновляемая область первого изображения, включенная во второе изображение, и область внутреннего обновления, включенная в текущее изображение, совместно называются обновляемой областью второго изображения. Для третьего изображения в периоде обновления изображение включает обновляемую область во втором изображении, область внутреннего обновления и необновляемую область. Обновляемая область второго изображения, включенная в третье изображение, и область внутреннего обновления, включенная в текущее изображение, совместно называются обновляемой областью третьего изображения. Для четвертого изображения в периоде обновления изображение включает область обновления в третьем изображении и область внутреннего обновления. Обновляемая область третьего изображения, включенная в четвертое изображение, и область внутреннего обновления, включенная в текущее изображение, совместно называются обновляемой областью четвертого изображения. Из-за предыдущего разделения полного изображения на четыре области принудительного внутреннего кодирования, на четвертом изображении нет необновляемой области.
[61] Кроме того, необновляемая область также упоминается как грязная область. Обновляемая область предыдущего кадра и область принудительного внутреннего кодирования текущего кадра в порядке кодирования также могут совместно называться чистой областью текущего кадра. Граница между грязной областью и чистой областью может быть границей на фиг. 1. Виртуальная граница, используемая в вариантах осуществления настоящего раскрытия, также является границей, используемой для различения чистой области от грязной области, но способ установки границы является более гибким, при этом может использоваться ломаная линия, не ограниченная вертикальной границей. В вариантах осуществления настоящего раскрытия для любого кадра внутреннего обновления виртуальная граница между обновляемой и необновляемой областями кадра внутреннего обновления относится к границе между обновляемой и необновляемой областями, которая также является границей между чистой и грязной областями кадра внутреннего обновления.
[62] Фиг. 2 представляет собой схематическую диаграмму, иллюстрирующую последовательность действий после применения механизма внутреннего обновления в соответствии с вариантом осуществления настоящего раскрытия. Как показано на фиг. 2, четыре кадра I2 (I-изображение), Р8 (Р-изображение), Р9 (Р-изображение) и Р10 (Р-изображение) в исходной последовательности изображений (называемой исходной последовательностью на фиг. 2) заменены четырьмя кадрами внутреннего обновления, которые помечены как X1, Х2, Х3 и Х4, и получают последовательность, основанную на механизме внутреннего обновления (называемую последовательностью внутреннего обновления на фиг. 2). Каждый из этих четырех кадров внутреннего обновления имеет область принудительного внутреннего кодирования, а другим областям разрешено использовать режим внешнего кодирования. Следовательно, эти четыре кадра внутреннего обновления можно рассматривать как четыре «больших Р-изображения» с битовой скоростью приблизительно 1/4 от исходного кадра I2. Кроме того, эти четыре кадра внутреннего обновления также могут для краткости называться кадрами IR.
[63] В последовательности, показанной на фиг. 2, в режиме произвольного доступа предполагается, что кадр I2 в исходной последовательности является точкой произвольного доступа, и кадры после кадра I2 могут быть декодированы независимо, поэтому кадр Р8 может ссылаться только на кадр I2, но не на кадр Р7. Однако в последовательности, основанной на механизме внутреннего обновления (называемой последовательностью внутреннего обновления на фиг. 2), кадр X1 представляет собой точку произвольного доступа, а область внешнего кодирования в необновляемой области кадра X1 может ссылаться на кадр Р7, но он может быть неправильно декодирован (поскольку кадр Р7 может быть не получен во время произвольного доступа). Точно так же необновляемые области кадров Х2 и Х3 могут быть декодированы неправильно. Когда все кадры от X1 до Х4 будут обновлены, кадр Х4 без необновляемой области может быть полностью и правильно декодирован. Это связано с тем, что в это время области внешнего кодирования в обновляемой области кадра Х4 могут быть декодированы на основе битового потока областей принудительного внутреннего кодирования кадров с X1 по Х3, а область принудительного внутреннего кодирования в обновляемой области кадра Х4 может быть получена на основе режима принудительного внутреннего декодирования. Следовательно, кадры X1, Х2, Х3 и Х4 на фиг. 2 представляют собой период обновления, в течение которого только последний кадр может быть полностью и правильно декодирован, поэтому этот кадр называется точкой восстановления.
[64] Следует отметить, что в случае произвольного доступа пользователям будет отображаться только точка восстановления и ее последующие изображения. Другие изображения в периоде обновления, к которому принадлежит точка произвольного доступа, не будут отображаться, поскольку они могут быть неправильно декодированы. В случае неиспользования произвольного доступа все изображения могут быть полностью и корректно декодированы, поэтому пользователям будут отображаться все изображения.
[65] Кроме того, для обеспечения функции декодирования битового потока, кодированного на основе механизма внутреннего обновления, текущий механизм внутреннего обновления ограничивает режим внутреннего/внешнего кодирования и контурную фильтрацию в режиме декодирования следующим образом.
[66] Условие 1: Для любого кадра внутреннего обновления блоки обновляемой области кадра внутреннего обновления могут быть декодированы только путем обращения к обновляемым областям других кадров внутреннего обновления в том же периоде обновления и не могут быть декодированы путем обращения к необновляемым областям других кадров внутреннего обновления. В механизме предсказания временного вектора движения (TMVP, temporal motion vector prediction) совмещенный блок текущего блока в опорном кадре не может попасть в необновляемую область опорного кадра, при этом совмещенный блок ссылается на блок изображения в том же положении, что и у текущего блока в системе отсчета. То есть область, на которую указывает информация о векторе движения (MV, motion vector) блока изображения текущего изображения, не может попасть в необновляемую область опорного кадра. Следует отметить, что в вариантах осуществления настоящего изобретения текущий блок и текущий блок изображения являются одним и тем же понятием. Для удобства описания текущий блок изображения может быть просто назван текущим блоком.
[67] Условие 2: Для любого кадра внутреннего обновления нет ограничения на ссылку при декодировании блоков необновляемой области кадра внутреннего обновления.
[68] Условие 3: Для изображения в последовательности, которое не является кадром внутреннего обновления, допускается декодирование блоков изображения путем обращения к обновляемым областям кадров внутреннего обновления в период произвольного доступа, к которому принадлежит кадр, но не допускается декодирование путем обращения к необновляемым областям кадров внутреннего обновления в период произвольного доступа, к которому принадлежит кадр. В механизме TMVP совмещенный блок текущего блока в опорном кадре не может попасть в необновляемую область опорного кадра.
[69] Условие 4. Для любого кадра внутреннего обновления контурная фильтрация не может пересекать границу между обновляемой и необновляемой областями кадра внутреннего обновления, что означает, что операции контурной фильтрации не выполняются на виртуальной границе между обновляемой и необновляемой областями.
[70] В настоящее время технология постепенного обновления декодирования (GDR, gradual decoding refresh) в стандарте универсального кодирования видео (VVC, versatile video coding) обеспечивает механизм внутреннего обновления. Конкретное содержание механизма внутреннего обновления выглядит следующим образом.
[71] Во-первых, обновляемая область и необновляемая область разделены вертикальным разделением. В режиме вертикального разделения виртуальная граница между обновляемой и необновляемой областями представляет собой разделительную линию, параллельную оси Y в системе координат изображения. Граница раздела выравнивается по ширине и высоте наименьшей единицы кодирования (CU, coding unit) (наименьшая CU равна 8 пикселям), то есть ширина обновляемой области является целым числом, кратным ширине наименьшей CU, а высота обновляемой области представляет собой высоту изображения кадра внутреннего обновления.
[72] Во-вторых, области принудительного внешнего кодирования различных кадров внутреннего обновления делятся поровну, и ширина области принудительного внешнего кодирования равна общей ширине периода изображения/обновления. Периодом обновления называется количество кадров внутреннего обновления, необходимых для правильного декодирования для получения полного изображения. Например, период обновления на фиг. 3 равен 6. Период обновления может быть сконфигурирован стороной кодирования, например, сторона кодирования может установить период обновления посредством параметра заголовка изображения (например, recovery_poc_cnt) битового потока кадра внутреннего обновления. Для последовательности, показанной на фиг. 3, можно установить recovery_poc_cnt=6, указывая, что период обновления, к которому принадлежит кадр внутреннего обновления, равен 6. Кроме того, порядок обновления по умолчанию слева направо, что не нужно явно указывать в битовом потоке. Сторона декодирования по умолчанию декодирует каждый кадр внутреннего обновления в порядке обновления слева направо.
[73] Кроме того, для любого изображения сторона кодирования также может определить, является ли текущее изображение кадром внутреннего обновления, на основе параметра заголовка изображения (например, gdr_pic_flag) битового потока изображения. Например, когда gdr_pic_flag=l, это указывает на то, что текущее изображение является кадром внутреннего обновления, а когда gdr_pic flag=0, это указывает на то, что текущее изображение не является кадром внутреннего обновления.
[74] Кроме того, механизм внутреннего обновления в стандарте VCC также включает четыре указанных выше ограничения, а именно от условия 1 до условия 4, которые здесь подробно не описываются.
[75] Способ отделения областей принудительного внутреннего кодирования в механизме внутреннего обновления в вышеупомянутом стандарте VCC недостаточно гибок, и области принудительного внутреннего кодирования могут быть только равноотстоящими областями в виде вертикальных полос, что не позволяет адаптивно отделять области на основе содержимого изображения. Кроме того, поскольку механизм внутреннего обновления в стандарте VCC не допускает контурной фильтрации через виртуальную границу между обновляемой и необновляемой областями, качество изображения на виртуальной границе является низким.
[76] Основываясь на описанных выше проблемах механизма внутреннего обновления в стандарте VCC, вариант осуществления настоящего раскрытия обеспечивает способ кодирования и декодирования на основе механизма адаптивного внутреннего обновления. Этот способ обеспечивает более гибкий способ отделения областей принудительного внутреннего кодирования, который конфигурируется на стороне кодирования. С одной стороны, способ, предусмотренный в варианте осуществления настоящего раскрытия, позволяет адаптивно разделять обновляемую область и необновляемую область на основе содержимого изображения, что повышает гибкость отделения областей принудительного внутреннего кодирования. Кроме того, можно сделать так, чтобы виртуальная граница между обновляемой и необновляемой областями максимально совпадала с границей объекта на изображении, что позволяет избежать влияния на качество декодированного изображения невозможности выполнения контурной фильтрации на виртуальной границе.
[77] Поскольку способ, предусмотренный в варианте осуществления настоящего раскрытия, может адаптивно разделять обновляемую область и необновляемую область на основе содержимого изображения, кадр внутреннего обновления, используемый в варианте осуществления настоящего раскрытия, также может упоминаться как кадр адаптивного внутреннего обновления. Для удобства описания кадр адаптивного внутреннего обновления, используемый в варианте осуществления настоящего раскрытия, будет называться кадром внутреннего обновления или кадром обновления.
[78] Способ кодирования и декодирования на основе механизма адаптивного внутреннего обновления, предусмотренный вариантом осуществления настоящего раскрытия, будет подробно описан ниже.
[79] Фиг. 4 представляет собой блок-схему, иллюстрирующую способ кодирования на основе механизма адаптивного внутреннего обновления согласно варианту осуществления настоящего изобретения. Как показано на фиг. 4, этот способ включает следующие этапы.
[80] Этап 401: сторона кодирования определяет, поддерживает ли текущий кадр (изображение) технологию адаптивного внутреннего обновления.
[81] Обычно существует сценарий произвольного доступа во время доступа пользователя к видео. В сценарии произвольного доступа, поскольку сторона декодирования не получает битовый поток до точки произвольного доступа, стороне декодирования необходимо выполнять декодирование на основе битового потока после точки произвольного доступа. В этом сценарии для достижения правильного декодирования на стороне декодирования необходимо, чтобы битовый поток после точки произвольного доступа поддерживал технологию адаптивного внутреннего обновления.
[82] На основе описанного выше сценария сторона кодирования может определить, поддерживает ли текущий кадр технологию адаптивного внутреннего обновления, следующим образом. Если текущий кадр является точкой произвольного доступа, определяют, что текущий кадр поддерживает технологию адаптивного внутреннего обновления, но предыдущий кадр в порядке кодирования не поддерживает технологию адаптивного внутреннего обновления. Если текущий кадр является точкой восстановления произвольного доступа, определяют, что текущий кадр поддерживает технологию адаптивного внутреннего обновления. Если текущий кадр представляет собой любое изображение между точкой произвольного доступа и точкой восстановления произвольного доступа, определяют, что текущий кадр поддерживает технологию адаптивного внутреннего обновления.
[83] Когда текущий кадр поддерживает технологию адаптивного внутреннего обновления, стороне кодирования необходимо определить обновляемую и необновляемую области в текущем кадре, чтобы при последующем кодировании битового потока текущего кадра сторона кодирования могла кодировать информацию о положении виртуальной границы, которая указывает положение виртуальной границы, разделяющей обновляемую область от необновляемой области в текущем кадре в битовом потоке.
[84] Для простоты понимания здесь описывается виртуальная граница, предусмотренная в варианте осуществления настоящего раскрытия.
[85] Виртуальная граница может быть линией границы обновляемой области в текущем кадре, линией границы необновляемой области в текущем кадре или разделительной линией между разделенными обновляемой и необновляемой областями. Примеры этих трех виртуальных границ по существу одинаковы.
[86] Виртуальная граница, являющаяся разделительной линией между разделенными обновляемой и необновляемой областями, в качестве примера проиллюстрирована в последующих вариантах осуществления изобретения. То есть информация о положении виртуальной границы может указывать положение виртуальной границы между обновляемой и необновляемой областями в текущем кадре. Положение виртуальной границы может конкретно включать положение виртуальной границы в горизонтальном направлении текущего кадра и положение виртуальной границы в вертикальном направлении текущего кадра.
[87] Однако следует отметить, что виртуальная граница в решении с адаптивным внутренним обновлением, обеспечиваемом вариантом осуществления настоящего раскрытия, не ограничивается приведенным выше описанием, и виртуальная граница может быть любым из трех указанных выше примеров виртуальной границы.
[88] Этап 402: если текущий кадр поддерживает технологию адаптивного внутреннего обновления, сторона кодирования передает идентификатор (ID) расширения видео с адаптивным внутренним обновлением и информацию о положении виртуальной границы текущего кадра в данных расширения текущего кадра, при этом информация о положении виртуальной границы предназначена для указания положения виртуальной границы, а виртуальная граница предназначена по меньшей мере для различения обновляемой области от необновляемой области в текущем кадре.
[89] Следует отметить, что данные расширения относятся к сегменту данных между заголовком изображения и данными изображения в кодированном битовом потоке текущего кадра. В некоторых стандартах данные расширения также называются дополнительной информацией расширения (SEI, supplemental enhancement information).
[90] В настоящее время в данных расширения может быть указано множество идентификаторов расширения видео, и после каждого идентификатора расширения видео могут быть указаны некоторые параметры декодирования. Следовательно, в варианте осуществления настоящего раскрытия новая метка расширения видео может быть указана в данных расширения, и метка расширения расширенного видео может называться идентификатором расширения видео с адаптивным внутренним обновлением. Идентификатор расширения видео с адаптивным внутренним обновлением используется для уведомления стороны декодирования о том, что данные расширения также содержат параметры, относящиеся к положению виртуальной границы (то есть информацию о положении виртуальной границы), чтобы сторона декодирования могла определить, поддерживает ли текущий кадр механизм адаптивного внутреннего обновления, а затем декодировать битовый поток текущего кадра на основе информации о положении виртуальной границы.
[91] Таблица 1 представляет собой схематическую таблицу синтаксических элементов данных расширения согласно варианту осуществления настоящего раскрытия. Как показано в Таблице 1, идентификатор расширения расширенного видео с адаптивным внутренним обновлением в варианте осуществления настоящего раскрытия равен «1110». В этом сценарии данные расширения также включают поле «air_parameters_extension», которое используется для указания параметров, связанных с положением виртуальной границы.
[92] Следует отметить, что Таблица 1 является только примером синтаксических элементов данных расширения, предоставленных вариантом осуществления настоящего раскрытия, и конкретное представление этих синтаксических элементов не ограничивается вариантом осуществления настоящего изобретения. Кроме того, интерпретация других синтаксических элементов в Таблице 1 может относиться к соответствующим стандартам, которые не ограничены вариантом осуществления настоящего изобретения.
[93] В одной реализации информация о положении виртуальной границы может включать первую информацию о положении виртуальной границы и вторую информацию о положении виртуальной границы. Первая информация о положении виртуальной границы используется для указания положения пикселей виртуальной границы в горизонтальном направлении текущего кадра, а вторая информация о положении виртуальной границы используется для указания положения пикселей виртуальной границы в вертикальном направлении текущего кадра.
[94] В этом случае, как показано в Таблице 2, синтаксический элемент air_parameters_extension() в Таблице 1 может включать первую информацию о положении виртуальной границы и вторую информацию о положении виртуальной границы. Таблица 2 представляет собой другую схематическую таблицу синтаксических элементов согласно варианту осуществления настоящего раскрытия. Как показано в таблице 2, air_parameters_extension() включает extension_id (используется для идентификации вышеупомянутого идентификатора расширения видео с адаптивным внутренним обновлением), air_bound_х (используется для идентификации первой информации о положении виртуальной границы) и air bound у (используется для идентификации второй информации о положении виртуальной границы).
[95] Следует отметить, что приведенные выше примеры информации о положении виртуальной границы предназначены только для иллюстративных целей и не накладывают ограничения на функцию информации о положении виртуальной границы, обеспечиваемой вариантом осуществления настоящего раскрытия. Любая информация о метках, которая может указывать положение виртуальной границы между обновляемой и необновляемой областями в текущем кадре в горизонтальном направлении текущего кадра и положение виртуальной границы в вертикальном направлении текущего кадра, находится в пределах информации о положении виртуальной границы, предоставленной в варианте осуществления настоящего раскрытия.
[96] После определения того, поддерживает ли текущий кадр технологию адаптивного внутреннего обновления, может кодироваться битовый поток текущего кадра. В частности, если текущий кадр не поддерживает технологию адаптивного внутреннего обновления, идентификатор расширения видео с адаптивным внутренним обновлением не передают в данных расширения текущего кадра, или идентификатор расширения видео с адаптивным внутренним обновлением передают в данных расширения текущего кадра, но значение первой информации о положении виртуальной границы или значение второй информации о положении виртуальной границы, переносимых в данных расширения текущего кадра, равно 0.
[97] Соответственно, если текущий кадр поддерживает технологию адаптивного внутреннего обновления, идентификатор расширения видео с адаптивным внутренним обновлением и информация о положении виртуальной границы текущего кадра передаются в данных расширения текущего кадра, а значение первой информации о положении виртуальной границы, переносимой в данных расширения текущего кадра, больше 0, и значение второй информации о положении виртуальной границы, переносимой в данных расширения текущего кадра, также больше 0.
[98] В примере первая информация о положении виртуальной границы, описанная выше, представляет собой х-координату виртуальной границы в горизонтальном направлении текущего кадра, а вторая информация о положении виртуальной границы представляет собой у-координату виртуальной границы в вертикальном направлении текущего кадра. В этом сценарии обновляемая область в текущем кадре относится к прямоугольной области с координатами (0, 0) верхнего левого угла изображения в качестве начала координат, шириной, равной упомянутой х-координате, и высотой, равной упомянутой у-координате. Необновляемая область в текущем кадре относится к другим областям в текущем кадре, отличным от обновляемой области.
[99] В качестве другого примера, значение первой информации о положении виртуальной границы может указывать на то, что ширина виртуальной границы в горизонтальном направлении текущего кадра равна ширине, равной количеству наибольших единиц кодирования (LCU). Значение второй информации о положении виртуальной границы может указывать на то, что высота виртуальной границы в вертикальном направлении текущего кадра равна высоте, равной количеству LCU.
[100] В это время air_bound_x в Таблице 2 указывает х-координату виртуальной границы между обновляемой областью и необновляемой областью на изображении, а х-координата выражена в единицах ширины LCU. Air bound_у в Таблице 2 указывает у-координату виртуальной границы между обновляемой областью и необновляемой областью на изображении, а у-координата выражена в единицах высоты LCU.
[101] Например, если значение первой информации о положении виртуальной границы равно 2, а значение второй информации о положении виртуальной границы равно 3, это указывает на то, что текущая обновляемая область относится к прямоугольной области с координатами (0, 0) верхнего левого угла изображения в качестве начала координат, с удвоенной шириной LCU в качестве х-координаты и с трехкратной высотой LCU в качестве у-координаты.
[102] В этом сценарии точность первой информации о положении виртуальной границы равна ширине одной LCU, а точность второй информации о положении виртуальной границы равна высоте одной LCU.
[103] Следует отметить, что выше приведен пример, иллюстрирующий точность границы, обеспечиваемую вариантом осуществления настоящего раскрытия, который не ограничивает точность границы, используемую в варианте осуществления настоящего раскрытия. Точность границы включает точность ширины и точность высоты обновляемой области. Точность ширины обновляемой области относится к минимальной ширине обновляемой области, а фактическая ширина обновляемой области обычно сконфигурирована как целое число, кратное точности ширины. Точность высоты обновляемой области относится к минимальной высоте обновляемой области, а фактическая высота обновляемой области обычно сконфигурирована как целое число, кратное точности высоты.
[104] Фиг. 5 представляет собой схематическую диаграмму, иллюстрирующую распределение областей кадра внутреннего обновления в механизме адаптивного внутреннего обновления согласно варианту осуществления настоящего раскрытия. Как показано на фиг. 5, обновляемая область кадра внутреннего обновления относится к прямоугольной области с координатами (0, 0) в качестве верхнего левого угла, ширина представляет собой х-координату AirBoundX, а высота представляет собой у-координату AirBoundY. Необновляемая область кадра внутреннего обновления относится к другим областям кадра внутреннего обновления, отличным от обновляемой области.
[105] То есть кадр внутреннего обновления на фиг. 5 включает обновляемую область и необновляемую область. Обновляемая область может быть декодирована только с использованием текущего изображения или обновляемых областей других изображений, а необновляемая область может быть декодирована с использованием текущего изображения или других изображений.
[106] PictureWidthmLcu на фиг. 5 идентифицирует значение, полученное путем деления ширины изображения на ширину LCU, a PictureHeighthiLcu идентифицирует значение, полученное путем деления высоты изображения на высоту LCU. Как показано на фиг. 5, значение AirBoundX должно быть меньше или равно PictureWidthmLcu, а значение AirBoundY должно быть меньше или равно PictureHeightlnLcu.
[107] Кроме того, AirBoundX и AirBoundY представляют собой две переменные, установленные для первой информации о положении виртуальной границы и второй информации о положении виртуальной границы в синтаксисе во время процесса декодирования. Эти две переменные по-прежнему используются для указания х-координаты и у-координаты обновляемой области изображения. В частности, значения этих двух переменных будут подробно описаны на стороне декодирования впоследствии и не будут приводиться здесь.
[108] Кроме того, если текущий кадр является точкой восстановления произвольного доступа, сторона кодирования определяет, что текущий кадр поддерживает технологию адаптивного внутреннего обновления и что положение пикселей виртуальной границы, указанное первой информацией о положении виртуальной границы, равно или превышает правую границу текущего кадра, и положение пикселей виртуальной границы, указанное второй информацией о положении виртуальной границы, равно или превышает нижнюю границу текущего кадра. Следовательно, сторона декодирования может впоследствии определить, является ли текущий кадр точкой восстановления произвольного доступа, на основе первой информации о положении виртуальной границы и второй информации о положении виртуальной границы.
[109] Подводя итог, можно сказать, что идентификатор расширения видео с адаптивным внутренним обновлением и информация о положении виртуальной границы добавляются в данные расширения в битовом потоке текущего кадра. Поскольку информация о положении виртуальной границы может указывать положение виртуальной границы, а виртуальная граница по меньшей мере используется для различения обновляемой области от необновляемой области в текущем кадре, сторона кодирования может произвольно установить виртуальную границу на основе фактических требований при отделении области обновления текущего кадра. Положение виртуальной границы может быть указано посредством информации о положении виртуальной границы, что повышает гибкость отделения области обновления. То есть вариант осуществления настоящего раскрытия обеспечивает механизм адаптивного внутреннего обновления, который позволяет адаптивно отделять область обновления посредством данных расширения.
[110] Способ декодирования на основе механизма внутреннего обновления, обеспечиваемый вариантом осуществления настоящего раскрытия, будет подробно описан посредством варианта осуществления изобретения, показанного на фиг. 6. Как показано на фиг. 6, способ декодирования включает этапы с 601 по 603.
[111] Этап 601: принимают битовый поток текущего кадра.
[112] После завершения кодирования способом, показанным на фиг. 4, сторона кодирования может передать битовый поток каждого изображения стороне декодирования, и сторона декодирования может завершить декодирование изображения на основе варианта осуществления изобретения, показанного на фиг. 6.
[113] Этап 602: если в битовом потоке текущего кадра есть данные расширения и данные расширения содержат идентификатор (ID) расширения видео с адаптивным внутренним обновлением, получают информацию о положении виртуальной границы, переносимую в данных расширения, при этом информация о положении виртуальной границы предназначена для указания положения виртуальной границы, а виртуальная граница предназначена по меньшей мере для различения обновляемой области от необновляемой области в текущем кадре.
[114] Соответствующее описание идентификатора расширения видео с адаптивным внутренним обновлением и информации о положении виртуальной границы также может относиться к этапу 401 в варианте осуществления изобретения на стороне кодирования и здесь не будет повторяться.
[115] Кроме того, на основе варианта осуществления изобретения, показанного на фиг. 4, видно, что, если в данных расширения в битовом потоке текущего кадра отсутствует идентификатор расширения видео с адаптивным внутренним обновлением, определяют, что текущий кадр не поддерживает технологию адаптивного внутреннего обновления.
[116] Например, для синтаксических элементов, показанных в таблице 2, если идентификатор расширения видео «1110» не найден в данных расширения в битовом потоке текущего кадра, определяют, что текущий кадр не поддерживает технологию адаптивного внутреннего обновления, а битовый поток текущего кадра может быть декодирован другими способами декодирования. Процесс декодирования при условии, что технология адаптивного внутреннего обновления не поддерживается, не ограничен в варианте осуществления настоящего раскрытия.
[117] Этап 603: на основе информации о положении виртуальной границы определяют, поддерживает ли текущий кадр технологию адаптивного внутреннего обновления.
[118] На основе варианта осуществления изобретения, показанного на фиг. 4, видно, что, когда в данных расширения имеется идентификатор расширения видео с адаптивным внутренним обновлением, текущий кадр не обязательно поддерживает технологию адаптивного внутреннего обновления. Следовательно, после получения информации о положении виртуальной границы на этапе 602 необходимо также определить, поддерживает ли текущий кадр технологию адаптивного внутреннего обновления, на основе информации о положении виртуальной границы.
[119] На основе варианта осуществления изобретения, показанного на фиг. 4, видно, что информация о положении виртуальной границы включает первую информацию о положении виртуальной границы и вторую информацию о положении виртуальной границы. Первая информация о положении виртуальной границы предназначена для указания положения пикселей виртуальной границы в горизонтальном направлении текущего кадра, а вторая информация о положении виртуальной границы предназначена для указания положения пикселей виртуальной границы в вертикальном направлении текущего кадра.
[120] В этом сценарии процесс осуществления этапа 603 выглядит следующим образом. Если значение первой информации о положении виртуальной границы и значение второй информации о положении виртуальной границы оба больше 0, определяют, что текущий кадр поддерживает технологию адаптивного внутреннего обновления. Соответственно, если значение первой информации о положении виртуальной границы или значение второй информации о положении виртуальной границы равно 0, определяют, что текущий кадр не поддерживает технологию адаптивного внутреннего обновления.
[121] Например, для синтаксических элементов, показанных в Таблицах 1 и 2, при декодировании данных расширения определяют, имеются ли в битовом потоке параметры адаптивного внутреннего обновления air_bound_x и air_bound_y. Если есть эти два параметра, пусть значение AirBoundX текущего кадра на фиг. 5 равно значению air_bound_х, а значение AirBoundY текущего кадра равно значению air_bound_у. Если этих двух параметров нет, пусть значение AirBoundX текущего кадра равно 0, а значение AirBoundY текущего кадра равно 0.
[122] AirBoundX и AirBoundY текущего кадра описывались ранее и здесь повторяться не будут.
[123] После получения AirBoundX и AirBoundY текущего кадра, если и AirBoundX, и AirBoundY больше 0, определяют, что текущий кадр поддерживает технологию адаптивного внутреннего обновления. Если AirBoundX и/или AirBoundY равны 0, определяют, что текущий кадр не поддерживает технологию адаптивного внутреннего обновления.
[124] Кроме того, когда определено, что текущий кадр поддерживает технологию адаптивного внутреннего обновления, а предыдущий кадр для текущего кадра в порядке декодирования не поддерживает технологию адаптивного внутреннего обновления, сторона декодирования определяет, что текущий кадр является точкой произвольного доступа. То, что предыдущий кадр не поддерживает технологию адаптивного внутреннего обновления, включает следующие ситуации: отсутствует идентификатор расширения видео с адаптивным внутренним обновлением в данных расширения предыдущего кадра; или имеется идентификатор расширения видео с адаптивным внутренним обновлением в данных расширения предыдущего кадра, но значение первой информации о положении виртуальной границы предыдущего кадра равно 0, и/или значение второй информации о положении виртуальной границы предыдущего кадра равно 0.
[125] Соответственно, если определено, что текущий кадр поддерживает технологию адаптивного внутреннего обновления, и определено, что положение пикселей виртуальной границы равно или превышает правую границу текущего кадра, на основе первой информации о положении виртуальной границы текущего кадра, и что положение пикселей виртуальной границы равно или превышает нижнюю границу текущего кадра, на основе второй информации о положении виртуальной границы текущего кадра, текущий кадр определяют как точку восстановления произвольного доступа.
[126] Например, для синтаксических элементов, показанных в Таблицах 1 и 2, если в данных расширения текущего кадра есть параметры air_bound_х и air_bound_у, и значения обоих параметров больше 0, и при этом нет параметров air_bound_х и air_bound_y предыдущего кадра для текущего кадра в порядке декодирования, либо они есть, но хотя бы один из них равен 0, то текущий кадр является точкой произвольного доступа, и произвольный доступ разрешен из текущего кадра.
[127] Если в данных расширения текущего кадра есть параметры air_bound_х и air_bound_y, и значение air_bound_x равно PictureWidthlnLcu, а значение air bound y равно PictureHeightlnLcu, то текущий кадр является точкой восстановления, и все изображения (кадры) после текущего кадра могут быть правильно декодированы.
[128] Кроме того, когда текущий кадр используется для произвольного доступа, стороне декодирования также необходимо получить действительный заголовок последовательности перед декодированием текущего кадра. Текущий кадр декодируется на основе информации, содержащейся в заголовке последовательности.
[129] Действительный заголовок последовательности может быть заголовком последовательности, расположенным перед битовым потоком текущего кадра и ближайшим к битовому потоку текущего кадра среди битовых потоков, или может быть заголовком последовательности, полученным от системного уровня. Информация, содержащаяся в заголовке последовательности, включает информацию об уровне последовательности, необходимую в процессе декодирования, например качество и уровень битового потока, возможность переключения для различных технологий, а также разрешение и частоту кадров изображения.
[130] Следует отметить, что в варианте осуществления настоящего раскрытия, поскольку информация о положении виртуальной границы может быть указана произвольно, вариант осуществления настоящего раскрытия поддерживает горизонтальное, вертикальное и диагональное обновление, а направление обновления может быть в направлении от левого верхнего угла до нижнего правого угла, что здесь подробно не описывается.
[131] Подводя итог, можно сказать, что идентификатор расширения видео с адаптивным внутренним обновлением и информация о положении виртуальной границы добавляются в данные расширения в битовом потоке текущего кадра. Поскольку информация о положении виртуальной границы может указывать положение виртуальной границы, а виртуальная граница по меньшей мере используется для различения обновляемой области от необновляемой области в текущем кадре, сторона кодирования может произвольно установить виртуальную границу на основе фактических требований при отделении области обновления текущего кадра. Положение виртуальной границы может быть указано посредством информации о положении виртуальной границы, что повышает гибкость отделения области обновления. То есть вариант осуществления настоящего раскрытия обеспечивает механизм адаптивного внутреннего обновления, который позволяет адаптивно отделять область обновления посредством данных расширения.
[132] Фиг. 7 представляет собой схематическую структурную схему, иллюстрирующую устройство декодирования согласно варианту осуществления настоящего изобретения. Как показано на фиг. 7, устройство 700 декодирования содержит следующие модули:
[133] модуль 701 приема, сконфигурированный для приема битового потока текущего кадра; и
[134] модуль 702 обработки, выполненный с возможностью, если в битовом потоке текущего кадра имеются данные расширения и данные расширения содержат идентификатор (ID) расширения видео с адаптивным внутренним обновлением, получать информацию о положении виртуальной границы, переносимую в данных расширения, при этом информация о положении виртуальной границы предназначена для указания положения виртуальной границы, а виртуальная граница предназначена по меньшей мере для различения обновляемой области от необновляемой области в текущем кадре.
[135] Модуль 702 обработки также сконфигурирован для определения того, поддерживает ли текущий кадр технологию адаптивного внутреннего обновления, на основе информации о положении виртуальной границы.
[136] На основе описанного выше устройства в одной реализации модуль обработки также выполнен с возможностью, если в данных расширения в битовом потоке текущего кадра идентификатор расширения видео с адаптивным внутренним обновлением отсутствует, определять, что текущий кадр не поддерживает технологию адаптивного внутреннего обновления.
[137] На основе описанного выше устройства в одной реализации информация о положении виртуальной границы включает первую информацию о положении виртуальной границы и вторую информацию о положении виртуальной границы. Первая информация о положении виртуальной границы предназначена для указания положения пикселей виртуальной границы в горизонтальном направлении текущего кадра, а вторая информация о положении виртуальной границы предназначена для указания положения пикселей виртуальной границы в вертикальном направлении текущего кадра.
[138] На основе приведенного выше устройства в одной реализации первая информация о положении виртуальной границы представляет собой х-координату виртуальной границы в горизонтальном направлении текущего кадра, а вторая информация о положении виртуальной границы представляет собой у-координату виртуальной границы в вертикальном направлении текущего кадра. Обновляемая область относится к прямоугольной области с координатами (0, 0) верхнего левого угла изображения в качестве начала координат, шириной, равной упомянутой х-координате, и высотой, равной упомянутой у-координате. Необновляемая область относится к другим областям в текущем кадре, отличным от обновляемой области.
[139] На основе описанного выше устройства в одной реализации модуль обработки выполнен с возможностью, если значение первой информации о положении виртуальной границы и значение второй информации о положении виртуальной границы оба больше 0, определять, что текущий кадр поддерживает технологию адаптивного внутреннего обновления; если значение первой информации о положении виртуальной границы равно 0 и/или значение второй информации о положении виртуальной границы равно 0, определять, что текущий кадр не поддерживает технологию адаптивного внутреннего обновления.
[140] На основе описанного выше устройства в одной реализации модуль обработки также выполнен с возможностью, если текущий кадр поддерживает технологию адаптивного внутреннего обновления, а предыдущий кадр для текущего кадра в порядке декодирования не поддерживает технологию адаптивного внутреннего обновления, определять, что текущий кадр является точкой произвольного доступа. То, что предыдущий кадр не поддерживает технологию адаптивного внутреннего обновления, включает следующее: отсутствует идентификатор расширения видео с адаптивным внутренним обновлением в данных расширения предыдущего кадра; или идентификатор расширения видео с адаптивным внутренним обновлением имеется в данных расширения предыдущего кадра, и значение первой информации о положении виртуальной границы предыдущего кадра равно 0, и/или значение второй информации о положении виртуальной границы предыдущего кадра равно 0.
[141] На основе описанного выше устройства в одной реализации модуль обработки также выполнен с возможностью, если определено, что текущий кадр поддерживает технологию адаптивного внутреннего обновления, и определено, что положение пикселей виртуальной границы равно или превышает правую границу текущего кадра, на основе первой информации о положении виртуальной границы текущего кадра, и что положение пикселей виртуальной границы равно или превышает нижнюю границу текущего кадра, на основе второй информации о положении виртуальной границы текущего кадра, определять, что текущий кадр является точкой восстановления произвольного доступа.
[142] На основе описанного выше устройства в одной реализации точность первой информации о положении виртуальной границы равна ширине наибольшей единицы кодирования (LCU), а точность второй информации о положении виртуальной границы равна высоте LCU.
[143] На основе описанного выше устройства в одной реализации модуль обработки также выполнен с возможностью, когда текущий кадр используется для произвольного доступа, получать действительный заголовок последовательности перед декодированием текущего кадра; и декодировать текущий кадр на основе информации, содержащейся в заголовке последовательности.
[144] Подводя итог, можно сказать, что идентификатор расширения видео с адаптивным внутренним обновлением и информация о положении виртуальной границы добавляются в данные расширения в битовом потоке текущего кадра. Поскольку информация о положении виртуальной границы может указывать положение виртуальной границы, а виртуальная граница по меньшей мере используется для различения обновляемой области от необновляемой области в текущем кадре, сторона кодирования может произвольно установить виртуальную границу на основе фактических требований при отделении области обновления текущего кадра. Положение виртуальной границы может быть указано посредством информации о положении виртуальной границы, что повышает гибкость отделения области обновления. То есть вариант осуществления настоящего раскрытия обеспечивает механизм адаптивного внутреннего обновления, который позволяет адаптивно отделять область обновления посредством данных расширения.
[145] Следует отметить, что, когда устройство декодирования, предусмотренное в описанных выше вариантах осуществления изобретения, осуществляет способ декодирования на основе механизма адаптивного внутреннего обновления, разделение описанных выше функциональных модулей приведено только в качестве примера для иллюстрации. В практическом применении вышеуказанные функции могут быть назначены различным функциональным модулям по мере необходимости, то есть внутренняя структура устройства может быть разделена на различные функциональные модули для выполнения всех или некоторых функций, описанных выше. Кроме того, устройство декодирования, предусмотренное описанными выше вариантами осуществления изобретения, принадлежит к той же концепции, что и варианты осуществления способа декодирования на основе механизма адаптивного внутреннего обновления. Конкретный процесс реализации подробно описан в вариантах осуществления способа и не будет здесь повторяться.
[146] Фиг. 8 представляет собой схематическую структурную схему, иллюстрирующую устройство кодирования согласно варианту осуществления настоящего изобретения. Как показано на фиг. 8, устройство 800 кодирования содержит модуль 801 кодирования, выполненный с возможностью определения того, поддерживает ли текущий кадр технологию адаптивного внутреннего обновления. Модуль кодирования также выполнен с возможностью, если текущий кадр поддерживает технологию адаптивного внутреннего обновления, передавать идентификатор (ID) расширения видео с адаптивным внутренним обновлением и информацию о положении виртуальной границы текущего кадра в данных расширения текущего кадра, при этом информация о положении виртуальной границы предназначена для указания положения виртуальной границы, а виртуальная граница предназначена по меньшей мере для различения обновляемой области от необновляемой области в текущем кадре.
[147] На основе описанного выше устройства в одной реализации информация о положении виртуальной границы включает первую информацию о положении виртуальной границы и вторую информацию о положении виртуальной границы. Первая информация о положении виртуальной границы предназначена для указания положения пикселей виртуальной границы в горизонтальном направлении текущего кадра, а вторая информация о положении виртуальной границы предназначена для указания положения пикселей виртуальной границы в вертикальном направлении текущего кадра.
[148] На основе приведенного выше устройства в одной реализации первая информация о положении виртуальной границы представляет собой х-координату виртуальной границы в горизонтальном направлении текущего кадра, а вторая информация о положении виртуальной границы представляет собой у-координату виртуальной границы в вертикальном направлении текущего кадра. Обновляемая область относится к прямоугольной области с координатами (0, 0) верхнего левого угла изображения в качестве начала координат, шириной, равной упомянутой х-координате, и высотой, равной упомянутой у-координате. Необновляемая область относится к другим областям в текущем кадре, отличным от обновляемой области.
[149] На основе описанного выше устройства в одной реализации модуль кодирования также выполнен с возможностью, если текущий кадр не поддерживает технологию адаптивного внутреннего обновления, не передавать идентификатор расширения видео с адаптивным внутренним обновлением в данных расширения текущего кадра; или передавать идентификатор расширения видео с адаптивным внутренним обновлением в данных расширения текущего кадра, при этом значение первой информации о положении виртуальной границы, переносимой в данных расширения текущего кадра, равно 0, и/или значение второй информации о положении виртуальной границы, переносимой в данных расширения текущего кадра, равно 0.
[150] На основе описанного выше устройства в одной реализации, если текущий кадр поддерживает технологию адаптивного внутреннего обновления, значение первой информации о положении виртуальной границы и значение второй информации о положении виртуальной границы, переносимых в данных расширения текущего кадра, оба больше 0.
[151] На основе описанного выше устройства в одной реализации модуль кодирования также выполнен с возможностью, если текущий кадр является точкой произвольного доступа, определять, что текущий кадр поддерживает технологию адаптивного внутреннего обновления и что предыдущий кадр для текущего кадра в порядке кодирования не поддерживает технологию адаптивного внутреннего обновления.
[152] На основе описанного выше устройства в одной реализации модуль кодирования также выполнен с возможностью, если текущий кадр является точкой восстановления произвольного доступа, определять, что текущий кадр поддерживает технологию адаптивного внутреннего обновления и что положение пикселей виртуальной границы, указанное первой информацией о положении виртуальной границы, равно или превышает правую границу текущего кадра, и положение пикселей виртуальной границы, указанное второй информацией о положении виртуальной границы, равно или превышает нижнюю границу текущего кадра.
[153] На основе описанного выше устройства в одной реализации точность первой информации о положении виртуальной границы равна ширине наибольшей единицы кодирования (LCU), а точность второй информации о положении виртуальной границы равна высоте LCU.
[154] Подводя итог, можно сказать, что идентификатор расширения видео с адаптивным внутренним обновлением и информация о положении виртуальной границы добавляются в данные расширения в битовом потоке текущего кадра. Поскольку информация о положении виртуальной границы может указывать положение виртуальной границы, а виртуальная граница по меньшей мере используется для различения обновляемой области от необновляемой области в текущем кадре, сторона кодирования может произвольно установить виртуальную границу на основе фактических требований при отделении области обновления текущего кадра. Положение виртуальной границы может быть указано посредством информации о положении виртуальной границы, что повышает гибкость отделения области обновления. То есть вариант осуществления настоящего раскрытия обеспечивает механизм адаптивного внутреннего обновления, который позволяет адаптивно отделять область обновления посредством данных расширения.
[155] Следует отметить, что, когда устройство кодирования, предусмотренное в описанных выше вариантах осуществления изобретения, осуществляет способ кодирования на основе механизма адаптивного внутреннего обновления, разделение вышеупомянутых функциональных модулей приведено только в качестве примера для иллюстрации. В практическом применении вышеуказанные функции могут быть назначены различным функциональным модулям по мере необходимости, то есть внутренняя структура устройства может быть разделена на различные функциональные модули для выполнения всех или некоторых функций, описанных выше. Кроме того, устройство кодирования, предусмотренное описанными выше вариантами осуществления изобретения, принадлежит к той же концепции, что и варианты осуществления способа кодирования на основе механизма адаптивного внутреннего обновления. Конкретный процесс реализации подробно описан в вариантах осуществления способа и не будет здесь повторяться.
[156] Фиг. 9 представляет собой структурную схему терминала 900 согласно варианту осуществления настоящего раскрытия. Устройство декодирования, сторона декодирования и оборудование для декодирования, а также устройство кодирования, сторона кодирования и оборудование для кодирования, задействованные в описанных выше вариантах осуществления изобретения, могут быть реализованы посредством этого терминала. В частности, терминал 900 может быть смартфоном, планшетным компьютером, проигрывателем (МР3) аудио уровня III стандарта группы экспертов по движущимся изображениям, проигрывателем (МР4) аудио уровня IV стандарта группы экспертов по движущимся изображениям, портативным компьютером или настольным компьютером. Терминал 900 также может называться пользовательским оборудованием (UE, user equipment), портативным терминалом, терминалом портативного компьютера, настольным терминалом и т.п. Как правило, терминал 900 включает процессор 901 и память 902.
[157] Процессор 901 может включать одно или более вычислительных ядер, например 4-ядерный процессор, 8-ядерный процессор и т.п. Процессор 901 может быть реализован по меньшей мере одним аппаратным обеспечением, выбранным из процессора цифровой обработки сигналов (DSP, digital signal processing), программируемой пользователем вентильной матрицы (FPGA, field-programmable gate array) и программируемой логической матрицы (PLA, programmable logic array). Процессор 901 может также включать хост-процессор и сопроцессор. Хост-процессор - это процессор для обработки данных в активном состоянии, который также называется центральным процессором (CPU, central processing unit). Сопроцессор представляет собой процессор с низким энергопотреблением для обработки данных в режиме ожидания. В некоторых вариантах осуществления изобретения процессор 901 может быть интегрирован с графическим процессором (GPU, graphics processing unit), который сконфигурирован для отображения и прорисовки содержимого, которое необходимо отображать на экране дисплея. В некоторых вариантах осуществления изобретения процессор 901 может также включать процессор искусственного интеллекта (AI, artificial intelligence), сконфигурированный для выполнения вычислительных операций, связанных с машинным обучением.
[158] Память 902 может включать один или более машиночитаемых носителей данных, которые могут быть постоянными. Память 902 может также включать быстродействующую оперативную память, а также энергонезависимую память, такую как одно или более дисковых запоминающих устройств и флэш-накопителей. В некоторых вариантах осуществления изобретения машиночитаемый носитель данных в памяти 902 сконфигурирован для хранения по меньшей мере одной инструкции. По меньшей мере одна инструкция сконфигурирована для выполнения процессором 901 для осуществления способов декодирования и способов кодирования на основе механизма адаптивного внутреннего обновления, предоставленных в вариантах осуществления способов согласно настоящему раскрытию.
[159] В некоторых вариантах осуществления изобретения терминал 900 может также включать интерфейс 903 периферийных устройств и по меньшей мере одно периферийное устройство. Процессор 901, память 902 и интерфейс 903 периферийных устройств могут быть соединены шиной или сигнальной линией. Каждое периферийное устройство может быть подключено к интерфейсу 903 периферийных устройств шиной, сигнальной линией или печатной платой. Например, периферийное устройство включает по меньшей мере одну радиочастотную схему 904, экран 905 дисплея, компонент 906 камеры, аудиосхему 907, компонент 908 позиционирования и источник 909 питания.
[160] Интерфейс 903 периферийных устройств может быть сконфигурирован для подключения по меньшей мере одного периферийного устройства, связанного с вводом/выводом (I/O), к процессору 901 и памяти 902. В некоторых вариантах осуществления изобретения процессор 901, память 902 и интерфейс 903 периферийных устройств встроены в один и тот же чип или печатную плату. В некоторых других вариантах осуществления изобретения любые одно или два из процессора 901, памяти 902 и интерфейса 903 периферийных устройств могут быть реализованы на отдельной микросхеме или печатной плате, что не ограничивается вариантами осуществления настоящего раскрытия.
[161] Радиочастотная схема 904 сконфигурирована для приема и передачи радиочастотного (РЧ) сигнала, который также называется электромагнитным сигналом. Радиочастотная схема 904 взаимодействует с сетью связи и другими устройствами связи посредством электромагнитного сигнала. Радиочастотная схема 904 преобразует электрический сигнал в электромагнитный сигнал для передачи или преобразует принятый электромагнитный сигнал в электрический сигнал. Опционально, радиочастотная схема 904 включает антенную систему, радиочастотный приемопередатчик, один или более усилителей, тюнер, генератор, процессор цифровых сигналов, набор микросхем кодека, карту модуля идентификации абонента и т.п. Радиочастотная схема 904 может обмениваться данными с другими терминалами по меньшей мере через один протокол беспроводной связи. Протокол беспроводной связи включает, не ограничиваясь этим, городскую сеть, различные поколения сетей мобильной связи (2G, 3G, 4G и 5G), беспроводную локальную сеть и/или беспроводную сеть (Wi-Fi). В некоторых вариантах осуществления изобретения радиочастотная схема 904 может также включать схемы, относящиеся к беспроводной связи ближнего действия (NFC, near field communication), что не ограничивается настоящим раскрытием.
[162] Экран 905 дисплея сконфигурирован для отображения пользовательского интерфейса (UI, user interface). Пользовательский интерфейс может включать графику, текст, значки, видео и любую их комбинацию. Когда экран 905 дисплея является сенсорным экраном, экран 905 дисплея также может получать сигналы касания на поверхности экрана 905 дисплея или над ней. Сигнал касания может быть введен в процессор 901 в качестве управляющего сигнала для обработки. В этом случае экран 905 дисплея также может быть сконфигурирован для предоставления виртуальных кнопок и/или виртуальных клавиатур, которые также называются программными кнопками и/или программными клавиатурами. В некоторых вариантах осуществления изобретения один экран 905 дисплея может быть расположен на передней панели терминала 900. В некоторых других вариантах осуществления изобретения по меньшей мере два экрана 905 дисплея могут быть соответственно расположены на разных поверхностях терминала 900 или в складной структуре. В дополнительных вариантах осуществления изобретения экран 905 дисплея может быть гибким экраном дисплея, расположенным на изогнутой или сложенной поверхности терминала 900. В некоторых случаях экран 905 дисплея может даже иметь неправильную форму, а не форму прямоугольника, то есть экран 905 дисплея может быть неправильной формы. Экран 905 дисплея может быть выполнен с помощью жидкокристаллического дисплея (LCD, liquid crystal display), органических светоизлучающих диодов (OLED, organic light-emitting diode) или других материалов.
[163] Компонент 906 камеры сконфигурирован для захвата изображений или видео. Опционально, компонент 906 камеры включает переднюю камеру и заднюю камеру. Обычно передняя камера размещается на передней панели терминала, а задняя - на задней поверхности терминала. В некоторых вариантах осуществления изобретения имеются по меньшей мере две задние камеры, и каждая из по меньшей мере двух задних камер представляет собой камеру, выбранную из основной камеры, камеры глубины резкости, широкоугольной камеры и телеобъектива, чтобы реализовать функцию размытия фона, достигаемую за счет слияния основной камеры и камеры глубины резкости, функций панорамной съемки и съемки виртуальной реальности (VR, virtual reality), достигаемых за счет слияния основной камеры и широкоугольной камеры, или другого слияния функций съемки. В некоторых вариантах осуществления изобретения компонент 906 камеры может также включать вспышку. Вспышка может быть вспышкой с одной цветовой температурой или вспышкой с двойной цветовой температурой. Вспышка с двойной цветовой температурой представляет собой комбинацию теплой и холодной вспышки и может использоваться для компенсации света при разных цветовых температурах.
[164] Аудиосхема 907 может включать микрофон и динамик. Микрофон сконфигурирован для приема звуковых волн от пользователей и окружающей среды и преобразования звуковых волн в электрические сигналы, которые вводятся в процессор 901 для обработки или вводятся в радиочастотную схему 904 для голосовой связи. Для стереофонического захвата или шумоподавления может использоваться множество микрофонов, соответственно расположенных в разных местах терминала 900. Микрофон также может представлять собой микрофонный массив или всенаправленный микрофон. Динамик выполнен с возможностью преобразования электрических сигналов от процессора 901 или радиочастотной схемы 904 в звуковые волны. Динамик может быть обычным пленочным динамиком или пьезоэлектрическим керамическим динамиком. Если динамик представляет собой пьезоэлектрический керамический динамик, он может не только преобразовывать электрический сигнал в звуковые волны, слышимые человеком, но также преобразовывать сигнал в звуковые волны, неслышимые человеком, для определения дальности и т.п. В некоторых вариантах осуществления изобретения аудиосхема 907 может также включать разъем для наушников.
[165] Компонент 908 позиционирования сконфигурирован для определения текущего географического местоположения терминала 900 для реализации навигации или услуги на основе местоположения (LBS, location-based service). Компонент 908 позиционирования может быть компонентом позиционирования, основанным на Глобальной системе позиционирования (GPS, Global Positioning System) США, системе Beidou Китая, системе Glonass России или системе Galileo Европейского Союза.
[166] Источник 909 питания сконфигурирован для питания различных компонентов в терминале 900. Источником 909 питания может быть источник переменного тока, источник постоянного тока, одноразовая батарея или перезаряжаемая батарея. Если источник 909 питания включает перезаряжаемую батарею, перезаряжаемая батарея может поддерживать проводную зарядку или беспроводную зарядку. Аккумуляторная батарея также может поддерживать технологию быстрой зарядки.
[167] В некоторых вариантах осуществления изобретения терминал 900 также включает один или более датчиков 910. Один или более датчиков 910 включают, не ограничиваясь этим, датчик ускорения 911, гироскопический датчик 912, датчик 913 давления, датчик 914 отпечатков пальцев, оптический датчик 915 и датчик 916 приближения.
[168] Датчик 911 ускорения может обнаруживать величины ускорений по трем координатным осям системы координат, установленной терминалом 900. Например, датчик 911 ускорения может быть выполнен с возможностью обнаружения компонентов ускорения свободного падения по трем координатным осям. Процессор 901 может управлять экраном 905 дисплея для отображения пользовательского интерфейса в альбомной или книжной ориентации в соответствии с сигналом ускорения свободного падения, полученным датчиком 911 ускорения. Датчик 911 ускорения также может быть сконфигурирован для сбора данных о движении во время игры или данных о движении пользователя.
[169] Гироскопический датчик 912 может определять ориентацию и угол поворота терминала 900 и может взаимодействовать с датчиком 911 ускорения для регистрации трехмерного движения пользователя на терминале 900. На основе данных, собранных гироскопическим датчиком 912, процессор 901 может выполнять следующие функции: обнаружение движения (например, изменение пользовательского интерфейса в соответствии с операцией наклона пользователя), стабилизация изображения во время съемки, управление игрой и инерциальная навигация.
[170] Датчик 913 давления может быть расположен на боковой раме терминала 900 и/или на нижнем слое экрана 905 дисплея. Когда датчик 913 давления расположен на боковой раме терминала 900, может быть обнаружен сигнал захвата, вызванный удерживанием терминала 900 пользователем. Процессор 901 может выполнять распознавание левой и правой руки или операцию быстрого доступа в соответствии с сигналом захвата, полученным датчиком 913 давления. Когда датчик 913 давления расположен на нижнем слое экрана 905 дисплея, процессор 901 управляет рабочим элементом управления в пользовательском интерфейсе в соответствии с операцией нажатия пользователем на экране 905 дисплея. Управляемый элемент управления включает по меньшей мере один из элемента управления посредством кнопки, элемента управления посредством полосы прокрутки, элемента управления посредством значка и элемента управления посредством меню.
[171] Датчик 914 отпечатков пальцев сконфигурирован для сбора отпечатков пальцев пользователя. Процессор 901 идентифицирует личность пользователя на основе отпечатка пальца, собранного датчиком 914 отпечатков пальца, или датчик 914 отпечатков пальца идентифицирует личность пользователя на основе собранного отпечатка пальца. Когда личность пользователя аутентифицирована, процессор 901 разрешает пользователю выполнять соответствующие конфиденциальные операции, такие как разблокировка экрана, просмотр зашифрованной информации, загрузка программного обеспечения, оплата и изменение настроек. Датчик 914 отпечатков пальцев может быть расположен на передней, задней или боковой поверхности терминала 900. Когда терминал 900 снабжен физической кнопкой или логотипом производителя, датчик 914 отпечатков пальцев может быть интегрирован с физической кнопкой или логотипом производителя.
[172] Оптический датчик 915 выполнен с возможностью измерения интенсивности окружающего света. В одном варианте осуществления изобретения процессор 901 может управлять яркостью отображения экрана 905 дисплея в соответствии с интенсивностью окружающего света, полученной оптическим датчиком 915. В частности, когда интенсивность окружающего света относительно высока, яркость отображения экрана 905 дисплея повышается; а когда интенсивность окружающего света относительно низкая, яркость отображения на экране 905 дисплея уменьшается. В другом варианте осуществления изобретения процессор 901 также может динамически регулировать параметры съемки компонента 906 камеры в соответствии с интенсивностью окружающего света, полученной оптическим датчиком 915.
[173] Датчик 916 приближения, также называемый датчиком расстояния, обычно располагается на передней панели терминала 900. Датчик 916 приближения выполнен с возможностью регистрации расстояния между пользователем и передней поверхностью терминала 900. В одном варианте осуществления изобретения, когда датчик 916 приближения обнаруживает, что расстояние между пользователем и передней поверхностью терминала 900 постепенно уменьшается, процессор 901 управляет экраном 905 дисплея, чтобы он переключался из состояния включенного экрана в состояние выключенного экрана. Когда обнаруживается, что расстояние между пользователем и передней поверхностью терминала 900 постепенно увеличивается, процессор 901 управляет экраном 905 дисплея для переключения из состояния выключенного экрана в состояние включенного экрана.
[174] Специалистам в данной области техники понятно, что структура, показанная на фиг. 9, не ограничивает терминал 900 и может включать больше или меньше компонентов, чем проиллюстрированная структура, или некоторые компоненты могут быть объединены, или могут использоваться другие компоновки компонентов.
[175] Варианты осуществления настоящего раскрытия также обеспечивают машиночитаемый носитель данных. Инструкции на носителе данных, при их выполнении процессором терминала, обеспечивают возможность выполнения терминалом способов декодирования и способов кодирования на основе механизма адаптивного внутреннего обновления, предоставленных в описанных выше вариантах осуществления изобретения.
[176] Варианты осуществления настоящего раскрытия также предоставляют компьютерный программный продукт, содержащий инструкции. Компьютерный программный продукт при выполнении на терминале заставляет терминал выполнять способы декодирования и способы кодирования на основе механизма адаптивного внутреннего обновления, предоставленные в описанных выше вариантах осуществления изобретения.
[177] Специалистам в данной области техники понятно, что все этапы, описанные в приведенных выше вариантах осуществления изобретения, или их часть могут быть выполнены с помощью аппаратных средств или с помощью соответствующих аппаратных средств, управляемых приложениями, хранящимися на машиночитаемом носителе данных, таком как постоянное запоминающее устройство, диск, компакт-диск и т.п.
[178] Выше были приведены просто примеры осуществления настоящего раскрытия, которые не предназначены для ограничения настоящего раскрытия. В соответствии с принципами раскрытия любые модификации, эквивалентные замены, усовершенствования и т.п. находятся в пределах сущности настоящего изобретения.

Claims (51)

1. Способ декодирования на основе механизма адаптивного внутреннего обновления, включающий:
прием битового потока текущего кадра;
если в битовом потоке текущего кадра есть данные расширения, и данные расширения содержат идентификатор (ID) расширения видео с адаптивным внутренним обновлением, получение информации о положении виртуальной границы, переносимой в данных расширения, при этом информация о положении виртуальной границы предназначена для указания положения виртуальной границы, а виртуальная граница предназначена по меньшей мере для различения обновляемой области от необновляемой области в текущем кадре; и определение того, поддерживает ли текущий кадр технологию адаптивного внутреннего обновления, на основе информации о положении виртуальной границы;
если в данных расширения в битовом потоке текущего кадра нет идентификатора расширения видео с адаптивным внутренним обновлением, определение того, что текущий кадр не поддерживает технологию адаптивного внутреннего обновления.
2. Способ по п.1, в котором информация о положении виртуальной границы содержит первую информацию о положении виртуальной границы и вторую информацию о положении виртуальной границы, и
при этом первая информация о положении виртуальной границы предназначена для указания положения пикселей виртуальной границы в горизонтальном направлении текущего кадра, а вторая информация о положении виртуальной границы предназначена для указания положения пикселей виртуальной границы в вертикальном направлении текущего кадра.
3. Способ по п.2, в котором
первая информация о положении виртуальной границы содержит x-координату виртуальной границы в горизонтальном направлении текущего кадра, и
вторая информация о положении виртуальной границы содержит y-координату виртуальной границы в вертикальном направлении текущего кадра; и
при этом обновляемая область относится к прямоугольной области с координатами (0, 0) верхнего левого угла изображения в качестве начала координат, шириной, равной упомянутой x-координате, и высотой, равной упомянутой y-координате, и
необновляемая область относится к другим областям в текущем кадре, отличным от обновляемой области.
4. Способ по п.2, в котором определение того, поддерживает ли текущий кадр технологию адаптивного внутреннего обновления, на основе информации о положении виртуальной границы включает:
если значение первой информации о положении виртуальной границы и значение второй информации о положении виртуальной границы оба больше 0, определение того, что текущий кадр поддерживает технологию адаптивного внутреннего обновления;
если значение первой информации о положении виртуальной границы равно 0 и/или значение второй информации о положении виртуальной границы равно 0, определение того, что текущий кадр не поддерживает технологию адаптивного внутреннего обновления.
5. Способ по п.1, также включающий:
если текущий кадр поддерживает технологию адаптивного внутреннего обновления, а предыдущий кадр для текущего кадра в порядке декодирования не поддерживает технологию адаптивного внутреннего обновления, определение того, что текущий кадр является точкой произвольного доступа.
6. Способ по п.5, в котором то, что предыдущий кадр не поддерживает технологию адаптивного внутреннего обновления, включает:
в данных расширения предыдущего кадра отсутствует идентификатор расширения видео с адаптивным внутренним обновлением; или
в данных расширения предыдущего кадра имеется идентификатор расширения видео с адаптивным внутренним обновлением, и значение первой информации о положении виртуальной границы предыдущего кадра равно 0, и/или значение второй информации о положении виртуальной границы предыдущего кадра равно 0.
7. Способ по п.2, также включающий:
если определено, что текущий кадр поддерживает технологию адаптивного внутреннего обновления, и определено, что положение пикселей виртуальной границы равно или превышает правую границу текущего кадра, на основе первой информации о положении виртуальной границы текущего кадра, и что положение пикселей виртуальной границы равно или превышает нижнюю границу текущего кадра, на основе второй информации о положении виртуальной границы текущего кадра, определение того, что текущий кадр является точкой восстановления произвольного доступа.
8. Способ по п.2, в котором
точность первой информации о положении виртуальной границы равна ширине наибольшей единицы кодирования (LCU), и
точность второй информации о положении виртуальной границы равна высоте LCU.
9. Способ кодирования на основе механизма адаптивного внутреннего обновления, в котором:
определяют, поддерживает ли текущий кадр технологию адаптивного внутреннего обновления;
если текущий кадр поддерживает технологию адаптивного внутреннего обновления, передают идентификатор расширения видео с адаптивным внутренним обновлением и информацию о положении виртуальной границы текущего кадра в данных расширения текущего кадра, при этом информация о положении виртуальной границы предназначена для указания положения виртуальной границы, а виртуальная граница предназначена по меньшей мере для различения обновляемой области от необновляемой области в текущем кадре;
если текущий кадр не поддерживает технологию адаптивного внутреннего обновления, в данных расширения текущего кадра не передают идентификатор расширения видео с адаптивным внутренним обновлением; или в данных расширения текущего кадра передают идентификатор расширения видео с адаптивным внутренним обновлением, и значение информации о положении виртуальной границы, переносимой в данных расширения текущего кадра, способно указывать, поддерживается ли технология адаптивного внутреннего обновления.
10. Способ по п.9, в котором информация о положении виртуальной границы содержит первую информацию о положении виртуальной границы и вторую информацию о положении виртуальной границы, и
при этом первая информация о положении виртуальной границы предназначена для указания положения пикселей виртуальной границы в горизонтальном направлении текущего кадра, а вторая информация о положении виртуальной границы предназначена для указания положения пикселей виртуальной границы в вертикальном направлении текущего кадра.
11. Способ по п.10, в котором
первая информация о положении виртуальной границы содержит x-координату виртуальной границы в горизонтальном направлении текущего кадра, и
вторая информация о положении виртуальной границы содержит y-координату виртуальной границы в вертикальном направлении текущего кадра; и
при этом обновляемая область относится к прямоугольной области с координатами (0, 0) верхнего левого угла изображения в качестве начала координат, шириной, равной упомянутой x-координате, и высотой, равной упомянутой y-координате, а необновляемая область относится к другим областям в текущем кадре, отличным от обновляемой области.
12. Способ по п.10, в котором,
если текущий кадр не поддерживает технологию адаптивного внутреннего обновления, идентификатор расширения видео с адаптивным внутренним обновлением передают в данных расширения текущего кадра, а значение первой информации о положении виртуальной границы, переносимой в данных расширения текущего кадра, равно 0, и/или значение второй информации о положении виртуальной границы, переносимой в данных расширения текущего кадра, равно 0;
если текущий кадр поддерживает технологию адаптивного внутреннего обновления, значение первой информации о положении виртуальной границы и значение второй информации о положении виртуальной границы, переносимых в данных расширения текущего кадра, оба больше 0.
13. Способ по п.10, также включающий:
если текущий кадр является точкой произвольного доступа, определение того, что текущий кадр поддерживает технологию адаптивного внутреннего обновления и что предыдущий кадр для текущего кадра в порядке кодирования не поддерживает технологию адаптивного внутреннего обновления;
если текущий кадр является точкой восстановления произвольного доступа, определение того, что текущий кадр поддерживает технологию адаптивного внутреннего обновления и что положение пикселей виртуальной границы, указанное первой информацией о положении виртуальной границы, равно или превышает правую границу текущего кадра, и положение пикселей виртуальной границы, указанное второй информацией о положении виртуальной границы, равно или превышает нижнюю границу текущего кадра.
14. Способ по п.10, в котором
точность первой информации о положении виртуальной границы равна ширине наибольшей единицы кодирования (LCU), и
точность второй информации о положении виртуальной границы равна высоте LCU.
15. Устройство декодирования, содержащее:
модуль приема, выполненный с возможностью приема битового потока текущего кадра; и
модуль обработки, выполненный с возможностью,
если в битовом потоке текущего кадра есть данные расширения и данные расширения содержат идентификатор расширения видео с адаптивным внутренним обновлением, получать информацию о положении виртуальной границы, переносимую в данных расширения, при этом информация о положении виртуальной границы предназначена для указания положения виртуальной границы, а виртуальная граница предназначена по меньшей мере для различения обновляемой области от необновляемой области в текущем кадре, и определять, поддерживает ли текущий кадр технологию адаптивного внутреннего обновления, на основе информации о положении виртуальной границы; если в данных расширения в битовом потоке текущего кадра нет идентификатора расширения видео с адаптивным внутренним обновлением, определять, что текущий кадр не поддерживает технологию адаптивного внутреннего обновления.
16. Устройство декодирования, содержащее:
процессор и
память, сконфигурированную для хранения инструкций, исполняемых процессором,
при этом процессор сконфигурирован для выполнения этапов способа декодирования по любому из пп.1-8.
RU2023120246A 2021-03-19 2022-03-10 Декодирование и кодирование на основе механизма адаптивного внутреннего обновления RU2815483C1 (ru)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110298610.4 2021-03-19

Related Child Applications (1)

Application Number Title Priority Date Filing Date
RU2024106159A Division RU2024106159A (ru) 2021-03-19 2022-03-10 Декодирование и кодирование на основе механизма адаптивного внутреннего обновления

Publications (1)

Publication Number Publication Date
RU2815483C1 true RU2815483C1 (ru) 2024-03-19

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030016754A1 (en) * 2001-07-10 2003-01-23 Motorola, Inc Method and apparatus for random forced intra-refresh in digital image and video coding
CN101621685B (zh) * 2008-07-04 2011-06-15 株式会社日立制作所 编码装置和编码方法
CN109348227A (zh) * 2018-11-22 2019-02-15 上海大学 适用于视频编码的运动自适应帧内刷新方法
RU2708360C9 (ru) * 2012-04-12 2019-12-17 ДжейВиСи КЕНВУД КОРПОРЕЙШН Устройство декодирования движущегося изображения и способ декодирования движущегося изображения
WO2020262504A1 (ja) * 2019-06-25 2020-12-30 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030016754A1 (en) * 2001-07-10 2003-01-23 Motorola, Inc Method and apparatus for random forced intra-refresh in digital image and video coding
CN101621685B (zh) * 2008-07-04 2011-06-15 株式会社日立制作所 编码装置和编码方法
RU2708360C9 (ru) * 2012-04-12 2019-12-17 ДжейВиСи КЕНВУД КОРПОРЕЙШН Устройство декодирования движущегося изображения и способ декодирования движущегося изображения
CN109348227A (zh) * 2018-11-22 2019-02-15 上海大学 适用于视频编码的运动自适应帧内刷新方法
WO2020262504A1 (ja) * 2019-06-25 2020-12-30 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム

Similar Documents

Publication Publication Date Title
US20220264136A1 (en) Methods for decoding or coding prediction mode, decoding or coding apparatus, and storage medium
WO2020182154A1 (zh) 编码方法、解码方法及装置
CN111372126B (zh) 视频播放方法、装置及存储介质
US11388403B2 (en) Video encoding method and apparatus, storage medium, and device
CN112822522B (zh) 视频播放方法、装置、设备及存储介质
US20220256099A1 (en) Method for processing video, terminal, and storage medium
CN111935542A (zh) 视频处理方法、视频播放方法、装置、设备及存储介质
CN107888975B (zh) 视频播放方法、装置及存储介质
JP7502568B2 (ja) 適応型イントラリフレッシュメカニズムに基づく復号化、符号化
CN110177275B (zh) 视频编码方法及装置、存储介质
RU2815483C1 (ru) Декодирование и кодирование на основе механизма адаптивного внутреннего обновления
CN114630113B (zh) 基于自适应帧内刷新机制的解码、编码方法及相关设备
CN114302137B (zh) 用于视频的时域滤波方法、装置、存储介质及电子设备
CN111641824B (zh) 视频倒放方法及装置
JP2024103749A (ja) 適応型イントラリフレッシュメカニズムに基づく復号化、符号化
RU2821332C2 (ru) Способы декодирования или кодирования режима предсказания, аппарат для декодирования или кодирования и носитель данных
RU2810728C2 (ru) Способы декодирования или кодирования режима предсказания, аппарат для декодирования или кодирования и носитель данных
CN115202550A (zh) 云应用画面的显示方法、装置、服务器、终端及存储介质
CN112995713A (zh) 视频处理方法、装置、计算机设备及存储介质
CN114268797A (zh) 用于视频的时域滤波的方法、装置、存储介质及电子设备