JP2010508706A - ビデオシーケンスフレームを分解する方法 - Google Patents

ビデオシーケンスフレームを分解する方法 Download PDF

Info

Publication number
JP2010508706A
JP2010508706A JP2009534686A JP2009534686A JP2010508706A JP 2010508706 A JP2010508706 A JP 2010508706A JP 2009534686 A JP2009534686 A JP 2009534686A JP 2009534686 A JP2009534686 A JP 2009534686A JP 2010508706 A JP2010508706 A JP 2010508706A
Authority
JP
Japan
Prior art keywords
wedges
block
blocks
motion vector
dimensions
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
JP2009534686A
Other languages
English (en)
Other versions
JP5108894B2 (ja
Inventor
ムケルジー・デバーガ
リュー・サム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of JP2010508706A publication Critical patent/JP2010508706A/ja
Application granted granted Critical
Publication of JP5108894B2 publication Critical patent/JP5108894B2/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/57Motion estimation characterised by a search window with variable size or shape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Abstract

ビデオシーケンスフレームのブロック122〜126を分解する方法300において、ブロック122〜126の寸法の一方又は双方が所定の最小寸法に等しいか否かについて判断される。寸法の一方又は双方が所定の最小寸法に等しいことに応じて、ブロック122〜126の動きベクトル132が送出される。寸法の双方が所定の最小寸法よりも大きいことに応じて、ブロック122〜126の動きベクトル132が求められ、ブロック122〜126が2つのウェッジ130a、130bに区画され、ブロック122〜126が4つのN/2×N/2サブブロック122〜126に分割され、これらのステップは、寸法の一方又は双方が所定の最小寸法に等しくなるまで、4つのN/2×N/2サブブロック122〜126のそれぞれに対して繰り返される。
【選択図】図3A

Description

本発明は、ビデオシーケンスフレームを分解する方法に関する。
通常、ビデオシーケンスの時間変動は、カメラ又は物体の動きによって生じる。
この動きの補償が利用可能である場合、比較的コンパクトな動き情報で、ビデオ画像予測シーケンスの改善も可能である。これによって、ビデオ圧縮アルゴリズムは、許容可能な品質のレベルで、ビデオシーケンスを送信するのに必要なデータ量を大幅に削減することが可能になる。
国際ビデオ符号化標準規格H.264、MPEG−4パート10、又はアドバンスビデオ符号化(Advance Video Coding:AVC)のもとでは、符号化プロセスは、16×16ピクセルのマクロブロックの単位を使用して行われる。
加えて、動き補償は、通常、4分木分解でマクロブロックを正方形又は長方形のサブマクロブロックに区画することによって行われる。
この動き補償技法では、サイズN×Nの各リーフ(leaf)レベルブロックが、異なる動きベクトル及び符号化モードに関連付けられる。
その上、残差は、適切な変換、並びにその後に続く量子化及びエントロピー符号化を使用して符号化される。
従来の技法は、カメラ又は物体の動きの補償において、それ以前の技法を上回る改良を与えてきた。
しかしながら、従来の4分木分解は、正方形又は長方形のマクロブロック及びサブマクロブロックに制限されるので、マクロブロックの形状は、通常、移動物体の形状の輪郭に対応していない。
マクロブロック及びサブマクロブロックの固定した形状のため、同じマクロブロックが、異なる動きを有するいくつかの領域を含む状況では、符号化効率は大幅に低減される。
本発明にかかる方法は、ビデオシーケンスフレームを分解する方法(300)であって、前記ビデオシーケンスフレームは、複数のブロック(122〜126)によって表され、前記複数のブロック(122〜126)の少なくとも1つのブロックについて、(a)前記少なくとも1つのブロックの寸法の一方又は双方が所定の最小寸法に等しいか否かを判断すること(304)と、(b)前記寸法の一方又は双方が前記所定の最小寸法に等しくなることに応じて、前記ブロック(122〜126)の動きベクトル(132)を送出すること(306)と、(c)前記寸法の双方が前記所定の最小寸法よりも大きくなることに応じて、(i)前記ブロック(122〜126)の動きベクトル(132)を求めること(308)と、(ii)前記ブロック(122〜126)を2つのウェッジ(130a、130b)に区画する(partitioning)こと(308)であって、前記ウェッジ(130a、130b)のそれぞれは、異なる動きベクトル(132)に関連付けられる、区画すること(308)と、(iii)前記ブロック(122〜126)を4つのN/2×N/2サブブロック(122〜126)に分割すること(308)と、(iv)前記寸法の一方又は双方が前記所定の最小寸法に等しくなるまで、前記4つのN/2×N/2サブブロックのそれぞれに対してステップ(a)〜(c)を繰り返すこととを含む。
本発明の特徴は、図面に関連した以下の説明から当業者に明らかになるであろう。
本発明の一実施形態によるビデオ符号化システムの簡単化した機能ブロック図である。 本発明の一実施形態による、エンコーダがマクロブロックを分解することができる方法の機能ブロック図である。 本発明の一実施形態による連続的なウェッジの例を示す。 本発明の一実施形態による離散的なウェッジの例を示す。 本発明の一実施形態による、図1Aに示すビデオ符号化システムのブロック図である。 本発明の一実施形態による、ビデオシーケンスフレームを分解する方法のフロー図を示す。 本発明の一実施形態による、ビデオシーケンスフレームを分解する方法のフロー図を示す。 本発明の一実施形態による、ビデオシーケンスフレームを分解する方法のフロー図を示す。 本発明の一実施形態による、分解されたビデオシーケンスフレームを処理する方法のフロー図を示す。 本発明の一実施形態による、ブロックを符号化する方法のフロー図を示す。 本発明の別の実施形態による、ブロックを符号化する方法のフロー図を示す。
簡単にするために且つ例示を目的として、本発明の一例示の実施形態を主に参照することによって本発明を説明する。
以下の説明では、本発明の徹底した理解を提供するために、多数の具体的な詳細が述べられる。
しかしながら、これらの具体的な詳細に限定されることなく本発明が実施されうることは、当業者には明らかであろう。
それ以外の場合には、本発明を不必要に不明瞭にしないように、既知の方法及び構造は詳細に説明されていない。
本明細書では、ビデオコーデックの残差およびレート歪効率等の1つ又は複数のメトリックを向上させるための方法及びシステムが開示される。
より詳細には、本明細書で開示される方法及びシステムは、マクロブロックをサブブロックに区画するだけでなく、適切な場合にはそれらのブロックをウェッジレット(wedgelet)にも区画する技法を用いる。
ウェッジレット又はウェッジは、ブロック内の任意の合理的に適した且つ所望のロケーションに形成することができ、縦の線及び横の線に制限されないので、ブロックと比較して、画像のエッジを表す際に比較的効率が良い。
加えて、異なる動き補償を特定のブロックの異なるウェッジに使用して、ブロック内の動作をより正確に補償することができ、したがって、残差、レート歪効率等を向上させることができる。
また、本明細書では、ブロックを区画すること(partitioning)に関連付けられる計算複雑度を大幅に削減する方法及びシステムも開示される。
換言すれば、本明細書で開示される方法及びシステムは、ブロックが区画される箇所を選択する比較的高速で且つ計算複雑度の少ない方法を可能にする一方、それにもかかわらず、残差を実質的に最小にし、且つ/又は、レート歪効率を実質的に最大にすることを提供する。
まず図1を参照して、本発明の一例によるビデオ符号化システム102の簡単化した機能ブロック図100が示されている。
以下の本明細書では、ビデオ符号化システム102は、特定の特徴を含むものとして特に参照されるが、ビデオ符号化システム102は、追加のコンポーネントを含むことができ、本明細書で説明されるそれらのコンポーネントのいくつかは、ビデオ符号化システム102の範囲から逸脱することなく削除及び/又は変更することができることが理解されるべきである。
図1Aに示すように、ビデオ符号化システム102は、エンコーダ112、量子化器114、及びエントロピー符号化器116を含む。
作動中、ビデオ符号化システム102は、ビデオソース110からビデオコンテンツを受信する。
ビデオソース110には、データストレージデバイス、ネットワーク、インターネット、別個のコンピューティングデバイス等の任意の合理的に適切なソース(source)が含まれ得る。
加えて、ビデオコンテンツには、アナログビデオ又はデジタルビデオが含まれ得る。
以下の本明細書でより詳細に説明されるように、ビデオ符号化システム102は、一般に、ビデオソース110から受信されたビデオコンテンツに対してさまざまな符号化機能を実行し、それによって、符号化ビデオ118を出力する。
或る点について、ビデオ符号化システム102は、ビデオコンテンツに対して動き推定オペレーション又は動き補償オペレーションを実行することができる。
一般的に言えば、動き推定は、ビデオシーケンスから動き情報を抽出するのに使用される一組の技法を指す。
MPEG標準規格は、順方向予測、逆方向予測、又は平均といった動き補償のタイプに応じて、1つのマクロブロック当たり1つ又は2つの動きベクトルを提供することによって動き情報を表す。
加えて、動き推定は、マクロブロックの最適な動きベクトル又はほぼ最適な動きベクトルを見つけるプロセスも含み得る。
例として、エンコーダ112は、第1の時刻にサンプリングされた現フレームにおけるマクロブロックからのビデオコンテンツの動きを、第2の時刻にサンプリングされた基準フレームにおける同様のサイズのマクロブロックで推定することができる。
この第2のサンプル時刻は、現フレームのサンプル時刻よりも前とすることができる。
ビデオコンテンツの動きを推定する際に、図1Bに関して以下で本明細書でより詳細に説明されるように、エンコーダ112は、ビデオコンテンツをシーケンシャルなフレームに分解することができ、それらのシーケンシャルなフレームをさまざまなサイズのブロック及びさまざまな位置のウェッジにさらに分解することができる。
ブロック及びウェッジのロケーション及びサイズは、たとえば、フレームに含まれる物体のエッジに基づくことができる。
加えて、エンコーダ112は、さまざまなサイズのブロック及びさまざまな位置のウェッジの動きベクトル及び残差(予測誤差)を計算及び符号化することができる。
エンコーダ112は、動きベクトルを計算することができる。動きベクトルは、現在のマクロブロックと、照合された先行マクロブロックとの間の関係を識別する。
たとえば、動きベクトルは、第1のマクロブロックと第2のマクロブロックとの間のピクセルの位置の変化を識別することになる。
加えて、ブロック及びウェッジのそれぞれは、異なる動きベクトル及び符号化モードに関連付けられ得る。
エンコーダ112は、先に符号化されたフレームからの動きに基づく予測後、又は、現フレームのすでに符号化された部分からのイントラ予測後のいずれかで取得された残差も求めることができる。
この残差も、適切な変換、並びにその後に続く量子化及びエントロピー符号化を使用して符号化することができる。
ウェッジに区画されたブロックの場合、ウェッジを結合するブロックベースの変換を使用して残差を符号化することもできるし、個々のウェッジについてのより適切な形状適応型変換(shape-adaptive transform)を使用して残差を符号化することもできる。
一般的に言えば、動きベクトルとは、照合マクロブロックの任意のピクセルの座標に追加されるときに、現マクロブロックの座標を提供する値である。
動き推定手順はマクロブロックに基づくベクトルを提供するので、通常ならばピクセル単位で行われるさらなるすべての計算は、マクロブロック単位で行われる。
したがって、この動き推定方法が必要とする計算能力は、他のピクセルごとの近似技法よりも少ない。
次に図1Bを特に参照して、本発明の一例による、エンコーダ112がマクロブロック122を分解することができる方法の機能ブロック図120が示されている。
機能ブロック図120の以下の説明は、マクロブロック122を分解することができるさまざまな異なる方法の一方法にすぎないことが理解されるべきである。
加えて、マクロブロック122を分解する方法は、マクロブロック122に含まれるピクセルのさまざまな特性に依存する場合があり、したがって、マクロブロック122ごとに変化することも理解されるべきである。
エンコーダ112は、ビデオコンテンツを複数のフレームに事前に分解しておくことができる。加えて、エンコーダ112は、複数のフレームの少なくとも1つを複数のマクロブロック112に事前に分解しておくことができる。
マクロブロック112は、H.264、MPEG−4パート10、及びAVCで標準的なように、たとえば、それぞれ16×16ピクセルを含むことができる。
エンコーダ112は、マクロブロック122のいくつか又はすべてを8×8ピクセルのサブブロック124のセットにさらに分解することができる。
エンコーダ112は、4分木分解技法で知られているように、8×8ピクセルのサブブロック124のいくつか又はすべてを4×4ピクセルのサブブロック126にさらに分解することができる。
一般的に言えば、エンコーダ112は、マクロブロック122に含まれる移動物体の輪郭形状に基づいてどのマクロブロック122のどのセクションをさらに分解すべきかを判断することができる。
従来、マクロブロック122の分割は、正方形及び長方形に限られており、したがって、ブロック122〜126の形状は、通常、移動物体の輪郭形状に正確に対応していない。
したがって、同じブロック122〜126内の異なるセクションが異なる動きベクトルを有する場合に、符号化効率は低減される。
一例によれば、以下の本明細書でより詳細に説明するように、ブロック122〜126の1つ又は複数は、ウェッジレット130a及び130bの使用によってさらに分解することができる。ウェッジレット130a及び130bは、図1Bに示すように、ブロック122〜126を通るスライス線128の挿入によって形成される。
より詳細には、エンコーダ112は、画像の幾何学的構造をより正確に捉えることに向けて、マルチスケールウェッジレット130a、130bのフレームワークを用いることができ、それによって、従来の技法を上回って符号化効率を改善することができる。
ウェッジ130a、130bは、任意のサイズのブロック122〜126に挿入可能であるので、マルチスケールとみなされる。
例として、エンコーダ112は、ブロック122〜126をスライス線128に沿って2つのウェッジ130a、130bに分割することによって、N×Nブロック122〜126にウェッジを挿入することができる。
スライス線128は、方位角θを有することができ、ブロック122〜126の中心oから距離rに配置され得る。
スライス線128及びウェッジ130a、130bを有するブロック122〜126の描写は、図1C及び図1Dに提供されている。
図1Cに示すスライス線128は連続的であり、図1Dに示すスライス線128は離散的である。
たとえば、図1Cに示す連続的なスライス線128は、スライス線128の実際のロケーションを示し、図1Dに示すスライス線128は、スライス線128上に配置されたピクセルがウェッジ130a、130bのどちら側に入るのかに基づいた、スライス線128の離散化されたバージョンを示している。
スライス線128は、スライス線128がピクセルのどちら側に配置されるのかを決定することによって、スライス線128(図1C)に沿ったピクセルのそれぞれについて離散化することができる。
スライス線128がピクセルの中心に直接配置される状況では、スライス線128は、その選択がデコーダと一貫している限り、ピクセルのいずれの側にも配置され得る。
エンコーダ112は、スライス線128がブロック122〜126のどの位置も通るようにスライス線128を位置づけることができる。
エンコーダ112は、方位角θ及び距離rの空間を適切な間隔でサンプリングすることによって、N×Nブロック122〜126におけるすべてのウェッジ区画130a、130bのセットを生成することができ、N個のエントリーの辞書を与えることができる。
このN個のエントリーの辞書は、方位角θ及び距離rの増分精度(increment precision)等の設計パラメータに依存し得る。
理想的には、すべての可能なブロックの組み合わせのすべての可能なウェッジ130a、130bのセグメント化は、最良のウェッジ130a、130bを求めるように予測されるべきである。
しかしながら、ブロック122〜126の区画ストラテジーの数は極めて大きい場合があるので、本発明の一例によれば、最良の区画ストラテジーの高速検索方法を用いることができる。
より詳細には、ブロック122〜126内のすべてのウェッジ区画の可能性を試験する代わりに、たとえば、適切なブロックパーティションのより小さなサブセットを任意のスケールで事前に選択することができる。
一例によれば、N×Nブロック内において、キャニー(Canny)、ゾーベル(Sobel)等のエッジ検出アルゴリズムを使用し、その後にしきい値処理オペレーションを続けることができる。
これによって、エッジを示すブロックと同じサイズの2次元論理アレイが与えられる。
次に、肯定応答を有するピクセルは、(x,y)対を与えるユークリッドピクセル座標にマッピングされ、(最小二乗誤差に基づく)線形回帰がこれらの点に適用される。
その結果は、直線の一般式y=ax+b又はx=c(回帰が関数でないとき)となる。
この直線は、極座標に変換され、ウェッジ区画に関連付けられる。
(x,y)をブロックの中心とし、Nをブロックサイズとし、θを、ax+y+bが正であるときはθ=0度となり、そうでないときはθ=180度となるようなax+y+bの符号に依存するオフセットとする。
この場合、r及びθの開始点(シード)が見つけられる。
Figure 2010508706
及び
Figure 2010508706
これら回帰の結果をx=c内にケーシング(case)して、
Figure 2010508706
及び
Figure 2010508706
を取得することができる。
ここで、θは、N/2+c>0である場合にはθ=90度であり、そうでない場合にはθ=270度であるようなN/2−cの符号に依存するオフセットである。
開始シードrseed及びθseedから、パラメータr及びθ=90度を[rseed−Δr,rseed+Δr]及び[θseed−Δθ,θseed+Δθ]の範囲内において増分δr及びδθでそれぞれわずかに変化させることによって、ウェッジ130a、130bのセットを事前に選択することができる。
別の例によれば、ブロック122〜126内に複数の移動エッジ又は移動テクスチャがあるとき等、一定の場合には、カノニカル4分木(canonical quadtree)区画を行うこともできる。
いずれの点に関しても、動き推定及び区画検索は、事前に選択されたウェッジのセットに制限することができ、これによって、ウェッジ130a、130bを検索する際の計算要件を大幅に削減することができる。
ウェッジ130a、130bを検索する際の計算要件は、本発明のさらなる例によれば、第2の比較的効率的な検索ストラテジーを実施することによって大幅に削減することができる。
この第2の比較的効率的な検索ストラテジーは、ブロック122〜126のいずれかのウェッジ130a、130bの1つがゼロ動きベクトルを有するか否かを判断することを含む。
ウェッジ130a、130bの対におけるウェッジ130a、130bの1つは、たとえば、ビデオキャプチャデバイスが静止しており、物体が静止した背景の前を移動している状況では、ゼロ動きベクトルを有することができる。
これらの場合、ゼロ動きベクトルを有するそれらのウェッジ130a、130bの予測誤差は、比較的小さい。
したがって、十分大きなウェッジについて十分小さな予測誤差を有するウェッジ130a、130bの決定を通じて、大幅に最適化されたウェッジ130a、130bを求めることができる。
加えて、マスキングされた動き検索によって、残りのウェッジ130a、130bの動きベクトル132を容易に計算することができる。ここで、対象となる領域は、ウェッジ130a、130bに含まれないブロック122〜126の部分のそれらのピクセルのみを含むバイナリマスクによって規定される。
或る点に関して、この例は、ウェッジにされたブロックについて単一の動きベクトルを送出することができるので、動き情報を搬送するレートを削減することができる。
さらなる例によれば、ウェッジ130a、130bの1つが、ゼロ動きベクトルを有し、且つ、予測残差が、形状適応型変換のすべての変換係数が0に量子化されるという目標品質と比較して十分小さい状況では、ウェッジ130a、130bは、従来のビデオ符号化の「SKIP(スキップ)」モードと類似の方法で取り扱われ得る。
さらに別の例によれば、ウェッジ130a、130bの1つの動きベクトルは、現ブロック122〜126の空間的近傍からの比較的小さな動きベクトルのセットに制限することができる。
この例では、エンコーディングは、上述したゼロ動きベクトルの場合と同様に進む。ここで、すべての可能な予測判断材料(predictor)の動きベクトルは、最良のウェッジを求めて試験される。
さらなる例によれば、ゼロ動きベクトルを有するウェッジ130a、130bについて予測残差を0に量子化することができ、それによって、これらのウェッジ130a、130bの動き情報を搬送するレートを削減することができる。
図1Bを再び参照して、エンコーダ112は、N×Nブロック122〜126のいずれをもウェッジ130a、130bに分割することができる。
エンコーダ112は、さらに、ウェッジ130a、130bのそれぞれについて動き推定を独立に行うことができ、それによって、ウェッジ130a、130bを含むブロック122〜126のそれぞれについて2つの動きベクトル132を生成することができる。
したがって、動きベクトル132に関連付けられる残差のそれぞれを別々に符号化することもできるし、以下の本明細書で説明するように、それらの残差を結合して、単一の残差として符号化することもできる。
次に図2を参照して、一例によるビデオ符号化システム102のブロック図200が示されている。
ブロック図200の以下の説明は、ビデオ符号化システム202が構成され得るさまざまな異なる方法の一方法にすぎないことが理解されるべきである。
加えて、ビデオ符号化システム202は、追加のコンポーネントを含むことができること、及び、本明細書で説明するコンポーネントのいくつかは、ビデオ符号化システム202の範囲から逸脱することなく除去及び/又は変更され得ることが理解されるべきである。
ビデオ符号化システム102は、一般のコンピューティング環境を備えることができ、ビデオ符号化システム102のさまざまなオペレーションを制御するように構成されるコントローラ204を含む。
コントローラ204には、マイクロプロセッサ、マイクロコントローラ、特定用途向け集積回路(Application specific integrated circuit:ASIC)等が含まれ得る。
ビデオ符号化システム102のさまざまなコンポーネントを連結するように動作するシステムバス206によって、ビデオ符号化システム102のさまざまなコンポーネントへデータを送信することができる。
システムバス206は、いくつかのタイプのバス構造の任意のものを表す。これらのバス構造には、たとえば、メモリバス、メモリコントローラ、周辺バス、アクセラレーティッドグラフィックスポート、さまざまなバスアーキテクチャの任意のものを使用するプロセッサバス等が含まれる。
コマンド、命令、データ等の情報をビデオ符号化システム102に入力するのに、1つ又は複数の入力デバイス208を用いることができる。
入力デバイス208には、たとえば、ホストコンピュータ、キーボード、マウス、スキャナ、ディスクドライブ、着脱可能媒体、フラッシュドライブ等が含まれ得る。
また、1つ又は複数のビデオソース110も示されている。ビデオソース110には、入力デバイス208又は別個のデバイスが含まれ得る。
入力デバイス(複数可)208及びビデオソース(複数可)110またはこれらのいずれか(入力デバイス(複数可)208及び/又はビデオソース(複数可)110)は、たとえば、画像、画像のフレーム、ビデオフレーム、又はビデオ画像の表現(すなわち、符号フォーマットのビデオ画像。後の本明細書では、簡単にするために「ビデオ画像」として参照される)をビデオ符号化システム102に入力するのに使用することができる。
図示するように、入力デバイス(複数可)208及びビデオソース(複数可)は、システムバス206に連結されたインターフェース210を通じてコントローラ204に接続される。
しかしながら、入力デバイス(複数可)及びビデオソース(複数可)110は、パラレルポート、USBポート等の他の従来のインターフェース及びバス構造によって連結することもできる。
図示していないが、インターフェース210は、システムバス206を他のコンピュータシステムと連結するインターフェースとして動作することもできる。
コントローラ204は、システムバス206を通じてメモリ212に接続され得る。
一般的に言えば、メモリ212は、ビデオ符号化システム102の機能を提供するソフトウェア、アルゴリズム等のストレージを提供するように構成され得る。
例として、メモリ212は、オペレーティングシステム214、アプリケーションプログラム216、プログラムデータ218等を記憶することができる。
この点に関して、メモリ212は、DRAM、EEPROM,MRAM、フラッシュメモリ等の揮発性メモリ及び不揮発性メモリを組み合わせたものとして実施され得る。
加えて又は代替的に、メモリ212は、フロッピー(登録商標)ディスク、CD−ROM、DVD−ROM、他の光媒体又は磁気媒体等の着脱可能媒体からの読み出し及びそれらの着脱可能媒体への書き込みを行うように構成されるデバイスも備えることができる。
コントローラ204は、システムバス206を通じてエンコーダ112、量子化器114、及びエントロピー符号化器116にも接続され得る。
一例では、エンコーダ112、量子化器114、及びエントロピー符号化器116は、1つ又は複数の離散コンポーネントから成るハードウェアを備えることができる。
加えて又は代替的に、エンコーダ112、量子化器114、及びエントロピー符号化器116は、たとえば、メモリ212に記憶されたソフトウェアを備えることができる。
いずれの点に関しても、本明細書でより詳細に説明するように、コントローラ204は、エンコーダ112、量子化器114、及びエントロピー符号化器116を実施又は起動して、ビデオソース(複数可)から受信されたビデオコンテンツを符号化するように構成され得る。
コントローラ204は、エンコーダ112とは別個のコンポーネントを形成するものとして描かれ説明されてきたが、エンコーダ112の範囲から逸脱することなく、コントローラ204は、エンコーダ112の一部を成すことができ、この場合、エンコーダ112は、コントローラ204及び本明細書で説明したコントローラ204の機能を含む。
図2に示すように、エンコーダ112は、フレーム分解器220、ブロック分割器222、ウェッジ区画器224、動き推定器226、及び誤差計算機228を含む。
エンコーダ112に含まれるこれらの要素220〜230は、ソフトウェアモジュール、ハードウェアコンポーネント、又はそれらの組み合わせを備えることができる。
コントローラ204は、要素220〜230を実施又は起動して、ビデオシーケンスフレームを分解し、ビデオシーケンスフレームに含まれる動きを推定することができる。
加えて、コントローラ204は、量子化器114を実施又は起動して、ビデオシーケンスフレームの符号化された部分を量子化することができ、エントロピー符号化器116を実施又は起動して、符号化されたビデオシーケンスフレームをエントロピー符号化することができる。
その上、コントローラ204は、符号化されたビデオ118を、1つ又は複数のアダプタ232を通じてビデオ符号化システム102の外部へ送信又は別の方法で送出することができる。
第1の例では、符号化されたビデオ118は、内部ネットワーク、外部ネットワーク(インターネット)等のネットワークによって別のコンピューティングデバイスへ送出され得る。
第2の例では、符号化されたビデオ118は、ディスプレイ、プリンタ、ファクシミリマシン等の1つ又は複数の出力デバイスへ出力され得る。
次に図3Aを参照して、一例によるビデオシーケンスフレームを分解する方法300のフロー図が示されている。
方法300は、一般化された実例を表していること、及び、方法300の範囲から逸脱することなく、他のステップを追加することもできるし、既存のステップを除去、変更、又は再配列することもできることが当業者には明らかなはずである。
方法300の説明は、図2に示すブロック図200を参照して行われ、したがって、図2で引用された要素を参照する。
しかしながら、方法300は、ブロック図200で述べた要素に限定されるものではないことが理解されるべきである。
それどころか、方法300は、ブロック図200で述べたものとは異なる構成を有するシステムによって実施され得ることが理解されるべきである。
一般的に言えば、方法300を実施して、さまざまな状況のウェッジ130a、130bを含むように、4分木分解等の動き推定モデルを拡張することができ、それによって、ビデオコーデックの残差、レート歪効率等の1つ又は複数のメトリックを向上させることができる。
或る点に関して、ウェッジ130a、130bは、相対的により正確な移動物体のエッジ表現を提供するので、1つ又は複数のメトリックが向上され得る。
方法300において、ビデオ符号化システム102は、ビデオシーケンスフレーム301の形のビデオコンテンツ又はビデオシーケンスフレーム301を表すデータを受信することができる。
ステップ302において、コントローラ204は、エンコーダ112、より詳細にはフレーム分解器220を起動又は実施して、ビデオシーケンスフレーム301のそれぞれを、第1の寸法セットN×Nを有するマクロブロック122に分解することができる。
フレーム分解器220は、たとえば、4分木分解技法を用いて、図1Bに示すようにビデオシーケンスフレーム301を分解することができる。
ステップ304において、コントローラ204は、エンコーダ112、より詳細にはフレーム分解器220を起動又は実施して、マクロブロック122の第1の寸法セットの一方又は双方が所定の最小寸法(N)に等しいか否かを判断することができる。
この所定の最小寸法(N)は、エンコーダ112がマクロブロック122を分解することができる最小のリーフレベルのブロックサイズとして定義することができ、通常、4×4ピクセルである。
所定の最小寸法に等しい第1の寸法セットの一方又は双方を有するマクロブロック122のそれぞれについて、ステップ306に示すように、方法300は終了し得る。
換言すれば、それらのマクロブロック122は、その最小のリーフレベルのブロックサイズに到達しているので、それ以上さらにサブブロックに分解され得ない。
一方、マクロブロック122は、方法400(図4)に関して以下で示すように、さらに処理され得る。
所定の最小寸法に等しい第1の寸法セットの一方も双方も有しないマクロブロック122のそれぞれについて、コントローラ204は、エンコーダ112、より詳細には動き推定器226を起動又は実施して、マクロブロック122の動きベクトルを求めることができる。コントローラ204は、ステップ308に示すように、この動きベクトルをデコーダへ送出することができる。
加えて、ステップ308において、コントローラ204は、エンコーダ112、より詳細にはウェッジ区画器224を起動又は実施して、それらのマクロブロック122を2つのウェッジ130a、130bに区画することができる。
ウェッジ区画器224は、限られたスプライス(splice)のコードブックから最良のスライス線128を見つけて、マクロブロック122を2つのウェッジ130a、130bに分割することができる。
一例では、マクロブロック122をウェッジ130a、130bに区画する方法を求める際に、ウェッジ区画器224は、すべての可能なウェッジ130a、130bの組み合わせを評価して、どの組み合わせが大幅に最適化されたレート歪効率を与えるのかを判断することができる。
他の例では、ウェッジ区画器224は、上記で論述した最良の区画ストラテジーの高速検索方法の1つ又は複数を用いることができる。
別の例によれば、区画器224は、マクロブロック122を区画する際にバンド/ウェッジモデル(band and wedge model)を用いることができる。
画像が移動物体を含むとき、2つのケースが起こり得る。
ケース(1):先行(基準)フレームから現フレームにおいてアンカバード背景(uncovered background)を有するブロック122〜126。
ケース(2):先行(基準)フレームから現フレームにおいてアンカバード背景を有しないブロック。
ケース(1)では、たとえば、物体が左から右に移動している場合、これは、その物体の左エッジに位置するブロックについて当てはまる可能性がある。
この場合、区画器224は、バンドウェッジモデルを用いることができる。
バンド/ウェッジモデルのもとでは、2本の平行線が、ブロック122〜126を通る。
バンドの一方の側にある一方のウェッジ130aは、相対的に小さな予測誤差を有する動きベクトル132を有する。
バンドの他方の側にあるウェッジ130bは、異なる動きベクトル132を有するが、相対的に小さな予測誤差も与える。
ウェッジ132a、132b間のバンドは、アンカバード背景に対応するので、相対的に高い予測誤差を有する。
直線について上記で論述した極モデルを使用すると、バンドの平行線は、角度を固定し、中心からの距離のみを変更することによって取得され得る。
ケース(2)では、たとえば、物体が左から右に移動している場合、これは、その物体の右エッジに位置するブロックについて当てはまる可能性がある。
この場合、区画器224は、上記で論述したように、ブロック122〜126を2つのウェッジ130a、130bに区画することができる。
一例によれば、背景は、静止しているものと仮定することができる。
この例では、ケース1及びケース2におけるウェッジ130a、130bの1つは、ゼロ動きベクトルを有することができる。
したがって、ゼロ動きベクトルをチェックすることができ、ブロック122〜126の残差をしきい値と比較することができる。
誤差が、所望のエンコーディング品質と比較してゼロである十分大きなウェッジ130a、130bが存在する場合、ケース(1)又はケース(2)を保持していると仮定することができる。
加えて、最良の動きベクトルを求めてブロックの残りの部分を検索することができる。
最良の動きベクトルが一旦見つかると、誤差パターンをさらにチェックして、平行線を越えた箇所では誤差が小さくなる当該平行線を識別することができるか否かを判断することができる。
その上、ケース(1)を実行することができ、非ゼロ動きベクトルのウェッジ130a、130bのみの動きベクトルを送出することができ、バンドを符号化することができる。
一方、平行線を識別できない場合、ケース(2)を実行することができ、非ゼロ動きベクトルを有するウェッジ130a、130bを符号化して送出することができる。
さらなる例によれば、ゼロ動きベクトルの検索による第1の線区間が知られている場合、検索されるあらゆる候補動きベクトルについて、ウェッジ区画器224は、スライス線128に垂直な線上への投影の符号に注意することによって、その動きベクトルがケース(1)に属すべきか又はケース(2)に属すべきかを判断することができ、また、ケース(1)の場合には、平行線が幾何学的形状によって含まれるべきであり、その線の周りのみを検索することができる。
この例は、ウェッジ130a、130bを検索する際の複雑度をより良く減少させるために実行されうる。
加えて、ステップ308において、コントローラ204は、エンコーダ112、より詳細にはブロック分割器222を起動又は実施して、マクロブロック122を、第2の寸法セットを有する4つのサブブロック124に分割することができる。
換言すれば、N×Nマクロブロック122を、N/2×N/2寸法を有するように分割することができる。
加えて、ステップ304〜308をサブブロック124について繰り返すことができる。
次に図3B及び図3Cを参照して、一例による、ビデオシーケンスフレームを分解する方法350のフロー図が一括して示されている。方法350が、一般化された実例を表していること、及び、方法350の範囲から逸脱することなく、他のステップが追加され、既存のステップが除去、変更、又は再配列され得ることは、当業者には明らかなはずである。
方法350は、図3Aの方法300に関して上述したステップの多くを含んでいる。
したがって、それらのステップは、図3Bのステップ302〜308に関して本明細書では詳細に論述されない。
いずれにしても、ステップ308において、コントローラ204は、エンコーダ112、より詳細には動き推定器226及び誤差計算機228を起動又は実施して、ウェッジ130a、130bの最良の予測判断材料を求めることができる。
より詳細には、たとえば、動き推定器226は、インター予測判断材料(inter-predictor)を用いて、基準フレームに基づきウェッジ130a、130bのそれぞれの動きベクトルを求めることができる。
加えて又は代替的に、動き推定器226は、イントラ予測判断材料(intra-predictor)を用いて、近傍ブロックの選択されたピクセルに基づき動きベクトルを求めることもできる。
誤差計算機228は、インター予測判断材料及びイントラ予測判断材料の双方によって予測された動きベクトルの残差を計算することができ、動きベクトルのいずれが最小の残差を有するのかを判断することができる。
したがって、ステップ308において、一例によれば、最良のウェッジ130a、130bは、最小の残差を与える組み合わせを含むことができる。
別の例によれば、最良のウェッジ130a、130bは、大幅に最適化されたレート歪効率を与えるウェッジ130a、130bの組み合わせを含むことができる。
加えて、ステップ308において、コントローラ204は、エンコーダ112、より詳細には動き推定器226及び誤差計算機228を起動又は実施して、サブブロック124の最良の予測判断材料を求めることができる。
より詳細には、たとえば、動き推定器226は、インター予測判断材料を用いて、基準フレームに基づきサブブロック124のそれぞれの動きベクトルを求めることができる。
加えて又は代替的に、動き推定器226は、イントラ予測判断材料を用いて、近傍ブロックの選択されたピクセルに基づき動きベクトルを求めることもできる。
誤差計算機228は、インター予測判断材料及びイントラ予測判断材料の双方によって予測された動きベクトルの残差を計算することができ、動きベクトルのいずれが最小の残差を有するのかを判断することができる。
別の例によれば、誤差計算機228は、動きベクトルのいずれが、大幅に最適化されたレート歪効率に関連付けられているのかに基づいて、この計算を行うことができる。
ブロック分割器222及びウェッジ区画器224は、インター予測判断材料及びイントラ予測判断材料の一方又は双方を用いて、ウェッジ130a、130b及びサブブロック124を予測することができる。
加えて、エンコーダ112は、異なるインター予測判断材料及びイントラ予測判断材料を実施して、ウェッジ130a、130b及びサブブロック124を予測することもできる。
例として、エンコーダ112は、複数のインター予測判断材料及びイントラ予測判断材料を実施することができ、ウェッジ130a、130b及びサブブロック124のそれぞれについての最良のものを選択することができる。
ウェッジ130a、130b及びサブブロック124のそれぞれについての最良の予測判断材料には、たとえば、最小の残差又は最良のレート歪効率をもたらす予測判断材料が含まれ得る。
したがって、ステップ308において、その第1の寸法セットが所定の最小寸法を超えるマクロブロック122は、ウェッジ130a、130bへの区画及びサブブロック124への分割の双方が行われる。
加えて、マクロブロック122のそれぞれについての動きベクトルは、その動きベクトルの残差又はレート歪効率と共に求められる。
ステップ310において、コントローラ204は、エンコーダ112を起動又は実施して、マクロブロック122の動きベクトルのレート歪効率(RD)、ウェッジに区画されたマクロブロック122の動きベクトルのレート歪効率(RD)、及びサブブロック124の動きベクトルのレート歪効率(RD)を計算することができる。
例として、これらのレート歪効率は、
(5) J(p)=D(p)+λR(p)
によって計算することができる。
式(5)において、pは、全体的なマクロブロック区画ストラテジーを指す一方、R(p)は、ウェッジ130a、130b、動きベクトル及び残差の搬送において取得されるレートを指す。
換言すれば、R(p)は、搬送される1つのマクロブロック122当たりのビットを指す。
D(p)は、区画ストラテジーpに対応する歪(たとえば、平均二乗誤差(MSE)、差分絶対値和(SAD)等)である。
加えて、λは、ラグランジュ乗数である。ラグランジュ乗数は、レートと歪との間のトレードオフファクタとして定義することができる。
圧縮のため、エンコーダ112は、ビデオフレームを分解する際にどのマクロブロック区画ストラテジーが使用されたのかをデコーダに通知する。
B(p)が、pをエンコーディングするのに費やされたビット数であると仮定し、V(p)が、区画ストラテジーpに関連付けられる動きベクトル132及び区画ストラテジーpに関連付けられる残差補償Rres(p)をエンコーディングするのに費やされたビット数であると仮定すると、R(p)は、
(6) R(p)=V(p)+B(p)+Rres(p)
として定義することができる。
一般的に言えば、残差Rres(p)は、従来の変換ベースの符号化で圧縮され得る。
さらに、固定された量子化行列について、歪Dは、区画ストラテジーpと共に変化することはあまりない。
したがって、Dを一定とみなすと、次のコスト(cost)が取得される。
(7) J(p)=R(p)
ステップ312において、コントローラ204は、エンコーダ112を実施又は起動して、レート歪効率(RD)、(RD)及び(RD)を比較し、レート歪効率を大幅に最適化することができる。
レート歪効率(RD)が最良であると判断された場合、ステップ314に示すように、コントローラ204は、マクロブロック122の動きベクトルを符号化して送出することができ、ステップ306に示すように、方法350は終了し得る。
一方、レート歪効率(RD)が最良であるとコントローラ204が判断した場合、ステップ316に示すように、コントローラ204は、マクロブロック122をウェッジ130a、130bに区画することを選択することができる。
加えて、ウェッジ130a、130bに区画されたそれらのマクロブロック122について、ステップ306に示すように、方法300は終了し得、図4に関して以下の本明細書で論述するように、それらのマクロブロック122はさらに処理され得る。
加えて、レート歪効率(RD)が最良であると判断された場合、ステップ318に示すように、コントローラ204は、マクロブロック122をサブブロック124に分割することを選択することができる。
加えて、ステップ320において、コントローラ204は、エンコーダ112を再び起動又は実施して、サブブロック124の寸法が所定の最小寸法(N)に等しいか否かを判断することができる。
所定の最小寸法に等しい第2の寸法セットの一方又は双方を有するサブブロック124のそれぞれについて、ステップ306に示すように、方法350は終了し得る。
図3Cに示すように、所定の最小寸法に等しい第2の寸法セットの一方も双方も有しないサブブロック124のそれぞれについて、コントローラ204は、エンコーダ112、より詳細には動き推定器226を起動又は実施して、ステップ322に示すように、N/2×N/2サブブロック124の動きベクトルを求めることができ、コントローラ204は、それらの動きベクトルをデコーダへ送出することができる。
加えて、ステップ322において、コントローラ204は、エンコーダ112、より詳細にはウェッジ区画器224を起動又は実施して、それらのサブブロック124を2つのウェッジ130a、130bに区画することができる。
加えて、ステップ322において、コントローラ204は、エンコーダ112、より詳細にはブロック分割器222を起動又は実施して、サブブロック124を、第3の寸法セットを有するさらなる4つのサブブロック126に分割することができる。
換言すれば、N/2×N/2サブブロック124を、N/4×N/4寸法を有するように分割することができる。
したがって、ステップ322において、その第2の寸法セットが所定の最小寸法を超えるサブブロック124は、ステップ308に関して上記で論述したような方法で、ウェッジ130a、130bへの区画及びさらなるサブブロック126への分割の双方が行われる。
ステップ324において、コントローラ204は、エンコーダ112を起動又は実施して、ステップ310に関して上述した方法と同様の方法で、サブブロック124の動きベクトルのレート歪効率(RD)、ウェッジに区画されたサブブロック124の動きベクトルのレート歪効率(RD)、及びさらなるサブブロック126の動きベクトルのレート歪効率(RD)を計算することができる。
ステップ326において、コントローラ204は、エンコーダ112を実施又は起動して、レート歪効率(RD)、(RD)、及び(RD)を比較することができる。
レート歪効率(RD)が最良であると判断された場合、ステップ328に示すように、コントローラ204は、サブブロック124の動きベクトルを符号化して送出することができる。
一方、レート歪効率(RD)が最良であると判断された場合、ステップ330に示すように、コントローラ204は、サブブロック124をウェッジ130a、130bに区画することを選択することができる。
加えて、ウェッジ130a、130bに区画されたそれらのサブブロック124について、ステップ306に示すように、方法350は終了し得る。
レート歪効率(RD)が最良であると判断された場合、ステップ332に示すように、コントローラ204は、サブブロック124をさらなるサブブロック126に分割することを選択することができる。
加えて、ステップ334において、コントローラ204は、エンコーダ112を再び起動又は実施して、さらなるサブブロック126の寸法が所定の最小寸法(N)に等しいか否かを判断することができる。
所定の最小寸法に等しい第2の寸法セットの一方又は双方を有するさらなるサブブロック126のそれぞれについて、ステップ306に示すように、方法350は終了し得る。
一方、所定の最小寸法に等しい第2の寸法セットの一方も双方も有さないさらなるサブブロック126のそれぞれについて、ステップ322〜334を繰り返すことができる。
加えて、ブロック122〜126のすべてが最小のリーフレベルのブロックサイズに到達するか又はウェッジ130a、130bに区画されるまで、ステップ322〜334を繰り返すことができる。
ビデオシーケンスフレームに対する方法350の実施を通じて、フレームのレート歪効率を大幅に最適化する構成を有するブロック122〜126及びウェッジ130a、130bを含むように、そのフレームを分解することができる。
加えて、図4に示すように、コントローラ204は、複数の分解されたビデオシーケンスフレームをさらに処理して、分解されたビデオシーケンスフレームを出力に適したものとすることができる。
図4は、一例による、分解されたビデオシーケンスフレームを処理する方法400のフロー図をより詳細に示している。
方法400が一般化された実例を表していること、及び、方法400の範囲から逸脱することなく、他のステップが追加され、既存のステップが除去、変更、又は再配列され得ることは、当業者には明らかなはずである。
ステップ402において、コントローラ204は、エンコーダ112を起動又は実施して、ステップ308及び320において計算された動きベクトル132及び予測誤差等の残差を符号化することができる。
ブロック122〜126及びウェッジ130a、130bの動きベクトル132は、適切な変換の使用によって符号化することができる。
ブロック122〜126の残差は、正方形ブロック変換(square block transform)の計算によって符号化され得、係数が与えられる。
一方、ウェッジ130a、130bについては、2つの異なるオプションのもとで、残差を符号化することができる。
第1のオプションのもとでは、単一のブロック122〜126のウェッジ130a、130bに関連付けられる残差を正方形ブロックに結合することができ、単一ブロック変換を計算することができる。
第2のオプションのもとでは、たとえば、形状適応型DCTといった別個の形状適応型変換を各残差について計算することができる。
どのオプションを実施するのかの選択も、レート歪効率最適化方式に基づき得る。
換言すれば、コントローラ204は、最良のレート歪効率を与えるオプションを実施することができる。
ブロック122〜126のウェッジ130a、130bの1つが、所望の品質と比較してゼロ予測誤差を有する場合に、形状適応型DCT等のさまざまな既知の形状適応型変換が提案されてきた。
これらの場合に、既知の形状適応型変換の1つを使用して、ゼロ予測誤差を有しないウェッジ130a、130bの残差を符号化することができる。
別の例として、ゼロ予測誤差を有しないウェッジ130a、130bのピクセルを、充填アルゴリズムによって充填することができ、次いで、標準のブロックとして符号化することができる。
適切な充填アルゴリズムの一例は、ウェッジ130a、130bの無関係のピクセルが、関係のあるピクセルの平均で充填されるアルゴリズムである。
ステップ404において、コントローラ204は、量子化器114を起動又は実施して、任意の合理的に適切な量子化技法によって、符号化された動きベクトル及び符号化された残差を量子化することができる。
加えて、ステップ406において、コントローラ204は、エントロピー符号化器116を起動又は実施して、たとえば、符号長を量子化された動きベクトル符号及び残差符号の確率と一致させるために、任意の合理的に適切な符号化技法によって、量子化された動きベクトル符号及び残差符号に符号を割り当てることができる。
ステップ408に示すように、コントローラ204は、オプションとして、符号化されたビデオフレーム118を1つ又は複数の出力デバイスに出力することができる。
ウェッジ130a、130bを有するブロック122〜126について、ウェッジ130a、130bの1つがゼロ動きベクトルを有する場合、コントローラ204は、どのウェッジ130a、130bがゼロ動きベクトルを有し、どのウェッジ130a、130bが非ゼロ動きベクトルを有するのかを示す1ビットを送信することができ、2つの動きベクトルの代わりに単一の動きベクトルを送出することができる。
次に図5を参照して、一例による、ブロック122〜126を符号化する方法500のフロー図が示されている。
方法500が一般化された実例を表していること、及び、方法500の範囲から逸脱することなく、他のステップが追加され、既存のステップが除去、変更、又は再配列され得ることが、当業者には明らかなはずである。
方法500の説明は、図2に示すブロック図200を参照して行われ、したがって、図2で引用された要素を参照する。
しかしながら、方法500は、ブロック図200で述べた要素に限定されるものではないことが理解されるべきである。それどころか、方法500は、ブロック図200で述べたものとは異なる構成を有するシステムによって実施され得ることが理解されるべきである。
一般的に言えば、方法350と同様に、方法500を実施して、さまざまな状況でウェッジ130a、130bを含むように動き推定モデルを拡張することができ、それによって、ビデオコーデックのレート歪効率を向上させることができる。
図5に示すように、ビデオ符号化システム102は、N×Nブロック122〜126を受信することができる。
ステップ502において、コントローラ204は、エンコーダ112、より詳細には動き推定器226及び誤差計算機228を起動又は実施して、N×Nブロック122〜126の最良の予測判断材料を求めることができる。
より詳細には、たとえば、動き推定器226は、インター予測判断材料を用いて、基準フレームに基づきN×Nブロック122〜126の動きベクトルを求めることができる。
加えて又は代替的に、動き推定器226は、イントラ予測判断材料を用いて、近傍ブロックの選択されたピクセルに基づき動きベクトルを求めることもできる。
誤差計算機228は、インター予測判断材料及びイントラ予測判断材料の双方によって予測された動きベクトルの残差を計算することができ、動きベクトルのいずれが最小の残差を有するのかを判断することができる。
したがって、ステップ502において、一例によれば、最良の予測判断材料は、最小の残差を与える予測判断材料を含むことができる。
別の例によれば、最良の予測判断材料は、大幅に最適化されたレート歪効率を与える予測判断材料を含み得る。
ステップ504において、コントローラ204は、エンコーダ112を起動又は実施して、N×Nブロック122〜126の寸法の一方又は双方が所定の最小寸法(N)に等しいか否かを判断することができる。
上記で論述したように、所定の最小寸法は、エンコーダ112がブロック122〜126を分解することができる最小のリーフレベルのブロックサイズの寸法として定義され得、通常、4×4ピクセルである。
ステップ506において、N×Nブロック122〜126の第1の寸法セットの一方又は双方が所定の最小寸法(N)に等しい場合、方法400(図4)に示すように、N×Nブロックの動きベクトル及び残差を符号化し、量子化し、エントロピー符号化することができる。
一方、寸法のいずれもが所定の最小寸法(N)に等しくない場合、ステップ508に示すように、コントローラ204は、ステップ502において求められた残差を第1のしきい値(T)と比較することができる。
この第1のしきい値(T)は、一般に、動きベクトル予測について求められる所定の品質レベルとして定義され得、たとえば、残差のどのレベルが許容可能であるのかを示すトレーニングデータに基づくことができる。
加えて、第1のしきい値(T)は、ブロック122〜126のサイズが異なれば変化し得る。
残差が第1のしきい値(T)未満である場合、ステップ506を実行することができる。
したがって、方法400(図4)に示すように、N×Nブロックの動きベクトル及び残差を符号化し、量子化し、エントロピー符号化することができる。
一方、残差が第1のしきい値(T)よりも大きい場合、ステップ510に示すように、コントローラ204は、エンコーダ112、より詳細にはウェッジ区画器224を起動又は実施して、N×Nブロック122〜126を2つのウェッジ130a、130bに区画することができる。
ステップ308(図3A)に関して上述したように、ウェッジ区画器224は、限られたスプライスのコードブックから最良のスライス線128を見つけて、N×Nブロック122〜126を2つのウェッジ130a、130bに分割することができる。
N×Nブロック122〜126をウェッジ130a、130bに区画する際に、ステップ512に示すように、コントローラ204は、エンコーダ112、より詳細には動き推定器226及び誤差計算機228を起動又は実施して、ウェッジ130a、130bの最良の予測判断材料を求めることができる。
より詳細には、たとえば、動き推定器226は、インター予測判断材料を用いて、基準フレームに基づきウェッジ130a、130bのそれぞれの動きベクトルを求めることができる。
加えて又は代替的に、動き推定器226は、イントラ予測判断材料を用いて、近傍ブロックの選択されたピクセルに基づき動きベクトルを求めることもできる。
誤差計算機228は、インター予測判断材料及びイントラ予測判断材料の双方によって予測された動きベクトルの残差を計算することができ、動きベクトルのいずれが最小の残差を有するのかを判断することができる。
したがって、ステップ512において、一例によれば、最良のウェッジ130a、130bは、最小の残差を与えるウェッジ130a、130bの組み合わせを含み得る。
別の例によれば、最良の予測判断材料は、大幅に最適化されたレート歪効率を与えるウェッジ130a、130bの組み合わせを含むことができる。
ステップ514において、コントローラ204は、ステップ512において求められた残差を第2のしきい値(T)と比較することができる。この第2のしきい値(T)は、第1のしきい値(T)と異なり得る。
第2のしきい値(T)は、一般に、動きベクトル予測について求められる所定の品質レベルとして定義され得、たとえば、残差のどのレベルが許容可能であるのかを示すトレーニングデータに基づき得る。
加えて、第2のしきい値(T)は、ブロック122〜126のサイズが異なれば変化し得る。
残差が第2のしきい値(T)未満である場合、ステップ506を実行することができ、それによって、方法400(図4)に示すように、ウェッジ130a、130bの動きベクトル及び残差を符号化することができる。
一方、残差が第2のしきい値(T)よりも大きい場合、ステップ516に示すように、コントローラ204は、エンコーダ112、より詳細にはブロック分割器222を起動又は実施して、N×Nブロック122を、第2の寸法セットを有する4つのサブブロック124に分割することができる。
換言すれば、N×Nブロック122を、N/2×N/2寸法を有するように分割することができる。
ブロック122又はそのサブブロック124、126がステップ506においてすべて符号化されるまで、ステップ502〜516を繰り返すことができる。
加えて、方法500も、残っているブロック122〜126があれば、そのブロックについて繰り返すことができる。
次に図6を参照して、別の例による、ブロック122〜126を符号化する方法600のフロー図が示されている。
方法600が一般化された実例を表していること、及び、方法600の範囲から逸脱することなく、他のステップを追加され、既存のステップが除去、変更、又は再配列され得ることは、当業者には明らかなはずである。
方法600の説明は、図2に示すブロック図200を参照して行われ、したがって、図2で引用された要素を参照する。
しかしながら、方法600は、ブロック図200で述べた要素に限定されるものではないことが理解されるべきである。
それどころか、方法600は、ブロック図200で述べたものとは異なる構成を有するシステムによって実施され得ることが理解されるべきである。
一般的に言えば、方法500と同様に、方法600を実施して、さまざまな状況でウェッジ130a、130bを含むように動き推定モデルを拡張することができ、それによって、ビデオコーデックのレート歪効率を向上させることができる。
図6に示すように、ビデオ符号化システム102は、N×Nブロック122〜126を受信することができる。
図5のステップ502に関して上記で論述したように、ステップ602において、コントローラ204は、エンコーダ122、より詳細には動き推定器226及び誤差計算機228を起動又は実施して、N×Nブロック122〜126の最良の予測判断材料を求めることができる。
図5のステップ504に関して上記で論述したように、ステップ604において、コントローラ204は、エンコーダ112を起動又は実施して、N×Nブロック122〜126の寸法の一方又は双方が所定の最小寸法(N)に等しいか否かを判断することができる。
加えて、ステップ606において、N×Nブロック122〜126の第1の寸法セットの一方又は双方が所定の最小寸法(N)に等しい場合、方法400(図4)に示すように、N×Nブロックの動きベクトル及び残差を符号化し、量子化し、エントロピー符号化することができる。
一方、寸法のいずれもが所定の最小寸法(N)に等しくない場合、ステップ608に示すように、コントローラ204は、エンコーダ112、より詳細にはウェッジ区画器224を起動又は実施して、N×Nブロック122〜126を2つのウェッジ130a、130bに区画することができる。
ウェッジ区画器224は、ステップ308(図3A)及びステップ510(図5)に関して上述したように、限られたスプライスのコードブックから最良のスライス線128を見つけて、N×Nブロック122〜126を2つのウェッジ130a、130bに分割することができる。
N×Nブロック122〜126をウェッジ130a、130bに区画する際に、ステップ610に示すように、コントローラ204は、エンコーダ112、より詳細には動き推定器226及び誤差計算機228を起動又は実施して、ステップ512(図5)に関して上記で論述したように、ウェッジ130a、130bの最良の予測判断材料及び動きベクトルの残差を求めることができる。
ステップ612において、コントローラ204は、エンコーダ112を起動又は実施して、ステップ620及びステップ610において見つけられた予測判断材料のいずれが全体的に最良の予測判断材料であるのかを判断することができる。
すなわち、コントローラ204は、予測判断材料のいずれが、最小の残差及び最大のレート歪効率の一方又は双方を与えるのかを判断することができる。
ウェッジ130a、130bに区画されたブロック122〜126は、通常、符号化される場合に、より多くのビット数を必要とするので、この比較を行う際に、コントローラ204は、ウェッジ130a、130bに対して行われた予測からもたらされる残差にペナルティファクタを追加することができる。
このペナルティファクタは、たとえば、トレーニングに基づくアドホックな方法で定義され得る。このアドホックな方法は、さまざまなペナルティファクタ及び関連付けられる残差の試験を通じて開発され得る。
ステップ614において、コントローラ204は、ステップ612で求められた全体的に最良の予測判断材料からもたらされた残差を第3のしきい値(T)と比較することができる。この第3のしきい値(T)は、図5に関して論述した第1のしきい値(T)及び第2のしきい値(T)と異なり得る。
この第3のしきい値(T)は、一般に、動きベクトル予測について求められる所定の品質レベルとして定義され得、たとえば、残差のどのレベルが許容可能であるのかを示すトレーニングデータに基づくことができる。
加えて、第3のしきい値(T)は、ブロック122〜126のサイズが異なれば変化し得る。
残差が第3のしきい値(T)未満である場合、ステップ606を実行することができ、それによって、方法400(図4)に示すように、ウェッジ130a、130bの動きベクトル及び残差を符号化することができる。
一方、残差が第3のしきい値(T)よりも大きい場合、ステップ616に示すように、コントローラ204は、エンコーダ112、より詳細にはブロック分割器222を起動又は実施して、N×Nブロック122を、第2の寸法セットを有する4つのサブブロック124に分割することができる。
換言すれば、N×Nブロック122を、N/2×N/2寸法を有するように分割することができる。
ブロック122又はそのサブブロック124、126が、ステップ606においてすべて符号化されるまで、ステップ602〜616を繰り返すことができる。
加えて、方法600も、残っているブロック122〜126があれば、そのブロックについて繰り返すことができる。
方法300、350、400、500、及び600において例示された動作のいくつか又はすべてを、ユーティリティ、プログラム、又はサブプログラムとして、任意の所望のコンピュータアクセス可能媒体に収容することができる。
加えて、方法300、350、400、500、及び600は、コンピュータプログラムによって実施化することができ、コンピュータプログラムは、アクティブ及び非アクティブの双方のさまざまな形態で存在することができる。
たとえば、コンピュータプログラムは、ソースコード、オブジェクトコード、実行可能コード、又は他のフォーマットのプログラム命令で構成されるソフトウェアプログラム(複数可)として存在することができる。
上記のいずれも、コンピュータ可読媒体上で実施化することができ、コンピュータ可読媒体には、圧縮された形態又は圧縮されていない形態のストレージデバイス及び信号が含まれる。
例示のコンピュータ可読ストレージデバイスには、従来のコンピュータシステムのRAM、ROM、EPROM、EEPROM、及び磁気ディスク若しくは磁気テープ又は光ディスク若しくは光テープが含まれる。
例示のコンピュータ可読信号は、搬送波を使用して変調されているかを問わず、インターネット又は他のネットワークを通じてダウンロードされた信号を含めて、コンピュータプログラムをホスティング又は実行するコンピュータシステムがアクセスするように構成可能な信号である。
上記の具体例には、CD ROM上のプログラムの配布又はインターネットのダウンロードを介したプログラムの配布が含まれる。
或る意味では、インターネット自体、抽象的なエンティティとして、コンピュータ可読媒体である。
同じことは、一般のコンピュータネットワークにも当てはまる。
したがって、上述した機能を実行することができるどの電子デバイスも、上記に列挙された機能を実行することができることが理解されるべきである。
本明細書で説明及び図示されたものは、その変形のいくつかと共に本発明の好ましい実施形態である。
本明細書で使用された用語、説明、及び図は、単に例示として述べられたものであり、限定を意図するものではない。
本発明の範囲内で多くの変形が可能であることを当業者は認識するであろう。本発明の範囲は、以下の特許請求の範囲及びその均等物によって画定されるように意図されている。特許請求の範囲において、すべての用語は、別段の指定がない限り、その最も広い合理的な意味が意図されている。
102 ビデオ符号化システム
110 ビデオソース
112 エンコーダ
114 量子化器
116 エントロピー符号化器
118 符号化されたビデオ
204 コントローラ
206 システムバス
208 入力デバイス
210 インターフェース
212 メモリ
214 オペレーティングシステム
216 アプリケーション
218 プログラムデータ
220 フレーム分解器
222 ブロック分割器
224 ウェッジ区画器
226 動き推定器
228 誤差計算機
232 アダプタ

Claims (10)

  1. ビデオシーケンスフレームを分解する方法(300)であって、前記ビデオシーケンスフレームは、複数のブロック(122〜126)によって表され、
    前記複数のブロック(122〜126)の少なくとも1つのブロックについて、
    (a)前記少なくとも1つのブロックの寸法の一方又は双方が所定の最小寸法に等しいか否かを判断すること(304)と、
    (b)前記寸法の一方又は双方が前記所定の最小寸法に等しいことに応じて、前記ブロック(122〜126)の動きベクトル(132)を送出すること(306)と、
    (c)前記寸法の双方が前記所定の最小寸法よりも大きいことに応じて、
    (i)前記ブロック(122〜126)の動きベクトル(132)を求めること(308)と、
    (ii)前記ブロック(122〜126)を2つのウェッジ(130a、130b)に区画する(partitioning)こと(308)であって、前記ウェッジ(130a、130b)のそれぞれは、異なる動きベクトル(132)に関連付けられる、区画すること(308)と、
    (iii)前記ブロック(122〜126)を4つのN/2×N/2サブブロック(122〜126)に分割すること(308)と、
    (iv)前記寸法の一方又は双方が前記所定の最小寸法に等しくなるまで、前記4つのN/2×N/2サブブロックのそれぞれに対してステップ(a)〜(c)を繰り返すことと
    を含む方法。
  2. 前記ブロック(122〜126)をウェッジ(130a、130b)に区画すること(308)は、
    前記ブロック(122〜126)のウェッジ(130a、130b)への区画を、事前に選択されたウェッジ(130a、130b)のセットに制限すること
    をさらに含み、
    該事前に選択されたウェッジ(130a、130b)のセットは、
    前記ブロック(122〜126)におけるすべての可能なウェッジ区画のサブセット
    を含み、
    それによって、前記ウェッジ(130a、130b)の検索に関連付けられる計算要件を大幅に削減する
    請求項1に記載の方法。
  3. 前記ブロック(122〜126)をウェッジ(130a、130b)に区画すること(308)は、
    2つのウェッジ(130a、130b)の1つがゼロ動きベクトル(132)を有するように、前記ブロック(122〜126)を前記2つのウェッジ(130a、130b)に区画すること(308)
    をさらに含む
    請求項1又は2に記載の方法。
  4. 前記ウェッジ(130a、130b)の前記動きベクトル(132)は残差を含み、
    該方法は、
    前記ゼロ動きベクトル(132)を含む前記ウェッジ(130a、130b)の前記残差をゼロに量子化すること(404)であって、それによって、前記ウェッジ(130a、130b)の前記動きベクトル(132)を搬送するレートを削減する、量子化すること(404)
    をさらに含む請求項3に記載の方法。
  5. 前記ブロック(122〜126)をウェッジ(130a、130b)に区画すること(308)は、
    前記ウェッジ(130a、130b)のそれぞれの前記動きベクトル(132)を、前記ブロック(122〜126)の空間的近傍からの動きベクトル(132)の比較的小さなセットに制限することであって、それによって、前記ウェッジ(130a、130b)を検索することに関連付けられる計算要件を削減する、制限すること
    をさらに含む
    請求項1〜4のいずれかに一項に記載の方法。
  6. 前記ブロック(122〜126)をウェッジ(130a、130b)に区画すること(308)は、
    前記ブロック(122〜126)を2つのウェッジ(130a、130b)及び該2つのウェッジ(130a、130b)の間の可変の厚さの平行バンドに区画すること(308)
    をさらに含み、
    前記2つのウェッジ(130a、130b)のそれぞれ及び前記平行バンドは、異なる動きベクトル(132)に関連付けられる
    請求項1〜5のいずれか一項に記載の方法。
  7. ステップ(ii)における前記ブロックをウェッジに区画すること(308)は、前記ウェッジ(130a、130b)のそれぞれの残差を与え(yield)、
    該方法は、
    前記残差を正方形ブロックに結合して(402)、該正方形ブロックを単一ブロック変換の使用によって符号化すること、及び
    2つの別個の形状適応型変換(shape-adaptive transform)を使用して前記残差を符号化すること(102)
    の一方をさらに含む請求項1〜6のいずれか一項に記載の方法。
  8. ビデオシーケンスフレームを符号化するためのエンコーダ(112)であって、前記ビデオシーケンスフレームは、第1の寸法セットを有する複数のブロック(122〜126)によって表され、
    該エンコーダ(112)は、
    ウェッジ区画器(224)と、
    ブロック分割器(222)と、
    動き推定器(226)と、
    前記少なくとも1つのブロック(122〜126)を2つのウェッジ(130a、130b)に区画することに関連付けられる前記動きベクトル(132)の第1のメトリックを計算し、前記少なくともブロックをサブブロック(122〜126)に分割することに関連付けられる前記動きベクトル(132)の第2のメトリックを計算するように構成される誤差計算機(228)と
    を備え、
    少なくとも1つのブロック(122〜126)について、コントローラ(204)は、
    (a)前記少なくとも1つのブロック(122〜126)の前記寸法の一方又は双方が所定の最小寸法に等しいか否かを判断し、
    (b)前記寸法の前記一方又は双方が前記所定の最小寸法に等しいことに応じて、前記動き推定器(226)を実施して、前記少なくとも1つのブロックの動きベクトル(132)を推定し、
    前記寸法の双方が前記所定の最小寸法よりも大きいことに応じて、
    (c)前記動き推定器(226)を実施して、前記少なくとも1つのブロック(122〜126)の動きベクトル(132)を推定し、
    (d)前記ウェッジ区画器(224)を実施して、前記複数のブロック(122〜126)の前記少なくとも1つのブロック(122〜126)を2つのウェッジ(130a、130b)に区画し、
    (e)前記ブロック分割器(222)を実施して、前記少なくとも1つのブロック(122〜126)を、第2の寸法セットを有するサブブロック(122〜126)に分割して、該サブブロック(122〜126)のそれぞれについて(a)〜(e)を実行する
    ように構成される
    エンコーダ。
  9. 前記コントローラ(204)は、2つのウェッジ(130a、130b)の一方がゼロ動きベクトル(132)を有するように、前記ウェッジ区画器(224)を実施して、前記ブロック(122〜126)を前記2つのウェッジ(130a、130b)に区画するようにさらに構成される
    請求項8に記載のエンコーダ。
  10. 1つ又は複数のコンピュータプログラムが実施化されるコンピュータ可読ストレージ媒体であって、
    前記1つ又は複数のコンピュータプログラムは、ビデオシーケンスフレームを分解する方法(300)を実施し、前記ビデオシーケンスフレームは、複数のブロック(122〜126)によって表され、
    前記1つ又は複数のコンピュータプログラムは、
    前記複数のブロック(122〜126)のそれぞれの寸法の一方又は双方が所定の最小寸法に等しいか否かを判断する(304)ための命令と、
    前記寸法の一方又は双方が前記所定の最小寸法に等しいブロック(122〜126)について、前記ブロック(122〜126)の動きベクトル(132)を送出するための命令と、
    前記寸法の双方が前記所定の最小寸法よりも大きいブロック(122〜126)について、
    前記ブロック(122〜126)の動きベクトル(132)を求める(308)ための命令と、
    前記ブロック(122〜126)を2つのウェッジ(130a、130b)に区画する(308)ための命令であって、前記ウェッジ(130a、130b)のそれぞれは、異なる動きベクトル(132)に関連付けられる、区画する(308)ための命令と、
    前記ブロック(122〜126)を4つのN/2×N/2サブブロック(122〜126)に分割する(308)ための命令と、
    前記寸法の一方又は双方が前記所定の最小寸法に等しくなるまで、前記4つのN/2×N/2サブブロック(122〜126)のそれぞれに対してステップ(a)〜(c)を繰り返すための命令と
    から成る命令セットを含む
    コンピュータ可読ストレージ媒体。
JP2009534686A 2006-10-30 2007-10-26 ビデオシーケンスフレームを分解する方法 Expired - Fee Related JP5108894B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/589,447 US7756348B2 (en) 2006-10-30 2006-10-30 Method for decomposing a video sequence frame
US11/589,447 2006-10-30
PCT/US2007/022793 WO2008054688A1 (en) 2006-10-30 2007-10-26 Method for decomposing a video sequence frame

Publications (2)

Publication Number Publication Date
JP2010508706A true JP2010508706A (ja) 2010-03-18
JP5108894B2 JP5108894B2 (ja) 2012-12-26

Family

ID=39330253

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009534686A Expired - Fee Related JP5108894B2 (ja) 2006-10-30 2007-10-26 ビデオシーケンスフレームを分解する方法

Country Status (5)

Country Link
US (1) US7756348B2 (ja)
JP (1) JP5108894B2 (ja)
CN (1) CN101536528B (ja)
DE (1) DE112007002493T5 (ja)
WO (1) WO2008054688A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011501566A (ja) * 2007-10-16 2011-01-06 トムソン ライセンシング ジオメトリック分割されたスーパブロックをビデオ符号化およびビデオ復号する方法および装置
JP2015180104A (ja) * 2010-08-11 2015-10-08 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 多視点信号コーデック
JP2018501698A (ja) * 2014-11-14 2018-01-18 ホアウェイ・テクノロジーズ・カンパニー・リミテッド デジタル画像を処理するためのシステムおよび方法
JP2018502480A (ja) * 2014-11-14 2018-01-25 ホアウェイ・テクノロジーズ・カンパニー・リミテッド デジタル画像のブロックのマスクベースの処理のためのシステムおよび方法
WO2019151297A1 (ja) * 2018-01-30 2019-08-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
US10742976B2 (en) 2014-11-14 2020-08-11 Huawei Technologies Co., Ltd. Systems and methods for processing a block of a digital image

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6765964B1 (en) 2000-12-06 2004-07-20 Realnetworks, Inc. System and method for intracoding video data
CN101589625B (zh) 2006-10-25 2011-09-21 弗劳恩霍夫应用研究促进协会 质量可缩放编码
US7756348B2 (en) * 2006-10-30 2010-07-13 Hewlett-Packard Development Company, L.P. Method for decomposing a video sequence frame
EP2187648A4 (en) * 2007-09-12 2012-07-11 Sony Corp IMAGE PROCESSING DEVICE AND IMAGE PROCESSING METHOD
WO2009035149A1 (ja) * 2007-09-12 2009-03-19 Sony Corporation 画像処理装置及び画像処理方法
KR20090099720A (ko) * 2008-03-18 2009-09-23 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
KR101517768B1 (ko) * 2008-07-02 2015-05-06 삼성전자주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
CA3159686C (en) * 2009-05-29 2023-09-05 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method, and image decoding method
WO2010151334A1 (en) * 2009-06-26 2010-12-29 Thomson Licensing Methods and apparatus for video encoding and decoding using adaptive geometric partitioning
US9654792B2 (en) 2009-07-03 2017-05-16 Intel Corporation Methods and systems for motion vector derivation at a video decoder
US8462852B2 (en) 2009-10-20 2013-06-11 Intel Corporation Methods and apparatus for adaptively choosing a search range for motion estimation
US8917769B2 (en) * 2009-07-03 2014-12-23 Intel Corporation Methods and systems to estimate motion based on reconstructed reference frames at a video decoder
KR101456498B1 (ko) * 2009-08-14 2014-10-31 삼성전자주식회사 계층적 부호화 단위의 스캔 순서를 고려한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
US20110090952A1 (en) * 2009-10-21 2011-04-21 Cohen Robert A Directional Transforms for Video and Image Coding
KR101484280B1 (ko) * 2009-12-08 2015-01-20 삼성전자주식회사 임의적인 파티션을 이용한 움직임 예측에 따른 비디오 부호화 방법 및 장치, 임의적인 파티션을 이용한 움직임 보상에 따른 비디오 복호화 방법 및 장치
KR101675118B1 (ko) 2010-01-14 2016-11-10 삼성전자 주식회사 스킵 및 분할 순서를 고려한 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
TW201204054A (en) * 2010-01-14 2012-01-16 Intel Corp Techniques for motion estimation
US8879632B2 (en) * 2010-02-18 2014-11-04 Qualcomm Incorporated Fixed point implementation for geometric motion partitioning
CN102215396A (zh) 2010-04-09 2011-10-12 华为技术有限公司 一种视频编解码方法和系统
EP2559248A2 (en) * 2010-04-12 2013-02-20 Qualcomm Incorporated Fixed point implementation for geometric motion partitioning
FR2963190B1 (fr) * 2010-07-23 2013-04-26 Canon Kk Procede et dispositif de codage d'une sequence d'images
EP2421266A1 (en) 2010-08-19 2012-02-22 Thomson Licensing Method for reconstructing a current block of an image and corresponding encoding method, corresponding devices as well as storage medium carrying an images encoded in a bit stream
KR101712156B1 (ko) * 2010-12-06 2017-03-06 에스케이 텔레콤주식회사 임의의 형태의 블록을 이용한 인터예측에 의한 영상의 부호화/복호화 방법 및 장치
EP2464116A1 (en) * 2010-12-13 2012-06-13 Thomson Licensing Method and device for video encoding using geometry adaptive block partitioning
JP5721851B2 (ja) 2010-12-21 2015-05-20 インテル・コーポレーション Dmvd処理のシステムおよび方法の改善
CN102595116B (zh) 2011-01-14 2014-03-12 华为技术有限公司 多图像块划分的编解码方法和装置
CN102611880B (zh) * 2011-01-19 2015-02-04 华为技术有限公司 标识图像块几何划分模式的编解码方法和设备
CN102611884B (zh) 2011-01-19 2014-07-09 华为技术有限公司 图像编解码方法及编解码设备
JP6242793B2 (ja) * 2011-09-15 2017-12-06 ヴィド スケール インコーポレイテッド 空間的予測のためのシステムおよび方法
US9456212B2 (en) 2011-09-30 2016-09-27 Broadcom Corporation Video coding sub-block sizing based on infrastructure capabilities and current conditions
US9398300B2 (en) * 2011-10-07 2016-07-19 Texas Instruments Incorporated Method, system and apparatus for intra-prediction in video signal processing using combinable blocks
EP4161078A1 (en) 2011-11-11 2023-04-05 GE Video Compression, LLC Effective wedgelet partition coding using spatial prediction
KR101663394B1 (ko) * 2011-11-11 2016-10-06 지이 비디오 컴프레션, 엘엘씨 적응적 분할 코딩
EP3657788B1 (en) * 2011-11-11 2021-08-04 GE Video Compression, LLC Effective prediction using partition coding
EP2777286B1 (en) * 2011-11-11 2017-01-04 GE Video Compression, LLC Effective wedgelet partition coding
US9185414B1 (en) 2012-06-29 2015-11-10 Google Inc. Video encoding using variance
CN102970532A (zh) * 2012-11-13 2013-03-13 鸿富锦精密工业(深圳)有限公司 影像切割系统及方法
CN102970533A (zh) * 2012-11-13 2013-03-13 鸿富锦精密工业(深圳)有限公司 影像切割系统及方法
CN102970534A (zh) * 2012-11-13 2013-03-13 鸿富锦精密工业(深圳)有限公司 影像切割系统及方法
CN102970535A (zh) * 2012-11-13 2013-03-13 鸿富锦精密工业(深圳)有限公司 影像切割系统及方法
US9628790B1 (en) 2013-01-03 2017-04-18 Google Inc. Adaptive composite intra prediction for image and video compression
CN116366835A (zh) 2013-01-04 2023-06-30 Ge视频压缩有限责任公司 高效可伸缩编码概念
EP3053337B1 (en) * 2013-10-01 2020-07-29 Telefonaktiebolaget LM Ericsson (publ) Encoder and method for video processing
US9986236B1 (en) 2013-11-19 2018-05-29 Google Llc Method and apparatus for encoding a block using a partitioned block and weighted prediction values
US9609343B1 (en) 2013-12-20 2017-03-28 Google Inc. Video coding using compound prediction
KR101636459B1 (ko) * 2014-05-07 2016-07-06 삼성전자주식회사 임의적인 파티션을 이용한 움직임 예측에 따른 비디오 부호화 방법 및 장치, 임의적인 파티션을 이용한 움직임 보상에 따른 비디오 복호화 방법 및 장치
US9866734B2 (en) * 2014-08-26 2018-01-09 Dolby Laboratories Licensing Corporation Scene-change detection using video stream pairs
KR101677275B1 (ko) * 2014-10-29 2016-11-17 삼성전자주식회사 임의적인 파티션을 이용한 움직임 예측에 따른 비디오 부호화 방법 및 장치, 임의적인 파티션을 이용한 움직임 보상에 따른 비디오 복호화 방법 및 장치
US9363421B1 (en) 2015-01-12 2016-06-07 Google Inc. Correcting for artifacts in an encoder and decoder
KR101677276B1 (ko) * 2015-01-19 2016-11-17 삼성전자주식회사 임의적인 파티션을 이용한 움직임 예측에 따른 비디오 부호화 방법 및 장치, 임의적인 파티션을 이용한 움직임 보상에 따른 비디오 복호화 방법 및 장치
EP3364655A4 (en) * 2015-11-11 2018-10-10 Samsung Electronics Co., Ltd. Method and apparatus for decoding video, and method and apparatus for encoding video
US10306258B2 (en) 2016-01-29 2019-05-28 Google Llc Last frame motion vector partitioning
US10469841B2 (en) * 2016-01-29 2019-11-05 Google Llc Motion vector prediction using prior frame residual
KR101783253B1 (ko) 2016-11-11 2017-09-29 삼성전자주식회사 임의적인 파티션을 이용한 움직임 예측에 따른 비디오 부호화 방법 및 장치, 임의적인 파티션을 이용한 움직임 보상에 따른 비디오 복호화 방법 및 장치
EP3806463A1 (en) 2016-12-23 2021-04-14 Huawei Technologies Co., Ltd. An intra-prediction apparatus for extending a set of predetermined directional intra-prediction modes
CN111034197B (zh) * 2017-08-22 2022-07-12 松下电器(美国)知识产权公司 图像编码器、图像解码器、图像编码方法和图像解码方法
KR20200038943A (ko) * 2017-08-22 2020-04-14 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 이미지 인코더, 이미지 디코더, 이미지 인코딩 방법 및 이미지 디코딩 방법
KR101867597B1 (ko) * 2017-09-22 2018-06-14 삼성전자주식회사 임의적인 파티션을 이용한 움직임 예측에 따른 비디오 부호화 방법 및 장치, 임의적인 파티션을 이용한 움직임 보상에 따른 비디오 복호화 방법 및 장치
KR102006804B1 (ko) * 2018-06-07 2019-08-02 삼성전자주식회사 임의적인 파티션을 이용한 움직임 예측에 따른 비디오 부호화 방법 및 장치, 임의적인 파티션을 이용한 움직임 보상에 따른 비디오 복호화 방법 및 장치
WO2020140948A1 (en) * 2019-01-02 2020-07-09 Beijing Bytedance Network Technology Co., Ltd. Motion vector derivation between dividing patterns
US11356266B2 (en) 2020-09-11 2022-06-07 Bank Of America Corporation User authentication using diverse media inputs and hash-based ledgers
US11368456B2 (en) 2020-09-11 2022-06-21 Bank Of America Corporation User security profile for multi-media identity verification

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009545920A (ja) * 2006-08-02 2009-12-24 トムソン ライセンシング ビデオ符号化処理のためにアダブティブなジオメトリック分割を行う方法および装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2246925B (en) * 1990-08-09 1994-04-27 Sony Broadcast & Communication Video signal processing
US5398078A (en) * 1991-10-31 1995-03-14 Kabushiki Kaisha Toshiba Method of detecting a motion vector in an image coding apparatus
KR970002967B1 (ko) * 1993-04-09 1997-03-13 대우전자 주식회사 영역 분류패턴을 이용한 움직임벡터 검출장치
JP3089165B2 (ja) * 1994-11-10 2000-09-18 株式会社グラフィックス・コミュニケーション・ラボラトリーズ 動きベクトル探索装置
KR0154921B1 (ko) * 1994-12-30 1998-11-16 배순훈 동영상 부호화 장치에 이용하기 위한 움직임 추정기
KR0171143B1 (ko) * 1995-03-20 1999-03-20 배순훈 육각그리드에서의 삼각구조 형성 장치
US5745183A (en) * 1995-08-25 1998-04-28 Thomson Consumer Electronics, Inc. Image motion estimation system which derives candidate block from interpolated motion vectors
JPH09322057A (ja) * 1996-05-28 1997-12-12 Canon Inc 撮像装置
KR100255748B1 (ko) * 1997-07-19 2000-05-01 전주범 가중된 블럭 정합 알고리즘에 의한 움직임 추정 방법 및장치
US7224731B2 (en) * 2002-06-28 2007-05-29 Microsoft Corporation Motion estimation/compensation for screen capture video
WO2005006767A1 (en) 2003-07-09 2005-01-20 Koninklijke Philips Electronics N.V. Simplified motion estimation method
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
JP4035560B2 (ja) * 2004-03-31 2008-01-23 英特維數位科技股▲ふん▼有限公司 動き推定方法
US7756348B2 (en) * 2006-10-30 2010-07-13 Hewlett-Packard Development Company, L.P. Method for decomposing a video sequence frame

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009545920A (ja) * 2006-08-02 2009-12-24 トムソン ライセンシング ビデオ符号化処理のためにアダブティブなジオメトリック分割を行う方法および装置
JP2009545919A (ja) * 2006-08-02 2009-12-24 トムソン ライセンシング ビデオ復号処理のためにアダブティブなジオメトリック分割を行う方法および装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6011041762; Edson M. Hung et al.: 'On Macroblock Partition for Motion Compensation' 2006 IEEE International Conference on Image Processing , 20061008, p.1697-1700, IEEE *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011501566A (ja) * 2007-10-16 2011-01-06 トムソン ライセンシング ジオメトリック分割されたスーパブロックをビデオ符号化およびビデオ復号する方法および装置
US10674134B2 (en) 2010-08-11 2020-06-02 Ge Video Compression, Llc Multi-view signal codec with reusing coding parameters
JP2015180104A (ja) * 2010-08-11 2015-10-08 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 多視点信号コーデック
US9648298B2 (en) 2010-08-11 2017-05-09 Ge Video Compression, Llc Multi-view signal codec
US11843757B2 (en) 2010-08-11 2023-12-12 Ge Video Compression, Llc Multi-view signal codec
US10110903B2 (en) 2010-08-11 2018-10-23 Ge Video Compression, Llc Multi-view signal codec with reusing coding parameters
US11330242B2 (en) 2010-08-11 2022-05-10 Ge Video Compression, Llc Multi-view signal codec
JP2018501698A (ja) * 2014-11-14 2018-01-18 ホアウェイ・テクノロジーズ・カンパニー・リミテッド デジタル画像を処理するためのシステムおよび方法
US10602186B2 (en) 2014-11-14 2020-03-24 Huawei Technologies Co., Ltd. Systems and methods for mask based processing of a block of a digital image
US10523951B2 (en) 2014-11-14 2019-12-31 Huawei Technologies Co., Ltd. Systems and methods for processing a digital image
US10742976B2 (en) 2014-11-14 2020-08-11 Huawei Technologies Co., Ltd. Systems and methods for processing a block of a digital image
US11153564B2 (en) 2014-11-14 2021-10-19 Huawei Technologies Co., Ltd. Systems and methods for processing a block of a digital image
JP2018502480A (ja) * 2014-11-14 2018-01-25 ホアウェイ・テクノロジーズ・カンパニー・リミテッド デジタル画像のブロックのマスクベースの処理のためのシステムおよび方法
WO2019151297A1 (ja) * 2018-01-30 2019-08-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法

Also Published As

Publication number Publication date
US20080101707A1 (en) 2008-05-01
CN101536528A (zh) 2009-09-16
US7756348B2 (en) 2010-07-13
CN101536528B (zh) 2013-03-27
JP5108894B2 (ja) 2012-12-26
DE112007002493T5 (de) 2009-09-24
WO2008054688A1 (en) 2008-05-08

Similar Documents

Publication Publication Date Title
JP5108894B2 (ja) ビデオシーケンスフレームを分解する方法
US20210385486A1 (en) Moving Picture Decoding Method and Moving Picture Encoding Method
CN112929661B (zh) 解码方法和编码方法
US9621917B2 (en) Continuous block tracking for temporal prediction in video encoding
US9743078B2 (en) Standards-compliant model-based video encoding and decoding
US10291925B2 (en) Techniques for hardware video encoding
US8554001B2 (en) Image encoding/decoding system using graph based pixel prediction and encoding system and method
US9578345B2 (en) Model-based video encoding and decoding
US8761254B2 (en) Image prediction encoding device, image prediction decoding device, image prediction encoding method, image prediction decoding method, image prediction encoding program, and image prediction decoding program
CN107810632B (zh) 具有降低代价的块分割和细化的帧内模式选择的帧内预测处理器
US11134242B2 (en) Adaptive prediction of coefficients of a video block
CN104067619A (zh) 视频解码器、视频编码器、视频解码方法以及视频编码方法
CA2868448A1 (en) Context based video encoding and decoding
US11310524B2 (en) Method and apparatus for determining motion vector of affine code block
KR20170093833A (ko) 인트라 모드들의 코딩
US11025913B2 (en) Encoding video using palette prediction and intra-block copy
JP2006511113A (ja) 選択されたマクロブロックにおける動き推定のスキップを伴うビデオエンコーディング
US8792549B2 (en) Decoder-derived geometric transformations for motion compensated inter prediction
KR20070000702A (ko) 탐색영역 재설정을 이용한 고속 움직임 예측 장치 및 방법
JP2007110409A (ja) 画像処理装置及び画像処理方法をコンピュータに実行させるためのプログラム
US10075691B2 (en) Multiview video coding method using non-referenced view video group
WO2024083250A1 (en) Method, apparatus, and medium for video processing
WO2023011604A1 (en) Method, apparatus, and medium for video processing
GB2547947A (en) Video encoding

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110707

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110810

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120613

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120907

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121005

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20151012

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees