КЛАССИФИКАЦИЯ КОНТЕНТА ДЛЯ ОБРАБОТКИ МУЛЬТИМЕДИЙНЫХ ДАННЫХ
CLASSIFICATION OF CONTENT FOR PROCESSING MULTIMEDIA DATA

Испрашивание приоритета согласно параграфу 119 раздела 35 Свода законов США
Настоящая заявка согласно параграфу 119 раздела 35 Свода законов США испрашивает приоритет предварительной заявки № 60/660,677, поданной 10 марта 2005, и переданной ее правопреемнику и тем самым явно включенной в настоящее описание по ссылке.
Область техники
Настоящее изобретение относится к области обработки мультимедийных данных посредством алгоритмов сжатия для анализа, классификации, определения объема и представления мультимедийных данных на основании контента мультимедийных данных.
Описание уровня техники
Широко распространенное использование Интернет и беспроводного обмена увеличило потребности в мультимедийных услугах, которые передают в виде потока аудиовизуальную информацию по Интернет и мобильным/беспроводным каналам. В сетях на основе Интернет протокола (IP) мультимедийные данные могут быть обеспечены сервером и могут быть переданы в виде потока одним или более использующими проводную или беспроводную связь клиентами. Проводные соединения включают в себя соединения модемной связи, цифровой сети с интеграцией служб (ISDN), кабельные, с протоколами цифровой абонентской линии (все вместе называемые как xDSL), на оптическом волокне, локальные сети (LAN), глобальные сети (WAN) и другие. Электронные устройства, использующие беспроводные соединения включают в себя телефоны (например, сотовые телефоны), персональные цифровые ассистенты (PDA), карманные и переносные компьютеры и другие. В большинстве случаев, если не во всех этих применениях, требования к полосе частот и/или ограничения требуют, чтобы мультимедийная обработка данных использовала кодер источника, включающий в себя алгоритмы сжатия мультимедийной информации, чтобы анализировать, определять количество и представлять мультимедийные данные для передачи максимального объема информации, расходуя "минимальное" количество битов. Характеристики таких алгоритмов изменяются значительно, что ведет к значительным изменениям в их работе (например, эффективности сжатия и скорости передачи в битах). Характеристики обработки мультимедийной информации, использующей алгоритмы сжатия, могут значительно изменяться на основании контента, что может вести к значительным изменениям в их работе (например, эффективности сжатия и скорости передачи в битах).
Некоторые схемы обработки мультимедийных данных используют некоторые типы информации, чтобы классифицировать мультимедийные данные. Как правило, алгоритмы классификации изображения основаны на некоторой форме способов сегментации изображения. Алгоритмы кластеризации изображения были предложены в MPEG для MPEG-7 (кластеризация фотографий). Алгоритмы классификации изображений, в настоящее время предложенные и описанные в литературе, были основаны на математических и статистических аспектах мультимедийных данных. Усовершенствованные способы и устройства для обработки и кодирования мультимедийных данных могут иметь широкий диапазон приложений как в проводных, так и беспроводных обменах, и будет выгодным использовать и/или изменять характеристики такой обработки, так чтобы ее особенности могли быть использованы в улучшении существующих продуктов и создании новых продуктов, которые еще не разработаны.
Сущность изобретения
Каждое из предлагаемых устройств и способов имеет несколько аспектов, никакой один из которых не является исключительно ответственным за его желательные атрибуты. Без ограничения объема настоящего изобретения его более существенные признаки кратко описаны ниже. После рассмотрения этого описания и особенно после прочтения раздела "Подробное описание", можно будет понять признаки усовершенствований для устройств и способов обработки мультимедийных данных.
В одном аспекте способ обработки мультимедийных данных включает в себя определение сложности мультимедийных данных, классификацию мультимедийных данных на основании определенной сложности и определение скорости передачи в битах для кодирования мультимедийных данных на основании их классификации. Способ может также включать в себя определение пространственной сложности и временной сложности мультимедийных данных, а классификация мультимедийных данных может включать в себя ассоциирование пространственной сложности со значением текстуры, ассоциирование временной сложности со значением движения, и назначение классификации контента мультимедийным данным на основании значения текстуры и значения движения.
В другом аспекте устройство для обработки мультимедийных данных включает в себя средство для определения сложности мультимедийных данных, средство для классификации мультимедийных данных на основании определенной сложности, и средство для определения скорости передачи в битах для кодирования мультимедийных данных на основании их классификации.
В другом аспекте устройство, сконфигурированное для обработки мультимедийных данных включает в себя процессор, сконфигурированный для определения сложности мультимедийных данных, сконфигурированный для классификации мультимедийных данных на основании определенной сложности и дополнительно сконфигурированный для определения скорости передачи в битах для кодирования мультимедийных данных на основании их классификации.
В другом аспекте считываемая компьютером среда для воплощения способа для обработки мультимедийных данных включает в себя определение сложности мультимедийных данных, классификацию мультимедийных данных на основании определенной сложности, и определение скорости передачи в битах для кодирования мультимедийных данных на основании их классификации.
В другом аспекте устройство для обработки мультимедийных данных включает в себя первый блок определения для определения сложности мультимедийных данных, классификатор контента, чтобы классифицировать мультимедийные данные на основании определенной сложности, и второй блок определения для определения скорости передачи в битах для кодирования мультимедийных данных на основании их классификации. В некоторых аспектах сложность включает в себя пространственную сложность мультимедийных данных и/или временную сложность мультимедийных данных, а классификация мультимедийных данных может быть основана на пространственной сложности и/или временной сложности.
В других аспектах способ и устройство для обработки мультимедийных данных содержит способ или средство для определения сложности мультимедийных данных; и классификацию мультимедийных данных на основании определенной сложности. Способ и устройство для обработки мультимедийных данных могут содержать способ или средство для определения сложности мультимедийных данных; и выбора из по меньшей мере одного мультимедийного процесса на основании определенной сложности. Способ и устройство для обработки мультимедийных данных могут содержать способ или средство для определения сложности мультимедийных данных; и выбора набора процессов кодирования на основании сложности мультимедийных данных. Способ и устройство для обработки мультимедийных данных могут содержать способ или средство для классификации мультимедийных данных на основании определенной сложности; и определения скорости передачи в битах для кодирования мультимедийных данных на основании их классификации. Способ и устройство для обработки мультимедийных данных могут содержать способ или средство для определения сложности мультимедийных данных; и выбора набора процессов декодирования на основании сложности мультимедийных данных. Способ и устройство для обработки мультимедийных данных могут содержать способ или средство для определения сложности мультимедийных данных; классификации мультимедийных данных на основании определенной сложности; и выбора набора процессов декодирования на основании классификации мультимедийных данных. Следует отметить, что способ и устройство могут быть осуществлены считываемой компьютером средой и процессором.
Краткое описание чертежей
Фиг. 1 изображает блок-схему общей системы связи для кодирования и декодирования потоковых мультимедийных данных,
Фиг. 2 изображает диаграмму, иллюстрирующую обычный поток данных простой конфигурации (профиля) MPEG-4,
Фиг. 3 есть иллюстрация примера процесса создания P кадра в MPEG-4,
Фиг. 4 изображает блок-схему компонента классификации контента,
Фиг. 5 схематически изображает группу макроблоков в кадре видео, иллюстрирующую средние значения для каждого макроблока,
Фиг. 6 изображает диаграмму, иллюстрирующую пример классификации изображения на основании значения текстуры и движения,
Фиг. 7 изображает график, иллюстрирующий примеры определения скорости передачи в битах с использованием кривых классификации контента и визуально воспринятого значения качества,
Фиг. 8 изображает последовательность операций, иллюстрирующую процесс для классификации мультимедийных данных, и
Фиг. 9 изображает последовательность операций, иллюстрирующую процесс для кодирования мультимедийных данных на основании классификации их контента,
Фиг. 10 изображает схему системы, иллюстрирующую кодирование множества мультимедийных потоков или каналов,
Фиг. 11 изображает диаграмму, иллюстрирующую компенсацию движения,
Фиг. 12 изображает график, иллюстрирующий коррекцию предыскажения большого значения лямбда.
Подробное описание
Нижеследующее подробное описание относится к некоторым вариантам осуществления, которые могут использоваться. Однако, раскрытые варианты осуществления могут быть воплощены множеством различных путей. Ссылки в настоящем описании на "один вариант осуществления" или "вариант осуществления" означает, что конкретный признак, структура или характеристика, описанные со ссылкой на вариант осуществления, включены в по меньшей мере один вариант осуществления. Имеющиеся фразы "в одном варианте осуществления" "согласно одному варианту осуществления" или "в некоторых вариантах осуществления" в различных местах в описании не обязательно все ссылаются на один и тот же вариант осуществления, и не являются отдельными или альтернативными вариантами осуществления, взаимоисключающими другие варианты осуществления. Кроме того, описаны различные признаки, которые могут присутствовать в некоторых вариантах осуществления, а не в других. Точно так же описаны различные требования, которыми могут быть требованиями для некоторых вариантов осуществления, но не для других вариантов осуществления.
Нижеследующее описание включает в себя подробности для обеспечения полного понимания примеров. Однако специалистам очевидно, что эти примеры могут быть реализованы на практике, даже если каждая подробность процесса или устройства в примере или варианте осуществления здесь не описана или не проиллюстрирована. Например, электрические компоненты можно показывать в блок-схемах, которые не иллюстрируют каждое электрическое соединение или каждый электрический элемент компонента, чтобы не усложнять примеры ненужными подробностями. В других примерах такие компоненты, другие структуры и методики могут быть показаны подробно, чтобы дополнительно объяснить примеры.
Описаны примеры устройства и способов для кодирования мультимедийных данных, которые используют классификацию мультимедийных данных на категории на основании их контента (например, одна или более классификаций контента). Описанные способы и устройство предлагают методики кодирования мультимедийных данных на основании определяющих пространственных и временных характеристик мультимедийных данных и классификацию мультимедийных данных на основании одной или более характеристик их сложности. Эти способы и устройство дают возможность "настраивать" обработку мультимедийных данных и алгоритмы сжатия на основании категории контента мультимедийных данных, чтобы оптимизировать способ и устройство, используемые для кодирования мультимедийных данных с использованием информации контента, и эффективно обеспечивать требуемый уровень качества мультимедийных данных, который воспринимается человеческим глазом, или другую меру уровня качества.
Термин "мультимедийные данные", как используется здесь, являются широким термином, который включает в себя видеоданные (которая может включать в себя аудиоданные), аудиоданные, или оба вида - видеоданные и аудиоданные. "Видеоданные" или "видео", также используются здесь как широкий термин, относящийся к последовательности изображений, которые содержат текст или информацию изображений и/или аудиоданные, и может использоваться для ссылки на мультимедийные данные (например, эти термины могут использоваться взаимозаменяемо), если иначе не определено.
Системы кодеков мультимедийной информации обычно не принимают во внимание различные типы контента. Вместо этого кодирование выполняется аналогичным способом для всех типов контента. Как правило, мультимедийные данные кодируются или с постоянным качеством или с постоянной скоростью передачи в битах. Кодирование с постоянной скоростью передачи в битах ведет к несоответствиям в качестве видео, закодированного для секций с низкой активностью и секций с высокой активностью. Например, последовательность новостей, содержащая спортивный видеоклип, может быть закодирована с одним и тем же количеством битов, назначенных для каждой секции. При просмотре секция спортивного клипа будет воспринята как имеющая более низкое качество, чем секция говорящего ведущего, и общие результаты могут быть неприемлемы. Кодирование с постоянным качеством ведет к неэффективному использованию скоростей передачи в битах. Кодирование видео с низкой активностью с высоким качеством использует ненужную высокую скорость передачи в битах, приводя к потраченной впустую полосе частот. Классифицируя мультимедийные данные на основании текстуры и движения в последовательности видео, вместо того чтобы основываться просто на общем типе контента в последовательности, скорость передачи в битах может быть отрегулирована по последовательности на основании фактического текстурированного движения для этих конкретных данных. Классификация контента может использоваться во множестве приложений, что может приводить к лучшему управлению битами и более интеллектуальному использованию доступного резерва битов. Например, в некоторых вариантах осуществления одна классификация контента может использоваться для обнаружения изменения сцены видеоданных.
Передача мультимедийных данных
Мультимедийные данные, переданные на клиентское устройство, обычно сжимаются. Пара стандартов кодирования видео, известные как MPEG-x и H.26x, описывают обработку данных и методики манипуляции (называемые здесь как смешанное кодирование), которые хорошо подходят для сжатия и доставки видео-, аудио- и другой информации, используя способы кодирования источника с фиксированной или переменной длиной. В частности, вышеупомянутые стандарты и другие стандарты и методики смешанного кодирования сжимают, в качестве иллюстрации, мультимедийную информацию, используя способы внутрикадрового (интракадрового) кодирования (такие как, например, кодирование длин серий, кодирование по Хаффману и т.п.) и методы межкадрового (интеркадрового) кодирования (такие как, например, кодирование с прямым и обратным предсказанием, с компенсацией движения и т.п.). В частности, в случае системы обработки мультимедийной информации системы смешанного кодирования мультимедийной информации характеризуются основанным на предсказании кодированием со сжатием мультимедийных кадров с внутри(интра)- и/или меж(интер)кадровым кодированием компенсации движения. Кодирование, основанное, по меньшей мере частично, на классификации контента, может быть встроено в такие алгоритмы сжатия, чтобы дополнительно оптимизировать обработку мультимедийной информации. Хотя примеры, описанные здесь, записаны для стандартов MPEG и H.26x кодирования видео, аналогичное использование других стандартов кодирования видео также применимо.
Интракадровое кодирование относится к кодированию изображения (поля или кадра) независимо от любого другого изображения, но это интракодированное изображение может использоваться как основа для других изображений. Термины интракадр, интракодированный кадр и I кадр - все являются примерами видео-объектов, сформированных с помощью интракодирования (внутрикадрового кодирования), которые используются по всей настоящей заявке.
Внутри(интер) или прогнозирующее кодирование относится к кодированию изображения (поля или кадра) со ссылкой на другое изображение. По сравнению с интракодированным изображением интеркодированное или предсказанное изображение может быть кодировано с большей эффективностью. Примерами интеркодированных изображений, которые использованы во всей настоящей заявке, являются предсказанные кадры (или с использованием прямого или обратного предсказания, также называемые как P-кадры), и двунаправленные предсказанные кадры (также называемые как B-кадры). Другие термины для интеркодирования включают в себя кодирование высоких частот, остаточное кодирование, интерполяция со скомпенсированным движением и другие, которые известны специалистам в данной области техники.
Методика, известная как масштабируемое кодирование, может разделять интракодированные изображения и различные интеркодированные изображения (такие как P-кадры или B-кадры) на различные уровни в потоке битов, такие как, например, базовый уровень и уровень расширения. Масштабируемое кодирование является полезным в динамических каналах, где масштабируемые потоки битов могут быть адаптированы для согласования флуктуаций в полосе частот в сети. В каналах, подверженных ошибкам, масштабируемое кодирование может добавлять робастность посредством неодинаковой защиты от ошибок базового уровня и уровня расширения. Лучшая защита от ошибок может применяться к более важному уровню.
Кодирование мультимедийных данных
Фиг. 1 является блок-схемой общей системы связи для классификации контента мультимедийных данных, кодирования, передачи и декодирования таких данных. Система 100 включает в себя устройство 105 кодера и устройство 110 декодера. Устройство 105 кодера включает в себя компонент 185 кодера, который включает в себя компонент 115 интракодера, и компонент 120 прогнозирующего кодера. Устройство 105 кодера также включает в себя компонент 130 памяти, компонент 175 передачи, и компонент 190 классификатора контента. Устройство 105 кодера способно принимать данные из внешнего источника 135 с использованием логики передачи, содержащейся в компоненте 175 передачи. Внешний источник 135 может быть, например, внешней памятью, Интернет-устройством выдачи данных живого видео и/или аудио, и прием данных может включать в себя проводную и/или беспроводную связь. Данные, содержащиеся во внешнем источнике 135, могут быть представлены в необработанном формате (не закодированы) или в закодированном состоянии. Компонент 115 интракодера используется для кодирования интракодированных частей кадров (секции, макроблоки и подмакроблоки). Компонент 120 прогнозирующего кодера используется для кодирования предсказанных частей кадров, включая в себя прямое предсказание, обратное предсказание и двунаправленное предсказание. После кодирования закодированные кадры сохраняют в компоненте 130 памяти или внешней памяти. Внешняя память может содержаться во внешнем источнике 135 или отдельном компоненте памяти (не показан).
Устройство 105 кодера включает в себя процессор 187, который находится в связи с компонентом 130 памяти и одним или более другими компонентами в устройстве 105 кодера. Процессор 187 может выполнять обработку для любого из других компонентов кодера и может содержать основной процесс кодирования. В некоторых вариантах осуществления процессор 187 может не быть отдельным компонентом (как показано), но вместо этого функциональные возможности процессора могут быть включены в один или более других компонентов 105 кодера.
Компонент 175 передачи содержит логику, используемую для передачи (Tx) данных в сеть 140. Сеть 140 может быть частью проводной системы, такой как телефон, кабель и волоконно-оптической или беспроводной системой. В беспроводном случае системы связи сеть 140 может содержать, например, часть системы связи множественного доступа с кодовым разделением каналов (CDMA или CDMA2000) или, альтернативно, система может быть системой множественного доступа с частотным разделением (FDMA), системой мультиплексирования с ортогональным делением частоты (OFDM), системой множественного доступа с временным разделением каналов (TDMA) такой, как GSM /GPRS (Системы пакетной радиосвязи общего пользования)/EDGE (расширенная среда GSM передачи данных) или технологией мобильной телефонной связи TETRA (Наземной магистральной радиопередачи) для сферы услуг, системой широкополосной системой множественного доступа с кодовым разделением каналов (WCDMA), системой высокоскоростной передачи в битах (1xEV-DO или 1xEV-DO Gold мультивещания), или в общем случае - любой системой беспроводной связи, использующая комбинацию методик. Закодированные кадры передают (Tx) по сети 140. Процессы кодирования, выполняемые устройством 105 кодера, более подробно описаны ниже.
Компонент 190 классификации контента содержит логику для определения классификации контента данных мультимедийных данных, принятых из внешнего источника 135. Чтобы классифицировать мультимедийные данные, может использоваться человеческая визуальная модель, чтобы количественно определить чувствительность человеческого глаза к возмущениям в яркости визуального сигнала относительно его пространственного и/или временного контекста в изображении и/или последовательности изображений движения. Пространственные и временные маскирующие эффекты глаза также учитываются. Один аспект включает в себя использование алгоритмов оценки движения или согласования блоков для представления временных аспектов видео. Информация, относящаяся к мультимедийным данным, например пространственным и временным значениям сложности видеоданных, может быть определена одним или более из компонентов 105 кодера и использованная вместе с воспринимаемостью пространства и эффектов движения в видео может быть использована для классификации контента видеоданных на две или больше категорий. Такая классификация может использоваться в алгоритмах пред/постобработки и сжатия (например обнаружение изменения сцены, управление скоростью передачи, FRUC). Классификация контента обеспечивает кодер 105 надежной оценкой - какого типа контент ожидать в поступающих видеоданных (например, суперкадре), так что кодер 105 может определять соответствующее распределение скорости передачи в битах для достижения конкретного уровня визуально воспринятого качества на основании классификации контента и для других целей принятия решения о типе кадра. Суперкадр является набором данных аудиовизуальных данных для заранее определенного периода или окна времени, обычно равного одной секунде имеющих значение данных, которые используются в качестве единицы для определения класса контента, передачи и для любых других целей. Классификации контента могут быть основаны на характеристиках мультимедийных данных, как они воспринимаются человеческим глазом, например пространственной сложности и временной сложности. Алгоритмы обработки мультимедийной информации могут быть оптимизированы для различных типов контента и обеспечивать стабильность и управление по отношению к их эффективности в кодировании и передаче мультимедийных данных.
csat
Компонент 185 кодера может выдавать информацию обработки (например, макроблоков) для использования компонентом 190 классификации контента. Например, компонент 185 кодера может вычислять информацию из мультимедийных данных, включающую в себя метрику визуальной чувствительности человека, такую как значение D, значение нормы контраста, векторы движения (MV), и сумму абсолютных пиксельных разностей (SAD). Компонент 185 кодера может сохранять эту информацию в компоненте 130 памяти, так чтобы она была доступна для извлечения компонентом 190 классификации контента для определения пространственной и временной сложности мультимедийных данных, определения данных текстуры и движения, и затем определения результирующей классификации контента. В другом аспекте компонент 190 классификации контента или другой компонент, такой как процессор 187, вычисляет по меньшей мере часть этой информации из мультимедийных данных.
Процесс декодирования
Устройство 110 декодера содержит компоненты, аналогичные некоторым из компонентов в устройстве 105 кодера, включая в себя компонент 145 интра(внутреннего)декодера, компонент 150 прогнозирующего декодера, компонент 160 памяти, процессор 167, и компонент 180 связи. Устройство 110 декодера принимает закодированные данные, которые были переданы по сети 140 или от внешней памяти 165. Компонент 180 связи содержит логику, используемую для приема (Rx) закодированных данных с помощью сети 140, а также логику для приема закодированных данных от внешней памяти 165. Внешней памятью 165 может быть, например, внешнее ОЗУ или ПЗУ, или удаленный сервер. Компонент 145 интрадекодера используется, чтобы декодировать интракодированные данные. Компонент 150 прогнозирующего декодера используется для декодирования интеркодированных данных. Процессор 167 находится в связи с компонентом 160 памяти и одним или более другими компонентами в устройстве 110 декодера. Процессор 167 может выполнять обработку для любого из других компонентов декодера и может содержать главный процесс декодирования. Компонент 150 прогнозирующего декодера декодирует как P кадры (с прямым и обратным предсказанием), так и B кадры. Те же самые подкомпоненты, используемые для декодирования P кадров, могут использоваться последовательно, чтобы декодировать B кадры со множеством эталонов (опорных кадров). Множество опорных кадров для B кадров могут быть опорными кадрами в прямом и обратном направлении, оба в одном и том же опорном кадре, оба в отдельных опорных кадрах в прямом направлении или оба в опорных кадрах в обратном направлении.
После декодирования декодированные кадры могут быть отображены компонентом 170 отображения или сохранены во внутренней памяти 160 или внешней памяти 165. Компонентом 170 отображения может быть интегрированная часть декодера, который содержит такие части, как аппаратное обеспечение видеодисплея и логику, включающую в себя экран дисплея, или это может быть внешнее периферийное устройство. Процессы декодирования, выполняемые устройством 110 декодера, более полностью описаны ниже.
Пример кодирования - MPEG
В обычном MPEG декодере кодированные с предсказанием блоки пикселей (например, блоки, которые содержат один или более векторов движения и компонент остаточной ошибки) являются декодированными относительно опорного кадра (где интракадр или другой предсказанный кадр могут служить в качестве опорного кадра).
Фиг. 2 является диаграммой, иллюстрирующей обычный поток данных MPEG-4.
Простой Конфигурации, который изображает зависимости кадров для группы изображений (ГИ, GOP). ГИ 10 состоит из начального I кадра 12, с последующими несколькими P кадрами 14 с прямым предсказанием. Из-за зависимости P кадров от предыдущего I или P кадра, потеря любого из P кадров 14 может привести к потере информации, которая может быть критической при декодировании других P кадров. Потеря или удаление P кадра может приводить, например, к дрожанию видео или неспособности декодера продолжать декодирование следующего I кадра 16, который маркирует начало следующей ГИ.
P кадры (или любые интеркодированные секции) могут использовать временную избыточность между областью в текущем изображении и областью предсказания с наилучшим соответствием в опорном изображении. Разность между текущей областью и областью предсказания с наилучшим соответствием известна как остаточная ошибка (или ошибка предсказания). Местоположение области предсказания с наилучшим соответствием в опорном кадре может быть закодировано в векторе движения. Процессор 167 может выполнять обработку для любого из других компонентов 110 декодера и может содержать главный процесс декодирования. В некоторых вариантах осуществления процессор 167 может не быть отдельным компонентом, но вместо этого функциональные возможности процессора могут быть включены в один или более других компонентов 110 декодера.
Фиг. 3 является иллюстрацией примера процесса создания P кадра в, например, MPEG-4. Процесс 300 включает в себя текущее изображение 305, составленное из 5×5 макроблоков, где количество макроблоков в этом примере является произвольным. Макроблок является группой связанных пикселей, и в этом примере состоит из 16×16 пикселей. Пиксели могут быть определены 8-битным значением (Y) яркости и двумя 8-битными значениями (Cr и Cb) цветности. В MPEG, компоненты Y, Cr и Cb могут быть сохранены в формате 4:2:0, где компоненты Cr и Cb являются субдискретизированными на 2 в направлениях X и Y. Следовательно, каждый макроблок будет состоять из 256 Y-компонентов, 64 Cr-компонентов и 64 Cb-компонентов.
Макроблок 315 текущего изображения 305 является предсказанным из опорного изображения 310 в отличные моменты времени, чем текущее изображение 305. Поиск проводят в опорном изображении 310, чтобы определить макроблок 320 с наилучшим соответствием, который является самым близким, в смысле значений Y, Cr и Cb, к текущему закодированному макроблоку 315. Способы поиска макроблока 320 с наилучшим соответствием, известные специалистам, включают в себя a) минимизацию SAD (суммы абсолютных пиксельных разностей) между текущим макроблоком 315 и макроблоками опорного изображения 310, b) минимизацию SSD (суммы квадратов пиксельных разностей), и c) минимальную стоимость в смысле искажения скорости передачи в битах, и другие. Местоположение макроблока 320 с наилучшим соответствием в опорном изображении 310 кодируется в векторе 325 движения. Опорное изображение 310 может быть I кадром или P кадром, который декодер может восстановить до создания текущего изображения 305. Макроблок 320 с наилучшим соответствием вычитается из текущего макроблока 315 (вычисляется разность для каждого из компонентов Y, Cr и Cb), приводя к остаточной ошибке 330. Остаточная ошибка 330 кодируется 2D дискретным косинусным преобразованием (ДКП, DCT) 335 и затем квантуется 340.
Квантование 340 может быть выполнено, чтобы обеспечить пространственное сжатие посредством, например, назначения меньшего количества битов коэффициентам высокой частоты, в то же время назначая больше битов низкочастотным коэффициентам. Квантованные коэффициенты остаточной ошибки 330, наряду с вектором движения 325 и опорным изображением 310, идентифицирующим информацию, являются кодированной информацией, представляющей текущий макроблок. Закодированная информация может быть сохранена в памяти для будущего использования или выполнения операций над ней с целью, например, исправления ошибок или повышения качества изображения, или передана по сети 345.
Закодированные квантованные коэффициенты остаточной ошибки 330 вместе с закодированным вектором движения 325 могут быть использованы, чтобы восстановить текущий макроблок 315 в кодере для использования в качестве части опорного кадра для последующей оценки и компенсации движения. Кодер может эмулировать процедуры декодера для этого восстановления P кадра. Эмуляция декодера может приводить к тому, что и кодер и декодер будут работать с одним и тем же опорным изображением. Процесс восстановления, если сделан в кодере для дальнейшего интеркодирования, или в декодере, представлен здесь. Реконструкция (восстановление) P кадра может быть начата после того, как опорный кадр (или часть изображения или кадра, который является опорным) будет восстановлен. Закодированные квантованные коэффициенты подвергаются обратному квантованию 350 и затем обратное 2D DCT, или IDCT (ОДКП), преобразование 355 выполняется, приводя к декодированной или восстановленной остаточной ошибке 360. Закодированный вектор 325 движения используется, чтобы определить местоположение уже восстановленного макроблока 315 с наилучшим соответствием в уже восстановленном опорном изображении 310. Восстановленная остаточная ошибка 360 затем добавляется к восстановленному макроблоку 365 с наилучшим соответствием, чтобы сформировать восстановленный макроблок 370. Восстановленный макроблок 370 может быть сохранен в памяти, отображен независимо или в изображении с другими восстановленными макроблоками, или обработан далее для повышения качества изображения.
Классификация контента мультимедийных данных
csat
Фиг. 4 является блок-схемой компонента 190 классификации контента, проиллюстрированного на фиг. 1. Компонент 190 классификации контента включает в себя компонент 192 сложности, сконфигурированный, чтобы определять пространственную сложность и временную сложность мультимедийных данных, и также ассоциировать значение текстуры с пространственной сложностью и значение движения с временной сложностью. Для кодируемых мультимедийных данных компонент 190 классификации контента извлекает предварительно обработанную информацию, относящуюся к содержанию данных, из памяти 130. Эта информация может включать в себя, например, одно или более значений D, значения коэффициента контраста, векторы движения (MV), и сумму абсолютных разностей (SAD). В аспектах, где эта информация не определена препроцессором (например, компонентом 185 кодера или процессором 187 на фиг. 1), компонент 190 классификации может включать в себя функциональные возможности для вычисления этой информации.
csat
Обычно мультимедийные данные включают в себя одну или более последовательностей изображений или кадров. Каждый кадр может быть разбит на блоки пикселей для обработки. Пространственная сложность является широким термином, который в целом описывает меру уровня пространственных деталей в кадре. Сцены с главным образом плоскими или не изменяющимися или с малыми изменениями областями яркости и цветности могут иметь низкую пространственную сложность. Пространственная сложность связана с текстурой видеоданных. Пространственная сложность в этом аспекте основана на метрике визуальной чувствительности человека, названной D, которая вычисляется для каждого блока как функция локальной пространственной частоты и окружающего освещения. Обычные специалисты знают способы использования шаблонов пространственной частоты и освещения и характеристик контраста визуальных изображений, чтобы воспользоваться преимуществом визуальной системы человека. Множество метрик чувствительности известны для извлечения выгоды ограничений перспективы визуальной системы человека и могут использоваться с помощью способа, описанного здесь.
csat
Временная сложность является широким термином, которая используется для общего описания меры уровня движения в мультимедийных данных в качестве опорной между кадрами в последовательности кадров. Сцены (например, последовательности кадров видеоданных) с малым или отсутствием движения имеют малую временную сложность. Временная сложность может быть вычислена для каждого макроблока и может быть основана на значении D, векторах движения и сумме абсолютных пиксельных разностей между одним кадром и другим кадром (например, опорным кадром).
Обнаружение изменения сцены
Обнаружение изменения сцены является необходимым этапом для любой системы кодирования видео для того, чтобы разумно экономить биты без траты впустую битов посредством вставки I кадра с фиксированным интервалом. Нижеследующее описание показывает, как изменение сцены может быть обнаружено, а также его последующее использование в классификации контента.
Длина ГИ (группы изображений) может быть достаточно большой, чтобы снизить эффективную потерю от больших I кадров, и достаточно короткой, чтобы бороться с рассогласованием между кодером и декодером или ухудшением канала. Кроме того, макроблоки (MB) в P кадрах могут быть ИНТРА-кодированными по той же самой причине.
В практической системе потокового видеоканал связи обычно ухудшается из-за ошибок битов или потерь пакетов. Размещение I кадров или I Макроблоков может значительно воздействовать на качество декодированного видео и впечатление от просмотра. Эмпирическое правило заключается в использовании интра кодирования для изображений или частей изображений, которые имеют существенное изменение из расположенных предыдущих изображений или частей картинки. Эти области не могут быть предсказаны эффективно и рационально с помощью оценки движения. Поэтому они могут быть изъяты из способов Интеркодирования. В контексте ухудшения канала эти области, вероятно, будут страдать от распространения ошибки. Интракодирование может использоваться, чтобы уменьшить распространение ошибки.
Области, которые должны быть интра обновлены, могут быть классифицированы на три категории.
(1) Резкие изменения сцены: Эта категория включает в себя кадры, которые значительно отличаются от предыдущего кадра, обычно вызывается работой камеры. Так как контент этих кадров отличается от такового предыдущего кадра, кадры резкого изменения сцены могут быть закодированы как I кадры.
(2) Перекрестное замирание и другие медленные изменения сцены: Эта категория включает в себя медленно переключение сцен, обычно вызываемых компьютерной обработкой снимков камеры. Постепенное смешивание двух различных сцен может выглядеть более приятным для человеческого глаза, но предъявляют требование к видеокодированию. Компенсация движения не может эффективно уменьшить скорость передачи в битах этих кадров. Больше ИНТРА-макроблоков должно быть обновлено для этих кадров.
(3) Вспышки камеры. Вспышки камеры сдвигают яркость изображения внезапно и стремительно. Обычно продолжительность вспышки камеры короче, чем длительность временного маскирования визуальной системы человека (ВСЧ, HVS), которая обычно определяется равной 44 мс. Человеческие глаза не чувствительны к качеству этих коротких всплесков яркости, и поэтому они могут быть закодированы грубо. Поскольку кадры вспышки не могут быть обработаны эффективно компенсацией движения, и они являются плохим кандидатом предсказания для будущих кадров, грубое кодирование этих кадров не уменьшает эффективность кодирования будущих кадров.
Когда любой из вышеупомянутых кадров обнаружен, объявляется случай снимка мгновенного состояния. Обнаружение снимка мгновенного состояния является не только полезным для улучшения качества кодирования; оно может также помочь в поиске/индексации видеоконтента. Один алгоритм обнаружения описан ниже.
Последовательность является предварительно обработанной двунаправленным компенсатором движения. Он согласовывает каждый блок 8×8 текущего кадра с блоками в двух из этих кадров наиболее близких соседних кадров, один в прошлом и один в будущем, как иллюстрируется на фиг. 11. Компенсатор движения формирует векторы движения и метрику разности для каждого блока. Метрика разности может быть суммой разности квадратов (SSD) или суммой абсолютных разностей (SAD). Без потери общности используется SAD в качестве примера в этом документе.
Для каждого кадра, отношение SAD вычисляется так, как указано ниже:
P
N
P
N
где SAD и SAD являются SAD-метрикой разностей в прямом и обратном направлении, соответственно. Следует отметить, что знаменатель содержит малое положительное число , чтобы предотвратить ошибку "деления на ноль". Числитель также содержит , чтобы скомпенсировать влияние единицы в знаменателе. Например, если предыдущий кадр, текущий кадр, и следующий кадр идентичны, поиск движения выдает SAD=SAD=0. В этом случае вышеупомянутое вычисление дает =1 вместо 0 или бесконечности.
Также находят гистограмму яркости каждого кадра. Обычно имеют дело с изображениями, чья глубина яркости равна восемь битов. Для этой глубины яркости можно заставить количество диапазонов быть равным 16, чтобы получить гистограмму. Следующая метрика оценивает гистограммную разность:
Pi
Ci
где N - количество блоков в i-м диапазоне для предыдущего кадра, и N - количество блоков в i-м диапазоне для текущего кадра, и N - общее количество блоков в кадре. Очевидно, если гистограмма предыдущего и текущего кадра не перекрываются, то .
Кадр резкого изменения сцены объявляется, если удовлетворен следующий критерий, как иллюстрируется в уравнении 3:
1
где А - константа, выбранная приложением, и T - порог.
1
C
P
C
Моделирование показало, что А=1, и Т=5 достигают хорошей эффективности обнаружения. Если текущий кадр является кадром резкого изменения сцены, то  может быть большим, и  может быть малым. М названо метрикой интенсивности изменения сцены. Отношение  может использоваться вместо одного , так чтобы эта метрика была нормализована к уровню активности контекста.
1
Следует отметить, что вышеупомянутый критерий использует разность  гистограммы яркости нелинейным способом. Со ссылками на фиг. 12, может быть замечено, что это выпуклая функция. Когда  мала (близка к нулю), это - только предыскажение. Чем больше становится , тем большее предыскажение проводится функцией. При этом предыскажении для любой , большей чем 1,4, резкое изменение сцены обнаруживается, если порог Т установлен равным 5.
2
1
2
Перекрестное замирание и другие медленные изменения сцены обнаруживаются, если TМ<T для некоторого количества непрерывных кадров, где T - порог.
Чтобы обнаруживать события вспышки камеры, можно использовать статистики гистограммы яркости. Например, событие вспышки обычно заставляет гистограмму яркости сдвигаться к более яркой стороне. Следующий критерий может быть наложен, чтобы обнаружить события вспышки камеры
P
4
N
4
и SAD≥T, SAD≥T(Ур. 4)
4
T=30 достигает хорошей характеристики обнаружения. Причина для включения значений SAD является той, что вспышки камеры обычно занимают один кадр, и из-за разности в яркости этот кадр не может быть хорошо предсказан, используя компенсацию движения от как прямого, так и обратного направления.
csat
Обращаясь снова к Фиг. 1, хотя компонент 190 классификации контента может включать в себя функциональные возможности для вычисления векторов движения и суммы абсолютных пиксельных разностей, обычно другие компоненты кодера могут вычислять эту информацию и выдавать эти данные к компоненту 190 классификации контента. Значения D также могут быть вычислены компонентом 192 сложности или другим компонентом 105 кодера или процессора 187.
i
5
Альтернативно, могут использоваться коэффициенты контраста в определении пространственной сложности кадра. Сначала вычисляются коэффициенты контраста для каждого макроблока в кадре. Коэффициент контраста для заданного макроблока вычисляется на основании его средней яркости относительно его соседних макроблоков. Фиг. 5 иллюстрирует группу из девяти макроблоков в кадре видео, где каждый макроблок имеет 16x16 пикселей. μ представляет среднее значение для заданного макроблока 1-9. Вычисление коэффициента контраста для макроблока пять (CR), центрального блока макроблока, вычисляют, используя следующую формулу:
5
где MBLUMA представляет средний контраст яркости для макроблока пять. Коэффициент контраста для макроблоков 1-4 и 6-9 вычисляется аналогичным способом. Коэффициент контраста кадра получают, беря среднее значение значений коэффициента контраста каждого из этих девяти макроблоков в кадре. Стандартное отклонение коэффициентов контраста этих девяти макроблоков также вычисляется и обеспечивает индикацию относительно величины изменения текстуры в пределах каждого кадра.
Определение метрики классификации контента
Метрика классификации контента может быть определена, используя значения коэффициентов контраста, их стандартное отклонение и метрику разности кадров.
Метрика разности кадров
Другими входными данными для модуля классификации контента является метрика разности кадров, вычисленная в препроцессоре. Метрика разности кадров дает меру разности между двумя последовательными кадрами, принимая во внимание величину движения (например, вектор движения или MV) вместе с остаточной энергией, представленной как сумма абсолютных разностей (SAD) между прогнозирующим параметром и текущим макроблоком (Фиг. 3, компонент 325). Разность кадров также обеспечивает меру эффективности двунаправленного или однонаправленного предсказания.
Один пример метрики разности кадров, основанной на информации движения, принятой от препроцессора, потенциально выполняющего компенсированное по движению обратное чередование, является следующим. Блок обратного чередования выполняет двунаправленную оценку движения и, таким образом, информация двунаправленного вектора движения и SAD является доступной.
Разность кадров, представленная с помощью SAD_MV для каждого макроблока, может быть получена следующим образом:
x
y
N
P
N
P
2
2
где MV=Square_root (MV +MV ), SAD=min (SAD, SAD), где SAD: является SAD, вычисленным из опорного кадра в обратном направлении (предыдущего), а SAD: является SAD, вычисленным из опорного кадра в направлении вперед.
Другим подходом к оценке разности кадров является вычисление метрики, гамма, следующим образом:
P
N
где SAD и SAD являются SAD метрикой разностей в прямом и обратном направлении, соответственно. Следует отметить, что знаменатель содержит малое положительное число , чтобы предотвратить ошибку "деления на ноль". Числитель также содержит , чтобы скомпенсировать влияние единицы в знаменателе.
Также находят гистограмму яркости каждого кадра. Обычно имеют дело с изображениями, чья глубина яркости равна восемь битов. Для этой глубины яркости можно заставить количество диапазонов быть равным 16, чтобы получить гистограмму. Следующая метрика оценивает гистограммную разность:
Pi
Ci
где N - количество блоков в i-м диапазоне для предыдущего кадра, и N - количество блоков в i-м диапазоне для текущего кадра, и N - общее количество блоков в кадре. Очевидно, если гистограмма предыдущего и текущего кадра не перекрываются, то .
Вычисляют метрику разности кадров как показано в Ур. 9:
Процедура классификации
Значения коэффициента контраста и значения разности кадров используются следующим образом, чтобы получить окончательную метрику классификации контента видео, которая может надежно предсказывать особенности в заданной последовательности видео. Предложенный алгоритм может быть способен классифицировать контент в восемь возможных классов, аналогично классификации, полученной из анализа, основанного на кривой R-D.
Алгоритм выдает значение в диапазоне между 0 и 1 для каждого суперкадра в зависимости от сложности сцены и количества возникновений изменения сцены в этом суперкадре.
Модуль классификации контента в препроцессоре может выполнять следующие этапы для каждого суперкадра, чтобы получить метрику классификации контента из значений контраста кадра и разности кадров.
(1) Вычисляют средний контраст кадра и отклонение контраста кадра от значений контраста макроблоков.
(2) Значения контраста кадра и разности кадров нормализуют, используя значения, полученные из моделирований, которые равны 40 и 5 соответственно.
(3) обобщенным уравнением, используемым для вычисления метрики классификации контента, является следующее:
где CCW1, CCW2, CCW3 и CCW4 - весовые коэффициенты. Эти значения выбирают равными 0,2 для CCW1, 0,9 для CCW2, 0,1 для CCW3 и -0,00009 для CCW4.
(4) Определяют величину изменений сцены в суперкадре. В зависимости от количества изменений сцены выполняется один из следующих случаев.
(A) Нет изменений сцены: когда не имеется изменений сцены в суперкадре, эта метрика полностью зависит от значений разности кадров, как показано в следующем уравнении:
(B) Одиночное изменение сцены: когда имеется одиночный кадр изменения сцены, наблюдаемый в суперкадре, заданное по умолчанию уравнение может быть использовано, чтобы вычислить метрику, как показано ниже:
(C) Два изменения сцены: когда наблюдается, что имеется самое большее 2 изменения сцены в заданном суперкадре, последнему суперкадру ставится в соответствие больший вес, чем первому, поскольку первый может быть так или иначе быстро обновлен последним, как показано в следующем уравнении:
(D) Три или более изменений сцены: если в данном суперкадре наблюдается больше, чем 3 I-кадра (скажем, N), последнему I кадру придается больший вес, и всем другим I кадрам дают вес 0,05, как показано в следующем уравнении:
(5) коррекция требуется для метрики в случае сцен с малым движением, когда среднее значение разности кадров меньше, чем 0,05. Смещение (CCOFFSET) 0,33 может быть добавлено к CCMETRIC.
Компонент сложности 192 использует значение Dcsat, векторы движения и сумму абсолютных разностей, чтобы определить значение, указывающее пространственную сложность для макроблока (или назначенного объема видеоданных). Временная сложность определяется измерением Метрики разности кадров. Метрика разности кадров измеряет разность между двумя последовательными кадрами сцен, принимая во внимание величину движения (с векторами движения) и суммой абсолютных разностей между кадрами.
Формирование карты полосы частот
Визуальное качество V человека может быть функцией и сложности C кодирования и назначенных битов B (также называемых как полоса частот). Следует отметить, что метрика C сложности кодирования рассматривает пространственные и временные частоты с точки зрения видения человека. Для искажений, более восприимчивых для человеческих глаз, значение сложности соответственно выше. Обычно может быть принято, что V - монотонно уменьшающаяся в C, и монотонно увеличивающаяся в B.
Чтобы достичь постоянного визуального качества, полосу частот (B1) назначают i-му объекту (кадру или MB), который должен быть закодирован, которая удовлетворяет критериям, выраженным в Уравнениях 15 и 16.
i
B1=B (C,V) (Ур. 15)
i
i
В Уравнениях 15 и/или 16 C является сложностью кодирования i-го объекта, B - полная доступная полоса частот, и V - достигнутое визуальное качество для объекта. Человеческое визуальное качество трудно сформулировать в виде уравнения. Поэтому вышеупомянутый набор уравнений точно не определен. Однако, если принимается, что 3D модель непрерывна во всех переменных, отношение полосы частот (B/B) может быть обработано как неизменное в окрестности пары (C, V). Отношение  полосы частот определяется в Уравнении 17.
Проблема распределения битов может быть тогда определена так, как выражено в Уравнении 18:
В Уравнении 18 выше  указывает "окрестность".
csat
На сложность кодирования влияет визуальная чувствительность человека, как пространственная, так и временная. Визуальная модель человека согласно Гироду является примером модели, которая может быть использована, чтобы определить пространственную сложность. Эта модель рассматривает локальную пространственную частоту и окружающее освещение. Результирующая метрика называется D. В момент предварительной обработки в процессе не известно, должно ли быть изображение подвергнуто интракодированию или интеркодированию, и формируют отношения полосы частот для обоих случаев. Для интракодированных изображений отношение полосы частот выражено в Уравнении 19:
lNTRA
0lNTRA
10
INTRA
cast
2
=log (1+YD) (Ур. 19)
INTRA
0INTRA
INTRA
0INTRA
INTRA
β
β
β
В уравнении выше Y является компонентом средней яркости для MB, α - весовой коэффициент для квадрата яркости и члена Dcsat, следующего за ним,  является нормирующим множителем, чтобы обеспечить  Например, значение для α=4 достигает хорошего визуального качества. Значение масштабного коэффициента  не важно, пока биты распределены согласно соотношению между  различных видеообъектов.
Чтобы понять это соотношение, следует отметить, что полоса частот распределяется логарифмически со сложностью кодирования. Член возведенной в квадрат яркости отражает факт, что коэффициенты с большей величиной используют больше битов для кодирования. Чтобы предотвратить получение отрицательных значений для логарифма, единицу добавляют к члену в круглых скобках. Могут также использоваться логарифмы с другими основаниями.
Временная сложность определяется значением измерения метрики разности кадров. Метрика разности кадров измеряет разность между двумя последовательными кадрами, принимая во внимание величину движения (с векторами движения) наряду с SAD.
Распределение битов для интеркодированных изображений должно рассматривать пространственную, а также временную сложность. Это выражено ниже в Уравнении 20:
lNTER
0lNTER
10
INTER
cast
P
N
2
=log (1+SSD*D exp(-γ||MV+MV||)) (Ур. 20)
P
N
2
В Уравнении 20, MV и MV прямой и обратный векторы движения для текущего MB. Следует отметить, что Y в формуле ИНТРА заменен на SSD, который установлен для суммы возведенной в квадрат разности.
P
N
P
N
P
N
INTER
2
2
2
Чтобы понимать роль ||MV+MV||в Уравнении 6, отметим следующие характеристики визуальной системы человека: области, испытывающие гладкое, предсказуемое движение (малая величина ||MV+MV||) привлекают внимание и могут быть прослежены глазом и обычно не могут допускать большее искажение, чем постоянные области. Однако области испытывающие быстрое или предсказуемое движение (большая величина ||MV+MV||) не могут быть прослежены и могут допускать значительное квантование. Эксперименты показывают, что α=1, γ=0,001 достигает хорошего визуального качества.
Определение значений текстуры и движения
Для каждого макроблока в мультимедийных данных компонент 194 классификации ассоциирует значение текстуры с пространственной сложностью и значение движения с временной сложностью. Значение текстуры относится к значениям светимости мультимедийных данных, где низкое значение текстуры указывает малые изменения в значениях светимости соседних пикселей данных, а высокое значение текстуры указывает большие изменения в значениях светимости соседних пикселей данных. Согласно одному аспекту, как только значения текстуры и движения вычислены, компонент 194 классификации определяет метрику классификации контента (например, классификацию контента), рассматривая информацию как текстуры так и движения. Компонент 194 классификации ассоциирует текстуру для видеоданных, классифицированных соответствующим значением текстуры, например, "Малая" текстура, "Средняя" текстура или "Высокая" текстура, который обычно указывает сложность значений яркости макроблоков. Также компонент 194 классификации ассоциирует значение движения, вычисленное для видеоданных, классифицированных значением относительного движения, например, "Малое" движение, "Среднее" движение или "Высокое" движение, которое обычно указывает величину движения макроблоков. В альтернативных вариантах осуществления могут использоваться меньше или более категорий для движения и текстуры. Тогда метрика классификации контента затем определяется посредством рассмотрения ассоциированных значений текстуры и движения.
Фиг. 6 иллюстрирует пример диаграммы классификации, которая иллюстрирует как значения текстуры и движения связаны (ассоциированы) с классификацией контента. Специалист знаком со многими способами для реализации такой диаграммы классификации, например, в таблице поиска или базе данных. Эта диаграмма классификации сформирована на основании заранее определенных оценок контента видеоданных. Чтобы определить классификацию видеоданных, значение текстуры "Малое", "Среднее" или "Высокое" (по "оси X") пересекается со значением движения "Малое", "Среднее" или "Высокое" (по "оси Y"). Классификация контента, указанная в блоке пересечения, назначается видеоданным. Например, значение "Высокое" текстуры и значение "Среднее" движения приводит к классификации семь (7). Фиг. 6 иллюстрирует различные комбинации соответствующих значений текстуры и движения, которые связаны с восьмью различными классификациями контента, в этом примере. В некоторых других вариантах осуществления может использоваться большее или меньшее количество классификаций.
Определение скорости передачи в битах
Как описано выше, результирующая классификация контента мультимедийных данных может использоваться в пред-/пост-обработке и алгоритмах сжатия, чтобы эффективно улучшить управление битами при поддержании постоянного воспринимаемого качества видео. Например, метрика классификации может использоваться в алгоритмах для обнаружения изменения сцены, управления распределением скорости передачи в битах при кодировании, и преобразование с повышением скорости передачи кадров (FRUC). Системы компрессор/декомпрессор (кодек) и алгоритмы обработки цифрового сигнала обычно используются в передаче видеоданных и могут быть сконфигурированы так, чтобы сохранить полосу частот, но существует компромисс между сохранением полосы частот и качеством. Лучшие кодеки обеспечивают большую степень сохранения полосы частот при создании наименьшей степени ухудшения качества видео.
В одном аспекте компонент 196 скорости передачи в битах использует классификацию контента, чтобы определить скорость передачи в битах (например количество битов, распределенных для кодирования мультимедийных данных) и сохраняет значение скорости передачи в битах в память для использования другим процессом и компонентами, например компонентом 185 кодера согласно фиг. 1. Скорость передачи в битах, определенная из классификации видеоданных, может помочь сохранить полосу частот при обеспечении мультимедийных данных с сообразным уровнем качества. В одном аспекте различная скорость передачи в битах может быть связана с каждой из восьми различных классификаций контента, и затем эта скорость передачи в битах используется для кодирования мультимедийных данных. Результирующий эффект - тот, что хотя различным классификациям контента мультимедийных данных распределены различные количества битов для кодирования, воспринятое качество является сходным или согласующимся при просмотре на дисплее.
Обычно мультимедийные данные с более высокой классификацией контента показывают более высокий уровень движения и/или текстуры и им распределяют больше битов при кодировании. Мультимедийным данным с более низкой классификацией (показывающими меньшую величину текстуры и движения) распределяют меньшее количество битов. Для мультимедийных данных конкретной классификации контента скорость передачи в битах может быть определена на основании выбранного адресатом воспринимаемого уровня качества для просмотра мультимедийных данных. Определение качества мультимедийных данных может быть определено человеком, просматривающим и сортирующим мультимедийные данные. В некоторых альтернативных вариантах осуществления оценки качества мультимедийных данных могут быть сделаны автоматическими тестовыми системами, использующими, например, алгоритмы соотношения сигнал/шум. В одном аспекте набор стандартных уровней качества (например, пять) и соответствующая скорость передачи в битах, необходимая для достижения каждого конкретного уровня качества, заранее определены для мультимедийных данных каждой классификации контента. Чтобы определить набор уровней качества, мультимедийные данные конкретной классификации контента могут быть оценены, генерируя среднюю экспертную оценку (СЭО, MOS), которая обеспечивает численную индикацию относительно визуально воспринятого качества мультимедийных данных, когда они закодированы, используя некоторую скорость передачи в битах. MOS может быть выражена как одно число в диапазоне от 1 до 5, где 1 - самое низкое воспринятое качество, и 5 - самое высокое воспринятое качество. В других вариантах осуществления MOS может иметь больше чем пять или меньше чем пять уровней качества, и могут использоваться различные описания каждого уровня качества.
Определение качества мультимедийного данных может быть определено посредством просмотра людьми и сортировкой мультимедийных данных. В некоторых альтернативных вариантах осуществления оценки качества мультимедийных данных могут быть сделаны автоматическими тестовыми системами, использующими, например, алгоритмы соотношения сигнал/шум. В одном аспекте набор стандартных уровней качества (например, пять) и соответствующая скорость передачи в битах, необходимая для достижения каждого конкретного уровня качества, являются заранее определенными для мультимедийных данных каждой классификации контента.
Знание соотношения между визуально воспринятым уровнем качества и скоростью передачи в битах для мультимедийных данных некоторой классификации контента может быть определено посредством выбора целевого (например, желательного) уровня качества. Целевой уровень качества, используемый для определения скорости передачи в битах, может быть предварительно выбранным, выбранным пользователем, выбранным посредством автоматического процесса или полуавтоматического процесса, требующего ввода данных от пользователя или от другого процесса, или может быть выбран динамически устройством или системой кодирования на основании заранее определенных критериев. Целевой уровень качества может быть выбран на основании, например, типа приложения кодирования или типа клиентского устройства, которое может принимать мультимедийные данные.
Определение классификаций контента
Кривые классификации контента и кривые искажения скорости передачи, из которых они получены, формируются до классификации видеоданных. Для этих идентифицированных классификаций мультимедийных данных приемлемая скорость передачи в битах определяется, находя точку пересечения целевого уровня качества с конкретной кривой качества искажения скорости передачи для конкретной классификации видеоданных. Скоростью передачи в битах является точка, которая соответствует точке пересечения, и скорость передачи в битах может уменьшаться, когда выбран более низкий целевой уровень качества. Например, если целевой уровень качества был выбран как "Приемлемый" вместо "Хороший", кодирование видеоданных, классифицированных как, например, класс 6 со скоростью передачи в битах, равной 5, может теперь требовать скорости передачи в битах приблизительно равной 4.
Чтобы определить восемь классификаций контента мультимедийных данных, указанных на фиг. 6 и 7, последовательности мультимедийных данных, содержащие изменяющиеся типы контента, могут использоваться для получения средних скоростей передачи в битах и пикового отношения сигнал-шум (PSNR) средней яркости. Средние скорости передачи в битах для последовательностей составляют график в зависимости от среднего PSNR, формируя кривые "скорость передачи в битах - искажение" (R-D). Например, кривые R-D для многочисленных последовательностей мультимедийных данных могут быть изображены в графическом формате, где x-ось - это средняя скорость передачи в битах (кбит/с), и ось Y - PSNR средней яркости (db). Кривые R-D для этих последовательностей относятся к нескольким различным кластерам, и последовательности мультимедийных данных тогда классифицируются в различные группы (а также кривые) на основании кластеров кривых R-D. В одном примере первоначально сформированы пять групп, причем каждую группу получают, беря среднее значение всех последовательностей, относящихся к этому кластеру. Каждый кластер может включать в себя одну или более последовательностей. Стандартное отклонение для каждой группы может также быть вычислено из конкретных последовательностей, формирующих группу. В других примерах последовательности видеоданных могут быть кластеризованы, чтобы сформировать менее пяти групп или более пяти групп в зависимости от используемых последовательностей. В этом примере количество групп (пять) впоследствии увеличивается на основании дальнейшего анализа видеоданных. Точно так же, если большее или меньшее количество групп первоначально сформированы в некоторых других аспектах, такие аспекты могут также включать в себя дальнейшее увеличение или уменьшение количества групп на основании оценки дополнительных последовательностей. Пять начальных групп соответствуют пяти классам, которые представляют изменяющиеся уровни движения и текстуры в данном суперкадре. Например, класс 1 представляет суперкадр, имеющий малое движение и низкую текстуру (LM, LT), класс 2 представляет суперкадр, имеющий среднее движение и низкую текстуру (MM, LT), класс 3 представляет суперкадр, имеющий среднее движение и среднюю текстуру (ММ, LT), класс 4 представляет суперкадр, имеющий, высокую величину движения и среднюю текстуру (HМ, MT) и класс 5 представляет суперкадр, имеющий высокую степень движения и высокую текстуру (HМ, HT).
Затем каждый суперкадр из всех доступных исходных последовательностей классифицируется, чтобы проверить, относится ли каждый суперкадр к его соответствующему классу. Начальная классификация может быть усовершенствована, проверяя различные последовательности мультимедийных данных и используя итеративный процесс, чтобы разместить другие различные последовательности, которые не вписываются в предварительно определенные пять групп, и может быть получен новый набор модифицированных кривых R-D. В этом примере количество кластеров было увеличено с пяти до восьми и были сформированы дополнительные классы, где больший номер класса представляет увеличивающееся движение и более высокий уровень текстуры в мультимедийных данных.
В этом примере эти кривые R-D были затем моделированы, чтобы облегчить их использование в классификации мультимедийных данных. Поскольку соотношение между скоростью передачи в битах и PSNR яркости сигнала является логарифмической функцией, кривые R-D могут быть моделированы, используя логарифмическую функцию следующей формы: ypsnr=a*ln (скорости передачи)+b, a>0. В этом примере значения параметров a и b воспроизведены ниже:
Класс
а
b
1
5,0874
-13,038
2
5,1765
-20,790
3
5,9369
-32,149
4
5,2884
-27,498
5
5,3435
-30,421
6
5,1642
-29,173
7
5,0773
-32,890
8
5,0813
-37,631
Система обработки мультимедийной информации, предназначенная для работы таким образом, что все услуги в реальном масштабе времени имеют аналогичное воспринимаемое качество независимо от назначения им скорости передачи в битах, выдает согласованные мультимедийные данные для отображения. Следовательно, метрика качества (например, PSNR) для службы реального времени, как ожидается, будет монотонно увеличивающейся с назначенной скоростью передачи в битах. Поскольку равное значение PSNR не обязательно производит воспринятое согласованное качество мультимедийных данных, существующие классы были модифицированы на основании другой метрики качества, отличной от PSNR. Чтобы достичь того же самого воспринимаемого качества мультимедийных данных, кривые классификации контента были модифицированы, добавляя соответствующие смещения так, чтобы все классы имели аналогичную метрику качества. Уравнения со скорректированным смещением имеют также логарифмическую форму, ypsnr=a*ln (скорости передачи)+b+смещение. В описанном примере значения смещения для каждого из восьми контента классов равны -9,833, -5,831, -4,335, -2,064, -0,127, 0,361, 4,476 и 6,847.
Одно использование классификации контента предназначено для обнаружения изменения сцены видеоданных. Если метрика разности кадров или значение отношения контраста или метрика классификации контента являются относительно высокими относительно предыдущего и будущего кадра в последовательности кадров, определяют, что конкретный кадр есть изменение сцены или новый всплеск.
Фиг. 8 изображает последовательность операций, иллюстрирующую один пример процесса 200 для определения скорости передачи в битах на основании классификации мультимедийных данных. Также следует отметить, что примеры могут быть описаны как процесс, который может быть изображен как последовательность операций, схема потока, структурная диаграмма или блок-схема. Хотя последовательность операций может описывать операции как последовательный процесс, многие из операций могут быть выполнены параллельно или одновременно, и процесс может быть повторен. Кроме того, порядок операций может быть перестроен, могут быть выполнены непоказанные операции, или показанные операции могут быть опущены в зависимости от обстоятельств применения процесса.
Процесс, описанный здесь, может соответствовать способу, функции, процедуре, программе или части программы. Когда процесс соответствует функции, его завершение соответствует возвращаемому результату функции к вызывающей функции или основной функции. Описание процесса как программы, модуля, компонента, подпрограммы или вспомогательной программы является широким описанием и не предназначено, чтобы требовать, чтобы все варианты осуществления были осуществлены идентично, если это явно не указано. Вместо этого специалисту в данной области техники понятно, что такие операции могут обычно осуществляться в аппаратном обеспечении, программном обеспечении, микропрограммных средствах, программируемом оборудовании или микропрограмме. Функциональные возможности или функционирование, которые описаны как одиночный компонент, программа или модуль, могут также быть осуществлены в двух или больше компонентах, модулях, программах, например подмодулях, подпрограммах или вспомогательных программах.
Процесс 200 может быть выполнен, например, устройством 105 кодера, и его компонентами, показанными на фиг. 1. Кодированные или не кодированные видеоданные принимают устройством 105 кодера от внешнего источника 135. В процессе 200 на этапе 205 определяют сложность видеоданных. В некоторых вариантах осуществления компонент 185 кодера вычисляет информацию, используемую для определения пространственной сложности и временной сложности видеоданных, например, векторы движения, по меньшей мере одно значение Dcsat и сумму абсолютных разностей макроблоков. В некоторых вариантах осуществления компонент 190 классификации контента вычисляет по меньшей мере часть информации, необходимой для определения временной и пространственной сложности мультимедийных данных. Средство классификации, такое как компонент 190 классификации контента, может классифицировать мультимедийные данные на основании определенной сложности, шаг 210. В результате этапа 210 мультимедийные данные классифицируют в одну из нескольких классификаций контента (например, одну из восьми классификаций контента). На этапе 215 процесс 200 определяет значение качества для просмотра мультимедийных данных во множестве классификаций контента, что обычно делается до начала процесса 200. Определение уровня качества данных может быть определено просмотром людьми и сортировкой мультимедийных данных или, в некоторых альтернативных вариантах осуществления, оценки качества мультимедийных данных могут быть сделаны автоматическими системами оценки данных, использующими, например, алгоритмы соотношения сигнал/шум. Уровень качества может быть предварительно выбранным, выбранным пользователем, выбранным посредством автоматического процесса или полуавтоматического процесса, требующим ввода данных от пользователя или от другого процесса. Альтернативно, уровень качества может быть выбран динамически устройством кодирования или системой во время работы системы на основании, например, заранее определенных критериев, относящихся к желательному или требуемому уровню качества для просмотра мультимедийных данных.
Процесс 200 определил скорости передачи в битах для кодирования видеоданных на основании их классификации и желательного целевого уровня качества. Скорость передачи в битах для кодирования видеоданных может быть определена суммированием отдельных оценок размера кадра, принадлежащих этому суперкадру. Отдельные оценки размера кадра могут быть вычислены двумя способами. В одном подходе оценка размеров каждого кадра в суперкадре вычисляется на основании отношения полосы частот, и затем размер суперкадра может быть оценен как линейная комбинация размеров кадра.
Оценка размера суперкадра на основании размеров кадра
Размеры кадра оценивают в зависимости от предыдущих закодированных кадров и соотношений полосы частот кадра. Используют фильтр с бесконечной импульсной характеристикой (БИХ, IIR), чтобы оценить размеры кадра, и сильная корреляция наблюдается между фактическим размером и оцененными размерами из моделирования. Соотношения полосы частот (BWR) вычисляют в препроцессоре на основании векторов движения и SAD в MPEG-2 декодере.
Примем прямые линейные отношения между размером кадра и BWR следующим образом:
Размер кадра(n)/BWR (n)=размер кадра (n+1)/BWR (n+1) (Ур. 20')
Процедура для оценки размеров кадра описана ниже.
(1) Величину Gamma вычисляют как соотношение между размером кадра и BWR для каждого закодированного кадра.
Gamma (i)=размер кадра (i)/Временной_BWR(i) (Ур. 21)
(2) Для каждого кадра, подлежащего кодированию, вычисляется вес, используя следующий IIR фильтр:
Gammap(i)=(1-alpha)*Gamma (i-1)+alpha*Gammap (i-1) (Ур. 22)
Следовательно, размер кадра оценивается следующим образом:
Оценка кадра (i)=Gammap (i)*Временной_BWR (i) (Ур. 23)
Эта процедура может использоваться как для P так и для B кадров с последовательными P кадрами, оцененными из предыдущих закодированных P кадров, и B кадров, оцененных от предыдущих кодированных B кадров. В одном подходе Временной_BWR может быть суммой Beta_inter (описанной выше) для всех макроблоков в кадре. В случае I кадра наблюдается, что фильтр FIR (КИХ, с конечной импульсной характеристикой) обеспечивает более точные результаты, чем фильтр с БИХ. Следовательно, для I кадра оценку получают следующим образом:
I_Кадра_оценка (i)=Пространственная_BWR(i)*(I_Кадров_Размер(i-1)/Пространственная_BWR (i-1)) (Ур.24)
Размер суперкадра является суммой всех оценок кадра в этом суперкадре.
Оценка размера суперкадра в целом
В другом подходе размер суперкадра может быть оценен в целом. Размер суперкадра может быть оценен в зависимости от предыдущих суперкадров и соотношений полосы частот суперкадра в целом. Фильтр с бесконечной импульсной характеристикой (БИХ, IIR), как описано для первого подхода выше, может использоваться, чтобы оценить размеры суперкадра.
Снова линейное соношение может быть принято между размером суперкадра и сложностью суперкадра, представленной посредством отношения полосы частот для суперкадра в целом:
SF_Size (n)/SF_BWR (n)=SF_Size (n+1)/SF_BWR (n+1) (Ур. 25)
Процедуру для оценки размеров суперкадра можно объяснить следующим образом:
(1) Величина Theta вычисляется как соотношение между Размером суперкадра и BWR для полного суперкадра, как показано в следующем уравнении:
Theta (i) = SF_Size (i) /SF_BWR (i) (Ур. 26)
(2) Для каждого суперкадра, подлежащего кодированию, вычисляется вес, используя следующий фильтр БИХ.
ThetaP (i)=(1-alpha)*Theta (i-1)+альфа*ThetaP (i-1) (Ур. 27)
Размер суперкадра может быть оценен следующим образом:
SuperFrame_Estimate (i)=ThetaP (i)*SF_BWR (i) (Ур. 28)
Отношение полосы частот для данного суперкадра оценивают, используя линейную комбинацию соотношений полосы частот для отдельных кадров в этом суперкадре. Типы кадров в суперкадре могут быть основаны на фиксированной структуре ГИ, такой как IBP или IBBP и т.д.
Типы кадров в суперкадре определяют на основании метрики разности кадров, описанной выше. Интрапорог и интерпорог определяют на основании классификации типа контента в этом заданном суперкадре. На основании этих порогов кадр объявляют как "I кадр", если его разность кадров превышает интрапорог, или P-кадр, если его разность кадров находится между интра- и интерпорогами, и B-кадр, если разность кадров ниже интерпорога.
csat
Пространственное соотношение полосы частот, описанное как Beta_интра, полученное с использованием D и модели Гирода, описанной выше, используется для оценки размера интракадров. Другой подход состоит в том, что пространственное соотношение полосы частот основано на коэффициенте контраста, описанном выше, или любой другой метрике, которая представляет количество.
csat
Временное соотношение полосы частот, описанное как Beta_интер, полученное с использованием D и модели Гирода и MV и SAD, описанных выше, используется для оценки размера интер. Другой подход состоит в том, что временное соотношение полосы частот основано на основании метрики SAD_MV, описанной выше, или любой другой метрике, который представляет величину или уровень движения в кадре.
Со ссылками снова на Фиг. 8, на этапе 221 процесс 200 использует скорость передачи в битах, определенную на этапе 215, для дальнейшей обработки мультимедийных данных, например, чтобы кодировать мультимедийные данные для обмена по беспроводной сети.
csat
csat
Фиг. 9 изображает последовательность операций, иллюстрирующую процесс 201 для дальнейших операций обработки мультимедийных данных между точками "A" и "B", показанных на фиг. 8. Процесс 201 определяет пространственную сложность мультимедийных данных на этапе 206. Определение пространственной сложности требует, чтобы процесс 201 вычислил по меньшей мере одно значение D для блоков мультимедийных данных, что выполняется на этапе 207. Этап 207 может быть выполнен компонентом 185 кодера или компонентом 190 классификации контента, оба показаны на фиг. 1. Процесс вычисления значения D описан выше. Переходя к этапу 240, процесс 201 определяет временную сложность мультимедийных данных. На этапе 209 определяют по меньшей мере один вектор движения для по меньшей мере одного блока данных, что обычно делается компонентом 185 кодера. На этапе 211 процесс 201 также определяет сумму абсолютных разностей (SAD), ассоциированную с по меньшей мере одним блоком мультимедийных данных и опорным блоком. Вычисления на этапе 211 также обычно выполняются компонентом 185 кодера. Переходя к этапу 210, процесс 201 классифицирует мультимедийные данные на основании определенной сложности. Чтобы классифицировать мультимедийные данные, пространственная сложность ассоциируется со значением текстуры на этапе 255. Также временная сложность ассоциирована со значением движения, как показано на этапе 260. Наконец, на этапе 265 процесс 201 назначает классификацию контента для мультимедийных данных на основании значения текстуры и значения движения, определенных на этапе 255 и 260, соответственно. Этапы процесса 201 завершаются в "B", где процесс 200 будет продолжен, чтобы определить скорость передачи в битах, как показано на этапе 215 на фиг. 9.
Классификация контента и процесс оценки сложности мультимедийного контента и соответствующая скорость кодирования или коэффициент сжатия для заданного воспринимаемого качества могут быть расширены, чтобы увеличить выгоду в статистическом мультиплексировании потоков с переменной скоростью передачи. Такой мультиплексор, который использует способы и устройства, описанные выше, также дает возможность выводить результат мультиплексирования с однородным качеством для динамически изменяющегося контента в мультимедийных приложениях. Такой мультиплексор описан ниже.
Мультиплексор
В некоторых вариантах осуществления мультиплексор может использоваться для управления битами, описанного выше. Например, мультиплексор может быть осуществлен, чтобы обеспечить управление распределением скорости передачи в битах. Оцененную сложность можно выдавать на мультиплексор, который может затем распределять доступную полосу частот для коллекции мультиплексированных видеоканалов согласно сложности кодирования, ожидаемой для этих видеоканалов, что затем позволяет качеству конкретного канала оставаться относительно постоянным, даже если ширина полосы для коллекции мультиплексных потоков видео относительно постоянна. Это обеспечивает возможность каналу в коллекции каналов иметь переменную скорость передачи в битах и относительно постоянное визуальное качество, вместо относительно постоянной скорости передачи в битах и переменного визуального качества.
Фиг. 10 является системной диаграммой, иллюстрирующей кодирование множества мультимедийных потоков или каналов 1002. Мультимедийные потоки 1002 кодируются соответствующими кодерами 1004, которые находятся в связи с мультиплексором (MUX) 1006, который в свою очередь находится в связи со средой 1008 передачи. Например, мультимедийные потоки 1002 могут соответствовать различным каналам контента, таким как каналы новостей, спортивные каналы, каналы кинофильмов и т.п. Кодеры 1004 кодируют мультимедийные потоки 1002 в формат кодирования, указанный для системы. В то время как описано в контексте кодирования потоков видео, принципы и преимущества раскрытых способов в общем случае применимы к мультимедийным потокам, включающим, например, звуковые потоки. Кодированные мультимедийные потоки выдаются на мультиплексор 1006, который объединяет различные кодированные мультимедийные потоки и посылает объединенный поток среде 1008 передачи для передачи.
Среда 1008 передачи может соответствовать множеству сред, таким как, но не ограничиваясь ими, цифровая спутниковая связь, типа DirecTV (R), цифровой кабель, проводная и беспроводная Интернет-связь, оптические сети, сети сотовых телефонов и т.п. Среда 1008 передачи может включать в себя, например, модуляцию радиочастоты (РЧ). Как правило, из-за спектральных ограничений и т.п. среда передачи имеет ограниченную полосу частот, и данные от мультиплексора 1006 к среде передачи передаются с относительно постоянной скоростью передачи в битах (ПСПБ, CBR).
В обычных системах использование постоянной скорости передачи в битах (ПСПБ) на выходе мультиплексора 1006 требует, чтобы кодированная мультимедийная информация или потоки видео, которые введены на мультиплексор 1006, также имели ПСПБ. Как описано в разделе об уровне техники, использование ПСПБ при кодировании видеоконтента может приводить к переменному визуальному качеству, которое является обычно нежелательным.
В иллюстрированной системе два или больше из кодеров 1004 выдают ожидаемую сложность кодирования входных данных. Один или более кодеров 1004 в ответ могут принимать адаптированное управление скоростью передачи в битах от мультиплексора 1006. Это разрешает кодеру 1004, который ожидает кодирования относительно сложного видео, принимать более высокую скорость передачи в битах или более высокую полосу частот (более битов на кадр) для этих кадров видео скорости передачи в битах квази-переменным образом. Это позволяет кодировать мультимедийный поток 1002 с более согласующимся визуальным качеством. Дополнительная ширина полосы, которая используется конкретным кодером 1004, кодирующим относительно сложное видео, исходит из битов, которые иначе использовались бы для кодирования других потоков 1004 видео, если кодеры были реализованы для работы на постоянных скоростях передачи в битах. Это обслуживает выходной сигнал мультиплексора 1006 на постоянной скорости передачи в битах (ПСПБ).
В то время как отдельный мультимедийный поток 1002 может быть относительно "пакетированным", то есть изменяться по используемой ширине полосы, накопленная сумма множества потоков видео может быть в меньшей степени пакетированной. Скорость передачи в битах от каналов, которые кодируют менее сложное видео, может быть перераспределена, например, мультиплексором 1006, на каналы, который кодируют относительно сложное видео, и это может расширять визуальное качество объединенных потоков видео в целом.
Кодеры 1004 обеспечивают мультиплексор 1006 индикацией относительно сложности набора кадров видео, которые должны быть кодированы и мультиплексированы вместе. Выход мультиплексора 1006 должен обеспечить выходной сигнал, который имеет скорость передачи в битах не выше, чем скорость передачи в битах, указанная для среды 1008 передачи. Эти индикации сложности могут быть основаны на классификации контента, как описано выше, чтобы обеспечить выбранный уровень качества. Мультиплексор 1006 анализирует индикации сложности и подает на различные кодеры 1004 назначенное количество битов или полосу частот, и кодеры 1004 используют эту информацию, чтобы кодировать кадры видео в наборе. Это разрешает набору кадров видео отдельно иметь переменную скоростью передачи в битах, и все же достигать постоянной скорости передачи в битах как группы.
Классификация контента может также использоваться в предоставлении сжатия, основанного на качестве мультимедийной информации в целом, для любого универсального компрессора.
Классификация контента и способы и устройства, описанные здесь, могут использоваться в основанной на качестве и/или основанной на контенте мультимедийной обработке любых мультимедийных данных. Одним примером является его использование в сжатии мультимедийной информации в общем случае для любого универсального компрессора. Другим примером является декомпрессия или декодирование в любом декомпрессоре или декодере или постпроцессоре, например операции интерполяции, повторной выборки, улучшения, восстановления и представления.
Аспекты различных вариантов осуществления могут быть осуществлены в любом устройстве, которое сконфигурировано так, чтобы кодировать мультимедийные данные для последующего отображения, включая в себя мультимедийные данные, где кадры показывают отображение изображения в движении (например, последовательность связанных кадров, изображающих перемещение или изменяющееся изображение) или неподвижное изображение (например, не изменяющееся или медленно меняющееся изображение), и или текстовое или иллюстрированное. Более конкретно, полагается, что некоторые варианты осуществления могут быть осуществлены в или связаны с множеством электронных устройств, которые могут использоваться для связи, такие как, но не ограничиваясь ими, мобильные телефоны, беспроводные устройства, персональные цифровые ассистенты (PDA), карманные или переносные компьютеры, и другие такие проводные или беспроводные устройства связи, конфигурированные, чтобы принимать мультимедийные данные для отображения.
Передача мультимедийных данных на клиентские устройства, такие как беспроводные телефоны, PDA, портативные компьютеры и т.д., используют передачу и обработку больших объемов данных. Большинство мультимедийных приложений может увеличить выгоды в качестве, если последовательность мультимедийных кадров, выдаваемых к кодеру, классифицирована на основании ее контента. Имеется множество приложений в мультимедийной системе связи, где классификация контента, если доступна, может быть полезна. Например, классификация контента может быть полезна в определении скорости передачи в битах, необходимой, чтобы кодировать мультимедийные данные для получения заранее определенного качества просмотра, и она также может использоваться для определения лучшего типа кадра для заданного кадра.
Специалистам в данной области техники понятно, что информация и сигналы могут быть представлены, используя любую из множества различных технологий и способов. Например, данные, команды, инструкции, информация, сигналы, биты, символы и элементы сигналов, на которые может иметь место ссылка в вышеприведенном описании, могут быть представлены напряжениями, токами, электромагнитными волнами, магнитными полями или частицами, оптическими полями или частицами или любой их комбинацией.
Специалистам в данной области техники также понятно, что различные иллюстративные логические блоки, модули и этапы алгоритма, описанные со ссылками на примеры, раскрытые здесь, могут быть осуществлены как электронное оборудование, программно-аппаратные средства, программное обеспечение, микропрограммные средства, микропрограмма или их комбинация. Чтобы ясно проиллюстрировать эту взаимозаменяемость аппаратного и программного обеспечения, различные иллюстративные компоненты, блоки, модули, схемы и этапы были описаны выше в общем виде в терминах их функциональных возможностей. Осуществлены ли такие функциональные возможности как аппаратное или программное обеспечение, зависит от конкретного применения и конструктивных ограничений, наложенных на полную систему. Специалисты могут реализовать описанные функциональные возможности изменяющимися способами для каждого конкретного применения, но такие решения реализации не должны интерпретироваться как отклонения от объема раскрытых способов.
Различные иллюстративные логические блоки, компоненты, модули и схемы, описанные со ссылками на примеры, раскрытые здесь, могут быть осуществлены или выполнены процессором общего применения, процессором цифрового сигнала (DSP), специализированной интегральной схемой (ASIC), программируемой пользователем вентильной матрицей (FPGA) или другим программируемым логическим устройством, на дискретных логических элементах или транзисторной логике, дискретных аппаратных компонентах, или любой их комбинации, предназначенной для выполнения функций, описанных здесь. Процессором общего применения может быть микропроцессор, но в альтернативе, процессором может быть любой обычный процессор, контроллер, микроконтроллер или конечный автомат. Процессор также может быть реализован как комбинация вычислительных устройств, например, комбинация DSP и микропроцессора, множество микропроцессоров, один или более микропроцессоров вместе с ядром DSP или любая другая такая конфигурация.
Этапы способа или алгоритма, описанного со ссылками на примеры, раскрытые здесь, могут быть воплощены непосредственно в аппаратном обеспечении, в программном модуле, выполняемом процессором, или их комбинации. Программный модуль может постоянно находиться в памяти ОЗУ, флэш-памяти, памяти ПЗУ, памяти электрически программируемого ПЗУ, памяти СППЗУ, регистрах, на жестком диске, съемном диске, CD-ROM, или любой другой форме носителя данных, известного в технике. Примерный носитель данных подсоединен к процессору, так что процессор может считывать информацию с и записывать информацию на носитель данных. В качестве альтернативы носитель данных может быть интегрирован в процессор. Процессор и носитель данных могут постоянно находиться в специализированной интегральной схеме (ASIC). ASIC могут постоянно находиться в беспроводном модеме. В альтернативе, процессор и носитель данных могут постоянно находиться в виде дискретных компонентов в беспроводном модеме.
Вышеприведенное описание раскрытых примеров обеспечивается, чтобы дать возможность любому специалисту в данной области техники выполнить или использовать раскрытые способы и устройство. Различные модификации к этим примерам будут очевидны специалистам, и принципы, определенные здесь, могут применяться к другим примерам, а дополнительные элементы могут быть добавлены без отрыва от объема или формы раскрытого способа и устройства.