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

Область техники, к которой относится изобретение
Настоящее раскрываемое изобретение относится к устройству и способу обработки изображений.
Уровень техники, предшествующий изобретению
В стандарте H.264/AVC (Усовершенствованного кодирования видеоданных), который является одной из стандартных спецификаций схем кодирования видеоданных, профили, относящиеся к Высокому профилю или более высокому, делают возможным квантование данных изображения с размерами шага квантования, которые различаются от одного компонента коэффициента ортогонального преобразования к другому. Размер шага квантования для каждого компонента коэффициента ортогонального преобразования может быть установлен на базе некоторого опорного значения шага и матрицы квантования (также именуемой как список масштабирования), определенной размером, эквивалентным порции ортогонального преобразования.
Указанное значение матрицы квантования подготавливается для каждого режима предсказания (режима внутрикадрового предсказания, режима межкадрового предсказания) и для каждого размера (4×4, 8×8) порции преобразования. Кроме того, пользователям разрешено указывать уникальную матрицу квантования, отличную от указанных значений, в наборе параметров последовательности или наборе параметров изображения. В случае, когда матрицы квантования не используются, размеры шага квантования, используемые для квантования, имеют равное значение для всех компонентов.
В стандарте HEVC (Высокоэффективного кодирования видеоданных), который стандартизируют в качестве схемы кодирования видеоданных, относящейся к следующему поколению, и который является преемником стандарта H.264/AVC, было введено понятие порций кодирования (CU-порций), соответствующих традиционным макроблокам (смотри, например, Непатентный документ 1). Диапазон размера порций кодирования указывается посредством набора значений, которые являются степенями 2, именуемых наибольшая порция кодирования (LCU-порция) и наименьшая порция кодирования (SCU-порция), в наборе параметров последовательности. Кроме того, конкретный размер порции кодирования в диапазоне, определенном наибольшей порцией кодирования и наименьшей порцией кодирования указывается с использованием split_flag (флажок_разделения).
В стандарте HEVC одна порция кодирования может быть разделена на одну или более порций ортогонального преобразования или одну или более порций преобразования (TU-порций). Применимый размер порции преобразования представляет собой любой размер из числа: 4×4, 8×8, 16×16 и 32×32.
Между тем, в целях, таких как уменьшение объема кодирования во время передачи, постоянная составляющая (также именуемая как составляющая постоянного тока) матрицы квантования (списка масштабирования) передается как данные, отличные от ее переменных составляющих (также именуемых как составляющие переменного тока). В частности, составляющая постоянного тока списка масштабирования передается как коэффициент постоянного тока (также именуемый как DC-коэффициент), отличный от коэффициентов переменного тока (также именуемых как AC-коэффициенты), которые являются переменными составляющими списка масштабирования.
Для того, чтобы уменьшить объем кодирования для коэффициента постоянного тока во время передачи, было предложено, чтобы из значения коэффициента постоянного тока вычиталась некоторая константа (например, 8), и получающееся значение (scaling_list_dc_coef_minus8 (коэффициент_постоянного_тока_списка_масштабирования_минус8) кодировалось с использованием экспоненциального кодирования Голомба (Golomb) со знаком (смотри, например, Непатентый документ 1).
Список упоминаемых документов
Непатентный документ
Непатентный документ 1: Benjamin Bross (Бенджамин Бросс), Fraunhofer HHI, Woo - Jin Han (Цу - Джин Хэн, университет Gachon), Jens - Rainer Ohm (Йене - Райнер Ом), RWTH Ахен, Gary J. Sullivan (Гари Дж. Салливан), Microsoft, Thomas Wiegand (Томас Вигланд), Fraunhofer HHI/TU Берлин, JCTVC - H1003, "High Efficiency Video Coding (HEVC) text specification draft 6" ("Проект 6 спецификации текста стандарта Высокоэффективного кодирования видеоданных (HEVC)"), Седьмое заседание Joint Collaborative Team on Video Coding (JCT-VC) (Совместной объединенной группы по кодированию видеоданных) ITU - Τ SG16 WP3 и ISO/IEC JTC1/SC29/WG11: Женева, Швейцария, 21-30 ноября 2011 года
Раскрытие изобретения
Техническая проблема
Однако существует опасность того, что способ, описанный выше, не будет обеспечивать достаточную эффективность сжатия, хотя он и облегчает процессы.
Настоящее раскрываемое изобретение было сделано ввиду вышеописанной ситуации, и цель настоящего раскрываемого изобретения заключается в том, чтобы позволить сдерживать увеличение объема кодирования для списка масштабирования.
Решение проблемы
В одном аспекте настоящего раскрываемого изобретения предлагается устройство обработки изображений, включающее в себя задающий модуль, выполненный с возможностью задавать коэффициент, расположенный в начале матрицы квантования, размер которой ограничен размером, не превышающим размер передачи, который представляет собой максимальный размер, допускаемый при передаче данных, суммируя с коэффициентом, расположенным в начале матрицы квантования, заменяющий разностный коэффициент, который представляет собой разность между заменяющим коэффициентом и коэффициентом, расположенным в начале матрицы квантования, причем заменяющий коэффициент используется для замены коэффициента, расположенного в начале подвергшейся повышающему преобразованию матрицы квантования, которая получена посредством повышающего преобразования матрицы квантования до того же самого размера, что и размер блока, который является порцией обработки, в которой выполняется деквантование; модуль повышающего преобразования, выполненный с возможностью осуществлять повышающее преобразование матрицы квантования, заданной задающим модулем, для задания подвергшейся повышающему преобразованию матрицы квантования; и модуль деквантования, выполненный с возможностью осуществлять деквантование квантованных данных, полученных посредством декодирования кодированных данных, с использованием подвергшейся повышающему преобразованию матрицы квантования, в которой коэффициент, расположенный в начале подвергшейся повышающему преобразованию матрицы квантования, заданной модулем повышающего преобразования, заменен указанным заменяющим коэффициентом.
Задающий модуль может задавать заменяющий коэффициент, суммируя разность между заменяющим коэффициентом и начальным значением, заданным для матрицы квантования, с указанным начальным значением.
Задающий модуль может задавать коэффициенты матрицы квантования, используя заменяющий разностный коэффициент и разностные коэффициенты, которые представляют собой разности между коэффициентами матрицы квантования.
Заменяющий разностный коэффициент и разностные коэффициенты, которые представляют собой разности между коэффициентами матрицы квантования, могут быть переданы совместно. Задающий модуль может задавать коэффициенты матрицы квантования, используя указанные совместно передаваемые заменяющий разностный коэффициент и разностные коэффициенты.
Заменяющий разностный коэффициент и разностные коэффициенты, которые представляют собой разности между коэффициентами матрицы квантования, могут быть кодированы. Задающий модуль может декодировать кодированный заменяющий разностный коэффициент и кодированные разностные коэффициенты.
Модуль повышающего преобразования может выполнять повышающее преобразование матрицы квантования, размер которой ограничен размером, не превышающим размер передачи, выполняя над элементами матрицы, входящими в состав матрицы квантования, процесс интерполяции по "ближайшим соседям".
Размер передачи может представлять собой размер 8×8. Модуль повышающего преобразования может выполнять повышающее преобразование матрицы квантования, имеющей размер 8×8, в матрицу квантования, имеющую размер 16×16, выполняя над элементами матрицы, входящими в состав матрицы квантования, имеющей размер 8×8, процесс интерполяции по "ближайшим соседям".
Модуль повышающего преобразования может осуществлять повышающее преобразование матрицы квантования, имеющей размер 8×8, в матрицу квантования, имеющую размер 32×32, выполняя над элементами матрицы, входящими в состав матрицы квантования, имеющей размер 8×8, процесс интерполяции по "ближайшим соседям".
Порция кодирования, которая представляет собой порцию обработки, в которой выполняется процесс декодирования, и порция преобразования, которая представляет собой порцию обработки, в которой выполняется процесс преобразования, могут иметь многоуровневую структуру. Устройство обработки изображений может дополнительно включать в себя модуль декодирования, выполненный с возможностью выполнять процесс декодирования над кодированными данными, используя порцию, имеющую многоуровневую структуру, для генерирования квантованных данных. Модуль повышающего преобразования может осуществлять повышающее преобразование матрицы квантования от размера передачи до размера порции преобразования, которая является порцией обработки, в которой выполняется деквантование.
В одном аспекте настоящего раскрываемого изобретения предлагается способ обработки изображений, включающий в себя этапы, на которых: задают коэффициент, расположенный в начале матрицы квантования, размер которой ограничен размером, не превышающим размер передачи, который представляет собой максимальный размер, допускаемый при передаче данных, суммируя с коэффициентом, расположенным в начале матрицы квантования, заменяющий разностный коэффициент, который представляет собой разность между заменяющий коэффициентом и коэффициентом, расположенным в начале матрицы квантования, причем заменяющий коэффициент используется для замены коэффициента, расположенного в начале подвергшейся повышающему преобразованию матрицы квантования, которая получена посредством повышающего преобразования матрицы квантования до того же размера, что и размер блока, который является порцией обработки, в которой выполняется деквантование; осуществляют повышающее преобразование заданной матрицы квантования для задания подвергшейся повышающему преобразованию матрицу квантования; и выполняют деквантование квантованных данных, полученных посредством декодирования кодированных данных, используя подвергшуюся повышающему преобразованию матрицу квантования, в которой коэффициент, расположенный в начале заданной подвергшейся повышающему преобразованию матрицы квантования, заменен указанным заменяющим коэффициентом.
В другом аспекте настоящего раскрываемого изобретения предлагается устройство обработки изображений, включающее в себя: задающий модуль, выполненный с возможностью задавать заменяющий разностный коэффициент, который представляет собой разность между заменяющим коэффициентом и коэффициентом, расположенным в начале матрицы квантования, размер которой ограничен размером, не превышающим размер передачи, который представляет собой максимальный размер, допускаемый при передаче данных, причем заменяющий коэффициент используется для замены коэффициента, расположенного в начале подвергшейся повышающему преобразованию матрицы квантования, которая получена посредством повышающего преобразования матрицы квантования до того же самого размера, что и размер блока, который является порцией обработки, в которой выполняется деквантование; модуль квантования, выполненный с возможностью квантовать изображение для генерирования квантованных данных; и передающий модуль, выполненный с возможностью передавать кодированные данные, полученные посредством кодирования квантованных данных, сгенерированных модулем квантования, данные заменяющего коэффициента, полученные посредством кодирования заменяющего коэффициента, и данные заменяющего разностного коэффициента, полученные посредством кодирования заменяющего разностного коэффициента, заданного задающим модулем.
Задающий модуль может задавать разность между заменяющим коэффициентом и некоторым начальным значением, заданным для матрицы квантования.
Задающий модуль может задавать разностные коэффициенты, которые представляют собой разности между коэффициентами матрицы квантования. Передающий модуль может передавать данные разностных коэффициентов, полученные посредством кодирования разностных коэффициентов, заданных задающим модулем.
Передающий модуль может совместно передавать данные заменяющего коэффициента и данные заменяющего разностного коэффициента.
Передающий модуль может передавать данные заменяющего коэффициента и данные заменяющего разностного коэффициента в порядке: данные заменяющего коэффициента и данные заменяющего разностного коэффициента.
Модуль квантования может квантовать изображение, используя матрицу квантования или подвергшуюся повышающему преобразованию матрицу квантования.
Порция кодирования, которая представляет собой порцию обработки, в которой выполняется процесс кодирования, и порция преобразования, которая представляет собой порцию обработки, в которой выполняется процесс преобразования, могут иметь многоуровневую структуру. Устройство обработки изображений может дополнительно включать в себя модуль кодирования, выполненный с возможностью кодировать квантованные данные, сгенерированные модулем квантования.
В другом аспекте настоящего раскрываемого изобретения предлагается способ обработки изображений, включающий в себя этапы, на которых: задают заменяющий разностный коэффициент, который представляет собой разность между заменяющим коэффициентом и коэффициентом, расположенным в начале матрицы квантования, размер которой ограничен размером, не превышающим размер передачи, который представляет собой максимальный размер, допускаемый при передаче данных, причем заменяющий коэффициент используется для замены коэффициента, расположенного в начале подвергшейся повышающему преобразованию матрицы квантования, которая получена посредством повышающего преобразования матрицы квантования до того же размера, что и размер блока, который является порцией обработки, в которой выполняется деквантование; выполняют квантование изображения для генерирования квантованных данных; и передают кодированные данные, полученные посредством кодирования сгенерированных квантованных данных, данные заменяющего коэффициента, полученные посредством кодирования заменяющего коэффициента, и данные заменяющего разностного коэффициента, полученные посредством кодирования заданного заменяющего разностного коэффициента.
В еще одном аспекте настоящего раскрываемого изобретения предлагается устройство обработки изображений, включающее в себя: модуль декодирования, выполненный с возможностью декодировать кодированные данные для генерирования квантованных данных; и модуль деквантования, выполненный с возможностью выполнять деквантование квантованных данных, сгенерированных модулем декодирования, используя матрицу квантования по умолчанию, имеющую тот же размер, что и размер блока, являющийся порцией обработки, в которой выполняется деквантование, когда в режиме копирования, в котором осуществляется копирование матрицы квантования, опорные данные матрицы квантования, идентифицирующие опорное место назначения матрицы квантования, совпадают с идентификационными данными матрицы квантования, идентифицирующими матрицу квантования.
Модуль деквантования может выполнять деквантование квантованных данных посредством анализа синтаксиса, семантика которого задана так, чтобы обращение к матрице квантования по умолчанию осуществлялось тогда, когда опорные данные обращения матрицы квантования совпадают с идентификационными данными матрицы квантования.
Модуль деквантования может выполнять деквантование квантованных данных посредством анализа синтаксиса, семантика которого задана так, чтобы обращение к матрице квантования по умолчанию осуществлялось тогда, когда разность между опорными данными к матрице квантования и идентификационными данными матрицы квантования равна 0.
В еще одном аспекте настоящего раскрываемого изобретения предлагается способ обработки изображений, включающий в себя этапы, на которых: декодируют кодированные данные для генерирования квантованных данных; и выполняют деквантование квантованных данных, сгенерированных при декодировании, используя матрицу квантования по умолчанию, имеющую тот же самый размер, что и размер блока, который является порцией обработки, в которой выполняется деквантование, когда в режиме копирования, в котором выполняется копирование матрицы квантования, опорные данные матрицы квантования, идентифицирующие опорное место назначения матрицы квантования, совпадают с идентификационными данными матрицы квантования, идентифицирующими матрицу квантования.
В еще одном аспекте настоящего раскрываемого изобретения предлагается устройство обработки изображений, включающее в себя: модуль кодирования, выполненный с возможностью кодировать изображение для генерирования кодированных данных; и задающий модуль, выполненный с возможностью задавать в качестве синтаксиса кодированных данных, сгенерированных модулем кодирования, синтаксис, семантика которого задана так, чтобы выполнять обращение к матрице квантования по умолчанию, имеющую тот же размер, что и размер блока, который является порцией обработки, в которой выполняется квантование, когда в режиме копирования, в котором выполняется копирование матрицы квантования, опорные данные матрицы квантования, идентифицирующие опорное место назначения матрицы квантования, совпадают с идентификационными данными матрицы квантования, идентифицирующими матрицу квантования.
В еще одном аспекте настоящего раскрываемого изобретения предлагается способ обработки изображений, включающий в себя этапы, на которых: кодируют изображение для генерирования кодированных данных; и задают, в качестве синтаксиса сгенерированных кодированных данных, синтаксис, семантика которого задана так, чтобы выполнять обращение к матрице квантования по умолчанию, имеющей тот же размер, что и размер блока, который является порцией обработки, в которой выполняется квантование, когда в режиме копирования, в котором выполняется копирование матрицы квантования, опорные данные матрицы квантования, идентифицирующие опорное место назначения матрицы квантования, совпадают с идентификационными данными матрицы квантования, идентифицирующими матрицу квантования.
В одном аспекте настоящего раскрываемого изобретения, коэффициент, расположенный в начале матрицы квантования, размер которой ограничен размером, не превышающим размер передачи, который представляет собой максимальный размер, допускаемый при передаче данных, задают посредством суммирования с коэффициентом, расположенным в начале матрицы квантования, заменяющего разностного коэффициента, который представляет собой разность между заменяющим коэффициентом и коэффициентом, расположенным в начале матрицы квантования, причем заменяющий коэффициент используется для замены коэффициента, расположенного в начале подвергшейся повышающему преобразованию матрицы квантования, которая получена посредством повышающего преобразования матрицы квантования до того же размера, что и размер блока, который является порцией обработки, в которой выполняется деквантование; заданная матрица квантования подвергается повышающему преобразованию для задания подвергшейся повышающему преобразованию матрицы квантования; и квантованные данные, полученные посредством декодирования кодированных данных, подвергаются деквантованию с использованием подвергшейся повышающему преобразованию матрицы квантования, в которой коэффициент, расположенный в начале заданной подвергшейся повышающему преобразованию матрицы квантования, заменен указанным заменяющим коэффициентом.
В другом аспекте настоящего раскрываемого изобретения, задается заменяющий разностный коэффициент, который представляет собой разность между заменяющим коэффициентом и коэффициентом, расположенным в начале матрицы квантования, размер которой ограничен размером, не превышающим размер передачи, который представляет собой максимальный размер, допускаемый при передаче данных, причем заменяющий коэффициент используется для замены коэффициента, расположенного в начале подвергшейся повышающему преобразованию матрицы квантования, которая получена посредством повышающего преобразования матрицы квантования до того же размера, что и размер блока, который является порцией обработки, в которой выполняется деквантование; изображение квантуется для генерирования квантованных данных; и кодированные данные, полученные посредством кодирования сгенерированных квантованных данных, данные заменяющего коэффициента, полученные посредством кодирования заменяющего коэффициента, и данные заменяющего разностного коэффициента, полученные посредством кодирования заданного заменяющего разностного коэффициента, передаются.
В еще одном аспекте настоящего раскрываемого изобретения, кодированные данные декодируются для генерирования квантованных данных; и квантованные данные, сгенерированные при декодировании, подвергаются деквантованию с использованием матрицы квантования по умолчанию, имеющей тот же размер, что и размер блока, который является порцией обработки, в которой выполняется деквантование, когда в режиме копирования, в котором осуществляется копирование матрицы квантования, опорные данные матрицы квантования, идентифицирующие опорное место назначения матрицы квантования, совпадают с идентификационными данными матрицы квантования, идентифицирующими матрицу квантования.
В еще одном аспекте настоящего раскрываемого изобретения изображение кодируется для генерирования кодированных данных; и в качестве синтаксиса сгенерированных кодированных данных задается синтаксис, семантика которого задана так, чтобы обращение осуществлялось к матрице квантования по умолчанию, имеющей тот же размер, что и размер блока, который является порцией обработки, в которой выполняется квантование, когда в режиме копирования, в котором выполняется копирование матрицы квантования, опорные данные матрицы квантования, идентифицирующие опорное место назначения матрицы квантования, совпадают с идентификационными данными матрицы квантования, идентифицирующими матрицу квантования.
Полезные результаты изобретения
В соответствии с настоящим раскрываемым изобретением имеется возможность обрабатывать изображение. В частности, имеется возможность сдерживать увеличение объема кодирования матрицы квантования.
Краткое описание чертежей
Фиг. 1 представляет собой схему, на которой проиллюстрирован пример списка масштабирования.
Фиг. 2 представляет собой схему, на которой проиллюстрирован пример повышающего преобразования.
Фиг. 3 представляет собой схему, на которой проиллюстрирован пример того, каким образом список масштабирования используется в декодере.
Фиг. 4 представляет собой схему, на которой проиллюстрирован пример кодирования списка масштабирования.
Фиг. 5 представляет собой схему, на которой проиллюстрирован пример кодирования списка масштабирования с использованием настоящей технологии.
Фиг. 6 представляет собой схему, на которой проиллюстрирован пример экспоненциальных кодов Голомба (Golomb).
Фиг. 7 включает в себя схемы, на которых проиллюстрирован пример синтаксиса для списка масштабирования.
Фиг. 8 представляет собой схему, на которой проиллюстрирован пример синтаксиса для матрицы по умолчанию.
Фиг. 9 включает в себя схемы, на которых проиллюстрированы примеры семантики матрицы по умолчанию.
Фиг. 10 представляет собой схему, на которой проиллюстрирован пример синтаксиса для списка масштабирования.
Фиг. 11 представляет собой схему, на которой проиллюстрирован пример синтаксиса для списка масштабирования, использующий настоящую технологию.
Фиг. 12 включает в себя схемы, на которых проиллюстрирован пример синтаксиса списка масштабирования на предшествующем уровне техники.
Фиг. 13 представляет собой схему, на которой проиллюстрирован пример синтаксиса списка масштабирования.
Фиг. 14 представляет собой структурную схему, на которой проиллюстрирован пример основной конфигурации устройства кодирования изображений.
Фиг. 15 представляет собой структурную схему, на которой проиллюстрирован пример основной конфигурации модуля ортогонального преобразования/квантования.
Фиг. 16 представляет собой структурную схему, на которой проиллюстрирован пример основной конфигурации модуля обработки матрицы.
Фиг. 17 представляет собой схему, на которой проиллюстрирован пример понижающей дискретизации.
Фиг. 18 представляет собой схему, на которой проиллюстрирован пример удаления совпадающей части.
Фиг. 19 представляет собой структурную схему, на которой проиллюстрирован пример основной конфигурации модуля дифференциальной импульсно-кодовой модуляции (DPCM-модуля).
Фиг. 20 представляет собой блок-схему алгоритма, на которой проиллюстрирован пример последовательности операций процесса кодирования матрицы квантования.
Фиг. 21 представляет собой блок-схему алгоритма, на которой проиллюстрирован пример последовательности операций процесса дифференциальной импульсно-кодовой модуляции (DPCM-модуляции).
Фиг. 22 представляет собой структурную схему, на которой проиллюстрирован пример основной конфигурации устройства декодирования изображений.
Фиг. 23 представляет собой структурную схему, на которой проиллюстрирован пример основной конфигурации модуля деквантования/обратного ортогонального преобразования.
Фиг. 24 представляет собой структурную схему, на которой проиллюстрирован пример основной конфигурации модуля генерирования матрицы.
Фиг. 25 представляет собой схему, на которой проиллюстрирован пример процесса интерполяции по "ближайшему соседу".
Фиг. 26 представляет собой структурную схему, на которой проиллюстрирован пример основной конфигурации модуля процесса, обратного дифференциальной импульсно-кодовой модуляции.
Фиг. 27 представляет собой блок-схему алгоритма, на которой проиллюстрирован пример последовательности операций процесса генерирования матрицы.
Фиг. 28 представляет собой блок-схему алгоритма, на которой проиллюстрирован пример последовательности операций процесса декодирования разностного сигнала.
Фиг. 29 представляет собой блок-схему алгоритма, на которой проиллюстрирован пример последовательности операций процесса, обратного дифференциальной импульсно-кодовой модуляции.
Фиг. 30 представляет собой схему, на которой проиллюстрирован другой пример синтаксиса списка масштабирования.
Фиг. 31 представляет собой структурную схему, на которой проиллюстрирован другой пример конфигурации модуля дифференциальной импульсно-кодовой модуляции.
Фиг. 32 представляет собой блок-схему алгоритма, на которой проиллюстрирован другой пример последовательности операций процесса дифференциальной импульсно-кодовой модуляции.
Фиг. 33 представляет собой структурную схему, на которой проиллюстрирован другой пример конфигурации модуля процесса, обратного дифференциальной импульсно-кодовой модуляции.
Фиг. 34 представляет собой блок-схему алгоритма, на которой проиллюстрирован другой пример последовательности операций процесса, обратного дифференциальной импульсно-кодовой модуляции.
Фиг. 35 представляет собой схему, на которой проиллюстрирован еще один другой пример синтаксиса списка масштабирования.
Фиг. 36 представляет собой блок-схему алгоритма, на которой проиллюстрирован еще один другой пример последовательности операций процесса, обратного дифференциальной импульсно-кодовой модуляции.
Фиг. 37 представляет собой схему, на которой проиллюстрирован еще один другой пример синтаксиса списка масштабирования.
Фиг. 38 представляет собой структурную схему, на которой проиллюстрирован еще один другой пример конфигурации модуля дифференциальной импульсно-кодовой модуляции.
Фиг. 39 представляет собой блок-схему алгоритма, на которой проиллюстрирован еще один другой пример процесса дифференциальной импульсно-кодовой модуляции.
Фиг. 40 представляет собой структурную схему, на которой проиллюстрирован еще один другой пример конфигурации модуля процесса, обратного дифференциальной импульсно-кодовой модуляции.
Фиг. 41 представляет собой блок-схему алгоритма, на которой проиллюстрирован еще один другой пример последовательности операций процесса, обратного дифференциальной импульсно-кодовой модуляции.
Фиг. 42 представляет собой блок-схему алгоритма, которая продолжается с Фиг. 41 и на которой проиллюстрирован еще один другой пример последовательности операций процесса, обратного дифференциальной импульсно-кодовой модуляции.
Фиг. 43 включает в себя схемы, на которых проиллюстрирован еще один другой пример синтаксиса списка масштабирования.
Фиг. 44 включает в себя схемы, на которых проиллюстрирован еще один другой пример синтаксиса списка масштабирования.
Фиг. 45 включает в себя схемы, на которых проиллюстрирован еще один другой пример синтаксиса списка масштабирования.
Фиг. 46 представляет собой схему, на которой проиллюстрирован пример схемы кодирования изображения с множественными представлениями.
Фиг. 47 представляет собой схему, на которой проиллюстрирован пример основной конфигурации устройства кодирования изображений с множественными представлениями, в котором применена настоящая технология.
Фиг. 48 представляет собой схему, на которой проиллюстрирован пример основной конфигурации устройства декодирования изображений с множественными представлениями, в котором применена настоящая технология.
Фиг. 49 представляет собой схему, на которой проиллюстрирован пример схемы кодирования многоуровневого изображения.
Фиг. 50 представляет собой схему, на которой проиллюстрирован пример устройства кодирования многоуровневых изображений, в котором применена настоящая технология.
Фиг. 51 представляет собой схему, на которой проиллюстрирован пример основной конфигурации устройства декодирования многоуровневых изображений, в котором применена настоящая технология.
Фиг. 52 представляет собой структурную схему, на которой проиллюстрирован пример основной конфигурации компьютера.
Фиг. 53 представляет собой структурную схему, на которой проиллюстрирован пример основной конфигурации телевизионного аппарата.
Фиг. 54 представляет собой структурную схему, на которой проиллюстрирован пример основной конфигурации мобильного оконечного устройства.
Фиг. 55 представляет собой структурную схему, на которой проиллюстрирован пример основной конфигурации аппарата записи/воспроизведения.
Фиг. 56 представляет собой структурную схему, на которой проиллюстрирован пример основной конфигурации аппарата формирования изображения.
Фиг. 57 представляет собой структурную схему, на которой проиллюстрирован пример использования масштабируемого кодирования.
Фиг. 58 представляет собой структурную схему, на которой проиллюстрирован другой пример использования масштабируемого кодирования.
Фиг. 59 представляет собой структурную схему, на которой проиллюстрирован еще один другой пример использования масштабируемого кодирования.
Осуществление изобретения
Далее будут описаны способы для осуществления настоящего раскрываемого изобретения (в дальнейшем именуемые как варианты реализации изобретения). В отношении этого отметим, что описание будет произведено в следующем порядке:
1. Первый вариант реализации изобретения (приводимое в качестве примера применение настоящей технологии)
2. Второй вариант реализации изобретения (устройство кодирования изображений, устройство декодирования изображений: первый способ)
3. Третий вариант реализации изобретения (устройство кодирования изображений, устройство декодирования изображений: второй способ)
4. Четвертый вариант реализации изобретения (устройство кодирования изображений, устройство декодирования изображений: третий способ)
5. Пятый вариант реализации изобретения (устройство кодирования изображений, устройство декодирования изображений: четвертый способ)
6. Шестой вариант реализации изобретения (устройство кодирования изображений, устройство декодирования изображений: другие способы)
7. Седьмой вариант реализации изобретения (устройство кодирования изображений с множественными представлениями, устройство декодирования изображений с множественными представлениями),
8. Восьмой вариант реализации изобретения (устройство кодирования многоуровневых изображений, устройство декодирования многоуровневых изображений)
9. Девятый вариант реализации изобретения (компьютер)
10. Приводимые в качестве примера варианты применения
11. Приводимые в качестве примера варианты применения масштабируемого кодирования
1. Первый вариант реализации изобретения
В этом варианте реализации изобретения будет приведено описание приводимых в качестве примера вариантов применения настоящей технологии, которая будет описана подробно во втором и последующих вариантах его реализации.
1-1. Приводимый в качестве примера вариант применения настоящей технологии
Сначала будет описан иллюстративный пример, к которому применима настоящая технология. Настоящая технология представляет собой технологию, относящуюся к кодированию и декодированию списка масштабирования, используемого в процессах квантования и деквантования, когда данные изображения кодируются и декодируются.
Кодирование и декодирование данных изображения могут включать в себя квантование и деквантование данных, представляющих собой коэффициенты. Такие квантование и деквантование выполняются в порциях блока, имеющего некоторый предварительно заданный размер, и используется список масштабирования (или матрица квантования), имеющий размер, соответствующий размеру блока. Например, в стандарте HEVC (Высокоэффективного кодирования видеоданных) квантование (или деквантование) выполняются с такими размерами, как 4×4, 8×8, 16×16 и 32×32. В стандарте HEVC могут быть приготовлены матрицы квантования, имеющие размеры 4×4 и 8×8.
На Фиг. 1 проиллюстрирован пример списка масштабирования размером 8×8. Как проиллюстрировано на Фиг. 1, список масштабирования включает в себя коэффициент постоянного тока и коэффициенты переменного тока. Коэффициент постоянного тока, составленный из одного значения, представляет собой коэффициент (0, 0) матрицы квантования, и соответствует коэффициенту постоянного тока дискретного косинусного преобразования (DCT-преобразования). Коэффициенты переменного тока представляют собой коэффициенты матрицы квантования кроме коэффициента (0, 0) и соответствуют коэффициентам дискретного косинусного преобразования кроме коэффициента постоянного тока. Отметим, что, как проиллюстрировано на Фиг. 1, коэффициенты переменного тока представлены матрицей. Таким образом, коэффициенты переменного тока также включают в себя коэффициент (0, 0) (в дальнейшем также именуемый как коэффициент (0, 0) переменного тока), и при использовании для квантования/деквантования этот коэффициент (0, 0), который расположен в начале матрицы квантования, заменяется коэффициентом постоянного тока. Следовательно, коэффициент постоянного тока также именуется как заменяющий коэффициент. В примере, проиллюстрированном на Фиг. 1, коэффициенты переменного тока образуют матрицу размером 8×8.
Кроме того, в стандарте HEVC, подвергшаяся повышающему преобразованию версия (повышающее преобразование) матрицы (8×8) квантования используется для квантования (или деквантования) 16×16 или 32×32.
На Фиг. 2 проиллюстрирован пример повышающего преобразования списка (8×8) масштабирования в список (16×16) масштабирования. Как проиллюстрировано на Фиг. 2, повышающее преобразование списка масштабирования осуществляется с использованием, например, процесса интерполяции по "ближайшему соседу". Подробности процесса интерполяции по "ближайшему соседу" будут описаны ниже со ссылкой, например, на Фиг. 25. Как проиллюстрировано на Фиг. 2, повышающее преобразование выполняется над коэффициентами переменного тока в списке масштабирования. После этого, коэффициент (0, 0) из числа коэффициентов переменного тока после повышающего преобразования заменяется коэффициентом постоянного тока.
Подготавливаются два типа списков (8×8) масштабирования, а именно, тот, что используется для повышающего преобразования до размера 16×16 ("8×8 для 16×16"), и тот, что используется для повышающего преобразования до размера 32×32 ("8×8 для 32×32").
Список масштабирования, используемый для квантования во время кодирования (с использованием кодера) также используется для деквантования во время декодирования (с использованием декодера). Таким образом, список масштабирования передается от стороны кодирования (кодера) стороне декодирования (декодеру). На Фиг. 3 проиллюстрирован пример передачи списков масштабирования.
Согласно примеру, проиллюстрированному на Фиг. 3, передаются два типа списков (8×8) масштабирования, а именно, тот, что используется для повышающего преобразования до размера 16×16, и тот, что используется для повышающего преобразования до размера 32×32, как описано выше. Хотя это и не проиллюстрировано на чертежах, также передается и список (4×4) масштабирования.
Коэффициенты переменного тока из списка (8×8) масштабирования, используемого для повышающего преобразования до размера 16×16, который был передан описанным выше способом, подвергаются повышающему преобразованию до размера (16×16) на стороне декодирования (в декодере) с использованием процесса интерполяции по "ближайшему соседу", описанному выше, и используются для деквантования блока, имеющего размер 16×16, после того, как коэффициент (0, 0) заменен коэффициентом постоянного тока.
Аналогичным образом, коэффициенты переменного тока из списка (8×8) масштабирования, используемого для повышающего преобразования до размера 32×32, который был передан описанным выше способом, также подвергаются повышающему преобразованию до размера (32×32) на стороне декодирования (в декодере) с использованием процесса интерполяции по "ближайшему соседу", описанному выше, и используются для деквантования блока, имеющего размер 32×32, после того, как коэффициент (0, 0) заменен коэффициентом постоянного тока.
1-2. Кодирование списка масштабирования
Передача списков масштабирования описанным выше способом соответствующим образом увеличит объем кодирования. Таким образом, для того, чтобы сдерживать снижение эффективности кодирования, списки масштабирования кодируются с использованием некоторого способа для уменьшения объема кодирования списков масштабирования. На Фиг. 4 проиллюстрирован пример кодирования списка масштабирования. В частности, список (8×8) масштабирования передается следующим образом.
В случае повышающего преобразования матрицы (8×8) в матрицу (16×16):
(1) Берется разность между коэффициентом (0, 0) (то есть, коэффициентом (0, 0) переменного тока) матрицы (8×8) и некоторым предварительно заданным начальным значением "8".
(2) Берутся разности между коэффициентами (то есть, коэффициентами переменного тока) (смежными коэффициентами в последовательности коэффициентов, одномерно расположенных в порядке сканирования) матрицы (8×8).
(3) Берется разность между коэффициентом (0, 0) (то есть, коэффициентом постоянного тока) матрицы (16×16) и некоторым предварительно заданным начальным значением "8".
(4) Разности, полученные в (1) и (2), и разность, полученная в (3), передаются отдельно.
В случае повышающего преобразования матрицы (8×8) в матрицу (32×32):
(1) Берется разность между коэффициентом (0, 0) (то есть, коэффициентом (0, 0) переменного тока) матрицы (8×8) и некоторым предварительно заданным начальным значением "8".
(2) Берутся разности между коэффициентами (то есть, коэффициентами переменного тока) (смежными коэффициентами в последовательности коэффициентов, одномерно расположенных в порядке сканирования) матрицы (8×8).
(3) Берется разность между коэффициентом (0, 0) (то есть, коэффициентом постоянного тока) матрицы (32×32) и некоторым предварительно заданным начальным значением "8".
(4) Разности, полученные в (1) и (2), и разность, полученная в (3), передаются отдельно.
Однако в способе, описанном выше, разности кодируются с использованием экспоненциального кодирования Голомба со знаком и передаются на этап (4). Как было описано выше, разность, полученная на этапе (1), представляет собой разность между коэффициентом (0, 0) переменного тока и начальным значением "8". Таким образом, существует опасность того, что объем кодирования может возрастать в случае, если значение коэффициента (0, 0) переменного тока не является значением, близким к начальному значению "8".
Например, на Фиг. 4, значение коэффициента (0, 0) переменного тока составляет "12", и значение "4" кодируется с использованием экспоненциального кодирования Голомба со знаком и передается в качестве разницы, полученной на этапе (1). Таким образом, для передачи разности, полученной на этапе (1), требуются 7 битов и эффективность кодирования может быть, соответственно, снижена. Если значение разности, полученное на этапе (1), увеличивается, то эффективность кодирования может еще более снижаться. То же самое верно и для случая списка (8×8) масштабирования, используемого для повышающего преобразования до размера 16×16 и списка (8×8) масштабирования, используемого для повышающего преобразования до размера 32×32.
Между тем, энергия коэффициентов дискретного косинусного преобразования обычно сосредоточена в коэффициенте постоянного тока и соседних коэффициентах низкого порядка. Следовательно, в общем, матрица квантования также имеет малые значения для коэффициента постоянного тока и соседних коэффициентов. Кроме того, если для отдельных частот используются значения, которые значительно отличаются, то ошибка квантования может быть субъективно заметной. Для того, чтобы подавлять такое визуальное ухудшение качества изображения, для коэффициента постоянного тока и соседних коэффициентов используются последовательные значения.
Коэффициент (0, 1), коэффициент (1. 0) и коэффициент (1. 1), полученные после повышающего преобразования, соответствуют коэффициенту (0, 0) переменного тока перед повышающим преобразованием. Кроме того, коэффициент (0, 0), полученный после повышающего преобразования, соответствует коэффициенту постоянного тока.
Таким образом, в списках масштабирования значение коэффициента (0, 0) переменного тока и значение коэффициента постоянного тока обычно близки друг к другу. Например, матрицы по умолчанию в стандартах MPEG2, AVC и HEVC принимают значения, имеющие такого рода соотношение. Также в примере, проиллюстрированном на Фиг. 4, значение коэффициента постоянного тока является тем же самым, что и значение коэффициента (0, 0) переменного тока, то есть, "12". Таким образом, значение разности, получаемое на этапе (3), то есть, разности между коэффициентом постоянного тока и начальным значением "8", также составляет "4".
Таким образом, вычисление разности между каждым коэффициентом из числа: коэффициента постоянного тока и коэффициента (0, 0) переменного тока, и значение которых близки друг к другу, и начальным значением может увеличивать значение разности между ними и может также приводить к избыточности. Можно сказать, что будет существовать риск дополнительного снижения эффективности кодирования.
Для решения этой проблемы, список масштабирования передают, используя нижеследующий способ, вместо того, чтобы использовать способ, проиллюстрированный на Фиг. 4. На Фиг. 5 проиллюстрирован пример этого способа.
В случае повышающего преобразования матрицы (8×8) в матрицу (16×16):
(1) Берется разность между коэффициентом (0, 0) (то есть, коэффициентом (0, 0) переменного тока) матрицы (8×8) и коэффициентом (0, 0) (то есть, коэффициентом постоянного тока) матрицы (16)×(16).
(2) Берутся разности между коэффициентами (то есть, коэффициентами переменного тока) (смежными коэффициентами в последовательности коэффициентов, одномерно расположенных в порядке сканирования) матрицы (8×8).
(3) Берется разность между коэффициентом (0, 0) (то есть, коэффициентом постоянного тока) матрицы (16×16) и некоторым предварительно заданным начальным значением "8".
(4) Разности, полученные на этапах: с (1) по (3), передаются вместе.
В случае повышающего преобразования матрицы (8×8) в матрицу (32×32):
(1) Берется разность между коэффициентом (0, 0) (то есть, коэффициентом (0, 0) переменного тока) матрицы (8×8) и коэффициентом (0, 0) (то есть, коэффициентом постоянного тока) матрицы (32×32).
(2) Берутся разности между коэффициентами (то есть, коэффициентами переменного тока) (смежными коэффициентами в последовательности коэффициентов, одномерно расположенных в порядке сканирования) матрицы (8×8).
(3) Берется разность между коэффициентом (0, 0) (то есть, коэффициентом постоянного тока) матрицы (32×32) и некоторым предварительно заданным начальным значением "8".
(4) Разности, полученные на этапах: с (1) по (3), передаются вместе.
Аналогично способу, проиллюстрированному на Фиг. 4, на этапе (4) разности кодируются с использованием экспоненциального кодирования Голомба и передаются как экспоненциальные коды Голомба.
В пункте назначения, куда эти разности передаются как экспоненциальные коды Голомба, когда экспоненциальные коды Голомба приняты, принятые экспоненциальные коды Голомба декодируются для получения индивидуальных разностей, и над полученными разностями выполняются процессы, обратные вышеописанным этапам: с (1) по (3), для определения индивидуальных коэффициентов (коэффициента постоянного тока и коэффициенты переменного тока).
1-3. Приводимые в качестве примера признаки настоящей технологии
Теперь опишем приводимые в качестве примера признаки настоящей технологии, относящиеся к вышеописанному способу передачи данных.
1-3-1. Дифференциальная импульсно-кодовая модуляция между коэффициентом (0, 0) переменного тока и коэффициентом постоянного тока
Списки масштабирования кодируются с использованием дифференциальной импульсно-кодовой модуляции (DPCM) и передаются. В примере, проиллюстрированном на Фиг. 4, коэффициенты переменного тока и коэффициент постоянного тока кодируются посредством дифференциальной импульсно-кодовой модуляции индивидуально, тогда как в соответствии с одним из признаков настоящей технологии, как в примере, проиллюстрированном на Фиг. 5, определяется и передается разность (также именуемая как заменяющий разностный коэффициент) между коэффициентом (0, 0) переменного тока и коэффициентом постоянного тока.
Как было описано выше, коэффициент (0, 0) переменного тока и коэффициент постоянного тока обычно принимают значения, которые являются близкими друг к другу. Таким образом, разность между коэффициентом (0, 0) переменного тока и коэффициентом постоянного тока вероятно может быть меньше, чем разность между коэффициентом (0, 0) переменного тока и начальным значением "8". Таким образом, передача заменяющего разностного коэффициента, который является разностью между коэффициентом (0, 0) переменного тока и коэффициентом постоянного тока, с использованием настоящей технологии может быть более предпочтительной для того, чтобы уменьшить объем кодирования.
Например, в примере, проиллюстрированном на Фиг. 5, значение этой разности, полученной на этапе (1), составляет "0".
Фиг. 6 представляет собой таблицу, на которой проиллюстрирован пример экспоненциального кодирования Голомба со знаком. Как показано в таблице, проиллюстрированной на Фиг. 6, экспоненциальный код Голомба для значения "4" имеет длину кода, составляющую 7 битов, тогда как экспоненциальный код Голомба для значения "0" имеет длину кода, составляющую 1 бит. Таким образом, способ, проиллюстрированный на Фиг. 5, по сравнению со способом, проиллюстрированным на Фиг. 4, может уменьшить объем кодирования на 6 битов.
Вообще говоря, для передачи матрицы квантования, имеющей размер 8×8, требуется объем кодирования, составляющий приблизительно от 100 битов до 200 битов. Следовательно, 6 битов занимают приблизительно 6% общего объема. Сокращение объема кодирования на 6% в Синтаксисе высокого уровня может быть названо очень большим эффектом.
1-3-2. Совместная передача коэффициента постоянного тока и коэффициентов переменного тока
На Фиг. 7 проиллюстрирован пример синтаксиса списка масштабирования. Синтаксис для примера, проиллюстрированного на Фиг. 4, проиллюстрирован в примере, проиллюстрированном в части (А) на Фиг. 7. В частности, после того, как переданы разность между коэффициентом (0, 0) переменного тока и начальным значением "8" и разности между коэффициентами переменного тока (scaling_list_delta_coef (коэффициент_дельта_списка_масштабирования)), отдельно передается разность между коэффициентом постоянного тока и начальным значением "8" (scaling_list_dc_coef_minus8 (коэффиициент_постоянного_тока_списка_масштабирования_минус8)).
В противоположность этому, один из признаков настоящей технологии заключается в том, что разность между коэффициентом постоянного тока и коэффициентом (0, 0) переменного тока и разности между коэффициентами переменного тока располагаются в этом порядке и передаются совместно. В частности, как проиллюстрировано на Фиг. 5, после того, как коэффициент постоянного тока и коэффициенты переменного тока, располагаемые в предварительно заданном порядке сканирования, расположены одномерным образом, и определена разность между коэффициентом постоянного тока и начальным значением "8", определяются разности между смежными коэффициентами в этой последовательности. Далее, полученные в результате этого разности (разности между коэффициентами) располагаются одномерным образом в порядке получения и передаются все вмести.
Синтаксис в этом случае проиллюстрирован в примере в части (В) на Фиг. 7. В частности, сначала передается разность между коэффициентом постоянного тока и начальным значением "8" (scaling_list_dc_coef_minus8 (коэффиициент_постоянного_тока_списка_масштабирования_минус8)), а после этого передаются разность между коэффициентом постоянного тока и коэффициентом (0, 0) переменного тока и разности между коэффициентами переменного тока (scaling_list_delta_coef (коэффициент_дельта_списка_масштабирования)). Таким образом, коэффициент постоянного тока и коэффициенты переменного тока кодируются и передаются все вместе.
Таким образом, совместная передача разностей, расположенных в порядке получения, позволяет стороне декодирования (декодеру), которому переданы эти разности, декодировать эти разности в порядке их передачи и получить индивидуальные коэффициенты. Таким образом, закодированный посредством дифференциальной импульсно-кодовой модуляции список масштабирования может быть с легкостью декодирован. Более конкретно, нагрузка по обработке данных может быть уменьшена. В дополнение к этому, больше нет необходимости в перестановке разностей, что в результате приводит к уменьшению емкости буфера. Кроме того, соответствующие разности могут быть декодированы в порядке поступления, что в результате приводит к сдерживанию увеличения продолжительности обработки данных.
1-3-3. Передача матрицы по умолчанию
Фиг. 8 представляет собой схему, на которой проиллюстрирован пример синтаксиса для передачи матрицы по умолчанию. На предшествующем уровне техники, как проиллюстрировано на Фиг. 8, для того, чтобы передать информацию, указывающую на использование матрицы по умолчанию, начальный коэффициент (то есть, коэффициент постоянного тока) передается как "0". Таким образом, значение разности между коэффициентом постоянного тока и начальным значением "8" (scaling_list_dc_coef_minus8 (коэффициент_постоянного_тока_списка_масштабирования_минус8)) составляет "-8". Однако, как проиллюстрировано на Фиг. 6, экспоненциальный код Голомба для значения "-8" имеет длину кода, составляющую 9 битов. Таким образом, существует риск того, что эффективность кодирования может значительно снизиться. Вообще говоря, желательно, чтобы количество битов Синтаксиса высокого уровня было как можно меньше. В дополнение к этому, как проиллюстрировано на Фиг. 8, вследствие повышенной сложности синтаксиса может увеличиться нагрузка по обработке данных.
Для решения этих проблем начальный коэффициент не устанавливается в "0", но изменена семантика scaling_list_pred_matrix_id_delta (дельта_идентификатора_матрицы_предсказания_списка масштабирования). Если описать это более конкретно, то семантика scaling_list_pred_matrix_id_delta изменена с той, что проиллюстрирована в части (А) на Фиг. 9, на ту, что проиллюстрирована в части (В) на Фиг. 9. Таким образом, на предшествующем уровне техники, как проиллюстрировано в части (А) на Фиг. 9, значение, равное «0», указывает на то, что обращение осуществляется к непосредственно предшествующей матрице (MatrixID - 1 (Идентификатор Матрицы - 1)). Вместо этого описания, как проиллюстрировано в части (В) на Фиг. 9, значение scaling_list_pred_matrix_id_delta, равное "0" означает то, что обращение осуществляется к матрице по умолчанию.
Соответственно, длина кода у экспоненциального кода Голомба для передачи информации, указывающей на использование матрицы по умолчанию, может быть равной 1 биту, и можно сдерживать снижение эффективности кодирования. Кроме того, на предшествующем уровне техники, для списка масштабирования необходим синтаксис, который проиллюстрирован в частях (А) и (В) на Фиг. 10. Этот синтаксис может быть упрощен, как в примере, проиллюстрированном на Фиг. 11. Таким образом, нагрузка по обработке данных, имеющая место при кодировании и декодировании списка масштабирования, может быть уменьшена.
1-4. Признаки синтаксиса при использовании настоящей технологии
Более конкретно опишем синтаксис.
В примере предшествующего уровня техники, проиллюстрированном в частях (А) и (В) на Фиг. 10, определение умолчания должно быть выполнено дважды, а именно, в случае scaling_list_dc_coef_minus8 (коэффиициент_постоянного_тока_списка_масштабирования_минус8) и scaling_list_delta_coef (коэффициент_дельта_списка_масштабирования). В дополнение к этому, для scaling_list_delta_coef это определение производится в середине цикла "for" ("для"), и в случае, когда useDefaultScalingMatrixFlag = 1 (ФлажокИспользованияМатрицыМасштабированияПоУмолчанию = 1) осуществляется выход из цикла. Кроме того, требуется промежуточный флажок, названный как "stopNow" ("остановкаСейчас"), и, вследствие этого условия, дополнительно существует ответвление, такое как подстановка nextCoef (следующегоКоэффициента) в значение scalingList (спискаМасштабирования). Таким образом, синтаксис на предшествующем уровне техники включает в себя усложненную обработку данных.
В настоящей технологии, соответственно, как в примере, проиллюстрированном на Фиг. 11, коэффициент постоянного тока, вычисленный, исходя из scaling_list_dc_coef_minus8 (коэффиициент_постоянного_тока_списка_масштабирования_минус8) подставляется в nextCoef (следующийКоэффициент) для того, чтобы задать коэффициенту постоянного тока начальное значение scaling_list_delta_coef (коэффициент_дельта_списка_масштабирования).
Кроме того, в семантике, значение scaling_list_pred_matrix_id_delta (дельта_идентификатора_матрицы_предсказания_списка масштабирования), которое на предшествующем уровне техники представлено значением "+1", остается неизменным, и в качестве частного значения используется значение "0".
То есть на предшествующем уровне техники, когда ScalingList [0] [2] (СписокМасштабирования [0] [2]) подлежит декодированию (matrixId = 2) (идентификаторМатрицы = 2), если scaling_list_pred_matrix_id_delta = 0 (дельта_идентификатора_матрицы_предсказания_списка масштабирования = 0), то matrixId = 2 получается из refMatrixId = matrixId - (1 + scaling_list_pred_matrix_id_delta) (идентификаторМатрицыДляОбращения = ИдентификаторМатрицы - (1 + дельта_идентификатора_матрицы_предсказания_списка масштабирования)). Таким образом, получается refMatrixId = 1, и значение ScalingList [0] [1] копируется.
В противоположность этому, в настоящей технологии, задается refMatrixId = matrixId - scaling_list_pred_matrix_id_delta. Когда ScalingList [0] [2] подлежит декодированию (matrixId = 2), если ScalingList [0] [1] должен быть скопирован (или если должен быть получен refMatrixId = 1), может быть установлен scaling_list_pred_matrix_id_delta = 1.
Соответственно, как проиллюстрировано на Фиг. 11, количество строк синтаксиса для списка масштабирования может быть значительно уменьшено. В дополнение к этому, две переменные, включаемые в состав синтаксиса в качестве промежуточных данных, а именно, UseDefaultScalingMatrix (ИспользованиеМатрицыМасштабированияПоУмолчанию) и stopNow (остановкаСейчас), могут быть опущены. Кроме того, ответвление, сделанное в цикле "for", как это проиллюстрировано на Фиг. 10, больше может не требоваться. Следовательно, нагрузка по обработке данных, имеющая место при кодировании и декодировании списка масштабирования может быть уменьшена.
1-5. Модули обработки данных, реализующие настоящую технологию
В случае, при котором настоящая технология применяется к передаче списка масштабирования, список масштабирования кодируется и декодируется способом описанным выше. В частности, устройство (10) кодирования изображений, описываемое ниже со ссылкой на Фиг. 14, кодирует список масштабирования и осуществляет передачу закодированного списка масштабирования, а устройство (300) декодирование изображений, описываемое ниже со ссылкой на Фиг. 22, принимает и декодирует закодированный список масштабирования.
Список масштабирования кодируется модулем (150) обработки матрицы (смотри Фиг. 15), имеющемся в модуле (14) ортогонального преобразования/квантования (смотри Фиг. 14), относящемся к устройству (10) кодирования изображений. Если описать это более конкретно, то список масштабирования кодируется модулем (192) дифференциальной импульсно-кодовой модуляции и модулем (193) ехр-G (оба из которых проиллюстрированы на Фиг. 16) в модуле (164) энтропийного кодирования (смотри Фиг. 16), имеющемся в модуле (150) обработки матрицы. Таким образом, модуль (192) дифференциальной импульсно-кодовой модуляции определяет разности между коэффициентами (коэффициентом постоянного тока и коэффициентами переменного тока) списка масштабирования, а модуль (193) ехр-G кодирует индивидуальные разности, используя экспоненциальное кодирование Голомба.
Для того, чтобы закодировать список масштабирования, используя настоящую технологию, которая описана выше, модуль (192) дифференциальной импульсно-кодовой модуляции может иметь приводимую в качестве примера конфигурацию, которая проиллюстрирована, например, на Фиг. 19, и может выполнять процесс дифференциальной импульсно-кодовой модуляции как в примере, проиллюстрированном на Фиг. 21. Кроме того, может быть использована семантика как в примере, проиллюстрированном в части (С) на Фиг. 44 или части (С) на Фиг. 45.
Другими словами, выполнение кодирования списка масштабирования, использующее настоящую технологию, может требоваться только от модуля (192) дифференциальной импульсно-кодовой модуляции и модуля (193) ехр-G, а другие компоненты, имеющие любую конфигурацию, можно использовать как угодно. Необходимая конфигурация, такая как модуль обработки данных для повышающего преобразования списка масштабирования и модуль обработки данных для выполнения квантования с использованием списка масштабирования могут быть предусмотрены в соответствии с вариантами реализации изобретения.
Кроме того, список масштабирования декодирован модулем (410) генерирования матрицы (смотри Фиг. 23), имеющемся в модуле (313) деквантования/обратного ортогонального преобразования (смотри Фиг. 22), относящемся к устройству (300) декодирования изображений. Если описать это более конкретно, то список масштабирования декодируется модулем (551) ехр-G и модулем (552) процесса, обратного дифференциальной импульсно-кодовой модуляции (смотри Фиг. 24), в модуле (533) энтропийного декодирования (смотри Фиг. 24), имеющемся в модуле (410) генерирования матрицы. Таким образом, модуль (551) ехр-G декодирует коды Голомба для того, чтобы получить разности, а модуль (552) процесса, обратного дифференциальной импульсно-кодовой модуляции, определяет, исходя из соответствующих разностей, индивидуальные коэффициенты (коэффициент постоянного тока и коэффициенты переменного тока) списка масштабирования.
Для того, чтобы декодировать закодированный список масштабирования, используя настоящую технологию, которая описана выше, модуль (552) процесса, обратного дифференциальной импульсно-кодовой модуляции, может иметь приводимую в качестве примера конфигурацию, которая проиллюстрирована, например, на Фиг. 26, и может выполнять процесс, обратный дифференциальной импульсно-кодовой модуляции как в примере, проиллюстрированном на Фиг. 29. Кроме того, может быть использована семантика как в примере, проиллюстрированном в части (С) на Фиг. 44 или части (С) на Фиг. 45.
Другими словами, выполнение декодирования списка масштабирования, использующее настоящую технологию, может требоваться только от модуля (551) ехр-G и модуля (552) процесса, обратного дифференциальной импульсно-кодовой модуляции, а другие компоненты, имеющие любую конфигурацию, можно использовать как угодно. Необходимая конфигурация, такая как модуль обработки данных для повышающего преобразования списка масштабирования и модуль обработки данных для выполнения деквантования с использованием списка масштабирования могут быть предусмотрены в соответствии с вариантами реализации изобретения.
Далее, для более детального описания настоящей технологии, будут описаны отдельные варианты реализации изобретения, в которых применена настоящая технология.
2. Второй вариант реализации изобретения
2-1. Синтаксис: Первый способ
(1) Синтаксис на предшествующем уровне техники
Прежде всего, на Фиг. 12 проиллюстрирован пример синтаксиса матрицы квантования (или списка масштабирования) на предшествующем уровне техники. При практическом использовании, обычно осуществляется передача матрицы разностей между списком масштабирования и его матрицей предсказания, а не списком масштабирования. Таким образом, в нижеследующем описании синтаксиса и так далее, предполагается, что описание списка масштабирования может также применяться к матрице разностей.
В части (А) на Фиг. 12 проиллюстрирован синтаксис для данных списка масштабирования (синтаксис данных списка масштабирования), а в части (В) на Фиг. 12 проиллюстрирован синтаксис для списка масштабирования (синтаксис списка масштабирования).
(1-1) Синтаксис данных списка масштабирования
Как проиллюстрировано в части (А) на Фиг. 12, синтаксис для данных списка масштабирования указывает, что считываются флажок (scaling_list_present_flag (флажок_наличия_списка_масштабирования)), показывающий то, предоставлен ли список масштабирования, флажок (scaling_list_pred_mode_flag (флажок_режима_предсказания_списка_масштабирования)), показывающий то, является ли текущий режим режимом копирования, информация (scaling_list_pred_matrix_id_delta (дельта_идентификатора_матрицы_предсказания_списка_масштабирования)), показывающая то, к какому списку масштабирования обращаться в режиме копирования и так далее.
(1-2) Синтаксис списка масштабирования
Как проиллюстрировано в части (B) на Фиг. 12, синтаксис списка масштабирования указывает, что считываются коэффициент постоянного тока, из которого вычтена некоторая постоянная (например, 8) (scaling_list_dc_coef_minus8 (коэффициент_постоянноготока_списка_масштабирования_минус8)), значение разности (scaling_list_delta_coef (коэффициент_дельта_списка_масштабирования)) между коэффициентами переменного тока и так далее, и что коэффициент постоянного тока и восстанавливаются коэффициенты переменного тока.
Однако существует риск того, что части синтаксиса, описанного выше, не обеспечат достаточную эффективность сжатия коэффициента постоянного тока, хотя он и облегчает процессы.
Соответственно, для того, чтобы получить достаточную эффективность сжатия коэффициента постоянного тока (также именуемого как DC-коэффициент), который является коэффициентом постоянной составляющей (составляющей постоянного тока), определяется разность между коэффициентом постоянного тока и другим коэффициентом, и передается это значение разности вместо коэффициента постоянного тока. Таким образом, значение разности представляет собой информацию для вычисления коэффициента постоянного тока, и, другими словами, является, по существу, эквивалентным коэффициенту постоянного тока. Однако значение разности обычно меньше чем коэффициент постоянного тока. Следовательно, передача значения разности вместо коэффициента постоянного тока может привести в результате к уменьшению объема кодирования.
В нижеследующем описании, для удобства описания, список масштабирования (матрица квантования) имеет размер 8×8. Далее будет описан конкретный пример описанного выше способа для передачи, вместо коэффициента постоянного тока, разности между коэффициентом постоянного тока и другим коэффициентом.
(2) Синтаксис для первого способа
Например, с использованием дифференциальной импульсно-кодовой модуляции (DPCM-модуляции) может быть передано 65 коэффициентов, где коэффициент постоянного тока рассматривается как элемент, расположенный в начале матрицы (8×8) (коэффициентов переменного тока) (первый способ).
Таким образом, в первую очередь, вычисляется разность между некоторой предварительно заданной постоянной и коэффициентом постоянного тока, и эта разность используется в качестве начального коэффициента данных дифференциальной импульсно-кодовой модуляции. После этого вычисляется разность между коэффициентом постоянного тока и начальным коэффициентом переменного тока, и эта разность используется в качестве второго коэффициента данных дифференциальной импульсно-кодовой модуляции. После этого вычисляется разность между начальным коэффициентом переменного тока и вторым коэффициентом переменного тока, и эта разность используется в качестве третьего коэффициента данных дифференциальной импульсно-кодовой модуляции. Вслед за этим, вычисляется разность по отношению к непосредственно предшествующему коэффициенту переменного тока, и эта разность используется в качестве четвертого коэффициента данных дифференциальной импульсно-кодовой модуляции, и следующие коэффициенты данных дифференциальной импульсно-кодовой модуляции определяются способом, аналогичным описанному выше. Коэффициенты данных дифференциальной импульсно-кодовой модуляции, сгенерированные способом, описанный выше, передаются последовательным образом, начиная с начального коэффициента.
Соответственно, степень сжатия может быть улучшена в случае, когда значения коэффициента (0, 0) (коэффициента переменного тока) матрицы (8×8) и коэффициента постоянного тока близки друг к другу. При осуществлении первого способа, описанного выше, устройство кодирования изображений может обрабатывать коэффициент постоянного тока способом, аналогичным способу для коэффициентов переменного тока (AC-коэффициентов), которые являются коэффициентами переменных составляющих (также именуемых как составляющие переменного тока). Отметим, что для осуществления первого способа, описанного выше, устройству декодирования изображений, которому передаются коэффициенты, описанные выше, необходимо специальным образом обрабатывать только начальный коэффициент. В частности, устройство декодирования изображений должно извлечь коэффициент постоянного тока из числа коэффициентов переменного тока.
На Фиг. 13 проиллюстрирован синтаксис списка масштабирования в случае, описанном выше. В примере, проиллюстрированном на Фиг. 13, считываются 65 значений разностей (scaling_list_delta_coef (коэффициент_дельта_списка_масштабирования)) между коэффициентами, и, среди коэффициентов (nextcoef (следующийкоэффициент)) определенных, исходя из этих значений разности, коэффициент (nextcoef), расположенный в начале, используется в качестве коэффициента постоянного тока (scaling_list_dc_coef (коэффиициент_постоянного_тока_списка_масштабирования)), в то время как другие коэффициенты используются в качестве коэффициентов переменного тока (ScalingList [i] (СписокМасштабирования [i])).
Далее будет описано устройство кодирования изображений, которое реализует синтаксис для первого способа, описанного выше.
2-2. Устройство кодирования изображений
Фиг. 14 представляет собой структурную схему, на которой проиллюстрирован пример конфигурации устройства (10) кодирования изображений, соответствующего варианту реализации настоящего раскрываемого изобретения. Устройство (10) кодирования изображений, проиллюстрированное на Фиг. 14, представляет собой устройство обработки изображений, в котором применена настоящая технология, и которое сконфигурировано таким образом, чтобы кодировать данные входного изображения и выводить закодированные данные изображения. Что касается Фиг. 14, то устройство (10) кодирования изображений включает в себя: модуль (11) аналого-цифрового (A/D) преобразования, буфер (12) переупорядочивания, вычитающий модуль (13), модуль (14) ортогонального преобразования/квантования, модуль (16) кодирования без потерь, накопительный буфер (17), модуль (18) управления скоростью, модуль (21) деквантования, модуль (22) обратного ортогонального преобразования, модуль-сумматор (23), фильтр (24) устранения блочности, память (25) кадров, переключатель (113), модуль (30) внутрикадрового предсказания, модуль (40) поиска движения, модуль (50) выбора режима.
Модуль (11) аналого-цифрового преобразования осуществляет преобразование сигнала изображения, вводимого в аналоговой форме, в данные изображения в цифровой форме и выводит последовательность цифровых данных изображения в буфер (12) переупорядочивания.
Буфер (12) переупорядочивания переупорядочивает изображения, включенные в состав последовательности данных изображения, вводимых из модуля (11) аналого-цифрового преобразования. После переупорядочивания изображений в соответствии со структурой GOP (Группы изображений) для использования в процессе кодирования, буфер (12) переупорядочивания осуществляет вывод данных изображения, в которых изображения были переупорядочены, в вычитающий модуль (13), модуль (30) внутрикадрового предсказания и модуль (40) поиска движения.
В вычитающий модуль (13) осуществляется подача данных изображения, вводимых из буфера (12) переупорядочивания, и данных предсказанного изображения, выбранных модулем (50) выбора режима, описываемым ниже. Вычитающий модуль (13) вычисляет данные ошибок предсказания, которые представляют разность между данными изображения, вводимыми из буфера (12) переупорядочивания, и данными предсказанного изображения, вводимыми из модуля (50) выбора режима, и выводит вычисленные данные ошибок предсказания в модуль (14) ортогонального преобразования/квантования.
Модуль (14) ортогонального преобразования/квантования выполняет ортогональное преобразование и квантование над данными ошибок предсказания, вводимыми из вычитающего модуля (13), и выводит квантованные данные коэффициентов преобразования (в дальнейшем именуемые как квантованные данные) в модуль (16) кодирования без потерь и модуль (21) деквантования. Битовой скоростью передачи квантованных данных, выводимых из модуля (14) ортогонального преобразования/квантования, управляют в соответствии с сигналом управления скоростью, подаваемым из модуля (18) управления скоростью. Подробная конфигурация модуля (14) ортогонального преобразования/квантования будет дополнительно описана ниже.
В модуль (16) кодирования без потерь поступают квантованные данные, вводимые из модуля (14) ортогонального преобразования/квантования, информация для генерирования списка масштабирования (или матрицы квантования) на стороне декодирования и информация, касающаяся внутрикадрового предсказания или межкадрового предсказания, которое выбрано модулем (50) выбора режима. Информация, касающаяся внутрикадрового предсказания, может включать в себя, например, информацию о режиме предсказания, указывающую оптимальный режим внутрикадрового предсказания для каждого блока. Кроме того, информация, касающаяся межкадрового предсказания, может включать в себя, например, информацию в режиме предсказания для поблокового предсказания векторов движения, разностной информации вектора движения, информации об опорном изображении и так далее. Кроме того, информация для генерирования списка масштабирования на стороне декодирования может включать в себя идентификационную информацию, указывающую максимальный размер списка масштабирования, подлежащего передаче, (или матрицы разностей между списком масштабирования (матрицей квантования) и его матрицей предсказания).
Модуль (16) кодирования без потерь выполняет над квантованными данными процесс кодирования без потерь для того, чтобы сгенерировать закодированный поток данных. Кодирование без потерь, выполняемое модулем (16) кодирования без потерь может представлять собой, например, кодирование с переменной длиной кодового слова, арифметическое кодирование или тому подобное. Кроме того, модуль (16) кодирования без потерь мультиплексирует информацию, предназначенную для генерирования списка масштабирования, в заголовок (например, в набор параметров последовательности и набор параметров изображения) закодированного потока данных. Кроме того, модуль (16) кодирования без потерь мультиплексирует в заголовок закодированного потока данных вышеописанную информацию, касающуюся внутрикадрового предсказания или межкадрового предсказания. После этого, модуль (16) кодирования без потерь выводит сгенерированный закодированный поток данных в накопительный буфер (17).
Накопительный буфер (17), используя носитель данных, такой как полупроводниковое запоминающее устройство, временно накапливает закодированный поток данных, вводимый из модуля (16) кодирования без потерь. После этого, накопительный буфер (17) выводит накопленный закодированный поток данных со скоростью, соответствующей ширине полосы пропускания тракта передачи (или выходной линии из устройства (10) кодирования изображений).
Модуль (117) управления скоростью осуществляет мониторинг накопительного буфера (17) с целью проверки наличия (свободной) емкости. В соответствии с располагаемой емкостью накопительного буфера (17) модуль (18) управления скоростью генерирует сигнал управления скоростью и выводит сгенерированный сигнал управления скоростью в модуль (14) ортогонального преобразования/квантования. Например, в случае, когда располагаемая емкость накопительного буфера (17) является низкой, модуль (18) управления скоростью генерирует сигнал управления скоростью, предназначенный для снижения битовой скорости передачи квантованных данных. В качестве альтернативы этому, например, в случае, когда располагаемая емкость накопительного буфера (17) является достаточно высоко, модуль (18) управления скоростью генерирует сигнал управления скоростью, предназначенный для увеличения битовой скорости передачи квантованных данных.
Модуль (21) деквантования выполняет процесс деквантования над квантованными данными, вводимыми из модуля (14) ортогонального преобразования/квантования. После этого, модуль (21) деквантования выводит данные коэффициентов преобразования, полученные посредством процесса деквантования, в модуль (22) обратного ортогонального преобразования.
Модуль (69) обратного ортогонального преобразования выполняет процесс обратного ортогонального преобразования над данными коэффициентов преобразования, вводимыми из модуля (21) деквантования, для того, чтобы восстановить данные ошибок предсказания. После этого, модуль (22) обратного ортогонального преобразования выводит восстановленные данные ошибок предсказания в модуль-сумматор (23).
Модуль-сумматор (23) складывает между собой восстановленные данные ошибок предсказания, вводимые из модуля (22) обратного ортогонального преобразования, и данные предсказанного изображения, вводимые из модуля (50) выбора режима, для того, чтобы сгенерировать декодированные данные изображения. После этого, модуль-сумматор (23) выводит сгенерированные декодированные данные изображения в фильтр (24) устранения блочности и в память (25) кадров.
Фильтр (24) устранения блочности выполняет процесс фильтрования для уменьшения артефактов блочности изображения, вызванных кодированием изображения. Фильтр (24) устранения блочности осуществляет фильтрование декодированных данных изображения, вводимых из модуля-сумматора (23), для того, чтобы устранить (или, по меньшей мере, уменьшить) артефакты блочности изображения, и выводит подвергшиеся фильтрованию декодированные данные изображения в память (25) кадров.
Память (25) кадров сохраняет, используя носитель данных, декодированные данные изображения, вводимые из модуля-сумматора (23), и подвергшиеся фильтрованию декодированные данные изображения, вводимые из фильтра (24) устранения блочности.
Переключатель (26) считывает из памяти (25) кадров декодированные данные изображения, подлежащие фильтрованию, которые используются для внутрикадрового предсказания, и подает считанные декодированные данные изображения, в качестве данных опорного изображения, в модуль (30) внутрикадрового предсказания. Кроме того, переключатель (26) считывает из памяти (25) кадров подвергшиеся фильтрованию декодированные данные изображения, которые используются для межкадрового предсказания, и подает считанные декодированные данные изображения, в качестве данных опорного изображения, в модуль (40) поиска движения.
Модуль (30) внутрикадрового предсказания выполняет процесс внутрикадрового предсказания в каждом режиме внутрикадрового предсказания, основываясь на данных изображения, подлежащих кодированию, которые вводятся из переупорядочивающего буфера (12), и декодированных данных изображения, подаваемых через переключатель (26). Например, модуль (30) внутрикадрового предсказания оценивает результат предсказания, полученный в каждом режиме внутрикадрового предсказания, используя некоторую предварительно заданную функцию "стоимости". После этого, модуль (30) внутрикадрового предсказания выбирает, в качестве оптимального режима внутрикадрового предсказания, тот режим внутрикадрового предсказания, который минимизирует значение функции стоимости, то есть, тот режим внутрикадрового предсказания, который обеспечивает самую высокую степень сжатия. Кроме того, модуль (30) внутрикадрового предсказания выводит в модуль (50) выбора режима информацию о режиме предсказания, указывающую оптимальный режим внутрикадрового предсказания, данные предсказанного изображения и информацию, касающуюся внутрикадрового предсказания, такую как значение функции "стоимости".
Модуль (40) поиска движения выполняет процесс межкадрового предсказания (процесс предсказания, осуществляемого между кадрами), основываясь на данных изображения, подлежащих кодированию, которые вводятся из переупорядочивающего буфера (12), и декодированных данных изображения, подаваемых через переключатель (26). Например, модуль (30) поиска движения, используя некоторую предварительно заданную функцию "стоимости", оценивает результат предсказания, полученный в каждом режиме предсказания. После этого, модуль (40) поиска движения выбирает, в качестве оптимального режима предсказания, тот режим предсказания, который минимизирует значение функции "стоимости", то есть, режим предсказания, который обеспечивает самую высокую степень сжатия данных. Кроме того, модуль (40) поиска движения генерирует данные предсказанного изображения в соответствии с этим оптимальным режимом предсказания. Модуль (40) поиска движения выводит в модуль (50) выбора режима информацию, касающуюся межкадрового предсказания, которая включает в себя информацию о режиме предсказания, указывающую выбранный оптимальный режим предсказания, данные предсказанного изображения, и информацию, касающуюся межкадрового предсказания, такую как значение функции "стоимости".
Модуль (50) выбора режима сравнивает значение функции "стоимости" для внутрикадрового предсказания, которое введено из модуля (30) внутрикадрового предсказания, со значением функции "стоимости" для межкадрового предсказания, которое введено из модуля (40) поиска движения. После этого, модуль (50) выбора режима выбирает технологию предсказания, имеющую меньшее значение из числа значений функции "стоимости", для внутрикадрового предсказания и межкадрового предсказания. Если выбрано внутрикадровое предсказание, то модуль (50) выбора режима выводит информацию, касающуюся внутрикадрового предсказания, в модуль (16) кодирования без потерь и также выводит данные предсказанного изображения в вычитающий модуль (13) и модуль-сумматор (23). В качестве альтернативы, если выбрано межкадровое предсказание, то модуль (50) выбора режима выводит описанную выше информацию, касающуюся межкадрового предсказания, в модуль (16) кодирования без потерь и также выводит данные предсказанного изображения в вычитающий модуль (13) и модуль-сумматор (23).
2-3. Приводимая в качестве примера конфигурация модуля ортогонального преобразования/квантования
Фиг. 15 представляет собой структурную схему, на которой проиллюстрирован пример детализированной конфигурации модуля (14) ортогонального преобразования/квантования, который относится к устройству (10) кодирования изображений, проиллюстрированному на Фиг. 14. Что касается Фиг. 15, то модуль (14) ортогонального преобразования/квантования включает в себя: модуль (110) выбора, модуль (120) ортогонального преобразования, модуль (130) квантования, буфер (140) списков масштабирования и модуль (150) обработки матрицы.
(1) Модуль выбора
Модуль (110) выбора выбирает, порцию преобразования (TU-порцию), подлежащую использованию для ортогонального преобразования данных изображения, подлежащих кодированию, из числа множества порций преобразования, имеющих различные размеры. Примеры возможных размеров порций преобразования, которые могут быть выбраны модулем (110) выбора, включают в себя размеры: 4×4 и 8×8 для стандарта H.264/AVC (Усовершенствованного кодирования видеоданных), и включают в себя размеры: 4×4, 8×8, 16×16 и 32×32 для стандарта HEVC (Высокоэффективного кодирования видеоданных). Модуль (110) выбора может выбрать порцию преобразования в соответствии, например, с размером или качеством изображения, подлежащего кодированию, производительностью устройства (10) кодирования изображений или тому подобным. Выбор порции преобразования, осуществляемый модулем (110) выбора, может быть настроен вручную пользователем, который разрабатывает устройство (10) кодирования изображений. После этого, модуль (110) выбора выводит информацию, которая указывает размер выбранной порции преобразования, в модуль (120) ортогонального преобразования, модуль (130) квантования, модуль (16) кодирования без потерь и модуль (21) деквантования.
(2) Модуль ортогонального преобразования
Модуль (120) ортогонального преобразования выполняет, ортогональное преобразование над данными изображения (то есть, данными ошибок предсказания), подаваемыми из вычитающего модуля (13), в порциях, представляющих собой порцию преобразования, выбранную модулем (110) выбора. Ортогональное преобразование, выполняемое модулем (120) ортогонального преобразования, может представлять собой, например, дискретное косинусное преобразование (DCT-преобразование), преобразование Карунена-Лоэва (Karhunen-Loeve) или тому подобное. После этого, модуль (120) ортогонального преобразования выводит данные коэффициентов преобразования, полученные посредством процесса ортогонального преобразования, в модуль(130) квантования.
(3) Модуль квантования
Модуль (130) квантования, используя список масштабирования, соответствующий порции преобразования, выбранной модулем (110) выбора, квантует данные коэффициентов преобразования, сгенерированные модулем (120) ортогонального преобразования. Кроме того, модуль (130) квантования переключает размер шага квантования в соответствии с сигналом управления скоростью, подаваемым из модуля (18) управления скоростью, для того, чтобы изменять битовую скорость передачи квантованных данных, подлежащих выводу.
Кроме того, модуль (130) квантования делает так, чтобы в буфере (140) списков масштабирования были сохранены наборы списков масштабирования, соответственно корреспондирующих множеству порций преобразования, которые могут быть выбраны модулем (110) выбора. Например, как в случае стандарта HEVC, если имеется четыре возможных размера порций преобразования, а именно, размеры; 4×4, 8×8, 16×16 и 32×32, то в буфере (140) списков масштабирования могут быть сохранены четыре набора списков масштабирования, соответственно корреспондирующих этим четырем размерам. Отметим, если некоторый указанный список масштабирования используется для некоторого данного размера, то в буфере (140) списков масштабирования в ассоциативной связи с этим данным размером может быть сохранен только флажок, указывающий на то, что указанный список масштабирования используется (список масштабирования, определенный пользователем, не используется).
Набор списков масштабирования, которые могут быть использованы модулем (130) квантованиям, обычно может быть задан для каждой последовательности закодированного потока. В дополнение к этому, модуль (130) квантования может обновлять набор списков масштабирования, который задается для каждой последовательности на покадровой основе. Информация для управления заданием и обновлением набора списков масштабирования может быть вставлена, например, в набор параметров последовательности и набор параметров изображения.
(4) Буфер списка масштабирования
Буфер (140) списков масштабирования, используя носитель данных, такой как полупроводниковое запоминающее устройство, временно хранит набор списков масштабирования, соответственно корреспондирующих множеству порций преобразования, которые могут быть выбраны модулем (110) выбора. Обращение к набору списков масштабирования, сохраненных в буфере (140) списков масштабирования осуществляется тогда, когда модуль (150) обработки матрицы выполняет процесс, описываемый ниже.
(5) Модуль обработки матрицы
Модуль (150) обработки матрицы кодирует список масштабирования, подлежащий использованию для кодирования (квантования). После этого, закодированные данные списка масштабирования (в дальнейшем именуемые как закодированные данные списка масштабирования), сгенерированные модулем (150) обработки матрицы, выводятся в модуль (16) кодирования без потерь, и могут быть вставлены в заголовок закодированного потока данных.
2-4. Детализированная приводимая в качестве примера конфигурация модуля обработки матрицы
Фиг. 16 представляет собой структурную схему, на которой проиллюстрирован пример более детализированной конфигурации модуля (150) обработки матрицы. Что касается Фиг. 16, то модуль (150) обработки матрицы включает в себя модуль (161) предсказания, модуль (162) генерирования матрицы разностей, модуль (163) преобразования размера матрицы разностей, модуль (164) энтропийного кодирования, модуль (165) декодирования, и выходной модуль (166).
(1) Модуль предсказания
Модуль (161) предсказания генерирует матрицу предсказания. Как проиллюстрировано на Фиг. 16, модуль (161) предсказания включает в себя модуль (171) копирования и модуль (172) генерирования матрицы предсказания.
В режиме копирования модуль (171) копирования копирует переданный ранее список масштабирования и использует в качестве матрицы предсказания скопированную матрицу квантования (или предсказывает список масштабирования подлежащей обработке порции ортогонального преобразования). Если описать это более конкретно, то модуль (171) копирования получает из запоминающего модуля (202) в модуле (165) декодирования размер и идентификатор списка (ListID) переданного перед этим списка масштабирования. Размер представляет собой информацию, указывающую размер списка масштабирования (в диапазоне, например, от 4×4 до 32×32). Идентификатор списка представляет собой информацию, указывающую тип подлежащих квантованию данных ошибок предсказания.
Например, идентификатор списка включает в себя идентификационную информацию, указывающую на то, что подлежащие квантованию данные ошибок предсказания представляют собой данные ошибок предсказания (IntraLuma (ВнутрикадровогоДляЯркости)) яркостной составляющей, которая сгенерирована с использованием предсказанного изображения, подвергшегося внутрикадровому предсказанию, данные ошибок предсказания (IntraCr (ВнутрикадровогоДляКрасного)) цветоразностной составляющей (Cr (Красное)), которая сгенерирована с использованием предсказанного изображения, подвергшегося внутрикадровому предсказанию, данные ошибок предсказания (IntraCb (ВнутрикадровогоДляСинего)) цветоразностной составляющей (Cb (Синее)), которая сгенерирована с использованием предсказанного изображения, подвергшегося внутрикадровому предсказанию, или данные ошибок предсказания (InterLuma (МежкадровогоДляЯркости)) яркостной составляющей, которая сгенерирована с использованием предсказанного изображения, подвергшегося межкадровому предсказанию.
Модуль (171) копирования выбирает, в качестве списка масштабирования, подлежащего копированию, некоторый ранее переданный список масштабирования того же самого размера, что и список масштабирования (список масштабирования порции ортогонального преобразования, подлежащей обработке), введенный в модуль (150) обработки матрицы, и подает идентификатор списка, относящийся к списку масштабирования, подлежащему копированию, в выходной модуль (166) для вывода этого идентификатора списка в устройства за пределами модуля (150) обработки матрицы (в модуль (16) кодирования без потерь и модуль (21) деквантования). Таким образом, в этом случае, стороне декодирования передается (или включается в состав закодированных данных) только идентификатор списка как информация, указывающая матрицу предсказания, генерируемую посредством копирования этого ранее переданного списка масштабирования. Таким образом, устройство (10) кодирования изображений может сдерживать увеличение объема кодирования списка масштабирования.
Кроме того, в нормальном режиме, модуль (172) генерирования матрицы предсказания получает из запоминающего модуля (202) в модуле (165) декодирования некоторый ранее переданный список масштабирования, и генерирует матрицу предсказания с использованием этого списка масштабирования (или осуществляет предсказание списка масштабирования порции ортогонального преобразования, подлежащей обработке). Модуль (172) генерирования матрицы предсказания подает сгенерированную матрицу предсказания в модуль (162) генерирования матрицы разностей.
(2) Модуль генерирования матрицы разностей
Модуль (162) генерирования матрицы разностей генерирует матрицу разностей (разностную матрицу), которая представляет собой разность между матрицей предсказания, поданной из модуля (161) предсказания (модуля (172) генерирования матрицы предсказания) и списком масштабирования, введенным в модуль (150) обработки матрицы. Как проиллюстрировано на Фиг. 16, модуль (162) генерирования матрицы разностей включает в себя: модуль (181) преобразования размера матрицы предсказания, вычислительный модуль (182) и модуль (183) квантования.
Модуль (181) преобразования размера матрицы предсказания осуществляет преобразование (далее также именуемое как преобразование), размера матрицы предсказания, подаваемой из модуля (172) генерирования матрицы предсказания, таким образом, чтобы размер матрицы предсказания соответствовал размеру списка масштабирования, введенного в модуль (150) обработки матрицы.
Например, если размер матрицы предсказания больше чем размер списка масштабирования, то модуль (181) преобразования размера матрицы предсказания осуществляет преобразование в направлении понижения (в дальнейшем также именуемое как понижающее преобразование) матрицы предсказания. Если описать это более конкретно, то, например, в случае, когда матрица предсказания имеет размер 16×16, а список масштабирования имеют размер 8×8, модуль (181) преобразования размера матрицы предсказания осуществляет понижающее преобразование матрицы предсказания в матрицу (8×8) предсказания. Отметим, что может быть использован любой способ для понижающего преобразования. Например, модуль (181) преобразования размера матрицы предсказания может осуществить уменьшение количества элементов в матрице предсказания (в дальнейшем также именуемое как понижающая дискретизация), используя фильтр (посредством вычисления). В качестве альтернативы, модуль (181) преобразования размера матрицы предсказания может также уменьшить количество элементов в матрице предсказания посредством, например, как проиллюстрировано на Фиг. 17, прореживания некоторых из элементов (например, только элементов, имеющих четные номера (на Фиг. 17 - элементов, окрашенных в сплошной черный цвет) из числа двумерных элементов), не используя при этом фильтр, (что в дальнейшем также именуется как субдискретизация).
Кроме того, например, если размер матрицы предсказания меньше чем размер списка масштабирования, то модуль (181) преобразования размера матрицы предсказания осуществляет преобразование в направлении повышения (в дальнейшем также именуемое как повышающее преобразование) матрицы предсказания. Если описать это более конкретно, то, например, в случае, когда матрица предсказания имеет размер 8×8, а список масштабирования имеют размер 16×16, модуль (181) преобразования размера матрицы предсказания осуществляет повышающее преобразование матрицы предсказания в матрицу (16×16) предсказания. Отметим, что может быть использован любой способ для повышающего преобразования. Например, модуль (181) преобразования размера матрицы предсказания может осуществить увеличение количества элементов в матрице предсказания (в дальнейшем также именуемое как повышающая дискретизация), используя фильтр (посредством вычисления). В качестве альтернативы, модуль (181) преобразования размера матрицы предсказания может также увеличить количество элементов в матрице предсказания посредством, например, копирования индивидуальных элементов в матрице предсказания, не используя при этом фильтр, (что в дальнейшем также именуется как процесс, обратный субдискретизации).
Модуль (181) преобразования размера матрицы предсказания подает матрицу предсказания, размер которой был приведен в соответствие с размером списка масштабирования, в вычислительный модуль (182).
Вычислительный модуль (182) вычитает список масштабирования, введенный в модуль (150) обработки матрицы, из матрицы предсказания, подаваемой из модуля (181) преобразования размера матрицы предсказания, и генерирует матрицу разностей (разностную матрицу). Вычислительный модуль (182) подает вычисленную матрицу разностей в модуль (183) квантования.
Модуль (183) квантования осуществляет квантование матрицы разностей, подаваемой из вычислительного модуля (182). Модуль (183) квантования подает квантованную матрицу разностей в модуль (163) преобразования размера матрицы разностей. Кроме того, модуль (183) квантования подает информацию, используемую для квантования, такую как параметры квантования, в выходной модуль (166) для вывода этой информации в устройства за пределами модуля (150) обработки матрицы (в модуль (16) кодирования без потерь и модуль (21) деквантования). Отметим, что модуль (183) квантования может быть опущен (то есть, квантование матрицы разностей может в обязательном порядке не выполняться).
(3) Модуль преобразования размера матрицы разностей
Модуль (163) преобразования размера матрицы разностей превращает, в случае необходимости, размер матрицы разностей (квантованных данных), подаваемой из модуля (162) генерирования матрицы разностей (модуля (183) квантования), в размер, который меньше чем или равен максимальному размеру, допускаемому при передаче, (в дальнейшем также именуемому как размер передачи). Максимальный размер может иметь любое произвольное значение, и составляет, например, 8×8.
Закодированные данные, выводимые из устройства (10) кодирования изображений передаются устройству декодирования изображений, соответствующему устройству (10) кодирования изображений, например, через тракт передачи данных или носитель данных, и декодируется этим устройством декодирования изображений. Верхний предел размера (максимальный размер) матрицы разностей (квантованных данных) во время такой передачи данных, или в закодированных данных, выводимых из устройства (10) кодирования изображений, задается в устройстве (10) кодирования изображений.
Если размер матрицы разностей больше чем максимальный размер, то модуль (163) преобразования размера матрицы разностей осуществляет понижающее преобразование матрицы разностей таким образом, чтобы размер матрицы разностей стал меньше чем или равным максимальному размеру.
Отметить, что, аналогично понижающему преобразованию матрицы предсказания, описанному выше, понижающее преобразование матрицы разностей может быть осуществлено с использованием любого способа. Например, может быть выполнена понижающая дискретизация с использованием фильтра или тому подобного, или субдискретизация, которая включает в себя прореживание элементов.
Кроме того, матрица разностей, подвергшаяся понижающему преобразованию, может иметь любой размер, меньший чем максимальный размер. Однако, обычно, чем больше различие в размере между состояниями до и после преобразования, тем больше становится ошибка. Таким образом, желательно, чтобы понижающее преобразование матрицы разностей осуществлялось до этого максимального размера.
Модуль (163) преобразования размера матрицы разностей подает матрицу разностей, подвергшуюся понижающему преобразованию, в модуль (164) энтропийного кодирования. Отметим, что, если размер матрицы разностей меньше чем максимальный размер, то в описанном выше понижающем превращении нет необходимости, и, следовательно, модуль (163) преобразования размера матрицы разностей подает введенную в него матрицу разностей в модуль (164) энтропийного кодирования, как она есть (то есть понижающее преобразование матрицы разностей не проводится).
(4) Модуль энтропийного кодирования
Модуль (164) энтропийного кодирования кодирует матрицу разностей (квантованные данные), подаваемые из модуля (163) преобразования размера матрицы разностей, используя некоторый предварительно заданный способ. Как проиллюстрировано на Фиг. 16, модуль (164) энтропийного кодирования включает в себя модуль (191) определения совпадения (135-градусный модуль), модуль (192) дифференциальной импульсно-кодовой модуляции (DPCM-модуль) и модуль (193) ехр-G.
Модуль (191) определения совпадения определяет симметрию матрицы разностей, подаваемой из модуля (163) преобразования размера матрицы разностей. Если, например, разность (матрица разностей) представляет матрицу, симметричную относительно диагонали, расположенной под углом 135 градусов, как это проиллюстрировано на Фиг. 18, то модуль (191) определения совпадения удаляет данные (элементы матрицы) симметричной части, которая представляет собой совпадающие данные. Если разность не представляет матрицу, симметричную относительно диагонали, расположенной под углом 135 градусов, то модуль (191) определения совпадения не проводит удаление данных (элементов матрицы). Модуль (191) определения совпадения подает данные матрицы разностей, из которой, в случае необходимости, была удалена симметричная часть, в модуль (192) дифференциальной импульсно-кодовой модуляции.
Модуль (192) дифференциальной импульсно-кодовой модуляции выполняет над данными матрицы разностей, из которой, в случае необходимости, была удалена симметричная часть и которая подана из модуля (191) определения совпадения, кодирование методом дифференциальной импульсно-кодовой модуляции и генерирует данные дифференциальной импульсно-кодовой модуляции (DPCM-данные). Модуль (192) дифференциальной импульсно-кодовой модуляции подает сгенерированные данные дифференциальной импульсно-кодовой модуляции в модуль (193) ехр-G.
Модуль (193) ехр-G кодирует данные дифференциальной импульсно-кодовой модуляции, подаваемые из модуля (192) дифференциальной импульсно-кодовой модуляции, используя экспоненциальные коды Голомба со знаком или без знака (в дальнейшем также именуемые как экспоненциальные коды Голомба). Модуль (193) ехр-G подает результат кодирования в модуль (165) декодирования и выходной модуль (166).
(5) Модуль декодирования
Модуль (165) декодирования, исходя из данных, поданных из модуля (193) ехр-G, восстанавливает список масштабирования. Модуль (165) декодирования подает информацию, касающуюся восстановленного списка масштабирования, в качестве ранее переданный список масштабирования, в модуль (161) предсказания.
Как проиллюстрировано на Фиг. 16, модуль (165) декодирования включает в себя модуль (201) восстановления списка масштабирования и запоминающий модуль (202).
Модуль (201) восстановления списка масштабирования декодирует экспоненциальные коды Голомба, подаваемые из модуля (164) энтропийного кодирования (модуля (193) ехр-G) для того, чтобы восстановить список масштабирования, подлежащий вводу в модуль (150) обработки матрицы. Например, модуль (201) восстановления списка масштабирования декодирует экспоненциальные коды Голомба, используя способ, соответствующий способу кодирования для модуля (164) энтропийного кодирования, и получает матрицу разностей, выполняя преобразование, противоположное преобразованию размера, выполненному модулем (163) преобразования размера матрицы разностей, и выполняя деквантование, соответствующее квантованию, выполненному модулем (183) квантования. Модуль (201) восстановления списка масштабирования далее вычитает полученную матрицу разностей из матрицы предсказания для того, чтобы восстановить список масштабирования.
Модуль (201) восстановления списка масштабирования подает восстановленный список масштабирования в запоминающий модуль (202) для сохранения в ассоциативной связи с размером и идентификатором списка, относящимися к этому списку масштабирования.
Запоминающий модуль (202) сохраняет информацию, касающуюся списка масштабирования, поданного из модуля (201) восстановления списка масштабирования. Информация, касающаяся списка масштабирования, хранящаяся в запоминающем модуле (202) используется для того, чтобы сгенерировать матрицы предсказания для других порций ортогонального преобразования, которые обрабатываются позже по времени. Таким образом, запоминающий модуль (202) подает сохраненную информацию, касающуюся списка масштабирования, в модуль (161) предсказания, в качестве информации, касающейся ранее переданного списка масштабирования.
Отметим, что, вместо того, чтобы хранить информацию, касающуюся списка масштабирования, восстановленного способом, описанным выше, запоминающий модуль (202) может хранить список масштабирования, введенный в модуль обработки (150) матрицы, в ассоциативной связи с размером и идентификатором списка, относящимися к введенному списку масштабирования. В этом случае, модуль (201) восстановления списка масштабирования может быть опущен.
(6) Выходной модуль
Выходной модуль (166) выводит поданные различные типы информации на устройства за пределами модуля (150) обработки матрицы. Например, в режиме копирования, выходной модуль (166) подает идентификатор списка матрицы предсказания, подаваемой из модуля (171) копирования, в модуль (16) кодирования без потерь и модуль (21) деквантования. Кроме того, например, в нормальном режиме, выходной модуль (166) подает в модуль (16) кодирования без потерь и модуль (21) деквантования экспоненциальные коды Голомба, подаваемые из модуля (193) ехр-G, и параметры квантования, подаваемые из модуля (183) квантования.
Выходной модуль (166) далее подает идентификационную информацию, указывающую максимальный размер (размер передачи), допускаемый при передаче списка масштабирования (или матрицы разностей между списком масштабирования и его матрицей предсказания), в модуль (16) кодирования без потерь, в качестве информации для генерирования списка масштабирования на стороне декодирования. Как было описано выше, модуль (16) кодирования без потерь создает закодированный поток данных, включающий в себя информацию для генерирования списка масштабирования, и подает этот закодированный поток данных стороне декодирования. Идентификационная информация, указывающая размер передачи, может быть заранее специфицирована по уровню, профилю и тому подобному. В этом случае, информацию, касающуюся размеру передачи, заранее делается известной аппарату на стороне кодирования и аппарату на стороне декодирования. Таким образом, передача идентификационной информации, описанная выше, может не проводиться.
2-5. Детализированная приводимая в качестве примера конфигурация модуля дифференциальной импульсно-кодовой модуляции
Фиг. 19 представляет собой структурную схему, на которой проиллюстрирован пример более детализированной конфигурации модуля (192) дифференциальной импульсно-кодовой модуляции (DPCM-модуля). Что касается Фиг. 19, то модуль (192) дифференциальной импульсно-кодовой модуляции включает в себя модуль (211) кодирования коэффициента постоянного тока и модуль (212) дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока.
Модуль (211) кодирования коэффициента постоянного тока получает коэффициент постоянного тока из числа коэффициентов, подаваемых из модуля (191) определения совпадения, вычитает значение коэффициента постоянного тока из некоторого предварительно заданного начального значения (например, 8) для того, чтобы определить значение разности, и использует это значение разности в качестве начального (i=0) значения разности (scaling_list_delta_coef (коэффициента_дельта_списка_масштабирования)). Модуль (211) кодирования коэффициента постоянного тока подает вычисленное значение разности (scaling_list_delta_coef (i=0)) в модуль (193) ехр-G, в качестве начального коэффициента списка масштабирования, соответствующего анализируемой области, которая обрабатывается.
Модуль (212) дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока получает коэффициент переменного тока из числа коэффициентов, подаваемых из модуля (191) определения совпадения, и вычитает значение этого коэффициента переменного тока из коэффициента, обработанного непосредственно перед этим, для того, чтобы определить значение разности (scaling_list_delta_coef (i>0)). Модуль (212) дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока подает это определенное значение разности (scaling_list_delta_coef (i>0)) в модуль (193) ехр-G, в качестве коэффициента списка масштабирования, соответствующего представляющей интерес области, которая обрабатывается. Отметим что, когда i=1, непосредственно предшествующий коэффициент представлен i=0. Таким образом, коэффициентом, обработанным непосредственно перед этим, является "коэффициент постоянного тока".
Таким образом, модуль (192) дифференциальной импульсно-кодовой модуляции может передавать коэффициент постоянного тока как элемент, расположенный в начале списка масштабирования (коэффициентов переменного тока). Соответственно, эффективность кодирования списка масштабирования может быть повышена.
2-6. последовательность операций процесса кодирования матрицы квантования
Далее, со ссылкой на блок-схему алгоритма, проиллюстрированную на Фиг. 20, будет описан пример последовательности операций процесса кодирования матрицы квантования, который исполняется модулем (150) обработки матрицы, проиллюстрированным на Фиг. 16.
Когда процесс кодирования матрицы квантования начат, на этапе S 101, модуль (161) предсказания получает список масштабирования (или матрицу квантования) для текущей области (также именуемой как анализируемая область), которая представляет собой порцию ортогонального преобразования, подлежащую обработке.
На этапе S 102, модуль (161) предсказания определяет то, является ли текущий режим режимом копирования. Если определено, что текущий режим не является режимом копирования, то модуль (161) предсказания переводит процесс на этап S 103.
На этапе S 103, модуль (172) генерирования матрицы предсказания получает из запоминающего модуля (202) ранее переданный список масштабирования и, используя этот список масштабирования, генерирует матрицу предсказания.
На этапе S 104, модуль (181) преобразования размера матрицы предсказания определяет то, отличается ли размер матрицы предсказания, сгенерированной на этапе S 103, от размера списка масштабирования для текущей области (анализируемой области), который получен на этапе S 101. Если определено, что два размера отличаются, то модуль (181) преобразования размера матрицы предсказания переводит процесс на этап S 105.
На этапе S 105, модуль (181) преобразования размера матрицы предсказания осуществляет преобразование размера матрицы предсказания, сгенерированной на этапе S 103, в размер списка масштабирования для текущей области, который получен на этапе S 101.
Когда обработка данных на этапе S 105 завершена, модуль (181) преобразования размера матрицы предсказания переводит процесс на этап S 106. Если в этапе S 104 определено, что размер матрицы предсказания является тем же самым, что и размер списка масштабирования, модуль (181) преобразования размера матрицы предсказания переводит процесс на этап S 106, пропуская при этом обработку данных на этапе S 105 (или не выполняя обработки данных на этапе S 105).
На этапе S 106, вычислительный модуль (182) вычитает список масштабирования из матрицы предсказания, вычисляя матрицу разностей между матрицей предсказания и списком масштабирования.
На этапе S 107, модуль (183) квантования осуществляет квантование матрицы разностей, сгенерированной на этапе S 106. Отметим, что эта обработка данных может не проводиться.
На этапе S 108, модуль (163) преобразования размера матрицы разностей определяет то, превышает ли размер квантованной матрицы разностей размер передачи (максимальный размер, допускаемый при передаче). Если определено, что размер квантованной матрицы разностей больше чем размер передачи, то модуль (163) преобразования размера матрицы разностей переводит процесс на этап S 109, и осуществляет понижающее преобразование матрицы разностей до размера передачи или меньше.
Когда обработка данных на этапе S 109 завершена, модуль (163) преобразования размера матрицы разностей переводит процесс на этап S 110. Кроме того, если на этапе S 108 определено, что размер квантованной матрицы разностей меньше чем или равен размеру передачи, то модуль (163) преобразования размера матрицы разностей переводит процесс на этап S 110, пропуская обработку данных на этапе S 109 (или не выполняя обработку данных на этапе S 109).
На этапе S 110, модуль (191) определения совпадения определяет то, имеет ли квантованная матрица разностей симметрию относительно диагонали, расположенной под углом 135 градусов. Если определено, что квантованная матрица разностей имеет симметрию относительно диагонали, расположенной под углом 135 градусов, то модуль (191) определения совпадения переводит процесс на этап S 111.
На этапе S 111, модуль (191) определения совпадения удаляет совпадающую часть (совпадающие данные) в квантованной матрице разностей. После того, как совпадающие данные удалены, модуль (191) определения совпадения переводит процесс на этап S 112.
Кроме того, если на этапе S 110 определено, что квантованная матрица разностей не имеет симметрию относительно диагонали, расположенной под углом 135 градусов, то модуль (191) определения совпадения переводит процесс на этап S 112, пропуская обработку данных на этапе S 111 (или не выполняя обработку данных на этапе S 111).
На этапе S 112, модуль (192) дифференциальной импульсно-кодовой модуляции выполняет над матрицей разностей, из которой, в случае необходимости, была удалена совпадающая часть, кодирование посредством дифференциальной импульсно-кодовой модуляции.
На этапе S 113, модуль (193) ехр-G определяет то, имеют ли данные дифференциальной импульсно-кодовой модуляции, сгенерированные на этапе S 112, положительный или отрицательный знак. Если определено, что в состав этих данных включен знак, то модуль (193) ехр-G переводит процесс на этап S 114.
На этапе S 114, модуль (193) ехр-G кодирует данные дифференциальной импульсно-кодовой модуляции, используя экспоненциальное кодирование Голомба со знаком. Выходной модуль (166) выводит сгенерированные экспоненциальные коды Голомба в модуль (16) кодирования без потерь и модуль (21) деквантования. Когда обработка на этапе S 114 завершена, модуль (193) ехр-G переводит процесс на этап S 116.
Кроме того, если на этапе S 113 определено, что в состав данных никакой знак не включен, то модуль (193) ехр-G переводит процесс на этап S 115.
На этапе S 115, модуль (193) ехр-G кодирует данные дифференциальной импульсно-кодовой модуляции, используя экспоненциальное кодирование Голомба без знака. Выходной модуль (166) выводит сгенерированные экспоненциальные коды Голомба в модуль (16) кодирования без потерь и модуль (21) деквантования. Когда обработка данных на этапе S 115 завершена, модуль (193) ехр-G переводит процесс на этап S 116.
Кроме того, если на этапе S 102 определено, что текущий режим является режимом копирования, то модуль (171) копирования копирует ранее переданный список масштабирования, и использует скопированный список масштабирования в качестве матрицы предсказания. Выходной модуль (166) выводит идентификатор списка, соответствующий этой матрице предсказания, в модуль (16) кодирования без потерь и модуль (21) деквантования, в качестве информации, указывающей матрицу предсказания. После этого, модуль (171) копирования переводит процесс на этап S 116.
На этапе S 116, модуль (201) восстановления списка масштабирования восстанавливает список масштабирования. На этапе S 117, запоминающий модуль (202) сохраняет список масштабирования, восстановленный на этапе S 116.
Когда обработка данных на этапе S 117 завершена, модуль (150) обработки матрицы заканчивает процесс кодирования матрицы квантования.
2-7. Последовательность операций процесса дифференциальной импульсно-кодовой модуляции
Далее, со ссылкой на блок-схему алгоритма, проиллюстрированную на Фиг. 21, будет описан пример последовательности операций процесса дифференциальной импульсно-кодовой модуляции, выполняемого на этапе S 112, показанном на Фиг. 20.
Когда процесс дифференциальной импульсно-кодовой модуляции начат, на этапе S 131, модуль (211) кодирования коэффициента постоянного тока определяет разность между коэффициентом постоянного тока и некоторой постоянной. На этапе S 132, модуль (212) дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока определяет разность между коэффициентом постоянного тока и начальным коэффициентом переменного тока.
На этапе S 133, модуль (212) дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока определяет то, все ли коэффициенты переменного тока были обработаны. Если определено, что имеется необработанный коэффициент переменного тока, то модуль (212) дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока переводит процесс на этап S 134.
На этапе S 134, модуль (212) дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока делает объектом обработки следующий коэффициент переменного тока. На этапе S 135, модуль (212) дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока определяет разность между ранее обработанным коэффициентом переменного тока и текущим обрабатываемым коэффициентом переменного тока. Когда обработка на этапа S 135 завершена, модуль (212) дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока возвращает процесс на этап S 133.
Таким образом, до тех пор, пока на этапе S 133 определяют, что имеется необработанный коэффициент переменного тока, модуль (212) дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока повторно выполняет обработку данных на этапах: с S 133 по S 135. Если на этапе S 133 определено, что никакого необработанного коэффициента переменного тока нет, модуль (212) дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока заканчивает процесс дифференциальной импульсно-кодовой модуляции, и возвращает процесс к Фиг. 20.
Как было описано выше, определяется разность между коэффициентом постоянного тока и коэффициентом переменного тока, расположенным в начале среди коэффициентов переменного тока, и эта разность, вместо коэффициента постоянного тока, передается устройству декодирования изображений. Таким образом, устройство (10) кодирования изображений может сдерживать увеличение объема кодирования списка масштабирования.
Далее, будет описана приводимая в качестве примера конфигурация устройства декодирования изображений, соответствующего варианту реализации настоящего раскрываемого изобретения.
2-8. Устройство декодирования изображений
Фиг. 22 представляет собой структурную схему, на которой проиллюстрирована приводимая в качестве примера конфигурация устройства (300) декодирования изображений, соответствующего варианту реализации настоящего раскрываемого изобретения. Устройство (300) декодирования изображений, проиллюстрированное на Фиг. 22, представляет собой устройство обработки изображений, в котором применена настоящая технология, и которое сконфигурировано таким образом, чтобы декодировать закодированные данные, сгенерированные устройством (10) кодирования изображений. Что касается Фиг. 22, то устройство (300) декодирования изображений включает в себя накопительный буфер (311), модуль (312) декодирования без потерь, модуль (313) деквантования/обратного ортогонального преобразования, модуль-сумматор (315), фильтр (316) устранения блочности, буфер (317) переупорядочивания, модуль (318) цифро-аналогового (D/A) преобразования, память (319) кадров, переключатели (320) и (321), модуль (330) внутрикадрового предсказания, и модуль (340) компенсации движения.
Накопительный буфер (311), используя носитель данных, временно накапливает закодированный поток данных, вводимый через тракт передачи данных.
Модуль (312) декодирования без потерь декодирует закодированный поток данных, вводимый из накопительного буфера (311) в соответствии со схемой кодирования, используемой для кодирования. Кроме того, модуль (312) декодирования без потерь декодирует информацию, мультиплексированную в области заголовка закодированного потока данных. Информация, мультиплексированная в области заголовка закодированного потока данных, может включать в себя, например, информацию для генерирования списка масштабирования, описанную выше, и информацию, касающуюся внутрикадрового предсказания, и информацию, касающуюся межкадрового предсказания, которые содержатся в заголовке блока. Модуль (312) декодирования без потерь выводит декодированные квантованные данные и информацию, предназначенную для генерирования списка масштабирования, в модуль (313) деквантования/обратного ортогонального преобразования. Кроме того, модуль (312) декодирования без потерь выводит информацию, касающуюся внутрикадрового предсказания, в модуль (330) внутрикадрового предсказания. Кроме того, модуль (312) декодирования без потерь выводит информацию, касающуюся межкадрового предсказания, в модуль (340) компенсации движения.
Модуль (313) деквантования/обратного ортогонального преобразования выполняет над квантованными данными, вводимыми из модуля (312) декодирования без потерь, деквантование и обратное ортогональное преобразование таким образом, чтобы сгенерировать данные ошибок предсказания. После этого, модуль (313) деквантования/обратного ортогонального преобразования выводит сгенерированные данные ошибок предсказания в модуль-сумматор (315).
Модуль-сумматор (315) суммирует между собой данные ошибок предсказания, вводимых из модуля (313) деквантования/обратного ортогонального преобразования и данных предсказанного изображения, вводимых из переключателя (321), для того, чтобы сгенерировать декодированные данные изображения. После этого, модуль-сумматор (315) выводит сгенерированные декодированные данные изображения в фильтр (316) устранения блочности и память (319) кадров.
Фильтр (316) устранения блочности осуществляет фильтрование декодированных данных изображения, вводимых из модуля-сумматора (315) для того, чтобы устранить артефакты блочности изображения, и выводит подвергшиеся фильтрованию декодированные данные изображения в буфер (317) переупорядочивания и памяти (319) кадров.
Буфер (317) переупорядочивания переупорядочивает изображения, вводимые из фильтра (316) устранения блочности, для того, чтобы сгенерировать последовательную во времени последовательность данных изображения. После этого, буфер (317) переупорядочивания выводит эти сгенерированные данные изображений в модуль (318) цифро-аналогового преобразования.
Модуль (318) цифро-аналогового преобразования преобразует данные изображения в цифровой форме, которые вводятся из буфера (317) переупорядочивания, в сигнал изображения в аналоговой форме. После этого, модуль (318) цифро-аналогового преобразования выводит аналоговый сигнал изображения, например, на устройство отображения (не проиллюстрированное на чертеже), связанное с устройством (300) декодирования изображений, для отображения изображения.
Память (319) кадров сохраняет, используя носитель данных, декодированные данные изображений, подлежащие фильтрованию, которые вводятся из модуля-сумматора (315), и подвергшиеся фильтрованию декодированные данные изображений, вводимые из фильтра (316) устранения блочности.
Переключатель (320) переключает пункт назначения, в который должны выводиться данные изображения, подаваемые из памяти (319) кадров, выбирая между модулем (330) внутрикадрового предсказания и модулем (340) компенсации движения, для каждого блока на изображении, в соответствии с информацией о режиме, полученной модулем (312) декодирования без потерь. Например, если указан режим внутрикадрового предсказания, то переключатель (320) выводит декодированные данные изображения, подлежащие фильтрованию, которые подаются из памяти (319) кадров, в качестве данных опорного изображения, в модуль (330) внутрикадрового предсказания. Кроме того, если указан режим межкадрового предсказания, то переключатель (320) выводит подвергшиеся фильтрованию декодированные данные изображения, подаваемые из памяти (319) кадров, в качестве данных опорного изображения, в модуль (340) компенсации движения.
Переключатель (321) переключает источник данных, из которого должны выводиться данные предсказанного изображения, подлежащие подаче в модуль-сумматор (315), выбирая между модулем (330) внутрикадрового предсказания и модулем (340) компенсации движения, для каждого блока на изображении, в соответствии с информацией о режиме, полученной модулем (312) декодирования без потерь. Например, если указан режим внутрикадрового предсказания, то переключатель (321) подает в модуль-сумматор (315) данные предсказанного изображения, выводимые из модуля (330) внутрикадрового предсказания. Если указан режим межкадрового предсказания, то переключатель (321) подает в модуль-сумматор (315) данные предсказанного изображения, выводимые из модуля (340) компенсации движения.
Модуль (330) внутрикадрового предсказания выполняет предсказание пиксельного значения, осуществляемое внутри экранного изображения, основываясь на информации, касающейся внутрикадрового предсказания, которая вводится из модуля (312) декодирования без потерь, и данных опорного изображения, подаваемых из памяти (319) кадров, и генерирует данные предсказанного изображения. После этого, модуль (330) внутрикадрового предсказания выводит сгенерированные данные предсказанного изображения на переключатель (321).
Модуль (340) компенсации движения выполняет процесс компенсации движения, основываясь на информации, касающейся межкадрового предсказания, которая вводится из модуля (312) декодирования без потерь, и данных опорного изображения, подаваемых из памяти (319) кадров, и генерирует данные предсказанного изображения. После этого, модуль (340) компенсации движения выводит сгенерированные данные предсказанного изображения на переключатель (321).
2-9. Приводимая в качестве примера конфигурация модуля деквантования/обратного ортогонального преобразования
Фиг. 23 представляет собой структурную схему, на которой проиллюстрирован пример основной конфигурации модуля (313) деквантования/обратного ортогонального преобразования, который относится к устройству (300) декодирования изображений, проиллюстрированному на Фиг. 22. Что касается Фиг. 23, то модуль (313) деквантования/ обратного ортогонального преобразования включает в себя модуль (410) генерирования матрицы, модуль (430) выбора, модуль (440) деквантования и модуль (450) обратного ортогонального преобразования.
(1) Модуль генерирования матрицы
Модуль (410) генерирования матрицы декодирует закодированные данные списка масштабирования, которые извлекаются из потока битов и подаются модулем (312) декодирования без потерь, и генерирует список масштабирования. Модуль (410) генерирования матрицы подает сгенерированный список масштабирования в модуль (440) деквантования.
(2) Модуль выбора
Модуль (430) выбора выбирает порцию преобразования (TU-порцию), подлежащую использованию для обратного ортогонального преобразования данных изображения, подлежащих декодированию, из числа множества порций преобразования, имеющих различные размеры. Примеры возможных размеров порций преобразования, которые могут быть выбраны модулем (430) выбора, включают в себя размеры 4×4 и 8×8 для стандарта H.264/AVC (Усовершенствованного кодирования видеоданных) и включают в себя размеры 4×4, 8×8, 16×16 и 32×32 для стандарта HEVC (Высокоэффективного кодирования видеоданных). Модуль (430) выбора может выбирать порцию преобразования в соответствии, например, с наибольшей порцией кодирования (LCU-порцией), наименьшей порцией кодирования (SCU-порцией) и флажком split_flag (флажком_разделения), содержащимся в заголовке закодированного потока данных. После этого, модуль (430) выбора выводит информацию, указывающую размер выбранной порции преобразования, в модуль (440) деквантования и модуль (450) обратного ортогонального преобразования.
(3) Модуль деквантования
Модуль (440) деквантования осуществляет деквантование данных коэффициента преобразования, подвергшихся квантованию при кодировании изображения, с использованием списка масштабирования порции преобразования, выбранной модулем (430) выбора. После этого, модуль (440) деквантования выводит подвергшиеся деквантованию данные коэффициентов преобразования в модуль (450) обратного ортогонального преобразования.
(4) Модуль обратного ортогонального преобразования
Модуль (450) обратного ортогонального преобразования выполняет обратное ортогональное преобразование над данными коэффициентов преобразования, подвергнутых деквантованию модулем (440) деквантования, в порциях, представляющих собой выбранную порцию преобразования, в соответствии со схемой ортогонального преобразования, использованной для кодирования, для того, чтобы сгенерировать данные ошибок предсказания. После этого, модуль (450) обратного ортогонального преобразования выводит сгенерированные данные ошибок предсказания в модуль-сумматор (315).
2-10. Детализированная приводимая в качестве примера конфигурация модуля генерирования матрицы
Фиг. 24 представляет собой структурную схему, на которой проиллюстрирован пример детализированной конфигурации модуля (410) генерирования матрицы, который проиллюстрирован на Фиг. 23. Что касается Фиг. 24, то модуль (410) генерирования матрицы включает в себя: модуль (531) анализа параметров, модуль (532) предсказания, модуль (533) энтропийного декодирования, модуль (534) восстановления списка масштабирования, выходной модуль (535) и запоминающий модуль (536).
(1) Модуль анализа параметров
Модуль (531) анализа параметров анализирует различные флажки и параметры, касающиеся списка масштабирования, которые подаются из модуля (312) декодирования без потерь. Кроме того, в соответствии с результатами анализа, модуль (531) анализа параметров подает различные виды информации, подаваемой из модуля (312) декодирования без потерь, такие как закодированные данные матрицы разностей, в модуль (532) предсказания или модуль (533) энтропийного декодирования.
Например, если pred_mode (режим_предсказания) равен 0, то модуль (531) анализа параметров определяет, что текущий способ представляет собой режим копирования, и подает pred_matrix_id_delta (дельта_идентификатора_матрицы_предсказания) в модуль (541) копирования. Кроме того, например, если pred_mode равен 1, то модуль (531) анализа параметров определяет, что текущий режим представляет собой режим полного сканирования (нормальный режим), и подает pred_matrix_id_delta и pred_size_id_delta (дельта_идентификатора_размера_матрицы предсказания) в модуль (542) генерирования матрицы предсказания.
Кроме того, в случае, если, например, residual_flag (флажок_разностной_матрицы) является "истиной", то модуль (531) анализа параметров подает закодированные данные (экспоненциальные коды Голомба) списка масштабирования, поданные из модуля (312) декодирования без потерь, в модуль (551) ехр-G, относящийся к модулю (533) энтропийного декодирования. Кроме того, модуль (531) анализа параметров подает в модуль (551) ехр-G флажок residual_symmetry_flag (флажок_симметрии_разностной_матрицы).
Кроме того, модуль (531) анализа параметров подает в модуль (562) преобразования размера матрицы разностей, относящийся к модулю (534) восстановления списка масштабирования, флажок residual_down_sampling_flag (флажок_понижающей_дискретизации_разностной_матрицы).
(2) Модуль предсказания
Модуль (532) предсказания генерирует матрицу предсказания в соответствии с управляющим воздействием модуля (531) анализа параметров. Как проиллюстрировано на Фиг. 24, модуль (532) предсказания включает в себя модуль (541) копирования и модуль (542) генерирования матрицы предсказания.
В режиме копирования модуль (541) копирования копирует ранее переданный список масштабирования и использует скопированный список масштабирования в качестве матрицы предсказания. Если описать это более конкретно, то модуль (541) копирования считывает из запоминающего модуля (536) ранее переданный список масштабирования, соответствующий pred_matrix_id_delta (дельта_идентификатора_матрицы_предсказания) и имеющий тот же самый размер, что и список масштабирования для текущей области, использует считанный список масштабирования в качестве предсказанного изображения и подает это предсказанное изображение в выходной модуль (535).
В нормальном режиме модуль (542) генерирования матрицы предсказания генерирует (или предсказывает) матрицу предсказания, используя некоторый ранее переданный список масштабирования. Если описать это более конкретно, то модуль (542) генерирования матрицы предсказания считывает из запоминающего модуля (536) некоторый ранее переданный список масштабирования, соответствующий pred_matrix_id_delta и pred_size_id_delta (дельта_идентификатора_размера_матрицы_предсказания), и, используя считанный список масштабирования, генерирует матрицу предсказания. Другими словами, модуль (542) генерирования матрицы предсказания генерирует матрицу предсказания, аналогичную матрице предсказания, сгенерированной модулем (172) генерирования матрицы предсказания (смотри Фиг. 16), относящимся к устройству (10) кодирования изображений. Модуль (542) генерирования матрицы предсказания подает сгенерированную матрицу предсказания в модуль (561) преобразования размера матрицы предсказания, относящийся к модулю (534) восстановления списка масштабирования.
(3) Модуль энтропийного декодирования
Модуль (533) энтропийного декодирования восстанавливает матрицу разностей, исходя из экспоненциальных кодов Голомба, подаваемых из модуля (531) анализа параметров. Как проиллюстрировано на Фиг. 24, модуль (533) энтропийного декодирования включает в себя модуль (551) ехр-G, модуль (552) процесса, обратного дифференциальной импульсно-кодовой модуляции, и модуль (553) процесса, обратного определению совпадения.
Модуль (551) ехр-G декодирует экспоненциальные коды Голомба со знаком или без знака (что в дальнейшем, также именуется как экспоненциальное декодирование Голомба) для того, чтобы восстановить данные дифференциальной импульсно-кодовой модуляции. Модуль (551) ехр-G подает восстановленные данные дифференциальной импульсно-кодовой модуляции вместе с флажком residual_symmetry_flag (флажок_симметрии_разностной матрицы) в модуль (552) процесса, обратного дифференциальной импульсно-кодовой модуляции.
Модуль (552) процесса, обратного дифференциальной импульсно-кодовой модуляции выполняет декодирование дифференциальной импульсно-кодовой модуляции (DPCM-декодирование) для данных, из которых была удалена совпадающая часть, таким образом, чтобы сгенерировать из данных дифференциальной импульсно-кодовой модуляции разностные данные. Модуль (552) процесса, обратного дифференциальной импульсно-кодовой модуляции, подает сгенерированные разностные данные вместе с флажком residual_symmetry_flag (флажок_симметрии_разностной_матрицы) в модуль (553) процесса, обратного определению совпадения.
Если флажок residual_symmetry_flag (флажок_симметрии_разностной_матрицы) является "истиной", то есть, если разностные данные представляют собой оставшуюся часть матрицы, симметричной относительно диагонали, расположенной под углом 135 градусов, из которой (матрицы) были удалены данные (элементы матрицы) совпадающей симметричной части, модуль (553) процесса, обратного определению совпадения, восстанавливает данные симметричной части. Другими словами, восстанавливается матрица разностей для матрицы, симметричной относительно диагонали, расположенной под углом 135 градусов. Отметим что, если residual_symmetry_flag не является "истиной", то есть, если разностные данные представляют матрицу, которая не является матрицей, симметричной относительно диагонали, расположенной под углом 135 градусов, то модуль (553) процесса, обратного определению совпадения, использует эти разностные данные в качестве матрицы разностей, не восстанавливая при этом данные симметричной части. Модуль (553) процесса, обратного определению совпадения, подает матрицу разностей, восстановленную способом, описанным выше, в модуль (534) восстановления списка масштабирования (в модуль (562) преобразования размера матрицы разностей).
(4) Модуль восстановления списка масштабирования
Модуль (534) восстановления списка масштабирования восстанавливает список масштабирования. Как проиллюстрировано на Фиг. 24, модуль (534) восстановления списка масштабирования включает в себя: модуль (561) преобразования размера матрицы предсказания, модуль (562) преобразования размера матрицы разностей, модуль (563) деквантования и вычислительный модуль (564).
Если размер матрицы предсказания, подаваемой из модуля (532) предсказания (из модуля (542) генерирования матрицы предсказания), отличается от размера списка масштабирования для текущей области, подлежащей восстановлению, то модуль (561) преобразования размера матрицы предсказания осуществляет преобразование размера матрицы предсказания.
Например, если размер матрицы предсказания больше чем размер списка масштабирования, то модуль (561) преобразования размера матрицы предсказания осуществляет понижающее преобразование матрицы предсказания. Кроме того, если, например, размер матрицы предсказания меньше чем размер списка масштабирования, модуль (561) преобразования размера матрицы предсказания осуществляет повышающее преобразование матрицы предсказания. В качестве способа преобразования выбирается тот же самый способ, что и способ в модуле (181) преобразования размера матрицы предсказания (смотри Фиг. 16), относящемся к устройству (10) кодирования изображений.
Модуль (561) преобразования размера матрицы предсказания подает матрицу предсказания, размер которой был приведен в соответствие размеру списка масштабирования, в вычислительный модуль (564).
Если флажок residual_down_sampling_flag (флажок_понижающей_дискретизации_разностной_матрицы) является "истиной", то есть, если размер переданной матрицы разностей меньше, чем размер текущей области, подлежащей деквантованию, то модуль (562) преобразования размера матрицы разностей осуществляет повышающее преобразование матрицы разностей таким образом, чтобы увеличить размер матрицы разностей до размера, соответствующего текущей области, подлежащей деквантованию. Может быть использован любой способ для повышающего преобразования. Например, может быть использован способ, соответствующий способу понижающего преобразования, выполненному модулем (163) преобразования размера матрицы разностей (смотри Фиг. 16), относящимся к устройству (10) кодирования изображений.
Например, если модуль (163) преобразования размера матрицы разностей осуществил понижающее преобразование матрицы разностей, то модуль (562) преобразования размера матрицы разностей может осуществить повышающее преобразование матрицы разностей. В качестве альтернативы, если модуль (163) преобразования размера матрицы разностей осуществил субдискретизацию матрицы разностей, то модуль (562) преобразования размера матрицы разностей может выполнить процесс, обратный субдискретизации матрицы разностей.
Например, вместо обычной линейной интерполяции модуль (562) преобразования размера матрицы разностей может выполнить процесс интерполяции по ближайшему соседу ("ближайшего соседа") как это проиллюстрировано на Фиг. 25. Процесс интерполяции по ближайшему соседу может уменьшить емкость памяти.
Соответственно, даже если список масштабирования, имеющий большой размер, не передается, данные, полученные после повышающего преобразования, не нужно сохранять для повышающего преобразования из списка масштабирования, имеющего малый размер. Кроме того, нет необходимости в промежуточном буфере или тому подобном при сохранении данных, участвующих в вычислении во время повышающей дискретизации.
Отметим, что, если residual_down_sampling_flag (флажок_понижающей_дискретизации_разностной_матрицы) не является "истиной", то есть, если матрица разностей передана с тем же самым размером, что и размер при использовании для процесса квантования, то модуль (562) преобразования размера матрицы разностей не проводит повышающее преобразование матрицы разностей (или может осуществить повышающее преобразование матрицы разностей с коэффициентом 1).
Модуль (562) преобразования размера матрицы разностей подает матрицу разностей, подвергшуюся, в случае необходимости, повышающему преобразованию способом, описанным выше, в модуль (563) деквантования.
Модуль (563) деквантования осуществляет деквантование поданной матрицы разностей (квантованных данных), используя способ, соответствующий способу для квантования, выполненного модулем (183) квантования (смотри Фиг. 16), относящемся к устройству (10) кодирования изображений, и подает подвергшуюся деквантованию матрицу разностей в вычислительный модуль (564). Отметим, что, если модуль (183) квантования опущен (отсутствует), то есть, если матрица разностей, подаваемая из модуля (562) преобразования размера матрицы разностей не является квантованными данными, то модуль (563) деквантования может быть опущен.
Вычислительный модуль (564) складывает между собой матрицу предсказания, подаваемую из модуля (561) преобразования размера матрицы предсказания и матрицу разностей, подаваемую из модуля (562) деквантования, и восстанавливает список масштабирования для текущей области. Вычислительный модуль (564) подает восстановленный список масштабирования в выходной модуль (535) и запоминающий модуль (536).
(5) Выходной модуль
Выходной модуль (535) выводит поданную в него информацию на устройство за пределами модуля (410) генерирования матрицы. Например, в режиме копирования выходной модуль (535) подает в модуль (440) деквантования в качестве списка масштабирования для текущей области матрицу предсказания, подаваемую из модуля (541) копирования. Кроме того, например, в нормальном режиме, выходной модуль (535) подает в модуль (440) деквантования список масштабирования для текущей области, подаваемый из модуля (534) восстановления списка масштабирования (из вычислительного модуля (564).
(6) Запоминающий модуль
Запоминающий модуль (536) сохраняет список масштабирования, подаваемый из модуля (534) восстановления списка масштабирования (из вычислительного модуля (564)), вместе с размером и идентификатором списка, относящегося к этому списку масштабирования. Информация, касающаяся списка масштабирования, сохраненная в запоминающем модуле (536), используется для генерирования матриц предсказания других порций ортогонального преобразования, которые обработаны позже по времени. Другими словами, запоминающий модуль (536) подает сохраненную информацию, касающуюся списка масштабирования, в модуль (532) предсказания, в качестве информации, касающейся ранее переданного списка масштабирования.
2-11. Детализированная приводимая в качестве примера конфигурация модуля процесса, обратного дифференциальной импульсно-кодовой модуляции
Фиг. 26 представляет собой структурную схему, на которой проиллюстрирован пример детализированной конфигурации модуля (552) процесса, обратного дифференциальной импульсно-кодовой модуляции, который (модуль) проиллюстрирован на Фиг. 24. Что касается Фиг. 26, то модуль (552) процесса, обратного дифференциальной импульсно-кодовой модуляции, включает в себя модуль (571) задания начальных значений, модуль (572) декодирования дифференциальной импульсно-кодовой модуляции и модуль (573) извлечения коэффициента постоянного тока.
Модуль (571) задания начальных значений получает sizeID (идентификаторРазмера) и MatrixID (ИдентификаторМатрицы), и задает различным переменным начальные значения. Модуль (571) задания начальных значений подает полученную и заданную информацию в модуль (572) декодирования дифференциальной импульсно-кодовой модуляции.
Модуль (572) декодирования дифференциальной импульсно-кодовой модуляции, используя начальные заданные значения и тому подобное, подаваемые из модуля (571) задания начальных значений, определяет индивидуальные коэффициенты (коэффициент постоянного тока и коэффициенты переменного тока), исходя из значений разности (scaling_list_delta_coef (коэффициент_дельта_списка_масштабирования)) для коэффициента постоянного тока и коэффициентов переменного тока. Модуль (572) декодирования дифференциальной импульсно-кодовой модуляции подает эти определенные коэффициенты в модуль (573) извлечения коэффициента постоянного тока (ScalingList [i] (СписокМасштабирования [i]).
Модуль (573) извлечения коэффициента постоянного тока извлекает коэффициент постоянного тока из числа коэффициентов (ScalingList [i]), подаваемых из модуля (572) декодирования дифференциальной импульсно-кодовой модуляции. Коэффициент постоянного тока располагается в начале коэффициентов переменного тока. Таким образом, начальный коэффициент (ScalingList [0]) из числа коэффициентов, подаваемых из модуля (572) декодирования дифференциальной импульсно-кодовой модуляции представляет собой коэффициент постоянного тока. Модуль (573) извлечения коэффициента постоянного тока извлекает коэффициент, расположены в начале, в качестве коэффициента постоянного тока, и выводит извлеченный коэффициент (DC_coef (Коэффициент_постоянного_тока)) в модуль (553) процесса, обратного определению совпадения. Модуль (573) извлечения коэффициента постоянного тока выводит другие коэффициенты (ScalingList [i] (i>0)) в модуль (553) процесса, обратного определению совпадения, в качестве коэффициентов переменного тока.
Соответственно, модуль (552) процесса, обратного дифференциальной импульсно-кодовой модуляции, может выполнять правильное декодирование дифференциальной импульсно-кодовой модуляции, и может получать коэффициент постоянного тока и коэффициенты переменного тока. Таким образом, устройство (300) декодирования изображений может сдерживать увеличение объема кодирования списка масштабирования.
2-12. Последовательность операций процесса декодирования матрицы квантования
Пример последовательности операций процесса декодирования матрицы квантования, выполняемого модулем (410) генерирования матрицы, имеющей вышеописанную конфигурацию, будет описан со ссылкой на блок-схему алгоритма, проиллюстрированного на Фиг. 27.
Когда процесс декодирования матрицы квантования начат, на этапе S 301, модуль (531) анализа параметров считывает квантованные значения (с Qscale0 по Qscale3) областей: с 0 по 3.
На этапе S 302, модуль (531) анализа параметров считывает pred_mode (режим_предсказания). На этапе S 303, модуль (531) анализа параметров определяет то, действительно ли pred_mode равен 0. Если определено, что pred_mode равен 0, то модуль (531) анализа параметров определяет, что текущий режим представляет собой режим копирования, и переводит процесс на этап S 304.
На этапе S 304, модуль (531) анализа параметров считывает pred_matrix_id_delta (дельта_идентификатора_матрицы_предсказания). На этапе S 305, модуль (541) копирования копирует список масштабирования, который был передан, и использует скопированный список масштабирования в качестве матрицы предсказания. В режиме копирования, эта матрица предсказания выводится в качестве списка масштабирования для текущей области. Когда обработка на этапе S 305 завершена, модуль (541) копирования заканчивает процесс декодирования матрицы квантования.
Кроме того, если на этапе S 303 определено, что pred_mode не равен 0, модуль (531) анализа параметров определяет, что текущий режим представляет собой режим полного сканирования (нормальный режим), и переводит процесс на этап S 306.
На этапе S 306, модуль (531) анализа параметров считывает pred_matrix_id_delta (дельта_идентификатора_матрицы_предсказания), predsize_id_delta (дельта_идентификатора_размера_матрицы_предсказания), и residual_flag (флажок_разностной_матрицы). На этапе S 307, модуль (542) генерирования матрицы предсказания генерирует матрицу предсказания из списка масштабирования, который был передан.
На этапе S 308, модуль (531) анализа параметров определяет то, является ли флажок residual_flag "истиной". Если определено, что флажок residual_flag не является "истиной", то никакие разностные матрицы не существуют, и в качестве списка масштабирования для текущей области выводится матрица предсказания, сгенерированная на этапе, S 307. В этом случае, следовательно, модуль (531) анализа параметров заканчивает процесс декодирования матрицы квантования.
Кроме того, если на этапе S 308 определено, что флажок residual_flag является "истиной", то модуль (531) анализа параметров переводит процесс на этап S 309.
На этапе S 309, модуль (531) анализа параметров считывает флажок residual_down_sampling_flag (флажок_понижающей_дискретизации_разностной_матрицы) и флажок residual_symmetry_flag (флажок_симметрии_разностной_матрицы).
На этапе S 310, модуль (551) ехр-G и модуль (552) процесса, обратного дифференциальной импульсно-кодовой модуляции, декодируют экспоненциальные коды Голомба разностной матрицы, и генерируют разностные данные.
На этапе S 311, модуль (553) процесса, обратного определению совпадения, определяет то, является ли флажок residual_symmetry_flag "истиной". Если определено, что флажок residual_symmetry_flag является "истиной", то модуль (553) процесса, обратного определению совпадения, переводит процесс на этап S 312, и восстанавливает удаленную совпадающую часть разностных данных (или выполняет обратный процесс симметрии). Когда описанным выше способом сгенерирована матрица разностей, которая является матрицей, симметричной относительно диагонали, расположенной под углом 135 градусов, модуль (553) процесса, обратного определению совпадения, переводит процесс на этап S 313.
Кроме того, если на этапе S 311 определено, что флажок residual_symmetry_flag не является "истиной" (или если разностные данные представляют собой матрицу разностей, которая не является матрицей, симметричной относительно диагонали, расположенной под углом 135 градусов), то модуль (553) процесса, обратного определению совпадения, переводит процесс на этап S 313, пропуская при этом обработку данных на этапе S 312 (или без выполнения обратного процесса симметрии).
На этапе S 313, модуль (562) преобразования размера матрицы разностей определяет то, является ли флажок residual_down_sampling_flag (флажок_понижающей_дискретизации_разностной_матрицы) "истиной". Если определено, что флажок residual_down_sampling_flag является "истиной", то модуль (562) преобразования размера матрицы разностей переводит процесс на этап S 314, и осуществляет повышающее преобразование матрицы разностей к размеру, соответствующему текущей области, подлежащей деквантованию. После того, как матрица разностей подверглась повышающему преобразованию, модуль (562) преобразования размера матрицы разностей переводит процесс на этап S 315.
Кроме того, если на этапе S 313 определено, что флажок residual_down_sampling_flag не является "истиной", то модуль (562) преобразования размера матрицы разностей переводит процесс на этап S 315, пропуская обработку данных на этапе S 314 (или без повышающего преобразования матрицы разностей).
На этапе S 315, вычислительный модуль (564) суммирует матрицу разностей с матрицей предсказания для того, чтобы сгенерировать список масштабирования для текущей области. Когда обработка на этапе S 315 завершена, процесс декодирования матрицы квантования заканчивается.
2-13. Последовательность операций процесса декодирования разностного сигнала
Далее, со ссылкой на блок-схему алгоритма, проиллюстрированную на Фиг. 28, будет описан пример последовательности операций процесса декодирования разностного сигнала, выполняемого на этапе S 310, показанном на Фиг. 27.
Когда процесс декодирования разностного сигнала начат, на этапе S 331, модуль (551) ехр-G декодирует поданные экспоненциальные коды Голомба.
На этапе S 332, модуль (552) процесса, обратного дифференциальной импульсно-кодовой модуляции, выполняет процесс, обратный дифференциальной импульсно-кодовой модуляции над данными дифференциальной импульсно-кодовой модуляции, полученными модулем (551) ехр-G посредством декодирования.
Когда процесс, обратный дифференциальной импульсно-кодовой модуляции завершен, модуль (552) процесса, обратного дифференциальной импульсно-кодовой модуляции заканчивает процесс декодирования разностного сигнала и возвращает процесс на Фиг. 27.
2-14. Последовательность операций процесса, обратного дифференциальной импульсно-кодовой модуляции
Далее, со ссылкой на блок-схему алгоритма, проиллюстрированную на Фиг. 29, будет описан пример последовательности операций процесса, обратного дифференциальной импульсно-кодовой модуляции, выполняемого на этапе S 332, показанном на Фиг. 28.
Когда процесс, обратный дифференциальной импульсно-кодовой модуляции начат, на этапе S 351, модуль (571) задания начальных значений получает sizeID (идентификаторРазмера) и MatrixID (ИдентификаторМатрицы).
На этапе S 352, модуль (571) задания начальных значений задает coefNum (количествоКоэффициентов) следующим образом:
coefNum=min((1<<(4+(sizeID<<1))), 65)
На этапе S 353, модуль (571) задания начальных значений задает переменную i и переменную nextcoef (следующийкоэффициент) следующим образом:
i=0
nextcoef=8
На этапе S 354, модуль (572) декодирования дифференциальной импульсно-кодовой модуляции определяет то, действительно ли переменная i<coefNum. Если переменная i меньше t чем coefNum, то модуль (571) задания начальных значений переводи процесс на этап S 355.
На этапе S 355, модуль (572) декодирования дифференциальной импульсно-кодовой модуляции считывает данные дифференциальной импульсно-кодовой модуляции коэффициента (scaling_list_delta_coef (коэффициент_дельта_списка_масштабирования)).
На этапе S 356, модуль (572) декодирования дифференциальной импульсно-кодовой модуляции, используя считанные данные дифференциальной импульсно-кодовой модуляции определяет nextcoef (следующийкоэффициент), как указано ниже, и далее определяет ScalingList [i] (списокМасштабирования [i]).
nextcoef=(nextcoef+scaling_list_delta_coef+256)% 256
scalingList[i]=nextcoef
На этапе S 357, модуль (573) извлечения коэффициента постоянного тока определяет то, является ли sizeID (идентификаторРазмера) большим чем 1 и является ли переменная i равной 0 (то есть, расположен ли коэффициент в начале). Если определено, что sizeID больше чем 1, и переменная i представляет коэффициент, расположенный в начале, то модуль (573) извлечения коэффициента постоянного тока переводит процесс на этап S 358, и использует этот коэффициент в качестве коэффициента постоянного тока (DC_coef=nextcoef (коэффициент постоянного тока = следующийкоэффициент)). Когда обработка данных на этапе S 358 завершена, модуль (573) извлечения коэффициента постоянного тока переводит процесс на этап S 360.
Кроме того, если на этапе S 357 определено, что sizeID меньше чем или равен 1, или что переменная i не представляет коэффициент, расположенный в начале, то модуль (573) извлечения коэффициента постоянного тока переводит процесс на этап S 359, и сдвигает переменную i для каждого коэффициента на единицу, поскольку коэффициент постоянного тока извлечен. (ScalingList [(i-(sizeID)>1)? 1; 0]=nextcoef). Если обработка данных на этапе S 359 завершена, то модуль (573) извлечения коэффициента постоянного тока переводит процесс на этап S 360.
На этапе S 360, модуль (572) декодирования дифференциальной импульсно-кодовой модуляции дает приращение переменной i для того, чтобы изменить объект обработки на следующий коэффициент, и затем возвращает процесс на этап S 354.
На этапе S 354, обработка данных на этапах: с S 354 по S 360, выполняется многократно до тех пор, пока не будет определено, что переменная i больше чем или равна coefNum (количествоКоэффициентов). Если на этапе S 354 определено, что переменная i больше чем или равна coefNum, модуль (572) декодирования дифференциальной импульсно-кодовой модуляции заканчивает процесс, обратный дифференциальной импульсно-кодовой модуляции, и возвращает процесс на Фиг. 28.
Соответственно, разность между коэффициентом постоянного тока и коэффициентом переменного тока, расположенным в начале коэффициентов переменного тока, может быть правильно декодирована. Следовательно, устройство (300) декодирования изображений может сдерживать увеличение объема кодирования списка масштабирования.
3. Третий вариант реализации изобретения
3-1. Синтаксис: Второй способ
Другой способ для того, чтобы вместо коэффициента постоянного тока передавать разность между коэффициентом постоянного тока и другим коэффициентом, может заключаться в том, чтобы, например, передавать разность между коэффициентом постоянного тока и компонентом (0, 0) матрицы (8×8) как данные дифференциальной импульсно-кодовой модуляции, отличные от данных дифференциальной импульсно-кодовой модуляции матрицы (8×8) (второй способ). Например, разность между коэффициентом постоянного тока и компонентом (0, 0) матрицы 8×8 может быть передана после передачи данных дифференциальной импульсно-кодовой модуляции матрицы (8×8).
Соответственно, аналогично первому способу, степень сжатия может быть еще более повышена в случае, когда значение коэффициента (0, 0) (коэффициент переменного тока) матрицы (8×8) и значение коэффициента постоянного тока близки друг к другу.
На Фиг. 30 проиллюстрирован синтаксис списка масштабирования во втором способе. В примере, проиллюстрированном на Фиг. 30, считываются 64 значения разности (scaling_list_delta_coef (коэффициент_дельта_списка_масштабирования)) между коэффициентами. В конце концов считывается разность (scaling_list_dc_coef_delta (дельта_коэффициента_постоянного_тока_списка_масштабирования)) между коэффициентом постоянного тока и коэффициентом (0, 0) (коэффициентом переменного тока), и из этой разности определяется коэффициент постоянного тока.
Во втором способе, соответственно, синтаксис для декодирования коэффициентов переменного тока может быть аналогичен синтаксису на предшествующем уровне техники, проиллюстрированному на Фиг. 12. Таким образом, синтаксис для второго способа может быть получен путем небольшого изменения примера предшествующего уровня техники, и может быть более практически осуществимым чем синтаксис для первого способа.
Однако в то время, как второй способ не позволяет устройству декодирования изображений получить коэффициент постоянного тока до тех пор, пока устройство декодирования изображений не примет все коэффициенты и не распакует все данные дифференциальной импульсно-кодовой модуляции, первый способ позволяет устройству декодирования изображений восстанавливать коэффициент постоянного тогда, когда устройство декодирования изображений принимает начальный коэффициент.
Далее будет описано устройство кодирования изображений, которое реализует синтаксис для второго способа, описанного выше.
3-2. Детализированная приводимая в качестве примера конфигурация модуля дифференциальной импульсно-кодовой модуляции
Во втором способе устройство (10) кодирования изображений имеет конфигурацию, в основном аналогичную конфигурации в первом способе, описанном выше. В частности, устройство (10) кодирования изображений имеет конфигурацию, как в примере, проиллюстрированном на Фиг. 14. Кроме того, модуль (14) ортогонального преобразования/квантования имеет конфигурацию, как в примере, проиллюстрированном на Фиг. 15. Кроме того, модуль (150) обработки матрицы имеет конфигурацию, как в примере, проиллюстрированном на Фиг. 16.
Приводимая в качестве примера конфигурация модуля (192) дифференциальной импульсно-кодовой модуляции во втором примере проиллюстрирована на Фиг. 31. Как проиллюстрировано на Фиг. 31, во втором примере модуль (192) дифференциальной импульсно-кодовой модуляции включает в себя: буфер (611) коэффициента переменного тока, модуль (612) кодирования коэффициента переменного тока, модуль (613) дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока и модуль (614) дифференциальной импульсно-кодовой модуляции коэффициента постоянного тока.
Буфер (611) коэффициента переменного тока сохраняет начальный коэффициент переменного тока (то есть, коэффициент (0, 0)), подаваемый из модуля (191) определения совпадения. Буфер (611) коэффициента переменного тока подает сохраненный начальный коэффициент переменного тока (коэффициент (0, 0) переменного тока) в модуль (614) дифференциальной импульсно-кодовой модуляции коэффициента постоянного тока, в некоторые предварительно заданные моменты времени после того, как все коэффициенты переменного тока были подвергнуты процессу дифференциальной импульсно-кодовой модуляции, или в ответ на запрос.
Модуль (612) кодирования коэффициента переменного тока получает начальный коэффициент переменного тока (коэффициент (0, 0) переменного тока), подаваемый из модуля (191) определения совпадения, и вычитает это значение начального коэффициента переменного тока из некоторой постоянной (например, 8). Модуль (612) кодирования коэффициента переменного тока подает результат вычитания (разность) в модуль (193) ехр-G, в качестве начального коэффициента (scaling_list_delta_coef (коэффициент_дельта_списка_масштабирования) (i=0)) данных дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока.
Модуль (613) дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока получает коэффициенты переменного тока, подаваемые из модуля (191) определения совпадения, определяет, для каждого коэффициента из числа второго и последующих коэффициентов переменного тока, разность (дифференциальную импульсно-кодовую модуляцию) по отношению к непосредственно предшествующему коэффициенту переменного тока, и подает эти определенные разности в модуль (193) ехр-G, в качестве данных дифференциальной импульсно-кодовой модуляции (scaling_list_delta_coef (коэффициент_дельта_списка_масштабирования) (i=1 по 63).
Модуль (614) дифференциальной импульсно-кодовой модуляции коэффициента постоянного тока получает коэффициент постоянного тока, подаваемый из модуля (191) определения совпадения. Модуль (614) дифференциальной импульсно-кодовой модуляции коэффициента постоянного тока, кроме того, получает начальный коэффициент переменного тока (коэффициент (0, 0) переменного тока), хранящийся в буфере (611) коэффициента переменного тока. Модуль (614) дифференциальной импульсно-кодовой модуляции коэффициента постоянного тока вычитает начальный коэффициент переменного тока (коэффициент (0, 0) переменного тока) из коэффициента постоянного тока для того, чтобы определить разность между ними, и подает эту определенную разность в модуль (193) ехр-G, в качестве данных дифференциальной импульсно-кодовой модуляции коэффициента постоянного тока (scaling_list_dc_coef_delta (дельта_коэффициента_постоянного_тока_списка_масштабирования)).
Как было описано выше, во втором способе определяется разность между коэффициентом постоянного тока и другим коэффициентом (начальным коэффициентом переменного тока). Затем, эта разность передается, в качестве данных дифференциальной импульсно-кодовой модуляции коэффициента постоянного тока (scaling_list_dc_coef_delta), отличных от данных дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока, после передачи данных дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока (scaling_list_delta_coef (коэффициент_дельта_списка_масштабирования)), которые представляют собой разность между коэффициентами переменного тока. Соответственно, аналогично первому способу, устройство (10) кодирования изображений может повысить эффективность кодирования списка масштабирования.
3-3. Последовательность операций процесса дифференциальной импульсно кодовой модуляции
Также во втором способе, устройство (10) кодирования изображений исполняет процесс кодирования матрицы квантования аналогично тому, как это делается в первом способе, описанном со ссылкой на блок-схему алгоритма, проиллюстрированную на Фиг. 20.
Пример последовательности операций процесса дифференциальной импульсно-кодовой модуляции во втором способе, которая выполняется на этапе S 112, показанном на Фиг. 20, будет описан со ссылкой на блок-схему алгоритма, проиллюстрированную на Фиг. 32.
Когда процесс дифференциальной импульсно-кодовой модуляции начат, на этапе S 401, буфер (611) коэффициента переменного тока сохраняет начальный коэффициент переменного тока.
На этапе S 402, модуль (612) кодирования коэффициента переменного тока вычитает начальный коэффициент переменного тока из некоторой предварительно заданной постоянной (например, 8) для того, чтобы определить разность между ними (начальные данные дифференциальной импульсно-кодовой модуляции).
Обработка данных на этапах: с S 403 по S 405, выполняется модулем (613) дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока способом, аналогичным обработке данных на этапах: с S 133 по S 135, показанных на Фиг. 21. Таким образом, обработка данных на этапах: с S 403 по S 405, многократно исполняется таким образом, чтобы сгенерировать данные дифференциальной импульсно-кодовой модуляции всех коэффициентов переменного тока (разностей по отношению к непосредственно предшествующим коэффициентам переменного тока).
Если на этапе S 403 определено, что все коэффициенты переменного тока были обработаны (то есть, если нет никакого необработанного коэффициента переменного тока), то модуль (613) дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока переводит процесс на этап S 406.
На этапе S 406, модуль (614) дифференциальной импульсно-кодовой модуляции коэффициента постоянного тока вычитает начальный коэффициент переменного тока, сохраненный на этапе S 401 из коэффициента постоянного тока для того, чтобы определить разность между ними (данные дифференциальной импульсно-кодовой модуляции для коэффициента постоянного тока).
Когда обработка данных на этапе S 406 завершена, модуль (614) дифференциальной импульсно-кодовой модуляции коэффициента постоянного тока заканчивает процесс дифференциальной импульсно-кодовой модуляции и возвращает процесс на Фиг. 20.
[0298] Соответственно, разность между коэффициентом постоянного тока и другим коэффициентом также определяется и передается устройству декодирования изображений, как данные дифференциальной импульсно-кодовой модуляции. Таким образом, устройство (10) кодирования изображений может сдерживать увеличение объема кодирования списка масштабирования.
3-4. Детализированная приводимая в качестве примера конфигурация модуля (552) процесса, обратного дифференциальной импульсно-кодовой модуляции
Во втором способе устройство (300) декодирования изображений имеет конфигурацию, в основном, аналогичную конфигурации в первом способе. В частности, во втором способе также, устройство (300) декодирования изображений имеет конфигурацию, как в примере, проиллюстрированном на Фиг. 22. Кроме того, модуль (313) деквантования/обратного ортогонального преобразования имеет конфигурацию, как в примере, проиллюстрированном на Фиг. 23. Кроме того, модуль (410) генерирования матрицы имеет конфигурацию, как в примере, проиллюстрированном на Фиг. 24.
Фиг. 33 представляет собой структурную схему, на которой проиллюстрирован пример детализированной конфигурации модуля (552) процесса, обратного дифференциальной импульсно-кодовой модуляции, проиллюстрированного на Фиг. 24, во втором способе. Что касается Фиг. 33, то модуль (552) процесса, обратного дифференциальной импульсно-кодовой модуляции, включает в себя модуль (621) задания начальных значений, модуль (622) декодирования дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока, буфер (623) коэффициента переменного тока и модуль (624) декодирования дифференциальной импульсно-кодовой модуляции коэффициента постоянного тока.
Модуль (621) задания начальных значений получает sizeID (идентификаторРазмера) и MatrixID (ИдентификаторМатрицы), и задает различным переменным начальные значения. Модуль (621) задания начальных значений подает полученную и заданную информацию в модуль (622) декодирования дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока.
Модуль (622) декодирования дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока получает данные дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока (scaling_list_delta_coef (коэффициент_дельта_списка_масштабирования)), подаваемые из модуля (551) ехр-G. Модуль (622) декодирования дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока, используя начальные заданные значения и тому подобное, поданные из модуля (621) задания начальных значений, декодирует полученные данные дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока для того, чтобы определить коэффициенты переменного тока. Модуль (622) декодирования дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока подает эти определенные коэффициенты переменного тока (ScalingList [i] (СписокМасштабирования [i]) в модуль (553) процесса, обратного определению совпадения. Модуль (622) декодирования дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока далее подает начальный коэффициент переменного тока (ScalingList [0], то есть, коэффициент (0, 0) переменного тока) из числа этих определенных коэффициентов переменного тока в буфер (623) коэффициента переменного тока для сохранения.
Буфер (623) коэффициента переменного тока сохраняет начальный коэффициент переменного тока (ScalingList [0], то есть, коэффициент (0, 0) переменного тока), подаваемый из модуля (622) декодирования дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока. Буфер (623) коэффициента переменного тока подает начальный коэффициент переменного тока (ScalingList [0], то есть коэффициент (0, 0) переменного тока) в модуль (624) декодирования дифференциальной импульсно-кодовой модуляции коэффициента постоянного тока, в некоторые предварительно заданные моменты времени или в ответ на запрос.
Модуль (624) декодирования дифференциальной импульсно-кодовой модуляции коэффициента постоянного тока получает данные дифференциальной импульсно-кодовой модуляции коэффициента постоянного тока (scaling_list_dc_coef_delta (дельта_коэффициента_постоянного_тока_списка_масштабирования)), подаваемые из модуля (551) ехр-G. Модуль (624) декодирования дифференциальной импульсно-кодовой модуляции коэффициента постоянного тока далее получает начальный коэффициент переменного тока (ScalingList [0], то есть, коэффициент (0, 0) переменного тока), сохраненный в буфере (623) коэффициента переменного тока. Модуль (624) декодирования дифференциальной импульсно-кодовой модуляции коэффициента постоянного тока, используя начальный коэффициент переменного тока, декодирует данные дифференциальной импульсно-кодовой модуляции коэффициента постоянного тока для того, чтобы определить коэффициент постоянного тока. Модуль (624) декодирования дифференциальной импульсно-кодовой модуляции коэффициента постоянного тока подает этот определенный коэффициент постоянного тока (DC_coef (Коэффициент_постоянного_тока)) в модуль (553) процесса, обратного определению совпадения.
Соответственно, модуль (552) процесса, обратного дифференциальной импульсно-кодовой модуляции, может выполнять правильное декодирование дифференциальной импульсно-кодовой модуляции, и может получать коэффициент постоянного тока и коэффициенты переменного тока. Таким образом, устройство (300) декодирования изображений может сдерживать увеличение объема кодирования списка масштабирования.
3-5. Последовательность операций процесса, обратного дифференциальной импульсно-кодовой модуляции
Также во втором способе, устройство (300) декодирования изображений выполняет процесс декодирования матрицы квантования аналогично тому, как это делается в первом способе, описанном выше со ссылкой на блок-схему алгоритма, проиллюстрированную на Фиг. 27. Аналогичным образом, устройство (300) декодирования изображений исполняет процесс декодирования разностного сигнала аналогично тому, как это делается в первом способе, описанном выше со ссылкой на блок-схему алгоритма, проиллюстрированную на Фиг. 28.
Пример последовательности операций процесса, обратного дифференциальной импульсно-кодовой модуляции, исполняемого модулем (552) процесса, обратного дифференциальной импульсно-кодовой модуляции, будет описан со ссылкой на блока-схему алгоритма, проиллюстрированную на Фиг. 34.
Когда процесс, обратный дифференциальной импульсно-кодовой модуляции, начат, на этапе S 421, модуль (621) задания начальных значений получает sizeID (идентификаторРазмера) и MatrixID (ИдентификаторМатрицы).
На этапе S 422, модуль (621) задания начальных значений задает coefNum (количествоКоэффициентов) следующим образом:
coefNum=min((1<<(4+(sizeID<<1))), 64)
На этапе S 423, модуль (621) задания начальных значений задает переменную i и переменную nextcoef (следующийкоэффициент) следующим образом:
i=0
nextcoef=8
На этапе S 424, модуль (572) декодирования дифференциальной импульсно-кодовой модуляции определяет то, действительно ли переменные i<coefNum. Если переменная i меньше, чем coefNum, модуль (621) задания начальных значений переводит процесс на этап S 425.
На этапе S425, модуль (622) декодирования дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока считывает данные дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока (scaling_list_delta_coef (коэффициент_дельта_списка_масштабирования)).
На этапе S 426, модуль (622) декодирования дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока, используя считанные данные дифференциальной импульсно-кодовой модуляции, определяет nextcoef (следующийкоэффициент), как показано ниже, и далее определяет scalingList [i] (списокМасштабирования [i]).
nextcoef=(nextcoef+scaling_list_delta_coef+256)% 256
scalingList[i]=nextcoef
Отметим, что рассчитанный начальный коэффициент переменного тока (ScalingList [0], то есть, коэффициент (0, 0) переменного тока) хранится в буфере (623) коэффициента переменного тока.
На этапе S 427, модуль (622) декодирования дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока дает приращение переменной i для того, чтобы изменить объект, подлежащий обработке, на следующий коэффициент, и после этого возвращает процесс на этап S 424.
На этапе S 424, обработка данных на этапах: с S 424 по S 427, выполняется многократно до тех пор, пока не будет определено, что переменная i больше чем или равна coefNum. Если на этапе S 424 определено, что переменная i больше чем или равна coefNum, то модуль (622) декодирования дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока переводит процесс на этап S 428.
На этапе S 428, модуль (624) декодирования дифференциальной импульсно-кодовой модуляции коэффициента постоянного тока определяет то, является ли sizeID (идентификаторРазмера) большим чем 1. Если определено, что sizeID больше чем 1, то модуль (624) декодирования дифференциальной импульсно-кодовой модуляции коэффициента постоянного тока переводит процесс на этап S 429, и считывает данные дифференциальной импульсно-кодовой модуляции коэффициента постоянного тока (scaling_list_dc_coef_delta (дельта_коэффициента_постоянного_тока_списка_масштабирования).
На этапе S 430, модуль (624) декодирования дифференциальной импульсно-кодовой модуляции коэффициента постоянного тока получает начальный коэффициент переменного тока (ScalingList [0], то есть, коэффициент (0, 0) переменного тока), сохраненный в буфере (623) коэффициента переменного тока, и декодирует данные дифференциальной импульсно-кодовой модуляции коэффициента постоянного тока (DC_coef (Коэффициент_постоянного_тока)), используя начальный коэффициент переменного тока следующим образом:
DC_coef=scaling_list_dc_coef_delta+ScalingList [0]
Когда коэффициент постоянного тока (DC_coef) получен, модуль (624) декодирования дифференциальной импульсно-кодовой модуляции коэффициента постоянного тока заканчивает процесс, обратный дифференциальной импульсно-кодовой модуляции, и возвращает процесс на Фиг. 28.
Кроме того, если на этапе S 428 определено, что sizeID меньше чем или равен 1, то модуль (624) декодирования дифференциальной импульсно-кодовой модуляции коэффициента постоянного тока заканчивает процесс, обратный дифференциальной импульсно-кодовой модуляции, и возвращает процесс на Фиг. 28.
Соответственно, разность между коэффициентом постоянного тока и коэффициентом переменного тока, расположенным в начале коэффициентов переменного тока, может быть правильно декодирована. Следовательно, устройство (300) декодирования изображений может сдерживать увеличение объема кодирования списка масштабирования.
4. Четвертый вариант реализации изобретения
4-1. Синтаксис: Третий способ
Во втором способе, описанном выше, коэффициент постоянного тока может также быть ограничен некоторым значением, меньшим чем начальный коэффициент переменного тока (коэффициент (0, 0) переменного тока) (третий способ).
Это гарантирует то, что данные дифференциальной импульсно-кодовой модуляции коэффициента постоянного тока, то есть, значение разности, полученное посредством вычитания начального коэффициента переменного тока из коэффициента постоянного тока, могут быть положительным значением. Эти данные дифференциальной импульсно-кодовой модуляции могут, таким образом, быть закодированы, с использованием экспоненциальных кодов Голомба без знака. Следовательно, третий способ может воспрепятствовать тому, чтобы коэффициент постоянного тока был больше, чем начальный коэффициент переменного тока, но может уменьшить объем кодирования по сравнению с первым способом и вторым способом.
На Фиг. 35 проиллюстрирован синтаксис списка масштабирования в третьем способе. Как проиллюстрировано на Фиг. 35, в этом случае данные дифференциальной импульсно-кодовой модуляции коэффициента постоянного тока (scaling_list_dc_coef_delta (дельта_коэффициента_постоянного_тока_списка_масштабирования)) ограничены положительным значением.
Синтаксис для третьего способа, описанного выше, может быть реализован устройством (10) кодирования изображений, аналогичным этому устройству во втором способе. В третьем способе, однако, модуль (193) ехр-G может кодировать данные дифференциальной импульсно-кодовой модуляции коэффициента постоянного тока, используя экспоненциальные коды Голомба без знака. Отметим, что устройство (10) кодирования изображений может выполнять процессы, такие как процесс кодирования матрицы квантования и процесс дифференциальной импульсно-кодовой модуляции аналогично тому, как это делается во втором способе.
Кроме того, синтаксис для третьего способа может быть реализован устройством (300) декодирования изображений аналогично тому, как это делается во втором способе. Кроме того, устройство (30) декодирования изображений может выполнять процесс декодирования матрицы квантования аналогично тому, как это делается во втором способе.
4-2. Последовательность операций процесса, обратного дифференциальной импульсно-кодовой модуляции
Пример последовательности операций процесса, обратного дифференциальной импульсно-кодовой модуляции, выполняемого модулем (552) процесса, обратного дифференциальной импульсно-кодовой модуляции, будет описан со ссылкой на блок-схему алгоритма, проиллюстрированную на Фиг. 36.
Обработка данных на этапах: с S 451 по S 459, выполняется способом, аналогичным обработке данных на этапах: с S 421 по S 429, показанных на Фиг. 34.
На этапе S 460, модуль (624) декодирования дифференциальной импульсно-кодовой модуляции коэффициента постоянного тока получает начальный коэффициент переменного тока (ScalingList [0] (СписокМасштабирования [0]), то есть, коэффициент (0, 0) переменного тока), сохраненный в буфере (623) коэффициента переменного тока, и с использованием начального коэффициента переменного тока декодирует данные дифференциальной импульсно-кодовой модуляции коэффициента постоянного тока (DC_coef (Коэффициент_постоянного_тока)), как это показано ниже.
DC_coef=ScalingList[0]-scaling_list_dc_coef_delta
Когда коэффициент постоянного тока (DC_coef) получен, модуль (624) декодирования дифференциальной импульсно-кодовой модуляции коэффициента постоянного тока заканчивает процесс, обратный дифференциальной импульсно-кодовой модуляции, и возвращает процесс на Фиг. 28.
Кроме того, если на этапе S 458 определено, что sizeID (идентификаторРазмера) меньше чем или равен 1, то модуль (624) декодирования дифференциальной импульсно-кодовой модуляции коэффициента постоянного тока заканчивает процесс, обратный дифференциальной импульсно-кодовой модуляции, и возвращает процесс на Фиг. 28.
Соответственно, разность между коэффициентом постоянного тока и коэффициентом переменного тока, расположенным в начале коэффициентов переменного тока, может быть правильно декодирована. Следовательно, устройство (300) декодирования изображений может сдерживать увеличение объема кодирования списка масштабирования.
5. Пятый вариант реализации изобретения
5-1. Синтаксис: Четвертый способ
Другой способ для передачи, вместо коэффициента постоянного тока, разности между коэффициентом постоянного тока и другим коэффициентом, может заключаться, например, в том, чтобы собирать только коэффициенты постоянного тока множества списков масштабирования и выполнять дифференциальную импульсно-кодовую модуляцию, беря разность между коэффициентами постоянного тока отдельно от коэффициентов переменного тока индивидуальных списков масштабирования (четвертый способ). В этом случае, данные дифференциальной импульсно-кодовой модуляции коэффициентов постоянного тока представляют собой коллекцию фрагментов данных для множества списков масштабирования, и передаются как данные, отличные от данных дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока индивидуальных списков масштабирования.
Соответственно, степень сжатия может быть еще более повышена в случае, когда, например, имеются корреляции между коэффициентами постоянного тока списков масштабирования (MatrixID (ИдентификаторМатрицы)).
На Фиг. 37 проиллюстрирован синтаксис для коэффициента постоянного тока списка масштабирования в четвертом способе. В этом случае, поскольку коэффициенты постоянного тока обрабатываются в циклах, отличных от циклов для коэффициентов переменного тока индивидуальных списков масштабирования, как это проиллюстрировано в примере, проиллюстрированном на Фиг. 37, процессы для коэффициентов переменного тока и процессы для коэффициентов постоянного тока должны быть независимыми друг от друга.
Это обеспечивает то, что может быть реализовано большее количество различных способов для процессов кодирования и декодирования списка масштабирования, хотя сложность процесса дифференциальной импульсно-кодовой модуляции и процесса, обратного дифференциальной импульсно-кодовой модуляции, может повыситься. Например, легко может быть реализован процесс, предназначенный для того, чтобы копировать только коэффициенты переменного тока и делать значения коэффициентов постоянного тока различными в режиме копирования.
Количество списков масштабирования, в которых совместно обрабатываются коэффициенты постоянного тока, является произвольным.
5-2. Детализированная приводимая в качестве примера конфигурация модуля дифференциальной импульсно-кодовой модуляции
В четвертом способе устройство (10) кодирования изображений имеет конфигурацию, в основном аналогичную конфигурации в первом способе, описанном выше. В частности, устройство (10) кодирования изображений имеет конфигурацию, как в примере, проиллюстрированном на Фиг. 14. Кроме того, модуль (14) ортогонального преобразования/квантования имеет конфигурацию, как в примере, проиллюстрированном на Фиг. 15. Кроме того, модуль (150) обработки матрицы имеет конфигурацию, как в примере, проиллюстрированном на Фиг. 16.
Приводимая в качестве примера конфигурация модуля (192) дифференциальной импульсно-кодовой модуляции в четвертом способе проиллюстрирована на Фиг. 38. Как проиллюстрировано на Фиг. 38, в этом случае, модуль (192) дифференциальной импульсно-кодовой модуляции включает в себя: модуль (631) дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока, буфер (632) коэффициентов постоянного тока и модуль (633) дифференциальной импульсно-кодовой модуляции коэффициентов постоянного тока.
Модуль (631) дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока выполняет процесс дифференциальной импульсно-кодовой модуляции индивидуальных коэффициентов переменного тока каждого списка масштабирования, которые подаются из модуля (191) определения совпадения. В частности, модуль (631) дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока вычитает, для каждого списка масштабирования, начальный коэффициент переменного тока из некоторого предварительно заданного постоянного (например, 8), и вычитает обрабатываемый коэффициент переменного тока (текущий коэффициент переменного тока) из непосредственно предшествующего ему коэффициента переменного тока. Модуль (631) дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока подает данные дифференциальной импульсно-кодовой модуляции (scaling_list_delta_coef (коэффициент_дельта_списка_масштабирования)), сгенерированные для каждого списка масштабирования, в модуль (193) ехр-G.
Буфер (632) коэффициентов постоянного тока сохраняет коэффициенты постоянного тока индивидуальных списков масштабирования, подаваемые из модуля (191) определения совпадения. Буфер (632) коэффициентов постоянного тока подает сохраненные коэффициенты постоянного тока в модуль (633) дифференциальной импульсно-кодовой модуляции коэффициентов постоянного тока, в некоторые предварительно заданные моменты времени или в ответ на запрос.
Модуль (633) дифференциальной импульсно-кодовой модуляции коэффициентов постоянного тока получает коэффициенты постоянного тока, накопленные в буфере (632) коэффициентов постоянного тока. Модуль (633) дифференциальной импульсно-кодовой модуляции коэффициентов постоянного тока определяет данные дифференциальной импульсно-кодовой модуляции полученных коэффициентов постоянного тока. В частности, модуль (633) дифференциальной импульсно-кодовой модуляции коэффициентов постоянного тока вычитает начальный коэффициент постоянного тока из некоторой предварительно заданной постоянной (например, 8), и вычитает обрабатываемый коэффициент постоянного тока (текущий коэффициент постоянного тока) из непосредственно предшествующего коэффициента постоянного тока. Модуль (633) дифференциальной импульсно-кодовой модуляции коэффициентов постоянного тока подает сгенерированные данные дифференциальной импульсно-кодовой модуляции (scaling_list_delta_coef (коэффициент_дельта_списка_масштабирования)) в модуль (193) ехр-G.
Соответственно, устройство (10) кодирования изображений может повысить эффективность кодирования списка масштабирования.
5-3. Последовательность операций процесса дифференциальной импульсно-кодовой модуляции
Также в четвертом способе, устройство (10) кодирования изображений исполняет процесс кодирования матрицы квантования аналогично тому, как это делается в первом способе, описанном выше со ссылкой на блок-схему алгоритма, проиллюстрированную на Фиг. 20.
Пример последовательности операций процесса дифференциальной импульсно-кодовой модуляции в четвертом способе, которая исполняется на этапе S 112, показанном на Фиг. 20, будет описан со ссылкой на блок-схему алгоритма, проиллюстрированную на Фиг. 39.
Обработка данных на этапах: с S 481 по S 485, исполняется модулем (631) дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока аналогично обработке данных на этапах: с S 401 по S 405 (обработке во втором способе), показанных на Фиг. 32.
Если на этапе S 483 определено, что все коэффициенты переменного тока обработаны, то модуль (631) дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока переводит процесс на этап S 486.
На этапе S 486, модуль (631) дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока определяет то, все ли списки масштабирования (или матрицы разностей), в которых совместно кодируются посредством дифференциальной импульсно-кодовой модуляции коэффициенты постоянного тока, были обработаны. Если определено, что имеется необработанный список масштабирования (или матрица разностей), то модуль (631) дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока возвращает процесс на этап S 481.
Если на этапе S 486 определено, что все списки масштабирования (или матрицы разности) обработаны, то модуль (631) дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока переводит процесс на этап S 487.
Модуль (633) дифференциальной импульсно-кодовой модуляции коэффициентов постоянного тока исполняет обработку данных на этапах: с S 487 по S 491, над коэффициентами постоянного тока, сохраненными в буфере (632) коэффициентов постоянного тока, способом, аналогичным обработке данных на этапах: с S 481 по S 485.
Если на этапе S 489 определено, что все коэффициенты постоянного тока, сохраненные в буфере (632) коэффициентов постоянного тока, были обработаны, модуль (633) дифференциальной импульсно-кодовой модуляции коэффициентов постоянного тока заканчивает процесс дифференциальной импульсно-кодовой модуляции, и возвращает процесс на Фиг. 20.
Исполняя процесс дифференциальной импульсно-кодовой модуляции описанным выше образом, устройство (10) кодирования изображений может повысить эффективность кодирования списка масштабирования.
5-4. Детализированная конфигурация примера модули (552) процесса, обратного дифференциальной импульсно-кодовой модуляции
Устройство (300) декодирования изображений в четвертом способе имеет конфигурацию, в основном, аналогичную конфигурации в первом способе. В частности, в четвертом способе также, устройство (300) декодирования изображений имеет конфигурацию, как в примере, проиллюстрированном на Фиг. 22. Кроме того, модуль (313) деквантования/обратного ортогонального преобразования имеет конфигурацию, как в примере, проиллюстрированном на Фиг. 23. Кроме того, модуль (410) генерирования матрицы имеет конфигурацию, как в примере, проиллюстрированном на Фиг. 24.
Фиг. 40 представляет собой структурную схему, на которой проиллюстрирован пример детализированной конфигурации модуля (552) процесса, обратного дифференциальной импульсно-кодовой модуляции, проиллюстрированного на Фиг. 24, в четвертом способе. Что касается Фиг. 40, то модуль (552) процесса, обратного дифференциальной импульсно-кодовой модуляции, включает в себя: модуль (641) задания начальных значений, модуль (642) декодирования дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока и модуль (643) декодирования дифференциальной импульсно-кодовой модуляции коэффициентов постоянного тока.
Модуль (641) задания начальных значений получает sizeID (идентификаторРазмера) и MatrixID (ИдентификаторМатрицы), и задает различным переменным начальные значения. Модуль (641) задания начальных значений подает полученную и заданную информацию в модуль (642) декодирования дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока и модуль (643) декодирования дифференциальной импульсно-кодовой модуляции коэффициентов постоянного тока.
Модуль (642) декодирования дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока получает данные дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока (scaling_list_delta_coef(ac) (коэффициент_дельта (переменного_тока)_списка_масштабирования)), подаваемые из модуля (551) ехр-G. Модуль (642) декодирования дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока декодирует полученные данные дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока, используя начальные заданные значения и тому подобное, поданные из модуля (641) задания начальных значений, и определяет коэффициенты переменного тока. Модуль (642) декодирования дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока подает эти определенные коэффициенты переменного тока (ScalingList [i] (СписокМасштабирования [i]) в модуль (553) процесса, обратного определению совпадения. Модуль (642) декодирования дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока исполняет описанный выше процесс над множеством списков масштабирования.
Модуль (643) декодирования дифференциальной импульсно-кодовой модуляции коэффициентов постоянного тока получает данные дифференциальной импульсно-кодовой модуляции коэффициента постоянного тока (scaling_list_delta_coef(dc) (коэффициент_дельта (постоянного_тока)_списка_масштабирования)), подаваемые из модуля (551) ехр-G. Модуль (643) декодирования дифференциальной импульсно-кодовой модуляции коэффициентов постоянного тока декодирует полученные данные дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока, используя начальные заданные значения и тому подобное, поданные из модуля (641) задания начальных значений, и определяет коэффициенты постоянного тока индивидуальных списков масштабирования. Модуль (643) декодирования дифференциальной импульсно-кодовой модуляции коэффициентов постоянного тока подает эти определенные коэффициенты постоянного тока (scaling_list_dc_coef (коэффициент_постоянного_тока_списка_масштабирования) в модуль (553) процесса, обратного определению совпадения.
Соответственно, модуль (552) процесса, обратного дифференциальной импульсно-кодовой модуляции, может выполнять правильное декодирование дифференциальной импульсно-кодовой модуляции, и может получать коэффициенты постоянного тока и коэффициенты переменного тока. Таким образом, устройство (300) декодирования изображений может сдерживать увеличение объема кодирования списка масштабирования.
5-5. Последовательность операций процесса, обратного дифференциальной импульсно-кодовой модуляции
Также в четвертом способе, устройство (300) декодирования изображений выполняет процесс декодирования матрицы квантования аналогично тому, как это делается в первом способе, описанном выше со ссылкой на блок-схему алгоритма, проиллюстрированную на Фиг. 27. Аналогичным образом, устройство (300) декодирования изображений исполняет процесс декодирования разностного сигнала аналогично тому, как это делается в первом способе, описанном выше со ссылкой на блок-схему алгоритма, проиллюстрированную на Фиг. 28.
Пример последовательности операций процесса, обратного дифференциальной импульсно-кодовой модуляции, исполняемого модулем (552) процесса, обратного дифференциальной импульсно-кодовой модуляции, будет описан со ссылкой на блока-схему алгоритма, проиллюстрированную на Фигурах 41 и 42.
Когда процесс, обратный дифференциальной импульсно-кодовой модуляции, начат, модуль (641) задания начальных значений и модуль (642) декодирования дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока исполняет обработку данных на этапах: с S 511 по S 517, способом, аналогичным способу при обработке данных на этапах: с S 421 по S 427, показанных на Фиг. 34.
Если на этапе S 514 определено, что переменная i больше чем или равна coefNum (количествоКоэффициентов), то модуль (642) декодирования дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока переводит процесс на этап S 518.
На этапе S 518, модуль (642) декодирования дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока определяет то, все ли списки масштабирования (матрицы разностей), в которых коэффициенты постоянного тока совместно подвергаются процессу дифференциальной импульсно-кодовой модуляции, были обработаны. Если определено, что имеется необработанный список масштабирования (матрица разностей), то модуль (642) декодирования дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока возвращает процесс на этап S 511 и повторно выполняет последующую обработку данных.
Кроме того, если определено, что необработанного списка масштабирования (матрицы разностей) нет, модуль (642) декодирования дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока переводит процесс на Фиг. 42.
На этапе S 521, показанном на Фиг. 42, модуль (641) задания начальных значений задает sizeID (идентификаторРазмера) и переменную nextcoef (следующийкоэффициент) следующим образом:
sizeID=2
nextcoef=8
Кроме того, на этапе S 522, модуль (641) задания начальных значений задает MatrixID (ИдентификаторМатрицы) следующим образом:
MatrixID=0
На этапе S 523, модуль (643) декодирования дифференциальной импульсно-кодовой модуляции коэффициентов постоянного тока определяет то, соблюдается ли соотношение sizeID<4. Если определено, что sizeID меньше чем 4, то модуль (643) декодирования дифференциальной импульсно-кодовой модуляции коэффициентов постоянного тока переводит процесс на этап S 524.
На этапе S 524, модуль (643) декодирования дифференциальной импульсно-кодовой модуляции коэффициентов постоянного тока определяет то, удовлетворяется ли соотношение MatrixID<(sizeID==3)? 2:6. Если определено что соотношение MatrixID<(sizeID==3)? 2:6 удовлетворяется, то модуль (643) декодирования дифференциальной импульсно-кодовой модуляции коэффициентов постоянного тока переводит процесс на этап S 525.
На этапе S 525, модуль (643) декодирования дифференциальной импульсно-кодовой модуляции коэффициентов постоянного тока считывает данные дифференциальной импульсно-кодовой модуляции коэффициента постоянного тока (scaling_list_delta_coef (коэффициент_дельта_списка_масштабирования)).
На этапе S 526, модуль (643) декодирования дифференциальной импульсно-кодовой модуляции коэффициентов постоянного тока определяет nextcoef (следующийкоэффициент), как показано ниже, используя считанные данные дифференциальной импульсно-кодовой модуляции, и далее определяет scaling_dc_coef (масштабирующий_коэффициент_постоянного_тока).
nextcoef=(nextcoef+scaling_list_delta_coef+256)% 256
scaling_dc_coef[sizeID-2][MatrixID]=nextcoef
На этапе S 527, модуль (643) декодирования дифференциальной импульсно-кодовой модуляции коэффициентов постоянного тока дает приращение переменной MatrixID для того, чтобы изменить объект обработки на следующий коэффициент постоянного тока (следующий список масштабирования или разностную матрицу), и затем возвращает процесс на этап S 524.
Если на этапе S 524 определено, что соотношение MatrixID<(sizeID==3)? 2:6 не удовлетворяется, то модуль (643) декодирования дифференциальной импульсно-кодовой модуляции коэффициентов постоянного тока переводит процесс на этап S 528.
На этапе S 528, модуль (643) декодирования дифференциальной импульсно-кодовой модуляции коэффициентов постоянного тока дает приращение переменной sizeID для того, чтобы изменить объект обработки на следующий коэффициент постоянного тока (следующий список масштабирования или разностную матрицу), и затем возвращает процесс на этап S 523.
Если на этапе S 523 определено, что sizeID больше чем или равен 4, то модуль (643) декодирования дифференциальной импульсно-кодовой модуляции коэффициентов постоянного тока заканчивает процесс, обратный дифференциальной импульсно-кодовой модуляции, и возвращает процесс на Фиг. 28.
Соответственно, разности между коэффициентами постоянного тока могут быть правильно декодированы. Следовательно, устройство (300) декодирования изображений может сдерживать увеличение объема кодирования списков масштабирования.
6. Шестой вариант реализации изобретения
6-1. Другой синтаксис: Первый пример
На Фиг. 43 проиллюстрирован другой пример синтаксиса для списка масштабирования. Этот чертеж соответствует Фиг. 12. В примере, проиллюстрированном на Фиг. 12, начальное значение переменной nextcoef (следующийкоэффициент) задается как некоторая предварительно заданная постоянная (например, 8). В качестве альтернативы, как проиллюстрировано на Фиг. 43, начальное значение переменной nextcoef может быть переписано данными дифференциальной импульсно-кодовой модуляции коэффициента постоянного тока (scaling_list_dc_coef_minus8 (коэффициент_постоянного_тока_списка_масштабирования_минус8)).
Соответственно, объем кодирования начальных коэффициентов переменного тока (коэффициентов (0, 0) переменного тока) в списке (16×16) масштабирования и списке (32×32) масштабирования может быть уменьшен.
6-2. Другой синтаксис: Второй пример
На Фиг. 44 проиллюстрирован другой пример синтаксиса для списка масштабирования. Этот чертеж соответствует Фиг. 12.
В примере, проиллюстрированном на Фиг. 12, в случае, когда значение scaling_list_pred_matrix_id_delta (дельта_идентификатора_матрицы_предсказания_списка масштабирования), которое представляет собой информацию, указывающую адресат обращения в режиме копирования, составляет "0", обращение осуществляется к списку масштабирования, который предшествует текущему обрабатываемому списку масштабирования, находясь за один список масштабирования до него, а когда значение scaling_list_pred_matrix_id_delta составляет "1", обращение осуществляется к списку масштабирования, который предшествует текущему обрабатываемому списку масштабирования, находясь за два списка масштабирования до него.
В противоположность этому, в примере, проиллюстрированном на Фиг. 44, как проиллюстрировано в части (C) Фиг. 44, в случае, когда значение scaling_list_pred_matrix_id_delta, которое представляет собой информацию, которая оказывает адресат обращения в режиме копирования, составляет "0", обращение осуществляется к списку масштабирования, используемому по умолчанию, а когда значение scaling_list_pred_matrix_id_delta составляет "1", обращение осуществляется к непосредственно предшествующему списку масштабирования.
Таким образом, изменение семантики scaling_list_pred_matrix_id_delta может упростить синтаксис так, как это проиллюстрировано в части (B) Фиг. 44, и может уменьшить нагрузку процесса дифференциальной импульсно-кодовой модуляции и процесса, обратного дифференциальной импульсно-кодовой модуляции.
6-3. Другой синтаксис: Третий пример
На Фиг. 45 проиллюстрирован другой пример синтаксиса для списка масштабирования. Этот чертеж соответствует Фиг. 12.
В примере, проиллюстрированном на Фиг. 45, используются оба примера из числа: примера, проиллюстрированного на Фиг. 43, и примера, проиллюстрированного на Фиг. 44, описанных выше.
В примере, проиллюстрированном на Фиг. 45, соответственно, объем кодирования начальных коэффициентов переменного тока (коэффициентов (0, 0) переменного тока) в списке (16×16) масштабирования и списке (32×32) масштабирования может быть уменьшен. Кроме того, синтаксис может быть упрощен и нагрузка процесса дифференциальной импульсно-кодовой модуляции и процесса, обратного дифференциальной импульсно-кодовой модуляции, может быть уменьшена.
В вышеприведенных вариантах реализации изобретения, значения предварительно задаваемых постоянных являются произвольными. Кроме того, размеры списков масштабирования также являются произвольными.
Кроме того, хотя вышеприведенное описание дано в отношении процесса преобразования размера для списка масштабирования, матрицы предсказания или матрицы разностей между ними, процесс преобразования размера может представлять собой процесс для фактического генерирования матрицы, размер которой был преобразован, или может представлять собой процесс для задания того, каким образом считывать каждый элемент матрицы из памяти (управление считыванием данных матрицы), бег фактического генерирования данных матрицы.
В ходе процесса преобразования размеров, описанного выше, каждый элемент в матрице, размер которой был преобразован, образуется любым из элементов в матрице, размер которой еще не был преобразован. Таким образом, матрица, размер которой был преобразован, может быть сгенерирована посредством считывания элементов в матрице, размер которой еще не был преобразован, которая сохранена в памяти, с использованием некоторого способа, такого как считывание некоторых из элементов в этой матрице или считывание одного элемента множество раз. Другими словами, определяется способ для считывания каждого элемента (или выполняется управление считыванием данных матрицы) для того, чтобы, по существу, реализовать описанное выше преобразование размера. Этот способ может устранить такой процесс, как запись данных матрицы, размер которой был преобразован, в память. В дополнение к этому, считывание данных матрицы, чей размер был преобразован, в основном, зависит от того, каким образом выполнять интерполяцию по "ближайшему соседу" и тому подобное, и, следовательно, преобразование размера может быть реализовано посредством процесса со сравнительно низкой нагрузкой, такого как выбор подходящего одного из множества вариантов выбора, подготовленных заранее. Соответственно, способ, описанный выше, может уменьшить нагрузку при преобразовании размера.
Таким образом, процесс преобразования размера, описанный выше, включает в себя процесс для фактического генерирования данных матрицы, чей размер был преобразован, и также включает в себя управление считыванием данных матрицы.
Отметить, что, хотя вышеприведенное описание было сделано в контексте кодируемой и передаваемой матрицы разностей, это просто иллюстрация, и кодироваться и передаваться может список масштабирования. Другими словами, коэффициенты переменного тока и коэффициент постоянного тока списка масштабирования, которые были описаны выше как коэффициенты, подлежащие обработке, могут представлять собой коэффициенты переменного тока и коэффициент постоянного тока матрицы разностей между списком масштабирования и матрицей предсказания.
В дополнение к этому, объем кодирования для информации о параметрах, флажках и т.д. списка масштабирования, таких как размер и идентификатор списка, относящиеся к списку масштабирования, может быть уменьшен, например, посредством взятия разности между этой информацией и ранее переданной информацией и передачи этой разности.
Кроме того, хотя вышеприведенное описание было сделано в контексте матрицы квантования или матрицы разностей, каковые матрицы имеют большой размер, подвергаются понижающему преобразованию и передаются, это просто иллюстрация, и матрица квантования или матрица разностей может быть передана, не подвергаясь понижающему преобразованию, в то время как размер матрицы квантования, используемой для квантования, сохраняется неизменным.
Настоящая технология может быть применена к любому типу кодирования и декодирования изображения, который включает в себя квантование и деквантование.
В дополнение к этому, настоящая технология может также быть применена, например, к устройству кодирования изображений и устройству декодирования изображений, используемых для того, чтобы принимать информацию изображения (поток битов), сжатую с использованием ортогонального преобразования, такое как дискретное косинусное преобразование, и компенсации движения, такой как в MPEG или Н.26х, через сетевую среду, такую как спутниковое вещание, кабельное телевидение, сеть "Интернет", или мобильный телефон. Настоящая технология может также быть применена к устройству кодирования изображений и устройству декодирования изображений, используемых для обработки данных на носителях данных, таких как оптический диск, магнитный диск и флэш-память. Кроме того, настоящая технология может также быть применена к устройству квантования и устройству деквантования, входящих в состав устройства кодирования изображений и устройства декодирования изображений, описанных выше, и тому подобных.
7. Седьмой вариант реализации изобретения
Применение к кодированию изображения с множественными представлениями и декодированию изображения с множественными представлениями
Последовательность процессов, описанных выше, может быть применена к кодированию изображения с множественными представлениями и декодированию изображения с множественными представлениями. На Фиг. 46 проиллюстрирован пример схемы кодирования изображения с множественными представлениями.
Как проиллюстрировано на Фиг. 46, изображения с множественными представлениями включают в себя изображения с множества точек наблюдения (или представления). Множество представлений на изображениях с множественными представлениями включает в себя основные представления, каждое из которых кодируется и декодируется использованием изображения этого представления, не используя изображение другого представления, и неосновные представления, каждое из который кодируется и декодируется с использованием изображения другого представления. Каждое из неосновных представлений может быть закодировано и декодировало с использованием изображения основного представления или с использованием изображения любого другого неосновного представления.
Когда изображения с множественными представлениями, проиллюстрированные на Фиг. 46, должны быть закодированы и декодированы, кодируется и декодируется изображение каждого представления. Способ, описанный выше в предшествующих вариантах реализации изобретения, может быть применен к кодированию и декодированию каждого представления. Это может сдерживать ухудшение качества изображения индивидуальных представлений.
Кроме того, флажки и параметры, используемые в способе, описанном выше в предшествующих вариантах реализации изобретения, могут быть совместного использования при кодировании и декодировании каждого представления. Это может сдерживать снижение эффективности кодирования.
Если описать это более конкретно, то, например, информация, касающаяся списка масштабирования (например, параметры, флажки и так далее), может быть совместного использования при кодировании и декодировании каждого представления.
Само собой разумеется, что любая другая необходимая информация может быть совместного использования при кодировании и декодировании каждого представления.
Например, в случае, когда передаче подлежат список масштабирования или информация, касающаяся списка масштабирования, которые включены в состав набора параметров последовательности (SPS-набора) или набора параметров изображения (PPS-набора), если эти наборы (набор параметров последовательности или набор параметров изображения) являются совместно используемыми среди представлений, то список масштабирования или информация, касающаяся списка масштабирования, также, соответственно, является совместно используемым. Это может сдерживать снижение эффективности кодирования.
Кроме того, элементы матрицы в списке масштабирования (или матрице квантования) для основного представления могут быть изменены в соответствии со значениями различия между представлениями. Кроме того, может быть передано значение коррекции для регулирования элемент матрицы неосновного представления относительно элемента матрицы в списке масштабирования (матрице квантования) для основного представления. Соответственно, может сдерживаться увеличение объема кодирования.
Например, список масштабирования для каждого представления может быть отдельно передан заранее. Когда список масштабирования должен быть изменен для каждого представления, можно передавать только информацию, указывающую, отличие от соответствующего одного из списков масштабирования, переданных заранее. Эта информация, указывающая отличие, является произвольной, и может, например, представлять собой информацию в порциях 4×4 или 8×8 или разность между матрицами.
Отметить, что, если список масштабирования или информация, касающаяся списка масштабирования, являются совместно используемыми среди представлений, хотя набор параметров последовательности или набор параметров изображения не являются совместно используемыми, может иметься возможность обращаться к наборам параметров последовательности или наборам параметров изображения, предназначенным для других представлений (то есть, могут быть использованы списки масштабирования или информация, касающаяся списков масштабирования, предназначенные для других представлений).
Кроме того, если такие изображения с множественными представлениями представлены как изображения, имеющие, в качестве компонентов, YUV-изображения (изображения двух цветоразностных и яркостной составляющих) и изображения глубины (Глубину), соответствующие величине различия между представлениями, то могут быть использованы независимый список масштабирования или информация, касающаяся списка масштабирования, для изображения каждого компонента (Y, U, V и Глубины).
Например, поскольку изображение глубины (Глубина) представляет собой изображение края, то списки масштабирования не нужны. Таким образом, даже хотя набор параметров последовательности или набор параметров изображения предписывают использование списка масштабирования, к изображению глубины (Глубине) список масштабирования может не применяться (или может быть применен список масштабирования, в котором все элементы матрицы являются одинаковыми (или однородными)).
Устройство кодирования изображений с множественными представлениями
Фиг. 47 представляет собой схему, на которой проиллюстрировано устройство кодирования изображений с множественными представлениями, предназначенное для выполнения вышеописанной операции кодирования изображения с множественными представлениями. Как проиллюстрировано на Фиг. 47, устройство (700) кодирования изображений с множественными представлениями включает в себя: кодирующий модуль (701), кодирующий модуль (702) и мультиплексирующий модуль (703).
Кодирующий модуль (701) кодирует изображение основного представления и генерирует закодированный поток данных изображения основного представления. Кодирующий модуль (702) кодирует изображение неосновного представления и генерирует закодированный поток данных изображения неосновного представления. Мультиплексирующий модуль (703) мультиплексирует закодированный поток данных изображения основного представления, сгенерированный кодирующим модулем (701), и закодированный поток данных изображения неосновного представления, сгенерированный кодирующим модулем (702), и генерирует закодированный поток данных изображения с множественными представлениями.
Устройство (10) кодирования изображений (смотри Фиг. 14) может быть использовано для каждого модуля из числа: кодирующего модуля (701) и кодирующего модуля (702), относящихся к устройству (700) кодирования изображений с множественными представлениями. Таким образом, может сдерживаться увеличение объема кодирования списка масштабирования при кодировании каждого представления, и может сдерживаться снижение качества изображения для каждого представления. В дополнение к этому, кодирующий модуль (701) и кодирующий модуль (702) могут выполнять процессы, такие как квантование и деквантование, с использованием одних и тех же флажков или параметров (то есть, флажки и параметры могут быть в совместном использовании). Соответственно, может сдерживаться снижение эффективности кодирования.
Устройство декодирования изображений с множественными представлениями
Фиг. 48 представляет собой схему, на которой проиллюстрировано устройство декодирования изображений с множественными представлениями, предназначенное для выполнения вышеописанной операции декодирования изображения с множественными представлениями. Как проиллюстрировано на Фиг. 48, устройство (710) декодирования изображений с множественными представлениями включает в себя: демультиплексирующий модуль (711), декодирующий модуль (712) и декодирующий модуль (713).
Демультиплексирующий модуль (711) осуществляет демультиплексирование закодированного потока данных изображения с множественными представлениями, в который были мультиплексированы закодированный поток данных изображения основного представления и закодированный поток данных изображения неосновного представления, и извлекает закодированный поток данных изображения основного представления и закодированный поток данных изображения неосновного представления. Декодирующий модуль (712) декодирует закодированный поток данных изображения основного представления, извлеченный демультиплексирующим модулем (711), и получает изображение основного представления. Декодирующий модуль (713) декодирует закодированный поток данных изображения неосновного представления, извлеченный демультиплексирующим модулем (711), и получает изображение неосновного представления.
Устройство (300) декодирования изображений (смотри Фиг. 22) может быть использовано для каждого модуля из числа: декодирующего модуля (712) и декодирующего модуля (713), относящихся к устройству (710) декодирования изображений с множественными представлениями. Таким образом, может сдерживаться увеличение объема кодирования списка масштабирования при декодировании каждого представления, и может сдерживаться снижение качества изображения для каждого представления. В дополнение к этому, декодирующий модуль (712) и декодирующий модуль (713) могут выполнять процессы, такие как квантование и деквантование, с использованием одних и тех же флажков или параметров (то есть, флажки и параметры могут быть в совместном использовании). Соответственно, может сдерживаться снижение эффективности кодирования.
8. Восьмой вариант реализации изобретения
Применение к кодированию многоуровневого изображения и декодированию многоуровневого изображения
Последовательность описанных выше процессов может быть применена к кодированию многоуровневого изображения и декодированию многоуровневого изображения (масштабируемое кодирование и масштабируемое декодирование). На Фиг. 49 проиллюстрирован пример схемы кодирования многоуровневого изображения.
Кодирование многоуровневого изображения (масштабируемое кодирование) представляет собой процесс разделения изображения на множество уровней (иерархическое представление) для того, чтобы снабдить данные изображений функцией масштабируемости для некоторого предварительно заданного параметра и чтобы кодировать эти индивидуальные уровни. Декодирование многоуровневого изображения (масштабируемое декодирование) представляет собой процесс декодирования, соответствующий кодированию многоуровневого изображения.
Как проиллюстрировано на Фиг. 49, в иерархическом представлении изображения, одно изображение разделяется на множество субизображений (или уровней) с использованием в качестве ссылки некоторого предварительно заданного параметра с функцией масштабируемости. Таким образом, изображения, разложенные на уровни (или многоуровневые изображения), включают в себя множественные организованные в виде уровней изображения (или изображения - уровни), имеющие различные значения этого предварительно заданного параметра. Множество уровней в многоуровневых изображениях включает в себя основные уровни, каждый из которых кодируется и декодируется с использованием изображения этого уровня, без использования изображения другого уровня, и неосновные уровни (также, именуемые как уровни расширения), каждый из которых кодируется и декодируется с использованием изображения другого уровня. Каждый из неосновных уровней может быть закодирован и декодирован с использованием изображения основного уровня или с использованием изображения любого другого неосновного уровня.
Вообще говоря, для того, чтобы уменьшить избыточность, каждый из неосновных уровней составлен из данных изображения разности (данных разности) между его изображением и изображением другого уровня. Например, в случае, при котором одно изображение разлагается на два уровня, а именно, основной уровень и неосновной уровень (также именуемый как слой расширения), изображение с качеством ниже чем у оригинального изображения, может быть получено с использованием только данных основного уровня, а оригинальное изображение (то есть, изображение с высоким качеством) может быть получено посредством объединения данных основного уровня и данных неосновного уровня.
Иерархическое представление изображения вышеописанным способом может облегчить получение изображений с широким разнообразием качеств в соответствии с ситуациями. Этим обеспечивается то, что информация сжатия изображения может передаваться от сервера в соответствии с возможностями оконечных устройств и сетей, без осуществления перекодирования, таким образом, что, например, оконечным устройствам, имеющим малые возможности по обработке данных, таким как мобильные телефоны, передается информация сжатия изображения, относящаяся только к основному уровню, для воспроизведения движущихся изображений, имеющих низкое пространственно-временное разрешение или низкое качество, а оконечным устройствам, имеющим большие возможности по обработке данных, таким как телевизионные приемники и персональные компьютеры, передается информация сжатия изображения, относящаяся к уровням расширения в дополнение к основным уровням, для воспроизведения движущихся изображений, имеющие высокое пространственно-временное разрешение или высокое качество.
Когда многоуровневые изображения, как в примере, проиллюстрированном на Фиг. 49, должны быть закодированы и декодированы, кодируется и декодируется изображение каждого уровня. Способ, описанный выше в каждом из предшествующих вариантов реализации изобретения, может быть применен к кодированию и декодированию каждого уровня. Это может сдерживать ухудшение качества изображения индивидуальных уровней.
Кроме того, флажки и параметры, используемые в способе, описанном выше в каждом из предшествующих вариантов реализации изобретения, могут быть совместного использования при кодировании и декодировании каждого уровня. Это может сдерживать снижение эффективности кодирования.
Если описать это более конкретно, то, например, информация, касающаяся списка масштабирования (например, параметры, флажки и так далее), может быть совместного использования при кодировании и декодировании каждого представления.
Само собой разумеется, что любая другая необходимая информация может быть совместного использования при кодировании и декодировании каждого представления.
Примеры многоуровневых изображений включают в себя изображения, разделенные на уровни по пространственному разрешение (что также именуется как масштабируемость пространственного разрешения) (пространственная масштабируемость). В многоуровневых изображениях с масштабируемостью пространственного разрешения, разрешения изображений отличаются от уровня уровню. Например, уровень изображения, имеющий самое низкое пространственное разрешение назначается в качестве основного уровня, а уровень изображения, имеющего более высокое разрешение, чем основной уровень, назначается в качестве неосновного уровня (уровня расширения).
Данные изображения неосновного уровня (уровня расширения) могут представлять собой данные, независимые от других уровней, и, аналогично основным уровням, изображение, имеющее разрешение, эквивалентное разрешению этого уровня, может быть получено, только с использованием данных этого изображения. Обычно, однако, данные изображения неосновного уровня (уровня расширения) представляют собой данные, соответствующие изображению разности между изображением этого уровня и изображением другого уровня (например, уровня, находящегося на один уровень ниже этого уровня). В этом случае, при использовании только данных изображения основного уровня получается изображение, имеющее разрешение, эквивалентное разрешению основного уровня, тогда как изображение, имеющее разрешение, эквивалентное разрешению неосновного уровня (уровня расширения), получается посредством объединения данных изображения этого уровня и данных изображения другого уровня (например, уровня, находящегося на один уровень ниже этого уровня). Это может сдерживать избыточность данных изображения между уровнями.
В многоуровневых изображениях, имеющих масштабируемость пространственного разрешения, описанную выше, разрешения изображений отличаются от уровню к уровню. Таким образом, разрешения порций обработки, которыми индивидуальные уровни кодируются и декодируются, также отличаются. Соответственно, если список масштабирования (матрица квантования) совместно используется при кодировании и декодировании индивидуальных уровней, список масштабирования (матрица квантования) может быть подвергнут повышающему преобразованию в соответствии с разрешающими способностями индивидуальных уровней.
Например, предположим, что изображение основного уровня имеет разрешение 2 K (например, 1920×1080), а изображение неосновного уровня (уровня расширения) имеет разрешение 4 K (например, 3840×2160). В этом случае, например, размер (16×16) изображения основного уровня (изображения с разрешением 2 К) соответствуют размеру (32×32) изображения неосновного уровня (изображения с разрешением 4 К). Список масштабирования (матрица квантования) подвергается надлежащему повышающему преобразованию в соответствии с разрешающей способностью.
Например, матрица (4×4) квантования, используемая для квантования и деквантования основного уровня, при квантовании и деквантовании неосновного уровня подвергается повышающему преобразованию до размера (8×8) и используются (в таком виде). Аналогичным образом, список (8×8) масштабирования для основного уровня подвергается повышающему преобразованию до размера (16×16) на неосновном уровне. Аналогичным образом матрица квантования, подвергшаяся повышающему преобразованию до размера (16×16) на основном уровне и использованная, подвергается повышающему преобразованию до размера (32×32) на неосновном уровне.
Отметим, что параметр, для которого обеспечивается масштабируемость, не ограничен пространственным разрешением, и примеры этого параметра могут включать в себя временное разрешение (временную масштабируемость). В многоуровневых изображениях, имеющих масштабируемость временного разрешения, частота смены кадров изображений различается от уровня к уровню. Другие примеры включают в себя масштабируемость битовой глубины, при которой от уровня к уровню различается битовая глубина данных изображения, и масштабируемость насыщенности цвета, при которой от уровня к уровню различается формат компонентов.
Другие еще примеры включают в себя масштабируемость отношения "сигнал-шум", при которой от уровня к уровню различаются отношения "сигнал-шум" (SNR-отношения) изображений.
Ввиду улучшения качества изображения, желательно, чтобы чем ниже отношение "сигнал-к-шуму" имеет изображение, тем меньшей была сделана ошибка квантования. С этой целью, при масштабируемости отношения "сигнал-шум", желательно, чтобы для квантования и деквантования индивидуальных уровней использовались различные списки масштабирования (не общие списки масштабирования) в соответствии с отношением "сигнал-к-шуму". По этой причине, как было описано выше, если список масштабирования совместно используется уровнями, то может быть передано значение коррекции для регулирования элементов матрицы для уровня расширения по отношению к элементам матрицы в списке масштабирования для основного слоя. Если описать это более конкретно, то на поуровневой основе может передаваться информация, указывающая различие между общим списком масштабирования и фактически используемым списком масштабирования. Например, информация, указывающая отличие, может передаваться в наборе параметров последовательности (SPS-наборе) или наборе параметров изображения (PPS-наборе) для каждого слоя. Эта информация, указывающая отличие, является произвольной. Например, эта информация может представлять собой матрицу, имеющую элементы, представляющие значения разности между соответствующими элементами в обоих списках масштабирования, или может представлять собой функцию, указывающую эту разность.
Устройство кодирования многоуровневых изображений
Фиг. 50 представляет собой схему, на которой проиллюстрировано устройство кодирования многоуровневых изображений, предназначенное для выполнения вышеописанной операции кодирования многоуровневого изображения. Как проиллюстрировано на Фиг. 50, устройство (620) кодирования многоуровневых изображений включает в себя кодирующий модуль (721), кодирующий модуль (722) и мультиплексирующий модуль (723).
Кодирующий модуль (721) кодирует изображение основного уровня и генерирует закодированный поток данных изображения основного уровня. Кодирующий модуль (722) кодирует изображение неосновного уровня и генерирует закодированный поток данных изображения неосновного уровня. Мультиплексирующий модуль (723) мультиплексирует закодированный поток данных изображения основного уровня, сгенерированный кодирующим модулем (721), и закодированный поток данных изображения неосновного уровня, сгенерированный кодирующим модулем (722), и генерирует закодированный поток данных многоуровневого изображения.
Устройство (10) кодирования изображений (смотри Фиг. 14) может быть использовано для каждого модуля из числа: кодирующего модуля (721) и кодирующего модуля (722), относящихся к устройству (720) кодирования многоуровневых изображений. Таким образом, может сдерживаться увеличение объема кодирования списка масштабирования при кодировании каждого уровня, и может сдерживаться снижение качества изображения для каждого уровня. В дополнение к этому, кодирующий модуль (721) и кодирующий модуль (722) могут выполнять процессы, такие как квантование и деквантование, с использованием одних и тех же флажков или параметров (то есть, флажки и параметры могут быть в совместном использовании). Соответственно, может сдерживаться снижение эффективности кодирования.
Устройство декодирования многоуровневых изображений
Фиг. 51 представляет собой схему, на которой проиллюстрировано устройство декодирования многоуровневых изображений, предназначенное для выполнения вышеописанной операции декодирования многоуровневого изображения. Как проиллюстрировано на Фиг. 51, устройство (730) декодирования многоуровневых изображений включает в себя: демультиплексирующий модуль (731), декодирующий модуль (732) и декодирующий модуль (733).
Демультиплексирующий модуль (731) осуществляет демультиплексирование закодированного потока данных многоуровневого изображения, в который были мультиплексированы закодированный поток данных изображения основного уровня и закодированный поток данных изображения неосновного уровня, и извлекает закодированный поток данных изображения основного уровня и закодированный поток данных изображения неосновного уровня. Декодирующий модуль (732) декодирует закодированный поток данных изображения основного уровня, извлеченный демультиплексирующим модулем (731), и получает изображение основного уровня. Декодирующий модуль (733) декодирует закодированный поток данных изображения неосновного уровня, извлеченный демультиплексирующим модулем (731), и получает изображение неосновного уровня.
Устройство (300) декодирования изображений (смотри Фиг. 22) может быть использовано для каждого модуля из числа: декодирующего модуля (732) и декодирующего модуля (733), относящихся к устройству (730) декодирования многоуровневых изображений. Таким образом, может сдерживаться увеличение объема кодирования списка масштабирования при декодировании каждого уровня, и может сдерживаться снижение качества изображения для каждого уровня. В дополнение к этому, декодирующий модуль (712) и декодирующий модуль (713) могут выполнять процессы, такие как квантование и деквантование, с использованием одних и тех же флажков или параметров (то есть, флажки и параметры могут быть в совместном использовании). Таким образом, может сдерживаться снижение эффективности кодирования.
9. Девятый вариант реализации изобретения
Компьютер
Вышеописанная последовательность процессов может быть исполнена посредством аппаратных средств или также может быть исполнена посредством программного обеспечения. В этом случае, эта последовательность процессов может быть реализована как, например, компьютер, проиллюстрированный на Фиг. 52.
На Фиг. 52, центральный процессор (ЦП) (801) в компьютере (800) исполняет различные операции обработки данных в соответствии с программой, хранящейся в Постоянном запоминающем устройстве (ПЗУ) (802), или программой, загружаемой с запоминающего модуля (813) в Оперативное запоминающее устройство (ОЗУ) (803). Оперативное запоминающее устройство (803) при необходимости также хранит, данные и тому подобное, необходимые для центральному процессору (801) для того, чтобы исполнять различные операции обработки данных.
Центральный процессор (801), постоянное запоминающее устройство (802) и оперативное запоминающее устройство (803) соединены друг с другом через шину (804). С шиной (804) также соединен интерфейс (810) ввода/вывода.
Интерфейс (810) ввода/вывода соединен с входным модулем (811), выходным модулем (812), запоминающим модулем (813) и модулем (814) связи. Входной модуль (811) включает в себя клавиатуру, "мышь", сенсорную панель, терминал ввода данных и так далее. Выходной модуль (812) включает в себя требуемые выходные устройства, такие как громкоговоритель и устройство отображения, включающее в себя электроннолучевую трубку (ЭЛТ), жидкокристаллического дисплей (ЖКД) и органический электролюминесцентный дисплей (OELD-дисплей), терминал вывода данных и так далее. Запоминающий модуль (813) включает в себя требуемый носитель данных, такой как жесткий магнитный диск или флэш-память и управляющий модуль, который управляет вводом и выводом данных этого носителя данных. Модуль (814) связи включает в себя требуемые устройства проводной или беспроводной связи, такие как модем, интерфейс локальной сети, устройство USB (Универсальной последовательной шины) и устройство Bluetooth (зарегистрированный товарный знак). Модуль (814) связи выполняет обработку данных при связи с другими устройствами связи через сети, включающие в себя, например, сеть "Интернет".
Кроме того, с интерфейсом (810) ввода/вывода, если необходимо, соединен накопитель (815). В накопитель (815), при необходимости, помещается съемный носитель (821) информации, такой как магнитный диск, оптический диск, магнитооптический диск или полупроводниковое запоминающее устройство. Накопитель (815) считывает с помещенного в него съемного носителя (821) информации компьютерную программу, данные и тому подобное в соответствии с управляющим воздействием, например, центрального процессора (801). Считанные данные и компьютерная программа подаются, например, в оперативное запоминающее устройство (803). Компьютерная программа, считанная со съемного носителя (821) информации далее, если необходимо, устанавливается в запоминающий модуль (813).
В случае, когда вышеописанная последовательность процессов исполняется посредством программного обеспечения, программа, составляющая это программное обеспечение, устанавливается из сети или с носителя записи.
Примеры носителя записи включают в себя, как проиллюстрировано на Фиг. 52, съемный носитель (821) информации, который поставляется отдельно от корпуса устройства, для доставки программы пользователю, такой как магнитный диск (включая гибкий диск), оптический диск (включая CD-ROM (Постоянное запоминающее устройство на компакт-диске) и DVD (Цифровой универсальный диск)), магнитооптический диск (включая MD (Минидиск)) или полупроводниковое запоминающего устройство, на которых записана программа. Другие примеры носителя записи включают в себя устройства, поставляемые пользователю таким образом, что являются заранее встроенными в корпус устройства, такие как постоянное запоминающее устройство (802) и жесткий магнитный диск, входящий в состав запоминающего модуля (813), на которых записана программа.
Отметим, что программа, которую исполняет компьютер (800), может представлять собой программу, в которой операции обработки данных выполняются последовательно во времени в изложенном здесь порядке, или может представлять собой программу, в которой операции обработки данных выполняются параллельно или в необходимые моменты времени, например, когда вызываются.
В дополнение к этому, этапы, описывающие программу, хранящуюся на носителе записи, которые использованы в данном описании, включают в себя, конечно, операции обработки данных, выполняемые последовательно во времени в изложенном порядке, и операции обработки данных, выполняемые параллельно или индивидуально, но не обязательно выполняемые последовательно во времени.
Кроме того, термин "система", в том значении, в котором он здесь используется, относится к набору составляющих элементов (устройств, модулей (компонентов), и так далее) независимо от того, расположены ли все составляющие элементы в одном и том же корпусе или нет. Таким образом, множество устройств, расположенных в отдельных корпусах и соединенных через сеть, и единственное устройство, включающее в себя множество модулей, расположенных в одном корпусе, определены как система.
В дополнение к этому, конфигурация, описанная выше как одно устройство (или модуль обработки данных), может быть разделена на множество устройств (или модулей обработки данных). В противоположность этому, конфигурации, описанные выше как множество устройств (или модулей обработки данных), могут быть объединены в одно устройство (или модуль обработки данных). В дополнение к этому, конечно, к конфигурации каждого устройства (или каждого модуля обработки данных) может быть добавлена конфигурация, отличная от той, что описана выше. Кроме того, часть конфигурации некоторого устройства (или модуля обработки данных) может быть включена в состав конфигурации другого устройства (или другого модуля обработки данных), если эти устройства (или модули обработки данных) имеют, по существу, одинаковую конфигурацию и/или функционирование в том, что касается всей системы. Другими словами, варианты реализации настоящей технология не ограничены вышеприведенными вариантами реализации, и могут быть сделаны разнообразные модификации, не выходящие за рамки объема настоящей технологии.
Хотя подробно, со ссылкой на прилагаемые чертежи, были описаны предпочтительные варианты реализации настоящего раскрываемого изобретения, технический объем настоящего раскрываемого изобретения не ограничен раскрытыми здесь примерами. Очевидно, что специалист, имеющий обычную квалификацию в области техники, к которой относится настоящее раскрываемое изобретение, мог бы получить разнообразные изменения или модификации, не выходя за рамки объема технической концепции, которая определена в формуле изобретения, и следует понимать, как само собой разумеющееся, что такие изменения или модификации также находятся в пределах технического объема настоящего раскрываемого изобретения.
Например, настоящая технология может быть реализована с конфигурацией облачного вычисления, в которой множество устройств через сеть принимают участие и взаимодействуют в обработке данных для одной функции.
В дополнение к этому, каждый из этапов, проиллюстрированных на блок-схемах алгоритмов, описанных выше, могут быть исполнены одним устройством или множеством устройств совместным образом.
Кроме того, если один этап включает в себя множество процессов, то это множество процессов, входящих в состав одного этапа, может быть исполнено одним устройством или множеством устройств совместным образом.
Устройство (10) кодирования изображений (смотри Фиг. 14) и устройство (300) декодирования изображений (смотри Фиг. 22), соответствующие вышеприведенным вариантам реализации изобретения, могут быть применены к различным единицам электронного оборудования, таким как передатчик или приемник, используемые для доставки данных посредством спутникового вещания, проводного вещании, такого как кабельное телевидение, или сети "Интернет", или используемые для доставки данных оконечным устройствам или от них посредством сотовой связи, записывающий аппарат, который записывает изображения на носители информации, такие как оптический диск, магнитный диск и флэш-память, и аппарат воспроизведения, который воспроизводит изображений с таких носителей записи. Далее будут описаны четыре приводимых в качестве примера вариантов применения.
10. Приводимые в качестве примера варианты применения
Первый приводимый в качестве примера вариант применения: телевизионный приемник
На Фиг. 53 проиллюстрирован пример схематической конфигурации телевизионного аппарата, в котором применены вышеприведенные варианты реализации изобретения. Телевизионный аппарат (900) включает в себя: антенну (901), тюнер (902), демультиплексор (903), декодер (904), модуль (905) обработки видеосигнала, модуль (906) отображения, модуль (907) обработки аудиосигнала, громкоговоритель (908), внешний интерфейс (909), управляющий модуль (910), пользовательский интерфейс (911) и шину (912).
Тюнер (902) извлекает из сигнала вещания, принимаемого через антенну (901), сигнал требуемого канала и демодулирует извлеченный сигнал. После этого, тюнер (902) выводит закодированный поток битов, полученный посредством демодуляции, в демультиплексор (903). Другими словами, тюнер (902) функционирует в качестве передающего модуля в телевизионном аппарате (900) для приема закодированного потока данных, включающего в себя закодированные изображения.
Демультиплексор (903) осуществляет демультиплексирование закодированного потока битов, разделяя его на поток видеоинформации и поток аудиоинформации программы, подлежащей просмотру, и выводит демультиплексированные потоки данных в декодер (904). Кроме того, демультиплексор (903) извлекает из закодированного потока битов вспомогательные данные, такие как EPG (Электронный путеводитель по телевизионным программам), и подает извлеченные данные в управляющий модуль (910). Отметим, что если поток битов был скремблирован, то демультиплексор (903) может также осуществлять дескремблирование закодированного потока битов.
Декодер (904) декодирует поток видеоинформации и поток аудиоинформации, вводимые из демультиплексора (903). После этого, декодер (904) выводит видеоданные, сгенерированные посредством процесса декодирования, в модуль (905) обработки видеосигнала. Декодер (904) выводит аудиоданные, сгенерированные посредством процесса декодирования, в модуль (907) обработки аудиосигнала.
Модуль (905) обработки видеосигнала воспроизводит видеоданные, вводимые из декодера (904), и обеспечивает отображение видеоинформации на модуле (906) отображения. Модуль (905) обработки видеосигнала может заставлять отображаться на модуле (906) отображения прикладное экранное изображение, подаваемое через сеть. Модуль (905) обработки видеосигнала может, кроме того, в соответствии с настройками, выполнять над видеоданными дополнительную обработку данных, такую как устранение шумов. В дополнение к этому, модуль (905) обработки видеосигнала может также генерировать изображение графического пользовательского интерфейса (ГПИ), такое как меню, кнопка и курсор, и накладывает сгенерированное изображение на выводимое изображение.
Модуль (906) отображения управляется управляющим сигналом, подаваемым из модуля (905) обработки видеосигнала, и отображает видеоинформацию или изображение на видеоповерхности устройства отображения (такого как, жидкокристаллический дисплей, плазменный дисплей или органический электролюминесцентный дисплей (OELD-дисплей (органический ЭЛ дисплей)).
Модуль (907) обработки аудиосигнала выполняет процессы воспроизведения, такие как цифро-аналоговое преобразование и усиление, над аудиоданными, вводимыми из декодера (904), и обеспечивает вывод аудиоинформации из громкоговорителя (908). Модуль (907) обработки аудиосигнала может, кроме того, выполнять над аудиоданными дополнительную обработку данных, такую как устранение шумов.
Внешний интерфейс (909) представляет собой интерфейс для соединения телевизионного аппарата (900) с внешним устройством или сетью. Например, поток видеоинформации или поток аудиоинформации, принятые через внешний интерфейс (909), могут быть декодированы декодером (904). Другими словами, внешний интерфейс (909) также функционирует в качестве передающего модуля в телевизионном аппарате (900) для приема закодированного потока данных, включающего в себя закодированные изображения.
Управляющий модуль (910) включает в себя процессор, такой как центральный процессор, и запоминающие устройства, такие как оперативное запоминающее устройство и постоянное запоминающее устройство. Запоминающие устройства хранят программу, подлежащую исполнению центральным процессором, данные программ, данные EPG (Электронного путеводителя по телевизионным программам), данные, полученные через сеть и так далее. Программа, хранящаяся в запоминающих устройствах, считывается и исполняется центральным процессором, например, при включении телевизионного аппарата (900). Центральный процессор исполняет эту программу, управляя функционированием телевизионного аппарата (900) в соответствии, например, с операционным сигналом, вводимым из пользовательского интерфейса (911).
С управляющим модулем (910) соединен пользовательский интерфейс (911). Пользовательский интерфейс (911) включает в себя, например, кнопки и выключатели для предоставления пользователю возможности управлять телевизионным аппаратом (900), принимающий модуль для сигнала дистанционного управления и так далее. Пользовательский интерфейс (911) обнаруживает операцию пользователя через вышеописанные компоненты для того, чтобы сгенерировать операционный сигнал, и выводит сгенерированный операционный сигнал в управляющий модуль (910).
Шина (912) служит для того, чтобы соединять тюнер (902), демультиплексор (903), декодер (904), модуль (905) обработки видеосигнала, модуль (907) обработки аудиосигнала, внешний интерфейс (909) и управляющий модуль (910) друг с другом.
В телевизионном аппарате (900), имеющем вышеописанную конфигурацию, декодер (904) имеет функцию устройства (300) декодирования изображений (смотри Фиг. 22), соответствующего вышеприведенным вариантам реализации изобретения. Соответственно, телевизионный аппарат (900) может сдерживать увеличение объема кодирования списка масштабирования.
Второй приводимый в качестве примера вариант применения: мобильный телефон
На Фиг. 54 проиллюстрирован пример схематической конфигурации мобильного телефона, в котором применены вышеприведенные варианты реализации изобретения. Мобильный телефон (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) аудиоинформации преобразует аналоговый аудиосигнал в аудиоданные и выполняет аналого/цифровое преобразование и сжатие над этими преобразованными аудиоданными. После этого, кодер-декодер (923) аудиоинформации выводит сжатые аудиоданные в модуль (922) связи. Модуль (922) связи кодирует и модулирует аудиоданные, и генерирует сигнал передачи. После этого, модуль (922) связи передает через антенну (921) сгенерированный сигнал передачи базовой станции (не проиллюстрированной на чертеже). Кроме того, модуль (922) связи усиливает радиосигнал, принятый через антенну (921), и выполняет над усиленным сигналом преобразование частоты для того, чтобы получить сигнал приема. После этого, модуль (922) связи демодулирует и декодирует сигнал приема для того, чтобы сгенерировать аудиоданные, и выводит сгенерированные аудиоданные в кодер-декодер (923) аудиоинформации. Кодер-декодер (923) аудиоинформации разворачивает аудиоданные и выполняет их цифро-аналоговое преобразование для того, чтобы сгенерировать аналоговый аудиосигнал. После этого, кодер-декодер (923) аудиоинформации подает сгенерированный аудиосигнал на громкоговоритель (924) для того, чтобы обеспечить вывод аудиоинформации.
Кроме того, в режиме передачи данных, например, управляющий модуль (931) генерирует в соответствии с операцией пользователя, производимой через операционный модуль (932), текстовые данные, которые образуют электронное почтовое сообщение. Кроме того, управляющий модуль (931) обеспечивает отображения текста на модуле (930) отображения. Управляющий модуль (931), кроме того, генерирует данные электронного почтового сообщения в соответствии с командой передачи, отданной пользователем посредством операционного модуля (932), и выводит сгенерированные данные электронного почтового сообщения в модуль (922) связи. Модуль (922) связи кодирует и модулирует данные электронного почтового сообщения и генерирует сигнал передачи. После этого, модуль (922) связи передает через антенну (921) сгенерированный сигнал передачи на базовую станцию (не проиллюстрированную на чертеже). Кроме того, модуль (922) связи усиливает радиосигнал, принимаемый через антенну (921), и выполняет над усиленным сигналом преобразование частоты для того, чтобы получить сигнал приема. После этого, модуль (922) связи демодулирует и декодирует сигнал приема для того, чтобы восстановить данные электронного почтового сообщения, и выводит восстановленные данные электронного почтового сообщения в управляющий модуль (931). Управляющий модуль (931) обеспечивает отображение содержимого электронного почтового сообщения на модуле (930) отображения, и также обеспечивает сохранение этих данных электронного почтового сообщения на носителе данных в модуле (929) записи/воспроизведения.
Модуль (929) записи/воспроизведения включает в себя требуемый считываемый/записываемый носитель данных. Носитель данных может, например, представлять собой встроенный носитель данных, такой как оперативное запоминающее устройство или флэш-память, или внешний носитель данных, такой как жесткий магнитный диск, магнитный диск, магнитооптический диск, оптический диск, USB-память или карта памяти.
Кроме того, в режиме ввода изображения, например, модуль (926) фотокамеры вводит изображение объекта для того, чтобы сгенерировать данные изображений, и выводит сгенерированные данные изображений в модуль (927) обработки изображения. Модуль (927) обработки изображения кодирует данные изображений, вводимые из модуля (926) фотокамеры, и обеспечивает сохранение закодированного потока данных на носителе данных в модуле (929) записи/воспроизведения.
Кроме того, в видеотелефонном режиме, например, модуль (928) мультиплексирования/демультиплексирования осуществляет мультиплексирование потока видеоинформации, закодированного модулем (927) обработки изображения, и потока аудиоинформации, вводимого из кодера-декодера (923) аудиоинформации, и выводит мультиплексированный поток данных в модуль (922) связи. Модуль (922) связи кодирует и модулирует этот поток данных для того, чтобы сгенерировать сигнал передачи. После этого, модуль (922) связи передает через антенну (921) сгенерированный сигнал передачи на базовую станцию (не проиллюстрированную на чертеже). Модуль (922) связи, кроме того, усиливает радиосигнал, принятый через антенну (921), и выполняет над усиленным сигналом преобразование частоты для того, чтобы получить сигнал приема. Сигнал передачи и сигнал приема могут включать в себя закодированный поток битов. Модуль (922) связи демодулирует и декодирует сигнал приема для того, чтобы восстановить поток данных, и выводит восстановленный поток данных в модуль (928) мультиплексирования/демультиплексирования. После этого, модуль (928) мультиплексирования/демультиплексирования осуществляет демультиплексирование введенного потока данных, разделяя его на поток видеоинформации и поток аудиоинформации, и выводит поток видеоинформации и поток аудиоинформации, соответственно, в модуль (927) обработки изображения и кодер-декодер (923) аудиоинформации. Модуль (927) обработки изображения декодирует поток видеоинформации для того, чтобы сгенерировать видеоданные. Эти видеоданные подаются в модуль (930) отображения, и модулем (930) отображения отображается последовательность изображений. Кодер-декодер (923) аудиоинформации разворачивает поток аудиоинформации и выполняет его цифро-аналоговое преобразование для того, чтобы сгенерировать аналоговый аудиосигнал. После этого, кодер-декодер (923) аудиоинформации подает сгенерированный аудиосигнал на громкоговоритель (924) для того, чтобы обеспечить вывод аудиоинформации.
В мобильном телефоне (920), имеющем описанную выше конфигурацию, модуль (927) обработки изображения имеет функцию устройства (10) кодирования изображений (смотри Фиг. 14) и функцию устройства (300) декодирования изображений (смотри Фиг. 22), соответствующие вышеприведенным вариантам реализации изобретения. Соответственно, мобильный телефон (920) может сдерживать увеличение объема кодирования списка масштабирования.
В дополнение к этому, хотя описание было дано для мобильного телефона (920), например, устройство кодирования изображений и устройство декодирования изображений, в которых применена настоящая технология, могут использоваться, аналогично мобильному телефону (920), в любом аппарате, имеющем функцию формирования изображения и функцию связи, аналогичные этим функциям мобильного телефона (920), таком как PDA (персональный цифровой секретарь), "смартфон", UMPC (сверхмобильный персональный компьютер), "нетбук" или персональный компьютер "ноутбук".
Третий приводимый в качестве примера вариант применения: аппарат записи/воспроизведения
На Фиг. 55 проиллюстрирован пример схематической конфигурации аппарата записи/воспроизведения, в котором применены приведенные выше варианты реализации изобретения. Аппарат (940) записи/воспроизведения кодирует, например, аудиоданные и видеоданные принятой вещательной программы и записывает закодированные данные на носитель записи. Кроме того, аппарат (940) записи/воспроизведения может также кодировать аудиоданные и видеоданные, полученные, например, от другого аппарата, и записывает закодированные аудиоданные и видеоданные на носитель записи. Помимо этого, аппарат (940) записи/воспроизведения воспроизводит, например, данные, записанные на носителе записи, используя монитор и громкоговоритель, в соответствии с командой, отданной пользователем. В этом случае аппарат (940) записи/воспроизведения декодирует аудиоданные и видеоданные.
Аппарат (940) записи/воспроизведения включает в себя: тюнер (941), внешний интерфейс (942), кодер (943), накопитель (944) на жестком магнитном диске (НЖМД), дисковод (945), переключатель (946), декодер (947), OSD-модуль (948) (модуль отображения на экране), управляющий модуль (949) и пользовательский интерфейс (950).
Тюнер (941) извлекает из сигнала вещания, принятого через антенну (не проиллюстрированную на чертеже), сигнал на требуемом канале и демодулирует извлеченный сигнал. После этого, тюнер (941) выводит закодированный поток битов, полученный посредством демодуляции, в переключатель (946). Другими словами, тюнер (941) функционирует в качестве передающего модуля в устройстве (940) записи/воспроизведения.
Внешний интерфейс (942) представляет собой интерфейс для соединения аппарата (940) записи/воспроизведения с внешним устройством или сетью. Внешний интерфейс (942) может представлять собой, например, интерфейс IEEE 1394 (интерфейс стандарта 1394 Института инженеров по электротехнике и радиоэлектронике, (США)), сетевой интерфейс, USB-интерфейс (интерфейс Универсальной последовательной шины), интерфейс флэш-памяти или тому подобное. Например, видеоданные и аудиоданные, принятые через внешний интерфейс (942), вводятся в кодер (943). Другими словами, внешний интерфейс (942) функционирует в качестве передающего модуля в устройстве (940) записи/воспроизведения.
Кодер (943) кодирует видеоданные и аудиоданные, вводимые из внешнего интерфейса (942), если эти видеоданные и аудиоданные не закодированы. После этого кодер (943) выводит закодированный поток битов в переключатель (946).
Накопитель (944) на жестком магнитном диске записывает, на внутреннем жестком магнитном диске, закодированный поток битов, включающий в себя сжатые данные контента (информационно значимого содержимого), такие как видеоинформация и аудиоинформация, различные программы и другие данные. Кроме того, при воспроизведении видеоинформации и аудиоинформации накопитель (944) на жестком магнитном диске считывает вышеописанные данные с жесткого магнитного диска.
Дисковод (945) записывает данные на помещенный в него носитель записи и считывает их оттуда. Носитель записи, помещаемый в дисковод (945), может представлять собой, например, DVD-диск (универсальный цифровой диск) (такой как DVD-Video (универсальный цифровой диск для видеоданных), DVD-RAM (оперативное запоминающее устройство на универсальном цифровом диске), DVD-R (однократно записываемый универсальный цифровой диск формата "-"), DVD-RW (перезаписываемый универсальный цифровой диск формата "-"), DVD+R (однократно записываемый универсальный цифровой диск формата "+"), DVD+RW (перезаписываемый универсальный цифровой диск формата "+")) или диск Blu-ray (зарегистрированный товарный знак).
Переключатель (946), при записи видеоинформации и аудиоинформации, осуществляет выбор потока битов, вводимого из тюнера (941) или кодера (943), и выводит выбранный закодированный поток битов в накопитель (944) на жестком магнитном диске или в дисковод (945). При воспроизведении видеоинформации и аудиоинформации переключатель (946) выводит закодированный поток битов из накопителя (944) на жестком магнитном диске или дисковода (945) в декодер (947).
Декодер (947) декодирует закодированный поток битов для того, чтобы сгенерировать видеоданные и аудиоданные. После этого, декодер (947) выводит сгенерированные видеоданные в OSD-модуль (948). Кроме того, декодер (904) выводит сгенерированные аудиоданные во внешний громкоговоритель.
OSD-модуль (948) воспроизводит видеоданные, вводимые из декодера (947), и отображает видеоинформацию. В дополнение к этому, OSD-модуль (948) может также накладывать на отображаемую видеоинформацию изображение графического пользовательского интерфейса, такое как меню, кнопка или курсор.
Управляющий модуль (949) включает в себя процессор, такой как центральный процессор, и запоминающие устройства, такие как оперативное запоминающее устройство и постоянное запоминающее устройство. Запоминающие устройства хранят программу, подлежащую исполнению центральным процессором, данные программ и так далее. Программа, хранящаяся в запоминающих устройствах, считывается и исполняется центральным процессором, например, при включении аппарата (940) записи/воспроизведения. Центральный процессор исполняет эту программу, управляя функционированием аппарата (940) записи/воспроизведения в соответствии, например, с операционным сигналом, вводимым из пользовательского интерфейса (950).
С управляющим модулем (949) соединен пользовательский интерфейс (950). Пользовательский интерфейс (950) включает в себя, например, кнопки и выключатели для предоставления пользователю возможности управлять устройством (940) записи/воспроизведения, принимающий модуль для сигнала дистанционного управления и так далее. Пользовательский интерфейс (950) обнаруживает посредством этих компонентов операцию пользователя для того, чтобы сгенерировать операционный сигнал, и выводит сгенерированный операционный сигнал в управляющий модуль (949).
В аппарате (940) записи/воспроизведения, имеющем вышеописанную конфигурацию, кодер (943) имеет функцию устройства (10) кодирования изображений (смотри Фиг. 14), соответствующего вышеприведенным вариантам реализации изобретения. Кроме того, декодер (947) имеет функцию устройства (300) декодирования изображений (смотри Фиг. 22), соответствующего вышеприведенным вариантам реализации изобретения. Соответственно, аппарат (940) записи/воспроизведения может сдерживать увеличение объема кодирования списка масштабирования.
Четвертый приводимый в качестве примера вариант применения: аппарат формирования изображения
На Фиг. 56 проиллюстрирован пример схематической конфигурации аппарата формирования изображений, в котором применены вышеприведенные варианты реализации изобретения. Аппарат (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-прибор) или датчик изображения, основанные на комплементарной структуре металл-оксид-полупроводник (CMOS-датчик изображения), и преобразует посредством фотоэлектрического преобразования оптическое изображение, сформированное на поверхности формирования изображения, в сигнал изображения, служащий электрическим сигналом. После этого, модуль (962) формирования изображения выводит сигнал изображения в модуль (963) обработки сигналов.
Модуль (963) обработки сигналов выполняет разнообразные операции обработки сигналов с фотокамеры, такие как коррекция излома, гамма-коррекция и цветовая коррекция, над сигналом изображения, вводимым из модуля (962) формирования изображения. Модуль (963) обработки сигналов выводит данные изображения, подвергшиеся операциям обработки сигналов с фотокамеры, в модуль (964) обработки изображения.
Модуль (964) обработки изображения кодирует данные изображения, вводимые из модуля (963) обработки сигналов, для того, чтобы сгенерировать закодированные данные. После этого, модуль (964) обработки изображения выводит сгенерированные закодированные данные во внешний интерфейс (966) или накопитель (968) с носителем данных. Кроме того, модуль (964) обработки изображения декодирует закодированные данные, вводимые из внешнего интерфейса (966) или накопителя (968) с носителем данных, для того, чтобы сгенерировать данные изображения. После этого, модуль (964) обработки изображения выводит сгенерированные данные изображения в модуль (965) отображения. Кроме того, модуль (964) обработки изображения может также выводить данные изображения, вводимые из модуля (963) обработки сигналов, в модуль (965) отображения, обеспечивая отображение изображения. Помимо этого, модуль (964) обработки изображения может также накладывать на изображение, подлежащее выводу на модуль (965) отображения, отображаемые данные, полученные от OSD-модуля (969).
OSD-модуль (969) генерирует изображение графического пользовательского интерфейса, такое как меню, кнопка или курсор, и выводит сгенерированное изображение в модуль (964) обработки изображения.
Внешний интерфейс (966) выполнен, например, в виде входного/выходного разъема USB (Универсальной последовательной шины). Внешний интерфейс (966) соединяет, например, устройство (960) ввода изображения с принтером при печатании изображения. При необходимости к внешнему интерфейсу (966) дополнительно присоединяется накопитель. В этот накопитель помещается съемный носитель данных, такой как магнитный диск или оптический диск, и на аппарате (960) формирования изображения может быть установлена программа, считываемая со съемного носителя данных. В дополнение к этому, внешний интерфейс (966) может также быть выполнен в виде сетевого интерфейса, соединяемого с сетью, такой как локальная сеть или сеть "Интернет". Другими словами, внешний интерфейс (966) функционирует в качестве передающего модуля в устройстве (960) ввода изображения.
Носитель записи, помещаемый в накопитель (968) с носителем данных, может представлять собой, например, любой считываемый/записываемый съемный носитель данных, такой как магнитный диск, магнитооптический диск, оптический диск или полупроводниковое запоминающее устройство. В качестве альтернативы, носитель записи может быть постоянно прикреплен к накопителю (968) с носителем данных, и может образовывать встроенный накопитель на жестком магнитном диске или непереносной запоминающий модуль, такой как твердотельный накопитель (SSD-накопитель).
Управляющий модуль (970) включает в себя процессор, такой как центральный процессор, и запоминающие устройства, такие как оперативное запоминающее устройство и постоянное запоминающее устройство. Запоминающие устройства хранят программу, подлежащую исполнению центральным процессором, данные программ и так далее. Программа, хранящаяся в запоминающих устройствах, считывается и исполняется центральным процессором, например, при включении аппарата (960) формирования изображения. Центральный процессор исполняет эту программу, управляя функционированием аппарата (960) формирования изображения в соответствии, например, с операционным сигналом, вводимым из пользовательского интерфейса (971).
С управляющим модулем (970) соединен пользовательский интерфейс (971). Пользовательский интерфейс (971) включает в себя, например, кнопки, выключатели и так далее для предоставления пользователю возможности управлять аппаратом (960) формирования изображения. Пользовательский интерфейс (971) обнаруживает операцию пользователя через вышеописанные компоненты для того, чтобы сгенерировать операционный сигнал, и выводит сгенерированный операционный сигнал в управляющий модуль (910).
В аппарате (960) формирования изображения, имеющем описанную выше конфигурации, модуль (964) обработки изображения имеет функцию устройства (10) кодирования изображений (смотри Фиг. 14) и функцию устройства (300) декодирования изображений (смотри Фиг. 22), соответствующие вышеприведенным вариантам реализации изобретения. Таким образом, аппарат (960) формирования изображения может сдерживать увеличение объема кодирования списка масштабирования.
7. Приводимые в качестве примера варианты применения масштабируемого кодирования
Первая система
Далее будет описан конкретный пример использования масштабируемых закодированных данных, которые были закодированы с использованием масштабируемого кодирования (многоуровневого кодирования (изображения)). Масштабируемое кодирование может быть использовано, например, для выбора данных, подлежащих передаче, как в примере, проиллюстрированном на Фиг. 57.
В системе (100) передачи данных, проиллюстрированной на Фиг. 57, сервер (1002) распределения считывает масштабируемые закодированные данные, хранящиеся в модуле (1001) хранения масштабируемых закодированных данных, и распределяет масштабируемые закодированные данные через сеть (1003) оконечным устройствам, таким как персональный компьютер (1004), аудио-видеоустройство (1005), планшетное устройство (1006) и мобильный телефон (1007).
В этом случае, сервер (1002) распределения выбирает закодированные данные, имеющие требуемые качества в соответствии с рабочими характеристиками оконечного устройства, средой связи и тому подобным, и передает выбранные закодированные данные. Даже если сервер (1002) распределения передает данные, имеющие качество, более высокое, чем необходимо, оконечное устройство не всегда может получать высококачественное изображение, и может быть возникнуть задержка или переполнение. В дополнение к этому, такие данные могут занять полосу пропускания канала связи в большей степени, чем необходимо, или могут увеличить нагрузку на оконечное устройство в большей степени, чем необходимо. Наоборот, даже если сервер (1002) распределения передает данные, имеющие качество, более низкое, чем необходимо, оконечное устройство не обязательно может получить изображение с достаточным качеством. Таким образом, сервер (1002) распределения считывает масштабируемые закодированные данные, хранящиеся в модуле (1001) хранения масштабируемых закодированных данных, если необходимо, как закодированные данные, имеющие качество, подходящее для рабочих характеристик оконечного устройства, среды связи и тому подобного, и передает эти считанные закодированные данные.
Например, предположим, что модуль (1001) хранения масштабируемых закодированных данных хранит масштабируемые закодированные данные (BL+EL) (1011), которые были закодированы масштабируемым образом. Масштабируемые закодированные данные (BL+EL) (1011) представляют собой закодированные данные, включающие в себя основной уровень и уровень расширения, и представляют собой данные, которые декодируются для получения как изображения основного уровня, так и изображения уровня расширения.
Сервер (1002) распределения выбирает подходящий уровень в соответствии с рабочими характеристиками оконечного устройства, которое передает данные, средой связи и тому подобным, и считывает данные этого уровня. Например, сервер (1002) распределения считывает из модуля (1001) хранения масштабируемых закодированных данных высококачественные масштабируемые закодированные данные (BL+EL) (1011), и передает считанные масштабируемые закодированные данные (BL+EL) (1011) на персональный компьютер (1004) или планшетное устройство (1006), которые сами по себе имеют большие возможности по обработке данных. В противоположность этому сервер (1002) распределения, например, извлекает данные из масштабируемых закодированных данных (BL+EL) (1011) данные основного уровня и передает извлеченные данные основного уровня на аудио-видеоустройство (1005) и на мобильный телефон (1007), который имеет малые возможности по обработке данных, как масштабируемые закодированные данные (BL) (1012), имеющие то же самое содержание, что и масштабируемые закодированные данные (BL+EL) (1011), но имеющие более низкое качество, чем масштабируемые закодированные данные (BL+EL) (1011).
Использование масштабируемых закодированных данных этим способом облегчает регулирование количества данных, тем самым подавляя возникновение задержки или переполнения и подавляя ненужное увеличение нагрузки на оконечное устройство или среду связи. Кроме того, масштабируемые закодированные данные (BL+EL) (1011) уменьшили избыточность между уровнями, и, следовательно, имеют меньшее количество данных, чем данные, имеющие индивидуально закодированные данные соответствующих уровней. Соответственно, область памяти модуля (1001) хранения масштабируемых закодированных данных может быть использована более эффективно.
Отметим, что, поскольку в качестве оконечных устройств могут быть использованы разнообразные устройства, такие как персональный компьютер (1004), аудио-видеоустройство (1005), планшетное устройство (1006) и мобильный телефон (1007), то рабочие характеристики аппаратного обеспечения оконечных устройств различаются от устройства к устройству. В дополнение к этому, поскольку оконечные устройства могут выполнять различные приложения, то возможности программного обеспечения этих приложений могут различаться. Кроме того, сеть (1003), служащая в качестве среды связи может быть реализована как любая сеть линий связи, которая может быть проводной, беспроводной или той и другой одновременно, такой как сеть "Интернет" и Локальная сеть (LAN), и иметь различные возможности по передаче данных. Такие рабочие характеристики и возможности могут различаться в зависимости от другой связи и тому подобного.
Соответственно, перед началом передачи данных, сервер (1002) распределения может связаться с оконечным устройством, которому должны быть переданы данные, и может получить информацию, касающуюся возможностей этого оконечного устройства, таких как рабочие характеристики аппаратного обеспечения оконечного устройства или рабочие характеристики приложения (программного обеспечения), исполняемого оконечным устройством, и также информацию, касающуюся среды связи, такую как располагаемая полоса пропускания сети (1003). В дополнение к этому, сервер (1002) распределения может на основе полученной информации выбрать подходящий уровень.
Отметим, что уровень может быть извлечен оконечным устройством. Например, персональный компьютер (1004) может декодировать переданные масштабируемые закодированные данные (BL+EL) (1011) и отобразить изображение основного уровня или изображения уровня расширения. В качестве альтернативы, персональный компьютер (1004) может, например, извлечь из переданных масштабируемых закодированных данных (BL+EL) (1011) масштабируемые закодированные данные (BL) (1012) основного уровня, сохранить извлеченные масштабируемые закодированные данные (BL) (1012), передать извлеченные масштабируемые закодированные данные (BL) (1012) на другое устройство или декодировать извлеченные масштабируемые закодированные данные (BL) (1012) для того, чтобы отобразить изображение основного уровня.
Само собой разумеется, что количество модулей (1001) хранения масштабируемых закодированных данных, количество серверов (1002) распределения, количество сетей (1003) и количества оконечных устройств является произвольным. Кроме того, хотя было дано описание примера, в котором сервер (1002) распределения передает данные оконечному устройству, примеры использования не ограничены этим примером. Система (1000) передачи данных может быть использована в любой системе, которая выбирает подходящий уровень при передаче закодированных данных, которые были закодированы с использованием масштабируемого кодирования, для оконечного устройства, в соответствии с возможностями оконечного устройства, среды связи и тому подобным.
В дополнение к этому, настоящую технологию можно также применить к системе (1000) передачи данных, которая проиллюстрирована на Фиг. 57, описанной выше, способом, аналогичным применению к иерархическому кодированию и иерархическому декодированию, описанному выше со ссылкой на Фигуры: с 49 по 51, достигая, таким образом, преимуществ, аналогичных преимуществам, описанным выше со ссылкой на Фигуры: с 49 по 51.
Вторая система
Масштабируемое кодирование может также использоваться, например, для передачи данных через множество средств связи, как в примере, проиллюстрированном на Фиг. 58.
В системе (1100) передачи данных, проиллюстрированной на Фиг. 58, вещательная станция (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) (1121) основного уровня, получаемые посредством наземного вещания (1111), с масштабируемыми закодированными данными (EL) (1122) уровня расширения, получаемые через сеть (1112), в соответствии, например, с командой пользователя или тому подобным на получение масштабируемых закодированных данных (BL+EL) и декодирует масштабируемые закодированные данные (BL+EL) для того, чтобы получить изображение уровня расширения, сохраняет масштабируемые закодированные данные (BL+EL) или передает масштабируемые закодированные данные (BL+EL) на другое устройство.
Как было описано выше, масштабируемые закодированные данные могут быть переданы через, например, средства связи, различающиеся от одного уровня к другому. Таким образом, нагрузка может быть распределена, и может сдерживаться возникновение задержки или переполнения.
Более того, средство связи, подлежащее использованию для передачи данных, может выбираться для каждого уровня в соответствии с ситуацией. Например, масштабируемые закодированные данные (BL) (1121) основного уровня, имеющего относительно большое количество данных, могут быть переданы посредством средства связи, имеющего широкую полосу пропускания, а масштабируемые закодированные данные (EL) (1122) уровня расширения, имеющего относительно малое количество данных, могут быть переданы посредством средства связи, имеющего узкую полосу пропускания. В качестве альтернативы, например, средство связи, посредством которого должны передаваться масштабируемые закодированные данные (EL) (1122) уровня расширения, может переключаться между сетью (1112) и наземным вещанием (1111) в соответствии с располагаемой полосой пропускания сети (1112). Само собой разумеется, что вышесказанное аналогичным образом применяется к данным произвольного уровня.
Управление, осуществляемое описанным выше способом, может дополнительно сдерживать увеличение нагрузки по передаче данных.
Само собой разумеется, что количество уровней является произвольным, и количество средств связи, используемых для передачи данных, также является произвольным. В дополнение к этому, количество оконечных устройств (1102), которым должны распределяться данные, также является произвольным. Кроме того, хотя описание в порядке примера давалось в контексте вещания из вещательной станции (1101), примеры использования не ограничены этим примером. Система (1100) передачи данных может быть использована в любой системе, которая разделяет данные, закодированные с использованием масштабируемого кодирования, на множество сегментов в единицах уровней и передает эти сегменты данных по множеству линий (связи).
В дополнение к этому, настоящую технологию можно также применить к системе (1100) передачи данных, которая проиллюстрирована на Фиг. 58, описанной выше, способом, аналогичным применению к иерархическому кодированию и иерархическому декодированию, описанному выше со ссылкой на Фиг. с 49 по 51, достигая, таким образом, преимуществ, аналогичных преимуществам, описанным выше со ссылкой на Фиг. с 49 по 51.
Третья система
Масштабируемое кодирование также может быть использовано, например, для хранения закодированных данных, как в примере, проиллюстрированном на Фиг. 59.
В системе (1200) формирования изображения, проиллюстрированной на Фиг. 59, аппарат (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) формирования изображения, проиллюстрированной на Фиг. 59, описанной выше, способом, аналогичным применению к иерархическому кодированию и иерархическому декодированию, описанному выше со ссылкой на Фиг. с 49 по 51, достигая, таким образом, преимуществ, аналогичных преимуществам, описанным выше со ссылкой на Фиг. с 49 по 51.
Отметим, что настоящая технология также может быть применена к потоковой передачи данных HTTP-протокола (Протокола передачи гипертекста), такой как MPEG DASH (Динамическая адаптивная потоковая передача MPEG - данных (данных по стандарту Экспертной группы по вопросам движущегося изображения) посредством протокола передачи гипертекста), при которой из числа множества фрагментов закодированных данных, подготовленных заранее и имеющих различные разрешения, выбирается подходящий фрагмент закодированных данных и используется в порциях сегмента. Другими словами, информация, касающаяся кодирования и декодирования, также может использоваться совместно множеством фрагментов закодированных данных.
Само собой разумеется, что устройство кодирования изображений и устройство декодирования изображений, в которых применена настоящая технология, также могут быть применены к аппаратам, отличным от аппаратов, описанных выше, или к системам.
Отметим, что здесь был пример описан, в котором матрица квантования (или коэффициент, использованный для формирования матрицы квантования) передается от стороны кодирования стороне декодирования. Технология для передачи матрицы квантования может заключаться в том, чтобы передавать или записывать матрицу квантования как отдельные данные, ассоциативно связанные с закодированным потоком битов, без мультиплексирования параметра квантования в кодируемый поток битов. Термин "ассоциативно связывать", в том значении, в котором он здесь используется, означает позволять изображению (которое может представлять собой часть изображения, такую как "слайс" (последовательность макроблоков) или блок), входящему в состав потока битов, быть соединенной с информацией, соответствующей этому изображению, при декодировании изображение. Таким образом, эта информация может быть передана по тракту передачи данных, отличному от тракта передачи данных, предназначенного для изображения (или потока битов). Кроме того, эта информация может быть записана на носитель записи, отличный от носителя записи для изображения (или потока битов) (или записана в другой области записи на том же самом носителе записи). Более того, эта информация и изображение (или поток битов) могут быть ассоциативно связаны друг с другом в произвольных порциях, таких как множество кадров, один кадр или часть в кадре.
Отметим, что настоящая технология может также предусматривать нижеследующие конфигурации:
(1) Устройство обработки изображений, включающее в себя:
задающий модуль, сконфигурированный таким образом, чтобы задавать коэффициент, расположенный в начале матрицы квантования, размер которой ограничен размером, не превышающим размер передачи, который представляет собой максимальный размер, допускаемый при передаче данных, суммируя с коэффициентом, расположенным в начале матрицы квантования, заменяющий разностный коэффициент, который представляет собой разность между заменяющим коэффициентом и коэффициентом, расположенным в начале матрицы квантования, причем заменяющий коэффициент используется для замены коэффициента, расположенного в начале подвергшейся повышающему преобразованию матрицы квантования, которая получена посредством повышающего преобразования матрицы квантования до того же самого размера, что и размер блока, который является порцией обработки, в которой выполняется деквантование;
модуль повышающего преобразования, сконфигурированный таким образом, чтобы осуществлять повышающее преобразование матрицы квантования, заданной задающим модулем, для того, чтобы задать подвергшуюся повышающему преобразованию матрицу квантования; и
модуль деквантования, сконфигурированный таким образом, чтобы осуществлять деквантование квантованных данных, полученных посредством декодирования закодированных данных, используя подвергшуюся повышающему преобразованию матрицу квантования, в которой коэффициент, расположенный в начале подвергшейся повышающему преобразованию матрицы квантования, заданной модулем повышающего преобразования, заменен этим заменяющим коэффициентом.
(2) Устройство обработки изображений, соответствующее любому из пунктов: (1) и с (3) по (9), в котором
задающий модуль задает заменяющий коэффициент, суммируя разность между заменяющим коэффициентом и некоторым начальным значением, заданным для матрицы квантования, с этим начальным значением.
(3) Устройство обработки изображений, соответствующее любому из пунктов: (1), (2) и с (4) по (9), в котором:
задающий модуль задает коэффициенты матрицы квантования, используя заменяющий разностный коэффициент и разностные коэффициенты, которые представляют собой разности между коэффициентами матрицы квантования.
(4) Устройство обработки изображений, соответствующее любому из пунктов: с (1) по (3) и с (5) по (9), в котором:
совместно передаются заменяющий разностный коэффициент и разностные коэффициенты, которые представляют собой разности между коэффициентами матрицы квантования, и
задающий модуль задает коэффициенты матрицы квантования, используя эти совместно передаваемые заменяющий разностный коэффициент и разностные коэффициенты.
(5) Устройство обработки изображений, соответствующее любому из пунктов: с (1) по (4) и с (6) по (9), в котором:
заменяющий разностный коэффициент и разностные коэффициенты, которые представляют собой разности между коэффициентами матрицы квантования, закодированы, и
задающий модуль декодирует закодированный заменяющий разностный коэффициент и закодированные разностные коэффициенты.
(6) Устройство обработки изображений, соответствующее любому из пунктов: с (1) по (5) и с (7) по (9), в котором
модуль повышающего преобразования осуществляет повышающее преобразование матрицы квантования, размер которой ограничен размером, не превышающим размер передачи, выполняя над элементами матрицы, входящими в состав матрицы квантования, процесс интерполяции по "ближайшему соседу".
(7) Устройство обработки изображений, соответствующее любому из пунктов: с (1) по (6), (8) и (9), в котором:
размер передачи представляет собой размер 8×8, и
модуль повышающего преобразования осуществляет повышающее преобразование матрицы квантования, имеющей размер 8×8, в матрицу квантования, имеющую размер 16×16, выполняя над элементами матрицы, входящими в состав матрицы квантования, имеющей размер 8×8, процесс интерполяции по "ближайшему соседу".
(8) Устройство обработки изображений, соответствующее любому из пунктов: с (1) по (7) и (9), в котором:
модуль повышающего преобразования осуществляет повышающее преобразование матрицы квантования, имеющей размер 8×8, в матрицу квантования, имеющую размер 32×32, выполняя над элементами матрицы, входящими в состав матрицы квантования, имеющей размер 8×8, процесс интерполяции по "ближайшему соседу".
(9) Устройство обработки изображений, соответствующее любому из пунктов: с (1) по (8), в котором:
порция кодирования, которая представляет собой порцию обработки, в которой выполняется процесс декодирования, и порция преобразования, которая представляет собой порцию обработки, в которой выполняется процесс преобразования, имеют многоуровневую структуру,
устройство обработки изображений дополнительно включает в себя модуль декодирования, сконфигурированный таким образом, чтобы выполнять процесс декодирования над закодированными данными, используя порцию, имеющую многоуровневую структуру, для того, чтобы сгенерировать квантованные данные, и
модуль повышающего преобразования осуществляет повышающее преобразование матрицы квантования с размера передачи до размера порции преобразования, которая является порцией обработки, в которой выполняется деквантование.
(10) Способ обработки изображений, включающий в себя этапы, на которых:
задают коэффициент, расположенный в начале матрицы квантования, размер которой ограничен размером, не превышающим размер передачи, который представляет собой максимальный размер, допускаемый при передаче данных, суммируя с коэффициентом, расположенным в начале матрицы квантования, заменяющий разностный коэффициент, который представляет собой разность между заменяющий коэффициентом и коэффициентом, расположенным в начале матрицы квантования, причем заменяющий коэффициент используется для замены коэффициента, расположенного в начале подвергшейся повышающему преобразованию матрицы квантования, которая получена посредством повышающего преобразования матрицы квантования до того же самого размера, что и размер блока, который является порцией обработки, в которой выполняется деквантование;
осуществляют повышающее преобразование заданной матрицы квантования для того, чтобы задать подвергшуюся повышающему преобразованию матрицу квантования; и
осуществляют деквантование квантованных данных, полученных посредством декодирования закодированных данных, используя подвергшуюся повышающему преобразованию матрицу квантования, в которой коэффициент, расположенный в начале заданной подвергшейся повышающему преобразованию матрицы квантования, заменен этим заменяющим коэффициентом.
(11) Устройство обработки изображений, включающее в себя:
задающий модуль, сконфигурированный таким образом, чтобы задавать заменяющий разностный коэффициент, который представляет собой разность между заменяющим коэффициентом и коэффициентом, расположенным в начале матрицы квантования, размер которой ограничен размером, не превышающим размер передачи, который представляет собой максимальный размер, допускаемый при передаче данных, причем заменяющий коэффициент используется для замены коэффициента, расположенного в начале подвергшейся повышающему преобразованию матрицы квантования, которая получена посредством повышающего преобразования матрицы квантования до того же самого размера, что и размер блока, который является порцией обработки, в которой выполняется деквантование;
модуль квантования, сконфигурированный таким образом, чтобы квантовать изображение для того, чтобы сгенерировать квантованные данные; и
передающий модуль, сконфигурированный таким образом, чтобы передавать закодированные данные, полученные посредством кодирования квантованных данных, сгенерированных модулем квантования, данные заменяющего коэффициента, полученные посредством кодирования заменяющего коэффициента, и данные заменяющего разностного коэффициента, полученные посредством кодирования заменяющего разностного коэффициента, заданного задающим модулем.
(12) Устройство обработки изображений, соответствующее любому из пунктов: (11) и с (13) по (17), в котором
задающий модуль задает разность между заменяющим коэффициентом и некоторым начальным значением, заданным для матрицы квантования.
(13) Устройство обработки изображений, соответствующее любому из пунктов: (11), (12) и с (14) по (17), в котором:
задающий модуль задает разностные коэффициенты, которые представляют собой разности между коэффициентами матрицы квантования, и
передающий модуль передает данные разностных коэффициентов, полученные посредством кодирования разностных коэффициентов, заданных задающим модулем.
(14) Устройство обработки изображений, соответствующее любому из пунктов: с (11) по (13) и с (15) по (17), в котором
передающий модуль совместно передает данные заменяющего коэффициента и данные заменяющего разностного коэффициента.
(15) Устройство обработки изображений, соответствующее любому из пунктов: с (11) по (14), (16) и (17), в котором
передающий модуль передает данные заменяющего коэффициента и данные заменяющего разностного коэффициента в порядке: данные заменяющего коэффициента и данные заменяющего разностного коэффициента.
(16) Устройство обработки изображений, соответствующее любому из пунктов: с (11) по (15) и (17), в котором
модуль квантования квантует изображение, используя матрицу квантования или подвергшуюся повышающему преобразованию матрицу квантования.
(17) Устройство обработки изображений, соответствующее любому из пунктов: с (11) по (16), в котором:
порция кодирования, которая представляет собой порцию обработки, в которой выполняется процесс кодирования, и порция преобразования, которая представляет собой порцию обработки, в которой выполняется процесс преобразования, имеют многоуровневую структуру, и
устройство обработки изображений дополнительно включает в себя модуль кодирования, сконфигурированный таким образом, чтобы кодировать квантованные данные, сгенерированные модулем квантования.
(18) Способ обработки изображений, включающий в себя этапы, на которых:
задают заменяющий разностный коэффициент, который представляет собой разность между заменяющим коэффициентом и коэффициентом, расположенным в начале матрицы квантования, размер которой ограничен размером, не превышающим размер передачи, который представляет собой максимальный размер, допускаемый при передаче данных, причем заменяющий коэффициент используется для замены коэффициента, расположенного в начале подвергшейся повышающему преобразованию матрицы квантования, которая получена посредством повышающего преобразования матрицы квантования до того же самого размера, что и размер блока, который является порцией обработки, в которой выполняется деквантование;
квантуют изображение для того, чтобы сгенерировать квантованные данные; и
передают закодированные данные, полученные посредством кодирования сгенерированных квантованных данных, данные заменяющего коэффициента, полученные посредством кодирования заменяющего коэффициента, и данные заменяющего разностного коэффициента, полученные посредством кодирования заданного заменяющего разностного коэффициента.
(19) Устройство обработки изображений, включающее в себя:
модуль декодирования, сконфигурированный таким образом, чтобы декодировать закодированные данные для того, чтобы сгенерировать квантованные данные; и
модуль деквантования, сконфигурированный таким образом, чтобы осуществлять деквантование квантованных данных, сгенерированных модулем декодирования, используя матрицу квантования по умолчанию, имеющую тот же самый размер, что и размер блока, который является порцией обработки, в которой выполняется деквантование, в случае, когда в режиме копирования, в котором осуществляется копирование матрицы квантования, данные обращения к матрице квантования, идентифицирующие адресат обращения к матрице квантования, совпадают с идентификационными данными матрицы квантования, идентифицирующими матрицу квантования.
(20) Устройство обработки изображений, соответствующее любому из пунктов: (19) и (21), в котором
модуль деквантования осуществляет деквантование квантованных данных посредством синтаксического анализа синтаксиса, семантика которого задана таким образом, чтобы обращение к матрице квантования по умолчанию осуществлялось тогда, когда данные обращения к матрице квантования совпадают с идентификационными данными матрицы квантования.
(21) Устройство обработки изображений, соответствующее любому из пунктов: (19) и (20), в котором
модуль деквантования осуществляет деквантование квантованных данных посредством синтаксического анализа синтаксиса, семантика которого задана таким образом, чтобы обращение к матрице квантования по умолчанию осуществлялось тогда, когда разность между данными обращения к матрице квантования и идентификационными данными матрицы квантования равна 0.
(22) Способ обработки изображений, включающий в себя этапы, на которых:
декодируют закодированные данные для того, чтобы сгенерировать квантованные данные; и
осуществляют деквантование квантованных данных, сгенерированных при декодировании, используя матрицу квантования по умолчанию, имеющую тот же самый размер, что и размер блока, который является порцией обработки, в которой выполняется деквантование, в случае, когда в режиме копирования, в котором осуществляется копирование матрицы квантования, данные обращения к матрице квантования, идентифицирующие адресат обращения к матрице квантования, совпадают с идентификационными данными матрицы квантования, идентифицирующими матрицу квантования.
(23) Устройство обработки изображений, включающее в себя:
модуль кодирования, сконфигурированный таким образом, чтобы кодировать изображение для того, чтобы сгенерировать закодированные данные; и
задающий модуль, сконфигурированный таким образом, чтобы задавать, в качестве синтаксиса закодированных данных, сгенерированных модулем кодирования, синтаксис, семантика которого задается таким образом, чтобы обращение осуществлялось к матрице квантования по умолчанию, имеющую тот же самый размер, что и размер блока, который является порцией обработки, в которой выполняется квантование, в случае, когда в режиме копирования, в котором осуществляется копирование матрицы квантования, данные обращения к матрице квантования, идентифицирующие адресат обращения к матрице квантования, совпадают с идентификационными данными матрицы квантования, идентифицирующими матрицу квантования.
(24) Способ обработки изображений, включающий в себя, этапы, на которых:
кодируют изображение для того, чтобы сгенерировать закодированные данные; и
задают, в качестве синтаксиса сгенерированных закодированных данных, синтаксис, семантика которого задается таким образом, чтобы обращение осуществлялось к матрице квантования по умолчанию, имеющей тот же самый размер, что и размер блока, который является порцией обработки, в которой выполняется квантование, в случае, когда в режиме копирования, в котором осуществляется копирование матрицы квантования, данные обращения к матрице квантования, идентифицирующие адресат обращения к матрице квантования, совпадают с идентификационными данными матрицы квантования, идентифицирующими матрицу квантования.
Перечень ссылочных позиций
10 - устройство кодирования изображений, 14 - модуль ортогонального преобразования/квантования, 16 - модуль кодирования без потерь, 150 - модуль обработки матрицы, 192 - модуль дифференциальной импульсно-кодовой модуляции, 211 - модуль кодирования коэффициента постоянного тока, 212 - модуль дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока, 300 - устройство декодирования изображений, 312 - модуль декодирования без потерь, 313 - модулей деквантования/обратного ортогонального преобразования, 410 - модуль генерирования матрицы, 552 модуль процесса, обратного дифференциальной импульсно-кодовой модуляции, 571 - модуль задания начальных значений, 572 - модуль декодирования дифференциальной импульсно-кодовой модуляции, 573 - модуль извлечения коэффициента постоянного тока, 611 - буфер коэффициента переменного тока, 612 - модуль кодирования коэффициента переменного тока, 613 - модуль дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока, 614 - модуль дифференциальной импульсно-кодовой модуляции коэффициента постоянного тока, 621 - модуль задания начальных значений, 622 - модуль декодирования дифференциальной импульсно-кодовой модуляции переменного тока, 623 - буфер коэффициента переменного тока, 624 - модуль декодирования дифференциальной импульсно-кодовой модуляции коэффициента постоянного тока, 631 - модуль дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока, 632 - буфер коэффициентов постоянного тока, 633 - модуль дифференциальной импульсно-кодовой модуляции коэффициентов постоянного тока, 641 - модуль задания начальных значений, 642 - модуль декодирования дифференциальной импульсно-кодовой модуляции коэффициентов переменного тока, 643 - модуль декодирования дифференциальной импульсно-кодовой модуляции коэффициентов постоянного тока