УПРАВЛЕНИЕ СКОРОСТЬЮ ПЕРЕДАЧИ ВИДЕО НА ОСНОВЕ ГИСТОГРАММЫ КОЭФФИЦИЕНТОВ ПРЕОБРАЗОВАНИЯ
VIDEO RATE CONTROL BASED ON TRANSFORM-COEFFICIENTS HISTOGRAM

УРОВЕНЬ ТЕХНИКИ
Управление скоростью передачи видео позволяет динамически регулировать качество кодированного видео для того, чтобы обеспечить удовлетворительное впечатление пользователя при изменении условий работы в сети. Обычно видеокодер получает задание для согласования постоянной битовой скорости передачи (битрейта) или локально-постоянной битовой скорости с изменением условий работы в сети. Изменения сложности сцены, за счет введения движения или кинематографических изменений, могут привести к значительному отклонению от исходных условий, предсказанных коэффициентов сжатия, что приводит, таким образом, к ухудшению качества видео.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Данная сущность изобретения предоставлена для того, чтобы представить набор идей в упрощенном виде, которые дополнительно описаны ниже в подробном описании. Данная сущность изобретения не предназначена для определения ключевых признаков или существенных признаков заявленного изобретения и не предназначена для использования при определении объема заявленного предмета изобретения.
Коэффициент квантования определяют с использованием информации, полученной из гистограммы коэффициентов преобразования, которые вырабатываются из преобразованного видеокадра. Гистограмма используется при оценке кодированного размера кадра для видеокадра, который в текущий момент времени находится в процессе кодирования. Коэффициент квантования, используемый на этапе квантования кодирования видео, регулируется в течение текущего видеокадра на основании информации, полученной из гистограммы. Выбор правильного коэффициента квантования помогает реагировать на изменения (например, движение, изменения сцен) в видеокадре, таким образом обеспечивая сглаженные регулировки качества отображения видео. Гистограмма сбалансирована по требуемой длине кодированного размера кадра. Пороги отсечки в гистограмме коррелированы с различными вариантами выбора коэффициентов квантования, и отношение точек на или ниже этих порогов используется для оценки кодированного размера кадра. Исторические тренды можно также использовать как для регулировки коэффициентов формулы корреляции, так и для повышения точности вычисления.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 изображает компьютерную архитектуру для компьютера;
Фиг. 2 показывает систему кодирования видео, которая включает в себя использование гистограммы в пределах управления скоростью передачи видео;
Фиг. 3 показывает примерные графики коэффициента сжатия в зависимости от значения шага квантования и коэффициента сжатия в зависимости от процентного содержания ненулевых коэффициентов;
Фиг. 4 изображает примерные способы внутрикадрового/межкадрового сжатия на блочной основе, которые используют гистограмму коэффициентов преобразования при регулировке коэффициента квантования; и
Фиг. 5 изображает процесс обновления коэффициента квантования с использованием информации о гистограмме, полученной из неквантованных коэффициентов преобразования.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Ниже приводится подробное описание различных вариантов осуществления со ссылкой на чертежи, на которых подобные ссылочные позиции обозначают подобные элементы. В частности, фиг. 1 и соответствующее обсуждение предназначены для выполнения краткого и общего описания подходящей вычислительной среды, в которой можно реализовать варианты осуществления.
В общем, программные модули включают в себя подпрограммы, программы, компоненты, структуры данных и другие типы структур, которые выполняют конкретные задачи и реализуют конкретные абстрактные типы данных. Можно также использовать и другие конфигурации компьютерной системы, включающие в себя мультипроцессорные системы, бытовую электронику на базе микропроцессоров или программируемую бытовую электронику, миникомпьютеры, суперкомпьютеры и т.п. Распределенные вычислительные среды можно также использовать там, где задачи выполняются с помощью удаленных устройств обработки, которые связаны через сеть связи. В распределительной вычислительной среде программные модули можно расположить как в локальных, так и в удаленных запоминающих устройствах.
Далее, со ссылкой на фиг. 1, будет описана иллюстративная архитектура компьютера для компьютера 100, которая используется в различных вариантах осуществления. Архитектуру компьютера, показанную на фиг. 1, можно сконфигурировать в виде настольного персонального компьютера, сервера или мобильного компьютера, и она включает в себя центральное процессорное устройство 5 (ЦПУ), память 7 системы, включающую в себя оперативное запоминающее устройство 9 (ОЗУ) и постоянное запоминающее устройство (ПЗУ) 11 и системную шину 12, которая связывает память с ЦПУ 15. Основная система ввода/вывода, содержащая основные подпрограммы, которые помогают передавать информацию между элементами внутри компьютера, например, во время запуска, хранится в ПЗУ 11. Компьютер 100 дополнительно включает в себя массовое запоминающее устройство 14 для хранения операционной системы 16, прикладных программ и других программных модулей, которые будут описаны более подробно ниже.
Массовое запоминающее устройство 14 подсоединено к ЦПУ 5 через контроллер массовой памяти (не показан), подсоединенный к шине 12. Массовое запоминающее устройство 14 и его связанный компьютерно-читаемый носитель обеспечивают энергонезависимое хранение информации для компьютера 100. Несмотря на то что описание компьютерно-читаемого носителя, который содержится здесь, относится к массовому запоминающему устройству, такому как жесткий диск или дисковод для компакт-дисков CD-ROM, компьютерно-читаемый носитель может быть любым доступным устройством для хранения медиа, к которому можно получить доступ с помощью компьютера 100.
Термин компьютерно-читаемые носители, который используются здесь, может включать в себя компьютерные носители информации. Компьютерные носители информации могут включать в себя энергозависимые и энергонезависимые, съемные и несъемные носители информации, реализованные с помощью любого способа или технологии для хранения информации, такой как компьютерно-читаемые инструкции, структура данных, программные модули или другие данные. Системная память 5, съемное запоминающее устройство или несъемное запоминающее устройство являются, в целом, примерами компьютерных носителей информации (то есть запоминающего устройства). Компьютерные носители информации могут включать в себя, но не ограничиваться, оперативное запоминающее устройство (ОЗУ), постоянное запоминающее устройство (ПЗУ), электрически стираемое программируемое постоянное запоминающее устройство (ЭСППЗУ), флэш-память или другие технологии изготовления памяти, CD-ROM, компакт-диски формата DVD или другие оптические запоминающие устройства, магнитные кассеты, магнитные ленты, запоминающие устройства на магнитных дисках или другие магнитные запоминающие устройства, или любой другой носитель, который можно использовать для хранения информации и к которому можно получить доступ с помощью вычислительного устройства 100. Любые такие компьютерные носители информации могут быть частью устройства 100. Вычислительное устройство 100 может также иметь устройство(а) 28 ввода, такое как клавиатура, мышь, перо, устройство ввода звука, сенсорное устройство ввода и т.д. Можно также задействовать устройство(а) 28 вывода, такое как дисплей, громкоговоритель, принтер и т.д. Указанные устройства являются только примерами, и можно использовать и другие устройства.
Термин «компьютерно-читаемые носители», который используется здесь, может также включать в себя средства связи. Средства связи можно реализовать с помощью компьютерно-читаемых инструкций, структур данных, программных модулей или других данных в виде модулированного сигнала данных, такого как несущая волна или другой транспортный механизм, и они включают в себя любые средства доставки информации. Термин "модулированный сигнал данных" может описывать сигнал, который имеет одну или более характеристик, которые устанавливаются или изменяются таким образом, чтобы кодировать информацию в сигнале. Посредством примера, а не ограничения, средства связи могут включать в себя проводные средства, такие как проводная сеть или прямое проводное соединение, и беспроводные средства, такие как акустические, радиочастотные (РЧ), инфракрасные и другие беспроводные средства.
Согласно различным вариантам осуществления, компьютер 100 работает в сетевой среде, использующей логические соединения к удаленным компьютерам сеть 18, такую как Интернет. Компьютер 100 может подсоединяться к сети 18 через блок 20 сетевого интерфейса, подсоединенного к шине 12. Сетевое соединение может быть беспроводным и/или проводным. Блок 20 сетевого интерфейса позволяет также использовать подсоединение к другим типам сети и удаленным компьютерным системам. Компьютер 100 может также включать в себя контроллер 22 ввода/вывода для приема и обработки ввода из ряда других устройств, включающих в себя клавиатуру, мышь или электронное перо (не показано на фиг. 1). Подобным образом, контроллер 22 ввода/вывода может обеспечивать вывод на экран 28 дисплея, принтер или другой тип устройства вывода. Дисплей 28 предназначен для отображения видео, такого как видео, подаваемое во время видеоконференции.
Как уже кратко упоминалось выше, ряд программных модулей и файлов данных можно хранить в массовом запоминающем устройстве 14 и ОЗУ 9 компьютера 100, включающего в себя операционную систему 16, подходящую для управления работой сетевого компьютера, такую как операционная система WINDOWS 7 от компании MICROSOFT CORPORATION. Массовое запоминающее устройство 100 и ОЗУ 9 позволяют также хранить один или более программных модулей. В частности, массовое запоминающее устройство 14 и ОЗУ 9 позволяют хранить одну или более прикладных программ. Одной из прикладных программ является приложение 24 для конференц-связи, такое как приложение для видеоконференц-связи. Обычно, приложение 24 для конференц-связи представляет собой приложение, которое пользователь использует, когда ему необходимо участвовать в видеоконференции между двумя или более пользователями. Приложения могут также относиться к другим программам, которые кодируют видео. Например, приложение может кодировать видео, которое доставляется в вэб-браузер.
Видеоменеджер 26 выполнен с возможностью определения коэффициента квантования для текущего видеокадра, основанного частично на гистограмме неквантованных коэффициентов преобразования текущего видеокадра. Гистограмма коэффициентов преобразования используется при оценке кодированного размера кадра текущего видеокадра. Гистограмма сбалансирована с требуемым размером кодируемого кадра. Пороги отсечки в гистограмме коррелируют с различными вариантами выбора коэффициентов квантования, и отношение точек на или ниже этих порогов используют для оценки кодированного размера кадра. Исторические тренды можно также использовать для регулировки коэффициентов корреляционной формулы таким образом, чтобы повысить точность вычисления. Согласно одному варианту осуществления, выбранный коэффициент квантования приводит к кодированному размеру кадра, который подобен другим кодированным размерам кадра, которые были выработаны ранее.
На фиг. 2 показана система кодирования видео, которая включает в себя использование гистограммы в пределах управления скоростью передачи видео. Как показано, система 200 включает в себя дисплей 28, видеоменеджер 26, ввод 205, видеоприложение 220, склад 240 данных и другие приложения 230. Видеоменеджер 26 можно реализовать в пределах видеоприложения 220, как показано на фиг. 2, или можно реализовать внешним образом из приложения 220, как показано на фиг. 1.
Для того чтобы поддерживать связь с видеоменеджером 26, можно реализовать одну или более подпрограмм обратного вызова, изображенных на фиг. 2 в виде кода 210 обратного вызова. Используя код 210 обратного вызова, видеоменеджер 26 может запросить дополнительную информацию, используемую при кодировании видео. Например, видеоменеджер 26 может запросить видео из буфера, такого как память 240, или некоторого другого местоположения. Можно также предусмотреть другую информацию, которая относится к особенностям видеоприложения.
Дисплей 28 выполнен с возможностью обеспечения пользователя визуальным отображением кодированного видео. Ввод 205 выполнен с возможностью приема ввода из одного или более источников ввода, таких как видеокамера, клавиатура, мышь, сенсорный экран, и/или некоторого другого устройства ввода. Например, ввод можно выполнить из видеокамеры, которая поддерживает одно или более разрешающих способностей видео, таких как общих формат обмена сжатыми видеоданными CIF, VGA, 720P, 1080i, 1080p и т.п. Память 240 выполнена с возможностью хранения данных, которые видеоприложение 220 может использовать во время работы.
Видеоменеджер 26 может также поддерживать связь с другими приложениями 230 таким образом, чтобы видеоданные можно было также подавать в и/или принимать из других приложений. Например, видеоменеджер 26 может быть связан с другим видеоприложением и/или сайтом в сети. Как показано, видеоменеджер 26 включает в себя контроллер 225 скорости передачи видео, где показаны примерные этапы 212, 214, 216 и 218, которые используются в процессе кодирования видеокадров. Этапы, выполняемые во время процесса кодирования, могут изменяться от типа выполняемого кодирования. По сравнению со стандартными схемами кодирования (например, H.26* and WMV*), в процесс кодирования включен этап 216 использования гистограммы. Этап 216 использования гистограммы используется при определении коэффициента квантования, используемого квантователем 218. После выполнения подготовительных операций и иногда перед квантователем 218, можно или нельзя определить оценку для коэффициента квантования "QP". Например, QP можно определить с использованием информации об истории предыдущего кодирования и эвристики.
Далее будет описана часть примерного процесса кодирования. Текущий кадр 212 принимается и подается в процесс 214 преобразования. Кадр можно разбить на блоки пикселей, такие как 8x8, 4x4 и т.п., в зависимости от используемого процесса кодирования. Согласно одному варианту осуществления, преобразование представляет собой дискретное косинусное преобразование ("ДКП"). ДКП представляет собой тип частотного преобразования, которое преобразует блок (пространственную информацию) в блок коэффициентов ДКП, которые представляют собой информацию о частоте. Сама по себе операция ДКП выполняется без потерь или почти без потерь. Однако по сравнению с первоначальными значениями пикселей, коэффициенты ДКП являются более эффективными для сжатия, поскольку большая часть важной информации сосредоточена в коэффициентах низкой частоты.
Полученное в результате ДКП преобразование модифицируется для отображения полученных в результате коэффициентов АС в гистограмму на этапе 216. После того как коэффициенты собраны, контроллер 225 скорости передачи видео анализирует гистограмму для того, чтобы определить оценочный кодированный размер кадра для текущего обрабатываемого кадра. Оценочный кодированный размер кадра затем используется для обновления/определения коэффициента квантования, который будет использоваться во время процесса квантования (см. фиг. 5 для более подробного описания).
Квантователь 218 квантует преобразованные коэффициенты с использованием определенного коэффициента квантования. Обычно коэффициент квантования применяется к каждому коэффициенту, который аналогичен делению каждого коэффициента на одинаковое значение и округлению. Например, если значение коэффициента равно 130 и коэффициент квантования равен 10, значение квантованного коэффициента равно 13. Поскольку низкочастотные коэффициенты ДКП имеют тенденцию принимать более высокие значения, квантование приводит к потере точности, но не к полной потере информации для коэффициентов. С другой стороны, поскольку высокочастотные коэффициенты ДКП имеют тенденцию принимать значения, равные нулю или близкие к нулю, квантование высокочастотных коэффициентов обычно приводит к смежным областям нулевых значений. Регулировка коэффициента квантования на основе текущего кадра направлена на обеспечение более последовательного впечатления видео для пользователя.
На фиг. 3 показаны примерные зависимости коэффициента сжатия от значения шага квантования и коэффициента сжатия от процентного содержания ненулевых коэффициентов.
На графике 310 показана зависимость коэффициента сжатия от значения шага квантования. График 310 включает в себя кривые 12 различных видео. Как можно увидеть, зависимости значений шага квантования от коэффициентов сжатия не приводит к последовательной или общей тенденции. Кроме того, можно увидеть, что различие между некоторыми из видео является значительным.
На графике 350 показана зависимость коэффициента сжатия от процентного содержания ненулевых коэффициентов на основании гистограммы неквантованных значений преобразования. График 350 включает в себя зависимости 12 различных видео, которые также нанесены на графике 310. Со ссылкой на график 350 можно увидеть, что между процентным содержанием ненулевых коэффициентов и окончательным кодированным размером существует корреляция. Зависимость является также линейной. Хотя линия тренда для графика 350 имеет некоторый предел погрешности, он значительно меньше, чем у графика 310. Значение числа битов на пиксель можно аппроксимировать в виде линейной функции отношения ненулевых коэффициентов при определенном коэффициенте квантования: . Согласно одному варианту осуществления, хотя постоянные k и c можно аппроксимировать с использованием обучающих данных и эвристики, эти значения постоянно регулируют в течение периода подачи видео (такое как видеоконференция). Это помогает гарантировать, что влияние факторов не имеет прямого отношения к отношению ненулевых коэффициентов (например, к сложности DC-плоскости, экономии за счет предсказания частотной области и т.д.). Согласно одному варианту осуществления, было установлено, что значение для k в примерных видеоконференциях составляет приблизительно 1,1875.
На фиг. 4 изображены примерные способы внутрикадрового/межкадрового сжатия на блочной основе, которые используют гистограмму коэффициентов преобразования при регулировке коэффициента квантования. Система кодера принимает последовательность видеокадров, включающих в себя текущий кадр, и вырабатывает сжатое видео в виде выходного сигнала.
Изображенная система кодера сжимает предсказанные кадры и ключевые кадры. На фиг. 4 показан путь 410 для ключевых кадров через систему кодера и путь для наперед предсказанных кадров 470. Многие из этих компонентов системы кодера используются для сжатия, как ключевых кадров, так и предсказанных кадров. Точные операции, выполняемые этими компонентами, могут изменяться в зависимости от типа сжимаемой информации. Обычно, ключевой кадр вносит гораздо больший вклад в битрейт, чем предсказанный кадр. В приложениях с низким или средним битрейтом, ключевые кадры могут стать узким местом для выполнения операций.
Предсказанный кадр, который также называется р-кадром, b-кадром для двунаправленного предсказания или интеркодированным кадром, представлен с учетом предсказания (или разности) из одного или более других кадров. Остаток предсказания представляет собой разность между тем, что было предсказано и первоначальным кадром. Напротив, ключевой кадр, который также называется i-кадром, интракодированным кадром, сжимается без ссылки на другие кадры.
Когда текущий кадр 420 является наперед предсказанным кадром, блок 425 оценки движения оценивает движение макроблоков, или других наборов пикселей, текущего кадра 420 по отношению к контрольному кадру, который является ранее восстановленным кадром, который можно буферизировать на складе кадров. В альтернативных вариантах осуществления, контрольный кадр является более поздним кадром, или текущий кадр является двунаправленно предсказанным. Блок 425 оценки движения может оценивать движение с помощью пикселя, 1/2 пикселя, 1/4 пикселя или других инкрементов и может переключать разрешающую способность оценки движения на базе кадр за кадром или на другой базе. Разрешающая способность оценки движения может быть одинаковой или различной по горизонтали и вертикали.
Компенсатор 430 движения использует информацию об оценке движения в заранее восстановленном кадре для формирования текущего кадра с компенсацией движения. Обычно, блок 425 оценки движения и компенсатор 430 движения можно выполнить с возможностью применения любого типа оценки/компенсации движения.
Преобразователь 435 частоты преобразует информацию видео пространственной области в данные частотной (то есть спектральной) области. Для видеокадров на основе блоков, преобразователь 435 частоты применяет ДКП или вариант ДКП к блокам пиксельных данных или остаточных данных предсказания, производит блоки коэффициентов ДКП. Альтернативно, преобразователь 435 частоты применяет другое сверточное преобразование частоты, такое как преобразование Фурье или использует вейвлет-анализ или анализ поддиапазонов. Преобразователь 435 частоты можно выполнить с возможностью применения преобразования частоты (например, ДКП) с размером 8x8, 8x4, 4x8 или другим размером к кадрам.
На этапе 440, гистограмму преобразование-коэффициенты выполняют с возможностью регулировки коэффициента квантования для текущего видеокадра, основанного частично на гистограмме, которая создана из неквантованных коэффициентов преобразования текущего видеокадра. Гистограмма коэффициентов преобразования используется при определении оценочного кодированного размера кадра текущего видеокадра. Гистограмма сбалансирована с требуемым размером кодированного кадра. Пороги отсечки в гистограмме коррелируют с различными вариантами выбора коэффициентов квантования и отношение точек на или ниже этих порогов используется для оценки кодированного размера кадра. Коэффициент квантования выбирается на основании оцененного кодированного размера кадра, который определяется на этапе 440 гистограммы.
Блок 445 квантования квантует блоки спектральных коэффициентов данных с использованием коэффициента квантования, определенного с помощью гистограммы 440.
Когда восстановленный текущий кадр нуждается для последующей оценки/компенсации движения в контрольном кадре, блок 447 восстановления выполняет операцию, противоположную операции квантования, над квантованными коэффициентами спектральных данных. Обратный преобразователь частоты затем выполняет инверсию операций преобразователя 435 частоты, производя восстановленный остаток предсказания (для предсказанного кадра) или восстановленный ключевой кадр.
Когда текущий кадр 420 является ключевым кадром, восстановленный ключевой кадр выбирается в качестве восстановленного текущего кадра (не показан). Если текущий кадр 420 является предсказанным кадром, восстановленный остаток предсказания добавляется в текущий кадр с компенсацией движения для формирования восстановленного текущего кадра. Склад кадров может быть использован для буферизации восстановленного текущего кадра для использования при предсказании следующего кадра.
Энтропийный кодер 450 сжимает выходной сигнал квантователя 445, а также некоторую дополнительную информацию (например, информацию о движении, режимы пространственной экстраполяции, размер шага квантования). Типичные методы энтропийного кодирования включают в себя арифметическое кодирование, дифференциальное кодирование, кодирование методом Хаффмана, кодирование по длинам серий, LZ-кодирование, кодирование словаря и комбинации из вышеупомянутых. Энтропийный кодер 450 обычно используют различные методы кодирования для различных видов информации (например, DC-коэффициенты, АС-коэффициенты, различные виды дополнительной информации) и может выбрать среди различных кодов таблицы в пределах конкретного метода кодирования. Энтропийный кодер 450 вводит информацию о сжатом видео в буфер 455. В общем, информация о сжатом видео вырабатывается из буфера 455 при постоянной или относительно постоянного битрейта и сохраняется для последующей потоковой передачи данных с этим битрейтом.
Далее, со ссылкой на фиг. 5, приводится описание иллюстративного процесса кодирования видеокадра с использованием информации о гистограмме, полученной из неквантованных коэффициентов преобразования.
При чтении обсуждения операций, представленных здесь, следует понимать, что логические операции различных вариантов осуществлений реализованы (1) в виде последовательности действий, выполняемых компьютером, или программных модулей, запускаемых на вычислительной системе и/или (2) в виде взаимосвязанных машинных логических схем или схемных модулей в пределах вычислительной системы. Реализация является вопросом выбора, который зависит от требований к производительности вычислительной системы, реализующей настоящее изобретение. Соответственно, логические операции, которые иллюстрируют и составляют варианты осуществления, описанные здесь, называются по-разному, как операции, структурные устройства, действия или модули. Эти операции, структурные устройства, действия и модули можно реализовать в виде программного обеспечения, в виде программно-аппаратных средств, в виде цифровой логики специального назначения и любых их комбинаций.
На фиг. 5 изображен процесс 500 для обновления коэффициента квантования с использованием информации, полученной из неквантованных коэффициентов преобразования.
После начальной операции, процесс переходит к операции 510, где видеокадр принимают для обработки. После выполнения любой подготовительной работы, которая может зависеть от архитектуры и алгоритма, процесс переходит к операции 520.
В операции 520, определяют оценку для коэффициента квантования "QP", который будет использоваться во время операции квантования. Оцененный QP может быть любым выбранным QP и может соответствовать значению(ям) QP, которое используется в различных стандартах сжатия (то есть MPEG-1, MPEG-2, MPEG-4 ASP, H.26*, VC-3, WMV7, WMV8, VP5, VP6, MJPEG и т.п.). Например, QP можно определить с использованием информации об истории и эвристики. Коэффициент QP используется для уменьшения значения преобразованных коэффициентов для того, чтобы обеспечить наиболее сжатое представление кадра.
Переходя к операции 530, кадр преобразуется из одной области в другую область. Согласно одному варианту осуществления, преобразование, которое применяется к этому кадру, представляет собой ДКП.
Далее, в операции 540, полученную в результате ДКП модифицируют для отображения полученных в результате АС-коэффициентов в гистограмму. Согласно одному варианту осуществления, гистограмма охватывает полный диапазон значений, соответствующих уровням квантования, которые можно или нельзя разделить на элементы кодированного сигнала. После сбора коэффициентов, гистограмму анализируют для определения обновления коэффициента квантования.
Переходя к операции 550, вычисляют коэффициент квантования для отношения ненулевых коэффициентов. Каждый возможный коэффициент квантования делит коэффициенты на две группы: (1) коэффициенты, которые будут округляться до нуля после этапа квантования; и (2) коэффициенты, которые не будут округляться до нуля после этапа квантования. Согласно одному варианту осуществления, создана таблица, где каждый коэффициент квантования преобразуется в отношение ненулевых коэффициентов к нулевым коэффициентам после соответствующего этапа квантования.
Переходя к операции 560, затем преобразуют отношения в значение числа кодированных бит на пиксель с использованием полинома с многочисленными параметрами. Зная размер кадра (например, размеры изображения), эти значения преобразуются в предсказанный размер кодированного кадра.
Переходя к операции 570, коэффициент квантования, который был первоначально оценен, обновляют для отражения информации, полученной в операции 540-560. Согласно одному варианту осуществления, коэффициент квантования модифицируется таким образом, чтобы размер кодированного кадра был подобен предыдущим размерам кодированного кадра. Сохранение кодированного размера кадра в пределах диапазона приемлемых значений помогает поддерживать уровень качества кодированного видео без превышения буфера. Регулировка коэффициента квантования на основе текущего кадра помогает более быстро реагировать на изменения сложности сцены по сравнению с использованием только истории, таким образом, приводя к улучшенному конечному впечатлению пользователя, уменьшению пропадания кадров и снижению количества флуктуации уровня QP информации, что используется для улучшения первоначальной оценки коэффициента квантования.
Переходя к операции 508, текущий кадр квантуют с использованием обновленного коэффициента квантования и затем выполняют энтропийное кодирование.
Процесс затем переходит к завершающей операции и возвращается для обработки других действий.
Приведенные выше описание, примеры и данные обеспечивают полное описание изготовления и использования состава изобретения. Так как многочисленные варианты осуществления изобретения можно выполнить без отклонения от сущности и объема настоящего изобретения, изобретение определяется прилагаемой ниже формулой изобретения.