ССЫЛКА К ОТНЕСЕННОЙ ЗАЯВКЕ
Настоящая заявка имеет отношение к временной патентной заявке No.60/314413, зарегистрированный 23 августа 2001 года и озаглавленной "Система и способ для маскирования ошибок видеосигнала", которая включена здесь в качестве ссылки.
ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ
1. Область техники
Настоящее изобретение относится, в основном, к видеосвязи и, более конкретно, к маскированию ошибок видеосигнала.
2. Предпосылки создания изобретения.
Видеоизображения становятся все более и более важной частью глобальной связи. В частности, видеоконференц-связь и видеотелефонная связь в настоящее время нашли широкое применение в настольной и комнатной видеоконференц-связи через Интернет и по телефонным линиям, для наблюдения и контроля, телемедицинской консультации и машинному обучению и тренировке специалистов. В каждом из этих применений видео и сопровождающая звуковая информация передается по телекоммуникационным сетям связи, включая телефонные линии, интегральные цифровые сети связи с комплексными услугами (ISDN), цифровые сети (DSL) и радиочастотные сети.
Стандартный видеоформат, используемый при видеоконференц-связи, представляет собой общий промежуточный формат (CIF), который является частью стандарта Н. 261 для видеоконференций Международного союза телекоммуникаций (ITU). Первичный формат CIF также известен как полный CIF или FCLF. Также были установлены дополнительные форматы с разрешением выше и ниже формата FCIF. Фиг. 1 представляет собой таблицу требований по разрешающей способности и скорости передачи данных для различных видеоформатов в соответствии с предположением, что требуются 12 битов на один пиксель согласно известным прототипам. Скорости передачи данных (в мегабитах в секунду, Мбит/с) показаны для несжатых цветных кадров.
В настоящее время эффективная передача и прием видеосигналов может потребовать кодирования и сжатия видеосигналов и соответствующих звуковых сигналов сопровождения.
Кодирование путем сжатия видеосигнала является одним из способов кодирования цифровой видеоинформации, поскольку он требует меньшего объема памяти для хранения видеоинформации и уменьшает требуемую ширину полосы передачи. Некоторые схемы сжатия/декомпрессии (кодирования-декодирования или процесс "КОДЕК") часто используются для сжатия видеокадров изображения, чтобы уменьшить требуемые скорости передачи данных. Таким образом, оборудование КОДЕК и соответствующая программа позволяют сжать цифровую видеоинформацию в меньший двоичный формат, чем это требуется для оригинала (т.е. несжатого цифрового видеоформата).
Существует несколько обычных подходов и стандартов к кодированию и сжатию исходных видеосигналов. Некоторые стандарты разработаны для конкретного применения типа JPEG (Объединенная группа экспертов в области фотографии) для неподвижных изображений, и стандарты Н. 261, Н. 263, MPEG (Экспертная группа по вопросам движущегося изображения), MPEG-2 и MPEG-4 также для движущихся изображений. В этих стандартах кодирования, как правило, используются компенсированные элементы изображения, основанные на компенсации движения 16×16, обычно называемые макроблоками. Макроблок представляет собой единицу информации, содержащую четыре блоков данных яркости 8×8 и двух блоков данных цветности 8×8 данных в соответствии со структурой выборки 4:2:0, где данные цветности подвыборки 2:1 в вертикальных и горизонтальных направлениях.
В качестве практичной меры, звуковые данные также должны быть сжаты, переданы и синхронизированы вместе с видеоинформацией. Синхронизация, мультиплексирование и выдача протокола выполняются по стандартам типа Н. 320 (конференц-видеосвязь на основе ISDN), H. 324 (телефонная видеосвязь на основе обычной телефонной сети) и Н. 323 (конференц-видеосвязь на основе местной сети или IP-телефонии) (или его предшественника, протокола X. 261), которые составляют видеокодирующую часть этих групп стандартов.
Схема оценки движения и схема компенсации представляют собой один обычный способ, используемый, как правило, для снижения требований по ширине полосы передачи для видеосигнала. Поскольку макроблок является основным модулем данных, оценка движения и схема компенсации может обеспечить сравнение данного макроблока в текущем видеокадре с окружающей областью данного макроблока в предварительно переданном видеокадре с целью найти соответствие данных. Как правило, согласованный макроблок в предварительно переданном видеокадре пространственно смещен от данного макроблока на величину меньше ширины данного макроблока. Если соответствие данных найдено, схема вычитает данный макроблок в текущем видеокадре из согласованного макроблока смещения в предварительно переданном видеокадре с тем, чтобы только разница (т.е. остаток) и пространственное смещение должны быть кодированы и переданы. Пространственное смещение обычно называется вектором движения. Если оценка движения и процесс компенсации выполнены правильно, остаточный макроблок должен содержать только количество информации, необходимой для описания данных, соответствующих пикселям, которые изменяются от предыдущего видеокадра до текущего видеокадра и вектора движения. Таким образом, области видеокадров, которые не изменяются (т.е. фон), не кодируются и не передаются.
Традиционно стандарт Н. 263 определяет, что векторы движения, используемые для оценки движения и компенсации движения, являются дифференциально кодированными. Хотя дифференциальное кодирование преобразует данные в количестве, требуемом для передачи, любая ошибка, при которой данные вектора движения в одном макроблоке потеряны или разрушены, негативно влияет на соседние макроблоки. В результате появляются ошибки из-за разрушенных данных, которые снижают качество видеоизображения.
При подготовке информации видеокадров для передачи их по сети связи с пакетной коммутацией схемы кодирования преобразуют информацию о видеокадрах, сжатых по оценке движения и по методике компенсации, в пакеты данных для передачи через сети связи.
Хотя пакеты данных позволяют повысить эффективность передачи, потерянные, разрушенные или задержанные пакеты данных могут также содержать ошибки, приводящие к ухудшению качества видеоизображения. Альтернативно, видеоинформация, может передаваться через гетерогенные системы связи, в которых конечные пункты связи соединены с сетью с коммутацией каналов, и используется межсетевой интерфейс или другое устройство с пакетной передачей через коммутируемую сеть.
В используемой в настоящее время практике потерянные или разрушенные пакеты данных часто снижают качество видеоизображения. Следовательно, существует потребность в системе и способе, которые организуют и передают пакеты данных с маскированием (сокрытием) ошибок, вызванных потерей пакета данных.
КРАТКОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Предлагаемые система и способ устраняют или в значительной степени уменьшают недостатки известных систем, связанные с потерей пакета видеоинформации. В целом, настоящее изобретение предлагает систему и способ, которые кодируют, переупорядочивают и пакетируют видеоинформацию для передачи через сети с коммутации каналов с возможностью маскирования ошибки видеосигналов, вызванной потерей пакета видеоинформации.
В примерном варианте изобретения видеосигналы кодируются в наборы макроблоков. Затем программа реорганизации макроблока присваивает целочисленные метки, называемые идентификаторами группы макроблоков (ИГМ) для каждого макроблока.
В одном примерном варианте соседние макроблоки, в основном, не обозначаются идентичными ИГМ. Затем устройство пакетирования макроблоков осуществляет пакетирование макроблоков таким образом, что макроблоки, имеющие идентичный ИГМ, пакетируются вместе. Для тех вариантов изобретения, в которых соседние макроблоки не имеют идентичной метки ИГМ, пространственно соседние макроблоки вместе не пакетируются. Кроме того, соответствующие данные, типа карты инфра-макроблоков, могут быть включены в заголовок изображения или передаются некоторым другим механизмом, чтобы облегчить соответствующий процесс декодирования.
В другом варианте изобретения, в котором устройство обработки изображения принимает пакеты данных, содержащие кодированные макроблоки, пакеты данных распаковываются, и кодированные макроблоки упорядочиваются и декодируются. В дополнительном варианте устройство обработки изображения распаковывает полученные пакеты данных и затем декодирует макроблоки в том порядке, в котором они были получены, чтобы уменьшить время обработки. Если потеряны один или несколько пакетов данных, используются данные, сопровождающие макроблоки успешно переданных пакетов данных, чтобы снизить неблагоприятный эффект потерянных пакетов данных. Используются различные способы, основанные на том, были ли потерянные макроблоки интра-кодированными или интер-кодированнымй для компенсации отсутствующих макроблоков. После компенсации видеосигнал может затем быть отображен на мониторе. В результате, настоящая система и способ обеспечивают маскирование ошибок видеосигнала, вытекающих из потери пакета данных.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 - таблица разрешающей способности и требования по скорости передачи данных для различных видеоформатов, в соответствии с известной областью техники.
Фиг. 2 - блок-схема примерной системы видеоконференц-связи, согласно настоящему изобретению.
Фиг. 3 - блок-схема примерной станции для видеоконференций системы, показанной на фиг. 2.
Фиг. 4 - блок-схема примерного варианта устройства обработки изображения, показанного на фиг. 3.
Фиг. 5 - примерная схема устройства записи шаблона макроблока для форматирования видеокадра по стандарту одного варианта формата CIF с уменьшенным вчетверо разрешением, где каждый номер ИГМ присваивается макроблоку в соответствующем пространственном местоположении.
фиг. 6 - примерная схема макроблока кадра формата CIF с уменьшенным вчетверо разрешением, как показано на фиг. 5, где пакет данных, содержащий кодированные данные макроблока для макроблоков с ИГМ = 5 потеряны.
Фиг. 7 - блок-схема двумерной схемы интерполяции с использованием данных, соответствующих пикселям, обнаруженных в соседних макроблоках, согласно одному варианту настоящего изобретения.
Фиг. 8 - примерная блок-схема соседних макроблоков, используемых для оценки вектора движения потерянного макроблока, m согласно настоящему изобретению.
Фиг. 9 - примерная блок-схема стадий способа для обработки видеоинформации согласно одному варианту настоящего изобретения.
Фиг. 10 - примерная блок-схема стадий способа для маскирования ошибок видеосигнала при приеме видеоинформации согласно настоящему изобретению.
ПОДРОБНОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Настоящее изобретение обеспечивает маскирование ошибок в видеосигналах из-за потери пакета данных. Настоящая система и способ основаны на существующих технологиях пакетирования макроблоков в гибком (т.е. не растровом) порядке в видеокадре. В отличие от существующих стандартов видеокодирования, макроблоки пакетируются в порядке, установленном в шаблоне переупорядочивания макроблока. Кроме того, векторы движения для каждого макроблока могут кодироваться не дифференциально. Эти усовершенствования направлены на уменьшение возмущений, вызванных потерей пакета данных через канал связи. Объем настоящего изобретения охватывает различные видеостандарты, включая, но не ограничиваясь этим, Н. 261, Н. 263, Н. 264, MPEG, MPEG-2 и MPEG-4.
На фиг. 2 показана примерная система видеоконференц-связи 200.
Система видеоконференц-связи 200 включает местную станцию для видеоконференций 202 и удаленную станцию видео для конференций 204, связанные между собой через сеть 206.
Хотя на фиг. 2 показаны только две станции для видеоконференций 202 и 204, специалисты в данной области понимают, что еще несколько станций для видеоконференций 202 могут быть подключены к системе видеоконференц-связи 200. Следует отметить, что настоящая система и способ могут быть использованы в любой системе связи, где передача видеоинформации осуществляется по сети. Сеть может быть любого типа электронной передачи мультимедийной среды, включая, но, не ограничиваясь этим, обычную телефонную сеть, обычный кабель, волоконно-оптические устройства и средства радиосвязи.
Фиг. 3 представляет собой блок-схему примерной станции видеоконференций 300. Для простоты, станции для видеоконференций 300, здесь будет описана местная станция для видеоконференций 202 (фиг. 2), хотя подобную конфигурацию может иметь и удаленная станции для видеоконференций 204 (фиг. 2). В одном варианте, станция для видеоконференций 300 включает дисплей 302, центральный процессор 304, память 306, по меньшей мере, одно устройство сбора видеоинформации 308, устройство обработки изображения 310 и интерфейс 312. Альтернативно, на станции для видеоконференций 300 могут быть установлены другие устройства или не все из вышеперечисленных устройств могут быть использованы. По меньшей мере, одно устройство сбора данных видеоизображений 308 может быть использовано как полупроводниковая светочувствительная матрица прибора с зарядовой связью, дополнительная камера структуры металл-окисел-полупроводник (CMOS) или любой другой тип прибора записи изображения.
В системе используется, по меньшей мере, одно устройство сбора данных видеоизображений 308, сбора данных пользователя, зала заседаний или других сцен, которые посылаются в устройство обработки изображения 310.
Как правило, устройство обработки изображения 310 преобразует видеоизображение в пакеты данных перед тем, как интерфейс 312 перешлет пакеты данных на удаленную станцию для видеоконференций 204. Устройство обработки изображения 310 будет обсуждено ниже более подробно со ссылкой на фиг. 4. С другой стороны, устройство обработки изображения 310 также преобразует пакеты данных, полученные от удаленной станции для видеоконференций 204, в видеосигнал, отображаемый на дисплее 302.
На фиг. 4 представлен примерный вариант устройства обработки изображения 310, показанного на фиг. 3. Устройство обработки изображения 310 включает устройство кодирования 402, устройство переупорядочивания макроблоков 404, устройство пакетирования макроблоков 406 и буфер связи 408. Первоначально видеосигнал от устройства сбора видеоинформации 308 (фиг. 3) вводится в устройство кодирования 402, который преобразует каждый видеокадр в желательный формат и преобразует каждый кадр видеосигнала в набор макроблоков. Макроблок представляет собой модуль данных, который содержит блоки данных, включающие компоненты яркости и цветности, связанные с элементами изображения (также именуемые пикселями). Например, в формате Н. 263 макроблок состоит из четырех блоков данных яркости 8×8 и двух соответствующих блоков цветности данных 8×8 в формате выборки сигнала цветности 4:2:0. Блок данных 8×8 имеет матрицу из восьми столбцов и восьми строк данных, где каждые данные соответствуют пикселю видеокадра. Макроблок, отформатированный сигналом цветности 4:2:0, содержит данные, имеющие секцию видеокадра из 16×16 пикселей.
Однако настоящее изобретение не ограничено традиционно определяемыми макроблоками, но может быть применено к любому модулю данных, содержащему данные яркости и/или цветности. Кроме того, в объем настоящего изобретения входят другие форматы выборки, например формат выборки сигнала цветности 4:2:2, содержащего четыре блока данных яркости 8×8 и четыре соответствующих блока цветности 8×8.
Данные или формат выборки сигнала цветности 4:4:4 содержат четыре блока данных яркости 8×8 и восемь соответствующих 8×8 блоков данных цветности.
Кроме того, устройство кодирования 402 кодирует (т.е. сжимает) каждый макроблок, чтобы уменьшить число битов, представляющих содержимое данных.
Каждый макроблок может быть "интра-кодирован" или "интер-кодирован", и кадр может быть составлен из любой комбинации интра-кодированных и интер-кодированных макроблоков.
Интер-кодированные макроблоки кодируются, используя временные подобия (т.е. подобия, которые существуют между макроблоком от одного кадра и точно согласованным макроблоком предыдущего кадра). Конкретно, данный интер-кодированный макроблок содержит кодированную разницу между данным макроблоком и точно согласованным макроблоком предыдущего видеокадра. Точно согласованный макроблок предыдущего видеокадра может содержать данные, связанные с пикселями, которые смещены по отношению к пикселям, соответствующих данному макроблоку.
С другой стороны, интра-кодированные макроблоки кодированы без использования информации от других видеокадров способом, подобным стандарту кодирования JPEG, используемому для отображения неподвижного изображения.
Например, чтобы определить, может ли данный макроблок быть кодирован как интер-кодированный макроблок, устройство кодирования 402 вычисляет разницу между данными данного макроблока текущего видеокадра с данными макроблока предыдущего видеокадра (называемым макроблоком смещения), когда разница может быть реализована, например, как среднеабсолютная погрешность или среднеквадратичная ошибка между данными, соответствующими пикселям, расположенным в совмещенных положениях в макроблоках. Для данного макроблока устройство кодирования 402 вычисляет ошибки для множества макроблоков смещения. Если устройство кодирования 402 находит только ошибки выше предопределенной пороговой величины разницы, то существенные подобия между данными от данного макроблока и данными от предыдущего кадра отсутствуют, и макроблок является интра-кодированным. Однако если найдена ошибка, меньше предопределенной пороговой величины для данного макроблока и данного макроблока смещения от предыдущего кадра, то данный макроблок является интер-кодированным.
Для интер-кодирования данного макроблока устройство кодирования 402 вычитает данные данного макроблока из данных макроблока смещения (т.е. данные яркости и цветности, связанные с пикселем данного макроблока, вычитаются из данных яркости и цветности, связанных с соответствующим пикселем макроблока смещения для каждого пикселя), чтобы получить данные разницы. Затем кодируют данные разницы, используя стандарт кодирования типа дискретного косинусного преобразования и методику квантования, определяют вектор смещения от данного макроблока до макроблока смещения (называемый вектором движения) и кодируют вектор движения.
Затем по стандартам видеокодирования, типа Н. 261 и Н. 263, находят, что векторы движения интер-кодированных макроблоков должны быть кодированы дифференциально, чтобы повысить эффективность кодирования. Однако дифференциальное кодирование приводит к тому, что ошибки, созданные потерянными или разрушенными данными вектора движения, распространяются на соседние макроблоки, которые в противном случае были бы декодированы без ошибок, поскольку кодированные данные вектора движения, связанные с данным макроблоком, не являются независимыми от данных вектора движения соседних макроблоков. Таким образом, влияние данных вектора движения данного макроблока пространственно не ограничено данным макроблоком. Однако если векторы движения каждого интер-кодированного макроблока не кодированы, то влияние данных вектора движения ограничено данным макроблоком, приводя к существенному увеличению устойчивости к внешним возмущениям. В большинстве случаев изменение в способе кодирования вектора движения от дифференциальной до недифференциальной методики приводит к небольшой потере в эффективности кодирования (как правило, менее нескольких процентов). Согласно одному варианту настоящего изобретения компоненты вектора движения, связанные с каждым интер-кодированным макроблоком, как правило, дифференциально не кодируются, в противоположность обычным способам.
В другом варианте изобретения устройство кодирования 402 может кодировать интра-кодируемые макроблоки кадра, используя механизм "общего восстановления". Механизм "общего восстановления" - детерминированный механизм, служащий для снятия рассогласования опорного кадра, называемого дрейфом данных, путем интра-кодирования определенного шаблона макроблоков для каждого кадра. В устройстве кодирования 402 используются макроблоки опорного кадра, как макроблоки смещения при декодировании интер-кодированных макроблоков текущего кадра. В одном варианте изобретения механизм "общего восстановления" применяется для интра-кодирования шаблона макроблоков, используя интервал целого числа w, выбранный из набора предопределенных целочисленных интервалов "общего восстановления". Например, если w = 47, то устройство кодирования 402 интра-кодирует каждый макроблок. Интервал общего восстановления может быть выбран на основании скорости передачи видеоинформации и частоты появления ошибок. Когда "восстановленные " интра-кодированные макроблоки поступают в устройство кодирования удаленной станции для видеоконференций 204 (фиг. 2), эти "восстановленные" данные заменяют соответствующие макроблоки от предыдущих кадров, которые могли быть разрушены из-за ошибок при передаче видеоинформации.
Любой макроблок, который может быть разрушен из-за ошибок при передаче видеоинформации (и не заменен) далее распространяется и может увеличить дрейф данных, когда в устройстве кодирования удаленной станции для видеоконференций 204 используются разрушенные макроблоки в качестве опорных макроблоков для декодирования других полученных макроблоков.
Таким образом, интра-кодированные макроблоки "общего восстановления" обеспечивают устройство кодирования удаленной станции для видеоконференций 204 "свежим" набором интра-кодированных макроблоков, которые можно использовать в качестве опорных макроблоков, уменьшая, таким образом, распространение дрейфа данных.
Кроме того, устройство кодирования 402 может формировать карту интра-макроблоков, которая определяет те макроблоки в видеокадре, которые интра-кодированы. После формирования карты интра-макроблоков устройство обработки изображения 310 посылает эту карту удаленной станции для видеоконференций 204. Карта может быть послана как часть поля заголовка изображения, связанного, например, с кодированным видеокадром, хотя могут быть использованы и другие поля.
В соответствии с настоящим изобретением устройство кодирования 402 может формировать карту интра-макроблоков двумя путями. В одном варианте изобретения в блоке кодирования 402 используется кодирование с переменной длиной строки, чтобы описать местоположения интра-кодированных макроблоков в пределах кадра. Кодирование с переменной длиной строки это методика, позволяющая уменьшить размер повторяющейся строки знаков. В другом варианте изобретения устройство кодирования 402 формирует растровое изображение, где каждый бит в растровом изображении соответствует одному макроблоку кадра. Величина бита определяет тип кодирования соответствующего макроблока. Например, в одном варианте изобретения бит "1" означает, что соответствующий макроблок интра-кодирован. В другом варианте изобретения бит " 1" означает, что соответствующий макроблок интер-кодирован. В настоящем изобретении могут быть использованы и другие способы формирования карты интра-макроблока.
В еще одном варианте изобретения устройство кодирования 402 выбирает способ кодирования карты интра-макроблока, в котором используется меньшее число битов. Например, при разрешении 352×288 пикселей (т.е. разрешение 352 пикселя по горизонтали на 288 пикселей по вертикали) видеокадр содержит 396 макроблоков, конфигурированных в виде матрицы макроблоков 22×18. Без включения любого требуемого дополнительного двоичного разряда растровый способ кодирования требует 396 битов (один бит для каждого макроблока). Таким образом, используются 396 битов, чтобы передать растровое изображение карты кодированного интра-макроблока, независимо от числа интра-кодированных макроблоков в пределах кадра формата FCIF. Напротив, число битов, используемых для передачи карты микроблоков, кодированной по длине строки, зависит от числа интра-кодированных макроблоков в кадре FCIF. Стоимость передачи карты интра-макроблока, кодированной по длине строки - восемь битов в интра-кодированном макроблоке (т.е. восемь битов на величину серии), где величина серии определяет местоположение интра-кодированного макроблока в пределах кадра FCIF. Следовательно, если кадр FCIF содержит n интра-кодированных макроблоков, то потребуются 8n битов, чтобы передать кодируемую по длине карту интра-макроблоков.
Таким образом, если кадр CIF содержит меньше 50 интра-кодированных макроблоков (n<50), то устройство кодирования источника 402 выбора способа кодирования с переменной длиной строки, т.е. устройство кодирования источника 402 выбирает кодирование по длине строки. Выбор способа кодирования карты интра-макроблока зависит от видеоформата, FCIF видеокадр которого является одним примером.
Затем кодированные макроблоки передаются устройству переупорядочивания макроблоков 404. Устройство переупорядочивания макроблоков 404 переупорядочивает кодированные макроблоки. Конкретно, каждому макроблоку присваивается идентификатор группы макроблоков (ИГМ) из множества ИГМ. В примерном варианте макроблоки пронумерованы до шести согласно примерному шаблону распределения макроблоков, показанному на фиг. 5 для кадра форматированного форматом CIF с уменьшенным вчетверо разрешением (QCIF), имеющим девять строк по одиннадцати макроблоков в строке. Максимум ИГМ называется максимальным идентификатором группы ИГМ. На фиг. 5 примерного варианта ИГМ = 6. Как показано на чертеже, ИГМ присваиваются так, чтобы свести к минимуму присвоение одного и того же ИГМ соседним макроблокам.
Альтернативно, тот же самый ИГМ может присваиваться другим шаблонам соседних макроблоков или в любом другом порядке.
Как будет обсуждено ниже со ссылкой на фиг. 6, распределение макроблоков таким образом, что соседним макроблокам не будет присвоен один и тот же ИГМ, в основном, сводит к минимуму концентрацию ошибок в одной области кадра, потому что макроблоки потерянного пакета данных пространственно распределены поперек кадра. Поскольку ошибки из-за потерянных пакетов не будут сконцентрированы в одной области кадра, потерянные данные, связанные с потерянными макроблоками, могут быть более точно восстановлены благодаря использованию данных из соседних макроблоков. Иными словами, пространственная интерполяция данных из соседних макроблоков или оценка векторов движения макроблока будет более точно определена, если потеря данных в пределах кадра пространственно не ограничена.
В блоке кодирования 402 (фиг. 4) устройства обработки изображения 310 (фиг. 3) удаленной станции для видеоконференций 204 (фиг. 2) могут использоваться различные способы маскирования ошибок совместно с переупорядочением макроблоков, чтобы улучшить качество видеоизображения. Например, в одном варианте изобретения устройство кодирования 402 декодирует соседние макроблоки потерянного интер-кодированного макроблока, оценивает вектор движения потерянного макроблока и затем использует оцененный вектор движения, чтобы восстановить данные потерянного макроблока.
В другом варианте изобретения устройство кодирования 402 может декодировать соседние макроблоки потерянного интра-кодированного макроблока и пространственно интерполировать декодированные данные соседних макроблоков, чтобы восстановить потерянные данные. Объем настоящего изобретения охватывает и другие методы маскирование ошибок, используемые в сочетании с переупорядочением макроблока, чтобы улучшить качество видеоизображения из-за потерянных или разрушенных макроблоков.
В соответствии с настоящим изобретением могут использоваться и другие переупорядочивающие шаблоны и ИГМ. В одном варианте изобретения, устройство переупорядочивания макроблоков 404 работает на основе выбора MGID, основанного на оценке видеоинформации и/или видеоформата.
Как показано на фиг. 4, после того, как макроблокам были присвоены ИГМ, устройство пакетирования макроблоков 406 размещает макроблоки в пакеты дискретных данных согласно их ИГМ. Таким образом, макроблоки с тем же самым ИГМ (т.е. ИГМ = 1) будут помещены в общий пакет дискретных данных (т.е. пакет данных 1). На фиг. 5 представлен примерный вариант изобретения, в котором устройство пакетирования 406 размещает макроблоки в шесть пакетов данных в кадре формата QCIF. Однако устройство пакетирования 406 может использовать больше одного пакета данных с данным ИГМ, чтобы транспортировать макроблоки с этим конкретным ИГМ. Например, устройство пакетирования 406 может создавать первый пакет данных 1, содержащий часть макроблоков с ИГМ = 1, и второй пакет данных 1, содержащий остаток макроблоков с ИГМ = 1. Разбиение пакетов этим способом, как правило, зависит от максимального размера переносимого модуля (МРМ), связанного с сетью 206 (фиг. 2).
Далее пакеты данных и заголовок изображения передаются в буфер связи 408 для передачи через сеть 206 (фиг. 2) с помощью интерфейса 312 (фиг. 3). Чтобы повысить устойчивость против потери пакета, заголовок изображения может передаваться более одного раза на кадр. Заголовок изображения может включать карту интра-макроблоков.
Кроме того, устройство обработки изображения 310 также обрабатывает пакеты - видеоинформации, полученные от удаленной станции и обеспечивает видеосигналы для дисплея. Сначала пакеты видеоинформации поступают на интерфейс 312 (фиг. 3) и затем передаются на буфер связи 408. Затем пакеты видеоинформации передаются на устройство пакетирования макроблоков 406, которое распаковывает макроблоки. После этого устройство переупорядочивания макроблоков 404 встраивает макроблоки в их первоначальный упорядоченный шаблон (т.е. шаблон до переупорядочения макроблока на удаленной станции для видеоконференций 204, который, как правило, выполняется растровым сканированием (фиг. 2)).
После этого устройство кодирования 402 работает, как декодер и определяют, был ли пакет видеоинформации потерян при передаче через сеть 206. На фиг. 6 представлена схема переупорядочивания шаблона макроблока кадра QCIF, показанного на фиг. 5, когда потерян пакет данных, содержащий кодированные данные макроблока для макроблоков с ИГМ = 5. Потерянные макроблоки отмечены символом "x". Следует отметить, что в одном варианте изобретения потерянные макроблоки преимущественно пространственно распределены поперек кадра QCIF, обеспечивая, таким образом, точный и достаточно простой способ маскирования ошибок, используя такие операции, как пространственная интерполяция или оценка вектора движения и компенсацию. Хотя для удобства обсуждения на фиг. 6 показан только один утерянный пакет данных, объем настоящего изобретения включает маскирование ошибок при любом числе пакетов данных, которые разрушены или потеряны при передаче. Кроме того, следует отметить, что хотя здесь описаны одни и те же компоненты, которые осуществляют функции приема и передачи, эти компоненты могут быть выполнены как отдельные приемники и передатчики.
Как показано на фиг. 4, для каждого потерянного макроблока устройство кодирования 402 определяет, является ли потерянный макроблок интра-кодированным или интер-кодированным.
Например, устройство кодирования 402 может проверить карту интра-макроблоков, чтобы определить, является ли потерянный макроблок интра-кодированным. Как упомянуто выше, карта интра-макроблоков может быть введена в поля заголовка изображения или как дополнительная информация, переданная вне видеопотока и может быть сжата, используя алгоритм кодирования с переменной длиной строки, с конфиг.цией растрового изображения, который опознает интра-кодированные макроблоки, или используя другие эффективные способы кодирования.
Если потерянные макроблоки являются интра-кодированными, то можно использовать несколько способов маскирования ошибок. Если, например, потерянный макроблок интра-кодирован, как часть механизма "общего восстановления", устройство кодирования 402 заменяет потерянный макроблок содержанием "соответствующего" макроблока предыдущего кадра, где два "соответствующих" макроблока покрывают ту же самую пространственную область их кадров. Согласно настоящему изобретению скорость очистки механизма "общего восстановления" является функцией скорости передачи данных и частоты появления ошибок.
Альтернативно, если потерянный интра-кодированный макроблок не кодирован как часть механизма "общего восстановления", то устройство кодирования 402 пространственно интерполирует содержание потерянного макроблока из соседних макроблоков. В одном варианте изобретения каждый блок 8х8 потерянного макроблока пространственно интерполируется из двух самых близких соседних макроблоков. На фиг. 7 показана примерная схема интерполяции, используя данные, связанные с пикселями, расположенными в соседних макроблоках. Фиг. 7 включает потерянный макроблок 705, левый смежный макроблок 710, верхний смежный макроблок 715 и правый смежный макроблок 720. Например, для восстановления (т.е. интерполяции) данных для верхнего левого блока 8×8 725 потерянного макроблока 16×16, устройство кодирования 402 (фиг. 4) интерполирует данные в последнем столбце данных 730 (обозначенных символами ×) из верхнего правого блока 8×8 735 левого смежного макроблока 710, и данных в последней строке данных 740 (обозначенной символами ×) из нижнего левого блока 8×8 745 верхнего смежного макроблока 715.
Точно так же, для восстановления данных для верхнего правого блока 8×8 потерянного макроблока 705 устройство кодирования 402 интерполирует данные в первом столбце данных 755 верхнего левого блока 8×8 верхнего правого смежного макроблока 760 правого смежного макроблока 720 и данные в последней строке данных 765 нижнего правого блока 770 верхнего смежного макроблока 715. Могут быть использованы другие виды интерполяции и другие блоки соседних макроблоков, не выходя за рамки настоящего изобретения.
Если потерянный макроблок интер-кодирован, то устройство кодирования 402 вычисляет и оценивает вектор движения потерянного макроблока, проверяя векторы движения соседних макроблоков. На фиг. 8 представлена блок-схема соседних макроблоков, используемых для оценки вектора движения потерянного макроблока m, согласно одному варианту настоящего изобретения. Для потерянного макроблока m вычисляется медиана векторов движения трех соседних макроблоков a, b и с.
Например,
компонента x оцененного вектора движения макроблока m - MVmX = медиана (MVaX, MVbX, MVCx) и компонента у оцененного вектора движения макроблока m - isMVmy = медиана (MVaY, MVby, y), где MVaX, MVbX, MV'X - компоненты х векторов движения макроблоков а, b и с, соответственно, a MVay, MVby MVy - компоненты у векторов движения макроблоков а, b и с, соответственно. Хотя в вариантах на фиг. 8 используются векторы движения соседних макроблоков а, b и с, чтобы вычислить оцененный вектор движения для макроблока m, можно использовать любое число и любую комбинацию соседних макроблоков для оценки вектора движения потерянного макроблока.
После того как оценен вектор движения потерянного макроблока, устройство кодирования 402 (фиг. 4) компенсирует потерянный макроблок, используя оцененный вектор движения, чтобы восстановить содержание данных потерянного макроблока. После того как восстановлено содержание данных всех потерянных макроблоков данного кадра, устройство кодирования 402 преобразует макроблоки в видеосигнал для отображения на дисплее устройства отображения 302 (фиг. 3). Хотя на фиг. 4 показан только один потерянный пакет данных, настоящее изобретение может быть использовано для маскирования ошибок с множеством потерянных пакетов данных.
На фиг. 9 представлена примерная блок-схема 900 стадий способа для маскирования ошибок видеосигнала при передаче пакетов видеоинформации по коммутируемым сетям, согласно одному варианту настоящего изобретения. На стадии 905 устройство сбора видеоинформации 308 (фиг. 3) захватывает видеоизображение и формирует видеосигнал.
Затем, на стадии 910, устройство кодирования 402 (фиг. 4) (также называемое "кодер" при обработке данных для передачи) принимает видеосигнал и преобразует видеосигнал в один или несколько интра-кодированных и интер-кодированных макроблоков. Видеокадр может содержать интер-кодированные макроблоки, интра-кодированные макроблоки или любую комбинацию интра-кодированных и интер-кодированных макроблоков. В одном варианте изобретения механизм "общего восстановления" применяется к шаблону интра-кода макроблоков, использующих интервал общего восстановления, выбранный из набора предопределенных интервалов общего восстановления. Интервал общего восстановления может быть выбран на основе скорости передачи информации и частоты повторения ошибок. Кроме того, устройство кодирования 402 вычисляет не дифференциально кодированный вектор движения для каждого интер-кодированного макроблока.
Затем, на стадии 915, устройство кодирования 402 формирует карту интра-макроблоков, которая определяет местоположения интра-кодированных макроблоков.
В одном варианте настоящего изобретения карта интра-макроблоков кодируется, используя либо способ кодирования с переменной длиной строки, либо растровый способ кодирования, основанный на общем количестве битов, требуемых для кодирования карты интра-макроблоков.
После этого устройство переупорядочивания макроблоков 404 (фиг. 4) на стадии 920 присваивает каждому макроблоку ИГМ. Например, макроблокам может быть присвоен ИГМ в шаблоне, как показано на фиг. 5. В одном варианте макроблокам присваиваются различные ИГМ, чтобы свести к минимуму число соседних макроблоков, которым присвоен один и тот же ИГМ. Альтернативно, могут рассматриваться другие варианты, когда соседним макроблокам присваивается тот же самый ИГМ.
Затем устройство пакетирования макроблоков 406 (фиг. 4) создает пакеты дискретных данных и размещает макроблоки в пакетах дискретных данных согласно их ИГМ на стадии 925. Например, макроблоки с тем же самым ИГМ могут быть помещены в общий пакет дискретных данных.
Альтернативно, устройство пакетирования макроблоков 406 может быть устройством передачи данных, которое переводит макроблоки в определенный формат для передачи через сеть с коммутацией каналов. Наконец, на стадии 930, пакеты данных и заголовок изображения (включая карту интра-макроблоков) передаются в буфер связи 408 (фиг. 4) для передачи на удаленную станцию для видеоконференций 204 (фиг. 2).
На фиг. 10 представлена примерная блок-схема, иллюстрирующая стадии выполнения способа для маскирования ошибок видеосигнала при приеме видеоинформации, согласно настоящему изобретению. На стадии 1005 буфер связи 408 (фиг. 4) принимает пакеты данных, переданные от удаленной станции для видеоконференций 204 (фиг. 2) через сеть 206 (фиг. 2). Затем, на стадии 1010, устройство пакетирования макроблоков 406 (фиг. 4) распаковывает полученные пакеты данных в макроблоки.
После этого, на стадии 1015, устройство переупорядочивания макроблоков 404 (фиг. 4) упорядочивает макроблоки и размещает макроблоки в надлежащую пространственную конфиг.цию в рамках видеокадра.
Затем устройство кодирования 402 (фиг. 4) декодирует макроблоки на стадии 1020. Устройство кодирования 402 (функционирующее как декодер) или некоторый другой механизм, связанный с пакетом видеоинформации, преобразует (т.е. обрабатывает данные в реальном времени), и на стадии 1025 определяет, отсутствуют ли какие-либо макроблоки, содержащие видеокадр. Макроблоки потеряны, если один или большее количество пакетов видеоинформации потеряны или разрушены при передаче пакетов видеоинформации по сети 206. Если на стадии 1025 определено, что никакие макроблоков не потеряны, то на стадии 1030 макроблоки отображаются устройством отображения 302 (фиг. 3).
Однако если на стадии 1025 определяется, что один или несколько макроблоков отсутствует, то данные, связанные с одним или несколькими потерянными макроблоками, на стадии 1035 восстанавливаются в зависимости от типа кодирования макроблоков. Устройство кодирования 402 может использовать карту интра-макроблоков, чтобы определить тип кодирования каждого потерянного макроблока.
Например, если потерянный макроблок интра-кодирован как часть механизма "общего восстановления", то устройство кодирования 402 заменяет содержание потерянного макроблока содержанием данных соответствующего макроблока предыдущего кадра. Альтернативно, если потерянный интра-кодированный макроблок не кодирован как часть механизма "общего восстановления", то содержание потерянного макроблока пространственно интерполируется из ближайших соседних макроблоков. В одном варианте настоящего изобретения в устройстве кодирования 402 используется двухмерная интерполяция, чтобы интерполировать данные из соседних макроблоков (фиг. 7).
Альтернативно, если потерянный макроблок интер-кодирован, то устройство кодирования 402 оценивает вектор движения потерянного макроблока, проверяя векторы движения соседних макроблоков. В одном варианте изобретения вектор движения вычисляется как медиана трех векторов движения соседних макроблоков (фиг. 8). Устройство кодирования 402 затем использует оцененный вектор движения для компенсации содержания данных потерянного макроблока путем пересмотра оценки содержания данных потерянного макроблока.
После восстановления содержания данных потерянных макроблоков эти макроблоки отображаются на дисплее устройством отображения 302 на стадии 1025.
Изобретение описано выше на примерных вариантах. Для специалистов в данной области очевидно, что могут быть выполнены различные модификации изобретения без выхода из духа и объема изобретения. Кроме того, хотя изобретение было описано в контексте его выполнения в конкретной обстановке и для конкретных областей применения, специалисты в данной области понимают, что полезность настоящего изобретения не ограничена этими применениями, и что изобретение может быть использовано в любом оборудовании и в разных областях применения. Соответственно, вышеприведенное описание и чертежи должны рассматриваться скорее в иллюстративном, чем ограничительном смысле.
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ И УСТРОЙСТВО ДЛЯ АЛГОРИТМОВ ПРОТИВОСТОЯНИЯ ОШИБКАМ ПРИ БЕСПРОВОДНОЙ ПЕРЕДАЧЕ ВИДЕО | 2007 |
|
RU2404536C2 |
ТЕХНОЛОГИЯ ДЛЯ ОЦЕНКИ КАЧЕСТВА ВИДЕО | 2010 |
|
RU2540846C2 |
ОЦЕНИВАНИЕ КАЧЕСТВА ВИДЕО С РАССМОТРЕНИЕМ ИСКАЖЕНИЙ ПЕРЕХОДА СЦЕН | 2011 |
|
RU2597493C2 |
СПОСОБ МАСШТАБИРУЕМОГО КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ ВИДЕОСИГНАЛА | 2006 |
|
RU2409005C2 |
КОНТЕКСТНАЯ ОПТИМИЗАЦИЯ ДЛЯ КОДИРОВАНИЯ ПОЛОЖЕНИЯ ПОСЛЕДНЕГО ЗНАЧИМОГО КОЭФФИЦИЕНТА | 2012 |
|
RU2586002C2 |
МАСШТАБИРУЕМОЕ ВИДЕОКОДИРОВАНИЕ С ОБРАТНОЙ СВЯЗЬЮ | 2008 |
|
RU2432703C2 |
МАСШТАБИРУЕМОЕ ВИДЕОКОДИРОВАНИЕ С ДВУХУРОВНЕВЫМ КОДИРОВАНИЕМ И ОДНОУРОВНЕВЫМ ДЕКОДИРОВАНИЕМ | 2006 |
|
RU2372743C2 |
КОМПЕНСАЦИЯ ГЛОБАЛЬНОГО ДВИЖЕНИЯ ДЛЯ ВИДЕОИЗОБРАЖЕНИЙ | 2002 |
|
RU2307478C2 |
ВЫБОР ТОЧНОСТИ ВЕКТОРА ДВИЖЕНИЯ | 2014 |
|
RU2682859C1 |
СПОСОБ МАСКИРОВАНИЯ ОШИБОК В ВИДЕОПОСЛЕДОВАТЕЛЬНОСТЯХ | 2003 |
|
RU2321967C2 |
Изобретение относится, в основном, к видеосвязи и, более конкретно, к маскированию ошибок видеокадра. В одном варианте изобретения система и способ декодирует, упорядочивает и пакетирует видеоинформацию в пакеты видеоданных для передачи по линии связи с коммутируемыми каналами, благодаря чему система скрывает ошибки, вызванные потерей пакетов видеоданных, когда система получает, распаковывает, упорядочивает и декодирует пакеты данных. В другом варианте изобретения система и способ декодируют и пакетируют видеоинформацию таким образом, что смежные макроблоки не размещаются в одних и тех же пакетах данных. Кроме того, система и способ могут обеспечить информацию, сопровождающую пакеты видеоданных для облегчения процесса декодирования. Преимуществом такой схемы является то, что ошибки, возникающие из-за потери видеоданных, пространственно распределяются по всему видеокадру. Таким образом, если области данных, окружающие потерянные макроблоки, успешно декодированы, декодер может предсказать векторы движения и пространственное содержание с высокой степенью точности, что обеспечивает улучшенное качество изображения. 4 н. и 61 з.п. ф-лы, 10 ил.
обработка каждого кадра видеосигнала для формирования макроблоков; кодирование макроблоков; присваивание каждому кодированному макроблоку идентификатора группы микроблоков (ИГМ) из множества ИГМ и размещение каждого из кодированных макроблоков в конкретный пакет данных в соответствии с ИГМ.
устройство распаковки макроблоков, предназначенное для приема множества пакетов данных, при этом каждый пакет содержит множество макроблоков, имеющих идентификатор группы макроблока (ИГМ), указанное устройство также предназначено для извлечения макроблоков из пакетов;
устройство переупорядочения макроблоков, предназначенное для переупорядочения извлеченных макроблоков в предопределенном порядке; и
устройство декодирования, предназначенное для обработки переупорядоченных макроблоков и их преобразования в видеосигнал.
получение множества пакетов данных, в которых каждый пакет данных содержит множество макроблоков, при этом каждый макроблок имеет идентификатор группы макроблоков (ИГМ);
распаковку кодированных макроблоков;
переупорядочение полученных макроблоков в предопределенном порядке, отличном от порядка, в котором они были получены; и
декодирование переупорядоченных макроблоков для формирования видеосигнала.
US 6115076 A, 05.09.2000 | |||
US 5835144 A, 10.11.1998 | |||
УСТРОЙСТВО КОДИРОВАНИЯ ВИДЕОСИГНАЛА, ПРЕДСТАВЛЯЮЩЕГО ИЗОБРАЖЕНИЯ, ПРИЕМНИК ТЕЛЕВИЗИОННОГО СИГНАЛА, ВКЛЮЧАЮЩЕГО ДАННЫЕ ЗАГОЛОВКОВ И ПОЛЕЗНЫЕ ДАННЫЕ В ВИДЕ СЖАТЫХ ВИДЕОДАННЫХ | 1992 |
|
RU2128405C1 |
ДЕКОДЕР ПОДВИЖНОГО ИЗОБРАЖЕНИЯ И СПОСОБ ЗАПИСИ ГРУППЫ ДАННЫХ ВИДЕОСИГНАЛА В СИНХРОННОМ ДИНАМИЧЕСКОМ УСТРОЙСТВЕ | 1996 |
|
RU2160969C2 |
Авторы
Даты
2007-01-10—Публикация
2002-08-23—Подача