JP2009513068A - ビデオ・エンコーディングのためのスケーリング可能な動き推定 - Google Patents
ビデオ・エンコーディングのためのスケーリング可能な動き推定 Download PDFInfo
- Publication number
- JP2009513068A JP2009513068A JP2008536646A JP2008536646A JP2009513068A JP 2009513068 A JP2009513068 A JP 2009513068A JP 2008536646 A JP2008536646 A JP 2008536646A JP 2008536646 A JP2008536646 A JP 2008536646A JP 2009513068 A JP2009513068 A JP 2009513068A
- Authority
- JP
- Japan
- Prior art keywords
- video block
- video
- concentric
- anchor point
- search
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/156—Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/533—Motion estimation using multistep search, e.g. 2D-log search or one-at-a-time search [OTS]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本明細書は、ビデオ・エンコーディングのためのスケーリング可能な動き推定技術に向けられている。動き推定技術にしたがえば、動きベクトル検索は、利用可能な計算リソースにしたがってスケーリングされる。例えば、検索の範囲は、利用可能な計算リソースにしたがって絶えず調節されることができる。より広範囲の検索は、計算リソースが許すときに実行されることができる。計算リソースが不足しているときには、検索は、もっと制限されることがある。このように、スケーリング可能な動き推定技術は、ビデオ品質と、計算オーバーヘッドそして電力消費とをバランスさせる。本スケーリング可能な動き推定技術は、一連の同心領域を、中央のアンカー点で始めそして複数の同心領域の全体にわたり外側に向けて移動するように検索することができる。特定のビデオ・フレーム又はマクロブロックに対して検索する同心領域の数は、計算リソースにしたがって調節される。アンカー点を検索すると、検索は、次の同心領域へ外側に進み、そして利用可能な計算リソースによって許されるとして継続する。
Description
本明細書は、ディジタル・ビデオ・エンコーディングに係わり、特に、フレーム間動き推定のための技術に関する。
複数の異なるビデオ・エンコーディング規格が、ディジタル・ビデオ系列をエンコードするために開発されてきている。例えば、映画エキスパート・グループ(MPEG:Moving Picture Experts Group)は、MPEG−1、MPEG−2及びMPEG−4を含む複数の規格を既に開発している。別の例は、国際電気通信連合(ITU:International Telecommunication Union)H.261規格、ITU H.263規格、及び新しいITU H.264規格を含む。これらのビデオ・エンコーディング規格は、一般にデータを圧縮方式でエンコードすることによってビデオ系列の伝送効率の向上をサポートする。圧縮は、ビデオ・フレームの効率的な伝送のために伝送されることが必要なデータの全体量を削減する。
例えば、MPEG−4,ITU H.261,ITU H.263及びITU H.264規格は、フレーム間圧縮を提供するために、時間的相関又はフレーム間相関と呼ばれる連続する複数のビデオ・フレーム間の類似性を利用するビデオ・エンコーディング技術をサポートする。フレーム間圧縮技術は、ビデオ・フレームのピクセルに基づく表示を動き表示、一般的に動きベクトルと呼ばれる、に変換することによって、複数のフレームにわたるデータの冗長性を活用する。フレーム間技術を使用してエンコードされるフレームは、P(“予測(predictive)”)フレーム又はB(“双方向(bi-directional)”)フレームと呼ばれる。複数のフレーム、又は1フレーム内の複数のマクロブロック(MB:macroblock)、は、非予測である空間圧縮、フレーム内圧縮を使用してエンコードされる。内部コード化されたフレームは、一般的にI(“内部(Intra)”)フレームと呼ばれる。
ビデオ・フレームをエンコードするために、エンコーダは、ビデオ・フレームを複数のマクロブロックへと分割し、そして隣接ビデオ・フレーム内の複数のマクロブロックを検索してもっとも類似するマクロブロックを同定する。動き推定と呼ばれるこのプロセスは、計算集約型である。エンコーダは、複数のマクロブロック間の差異をエンコードし、そして隣接ビデオ・フレームからマクロブロックを同定する動きベクトルを生成する。デコーダは、動きベクトルとエンコードされた差異を受け取り、そして動き補償を実行してビデオ・フレームの系列を生成する。
本明細書は、ビデオ・エンコーディングのためのスケーリング可能な動き推定技術に向けられている。開示された動き推定技術にしたがえば、動きベクトル検索は、検索の時点で利用可能な計算リソースの量にしたがってスケーリングされる。例えば、動きベクトル検索の範囲は、利用可能な計算リソースにしたがって絶えず調節されることができる。より広範囲の検索は、計算リソースが許すときに実行されることができる。あるいは、計算リソースが不足しているときには、検索は、もっと制限されることがある。このように、スケーリング可能な動き推定技術は、ビデオ品質と、計算オーバーヘッドと、そして電力消費とをバランスさせることが可能である。
本スケーリング可能な動き推定技術は、一連の同心領域を、中央のアンカー点のところで始めそして外側に向けて移動するように検索するために構成されることができる。ある複数の実施形態では、同心領域は、ダイアモンドのような形にされることがある。特定のビデオ・フレーム又はマクロブロックに対して検索される同心領域の数は、利用可能な計算リソースの量にしたがって調節される。同心領域は、初期動きベクトル予測において固定される中央の点で始まる。中央アンカー点を評価すると、検索は、外側に次の同心領域へと進み、そして利用可能な計算リソースによって許される範囲へと続く。
上に記述された同心検索は、複数の方法で変形されることが可能である。1つの変形例は、検索の数を著しく増加させることなくより広い検索範囲をカバーするために同心領域を部分サンプリングすることである。例えば、第1ステージでは、最小値が見つかるまで、偶数番号領域が検索される。次に、第2ステージで、偶数番号領域と奇数番号領域との両者が、その最小値を中心として検索される。このタイプの検索方法は、複数解(multi-resolution)検索、同心領域検索と呼ばれることができる。最小値を見つけると、同心領域のアンカー点は、検索の各ステージにおいて現在の最小値を中心として複数の領域の中心を決めるように再設定されることができる。
1つの実施形態では、本明細書は、ビデオ・ブロックのアレイ内にアンカー点を定めること、該アンカー点のところに中心を置く複数の同心領域を定めること、エンコードされようとしている現在のビデオ・ブロックと比較して最小の差異値をもたらすビデオ・ブロックを同定するために該同心領域に関係するビデオ・ブロックを評価すること、及び該同定されたビデオ・ブロックに基づき動きベクトルを用いて該現在のビデオ・ブロックをエンコードすることを具備する、ビデオ・エンコーディング方法を提供する。
別の1つの実施形態では、本明細書は、ビデオ・ブロックのアレイを記憶するメモリ、及び該ビデオ・ブロックのアレイ内のアンカー点のところに中心を置く複数の同心領域を定め、エンコードされようとしている現在のビデオ・ブロックと比較して最小の差異値をもたらすビデオ・ブロックを同定するために該同心領域に関係するビデオ・ブロックを評価し、そして該同定されたビデオ・ブロックに基づき動きベクトルを用いて該現在のビデオ・ブロックをエンコードするプロセッサ、を具備するビデオ・エンコーダを提供する。
そのうえ1つの実施形態では、本明細書は、ビデオ・ブロックのアレイ内にアンカー点を定めるための手段、該アンカー点のところに中心を置く複数の同心領域を定めるための手段、エンコードされようとしている現在のビデオ・ブロックと比較して最小の差異値をもたらすビデオ・ブロックを同定するために該同心領域に関係するビデオ・ブロックを評価するための手段、及び該同定されたビデオ・ブロックに基づき動きベクトルを用いて該現在のビデオ・ブロックをエンコードするための手段、を具備する、ビデオ・エンコーダを提供する。
さらなる実施形態では、本明細書は、利用可能な計算能力の指示に基づいてビデオ・ブロック検索空間内で同心領域の数を選択すること、そしてエンコードされようとしている現在のビデオ・ブロックと比較して最小の差異値をもたらすビデオ・ブロックを同定するためにビデオ・ブロック検索空間内の該選択された数の同心領域に関係するビデオ・ブロックを評価すること、そして該同定されたビデオ・ブロックに基づき動きベクトルを用いて該現在のビデオ・ブロックをエンコードすることを具備する、ビデオ・エンコーディング方法を提供する。
本明細書は、しかも、本明細書中で説明するいずれかの技術の全て又は一部を実行するためのビデオ・エンコーダを形成する1又はそれより多くのプロセッサに行わせる命令を具備するコンピュータ読取り可能な媒体を考慮する。
1又はそれより多くの実施形態の詳細は、添付される図面及び下記の記載に説明される。その他の特徴、目的、及び利点は、説明と図面から、そして特許請求の範囲から明らかであろう。
図1は、ビデオ・エンコーディング・システム10を説明するブロック図である。図1に示されたように、システム10は、ビデオ・ソース12、ビデオ・エンコーダ14、ビデオ・メモリ16、及びビデオ・バッファ18を含む。ビデオ・エンコーダ14は、スケーリング可能な動き推定技術を実行する。説明されるように、ビデオ・エンコーダ14は、検索の時点において利用可能な計算リソースの量にしたがって動きベクトル検索をスケーリングする。例えば、ビデオ・エンコーダ14は、ビデオ・エンコーディング・システム10に付随するデバイス内の利用可能な計算リソースにしたがって動きベクトル検索の範囲を調節する。より広範囲な検索は、計算リソースが許すときに実行されることができる。あるいは、計算リソースが不足するときには、検索は、さらに制限されることがある。このように、スケーリング可能な動き推定技術は、計算オーバーヘッドと電力消費に対してビデオ品質をバランスさせる。
ビデオ・ソース12は、ビデオ系列を取得するカメラのようなビデオ取込みデバイス、又は事前に記録されたビデオ系列を記憶しているビデオ・アーカイブであり得る。ビデオ・エンコーダ14は、ビデオ・ソース12から得られるビデオ・データをビデオ・エンコーディング・プロセスの期間ビデオ・メモリ16中に記憶する。ビデオ・エンコーダ14は、各種のビデオ圧縮技術、例えば、MPEG−4,ITU H.261,ITU H.263及びITU H.264規格に概要を示されたもの、のうちのいずれかにしたがってビデオ・エンコーディングをサポートするように構成されることができる。ビデオ・コーディング・システム10は、オーディオ・エンコーディング機能をさらに含むことができ、オーディオとビデオの両者のエンコーディングを可能にする。ビデオ・バッファ18は、エンコードされたビデオ・データのための出力バッファを与える。
エンコードされたビデオ・データは、有線又は無線通信チャネルを経由して送信されることができる。ビデオ・エンコーディング・システム10は、デバイス内に常駐することができ、それは有線又は無線通信をサポートするための適切な送信電子機器、受信電子機器、モデム、及び処理電子機器をさらに含む。例えば、ビデオ・エンコーディング・システム10は、別の端末との通信のために装備された無線移動端末または有線端末内に常駐することができる。無線移動端末の例は、移動無線電話機、移動個人ディジタル補助装置(PDA:personal digital assistants)、携帯型コンピュータ、又は無線通信能力をそしてビデオ・エンコーディング及び/又はデコーディング能力を装備したその他の移動デバイスを含む。有線端末の例は、デスクトップ・コンピュータ、テレビ電話機,ネットワーク機器、セット・トップ・ボックス、双方向テレビ、又はその他を含む。
ビデオ・エンコーダ14は、スケーリング可能な動き推定技術を実行し、そこでは動きベクトル検索の範囲が検索の時点で利用可能な計算リソースの量にしたがってスケーリングされる。例えば、スケーリング可能な動き推定技術は、一連の同心領域を、中央領域で始めてそして外側に向けて移動するように検索するために構成されることができる。ある複数の実施形態では、同心領域は、同心のダイアモンドのような形にされることができる。ビデオ・エンコーダ14は、利用可能な計算リソースの量にしたがって特定のビデオ・フレーム又はマクロブロックに対して検索する同心領域の数を調節することができる。このようにして、動きベクトル検索は、利用可能な計算リソースによって許される範囲へ連続する同心領域の全体にわたり外側に広がるように続く。品質しきい値を満足させる動きベクトルを同定すると、又は利用可能な計算リソースにしたがって決定される検索限度に達すると、ビデオ・エンコーダ14は、動きベクトル検索を終了させる。
ビデオ・エンコーダ14は、ハードウェア、ソフトウェア、ファームウェア又はそれらの任意の組み合わせで実装されることができる。例えば、ビデオ・エンコーダ14の様々な態様は、1又はそれより多くのディジタル信号プロセッサ(DSP:digital signal processor)、マイクロプロセッサ、用途特定集積回路(ASIC:application specific integrated circuit)、フィールド・プログラマブル・ゲート・アレイ(FPGA:field programmable gate array)、又はいずれかの別の同等の論理集積回路又は個別論理回路、同様にそのような構成素子の任意の組み合わせの中に実装されることができる。用語“プロセッサ”は、一般に上記の論理回路のいずれかを、単独で又は別の論理回路との組み合わせで呼ぶことができる。ソフトウェアで実装されるとき、ビデオ・エンコーダ14に帰する機能は、例えば、ランダム・アクセス・メモリ(DRAM:random access memory)、読み出し専用メモリ(ROM:read only memory)、不揮発性ランダム・アクセス・メモリ(NVRAM:non-volatile RAM)、電気的消去書き込み可能読み出し専用メモリ(EEPROM:electrically erasable programmable ROM)、フラッシュ・メモリ、磁気媒体、光学的媒体、及びその他のようなコンピュータ読み取り可能な媒体上の命令として組み込まれることができる。その命令は、本明細書中で説明される機能の1又はそれより多くの態様をサポートするために実行される。
ビデオ・エンコーダ14は、ビデオ・フレーム内のビデオ・ブロックにスケーリング可能な動き推定技術を適用する。各ビデオ・ブロックは、ビデオ・データをエンコードするピクセルのアレイを含む。ある複数の実施形態では、ビデオ・ブロックは、例えば、MPEG−4準拠ビデオ・エンコーディングに規定されるようなマイクロブロック又はマクロブロックであり得る。マクロブロックは、ピクセルの16×16アレイである。マイクロブロックは、ピクセルの8×8アレイである。しかしながら、他のビデオ・ブロック・サイズが使用されることが可能である。マイクロブロック又はマクロブロック中の各ピクセルは、n−ビット値、例えば、8ビット、により表わされることができ、それは色と強度、例えば、クロミナンスとルミナンス、のようなピクセルの視的特性を規定する。しかしながら、動き推定は、通常、人間の視覚が色よりもルミナンス(輝度)の変化により敏感であるために、ルミナンス成分にだけ実行される。したがって、動き推定の目的のために、全体のn−ビット値は、所定のピクセルに関するルミナンスを定量化することができる。
現在のビデオ・フレーム中の各ビデオ・ブロックに対して、ビデオ・エンコーダ14は、ビデオ・メモリ16中に記憶された隣接する(前の又は次の)ビデオ・フレームに関するビデオ・ブロックを検索して、類似のビデオ・ブロックを同定する。ビデオ・エンコーダ14は、同定したビデオ・ブロックとエンコードされようとしている現在のビデオ・ブロックとの間の差異を判断し、そして動きベクトルを使用して現在のビデオ・ブロックをエンコードし、その動きベクトルは現在のビデオ・ブロックと比較して最小の差異値をもたらすビデオ・ブロックを隣接フレームから同定する。最小の差異値は、現在のビデオ・ブロックに良く符合するビデオ・ブロックにより生成されるはずの絶対的な最小の差異値である必要は必ずしもなく、むしろ実際に評価されるこれらのビデオ・ブロック間での最小の差異値である。現在のビデオ・ブロックと動き推定を通して同定される予測ブロックとの間の差異をエンコードするプロセスは、一般に動き補償と呼ばれ、そしてこれらのエンコードされた差異の結果は、残差(residual)と呼ばれる。このようにして、独立した画像として各フレームをエンコードする代わりに、ビデオ・エンコーダ14は、複数の隣接フレーム間の差異をエンコードする。動き推定は、現在のフレーム中のビデオ・ブロックと最もぴったりと符合する隣接フレーム中のビデオ・ブロックの同定を包含する。動きベクトルを使用してビデオ・ブロックをエンコードすることにより、ビデオ・データを伝送するために必要な帯域幅は、著しく削減されることが可能である。しかしながら、動きベクトル検索は、計算集約的であり、そして計算リソースへの相当な負荷と電力消費をもたらす。
図2は、スケーリング可能な動き推定技術を使用するビデオ・エンコーダ14を説明するブロック図である。図2に示されるように、ビデオ・エンコーダ14は、差異ユニット32、動き推定(ME)ユニット34、動き補償(MC)ユニット36、変換(T)ユニット38、量子化(Q)ユニット40、逆量子化(Q−1)ユニット42、逆変換(T−1)ユニット44、及び総和器46を含む。様々な実施形態において、上記のビデオ・エンコーダ14の種々の構成要素は、上記のような、1又はそれより多くのプログラム可能なプロセッサの機能モジュール、ユニット、又は特徴点(feature)として実現されることができる。これから説明されるように、MEユニット34は、スケーリング可能な動き推定技術を適用するように構成される。スケーリング可能な動き推定技術は、本明細書中に説明されるような同心領域検索を利用することができる。
図2をさらに参照して、差異ユニット36は、入力ディジタル・ビデオ・フレームFnから相互(inter)予測又は内部(intra)予測Pを引き算して、差異Dnを生成する。相互予測又は内部予測Pは、MCユニット36から得られる。モード選択ユニット(図示されず)は、相互コーディングまたは内部コーディングが現在のビデオ・フレームFnに適用されるべきであるかどうかを判断する。変換ユニット38は、標準圧縮変換、例えば、離散余弦変換(DCT:discrete cosine transform)を適用して、差異ユニット36の出力32を周波数成分へと変換する。量子化ユニット40は、変換された出力を量子化して、量子化された変換係数の集合であるXを生成する。
MEユニット34とMCユニット36は、例えば、MPEG−4,ITU H.263又はITU H.264圧縮法にしたがって、フレームFnの相互コーディングを実行するために協力する。MEユニット34とMCユニット36は、1又はそれより多くの前にエンコードされたフレームF^n−1と比較して入力フレームFnの標準相互コーディングをサポートする。特に、MCユニット36は、1又はそれより多くの前のフレームF^n−1から動き補償された予測により相互予測Pを形成する。前のフレームは、逆量子化ユニット42、逆変換ユニット44、及び総和器46によってエンコードされそして再生されて、再生されたフレームF^n−1を生成する。
MEユニット34は、現在のフレームFn中のビデオ・ブロックを最もきっちりと近似するビデオ・ブロックに関する再生されたフレームF^n−1の少なくとも一部を検索し、そしてMCユニット36による使用のために動きベクトル(MV)を生成する。図2にさらに示されるように、MEユニット34は、しかも利用可能な計算能力の指示を受け取り、そしてこの指示を動きベクトル検索の範囲を制御するために使用する。このようにして、MEユニット34は、計算能力の利用可能な量に敏感であり、そして計算オーバーヘッドと電力消費に対してビデオ品質をバランスさせるように検索を制御する。MCユニット36は、現在のビデオ・ブロックとMEユニット34によって生成された動きベクトルにより同定される予測ブロックとの間の差異をエンコードする。
図3は、図2のMEユニット34を非常に詳細に説明するブロック図である。MEユニット34は、本明細書中に説明されるような、スケーリング可能な動き推定技術を実行するために構成される。図3の例では、MEユニット34は、検索コントローラ48、検索ユニット50、ビデオ・メモリ52、検索メモリ54、及びメモリ制御ユニット56を含む。検索ユニット50は、現在エンコードされるフレームを有するビデオ・ブロックに類似する前にエンコードされたフレーム内のビデオ・ブロックを同定するために検索を実行する。検索に基づいて、検索ユニット50は、エンコードされようとしている現在のフレームとその現在のフレームに最もぴったりと符合する前にエンコードされたフレームとの間の差異を特徴づける動きベクトルの集合を生成する。
検索コントローラ48は、利用可能な計算能力に基づいて検索ユニット50により実行される検索の範囲を制御する。検索ユニット50により実行される検索は、計算集約型である。検索コントローラ48は、計算オーバーヘッドと電力消費に対するビデオ品質をバランスさせるために検索の範囲を制御する。もし、利用可能な計算能力が比較的高い場合には、例えば、検索コントローラ48は、ビデオ品質を高める拡大検索を認める。もし利用可能な計算能力が比較的低い場合には、しかしながら、検索コントローラは、過剰な計算負荷と関係する過剰な電力消費とを回避するために検索の範囲を制限する。
検索ユニット50は、本明細書中で説明されるような、同心領域検索を適用することができる。同心領域検索にしたがえば、検索ユニット50は、検索空間中のビデオ・ブロックのアレイ内にアンカー点を定め、そしてアンカー点を中心にする複数の同心領域を定める。同心領域の数は、利用可能な処理能力の指示にしたがって選択されることができる。検索ユニット50は、エンコードされようとしている現在のビデオ・ブロックと比較した差異に関して、同心領域に関係するビデオ・ブロックを評価するために同心領域を検索する。この評価に基づいて、検索ユニット50は、エンコードされようとしている現在のビデオ・ブロックと比較して最小の差異値を生み出すビデオ・ブロックを同定し、そしてその同定したビデオ・ブロックに基づいて動きベクトルを生成する。再び、より小さな差異値が評価されていないビデオ・ブロックにより生成されることがあり得るとはいえ、最小差異値は、検索ユニット50により評価された複数のビデオ・ブロックの間で最も小さい差異値を呼ぶ。ビデオ・エンコーダ14は、動き推定ユニット34により生成される動きベクトルを使用して現在のビデオ・ブロックをエンコードする。特に、現在のビデオ・ブロックと動きベクトルにより同定された予測ブロックとの間の差異は、動き補償ユニット36によりエンコードされる。
検索ユニット50は、中央領域から始めて、そして次に一連の候補領域全体にわたり検索を適用するために外側に拡大する。再び、検索コントローラ48は、利用可能な計算能力に基づいて検索ユニット50により検索される領域の数を制御する。検索コントローラ48は、利用可能な計算能力が変化するにつれて検索ユニット50により検索される領域数を絶えず調節することができる。検索ユニット50により検索される同心領域の数は、そのビデオ・ブロックに対して検索が始められる時点における利用可能な計算能力に基づいてエンコードされようとしている各ビデオ・ブロックに対して検索コントローラ48により事前に設定されることができる。
代案として、検索ユニット50により検索される同心領域の数は、検索の過程の間に制御されることができる。このケースでは、利用可能な計算能力が増加する又は減少する場合には、検索される同心領域の数は、その検索の過程の間にそれぞれ増加される又は減少されることができる。ある複数の実施形態では、検索ユニット50により検索される領域の数が利用可能な計算能力のレベルに基づいて決定される限度を超えるまで、検索は続けられることができる。検索ユニット50により検索される領域の数は、しかも、利用可能な計算リソースが少ない場合でさえ、ビデオ品質の少なくとも最低レベルを確保するための最小数の領域に行われることができる。
ビデオ・メモリ52は、ビデオ取込みデバイス又はビデオ・アーカイブのようなビデオ・ソースにより得られるビデオ・データを記憶する。検索メモリ54は、最も類似している現在と前にエンコードされたビデオ・フレーム中のビデオ・ブロックの同定のために検索ユニット50により検索されようとしている候補ビデオ・ブロックのアレイを記憶する。検索メモリ54は、候補ビデオ・ブロックの全体又はフレームの一部を記憶することができる。候補ビデオ・ブロックは、参照フレームからのビデオ・ブロックであり、それはエンコードされようとしている現在のフレームに先立つものか引き続くもののどちらかである前にエンコードされたフレームであり得る。
検索ユニット50は、アンカー点と同心領域とに関係するビデオ・ブロックを評価して、エンコードされようとしている現在のビデオ・ブロックと比較して差異値を決定する。候補ビデオ・ブロックと現在のビデオ・ブロックとの間の類似性は、差異値、例えば、差異の絶対値の和(SAD:sum of absolute difference)メトリック又は二乗差の和(SSD:sum of squared difference)メトリック、として表わされることができ、それは現在と前にエンコードされたビデオ・フレーム中のビデオ・ブロックとの間のピクセル差異を定量化する。ピクセル差異は、例えば、ルミナンスの差異として表わされることができる。
検索ユニット50は、検索メモリをアクセスして、現在のフレーム内の候補ビデオ・ブロックと前にエンコードされたフレームの同心領域内のビデオ・ブロックとを取り出す。検索ユニット50により検索されたビデオ・ブロックは、例えば、マクロブロック又はマイクロブロックのような大きさに分けられることができる。メモリ制御ユニット56は、検索コントローラ48の制御の下で動作し、候補ビデオ・ブロックを評価する際に検索ユニット50による使用のためにビデオ・データをビデオ・メモリ52から検索メモリ54へと転送する。例えば、検索コントローラ48は、メモリ制御ユニット56を制御することができ、その結果、検索ユニット50により検索されようとしている同心領域に関係するビデオ・ブロックは検索メモリ54に転送される。前にエンコードされたフレーム内のビデオ・ブロックに対する現在のフレームからのビデオ・ブロックの比較に基づいて、検索ユニット50は、前にエンコードされたフレーム中の最も類似するビデオ・ブロック、すなわち、評価した複数のビデオ・ブロックの間で最小の差異値を有するビデオ・ブロック、を同定し、そして現在エンコードされるビデオ・フレームと比較して前のビデオ・ブロックの位置を同定する動きベクトル(MV)を生成する。
検索コントローラ48により受け取られる計算能力の指示は、様々な方法で表現されることができる。例えば、検索コントローラ48は、所定のフレーム又はビデオ・ブロックの動き推定の際に使用するためにプロセッサ・コアから利用可能なサイクル数として表わされる計算能力指示を受け取ることができる。サイクル数は、単位時間当たりのサイクル数、若しくはあるフレームに対する又はそのフレームを有するビデオ・ブロックに対する動き推定のために利用可能なサイクルの絶対数を指定することができる。あるいは、検索コントローラ48は、利用可能な処理サイクル数に比例するインデックス値を受け取ることができる。例えば、検索コントローラ48は、0からnのスケールで計算能力インデックス値を受け取ることができる、ここで、0は動き推定のために利用可能な計算能力が無いことを表し、そしてnは計算能力の最大利用可能性を表す。さらに代わりのものとして、検索コントローラ48は、動き推定のために利用可能な最大の計算能力の割合を指示する割合の値を受け取ることができる。
計算能力指示は、頻繁なインターバルで絶えず更新されることができる。例えば、最新の計算能力指示は、周期的インターバルで検索コントローラ48にプロセッサ・コアによって与えられることができる。別のケースでは、検索コントローラ48は、周期的インターバルで又は動き推定プロセス内の異なる段階で計算能力指示を要請することができる。特に、検索コントローラ48は、ビデオ・フレームに対する動き推定の始めにおいて計算能力指示を要請することができる。あるいは、検索コントローラ48は、ビデオ・フレーム内の各ビデオ・ブロックの動き推定の始めにおいて計算能力指示を要請することができる。検索コントローラ48は、レジスタ又は他の記憶素子をアクセスすることができ、計算能力指示を取り出すことができる。このケースでは、プロセッサ・コアは、検索コントローラ48による取り出しのために計算能力指示を記憶素子に継続的に又は定期的に書き込むことができる。
別の代わりのものとして、検索コントローラ48は、定常状態計算能力に対して調節の増分/減少分として計算能力指示を受け取ることができる。例えば、絶対値、インデックス値、又は割合の値の代わりに、検索コントローラ48は、動き推定のための計算能力が1つの一定量だけそれぞれ増加されようとしているか減少されようとしているかを指示する増加(1)値又は減少(0)値のいずれかを受け取ることができる。時間の期間全体にわたって受け取られる増加/減少調節に基づいて、検索コントローラ48は、動き推定のために利用可能な計算能力の推定値を維持管理し、そしてその推定値を検索ユニット50により実行される検索の範囲を制御するために使用する。
これゆえ、検索コントローラ48によって使用される計算能力指示は、様々な形式のうちのいずれかをとることができ、与えられた指示は、MEユニット34によって実行される動き推定プロセスに向けられることが可能な計算能力を表すために一般に働く。それぞれのケースでは、検索コントローラ48は、検索ユニット50によって実行されるように検索の範囲まで利用可能な計算能力をマッピングする。同心領域検索のケースでは、検索の範囲は、検索されようとしている領域の数として表わされることができ、中央の領域から始まり、それから同心領域のそれぞれを横切って外側へ広がる。同心領域は、その同心領域に関係するビデオ・ブロックがエンコードされようとしている現在のビデオ・ブロックと比較して別の値を決定するために評価されるという意味で、検索される。
低いレベルの計算能力が利用可能なときには、例えば、同心領域検索は、限られた範囲まで外側に広げられるだけである。言い換えると、検索ユニット50は、利用可能な計算能力と釣り合う数の同心領域に関係するビデオ・ブロックを評価するだけである。高いレベルの計算能力が利用可能なときには、同心領域検索は、利用可能な計算能力と釣り合う数の同心領域によりもっともっと外へと広がることができ、又はもし最大の計算能力が利用可能である場合には、おそらく最大数の同心領域へと広がることができる。
図4A、図4B及び図4Cは、本明細書にしたがったスケーリング可能な動き推定技術の一部を形成する同心領域検索を説明する検索空間図である。図4A、図4B及び図4Cでは、検索空間は、エンコードされようとしているビデオ・フレーム内のビデオ・ブロックの少なくとも一部を規定する。図4Aでは、参照番号57は、一連の隣接するビデオ・ブロックを示す。そのビデオ・ブロックは、検索空間内で2次元アレイに配置され、そしてマクロブロック、マイクロブロック、又は他のブロック・サイズのような大きさに区切られることができる。アンカー点D0と一連の同心領域D1,D2,D3,D4,D5は、繰り返しの検索ウィンドウを定める。図4の例では、領域D1−D5は、同心ダイアモンドとして形作られる。アンカー点D0は、初期に予測した動きベクトル位置に対応する。同心ダイアモンド領域は、予測したMV位置を中心として中心を決められる。このように、同心ダイアモンド検索は、検索がその順番で進む順番を設定する。
検索ウィンドウ内では、検索ユニット50は、現在エンコードされるフレーム内のビデオ・ブロックに最もぴったりと符合する前にエンコードされたフレームからビデオ・ブロックを検索する。前にエンコードされたフレームは、参照フレームとして呼ばれることができる。一般に、検索ユニット50は、エンコードされようとしているフレーム中のビデオ・ブロックと検索ウィンドウ内のビデオ・ブロックとの間の差異値を計算して、最も類似するビデオ・ブロックを同定する。動作では、検索は、アンカー点D0で始まる。アンカー点D0は、エンコードされようとしているビデオ・ブロックと位置が合わせられている、すなわち、そのビデオ・ブロックのフレームと同じ位置にある参照フレーム中のビデオ・ブロックを同定する。あるいは、ある複数の実施形態では、アンカー点D0は、ビデオ・フレーム・コンテント解析に基づいて別の位置に置かれることができる。いずれのケースでも、アンカー点D0は、エンコードされようとしている現在のフレーム中のビデオ・ブロックと比較されようとしている参照フレーム中の第1のビデオ・ブロックを同定する。
アンカー点D0は、評価されようとしているビデオ・ブロックの左上のピクセル座標を同定することができる。例えば、各ビデオ・ブロックは、それぞれがX−Y座標によってアドレスを呼び出せるピクセルのアレイを含む。アンカー点D0は、ビデオ・ブロック59の左上のピクセルのX−Y座標を同定する。ビデオ・ブロック59は、図4Aでは灰色に暗くされている。差異値、例えば、SAD又はSSD、が参照フレームのビデオ・ブロック59と現在のフレーム中でエンコードされようとしているビデオ・ブロックとの間で一旦決定されると、検索ユニット50は、第1の同心ダイアモンドD1によって同定されるビデオ・ブロックを取り囲むように外側に検索ウィンドウを広げる。
ダイアモンドD1は、アンカー点D0と中心を合わせられる。ダイアモンドD1の周囲は、複数のビデオ・ブロックの左上のX−Y座標を横切る又は含む。十分な計算能力が与えられると、検索ユニット51は、既に検索したいずれかのビデオ・ブロック、例えば、アンカー点D0によって同定されるビデオ・ブロック59、を除いて、ダイアモンドD1の周囲上に又はその内部に左上X−Y座標を有するビデオ・ブロックを次に評価する。ダイアモンドD1の周囲上に又はその内部に左上X−Y座標を有するビデオ・ブロック61は、図4Bでは灰色に暗くされている。検索ユニット50は、複数のビデオ・ブロック61間の最小の差異値を検索する。
一旦、検索がダイアモンドD1に対して完了すると、十分な計算能力が与えられると、検索は、同心ダイアモンドD2によって同定されるビデオ・ブロックに向かって外側に広がる。図4Cの例では、検索ユニット50は、ダイアモンドD2の周囲によって指定されるビデオ・ブロックを検索する。ダイアモンドD1のケースにおけるように、ダイアモンドD2の周囲は、ビデオ・ブロックの集合の左上ピクセル座標を横切るか囲まれるかのどちらかである。検索ユニット50は、アンカー点D0と同心ダイアモンドD1によって定められる検索ウィンドウの一部として既に検索されたビデオ・ブロックを除いて、ダイアモンドD2の周囲の上の又はその内部のビデオ・ブロックを検索する。ダイアモンドD2内部で検索されたビデオ・ブロックは、灰色に暗くされ、そして参照番号63によって識別される。
プロセスは、利用可能な計算能力によりサポートされる範囲へと、残りの同心ダイアモンドD3,D4,D5の全体にわたり同様の方法で外へと続く。もし、十分な計算能力がないと検索コントローラ48が判断する場合には、検索は、同心領域検索のどのようなレベルであっても検索ユニット50によって終らせられることがある。ある複数のケースでは、例えば、検索は、アンカー点D0によって同定されるビデオ・ブロックにだけ広がることがある。別のケースでは、より大きな計算能力を用いて、検索は、その検索の時点において利用可能な計算能力のレベルに応じて、同心ダイアモンドD1,D2,D3,D4,又はD5に関係するビデオ・ブロックの評価に広がることができる。同様に、検索ユニット50は、他の制約、例えば、差異値しきい値の満足、最大繰り返し制約、又は最小変化制約、に基づいて検索を終わらせることができる。
例えば、検索ユニット50は、もしビデオ・ブロックのうちの1つが所望の差異しきい値、例えば、SADしきい値、を満足する差異値を生成する場合には、検索を終わらせることができる。言い換えると、もし、ビデオ・ブロックのうちの1つが、差異しきい値と比較して十分に小さい差異値、例えば、SAD値、を生成する場合には、検索は終わらせられる。さらなるオプションとして、もし連続する同心領域において得られる複数の最小差異値間の差異値の変化が適用可能なしきい値よりも小さい場合には、検索ユニット50は、検索を終わらせることができる。この制約は、複数の同心領域間の改善が小さいときにより良いビデオ・ブロックが得られる可能性がありそうもないという仮定に基づくことができる。
図4A−図4Cに示された領域は、各領域が共通のアンカー点D0に関して中心を置くという点で同心である。それに加えて、各同心領域D1−D5は、異なるサイズであるが同様の形を有することができる。図4A−図4Cがアンカー点D0と5つの同心領域D1−D5を示すとはいえ、より少数の又はより多数の同心領域があり得る。したがって、図4A−図4Cに示された領域の数は、説明の目的のために与えられ、そして限定と考えられるべきではない。しかも、異なる形を有する同心領域が、使用されることができる。ある複数の実施形態では、例えば、円形、三角形、矩形又は非対称な形が、使用されることができる。
図5は、代わりのスケーリング可能な動き推定技術の一部を形成する同心、可動ダイアモンド検索を説明する検索空間図である。図5に図示されるダイアモンド検索は、動き推定のための検索ウィンドウを定めるために同心領域の漸進的な外側への検索に依存するという意味で図4A−図4Cに示された検索に一般的に対応する。しかしながら、図5は、検索結果にしたがう同心ダイアモンドの動きをさらに説明する。検索が初期アンカー点D0から同心ダイアモンドD1へそして次に同心ダイアモンドD2へと進んだ後で、アンカー点は再設定される。特に、2つの同心ダイアモンドD1,D2が検索された後で、アンカー点D0は、アンカー点D0’に再設定される。
新たなアンカー点D0’は、ダイアモンドD1,D2の検索の間に最小の差異値をもたらしたビデオ・ブロックの左上ピクセル座標を同定する。同心ダイアモンドD1’とD2’は、次にさらに検索するために新たなアンカー点D0’のまわりに固定される。プロセスは、新たな同心ダイアモンドD1’とD2’が検索された後で、新たなアンカー点D0’を別のアンカー点D0”に再設定することにより継続することができる。このように、検索ウィンドウは、同心的に外側に広がるだけでなく、検索の選択されたステージにおいてビデオ・フレーム内の新たなアンカー点へ移動する。
2つのダイアモンド毎の検索の後でアンカー点D0の移動は、説明の目的のために上に記述され、そして限定するように考えられるべきではない。むしろ、アンカー点は、任意の数の同心ダイアモンドが検索された後で移動されることができる。例えば、アンカー点は、3つの、4つの、又はそれより多くの同心ダイアモンドが検索された後で、移動されることができる。それに加えて、アンカー点D0において検索されるビデオ・ブロックは、最小の差異値を生み出すことがあり、そのケースでは、検索ウィンドウを新たなアンカー点D0’に移動させる必要がない。
検索ウィンドウの移動及び各アンカー点を中心として検索される同心ダイアモンドの数は、本明細書中に説明されるように、検索の開始において又は検索の進行の間に利用可能な計算能力の量にしたがって検索コントローラ48による制御を受けることがある。例えば、検索コントローラ48は、特定のフレーム又はビデオ・ブロックに関する動き推定の開始における利用可能な計算能力の指示に基づいて、アンカー点の移動の最大数、及び各アンカー点において検索されようとしている同心ダイアモンドの最大数を指定することができる。あるいは、検索コントローラ48は、利用可能な計算能力の変化の指示として動きベクトル検索の進行の間の移動の数又は同心ダイアモンドの数を絶えず制御することができる。いずれのケースでも、同心ダイアモンド検索の範囲は、利用可能な計算能力にしたがって拡大縮小可能である。
最適な動きベクトル(MV:motion vector)を見出すことの確率は、初期に予測された動きベクトル位置からの距離が増加するにつれて一般的に減少する。一般的に、予測されるMVは、エンコードされようとしているビデオ・ブロックの位置に相対的に、左と上に隣接するビデオ・ブロックの中間値として計算される。網羅的な検索を使用する少数のビデオ系列から抽出される動きベクトルの分布は、予測される動きベクトルが最適である最も可能性の高い候補であることを示す。本明細書中に記載された動き推定技術は、この認識(realization)を利用する。さらに多くの計算リソースが利用可能であるので、動きベクトル検索は、最初に予測された動きベクトル候補から始まり、そして同心ダイアモンド中で外へと移動する。これゆえ、検索は、最も可能性のある候補、すなわち、最初の予測、で始まり、そして利用可能な計算能力により許される範囲へと同心ダイアモンド領域を横切って外側へと移動する。
利用可能な計算能力の量は、実行されることが可能である動きベクトル検索の数に影響を及ぼす。下記の表は、図4A−図4Cに示された同心ダイアモンドD0−D5の集合全体にわたる具体例のスケーリング可能な検索系列を説明する。特に、表1は、異なる量の計算能力によって可能にされる異なる数の検索に対する検索系列を示す。
表1に示されたように、不十分な計算能力のために検索が利用可能でないとき、検索は実行されない。その代りに、検索ユニット50は、アンカー点D0によって同定される動きベクトル(MV)を単純に選択する。もし、5から12の検索が利用可能である場合に、検索ユニット50は、アンカー点D0とダイアモンド領域D1との両方を検索する。このケースでは、アンカー点D0は、1つの検索として数えられ、そしてダイアモンドD1により指定される4つのビデオ・ブロックは、4つの検索として数えられ、合計5つの検索になる。もし、13から25の検索が利用可能である場合には、検索ユニット50は、アンカー点D0と、第1の同心ダイアモンドD1と、そして第2の同心ダイアモンドD2を検索する。もし、さらなる検索が利用可能である場合には、検索は上へと拡大されることが可能であり、その結果、より外側の同心ダイアモンド、例えば、D3,D4,D5、が同様に検索されることができる。
図4A−図4Cに図示された、基本的な検索プロセスは、多くの方法で変形されることができる。1つの変形は、図5に示されるような、移動検索ウィンドウを与えることである。別の1つの変形は、検索の数を著しく増加させることなく、より広い検索範囲をカバーするために、同心ダイアモンドを部分サンプリングすることである。例えば、第1ステージでは、検索ユニット50は、偶数番号のダイアモンド、例えば、D0,D2,D4、だけを検索することができる。一旦、第1ステージが最小の差異値を生成すると、偶数と奇数のダイアモンドがその最小値に対応するアンカー点を中心として再び中心を決められることができる。次に、第2ステージでは、偶数と奇数の両方のダイアモンドがもっと良い動きベクトルを同定するための試みで検索される。このタイプの検索は、それが最初にダイアモンドの部分サンプリングを含み、そのダイアモンドが一旦中心を決め直されると、ダイアモンドの全体の検索が続くという点で、複数解(multi-resolution)ダイアモンド検索と呼ばれることができる。上に記載された変形は、例の目的で与えられる。しかしながら、別の変形が、本明細書中に説明されるように、同心ダイアモンド検索の一般的な枠組みの範囲内で可能である。
図6は、同心領域検索を使用するスケーリング可能な動き推定技術を説明するフロー図である。図6は、図4A−図4Cの検索空間図に示されたプロセスを一般的に説明する。図6に示されたように、検索ユニット50は、初期動きベクトル予測に対応するX−Y座標のところに同心ダイアモンドの集合を固定する(60)。初期アンカー点に対応する初期動きベクトル予測は、エンコードされようとしているビデオ・ブロックに隣接して位置する左と上に隣接するビデオ・ブロックの中間値に基づくことができる。初期アンカー点を決めるための他の技術が、使用されることができる。例えば、初期アンカー点は、エンコードされようとしている現在のビデオ・ブロックに相対的に定められた場所に位置するビデオ・ブロックの動きベクトルに基づいて線形関数又は非線形関数を使用して選択されることができる。例えば、ビデオ・ブロックの動きベクトルに基づくメディアン関数、平均関数、又は重み付け関数が、使用されることができる。検索ユニット50は、アンカー点により同定されるビデオ・ブロックとエンコードされようとしているビデオ・ブロックとの間の差異値を決定する。もし差異値が適用可能なしきい値、例えば、SADしきい値、よりも小さい場合には(62)、検索は終了されることができる。このケースでは、動きベクトルは、アンカー点から選択されることができる(64)。
もし差異値が差異しきい値を超える場合には(62)、しかしながら、第1の同心ダイアモンド領域へと外側に検索を拡大するために十分な計算能力があるかどうかを、検索コントローラ48は判断する(66)。もし拡大をサポートするために十分な計算能力がない場合には、動きベクトルは、アンカー点から、すなわち、初期予測から、選択されることができる(64)。しかしながら、もし十分なコンピュータ能力が利用可能である場合には(66)、検索コントローラ48は、検索ユニット50が検索を外側に拡大し、そして次のダイアモンドの動きベクトルを検索することを可能にする(68)。もし検索ユニット50がそのダイアモンド内に満足する差異値を有するビデオ・ブロックを見出す場合には(70)、検索ユニットは、検索からの最善の動きベクトルとしてその直接関係するビデオ・ブロッに付随する動きベクトルを選択する(76)。
もし差異しきい値が満足されず(70)、そして最後のダイアモンドに未だ達せず(72)、そして十分な計算能力がある場合には(74)、検索ユニット50は、次の同心ダイアモンドに検索を外側に広げる(78)。上記の条件(70)、(72)、(74)の1つも満足されない場合には、検索ユニット50は、その点までの検索で見出された最善の動きベクトルを選択する(76)。検索を外側に広げると(78)、検索ユニット50は、次のダイアモンドを検索し(68)、そして条件(70)、(72)、(74)のうちの1つが満足されるまで繰り返して動き推定プロセスを継続し、その満足された時点で、検索は終了し、そして最善の動きベクトルが選択される(76)。
もし不十分な計算リソースしか利用可能でない場合には、検索は、同心ダイアモンドを十分にカバーできないことがある。このケースでは、次善の動きベクトルが求められることが、可能である。しかしながら、多くのケースでは、最善の又は満足される動きベクトルは、アンカー点から又は初めのいくつかの同心ダイアモンドから明らかにすることができる。いずれのケースでも、同心ダイアモンド・アプローチは、ビデオ品質と消費電力及び計算リソースとの間のトレードオフを与える。
図7は、可動アンカー点を有する同心領域検索を使用するスケーリング可能な動き推定技術を説明するフロー図である。図7に説明される技術は、一般に図6に説明された技術に対応する。しかしながら、図7は、例えば、図5の検索空間図に図示されたような同心ダイアモンドのアンカー点の動きをさらに説明する。図7に示されたように、検索ユニット50は、同心ダイアモンドに対するアンカー点を初期予測から決定される座標に設定する(80)。検索ユニット50は、次に、そのアンカー点を中心として同心ダイアモンドの中心を決める(84)。
検索ユニット50は、アンカー点により同定されたビデオ・ブロックとエンコードされようとしているビデオ・ブロックとの間の差異値を決定する。もし差異値が適用可能なしきい値、例えば、SADしきい値、よりも小さい場合には(86)、検索は終了されることができる。このケースでは、動きベクトルは、アンカー点から選択されることができる(88)。しかしながら、もし差異値が差異しきい値を超える場合には(86)、第1の同心ダイアモンド領域へと外側に検索を拡大するために十分な計算能力があるかどうかを、検索コントローラ48は判断する(90)。もし拡張をサポートするために十分な計算能力がない場合には、動きベクトルは、アンカー点から、すなわち、初期予測から、選択されることができる(88)。
しかしながら、もし十分なコンピュータ能力が利用可能である場合には(90)、検索コントローラ48は、検索ユニット50が検索を外側に拡大し、そして次のダイアモンドの動きベクトルを検索することを可能にする(92)。もし検索ユニット50がそのダイアモンド内に満足する差異値を有するビデオ・ブロックを見出す場合には(94)、検索ユニットは、検索からの最善の動きベクトルとしてその直接関係するビデオ・ブロックに付随する動きベクトルを選択する(98)。もし差異しきい値が満足されず(94)、そして十分な計算能力があり(96)、そして最後の(外側の境界の)ダイアモンドに未だ到達していない場合には(100)、検索ユニット50は、次の同心ダイアモンドに検索を外側に広げる(102)。上記の条件(94)、(96)のいずれも満足されない場合には、検索ユニット50は、その点までの検索で見出された最善の動きベクトルを選択する(98)。
もし、条件(94)、(96)が満足されるが、最大のダイアモンドに到達している場合には、検索ユニット50は、その点までの検索から返される最小差異値でアンカー点を再設定する。図5を参照して説明したように、新たなアンカー点は、ビデオ・ブロックの左上ピクセル座標を同定することができ、それはそのダイアモンドの検索の間に最小の差異値をもたらす。同心ダイアモンドは、次にさらに検索するために再設定されたアンカー点を中心として固定される、すなわち、再び中心を決められる(84)。このようにして、検索は、同心的に外側に広がるだけでなく、検索の選択されたステージでビデオ・フレーム内の新たなアンカー点に同様に移動する。アンカー点を再設定する前に検索されるダイアモンドの数は、変化することがある。再設定した後で、検索は、再設定したアンカー点で始まり、同心ダイアモンドの終わりまで継続する。
アンカー点が再設定されないときには、検索ユニット50は、検索を外側へ広げ(102)、そして次のダイアモンドを検索する(92)。拡大と検索プロセスは、条件(94)、(96)、(100)のうちの1つが満足されるまで繰り返し継続する。ある複数の実施形態では、繰り返しの限度が、同様に適用されることができ、その結果、さらなる計算能力が利用可能である場合でさえ、プロセスは終了する。このように、検索コントローラ48は、過度に長い検索又は無限の検索、そして特により良い結果を生み出す可能性が低い特異な検索を回避する。図6と図7の例では、検索コントローラ48は、検索の過程の間に利用可能な計算リソースをモニタし、そして計算リソースが使い切られたときに検索を終了するように検索ユニット50を管理する。別の実施形態では、検索コントローラ48は、検索が始まる前に事前に決められた数を指定することができる。このケースでは、同心ダイアモンド検索が検索の事前に決められた数を使い切ってしまったときに、検索は終了される。検索の数は、エンコードされようとしている各ビデオ・ブロック、例えば、マクロブロック又はマイクロブロック、に対して又は全体のフレームに対して設定されることができる。
図8は、複数解同心領域検索を使用するスケーリング可能な動き推定技術を説明するフロー図である。図8に示されたように、検索ユニット50は、参照フレーム中のビデオ・ブロックの初期予測に基づいて同心領域検索のためにアンカー点を設定する(104)、その参照フレームはエンコードされようとしている現在のフレーム中のビデオ・ブロックを最もぴったりと近似する。検索ユニット50は、そのアンカー点において同心ダイアモンドの集合を固定し(106)、そして次に、奇数ダイアモンドの動きベクトルの検索を管理する(108)。もし中央のアンカー点がD0を指定され、そして引き続くダイアモンド領域がD1−Dnを指定される場合には、奇数番号のダイアモンドの検索は、ダイアモンドD1,D3,D5等々へ広がるはずである。
奇数番号のダイアモンド検索において考慮される複数のビデオ・ブロック間の最小差異値を同定すると、検索ユニット50は、最小の結果にしたがってアンカー点を再設定する(110)、そしてその再設定されたアンカー点のところに同心ダイアモンドを固定する(112)。検索ユニット50は、次に、奇数番号と偶数番号両方の動きベクトルを検索する(114)、そして検索から最善の動きベクトル、すなわち、エンコードされようとしているビデオ・ブロックに対して最小の差異値をもたらすビデオ・ブロックに関係する動きベクトル、を選択する(116)。図8により説明される複数解同心ダイアモンド検索は、ダイアモンドの部分サンプルされた検索を、すなわち、奇数ダイアモンドだけを最初にサンプリングすることにより、引き続いてより正確に調整されたアンカー点を中心として中心を決められている全体の検索によって、可能にする。
様々な実施形態が説明されてきた。これらの実施形態そしてその他の実施形態は、特許請求の範囲の範囲内である。
Claims (42)
- ビデオ・ブロックのアレイ内にアンカー点を定めること;
該アンカー点のところに中心を置く複数の同心領域を定めること;
エンコードされようとしている現在のビデオ・ブロックと比較して最小の差異値をもたらすビデオ・ブロックを同定するために該同心領域に関係するビデオ・ブロックを評価すること;及び
該同定されたビデオ・ブロックに基づき動きベクトルを用いて該現在のビデオ・ブロックをエンコードすること
を具備する、ビデオ・エンコーディング方法。 - ビデオ・ブロックを評価することは、該アンカー点に関係するビデオ・ブロックを評価することをさらに具備する、請求項1の方法。
- 該同心領域は、該アンカー点に最も近い第1の同心領域、及び該第1の同心領域の外側の第2の同心領域を含む、請求項1の方法。
- ビデオ・ブロックを評価することは、該アンカー点に関係するビデオ・ブロックを最初に評価すること、そして次に、該アンカー点に関係する該ビデオ・ブロックがしきい値よりも小さい差異値をもたらさない場合には、該第1の同心領域に関係するビデオ・ブロックを評価することをさらに具備する、請求項3の方法。
- ビデオ・ブロックを評価することは、該アンカー点に関係するビデオ・ブロックを最初に評価すること、次に、該アンカー点に関係する該ビデオ・ブロックがしきい値よりも小さい差異値をもたらさない場合には、該第1の同心領域に関係するビデオ・ブロックを評価すること、そして次に、該アンカー点と該第1の同心領域とに関係する該ビデオ・ブロックがしきい値よりも小さい差異値をもたらさない場合には、該第2の同心領域に関係するビデオ・ブロックを評価することをさらに具備する、請求項3の方法。
- ビデオ・ブロックを評価することは、利用可能な計算能力の指示にしたがって選択される該同心領域の数に関係するビデオ・ブロックを評価することをさらに具備する、請求項1の方法。
- 該同心領域を定めることは、利用可能な計算能力の指示にしたがって該同心領域の数を定めることを具備する、請求項1の方法。
- 利用可能な計算能力の変化に基づいてエンコードされるように、異なるビデオ・ブロックに対して異なる数の同心領域を定めることをさらに具備する、請求項1の方法。
- ビデオ・ブロックを評価することは、該アンカー点に関係するビデオ・ブロックを最初に評価すること、そして次に、最も内側の同心領域から始めてそして外側の同心領域に関係するビデオ・ブロックへと外側に広げる順番で該同心領域に関係するビデオ・ブロックを評価することをさらに具備する、請求項1の方法。
- ビデオ・ブロックを評価することは、利用可能な計算能力の指示にしたがって選択される該同心領域の数に関係するビデオ・ブロックを評価することをさらに具備する、請求項9の方法。
- 該アンカー点は、エンコードされようとしている該現在のビデオ・ブロックと比較して最小の差異値をもたらす該ビデオ・ブロックの初期予測に対応する該ビデオ・ブロックのうちの1つのピクセル位置を示す、請求項1の方法。
- 該同心領域のそれぞれは、該それぞれの同心領域に関係する該ビデオ・ブロックのうちのあるもののピクセル位置を示す境界線を定める、請求項1の方法。
- エンコードされようとしている該現在のビデオ・ブロックと比較して最小の差異値をもたらすビデオ・ブロックを最初に同定すること;
該最初に同定されたビデオ・ブロックに対応するピクセル位置に該アンカー点を定め直すこと;及び
該定め直されたアンカー点のところに中心を置くように該同心領域を定め直すこと、
をさらに具備する、
ここにおいて、ビデオ・ブロックを評価することは、エンコードされようとしている現在のビデオ・ブロックと比較して最小の差異値をもたらすビデオ・ブロックを同定するために該定め直された同心領域に関係するビデオ・ブロックを評価することをさらに具備する、
請求項1の方法。 - 該同心領域の部分集合に関係するビデオ・ブロックを評価すること;
エンコードされようとしている該現在のビデオ・ブロックと比較して最小の差異値をもたらすビデオ・ブロックを該同心領域の該部分集合から最初に同定すること;
該最初に同定されたビデオ・ブロックに対応するピクセル位置に該アンカー点を定め直すこと;及び
該定め直されたアンカー点のところに中心を置くように該同心領域を定め直すこと、
をさらに具備する、
ここにおいて、ビデオ・ブロックを評価することは、エンコードされようとしている現在のビデオ・ブロック、同定されたピクセル位置、及び該エンコードされたビデオ・フレームを送信する送信機と比較して最小の差異値をもたらすビデオ・ブロックを同定するために該定め直された同心領域に関係するビデオ・ブロックを評価することをさらに具備する、
請求項1の方法。 - 該ビデオ・ブロックのうちの1つがしきい値を満足する差異値をもたらす場合に、該ビデオ・ブロックの該評価を終わらせることをさらに具備する、請求項1の方法。
- ビデオ・ブロックのアレイを記憶するメモリ;及び
該ビデオ・ブロックの該アレイ内のアンカー点のところに中心を置く複数の同心領域を定め、エンコードされようとしている現在のビデオ・ブロックと比較して最小の差異値をもたらすビデオ・ブロックを同定するために該同心領域に関係するビデオ・ブロックを評価し、そして該同定されたビデオ・ブロックに基づき動きベクトルを用いて該現在のビデオ・ブロックをエンコードするプロセッサ、
を具備するビデオ・エンコーダ。 - 該プロセッサ・ユニットは、該アンカー点に関係するビデオ・ブロックを評価する、請求項16のビデオ・エンコーダ。
- 該同心領域は、該アンカー点に最も近い第1の同心領域、及び該第1の同心領域の外側の第2の同心領域を含む、請求項16のビデオ・エンコーダ。
- 該プロセッサは、該アンカー点に関係するビデオ・ブロックを最初に評価し、そして次に、該アンカー点に関係する該ビデオ・ブロックがしきい値よりも小さい差異値をもたらさない場合には、該第1の同心領域に関係するビデオ・ブロックを評価する、請求項18のビデオ・エンコーダ。
- 該プロセッサは、該アンカー点に関係するビデオ・ブロックを最初に評価し、次に、該アンカー点に関係する該ビデオ・ブロックがしきい値よりも小さい差異値をもたらさない場合には、該第1の同心領域に関係するビデオ・ブロックを評価し、そして次に、該アンカー点と該第1の同心領域とに関係する該ビデオ・ブロックがしきい値よりも小さい差異値をもたらさない場合には、該第2の同心領域に関係するビデオ・ブロックを評価する、請求項18のビデオ・エンコーダ。
- 該プロセッサは、利用可能な計算能力の指示にしたがって選択される該同心領域の数に関係するビデオ・ブロックを評価する、請求項16のビデオ・エンコーダ。
- 該プロセッサは、利用可能な計算能力の指示にしたがって該同心領域の数を定めることを具備する該同心領域を定める、請求項16のビデオ・エンコーダ。
- 該プロセッサは、利用可能な計算能力の変化に基づいてエンコードされるように、異なるビデオ・ブロックに対して異なる数の同心領域を定める、請求項16のビデオ・エンコーダ。
- 該プロセッサは、該アンカー点に関係するビデオ・ブロックを最初に評価し、そして次に、最も内側の同心領域から始めてそして外側の同心領域に関係するビデオ・ブロックへと外側に広げる順番で該同心領域に関係するビデオ・ブロックを評価する、請求項16のビデオ・エンコーダ。
- 該プロセッサは、利用可能な計算能力の指示にしたがって選択される該同心領域の数に関係するビデオ・ブロックを評価する、請求項24のビデオ・エンコーダ。
- 該アンカー点は、エンコードされようとしている該現在のビデオ・ブロックと比較して最小の差異値をもたらす該ビデオ・ブロックの初期予測に対応する該ビデオ・ブロックのうちの1つのピクセル位置を示す、請求項16のビデオ・エンコーダ。
- 該同心領域のそれぞれは、該それぞれの同心領域に関係する該ビデオ・ブロックのうちのあるもののピクセル位置を示す境界線を定める、請求項16のビデオ・エンコーダ。
- 該プロセッサは、エンコードされようとしている該現在のビデオ・ブロックと比較して最小の差異値をもたらすビデオ・ブロックを最初に同定し、該最初に同定されたビデオ・ブロックに対応するピクセル位置に該アンカー点を定め直し、そして該定め直されたアンカー点のところに中心を置くように該同心領域を定め直す、そしてここにおいて、ビデオ・ブロックを評価することは、エンコードされようとしている現在のビデオ・ブロックと比較して最小の差異値をもたらすビデオ・ブロックを同定するために該定め直された同心領域に関係するビデオ・ブロックを評価することをさらに具備する、請求項16のビデオ・エンコーダ。
- 該プロセッサは、該同心領域の部分集合に関係するビデオ・ブロックを評価し、エンコードされようとしている該現在のビデオ・ブロックと比較して最小の差異値をもたらすビデオ・ブロックを該同心領域の該部分集合から最初に同定し、該最初に同定されたビデオ・ブロックに対応するピクセル位置に該アンカー点を定め直し、そして該定め直されたアンカー点のところに中心を置くように該同心領域を定め直す、ここにおいて、ビデオ・ブロックの評価は、エンコードされようとしている現在のビデオ・ブロックと比較して最小の差異値をもたらすビデオ・ブロックを同定するために該定め直された同心領域に関係するビデオ・ブロックの評価をさらに具備する、請求項16のビデオ・エンコーダ。
- 該プロセッサは、該ビデオ・ブロックのうちの1つがしきい値を満足する差異値をもたらす場合に、該ビデオ・ブロックの該評価を終わらせる、請求項16のビデオ・エンコーダ。
- ビデオ・ブロックのアレイ内にアンカー点を定めるための手段;
該アンカー点のところに中心を置く複数の同心領域を定めるための手段;
エンコードされようとしている現在のビデオ・ブロックと比較して最小の差異値をもたらすビデオ・ブロックを同定するために該同心領域に関係するビデオ・ブロックを評価するための手段;及び
該同定されたビデオ・ブロックに基づき動きベクトルを用いて該現在のビデオ・ブロックをエンコードするための手段、
を具備する、ビデオ・エンコーダ。 - 該同心領域は、該アンカー点に最も近い第1の同心領域、及び該第1の同心領域の外側の第2の同心領域を含む、そしてここにおいて、該評価する手段は、該アンカー点に関係するビデオ・ブロックを最初に評価し、次に、該アンカー点に関係する該ビデオ・ブロックがしきい値よりも小さい差異値をもたらさない場合には、該第1の同心領域に関係するビデオ・ブロックを評価し、そして次に、該アンカー点と該第1の同心領域とに関係する該ビデオ・ブロックがしきい値よりも小さい差異値をもたらさない場合には、該第2の同心領域に関係するビデオ・ブロックを評価する、請求項31のビデオ・エンコーダ。
- 該同心領域の数は、利用可能な計算能力の指示にしたがって定められる、請求項31のビデオ・エンコーダ。
- エンコードされようとしている該現在のビデオ・ブロックと比較して最小の差異値をもたらすビデオ・ブロックを最初に同定するための手段;
該最初に同定されたビデオ・ブロックに対応するピクセル位置に該アンカー点を定め直すための手段;及び
該定め直されたアンカー点のところに中心を置くように該同心領域を定め直すための手段、
をさらに具備する、
ここにおいて、該評価する手段は、エンコードされようとしている現在のビデオ・ブロックと比較して最小の差異値をもたらすビデオ・ブロックを同定するために該定め直された同心領域に関係するビデオ・ブロックを評価する、
請求項31のビデオ・エンコーダ。 - プロセッサに:
ビデオ・ブロックのアレイ内にアンカー点を定めるように;
該アンカー点のところに中心を置く複数の同心領域を定めるように;
エンコードされようとしている現在のビデオ・ブロックと比較して最小の差異値をもたらすビデオ・ブロックを同定するために該同心領域に関係するビデオ・ブロックを評価するように;及び
該同定されたビデオ・ブロックに基づき動きベクトルを用いて該現在のビデオ・ブロックをエンコードするように、
させる命令を具備する、コンピュータ読取り可能な媒体。 - 該同心領域は、該アンカー点に最も近い第1の同心領域、及び該第1の同心領域の外側の第2の同心領域を含む、そしてここにおいて、該ビデオ・ブロックの評価は、該アンカー点に関係するビデオ・ブロックを最初に評価すること、次に、該アンカー点に関係する該ビデオ・ブロックがしきい値よりも小さい差異値をもたらさない場合には、該第1の同心領域に関係するビデオ・ブロックを評価すること、そして次に、該アンカー点と該第1の同心領域とに関係する該ビデオ・ブロックがしきい値よりも小さい差異値をもたらさない場合には、該第2の同心領域に関係するビデオ・ブロックを評価することをさらに具備する、請求項35のコンピュータ読取り可能な媒体。
- 該同心領域の数は、利用可能な計算能力の指示にしたがって選択される、請求項35のコンピュータ読取り可能な媒体。
- プロセッサに:
エンコードされようとしている該現在のビデオ・ブロックと比較して最小の差異値をもたらすビデオ・ブロックを最初に同定するように;
該最初に同定されたビデオ・ブロックに対応するピクセル位置に該アンカー点を定め直すように;及び
該定め直されたアンカー点のところに中心を置くように該同心領域を定め直すように、
させる命令をさらに具備する、
ここにおいて、ビデオ・ブロックの評価は、エンコードされようとしている現在のビデオ・ブロックと比較して最小の差異値をもたらすビデオ・ブロックを同定するために該定め直された同心領域に関係するビデオ・ブロックの評価をさらに具備する、
請求項35のコンピュータ読取り可能な媒体。 - 利用可能な計算能力の指示に基づいてビデオ・ブロック検索空間内で同心領域の数を選択すること;
エンコードされようとしている現在のビデオ・ブロックと比較して最小の差異値をもたらすビデオ・ブロックを同定するためにビデオ・ブロック検索空間内で該選択された数の同心領域に関係するビデオ・ブロックを評価すること;及び
該同定されたビデオ・ブロックに基づき動きベクトルを用いて該現在のビデオ・ブロックをエンコードすること
を具備する、ビデオ・エンコーディング方法。 - 該同心領域は、アンカー点のところに中心を置き、そしてビデオ・ブロックを評価することは、該アンカー点に関係するビデオ・ブロックを評価することをさらに具備する、請求項39の方法。
- ビデオ・ブロックを評価することは、最も内側の同心領域から始めてビデオ・ブロックを評価すること、そして他の同心領域へと外側に該評価を広げることをさらに具備する、請求項39の方法。
- 該ビデオ・ブロックのうちの1つがしきい値を満足する差異値をもたらす場合に、該ビデオ・ブロックの該評価を終わらせることをさらに具備する、請求項39の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/255,433 US7852940B2 (en) | 2005-10-20 | 2005-10-20 | Scalable motion estimation for video encoding |
PCT/US2006/060129 WO2007048129A2 (en) | 2005-10-20 | 2006-10-20 | Scalable motion estimation for video encoding |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009513068A true JP2009513068A (ja) | 2009-03-26 |
Family
ID=37906971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008536646A Pending JP2009513068A (ja) | 2005-10-20 | 2006-10-20 | ビデオ・エンコーディングのためのスケーリング可能な動き推定 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7852940B2 (ja) |
EP (1) | EP1938619A2 (ja) |
JP (1) | JP2009513068A (ja) |
KR (1) | KR100974178B1 (ja) |
CN (1) | CN101326832A (ja) |
WO (1) | WO2007048129A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017513329A (ja) * | 2014-03-17 | 2017-05-25 | クアルコム,インコーポレイテッド | 非自然ビデオデータの動き推定のための方法 |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100598093B1 (ko) * | 2003-01-29 | 2006-07-07 | 삼성전자주식회사 | 낮은 메모리 대역폭을 갖는 동영상 압축 장치와 그 방법 |
US20060120612A1 (en) * | 2004-12-08 | 2006-06-08 | Sharath Manjunath | Motion estimation techniques for video encoding |
TW200633539A (en) * | 2005-03-09 | 2006-09-16 | Pixart Imaging Inc | Estimation method of motion vector based on distance weighted searching sequence |
US8761259B2 (en) * | 2005-09-22 | 2014-06-24 | Qualcomm Incorporated | Multi-dimensional neighboring block prediction for video encoding |
EP1947863A4 (en) * | 2005-11-11 | 2011-07-20 | Fujitsu Ltd | IMAGE DECODING APPARATUS AND METHOD AND IMAGE ENCODING APPARATUS |
US8473343B2 (en) * | 2006-07-24 | 2013-06-25 | International Business Machines Corporation | Tracking responses to promotions |
US8098898B2 (en) * | 2006-10-27 | 2012-01-17 | Panasonic Corporation | Motion detection device, MOS (metal-oxide semiconductor) integrated circuit, and video system |
US8649615B2 (en) * | 2007-06-18 | 2014-02-11 | Canon Kabushiki Kaisha | Moving picture compression coding apparatus |
EP2210421A4 (en) | 2007-10-16 | 2013-12-04 | Lg Electronics Inc | METHOD AND APPARATUS FOR PROCESSING A VIDEO SIGNAL |
US8144766B2 (en) * | 2008-07-16 | 2012-03-27 | Sony Corporation | Simple next search position selection for motion estimation iterative search |
US8094714B2 (en) * | 2008-07-16 | 2012-01-10 | Sony Corporation | Speculative start point selection for motion estimation iterative search |
US8311111B2 (en) | 2008-09-11 | 2012-11-13 | Google Inc. | System and method for decoding using parallel processing |
US8442111B2 (en) * | 2008-11-24 | 2013-05-14 | Nvidia Corporation | Optimal power usage in encoding data streams |
US8880789B2 (en) * | 2008-12-10 | 2014-11-04 | Nvidia Corporation | Optimal power usage in decoding a content stream stored in a secondary storage |
TWI442775B (zh) * | 2009-02-05 | 2014-06-21 | Acer Inc | 執行移動評估之低功率高效能視頻編碼方法 |
TWI389575B (zh) * | 2009-02-18 | 2013-03-11 | Acer Inc | 即時嵌入式多媒體設計之移動評估方法 |
US8488007B2 (en) * | 2010-01-19 | 2013-07-16 | Sony Corporation | Method to estimate segmented motion |
US8285079B2 (en) * | 2010-03-19 | 2012-10-09 | Sony Corporation | Method for highly accurate estimation of motion using phase correlation |
US8738440B2 (en) * | 2010-06-14 | 2014-05-27 | International Business Machines Corporation | Response attribution valuation |
US8862498B2 (en) * | 2010-11-08 | 2014-10-14 | International Business Machines Corporation | Response attribution valuation |
CN103430546B (zh) * | 2011-03-09 | 2017-08-04 | 日本电信电话株式会社 | 视频编码装置、视频编码方法以及视频编码程序 |
US20120281760A1 (en) * | 2011-05-04 | 2012-11-08 | Hyung Joon Kim | Iterative Grid-Pattern Motion Search |
US8861875B1 (en) * | 2011-07-29 | 2014-10-14 | Teradici Corporation | Method and apparatus for encoding changed image regions |
US20130094567A1 (en) * | 2011-10-18 | 2013-04-18 | Lsi Corporation | Apparatus and methods for performing block matching on a video stream |
TWI461066B (zh) | 2011-11-03 | 2014-11-11 | Ind Tech Res Inst | 彈性調整估算搜尋範圍的移動估算方法及視差估算方法 |
US9100657B1 (en) | 2011-12-07 | 2015-08-04 | Google Inc. | Encoding time management in parallel real-time video encoding |
KR101707463B1 (ko) * | 2011-12-29 | 2017-02-16 | 인텔 코포레이션 | 가변 깊이 압축 |
WO2014155738A1 (ja) * | 2013-03-29 | 2014-10-02 | 富士通株式会社 | 符号化装置、コンピュータシステム、符号化方法、符号化プログラム、および記録媒体 |
EP3180918A1 (en) * | 2014-08-12 | 2017-06-21 | Intel Corporation | System and method of motion estimation for video coding |
US20160092925A1 (en) * | 2014-09-30 | 2016-03-31 | International Business Machines Corporation | Time interval-based statistically-inferred response attributions |
CN105007493B (zh) * | 2015-07-17 | 2018-06-29 | 珠海市杰理科技股份有限公司 | 基于运动搜索窗的匹配搜索方法和系统 |
US9794574B2 (en) | 2016-01-11 | 2017-10-17 | Google Inc. | Adaptive tile data size coding for video and image compression |
US10542258B2 (en) | 2016-01-25 | 2020-01-21 | Google Llc | Tile copying for video compression |
US11881143B2 (en) * | 2021-10-12 | 2024-01-23 | Meta Platforms Technologies, Llc | Display peak power management for artificial reality systems |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001346216A (ja) * | 2000-06-06 | 2001-12-14 | Toshiba Corp | 動画像圧縮方法および情報処理装置 |
US20020025001A1 (en) * | 2000-05-11 | 2002-02-28 | Ismaeil Ismaeil R. | Method and apparatus for video coding |
JP2005253015A (ja) * | 2004-03-08 | 2005-09-15 | Matsushita Electric Ind Co Ltd | 動きベクトル検出装置、動きベクトル検出方法、及びプログラム |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6014181A (en) * | 1997-10-13 | 2000-01-11 | Sharp Laboratories Of America, Inc. | Adaptive step-size motion estimation based on statistical sum of absolute differences |
US7072398B2 (en) * | 2000-12-06 | 2006-07-04 | Kai-Kuang Ma | System and method for motion vector generation and analysis of digital video clips |
US6567469B1 (en) * | 2000-03-23 | 2003-05-20 | Koninklijke Philips Electronics N.V. | Motion estimation algorithm suitable for H.261 videoconferencing applications |
EP1152621A1 (en) * | 2000-05-05 | 2001-11-07 | STMicroelectronics S.r.l. | Motion estimation process and system. |
US6842483B1 (en) * | 2000-09-11 | 2005-01-11 | The Hong Kong University Of Science And Technology | Device, method and digital video encoder for block-matching motion estimation |
US20030161400A1 (en) * | 2002-02-27 | 2003-08-28 | Dinerstein Jonathan J. | Method and system for improved diamond motion search |
US7515634B2 (en) * | 2002-06-28 | 2009-04-07 | Qualcomm Incorporated | Computationally constrained video encoding |
US7400680B2 (en) * | 2003-09-30 | 2008-07-15 | Intel Corporation | Rectangular-shape motion search |
JP4035560B2 (ja) * | 2004-03-31 | 2008-01-23 | 英特維數位科技股▲ふん▼有限公司 | 動き推定方法 |
-
2005
- 2005-10-20 US US11/255,433 patent/US7852940B2/en not_active Expired - Fee Related
-
2006
- 2006-10-20 JP JP2008536646A patent/JP2009513068A/ja active Pending
- 2006-10-20 WO PCT/US2006/060129 patent/WO2007048129A2/en active Application Filing
- 2006-10-20 KR KR1020087011954A patent/KR100974178B1/ko not_active IP Right Cessation
- 2006-10-20 CN CNA2006800463365A patent/CN101326832A/zh active Pending
- 2006-10-20 EP EP06846125A patent/EP1938619A2/en not_active Ceased
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020025001A1 (en) * | 2000-05-11 | 2002-02-28 | Ismaeil Ismaeil R. | Method and apparatus for video coding |
JP2001346216A (ja) * | 2000-06-06 | 2001-12-14 | Toshiba Corp | 動画像圧縮方法および情報処理装置 |
JP2005253015A (ja) * | 2004-03-08 | 2005-09-15 | Matsushita Electric Ind Co Ltd | 動きベクトル検出装置、動きベクトル検出方法、及びプログラム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017513329A (ja) * | 2014-03-17 | 2017-05-25 | クアルコム,インコーポレイテッド | 非自然ビデオデータの動き推定のための方法 |
Also Published As
Publication number | Publication date |
---|---|
EP1938619A2 (en) | 2008-07-02 |
KR100974178B1 (ko) | 2010-08-05 |
WO2007048129A3 (en) | 2007-06-14 |
CN101326832A (zh) | 2008-12-17 |
US20070092006A1 (en) | 2007-04-26 |
US7852940B2 (en) | 2010-12-14 |
KR20080070010A (ko) | 2008-07-29 |
WO2007048129A2 (en) | 2007-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100974178B1 (ko) | 비디오 인코딩을 위한 스케일 가능한 모션 추정 | |
JP5415599B2 (ja) | レート制御されたビデオ符号化のための適応フレーム・スキップ技術 | |
KR102606778B1 (ko) | 모션 벡터 리파인먼트 및 모션 보상을 위한 메모리 액세스 윈도우 및 패딩 | |
TWI399097B (zh) | 用於編碼視訊之系統及方法,以及電腦可讀取媒體 | |
CN1240227C (zh) | 图像编码方法以及图像编码装置 | |
JP5301277B2 (ja) | マルチメディア符号化のためのモード選択技術 | |
KR100739281B1 (ko) | 움직임 추정 방법 및 장치 | |
US20070076795A1 (en) | Method and apparatus for determining inter-mode in video encoding | |
US20040076333A1 (en) | Adaptive interpolation filter system for motion compensated predictive video coding | |
US20090207915A1 (en) | Scalable motion search ranges in multiple resolution motion estimation for video compression | |
US7924918B2 (en) | Temporal prediction in video coding | |
JP6636615B2 (ja) | 動きベクトル場の符号化方法、復号方法、符号化装置、および復号装置 | |
JP2007523525A (ja) | 回転マッチングを使用して動きを予測する映像符号化装置及び方法 | |
KR20010082934A (ko) | 움직임 추정 방법 및 장치 | |
JP4417054B2 (ja) | 離散コサイン変換係数を参照する動き推定方法及び装置 | |
JP6585776B2 (ja) | 処理方法 | |
KR20180026360A (ko) | 비트율 제어 방법 및 이의 장치 | |
WO2020129681A1 (ja) | 符号化装置及びプログラム | |
US20130170565A1 (en) | Motion Estimation Complexity Reduction | |
JP4362327B2 (ja) | 画像符号化方法および画像符号化装置 | |
JP2021077957A (ja) | 動画像符号化装置及びその動作方法 | |
JP7201906B2 (ja) | 参照領域決定装置及びプログラム | |
JP4222046B2 (ja) | 信号処理装置および方法、記録媒体、並びにプログラム | |
JP2017060019A (ja) | 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム | |
KR101037070B1 (ko) | 전역탐색기법에 의한 고속 움직임 예측 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100907 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20101207 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20101214 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110426 |