СПОСОБ И УСТРОЙСТВО ДЛЯ СОВМЕСТНОГО ИСПОЛЬЗОВАНИЯ ОБЩЕЙ ДЛЯ СЛАЙСА ИНФОРМАЦИИ
METHOD AND APPARATUS FOR SLICE COMMON INFORMATION SHARING

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ
Настоящее изобретение испрашивает приоритет по Предварительной Заявке на Выдачу Патента США под порядковым №61/443561, зарегистрированной 16 февраля 2011 года, озаглавленной "Syntax Design for Common Slice Information Sharing", Предварительной Заявке на Выдачу Патента США под порядковым №61/454826, зарегистрированной 21 марта 2011 года, озаглавленной "Slice Common Information Sharing",
Предварительной Заявке на Выдачу Патента США под порядковым №61/508820, зарегистрированной 18 июля 2011 года, озаглавленной "The Adaptation of In-loop Filter Parameters" и Предварительной Заявке на Выдачу Патента США под порядковым №61/528867, зарегистрированной 30 августа 2011 года, озаглавленной "Adaptation of In-loop Filter Parameters". Настоящее изобретение также относится к Заявке на Выдачу Патента США под порядковым №13/298294, озаглавленной "Method and Apparatus for Slice Common Information Sharing", зарегистрированной 17 ноября 2011 г. Предварительная Заявка на Выдачу Патента США и Заявка на Выдачу Патента США таким образом включены посредством ссылки во всей их полноте.
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к видеокодированию. В частности, настоящее изобретение относится к способам кодирования, позволяющим системе кодирования совместно использовать общую для слайсов информацию.
УРОВЕНЬ ТЕХНИКИ ИЗОБРЕТЕНИЯ
Межкадровое кодирование с компенсацией движения получило широкое распространение в различных стандартах кодирования, таких как MPEG-1/2/4 и Н.261/Н.263/Н.264/AVC. Оценка и компенсация движения, а также последующая обработка применяются к видеоданным на блочной основе. Во время процесса сжатия могут появляться шумы кодирования вследствие операций с потерями, таких как квантование. Артефакты кодирования могут стать заметными в реконструированных видеоданных, особенно на границах или вблизи границ блоков. Для того чтобы ослабить видимость артефактов кодирования, в новых системах кодирования, как, например, H.264/AVC и Системе Высокоэффективного
Видеокодирования (HEVC), используется техника под названием деблокинг. Процесс деблокинга (устранения блочности) применяет пространственное фильтрование через границы блоков адаптивно, чтобы сгладить большие переходы на границах и вблизи границ блоков вследствие шумов кодирования, сохраняя при этом резкость изображения. В недавней разработке HEVC два инструмента петлевой обработки, названные адаптивное циклическое фильтрование (ALF) и адаптивный по выборке сдвиг (SAO), принимаются для обработки деблокированных видеоданных, где пространственный линейный 2-D фильтр использовался для ALF.
В Тестовой Модели HEVC Версии 3.0 (НМ-3.0) традиционное ALF может быть выборочно ВКЛЮЧЕНО или ВЫКЛЮЧЕНО для каждого блока в изображении. В случае, где изображение содержит только один слайс, информация ALF и не относящаяся к ALF-фильтру общая информация включена в заголовок слайса. Когда изображение содержит несколько слайсов, синтаксическая схема, согласно HEVC, включает информацию ALF и не относящуюся к ALF общую информацию в первый заголовок слайса. Также не относящаяся к ALF общая информация включена во все другие заголовки слайсов. Следовательно, не относящаяся к ALF общая информация во всех других заголовках слайсов может быть избыточна. Кроме того, синтаксическая структура в соответствии с текущим HEVC может испытывать длительную задержку в случае передачи не по порядку и позднего прибытия первого слайса. Вдобавок, включение информации ALF в первый слайс затруднительно- для параллельного процесса декодирования, поскольку каждая из параллельных ветвей должна будет получить информацию ALF из первого слайса. Следовательно, желательно разработать систему и связанную с ней синтаксическую структуру, которая позволяет частям адаптивно совместно использовать не относящуюся к ALF общую информацию и информацию ALF среди множества слайсов.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Раскрыты способ и устройство для совместного использования информации в системе видеодекодирования. В одном из вариантов осуществления в соответствии с настоящим изобретением способ и устройство для совместного использования информации в системе видеодекодирования содержат шаги, на которых принимают первый флаг совместного использования информации в данных уровня изображения, данных уровня последовательности или данных уровня слайса; определяют по меньшей мере часть информации фильтра петлевого (in-loop) фильтра для слайса изображения из данных уровня изображения, данных уровня слайса или комбинации данных уровня изображения и данных уровня слайса в соответствии с первым флагом совместного использования информации; и применяют петлевой фильтр к слайсу. Когда первый флаг совместного использования информации находится в данных уровня изображения или данных уровня последовательности, упомянутая по меньшей мере часть информации фильтра находится в данных уровня изображения для одного или более слайсов изображения для совместного использования, если первый флаг совместного использования информации указывает на совместное использование; и информация фильтра находится в данных уровня слайса, если первый флаг совместного использования информации указывает на отсутствие совместного использования. Когда первый флаг совместного использования информации находится в данных уровня слайса, по меньшей мере часть информации первого фильтра находится в данных уровня изображения для одного или более слайсов изображения для совместного использования, и первый флаг совместного использования определяет, использовать ли информацию фильтра в данных уровня изображения или индивидуальную информацию фильтра в данных уровня слайса.
Вариант осуществления в соответствии с настоящим изобретением для системы декодирования может также иметь больше, чем один флаг совместного использования информации в комбинации данных уровня изображения, данных уровня последовательности и данных уровня слайса. Вдобавок к информации фильтра, не относящаяся к фильтру общая информация может также использоваться совместно. Информация фильтра и не относящаяся к фильтру общая информация могут быть определены из соответствующего синтаксиса уровня изображения и/или синтаксиса уровня слайса.
Раскрыты способ и устройство для совместного использования информации в системе видеокодирования. В одном из вариантов осуществления в соответствии с настоящим изобретением способ и устройство для совместного использования информации в системе видеодекодирования содержат шаги, на которых принимают реконструированные данные для изображения, где изображение содержит один или более слайсов; определяют, использовать ли совместно информацию для изображения в данных уровня изображения; включают первый флаг совместного использования информации в данные уровня изображения, данные уровня последовательности или данные уровня слайса, где первый флаг совместного использования информации определяется в соответствии с упомянутым определением на предмет того, использовать ли совместно информацию в данных уровня изображения; включают по меньшей мере часть информации фильтра петлевого фильтра для слайса в данных уровня изображения, данных уровня слайса или комбинации данных уровня изображения и данных уровня слайса в соответствии с первым флагом совместного использования информации; и применяют петлевой фильтр к слайсу. Когда первый флаг совместного использования информации находится в данных уровня изображения или данных уровня последовательности, упомянутая по меньшей мере часть информации фильтра находится в данных уровня изображения для одного или более слайсов изображения для совместного использования, если первый флаг совместного использования информации указывает на совместное использование; и информация фильтра находится в данных уровня слайса, если первый флаг совместного использования информации указывает на отсутствие совместного использования. Когда первый флаг совместного использования информации находится в данных уровня слайса, по меньшей мере часть информации первого фильтра находится в данных уровня изображения для одного или более слайсов изображения для совместного использования, и первый флаг совместного использования определяет, использовать ли информацию фильтра в данных уровня изображения или индивидуальную информацию фильтра в данных уровня слайса.
Вариант осуществления в соответствии с настоящим изобретением для системы кодирования может также иметь больше, чем один флаг совместного использования в комбинации данных уровня изображения, данных уровня последовательности и данных уровня слайса. Вдобавок к информации фильтра, не относящаяся к фильтру общая информация может также использоваться совместно. Информация фильтра и не относящаяся к фильтру общая информация могут быть определены из соответствующего синтаксиса уровня изображения и/или синтаксиса уровня слайса.
В другом варианте осуществления в соответствии с настоящим изобретением способ и устройство для совместного использования информации в системе видеодекодирования содержат шаги, на которых принимают указание совместного использования информации, связанное по меньшей мере с одним петлевым фильтром для области изображения; принимают набор параметров адаптации (APS) для области изображения в соответствии с этим указанием, где APS только содержит информацию, относящуюся к упомянутому по меньшей мере одному петлевому фильтру, и эта информация содержит по меньшей мере часть параметров фильтра упомянутого по меньшей мере одного петлевого фильтра; определяют параметры фильтра упомянутого по меньшей мере одного петлевого фильтра, содержащего упомянутую по меньшей мере часть параметров фильтра из APS; и применяют упомянутый по меньшей мере один петлевой фильтр к блокам в области изображения. Рассматриваются различные аспекты, включая указание совместного использования информации и множество APS, относящиеся к настоящему изобретению. В еще одном другом варианте осуществления в соответствии с настоящим изобретением раскрыты соответствующий способ и устройство для совместного использования информации в системе видеокодирования. Способ и устройство совместного использования информации петлевого фильтра в системе видеокодирования содержат шаги, на которых включают указание совместного использования информации в битовый видеопоток, где указание совместного использования информации связано с по меньшей мере одним петлевым фильтром; включают набор параметров адаптации (APS), где APS содержит только информацию, относящуюся к упомянутому по меньшей мере одному петлевому фильтру, и эта информация содержит по меньшей мере часть параметров фильтра упомянутого по меньшей мере одного петлевого фильтра; и применяют упомянутый по меньшей мере один петлевой фильтр к блокам в области изображения. Также рассматриваются различные аспекты, включая указание совместного использования информации и множество APS, относящиеся к настоящему изобретению.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 иллюстрирует примерную структурную схему системы видеокодирования, основанную на предсказании с компенсацией движения, где адаптивный циклический фильтр включен в состав для восстановления деблокированного видео.
Фиг. 2 иллюстрирует примерную структурную схему системы видеодекодирования, основанную на предсказании с компенсацией движения, где адаптивный циклический фильтр включен в состав для восстановления деблокированного видео.
Фиг. 3А иллюстрирует пример синтаксической структуры заголовка слайса в соответствии с HEVC, где изображение включает в себя один слайс.
Фиг. 3В иллюстрирует пример синтаксической структуры заголовка слайса в соответствии с HEVC, где изображение включает в себя несколько слайсов.
Фиг. 4 иллюстрирует пример синтаксической структуры PPS и заголовка слайса, где несколько слайсов совместно используют общую информацию/параметры ALF в PPS, и каждая из нескольких слайсов имеет свои собственные относящиеся к управлению параметры ВКЛ/ВЫКЛ CU в заголовке слайса в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 5А иллюстрирует первую примерную синтаксическую схему PPS в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 5В иллюстрирует первую примерную синтаксическую схему pps_info( ) в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 5С иллюстрирует первую примерную синтаксическую схему pps_alf_param( ) в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 5D иллюстрирует первую примерную синтаксическую схему slice_header( ) в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 5Е иллюстрирует первую примерную синтаксическую схему slice_info( ) в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 5F иллюстрирует первую примерную синтаксическую схему slice_alf_param( ) в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 5G иллюстрирует первую примерную синтаксическую схему alf_cu_control_param( ) в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 6А иллюстрирует вторую примерную синтаксическую схему SPS в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 6В иллюстрирует вторую примерную синтаксическую схему PPS в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 6С иллюстрирует вторую примерную синтаксическую схему slice_header( ) в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 7А иллюстрирует третью примерную синтаксическую схему PPS в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 7В иллюстрирует третью примерную синтаксическую схему slice_header( ) в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 8 иллюстрирует четвертую примерную синтаксическую схему slice_header( ) в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 9 иллюстрирует пятую примерную синтаксическую схему slice_header( ) в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 10А иллюстрирует шестую примерную синтаксическую схему PPS в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 10В иллюстрирует шестую примерную синтаксическую схему slice_header( ) в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 11 иллюстрирует седьмую примерную синтаксическую схему slice_header( ) в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 12 иллюстрирует пример синтаксической структуры PPS и заголовка слайса соответствии с вариантом осуществления настоящего изобретения, где несколько синтаксических элементов PPS используются для нескольких слайсов изображения.
Фиг. 13 иллюстрирует примерный кодер, включающий в себя фильтр на основе адаптивного по выборке сдвига (SAO) между фильтром деблокинга (DF) и адаптивным циклическим фильтром (ALF).
Фиг. 14 иллюстрирует примерный декодер, включающий в себя фильтр на основе адаптивного по выборке сдвига (SAO) между фильтром деблокинга (DF) и адаптивным циклическим фильтром (ALF).
Фиг. 15А иллюстрирует структуру данных слайса, содержащего информацию петлевого фильтра, состоящую из информации SAO и информации ALF, в заголовке слайса для состоящего из одного слайса изображения.
Фиг. 15В иллюстрирует структуру данных заголовка слайса и PPS для совместного использования информации петлевого фильтра для состоящего из нескольких слайсов изображения.
Фиг. 16А иллюстрирует примерную структуру данных, включающую в себя APS, согласно одному из вариантов осуществления настоящего изобретения для состоящего из одного слайса изображения.
Фиг. 16В иллюстрирует примерную структуру данных, включающую в себя APS, согласно одному из вариантов осуществления настоящего изобретения для состоящего из нескольких слайсов изображения.
Фиг. 17 иллюстрирует пример синтаксической схемы слайса для поддержки APS в соответствии с одним из вариантов осуществления настоящего изобретения.
Фиг. 18 иллюстрирует пример нескольких APS на изображении, где каждый слайс может выбирать информацию петлевого фильтра из нескольких APS.
Фиг. 19А иллюстрирует пример NDF, где NDF состоят из двух последовательных петлевых фильтров с NDF(0)=SAO и NDF(1)=ALF.
Фиг. 19В иллюстрирует пример NDF, где NDF состоят из N петлевых фильтров, NDF(0), …, NDF(N-1).
Фиг. 20 иллюстрирует примерную схему структуры данных, чтобы позволить каждому петлевому фильтру в слайсе использовать свой собственный идентификатор APS.
Фиг. 21 иллюстрирует примерный синтаксис заголовка слайса, который позволяет для слайса выбирать отдельную информацию фильтра для SAO и ALF из нескольких APS.
Фиг. 22 иллюстрирует примерный синтаксис APS, где идентификация APS включает в себя идентификатор APS и параметры фильтра как для SAO, так и для ALF.
Фиг. 23 иллюстрирует примерную схему структуры данных, чтобы позволить каждому петлевому фильтру в слайсе использовать свой собственный идентификатор APS для выбора информации фильтра из нескольких APS, организованных в группы APS.
Фиг. 24 иллюстрирует примерный синтаксис APS для SAO в Группе SAO APS, где синтаксис APS включает в себя APS ID и параметры SAO.
Фиг. 25 иллюстрирует примерный синтаксис APS для ALF в Группе ALF APS, где синтаксис APS включает в себя APS ID и параметры ALF.
Фиг. 26 иллюстрирует примерный синтаксис SPS, включающий в себя флаг для указания того, включено ли несколько APS.
Фиг. 27 иллюстрирует примерный синтаксис заголовка слайса для поддержки флага для указания, включено ли несколько APS.
ПОДРОБНОЕ ОПИСАНИЕ
Для сжатия цифрового видео межкадровое кодирование с компенсацией движения является эффективной техникой сжатия и получило широкое распространение в различных стандартах кодирования, таких как MPEG-1/2/4 и Н.261/Н.263/Н.2 64/AVC. В системах с компенсацией движения оценка/компенсация движения и последующее сжатие часто выполняются в отношении блока на блочной основе. Во время процесса сжатия могут возникнуть шумы кодирования вследствие применения операций с потерями, таких как квантование. Артефакты кодирования могут стать заметными в реконструированных видеоданных, особенно на границах или вблизи границ блоков. Для того чтобы ослабить видимость артефактов кодирования, в новых системах кодирования, как, например, H.264/AVC и Системе Высокоэффективного Видеокодирования (HEVC), используется техника под названием деблокинг. Процесс деблокинга применяет пространственное фильтрование через границы блоков адаптивно, чтобы сгладить большие переходы на границах и вблизи границ блоков вследствие шумов кодирования, сохраняя при этом резкость изображения. Кроме того, вследствие природы межкадрового кодирования процесс деблокинга выполнен с возможностью работы в цикле.
Примерный кодер, показанный на Фиг. 1, представляет систему Высокоэффективного Видеокодирования (HVEC), использующую внутрикадровое/межкадровое предсказание. Внутрикадровое предсказание 110 отвечает за предоставление данных предсказания, основанных на видеоданных в том же изображении. Для межкадрового предсказания оценка движения (ME) и компенсация движения (МС) 112 используется для предоставления данных предсказания, основанных на ранее реконструированных видеоданных. Переключатель 114 выбирает данные внутрикадрового предсказания или межкадрового предсказания, и выбранные данные предсказания подаются в сумматор 116, чтобы сформировать ошибки предсказания, также называемые остатками. Ошибка предсказания затем обрабатывается с помощью преобразования (Т) 118, за которым следует квантование (Q) 120. Преобразованные и квантованные остатки затем кодируются посредством энтропийного кодирования 122, чтобы сформировать битовый поток, соответствующий сжатым видеоданным. Битовый поток, связанный с коэффициентами квантованного преобразования, затем упаковывается вместе с дополнительной информацией, такой как движение, режим и другой информацией, связанной с областью изображения. Дополнительная информация может также подвергаться энтропийному кодированию, чтобы уменьшить требуемую полосу пропускания, и, соответственно, данные, связанные с дополнительной информацией, подаются в энтропийное кодирование 122, как показано на Фиг. 1. Когда используется режим межкадрового предсказания, опорное изображение или опорные изображения должны быть реконструированы на стороне кодера. Следовательно, преобразованные и квантованные остатки обрабатываются посредством обратного квантования (IQ) 124 и обратного преобразования (IT) 126, чтобы восстановить остатки. Остатки затем заново добавляются назад к данным 136 предсказания при реконструкции (REC) 128, чтобы реконструировать видеоданные. Реконструированные видеоданные могут сохраняться в буфере 134 опорного изображения и использоваться для предсказания других кадров. Однако фильтр 130 деблокинга и адаптивный циклический фильтр (ALF) 132 применяются к реконструированным видеоданным до того, как видеоданные сохраняются в буфере опорного изображения, чтобы улучшить качество видеосигнала. Информация адаптивного циклического фильтра, возможно, должна будет быть передана в битовом потоке, для того чтобы декодер мог должным образом восстановить требуемую информацию, чтобы применить адаптивный циклический фильтр. Следовательно, информация адаптивного циклического фильтра из ALF 132 предоставляется в энтропийное кодирование 122 для включения в состав конечного битового потока. В последующих описаниях информация ALF может включать в себя параметры ALF, относящиеся к коэффициентам, и параметры ALF, относящиеся к управлению ВКЛ/ВЫКЛ. Относящиеся к коэффициентам ALF параметры содержат коэффициенты фильтра и могут также содержать параметры, представляющие, как осуществляется предсказание с использованием нескольких фильтров, способ слияния для нескольких фильтров, размер фильтра и форму фильтра. Параметры, относящиеся к управлению ВКЛ/ВЫКЛ ALF, содержат основанные на CU управляющие флаги ВКЛ/ВЫКЛ и могут также содержать параметры, представляющие размер блока управления ВКЛ/ВЫКЛ и число управляющих флагов ВКЛ/ВЫКЛ ALF.
Фиг. 2 иллюстрирует структурную схему декодера видеосигнала для Высокоэффективного Видеокодирования. Поскольку кодер также содержит части для реконструкции видеоданных, некоторые части декодера уже описаны в кодере. Однако энтропийный декодер 222 не используется кодером. Кроме того, только компенсация 212 движения требуется для стороны декодера. Переключатель 214 выбирает внутрикадровое предсказание или межкадровое предсказание, и данные выбранного предсказания подаются в реконструкцию (REC) 128, чтобы объединиться с восстановленными остатками. Помимо осуществления энтропийного декодирования для сжатых видеоданных, энтропийное декодирование 222 также отвечает за энтропийное декодирование дополнительной информации и предоставляет дополнительную информацию соответствующим блокам. Например, информация внутрикадрового режима предоставляется во внутрикадровое предсказание 110; информация межкадрового режима предоставляется в компенсацию 212 движения; информация адаптивного циклического фильтра предоставляется в ALF 132; а остатки предоставляются в обратное квантование (IQ) 124. Обратное квантование 124 и обратное преобразование (IT) 126 восстанавливают остатки и предоставляют восстановленные остатки для реконструкции. Последующая реконструкция 128 реконструирует видеоданные на основе сигнала предсказания и восстановленного сигнала остатка. Реконструированные видеоданные из REC 128 подвергаются дополнительной обработке, включая фильтр 130 деблокинга и адаптивный циклический фильтр 132.
Адаптивный циклический фильтр (ALF), принятый исходным HEVC, применяет линейный пространственный фильтр для обработки деблокированных кадров реконструкции, где ALF выборочно ВКЛЮЧЕН или ВЫКЛЮЧЕН для каждого блока. Размер блока и форма блока могут быть адаптивными, а информация о размере блока и форме блока может быть явно отправлена в декодер или неявно получена декодером. В соответствии с критерием производительности, видеокодер определит, должен ли блок подвергаться ALF или нет, и использует флаг ALF, чтобы сигнализировать о решении ВКЛ/ВЫКЛ для каждого блока, так что декодер может соответствующим образом применить ALF. Типичный ALF представляет собой линейный пространственный фильтр, где фильтр определяется своими коэффициентами. Информация фильтра, такая как коэффициенты, может быть включена в битовый поток, для того чтобы декодер мог восстановить информацию фильтра и применить ALF соответственно.
В Тестовой Модели HEVC Версии 3.0 (НМ-3.0) одно изображение может быть разделено на множество слайсов, и параметры ALF включены в уровень изображения. Разделение на слайсы может быть выровнено по LCU. Синтаксическая структура в соответствии с текущим HEVC всегда упаковывает всю информацию ALF в заголовок первого слайса. Синтаксическая структура в соответствии с текущим HEVC может испытывать длительную задержку в случае передачи не по порядку и позднего прибытия первого слайса. Кроме того, включение информации ALF в первый слайс затруднительно для параллельного процесса декодирования, поскольку каждая из параллельных ветвей должна будет получить информацию ALF из первого слайса. Заявка на Патент США под порядковым №12/978490, озаглавленная "Method and Apparatus of Slice Boundary Filtering for High Efficiency Video Coding", поданная 24 декабря 2010 года, раскрывает независящий от слайса фильтр деблокинга (DF) и ALF, где процессы DF и ALF не осуществляются через границы слайсов. Соответственно, обработка ALF, основанная на Заявке на Патент США под порядковым номером 12/978490, делает возможным независимое кодирование или декодирование слайса.
Синтаксическая структура слайса в соответствии со старой версией HEVC показана на Фиг. 3А для изображения, состоящего из одного слайса. Как показано на Фиг. 3А, заголовок слайса содержит общую информацию и информацию ALF. Информация ALF содержит информацию, относящуюся к ALF, такую как относящиеся к коэффициентам ALF параметры и относящиеся к управлению ВКЛ/ВЫКЛ параметры. Общая информация содержит не относящуюся к ALF информацию, связанную со слайсом. Примеры общей информации могут включать в себя режим кодирования и параметр (QP) квантования для слайса. В Тестовой Модели HEVC Версии 2.0 (НМ-2.0) изображение может быть разделено на несколько выровненных по LCU слайсов, а параметры ALF адаптированы на уровне изображения. Как показано на Фиг. 3В, синтаксис, связанный с информацией ALF, расположен в заголовке первого слайса изображения. Каждый последующий слайс содержит заголовок слайса и полезную нагрузку слайса, где заголовок слайса содержит общую информацию. Общая информация содержит не относящуюся к ALF информацию, такую как режим кодирования и параметры квантования. Эта синтаксическая схема может вызывать большие задержки декодирования в случае отправки слайсов не по порядку и существенно позднего прибытия первого слайса. Вдобавок, общая информация включена в состав каждого заголовка слайса и может привести к избыточности. Кроме того, поскольку вся информация ALF расположена в первом слайсе, это затрудняет параллельное декодирование слайсов.
Следовательно, желательно разработать новую систему, связанную с новой синтаксической структурой, которая дает возможность параллельной обработки ALF, а также устраняет ненужную избыточность. Кроме того, желательно дать возможность для слайса адаптивно использовать общую информацию и/или информацию ALF на уровне изображения или использовать свою собственную общую информацию и/или информацию ALF в заголовке слайса.
Соответственно, методика совместного использования информации и связанная с ней синтаксическая схема разработана для того, чтобы позволить параллельную обработку ALF, а также чтобы устранить ненужную избыточность общей информации в заголовке слайса. Она также позволяет слайсу адаптивно использовать общую информацию и/или информацию ALF на уровне изображения или использовать свою собственную общую информацию и/или информацию ALF в заголовке слайса. Синтаксическая структура, включающая в себя вариант осуществления в соответствии с настоящим изобретением, проиллюстрирована на Фиг. 4. Для того чтобы удалить избыточность, общая информация перемещена из нескольких заголовков слайсов в заголовок изображения, т.е. Набор Параметров Изображения (PPS). Для лучшей поддержки параллельной обработки слайсов коэффициенты ALF перемещены из заголовка первого слайса в PPS, и каждый заголовок слайса содержит свои собственные относящиеся к управлению ВКЛ/ВЫКЛ блока кодирования (CU) ALF параметры. Следовательно, все слайсы изображения совместно используют одну и ту же общую информацию и относящиеся к коэффициентам ALF параметры в заголовке изображения. Методика совместного использования может привести к небольшому приросту битов из-за битов вставки выравнивания по границе байта, вызванных распространением относящихся к управлению ВКЛ/ВЫКЛ ALF CU параметров во всех заголовках слайсов. Для системы кодирования, где изображение имеет только один слайс, совместное использование информации слайсов может быть выключено. Другими словами, как информация ALF, так и общая информация слайса включены в заголовок слайса. Синтаксис может быть разработан таким образом, чтобы сигнализировать о том, включено или выключено совместное использование информации слайса.
Первый пример синтаксической схемы, включающей в себя вариант осуществления в соответствии с настоящим изобретением, показан на Фиг. 5A-5G, где флаг на уровне изображения используется для указания, использовать ли совместно информацию на уровне изображения. Как показано на Фиг. 5А, pps_use_more_pps_info_flag включен в состав набора параметров изображения (PPS). Когда pps_use_more_pps_info_flag имеет значение, равное 0, он служит признаком отсутствия совместного использования информации, и, соответственно, pps_info( ) и pps_alf_param( ) не передаются в PPS. В этом случае slice_info( ) и slice_alf_param( ) передаются в заголовке слайса, так что каждый слайс использует свою собственную не относящуюся к ALF информацию и параметры ALF. С другой стороны, когда pps_use_more_pps_info_flag имеет значение, равное 1, он служит признаком совместного использования информации, и соответственно, pps_info( ) и pps_alf_param( ) передаются в PPS. В этом случае slice_info( ) и slice_alf_param( ) не включены в заголовок слайса. Когда изображение имеет только один слайс, pps_use_more_pps_info_flag может быть установлен в 0, так что slice_info( ) и slice_alf_param( ) будут включены в заголовок слайса. Когда изображение имеет несколько слайсов, pps_use_more_pps_info_flag может быть установлен в 1, так что pps_info( ) и pps_alf_param( ) будут включены в PPS, чтобы позволить совместное использование информации слайса. PPS, показанный на Фиг. 5А, также содержит PPS ID pic_parameter_set_id и SPS ID seq_parameter_set_id.
Фиг. 5В иллюстрирует пример синтаксиса pps_info( ), где pps_info( ) включает в себя не относящиеся к ALF синтаксические элементы, которые должны совместно использоваться несколькими слайсами. Синтаксис pps_info( ) может включать в себя один или более синтаксических элементов, выбранных из группы, состоящей из типа слайса, параметра (QP) квантования уровня изображения, режима энтропийного кодирования, управляющего флага для включения/выключения фильтра деблокинга, информации опорного изображения, такой как индексы опорного изображения и упорядочение опорного изображения, и информации сдвига значения пиксела. Сдвиг может быть получен на основе различных способов классификации, например, значения DC, ориентации края, интенсивности пиксела и других типов сдвига, которые могут быть получены в процессе как кодирования, так и декодирования. Фиг. 5С иллюстрирует пример синтаксиса pps_alf_param( ), где pps_alf_param( ) включает в себя синтаксический элемент adaptive_loop_filter_flag. Когда adaptive_loop_filter_flag имеет значение, равное 0, это означает, что адаптивное циклическое фильтрование (ALF) выключено. Когда adaptive_loop_filter_flag имеет значение, равное 1, это означает, что адаптивное циклическое фильтрование (ALF) включено, и информация фильтра включена в pps_alf_param( ).
Фиг. 5D иллюстрирует пример синтаксиса slice_header( ). Как было упомянуто ранее, если pps_use_more_pps_info_flag имеет значение, равное 0, slice_info( ) и slice_alf_param( ) включены в заголовок слайса; в противном случае slice_info( ) и slice_alf_param( ) не будут включены в заголовок слайса. Если pps_use_more_pps_info имеет значение, равное 1, то относящиеся к коэффициентам ALF параметры и не относящаяся к ALF информация для слайса будут получены из PPS. Заголовок слайса всегда включает в себя синтаксис alf_cu_control_param( ), соответствующий параметрам управления блока кодирования (CU) ALF, как показано на Фиг. 5D. Фиг. 5Е и Фиг. 5F иллюстрируют примерный синтаксис для slice_info( ) и slice_alf_param( ). Синтаксис slice_info( ) включает в себя не относящуюся к ALF информацию. Синтаксис slice_alf_param( ) может включать в себя относящиеся к коэффициентам ALF параметры, такие как размер фильтра и коэффициенты фильтра, если ALF включен, на что указывает adaptive_loop_filter_flag=1. Как показано на Фиг. 5F, управляющие флаги ВКЛ/ВЫКЛ фильтра не включены в состав slice_alf_param( ).
Фиг. 5G иллюстрирует примерный синтаксис alf_cu_control_param( ). Когда ALF включен, на что указывает adaptive_loop_filter_flag=1, alf_cu_control_flag включен в состав alf_cu_control_param( ). Если alf_cu_control_flag имеет значение, равное 0, он указывает, что компонент яркости слайса не имеет относящихся к управлению ВКЛ/ВЫКЛ CU параметров; в противном случае относящиеся к управлению ВКЛ/ВЫКЛ CU параметры включены в состав. Когда относящиеся к управлению ВКЛ/ВЫКЛ CU параметры включены в состав, компонент яркости, соответствующий областям управления CU с флагами "ВКЛ.", будет отфильтрован. Относящиеся к управлению ВКЛ/ВЫКЛ CU параметры связаны с синтаксическими элементами alf_cu_control_max_depth, num_of_alf_cu_control_flags и alf_onoff_flag. Синтаксический элемент alf_cu_control_max_depth устанавливает максимальную глубину разбиения из LCU для выбора размера области управления CU в ALF. Синтаксический элемент num_of_alf_cu_control_flags устанавливает количество флагов ВКЛ/ВЫКЛ CU. Это количество может быть предикативно закодировано, так что ошибка предсказания передается в целях сохранения полосы пропускания. Когда синтаксический элемент alf_onoff_flag имеет значение, равное 0, он указывает, что область CU не будет отфильтрована; в противном случае область CU будет отфильтрована.
В то время как примерная синтаксическая схема, как показано на Фиг. 5A-5G, использует флаг pps_use_more_pps_info_flag на уровне изображения для указания того, применяется ли совместное использование информации слайса, флаг совместного использования информации может также быть включен в уровень последовательности для указания того, применяется ли совместное использование информации слайса. Второй пример синтаксической схемы, включающей в себя вариант осуществления в соответствии с настоящим изобретением, показан на Фиг. 6А-6С. Синтаксические схемы для pps_info( ), pps_alf_param( ), slice_info( ), slice_alf_param( ) и alf_cu_control_param( ) точно такие же, как изображенные на Фиг. 5В-С и Фиг. 5E-G, и, следовательно, синтаксические схемы для этих синтаксических элементов не повторяются. Фиг. 6А иллюстрирует примерное включение синтаксиса заголовка последовательности. Флаг sps_use_more_pps_info_flag используется для указания совместного использования информации. Когда sps_use_more_pps_info_flag имеет значение, равное 0, он служит признаком отсутствия совместного использования информации, и, соответственно, синтаксические элементы pps_info( ) и pps_alf_param( ) не будут включены в PPS, как показано на Фиг. 6В. В этом случае индивидуальные синтаксические элементы slice_info( ) и slice_alf_param( ) включены в заголовок слайса, так что каждый слайс может использовать индивидуальный ALF, как показано на Фиг. 6С. Когда sps_use_more_pps_info_flag имеет значение, равное 1, он служит признаком совместного использования информации, и, соответственно, pps_info( ) и pps_alf_param( ) включены в PPS и могут совместно использоваться всеми слайсами. В этом случае slice_info( ) и slice_alf_param( ) не будут включены в заголовок слайса. SPS также включает в себя SPS ID seq_parameter_set_id, как показано на Фиг. 6А. Фиг. 6В иллюстрирует примерный синтаксис PPS, работающий совместно с синтаксисом уровня последовательности на Фиг. 6А для поддержки совместного использования информации. Синтаксис PPS на Фиг. 6В подобен синтаксису PPS на Фиг. 5А, за исключением того, что флаг sps_use_more_pps_info_flag уровня последовательности используется для замены флага pps_use_more_pps_info_flag уровня изображения. Фиг. 6С иллюстрирует синтаксическую схему для заголовка слайса, подобную схеме заголовка слайса на Фиг. 5D, за исключением того, что флаг sps_use_more_pps_info_flag уровня последовательности используется вместо флага pps_use_more_pps_info_flag уровня изображения, чтобы определить, существуют ли slice_info( ) и slice_alf_param( ) в заголовке слайса. Соответственно, вторая примерная синтаксическая схема иллюстрирует случай использования флага уровня последовательности, чтобы указать, использовать ли совместно информацию.
В то время как первая примерная синтаксическая схема на Фиг. 5A-G иллюстрирует совместное использование информации в соответствии с флагом pps_use_more_pps_info_flag в PPS, а вторая примерная синтаксическая схема на Фиг. 6А-С иллюстрирует совместное использование информации в соответствии с флагом sps_use_more_pps_info_flag на уровне последовательности, совместное использование информации может также быть достигнуто посредством передачи сигналов в заголовке слайса. Третья примерная синтаксическая схема дает возможность совместного использования информации в PPS в соответствии с флагом уровня слайса. Третья примерная синтаксическая схема, включающая в себя вариант осуществления в соответствии с настоящим изобретением, использует флаг уровня слайса, как показано на Фиг. 7А-В. Третья примерная синтаксическая схема по большей части такая же как первая примерная синтаксическая схема, показанная на Фиг. с 5А по 5G, за исключением PPS и заголовка слайса. Флаг sh_use_more_pps_info_flag совместного использования информации в заголовке слайса используется для указания того, использовать ли совместно информацию для ассоциированного слайса. Синтаксис для PPS может быть таким же, как и традиционный PPS в НМ-2.0, как показано на Фиг. 7А. PPS включает в себя PPS ID, pic_parameter_set_id и SPS ID, seq_parameter_set_id. Синтаксические элементы pps_info( ) и pps_alf_param( ) всегда включены в PPS. Фиг. 7 В иллюстрирует примерный синтаксис заголовка слайса, где заголовок слайса включает в себя PPS ID, pic_parameter_set_id и sh_use_more_pps_info_flag. Когда sh_use_more_pps_info_flag имеет значение, равное 0, он указывает на отсутствие совместного использования информации, и, соответственно, текущий слайс имеет свои собственные slice_info( ) и slice_alf_param( ) в заголовке слайса. В противном случае текущий слайс не имеет своих собственных slice_info( ) и slice_alf_param( ) в заголовке слайса и вместо этого использует pps_info( ) и pps_alf_param( ) в PPS. Первая, вторая и третья примерные синтаксические схемы, показанные на Фиг. 5A-G, Фиг. 6А-С и Фиг. 7А-В, приводятся только, в иллюстративных целях, чтобы показать, как синтаксическая схема позволяет совместно использовать информацию в соответствии с вариантом осуществления настоящего изобретения. Конкретные синтаксические проиллюстрированные элементы не будут истолкованы как ограничения настоящего изобретения. Специалист в данной области техники может применять на практике настоящее изобретение с использованием других синтаксических схем.
В то время как первая, вторая и третья примерные синтаксические схемы, раскрытые выше, иллюстрируют примеры совместного использования информации, на что указывает флаг совместного использования информации в PPS, SPS или заголовке слайса, на различных уровнях может использоваться больше, чем один флаг совместного использования информации. Четвертая примерная синтаксическая схема показана на Фиг. 8, чтобы сделать возможным основанное на PPS совместное использование информации с дополнительной адаптивностью в соответствии с флагом совместного использования информации на уровне слайса. Четвертая примерная синтаксическая схема по большей части такая же, как первая синтаксическая схема, как показано на Фиг. 5A-G, за исключением slice_header( ). Синтаксические элементы, имеющие одну и ту же схему, не повторяются на Фиг. 8. В соответствии с примерным синтаксисом slice_header( ) заголовка слайса на Фиг. 8, если pps_use_more_pps_info_flag имеет значение, равное 1, sh_use_more_pps_info_flag используется для определения, использовать ли совместно информацию на уровне изображения или использовать свою собственную информацию на уровне слайса. Если sh_use_more_pps_info_flag имеет значение, равное 1, он служит признаком совместного использования информации, и слайс будет использовать информацию в PPS. Соответственно, slice_info( ) и slice_alf_param( ) не будут включены в заголовок слайса. Если sh_use_more_pps_info_flag имеет значение, равное 0, он служит признаком отсутствия совместного использования информации, и слайс будет использовать свою собственную информацию в заголовке слайса. Соответственно, slice_info( ) и slice_alf_param( ) будут включены в заголовок слайса. Если pps_use_more_pps_info_flag имеет значение, равное 0, он служит признаком отсутствия совместного использования информации, и, соответственно, слайс использует свои собственные slice_info( ) и slice_alf_param( ) в заголовке слайса. Следовательно, комбинация флага pps_use_more_pps_info_flag уровня изображения и флага sh_use_more_pps_info_flag уровня слайса используется, чтобы сделать возможным совместное использование информации в четвертом примере.
В то время как четвертая примерная синтаксическая схема иллюстрирует пример использования комбинации флага pps_use_more_pps_info_flag уровня изображения и флага sh_use_more_pps_info_flag уровня слайса для того, чтобы сделать возможным совместное использование информации, также возможно использовать другие комбинации. Пятая примерная синтаксическая схема, включающая в себя вариант осуществления в соответствии с настоящим изобретением, показана на Фиг. 9, где комбинация флага sps_use_more_pps_info_flag уровня последовательности и флага sh_use_more_pps_info_flag уровня слайса используется, чтобы сделать возможным совместное использование информации. Пятая примерная синтаксическая схема по большей части такая же, как вторая синтаксическая схема, связанная с Фиг. 6А-С, за исключением slice_header( ). Синтаксические элементы, имеющие одну и ту же схему, не повторяются на Фиг. 9. В соответствии с примерным синтаксисом заголовка слайса, если sps_use_more_pps_info_flag имеет значение, равное 1, он позволяет совместное использование информации. В этом случае использовать ли совместно информацию на уровне изображения или использовать индивидуальную информацию в заголовке слайса определяется в соответствии с флагом sh_use_more_pps_info_flag совместного использования информации уровня слайса. Если sh_use_more_pps_info_flag имеет значение, равное 1, он служит признаком совместного использования информации, и слайс будет использовать информацию в PPS. Соответственно, slice_info( ) и slice_alf_param( ) не будут включены в заголовок слайса. Если sh_use_more_pps_info_flag имеет значение, равное 0, он служит признаком отсутствия совместного использования информации, и слайс будет использовать свою собственную информацию в заголовке слайса. Соответственно, slice_info( ) и slice_alf_param( ) будут включены в заголовок слайса. Если sps_use_more_pps_info_flag имеет значение, равное 0, он служит признаком отсутствия совместного использования информации, и, соответственно, слайс использует свои собственные slice_info( ) и slice_alf_param( ) в заголовке слайса. Следовательно, комбинация флага sps_use_more_pps_info_flag уровня последовательности и флага sh_use_more_pps_info_flag уровня слайса используется, чтобы сделать возможным совместное использование информации в пятом примере.
Шестая примерная синтаксическая схема иллюстрирует еще один пример использования комбинации двух флагов совместного использования информации на двух различных уровнях, где флаги совместного использования информации включены в уровень последовательности и уровень изображения, как показано на Фиг. 10А-В. Шестая примерная синтаксическая схема по большей части такая же как вторая примерная синтаксическая схема, за исключением PPS и синтаксиса slice_header( ). Схема для этих синтаксических элементов, которая имеет такой же синтаксис, не повторяется. Если флаг sps_use_more_pps_info_flag SPS, определенный в SPS, имеет значение, равное 1, то совместное использование информации разрешено, и то использовать ли совместно информацию изображения, определяется в соответствии с pps_use_more_pps_info_flag. В этом случае, если флаг pps_use_more_pps_info_flag уровня изображения имеет значение, равное 1, он служит признаком совместного использования информации, и pps_info( ) и pps_alf_param( ) включены в PPS, как показано на Фиг. 10А. Если флаг pps_use_more_pps_info_flag уровня изображения имеет значение, равное 0, он служит признаком отсутствия совместного использования информации, и соответственно pps_info( ) и pps_alf_param( ) не включены в PPS, как показано на Фиг. 10А. Вместо этого slice_info( ) и slice_alf_param( ) включены в заголовок слайса. Если sps_use_more_pps_info_flag имеет значение, равное 0, он служит признаком того, что совместное использование информации не разрешено. Соответственно, pps_info( ) и pps_alf_param( ) не включены в PPS, а вместо этого slice_info( ) и slice_alf_param( ) включены в заголовок слайса. Следовательно, пример шестой синтаксической схемы иллюстрирует случай совместного использования информации на основе флага sps_use_more_pps_info_flag SPS и флага pps_use_more_pps_info_flag изображения.
В то время как комбинация двух флагов используется в четвертом, пятом и шестом примерах для указания совместного использования информации, также возможно использовать комбинацию трех флагов на всех трех уровнях для указания совместного использования информации. В седьмом примере флаг sps_use_more_pps_info_flag SPS, флаг pps_use_more_pps_info_flag PPS и флаг sh_use_more_pps_info_flag заголовка слайса используются совместно для указания совместного использования информации. Седьмая примерная синтаксическая схема по большей части такая же как для шестого примера, за исключением slice_header( ). Седьмая синтаксическая схема для slice_header( ) показана на Фиг. 11, где схемы для этих синтаксических элементов, которые являются такими же, как в шестом примере, не повторяются. Когда sps_use_more_pps_info_flag имеет значение, равное 0, совместное использование информации не будет разрешено. Когда sps_use_more_pps_info_flag имеет значение, равное 1, a pps_use_more_pps_info_flag имеет значение, равное 0, совместное использование информации также не будет разрешено. В этих двух случаях pps_info( ) и pps_alf_param( ) не включены в PPS. Вместо этого slice_info( ) и slice_alf_param( ) включены в заголовок слайса, так что каждый слайс может использовать свою собственную информацию. Когда sps_use_more_pps_info_flag имеет значение, равное 1, и pps_use_more_pps_info_flag имеет значение, равное 1, совместное использование информации разрешено. В этом случае pps_info( ) и pps_alf_param( ) включены в PPS, и это зависит от sh_use_more_pps_info_flag, использовать ли совместно информацию на уровне изображения или использовать информацию на уровне слайса. Если sh_use_more_pps_info_flag имеет значение 1, он служит признаком совместного использования информации в PPS, и slice_info( ) и slice_alf_param( ) не будут включены в заголовок слайса. Если sh_use_more_pps_info_flag имеет значение, равное 0, он служит признаком отсутствия совместного использования информации, и, соответственно, slice_info( ) и slice_alf_param( ) включены в заголовок слайса, так что слайс может использовать индивидуальную информацию. Следовательно, пример седьмой синтаксической схемы иллюстрирует случай совместного использования информации на основе флага sps_use_more_pps_info_flag SPS, флага pps_use__more_pps_info_flag изображения и флага sh_use_more_pps_info_flag уровня слайса.
Чтобы дополнительно проиллюстрировать включающие в себя совместное использование информации варианты осуществления в соответствии с настоящим изобретением, несколько подробных примеров описаны ниже. В одном из примеров первое изображение разделено на 9 слайсов, второе изображение содержит только один слайс, и третье изображение также содержит один слайс. Другими словами, нет разделения на слайсы во втором и третьем изображениях. На стороне кодирующего устройства pic_parameter_set_id для первого изображения установлен в 0, а набор (PPS) параметров изображения для первого изображения обозначен как PPS 0. pps_use_more_pps_info_flag в PPS 0 установлен в 1, чтобы разрешить совместное использование информации. Все 9 заголовков слайсов в первом изображении ссылаются на PPS 0, и общая информация слайса 9-ти слайсов включена в PPS 0. pic_parameter_set_id для второго изображения установлен в 1, а набор (PPS) параметров изображения для второго изображения обозначен как PPS 1. Поскольку во втором изображении только один слайс, нет необходимости в совместном использовании информации. Соответственно, pps_use_more_pps_info_flag в PPS 1 установлен в 0, а заголовок слайса ссылается на PPS 1. Подобным образом единственный слайс в третьем изображении может также ссылаться на PPS 1, чтобы отключить совместное использование информации.
Операции на стороне декодера, соответствующие вышеприведенному примеру, описаны ниже. PPS 0 принимается, и включается совместное использование информации в соответствии с pps_use_more_pps_info_flag в PPS 0. Соответственно, общая информация, такая как относящиеся к коэффициентам ALF параметры и не относящаяся к ALF общая информация, используется для всех 9 слайсов в первом изображении. Кроме того, декодер получает дополнительную информацию, такую как относящиеся к управлению ВКЛ/ВЫКЛ ALF CU параметры, в каждом из 9 заголовков слайса в первом изображении. ALF затем применяется к каждому слайсу в соответствии с относящимися к коэффициентам ALF параметрами в PPS 0 и относящимися к управлению ВКЛ/ВЫКЛ ALF CU параметрами в соответствующем заголовке слайса. Затем декодер переходит к получению PPS 1. В соответствии с pps_use_more_pps_info_flag в PPS 1, который имеет значение, равное 0, в этом примере, чтобы служить признаком отсутствия совместного использования информации, декодер получает информацию ALF, такую как относящиеся к коэффициентам ALF параметры и относящиеся к управлению ВКЛ/ВЫКЛ параметры, из заголовка слайса. ALF затем применяется к единственному слайсу во втором изображении. Декодер далее переходит к получению заголовка слайса в третьем изображении. Поскольку заголовок слайса для слайса третьего изображения также ссылается на PPS 1, декодер получает информацию ALF, такую как относящиеся к коэффициентам ALF параметры и относящиеся к управлению ВКЛ/ВЫКЛ параметры, из заголовка слайса, соответствующего слайсу третьего изображения. ALF затем применяется к единственному слайсу в третьем изображении.
Следующий пример иллюстрирует фильтрование ALF с временной задержкой с использованием набора параметров уровня изображения, включающего в себя вариант осуществления в соответствии с настоящим изобретением. Этот пример также иллюстрирует, что настоящее изобретение может предоставить адаптацию параметров ALF как на уровне изображения, так и на уровне слайса. В этом примере первое изображение разделено на 9 слайсов, второе изображение содержит один слайс, и третье изображение также содержит один слайс. Другими словами, нет разделения на слайсы во втором и третьем изображениях. В первом изображении первые 5 слайсов используют ALF, полученное на основе 5 слайсов, а оставшиеся 4 слайса совместно используют те же самые коэффициенты ALF, что и первые 5 слайсов, чтобы выполнить фильтрование с временной задержкой. Подобным образом третье изображение использует коэффициенты ALF, полученные из второго изображения, для выполнения фильтрования с временной задержкой. На стороне кодера коэффициенты ALF получаются на основе первых 5 слайсов первого изображения, и коэффициенты ALF включены в PPS 0. Поскольку коэффициенты ALF основаны на первых 5 слайсах, кодер должен ждать завершения кодирования первых 5 слайсов и затем определяет коэффициенты ALF. Следовательно, фильтрование ALF для первых 5 слайсов задерживается до тех пор, пока не закодируются все 5 слайсов. Все 9 заголовков слайсов в первом изображении ссылаются на PPS 0. Во втором изображении коэффициенты ALF, полученные из второго изображения, включены в PPS 1, а заголовок слайса, связанный со вторым изображением, ссылается на PPS 1. Для третьего изображения слайс использует коэффициенты ALF, сконструированные на основе второго изображения, и заголовок слайса также ссылается на PPS 1. На стороне декодера операции подобны вышеприведенному примеру фильтрования без временной задержки.
Помимо ALF, восстановление сдвига, такого как сдвиг края или сдвиг полосы, может также совместно использовать информацию на уровне изображения и уровне слайса. Для коррекции сдвига информация сдвига, связанная со слайсом, может быть включена в битовый поток, так что декодер может применить должное значение сдвига, чтобы скорректировать сдвиг для слайса. Следующий пример иллюстрирует восстановление сдвига с временной задержкой с использованием набора параметров уровня изображения, согласно варианту осуществления в соответствии с настоящим изобретением. В этом примере первое изображение разделено на 9 слайсов, второе изображение имеет 1 слайс, и третье изображение также имеет 1 слайс. Другими словами, нет разделения на слайсы во втором и третьем изображениях. В первом изображении первые 5 слайсов используют информацию сдвига на основе 5 слайсов, а оставшиеся 4 слайса совместно используют ту же самую информацию сдвига, что и первые 5 слайсов, чтобы выполнить восстановление сдвига с временной задержкой. Подобным образом третье изображение использует информацию сдвига, полученную из второго изображения, для выполнения восстановления сдвига с временной задержкой. На стороне кодера информация сдвига получается на основе первых 5 слайсов первого изображения, и информация сдвига включена в PPS 0. Все 9 заголовков слайса в первом изображении ссылаются на PPS 0. Во втором изображении информация сдвига, полученная из второго изображения, включена в PPS 1, а заголовок слайса, связанный со вторым изображением, ссылается на PPS 1. В третьем изображении заголовок слайса также ссылается на PPS 1. Совместное использование информации, связанное с восстановлением сдвига, может быть включено в не относящуюся к ALF общую информацию.
На стороне декодера принимается PPS 0. В соответствии с pps_use_more_pps_info_flag в PPS 0, который имеет значение 1 в этом примере, чтобы служить признаком совместного использования информации, декодер использует информацию сдвига в PPS 0 для всех слайсов в изображении. Совместное использование информации, связанное с восстановлением сдвига, может быть включено в не относящуюся к ALF общую информацию. Принимаются 9 заголовков слайсов в первом изображении. Заголовки слайсов ссылаются на PPS 0, и информация сдвига в PPS 0 используется для первого изображения. Декодер далее переходит к получению PPS 1 и получает заголовок слайса во втором изображении. Заголовок слайса ссылается на PPS 1, и информация сдвига в PPS 1 используется для второго изображения. Декодер далее переходит к получению заголовка слайса, связанного с третьим изображением. Заголовок слайса ссылается на PPS 1, и информация сдвига в PPS 1 используется для третьего изображения.
Примерная синтаксическая схема, проиллюстрированная выше, также дает возможность изображению с несколькими слайсами использовать более одного набора параметров уровня изображения. Фиг. 12 иллюстрирует пример синтаксической структуры, включающей в себя вариант осуществления в соответствии с настоящим изобретением. Изображение разделено на N слайсов, и слайсы с 1 по (N-1) совместно используют одни и те же коэффициенты ALF, включенные в PPS_0. Слайс N ссылается на другой PPS, т.е. PPS_1, где совместное использование информации отключено. Соответственно, слайс N использует свою собственную информацию в заголовке слайса. В то время как используется два заголовка изображения, также могут использоваться более двух заголовков изображения. В то время как разделение на слайсы сделано так, чтобы последний слайс, ссылался на заголовок второго изображения на Фиг. 12, разделение на слайсы также может быть сделано иначе, чтобы применить на практике вариант осуществления в соответствии с настоящим изобретением.
В то время как Фиг. 1 и Фиг. 2 иллюстрируют фильтр деблокинга и адаптивный циклический фильтр как два типа петлевых фильтров, используемых в системе кодирования, другие типы петлевых фильтров также могут использоваться для обработки реконструированных видеоданных. Например, петлевой фильтр, основывающийся на адаптивном по выборке сдвиге (SAO), был раскрыт в Заявке на Патент США под порядковым номером 13/177424, поданной 6 июля 2011. Когда SAO используется в качестве петлевого фильтра, он может быть применен к реконструированному сигналу перед фильтром деблокинга, между фильтром деблокинга и ALF или после ALF. Фиг. 13 иллюстрирует пример применения SAO 1310 между фильтром деблокинга 130 (DF) и ALF 132. Для того чтобы позволить декодеру должным образом применять соответствующие петлевые фильтры к реконструированным видеоданным, информация, относящаяся к параметрам петлевого фильтра, должна быть сделана известной видеодекодеру сигнала. Например, информация, относящаяся к параметрам петлевого фильтра, может быть перенесена в битовом видеопотоке. Фиг. 13 иллюстрирует пример того, что информация петлевого фильтра, связанная с фильтром деблокинга, SAO и ALF, предоставляется в энтропийное кодирование 122 для включения в битовый видеопоток. Блок 122 видеокодирования может включать информацию фильтра, относящуюся к DF, SAO и ALF, в битовый видеопоток в сжатой форме. В то время как информация петлевого фильтра может быть включена в битовый видеопоток в сжатой форме, некоторая или вся из информации петлевого фильтра также может быть включена в несжатой форме. Фиг. 14 иллюстрирует примерный декодер, имеющий фильтр деблокинга, SAO и ALF в качестве петлевых фильтров. Снова SAO используется между фильтром деблокинга и ALF, чтобы соответствовать расположению кодера на Фиг. 13. Информация петлевого фильтра извлекается энтропийным декодером 222 и предоставляется в соответствующие петлевые фильтры, такие как фильтр деблокинга, SAO и ALF.
В Тестовой Модели HEVC Версии 3.2 (НМ-3.2) информация петлевого фильтра включена в заголовок слайса. Для изображения, которое состоит из одного слайса, структура данных слайса показана на Фиг. 15А, где заголовок слайса содержит информацию петлевого фильтра, состоящую из информации SAO и информации ALF. Кроме того, информация ALF состоит из относящихся к коэффициентам ALF параметров и информации управления ВКЛ/ВЫКЛ ALF CU. Для изображения, которое состоит из нескольких слайсов, некоторая информация петлевого фильтра может быть использована совместно. Например, в соответствии с НМ-3.2 информация ALF может быть использована совместно, как показано на Фиг. 15В. Коэффициенты ALF включены в PPS, для того чтобы совместно использоваться ассоциированными слайсами. С другой стороны, информация управления ВКЛ/ВЫКЛ ALF CU включена в заголовок слайса отдельных слайсов, как показано на Фиг. 15В. В то время как способ, проиллюстрированный на Фиг. 15В, демонстрирует средства для совместного использования информации петлевого фильтра, избыточная информация в PPS должна будет быть отправлена для каждого изображения. С другой стороны, первоначальное предназначение схемы PPS не подразумевало частой смены информации. Соответственно, новый набор параметров, названный Набором Параметров Адаптации (APS), разработан для преодоления проблемы отправки избыточной информации в каждом изображении и проблемы отсутствия поддержки для часто меняющейся информации. APS в соответствии с настоящим изобретением будет содержать только информацию, относящуюся к петлевым фильтрам, так что он будет учитывать часто меняющуюся информацию без бремени повторения информации, которая не меняется часто. Информация, переносимая APS, может включать в себя частичные или полные параметры фильтра. Кроме того, APS может также включать в себя один идентификатор, чтобы указать выбранный APS, если используется несколько APS. APS может быть включен в битовый видеопоток с использованием формата полезной нагрузки последовательности необработанных байтов (RSBP).
Набор Параметров Адаптации (APS) в соответствии с одним из вариантов осуществления настоящего изобретения, допускает одну активацию на изображение. Когда APS активирован, он активируется один раз в первом принятом слайсе одного изображения. APS может оставаться таким же от изображения к изображению и может также меняться между изображениями. Кроме того, APS содержит только информацию, которая, как ожидается, часто меняется между изображениями. Одна примерная структура данных, включающая в себя APS в соответствии с одним из вариантов осуществления настоящего изобретения, показана на Фиг. 16А для состоящего из одного слайса изображения. Информация SAO и коэффициенты ALF включены в APS вместо PPS. Структура данных слайса подобна структуре данных слайса, показанной на Фиг. 15В для состоящего из нескольких слайсов изображения в НМ-3.2. Фиг. 16В иллюстрирует примерную структуру данных, включающую в себя APS, согласно одному из вариантов осуществления настоящего изобретения для состоящего из нескольких слайсов изображения. В PPS нет флага совместного использования информации петлевого фильтра. Структура данных, используемая для состоящего из нескольких слайсов изображения, такая же, как для состоящего из одного слайса изображения, за исключением того, что для состоящего из нескольких слайсов изображения есть данные множества слайсов. Пример APS, показанный на Фиг. 16А-В, иллюстрирует случай, когда SAO и ALF всегда совместно используют информацию петлевого фильтра в одном и том же APS. Однако, как будет обсуждено далее, также возможно использовать отдельные APS для SAO и ALF. Как показано на Фиг. 16А-В, относящиеся к управлению ВКЛ/ВЫКЛ ALF CU параметры всегда остаются в заголовке слайса в случае либо состоящего из одного слайса изображения, либо состоящего из нескольких слайсов изображения.
Фиг. 17 иллюстрирует пример синтаксической схемы слайса для поддержки APS в соответствии с одним из вариантов осуществления настоящего изобретения. Если либо SAO, либо ALF включены, как показано в SPS посредством sample_adaptive_offset_enabled_flag или adaptive_loop_filter_enabled_flag соответственно, идентификатор APS, aps_id, включается в состав, так что слайс будет приспособлен совместно использовать информацию петлевого фильтра, переносимую в APS, как указано посредством aps_id. Кроме того, если ALF включен, как указано посредством adaptive_loop_filter_enabled_flag, и некоторая информация ALF используется совместно в APS, как указано посредством aps_adaptive_loop_filter_enabled_flag, только информация управления ВКЛ/ВЫКЛ ALF CU будет включена в заголовок слайса. Пример схемы заголовка слайса на Фиг. 17 использует один aps_id для всех петлевых фильтров для совместного использования информации. Тем не менее, другие схемы заголовка слайса также могут быть использованы для применения на практике настоящего изобретения. Например, вместо общего APS для всех петлевых фильтров отдельный APS может использоваться для каждого из петлевых фильтров. Альтернативно, одна часть петлевых фильтров может иметь индивидуальный APS, а другая часть может совместно использовать общий APS.
Схема заголовка слайса, показанная на Фиг. 17, позволяет каждому слайсу выбирать свой собственный aps_id для определения информации петлевого фильтра для слайса. Следовательно, примерная схема заголовка слайса на Фиг. 17 способна вмещать слайсы в изображении, чтобы использовать различные APS. Фиг. 18 иллюстрирует пример двух APS в изображении, чтобы переносить два набора коэффициентов ALF. В зависимости от aps_id в соответствующем заголовке слайса, слайс может выбрать использование информации петлевого фильтра, переносимого либо в APS_0, либо в APS_1. Пример на Фиг. 18 иллюстрирует сценарий, в котором первый и второй слайсы используют информацию петлевого фильтра в APS_0, тогда как N-ый слайс использует информацию петлевого фильтра в APS_1. В то время как два APS в изображении проиллюстрированы на Фиг. 18, больше APS может быть использовано в изображении. Идентификатор APS, aps_id, должен быть разработан соответственно, чтобы быть способным представлять число APS, разрешенных в изображении.
Среди разнообразных петлевых фильтров фильтр деблокинга применяется к границам блоков, таких как границы блока преобразования. Обычно требуемая информация фильтра определяется из блока, в отношении которого должен быть применен деблокинг, и не требуется совместного использования информации фильтра. Следовательно, совместное использование информации петлевого фильтра может быть применено к петлевым фильтрам, отличным от фильтра деблокинга. Петлевые фильтры, отличные от фильтра деблокинга, называются недеблокирующие фильтры (NDF) в этом раскрытии. В одном из вариантов осуществления в соответствии с настоящим изобретением NDF включают в себя SAO и ALF, как показано на Фиг. 19А, где NDF состоят из двух петлевых фильтров с NDF(0)=SAO и NDF(1)=ALF. Если ALF применяется до SAO, NDF могут быть представлены как NDF(0)=ALF и NDF(1)=SAO. NDF могут быть расширены, чтобы включать в себя N петлевых фильтров, как показано на Фиг. 19В, где NDF состоят из NDF (0), …, NDF(N-1). В соответствии с вариантом осуществления настоящего изобретения, параметры NDF кодируются и передаются в APS. APS представляет собой полезную нагрузку последовательности необработанных байтов (RBSP) уровня изображения, которая содержит часто меняющуюся информацию уровня изображения. Также существование APS зависит от использования флагов NDF, переданных в наборе параметров последовательности (SPS). APS не будет передан, если флаги использования NDF в SPS указывают, что все NDF выключены, т.е., все флаги использования нулевые.
Примерный синтаксис заголовка слайса, показанный на Фиг. 17, использует один aps_id в заголовке слайса для всех петлевых фильтров. Однако каждый петлевой фильтр для слайса может использовать свой собственный aps_id для увеличения гибкости. Например, несколько APS ID могут быть переданы в заголовке слайса, и слайс может выбрать разный APS для каждого NDF. Существование NDF(n) идентификатора APS, NDF(n)_aps_id, для NDF(n) в заголовке слайса неявно выбирается флагом использования NDF(n) в SPS. Если флаг использования NDF(n) в SPS равен 0, NDF (n) _aps__id не включен в заголовок слайса. Фиг. 20 иллюстрирует примерную схему структуры данных, чтобы позволить каждому петлевому фильтру в слайсе использовать свой собственный идентификатор APS, aps_id. На уровне слайса заголовок слайса для слайса к содержит идентификаторы APS для всех петлевых фильтров, т.е, NDF(0)_aps_id, NDF(1)_aps_id, …, и NDF(N-1)_aps_id. С другой стороны, несколько APS переносятся на уровне изображения/слайса. Идентификатор APS для NDF(i), NDF(i)_aps_id может указывать на APS, отличный от APS для другого NDF(j). В примере на Фиг. 20 NDF(n)_aps_id=p, a NDF(n+1)_aps_id=q подразумевает, что информация фильтра для фильтра NDF(n) выбирается из APS(p), а информация фильтра для фильтра NDF(n+1) выбирается из APS(q). Например, в случае двух NDF с NDF(0)=SAO и NDF(1)=ALF, если APS ID для ALF, ALF_aps_id, равен 0, то параметры ALF в APS(0) будут применены для ALF обработки слайса. Если APS ID для SAO, SAO_aps_id, равен 2, то параметры SAO в APS(2) будут применены для SAO обработки слайса. Как ALF_aps_id, так и SAO_aps_id передаются в заголовке слайса. Фиг. 21 и 22 иллюстрируют заголовок слайса и примеры синтаксиса APS для поддержки нескольких петлевых фильтров и для того, чтобы позволить каждому петлевому фильтру иметь свою собственную информацию фильтра, выбранную из набора APS. Фиг. 21 иллюстрирует примерный синтаксис заголовка слайса, который позволяет для слайса выбирать отдельную информацию фильтра для SAO и ALF из нескольких APS. Например, когда Флаг Включения SAO, sample_adaptive_offset_enabled_flag, в SPS указывает, что SAO включен, SAO_aps_id включается в состав, чтобы позволить для слайса выбрать информацию фильтра SAO из APS, на который указывает SAO_aps_id. Подобным образом, когда adaptive_loop_filter_enabled_flag в SPS указывает, что ALF включен, ALF_aps_id включается в состав, чтобы позволить для слайса выбрать информацию фильтра ALF из APS, на который указывает ALF_aps_id. В синтаксисе APS, т.е. aps_parameter_set_rbsp( ), идентификатор APS, aps_parameter_set_id, включен в состав, как показано на Фиг. 22. Соответствующая информация SAO, SAO_param( ), и информация ALF, ALF_param( ), также включена в состав aps_parameter_set_rbsp( ).
В другом варианте осуществления настоящего изобретения несколько APS для одного инструмента NDF могут быть собраны в группе APS (APSG). Как было упомянуто выше, NDF(n) ссылается на конкретный тип петлевого фильтра или инструмент петлевого фильтра среди N NDF. Например, NDF(0) на Фиг. 19А ссылается на петлевой фильтр SAO. Соответственно, на NDF(n) также ссылаются как на n-й инструмент NDF. Когда используется группа APS, APSG(n) используется для обозначения группы APS для параметров NDF(n). Существование APSG(n) может быть неявно определено в соответствии с флагом использования NDF(n) в SPS. Если флаг использования NDF(n) в SPS указывает, что NDF(n) не используется, APSG(n) не будет передаваться. Существование NDF(n)_aps_id в заголовке слайса неявно определяется в соответствии с флагом использования NDF(n) в SPS. Если флаг использования NDF(n) в SPS указывает на то, что NDF(n) не используется, NDF(n)_aps_id не передается в заголовке слайса. Примерный заголовок слайса и структура APS, чтобы сделать возможным гибкое совместное использование информации фильтра, проиллюстрирован на Фиг. 23, где структура заголовка слайса остается такой же, a APS для конкретного инструмента NDF организованы в группу. Например, наборы параметров для NDF(n) могут быть организованы в группу APSG(n). Подобным образом наборы параметров для NDF(n+1) могут быть организованы в группу APSG(n+1). Если NDF(n)_aps_id равно p, выбирается параметр APS(p) в APSG(n). Подобным образом, если NDF(n+1)_aps_id равно q, выбирается параметр APS(q) в APSG(n+1).
Структура заголовка слайса на Фиг. 23 такая же, как на Фиг. 20. Следовательно, такой же синтаксис заголовка слайса, показанный на Фиг. 21, может использоваться для поддержки случая с использованием группы APS. Синтаксисы для APS в SAO APSG и ALF APSG показаны на Фиг. 24 и 25 соответственно. На Фиг. 24 синтаксис APS, aps_sao_parameter_set_rbsp( ) в SAO APSG, включает в себя APS ID, aps_sao_parameter_set_id для параметров SAO в SAO APSG и SAO_param ( ), связанный с aps_sao_parameter_set_id. Подобным образом на Фиг. 25 синтаксис APS, aps_alf_parameter_set_rbsp( ) в ALF APSG, включает в себя APS ID, aps_alf_parameter_set_id для параметров ALF в ALF APSG и ALF_param( ), связанный с aps_alf_parameter_set_id.
В соответствии с другим вариантом осуществления настоящего изобретения, флаг multiple_aps_ids_enabled_flag в SPS может использоваться для указания того, несколько APS ID или единственный APS ID передается в заголовке слайса. Когда этот флаг в SPS указывает на то, что используется несколько APS ID, тогда несколько APS ID передаются в заголовке слайса, чтобы выбрать информацию фильтра для петлевых фильтров из нескольких APS. Когда этот флаг в SPS указывает, что используется единственный APS ID, только один APS ID передается в заголовке слайса, что является подобным случаю на Фиг. 17. Фиг. 26 иллюстрирует примерный синтаксис SPS, включающий в себя флаг нескольких APS ID, multiple_aps_ids_enabled_flag. Фиг. 27 иллюстрирует примерный синтаксис заголовка слайса для поддержки вышеупомянутых нескольких APS ID. Когда включены несколько APS ID, как указано multiple_aps_ids_enabled_flag, заголовок слайса будет содержать SAO APS ID, SAO_aps_id, если SAO включен, как указано sample_adaptive_offset_enabled_flag в SPS. Кроме того, заголовок слайса будет содержать ALF APS ID, ALF_aps_id, если ALF включен, как указано adaptive_loop_filter_enabled_flag в SPS. Когда несколько APS ID, как указано multiple_aps_ids_enabled_flag выключены, заголовок слайса будет содержать общий APS ID, ndf_aps_id, если SAO включен, как указано sample_adaptive_offset_enabled_flag в SPS, или ALF включен, как указано adaptive_loop_filter_enabled_flag в SPS. Примерный синтаксис заголовка слайса на Фиг. 27 вмещает два типа NDF, т.е. SAO и ALF. Однако вариант осуществления в соответствии с настоящим изобретением может включать в себя больше или меньше NDF. Кроме того, примерные синтаксисы, показанные выше, предназначены для иллюстрирования примеров, чтобы применить на практике различные варианты осуществления настоящего изобретения. Специалист в данной области техники может использовать другой синтаксис для применения на практике настоящего изобретения, не выходя за рамки сущности настоящего изобретения.
Общая схема совместного использования общей информации, описанная выше, может использоваться в видеокодере, а также в видеодекодере. Варианты осуществления совместного использования информации в соответствии с настоящим изобретением, как описано выше, могут быть реализованы в различном аппаратном обеспечении, программных кодах или комбинации их обоих. Например, вариант осуществления настоящего изобретения может быть схемой, интегрированной в чип сжатия видео, или программными кодами, интегрированными в программное обеспечение сжатия видео, чтобы осуществить обработку, описанную в материалах настоящей заявки. Вариант осуществления настоящего изобретения также может представлять собой программные коды, которые должны исполняться в Цифровом Сигнальном Процессоре (DSP), чтобы осуществить обработку, описанную в материалах настоящей заявки. Изобретение также может включать в себя ряд функций, которые должны выполняться компьютерным процессором, цифровым сигнальным процессором, микропроцессором или программируемой пользователем вентильной матрицей (FPGA). Эти процессоры могут быть выполнены с возможностью выполнения конкретных задач в соответствии с изобретением путем исполнения машиночитаемого программного кода или прошитого кода, который определяет конкретные способы, реализованные в изобретении. Программный код или прошитые коды могут быть разработаны на различных языках программирования и в различном формате или стиле. Программный код также может быть скомпилирован для различных целевых платформ. Однако различные форматы кода, стили и языки или программные коды и другие средства конфигурирования кода для выполнения задач в соответствии с изобретением не будут выходить за рамки сущности и объема изобретения.
Изобретение может быть воплощено в других специфических формах, не выходя за рамки сущности или существенных характеристик настоящего изобретения. Описанные примеры во всех отношениях должны рассматриваться только как иллюстративные, а не ограничивающие. Объем изобретения, следовательно, скорее определяется прилагаемой формулой изобретения, чем вышеизложенным описанием. Все изменения, которые подпадают под смысловое значение и диапазон эквивалентности формулы изобретения, должны охватываться пределами ее объема.