[go: up one dir, main page]

JP2015008510A - 動き予測検索範囲及び拡張動きベクトルの範囲の動的選択 - Google Patents

動き予測検索範囲及び拡張動きベクトルの範囲の動的選択 Download PDF

Info

Publication number
JP2015008510A
JP2015008510A JP2014166617A JP2014166617A JP2015008510A JP 2015008510 A JP2015008510 A JP 2015008510A JP 2014166617 A JP2014166617 A JP 2014166617A JP 2014166617 A JP2014166617 A JP 2014166617A JP 2015008510 A JP2015008510 A JP 2015008510A
Authority
JP
Japan
Prior art keywords
distortion
encoder
motion
distortion metric
motion vector
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.)
Granted
Application number
JP2014166617A
Other languages
English (en)
Other versions
JP5873536B2 (ja
Inventor
チャン チェン
Zheng Zhang
チャン チェン
リン チー−ルン
Chih-Lung Lin
リン チー−ルン
ダブリュ.ホルコム トーマス
Thomas W Holcomb
ダブリュ.ホルコム トーマス
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2015008510A publication Critical patent/JP2015008510A/ja
Application granted granted Critical
Publication of JP5873536B2 publication Critical patent/JP5873536B2/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
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/172Methods 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 picture, frame or field
    • 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

【課題】動き予測中に歪みメトリックを動的に切り替える技術を提供する。
【解決手段】メトリック選択基準は動き予測の初期結果に少なくとも一部は基づく。歪みメトリック選択基準に少なくとも一部は基づいて歪みメトリックを選択するステップは、計算の複雑度とレート歪みコストの近似の正確性とのバランスをとるために複数の利用可能な歪みメトリックの中から選択する。複数の利用可能な歪みメトリックは、サンプル領域歪みメトリックと変換領域歪みメトリックを含む。サンプル領域歪みメトリックは、より低い演算複雑性とより低いレート歪みコストの近似の正確性で特徴づけられる。変換領域歪みメトリックは、より高いレート歪みコストの近似の正確性とより高い演算複雑性で特徴づけられる。
【選択図】図12

Description

デジタルビデオは大量のストレージ及び送信容量を消費する。一般的な生の(row:ロ
ー)デジタルビデオシーケンスは1秒あたり15又は30フレームを含む。それぞれのフ
レームは何十又は何百又は何千もの画素(ペル(pel)とも呼ばれる)を含み、それぞれの
画素(pixel:ピクセル)は画像の微小の要素を表す。生モードでは、コンピュータは一般
的に画素を合計24ビットである3つのサンプル集合として表す。従って、生のデジタル
ビデオシーケンスの1秒当りのビット数、又はビットレートは1秒当り5百万ビット以上
である可能性がある。
多数のコンピュータ及びコンピュータネットワークには生のデジタルビデオを処理する
リソースが不足している。この理由のためエンジニアはデジタルビデオのビットレートを
削減するため圧縮(コーディング又はエンコーディングとも呼ばれる)を使用する。圧縮
により、ビデオを低ビットレートの形態に変換することで、ビデオの格納及び送信コスト
が減少する。解凍(又は復号化、デコーディングとも呼ばれる)は元のバージョンのビデ
オを圧縮形から再構築する。「コーデック」はエンコーダ/デコーダシステムである。圧
縮は可逆(lossless)であることができる。この場合、ビデオの品質は失われないが、ビ
デオデータの変動量(エントロピーとも呼ばれる場合がある)によりビットレートの減少
は限られる。又は、圧縮は不可逆(lossy)であることができる。この場合、ビデオの品
質は失われるが、実現可能なビットレートの減少はより劇的である。不可逆圧縮は可逆圧
縮とともに使用されることがよくある。この場合、不可逆圧縮は情報の近似を確立し、可
逆圧縮はその近似を表すために適用される。
不可逆圧縮の基本的な目標は、良いレート歪み性能を提供することである。従って、特
定のビットレートに対して、エンコーダは最高品質のビデオを提供することを試みる。又
は、元のビデオに対する特定レベルの品質/忠実度に関して、エンコーダは最低ビットレ
ートのエンコードビデオを提供することを試みる。実際には、エンコード時間、エンコー
ドの複雑度、エンコードリソース、デコード時間、デコードの複雑度、デコードリソース
、全体遅延、及び/又は品質/ビットレート変化における平滑度のような検討事項も、コ
ーデック設計で行う決定及び実際のエンコーディング中の決定に影響を及ぼす。
一般に、ビデオ圧縮技術には「画像内」圧縮と「画像間」圧縮が含まれる。画像内圧縮
技術は個々の画像を圧縮し、画像間圧縮技術は1又は複数の先行及び/又は後続の画像(
しばしばリファレンス又はアンカー画像と呼ばれる)を参照して画像を圧縮する。
画像間圧縮技術はビデオシーケンス内の時間的冗長性を利用することにより、動き(mot
ion:モーション)予測及び動き補正を使用してビットレートを削減することがよくある。
動き予測は画像間の動きを予測するプロセスである。1つの一般的な技術では、動き予測
を用いるエンコーダは、現在の画像内の現在のサンプルブロックを、別の画像、参照画像
内の検索エリア内の同一サイズの候補ブロックとマッチすることを試みる。エンコーダが
参照画像内の検索エリア内で正確又は「十分に近い」マッチを見つけると、エンコーダは
現ブロック及び候補ブロックの間の位置における変化を(動きベクトル(「MV」)のよ
うな)動きデータとしてパラメータ化する。動きベクトルは、従来は2次元の値であり、
左又は右の空間的変位を示す水平コンポーネント(component:構成要素)と上又は下の空
間的変位を表す垂直コンポーネントとを有する。一般に、動き補正は動きデータを用いて
参照画像(複数)から画像を再構築するプロセスである。
図1はエンコーダの例における予測された画像の一部に対する動き予測を示す。8×8
のサンプルブロック、16×16のブロック(しばしば「マクロブロック」と呼ばれる)
、又は他の現在の画像ユニットに対して、エンコーダは参照画像内の類似ユニットを見つ
けて予測部として使用する。図1では、エンコーダは現在の予測された画像(110)に
おける16×16のマクロブロック(115)に対して動きベクトルを計算する。エンコ
−ダは参照画像(130)の検索エリア(135)を検索する。検索エリア(135)内
で、エンコーダは予測された画像(110)からのマクロブロック(115)を様々な候
補マクロブロックと比較して、良くマッチする候補マクロブロックを見つける。エンコー
ダは動きベクトルを特定する情報を予測部のマクロブロックに出力する。
エンコーダは、現在のユニットとその動き補正予測との間のサンプル毎の差分を計算し
て、残差(誤り信号とも呼ばれる)を決定する。残差(Residual:差)は周波数変換、量
子化、及びエントロピー符号化される。線形エネルギー圧縮変換として、周波数変換は、
エネルギーが低周波数係数に集中した変換係数を生成する傾向がある。予測された画像の
全体ビットレートは大部分が残差のビットレートに依存する。残差が単純(即ち、正確又
は良いマッチを動き予測が見つけたため)又は不可逆圧縮が残差の複雑性を劇的に削減す
る場合は、残差のビットレートは低い。成功した動き予測により節約したビットを使用し
て、他所の品質を向上させるか又は全体ビットレートを削減することができる。他方、複
雑な残差のビットレートは、その残差の複雑性を削減するために適用した不可逆圧縮の程
度に依存して、より高い可能性がある。
予測された画像を後続の動き補正に対する参照画像として使用する場合、エンコーダは
予測された画像を再構築する。残差を再構築するとき、エンコーダは、逆量子化を用いて
量子化した変換係数を再構築し、逆周波数変換を実施する。エンコーダは動き補正を実施
して動き補正予測部を計算し、予測部を再構築した残差と結合する。
エンコーダは一般にエンコード時間の大半を費やして動き予測を実施し、良いマッチを
発見してそれによりレート歪み性能を改善することを試みる。一般に、参照画像内の大き
な検索範囲を使用するとエンコーダが良いマッチを見つける可能性が向上する。しかしな
がらエンコーダは現ブロックを、大きな検索範囲内で空間的に変位した全ての可能なブロ
ックに対して比較する。大部分のシナリオでは、エンコーダは、エンコードすべき全ての
ブロック又はマクロブロックに対して、大きな検索範囲内の全ての可能な動きベクトルを
チェックする時間又はリソースが不足している。特にコーデックにより大幅な変位に対す
る動きベクトルが可能であるとき、大きな検索範囲を検索して最良の動きベクトルを求め
る計算コストは、特にエンコードすべきコンテンツが高解像度ビデオであるとき、非常に
高い恐れがある。様々な技術が、エンコーダが動き予測を高速化することを支援する。
ある種の技術により、ユーザ設定、プロフィール設定、又はレベル設定は動きベクトル
の範囲を特定のサイズに設定する。動きベクトルの範囲は動きベクトルの許容サイズを示
す。そうでなければ参照画像に渡って完全検索を実施するエンコーダに対して、動きベク
トルの範囲は実際に動きベクトルの範囲外の動きベクトルを排除することで検索範囲を制
限する。ユーザは動きベクトルの範囲をコマンドラインパラメータ、ユーザインタフェー
スコントロール等で設定しデフォルト値を上書きする。例えば、高品質のオフラインエン
コーディングに対しては、大きな動きベクトルの範囲(従って大きな検索範囲)を使用す
る。又は低品質のリアルタイムエンコーディングに対しては、より小さな動きベクトルの
範囲(従って、より小さな検索範囲)を使用する。これらの設定はエンコード時間及びリ
ソースに関する問題に対処するが、それらは、エンコードしているビデオコンテンツの動
き特性の変化に対して動きベクトルの範囲又は検索範囲を適応させないという点で、柔軟
ではない。結果として、いくつかのシナリオでは、大きな動きベクトルの範囲及び検索範
囲は動きが少ない一連の画像に対して不要である。又は、小さな動きベクトルの範囲及び
検索範囲は一連の大きな動きの画像には不適当である。
階層的な動き予測では、エンコーダは1又は複数の動きベクトルを低解像度で(例えば
、4:1のダウンサンプル画像を用いて)見つけ、その動きベクトル(複数)を高解像度
(例えば、整数画素)に拡大し、拡大した動きベクトル(複数)の周りの近傍(複数)に
おける1又は複数の動きベクトルを高解像度で見つける等である。これによりエンコーダ
は高解像度での大量の検索を飛ばすことができるが、上記の検索を正当化する動きが殆ど
又は全くないとき、低解像度で無駄に長い検索となる恐れがある。上記の階層的な動き予
測はさらに、エンコードしているビデオコンテンツ内の動き特性の変化に対して動きベク
トルの範囲又は検索範囲を適応させることができない。
他のエンコーダは、画像の現ブロック又はマクロブロックに対して動き予測を実施する
ときに、同一画像内で直接空間的に隣接するブロックの動きベクトルを考慮することで、
検索範囲を動的に調整する。上記エンコーダは現ブロック又はマクロブロックに対する動
きベクトル検索プロセスに強く集中することで、動き予測を劇的に高速化する。しかしな
がら、ある特定のシナリオ(例えば、強く局所化した動き、不連続な動き又は他の複雑な
動き)では、上記の動き予測は適切な性能を提供できない恐れがある。
一般に、エンコーダは動き予測中に歪み(distortion)メトリック(metric)を使用する。
歪みメトリックは、動き予測の選択において候補ブロックを用いることに関連する品質コ
スト及びレートコストをエンコーダが評価することを支援する。
1つの一般的な歪みメトリックはSAD(「sum of absolute diff
erence」:絶対値差分和)である。参照画像内の候補ブロックに対してSADを計
算するために、エンコーダは現ブロックと候補ブロックとの間の残差の絶対値の和を計算
する。ここで残差は現ブロックと候補ブロックとの間のサンプル毎の差分である。低い演
算複雑性がSADの利点である。しかしながらSADはいくつかの場合で全体のレート歪
みコストの近似が不十分である。特に、現ブロックと候補ブロックとの間に大きいが均一
なサンプルの差分があると、SADは実際の歪みみを不十分に近似する。SADは、残差
上で実施した周波数変換のエネルギー圧縮効果を説明できない。現ブロックが候補ブロッ
クと比較して、サンプル値に大きいが均一な差分を有すると仮定する。大概、エンコーデ
ィング中の周波数変換は、ゼロでないDC係数値における均一なサンプル差分をキャプチ
ャ及び分離する(DC係数は最小の周波数変換係数である)。エネルギー圧縮効果のため
、候補ブロックを選択する全体のレート歪みコストは小さいであろう。しかしながらSA
Dは誤って大きなコストを示す。
いくつかのビデオエンコーダは従ってSAHD(“sum of absolute H
adamard−transformdifference)を歪みメトリックとして使
用するか、又は別のSATD(“sumof absolute transform d
ifference)メトリックを使用する。参照画像内の候補ブロックに対してSAH
Dを計算するために、エンコーダは現ブロックをアダマール変換(Hadamard transform)
して候補ブロックをアダマール変換し、次いでアダマール変換ブロック間の差分の絶対値
の和を計算する。又は、エンコーダは残差を計算してその残差をアダマール変換し、その
アダマール変換残差の絶対値の和を計算する。後に圧縮の際に使用する周波数変換はアダ
マール変換ではないことがよくある。むしろ、アダマール変換は、エンコーダが残差上で
後に使用する周波数変換のエネルギー圧縮を近似するが、アダマール変換は計算がより簡
単である。SAHDを動き予測に使用すると、SAHDは均−な全体のサンプル値シフト
を説明するのでSADを用いるよりも良いレート歪み性能になることがよくあるが、SA
HDを用いると演算複雑性も増加する。単一アダマール変換は相対的に単純であるが、歪
みメトリックの計算時にアダマール変換を実施すると、動き予測の計算複雑性の総計が大
幅に増加する。なぜならば、エンコーダは一般に動き予測中にエンコード時間の大部分を
、異なる候補ブロックの評価に費やすからである。
誤差二乗和(「SSE(Sum of Squared Errors)」)、平均二乗
誤差(「MSE(meansquared errors)」)、及び平均分散は他の歪
みメトリックである。SSEでは、エンコーダは残差値を二乗し、次いでその二乗値を合
計する。MSEでは、エンコーダは二乗値の平均を計算する。平均分散の1つの定義は、
Figure 2015008510
である。ここで、
Figure 2015008510
は残差
Figure 2015008510
におけるI番目の残差値の平均である。平均分散はある程度、現ブロックと候補ブロック
との間の全体の差分を説明する。SSE、MSE及び平均分散はいくつかの場合では許容
範囲のレート歪み性能を生成するが、歪みの演算複雑性を増加させる。
いくつかのエンコーダは動き予測中にレート歪みコストを歪みメトリックとして計算す
る。レート歪みコストは歪み項及びレート項を有し、因子(しばしばラグランジュ乗数と
呼ばれる)がレート項を歪み項に対して拡大させる。レート項は、動きベクトル情報及び
/又は残差情報に対する予測ビットレートコスト又は実ビットレートコストであることが
できる。歪み項は元のサンプルの、再構築したサンプル(周波数変換、量子化、逆量子化
、及び逆周波数変換を経て再構築したサンプル)に対する比較(例えば、SAD)に基づ
くことができる。又は、歪み項は何らかの他の歪みメトリック又は予測値であることがで
きる。レート歪みコストは通常、異なる動き予測の選択に対するレート歪み性能を最も正
確に評価するが、特に異なる量子化パラメータをそれぞれの異なる動き予測の選択に対し
て評価する場合には、演算複雑性も最大である。
大抵の場合、エンコーダは動き予測に渡って同一の歪みメトリックを使用する(例えば
、SADのみ、SAHDのみ)。これは柔軟ではなく、使用したメトリックに依存して、
計算上非効率的であるか又は不十分なレート歪み性能になる恐れがある。
別のアプローチは、SADを使用して動き予測における上位x個の候補動きベクトルを
見つけ、次いでレート歪みコストを使用してその上位x個の候補動きベクトルを評価する
ことである。例えば、上位3個の候補をレート歪みコストで評価する。これにより動き予
測の最初からレート歪みコストを用いる計算コストが回避されるが、いくつかの場合では
エンコーダはSADの欠点のため良い候補を逃し、代わりに内部の候補を決める。エンコ
ーダが始めにSAHDを使用し、続いて上位x個の候補に対するレート歪みコストを使用
する場合、エンコーダは良い候補を見つける可能性がより高いが、演算複雑性は劇的に増
加する。
さらに別のアプローチでは、エンコーダは階層的動き予測の整数画素段階でSADを使
用し、SAHDを階層的動き予測の1/2画素及びl/4画素段階で使用する。再度、こ
れにより動き予測の始めからSAHDを用いる計算コストが回避されるが、多くの場合、
エンコーダはSADの欠点のため良い候補を逃す。
これらの技術は別として、多数のエンコーダは、許容範囲の時間量で良いマッチを見つ
けると思われる特殊動きベクトル検索パターン又は他の戦略を使用する。動き予測を高速
化又は改善する様々な他の技術が開発されている。デジタルビデオへビデオを圧縮する決
定的な重要性を鑑みると、動き予測が十分に発展した領域であることは当然である。しか
しながら、以前の動き予測技術にどのような利益があろうとも、以下のような技術及びツ
ールの利点を持ち合わせてはいない。
米国特許第2005/0013372号明細書 米国特許第2005/0058205号明細書
本出願は、動き予測中に検索範囲及び/又は動きベクトルの範囲を選択する技術及びツ
ールに関する。例えば、ビデオエンコーダは、前の画像の動きベクトルに対する動きベク
トル分布情報を用いて現在の画像に対する動きベクトルの範囲を選択する。多くの場合、
動きベクトルの範囲は実際に現在の画像に対する動き予測の検索範囲を制限する。このよ
うに、ビデオエンコーダは様々な動きレベルを有するビデオシーケンスに対して動き予測
の性能を改善する。
説明する技術及びツールの第1の態様によるとビデオエンコーダは第1の検索範囲によ
り制限される動き予測を実施し、その結果複数の動きベクトルが得られる。エンコーダは
動きベクトルに対する動きベクトル分布情報を計算する。例えば、エンコーダは動きベク
トルをヒストグラムで追跡(track:トラック)し、何個が分布情報に対する複数区間の各
々内かを数える。エンコーダは次いで第2の検索範囲を選択して、その第2の検索範囲に
より制限される動き予測を実施する。
説明する技術及びツールの第2の態様によると、ビデオエンコーダは第1の動きベクト
ルの範囲及び第1の検索範囲により制限される動き予測を実施する。エンコーダは第1の
動きベクトルの範囲と動き予測の結果とをビデオビットストリームで信号送信する。第2
の動きベクトルの範囲を選択した後、エンコーダは第2の動きベクトルの範囲と第2の検
索範囲とにより制限される動き予測を実施する。エンコーダは第2の動きベクトルの範囲
と第2の動き予測の結果とをビデオビットストリームで信号送信する。
説明する技術及びツールの第3の態様によると、エンコーダは動き予測を実施するため
の動き予測部、周波数変換部、量子化部、エントロピーエンコーダ、及び動き予測を制限
する検索範囲を選択するための動き予測コントローラを含む。現在の画像に対し上記の選
択は少なくとも部分的に複数の前の動きベクトルに対する動きベクトル分布情報に基づく
本要約は選択した概念を簡潔な形態で導入する。本概念を以下の「発明を実施するため
の最良の形態」でさらに詳細に説明する。本要約は特許請求された主題の主要な特徴又は
本質的な特徴を特定するようには意図しておらず、特許請求された主題の範囲を制限する
ために使用するようにも意図していない。
前述及び他の目的、特徴及び利点は、添付の図面を参照して進める以下の詳細な説明か
らより明らかになるであろう。
先行技術による動き予測を示す図である。 いくつかの説明された実施形態の実装に適した適切なコンピューティング環境のブロック図である。 いくつかの説明された実施形態の実装と関連するビデオエンコーダシステムのブロック図である。 動き予測での動きベクトルの範囲と検索範囲との間の関係を示す図である。 動きベクトル分布情報に基づいて動きベクトルの範囲及び/又は検索範囲を動的に切り替える汎用的な技術のフローチャートである。 ヒストグラムの1又は複数の特徴を用いて動きベクトルの範囲及び/又は検索範囲を選択する技術のフローチャートである。 ヒストグラム計算ルーチンの例に対する擬似コードリストの図である。 図7、9及び11の例で使用する値の表である。 ヒストグラム特徴抽出ルーチンの例に対する擬似コードリストの図である。 図9のヒストグラム特徴抽出ルーチンの例に対する所定の動き区間を示すチャートである。 範囲選択ルーチンの例に対する擬似コードリストの図である。 歪みメトリックを複数の利用可能な歪みメトリックから選択する汎用的な技術のフローチャートである。 歪みメトリック選択基準及び選択閾値に依存して歪みメトリックを選択する技術のフローチャートである。
本出願は動き予測を実施するための技術及びツールに関する。説明する様々な実施形態
では、ビデオエンコーダは動き予測を実施する。
本明細書で説明する実装に対する様々な代替手段が可能である。例えば、フローチャー
ト図を参照して説明するある特定の技術を、フローチャートに示す段階の順序を変更する
こと、ある特定の段階を反復又は省略すること等により変更することができる。
本明細書で説明する様々な技術及びツールは組み合わせて、又は独立して使用すること
ができる。異なる実施形態は、1又は複数の説明する技術及びツールを実装する。本明細
書で説明する様々な技術及びツールを、ビデオエンコーダ以外のツール、例えばイメージ
合成又は補間(interpolation)ツールにおける動き予測に使用することができる。
本明細書で説明する技術及びツールのいくつかは「背景技術」で述べた1又は複数の問
題を解決する。一般に、所与の技術/ツールは上記問題の全てを解決しない。むしろ、エ
ンコード時間、リソース、及び/又は品質における制約及び代償を考慮すると、所与の技
術/ツールは特定の動き予測の実装又はシナリオに対する性能を改善する。
I.コンピューティング環境
図2は、説明するいくつかの実施形態の実装に適したコンピューティング環境(200
)の汎用的な例を示す。コンピューティング環境(200)は使用又は機能性の範囲に関
する限定を示唆するようには意図していない。なぜならば、上記の技術及びツールを多様
な汎用目的又は特殊目的コンピューティング環境で実装できるからである。
図2を参照して、コンピューティング環境(200)は少なくとも1つの処理ユニット
(210)とメモリ(220)を含む。図2では、この最も基本的な構成(230)を点
線内に含まれる。演算装置(210)はコンピュータ実行可能命令を実行し、実プロセッ
サ又は仮想プロセッサであることができる。マルチプロセッシングシステムでは、複数の
演算装置がコンピュータ実行可能命令を実行して処理能力を向上させる。メモリ(220
)は揮発性メモリ(例えば、レジスタ、キャッシュ、RAM)、不揮発性メモリ(例えば
、ROM、EEPROM、フラッシュメモリ等)、又はその2つの何らかの組合せである
ことができる。メモリ(220)は、説明する動き予測に関する技術及びツールのうち1
又は複数でエンコーダを実装するソフトウェア(280)を格納する。
コンピューティング環境は追加の特徴を有してもよい。例えば、コンピューティング環
境(220)はストレージ(240)、1又は複数の入力デバイス(250)、1又は複
数の出力デバイス(260)、及び1又は複数の通信接続(270)を含む。バス、コン
トローラ、又はネットワークのような相互接続メカニズム(図示せず)はコンピューティ
ング環境(200)のコンポーネントを相互接続する。一般に、オペレーティングシステ
ムソフトウェア(図示せず)はコンピューティング環境(200)において実行されてい
る他のソフトウェアに対して動作環境を提供し、コンピューティング環境(200)のコ
ンポーネントの活動を調整する。
ストレージ(240)は取り外し可能又は取り外し不能であることができ、磁気ディス
ク、磁気テープ又はカセット、CD−ROM、DVD、又は情報の格納に使用でき且つコ
ンピューティング環境(200)内でアクセス可能な任意の他の媒体を含む。ストレージ
(240)はビデオエンコーダを実装するソフトウェア(280)に対する命令を格納す
る。
入力デバイス(複数)(250)はキーボード、マウス、ペン、又はトラックボール、
音声入力デバイス、スキャン装置、又は入力をコンピューティング環境(200)に提供
する別の装置のようなタッチ入力デバイスであることができる。オーディオ又はビデオエ
ンコーダに対して、入力デバイス(複数)(250)はサウンドカード、ビデオカード、
TVチューナカード、あるいはオーディオ又はビデオ入力をアナログ又はデジタル形式で
受け取る同様な装置、あるいはオーディオ又はビデオサンプルをコンピューティング環境
(200)に読み込むCD−ROM又はCD−RWであることができる。出力デバイス(
複数)(260)はディスプレイ、プリンタ、スピーカ、CDライタ(CD-WRITER)、又は
出力をコンピューティング環境(200)から提供する別の装置であることができる。
通信接続(複数)(270)により、通信媒体上で別のコンピューティングエンティテ
ィと通信することができる。通信媒体はコンピュータ実行可能命令、オーディオ又はビデ
オ入力又は出力、あるいは他のデータのような情報を変調されたデータ信号で伝達する。
変調されたデータ信号は、1又は複数の特性集合を有するか又は信号内の情報をエンコー
ドするように変化した信号である。限定ではなく例として、通信媒体には電気、光学、R
F、赤外線、音響、又は他のキャリアで実装した有線又は無線技術が含まれる。
上記の技術及びツールをコンピュータ読取可能媒体の一般的なコンテクストで説明する
ことができる。コンピュータ読取可能媒体はコンピューティング環境内でアクセスできる
任意の利用可能な媒体である。限定ではなく例として、コンピューティング環境(200
)、コンピュータ読取可能媒体にはメモリ(220)、ストレージ(240)、通信媒体
、及び上記の任意の組合せが含まれる。
上記の技術及びツールを、プログラムモジュールに含まれるもののような、対象の実プ
ロセッサ又は仮想プロセッサ上のコンピューティング環境で実行されているコンピュータ
実行可能命令の一般的な背景で説明することができる。一般に、プログラムモジュールに
は、特定のタスクを実施するか又は特定の抽象データ型を実装するルーチン、プログラム
、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造等が含まれる。プロ
グラムモジュールの機能性を、様々な実施形態で望ましいようにプログラムモジュール間
で組合せ又は分割することができる。プログラムモジュールに対するコンピュータ実行可
能命令をローカル又は分散コンピューティング環境内で実行することができる。
表示の便宜上、「発明を実施するための最良の形態」では「決定する」及び「分析する
」のような用語を使用してコンピューティング環境内のコンピュータ動作を説明する。こ
れらの用語はコンピュータにより実施する動作に対する高レベルの抽象化であり、人間が
実施する動作と混同すべきではない。これらの用語に対応する実際のコンピュータ動作は
実装に依存して変化する。
II.汎用的なビデオエンコーダ
図3は、説明するいくつかの実施形態の実装に適したものと関連する汎用的なビデオエ
ンコーダ(300)のブロック図である。エンコーダ(300)は現在の画像(305)
を含むビデオ画像シーケンスを受信して、圧縮されたビデオ情報(395)を出力として
ストレージ、バッファ、通信接続に出力する。出力ビットストリームの形式はWindo
ws(登録商標)Media Video又はVC−1形式、MPEG−x形式(例えば
、MPEG−1、MPEG−2、又はMPEG−4)、H.26x形式(例えば、H.2
61、H.262、H263、又はH.264)、又は他の形式であることができる。
エンコーダ(300)はビデオ画像を処理する。画像という用語は一般に元の、符号化
又は再構築したイメージデータに関する。プログレッシブビデオ(progressive video)に
ついては、画像はプログレッシブビデオフレームである。インタレースビデオ(interlace
d video)については、画像はコンテクストに依存してインタレースビデオフレーム、その
フレームのトップフィールド、又はそのフレームのボトムフィールドに関することができ
る。エンコーダ(300)はブロックベースであり、フレームに対して4:2:0のマク
ロブロックを使用し、それぞれのマクロブロックは4個の8×8の輝度ブロック(1個の
16×16マクロブロックとして処理する場合もある)と2個の8×8のクロミナンスブ
ロックを含む。領域に対して、同一又は異なるマクロブロック構成及び形式を使用するこ
とができる。8×8のブロックをさらに異なる段階、例えば周波数変換及びエントロピー
エンコード(entropy encode)段階でさらに分割することができる。エンコーダ(300)
は8×8のブロック及び16×16のマクロブロックと異なるサイズ又は構成のサンプル
集合上で動作を実施することができる。あるいは、エンコーダ(300)はオブジェクト
ベースであるか、又は異なるマクロブロック又はブロック形式を使用する。
図3に戻り、エンコーダシステム(300)は予測された画像及びフレーム内符号化キ
ー画像を圧縮する。表示の便宜上、図3はエンコーダシステム(300)を通るキー画像
向けのパスと予測された画像向けのパスとを示す。エンコーダシステム(300)のコン
ポーネントの多くをキー画像及び予測された画像の両方を圧縮するために使用する。これ
らのコンポーネントにより実施する厳密な動作は、圧縮する情報の種類に依存して変化す
ることができる。
予測された画像(例えば、プログレッシブPフレーム又はBフレーム、インタレースP
領域又はB領域、あるいはインタレースPフレーム又はBフレーム)を(一般に参照画像
又はアンカーと呼ばれる)1又は複数の他の画像からの予測の観点から表す。予測残差は
予測情報と対応するオリジナル情報との間の差分である。対照的に、キー画像(例えば、
プログレッシブIフレーム、インタレースI領域、又はインタレースIフレーム)は他の
画像を参照せずに圧縮される。
現在の画像(305)が予測された画像である場合、動き予測部(310)はマクロブ
ロック又は他の現在の画像(305)のサンプル集合の動きを1又は複数の参照画像に関
して予測する。画像格納(320)は、再構築した前画像(325)を、参照画像として
使用するためにバッファする。複数の参照画像を使用するとき、複数の参照画像は異なる
時間方向又は同一の時間方向からのものであることができる。エンコーダシステム(30
0)は別々のストレージ(320)及び(322)を複数の参照画像に対して使用するこ
とができる。
動き予測部(310)は動きをフルサンプル、1/2サンプル、1/4サンプル、又は
他の増分で予測することができ、動き予測の精度を画像毎ベース又は他のベースで切り替
える(switch)ことができる。動き予測部(310)(及び補正部(330))も、画像毎
又は他のベースで、参照画像サンプル補間の種類を(例えば、双三次と双一次の間で)切
り替えることができる。動き予測の精度は水平及び垂直に、同一又は異なることができる
。動き予測部(310)はサイド情報として動き情報(315)を出力する。エンコーダ
(300)は動き情報(315)を、例えば、動きベクトルに対する1又は複数の動きベ
クトル予測部を計算すること、動きベクトルと動きベクトル予測部との間の差分を計算す
ること、及びその差分をエントロピー符号化することにより、エンコードする。動きベク
トルを再構築するため、動き補正部(330)は動きベクトル予測を差分動きベクトル情
報と結合する。
動き補正部(330)は、動き補正した現在の画像(335)を形成するとき、再構築
した動きベクトルを、再構築した(参照)画像(複数)(325)に適用する。動き補正
した現在の画像(335)と元の現在の画像(305)の対応するブロックとの間の差分
(もしあれば)は、そのブロックに対する予測残差(345)である。後に現在の画像を
再構築する間に、再構築した予測残差を動き補正した現在の画像(335)に追加して、
元の現在の画像(305)により近い再構築画像を得る。しかしながら、不可逆圧縮では
一部の情報がなお元の現在の画像(305)から失われている。代替として、動き予測部
及び動き補正部は別の種類の動き予測/補正を適用する。
周波数変換部(360)は空間領域ビデオ情報を周波数領域(即ち、スペクトル、変換
)データに変換する。ブロックベースのビデオ画像に対して、周波数変換部(360)は
DCT(「discretecosine transform」)、DCTの変形、又
は他の前方ブロック変換を、サンプルブロック又は予測残差データに適用して、周波数変
換係数のブロックを生成する。あるいは、周波数変換部(360)はフーリエ変換のよう
な別の従来の周波数変換を適用するか、あるいはウェーブレット又はサブバンド分析を使
用する。周波数変換部(360)は8×8、8×4、4×8、4×4又は他のサイズの周
波数変換を適用する。
次いで量子化部(370)が変換係数のブロックを量子化する。量子化部(370)は
均一でスカラの量子化を、画像毎ベース又は他のベースで変化するステップサイズでスペ
クトルデータに適用する。量子化部(370)はさらに、例えば不均一でベクトル形式の
、又は非適応型の量子化のような別の種類の量子化をスペクトルデータ係数に適用するこ
とができる。適応量子化に加えて、エンコーダ(300)はフレームドロップ(frame dro
pping)、適応フィルタリング(adaptive filtering)、又は他の技術をレート(rate:率)の
制御に使用することができる。
再構築した現在の画像が後の動き予測/圧縮に必要であるとき、逆量子化部(376)
は逆量子化を量子化スペクトルデータ係数に実施する。逆周波数変換部(366)は逆周
波数変換を実施して、(予測された画像に対して)再構築した予測残差又は(キー画像に
対して)サンプルを生成する。現在の画像(305)がキー画像であった場合、再構築し
たキー画像を再構築した現在の画像(図示せず)として取る。現在の画像(305)が予
測された画像であった場合、再構築した予測残差を動き補正予測部(335)に追加して
再構築した現在の画像を形成する。画像格納(320、322)のうち一方又は両方は再
構築した現在の画像を、後の動き補正予測で使用するためにバッファする。いくつかの実
施形態では、エンコーダはデブロッキングフィルタ(de-blocking filter)を再構築画像に
適用して画像内の不連続性及び他のアーチファクトを適応的に平滑化(smooth)する。
エントロピー符号化部(380)は量子化部(370)の出力とある特定のサイド情報
(例えば、動き情報(315)、量子化ステップサイズ)を圧縮する。一般的なエントロ
ピー符号化技術には算術符号化、差分符号化(differential coding)、ハフマン符号化(Hu
ffman coding)、ランレングス符号化(run length coding)、LZ符号化、辞書符号化(dic
tionary coding)、及び上記の組合せが含まれる。エントロピー符号化部(380)は一
般に異なる種類の情報に対して異なる符号化技術を使用し、特定の符号化技術内における
複数の符号表から選択することができる。
エントロピー符号化(380)は圧縮されたビデオ情報(395)をMUX(「mul
tiplexer」:マルチプレクサ)(390)に提供する。MUX(390)はバッ
ファを含むことができ、バッファレベルインジケータをコントローラにフィードバックす
ることができる。MUX(390)の前後に、ネットワーク上で通信するために圧縮され
たビデオ情報(395)をチャネル符号化することができる。チャネル符号化は誤り検出
及び補正データを圧縮されたビデオ情報(395)に適用することができる。
コントローラ(図示せず)は情報を、動き予測部(310)、周波数変換部(360)
、量子化部(370)、逆量子化部(376)、エントロピー符号化部(380)、及び
バッファ(390)のような様々なモジュールから受信する。コントローラはエンコード
中に例えば、歪みを予測すること、レート歪み分析を実施することのような、中間結果の
評価を行う。コントローラは動き予測部(310)、周波数変換部(360)、量子化部
(370)、及びエントロピー符号化部(380)のようなモジュールと動作して、エン
コード中の符号化パラメータを設定及び変更する。エンコーダがエンコード中に異なる符
号化パラメータの選択を評価するとき、エンコーダは反復的にある特定の段階(例えば、
量子化及び逆量子化)を実施して異なるパラメータ設定を評価することができる。エンコ
ーダは次の段階に進む前のある段階でパラメータを設定することができる。又は、エンコ
ーダは異なる符号化パラメータを纏めて評価すること、例えば、ブロック内/外の決定を
纏めて行うこと、及び動きベクトル値がある場合はその動きベクトル値をブロックに対し
て選択することができる。評価すべき符号化パラメータ決定のツリー、及び対応するエン
コードのタイミングは実装に依存する。
エンコーダ(300)内のモジュール間に示す関係は、エンコーダ内の情報の一般的な
フローを示し、他の関係は簡潔にするため図示していない。特に、図3は通常、ビデオシ
ーケンス、画像、マクロブロック、ブロック等に使用されるエンコーダ設定、モード、テ
ーブル等を示すサイド情報は示さない。上記のサイド情報は、一旦完成すると、一般にそ
のサイド情報のエントロピーエンコード後に出力ビットストリームに送信する。
ビデオエンコーダの特定の実施形態は一般に汎用的なエンコーダ(300)の変形又は
補完版を使用する。実装と望ましい圧縮の種類とに依存して、エンコーダのモジュールを
追加、省略、複数モジュールへの分割、他モジュールと組合せ、及び/又は類似モジュー
ルで置換することができる。例えば、コントローラを、異なるエンコーダモジュールと関
連付けた複数のコントローラモジュールに分割することができる。代替の実施形態では、
異なるモジュールを有するエンコーダ及び/又は他のモジュール構成は、説明した技術の
1又は複数を実施する。
III.拡張動きベクトルで符号化するための動的動き検索範囲
予測された画像をエンコードするとき、ある特定のビデオエンコーダにより「大きな」
動きベクトルが可能となる。「大きな」動きベクトルは、水平方向及び/又は垂直方向の
大量変位を指定する動きベクトルを意味する。大きな動きベクトルは、極端で、複雑又は
不連続である動きをエンコーダがキャプチャすることを支援する。しかしながら、特に高
解像度ビデオコンテンツをエンコードするとき、動きベクトルに対する広範囲の可能性を
検索する計算コストは非常に高い可能性がある。
本節では、ビデオコンテンツのエンコード中に異なる動きベクトルの範囲及び/又は検
索範囲の間でエンコーダが動的に選択及び切り替えることができる技術を説明する。例え
ば、エンコーダは、大きな動きがあり得るが他の時点ではあり得ないときに、選択的に大
きな動きベクトルの範囲を使用する。これにより、動き予測に関連付けた計算コストを大
幅に削減することができ、大きな動きベクトルの範囲が定常的に全ての予測された画像に
適用される動き予測と比較可能な結果を生成する。
エンコーダは複数の所定の動きベクトルの範囲を切り替える。例えば、エンコーダは以
下の範囲で切り替える。
Figure 2015008510
あるいは、エンコーダは他の動きベクトルの範囲及び/又は追加の動きベクトルの範囲
を切り替える。又は、エンコーダは動きベクトルの範囲を動的に計算及び調整して動き予
測において使用する。
動きベクトルの範囲はいくつかの方法で動き予測において使用する検索範囲に影響を及
ぼすことができる。エンコーダがデフォルトで動き予測における参照画像の完全検索を使
用する場合、動きベクトルの範囲はどの動きベクトル値が可能か(及び、従ってどの動き
ベクトルが動き予測において評価される可能性があるか)を制限することができる。図4
は動き予測における現在の画像(400)及び参照画像(410)を示す。現在の画像(
400)の現ブロック(405)に対し、エンコーダがデフォルトで参照画像(410)
の完全検索又は無制限検索を実施する場合、動きベクトルの範囲(420)は効率的に動
きベクトルの範囲(420)内の動きベクトル値に対する検索範囲を制限する。その動き
ベクトル値は、現ブロック(405)と同じ場所に配置した参照画像ブロック(415)
の周りに中央寄せされる。エッジ拡張を使用しない場合、画像境界も、検索範囲が過去の
参照画像境界を拡張しないとき検索範囲を制限することができる。
エンコーダが参照画像(410)の部分検索を実施するときでも、動きベクトルの範囲
(420)はさらに検索範囲を、動きベクトルの範囲(420)内で動きベクトルを生み
出す部分検索範囲の領域にさらに制限することができる。エンコーダがデフォルトの部分
検索範囲(430)内で検索すると仮定する。デフォルトの部分検索範囲(430)は、
参照画像(410)内の予測された動きベクトル位置(435)周りに中央寄せされる。
デフォルトの部分検索範囲(430)の領域が動きベクトルの範囲(420)の外部にあ
る場合、これらの領域は実際に、動き予測において用いる検索範囲から除外される。しか
しながら、デフォルトの検索範囲(430)が動きベクトルの範囲(420)内の唯一の
動きベクトルを生み出す場合、動きベクトルの範囲(420)は実際には動き予測におい
て用いる検索範囲をさらに制限することはしない。
(VC−1エンコーダの実装のような)いくつかの実装ではエンコーダは動きベクトル
に対する動きベクトルの範囲情報を送信する。例えば、エンコーダは画像層で動きベクト
ルの範囲情報を、「特許文献1」又は「特許文献2」に説明されるようなビットストリー
ムシンタックスで、又は何らかの他のメカニズムを用いて信号送信(signaling:シグナリ
ング)する。動きベクトルの範囲情報の送信により、エスケープ符号化した動きベクトル
情報の信号送信に用いるビットの数を調整することで、いくつかのシナリオにおけるエン
トロピーエンコードの効率が向上する。信号送信した動きベクトルの範囲は用いた検索範
囲と同一であることができる。又は、信号送信した動きベクトルの範囲は、用いた検索範
囲よりも広いことができる。他の実装では、動きベクトルの範囲は、エントロピーエンコ
ードの目的で(検索範囲が変化する場合でも)事前定義されているか又は効率的に無制限
であり、エンコーダは動きベクトルの範囲情報を信号送信しない。
いくつかの実装では、Windows(登録商標) Media Videoのメイン又
は高度なプロフィールあるいはVC−1プロフィールに対してビデオをエンコードするエ
ンコーダは、エンコード中に適切な動きベクトルの範囲及び/又は検索範囲を動的に検索
する。あるいは、別の形式又はプロフィールに対してビデオをエンコードするエンコーダ
は、エンコード中に動きベクトルの範囲及び/又は検索範囲の動的な選択を実施する。
いくつかの実装では、エンコーダはヒストグラムにおける動きベクトル分布情報又は他
の表現を、適切な動きベクトルの範囲及び/又は検索範囲を決定するときに使用する。分
布情報は複数の区間を含み、その区間のいくつかは重複する。エンコーダは区間内の動き
ベクトルの数を、範囲決定時の基準と見なす。これにより、適切な範囲を決定するための
計算的にシンプルだが正確な方法を提供する。
A.動き範囲及び/又は検索範囲の動的な切り替え
図5は、動きベクトルの範囲及び/又は検索範囲を動的に切り替える汎用的な技術(5
00)を示す。図3に示すもののようなエンコーダが本技術(500)を実施する。ある
いは、別のエンコーダ又は動き予測ツールが本技術(500)を実施する。
エンコーダは先ず、動きベクトルの範囲及び/又は検索範囲により制限される動き予測
を実施する(510)。動きベクトルの範囲は完全検索又は部分検索を制限することがで
き、又は検索範囲は完全に動きベクトルの範囲内にあることができる。例えば、エンコー
ダは現在の動きベクトルの範囲及び検索範囲を用いて第1のP画像に対して動き予測を実
施する。又は、エンコーダは現在の動きベクトルの範囲及び検索範囲を用いて予測された
画像の第1の部分に対して動き予測を実施する。最初に、現在の動きベクトルの範囲は、
特定のユーザ設定、プロフィール設定、レベル設定、又は他のエンコーダ設定に従って定
義した値を有することができ、あるいは最大動きベクトルの範囲のようなデフォルト設定
で開始することができる。検索パターン(複数)、歪みメトリック(複数)、終了条件(
複数)、サブピクセル補間(1画素以下)及び他の動き予測の詳細は実装に依存して変化
する。
第1の動き予測を実施(510)した後、エンコーダは第1の動き予測の結果を信号送
信する。例えば、エンコーダは第1の動き予測から生ずる動きベクトルに対する動きベク
トル情報を信号送信する。いくつかの実装では、エンコーダは動きベクトルに対する動き
ベクトル情報を信号送信する前に、動きベクトルの範囲情報を信号送信する。
エンコーダは次いで、動きベクトルの範囲及び/又は検索範囲に対して更新チェックを
実施すべきかどうかを決定する。例えば、エンコーダはそれぞれの新規P画像に対して動
きベクトルの範囲を更新する可能性があるが、P画像の間に介在するB画像に対しては更
新しない。このように、動きベクトルの範囲はP画像からP画像への動き特性における変
化に適応する。一連のフレーム内(I)、単一予測(P)、及び双方向予測(B)画像が
以下の再生順序及び符号化順序を有するとする。
再生:I1121342563...
符号化:I1112234356...
2に対する動きベクトルの範囲はP1からの動きベクトルの分布に依存し、P2に対す
る動きベクトルの範囲はB3及びB4に対しても使用する。P3に対する動きベクトルの範
囲はP2からの動きベクトルの分布に依存し、P3に対する動きベクトルの範囲はB5及び
6に対しても使用する等である。あるいは、エンコーダは(P画像であろうとB画像で
あろうと)それぞれの新規予測された画像に対して更新チェックを実施し、必要に応じて
予測方向における変化を考慮し、時間的変位を拡大する。B画像に対して、エンコーダは
最近傍のP画像からの、又はB画像の前後にあるP画像からの動きベクトル分布情報を考
慮して、B画像のP画像(複数)からの相対的時間変位に依存して動きベクトル情報を拡
大することができる。又は、エンコーダは単一の予測された画像内の異なる部分に対して
更新チェックを実施する。
エンコーダが更新チェックを実施するとき、エンコーダは現在の動きベクトルの範囲及
び/又は検索範囲を、前の動きベクトルに対する動きベクトル分布情報を用いて更新する
(530)。例えば、エンコーダが新規P画像に対して更新した動きベクトルの範囲を選
択するとき、分布情報は先行P画像からの複数の動きベクトルを特徴付ける。又は、エン
コーダが更新した動きベクトルの範囲を予測された画像の新規部分に対して選択するとき
、分布情報は同一画像内に以前からあった複数の動きベクトルを特徴付ける。又は、エン
コーダは、動きベクトルの範囲自体に無関係に、動きベクトル分布情報を用いて新規検索
範囲を選択する。更新した検索範囲は、前の動き予測において使用した検索範囲と同一又
は異なることができ、更新した動きベクトルの範囲は前の動き予測において使用した動き
ベクトルの範囲と同一又は異なることができる。図6は、前の動きベクトルに対する動き
ベクトル情報のヒストグラムを用いて、更新した動きベクトルの範囲及び/又は検索範囲
を選択する技術の例(600)を示す。あるいは、エンコーダは別のメカニズムを使用し
て、更新した動きベクトルの範囲及び/又は検索範囲を選択する。そのメカニズムには例
えば、前の動きベクトルに対する別形態の動きベクトル分布情報を使用するものがある。
更新した動きベクトルの範囲及び/又は検索範囲を次いで現在の動きベクトルの範囲及び
/又は検索範囲として使用する。
エンコーダは、現在の(部分的に更新した)動きベクトルの範囲及び/又は検索範囲に
より制限された追加の動き予測を実施する(540)。例えば、エンコーダは新規の動き
ベクトルの範囲と対応する検索範囲とを用いて第2のP画像に対して動き予測を実施する
。又は、エンコーダは更新した検索範囲を用いて予測された画像の第2の部分に対して動
き予測を実施する。再度、追加の動き予測の検索パターン(複数)、歪みメトリック(複
数)、終了条件(複数)、サブピクセル補間及び他の詳細は実装に依存して変化する。
追加の動き予測を実施(540)した後、エンコーダはその追加の動き予測の結果を信
号送信する。例えば、エンコーダはその追加の動き予測から生ずる動きベクトルに対する
動きベクトル情報を信号送信する。いくつかの実装では、エンコーダは動きベクトルに対
する動きベクトル情報の信号送信前に動きベクトルの範囲情報を信号送信する。
エンコーダは、自身が終了したかどうかを決定する(550)。そうでなければ、エン
コーダは動きベクトルの範囲及び/又は検索範囲に対して更新チェックを実施すべきかど
うかを決定する(520)。例えばエンコーダは、次の予測された画像、又は同一予測さ
れた画像の次の部分で継続する。
B.動き予測分布情報を用いた範囲選択
図6は、動きベクトル分布情報を用いて動きベクトルの範囲及び/又は検索範囲を選択
する技術(600)を示す。図3に示すもののようなエンコーダは図5の動的切り替え技
術(500)の更新段階(530)の一部として本技術(600)を実施する。あるいは
、エンコーダは何らかの他の時点で選択技術(600)を実施するか、あるいは別のエン
コーダ又は動き予測ツールが本技術(600)を実施する。図7、9、及び11は実装例
において本技術(600)で使用する擬似コードを示し、図8は実装例において使用する
値の表を示す。
始めに、エンコーダは前の動きベクトルに対するヒストグラムを計算する(610)。
例えば、エンコーダは先行P画像の動きベクトルの一部又は全部に対してヒストグラムを
計算する。
図7は、以前に計算した動きベクトルの水平及び垂直ベクトルコンポーネントからヒス
トグラムを計算するルーチンの例を示す擬似コードリスト(700)である。ルーチンC
alculateMVHistogram(ルーチン計算MVヒストグラム)は2個の配
列を入力として受け取る。配列MV_x及びMV_yはそれぞれ、以前に計算した動きベ
クトルについて、符号付きの水平及び垂直の動きベクトルコンポーネント値を格納する。
配列MV_x及びMV_yはブロック毎ベースで値を格納し、エンコーダは配列内の値を
前処理することができる。例えば、配列が8×8のブロックに対するコンポーネント値を
格納するが特定の16×16のマクロブロックが単一の動きベクトルを有する場合、その
単一の動きベクトルに対するコンポーネント値を、そのマクロブロックの4個の連続した
8×8のブロックに対して繰り返す。一般に、異なるブロックサイズ(例えば、16×1
6、8×8、16×8、8×16、8×4、4×8、又は4×4)及び異なる種類の予測
された画像(例えば、プログレッシブフレーム、インタレースフィールド、又はインタレ
ースフレーム)に対して前に計算した動きベクトルを、ヒストグラム計算のために均一な
表現(例えば、8×8の非インタレースブロック)に変換する。異なるブロックサイズに
対して、これは均一な表現サイズよりも大きいブロックからの動きベクトルコンポーネン
トの繰り返しを含むことができ、又は均一な表現サイズよりも小さな隣接ブロックからの
動きベクトルコンポーネント値の組合せを含むことができる。インタレースされた(inte
rlaced:組み合わされた)コンテンツに対し、これはインタレースタイミングに対する調
整を含むことができる。図7はMV_x及びMV_yを1次元配列として示すが、それら
を2次元配列で構成してブロック構成を反映することができる。MV_x及びMV_yの
サイズは、表現する動きベクトル数に依存する。
出力配列MVHistogram(MVヒストグラム)は出力ヒストグラムを格納する
。図7では、MVHistogramは、水平及び垂直の動きベクトルコンポーネントの
絶対値の和により、前の動きベクトルを追跡する。具体的には、ヒストグラムはそれぞれ
の可能な動きベクトルコンポーネントの絶対値の和に対するカウンタを含む。図1に示す
動きベクトルの範囲の各々に対して、図8の表(800)は最大和、従って動きベクトル
の範囲に対するMVHistogram内のカウンタ数を示す。図8において、MVRa
ngeX[i]は範囲iに対する水平動きベクトルコンポーネントの最大許容絶対値を示
し、MVRangeY[i]は範囲iに対する垂直動きベクトルコンポーネントの最大許
容絶対値を示す。MAX_MVSum[i]は範囲iに対するMVRangeX[i]と
MVRangeY[i]の和である。
図7に戻る。MVHistogramをゼロの値に初期化する。ブロック毎ベースで、
エンコーダはMV_x及びMV_yの配列を通して繰り返す。ブロックをフレーム内符号
化する場合、エンコーダは動き無し(水平及び垂直コンポーネントがゼロに等しい)に対
するカウンタを増加させる。そうでなければ、エンコーダはブロックに対する水平及び垂
直動きベクトルコンポーネントの絶対値を決定し、MVHistogramカウンタをそ
の絶対値の和に対して増加させる。
あるいは、エンコーダはいくつかの他のメカニズムを使用して、前の動きベクトルを用
いてヒストグラムを計算する。例えば、エンコーダは動きベクトルのコンポーネント又は
ヒストグラムに対して異なるデータ構造を使用し、フレーム内符号化ブロックを無視し、
ヒストグラムに対して絶対値の和以外のメトリックを使用し、又は水平及び垂直コンポー
ネントに対して異なる重みを使用して水平動きベクトルコンポーネントにより大きな重み
を与えるか又は逆を行う。
図6に戻る。エンコーダはヒストグラムの1又は複数の特徴を抽出する(620)。本
質的には、エンコーダはヒストグラム内の情報を、後の意思決定で用いる1又は複数のパ
ラメータとして集約する。
図9は、ヒストグラムの特徴を抽出するルーチンの例を示し、ヒストグラムは図7の擬
似コード(700)に従って生成してある。ExtractHistogramFeat
ure(ヒストグラムの特徴の抽出)により、エンコーダはヒストグラムの異なる区間内
の動きベクトルを数える。ExtractHistogramFeatureは入力とし
てヒストグラムを受入れ、出力として4個の動き区間数の合計、即ち低、中、オーバフロ
ー、高を生成する。
次の表は、任意の所与のiのMVRangeIndex(MV範囲インデックス)に対
する4個の所定の動き区間を示す。
Figure 2015008510
図10は表2の4個の動き区間をi>0に対して図示する。例えば、i=2に対して、
区間はそれぞれ、2から511、512から767、768から2560、及び2048
から2560である。最初の2個の動き区間はi=0に対して未定義である。i=0の場
合、オーバフローの区間は2に拡張する。
i>0に対してオーバフローの動き区間は、次のより小さな範囲が前の動きベクトルに
ついて使用されていたならば、動きを有した動きベクトルの範囲iの部分はキャプチャさ
れなかったであろうことを示す。オーバフローの動き区間は高い動き区間に重複し、エン
コーダが上記オーバフローを動きベクトルの範囲内の大きな動きから区別する簡単な方法
を提供する。
ExtractHistogramFeatureでは、エンコーダは、絶対値の和が
上記の4個の動き区間に入るような前の動きベクトルの数を計算する。エンコーダは上記
の4個の区間に対するカウンタをゼロに初期化する。前の動きベクトルに対する動きベク
トルの範囲iがゼロより大きい場合、エンコーダは低、中、及び高の区間内のヒストグラ
ムカウンタを通ってループし、ヒストグラムカウンタをそれぞれの区間で合計する。エン
コーダは高の区間に重複しないオーバフロー区間の一部に対するヒストグラムカウンタを
通ってループし、次いで高の区間のカウント合計をオーバフロー区間のカウント合計に足
す。高の区間を2回通ってループしないことでヒストグラム合計操作における時間を少し
節約する。
動きベクトルの範囲iがゼロである場合、エンコーダは高の区間のヒストグラムカウン
タを通ってループし、高の区間と重複しない拡張オーバフロー区間の一部に対するヒスト
グラムカウンタを通ってループし、次いで高の区間のカウント合計をオーバフロー区間の
カウント合計に足す。
あるいは、エンコーダはいくつかの他のメカニズムを使用してヒストグラムから特徴を
抽出する。例えば、エンコーダは他の絶対値の和区間及び/又は追加の絶対値の和区間を
使用する。又は、エンコーダは区間に対する平均絶対値の和のような他のパラメータ値又
は統計値を用いてヒストグラム情報を集約する。又は、ヒストグラム内の異なるメトリッ
クに対して、エンコーダは異なる範囲、例えば、複数次元での範囲を使用する。
図6に戻る。エンコーダは次に更新した動きベクトルの範囲及び/又は検索範囲を選択
する(630)。例えば、ヒストグラムの特徴(複数)を用いると、エンコーダは現在の
P画像と前のP画像及び現在のP画像の間にある(再生順序での)任意のB画像とに対し
て新規の動きベクトルの範囲を選択する。更新した動きベクトルの範囲は前の動きベクト
ルの範囲と同一又は異なることができ、更新した検索範囲は前の検索範囲と同一又は異な
ることができる。
図11は、図9の擬似コード(900)に従って抽出したヒストグラムの特徴を用いた
移動ベクトル範囲選択のルーチンの例を示す擬似コードリスト(1100)である。ルー
チンDecideRangeでは、エンコーダは前の(及びデフォルトの現在の)動きベ
クトルの範囲iを+1又は−1だけ調整するか、あるいはiを全く変更しない。Deci
deRangeは入力としてヒストグラムの特徴を低、中、オーバフロー、及び高で受け
入れ、出力として新規の動きベクトルの範囲を生成する。一般に、動きベクトルの数が4
個の上述の区間で与えられると、エンコーダは新規の動きベクトルの範囲を以下の基準に
基づいて決定する。
1.ゼロでない動きベクトルを有するブロックの数は、動きベクトルの範囲を1だけ増加
させるために第1の閾値を満たすべきである(図9−11の例では、1の絶対値の和を有
する動きベクトルをゼロ値の動きベクトルのように扱っている)。
2.高い動き区間における動きベクトルの数は、動きベクトルの範囲を1だけ増加させる
ために第2の閾値を満たすべきである。
3.オーバフロー動き区間における動きベクトルの数は、動きベクトルの範囲を1だけ減
少させるために第3の閾値を満たすべきである。
4.中の動き区間における動きベクトルの数は、動きベクトルの範囲を1だけ減少させる
ために第4の閾値を満たすべきである。
図11を参照する。ルーチンDecideRangeはこれらの4個の基準を条件チェ
ックにおいて実装する。先ず、エンコーダはゼロでない動きベクトルの数、NonZer
oMotionを計算する。4個の動き区間である低、中、オーバフロー、及び高に対し
て、これは低、中及びオーバフローの区間カウントの合計の和である。エンコーダは更新
した動きベクトルの範囲をデフォルトの現範囲に等しいように設定する。この範囲は、そ
の範囲を増加又は減少させない限り最終的な範囲である。
エンコーダは、(1)NonZeroMotionがα*前の動きベクトルを収集した
ブロックの数より大きい場合、且つ(2)高の区間における動きベクトル数がβ*Non
ZeroMotionより大きい場合に、動きベクトルの範囲iを増加させる。チェック
(1)では、ブロック数は、フレーム内又はフレーム間符号化した、前の動きベクトルを
収集したブロックの数である。例えば、前の動きベクトルが前のP画像の動きベクトルで
ある場合、上記の数は前のP画像におけるブロックの数であり、上記の数を動きベクトル
表現の均一なブロックサイズに調整する。チェック(1)の背後にある動機は、全体の動
きアクティビティが何らかの閾値に達したときにのみ動きベクトルの範囲を増加させるこ
とであり、大きな動きアクティビティが少数のブロックに存在する場合だけではない。チ
ェック(2)の背後にある動機は、大きな動きアクティビティが何らかの閾値に達したと
きにのみ動きベクトルの範囲を増加させることである。α及びβの値は実装に依存する。
エンコーダは(3)オーバフロー区間における動きベクトルの数がγ*NonZero
Motion未満であり、且つ(4)中区間における動きベクトルの数がβ*NonZe
roMotion未満である場合に動きベクトルの範囲を減少させる。チェック(3)の
背後にある動機は、動きインアクティビティがオーバフロー区間で何らかの閾値に達した
ときにのみ動きベクトルの範囲を減少させることである。γの値は実装に依存する。チェ
ック(4)の背後にある動機は、中区間が動きアクティビティの大部分を有さないことを
さらに検証することである。エンコーダは異なる重みをチェック(2)及び(4)で使用
することができる。
DecideRangeでは、エンコーダは新規の範囲を切り取って、それが0及び3
を含めてそれらの間にあることを保証する。又は、切り取りの代わりに、エンコーダは増
加条件においてi<3であることを検証し、減少条件においてi>0であることを検証す
ることができる。
α、β及びγの値の例は
α=0.1、β=0.1及び
γ=0.02
である。動きベクトルの範囲をP画像毎に更新し、介在するB画像の数が2以下である様
々なエンコードシナリオに渡って、これらの設定は良い性能を提供する。これらの設定で
は、エンコーダは範囲のサイズを減少させるよりも少々積極的に範囲のサイズを増加させ
、計算コストを犠牲にして動き予測の品質を優先する傾向がある。
あるいは、エンコーダはいくつかの他のメカニズムを使用して動きベクトルの範囲及び
/又は検索範囲をヒストグラムの特徴から選択する。例えば、エンコーダは異なる閾値及
び/又は異なる選択条件を使用する。又は、異なるヒストグラムの特徴に対して、エンコ
ーダは異なる範囲選択論理を使用する。又は、エンコーダは動きベクトルの範囲自体に無
関係に、ヒストグラムの特徴を用いて新規の検索範囲を選択する。
IV.動き予測における歪みメトリック選択
ブロックベースの動き予測中に、エンコーダは一般に現在の画像からの現サンプルブロ
ックを、参照画像における同一サイズの1又は複数の候補ブロックと比較する。エンコー
ダは歪みメトリックを使用して、現ブロックと候補ブロックとの間のマッチを評価する。
SAD、SAHD、及びラグランジュレート歪みコストは一般的な歪みメトリックである
。他の歪みメトリックにはSSE、MSE、及び平均分散が含まれる。
どの歪みメトリックをエンコーダ内で使用するかを決定するとき、1つの目標は特定の
動き予測選択に対する全体のレート歪みコストを正確に説明することである。良い動き予
測選択を特定すると、レート歪みコストの正確な予測によりレート歪み性能が改善される
。良い動き予測選択を動き予測の早い段階で特定すると、その正確な予測によりエンコー
ダ性能も改善することができる。
別の目標は、歪みメトリックが低い複雑度であることである。動き予測はエンコード時
間の大部分を消費し、歪みメトリックの演算複雑性における増分変化は集計におけるエン
コーダ性能に劇的に影響を及ぼす可能性がある。低い複雑度且つ高い正確性という目標は
相反することがよくある。SADのような低複雑度の歪みメトリックと比較して、SAH
Dのような高複雑度の歪みメトリックはより正確に、大部分の時間、全体のレート歪みコ
ストを説明する。
本節は、エンコーダ又は他のツールが、動き予測の実施時に異なる歪みメトリックを動
的に切り替えできる技術を説明する。利用可能な歪みメトリック、選択基準及び閾値、歪
みメトリック切り替えのタイミング、及び他のエンコードの詳細は実装に依存する。いく
つかの実装では、Windows(登録商標)Media Videoのメイン又は高度
なプロフィールあるいはVC−1プロフィールに対してビデオをエンコードするエンコー
ダは、動的に歪みメトリックを選択してレート歪み性能を改善しつつ、全体の演算複雑性
も削減する。あるいは、別の形式又はプロフィールに対してビデオをエンコードするエン
コーダは歪みメトリックを動的に選択する。
A.理論及び説明
歪みメトリックの切り替えによりエンコーダは、異なる歪みメトリックを用いて動き予
測中のレート歪みコストをより正確に説明することで、レート歪み性能を改善することが
できる。同時に、歪みメトリックの切り替えによりエンコーダは、より単純な歪みメトリ
ックを用いることに対してペナルティがない(又は軽い、許容範囲のペナルティだけであ
る)場合にその単純な歪みメトリックを用いることで、動き予測の全演算複雑性を削減す
ることができる。例えば、エンコーダはSADとSAHDを切り替える。
SAHDは一般に、量子化に続くゼロでない変換係数が存在するとき、全体のレート歪
みコストをSADより正確に近似する。上記の場合、SAHDは周波数変換のエネルギー
圧縮効果を考慮する。SADはこれを無視する。従って、エンコーダは、周波数変換から
残差の歪みコストに影響するエネルギー圧縮が期待されるとき、SAHDを使用する。
他方、SAHDは、SAHD内のアダマール変換のためSADより計算が複雑となる。
及び、少数の状況では、SADはSAHDより正確にレート歪み性能を説明する(周波数
変換のエネルギー圧縮効果は現実的に無意味なものであるので、SADは、ゼロでない量
子化変換係数が存在するときにレート歪みコストをより良く近似する)。従って、エンコ
ーダは、残差エネルギーが量子化後の変換領域内で不足すると期待されるとき、SADを
使用する。SADを選択的に用いることで、動き予測の全演算複雑性を大幅に削減するこ
とができる。
例えば、エンコーダは現ブロックと参照画像の初期候補ブロックとの間の残差を計算す
る。初期候補ブロックは、参照画像内の予測された動きベクトルの位置にある候補ブロッ
クであることができる。予測された動きベクトルを計算する1つの一般的なメカニズムは
、現ブロックの左、上、及び右上の近傍動きベクトルのコンポーネント毎中央値を使用す
るが、別のメカニズムを代わりに使用してもよい。エンコーダは残差値の絶対値を加え、
このSADinitialを閾値と比較する。閾値を、残差がゼロ値の量子化変換係数のみを必
然的に生成する値より下に設定する。SADinitialが閾値未満である場合、エンコーダ
はSADを現ブロックに対する動き予測において使用する。そうでなければ、エンコーダ
はSAHDを現ブロックに対する動き予測において使用する。
選択的にSADとSAHDを切り替えることで、動き予測中にSADのみ又はSAHD
のみを使用するよりも優れたレート歪み性能を提供する。いくつかの場合、SAHDはS
ADより良いレート歪み性能を提供する。他の場合では、SADがSAHDより良いレー
ト歪み性能を提供する。
加えて、SAD−SAHD切り替えでの動き予測の演算複雑性は、常にSAHDを使用
する動き予測より少ない。エンコーダは、SADがより良いレート歪み性能を提供するか
又は十分であるとき、低い演算複雑性のSADを使用する。特に、低いビットレートのエ
ンコードシナリオでは、多数の残差は粗い量子化のためゼロ値の係数のみを生成する。結
果として、動き予測の演算複雑性を、SAHDの代わりにSADを選択的に使用すること
で大幅に削減することができる。同様に、小さな動きのビデオでは、多数の残差は効果的
な動き予測のためゼロ値の係数のみを生成し、動き予測の演算複雑性をSAHDの代わり
にSADを選択的に使用することで大幅に削減することができる。
B.閾値関数の例
所与の量子化パラメータQP及び量子化部に対して、ある特定の変換係数値をエンコー
ド中にゼロに量子化する。そのQP及び量子化部に対して、ゼロに量子化される最大振幅
変換係数がある。次の最大振幅を有する変換係数を、最小のゼロでない量子化値に量子化
する。
さらに、所与の周波数変換に対して、変換において使用する行列値を定義する。これら
の値のいくつかは正であり、その他は負である。最大振幅を有する行列値は、変換におけ
る値の拡張を引き起こす可能性が最も高い。
所与のSAD値を有する残差を変換するとき、1又は複数の変換係数は他より大きな振
幅を有する。残差値のいくつかのパターンは、大きな最大振幅値を有する変換係数となる
。(同一の所与のSADを有する残差に対する)他の残差値パターンは、小さな最大振幅
値を有する変換係数となる。特に、ゼロでない残差値が残差に渡って広がるとき、結果の
変換係数間の最大振幅は通常は小さい。他方、残差内のある特定の位置に単一のゼロでな
い残差値がある場合、孤立残差値に及ぼす最大振幅の行列値の影響のため、結果の変換係
数間の最大振幅は非常に大きい可能性がある。
これらの要因を考慮すると、閾値未満のSADを有する任意の残差ブロックがゼロ値の
量子化変換係数のみを有するように、閾値を設定することができる。閾値は現在の量子化
パラメータQPと量子化部に依存する。最大振幅の行列値は異なる変換では異なるので、
閾値は使用中の周波数変換にも依存する。
いくつかの実装では、閾値は現在の量子化パラメータQPの関数f(QP)であり、こ
れは現在の量子化ステップサイズを示す。関数f(QP)は量子化デッドゾーンに依存す
る。そのデッドゾーンは、ゼロに量子化されるゼロ周りの値の範囲である。SADinitia
l<f(QP)である場合にSADinitialを計算した残差がゼロ値の量子化変換係数のみ
を有するように、関数f(QP)を設定する。関数f(QP)は量子化デッドゾーン、量
子化及び再構築ルール、ならびにエンコード中に使用した周波数変換に依存し、VC−1
、H.264等に対しては異なる。関数f(QP)を所与の周波数変換及び量子化方式に
対してオフラインで計算して配列又は他のデータ構造に格納し、次いでエンコード中に使
用することができる。
実装に依存して、量子化パラメータQPを画像、スライス、マクロブロック、ブロック
、あるいはビデオ画像又はシーケンスの他の部分に対して設定することができる。例えば
、エンコーダは画像に対して量子化ステップサイズを設定するが、それをスライス、マク
ロブロック、及び/又はブロックレベルで修正する可能性がある。量子化パラメータQP
は、整数の量子化ステップサイズ増分又は分数(例えば、1/2ステップの)量子化ステ
ップサイズ増分を示すことができる。
量子化デッドゾーンは量子化パラメータQPに関連する。QPが小さいとき、デッドゾ
ーンは効率的により小さく、QPが大きいときデッドゾーンは効率的により大きい。エン
コーダは異なるデッドゾーン比を有する量子化部を切り替えることができる。その量子化
部には例えば、現在の量子化ステップ範囲と同じ幅のデッドゾーンを有する「均一な」量
子化部、及び現在の量子化ステップ範囲の約2倍の幅であるデッドゾーンを有する「不均
一な」量子化部がある。
実際には、エンコーダは、対応する再構築ルールより少々より積極的な量子化を使用す
ることがよくある。例えば、再構築後の2個の可能な値の間にある中点と比較して、エン
コーダはゼロから少々さらに離れた量子化閾値を適用する。結果として、その中点の周り
の値を、より近い、大きい方の量子化値にマップするのではなく2個の量子化値の小さい
方に量子化する。特に、エンコーダはデッドゾーンの幅を少々増加させて、ゼロに量子化
する値を増やすことがよくある。
1.量子化部デッドゾーンの例
VC−1のある特定のプロフィールにおいて、量子化パラメータMQUANTは1から
31の間の値を有し、量子化ステップサイズが整数の増分であることを示す。MQUAN
Tは画像レベルの量子化パラメータPQUANTに基づくが、特定のマクロブロック又は
画像領域に対する後の量子化パラメータにより修正(又は置換)することができる。情報
の超過ビットHALFQPは半ステップの増分を示すことができる。
「均一な」量子化部に対して、ゼロでないAC係数に対する再構築ルールは
dequant_ACcoeff=ACCoeffQ*double_quant
である。ここで、ACcoeffは量子化AC係数であり、dequant_ACcoe
ffは逆量子化AC係数である。ブロックをPQUANTで符号化する場合、
double_quant=2*MQUANT+HALFQP
である。
ブロックを他の量子化シンタックス要素で符号化する場合、
double_quant=2*MQUANT
である。
「不均一な」量子化部に対して、ゼロでないAC係数に対する再構築ルールは
dequant_ACcoeff=ACCoeffQ*double_quant+si
gn(ACCoeffQ)*Qscale
である。ここで、Q_scale=MQUANTである。
これらのVC−1再構築ルールを適用して再構築後の可能な逆量子化値間の中点を決定
し、デッドゾーン閾値DZを第1のゼロでない逆量子化値未満の同一オフセットに設定す
ることで、以下の表に、MQUANT及びHALFQPの異なる値に対するデッドゾーン
閾値DZの例をVC−1内の均一な量子化部及び不均一な量子化部とともに示す。デッド
ゾーン閾値DZは、ゼロに量子化される値より下の絶対値を示す。
Figure 2015008510
実際には、VC−1エンコーダは異なるデッドゾーン閾値、例えば、より積極的に値を
ゼロに量子化するデッドゾーン閾値を使用することができる。その場合、デッドゾーン閾
値は表3に示すものよりも少々大きいであろう。また、DC係数を、特により大きな量子
化ステップサイズで、AC係数より少々非積極的に量子化することができる。この要素を
念頭において、VC−1エンコーダは、特に大きなQP値に対して、ある特定のデッドゾ
ーン閾値を少々削減することができる。
H.263標準によると、画像層の値QUANTは1から31の間であり、半ステップ
の量子化サイズ増分を示す。QUANTの値を、DQUANTのような後のシンタックス
要素により変更することができる。ゼロでないAC係数に対する再構築ルールは、
QUANTが奇数の場合、
|REC|=QUANT・(2・|LEVEL|+1)、及び
QUANTが偶数の場合、
|REC|=QUANT・(2・|LEVEL|+1)−1
ここで、RECは再構築AC係数であり、LEVELは量子化AC係数である。|REC
|を計算した後、signを取り込む。即ち、
REC=sign(LEVEL)・|REC|
である。
これらのH.263再構築ルールと一貫して、以下の表はH.263におけるQUAN
Tの異なる値に対するデッドゾーン閾値DZの例を示す。
Figure 2015008510
実際には、H.263エンコーダは異なるデッドゾーン閾値、例えば、量子化値をより
積極的にゼロに量子化するデッドゾーン閾値を使用することができる。
他のエンコーダは同様に、量子化部と一貫したデッドゾーン閾値、量子化及び再構築ル
ール、及びこれらのエンコーダで可能な量子化ステップサイズを有する。一般に、デッド
ゾーン閾値はQPが増加すると単調に増加するが、デッドゾーン閾値が増加するステップ
とデッドゾーン閾値のQPに対する比率とは、量子化の実装に依存して変化する。
2.変換拡大因子の例
デッドゾーン閾値を変換係数に適用し、一方でSADinitialをサンプル領域の値から
計算する。従って倍率kを閾値に取り込む。即ち、
SADinitial<DZ/k
である。ここで、
f(QP)=DZ/k
である。倍率kは所与のSAD値に対する最大可能拡張(greatestpossib
le expansion)に依存する。次のVC−1からの1次元8点変換T8及び1次
元4点変換T4を考える。
Figure 2015008510
Figure 2015008510
VC−1エンコーダは(i行及びj列を有する)残差データブロックDi×j上の前方4
×4、4×8、8×4、及び8×8の変換を次のように実施することができる。
4×4変換に対して、
Figure 2015008510
8×4変換に対して、
Figure 2015008510
4×8変換に対して、
Figure 2015008510
及び、8×8変換に対して、
Figure 2015008510
ここで、・は行列乗算を示し、
Figure 2015008510
は正規化因子によるコンポーネント毎の乗算を示し、T´は行列Tの逆行列を示し、
Figure 2015008510
は変換係数ブロックを表す。正規化行列Ni×jを次のように与える。
Figure 2015008510
ここで、
Figure 2015008510
、及び
Figure 2015008510
である。
異なる正規化因子は、前方変換における変換行列値により生成した異なる量の拡張に関
連する。それらの因子はさらに、逆変換において右シフトにより単純な正規化を設定する
1次元8点VC−1変換を残差の列と結果の行とに適用するとき、第2の変換行の第1
の行列値(即ち、16)は、拡張を引き起こす可能性が最も高いものである。正規化を考
慮すると、その行列値は
162*(8/289)2=.198
又は約16/81だけの拡大を引き起こす。
SADinitialが所与の初期候補ブロックに対して25であると仮定する。次の2個の
ブロックは、SADinitialが25である可能な残差を示す。
Figure 2015008510
Figure 2015008510
第1のブロックでは、SADinitial=25であるエネルギーを単一の残差値に分離す
る。その残差値を、水平及び垂直変換における高振幅の変換行列値に公開する。8点変換
を垂直及び水平に適用するとき、
Figure 2015008510
である係数値が
Figure 2015008510
の第2行の第2の位置に現れる。対照的に、第2のブロックでは、SADinitial=25
であるエネルギーは14個の残差値に渡って広がる。結果として、8点変換を垂直及び水
平に適用し、5以上の係数値はない。小さい振幅行列値と負の行列値の影響として、変換
係数の値は小さい。従って、問題が全ての変換係数がゼロに量子化されるかどうかである
場合、最大振幅の変換行列係数に公開した単一の残差値に所与のSADinitialのエネル
ギーが分離されるパターンは最悪のケースを与える。このパターンの結果、SADinitia
lの値を有する残差からの個々の変換係数値が最大になる。
この理由のため、閾値関数f(QP)に対して、倍率kは周波数変換に対する最大振幅
変換行列値に依存する。一般に、これは1次元変換の第2行の最初の係数であり、最小A
Cベース関数の最初の係数に対応する。VC−1における4×8又は8×4の変換に対し
て、拡大因子kは16*(8/289)*22*(8/292)=.267である。4×
4の変換に対して、拡大因子kは222*(8/292)2.=.363である。
所与のQP及び量子化部に対するデッドゾーン区間をDZ(QP)で表す場合、VC−
1における前方変換に対する閾値関数f(QP)はDZ(QP)/kであり、ここでkは
変換サイズに依存する。
H.263では、正規化後、1次元DCTに対する最大振幅変換行列値は.49である
。再度、これは最小ACベース関数の最初の係数である。2次元DCTに対して、拡大因
子kは(.49)2=.24である。H.263における前方変換に対する閾値関数f(
QP)はDZ(QP)/.24、又は大まかに4*DZ(QP)である。
3.代替手段
代替手段として、所与の量子化部及び周波数変換に対する閾値f(QP)を決定する強
力なアプローチは以下の通りである。関数f(QP)において可能な量子化パラメータQ
Pに対して、SADの値mを評価する。特に、振幅がmである単一のゼロでない値を有す
る残差を周波数変換する(値mは残差の上、左の位置にあるか、又は最大の単一変換係数
値の生成テストにおいて示した何らかの他の位置にある)。変換係数をQPで量子化する
。ゼロでない量子化変換係数がある場合、次に小さなmの値を評価する。全ての量子化変
換係数がゼロの値を有する場合、次に大きなmの値を評価する。これを、全てのゼロ値の
量子化変換係数を生成するmの最大値がQPに対して見つかるまで続ける。異なるQP値
を次いで評価する。f(QP)において可能なQPの値を評価すると、異なる周波数変換
又は量子化部に対する閾値関数f(QP)を決定することができる。
閾値関数f(QP)の前述の使用及び定義は、いくつかの点で保守的である。閾値を(
予測された動きベクトル又はゼロ値の動きベクトルの位置にある)初期候補ブロックに対
してチェックすると仮定する。初期候補ブロックに対する残差は、最終候補ブロックに対
する残差より大きいことが期待される。しかしながら、初期候補ブロックのみに対して閾
値をチェックすると、より良いマッチへの収束を説明できない。
さらに、f(QP)の保守的な定義では、閾値f(QP)より大きいSADinitial
有する多数の残差ブロックはなおゼロ値の量子化変換係数のみを生成する。これは、例え
ばゼロでない残差値が残差ブロック周りに広がるときに生ずることがよくある。
あるいは、エンコーダはそれ程保守的ではない閾値関数を使用して、正確により「全ゼ
ロ値」である場合を特徴付けるが、少数の「ゼロでない値」である場合を見逃す可能性が
ある。例えば、あまり保守的でない閾値テストでは、エンコーダは残差ブロックの平均値
又はDCコンポーネントを考慮する。残差のDCコンポーネント/平均値が(例えば、負
の残差値のため)0又はゼロに近い場合、SADの性能は十分である可能性があり、従っ
て閾値が満たされる。
又は、エンコーダはあまり保守的でない閾値テストにおいてSADinitialに寄与する
残差値の数を考慮する。少なくともx個のゼロでない値(xは5、6等である)がある場
合に閾値は満たされる。
又は、エンコーダは任意のゼロでない残差値の絶対値がSADinitial/2より大きい
かどうかを考慮する。そうでない場合、エンコーダは閾値が満たされると見なす。
C.歪みメトリックの動的な切り替え
図12は動き予測中に歪みメトリックを動的に切り替える汎用的な技術(1200)を
示す。図3を参照して上述したもののようなエンコーダは本技術(1200)を実施する
。あるいは、別のツールが本技術(1200)を実施する。
始めに、エンコーダは歪みメトリック選択基準を計算する(1230)。例えば、エン
コーダは現ブロックと初期候補ブロックとの間の残差に対するSADを、検索パターンの
開始時に計算する。初期候補ブロックはゼロ値の動きベクトルにあるブロック、予測され
た動きベクトル位置にあるブロック、又は何らかの他の初期候補ブロックであることがで
きる。あるいは、歪みメトリック選択基準は残差の平均値又はDCコンポーネント、ゼロ
でない残差値の数及び/又は任意のゼロでない残差値がその残差に対するSADのある特
定の分数(例えば、1/2)を超えるかどうか、のような他の因子及び/又は追加の因子
を取り込む。
エンコーダは次いで歪みメトリック選択基準を評価する(1240)。例えば、エンコ
ーダはその基準を閾値(又は複数の因子を選択基準に取り込む場合は複数の閾値)と比較
する。又は、エンコーダは何らかの他の方法、例えば、選択基準の因子に依存して異なる
決定につながる決定木を用いて、基準を評価する。
エンコーダは歪みメトリックを複数の利用可能な歪みメトリックから選択する(126
0)。例えば、エンコーダはSAD及びSAHDの間で選択する。あるいは、エンコーダ
は他の歪みメトリック及び/又は追加の歪みメトリックの間で選択する。そのメトリック
は1又は複数のレート歪みコストメトリック、SSE、MSE、平均分散、及びSAHD
以外のSATDを含むことができる。
エンコーダは次いで、動き予測において選択した歪みメトリックを使用する(1270
)。具体的には、エンコーダは選択した歪みメトリックを使用して、1又は複数の動き予
測の選択結果の適合性を評価する。動き予測ベクトル範囲(複数)、検索範囲(複数)、
検索パターン(複数)、終了条件(複数)、サブピクセル(1画素以下)補間及び動き予
測の他の詳細は実装に依存して変化する。例えば、エンコーダは完全検索、部分検索、又
は動き予測における他の検索範囲を使用し、(3×3又は5×5のような)ブロック検索
パターン、スパイラル検索パターン、又は他の検索パターンを使用し、予測された動きベ
クトル位置又はゼロ値の動きベクトル位置の周りで開始する。動き予測は階層的、例えば
、4:1のサブサンプル、整数画素、及び1/4画素段階、又は何らかの他の段階構成で
あることができる。
動き予測の最中又は後の何らかの時点で(1270)、エンコーダは継続するかしない
かを決定する(1290)。例えば、エンコーダは現ブロック又はマクロブロックに対す
る選択基準を、その現ブロック/マクロブロックに対する動き予測における初期チェック
の一部として計算する(1230)。これにより、エンコーダは動き予測の最初から演算
複雑性を選択的に削減することができる。エンコーダは選択した歪みメトリックを、動き
予測が現ブロック/マクロブロックに対して完了するまで使用する。エンコーダは次いで
次のブロック又はマクロブロックで継続するかどうかを決定し(1290)、そうであれ
ば、次のブロック/マクロブロックに対する選択基準を計算する(1230)。
又は、エンコーダは現ブロック又はマクロブロックに対する選択基準を初期チェックの
一部として計算し(1230)、動き予測における歪みメトリックを選択(1260)及
び使用(1270)するが、引き続いて現ブロック/マクロブロックに対する同一の歪み
メトリックで継続するかしないかを決定する(1290)。エンコーダがSAHDのよう
な第1のメトリックで開始するがSADのような第2のメトリックが好ましいであろうポ
イントに残差値が近づく場合、エンコーダは現ブロック/マクロブロックに対する第2の
メトリックに切り替える。
階層的動き予測に対して、エンコーダは選択基準を段階における初期及び/又は中間チ
ェックとして計算する(1230)。例えば、最初の最低解像度の段階に対して、エンコ
ーダは選択基準を計算し(1230)、その段階に対する動き予測における歪みメトリッ
クを選択(1260)及び使用(1270)する。エンコーダは次いで第2のより高い解
像度段階で継続し、選択基準を計算して(1230)、その段階に対する動き予測におけ
る歪みメトリックを選択(1260)及び使用(1270)する。それぞれの段階で利用
可能な歪みメトリックは、段階から段階で同一又は異なることができる。エンコーダはよ
り高い解像度段階では歪みメトリック選択を省略することができる(例えば、レート歪み
コストメトリックのみを使用する)。
図13は、歪みメトリック選択基準及び選択閾値を用いて歪みメトリックを選択する技
術(1300)を示す。図3を参照して上述したもののようなエンコーダは本技術(13
00)を実施する。あるいは、別のツールが本技術(1300)を実施する。
始めに、エンコーダは歪みメトリック選択閾値を更新するかしないかを決定する(13
10)。例えば、閾値が現在の量子化ステップサイズ、量子化デッドゾーン区間、及び周
波数変換に依存する場合、エンコーダはこれらの何れかが変化したかどうかをチェックす
る。又は、閾値が現在の量子化ステップサイズのみに依存する場合、エンコーダは量子化
ステップサイズが変化したかどうかをチェックする。
閾値を更新するため、エンコーダは歪みメトリック選択閾値を設定する(1320)。
例えば、所与の量子化部及び周波数変換に対する量子化パラメータ値に閾値を関連付ける
データ構造を用いて、現在の量子化パラメータが与えられるとエンコーダはその閾値を設
定する。データ構造は配列又は他のデータ構造であることができる。閾値は上述のように
閾値関数f(QP)から、又は別の閾値関数からのものであることができる。
エンコーダは歪みメトリック選択基準も計算する(1330)。例えば、エンコーダは
現ブロック及び初期候補ブロックの間の残差に対するSADinitialを計算する。閾値と
併せて、SADinitialは、残差がゼロ値の量子化変換係数のみを有するかどうかを単純
で少ない演算複雑性で示す。又は、エンコーダは図12を参照して説明したもののような
何らかの他の選択基準を使用する。
エンコーダは次いでその基準を閾値と比較する(1340)。例えば、エンコーダはS
ADinitialが閾値f(QP)未満であるかどうかをチェックする。平均残差値、残差の
DCコンポーネント、ゼロでない残差値の数、及び/又はSADinitialの分数のような
因子を取り込む選択基準に対して、エンコーダはその因子を対応する閾値部分と比較する
エンコーダは次いで第1の歪みメトリックを選択する(1350)か又は第2の歪みメ
トリックを選択する(1360)。例えば、SADinitialを保守的な閾値関数f(QP
)と比較した後に、SADinitial<f(QP)である場合、残差に対する量子化変換係
数がゼロの量子化値を有することになるので、エンコーダはSADを選択する。そうでな
ければ、残差に対する1又は複数の量子化変換係数がゼロでない量子化値を有する可能性
があるので、エンコーダはSAHDを選択する。あるいは、エンコーダは他の歪みメトリ
ック及び/又は追加の歪みメトリックの間で選択する。
エンコーダは選択した歪みメトリックを使用して、1又は複数の動き予測の選択結果の
適合性を評価する(1370)。動き予測の詳細は、図12を参照して説明したように、
実装に依存して変化する。
動き予測の最中又は後の何らかの時点で(1370)、エンコーダは継続するかしない
かを決定する(1390)。例えば、エンコーダは画像内のそれぞれの新規ブロック又は
マクロブロックに対する選択基準を、ブロック/マクロブロックに対する動き予測におけ
る初期チェックの一部として計算し(1330)、選択閾値を必要に応じて更新し、画像
内に新規ブロック/マクロブロックがある限り継続することを決定する(1390)。あ
るいは、エンコーダは現ブロック又はマクロブロックに対する歪みメトリック選択基準を
初期チェックの一部として計算し(1330)、現ブロック/マクロブロックに対する動
き予測中に選択基準及び/又は閾値を選択的に更新するかどうかを決定する(1390)
本発明の原理を様々な実施形態を参照して説明及び図示したが、様々な実施形態を上記
原理から逸脱することなく配置及び詳細において修正できることを認識されたい。本明細
書で説明したプログラム、プロセス、又は方法は、特に示さない限り特定の種類のコンピ
ューティング環境には関連せず、又はそれに限定されないことを理解されたい。様々な種
類の汎用目的又は特殊コンピューティング環境を本明細書で説明した教示で使用するか、
又はその教示に従ってその環境を実施することができる。ソフトウェアにおいて示した実
施形態の要素をハードウェアで実装することができ、逆も真である。本発明の原理を適用
可能な多数の可能な実施形態を考慮して、我々は全ての上記実施形態が添付請求項及びそ
の均等物の範囲及び精神内として本発明を特許請求する。

Claims (20)

  1. 動き予測中に、
    動き予測のための歪みメトリック選択基準を決定するステップであって、前記歪みメトリック選択基準は前記動き予測の初期結果に少なくとも一部は基づく、ステップと、
    前記歪みメトリック選択基準に少なくとも一部は基づいて歪みメトリックを選択するステップであって、該ステップは、計算の複雑度とレート歪みコストの近似の正確性とのバランスをとるために複数の利用可能な歪みメトリックの中から選択するステップを含み、前記複数の利用可能な歪みメトリックは、サンプル領域歪みメトリックと変換領域歪みメトリックを含み、前記サンプル領域歪みメトリックは、より低い演算複雑性とより低いレート歪みコストの近似の正確性で特徴づけられ、前記変換領域歪みメトリックは、より高いレート歪みコストの近似の正確性とより高い演算複雑性で特徴づけられる、ステップと、
    前記動き予測において前記選択された歪みメトリックを使用するステップと、
    前記動き予測の最終結果を出力するステップと、
    を含むことを特徴とする方法。
  2. 請求項1に記載の方法において、前記変換領域歪みメトリックは、絶対値アダマール変換差分和(sum of absolute Hadamard-transformed differences)であり、前記サンプル領域歪みメトリックは、絶対値差分和(sum of absolute differences)であることを特徴とする方法。
  3. 請求項1に記載の方法において、前記歪みメトリック選択基準は、画像の現ブロック又はマクロブロックに対する初期動きベクトルの使用により生ずる歪みを示すことを特徴とする方法。
  4. 請求項3に記載の方法であって、
    前記現ブロック又はマクロブロックに対して前記動き予測中に前記歪みメトリック選択基準を再決定するステップと、
    前記再決定された歪みメトリック選択基準に少なくとも一部は基づいて、前記選択された歪みメトリックを変更するステップと、
    を更に含むことを特徴とする方法。
  5. 請求項1に記載の方法において、前記歪みメトリック選択基準は、動き補償残差のDC係数値に少なくとも一部は依存していることを特徴とする方法。
  6. 請求項1に記載の方法において、前記複数の利用可能な歪みメトリックは、レート歪みコスト・メトリックを更に含むことを特徴とする方法。
  7. 請求項1に記載の方法において、前記選択するステップは、前記歪みメトリック選択基準を選択閾値と比較するステップを含むことを特徴とする方法。
  8. 請求項7に記載の方法であって、前記比較するステップの前に、現在の量子化ステップサイズ及び量子化デッドゾーンに少なくとも一部は依存する値に対して前記選択閾値を設定するステップを更に含むことを特徴とする方法。
  9. 請求項7に記載の方法であって、前記比較するステップの前に、その値未満で残差が零値量子化変換係数を与えると予想される値に対して前記選択閾値を設定するステップを更に含むことを特徴とする方法。
  10. 請求項1に記載の方法において、前記決定するステップ及び選択するステップは、階層的な動き予測の第1段階に対するものであり、該方法は、前記階層的な動き予測の1つまたは複数の段階の各々において、前記決定するステップ及び選択するステップを反復するステップを含むことを特徴とする方法。
  11. 請求項1に記載の方法であって、残差の後続の符号化において使用される周波数変換に少なくとも一部は基づいて選択閾値を設定するステップを更に含み、前記選択閾値を設定するステップは、前記残差の後続の符号化において使用される周波数変換の変換サイズに少なくとも一部は基づいて前記選択閾値を調節するステップを含むことを特徴とする方法。
  12. 請求項1に記載の方法であって、残差の後続の符号化において使用される周波数変換に少なくとも一部は基づいて選択閾値を設定するステップを更に含み、前記選択閾値を設定するステップは、前記残差の後続の符号化において使用される周波数変換の拡大因子に少なくとも一部は基づいて前記選択閾値を調節するステップを含み、前記拡大因子は、前記周波数変換に関する変換行列値による可能な拡張を示すことを特徴とする方法。
  13. 動き予測部、周波数変換部、量子化部、エントリピー符号化部、及び、請求項1〜12のいずれかの方法により歪みメトリックを選択するための制御部を備えたビデオエンコーダ。
  14. コンピュータシステムにプログラムを実行させるコンピュータ実行命令を格納したコンピュータ可読記録媒体であって、前記コンピュータシステムにプログラムを実行させることにより、ビデオエンコード期間中に以下のステップ、即ち、
    歪みメトリック選択閾値を動的に設定するステップ、
    動き予測に対する歪みメトリック選択基準を決定するステップ、
    前記歪みメトリック選択基準を前記閾値と比較するステップ、
    前記選択基準が前記閾値を満たすときには、前記動き予測における第1の歪みメトリックを使用し、前記選択基準が前記閾値を満たさないときには、前記動き予測における第2の歪みメトリックを使用するステップであって、前記第1の歪みメトリックは、より低い演算複雑性とより低いレート歪みコストの近似の正確性で特徴づけられ、前記第2の歪みメトリックは、より高いレート歪みコストの近似の正確性とより高い演算複雑性で特徴づけられる、ステップ、
    前記動き予測の結果を出力するステップ、
    からなる方法を実行することを特徴とするコンピュータ可読記録媒体。
  15. 請求項14に記載のコンピュータ可読記録媒体において、前記第1の歪みメトリックはサンプル領域歪みメトリックであり、前記第2の歪みメトリックは変換領域歪みメトリックであることを特徴とするコンピュータ可読記録媒体。
  16. 請求項14に記載のコンピュータ可読記録媒体において、前記第1の歪みメトリックはサンプル領域歪みメトリックであり、前記第2の歪みメトリックはレート歪みコスト・メトリックであることを特徴とするコンピュータ可読記録媒体。
  17. 請求項14に記載のコンピュータ可読記録媒体において、前記選択基準は、現在の画像の現ブロック又はマクロブロックに対する前記動き予測の初期結果に少なくとも一部は基づいて決定されることを特徴とするコンピュータ可読記録媒体。
  18. 請求項17に記載のコンピュータ可読記録媒体であって、前記現ブロック又はマクロブロックに対する前記動き予測において、異なる歪みメトリックを後で使用するステップを更に含み、該ステップは、前記第1の歪みメトリックと前記第2の歪みメトリックとを切り替えるステップを含むことを特徴とするコンピュータ可読記録媒体。
  19. 請求項14に記載のコンピュータ可読記録媒体において、前記歪みメトリック選択閾値を動的に設定するステップは、量子化因子を閾値にマッピングするデータ構造において現在の量子化因子を調査することを特徴とするコンピュータ可読記録媒体。
  20. 請求項14に記載のコンピュータ可読記録媒体において、前記閾値は、量子化に続く量子化後の変換領域エネルギを欠く残差を量子化後の変換領域エネルギを有する残差と区別するように設定されていることを特徴とするコンピュータ可読記録媒体。
JP2014166617A 2006-04-07 2014-08-19 動き予測検索範囲及び拡張動きベクトルの範囲の動的選択 Expired - Fee Related JP5873536B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/400,051 2006-04-07
US11/400,051 US8494052B2 (en) 2006-04-07 2006-04-07 Dynamic selection of motion estimation search ranges and extended motion vector ranges

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012238408A Division JP2013048476A (ja) 2006-04-07 2012-10-29 動き予測検索範囲及び拡張動きベクトルの範囲の動的選択

Publications (2)

Publication Number Publication Date
JP2015008510A true JP2015008510A (ja) 2015-01-15
JP5873536B2 JP5873536B2 (ja) 2016-03-01

Family

ID=38575214

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2009504357A Expired - Fee Related JP5535618B2 (ja) 2006-04-07 2007-04-09 動き予測検索範囲及び拡張動きベクトルの範囲の動的選択
JP2012238408A Pending JP2013048476A (ja) 2006-04-07 2012-10-29 動き予測検索範囲及び拡張動きベクトルの範囲の動的選択
JP2014032967A Expired - Fee Related JP5785285B2 (ja) 2006-04-07 2014-02-24 動き予測検索範囲及び拡張動きベクトルの範囲の動的選択
JP2014166617A Expired - Fee Related JP5873536B2 (ja) 2006-04-07 2014-08-19 動き予測検索範囲及び拡張動きベクトルの範囲の動的選択

Family Applications Before (3)

Application Number Title Priority Date Filing Date
JP2009504357A Expired - Fee Related JP5535618B2 (ja) 2006-04-07 2007-04-09 動き予測検索範囲及び拡張動きベクトルの範囲の動的選択
JP2012238408A Pending JP2013048476A (ja) 2006-04-07 2012-10-29 動き予測検索範囲及び拡張動きベクトルの範囲の動的選択
JP2014032967A Expired - Fee Related JP5785285B2 (ja) 2006-04-07 2014-02-24 動き予測検索範囲及び拡張動きベクトルの範囲の動的選択

Country Status (6)

Country Link
US (1) US8494052B2 (ja)
EP (1) EP2005759A4 (ja)
JP (4) JP5535618B2 (ja)
KR (1) KR101344200B1 (ja)
CN (1) CN101416524B (ja)
WO (1) WO2007117711A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113382244A (zh) * 2021-08-13 2021-09-10 杭州博雅鸿图视频技术有限公司 编解码网络结构、图像压缩方法、装置及存储介质

Families Citing this family (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101448162B (zh) 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
US10554985B2 (en) 2003-07-18 2020-02-04 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
JP4476104B2 (ja) * 2004-04-22 2010-06-09 三洋電機株式会社 符号化回路
US20060234672A1 (en) * 2005-04-15 2006-10-19 Adler Robert M Geographically specific picture telephone advisory alert broadcasting system
US8074248B2 (en) 2005-07-26 2011-12-06 Activevideo Networks, Inc. System and method for providing video content associated with a source image to a television in a communication network
US8155195B2 (en) * 2006-04-07 2012-04-10 Microsoft Corporation Switching distortion metrics during motion estimation
US20070268964A1 (en) * 2006-05-22 2007-11-22 Microsoft Corporation Unit co-location-based motion estimation
DE102006043707A1 (de) * 2006-09-18 2008-03-27 Robert Bosch Gmbh Verfahren zur Datenkompression in einer Videosequenz
WO2008044916A2 (en) * 2006-09-29 2008-04-17 Avinity Systems B.V. Method for streaming parallel user sessions, system and computer software
US8213509B2 (en) 2006-10-06 2012-07-03 Calos Fund Limited Liability Company Video coding on parallel processing systems
FR2907989B1 (fr) * 2006-10-27 2009-01-16 Actimagine Sarl Procede et dispositif d'optimisation de la compression d'un flux video
KR100968204B1 (ko) * 2007-01-11 2010-07-06 전자부품연구원 다시점 비디오 코덱에서의 영상 예측 방법 및 이를 위한프로그램을 기록한 컴퓨터로 판독 가능한 기록매체
EP3145200A1 (en) 2007-01-12 2017-03-22 ActiveVideo Networks, Inc. Mpeg objects and systems and methods for using mpeg objects
US9826197B2 (en) 2007-01-12 2017-11-21 Activevideo Networks, Inc. Providing television broadcasts over a managed network and interactive content over an unmanaged network to a client device
US8265157B2 (en) 2007-02-07 2012-09-11 Lsi Corporation Motion vector refinement for MPEG-2 to H.264 video transcoding
US8711926B2 (en) * 2007-02-08 2014-04-29 Qualcomm Incorporated Distortion estimation for quantized data
JP4901772B2 (ja) * 2007-02-09 2012-03-21 パナソニック株式会社 動画像符号化方法及び動画像符号化装置
US8160150B2 (en) * 2007-04-10 2012-04-17 Texas Instruments Incorporated Method and system for rate distortion optimization
US8619874B2 (en) * 2007-04-13 2013-12-31 Apple Inc. Method and system for video encoding and decoding
WO2008147565A2 (en) * 2007-05-25 2008-12-04 Arc International, Plc Adaptive video encoding apparatus and methods
US20090074084A1 (en) * 2007-09-18 2009-03-19 David Drezner Method and System for Adaptive Preprocessing for Video Encoder
CN101855910B (zh) 2007-09-28 2014-10-29 杜比实验室特许公司 视频压缩和传送技术
US8798152B2 (en) * 2008-09-11 2014-08-05 General Instrument Corporation Method and apparatus for fast motion estimation
US8363727B2 (en) 2008-09-30 2013-01-29 Microsoft Corporation Techniques to perform fast motion estimation
US8503527B2 (en) 2008-10-03 2013-08-06 Qualcomm Incorporated Video coding with large macroblocks
US8619856B2 (en) * 2008-10-03 2013-12-31 Qualcomm Incorporated Video coding with large macroblocks
WO2010046854A1 (en) * 2008-10-22 2010-04-29 Nxp B.V. Device and method for motion estimation and compensation
WO2010050089A1 (ja) * 2008-10-29 2010-05-06 パナソニック株式会社 動画像圧縮符号化における符号化処理方法及び符号化処理装置
US8462849B2 (en) * 2008-12-23 2013-06-11 General Instrument Corporation Reference picture selection for sub-pixel motion estimation
US20100232504A1 (en) * 2009-03-13 2010-09-16 The State of Oregon acting by and through the State Board of Higher Education on behalf of the Supporting region-of-interest cropping through constrained compression
WO2010119410A1 (en) * 2009-04-14 2010-10-21 Koninklijke Philips Electronics N.V. Key frames extraction for video content analysis
GB2469679B (en) 2009-04-23 2012-05-02 Imagination Tech Ltd Object tracking using momentum and acceleration vectors in a motion estimation system
KR101432777B1 (ko) * 2009-09-03 2014-08-22 에스케이텔레콤 주식회사 참조 이미지 기반 2차 예측을 통한 동영상 부호화 방법, 장치 및 기록 매체
KR101630688B1 (ko) * 2010-02-17 2016-06-16 삼성전자주식회사 움직임 예측 장치 및 방법과 영상 처리 장치
US9083984B2 (en) * 2010-03-19 2015-07-14 Texas Instruments Incorporated Adaptive coding structure and adaptive FCode determination in video coding
EP2553927B1 (fr) * 2010-03-31 2018-11-28 Orange Procedes et dispositifs de codage et de decodage d'une sequence d'images mettant en oeuvre une prediction par compensation de mouvement avant, et programme d'ordinateur correspondant
EP2599310B1 (en) * 2010-07-30 2018-04-04 Thomson Licensing Method and apparatus for measuring video quality
US8364009B2 (en) 2010-10-13 2013-01-29 Eldon Technology Limited Apparatus, systems and methods for a thumbnail-sized scene index of media content
WO2012051528A2 (en) 2010-10-14 2012-04-19 Activevideo Networks, Inc. Streaming digital video between video devices using a cable television system
CN102547262B (zh) * 2010-12-24 2016-08-17 盛乐信息技术(上海)有限公司 视频编码运动估计方法
KR20120088488A (ko) 2011-01-31 2012-08-08 한국전자통신연구원 시간적 움직임 벡터 저장 방법 및 그 장치
US8838680B1 (en) 2011-02-08 2014-09-16 Google Inc. Buffer objects for web-based configurable pipeline media processing
TWI466550B (zh) * 2011-02-23 2014-12-21 Novatek Microelectronics Corp 多媒體裝置及其移動偵測方法
KR101242560B1 (ko) * 2011-03-30 2013-03-19 한양대학교 산학협력단 탐색 영역 조정 장치 및 방법
EP2695388B1 (en) 2011-04-07 2017-06-07 ActiveVideo Networks, Inc. Reduction of latency in video distribution networks using adaptive bit rates
CN102193995B (zh) * 2011-04-26 2014-05-28 深圳市迅雷网络技术有限公司 一种建立多媒体数据索引、检索的方法及装置
US8681866B1 (en) 2011-04-28 2014-03-25 Google Inc. Method and apparatus for encoding video by downsampling frame resolution
US9106787B1 (en) 2011-05-09 2015-08-11 Google Inc. Apparatus and method for media transmission bandwidth control using bandwidth estimation
US8930340B1 (en) 2011-09-20 2015-01-06 Google Inc. Blending content in an output
US20130107960A1 (en) * 2011-11-02 2013-05-02 Syed Ali Scene dependent motion search range adaptation
TWI461066B (zh) 2011-11-03 2014-11-11 Ind Tech Res Inst 彈性調整估算搜尋範圍的移動估算方法及視差估算方法
US10409445B2 (en) 2012-01-09 2019-09-10 Activevideo Networks, Inc. Rendering of an interactive lean-backward user interface on a television
US9800945B2 (en) 2012-04-03 2017-10-24 Activevideo Networks, Inc. Class-based intelligent multiplexing over unmanaged networks
US9123084B2 (en) 2012-04-12 2015-09-01 Activevideo Networks, Inc. Graphical application integration with MPEG objects
US9185429B1 (en) 2012-04-30 2015-11-10 Google Inc. Video encoding and decoding using un-equal error protection
JP2015533051A (ja) * 2012-09-18 2015-11-16 ヴィド スケール インコーポレイテッド タイルおよびタイル群を使用した関心領域ビデオ符号化
JP5798539B2 (ja) * 2012-09-24 2015-10-21 株式会社Nttドコモ 動画像予測符号化装置、動画像予測符号化方法、動画像予測復号装置及び動画像予測復号方法
US9438928B2 (en) * 2012-11-05 2016-09-06 Lifesize, Inc. Mechanism for video encoding based on estimates of statistically-popular motion vectors in frame
US9172740B1 (en) 2013-01-15 2015-10-27 Google Inc. Adjustable buffer remote access
US9311692B1 (en) 2013-01-25 2016-04-12 Google Inc. Scalable buffer remote access
US9225979B1 (en) 2013-01-30 2015-12-29 Google Inc. Remote access encoding
US10275128B2 (en) 2013-03-15 2019-04-30 Activevideo Networks, Inc. Multiple-mode system and method for providing user selectable video content
WO2014197879A1 (en) 2013-06-06 2014-12-11 Activevideo Networks, Inc. Overlay rendering of user interface onto source video
US9294785B2 (en) 2013-06-06 2016-03-22 Activevideo Networks, Inc. System and method for exploiting scene graph information in construction of an encoded video sequence
US9219922B2 (en) 2013-06-06 2015-12-22 Activevideo Networks, Inc. System and method for exploiting scene graph information in construction of an encoded video sequence
CN108200439B (zh) * 2013-06-14 2020-08-21 浙江大学 提高数字信号变换性能的方法及数字信号变换方法和装置
US8879858B1 (en) * 2013-10-01 2014-11-04 Gopro, Inc. Multi-channel bit packing engine
KR102290964B1 (ko) * 2014-02-19 2021-08-18 삼성전자주식회사 적응적 서치 레인지를 이용한 비디오 인코딩 장치 및 그 방법
GB201405649D0 (en) * 2014-03-28 2014-05-14 Sony Corp Data encoding and decoding
US9788029B2 (en) 2014-04-25 2017-10-10 Activevideo Networks, Inc. Intelligent multiplexing using class-based, multi-dimensioned decision logic for managed networks
JP6440747B2 (ja) * 2014-06-27 2018-12-19 コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ Hevcでタイル化されたビデオ・ストリームに基づく関心領域の決定
US9769494B2 (en) * 2014-08-01 2017-09-19 Ati Technologies Ulc Adaptive search window positioning for video encoding
EP3007425A1 (en) * 2014-10-08 2016-04-13 Thomson Licensing Method and apparatus for detecting defects in digitized image sequences
WO2016202189A1 (zh) * 2015-06-14 2016-12-22 同济大学 图像编码及解码方法、图像处理设备、计算机存储介质
CN106254878B (zh) 2015-06-14 2020-06-12 同济大学 一种图像编码及解码方法、图像处理设备
WO2017052009A1 (ko) * 2015-09-24 2017-03-30 엘지전자 주식회사 영상 코딩 시스템에서 amvr 기반한 영상 코딩 방법 및 장치
EP3171595A1 (en) * 2015-11-18 2017-05-24 Thomson Licensing Enhanced search strategies for hierarchical motion estimation
US10368073B2 (en) * 2015-12-07 2019-07-30 Qualcomm Incorporated Multi-region search range for block prediction mode for display stream compression (DSC)
US9930357B2 (en) * 2016-03-03 2018-03-27 Uurmi Systems Pvt. Ltd. Systems and methods for motion estimation for coding a video sequence
CN106485731B (zh) * 2016-09-30 2019-01-22 哈尔滨工业大学 一种基于改进霍夫变换的图像位置配准方法
CN108419082B (zh) * 2017-02-10 2020-09-11 北京金山云网络技术有限公司 一种运动估计方法及装置
CN108205146B (zh) * 2017-12-26 2022-06-17 航天天绘科技有限公司 一种基于地面接收机的导航卫星快速寻星定轨方法
US10812823B2 (en) 2018-07-11 2020-10-20 Apple Inc. Global motion vector video encoding systems and methods
CN110365989B (zh) * 2019-07-15 2022-11-15 福州大学 一种面向硬件实现的视频编码帧间整像素搜索方法
CN110807790B (zh) * 2019-10-31 2022-06-03 智慧视通(杭州)科技发展有限公司 一种视频目标轨迹跟踪内容的图像数据抽取压缩方法
CN111462170B (zh) * 2020-03-30 2023-08-25 Oppo广东移动通信有限公司 运动估计方法、运动估计装置、存储介质与电子设备
CN113518227B (zh) * 2020-04-09 2023-02-10 于江鸿 数据处理的方法和系统
US11330296B2 (en) 2020-09-14 2022-05-10 Apple Inc. Systems and methods for encoding image data
CN114554207A (zh) * 2022-01-10 2022-05-27 上海洛塔信息技术有限公司 运动矢量约束范围确定方法、装置、设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002152760A (ja) * 2000-10-11 2002-05-24 Samsung Electronics Co Ltd ハイブリッド型高速動き推定方法及びその装置
JP2004241957A (ja) * 2003-02-05 2004-08-26 Sony Corp 画像処理装置および符号化装置とそれらの方法
JP2005136941A (ja) * 2003-10-10 2005-05-26 Sony Corp データ処理装置およびその方法と符号化装置

Family Cites Families (85)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0752953B2 (ja) 1987-02-25 1995-06-05 日本電信電話株式会社 動き補償符号化における動きベクトル評価方法
JPS63267080A (ja) 1987-04-24 1988-11-04 Nippon Telegr & Teleph Corp <Ntt> 映像信号伝送方式
US5379351A (en) * 1992-02-19 1995-01-03 Integrated Information Technology, Inc. Video compression/decompression processing and processors
JPH0556275A (ja) * 1990-08-30 1993-03-05 Sharp Corp 画像符号化装置及び画像復号装置
US5168356A (en) * 1991-02-27 1992-12-01 General Electric Company Apparatus for segmenting encoded video signal for transmission
ATE148607T1 (de) * 1991-09-30 1997-02-15 Philips Electronics Nv Bewegungsvektorschätzung, bewegungsbildkodierung- und -speicherung
JPH05137131A (ja) * 1991-11-13 1993-06-01 Sony Corp フレーム間動き予測方法
EP0547696B1 (fr) * 1991-12-18 1999-04-21 Laboratoires D'electronique Philips S.A.S. Système de transmission et/ou stockage de signaux correspondant à des images texturées
JP3068304B2 (ja) * 1992-01-21 2000-07-24 日本電気株式会社 動画像符号化方式および復号化方式
JPH06233279A (ja) 1993-02-01 1994-08-19 Matsushita Electric Ind Co Ltd 動き補償符号化装置
FI94306C (fi) 1993-07-15 1995-08-10 Nokia Technology Gmbh Menetelmä televisiokuvan pienten kuvasegmenttien liikevektoreiden määrittämiseksi
US5477272A (en) * 1993-07-22 1995-12-19 Gte Laboratories Incorporated Variable-block size multi-resolution motion estimation scheme for pyramid coding
US5495292A (en) * 1993-09-03 1996-02-27 Gte Laboratories Incorporated Inter-frame wavelet transform coder for color video compression
KR100292475B1 (ko) * 1993-12-08 2001-06-01 구자홍 디지탈 영상 흔들림 보상 장치
US6493658B1 (en) * 1994-04-19 2002-12-10 Lsi Logic Corporation Optimization processing for integrated circuit physical design automation system using optimally switched fitness improvement algorithms
US5650829A (en) * 1994-04-21 1997-07-22 Sanyo Electric Co., Ltd. Motion video coding systems with motion vector detection
US5594504A (en) * 1994-07-06 1997-01-14 Lucent Technologies Inc. Predictive video coding using a motion vector updating routine
US5684538A (en) * 1994-08-18 1997-11-04 Hitachi, Ltd. System and method for performing video coding/decoding using motion compensation
US6020925A (en) * 1994-12-30 2000-02-01 Daewoo Electronics Co., Ltd. Method and apparatus for encoding a video signal using pixel-by-pixel motion prediction
JPH0955941A (ja) * 1995-08-16 1997-02-25 Sony Corp 画像符号化方法、画像符号化装置、及び画像符号化データの記録装置
GB2305797B (en) * 1995-09-27 2000-03-01 Sony Uk Ltd Video data compression
JP3994445B2 (ja) * 1995-12-05 2007-10-17 ソニー株式会社 動きベクトル検出装置及び動きベクトル検出方法
US6957350B1 (en) * 1996-01-30 2005-10-18 Dolby Laboratories Licensing Corporation Encrypted and watermarked temporal and resolution layering in advanced television
KR100192270B1 (ko) * 1996-02-03 1999-06-15 구자홍 에이치디티브이 비데오 디코더 회로
US5768537A (en) * 1996-02-22 1998-06-16 International Business Machines Corporation Scalable MPEG2 compliant video encoder
EP0825778A3 (en) 1996-08-22 1998-06-10 Cirrus Logic, Inc. Method for motion estimation
JP3774954B2 (ja) 1996-10-30 2006-05-17 株式会社日立製作所 動画像の符号化方法
US5912991A (en) * 1997-02-07 1999-06-15 Samsung Electronics Co., Ltd. Contour encoding method using error bands
US6175592B1 (en) * 1997-03-12 2001-01-16 Matsushita Electric Industrial Co., Ltd. Frequency domain filtering for down conversion of a DCT encoded picture
US5947191A (en) 1997-05-07 1999-09-07 International Business Machines Electronics module heat sink with quick mounting pins
JP3226020B2 (ja) * 1997-05-28 2001-11-05 日本電気株式会社 動きベクトル検出装置
GB9712651D0 (en) * 1997-06-18 1997-08-20 Nds Ltd Improvements in or relating to encoding digital signals
US6188777B1 (en) * 1997-08-01 2001-02-13 Interval Research Corporation Method and apparatus for personnel detection and tracking
US6249318B1 (en) * 1997-09-12 2001-06-19 8×8, Inc. Video coding/decoding arrangement and method therefor
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
US6208692B1 (en) * 1997-12-31 2001-03-27 Sarnoff Corporation Apparatus and method for performing scalable hierarchical motion estimation
JP4016227B2 (ja) 1998-01-07 2007-12-05 ソニー株式会社 画像処理装置および方法、並びに記録媒体
US6501798B1 (en) * 1998-01-22 2002-12-31 International Business Machines Corporation Device for generating multiple quality level bit-rates in a video encoder
US6195389B1 (en) * 1998-04-16 2001-02-27 Scientific-Atlanta, Inc. Motion estimation system and methods
US6317460B1 (en) * 1998-05-12 2001-11-13 Sarnoff Corporation Motion vector generation by temporal interpolation
US6697427B1 (en) * 1998-11-03 2004-02-24 Pts Corporation Methods and apparatus for improved motion estimation for video encoding
US6081209A (en) * 1998-11-12 2000-06-27 Hewlett-Packard Company Search system for use in compression
US6983018B1 (en) * 1998-11-30 2006-01-03 Microsoft Corporation Efficient motion vector coding for video compression
US6418166B1 (en) * 1998-11-30 2002-07-09 Microsoft Corporation Motion estimation and block matching pattern
US6594313B1 (en) * 1998-12-23 2003-07-15 Intel Corporation Increased video playback framerate in low bit-rate video applications
JP3259702B2 (ja) * 1998-12-24 2002-02-25 日本電気株式会社 動画像可変ビットレート符号化装置および方法
US6483874B1 (en) * 1999-01-27 2002-11-19 General Instrument Corporation Efficient motion estimation for an arbitrarily-shaped object
DE69942157D1 (de) * 1999-05-13 2010-04-29 St Microelectronics Asia Adaptiver bewegungsschätzer
US6968008B1 (en) * 1999-07-27 2005-11-22 Sharp Laboratories Of America, Inc. Methods for motion estimation with adaptive motion accuracy
US7072398B2 (en) * 2000-12-06 2006-07-04 Kai-Kuang Ma System and method for motion vector generation and analysis of digital video clips
EP1107609A1 (en) * 1999-12-02 2001-06-13 STMicroelectronics S.r.l. Method of processing motion vectors histograms to detect interleaved or progressive picture structures
US6876703B2 (en) * 2000-05-11 2005-04-05 Ub Video Inc. Method and apparatus for video coding
US6650705B1 (en) * 2000-05-26 2003-11-18 Mitsubishi Electric Research Laboratories Inc. Method for encoding and transcoding multiple video objects with variable temporal resolution
US7023922B1 (en) * 2000-06-21 2006-04-04 Microsoft Corporation Video coding system and method using 3-D discrete wavelet transform and entropy coding with motion information
US8374237B2 (en) * 2001-03-02 2013-02-12 Dolby Laboratories Licensing Corporation High precision encoding and decoding of video images
US7457361B2 (en) * 2001-06-01 2008-11-25 Nanyang Technology University Block motion estimation method
US6987866B2 (en) * 2001-06-05 2006-01-17 Micron Technology, Inc. Multi-modal motion estimation for video sequences
US6996180B2 (en) * 2001-09-05 2006-02-07 Intel Corporation Fast half-pixel motion estimation using steepest descent
WO2003024116A1 (en) * 2001-09-12 2003-03-20 Koninklijke Philips Electronics N.V. Motion estimation and/or compensation
CN101448162B (zh) * 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
JP4070471B2 (ja) * 2002-01-25 2008-04-02 株式会社東芝 動画像符号化方法及び装置
JP3941921B2 (ja) 2002-01-25 2007-07-11 三菱電機株式会社 動画像符号化装置
KR100455119B1 (ko) * 2002-01-26 2004-11-06 엘지전자 주식회사 움직임 벡터 영역의 적응적 결정 방법
KR100846769B1 (ko) * 2002-02-19 2008-07-16 삼성전자주식회사 고정 연산량을 갖는 동영상 부호화 방법 및 그 장치
US7239721B1 (en) * 2002-07-14 2007-07-03 Apple Inc. Adaptive motion estimation
KR20040008359A (ko) * 2002-07-18 2004-01-31 삼성전자주식회사 계층적 움직임 벡터 탐색을 이용한 움직임 추정 방법 및장치 및 그를 적용한 동영상 부호화 시스템
US7231090B2 (en) * 2002-10-29 2007-06-12 Winbond Electronics Corp. Method for performing motion estimation with Walsh-Hadamard transform (WHT)
KR100534207B1 (ko) * 2002-12-09 2005-12-08 삼성전자주식회사 비디오 부호화기의 움직임 추정기 및 그 방법
US7602851B2 (en) * 2003-07-18 2009-10-13 Microsoft Corporation Intelligent differential quantization of video coding
US7499495B2 (en) * 2003-07-18 2009-03-03 Microsoft Corporation Extended range motion vectors
KR20050061762A (ko) * 2003-12-18 2005-06-23 학교법인 대양학원 부호화 모드 결정방법, 움직임 추정방법 및 부호화 장치
US7889792B2 (en) * 2003-12-24 2011-02-15 Apple Inc. Method and system for video encoding using a variable number of B frames
KR100866482B1 (ko) * 2004-01-29 2008-11-03 삼성전자주식회사 감시 시스템 및 그 사용 방법
KR100586882B1 (ko) * 2004-04-13 2006-06-08 삼성전자주식회사 모션 스케일러빌리티를 지원하는 코딩 방법 및 장치
KR100580194B1 (ko) * 2004-06-11 2006-05-16 삼성전자주식회사 비트 정밀도를 낮춘 부화소 움직임 추정방법 및 장치
JP4410039B2 (ja) 2004-06-11 2010-02-03 シャープ株式会社 動き検出装置および動き検出方法、画像処理装置
US20060002471A1 (en) * 2004-06-30 2006-01-05 Lippincott Louis A Motion estimation unit
CN101099394B (zh) * 2004-11-04 2010-08-18 汤姆森特许公司 用于视频编码器中b帧的快速模式决策的方法和装置
US20060120455A1 (en) * 2004-12-08 2006-06-08 Park Seong M Apparatus for motion estimation of video data
JP4501676B2 (ja) * 2004-12-22 2010-07-14 日本電気株式会社 動画像圧縮符号化方法と動画像圧縮符号化装置並びにプログラム
US20070171978A1 (en) * 2004-12-28 2007-07-26 Keiichi Chono Image encoding apparatus, image encoding method and program thereof
US20060233258A1 (en) * 2005-04-15 2006-10-19 Microsoft Corporation Scalable motion estimation
TWI271106B (en) * 2005-10-25 2007-01-11 Novatek Microelectronics Corp Apparatus and method for motion estimation supporting multiple video compression standards
US8155195B2 (en) * 2006-04-07 2012-04-10 Microsoft Corporation Switching distortion metrics during motion estimation
US20070268964A1 (en) * 2006-05-22 2007-11-22 Microsoft Corporation Unit co-location-based motion estimation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002152760A (ja) * 2000-10-11 2002-05-24 Samsung Electronics Co Ltd ハイブリッド型高速動き推定方法及びその装置
JP2004241957A (ja) * 2003-02-05 2004-08-26 Sony Corp 画像処理装置および符号化装置とそれらの方法
JP2005136941A (ja) * 2003-10-10 2005-05-26 Sony Corp データ処理装置およびその方法と符号化装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113382244A (zh) * 2021-08-13 2021-09-10 杭州博雅鸿图视频技术有限公司 编解码网络结构、图像压缩方法、装置及存储介质
CN113382244B (zh) * 2021-08-13 2022-01-04 杭州博雅鸿图视频技术有限公司 编解码网络结构、图像压缩方法、装置及存储介质

Also Published As

Publication number Publication date
WO2007117711A2 (en) 2007-10-18
JP5873536B2 (ja) 2016-03-01
JP5785285B2 (ja) 2015-09-24
KR101344200B1 (ko) 2013-12-20
CN101416524A (zh) 2009-04-22
US20070237232A1 (en) 2007-10-11
JP2013048476A (ja) 2013-03-07
KR20090003300A (ko) 2009-01-09
WO2007117711A3 (en) 2007-12-06
US8494052B2 (en) 2013-07-23
JP5535618B2 (ja) 2014-07-02
CN101416524B (zh) 2011-03-09
JP2009533901A (ja) 2009-09-17
EP2005759A4 (en) 2011-09-28
EP2005759A2 (en) 2008-12-24
JP2014147072A (ja) 2014-08-14

Similar Documents

Publication Publication Date Title
JP5873536B2 (ja) 動き予測検索範囲及び拡張動きベクトルの範囲の動的選択
US10687075B2 (en) Sub-block transform coding of prediction residuals
US8155195B2 (en) Switching distortion metrics during motion estimation
US8249145B2 (en) Estimating sample-domain distortion in the transform domain with rounding compensation
US7602851B2 (en) Intelligent differential quantization of video coding
US20070268964A1 (en) Unit co-location-based motion estimation
JP2013502140A (ja) 動きベクトルの正確度の調節を利用した映像符号化、復号化方法及び装置
KR100632072B1 (ko) 동화상 압축 부호화장치 및 모션벡터 검출방법
JP5598199B2 (ja) 動画像符号化装置
JPH11513873A (ja) ブロック・ベースのコード化システムにおいてコード化モードを選択するための装置および方法
JP5358485B2 (ja) 画像符号化装置
KR102111437B1 (ko) 인트라 모드를 이용한 쿼터 픽셀 해상도를 갖는 영상 보간 방법 및 장치
KR101934840B1 (ko) 인트라 모드를 이용한 쿼터 픽셀 해상도를 갖는 영상 보간 방법 및 장치
JP5298082B2 (ja) 適応的に直交変換係数の走査順序を決定する符号化装置及び復号装置
KR20190004247A (ko) 인트라 모드를 이용한 쿼터 픽셀 해상도를 갖는 영상 보간 방법 및 장치
KR20190004246A (ko) 인트라 모드를 이용한 쿼터 픽셀 해상도를 갖는 영상 보간 방법 및 장치
KR20150083828A (ko) 인트라 모드를 이용한 쿼터 픽셀 해상도를 갖는 영상 보간 방법 및 장치

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150527

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150901

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150903

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151127

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: 20151217

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160115

R150 Certificate of patent or registration of utility model

Ref document number: 5873536

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees