СПОСОБ, УСТРОЙСТВО И ЗАПОМИНАЮЩЕЕ УСТРОЙСТВО УПРАВЛЕНИЯ КВАНТОВАНИЕМ
METHOD, DEVICE AND MEMORY TO CONTROL QUANTISATION

ОБЛАСТЬ ТЕХНИКИ
Настоящее изобретение относится к способу управления квантованием для управления битовой скоростью кодирования при кодировании видеосигнала и к соответствующему устройству, программе управления квантованием для осуществления способа управления квантованием и к машиночитаемому носителю информации, который хранит программу.
Приоритет испрошен по Японской Патентной Заявке №2007-064274, поданной 14 марта 2007 г., содержание которой введено здесь в качестве ссылки.
ПРЕДЫДУЩИЙ УРОВЕНЬ ТЕХНИКИ
Во многих способах кодирования видеосигнала объем генерируемого кода изменяется в зависимости от характера входящего изображения. Более того, техника управления битовой скоростью кодирования требуется для управления объемом генерируемого кода и сохранения постоянной битовой скорости кодирования.
Объем генерируемого кода тесно связан с размером шага квантования и объем генерируемого кода управляется с помощью варьирования размера шага квантования.
В тестовой модели 5 (сокращенно ТМ5) MPEG-2 управление объемом кода выполняется с использованием взаимосвязи между размером шага квантования и объемом генерируемого кода (см., например, Непатентный Документ 1).
Ниже будет пояснено управление объемом кода в ТМ5 MPEG-2.
В ТМ5 MPEG-2 управление объемом кода выполняется с использованием модуля, называемого GOP (Group Of Pictures - группа картинок), которая может включать в себя I,P и B картинки, имеющие разные типы картинок, такие как I, P и B типы картинок.
Фиг.6 показывает последовательность операций управления объемом кода в ТМ5 MPEG-2.
х
Как показано в последовательности операций, управление объемом кода ТМ5 MPEG-2 на первом этапе S401, комплексный индекс Х для каждого типа картинок (х=i, p, b (который соответственно относится к I, P и B картинкам)) вычисляется по следующей формуле:
x
x
В вышеприведенной формуле х указывает тип картинки, S указывает объем кода, генерируемого для изображения, которое имеет тот же самый тип, как и настоящее изображение, и которое было закодировано совсем недавно, и <Q> указывает среднее значение размера шага квантования при подходящем кодировании.
x
x
х
В общем случае объем кода S обратно пропорционален размеру Q шага квантования. Поэтому вычисление комплексного индекса Х дает взаимосвязь между объемом генерируемого кода и размером шага квантования.
х
На следующем этапе S402 целевой объем Т кода (х=I, p, b) для каждого типа картинки вычисляется по следующим формулам:
[Формула 1]
p
b
р
b
Здесь R указывает объем кода, размещенного в соответствующей GOP, N указывает число Р картинок в GOP, Nуказывает число В картинок в GOP, а К и K - константы.
i
р
i
b
i
i
p
b
Вышеприведенные формулы показывают, чтобы установить целевой объем кода T, Р картинки преобразуют в I картинки в соответствии с Х/X, В картинки преобразуют в I картинки в соответствии с X/X, и целевой объем Tкода вычисляется на основании преобразованных значений, числа N и N картинок, и объема R кода, размещенного в GOP.
р
b
p
р
p
b
Чтобы установить целевой объем Т кода, В картинки преобразуют в Р картинки в соответствии с X/X, и целевой объем Т кода вычисляется на основании преобразованного значения, числа N и Nкартинок, и объемы R кода, размещенного в GOP.
b
р
b
b
p
b
Чтобы установить целевой объем T кода, P картинки преобразовываются в B картинки в соответствии с Х/X, и целевой объем T кодов вычислен на основании преобразованного значения, числа N и Nкартинок, и объема R кода, размещенного в GOP.
х
На следующем этапе S403, на основании вышеприведенного набора целевого объема Т кода для картинок определяется размер шага квантования для маленького блока в качестве цели кодирования.
x
Размер шага квантования вычисляется на основании объема d(j) наполнения виртуального буфера и параметра r отклика с помощью следующей формулы:
[Формула 2]
x
Виртуальный буфер, используемый только для вычисления размера шага квантования, устанавливается для каждого типа картинки, и объем d(j) наполнения для него обновляется по следующей формуле:
[Формула 3]
x
cnt
В приведенной выше формуле G(j) указывает, что полный объем кода, генерируемого до j-го маленького блока в кодированной целевой картинке, закодирован, а MB указывает число маленьких блоков в соответствующей картинке. Параметр отклика вычисляется по следующей формуле:
[Формула 4]
x
x
На этапе S403, используя вышеописанный способ, размер Q(j) шага квантования, присвоенный маленькому блоку как цель кодирования, определяется на основании объема d(j) наполнения виртуального буфера и параметра r отклика.
x
На следующем этапе S404 каждый маленький блок подвергается квантованию и кодированию с использованием определенного размера Q(j) шага квантования.
x
На следующем этапе S405 после того как кодирование одной картинки завершается, вычисляется среднее значение <Q> размера шага квантования.
x
На следующем этапе S406 (после того как кодирование картинки завершается) измеряется реальный объем S генерируемого кода.
x
x
х
На основании измеренного объема S генерируемого кода и вычисленного среднего значения размера <Q> шага квантования на этапе S401 комплексный индекс Х опять обновляется для каждого типа картинок.
В соответствии с вышеописанным способом, в ТМ5 MPEG-2 целевой объем кода присваивается каждой картинке при кодировании картинки, таким образом происходит управление объемом генерируемого кода.
Вышеописанный способ управления обеспечивает стабильную работу, если характеристики соответствующего видеосигнала не изменяются значительно и если нет переполнения или опустошения буфера декодера.
Однако реальное управление должно учитывать изменение сцены или состояния буфера декодера.
Например, если очень простая сцена продолжается в статическом изображении, таком как telop (эпископический проекционный аппарат), размер шага квантования уменьшается очень сильно. Если затем появляется изображение с мелкой текстурой (ландшафта и т.п.), то изображение с мелкой текстурой кодируется с использованием очень маленького размера шага квантования, который вызывает бурное увеличение объема генерируемого кода и таким образом сбой в управлении битовой скоростью.
Таким образом, в известном предложенном способе после обнаружения изменения сцены размер шага квантования изменяется на заранее определенное значение (см., например, Патентный Документ 1).
В этом способе если было обнаружено изменение сцены, начальное значение (размера шага квантования), определенное для изменения сцены, сравнивается с размером шага квантования, вычисленным через управление скоростью, и больший размер шага квантования используется для квантования.
В соответствии с вышеописанным способом, если изменение сцены было обнаружено, то размером шага квантования можно управлять, таким образом предотвращая бурное повышение объема генерируемого кода.
Непатентный Документ 1: MPEG-2, Test Model5(TM5), doc.ISO/IECJTC1/SC29/WG11/NO400, Test Model Editing Committee, pp.59-63, Apr., 1993.
Патентный Документ 1: Японская нерассмотренная патентная заявка, первая публикация № Н06-113271.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Проблема, которую решает изобретение
Как описано выше, в традиционной технике внезапное изменение входящего видеоизображения из-за причины иной, чем управление квантованием, избегается путем установки начального состояния управления квантованием.
Однако в соответствии с такой традиционной техникой квантование не выполняется с использованием размера шага квантования с учетом характера целевой кодированной картинки немедленно после изменения соответствующих условий. Более того, потребуется длительное время для установки изменения размера шага квантования или соответствующего изменения объема генерируемого кода.
Фиг.7 показывает пример, поясняющий вышесказанное. Этот пример показывает состояние, в котором начальное значение (установленное первоначально) размера шага квантования меньше, чем размер шага квантования, который может обеспечить стабильное кодирование.
В таком случае, как показано на Фиг.7, когда начальное значение размера шага квантования маленькое, объем кода больше, чем генерирует целевой объем, и размер шага квантования возрастает постепенно. Если размер шага квантования слишком большой, объем генерируемого кода не достигает целевого объема, и размер шага квантования уменьшается. После значительного промежутка времени имеет место стабильное состояние.
Следовательно, если существует разница между начальным значением размера шага квантования и размером шага квантования, который может обеспечить стабильное кодирование, то стабильное управление не всегда возможно, даже с помощью выполнения простой начальной установки.
С другой стороны, в способе кодирования видеосигнала с использованием межкадрового кодирования, когда имеет место внезапное изменение (например, изменение сцены) в характере видеоизображения, эффективность предсказания между кадрами уменьшается, что может уменьшать эффективность кодирования. Более того, в этом случае внутрикадровое предсказание используется для кодирования вместо межкадрового предсказания.
Однако по сравнению с кодированием с межкадровым предсказанием эффективность кодирования с внутрикадровым предсказанием ниже, и может произойти внезапное повышение объема генерируемого кода. В особенности если объем кода на основании кодирования с межкадровым предсказанием был назначен картинке, у которой было изменение в характере видеоизображения, то может быть получен объем кода, который значительно превышает целевой объем кода.
Такое внезапное повышение объема генерируемого кода может вызывать опустошение буфера декодера.
Наоборот, если существует изменение сцены от сложной сцены до простой сцены (например, статическое изображение), внезапное уменьшение объема генерируемого кода может вызывать переполнение буфера декодера.
Переполнение буфера декодера может быть предотвращено передачей неверных данных, таких как наполняющие данные. Однако это порождает нежелательный объем кода.
Чтобы решить вышеуказанную проблему при управлении квантованием, большая величина обратной связи для повышения или уменьшения размера шага квантования для разности между целевым объемом кода и объемом генерируемого кода может быть установлена заблаговременно.
Если большая величина обратной связи устанавливается заблаговременно, разброс (изменение) в объем генерируемого кода уменьшается и может быть получено относительно стабильное условие. Однако в этом случае изменение в объеме генерируемого кода подавляется независимо от сложности соответствующего вида изображения, и таким образом изменение в качестве изображения возрастает, что может ухудшить субъективное качество изображения.
Как описано выше, если характер входного видеоизображения изменяется из-за изменения сцены или тому подобного или принимается во внимание объем наполнения буфера декодера, то тогда в традиционном способе требуется долгое время, пока не будет получено стабильное (т.е. конвергированное) состояние, или изменение в качестве изображения увеличивается, чтобы сократить такое время для получения конвергированного состояния.
В свете вышеприведенных обстоятельств цель настоящего изобретения заключается в обеспечении новой техники управления квантованием для получения, если имеет место внешняя причина, такая как внезапное изменение в характере входящего видеоизображения или сбой в буфере декодера, более раннего отклонения от устойчивого состояния в течение подавления внезапного изменения объема генерируемого кода, таким образом предотвращают ухудшение субъективного качества изображения, происходящего на протяжении существенной последовательности изображений.
СРЕДСТВО ДЛЯ РЕШЕНИЯ ПРОБЛЕМЫ
Для достижения цели при этом устройство управления квантованием по настоящему изобретению используется при видеокодировании, которое кодирует видеоизображение и выполняет управление для того, чтобы битовая скорость кодирования достигла заранее определенной целевой битовой скорости, устройство управления квантованием содержит:
(i) измерительное устройство, которое измеряет дифференциальный объем кода между целевым объемом кода и объемом генерируемого кода;
(ii) устройство определения, которое определяет, имело ли место заранее определенное условие, которое вызывает внезапное повышение или уменьшение объема генерируемого кода;
(iii) устройство изменения величины обратной связи, которое обнаруживает, когда определяющим устройством определено, что условие имело место, изменение величины обратной связи, которое увеличивает или уменьшает размер шага квантования, и изменяет величину обратной связи на основании определенного изменения; и
(iv) устройство изменения размера шага квантования, которое увеличивает или уменьшает размер шага квантования на основании дифференциального объема кода, измеренной измерительным устройством и величиной обратной связи, измененного устройством изменения величины обратной связи.
Вышеописанная структура может далее включать в себя устройство восстановления величины обратной связи, которое назначает величине обратной связи значение, которое было перед изменением, когда заранее определенный период (заданный временным периодом или кодирующим обрабатывающим модулем) пройден после того как величина обратной связи изменилась. Если существует множество заранее определенных условий, которые вызывают внезапное увеличение или уменьшение величины обратной связи, и величина обратной связи изменяется в соответствии с каждым условием, то вышеописанная структура может дополнительно включать в себя устройство восстановления величины обратной связи, которое присваивает индивидуальный период (определенный периодом времени или кодирующим обрабатывающим модулем) для изменения величины обратной связи каждого условия и назначает величине обратной связи значение, которое было до изменения, когда назначенный период пройден.
Способ управления квантованием по настоящему изобретению, выполненный с помощью работы вышеописанных устройств, может также быть выполнен компьютерной программой. Такая компьютерная программа может быть обеспечена хранением в подходящем машиночитаемом носителе информации или посредством сети, и может быть установлена и работать в устройстве управления, таком как CPU, чтобы выполнить настоящее изобретение.
В устройстве управления квантованием по настоящему изобретению, имеющем вышеописанную структуру, определяется, имело ли место заранее определенное условие, которое вызывает внезапное увеличение или уменьшение объема генерируемого кода.
Например, определяется, что условие имело место (i), когда было обнаружено внезапное изменение в характере видеоизображения, (ii) когда возможность опустошения или переполнения буфера на стороне, принимающей изображение, была обнаружена в соответствии с объемом наполнения буфера, или (iii) когда объем генерируемого кода сравнивается с максимальным объемом генерируемого кода, который устанавливается на основании целевого объема кода, и было обнаружено превышение объема генерированных кодов над максимальным объемом генерируемого кода.
При обнаружении того, что такое условие имело место, определяется изменение величины обратной связи, которая увеличивает или уменьшает размер шага квантования, и величина обратной связи изменяется на основании определенного изменения.
Если существует множество заранее определенных условий, то окончательное изменение величины обратной связи может быть определено с помощью применения особой операции для изменений величины обратной связи (например, вычисление суммы, произведения, среднего значения или максимального значения изменений), которые обнаруживаются для отдельных условий.
Величина обратной связи может быть изменена поэтапно с помощью присвоения множества пороговых значений генерированному условию и постепенным определением изменения для объема кода, когда превышено каждое пороговое значение.
Если величина обратной связи была изменена, как описано выше, то размер шага квантования увеличивается или уменьшается на основании измененной величины обратной связи и измеренного дифференциального объема кода между целевым объемом кода и объемом генерируемого кода.
ЭФФЕКТ ИЗОБРЕТЕНИЯ
Как описано выше в настоящем изобретении, при кодировании видеоизображения большая величина обратной связи для определения размера шага квантования для разницы между целевым объемом кода и объемом генерируемого кода не установлена заранее. Вместо этого величина обратной связи увеличивается при обнаружении наступления внешнего события, такого как внезапное изменение в характере входящего видео изображения или сбой в буфере декодера. Дополнительно величина обратной связи увеличивается не до особенного начального значения, а на отклонение от обычной величины обратной связи.
Таким образом, в соответствии с настоящим изобретением, если имеет место внешнее событие, такое как внезапное изменение в характере входящего видеоизображения или сбой в буфере декодера, то раннее расхождение с устойчивым состоянием может быть получено при подавлении внезапного изменения объема генерируемого кода и в результате, возможно, предохранить субъективное качество изображения от ухудшения на протяжении последовательности изображений.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1 - это последовательность операций работы в соответствии с настоящим изобретением.
Фиг.2 - это диаграмма, показывающая пример структуры устройства видеокодирования, в котором применяется настоящее изобретение.
Фиг.3 - это диаграмма, показывающая пример внутренней структуры устройства видеокодирования.
Фиг.4 - это пример последовательности операций, выполняемой с помощью устройства видеокодирования.
Фиг.5 - это также пример последовательность операций, выполняемой с помощью устройства видеокодирования.
Фиг.6 - это последовательность операций управления объемом кода в ТМ5 MPEG-2.
Фиг.7 - это диаграмма, поясняющая проблему традиционных способов.
ССЫЛОЧНЫЕ ПОЗИЦИИ
1 - устройство видеокодирования,
10 - контроллер квантованияЮ
20 - модуль выполнения квантования и кодирования,
30 - детектор изменения сцены,
100 - процессор модуля картинк,
101 - модуль запоминания комплексного индекса,
102 - устройство обновления комплексного индека,
103 - модуль вычисления целевого объема кода,
104 - модуль запоминания целевого объема кода,
105 - модуль вычисления максимального объема кода,
106 - модуль запоминания максимального объема кода,
107 - модуль вычисления изменения обратной связи,
108 - процессор модуля маленького блока,
1020 - модуль вычисления среднего значения размера шага квантования,
1021 - модуль получения объема генерируемого кода,
1022 - модуль вычисления комплексного индекса,
1080 - модуль измерения объема генерируемого кода,
1081 - модуль определения состояния виртуального буфера,
1082 - компаратор объема генерируемого кода,
1083 - модуль определения изменения обратной связи,
1084 - модуль определения размера шага квантования.
НАИЛУЧШИЙ РЕЖИМ ВЫПОЛНЕНИЯ ИЗОБРЕТЕНИЯ
Ниже настоящее изобретение будет пояснено со ссылкой на варианты осуществления настоящего изобретения.
В настоящем изобретении при кодировании видеоизображения большая величина обратной связи для определения размера шага квантования для разности между целевым объемом кода и объемом генерируемого кода не устанавливается заблаговременно. Вместо этого величина обратной связи увеличивается при обнаружении того, что внешняя причина, такая как изменение в характере изображения входного видеоизображения или сбоя в буфере декодера, имеет место. Дополнительно величина обратной связи увеличивается не до особого начального значения, но на величину смещения от обычной величины обратной связи, таким образом осуществляя быстрое отклонение от первоначально установленного состояния.
Величиной обратной связи можно управлять с помощью параметра r отклика, используемого в вышеописанной традиционной технике.
Параметр r отклика используется для того, чтобы учитывать разность между величиной обратной связи и целевым объемом кода для размера шага квантования. Следующая формула может быть получена пересмотром вышеприведенных формул (2) и (3).
Формула (5):
Как понятно из формулы, если параметр r отклика уменьшается, то второй член формулы влияет на размер шага квантования в большей степени. В противоположность если параметр r отклика увеличивается, то второй член формулы намного меньше влияет на размер шага квантования.
Фиг.1 - это последовательность операций, показывающая пример работы в соответствии с настоящим изобретением.
Как показано на последовательности операций, на первом этапе S101 обнаруживается изменение (например, изменение сцены) во входящем видеоизображении.
Если обнаружено внезапное изменение во входящем видеоизображении при вышеописанном обнаружении, то операция продолжается на этапе S102, где вычисляется увеличение величины обратной связи.
На следующем этапе S103 объем наполнения буфера декодера измеряется путем измерения объема наполнения виртуального буфера, чтобы обнаружить опустошение буфера декодера из-за увеличения объема генерируемого кода или переполнения буфера декодера из-за уменьшения объема генерируемого кода.
В соответствии с вышеприведенным обнаружением, если опустошение или переполнение буфера декодера обнаружено, то операция продолжается на этапе S104, где вычисляется увеличение величины обратной связи.
На следующем этапе S105 объем генерируемого кода (для целевого объема кода) измеряется для каждого маленького блока, чтобы определить, достаточное ли или нет увеличение величины обратной связи.
Если определено, что увеличение величины обратной связи недостаточно, то операция продолжается на этапе S106, где вычисляется увеличение величины обратной связи для получения приближения объема генерируемого кода к целевому объему кода.
На следующем этапе S107 окончательная величина обратной связи определяется в соответствии с ее определенным увеличением, и на основании окончательной величины, определяется размер шага квантования.
На следующем этапе S108 квантование и кодирование выполняются с использованием определенного размера шага квантования.
Величина обратной связи увеличенная, как описано выше, может быть возвращена к начальному значению после того, как прошло особое количество времени.
Величина обратной связи может быть изменена для любого размера модуля, такой как GOP, группа картинок, включающая множество картинок, одну картинку, секцию или маленький блок.
Дополнительно может быть определено, недостаточно ли или нет увеличение величины обратной связи на основании отношения объема генерируемого кода к целевому объему кода. Например, n умноженное на целевой объем кода, устанавливается в качестве порогового значения (т.е. как максимальный объем кода), и когда объем генерируемого кода превышает максимальный объем генерируемого кода, величина обратной связи возрастает.
Увеличение объема генерируемого кода кодов может быть установлено в качестве суммы увеличений, присвоенных множеству условий. В этом случае максимальное значение может быть установлено так, что величина обратной связи увеличивается не чрезмерно.
Вместо использования суммы увеличений, присвоенной множеству условий, максимальное значение из увеличений, присвоенных множеству условий, может быть присвоено окончательному увеличению величины обратной связи.
a
b
c
Будет показан пример, в котором rуказывает величину обратной связи при обнаружении изменения сцены; r указывает величину обратной связи при обнаружении сбоя в буфере декодера; и rуказывает величину обратной связи на основании взаимосвязи целевого объема кода и объема генерируемого кода.
Таким образом, при установке увеличения величины обратной связи в качестве максимального значения из всех увеличений, присвоенных множеству условий, окончательное увеличение величины обратной связи обнаруживается по следующей формуле:
При установке увеличения величины обратной связи в качестве суммы увеличений, присвоенных множеству условий, окончательное увеличение величины обратной связи определяется по следующей формуле:
мax
При установке увеличения величины обратной связи в качестве суммы увеличений, присвоенных множеству условий, и установке также максимального значения (r) набора увеличений окончательное увеличение величины обратной связи определяется по следующей формуле:
При установке увеличения величины обратной связи как произведения увеличений, присвоенных множеству условий, окончательное увеличение величины обратной связи определяется по следующей формуле:
При установке увеличения величины обратной связи как среднего значения увеличений, присвоенных множеству условий, окончательное увеличение величины обратной связи определяется по следующей формуле:
Дополнительно любой способ может быть использован для применения увеличения к величине обратной связи. Например, величина обратной связи может быть умножена на увеличение как коэффициент, или увеличение может быть добавлено к величине обратной связи.
Способ увеличения или уменьшения величины обратной связи определяется в зависимости от способа использования управления квантованием.
При использовании управления квантованием параметра r отклика, если параметр r отклика уменьшается, то величина обратной связи возрастает, и, таким образом если параметр r отклика возрастает, то величина обратной связи уменьшается.
Дополнительно величина обратной связи может быть увеличена поэтапно. Например, величина обратной связи может быть постепенно увеличена каждый раз, когда объем генерируемого кода превышает на 25%, 50%, 75% и 100% максимальный объем генерируемого кода.
Период для увеличения величины обратной связи не ограничен. Например, если он все еще недостаточен после выполнения операции увеличения картинки, имеющей изменение сцены, то кодирование может быть выполнено в то время, пока увеличенное состояние величины обратной связи сохраняется на протяжении нескольких картинок.
Дополнительно если существует множество условий для увеличения величины обратной связи и величина обратной связи изменяется в соответствии с каждым условием, то тогда отдельный период для изменения величины обратной связи может быть установлен для каждого условия, и если установленный период проходит, то величина обратной связи может вернуться к начальному значению, которое было перед изменением.
Настоящее изобретение может быть применено не только для способа кодирования фиксированной битовой скорости кодирования, но также для способа переменной битовой скорости кодирования, когда способ мог бы управлять объемом генерируемых кодов с использованием целевой битовой скорости.
Используя такой способ в соответствии с настоящим изобретением, величиной обратной связи для управления квантованием можно управлять таким путем, при котором величина обратной связи временно увеличивается, таким образом уменьшая конвергенцию времени без увеличения обычной величины обратной связи.
ОСОБЫЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ
Ниже настоящее изобретение будет далее пояснено в соответствии с особым вариантом осуществления.
Фиг.2 показывает структуру устройства 1 видеокодирования в качестве варианта осуществления настоящего изобретения.
Как показано на фиг.2, устройство 1 видеокодирования выполняет операцию генерирования предсказанного сигнала из видеосигнала, вычисления разности между видеосигналом и предсказанным сигналом, и генерирования и вывода потока кодированных битов путем квантования и кодирования разности. Устройство 1 видеокодирования имеет контроллер 10 квантования для выполнения управления квантованием, и модуль 20 выполнения квантования и кодирования, который включает в себя квантизатор и кодер источника информации. Дополнительно, чтобы осуществить настоящее изобретение, предусмотрен детектор 30 изменения сцены, для которого видеосигнал является входящим и который определяет, наступило ли изменение сцены на основании входного видеосигнала.
Фиг.3 показывает пример структуры контроллера 10 квантования в устройстве 1 видеокодирования.
Как показано на Фиг.3, чтобы осуществить управление квантованием по настоящему изобретению, контроллер 10 квантования имеет процессор 100 модуля картинки, который включает в себя модуль 101 запоминания комплексного индекса, устройство 102 обновления комплексного индекса, модуль 103 вычисления целевой величины кода, модуль 104 запоминания целевого объема кода, модуль 105 вычисления максимального объема кода, модуль 106 запоминания максимального объема кода, модуль 107 вычисления изменения обратной связи, и процессор 108 модуля маленького блока.
х
Модуль 101 запоминания комплексного индекса сохраняет комплексный индекс Х (х=i, p, b), вычисленный для каждого типа картинки.
Устройство 102 обновления комплексного индекса включает в себя модуль 1020 вычисления среднего значения размера шага квантования, модуль 1021 получения объема генерируемого кода и модуль 1022 вычисления комплексного индекса.
x
Модуль 1020 вычисления среднего значения размера шага квантования вычисляет среднее значение <Q> размера шага квантования, используемого для кодирования картинки, которая имеет тот же самый тип картинки, как и присутствующая картинка, и была совсем недавно закодирована.
x
Модуль 1021 получения объема генерируемого кода, который требуется для одной картинки и измеряется модулем 1080 (поясняемым позже) измерения объема генерируемого кода, чтобы получить объем S генерируемого кода для изображения, который имеет тот же самый тип картинки и был недавно закодирован.
x
x
х
х
х
Модуль 1022 вычисления комплексного индекса умножает среднее значение <Q> размера шага квантования, которое было вычислено модулем 1020 вычисления среднего значения размера шага квантования, на объем S генерируемого кода, который был получен модулем 1021 получения объема генерируемого кода, чтобы вычислить комплексный индекс Хи обновить комплексный индекс Х, сохраняемый в модулем 101 запоминания комплексного индекса Х.
х
х
х
Модуль 103 вычисления целевого объема кода вычисляет целевой объем Т кода (х=i, p, b) для каждого типа картинки в соответствии с вышеописанными формулами (1) путем использования комплексного индекса Х, сохраняемого в модуле 101 запоминания комплексного индекса Х.
х
Модуль 104 запоминания целевого объема кода запоминает целевой объем Т кода, который вычислен модулем 103 вычисления целевого объема кода.
max
х
Модуль 105 вычисления максимального объема кода вычисляет максимальный T объем кода путем умножения n на целевой объем Т кода, который вычислен модулем 103 вычисления целевого объема кода.
max
Модуль 106 запоминания максимального объема кода запоминает максимальный объем T кода, который вычислен модулем 105 вычисления максимального объема кода.
Если детектор 30 изменения сцены обнаружил формирование изменения сцены, модуль 107 вычисления величины обратной связи вычисляет изменение величины обратной связи, изменяемой в ответ на изменение сцены.
Процессор 108 маленького блока включает в себя:
x
модуль 1080 измерения объема генерируемого кода для измерения объема генерируемого кода для уже закодированных маленьких блоков (т.е. “G(j-1)” в формуле 3);
x
модуль 1081 определения состояния виртуального буфера для определения, появилось ли или нет состояние, которое может вызвать переполнение или опустошение в буфере декодера, путем измерения объема наполнения виртуального буфера (т.е. “d(j)” в формуле 3);
max
max
(iii) компаратор 1082 объема генерируемого кода для сравнения объема генерируемого кода, который измеряется модулем 1080 измерения объема генерируемого кода, с максимальным объемом T кода, который запоминается модулем 106 запоминания максимального объема кода, с тем чтобы определить появилось ли или нет состояние, в котором объем генерируемого кода превышает максимальный объем T кода;
(iv) модуль 1083 определения изменения обратной связи для определения изменения величины обратной связи и периода для изменения величины обратной связи на основании изменения величины обратной связи, которая была вычислена модулем 107 вычисления изменения величины обратной связи, для результата определения выполненного модулем 1081 определения состояния виртуального буфера и результата сравнения, выполненного компаратором 1082 объема генерируемого кода; и
х
(v) модуль 1084 определения размера шага квантования для увеличения или уменьшения размера шага квантования на основании целевого объема Т кода, сохраняемого в модуле 104 запоминания целевого объема кода, объема кода, который был измерен модулем 1080 измерения объема генерируемого кода, и изменения величины обратной связи, которая была определена модулем 1083 определения величины обратной связи.
В настоящем варианте осуществления используется известный алгоритм управления квантованием, величина обратной связи увеличивается или уменьшается путем увеличения или уменьшения параметра r отклика. Следующие условия вызывают увеличение или уменьшение величины обратной связи.
То есть увеличение происходит:
когда было обнаружено изменение сцены;
когда был обнаружен сбой в буфере декодера; или
когда измеренный объем генерируемого кода превысил максимальный объем генерируемого кода.
Дополнительно величина обратной связи для каждого условия накапливается.
Величина обратной связи увеличивается в процессе обработки целевой кодированной картинки.
Максимальный объем генерируемого кода - это удвоенный целевой объем кода.
Увеличение Δr отражается на величине обратной связи вычитанием Δr из первоначального параметра r отклика, где максимальное увеличение установлено как половина релевантного параметра отклика.
Фиг.4 и 5 показывают пример последовательности операций, выполненных устройством 1 видеокодирования, имеющим структуру с Фиг.3.
Фиг.4 - это последовательность операций для каждой картинки, и Фиг.5 - это последовательность операций для каждого маленького блока.
Относительно вышеупомянутых последовательностей операций, операция управления квантованием, выполняемая устройством 1 видеокодирования, будет пояснено подробно.
В устройстве 1 видеокодирования увеличение Δr для величины обратной связи инициализируется, как показано на Фиг.4 (см. на первом этапе S201).
a
На следующем этапе S202 выполняется обнаружение изменения сцены. Если было обнаружено изменение сцены, операция продолжается на этапе S203, где r добавляется к увеличению Δr для величины обратной связи, так что обновление Δr выполняется как указано далее:
x
x
x
На следующем этапе S204 на основании (i) среднего значения <Q> размера шага квантования, используемого для кодирования картинки, которая имеет тот же самый тип картинки, как и присутствующая картинка, и была закодирована совсем недавно и (ii) объем S генерируемого кода при релевантном кодировании, комплексный индекс X вычисляется по следующей формуле:
х
x.
На следующем этапе S205 целевой объем Т кода вычислен на основании вышеописанной формулы (1) для каждого типа картинки путем использования вычисленного комплексного индекса X
х
х
На следующем этапе S206 максимальный целевой объем Т кодов вычисляется путем умножения n на вычисленный целевой объем Т кода.
На следующем этапе S207 операция, примененная к каждому маленькому блоку, выполняется в соответствии с блок-схемой на Фиг.5.
x
То есть когда операция для каждого маленького блока начинается (см. последовательность операций на Фиг.5) на первом этапе S2071, объем d(j) наполнения буфера декодера (выведенная с использованием вышеописанной формулы (3)) измеряется, чтобы определить состояние буфера декодера (т.е. буфера на стороне принятых данных).
b
Если состояние, которое может вызвать опустошение или переполнение буфера декодера, было обнаружено, то операция продолжается на этапе S2072, где rдобавляется к увеличению Δr для величины обратной связи, чтобы обновить Δr, как указано ниже:
x
max
x
max,
c
На следующем этапе S2073 объем G(j-1) кода для первого - (j-1)-того маленьких блоков сравниваются с максимальным объемом T кода i. Если G(j-1) больше, чем Tвыполнение операции происходит на этапе S2074, где rдобавляется к увеличению Δr величины обратной связи, чтобы обновить Δr, как указано ниже:
Размер Δr затем подтверждается, и, если необходимо, выполняется его отсечение, как указано ниже:
x
На следующем этапе S2075 r уменьшается на Δr в соответствии со следующей формулой, так чтобы увеличить величину обратной связи и определить размер Q(j) шага квантования j-го маленького блока:
[Формула 6]
cnt
x
x
В вышеописанной формуле MB указывает число маленьких блоков в соответствующей картинке, Tуказывает целевую величину кода для соответствующей картинки, и G(j-1) указывает величину генерируемого кода для первого - (j-1)-го маленьких блоков.
x
На следующем этапе S2076 квантование и кодирование j-того маленького блока выполняются с использованием определенного размера Q(j) шага квантования.
x
x
x
Если кодирование одной картинки было завершено в соответствии с последовательностью операций с Фиг.5, то выполнение операции продолжается на этапе S208 на Фиг.4, когда среднее значение размера шага квантования <Q> вычислено. На следующем этапе S209 действительная величина S генерируемого кода (полученного путем окончательного G(j)) измеряется.
х
x
x
На вышеописанном этапе S204 комплексный индекс Х для каждого типа картинки обновляется на основании измеренного объема S генерируемого кода и вычисленного среднего значения размера <Q> шага квантования.
Как описано выше, в настоящем изобретении изменение в характере видеоизображения обнаруживается или объем наполнения буфера измеряется так, чтобы временно увеличить величину обратной связи, таким образом уменьшая временное расхождение без увеличения обычной величины обратной связи.
Хотя настоящее изобретение было пояснено в соответствии с проиллюстрированным вариантом осуществления, настоящее изобретение им не ограничивается.
Например, хотя вышеописанный вариант осуществления основан на управлении квантованием, определенным в ТМ MPEG-2, настоящее изобретение может быть прямо применено к любому методу кодирования, который выполняет управление обратной передачей, для того чтобы битовая скорость кодирования достигла целевой битовой скорости.
В таком случае устройство для увеличения величины обратной связи может быть модифицировано в соответствии с используемым алгоритмом.
ПРОМЫШЛЕННАЯ ПРИМЕНИМОСТЬ
В соответствии с настоящим изобретением, если встречается внешняя причина, такая как внезапное изменение в характере входящего видеоизображения или сбой в буфере декодера, раннее расхождение с первоначальным состоянием может быть получено при подавлении внезапного изменения объема генерируемого кода и как результат возможность предотвратить субъективное качество изображения от ухудшения на протяжении существенной последовательности изображений.