УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ
DEVICE AND METHOD FOR IMAGE PROCESSING

Область техники, к которой относиться изобретение
Настоящее раскрытие относится к устройству и способу обработки изображений и, в частности, к устройству и способу обработки изображений, способным подавлять блочный шум.
Уровень техники
В последние годы получили широкое распространение устройства, обрабатывающие цифровым способом информацию изображений, которые в этом случае для передачи и накопления информации с высокой эффективностью выполняют кодирование изображения со сжатием, адаптируя способ кодирования, при котором сжатие выполняется посредством ортогонального преобразования, такого как дискретное косинусное преобразование, и компенсацию движения, используя избыточность, однозначную для информации изображения. Примерами способа кодирования являются стандарты MPEG (Moving Picture Experts Group) или H.264 и MPEG-4 Часть 10 (Advanced Video Coding (перспективное видеокодирование); здесь далее упоминаемый как H.264/AVC) и т.п.
Кроме того, в настоящее время, чтобы дополнительно повысить эффективность кодирования по сравнению с H.264/AVC, группой JCTVC (Joint Collaboration Team-Video Coding, группа совместного сотрудничества - видеокодирование), являющейся совместной группой по стандартизации ITU-T (Международного союза электросвязи -сектор телекоммуникаций) и ISO/IEC (Международной организации по стандартизации / Международной электротехнической комиссии) была разработана стандартизация способа кодирования, названного HEVC (High Efficiency Video Coding, видеокодирование с высокой эффективностью). Для стандарта HEVC проект Комитета, являющийся первым проектом технических требований, был выпущен в феврале 2012 г. (например, смотрите непатентный документ 1).
В проекте HEVC на данный момент деблокирующий фильтр, адаптивный контурный фильтр и адаптивный фильтр смещения выполнены с возможностью встраивания в контур и существуют два параметра деблокирующего фильтра, которыми являются параметр β и параметр Тс. Параметр β имеет 52 значения от 0 до 51 и фиксируется как 64 при вводе более 51. Параметр Тс имеет 54 значения и фиксируется как 13 при ввода более 53.
Диапазон параметра квантования QP, который может использоваться в HEVC, составляет от 0 до 51, но диапазон смещения параметра деблокирующего фильтра составляет от -26 до 26. Поэтому, теоретически, диапазон ввода в LUT (Look Up Table, таблица поиска) для параметра деблокирующего фильтра составляет от 0 до 77.
Перечень литературы
Непатентные документы
Непатентный документ 1: Benjamin Bross, Woo-Jin Han, Jens-Rainer Ohm, Gary J. Sullivan, Thomas Wiegand, "High efficiency video coding (HEVC) text specification draft 6", JCTVC-H1003 ver20, 2012.2.17
Раскрытие изобретения
Проблемы, решаемые изобретением
Однако, поскольку параметр квантования QP, являющийся реальным вводом параметра деблокирующего фильтра в LUT, равен 0-51, значение смещение до максимума не используется.
Кроме того, как описано выше, даже если используется значение 64, которое является максимальным значением параметра β, и значение 13, которое является максимальным значением параметра Тс в HEVC, имели место случаи, в которых блочный шум, являющийся видимым, остается в некоторых последовательностях.
Настоящее раскрытие было сделано с точки зрения такой ситуации и является пригодным для подавления блочного шума.
Решения проблем
Устройство обработки изображений, соответствующее первому варианту настоящего раскрытия, содержит: блок декодирования, формирующий изображение посредством декодирования кодированного потока; и блок фильтра, выполняющий фильтрацию с помощью фильтра, использующего параметр, полученный путем расширения диапазона параметра фильтра для управления фильтром таким образом, чтобы увеличивать силу фильтрации, с целью формирования блочной границы изображения блоком декодирования.
Диапазон параметра фильтра расширяется так, чтобы увеличивать силу фильтрации фильтра в состоянии, совместимом с существующим диапазоном.
Диапазон параметра фильтра регулируется так, чтобы быть непрерывным на существующем участке и на расширенном участке.
Диапазон параметра фильтра расширяется добавлением нового параметра фильтра.
Параметром фильтра является пороговое значение, используемое при определении, выполнять или не выполнять фильтрацию.
Фильтр является деблокирующим фильтром и параметр фильтра является параметром, используемым при определении, требуется или не требуется деблокирующий фильтр или при определении выбора силы фильтрации.
Диапазон параметра фильтра расширяется в линейной форме.
Угол наклона линейной формы может регулироваться.
Диапазон параметра фильтра расширяется в криволинейной форме.
Фильтр является деблокирующим фильтром и параметр фильтра является параметром, используемым при определении выбора силы фильтрации деблокирующего фильтра или используемым при ограничении, когда выполняется фильтрация фильтром.
Блок фильтра может выполнять фильтрацию фильтром, использующим параметр, расширяемый путем обновления таблицы, используя угол наклона вычислительного выражения, которое в качестве цели выражает параметр фильтра с блочной границей изображения, формируемой блоком декодирования.
Блок фильтра может выполнять фильтрацию фильтром, использующим параметр, расширяемый путем добавления смещения параметра фильтра к параметру фильтра, с блочной границей изображения, формируемой блоком декодирования в качестве цели.
Параметр фильтра может содержать два типа параметров, которые используют общее смещение, и дополнительно может обеспечиваться блок вычисления параметра, вычисляющий два типа параметров, используя общее смещение.
Параметр фильтра может содержать два типа параметров и дополнительно могут обеспечиваться блок вычисления первого параметра, вычисляющий первый параметр фильтра, используя смещение первого параметра, и блок вычисления второго параметра, вычисляющий второй параметр фильтра, используя смещение первого параметра, разность между первым и вторым параметрами фильтра и смещение второго параметра.
Фильтр является деблокирующим фильтром.
Фильтр является фильтром с адаптивным смещением.
Блок декодирования может декодировать кодированный поток в процессорном блоке, имеющем иерархическую структуру.
Способ обработки изображений устройства обработки изображений первого варианта настоящего раскрытия содержит этап, на котором: формируют изображение, декодируя кодированный поток; и выполняют фильтрацию фильтром, использующим параметр, полученный путем расширения диапазона параметра фильтра для управления фильтром таким образом, чтобы увеличивать силу фильтрации, с блочной границей изображения, формируемой блоком декодирования в качестве цели.
Устройство обработки изображений, соответствующее второму варианту настоящего раскрытия, содержит: блок фильтра, выполняющий фильтрацию с помощью фильтра, использующего параметр, полученный расширением диапазона параметра фильтра, для управления фильтром, так чтобы увеличивать силу фильтрации, с блочной границей локально декодированного изображения в качестве цели; блок кодирования, формирующий кодированный поток, кодируя изображение, используя изображение, подвергнутое фильтрации фильтром блока фильтра; и передающий блок, передающий кодированный поток, сформированный блоком кодирования.
Способ обработки изображений устройства обработки изображений второго варианта настоящего раскрытия содержит этапы, на которых: выполняют фильтрацию фильтром, используя параметр, полученный путем расширения диапазона параметра фильтра, для управления фильтром таким образом, чтобы увеличивать силу фильтрации, с блочной границей локально декодированного изображения в качестве цели; формируют кодированный поток, кодируя изображение и используя для этого изображение, подвергнутое фильтрации фильтром; и передают сформированный кодированный поток.
В первом варианте настоящего раскрытия кодированный поток декодируется, чтобы сформировать изображение. Затем, с помощью блочной границы, используемой в качестве цели, выполняется фильтрация фильтром, используя параметр, полученный расширением диапазона параметра фильтра для управления фильтром, чтобы увеличить силу фильтрации.
Кроме того, во втором варианте настоящего раскрытия с помощью блочной границы локально декодированного изображения, используемой в качестве цели, выполняют фильтрацию фильтром, использующим параметр, полученный расширением диапазона параметра фильтра для управления фильтром, чтобы увеличить силу фильтрации. Затем формируют кодированный поток, кодируя изображение, использующее изображение, подвергнутое фильтрации фильтром, и сформированный кодированный поток передается.
Кроме того, устройство обработки изображений, описанное выше, может быть независимым устройством или может быть внутренним блоком, который конфигурирует устройство кодирования изображений или устройство декодирования изображений.
Результаты изобретения
В соответствии с первым вариантом настоящего раскрытия, возможно декодировать изображение. В частности, возможно подавлять блочный шум.
В соответствии со вторым вариантом настоящего раскрытия, возможно кодировать изображение. В частности, возможно подавлять блочный шум.
Краткое описание чертежей
Фиг. 1 - блок-схема примерной типичной структуры устройства кодирования изображения.
Фиг. 2 - блок-схема последовательности выполнения операций примерного потока процесса кодирования.
Фиг. 3 - блок-схема примерной типичной структуры устройства декодирования изображения.
Фиг. 4 - блок-схема последовательности выполнения операций примерного потока процесса декодирования.
Фиг. 5 - значение и график параметра α деблокирующего фильтра в способе AVC.
Фиг. 6 - значение и график параметра β деблокирующего фильтра в способе AVC.
Фиг. 7 - значения параметров β и Тс, соответствующих параметру квантования Q в способе HEVC.
Фиг. 8 - взаимосвязь параметра квантования QP и параметра β в первом способе расширения настоящего способа.
Фиг. 9 - значения и график параметра квантования QP и параметра β в случае расширения как линейной функции для k=2.
Фиг. 10 - значения и график параметра квантования QP и параметра β в случае расширения как линейной функции для k=4.
Фиг. 11 - значения и график параметра квантования QP и параметра β в случае расширения как линейной функции для k=8.
Фиг. 12 - значения и график параметра квантования QP и параметра β в случае расширения как экспоненциальной функции.
Фиг. 13 - значения и график параметра квантования QP и параметра Тс в первом способе расширения по настоящей технологии.
Фиг. 14 - блок-схема примера конфигурации деблокирующего фильтра, к которому применяется настоящая технология.
Фиг. 15 - блок-схема примера конфигурации блока исполнения фильтра, выполняющего фильтрацию границы яркости.
Фиг. 16 - блок-схема примера конфигурации блока формирования β.
Фиг. 17 - блок-схема примера конфигурации блока формирования расширенного β.
Фиг. 18 - блок-схема другого примера конфигурации блока формирования расширенного β.
Фиг. 19 - блок-схема примера конфигурации блока формирования Тс.
Фиг. 20 - блок-схема примера конфигурации блока формирования расширенного Тс.
Фиг. 21 - блок-схема другого примера конфигурации блока формирования расширенного Тс.
Фиг. 22 - блок-схема примера конфигурации блока исполнения фильтра, выполняющего фильтрацию границы цветового контраста.
Фиг. 23 - блок-схема последовательности выполнения операций процесса фильтрации при деблокировании.
Фиг. 24 - блок-схема последовательности выполнения операций фильтрации границы яркости.
Фиг. 25 - блок-схема последовательности выполнения операций процесса формирования β.
Фиг. 26 - блок-схема последовательности выполнения операций, иллюстрирующая ограничение.
Фиг. 27 - блок-схема последовательности выполнения операций процесса формирования Тс.
Фиг. 28 - блок-схема последовательности выполнения операций, иллюстрирующая другой пример ограничения.
Фиг. 29 - блок-схема последовательности выполнения операций, иллюстрирующая фильтрацию границы цветового контраста.
Фиг. 30 - значения и график параметра квантования QP и параметра β (нового β) во втором способе расширения по настоящей технологии.
Фиг. 31 - взаимосвязь параметра квантования QP и параметра tc и величины регулировки для приближенного выражения.
Фиг 32 - пример параметра β в третьем способе расширения согласно настоящей технологии.
Фиг 33 - пример параметра Тс в третьем способе расширения согласно настоящей технологии.
Фиг. 34 - значения и график параметра квантования QP и параметра β в случае расширения внутри параметра квантования QP (0-51).
Фиг. 35 - блок-схема примера конфигурации блока формирования β.
Фиг. 36 - блок-схема последовательности выполнения операций процесса формирования β.
Фиг. 37 - блок-схема примера конфигурации деблокирующего фильтра, к которому применяется настоящая технология.
Фиг. 38 - блок-схема примера конфигурации блока исполнения фильтра, выполняющего фильтрацию границы яркости.
Фиг. 39 - блок-схема примера конфигурации блока формирования β.
Фиг. 40 - блок-схема примера конфигурации блока формирования Тс.
Фиг. 41 - блок-схема последовательности выполнения операции процесса фильтрации при деблокировании.
Фиг. 42 - блок-схема последовательности выполнения операций, показывающая процесс установки фильтра.
Фиг. 43 - блок-схема последовательности выполнения операций процесса формирования β.
Фиг. 44 - блок-схема последовательности выполнения операций процесса формирования Тс.
Фиг. 45 - передача смещения.
Фиг. 46 - пример синтаксиса.
Фиг. 47 - блок-схема примера конфигурации деблокирующего фильтра, к которому применяется настоящая технология.
Фиг. 48 - блок-схема последовательности выполнения операций, показывающая процесс установки конфигурации фильтра.
Фиг. 49 - блок-схема примера конфигурации деблокирующего фильтра, к которому применяется настоящая технология.
Фиг. 50 - блок-схема последовательности выполнения операций, показывающая процесс установки конфигурации фильтра.
Фиг. 51 - передача смещения.
Фиг. 52 - пример синтаксиса.
Фиг. 53 - пример способа кодирования мультипроекционных изображений.
Фиг. 54 - блок-схема примера конфигурации деблокирующего фильтра, к которому применяется настоящая технология.
Фиг. 55 - пример основной конфигурации устройства декодирования мультипроекционного изображения, к которому применяется настоящая технология.
Фиг. 56 - пример способа кодирования иерархических изображений.
Фиг. 57 - пример основной конфигурации устройства декодирования иерархических изображений, к которому применяется настоящая технология.
Фиг. 58 - пример основной конфигурации устройства декодирования иерархических изображений, к которому применяется настоящая технология.
Фиг 59 - блок-схема примера типичной структуры компьютера.
Фиг. 60 - блок-схема одного из примеров основной структуры телевизионного устройства.
Фиг. 61 - блок-схема одного из примеров основной структуры мобильного телефонного устройства.
Фиг. 62 - блок-схема одного из примеров основной структуры устройства записи/воспроизведения.
Фиг. 63 - блок-схема примера конфигурации устройства получения изображений.
Фиг. 64 - блок-схема примера использования масштабируемого кодирования.
Фиг. 65 - блок-схема другого примера использования масштабируемого кодирования.
Фиг. 66 - блок-схема еще одного примера использования масштабируемого кодирования.
Способ выполнения изобретения
Ниже будут описаны способы выполнения настоящего раскрытия (здесь далее упоминаемые как варианты осуществления). Описание будет сделано в следующем порядке.
1. Общие сведения об устройстве и порядке работы
2. Объяснение традиционного способа
3. Первый вариант осуществления (первый способ расширения)
4. Второй вариант осуществления (второй способ расширения)
5. Третий вариант осуществления (третий способ расширения)
6. Четвертый вариант осуществления (четвертый способ расширения)
7. Пятый вариант осуществления (первый способ передачи смещения)
8. Шестой вариант осуществления (второй способ передачи смещения)
9. Седьмой вариант осуществления (устройство кодирования мультипроекционного изображения/декодирования мультипроекционного изображения)
10. Восьмой вариант осуществления (устройство кодирования иерархического изображения/декодирования иерархического изображения)
11. Девятый вариант осуществления (компьютер)
12. Применения
13. Применения масштабируемого кодирования
1. Общие сведения об устройстве и порядке работы
Пример структуры устройства кодирования изображений
На фиг. 1 представлена конфигурация варианта осуществления устройства декодирования изображений в качестве устройства обработки изображений, к которому применяется настоящее раскрытие.
Устройство 11 кодирования изображений, показанное на фиг. 1, кодирует данные изображения, используя процесс предсказания. Здесь, в качестве способа кодирования используется, например, способ HEVC (High Efficiency Video Coding, видеокодирование высокой эффективности) или ему подобный.
Дополнительно, в способе HEVC определяется блок кодирования (CU). CU также упоминается в отношении блока дерева кодирования (СТВ) и является частичной областью изображения блока картинки, который выполняет ту же самую роль, что и макроблок в способе H.264/AVC. Хотя для последнего фиксирован размер 16×16 пикселей, размер первого не фиксирован и описывается в информации о сжатии изображения в каждой из последовательностей.
Например, в наборе параметров последовательности (SPS), содержащемся в кодированных данных, которые должны выводиться, определяются максимальный размер (LCU (Largest Coding Unit, наибольший блок кодирования)) и минимальный размер (SCU (Smallest Coding Unit, наименьший блок кодирования)) блока кодирования CU.
Внутри каждого LCU может выполняться деление на CU меньшего размера, устанавливая split_flag=1 в диапазоне, не меньшем, чем размер SCU. CU с размером 2N×2N делится на CU с размером N×N, которые на один уровень ниже, когда значение split_flag равно "1".
Дополнительно, CU делится на блоки предсказания (PU), являющиеся областью (частичной областью изображения блока картинки), которая должна подвергаться процессу внутрикадрового или межкадрового предсказания, и делится на блоки преобразования (TU), являющиеся областью (частичной областью изображения блока картинки), которая должна подвергаться процессу ортогонального преобразования. В настоящее время, в соответствии с HEVC можно использовать ортогональное преобразование 16×16 и 32×32 в дополнение к преобразованию 4×4 и 8×8.
Устройство 11 кодирования изображений, показанное на фиг. 1, содержит аналогово-цифровой (A/D) преобразователь 21, буфер 22 перегруппировки кадров, блок 23 арифметических операций, ортогональный преобразователь 24, квантователь 25, кодер 26 без потерь и накопительный буфер 27. Устройство 11 кодирования содержит инверсный квантователь 28, инверсный ортогональный преобразователь 29, блок 30 арифметических операций, фильтр 31а деблокирования, память 32 кадров, переключатель 33, внутрикадровый предсказатель 34, устройство 35 анализа/компенсатора движения, переключатель 36 изображения предсказания и контроллер 37 скорости.
Кроме того, устройство 11 кодирования изображения содержит адаптивный фильтр 41 смещения и адаптивный контурный фильтр 42 между деблокирующим фильтром 31 и памятью 32 кадров.
A/D-преобразователь 21 выполняет аналогово-цифровое преобразование входных данных изображения, выводит данные изображения в буфер 22 перегруппировки кадров и сохраняет в нем данные изображения.
Буфер 22 перегруппировки кадров перегруппирует кадры изображения, хранящиеся в порядке отображения, в порядок кадров для кодирования в соответствии со структурой GOP (Group of Picture, группа картинки). Буфер 22 перегруппировки кадров подает изображение, в котором кадры были перегруппированы, на блок 23 арифметических операций. Кроме того, буфер 22 перегруппировки кадров также подает изображение, в котором кадры были перегруппированы, на внутрикадровый предсказатель 34 устройства 35 анализа/компенсатора движения.
Блок 23 арифметических операций вычитает изображение предсказания, поданное от внутрикадрового предсказателя 34 или устройства 35 анализа/компенсатора движения через переключатель 36 изображения предсказания, из изображения, считанного из буфера 22 перегруппировки изображения и выводит результирующую разностную информацию на ортогональный преобразователь 24.
Например, в случае изображения, на котором выполняется кодирование, блок 23 арифметических операций вычитает изображение предсказания, поданное от внутрикадрового предсказателя 34, из изображения, считанного из буфера 22 перегруппировки кадров. Кроме того, например, в случае изображения, на котором выполняется кодирование, блок 23 арифметических операций вычитает изображение предсказания, поданное от устройства 35 анализа/компенсатора движения, из изображения, считанного из буфера 22 перегруппировки кадров.
Ортогональный преобразователь 24 выполняет ортогональное преобразование, такое как дискретное косинусное преобразование или преобразование Карунена-Лоэва, для разностной информации, поданной от блока 23 арифметических операций, и подает коэффициент преобразования на квантователь 25.
Квантователь 25 квантует коэффициент преобразования, поданный от ортогонального преобразователя 24. Квантователь 25 подает квантованный коэффициент преобразования на кодер 26 без потерь.
Кодер 26 без потерь выполняет кодирование без потерь, такое как кодирование переменной длины и арифметическое кодирование, для квантованного коэффициента преобразования.
Кодер 26 без потерь получает параметр, такой как информация, указывающая режим внутрикадрового преобразования, от внутрикадрового предсказателя 34 и получает от устройства 35 анализа/компенсатора движения такой параметр, как информация, указывающая режим межкадрового предсказания, или информация вектора движения. Кодер 26 без потерь кодирует квантованный коэффициент преобразования и также кодирует каждый полученный параметр (элемент синтаксиса) и устанавливает результат как часть информации заголовка кодированных данных (мультиплексирует результат). Кодер 26 без потерь подает кодированные данные, полученные кодированием, в накопительный буфер 27 и накапливает в нем кодированные данные.
Например, в кодере 26 без потерь выполняется процесс кодирования без потерь, такой как кодирование переменной длины или арифметическое кодирование. В качестве кодирования переменной длины можно упомянуть CAVLC (контекстно адаптированное кодирование переменной длины) и т.п. В качестве арифметического кодирования можно упомянуть САВАС (контекстно адаптированное двоичное арифметическое кодирование) и т.п.
Накопительный буфер 27 временно хранит кодированный поток (данные), подаваемый от кодера 26 без потерь, и выводит сохраненные кодированные данные, например, на последующее записывающее устройство (не показано) или в тракт передачи в качестве кодированного изображения в заданный момент времени. То есть, накопительный буфер 27 является также блоком передачи, чтобы передавать кодированный поток.
Кроме того, коэффициент преобразования, квантованный квантователем 25, также подается на инверсный квантователь 28. Инверсный квантователь 28 выполняет инверсное квантование квантованного коэффициента преобразования, используя способ, соответствующий квантованию квантователем 25. Инверсный квантователь 28 подает полученный коэффициент преобразования на инверсный ортогональный преобразователь 29.
Инверсный ортогональный преобразователь 29 выполняет инверсное ортогональное преобразование для поданного коэффициента преобразования, способом, соответствующим процессу ортогонального преобразования, посредством ортогонального преобразователя 24. Выходной результат, полученный посредством инверсного ортогонального преобразования (восстановленная разностная информация) подается на блок 30 арифметических операций.
Блок 30 арифметических операций добавляет изображение предсказания, поданное от внутрикадрового предсказателя 34 или от устройства 35 анализа/компенсатора движения через переключатель 36 изображения предсказания, к результату инверсного ортогонального преобразования, то есть, к восстановленной разностной информации, поданной от инверсного ортогонального преобразователя 29, чтобы получить локально декодированное изображение (декодированное изображение).
Например, когда разностная информация соответствует изображению, для которого выполняется внутрикадровое кодирование, блок 30 арифметических операций добавляет изображение предсказания, поданное от внутрикадрового предсказателя 34, к разностной информации. Кроме того, например, когда разностная информация соответствует изображению, для которого выполняется межкадровое кодирование, блок 30 арифметических операций добавляет изображение предсказания, поданное от устройства 35 анализа/компенсатора движения, к разностной информации.
Декодированное изображение, являющееся результатом сложения, подается на деблокирующий фильтр 31а и память 32 кадров.
Деблокирующий фильтр 31а подавляет блочное искажение декодированного изображения, соответствующим образом выполняя процесс деблокирующей фильтрации. Деблокирующий фильтр 31 имеет параметры β и Тс, вычисленные на основе параметра квантования QP. Параметры β и Тс являются пороговыми значениями (параметрами), используемыми при определении в отношении деблокирующего фильтра, β и Тс, являющиеся параметрами, которые имеет деблокирующий фильтр 31а, выводятся из β и Тс, которые определяются в способе HEVC.
Кроме того, деблокирующий фильтр 31а может быть выключен по команде пользователя и информация о включении/выключении в отношении того, выполнять ли деблокирующую фильтрацию, вводится в деблокирующий фильтр 31а пользователем посредством операционного блока (не показан) и т.п. Кроме того, значение по умолчанию для каждого смещения описанных выше параметров β и Тс равно 0. Однако, когда значение по умолчанию для каждого смещения описанных выше параметров β и Тс равно значению, отличному от 0, пользователь вводит в деблокирующий фильтр 31а значение посредством операционного блока (не показан) и т.п. Информация о включении/выключении (также упоминаемая как информация флага DisableDeblockingFilter) деблокирующего фильтра и каждое смещение параметров β и Тс кодируется в качестве параметра деблокирующего фильтра кодером 26 без потерь и передается устройству 51 декодирования изображения, показанному на фиг. 3, которое должно быть описано ниже.
Деблокирующий фильтр 31а выполняет деблокирующую фильтрацию на изображении, полученном от блока 30 арифметических операций, используя информацию о включении/выключении и смещении, описанную выше, и β и Тс, которые являются параметрами, полученными из β и Тс, определенных в способе HEVC. Деблокирующий фильтр 31а подает результат фильтрации на адаптивный фильтр 41 смещения. Кроме того, подробная конфигурация деблокирующего фильтра 31а будет описана позже со ссылкой на фиг. 14.
Адаптивный фильтр 41 смещения выполняет процесс фильтрации смещения (SAO: Sample adaptive offset, адаптивное смещение выборки) для подавленного, в основном, звона на изображении после фильтрации деблокирующим фильтром 31а.
Типами фильтров смещения являются, в целом, девять типов, в том числе, два типа смещения полосы, шесть типов смещения края и отсутствующее смещение. Адаптивный фильтр 41 смещения выполняет фильтрацию изображения после фильтрации деблокирующим фильтром 31а, использующим значение смещения для каждой структуры квадродерева, в которой тип фильтра смещения определяется для каждой поделенной области и в каждой поделенной области. Адаптивный фильтр 41 смещения подает изображение после фильтрации в адаптивный контурный фильтр 42.
Кроме того, в устройстве 11 кодирования изображений значение смещения для каждой структуры квадродерева и поделенной области вычисляется адаптивным фильтром 41 смещения и используется. Вычисленное значение смещения для каждой структуры квадродерева и поделенной области кодируется в качестве адаптивного параметра смещения кодером 26 без потерь и передается устройству 51 кодирования изображений, показанному на фиг. 3, которое будет описано позже.
Адаптивный контурный фильтр 42 выполняет процесс адаптивной контурной фильтрации (ALF: AdaptiveLoop Filter) изображения после фильтрации адаптивным фильтром 41 смещения в процессорном блоке, используя коэффициент фильтра. В адаптивном контурном фильтре 42 в качестве фильтра используется двумерный фильтр Винера. Несомненно, также возможно использовать фильтры, отличные от фильтра Винера. Адаптивный контурный фильтр 42 подает результат фильтрации в память 32 кадров.
Кроме того, хотя в примере на фиг. 1 это не показано, в устройстве 11 кодирования изображений коэффициент фильтра вычисляется адаптивным контурным фильтром 42, так что остаточная ошибка между каждым процессорным блоком и оригинальным изображением из буфера 22 перегруппировки кадров минимизируется и используется. Вычисленный коэффициент фильтра кодируется в качестве параметра адаптивного контурного фильтра кодером 26 без потерь и передается устройству 51 кодирования изображений, показанному на фиг. 3, которое будет описано позже.
Память 32 кадров выводит накопленное опорное изображение на внутрикадровый предсказатель 34 или на устройство 35 анализа/компенсатора движения через переключатель 33 в заданный момент времени.
Например, в случае изображения, на котором выполняется внутрикадровое кодирование, память 32 кадров подает опорное изображение на внутрикадровый предсказатель 34 через переключатель 33. Кроме того, когда выполняется межкадровое кодирование, память 32 кадров подает опорное изображение на устройство 35 анализа/компенсатора движения через переключатель 33.
Когда опорное изображение, поданное из памяти 32 кадров, является изображением, на котором выполняется внутрикадровое кодирование, переключатель 33 подает опорное изображение на внутрикадровый предсказатель 34. Кроме того, когда опорное изображение, поданное из памяти 32 кадров, является изображением, на котором выполняется межкадровое кодирование, переключатель 33 подает опорное изображение на устройство 35 анализа/компенсатора движения.
Внутрикадровый предсказатель 34 выполняет внутрикадровое предсказание (предсказание внутри кадра) для формирования изображения предсказания, используя пиксельные значения внутри экрана. Внутрикадровый предсказатель 34 выполняет внутрикадровое предсказание во множестве режимов (режимов внутрикадрового предсказания).
Внутрикадровый предсказатель 34 формирует изображения предсказания во всех режимах внутрикадрового предсказания, оценивает каждое изображение предсказания и выбирает оптимальные режим. Когда оптимальный режим внутрикадрового предсказания выбран, внутрикадровый предсказатель 34 подает изображение предсказания, сформированное в оптимальном режиме, на блок 23 арифметических операций или на блок 30 арифметических операций через переключатель 36 изображения предсказания.
Кроме того, как описано выше, внутрикадровый предсказатель 34 соответственно подает параметр, такой как информация режима внутрикадрового предсказания, указывающий адаптированный режим внутрикадрового предсказания, на кодер 26 без потерь.
Устройство 35 анализа/компенсатора движения выполняет анализ движения для изображения, на котором выполняется межкадровое кодирование, используя входное изображение, подаваемое из буфера 22 перегруппировки кадров, и опорное изображение, подаваемое из памяти 32 кадров, через переключатель 33. Кроме того, устройство 35 анализа/компенсатора движения выполняет процесс компенсации движения в соответствии с вектором движения, определяемым путем анализа движения, формируя, таким образом, изображение предсказания (информацию межкадрового изображения).
Устройство 35 анализа/компенсатора движения формирует предсказанные изображения, выполняя процесс межкадрового предсказания во всех возможных режимах межкадрового предсказания. Устройство 35 анализа/компенсатора движения подает сформированные изображения предсказания на блок 23 арифметических операций или на блок 30 арифметических операций через переключатель 36 изображения предсказания.
Кроме того, устройство 35 анализа/компенсатора подает параметр, такой как информация режима межкадрового предсказания, указывающая адаптированный режим межкадрового предсказания, или информацию о векторе движения, указывающую вычисленный вектор движения, на кодер 26 без потерь.
Переключатель 36 изображения предсказания подает выходной сигнал внутрикадрового предсказателя 34 на блок 23 арифметических операций или на блок 30 арифметических операций в случае изображений, на которых выполняется внутрикадровое кодирование, и подает выходной сигнал устройства 35 анализа/компенсатора на блок 23 арифметических операций или на блок 30 арифметических операций в случае изображения, на котором выполняется межкадровое кодирование.
Контроллер 37 скорости управляет скоростью операции квантования квантователя 25, основываясь на сжатом изображении, накопленном в накопительном буфере 27, так что переполнение или отрицательное переполнение не происходит.
Порядок работы устройства кодирования изображений
Поток процесса кодирования, выполняемого упомянутым выше устройство 11 кодирования изображений, будет описан со ссылкой на фиг. 2.
На этапе S11 A/D-преобразователь 21 выполняет A/D-преобразование входного изображения. На этапе S12 буфер 22 перегруппировки кадров сохраняет изображение, полученное при A/D-преобразовании, и перегруппирует соответствующие картинки, следующие в порядке отображения, в порядок кодирования.
Когда изображение, которое должно обрабатываться и которое подается из буфера 22 перегруппировки кадров, является изображением блока, которое должно подвергаться внутрикадровой обработке, декодированное изображение, на которое должна делаться ссылка, считывается из памяти 32 кадров и подается на внутрикадровый предсказатель 34 через переключатель 33.
На этапе S13, основываясь на этих изображениях, внутрикадровый предсказатель 34 выполняет внутрикадровое предсказание пикселей блока, который должен обрабатываться во всех возможных режимах внутрикадрового предсказания. Кроме того, в качестве декодированного пикселя, на который должна делаться ссылка, используется пиксел, который не фильтруется деблокирующим фильтром 31.
С помощью этой обработки внутрикадровое предсказание выполняется во всех возможных режимах внутрикадрового предсказания и значения функции стоимости вычисляются для всех возможных режимов межкадрового предсказания. Затем, основываясь на вычисленных значениях функции стоимости, выбирается оптимальный режим внутрикадрового предсказания и изображение предсказания, сформированное посредством внутрикадрового предсказания в оптимальном режиме внутрикадрового предсказания, и значение функции стоимости подаются на переключатель 36 изображения предсказания.
Когда изображение, которое должно обрабатываться и которое подается из буфера 22 перегруппировки кадров, является изображением, который должно подвергаться межкадровой обработке, причем изображение, на которое должна делаться ссылка, считывается их памяти 32 кадров и подается на устройство 35 анализа/компенсатора, обработка выполняется с анализом/компенсацией движения, основываясь на этих изображениях.
С помощью этой обработки обработка анализа движения выполняется во всех возможных режимах межкадрового предсказания и значения функции стоимости вычисляются для всех возможных режимов межкадрового предсказания. Основываясь на вычисленных значениях функции стоимости, определяется оптимальный режим межкадрового предсказания. Затем изображение предсказания, сформированное в оптимальном режиме межкадрового предсказания, и его значение функции стоимости подаются на переключатель 36 режима предсказания.
На этапе S15 переключатель 36 изображения предсказания определяет, выбирается ли оптимальный режим внутрикадрового предсказания или оптимальный режим межкадрового предсказания в качестве оптимального режима предсказания, основываясь на соответствующих значениях функции стоимости, выводимой из внутрикадрового предсказателя 34 и устройства 35 анализа/компенсатора движения. Затем переключатель 36 изображения предсказания выбирает изображения предсказания в определенном оптимальном режиме предсказания и подает их на блоки 23 и 30 арифметических операций. Изображение предсказания используется в операциях на этапах S16 и S21, которые будут описаны позже.
Кроме того, информация о выборе изображения предсказания подается на внутрикадровый предсказатель 34 или на устройство 35 анализа/компенсатора движения. Когда в оптимальном режиме внутрикадрового предсказания выбирается изображение предсказания, внутрикадровый предсказатель 34 подает информацию, указывающую оптимальный режим внутрикадрового предсказания (то есть, параметр, относящийся к внутрикадровому предсказанию) на кодер 26 без потерь.
Когда изображение предсказания выбирается в оптимальном режиме межкадрового предсказания, устройство 35 анализа/компенсации движения выводит информацию, указывающую оптимальный режим межкадрового предсказания, и информацию, относящуюся к оптимальному режиму межкадрового предсказания (то есть, параметр, относящийся к анализу движения), на кодер 26 без потерь. В качестве информации, соответствующей оптимальному режиму межкадрового предсказания, может быть упомянута информация о векторе движения, информация об опорном кадре и т.п.
На этапе S16 блок 23 арифметических операций вычисляет разность между изображением, перегруппированным на этапе S12, и изображением предсказания, выбранным на этапе S15. Изображение предсказания подается от устройства 35 анализа/компенсатора движения на блок 23 арифметических операций через переключатель 36 изображения предсказания в случае межкадрового предсказания и от внутрикадрового предсказателя 34 на блок 23 арифметических операций через переключатель 36 изображения предсказания в случае внутрикадрового предсказания.
Объем данных для разностных данных уменьшается по сравнению с объемом данных оригинального изображения. Соответственно, возможно сжать объем данных по сравнению со случаем, в котором изображение кодируется так, как оно есть.
На этапе S17 ортогональный преобразователь 24 выполняет ортогональное преобразование разностной информации, полученной от блока 23 арифметических операций. Конкретно, выполняется ортогональное преобразование, такое как дискретное косинусное преобразование или преобразование Карунена-Лоэва, и коэффициент преобразования подается далее.
На этапе S18 квантователь 25 квантует коэффициент преобразования. При квантовании скорость управляется, как объясняется для процесса на этапе S28, который будет описан позже.
Информация о разности, квантованная как описано выше, локально декодируется следующим образом. То есть, на этапе S19 инверсный квантователь 28 выполняет инверсное квантование коэффициента преобразования, квантованного квантователем 25 с характеристиками, соответствующими характеристикам квантователя 25. На этапе S20 инверсный ортогональный преобразователь 29 выполняет инверсное ортогональное преобразование для коэффициента преобразования, который был инверсно квантован инверсным квантователем 28 с характеристиками, соответствующими характеристикам ортогонального преобразователя 24.
На этапе S21 блок 30 арифметических операций формирует локально декодированное изображение (изображение, соответствующее вводу в блок 23 арифметических операций), добавляя изображение предсказания, введенное через переключатель 36 изображения предсказания, к локально декодированной разностной информации.
На этапе S22 фильтр 31а деблокирования выполняет деблокирующую фильтрацию на изображении, выведенном с блока 30 арифметических операций. Далее, со ссылкой на фиг. 23, будут описаны подробности процесса деблокирующей фильтрации. В этом случае параметры β и Тс, взятые для β и Тс, определенных в способе HEVC, используются в качестве пороговых значений определения в отношении деблокирующего фильтра. Изображение после фильтрации, полученное от деблокирующего фильтра 21, выходится на адаптивный фильтр 41 смещения.
Кроме того, информация о включении/выключении (ON/OFF), используемая в деблокирующем фильтре 31а, и каждое смещение параметров β и Тс, которые были введены при работе операционного блока (не показан) или подобным образом пользователем, подаются на кодер 26 без потерь в качестве параметров деблокирующего фильтра.
На этапе S23 адаптивный фильтр 41 смещения выполняет адаптивную фильтрацию смещения. Посредством этого процесса, фильтрация изображения выполняется после фильтрации деблокирующим фильтром 31а, используя значение смещения для каждой структуры квадродерева, в которой тип фильтра смещения определяется для каждой поделенной области, а также в каждой поделенной области. Изображение после смещения подается в адаптивный контурный фильтр 42.
Кроме того, определенное значение смещения для каждой структуры квадродерева и поделенной области подается на кодер 26 без потерь с качестве адаптивного параметра смещения.
На этапе S24 адаптивный фильтр 42 смещения выполняет адаптивную контурную фильтрацию изображения после фильтрации адаптивным фильтром 41 смещения. Например, фильтрация выполняется для изображения после фильтрации адаптивным фильтром 41 смещения в процессорном блоке, используя коэффициент фильтра, и результат фильтрации подается в память 32 кадров.
На этапе S25 память 32 кадров сохраняет отфильтрованное изображение. Кроме того, изображения, не отфильтрованные деблокирующим фильтром 31а, адаптивным фильтром 41 смещения и адаптивным контурным фильтром 42, также подаются от блока 30 арифметических операций в память 32 кадров и сохраняются.
С другой стороны, коэффициент преобразования, квантованный на этапе S18, описанном выше, также подается на кодер 26 без потерь. На этапе S26 кодер 26 без потерь кодирует квантованный коэффициент преобразования, полученный с выхода квантователя 25, и каждый параметр, который подается. То есть, разностное изображение подвергается сжатию посредством кодирования без потерь, такого как кодирование переменной длины или арифметическое кодирование. Здесь, поскольку параметры кодированы, существуют параметр деблокирующего фильтра, параметр адаптивного фильтра смещения, параметр адаптивного контурного фильтра, параметр квантования, информация о векторе движения или информация об опорном кадре, информация о режиме предсказания и т.п.
На этапе S27 накопительный буфер 27 накапливает кодированное разностное изображение (то есть, кодированный поток) в качестве сжатого изображения. Сжатое изображение, накопленное в накопительном буфере 27, соответствующим образом считывается и передается на декодирующую сторону по пути прохождения при передаче.
На этапе S28 контроллер 37 скорости управляет скоростью операции квантования квантователя 25, основываясь на сжатом изображении, накопленном в накопительном буфере 27, так что переполнение или отрицательное переполнение не происходит.
Процесс кодирования заканчивается, когда заканчивается обработка на этапе S28.
Пример структуры устройства декодирования изображения
На фиг. 3 представлена конфигурация варианта осуществления устройства декодирования изображения в виде устройства обработки изображения, к которому применяется настоящее раскрытие. Устройство 51 декодирования изображения, показанное на фиг. 3, является устройством, соответствующим устройству 11 кодирования изображения, показанному на фиг. 1.
Предполагается, что кодированный поток (данные), который кодирован устройство 11 кодирования изображения, передается на устройство 51 декодирования изображения, соответствующее устройству 11 кодирования изображения, по заданному пути прохождения при передаче и декодируется.
Как показано на фиг. 3, устройство 51 декодирования изображения содержит накопительный буфер 61, декодер 62 без потерь, инверсный квантователь 63, инверсный ортогональный преобразователь 64, блок 65 арифметических операций, деблокирующий фильтр 31b, буфер 67 перегруппировки кадров и D/A-преобразователь 68. Устройство 51 декодирования изображения также содержит память 69 кадров, переключатель 70, внутрикадровый предсказатель 71, устройство 72 анализа/компенсатора движения и переключатель 73.
Кроме того, устройство 51 декодирования изображения содержит адаптивный фильтр 81 смещения и адаптивный контурный фильтр 82 между деблокирующим фильтром 31b и буфером 67 перегруппировки кадров и памятью 69 кадров.
Накопительный буфер 61 также является приемным блоком, который принимает переданные кодированные данные. Накопительный буфер 61 принимает и накапливает переданные кодированные данные. Кодированные данные были кодированы устройством 11 кодирования изображения. Декодер 62 без потерь декодирует кодированные данные, считанные из накопительного буфера 61 в заданное время, используя способ, соответствующий способу кодирования кодера 26 без потерь, показанному на фиг. 1.
Декодер 62 без потерь подает параметр, такой как информация, указывающая режим декодированного внутрикадрового предсказания, на внутрикадровый предсказатель 71 и подает параметр, такой как информация, указывающая режим межкадрового предсказания, или информация вектора движения, на устройство 72 анализа/компенсатора движения. Кроме того, декодер 62 без потерь подает декодированный параметр деблокирующего фильтра на деблокирующий фильтр 31b и подает декодированный адаптированный параметр смещения на адаптивный фильтр 81 смещения.
Инверсный квантователь 63 выполняет инверсное квантование данных коэффициента (коэффициента квантования), полученного посредством декодирования кодером 62 без потерь, используя способ, соответствующий способу квантования квантователя 25, показанного на фиг. 1. То есть, инверсный квантователь 63 выполняет инверсное квантование коэффициента квантования тем же самым способом, что и инверсный квантователь 28, показанный на фиг. 1, используя параметр квантования, полученный от устройства 11 кодирования изображения.
Инверсный квантователь 63 подает инверсно квантованные данные коэффициента, то есть, коэффициента ортогонального преобразования, на инверсный ортогональный преобразователь 64. Инверсный ортогональный преобразователь 64 выполняет инверсное ортогональное преобразование коэффициента ортогонального преобразования, используя способ, соответствующий способу ортогонального преобразования ортогонального преобразователя 24, показанного на фиг. 1, получая, таким образом, декодированные остаточные данные, соответствующие остаточным данным перед ортогональным преобразованием в устройстве 11 кодирования изображения.
Декодированные остаточные данные, полученные инверсным ортогональным преобразованием, подаются на блок 65 арифметических операций. Кроме того, изображение предсказания подается на блок 65 арифметических операций от внутрикадрового предсказателя 71 или от устройства 72 анализа/компенсатора движения через переключатель 73.
Блок 65 арифметических операций добавляет декодированные остаточные данные и изображение предсказания, чтобы получить данные декодированного изображения, соответствующие данным изображения до вычитания изображения предсказания блоком 23 арифметических операций устройства 11 кодирования изображения. Блок 65 арифметических операций подает данные декодированного изображения на деблокирующий фильтр 31b.
Деблокирующий фильтр 31b подавляет блочное искажение декодированного изображения, соответствующим образом выполняя процесс деблокирующей фильтрации. Деблокирующий фильтр 31b конфигурирован, в основном, таким же образом, как и деблокирующий фильтр 31а, показанный на фиг. 1. То есть, деблокирующий фильтр 31b имеет параметры β и Тс, вычисленные на основе параметра квантования. Параметры β и Тс являются пороговыми значениями, используемыми при определении, относящемся к деблокирующему фильтру, β и Тс, являющиеся параметрами, которые имеет деблокирующий фильтр 31b, получаются из β и Тс, которые определены в способе HEVC.
Кроме того, информация о включении/выключении деблокирующего фильтра и каждое смещение параметров β и Тс, которые кодированы устройством 11 кодирования изображения, принимаются в качестве параметров деблокирующего фильтра устройством 51 декодирования изображения, декодируются декодером 62 без потерь и используются деблокирующим фильтром 31b.
Деблокирующий фильтр 31b выполняет деблокирующую фильтрацию на изображении, полученном от блока 30 арифметических операций, используя информацию о включении/выключении и смещение, описанное выше, и β и Тс, которые являются параметрами, полученными из β и Тс, определенных в способе HEVC. Деблокирующий фильтр 31b подает результат фильтрации на адаптивный фильтр 81 смещения. Кроме того, подробная конфигурация деблокирующего фильтра 31b будет описана позже со ссылкой на фиг. 14.
Адаптивный фильтр 81 смещения выполняет фильтрацию (SAO) смещения, главным образом, для подавления звона на изображении после фильтрации деблокирующим фильтром 31b.
Адаптивный фильтр 81 смещения выполняет фильтрацию изображения после фильтрации деблокирующим фильтром 31b, используя значение смещения для каждой структуры квадродерева, в которой тип фильтра смещения определяется для каждой поделенной области и в каждой поделенной области. Адаптивный фильтр 81 смещения подает изображение после фильтрации на адаптивный контурный фильтр 82.
Кроме того, значение смещения для каждой структуры квадродерева и поделенной области вычисляется адаптивным фильтром 41 смещения устройства 11 кодирования изображения и кодируется и передается в качестве адаптивного параметра смещения. Значение смещения для каждой структуры квадродерева и поделенной области, которая была кодирована устройством 11 кодирования изображения, принимается в качестве адаптивного параметра смещения устройством 51 декодирования изображения, декодируется декодером 62 без потерь и используется адаптивным фильтром 81 смещения.
Адаптивный контурный фильтр 82 выполняет фильтрацию изображения после фильтрации адаптивным фильтром 81 смещения в процессорном блоке, используя коэффициент фильтра, и результат фильтрации подается в память 69 кадров в буфер 67 перегруппировки кадров.
Кроме того, хотя в примере на фиг. 3 это не показано, в устройстве 51 декодирования изображения коэффициент фильтра вычисляется для каждой LUC адаптивным контурным фильтром 42 устройства 11 кодирования изображения и коэффициент, кодированный и переданный в качестве параметра адаптивного контурного фильтра, декодируется декодером 62 без потерь и используется.
Буфер 67 перегруппировки кадров выполняет перегруппировку изображений. Конкретно, кадры, перегруппированные в порядке кодирования буфером 22 перегруппировки кадров на фиг. 1, перегруппируются в первоначальный порядок отображения. D/A-преобразователь 68 осуществляет цифро-аналоговое преобразование изображения, поданного из буфера 67 перегруппировки кадров, и выводит преобразованное изображение на дисплей (не показан) для отображения изображения.
Кроме того, выходной сигнал адаптивного контурного фильтра 82 подается в память 69 кадров.
Память 69 кадров, переключатель 70, внутрикадровый предсказатель 71, устройство 72 анализа/компенсатора движения и переключатель 73 соответствуют памяти 32 кадров, переключателю 33, внутрикадровому предсказателю 34, устройству 35 анализа/компенсатора движения и переключателю 36 изображения предсказания устройства 11 кодирования, соответственно.
Переключатель 70 считывает межкадрово обработанное изображение и изображение, на которое должна делаться ссылка, из памяти 69 кадров и подает эти изображения на устройство 72 анализа/компенсатора движения. Кроме того, переключатель 70 считывает изображение, используемое для внутрикадрового предсказания, из памяти 69 кадров и подает изображение на внутрикадровый предсказатель 71.
Информация, указывающая режим внутрикадрового предсказания, которая получена декодированием информации заголовка и т.п., соответственно подается от декодера 62 без потерь на внутрикадровый предсказатель 71. Основываясь на информации, внутрикадровый предсказатель 71 формирует изображение предсказания из опорного изображения, полученного из памяти 69 кадров, и подает сформированное изображение предсказания на переключатель 73.
Информация, полученная декодированием информации заголовка (информация режима предсказания, информация вектора движения, информация опорного кадра, флаг, различные параметры и т.п.) подается из декодера 62 без потерь на устройство 72 анализа/компенсатора движения.
Основываясь на информации, поданной от декодера 62 без потерь, устройство 72 анализа/компенсатора движения формирует изображение предсказания из опорного изображения, полученного из памяти 69 кадров, и подает сформированное изображение предсказания на переключатель 73.
Переключатель 73 выбирает изображение предсказания, сформированное устройством 72 анализа/компенсатора или внутрикадровым предсказателем 71, и подает выбранное изображение предсказания на блок 65 арифметических операций.
Порядок работы устройства декодирования изображения
Пример поток процесса декодирования, выполняемого упомянутым выше устройством 51 декодирования изображений, будет описан со ссылкой на фиг. 4.
Когда на этапе S51 процесс декодирования начат, накопительный буфер 61 принимает и накапливает переданный кодированный поток (данные). На этапе S52 декодер 62 без потерь декодирует кодированные данные, поданные из накопительного буфера 61. Картинка I, картинка Р и картинка В, кодированные кодером 26 без потерь, показанным на фиг. 1, декодируются.
Перед декодированием картинок информация о параметре, такая как информация о векторе движения, информация об опорном кадре и информация о режиме предсказания (режиме внутрикадрового предсказания или режиме межкадрового предсказания), также декодируется.
Когда информация о режиме предсказания является информацией о режиме внутрикадрового предсказания, информация о режиме предсказания подается во внутрикадровый предсказатель 71. Когда информация о режиме предсказания является информацией о режиме межкадрового предсказания, информация о режиме предсказания и соответствующая информация о векторе движения и т.п. подаются на устройство 72 анализа/компенсатора движения Кроме того, параметр деблокирующего фильтра и адаптивный параметр смещения также декодируются и подаются на деблокирующий фильтр 31b и адаптивный фильтр 81 смещения, соответственно.
На этапе S53 внутрикадровый предсказатель 71 или устройство 72 анализа/компенсатора движения выполняет процесс формирования изображения предсказания, соответствующий информации о режиме предсказания, поданной от декодера 62 без потерь.
То есть, когда информация о режиме внутрикадрового предсказания подается от декодера 62 без потерь, внутрикадровый предсказатель 71 формирует изображение внутрикадрового предсказания в режиме внутрикадрового предсказания. Когда от декодера 62 без потерь подается информация о режиме межкадрового предсказания, устройство 72 анализа/компенсатора движения выполняет процесс анализа/компенсации движения в режиме межкадрового предсказания, чтобы сформировать изображение межкадрового предсказания.
Посредством этого процесса, изображение предсказания (изображение внутрикадрового предсказания), сформированное внутрикадровым предсказателем 71 или изображение предсказания (изображение межкадрового предсказания), сформированное устройством 72 анализа/компенсатора движения, подается на переключатель 73.
На этапе S54 переключатель 73 включает изображение предсказания. То есть, подается изображение предсказания, сформированное внутрикадровым предсказателем 71 или изображение предсказания, сформированное устройством 72 анализа /компенсатора. Соответственно, подаваемое изображение предсказания выбирается и подается на блок 65 арифметических операций и на этапе S57 добавляется к выходному сигналу инверсного ортогонального преобразователя 64, что будет описано позже.
На этапе S52, описанном выше, коэффициент преобразования, декодированный декодером 62 без потерь, также подается на инверсный квантователь 63. На этапе S55 инверсный квантователь 63 выполняет инверсное квантование коэффициента преобразования, декодированного декодером 62 без потерь с характеристиками, соответствующими характеристикам квантователя 25, показанного на фиг. 1.
На этапе S56 инверсный ортогональный преобразователь 29 выполняет инверсное ортогональное преобразование коэффициента преобразования, который был инверсно квантован инверсным квантователем 28 с характеристиками, соответствующими характеристикам ортогонального преобразователя 24, показанного на фиг. 1. В результате декодируется разностная информация, соответствующая входному сигналу ортогонального преобразователя 24 (выходному сигналу блока 23 арифметических операций), показанному на фиг. 1.
На этапе S57 блок 65 арифметических операций добавляет изображение предсказания, выбранное в процессе на этапе S54, описанном выше, и вводит его через переключатель 73 в разностную информацию. В результате, декодируется первоначальное изображение.
На этапе S58 деблокирующий фильтр 31b выполняет деблокирующую фильтрацию на изображении, выведенном с блока 65 арифметических операций. Далее, со ссылкой на фиг. 23, будут описаны подробности процесса деблокирующей фильтрации. В этом случае параметры β и Тс, взятые из β и Тс, определенных в способе HEVC, используются в качестве пороговых значений определения в отношении деблокирующего фильтра. Изображение после фильтрации, полученное от деблокирующего фильтра 31b, выводится на адаптивный фильтр 81 смещения. Кроме того, в процессе деблокирующей фильтрации также используются информация о включении/выключении, являющаяся параметром деблокирующего фильтра, подаваемым от декодера 62 без потерь, и каждый сдвиг параметров β и Тс.
На этапе S59 адаптивный фильтр 81 смещения выполняет адаптивную фильтрацию смещения. Посредством этого процесса, фильтрация выполняется на изображения после фильтрации деблокирующим фильтром 31b, используя значение смещения для каждой структуры квадродерева, в которой тип фильтра смещения определяется для каждой поделенной области, а также в каждой поделенной области. Изображение после смещения подается в адаптивный контурный фильтр 82.
На этапе S60 адаптивный фильтр 82 смещения выполняет адаптивную контурную фильтрацию изображения после фильтрации адаптивным фильтром 81 смещения. Адаптивный контурный фильтр 82 выполняет фильтрацию входного изображения в процессорном блоке, используя коэффициент фильтра, вычисленный для каждого процессорного блока, и подает результат фильтрации в буфер 67 перегруппировки кадров и память 69 кадров.
На этапе S61 память 69 кадров сохраняет отфильтрованное изображение.
На этапе S62 буфер 67 реорганизации кадров выполняет перегруппировку изображения после адаптивного контурного фильтра 82. То есть, кадры, перегруппированные для кодирования буфером 22 перегруппировки кадров устройства 11 кодирования изображения, перегруппируются в порядке первоначального отображения.
На этапе S63 D/A-преобразователь 68 осуществляет цифро-аналоговое преобразование изображения, полученного от буфера 67 перегруппировки кадров. Это изображение выводится на дисплей (не показан) и изображение, таким образом, отображается.
Процесс декодирования заканчивается, когда заканчивается обработка на этапе S63.
2. Объяснение традиционного способа
Параметры деблокирующего фильтра в режиме AVC
Далее будут описаны параметры деблокирующего фильтра для способа AVC. При способе AVC, параметрами для определения того, требуется или не требуется деблокирующий фильтр, являются параметры α и β. Эти значения определяются в соответствии с параметром квантования QP.
На фиг. 5 позиция А является графиком, показывающим взаимосвязь между параметром α и параметром квантования QP, а позиция В на фиг. 5 является таблицей, показывающей взаимосвязь между параметром α и параметром квантования QP. Параметр а оптимизируется путем точной регулировки, основываясь на выражении (1).
Математическая формула 1
Параметр α может принимать значения от 0 до 255 для параметра квантования QP от 0 до 51.
На фиг. 6 позиция А является графиком, показывающим взаимосвязь между параметром β и параметром квантования QP, а позиция В на фиг. 6 является таблицей, показывающей взаимосвязь между параметром β и параметром квантования QP. Параметр β оптимизируется путем точной регулировки, основываясь на выражении (2). Пунктирная линия в позиции А на фиг. 6 показывает выражение (2), а сплошная линия показывает значение, приведенное в позиции В на фиг. 6 после точной регулировки согласно выражению (2).
Математическая формула 2
Параметр β может принимать значения от 0 до 18 для параметра квантования QP от 0 до 51.
Параметры деблокирующего фильтра для способа HEVC
В качестве параметров, соответствующих α и β для способа AVC, в способе HEVC используются параметры β и Тс.
Параметры β и Тс являются параметрами фильтра, используемыми при определении в отношении деблокирующего фильтра. Конкретно, параметр β является пороговым значением, используемым при определении в отношении того, требуется или не требуется деблокирующий фильтр, и определения выбора силы фильтрации и параметром для регулировки силы фильтрации деблокирующим фильтром. Параметр Тс является пороговым значением, используемым при определении выбора силы фильтрации, и параметром для регулировки силы фильтрации деблокирующим фильтром. Кроме того, параметр Тс является значением, которое также используется при ограничении во время фильтрации. Параметры β и Тс являются значениями, устанавливаемыми в соответствии с параметром квантования QP, как показано на фиг. 7. На фиг. 7 показаны значения параметров β и Тс, соответствующие параметру квантования QP.
Параметр β имеет 52 значения от 0 до 51 и фиксируется на 64 для ввода более 51. Параметр Тс имеет 54 значения и фиксируется на 13 для ввода более 53.
Здесь диапазон параметра квантования QP, который может использоваться в способе HEVC, составляет от 0 до 51, а диапазон смещения параметра деблокирующего фильтра составляет от -26 до 26. Поэтому, теоретически, диапазон ввода LUT (Look Up Table, таблица поиска) для параметра деблокирующего фильтра составляет от 0 до 77.
Однако, поскольку параметр квантования QP, являющийся реальным вводом параметра деблокирующего фильтра в LUT, равен 0-51, значение смещение до максимума не используется.
Кроме того, как описано выше, даже если используются значение 64, которое является максимальным значением параметра β, и значение 13, которое является максимальным значением параметра Тс в способе HEVC, имели место случаи, в которых блочный шум, являющийся видимым, остается в некоторых последовательностях.
Поэтому, в настоящем способе, чтобы увеличить силу фильтрации деблокирующим фильтром, параметры β и Тс расширяются и в деблокирующем фильтре используются расширенные параметры β и Тс. То есть, в деблокирующем фильтре используются параметры, полученные расширением диапазона параметров фильтра (параметров β и Тс) для управления фильтром с целью увеличения силы фильтрации.
Кроме того, расширение здесь относится к расширению диапазона параметра для существующего диапазона параметра с диапазоном параметра по способу AVC и диапазоном параметра по версии 21 способа HEVC, описанного в непатентном документе 1 в качестве существующего диапазона параметра. Кроме того, в настоящем способе диапазон параметра расширяется таким образом, чтобы увеличивать силу фильтра относительно шума, поскольку существует случай, когда шум остается вместе с существующими параметрами.
3. Первый вариант осуществления (первый способ расширения)
Расширение параметра β
На фиг. 8 показана взаимосвязь между параметром квантования QP и параметром β в настоящем способе. Кроме того, в таблице, приведенной на фиг. 8, участок, обведенный толстой рамкой, является участком, расширенным с помощью настоящего способа.
Как показано внутри толстой рамки на фиг. 8, параметр β (β(52) - β(qpmax)), соответствующий параметру квантования QP (52 - qpmax) расширен (добавлен). Кроме того, нижеследующее объяснение будет приведено в качестве примера для qpmax, равного 77. Однако, значение может быть установлено и не ограничивается 77.
Значение параметра β, который должен быть расширен, может устанавливаться как функция параметра квантования и существуют два способа установки параметра β. Первый способ установки β является способом установки значения параметра β как линейной функции (линейная форма) параметра квантования QP. Второй способ установки β является способом установки значения параметра β как экспоненциальной функции (кривой) параметра квантования QP.
В случае экспоненциальной функции, можно увеличивать изменение больше, чем при линейной функции.
Первый способ установки β: пример линейной функции
При способе HEVC параметр β выражается как линейная функция параметра квантования QP, как показано для 0≤qp≤51 в следующем выражении (3).
Поэтому, в качестве первого способа установки, а также для расширенного участка, параметр β устанавливается как линейная функция параметра квантования QP, как показано для 52 β qp≤pqmax в выражении (3).
Математическая формула 3
Здесь k и b могут регулироваться. Угол наклона k больше 0 и b может вычисляться, делая границу между существующим участком и расширенным участком непрерывной.
Кроме того, также для расширенного участка, когда расширение выполняется как прямая линия при способе HEVC, как показано в следующем выражении (4), угол наклона k=2 и b=-38.
Математическая формула 4
Позиция  А на фиг. 9 является графиком взаимосвязи между параметром β и параметром квантования QP, когда расширение выполняется как линейной функции для k=2. Позиция В на фиг. 9 является таблицей значений параметра β и параметра квантования QP, когда расширение выполняется как линейной функции для k=2. Кроме того, в таблице, приведенной на фиг. 9, участок, обведенный толстой рамкой, является участком, расширенным с помощью настоящего способа. В этом случае параметр β может принимать значения от 0 до 116 для параметра квантования QP от 0 до 77.
Кроме того, угол наклона линейной функции может изменяться. Например, для расширенного участка линейная функция, когда расширение выполняется, делая угол наклона большим, чем для прямой линии в способе HEVC, то есть, в случае угла наклона k=4 и b=-140, выражается следующим выражением (5).
Математическая формула 5
Здесь, причина того, что угол наклона k=4, состоит в том, что qp*2=qp<<1 (смещено на 1 бит влево) в случае угла наклона k=2. С другой стороны, в случае угла наклона k=4, qp*2=qp<<2 (смещено на 2 бита влево). Следовательно, вычисление посредством рассматриваемого программного обеспечения пригодно для момента монтажа. Кроме того, в случает угла наклона k=4, b=-140 устанавливается, чтобы сделать границу между существующим участком и расширенным участком непрерывной функцией.
Позиция А на фиг. 10 является графиком, показывающим взаимосвязь между параметром β и параметром квантования QP, когда расширение выполняется, делая угол наклона большим, чем у прямой линии в способе HEV, то есть, расширение выполняется как линейная функция для угла наклона k=4. Позиция В на фиг. 10 является таблицей значений параметра β и параметра квантования QP, когда расширение выполняется как линейной функции для k=4. Кроме того, в таблице, приведенной в позиции В на фиг. 10, участок, обведенный толстой рамкой, является участком, расширенным с помощью настоящего способа. В этом случае параметр β может принимать значения от 0 до 168 для параметра квантования QP от 0 до 77.
Кроме того, для расширенного участка линейная функция, когда расширение выполняется, делая угол наклона больше, чем для прямой линии в способе HEVC, то есть, в случае угла наклона k=8 и b=-344, выражается следующим выражением (6).
Математическая формула 6
Здесь, причина того, что угол наклона k=8 состоит в том, что qp*8=qp<<3 (смещено на 3 бита влево) в случае угла наклона k=8. Поэтому вычисление делается с помощью используемого программного обеспечения, которое пригодно для момента монтажа. Кроме того, в случае угла наклона k=8, b=-344 устанавливается, чтобы сделать превратить границу между существующим участком и расширенным участком в непрерывную функцию.
Кроме того, в приведенном выше объяснении примеры угла наклона k=2, 4 и 8 были описаны как наиболее подходящие примеры. Однако, пока k>0, настоящее изобретение не ограничивается углом наклона k=2, 4 и 8.
Позиция А на фиг. 11 является графиком, показывающим взаимосвязь между параметром β и параметром квантования QP, когда расширение выполняется, делая угол наклона большим, чем у прямой линии в способе HEV, то есть, расширение выполняется как линейная функция для угла наклона k=8. Позиция В на фиг. 11 является таблицей значений параметра β и параметра квантования QP, когда расширение выполняется как линейная функция для k=4. Кроме того, в таблице, приведенной в позиции В на фиг. 11, участок, обведенный толстой рамкой, является участком, расширенным с помощью настоящего способа. В этом случае параметр β может принимать значения от 0 до 255 для параметра квантования QP от 0 до 75. Кроме того, например, когда параметр квантования QP равен 76, 77 и т.п. и β больше 255, устанавливается β=255.
Второй способ установки β: пример экспоненциальной функции
max
Далее, в качестве второго способа установки β для расширенного участка, параметр β устанавливается как экспоненциальная функция параметра квантования QP, как показано для 52≤qp≤pq в следующем выражении (7).
Математическая формула 7
Здесь, экспоненциальная функция выражения (7) устанавливается, основываясь на значении параметра α в деблокирующем фильтре способа AVC выражения (1), описанного выше.
Например, в случае k=0.8, х=6, а=-13 и b=0, показанном в следующем выражении (8), коэффициент (k, х, а, b) вычисляется, используя значение, которого нет в HEVC, из числа параметров α в деблокирующем фильтре для способа AVC. Конкретно, когда QP равен 38, параметр α для AVC равен 63. Это близко к 64, которое является значением параметра β для способа HEVC, когда QP равен 51. Следовательно, для параметра β QP, равного 52 или выше, чтобы применить параметр α для способа AVC для QP, равного 39 или выше, коэффициент (k, х, а, b) вычисляется так, что граница между существующим участком и расширенным участком является непрерывной.
Математическая формула 8
Позиция А на фиг. 12 является графиком взаимосвязи между параметром β и параметром квантования QP, когда расширение выполняется как экспоненциальная функции для k=0,8, х=6, а=-13 и b=0. Позиция В на фиг. 12 является таблицей значений параметра β и параметра квантования QP, когда расширение выполняется как экспоненциальная функции для k=0,8, х=6, а=-13 и b=0. Кроме того, в таблице, приведенной в позиции В на фиг. 12, участок, обведенный толстой рамкой, является участком, расширенным с помощью настоящего способа. В этом случае параметр β может принимать значения от 0 до 255 для параметра квантования QP от 0 до 63. Кроме того, например, когда параметр квантования QP равен 64-77 и т.п. и β больше 255, устанавливается β=255.
Поскольку параметр β расширен, как описано выше, можно увеличить силу фильтрации деблокирующего фильтра.
Способ установки Тс
Параметр Тс для способа HEVC может применяться таким, как он есть. Однако, как показано в приближенном выражении, приведенном в следующем выражении (9), параметр Тс также может быть расширен как функция в способе HEVC.
Математическая формула 9
Кроме того, на практике, подобно β в способе AVC, параметр Тс оптимизируется посредством точной регулировки, основываясь на выражении (9), описанном выше.
Позиция А на фиг. 13 является графиком взаимосвязи между параметром Тс и параметром квантования QP, когда расширение выполняется, используя функцию по способу HEVC. Позиция В на фиг. 13 является таблицей значений параметра Тс и параметра квантования QP, когда расширение выполняется, используя функцию по способу HEVC. Кроме того, в таблице, приведенной в позиции В на фиг. 13, участок, обведенный толстой рамкой, является участком, расширенным с помощью настоящего способа. В этом случае параметр Тс может принимать значения от 1 до 25 для параметра квантования QP от 0 до 77.
Поскольку параметр Тс расширен, как описано выше, возможно дополнительно увеличить силу фильтрации деблокирующего фильтра.
Пример конфигурации деблокирующего фильтра
Далее будут описаны подробности деблокирующего фильтра 31а устройства кодирования изображения, показанного на фиг. 1, и деблокирующего фильтра 31b устройства декодирования изображения, показанного на фиг. 3. Кроме того, поскольку деблокирующий фильтр 31а устройства кодирования изображения, показанного на фиг. 1, и деблокирующий фильтр 31b устройства декодирования изображения, показанного на фиг. 3, в основном, имеют одну и ту же конфигурацию и порядок работы, нижеследующее объяснение будет приведено одновременно для обоих фильтров, представленных как деблокирующий фильтр 31.
Здесь только нижеследующее является различием между деблокирующими фильтрами 31а и 31b. То есть, в случае деблокирующего фильтра 31а информация включения/выключения в отношении того, использовать или не использовать деблокирующий фильтр, и каждое смещение параметров β и Тс вводятся через операционный блок (не показан). С другой стороны, в случае деблокирующего фильтра 31b, информация включения/выключения в отношении того, использовать или не использовать деблокирующий фильтр и каждое смещение параметров β и Тс, которые были кодированы устройством 11 кодирования изображения, принимаются и вводятся после декодирования декодером 62 без потерь.
На фиг. 14 представлена блок-схема примера конфигурации блока деблокирующего фильтра.
В примере, показанном на фиг. 14, деблокирующий фильтр 31 выполнен с возможностью введения блока 101 установки конфигурации и блока 102 исполнения фильтра.
Блок 101 установки конфигурации принимает, например, информацию включения/выключения, значение смещения β и значение смещения Тс, которые вводятся от операционного блока (или от декодера 62 без потерь), не показанного на схеме, и выполняет установку конфигурации в деблокирующем фильтре 31. В качестве установки конфигурации выполняются смещение деблокирующего фильтра, включение/выключение деблокирующего фильтра, отклонение границы между TU и PU, отклонение значения BS (Boundary Filtering Strength, сила фильтрации на границе) и т.п. Блок 101 установки конфигурации подает информацию установки на блок 102 исполнения фильтра.
Пиксельное значение до прохождения деблокирующего фильтра от блока 30 арифметических операций (или блока 65 арифметических операций) подается на фильтр 102 исполнения фильтра. Блок 102 исполнения фильтра вычисляет параметр квантования QP, используемый для формирования параметров, основываясь на информации, установленной блоком 101 установки конфигурации, формирует параметры β и Тс и определяет, требуется ли фильтрация и силу фильтрации. Затем блок 102 исполнения фильтра выполняет фильтрацию, основываясь на определенной силе фильтрации или на результате определения в отношении того, требуется ли фильтрация. Блок 102 исполнения фильтра подает пиксельное значение после деблокирующего фильтра на следующий далее адаптивный фильтр 41 смещения (или адаптивный фильтр 81 смещения).
Кроме того, блок 102 исполнения фильтра выполняет описанную выше обработку как на границе яркости, так и на границе цветового контраста.
Пример конфигурации блока исполнения фильтра на границе яркости
На фиг. 15 представлена блок-схема примера конфигурации блока исполнения фильтра, выполняющего фильтрацию границы яркости.
В примере, показанном на фиг. 15, блок 102 исполнения фильтра выполнен с возможностью содержания в нем блок 111 вычисления QP, блока 112 формирования β, блока 113 формирования Тс, блока 114 определения фильтрации и блока 115 фильтрации.
Пиксельное значение до деблокирующего фильтра от входного каскада вводится в блок 111а получения QP и блок фильтрации 115.
Блок 111 вычисления QP выполнен с возможностью содержания в нем блока 111а получения QP и блока 111b вычисления среднего значения QP и принимает пиксельное значение перед деблокирующим фильтром от входного каскада и вычисляет параметр QP квантования, который используется для формирования параметров β и Тс. Блок 111 вычисления QP подает вычисленный параметр QP квантования на блок 112 формирования β и блок 113 формирования Тс.
Блок 111а получения QP получает параметры квантования p_QP и q_QP для двух областей (рядом с границей), совместно использующих границу, которая должна обрабатываться, из входного пиксельного значения перед деблокирующим фильтром. Например, когда граница проходит в вертикальном направлении, получают параметр квантования p_QP области р, соседствующей с левой стороной границы, и получают параметр квантования q_QP области q, соседней с правой стороной границы. Например, когда граница проходит в вертикальном направлении, получают параметр квантования p_QP области р, соседствующей с левой стороной границы, и получают параметр квантования q_QP области q, соседствующей с правой стороной границы.
Кроме того, например, в устройстве 11 кодирования изображения параметр квантования QP, полученный от квантователя 25, сохраняется в памяти (не показана) вместе с информацией о векторе движения или информацией о режиме предсказания. Кроме того, в устройстве 51 кодирования изображения параметр квантования QP, декодированный декодером 62 без потерь, сохраняется в памяти (не показана) вместе с информацией о векторе движения или информацией о режиме предсказания. Блок 111а получения QP получает параметр квантования QP из памяти, хранящей его таким способом.
Блок 111а получения QP подает полученные параметры квантования p_QP и q_QP на блок 111b вычисления среднего значения QP.
Блок 111b вычисления среднего значения QP вычисляет среднее значение параметров квантования p_QP и q_QP от блока 111а получения QP и подает среднее значение на блок 112 формирования β и блок 113 формирования Тс в качестве параметра квантования QP, который используется для формирования параметров β и Тс.
Блок 112 формирования β формирует параметр β, соответствующий параметру квантования QP, полученному от блока 111b вычисления среднего значения QP, и подает сформированный параметр β на блок 114 определения фильтрации.
Блок 113 формирования Тс формирует параметр Тс, соответствующий параметру квантования QP, полученному от блока 111b вычисления среднего значения QP, и подает сформированный параметр Тс на блок 114 определения фильтрации.
Блок 114 определения фильтрации определяет фильтрацию, используя параметр β, полученный от блока 112 формирования β, параметр Тс, полученный от блока 113 формирования Тс и т.д. То есть, блок 114 определения фильтрации определяет, требуется ли фильтрация, используя параметр β, полученный от блока 112 формирования β, и т.п. Блок 114 определения фильтрации определяет силу фильтрации, используя параметр β, полученный от блока 112 формирования β, параметр Тс, полученный от блока 113 формирования Тс, и т.д. Блок 114 определения фильтрации подает информацию об определенной фильтрации на блок 115 фильтрации. В этом случае, параметры β и Тс также подаются на блок 115 фильтрации. Например, параметр Тс используется для ограничения в блоке 115 фильтрации.
Когда блок 114 определения фильтрации определяет, что фильтрация должны быть выполнена, блок 115 фильтрации выполняет фильтрацию на входном пиксельном значении перед деблокирующим фильтром с силой фильтрации, определенной блоком 114 определения фильтрации. Блок 115 фильтрации выводит пиксельное значение после деблокирующего фильтра на последующий каскад.
Кроме того, когда блок 114 определения фильтрации определяет, что фильтрация не должна выполняться, блок 115 фильтрации выводит входное пиксельное значение перед деблокирующим фильтром в качестве пиксельного значения после деблокирующего фильтра на последующий каскад таким, какое оно есть (без выполнения фильтрации).
Пример конфигурации блока формирования β
На фиг. 16 представлена блок-схема примера конфигурации блока формирования β.
В примере, показанном на фиг. 16, блок 112 формирования β выполнен с возможностью содержания в нем блока 121 вычисления β LUT_input, блока 122 ограничения, блока 123 формирования существующего β и блока 124 формирования расширенного β.
max
Параметр квантования QP, полученный от блока 111b вычисления среднего значения QP, подается на блок 121 вычисления β LUT_input. Значение смещения β для информации, установленной блоком 101 установки конфигурации, подается на блок 121 вычисления β LUT_input. Кроме того, значение βqp, которое является максимальным значением параметра квантования, используемого для формирования β, для информации, установленной блоком 101 установки конфигурации, подается на ограничительный блок 122.
Блок 121 вычисления β LUT_input и ограничительный блок 122 вычисляют β LUT_input, которое является значением, вводимым в блок 123 формирования существующего β и блок 124 формирования расширенного β.
То есть, блок 121 вычисления β LUT_input вычисляет βtmp, добавляя значение смещения β и параметр квантования QP, полученный от блока 111b вычисления среднего значения QP, и подает вычисленное значение βtmp на ограничительный блок 122.
max
Ограничительный блок 122 ограничивает значение βtmp, полученное блока 121 вычисления β LUT_input, в диапазоне [0, βqp] относительно значения, установленного блоком 101 установки конфигурации. Ограничительный блок 122 подает значение βtmp после ограничения на блок 123 формирования существующего β и на блок 124 формирования расширенного β в качестве β LUT_input qp.
Блок 123 формирования существующего β имеет LUT (Look Up Table, таблицу поиска) 131, определенную в способе HEVC. Когда значение β LUT_input qp от ограничительного блока 122 равно или меньше 51, блок 123 формирования существующего β вычисляет β, используя LUT 131, и подает вычисленное значение β на блок 114 определения фильтрации.
Когда значение β LUT_input qp, полученное от ограничительного блока 122, больше 51, блок 124 формирования расширенного β вычисляет расширенное β и подает вычисленное значение β на блок 114 определения фильтрации.
max
Например, как показано на фиг. 17, блок 124 формирования расширенного β выполнен с возможностью содержания блока 141 вычисления β (qp). Блок 141 вычисления β (qp) формирует β, динамически используя выражение функции (линейной функции или экспоненциальной функции), показанной точечной линией, где параметры функции устанавливаются заранее, когда вводится qp для [51, βqp].
max
В качестве первого способа установки β, блок 124 формирования расширенного β формирует β, динамически используя линейную функцию в случае 52≤qp≤pq в описанном выше выражении (3). То есть, в этом случае значение β вычисляется как линейная функция QP. Кроме того, k и b устанавливаются как параметры функции. В этом случае, k и b могут передаваться на сторону декодирования посредством синтаксиса.
max
В качестве второго способа установки β, блок 124 формирования расширенного β формирует β, динамически используя экспоненциальную функцию в случае 52≤qp≤pq в описанном выше выражении (7). То есть, в этом случае значение β вычисляется как экспоненциальная функция QP. Кроме того, k, b, х и а устанавливаются как параметры функции. В этом случае, k, b, х и а могут передаваться на сторону декодирования посредством синтаксиса.
max
Например, как показано на фиг. 18, блок 124 формирования расширенного β выполнен с возможностью содержания расширенной LUT (Look Up Table, таблица поиска) 153. Кроме того, в примере, показанном на фиг. 18, расширенная LUT 153 показана такой, чтобы содержать существующий участок LUT 131. Однако, расширенным участком является только заштрихованный участок. Расширенная LUT 153 сохраняется после того, как блок 152 вычисления β (qp), обеспечиваемый в другом компьютере 151 или т.п., принимает произвольный qp для [0, βqp] и заранее вычисляет β, используя выражение для функции (линейной функции или экспоненциальной функции), в которое установлены параметры функции.
max
Блок 124 формирования расширенного β вычисляет β, используя расширенную LUT 153, когда вводится qp для [51, βqp].
Как описано выше, при конфигурации блока 124 формирования β возможно выбрать, задавать ли расширенное β выражением для определения (выражением функции) или LUT.
Пример конфигурации блока формирования Тс
На фиг. 19 показана блок-схема примера конфигурации блока формирования Тс.
В примере, показанном на фиг. 19, блок 113 формирования Тс выполнен с возможностью содержания в нем блока 161 вычисления Tc_LUT_input, ограничительного блока 162, блока 163 формирования существующего Тс и блока 164 формирования расширенного Тс.
max
Параметр квантования QP, полученный от блока 111b вычисления среднего значения QP, подается на блок 161 вычисления Tc_LUT_input. Значение смещения Тс для информации, установленной блоком 101 установки конфигурации, подается на блок 161 вычисления Тс_LUT_input. Кроме того, значение Tc_qp, которое является максимальным значением параметра квантования, используемого для формирования Тс, для информации, установленной блоком 101 установки конфигурации, подается на ограничительный блок 162.
Блок 161 вычисления Tc_LUT_input и ограничительный блок 162 вычисляют Tc_LUT_input, которое является значением, вводимым в блок 163 формирования существующего Тс и блок 164 формирования расширенного Тс.
То есть, блок 161 вычисления Тс_LUT_input вычисляет Tctmp, добавляя значение смещения Тс и параметр квантования QP, полученный от блока 111b вычисления среднего значения QP, и подает вычисленное значение Tctmp на ограничительный блок 162.
max
Ограничительный блок 162 ограничивает значение Tctmp, полученное от блока 161 вычисления Tc_LUT_input, в диапазоне [0, Tc_qp] относительно значения, установленного блоком 101 установки конфигурации. Ограничительный блок 162 подает значение Tctmp после ограничения на блок 163 формирования существующего Тс и на блок 164 формирования расширенного Тс в качестве Тс_LUT_input qp.
Блок 163 формирования существующего Тс имеет LUT (Look Up Table, таблицу поиска) 171, определенную в способе HEVC. Когда значение Tc_LUT_input qp от ограничительного блока 162 равно или меньше 53, блок 163 формирования существующего Тс вычисляет Тс, используя LUT 171, и подает вычисленное значение Тс на блок 114 определения фильтрации.
Когда значение Tc_LUT_input qp, полученное от ограничительного блока 122, больше 53, блок 164 формирования расширенного Тс вычисляет расширенное Тс и подает вычисленное значение Тс на блок 114 определения фильтрации.
max
Например, как показано на фиг. 20, блок 164 формирования расширенного Тс выполнен с возможностью содержания в нем блока 181 вычисления Тс (qp). Блок 181 вычисления Тс (qp) формирует Тс динамически, используя описанное выше выражение (9), которое получается расширением существующей функции QP-Tc, когда вводится qp для [53, Tc_qp].
max
Например, как показано на фиг. 21, блок 164 формирования расширенного Тс выполнен с возможностью содержания расширенной LUT (Look Up Table, таблицы поиска) 193. Кроме того, в примере, показанном на фиг. 21, расширенная LUT 193 показана такой, чтобы содержать существующий участок LUT 171. Однако, расширенным участком является только заштрихованный участок. Расширенная LUT 193 сохраняется после того, как блок 192 вычисления Тс (qp), обеспечиваемый в другом компьютере 191 или т.п., принимает произвольное значение qp для [53, Tc_qp] и вычисляет Тс, используя расширенную функцию.
max
Блок 164 формирования расширенного Тс вычисляет Тс, используя расширенную LUT 193, когда вводится qp для [53, Tc_qp].
Как описано выше, при конфигурации блока 164 формирования расширенного Тс возможно выбрать, задавать ли расширенное Тс выражением для определения (выражением функции) или посредством LUT.
Пример конфигурации блока исполнения фильтра на границе цветового контраста
На фиг. представлена блок-схема примера конфигурации блока исполнения фильтра, выполняющего фильтрацию границы цветового контраста.
Блок 102 исполнения фильтра, показанный на фиг. 22, отличается от блока 102 исполнения фильтра, показанного на фиг. 15, только тем, что удалены блок 112 формирования β и блок 114 определения фильтрации. Блок 102 исполнения фильтра, показанный на фиг. 22, является таким же, как блок 102 исполнения фильтра, показанный на фиг. 15, в котором содержатся блок 111 вычисления QP, блок 113 формирования Тс и блок 115 определения фильтрации. Поскольку общие блоки повторяются, объяснение для них не приводится.
То есть в случае границы цветового контраста определение фильтрации не выполняется и блок 115 фильтрации выполняет фильтрацию, используя параметр Тс, полученный от блока 113 формирования Тс. Например, параметр Тс используется для ограничения.
Порядок работы деблокирующего фильтра
Далее, со ссылкой на блок-схему последовательности выполнения операций, приведенную на фиг. 23, будет описан процесс деблокирующей фильтрации. Кроме того, этот процесс деблокирующей фильтрации выполняется на этапе S22 на фиг. 2 и на этапе S58 на фиг. 4.
Например, информация включения/выключения, значение смещения β и значение смещения Тс вводятся через операционный блок (или декодер 62 без потерь), не показанный на схеме.
На этапе S101 блок 101 установки конфигурации устанавливает смещение (смещение β и смещение Тс) фильтра. Блок 101 установки конфигурации подает информацию об установленных смещениях на каждый из блоков 112 формирования β и блок 113 формирования Тс блока 102 исполнения фильтра.
На этапе S102 блок 101 установки конфигурации определяет, может ли использоваться деблокирующий фильтр, основываясь на информации о включении/выключении. Когда на этапе S102 определено, что деблокирующий фильтр не может использоваться, процесс деблокирующей фильтрации заканчивается.
Когда на этапе S102 определено, что деблокирующий фильтр может использоваться, процесс деблокирующей фильтрации переходит к этапу S103.
На этапе S103 блок 101 установки конфигурации определяет границу между TU и PU. На этапе S104 блок 101 установки конфигурации определяет значение BS (Boundary Filtering Strength, силу фильтрации на границе), основываясь на информации о границе между TU и PU, определенной на этапе S103, информации о режиме предсказания и т.п. Блок 101 установки конфигурации подает информацию о значении BS на блок 111 вычисления QP блока 102 исполнения фильтра.
На этапе S105 блок 102 исполнения фильтра выполняет фильтрацию границы яркости (LUMA). Хотя этот процесс будет описан позже со ссыпкой на фиг. 24, фильтрация выполняется на границе яркости посредством процесса на этапе S105.
На этапе S106 блок 102 исполнения фильтра выполняет фильтрацию границы цветового контраста (CHROMA). Хотя этот процесс будет описан позже со ссылкой на фиг. 29, фильтрация выполняется на границе цветового контраста посредством процесса на этапе S106.
На этапе S107 блок 102 исполнения фильтра определяет, все ли границы были обработаны. Когда на этапе S107 было определено, что не все границы были обработаны, процесс возвращается к этапу S105, чтобы повторить последующие процессы.
Когда на этапе S107 определено, что все границы были обработаны, процесс переходит к этапу S108.
На этапе S108 блок 101 установки конфигурации определяет, все ли CU были обработаны. Когда на этапе S108 было определено, что не все CU были обработаны, процесс возвращается к этапу S103, чтобы повторить последующие процессы.
Когда на этапе S108 определено, что все CU были обработаны, процесс деблокирующей фильтрации заканчивается.
Пример фильтрации на границе яркости
Далее, со ссылкой на блок-схему последовательности выполнения операций, приведенную на фиг. 24, будет описан процесс фильтрации границы яркости, показанный на фиг. 23.
Когда значение Bs от блока 101 установки конфигурации принято, блок 111 вычисления QP на этапе S121 определяет, является ли значение Bs больше 0. Когда на этапе S121 определено, что значение Bs не больше 0, фильтрация границы яркости заканчивается. То есть, в этом случае фильтрация на границе яркости не выполняется.
Когда на этапе S121 определено, что значение Bs не больше 0, фильтрация границы яркости заканчивается. На этапе S122 блок 111 вычисления QP принимает пиксельное значение перед деблокирующим фильтром от предыдущего каскада и вычисляет среднее значение QP двух блоков (областей), совместно использующих границу.
То есть, блок 111а получения QP получает параметры квантования p_QP и q_QP для двух областей (соседствующих с границей), которые совместно используют границу, которая должна обрабатываться, из входного пиксельного значения перед деблокирующим фильтром. Блок 111а получения QP подает полученные параметры квантования p_QP и q_QP на блок 111b вычисления среднего значения QP.
Блок 111b вычисления среднего значения QP вычисляет среднее значение параметров квантования p_QP и q_QP от блока 111а получения QP и подает среднее значение на блок 112 формирования β и блок 113 формирования Тс в качестве параметра квантования QP, который используется для формирования параметров β и Тс.
На этапе S123 блок 112 формирования β формирует β. Хотя процесс формирования β будет позже описан со ссылкой на фиг. 25, β формируется процессом на этапе S123 и подается на блок 114 определения фильтрации.
На этапе S124 блок 113 формирования Тс формирует Тс. Хотя процесс формирования Тс будет позже описан со ссылкой на фиг. 26, Тс формируется процессом на этапе S124 и подается на блок 114 определения фильтрации.
На этапе S125 блок 114 определения фильтрации определяет фильтрацию. То есть, блок 114 определения фильтрации определяет, требуется ли фильтрация, используя параметр β, полученный от блока 112 формирования β, и т.п. Блок 114 определения фильтрации определяет силу фильтрации, используя параметр β, полученный от блока 112 формирования β, параметр Тс, полученный от блока 113 формирования Тс, и т.д. Блок 114 определения фильтрации подает определенную информацию о фильтрации на блок 115 фильтрации.
На этапе S126 блок 115 фильтрации выполняет фильтрацию для входного пиксельного значения перед деблокирующим фильтром с силой фильтрации, определенной блоком 114 определения фильтрации. Блок 115 фильтрации выводит пиксельное значение после деблокирующего фильтра на последующий каскад.
Кроме того, на этапе S125, когда определено, что фильтрация не выполняется, процесс на этапе S126 пропускается. В этом случае, блок 115 фильтрации выводит входное пиксельное значение перед деблокирующим фильтром в качестве пиксельного значения после деблокирующего фильтра на последующий каскад таким, какое оно есть (без выполнения фильтрации).
Пример процесса формирования β
Далее, со ссылкой на блок-схему последовательности выполнения операций, приведенную на фиг. 25, будет описан процесс формирования β на этапе S123, показанном на фиг. 24.
Параметр квантования QP, полученный от блока 111b вычисления среднего значения QP, подается на блок 121 вычисления β LUT_input. Значение смещения β для информации, установленной блоком 101 установки конфигурации, подается на блок 121 вычисления β LUT_input.
На этапе S141 блок 121 вычисления β LUT_input вычисляет βtmp, добавляя значение смещения β и параметр квантования QP, полученный от блока 111b вычисления среднего значения QP, и подает вычисленное значение βtmp на ограничительный блок 122.
max
На этапе S142 ограничительный блок 122 ограничивает значение βtmp, полученное блока 121 вычисления β LUT_input, в диапазоне [0, βqp] относительно значения, установленного блоком 101 установки конфигурации. Хотя подробности процесса будут описаны позже со ссылкой на фиг. 26, ограничительный блок 122 подает значение βtmp после ограничения на блок 123 формирования существующего β и на блок 124 формирования расширенного β в качестве β LUT_input qp.
На этапе S143 блок 123 формирования существующего β и блок 124 формирования расширенного β определяют является ли значение qp, полученное от ограничительного блока 122, большим, чем 51. Когда на этапе S143 определено, что значение qp, полученное от ограничительного блока 122, равно или меньше 51, процесс переходит к этапу S144.
На этапе S144 блок 123 формирования существующего β вычисляет β, используя существующую LUT 131, и подает вычисленное β на блок 114 определения фильтрации.
Когда на этапе S143 определено, что значение qp, полученное от ограничительного блока 122, больше 51, процесс переходит к этапу S145.
На этапе S145 блок 124 формирования расширенного β вычисляет расширенное β и подает вычисленное β на блок 114 определения фильтрации.
Например, блок 124 вычисления расширенного β (блок 141 вычисления β (qp)) формирует β, динамически используя выражение функции (линейной функции или экспоненциальной функции), показанное точечной линией, где параметры функции устанавливаются заранее, как описано выше со ссылкой на фиг. 17.
max
Например, блок 124 формирования расширенного β вычисляет β, используя расширенную LUT 153, которая заранее сохраняется после приема произвольного qp для [0, βqp] и вычисления β, используя выражение функции (линейной функции или экспоненциальной функции), в которое устанавливаются параметры функции, как описано выше со ссылкой на фиг. 18.
Пример ограничения
Далее, со ссылкой на блок-схему последовательности выполнения операций, приведенную на фиг. 26, будет описано ограничение на этапе S142, показанном на фиг. 25.
На этапе S161 ограничительный блок 122 устанавливается β LUT_input qp=βtmp, полученное от блока 121 вычисления β LUT_input.
max
max
На этапе S162 ограничительный блок 122 определяет, больше ли значение βtmp, полученное от блока 121 вычисления β LUT_input, чем βqp. Когда на этапе S162 определено, что значение βtmp больше, чем βqp, процесс переходит к этапу S163.
max
На этапе S163 ограничительный блок 122 устанавливает β LUT_input qp=βqp и подает β LUT_input qp на блок 123 формирования существующего β и на блок 124 формирования расширенного β.
max
Когда на этапе S162 определено, что значение βtmp равно или меньше, чем βqp, процесс на этапе S163 пропускается и ограничение заканчивается. То есть, в этом случае β LUT_input qp (βtmp) подается на блок 123 формирования существующего β и на блок 124 формирования расширенного β.
Пример процесса формирования Тс
Далее, со ссылкой на блок-схему последовательности выполнения операций, приведенную на фиг. 27, будет описан процесс формирования Тс на этапе S124, показанном на фиг. 24.
Параметр квантования QP, полученный от блока 111b вычисления среднего значения QP, подается на блок 161 вычисления Tc_LUT_input. Значение смещения Тс для информации, установленной блоком 101 установки конфигурации, подается на блок 161 вычисления Tc_LUT_input.
На этапе S181 блок 161 вычисления Тс_ LUT_input вычисляет Tctmp, добавляя значение смещения Тс и параметр квантования QP, полученный от блока 111b вычисления среднего значения QP, и подает вычисленное значение Tctmp на ограничительный блок 162.
max
На этапе S182 ограничительный блок 162 ограничивает значение Tctmp, полученное от блока 161 вычисления Tc_LUT_input, в диапазоне [0, Tc_qp] относительно значения, установленного блоком 101 установки конфигурации. Хотя подробности этого процесса будут описаны позже со ссылкой на фиг. 28, ограничительный блок 162 подает значение Tctmp после ограничения на блок 163 формирования существующего Тс и на блок 164 формирования расширенного Тс в качестве Tc_LUT_input qp.
На этапе S183 блок 163 формирования существующего Тс и блок 164 формирования расширенного Тс определяют является ли значение qp, полученное от ограничительного блока 162, большим, чем 53. Когда на этапе S183 определено, что значение qp, полученное от ограничительного блока 162, равно или меньше 53, процесс переходит к этапу S184.
На этапе S184 блок 163 формирования существующего Тс вычисляет Тс, используя существующую LUT 171, и подает вычисленное Тс на блок 114 определения фильтрации.
Когда на этапе S183 определено, что значение qp, полученное от ограничительного блока 162, больше 51, процесс переходит к этапу S185.
На этапе S185 блок 164 формирования расширенного Тс вычисляет расширенное Тс и подает вычисленное Тс на блок 114 определения фильтрации.
Например, блок 164 вычисления расширенного Тс (блок 181 вычисления Тс (qp)) формирует Тс динамически, используя описанное выше выражение (9), которое получается расширением существующей функции QP-Tc, как описано выше со ссыпкой на фиг. 20.
max
Например, блок 164 формирования расширенного Тс вычисляет Тс, используя расширенную LUT 193, которая сохраняется после приема произвольного qp для [53, Tcqp], вычисляя Тс, используя расширенную функцию, как описано выше со ссылкой на фиг. 21.
Пример ограничения
Далее, со ссылкой на блок-схему последовательности выполнения операций, приведенную на фиг. 28, будет описано ограничение на этапе S182, показанном на фиг. 27.
На этапе S201 ограничительный блок 162 устанавливает Tc_LUT_input qp=Tctmp, полученное от блока 161 вычисления Tc_LUT_input.
max
max
На этапе S202 ограничительный блок 162 определяет, больше ли значение Tctmp, полученное от блока 161 вычисления Tc_LUT_input, чем Tc_qp. Когда на этапе S202 определено, что значение Tctmp больше, чем Tc_qp, процесс переходит к этапу S203.
max
На этапе S203 ограничительный блок 162 устанавливает Tc_LUT_input qp=Tc_qp и подает Tc_LUT_input qp на блок 163 формирования существующего Тс и на блок 164 формирования расширенного Тс.
max
Когда на этапе S202 определено, что значение Tctmp равно или меньше, чем Tc_qp, процесс на этапе S203 пропускается и ограничение заканчивается. То есть, в этом случае Tc_LUT_input qp (Tctmp) подается на блок 163 формирования существующего Тс и на блок 164 формирования расширенного Тс.
Пример фильтрации на границе цветового контраста
Далее, со ссылкой на блок-схему последовательности выполнения операций, приведенную на фиг. 29, на этапе S106, показанном на фиг. 23, будет описан процесс фильтрации границы цветового контраста.
Когда значение Bs от блока 101 установки конфигурации принято, блок 111 вычисления QP на этапе S221 определяет, является ли значение Bs больше 1. Когда на этапе S221 определено, что значение Bs не больше 1, фильтрация границы цветового контраста заканчивается. То есть, в этом случае фильтрация на границе цветового контраста не выполняется.
Когда на этапе S221 определено, что значение Bs больше 1, процесс переходит к этапу S222. На этапе S222 блок 111 вычисления QP принимает пиксельное значение перед деблокирующим фильтром от предыдущего каскада и вычисляет среднее значение QP двух блоков (областей), совместно использующих границу.
То есть, блок 111а получения QP получает параметры квантования p_QP и q_QP для двух областей (соседствующих с границей), которые совместно используют границу, которая должна обрабатываться, из входного пиксельного значения перед деблокирующим фильтром. Блок 111а получения QP подает полученные параметры квантования p_QP и q_QP на блок 111b вычисления среднего значения QP.
Блок 111b вычисления среднего значения QP вычисляет среднее значение параметров квантования p_QP и q_QP от блока 111а получения QP и подает среднее значение на блок 113 формирования Тс в качестве параметра квантования QP, который используется для формирования параметра Тс.
На этапе S223 блок 113 формирования Тс формирует Тс. Объяснение процесса формирования Тс приводиться не будет, поскольку, процесс формирования Тс является, главным образом, таким же, как процесс, описанный выше со ссылкой на фиг. 26, Тс формируется процессом на этапе S223 и подается на блок 115 фильтрации.
На этапе S224 блок 115 фильтрации выполняет фильтрацию для входного пиксельного значения перед деблокирующим фильтром, используя параметр Тс, сформированный блоком 113 формирования Тс и т.п. Блок 115 фильтрации выводит пиксельное значение после деблокирующего фильтра на последующий каскад.
Кроме того, в приведенном выше объяснении был описан пример выполнения расширения посредством увеличения параметров β и Тс, чтобы увеличить силу фильтрации (здесь далее также упоминается как первый способ расширения). Однако, примеры расширения параметров β и Тс не ограничиваются описанным выше первым способом расширения. Далее будет описан второй способ расширения с изменением угла наклона функции без увеличения количества параметров.
4. Второй вариант осуществления (второй способ расширения)
Пример расширения параметра β
Сначала будет описано расширение параметра β с помощью второго способа расширения. В способе HEVC, как показано следующим выражением (10), параметр β вычисляется с помощью трех выражений, соответствующих разделу QP Математическая формула 10
Во втором способе расширения угол наклона (k0, k1, k2) этих трех выражений передается на сторону декодирования посредством синтаксиса. На стороне декодирования для каждого среза таблица, представленная следующим выражением (11), обновляется, используя наклон, указанный синтаксисом на стороне кодирования.
Математическая формула 11
Кроме того, выражение (11) становится таблицей выражения (10), описанной выше, в случае k0=0, k1=1 и k2=2. k0=0, k1=1 и k2=2 являются значениями по умолчанию и значение, которое должно изменяться из числа этих значений, передается на сторону декодирования посредством синтаксиса.
На фиг. 30 представлена взаимосвязь между параметром квантования QP и параметром β в случае k0=0, k1=1 и k2=2 в выражении (11) и взаимосвязь между параметром квантования QP и параметром β (новое значение β), когда выполнено такое обновление, как k2=4.
На графике, показанном в позиции А на фиг. 30, "перед обновлением" показано точечной линией, а "после обновления k2=4" показано сплошной линией. В таблице, показанной в позиции В на фиг. 30, значения нового β после обновления, соответствующего 16≤qp≤51 после обновления, окружены толстой линией рамки. Среди них, значения нового β, соответствующие 29≤qp≤51, обновленные для k2=4, заштрихованы.
В случае примера, показанного на фиг. 30, параметр β (новое значение β) может принимать значения от 0 до 110 для параметра квантования QP от 0 до 51.
Кроме того, хотя в примере, описанном выше, β для момента времени qp=0 устанавливается на 0, β для момента времени qp=0 может иметь другие значения без ограничения до 0. Кроме того, в примере, приведенном выше, был описан пример, в котором β вычисляется посредством трех выражений, соответствующих разделу QP. Однако, количество делений выражения для β не ограничивается 3.
Кроме того, хотя в приведенном выше примере граница каждого раздела qp является непрерывной, граница каждого раздела qp может быть не непрерывной. Кроме того, хотя в описанном выше примере выражение для β выражается как линейная функция, выражение для β может также выражаться, например, как экспоненциальная функция, не ограничиваясь только этим.
В качестве способа передачи коэффициента (k0, k1, k2) на сторону декодирования может рассматриваться, например, экспоненциальный способ Голомба или кодирование с фиксированной длиной.
Пример расширения параметра Тс
Далее будет описано расширение параметра Тс с помощью второго способа расширения. Также, в случае параметра Тс второй способ расширения выполняется, главным образом, в соответствии с той же самой концепцией, что и для параметра β, описанной выше.
Однако, в случае параметра Тс, отличие от случая параметра β, в способе HEVC параметр Тс не выражается одним выражением. Кроме того, параметр Тс в способе HEVC при аппроксимации выражается следующим выражением (12).
Математическая формула 12
То есть, как показано на фиг. 31, существует небольшое отклонение (величина регулировки (Δt)) между соотношением фактического параметра квантования QP и параметром Тс и выражением (12), полученным аппроксимацией соотношения.
В позиции А на фиг. 31 выражение (12), полученное аппроксимацией соотношения между параметром квантования QP и параметром Тс, определяется точечной линией "перед регулировкой", а "после регулировки" отклонения между соотношением параметра квантования QP и параметром Тс выражение (12) определяется сплошной линией.
В позиции В на фиг. 31 показаны соотношение между параметром квантования QP и параметром Тс и величина регулировки (Δt), когда соотношение определяется выражением (12).
Соответственно, в случае параметра Тс, как показано в последующем выражении (13), аппроксимированное выражение (12) умножается на k3 и k4 и затем величина (величина регулировки Δt) отклонения от выражения (12) регулируется.
Математическая формула 13
Затем, во втором способе расширения угол наклона (k3, k4) этих двух выражений передается на сторону декодирования посредством синтаксиса. На стороне декодирования для каждого среза таблица, представленная описанным выше выражением (13), обновляется, используя угол наклона, указанный синтаксисом на стороне кодирования. Кроме того, в качестве способа передачи коэффициента (k3, k4) на сторону декодирования может рассматриваться, например, экспоненциальный способ Голомба или кодирование с фиксированной длиной. Однако, возможен любой вид кодирования.
Величина регулировки составляет ±k4 и знак изменяется в соответствии со значением qp, как показано в позиции В на фиг. 31. В позиции В на фиг. 31, когда QP равно 27-29 и 31, значение величины регулировки является положительным. Когда равно 34 и 36-42, значение величины регулировки является отрицательным. Кроме того, величина регулировки может фиксироваться как 1, показанная в позиции В на фиг. 31, например, независимо от k.
В случае k3=0 и k4=1, выражение (13) становится выражением, полученным путем добавления величины регулировки (Δt) к таблице аппроксимированного выражения, представленного описанным выше выражением (12). K3=0 и k4=1 являются значениями по умолчанию и значение, которое должно изменяться из числа этих значений, передается на сторону декодирования посредством синтаксиса.
Кроме того, хотя величина регулирования используется в выражении (13), также возможно использовать выражение (14) без величины регулирования с допущением, что существующий параметр Тс выражается описанным выше выражением (12).
Математическая формула 14
Кроме того, умножение на k0-k2 в выражении (11), описанном выше, и умножение на k3 и k4 в выражении (13) или выражении (14), описанных выше, может предпочтительно реализовываться посредством битового сдвига.
Кроме того, в соответствии со вторым способом расширения, описанным выше, смысл параметра квантования QP не меняется. Диапазон параметра квантования QP не отличается от диапазона для способа HEVC. Кроме того, возможно увеличить степень свободы установки в зависимости от того, насколько шум примешивается к потоку. Кроме того, это может быть реализовано без увеличения используемой памяти.
5. Третий вариант осуществления (третий способ расширения)
Пример расширения параметра β
Дополнительно, будет описано расширение параметра β с помощью третьего способа расширения. Смысл смещения (β_offset) параметра β в способе HEVC состоит в параметре квантования QP+β_offset. Соответственно, параметр β определяется следующим выражением (15)
Математическая формула 15
То есть, в способе HEVC, β_offset было добавлено к параметру QP и получено значение β. В отличие от этого, в третьем способе расширения, как показано в следующем выражении (16), β_offset напрямую добавляется к параметру β
Математическая формула 16
Здесь, α0 - фиксированное значение. Например, α0=0, 1, 2, 3, 4, …, и значение α0 не ограничивается. Возможно регулировать β, используя это значение α0. Кроме того, α0 может не быть фиксированным значением. Например, α0 может быть установлено на стороне кодирования и передаваться на сторону декодирования посредством синтаксиса.
Например, как описано со ссылкой на фиг. 32, в случае QP=37, β_offset=6 и α0=2, значение (=48) для β=β(37+6)=β(43), которое используется из приведенного выше выражения (15) для способа HEVC.
С другой стороны, в случае третьего способа расширения значение (48), полученное добавлением 12 к значению (=36) для β=β(37)+6*2=(3(37), используется из выражения (16), описанного выше.
Как описано выше, также возможно непосредственно расширить диапазон значения β, используя β_offset. Это делается таким же образом для параметра Тс, как будет описано ниже.
Пример расширения параметра Тс
Далее будет описано расширение параметра Тс с помощью третьего способа расширения. Смысл смещения (Tc_offset) параметра Тс для способа HEVC состоит в параметре квантования QP+Tc_offset. Соответственно, параметр Тс определяется следующим выражением (17).
Математическая формула 17
То есть, в способе HEVC, Tc_offset было добавлено к параметру квантования QP и получено значение Тс. В отличие от этого, в качестве третьего способа расширения, как показано в следующем выражении (18), Tc_offset напрямую добавляется к параметру Тс.
Математическая формула 18
Например, α1=0, 1, 2, 3, 4, …, и значение α1 не ограничивается. Используя это значение α1, можно регулировать Тс. Кроме того, α1 не ограничивается фиксированным значением и может быть установлено на стороне кодирования и передаваться на сторону декодирования посредством синтаксиса.
Например, как описано со ссылкой на фиг. 33, в случае QP=37, Tc_offset=6 и α1=1, значение (=8) для Тс=Тс(37+6)=Тс(43) используется из приведенного выше выражения (17) для способа HEVC.
С другой стороны, в случае третьего способа расширения значение (10), полученное добавлением 6 к значению (=4) для Тс=Тс(37)+6*1=Тс(37), используется согласно выражению (18), описанному выше.
Как описано выше, также возможно непосредственно расширить диапазон значения Тс, используя Tc_offset.
Кроме того, умножение на α0 в выражении (15), описанном выше, и умножение на α1 в выражении (18), описанном выше, может предпочтительно реализовываться посредством битового сдвига.
Кроме того, в соответствии с третьим способом расширения, описанным выше, смысл параметра квантования QP не меняется. Диапазон параметра квантования QP не отличается от диапазона для способа HEVC. Кроме того, он может быть реализован без увеличения используемой памяти.
Кроме того, подобно первому способу расширения, второй и третий способы расширения, описанные выше, также выполняются блоком 124 формирования расширенного β, например, показанным на фиг. 16, и блоком 164 формирования расширенного Тс, показанным на фиг. 19.
Кроме того, коэффициенты (k0-k5) во втором способе расширения, описанном выше, и коэффициенты α0 и α1 в третьем способе расширения могут передаваться на сторону декодирования в качестве заголовка, такого как, например, заголовок среза. Кроме того, коэффициенты (k0-k5) или коэффициенты α0 и α1 могут передаваться на сторону декодирования в качестве блока NAL, такого как набор параметров адаптации (APS).
Как описано выше, параметры, используемые при определении в отношении фильтра, то есть, параметры для определения силы фильтрации, расширяются так, чтобы увеличивать силу фильтрации. Поэтому, так как блочный шум может подавляться посредством увеличения силы фильтрации, существует возможность оптимизации декодированного изображения.
Кроме того, β и Тс использовались как параметры фильтра для увеличения силы фильтрации деблокирующего фильтра. Кроме того, в диапазоне параметров, соответствующих текущим условиям, имелось место, где шум исчезал. Поэтому, расширение β и Тс выполнялось для дальнейшего увеличения силы фильтрации. Аналогичные соображения могут быть применены к адаптивному фильтру смещения. То есть, также для адаптивного фильтра смещения возможно дополнительное увеличение силы фильтрации, расширяя диапазон параметров текущего стандарта.
Здесь, в первом способе расширения, описанном выше, был приведен пример расширения диапазона параметров в значениях после параметра квантования QP (0-51), являющегося вводом параметра деблокирующего фильтра в LUT. В этом случае, количество таблиц для поддержания параметра резко возрастает или затраты на вычисление новых параметров увеличиваются.
В отличие от этого, будет описан пример, в котором сила деблокирующей фильтрации может увеличиваться гораздо проще.
6. Четвертый вариант осуществления (четвертый способ расширения)
Расширение параметра β
Сначала, со ссылкой на фиг. 34, будет описан пример расширения диапазона параметра в пределах параметра квантования QP (0-51). Позиция А на фиг. 34 является графиком, показывающим взаимосвязь между параметром квантования QP и параметром β в настоящем способе. Позиция В на фиг. 34 является таблицей, показывающей взаимосвязь между параметром квантования QP и параметром β в настоящем способе. Кроме того, в позиции А на фиг. 34 точечная линия показывает предшествующий уровень техники. В таблице, приведенной в позиции В на фиг. 34, участок, обведенный толстой рамкой, является участком, расширенным с помощью настоящего способа.
Как показано внутри толстой рамки на фиг. 34, участок High (высокий) в параметре квантования QP (0-51), то есть, параметр β (β(45)-β(51)), соответствующий параметру квантования QP (45-51), расширяется путем увеличения угла наклона линейной функции, которая непосредственно устанавливает для параметра больший угол наклона. То есть, этот способ расширения β представляется следующим выражением (19).
Математическая формула 19
Кроме того, хотя здесь установлено k3=4, k3 не ограничивается 4. То есть, хотя 4 пригодна в качестве значения для k3 при рассмотрении операции сдвига, значение k3 может также равняться 3, 5, 6 и т.п.
Деблокирующий фильтр 31 в четвертом варианте осуществления является, в основном, тем же самым, что и деблокирующий фильтр 31, описанный со ссылкой на фиг. 14, за исключением конфигурации блока 112 формирования β, показанного на фиг. 15. Поэтому, здесь далее будет описан пример конфигурации блока 112 формирования β, имеющего другую конфигурацию.
Пример конфигурации блока формирования β
На фиг. 35 представлена блок-схема примера конфигурации блока формирования β.
В примере, показанном на фиг. 35, блок 112 формирования β выполнен с возможностью содержания в нем блока 121 вычисления β LUT_input, показанного на фиг. 16, и блока 251 формирования β.
Параметр квантования QP, полученный от блока 111b вычисления среднего значения QP, подается на блок 121 вычисления β LUT_input. Значение (β_offdset_div2) смещения β для информации, установленной блоком 101 установки конфигурации, подается на блок 121 вычисления β LUT_input.
Блок 121 вычисления β LUT_input вычисляет βtmp, которое является значением β LUT_input qp, вводимым в блок 251 обработки для формирования β. То есть, блок 121 вычисления β LUT_input вычисляет βtmp, добавляя значение смещения β и параметр квантования QP, полученный от блока 111b вычисления среднего значения QP, и подает вычисленное значение βtmp на блок 251 обработки для формирования β.
Блок 251 обработки для формирования β имеет βLUT (Look Up Table, таблицу поиска), основанную на автономном вычислении выражения (19). Блок 251 обработки для формирования β принимает значение βtmp, вычисленное блоком 121 вычисления β LUT_input в качестве β LUT_input qp, вычисляет β, используя βLUT (выражение (19)), и подает вычисленное значение β на блок 114 определения фильтрации.
Кроме того, процесс деблокирующего фильтра 31 в четвертом варианте осуществления является, в основном, тем же самым, что и процесс деблокирующего фильтра 31, описанный со ссылкой на фиг. 23, за исключением обработки для формирования β на этапе S123, показанном на фиг. 24.
Следовательно, со ссылкой на блок-схему последовательности выполнения операций, приведенную на фиг. 36, будет описан процесс формирования β (этап S123 на фиг. 24) который является другим процессом.
На этапе S251 блок 121 вычисления β LUT_input вычисляет βtmp=QP+β_offdset_div2*2, которое является значением β LUT_input qp, которое вводится в блок 251 обработки для формирования β, и подает вычисленное значение βtmp на блок 251 обработки для формирования β.
Кроме того, на практике значение смещения (β_offdset_div2) для β делится пополам и передается и удваивается и используется, когда на этапе S251 вычисляется β LUT_input qp.
На этапе S252 блок 251 обработки для формирования β принимает значение βtmp, вычисленное блоком 121 вычисления β LUT_input в качестве β LUT_input qp, вычисляет β, используя βLUT (выражение (19)), и подает вычисленное значение β на блок 114 определения фильтрации.
Как описано выше, сила фильтрации увеличивается, увеличивая угол наклона линейной функции β участка High в параметре квантования QP (0-51). В этом случае, сила деблокирования, когда дается смещение, может легко увеличиваться без какого угодно малого влияния на характеристики или монтаж при текущих условиях.
Кроме того, хотя в приведенном выше объяснении смещение параметра β и смещение параметра Тс передаются со стороны кодирования стороне декодирования, далее будет описан пример совместного использования сдвига параметров β и Тс.
7. Пятый вариант осуществления (первый способ передачи смещения
Пример конфигурации деблокирующего фильтра
На фиг. 37 представлена блок-схема примера конфигурации деблокирующего фильтра, когда смещения параметров β и Тс используются совместно.
В примере, показанном на фиг. 37, деблокирующий фильтр 31 выполнен с возможностью введения блока 301 установки конфигурации и блока 302 исполнения фильтра.
В отличие от деблокирующего фильтра 31, показанного на фиг. 14, в блок 301 установки конфигурации вводится значение (dblk_offset_div2) смещения деблокирующего фильтра, общего в параметрах β и Тс.
То есть блок 301 установки конфигурации принимает значение смещения деблокирующего фильтра и информацию флага DisableDeblockingFilter (запрет деблокирующего фильтра) (то есть, информацию включения/выключения), например, введенные из операционного блока (или декодера 62 без потерь), не показанного на чертеже. Блок 301 установки конфигурации выполняет установку конфигурации в деблокирующем фильтре 31, основываясь на введенной информации. То есть, в блоке 301 установки конфигурации в качестве одной из установок конфигурации устанавливается значение смещения деблокирующего фильтра как смещения β и Тс деблокирующего фильтра. Блок 301 установки конфигурации подает информацию установки на блок 302 исполнения фильтра.
Пиксельное значение до прохождения деблокирующего фильтра от блока 30 арифметических операций (или блока 65 арифметических операций) подается на фильтр 302 исполнения фильтра. Блок 302 исполнения фильтра вычисляет параметр квантования QP, используемый для формирования параметров, основываясь на информации, установленной блоком 301 установки конфигурации, такой как значение смещения деблокирующего фильтра, формирует параметры β и Тс и определяет, требуется ли фильтрация или силу фильтрации. Затем блок 302 исполнения фильтра выполняет фильтрацию, основываясь на определенной силе фильтрации или на результате определения в отношении того, требуется ли фильтрация. Блок 302 исполнения фильтра подает пиксельное значение после деблокирующего фильтра на следующий далее адаптивный фильтр 41 смещения (или адаптивный фильтр 81 смещения).
Кроме того, блок 302 исполнения фильтра выполняет описанную выше обработку как на границе яркости, так и на границе цветового контраста.
Пример конфигурации блока исполнения фильтра на границе яркости
На фиг. 38 представлена блок-схема примера конфигурации блока исполнения фильтра, выполняющего фильтрацию границы яркости.
В примере, показанном на фиг. 38, блок 302 исполнения фильтра выполнен с возможностью обеспечения в нем блок 111 вычисления QP, блока 114 определения фильтрации, блока 115 фильтрации, блока 311 формирования β и блока 312 формирования Тс.
Кроме того, блок 302 исполнения фильтра является таким же, как блок 102 исполнения фильтра, показанный на фиг. 15, в котором обеспечиваются блок 111 вычисления QP, блок 114 определения фильтрации и блок 115 фильтрации. Блок 302 исполнения фильтра отличается от блока 102 исполнения фильтра, показанного на фиг. 15 тем, что блок 112 формирования β заменяется блоком 311 формирования β и блок 113 формирования Тс заменяется блоком 312 формирования Тс.
То есть аналогично блоку 112 формирования β блок 311 формирования β формирует параметр β, соответствующий параметру квантования QP, полученному от блока 111b вычисления среднего значения QP. В этом случае, в блоке 311 формирования β значение (dblk_offset_div2) смещения деблокирующего фильтра, полученное от блока 301 установки конфигурации, используется в качестве значения смещения. Блок 311 формирования β подает сформированный параметр β на блок 114 определения фильтрации.
Аналогично блоку 113 формирования Тс блок 312 формирования Тс формирует параметр Тс, соответствующий параметру квантования QP, полученному от блока 111b вычисления среднего значения QP. В этом случае, в блоке 312 формирования Тс значение (dblk_offset_div2) смещения деблокирующего фильтра, полученное от блока 301 установки конфигурации, используется в качестве значения смещения. Блок 312 формирования Тс подает сформированный параметр Тс на блок 114 определения фильтрации.
Пример конфигурации блока формирования β
На фиг. 39 представлена блок-схема примера конфигурации блока формирования β.
В примере, показанном на фиг. 39, блок 311 формирования β выполнен с возможностью обеспечения в нем блока 321 вычисления β LUT_input и блока 322 обработки для формирования β.
Параметр квантования QP, полученный от блока 111b вычисления среднего значения QP, подается на блок 321 вычисления β LUT_input. Значение (dblk_offset_div2) смещения деблокирующего фильтра информации, установленной блоком 301 установки конфигурации, подается на блок 321 вычисления β LUT_input.
Блок 321 вычисления β LUT_input вычисляет βtmp, добавляя параметр квантования QP, полученный от блока 111b вычисления среднего значения QP, и значение смещения деблокирующего фильтра и подает вычисленное значение βtmp на блок 322 обработки для формирования β.
Блок 322 обработки для формирования β имеет, например, βLUT (Look Up Table, таблицу поиска), определенную в способе HEVC. Блок 322 обработки для формирования β принимает значение βtmp от блока 321 вычисления β LUT_input в качестве β LUT_input qp, вычисляет β, используя βLUT, и подает вычисленное значение β на блок 114 определения фильтрации.
Пример конфигурации блока формирования Тс
На фиг. 40 показана блок-схема примера конфигурации блока формирования Тс.
В примере, показанном на фиг. 40, блок 312 формирования Тс выполнен с возможностью содержания в нем блока 331 вычисления TcLUT_input и блока 332 обработки для формирования Тс.
Параметр квантования QP, полученный от блока 111b вычисления среднего значения QP, подается на блок 331 вычисления TcLUT_input. Значение (dblk_offset_div2) смещения деблокирующего фильтра информации, установленной блоком 301 установки конфигурации, подается на блок 331 вычисления TcLUT_input.
Блок 331 вычисления TcLUT_input вычисляет Tctmp, добавляя параметр квантования QP, полученный от блока 111b вычисления среднего значения QP, и значение смещения деблокирующего фильтра и подает вычисленное значение Tctmp на блок 332 обработки для формирования Тс.
Блок 332 обработки для формирования Тс имеет, например, TcLUT (Look Up Table, таблицу поиска), определенную в способе HEVC. Блок 332 обработки для формирования Тс принимает значение Tctmp от блока 331 вычисления TcLUT_input в качестве TcLUT_input qp, вычисляет Тс, используя TcLUT, и подает вычисленное значение Тс на блок 114 определения фильтрации.
Кроме того, например, в конфигурации блока исполнения фильтра, который выполняет фильтрацию границы цветового контраста, блок 113 формирования Тс в блоке 102 исполнения фильтра, описанном выше со ссылкой на фиг. 22, просто заменяется на блок 312 формирования Тс, показанный на фиг. 38. Соответственно, объяснение его работы не приводится.
Порядок работы деблокирующего фильтра
Далее, со ссылкой на блок-схему последовательности выполнения операций, приведенную на фиг. 41, будет описан процесс деблокирующей фильтрации. Кроме того, обработка на этапах S302-S308 на фиг. 41 является, в основном, такой же, как процесс на этапах S102-S108 на фиг. 23. Однако, при фильтрации каждой границы на этапах S305 и S306 процесс формирования β на этапе S123 и процесс формирования Тс на этапе S124 на фиг. 24 различаются. Поэтому подробности будут описаны позже со ссылкой на фиг. 43 и 44.
Например, информация флага DisableDeblockingFilter (то есть, информация включения/выключения) и значение смещения деблокирующего фильтра вводятся через операционный блок (или декодер 62 без потерь), не показанный на схеме.
На этапе S301 блок 301 установки конфигурации устанавливает конфигурацию фильтра. Подробности процесса установки конфигурации будут описаны позже со ссылкой на фиг. 42. Конфигурация устанавливается на этапе S301. В этом случае, информация флага DisableDeblockingFilter устанавливается и значение (dblk_offset_div2) смещения деблокирующего фильтра устанавливается.
Установленное здесь значение смещения деблокирующего фильтра используется в процессе формирования β на этапе S123 и в процессе формирования Тс на этапе S124, показанном на фиг. 24, и в процессе формирования Тс на этапе S223, показанном на фиг. 29, который описывает процесс на этапе S305.
На этапе S302 блок 301 установки конфигурации определяет, может ли использоваться деблокирующий фильтр, основываясь на информации флага DisableDeblockingFilter. Когда на этапе S302 определено, что деблокирующий фильтр не может использоваться, процесс деблокирующей фильтрации заканчивается.
Когда на этапе S302 определено, что деблокирующий фильтр может использоваться, процесс переходит к этапу S303.
На этапе S303 блок 301 установки конфигурации определяет границу между TU и PU. На этапе S304 блок 301 установки конфигурации определяет значение BS, основываясь на информации о границе между TU и PU, определенной на этапе S303, информации о режиме предсказания и т.п. Блок 301 установки конфигурации подает информацию о значении BS на блок 111 вычисления QP блока 302 исполнения фильтра.
На этапе S305 блок 302 исполнения фильтра выполняет фильтрацию границы яркости (LUMA). Хотя объяснение процесса не приводится, поскольку он был описан выше со ссылкой на фиг. 24, фильтрация выполняется на границе яркости посредством процесса на этапе S105.
На этапе S306 блок 302 исполнения фильтра выполняет фильтрацию границы цветового контраста (CHROMA). Хотя объяснение процесса не приводится, поскольку он был описан выше со ссылкой на фиг. 29, фильтрация выполняется на границе цветового контраста посредством процесса на этапе S106.
На этапе S307 блок 302 исполнения фильтра определяет, все ли границы были обработаны. Когда на этапе S307 было определено, что не все границы были обработаны, процесс возвращается к этапу S305, чтобы повторить последующие процессы.
Когда на этапе S307 определено, что все границы были обработаны, процесс переходит к этапу S108.
На этапе S308 блок 301 установки конфигурации определяет, все ли CU были обработаны. Когда на этапе S308 было определено, что не все границы были обработаны, процесс возвращается к этапу S303, чтобы повторить последующие процессы.
Когда на этапе S308 определено, что все CU были обработаны, процесс деблокирующей фильтрации заканчивается.
Процесс конфигурации фильтра
Далее, со ссылкой на блок-схему последовательности выполнения операций, приведенную на фиг. 42, будет описан процесс установки конфигурации фильтра на этапе S301, показанном на фиг. 41.
Информация флага управления деблокированием DisableDeblockingFilter (то есть, информация включения/выключения) и значение смещения деблокирующего фильтра вводятся через операционный блок (или декодер 62 без потерь), не показанный на схеме.
На этапе S321 блок 301 установки конфигурации определяет, установлена ли 1 для флага управления деблокированием. Когда на этапе S221 определено, что для флага управления деблокированием установлена 1, процесс переходит к этапу S322.
Когда для флага управления деблокированием установлена 1, флаг DisableDeblockingFilter и смещение деблокирования могут передаваться. Соответственно, на этапе S322 блок 301 установки конфигурации считывает и устанавливает флаг DisableDeblockingFilter.
На этапе S323 блок 301 установки конфигурации считывает и устанавливает значение (dblk_offset_div2) смещения деблокирующего фильтра.
С другой стороны, когда на этапе S321 определено, что для флага управления деблокированием установлен 0, процесс установки конфигурации заканчивается. То есть, когда на этапе S321 определено, для флага управления деблокированием установлен 0, флаг DisableDeblockingFilter и смещение деблокирования не передаются. Соответственно, флаг DisableDeblockingFilter и деблокирующее смещение на устанавливаются и используются значения по умолчанию.
Процесс формирования β
Далее, со ссылкой на блок-схему последовательности выполнения операций, приведенную на фиг. 43, будет описан процесс формирования β на этапе S123, показанном на фиг. 24.
Значение (dblk_offset_div2) смещения деблокирующего фильтра вводится в блок 321 вычисления β LUT_input от блока 301 установки конфигурации. На этапе S331 блок 321 вычисления β LUT_input вычисляет βtmp=QP+β_offdset_div2*2, которое является значением β LUT_input qp, которое вводится в блок 322 обработки для формирования β, и подает вычисленное значение βtmp на блок 322 обработки для формирования β.
Кроме того, подобно значению смещения β, описанному выше, на практике значение смещения (dblk_offset_div2) делится пополам и передается и удваивается и используется, когда на этапе S331 вычисляется β LUT_input qp.
На этапе S332 блок 322 обработки для формирования β принимает значение βtmp, вычисленное блоком 321 вычисления β LUT_input в качестве β LUT_input qp, вычисляет β, используя βLUT, и подает вычисленное значение Тс на блок 114 определения фильтрации.
Процесс формирования Тс
Далее, со ссылкой на блок-схему последовательности выполнения операций, приведенную на фиг. 44, будет описан процесс формирования Тс на этапе S124, показанном на фиг. 24.
Значение (dblk_offset_div2) смещения деблокирующего фильтра вводится в блок 331 вычисления TcLUT_input от блока 301 установки конфигурации. На этапе S341 блок 331 вычисления TcLUT_input вычисляет значение Tctmp=QP+dblk_offset_div2*2, являющееся значением Тс LUT_input qp, которое вводится в блок 332 обработки для формирования Тс, и подает вычисленное значение Tctmp на блок 332 обработки для формирования Тс.
Кроме того, подобно значению смещения β, описанному выше, на практике значение смещения (dblk_offset_div2) делится пополам и передается и удваивается и используется, когда на этапе S341 вычисляется Тс LUT_input qp.
На этапе S342 блок 332 обработки для формирования Тс принимает значение Tctmp, вычисленное блоком 331 вычисления TcLUT_input в качестве TcLUT_input qp, вычисляет Тс, используя TcLUT, и подает вычисленное значение β на блок 114 определения фильтрации.
Передача значения (dblk_offset_div2) смещения деблокирующего фильтра
Далее передача значения (dblk_offset_div2) смещения деблокирующего фильтра будет описана со ссылкой на фиг. 45.
В устройстве 11 кодирования изображения значение (dblk_offset_div2) смещения деблокирующего фильтра вводится в деблокирующий фильтр 31а и кодер 26 без потерь через операционный блок (не показан). Значение (dblk_offset_div2) смещения деблокирующего фильтра используется для фильтрации в деблокирующем фильтре 31а и кодируется записью SVLC (Sin VLC) в кодере 26 без потерь. Кодированное значение (dblk_offset_div2) смещения деблокирующего фильтра передается на устройство 51 декодирования изображения в качестве параметра деблокирующего фильтра.
Значение (dblk_offset_div2) смещения деблокирующего фильтра, переданное от устройства 11 кодирования изображения, декодируется, считывая SVLC (Sin VLC) в кодере 62 без потерь устройства 51 декодирования изображения, и используется для фильтрации в деблокирующем фильтре 31b.
Пример синтаксиса значения смещения деблокирующего фильтра
На фиг. 46 представлен пример синтаксиса значения смещения деблокирующего фильтра.
В примере, показанном на фиг. 46, значение (dblk_offset_div2) смещения деблокирующего фильтра описывается в операторе if флага disaeble_deblocking_filter_flag, и значение dblk_offset_div2 используется, если disaeble_deblocking_filter_flag не равен 0.
Кроме того, этот синтаксис описывается в заголовке среза и PPS (picture parameter set, набор параметров картинки).
Как описано выше, используя значение смещения, общее в параметрах β и Тс, один элемент синтаксиса может быть сокращен и сила фильтрации деблокирующего фильтра может легко управляться.
Далее будет описан пример, в котором, когда кодируются смещения параметров β и Тс, кодируются и передаются смещение параметра β и разность между смещением параметра β и смещением параметра Тс.
8. Шестой вариант осуществления (второй способ передачи смещения)
Пример конфигурации деблокирующего фильтра
На фиг. 47 представлена блок-схема примера конфигурации блока деблокирующего фильтра в устройстве кодирования изображения.
В примере, показанном на фиг. 47, деблокирующий фильтр 31а выполнен с возможностью содержания в нем блока 401 установки конфигурации и блока 302 исполнения фильтра.
Значение смещения (β_offset_div2) параметра β и значение смещения (tc_offset_div2) параметра tc вводятся в блок 401 установки конфигурации.
Блок 401 установки конфигурации принимает информацию флага DisableDeblockingFilter (то есть, информацию включения/выключения), значение смещения параметра β и значение смещения параметра tc, которые вводятся, например, из операционного блока (не показан). Блок 401 установки конфигурации выполняет установку конфигурации в деблокирующем фильтре 31а, основываясь на введенной информации. То есть в блоке 401 установки конфигурации устанавливаются значения смещения для β и tc деблокирующего фильтра. Блок 401 установки конфигурации подает информацию установки на блок 302 исполнения фильтра.
Кроме того, в этом случае блок 401 установки конфигурации формирует разностную информацию (diff_β_tc_div2) между значением смещения (β_offset_div2) параметра β и значением смещения (tc_offset_div2) параметра tc. Блок 401 установки конфигурации подает сформированную разностную информацию и значение смещения параметра β на кодер 26 без потерь.
Блок 302 исполнения фильтра является, в основном, таким же, как блок 302 исполнения фильтра, показанный на фиг. 37. Блок 302 исполнения фильтра вычисляет параметр квантования QP, используемый для формирования параметров, основываясь на информации, установленной блоком 401 установки конфигурации, таких как значение смещения деблокирующего фильтра, формирует параметры β и Тс и определяет, требуется ли фильтрация или силу фильтрации.
В этом случае, в блоке 302 исполнения фильтра, показанном на фиг. 37, используется значение (dblk_offset_div2) смещения деблокирующего фильтра. С другой стороны, в блоке 302 исполнения фильтра, показанном на фиг. 47, разница заключается в том, что используются значение смещения (β_offset_div2) параметра β и значение (tc_offset_div2) параметра tc. Поэтому, пример конфигурации блока 302 исполнения фильтра в примере на фиг. 47 и пример конфигурации каждого из блоков, образующих блок 302 исполнения фильтра, не приводится.
Кроме того, процесс деблокирующего фильтра 31а, показанный на фиг. 47, является, в основном, таким же, как процесс, описанный выше со ссылкой на фиг. 41, за исключением процесса установки конфигурации фильтра на этапе S301. Поэтому процесс установки конфигурации фильтра на этапе S301 на фиг. 41, который является другим процессом, будет описан со ссылкой на фиг. 48.
Процесс конфигурации фильтра
Далее, со ссылкой на блок-схему последовательности выполнения операций, приведенную на фиг. 48, будет описан процесс установки конфигурации фильтра на этапе S301, показанном на фиг. 41.
Информация флага управления деблокированием, информация флага DisableDeblockingFilter (то есть, информация включения/выключения) и значения смещения параметров β и tc вводятся через операционный блок (не показан).
На этапе S411 блок 401 установки конфигурации определяет, установлена ли 1 для флага управления деблокированием. Когда на этапе S411 определено, что для флага управления деблокированием установлена 1, процесс переходит к этапу S412.
Когда для флага управления деблокированием установлена 1, флаг DisableDeblockingFilter и смещение могут передаваться. Соответственно, на этапе S412 блок 401 установки конфигурации считывает и устанавливает флаг DisableDeblockingFilter.
На этапе S413 блок 401 установки конфигурации считывает и устанавливает значение смещения (dblk_offset_div2) параметра β.
На этапе S414 блок 401 установки конфигурации считывает и устанавливает значение смещения (tc_offset_div2) параметра tc.
На этапе S415 блок 401 установки конфигурации формирует значение diff_β_tc_div2, которое является разностью между значением смещения параметра β и значением смещения параметра Тс. Блок 401 установки конфигурации подает сформированную разностную информацию diff_β_tc_div2 на кодер 26 без потерь вместе со значением смещения параметра β.
С другой стороны, когда на этапе S411 определено, что для флага управления деблокированием установлен 0, процесс установки конфигурации заканчивается. То есть, когда на этапе S411 определено, что для флага управления деблокированием установлен 0, флаг DisableDeblockingFilter и смещение не передаются. Соответственно, флаг DisableDeblockingFilter и смещение не устанавливаются и используются значения по умолчанию.
Пример конфигурации деблокирующего фильтра
На фиг. 49 представлена блок-схема примера конфигурации блока деблокирующего фильтра в устройстве декодирования изображения.
В примере, показанном на фиг. 49, деблокирующий фильтр 31b выполнен с возможностью содержания в нем блока 451 установки конфигурации и блока 302 исполнения фильтра.
Значение смещения (β_offset_div2) параметра β и разностная информация (diff_β_tc_div2) между значением смещения параметра β и значением смещения параметра Тс вводятся в блок 451 установки конфигурации.
Блок 451 установки конфигурации принимает информацию флага DisableDeblockingFilter (то есть, информацию включения/выключения), значение смещения параметра β и разностную информацию, которые вводятся, например, от декодера 62 без потерь. Блок 451 установки конфигурации выполняет установку конфигурации в деблокирующем фильтре 31b, основываясь на введенной информации. То есть, в блоке 451 установки конфигурации устанавливаются значения смещения для β и tc деблокирующего фильтра. Кроме того, в этом случае значение смещения Тс вычисляется и устанавливается, добавляя разностную информацию и значение смещения β. Блок 451 установки конфигурации подает информацию установки на блок 302 исполнения фильтра.
Блок 302 исполнения фильтра является, в основном, таким же, как блок 302 исполнения фильтра, показанный на фиг. 37. Блок 302 исполнения фильтра вычисляет параметр квантования QP, используемый для формирования параметров, основываясь на информации, установленной блоком 301 установки конфигурации, такой как значение смещения деблокирующего фильтра, формирует параметры β и Тс и определяет, требуется ли фильтрация или силу фильтрации.
В этом случае, в блоке 302 исполнения фильтра, показанном на фиг. 37, используется значение (dblk_offset_div2) смещения деблокирующего фильтра. С другой стороны, в блоке 302 исполнения фильтра, показанном на фиг. 49, разница заключается в том, что используются значение смещения (β_offset_div2) параметра β и значение смещения (tc_offset_div2) параметра Тс. Поэтому, пример конфигурации блока 302 исполнения фильтра в примере на фиг. 49 и пример конфигурации каждого из блоков, образующих блок 302 исполнения фильтра, не приводятся.
Кроме того, процесс деблокирующей фильтрации деблокирующего фильтра 31b, показанного на фиг. 49, является, в основном, таким же, как процесс, описанный выше со ссылкой на фиг. 41, за исключением процесса установки конфигурации фильтра на этапе S301. Поэтому процесс установки конфигурации фильтра на этапе S301 на фиг. 41, который является другим процессом, будет описан со ссылкой на фиг. 50.
Процесс конфигурации фильтра
Далее, со ссылкой на блок-схему последовательности выполнения операций, приведенную на фиг. 50, будет описан процесс установки конфигурации фильтра на этапе S301, показанном на фиг. 41.
Информация флага управления деблокированием, информация флага DisableDeblockingFilter (то есть, информацию о включении/выключении), значение смещения (β_offset_div2) параметра β и разностная информация (diff_β_tc_div2) вводятся через декодер 62 без потерь.
На этапе S421 блок 451 установки конфигурации определяет, установлена ли 1 для флага управления деблокированием. Когда на этапе S421 определено, что для флага управления деблокированием установлена 1, процесс переходит к этапу S422.
Когда для флага управления деблокированием установлена 1, флаг DisableDeblockingFilter и смещение могут быть переданы. Соответственно, на этапе S422 блок 451 установки конфигурации считывает и устанавливает флаг DisableDeblockingFilter.
На этапе S423 блок 451 установки конфигурации считывает и устанавливает значение смещения (β_offset_div2) параметра β.
На этапе S424 блок 451 установки конфигурации вычисляет и устанавливает значение смещения (tc_offset_div2) параметра Тс путем добавления значения смещения (β_offset_div2) параметра β в разностную информацию diff_β_tc_div2.
С другой стороны, когда на этапе S421 определено, что для флага управления деблокированием установлен 0, процесс установки конфигурации заканчивается. То есть, когда на этапе S421 определено, для флага управления деблокированием установлен 0, флаг DisableDeblockingFilter и смещение не передаются. Соответственно, флаг DisableDeblockingFilter и смещение не устанавливаются и используются значения по умолчанию.
Передача значения смещения и разностной информации
Далее передача значения (β_offset_div2) смещения разностной информации (diff_β_tc_div2) будет описана со ссылкой на фиг. 51.
В устройстве 11 кодирования изображения значение смещения (β_offset_div2) для β и значение смещения (tc_offset_div2) для Тс вводятся в деблокирующий фильтр 31а через операционный блок (не показан). В деблокирующем фильтре 31а фильтрация выполняется, используя значение смещения (β_offset_div2) для β и значение смещение (tc_offset_div2) для tc.
Кроме того, в деблокирующем фильтре 31а формируется разностная информация (diff_β_tc_div2) и значение смещения (β_offset_div2) для β и разностная информация (diff_β_tc_div2) подаются на кодер 26 без потерь. Затем значение смещения (β_offset_div2) для β и разностная информация (diff_β_tc_div2) кодируются, записывая SVLC (Sin VLC) в кодер 26 без потерь, и передаются в устройство 51 декодирования изображения в качестве параметра фильтра деблокирования.
Значение смещения (β_offset_div2) для β и разностная информация (diff_β_tc_div2), переданные от устройства 11 кодирования изображения декодируются, считывая SVLC (Sin VLC) в кодере 62 без потерь устройства 51 декодирования изображения, они используются в деблокирующем фильтре 31b, и вычисляется значение смещения (tc_offset_div2) для Тс. Затем, в деблокирующем фильтре 31b значение смещения (β_offset_div2) для β и вычисленное значение смещение (tc_offset_div2) для Тс используются для фильтрации.
Кроме того, хотя выше был описан пример, в котором разностная информация между значениями смещения двух параметров формируется в блоке 401 установки конфигурации и подается в кодер 26 без потерь, разностная информация может формироваться в кодере 26 без потерь.
Пример синтаксиса значения смещения деблокирующего фильтра
На фиг. 52 представлен пример синтаксиса значения смещения деблокирующего фильтра.
В примере, показанном на фиг. 52, значение (beta_offset_div2) для смещения β и разностная информация (diff_beta_tc_div2) описываются в операторе "if (если) для disaeble_deblocking_filter_flag. Соответственно, если disaeble_deblocking_filter_flag не равен 0, используются значение (beta_offset_div2) для смещения β и разностная информация (diff_beta_tc_div2).
Кроме того, этот синтаксис описывается в заголовке среза и PPS (picture parameter set, набор параметров картинки).
Кроме того, хотя в приведенном выше объяснении смещение для β передается вместе с разностной информацией, также возможно передавать смещение Тс. В этом случае, на стороне декодирования смещение β вычисляется из разностной информации и смещения tc.
Как описано выше, вместо передачи смещений двух параметров также возможно передавать значение смещения одного из параметров и разностную информацию между смещениями одного параметра и другого параметра.
Поскольку существует корреляция между значением смещения параметра β и значением смещения параметра Тс, эти значения во многих случаях взаимно блокируются. В этом случае, поскольку разностная информация имеет малое значение, возможно уменьшить количество битов во время кодирования.
Как сказано выше, в качестве основы способа кодирования был использован способ HEVC. Однако, настоящее раскрытие этим не ограничивается и другие способы кодирования/способы декодирования содержат, по меньшей мере, деблокирующий фильтр, который может применяться в качестве внутриконтурного фильтра.
Настоящий способ может применяться к устройствам кодирования изображения и устройствам декодирования изображения, используемым для приема информации изображения (битового потока), сжатой, используя ортогональное преобразование, такое как дискретное косинусное преобразование, и компенсацию движения, как в способе HEVC, например, через медиасеть, такую как спутниковое вещание, кабельное телевидение, Интернет или мобильные телефонные устройства Настоящее раскрытие может также применяться к устройствам кодирования изображения и устройствам декодирования изображения, которые используются при обработке информации о сжатом изображении на носителе для хранения данных, таком как оптический или магнитный диск или флэш-память.
9. Седьмой вариант осуществления (устройство кодирования мультипроекционного изображения/декодирования мультипроекционного изображения)
Применения кодирования мультипроекционного изображения/декодирования мультипроекционного изображения)
Описанная выше последовательность процессов может применяться к кодированию мультипроекционного изображения и декодированию мультипроекционного изображения. На фиг. 53 показан пример способа кодирования мультипроекционного изображения.
Как показано на фиг. 53, мультипроекционное изображение содержит изображения множества проекций и изображение одной заданной проекции из множества проекций назначается в качестве изображения базовой проекции. Изображение каждой проекции, отличное от изображения базовой проекции обрабатывается как изображение небазовой проекции.
При выполнении кодирования мультипроекционного изображения, как показано на фиг. 53, параметры деблокирующего фильтра (флаг, значение смещения параметра, разностная информация и т.п.) могут устанавливаться в каждой проекции (одной и той же проекции). Кроме того, в каждой проекции (различных проекциях) также возможно совместно использовать параметры деблокирующего фильтра, установленные в других проекциях.
В это случае параметр деблокирующего фильтра, установленный в базовой проекции используется по меньшей мере в одной небазовой проекции. Альтернативно, например, параметр деблокирующего фильтра, установленный в небазовой проекции (view_id=i), используется по меньшей мере в базовой проекции или в небазовой проекции (view_id=j).
Поэтому, при деблокирующей фильтрации процесс фильтрации может применяться должным образом. То есть, возможно подавлять блочный шум.
Устройство кодирования мультипроекционного изображения
На фиг. 54 показано устройство кодирования мультипроекционного изображения, выполняющее кодирование мультипроекционного изображения, описанное выше. Как показано на фиг. 54, устройство 600 кодирования мультипроекционного изображения содержит кодеры 601 и 602 и мультиплексор 603.
Кодер 601 кодирует изображение базовой проекции, чтобы сформировать поток кодирования изображения базовой проекции. Кодер 602 кодирует изображение небазовой проекции, чтобы сформировать поток кодирования изображения небазовой проекции. Мультиплексор 603 формирует поток кодирования мультипроекционного изображения, мультиплексируя поток кодирования изображения базовой проекции, сформированный кодером 601, и поток кодирования изображения небазовой проекции, сформированный кодером 602.
Для кодеров 601 и 602 устройства 600 кодирования мультипроекционного изображения может применяться устройство 11 кодирования изображения (фиг. 1). В этом случае устройство 600 кодирования мультипроекционного изображения устанавливает и передает параметр деблокирующего фильтра, установленный кодером 600, и параметр деблокирующего фильтра, установленный кодером 602.
Кроме того, параметр деблокирующего фильтра, установленный кодером 601, как описано выше, может устанавливаться и передаваться так, чтобы совместно использоваться кодерами 601 и 602. Напротив, параметр деблокирующего фильтра, установленный вместе с кодером 602, может устанавливаться и передаваться так, чтобы совместно использоваться кодерами 601 и 602.
Устройство декодирования мультипроекционного изображения
На фиг. 55 показано устройство декодирования мультипроекционного изображения, выполняющего декодирование мультипроекционного изображения, описанного выше. Как показано на фиг. 55, устройство 610 декодирования мультипроекционного изображения содержит демультиплексор 613 и декодеры 611 и 612.
Демультиплексор 611 демультиплексирует поток кодирования мультипроекционного изображения, в котором поток кодирования изображения базовой проекции и поток кодирования изображения небазовой проекции мультиплексированы, чтобы извлечь поток кодирования изображения базовой проекции и поток кодирования изображения небазовой проекции. Декодер 612 получает изображение базовой проекции, декодируя поток кодирования изображения базовой проекции, извлеченный демультиплексором 611. Декодер 613 получает изображение базовой проекции, декодируя поток кодирования изображения базовой проекции, извлеченный демультиплексором 611.
Для декодеров 612 и 613 устройства 610 декодирования мультипроекционного изображения может применяться устройство 51 декодирования изображения (фиг. 3). В этом случае, устройство 610 декодирования мультипроекционного изображения выполняет процесс, используя параметр деблокирующего фильтра, установленный кодером 601 и декодированный декодером 612, и параметр деблокирующего фильтра, установленный кодером 602 и декодированный декодером 613.
Кроме того, параметр деблокирующего фильтра, установленный кодером 601 (или кодером 602), как описано выше, может устанавливаться и передаваться так, чтобы совместно использоваться кодерами 601 и 602. В этом случае, устройство 610 декодирования мультипроекционного изображения выполняет процесс, используя параметр деблокирующего фильтра, установленный кодером 601 (или кодером 602), и декодированный декодером 612 (или декодером 613).
10. Восьмой вариант осуществления (устройство кодирования иерархического изображения/декодирования иерархического изображения)
Применения для кодирования иерархического изображения и декодирования иерархического изображения
Описанная выше последовательность процессов может применяться для кодирования иерархического изображения и декодирования иерархического изображения. На фиг. 56 показан пример способа кодирования мультипроекционного изображения.
Как показано на фиг. 56, иерархическое изображение содержит изображения множества иерархий (разрешений) и изображение одной заданной иерархии из множества разрешений назначается в качестве изображения базового уровня. Изображение каждой иерархии, отличное от изображения базового уровня обрабатывается как изображение небазового уровня.
При выполнении кодирования иерархического изображения (пространственная масштабируемость), как показано на фиг. 56, параметр деблокирующего фильтра может устанавливаться на каждом уровне (одном и том же уровне). Кроме того, на каждом уровне (различных уровнях) также возможно совместно использовать параметры деблокирующего фильтра, установленные на других уровнях.
В это случае параметр деблокирующего фильтра, установленный на базовом уровне, используется по меньшей мере на одном небазовом уровне. Альтернативно, например, параметр деблокирующего фильтра, установленный на небазовом уровне (layer_id=i), используется по меньшей мере на базовом уровне или небазовом уровне (layer_id=j).
Поэтому, в процессе деблокирования фильтрация может применяться должным образом. То есть, можно подавлять блочный шум.
Устройство кодирования иерархического изображения
На фиг. 57 показано устройство кодирования иерархического изображения, выполняющего кодирование иерархического изображения, описанное выше. Как показано на фиг. 57, устройство 620 кодирования иерархического изображения содержит кодеры 621 и 622 и мультиплексор 623.
Кодер 621 кодирует изображение базового уровня, чтобы сформировать поток кодирования изображения базового уровня. Кодер 622 кодирует изображение небазового уровня, чтобы сформировать поток кодирования изображения небазового уровня. Мультиплексор 623 формирует поток кодирования иерархического изображения, мультиплексируя поток кодирования изображения базового уровня, сформированный кодером 621, и поток кодирования изображения небазового уровня, сформированный кодером 622.
Для кодеров 621 и 622 устройства 620 кодирования иерархического изображения может применяться устройство 11 кодирования изображения (фиг. 1). В этом случае устройство 620 кодирования иерархического изображения устанавливает и передает параметр деблокирующего фильтра, установленный кодером 621, и параметр деблокирующего фильтра, установленный кодером 602.
Кроме того, параметр деблокирующего фильтра, установленный кодером 621, как описано выше, может устанавливаться и передаваться так, чтобы совместно использоваться кодерами 621 и 622. Напротив, параметр деблокирующего фильтра, установленный кодером 622, может устанавливаться и передаваться так, чтобы совместно использоваться кодерами 621 и 622.
Устройство декодирования иерархического изображения
На фиг. 58 показано устройство декодирования иерархического изображения, выполняющее декодирование иерархического изображения, описанное выше. Как показано на фиг. 58, устройство 630 декодирования иерархического изображения содержит демультиплексор 631 и декодеры 632 и 633.
Демультиплексор 631 демультиплексирует поток кодирования иерархического изображения, в котором поток кодирования изображения базового уровня и поток кодирования изображения небазового уровня мультиплексируются, чтобы извлечь поток кодирования изображения базового уровня и поток кодирования изображения небазового уровня. Декодер 632 получает изображение базового уровня, декодируя поток кодирования изображения базового уровня, извлеченный демультиплексором 631. Декодер 633 получает изображение небазового уровня, декодируя поток кодирования изображения небазового уровня, извлеченный демультиплексором 631.
Для декодеров 632 и 633 устройства 630 декодирования иерархического изображения может применяться устройство 51 декодирования изображения (фиг. 3). В этом случае устройство 630 декодирования иерархического изображения выполняет процесс, используя параметр деблокирующего фильтра, установленный кодером 621 и декодированный декодером 632, и параметр деблокирующего фильтра, установленный кодером 622 и декодированный декодером 633.
Кроме того, параметр деблокирующего фильтра, установленный кодером 621 (или кодером 622), как описано выше, может устанавливаться и передаваться так, чтобы совместно использоваться кодерами 621 и 622. В этом случае, устройство 630 декодирования иерархического изображения выполняет процесс, используя параметр деблокирующего фильтра, установленный кодером 621 (или кодером 622), и декодированный декодером 632 (или декодером 633).
11. Девятый вариант осуществления
Пример конфигурации компьютера
Далее последовательности процессов, описанных выше, могут выполняться посредством аппаратурного обеспечения или программного обеспечения. Когда описанные выше последовательности процессов выполняются посредством программного обеспечения, программы, составляющие программное обеспечение, устанавливаются на компьютер. Заметим, что примеры с компьютером содержат компьютер, введенный в специализированное аппаратурное обеспечение, и универсальный персональный компьютер, способный исполнять различные функции, устанавливая на нем различные программы.
На фиг. 59 показана блок-схема примера конфигурации аппаратурного обеспечения компьютера, исполняющего последовательность описанных выше процессов, используя программу.
В компьютере 800 CPU (центральный процессор) 801, ROM (постоянное запоминающее устройство) 802 и RAM (оперативное запоминающее устройство) 803 соединяются друг с другом через шину 804.
Кроме того, к шине 804 присоединяется интерфейс 805 ввода-вывода. К интерфейсу 805 ввода-вывода присоединяются устройство 806 ввода, устройство 807 вывода, блок 808 запоминающего устройства, блок 809 связи и привод 810.
Устройство 806 ввода выполнено в виде клавиатуры, мыши, микрофона и т.п. Устройство 807 вывода выполнено в виде дисплея, громкоговорителя и т.п. Блок 808 запоминающего устройства содержит жесткий диск, энергонезависимую память и т.п. Блок 809 связи содержит сетевой интерфейс и т.п. Привод 810 приводит в действие съемный носитель 821, такой как магнитный диск, оптический диск, магнито-оптический диск или полупроводниковая память.
В компьютере, выполненном, как описано выше, CPU 801 загружает, например, программу, хранящуюся в блоке 808 запоминающего устройства, на RAM 803 через интерфейс 805 ввода-вывода и шину 804 и исполняет программу, выполняя, таким образом, последовательность процессов, описанных выше.
Программа, исполняемая компьютером 800 (CPU 801) может записываться на съемном носителе и обеспечиваться, например, в виде вмонтированного носителя. Кроме того, программа может предоставляться через кабельную или беспроводную среду передачи, такую как локальная сеть, Интернет, и цифровое спутниковое вещание.
В компьютере программа может устанавливаться на блоке 808 запоминающего устройства через интерфейс 805 ввода-вывода, монтируя съемный носитель 821 на приводе 810. Кроме того, программа может приниматься блоком 809 связи через кабельную или беспроводную передающую среду и устанавливаться в блоке 808 запоминающего устройства. Кроме того, программа может заранее устанавливаться в ROM 802 или в блоке 808 запоминающего устройства.
Программы, подлежащие выполнению компьютером, могут быть программами для выполнения процессов в хронологическом порядке в соответствии с последовательностью, описанной в настоящем описании, или программами для выполнения процессов параллельно или всякий раз, когда это необходимо, в ответ на запрос.
В настоящем описании этапы, описывающие программы, которые должны быть записаны на носителе записи, содержат процессы, которые должны выполняться параллельно или независимо друг от друга, если нет необходимости их выполнения в хронологическом порядке, а также процессы, которые должны выполняться в хронологическом порядке в соответствии с описанной здесь последовательностью.
В настоящем описании термин "система" относится ко всему оборудованию, содержащему более одного устройства.
Дополнительно, любая структура, описанная выше как одно устройство (или один процессор), может быть разделена на два или более устройств (или процессоров). Напротив, любая структура, описанная выше как два или более устройств (или процессоров), может быть объединена в одно устройство (или один процессор). Дополнительно, возможно, конечно, добавлять компоненты, отличные от описанных выше, к структуре любого из устройств (или к любому из процессоров). Дополнительно, некоторые компоненты устройства (или процессора) могут быть введены в структуру другого устройства (или процессора), пока структура и функция системы в целом остаются, по существу, теми же самыми. То есть, настоящий способ не ограничивается описанными выше вариантами осуществления и в них могут быть сделаны различные изменения, не отступая от объема способа.
Устройства кодирования изображения и устройства декодирования изображения, соответствующие вариантам осуществления, описанным выше, могут применяться к различным электронным устройствам, таким как передатчики и приемники в спутниковом вещании, кабельном вещании, таком как кабельное телевидение, распространение через Интернет, распространение по терминалам через сотовую сеть и т.п., записывающие устройства, выполненные с возможностью записи изображений на носителе, таком как магнитные диски и флэш-память, и устройства воспроизведения, выполненные с возможностью воспроизведения изображений с носителя для хранения данных. Ниже будут описаны четыре примера применений.
12. Применения
Первый пример: телевизионный приемник
На фиг. 60 показан пример структуры телевизионного устройства, к которому применяются описанные выше варианты осуществления. Телевизионное устройство 900 содержит антенну 901, тюнер 902, демультиплексор 903, декодер 904, блок 905 видеопроцессора, блок 906 отображения, блок 907 аудиопроцессора, громкоговоритель 908, внешний интерфейс 909, контроллер 910, интерфейс 911 пользователя и шину 912.
Тюнер 902 извлекает сигнал желаемого канала из широковещательных сигналов, принимаемых через антенну 901, и демодулирует извлеченный сигнал. Тюнер 902 затем выводит кодированный битовый поток, полученный при демодуляции на демультиплексор 903. То есть, в телевизионном устройстве 900 тюнер 903 служит в качестве передающего средства, которое принимает кодированный поток кодированных изображений.
Демультиплексор 903 выбирает видеопоток и аудиопоток программы, которая должна просматриваться, из кодированного битового потока и выводит разделенные потоки на декодер 904. Демультиплексор 903 также извлекает вспомогательные данные, такие как EPG (электронная программа передач), из кодированного битового потока и подает извлеченные данные на контроллер 910. Если кодированный битовый поток скремблирован, демультиплексор 903 может дескремблировать кодированный битовый поток.
Декодер 904 декодирует видеопоток и аудиопоток, поступающие от демультиплексора 903. Декодер 904 затем выводит видеоданные, сформированные посредством декодирования, на видеопроцессор 905. Декодер 904 затем выводит аудиоданные, сформированные посредством декодирования, на аудиопроцессор 907.
Секция 905 видеопроцессора воспроизводит видеоданные, введенные от декодера 904, и отображает видеоданные на блоке 906 дисплея. Видеопроцессор 905 может также отображать прикладной экран, подаваемый через сеть на блок 906 дисплея. Дополнительно, видеопроцессор 905 может выполнять дополнительную обработку, такую как удаление (подавление) шумов видеоданных в зависимости от настроек. Видеопроцессор 905 может дополнительно формировать изображение GUI (Graphical User Interface, графический интерфейс пользователя), такое как меню, кнопка или курсор, и накладывать сформированное изображение на выходные изображения.
Блок 906 отображения приводится в действие запускающим сигналом от видеопроцессора 905 и отображает видеоданные или изображения на видеоэкране устройства отображения (такого как жидкокристаллический дисплей, плазменный дисплей или OELD (organic electroluminescence display, органоэлектролюминесцентный дисплей, органический EL-дисплей).
Аудиопроцессор 907 выполняет процесс воспроизведения, такой как D/A-преобразование и усиление аудиоданных, поступающих от декодера 904, и выводит аудиосигнал через громкоговоритель 908. Дополнительно, аудиопроцессор 907 может выполнять дополнительную обработку, такую как удаление (подавление) шумов аудиоданных.
Внешний интерфейс 909 является интерфейсом для соединения телевизионного устройства 900 с внешним устройством или сетью. Например, видеопоток или аудиопоток, принятый через внешний интерфейс 909, может декодироваться декодером 904. То есть, внешний интерфейс 909 также служит в качестве передающего средства в телевизионном устройстве 900, которое принимает кодированный поток кодированных изображений.
Контроллер 910 содержит процессор, такой как CPU, и устройство памяти, такое как RAM и ROM. Устройство памяти хранит программы, исполняемые CPU, программные данные, данные EPG, данные, полученные через сеть, и т.п. Программы, хранящиеся в устройстве памяти, считываются и исполняются CPU, например, при включении телевизионного устройства 900. CPU управляет работой телевизионного устройства 900 в соответствии с сигналами управления, вводимыми от интерфейса 911 пользователя, например, при выполнении программ.
Интерфейс 911 пользователя соединяется с контроллером 910. Интерфейс 911 пользователя содержит кнопки и переключатели для работы пользователей с телевизионным устройством 900 и приемным блоком, например, для приема сигналов дистанционного управления. Интерфейс 911 пользователя обнаруживает выполненную пользователем операцию через эти компоненты, формирует сигнал управления и выводит сформированный сигнал управления на контроллер 910.
Шина 912 соединяет между собой тюнер 902, демультиплексор 903, декодер 904, видеопроцессор 905, аудиопроцессор 907, внешний интерфейс 909 и контроллер 910.
В телевизионном устройстве 900, построенном таким образом, декодер 904 имеет функции устройства декодирования изображения, соответствующего описанным выше вариантам осуществления. В результате, блочный шум может подавляться при декодировании изображений в телевизионном устройстве 900.
Второй пример применения: Мобильное телефонное устройство
На фиг. 61 показан пример структуры мобильного телефонного устройства, к которому применяются описанные выше варианты осуществления. Блок 920 мобильного телефонного устройства содержит антенну 921, блок 922 связи, аудиокодек 923, громкоговоритель 924, микрофон 925, блок 926 камеры, видеопроцессор 927, демультиплексор 928, блок 929 записи/воспроизведения, блок 930 отображения, контроллер 931, операционный блок 932 и тину 933.
Антенна 921 соединяется с блоком 922 связи. Громкоговоритель 924 и микрофон 925 соединяются с аудиокодеком 923. Операционный блок 932 соединяется с контроллером 931. Шина 933 соединяет друг с другом блок 922 связи, аудиокодек 923, блок 926 камеры, видеопроцессор 927, демультиплексор 928, блок 929 записи/воспроизведения, блок 930 отображения и контроллер 931.
Мобильное телефонное устройство 920 выполняет операцию, такую как передача/прием аудиосигналов, передача/прием электронной почты и данных изображения, получение изображений, запись изображений и т.п. в различных рабочих режимах, к которым относятся режим голосового вызова, режим передачи данных, режим получения изображений и режим видеотелефона.
В режиме голосового вызова аналоговые аудиосигналы, сформированные микрофоном 925, подаются на аудиокодек 923. Аудиокодек 923 преобразует аналоговый аудиосигнал в аудиоданные и выполняет A/D-преобразование преобразованных аудиоданных и сжимает аудиоданные. Затем аудиокодек 923 выводит аудиоданные после сжатия на блок 922 связи. Блок 922 связи кодирует и модулирует аудиоданные, чтобы сформировать сигнал передачи. Блок 922 связи затем передает сформированный сигнал на базовую станцию (не показана) через антенну. 921. Блок 922 связи также усиливает и выполняет преобразование частоты радиосигнала, принятого через антенну 92, чтобы получить принятый сигнал. Блок 922 связи затем демодулирует и декодирует принятый сигнал, чтобы создать аудиоданные, и выводит сформированные аудиоданные на аудиокодек 923. Аудиокодек 923 выполняет расширение и D/A-преобразование аудиоданных, чтобы сформировать аналоговый аудиосигнал. Аудиокодек 923 затем подает сформированный аудиосигнал на громкоговоритель 924 для вывода через него аудиосигнала.
В режиме передачи данных контроллер 931 формирует текстовые данные, которые, например, должны вводиться в электронную почту в соответствии с операцией пользователя и через операционный блок 932. Контроллер 931 также отображает текст на блоке 930 дисплея. Контроллер 931 также формирует данные электронной почты в ответ на команду передачи от пользователя через операционный блок 932 и выводит сформированные данные электронной почты на блок 922 связи. Блок 922 связи кодирует и модулирует данные электронной почты, чтобы сформировать сигнал передачи. Блок 922 связи затем передает сформированный сигнал на базовую станцию (не показана) через антенну. 921. Блок 922 связи также усиливает и выполняет преобразование частоты радиосигнала, принятого через антенну 92, чтобы получить принятый сигнал. Блок 922 связи затем демодулирует и декодирует принятый сигнал, чтобы восстановить данные электронной почти, и выводит восстановленные данные электронной почты на контроллер 931. Контроллер 931 отображает содержание электронной почты на блоке 930 отображения и запоминает данные электронной почты на носителе для хранения данных блока 929 записи/воспроизведения.
Блок 929 записи/воспроизведения содержит носитель для хранения считываемых/записываемых данных. Например, носитель для хранения данных может быть внутренним носителем для хранения данных, таким как RAM или флэш-память, или может быть внешним устанавливаемым носителем для хранения данных, таким как жесткий диск, магнитный диск, магнито-оптический диск, устройством памяти USB (universal serial bus, универсальная последовательная шина) или картой памяти.
В режиме получения изображения блок 926 камеры получает изображение объекта, чтобы сформировать данные изображения, и выводит сформированные данные изображения, например, на видеопроцессор 927. Видеопроцессор 927 кодирует данные изображения, введенные из блока 926 камеры, и сохраняет кодированный поток на носителе для хранения данных блока 929 записи/воспроизведения.
В режиме видеотелефона демультиплексор 928 мультиплексирует видеопоток, кодированный видеопроцессором 927, и аудиопоток, введенный от аудиокодека 923, и выводит мультиплексированный поток, например, на блок 922 связи. Блок 922 связи кодирует и модулирует поток, чтобы сформировать сигнал передачи. Блок 922 связи затем передает сформированный сигнал на базовую станцию (не показана) через антенну. 921. Блок 922 связи также усиливает и выполняет преобразование частоты радиосигнала, принятого через антенну 92, чтобы получить принятый сигнал. Сигнал передачи и принятый сигнал могут содержать кодированные битовые потоки. Блок 922 связи затем демодулирует и декодирует принятый сигнал, чтобы восстановить поток, и выводит восстановленный поток на демультиплексор 928. Демультиплексор 928 отделяет видеопоток и аудиопоток от входного потока и выводит видеопоток на видеопроцессор 927 и аудиопоток на аудиокодек 923. Видеопроцессор 927 декодирует видеопоток, чтобы сформировать видеоданные. Видеоданные подаются на блок 930 отображения и последовательности изображений отображаются блоком 930 отображения. Аудиокодек 923 выполняет расширение и D/A-преобразование аудиоданных, чтобы сформировать аналоговый аудиосигнал. Аудиокодек 923 затем подает сформированный аудиосигнал на громкоговоритель 924 для вывода через него аудиосигнала.
В мобильном телефонном устройстве 920, имеющим такую структуру, видеопроцессор 927 имеет функции устройств кодирования изображения и устройств декодирования изображения, соответствующие вариантам осуществления, описанным выше. В результате, в мобильном телефонном устройстве 920 при кодировании и декодировании изображений блочный шум может подавляться.
Третий пример применения: устройство записи/воспроизведения
На фиг. 62 показан пример структуры устройства записи/воспроизведения, к которому применяются описанные выше варианты осуществления. Устройство 940 записи/воспроизведения кодирует аудиоданные и видеоданные принятой вещательной программы и записывает кодированные данные, например, на носитель для записи. Устройство 940 записи/воспроизведения может также кодировать аудиоданные и видеоданные, полученные от другого устройства, и записывать кодированные данные, например, на носитель записи данных. Устройство 940 записи/воспроизведения также воспроизводит на мониторе и через громкоговоритель данные, записанные на носителе для записи данных, в ответ, например, на команду пользователя. В этом случае, устройство 940 записи/воспроизведения декодирует аудиоданные и видеоданные.
Устройство 940 записи/воспроизведения содержит тюнер 941, внешний интерфейс 942, кодер 943, блок 944 HDD (жесткий диск), дисковод 945, переключатель 946, декодер 947, блок 948 OSD (экранное меню), контроллер 949 и интерфейс 950 пользователя.
Тюнер 941 извлекает сигнал желаемого канала из широковещательных сигналов, принимаемых через антенну (не показана) и демодулирует извлеченный сигнал. Тюнер 941 затем выводит кодированный битовый поток, полученный при демодуляции, на переключатель 946. То есть, в устройстве 940 записи/воспроизведения тюнер 941 играет роль средства передачи.
Внешний интерфейс 942 является интерфейсом для соединения устройства 940 записи/воспроизведения с внешним устройством или сетью. Внешний интерфейс 942 может быть, например, интерфейсом IEEE1394, сетевым интерфейсом, интерфейсом USB или интерфейсом флэш-памяти. Например, видеоданные и аудиоданные, принятые через внешний интерфейс 942 вводятся на кодер 943. То есть, в устройстве 940 записи/воспроизведения внешний интерфейс 942 играет роль средства передачи.
Кодер 943 кодирует видеоданные и аудиоданные в случае, когда видеоданные и аудиоданные, введенные от внешнего интерфейса 942, не кодированы. Затем кодер 943 выводит кодированный битовый поток на переключатель 946.
HDD 944 записывает на внутреннем жестком диске кодированный битовый поток, когда данные содержания, такие как видеоданные и аудиоданные, различные программы и другие данные сжаты. Для воспроизведения видеоданных и аудиоданных HDD 944 считывает данные с жесткого диска.
Дисковод 945 записывает на носителе для записи и считывает данные с носителя для записи, установленного на нем. Носитель для записи, монтируемый на дисководе 945, может быть, например, диском DVD (таким как DVD-Video, DVD-RAM, DVD-R, DVD-RW, DVD+R или DVD+RW)) или диском Blu-ray (зарегистрированная торговая марка).
Для записи видеоданных и аудиоданных переключатель 946 выбирает кодированный битовый поток, который вводится от тюнера 941 или кодера 943, и выводит выбранный кодированный битовый поток на HDD 944 или на дисковод 945. Для воспроизведения видеоданных и аудиоданных переключатель 946 выбирает кодированный битовый поток, вводимый от HDD 944 или дисковода 945 на декодер 947.
Декодер 947 декодирует кодированный битовый поток и формирует видеоданные и аудиоданные. Затем декодер 947 выводит сформированные видеоданные на OSD 948. Кроме того, декодер 904 выводит сформированные аудиоданные на внешний громкоговоритель.
OSD 948 воспроизводит видеоданные, которые вводятся от декодера 947, и отображает видеоданные. Кроме того, OSD 948 может накладывать изображение GUI, такое как меню, кнопка или курсор, на отображаемые видеоданные.
Контроллер 949 содержит процессор, такой как CPU, и устройство памяти, такое как RAM и ROM. Устройство памяти хранит программы, исполняемые CPU, программные данные и т.п. Программы, хранящиеся в устройстве памяти, считываются и исполняются CPU, например, при включении устройства 940 записи/воспроизведения. CPU управляет работой устройства 940 записи/воспроизведения в соответствии с сигналами управления, вводимыми от интерфейса 950 пользователя, например, при выполнении программ.
Интерфейс 950 пользователя соединяется с контроллером 949. Интерфейс 950 пользователя содержит кнопки и переключатели для работы пользователей с устройством 940 записи/воспроизведения и приемный блок, например, для приема сигналов дистанционного управления. Интерфейс 950 пользователя обнаруживает выполненную пользователем операцию через эти компоненты, формирует сигнал управления и выводит сформированный сигнал управления на контроллер 949.
В устройстве 940 записи/воспроизведения, построенном таким образом, кодер 943 имеет функции устройств кодирования изображения, соответствующего описанным выше вариантам осуществления. Дополнительно, декодер 947 имеет функции устройств декодирования изображения, соответствующие описанным выше вариантам осуществления. В результате, блочный шум может подавляться при кодировании и декодировании изображений в устройстве 940 записи/воспроизведения.
Четвертый пример применения: устройство получения изображения
На фиг. 63 показан пример структуры устройства получения изображения, к которому применяются описанные выше варианты осуществления. Устройство 960 получения изображения получает изображение объекта, чтобы создать изображение, кодировать данные изображения и записывать кодированные данные изображения на носителе записи данных.
Устройство 960 получения изображения содержит оптический блок 961, блок 962 получения изображения, сигнальный процессор 963, видеопроцессор 964, блок 965 отображения, внешний интерфейс 966, устройство 967 памяти, привод 968 носителя данных, OSD 969, контроллер 970, интерфейс 971 пользователя и шину 972.
Оптический блок 961 соединяется с блоком 962 получения изображения. Блок 962 получения изображения соединяется с сигнальным процессором 963. Блок 965 дисплея соединяется с видеопроцессором 964. Интерфейс 971 пользователя соединяется с контроллером 970. Шина 972 соединяет друг с другом видеопроцессор 964, внешний интерфейс 966, устройство 967 памяти, дисковод 968 носителя данных, OSD 969 и контроллер 970.
Оптический блок 961 содержит объектив, диафрагму и т.п. Оптический блок 961 формирует оптическое изображение объекта на поверхности получения изображения блока 962 получения изображения. Блок 962 получения изображения содержит датчик изображения, такой как CCD (Charge Coupled Device, прибор с зарядовой связью) или CMOS (Complementary Metal Oxide Semiconductor, комплементарный металло-оксидный полупроводник) и преобразует оптическое изображение, полученное на поверхности получения изображения, в сигнал изображения в виде электрического сигнала, используя для этого фотоэлектрическое преобразование. Блок 962 получения изображения затем выводит сигнал изображения на сигнальный процессор 963.
Сигнальный процессор 963 выполняет различные виды обработки сигналов камеры, такие как г-образная коррекция, гамма-коррекция и коррекция цвета сигнала изображения, поданного от блока 962 получения изображения. Сигнальный процессор 963 выводит данные изображения после обработки сигнала камеры на видеопроцессор 964.
Видеопроцессор 964 кодирует данные изображения, пришедшие от сигнального процессора 963, чтобы сформировать кодированные данные. Видеопроцессор 964 затем выводит сформированные кодированные данные на внешний интерфейс 966 или на привод 968 носителя данных. Видеопроцессор 964 также декодирует кодированные данные, поступившие от внешнего интерфейса 966 или дисковода 968 носителя данных, чтобы сформировать данные изображения. Видеопроцессор 964 затем выводит сформированные данные изображения на блок 965 отображения. Видеопроцессор 964 может вывести данные изображения, пришедшие от сигнального процессора 963, на блок 965 отображения для отображения изображений. Видеопроцессор 964 может также наложить данные для отображения, полученные от OSD 969, на изображения, которые должны быть выведены на блок 965 отображения.
OSD 969 может сформировать изображение GUI, такое как меню, кнопка или курсор, и вывести сформированное изображение, например, на видеопроцессор 964.
Внешний интерфейс 966 является, например, терминалом ввода-вывода USB. Внешний интерфейс 966 соединяется, например, с устройством 960 получения изображения и принтером при печати изображения. Кроме того, если необходимо, привод соединяется с внешним интерфейсом 966. В дисководе монтируется съемный носитель, например, такой как магнитный диск или оптический диск, и программа, которая считывается со съемного носителя, может устанавливаться в устройство 960 получения изображения. Дополнительно, внешний интерфейс 966 может быть сетевым интерфейсом, соединенным с сетью, такой как LAN или Интернет. То есть, внешний интерфейс 966 в устройстве 960 получения изображения играет роль средства передачи.
Носитель записи данных, который должен монтироваться на приводе 968 носителя данных, может быть считываемым/перезаписываемым съемным носителем, таким как магнитный диск, магнито-оптический диск, оптический диск или полупроводниковая память. Альтернативно, записываемый носитель может монтироваться на дисководе 968 носителя данных фиксированным образом, образуя несъемный блок хранения данных, такой как, например, внутренний дисковод жесткого диска или SSD (твердотельный дисковод).
Контроллер 970 содержит процессор, такой как CPU, и устройство памяти, такое как RAM и ROM. Устройство памяти хранит программы, исполняемые CPU, программные данные и т.п. Программы, хранящиеся в устройстве памяти, считываются и исполняются CPU, например, при включении устройства 960 получения изображения. CPU управляет работой устройства 960 получения изображения в соответствии с сигналами управления, поступающими от интерфейса 971 пользователя, например, при выполнении программ.
Интерфейс 971 пользователя соединяется с контроллером 970. Интерфейс 971 пользователя содержит кнопки и переключатели, например, для работы пользователей с устройством 960 получения изображения. Интерфейс 971 пользователя обнаруживает выполненную пользователем операцию через эти компоненты, формирует сигнал управления и выводит сформированный сигнал управления на контроллер 970.
В устройстве 960 получения изображения, имеющим такую структуру, видеопроцессор 964 имеет функции устройств кодирования изображения и устройств декодирования изображения, соответствующие вариантам осуществления, описанным выше. В результате, в устройстве 960 получения изображения при кодировании и декодировании изображений блочный шум может подавляться.
13. Применения масштабируемого кодирования
Первая система
Далее конкретный пример использования масштабируемых кодированных данных, полученных посредством масштабируемого кодирования (иерархического кодирования), описанного выше, будет описан со ссылкой на фиг. 56-58. Например, масштабируемое кодирование используется для выбора данных, которые должны передаваться, как показано в примере на фиг. 64.
В системе 1000 передачи данных, показанной на фиг. 64, распределительный сервер 1002 считывает масштабируемые кодированные данные, хранящиеся в блоке 1001 запоминающего устройства масштабируемых кодированных данных, и распределяет масштабированные кодированные данные по оконечным устройствам, таким как персональный компьютер 104, AV-устройство 1005, планшетное устройство 1006 и мобильное телефонное устройство 1007 через сеть 1003.
В этом случае, распределительный сервер выбирает и передает кодированные данные соответствующего качества согласно возможностям оконечного устройства, среды передачи данных и т.п.Даже если распределительный сервер 1002 без необходимости передает высококачественные данные, на оконечном устройстве не обязательно получают высококачественное изображение и это может быть причиной задержки или переполнения. Кроме того, это может без нужды занимать полосу связи или может без необходимости увеличивать нагрузку на оконечное устройство. Напротив, даже если распределительный сервер 1002 без необходимости передает низкокачественные данные, может не быть возможности получать на оконечном устройстве изображение с достаточным качеством изображения. Поэтому распределительный сервер 1002 должным образом считывает и передает масштабируемые кодированные данные, которые хранятся в блоке 1001 запоминающего устройства для хранения масштабируемых кодированных данных в качестве кодированных данных должного качества, соответствующих возможностям оконечного устройства, среды передачи данных и т.п.
Например, предполагается, что блок 1001 запоминающего устройства для хранения масштабируемых кодированных данных сохраняет масштабируемые кодированные данные (BL+EL) 1011, кодированные масштабируемым способом. Масштабируемые кодированные данные (BL+EL) 1011 являются кодированными данными, содержащими как базовый уровень, так и улучшенный уровень, и данные, которые могут декодироваться для получения как изображения базового уровня, так и изображения улучшенного уровня.
Распределительный сервер 1002 выбирает должный уровень, соответствующий способности оконечного устройства, которому должны передаваться данные, среде передачи данных и т.п., и считывает данные уровня. Например, для персонального компьютера 1004 или планшетного устройства 1006 с высокой способностью обработки, распределительный сервер 1002 считывает высококачественные масштабируемые кодированные данные (BL+EL) 1011 из блока 1001 запоминающего устройства для хранения масштабируемых кодированных данных и передает их такими, какие они есть. В отличие от этого, например, для AV-устройства 1005 или мобильного телефонного устройства 1007 с низкой способностью обработки, распределительный сервер 1002 извлекает данные базового уровня из масштабируемых кодированных данных (BL+EL) 1011 и передает данные как масштабируемые кодированные данные (BL) 1012, которые являются данными того же самого содержания, что и масштабируемые кодированные данные (BL+EL) 1011, но имеют более низкое качество, чем масштабируемые кодированные данные (BL+EL) 1011.
Таким образом, используя масштабируемые кодированные данные, объем данных может легко регулироваться. Соответственно, возможно подавлять появление задержки или переполнения или возможно подавлять ненужное увеличение нагрузки оконечного устройства или среды передачи данных. Кроме того, в масштабируемых кодированных данных (BL+EL) 1011 избыточность между уровнями снижается. В этом случае возможно уменьшить объем данных по сравнению со случаем, в котором кодированные данные каждого уровня используются как индивидуальные данные. Поэтому можно более эффективно использовать область хранения блока запоминающего устройства масштабируемых кодированных данных.
Кроме того, в качестве оконечных устройств могут применяться различные устройства, от персонального компьютера 1004 до мобильного телефонного устройства 1007. Соответственно, характеристики аппаратурного обеспечения оконечного устройства различаются в зависимости от устройства. Кроме того, поскольку существуют также различные приложения, исполняемые оконечным устройством, возможности программного обеспечения также варьируются. Кроме того, поскольку сеть 1003 является средой передачи данных, можно применить кабельную или беспроводную среду, такую как Интернет, LAN (Local Area Network, локальная сеть) или любую сеть связи, в том числе и ту и другую. Соответственно варьируются возможности передачи данных. Кроме того, они могут меняться за счет других средств передачи данных и т.п.
Поэтому распределительный сервер 1001 может осуществлять связь с оконечным устройством в качестве места назначения передачи данных, прежде чем начать передачу данных, чтобы получить информацию, относящуюся к способности оконечного устройства, такую как техническая характеристика оконечного устройства или характеристика приложения (программного обеспечения), исполняемого оконечным устройством, и информацию, относящуюся к среде передачи данных, такой как доступная ширина полосы сети 1003. Затем распределительный сервер 1002 может выбрать соответствующий уровень, основываясь на полученной им информации.
Кроме того, извлечение уровня может выполняться оконечным устройством. Например, персональный компьютер 1004 может декодировать переданные масштабируемые кодированные данные (BL+EL) 1011 и может отображать изображение базового уровня или отображать изображение улучшенного уровня. Кроме того, персональный компьютер 1004 может извлечь масштабируемые кодированные данные (BL) 1012 базового уровня из переданных масштабируемых кодированных данных (BL+EL) 1011 и может сохранить масштабируемые кодированные данные (BL) 1012 или передать масштабируемые кодированные данные (BL) 1012 другому устройству или декодировать масштабируемые кодированные данные (BL) 1012 и отобразить изображение базового уровня.
Несомненно, можно использовать любое количество блоков 1001 запоминающего устройства масштабируемых кодированных данных, распределительных серверов 1002, сетей 1003 и оконечных устройств. Кроме того, хотя пример, в котором распределительный сервер 1002 передает данные оконечному устройству был описан выше, примеры использования не ограничиваются только этим. Система 1000 передачи данных может применяться к любой системе до тех пор, пока она является системой, которая выбирает и передает должный уровень, соответствующий способности оконечного устройства, среды связи и т.п., и пока она передает оконечному устройству кодированные данные, кодируемые масштабируемым способом.
Кроме того, также в системе 1000 передачи данных, показанной на фиг. 64 и описанной выше, тот же самый эффект, что и эффект, описанный выше со ссылкой на фиг. 56-58, может быть получен, применяя настоящую технологию таким же образом, что и в применениях к иерархическому кодированию и иерархическому декодированию, описанным выше со ссылкой на фиг. 56-58.
Вторая система
Например, масштабируемое кодирование используется для передачи через многочисленные среды передачи данных, как показано в примере на фиг. 65.
В системе 1100 передачи данных, показанной на фиг. 65, широковещательная станция 1101 передает масштабируемые кодированные данные (BL) 1121 базового уровня посредством наземного вещания 1111. Кроме того, широковещательная станция 1101 передает (например, пакетирует и передает) масштабируемые кодированные данные (EL) 1122 улучшенного уровня через произвольную сеть 1112, которая является кабельной или беспроводной сетью передачи данных или сетью передачи данных, содержащей и ту, и другую сета.
Оконечное устройство 1102 обладает функцией приема наземного вещания 1111, при котором широковещательная станция 1101 передает и принимает масштабируемые кодированные данные (BL) 1121 базового уровня через наземное вещание 1111. Кроме того, оконечное устройство 1102 дополнительно имеет функцию связи для осуществления связи через сеть 1112 и принимает масштабируемые кодированные данные (EL) 1122 улучшенного уровня, переданные через сеть 1112.
Оконечное устройство 1102 получает изображение базового уровня, декодируя масштабируемые кодированные данные (BL) 1121 базового уровня, полученные через наземное вещание 1111, или сохраняет масштабируемые кодированные данные (BL) 1121 или передает масштабируемые кодированные данные (BL) 1121 другому устройству, например, в ответ на команду пользователя и т.п.
Кроме того, оконечное устройство 1102 получает масштабируемые кодированные данные (BL+EL), объединяя масштабируемые кодированные данные (BL) 1121 базового уровня, полученные через наземное вещание 1111, и масштабируемые кодированные данные (EL) 1122 улучшенного уровня, полученные через сеть 1112, или получает изображение улучшенного уровня, декодируя масштабируемые кодированные данные (BL+EL), или сохраняет масштабируемые кодированные данные (BL+EL) или передает масштабируемые кодированные данные (BL+EL) другому устройству, например, в ответ на команду пользователя и т.п.
Как описано выше, масштабируемые кодированные данные могут передаваться через среду передачи данных, которая различна, например, для каждого уровня. Поэтому, поскольку возможно распределить нагрузку, можно подавить появление задержки или переполнения.
Кроме того, среда передачи данных, используемая для передачи, может выбираться для каждого уровня в зависимости от ситуации. Например, масштабируемые кодированные данные (BL) 1121 базового уровня с относительно большим объемом данных могут передаваться через среду передачи данных с широкой полосой пропускания, а масштабируемые кодированные данные (EL) 1122 улучшенного уровня с относительно малым объемом данных могут передаваться через среду передачи данных с узкой полосой пропускания. Кроме того, например, независимо от того, должна ли среда передачи данных для передачи масштабируемых кодированных данных (EL) 1122 улучшенного уровня быть сетью 1112 или наземным вещанием 1111, она может изменяться в соответствии с доступной полосой пропускания сети 1112. Несомненно, то же самое справедливо для данных любого уровня.
Посредством такого управления можно дополнительно подавлять увеличение шума в нагрузке при передаче данных.
Несомненно, количество уровней является произвольным и количество носителей передачи данных, используемых для передачи, также является произвольным. Кроме того, количество оконечных устройств 1102, являющихся местами назначения при распределении данных, также является произвольным. Кроме того, хотя вещание через широковещательную станцию 1101 было описано выше как пример, примеры использования не ограничиваются только этим. Система 1100 передачи данных может применяться в любой системе, пока она является системой, которая делит кодированные данные, которые кодируются масштабируемым способом на множество блоков с уровнем в качестве блока, и передает данные через множество линий.
Кроме того, также в системе 1100 передачи данных, показанной выше на фиг. 65, тот же самый эффект, что и эффект, описанный выше со ссылкой на фиг. 56-58, может быть получен, применяя настоящую технологию таким же способом, что и приложения в иерархическом кодировании и иерархическом декодировании, описанные выше со ссылкой на фиг. 56-58.
Третья система
Кроме того, например, масштабируемое кодирование используется для хранения кодированных данных, как это показано в примере на фиг. 66.
В системе 1200 получения изображений, показанной на фиг. 66, устройство 1201 получения изображений выполняет масштабируемое кодирование данных изображения, полученного посредством получения изображения объекта 1211, и подает результат на запоминающее устройство 1202 масштабируемых кодированных данных в качестве масштабируемых кодированных данных (BL+EL) 1221.
Запоминающее устройство 1202 масштабируемых кодированных данных сохраняет масштабируемые кодированные данные (BL+EL) 1221, поданные от устройства 1201 получения изображения с качеством, соответствующим ситуации. Например, в нормальном состоянии запоминающее устройство 1202 масштабируемых кодированных данных извлекает данные базового уровня из масштабируемых кодированных данных (BL+EL) 1221 и сохраняет данные в качестве масштабируемых кодированных данных (BL) 1222 базового уровня, имеющего малый объем данных, с низким качеством. В отличие от этого, например, в состоянии внимания, запоминающее устройство 1202 масштабируемых кодированных данных сохраняет масштабируемые кодированные данные (BL+EL) 1221, имеющие большой объем данных, поскольку они соответствуют высокому качеству.
Таким образом, запоминающее устройство 1202 масштабируемых кодированных данных может сохранять высококачественное изображение, только когда это необходимо. Поэтому, возможно подавить увеличение объема данных, в то же время подавляя снижение значения изображения за счет ухудшения качества изображения. Как результат, можно улучшить эффективность использования области хранения.
Например, предполагается, что устройством 1201 получения изображения является смотровая камера. Когда цель контроля (например, чужеродное тело) не отражается на полученном изображении (в нормальном состоянии), вероятность, что содержание полученного изображения будет несущественным, является высокой. В этом случае, приоритет отдается снижению объема данных и данные изображения (масштабируемые кодированные данные) сохраняются с низким качеством. В отличие от этого, когда цель контроля отражается на полученном изображении как объект 1211 (в состоянии просмотра), вероятность, что содержание полученного изображения будет существенным, является высокой. В этом случае, приоритет отдается снижению объема данных и данные изображения (масштабируемые кодированные данные) сохраняются с низким качеством.
Кроме того, определение нормального состояния или состояния внимания может быть выполнено путем анализа изображения, например, запоминающего устройства 1202 масштабируемых кодированных данных. Кроме того, устройство 1201 получения изображения может выполнить определение и передать результат определения на запоминающее устройство 1202 масштабируемых кодированных данных.
Кроме того, критерий нормального состояния или состояния внимания является произвольным и содержание изображения, которое должно быть критерием, является произвольным. Несомненно, условия, отличные от содержания изображения, также могут быть критерием. Например, условия могут меняться в соответствии с величиной, формой сигнала и т.п. записанного звука или могут изменяться в заданные временные интервалы или могут изменяться в ответ на внешнюю команду, такую как команда пользователя.
Кроме того, выше был описан пример переключения между двумя состояниями, нормального состояния и состояния внимания. Однако, количество состояний является произвольным и при необходимости может устанавливаться переключение между тремя и более состояниями (например, нормальное состояние, состояние внимания, состояние внимания при аварии и т.п.). Здесь, максимальное количество состояний переключения зависит от количества уровней масштабируемых кодированных данных
Кроме того, устройство 1201 получения изображений может определять количество уровней масштабируемого кодирования в соответствии с состоянием. Например, в нормальном состоянии устройство 1201 получения изображения может формировать масштабируемые кодированные данные (BL) 1222 базового уровня, имеющие малый объем данных с низким качеством, и подавать масштабируемые кодированные данные (BL) 1222 на запоминающее устройство 1202 масштабируемых кодированных данных. Кроме того, например, в состоянии внимания устройство 1201 получения изображения может формировать масштабируемые кодированные данные (BL+EL) 1221 базового уровня, имеющие большой объем данных с высоким качеством, и подавать масштабируемые кодированные данные (BL+EL) 1221 на запоминающее устройство 1202 масштабируемых кодированных данных.
Хотя выше в качестве примера была описана смотровая камера, применение этой системы 1200 получения изображения является произвольным и не ограничивается смотровой камерой.
Кроме того, также в описанной выше системе 1200 получения изображения, показанной на фиг. 66, тот же самый эффект, что и эффект, описанный выше со ссылкой на фиг. 56-58, может быть получен, применяя настоящую технологию таким же способом, как она применяется выше в иерархическом кодировании и иерархическом декодировании, описанных выше со ссылкой на фиг. 56-58.
Кроме того, в настоящем описании был представлен пример, в котором различные виды информации, такие как параметр деблокирующего фильтра и параметр адаптивного фильтра смещения, мультиплексируются в поток кодирования и передаются со стороны кодирования на сторону декодирования. Однако, способ, которым передаются фрагменты информации, не ограничивается этими примерами. Например, фрагменты информации могут передаваться или записываться как отдельные данные, связанные с кодированным битовым потоком, без мультиплексирования с кодированным битовым потоком. Заметим, что термин "связанные" означает разрешение изображениям (которые могут быть частью изображений, такими как срезы или блоки), содержащимся в битовом потоке, быть связанными с информацией об изображениях при декодировании. То есть, информация может передаваться по пути прохождения информации, который отличается от пути прохождения изображения (или битового потока). Альтернативно, информация может записываться на носителе записи, отличном от носителя записи для изображений (или битового потока) (или на другой области того же самого носителя для записи). Дополнительно, информация и изображения (или битовый поток) могут быть связаны друг с другом в любых блоках, таких как блоки из нескольких кадров, один кадр или часть кадра.
Хотя предпочтительные варианты осуществления настоящего раскрытия были описаны выше со ссылкой на сопроводительные чертежи, настоящее раскрытие не ограничивается этими примерами. Очевидно, что специалист в той области техники, к которой принадлежит настоящее раскрытие, может предложить различные варианты и модификации в рамках технической идеи, описанной в формуле изобретения, и, естественно, подразумевается, что эти варианты и модификации попадают в пределы технического объема настоящего раскрытия.
Кроме того, настоящая технология может также использовать следующие структуры.
(1) Устройство обработки изображений, содержащее: блок декодирования, формирующий изображение посредством декодирования кодированного потока; и блок фильтра, выполняющий фильтрацию фильтром, использующим параметр, полученный путем расширения диапазона параметра фильтра для фильтра таким образом, чтобы увеличивать силу фильтрации, с блочной границей изображения, формируемой блоком декодирования в качестве цели.
(2) Устройство обработки изображения по п. (1), в котором диапазон параметра фильтра расширяется, так чтобы увеличивать силу фильтрации фильтра в состоянии, совместимом с существующим диапазоном.
(3) Устройство обработки изображений по п. (1) или (2), в котором диапазон параметра фильтра регулируется так, чтобы быть непрерывным на существующем участке и на расширенном участке.
(4) Устройство обработки изображений по п. (1), в котором диапазон параметра фильтра расширяется добавлением нового параметра фильтра.
(5) Устройство обработки изображений по любому из пп. (1)-(4), в котором параметр фильтра является пороговым значением, используемым при определении, выполнять или не выполнять фильтрацию. Фильтр является деблокирующим фильтром и параметр фильтра является параметром, используемым при определении, требуется или не требуется деблокирующий фильтр, или когда определяется выбор силы фильтрации.
(7) Устройство обработки изображений по п. (6), в котором диапазон параметра фильтра расширяется в линейной форме.
(8) Устройство обработки изображений по п. (7), в котором угол наклона линейной формы является регулируемым.
(9) Устройство обработки изображений по любому из пп. (1)-(6), в котором диапазон параметра фильтра расширяется по криволинейной линии.
(10) Устройство обработки изображений по любому из пп. (1)-(5), в котором фильтр является деблокирующим фильтром и параметр фильтра является параметром, используемым при определении выбора силы фильтрации деблокирующего фильтра или используемым при ограничении, когда с помощью фильтра выполняется фильтрация.
(11) Устройство обработки изображений по любому из пп. (1)-(5), в котором блок фильтра может выполнять фильтрацию фильтром, использующим параметр, расширяемый путем обновления таблицы, используя угол наклона вычислительного выражения, которое выражает параметр фильтра, с блочной границей изображения, формируемой блоком декодирования в качестве цели.
(12) Устройство обработки изображений по любому из пп. (1)-(5), в котором блок фильтра выполняет фильтрацию фильтром, использующим параметр, расширяемый путем добавления смещения параметра фильтра к параметру фильтра, с блочной границей изображения, формируемой блоком декодирования в качестве цели.
(13) Устройство обработки изображений по любому из пп. (1)-(5), в котором параметр фильтра содержит два типа параметров, которые используют общее смещение, и дополнительно обеспечивается блок вычисления параметра, вычисляющий два типа параметров, используя общее смещение.
(14) Блок обработки изображений по любому из пп. (1)-(5), в котором параметр фильтра содержит два типа параметров и блок вычисления первого параметра, вычисляющий первый параметр фильтра, используя смещение первого параметра, и блок вычисления второго параметра, вычисляющий второй параметр фильтра, используя смещение первого параметра, разность между первым и вторым параметрами фильтра и смещение второго параметра.
(15) Устройство обработки изображений по любому из пп. (1)-(14), в котором фильтр является деблокирующим фильтром.
(16) Устройство обработки изображений по п. (1), в котором фильтр является адаптивным фильтром смещения.
(17) Устройство обработки изображений по любому из пп. (1)-(16), в котором блок декодирования декодирует кодированный поток в процессорном блоке, имеющем иерархическую структуру.
(18) Способ обработки изображений устройства обработки изображений, содержащий этапы, на которых: формируют изображение, декодируя кодированный поток; и выполняют фильтрацию фильтром, использующим параметр, полученный путем расширения диапазона параметра фильтра для управления фильтром таким образом, чтобы увеличивать силу фильтрации, с блочной границей изображения, формируемой блоком декодирования в качестве цели.
(19) Устройство обработки изображений, содержащее: блок фильтра, выполняющий фильтрацию с помощью фильтра, использующего параметр, полученный расширением диапазона параметра фильтра, для управления фильтром, так чтобы увеличивать силу фильтрации, с блочной границей локально декодированного изображения в качестве цели; блок кодирования, формирующий кодированный поток, кодируя изображение, используя изображение, подвергнутое фильтрации фильтром блока фильтра; и передающий блок, передающий кодированный поток, сформированный блоком кодирования.
(20) Способ обработки изображений устройства обработки изображений, содержащий этапы, на которых: выполняют фильтрацию фильтром, используя параметр, полученный путем расширения диапазона параметра фильтра, для управления фильтром таким образом, чтобы увеличивать силу фильтрации, с локально декодированным изображением в качестве цели; формируют кодированный поток, кодируя изображение и используя для этого изображение, подвергнутое фильтрации фильтром; и передают сформированный кодированный поток.
Перечень ссылочных позиций
11 Устройство кодирования изображения
31, 31а, 31b Деблокирующий фильтр
51 Устройство декодирования изображения
62 Декодер без потерь
101 Блок установки конфигурации
102 Блок исполнения фильтра
111 Блок вычисления QP
111а Блок получения QP
111b Блок вычисления среднего значения QP
112 Блок формирования β
113 Блок формирования Тс
114 Блок определения фильтрации
115 Блок фильтрации
121 Блок вычисления β LUT_input
122 Ограничительный блок
123 Блок формирования существующего β
124 Блок формирования расширенного β
131 LUT (таблица поиска)
141 Блок вычисления β (qp)
153 Расширенная LUT
161 Блок вычисления Tc_LUT_input
162 Ограничительный блок
163 Блок формирования существующего Тс
164 Блок формирования расширенного Тс
171 LUT (таблица поиска)
181 Блок вычисления Тс (qp)
193 Расширенная LUT
201 Блок определения фильтрации
251 Блок формирования β
301 Блок установки конфигурации
302 Блок исполнения фильтра
311 Блок формирования β
312 Блок формирования Тс
321 Блок вычисления β LUT_input
322 Блок формирования β
331 Блок вычисления Tc_LUT_input
332 Блок обработки для формирования Тс
401 Блок установки конфигурации
451 Блок установки конфигурации