RU2370909C2 - Способ и устройство для использования способов преобразования кадров с повышением частоты кадров при кодировании масштабируемого видео - Google Patents

Способ и устройство для использования способов преобразования кадров с повышением частоты кадров при кодировании масштабируемого видео Download PDF

Info

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
Application number
RU2007103812/09A
Other languages
English (en)
Other versions
RU2007103812A (ru
Inventor
Виджаялакшми Р. РАВИИНДРАН (US)
Виджаялакшми Р. РАВИИНДРАН
Гордон Кент УОЛКЕР (US)
Гордон Кент Уолкер
Original Assignee
Квэлкомм Инкорпорейтед
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Квэлкомм Инкорпорейтед filed Critical Квэлкомм Инкорпорейтед
Publication of RU2007103812A publication Critical patent/RU2007103812A/ru
Application granted granted Critical
Publication of RU2370909C2 publication Critical patent/RU2370909C2/ru

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods 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/19Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/567Motion estimation based on rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods 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.
RU2007103812/09A 2004-07-01 2005-07-01 Способ и устройство для использования способов преобразования кадров с повышением частоты кадров при кодировании масштабируемого видео RU2370909C2 (ru)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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