RU2370909C2 - Способ и устройство для использования способов преобразования кадров с повышением частоты кадров при кодировании масштабируемого видео - Google Patents
Способ и устройство для использования способов преобразования кадров с повышением частоты кадров при кодировании масштабируемого видео Download PDFInfo
- Publication number
- RU2370909C2 RU2370909C2 RU2007103812/09A RU2007103812A RU2370909C2 RU 2370909 C2 RU2370909 C2 RU 2370909C2 RU 2007103812/09 A RU2007103812/09 A RU 2007103812/09A RU 2007103812 A RU2007103812 A RU 2007103812A RU 2370909 C2 RU2370909 C2 RU 2370909C2
- Authority
- RU
- Russia
- Prior art keywords
- frame
- frames
- macroblock
- fruc
- cost
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 18
- 238000004364 calculation method Methods 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 16
- 239000000284 extract Substances 0.000 claims 2
- 238000007906 compression Methods 0.000 abstract description 7
- 230000006835 compression Effects 0.000 abstract description 7
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000013144 data compression Methods 0.000 abstract 1
- 239000000126 substance Substances 0.000 abstract 1
- 230000033001 locomotion Effects 0.000 description 19
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 9
- 239000013598 vector Substances 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000013139 quantization Methods 0.000 description 6
- 230000002441 reversible effect Effects 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000011664 signaling Effects 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
Images
Classifications
-
- 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/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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/103—Selection of coding mode or of prediction mode
- H04N19/109—Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- 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/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/19—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
-
- 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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/31—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
-
- 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/567—Motion estimation based on rate distortion criteria
-
- 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/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Television Systems (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Изобретение относится к области техники сжатия видеоданных и, более конкретно, к способу и устройству для использования методов преобразования с повышением частоты кадров (FRUC) при кодировании масштабируемого видео. Техническим результатом является обеспечения встраивания методов сжатия FRUC на стороне кодера, в то же время минимизируя скорости передачи данных в битах потока видео. Предложен способ кодирования потока видео, содержащий этапы: принимают поток видео, содержащий основной уровень, который включает в себя множество кадров основного уровня; генерируют интерполированный уровень, который включает в себя один или более кадров преобразования с повышением частоты кадров, которые являются интерполированными на основании одного или более кадров основного уровня; и кодируют множество кадров основного уровня в основном уровне с использованием по меньшей мере одного или более интерполированных кадров FRUC в качестве опорного кадра, причем по меньшей мере один из упомянутых одного или более кадров FRUC является интерполированным в тот же момент времени, когда должен быть кодирован кадр основного уровня. 14 н. и 36 з.п. ф-лы, 8 ил.
Description
Испрашивание приоритета согласно параграфу 119 раздела 35 Свода Законов США
Настоящая заявка испрашивает приоритет предварительной заявки на патент США № 60/585154 "Method and Apparatus for Using Frame Rate up Conversion (FRUC) Technique in Scalable Video Coding", поданной 1 июля 2004, и предварительной заявки на патент США № 60/665816 "Method and Apparatus for Using Frame Rate Up Conversion Techniques in Scalable Video Coding", поданной 22 марта 2005, переданным их правопреемнику и тем самым явно включенных по ссылке.
Область техники
Настоящее изобретение относится в целом к сжатию видео данных и, более конкретно, к способу и устройству для использования методов преобразования с повышением частоты кадров (FRUC) при кодировании масштабируемого видео.
Уровень техники
Адаптация частоты следования при сжатии видео и аудио информации обычно достигается посредством способов масштабирования (SNR, пространственного, временного), переключающимися между битовыми потоками, кодированными с различными скоростями передачи данных в битах, и множеством режимов скоростей передачи информации в битах, в которых кодер выдает на сервер контент в виде множества медиапотоков (потоков мультимедийной информации) в переменных диапазонах частот. Сервер затем выдает соответствующий поток на основании сетевых условий и/или потенциальной аудитории.
Из-за ограниченной полосы частот, доступной в приложении низкоскоростного видео, некоторые кодеры применяют способы выборки во времени (также называемые как пропуск кадров), чтобы удовлетворить требуемым соотношениям сжатия. В таком сценарии кадры во входной последовательности периодически «выпадают» из процесса кодирования и поэтому не передаются. Таким образом, вместо полной входной последовательности декодер принимает только частичную информацию по временной оси. В результате связанные со временем артефакты, такие как судорожные движения, представляются на стороне приема. Преобразование с повышением частоты кадров (FRUC, ППЧК) используется в декодере, чтобы восстановить пропущенные кадры с целью уменьшения временных (во времени) артефактов. Различные методы были предложены для FRUC. Как правило, методика интерполяции с компенсированным движением (MCI) обеспечивает наилучшее решение в применениях с использованием временного FRUC. Однако желательно оптимизировать реализацию методов FRUC в декодере, в то же время минимизируя скорости передачи данных в битах потока видео.
Сущность изобретения
Ниже описаны различные подходы для использования способов FRUC (преобразования с повышением частоты кадров) в масштабируемом кодировании видео и, в частности, для обеспечения встраивания методов сжатия FRUC на стороне кодера, также упомянутой как "FRUC с участием кодера" (EA-FRUC).
В одном варианте осуществления способ для кодирования потока видео включает в себя этапы разделения потока видео на главный уровень, имеющий множество кадров главного уровня, и интерполированный уровень, имеющий множество кадров интерполированного уровня; интерполяции кадра FRUC; и кодирования множества кадров главного уровня в главном уровне с помощью интерполированного FRUC кадра.
В другом варианте осуществления EA-FRUC реализуется как считываемый компьютером носитель, имеющий команды, сохраненные на нем, причем сохраненные команды при выполнении процессором вынуждают процессор исполнять способ для кодирования потока видео. Способ включает в себя этапы разделения потока видео на главный уровень, имеющий множество кадров главного уровня, и интерполированный уровень, имеющий множество кадров интерполированного уровня; интерполяцию кадра преобразования с повышением частоты кадров (FRUC); и кодирование множества кадров главного уровня в главном уровне с помощью интерполированного FRUC кадра.
В еще одном варианте осуществления система реализуется как процессор видеокодера, принимающий поток видео. Процессор видеокодера включает в себя модуль преобразования с повышением частоты кадров (FRUC), причем этот модуль FRUC формирует множество кадров FRUC из принятого потока видео; модуль вычисления стоимости искажения частоты (RD_cost), подсоединенный к модулю FRUC, при этом упомянутый модуль вычисления RD_cost принимает множество кадров FRUC и вычисляет значение RD_cost макроблока кадра F на основании макроблока в одном из множества кадров FRUC; и модуль выбора режима, подсоединенный к модулю вычисления RD_cost, причем модуль выбора режима сконфигурирован так, чтобы сравнивать значение RD_cost макроблока кадра FRUC на основании макроблока в одном из множества кадров FRUC с значением RD_cost макроблока кадра B для соответствующего макроблока в соответствующем кадре B.
Другие задачи, признаки и преимущества станут очевидны специалистам в данной области техники из нижеследующего подробного описания. Должно быть понятно, однако, что подробное описание и конкретные примеры при описании вариантов осуществления изобретения даются в качестве иллюстрации, а не ограничения. Множество изменений и модификаций в пределах описания могут быть сделаны без отрыва от его объема, и изобретение включает в себя все такие модификации.
Краткое описание чертежей
Изобретение может быть легче понято при рассмотрении совместно со ссылками на сопроводительные чертежи, на которых:
фиг. 1 изображает диаграмму, иллюстрирующую обычное двухуровневое кодирование с базовым уровнем и уровнем расширения;
фиг. 2 изображает диаграмму, иллюстрирующую схему кодирования, сконфигурированную в соответствии с одним вариантом осуществления, где основной уровень был закодирован с помощью FRUC-кадров;
фиг. 3 изображает блок-схему способа для кодирования базового уровня с помощью кадров FRUC в соответствии с одним вариантом осуществления;
фиг. 4 изображает блок-схему системы кодирования, сконфигурированную в соответствии с одним вариантом осуществления;
фиг. 5 изображает блок-схему способа для выбора режима для кодирования в соответствии с одним вариантом осуществления;
фиг. 6 изображает диаграмму, иллюстрирующую двухуровневую схему кодирования, сконфигурированную в соответствии с одним вариантом осуществления, где уровень расширения был закодирован с помощью кадров FRUC;
фиг. 7 изображает блок-схему способа для разделения медиа данных на два уровня и кодирования уровня расширения с помощью кадров FRUC в соответствии с одним вариантом осуществления; и
фиг. 8 изображает блок-схему терминала доступа и точки доступа беспроводной системы.
Аналогичные цифровые ссылочные позиции относятся к аналогичным элементам на всех чертежах.
Подробное описание
Хотя методика FRUC (преобразования с повышением частоты кадров - ППЧК) типично используется на стороне декодера, она может быть расширена на сторону кодера. В частности, удобно использовать FRUC кадр в качестве дополнительного режима предсказания для кадра с компенсированным движением. Добавляя дополнительный режим предсказания для промежуточного (интер-) предсказанного кадра, может быть достигнута экономия скорости передачи данных в битах. Другими словами, могут быть улучшены коэффициенты сжатия для одного и того же восстановленного визуального качества.
Для видео кодирования, основанного на стандартах, синтаксис битового потока должен быть дополнен из-за введения дополнительного режима FRUC. Однако соответствие стандартному синтаксису может быть сохранено посредством пометки с помощью флагов об использовании FRUC в предсказанных кадрах в поле пользовательских данных или полях Информации Дополнительного Расширения (ИДР, Supplemental Enhancement Information - SEI) как в стандарте H.264 кодирования видео, опубликованном Международным Телекоммуникационным Союзом, Сектором Стандартизации Телекоммуникаций (ITU-T). Эта особенность особенно выгодна в системах передачи видео, где функция FRUC выполняется декодером. Дополнительно, закрытые системы, где возможны модификации видео декодера, придерживаются извлечения значительной выгоды в терминах ширины полосы частот передачи и эффективности сжатия.
На стороне декодера после приема переданных потоков битов и восстановленных (I/P) кадров внутреннего (интра-) изображения (I)/предсказанного изображения (P) кадры FRUC интерполируют, используя те же самые способы, принятые на стороне кодера. Промежуточные (интер-) кадры затем восстанавливают на основании как восстановленных I/P-кадров, так и кадра FRUC того же самого момента времени. До тех пор пока одна и та же методика используется как на стороне декодера, так и стороне кодера, не будет существовать никакой ошибки или проблем отклонения.
Альтернативное применение системы может иметь место в масштабируемом кодировании видео. Когда используется масштабирование во времени, некоторые кадры предсказания, в частности кадры изображения с двунаправленным предсказанием/интерполированным изображением, передают в уровне расширения; и I и P кадры передают в базовом уровне. В таком сценарии, если уровень расширения не принимается или не требуется, частота кадров восстановленного видео в декодере является более низкой, чем исходная частота кадров. Посылка разности кадра FRUC и кадра B в базовом уровне может обеспечивать реконструирование (восстановление) близкого приближения кадра B посредством FRUC в декодере. Результаты показывают, что стоимость разности (в битах) является значительно меньшей и, следовательно, не оказывает воздействия на скорость передачи в битах видео базового уровня. Эта разность может быть вычислена как чистый остаток FRUC и истинного B кадра посредством установления порогов (или квантования), чтобы ограничить информацию видимыми областями (например, отверстия, которые не могут быть восстановлены посредством FRUC), или в виде усовершенствования известных FRUC способов (например, данные вектора истинного движения или квантованные данные вектора истинного движения). Снова такую информацию о разности можно передавать в полях "пользовательские данные" стандартного синтаксиса или в полях SEI, как в H.264 стандарте.
На основании доступности ресурсов декодера могут быть выбраны различные способы FRUC на основании степени их вычислительной сложности. Моментом, на который следует обратить внимание, является тот, что FRUC обычно требует меньше вычислительных циклов, чем декодирование кадра B, так как FRUC включает в себя простую 3- или 5-отводную фильтрацию и оценку движения (ОД, ME) в отношении малой процентной части кадра в относительно малой области поиска; по сравнению с двунаправленной компенсацией движения (КД, МС) в отношении всех макроблоков (иногда более одной компенсации движения (МС)/макроблок (МБ, МВ)) кадра B. FRUC предлагает степень детализации в уровнях сложности на основании уровня детализации, принятого для восстановления промежуточного кадра при малой стоимости визуального качества.
Как правило, B кадры в вычислительном отношении более дороги, чем кадры P, и I кадры являются наименее дорогими из трех типов кадров. В этом отношении дополнительное преимущество системы и ее расширение на кодирование масштабируемого видео заключается в сохранении вычислительных циклов и, таким образом, ценная для карманных устройств энергия (которая приводит к более длинному времени резервирования и времени разговора в таких устройствах). Экономия энергии реализуется независимо от того, принят ли кадр B или нет, когда на основании доступных тактов декодер может выбирать - декодировать кадр B или восстанавливать интерполированный кадр посредством FRUC и использовать детализацию из данных разности.
Основанные на блоках алгоритмы FRUC могут быть классифицированы по основанию увеличения вычислительной сложности:
1) алгоритмы без компенсации движения, такие как повторение кадра и усреднение кадра;
2) билинейная интерполяция с компенсацией движения (MCI) без MV-обработки;
3) MCI с MV-обработкой; и,
4) MCI, снабженная инициированной оценкой движения (МЕ), с MV-обработкой.
Любой из вышеупомянутых способов кодирования с использованием FRUC может быть объединен со способами кодирования с разбиением на уровни. Адаптация скорости передачи канала передачи может быть достигнута кодированием с разбиением на уровни. Базовый уровень сжатого битового потока обычно содержит более важные данные, а уровень расширения содержит менее важные данные, которые подвергаются передаче с большей частотой появления ошибок.
В одном варианте осуществления предпочтительно, чтобы битовый поток базового уровня подчинялся стандартам и допускалось сокращение битового потока уровня расширения, когда ширина полосы частот передачи уменьшается ниже некоторого порога. Согласно этому сценарию желательно:
1) разделить входящую последовательность кадров на кадры базового уровня и кадры уровня расширения таким образом, чтобы были взаимно-однозначные отношения между каждым кадром расширения и каждым потенциальным FRUC кадром,
2) кодировать кадр базового уровня согласно стандарту,
3) интерполировать кадр FRUC в тот же момент времени, когда должен кодироваться кадр расширения, и,
4) кодировать кадр расширения на основании интерполированного кадра FRUC.
Преимуществами этого подхода являются два. Первое, вводя один дополнительный режим предсказания для кадра уровня расширения, коэффициент сжатия для уровня расширения увеличится. Таким образом, для фиксированной ширины полосы частот передачи возможность сокращения битового потока уровня расширения уменьшается, поскольку становится менее вероятным, что битовый поток уровня расширения превысит порог скорости передачи, когда уровень расширения будет сокращен. Второе, однако, даже если битовый поток уровня расширения должен быть сокращен при ухудшающихся условиях передачи вследствие того способа, каким разделены кадры базового уровня и уровня расширения, как объяснено выше, декодер может все еще восстанавливать отсутствующие кадры уровня расширения, заменяя их интерполированными кадрами FRUC.
Фиг. 1 иллюстрирует обычную двухуровневую схему кодирования последовательности 106 видео, включающую в себя базовый уровень 104 и уровень 102 расширения. Кадры I и P, например P кадры 112 и 114, отделяются в базовый уровень 104 из-за их важности для корректного восстановления последовательности 106 видео, в то время как менее важные кадры B, например B кадры 110, находятся в уровне 102 расширения. В этом подходе согласно предшествующему уровню техники реконструкция кадров расширения в уровне 102 расширения зависит только от восстановленных кадров базового уровня в базовом уровне 104, но не зависит от восстановленных кадров в уровне 102 расширения. В частности, B кадры в уровне 102 расширения не используются в качестве опорных для предсказания во времени кадра в базовом уровне 104, хотя кадры B могут использоваться, чтобы предсказать будущие B кадры.
Фиг. 2 иллюстрирует последовательность 206 видео, закодированную в соответствии с одним вариантом осуществления схемы кодирования, где I кадр 212 является стандартным интра-кадром (внутренним) (кадром, который не подвергается временному предсказанию) и P кадр 220 является стандартным предсказанным кадром. Как видно из чертежа, кадры в основном уровне 202 закодированы с помощью интерполированного уровня 204.
PF кадры 216 являются P-кадрами, где интерполированный кадр FRUC используется в качестве одного из множества опорных изображений. Например, FRUC FRM 224 (FRUC кадр 224) является опорным изображением для PF FRM 216 (FRUC кадром 216). Напротив, стандартный подход использует I FRM 212 (I кадр 212) в качестве единственного опорного изображения для кадров P. Таким образом, в одном варианте осуществления кадр FRUC FRM используется как опорное изображение (картинка) для декодирования интерполированных кадров основного уровня.
BF кадры являются кадрами B, имеющими интерполированные кадры FRUC в качестве одного из множества опорных изображений. Таким образом, в одном варианте осуществления опорные изображения для BF кадров могут включать в себя один или более из кадров I, B, P, PF или BF. Например, BF кадр 214 является B-кадром, имеющим интерполированный FRUC кадр 222 в качестве одного из множества опорных изображений; и BF кадр 218 является B-кадром, имеющим интерполированный FRUC кадр 226 в качестве одного из множества опорных изображений. Напротив, даже при том, что стандартные B (двунаправленные) предсказанные кадры могут иметь множество опорных изображений (картинок), эти опорные изображения включают в себя только кадры I, B или P.
Упоминаемый здесь термин "F кадры" относится к кадрам, которые являются предсказанными кадрами с интерполированными FRUC кадрами, используемыми в качестве опорных изображений. Таким образом, и кадры PF, и кадры BF являются F кадрами. В одном варианте осуществления множество опорных изображений используются для предсказания F кадров. Кроме того, интерполированные FRUC кадры могут быть единственным опорным изображением, используемым для предсказания F кадров. Далее, архитектура, описанная здесь, охватывает подход, в котором часть интерполированных кадров FRUC используется в качестве опорных, например, используя только специфические макроблоки (которые могут быть блоками любого размера или формы) из интерполированного FRUC кадра.
Фиг. 3 иллюстрирует блок-схему примерного процесса кодирования FRUC для битового потока, описанного выше со ссылками на фиг. 2. На этапе 302 входящая медиа (видео) последовательность разделяется на F-кадры и не-F кадры, где F-кадрами являются кадры PF и BF, как описано выше, и не-F кадрами являются кадры I, B или P. В одном варианте осуществления имеется взаимно-однозначное отношение между каждым F-кадром и каждым потенциальным FRUC кадром. В других вариантах осуществления отношение кадров расширения к потенциальному FRUC кадру не должно быть взаимно-однозначным соответствием. Как только последовательность видео была разделена, работа выполняется в соответствии с этапом 304, где не-F кадры кодируют на основании стандартной используемой схемы кодирования. Например, для этих не-F кадров может использоваться стандарт кодирования, который опубликован в стандарте H.264. Затем на этапе 306 кадр FRUC интерполируется в тот же момент времени, когда должен быть кодирован кадр расширения. В одном варианте осуществления FRUC кадр может зависеть и от восстановленного (реконструированного) текущего кадра и от сохраненного предыдущего кадра. Другие варианты осуществления могут использовать другие FRUC алгоритмы, описанные выше. На этапе 308 кадры в уровне расширения кодируют с помощью интерполированного FRUC кадра, как подробно описано со ссылками на фиг. 4. Таким образом, из-за доступности FRUC кадра дополнительный режим предсказания (FRUC режим) может быть выбран для кадров предсказания в основном уровне.
Фиг. 4 иллюстрирует схему кодера, cконфигурированного в соответствии с одним вариантом осуществления. Первоначально детектор 402 P кадра определяет, является ли новый кадр F-кадром. Если нет, кодер 404 кадра P или B кодирует кадр, и кодер 406 с переменной длиной кодирования (ПДК, VLC) генерирует окончательный битовый поток для закодированного кадра P или B, чтобы вывести в выходном битовом потоке 404. Векторы движения для P или B кадра сохраняют в буфере 408 вектора движения (MV, ВД), в то время как буфер 410 восстановленного кадра сохраняет восстановленный P или B кадр. FRUC модуль 412 подсоединен к буферу 408 MV и буферу 410 восстановленного кадра, чтобы выполнить FRUC алгоритм и сформировать FRUC кадр, который сохраняют в буфере 414 FRUC кадра. Как описано выше, FRUC кадры используются для формирования различных кадров F (например, BF или PF).
Если детектор 402 F кадра обнаруживает, что новый кадр является F кадром, модуль 428 кодирования F кадра выполняет кодирование по принципу макроблок - за - макроблоком нового кадра F. Закодированный макроблок кадра F посылают на блок 434, который определяет количество битов, которые должны быть переданы для кадра B, который включает в себя биты, необходимые для передачи векторов движения. Затем вычисляется значение RD_cost макроблока кадра B в модуле 436 вычисления RD_cost B-блока. Далее, на основании кодирования кадра B компаратор 430 сравнивает (1) значение суммы абсолютных разностей (САР, SAD_b) макроблока кадра F на основании FRUC кадра, извлеченного из буфера 414 FRUC кадра (SAD_f), при вычитании из соответствующего макроблока кадра B, с (2) заранее определенным пороговым значением (TH). Если результаты вычитания больше или равны пороговому значению, то ухудшение качества может быть слишком большим и, таким образом, кодер должен послать полученную с помощью кодера информацию FRUC кадра. В одном варианте осуществления пороговое значение равно шестикратному используемому размеру блока (например, размера блока 16×16). Следует отметить, что хотя используемый здесь термин "макроблок" обычно относится к стандартному размеру блока 16×16 пиксельных элементов, может использоваться любой размер блока. Кроме того, блоки могут иметь любую форму.
Если разность между SAD макроблока кадра B и SAD макроблока кадра F меньше, чем этот порог, то кодер укажет, что макроблок кадра F должен использоваться в модуле 432 и бит для индикации F-режима помещается в выходной битовый поток 440. Если нет, то остаточный исходный (оригинальный) макроблок и совместно расположенный блок кадра FRUC вычисляют в модуле 416, результаты которого квантуются в модуле 418 дискретного косинусного преобразования (ДКП, DCT)/квантования/VLC. Число битов блока FRUC кадра, необходимых для передачи информации кадров FRUC, определяется в модуле 420 битов F-блока, и на основании этого вычисления определяют значение RD_cost макроблока кадра FRUC в модуле 422 RD_cost F-блока. Вычисление RD_cost описано здесь со ссылками на фиг. 5.
На основании вычисленного RD_cost макроблока кадра B и RD_cost макроблока кадра F модуль 424 компаратора определяет - какие биты разместить в выходной битовый поток 440. В одном варианте осуществления, если RD_cost макроблока кадра B меньше, чем RD_cost макроблока кадра F, то биты для макроблока кадра B, включая сгенерированные векторы движения, будут помещены в выходной битовый поток 440. Иначе, биты для макроблока кадра F будут помещены в выходной битовый поток 440.
Фиг. 5 иллюстрирует алгоритм, осуществленный в соответствии с одним вариантом осуществления для процесса выбора режима макроблока кадра B уровня расширения в течение кодирования кадров в уровне расширения. На этапе 502 векторы движения вперед и назад получают для макроблока кадра B. В одном варианте осуществления эти векторы получают, выполняя обычную двунаправленную оценку движения. Таким образом, никакая информация из кадра FRUC не используется. Затем на этапе 504 определяют наилучший режим для макроблока кадра B. В варианте осуществления наилучший режим выбирают из одного из трех режимов: режим прямого предсказания, режим обратного предсказания и билинейный режим предсказания. Далее, выбор наилучшего режима выполняют без использования кадра FRUC.
На этапе 506 получают остаток ошибки между макроблоком кадра B на основании выбранного наилучшего режима и первоначального макроблока из исходного кадра (то есть подлежащего кодированию исходного кадра). Информацию остатка ошибки между первоначальным макроблоком и макроблоком кадра FRUC затем получают на этапе 508. В одном варианте осуществления остаток ошибки для макроблока кадра B и макроблока кадра FRUC вычисляют, вычитая первоначальный макроблок из макроблока кадра B или макроблока кадра FRUC, соответственно. Кроме того, переменную, называемую стоимостью искажения частоты (RD_cost), вычисляют и для макроблока кадра B, и макроблока кадра FRUC, в соответствии с заданной следующей формулой:
RD_cost = Искажение + Лямбда * Частота
В одном варианте осуществления «Частота» - есть общее количество битов, используемых для кодирования некоторого блока (которое использует остаток ошибки соответствующего макроблока), «Искажение» - есть мера искажения, и «Лямбда» - заранее определенный коэффициент взвешивания, который зависит от квантования макроблока. В одном варианте осуществления «Искажение» определяется вычислением суммы абсолютных разностей (SAD). В других вариантах осуществления могут использоваться отличные метрики искажения. Далее, «Лямбда» в одном варианте осуществления является эмпирически полученной формулой, зависящей от параметра квантования.
Как описано выше, выбор режима кодирования кадра FRUC или кадра B основан на основании значения "сумма абсолютных разностей" (SAD), которое является фактически мерой искажения, и количества битов, требуемых для кодирования остатка. Эти два значения суммируют, один взвешивается посредством (умножается на) значения Лямбда, и "наилучший" режим выбирается на основании того, который дает минимизированный результат. Причина того, что используется суммирование искажения и частоты, заключается в том, что кодер может делать компромисс между качеством изображения и скоростью передачи информации в битах. Так, например, если кодер встречает очень сложный макроблок, который испытывает сильные искажения, если он использует тот же самый параметр квантования, как и прежде, это может снизить значение квантования, чтобы учесть компромисс в искажении, даже при том, что потребуется большее количество битов для кодирования.
Как только были определены остаток ошибки и, следовательно, B_RD_cost (RD_cost макроблока кадра B) и остаток ошибки и, следовательно, FRUC_RD_cost (RD_cost макроблока кадра FRUC), на этапе 510 сравнивают значения стоимости и определяют, является ли FRUC_RD_cost меньшим, чем B_RD_cost. Если да, то выбирают на этапе 512 режим FRUC. Иначе, наилучший режим, который определен на этапе 504, выбирают на этапе 514.
Фиг. 6 иллюстрирует последовательность 606 видео, кодированную в соответствии со схемой кодирования согласно одному варианту осуществления с блоком 608 принятия решения об уровне, который разделяет медиа-данные на два уровня, включающие в себя базовый уровень 604 и уровень 602 расширения. Кадры I и P, такие как P кадры 612 и 614, разделяются на базовый уровень 604 из-за их важности для правильного восстановления последовательности 606 видео, в то время как менее важные кадры B, такие как B кадры 610, остаются в уровне 602 расширения. Как проиллюстрировано на чертеже, FRUC кадры 616 также могут быть уже существующими в базовом уровне 604.
Фиг. 7 иллюстрирует схему последовательности операций процесса кодирования FRUC в соответствии с одним вариантом осуществления, как описано выше. На этапе 702 входящая медиа-последовательность (видео) разбивается на кадры базового уровня и кадры уровня расширения. В одном варианте осуществления имеется взаимно-однозначное отношение между каждым кадром расширения и каждым возможным (потенциальным) FRUC кадром. В других вариантах осуществления отношение кадров расширения к возможным FRUC кадрам не должно иметь взаимно-однозначного соответствия. Как только последовательность видео была разделена, работа выполняется в соответствии с этапом 704, где кадры в базовом уровне кодируют на основании стандартной используемой схемы кодирования. Например, может использоваться стандарт кодирования, который провозглашен в стандарте H.264. Затем на этапе 706 кадр FRUC интерполируется в тот же самый момент времени, что и подлежащий кодированию кадр расширения. В одном варианте осуществления кадр FRUC может зависеть как от восстановленного текущего кадра, так и сохраненного предыдущего кадра. Другие варианты осуществления могут использовать другие алгоритмы FRUC, описанные выше. На этапе 708 кадры в уровне расширения кодируют с помощью интерполированного кадра FRUC.
Следует отметить, что модули и блоки обработки, упомянутые здесь, могут быть осуществлены во множестве реализаций аппаратными/программными средствами. Таким образом, специалисту понятно, что, например, один и тот же процессор может выполнять операцию FRUC, а также вычисления SAD. Кроме того, цифровой сигнальный процессор (DSP, ЦСП) или другой специализированный процессор может использоваться вместе с универсальным процессором, чтобы осуществить описанные здесь функции. Ссылки на модули или блоки, выполняющие определенную функцию или функции, не должны быть ограничены тем, чтобы включать в себя конкретную схему для выполнения упомянутой функции или функций, но могут снова включать в себя процессор, конфигурированный для выполнения упомянутой функции или функций.
Настоящее изобретение обеспечивает экономию в передаваемом битовом потоке для от очень малого компромисса до отсутствия компромисса в визуальном качестве, что основано на способе выбора режима, описанного выше. Например, имеется сокращение отношения битовая скорость/пропускная способность посредством дополнения синтаксиса битового потока стандарта (H.26X/MPEG-X) при том же уровне качества. Это уменьшит возможность пропуска битового потока расширения, и, следовательно, улучшит восстановленное качество видео. В одном варианте осуществления при кодировании уровня расширения информация о векторе движения не должна быть передана, так как эта информация может быть восстановлена/вычислена в декодере посредством простых функций интерполяции. Таким образом, все виды экономии скорости передачи информации в битах могут быть реализованы.
Кроме того, вычислительное масштабирование может быть достигнуто адаптивным выбором соответствующего FRUC алгоритма на основании оптимального использования аппаратных ресурсов приемника. Например, если декодер имеет встроенный ускоритель оценки движения, может быть выбран FRUC алгоритм интерполяции MCI, снабженной инициированной оценкой движения (МЕ), и MV-обработкой. Лучшее временное масштабирование может быть достигнуто, когда, используя особенности FRUC, видео будет воспроизведено с полной частотой передачи кадров, где кадры FRUC вставляют, только когда принимают битовый поток базового уровня. Экономия энергии в декодере может также быть получена, в частности, в портативных устройствах, где реконструкция потока видео с помощью FRUC требует меньшего количества циклов, чем реконструкция полного кадра B.
Предсказывается, что кадры B занимают до 30% общей скорости передачи информации в битах, когда используется структура группы изображений IBP (GOP). Следовательно, настоящее изобретение, с помощью уменьшения данных, назначенных для передачи B кадров, может уменьшить полную скорость передачи информации в битах. Например, для структур GOP IBP скорость передачи информации в битах может быть уменьшена до 15%, когда включены как базовый уровень, так и уровень расширения. Этот процент увеличивается, когда используются структуры IBBP GOP или IBBBP GOP, поскольку эти структуры используют большее количество B кадров. Увеличивается для большего количества кадров B между I и P.
Фиг. 8 иллюстрирует блок-схему терминала 802x доступа и точки 804x доступа в беспроводной системе. "Терминал доступа", описанный здесь, относится к устройству, обеспечивающему связность речи и/или данных для пользователя. Терминал доступа может быть соединен с вычислительным устройством, таким как портативный компьютер или настольный компьютер, или он может быть независимым устройством, таким как персональный цифровой помощник. Терминал доступа может также быть назван абонентским блоком, мобильной станцией, мобильным устройством, удаленной станцией, удаленным терминалом, терминалом пользователя, пользовательским агентом или оборудованием пользователя. Терминал доступа может быть абонентской станцией, беспроводным устройством, сотовым телефоном, телефоном системы персональной подвижной связи (PCS), радиотелефоном, телефоном протокола инициирования сеанса (SIP), станцией местной радиосвязи (WLL), персональным цифровым помощником (PDA), портативным устройством, имеющим возможность беспроводного подключения, или другим устройством обработки, связанным с беспроводным модемом. "Точка доступа", описанная здесь, относится к устройству в сети доступа, которое обменивается по эфирному интерфейсу через один или более секторов с терминалами доступа. Точка доступа действует как маршрутизатор между терминалом доступа и остальной частью сети доступа, которая может включать в себя IP сеть, преобразовывая принятые по эфирному интерфейсу кадры в пакеты IP. Точка доступа также координирует управление атрибутами для эфирного интерфейса.
Для обратной линии связи в терминале 802x доступа процессор 814 передачи данных (TX) принимает данные трафика из буфера 812 данных, обрабатывает (например, кодирует, перемежает и преобразует символы) каждый пакет данных на основании выбранной схемы кодирования и модуляции и выдает символы данных. Символ данных является символом модуляции для данных, и пилот-символ является символом модуляции для пилот сигнала (который известен априорно). Модулятор 816 принимает символы данных, пилот-символы и возможно сигнализацию для обратной линии связи, выполняет модуляцию (например, OFDM) и/или другую обработку, как определено системой, и выдает поток выходных элементов сигнала. Модуль 818 передатчика (TMTR) обрабатывает (например, преобразовывает в аналоговый вид, фильтрует, усиливает и преобразует с повышением частоты) поток выходных элементов сигнала и формирует модулированный сигнал, который передают из антенны 820.
В точке 804x доступа модулированные сигналы, переданные терминалом 802x доступа и другими терминалами, находящимися в связи с точкой 804x доступа, принимаются антенной 852. Модуль 854 приемника (RCVR) обрабатывает (например, приводит к требуемым условиям и оцифровывает) принятый сигнал от антенны 852 и выдает принятые выборки. Демодулятор (Demod) 856 обрабатывает (например, демодулирует и обнаруживает) принятые выборки и выдает обнаруженные символы данных, которые являются оценкой шума символов данных, переданных терминалами к точке 804x доступа. Процессор 858 принятых данных обрабатывает (например, выполняет обратное преобразование символов, осуществляет обращенное перемежение и декодирует) обнаруженные символы данных для каждого терминала и выдает декодированные данные для этого терминала.
Для прямой линии связи в точке 804x доступа данные трафика обрабатываются процессором 860 приема (TX), чтобы сформировать символы данных. Модулятор 862 принимает символы данных, пилот-символы и сигнализацию для прямой линии связи, выполняет модуляцию (например, OFDM) и/или другую подходящую обработку и выдает поток выходных элементов сигнала, который далее приводятся к требуемым условиям модулем 864 передатчика и передается от антенны 852. Сигнализация прямой линии связи может включать в себя команды регулирования мощности, сформированные контроллером 870 для всех терминалов, осуществляющих передачу по обратной линии связи к точке 804x доступа. В терминале 802x доступа модулированный сигнал, переданный точкой 804x доступа, принимается антенной 820, приводится к требуемым условиям и оцифровывается модулем 822 приемника и обрабатывается демодулятором 824, чтобы получить детектированные символы данных. Принимающий процессор 826 RX обрабатывает детектированные символы данных и выдает декодированные данные для терминала и сигнализации прямой линии связи. Контроллер 830 принимает команды регулирования мощности и управляет передачей данных и мощностью передачи по обратной линии связи к точке 804x доступа. Контроллеры 830 и 870 управляют работой терминала 802x доступа и точки 804x доступа, соответственно. Блоки памяти (запоминающие устройства) 832 и 872 хранят коды программ и данные, используемые контроллерами 830 и 870, соответственно.
Раскрытые варианты осуществления могут применяться к любому одному или комбинациям следующих технологий: системы множественного доступа с кодовым разделением каналов (CDMA), множественный доступ с кодовым разделением каналов с множеством несущих (МС-CDMA), широкополосный множественный доступ с кодовым разделением каналов (W-CDMA), высокоскоростной пакетный доступ нисходящей линии связи (HSDPA), системы множественного доступа с временным разделением каналов (TDMA), системы множественного доступа с частотным разделением каналов (FDMA) и системы множественного доступа с ортогональным разделением по частоте (OFDMA).
Следует отметить, что способы, описанные здесь, могут быть осуществлены на множестве аппаратных средств связи, процессорах и системах, известных специалистам. Например, общее требование для работы клиента, работать так, как описано в настоящем описании, заключается в том, что клиент имеет дисплей для отображения содержимого и информации, процессор для управления работой клиента и память для хранения данных и программ, относящихся к работе клиента. В одном варианте осуществления клиентом является сотовый телефон. В другом варианте осуществления клиентом является карманный компьютер, имеющий возможности связи. В еще одном варианте осуществления клиентом является персональный компьютер, имеющий возможности связи. Кроме того, аппаратные средства, например приемник универсальной системы определения местоположения (GPS), могут быть включены по мере необходимости в клиент, чтобы осуществить различные варианты осуществления. Различные иллюстративные логические схемы, логические блоки, модули и схемы, описанные со ссылками на варианты осуществления, раскрытые выше, могут быть реализованы или выполнены универсальным процессором, цифровым сигнальным процессором (DSP), интегральной схемой специализированного назначения (ASIC), программируемой пользователем вентильной матрицей (FPGA) или другим программируемым логическим устройством, аппаратными компонентами на дискретных логических вентилях или транзисторной логике, дискретных элементах или любой их комбинации, предназначенной для выполнения функций, описанных здесь. Процессор общего назначения может быть микропроцессором, но в альтернативе процессор может быть любым обычным процессором, контроллером, микроконтроллером или конечным автоматом. Процессор может также быть осуществлен как комбинация вычислительных устройств, например комбинацией DSP и микропроцессора, множеством микропроцессоров, одним или более микропроцессоров вместе с ядром DSP или любой другой такой конфигурацией.
Раскрытые варианты осуществления могут применяться к любому одному или комбинациям следующих технологий: системы множественного доступа с кодовым разделением каналов (CDMA), множественный доступ с кодовым разделением каналов с множеством несущих (МС-CDMA), широкополосный множественный доступ с кодовым разделением каналов (W-CDMA), высокоскоростной пакетный доступ нисходящей линии связи (HSDPA), системы множественного доступа с временным разделением каналов (TDMA), системы множественного доступа с частотным разделением каналов (FDMA) и системы множественного доступа с ортогональным разделением по частоте (OFDMA).
Следует отметить, что способы, описанные здесь, могут быть осуществлены на множестве аппаратных средств связи, процессорах и системах, известных специалистам. Например, общее требование для работы клиента, работать как описано в настоящем описании, заключается в том, что клиент имеет дисплей для отображения содержимого и информации, процессор для управления работой клиента и память для хранения данных и программ, относящихся к работе клиента. В одном варианте осуществления клиентом является сотовый телефон. В другом варианте осуществления клиентом является карманный компьютер, имеющий возможности связи. В еще одном варианте осуществления клиентом является персональный компьютер, имеющий возможности связи. Кроме того, аппаратные средства, например приемник универсальной системы определения местоположения (GPS), могут быть включены по мере необходимости в клиент, чтобы осуществить различные варианты осуществления. Различные иллюстративные логические схемы, логические блоки, модули и схемы, описанные со ссылками на варианты осуществления, раскрытые выше, могут быть реализованы или выполнены универсальным процессором, цифровым сигнальным процессором (DSP), интегральной схемой специализированного назначения (ASIC), программируемой пользователем вентильной матрицей (FPGA) или другим программируемым логическим устройством, аппаратные компоненты на дискретных логических вентилях или транзисторной логике, дискретных элементах или любой их комбинации, предназначенной для выполнения функции, описанных здесь. Процессор общего назначения может быть микропроцессором, но в альтернативе процессор может быть любым обычным процессором, контроллером, микроконтроллером или конечным автоматом. Процессор может также быть осуществлен как комбинация вычислительных устройств, например комбинацией DSP и микропроцессора, множеством микропроцессоров, одним или более микропроцессоров вместе с ядром DSP или любой другой такой конфигурацией.
Этапы способа или алгоритма, описанные со ссылками на варианты осуществления, раскрытые выше, могут быть воплощены непосредственно в аппаратных средствах, в программном модуле, выполняемом процессором, или в их комбинации. Программный модуль может постоянно находиться в оперативной памяти (ОЗУ), флэш-памяти, памяти ПЗУ (ROM), электрически программируемой памяти ПЗУ, электрически стираемой программируемой памяти ПЗУ (СППЗУ), регистрах, на жестком диске, съемном диске, CD-ROM или носителе данных любой другой формы, известной в данной области техники. Примерный носитель данных соединен с процессором так, что процессор может считывать информацию с него и записывать информацию на носитель данных. В альтернативе носитель данных может быть встроенным в процессор. Процессор и носитель данных могут постоянно находиться в ASIC. Специализированные интегральные схемы ASIC могут постоянно находиться в терминале пользователя. В альтернативе процессор и носитель данных могут постоянно находиться в терминале пользователя в качестве дискретных компонентов.
Описание раскрытых вариантов осуществления обеспечивается для того, чтобы дать возможность любому специалисту в данной области техники воплотить или использовать изобретение. Различные модификации к этим вариантам осуществления могут быть очевидны специалисту, и универсальные принципы, раскрытые здесь, могут применяться к другим вариантам осуществления, например, в службе мгновенной передачи сообщений или любых обычных беспроводных приложениях передачи данных, без отрыва от объема и контекста описанных вариантов осуществления. Таким образом, контекст описания не предназначен быть ограниченным вариантами осуществления, показанными выше, но предоставляет самый широкий контекст, совместимый с принципами и новыми признаками, раскрытыми в настоящем описании. Слово "примерный" используется здесь исключительно для того, чтобы означать "служащий как пример, образец или иллюстрация". Любой вариант осуществления, описанный здесь как "примерный", не обязательно должен быть рассмотрен как выгодный по сравнению с другими вариантами осуществления.
Claims (52)
1. Способ кодирования потока видео, содержащий этапы: принимают поток видео, содержащий основной уровень, который включает в себя множество кадров основного уровня; генерируют интерполированный уровень, который включает в себя один или более кадров преобразования с повышением частоты кадров (FRUC), которые являются интерполированными на основании одного или более кадров основного уровня; и кодируют множество кадров основного уровня в основном уровне с использованием по меньшей мере одного или более интерполированных кадров FRUC в качестве опорного кадра, причем по меньшей мере один из упомянутых одного или более кадров FRUC является интерполированным в тот же момент времени, когда должен быть кодирован кадр основного уровня.
2. Способ по п.1, в котором имеется взаимно-однозначное отношение между каждым из кадров основного уровня и каждым из одного или более FRUC кадров.
3. Способ по п.1, в котором один или более кадров FRUC зависит от восстановленного текущего кадра и сохраненного предыдущего кадра.
4. Способ по п.1, в котором упомянутое кодирование множества кадров основного уровня в основном уровне посредством использования по меньшей мере одного или более интерполированных кадров FRUC содержит выполнение процесса выбора режима для макроблока по меньшей мере одного из одного или более кадров FRUC.
5. Способ по п.1, в котором один или более кадров FRUC генерируются на основании интерполяции предыдущего кадра основного уровня и последующего кадра основного уровня относительно упомянутого кадра основного уровня, подлежащего кодированию.
6. Способ по п.1, в котором один или более кадров FRUC генерируются на основании интерполяции предыдущего кадра или последующего кадра основного уровня относительно упомянутого кадра основного уровня, подлежащего кодированию.
7. Считываемый компьютером носитель, имеющий команды, сохраненные на нем, причем сохраненные команды при выполнении процессором вынуждают процессор выполнять способ для кодирования потока видео, причем способ содержит этапы: принимают поток видео, содержащий основной уровень, который включает в себя множество кадров основного уровня; генерируют интерполированный уровень, который включает в себя один или более кадров преобразования с повышением частоты кадров (FRUC), которые являются интерполированными на основании одного или более кадров основного уровня; и кодируют множество кадров основного уровня в основном уровне с использованием по меньшей мере одного или более интерполированных кадров FRUC в качестве опорного кадра, причем по меньшей мере один из упомянутых одного или более кадров FRUC является интерполированным в тот же момент времени, когда должен быть кодирован кадр основного уровня.
8. Считываемый компьютером носитель по п.7, в котором имеется взаимно-однозначное отношение между каждым из кадров основного уровня и каждым из одного или более FRUC кадров.
9. Считываемый компьютером носитель по п.7, в котором один или более кадров FRUC зависят от восстановленного текущего кадра и сохраненного предыдущего кадра.
10. Считываемый компьютером носитель по п.7, в котором упомянутое кодирование множества кадров основного уровня в основном уровне посредством использования по меньшей мере одного или более интерполированных кадров FRUC содержит выполнение процесса выбора режима для макроблока по меньшей мере одного из упомянутых одного или более FRUC кадров.
11. Считываемый компьютером носитель по п.7, в котором один или более кадров FRUC генерируются на основании интерполяции предыдущего кадра основного уровня и последующего кадра основного уровня относительно упомянутого кадра основного уровня, подлежащего кодированию.
12. Считываемый компьютером носитель по п.7, в котором один или более кадров FRUC генерируются на основании интерполяции предыдущего кадра или последующего кадра основного уровня относительно упомянутого кадра основного уровня, подлежащего кодированию.
13. Устройство для кодирования потока видео, содержащее средство для приема потока видео, содержащего основной уровень, который включает в себя множество кадров основного уровня; средство для генерации интерполированного уровня, который включает в себя один или более кадров преобразования с повышением частоты кадров (FRUC), которые являются интерполированными на основании одного или более кадров основного уровня; и средство для кодирования множества кадров основного уровня в основном уровне посредством использования по меньшей мере одного или более интерполированных кадров FRUC в качестве опорного кадра, причем по меньшей мере один из упомянутых одного или более кадров FRUC является интерполированным в тот же момент времени, когда должен быть кодирован кадр основного уровня.
14. Устройство по п.13, в котором имеется взаимно-однозначное соответствие между каждым из кадров основного уровня и каждым из одного или более FRUC кадров.
15. Устройство по п.13, в котором упомянутые один или более кадров FRUC зависят от восстановленного текущего кадра и сохраненного предыдущего кадра.
16. Устройство по п.13, в котором средство для кодирования множества кадров основного уровня в основном уровне посредством использования по меньшей мере одного или более интерполированных кадров FRUC содержит средство для выполнения процесса выбора режима для макроблока по меньшей мере одного из одного или более FRUC кадров.
17. Устройство по п.13, в котором один или более кадров FRUC генерируются на основании интерполяции предыдущего кадра основного уровня и последующего кадра основного уровня относительно упомянутого кадра основного уровня, подлежащего кодированию.
18. Устройство по п.13, в котором один или более кадров FRUC генерируются на основании интерполяции предыдущего кадра или последующего кадра основного уровня относительно упомянутого кадра основного уровня, подлежащего кодированию.
19. Процессор видеокодера, принимающий поток видео, при этом процессор видеокодера содержит: модуль преобразования кадров с повышением частоты (FRUC), причем модуль FRUC выполнен с возможностью формирования множества кадров FRUC из принятого потока видео; модуль вычисления стоимости искажения частоты (RD_cost), подсоединенный к модулю FRUC, при этом модуль вычисления значения RD_cost выполнен с возможностью приема множества кадров FRUC и вычисления значения RD_cost макроблока кадра F на основании макроблока в одном из множества кадров FRUC; и модуль принятия решения о режиме, подсоединенный к модулю вычисления RD_cost, причем модуль принятия решения о режиме выполнен с возможностью сравнивать значения RD_cost макроблока кадра F на основании макроблока в одном из множества кадров FRUC со значением RD_cost макроблока кадра В для соответствующего макроблока в соответствующем кадре В, и модуль компаратора, выполненный с возможностью выбирать биты для помещения в выходной поток на основе сравнения значения RD_cost макроблока кадра F и значения RD_cost макроблока кадра В, причем модуль компаратора помещает биты в выходной поток из макроблока кадра В, когда значение RD_cost макроблока кадра В меньше, чем значение RD_cost макроблока кадра F, и помещает биты в выходной поток из макроблока кадра F, когда значение RD_cost макроблока кадра В больше или равно, чем значение RD_cost макроблока кадра F.
20. Процессор видеокодера по п.19, дополнительно содержащий кодер кадра В, причем кодер кадра В формирует соответствующий кадр В.
21. Процессор видеокодера по п.19, дополнительно содержащий модуль вычисления суммы абсолютных разностей (SAD), подсоединенный к модулю FRUC, причем упомянутый модуль вычисления SAD выполнен с возможностью вычислять значение SAD на основании макроблока в одном из множества кадров FRUC и значение SAD для соответствующего макроблока в соответствующем кадре В.
22. Процессор видеокодера по п.19, в котором модуль вычисления SAD выполнен с возможностью вычислять разность значения SAD на основании макроблока в одном из множества кадров FRUC и значения SAD для соответствующего макроблока в соответствующем кадре В и сравнивать эту разность с заранее определенным порогом, при этом модуль вычисления SAD формирует единственный бит, чтобы указать режим кадра F, если разность ниже, чем заранее определенный порог.
23. Способ кодирования потока видео, содержащий этапы: формируют множество кадров преобразования с повышением частоты кадров (FRUC) из принятого потока видео; вычисляют значение RD_cost макроблока F кадра на основании макроблока в одном из множества кадров FRUC; сравнивают вычисленное значение RD_cost макроблока F кадра с значением RD_cost макроблока кадра В для соответствующего макроблока в соответствующем В кадре; и кодируют видеопоток, причем кодирование видеопотока включает в себя помещение битов в выходной поток из кадра В, когда значение RD_cost макроблока кадра В меньше, чем значение RD_cost макроблока кадра F, и помещение битов в выходной поток из кадра F, когда значение RD_cost макроблока кадра F меньше или равно, чем значение RD_cost макроблока кадра В.
24. Устройство для кодирования потока видео, содержащее средство для формирования множества кадров преобразования с повышением частоты кадров (FRUC) из принятого потока видео; средство для вычисления значения RD_cost макроблока F кадра на основании макроблока в одном из множества кадров FRUC; средство для сравнения вычисленного значения RD_cost макроблока F кадра с значением RD_cost макроблока кадра В для соответствующего макроблока в соответствующем В кадре; и средство для кодирования, причем средство для кодирования помещает биты в выходной поток из кадра В, когда значение RD_cost макроблока кадра В меньше, чем значение RD_cost макроблока кадра F, и помещает биты в выходной поток из кадра F, когда значение RD_cost макроблока кадра F меньше или равно, чем значение RD_cost макроблока кадра В.
25. Считываемый компьютером носитель, имеющий команды, сохраненные на нем, причем сохраненные команды при выполнении процессором вынуждают процессор выполнять способ для кодирования потока видео, причем способ содержит этапы: формируют множество кадров преобразования с повышением частоты кадров (FRUC) из принятого потока видео; вычисляют значение RD_cost макроблока F кадра на основании макроблока в одном из множества кадров FRUC; сравнивают вычисленное значение RD_cost макроблока F кадра со значением RD_cost макроблока кадра В для соответствующего макроблока в соответствующем В кадре; и кодируют видеопоток, причем кодирование видеопотока включает в себя помещение битов в выходной поток из кадра В, когда значение RD_cost макроблока кадра В меньше, чем значение RD_cost макроблока кадра F, и помещение битов в выходной поток из кадра F, когда значение RD_cost макроблока кадра F меньше или равно, чем значение RD_cost макроблока кадра В.
26. Способ декодирования потока видео, содержащий этапы: принимают поток видео, содержащий основной уровень, который включает в себя множество кадров основного уровня; генерируют интерполированный уровень, который включает в себя один или более кадров преобразования с повышением частоты кадров (FRUC), которые являются интерполированными на основании одного или более кадров основного уровня; декодируют множество кадров основного уровня в основном уровне посредством использования по меньшей мере одного или более интерполированных FRUC кадров в качестве опорного кадра, причем по меньшей мере один из упомянутых одного или более кадров FRUC является интерполированным в тот же момент времени, когда должен быть декодирован кадр основного уровня.
27. Способ по п.26, в котором имеется взаимно-однозначное отношение между каждым из кадров основного уровня и каждым из одного или более FRUC кадров.
28. Способ по п.26, в котором один или более кадров FRUC зависит от восстановленного текущего кадра и сохраненного предыдущего кадра.
29. Способ по п.26, в котором упомянутое декодирование множества кадров основного уровня в основном уровне посредством использования по меньшей мере одного или более интерполированных кадров FRUC содержит выполнение процесса выбора режима для макроблока по меньшей мере одного из одного или более кадров FRUC.
30. Способ по п.26, в котором один или более кадров FRUC генерируются на основании интерполяции предыдущего кадра основного уровня и последующего кадра основного уровня относительно упомянутого кадра основного уровня, подлежащего декодированию.
31. Способ по п.26, в котором один или более кадров FRUC генерируются на основании интерполяции предыдущего кадра или последующего кадра основного уровня относительно упомянутого кадра основного уровня, подлежащего декодированию.
32. Считываемый компьютером носитель, имеющий команды, сохраненные на нем, причем сохраненные команды при выполнении процессором вынуждают процессор выполнять способ для декодирования потока видео, причем способ содержит этапы: принимают поток видео, содержащий основной уровень, который включает в себя множество кадров основного уровня; генерируют интерполированный уровень, который включает в себя один или более кадров преобразования с повышением частоты кадров (FRUC), которые являются интерполированными на основании одного или более кадров основного уровня; и декодируют множество кадров основного уровня в основном уровне с использованием по меньшей мере одного или более интерполированных FRUC кадров в качестве опорного кадра, причем по меньшей мере один из упомянутых одного или более кадров FRUC является интерполированным в тот же момент времени, когда должен быть декодирован кадр основного уровня.
33. Считываемый компьютером носитель по п.32, в котором имеется взаимно-однозначное отношение между каждым из кадров основного уровня и каждым из одного или более FRUC кадров.
34. Считываемый компьютером носитель по п.32, в котором один или более кадров FRUC зависят от восстановленного текущего кадра и сохраненного предыдущего кадра.
35. Считываемый компьютером носитель по п.32, в котором упомянутое декодирование множества кадров основного уровня в основном уровне посредством использования по меньшей мере одного или более интерполированных кадров FRUC содержит выполнение процесса выбора режима для макроблока по меньшей мере одного из упомянутых одного или более FRUC кадров.
36. Считываемый компьютером носитель по п.32, в котором один или более кадров FRUC генерируются на основании интерполяции предыдущего кадра основного уровня и последующего кадра основного уровня относительно упомянутого кадра основного уровня, подлежащего декодированию.
37. Считываемый компьютером носитель по п.32, в котором один или более кадров FRUC генерируются на основании интерполяции предыдущего кадра или последующего кадра основного уровня относительно упомянутого кадра основного уровня, подлежащего декодированию.
38. Устройство для декодирования видеопотока, содержащее средство для приема потока видео, содержащего основной уровень, который включает в себя множество кадров основного уровня; средство для генерации интерполированного уровня, который включает в себя один или более кадров преобразования с повышением частоты кадров (FRUC), которые являются интерполированными на основании одного или более кадров основного уровня; и средство для декодирования множества кадров основного уровня в основном уровне с использованием по меньшей мере одного или более интерполированных FRUC кадров в качестве опорного кадра, причем по меньшей мере один из упомянутых одного или более кадров FRUC является интерполированным в тот же момент времени, когда должен быть декодирован кадр основного уровня.
39. Устройство по п.38, в котором имеется взаимно-однозначное соответствие между каждым из кадров основного уровня и каждым из одного или более FRUC кадров.
40. Устройство по п.38, в котором упомянутые один или более кадров FRUC зависят от восстановленного текущего кадра и сохраненного предыдущего кадра.
41. Устройство по п.38, в котором средство для декодирования множества кадров основного уровня в основном уровне посредством использования по меньшей мере одного или более интерполированных кадров FRUC содержит средство для выполнения процесса выбора режима для макроблока по меньшей мере одного из одного или более FRUC кадров.
42. Устройство по п.38, в котором один или более кадров FRUC генерируются на основании интерполяции предыдущего кадра основного уровня и последующего кадра основного уровня относительно упомянутого кадра основного уровня, подлежащего декодированию.
43. Устройство по п.38, в котором один или более кадров FRUC генерируются на основании интерполяции предыдущего кадра или последующего кадра основного уровня относительно упомянутого кадра основного уровня, подлежащего декодированию.
44. Процессор видеодекодера, принимающий видеопоток, при этом процессор видеодекодера содержит: модуль преобразования кадров с повышением частоты (FRUC), причем модуль FRUC выполнен с возможностью формирования множества кадров FRUC из принятого потока видео; модуль вычисления стоимости искажения частоты (RD_cost), подсоединенный к модулю FRUC, при этом модуль вычисления значения RD_cost выполнен с возможностью приема множества кадров FRUC и вычисления значения RD_cost макроблока кадра F на основании макроблока в одном из множества кадров FRUC; и модуль принятия решения о режиме, подсоединенный к модулю вычисления RD_cost, причем модуль принятия решения о режиме выполнен с возможностью сравнивать значение RD_cost макроблока кадра F на основании макроблока в одном из множества кадров FRUC со значением RD_cost макроблока кадра В для соответствующего макроблока в соответствующем кадре В, и модуль компаратора, выполненный с возможностью выбирать биты для извлечения из выходного потока на основе сравнения значения RD_cost макроблока кадра F и значения RD_cost макроблока кадра В, причем модуль компаратора извлекает биты из выходного потока из макроблока кадра В, когда значение RD_cost макроблока кадра В меньше, чем значение RD_cost макроблока кадра F, и извлекает биты из выходного потока из макроблока кадра F, когда значение RD_cost макроблока кадра В больше или равно, чем значение RD_cost макроблока кадра F.
45. Процессор видеокодера по п.44, дополнительно содержащий декодер кадра В, причем декодер кадра В формирует соответствующий кадр В.
46. Процессор видеокодера по п.44, дополнительно содержащий модуль вычисления суммы абсолютных разностей (SAD), подсоединенный к модулю FRUC, причем упомянутый модуль вычисления SAD выполнен с возможностью вычислять значение SAD на основании макроблока в одном из множества кадров FRUC и значение SAD для соответствующего макроблока в соответствующем кадре В.
47. Процессор видеокодера по п.44, в котором модуль вычисления SAD выполнен с возможностью вычислять разность значения SAD на основании макроблока в одном из множества кадров FRUC и значения SAD для соответствующего макроблока в соответствующем кадре В, и сравнивать эту разность с заранее определенным порогом, при этом модуль вычисления SAD формирует единственный бит, чтобы указать режим кадра F, если разность ниже, чем заранее определенный порог.
48. Способ декодирования потока видео, содержащий этапы: формируют множество кадров преобразования с повышением частоты кадров (FRUC) из принятого потока видео; вычисляют значение RD_cost макроблока F кадра на основании макроблока в одном из множества кадров FRUC; сравнивают вычисленное значение RD_cost макроблока F кадра с значением RD_cost макроблока кадра В для соответствующего макроблока в соответствующем В кадре; и декодируют видеопоток, причем декодирование видеопотока включает в себя извлечение битов из выходного потока из кадра В, когда значение RD_cost макроблока кадра В меньше, чем значение RD_cost макроблока кадра F, и извлечение битов из выходного потока из кадра F, когда значение RD_cost макроблока кадра F меньше или равно, чем значение RD_cost макроблока кадра В.
49. Устройство для декодирования потока видео, содержащее средство для формирования множества кадров преобразования с повышением частоты кадров (FRUC) из принятого потока видео; средство для вычисления значения RD_cost макроблока F кадра на основании макроблока в одном из множества кадров FRUC; средство для сравнения вычисленного значения RD_cost макроблока F кадра с значением RD_cost макроблока кадра В для соответствующего макроблока в соответствующем В кадре; и средство для декодирования, причем средство для декодирования извлекает биты из выходного потока из кадра В, когда значение RD_cost макроблока кадра В меньше, чем значение RD_cost макроблока кадра F, и извлекает биты из выходного потока из кадра F, когда значение RD_cost макроблока кадра F меньше или равно, чем значение RD_cost макроблока кадра В.
50. Считываемый компьютером носитель, имеющий команды, сохраненные на нем, причем сохраненные команды при выполнении процессором вынуждают процессор выполнять способ для декодирования потока видео, причем способ содержит этапы: формируют множество кадров преобразования с повышением частоты кадров (FRUC) из принятого потока видео; вычисляют значение RD_cost макроблока F кадра на основании макроблока в одном из множества кадров FRUC; сравнивают вычисленное значение RD_cost макроблока F кадра со значением RD_cost макроблока кадра В для соответствующего макроблока в соответствующем В кадре; и декодируют видеопоток, причем декодирование видеопотока включает в себя извлечение битов из выходного потока из кадра В, когда значение RD_cost макроблока кадра В меньше, чем значение RD_cost макроблока кадра F, и извлечение битов из выходного потока из кадра F, когда значение RD_cost макроблока кадра F меньше или равно, чем значение RD_cost макроблока кадра В.
Приоритеты:
Приоритеты:
01.07.2004 - пп.1, 2, 5-6, 11-14, 17-18, 26-27, 38, 39;
22.03.2005 - пп.3-4, 7-10, 15-16, 19-25, 28-37, 40-50.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US58515404P | 2004-07-01 | 2004-07-01 | |
US60/585,154 | 2004-07-01 | ||
US66581605P | 2005-03-22 | 2005-03-22 | |
US60/665,816 | 2005-03-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2007103812A RU2007103812A (ru) | 2008-08-10 |
RU2370909C2 true RU2370909C2 (ru) | 2009-10-20 |
Family
ID=35116155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2007103812/09A RU2370909C2 (ru) | 2004-07-01 | 2005-07-01 | Способ и устройство для использования способов преобразования кадров с повышением частоты кадров при кодировании масштабируемого видео |
Country Status (15)
Country | Link |
---|---|
US (1) | US8948262B2 (ru) |
EP (1) | EP1774779A2 (ru) |
JP (2) | JP5038134B2 (ru) |
KR (2) | KR20070053212A (ru) |
CN (1) | CN101010964B (ru) |
AR (1) | AR049454A1 (ru) |
AU (1) | AU2005262409A1 (ru) |
BR (1) | BRPI0512816A (ru) |
CA (1) | CA2572605C (ru) |
IL (1) | IL180444A0 (ru) |
MX (1) | MX2007000254A (ru) |
PE (1) | PE20060536A1 (ru) |
RU (1) | RU2370909C2 (ru) |
TW (1) | TWI392374B (ru) |
WO (1) | WO2006007527A2 (ru) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2446471C1 (ru) * | 2010-12-23 | 2012-03-27 | Государственное образовательное учреждение высшего профессионального образования "Тамбовский государственный технический университет" ГОУ ВПО ТГТУ | Способ обнаружения движущихся объектов и определения их параметров |
RU2676408C1 (ru) * | 2010-03-17 | 2018-12-28 | Нтт Докомо, Инк. | Устройство кодирования движущегося изображения с предсказанием, способ кодирования движущегося изображения с предсказанием, программа кодирования движущегося изображения с предсказанием, устройство декодирования движущегося изображения с предсказанием, способ декодирования движущегося изображения с предсказанием и программа декодирования движущегося изображения с предсказанием |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2565670A1 (en) * | 2004-05-04 | 2005-11-17 | Qualcomm Incorporated | Method and apparatus for motion compensated frame rate up conversion |
WO2006007527A2 (en) | 2004-07-01 | 2006-01-19 | Qualcomm Incorporated | Method and apparatus for using frame rate up conversion techniques in scalable video coding |
EP1772017A2 (en) | 2004-07-20 | 2007-04-11 | Qualcomm Incorporated | Method and apparatus for encoder assisted-frame rate up conversion (ea-fruc) for video compression |
US8553776B2 (en) | 2004-07-21 | 2013-10-08 | QUALCOMM Inorporated | Method and apparatus for motion vector assignment |
US9258519B2 (en) * | 2005-09-27 | 2016-02-09 | Qualcomm Incorporated | Encoder assisted frame rate up conversion using various motion models |
US20070076796A1 (en) * | 2005-09-27 | 2007-04-05 | Fang Shi | Frame interpolation using more accurate motion information |
US20070230564A1 (en) * | 2006-03-29 | 2007-10-04 | Qualcomm Incorporated | Video processing with scalability |
US8750387B2 (en) * | 2006-04-04 | 2014-06-10 | Qualcomm Incorporated | Adaptive encoder-assisted frame rate up conversion |
US8634463B2 (en) * | 2006-04-04 | 2014-01-21 | Qualcomm Incorporated | Apparatus and method of enhanced frame interpolation in video compression |
US8582660B2 (en) | 2006-04-13 | 2013-11-12 | Qualcomm Incorporated | Selective video frame rate upconversion |
US8565216B2 (en) * | 2006-06-07 | 2013-10-22 | Qualcomm Incorporated | Methods and apparatus for supporting tunneling related to wireless uplink signaling flows |
US8565217B2 (en) * | 2006-06-07 | 2013-10-22 | Qualcomm Incorporated | Methods and apparatus for supporting tunneling related to wireless downlink signaling flows |
WO2007143721A2 (en) * | 2006-06-07 | 2007-12-13 | Qualcomm Incorporated | Methods and apparatus for using control values to control communications processing |
CN100584006C (zh) * | 2006-06-20 | 2010-01-20 | 中兴通讯股份有限公司 | 一种基于时间分辨率变换的视频转换处理方法 |
US10084627B2 (en) | 2006-07-10 | 2018-09-25 | Qualcomm Incorporated | Frequency hopping in an SC-FDMA environment |
US8457221B2 (en) | 2006-09-08 | 2013-06-04 | Qualcomm Incorporated | Signaling transmission with localized spreading for wireless communication |
CA2667166A1 (en) | 2006-11-06 | 2008-05-15 | Qualcomm Incorporated | Method for transmit power control dependent on subband load |
US8199812B2 (en) | 2007-01-09 | 2012-06-12 | Qualcomm Incorporated | Adaptive upsampling for scalable video coding |
US9072096B2 (en) | 2007-01-09 | 2015-06-30 | Samsung Electronics Co., Ltd | Apparatus and method for allocating resources in a single carrier-frequency division multiple access system |
US8514939B2 (en) * | 2007-10-31 | 2013-08-20 | Broadcom Corporation | Method and system for motion compensated picture rate up-conversion of digital video using picture boundary processing |
US8767831B2 (en) * | 2007-10-31 | 2014-07-01 | Broadcom Corporation | Method and system for motion compensated picture rate up-conversion using information extracted from a compressed video stream |
US8848793B2 (en) * | 2007-10-31 | 2014-09-30 | Broadcom Corporation | Method and system for video compression with integrated picture rate up-conversion |
US8660175B2 (en) * | 2007-12-10 | 2014-02-25 | Qualcomm Incorporated | Selective display of interpolated or extrapolated video units |
JP4296218B1 (ja) * | 2008-02-21 | 2009-07-15 | シャープ株式会社 | 映像表示装置 |
US8284839B2 (en) | 2008-06-23 | 2012-10-09 | Mediatek Inc. | Joint system for frame rate conversion and video compression |
US8494058B2 (en) | 2008-06-23 | 2013-07-23 | Mediatek Inc. | Video/image processing apparatus with motion estimation sharing, and related method and machine readable medium |
US20100008419A1 (en) * | 2008-07-10 | 2010-01-14 | Apple Inc. | Hierarchical Bi-Directional P Frames |
US20100149301A1 (en) * | 2008-12-15 | 2010-06-17 | Microsoft Corporation | Video Conferencing Subscription Using Multiple Bit Rate Streams |
US8009567B2 (en) * | 2009-02-05 | 2011-08-30 | Cisco Technology, Inc. | System and method for improved data transmission reliability over a network |
JP5551308B2 (ja) | 2010-05-26 | 2014-07-16 | クゥアルコム・インコーポレイテッド | カメラパラメータ支援型のビデオフレームレート・アップコンバージョン |
US8947492B2 (en) * | 2010-06-18 | 2015-02-03 | Microsoft Corporation | Combining multiple bit rate and scalable video coding |
KR101750047B1 (ko) * | 2010-10-11 | 2017-06-22 | 삼성전자주식회사 | 3차원 영상 제공 및 처리 방법과 3차원 영상 제공 및 처리 장치 |
JP5950541B2 (ja) * | 2011-11-07 | 2016-07-13 | キヤノン株式会社 | 動きベクトル符号化装置、動きベクトル符号化方法及びプログラム、動きベクトル復号装置、動きベクトル復号方法及びプログラム |
US8661491B1 (en) * | 2012-08-02 | 2014-02-25 | Ericsson Television Inc. | Methods using base content and additive content and related client devices and network server devices |
US10230956B2 (en) * | 2012-09-26 | 2019-03-12 | Integrated Device Technology, Inc. | Apparatuses and methods for optimizing rate-distortion of syntax elements |
CN103152566B (zh) * | 2013-02-22 | 2016-03-09 | 华中科技大学 | 一种视频帧率提升方法 |
JP6156489B2 (ja) * | 2013-04-23 | 2017-07-05 | 富士通株式会社 | 画像符号化装置、画像符号化方法、及び撮像装置 |
CN103929648B (zh) * | 2014-03-27 | 2017-04-19 | 华为技术有限公司 | 一种帧率上采样中的运动估计方法和装置 |
US10432946B2 (en) * | 2014-12-23 | 2019-10-01 | Apple Inc. | De-juddering techniques for coded video |
US10055807B2 (en) | 2016-03-02 | 2018-08-21 | Samsung Electronics Co., Ltd. | Hardware architecture for acceleration of computer vision and imaging processing |
CN107770511A (zh) * | 2016-08-15 | 2018-03-06 | 中国移动通信集团山东有限公司 | 一种多视点视频的编解码方法、装置和相关设备 |
JP2022008719A (ja) * | 2016-11-23 | 2022-01-14 | セルヴァス エーアイ インコーポレイテッド | 疾患発症予測方法及び装置 |
US10523961B2 (en) | 2017-08-03 | 2019-12-31 | Samsung Electronics Co., Ltd. | Motion estimation method and apparatus for plurality of frames |
CN112534827B (zh) * | 2018-08-10 | 2023-07-14 | 索尼公司 | 接收装置、接收方法、发送装置和发送方法 |
Family Cites Families (81)
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 | 강진구 | 영상신호의 운동벡터 검출방법 |
CN1052840C (zh) * | 1993-06-01 | 2000-05-24 | 汤姆森多媒体公司 | 用于对数字视频信号进行插值的方法及装置 |
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 | ビデオ画像符号化方法及び復号化方法とその装置 |
US6957350B1 (en) * | 1996-01-30 | 2005-10-18 | Dolby Laboratories Licensing Corporation | Encrypted and watermarked temporal and resolution layering in advanced television |
US5852565A (en) | 1996-01-30 | 1998-12-22 | Demografx | Temporal and resolution layering in advanced television |
WO1997046020A2 (en) * | 1996-05-24 | 1997-12-04 | Philips Electronics N.V. | Motion vector processing |
JP4159606B2 (ja) | 1996-05-24 | 2008-10-01 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 動き推定 |
JP3363036B2 (ja) | 1996-08-23 | 2003-01-07 | ケイディーディーアイ株式会社 | 動画像符号化ビットストリーム変換装置 |
US6453288B1 (en) * | 1996-11-07 | 2002-09-17 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for producing component of excitation vector |
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 |
JP4092778B2 (ja) | 1997-06-04 | 2008-05-28 | 株式会社日立製作所 | 画像信号の方式変換装置及びテレビジョン受像機 |
EP0883298A3 (en) | 1997-06-04 | 2000-03-29 | Hitachi, Ltd. | Conversion apparatus for image signals and TV receiver |
JP4083266B2 (ja) | 1997-10-07 | 2008-04-30 | 株式会社日立製作所 | 動きベクトルの生成方法および装置 |
WO1999022525A1 (en) | 1997-10-23 | 1999-05-06 | Mitsubishi Denki Kabushiki Kaisha | Image encoding method, image encoder, image decoding method, and image decoder |
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 |
JP2003513565A (ja) * | 1999-10-29 | 2003-04-08 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | ビデオ符号化方法 |
US6639943B1 (en) | 1999-11-23 | 2003-10-28 | Koninklijke Philips Electronics N.V. | Hybrid temporal-SNR fine granular scalability video coding |
KR100840133B1 (ko) | 2000-05-18 | 2008-06-23 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | Mc 업 컨버젼에서 헤일로를 감소시키는 움직임 추정기 |
EP1296525A4 (en) | 2000-06-28 | 2006-07-26 | Mitsubishi Electric Corp | 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 |
EP1827029A1 (en) * | 2002-01-18 | 2007-08-29 | Kabushiki Kaisha Toshiba | Video decoding method and apparatus |
US8374465B2 (en) | 2002-02-28 | 2013-02-12 | Entropic Communications, Inc. | Method and apparatus for field rate up-conversion |
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 | ソニー株式会社 | 画像処理装置および方法、記録媒体、並びにプログラム |
WO2003102868A2 (en) * | 2002-05-29 | 2003-12-11 | 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 |
WO2004025965A1 (en) | 2002-09-11 | 2004-03-25 | Koninklijke Philips Electronics N.V. | Video coding method and device |
JP3910510B2 (ja) | 2002-09-17 | 2007-04-25 | 株式会社東芝 | フレーム補間システム及びフレーム補間方法 |
JP4007594B2 (ja) | 2002-09-26 | 2007-11-14 | 株式会社東芝 | 動画像符号化装置及び方法、動画像符号化方式変換装置及び方法 |
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 | 株式会社東芝 | 補間画像生成方法および装置 |
US20050201471A1 (en) | 2004-02-13 | 2005-09-15 | Nokia Corporation | Picture decoding method |
CA2565670A1 (en) * | 2004-05-04 | 2005-11-17 | Qualcomm Incorporated | Method and apparatus for motion compensated frame rate up conversion |
WO2006007527A2 (en) | 2004-07-01 | 2006-01-19 | Qualcomm Incorporated | Method and apparatus for using frame rate up conversion techniques in scalable video coding |
US8374238B2 (en) | 2004-07-13 | 2013-02-12 | Microsoft Corporation | Spatial scalability in 3D sub-band decoding of SDMCTF-encoded video |
EP1772017A2 (en) * | 2004-07-20 | 2007-04-11 | Qualcomm Incorporated | Method and apparatus for encoder assisted-frame rate up conversion (ea-fruc) for video compression |
US8553776B2 (en) | 2004-07-21 | 2013-10-08 | QUALCOMM Inorporated | Method and apparatus for motion vector assignment |
US8649436B2 (en) | 2004-08-20 | 2014-02-11 | Sigma Designs Inc. | Methods for efficient implementation of skip/direct modes in digital video compression algorithms |
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 |
US9113147B2 (en) | 2005-09-27 | 2015-08-18 | Qualcomm Incorporated | Scalability techniques based on content information |
US20070230564A1 (en) * | 2006-03-29 | 2007-10-04 | Qualcomm Incorporated | Video processing with scalability |
US8750387B2 (en) | 2006-04-04 | 2014-06-10 | Qualcomm Incorporated | Adaptive encoder-assisted frame rate up conversion |
US8634463B2 (en) * | 2006-04-04 | 2014-01-21 | Qualcomm Incorporated | Apparatus and method of enhanced frame interpolation in video compression |
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-01 WO PCT/US2005/023333 patent/WO2006007527A2/en active Application Filing
- 2005-07-01 JP JP2007519444A patent/JP5038134B2/ja not_active Expired - Fee Related
- 2005-07-01 KR KR1020077002477A patent/KR20070053212A/ko not_active Application Discontinuation
- 2005-07-01 AU AU2005262409A patent/AU2005262409A1/en not_active Abandoned
- 2005-07-01 MX MX2007000254A patent/MX2007000254A/es active IP Right Grant
- 2005-07-01 PE PE2005000769A patent/PE20060536A1/es not_active Application Discontinuation
- 2005-07-01 EP EP05768150A patent/EP1774779A2/en not_active Withdrawn
- 2005-07-01 AR ARP050102766A patent/AR049454A1/es active IP Right Grant
- 2005-07-01 TW TW094122411A patent/TWI392374B/zh not_active IP Right Cessation
- 2005-07-01 CN CN200580029061XA patent/CN101010964B/zh not_active Expired - Fee Related
- 2005-07-01 RU RU2007103812/09A patent/RU2370909C2/ru not_active IP Right Cessation
- 2005-07-01 KR KR1020087027670A patent/KR100913260B1/ko active IP Right Grant
- 2005-07-01 US US11/173,121 patent/US8948262B2/en active Active
- 2005-07-01 CA CA2572605A patent/CA2572605C/en not_active Expired - Fee Related
- 2005-07-01 BR BRPI0512816-1A patent/BRPI0512816A/pt not_active IP Right Cessation
-
2006
- 2006-12-28 IL IL180444A patent/IL180444A0/en unknown
-
2011
- 2011-03-22 JP JP2011062806A patent/JP5175370B2/ja not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
SHAN LIU et al, MCI-embedded motion compensated prediction for quality enhancement of frame interpolation, Proceeding of the SPIE - THE INTERNATIONAL SOCIETY FOR OPTICAL ENGINEERING, MULTIMEDIA SYSTEMS AND APPLICATIONS III, USA, vol.4209, 06.11.2000, c.251-261. YEN-KUANG CHEN et al, FRAME-RATE UP-CONVERSION USING TRANSMITTED TRUE MOTION VECTORS, IEEE Workshop on Multimedia Signal Processing, Los Angeles, Dec. 1998. PURI A et all, AN INTERFRAME CODING SCHEME FOR PACKET VIDEO, PROCEEDINGS OF THE SPIE, US, vol.1199, part 3, 08.11.1989, c.1610-1619. * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2676408C1 (ru) * | 2010-03-17 | 2018-12-28 | Нтт Докомо, Инк. | Устройство кодирования движущегося изображения с предсказанием, способ кодирования движущегося изображения с предсказанием, программа кодирования движущегося изображения с предсказанием, устройство декодирования движущегося изображения с предсказанием, способ декодирования движущегося изображения с предсказанием и программа декодирования движущегося изображения с предсказанием |
RU2446471C1 (ru) * | 2010-12-23 | 2012-03-27 | Государственное образовательное учреждение высшего профессионального образования "Тамбовский государственный технический университет" ГОУ ВПО ТГТУ | Способ обнаружения движущихся объектов и определения их параметров |
Also Published As
Publication number | Publication date |
---|---|
JP2008505555A (ja) | 2008-02-21 |
CA2572605C (en) | 2013-04-02 |
IL180444A0 (en) | 2007-06-03 |
JP2011182408A (ja) | 2011-09-15 |
BRPI0512816A (pt) | 2008-04-08 |
US8948262B2 (en) | 2015-02-03 |
US20060002465A1 (en) | 2006-01-05 |
AU2005262409A1 (en) | 2006-01-19 |
KR100913260B1 (ko) | 2009-08-21 |
PE20060536A1 (es) | 2006-06-28 |
JP5038134B2 (ja) | 2012-10-03 |
TW200625963A (en) | 2006-07-16 |
CN101010964A (zh) | 2007-08-01 |
JP5175370B2 (ja) | 2013-04-03 |
CN101010964B (zh) | 2012-01-04 |
AR049454A1 (es) | 2006-08-02 |
EP1774779A2 (en) | 2007-04-18 |
KR20080112369A (ko) | 2008-12-24 |
KR20070053212A (ko) | 2007-05-23 |
RU2007103812A (ru) | 2008-08-10 |
CA2572605A1 (en) | 2006-01-19 |
WO2006007527A3 (en) | 2006-08-17 |
TWI392374B (zh) | 2013-04-01 |
MX2007000254A (es) | 2007-04-09 |
WO2006007527A2 (en) | 2006-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2370909C2 (ru) | Способ и устройство для использования способов преобразования кадров с повышением частоты кадров при кодировании масштабируемого видео | |
JP5069099B2 (ja) | 時間スケーラビリティを可能にするハイブリッド映像圧縮におけるフレーム予測のための方法および装置 | |
US9521411B2 (en) | Method and apparatus for encoder assisted-frame rate up conversion (EA-FRUC) for video compression | |
CA2574590C (en) | Method and apparatus for motion vector prediction in temporal video compression | |
KR100881037B1 (ko) | 시간적 확장성을 위한 양방향 예측 프레임을 구성하는 방법 및 장치 | |
CA2600750A1 (en) | Content adaptive multimedia processing | |
Ye et al. | Improved side information generation with iterative decoding and frame interpolation for distributed video coding | |
Fung et al. | Low complexity H. 263 to H. 264 video transcoding using motion vector decomposition | |
Bai et al. | Multiple description video coding using inter-and intra-description correlation at macro block level | |
Li et al. | Motion information exploitation in H. 264 frame skipping transcoding | |
Andrews et al. | Test model 12/Appendix II of H. 263 Version 3 Purpose: Information | |
Zhang et al. | Distributed low-complexity H. 264 video combining for multipoint video conferencing | |
Du et al. | A fast MPEG-2 to H. 264 downscaling transcoder | |
CN102340647A (zh) | 手机双向视频的实现方法 | |
KR20040042325A (ko) | 동영상 디코더 및 이를 이용한 디코딩 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FA94 | Acknowledgement of application withdrawn (non-payment of fees) |
Effective date: 20090413 |
|
FZ9A | Application not withdrawn (correction of the notice of withdrawal) |
Effective date: 20090514 |
|
FZ9A | Application not withdrawn (correction of the notice of withdrawal) |
Effective date: 20090514 |
|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20150702 |