СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ ВИДЕО И СПОСОБ И УСТРОЙСТВО ДЛЯ ДЕКОДИРОВАНИЯ ВИДЕО ПОСРЕДСТВОМ КОМПЕНСАЦИИ ПИКСЕЛЬНОГО ЗНАЧЕНИЯ В СООТВЕТСТВИИ С ГРУППАМИ ПИКСЕЛЕЙ
METHOD AND APPARATUS FOR ENCODING VIDEO AND METHOD AND APPARATUS FOR DECODING VIDEO THROUGH PIXEL VALUE COMPENSATION IN ACCORDANCE WITH PIXEL GROUPS

Область техники, к которой относится изобретение
Устройства и способы в соответствии с иллюстративными вариантами осуществления имеют отношение к кодированию и декодированию видео.
Уровень техники
По мере того как разрабатываются и обеспечиваются аппаратные средства для воспроизведения и хранения видео с высоким разрешением или высоким качеством, увеличивается потребность в видеокодеке для эффективного кодирования или декодирования видео с высоким разрешением или высоким качеством. В видеокодеке предшествующего уровня техники видео кодируется в соответствии с ограниченным способом кодирования на основе макроблоков, имеющих предопределенный размер.
Качество изображения может быть искажено вследствие кодирования и декодирования видео, и для восстановленного изображения к декодеру может быть добавлен модуль постобработки для улучшения качества восстановленного изображения.
Раскрытие изобретения
Техническая проблема
Один или более иллюстративных вариантов осуществления обеспечивают способ и устройство для кодирования видео и способ и устройство для декодирования видео для компенсации пиксельного значения предопределенной группы пикселей.
Решение проблемы
В соответствии с аспектом иллюстративного варианта осуществления обеспечен способ кодирования видео для компенсации пиксельного значения, способ содержит этапы, на которых: кодируют данные изображения; декодируют закодированные данные изображения и формируют восстановленное изображение посредством выполнения петлевой фильтрации над декодированными данными изображения; определяют значение компенсации, соответствующее погрешностям между предопределенной группой восстановленных пикселей в восстановленном изображении и соответствующими первоначальными пикселями, и группу пикселей, содержащую восстановленный пиксель, который должен быть компенсирован посредством использования значения компенсации; и кодируют значение компенсации и передают закодированное значение компенсации и битовый поток закодированных данных изображения.
Полезные эффекты изобретения
При кодировании и декодировании видео в соответствии с иллюстративными вариантами осуществления можно определить средние значения погрешностей локальных минимальных значений и локальных максимальных значений предопределенной группы пикселей между восстановленным изображением и исходным изображением и компенсировать пиксельные значения восстановленных пикселей в предопределенной группе пикселей.
Краткое описание чертежей
Фиг. 1 - блок-схема устройства для кодирования видео для компенсации пиксельного значения в соответствии с иллюстративным вариантом осуществления;
Фиг. 2 - блок-схема устройства для декодирования видео для компенсации пиксельного значения в соответствии с иллюстративным вариантом осуществления;
Фиг. 3 иллюстрирует соседние восстановленные пиксели, которые должны быть сравнены с восстановленным пикселем, с тем чтобы определить уровень экстремального значения восстановленного пикселя, в соответствии с иллюстративным вариантом осуществления;
Фиг. 4 - блок-схема последовательности операций для описания адаптивной петлевой фильтрации в соответствии с иллюстративным вариантом осуществления;
Фиг. 5 - блок-схема последовательности операций для описания адаптивной петлевой фильтрации в соответствии с другим иллюстративным вариантом осуществления;
Фиг. 6 - блок-схема последовательности операций, иллюстрирующая способ кодирования видео для компенсации пиксельного значения, в соответствии с иллюстративным вариантом осуществления;
Фиг. 7 - блок-схема последовательности операций, иллюстрирующая способ декодирования видео посредством компенсации пиксельного значения, в соответствии с иллюстративным вариантом осуществления;
Фиг. 8 - блок-схема устройства для кодирования видео посредством компенсации пиксельного значения после выполнения петлевой фильтрации на основе элементов кодирования, имеющих древовидную структуру, в соответствии с иллюстративным вариантом осуществления;
Фиг. 9 - блок-схема устройства для декодирования видео посредством компенсации пиксельного значения после выполнения петлевой фильтрации на основе элементов кодирования, имеющих древовидную структуру, в соответствии с иллюстративным вариантом осуществления;
Фиг. 10 - схема для описания концепции элементов кодирования в соответствии с иллюстративным вариантом осуществления;
Фиг. 11 - блок-схема кодера изображения на основе элементов кодирования в соответствии с иллюстративным вариантом осуществления;
Фиг. 12 - блок-схема декодера изображения на основе элементов кодирования в соответствии с иллюстративным вариантом осуществления;
Фиг. 13 - схема, иллюстрирующая более глубокие элементы кодирования в соответствии с глубинами и разделы, в соответствии с иллюстративным вариантом осуществления;
Фиг. 14 - схема для описания отношения между элементом кодирования и элементами преобразования в соответствии с иллюстративным вариантом осуществления;
Фиг. 15 - схема для описания информации кодирования элементов кодирования, соответствующих глубине кодирования, в соответствии с иллюстративным вариантом осуществления;
Фиг. 16 - схема более глубоких элементов кодирования в соответствии с глубинами в соответствии с иллюстративным вариантом осуществления;
Фиг. 17-19 - схемы для описания отношения между элементами кодирования, элементами предсказания и элементами преобразования в соответствии с иллюстративным вариантом осуществления;
Фиг. 20 - схема для описания отношения между элементом кодирования, элементом предсказания или разделом и элементом преобразования в соответствии с информацией о режиме кодирования в таблице 2;
Фиг. 21 - блок-схема последовательности операций, иллюстрирующая способ кодирования видео посредством компенсации пиксельного значения после выполнения петлевой фильтрации на основе элементов кодирования, имеющих древовидную структуру, в соответствии с иллюстративным вариантом осуществления; и
Фиг. 22 - блок-схема последовательности операций, иллюстрирующая способ декодирования видео посредством компенсации пиксельного значения после выполнения петлевой фильтрации на основе элементов кодирования, имеющих древовидную структуру, в соответствии с иллюстративным вариантом осуществления.
Предпочтительный вариант осуществления изобретения
В соответствии с аспектом иллюстративного варианта осуществления обеспечен способ кодирования видео для компенсации пиксельного значения, способ содержит этапы, на которых: кодируют данные изображения; декодируют закодированные данные изображения и формируют восстановленное изображение посредством выполнения петлевой фильтрации над декодированными данными изображения; определяют значение компенсации, соответствующее погрешностям между предопределенной группой восстановленных пикселей в восстановленном изображении и соответствующими первоначальными пикселями, и группу пикселей, содержащую восстановленный пиксель, который должен быть компенсирован посредством использования значения компенсации; и кодируют значение компенсации и передают закодированное значение компенсации и битовый поток закодированных данных изображения.
Этап определения значения компенсации и группы пикселей содержит этапы, на которых: определяют уровень экстремального значения, указывающий степень близости с максимальным значением или минимальным значением, в соответствии с восстановленными пикселями посредством сравнения пиксельных значений соседних восстановленных пикселей в восстановленном изображении; и определяют группу пикселей, содержащую восстановленный пиксель, который должен быть компенсирован, среди соседних восстановленных пикселей на основе определенного уровня экстремального значения в соответствии с восстановленными пикселями.
Этап определения группы пикселей на основе уровня экстремального значения может включать в себя этап, на котором распределяют соседние восстановленные пиксели по группам пикселей, включающим в себя восстановленные пиксели, имеющие один и тот же уровень экстремального значения, на основе определенного уровня экстремального значения в соответствии с восстановленными пикселями, и определяют группу пикселей с по меньшей мере одним уровнем экстремального значения как группу пикселей, включающую в себя восстановленный пиксель, который должен быть компенсирован, и определение значения компенсации и группы пикселей может дополнительно включать в себя этап, на котором определяют значение компенсации для определенной группы пикселей с по меньшей мере одним уровнем экстремального значения.
Этап определения значения компенсации и группы пикселей может содержать этапы, на которых: распределяют восстановленные пиксели восстановленного изображения по группам пикселей, включающим в себя восстановленные пиксели в одной и той же полосе, в соответствии с полосами, полученными посредством разделения всей секции пиксельных значений; и определяют значение компенсации в соответствии с группами пикселей в соответствии с полосами.
Этап распределения восстановленных пикселей в соответствии с полосами может содержать этап, на котором распределяют восстановленные пиксели по группам пикселей в соответствии с полосами на основе разделения всей секции пиксельных значений на полосы, количество которых равно числу 2 в положительной степени.
Показатель степени числа 2 может быть определен на основе количества старших значащих битов в битовой глубине восстановленных пикселей.
Вся секция пиксельных значений может находиться в пределах диапазона расширенной битовой глубины.
Этап определения значения компенсации и группы пикселей может содержать этапы, на которых: распределяют восстановленные пиксели восстановленного изображения по группам пикселей, включающим в себя восстановленные пиксели, расположенные на одной и той же линии, в соответствии с линиями; и определяют значение компенсации в соответствии с группами пикселей в соответствии с линиями.
Распределение восстановленных пикселей по группам пикселей в соответствии с линиями может содержать этап, на котором обнаруживают восстановленные пиксели, формирующие линии, по меньшей мере в одном направлении из горизонтального направления, вертикального направления, диагонального направления, направления вдоль кривой и направления вдоль границы предопределенного объекта среди восстановленных пикселей восстановленного изображения.
Этап определения значения компенсации и группы пикселей может содержать этап, на котором определяют значение компенсации посредством использования среднего значения погрешностей между восстановленными пикселями группы пикселей и соответствующими первоначальными пикселями.
Этап определения значения компенсации и восстановленного пикселя может содержать этап, на котором определяют значения компенсации для всех восстановленных пикселей, которые должны быть компенсированы, или индивидуально определяют значения компенсации в соответствии с предопределенными группами восстановленных пикселей, которые должны быть компенсированы.
Этап формирования восстановленного изображения может быть выполнен посредством использования адаптивной петлевой фильтрации с использованием множества непрерывных одномерных фильтров.
Этап определения значения компенсации и группы пикселей может содержать этап, на котором определяют значение компенсации и восстановленного пикселя, который должен быть компенсирован, в соответствии с по меньшей мере одним элементом данных среди последовательности изображения, секции, кадра и элемента кодирования входной видео.
Этап передачи битового потока может содержать этап, на котором вставляют закодированное значение компенсации в заголовок секции и передают его.
Кодирование входной последовательности изображения может содержать этапы, на которых: разделяют изображение на максимальный элемент кодирования; выполняют кодирование по меньшей мере над одним более глубоким элементом кодирования в соответствии с глубиной в соответствии с областями, разбитыми посредством иерархического разделения максимального элемента кодирования по мере увеличения глубины для определения режима кодирования элемента кодирования с глубиной кодирования, режим кодирования включает в себя информацию по меньшей мере об одной глубине кодирования, которая формирует наименьшую погрешность кодирования; и выдают закодированные данные изображения в соответствии с определенной глубиной кодирования и режимом кодирования.
В соответствии с аспектом другого иллюстративного варианта осуществления обеспечен способ декодирования видео для компенсации пиксельного значения, способ содержит этапы, на которых: извлекают закодированные данные изображения и значение компенсации из битового потока посредством синтаксического анализа битового потока закодированного изображения; декодируют извлеченные данные изображения и формируют восстановленное изображение посредством выполнения петлевой фильтрации над декодированными данными изображения; определяют группу пикселей, содержащую восстановленный пиксель, который должен быть компенсирован среди восстановленных пикселей восстановленного изображения посредством использования извлеченного значения компенсации; и компенсируют погрешность между восстановленным пикселем определенной группы пикселей и соответствующим первоначальным пикселем посредством использования извлеченного значения компенсации.
Этап определения группы пикселей может содержать этапы, на которых: определяют уровень экстремального значения, который указывает степень близости с максимальным значением или минимальным значением в соответствии с восстановленным пикселям посредством сравнения пиксельных значений соседних восстановленных пикселей в восстановленном изображении; и определяют группу пикселей, содержащую восстановленный пиксель, который должен быть компенсирован, среди соседних восстановленных пикселей на основе определенного уровня экстремального значения.
Этап определения уровня экстремального значения может содержать этап, на котором распределяют соседние восстановленные пиксели по группам пикселей, содержащим восстановленные пиксели, имеющие одинаковый уровень экстремального значения, на основе определенного уровня экстремального значения и определяют группу пикселей по меньшей мере одного уровня экстремального значения как группу пикселей, содержащую восстановленный пиксель, который должен быть компенсирован.
Этап определения группы пикселей может содержать этап распределения восстановленных пикселей восстановленного изображения на группы пикселей в соответствии с полосами.
Этап компенсации погрешности может содержать этап, на котором компенсируют погрешности пиксельных значений восстановленных пикселей групп пикселей в соответствии с уровнями экстремального значения посредством использования значений компенсации в соответствии с уровнями экстремального значения для компенсации пиксельных значений групп пикселей в соответствии с уровнями экстремального значения.
Этап определения группы пикселей может включать в себя этап, на котором распределяют восстановленные пиксели восстановленного изображения по группам пикселей, включающим в себя восстановленные пиксели, расположенные на одной и той же линии, в соответствии с линиями, и определяют группу пикселей среди групп пикселей в соответствии с линиями, как группу пикселей, содержащую восстановленный пиксель, который должен быть компенсирован.
Этап компенсации погрешности может содержать этап, на котором компенсируют пиксельные значения восстановленных пикселей в группах пикселей в соответствии с линиями посредством использования значений компенсации групп пикселей в соответствии с линиями для компенсации пиксельных значений групп пикселей в соответствии с линиями.
Распределение восстановленных пикселей по группам пикселей в соответствии с линиями может содержать этап, на котором обнаруживают восстановленные пиксели, формирующие линии, по меньшей мере в одном направлении из горизонтального направления, вертикального направления, диагонального направления, направления вдоль кривой и направления вдоль границы предопределенного объекта среди восстановленных пикселей восстановленного изображения.
Значение компенсации может быть определено посредством использования среднего значения погрешностей между восстановленными пикселями группы пикселей и соответствующими первоначальными пикселями во время кодирования закодированных данных изображения.
Компенсация погрешности может содержать этап, на котором компенсируют все восстановленные пиксели, которые должен быть компенсированы посредством использования значения компенсации.
Компенсация погрешности может содержать этап, на котором компенсируют пиксельные значения восстановленных пикселей посредством использования значений компенсации, индивидуально определенных в соответствии с предопределенными группами восстановленных пикселей, которые должны быть компенсированы.
Формирование восстановленного изображения может быть выполнено посредством использования адаптивной петлевой фильтрации с использованием множества непрерывных одномерных фильтров.
Закодированные данные изображения могут быть закодированы посредством разделения изображения на максимальный элемент кодирования и выполнения кодирования по меньшей мере над одним более глубоким элементом кодирования в соответствии с глубиной в соответствии с областями, разбитыми посредством иерархического деления максимального элемента кодирования по мере увеличения глубины для определения информации режима кодирования элемента кодирования с глубиной кодирования, которая включает в себя информацию по меньшей мере об одной глубине кодирования, которая формирует наименьшую погрешность кодирования, из битового потока, и формирование восстановленного изображения может включать в себя декодирование данных изображения, закодированных на основе глубины кодирования и режима кодирования на основе информации о режиме кодирования, и выполнение петлевой фильтрации.
В соответствии с аспектом другого иллюстративного варианта осуществления обеспечено устройство для кодирования видео для компенсации пиксельного значения, устройство содержит: кодер, который кодирует данные изображения; генератор восстановленного изображения, который декодирует закодированные данные изображения и формирует восстановленное изображение посредством выполнения петлевой фильтрации над декодированными данными изображения; блок определения значения компенсации и группы пикселей, который определяет значение компенсации, соответствующее погрешностям между предопределенной группой восстановленных пикселей в восстановленном изображении и соответствующими первоначальными пикселями, и группу пикселей, содержащую восстановленный пиксель, который должен быть компенсирован посредством использования значения компенсации; и передатчик, который кодирует значение компенсации и передает закодированное значение компенсации и битовый поток закодированных данных изображения.
В соответствии с аспектом другого иллюстративного варианта осуществления обеспечено устройство для декодирования видео для компенсации пиксельного значения, устройство содержит: экстрактор, который извлекает закодированные данные изображения и значение компенсации из битового потока посредством синтаксического анализа битового потока закодированного изображения; генератор восстановленного изображения, который декодирует извлеченные данные изображения и формирует восстановленное изображение посредством выполнения петлевой фильтрации над декодированными данными изображения; блок определения группы пикселей, который определяет группу пикселей, содержащую восстановленный пиксель, который должен быть компенсирован, среди восстановленных пикселей восстановленного изображения посредством использования извлеченного значения компенсации; и блок компенсации восстановленного пикселя, который компенсирует погрешность между восстановленным пикселем определенной группы пикселей и соответствующим первоначальным пикселем посредством использования извлеченного значения компенсации.
В соответствии с аспектом другого иллюстративного варианта осуществления обеспечен машиночитаемый носитель, на котором записаны программы для исполнения любого из описанных выше способов.
Осуществление изобретения
Далее будут более полно описаны иллюстративные варианты осуществления со ссылкой на сопроводительные чертежи. Такие выражения, как "по меньшей мере один из", когда они предшествуют списку элементов, модифицируют весь список элементов и не модифицируют отдельные элементы списка.
Теперь со ссылкой на фиг. 1-22 будут описаны способ и устройство для кодирования видео и способ и устройство для декодирования видео посредством компенсации погрешности пиксельных значений предопределенной группы пикселей в соответствии с иллюстративными вариантами осуществления. В частности, кодирование и декодирование видео посредством компенсации пиксельного значения после выполнения петлевой фильтрации в соответствии с иллюстративными вариантами осуществления будут описаны со ссылкой на фиг. 1-7, и кодирование и декодирование видео для компенсации пиксельного значения после выполнения петлевой фильтрации на основе элементов кодирования, имеющих древовидную структуру, в соответствии с иллюстративными вариантами осуществления будут описаны со ссылкой на фиг. 8-22.
Далее со ссылкой на фиг. 1-7 будут описаны кодирование и декодирования видео посредством компенсации пиксельного значения после выполнения петлевой фильтрации в соответствии с иллюстративными вариантами осуществления.
Фиг. 1 является блок-схемой устройства 10 кодирования видео для компенсации пиксельного значения в соответствии с иллюстративным вариантом осуществления.
Устройство кодирования видео включает в себя кодер 12, генератор 14 восстановленного изображения, блок 16 определения значения компенсации и группы пикселей и передатчик 18. Работой кодера 12, генератора 14 восстановленного изображения и блока 16 определения значения компенсации и группы пикселей устройства 10 кодирования видео может органично управлять процессор кодирования видео, центральный процессор, графический процессор и т.п.
Кодер 12 кодирует изображение в элементе изображения среди последовательности входных изображений. Кодер может формировать закодированные данные изображения посредством выполнения оценки движения, интер-предсказания, интра-предсказания, преобразования и квантования над входным изображением.
Кодер 12 может использовать любой способ кодирования видео, такой как MPEG 1, 2, 4 и H.26x. Например, кодер 12 может использовать способ кодирования видео на основе элементов кодирования, имеющих древовидную структуру, в соответствии с иллюстративным вариантом осуществления, который будет описан позже со ссылкой на фиг. 8-22.
Генератор 14 восстановленного изображения может принимать данные изображения, закодированные кодером 12, и формировать восстановленное изображение посредством декодирования закодированных данных изображения и выполнения петлевой фильтрации над декодированными данными изображения.
Генератор 14 восстановленного изображения может формировать декодированные данные изображения посредством выполнения обратного квантования, обратного преобразования, интер-предсказания, компенсации движения и интра-предсказания над закодированными данными изображения.
Декодирование, выполняемое над закодированными данными изображения генератором 14 восстановленного изображения, может быть выполнено как процессы, обратные по отношению к способу кодирования видео, выполняемому кодером 12. Например, устройство 10 кодирования видео, в котором кодер 12 и генератор 14 восстановленного изображения выполняют способ кодирования видео в соответствии с иллюстративным вариантом осуществления, будет описано позже со ссылкой на фиг. 8-22.
Генератор 14 восстановленного изображения может выполнять петлевую фильтрацию над декодируемыми данными изображения. Петлевая фильтрация может выборочно включать в себя фильтрацию удаления блочности и адаптивную петлевую фильтрацию. Адаптивная петлевая фильтрация может быть выполнена посредством использования множества непрерывных одномерных фильтров. Адаптивная петлевая фильтрация в соответствии с иллюстративным вариантам осуществления будет подробно описана позже со ссылкой на фиг. 4 и 5.
Блок 16 определения значения компенсации и группы пикселей принимает входное изображение и восстановленное изображение, выданное генератором 14 восстановленного изображения, определяет значение компенсации о погрешности между каждым восстановленным пикселем предопределенной группы в восстановленном изображении и соответствующим первоначальным пикселем во входном изображении и определяет группу пикселей, включающую в себя восстановленные пиксели, которые должны быть компенсированы посредством использования значения компенсации.
Блок 16 определения значения компенсации и группы пикселей сравнивает пиксельные значения соседних восстановленных пикселей среди восстановленных пикселей в восстановленном изображении и определяет уровень экстремального и/или граничного значения, указывающий на близость к максимальному значению и минимальному значению. В дальнейшем для удобства объяснения "уровень экстремального и/или граничного значения" может представить по меньшей мере один уровень из уровня экстремального значения и уровня граничного значения. Блок 16 определения значения компенсации и группы пикселей может определить соседние восстановленные пиксели в группы пикселей, включающие в себя восстановленные пиксели, имеющие одинаковый уровень экстремального и/или граничного значения, на основе каждого уровня экстремального и/или граничного значения соседних восстановленных пикселей.
Блок 16 определения значения компенсации и группы пикселей может определить по меньшей мере одну группу пикселей уровня экстремального и/или граничного значения среди распределенных групп пикселей как группу пикселей, имеющую пиксельные значения, которые должны быть компенсированы. Блок 16 определения значения компенсации и группы пикселей может решить компенсировать пиксельные значения групп пикселей минимальных и максимальных уровней экстремального и/или граничного значения или пиксельные значения групп пикселей уровней экстремального и/или граничного значения в предопределенном диапазоне. Способ определения цели, которая должна быть компенсирована, на основе уровней экстремального и/или граничного значения соседних восстановленных пикселей будет описан позже со ссылкой на фиг. 3.
Блок 16 определения значения компенсации и группы пикселей может решить компенсировать пиксельные значения групп пикселей в соответствии с полосами. Блок 16 определения значения компенсации и группы пикселей может разбить весь диапазон пиксельных значений восстановленных пикселей на множество полос разбиения, чтобы назначить группы пикселей восстановленных пикселей. Блок 16 определения значения компенсации и группы пикселей может распределить восстановленные пиксели в одной и той же полосе по группам пикселей в соответствии с полосами на основе пиксельных значений восстановленных пикселей. При этом все пиксельные значения восстановленных пикселей в группе пикселей в соответствии с полосами могут быть определены, как требующие компенсации, и блок 16 определения значения компенсации и группы пикселей может определить значение компенсации отдельно для каждой группы пикселей в соответствии с полосами.
Для высокоскоростной обработки весь диапазон пиксельных значений может быть разбит на полосы, количество которых соответствует числу 2 в положительной степени. Для высокоскоростной обработки, когда количество старших значащих битов в битовой глубине битовой строки восстановленных пикселей равно p, весь диапазон пиксельных значений может быть разбит на полосы, количество которых равно 2^p. В качестве альтернативы, весь диапазон пиксельных значений может быть идентичен диапазону расширенной битовой глубины восстановленного пикселя.
Блок 16 определения значения компенсации и группы пикселей может проанализировать восстановленное изображение, обнаружить линии в предопределенном направлении и распределить восстановленные пиксели по группам пикселей в соответствии с линиями, включающими в себя восстановленные пиксели на одной и той же линии. Когда обнаружены линии в различных направлениях, таких как горизонтальное направление, вертикальное направление, диагональное направление, направление вдоль кривой и направление вдоль границы предопределенного объекта, пиксели, формирующие каждую линию, могут быть распределены в одну группу пикселей. Блок 16 определения значения компенсации и группы пикселей может определить значение компенсации индивидуально для каждой группы пикселей в соответствии с линиями.
Блок 16 определения значения компенсации и группы пикселей может определить среднее значение погрешностей между восстановленными пикселями, которые должны быть компенсированы, и соответствующими первоначальными пикселями в качестве значения компенсации. Погрешность между восстановленным пикселем и первоначальным пикселем может включать в себя разность между восстановленным пикселем и первоначальным пикселем, абсолютное значение разности или квадрат разности. Блок 16 определения значения компенсации и группы пикселей может определить одно значение компенсации, которое должно быть одинаково применено ко всем восстановленным пикселям, которые должны быть компенсированы, или индивидуально определить значение компенсации в соответствии с группами пикселей, распределенными в соответствии с характеристиками.
Блок 16 определения значения компенсации и группы пикселей может определить восстановленный пиксель, который должен быть компенсирован, и определить соответствующее значение компенсации в соответствии с по меньшей мере одним элементом данных среди последовательности изображения, секции, кадра и элемента кодирования входной видео.
Передатчик 18 принимает и кодирует значение компенсации, определенное блоком 16 определения значения компенсации и группы пикселей. Передатчик 18 принимает данные изображения, закодированные кодером 12, и формирует и выдает поток битов, включающий в себя закодированное значение компенсации и закодированные данные изображения. Закодированные данные изображения могут быть преобразованы в формат битового потока через статистическое кодирование и вставлены в битовый поток для передачи.
Передатчик 18 может принять дополнительную информацию о способе определения группы пикселей от блока определения значения компенсации и группы пикселей и закодировать и вставить дополнительную информацию в битовый поток. Поскольку способ может быть основан на уровнях экстремального и/или граничного значения, полосах или линиях, как описано выше, может быть передана информация, указывающая, каким образом используется значение компенсации, и указывающая группу пикселей, использующих значение компенсации.
Когда генератор 14 восстановленного изображения выполняет адаптивную петлевую фильтрацию, передатчик 18 может принять информацию о коэффициенте петлевого фильтра для адаптивной петлевой фильтрации и закодировать и вставить информацию в битовый поток. Устройство 10 кодирования видео может разбить изображение на части квадратной формы, прямоугольной формы или даже неправильной формы и выполнить выборочную коррекцию только для заданных групп пикселей в конкретной области. На основе частей разбиения изображения пиксельные значения могут быть компенсированы адаптивно по отношению к содержанию изображения. Кроме того, устройство 10 кодирования видео может передать информацию относительно групп пикселей, которые должны быть скорректированы, посредством явной сигнализации и неявной сигнализации.
Устройство 10 кодирования видео может предоставить информацию о значении компенсации, полученном во время кодирования, декодеру, с тем чтобы декодер мог поддержать пост-обработку, которая может быть выполнена для уменьшения погрешности между восстановленным изображением и исходным изображением. Кроме того, поскольку значение компенсации определено в соответствии с группами пикселей, количество битов передачи может быть уменьшено только посредством кодирования и передачи информации о значении компенсации без необходимости кодировать и передавать информацию о местоположении отдельных пикселей.
Фиг. 2 является блок-схемой устройства 20 декодирования видео для компенсации пиксельного значения в соответствии с иллюстративным вариантом осуществления.
Устройство 20 декодирования видео включает в себя экстрактор 22, генератор 24 восстановленного изображения, блок 26 определения группы пикселей и блок 28 компенсации восстановленных пикселей. Работой экстрактора 22, генератора 24 восстановленного изображения, блока 26 определения группы пикселей и блока 28 компенсации восстановленных пикселей устройства 20 декодирования видео может органично управлять процессор декодирования видео, центральный процессор, графический процессор и т.п.
Экстрактор 22 принимает и синтаксически анализирует (выполняет парсинг) битовый поток о закодированном изображении и извлекает из битового потока закодированные данные изображения и информацию, относящуюся к значению компенсации. Информация, относящаяся к значению компенсации, может включать в себя информацию о значении компенсации. Когда информация, относящаяся к значению компенсации, дополнительно включает в себя информацию о способе определения группы пикселей, которые должны быть компенсированы посредством использования значения компенсации, экстрактор 22 может извлечь из битового потока значение компенсации и информацию о способе. Экстрактор 22 может извлечь по меньшей мере один элемент множества, состоящего из значения компенсации и информации, относящейся к значению компенсации в соответствии с по меньшей мере одним элементом данных среди последовательности изображения, секции, кадра и элемента кодирования входной видео.
Экстрактор 22 может извлечь информацию кодирования, такую как способ кодирования и режим кодирования, которая используется для декодирования закодированных данных изображения. Когда информация о коэффициенте петлевого фильтра для адаптивной петлевой фильтрации вставлена в битовый поток, экстрактор 22 может извлечь информацию о коэффициенте петлевого фильтра из битового потока.
Генератор 24 восстановленного изображения принимает закодированные данные изображения, информацию кодирования и информацию о коэффициенте петлевого фильтра, которые извлечены экстрактором 22, и формирует восстановленное изображение посредством декодирования закодированных данных изображения и выполнения петлевой фильтрации над декодированными данными изображения.
Декодирование закодированных данных изображения может быть выполнено как процессы, обратные по отношению к способу кодирования видео, выполняемому над закодированными данными изображения. Например, когда закодированные данные изображения закодированы и переданы в соответствии со способом кодирования видео на основе элементов кодирования, имеющих древовидную структуру, в соответствии с иллюстративным вариантом осуществления, генератор 24 восстановленного изображения может декодировать закодированные данные изображения в соответствии со способом декодирования видео на основе элементов кодирования, имеющих древовидную структуру.
Генератор 24 восстановленного изображения может выборочно выполнить петлевую фильтрацию, такую как фильтрация с удалением блочности и адаптивная петлевая фильтрации, над декодированными данными изображения. Адаптивная петлевая фильтрация может быть выполнена посредством использования множества непрерывных одномерных фильтров.
Блок 26 определения группы пикселей может принять восстановленное изображение, сформированное генератором 24 восстановленного изображения, и информацию, относящуюся к значению компенсации, извлеченную экстрактором 22, и определить группу пикселей, включающую в себя восстановленные пиксели, для которых должна быть выполнена компенсация посредством использования значения компенсации, среди восстановленных пикселей предопределенной группы в восстановленном изображении. Блок 28 компенсации восстановленных пикселей принимает значение компенсации, извлеченное экстрактором 22, и информацию о группе пикселей, определенную блоком 26 определения группы пикселей, и компенсирует пиксельные значения восстановленных пикселей посредством использования значения компенсации и выдает восстановленное изображение, имеющее восстановленные пиксельные значения.
Когда информация о способе определения группы пикселей извлечена экстрактором 22, блок 26 определения группы пикселей может определить группу пикселей, имеющую пиксельные значения, которые должны быть компенсированы посредством использования способа. Например, блок 26 определения группы пикселей может определить, следует ли классифицировать восстановленные пиксели в соответствии с уровнями экстремального и/или граничного значения, полосами пиксельных значений или линиями, и определить группу пикселей на основе способа.
Блок 26 определения группы пикселей может определить уровень экстремального и/или граничного значения в соответствии с восстановленными пикселями посредством сравнения пиксельных значений соседних восстановленных пикселей в восстановленном изображении. Блок 26 определения группы пикселей может распределить соседние восстановленные пиксели на основе уровней экстремального и/или граничного значения и определить группу пикселей, включающую в себя восстановленные пиксели по меньшей мере одного предопределенного уровня экстремального и/или граничного значения, в качестве группы пикселей, включающей в себя восстановленные пиксели, имеющие пиксельные значения, которые должны быть компенсированы посредством использования значения компенсации. Блок 28 компенсации восстановленных пикселей может компенсировать пиксельные значения восстановленных пикселей в определенной группе пикселей посредством использования значения компенсации.
В качестве альтернативы, блок 26 определения группы пикселей может распределить восстановленные пиксели в восстановленном изображении в группы пикселей в соответствии с полосами на основе полос, полученных посредством разбиения всей секции пиксельных значений. Блок 28 компенсации восстановленных пикселей может компенсировать пиксельные значения восстановленных пикселей в группе пикселей в соответствии с полосами посредством использования значения компенсации в соответствии с полосами для восстановленных пикселей в группе пикселей в соответствии с полосами.
Вся секция пиксельных значений может быть разбита на несколько полос, количество которых равно числу 2 в положительной степени. При этом показатель числа 2 в положительной степени может быть определен на основе количества старших значащих битов в битовой глубине восстановленных пикселей. Кроме того, вся секция пиксельных значений может представлять собой диапазон расширенной битовой глубины восстановленных пикселей.
Блок 26 определения группы пикселей может распределить восстановленные пиксели восстановленного изображения по группам пикселей в соответствии с линиям. Блок 28 компенсации восстановленных пикселей может компенсировать пиксельные значения восстановленных пикселей в группе пикселей в соответствии с линиями посредством использования значения компенсации для группы пикселей в соответствии с линиями. Блок 26 определения группы пикселей может обнаружить восстановленные пиксели, образующие линии по меньшей мере в одном направлении из горизонтального направления, вертикального направления, диагонального направления, направления вдоль кривой или направления вдоль границы предопределенного объекта среди восстановленных пикселей восстановленного изображения.
Значение компенсации может быть определено и передано посредством использования среднего значения погрешностей между восстановленными пикселями и соответствующими первоначальными пикселями во время кодирования. Блок 28 компенсации восстановленных пикселей может компенсировать все пиксельные значения восстановленных пикселей, которые должны быть компенсированы, посредством использования одного значения компенсации. В качестве альтернативы, когда значение компенсации, извлеченное экстрактором 22, установлено в соответствии с группами пикселей, блок 28 компенсации восстановленных пикселей может компенсировать пиксельные значения посредством использования значения компенсации, индивидуально определенного в соответствии с группами пикселей.
Устройство 10 кодирования видео и устройство 20 декодирования видео могут компенсировать систематическую погрешность, сформированную между восстановленным изображением и исходным изображением, когда закодированное изображение декодируется и восстанавливается. Устройство 10 кодирования видео может передать информацию относительно групп пикселей, которые должны быть скорректированы, посредством явной сигнализации и неявной сигнализации. Устройство 10 кодирования видео и устройство 20 декодирования видео могут разбить изображение на части квадратной формы, прямоугольной формы или даже неправильной формы и выполнить выборочную коррекцию только для заданных групп пикселей в конкретной области. На основе частей разбиения изображения пиксельные значения могут быть компенсированы адаптивно по отношению к содержанию изображения.
В качестве примера систематической погрешности между восстановленным изображением и исходным изображением среднее значение погрешности пиксельных значений между восстановленными пикселями в предопределенной группе и соответствующими первоначальными пикселями может быть не равно 0. В соответствии с этим, устройство 10 кодирования видео и устройство 20 декодирования видео компенсируют погрешность между восстановленным пикселем и первоначальным пикселем.
Блок 16 определения значения компенсации и группы пикселей может определить значение компенсации в соответствии с уравнением 1, приведенным ниже.
[Уравнение 1]
m.
m
m.
m
m
m
m
m
Здесь m обозначает целое число от 1 до M, и среднее значение corr погрешности между пиксельными значениями Org(x, y) первоначального пикселя и пиксельными значениями Rec(x, y) восстановленного пикселя может использоваться в качестве значения компенсации групп пикселей {(x, y)}, включающих в себя пиксели в местоположениях (x, y).
Блок 28 компенсации восстановленных пикселей может компенсировать пиксельные значения восстановленных пикселей в группе пикселей в соответствии с уравнением 2, приведенным ниже.
[Уравнение 2]
m
m
corrected
m
m
m
m
m
m
Блок 28 компенсации восстановленных пикселей может компенсировать пиксельные значения Rec(x, y) восстановленного пикселя посредством использования значения компенсации corr и выдать пиксельные значения Rec(x, y) в соответствии с пикселями как результаты компенсации пиксельных значений Rec(x, y) в группах пикселей {(x, y)}.
Устройство 10 кодирования видео и устройство 20 декодирования видео могут распределить восстановленные пиксели в соответствии с предопределенным стандартом для определения групп пикселей, имеющих пиксельные значения, которые должны быть компенсированы.
Группы пикселей могут быть распределены в соответствии с уровнями экстремального и/или граничного значения в соответствии с иллюстративным вариантом осуществления. Локальное экстремальное и/или граничное значение включает в себя локальное минимальное значение и локальное максимальное значение. Локальное минимальное значение f(xmin, ymin) и локальное максимальное значение f(xmax, ymax) в соседней координате (x, y) в предопределенном диапазоне ε соответственно заданы в уравнениях 3 и 4, приведенными ниже, относительно квадратичной функции f(x, y).
[Уравнение 3]
min
min
min
min
f(x,y)>f(x, y), if |x-x|+|y-y|<ε и ε>0.
[Уравнение 4]
max
max
max
max
f(x,y)<f(x, y), if |x-x|+|y-y|<ε (где, ε>0).
min
min
max
max
Кроме того, локальное минимальное значение f(x, y) и локальное максимальное значение f(x, y) могут быть соответственно заданы в уравнениях 5 и 6, приведенных ниже, относительно пикселя (x, y) дискретного сигнала.
[Уравнение 5]
min
min
min
min
f(x, y)<(x+1, y)
min
min
min
min
f(x, y)<(x-1, y)
min
min
min
min
f(x, y)<(x, y+1)
min
min
min
min
f(x, y)<(x, y-1).
[Уравнение 6]
max
max
max
max
f(x, y)<(x+1, y)
max
max
max
max
f(x, y)<(x-1, y)
max
max
max
max
f(x, y)<(x, y+1)
max
max
max
max
f(x, y)<(x, y-1).
max
max
max
max
max
max
max
max
Устройство 10 кодирования видео и устройство 20 декодирования видео могут определить пиксели, соответствующие экстремальному и/или граничному значению, среди предопределенных соседних восстановленных пикселей на горизонтальных и вертикальных линиях в соответствии с уравнениями 5 и 6. Кроме того, большее количество соседних пикселей, в том числе, например, пиксели (x+1, y+1), (x-1, y+1), (x+1, y-1) и (x-1, y-1) на диагональных линиях, могут быть включены в процесс распределения пикселей по группам. Предопределенные пиксели могут быть исключены из групп пикселей. Например, если в группу пикселей могут быть распределены только пиксели на одной и той же линии, другие пиксели вне соответствующей линии могут быть исключены из группы пикселей.
Явление планаризации может быть сформировано посредством общей системы кодирования и декодирования видео. В соответствии с этим локальное минимальное значение в восстановленном изображении выше, чем пиксельное значение исходного изображения, и погрешность между локальными минимальными значениями восстановленного изображения и исходного изображения является положительной величиной. Кроме того, локальное максимальное значение в восстановленном изображении ниже, чем пиксельное значение исходного изображения, и погрешность между локальными максимальными значениями восстановленного изображения и исходного изображения является отрицательной величиной.
В соответствии с этим устройство 10 кодирования видео и устройство 20 декодирования видео могут определить средние значения погрешностей локальных минимальных значений и локальных максимальных значений предопределенной группы пикселей между восстановленным изображением и исходным изображением и компенсировать пиксельные значения восстановленных пикселей в предопределенной группе пикселей. Далее со ссылкой на фиг. 3 будет описан способ определения уровня экстремального и/или граничного значения восстановленных пикселей предопределенной группы пикселей, который выполняется блоком 16 определения значения компенсации и группы пикселей устройства 10 кодирования видео и блоком 26 определения группы пикселей устройства 20 декодирования видео.
Фиг. 3 иллюстрирует соседние восстановленные пиксели 32, 34, 35 и 37, которые должны быть сравнены с текущим восстановленным пикселем 30, с тем чтобы определить уровень экстремального и/или граничного значения текущего восстановленного пикселя 30, в соответствии с иллюстративным вариантом осуществления. Для удобства объяснения фиг. 3 иллюстрирует только соседние восстановленные пиксели 32, 34, 35 и 37. Однако пиксели, сравниваемые с текущим восстановленным пикселем 30, в соответствии с иллюстративным вариантом осуществления не ограничены соседними восстановленными пикселями 32, 34, 35 и 37 на горизонтальной и вертикальной линиях.
Блок 16 определения значения компенсации и группы пикселей и блок 26 определения группы пикселей могут определить уровень экстремального и/или граничного значения текущего восстановленного пикселя 30 посредством сравнения соседних восстановленных пикселей 32, 34, 35 и 37, которые расположены сверху, слева, справа и снизу от текущего восстановленного пикселя 30, соответственно, с текущим восстановленным пикселем 30. Когда параметр Pixel_Type обозначает уровень экстремального и/или граничного значения текущего восстановленного пикселя 30, Rec[x][y] обозначает пиксельное значение текущего восстановленного пикселя 30, и Rec[x][y-1], Rec[x-1][y], Rec[x+1 [y] и Rec [x][y+1] соответственно обозначают пиксельные значения соседних восстановленных пикселей, уровень экстремального и/или граничного значения может быть определен по следующим формулам распределения:
Pixel_Type=0;
if(Rec[x][y]>Rec[x-1][y]) Pixel_Type ++;
if(Rec[x][y]<Rec[x-1][y]) Pixel_Type --;
if(Rec[x][y]>Rec[x+1][y]) Pixel_Type ++;
if(Rec[x][y]<Rec[x+1][y]) Pixel_Type --;
if(Rec[x][y]>Rec[x][y-1]) Pixel_Type ++;
if(Rec[x][y]<Rec[x][y-1]) Pixel_Type --;
if(Rec[x][y]>Rec[x][y+1]) Pixel_Type ++;
if(Rec[x][y]<Rec [x][y+1]) Pixel_Type --.
Максимальное и минимальное значения Pixel_Type могут быть приняты как +4 и -4.
Если шаблон распределения пикселя имеет форму, отличающуюся от иллюстративного шаблона распределения пикселя, показанного на фиг. 3, то формулы распределения должны быть соответствующим образом изменены. Например, во время обнаружения границы в диагональном направлении под углом 45˚ пиксели 31 и 38 сравниваются с текущим пикселем 30. Уровень экстремального и/или граничного значения может быть определен по следующим измененным формулам распределения:
Pixel_Type=0;
if(Rec[x][y]>Rec[x-1][y-1]) Pixel_Type ++;
if(Rec[x][y]<Rec[x-1][y-1]) Pixel_Type --;
if(Rec[x][y]>Rec[x+1][y+1]) Pixel_Type ++;
if(Rec[x][y]<Rec[x+1][y+1]) Pixel_Type --.
Соответственно, максимальное и минимальное значения Pixel_Type могут быть приняты как +2 и -2.
Другими словами, уровень экстремального и/или граничного значения определяется посредством сравнения пиксельных значений соседних восстановленных пикселей 32, 34, 35 и 37 в предопределенном диапазоне текущего восстановленного пикселя 30 с пиксельным значением текущего восстановленного пикселя 30. Когда уровень экстремального и/или граничного значения текущего восстановленного пикселя 30 представляет собой максимальный уровень экстремального и/или граничного значения, то есть, M, текущий восстановленный пиксель 30 может быть определен как локальный максимальный пиксель, и когда уровень экстремального и/или граничного значения текущего восстановленного пикселя 30 представляет собой минимальный уровень экстремального и/или граничного значения, то есть, -M, текущий восстановленный пиксель 30 может быть определен как локальный минимальный пиксель. Значение M может быть определено на основе предопределенного количества проанализированных соседних восстановленных пикселей. Блок 16 определения значения компенсации и группы пикселей и блок 26 определения группы пикселей могут определить восстановленные пиксели, определенные как локальный максимальный пиксель и локальный минимальный пиксель, как пиксели, которые должны быть компенсированы.
Таким образом, блок 16 определения значения компенсации и группы пикселей и блок 26 определения группы пикселей определяют уровни экстремального и/или граничного значения восстановленных пикселей в текущем элементе данных и определяют группу пикселей, включающую в себя восстановленные пиксели, имеющие уровень экстремального и/или граничного значения M, и группы пикселей, включающие в себя восстановленные пиксели, имеющие уровень экстремального и/или граничного значения -M. Блок 16 определения значения компенсации и группы пикселей может определить среднее значение погрешностей пиксельных значений между восстановленными пикселями и соответствующими первоначальными пикселями в соответствии с группами пикселей и определить значение компенсации на основе среднего значения. Блок 26 определения группы пикселей и блок 28 компенсации восстановленных пикселей могут компенсировать пиксельные значения восстановленных пикселей в соответствии с группами пикселей посредством использования значения компенсации, извлеченного из принятой информации о значении компенсации.
Блок 16 определения значения компенсации и группы пикселей и блок 26 определения группы пикселей могут определить группу пикселей, включающую в себя восстановленные пиксели, смежные с локальным максимальным пикселем и локальным минимальным пикселем, как целевую для компенсации. В соответствии с этим блок 16 определения значения компенсации и группы пикселей и блок 26 определения группы пикселей могут определить значения компенсации для уровней экстремального и/или граничного значения в предопределенном диапазоне, включающем в себя максимальный уровень экстремального и/или граничного значения и минимальный уровень экстремального и/или граничного значения. Например, поскольку максимальный уровень экстремального и/или граничного значения равен M, как описано выше, восстановленные пиксели, имеющие уровень экстремального и/или граничного значения M-1, являются смежными с локальным максимальным пикселем.
В соответствии с этим блок 16 определения значения компенсации и группы пикселей и блок 26 определения группы пикселей могут определить группы пикселей, включающие в себя восстановленные пиксели, имеющие уровень экстремального и/или граничного значения выше, чем предопределенное положительное значение, как группы пикселей, смежные с максимальным уровнем экстремального и/или граничного значения, и группы пикселей, включающие восстановленные пиксели, имеющие уровень экстремального и/или граничного значения ниже, чем предопределенное отрицательное значение, как группы пикселей, смежные с минимальным уровнем экстремального и/или граничного значения. Например, когда уровень экстремального и/или граничного значения выше, чем m, или ниже, чем -m, то есть, когда уровень экстремального и/или граничного значения равен -M, -(M-1), -(M-2), …, -(m+1), (m+1), …, (M-1) или M, значение компенсации в соответствии с уровнями экстремального и/или граничного значения может быть определено.
В качестве альтернативы, блок 16 определения значения компенсации и группы пикселей может вычислить среднее значение погрешностей между восстановленными пикселями и соответствующими первоначальными пикселями в соответствии с группами пикселей, смежными с максимальным уровнем экстремального и/или граничного значения, и определить значение компенсации в соответствии с группами пикселей. Кроме того, блок 26 определения группы пикселей и блок 28 компенсации восстановленных пикселей могут компенсировать пиксельные значения восстановленных пикселей в соответствии с группами пикселей посредством использования значений компенсации в соответствии с группами пикселей, которые извлечены из информации о значении компенсации.
При этом 4 соседних восстановленных пикселя 32, 34, 35 и 37, расположенные сверху, слева, справа и снизу текущего восстановленного пикселя 30, соответственно, используются для определения уровня экстремального и/или граничного значения, но чтобы подробно распределить уровень экстремального и/или граничного значения, для определения уровня экстремального и/или граничного значения текущего восстановленного пикселя 30 в качестве соседних восстановленных пикселей могут использоваться 8 восстановленных пикселей 31-38 вокруг текущего восстановленного пикселя 30.
В качестве альтернативы устройство 10 кодирования видео и устройство 20 декодирования видео могут распределить пиксельные значения по полосам, количество которых равно или больше предопределенного числа.
Например, когда битовая глубина восстановленных пикселей равна N, весь диапазон пиксельных значений Rec[x][y] восстановленных пикселей представляет собой 0≤Rec[x][y]≤(2^N)-1. Другими словами, максимальное значение Max пиксельного значения Rec[x][y] равно (2^N)-1, и секция восстановленных пикселей представляет собой [0, Max]. Блок 16 определения значения компенсации и группы пикселей и блок 26 определения группы пикселей могут разбить секцию восстановленных пикселей на L полос. Другими словами, полоса восстановленного пикселя может быть разбита на диапазоны [0, (Max+1)/L-1], [Max/L, 2*(Max+1)/L-1] и от [2*Max/L, 3*(Max+1)/L-1] до [(L-1)*Max/L, L*(Max+1)/L-1].
Фактические первоначальные данные могут находиться внутри диапазона [Мin, Max]. Минимальное значение Min и максимальное значение Max не обязательно равны 0 и (2^N)-1, соответственно. Количество различных значений может соответствовать диапазону фактических первоначальных данных, то есть, Range=Max-Min+1. Если полосы восстановленных пикселей разбиты равномерно, равномерные полосы разбиты на диапазоны [Min, Range/L-1], [Max/L, 2*Range/L-1] и с [2*Max/L, 3*Range/L-1] по [(L-1)*Range/L, Max]. В другом иллюстративном варианте осуществления полосы восстановленных пикселей могут быть разбиты неравномерно.
Количество L полос разбиения секции [0, Max] восстановленных пикселей может быть кратно 2 и может быть равно 16 или больше для быстрого вычисления. Кроме того, для быстрого вычисления число L может быть определено таким образом, что количество p старших значащих битов восстановленных пикселей находится в пределах показателя сила 2. Например, когда количество старших значащих битов восстановленного пикселя равно 4 бита (p=4), и расширенная битовая глубина восстановленных пикселей составляет 12 битов, число L может быть равно 2^p=16. В соответствии с этим полоса восстановленных пикселей расширенной битовой глубины может быть разбита, как показано в таблице 1, приведенной ниже.
Таблица 1
Количество полос
0
1
2
…
16
Полоса пиксельных значений восстановленного пикселя
[0, 255]
[256, 511]
[512, 767]
…
[3840, 4095]
Шестнадцатеричное выражение пиксельного значения
[0x0000, 0x00FF]
[0x0100, 0x01FF]
[0x0200, 0x02FF]
…
[0x0F00, 0x0FFF]
Поскольку вычисление битов легко выполняется, когда полоса пиксельных значений разбивается на основе количества старших значащих битов восстановленных пикселей, блок 26 определения группы пикселей может эффективно выполнить вычисление для определения полосы.
Блок 16 определения значения компенсации и группы пикселей и блок 26 определения группы пикселей могут распределить восстановленные пиксели в одинаковых полосах в группу пикселей в соответствии с полосами. Полосы могут быть разбиты на основе фактических минимальных и максимальных значений первоначального или воссозданного сигнала.
Среднее значение погрешностей между восстановленными пикселями, включенными в группу пикселей в соответствии с полосами, и первоначальными пикселями не равно 0. В соответствии с этим блок 16 определения значения компенсации и группы пикселей может определить значение компенсации посредством использования среднего значения в соответствии с полосами. Кроме того, блок 26 определения группы пикселей и блок 28 компенсации восстановленных пикселей могут компенсировать пиксельные значения восстановленных пикселей в группе пикселей в соответствии с полосами посредством использования значений компенсации в соответствии с полосами.
В качестве альтернативы, устройство 10 кодирования видео и устройство 20 декодирования видео могут распределить восстановленные пиксели по группам пикселей, включающим в себя восстановленные пиксели, формирующие предопределенную линию.
Блок 16 определения значения компенсации и группы пикселей и блок 26 определения группы пикселей могут проанализировать характеристики восстановленного изображения и обнаружить линии в вертикальном направлении, горизонтальном направлении, диагональном направлении, направлении вдоль кривой и направлении вдоль границы предопределенного объекта. Блок 16 определения значения компенсации и группы пикселей и блок 26 определения группы пикселей могут определить восстановленные пиксели, формирующие одну и ту же линию, как группу пикселей в соответствии с линиями.
Среднее значение погрешностей пиксельных значений между восстановленными пикселями, включенными в группу пикселей в соответствии с линиями, и первоначальными пикселями также не равно 0. Блок 16 определения значения компенсации и группы пикселей может определить значение компенсации посредством использования среднего значения в соответствии с линиями. Блок 26 определения группы пикселей и блок 28 компенсации восстановленных пикселей могут компенсировать пиксельные значения восстановленных пикселей в группе пикселей в соответствии с линиями посредством использования значения компенсации в соответствии с линиями.
Блок 16 определения значения компенсации и группы пикселей и блок 26 определения группы пикселей могут определить значение компенсации в соответствии с уровнями экстремального и/или граничного значения в соответствии с элементами данных, таким как последовательности изображения, кадры или блоки видео. Передатчик 18 может закодировать и передать информацию, относящуюся к значению компенсации, как служебную информацию. Точность значения компенсации увеличивается, по мере того как уменьшается элемент данных для определения значения компенсации в соответствии с уровнем экстремального и/или граничного значения, но служебная информация может увеличиться, поскольку дополнительная информация для кодирования и передачи информации, относящейся к значению компенсации, может увеличиться.
Кроме того, экстрактор 22 может извлечь информацию, имеющую отношение к значению компенсации, из служебной информации или информации заголовка секции и компенсировать пиксельные значения восстановленных пикселей посредством использования значения компенсации.
Генераторы 14 и 24 восстановленного изображения могут выборочно выполнить адаптивную петлевую фильтрацию над данными изображения, декодированными в пространственной области. Генераторы 14 и 24 восстановленного изображения могут восстановить текущее изображение посредством непрерывного выполнения одномерной фильтрации в горизонтальном направлении и в вертикальном направлении в соответствии с адаптивной петлевой фильтрацией.
Передатчик 18 устройства 10 кодирования видео может закодировать и выдать коэффициент фильтра, используемый при адаптивной петлевой фильтрации. Кроме того, поскольку тип, количество, размер, бит квантования, коэффициент, направление фильтрации каждого одномерного фильтра и информация о том, выполнена ли фильтрация и текущая фильтрация, могут быть установлены для адаптивной петлевой фильтрации, информация о множестве одномерных фильтров петлевой фильтрации может быть закодирована и передана.
Генератор 24 восстановленного изображения может вывести коэффициент фильтра каждого одномерного фильтра посредством использования разностной информации коэффициента фильтра, извлеченного из экстрактора 22.
Например, текущий коэффициент фильтра каждого одномерного фильтра может быть выведен посредством добавления разности между текущим коэффициентом фильтра и предыдущим коэффициентом фильтра к предыдущему коэффициенту фильтра. Непрерывная одномерная фильтрация может быть выполнена над данными, подвергнутыми удалению блочности, посредством использования выведенного коэффициента фильтра каждого одномерного фильтра. Удаление блочности выполняется для уменьшения эффекта блочности декодированных данных, и петлевая фильтрация минимизирует погрешность между восстановленным изображением и исходным изображением.
Для более глубокого понимания петлевая фильтрация, использующая непрерывную одномерную фильтрацию в горизонтальном направлении и вертикальном направлении, будет описана со ссылкой на следующие уравнения.
Текущий коэффициент фильтра может быть выведен в соответствии с уравнением 7, приведенным ниже.
[Уравнение 7]
c[i][j]=adaptive_loop_filter_prev[i][j]+ adaptive_loop_filter[i][j].
Здесь i обозначает индекс одномерного фильтра, и j обозначает индекс коэффициента фильтра одномерного фильтра. c[i][j] обозначает текущий коэффициент фильтра, adaptive_loop_filter_prev[i][j] обозначает предыдущий коэффициент фильтра, и adaptive_loop_filter[i][j] обозначает разностный компонент коэффициента фильтра, переданного как информация коэффициента фильтра.
Другими словами, текущий коэффициент фильтра может быть выведен из суммы предыдущего коэффициента фильтра и разностного компонента. Чтобы вывести следующий коэффициент фильтра после выведения текущего коэффициента фильтра, текущий коэффициент фильтра c[i][j] обновляется до adaptive_loop_filter_prev[i][j].
Петлевая фильтрация, использующая непрерывную одномерную фильтрацию, может быть выполнена в соответствии с уравнениями 8 и 9, приведенными ниже. В уравнениях 8 и 9 i обозначает индекс в направлении ширины текущего изображения, и j обозначает индекс в направлении высоты текущего изображения.
[Уравнение 8]
i,j
i,j-4
i,j-3
i,j-2
i,j-1
i,j
i,j
i,j+2
i,j+3
i,j+4
q=(p*c[0][4]+p*c[0][3]+p*c[0][2]+p*c[0][1]+ p*c[0][0]+p+1*c[0][1]+p*c[0][2]+p*c[0][3]+ p*c[0][4]).
i,j
i, j
Здесь p обозначает данные текущего изображения, подвергнутые удалению блочности, и q обозначает отфильтрованные посредством одномерного фильтра данные в горизонтальном направлении относительно данных, подвергнутых удалению блочности. 5 коэффициентов фильтра используются для симметричной фильтрации 9 частей данных, подвергнутых удалению блочности, посредством использования коэффициента фильтра c симметричного фильтра.
[Уравнение 9]
i,j
i,j-4
i,j-3
i,j-2
i,j-1
i,j
i,j+1
i,j+2
i,j+3
i,j+4
f=(q*c[1][4]+q*c[1][3]+q*c[1][2]+q*c[1][1]+ q*c[1][0]+q*c[1][1]+q*c[1][2]+q*c[1][3]+ q*c[1][4]).
i,j
i,j
Здесь f обозначает отфильтрованные посредством одномерного фильтра данные в вертикальном направлении относительно отфильтрованных посредством одномерного фильтра данных q. Поскольку коэффициента фильтра c использует способ текущей фильтрации, одномерная фильтрация непрерывно выполняется в вертикальном направлении над отфильтрованными посредством одномерного фильтра данными в горизонтальном направлении.
В симметричном фильтре одномерный фильтр может установить коэффициенты всех фильтров посредством использования только небольшого количества коэффициентов по сравнению с двухмерным фильтром. В соответствии с этим, количество битов, имеющих отношение к характеристикам фильтра из множества одномерных фильтров, которые вставлены в битовый поток передачи, может быть относительно низким по сравнению с двухмерным фильтром.
Кроме того, объем памяти для хранения временных данных во время фильтрации меньше для одномерного фильтра, чем для двухмерного фильтра. Пропускная способность фильтрации двумерного фильтра значительно больше по сравнению с одномерной фильтрацией. При текущей фильтрации невозможно выполнить параллельный процесс в соответствии с множественной фильтрацией посредством использования двухмерного фильтра, но возможно выполнить параллельный процесс посредством использования одномерного фильтра.
Однако петлевая фильтрация не ограничена непрерывной одномерной фильтрацией в горизонтальном и вертикальном направлениях. Петлевая фильтрация может быть выполнена, по мере того как предопределенное количество одномерных фильтров выполняют непрерывную одномерную фильтрацию, причем каждая одномерная фильтрация выполняется в предопределенном направлении.
Устройство 20 декодирования видео помимо информации о коэффициенте фильтра может принять информацию о множестве одномерных фильтров, с тем чтобы проверить тип, количество, размер, бит квантования, коэффициент, направление фильтрации каждого одномерного фильтра и информацию о том, выполнены ли фильтрация и текущая фильтрация. В соответствии с этим генератор 24 восстановленного изображения может выполнить петлевую фильтрацию посредством комбинации различных одномерных фильтров.
Теперь со ссылкой на фиг. 4 и 5 будет описана адаптивная петлевая фильтрация, выполняемая генераторами 14 и 24 восстановленного изображения.
Фиг. 4 является блок-схемой последовательности операций для описания адаптивной петлевой фильтрации в соответствии с иллюстративным вариантом осуществления.
Петлевая фильтрация может быть выполнена как множество одномерных фильтров, непрерывно выполняющих фильтрацию. На этапе 41 принимаются декодированные данные изображения. В качестве альтернативы могут быть приняты данные изображения, над которыми выполнена фильтрация удаления блочности после декодирования. На этапе 42 определяется, должны ли быть использованы все первые N фильтров. Если определено, что первые N фильтров не должны быть использованы, выполняется этап 46. Если на этапе 42 определено, чтобы первые N фильтров должны быть использованы, одномерная фильтрация может быть выполнена в соответствии с порядком фильтрации, например, первый фильтр выполняет одномерную фильтрацию в первом направлении фильтрации на этапе 43, и второй фильтр выполняет одномерную фильтрацию во втором направлении фильтрации на этапе 44, пока N-ый фильтр не выполнит одномерную фильтрацию в N-м направлении фильтрации на этапе 45.
На этапе 46 декодированные данные изображения, подвергнутые удалению блочности данные изображения или подвергнутые непрерывной одномерной фильтрации данные сохраняются в буфере или воспроизводятся устройством воспроизведения.
Направление фильтрации одномерного фильтра может быть адаптивно определено в соответствии с характеристиками локального изображения, посредством анализа характеристик. Например, направление фильтрации может быть адаптивно определено как направление вдоль границы локального изображения, с тем чтобы сохранить границу локального изображения.
Фиг. 5 является блок-схемой последовательности операций для описания адаптивной петлевой фильтрации в соответствии с другим иллюстративным вариантом осуществления.
Когда декодированные данные изображения или подвергнутые удалению блочности данные изображения приняты на этапе 51, для каждого пикселя декодированных данных изображения или подвергнутых удалению блочности данных изображения обнаруживается граница на этапе 52. На этапе 53 одномерная фильтрация выполняется в соответствии с обнаруженной границей, и отфильтрованные данные сохраняются или воспроизводятся устройством воспроизведения на этапе 54.
Информация о множестве одномерных фильтров, включающая в себя направление фильтрации, определенное в соответствии с границей, кодируется и предоставляется декодеру во время кодирования видео. Информация о петлевом фильтре считывается из принятых данных во время декодирования видео, и одномерная фильтрация в соответствии с направлением фильтрации, например, вдоль границы, может быть выполнена посредством предопределенного одномерного фильтра.
Постобработка, составляющая петлевую фильтрацию, может уменьшить искажение между исходным изображением и восстановленным изображением, которое формируется вследствие сложного сжатия с потерями. Кроме того, подвергнутое петлевой фильтрации изображение может использоваться в качестве опорного изображения для улучшения качества изображения, полученного посредством выполнения компенсации предсказания или движения.
В соответствии с этим, генераторы 14 и 24 восстановленного изображения могут выборочно выполнить адаптивную петлевую фильтрацию, относящуюся к характеристикам изображения, системному окружению или требованиям пользователя, посредством комбинации одномерных фильтров, имеющих различные характеристики. Поскольку для выполнения адаптивной петлевой фильтрации вместо двухмерного фильтра используются непрерывные одномерные фильтры, адаптивная петлевая фильтрация может быть выгодна с точки зрения памяти, пропускной способности, количества битов передачи и т.д. по сравнению с двухмерным фильтром. Когда генераторы 14 и 24 восстановленного изображения выполняют адаптивную петлевую фильтрацию, передатчик 18 и экстрактор 22 передают и принимают информацию, полученную посредством кодирования разностного компонента закодированного коэффициента фильтра, и, таким образом, количество информации, используемой для адаптивной петлевой фильтрации, может быть уменьшено.
Фиг. 6 является блок-схемой последовательности операций, иллюстрирующей способ кодирования видео для компенсации пиксельного значения в соответствии с иллюстративным вариантом осуществления.
На этапе 62 кодируется входная последовательность изображения. На этапе 64 декодируются закодированные данные изображения, и формируется восстановленное изображение посредством выполнения петлевой фильтрации над декодированными данными изображения. Восстановленное изображение может быть сформировано посредством выполнения адаптивной петлевой фильтрации, причем по меньшей мере одна операция одномерной фильтрации непрерывно выполняется над декодированными данными изображения или подвергнутыми удалению блочности данными изображения.
На этапе 66 определяются значение компенсации о погрешности между каждым восстановленным пикселем предопределенной группы в восстановленном изображении и соответствующем исходном изображении и группы пикселей, включающей в себя восстановленные пиксели, которые должны быть компенсированы. Группа пикселей, включающая в себя восстановленные пиксели, которые должны быть компенсированы, может быть определена в соответствии с уровнями экстремального и/или граничного значения пиксельных значений, полосами пиксельных значений или линиями. Значение компенсации в соответствии с группами пикселей может быть определено на основе среднего значения погрешностей.
На этапе 68 значение компенсации кодируется, и передается битовый поток закодированного значения компенсации и закодированной входной последовательности изображения. Когда значение компенсации определено в соответствии с более подробными группами пикселей, пиксельные значения могут быть точно компенсированы, но служебная информация может увеличиться.
Фиг. 7 является блок-схемой последовательности операций, иллюстрирующей способ декодирования видео для компенсации пиксельного значения в соответствии с иллюстративным вариантом осуществления.
На этапе 72 битовый поток закодированного изображения принимается и синтаксически анализируется, и закодированные данные изображения и значение компенсации извлекаются из битового потока.
На этапе 74 закодированные данные изображения декодируются, и восстановленное изображение формируется посредством выполнения петлевой фильтрации над декодированными данными изображения. Восстановленное изображение может быть сформировано посредством выполнения адаптивной петлевой фильтрации, причем по меньшей мере одна операция одномерной фильтрации непрерывно выполняется над декодированными данными изображения или подвергнутыми удалению блочности данными изображения.
На этапе 76 группа пикселей, включающая в себя восстановленные пиксели, которые должны быть компенсированы посредством использования значения компенсации, определяется среди восстановленных пикселей в восстановленном изображении. Группа пикселей, включающая в себя восстановленные пиксели, которые должны быть компенсированы посредством использования значения компенсации, может быть определена в соответствии с уровнем экстремального и/или граничного значения пиксельных значений восстановленных пикселей, полосами пиксельных значений или линиями в соответствии со способом определения группы пикселей на основе информации, относящейся к значению компенсации. На этапе 78 восстановленное изображение, имеющее компенсированную погрешность, может быть выдано посредством компенсации погрешности между восстановленными пикселями определенной группы пикселей и первоначальными пикселями посредством использования значения компенсации.
В соответствии со способом кодирования видео и способом декодирования видео качество восстановленного изображения может быть улучшено посредством компенсации систематической погрешности восстановленного изображения, и количество битов передачи дополнительной информации для улучшения качества восстановленного изображения может быть уменьшено, поскольку кодируется и передается только информация о значении компенсации в соответствии с группами пикселей, и информация о местоположениях восстановленных пикселей, которые должны быть компенсированы, не передается.
Далее со ссылкой на фиг. 8-22 будут описаны кодирование и декодирование видео для компенсации пиксельного значения после выполнения петлевой фильтрации на основе элементов кодирования, имеющих древовидную структуру, в соответствии с иллюстративными вариантами осуществления.
Фиг. 8 является блок-схемой устройства 80 кодирования видео для кодирования видео для компенсации пиксельного значения после выполнения петлевой фильтрации на основе кодировании блоков, имеющих древовидную структуру, в соответствии с иллюстративным вариантом осуществления.
Устройство 80 кодирования видео в соответствии с текущим иллюстративным вариантом осуществления включает в себя кодер 81, генератор 84 восстановленного изображения, блок 87 определения значения компенсации и группы пикселей и передатчик 88. Кодер 81 включает в себя блок 82 разбиения максимальных элементов кодирования и блок 83 определения глубины кодирования и режима кодирования. Генератор 84 восстановленного изображения включает в себя декодер и блок 86 выполнения петлевой фильтрации.
Кодер 81 кодирует входную последовательность изображения. Кодер 81 может закодировать входную последовательность изображения на основе элементов кодирования, имеющих древовидную структуру. Блок 82 разбиения максимальных элементов кодирования может разбить текущее изображение на основе максимального элемента кодирования для текущего изображения. Максимальный элемент кодирования в соответствии с иллюстративным вариантом осуществления может представлять собой элемент данных, имеющий размер 32x32, 64x64, 128x128, 256x256 и т.д., причем форма элемента данных представляет собой квадрат, имеющий ширину и длину, которые равны степеням числа 2.
Если текущее изображение больше максимального элемента кодирования, данные текущего изображения могут быть разбиты по меньшей мере на один максимальный элемент кодирования. Данные изображения могут быть выданы блоку 83 определения глубины кодирования и режима кодирования в соответствии с по меньшей мере одним максимальным элементом кодирования.
Элемент кодирования в соответствии с иллюстративным вариантом осуществления может быть характеризован максимальным размером и глубиной. Глубина обозначает количество раз, которое элемент кодирования пространственно разбит, начиная с максимального элемента кодирования, и по мере увеличения глубины блоки кодирования в соответствии глубиной могут быть разбиты от максимального элемента кодирования до минимального элемента кодирования. Глубина максимального элемента кодирования является самой верхней глубиной, и глубина минимального элемента кодирования является самой нижней глубиной. Поскольку размер элемента кодирования, соответствующего каждой глубине, уменьшается по мере увеличения глубины максимального элемента кодирования, элемент кодирования, соответствующий более высокой глубине, может включать в себя множество элементов кодирования, соответствующих более низкой глубине.
Как описано выше, данные текущего изображения разбиваются на максимальные элементы кодирования в соответствии с максимальным размером элемента кодирования, и каждый из максимальных элементов кодирования может включать в себя более глубокие элементы кодирования, которые разбиты в соответствии с глубинами. Поскольку максимальный элемент кодирования в соответствии с иллюстративным вариантом осуществления разбит в соответствии с глубинами, данные изображения пространственной области, включенные в максимальный элемент кодирования, могут быть иерархически распределены в соответствии с глубинами.
Максимальная глубина и максимальный размер элемента кодирования, которые ограничивают общее количество раз, которое иерархически разбиваются высота и ширина максимального элемента кодирования, могут быть предопределены.
Блок 83 определения глубины кодирования и режима кодирования кодирует по меньшей мере одну область разбиения, полученную посредством разбиения области максимального элемента кодирования в соответствии с глубинами и определяет глубину для вывода окончательных данных закодированного изображения в соответствии с по меньшей мере одной областью разбиения. Другими словами, блок 83 определения глубины кодирования и режима кодирования определяет глубину кодирования посредством кодирования данных изображения в более глубоких элементах кодирования в соответствии с глубинами в соответствии с максимальным элементом кодирования текущего изображения и выбора глубины, имеющей наименьшую погрешность кодирования. Таким образом, выдаются закодированные данные изображении элемента кодирования, соответствующего определенной глубине кодирования. Кроме того, элементы кодирования, соответствующие глубине кодирования, могут рассматриваться как закодированные элементы кодирования. Определенная глубина кодирования и закодированные данные изображения в соответствии с определенной глубиной кодирования выдаются передатчику 88.
Данные изображения в максимальном элементе кодирования закодированы на основе более глубоких элементов кодирования, соответствующих по меньшей мере одной глубине, которая равна или ниже максимальной глубины, и результаты кодирования данных изображения сравниваются на основе каждого из более глубоких элементов кодирования. Глубина, имеющая наименьшую погрешность кодирования, может быть выбрана после сравнения погрешностей кодирования более глубоких элементов кодирования. По меньшей мере одна глубина кодирования может быть выбрана для каждого максимального элемента кодирования.
Размер максимального элемента кодирования разбивается, по мере того как элемент кодирования иерархически разбивается в соответствии с глубинами и по мере того как увеличивается количество элементов кодирования. Кроме того, даже если элементы кодирования соответствуют одной и той же глубине в одном максимальном элементе кодирования, определяется, следует ли разбить каждый из элементов кодирования, соответствующих одной и той же глубине, более низкой глубине посредством измерения погрешности кодирования данных изображения каждого из элементов кодирования отдельно. В соответствии с этим, даже когда данные изображения включены в один максимальный элемент кодирования, данные изображения разбиваются на области в соответствии с глубинами, и погрешности кодирования могут отличаться в соответствии с областями в одном максимальном элементе кодирования, и, таким образом, глубины кодирования могут отличаться в соответствии с областями в данных изображения. Таким образом, одна или более глубин кодирования может быть определена в одном максимальном элементе кодирования, и данные изображения максимального элемента кодирования могут быть разбиты в соответствии с элементами кодирования по меньшей мере одной глубины кодирования.
В соответствии с этим блок 83 определения глубины кодирования и режима кодирования может определить элементы кодирования, имеющие древовидную структуру, включенные в максимальный элемент кодирования. "Элементы кодирования, имеющие древовидную структуру" в соответствии с иллюстративным вариантом осуществления включают в себя элементы кодирования, соответствующие глубине, определенной в качестве глубины кодирования, среди всех более глубоких элементов кодирования, включенных в максимальный элемент кодирования. Элемент кодирования с глубиной кодирования может быть иерархически определен в соответствии с глубинами в одной и той же области максимального элемента кодирования и может быть независимо определен в разных областях. Аналогичным образом, глубина кодирования в текущей области может быть определена независимо от глубины в другой области.
Максимальная глубина в соответствии с иллюстративным вариантом осуществления представляет собой индекс, относящийся к количеству разбиений от максимального элемента кодирования до минимального элемента кодирования. Максимальная глубина в соответствии с иллюстративным вариантом осуществления может обозначать общее количество разбиений от максимального элемента кодирования до минимального элемента кодирования. Например, когда глубина максимального элемента кодирования равна 0, глубина элемента кодирования, для которого максимальный элемент кодирования разбит один раз, может быть установлена равной 1, и глубина элемента кодирования, для которого максимальный элемент кодирования разбит два раза, может быть установлена равной 2. При этом, если минимальный элемент кодирования представляет собой элемент кодирования, для которого максимальный элемент кодирования разбит четыре раза, существуют 5 уровней глубины глубин 0, 1, 2, 3 и 4, и, таким образом, максимальная глубина может быть установлена равной 4.
Кодирование с предсказанием и преобразование могут быть выполнены в соответствии с максимальным элементом кодирования. Кодирование с предсказанием и преобразование также выполняются на основе более глубоких элементов кодирования в соответствии с глубиной, которая равна или меньше максимальной глубины, в соответствии с максимальным элементом кодирования. Преобразование может быть выполнено в соответствии со способом ортогонального преобразования или целочисленного преобразования.
Поскольку количество более глубоких элементов кодирования увеличивается всякий раз, когда максимальный элемент кодирования разбивается в соответствии с глубинами, кодирование, включающее в себя кодирование с предсказанием и преобразование, выполняется над всеми более глубокими элементами кодирования, формируемыми по мере увеличения глубины. Для удобства описания кодирование с предсказанием и преобразование теперь будут описаны на основе элемента кодирования текущей глубины в максимальном элементе кодирования.
Устройство 80 кодирования видео может по-разному выбирать размер или форму элемента данных для кодирования данных изображения. Чтобы закодировать данные изображения, выполняются такие операции, как кодирование с предсказанием, преобразование и статистическое кодирование, и в это время один и тот же элемент данных может использоваться для всех операций, или разные элементы данных могут использоваться для каждой операции.
Например, устройство 80 кодирования видео может выбирать не только элемент кодирования для кодирования данных изображения, но также и элемент данных, отличающийся от элемента кодирования, с тем чтобы выполнить кодирование с предсказанием над данными изображения в элементе кодирования.
Чтобы выполнить кодирование с предсказанием в максимальном элементе кодирования, кодирование с предсказанием может быть выполнено на основе элемента кодирования, соответствующего глубине кодирования, то есть, на основе элемента кодирования, который больше не разбит на элементы кодирования, соответствующие нижней глубине. В дальнейшем элемент кодирования, который больше не разбит, и становится базисным элементом для кодирования с предсказанием, будет называться "элементом предсказания". Раздел, полученный посредством разбиения элемента предсказания, может включать в себя элемент предсказания или элемент данных, полученный посредством разбиения по меньшей мере либо высоты, либо ширины элемента предсказания.
Например, когда элемент кодирования с размером 2N×2N (где N - положительное целое число) больше не разбивается и становится элементом предсказания с размером 2N×2N, размер раздела может быть 2N×2N, 2N×N, N×2N или N×N. Примеры типа раздела включают в себя симметричные разделы, которые получаются посредством симметричного разбиения высоты или ширины элемента предсказания, разделы, полученные посредством асимметричного разбиения высоты или ширины элемента предсказания, например, 1:n или n:1, разделы, которое получены посредством геометрического разбиения элемента предсказания, и разделы, имеющее произвольные формы.
Режим предсказания элемента предсказания может быть по меньшей мере одним режимом из интра-режима (внутренний режим), интер-режима (меж- или взаимный режим) и режима пропуска. Например, интра-режим или интер-режим могут быть выполнены над разделами с размером 2N×2N, 2N×N, N×2N или N×N. Кроме того, режим пропуска может быть выполнен только над разделом с размером 2N×2N. Кодирование выполняется независимо над одним элементом предсказания в элементе кодирования, и тем самым выбирается режим предсказания, имеющий наименьшую погрешность кодирования.
Устройство 80 кодирования видео также может выполнить преобразование над данными изображения в элементе кодирования не только на основе элемента кодирования для кодирования данных изображения, но также и на основе элемента данных, который отличается от элемента кодирования.
Чтобы выполнить преобразование в элементе кодирования, преобразование может быть выполнено на основе элемента данных, имеющего размер, который меньше или равен элементу кодирования. Например, элемент данных для преобразования может включать в себя элемент данных для интра-режима и элемент данных для интер-режима.
Элемент данных, используемый в качестве базы преобразования, теперь будет называться "элементом преобразования". Глубина преобразования, указывающая количество разбиений для достижения элемента преобразования посредством разбиения высоты и ширины элемента кодирования, также может быть установлена в элементе преобразования. Например, в текущем элементе кодирования с размером 2N×2N глубина преобразования может быть равна 0, когда размер элемента преобразования также составляет 2N×2N, может быть равна 1, когда и высота, и ширина текущего элемента кодирования разбиты на две равные части, то есть всего 4^1 элементов преобразования, и размер элемента преобразования, таким образом, составляет N×N, и может быть равна 2, когда и высота, и ширина текущего элемента кодирования разбиты на четыре равные части, то есть всего 4^2 элементов преобразования, и размер элемента преобразования, таким образом, составляет N/2×N/2. Например, элемент преобразования может быть установлен в соответствии с иерархической древовидной структурой, в которой элемент преобразования верхней глубины преобразования разбит на четыре элемента преобразования нижней глубины преобразования в соответствии с иерархическими характеристиками глубины преобразования.
Подобно элементу кодирования элемент преобразования в элементе кодирования может быть рекурсивно разбит на области меньшего размера, с тем чтобы элемент преобразования мог быть определен независимо в единицах областей. Таким образом, разностные данные в элементе кодирования могут быть разбиты в соответствии с преобразованием, имеющим древовидную структуру в соответствии с глубинами преобразования.
Информация кодирования в соответствии с элементами кодирования, соответствующими глубине кодирования, использует информацию не только о глубине кодирования, но также и о информации, относящейся к кодированию с предсказанием и преобразованию. В соответствии с этим блок 83 определения глубины кодирования и режима кодирования определяет не только глубину кодирования, имеющую наименьшую погрешность кодирования, но также и тип раздела в элементе предсказания, режим предсказания в соответствии с элементами предсказания и размер элемента преобразования для преобразования.
Блок 83 определения глубины кодирования и режима кодирования может измерить погрешность кодирования более глубоких элементов кодирования в соответствии с глубинами посредством использования оптимизации искажений на основе множителей Лагранжа.
Генератор 84 восстановленного изображения декодирует закодированные данные изображения и формирует восстановленное изображение посредством выполнения петлевой фильтрации над декодированными данными изображения. Декодер 85, включенный в генератор 84 восстановленного изображения, декодирует данные изображения на основ элементов кодирования, имеющих древовидную структуру, которые закодированы кодером 81. Декодер 85 может декодировать закодированные данные изображения и выдать данные изображения пространственной области в соответствии с максимальными элементами кодирования на основе глубины кодирования и режима кодирования, определенными блоком 83 определения глубины кодирования и режима кодирования.
Блок 86 выполнения петлевой фильтрации, включенный в генератор 84 восстановленного изображения, может выполнить петлевую фильтрацию над декодированными данными изображения. Та же самая адаптивная петлевая фильтрация, выборочно выполняемая генератором 14 восстановленного изображения, может быть выполнена блоком 86 выполнения петлевой фильтрации. В соответствии с этим блок 86 выполнения петлевой фильтрации может непрерывно выполнять одномерную фильтрацию в горизонтальном направлении и одномерную фильтрацию в вертикальном направлении для восстановления текущего изображения. Блок 86 выполнения петлевой фильтрации может выдать восстановленное изображение блоку 87 определения значения компенсации и группы пикселей.
Блок 87 определения значения компенсации и группы пикселей определяет значение компенсации о погрешности между каждым из восстановленных пикселей предопределенной группы в восстановленном изображении и соответствующим первоначальным пикселем и группу пикселей, включающую в себя восстановленные пиксели, имеющие пиксельные значения, которые должны быть компенсированы. Блок 87 определения значения компенсации и группы пикселей представляет собой технический элемент, соответствующий блоку 16 определения значения компенсации и группы пикселей.
В соответствии с этим блок 87 определения значения компенсации и группы пикселей может определить уровень экстремального и/или граничного значения соседних восстановленных пикселей восстановленного изображения в соответствии с восстановленными пикселями и распределить соседние восстановленные пиксели по группам пикселей в соответствии с уровнями экстремального и/или граничного значения. В качестве альтернативы блок 87 определения значения компенсации и группы пикселей может распределить восстановленные пиксели по группам пикселей в соответствии с полосами на основе пиксельного значения. В качестве альтернативы блок 87 определения значения компенсации и группы пикселей может обнаружить линии в предопределенном направлении посредством анализа восстановленного изображения и распределить восстановленные пиксели по группам пикселей в соответствии с линиями, которые включают в себя восстановленные пиксели на одной и той же линии.
Блок 87 определения значения компенсации и группы пикселей может определить значение компенсации индивидуально для каждой группы пикселей посредством использования среднего значения погрешностей между восстановленным пикселем и соответствующим первоначальным пикселем. Блок 87 определения значения компенсации и группы пикселей может определить восстановленный пиксель, который должен быть компенсирован, в соответствии с по меньшей мере одним элементом данных среди последовательности изображения, секции, кадра и элемента кодирования входной видео и определить значение компенсации, соответствующее определенному восстановленному пикселю, который должен быть компенсирован. Информация о значении компенсации и группе пикселей, определенная блоком 87 определения значения компенсации и группы пикселей, может быть выдана передатчику 88.
Передатчик 88 выдает данные изображения максимального элемента кодирования, который закодирован на основе по меньшей мере одной глубины кодирования, определенной блоком 83 определения глубины кодирования и режима кодирования, и информацию о режиме кодирования в соответствии с глубиной кодирования в битовых потоках. Данные изображения, закодированные кодером 81, могут быть преобразованы в формат битового потока через статистическое кодирование и затем вставлены в битовый поток для передачи.
В качестве альтернативы передатчик 88 может закодировать и вставить значение компенсации, определенное блоком 86 определения значения компенсации и группы пикселей, в битовый поток для передачи. В качестве альтернативы передатчик 88 может принять дополнительную информацию о способе определения группы пикселей от блока 87 определения значения компенсации и группы пикселей и закодировать и вставить дополнительную информацию в битовый поток.
Закодированные данные изображения могут быть получены посредством кодирования разностных данных изображения.
Информация о режиме кодирования в соответствии с глубиной кодирования может включать в себя информацию о глубине кодирования, о типе раздела в элементе предсказания, режиме предсказания и размере элемента преобразования.
Информация о глубине кодирования может быть определена посредством использования информации разбиения в соответствии с глубинами, которая указывает, выполнено ли кодирование над элементами кодирования нижней глубины вместо текущей глубины. Если текущая глубина текущего элемента кодирования является глубиной кодирования, данные изображения в текущем элементе кодирования закодированы и выданы, и, таким образом, информация разбиения может быть определена таким образом, чтобы не разбивать текущий элемент кодирования до нижней глубины. В качестве альтернативы, если текущая глубина текущего элемента кодирования не является глубиной кодирования, кодирование выполнено над элементом кодирования нижней глубины, и, таким образом, информация разбиения может быть определена таким образом, чтобы разбить текущий элемент кодирования для получения элементов кодирования нижней глубины.
Если текущая глубина не является глубиной кодирования, кодирование выполняется над элементом кодирования, который разбит на элемент кодирования нижней глубины. Поскольку в одном элементе кодирования текущей глубины существует по меньшей мере один элемент кодирования нижней глубины, кодирование с повтором выполняется над каждым элементом кодирования нижней глубины, и, таким образом, кодирование может быть рекурсивно выполнено для элементов кодирования, имеющих одну и ту же глубину.
Поскольку элементы кодирования, имеющие древовидную структуру, определены для одного максимального элемента кодирования, и информация по меньшей мере об одном режиме кодирования определена для элемента кодирования с глубиной кодирования, информация по меньшей мере об одном режиме кодирования может быть определена для одного максимального элемента кодирования. Кроме того, глубина кодирования данных изображения максимального элемента кодирования может отличаться в зависимости от местоположений, поскольку данные изображения иерархически разбиваются в соответствии с глубинами, и, таким образом, информация о глубине кодирования и режиме кодирования может быть установлена для данных изображения.
В соответствии с этим передатчик 88 может назначить информацию кодирования о соответствующей глубине кодирования и режиме кодирования по меньшей мере одному элементу из элемента кодирования, элемента предсказания и минимального элемента, включенного в максимальный элемент кодирования.
Минимальный элемент в соответствии с иллюстративным вариантом осуществления представляет собой прямоугольный элемент данных, полученный посредством разбиения минимального элемента кодирования, составляющего самую нижнюю глубину, на 4. В качестве альтернативы минимальный элемент может представлять собой максимальный прямоугольный элемент данных, который может быть включен во все элементы кодирования, элементы предсказания, элементы раздела и элементы преобразования, включенные в максимальный элемент кодирования.
Например, информация кодирования, выданная через передатчик 88, может быть распределена на информацию кодирования в соответствии с элементами кодирования и информацию кодирования в соответствии с элементами предсказания. Информация кодирования в соответствии с элементами кодирования может включать в себя информацию о режиме предсказания и о размере разделов. Информация кодирования в соответствии с элементами предсказания может включать в себя информацию о предполагаемом направлении интер-режима, об индексе опорного изображения интер-режима, о векторе движения, о компоненте цветности интра-режима и о способе интерполяции интра-режима. Кроме того, информация о максимальном размере элемента кодирования, определенного в соответствии с изображениями, секциями или группами изображений (GOP), и информации о максимальной глубине могут быть вставлены в набор параметров последовательности (SPS) или в заголовок битового потока.
Передатчик 88 может закодировать и выдать коэффициент фильтра, используемый при адаптивной петлевой фильтрации. Кроме того, поскольку тип, количество, размер, бит квантования, коэффициент, направление фильтрации каждого одномерного фильтра и информация о том, выполнена ли фильтрация и текущая фильтрация, могут быть установлены для адаптивной петлевой фильтрации, информация о множестве одномерных фильтров петлевой фильтрации может быть закодирована и передана.
В устройстве 80 кодирования видео более глубокий элемент кодирования может представлять собой элемент кодирования, полученный посредством деления высоты или ширины элемента кодирования более верхней глубины, который находится на один уровень выше, на два. Другими словами, когда размер элемента кодирования текущей глубины составляет 2N×2N, размер элемента кодирования более низкой глубины составляет N×N. Кроме того, элемент кодирования текущей глубины, имеющей размер 2N×2N, может включать в себя максимум 4 элемента кодирования более низкой глубины.
В соответствии с этим устройство 80 кодирования видео может сформировать элементы кодирования, имеющие древовидную структуру, посредством определения элементов кодирования, имеющих оптимальную форму и оптимальный размер для каждого максимального элемента кодирования на основе размера максимального элемента кодирования и максимальной глубины, определенной с учетом характеристик текущего изображения. Кроме того, поскольку кодирование может быть выполнено над каждым максимальным элементом кодирования посредством использования любого из различных режимов предсказания и преобразования, оптимальный режим кодирования может быть определен с учетом характеристик элемента кодирования различных размеров изображения.
Таким образом, если изображение, имеющее высокую разрешающую способность или большое количество данных, кодируется в макроблоке предшествующего уровня техники, количество макроблоков на изображение существенно увеличивается. В соответствии с этим, количество частей сжатой информации, формированной для каждого макроблока, увеличения, и, таким образом, сложно передать сжатую информацию, и эффективность сжатия данных уменьшается. Однако при использовании устройства 80 кодирования видео в соответствии с иллюстративным вариантом осуществления эффективность сжатия изображения может быть увеличена, поскольку элемент кодирования приспосабливается с учетом характеристик изображения, и при этом увеличивается максимальный размер элемента кодирования с учетом размера изображения.
Кроме того, количество битов передачи дополнительной информации может быть уменьшено, поскольку информация о значении компенсации для компенсации пиксельного значения между восстановленным изображением и исходным изображением, которая требуется декодеру для улучшения качества восстановленного изображения посредством, кодируется и передается без информации о местоположении пикселя.
Фиг. 9 является блок-схемой устройства 90 декодирования видео для компенсации пиксельного значения после выполнения петлевой фильтрации на основе кодирования блоков, имеющих древовидную структуру, в соответствии с иллюстративным вариантом осуществления.
Устройство 90 декодирования видео включает в себя экстрактор 91, генератор 94 восстановленного изображения, блок 97 определения группы пикселей и блок 98 компенсации восстановленного пикселя. Экстрактор 91 включает в себя приемник 92 и блок 93 извлечения данных изображения, информации режима кодирования, информации коэффициента петлевого фильтра и информации значения компенсации (в дальнейшем называемый экстрактором информации). Генератор 94 восстановленного изображения включает в себя декодер 95 и блок 96 выполнения петлевой фильтрации.
Определения терминов, таких как элемент кодирования, глубина, элемент предсказания, элемент преобразования и различные режимы кодирования для различных процессов, используемые для описания устройства 90 декодирования видео, идентичны терминам, описанным в отношении устройства 80 кодирования видео на фиг. 8.
Экстрактор 91 принимает и синтаксически анализирует битовый поток закодированного изображения и извлекает закодированные данные изображения и значение компенсации из битового потока. Приемник 92 экстрактора 91 принимает и синтаксически анализирует битовый поток закодированного изображения. Экстрактор информации извлекает данные изображения в соответствии с максимальными элементами кодирования из синтаксически проанализированного битового потока и выдает извлеченные данные изображения декодеру 95. Экстрактор 93 информации может извлечь информацию о максимальном размере элемента кодирования текущего изображения из заголовка текущего изображения.
Кроме того, экстрактор 93 информации извлекает информацию о глубине кодирования и режиме кодирования для элементов кодирования, имеющих древовидную структуру, в соответствии с каждым максимальным элементом кодирования из синтаксически проанализированного битового потока. Извлеченная информация о глубине кодирования и режиме кодирования выдается декодеру 95. Другими словами, данные изображения в битовой строке разбиваются на максимальный элемент кодирования, с тем чтобы декодер 95 декодировал данные изображения для каждого максимального элемента кодирования.
Информация о глубине кодирования и режиме кодирования в соответствии с максимальным элементом кодирования может быть установлена для информации по меньшей мере для одного элемента кодирования, соответствующего глубине кодирования, и информация о режиме кодирования может включать в себя информацию о типе раздела соответствующего элемента кодирования, соответствующего глубине кодирования, о режиме предсказания и размере элемента преобразования.
Информация о глубине кодирования и режиме кодирования в соответствии с каждым максимальным элементом кодирования, извлеченная экстрактором 93 информации, представляет собой информацию о глубине кодирования и режиме кодирования, определенную для формирования минимальной погрешности кодирования, когда кодер, например, устройство 80 кодирования видео, с повторением выполняет кодирование для каждого более глубокого элемента кодирования в соответствии с глубинам в соответствии с каждым максимальным элементом кодирования. В соответствии с этим устройство 90 декодирования видео может восстановить изображение посредством декодирования данных изображения в соответствии с глубиной кодирования и режимом кодирования, которые формируют минимальную погрешность кодирования.
Поскольку информация кодирования о глубине кодирования и режиме кодирования может быть назначена предопределенному элементу данных среди соответствующего элемента кодирования, элемента предсказания и минимального элемента, экстрактор 93 информации может извлечь информацию о глубине кодирования и режиме кодирования в соответствии с предопределенными элементами данных. Предопределенные элементы данных, которым назначена одна и та же информация о глубине кодирования и режиме кодирования, могут быть выведены как элементы данных, включенные в один и тот же максимальный элемент кодирования.
Декодер 95 восстанавливает текущее изображение посредством декодирования данных изображения в каждом максимальном элементе кодирования на основе информации о глубине кодирования и режиме кодирования в соответствии с максимальными элементами кодирования. Другими словами, декодер 95 может декодировать закодированные данные изображения на основе извлеченной информации о типе раздела, режиме предсказания и элементе преобразования для каждого элемента кодирования среди элементов кодирования, имеющих древовидную структуру, в каждом максимальном элементе кодирования. Процесс декодирования может включать в себя предсказание, в том числе интра-предсказание и компенсацией движения, и обратное преобразование. Обратное преобразование может быть выполнено в соответствии со способом обратного ортогонального преобразования или обратного целочисленного преобразования.
Кроме того, декодер 95 может выполнить обратное преобразование в соответствии с каждым элементом преобразования в элементе кодирования посредством считывания элементов преобразования, имеющих древовидную структуру, на основе информации о размере элемента преобразования элемента кодирования в соответствии с глубинами кодирования, с тем чтобы выполнить обратное преобразование в соответствии с максимальными элементами кодирования.
Декодер 95 может определить по меньшей мере одну глубину кодирования текущего максимального элемента кодирования посредством использования информации разбиения в соответствии с глубинами. Если информация разбиения указывает, что данные изображения больше не разбиты на текущей глубине, текущая глубина представляет собой глубину кодирования. В соответствии с этим декодер 95 может декодировать закодированные данные по меньшей мере одного элемента кодирования, соответствующего каждой глубине кодирования, в текущем максимальном элементе кодирования посредством использования информации о типе раздела элемента предсказания, режима предсказания и размера элемента преобразования для каждого элемента кодирования, соответствующего глубине кодирования, и выдать данные изображения текущего максимального элемента кодирования.
Другими словами, элементы данных, содержащие информацию кодирования, включающую в себя одну и ту же информацию разбиения, могут быть собраны посредством отслеживания множества информации кодирования, назначенной для предопределенного элемента данных среди элемента кодирования, элемента предсказания и минимального элемента, и собранные элементы данных могут рассматриваться как один элемент данных, который будет декодирован декодером 95 в одном режиме кодирования.
Когда в битовый поток вставлена информация о коэффициенте фильтра для адаптивной петлевой фильтрации, экстрактор 93 информации может извлечь из битового потока информацию о коэффициенте фильтра. Блок 96 выполнения петлевой фильтрации может принять информацию о коэффициенте фильтра, извлеченную экстрактором 93 информации, и сформировать восстановленное изображение посредством выполнения петлевой фильтрации над данными изображения, декодированными декодером 95.
Тот же самый технический элемент генератора 24 восстановленного изображения может быть применен к блоку 96 выполнения петлевой фильтрации. В соответствии с этим блок 96 выполнения петлевой фильтрации может выборочно выполнить фильтрацию удаления блочности и адаптивную петлевую фильтрацию над расшифрованными данными изображения. Адаптивная петлевая фильтрация может быть выполнена посредством использования непрерывного множества одномерных фильтров.
Генератор 94 восстановленного изображения может вывести коэффициент фильтра каждого одномерного фильтра посредством использования разностной информации коэффициента фильтра, извлеченного из экстрактора 93 информации. Например, текущий коэффициент фильтра каждого одномерного фильтра может быть выведен посредством добавления разности между текущим коэффициентом фильтра и предыдущим коэффициентом фильтра к предыдущему коэффициенту фильтра. Непрерывная одномерная фильтрация может быть выполнена над подвергнутыми удалению блочности данными посредством использования выведенного коэффициента фильтра каждого одномерного фильтра. Удаление блочности выполняется для уменьшения эффекта блочности декодированных данных, и петлевая фильтрация минимизирует погрешность между восстановленным изображением и исходным изображением.
Экстрактор 93 информации извлекает из битового потока закодированные данные изображения и информацию, относящуюся к значению компенсации. Информация, относящаяся к значению компенсации, может включать в себя информацию о значении компенсации. В качестве альтернативы, если информация, относящаяся к значению компенсации, включает в себя информацию о способе определения группы пикселей, которые должны быть компенсированы посредством использования значения компенсации, экстрактор 93 информации может извлечь из битового потока значение компенсации и информацию о способе определения группы пикселей, которые должны быть компенсированы. Экстрактор 93 информации может извлечь значение компенсации или информацию, относящуюся к значению компенсации, в соответствии с по меньшей мере одним элементом данных среди последовательности изображения, секции, кадра и элемента кодирования входной видео.
Блок 97 определения группы пикселей может определить группу пикселей, включающую в себя восстановленный пиксель, который должен быть компенсирован, посредством использования значения компенсации относительно восстановленных пикселей предопределенной группы в восстановленном изображении посредством приема восстановленного изображения, сформированного генератором 94 восстановленного изображения, и значения компенсации, извлеченного экстрактором 93 информации. Блок 98 компенсации восстановленного пикселя компенсирует пиксельное значение восстановленного пикселя посредством использования значения компенсации и выдает восстановленное изображение, имеющее восстановленное пиксельное значение, посредством приема значения компенсации, извлеченного экстрактором 93 информации, и информации о группе пикселей, определенной блоком 97 определения группы пикселей.
Когда экстрактором 93 информации извлечена информация о способе определения группы пикселей, которые должны быть компенсированы, блок 97 определения группы пикселей может выборочно определить группу пикселей, имеющую пиксельное значение, которое должно быть компенсировано на основе способа. Например, блок 97 определения группы пикселей может определить, следует ли классифицировать восстановленные пиксели в соответствии с уровнями экстремального и/или граничного значения, полосами пиксельных значений или линиями, и определить группу пикселей, имеющую пиксельные значения, которые должны быть компенсированы на основе способа. При этом блок 98 компенсации восстановленного пикселя может компенсировать пиксельные значения восстановленных пикселей в группе пикселей посредством использования значений компенсации для группы пикселей в соответствии с уровнями экстремального и/или граничного значения, полосами пиксельных значений или линиями.
Устройство 90 декодирования видео может получить информацию по меньшей мере об одном элементе кодирования, который формирует минимальную погрешность кодирования, когда кодирование рекурсивно выполнено для каждого максимального элемента кодирования, и может использовать информацию для декодирования текущего изображения. Другими словами, могут быть декодированы элементы кодирования, имеющие древовидную структуру, являющиеся оптимальными элементами кодирования в каждом максимальном элементе кодирования. Кроме того, максимальный размер элемента кодирования определяется с учетом разрешения и количества данных изображения.
В соответствии с этим, даже если данные изображения имеют высокое разрешение и большой объем данных, данные изображения могут быть эффективно декодированы и восстановлены посредством использования размера элемента кодирования и режима кодирования, которые адаптивно определяются в соответствии с характеристиками данных изображения посредством использовании информации об оптимальном режиме кодирования, принятой от кодера.
Устройство 80 кодирования видео и устройство 90 декодирования видео могут компенсировать систематическую погрешность, сформированную между восстановленным изображением и исходным изображением, когда закодированное изображение декодируется и восстанавливается.
Кодирование и декодирование видео на основе элементов кодирования, имеющих древовидную структуру, в соответствии с иллюстративными вариантами осуществления.
Фиг. 10 является схемой для описания концепции элементов кодирования в соответствии с иллюстративным вариантом осуществления.
Размер элемента кодирования может быть выражен как "ширина×высота" и может быть равен 64×64, 32×32, 16×16 и 8×8. Элемент кодирования с размером 64×64 может быть разбит на разделы с размерами 64×64, 64×32, 32×64 или 32×32, и элемент кодирования с размером 32×32 может быть разбит на разделы с размерами 32×32, 32×16, 16×32 или 16×16, элемент кодирования с размером 16×16 может быть разбит на разделы с размерами 16×16, 16×8, 8×16 или 8×8, и элемент кодирования с размером 8×8 может быть разбит на разделы с размерами 8×8, 8×4, 4×8 или 4×4.
В видеоданных 310 разрешение составляет 19201080, максимальный размер элемента кодирования равен 64, и максимальная глубина равна 2. В видеоданных 320 разрешение составляет 1920×1080, максимальный размер элемента кодирования равен 64, и максимальная глубина равна 3. В видеоданных 330 разрешение составляет 352×288, максимальный размер элемента кодирования равен 16, и максимальная глубина равна 1. Максимальная глубина, показанная на фиг. 10, обозначает общее количество разбиений от максимального элемента кодирования до минимального элемента декодирования.
Если разрешение является высоким или количество данных является большим, максимальный размер элемента кодирования может быть большим, с тем чтобы не только увеличить эффективность кодирования, но также и точно отразить характеристики изображения. В соответствии с этим максимальный размер элемента кодирования видеоданных 310 и 320, имеющих более высокое разрешение, чем видеоданные 330, может быть равен 64.
Поскольку максимальная глубина видеоданных 310 равна 2, элементы 315 кодирования видеоданных 310 могут включать в себя максимальный элемент кодирования, имеющий размер 64 по длинной оси, и элементы кодирования, имеющие размеры 32 и 16 по длинной оси, поскольку глубины увеличиваются на два уровня посредством двукратного разбиения максимального элемента кодирования. Между тем, поскольку максимальная глубина видеоданных 330 равна 1, элементы 335 кодирования видеоданных 330 могут включать в себя максимальный элемент кодирования, имеющий размер 16 по длинной оси, и элементы кодирования, имеющие размер 8 по длинной оси, поскольку глубины увеличиваются на один уровень посредством однократного разбиения максимального элемента кодирования.
Поскольку максимальная глубина видеоданных 320 равна 3, элементы 325 кодирования видеоданных 320 могут включать в себя максимальный элемент кодирования, имеющий размер 64 по длинной оси, и элементы кодирования, имеющие размеры 32, 16 и 8 по длинной оси, поскольку глубины увеличиваются на 3 слоя посредством трехкратного разбиения максимального элемента кодирования. Поскольку глубина увеличивается, подробная информация может быть выражена точно.
Фиг. 11 является блок-схемой кодера 400 изображения на основе элементов кодирования в соответствии с иллюстративным вариантом осуществления.
Кодер 400 изображения выполняет операции кодера 81 устройства 80 кодирования видео для кодирования данных изображения. Другими словами, блок 410 интра-предсказания выполняет интра-предсказание над элементами кодирования в интра-режиме среди текущего кадра 405, и блок 420 оценки движения и блок 425 компенсации движения выполняют интер-оценку и компенсацию движения над элементами кодирования в интер-режиме среди текущего кадра 405 посредством использования текущего кадра 405 и опорного кадра 495.
Данные, выданные из блока 410 интра-предсказания, блока 420 оценки движения и блока 425 компенсации движения выдаются в качестве квантованного коэффициента преобразования через блок 430 преобразования и блок 440 квантования. Квантованный коэффициент преобразования восстанавливается как данные в пространственной области посредством блока 460 обратного квантования и блока 470 обратного преобразования, и восстановленные данные в пространственной области выдаются в качестве опорного кадра 495 после постобработки через блок 480 удаления блочности и блок 490 петлевой фильтрации. Квантованный коэффициент преобразования может быть выдан как битовый поток 455 через статистический кодер 450.
Для того, чтобы применить кодер 400 изображения в устройстве 80 кодирования видео, составные элементы кодера 400 изображения, то есть, блок 410 интра-предсказания, блок 420 оценки движения, блок 425 компенсации движения, блок 430 преобразования, блок 440 квантования, статистический кодер 450, блок 460 обратного квантования, блок 470 обратного преобразования, блок 480 удаления блочности и блок 490 петлевой фильтрации выполняют операции на основе каждого элементе кодирования среди элементов кодирования, имеющих древовидную структуру, с учетом максимальной глубины каждого максимального элемента кодирования.
В частности, блок 410 интра-предсказания, блок 420 оценки движения и блок 425 компенсации движения определяют разделы и режим предсказания каждого элемента кодирования среди элементов кодирования, имеющих древовидную структуру, с учетом максимального размера и максимальной глубины текущего максимального элемента кодирования, и блок 430 преобразования определяет размер элемента преобразования в каждом элементе кодирования среди элементов кодирования, имеющих древовидную структуру.
Фиг. 12 является блок-схемой декодера 500 изображения на основе элементов кодирования в соответствии с иллюстративным вариантом осуществления.
Синтаксический анализатор 510 синтаксически анализирует закодировали данные изображения, которые будут декодированы, и информацию кодирования, используемую для декодирования из битового потока 505. Закодированные данные изображения выдаются как подвергнутые обратному квантованию данные через статистический декодер 520 и блок 530 обратного квантования, и подвергнутые обратному квантованию данные восстанавливаются в данные изображения в пространственной области через блок 540 обратного преобразования.
Блок 550 интра-предсказания выполняет интра-предсказание над элементами кодирования в интра-режиме относительно данных изображения в пространственной области, и блок 560 компенсации движения выполняет компенсацию движения над элементами кодирования в интер-режиме посредством использования опорного кадра 585.
Данные изображения в пространственной области, которые проходят через блок 550 интра-предсказания и блок 560 компенсации движения, могут быть выданы как восстановленный кадр 595 после постобработки через блок 570 удаления блочности и блок 580 петлевой фильтрации. Кроме того, данные изображения, которые подвергнуты постобработке через блок 570 удаления блочности и блок 580 петлевой фильтрации, могут быть выданы как опорный кадр 585.
Чтобы декодировать данные изображения в декодере 95 устройства 90 декодирования видео декодер 500 изображения может выполнить операции, которые выполняются после синтаксического анализатора 510.
Для того, чтобы применить декодер 500 изображения в устройстве 90 кодирования видео 90, элементы декодера 500 изображения, то есть, синтаксический анализатор 510, статистический декодер 520, блок 530 обратного квантования, блок 540 обратного преобразования, блок 550 интра-предсказания, блок 560 компенсации движения, блок 570 удаления блочности и блок 580 петлевой фильтрации выполняют операции на основе элементов кодирования, имеющих древовидную структуру, для каждого максимального элемента кодирования.
В частности, блок 550 интра-предсказания и блок 560 компенсации движения выполняют операции на основе разделов и режима предсказания для каждого из элементов кодирования, имеющих древовидную структуру, и блок 540 обратного преобразования выполняет операции на основе размера элемента преобразования для каждого элемента кодирования.
Фиг. 13 является схемой, иллюстрирующей более глубокие элементы кодирования в соответствии с глубиной и разделами в соответствии с иллюстративным вариантом осуществления.
Устройство 80 кодирования видео и устройство 90 декодирования видео используют иерархические элементы кодирования, чтобы учесть характеристики изображения. Максимальная высота, максимальная ширина и максимальная глубина элементов кодирования могут быть адаптивно определены в соответствии с характеристиками изображения или могут быть установлены пользователем. Размеры более глубоких элементов кодирования в соответствии с глубинами могут быть определены в соответствии с предопределенным максимальным размером элемента кодирования.
В иерархической структуре 600 элементов кодирования в соответствии с иллюстративным вариантом осуществления максимальная высота и максимальная ширина элементов кодирования равны 64, и максимальная глубина равна 4. Поскольку глубина увеличивается вдоль вертикальной оси иерархической структуры 600, высота и ширина более глубокого элемента кодирования разбиваются. Кроме того, элемент предсказания и разделы, которые являются основами для кодирования с предсказанием каждого более глубокого элемента кодирования, показаны вдоль горизонтальной оси иерархической структуры 600.
Другими словами, элемент 610 кодирования является максимальным элементом кодирования в иерархической структуре 600, причем глубина равна 0, и размер, то есть, высота и ширина составляют 64×64. Глубина увеличивается вдоль вертикальной оси, и существуют элемент 620 кодирования, имеющий размер 32×32 и глубину 1, элемент 630 кодирования, имеющий размер 16×16 и глубину 2, элемент 640 кодирования, имеющий размер 8×8 и глубину 3, и элемент 650 кодирования, имеющий размера 4×4 и глубину 4. Элемент 650 кодирования, имеющий размер 4×4 и глубину 4, является минимальным элементом кодирования.
Элемент предсказания и разделы элемента кодирования размещены вдоль горизонтальной оси в соответствии с каждой глубиной. Другими словами, если элемент 610 кодирования, имеющий размер 64×64 и глубину 0, является элементом предсказания, элемент предсказания может быть разбит на разделы, включенные в элемент 610 кодирования, то есть, раздел 610, имеющий размер 64×64, разделы 612, имеющие размер 64×32, разделы 614, имеющие размер 32×64, или разделы 616, имеющие размер 32×32.
Аналогичным образом, элемент предсказания элемента 620 кодирования, имеющий размер 32×32 и глубину 1, может быть разбит на разделы, включенные в элемент 620 кодирования, то есть, раздел 620, имеющий размер 32×32, разделы 622, имеющие размер 32×16, разделы 624, имеющие размер 16×32, и разделы 626, имеющие размер 16×16.
Аналогичным образом, элемент предсказания элемента 630 кодирования, имеющий размер 16×16 и глубину 2, может быть разбит на разделы, включенные в элемент 630 кодирования, то есть, раздел, имеющий размер 16×16, включенный в элемент 630 кодирования, разделы 632, имеющие размер 16×8, разделы 634, имеющие размер 8×16, и разделы 636, имеющие размер 8×8.
Аналогичным образом, элемент предсказания элемента 640 кодирования, имеющий размер 8×8 и глубину 3, может быть разбит на разделы, включенные в элемент 640 кодирования, то есть, раздел, имеющий размер 8×8, включенный в элемент 640 кодирования, разделы 642, имеющие размер 8×4, разделы 644, имеющие размер 4×8, и разделы 646, имеющие размер 4×4.
Элемент 650 кодирования, имеющий размер 4×4 и глубину 4, является минимальным элементом кодирования и элементом кодирования самой нижней глубины. Элемент предсказания элемента 650 кодирования может быть назначен только разделу, имеющему размер 4×4. В качестве альтернативы могут использоваться разделы 652, имеющие размер 4×2, разделы 654, имеющие размер 2×4, или разделы 656, имеющие размер 2×2.
Чтобы определить по меньшей мере одну глубину кодирования элементов кодирования, составляющих максимальный элемент 610 кодирования, блок 83 определения глубины кодирования и режима кодирования устройства 80 кодирования видео выполняет кодирование для элементов кодирования, соответствующих каждой глубине, включенных в максимальный элемент 610 кодирования.
Количество более глубоких элементов кодирования в соответствии с глубинами, включающих в себя данные в одном и том же диапазоне, и одинаковых размеров увеличивается по мере роста глубины. Например, четыре элемента кодирования, соответствующие глубине 2, требуются для охвата данных, которые включены в один элемент кодирования, соответствующий глубине 1. В соответствии с этим, чтобы сравнить результаты кодирования одних и тех же данных в соответствии с глубинами, элемент кодирования, соответствующий глубине 1, и каждый из четырех элементов кодирования, соответствующих глубине 2, кодируются.
Чтобы выполнить кодирование для текущей глубины среди глубин, наименьшая погрешность кодирования может быть выбрана для текущей глубины посредством выполнения кодирования для каждого элемента предсказания в элементах кодирования, соответствующих текущей глубине, вдоль горизонтальной оси иерархической структуры 600. В качестве альтернативы, минимальная погрешность кодирования может отыскиваться посредством сравнения наименьшей погрешности кодирования в соответствии с глубинами посредством выполнения кодирования для каждой глубины по мере увеличения глубины вдоль вертикальной оси иерархической структуры 600. Глубина и раздел, имеющие минимальную погрешность кодирования в элементе 610 кодирования, могут быть выбраны в качестве глубины кодирования и типа раздела элемента 610 кодирования.
Фиг. 14 является схемой для описания отношения между элементом 710 кодирования и элементами 720 преобразования в соответствии с иллюстративным вариантом осуществления.
Устройство 80 кодирования видео или устройство 90 декодирования видео кодируют или декодируют изображение в соответствии с элементами кодирования, имеющими размеры, которые меньше или равны максимальному элементу кодирования для каждого максимального элемента кодирования. Размеры элементов преобразования для преобразования во время кодирования могут быть выбраны на основе элементов данных, которые не больше соответствующего элемента кодирования.
Например, в устройстве 80 кодирования видео или устройстве 90 декодирования видео, если размер элемента 710 кодирования составляет 64×64, преобразование может быть выполнено посредством использования элементов 720 преобразования, имеющих размер 32×32.
Кроме того, данные элемента 710 кодирования, имеющего размер 64×64, могут быть закодированы посредством выполнения преобразования над каждым из элементов преобразования, имеющих размер 32×32, 16×16, 8×8 и 4×4, которые меньше, чем 64×64, и затем может быть выбран элемент преобразования, имеющий наименьшую погрешность кодирования.
Фиг. 15 является схемой для описания информации кодирования элементов кодирования, соответствующих глубине кодирования, в соответствии с иллюстративным вариантом осуществления.
Передатчик 88 устройства 80 кодирования видео может закодировать и передать информацию 800 о типе раздела, информацию 810 о режиме предсказания и информацию 820 о размере элемента преобразования для каждого элемента кодирования, соответствующего глубине кодирования, в качестве информации о режиме кодирования.
Информация 800 указывает информацию о форме раздела, полученного посредством разбиения элемента предсказания текущего элемента кодирования, причем раздел представляет собой элемент данных для кодирования с предсказанием текущего элемента кодирования. Например, текущий элемент кодирования CU_0, имеющий размер 2N×2N, может быть разбит на любой раздел из раздела 802, имеющего размер 2N×2N, раздела 804, имеющего размер 2N×N, раздела 806, имеющего размер N×2N, и раздела 808, имеющего размер N×N. При этом информация 800 о типе раздела устанавливается для указания на один раздел из раздела 804, имеющего размер 2N×N, раздела 806, имеющего размер N×2N, и раздела 808, имеющего размер N×N.
Информация 810 указывает режим предсказания каждого раздела. Например, информация 810 может указывать режим кодирования с предсказанием, выполненного над разделом, обозначенном информацией 800, то есть, интра-режим 812, интер-режим 814 или режим 816 пропуска.
Информация 820 указывает элемент преобразования, на котором нужно основываться, когда преобразование выполняется над текущим элементом кодирования. Например, элемент преобразования может быть первым элементом 822 интра-преобразования, вторым элементом 824 интра-преобразования, первым элементом 826 интер-преобразования или вторым элементом 828 интра-преобразования.
Экстрактор 93 информации устройства 90 декодирования видео может извлечь и использовать информацию 800, 810 и 820 для декодирования в соответствии с каждым более глубоким элементом кодирования.
Фиг. 16 является схемой более глубоких элементов кодирования в соответствии с глубинами в соответствии с иллюстративным вариантом осуществления.
Информация разбиения может использоваться для указания изменения глубины. Информация разбиения указывает, разбит ли элемент кодирования текущей глубины на элементы кодирования более низкой глубины.
Элемент 910 предсказания для кодирования с предсказанием элемента 900 кодирования, имеющего глубину 0 и размер 2N_0×2N_0, может включать в себя тип 912 раздела, имеющего размер 2N_0×2N_0, тип 914 раздела, имеющего размер 2N_0×N_0, тип 916 раздела, имеющего размер N_0×2N_0, и тип 918 раздела, имеющего размер N_0×N_0. Фиг. 9 иллюстрирует только типы 912-918 раздела, которые получены посредством симметричного разбиения элемента 910 предсказания, но тип раздела не ограничен ими, и разделы элемента 910 предсказания могут включать в себя асимметричные разделы, разделы, имеющие предопределенную форму, и разделы, имеющие геометрическую форму.
Кодирование с предсказанием с повтором выполняется над одним разделом, имеющим размер 2N_0×2N_0, двумя разделами, имеющими размер 2N_0×N_0, двумя разделами, имеющими размер N_0×2N_0, и четырьмя разделами, имеющими размер N_0×N_0, в соответствии с каждым типом раздела. Кодирование с предсказанием в интра-режиме и интер-режиме может быть выполнено над разделами, имеющими размеры 2N_0×2N_0, N_0×2N_0, 2N_0×N_0 и N_0×N_0. Кодирование с предсказанием в режиме пропуска выполняется только над разделом, имеющем размер 2N_0×2N_0.
Погрешности кодирования, включающие в себя кодирование с предсказанием в типах 912-918 разделов, сравниваются, и среди типов разделов определяется наименьшая погрешность кодирования. Если погрешность кодирования является наименьшей в одном из типов 912-916 раздела, элемент 910 предсказания не может быть разбит на более нижнюю глубину.
Если погрешность кодирования является наименьшей для типа 918 раздела, глубина изменяется с 0 на 1 для разбиения типа 918 раздела на этапе 920, и кодирование с повтором выполняется над элементами 930 кодирования, имеющими глубину 2 и размер N_0×N_0, для поиска минимальной погрешности кодирования.
Элемент 940 предсказания для кодирования с предсказанием элемента 930 кодирования, имеющего глубину 1 и размер 2N_1×2N_1 (=N_0×N_0), может включать в себя тип 942 раздела, имеющего размер 2N_1×2N_1, тип 944 раздела, имеющего размер 2N_1×N_1, тип 946 раздела, имеющего размер N_1×2N_1, и тип 948 раздела, имеющего размер N_1×N_1.
Если погрешность кодирования является наименьшей для типа 948 раздела, глубина изменяется с 1 на 2 для разбиения типа 948 раздела на этапе 950, и кодирование с повтором выполняется над элементами 960 кодирования, имеющими глубину 2 и размер N_2×N_2, для поиска минимальной погрешности кодирования.
Когда максимальная глубина равна d, операция разбиения в соответствии с каждой глубиной может выполняться до тех пор, когда глубина становится равной d-1, и информация разбиения может быть кодироваться до тех пор, когда глубина равна одному из значений от 0 до d-2. Другими словами, когда кодирование выполняется до тех пор, когда глубина равна d-1, после того как элемент кодирования, соответствующий глубине d-2, разбивается на этапе 970, элемент 990 предсказания для кодирования с предсказанием элемента 980 кодирования, имеющего глубину d-1 и размер 2N_(d-1)×2N_(d-1), может включать в себя разделы типа 992 раздела, имеющего размер 2N_(d-1)×2N_(d-1), типа 994 раздела, имеющего размер 2N_(d-1)×N_(d-1), типа 996 раздела, имеющего размер N_(d-1)×2N_(d-1), и типа 998 раздела, имеющего размер N_(d-1)×N_(d-1).
Кодирование с предсказанием может с повтором выполняться над одним разделом, имеющим размер 2N_(d-1)×2N_(d-1), двумя разделами, имеющими размер 2N_(d-1)×N_(d-1), двумя разделами, имеющими размер N_(d-1)×2N_(d-1), четырьмя разделами, имеющими размер N_(d-1)×N_(d-1) среди типов 992-998 раздела для поиска типа раздела, имеющего минимальную погрешность кодирования.
Даже когда тип 998 раздела имеет минимальную погрешность кодирования, поскольку максимальная глубина равна d, элемент кодирования CU_(d-1), имеющий глубину d-1, больше не разбивается на более низкую глубину, и глубина кодирования для элементов кодирования, составляющих текущий максимальный элемент 900 кодирования, определяется как равная d-1, и тип раздела текущего максимального элемента 900 кодирования может быть определен как N_(d-1)×N_(d-1). Кроме того, поскольку максимальная глубина равна d, и минимальный элемент 980 кодирования, имеющий самую нижнюю глубину d-1 больше не разбивается на более низкую глубину, информация разбиения для минимального элемента 980 кодирования не устанавливается.
Элемент 999 данных может являться "минимальным блоком" для текущего максимального элемента кодирования. Минимальный блок в соответствии с иллюстративным вариантом осуществления может являться прямоугольным элементом данных, полученным посредством разбиения минимального элемента 980 кодирования на 4. Посредством выполнения кодирования с повторениям устройство 80 кодирования видео может выбрать глубину, имеющую наименьшую погрешность кодирования, посредством сравнения погрешности кодирования в соответствии с глубинами элемента 900 кодирования для определения глубины кодирования, и установить соответствующий тип раздела и режим предсказания в качестве режима кодирования глубины кодирования.
Таким образом, минимальные погрешности кодирования в соответствии с глубинами сравниваются на всех глубинах от 1 до d, и глубина, имеющая наименьшую погрешность кодирования, может быть определена как глубина кодирования. Глубина кодирования, тип раздела элемента предсказания и режим предсказания могут быть закодированы и переданы как информация о режиме кодирования. Кроме того, поскольку элемент кодирования разбит от глубины 0 до глубины кодирования, только информация разбиения глубины кодирования устанавливается равной 0, и информация разбиения глубин, отличающихся от глубины кодирования, устанавливается равной 1.
Экстрактор 93 информации устройства 90 декодирования видео может извлечь и использовать информацию о глубине кодирования и элемент предсказания элемента 900 кодирования для декодирования раздела 912. Устройство 90 декодирования видео может определить глубину, на которой информация разбиения равна 0, как глубину кодирования посредством использовании информации разбиения в соответствии с глубиной, и использовать информацию о режиме кодирования соответствующей глубины для декодирования.
Фиг. 17-19 являются схемами для описания отношения между элементами 1010 кодирования, элементами 1060 предсказания и элементами 1070 преобразования в соответствии с иллюстративным вариантом осуществления.
Элементы 1010 кодирования представляют собой элементы кодирования, имеющие древовидную структуру, соответствующую глубинам кодирования, определенным устройством 80 кодирования видео, в максимальном элементе кодирования. Элементы 1060 предсказания представляют собой разделы элементов предсказания каждого из элементов 1010 кодирования, и элементы 1070 преобразования представляют собой элементы преобразования каждого из элементов 1010 кодирования.
Когда глубина максимального элемента кодирования равна 0 в элементах 1010 кодирования, глубины элементов 1012 и 1054 кодирования равны 1, глубины элементов 1014, 1016, 1018, 1028, 1050 и 1052 кодирования равны 2, глубины элементов 1020, 1022, 1024, 1026, 1030, 1032 и 1048 кодирования равны 3, и глубины элементов 1040, 1042, 1044 и 1046 кодирования равны 4.
В элементах 1060 предсказания некоторые элементы 1014, 1016, 1022, 1032, 1048, 1050, 1052 и 1054 кодирования получены посредством разбиения элементов кодирования в блоках 1010 кодирования. Другими словами, типы разделов в элементах 1014, 1022, 1050 и 1054 кодирования имеют размер 2N×N, типы разделов в элементах 1016, 1048 и 1052 кодирования имеют раздел N×2N, и тип раздела элемента 1032 кодирования имеет размер N×N. Элементы предсказания и разделы элементов 1010 кодирования меньше или равны каждому элементу кодирования.
Преобразование или обратное преобразование выполняются над данными изображения элемента 1052 кодирования в элементах 1070 преобразования в элементе данных, который меньше, чем элемент 1052 кодирования. Кроме того, элементы 1014, 1016, 1022, 1032, 1048, 1050 и 1052 кодирования в элементах 1070 преобразования отличаются от элементов кодирования в элементах 1060 предсказания с точки зрения размеров и форм. Другими словами, устройства 100 и 200 кодирования и декодирования видео могут выполнить интра-предсказание, оценку движения, компенсацию движения, преобразование и обратное преобразование индивидуально над элементом данных водном и том же элементе кодирования.
В соответствии с этим кодирование рекурсивно выполняется над каждым из элементов кодирования, имеющих иерархическую структуру, в каждой области максимального элемента кодирования, для определения оптимального элемента кодирования, и, таким образом, могут быть получены элементы кодирования, имеющие рекурсивную древовидную структуру. Информация кодирования может включать в себя информацию разбиения об элементе кодирования, информацию о типе раздела, информацию о режиме предсказания и информацию о размере элемента преобразования. Таблица 2 показывает информацию кодирования, которая может быть установлена устройствами 80 и 90 кодирования и декодирования видео.
Таблица 2
Информация разбиения 0 (Кодирование элемента кодирования, имеющего размер 2N×2N и текущую глубину d)
Информация разбиения 1
Режим предсказания
Тип раздела
Размер элемента преобразования
Интра Интер Пропуск (только 2N×2N)
Симметричный тип раздела
Асимметричный тип раздела
Информация разбиения 0 элемента преобразования
Информация разбиения 1 элемента преобразования
Закодировать с повторением элементы кодирования, имеющие более низкую глубину d+1
2N×2N2N×NN×2NN×N
2N×nU2N×nDnL×2NnR×2N
2N×2N
N×N (симметричный тип) N/2×N/2 (асимметричный тип)
Передатчик 88 устройства 80 кодирования видео может выдать информацию кодирования об элементах кодирования, имеющих древовидную структуру, и экстрактор 93 информации устройства 90 декодирования видео может извлечь информацию кодирования об элементах кодирования, имеющих древовидную структуру, из принятого битового потока.
Информация разбиения указывает, разбит ли текущий элемент кодирования на элементы кодирования более низкой глубины. Если информация разбиения текущей глубины d равна 0, глубина, на которой текущий элемент кодирования больше не разбивается на более низкую глубину, является глубиной кодирования, и, таким образом, информация о типе раздела, режиме предсказания и размере элемента преобразования может быть определена для глубины кодирования. Если текущий элемент кодирования далее разбивается в соответствии с информацией разбиения, кодирование выполняется независимо над четырьмя разбитыми элементами кодирования с более низкой глубиной.
Режим предсказания может быть одним режимом из интра-режима, интер-режима и режима пропуска. Интра-режим и интер-режим могут быть определены для всех типов раздела, и режим пропуска может быть определен только для типа раздела, имеющего размер 2N×2N.
Информация о типе раздела может указывать симметричные типы разделов, имеющих размеры 2N×2N, 2N×N, N×2N и N×N, которые получены посредством симметричного разбиения высоты или ширины элемента предсказания, и асимметричные типы разделов, имеющих размеры 2N×nU, 2N×nD, nL×2N и nR×2N, которые получены посредством асимметричного разбиения высоты или ширины элемента предсказания. Асимметричные типы разделов, имеющих размеры 2N×nU и 2N×nD, могут быть соответственно получены посредством разбиения высоты элемента предсказания с соотношением 1:3 и 3:1, и асимметричные типы разделов, имеющие размеры nL×2N и nR×2N, могут быть соответственно получены посредством разбиения ширины элемента предсказания с соотношением 1:3 и 3:1
Размер элемента преобразования может быть установлен как два типа в интра-режиме и два типа в интер-режиме. Другими словами, если информация разбиения элемента преобразования равна 0, размер элемента преобразования может составлять 2N×2N, что является размером текущего элемента кодирования. Если информация разбиения элемента преобразования равна 1, элементы преобразования могут быть получены посредством разбиения текущего элемента кодирования. Кроме того, если тип раздела текущего элемента кодирования, имеющего размер 2N×2N, является симметричным типом раздела, размер элемента преобразования может составлять N×N, и если тип раздела текущего элемента кодирования является асимметричным типом раздела, размер элемента преобразования может составлять N/2×N/2.
Информация кодирования об элементах кодирования, имеющих древовидную структуру, может включать в себя по меньшей мере один элемент из элемента кодирования, соответствующего глубине кодирования, элемента предсказания и минимального элемента. Элемент кодирования, соответствующий глубине кодирования, может включать в себя по меньшей мере один элемент из элемента предсказания и минимального элемента, содержащего такую же информацию кодирования.
В соответствии с этим определяется, включены ли смежные элементы данных в один и тот же элемент кодирования, соответствующий глубине кодирования, посредством сравнения информации кодирования смежных элементов данных. Кроме того, соответствующий элемент кодирования, соответствующий глубине кодирования, определяется посредством использования информации кодирования элемента данных, и, таким образом, может быть определено распределение глубин кодирования в максимальном элементе кодирования.
В соответствии с этим, если текущий элемент кодирования предсказан на основе информации кодирования смежных элементов данных, информация кодирования элементов данных в более глубоких элементах кодирования, смежных с текущим элементом кодирования, может быть непосредственно использоваться, и к ней можно обращаться.
В качестве альтернативы, если текущий элемент кодирования предсказан на основе информации кодирования смежных элементов данных, элементы данных, смежные с текущим элементом кодирования, отыскиваются с использованием закодированную информации элементов данных, и к отысканным смежным элементам кодирования можно обращаться для предсказания текущего элемента кодирования.
Фиг. 20 является схемой для описания отношения между элементом кодирования, элементом предсказания или разделом и элементом преобразования в соответствии с информацией режима кодирования из таблицы 2.
Максимальный элемент 1300 кодирования включает в себя элементы 1302, 1304, 1306, 1312, 1314, 1316 и 1318 кодирования с глубинами кодирования. При этом, поскольку элемент 1318 кодирования является элементом кодирования с глубиной кодирования, информация разбиения может быть установлена равной 0. Информация о типе раздела элемента 1318 кодирования, имеющего размер 2N×2N, может быть установлена как один тип раздела из типа 1322 раздела, имеющего размер 2N×2N, типа 1324 раздела, имеющего размер 2N×N, типа 1326 раздела, имеющего размер N×2N, типа 1328 раздела, имеющего размер N×N, типа 1332 раздела, имеющего размер 2N×nU, типа 1334 раздела, имеющего размер 2N×nD, типа 1336 раздела, имеющего размер nL×2N, и типа 1338 раздела, имеющего размер nR×2N.
Информация разбиения (флаг размера TU) элемента преобразования представляет собой тип индекса преобразования, причем размер элемента преобразования, соответствующий индексу преобразования, может изменяться в соответствии с типом элемента предсказания или типом раздела элемента кодирования.
Например, когда тип раздела установлен как симметричный, то есть тип 1322, 1324, 1326 или 1328 раздела, элемент 1342 преобразования, имеющий размер 2N×2N, устанавливается, если флаг размера TU равен 0, и элемент 1344 преобразования, имеющий размер N×N, устанавливается, если флаг размера TU равен 1.
Когда тип раздела установлен как асимметричный, то есть тип 1332, 1334, 1336 или 1338 раздела, элемент 1352 преобразования, имеющий размер 2N×2N, устанавливается, если флаг размера TU равен 0, и элемент 1354 преобразования, имеющий размер N/2×N/2, устанавливается, если флаг размера TU равен 1.
Как показано на фиг. 18, флаг размера TU представляет собой флаг, имеющий значение либо 0, либо 1, но флаг размера TU не ограничен одним битом, и элемент преобразования может быть иерархически разбит, имея древовидную структуру, в то время как флаг размера TU увеличивается от значения 0.
В этом случае размер элемента преобразования, который фактически использовался, может быть выражен посредством использования флага размера TU элемента преобразования в соответствии с иллюстративным вариантом осуществления вместе с максимальным размером и минимальным размером элемента преобразования. В соответствии с иллюстративным вариантом осуществления устройство 80 кодирования видео может закодировать информацию о максимальном размере элемента преобразования, информацию о минимальном размере элемента преобразования и максимальный флаг размера TU. Результат кодирования информации о максимальном размере элемента преобразования, информация о минимальном размере элемента преобразования и максимальный флаг размера TU могут быть вставлены в SPS. В соответствии с иллюстративным вариантом осуществления устройство 90 декодирования видео может декодировать видео посредством использования информации о максимальном размере элемента преобразования, информации о минимальном размере элемента преобразования и максимального флага размера TU.
Например, если размер текущего элемента кодирования составляет 64×64, и максимальный размер элемента преобразования составляет 32×32, то размер элемента преобразования может составлять 32×32, когда флаг размера TU равен 0, может составлять 16×16, когда флаг размера TU равен 1, и может составлять 8x8, когда флаг размера TU равен 2.
В качестве другого примера, если размер текущего элемента кодирования составляет 32×32, и минимальный размер элемента преобразования составляет 32×32, то размер элемента преобразования может составлять 32×32, когда флаг размера TU равен 0. При этом флаг размера TU не может быть установлен равным другому значению, кроме 0, поскольку размер элемента преобразования не может быть меньше 32×32.
В качестве другого примера, если размер текущего элемента кодирования составляет 64×64, и максимальный флаг размера TU равен 1, то флаг размера TU может быть равен 0 или 1. При этом флаг размера TU не может быть установлен равным другому значению, кроме 0 или 1.
Таким образом, если определено, что максимальный флаг размера TU равен MaxTransformSizeIndex, минимальный размер элемента преобразования равен MinTransformSize, и размер элемента преобразования равен RootTuSize, когда флаг размера TU равен 0, то текущий минимальный размер элемента преобразования CurrMinTuSize, который может быть определен в текущем элементе кодирования, может быть определен уравнением 10.
[Уравнение 10]
CurrMinTuSize=max(MinTransformSize, RootTuSize/(2^MaxTransformSizeIndex)).
По сравнению с текущим минимальным размером элемента преобразования CurrMinTuSize, который может быть определен в текущем элементе кодирования, размер элемента преобразования RootTuSize, когда флаг размера TU равен 0, может обозначать максимальный размер элемента преобразования, который может быть выбран в системе. В уравнении 10 RootTuSize/(2^MaxTransformSizeIndex) обозначает размер элемента преобразования, когда размер элемента преобразования RootTuSize, когда флаг размера TU равен 0, разбит несколько раз в соответствии с максимальным флагом размера TU, и MinTransformSize обозначает минимальный размер преобразования. Таким образом, меньшее значение среди RootTuSize/(2^MaxTransformSizeIndex)' и MinTransformSize может являться текущим минимальным размером элемента преобразования CurrMinTuSize, который может быть определен в текущем элементе кодирования.
В соответствии с иллюстративным вариантом осуществления максимальный размер элемента преобразования RootTuSize может изменяться в соответствии с типом режима предсказания.
Например, если текущий режим предсказания представляет собой интер-режим, то RootTuSize может быть определен посредством использования уравнения (11), представленного ниже. В уравнении 11 MaxTransformSize обозначает максимальный размер элемента преобразования, и PUSize обозначает текущий размер элемента предсказания.
[Уравнение 11]
RootTuSize = min(MaxTransformSize, PUSize).
Таким образом, если текущий режим предсказания представляет собой интер-режим, размер элемента преобразования RootTuSize, когда флаг размера TU равен 0, может являться меньшим значением среди максимального размера элемента преобразования и текущего размера элемента предсказания.
Если режим предсказания текущего блока раздела представляет собой интра-режим, RootTuSize может быть определен посредством использования уравнения 12, представленного ниже. В уравнении 12 PartitionSize обозначает размер текущего блока раздела.
[Уравнение 12]
RootTuSize = min(MaxTransformSize, PartitionSize).
Таким образом, если текущий режим предсказания представляет собой интра-режим, размер элемента преобразования RootTuSize, когда флаг размера TU равен 0, может являться меньшим значением среди максимального размера элемента преобразования и размера текущего блока раздела.
Однако текущий максимальный размер элемента преобразования RootTuSize, который изменяется в соответствии с типом режима предсказания в блоке раздела, является лишь примером, и настоящее изобретение не ограничено этим.
Фиг. 21 является блок-схемой последовательности операций, иллюстрирующей способ кодирования видео для компенсации пиксельного значения после выполнения петлевой фильтрации на основе элементов кодирования, имеющих древовидную структуру, в соответствии с иллюстративным вариантом осуществления.
На этапе 2110 текущее изображение разбивается по меньшей мере на один максимальный элемент кодирования, и глубина кодирования для выдачи окончательного результата кодирования в соответствии с по меньшей мере одной областью разделения, которая получена посредством разбиения области каждого максимального элемента кодирования в соответствии с глубинами, определяется посредством кодирования по меньшей мере одной области разделения. Кроме того, режим кодирования, включающий в себя информацию о глубине кодирования или информацию разбиения, информацию о типе раздела глубины кодирования, режима предсказания и размера элемента преобразования, определяется в соответствии с более глубоким элементом кодирования в соответствии с глубинами.
Может быть предопределена максимальная глубина, указывающая общее количество разбиений максимального элемента кодирования. Максимальный элемент кодирования может быть разбит иерархически, и кодирование может быть выполнено с повторениями для каждого более глубокого элемента кодирования всякий раз, когда увеличивается глубина. Погрешности кодирования всех более глубоких элементов кодирования измеряются и сравниваются, с тем чтобы определить глубину кодирования, которая формирует наименьшую погрешность кодирования элемента кодирования.
На этапе 2120 закодированные данные изображения декодируются на основе глубины кодирования и режима кодирования, и восстановленное изображение формируется посредством выполнения петлевой фильтрации над декодированными данными изображения. Восстановленное изображение может быть сформировано посредством выполнения адаптивной петлевой фильтрации, которая непрерывно выполняет по меньшей мере одну одномерную фильтрацию над декодированными данными изображения или подвергнутыми удалению блочности данными изображения.
На этапе 2130 определяются значение компенсации о погрешности между каждым восстановленным пикселем в предопределенной группе восстановленного изображения и первоначальным пикселем, и группа пикселей, включающая в себя восстановленные пиксели, которые должны быть компенсированы. Группа пикселей, включающая в себя восстановленные пиксели, имеющие пиксельные значения, которые должны быть компенсированы, может быть определена в соответствии с уровнями экстремального и/или граничного значения пиксельных значений, полосами пиксельных значений или линиями. Значение компенсации в соответствии с группами пикселей может быть определено на основе среднего значения погрешностей.
На этапе 2140 выдаются данные изображения, составляющие окончательный результат кодирования в соответствии с по меньшей мере одной областью разделения, информация о глубине кодирования и режиме кодирования, информация о коэффициенте петлевой фильтрации и информация, относящаяся к значению компенсации. Информация о режиме кодирования может включать в себя информацию о глубине кодирования или информацию разбиения, информацию о типе раздела глубины кодирования, режиме предсказания и размере элемента преобразования.
Информация, относящаяся к значению компенсации в соответствии с группами пикселей, может быть закодирована вместе с информацией о режиме кодирования, видеоданными и информацией о коэффициенте петлевой фильтрации, которые закодированы в соответствии со способом на основе элементов кодирования, имеющих древовидную структуру, и может быть передана декодеру.
Фиг. 22 является блок-схемой последовательности операций, иллюстрирующей способ декодирования видео для компенсации пиксельного значения после выполнения петлевой фильтрации на основе элементов кодирования, имеющих древовидную структуру, в соответствии с иллюстративным вариантом осуществления.
На этапе 2210 битовый поток о видео, закодированной в соответствии со способом, показанным на фиг. 21, на основе элементов кодирования, имеющих древовидную структуру, принимается и синтаксически анализируется, и данные изображения текущего изображения, назначенные максимальному элементу кодирования, информация о глубине кодирования и режиме кодирования в соответствии с максимальными элементами кодирования, информация о коэффициенте петлевой фильтрации и информация, относящаяся к значению компенсации, извлекаются из синтаксически проанализированного битового потока.
Глубина кодирования в соответствии с максимальными элементами кодирования, выбирается в качестве глубины, имеющей наименьшую погрешность кодирования в соответствии с максимальными элементами кодирования при кодировании текущего изображения. Кодирование выполняется в соответствии с максимальными элементами кодирования посредством кодирования данных изображения на основе по меньшей мере одного элемента данных, полученного посредством иерархического разбиения максимального элемента кодирования в соответствии с глубинами. В соответствии с этим каждая часть данных изображения декодируется после определения глубины кодирования в соответствии с элементами кодирования, и тем самым увеличивается эффективность кодирования и декодирования изображения.
На этапе 2220 данные изображения декодируются в каждом максимальном элементе кодирования на основе информации о глубине кодирования и режиме кодирования, и восстановленное изображение формируется посредством выполнения петлевой фильтрации над декодированными данными изображения. Восстановленное изображение может быть сформировано посредством выполнения адаптивной петлевой фильтрации, причем по меньшей мере одна одномерная фильтрация непрерывно выполняется над декодированными данными изображения или подвергнутыми удалению блочности данными изображения.
На этапе 2230 группа пикселей, включающая в себя восстановленные пиксели, которые должны быть компенсированы, определяется среди восстановленных пикселей восстановленного изображения посредством использования значения компенсации. Группа пикселей, включающая в себя восстановленные пиксели, имеющие пиксельные значения, которые должны быть компенсированы, может быть определена посредством использовании значения компенсации в соответствии с уровнями экстремального и/или граничного значения пиксельных значений восстановленных пикселей, полосами пиксельных значений или линиями посредством использования способа определения группы пикселей на основе извлеченной информации, относящейся к значению компенсации.
На этапе 2240 может быть выдано восстановленное изображение, имеющее компенсированную погрешность, посредством компенсации погрешности между восстановленными пикселями определенной группы пикселей и соответствующим первоначальным пикселем посредством использования значения компенсации.
В соответствии со способом кодирования видео и способом декодирования видео качество восстановленного изображения может быть улучшено посредством компенсации систематической погрешности восстановленного изображения, и битовая скорость передачи дополнительной информации для улучшения качества восстановленного изображения может быть уменьшен, поскольку кодируется и передается только информация о значении компенсации в соответствии с группами пикселей, и не передается информация о местоположении пикселя, который должен быть компенсирован.
Иллюстративные варианты осуществления настоящего изобретения могут быть записаны как компьютерные программы и могут быть осуществлены в компьютерах общего пользования, которые исполняют программы с использованием машиночитаемого носителя записи. Примеры машиночитаемого носителя записи включают в себя магнитные носители данных (например, постоянное запоминающее устройство (ROM), дискеты, жесткие диски и т.д.) и оптические носители записи (например, компакт-диски (CD-ROM) или универсальные цифровые диски (DVD)).
Хотя выше были подробно показаны и описаны иллюстративные варианты осуществления, специалисты в области техники поймут, что в них могут быть внесены различные изменения, в форме и деталях, без отступления от сущности и объема концепции изобретения, определенной в приложенной формуле изобретения. Иллюстративные варианты осуществления следует рассматривать только в описательном смысле, а не с целью ограничения. Таким образом, объем концепции изобретения определен не подробным описанием иллюстративных вариантов осуществления, а приложенной формулой изобретения, и все различия в рамках этого объема будут рассматриваться как включенные в концепцию настоящего изобретения.