JP5021494B2 - ビデオ通信のための動作ベクトルの時間的推定 - Google Patents

ビデオ通信のための動作ベクトルの時間的推定 Download PDF

Info

Publication number
JP5021494B2
JP5021494B2 JP2007548507A JP2007548507A JP5021494B2 JP 5021494 B2 JP5021494 B2 JP 5021494B2 JP 2007548507 A JP2007548507 A JP 2007548507A JP 2007548507 A JP2007548507 A JP 2007548507A JP 5021494 B2 JP5021494 B2 JP 5021494B2
Authority
JP
Japan
Prior art keywords
motion vector
motion vectors
reference frame
frame
macroblock
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
JP2007548507A
Other languages
English (en)
Other versions
JP2008526119A (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 JP2008526119A publication Critical patent/JP2008526119A/ja
Application granted granted Critical
Publication of JP5021494B2 publication Critical patent/JP5021494B2/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/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
    • 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/513Processing of motion vectors
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • H04N19/895Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder in combination with error concealment

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Systems (AREA)
  • Image Analysis (AREA)

Description

本発明の実施形態は、マルチメディアデータの処理に関し、特に、ビデオデータの復号(解凍)に関する。
メディアシステムは、有線及び/又は無線チャネルによって、ビデオデータのようなメディアデータを送信する。そのようなチャネルによって送信されるデータは、喪失又は破壊されうる。あるいは、経路に沿った遅延を経験し、恐らくは、目的地に遅れて到着する。遅れたデータ、又は喪失したデータは、限定される訳ではないが、例えばMPEG(Moving Pictures Experts Group)エンコードのような技術を使って予測的にエンコード(圧縮)されるビデオデータの場合には特に問題となる。予測的エンコードは、エンコードされるデータに、依存性をもたらす。よって、幾つかのデータのデコードは、他のデータのデコードに依存する。予測的エンコードは一般に、圧縮量を改善する一方、もしも他のデータのデコードが依存するデータが喪失されたり、あるいは遅れて到着した場合には、誤り伝搬をもたらす結果となりうる。遅れたデータ又は喪失したあらゆるデータは、再構築(デコード又は解凍)されたビデオデータの品質に影響を与えうる。しかしながら、この影響は、喪失したデータ又は遅れたデータが、動作補償予測のために使用される基準フレームの一部である場合、悪化する。なぜなら、基準フレームに依存する誤りが、他のフレームに伝搬するからである。
例えば、ビデオデータの連続したフレーム内の異なる位置に現れる動作対象物を考慮されたい。この対象物は、予測的エンコード技術を使用して、第1のフレーム内のデータによって表される。しかしながら、第2のフレーム内では、第1のフレームから第2のフレームへどのように動作したかを表す動作ベクトルを用いて表される。したがって、第2のフレームでは、動作ベクトル用のデータのみが送信される必要がある。これは、この対象物を表すデータが再送信される必要がないので、圧縮量を改善する。しかしながら、この動作ベクトルが受信されないと、第2のフレームがビデオイメージに再構築される場合、この対象物は適切に再現されず、再構築されたビデオの品質が低下する。この対象物が現れる次のフレームは、第2のフレーム内における対象物の適切な配置に依存するので、次のフレームもまた影響を受ける。
再構築されたビデオの品質に関する欠落(例えば、損失、喪失、遅延、又は不適切な受信)データのインパクトを緩和するために、ビデオデコーダは、受信データに対して誤り復元(例えば、誤りキャンセル)処理を適用することができる。動作ベクトルが復元(例えば、推定)されるのであれば、再構築されたビデオの品質が著しく改善されることを示す研究がある。時間的な誤りキャンセルは、現在のフレーム及び/又は前のフレームから適切に受信された情報を用いて、現在のフレームにおける損失された又は不適切に受信された動作ベクトルを推定することによって、再構築されたビデオの品質を改善する。言い換えれば、時間的な誤りキャンセルの目的は、空間的のみならず時間的な結びつき(associates)を用いて、動作ベクトルを推定することである。
従来の時間的誤りキャンセル技術は、ピクセルドメインに基づく。フレーム内の領域(例えば、興味のあるマクロブロック)に関連する動作ベクトルを損失したフレーム(現在のフレーム)を考慮されたい。現在のフレームにおいて、興味のあるマクロブロックを取り囲むマクロブロックに関連する動作ベクトルと、基準フレームにおいて、同じ位置に存在するマクロブロックを取り囲むマクロブロックに関連する動作ベクトルとを選択することによって、動作ベクトルのセットが生成される(同じ位置に存在するマクロブロックは、興味のあるマクロブロックが現在のフレーム内に存在するように、基準フレーム内の同じ位置に存在するマクロブロックである)。ピクセルドメインアプローチを用いて、セット内の動作ベクトルの各々について、歪みの尺度が計算される。歪みを評価するために、再構築されたフレームバッファから、ピクセル値が得られる。動作選択技術では、欠落した動作ベクトルの代わりに、歪み尺度を最小化する動作ベクトルが選択される。動作探索技術では、歪み尺度を最小化する動作ベクトルの探索が、例えば3×3ウィンドウからなるマクロブロック内で実行される。
ピクセルドメイン誤りキャンセルは、計算が複雑で、かつ時間がかかるので、問題がある。各々の潜在的な動作ベクトルのための歪みを評価することは、多大な計算を必要とするので、計算リソースを消費し、もってデコード処理における遅延をもたらす。ピクセルドメイン誤りキャンセルは、デコーダがフレームのデコードを完了した後に実行されるのであれば最も効率的である。従って、ピクセルドメインにおいて、誤りキャンセルによってもたらされる遅延は、1フレーム持続時間と等価かもしれない。更に、再構築されたフレームバッファにアクセスして、歪み評価のためのピクセル値を検索することは、時間がかかり、遅延を増す。
従って、計算の複雑さと、デコード遅延とを低減することができる方法及び/又はシステムが望ましいだろう。
ビデオデータを処理する方法及びシステムが記述される。1つの実施形態では、ビデオデータの第1のフレーム内のマクロブロックに関連付けられた動作ベクトル、及びビデオデータの第2のフレーム内のマクロブロックに関連付けられた動作ベクトルから、候補動作ベクトルのセットが選択される。1つの実施形態では、第1のフレームは、表示順において、第2のフレームに先行する。このセットの統計的尺度が決定される。例えば、候補動作ベクトルの平均又は中央値が決定される。この統計的尺度は、第2のフレームにおける興味のあるマクロブロックのための動作ベクトルを定義する。
候補動作ベクトルを選択するために様々な方法を使用することができる。候補動作ベクトルの選択と、代替動作ベクトルの決定とは、ピクセルドメインではなく、動作ベクトルドメインで実行される。従って、計算上の複雑さ及びレイテンシが低減される。更なる利点として、ハードウェア変更が必要とされない。
次の詳細説明では、本明細書で提示される概念の完全な理解を与えるために、多くの具体的な詳細が述べられる。しかしながら、本発明の実施形態は、これら具体的な詳細がなくても、あるいはその等価物を用いても実現されうることが当業者によって理解されるであろう。他の例では、周知の方法、手順、及びコンポーネントは、これら実施形態の局面を不必要に不明瞭にしないために、詳細には記述されない。
以下の詳細記述の幾つかの部分は、コンピュータメモリ内で実行されるデータビットに関する動作の手順、ステップ、論理ブロック、処理、及び他の記号表示で表される。これら記述及び表示は、当業者の成果の本質を、他の当業者に最も効率的に伝達するために、データ処理技術における当業者によって使用される手段である。この手順、コンピュータ実行ステップ、論理ブロック、処理等は、本明細書に記載され、一般に、所望の結果をもたらす首尾一貫したシーケンスのステップ又は命令であると考えられる。これらステップは、物理量の物理的操作を必要とする。必ずしも必要という訳ではないが、通常、これらの量は、コンピュータシステム又は類似の電子計算デバイスにおいて格納、転送、結合、比較、あるいは操作されることが可能な電気信号又は磁気信号の形態をとる。それは主に、ビット、値、要素、シンボル、キャラクタ、用語、番号等のような信号を参照するために、共通して利用されるという理由で、便利であることが明らかになった。
しかしながら、これら用語及び類似の用語の全てが、適切な物理量に関連付けられるべきであり、単にこれらの量に適用された便利なラベルであることを心に留めておくべきである。特に述べない限り次の議論から明らかなように、本実施形態の全体にわたって、例えば「選択する」、「判定する」、「比較する」、「カウントする」、あるいは「決定する」等のような用語を用いた議論は、コンピュータシステム又は類似の電子計算デバイスの動作及び処理を称し、コンピュータシステムのレジスタ及びメモリ内の物理(電子的な)量として表されるデータを操作し、コンピュータシステムメモリ又はレジスタ又は他の情報記憶装置、送信又は表示デバイス内の物理量と同様に表される他のデータに変換することが認識される。
1つの実施形態では、コンピュータ読取可能プログラムコードが組み込まれたコンピュータ使用媒体が実現される。コンピュータシステムは一般に、情報及び命令を処理するプロセッサと、情報及び命令を格納するランダムアクセス(揮発性)メモリ(RAM)と、不変の情報及び命令を格納する読取専用(不揮発性)メモリ(ROM)と、例えば磁気ディスク又は光ディスク及びディスクドライブのように、情報及び命令を格納するデータ記憶デバイスと、ディスプレイデバイス(例えば、モニタ)のように、コンピュータユーザへ情報を表示するオプションのユーザ出力デバイスと、英数字キー及びファンクションキー(例えば、キーボード)を含み、情報及びコマンド選択をプロセッサに伝達するオプションのユーザ入力デバイスと、カーソル制御デバイス(例えば、マウス)のように、ユーザ入力情報及びコマンド選択をプロセッサに伝達するオプションのユーザ入力デバイスとを含みうる。このコンピュータシステムは更に、有線通信インタフェース又は無線通信インタフェースの何れか一方を用いて、コンピュータシステムとネットワークとの間の物理通信リンクを提供する入力/出力デバイスをも含む。
図1は、実施形態が実現されうるシステム10の一例のブロック図である。このシステム10は、実施形態のある機能を実現するための実行プラットフォームのコンポーネントを示す。図1に示すように、システム10は、ホストインタフェース11を介してデジタル信号プロセッサ(DSP)15に接続されたマイクロプロセッサ12(例えば、ARM(Advanced Reduced Instruction Set Computer Machine)プロセッサ)を含む。ホストインタフェース11は、マイクロプロセッサ12とDSP15との間を通過するデータ及びコマンドを、それぞれのフォーマットに変換する。この実施形態では、マイクロプロセッサ12とDSP15との両方が、メモリコントローラ16を介してメモリ17に接続される。このシステム10の実施形態では、メモリ17は、共有メモリであり、これによってメモリ17は、マイクロプロセッサ12とDSP15との両方のための命令及びデータを格納する。共有メモリ17へのアクセスは、メモリコントローラ16を介する。共有メモリ16は更に、ピクセルデータを格納するためのビデオフレームバッファを備える。これは、接続されたディスプレイ18を駆動する。
上述したように、実施形態のある処理及びステップは、コンピュータシステム(例えば、システム10)のコンピュータ読取可能メモリ(例えば、メモリ17)内に存在する一連の命令(例えば、ソフトウェアプログラム又はプログラム)として、少なくとも1つの実施形態で実現され、システム10のマイクロプロセッサ12及びDSP15によって実行される。実行されると、これら命令は、システム10に対して、後述する実施形態の機能を実施させる。別の実施形態では、本発明のある処理又はステップが、ハードウェアで実現される。
本明細書で提供される記述及び例は、ビデオベースのデータ(メディアデータ又はマルチメディアデータ又はコンテンツとも称される)に関して議論されるが、本発明は、それに限定されない。例えば、実施形態はまた、イメージベースのデータ、ウェブページベースのデータ、グラフィックベースのデータ等、及びこれらの組み合わせでも使用可能である。
本発明の実施形態は、例えばMPEG−1、MPEG−2、MPEG−4のようなMPEG(Moving Pictures Experts Group)圧縮(エンコード)スキーム、及びH.261、H.263、H.264のような国際電気通信連合(ITU)とともに使用可能であるが、本発明は、それに限定されない。一般に、実施形態は、本質的に、圧縮量(圧縮比)を増加させるために動作ベクトルを用いるエンコードスキームである、時間冗長又は動作補償を利用するエンコードスキームとともに利用可能である。
図2は、イメージデータ又はビデオデータの2つのフレーム21,22の例を示す。図2の例では、表示順で、フレーム21(本明細書では、第1のフレーム又は基準フレームとも称する)が、フレーム22(本明細書では、第2のフレーム又は現在のフレームとも称する)に先行する。フレーム21,22の各々は、マクロブロック23によって例示されているように、複数のマクロブロックとして体系化される。1つの実施形態では、マクロブロックは、16ピクセル×16ピクセルの次元を持っている。しかしながら、本発明はそれに限定されず、マクロブロックは、16×16ピクセル以外の次元を持つことができる。図2は、ある数のマクロブロックを示すが、本発明は、それに限定されない。
図2の例では、動作ベクトルは、各マクロブロックに関連付けられる。動作ベクトルは、その長さ(大きさ)を記述するディメンションと、その方向(角度)を記述するディメンションとを持っている。動作ベクトルは、0の大きさを持ちうる。例示目的のために、デコーダにおいて適切に受信された動作ベクトルは、マクロブロック内において矢印(例えば、矢印24)として表わされる。関連する動作ベクトルが適切に受信されないマクロブロック(例えば、マクロブロック25)は、図2において影表示される。また、フレーム22は、興味のあるマクロブロック28を示す。これは、「X」によって示され、ここは、動作ベクトルが適切に受信されていない。もしも動作ベクトルを表すデータが遅れたり、破壊されたり、失われた場合には、動作ベクトルは適切に受信されない。
図2に示すように、幾つかのマクロブロックの動作ベクトル(すなわち、1又は複数の連続したマクロブロックからなるマクロブロックのスライス)が適切に受信されない例がある。見て分かるように、実施形態によれば、動作ベクトルは、動作ベクトルが適切に受信されていないスライス内の各マクロブロックについて推定することができる。しかしながら、一般に動作ベクトルは、推定することが望まれるあらゆるマクロブロックについて推定される。
1つの実施形態では、現在のフレーム22内のマクロブロック28の動作ベクトルを推定するために、基準フレーム21内のマクロブロック29が特定される。興味のあるマクロブロック28がフレーム22内に存在するのと同じように、マクロブロック29が、フレーム21内の同じ位置に存在する。従って、マクロブロック28及びマクロブロック29は、同じ位置にあると言われている。更に、現在のフレーム22内の、マクロブロック28に隣接する第1の複数のマクロブロック(ウィンドウ26)が特定され、基準フレーム21内の、マクロブロック29に隣接する第2の複数のマクロブロック(ウィンドウ27)が特定される。1つの実施形態では、ウィンドウ26がフレーム22内に存在するのと同じように、ウィンドウ27が、フレーム21内の同じ位置に存在する。従って、ウィンドウ26とウィンドウ27もまた同じ位置に存在すると言われる。一般に、同じ位置に存在する("co-located")という用語は、1つのフレームにおける領域(例えば、マクロブロック、又はマクロブロックのウィンドウ)と、別のフレームにおける対応する領域とを示すために使用される。これら領域は、それぞれのフレーム内における同じ位置に存在する。同じ位置に存在するマクロブロック108とマクロブロック109とのペアもまた示される。すなわち、マクロブロック108は、ウィンドウ27内のある位置に存在するが、これは、ウィンドウ26内のマクロブロック109の位置と同じである。
一般に、実施形態によれば、現在のフレーム22において、興味のあるマクロブロックに隣接するマクロブロックに関連付けられた適切に受信された動作ベクトルを考慮することによって、かつ、基準フレーム21において、興味のあるマクロブロックと同じ位置に存在するマクロブロックに隣接するマクロブロックに関連付けられた適切に受信された動作ベクトルを考慮することによって、フレーム22内の興味のある任意のマクロブロックのための動作ベクトルを推定することが可能である。
1つの実施形態では、ウィンドウ26内のマクロブロックのアレイは、興味のあるマクロブロック28を囲む。1つのそのような実施形態では、ウィンドウ26及びウィンドウ27はそれぞれ、3×3のマクロブロックのアレイを含む。正方形ではないウィンドウを含む異なる次元のウィンドウを選択することが可能である。更に、特に興味のあるマクロブロックが、フレームの端にある場合には、ウィンドウは必ずしも、興味のあるマクロブロックを囲む必要は無い。
図3は、1つの実施形態に従った2つの連続したイメージフレーム(第1のフレーム32及び第2のフレーム34)を例示する。図3の例では、表示順に、第2のフレーム34は、第1のフレーム32に続く。MPEG圧縮スキームでは、第1のフレーム32は、例えばI−フレーム又はP−フレームに相当し、第2のフレーム34は、例えばPフレームに相当する。一般に、第1のフレーム32と第2のフレーム34とは、「相互エンコードされる」(例えば、相互エンコードされるフレームは、他のフレームに依存してエンコードされる)。
図3の例では、対象物33が、第1のフレーム32内のある位置に存在し、同じ対象物33が、第2のフレーム34内の異なる位置に存在する。MPEG圧縮スキームは、フレーム間の相違をエンコードすることにより機能する。動作ベクトル35は、フレーム32とフレーム34との間のイメージの変化を伝達する最も単純な方法として使用される。すなわち、対象物33が移動したというだけの理由で、対象物33のイメージを再度送る必要はない。同様にして、動作ベクトルは、フレーム内のマクロブロック(例えば、図2のマクロブロック23)に関連付けられる。
図4は、1つの実施形態に従って、エンコーダからデコーダへのデータの流れを示すデータフロー図40である。エンコーダ内では、エンコード処理42が、例えばMPEG−1、MPEG−2、MPEG−4、H.261、H.263、又はH.264のようなエンコードスキームを用いて、データ41を圧縮(エンコード)する。この圧縮されたデータ43は、エンコーダから、有線チャネル又は無線チャネルであるチャネル44を経由してデコーダ(例えば、図1のシステム10)へ送られる。受信されたデータ45は、適切に受信されたデータと、破壊されたデータとの両方を含みうる。更に、幾つかのデータが送信中に失われるかもしれないし、あるいはデコーダに遅く到着するかもしれない。デコード処理46は、この受信データ45を解凍(再構築)し、再構築データ47を生成する。
図5は、動作ベクトルドメインベースの時間誤りキャンセル方法の1つの実施形態のフローチャート50である。図5のフローチャート50には(図7,9,10,11,13にそれぞれ示すフローチャート70,90,100,110,130と同様に、)具体的なステップが示されているが、そのようなステップは典型例である。すなわち、他の様々なステップや、フローチャート50,70,90,100,110,130で引用されたステップの変形を実行することによって実現されうる。フローチャート50,70,90,100,110,130のステップは、ここに示すものとは異なる順に実行されるかもしれず、また、フローチャート50,70,90,100,110,130のステップは、必ずしも、例示したシーケンスで実行される必要はないことが認識される。
図5は、図6をも参照して記述される。図6は、基準フレーム61から選択された3×3のマクロブロックからなるウィンドウ63と、現在のフレーム62から選択された3×3のマクロブロックからなるウィンドウ64とを示す。基準フレーム61及び現在のフレーム62はそれぞれ、ウィンドウ63及びウィンドウ64に含まれるマクロブロックに加え、更なるマクロブロックを含んでいることが理解される。
ウィンドウ63及びウィンドウ64は、同じ位置に存在する。本実施形態では、興味のあるマクロブロック(MB)68、すなわち、動作ベクトルが推定されるマクロブロックは、ウィンドウ64の中心に位置する。しかしながら、上述したように、中心に位置する必要はない。
ウィンドウ63,64は、3×3以外のウィンドウでもありうることが理解される。例えば、5×5のウィンドウが使用されてもよい。更に、興味のあるマクロブロックが、現在のフレーム62の一端に沿って存在する場合、正方形ではないウィンドウ(例えば3×2又は2×3のウィンドウ)が使用されうる。
1つの実施形態では、基準フレーム61は、表示順で、現在のフレーム62に先行する。別の実施形態では、基準フレーム61は、表示順で、現在のフレーム62の後に来るかもしれない。すなわち、基準フレーム61は「将来のフレーム」かもしれない。また別の実施形態では、本明細書に記載の誤りキャンセル方法のために、現在のフレーム62に先行するフレームと、現在のフレーム62の後に来る将来のフレームとの両方が考慮されうる。
将来のフレームを使用することは、デコード処理へ遅延をもたらすかもしれない。しかしながら、遅延が容認されるアプリケーションでは、将来のフレームからの動作ベクトルが、誤りキャンセルのために使用されてもよい。また、現在のフレーム62が、フレームシーケンス(例えば、I−フレーム)における第1のフレームである例において、将来のフレームからの動作ベクトルが使用されても良い。
概要すると、フローチャート50の方法における目的の1つは、フレーム61,62のマクロブロックに関連付けられた適切に受信された動作ベクトルから、候補動作ベクトルのセット65を賢明に選択することである。1つの実施形態では、候補動作ベクトルのセット65が一旦特定されると、ベクトルメジアンフィルタ(VMF)66が、セット65内のベクトルに適用される。VMF66の出力は、興味のあるマクロブロック68に対する推定された動作ベクトル(MV)67である。
1つの実施形態では、図5のブロック51では、ウィンドウ63及びウィンドウ64が特定される。ウィンドウ63内のマクロブロックに関連した正確に受信された動作ベクトルと、ウィンドウ64内のマクロブロックに関連した正確に受信された動作ベクトルとがアクセスされる。
ブロック52では、1つの実施形態として、基準フレーム61内の動作ベクトルが、候補動作ベクトルのセット65内に含まれる資格を有しているか否かが判定される。この判定を行うために使用される方法の実施形態が、図7,8,9,10と共に記述される。
図5のブロック53では、1つの実施形態として、候補動作ベクトルのセット65に、基準フレーム内の動作ベクトルを含むことができるのであれば、ウィンドウ63及びウィンドウ64からの動作ベクトルが賢明に選択され、セット65に含められる。ウィンドウ63,64から動作ベクトルを選択するために使用される方法の実施形態が、図11,12,13,14と共に記述される。
図5のブロック54では、1つの実施形態として、基準フレーム内の動作ベクトルが、候補動作ベクトルのセット65に含められる資格を有していないのであれば、ウィンドウ64からの動作ベクトルのみが選択され、セット65に含められる。ウィンドウ64が、適切に受信された動作ベクトルを含まない例がありうることに留意されたい。図7及び図8の方法は、それらの例に対処するために使用することができる。
図5のブロック55では、1つの実施形態として、候補動作ベクトルのセット65の統計的尺度が決定される。この統計的尺度は、興味のあるマクロブロック68に対する動作ベクトル67を定義する。そして、この動作ベクトル67は、興味のあるマクロブロック68に適用することができる。
1つの実施形態では、この統計的尺度は、候補動作ベクトルのセット65の中央値である。そのような1つの実施形態では、セット65の中央値は(具体的に、中央値ベクトル)は、以下のようにして決定される。
N個のm次元ベクトル
Figure 0005021494
のアレイ、ただしi=1,2,・・・Nであり、
Figure 0005021494
である場合、中央値ベクトル
Figure 0005021494
は、以下の制約を満足するベクトルである。
Figure 0005021494
ここで、pは、ベクトル間のp−ノルム数的指標を表す。簡略のために、1つの実施形態では、p=1が使用される。2次元ベクトル
Figure 0005021494
の場合、
Figure 0005021494

Figure 0005021494
との間の1−ノルム距離は
Figure 0005021494
である。
従って、1つの実施形態では、興味のあるマクロブロック68について推定された動作ベクトル67は、候補動作ベクトルのセット65の中央値である。候補動作ベクトルのセット65の中央値以外の統計的尺度も決定され、推定された動作ベクトル67のために使用することができる。例えば、セット65の平均が決定され、使用することができる。
一般に、候補動作ベクトルのセット65が特定される。そして、このセット65は、興味のあるマクロブロック68に対する推定された動作ベクトル67を決定するために同様に取り扱われる。この推定された動作ベクトル67は、セット65内の動作ベクトルのうちの1つかもしれない。あるいは、セット65が取り扱われることによって決定される動作ベクトルかもしれない。
重要なことに、推定された動作ベクトル67は、動作ベクトルドメイン内で決定され、ピクセルドメイン内では決定されない。具体的には、ピクセル値は、誤りキャンセルに使用されず、候補動作ベクトルの各々に関連付けられた歪み値は、誤りキャンセルのために計算されない。従って、計算上の複雑さ、及び関連するデコード遅延が低減される。また、ピクセル値を検索するためにフレームバッファにアクセスする必要はないので、更なるデコード遅延の源をなくすことができる。更に、候補動作ベクトルのセット65に含められる動作ベクトルを賢明に選択することによって、ピクセルベースの誤りキャンセル技術に関連するピーク信号対雑音比(PSNR)と同等であるか、さもなければそれより良好なピーク信号対雑音比(PSNR)を得ることができる。
図7は、動作ベクトルドメインベースの時間誤りキャンセル処理で使用される候補動作ベクトルの選択方法の1つの実施形態のフローチャート70である。フローチャート70は、図5のブロック52,53,54を実現する方法の1つの実施形態について記述する。図7は、更に図8を参照して記述される。
1つの実施形態では、図7のブロック71では、(基準フレーム81内の)ウィンドウ83、及び(現在のフレーム82内の)ウィンドウ84が特定される。基準フレーム81及び現在のフレーム82はそれぞれ、ウィンドウ83及びウィンドウ84に含まれるマクロブロックの他のマクロブロックを含んでいることが理解される。
次に、ウィンドウ83内のマクロブロックに関連付けられた適切に受信された動作ベクトルと、ウィンドウ84内のマクロブロックに関連付けられた適切に受信された動作ベクトルとがアクセスされる。ウィンドウ83内の適切に受信された動作ベクトルは、文字Aを用いて識別される。一方、ウィンドウ84内の適切に受信された動作ベクトルは、文字Bを用いて識別される。
ブロック72では、ウィンドウ83とウィンドウ84との同じ位置に存在するマクロブロックの各ペアについて、ウィンドウ84内のマクロブロックについて、適切に受信された動作ベクトルが存在するか否かが判定される。
ブロック73では、ウィンドウ84内のマクロブロックについて、適切に受信された動作ベクトルが存在するのであれば、その動作ベクトルが、候補動作ベクトルのセット85に含められ、ウィンドウ83内の同じ位置に存在するマクロブロックの動作ベクトルは、セット85内に含められない。例えば、(基準フレーム81内のウィンドウ83内の)マクロブロック87について、適切に受信された動作ベクトルが存在し、(現在のフレーム82内のウィンドウ84内の)マクロブロック89について、適切に受信された動作ベクトルが存在する。1つの実施形態によれば、マクロブロック89(現在のフレーム82)に関連付けられた動作ベクトルがセット85に含められ、マクロブロック87(基準フレーム81)に関連付けられた動作ベクトルがセット85に含められない。
ブロック74では、ウィンドウ84内のマクロブロックについて、適切に受信された動作ベクトルが存在しないのであれば、ウィンドウ83内の同じ位置に存在するマクロブロックの動作ベクトルが、候補動作ベクトルのセット85に含められる。例えば、興味のあるマクロブロック88について適切に受信された動作ベクトルが存在しないのであれば、(基準フレーム81内の)同じ位置に存在するマクロブロック86に関連付けられた動作ベクトルがセット85に含められる。
上述したように、(図5及び図6の議論を参照して)候補動作ベクトルのセット85の統計的尺度が決定される。
幾つかの実例では、1つのフレームから次のフレームへの動作は連続的ではないかもしれない。例えば、基準フレームは1つの動作のタイプを含む一方、現在のフレーム内の動作は、方向を変えたか、あるいは停止したかもしれない。更に、基準フレーム内の対象物は、興味のあるマクロブロックの隣接外に移動し、候補動作ベクトルのセット内にその対象物の動作ベクトルを含めることは適切ではないかもしれない。
図9は、フレーム対フレームの動作変化を検出する方法の1つの実施形態のフローチャート90である。図10は、フレーム対フレームの動作変化を検出する方法の別の実施形態のフローチャート100である。フローチャート90,100の方法の何れか一方又は両方は、前のパラグラフで述べた点に対処するために、基準フレームからの動作ベクトルが、候補動作ベクトルのセット内に含まれるべきか否かを判定するために使用することができる。
先ず図9に示すように、フローチャート90は、図5のブロック52を実現するための方法の1つの実施形態を示す。ブロック91では、基準フレームに関連した動作ベクトルの第1の値の範囲が決定される。ブロック92では、現在のフレームに関連した動作ベクトルの第2の値の範囲が決定される。ブロック93では、第1の値の範囲及び第2の値の範囲が比較され、この比較結果に従って、基準フレームに関連した動作ベクトルが、候補動作ベクトルのセットに含められる。
また、図9は、図2に関して記載される。ブロック91では、1つの実施形態において、基準フレーム21に関連する適切に受信された動作ベクトルのために動作ベクトル統計量が計算される。
ブロック92では、1つの実施形態において、現在のフレーム22に関連する適切に受信された動作ベクトルのために動作ベクトル統計量が計算される。
1つの実施形態では、基準フレーム21及び現在のフレーム22に関連する全ての動作ベクトルが、動作ベクトル統計量の計算に含まれる。別の実施形態では、全ての動作ベクトルの代わりに、動作ベクトルのサブセットのみが使用される。後者の実施形態では、例えば、サブセットは、両方のフレームが適切に受信される動作ベクトルのためのマクロブロックに関連する動作ベクトルのみを含む。すなわち、例えば、現在のフレーム22内の同じ位置に存在するマクロブロックの動作ベクトルが、適切に受信されるのであれば、基準フレーム21内のマクロブロックの動作ベクトルは、第1のサブセット内にのみ含まれる。同様に、基準フレーム21内の同じ位置に存在するマクロブロックの動作ベクトルもまた適切に受信されるのであれば、現在のフレーム22内のマクロブロックの動作ベクトルのみが第2のサブセットに含まれる。
1つの実施形態では、各フレームについて、計算された統計量は、動作ベクトルディメンション(大きさ/長さ及び方向/角度)の平均及び標準偏差を含む。動作ベクトル統計量の計算に含まれる動作ベクトル
Figure 0005021494
のインデクスのセットをlとし、Mを、セットlのサイズとする。すると、大きさ(mag)と角度(ang)の平均及び標準偏差(std)は、基準フレーム21と現在のフレーム22とについて以下の通りとなる。
Figure 0005021494
Figure 0005021494
Figure 0005021494
Figure 0005021494
サブスクリプト「frm」は、現在のフレーム又は基準フレームの何れか一方を称する。平均と標準偏差とが一旦計算されると、範囲
(meanmag_frm−stdmag_frm,meanmag_frm+stdmag_frm)、及び
(meanang_frm―stdang_frm,meanang_frm+stdang_frm)が現在のフレームと基準フレームとの各々について形成される。
ブロック93では、1つの実施形態において、基準フレーム21の動作ベクトル大きさの範囲と、現在のフレーム22の動作ベクトル大きさの範囲とが比較され、基準フレーム21の動作ベクトル角度の範囲と、現在のフレーム22の動作ベクトル角度の範囲ともまた比較される。1つの実施形態では、基準フレーム21の動作ベクトル大きさの範囲が、現在のフレーム22の動作ベクトル大きさの範囲とオーバラップし、かつ基準フレーム21の動作ベクトル角度の範囲が、現在のフレーム22の動作ベクトル角度の範囲とオーバラップするのであれば、基準フレーム21及び現在のフレーム22は、類似の動作を持つものと判断される。従って、基準フレーム21からの動作ベクトルは、候補動作ベクトルのセット(例えば、図6のセット65)に含まれる資格を有している。
図10に示すように、フローチャート100は、図5のブロック52を実現する方法の別の実施形態を示す。ブロック101では、ペアのおのおのにおける動作ベクトルが、互いに類似しているかを判定するために、動作ベクトルのペアの大きさが比較される。動作ベクトルのペアの各々は、基準フレーム内の位置において第1のマクロブロックに関連付けられた第1の動作ベクトルと、現在のフレーム内のその位置において第2のマクロブロックに関連付けられた第2の動作ベクトルとを含む。
ブロック102では、基準フレーム及び現在のフレームにおける動作ベクトルのペアのうち、類似したものの数がカウントされる。ブロック103では、この数がしきい値を超えるのであれば、基準フレームからの動作ベクトルは、候補動作ベクトルのセットに含まれる資格を有している。
図10はまた、図2を参照して説明される。ブロック101では、1つの実施形態では、同じ位置に存在するマクロブロックの各ペアの大きさが比較される。図2のマクロブロック108,109は、同じ位置に存在するマクロブロックのペアの一例である。
1つの実施形態では、この比較を容易にするために、基準フレーム21内で受信された各動作ベクトルと、現在のフレーム22内で受信された各動作ベクトルとに、大きさラベルと方向ラベルとが与えられる。1つのそのような実施形態では、大きさラベルは、その相対的な大きさに基づいて、0又は1かの何れかの値を持つ。例えば、2ピクセル以下の大きさを持つ動作ベクトルは、大きさラベル0が割り当てられ、2ピクセルを超える大きさを持つ動作ベクトルは、大きさラベル1が割り当てられる。1つの実施形態では、方向ラベルは、0、1、2、あるいは3の値を持つ。例えば、フレーム内の垂直線に対し、−45°以上であるが、45°未満の角度を持つ動作ベクトルは、方向ラベル0が割り当てられ、45°以上であるが、135°未満の角度を持つ動作ベクトルは、方向ラベル1が割り当てられる等である。動作ベクトルの大きさ及び方向に対するラベリングの他のスキームを使用することも可能である。
1つの実施形態では、同じ位置に存在するマクロブロックの各ペアについて、ペア内の2つの動作ベクトルの大きさラベルが比較され、ペア内の2つの動作ベクトルの方向ラベルが比較される。1つの実施形態では、ペア内の2つの動作ベクトルについて、大きさラベルが同じで、方向ラベルが反対ではない場合、動作ベクトルのそのペアは、類似であると定義される。この実施形態では、類似と考えられるペア内の2つの動作ベクトルについて、方向ラベルは必ずしも順番が同じになる必要はないことに留意されたい。例えば、上述したスキームを使用して、方向ラベル0は、方向ラベル0,1,又は3と類似していると考えられるが、方向ラベル2に対しては、反対であると考えられる。類似の動作ベクトルを構成するものを定義する他のルールを使用することもできる。
図10のブロック102では、1つの実施形態において、類似の動作ベクトルを含むともに、同じ位置に存在するマクロブロックのペアの数がカウントされる。言い換えれば、類似の動作ベクトルのペアの数がカウントされる。
ブロック103では、1つの実施形態において、ブロック102でなされたカウントが、しきい値を超えると、基準フレーム21からの動作ベクトルは、候補動作ベクトルのセット(例えば、図6のセット65)に含まれる資格を有している。1つの実施形態では、このしきい値は、2つのフレーム21,22のうちの何れかにおけるマクロブロックの数の1/2に等しい。
興味のあるマクロブロックに隣接して、動作境界が存在しうる。動作境界の1つの側における対象物は、動作境界の他の側における対象物とは異なって動く。図11は、動作境界を見つける方法の1つの実施形態のフローチャート110である。このフローチャート110は、図5のブロック53を実行する方法の1つの実施形態を説明する。1つの実施形態では、ブロック53(従ってフローチャート110の方法)は、図5のブロック52の結果に依存して実施されることを留意されたい。
図11のブロック111では、基準フレーム内で動作境界が特定される。ブロック112では、候補動作ベクトルのセットは、現在のフレーム内の興味のあるマクロブロックと同じ位置に存在する基準フレーム内のマクロブロックと、動作境界の同じ側に存在する基準フレーム内のマクロブロックに関連する動作ベクトルのみを含む。
図11は、更に図12を参照して記述される。図12は、基準フレーム121内のウィンドウ125と、現在のフレーム122内のウィンドウ126とを示す。基準フレーム121及び現在のフレーム122はそれぞれ、ウィンドウ125及びウィンドウ126に含まれるマクロブロックの他にもマクロブロックを含むことが理解される。
1つの実施形態では、ブロック111において、動作境界129が、基準フレーム121内で特定される。1つの実施形態では、この動作境界129は、以下に示す方法で特定される。基準フレーム121内のウィンドウ内のマクロブロックに関連した動作ベクトルの各々に、大きさラベルと方向ラベルとが割り当てられる。上述した説明は、図10とともに、動作ベクトルをラベル付けするための1つの方法を記述する。
現在のフレーム122内の興味のあるマクロブロック123と同じ位置にある基準フレーム121内のマクロブロック124に関連した動作ベクトルは、クラス0として分類される。すなわち、マクロブロック124は、興味のあるマクロブロック123と同じ位置に存在するので、マクロブロック124に関連する動作ベクトルは、特定のクラス(例えば、クラス0)からなる第1のメンバとして特定される。
ウィンドウ125に関連した他の動作ベクトルの大きさラベルがそれぞれ、マクロブロック124に関連した動作ベクトルの大きさラベルと比較され、ウィンドウ125内の他の動作ベクトルの方向ラベルがそれぞれ、マクロブロック124に関連した動作ベクトルの方向ラベルと比較される。
1つの実施形態では、動作ベクトルの大きさラベルが、マクロブロック124に関連した動作ベクトルのそれと同じであり、その動作ベクトルの角度ラベルが、マクロブロック124に関連した動作ベクトルの反対ではない場合、その動作ベクトルは、マクロブロック124に関連した動作ベクトルに類似していると定義され、その動作ベクトルもまたクラス0として分類される。上述したように、説明した処理は、ローカル動作クラスマップ127を生成するために、ウィンドウ125に関連する各動作ベクトルについて繰り返される。
1つの実施形態では、ブロック112において、マクロブロック124に関連する動作ベクトルと同じクラスにあるウィンドウ125に関連する動作ベクトルのみが、候補動作ベクトルのセット126に含まれる。言い換えれば、本実施形態では、動作境界129においてマクロブロック124(興味のあるマクロブロック123と同じ位置に存在するマクロブロック)と同じ側にある基準フレーム121内のウィンドウ125内の動作ベクトルのみが、候補動作ベクトルのセット128に含まれる。すなわち、図12に示す例では、クラス0として分類された動作ベクトルのみが、セット128に含まれる。上述したように、候補動作ベクトルのセット128の統計的尺度が(図5及び図6の議論を参照して)決定される。
現在のフレーム122のウィンドウ126に関連する適切に受信された動作ベクトルは、興味のあるマクロブロック123と、動作境界の同じ側にあるマクロブロックに関連しているのであれば、セット128に含まれることに留意されたい。例えば、マップ127が決定された後、クラス0として分類されたウィンドウ127内のマクロブロックと同じ位置に存在するウィンドウ126内のマクロブロックもまた、クラス0として分類され、ウィンドウ126内のマクロブロックに関連する動作ベクトルが、セット128に含まれうる。
図13は、候補動作ベクトルを選択するために、移動中の対象物の軌跡を用いる方法の1つの実施形態のフローチャート130である。フローチャート130は、図5のブロック53を実現する方法の1つの実施形態を記載する。
図13のブロック131では、基準フレーム内の第1のマクロブロック内の対象物が特定される。ブロック132では、この対象物が、現在のフレーム内の同じ位置に存在する第2のマクロブロックと十分にオーバラップする(すなわち、第1のマクロブロックと第2のマクロブロックとが、それぞれのフレーム内において同じ位置に存在する)のであれば、この対象物に関連する動作ベクトルが、候補動作ベクトルのセットに含まれる。
図13は、更に図14が参照されて記載される。図14は、基準フレーム141のウィンドウ147と、現在のフレーム142のウィンドウ148とを示す。マクロブロック143は、マクロブロック146と同じ位置に存在する。基準フレーム141及び現在のフレーム142は、ウィンドウ147及びウィンドウ148にそれぞれ含まれるマクロブロックの他にマクロブロックを含んでいることが理解される。
ブロック131では、1つの実施形態において、基準フレーム内であって、マクロブロック146と同じ位置に存在するマクロブロック143に関連付けられた対象物143が特定される。現在のフレーム142では、対象物144は、異なる位置に移動しており、現在は、マクロブロック145に関連付けられている。
ブロック132では、1つの実施形態において、対象物144を含むマクロブロック145が、十分な量までマクロブロック146とオーバラップするかが判定される。もしも十分な量オーバラップするのであれば、対象物144に関連する動作ベクトルは、候補動作ベクトルのセット(例えば、図6のセット65)に含まれうる。そうでない場合は、対象物144に関連する動作ベクトルは、セット内に含まれない。
図13及び図14と共に記載された方法は、ウィンドウ147及びウィンドウ148内のマクロブロックの何れかにも同様に適用されうることに留意されたい。すなわち、ウィンドウ147及びウィンドウ148の中心マクロブロックについて記載されたが、本発明はそれに限定されない。
1つの実施形態では、25パーセント以上のオーバラップが十分であると考えられる。マクロブロック145がその量までマクロブロック146とオーバラップするかを判定するために様々な技術を使用することができる。1つの実施形態では、マクロブロック145とマクロブロック146はそれぞれ、現在のフレーム142内におけるそれぞれの位置を定義する2次元座標のセットに関連付けられる。この座標を使用すると、例えば、マクロブロック145とマクロブロック146とのうちの1つのコーナを、オーバラップ量が25%を超えているかを判定するために、他のマクロブロックの側面の中点と比較することが可能である。25%以外のしきい値を使用することも可能である。
図9乃至14の実施形態は、これら実施形態のある局面をより明確に記述するために別々に記載されたが、これら実施形態は、異なる局面と組み合わせて実現されうることが理解される。1つの実施形態では、図9及び図10とともに記載された方法のうちの1つが、図11乃至14とともに記載された方法のうちの1つと組み合わされる。
要約すると、本発明に従った実施形態は、ピクセルドメイン内のピクセル値ではなく、動作ベクトルドメイン内の動作ベクトルを用いた時間誤りキャンセル方法及びシステムを提供する。従って、誤りキャンセルに関し、歪み評価をなくすことができるので、計算上の複雑さが低減され、計算ステップ数が、85%まで低減されうる。デコード遅延は、1フレームから、マクロブロック1スライスに低減される。すなわち、欠落した動作ベクトルを推定するのに隣接する動作ベクトルを使用するために、マクロブロックの僅か1スライス(例えば、1行)のみの処理で遅延されうる。誤りキャンセルに関し、ピクセル値を検索するためのメモリアクセスを無くすことができるので、メモリアクセス時間、及び関連するデコード遅延が低減される。また、本明細書に記載の実施形態は、ピクセルベースの誤りキャンセル技術に関連するPSNRと同等であるか、さもなければそれより良好なPSNRを生成する。更に、実施形態は、ハードウェア変更を加える必要なしに実施することができる。
本明細書に記載の概念は、誤りキャンセル以外の用途にも使用することができる。例えば、実施形態は、エンコーダにおける動作推定に使用することができる。例えば、従来の階層的動作推定では、最も低い空間分解能で見つかった動作ベクトルが、より高い分解能の動作ベクトルの初期推定として使用される。代わりに、上述したようにして選択された動作ベクトルは、エンコーダにおける動作予測を促進するための初期推定値として使用することができる。
本発明の実施形態が以上の通り記述された。本発明は、様々な異なる実施形態によって記述されている一方、本発明は、そのような実施形態によって限定されるのではなく、特許請求の範囲に従って解釈されるべきであると認識されるべきである。
図1は、ビデオデータをデコードするシステムの1つの例のブロック図である。 図2は、マクロブロックとして体系化されたイメージデータの2つのフレームの例を示す。 図3は、1つのフレームから次のフレームへの対象物の動作を示す2つのイメージフレームの例を示す。 図4は、データエンコード処理からデータデコード処理へのデータの流れを示すデータフロー図を示す。 図5は、動作ベクトルドメインベースの時間誤りキャンセル方法のフローチャートである。 図6は、図5の方法に従った情報のフローを示す。 図7は、動作ベクトルドメインベースの時間誤りキャンセル処理に使用される候補動作ベクトルを選択する方法のフローチャートである。 図8は、図7の方法に従った情報のフローを示す。 図9は、フレーム対フレーム動作変化を検出し、動作ベクトルドメインベースの時間誤りキャンセル処理で使用される候補動作ベクトルを選択するために使用される方法のフローチャートである。 図10は、フレーム対フレーム動作変化を検出し、動作ベクトルドメインベースの時間誤りキャンセル処理で使用される候補動作ベクトルを選択するために使用される別の方法のフローチャートである。 図11は、フレーム内の動作境界を位置決めし、動作ベクトルドメインベースの時間誤りキャンセル処理で使用される候補動作ベクトルを選択するために使用される方法のフローチャートである。 図12は、図11の方法に従った情報のフローを示す。 図13は、動作ベクトルドメインベースの時間誤りキャンセル処理で使用される候補動作ベクトルを選択するために動作対象物の軌跡を用いる方法のフローチャートである。 図14は、図13の方法を示す。

Claims (10)

  1. プロセッサを用いてビデオデータを処理する方法であって、
    前記プロセッサが、
    前記ビデオデータの基準フレーム内の複数の第1のマクロブロックに関連した複数の第1の動作ベクトルから、及び、前記ビデオデータの現在のフレーム内の複数の第2のマクロブロックに関連した複数の第2の動作ベクトルから、動作ベクトルのセットを選択することと、
    前記複数の第2のマクロブロック内の興味のあるマクロブロックの動作ベクトルを定義する統計的尺度を、前記動作ベクトルのセットについて決定することと、
    前記興味のあるマクロブロックに前記動作ベクトルを適用することと、
    前記複数の第1の動作ベクトルからの動作ベクトルが、前記セットに含まれる資格を有しているかを判定することとを備え、
    前記判定することは、
    前記プロセッサが、
    前記基準フレームに関連付けられた動作ベクトルの大きさの範囲、および、前記現在のフレームに関連付けられた動作ベクトルの大きさの範囲をそれぞれ、以下の式にしたがって決定することと、
    Figure 0005021494
    前記基準フレームに関連付けられた動作ベクトルの角度の範囲、および、前記現在のフレームに関連付けられた動作ベクトルの角度の範囲をそれぞれ、以下の式にしたがって決定することと、
    Figure 0005021494
    前記基準フレームに関連付けられた動作ベクトルの大きさの範囲と前記現在のフレームに関連付けられた動作ベクトルの大きさの範囲との比較、および、前記基準フレームに関連付けられた動作ベクトルの角度の範囲と前記現在のフレームに関連付けられた動作ベクトルの角度の範囲と比較を行うこととを備え、
    前記大きさの範囲同士、および、前記角度の範囲同士それぞれ、指定した量までオーバラップしているのであれば、前記複数の第1の動作ベクトルからの動作ベクトルは、前記セットに含まれる資格を有している方法。
  2. 前記プロセッサは、前記統計的尺度を決定する場合、前記セットの中央値を決定し、
    前記興味のあるマクロブロックの前記動作ベクトルは前記中央値である請求項1に記載の方法。
  3. 前記プロセッサが、前記統計的尺度を決定する場合、前記セットの平均を決定し、
    前記興味のあるマクロブロックの前記動作ベクトルは前記平均である請求項1または2に記載の方法。
  4. 前記基準フレームは、表示順において、前記現在のフレームよりも先である請求項1乃至3のうち何れか1項に記載の方法。
  5. コンピュータに対してビデオデータ処理方法を実行させるためのコンピュータ読取可能なプログラムコードを組み込んだコンピュータ読取可能記録媒体であって、
    前記プログラムコードは、
    前記コンピュータに対して、ビデオデータの基準フレーム内の複数の第1のマクロブロックに関連した複数の第1の動作ベクトルから、及び、前記ビデオデータの現在のフレーム内の複数の第2のマクロブロックに関連した複数の第2の動作ベクトルから、動作ベクトルのセットを選択させるためのコードと、
    前記コンピュータに対して、前記複数の第2のマクロブロック内の興味のあるマクロブロックの動作ベクトルを定義する統計的尺度を、前記動作ベクトルのセットについて決定させるためのコードと、
    前記コンピュータに対して、前記興味のあるマクロブロックに前記動作ベクトルを適用させるためのコードと、
    前記コンピュータに対して、前記複数の第1の動作ベクトルからの動作ベクトルが、前記セットに含まれる資格を有しているかを判定させるためのコードとを備え、
    前記判定させるためのコードはさらに、
    前記コンピュータに対して、前記基準フレームに関連付けられた動作ベクトルの大きさの範囲、および、前記現在のフレームに関連付けられた動作ベクトルの大きさの範囲をそれぞれ、以下の式にしたがって決定させるためのコードと、
    Figure 0005021494
    前記コンピュータに対して、前記基準フレームに関連付けられた動作ベクトルの角度の範囲、および、前記現在のフレームに関連付けられた動作ベクトルの角度の範囲をそれぞれ、以下の式にしたがって決定させるためのコードと、
    Figure 0005021494
    前記コンピュータに対して、基準フレームに関連付けられた動作ベクトルの大きさ範囲と、前記現在のフレームに関連付けられた動作ベクトルの大きさの範囲との比較、および、前記基準フレームに関連付けられた動作ベクトルの角度の範囲と、前記現在のフレームに関連付けられた動作ベクトルの角度の範囲と比較させるためのコードとを備え、
    前記大きさの範囲同士、および、前記角度の範囲同士それぞれ、指定した量までオーバラップしているのであれば、前記複数の第1の動作ベクトルからの動作ベクトルは、前記セットに含まれる資格を有しているコンピュータ読取可能記録媒体。
  6. 前記基準フレームは、表示順において、前記現在のフレームよりも先である請求項5に記載のコンピュータ読取可能記録媒体。
  7. ビデオデータを処理するシステムであって、
    前記ビデオデータの基準フレーム内の複数の第1のマクロブロックに関連した複数の第1の動作ベクトルから、及び、前記ビデオデータの現在のフレーム内の複数の第2のマクロブロックに関連した複数の第2の動作ベクトルから、動作ベクトルのセットを選択する手段と、
    前記複数の第2のマクロブロック内の興味のあるマクロブロックの動作ベクトルを定義する統計的尺度を、前記動作ベクトルのセットについて決定する手段と、
    前記興味のあるマクロブロックに前記動作ベクトルを適用する手段と、
    前記複数の第1の動作ベクトルからの動作ベクトルが、前記セットに含まれる資格を有しているかを判定する手段とを備え、
    前記判定する手段は、
    前記基準フレームに関連付けられた動作ベクトルの大きさの範囲、および、前記現在のフレームに関連付けられた動作ベクトルの大きさの範囲をそれぞれ、以下の式にしたがって決定する手段と、
    Figure 0005021494
    前記基準フレームに関連付けられた動作ベクトルの角度の範囲、および、前記現在のフレームに関連付けられた動作ベクトルの角度の範囲をそれぞれ、以下の式にしたがって決定する手段と、
    Figure 0005021494
    前記基準フレームに関連付けられた動作ベクトルの大きさの範囲と前記現在のフレームに関連付けられた動作ベクトルの大きさの範囲との比較、および、前記基準フレームに関連付けられた動作ベクトルの角度の範囲と前記現在のフレームに関連付けられた動作ベクトルの角度の範囲と比較を行う手段とを備え、
    前記大きさの範囲同士、および、前記角度の範囲同士それぞれ、指定した量までオーバラップしているのであれば、前記複数の第1の動作ベクトルからの動作ベクトルは、前記セットに含まれる資格を有しているシステム。
  8. 前記基準フレームは、表示順において、前記現在のフレームよりも先である請求項7に記載のシステム。
  9. マイクロプロセッサと、
    前記マイクロプロセッサに接続されたメモリユニットとを備え、前記メモリユニットは、前記マイクロプロセッサによって実行された場合、ビデオデータを処理する方法を実行する命令を含み、
    前記方法は、
    前記ビデオデータの基準フレーム内の複数の第1のマクロブロックに関連した複数の第1の動作ベクトルから、及び、前記ビデオデータの現在のフレーム内の複数の第2のマクロブロックに関連した複数の第2の動作ベクトルから、動作ベクトルのセットを選択することと、
    前記複数の第2のマクロブロック内の興味のあるマクロブロックの動作ベクトルを定義する統計的尺度を、前記動作ベクトルのセットについて決定することと、
    前記興味のあるマクロブロックに前記動作ベクトルを適用することと、
    前記基準フレームに関連付けられた動作ベクトルの大きさの範囲、および、前記現在のフレームに関連付けられた動作ベクトルの大きさの範囲をそれぞれ、以下の式にしたがって決定することと、
    Figure 0005021494
    前記基準フレームに関連付けられた動作ベクトルの角度の範囲、および、前記現在のフレームに関連付けられた動作ベクトルの角度の範囲をそれぞれ、以下の式にしたがって決定することと、
    Figure 0005021494
    前記基準フレームに関連付けられた動作ベクトルの大きさの範囲と前記現在のフレームに関連付けられた動作ベクトルの大きさの範囲との比較および、前記基準フレームに関連付けられた動作ベクトルの角度の範囲と前記現在のフレームに関連付けられた動作ベクトルの角度の範囲と比較を行うこととを備え、
    前記大きさの範囲同士、および、前記角度の範囲同士それぞれ、指定した量までオーバラップしているのであれば、前記複数の第1の動作ベクトルからの動作ベクトルは、前記セットに含まれる資格を有しているデバイス。
  10. 前記基準フレームは、表示順において、前記現在のフレームよりも先である請求項9に記載のデバイス。
JP2007548507A 2004-12-22 2005-12-22 ビデオ通信のための動作ベクトルの時間的推定 Expired - Fee Related JP5021494B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/022,362 2004-12-22
US11/022,362 US20060133495A1 (en) 2004-12-22 2004-12-22 Temporal error concealment for video communications
PCT/US2005/046739 WO2006069297A1 (en) 2004-12-22 2005-12-22 Temporal estimation of a motion vector for video communications

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011158191A Division JP5420600B2 (ja) 2004-12-22 2011-07-19 ビデオ通信のための動きベクトルの時間的推定

Publications (2)

Publication Number Publication Date
JP2008526119A JP2008526119A (ja) 2008-07-17
JP5021494B2 true JP5021494B2 (ja) 2012-09-05

Family

ID=36177977

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2007548507A Expired - Fee Related JP5021494B2 (ja) 2004-12-22 2005-12-22 ビデオ通信のための動作ベクトルの時間的推定
JP2011158191A Expired - Fee Related JP5420600B2 (ja) 2004-12-22 2011-07-19 ビデオ通信のための動きベクトルの時間的推定

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2011158191A Expired - Fee Related JP5420600B2 (ja) 2004-12-22 2011-07-19 ビデオ通信のための動きベクトルの時間的推定

Country Status (9)

Country Link
US (2) US20060133495A1 (ja)
EP (1) EP1829383B1 (ja)
JP (2) JP5021494B2 (ja)
KR (1) KR100964407B1 (ja)
CN (1) CN101116345B (ja)
AT (1) ATE494735T1 (ja)
DE (1) DE602005025808D1 (ja)
TW (1) TW200637375A (ja)
WO (1) WO2006069297A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8514933B2 (en) 2005-03-01 2013-08-20 Qualcomm Incorporated Adaptive frame skipping techniques for rate controlled video encoding

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
TWI392374B (zh) 2004-07-01 2013-04-01 Qualcomm Inc 於可調節視訊編碼中用以使用框率上升轉換技術之方法與裝置
CN101189882B (zh) 2004-07-20 2012-08-01 高通股份有限公司 用于视频压缩的编码器辅助帧率上变换(ea-fruc)的方法和装置
US8553776B2 (en) 2004-07-21 2013-10-08 QUALCOMM Inorporated Method and apparatus for motion vector assignment
US20060133495A1 (en) * 2004-12-22 2006-06-22 Yan Ye Temporal error concealment for video communications
GB0500332D0 (en) * 2005-01-08 2005-02-16 Univ Bristol Enhanced error concealment
CN100459717C (zh) * 2005-04-20 2009-02-04 华为技术有限公司 基于h.264的压缩视频传输误码消除方法
US7660354B2 (en) * 2005-05-11 2010-02-09 Fang Shi Temporal error concealment for bi-directionally predicted frames
KR100843083B1 (ko) * 2005-12-14 2008-07-02 삼성전자주식회사 움직임 추정 기반 프레임 보간을 위한 장치 및 방법
US8848789B2 (en) 2006-03-27 2014-09-30 Qualcomm Incorporated Method and system for coding and decoding information associated with video compression
US8401082B2 (en) 2006-03-27 2013-03-19 Qualcomm Incorporated Methods and systems for refinement coefficient coding in video compression
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
US8213509B2 (en) 2006-10-06 2012-07-03 Calos Fund Limited Liability Company Video coding on parallel processing systems
KR101365567B1 (ko) * 2007-01-04 2014-02-20 삼성전자주식회사 영상의 예측 부호화 방법 및 장치, 그 복호화 방법 및 장치
FR2915342A1 (fr) * 2007-04-20 2008-10-24 Canon Kk Procede et dispositif de codage video
US8683213B2 (en) 2007-10-26 2014-03-25 Qualcomm Incorporated Progressive boot for a wireless device
EP2240905B1 (en) * 2008-01-11 2012-08-08 Zoran (France) Sparse geometry for super resolution video processing
US9641861B2 (en) * 2008-01-25 2017-05-02 Mediatek Inc. Method and integrated circuit for video processing
US8948822B2 (en) * 2008-04-23 2015-02-03 Qualcomm Incorporated Coordinating power management functions in a multi-media device
US8908763B2 (en) * 2008-06-25 2014-12-09 Qualcomm Incorporated Fragmented reference in temporal compression for video coding
US8599920B2 (en) * 2008-08-05 2013-12-03 Qualcomm Incorporated Intensity compensation techniques in video processing
US8948270B2 (en) * 2008-08-19 2015-02-03 Qualcomm Incorporated Power and computational load management techniques in video processing
US8964828B2 (en) 2008-08-19 2015-02-24 Qualcomm Incorporated Power and computational load management techniques in video processing
US8634456B2 (en) 2008-10-03 2014-01-21 Qualcomm Incorporated Video coding with large macroblocks
US8619856B2 (en) 2008-10-03 2013-12-31 Qualcomm Incorporated Video coding with large macroblocks
US8503527B2 (en) 2008-10-03 2013-08-06 Qualcomm Incorporated Video coding with large macroblocks
CN102131095B (zh) * 2010-01-18 2013-03-20 联发科技股份有限公司 移动预测方法及视频编码方法
US9036692B2 (en) * 2010-01-18 2015-05-19 Mediatek Inc. Motion prediction method
US8976873B2 (en) * 2010-11-24 2015-03-10 Stmicroelectronics S.R.L. Apparatus and method for performing error concealment of inter-coded video frames
ES2886357T3 (es) * 2011-06-27 2021-12-17 Samsung Electronics Co Ltd Codificación y decodificación de información de movimiento
JP5649523B2 (ja) * 2011-06-27 2015-01-07 日本電信電話株式会社 映像符号化方法,装置,映像復号方法,装置およびそれらのプログラム
MX2014000159A (es) 2011-07-02 2014-02-19 Samsung Electronics Co Ltd Metodo y aparato para la codificacion de video, y metodo y aparato para la decodificacion de video acompañada por inter prediccion utilizando imagen co-localizada.
US20150195521A1 (en) * 2014-01-09 2015-07-09 Nvidia Corporation Candidate motion vector selection systems and methods
US9888421B2 (en) 2014-09-16 2018-02-06 Mediatek Inc. Method of enhanced bearer continuity for 3GPP system change
US9800825B2 (en) * 2015-03-02 2017-10-24 Chih-Ta Star Sung Semiconductor display driver device, mobile multimedia apparatus and method for frame rate conversion

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5737022A (en) * 1993-02-26 1998-04-07 Kabushiki Kaisha Toshiba Motion picture error concealment using simplified motion compensation
US5621467A (en) * 1995-02-16 1997-04-15 Thomson Multimedia S.A. Temporal-spatial error concealment apparatus and method for video signal processors
EP0897247A3 (de) * 1997-08-14 2001-02-07 Philips Patentverwaltung GmbH Verfahren zur Berechnung von Bewegungsvektoren
US6865227B2 (en) * 2001-07-10 2005-03-08 Sony Corporation Error concealment of video data using motion vector data recovery
DE60135036D1 (de) * 2001-10-05 2008-09-04 Mitsubishi Electric Corp Verfahren und Vorrichtung zur Kompensation von fehlerhaften Bewegungsvektoren in Bilddaten
EP1395061A1 (en) 2002-08-27 2004-03-03 Mitsubishi Electric Information Technology Centre Europe B.V. Method and apparatus for compensation of erroneous motion vectors in video data
WO2004030369A1 (en) * 2002-09-27 2004-04-08 Videosoft, Inc. Real-time video coding/decoding
US20040141555A1 (en) * 2003-01-16 2004-07-22 Rault Patrick M. Method of motion vector prediction and system thereof
US20060133495A1 (en) * 2004-12-22 2006-06-22 Yan Ye Temporal error concealment for video communications

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8514933B2 (en) 2005-03-01 2013-08-20 Qualcomm Incorporated Adaptive frame skipping techniques for rate controlled video encoding

Also Published As

Publication number Publication date
US20100118970A1 (en) 2010-05-13
EP1829383B1 (en) 2011-01-05
TW200637375A (en) 2006-10-16
WO2006069297A1 (en) 2006-06-29
KR20070090242A (ko) 2007-09-05
CN101116345B (zh) 2010-12-22
US8817879B2 (en) 2014-08-26
EP1829383A1 (en) 2007-09-05
US20060133495A1 (en) 2006-06-22
DE602005025808D1 (de) 2011-02-17
ATE494735T1 (de) 2011-01-15
CN101116345A (zh) 2008-01-30
KR100964407B1 (ko) 2010-06-15
JP2008526119A (ja) 2008-07-17
JP2011254508A (ja) 2011-12-15
JP5420600B2 (ja) 2014-02-19

Similar Documents

Publication Publication Date Title
JP5021494B2 (ja) ビデオ通信のための動作ベクトルの時間的推定
KR100930850B1 (ko) 양방향 예측 프레임에 대한 시간적 에러 은닉 방법, 장치, 프로세서, 및 컴퓨터 판독가능 매체
JP5373626B2 (ja) 複数の動きベクトル・プレディクタを使用して動きベクトルを推定する方法、装置、エンコーダ、デコーダ及びデコーディング方法
JP4898467B2 (ja) 可変ブロックサイズ動き予測のための符号化モードの決定方法及び装置
CN103647972B (zh) 运动图像解码方法和运动图像编码方法
US11689736B2 (en) Video image processing method and device
JP2009509413A (ja) 不規則な動きベクトルのサンプルに対する時間予測フィルタのための適応動き推定
JP5216710B2 (ja) 復号化処理方法
JP2008533845A (ja) P−フレームのための時間的エラー隠蔽の方法および装置
JP2022517134A (ja) ビデオ符号化のための双方向オプティカルフローおよびデコーダ側動きベクトル補正を選択的に適用する方法およびデバイス
CN1893665A (zh) 错误隐藏方法及设备
JP4195057B2 (ja) 適応動きベクトルの探索領域を決定する方法、および適応動きベクトルの探索領域を決定する画像圧縮装置。
JP2000224593A (ja) フレーム補間方法および装置およびこの方法を記録した記録媒体
JP4669517B2 (ja) 動き推定の実現方法
JP2010521118A (ja) 圧縮したビデオ源からのマルチフレーム動画の推定
JP2005348008A (ja) 動画像符号化方法、動画像符号化装置、動画像符号化プログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2000350209A (ja) リアルタイム動映像符号化のための高速動き推定方法及びその装置
KR20040027047A (ko) 예측 스캐닝을 이용한 영상 부호화/복호화 방법 및 장치
KR20190071189A (ko) 참조 프레임을 적응적으로 제한하는 영상 부호화 방법 및 장치
KR20090093675A (ko) 곡선 보간을 이용한 에러복원방법
KR100672376B1 (ko) 움직임 보상 방법
WO2020140216A1 (zh) 视频处理方法和装置
CN116847090A (zh) 一种基于桌面视频感兴趣区域的并行编解码方法及系统
JP5276957B2 (ja) 動画像符号化方法及び装置
JPH0730902A (ja) 動きベクトル検出方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101026

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110419

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110719

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110927

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120127

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120206

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120515

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120614

R150 Certificate of patent or registration of utility model

Ref document number: 5021494

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150622

Year of fee payment: 3

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees