JP5306990B2 - 選択的ビデオ・フレーム・レート・アップコンバージョン - Google Patents

選択的ビデオ・フレーム・レート・アップコンバージョン Download PDF

Info

Publication number
JP5306990B2
JP5306990B2 JP2009505634A JP2009505634A JP5306990B2 JP 5306990 B2 JP5306990 B2 JP 5306990B2 JP 2009505634 A JP2009505634 A JP 2009505634A JP 2009505634 A JP2009505634 A JP 2009505634A JP 5306990 B2 JP5306990 B2 JP 5306990B2
Authority
JP
Japan
Prior art keywords
frame
threshold
motion activity
criteria
video
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2009505634A
Other languages
English (en)
Other versions
JP2009533977A (ja
Inventor
マハデバン、ビジャイ
ピライ、ブリジェシュ
エル−マレー、クハレド・ヘルミ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2009533977A publication Critical patent/JP2009533977A/ja
Application granted granted Critical
Publication of JP5306990B2 publication Critical patent/JP5306990B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0127Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level by changing the field or frame frequency of the incoming video signal, e.g. frame rate converter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0135Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
    • H04N7/0137Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes dependent on presence/absence of motion, e.g. of motion zones

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Systems (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

関連文献
本出願は、米国仮特許出願番号第60/792,147号、2006年4月13日出願、の優先権を主張し、その全体の内容は、引用により本明細書中に組み込まれている。
本発明は、ディジタル・ビデオ・エンコーディング及びデコーディングに係わり、特に、ビデオ・フレーム・レート・アップコンバージョンのための技術に関する。
複数の異なるビデオ・エンコーディング規格が、ディジタル・ビデオ系列をエンコードするために制定されてきている。例えば、動画専門家グループ(MPEG:Moving Picture Expert Group)は、MPEG−1,MPEG−2及びMPEG−4を含む複数の規格を開発してきている。別の例は、国際電気通信連合(ITU:International Telecommunication Union)−TH.263規格、及び明らかにされてきているITU−TH.264規格及びその対応規格、ISO/IEC MPEG−4,パート10、すなわち、先端ビデオ・コーディング(AVC:Advanced Video Coding)を含む。これらのビデオ・エンコーディング規格は、圧縮方式でデータをエンコードすることによりビデオ系列の伝送効率の向上をサポートする。
圧縮は、伝送される必要があるデータの全体量を削減する。一般的なディジタル・ビデオ・エンコーディング技術は、連続したビデオ・フレームの類似性、時間的な相関又はフレーム間相関と呼ばれる、を利用して、フレーム間圧縮を提供する。フレーム間圧縮技術は、ビデオ・フレームのピクセル・ベースの表示を動き表示に変換することによってフレーム全体にわたるデータ冗長性を活用する。フレーム間技術を使用してエンコードされたフレームは、P(“予測(predictive”)フレーム又はB(“双方向(bi-directional)”)フレームと呼ばれる。他のフレームは、空間的圧縮を使用して内部コード化される。
低帯域幅要求を満足させるために、ある複数のビデオ・アプリケーションは、フレーム・スキッピングを使用して低減したフレーム・レートでビデオをエンコードする。不幸にして、低フレーム・レート・ビデオは、ぎくしゃくした動きの形でアーティファクト(artifact)を生成することがある。フレーム内挿又は外挿は、デコーダ側で利用されることができて、飛ばされたフレームの内容を近似し、そして実質的に、実際のフレーム・レートをアップコンバートしてより滑らかな動きの認知を提供する。フレーム内挿又は外挿は、フレーム・レート・アップコンバージョン(FRUC:frame rate up conversion)をサポートするために使用されることができる。FRUCが飛ばされたフレームを内挿すること又は外挿することによって時間的な品質を向上させるとは言え、ある複数のフレームの内挿又は外挿は、望ましくない空間的アーティファクトを同様に導入することがあり、それはビデオ系列の視覚的な品質を害する。
サマリー
本明細書は、ビデオ・デコーダにおいてFRUCを選択にイネーブルするため及びディスエーブルするための技術に向けられている。本明細書にしたがえば、ビデオ・デコーダは、1又はそれより多くの適応基準に基づいてFRUCを選択的にイネーブルする及びディスエーブルする。適応基準は、特定のフレームの内挿又は外挿が重大な空間的アーティファクトを導入する可能性があるかどうかを示すために選択されることができる。フレーム内挿又は外挿技術は、FRUC方式の一部として使用されることができ、ビデオ系列の時間的品質を向上させる。FRUCがディスエーブルされるとき、デコーダは、フレーム繰返し、すなわち、飛ばされたフレームの代わりに前のフレームの繰返し、を適用することができる。
FRUCを選択的にイネーブルするための適応基準は、動きアクティビティしきい値、モード判断しきい値、又は両者を含むことができる。それぞれのケースにおいて、適切な基準は、固定というよりはむしろ適応性がある。特に、その基準は、飛ばされたフレームの近くの1又はそれより多くのフレームの内容に適応できることがある。前のフレームの内容が大きな動き又は新たな内容を含むことを、その基準が示すときには、ビデオ・デコーダは、FRUCを一時的にディスエーブルする。それゆえ、適応基準に基づいて、ビデオ・デコーダは、FRUC又はフレーム繰返しのいずれかを選択する。
1つの実施形態では、本明細書は、1又はそれより多くの基準に基づきビデオ・デコーダにおいてビデオ・フレーム・レート・アップコンバージョンを選択的にイネーブルすること及びディスエーブルすること;及び飛ばされたフレームの近くの少なくとも1つの前のビデオ・フレームの1又はそれより多くの特性に基づいて該基準を適応させること、を具備する方法を提供する。
別の1つの実施形態では、本明細書は、フレーム・レート・アップコンバージョン・モジュール;及び1又はそれより多くの基準に基づき該フレーム・レート・アップコンバージョン・モジュールを選択的にイネーブルし及びディスエーブルし、そして飛ばされたフレームの近くの少なくとも1つの前のビデオ・フレームの1又はそれより多くの特性に基づいて該基準を適応させる、制御モジュールを具備するビデオ・デコーダを提供する。
本明細書中に記載される技術は、ハードウェア、ソフトウェア、ファームウェア、及びこれらの任意の組み合わせで実行されることができる。ソフトウェアで実行される場合に、ソフトウェアは、プロセッサ、例えば、ディジタル信号プロセッサ(DSP:digital signal processor)、において実行されることができる。本技術を実行するソフトウェアは、コンピュータ読取り可能な媒体中に最初に記憶されることができ、そしてプロセッサにロードされ、実行されることができる。したがって、本発明は、プロセッサに、適応ビデオ・フレーム補間のための技術を実行するようにさせる命令を具備するコンピュータ読取り可能な媒体をも同様に想定する。
本発明の1又はそれより多くの実施形態の詳細は、添付された図面及び以下の説明に記載される。本発明のその他の特徴、目的及び利点は、詳細な説明及び図面から、そして特許請求の範囲から明らかなるであろう。
詳細な説明
図1は、FRUCが1又はそれより多くの適応基準に基づいて選択的にイネーブルされる又はディスエーブルされる選択的FRUC技術を使用するように構成されたビデオ・エンコーディング及びデコーディング・システム10を説明するブロック図である。図1に示されるように、システム10は、送信チャネル15により接続されたビデオ・エンコーダ12とビデオ・デコーダ14とを含む。送信チャネル15は、ビットストリーム内のフレームを搬送することが可能な有線媒体ケーブル又は無線媒体ケーブルであり得る。チャネル15は、双方向又は一方向ビデオ送信をサポートすることができる。
システム10は、テレビ電話法、ビデオ・ストリーミング又はビデオ・ブロードキャスティングのために構成されることができる。したがって、相互のエンコーディング、デコーディング、多重化(MUX:multiplexing)及び逆多重化(DMUX:demultiplexing)構成素子は、チャネル15の反対側の端に与えられることができる。ある複数の実施形態では、エンコーダ12とデコーダ14は、ビデオ通信デバイス、例えば、ビデオ・ストリーミング、ビデオ・ブロードキャストの受信、及び/又はテレビ電話法、例えば、いわゆる無線テレビ電話、又はカメラ電話、のために装備された無線移動端末、の内部に組み込まれることができる。
システム10は、セッション・イニシエーデッド・プロトコル(SIP:Session Initiated Protocol)、ITU−TH.323規格、ITU−TH.324規格、又はその他の規格にしたがってテレビ電話法をサポートすることができる。ビデオ・エンコーダ12は、ビデオ圧縮規格、例えば、MPEG−2,MPEG−4,ITU−TH.263,ITU−TH.264,又はMPEG−4,パート10、にしたがってエンコードされたビデオ・データを生成する。図1には示されていないが、ビデオ・エンコーダ12とビデオ・デコーダ14は、それぞれオーディオ・エンコーダ及びデコーダとともに統合されることができ、そしてデータ・ストリームのオーディオ部分とビデオ部分との両方を取り扱うために適切なハードウェア構成要素とソフトウェア構成要素とを含むことができる。
エンコーダ12は、ビデオ・フレーム16をエンコードし、そのフレームは内部フレーム(Iフレーム)、予測フレーム(Pフレーム)、及び双方向予測フレーム(Bフレーム)を含むことができる。Iフレームは、空間コーディング技術を使用して全てのビデオ情報を完全にエンコードするフレームである。エンコードされたフレームは、フレームを形成する一連のビデオ・ブロックを記述する情報を備えることができる。そのビデオ・ブロックは、時にはマクロブロック(MB)と呼ばれ、例えば、ルミナンス(Y)色チャネル、クロミナンス赤(Cr)色チャネル、及びクロミナンス青(Cb)色チャネルで、ピクセル値を定めるコーディング・ビットを含む。
エンコーダ12は、送信チャネル15を経由して送信されるデータのフレーム・レートを削減するためにフレーム・スキッピングを実行することができる。特に、エンコーダ12は、例えば、選択されたフレームをコーディングしないことにより、又は選択されたコード化済みフレームを送信しないことにより、選択されたフレームを意図的に飛ばすように構成されることができる。フレーム・スキッピングは、エンコーダ12がチャネル15の送信レート要求の削減にしたがうことを可能にする。フレームは、固定レートで飛ばされることができ、その結果、スキッピングが一つ置きのフレームで生じる、又はn番目のフレーム毎に生じる。あるいは、フレームは、例えば、インテリジェント・フレーム・スキッピング基準に基づいて、変化するレートで飛ばされることができる。いずれのケースでも、実効フレーム・レートを増加させるために、そしてそれにより時間的品質を向上させるために、デコーダ14は、FRUCプロセスを実行して、ビデオ・フレーム内挿又は外挿のいずれかを使用して飛ばされたフレームの少なくともあるものを近似する。FRUCプロセスがビデオ・フレーム外挿を使用できるとは言え、ビデオ・フレーム内挿(補間)が、一般に、説明の目的のために本明細書で説明される。
FRUCは、デコーダ14によって使用されることができ、飛ばされたフレームを置き換える。それに加えて、ある複数のインプリメンテーションでは、FRUCは、送信の間に欠落したフレーム又は失われたフレームのために使用されることができる。エンコーダ12によって飛ばされたフレーム若しくは送信の間に欠落した又は失われたフレームは、一般に本明細書では飛ばされたフレームとして呼ばれる。FRUCプロセスが飛ばされたフレームを内挿すること又は外挿することによって時間的品質を向上させることができるが、そのような技術は、望ましくない空間的アーティファクトを導入することがあり、それはビデオ系列の本来的な視覚品質を害することがある。デコーダ14は、本明細書にしたがって、飛ばされたビデオ・フレームにFRUCの選択的な適用のための技術を適用する。本明細書にしたがって、デコーダ14は、1又はそれより多くの適応基準に基づいてFRUCを選択的にイネーブルする、及びディスエーブルする、その基準は、FRUCが重大な空間的アーティファクトを導入する可能性があるかどうかを示す。
一般に、FRUCを選択的にイネーブルすること及びディスエーブルすることのためにデコーダ14により適用される適応基準は、動きアクティビティしきい値、モード判断しきい値、又は両者を含むことができる。それぞれのケースにおいて、適切な基準は、飛ばされたフレームの近くの、例えば、補間されようとしているフレームの近くの、1又はそれより多くのフレーム内容に適応しそして適合する。例えば、前のフレームの内容が過剰な動き又は新たな内容を含むことをその基準が示すときには、デコーダ14は、FRUCを一時的にディスエーブルする。その基準がほとんど動きアクティビティがないことを示すときには、デコーダ14は、FRUCをイネーブルする。
FRUCがディスエーブルされるときには、デコーダ14は、フレーム繰返し、すなわち、飛ばされたフレームの代わりに前のフレームの繰返し、を作動させる。このケースでは、デコーダ14は、例えば、補間に起因して、FRUCにより導入されることがある、望ましくない空間的アーティファクトを防止する。しかしながら、フレーム繰返しは、ビデオの認識される時間的品質を低下させる。これゆえ、適応基準は、デコーダ14がフレーム内挿(又は外挿)又はフレーム繰返しのいずれかを選択的に適用することによって時間的な品質に対して空間的な品質をバランスさせることを可能にする。
図1の例では、ビデオ・エンコーダ12は、ビデオ情報の着信フレームF,F,Fを処理するために構成されたフレーム処理ユニット20を含む。フレーム処理ユニット20は、着信フレームFとFを上記のI,P又はBフレーム16のうちの1つとしてエンコードする。Fは、飛ばされようとしているフレームを表す。ビデオ・エンコーダ12は、送信チャネル15を介してビデオ・デコーダ14へ、処理されたフレームFとFを含むが、飛ばされたフレームFを含まないフレーム16を送信する。一般的に、エンコーダ12は、IBBPBBPBBPBBIのような、事前に決められた系列でこれらのフレームを送信する、ここで、I,BそしてPは、それぞれIフレーム、Bフレーム、そしてPフレームを指す。
フレームF,F,Fは、複数のフレームを含んでいるビデオ系列中の3つのフレームを表し、そして2つの送信されたフレームの間に存在する飛ばされたフレームF(F,F,F)の補間(内挿)を説明するために使用される。ある複数の実施形態では、複数のフレームが飛ばされることがあり、そのケースでは、2つの送信されたフレームの間に存在する1より多くのフレームが補間を必要とすることがある。説明を容易にするために、本明細書は、1つのフレームFが飛ばされそして選択的に補間されるケースの例を言及する。
ビデオ・デコーダ14は、送信チャネル15を介して送信されたフレーム16を連続的に受信する。ビデオ・デコーダ14は、例えば、MPEG−1,MPEG−2,MPEG−4,H.263,H.264,MPEG−4,パート10規格のうちの1つにしたがって、受信したフレーム16(FとF)のそれぞれをデコードするために標準デコーディング技術を適用することができる。本明細書にしたがって、デコーダ14は、選択的FRUCモジュール24をさらに含み、それは飛ばされたフレームFを選択的に補間するためにフレーム16に適用する。再び、FRUCプロセスがフレーム外挿を使用することができるけれども、フレーム内挿が例の目的ために本明細書では説明される。
選択的FRUCモジュール24は、ビデオ系列で連続するフレームを受け取る。補間されようとしている各飛ばされたフレーム(F)に対して、前のフレーム(F)と現在のフレーム(F)とがある。補間されようとしているフレームは、前のフレームと現在のフレームとの間に存在する。補間は、様々な技術、例えば、動き補償された補間(MCI:motion-compensated interpolation)、一次補間、双一次補間、双三次補間、スプライン補間、最近接補間、又はその他、のうちのいずれかにより実行されることができる。選択的FRUCモジュール24は、受け取ったフレームが過剰な量の動き又は新たな内容を含んでいるかどうかを、適応基準、例えば、適応動きアクティビティしきい値、適応モード判断しきい値、又は両者、を使用して判断する。
前のフレームFと現在のフレームFとが過剰な動き又は新たな内容を示す場合には、飛ばされたフレームFは、補間のために良くない候補と考えられる。特に、過剰な動きアクティビティ又は新たな内容は、補間が望ましくない空間的アーティファクトを生成するという実質的な可能性を示す。望ましくない空間的アーティファクトのもっともらしい生成は、FRUCに対する補間の適用が望ましくない結果を生成するはずであるという観点でFRUC失敗として呼ばれることがある。これゆえ、選択的FRUCモジュール24は、補間をイネーブルするかディスエーブルするかどうかを判断する際に、FRUC失敗予測(FFP:FRUC failure prediction)を頼りにする。
選択的FRUCモジュール24は、動きアクティビティしきい値、モード判断しきい値、又は両者に基づいてFRUC失敗を予測する。特に、そのようなしきい値は、一定ではない。その代りに、しきい値は、フレーム系列のあいだ中ビデオ・フレーム内容に動的に適応される。FRUC失敗が予測されるとき、前のフレームからの情報に基づいて、選択的FRUCモジュール24は、補間をディスエーブルする。補間がディスエーブルされるときには、デコーダ14は、その前のフレームと現在のフレームとの間でフレームを補間することの代わりに、単純に前のフレームを繰り返すことができる。このケースでは、デコーダ14は、飛ばされたフレームの代わりに前のフレームの複写された版を使用する。
選択的なFRUCは、補間されたフレームが顕著な空間的アーティファクトを生成するという可能性を低減する。逆に、選択的なFRUCは、飛ばされたフレームの補間が許容可能な視覚的な結果を生成する見込みがあるときには、前のフレームの繰返しを避ける。そのように、自由裁量の判断又は経験的な判断に基づく固定のしきい値に依存する技術とは異なり、本明細書に記載される技術は、それによってデコーダ14は補間されたときに空間的アーティファクトの高い可能性を有するそれらのフレームを繰り返すことができる、エラーに強くそして内容に基づいた選択的技術を提供する。
図2は、ビデオ・デコーダ14においてFRUC技術をサポートするための飛ばされたフレームの補間のための簡単な技術の一例を説明する図である。一般に、前のフレームFと現在のフレームFとの間の飛ばされたフレームF中のMBを補間するために、ビデオ・デコーダ14は、フレームF中のMB25とフレームF中の対応するブロック27との間に延びるベクトルv13を頼りにすることができる。フレームFとFは、補間を必要とする飛ばされたフレームFの、それぞれ時間的に前の(t−1)及び次の(t+1)フレームである。ベクトルv13は、一般に(1:2フレーム・レート変換のために)2つに分割され、動きベクトルv13/2と−v13/2を生成し、そして飛ばされたフレームF中の対応するMB29を同定する。1:N変換のために、動きベクトルは、それにしたがってスケーリングされるはずである。
図3は、図1のビデオ・デコーダ14をより詳細に説明するブロック図である。図3に示されるように、ビデオ・デコーダ14は、選択的FRUCモジュール24を含む。選択的FRUCモジュール24は、FRUC失敗予測(FFP)モジュール26及びFRUCモジュール28を含む。図2の例では、FFPモジュール26は、FRUCモジュール28のための制御モジュールを形成し、そして動きアクティビティ解析モジュール30及び内部マクロブロック(MB)解析モジュール32を含む。別の実施形態では、FFPモジュール26は、動きアクティビティ解析モジュール30だけ、内部MB解析モジュール32だけ、又は動きアクティビティ解析モジュール30と内部MB解析モジュール32との両者を含むことができる。
動きアクティビティ解析モジュール30は、現在のフレームFと前のフレームFについての動きアクティビティ情報を解析して、前のフレームと現在のフレームとの間の飛ばされたフレームFが補間されるべきであるかどうかを判断する。内部MB解析モジュール32は、モード判断しきい値に対して現在のフレーム中の内部コード化されたMBビットを解析して、飛ばされたフレームが補間されるべきであるかどうかを判断する。FFPモジュール26は、動きアクティビティ解析モジュール30と内部MB解析モジュール32を別々に又は組み合わせで利用することができて、例えば、内挿又は外挿により、FRUCプロセスを使用して再生する代わりに繰り返されるべきフレームを同定する。FRUCモジュール28は、FRUCプロセスをサポートするために従来の補間技術を適用することができ、FFPモジュール26に応じて選択的にイネーブルすること又はディスエーブルすることを行わせ、それはFRUCモジュールに対する制御モジュールとして機能する。
FFPモジュール26は、動きアクティビティ解析モジュール30を使用して、過剰な動き又は新たな内容の指標である動きアクティビティしきい値を適応するように(adaptively)決定する。新たな内容は、新たなオブジェクトを指すことができ、それは一連のビデオ・フレームにわたりあるビデオ・シーンを迅速に挿入する又は取り去る。動きアクティビティ解析モジュール30は、フレームの系列中の前のビデオ・フレームを受け取りそして解析し、そして動きアクティビティ値を生成する。ある複数の実施形態では、動きアクティビティ値は、動きベクトル・ヒストグラムから得られる動きベクトル値であり得る。前のビデオ・フレームは、飛ばされたフレームの直前のフレーム、又は飛ばされたフレームの近くの1又はそれより多くの前のフレームであり得る。動きベクトル・ヒストグラムは、前のビデオ・フレーム中の複数のMBの間の動きベクトルの分布を示し、そして例えば、そのフレーム中の全てのMB全体にわたる平均又は中間値動きベクトル値の観点から、前のビデオ・フレームの内容の動きアクティビティを特徴づけるために使用されることができる。
前のフレームについての、又は動きベクトルが利用可能である最も近い過去のフレームについての動きベクトル・ヒストグラムを使用して、動きアクティビティ解析モジュール30は、動きアクティビティしきい値を適応するように調節する。動きアクティビティしきい値は、ヒストグラムの全体の範囲から選択されることができる。例えば、動きアクティビティ解析モジュール30は、前のフレームについての平均又は中間値動きベクトルと差異値の総和として動きアクティビティしきい値を設定することができる。このようにして、動きアクティビティしきい値は、各新たなフレームが受信されると適応するように更新される。特に、動きアクティビティ解析モジュール30がビデオ系列中の追加のフレームを受信するので、新たな“前の”フレームを受信し、そしてそのフレームについての平均動きベクトルに基づいて動きアクティビティしきい値を更新する。これゆえ、ビデオ系列が進行するにつれ、飛ばされたフレームの補間は、飛ばされたフレームに関係する新たな前のフレーム及び現在のフレームと相関関係がある。
動きアクティビティ解析モジュール30は、前のフレームが、複数のビデオ・ブロック(マクロブロック(MB)と呼ばれることがある)を記述する情報を含むことを一般に要求し、そこでは、各MBが動きベクトル情報を含む。したがって、動きアクティビティ解析モジュール30は、一般的に、ビデオ系列のPフレームに対して使用されることができる。Pフレームは、付随する動きベクトルを有する相互コード化されたMBの優位性を一般に含む。利用可能な動きベクトル情報から、動きアクティビティ解析モジュール30は、動きベクトル・ヒストグラムを計算する。この例では、動きベクトル・ヒストグラムに基づいて、動きアクティビティ解析モジュール30は、動きアクティビティしきい値を適応するように決定する。
動きアクティビティ解析モジュール30は、現在のビデオ・フレームについての動きベクトル情報を現在の“前の”フレームに基づいて調節された動きアクティビティしきい値と比較して、FRUCがイネーブルされるべきであるかどうか、そしてそれゆえ、あるフレームが補間されるべきであるかどうかを、判断する。現在のフレームについての動きアクティビティ情報、例えば、平均動きベクトル、が、動きアクティビティしきい値を超え、過剰な動き又は新たな内容を示している場合には、FFPモジュール26は、FRUCモジュール28による補間をディスエーブルする。このケースでは、デコーダ14は、前のフレームを繰り返す。あるいは、動きアクティビティ情報が動きアクティビティしきい値を超えない場合には、FFPモジュール26は、FRUCモジュール28をイネーブルして、補間を適用する。
ある複数の実施形態では、動きアクティビティ解析モジュール30は、ビデオ・フレームのX(水平)方向とY(垂直)方向との両方で動きベクトル情報を解析するように動作することができる。現在のフレームのX方向の平均動きベクトル値がX方向に対する適応動きアクティビティしきい値を超える場合には、FFPモジュール26は、補間をディスエーブルする。同様に、現在のフレームのY方向の平均動きベクトル値がY方向に対する適応動きアクティビティしきい値を超える場合には、FFPモジュール26は、補間をディスエーブルする。代案として、角度情報がベクトル強度及びベクトル方向の両者を評価するために使用されることができる。より高度な適応しきい値ストラトジー(strategy)は、同様に使用されることが可能である。例えば、スライディングMBウィンドウは、動きベクトル・ヒストグラムを定式化するために使用されることができる。
あるいは、又はそれに加えて、FFPモジュール26は、内部MB解析モジュール32を使用することができ、フレームが補間されるべきであるかどうかを適応するように判断する。内部MB解析モジュール32は、現在のフレームのモード判断情報を使用する。内部MBは、動き推定が失敗したときに、又はMBを相互コード化するよりはむしろMBを内部コード化することがより経済的(すなわち、少ないコーディング・ビット)であるときに、使用される。両方のケースにおいて、フレーム中に内部MBの存在が重要な新たな内容又は動きの指標であると仮定することは、妥当である。一般に、内部MB解析モジュール28は、現在のフレーム中の内部MBの数を適応モード判断しきい値と比較して、飛ばされたフレームが補間されるべきであるかどうかを判断する。モード判断しきい値は、これから説明されるように、2つの異なる技術のいずれか一方又は両方を使用して決定されることができる。
1つの技術にしたがって、内部MB解析モジュール32は、ビットストリーム・レベルで現在のフレーム中の内部MBカウントにしたがってモード判断しきい値を適応するように調節する。特に、内部MB解析モジュール32は、前のフレームに関する中間値から1標準偏差を超える複数のMBビットを有する前のフレーム中のMBを数えるために、フレームの系列の前のフレームを受け取りそして解析する。あるMBが1標準偏差を超える複数のMBビットを有する場合に、別のMBと比較して、MBの内部コーディング又は大きな動きが、推論されることができる。前のフレーム中の内部コード化されたMBの数は、一般に前のフレーム中の動き又は変化の程度を示す。同様に、MBビットの大きな数は、前のフレームからのより大きな変化の領域を意味する。
このMB情報から、内部MB解析モジュール32は、モード判断しきい値を適応するように決定する。特に、内部MB解析モジュール32は、前のフレーム中で内部MBとして計数されたMBの数と差異値との合計としてモード判断しきい値を設定することができる。現在のフレーム中の内部MBの数がモード判断しきい値よりも大きい場合には、前のフレームと現在のフレームとの間に実質的な動き又は変化がある。このケースでは、FFPモジュール26は、FRUCモジュール28をディスエーブルし、そしてビデオ・デコーダ14は、飛ばされたフレームを補間する代わりに前のフレームを繰り返す。特に、内部MBビットの解析は、モード判断しきい値がビットストリーム・レベル情報を使用して得られることを可能にする。
あるいは、又はそれに加えて、内部MB解析モジュール32は、前のフレーム中のおおよそのつながったオブジェクト・サイズを推定することによって内部MBカウントに対するモード判断しきい値を使用することができる。このアプローチは、前にデコードされたフレームの強度情報を頼りにし、そしてそのフレーム内の主要なオブジェクトのサイズを予測する。それゆえ、モード判断しきい値は、フレーム中のつながったオブジェクト・サイズ、フレーム中の内部MBの数、又は両方に基づくことができる。強度情報を使用して、内部MB解析モジュール32は、前のフレーム中の主要なオブジェクトによってカバーされるMBの数を推定し、そしてそのモード判断しきい値を推定値に、又は推定値プラス差異値に等しく設定する。特に、強度情報は、つながったオブジェクトの指標である強度の実質的に共通の範囲を共有するMBを同定するために使用される。
現在のフレーム中のつながった内部MBの数は、モード判断しきい値と比較されることができ、飛ばされたフレームの補間がイネーブルされるべきか又はディスエーブルされるべきかどうかを判断する。現在のフレーム中の内部MBカウントがこのモード判断しきい値、すなわち、前のフレーム中の主要なオブジェクトによりカバーされるMBの推定された数、を超える場合には、そのオブジェクトが実質的に動いた、又は新たなオブジェクトが導入された可能性がある。このケースでは、FFPモジュール26は、FRUCモジュール28をディスエーブルする。このようにして、FFPモジュール26は、制御モジュールとして動作し、その場面の突然の動き又はそれへの新たなオブジェクトの導入のいずれかのために内部MBの過大な個数を含んでいるフレームに対するFRUCをディスエーブルする。
上記の2つの異なるモード判断しきい値技術、すなわち、内部MBカウント及びつながったオブジェクト・サイズ、は、単独で、又は互いに組み合わせられて使用されることができ、補間を選択的にイネーブルする及びディスエーブルする。同様に、上記の動きアクティビティしきい値技術は、単独で若しくは1つ又は両方のモード判断しきい値との組み合わせで使用されることができる。モード判断しきい値技術に関して、適応しきい値は、前のフレーム中で内部コード化されたとして同定されるMBの数と相関関係がある。動きアクティビティしきい値技術に関して、適応しきい値は、前のフレーム中の動きベクトル情報と相関関係がある。それぞれのケースにおいて、適応しきい値の使用は、フレーム補間及びフレーム繰返しのより効率的な適用をサポートして、時間的品質と空間的品質の両方を向上させる。動きアクティビティしきい値とモード判断しきい値の決定と使用のさらなる議論が、図4を参照してこの後に続く。
図4は、図2のFFPモジュール26をさらに詳細に説明するブロック図である。図4に示されるように、FFPモジュール26の動きアクティビティ解析モジュール30は、前のフレーム34Aと現在のフレーム34Bとを処理する。FFPモジュール26の内部MB解析モジュール32は、しかも、前のフレーム34Aと現在のフレーム34Bとを処理する。前のフレーム34Aと現在のフレーム34Bは、図1と図2においてFとFでそれぞれ記されたフレームをそれぞれ備えることができ、それらはビデオ・エンコーダ12によってエンコードされ、そしてビデオ・デコーダ14に送信チャネル15を介して送信される。以下に説明される動作は、FFPモジュール26がフレーム34A、34Bを受け取った後で進むことができ、そしてこれらの動作をサポートする命令を実行することが可能なプロセッサによって実行されることができる。
フレーム34A,34Bを受け取ると、動きアクティビティ解析モジュール30は、前のフレーム34Aを解析することができ、動きベクトル(MV)ヒストグラム38(“MVヒストグラム38”)を計算することができる、それは下記の図7Bと図7Dにさらに詳細に示される。特に、動きアクティビティ解析モジュール30は、前のフレーム34A内部の各MBを解析しそしてMVヒストグラムを生成するためにそれぞれのMVをコンパイルすることによって、MVヒストグラム38を決定する。MVヒストグラム38から、動きアクティビティ解析モジュール30は、様々な方法のうちの1つで動きベクトル(MV)しきい値40A(“MV_prevしきい値40A”)を適応するように決定する。
ある複数の実施形態では、動きアクティビティ解析モジュール30は、MVヒストグラム38から中間値又は平均動きベクトルを決定し、そしてこの中間値又は平均動きベクトル+差異値にMV_prevしきい値40Aを設定する。別の実施形態では、動きアクティビティ解析モジュール30は、MVヒストグラム38を計算するために移動MBウィンドウを使用するより高度なステラテジー(strategy)を使用する、そこでは、これらの高度なストラテジーを使用して計算された値にしたがってMV_prevしきい値40Aを設定する。それぞれのケースにおいて、値MV_prevしきい値40Aは、ビデオ系列が処理されるにつれてそれぞれの新たな“前の”フレームへの適応性がある。
MV_prevしきい値40Aを適応するように決定した後で、動きアクティビティ解析モジュール30は、現在のフレーム34Bを解析し、MV_prevが中間値又は平均動きベクトルに設定されることを仮定して、平均動きベクトル(MVavg)42を決定する。特に、動きアクティビティ解析モジュール30は、現在のフレーム34BのMBについてのMVを示している現在のフレーム34Bにより搬送される情報からMVavg42を決定する。動きアクティビティ解析モジュール30は、MVavg42をMV_prevしきい値40Aと比較する。
MVavg42がMV_prevしきい値40Aを超える場合には、それは、前のフレーム34Aに比して現在のフレーム34Bの動きアクティビティの著しい変化のためであり得る。これゆえ、前のフレーム34Aと現在のフレーム34Bとの間を補間することは、望ましくない空間的アーティファクトに導くはずであり、そして最適なストラテジーは、FRUCよりはむしろフレーム繰返しであるはずである。このケースでは、FRUCモジュール28が飛ばされたフレームを内挿する又は外挿する従来のFRUC技術を実行すべきではなく、その代わりに前のフレーム34Aを繰り返すことを、動きアクティビティ解析モジュール30は、FFPモジュール26に指示する。
同様に、フレーム34A,34Bを受け取ると、内部MB解析モジュール32は、前のフレーム34Aを解析して、前の内部MBカウントしきい値(N_prev)40Bを決定することができる。特に、内部MB解析モジュール32は、そのフレーム中の全てのMBに関する中間値から1標準偏差を超えるコーディング・ビットの数を有するMBの数に基づいて前のフレームについての内部MBカウントしきい値を生成することができる。前のMBカウントしきい値40Bは、それゆえ、前のフレーム中の内部コード化されたMBの推定された数の指標を与え、それは前のフレーム中の動きアクティビティの程度に相互に関係する。前のMVカウントしきい値(N_prev)は、前のフレームに関する中間値から1標準偏差を超えるビットを有するMBの数に等しい、又はその数プラス差異値に等しいことがある。
前のMBカウントしきい値40Bを適応するように決定した後で、内部MB解析モジュール32は、現在のフレーム34Bを解析して、内部MBカウント(Nintra)44、すなわち、現在のフレーム中の内部コード化されたMBの数、を決定する。特に、内部MB解析モジュール32は、前のフレームについての前のMBカウントしきい値40Bを決定することを参照して上に論じた方法で実質的に、現在のフレームについての内部MBカウント44を決定することができる。次に、内部MB解析モジュール32は、前のフレームについての前の内部MBカウントしきい値40Bを現在のフレームについての内部MBカウント44と比較する。もし、現在のフレーム中の内部MBの数、すなわち、内部MBカウント44、が前のMBカウントしきい値N_prev40Bを超える場合には、前のフレーム34Aから現在のフレーム34Bへの著しい変化がある。このケースでは、内部MB解析モジュール32は、FRUCモジュール28をディスエーブルし、その結果、それは飛ばされたフレームを補間しない。その代りに、デコーダ14は、飛ばされたフレームの代わりに前のフレーム34Aを繰り返す。
内部MBカウント技術とともに、又は代わりとして、内部MB解析モジュール32は、前のフレーム及び現在のフレーム内のつながったオブジェクト・サイズしきい値(Contig_th)40Cの推定値に基づいてモード判断しきい値を生成することができる。特に、内部MB解析モジュール32は、前のフレーム34AのMB情報を解析することができ、その結果、つながったMBの数として表わされた前のフレーム34A内部に存在するオブジェクトのおおよそのサイズを決定する。つながったオブジェクト・サイズしきい値40Cを決定するために、内部MB解析モジュール32は、MB情報内部に存在する情報のピクセル強度、例えば、ルミナンス(Y)値、を頼りにすることができる。
具体例の実施形態では、内部MB解析モジュール32は、前のフレーム34Aの複数の垂直断面及び水平断面を決定し、そしてそれらの断面に沿ったピクセル強度プロファイルを解析することによって、最大のつながったオブジェクトのサイズを推定する。強度に基づいて、内部MB解析モジュール32は、断面がそこを通過する任意のオブジェクトの一つの次元に沿ったおおよそのサイズを推定する。次に、内部MB解析モジュール32は、X次元とY次元断面からの断面情報を統合し、そして得られたオブジェクト・サイズの間で最大値を同定する。内部MB解析モジュール32は、最大オブジェクト・サイズによって定められるつながったオブジェクトによりカバーされるMBの数を推定し、そしてつながったオブジェクト・サイズしきい値40Cをこの数又はこの数プラス差異値の合計のいずれかに設定する。
ある複数の実施形態では、内部MB解析モジュール32は、強度プロファイルを考慮しつつ計算上の複雑さを軽減するために、前のフレーム34Aの空間的にサブ−サンプリングされた版を利用することができる。別の実施形態では、内部MB解析モジュール32は、強度プロファイルを考慮しないことがあるが、その代わりに前のフレーム34A内部で規定されたMBのDC値を考慮する、それはビットストリームで容易に適用可能である。そのような実施形態では、内部MB解析モジュール32は、DC値プロファイルの形状変動を見つけることにより、つながったオブジェクト・サイズしきい値40Cを推定することができる。
一旦、つながったオブジェクト・サイズしきい値40Cが決定されると、内部MB解析モジュール32は、現在のフレーム34Bを解析して、つながった内部MBカウント(N_contiguousintra)46を決定する。内部MB解析モジュール32は、つながったオブジェクト・サイズしきい値40Cを決定することを参照して上に記述したものと実質的に類似の方法で、現在のフレーム34Bについてのつながった内部MBカウント46を決定することができる。次に、内部MB解析モジュール32は、つながったオブジェクト・サイズしきい値40Cをつながった内部MBカウント46と比較する。もし、現在のフレーム中の内部MBの数、すなわち、つながった内部MBカウント46、が、つながったオブジェクト・サイズしきい値40Cを超える場合には、前のフレーム34Aから現在のフレーム34Bへの著しい変化が生じている。例えば、オブジェクトは、前のフレームと現在のフレームとの間で、移動した、回転した、引っ込んだ、前進した、又は向きを変えたことがある。このケースでは、内部MB解析モジュール32は、FRUCモジュール28をディスエーブルし、その結果、それは飛ばされたフレームを補間しない。その代りに、デコーダ14は、飛ばされたフレームの代わりに前のフレーム34Aを繰り返す。
図5は、具体例の技術を説明するフローチャートであり、そこでは図3のビデオ・デコーダ14のような、ビデオ・デコーダが飛ばされたフレームを補間するためにFRUCを使用するかどうかを適応するように判断する。図4の例では、ビデオ・デコーダ14のFFPモジュール26は、上記のように、3つの異なるしきい値を適応するように決定し、そしてカスケードされた構成でこれらのしきい値を適用する。例えば、FFPモジュール26は、動きアクティビティしきい値、内部MBカウントに基づいて第1のモード判断しきい値、そしてつながったオブジェクト・サイズに基づいて第2のモード判断しきい値を適用することができる。図5では、FRUCモジュール28による補間をイネーブルするために、現在のフレームが3つの適用可能なしきい値のいずれをも超えないことを、FFPモジュール26が検証するという観点で、複数のしきい値は、“カスケード”される。図4を参照して以下に説明されるが、本技術は、飛ばされたフレームを内挿すること又は外挿することによりFRUCを適用することが可能ないずれのビデオ・デコーダにも適用することができ、そして図4の図示された実施形態に限定されるべきではない。
最初に、FFPモジュール26は、送信チャネル15を介して前のフレーム34Aと現在のフレーム34Bの両方を受信する(48)。フレーム34A、34Bを受信すると、動きアクティビティ解析モジュール30は、前のフレームについてのMVヒストグラム38を決定し、そして上記のように、MVヒストグラム38に基づいて、動きアクティビティしきい値MV_prevしきい値40Aを適応するように決定する(50)。次に、動きアクティビティ解析モジュール30は、現在のフレーム34Bを解析して、現在のフレーム中のMBのあいだの平均動きベクトル(MVavg)42を決定する(52)。一旦、しきい値40Aと平均動きベクトル42の両方が決定されると、動きアクティビティ解析モジュール30は、MV_prevしきい値40Aを平均動きベクトル(MVavg)42と比較する(54)。もし、MVavg42がMV_prevしきい値40Aを超える場合には、FFPモジュール26は、飛ばされたフレームを補間することの代わりに前のフレーム34Aを繰り返すことをFRUCモジュール28に指示する(56)。しかしながら、もし、MVavg42がMV_prevしきい値40Aを超えない場合には、動きアクティビティ解析モジュール30は、FRUCモジュール28に何の指示も行わないで、制御を内部MB解析モジュール32に渡す。
内部MB解析モジュール32は、同様に前のフレーム34Aと現在のフレーム34Bを受け取る。上に記述したように、内部MB解析モジュール32は、前のフレーム34Aについての内部MBカウントに基づいて前のMBカウントしきい値(N_prev)40Bを適応するように決定することができ、そして現在のフレーム34Bについての内部MBカウント(Nintra)44を決定する(58,60)。次に、内部MB解析モジュール32は、Nintra44をN_prevしきい値40Bと比較する(62)。もし、Nintra44がN_prevしきい値40Bを超える場合には、内部MB解析モジュール32は、飛ばされたフレームを補間することの代わりに前のフレーム34Aを繰り返すべきであることをFRUCモジュール28に指示する(56)。
しかしながら、もし、Nintra44がN_prevしきい値40Bを超えない場合には、内部MB解析モジュール32は、上に記述したように、第3のしきい値、すなわち、つながったオブジェクト・サイズしきい値(Contig_th)40Cを適応するように決定する(64)。内部MB解析モジュール32は、しかも上に記述した方法で、現在のフレーム34Bについての内部MBカウント(N_contiguousintra)46を決定する(66)。両者を決定した後で、内部MB解析モジュール32は、N_contiguousintra46をContig_thしきい値40Cと比較する(68)。もし、N_contiguousintra46がContig_thしきい値40Cを超える場合には、内部MB解析モジュール32は、前のフレーム34Aを繰り返すべきであることをFRUCモジュール28に指示する。もし、N_contiguousintra46がContig_thしきい値40Cを超えない場合には、内部MB解析モジュール32は、例えば、飛ばされたフレームの補間により、FRUCを実行すべきであることをFRUCモジュール28に指示する(70)。
これゆえ、FFPモジュール26は、FRUCモジュール28に対してFRUC又はフレーム繰返し判断を与える。もし、過大な動き又は内容の変化のために繰返しが望ましい場合には、FFPモジュール26は、特定の飛ばされたフレームに対してFRUCモジュール28をディスエーブルする。FFPモジュール26は、その後、次の組の前のフレームと現在のフレームを受け取り、そしてもう1つのFRUC又は繰返し判断を行う。プロセスは、ビデオ系列の終わりまで連続的に進み、飛ばされたフレームのそれぞれに対して動きアクティビティしきい値及び/又はモード判断しきい値をアドレスする。図5に示されたカスケードされたアプローチでは、FFPモジュール26は、3つの異なるしきい値40A−40Cを適応するように決定しそして適用する。別の実施形態では、FFPモジュール26は、補間判断をサポートするために1つだけ又は2つだけのしきい値を適用することができる。
図6は、別の1つの具体例の技術を説明するフローチャートであり、そこではビデオ・デコーダ、例えば、図2のビデオ・デコーダ14、はFRUCをイネーブルするか又はディスエーブルするかどうかを適応するように判断する。図6の例では、ビデオ・デコーダ14のFFPモジュール26は、上記の3つの異なるしきい値、すなわち、動きアクティビティしきい値、内部MBカウント−ベースのモード判断しきい値、及びつながったオブジェクト・サイズ−ベースのモード判断しきい値、を適応するように決定し、そして重み付けされた構成でこれらのしきい値を適用する。図6に示されたプロセスは、FFPモジュール26が図4に示されたしきい値40A−40Cを適応するように決定し、例えば、しきい値40A−40Cを現在のフレーム34Bから得られた情報と比較し、そして比較のそれぞれを重み付けして飛ばされたフレームを補間するか否かを決定する。
しきい値比較の重み付け解析は、判断融合(decision fusion)をもたらす。各比較の重みは、互いに相対的にしきい値比較を優先させるように調節することができ、そしてそれにより適応補間技術を調整する。ある複数の実施形態では、重みは、ビデオ・デコーダ14の動作の間に手動で又は自動的に調節されることができる。別の実施形態では、重みは、例えば、工場において変化しないように設定されることができる。図4を参照して以下に記述されるが、本技術は、飛ばされたフレームを補間することができる任意のビデオ・デコーダに対しても適用することができ、そして図4の図示された実施形態に限定されるべきではない。
最初に、FFPモジュール26は、送信チャネル15を介して前のフレーム34Aと現在のフレーム34Bの両方を受け取る(72)。フレーム34A、34Bを受け取ると、動きアクティビティ解析モジュール30は、MVヒストグラム38を決定し、そしてMVヒストグラム38に基づいて、上記のように、前のフレーム34AからMV_prevしきい値40Aを適応するように決定する(74)。次に、動きアクティビティ解析モジュール30は、現在のフレーム34Bを解析して、平均動きベクトル(MVavg)42を決定する(76)。一旦、しきい値40Aと平均動きベクトル42との両方が決定されると、動きアクティビティ解析モジュール30は、MV_prevしきい値40Aを平均動きベクトル(MVavg)42と比較し、そして比較の結果を重み付けし、重み付けされた差異値を生成する(78)。
次に、上記したように、内部MB解析モジュール32は、前のフレーム34Aについての前のMBカウントしきい値(N_prev)40Bを適応するように決定し、そして現在のフレーム34Bについての内部MBカウント(Nintra)44を決定する(80,82)。これらの決定に引き続いて、内部MB解析モジュール32は、Nintra44をN_prevしきい値40Bと比較し、そして比較の差異の結果を重み付けする(84)。内部MB解析モジュール32は、上に記述したように、第3のしきい値、すなわち、前のフレーム34Aから、つながったオブジェクト・サイズしきい値(Contig_th)40Cを適応するように決定する(86)。内部MB解析モジュール32は、上に記述した方法で、現在のフレーム34Bについてのつながった内部MBカウント(N_contiguousintra)46を同様に決定する(88)。両者を決定した後で、内部MB解析モジュール32は、N_contiguousintra46をContig_thしきい値40Cと比較し、そして比較の差異結果を重み付けする(90)。
上記の3つの比較を行いそして各比較を重み付けると、FFPモジュール26は、例えば、1又はそれより多くの数学演算を実行することによって重み付けした比較を融合する(92)。例えば、重み付けされた差異結果は、単純に合計されることができ、そして合成しきい値と比較される。もし、重み付けされた差異の合計が合成しきい値を超える場合には、FFPモジュール26は、FRUCモジュール28による補間をディスエーブルし、結果として前のフレームの繰返しをもたらす(96)。もし、重み付けされた差異結果の合計が合成しきい値を超えない場合には、FFPモジュール26は、FRUCモジュール28をイネーブルする(98)。重み付けされた比較の融合は、広範囲の数学演算、例えば、規格化及びスケーリング、で行われる。
図7A−図7Dは、前のフレーム、例えば、図4の前のフレーム34A、のマクロブロック(MB:macro block)の具体例の分布とそれらに付随するMVヒストグラム(それはMVヒストグラム38と実質的に同じであり得る)とを説明するグラフである。図7Aは、動きベクトル大きさのヒストグラム分布を図示するグラフ100を示す。図7Bは、動きベクトル大きさの規格化したヒストグラムを図示するグラフ102を示す。図7Cは、動きベクトル方向の分布を図示するグラフ104を示す。図7Dは、動きベクトル方向のヒストグラムを図示するグラフ106を示す。
グラフ100−106は、本明細書中に記述される選択的FRUC技術において使用されることができる情報を図示する。図7Aを参照して、グラフ100のx−軸は、動きベクトル大きさを示し、そしてグラフ100のy−軸は、それぞれの動きベクトル大きさを有するMBの数を示す。そのように、グレーの棒は、x−軸により定められる特定の動きベクトル大きさを有するMBの数を示す。
図7Bを参照して、グラフ102のx−軸は、動きベクトル大きさを示し、そしてグラフ102のy−軸は、MBがy−軸に沿った所与の値以下の動きベクトル大きさを有する確率を示す。そのように、グレーの棒は、MBがx−軸により示される大きさ以下の動きベクトルを有するであろう可能性を示す。例えば、右端の最後のグレーの棒は、MBが19以下の大きさを有するであろう100%(すなわち、1.0)の可能性があることを示す。
グラフ100又は102に示されたデータを使用して、動きアクティビティ解析モジュール30は、前のフレームについての平均動きベクトル大きさを決定することができる。図示されたヒストグラム・グラフ102では、動きアクティビティ解析モジュール30は、平均動きベクトル大きさをほぼ6.8と決定する。図7Cを参照して、グラフ104のx−軸は、動きベクトル方向を度で示し、そしてグラフ104のy−軸は、各動き方向を有するMBの数を示す。そのように、グレーの棒は、x−軸により定められる特定の動きベクトル方向を有するMBの数を示す。グラフ104は、前のフレーム34AのMB情報に基づいている。グラフ104は、方向ごとにMBを配列し、そして25度回転角度の各方向範囲についてのMBの数をカウントする。
図7Dを参照して、グラフ106のx−軸は、動きベクトル方向を度で示し、そしてグラフ106のy−軸は、MBがy−軸に沿った所与の値以下の動きベクトル方向を有する確率を示す。そのように、グレーの棒は、MBがx−軸により示される方向より小さいかそれに等しい方向の動きベクトルを有するであろう可能性を示す。例えば、右端のグレーの棒は、MBが350度より小さいかそれに等しい方向を有するであろう100%(すなわち、1.0)の可能性があることを示す。ヒストグラム・グラフ106中の情報を使用して、動きアクティビティ解析モジュール30は、前のフレームについての平均動きベクトル方向を決定することができる。図示されたヒストグラム・グラフ106は、138.50の平均動きベクトル方向を示す。
ベクトルが大きさと方向の両方を必要とするので、ヒストグラム・グラフ102,106から決定された結果の平均値を使用して、動きアクティビティ解析モジュール30は、平均動きベクトルを決定する。動きアクティビティ解析モジュール30は、それぞれヒストグラム・グラフ102,106から導かれた平均大きさと平均方向に基づくベクトル値にMV_prevしきい値40Aを設定する。このようにして、動きアクティビティ解析モジュール30は、MVヒストグラム38(それはヒストグラム・グラフ102,106と実質的に同じであり得る)中のデータからMV_prevしきい値40Aを決定する。
一例として、動きアクティビティ解析モジュール30は、前に述べたように、X(水平)方向、Y(垂直)方向、又は両方向のベクトル成分の大きさを比較することができる。あるいは、動きアクティビティ解析モジュール30は、それぞれのしきい値に対してベクトルの大きさと角度とを比較することができる。それぞれのケースにおいて、動きアクティビティ解析モジュール30は、大きさと方向の両方を頼りにすることができて、過大な動き又は場面変化を同定する。
説明の容易さのためにグラフ100−106として示されるが、動きアクティビティ解析モジュール30は、グラフ形式でヒストグラム・グラフ102,106を実際に構成する必要はない。その代りに、動きアクティビティ解析モジュール30は、ある複数の実施形態では、グラフ102,106によって表わされるものと類似の情報を含む表、リンクされたリスト、ツリー、又は別のタイプのデータ構造を記憶することができる。これらのデータ構造の解析は、上記のように、比較を実行することができる平均動きベクトルを同様にもたらすことができる。
図8Aと図8Bは、MBにより形成された具体例の前のフレーム108及びフレーム108のMBに関するMBビットを示している解析された前のフレーム110を図示する。内部MB解析モジュール32は、前のフレーム108を受け取り、それは前のフレーム34Aに形式で実質的に同じであり得て、そして前のフレーム108に解析を実行して、解析された前のフレーム110を生成する。解析された前のフレーム110の個々のグレー・スケール・タイルは、MBを表し、そしてそれぞれのMBに割り当てられるコーディング・ビットの数を指定する数値を含む。より明るいグレー・スケール・タイルは、少ない数のコーディング・ビットが割り当てられているMBを示し、より低い動きを示す。より暗いグレー・スケール・タイルは、多くの数のコーディング・ビットが割り当てられているMBを示し、より大きな動き又は場面変化を示す。内部MB解析モジュール32は、最初に、例えば、コーディング・ビットの全数をMBの数で割ることにより、各MBに対するコーディング・ビットの平均個数を決定する。
平均ビット値を計算した後で、内部MB解析モジュール32は、平均値より1標準偏差大きい複数のコーディング・ビットを有するそれらのMBを同定し、そしてこの数に基づいて前のMBカウントしきい値(N_prev)40Bを調節する。同定されたMBは、MBに割り当てられるコーディング・ビットの数が相対的に大きいために内部コード化されたMBであると考えられる。N_prevは、平均強度値より1標準偏差大きい複数のコーディング・ビットを有する前のフレーム中のMBの数と差異値との合計であり得る。内部MB解析モジュール32は、現在のフレーム34Bについての内部MBカウント(N_intra)44を計算するために同様の演算を実行することができる。
この演算を介してN_prevとN_intraの両方を計算すると、内部MB解析モジュール32は、その値を比較して、FRUCモジュール28による飛ばされたフレームの補間がイネーブルされるべきか又はディスエーブルされるべきかどうかを決定する。もし、現在のフレーム中の内部コード化されたMB N_intraの数が前のフレームに対するしきい値N_prevよりも大きい場合には、FFPモジュール26は、FRUCモジュール28による飛ばされたフレームの補間をディスエーブルする。その代りに、デコーダ14は、飛ばされたフレームの代わりに前のフレームを繰り返す。あるいは、もし、現在のフレーム中の内部コード化されたMB N_intraの数が前のフレームに対するしきい値N_prev以下である場合には、FFPモジュール26は、FRUCをイネーブルする。
説明を容易にするために図8Aと図8Bを介して図式的に表示したが、デコーダ14において実行される適応補間技術は、図式的な方法でいずれかのそのような演算を実行する必要はなく、その代わりにこれらの演算を実行することができ、そして比較を実行する際に使用するために、表、リンクされたリスト、ツリー、又は任意の他のデータ構造に結果を記憶することができる。したがって、図8Aと図8Bの図式的表示は、単に説明の目的のためである。
図9は、図4の内部MB解析モジュール32が、つながったオブジェクト・サイズしきい値(Contig_th)40Cを決定するために解析することができる、具体例の前のフレーム112を図示する。前のフレーム112は、前のフレーム34Bと実質的に同じであり得る。内部MB解析モジュール32は、前のフレーム112を上記の方法で、すなわち、様々なオブジェクトの強度断面を計算することにより、そして強度断面によって最大のオブジェクトを同定することによって、解析する。前のフレーム112を解析した後で、内部MB解析モジュール32は、最大のオブジェクトが占めるMBの数を推定することにより、つながったオブジェクト・サイズしきい値40C決定する。
前のフレーム112中では、例えば、内部MB解析モジュール32は、断面強度解析によって最大のオブジェクトとしてオブジェクト114を同定する。次に、内部MB解析モジュール32は、近似オブジェクト・サイズ116を形成するMBの数を計数することにより、つながったオブジェクト・サイズしきい値40Cを決定する。内部MB解析モジュール32は、次の式(それは図9に同様に示されている)にしたがって近似オブジェクト・サイズ116を計算することができる:
近似オブジェクト・サイズ
=(V*V)/(MB_size*MBsize
ここで、VとVは、オブジェクト114に関するそれぞれ最大の連続するy−軸強度断面及びx−軸強度断面を表す。MB_sizeとMBsizeは、それぞれy−軸及びx−軸に沿ったマクロブロック(MB)の大きさを表す。この式を使用して、内部MB解析モジュール32は、近似オブジェクト・サイズ116をそしてそれゆえつながったオブジェクト・サイズしきい値40Cを決定することができる。
前のフレームと現在のフレーム中のつながった内部MBの比較は、FFPモジュール26による補間判断のための基礎として働く。もし、現在のフレーム中の最大のつながったオブジェクトについての推定されるMBカウントが前のフレーム中の最大のつながったオブジェクトについてのMBカウントに基づいて計算されたモード判断しきい値を超える場合には、そのオブジェクトは、実質的に動いた可能性がある。このケースでは、FFPモジュール26は、FRUCモジュール28による補間をディスエーブルする。このようにして、FFPモジュール26は、過大な量の動き又は新たな内容を含むフレームに対する補間をディスエーブルする。
動きアクティビティしきい値又はモード判断しきい値の適応決定は、ビデオ・デコーダ14をイネーブルすることができて、飛ばされたフレームの補間のために、よりエラーに強くそして適応性のあるフレームの事前スクリーニングの方法を提供する。適応補間を用いて、ビデオ・デコーダ14は、観察者によって見られる空間的アーティファクトを最小にすることが可能である。それに加えて、デコーダ14は、ある複数のフレームの補間を回避することによって計算上のオーバーヘッド及び電力消費を削減することができる。所与のフレームを繰り返すこと又は補間することの判断を行うために必要な大部分の情報がビットストリーム・レベルで利用可能であるので、適応技術は、実行するために必ずしも困難であることもない。
本明細書中に記述された技術は、ハードウェア、ソフトウェア、ファームウェア又はこれらのいずれかの組み合わせで実行されることができる。特に、本明細書中に記述されたように、デコーダは、様々なハードウェア、ソフトウェア及びファームウェア構成要素のうちのいずれかによって実現されることができる。用語モジュール、ユニット、又は類似の術語は、同様に、ハードウェア・モジュール、ソフトウェア・モジュール、ファームウェア・モジュール、又はそれらの組み合わせを指すことができる。
本技術の様々な態様は、1又はそれより多くのマイクロプロセッサ、ディジタル信号プロセッサ(DSP:digital signal processor)、用途特定集積回路(ASIC:application specific integrated circuit)、フィールド・プログラマブル・ゲートアレイ(FPGA:field programmable gate array)若しくは他の同等な集積回路又はディスクリート論理回路、同様にそのような構成要素のいずれかの組み合わせの内部で実行されることができる。用語“プロセッサ”又は“処理回路構成”は、一般に、上記の論理回路構成のいずれか単独で又は他の論理回路構成との組み合わせで、若しくはいずれかの他の等価な回路構成を指すことができる。ある複数の実施形態では、本明細書中に記述された機能は、専用のソフトウェア・モジュール又はエンコーディングそしてデコーディングのために構成されたハードウェア・ユニット、若しくは複合されたビデオ・エンコーダ−デコーダ(CODEC)の組み合わせで組み込まれることができる。
ソフトウェアで実行されるとき、本技術は、プログラム・コード又は命令を具備するコンピュータ読取り可能な媒体により一部は実現されることができ、そのプログラム・コード又は命令はプロセッサにより実行されたときに、上記の1又はそれより多くの機能を実行する。そのようなプログラム・コード又は命令を記憶するコンピュータ読取り可能な媒体は、ランダム・アクセス・メモリ(RAM:random access memory)、例えば、シンクロナス・ダイナミック・ランダム・アクセス・メモリ(SDRAM:synchronous Dynamic RAM)、読み出し専用メモリ(ROM:read only memory)、不揮発性ランダム・アクセス・メモリ(NVRAM:non-volatile RAM)、電気的消去書き込み可能ROM(EEPROM:electrically erasable programmable read-only memory)、FLASHメモリ、磁気又は光データ記憶媒体、若しくはそのようなメモリ又は記憶媒体のいずれかの組み合わせを備えることができる。
本発明の様々な実施形態が記述されてきた。これらの実施形態及び他の実施形態は、特許請求範囲の範囲内である。
本明細書にしたがった選択的FRUC技術を使用するように構成されたビデオ・エンコーディング及びデコーディング・システムを説明するブロック図である。 ビデオ・デコーダにおいてFRUC技術をサポートするために飛ばされたフレームの補間のための簡単な技術の一例を説明する図である。 図1のビデオ・デコーダをより詳細に説明するブロック図である。 図3のFRUC失敗予測(FFP)モジュールをさらに詳細に説明するブロック図である。 具体例の技術を説明するフローチャートであり、そこではビデオ・デコーダはFRUCをイネーブルするか又はディスエーブルするかどうかに適応するように判断する。 別の1つの具体例の技術を説明するフローチャートであり、そこではビデオ・デコーダはFRUCをイネーブルするか又はディスエーブルするかどうかに適応するように判断する。 前のフレームのマクロブロック(MB)の具体例の分布と付随する動きベクトル(MV)ヒストグラムとを説明するグラフである。 前のフレームのマクロブロック(MB)の具体例の分布と付随する動きベクトル(MV)ヒストグラムとを説明するグラフである。 前のフレームのマクロブロック(MB)の具体例の分布と付随する動きベクトル(MV)ヒストグラムとを説明するグラフである。 前のフレームのマクロブロック(MB)の具体例の分布と付随する動きベクトル(MV)ヒストグラムとを説明するグラフである。 マクロブロック(MB)へと分割されたビデオ・フレームを説明する。 動きアクティビティの解析における使用のために図8Aのビデオ・フレーム中のMBのそれぞれに割り当てられるコーディング・ビットの数を示しているマップである。 動きアクティビティの解析における使用のためにビデオ・フレーム中のつながったオブジェクトの近似サイズの決定を説明するマップである。

Claims (45)

  1. 動きアクティビティ基準及びモード判断基準に基づきビデオ・デコーダにおいてビデオ・フレーム・レート・アップコンバージョンを選択的にイネーブルする及びディスエーブルすること;
    飛ばされたフレームの近くの少なくとも1つの前のビデオ・フレームの1又はそれより多くの特性に基づいて前記動きアクティビティ基準を適応させること;及び
    前記飛ばされたフレームの近くの前記少なくとも1つの前のビデオ・フレームの前記1又はそれより多くの特性に基づいて前記モード判断基準を適応させること、
    を具備する方法。
  2. 前記動きアクティビティ基準は、動きアクティビティしきい値を含む、ここで、前記方法は、現在のフレームについての動きアクティビティ値が前記動きアクティビティしきい値を超えるとき、フレーム・レート・アップコンバージョンを選択的にディスエーブルすること、をさらに具備する、請求項1の方法。
  3. 前記動きアクティビティ値は、前記現在のフレームについての平均動きベクトル値を含む、そしてここにおいて、前記動きアクティビティしきい値は、前記少なくとも1つの前のフレームについての動きベクトル値のヒストグラムから導き出される、請求項2の方法。
  4. 前記動きアクティビティ基準を適応させることは、前記少なくとも1つの前のフレームについての前記動きベクトル値に基づいて前記動きアクティビティしきい値を調節することを含む、請求項3の方法。
  5. 前記モード判断基準は、モード判断しきい値を含む、ここで、前記方法は、現在のフレーム中の内部コード化されたマクロブロックの数が前記モード判断しきい値を超えるときに、フレーム・レート・アップコンバージョンを選択的にディスエーブルすること、をさらに具備する、請求項1の方法。
  6. しきい値を超える複数のコーディング・ビットを有する前記前のフレーム中のマクロブロックの数に基づいて前記モード判断しきい値を決定すること、をさらに具備する、請求項5の方法。
  7. 少なくとも1つの前のフレーム中のつながったオブジェクトの近似サイズに基づいて前記モード判断しきい値を決定すること、をさらに具備する、請求項5の方法。
  8. フレーム・レート・アップコンバージョン・モジュールがディスエーブルされるときに、前記飛ばされたフレームの代わりに前記前のフレームを繰り返すこと、をさらに具備する、請求項1の方法。
  9. 前記動きアクティビティ基準は、動きアクティビティしきい値を含み、
    前記モード判断基準は、マクロブロック・カウントを規定するモード判断しきい値を含む、及び
    前記方法は、現在のフレームについての動きアクティビティ値が前記動きアクティビティしきい値を超えるとき、又は前記現在のフレーム中の内部コード化されたマクロブロックの数が前記モード判断しきい値の前記マクロブロック・カウントを超えるときに、フレーム・レート・アップコンバージョンを選択的にディスエーブルすること、をさらに具備する、請求項1の方法。
  10. 前記動きアクティビティ基準は、動きアクティビティしきい値を含み、
    前記モード判断基準は、つながったオブジェクト・サイズを規定するモード判断しきい値を含む、及び
    前記方法は、現在のフレームについての動きアクティビティ値が前記動きアクティビティしきい値を超えるとき、又は前記現在のフレーム中のつながっている内部コード化されたマクロブロックの数が前記モード判断しきい値を超えるときに、フレーム・レート・アップコンバージョンを選択的にディスエーブルすること、をさらに具備する、請求項1の方法。
  11. 前記動きアクティビティ基準は、動きアクティビティしきい値を含み
    前記モード判断基準は、マクロブロック・カウントしきい値及びつながったオブジェクト・サイズしきい値を含む、及び
    前記方法は、
    現在のフレームについての動きアクティビティ値を前記動きアクティビティしきい値と比較して、第1の差異値を生成すること;
    前記現在のフレーム中の内部コード化されたマクロブロックの数を前記モード判断しきい値と比較して、第2の差異値を生成すること;
    前記現在のフレーム中のつながっている内部コード化されたマクロブロックの数をつながったオブジェクト・サイズしきい値と比較して、第3の差異値を生成すること;
    前記複数の差異値を重み付けすること;
    前記重み付けされた差異値を合計すること;及び
    前記重み付けされた差異値の前記合計がしきい値を超えるときには、フレーム・レート・アップコンバージョンを選択的にディスエーブルすること、
    をさらに具備する、請求項1の方法。
  12. 前記フレーム・レート・アップコンバージョンは、ビデオ・フレーム補間を含
    前記動きアクティビティ基準及び前記モード判断基準は、前記ビデオ・フレーム補間が重大なアーティファクト(artifact)を生成する可能性があるかどうかを示す、請求項1の方法。
  13. フレーム・レート・アップコンバージョン・モジュール;及び
    動きアクティビティ基準及びモード判断基準に基づき前記フレーム・レート・アップコンバージョン・モジュールを選択的にイネーブルする及びディスエーブル飛ばされたフレームの近くの少なくとも1つの前のビデオ・フレームの1又はそれより多くの特性に基づいて前記動きアクティビティ基準を適応させ、飛ばされたフレームの近くの少なくとも1つの前のビデオ・フレームの前記1又はそれより多くの特性に基づいて前記モード判断基準を適応させる制御モジュール
    を具備するビデオ・デコーダ。
  14. 前記動きアクティビティ基準は、動きアクティビティしきい値を含
    前記制御モジュールは、現在のフレームについての動きアクティビティ値が前記動きアクティビティしきい値を超えるときに、前記フレーム・レート・アップコンバージョンを選択的にディスエーブルする、請求項13のビデオ・デコーダ。
  15. 前記動きアクティビティ値は、前記現在のフレームについての平均動きベクトル値を含む、そしてここにおいて、前記動きアクティビティしきい値は、前記少なくとも1つの前のフレームについての動きベクトル値のヒストグラムから導き出される、請求項14のビデオ・デコーダ。
  16. 前記制御モジュールは、前記少なくとも1つの前のフレームについての前記動きベクトル値に基づいて前記動きアクティビティしきい値を調節して、前記動きアクティビティ基準を適応させる、請求項15のビデオ・デコーダ。
  17. 前記モード判断基準は、モード判断しきい値を含
    前記制御モジュールは、現在のフレーム中の内部コード化されたマクロブロックの数が前記モード判断しきい値を超えるときに、前記フレーム・レート・アップコンバージョン・モジュールを選択的にディスエーブルする、請求項13のビデオ・デコーダ。
  18. 前記制御モジュールは、しきい値を超える複数のコーディング・ビットを有する前記前のフレーム中のマクロブロックの数に基づいて前記モード判断しきい値を決定する、請求項17のビデオ・デコーダ。
  19. 前記制御モジュールは、少なくとも1つの前のフレーム中のつながったオブジェクトの近似サイズに基づいて前記モード判断しきい値を決定する、請求項17のビデオ・デコーダ。
  20. 前記デコーダは、前記フレーム・レート・アップコンバージョン・モジュールがディスエーブルされるときに、前記飛ばされたフレームの代わりに前記前のフレームを繰り返す、請求項13のビデオ・デコーダ。
  21. 前記動きアクティビティ基準は、動きアクティビティしきい値を含み、
    前記モード判断基準は、マクロブロック・カウントを規定するモード判断しきい値を含む、及び
    前記制御モジュールは、現在のフレームについての動きアクティビティ値が前記動きアクティビティしきい値を超えるとき、又は前記現在のフレーム中の内部コード化されたマクロブロックの数が前記モード判断しきい値の前記マクロブロック・カウントを超えるときに、前記ビデオ・フレーム・レート・アップコンバージョン・モジュールを選択的にディスエーブルする、請求項13のビデオ・デコーダ。
  22. 前記動きアクティビティ基準は、動きアクティビティしきい値を含み、
    前記モード判断基準は、つながったオブジェクト・サイズを規定するモード判断しきい値を含む、及び
    前記制御モジュールは、現在のフレームについての動きアクティビティ値が前記動きアクティビティしきい値を超えるとき、又は前記現在のフレーム中のつながっている内部コード化されたマクロブロックの数が前記モード判断しきい値を超えるときに、前記ビデオ・フレーム・レート・アップコンバージョン・モジュールを選択的にディスエーブルする、請求項13のビデオ・デコーダ。
  23. 前記動きアクティビティ基準は、動きアクティビティしきい値を含み
    前記モード判断基準は、マクロブロック・カウントしきい値及びつながったオブジェクト・サイズしきい値を含む、及び
    前記制御モジュールは、現在のフレームについての前記動きアクティビティ値を前記動きアクティビティしきい値と比較して、第1の差異値を生成し、前記現在のフレーム中の内部コード化されたマクロブロックの数を前記モード判断しきい値と比較して、第2の差異値を生成し、前記現在のフレーム中のつながっている内部コード化されたマクロブロックの数を前記つながったオブジェクト・サイズしきい値と比較して、第3の差異値を生成し、前記複数の差異値を重み付けし、前記重み付けされた差異値を合計し、そして、前記重み付けされた差異値の前記合計がしきい値を超えるときには、前記フレーム・レート・アップコンバージョン・モジュールを選択的にディスエーブルする、請求項13のビデオ・デコーダ。
  24. フレーム・レート・アップコンバージョン・モジュールは、前記飛ばされたビデオ・フレームを補間
    前記動きアクティビティ基準及び前記モード判断基準は、前記ビデオ・フレーム補間が重大なアーティファクトを生成する可能性があるかどうかを示す、請求項13のビデオ・デコーダ。
  25. 前記フレーム・レート・アップコンバージョンは、ビデオ・フレーム補間を適用
    前記動きアクティビティ基準及び前記モード判断基準は、前記ビデオ・フレーム補間が重大なアーティファクトを生成する可能性があるかどうかを示す、請求項13のビデオ・デコーダ。
  26. プロセッサに、
    動きアクティビティ基準及びモード判断基準に基づきビデオ・デコーダにおいてビデオ・フレーム・レート・アップコンバージョンを選択的にイネーブルする及びディスエーブルするように;
    飛ばされたフレームの近くの少なくとも1つの前のビデオ・フレームの1又はそれより多くの特性に基づいて前記動きアクティビティ基準を適応するように;及び
    飛ばされたフレームの近くの少なくとも1つの前のビデオ・フレームの前記1又はそれより多くの特性に基づいて前記モード判断基準を適応するように、
    させる命令を具備する、コンピュータ読取り可能な媒体。
  27. 前記動きアクティビティ基準は、動きアクティビティしきい値を含
    前記命令は、現在のフレームについての動きアクティビティ値が前記動きアクティビティしきい値を超えるときに、前記プロセッサに、ビデオ・フレーム・レート・アップコンバージョンを選択的にディスエーブルするようにさせる、請求項26のコンピュータ読取り可能な媒体。
  28. 前記動きアクティビティ値は、前記現在のフレームについての平均動きベクトル値を含む、そしてここにおいて、前記動きアクティビティしきい値は、前記少なくとも1つの前のフレームについての動きベクトル値のヒストグラムから導き出される、請求項27のコンピュータ読取り可能な媒体。
  29. 前記命令は、前記プロセッサに、前記少なくとも1つの前のフレームについての前記動きベクトル値に基づいて前記動きアクティビティしきい値を調節するようにさせる、請求項28のコンピュータ読取り可能な媒体。
  30. 前記モード判断基準は、モード判断しきい値を含む、そしてここにおいて、前記命令は、現在のフレーム中の内部コード化されたマクロブロックの数が前記モード判断しきい値を超えるときに、前記プロセッサに、ビデオ・フレーム・レート・アップコンバージョンを選択的にディスエーブルするようにさせる、請求項26のコンピュータ読取り可能な媒体。
  31. 前記命令は、前記プロセッサに、しきい値を超える複数のコーディング・ビットを有する前記前のフレーム中のマクロブロックの数に基づいて前記モード判断しきい値を決定するようにさせる、請求項30のコンピュータ読取り可能な媒体。
  32. 前記命令は、前記プロセッサに、少なくとも1つの前のフレーム中のつながったオブジェクトの近似サイズに基づいて前記モード判断しきい値を決定するようにさせる、請求項30のコンピュータ読取り可能な媒体。
  33. 前記命令は、フレーム・レート・アップコンバージョンがディスエーブルされるときに、前記プロセッサに、前記飛ばされたフレームの代わりに前記前のフレームを繰り返すようにさせる、請求項26のコンピュータ読取り可能な媒体。
  34. 前記動きアクティビティ基準は、動きアクティビティしきい値を含み、
    ここにおいて、前記モード判断基準は、マクロブロック・カウントを規定するモード判断しきい値を含む、及び
    ここにおいて、前記命令は、現在のフレームについての動きアクティビティ値が前記動きアクティビティしきい値を超えるとき、又は前記現在のフレーム中の内部コード化されたマクロブロックの数が前記モード判断しきい値の前記マクロブロック・カウントを超えるときに、前記プロセッサに、ビデオ・フレーム・レート・アップコンバージョンを選択的にディスエーブルするようにさせる、請求項26のコンピュータ読取り可能な媒体。
  35. 前記動きアクティビティ基準は、動きアクティビティしきい値を含み、
    ここにおいて、前記モード判断基準は、つながったオブジェクト・サイズを規定するモード判断しきい値を含む、及び
    ここにおいて、前記命令は、現在のフレームについての動きアクティビティ値が前記動きアクティビティしきい値を超えるとき、又は前記現在のフレーム中のつながっている内部コード化されたマクロブロックの数が前記つながったオブジェクト・サイズしきい値を超えるときに、前記プロセッサに、ビデオ・フレーム・レート・アップコンバージョンを選択的にディスエーブルするようにさせる、請求項26のコンピュータ読取り可能な媒体。
  36. 前記動きアクティビティ基準は、動きアクティビティしきい値を含み
    ここにおいて、前記モード判断基準は、マクロブロック・カウントしきい値及びつながったオブジェクト・サイズしきい値を含む、及び
    ここにおいて、前記命令は、前記プロセッサに、
    現在のフレームについての前記動きアクティビティ値を前記動きアクティビティしきい値と比較して、第1の差異値を生成するように;
    前記現在のフレーム中の内部コード化されたマクロブロックの数を前記モード判断しきい値と比較して、第2の差異値を生成するように;
    前記現在のフレーム中のつながっている内部コード化されたマクロブロックの数を前記つながったオブジェクト・サイズしきい値と比較して、第3の差異値を生成するように;
    前記複数の差異値を重み付けするように;
    前記重み付けされた差異値を合計するように;及び
    前記重み付けされた差異値の前記合計がしきい値を超えるときには、ビデオ・フレーム・レート・アップコンバージョンを選択的にディスエーブルするように、
    させる命令である、請求項26のコンピュータ読取り可能な媒体。
  37. フレーム・レート・アップコンバージョンは、ビデオ・フレーム補間を含
    前記動きアクティビティ基準及び前記モード判断基準は、前記ビデオ・フレーム補間が重大なアーティファクトを生成する可能性があるかどうかを示す、請求項26のコンピュータ読取り可能な媒体。
  38. 動きアクティビティ基準及びモード判断基準に基づきビデオ・デコーダにおいてビデオ・フレーム・レート・アップコンバージョンを選択的にイネーブルする及びディスエーブルするための手段
    飛ばされたフレームの近くの少なくとも1つの前のビデオ・フレームの1又はそれより多くの特性に基づいて前記動きアクティビティ基準を適応させるための手段、及び
    飛ばされたフレームの近くの少なくとも1つの前のビデオ・フレームの前記1又はそれより多くの特性に基づいて前記モード判断基準を適応させるための手段、
    を具備するビデオ・デコーダ。
  39. 前記動きアクティビティ基準は、動きアクティビティしきい値を含む、ここで、前記デコーダは、現在のフレームについての動きアクティビティ値が前記動きアクティビティしきい値を超えるときに、ビデオ・フレーム・レート・アップコンバージョンを選択的にディスエーブルするための手段、をさらに具備する、請求項38のビデオ・デコーダ。
  40. 前記動きアクティビティ値は、前記現在のフレームについての平均動きベクトル値を含む、そしてここにおいて、前記動きアクティビティしきい値は、前記少なくとも1つの前のフレームについての動きベクトル値のヒストグラムから導き出される、請求項39のビデオ・デコーダ。
  41. 前記動きアクティビティ基準を適応させるための手段は、前記少なくとも1つの前のフレームについての前記動きベクトル値に基づいて前記動きアクティビティしきい値を調節するための手段、を含む、請求項40のビデオ・デコーダ。
  42. 前記モード判断基準は、モード判断しきい値を含む、ここで、前記デコーダは、現在のフレーム中の内部コード化されたマクロブロックの数が前記モード判断しきい値を超えるときに、ビデオ・フレーム・レート・アップコンバージョンを選択的にディスエーブルするための手段、をさらに具備する、請求項38のビデオ・デコーダ。
  43. しきい値を超える複数のコーディング・ビットを有する前記前のフレーム中のマクロブロックの数に基づいて前記モード判断しきい値を決定するための手段、をさらに具備する、請求項42のビデオ・デコーダ。
  44. 少なくとも1つの前のフレーム中のつながったオブジェクトの近似サイズに基づいて前記モード判断しきい値を決定するための手段、をさらに具備する、請求項42のビデオ・デコーダ。
  45. 前記フレーム・レート・アップコンバージョンは、ビデオ・フレーム補間を含
    前記動きアクティビティ基準及び前記モード判断基準は、前記ビデオ・フレーム補間が重大なアーティファクトを生成する可能性があるかどうかを示す、請求項38のビデオ・デコーダ。
JP2009505634A 2006-04-13 2007-04-13 選択的ビデオ・フレーム・レート・アップコンバージョン Expired - Fee Related JP5306990B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US79214706P 2006-04-13 2006-04-13
US60/792,147 2006-04-13
US11/468,041 US8582660B2 (en) 2006-04-13 2006-08-29 Selective video frame rate upconversion
US11/468,041 2006-08-29
PCT/US2007/066609 WO2007121342A2 (en) 2006-04-13 2007-04-13 Selective video frame rate upconversion

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012173147A Division JP5420731B2 (ja) 2006-04-13 2012-08-03 選択的ビデオ・フレーム・レート・アップコンバージョン

Publications (2)

Publication Number Publication Date
JP2009533977A JP2009533977A (ja) 2009-09-17
JP5306990B2 true JP5306990B2 (ja) 2013-10-02

Family

ID=38420633

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2009505634A Expired - Fee Related JP5306990B2 (ja) 2006-04-13 2007-04-13 選択的ビデオ・フレーム・レート・アップコンバージョン
JP2012173147A Expired - Fee Related JP5420731B2 (ja) 2006-04-13 2012-08-03 選択的ビデオ・フレーム・レート・アップコンバージョン

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2012173147A Expired - Fee Related JP5420731B2 (ja) 2006-04-13 2012-08-03 選択的ビデオ・フレーム・レート・アップコンバージョン

Country Status (8)

Country Link
US (1) US8582660B2 (ja)
EP (1) EP2005736A2 (ja)
JP (2) JP5306990B2 (ja)
KR (1) KR101062646B1 (ja)
CN (1) CN101444093B (ja)
BR (1) BRPI0709990A2 (ja)
CA (1) CA2646198A1 (ja)
WO (1) WO2007121342A2 (ja)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9077991B2 (en) 2002-12-10 2015-07-07 Sony Computer Entertainment America Llc System and method for utilizing forward error correction with video compression
US8840475B2 (en) * 2002-12-10 2014-09-23 Ol2, Inc. Method for user session transitioning among streaming interactive video servers
US20090118019A1 (en) 2002-12-10 2009-05-07 Onlive, Inc. System for streaming databases serving real-time applications used through streaming interactive video
US9314691B2 (en) 2002-12-10 2016-04-19 Sony Computer Entertainment America Llc System and method for compressing video frames or portions thereof based on feedback information from a client device
US8964830B2 (en) * 2002-12-10 2015-02-24 Ol2, Inc. System and method for multi-stream video compression using multiple encoding formats
US9108107B2 (en) * 2002-12-10 2015-08-18 Sony Computer Entertainment America Llc Hosting and broadcasting virtual events using streaming interactive video
US9138644B2 (en) 2002-12-10 2015-09-22 Sony Computer Entertainment America Llc System and method for accelerated machine switching
JP4181593B2 (ja) * 2006-09-20 2008-11-19 シャープ株式会社 画像表示装置及び方法
JP4513819B2 (ja) * 2007-03-19 2010-07-28 株式会社日立製作所 映像変換装置、映像表示装置、映像変換方法
JP2008244846A (ja) * 2007-03-27 2008-10-09 Toshiba Corp フレーム補間装置及びその方法
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
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
US8355442B2 (en) * 2007-11-07 2013-01-15 Broadcom Corporation Method and system for automatically turning off motion compensation when motion vectors are inaccurate
JP5142373B2 (ja) * 2007-11-29 2013-02-13 パナソニック株式会社 再生装置
US8660175B2 (en) * 2007-12-10 2014-02-25 Qualcomm Incorporated Selective display of interpolated or extrapolated video units
US20100027663A1 (en) * 2008-07-29 2010-02-04 Qualcomm Incorporated Intellegent frame skipping in video coding based on similarity metric in compressed domain
US20100178038A1 (en) * 2009-01-12 2010-07-15 Mediatek Inc. Video player
US8320455B2 (en) 2009-03-05 2012-11-27 Qualcomm Incorporated System and method to process motion vectors of video data
US20100250722A1 (en) * 2009-03-31 2010-09-30 Nokia Corporation Connectivity management for transport independent architectures
US20100260255A1 (en) * 2009-04-13 2010-10-14 Krishna Sannidhi Method and system for clustered fallback for frame rate up-conversion (fruc) for digital televisions
TWI398159B (zh) * 2009-06-29 2013-06-01 Silicon Integrated Sys Corp 具動態控制畫質功能的幀率轉換裝置及相關方法
GB2476298A (en) 2009-12-18 2011-06-22 Snell Ltd Changing the temporal sample rate of a motion image sequence
KR101436342B1 (ko) * 2010-08-02 2014-09-01 페킹 유니버시티 효과적인 비디오 분류 및 검색을 위한 대표 모션 플로우 추출
US8923388B2 (en) * 2011-11-21 2014-12-30 Texas Instruments Incorporated Early stage slice cap decision in video coding
US8976254B2 (en) * 2012-06-08 2015-03-10 Apple Inc. Temporal aliasing reduction and coding of upsampled video
TWI606418B (zh) * 2012-09-28 2017-11-21 輝達公司 圖形處理單元驅動程式產生內插的圖框之電腦系統及方法
EP2755381A1 (en) * 2012-10-23 2014-07-16 ST-Ericsson SA Motion compensated frame interpolation with frame skipping handling
CN104782124B (zh) * 2012-12-17 2018-09-07 英特尔公司 利用编码器硬件对视频内容进行预处理
KR101431046B1 (ko) * 2013-02-13 2014-08-22 서강대학교산학협력단 Fruc를 위한 영상정보 인코딩 방법 및 장치, 저장매체
US9300906B2 (en) * 2013-03-29 2016-03-29 Google Inc. Pull frame interpolation
EP2979444A4 (en) * 2013-03-30 2017-02-22 Anhui Guangxing Linked-Video Communication Technology Co. Ltd. Method and apparatus for decoding a variable quality video bitstream
US9300933B2 (en) * 2013-06-07 2016-03-29 Nvidia Corporation Predictive enhancement of a portion of video data rendered on a display unit associated with a data processing device
CN108718397B (zh) * 2014-02-04 2021-10-08 英特尔公司 用于在帧速率上变频中进行帧重复控制的方法及设备
CN106303546B (zh) * 2016-08-31 2019-05-14 四川长虹通信科技有限公司 一种帧速率上转换方法及系统
US10491917B2 (en) * 2017-03-22 2019-11-26 Qualcomm Incorporated Decoder-side motion vector derivation
US10523961B2 (en) 2017-08-03 2019-12-31 Samsung Electronics Co., Ltd. Motion estimation method and apparatus for plurality of frames
KR102326163B1 (ko) * 2017-11-21 2021-11-16 엘지디스플레이 주식회사 디스플레이장치 및 그 제어 방법
US10977809B2 (en) 2017-12-11 2021-04-13 Dolby Laboratories Licensing Corporation Detecting motion dragging artifacts for dynamic adjustment of frame rate conversion settings
EP3648059B1 (en) * 2018-10-29 2021-02-24 Axis AB Video processing device and method for determining motion metadata for an encoded video
CN112291559B (zh) * 2020-10-30 2023-10-31 北京百度网讯科技有限公司 视频编码方法、装置、设备和介质
CN112291560B (zh) 2020-10-30 2024-05-07 北京百度网讯科技有限公司 视频编码方法、装置、设备和介质
US20220210467A1 (en) * 2020-12-30 2022-06-30 Beijing Dajia Internet Information Technology Co., Ltd. System and method for frame rate up-conversion of video data based on a quality reliability prediction
KR20230116525A (ko) * 2022-01-28 2023-08-04 삼성전자주식회사 비디오를 처리하는 전자 장치 및 그 동작 방법
CN116366868B (zh) * 2023-05-31 2023-08-25 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) 一种并发视频包过滤方法、系统及储存介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2629963B2 (ja) 1989-06-30 1997-07-16 旭硝子株式会社 高耐久性低水素過電圧陰極
JP3036287B2 (ja) 1992-12-15 2000-04-24 富士ゼロックス株式会社 動画像シーン検出装置
US5943096A (en) 1995-03-24 1999-08-24 National Semiconductor Corporation Motion vector based frame insertion process for increasing the frame rate of moving images
US6094455A (en) * 1996-09-25 2000-07-25 Matsushita Electric Industrial Co., Ltd. Image compression/encoding apparatus and system with quantization width control based on bit generation error
US6192080B1 (en) * 1998-12-04 2001-02-20 Mitsubishi Electric Research Laboratories, Inc. Motion compensated digital video signal processing
US6731818B1 (en) 1999-06-30 2004-05-04 Realnetworks, Inc. System and method for generating video frames
AU2003265075A1 (en) * 2002-10-22 2004-05-13 Koninklijke Philips Electronics N.V. Image processing unit with fall-back
EP1422928A3 (en) * 2002-11-22 2009-03-11 Panasonic Corporation Motion compensated interpolation of digital video signals
JP2005006275A (ja) 2002-11-22 2005-01-06 Matsushita Electric Ind Co Ltd 補間フレーム作成装置、補間フレーム作成方法、および補間フレーム作成プログラム
JP2005236937A (ja) * 2004-01-21 2005-09-02 Seiko Epson Corp 画像処理装置、画像処理方法および画像処理プログラム
EP1592250A1 (en) 2004-04-30 2005-11-02 Matsushita Electric Industrial Co., Ltd. Film-mode detection in video sequences
US8948262B2 (en) 2004-07-01 2015-02-03 Qualcomm Incorporated Method and apparatus for using frame rate up conversion techniques in scalable video coding
US7461939B2 (en) * 2004-11-19 2008-12-09 Hewlett-Packard Development Company, L.P. Automatic zoom for screen fitting
JP2006236937A (ja) * 2005-02-28 2006-09-07 Nec Tokin Corp 蓄電装置

Also Published As

Publication number Publication date
JP2009533977A (ja) 2009-09-17
BRPI0709990A2 (pt) 2011-08-02
JP2013013102A (ja) 2013-01-17
US20070242748A1 (en) 2007-10-18
WO2007121342A3 (en) 2008-12-31
EP2005736A2 (en) 2008-12-24
CN101444093B (zh) 2015-11-25
KR20090007437A (ko) 2009-01-16
WO2007121342A2 (en) 2007-10-25
US8582660B2 (en) 2013-11-12
CN101444093A (zh) 2009-05-27
JP5420731B2 (ja) 2014-02-19
KR101062646B1 (ko) 2011-09-06
CA2646198A1 (en) 2007-10-25

Similar Documents

Publication Publication Date Title
JP5420731B2 (ja) 選択的ビデオ・フレーム・レート・アップコンバージョン
JP5563042B2 (ja) 適応性のあるビデオフレーム補間
JP5118127B2 (ja) 適応符号器支援フレーム・レート・アップコンバージョン
US9503739B2 (en) Encoder-assisted adaptive video frame interpolation
JP5415599B2 (ja) レート制御されたビデオ符号化のための適応フレーム・スキップ技術
CN101919249B (zh) 资源自适应视频的内插或外推
RU2377737C2 (ru) Способ и устройство для преобразования с повышением частоты кадров с помощью кодера (ea-fruc) для сжатия видеоизображения
EP2250813B1 (en) Method and apparatus for predictive frame selection supporting enhanced efficiency and subjective quality
JP2009533002A (ja) ビデオ圧縮におけるエンハンストフレーム補間の装置及び方法
KR20060027779A (ko) 영상 블록의 시간상 및 공간상 상관관계를 이용한영상신호의 엔코딩 및 디코딩 방법과 장치
US10148954B2 (en) Method and system for determining intra mode decision in H.264 video coding
US8218639B2 (en) Method for pixel prediction with low complexity
De Pascalis et al. Fast motion estimation with size-based predictors selection hexagon search in H. 264/AVC encoding
Langen et al. Chroma prediction for low-complexity distributed video encoding

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110613

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110628

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110928

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111005

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111028

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111107

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111128

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111227

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120403

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130626

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5306990

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees