RU2335096C1 - Способ и устройство для назначения векторов движения - Google Patents
Способ и устройство для назначения векторов движения Download PDFInfo
- Publication number
- RU2335096C1 RU2335096C1 RU2007106447/09A RU2007106447A RU2335096C1 RU 2335096 C1 RU2335096 C1 RU 2335096C1 RU 2007106447/09 A RU2007106447/09 A RU 2007106447/09A RU 2007106447 A RU2007106447 A RU 2007106447A RU 2335096 C1 RU2335096 C1 RU 2335096C1
- Authority
- RU
- Russia
- Prior art keywords
- motion vector
- zone
- content
- motion vectors
- dividing
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0135—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
- H04N7/014—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes involving the use of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/215—Motion-based segmentation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/553—Motion estimation dealing with occlusions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/587—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
- H04N5/144—Movement detection
- H04N5/145—Movement estimation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Television Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Analysis (AREA)
Abstract
Изобретение относится к обработке видеоизображения и более конкретно к способам и устройствам для назначения векторов движения. Техническим результатом является удаление искажений размытия и блочности, а также уменьшение сложности операций интерполяции для процесса назначения векторов движения для интерполируемых кадров, содержащих перекрывающиеся и пустые зоны. Предложен способ обработки множества векторов движения для видеокадра, интерполируемого с использованием первого опорного кадра и второго опорного кадра, причем каждый опорный кадр содержит карту содержания и включает в себя этапы: деления интерпретируемого во множество зон видеокадра, определения количества проходящих через одну из множества зон векторов движения на основании карт содержания первого опорного кадра и второго опорного кадра, и формирования вектора движения для назначения на одну зону на основании количества проходящих через одну зону векторов движения. 4 н. и 56 з.п. ф-лы, 9 ил.
Description
Настоящая заявка на патент притязает на приоритет предварительной заявки на патент № 60/590,110, поданной ее заявителем и полностью включенной в настоящее описание посредством ссылки.
Ссылка на находящуюся на совместном рассмотрении заявку на патент
Настоящая заявка на патент имеет отношение к следующей одновременно рассматриваемой заявке на патент США: «Method and Apparatus for Motion Compensated Frame Rate Up Conversion for Block-Based Low Bit-Rate Video» № 11/122,678, поданной заявителем и включенной в настоящее описание во всей своей полноте в качестве ссылки.
Область техники, к которой относится изобретение
Описанные в настоящем документе варианты осуществления относятся в целом к обработке видеоизображения и более конкретно к способам и устройством для назначения векторов движения.
Уровень техники
Низкоскоростное сжатие видеоизображения очень важно во многих мультимедийных приложениях, например в беспроводном потоковом видео и видеотелефонии, из-за ограниченных ресурсов полосы пропускания и непостоянства доступности полосы пропускания. Адаптация полосы пропускания к низкоскоростному кодированию видеосигнала может быть достигнута посредством сокращения временной разрешающей способности. Другими словами, для сокращения скорости передачи вместо сжатия и передачи битового потока с частотой смены кадров, равной тридцати (30) кадрам в секунду (fps), временная разрешающая способность может быть разделена на два битовых потока с частотой смены кадров, равной 15 кадрам в секунду. Один типичный подход для сокращения полосы пропускания заключается в исключении и удалении избыточной информации из закодированного сигнала, например в удалении части или целого кадра. Однако последствия сокращения временной разрешающей способности приводит к введению искажений изображения во временной области, например к рывкам в движении, которые значительно ухудшают визуальное качество декодированного видеоизображения.
Для отображения полной частоты смены кадров на принимающей стороне, для восстановления (повторного формирования) пропущенных кадров и сокращения временных искажений изображения требуется алгоритм восстановления, названный преобразованием частоты смены кадров (FRUC). В целом преобразование частоты смены кадров (FRUC) представляет собой процесс интерполяции видеоизображения на видео декодере для увеличения воспринятой (видимой) частоты смены кадров восстановленного видеоизображения. Было предложено множество алгоритмов преобразования частоты смены кадров (FRUC), вследствие чего они могут быть классифицированы на две общие категории. Первая категория интерполирует недостающий кадр посредством использования комбинации принятых видеокадров без учета движения объекта. В этот класс входят способы повтора и усреднения кадра. Недостатки этих способов включают в себя образование рывков в движении, «паразитных» изображений и размытия перемещения объектов при сложном движении. Вторая категория является более продвинутой по сравнению с первой категорией и использует информацию о движении, передающуюся посредством кодера в процессе, названном интерполяцией (кадра) с компенсацией движения (MCI).
При обычном прогнозирующем кодировании с компенсацией движения каждый видеокадр сначала делится на квадратные блоки, состоящие из элементов изображения: например, на блоки размером 8 элементов изображения на 8 элементов изображения. В свою очередь каждый блок кодируется, а сформированная закодированная последовательность передается по каналу связи на декодер. В течение процесса кодирования совершается определение того, действительно ли элементы изображения блока значительно изменились по сравнению с соседним блоком, находящимся в предыдущем кадре. В противном случае выполняется передача индикации, которая указывает декодеру на то, что он должен выполнить простой повтор элементов изображения того блока из предыдущего кадра для получения элементов изображения для текущего блока. Если элементы изображения изменены, начиная с предыдущего кадра, то предпринимается попытка определения наилучшей оценки движения, которое происходит в блоке. Зачастую это выполняется посредством методики оценки движения соответствующего блока, где элементы изображения текущего блока являются последовательными по сравнению с различными небольшими сдвигами соответствующего блока, находящегося в предыдущем кадре. Считается, что сдвиг, который обеспечивает лучшее соответствие, является «наилучшей оценкой» сдвига в изображении блока, находящегося между кадрами, а величина и направление этого сдвига, называемые «вектором движения», выбираются для передачи на декодер. Кроме того, после нахождения наилучшего соответствия элементы изображения, находящиеся в текущем блоке, сравниваются с элементами изображения, находящимися в «лучшем» сдвинутом блоке, находящимся в предыдущем кадре, для выявления того, существует ли значительное различие. В противном случае вместо передачи вектора движения выполняют передачу индикации на декодер для того, чтобы элементы изображения сдвинутого блока, находящегося в предыдущем кадре, были повторены для элементов изображения текущего сдвинутого блока. Считается, что такие блоки были успешно компенсированы движением. Однако если между этими двумя блоками существует значительное различие, то различие кодируется и передается на декодер для того, чтобы элементы изображения, находящиеся в текущем блоке, могли быть восстановлены с большей точностью.
Здесь были описаны некоторые предложения для увеличения качества повторных кадров для того, чтобы сделать их более близкими к оригиналу. Таким образом, вместо выполнения простого повтора элементов изображения из предыдущего кадра, как было описано выше, при обычном прогнозирующем кодировании с компенсацией движения при интерполяции (кадра) с компенсацией движения (MCI) для бокового сдвига блока посредством соответствующей величины перед отображением используются векторы движения. Другими словами, этот способ формирует недостающий блок элементов изображения с помощью усреднения по непосредственно предыдущему и последующему блокам элементов изображения, которые доступны декодеру. Однако экспериментальные результаты показывают, что если изображения последовательных блоков не представляют трансляционное движение, то воспроизведенное изображение может быть худшим по сравнению с повторением кадра. Хотя наблюдается, что это ухудшение вызвано относительно малым количеством элементов изображения, которые не соответствуют предположению о трансляционном движении, а размещение этих элементов изображения в неверной позиции создает очень заметные искажения изображения.
Как показано в иллюстрированном на Фиг.1 предшествующем уровне техники, при интерполяции (кадра) с компенсацией движения недостающий кадр 108 интерполируется на основании восстановленного текущего кадра 102, сохраненного предыдущего кадра 104 и набора переданных векторов 106 движения. Восстановленный текущий кадр 102 составляется из набора неперекрывающихся блоков 150, 152, 154 и 156, связанных с набором переданных векторов 106 движения, указывающих на соответствующие блоки, находящиеся в сохраненном предыдущем кадре 104. Интерполированный кадр 108 может быть сформирован в любой линейной комбинации соответствующих элементов изображения, находящихся в текущем и предыдущих кадрах, или в нелинейной операции, например в срединной операции.
Несмотря на то что интерполяция (кадра) с компенсацией движения (MCI) является более продвинутой, интерполяция (кадра) с компенсацией движения на основе блоков внедряет перекрывающиеся зоны, которые являются зонами, содержащими множество проходящих через них траекторий движения, и пустые зоны, которые являются зонами, не содержащими никаких проходящих через них траекторий движения, к тому же присутствие обоих типов зон в интерполированных кадрах нежелательно. Как иллюстрировано на Фиг.2, интерполированный кадр 202 содержит перекрывающуюся зону 206 и пустую зону 204. Основные причины для формирования этих двух типов нежелательных зон:
1) Перемещение объектов происходит не по жестко заданной модели трансляционного движения.
2) Переданные векторы движения, используемые в интерполяции (кадра) с компенсацией движения (MCI), возможно, не указывают на истинные траектории движения из-за алгоритмов поиска быстрого движения на основе блоков, используемых на кодирующей стороне.
3) Покрытый и непокрытый фон в текущем кадре и предыдущих кадрах.
Интерполяция перекрывающихся и пустых зон является основной технической проблемой в традиционных подходах к компенсированию движения на основе блоков. Для заполнения этих перекрывающихся и пустых зон были предложены способы усредненного размытия и пространственной интерполяции. Однако недостатками этих способов являются внесение искажений размытия и блочности, а также увеличение сложности операций интерполяции.
Для преобразования частоты смены кадров (FRUC) с компенсацией движения важно надлежащее назначение векторов движения, поскольку оно необходимо для кадров, интерполированных с преобразованием частоты смены кадров с компенсацией движения (FRUC). Кроме того, надлежащее назначение векторов движения полезно при любом применении, где требуется надлежащая компенсация движения, основанная на назначении векторов движения. Соответственно существует потребность в преодолении вышеупомянутой проблемы.
Раскрытие изобретения
Описанные в настоящем документе варианты осуществления обеспечивают процесс назначения векторов движения для интерполируемых кадров, содержащих перекрывающиеся и пустые зоны.
В одном варианте осуществления раскрыт способ обработки множества векторов движения для видеокадра, интерполируемого с использованием первого опорного кадра и второго опорного кадра, причем каждый опорный кадр содержит карту содержания. Способ включает в себя этапы деления видеокадра, интерпретируемого во множество зон, определения количества проходящих через одну зону векторов движения на основании карт содержания первого опорного кадра и второго опорного кадра и назначения векторов движения на одну зону на основании количества проходящих через одну зону векторов движения.
В другом варианте осуществления раскрыт машиночитаемый носитель, содержащий сохраненные на нем команды, служащие для выполнения компьютером способа обработки множества векторов движения для видеокадра, интерполируемого с использованием первого опорного кадра и второго опорного кадра, причем каждый опорный кадр содержит карту содержания. Способ включает в себя этапы деления интерпретируемого во множество зон видеокадра, определения количества проходящих через одну зону векторов движения на основании карт содержания первого опорного кадра и второго опорного кадра и назначения векторов движения на одну зону на основании количества проходящих через одну зону векторов движения.
Еще в одном варианте осуществления раскрыто устройство для обработки множества векторов движения для кадра, интерполируемого с использованием первого опорного кадра и второго опорного кадра, причем каждый опорный кадр содержит карту содержания. Устройство включает в себя средство для деления видеокадра, интерпретируемого во множество зон, средство для определения количества проходящих через одну зону векторов движения на основании карт содержания первого опорного кадра и второго опорного кадра и средство для назначения векторов движения на одну зону на основании количества проходящих через одну зону векторов движения.
Еще в одном варианте осуществления раскрыт, по меньшей мере, один процессор, выполненный с возможностью осуществления способа обработки множества векторов движения для видеокадра, интерполируемого с использованием первого опорного кадра и второго опорного кадра, причем каждый опорный кадр содержит карту содержания. Способ включает в себя этапы деления видеокадра, интерпретируемого во множество зон, определения количества проходящих через одну зону векторов движения, на основании карт содержания первого опорного кадра и второго опорного кадра, и назначения векторов движения на одну зону на основании количества проходящих через одну зону векторов движения.
Другие цели, особенности и преимущества станут очевидными специалистам в данной области техники из нижеследующего подробного описания. Однако должно пониматься, что подробное описание, конкретные примеры и указывающие иллюстративные варианты осуществления даны в иллюстративных целях, а не в качестве ограничения. В нижеследующем описании может быть сделано множество изменений и модификаций, не отступая от его сущности, и следует понимать, что описание включает в себя все подобные изменения.
Краткое описание чертежей
Описанные в настоящем документе варианты осуществления будут более понятны с учетом сопроводительных чертежей, на которых изображено следующее:
Фиг.1 - чертеж, иллюстрирующий структуру кадра, интерполированного с использованием интерполяции (кадра) с компенсацией движения (MCI);
Фиг.2 - чертеж, иллюстрирующий перекрывающиеся и пустые зоны, которые могут столкнуться в интерполированном кадре в течение интерполяции (кадра) с компенсацией движения (MCI);
Фиг.3 - блок-схема системы для преобразования частоты смены кадров (FRUC), служащей для выполнения назначения векторов движения;
Фиг.4 - блок-схема подсистемы исключения векторов движения системы векторов движения;
Фиг.5 - схема последовательности операций, иллюстрирующая краткий обзор способа для назначения векторов движения для перекрывающихся и пустых зон;
Фиг.6 - схема последовательности операций, иллюстрирующая работу системы для преобразования частоты смены кадров (FRUC) для назначения векторов движения для перекрывающихся и пустых зон;
Фиг.7 - чертеж, иллюстрирующий различные классы содержания, назначенные на графические элементы, находящиеся в видеокадре;
Фиг.8 - схема последовательности операций, иллюстрирующая работу системы для преобразования частоты смены кадров (FRUC), служащей для назначения векторов движения для перекрывающихся и пустых зон;
Фиг.9 - блок-схема терминала доступа и точки доступа системы беспроводной связи.
На некоторых чертежах аналогичные ссылочные номера указывают на аналогичные элементы.
Осуществление изобретения
Описанные в настоящем документе варианты осуществления обеспечивают способы назначения векторов движения и устройство, которое поддерживает переменные изменения на основе размеров блоков, на основе элементов изображения и на основе блоков при назначении векторов движения. Описанные в настоящем документе устройства и способы назначения векторов движения принимают участие при формировании интерполированных кадров, также называемых «F кадров», с повышенным качеством, например в процессе, таком как процесс преобразования с повышением частоты смены кадров (FRUC). Дополнительная содержащаяся в декодированных видеоданных информация используется в качестве входных данных для процесса назначения векторов движения. Дополнительная информация может включать в себя, например, описание типа графических элементов, которые составляют каждый кадр, называемое «карты содержания», а также описание сложности и движения элементов, называемое «карты сложности» и «карты активности» соответственно. Описанное в настоящем документе назначение векторов движения рассматривает проблемы, с которыми сталкиваются в течение формирования интерполированных кадров в виде перекрывающихся и пустых зон, которые нежелательны в интерполированных кадрах.
Фиг.3 иллюстрирует систему 300 для преобразования частоты смены кадров (FRUC), которая может выполнять назначение векторов движения для F-кадров, также называемых «интерполируемые кадры», система 300 для преобразования частоты смены кадров (FRUC) принимает входящий битовый поток 302 и использует модуль 306 дешифратора двоичных кодов для исключения: (1) набора векторов 308 движения, которые находятся в буфере 316 сохраненных векторов движения, и (2) остатка 310. Остаток 310 вводится в модуль 312 обратного квантования/обратного преобразования, результат его вычисления объединяется с предыдущим кадром, сохраненным в буфере 318 сохраненных предыдущих кадров, для формирования текущего кадра. Текущий кадр сохраняется в буфере 320 текущих кадров. Подчасть 350 системы 300 для преобразования частоты смены кадров (FRUC), включающая в себя буфер 316 сохраненных векторов движения, буфер 318 сохраненных кадров и буфер 320 текущих кадров содержит определенные функциональные модули для выполнения назначения векторов движения в соответствии с одним иллюстративным вариантом осуществления, как описано в настоящем документе. В частности, подчасть 350 включает в себя процессор 322 для обработки векторов движения, модуль 324 оценки выбранного двунаправленного движения, второй процессор 326 для обработки векторов движения, модуль 328 определения режима работы, модуль 330 преобразователя, повышающего частоту смены кадров (FRUC), и постпроцессор 332. Далее со ссылками на чертежи описан процесс работы системы 300 для преобразования частоты смены кадров (FRUC). Кроме того, одна иллюстративная система экстраполяции векторов движения и классификации содержания, которая может быть использована с описанной в настоящем документе системой, описана в находящейся на рассмотрении заявке №_________, названной «Method and Apparatus for Frame Rate Up Conversion» [Fang Shi, Viji Raveendran], поданной 15 июня 2004 года. Более того, один иллюстративный процесс сглаживания векторов движения, который может быть использован с описанной в настоящем документе системой, описан в находящейся на рассмотрении заявке № ________, названной «Method and Apparatus for Motion Vector Processing» [Fang Shi, Viji Raveendran]. Находящаяся на рассмотрении заявка №_________, названная «Method and Apparatus for Motion Compensated Frame Rate Up Conversion» [040432], также обеспечивает другие иллюстративные варианты осуществления других компонентов системы 300 для преобразования частоты смены кадров (FRUC), в частности, не описанные в настоящем документе.
Следует отметить, что изображенные на Фиг.3 функциональные модули в одном варианте осуществления соответствуют определенным модулям, которые могут быть реализованы с использованием одного или нескольких программно реализованных алгоритмов. Процесс работы алгоритмов описан на высоком уровне и достаточно детализирован для предоставления специалистам в данной области техники возможности их реализации с использованием комбинации подходов к аппаратным средствам и программному обеспечению. Например, описанные в настоящем документе компоненты могут быть реализованы в качестве программного обеспечения, выполняемого на универсальном процессоре, а также в качестве «аппаратно-реализованной» схемы в специализированной интегральной схеме (ASIC) или любой их комбинации. Следует отметить, что различные другие подходы к реализации модулей, описанные в настоящем документе, могут быть использованы, а также должны находиться в пределах области специалистов в данном уровне техники, практикующих в обширной области изображения и видеообработки.
Кроме того, описанные в настоящем документе идеи изобретения могут быть использованы в кодирующих/декодирующих системах, которые соответствуют стандартам H.26x, как провозглашено Сектором по стандартизации телекоммуникаций, состоящим в составе Международного Телекоммуникационного Союза (ITU-T), или стандартам MPEGx, как провозглашено Экспертной группой по вопросам движущегося изображения, рабочей группой Международной организации по стандартизации / Первым объединенным техническим комитетом Международной электротехнической комиссии (ISO/IEC JTC1). Стандарты кодирования видеосигнала ITU-T называются рекомендациями и отличаются от H.26x (например, H.261, H.262, H.263 и H.264). Стандарты ISO/IEC отличаются от MPEG-x (например, MPEG-1, MPEG-2 и MPEG-4). Например, множество опорных кадров и непостоянные размеры блока являются специальными особенностями, требуемыми для стандарта H264. В других вариантах осуществления кодирующие/декодирующие системы, в которых используются описанные в настоящем документе идеи изобретения, могут являться частными.
В одном варианте осуществления система 300 для преобразования частоты смены кадров (FRUC) может быть сконфигурирована на основании различных требований сложности. Например, конфигурация высокой сложности может включать в себя множество опорных кадров, непостоянные размеры блока, экстраполяцию векторов движения предыдущего опорного кадра с моделями ускорения движения и оценку движения при помощи двойного сглаживания поля движения. В отличие от этого конфигурация малой сложности может включать в себя только один опорный кадр, постоянные размеры блока и интерполяцию с компенсацией движения и сглаживанием поля движения. Другие конфигурации также допустимы для различных применений.
Система 300 принимает входные данные от множества модулей хранения данных, находящихся в подсистеме 400 базы данных, используемой для хранения и извлечения информации об используемых в обработке видеокадрах. Как иллюстрировано на Фиг.4, эти модули хранения включают в себя модуль 402 хранения карт содержания множества предыдущих кадров (MUTIPLE F_PREV CONTENT MAP), модуль 404 хранения экстраполированных полей движения множества предыдущих кадров (EXTRAPOLATED MULTIPLE F_PREV MOTION FIELDS), модуль 406 хранения карты содержания одного предыдущего кадра (F_PREV CONTENT MAP) и модуль 408 хранения экстраполированного поля движения одного предыдущего кадра (EXTRAPOLED F_PREV MOTION FIELD). Модуль 414 управления режимом работы на основе множества опорных кадров соединен с соответствующими модулями хранения для выполнения следующего этапа ввода в зависимости от того, работает ли система 300 в режиме, который использует множество опорных кадров. В частности, если система 300 использует множество предыдущих опорных кадров, то входные данные берутся из модуля 402 хранения карт содержания множества предыдущих кадров и модуля 404 хранения экстраполированных полей движения множества предыдущих кадров. При режиме работы с одним предыдущим опорным кадром входные данные берутся из модуля 406 хранения карты содержания одного предыдущего кадра и модуля 408 хранения экстраполированного поля движения одного предыдущего кадра.
Несмотря на то что чертеж иллюстрирует использование только двух разных наборов модулей для хранения карт содержания и полей движения, то есть один набор, в котором используются множество опорных кадров (то есть модуль 402 хранения карт содержания множества предыдущих кадров и модуль 404 хранения экстраполированных полей движения множества предыдущих кадров), и другой, в котором используется один опорный кадр (то есть модуль 406 хранения карты содержания одного предыдущего кадра и модуль 408 хранения экстраполированного поля движения одного предыдущего кадра), следует отметить, что также возможны и другие конфигурации. Например, функциональные возможности двух различных модулей хранения карт содержания могут быть объединены таким образом, чтобы один модуль хранения мог быть использован для хранения карт содержания для множества кадров или одной карты содержания для одного кадра. Кроме того, модули хранения также могут хранить данные для текущего кадра.
Выходные данные из модуля 414 управления режимом работы на основе множества опорных кадров, а также модуля 410 хранения поля движения текущего кадра (F_CURR MOTION FIELD) и модуль 412 хранения карты содержания текущего кадра (F_CURR CONTENT MAP) подаются на модуль 416 экстраполяции векторов движения. Модуль 416 экстраполяции векторов движения исключает векторы движения, а также дополнительную информацию, используемую для обработки векторов движения в системе 300, как описано в настоящем документе. Таким образом, используемые в системе 300 входные векторы движения могут быть взяты из текущего кадра или могут быть взяты и из текущего кадра и из одного или нескольких предварительно декодированных кадров. Кроме того, другие входные данные для системы 300 являются информацией о боковой полосе частот из данных декодированного кадра, который может включать в себя, но не ограничиваться этим, важные зоны, вариации в информации о текстуре и вариации в значениях яркости фона. Эта информация может обеспечить правила для классификации векторов движения и алгоритмы адаптивного сглаживания, как обсуждается ниже.
Фиг.5 иллюстрирует краткий обзор иллюстративного процесса 500 назначения векторов движения, который начинается с картами содержания и векторами движения для опорных кадров, использующихся для интерполяции F-кадра, получаемого на этапе 502. В одном варианте осуществления, в котором процесс выполняется на декодере клиента, карты содержания и векторы движения предварительно передаются с сервера, как было обсуждено выше. В другом варианте осуществления карта содержания или векторы движения могут быть сформированы на стороне клиента.
На этапе 504 каждый блок, находящийся в F-кадре (то есть в интерполируемом кадре), также называемый «блок F-кадра», «макроблок F-кадра» или «F_MB», классифицируется в качестве перекрывающихся зон или пустых зон. Как далее описано в настоящем документе, для определения того, содержит ли каждый блок, находящийся в F-кадре, перекрывающуюся или пустую зону, F-кадр сначала делится на серию неперекрывающихся блоков. Затем выполняется определение того, имеют ли начало или заканчиваются проходящие через каждый неперекрывающийся блок, находящийся в F-кадре, какие-либо векторы движения на опорных кадрах, между которыми расположен F-кадр. Как было обсуждено ранее, перекрывающиеся зоны представляют собой зоны, содержащие множество проходящих через них траекторий движения (то есть множество векторов движения), между тем пустые зоны представляют собой зоны, не содержащие никаких проходящих через них траекторий движения, (то есть никаких векторов движения). Таким образом, если блок, находящийся в F-кадре, будет содержать множество проходящих через него векторов движения, то он будет классифицирован в качестве содержащего перекрывающуюся зону, также называемый в настоящем документе как «блок перекрывающейся зоны» или «перекрывающаяся зона». Кроме того, множество проходящих через определенный блок векторов движения, из-за которых блок является блоком перекрывающейся зоны, называются «набором перекрывающихся векторов движения» для блока. Этот набор перекрывающихся векторов движения будет подвержен модификации, при которой определенные векторы движения могут быть исключены из набора перекрывающихся векторов движения, как будет описано ниже, и измененный набор векторов движения в настоящем документе называется «обработанный набор перекрывающихся векторов движения». В другом варианте осуществления набор перекрывающихся векторов движения содержит только векторы движения, которые удовлетворяют определенным критериям и, таким образом, будет идентичен обработанному набору перекрывающихся векторов движения. Если блок не будет содержать проходящих через него векторов движения, то он будет классифицирован в качестве пустой зоны, также называемой в настоящем документе «блок с пустой зоной» или «пустая зона». В одном варианте осуществления блок, содержащий один проходящий через него вектор движения, не будет классифицирован в качестве содержащего пустую зону. В другом варианте осуществления эти типы блоков будут классифицироваться в качестве перекрывающейся зоны. После классификации блоков процесс продолжается совместно с процессом назначения векторов движения, который зависит от того, как был классифицирован блок.
На этапе 506 выполняется определение того, был ли блок классифицирован в качестве пустой зоны. Если блок был классифицирован в качестве пустой зоны, то процесс переходит на этап 514, на котором выполняется процесс назначения векторов движения для пустой зоны. В противном случае процесс переходит на этап 508, на котором выполняется определение того, является ли проходящий через блок F-кадра вектор движения единственным. Если проходящий через блок F-кадра вектор движения является единственным, то процесс переходит на этап 512, на котором традиционный процесс компенсации движения выполняется на основании единственного вектора движения. Если блок классифицирован в качестве перекрывающейся зоны, то процесс переходит на этап 510, на котором выполняется процесс назначения векторов движения для перекрывающихся зон.
Фиг.6 изображает иллюстративный процесс назначения векторов движения, в котором основной процесс назначения векторов движения, описанный со ссылкой на Фиг.5, применяется к процессу работы системы 300 FRUC для выполнения назначения векторов движения для перекрывающихся и пустых блоков, где на этапе 602 система сначала делит F-кадр, в данном случае интерпретируемый кадр, на неперекрывающиеся макроблоки (MB), а затем назначает классификации перекрывающейся зоны и пустой зоны на эти блоки. В системе с постоянным размером блока кадр должен быть разделен на блоки одного постоянного размера. Как описано в настоящем документе, макроблок (MB) относится к блоку, имеющему размер, равный 16x16. Однако описание настоящего документа может быть применено и к блокам других размеров. Кроме того, в системе, которая поддерживает непостоянные размеры блока, кадр может быть разделен на блоки, которые имеют различные размеры и формы. Для видеокодеков, которые поддерживают непостоянные размеры блока, система 300 также может выполнить назначение векторов движения для векторов движения, связанных с этими блоками. Одним подобным стандартом, как упомянуто выше, является стандарт H.264, который поддерживает размеры блока 16x16, 16x8, 8x16, 8x8, 8x4, 4x8 и 4x4.
После деления F-кадра блоки классифицируются в качестве перекрывающихся или пустых зон вышеупомянутым способом, в котором все векторы движения, которые принадлежат блоку перекрывающейся зоны, группируются в соответствующие наборы, и процесс переходит на этап 604, на котором система 300 FRUC определяет, существуют ли карты содержания для опорных кадров.
Важно, чтобы находящееся в кадре содержание было классифицировано в качестве части описанного в настоящем документе процесса назначения векторов движения. На основании метаданных принятого видеопотока (то есть переданных векторов движения) и декодированных данных (то есть восстановленных значений элементов изображения кадра) находящееся в кадре содержание может быть классифицировано на следующие типы класса:
1. Статичный фон (SB);
2. Движение объекта (МО);
3. Появляющийся объект (АО);
4. Исчезающий объект (DO); и
5. Границы (EDGE).
Таким образом, тип класса зоны кадра, на который указывает текущий вектор движения, то есть макроблок или блок, анализируется и затрагивает обработку интерполируемых кадров. Введение класса EDGE к классификации содержания добавляет дополнительный класс классификации содержания и обеспечивает усовершенствование процесса FRUC, как описано в настоящем документе.
Фиг.7 представляет иллюстрацию различных классов элементов изображения или зон, включающих в себя классы: движущийся объект 708 (МО), появляющийся объект 704 (АО), исчезающий объект 710 (DO), статичный фон 702 (SB) и EDGE 706 для интерполяции (кадра) с компенсацией движения (MCI), на которой направления стрелок 712 обозначают траекторию движения элементов изображения в трех иллюстрированных кадрах: кадре (t-1), кадре (t) (F-кадре) и кадре (t+1). В частности, в контексте интерполяции (кадра) с компенсацией движения (MCI) каждый элемент изображения или зона, находящиеся в каждом видеокадре, могут быть классифицированы на один из вышеупомянутых перечисленных пяти классов, а соотнесенный вектор движения может быть обработан определенным способом на основании сравнения изменения (если оно имеет место быть) информации о типе класса, как описано ниже. Кроме того, вышеупомянутые пять классификаций содержания могут быть сгруппированы в три менее ограниченных класса, в то время как различия между классами SB, АО и DO незначительны:
1. SB 702, АО 704, DO 710;
2. МО 708; и
3. EDGE 706.
В одном варианте осуществления используются два различных подхода для выполнения классификации содержания DO 710, SB 702, АО 704 и МО 708, каждое из которых основывается на различных вычислительных сложностях. Например, при подходе малой сложности для классификации содержания могут быть использованы следующие формулы:
Qc=abs(Fc[yn][xn]-Fp[yn][xn]);
Qp=abs Fp[yn][xn]-Fpp[yn][xn]);
Qc=(Qc>порога); и
Qp=(Qp>порога); где:
yn и xn являются координатами у и x местоположений элемента изображения;
Fc является значением элемента изображения текущего кадра;
Fp является значением элемента изображения предыдущего кадра;
Fpp является значением элемента изображения кадра, предшествующего предыдущему элементу изображения кадра;
Qc является абсолютной разностью значений элементов изображения между соотнесенными элементами изображениями (находящимися в координатах [yn] [xn]), находящимися в текущем и предыдущем кадрах; и,
Qp является абсолютной разностью значений элементов изображения между соотнесенными элементами изображения (находящимися в координатах [yn] [xn]), находящимися в предыдущем и предшествующем предыдущему кадрах; и:
если (Qc&&Qp), тогда выполняется классификация в качестве движущегося объекта;
или же, если (!Qc&&!Qp), тогда выполняется классификация в качестве статичного фона;
или же, если (Qc&&!Qp), тогда выполняется классификация в качестве исчезающего объекта;
или же, если (!Qc&&Qp), тогда выполняется классификация в качестве появляющегося объекта.
Например, в подходе высокой сложности классификация основана на сегментации объекта и морфологических операциях с классификацией содержания, выполняемой посредством прослеживания движения сегментированного объекта. Таким образом:
1. Осуществляется выполнение сегментации объекта в поле движения;
2. Выполняется отслеживание движения сегментированного объекта (например, посредством морфологических операций);
3. Выполняется маркировка объекта в качестве SB, АО, DO и МО соответственно.
На этапе 606, после определения карт содержания, существующих для опорных кадров, система FRUC исключает из каждого макроблока перекрывающейся зоны, находящегося в F-кадре, любые векторы движения из набора перекрывающихся векторов движения, принадлежащих блоку перекрывающейся зоны, который начинается или заканчивается на различных классах содержания.
В частности, при использовании карты содержания каждого опорного кадра для определения типа содержания каждого макроблока, находящегося в том же опорном кадре, где каждый макроблок классифицируется на один из классов МО, SB, АО, DO и EDGE (или на три класса, в то время как различия между классами SB, АО и DO, как было описано выше, являются незначительными), он может быть определен, если какой-либо вектор движения, находящийся в наборе перекрывающихся векторов движения (то есть предварительно определенных в качестве всех проходящих через блок перекрывающейся зоны векторов движения), начинается и заканчивается на макроблоках, содержащих различные классы содержания. Например, вектор движения, содержащий собственную начальную точку, касающуюся макроблока, находящегося в кадре (T+l), классифицированного в качестве макроблока МО, а его конечная точка, касающаяся макроблока, находящегося в кадре (T-l), классифицированного в качестве макроблока SB, будет подобным вектором движения. В одном варианте осуществления любой вектор движения исключается из набора перекрывающихся векторов движения, если начальная и конечная точки того вектора движения принадлежат различным классам содержания. Как было ранее определено, неисключенные векторы движения попадают в обработанный набор векторов движения.
После удаления векторов движения, содержащих начальную и конечную точки, связанные с макроблоками, классифицированными в различных классах, из набора перекрывающихся векторов движения и обработанного набора сформированных векторов движения процесс переходит на этап 608 принятия решений, на котором выполняется определение того, является ли макроблок, которому назначается вектор движения, макроблоком перекрывающейся зоны.
Назначение вектора движения для перекрывающегося макроблока
На этапе 608 выполняется определение того, содержит ли обработанный набор перекрывающихся векторов движения для каждого макроблока более одного перекрывающегося вектора движения. Если обработанный набор перекрывающихся векторов движения для каждого макроблока содержит более одного перекрывающегося вектора движения, то в одном варианте осуществления процесс переходит на этап 616, на котором проходящий через центральный элемент изображения вектор(ы) движения используется в процессе назначения вектора движения для макроблока. В другом варианте осуществления, как отмечено на этапе 618, процесс назначения основывается на определении наиболее перекрытой зоны. Еще в одном варианте осуществления, как отмечено на этапе 620, назначается взвешенный вектор движения, взвешенный вектор движения формируется на основании перекрытия, находящегося в перекрывающейся зоне макроблока. Еще в одном варианте осуществления, как отмечено на этапе 622, вектору движения назначается усредненное значение. Каждый из этих вариантов осуществления описан ниже.
Назначение вектора движения на основании вектора движения центрального элемента изображения:
В одном варианте осуществления назначение вектора движения основывается на определении вектора движения, проходящего через центральный элемент изображения макроблока. Последовательность включает в себя следующие этапы:
1) Начала с текущего макроблока (x/block_size, y/block_size), находящегося в текущем кадре, где (x, y) являются координатами местоположения центрального элемента изображения текущего блока макроблока;
2) Вычисления текущего вектора движения (dx, dy) макроблока (x, y);
3) Пропорционального масштабирования вектора движения, в случае 1:2 FRUC, где F-кадр находится точно между текущим кадром и предыдущим опорным кадром, равно (dx/2, dy/2);
4) Макроблоку, находящемуся в F-кадре, MB_f((x+dx/2)/block_size,(y+dy/2)/block_size) назначается вектор движения (dx/2, dy/2);
5) Если на один и тот же макроблок, находящийся в F-кадре, будет назначено более одного вектора движения, то будет выполнена операция усреднения или нахождения среднего значения для получения итогового начального числа вектора движения.
Назначение вектора движения на основании макроблока, покрывающего наибольшую зону:
В другом варианте осуществления назначение векторов движения основывается на определении вектора движения с соотнесенным макроблоком, который покрывает наибольшую зону макроблока F-кадра. Этапы приведены ниже:
1) Текущий макроблок (x/block_size, y/block_size) находится в текущем кадре, где (x, y) являются координатами местоположения его центрального элемента изображения;
2) Текущий вектор движения (dx,dy) принадлежит макроблоку (x, y);
3) Пропорциональное масштабирование вектора движения в случае 1:2 FRUC равно (dx/2, dy/2);
4) Вектор движения (dx, dy) проходит через F-кадр, перекрестное местоположение в F-кадре равно (x+dx/2, y+dy/2);
5) Поиск вплоть до четырех макроблоков в наложении F-кадра с макроблоком, отцентрированным по (x+dx/2, y+dy/2):
a. F_MB_1 (x1, y1); где x1=((int)(x+dx/2)/block_size) *block_size+block_size/2; y1=((int) (y+dy/2)/block_size) *block_size+block_size/2:
b. F_MB_2 (x2, y2); где x2=x1+block_size: y2=y1;
с. F_MB_3 (x3, y3); где x3=x1+block_size; y3=y1+block_size;
d. F_MB_4 (x4, y4); где x4-x1; y4=у1+block_size;
6. Поиск вплоть до четырех зон, находящихся в пределах четырех макроблоков F-кадра (F_MB), покрытых макроблоком, отцентрированным по (x+dx/2, y+dy/2), и связанных со всеми вычисленными зонами с вектором движения (dx/2, dy/2):
a. Area_MB_1=(block_size-(x+dx/2-xl)) * (block_size-(y+dy/2-y1))
b. Area_MB_2=(block_size-(x+dx/2-x2)) * (block_size-(y+dy/2-y2))
с. Area_MB_3=(block_size-(x+dx/2-x3)) * (block_size-(y+dy/2-y3))
d. Area_MB_4=(block_size-(x+dx/2-x4)) * (block_size-(y+dy/2-y4));
7. Для каждого макроблока F-кадра (F_MB) выбирается вектор движения, который предоставляет наибольшую зону.
Назначение взвешенного усредненного вектора движения:
Еще в одном варианте осуществления назначение векторов движения основано на взвешенном среднем числе макроблоков, которые покрывают макроблок. Этапы приведены ниже:
1) Текущий макроблок (x/block_size. y/block_size) находится в текущем кадре, где (x, y) являются координатами местоположения его центрального элемента изображения;
2) Текущий вектор движения (dx, xy) принадлежит макроблоку (x, y);
3) Пропорциональное масштабирование вектора движения в случае 1:2 FRUC равно (dx/2, dy/2);
4) Вектор движения (dx, dy) проходит через F-кадр, перекрестное местоположение в F-кадре равно (x+dx/2, y+dy/2);
5) Поиск вплоть до четырех макроблоков в наложении b F-кадра с макроблоком, отцентрированным по (x+dx/2, y+dy/2):
a. F_MB_1 (x1, y1); x1=((int) (x+dx/2)/block_size) * block_size+block_size/2; y1=((int) (y+dy/2)/block_size) * block_size+block_size/2;
b. F_MB_2 (x2, y2); x2=x1+block_size; y2=y1;
с. F_MB_3 (x3, у3); х3=x1+block_size; y3=y1+block_size;
d. F_MB_4 (x4, y4); x4=x1; y4=y1+block_size;
6. Поиск вплоть до четырех зон, находящихся в пределах четырех макроблоков F-кадра (F_MB), покрытых макроблоком, отцентрированным по (x+dx/2, y+dy/2), и связанных со всеми вычисленными зонами с вектором движения (dx/2, dy/2):
a. Area_MB_1=(block_size-(x+dx/2-x1))*(block_size-(y+dy/2-yl))
b. Area_MB_2=(block_size-(x+dx/2-x2))*(block_size-(y+dy/2-y2))
с. Area_MB_3=(block_size-(x+dx/2-x3))*(block_size-(y+dy/2-y3))
d. Area_MB_4=(block_size-(x+dx/2-x4))*(block_size-(y+dy/2-y4));
7. Если N векторов движения проходят через макроблок F-кадра (F_MB), то взвешенный вектор движения назначается на макроблок F-кадра (F_MB):
MV=w_1*MV1+w_2*MV_2 +.... +w_N*MV_N,
где w_i является взвешенным коэффициентом.
На этапе 628, где предварительно на этапе 608 было определено, что макроблок F-кадра не содержит никаких перекрывающихся векторов движения, система выполняет определение того, содержит ли макроблок F-кадра единственный проходящий через него вектор движения (то есть является ли единственным вектором движения, находящимся в обработанном наборе векторов движения). Если вектор движения является единственным находящимся в обработанном наборе вектором движения, то процесс переходит на этап 630, на котором выполняется традиционное назначение векторов движения. В противном случае макроблок F-кадра определяется в качестве не содержащего проходящих через него векторов движения и процесс переходит на этап 622, на котором в одном варианте осуществления вектор движения с нулевым значением назначается на макроблок F-кадра. В другом варианте осуществления, как отмечено на этапе 624, макроблоку F-кадра назначается вектор движения, который является средним числом доступных векторов движения, граничащих с макроблоком. Еще в одном варианте осуществления, как отмечено на этапе 626, макроблоку F-кадра назначается вектор движения, который является средним значением доступных векторов движения, граничащих с макроблоком.
Должно быть отмечено, что несмотря на то что изображенный на Фиг.6 процесс назначения векторов движения начинается с исследования того, является ли макроблок F-кадра макроблоком перекрывающейся зоны, процесс должен быть условлен для одинакового применения и в случае, если макроблок F-кадра является макроблоком пустой зоны, и в случае, если присутствует только один вектор движения, проходящий через макроблок F-кадра, и такие изменения потока процесса являются благоприятными для осуществления в пределах возможностей специалистов в данной области техники.
Фиг.8 иллюстрирует процесс назначения векторов движения, основанный на элементах изображения вместо основанного на блоках, для системы 300 FRUC, где подобно изображенному на Фиг.6 этапу 604 на этапе 806 выполняется определение того, существуют ли карты содержания для опорных кадров. Если карты содержания для опорных кадров существуют, то подобно изображенному на Фиг.6 этапу 606 на этапе 808 исключаются любые граничащие векторы движения, начинающиеся и заканчивающиеся в различных классах содержания. Затем процесс переходит на этап 816, на котором выполняется определение того, является ли элемент изображения перекрывающимся. Если элемент изображения является перекрывающимся, то процесс переходит на этап 818, на котором медианный вектор движения на основании среднего значения перекрывающихся векторов движения, которые не были исключены на основании различных классов содержания конечных точек, назначается на элемент изображения. В другом варианте осуществления, как отмечено на этапе 820, усредненный вектор движения на основании среднего значения перекрывающихся векторов движения, которые не были исключены на основании различных классов содержания конечных точек, назначается на элемент изображения.
Если F-кадр элемента изображения не является перекрывающейся областью, то на этапе 828 выполняется определение того, является ли единственным проходящий через элемент изображения вектор движения. Если проходящий через элемент изображения вектор движения является единственным, то процесс переходит на этап 830, на котором элементу изображения назначается проходящий через него вектор движения. В противном случае элемент изображения определяется в качестве пустой зоны и процесс переходит на этап 822, на котором медианный вектор движения на основании среднего значения соседних векторов движения назначается на элемент изображения. В другом варианте осуществления, как отмечено на этапе 820, усредненный вектор движения на основании среднего значения соседних векторов движения назначается на элемент изображения. Должно быть отмечено, что соседние векторы движения, которые могут использоваться при назначении усредненного и медианного векторов движения, могут быть подвергнуты исключению на основании различных классов содержания начальных и конечных точек.
Фиг.9 изображает блок-схему терминала 902х доступа и точки 904х доступа в системе беспроводной связи. «Терминал доступа», как обсуждается в настоящем документе, относится к устройству, предоставляющему возможность установления голосовой и/или информационной связи с пользователем. Терминал доступа может быть соединен с вычислительным устройством, например ноутбуком или настольным (персональным) компьютером, или он может сам содержать подобные устройства, например «карманный» компьютер. Терминал доступа также может называться абонентским модулем, мобильной станцией, мобильным телефоном, удаленной станцией, удаленным терминалом, пользовательским терминалом, пользовательским агентом или пользовательским оборудованием. Терминал доступа может являться абонентским терминалом, устройством беспроводной связи, сотовым телефоном, телефоном персональной мобильной связи, радиотелефоном, телефоном, использующим протокол инициации сеанса (SIP), станцией беспроводного абонентского доступа (WLL), «карманным» компьютером» (PDA), портативным устройством, имеющим возможность беспроводной связи, или другим устройством для обработки, соединенным с радиомодемом. «Точка доступа», как обсуждается в настоящем документе, относится к устройству, находящемуся в сети доступа, которое обменивается данными с терминалами доступа по радиоинтерфейсу через один или несколько секторов. Точка доступа функционирует в качестве маршрутизатора, находящегося между терминалом доступа и остальной частью сети доступа, которая может включать в себя IP-сеть, посредством преобразования принятых по радиоинтерфейсу кадров в IP-пакеты. Точка доступа также координирует управление атрибутами для радиоинтерфейса.
В случае с обратной линией связи процессор 914 передачи данных (TX),находящийся в терминале 902х доступа, принимает трафик от буфера 912 данных, обрабатывает (например, кодирует, чередует и преобразовывает символы) каждый пакет данных на основании выбранной схемы кодирования и модуляции и предоставляет символы данных. Символ данных является символом модуляции для данных, а пилот-символ является символом модуляции для пилота (который известен априори). Модулятор 916 принимает символы данных, пилот-символы и, возможно, выполняет передачу сигналов по обратной линии связи, выполняет модуляцию (например, OFDM) и/или другую обработку, как определено системой, а также предоставляет поток выходных элементов. Передатчик 918 (TMTR) обрабатывает (например, преобразовывает в аналоговый тип, фильтрует, усиливает и повышает частоту) поток выходных элементов и формирует модулированный сигнал, который передается с антенны 920.
В точке 904х доступа модулированные сигналы передаются посредством терминала 902х доступа, а другие терминалы, соединенные с точкой 904х доступа, осуществляют прием посредством антенны 952. Приемник 954 (RCVR) обрабатывает (например, определяет состояния и оцифровывает) принятый с антенны 952 сигнал и предоставляет принятые образцы. Демодулятор 956 (Demod) обрабатывает (например, демодулирует и выполняет поиск), принятые образцы и предоставляет обнаруженные символы данных, которые являются шумовой оценкой символов данных, переданных терминалами на точку 904х доступа. Процессор 958 приема данных (RX) обрабатывает (например, выполняет обратное преобразование символа, обратное чередование и декодирование) обнаруженные символы данных для каждого терминала и предоставляет декодированные данные для того терминала.
В случае с прямой линией связи в точке 904х доступа данные трафика обрабатываются процессором 960 передачи данных (TX) для формирования символов данных. Модулятор 962 принимает символы данных, пилот-символы и передает сигналы по прямой линии связи, выполняет модуляцию (например, OFDM) и/или другую подходящую обработку и предоставляет поток выходных элементов, который далее обрабатывается передатчиком 964 и передается с антенны 952. Передача сигналов по прямой линии связи может включать в себя команды управления мощностью, сформированные контроллером 970 для всех терминалов, выполняющих передачу по обратной линии связи на точку 904х доступа. В терминале 902х доступа модулированный сигнал, переданный точкой 904х доступа, принимается антенной 920, обрабатывается и оцифровывается приемником 922, а также обрабатывается демодулятором 924 для получения обнаруженных символов данных. Процессор 926 приема данных (RX) обрабатывает обнаруженные символы данных и предоставляет декодированные данные для терминала и выполняет передачу сигналов по прямой линии связи. Контроллер 930 принимает команды управления мощностью и управляет передачей данных и передачей мощности по обратной линии связи на точку 904х доступа. Контроллеры 930 и 970 управляют процессом работы терминала 902х доступа и точки 904х доступа соответственно. Модули 932 и 972 памяти сохраняют управляющие программы и данные, используемые контроллерами 930 и 970 соответственно.
Раскрытые варианты осуществления могут быть применены к любой технологии или их комбинациям: системам множественного доступа с кодовым разделением каналов (CDMA), многочастотного множественного доступа с кодовым разделением каналов (MC-CDMA), широкополосного множественного доступа с кодовым разделением каналов (W-CDMA), высокоскоростной пакетный доступ по входящей линии связи (HSDPA), множественного доступа с временным разделением (TDMA), множественного доступа с частотным разделением (FDMA) и множественного доступа с ортогональным частотным разделением (OFDMA).
Раскрытые в настоящем документе этапы способа или алгоритма, описанного со ссылкой на варианты осуществления, могут быть реализованы непосредственно в аппаратных средствах, в выполняемом процессором программном модуле или в их комбинации. Программный модуль может постоянно находиться в памяти оперативного запоминающего устройства (RAM), флэш-памяти, памяти постоянного запоминающего устройства (ROM), памяти стираемого программируемого постоянного запоминающего устройства (EPROM), памяти электрически стираемого программируемого постоянного запоминающего устройства (EEPROM), регистрах, на жестком диске, съемном диске, на компакт-диске (CD-ROM) или любой другой формой носителей данных, известной в уровне техники. Иллюстративный носитель данных соединен с процессором таким образом, чтобы процессор мог считывать и записывать информацию на носитель данных. Альтернативно носитель данных может являться неотъемлемой частью процессора. Процессор и носитель данных могут постоянно находиться в специализированных интегральных схемах (ASIC). Специализированные интегральные схемы (ASIC) могут постоянно находиться в пользовательском терминале. Альтернативно процессор и носитель данных могут постоянно находиться в пользовательском терминале в качестве дискретных (отдельных) компонентов.
Должно быть отмечено, что описанные в настоящем документе способы могут быть реализованы в разнообразном коммуникационном оборудовании, процессорах и системах, известных специалистам в данном уровне техники. Например, общим требованием к клиенту для работы, как описано в настоящем документе, является то, чтобы клиент имел устройство отображения для отображения содержания и информации, процессор для управления процессом работы клиента и запоминающее устройство для хранения данных и программ, связанных с работой клиента. В одном варианте осуществления клиентом является сотовый телефон. В другом варианте осуществления клиентом является портативный компьютер, имеющий возможности связи. Еще в одном варианте осуществления клиентом является персональный компьютер, имеющий возможности связи. Кроме того, аппаратные средства, например приемник GPS, по мере необходимости могут быть включены в состав клиента для реализации описанных в настоящем документе различных вариантов осуществления. Различные раскрытые в настоящем документе иллюстративные логики, логические блоки, модули и схемы, описанные со ссылкой на варианты осуществления, могут быть осуществлены или выполнены с универсальным процессором, процессором для цифровой обработки сигналов (DSP), специализированной интегральной схемой (ASIC), программируемой вентильной матрицей (FPGA) или другим программируемым логическим устройством, логическими элементами на дискретных компонентах или логикой транзистора, дискретными компонентами аппаратных средств или любой их комбинацией, разработанной для выполнения описанных в настоящем документе функций. Универсальный процессор может являться микропроцессором, но альтернативно процессор может являться любым обычным процессором, контроллером, микроконтроллером или конечным автоматом. А также процессор может быть реализован в качестве комбинации вычислительных устройств, например комбинации процессора для цифровой обработки сигналов (DSP) и микропроцессора, множества микропроцессоров, одного или нескольких микропроцессоров совместно с ядром процессора для цифровой обработки сигналов (DSP) или любой другой подобной конфигурации.
Различные раскрытые в настоящем документе иллюстративные логики, логические блоки, модули и схемы, описанные со ссылкой на варианты осуществления, могут быть реализованы или выполнены с универсальным процессором, процессором для цифровой обработки сигналов (DSP), специализированной интегральной схемой (ASIC), программируемой вентильной матрицей (FPGA) или другим программируемым логическим устройством, логическими элементами на дискретных компонентах или логикой транзистора, дискретными компонентами аппаратных средств или любой их комбинацией, разработанной для выполнения описанных в настоящем документе функций. Универсальный процессор может являться микропроцессором, но альтернативно процессор может являться любым обычным процессором, контроллером, микроконтроллером или конечным автоматом. А также процессор может быть реализован в качестве комбинации вычислительных устройств, например комбинации процессора для цифровой обработки сигналов (DSP) и микропроцессора, множества микропроцессоров, одного или нескольких микропроцессоров совместно с ядром процессора для цифровой обработки сигналов (DSP) или любой подобной конфигурации.
Вышеописанные варианты осуществления являются иллюстративными вариантами осуществления. Теперь специалисты в данной области техники могут делать множество изменений, отступая от вышеописанных вариантов осуществления, но не отступая от раскрытых в настоящем документе идей изобретения. Различные модификации этих вариантов осуществления могут являться очевидными специалистам в данной области техники, и определенные в настоящем документе общие принципы могут быть применены к другим вариантам осуществления, например службе мгновенного обмена сообщениями или любым общим применениям беспроводной связи, не отступая от сущности или объема новых описанных в настоящем документе аспектов. Таким образом, объем новых аспектов вариантов осуществления не предназначен для ограничения показанными в настоящем документе вариантами осуществления и соответствует самому широкому объему, совместимому с принципами и новыми раскрытыми в настоящем документе особенностями. Слово «иллюстративный» используется в настоящем документе исключительно для обозначения «служить примером, исключением или иллюстрацией». Любой описанный в настоящем документе «иллюстративный» вариант осуществления не обязательно должен рассматриваться в качестве предпочтительного или выгодного по отношению к другим вариантам осуществления. Соответственно объем новых аспектов вариантов осуществления определяется исключительно объемом нижеследующей формулы изобретения.
Claims (60)
1. Способ обработки множества векторов движения для видеокадра, интерполируемого с использованием первого опорного кадра и второго опорного кадра, причем каждый опорный кадр содержит карту содержания, содержащий этапы, на которых: делят видеокадр, интерполируемый во множество зон; определяют количество векторов движения, проходящих через одну из множества зон, на основании карт содержания первого опорного кадра и второго опорного кадра; и формируют вектор движения для назначения на одну зону на основании количества векторов движения, проходящих через одну зону.
2. Способ по п.1, в котором этап деления интерпретируемого во множество зон видеокадра содержит этап деления видеокадра, интерпретируемого во множество неперекрывающихся зон.
3. Способ по п.1, в котором этап деления интерпретируемого во множество зон видеокадра содержит этап деления видеокадра, интерпретируемого во множество перекрывающихся зон.
4. Способ по п.1, а котором этап формирования вектора движения для одной зоны на основании количества проходящих через одну зону векторов движения содержит этап выбора одного из множества проходящих через одну зону векторов движения.
5. Способ по п.1, в котором этап деления интерпретируемого во множество зон видеокадра содержит этап деления видеокадра, интерпретируемого во множество зон постоянного размера.
6. Способ по п.1, в котором этап деления интерпретируемого во множество зон видеокадра содержит этап деления видеокадра, интерпретируемого во множество зон различных размеров.
7. Способ по п.1, в котором этап деления интерпретируемого во множество зон видеокадра содержит этап деления видеокадра, интерпретируемого во множество элементов изображения.
8. Способ по п.1, в котором этап определения количества проходящих через одну из множества зон векторов движения на основании карт содержания первого опорного кадра и второго опорного кадра, содержащий этапы, на которых: для каждого проходящего через одну зону вектора движения: определяют класс содержания начальной точки вектора движения и класс содержания конечной точки вектора движения; сравнивают класс содержания начальной точки вектора движения и класс содержания конечной точки вектора движения; и удаляют вектор движения из рассматриваемого количества проходящих через одну зону векторов движения, если класс содержания начальной точки вектора движения и класс содержания конечной точки вектора движения являются различными.
9. Способ по п.1, в котором этап формирования вектора движения для назначения на одну зону на основании количества проходящих через одну зону векторов движения содержит этапы вычисления среднего значения любых доступных соседних векторов движения и медианы любых доступных векторов движения; и назначения одной зоне вектора движения, выбранного из группы, состоящей из: (i) нулевого вектора движения, (ii) среднего значения любых доступных соседних векторов движения и (iii) медианы любых доступных соседних векторов движения; если количество проходящих через одну зону векторов движения равно нулю.
10. Способ по п.1, в котором этап формирования вектора движения для назначения на одну зону на основании количества проходящих через одну зону векторов движения содержит этап назначения одной зоне вектора движения, выбранного из группы, состоящей из: (i) вектора движения центрального элемента изображения, (ii) вектора движения наиболее перекрытой зоны, (iii) взвешенного вектора движения и (iv) усредненного вектора движения; если количество проходящих через одну зону векторов движения является большим единицы.
11. Способ по п.1, в котором карта содержания содержит множество классов содержания.
12. Способ по п.11, в котором множество классов содержания содержит класс содержания фона.
13. Способ по п.12, в котором класс фона содержит класс появляющегося объекта, класс исчезающего объекта и класс статичного фона.
14. Способ по п.11, в котором множество классов содержания содержит класс содержания движущегося объекта.
15. Способ по п.11, в котором множество классов содержания содержит класс содержания границ.
16. Машиночитаемый носитель содержит сохраненные на нем команды для выполнения компьютером способа для обработки множества векторов движения для интерполируемого видеокадра с использованием первого опорного кадра и второго опорного кадра, причем каждый опорный кадр содержит карту содержания, способ, содержащий этапы, на которых: делят видеокадр, интерпретируемый во множество зон; определяют количество проходящих через одну из множества зон векторов движения на основании карт содержания первого опорного кадра и второго опорного кадра; и формируют вектор движения для назначения на одну зону на основании количества проходящих через одну зону векторов движения.
17. Машиночитаемый носитель по п.16, в котором этап деления интерпретируемого во множество зон видеокадра содержит этап деления видеокадра, интерпретируемого во множество неперекрывающихся зон.
18. Машиночитаемый носитель по п.16, в котором этап деления интерпретируемого во множество зон видеокадра содержит этап деления видеокадра, интерпретируемого во множество перекрывающихся зон.
19. Машиночитаемый носитель по п.16, в котором этап формирования вектора движения для одной зоны на основании количества проходящих через одну зону векторов движения содержит этап выбора одного из множества проходящих через одну зону векторов движения.
20. Машиночитаемый носитель по п.16, в котором этап деления интерпретируемого во множество зон видеокадра содержит этап деления видеокадра, интерпретируемого во множество зон постоянного размера.
21. Машиночитаемый носитель по п.16, в котором этап деления интерпретируемого во множество зон видеокадра содержит этап деления видеокадра, интерпретируемого во множество зон различных размеров.
22. Машиночитаемый носитель по п.16, в котором этап деления интерпретируемого во множество зон видеокадра содержит этап деления видеокадра, интерпретируемого во множество элементов изображения.
23. Машиночитаемый носитель по п.16, в котором этап определения количества проходящих через одну из множества зон векторов движения на основании карт содержания первого опорного кадра и второго опорного кадра включает в себя этапы, на которых: для каждого проходящего через одну зону вектора движения; определения класса содержания начальной точки вектора движения и класса содержания конечной точки вектора движения; сравнения класса содержания начальной точки вектора движения и класса содержания конечной точки вектора движения; и удаления вектора движения из рассматриваемого количества проходящих через одну зону векторов движения, если класс содержания начальной точки вектора движения и класс содержания конечной точки вектора движения являются различными.
24. Машиночитаемый носитель по п.16, в котором этап формирования вектора движения для назначения на одну зону на основании количества проходящих через одну зону векторов движения содержит этап назначения одной зоне вектора движения, выбранного из группы, состоящей из: (i) нулевого вектора движения, (ii) среднего числа любых доступных соседних векторов движения и (iii) медианы любых доступных соседних векторов движения; если количество проходящих через одну зону векторов движения равно нулю.
25. Машиночитаемый носитель по п.16, в котором этап формирования вектора движения для назначения на одну зону на основании количества проходящих через одну зону векторов движения содержит этап назначения одной зоне вектора движения, выбранного из группы, состоящей из: (i) вектора движения центрального элемента изображения, (ii) вектор движения наиболее перекрытой зоны, (iii) взвешенного вектора движения и (iv) усредненного вектора движения; если количество проходящих через одну зону векторов движения является большим единицы.
26. Машиночитаемый носитель по п.16, в котором карта содержания содержит множество классов содержания.
27. Машиночитаемый носитель по п.26, в котором множество классов содержания содержит класс содержания фона.
28. Машиночитаемый носитель по п.27, в котором класс фона содержит класс появляющегося объекта, класс исчезающего объекта и класс статичного фона.
29. Машиночитаемый носитель по п.26, в котором множество классов содержания содержит класс содержания движущегося объекта.
30. Машиночитаемый носитель по п.26, в котором множество классов содержания содержит класс содержания границ.
31. Устройство для обработки множества векторов движения для видеокадра, интерполируемого с использованием первого опорного кадра и второго опорного кадра, причем каждый опорный кадр содержит карту содержания, содержащее: средство для деления видеокадра, интерпретируемого во множество зон; средство для определения количества векторов движения, проходящих через одну из множества зон, на основании карт содержания первого опорного кадра и второго опорного кадра; и средство для формирования вектора движения для назначения на одну зону на основании количества проходящих через одну зону векторов движения.
32. Устройство по п.31, в котором средство для деления интерпретируемого во множество зон видеокадра содержит средство для деления видеокадра, интерпретируемого во множество неперекрывающихся зон.
33. Устройство по п.31, в котором средство для деления интерпретируемого во множество зон видеокадра содержит средство для деления видеокадра, интерпретируемого во множество перекрывающихся зон.
34. Устройство по п.31, в котором средство для формирования вектора движения для одной зоны на основании количества проходящих через одну зону векторов движения содержит средство для выбора одного из множества проходящих через одну зону векторов движения.
35. Устройство по п.31, в.котором средство для деления интерпретируемого во множество зон видеокадра содержит средство для деления видеокадра, интерпретируемого во множество зон постоянного размера.
36. Устройство по п.31, в котором средство для деления интерпретируемого во множество зон видеокадра содержит средство для деления видеокадра, интерпретируемого во множество зон различных размеров.
37. Устройство по п.31, в котором средство для деления интерпретируемого во множество зон видеокадра содержит средство для деления видеокадра, интерпретируемого во множество элементов изображения.
38. Устройство по п.31, в котором средство для определения количества проходящих через одну из множества зон векторов движения на основании карт содержания первого опорного кадра и второго опорного кадра, содержащее: средство для определения класса содержания начальной точки вектора движения и класса содержания конечной точки вектора движения; средство для сравнения класса содержания начальной точки вектора движения с классом содержания конечной точки вектора движения; и средство для удаления вектора движения из рассматриваемого множества проходящих через одну зону векторов движения, если класс содержания начальной точки вектора движения и класс содержания конечной точки вектора движения являются различными.
39. Устройство по п.31, в котором средство для формирования вектора движения для назначения на одну зону на основании количества проходящих через одну зону векторов движения содержит средство для назначения одной зоне вектора движения, выбранного из группы, состоящей из: (i) нулевого вектора движения, (ii) среднего числа любых доступных соседних векторов движения и (iii) медианы любых доступных соседних векторов движения; если количество проходящих через одну зону векторов движения равно нулю.
40. Устройство по п.31, в котором средство для формирования вектора движения для назначения на одну зону на основании количества проходящих через одну зону векторов движения содержит средство для назначения одной зоне вектора движения, выбранного из группы, состоящей из: (i) вектора движения центрального элемента изображения, (ii) вектор движения наиболее перекрытой зоны, (iii) взвешенного вектора движения и (iv) усредненного вектора движения; если количество проходящих через одну зону векторов движения, является большим единицы.
41. Устройство по п.31, в котором карта содержания содержит множество классов содержания.
42. Устройство по п.41, в котором множество классов содержания содержит класс содержания фона.
43. Устройство по п.42, в котором класс фона содержит класс появляющегося объекта, класс исчезающего объекта и класс статичного фона.
44. Устройство по п.41, в котором множество классов содержания содержит класс содержания движущегося объекта.
45. Устройство по п.41, в котором множество классов содержания содержит класс содержания границ.
46. Процессор, выполненный с возможностью осуществления способа обработки множества векторов движения для видеокадра, интерполируемого с использованием первого опорного кадра и второго опорного кадра, причем каждый опорный кадр содержит карту содержания, способ, содержащий этапы, на которых: делят видеокадр, интерпретируемый во множество зон; определяют количество проходящих через одну из множества зон векторов движения на основании карт содержания первого опорного кадра и второго опорного кадра; и формируют вектор движения для назначения на одну зону на основании количества проходящих через одну зону векторов движения.
47. Процессор по п.46, в котором этап деления интерпретируемого во множество зон видеокадра содержит этап деления видеокадра, интерпретируемого во множество неперекрывающихся зон.
48. Процессор по п.46, в котором этап деления интерпретируемого во множество зон видеокадра содержит этап деления видеокадра, интерпретируемого во множество перекрывающихся зон.
49. Процессор по п,46, в котором этап формирования вектора движения для одной зоны на основании количества проходящих через одну зону векторов движения содержит этап выбора одного из множества проходящих через одну зону векторов движения.
50. Процессор по п.46, в котором этап деления интерпретируемого во множество зон видеокадра содержит этап деления видеокадра, интерпретируемого во множество зон постоянного размера.
51. Процессор по п.46, в котором этап деления интерпретируемого во множество зон видеокадра содержит этап деления видеокадра, интерпретируемого во множество зон различных размеров.
52. Процессор по п.46, в котором этап деления интерпретируемого во множество зон видеокадра содержит этап деления видеокадра, интерпретируемого во множество элементов изображения.
53. Процессор по п.46, в котором этап определения количества проходящих через одну из множества зон векторов движения на основании карт содержания первого опорного кадра и второго опорного кадра содержит этапы, на которых для каждого проходящего через одну зону вектора движения: определяют класс содержания начальной точки вектора движения и класс содержания конечной точки вектора движения; сравнивают класс содержания начальной точки вектора движения с классом содержания конечной точки вектора движения; и удаляют вектор движения из рассматриваемого множества проходящих через одну зону векторов движения, если класс содержания начальной точки вектора движения и класс содержания конечной точки вектора движения являются различными.
54. Процессор по п.46, в котором этап формирования вектора движения для назначения на одну зону на основании количества проходящих через одну зону векторов движения содержит этап назначения одной зоне вектора движения, выбранного из группы, состоящей из: (i) нулевого вектора движения, (ii) среднего числа любых доступных соседних векторов движения и (iii) медианы любых доступных соседних векторов движения; если количество проходящих через одну зону векторов движения равно нулю.
55. Процессор по п.46, в котором этап формирования вектора движения для назначения на одну зону на основании количества проходящих через одну зону векторов движения содержит этап назначения одной зоне вектора движения, выбранного из группы, состоящей из: (i) вектора движения центрального элемента изображения, (ii) вектора движения наиболее перекрытой зоны, (iii) взвешенного вектора движения и (iv) усредненного вектора движения; если количество проходящих через одну зону векторов движения является большим единицы.
56. Процессор по п.46, в котором карта содержания содержит множество классов содержания.
57. Процессор по п.56, в котором множество классов содержания содержит класс содержания фона.
58. Процессор по п.57, в котором класс фона содержит класс появляющегося объекта, класс исчезающего объекта и класс статичного фона.
59. Процессор да п.56, в котором множество классов содержания содержит класс содержания движущегося объекта.
60. Процессор по п.56, в котором множество классов содержания содержит класс содержания границ.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US59011004P | 2004-07-21 | 2004-07-21 | |
US60/590,110 | 2004-07-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2335096C1 true RU2335096C1 (ru) | 2008-09-27 |
Family
ID=35058342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2007106447/09A RU2335096C1 (ru) | 2004-07-21 | 2005-07-21 | Способ и устройство для назначения векторов движения |
Country Status (17)
Country | Link |
---|---|
US (1) | US8553776B2 (ru) |
EP (1) | EP1774795A1 (ru) |
JP (1) | JP4448173B2 (ru) |
KR (1) | KR100919075B1 (ru) |
CN (1) | CN101023678B (ru) |
AU (1) | AU2005267126C1 (ru) |
BR (1) | BRPI0513698A (ru) |
CA (1) | CA2574648A1 (ru) |
IL (1) | IL180827A (ru) |
MX (1) | MX2007000867A (ru) |
NO (1) | NO20070991L (ru) |
NZ (1) | NZ552781A (ru) |
RU (1) | RU2335096C1 (ru) |
TW (1) | TW200627973A (ru) |
UA (1) | UA88017C2 (ru) |
WO (1) | WO2006012428A1 (ru) |
ZA (1) | ZA200700724B (ru) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2487489C2 (ru) * | 2011-10-18 | 2013-07-10 | Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский университет "МИЭТ" | Способ поиска векторов перемещений в динамических изображениях |
RU2520425C2 (ru) * | 2009-07-03 | 2014-06-27 | Франс Телеком | Предсказание вектора движения текущего раздела изображения, указывающего на опорную зону, которая перекрывает несколько разделов опорного изображения, кодирование и декодирование с использованием такого предсказания |
US11363292B2 (en) | 2018-06-28 | 2022-06-14 | Huawei Technologies Co., Ltd. | Memory access window and padding for motion vector refinement and motion compensation |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6765964B1 (en) | 2000-12-06 | 2004-07-20 | Realnetworks, Inc. | System and method for intracoding video data |
US8369405B2 (en) * | 2004-05-04 | 2013-02-05 | Qualcomm Incorporated | Method and apparatus for motion compensated frame rate up conversion for block-based low bit rate video |
MX2007000254A (es) | 2004-07-01 | 2007-04-09 | Qualcomm Inc | Metodo y aparato para utilizar tecnicas de conversion ascendente de indice de cuadro en codificacion de video que se puede escalar. |
TW200625964A (en) * | 2004-07-20 | 2006-07-16 | Qualcomm Inc | Method and apparatus for encoder assisted-frame rate up conversion (EA-FRUC) for video compression |
US7995656B2 (en) * | 2005-03-10 | 2011-08-09 | Qualcomm Incorporated | Scalable video coding with two layer encoding and single layer decoding |
KR20070020994A (ko) * | 2005-08-17 | 2007-02-22 | 삼성전자주식회사 | 영상신호 변환장치 및 그 방법 |
US20070230564A1 (en) * | 2006-03-29 | 2007-10-04 | Qualcomm Incorporated | Video processing with scalability |
US8634463B2 (en) * | 2006-04-04 | 2014-01-21 | Qualcomm Incorporated | Apparatus and method of enhanced frame interpolation in video compression |
US8750387B2 (en) * | 2006-04-04 | 2014-06-10 | Qualcomm Incorporated | Adaptive encoder-assisted frame rate up conversion |
GB0618323D0 (en) * | 2006-09-18 | 2006-10-25 | Snell & Wilcox Ltd | Method and apparatus for interpolating an image |
US20080095238A1 (en) * | 2006-10-18 | 2008-04-24 | Apple Inc. | Scalable video coding with filtering of lower layers |
WO2008091206A1 (en) * | 2007-01-26 | 2008-07-31 | Telefonaktiebolaget Lm Ericsson (Publ) | Motion estimation for uncovered frame regions |
US8300697B2 (en) * | 2007-05-10 | 2012-10-30 | Allgo Embedded Systems Private Limited. | Dynamic motion vector analysis method |
US8433159B1 (en) * | 2007-05-16 | 2013-04-30 | Varian Medical Systems International Ag | Compressed target movement model using interpolation |
US8605786B2 (en) * | 2007-09-04 | 2013-12-10 | The Regents Of The University Of California | Hierarchical motion vector processing method, software and devices |
US8848793B2 (en) * | 2007-10-31 | 2014-09-30 | Broadcom Corporation | Method and system for video compression with integrated picture rate up-conversion |
US8861598B2 (en) * | 2008-03-19 | 2014-10-14 | Cisco Technology, Inc. | Video compression using search techniques of long-term reference memory |
JP5029543B2 (ja) * | 2008-09-09 | 2012-09-19 | 富士通株式会社 | 符号化装置および符号化プログラム |
US20100128181A1 (en) * | 2008-11-25 | 2010-05-27 | Advanced Micro Devices, Inc. | Seam Based Scaling of Video Content |
CN101753795B (zh) * | 2008-12-16 | 2012-05-16 | 晨星软件研发(深圳)有限公司 | 用以决定插补画面的移动向量的影像处理方法及其相关装置 |
CN101778292B (zh) * | 2009-01-08 | 2013-07-17 | 晨星软件研发(深圳)有限公司 | 影像处理方法及其装置 |
US9654792B2 (en) | 2009-07-03 | 2017-05-16 | Intel Corporation | Methods and systems for motion vector derivation at a video decoder |
US8462852B2 (en) | 2009-10-20 | 2013-06-11 | Intel Corporation | Methods and apparatus for adaptively choosing a search range for motion estimation |
US8917769B2 (en) * | 2009-07-03 | 2014-12-23 | Intel Corporation | Methods and systems to estimate motion based on reconstructed reference frames at a video decoder |
TR200906020A2 (tr) * | 2009-08-04 | 2011-02-21 | Vestel Elektroni̇k Sanayi̇ Ve Ti̇caret Anoni̇m Şi̇rketi̇@ | Hareket alanlarının, kare interpolasyon çerçevelerine,belleğe etkin erişimli şekilde ayarlanması için metot ve aparat |
WO2011121227A1 (fr) * | 2010-03-31 | 2011-10-06 | France Telecom | Procedes et dispositifs de codage et de decodage d'une sequence d'images mettant en œuvre une prediction par compensation de mouvement avant, flux et programme d'ordinateur correspondants |
CN102907094A (zh) * | 2010-05-20 | 2013-01-30 | 星河通信株式会社 | 适用利用选择性参考影像的运动补偿方法的视频压缩编码装置及解码装置和用于运动补偿的选择性参考影像决定方法 |
CN102907099A (zh) * | 2010-05-20 | 2013-01-30 | 星河通信株式会社 | 适用利用选择性运动检索区域的运动补偿方法的视频压缩编码装置及解码装置和用于运动补偿的选择性运动检索区域的决定方法 |
US9509995B2 (en) | 2010-12-21 | 2016-11-29 | Intel Corporation | System and method for enhanced DMVD processing |
GB2488816A (en) | 2011-03-09 | 2012-09-12 | Canon Kk | Mapping motion vectors from a plurality of reference frames to a single reference frame |
US8681866B1 (en) | 2011-04-28 | 2014-03-25 | Google Inc. | Method and apparatus for encoding video by downsampling frame resolution |
US9106787B1 (en) | 2011-05-09 | 2015-08-11 | Google Inc. | Apparatus and method for media transmission bandwidth control using bandwidth estimation |
JP5807402B2 (ja) * | 2011-06-15 | 2015-11-10 | 富士通株式会社 | 動画像復号装置、動画像符号化装置、動画像復号方法、動画像符号化方法、動画像復号プログラム及び動画像符号化プログラム |
US8856624B1 (en) | 2011-10-27 | 2014-10-07 | Google Inc. | Method and apparatus for dynamically generating error correction |
US9185429B1 (en) | 2012-04-30 | 2015-11-10 | Google Inc. | Video encoding and decoding using un-equal error protection |
TW201346839A (zh) * | 2012-05-04 | 2013-11-16 | Chang Jung Christian University | 基於動態補償之去移動模糊之方法 |
US9277168B2 (en) * | 2012-06-29 | 2016-03-01 | Advanced Micro Devices, Inc. | Subframe level latency de-interlacing method and apparatus |
US10602175B2 (en) * | 2012-12-21 | 2020-03-24 | Nvidia Corporation | Using an average motion vector for a motion search |
US9172740B1 (en) | 2013-01-15 | 2015-10-27 | Google Inc. | Adjustable buffer remote access |
US9311692B1 (en) | 2013-01-25 | 2016-04-12 | Google Inc. | Scalable buffer remote access |
US9225979B1 (en) | 2013-01-30 | 2015-12-29 | Google Inc. | Remote access encoding |
GB2539198B (en) | 2015-06-08 | 2019-09-25 | Imagination Tech Ltd | Motion estimation using collocated blocks |
KR102126511B1 (ko) * | 2015-09-02 | 2020-07-08 | 삼성전자주식회사 | 보충 정보를 이용한 영상 프레임의 보간 방법 및 장치 |
CN108476318A (zh) * | 2016-01-14 | 2018-08-31 | 三菱电机株式会社 | 编码性能评价辅助装置、编码性能评价辅助方法以及编码性能评价辅助程序 |
CN110446107B (zh) * | 2019-08-15 | 2020-06-23 | 电子科技大学 | 一种适用于缩放运动和明暗变化的视频帧率上变换方法 |
CN113099241B (zh) * | 2021-03-31 | 2022-11-01 | 北京百度网讯科技有限公司 | 参考帧列表更新方法、装置、设备以及存储介质 |
Family Cites Families (76)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3670096A (en) | 1970-06-15 | 1972-06-13 | Bell Telephone Labor Inc | Redundancy reduction video encoding with cropping of picture edges |
DE3072180D1 (de) | 1979-05-08 | 1990-09-20 | British Broadcasting Corp | Fernseh-wiedergabesystem. |
JPH0317883A (ja) | 1989-06-15 | 1991-01-25 | Sony Corp | 時間情報発生装置 |
JP3159365B2 (ja) | 1989-09-27 | 2001-04-23 | ソニー株式会社 | 映像信号伝送方法及び映像信号伝送装置 |
GB2247587B (en) | 1990-08-31 | 1994-07-20 | Sony Broadcast & Communication | Movie film and video production |
US5122875A (en) | 1991-02-27 | 1992-06-16 | General Electric Company | An HDTV compression system |
FR2675002B1 (fr) | 1991-04-05 | 1993-06-18 | Thomson Csf | Procede de classification des pixels d'une image appartenant a une sequence d'images animees et procede d'interpolation temporelle d'images utilisant ladite classification. |
US5784107A (en) | 1991-06-17 | 1998-07-21 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for picture coding and method and apparatus for picture decoding |
KR0151410B1 (ko) | 1992-07-03 | 1998-10-15 | 강진구 | 영상신호의 운동벡터 검출방법 |
EP0701760B1 (en) | 1993-06-01 | 1997-09-17 | THOMSON multimedia | Method and apparatus for motion compensated interpolation |
JP2900983B2 (ja) | 1994-12-20 | 1999-06-02 | 日本ビクター株式会社 | 動画像帯域制限方法 |
JP3604752B2 (ja) | 1995-01-09 | 2004-12-22 | 沖電気工業株式会社 | 動きベクトル検出装置および方法 |
JP3577354B2 (ja) | 1995-02-08 | 2004-10-13 | 富士写真フイルム株式会社 | 補間画像データ生成装置および方法 |
FR2742900B1 (fr) | 1995-12-22 | 1998-02-13 | Thomson Multimedia Sa | Procede d'interpolation de trames progressives |
JPH09182083A (ja) | 1995-12-27 | 1997-07-11 | Matsushita Electric Ind Co Ltd | ビデオ画像符号化方法及び復号化方法とその装置 |
US5852565A (en) | 1996-01-30 | 1998-12-22 | Demografx | Temporal and resolution layering in advanced television |
US6957350B1 (en) | 1996-01-30 | 2005-10-18 | Dolby Laboratories Licensing Corporation | Encrypted and watermarked temporal and resolution layering in advanced television |
JPH09307857A (ja) * | 1996-05-17 | 1997-11-28 | Sony Corp | 画像信号処理装置及び画像信号処理方法 |
JP2000512091A (ja) | 1996-05-24 | 2000-09-12 | フィリップス エレクトロニクス ネムローゼ フェンノートシャップ | 動作ベクトル処理 |
JP4159606B2 (ja) | 1996-05-24 | 2008-10-01 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 動き推定 |
JP3363036B2 (ja) | 1996-08-23 | 2003-01-07 | ケイディーディーアイ株式会社 | 動画像符号化ビットストリーム変換装置 |
CN102129862B (zh) | 1996-11-07 | 2013-05-29 | 松下电器产业株式会社 | 降噪装置及包括降噪装置的声音编码装置 |
US6043846A (en) | 1996-11-15 | 2000-03-28 | Matsushita Electric Industrial Co., Ltd. | Prediction apparatus and method for improving coding efficiency in scalable video coding |
US6480541B1 (en) | 1996-11-27 | 2002-11-12 | Realnetworks, Inc. | Method and apparatus for providing scalable pre-compressed digital video with reduced quantization based artifacts |
US6008865A (en) | 1997-02-14 | 1999-12-28 | Eastman Kodak Company | Segmentation-based method for motion-compensated frame interpolation |
FR2764156B1 (fr) | 1997-05-27 | 1999-11-05 | Thomson Broadcast Systems | Dispositif de pretraitement pour codage mpeg ii |
EP0883298A3 (en) | 1997-06-04 | 2000-03-29 | Hitachi, Ltd. | Conversion apparatus for image signals and TV receiver |
JP4092778B2 (ja) | 1997-06-04 | 2008-05-28 | 株式会社日立製作所 | 画像信号の方式変換装置及びテレビジョン受像機 |
JP4083266B2 (ja) | 1997-10-07 | 2008-04-30 | 株式会社日立製作所 | 動きベクトルの生成方法および装置 |
RU2201654C2 (ru) | 1997-12-23 | 2003-03-27 | Томсон Лайсенсинг С.А. | Способ низкошумового кодирования и декодирования |
US6560371B1 (en) | 1997-12-31 | 2003-05-06 | Sarnoff Corporation | Apparatus and method for employing M-ary pyramids with N-scale tiling |
US6404901B1 (en) * | 1998-01-29 | 2002-06-11 | Canon Kabushiki Kaisha | Image information processing apparatus and its method |
US6192079B1 (en) | 1998-05-07 | 2001-02-20 | Intel Corporation | Method and apparatus for increasing video frame rate |
JP4004653B2 (ja) | 1998-08-03 | 2007-11-07 | カスタム・テクノロジー株式会社 | 動きベクトル検出方法および装置、記録媒体 |
US6229570B1 (en) | 1998-09-25 | 2001-05-08 | Lucent Technologies Inc. | Motion compensation image interpolation—frame rate conversion for HDTV |
JP2000134585A (ja) | 1998-10-23 | 2000-05-12 | Hitachi Ltd | 動きベクトル決定方法、画像信号のフレーム数変換方法および回路 |
US6597738B1 (en) | 1999-02-01 | 2003-07-22 | Hyundai Curitel, Inc. | Motion descriptor generating apparatus by using accumulated motion histogram and a method therefor |
US6618439B1 (en) | 1999-07-06 | 2003-09-09 | Industrial Technology Research Institute | Fast motion-compensated video frame interpolator |
US6625333B1 (en) * | 1999-08-06 | 2003-09-23 | Her Majesty The Queen In Right Of Canada As Represented By The Minister Of Industry Through Communications Research Centre | Method for temporal interpolation of an image sequence using object-based image analysis |
US7003038B2 (en) | 1999-09-27 | 2006-02-21 | Mitsubishi Electric Research Labs., Inc. | Activity descriptor for video sequences |
US6704357B1 (en) | 1999-09-28 | 2004-03-09 | 3Com Corporation | Method and apparatus for reconstruction of low frame rate video conferencing data |
WO2001033864A1 (en) | 1999-10-29 | 2001-05-10 | Koninklijke Philips Electronics N.V. | Video encoding-method |
US6639943B1 (en) | 1999-11-23 | 2003-10-28 | Koninklijke Philips Electronics N.V. | Hybrid temporal-SNR fine granular scalability video coding |
CN100504925C (zh) | 2000-05-18 | 2009-06-24 | Nxp股份有限公司 | 用于检测图像间的运动的方法和装置以及图像显示装置 |
AU2000257047A1 (en) | 2000-06-28 | 2002-01-08 | Mitsubishi Denki Kabushiki Kaisha | Image encoder and image encoding method |
RU2182727C2 (ru) | 2000-07-20 | 2002-05-20 | Дворкович Александр Викторович | Способ поиска векторов движения деталей в динамических изображениях |
US7042941B1 (en) | 2001-07-17 | 2006-05-09 | Vixs, Inc. | Method and apparatus for controlling amount of quantization processing in an encoder |
CN100358356C (zh) | 2002-02-28 | 2007-12-26 | 皇家飞利浦电子股份有限公司 | 用于场速率上变换的方法和装置 |
KR100850705B1 (ko) | 2002-03-09 | 2008-08-06 | 삼성전자주식회사 | 시공간적 복잡도를 고려한 적응적 동영상 부호화 방법 및그 장치 |
US6975359B2 (en) | 2002-04-25 | 2005-12-13 | Trident Microsystems, Inc. | Method and system for motion and edge-adaptive signal frame rate up-conversion |
US20030215011A1 (en) | 2002-05-17 | 2003-11-20 | General Instrument Corporation | Method and apparatus for transcoding compressed video bitstreams |
KR100850706B1 (ko) | 2002-05-22 | 2008-08-06 | 삼성전자주식회사 | 적응적 동영상 부호화 및 복호화 방법과 그 장치 |
JP4318019B2 (ja) | 2002-05-28 | 2009-08-19 | ソニー株式会社 | 画像処理装置および方法、記録媒体、並びにプログラム |
AU2003237279A1 (en) | 2002-05-29 | 2003-12-19 | Pixonics, Inc. | Classifying image areas of a video signal |
US20040001546A1 (en) | 2002-06-03 | 2004-01-01 | Alexandros Tourapis | Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation |
DE10232372B3 (de) | 2002-07-17 | 2004-01-22 | Micronas Gmbh | Verfahren zur Interpolation eines Bildpunktes einer Zwischenzeile eines Halbbildes |
AU2003256009A1 (en) | 2002-09-11 | 2004-04-30 | Koninklijke Philips Electronics N.V. | Video coding method and device |
JP3910510B2 (ja) | 2002-09-17 | 2007-04-25 | 株式会社東芝 | フレーム補間システム及びフレーム補間方法 |
US7116716B2 (en) | 2002-11-01 | 2006-10-03 | Microsoft Corporation | Systems and methods for generating a motion attention model |
KR100517504B1 (ko) | 2003-07-01 | 2005-09-28 | 삼성전자주식회사 | B-픽처의 움직임 보상 모드 결정방법 및 장치 |
FR2857205B1 (fr) | 2003-07-04 | 2005-09-23 | Nextream France | Dispositif et procede de codage de donnees video |
US7366462B2 (en) | 2003-10-24 | 2008-04-29 | Qualcomm Incorporated | Method and apparatus for seamlessly switching reception between multimedia streams in a wireless communication system |
JP4198608B2 (ja) * | 2004-01-15 | 2008-12-17 | 株式会社東芝 | 補間画像生成方法および装置 |
US8369405B2 (en) | 2004-05-04 | 2013-02-05 | Qualcomm Incorporated | Method and apparatus for motion compensated frame rate up conversion for block-based low bit rate video |
MX2007000254A (es) | 2004-07-01 | 2007-04-09 | Qualcomm Inc | Metodo y aparato para utilizar tecnicas de conversion ascendente de indice de cuadro en codificacion de video que se puede escalar. |
US8374238B2 (en) | 2004-07-13 | 2013-02-12 | Microsoft Corporation | Spatial scalability in 3D sub-band decoding of SDMCTF-encoded video |
TW200625964A (en) | 2004-07-20 | 2006-07-16 | Qualcomm Inc | Method and apparatus for encoder assisted-frame rate up conversion (EA-FRUC) for video compression |
US20060133495A1 (en) | 2004-12-22 | 2006-06-22 | Yan Ye | Temporal error concealment for video communications |
KR100703744B1 (ko) | 2005-01-19 | 2007-04-05 | 삼성전자주식회사 | 디블록을 제어하는 fgs 기반의 비디오 인코딩 및디코딩 방법 및 장치 |
US8644386B2 (en) | 2005-09-22 | 2014-02-04 | Samsung Electronics Co., Ltd. | Method of estimating disparity vector, and method and apparatus for encoding and decoding multi-view moving picture using the disparity vector estimation method |
US8879856B2 (en) | 2005-09-27 | 2014-11-04 | Qualcomm Incorporated | Content driven transcoder that orchestrates multimedia transcoding using content information |
US20070230564A1 (en) | 2006-03-29 | 2007-10-04 | Qualcomm Incorporated | Video processing with scalability |
US8634463B2 (en) | 2006-04-04 | 2014-01-21 | Qualcomm Incorporated | Apparatus and method of enhanced frame interpolation in video compression |
US8750387B2 (en) | 2006-04-04 | 2014-06-10 | Qualcomm Incorporated | Adaptive encoder-assisted frame rate up conversion |
JP4764273B2 (ja) * | 2006-06-30 | 2011-08-31 | キヤノン株式会社 | 画像処理装置、画像処理方法、プログラム、記憶媒体 |
US8045783B2 (en) * | 2006-11-09 | 2011-10-25 | Drvision Technologies Llc | Method for moving cell detection from temporal image sequence model estimation |
-
2005
- 2005-07-20 US US11/186,679 patent/US8553776B2/en not_active Expired - Fee Related
- 2005-07-21 EP EP05775743A patent/EP1774795A1/en not_active Withdrawn
- 2005-07-21 MX MX2007000867A patent/MX2007000867A/es active IP Right Grant
- 2005-07-21 JP JP2007522758A patent/JP4448173B2/ja not_active Expired - Fee Related
- 2005-07-21 AU AU2005267126A patent/AU2005267126C1/en not_active Ceased
- 2005-07-21 RU RU2007106447/09A patent/RU2335096C1/ru not_active IP Right Cessation
- 2005-07-21 KR KR1020077004061A patent/KR100919075B1/ko not_active IP Right Cessation
- 2005-07-21 WO PCT/US2005/025897 patent/WO2006012428A1/en active Application Filing
- 2005-07-21 CN CN2005800317720A patent/CN101023678B/zh not_active Expired - Fee Related
- 2005-07-21 NZ NZ552781A patent/NZ552781A/en not_active IP Right Cessation
- 2005-07-21 CA CA002574648A patent/CA2574648A1/en not_active Abandoned
- 2005-07-21 BR BRPI0513698-9A patent/BRPI0513698A/pt not_active IP Right Cessation
- 2005-07-21 UA UAA200701775A patent/UA88017C2/ru unknown
- 2005-07-21 TW TW094124726A patent/TW200627973A/zh unknown
-
2007
- 2007-01-21 IL IL180827A patent/IL180827A/en not_active IP Right Cessation
- 2007-01-25 ZA ZA200700724A patent/ZA200700724B/en unknown
- 2007-02-21 NO NO20070991A patent/NO20070991L/no not_active Application Discontinuation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2520425C2 (ru) * | 2009-07-03 | 2014-06-27 | Франс Телеком | Предсказание вектора движения текущего раздела изображения, указывающего на опорную зону, которая перекрывает несколько разделов опорного изображения, кодирование и декодирование с использованием такого предсказания |
RU2487489C2 (ru) * | 2011-10-18 | 2013-07-10 | Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский университет "МИЭТ" | Способ поиска векторов перемещений в динамических изображениях |
US11363292B2 (en) | 2018-06-28 | 2022-06-14 | Huawei Technologies Co., Ltd. | Memory access window and padding for motion vector refinement and motion compensation |
Also Published As
Publication number | Publication date |
---|---|
BRPI0513698A (pt) | 2008-05-13 |
AU2005267126A1 (en) | 2006-02-02 |
KR20070040401A (ko) | 2007-04-16 |
CN101023678B (zh) | 2011-07-27 |
TW200627973A (en) | 2006-08-01 |
CN101023678A (zh) | 2007-08-22 |
AU2005267126B2 (en) | 2009-05-21 |
CA2574648A1 (en) | 2006-02-02 |
US20060018383A1 (en) | 2006-01-26 |
NO20070991L (no) | 2007-02-21 |
AU2005267126C1 (en) | 2009-11-26 |
UA88017C2 (ru) | 2009-09-10 |
IL180827A (en) | 2010-11-30 |
EP1774795A1 (en) | 2007-04-18 |
JP4448173B2 (ja) | 2010-04-07 |
ZA200700724B (en) | 2008-07-30 |
IL180827A0 (en) | 2007-06-03 |
MX2007000867A (es) | 2007-04-18 |
KR100919075B1 (ko) | 2009-09-28 |
JP2008507920A (ja) | 2008-03-13 |
NZ552781A (en) | 2008-12-24 |
WO2006012428A1 (en) | 2006-02-02 |
US8553776B2 (en) | 2013-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2335096C1 (ru) | Способ и устройство для назначения векторов движения | |
CA2574590C (en) | Method and apparatus for motion vector prediction in temporal video compression | |
KR100943591B1 (ko) | 움직임 벡터 처리를 위한 방법 및 장치 | |
RU2377737C2 (ru) | Способ и устройство для преобразования с повышением частоты кадров с помощью кодера (ea-fruc) для сжатия видеоизображения | |
US20060017843A1 (en) | Method and apparatus for frame rate up conversion with multiple reference frames and variable block sizes | |
CA2565670A1 (en) | Method and apparatus for motion compensated frame rate up conversion |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20110722 |