Сигнализация о максимальном динамическом диапазоне обратного дискретного косинусного преобразования

Иллюстрации

Показать все

Изобретение относится к кодированию/декодированию видеокадров. Техническим результатом является сигнализирование о максимальном динамическом диапазоне выходных значений обратного дискретного косинусного преобразования. Предложен способ для информирования о максимальном динамическом диапазоне выходных значений обратного дискретного косинусного преобразования (IDCT), которые могут быть сформированы, когда декодируется набор кодированных аудиовизуальных данных, при этом устройство кодирования генерирует файл аудиовизуальной информации, который включает в себя закодированные данные аудиовизуальной информации, ассоциированные с набором из одного или более видеокадров. Файл аудиовизуальной информации может также включать в себя элемент индикации диапазона, который указывает максимальный динамический диапазон сформированных выходных значений IDCT, когда закодированные данные аудиовизуальной информации декодируются. Устройство декодирования принимает файл аудиовизуальной информации и до декодирования кодированных аудиовизуальных данных может использовать элемент индикации диапазона для определения, декодировать ли закодированные данные аудиовизуальной информации, когда устройство декодирования не способно сформировать выходные значения IDCT в указанном диапазоне выходных значений IDCT. 7 н. и 20 з.п. ф-лы, 7 ил.

Реферат

[0001] Данная заявка испрашивает приоритет предварительной заявки на патент США №60/862591, поданной 23 октября 2006, содержимое которой тем самым включается по ссылке.

Область техники, к которой относится изобретение

[0002] Настоящее описание относится к компьютерной графике, и, в частности, к сжатию графических данных.

Уровень техники

[0003] Многие существующие стандарты кодирования изображений и видео используют способы сжатия, чтобы разрешить сохранение или передачу изображений и видео с высоким разрешением как относительно компактных файлов или потоков данных. Такие стандарты кодирования включают в себя от Объединенной экспертной группы по фотографии ("JPEG"), от Экспертной группы по вопросам движущегося изображения ("MPEG")-1, MPEG-2, MPEG-4 часть 2, Усовершенствованный стандарт кодирования Н261, Н263, H.264 ("Н264/AVC") и другие стандарты кодирования изображений и видео.

[0004] В соответствии со многими из этих стандартов видеокадры сжимают, используя "пространственное" кодирование. Эти кадры могут быть исходными кадрами (то есть, i-кадрами) или могут быть остаточными кадрами, сгенерированными процессом временного кодирования, который использует компенсацию движения. Во время пространственного кодирования кадры разбивают на блоки пикселей равного размера. Например, несжатый кадр можно разбить на набор блоков 8×8 пикселей. Для каждого блока пикселей пиксельные компоненты разделяются на матрицы значений пиксельных компонентов. Например, каждый блок пикселей может быть разделен на матрицу значений пиксельных компонентов Y, матрицу значений пиксельных компонентов U и матрицу значений пиксельных компонентов V. В этом примере значения пиксельных компонентов Y указывают значения яркости и значения пиксельных компонентов U и V представляют значения цветности.

[0005] Кроме того, во время пространственного кодирования прямое дискретное косинусное преобразование ("FDCT") применяется к каждой матрице значений пиксельных компонентов в кадре, который кодируется. Идеальное одномерное FDCT определяется как:

где s - массив N первоначальных значений, t - массив N преобразованных значений, и коэффициенты c заданы как:

,

для 1 ≤ k ≤ N-1.

[0006] Идеальное двумерное FDCT определяется формулой:

где s - массив N первоначальных значений, t - массив N преобразованных значений, и c(i,j) задается посредством с(i,j) = c(i) c(j), и c(k) определяется как в одномерном случае.

[0007] Матрица коэффициентов формируется, когда блок значений пиксельных компонентов преобразовывается, используя FDCT. Эта матрица коэффициентов затем может быть квантована и кодирована, используя, например, код Хаффмана или арифметический код. Битовый поток видео представляет комбинированный результат выполнения этого процесса в отношении всех блоков значений пиксельных компонентов в видеокадрах в несжатой последовательности видеокадров.

[0008] Несжатый видеокадр может быть получен из битового потока видео посредством изменения этого процесса. В частности, каждая матрица коэффициентов в битовом потоке видео подвергается декомпрессии и несжатые значения подвергают обратному квантованию, чтобы получить матрицы обратно квантованных коэффициентов. Обратное дискретное косинусное преобразование ("IDCT") затем применяется к каждой матрице обратно квантованных коэффициентов, чтобы получить матрицы значений пиксельных компонентов. Идеальное одномерное IDCT определяется как:

где s - массив N первоначальных значений, t - массив N преобразованных значений, и коэффициенты c заданы как:

,

для 1≤k≤N-1.

Идеальное двумерное IDCT определяется формулой:

Получающиеся матрицы значений пиксельных компонентов затем повторно компонуют в блоки пикселей, и эти повторно компонованные блоки пикселей формируют декодированный видеокадр. Если декодированный видеокадр является интракодированным кадром, видеокадр теперь является полностью декодированным. Однако, если декодированный видеокадр является интеркодированным кадром, декодированный видеокадр является просто декодированным остаточным кадром. Полный кадр генерируется посредством построения предсказанного кадра, используя векторы движения, ассоциированные с декодированным видеокадром, и затем суммируя предсказанный кадр с декодированным остаточным кадром.

Сущность изобретения

[0009] Описываются способы, чтобы сигнализировать (информировать) о максимальном динамическом диапазоне выходных значений обратного дискретного косинусного преобразования ("IDCT"), которые могут быть сформированы, когда набор кодированных аудиовизуальных данных декодируется. В соответствии с этими способами устройство кодирования может генерировать файл аудиовизуальной информации, который включает в себя закодированные данные аудиовизуальной информации, ассоциированные с набором из одного или более видеокадров. Этот файл аудиовизуальной информации может также включать в себя элемент индикации диапазона, который указывает максимальный динамический диапазон выходных значений IDCT, сформированных, когда закодированные данные аудиовизуальной информации декодируются. Устройство декодирования, которое принимает файл аудиовизуальной информации, до декодирования кодированных аудиовизуальных данных может использовать элемент индикации диапазона для определения, декодировать ли закодированные данные аудиовизуальной информации. Например, устройство декодирования может не декодировать кодированные данные аудиовизуальной информации, когда устройство декодирования не способно сформировать выходные значения IDCT в указанном диапазоне выходных значений IDCT.

[0010] В одном аспекте способ содержит прием модулем декодирования объекта аудиовизуальной информации, который включает в себя закодированные данные аудиовизуальной информации, которые представляют набор из одного или более видеокадров, и элемент индикации диапазона, который указывает максимальный динамический диапазон выходных значений IDCT, ассоциированных с закодированными аудиовизуальными данными. Способ также содержит определение - включает ли в себя максимальный динамический диапазон выходных значений IDCT, ассоциированных с закодированными аудиовизуальными данными, выходное значение IDCT, которое находится вне заданного диапазона. Кроме того, способ содержит использование первой операции, чтобы сгенерировать набор выходных значений IDCT на основании кодированных аудиовизуальных данных, когда максимальный динамический диапазон выходных значений IDCT, ассоциированных с закодированными аудиовизуальными данными, не включает в себя выходное значение IDCT, которое находится вне заданного диапазона. Кроме того, способ содержит использование набора выходных значений IDCT, чтобы сгенерировать восстановленные видеокадры, ассоциированные с видеокадрами в наборе видеокадров. Способ также содержит вынуждение модуля представления аудиовизуальной информации представлять восстановленные видеокадры.

[0011] В другом аспекте способ содержит прием от устройства декодирования сообщения, которое указывает максимальный динамический диапазон выходных значений IDCT. Кроме того, способ содержит генерирование, в ответ на прием сообщения, первого набора кодированных аудиовизуальных данных, который представляет набор из одного или более видеокадров, в котором выходные значения IDCT, ассоциированные с первым набором кодированных аудиовизуальных данных, не включают в себя выходное значение IDCT, которое находится вне указанного диапазона. Способ также содержит вывод первого набора кодированных аудиовизуальных данных на устройство декодирования.

[0012] В другом аспекте устройство содержит коммуникационный интерфейс, который принимает объект аудиовизуальной информации, который включает в себя закодированные данные аудиовизуальной информации, которые представляют набор из одного или более видеокадров, и элемент индикации диапазона, который указывает максимальный динамический диапазон выходных значений IDCT, ассоциированных с закодированными аудиовизуальными данными. Устройство также содержит модуль проверки диапазона, который определяет, включает ли в себя максимальный динамический диапазон выходных значений IDCT, ассоциированных с закодированными аудиовизуальными данными, выходное значение IDCT, которое находится вне заданного диапазона. Кроме того, устройство содержит первый модуль обратного преобразования, который использует первую операцию, чтобы сгенерировать набор выходных значений IDCT на основании кодированных аудиовизуальных данных, когда максимальный динамический диапазон выходных значений IDCT, ассоциированных с закодированными аудиовизуальными данными, не включает в себя выходное значение IDCT, которое находится вне заданного диапазона. Устройство также содержит модуль реконструкции изображения, который использует набор выходных значений IDCT, чтобы сгенерировать восстановленные видеокадры, ассоциированные с видеокадрами в наборе видеокадров. Кроме того, устройство содержит формирователь представления, который вынуждает модуль представления аудиовизуальной информации представлять восстановленные видеокадры.

[0013] В другом аспекте устройство содержит коммуникационный интерфейс, который принимает от устройства декодирования сообщение, которое указывает максимальный динамический диапазон выходных значений IDCT. Устройство также содержит модуль кодирования, который генерирует, в ответ на прием сообщения, первый набор кодированных аудиовизуальных данных, который представляет набор из одного или более видеокадров, при этом выходные значения IDCT, ассоциированные с первым набором кодированных аудиовизуальных данных, не включают в себя выходное значение IDCT, которое находится вне указанного диапазона. Коммуникационный интерфейс выводит первый набор кодированных аудиовизуальных данных на устройство декодирования.

[0014] В другом аспекте устройство содержит средство для приема объекта аудиовизуальной информации, который включает в себя закодированные данные аудиовизуальной информации, которые представляют набор из одного или более видеокадров, и элемент индикации диапазона, который указывает максимальный динамический диапазон выходных значений IDCT, ассоциированных с закодированными аудиовизуальными данными. Устройство также содержит средство для определения, включает ли в себя максимальный динамический диапазон выходных значений IDCT, ассоциированных с закодированными аудиовизуальными данными, выходное значение IDCT, которое находится вне заданного диапазона. Кроме того, устройство содержит средство для использования первой операции, чтобы сгенерировать набор выходных значений IDCT на основании кодированных аудиовизуальных данных, когда максимальный динамический диапазон выходных значений IDCT, ассоциированных с закодированными аудиовизуальными данными, не включает в себя выходное значение IDCT, которое находится вне заданного диапазона. Кроме того, устройство содержит средство для использования набора выходных значений IDCT, чтобы сгенерировать восстановленные видеокадры, ассоциированные с видеокадрами в наборе видеокадров. Устройство также содержит средство для того, чтобы вынудить модуль представления аудиовизуальной информации представлять восстановленные видеокадры.

[0015] В другом аспекте устройство содержит средство для приема от устройства декодирования сообщения, которое указывает максимальный динамический диапазон выходных значений IDCT. Устройство также содержит средство для генерирования, в ответ на прием сообщения, первого набора кодированных аудиовизуальных данных, который представляет набор из одного или более видеокадров, при этом выходные значения IDCT, ассоциированные с первым набором кодированных аудиовизуальных данных, не включают в себя выходное значение IDCT, которое находится вне указанного диапазона. Устройство также содержит средство для вывода первого набора кодированных аудиовизуальных данных на устройство декодирования.

[0016] В другом аспекте интегральная схема содержит схему, которая принимает объект аудиовизуальной информации, который включает в себя закодированные данные аудиовизуальной информации, которые представляют набор из одного или более видеокадров, и элемент индикации диапазона, который указывает максимальный динамический диапазон выходных значений IDCT, ассоциированных с закодированными аудиовизуальными данными. Интегральная схема также содержит схему, которая определяет, включает ли в себя максимальный динамический диапазон выходных значений IDCT, ассоциированных с закодированными аудиовизуальными данными, выходное значение IDCT, которое находится вне заданного диапазона. Кроме того, интегральная схема содержит схему, которая использует первую операцию, чтобы сгенерировать набор выходных значений IDCT, на основании кодированных аудиовизуальных данных, когда максимальный динамический диапазон выходных значений IDCT, ассоциированных с закодированными аудиовизуальными данными, не включает в себя выходное значение IDCT, которое находится вне заданного диапазона. Кроме того, интегральная схема содержит схему, которая использует набор выходных значений IDCT, чтобы сгенерировать восстановленные видеокадры, ассоциированные с видеокадрами в наборе видеокадров. Интегральная схема также содержит схему, которая вынуждает модуль представления аудиовизуальной информации представлять восстановленные видеокадры.

[0017] В другом аспекте интегральная схема содержит схему, которая принимает от устройства декодирования сообщение, которое указывает максимальный динамический диапазон выходных значений IDCT. Кроме того, интегральная схема содержит схему, которая генерирует, в ответ на прием сообщения, первый набор кодированных аудиовизуальных данных, который представляет набор из одного или более видеокадров. Выходные значения IDCT, ассоциированные с первым набором кодированных аудиовизуальных данных, не включают в себя выходное значение IDCT, которое находится вне указанного диапазона. Интегральная схема также содержит схему, которая выводит закодированные данные аудиовизуальной информации на устройство декодирования.

[0018] В другом аспекте система содержит устройство кодирования и устройство декодирования. Устройство декодирования содержит первый коммуникационный интерфейс, который принимает от устройства кодирования объект аудиовизуальной информации, который включает в себя первый набор кодированных аудиовизуальных данных, который представляет набор из одного или более видеокадров, и элемент индикации диапазона, который указывает максимальный динамический диапазон выходных значений IDCT, ассоциированных с первым набором кодированных аудиовизуальных данных. Устройство декодирования также содержит модуль проверки диапазона, который определяет, включает ли в себя максимальный динамический диапазон выходных значений IDCT, ассоциированных с первым набором кодированных аудиовизуальных данных, выходное значение IDCT, которое находится вне заданного диапазона. Кроме того, устройство декодирования содержит модуль информирования о диапазоне, который вынуждает первый коммуникационный интерфейс выводить на устройство кодирования сообщение, которое указывает максимальный динамический диапазон выходных значений IDCT, когда максимальный динамический диапазон выходных значений IDCT, ассоциированных с закодированными аудиовизуальными данными, включает в себя выходное значение IDCT, которое находится вне заданного диапазона. Кроме того, устройство декодирования содержит первый модуль обратного преобразования, который использует первую операцию, чтобы сгенерировать набор выходных значений IDCT, на основании первого набора кодированных аудиовизуальных данных, когда максимальный динамический диапазон выходных значений IDCT, ассоциированных с первым набором кодированных аудиовизуальных данных, не включает в себя выходное значение IDCT, которое находится вне заданного диапазона. Кроме того, устройство декодирования содержит модуль реконструкции изображения, который использует набор выходных значений IDCT, чтобы сгенерировать восстановленные видеокадры, ассоциированные с видеокадрами в наборе видеокадров. Устройство декодирования также содержит формирователь представления, который вынуждает модуль представления аудиовизуальной информации представлять восстановленные видеокадры. Устройство кодирования содержит второй коммуникационный интерфейс, который принимает от устройства декодирования сообщение, которое указывает заданный диапазон. Устройство кодирования также содержит модуль кодирования, который генерирует, в ответ на прием сообщения, второй набор кодированных аудиовизуальных данных, который представляет набор из одного или более видеокадров. Выходные значения IDCT, ассоциированные со вторым набором кодированных аудиовизуальных данных, не включают в себя выходное значение IDCT, которое находится вне заданного диапазона. Второй коммуникационный интерфейс выводит второй набор кодированных аудиовизуальных данных на устройство декодирования.

[0019] Способы, описанные в этом описании, могут быть реализованы в аппаратном обеспечении, программном обеспечении, программно-аппаратном обеспечении или любой их комбинации. При реализации в программном обеспечении это программное обеспечение может быть выполнено, используя один или более процессоров, таких как микропроцессоры, специализированные интегральные схемы ("ASIC"), программируемые пользователем вентильные матрицы ("FPGA"), или цифровые процессоры сигналов ("DSP"). Программное обеспечение, которое выполняет эти способы, может быть первоначально сохранено в считываемом компьютером носителе и загружено и выполнено с использованием одного или более процессоров.

[0020] Соответственно, настоящее описание также рассматривает считываемый компьютером носитель, который содержит выполняемые команды. При выполнении одним или более процессорами команды заставляют один или более процессоров принимать объект аудиовизуальной информации, который включает в себя закодированные данные аудиовизуальной информации, которые представляют набор из одного или более видеокадров, и элемент индикации диапазона, который указывает максимальный динамический диапазон выходных значений IDCT, ассоциированных с закодированными аудиовизуальными данными. Кроме того, команды заставляют один или более процессоров определять, включает ли в себя максимальный динамический диапазон выходных значений IDCT, ассоциированных с закодированными аудиовизуальными данными, выходное значение IDCT, которое находится вне заданного диапазона. Команды также заставляют один или более процессоров использовать первую операцию, чтобы сгенерировать набор выходных значений IDCT, на основании кодированных аудиовизуальных данных, когда максимальный динамический диапазон выходных значений IDCT, ассоциированных с закодированными аудиовизуальными данными, не включает в себя выходное значение IDCT, которое находится вне заданного диапазона. Кроме того, команды вынуждают один или более процессоров использовать набор выходных значений IDCT, чтобы сгенерировать восстановленные видеокадры, ассоциированные с видеокадрами в наборе видеокадров. Команды также заставляют один или более процессоров заставлять модуль представления аудиовизуальной информации представлять восстановленные видеокадры.

[0021] В другом примере считываемый компьютером носитель содержит команды, которые, когда выполняются одним или более процессорами, заставляют один или более процессоров принимать от устройства декодирования сообщение, которое указывает максимальный динамический диапазон выходных значений IDCT. Команды также заставляют один или более процессоров генерировать, в ответ на прием сообщения, первый набор кодированных аудиовизуальных данных, которые представляют набор из одного или более видеокадров. Выходные значения IDCT, ассоциированные с первым набором кодированных аудиовизуальных данных, не включают в себя выходное значение IDCT, которое находится вне указанного диапазона. Кроме того, команды заставляют один или более процессоров выводить закодированные данные аудиовизуальной информации на устройство декодирования.

[0022] В некоторых случаях считываемый компьютером носитель может быть частью компьютерного программного продукта, который может быть продан производителям и/или использоваться в устройстве. Компьютерный программный продукт может включать в себя считываемый компьютером носитель, и в некоторых случаях может также включить в себя упаковочные материалы.

[0023] Подробности одного или более примеров представлены ниже на сопроводительных чертежах и в описании. Другие признаки, задачи и преимущества будут очевидны из описания и чертежей и из формулы изобретения.

Краткое описание чертежей

[0024] Фиг.1 иллюстрирует блок-схему, иллюстрирующую примерную систему, которая включает в себя устройство кодирования и устройство декодирования.

[0025] Фиг.2 иллюстрирует блок-схему, иллюстрирующую примерные подробности модуля кодирования.

[0026] Фиг.3 иллюстрирует блок-схему, иллюстрирующую примерные подробности модуля декодирования.

[0027] Фиг.4 - последовательность операций, иллюстрирующая пример работы примерного модуля кодирования, проиллюстрированного на фиг.2.

[0028] Фиг.5 - последовательность операций, иллюстрирующая пример работы примерного модуля декодирования, иллюстрированного на фиг.3.

[0029] Фиг.6 - последовательность операций, иллюстрирующая дополнительный пример работы примерного модуля кодирования, иллюстрированного на фиг.2.

[0030] Фиг.7 - последовательность операций, иллюстрирующая альтернативный пример работы примерного модуля декодирования, иллюстрированного на фиг.3.

Подробное описание

[0031] Фиг.1 представлена блок-схема, иллюстрирующая примерную систему 2, которая включает в себя устройство 4 кодирования и устройство 6 декодирования. Нужно заметить, что система 2 является примерной системой и что возможно много других устройств и реализаций.

[0032] Устройство 4 кодирования и устройство 6 декодирования могут содержать персональные компьютеры, мобильные радиотелефоны, серверы, сетевые устройства, компьютеры, интегрированные в транспортные средства, платформы видеоигр, переносные игровые устройства, компьютерные рабочие станции, компьютерные киоски, цифровую аппаратуру графического указания, универсальные компьютеры, телевизионные приставки, сетевые телефоны, персональные цифровые ассистенты, мобильные медиаплееры, домашние медиаплееры, цифровые видеопроекторы, или другие типы электронных устройств.

[0033] Устройство 4 кодирования может включать в себя источник 8 аудиовизуальной информации, чтобы генерировать данные аудиовизуальной информации (аудиовизуальные данные). Источник 8 аудиовизуальной информации может являться цифровой видео- или фотокамерой, которая фиксирует данные изображения. Источник 8 аудиовизуальной информации может быть встроен в устройство 4 кодирования или может быть присоединен к устройству 4 кодирования как периферийное устройство или сетевое устройство.

[0034] В примере на Фиг.1 устройство 4 кодирования также включает в себя процессор 10. Процессор 10 может быть цифровым процессором сигналов ("DSP"), микропроцессором, специализированной интегральной схемой ("ASIC"), или некоторым другим типом интегральной схемы. Модуль 12 кодирования в устройстве 4 кодирования может кодировать данные аудиовизуальной информации, сгенерированные источником 8 аудиовизуальной информации. Модуль 12 кодирования может быть реализован множеством способов. Например, модуль 12 кодирования может содержать команды, которые вынуждают процессор 10 кодировать данные аудиовизуальной информации из источника 8 аудиовизуальной информации. В другом примере модуль 12 кодирования может быть реализован как интегральная схема, которая кодирует данные аудиовизуальной информации, сгенерированные источником 8 аудиовизуальной информации. В еще одном примере модуль 12 кодирования может быть комбинацией одного или более модулей аппаратного и программного обеспечения.

[0035] В примере на Фиг.1 устройство 4 кодирования также включает в себя коммуникационный интерфейс 14. Коммуникационный интерфейс 14 разрешает устройству 4 кодирования отправлять данные к и принимать данные от одного или более других устройств, включая устройство 6 декодирования. Коммуникационный интерфейс 14 может быть любым из множества типов интерфейса. Например, коммуникационный интерфейс 14 может быть типом сетевого интерфейса. Типы беспроводных интерфейсов включают в себя интерфейсы Ethernet, интерфейсы кольцевой сети с передачей маркера (token-ring), интерфейсы Wi-Fi, интерфейсы WiMax, беспроводные широкополосные интерфейсы, интерфейсы асинхронного режима передачи ("ATM"), интерфейсы технологии Bluetooth, или другие типы проводных или беспроводных сетевых интерфейсов. В другом примере коммуникационный интерфейс 14 может быть интерфейсной шиной устройств, такой как интерфейс универсальной последовательной шины ("USB"), интерфейс FireWire, последовательный интерфейс передачи по кабелю, или другим типом интерфейсного устройства.

[0036] Устройство 6 декодирования может включать в себя коммуникационный интерфейс 16. Как и коммуникационный интерфейс 14, коммуникационный интерфейс 16 может быть любым из множества типов интерфейса. Например, коммуникационный интерфейс 16 может быть сетевым интерфейсом, интерфейсной шиной устройств или другим типом интерфейса. Коммуникационный интерфейс 16 может посылать и принимать много различных видов данных. Например, коммуникационный интерфейс 16 может принимать объект аудиовизуальной информации. Как используется в настоящем описании, "объект аудиовизуальной информации" является набором данных, из которых слышимые и/или видимые сигналы могут быть получены и воспроизведены. Например, "объект аудиовизуальной информации" может быть битовым потоком видео, аудио- или видеофайлом, или другим типом данных, из которых слышимые и/или видимые сигналы могут быть получены и воспроизведены.

[0037] Когда коммуникационный интерфейс 16 принимает объект аудиовизуальной информации, модуль 18 декодирования в устройстве 6 декодирования может декодировать закодированные данные аудиовизуальной информации в объект аудиовизуальной информации. Модуль 18 декодирования может быть реализован множеством способов. Например, модуль 18 декодирования может содержать интегральную схему, которая декодирует кодированные данные аудиовизуальной информации в объект аудиовизуальной информации. В другом примере модуль 18 декодирования может быть реализован как последовательность команд, которые, когда выполняются процессором 20 в устройстве 6 декодирования, вынуждают процессор 20 декодировать закодированные данные аудиовизуальной информации в объекте аудиовизуальной информации. Процессор 20 может быть микропроцессором, цифровым процессором сигналов, специализированными интегральными схемами или другим типом интегральных схем. Процессор 20 может использовать арифметику с фиксированной точкой, чтобы выполнить численные вычисления, что является распространенным в меньших устройствах, таких как мобильные телефоны. Например, процессор 20 может использовать 16-разрядные регистры, чтобы хранить значения для численных вычислений.

[0038] Формирователь 22 представления в устройстве 6 декодирования вынуждает модуль 24 представления аудиовизуальной информации представлять данные аудиовизуальной информации, декодированные модулем 18 декодирования. Другими словами, формирователь 22 представления может вынудить модуль 24 представления аудиовизуальной информации выводить слышимые и/или видимые сигналы, которые представляют декодированные данные аудиовизуальной информации. Например, модуль 24 представления аудиовизуальной информации может содержать компьютерный монитор, который представляет видеоинформацию. Модуль 24 представления аудиовизуальной информации может быть интегрирован в устройство 6 декодирования или может быть подсоединен к устройству 6 декодирования в качестве периферийного устройства через одну или более проводных или беспроводных линий связи. Формирователь 22 представления может содержать драйвер устройства или другое программное обеспечение, которое выполняется на процессоре 20, аппаратное обеспечение или модуль программно-аппаратного обеспечения, или некоторый другой механизм, который вынуждает модуль 24 представления аудиовизуальной информации представлять данные аудиовизуальной информации.

[0039] Когда модуль 12 кодирования кодирует набор из одного или более видеокадров, включенных в данные аудиовизуальной информации, сгенерированные источником 8 аудиовизуальной информации, модуль 12 кодирования может генерировать матрицы коэффициентов посредством выполнения прямого дискретного косинусного преобразования ("FDCT") над блоками значений пиксельных компонентов в видеокадрах в наборе видеокадров. После формирования матрицы коэффициентов модуль 12 кодирования может генерировать матрицу квантованных коэффициентов посредством квантования коэффициентов в матрице коэффициентов. Квантование коэффициентов в матрице коэффициентов может сократить количество информации, ассоциированной с высокочастотными коэффициентами в этой матрице коэффициентов.

[0040] После того как модуль 12 кодирования сгенерирует набор матриц квантованных коэффициентов для видеокадров в наборе видеокадров, модуль 12 кодирования может определить максимальный динамический диапазон выходных значений обратного дискретного косинусного преобразования («IDCT»), ассоциированных с матрицами квантованных коэффициентов. Выходные значения IDCT, ассоциированные с матрицей квантованных коэффициентов, представляют выходные значения IDCT в матрице выходных значений IDCT, которые могут получиться из формирования матрицы обратно квантованных коэффициентов посредством обратного квантования матрицы квантованных коэффициентов и затем генерирования матрицы выходных значений IDCT посредством выполнения IDCT над матрицей обратно квантованных коэффициентов. Например, модуль 12 кодирования может определить, что выходные значения IDCT, ассоциированные с набором матриц квантованных коэффициентов, находятся в пределах диапазона от -1805 до 1805.

[0041] После того как модуль 12 кодирования идентифицирует максимальный динамический диапазон выходных значений IDCT, ассоциированных с набором матриц квантованных коэффициентов, модуль 12 кодирования может генерировать объект аудиовизуальной информации, который включает в себя статистически кодированные версии матриц квантованных коэффициентов, ассоциированных с набором видеокадров, данными движения, ассоциированными с набором видеокадров, и элементом индикации диапазона. Например, модуль 12 кодирования может генерировать транспортный поток MPEG-2, который включает в себя статистически кодированные версии матриц квантованных коэффициентов, ассоциированных с набором видеокадров, и элемент заголовка битового потока, который указывает максимальный динамический диапазон выходных значений IDCT, ассоциированных с матрицами квантованных коэффициентов. Элемент индикации диапазона указывает максимальный динамический диапазон выходных значений IDCT в матрицах квантованных коэффициентов, ассоциированных с набором видеокадров.

[0042] Элемент индикации диапазона может указать диапазон выходных значений IDCT множеством способов. В первом примере элемент индикации диапазона может явно указывать или иначе указывать максимальное количество битов, требуемых для представления любого выходного значения IDCT в матрицах квантованных коэффициентов, ассоциированных с набором видеокадров. Во втором примере элемент индикации диапазона может явно указывать или иначе указывать максимальное выходное значение IDCT и минимальное выходное значение IDCT в матрицах квантованных коэффициентов, ассоциированных с набором видеокадров.

[0043] Модуль 12 кодирования может выполнять множество действий после формирования объекта аудиовизуальной информации. Например, модуль 12 кодирования может вынудить коммуникационный интерфейс 14 выводить объект аудиовизуальной информации на устройство 6 декодирования или другое устройство. В другом примере модуль 12 кодирования может сохранять объект аудиовизуальной информации в считываемом компьютером носителе (не показан) для более позднего использования.

[0044] Коммуникационный интерфейс 16 может принять объект аудиовизуальной информации, который включает в себя набор кодированных аудиовизуальных данных, ассоциированных с набором видеокадров, набор данных движения, ассоциированных с набором видеокадров, и элемент индикации диапазона. Когда коммуникационный интерфейс 16 принимает такой объект аудиовизуальной информации, модуль 18 декодирования может извлечь элемент индикации диапазона из объекта аудиовизуальной информации. После извлечения элемента индикации диапазона модуль 18 декодирования может определить, включает ли в себя диапазон, указанный элементом индикации диапазона, выходное значение IDCT, которое находится вне заданного диапазона. Этот данный диапазон может быть диапазоном выходных значений IDCT, которые модуль 18 декодирования способен сформировать. Например, элемент индикации диапазона может указывать, что выходные значения IDCT, ассоциированные с кодированными аудиовизуальными данными, находятся в диапазоне [-1024, 1023], и модуль 18 декодирования может быть способным только сформировать выходные значения IDCT в диапазоне [-256, 255]. Следовательно, в этом примере модуль 18 декодирования может определить, что диапазон, указанный элементом индикации диапазона, включает в себя выходное значение IDCT, которое находится вне диапазона выходных значений IDCT, которые модуль 18 декодирования способен сформировать.

[0045] Если модуль 18 декодирования определяет, что диапазон, указанный элементом индикации диапазона, не больше чем заданный диапазон, модуль 18 декодирования может затем выполнить процесс статистического декодирования в отношении набора кодированных аудиовизуальных данных в объекте аудиовизуальной информации, таким образом генерируя набор матриц квантованных коэффициентов, ассоциированных с набором видеокадров. Кроме того, модуль 18 декодирования может выполнить процесс статистического декодирования в отношении данных движения в объекте аудиовизуальной информации. Модуль 18 декодирования может затем генерировать матрицы обратно квантованных коэффициентов посредством выполнения операции обратного квантования для каждой из матриц квантованных коэффициентов, ассоциированных с набором видеокадров. Затем модуль 18 декодирования может применить IDCT к каждой из матриц обратно квантованных коэффициентов, чтобы получить матрицы выходных значений IDCT. Модуль 18 декодирования может генерировать восстановленные остаточные изображения, ассоциированные с набором видеокадров, посредством повторной сборки (компоновки) матриц выходных значений IDCT. После формирования восстановленных остаточных изображений модуль 18 декодирования может генерировать восстановленные (реконструированные) версии первоначальных видеокадров, используя восстановленные остаточные изображения и предсказанные изображения, сгенерированные с наборами данных движения, ассоциированными с набором видеокадров. Формирователь 22 представления может затем вынудить модуль 24 представления аудиовизуальной информации выводить видимые сигналы, которые представляют восстановленные версии первоначального набора видеокадров.

[0046] Способы, описанные в насто