JP5752771B2 - ビデオコーディングのためのテンプレートマッチング - Google Patents

ビデオコーディングのためのテンプレートマッチング Download PDF

Info

Publication number
JP5752771B2
JP5752771B2 JP2013231619A JP2013231619A JP5752771B2 JP 5752771 B2 JP5752771 B2 JP 5752771B2 JP 2013231619 A JP2013231619 A JP 2013231619A JP 2013231619 A JP2013231619 A JP 2013231619A JP 5752771 B2 JP5752771 B2 JP 5752771B2
Authority
JP
Japan
Prior art keywords
hypothesis
video
block
template
hypotheses
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.)
Active
Application number
JP2013231619A
Other languages
English (en)
Other versions
JP2014064301A (ja
Inventor
マルタ・カークゼウィックズ
ウェイ−ジュン・チエン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2014064301A publication Critical patent/JP2014064301A/ja
Application granted granted Critical
Publication of JP5752771B2 publication Critical patent/JP5752771B2/ja
Active 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/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/19Methods 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 using optimisation based on Lagrange multipliers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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

Description

関連出願
本出願は、その内容全体が参照により本明細書に組み込まれた、2009年7月2日出願の米国仮出願第61/222,836号の利益を主張するものである。
本開示はビデオコーディングに関し、より具体的には、テンプレートマッチング動き予測を使用するビデオコーディング技法に関する。
デジタルマルチメディア機能は、デジタルテレビ、デジタルダイレクトブロードキャストシステム、ワイヤレス通信デバイス、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタルレコーディングデバイス、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、デジタルメディアプレーヤなどを含む、広範なデバイスに組み込むことが可能である。デジタルマルチメディアデバイスは、デジタルビデオデータをより効率的に送信および受信または格納および取出しするために、MPEG−2、ITU−H.263、MPEG−4、またはITU−H.264/MPEG−4 Part 10、Advanced Video Coding(AVC)などの、ビデオコーディング技法を実装することができる。ビデオエンコーディング技法は、ビデオシーケンス固有の冗長性を削減または除去するために、空間的および時間的予測を介してビデオ圧縮を実行することができる。
ビデオエンコーディングでは、圧縮はしばしば空間的予測、動き推定、および動き補償を含む。イントラコーディング(intra-coding)は、所与のビデオフレーム内のビデオブロック間の空間的冗長性を削減または除去するために、離散コサイン変換(DCT)などの空間的予測および変換コーディングに依拠する。インターコーディング(inter-coding)は、ビデオシーケンスの連続するビデオフレームのビデオブロック間の時間的冗長性を削除または除去するために、時間的予測および変換コーディングに依拠する。イントラコード化フレーム(「Iフレーム」)は、しばしば、ランダムアクセスポイントならびに他のフレームのインターコーディングのための基準として使用される。しかしながら、Iフレームは通常、他のフレームよりも少ない圧縮を示す。Iユニットという用語は、Iフレーム、Iスライス、またはIフレームの他の独立復号可能部分を言い表すことができる。
インターコーディングの場合、ビデオエンコーダは、2つまたはそれ以上の隣接フレーム間、あるいはフレームのスライスなどの他のコード化ユニット間での、ビデオブロックのマッチングの動きを追跡するために、動き推定を実行する。インターコード化フレームは、前のフレームから予測されるブロックを含むことができる予測フレーム(「Pフレーム」)と、ビデオシーケンスの前のフレームおよび後のフレームから予測されるブロックを含むことができる双方向予測フレーム(「Bフレーム」)とを、含むことができる。従来の動き補償ビデオコーディング技法は、現在のビデオブロックをエンコードする際に使用可能な予測ビデオデータを識別するために、前または後のビデオフレームのあるビデオブロックと他のビデオブロックとを比較する。ビデオブロックは、より高品質なコーディングを容易にするためにサブブロック区画に細分化することができる。
コード化されたビデオブロックは、予測ブロックを作成または識別するために使用可能な予測情報と、コード化されているブロックと予測ブロックとの差分を示すデータの残差ブロックとによって、表すことができる。予測情報は、データの予測ブロックを識別するために使用される1つまたは複数の動きベクトルを備えることができる。動きベクトルが与えられると、デコーダは残差をコード化するために使用された予測ブロックを再構築することができる。したがって、残差ブロックのセットおよび動きベクトルのセット(および場合によっては何らかの追加シンタックス)が与えられると、デコーダは最初にエンコードされたビデオフレームを再構築できる可能性がある。エンコードされたビデオシーケンスは、残差データと、動きベクトルと、場合によっては他のタイプのシンタックスとのブロックを備えることができる。
テンプレートマッチングは、動きベクトルを除去しながらも、動き補償ビデオコーディングの利点を依然として提供するために使用可能な技法である。テンプレートマッチングでは、コード化されているビデオブロックに関する隣接ピクセルがテンプレートを定義することが可能であり、(コード化されているビデオブロックではなく)このテンプレートと前または後のビデオフレームのデータとを比較することが可能である。ビデオエンコーダとビデオデコーダの両方が、動きベクトルを使用せずに動きを識別するために、テンプレートマッチングプロセスを実行することができる。したがってテンプレートマッチングを使用すると、動きベクトルはビットストリームにコード化されない。むしろ動きベクトルは、本質的にフレームがエンコードおよびデコードされる際にテンプレートマッチングプロセスから導出される。
概して、本開示は、ビデオユニット内でのビデオブロックのテンプレートマッチング動き予測コーディングに適用可能な、ビデオコーディング技法について説明する。ビデオユニットは、ビデオフレームまたはビデオフレームのスライスを備えることができる。テンプレートマッチング動き予測では、ビデオブロックは、動き補償ビデオコーディングの利点を依然として提供しながら、動きベクトルに依拠することなく、予測基準データの1つまたは複数のリストに基づいて予測的にエンコードおよびデコードされる。特に隣接ピクセルは、コード化されているビデオブロックに関連してテンプレートを定義することが可能であり、コード化されているビデオブロックではなく、このテンプレートと、予測基準データのリストに格納されているデータとを比較することができる。予測基準データは、ターゲットフレームに先立って、または続いて発生する可能性のある1つまたは複数の基準フレームに基づいて生成される。
Bフレームにテンプレートマッチング予測を適用する場合、予測ビデオデータの2つのリストは、第1のリストがターゲットフレームに先立って発生するフレーム(たとえば前のフレーム)から生成され、第2のリストがターゲットフレームに続くフレーム(たとえば後のフレーム)から生成される。本開示の一態様では、テンプレートマッチングはBフレームのエンコーディングとデコーディングとに適用される。テンプレートマッチングをBフレームに適用する場合、1つまたは2つの仮説セットをBフレームに使用することができる。1つの仮説セットが使用される場合、仮説セットは第1のリストと第2のリストの両方から見つけられた仮設を含むことができる。2つの仮説セットが使用される場合、第1の仮説セットは第1のリストからの仮説を含むことが可能であり、第2の仮説セットは第2のリストから見つけられた仮設を含むことが可能である。第3の仮説セットは双方向動き予測から形成可能であり、第1のリストからのデータと第2のリストからのデータとが組み合わされ、予測に使用される。
本開示の他の態様では、改良された仮設の選択および拒絶が、PフレームとBフレームの両方のテンプレートマッチング予測に適用される。この関連において、シンタックス要素が、テンプレートマッチング予測を使用してビデオデータをエンコーディングまたはデコーディングする場合にコーダによって使用される仮説の数を、デコーダに信号送信するために導入される。たとえばエンコーダは、エンコーディングプロセス中に使用される仮説の数を指定する2つの異なる数のうちの1つを選択するように構成可能であり、デコーダは、エンコーダによって識別された仮設の数を適用するように構成可能である。エンコーダは、エンコーディング時にいずれの数の仮説の使用にも関連付けられたコストを決定することが可能であり、コストが最低の仮説の数を選択することが可能である。その後エンコーダは、最低コストの仮説の数に基づいてビデオデータをエンコードすることが可能であり、シンタックス要素を使用してこの数をデコーダに信号送信することが可能である。
考慮の結果からいずれの仮説を拒絶するかを決定する場合、エンコーダまたはデコーダは、考慮中の仮説(すなわち候補仮説)と基準仮説とを比較する。候補仮説と基準仮説との差分が事前に定義されたしきい値よりも大きい場合、候補仮説を考慮の対象から拒絶することができる。基準仮説は、一例では考慮中のすべての仮説を、あるいは他の例では考慮中の最良の仮説のサブセットを、平均することによって、生成することができる。本開示の仮説拒絶態様では、PフレームまたはBフレームのいずれかに適用されるテンプレートマッチング動き予測にとって、どの仮説が受け入れまたは拒絶されるかに関する信号をエンコーダまたはデコーダに送信する必要はない。
本開示の他の態様では、PフレームとBフレームとでのテンプレートマッチング動き予測において、絶対差の総和(the sum of the absolute difference)を重み付けするための技法が企図される。テンプレート形状は現行ブロックに関連して定義可能であり、対応するテンプレート形状はターゲットブロックに関連して定義可能である。絶対差の総和は、現行ブロックに関連して定義されたテンプレート形状における各ピクセルのピクセル値と、基準ブロックに関連して定義されたテンプレート形状における各対応ピクセルのピクセル値との間の、差分の絶対値である。現行ブロックまたはターゲットブロックに関連して定義されたテンプレート形状は、それぞれ、2つまたはそれ以上の区画に区分することができる。各区画には、各区画と対応するブロックとの間の距離が増加するにつれて減少する重みが与えられる。絶対差の総和に重み付けすることによって、テンプレートマッチング予測を実行する際のテンプレートとビデオブロックとの空間的関係を考慮に入れることが可能であり、これによってより正確なテンプレートマッチングをもたらすことが可能である。
本開示の他の態様では、計算されたテンプレートオフセットが、PフレームとBフレームとに適用されるようにテンプレートマッチング動き予測に適用される。テンプレートオフセットは、基準ブロックとターゲットブロックとの間のオフセットを予測するために使用可能である。マッチングテンプレートを検索する場合、基準ブロック内の各ピクセルは、基準ブロック内で各ピクセルが配置されている場所を定義する対応する座標のセットを有する可能性がある。座標は検索位置を示す。各検索位置について、現行フレームのテンプレート内の各ピクセルのピクセル値と基準フレーム内の各ピクセルのピクセル値との間の、平均差分を計算することができる。テンプレート全体のピクセル値におけるこの平均差分を、テンプレートオフセットとして定義することができる。各テンプレートについて、この技法によって1つのオフセットを計算することができる。テンプレートオフセットが計算されると、この開示の技法は、ターゲットブロックの各ピクセル値を取り、基準ブロック内の対応するピクセルのピクセル値を減じ、さらにオフセットを減じることによって、ターゲットブロックに対する絶対差の総和を計算することができる。ターゲットブロックの絶対差の総和をオフセットによって調整することによって、選択された仮説が最良の仮説である可能性がより高くなり、それによって残差を削減し、ビデオ圧縮を改良する可能性がある。
本開示の他の態様は、PフレームとBフレームとに適用されたテンプレートマッチング予測にルーマ残差(luma residual)を組み込むための技法を企図する。この場合、ターゲットブロックはルーマビデオブロックとすることが可能であり、ルーマビデオブロックはサブブロックに分割することができる。ルーマブロックの第1のサブブロックは使用可能な再構築されたピクセルを有さず、第1のサブブロックに依拠する第2のサブブロックのコーディングは、第1のサブブロックのコーディングが完了するまで遅延されるものとするか、または、動き補償予測とコード化されたルーマ残差とを組み合わせることによって生成される第1のサブブロックのコンテンツに基づくものとするかのいずれかが可能である。動き補償予測とコード化されたルーマ残差とを組み合わせることによって生成される第1のサブブロックのコンテンツは、元のデータにより近い可能性があり、第2のサブブロックのテンプレートマッチング予測は、より正確である可能性がある。
一例では、本開示は現行ビデオブロックのコーディング方法について説明する。方法は、テンプレートマッチング予測ビデオコーディングに関する仮説セットを生成することを含み、仮説セットのうちの少なくともいくつかの仮説は、第1の予測ビデオユニットの少なくとも一部からの第1の予測ビデオデータのセットと、第2の予測ビデオユニットの少なくとも一部からの第2の予測ビデオデータのセットと、に基づくものであり、仮説セット内のそれぞれの仮説は、ビデオブロック位置に関連して定義されたテンプレート形状に対応する予測ビデオデータを備える。方法は、仮説セットから仮説のうちの1つを選択することと、仮説のうちの選択された1つによって識別された予測ビデオデータを使用し、ビデオコーダを介して、現行ビデオブロックをコーディングすることとを、さらに含む。
他の例では、本開示は現行ビデオブロックをコーディングするための方法について説明する。方法は、テンプレートマッチング予測ビデオコーディングに関する第1の仮説セットを生成することを含むことが可能であり、第1の仮説セットのうちの少なくともいくつかの仮説は、第1の予測ビデオユニットの少なくとも一部からの第1の予測ビデオデータのセットに基づくものであり、第1の仮説セット内のそれぞれの仮説は、第1のビデオブロック位置に関連して定義されたテンプレート形状に対応する予測ビデオデータを備える。方法は、テンプレートマッチング予測ビデオコーディングに関する第2の仮説セットを生成することをさらに含むことが可能であり、第2の仮説セットのうちの少なくともいくつかの仮説は、第2の予測ビデオユニットの少なくとも一部からの第2の予測ビデオデータのセットに基づくものであり、第2の仮説セット内のそれぞれの仮説は、第2のビデオブロック位置に関連して定義されたテンプレート形状に対応する予測ビデオデータを備える。方法は、第1の仮説セットと第2の仮説セットとに基づいて双方向動き予測を生成することと、双方向動き予測に基づいて第3の仮説セットを生成することとを、さらに含むことも可能である。加えて方法は、第3の仮説セットの仮説のうちの1つを選択することと、仮説のうちの選択された1つによって識別された予測ビデオデータを使用して、ビデオコーダを介して、現行ビデオブロックをコーディングすることとを、さらに含むことができる。
他の例では、本開示は、テンプレートマッチング予測ビデオコーディングに関する仮説セットを生成する予測ユニットを備えたビデオコーディング装置について説明し、仮説セットのうちの少なくともいくつかの仮説は、第1の予測ビデオユニットの少なくとも一部からの第1の予測ビデオデータのセットと、第2の予測ビデオユニットの少なくとも一部からの第2の予測ビデオデータのセットと、に基づくものであり、仮説セット内のそれぞれの仮説は、ビデオブロック位置に関連して定義されたテンプレート形状に対応する予測ビデオデータを備える。この例では、予測ユニットは、仮説セットから仮説のうちの1つを選択し、ビデオコーディング装置は、仮説のうちの選択された1つによって識別された予測ビデオデータを使用して現行ビデオユニットをコード化する。
他の例では、本開示はビデオデータをコード化するビデオコーディング装置について説明し、デバイスは、テンプレートマッチング予測ビデオコーディングに関する仮説セットを生成するための手段を備え、仮説セットのうちの少なくともいくつかの仮説は、第1の予測ビデオユニットの少なくとも一部からの第1の予測ビデオデータのセットと、第2の予測ビデオユニットの少なくとも一部からの第2の予測ビデオデータのセットと、に基づくものであり、仮説セット内のそれぞれの仮説は、ビデオブロック位置に関連して定義されたテンプレート形状に対応する予測ビデオデータを備える。ビデオコーディング装置は、仮説セットから仮説のうちの1つを選択するための手段と、仮説のうちの選択された1つによって識別された予測ビデオデータを使用して現行ビデオブロックをコード化するための手段とを、さらに備える。
本開示で説明される技法は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせで実装可能である。ソフトウェアで実装される場合、ソフトウェアは、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、またはデジタル信号プロセッサ(DSP)などの、1つまたは複数のプロセッサ内で実行可能である。技法を実行するソフトウェアは、まずコンピュータ可読媒体に格納され、プロセッサにロードされて、実行されることが可能である。
したがって本開示は、テンプレートマッチング予測ビデオコーディングに関する仮説セットを1つまたは複数のプログラマブルプロセッサに生成させるための命令でエンコードされた、コンピュータ可読記憶媒体も企図し、仮説セットのうちの少なくともいくつかの仮説は、第1の予測ビデオユニットの少なくとも一部からの第1の予測ビデオデータのセットと、第2の予測ビデオユニットの少なくとも一部からの第2の予測ビデオデータのセットと、に基づくものであり、仮説セット内のそれぞれの仮説は、ビデオブロック位置に関連して定義されたテンプレート形状に対応する予測ビデオデータを備える。命令は、現行ビデオブロックをコード化するために仮説セットから仮説のうちの1つを選択することと、仮説のうちの選択された1つを使用して現行ビデオブロックをコーディングすることとを、1つまたは複数のプログラマブルプロセッサに実行させるための命令をさらに含む。
本発明の1つまたは複数の実施形態の詳細は、添付の図面および以下の説明で示される。本発明の他の特徴、目的、および利点は、説明および図面から、ならびに特許請求の範囲から、明らかとなろう。
図1は、ビデオエンコーディングおよびデコーディングシステムを示す例示的ブロック図である。 図2は、本開示に一致するビデオエンコーダの例を示すブロック図である。 図3は、本開示に一致する例示的ターゲットビデオユニットと基準ビデオユニットとを示す、概念ブロック図である。 図4は、本開示に一致するビデオブロックのコンテンツが決定されるテンプレートマッチング動き予測の例を示す、概念ブロック図である。 図5は、本開示に一致するビデオデコーダの例を示すブロック図である。 図6Aは、本開示に一致するビデオエンコーダによって実行される例示的プロセスを示す流れ図である。 図6Bは、本開示に一致するビデオエンコーダによって実行される例示的プロセスを示す流れ図である。 図7Aは、本開示に一致するビデオデコーダによって実行される例示的プロセスを示す流れ図である。 図7Bは、本開示に一致するビデオデコーダによって実行される例示的プロセスを示す流れ図である。
本開示は、ビデオユニットのテンプレートマッチング動き予測コーディングに適用可能なビデオコーディング技法について説明する。本開示では、「コーディング」という用語はエンコーディングまたはデコーディングを言い表す。同様に、「コーダ」という用語は、一般に任意のビデオエンコーダ、ビデオデコーダ、または組み合わされたエンコーダ/デコーダ(コーデック)を言い表す。したがって「コーダ」という用語は、本明細書では、ビデオエンコーディングまたはビデオデコーディング、あるいはビデオエンコーディングとビデオデコーディングの両方を実行する、専用のコンピュータデバイスまたは装置を言い表すために使用される。
テンプレートマッチングは、動きベクトルを除去しながらも、動き補償ビデオコーディングの利点を依然として提供するために使用可能な技法である。テンプレートマッチングでは、テンプレートはコード化されているビデオブロックに関連して近隣ピクセルの形状を定義する。テンプレート形状はビデオブロックに関連して定義され、ビデオブロックに隣接するかまたはこれを取り囲むことができるが、ビデオブロックに直接隣接して配置される必要はない。テンプレート形状は、基準ビデオユニット内の1つまたは複数のビデオブロックに適用することができる。仮説は、テンプレート形状内に含まれる予測ビデオデータに基づくもの、第1の予測ビデオユニットの少なくとも一部からの第1の予測ビデオデータのセットに基づくもの、あるいは、第1の予測ビデオユニットの少なくとも一部からの第1の予測ビデオデータのセットと第2の予測ビデオユニットの少なくとも一部からの第2の予測ビデオデータのセットとに基づくもの、とすることができる。テンプレートマッチング動き予測時に生成および考慮される仮説は、候補仮説と称されることができる。コード化されている各ビデオブロックについて、複数の候補仮説が存在することができる。
本開示の技法は、Bフレームにテンプレートマッチングを適用することと、BフレームまたはPフレームに適用される場合、テンプレートマッチングを改良するために適用可能ないくつかの技法と、を含む。本開示の一態様では、改良された仮説の選択および拒絶がテンプレートマッチング動き予測に適用される。この関連において、シンタックス要素が、テンプレートマッチング予測を使用してビデオデータをエンコーディングまたはデコーディングする場合にコーダによって使用される仮説の数を、デコーダに信号送信するために導入される。考慮の結果からいずれの仮説を拒絶するかを決定する場合、エンコーダまたはデコーダは、候補仮説と基準仮説とを比較する。候補仮説と基準仮説との差分が事前に定義されたしきい値よりも大きい場合、候補仮説を考慮の対象から拒絶することができる。
本開示の他の態様では、絶対差の総和を重み付けし、計算されたテンプレートオフセットを適用し、ルーマ残差をテンプレートマッチング動き予測に組み込むための技法が企図される。絶対差の総和を重み付けすることによってテンプレートマッチング予測を実行する場合、テンプレートとビデオブロックとの空間的関係を考慮に入れることが可能であり、その結果、より正確なテンプレートマッチングをもたらすことができる。基準ブロックとターゲットブロックとの間のオフセットを予測するために、テンプレートオフセットを使用することができる。テンプレートオフセットが計算されると、この開示の技法は、ターゲットブロックの各ピクセル値を取り、基準ブロック内の対応するピクセルのピクセル値を減じ、さらにオフセットを減じることによって、ターゲットブロックに対する絶対差の総和を計算することができる。ターゲットブロックの絶対差の総和をオフセットによって調整することによって、選択された仮説が最良の仮説である可能性がより高くなり、それによって残差を削減し、ビデオ圧縮を改良する可能性がある。生成される第1のサブブロックのコンテンツは、コンテンツが動き補償予測とコード化されたルーマ残差とを組み合わせることによって生成される場合、元のデータにより近い可能性があり、第1のサブブロックに基づくものである第2のサブブロックのテンプレートマッチング動き予測は、より正確な可能性がある。このようにして、本開示の技法は、より少ない残差値を含むコード化されたビデオブロックを生成することによって、テンプレートマッチング動き予測を改良することができる。
図1は、本開示の技法を実装することが可能な1つの例示的なビデオエンコーディングおよびデコーディングシステム10を示すブロック図である。図1に示されるように、システム10は、通信チャネル15を介してエンコードされたビデオを宛先デバイス16に送信する、ソースデバイス12を含む。ソースデバイス12と宛先デバイス16とは、任意の広範囲なデバイスを備えることができる。いくつかのケースでは、ソースデバイス12と宛先デバイス16とは、ワイヤレスハンドセット、いわゆるセルラーまたは衛星無線電話などの、ワイヤレス通信デバイス、あるいは、ワイヤレスであるかまたはそうでない可能性のある通信チャネル15を介して、ビデオ情報を通信できる任意のデバイスを備える。しかしながら、テンプレートマッチング予測技法に関係する本開示の技法は、必ずしもワイヤレスのアプリケーションまたは設定に限定されるものではない。
図1の例では、ソースデバイス12は、ビデオソース20、ビデオエンコーダ22、変調器/復調器(モデム)23、および送信器24を含むことができる。宛先デバイス16は、受信器26、モデム27、ビデオデコーダ28、およびディスプレイデバイス30を含むことができる。本開示に従って、ソースデバイス12のビデオエンコーダ22は、BフレームならびにPフレームにテンプレートマッチング予測を適用するように構成可能である。さらにビデオエンコーダ22は、本開示の特定のテンプレートマッチング動き予測の態様を適用するように構成可能である。たとえばビデオエンコーダ22は、ビデオデータをエンコードする際に使用された仮説の数を識別するように構成可能である。仮説の数は、シンタックス要素を使用して、エンコードされたビットストリームの一部としてビデオデコーダ28に信号送信することができる。ビデオデコーダ28は、ビデオデータをデコードする際に使用するために仮説の数を識別するシンタックス要素を、解釈および適用するように構成可能である。
図1に示されたシステム10は単なる例示である。本開示のテンプレートマッチング予測技法は、テンプレートマッチングを使用する動き補償ビデオコーディングをサポートする任意のコーディングデバイスによって実行することができる。ソースデバイス12と宛先デバイス16とは、ソースデバイス12が宛先デバイス16に送信するためのコード化されたビデオデータを内部で生成する、こうしたコーディングデバイスの単なる例である。いくつかのケースでは、デバイス12、16は、デバイス12、16のそれぞれがビデオエンコーディングおよびデコーディングの構成要素を含むように、実質的に対称的に動作可能である。したがって、システム10は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、またはビデオ電話のために、ビデオデバイス12と16の間での一方向または二方向のビデオ送信をサポートすることができる。
ソースデバイス12のビデオソース20は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャしたビデオを含むビデオアーカイブ、または、ビデオコンテンツプロバイダからのビデオフィードを含むことができる。さらに代替として、ビデオソース20は、ソースビデオとして、コンピュータグラフィクスベースのデータ、または、ライブビデオ、アーカイブビデオ、およびコンピュータ生成ビデオの組み合わせを生成することができる。いくつかのケースでは、ビデオソース20がビデオカメラの場合、ソースデバイス12と宛先デバイス16とは、いわゆるカメラ付き電話またはビデオ電話を形成することができる。それぞれのケースで、キャプチャされたビデオ、事前にキャプチャされたビデオ、またはコンピュータ生成ビデオは、ビデオエンコーダ22によってエンコードすることができる。エンコードされたビデオ情報は、その後、たとえば符号分割多元接続(CDMA)または他の通信規格などの通信規格に従って、モデム23によって変調され、送信器24を介して宛先デバイス16に送信されることが可能である。モデム23は、信号変調用に設計された、様々なミキサ、フィルタ、増幅器、または他の構成要素を含むことができる。送信器24は、増幅器、フィルタ、および1つまたは複数のアンテナを含む、データの送信用に設計された回路を含むことができる。
宛先デバイス16の受信器26はチャネル15を介して情報を受信し、モデム27はこの情報を復調する。再度、ビデオエンコーディングプロセスは、本明細書で説明される技法のうちの1つまたは複数を実装することができる。チャネル15を介して通信される情報は、本開示に一致するビデオデコーダ28による使用が可能な、ビデオエンコーダ22によって定義された情報を含むことができる。ディスプレイデバイス30は、デコードされたビデオデータをユーザに表示し、陰極線管、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または他のタイプのディスプレイデバイスなどの、様々なディスプレイデバイスのうちのいずれかを備えることができる。
図1の例では、通信チャネル15は、無線周波(RF)スペクトルあるいは1つまたは複数の物理伝送線路などの任意のワイヤレスまたはワイヤード通信媒体、あるいは、ワイヤレスとワイヤードとの媒体の任意の組み合わせを備えることができる。したがってモデム23と送信機24とは、多くの可能なワイヤレスプロトコル、ワイヤードプロトコル、あるいはワイヤードとワイヤレスとのプロトコルをサポートすることができる。通信チャネル15は、1つまたは複数のネットワークの相互接続を備える、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)などの、パケットベースネットワーク、または、インターネットなどのグローバルネットワークの一部を形成することができる。通信チャネル15は、一般に、ソースデバイス12から宛先デバイス16へビデオデータを送信するための、任意の好適な通信媒体または異なる通信媒体の集合を表す。通信チャネル15は、ルータ、スイッチ、基地局、または、ソースデバイス12から宛先デバイス16への通信を容易にするために有用な可能性のある、任意の他の機器を含むことができる。
ビデオエンコーダ22とビデオデコーダ28とは、代替としてMPEG−4、Part 10、Advanced Video Coding(AVC)として説明される、ITU−T H.264規格などのビデオ圧縮規格に従って動作可能である。しかしながら本開示の技法は、いずれの特定のコーディング規格にも限定されるものではない。図1には示されていないが、いくつかの態様では、ビデオエンコーダ22とビデオデコーダ28とは、それぞれオーディオエンコーダおよびデコーダと統合することが可能であり、共通データストリームまたは別々のデータストリーム内でオーディオとビデオの両方のエンコーディングを処理するために、適切なMUX−DEMUXユニットまたは他のハードウェアおよびソフトウェアを含むことが可能である。適用可能であれば、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠することができる。
ITU−T H.264/MPEG−4(AVC)規格は、Joint Video Team(JVT)として知られる集合的パートナーシップの製品としてのITU−T Video Coding Experts Group(VCEG)ならびにISO/IEC Moving Picture Experts Group(MPEG)によって策定された。いくつかの態様では、本開示で説明される技法は、一般にH.264規格に準拠するデバイスに適用可能である。H.264規格については、本明細書では、H.264規格またはH.264仕様、あるいはH.264/AVC規格または仕様と称されることができる、ITU−T Study Groupによる、2005年3月付けの、汎用オーディオビジュアルサービス向けのITU−T Recommendation H.264、Advanced Video Codingに記載されている。Joint Video Team(JVT)は、H.264/MPEG−4 AVCの拡張についての研究を続けている。
ビデオエンコーダ22とビデオデコーダ28とは、それぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組み合わせとして実装可能である。ビデオエンコーダ22とビデオデコーダ28とはそれぞれ、いずれかが、それぞれのモバイルデバイス、加入者デバイス、ブロードキャストデバイス、サーバなどに、組み合わせられたエンコーダ/デコーダ(CODEC)の一部として統合可能な、1つまたは複数のエンコーダまたはデコーダに含めることが可能である。
典型的には、ビデオシーケンスは一連のビデオフレームを含む。ビデオエンコーダ22とビデオデコーダ28とは、ビデオデータをエンコードおよびデコードするために、個々のビデオフレーム内のビデオブロック上で動作可能である。ビデオブロックは固定または可変のサイズを有することが可能であり、指定されたコーディング規格に従ってサイズが異なる可能性がある。各ビデオフレームは、一連のスライスまたは他の独立にデコード可能なユニットを含むことができる。各スライスは、サブブロックに構成可能な一連のマクロブロックを含むことができる。例として、ITU−T H.264規格は、ルーマ成分の場合、16×16、8×8、または4×4、クロマ成分の場合、8×8などの、様々なブロックサイズのイントラ予測、ならびに、ルーマ成分の場合、16×16、16×8、8×16、8×8、8×4、4×8、および4×4、クロマ成分の場合、対応する拡大縮小サイズなどの、様々なブロックサイズのインター予測をサポートする。ビデオブロックは、ピクセルデータのブロック、または、たとえば離散コサイン変換などの変換プロセスまたは概念上同様の変換プロセスに従った、変換係数のブロックを備えることができる。本開示のいくつかの技法は、具体的に言えば、サブブロックに区分されるルーマブロック(または他のタイプのブロック)に適用可能である。
ビデオブロックは小さいほどより良好な解像度を提供可能であり、高レベルな細部を含むビデオフレームの位置に使用することができる。一般に、マクロブロックおよび様々なサブブロックをビデオブロックとみなすことができる。加えて、スライスを、マクロブロックおよび/またはサブブロックなどの一連のビデオブロックとみなすこともできる。各スライスは、ビデオフレームの独立にデコード可能なユニットとすることができる。代替的に、フレーム自体は、デコード可能なユニットとすることができるか、またはフレームの他の部分をデコード可能ユニットとして定義することができる。「コード化ユニット」という用語は、フレーム全体、フレームのスライス、ピクチャのグループ(GOP)、または、使用されたコーディング技法に従って定義された他の独立にデコード可能なユニットなどの、ビデオフレームの任意の独立にデコード可能なユニットを言い表す。
(本開示のテンプレートマッチング技法を含むことができる)インターベースの予測エンコーディングに従って、および、(H.264/AVCまたは離散コサイン変換すなわちDCTで使用される4×4または8×8の整数変換などの)任意の変換に従って、量子化が実行可能である。量子化とは一般に、場合によっては係数を表すために使用されるデータの量を減らすために係数が量子化されるプロセスを言い表す。量子化プロセスは、係数の一部またはすべてに関連付けられたビット深さを減らすことができる。たとえば、量子化中に16ビット値を15ビット値に切り捨てることができる。量子化に続いて、たとえばコンテンツ適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、または他のエントロピーコーディング方法に従って、エントロピーコーディングを実行することができる。
本開示の技法は、具体的にはテンプレートマッチング予測に適用可能である。双方向予測は、2つの異なるデータリストに基づくいわゆる「Bビデオブロック」の予測である。Bビデオブロックは、2つの前のフレームからの2つのデータリストから、後のフレームからの2つのデータリストから、または、前のフレームからの1つのデータリストと後のフレームからの1つのデータリストから、予測することができる。これに対してPビデオブロックは、たとえば1つの前のフレームまたは1つの後のフレームという、1つの予測フレームに対応することが可能な、1つのリストに基づいて予測される。BフレームおよびPフレームは、より一般的にPユニットおよびBユニットと称されることができる。PユニットおよびBユニットは、フレームのスライスまたはフレームの一部などの、より小さなコード化ユニットで実現されることもできる。Bユニットは、Bビデオブロック、Pビデオブロック、またはIビデオブロックを含むことができる。Pユニットは、PビデオブロックまたはIビデオブロックを含むことができる。IユニットはIビデオブロックのみを含むことができる。
テンプレートマッチングは、動きベクトルを除去しながらも、動き補償ビデオコーディングの利点を依然として提供するために使用可能な技法である。テンプレートマッチングでは、テンプレートはコード化されているビデオブロックに関連して隣接するピクセルの形状を定義する。テンプレート形状は、ビデオブロックに関連して定義される。テンプレート形状は、ビデオブロックに隣接するか、またはビデオブロックを取り囲むことができる。しかしながら、テンプレートは、ビデオブロックに直接隣接して配置される必要はない。すなわち、テンプレート形状の最も近い端部とビデオブロックとの間に、ビデオブロックの1つまたは複数のピクセルが存在することができる。
一例では、仮説は、テンプレート形状内に含まれる予測ビデオデータに基づくものとすることができる。テンプレート形状は、基準ビデオユニット内の1つまたは複数のビデオブロックに適用可能である。仮説とは、基準ビデオユニット内の予測ビデオデータのブロックに関連して定義された、基準ビデオユニット内の対応するテンプレート形状を言い表す。仮説は、第1の予測ビデオユニットの少なくとも一部からの第1の予測ビデオデータのセットに基づくものとすることができる。仮説は、第1の予測ビデオユニットの少なくとも一部からの第1の予測ビデオデータのセットに基づくもの、および、第2の予測ビデオユニットの少なくとも一部からの第2の予測ビデオデータのセットに基づくものとすることもできる。テンプレートマッチング動き予測中に生成または考慮される仮説は、候補仮説と称されることもできる。コード化されている各ビデオブロックに対して複数の候補仮説が存在可能である。
(コード化されているビデオブロック自体ではなく)コード化されているビデオブロックに関連付けられたテンプレートによって定義されたデータを、前または後のビデオユニット内の対応するテンプレートのデータと比較することができる。この比較に基づいて、テンプレートマッチング動き予測アルゴリズムは、候補仮説のセットから最良の仮説を識別する。基準ビデオユニット内で最も近いマッチする仮説が見つかる確率を高くするために、コーディングプロセス中に基準ビデオユニット内の複数の仮説を考慮することができる。最も近いマッチする仮説に対応するビデオブロックは、現行のビデオブロックに最も近いビデオブロックとすることが可能であるため、結果として生じるコード化ビデオブロックは、より少ない残差値を含むことができる。現行のビデオブロックはコード化されているビデオブロックであり、ターゲットビデオブロックとも称されることができる。ビデオエンコーダ22とビデオデコーダ28とは、動きベクトルを使用せずに動きを識別するためにテンプレートマッチングプロセスを実行することができる。したがって、テンプレートマッチングを使用する場合、動きベクトルはビットストリームにコード化されない。むしろ、動きベクトルは、本来、ビデオユニットがエンコードおよびデコードされる際に、テンプレートマッチングプロセスから導出される。
図2は、本開示に一致するテンプレートマッチング動き予測技法と、ベクトルベースの動き予測技法との両方を実行することができる、ビデオエンコーダ40の例を示すブロック図である。ビデオエンコーダ40は、本明細書では「コーダ」と称される特殊なビデオコンピュータデバイスまたは装置の一例である。ビデオエンコーダ40は、ソースデバイス12のビデオエンコーダ22または異なるデバイスのビデオエンコーダに対応することができる。ビデオエンコーダ40は、ビデオフレーム内のブロックのイントラコーディングとインターコーディングとを実行することが可能であるが、図を見やすくするために、図2にはイントラコーディング構成要素は示されていない。イントラコーディングは、所与のビデオフレーム内のビデオの空間的冗長性を削減または除去するための、空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレーム内のビデオの時間的冗長性を削減または除去するための、時間的予測に依拠する。イントラモード(Iモード)は空間ベース圧縮モードと称されることができ、予測(Pモード)または双方向(Bモード)などのインターモードは、時間ベース圧縮モードと称されることができる。Bモードを使用してエンコードされるユニットは、2つのフレームを参照してエンコードされる。H.264および他の規格では、Bフレームまたは他のユニットを、2つの時間的に隣接するフレームを参照しながらエンコードすることができる。たとえば、エンコードされるべき現行ユニットがフレームN内に常駐する場合、現行ユニットをエンコードするためにフレームN−1およびN−2を基準フレームとして使用することができる。他の例では、現行ユニットをエンコードするためにフレームN+1およびN+2を基準フレームとして使用することができる。いくつかのケースでは、フレームN内に常駐する現行ユニットをエンコードするために、少なくとも1つの時間的に後のフレーム(たとえばフレームN+1)および少なくとも1つの時間的に前のフレーム(たとえばフレームN−1)を使用することができる。エンコーディングでは、実際には前のフレームまたは後のフレームの一部分のみが考慮または使用されることが何度でもある。
図2に示されるように、ビデオエンコーダ40は、エンコードされるべきビデオユニット内のビデオブロックを受信する。図2の例では、ビデオエンコーダ40は、テンプレートマッチング動き推定(TM ME)ユニット43とテンプレートマッチング動き補償(TM MC)ユニット45とを備える、テンプレートマッチング予測ユニット42(「TM予測ユニット42」)を含む。ビデオエンコーダは、メモリ44と、加算器46と、変換ユニット48と、量子化ユニット50と、エントロピーコーディングユニット52とも含む。ビデオブロックの再構築のために、ビデオエンコーダ40は、逆量子化ユニット54と、逆変換ユニット56と、加算器58とも含む。ビデオエンコーダ40は、再構築されたビデオからブロック歪みアーティファクト(blockiness artifact)を除去するためにブロック境界をフィルタリングするためのデブロッキングフィルタ(図示せず)を含むこともできる。所望であれば、デブロッキングフィルタは、典型的には加算器58の出力をフィルタリングすることになる。図2には示されていないが、ビデオエンコーダ40は、ベクトルベースの動き予測技法を実行するための予測ユニットを含むこともできる。予測ユニットは、現行ビデオブロックをコード化するために使用されるターゲットブロックを識別するために使用可能なシンタックス要素を備える、予測モードおよび動きベクトルを生成することができる。予測ユニットは、動き推定ユニットと動き補償ユニットとを含むことができる。
エンコーディングプロセス時に、ビデオエンコーダはコード化されるべきビデオブロックを受信し、TM MEユニット43とTM MCユニット45とは、インター予測コーディングを実行する。TM MEユニット43とTM MCユニット45とは、高度に統合可能であるが、概念上の目的で別々に示されている。動き推定は、典型的には、ビデオブロックに関する動きを推定する動きベクトルの生成プロセスとみなされる。たとえば、動きベクトルは、現行フレーム(または他のコード化ユニット)内でのコード化されている現行ブロックに関連して、予測フレーム(または他のコード化ユニット)内での予測ブロックの置換を示すことができる。動き補償は、典型的には、動き推定によって決定された動きベクトルに基づいた予測ブロックのフェッチまたは生成プロセスとみなされる。ここでも、TM MEユニット43とTM MCユニット45とは、機能的に統合可能である。例示のために、本開示で説明される技法は、TM予測ユニット42によって実行されているものとして説明される。
一例では、TM予測ユニット42は、たとえばターゲットビデオブロックなどの現行ビデオブロックをエンコードするために、テンプレートマッチング動き予測を適用する。TM予測ユニット42は、例として、コード化されているターゲットブロックに関連して定義されたテンプレート形状内のピクセルと、前および/または後のビデオユニットの対応するデータとを比較することができる。テンプレートマッチング動き予測を適用する場合、TM予測ユニット42は、ビデオユニットの第1のセット(リスト0と称されることができる)から、前のビデオユニットまたは後のビデオユニットを選択し、このリスト0からのこの前または後のビデオユニットのみを使用して仮説のセットを決定することができる。代替として、TM予測ユニット42は、ビデオユニットの第2のセット(リスト1と称されることができる)から、前または後のビデオユニットを選択し、このリスト1からのこの前または後のビデオユニットのみを使用して仮説のセットを決定することができる。
Bフレーム上でのテンプレートマッチングを実行可能にするために、Bフレームに対して1つまたは2つの仮説セットを使用することができる。1つの仮説セットが使用される場合、仮説セットはリスト0とリスト1の両方から見つけられた仮説を含むことができる。2つの仮説セットが使用される場合、一方の仮説セットはリスト1から見つけられた仮説を含むことが可能であり、他方の仮説セットはリスト0から見つけられた仮説を含むことが可能である。さらに第3の仮説セットを双方向動き予測から形成することが可能であり、ここでリスト0からのデータおよびリスト1からのデータは、場合によっては第3の仮説セットからのデータを重み付け様式で定義するために、予測に使用される。任意の所与のリストに関する仮説のセットは、コード化されているビデオブロックに最も類似した所望の予測ビデオブロックを識別する、1つの特定の仮説を含むことができる。最良の仮説を見つけるために、絶対差の総和(SAD)または差の2乗和(SSD)(the sum of squared difference)などのメトリックを使用することが可能であり、次にこの最良の仮説が、コード化に使用されるべき予測ビデオブロックを識別する。
TM予測ユニット42は、エンコーディングプロセス時に生成された仮説のセットから1つまたは複数の仮説を選択する。一例では、テンプレートマッチング動き予測に使用される仮説の数を信号送信するために、シンタックス要素が導入される。この例では、2つの異なる仮説の数、たとえばKとKとが使用できる可能性がある。Kはターゲットブロックをエンコーディングおよびデコーディングする場合に使用可能な仮説の第1の数を表し、Kはターゲットブロックをエンコーディングおよびデコーディングする場合に使用可能な仮説の第2の数、たとえば最大数を表す。たとえばKは4、Kは8とすることができる。ターゲットブロックのエンコーディングに使用する仮説の数を決定するために、TM予測ユニット42は、Kの仮説に基づいて第1の予測ビデオデータのセットを、および、Kの仮説に基づいて第2の予測ビデオデータのセットを、生成することができる。TM予測ユニット42は、すべての可能な仮説のセットからKの最良の仮説を含む仮説のサブセットを識別することによって、第1の予測ビデオデータのセットを生成することができる。所与のサブセット内の最良の仮説を、コード化されているターゲットビデオブロックに関連して定義されたテンプレート形状内のビデオデータと最も緊密にマッチする仮説とすることができる。所与のサブセットを定義するための最良の仮説を決定するために、たとえば絶対差の総和(SAD)または差の2乗和(SSD)を適用することができる。TM予測ユニット42は、仮説のサブセット内の各仮説に対応する基準ビデオブロックを識別し、識別された基準ビデオブロック内に同じ相対位置を有する各ピクセルに関するピクセル値を平均することができる。TM予測ユニット42は、実質的に同じように、Kの仮説に基づいて第2の予測ビデオデータのセットを生成することができる。この例では、基準ブロック内の各ピクセルに関する平均ピクセル値が、Kおよび/またはKの仮説に関連付けられた予測ビデオデータのセットを生成するために計算されるが、Kおよび/またはKの仮説に関連付けられた予測データの他のセットを組み合わせるために、他の数学的計算またはメトリクスを使用することができる。
TM予測ユニット42が、予測ビデオデータの第1と第2のセットのうちの少なくとも1つを生成した後、TM予測ユニット42は、予測ビデオデータの第1または第2のセットを使用する場合に、ターゲットブロックをエンコーディングするためのコストを決定するために、ラグランジュ乗数を適用することができる。コストを決定するために、TM予測ユニット42は、C=D+λRとして定義されたコスト関数を使用し、この式でCはコスト、Dは歪み、λはラグランジュ乗数、およびRはエンコーディング率である。TM予測ユニット42は、最終的に最も低い歪みコスト率を引き出すことになる仮説の数を選択し、新しいシンタックス要素を通じてターゲットフレームをエンコーディングする際に、TM予測ユニット42によって使用された仮説の数を識別することができる。考慮される仮説の数が多すぎる場合、テンプレートマッチングのコーディング効率が損なわれる可能性がある。ターゲットブロックをエンコードする場合に最もコストの低い仮説の数を信号送信するためにシンタックス要素を組み込むことによって、エンコーディングおよびデコーディング時に、より望ましい仮説の数を考慮することが可能であり、それによってテンプレートマッチングのコーディング効率全体を向上させることができる。
本開示の一態様では、TM予測ユニット42は、改良された仮説拒絶技法を使用して仮説を拒絶することもできる。この技法では、考慮中の各仮説が基準仮説と比較される。基準仮説は、すべての仮説または考慮中の最良の仮説のサブセットのピクセル値を平均化することによって生成可能である。考慮中の仮説と基準仮説との間の差分がしきい値よりも大きい場合、考慮中の仮説を考慮の対象から除去することができる。この差分は、以下で説明される重み付けされた絶対差の総和(WSAD)、または、たとえば考慮中の仮説と基準仮説とのピクセルのSADに基づいて、計算することができる。仮説は、どの仮説が拒絶または選択されたかをデコーダに信号送信することなく、拒絶または選択することができる。
本開示の他の態様に従って、仮説選択を改良するためにSADを重み付けすることができる。SADは、現行ブロック内の各ピクセルのピクセル値と、基準ブロック内の対応ピクセルとの間の差分の絶対値の和である。現行ブロックのテンプレートと基準ブロックのテンプレートとを、Kの部分に区分することができる。図3に示されるように、ターゲットビデオユニット62はターゲットブロック64とターゲットブロックテンプレート66とを含み、基準ビデオユニット68は基準ブロック70と基準ブロックテンプレート72とを含む。この例では、ターゲットブロックテンプレート66と基準ブロックテンプレート72とは、それぞれ4つのテンプレート区画に区分される。ターゲットブロックテンプレート66または基準ブロックテンプレート72のそれぞれ特定のテンプレート区画に与えられた重み付けは、各テンプレート区画とターゲットブロック64または基準ブロック70との間の距離が増加すると、減少することができる。重み付けされた絶対差の総和(WSAD)は、以下のように定義することができ、
Figure 0005752771
上式でwはk番目のテンプレート区画に関する重み値であり、TPkは基準ブロックに関連付けられたk番目のテンプレート区画であり、TBkはターゲットブロックに関連付けられたk番目のテンプレート区画であり、nはテンプレート区画k内のピクセル数であり、Kはターゲットブロックに関連付けられたテンプレートと基準ブロックに関連付けられたテンプレートがそれぞれ分割された区画の数である。
TM予測ユニット42は、ビデオエンコーディングの品質を改良するために基準ブロックとターゲットブロックとの間のオフセットを予測するため、計算されたテンプレートオフセットを適用することもできる。テンプレート形状によって定義された最良のマッチング仮説を検索する場合、TM予測ユニット42は、ターゲットブロックに関連して定義されたテンプレート内の各ピクセルのピクセル値と、候補仮説内の各ピクセルのピクセル値との間の平均差分を、以下の式を使用して計算することができ、
Figure 0005752771
上式で、TBkは候補仮説内のピクセルのピクセル値であり、TPkはターゲットブロックに関連して定義されたテンプレート内のピクセルのピクセル値であり、Kはターゲットブロックに関連して定義されたテンプレート内のピクセルの数であり、offsetは候補仮説のピクセルとターゲットブロックに関連して定義されたテンプレートとの間のピクセル値の平均差分である。このピクセル値の平均差分は、テンプレートオフセットとして知られる。潜在的仮説セットの各候補仮説について、TM予測ユニット42は、1つのこうしたオフセットを計算することができる。
特定の候補仮説についてテンプレートオフセットが計算されると、TM予測ユニット42は、候補仮説の各ピクセル値を取り、基準テンプレート内の対応するピクセルのピクセル値を減じ、さらにオフセットを減じることによって、候補仮説に対する絶対差の総和を計算することができる。候補仮説の絶対差の総和は、以下のように定義され、
Figure 0005752771
上式で、TBkは候補仮説内のピクセルのピクセル値であり、TPkはターゲットブロックに関連して定義されたテンプレート内のピクセルのピクセル値であり、Kは候補仮説内のピクセルの数であり、offsetは候補仮説のピクセルとターゲットブロックに関連して定義されたテンプレートのピクセルとの間のピクセル値の平均差分である。取得されたテンプレートオフセットは、ターゲットブロックのオフセットであると想定される。テンプレートオフセットを考慮に入れることによって、ターゲットブロックの動き補償予測は以下のように表すことができ、
Figure 0005752771
上式で、B’はターゲットブロックの動き補償予測であり、Pは基準ブロック内のピクセルのピクセル値であり、offsetは以前に計算されたテンプレートに関する平均オフセットである。テンプレートオフセットによってターゲットブロックの絶対差の総和を調整することにより、選択された仮説が実際に最良の仮説である可能性がより高くなり、それによって残差を削減し、格納しなければならない情報量を減少させる。
図4では、テンプレート74がターゲットサブブロック76に関連して定義され、サブブロック76とサブブロック78とが同じビデオブロックの区画である、サブブロック78の一部に重なる。サブブロック78が使用可能な再構築されたピクセルを持たない場合、サブブロック78のコンテンツは、たとえば動き補償予測の結果を使用して決定することができる。サブブロック78のコンテンツが動き補償予測の結果を使用して決定された場合、サブブロック78の動き補償予測結果が元のデータと大幅に異なる可能性があるため、ターゲットサブブロック76の動き予測の正確さが損なわれる可能性がある。サブブロック78が使用可能な再構築されたピクセルを持たない場合に、ターゲットサブブロック76の動き予測の正確さを向上させるために、TM予測ユニット42は、ターゲットサブブロック76のコーディング前にサブブロック78がコード化されるまで待機することができる。サブブロック78がコード化されるまで待機することによって、サブブロック78のコンテンツは元のデータにより近くなり、ターゲットサブブロック76のテンプレートマッチング動き予測はより正確になることができる。
一例では、サブブロック76とサブブロック78とは、ルーマビデオブロックのサブブロックである。一般に、ルーマビデオブロックは、ビデオブロック内のピクセルに関する16×16ブロックのルーマ値である。ルーマビデオブロックは、たとえば複数の8×8、8×4、または4×4ピクセルのサブブロックに区分することができる。サブブロック78のコンテンツを決定するために、TM予測ユニット42は、動き補償予測とサブブロック78のルーマ残差とをまず計算する。動き補償予測は、基準ビデオユニット内の対応するサブブロックのピクセル値を含む。ルーマ残差は、サブブロック78と基準ビデオユニット内の対応するサブブロックとのルーマ値における差分である。次にTM予測ユニット42は、サブブロック78のコンテンツを決定するために、動き補償予測とコード化されたルーマ残差とをコード化されたルーマ結果に組み込む。TM予測ユニット42がサブブロック78のコンテンツを決定すると、テンプレート74に対してピクセル値が使用可能となり、TM予測ユニット42はサブブロック76に関するテンプレートマッチング動き予測の実行を進めることができる。
図5は、テンプレートマッチング動き予測をPフレームおよびBフレームに適用すること、シンタックス要素によって定義された仮説の数を適用すること、WSADを計算および適用すること、および/またはテンプレートオフセットを計算および適用すること、などの、前述のエンコーディング技法に対して相互的なデコーディング技法を実行することが可能な、ビデオデコーダ80の例を示すブロック図である。ビデオデコーダ80は、エントロピーデコーディングユニット82と、テンプレートマッチング(TM)予測ユニット84と、逆量子化ユニット86と、逆変換ユニット88と、メモリ90と、加算器92とを含むことができる。TM予測ユニット84は、テンプレートマッチング動き予測(TM ME)ユニット85と、テンプレートマッチング動き補償(TM MC)ユニット87、ならびに、図を簡単で見やすくするために示されていない空間的予測構成要素を含むことができる。
一般に、エントロピーデコーディングユニット82は、エンコードされたビットストリームを受信し、量子化された係数および他のシンタックス要素を生成するためにこのビットストリームをデコードする。予測ユニット84は、この開示に一致したテンプレートマッチング動き予測を実行することができる。シンタックス要素は、エンコードされたビデオユニットをエンコードする際に、ビデオエンコーダによって考慮される仮説の数を指定する情報を含むことができる。TM予測ユニット84は、デコーディングプロセス時に使用される仮説の数を、シンタックス要素によって識別された仮説の数に限定することによって、ビデオユニットをデコードする際に識別された仮説の数を考慮することができる。シンタックス要素によって識別された仮説の数を使用してエンコードされたビデオユニットをデコードする場合、TM予測ユニット84は、すべての可能な仮説のセットからシンタックス要素によって識別された最良の仮説の数を含む仮説のサブセットを識別することによって、予測ビデオデータのセットを生成することができる。所与のサブセット内の最良の仮説は、コード化されているターゲットブロックに関連して定義されたテンプレート形状内のビデオデータに最も緊密にマッチする仮説とすることができる。たとえば、SADまたはSSDを、所与のサブセットを定義するための最良の仮説を決定するために、適用することができる。TM予測ユニット84は、仮説のサブセット内の各仮説に対応する基準ビデオブロックを識別し、識別された基準ビデオブロック内の同じ相対的位置を有する各ピクセルに関するピクセル値を平均化することができる。この例では、シンタックス要素によって識別された仮説の数に関連付けられた予測ビデオデータのセットを生成するために、基準ブロック内の各ピクセルに関する平均ピクセル値が計算されるが、他の数学的計算またはメトリクスが使用可能である。一般に、エンコーダによって使用された同じ数学的計算が、デコーダによっても使用される。このようにして、TM予測ユニット84は、エンコードされたビデオブロックをデコードするために、予測ビデオデータのセットを生成する。
量子化された係数は、エントロピーデコーディングユニット82から、逆量子化を実行する逆量子化ユニット86へと送信される。次に、逆変換ユニット88が残差ブロックを生成するために、逆量子化された係数をピクセルドメインへと逆変換する。加算器92は、メモリ90内に格納すること、および/またはデコードされたビデオ出力としてビデオデコーダ80から出力することができる、再構築されたビデオブロックを作成するために、TM予測ユニット84によって生成された予測データのセットと、逆変換ユニット88からの残差ブロックと組み合わせる。
図6A〜図6Bは、本開示に一致するビデオエンコーダによって実行される例示的プロセスを示す流れ図である。図6A〜図6Bについては、図2のビデオエンコーダ40の見地から説明される。図6Aに示されるように、TM予測ユニット42は基準リストを生成する(100)。基準リストは、1つまたは複数の基準ビデオユニットからのビデオ情報を含むことができる。基準ビデオユニットは、ターゲットビデオブロックを含むビデオユニットに関連して、時間的に前に、または時間的に後に、発生することができる。次にTM予測ユニット42は、ターゲットビデオブロックを選択し(102)、ターゲットブロックに関連してテンプレート形状を定義する。ターゲットブロックがルーマブロックのサブブロックであり、テンプレート形状の何らかの部分が使用可能な再構築されたピクセルを持たない場合(104のNO)、TM予測ユニット42は、使用可能な再構築されたピクセルを持たないテンプレート形状の部分に関連付けられた、サブブロック区画コンテンツを生成する(106)。特に、サブブロック区画コンテンツは、ルーマ残差とサブブロック区画の動き補償予測とを組み合わせることによって生成することができる。サブブロック区画コンテンツが生成される(106)、または再構築されたピクセルがターゲットブロックに関連付けられたテンプレート全体に使用可能である場合(104のYES)、TM予測ユニット42は、基準リストとターゲットブロックに関連付けられたテンプレートとに基づいて、1つまたは複数の仮説セットを生成する(108)。
仮説セットの各仮説について、TM予測ユニット42は、ターゲットブロックに関連して定義されたテンプレート形状内の各ピクセル値と、仮説セットからの候補仮説内の各ピクセルのピクセル値との間の、平均差分を計算することによって、テンプレートオフセットを計算する(110)。次にTM予測ユニット42は、各仮説に関する重み付けされた絶対差の総和を計算することができる(112)。一例では、TM予測ユニット42は、計算されたピクセル値に、ビデオブロックとテンプレート区画との間の距離が増加するにつれて重み係数が減少するように重み係数を掛けることによって、テンプレートオフセットに基づいて計算されたピクセル値を使用して、WSADを計算する。他の例では、TM予測ユニット42は、計算されたピクセル値に、ビデオブロックとテンプレート区画との間の距離が増加するにつれて重み係数が減少するように重み係数を掛けることによって、WSADを計算するが、テンプレートオフセットに基づいてピクセル値を調整することはない。TM予測ユニット42は、重み係数を消去することによって、WSADではなくSADを計算することができる。WSADまたはSADの計算において、TM予測ユニット42は、計算されたテンプレートオフセットを組み込むことができる。テンプレートオフセットとWSADまたはSADのいずれかとが計算されると、TM予測ユニット42は、一例では、考慮中のすべての仮説を平均化することによって、または他の例では、考慮中の最良の仮説のサブセットを平均化することによって、基準仮説を生成することができる(114)。
図6Bに関して、TM予測ユニット42は、考慮に使用可能な仮説のうちの1つを選択し(116)、考慮している仮説Hと基準仮説Hとの間の差分を計算して、この値の差としきい値Tとを比較することができる(118)。考慮している仮説Hと基準仮説Hとの間のこの差分値は、考慮している仮説Hの各ピクセルと基準仮説Hとの間の絶対差の総和を備えることができる。この差分(すなわち、考慮中の仮説のピクセルと基準仮説のピクセルとのSAD)がしきい値Tよりも大きい場合(118のYES)、その仮説は考慮の対象から除去することができる(120)。しかしながら、HのピクセルとHのピクセルとの間の差分がTより小さい(118のNO)場合、またはHが考慮から除去された(120)後、TM予測ユニット42は、考慮中の仮説のセットにいずれかの仮説が残っているかどうかを判別する(122)。仮説が残っている場合、TM予測ユニット42は考慮のために新しい仮説を選択し(116)、考慮されている仮説と以前に生成された基準仮説との間の値の差分がしきい値よりも大きいかどうかを判別する(118)。考慮に使用可能なまだ考慮されていない仮説が存在しない場合(122のNO)、TM予測ユニット42は、仮説のセットから第1の仮説の数がエンコーディングに使用される場合のターゲットビデオブロックのエンコーディングに関連付けられたコストと、第2の仮説の数が使用される場合のターゲットビデオブロックのエンコーディングに関連付けられたコストとを計算することによって、仮説の数を選択する(124)。
ターゲットブロックのエンコーディングに使用するための仮説の数を選択する(124)ために、TM予測ユニット42は、第1の仮説の数に基づいた第1の予測ビデオデータのセットと、第2の仮説の数に基づいた第2の予測ビデオデータのセットとを、生成することができる。TM予測ユニット42は、すべての可能な仮説のセットから第1の最良の仮説の数を含む仮説のサブセットを識別することによって、第1の予測ビデオデータのセットを生成することができる。次にTM予測ユニット42は、仮説のサブセット内の各仮説に対応する基準ビデオブロックを識別し、識別された基準ビデオブロック内の同じ相対的位置を有する各ピクセルに関するピクセル値を平均化することができる。TM予測ユニット42は、実質的に同じ様式で、第2の仮説の数に基づいて第2の予測ビデオデータのセットを生成することができる。TM予測ユニット42が予測ビデオデータの第1と第2のセットを生成した後、TM予測ユニット42は、予測ビデオデータの第1または第2のセットを使用する場合に、ターゲットブロックのエンコーディングのためのレート歪みコストを決定する。TM予測ユニット42は、最終的に最も低いレート歪みコストを引き出すことになる仮説の数を選択する。
次にTM予測ユニット42は、選択された仮説の数に対してシンタックス要素を生成する(126)。シンタックス要素は、ターゲットブロックのエンコーディングの際に、第1または第2のいずれの数の選択された仮説が使用されたかについて、デコーダに信号送信する(126)。次にビデオエンコーダ40は、予測ビデオデータのセットに基づいて、ビデオブロックをエンコードすることができる(128)。一例では、ビデオエンコーダ40は、最もコストの低い仮説の数に関連付けられた予測ビデオデータのセットに基づいて、ビデオブロックをエンコードする。他の例では、TM予測ユニット42は最良の仮説を選択し、ビデオエンコーダ40は、最良の仮説に関連付けられた基準ビデオブロック内に含まれる予測ビデオデータに基づいて、ビデオブロックをエンコードする。他の例では、TM予測ユニット42は、考慮に使用可能な残りのすべての仮説に関連付けられたすべての基準ビデオブロックに基づいて、予測ビデオデータを生成することができ、ビデオエンコーダ40は、この予測ビデオデータに基づいてビデオブロックをエンコードする。
図7A〜図7Bは、本開示に一致するビデオデコーダによって実行される例示的プロセスを示す流れ図である。図7A〜図7Bについては、図5のビデオデコーダ80の見地から説明する。図7Aに示されるように、ビデオデコーダ80は、エンコードされたビデオデータを受信し(132)、エンコードされたビデオデータのエンコーディングの際にビデオエンコーダによって使用された仮説の数を識別する1つまたは複数のシンタックス要素を受信する。TM予測ユニット84は、ターゲットビデオブロックを選択し、ターゲットブロックに関連付けられたテンプレートを識別して、基準リストを生成する(134)。基準リストは、1つまたは複数の基準ビデオユニットからのビデオ情報を含む。基準ビデオユニットは、ターゲットビデオブロックを含むビデオユニットに関連して、時間的に前に、または時間的に後に、発生可能である。ターゲットブロックに関連して定義されたテンプレート形状の一部が使用可能な再構築されたピクセルを持たず(136のNO)、ターゲットブロックがルーマブロックのサブブロックである場合、TM予測ユニット84は、使用可能な再構築されたピクセルを持たないテンプレート形状の部分に関連付けられたサブブロック区画コンテンツを生成することができる(138)。特に、サブブロック区画コンテンツは、ルーマ残差と動き補償予測とを組み合わせることによって生成可能である。サブブロック区画コンテンツが生成される(138)か、または再構築されたピクセルがターゲットブロックに関連して定義されたテンプレート形状全体に使用可能である場合(136のYES)、TM予測ユニット42は、基準リストと、ターゲットブロックに関連付けられたテンプレートとに基づいて、1つまたは複数の仮説セットを生成する(140)。
仮説セットのうちの各仮説について、TM予測ユニット84は、ターゲットブロックに関連して定義されたテンプレート形状内の各ピクセルのピクセル値と、仮説セットのうちの候補仮説内の対応する各ピクセルのピクセル値との間の、平均差分を計算することによって、テンプレートオフセットを計算することができる(142)。次にTM予測ユニット84は、各仮説について重み付けされた絶対差の総和を計算することができる(144)。一例では、TM予測ユニット84は、計算されたピクセル値に、ビデオブロックとテンプレート区画との間の距離が増加するにつれて重み係数が減少するように重み係数を掛けることによって、テンプレートオフセットに基づいて計算されたピクセル値を使用して、WSADを計算する。他の例では、TM予測ユニット84は、計算されたピクセル値に、ビデオブロックとテンプレート区画との間の距離が増加するにつれて重み係数が減少するように重み係数を掛けることによって、WSADを計算するが、テンプレートオフセットに基づいてピクセル値を調整することはない。TM予測ユニット84は、重み係数を消去することによって、WSADではなくSADを計算することができる。SADの計算において、TM予測ユニット84は、計算されたテンプレートオフセットを組み込むことができる。
図7Bに関して、TM予測ユニット84は、一例では考慮中のすべての仮説を、または他の例では考慮中の最高の仮説のサブセットを平均化することによって、基準仮説を計算することができる(146)。次にTM予測ユニット84は、考慮に使用可能な仮説のうちの1つを選択し(148)、考慮している仮説Hと基準仮説Hとの間の差分を計算して、この値の差としきい値Tとを比較することができる(150)。考慮している仮説Hと基準仮説Hとの間のこの差分値は、考慮している仮説Hの各ピクセルと基準仮説Hとの間の絶対差の総和を備えることができる。この差分(すなわち、考慮中の仮説のピクセルと基準仮説のピクセルとのSAD)がしきい値Tよりも大きい場合(150のYES)、その仮説は考慮の対象から除去することができる。値の差分がTより小さい(150のNO)場合、またはHが考慮から除去された(152)後、TM予測ユニット84は、考慮中の仮説のセットにいずれかの仮説が残っているかどうかを判別する(154)。仮説が残っている場合、予測ユニットは考慮のために新しい仮説を選択し(148)、考慮されている仮説と以前に生成された基準仮説との間の値の差分がしきい値よりも大きいかどうかを判別する(150)。考慮に使用可能なまだ考慮されていない仮説が存在しない場合(154のNO)、TM予測ユニット84は、ターゲットブロックのエンコード時に考慮される仮説の数を識別するシンタックス要素をデコードし、仮説の数を適用することができる(156)。
仮説の数を適用するために(156)、TM予測ユニット84は、すべての可能な仮説のセットからシンタックス要素によって識別された最良の仮説の数を含む仮説のサブセットを識別することによって、予測ビデオデータのセットを生成する。次にTM予測ユニット84は、仮説のサブセット内の各仮説に対応する基準ビデオブロックを識別し、識別された基準ビデオブロック内の同じ相対的位置を有する各ピクセルに関するピクセル値を平均化することができる。次にビデオデコーダ80は、予測ビデオデータに基づいてビデオをデコードすることができる(158)。一例では、ビデオデコーダ80は、コストが最低の仮説の数に関連付けられた予測ビデオデータのセットに基づいてビデオブロックをデコードする。他の例では、TM予測ユニット84は最良の仮説を選択し、ビデオデコーダ80は、最良の仮説に関連付けられた基準ビデオブロック内に含まれる予測ビデオデータに基づいて、ビデオブロックをデコードする。他の例では、TM予測ユニット84は、考慮に使用可能な残りのすべての仮説に関連付けられたすべての基準ビデオブロックに基づいて、予測ビデオデータを生成することができ、ビデオエンコーダ80は、この予測ビデオデータに基づいてビデオブロックをエンコードする。
本開示に従って動作するビデオコーダは、図6A〜図6Bと図7A〜図7Bとに示された方法例のうちの1つまたは複数のステップを省略することができる。たとえばビデオコーダは、テンプレートオフセットの計算、重み付けされた絶対差の総和の計算、基準仮説の生成、または仮説の数を指定するシンタックスの使用を、実行しなくてもよい。一般に、ビデオコーダは、少なくともターゲットブロックを選択すること、仮説のセットを生成すること、および仮説のセットに基づいてビデオユニットをコーディングすることによって、本開示で説明されたテンプレートマッチング動き予測技法を実行することになる。
本開示の技法は、ワイヤレスハンドセットと、集積回路(IC)またはICのセット(すなわちチップセット)を含む、多種多様なデバイスまたは装置において実装されることができる。機能上の態様を強化するために提供され、異なるハードウェアユニットによる実現を必ずしも必要としない、任意の構成要素、モジュール、またはユニットについて説明されてきた。本明細書で説明された技法は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせにおいても実装されることができる。モジュール、ユニット、または構成要素として説明されたいずれの機能も、集積論理デバイス内にまとめて、あるいは、個別であるが相互に動作可能な論理デバイスとして別個に、実装されることができる。いくつかのケースでは、様々な機能が、集積回路チップまたはチップセットなどの、集積回路デバイスとして実装されることができる。
ソフトウェア内で実装される場合、技法は、プロセッサ内で実行された場合に前述の方法のうちの1つまたは複数を実行する命令を備えるコンピュータ可読媒体によって、少なくとも部分的に実現されることができる。コンピュータ可読媒体は、コンピュータ可読記憶媒体を備えることができ、パッケージング材料を含むことができるコンピュータプログラム製品の一部を形成することができる。コンピュータ可読記憶媒体は、同期型ダイナミックランダムアクセスメモリ(SDRAM)などのランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、電気的消去可能プログラマブル読取り専用メモリ(EEPROM)、FLASHメモリ、磁気または光データ記憶媒体などを備えることができる。追加または代替として、技法は、命令またはデータ構造の形でコードを搬送または通信し、コンピュータによるアクセス、読取り、および/または実行が可能な、コンピュータ可読通信媒体によって、少なくとも部分的に実現されることができる。
コードまたは命令は、1つまたは複数のデジタル信号プロセッサ(DPS)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価の集積またはディスクリートロジック回路などの、1つまたは複数のプロセッサによって実行されることができる。したがって、本明細書で使用される「プロセッサ」という用語は、本明細書で説明された技法の実装に好適な前述の構造または任意の他の構造のうちのいずれかを言い表すものとすることができる。加えていくつかの態様では、本明細書で説明された機能は、エンコーディングおよびデコーディング向けに構成されるか、または組み合わされたビデオコーデックに組み込まれた、専用のソフトウェアモジュールまたはハードウエアモジュール内に提供することができる。また技法は、1つまたは複数の回路または論理素子内に完全に実装されることができる。
本開示は、本開示で説明された技法のうちの1つまたは複数を実装するための回路を含む、任意の様々な集積回路デバイスも企図している。こうした回路は、単一の集積回路チップ、または、いわゆるチップセット内の複数の相互動作可能な集積回路チップ内に提供されることができる。こうした集積回路デバイスは、様々な適用例で使用されることができ、その一部は、携帯電話ハンドセットなどのワイヤレス通信デバイス内での使用を含むことができる。
本発明の様々な実施形態について説明してきた。これらおよび他の実施形態は、以下の特許請求の範囲の範囲内にある。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
(1) 現行ビデオユニットの現行ビデオブロックをコーディングするためのビデオコーディング方法であって、
テンプレートマッチング予測ビデオコーディングに関する仮説セットを生成することであって、前記仮説セットのうちの少なくともいくつかの前記仮説は、第1の予測ビデオユニットの少なくとも一部からの第1の予測ビデオデータのセットと、第2の予測ビデオユニットの少なくとも一部からの第2の予測ビデオデータのセットと、に基づくものであり、且つ、前記仮説セット内のそれぞれの前記仮説は、ビデオブロック位置に関連して定義されたテンプレート形状に対応する予測ビデオデータを備える、仮説セットを生成することと、
前記仮説セットから前記仮説のうちの1つを選択することと、及び、
前記仮説のうちの選択された1つによって識別された予測ビデオデータを使用して、ビデオコーダを介して、前記現行ビデオブロックをコーディングすることと、
備える、ビデオコーディング方法。
(2) 前記ビデオコーダは、ビデオエンコーダを備え、
前記方法は、
前記仮説セット内の第1の仮説のサブセットに基づいて、第1の予測ビデオデータのセットを生成することと、
前記仮説セット内の第2の仮説のサブセットに基づいて、第2の予測ビデオデータのセットを生成することと、
前記現行ビデオブロックのエンコーディングに関連付けられた第1のコストを計算することであって、前記第1のコストを計算することは、前記第1の予測ビデオデータのセットを使用してエンコードされた後に、前記現行ビデオブロックのビット数と品質レベルとを決定することを含む、第1のコストを計算することと、
前記現行ビデオブロックのエンコーディングに関連付けられた第2のコストを計算することであって、前記第2のコストを計算することは、前記第2の予測ビデオデータのセットを使用してエンコードされた後に、前記現行ビデオブロックのビット数と品質レベルとを決定することを含む、第2のコストを計算することと、
前記第1のコストおよび前記第2のコストから、前記現行ビデオブロックのエンコーディングに関連付けられた最低コストを決定することと、及び、
前記第1の仮説のサブセットまたは前記第2の仮説のサブセットのいずれがデコーダによって使用されるべきであるかに関する信号を送信するように、シンタックス要素を設定することと、
をさらに備える、(1)に記載のビデオコーディング方法。
(3) 前記ビデオコーダは、ビデオデコーダを備え、
前記方法は、
エンコードされたビデオデータのエンコーディングで使用された前記仮説セットの仮説の数を識別する、1つまたは複数のシンタックス要素をデコードすることと、
前記仮説セットから仮説のサブセットを識別することであって、前記サブセットは、前記1つまたは複数のシンタックス要素によって信号送信された前記仮説の数を含む、仮説のサブセットを識別することと、及び、
前記仮説のサブセットに基づいて、予測ビデオデータのセットを生成することと、
をさらに備え、
前記現行ビデオブロックをコーディングすることは、前記生成された予測ビデオデータのセットを使用して、前記エンコードされたビデオデータをデコードすることをさらに備える、
(1)に記載のビデオコーディング方法。
(4) 前記仮説セットから前記仮説のうちの1つを選択することは、
前記仮説セットに基づいて基準仮説を生成することであって、前記基準仮説は、前記仮説セット内の複数の仮説の各ピクセル位置に関するピクセル値の平均を備える、基準仮説を生成することと、
前記仮説セットの第1の仮説と前記基準仮説との間の値の差分が、しきい値よりも大きいかどうかを判別することと、及び、
前記第1の仮説と前記基準仮説との間の値の前記差分が前記しきい値よりも大きい場合、前記仮説セットから前記第1の仮説を除去することと、
を備える、(1)に記載のビデオコーディング方法。
(5) 前記仮説セットを生成することは、重み付けされた絶対差の総和を計算することを備え、前記重み付けされた和を計算することは、前記現行ビデオブロックに関連付けられたテンプレートを複数の区画に区分することと、及び、前記複数の区画のそれぞれの区画の前記絶対差の総和と前記現行ビデオブロックからの考慮中の前記区画の距離が増加するにつれて減少する値とを掛け合わせることと、を含む、(1)に記載のビデオコーディング方法。
(6) 前記仮説セットを生成することは、
テンプレートオフセットを計算することであって、前記計算することは、前記現行ビデオブロックに関連して定義されたテンプレートのピクセル値と前記仮説セットの第1の仮説のピクセル値とにおける平均差分を計算することを備える、テンプレートオフセットを計算することと、及び、
前記第1の仮説の前記ピクセル値のそれぞれと、前記現行ビデオブロックに関連して定義された前記テンプレートの前記ピクセル値のそれぞれとの間の、前記差分に前記テンプレートオフセットを適用することと、
を備える、(1)に記載のビデオコーディング方法。
(7) 前記現行ビデオブロックは、ルーマビデオブロックであり、前記ルーマビデオブロックは、複数のサブブロックを含み、及び、前記現行ビデオブロックをコード化するために前記仮説セットから前記仮説のうちの1つを選択することは、
前記複数のサブブロックのうちの第1のサブブロックを選択することと、
前記第1のサブブロックの位置に関連してテンプレート形状を定義することと、
第2のサブブロックのルーマ残差を計算することであって、前記第2のサブブロックの少なくとも一部は、前記テンプレート形状の少なくとも一部の中に配置される、第2のサブブロックのルーマ残差を計算することと、
前記第2のサブブロックのピクセル値の動き補償予測を計算することと、及び、
前記ルーマ残差と前記ピクセル値の動き補償予測とに基づいて、前記テンプレート形状内のピクセルに関する予測ビデオデータを生成することと、
を備える、(1)に記載のビデオコーディング方法。
(8) 現行ビデオブロックをコーディングするためのビデオコーディング方法であって、
テンプレートマッチング予測ビデオコーディングに関する第1の仮説セットを生成することであって、前記仮説セットのうちの少なくともいくつかの仮説は、第1の予測ビデオユニットの少なくとも一部からの第1の予測ビデオデータのセットに基づくものであり、且つ、前記第1の仮説セット内のそれぞれの仮説は、第1のビデオブロック位置に関連して定義されたテンプレート形状に対応する予測ビデオデータを備える、第1の仮説セットを生成することと、
テンプレートマッチング予測ビデオコーディングに関する第2の仮説セットを生成することであって、前記仮説セットのうちの少なくともいくつかの仮説は、第2の予測ビデオユニットの少なくとも一部からの第2の予測ビデオデータのセットに基づくものであり、且つ、前記第2の仮説セット内のそれぞれの仮説は、第2のビデオブロック位置に関連して定義された前記テンプレート形状に対応する予測ビデオデータを備える、第2の仮説セットを生成することと、
前記第1の仮説セットと前記第2の仮説セットとに基づいて、双方向動き予測を生成することと、
前記双方向動き予測に基づいて、第3の仮説セットを生成することと、
前記第3の仮説セットの前記仮説のうちの1つを選択することと、及び、
前記仮説のうちの選択された1つによって識別された予測ビデオデータを使用して、ビデオコーダを介して、前記現行ビデオブロックをコーディングすることと、
を備える、ビデオコーディング方法。
(9) 現行ビデオブロックをコーディングするビデオコーディング装置であって、
第1の予測ビデオユニットの少なくとも一部からの第1の予測ビデオデータのセットと、第2の予測ビデオユニットの少なくとも一部からの第2の予測ビデオデータのセットと、に基づいて、テンプレートマッチング予測ビデオコーディングに関する仮説セットを生成し、前記仮説セットから前記仮説のうちの1つを選択する、予測ユニットであって、前記仮説セット内のそれぞれの前記仮説は、ビデオブロック位置に関連して定義されたテンプレート形状に対応する予測ビデオデータを備える、予測ユニットと、及び、
前記仮説のうちの選択された1つによって識別された前記予測ビデオデータを使用して、前記現行ビデオブロックをコーディングする、ビデオコーディングユニットと、
を備える、ビデオコーディング装置。
(10) 前記ビデオコーディング装置は、ビデオエンコーダであり、及び、前記予測ユニットは、さらに、前記仮説セット内の第1の仮説のサブセットに基づいて、第1の予測ビデオデータのセットを生成し、前記仮説セット内の第2の仮説のサブセットに基づいて、第2の予測ビデオデータのセットを生成し、前記第1の予測ビデオデータのセットを使用してエンコードされた後に、前記現行ビデオブロックの第1のビット数と第1の品質レベルとを少なくとも決定することによって、前記現行ビデオブロックのエンコーディングに関連付けられた第1のコストを計算し、前記第2の予測ビデオデータのセットを使用してエンコードされた後に、前記現行ビデオブロックの第2のビット数と第2の品質レベルとを少なくとも決定することによって、前記現行ビデオブロックのエンコーディングに関連付けられた第2のコストを計算し、前記第1のコストおよび前記第2のコストから、前記現行ビデオブロックのエンコーディングに関連付けられた最低コストを決定し、且つ、前記第1の仮説のサブセットまたは前記第2の仮説のサブセットのいずれがデコーダによって使用されるべきであるかに関する信号を送信するように、シンタックス要素を設定する、
(9)に記載のビデオコーディング装置。
(11) 前記ビデオコーディングユニットはビデオデコーダであり、前記ビデオデコーダは、エンコードされたビデオデータを受信し、且つ、前記エンコードされたビデオデータをエンコードする際に使用される仮説の数を識別する1つまたは複数のシンタックス要素をデコードする、エントロピーユニットを備え、前記仮説セットから仮説のサブセットを識別し、前記サブセットは、前記1つまたは複数のシンタックス要素によって信号送信された前記仮説の数を含み、且つ、前記仮説のサブセットに基づいて予測ビデオデータのセットを生成し、及び、前記ビデオデコーダは、前記生成された予測ビデオデータのセットを使用して、前記エンコードされたビデオデータをデコードする、(9)に記載のビデオコーディング装置。
(12) 前記予測ユニットは、少なくとも、前記仮説セットに基づいて基準仮説を生成することであって、前記基準仮説は、前記仮説セット内の複数の仮説の各ピクセル位置に関するピクセル値の平均を備える、基準仮説を生成することと、前記仮説セットの第1の仮説と前記基準仮説との間の値の差分が、しきい値よりも大きいかどうかを判別することと、及び、前記第1の仮説と前記基準仮説との間の値の前記差分が前記しきい値よりも大きい場合、前記仮説セットから前記第1の仮説を除去することと、によって、前記仮説セットから前記仮説のうちの1つを選択する、(9)に記載のビデオコーディング装置。
(13) 前記予測ユニットは、重み付けされた絶対差の総和を少なくとも計算することによって前記仮説セットを生成し、前記重み付けされた絶対差の総和を計算することは、少なくとも前記現行ビデオブロックに関連付けられたテンプレートを複数の区画に区分することと、前記複数の区画のそれぞれの区画の前記絶対差の総和と前記現行ビデオブロックからの考慮中の前記区画の距離が増加するにつれて減少する値とを掛け合わせることと、によって計算される、(9)に記載のビデオコーディング装置。
(14) 前記予測ユニットは、前記現行ビデオブロックに関連して定義されたテンプレートのピクセル値と前記仮説セットの第1の仮説のピクセル値とにおける平均差分を少なくとも計算することによって、テンプレートオフセットを少なくとも計算することと、及び、前記第1の仮説の前記ピクセル値のそれぞれと、前記現行ビデオブロックに関連して定義された前記テンプレートの前記ピクセル値のそれぞれとの間の、前記差分に前記テンプレートオフセットを適用することとによって、前記仮説セットを生成する、(9)に記載のビデオコーディング装置。
(15) 前記現行ビデオブロックは、ルーマビデオブロックであり、前記ルーマビデオブロックは、複数のサブブロックを含み、及び、前記予測ユニットは、少なくとも、前記複数のサブブロックのうちの第1のサブブロックを選択することと、前記第1のサブブロックの位置に関連してテンプレート形状を定義することと、第2のサブブロックのルーマ残差を計算することであって、前記第2のサブブロックの少なくとも一部は前記テンプレート形状の少なくとも一部の中に配置される、第2のサブブロックのルーマ残差を計算することと、前記第2のサブブロックのピクセル値の動き補償予測を計算することと、およひ、前記ルーマ残差と前記ピクセル値の動き補償予測とに基づいて、前記テンプレート形状内のピクセルに関する予測ビデオデータを生成することと、によって、前記仮説セットから前記仮説のうちの1つを選択する、(9)に記載のビデオコーディング装置。
(16) 前記ビデオコーディング装置は、集積回路を備える、(9)に記載のビデオコーディング装置。
(17) 前記ビデオコーディング装置は、マイクロプロセッサを備える、(9)に記載のビデオコーディング装置。
(18) 前記ビデオコーディング装置は、ビデオコーダを含むワイヤレス通信デバイスを備える、(9)に記載のビデオコーディング装置。
(19) 現行ビデオブロックをコード化するデバイスであって、
テンプレートマッチング予測ビデオコーディングに関する仮説セットを生成するための手段であって、前記仮説セットのうちの少なくともいくつかの前記仮説は、第1の予測ビデオユニットの少なくとも一部からの第1の予測ビデオデータのセットと、第2の予測ビデオユニットの少なくとも一部からの第2の予測ビデオデータのセットと、に基づくものであり、且つ、前記仮説セット内のそれぞれの前記仮説は、ビデオブロック位置に関連して定義されたテンプレート形状に対応する予測ビデオデータを備える、仮説セットを生成するための手段と、
前記セットから前記仮説のうちの1つを選択するための手段と、及び、
前記仮説のうちの選択された1つによって識別された予測ビデオデータを使用して、前記現行ビデオブロックをコーディングするための手段と、
備える、デバイス。
(20) 前記現行ビデオブロックをコード化するための前記手段は、
前記仮説セット内の第1の仮説のサブセットに基づいて、第1の予測ビデオデータのセットを生成するための手段と、
前記仮説セット内の第2の仮説のサブセットに基づいて、第2の予測ビデオデータのセットを生成するための手段と、
前記現行ビデオブロックのエンコーディングに関連付けられた第1のコストを計算するための手段であって、前記第1のコストを計算することは、前記第1の予測ビデオデータのセットを使用してエンコードされた後に、前記現行ビデオブロックのビット数と品質レベルとを決定することを含む、第1のコストを計算する手段と、
前記現行ビデオブロックのエンコーディングに関連付けられた第2のコストを計算するための手段であって、前記第2のコストを計算することは、前記第2の予測ビデオデータのセットを使用してエンコードされた後に、前記現行ビデオブロックのビット数と品質レベルとを決定することを含む、第2のコストを計算するための手段と、
前記第1のコストおよび前記第2のコストから、前記現行ビデオブロックのエンコーディングに関連付けられた最低コストを決定するための手段と、及び、
前記第1の仮説のサブセットまたは前記第2の仮説のサブセットのいずれがデコーダによって使用されるべきであるかに関する信号を送信するように、シンタックス要素を設定するための手段と、
をさらに備える、(19)に記載のデバイス。
(21) 前記現行ビデオブロックをコード化するための手段は、エンコードされたビデオデータをデコードするための手段をさらに備え、
前記デバイスは、
エンコードされたビデオデータのエンコーディングで使用された前記仮説セットの仮説の数を識別する、1つまたは複数のシンタックス要素をデコードするための手段と、
前記仮説セットから仮説のサブセットを識別するための手段であって、前記サブセットは前記1つまたは複数のシンタックス要素によって信号送信された前記仮説の数を含む、仮説のサブセットを識別するため手段と、及び、
前記仮説のサブセットに基づいて、予測ビデオデータのセットを生成するための手段と、
をさらに備え、及び、
前記エンコードされたビデオデータをデコードするための前記手段は、前記生成された予測ビデオデータのセットを使用して、前記エンコードされたビデオをデコードする、
(19)に記載のデバイス。
(22) 前記仮説のうちの1つを選択するための前記手段は、
前記仮説セットに基づいて基準仮説を生成するための手段であって、前記基準仮説は、前記仮説セット内の複数の仮説の各ピクセル位置に関するピクセル値の平均を備える、基準仮説を生成するための手段と、
前記仮説セットの第1の仮説と前記基準仮説との間の値の差分が、しきい値よりも大きいかどうかを判別するための手段と、及び、
前記第1の仮説と前記基準仮説との間の値の前記差分が前記しきい値よりも大きい場合、前記仮説セットから前記第1の仮説を除去するための手段と、
をさらに備える、(19)に記載のデバイス。
(23) 前記仮説セットを生成するための前記手段は、重み付けされた絶対差の総和を計算するための手段を備え、前記重み付けされた絶対差の総和を計算することは、前記現行ビデオブロックに関連付けられたテンプレートを複数の区画に区分することと、及び、前記複数の区画のそれぞれの区画の前記絶対差の総和と前記現行ビデオブロックからの考慮中の前記区画の距離が増加するにつれて減少する値とを掛け合わせることと、を含む、(19)に記載のデバイス。
(24) 前記仮説セットを生成するための前記手段は、前記仮説セットを生成するもので、
前記現行ビデオブロックのテンプレートのピクセル値と前記仮説セットの第1の仮説のピクセル値とにおける平均差分を計算することを備える、テンプレートオフセットを計算するための手段と、及び、
前記第1の仮説の前記ピクセル値のそれぞれと、前記現行ビデオブロックに関連して定義された前記テンプレートの前記ピクセル値のそれぞれとの間の、前記差分に前記テンプレートオフセットを適用するための手段と、
を備える、(19)に記載のデバイス。
(25) 前記現行ビデオブロックは、ルーマビデオブロックであり、前記ルーマビデオブロックは、複数のサブブロックを含み、及び、前記仮説セットから前記仮説のうちの1つを選択するための前記手段は、
前記複数のサブブロックのうちの第1のサブブロックを選択するための手段と、
前記第1のサブブロックの位置に関連してテンプレート形状を定義するための手段と、
第2のサブブロックのルーマ残差を計算するための手段であって、前記第2のサブブロックの少なくとも一部は、前記テンプレート形状の少なくとも一部の中に配置される、第2のサブブロックのルーマ残差を計算するための手段と、
前記第2のサブブロックのピクセル値の動き補償予測を計算するための手段と、及び、
前記ルーマ残差と前記ピクセル値の動き補償予測とに基づいて、前記テンプレート形状内のピクセルに関する予測ビデオデータを生成するための手段と、
を備える、(19)に記載のデバイス。
(26) 1つまたは複数のプログラマブルプロセッサに、
テンプレートマッチング予測ビデオコーディングに関する仮説セットを生成することであって、前記仮説セットのうちの少なくともいくつかの前記仮説は、第1の予測ビデオユニットの少なくとも一部からの第1の予測ビデオデータのセットと、第2の予測ビデオユニットの少なくとも一部からの第2の予測ビデオデータのセットと、に基づくものであり、且つ、前記仮説セット内のそれぞれの前記仮説は、ビデオブロック位置に関連して定義されたテンプレート形状に対応する予測ビデオデータを備える、仮説セットを生成することと、
前記仮説セットから前記仮説のうちの1つを選択することと、及び、
前記仮説のうちの選択された1つによって識別された予測ビデオデータを使用して、前記現行ビデオブロックをコーディングすることと、
を、実行させるための命令でエンコードされた、コンピュータ可読記憶媒体。
(27) 前記1つまたは複数のプログラマブルプロセッサに前記現行ビデオブロックをコード化させる前記命令は、
前記仮説セット内の第1の仮説のサブセットに基づいて、第1の予測ビデオデータのセットを生成することと、
前記仮説セット内の第2の仮説のサブセットに基づいて、第2の予測ビデオデータのセットを生成することと、
前記現行ビデオブロックのエンコーディングに関連付けられた第1のコストを計算することであって、前記第1のコストを計算することは、前記第1の予測ビデオデータのセットを使用してエンコードされた後に、前記現行ビデオブロックのビット数と品質レベルとを決定することを含む、第1のコストを計算することと、
前記現行ビデオブロックのエンコーディングに関連付けられた第2のコストを計算することであって、前記第2のコストを計算することは、前記第2の予測ビデオデータのセットを使用してエンコードされた後に、前記現行ビデオブロックのビット数と品質レベルとを決定することを含む、第2のコストを計算することと、
前記第1のコストおよび前記第2のコストから、前記現行ビデオブロックのエンコーディングに関連付けられた最低コストを決定することと、及び、
前記第1の仮説のサブセットまたは前記第2の仮説のサブセットのいずれがデコーダによって使用されるべきであるかに関する信号を送信するように、シンタックス要素を設定することと、
を、前記1つまたは複数のプログラマブルプロセッサに実行させるための命令をさらに備える、(26)に記載のコンピュータ可読記憶媒体。
(28) 前記1つまたは複数のプログラマブルプロセッサに前記仮説セットのうちの1つの前記仮説を選択させる前記命令は、
エンコードされたビデオデータのエンコーディングで使用された前記仮説セットの仮説の数を識別する、1つまたは複数のシンタックス要素をデコードすることと、
前記仮説セットから仮説のサブセットを識別することであって、前記サブセットは、前記1つまたは複数のシンタックス要素によって信号送信された前記仮説の数を含む、仮説のサブセットを識別することと、
前記仮説のサブセットに基づいて、予測ビデオデータのセットを生成することと、及び、
前記生成された予測ビデオデータのセットを使用して、前記エンコードされたビデオデータをデコードすることと、
を、前記1つまたは複数のプログラマブルプロセッサに実行させるための命令をさらに備える、(26)に記載のコンピュータ可読記憶媒体。
(29) 前記1つまたは複数のプログラマブルプロセッサに前記仮説セットのうちの1つの前記仮説を選択させる前記命令は、
前記仮説セットに基づいて基準仮説を生成することであって、前記基準仮説は、前記仮説セット内の複数の仮説の各ピクセル位置に関するピクセル値の平均を備える、基準仮説を生成することと、
前記仮説セットの第1の仮説と前記基準仮説との間の値の差分が、しきい値よりも大きいかどうかを判別することと、及び、
前記第1の仮説と前記基準仮説との間の値の前記差分が前記しきい値よりも大きい場合、前記仮説セットから前記第1の仮説を除去することと、
を、前記1つまたは複数のプログラマブルプロセッサに実行させるための命令をさらに備える、(26)に記載のコンピュータ可読記憶媒体。
(30) 前記1つまたは複数のプログラマブルプロセッサに前記仮説セットを生成させる前記命令は、少なくとも、前記現行ビデオブロックに関連付けられたテンプレートを複数の区画に区分することと、及び、前記複数の区画のそれぞれの区画の前記絶対差の総和と前記現行ビデオブロックからの考慮中の前記区画の距離が増加するにつれて減少する値とを掛け合わせることと、によって、重み付けされた絶対差の総和を計算することを、前記1つまたは複数のプログラマブルプロセッサに実行させるための命令をさらに備える、(26)に記載のコンピュータ可読記憶媒体。
(31) 前記1つまたは複数のプログラマブルプロセッサに前記仮説セットを生成させる前記命令は、
少なくとも、前記現行ビデオブロックに関連して定義されたテンプレートのピクセル値と、前記仮説セットの第1の仮説のピクセル値とにおける平均差分を計算することによって、テンプレートオフセットを計算することと、及び、
前記第1の仮説の前記ピクセル値のそれぞれと、前記現行ビデオブロックに関連して定義された前記テンプレートの前記ピクセル値のそれぞれとの間の、前記差分に前記テンプレートオフセットを適用することと、
を、前記1つまたは複数のプログラマブルプロセッサに実行させるための命令をさらに備える、(26)に記載のコンピュータ可読記憶媒体。
(32) 前記1つまたは複数のプログラマブルプロセッサに前記仮説セットを生成させる前記命令は、
前記複数のサブブロックのうちの第1のサブブロックを選択することと、
前記第1のサブブロックの位置に関連してテンプレート形状を定義することと、
第2のサブブロックのルーマ残差を計算することであって、前記第2のサブブロックの少なくとも一部は、前記テンプレート形状の少なくとも一部の中に配置される、第2のサブブロックのルーマ残差を計算することと、
前記第2のサブブロックのピクセル値の動き補償予測を計算することと、及び、
前記ルーマ残差と前記ピクセル値の動き補償予測とに基づいて、前記テンプレート形状内のピクセルに関する予測ビデオデータを生成することと、
を、前記1つまたは複数のプログラマブルプロセッサに実行させるための命令をさらに備える、(26)に記載のコンピュータ可読記憶媒体。

Claims (28)

  1. 現行ビデオユニットの現行ビデオブロックをコーディングするためのビデオコーディング方法であって、
    テンプレートマッチング予測ビデオコーディングに関する仮説セットを生成することであって、前記仮説セット内のそれぞれの前記仮説は、ビデオブロック位置に関連して定義されたテンプレート形状に対応するビデオデータを備える、仮説セットを生成することと、
    前記仮説セットに基づいて基準仮説を生成することであって、前記基準仮説は、前記仮説セット内の複数の仮説の各ピクセル位置に関するピクセル値の平均を備える、基準仮説を生成することと、
    前記仮説セットの第1の仮説と前記基準仮説との間の値の差分が、しきい値よりも大きいかどうかを判別することと、
    前記第1の仮説と前記基準仮説との間の値の前記差分が前記しきい値よりも大きい場合、前記仮説セットから前記第1の仮説を除去することと、及び、
    前記仮説セットからのビデオデータを使用して、ビデオコーダを介して、前記現行ビデオブロックをコーディングすることと、
    を備える、ビデオコーディング方法。
  2. 前記ビデオコーダは、ビデオエンコーダを備え、
    前記方法は、
    前記仮説セット内の第1の仮説のサブセットを生成することと、
    前記仮説セット内の第2の仮説のサブセットを生成することと、
    前記現行ビデオブロックのエンコーディングに関連付けられた第1のコストを計算することであって、前記第1のコストは、歪みに、前記第1の仮説のサブセットの符号化率にラグランジュ乗数を乗じた結果を、加算することによって計算される、第1のコストを計算することと、
    前記現行ビデオブロックのエンコーディングに関連付けられた第2のコストを計算することであって、前記第2のコストは、歪みに、前記第2の仮説のサブセットの符号化率にラグランジュ乗数を乗じた結果を、加算することによって計算される、第2のコストを計算することと、
    前記第1のコストおよび前記第2のコストの中から、前記現行ビデオブロックのエンコーディングに関連付けられた最低コストを決定することと、及び、
    前記第1の仮説のサブセットまたは前記第2の仮説のサブセットのいずれがデコーダによって使用されるべきであるかに関する信号を送信するように、シンタックス要素を設定することと、
    をさらに備える、請求項1に記載のビデオコーディング方法。
  3. 前記ビデオコーダは、ビデオデコーダを備え、
    前記方法は、
    エンコードされたビデオデータのエンコーディングで使用された前記仮説セットの仮説の数を識別する、1つまたは複数のシンタックス要素をデコードすることと、
    前記仮説セットから仮説のサブセットを識別することであって、前記サブセットは、前記1つまたは複数のシンタックス要素によって信号送信された前記仮説の数を含む、仮説のサブセットを識別することと、
    をさらに備え、及び、
    前記現行ビデオブロックをコーディングすることは、前記識別された仮説のサブセットを使用して、前記エンコードされたビデオデータをデコードすることをさらに備える、
    請求項1に記載のビデオコーディング方法。
  4. 前記仮説セットを生成することは、重み付けされた絶対差の総和を計算することを備え、前記重み付けされた和を計算することは、前記現行ビデオブロックに関連付けられたテンプレートを複数の区画に区分することと、及び、前記複数の区画のそれぞれの区画の前記絶対差の総和と前記現行ビデオブロックからの前記区画の距離が増加するにつれて減少する値とを掛け合わせることと、を含む、請求項1に記載のビデオコーディング方法。
  5. 前記仮説セットを生成することは、
    テンプレートオフセットを計算することであって、前記計算することは、前記現行ビデオブロックに関連して定義されたテンプレートのピクセル値と前記仮説セットの第1の仮説のピクセル値とにおける平均差分を計算することを備える、テンプレートオフセットを計算することと、及び、
    前記第1の仮説の前記ピクセル値のそれぞれと、前記現行ビデオブロックに関連して定義された前記テンプレートの前記ピクセル値のそれぞれとの間の、前記差分に前記テンプレートオフセットを適用することと、
    を備える、請求項1に記載のビデオコーディング方法。
  6. 前記現行ビデオブロックは、ルーマビデオブロックであり、前記ルーマビデオブロックは、複数のサブブロックを含み、及び、前記現行ビデオブロックをコード化するために前記仮説セットから前記仮説のうちの1つを選択することは、
    前記複数のサブブロックのうちの第1のサブブロックを選択することと、
    前記第1のサブブロックの位置に関連してテンプレート形状を定義することと、
    第2のサブブロックのルーマ残差を計算することであって、前記第2のサブブロックの少なくとも一部は、前記テンプレート形状の少なくとも一部の中に配置される、第2のサブブロックのルーマ残差を計算することと、
    前記第2のサブブロックのピクセル値の動き補償予測を計算することと、及び、
    前記ルーマ残差と前記ピクセル値の動き補償予測とに基づいて、前記テンプレート形状内のピクセルに関する予測ビデオデータを生成することと、
    を備える、請求項1に記載のビデオコーディング方法。
  7. 現行ビデオブロックをコーディングするためのビデオコーディング方法であって、
    テンプレートマッチング予測ビデオコーディングに関する第1の仮説セットを生成することであって、前記第1の仮説セットのうちの少なくともいくつかの仮説は、第1の予測ビデオユニットの少なくとも一部からの第1のビデオデータのセットに基づくものであり、且つ、前記第1の仮説セット内のそれぞれの仮説は、第1のビデオブロック位置に関連して定義されたテンプレート形状に対応するビデオデータを備える、第1の仮説セットを生成することと、
    テンプレートマッチング予測ビデオコーディングに関する第2の仮説セットを生成することであって、前記第2の仮説セットのうちの少なくともいくつかの仮説は、第2の予測ビデオユニットの少なくとも一部からの第2のビデオデータのセットに基づくものであり、且つ、前記第2の仮説セット内のそれぞれの仮説は、第2のビデオブロック位置に関連して定義された前記テンプレート形状に対応するビデオデータを備える、第2の仮説セットを生成することと、
    前記第1の仮説セットと前記第2の仮説セットとに基づく双方向動き予測に基づいて、第3の仮説セットを生成することと、
    前記第1、第2および第3の仮説セットの中から前記仮説を選択することと、
    前記第1、第2および第3の仮説セットの中からの前記仮説に基づいて基準仮説を生成することであって、前記基準仮説は、前記仮説のサブセットの各ピクセル位置に関するピクセル値の平均を備える、基準仮説を生成することと、
    テンプレートマッチング予測時に生成および考慮される仮説としての候補仮説と前記基準仮説との間の値の差分が、しきい値よりも大きいかどうかを判別することと、及び
    前記候補仮説と前記基準仮説との間の値の前記差分が前記しきい値よりも大きい場合、前記候補仮説を拒絶することと、
    を備え、及び、
    前記方法は、拒絶されなかった候補に基づく予測ビデオデータを使用して、ビデオコーダを介して、前記現行ビデオブロックをコーディングすることをさらに備える、ビデオコーディング方法。
  8. 現行ビデオユニットの現行ビデオブロックをコーディングするビデオコーディング装置であって、
    予測ユニットと、及び、
    ビデオコーディングユニットと、
    を備え、
    前記予測ユニットは、テンプレートマッチング予測ビデオコーディングに関する仮説セットを生成することであって、前記仮説セット内のそれぞれの前記仮説は、ビデオブロック位置に関連して定義されたテンプレート形状に対応するビデオデータを備える、仮説セットを生成することと、前記仮説セットに基づいて基準仮説を生成することであって、前記基準仮説は、前記仮説セット内の複数の仮説の各ピクセル位置に関するピクセル値の平均を備える、基準仮説を生成することと、前記仮説セットの第1の仮説と前記基準仮説との間の値の差分が、しきい値よりも大きいかどうかを判別することと、及び、前記第1の仮説と前記基準仮説との間の値の前記差分が前記しきい値よりも大きい場合、前記仮説セットから前記第1の仮説を除去することと、を行い、及び、
    前記ビデオコーディングユニットは、前記仮説セットからのビデオデータを使用して、前記現行のビデオブロックをコーディングする、
    ビデオコーディング装置。
  9. 前記ビデオコーディング装置は、ビデオエンコーダであり、及び、前記予測ユニットは、さらに、前記仮説セット内の第1の仮説のサブセットを生成し、前記仮説セット内の第2の仮説のサブセットを生成し、歪みに、前記第1の仮説のサブセットの符号化率にラグランジュ乗数を乗じた結果を、加算することによって計算される、前記現行ビデオブロックのエンコーディングに関連付けられた、第1のコストを計算し、歪みに、前記第2の仮説のサブセットの符号化率にラグランジュ乗数を乗じた結果を、加算することによって計算される、前記現行ビデオブロックのエンコーディングに関連付けられた、第2のコストを計算し、前記第1のコストおよび前記第2のコストの中から、前記現行ビデオブロックのエンコーディングに関連付けられた最低コストを決定し、且つ、前記第1の仮説のサブセットまたは前記第2の仮説のサブセットのいずれがデコーダによって使用されるべきであるかに関する信号を送信するように、シンタックス要素を設定する、
    請求項8に記載のビデオコーディング装置。
  10. 前記ビデオコーディングユニットはビデオデコーダであり、前記ビデオデコーダは、エンコードされたビデオデータを受信し、且つ、前記エンコードされたビデオデータをエンコードする際に使用される仮説の数を識別する1つまたは複数のシンタックス要素をデコードする、エントロピーユニットを備え、前記仮説セットから仮説のサブセットを識別し、前記サブセットは、前記1つまたは複数のシンタックス要素によって信号送信された前記仮説の数を含み、及び、前記ビデオデコーダは、前記識別された仮説のサブセットを使用して、前記エンコードされたビデオデータをデコードする、請求項8に記載のビデオコーディング装置。
  11. 前記予測ユニットは、重み付けされた絶対差の総和を少なくとも計算することによって前記仮説セットを生成し、前記重み付けされた絶対差の総和を計算することは、少なくとも前記現行ビデオブロックに関連付けられたテンプレートを複数の区画に区分することと、前記複数の区画のそれぞれの区画の前記絶対差の総和と前記現行ビデオブロックからの前記区画の距離が増加するにつれて減少する値とを掛け合わせることと、によって計算される、請求項8に記載のビデオコーディング装置。
  12. 前記予測ユニットは、前記現行ビデオブロックに関連して定義されたテンプレートのピクセル値と前記仮説セットの第1の仮説のピクセル値とにおける平均差分を少なくとも計算することによって、テンプレートオフセットを少なくとも計算することと、及び、前記第1の仮説の前記ピクセル値のそれぞれと、前記現行ビデオブロックに関連して定義された前記テンプレートの前記ピクセル値のそれぞれとの間の、前記差分に前記テンプレートオフセットを適用することとによって、前記仮説セットを生成する、請求項8に記載のビデオコーディング装置。
  13. 前記現行ビデオブロックは、ルーマビデオブロックであり、前記ルーマビデオブロックは、複数のサブブロックを含み、及び、前記予測ユニットは、少なくとも、前記複数のサブブロックのうちの第1のサブブロックを選択することと、前記第1のサブブロックの位置に関連してテンプレート形状を定義することと、第2のサブブロックのルーマ残差を計算することであって、前記第2のサブブロックの少なくとも一部は前記テンプレート形状の少なくとも一部の中に配置される、第2のサブブロックのルーマ残差を計算することと、前記第2のサブブロックのピクセル値の動き補償予測を計算することと、およひ、前記ルーマ残差と前記ピクセル値の動き補償予測とに基づいて、前記テンプレート形状内のピクセルに関する予測ビデオデータを生成することと、によって、前記仮説セットから前記仮説のうちの1つを選択する、請求項8に記載のビデオコーディング装置。
  14. 前記ビデオコーディング装置は、集積回路を備える、請求項8に記載のビデオコーディング装置。
  15. 前記ビデオコーディング装置は、マイクロプロセッサを備える、請求項8に記載のビデオコーディング装置。
  16. 前記ビデオコーディング装置は、ビデオコーダを含むワイヤレス通信デバイスを備える、請求項8に記載のビデオコーディング装置。
  17. 現行ビデオブロックをコード化するデバイスであって、
    テンプレートマッチング予測ビデオコーディングに関する仮説セットを生成するための手段であって、前記仮説セット内のそれぞれの前記仮説は、ビデオブロック位置に関連して定義されたテンプレート形状に対応するビデオデータを備える、仮説セットを生成するための手段と、
    前記仮説セットに基づいて基準仮説を生成するための手段であって、前記基準仮説は、前記仮説セット内の複数の仮説の各ピクセル位置に関するピクセル値の平均を備える、基準仮説を生成するための手段と、
    前記仮説セットの第1の仮説と前記基準仮説との間の値の差分が、しきい値よりも大きいかどうかを判別するための手段と、
    前記第1の仮説と前記基準仮説との間の値の前記差分が前記しきい値よりも大きい場合、前記仮説セットから前記第1の仮説を除去するための手段と、及び、
    前記仮説セットからのビデオデータを使用して、ビデオコーダを介して、前記現行ビデオブロックをコーディングするための手段と、
    を備える、デバイス。
  18. 前記現行ビデオブロックをコード化するための前記手段は、
    前記仮説セット内の第1の仮説のサブセットを生成するための手段と、
    前記仮説セット内の第2の仮説のサブセットを生成するための手段と、
    前記現行ビデオブロックのエンコーディングに関連付けられた第1のコストを計算するための手段であって、前記第1のコストは、歪みに、前記第1の仮説のサブセットの符号化率にラグランジュ乗数を乗じた結果を、加算することによって計算される、第1のコストを計算する手段と、
    前記現行ビデオブロックのエンコーディングに関連付けられた第2のコストを計算するための手段であって、前記第2のコストは、歪みに、前記第2の仮説のサブセットの符号化率にラグランジュ乗数を乗じた結果を、加算することによって計算される、第2のコストを計算するための手段と、
    前記第1のコストおよび前記第2のコストの中から、前記現行ビデオブロックのエンコーディングに関連付けられた最低コストを決定するための手段と、及び、
    前記第1の仮説のサブセットまたは前記第2の仮説のサブセットのいずれがデコーダによって使用されるべきであるかに関する信号を送信するように、シンタックス要素を設定するための手段と、
    をさらに備える、請求項17に記載のデバイス。
  19. 前記現行ビデオブロックをコード化するための手段は、エンコードされたビデオデータをデコードするための手段をさらに備え、
    前記デバイスは、
    エンコードされたビデオデータのエンコーディングで使用された前記仮説セットの仮説の数を識別する、1つまたは複数のシンタックス要素をデコードするための手段と、
    前記仮説セットから仮説のサブセットを識別するための手段であって、前記サブセットは前記1つまたは複数のシンタックス要素によって信号送信された前記仮説の数を含む、仮説のサブセットを識別するため手段と、
    をさらに備え、及び、
    前記エンコードされたビデオデータをデコードするための前記手段は、前記識別された仮説のサブセットを使用して、前記エンコードされたビデオをデコードする、
    請求項17に記載のデバイス。
  20. 前記仮説セットを生成するための前記手段は、重み付けされた絶対差の総和を計算するための手段を備え、前記重み付けされた絶対差の総和を計算することは、前記現行ビデオブロックに関連付けられたテンプレートを複数の区画に区分することと、及び、前記複数の区画のそれぞれの区画の前記絶対差の総和と前記現行ビデオブロックからの前記区画の距離が増加するにつれて減少する値とを掛け合わせることと、を含む、請求項17に記載のデバイス。
  21. 前記仮説セットを生成するための前記手段は、前記仮説セットを生成するもので、
    前記現行ビデオブロックのテンプレートのピクセル値と前記仮説セットの第1の仮説のピクセル値とにおける平均差分を計算することを備える、テンプレートオフセットを計算するための手段と、及び、
    前記第1の仮説の前記ピクセル値のそれぞれと、前記現行ビデオブロックに関連して定義された前記テンプレートの前記ピクセル値のそれぞれとの間の、前記差分に前記テンプレートオフセットを適用するための手段と、
    を備える、請求項17に記載のデバイス。
  22. 前記現行ビデオブロックは、ルーマビデオブロックであり、前記ルーマビデオブロックは、複数のサブブロックを含み、及び、前記仮説セットから前記仮説のうちの1つを選択するための前記手段は、
    前記複数のサブブロックのうちの第1のサブブロックを選択するための手段と、
    前記第1のサブブロックの位置に関連してテンプレート形状を定義するための手段と、
    第2のサブブロックのルーマ残差を計算するための手段であって、前記第2のサブブロックの少なくとも一部は、前記テンプレート形状の少なくとも一部の中に配置される、第2のサブブロックのルーマ残差を計算するための手段と、
    前記第2のサブブロックのピクセル値の動き補償予測を計算するための手段と、及び、
    前記ルーマ残差と前記ピクセル値の動き補償予測とに基づいて、前記テンプレート形状内のピクセルに関する予測ビデオデータを生成するための手段と、
    を備える、請求項17に記載のデバイス。
  23. テンプレートマッチング予測ビデオコーディングに関する仮説セットを生成することであって、前記仮説セット内のそれぞれの前記仮説は、ビデオブロック位置に関連して定義されたテンプレート形状に対応するビデオデータを備える、仮説セットを生成することと、
    前記仮説セットに基づいて基準仮説を生成することであって、前記基準仮説は、前記仮説セット内の複数の仮説の各ピクセル位置に関するピクセル値の平均を備える、基準仮説を生成することと、
    前記仮説セットの第1の仮説と前記基準仮説との間の値の差分が、しきい値よりも大きいかどうかを判別することと、及び、
    前記第1の仮説と前記基準仮説との間の値の前記差分が前記しきい値よりも大きい場合、前記仮説セットから前記第1の仮説を除去することと、及び、
    前記仮説セットからのビデオデータを使用して、前記現行ビデオブロックをコーディングすることと、
    を、前記1つまたは複数のプログラマブルプロセッサに実行させるための命令を備える、コンピュータ可読記憶媒体。
  24. 前記1つまたは複数のプログラマブルプロセッサに前記現行ビデオブロックをコード化させる前記命令は、
    前記仮説セット内の第1の仮説のサブセットを生成することと、
    前記仮説セット内の第2の仮説のサブセットを生成することと、
    前記現行ビデオブロックのエンコーディングに関連付けられた第1のコストを計算することであって、前記第1のコストは、歪みに、前記第1の仮説のサブセットの符号化率にラグランジュ乗数を乗じた結果を、加算することによって計算される、第1のコストを計算することと、
    前記現行ビデオブロックのエンコーディングに関連付けられた第2のコストを計算することであって、前記第2のコストは、歪みに、前記第2の仮説のサブセットの符号化率にラグランジュ乗数を乗じた結果を、加算することによって計算される、第2のコストを計算することと、
    前記第1のコストおよび前記第2のコストの中から、前記現行ビデオブロックのエンコーディングに関連付けられた最低コストを決定することと、及び、
    前記第1の仮説のサブセットまたは前記第2の仮説のサブセットのいずれがデコーダによって使用されるべきであるかに関する信号を送信するように、シンタックス要素を設定することと、
    を、前記1つまたは複数のプログラマブルプロセッサに実行させるための命令をさらに備える、請求項23に記載のコンピュータ可読記憶媒体。
  25. エンコードされたビデオデータのエンコーディングで使用された前記仮説セットの仮説の数を識別する、1つまたは複数のシンタックス要素をデコードすることと、
    前記仮説セットから仮説のサブセットを識別することであって、前記サブセットは、前記1つまたは複数のシンタックス要素によって信号送信された前記仮説の数を含む、仮説のサブセットを識別することと、及び、
    前記識別された仮説のサブセットを使用して、前記エンコードされたビデオデータをデコードすることと、
    を、前記1つまたは複数のプログラマブルプロセッサに実行させるための命令をさらに備える、請求項23に記載のコンピュータ可読記憶媒体。
  26. 前記1つまたは複数のプログラマブルプロセッサに前記仮説セットを生成させる前記命令は、少なくとも、前記現行ビデオブロックに関連付けられたテンプレートを複数の区画に区分することと、及び、前記複数の区画のそれぞれの区画の前記絶対差の総和と前記現行ビデオブロックからの前記区画の距離が増加するにつれて減少する値とを掛け合わせることと、によって、重み付けされた絶対差の総和を計算することを、前記1つまたは複数のプログラマブルプロセッサに実行させるための命令をさらに備える、請求項23に記載のコンピュータ可読記憶媒体。
  27. 前記1つまたは複数のプログラマブルプロセッサに前記仮説セットを生成させる前記命令は、
    少なくとも、前記現行ビデオブロックに関連して定義されたテンプレートのピクセル値と、前記仮説セットの第1の仮説のピクセル値とにおける平均差分を計算することによって、テンプレートオフセットを計算することと、及び、
    前記第1の仮説の前記ピクセル値のそれぞれと、前記現行ビデオブロックに関連して定義された前記テンプレートの前記ピクセル値のそれぞれとの間の、前記差分に前記テンプレートオフセットを適用することと、
    を、前記1つまたは複数のプログラマブルプロセッサに実行させるための命令をさらに備える、請求項23に記載のコンピュータ可読記憶媒体。
  28. 前記1つまたは複数のプログラマブルプロセッサに前記仮説セットを生成させる前記命令は、
    数のサブブロックのうちの第1のサブブロックを選択することと、
    前記第1のサブブロックの位置に関連してテンプレート形状を定義することと、
    第2のサブブロックのルーマ残差を計算することであって、前記第2のサブブロックの少なくとも一部は、前記テンプレート形状の少なくとも一部の中に配置される、第2のサブブロックのルーマ残差を計算することと、
    前記第2のサブブロックのピクセル値の動き補償予測を計算することと、及び、
    前記ルーマ残差と前記ピクセル値の動き補償予測とに基づいて、前記テンプレート形状内のピクセルに関する予測ビデオデータを生成することと、
    を、前記1つまたは複数のプログラマブルプロセッサに実行させるための命令をさらに備える、請求項23に記載のコンピュータ可読記憶媒体。
JP2013231619A 2009-07-02 2013-11-07 ビデオコーディングのためのテンプレートマッチング Active JP5752771B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US22283609P 2009-07-02 2009-07-02
US61/222,836 2009-07-02
US12/756,661 US8873626B2 (en) 2009-07-02 2010-04-08 Template matching for video coding
US12/756,661 2010-04-08

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012517868A Division JP5623521B2 (ja) 2009-07-02 2010-06-29 ビデオコーディングのためのテンプレートマッチング

Publications (2)

Publication Number Publication Date
JP2014064301A JP2014064301A (ja) 2014-04-10
JP5752771B2 true JP5752771B2 (ja) 2015-07-22

Family

ID=43216579

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2012517868A Expired - Fee Related JP5623521B2 (ja) 2009-07-02 2010-06-29 ビデオコーディングのためのテンプレートマッチング
JP2013231619A Active JP5752771B2 (ja) 2009-07-02 2013-11-07 ビデオコーディングのためのテンプレートマッチング

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2012517868A Expired - Fee Related JP5623521B2 (ja) 2009-07-02 2010-06-29 ビデオコーディングのためのテンプレートマッチング

Country Status (9)

Country Link
US (1) US8873626B2 (ja)
EP (2) EP2704442B1 (ja)
JP (2) JP5623521B2 (ja)
KR (2) KR101521336B1 (ja)
CN (1) CN102474622B (ja)
ES (2) ES2452866T3 (ja)
HU (1) HUE038078T2 (ja)
TW (1) TW201130316A (ja)
WO (1) WO2011002809A2 (ja)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9781446B2 (en) * 2009-12-10 2017-10-03 Thomson Licensing Dtv Method for coding and method for decoding a block of an image and corresponding coding and decoding devices
KR20110071047A (ko) * 2009-12-20 2011-06-28 엘지전자 주식회사 비디오 신호 디코딩 방법 및 장치
FR2959376A1 (fr) * 2010-04-22 2011-10-28 France Telecom Procede de traitement d'une information de mouvement, procedes de codage et de decodage, dispositifs, signal et programme d'ordinateur correspondants
KR101681303B1 (ko) * 2010-07-29 2016-12-01 에스케이 텔레콤주식회사 블록 분할예측을 이용한 영상 부호화/복호화 방법 및 장치
JP6258704B2 (ja) 2010-11-04 2018-01-10 ジーイー ビデオ コンプレッション エルエルシー ブロック統合およびスキップモードをサポートする画像符号化および画像復号化
EP2490448A1 (de) * 2011-02-18 2012-08-22 Siemens Aktiengesellschaft Kodierverfahren und Bildkodiervorrichtung zur Kompression einer Bildsequenz
US20140307798A1 (en) * 2011-09-09 2014-10-16 Newsouth Innovations Pty Limited Method and apparatus for communicating and recovering motion information
US20130329800A1 (en) * 2012-06-07 2013-12-12 Samsung Electronics Co., Ltd. Method of performing prediction for multiview video processing
BR112015001111B1 (pt) * 2012-07-16 2021-03-09 Samsung Electronics Co., Ltd método de decodificação de desvio adaptativo de amostra (sao)
EP2926557B1 (en) 2012-11-29 2018-05-09 Thomson Licensing Method for predicting a block of pixels from at least one patch
CN103020915B (zh) * 2012-12-21 2016-04-13 清华大学 一种基于视频数据的物像增强方法
WO2015010317A1 (zh) * 2013-07-26 2015-01-29 北京大学深圳研究生院 一种基于p帧的多假设运动补偿方法
CN104717512B (zh) 2013-12-16 2019-07-23 浙江大学 一种前向双假设编码图像块的编解码方法和装置
US9544596B1 (en) * 2013-12-27 2017-01-10 Google Inc. Optimized template matching approach to intra-coding in video/image compression
CN106470962A (zh) 2014-04-17 2017-03-01 巴斯夫欧洲公司 新型硝化抑制剂和生物农药的组合以及(硫代)磷酸三酰胺和生物农药的组合
EP3139605A4 (en) * 2014-04-28 2017-05-17 Panasonic Intellectual Property Corporation of America Encoding method, decoding method, encoding apparatus, and decoding apparatus
JP2019213242A (ja) * 2014-04-28 2019-12-12 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 符号化方法、復号方法、符号化装置および復号装置
US9723377B2 (en) 2014-04-28 2017-08-01 Comcast Cable Communications, Llc Video management
JP6356913B2 (ja) 2014-10-24 2018-07-11 エルジー エレクトロニクス インコーポレイティド グラフテンプレートから誘導された変換を用いてビデオ信号をデコーディング/エンコーディングする方法及び装置
CN104363449B (zh) * 2014-10-31 2017-10-10 华为技术有限公司 图像预测方法及相关装置
US10334248B2 (en) * 2015-05-29 2019-06-25 Qualcomm Incorporated Coding data using an enhanced context-adaptive binary arithmetic coding (CABAC) design
WO2016200100A1 (ko) * 2015-06-10 2016-12-15 삼성전자 주식회사 적응적 가중치 예측을 위한 신택스 시그널링을 이용하여 영상을 부호화 또는 복호화하는 방법 및 장치
WO2017035833A1 (en) 2015-09-06 2017-03-09 Mediatek Inc. Neighboring-derived prediction offset (npo)
JP6379186B2 (ja) * 2016-02-17 2018-08-22 テレフオンアクチーボラゲット エルエム エリクソン(パブル) ビデオピクチャを符号化および復号する方法および装置
CN114466193A (zh) * 2016-03-16 2022-05-10 联发科技股份有限公司 视频编码的样式基础的运动向量推导之方法及装置
US10805631B2 (en) * 2016-09-23 2020-10-13 Lg Electronics Inc. Method and apparatus for performing prediction using template-based weight
US10880570B2 (en) 2016-10-05 2020-12-29 Qualcomm Incorporated Systems and methods of adaptively determining template size for illumination compensation
WO2018070713A1 (ko) * 2016-10-11 2018-04-19 엘지전자(주) 크로마 성분에 대한 인트라 예측 모드를 유도하는 방법 및 장치
US20180176582A1 (en) * 2016-12-21 2018-06-21 Qualcomm Incorporated Low-complexity sign prediction for video coding
EP3349451A1 (en) * 2017-01-11 2018-07-18 Thomson Licensing Method and apparatus for selecting a coding mode used for encoding/decoding a residual block
US10701366B2 (en) * 2017-02-21 2020-06-30 Qualcomm Incorporated Deriving motion vector information at a video decoder
US20180332298A1 (en) * 2017-05-10 2018-11-15 Futurewei Technologies, Inc. Bidirectional Prediction In Video Compression
US10757442B2 (en) * 2017-07-05 2020-08-25 Qualcomm Incorporated Partial reconstruction based template matching for motion vector derivation
CN110832859B (zh) * 2017-07-11 2022-02-25 华为技术有限公司 一种基于模板匹配的解码方法及装置
US10986360B2 (en) * 2017-10-16 2021-04-20 Qualcomm Incorproated Various improvements to FRUC template matching
CN112236995A (zh) * 2018-02-02 2021-01-15 苹果公司 多假设运动补偿技术
US11924440B2 (en) 2018-02-05 2024-03-05 Apple Inc. Techniques of multi-hypothesis motion compensation
WO2019191717A1 (en) * 2018-03-30 2019-10-03 Hulu, LLC Template refined bi-prediction for video coding
US11477474B2 (en) * 2018-06-08 2022-10-18 Mediatek Inc. Methods and apparatus for multi-hypothesis mode reference and constraints
WO2019244669A1 (ja) * 2018-06-22 2019-12-26 ソニー株式会社 画像処理装置および方法
US11956460B2 (en) * 2018-08-31 2024-04-09 Hulu, LLC Selective template matching in video coding
WO2023200217A1 (ko) * 2022-04-11 2023-10-19 엘지전자 주식회사 템플릿 매칭을 이용하는 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1085763B1 (en) 1996-05-28 2003-01-22 Matsushita Electric Industrial Co., Ltd. Image predictive coding apparatus and method.
US6101276A (en) 1996-06-21 2000-08-08 Compaq Computer Corporation Method and apparatus for performing two pass quality video compression through pipelining and buffer management
US6404813B1 (en) 1997-03-27 2002-06-11 At&T Corp. Bidirectionally predicted pictures or video object planes for efficient and flexible video coding
US7373004B2 (en) 2003-05-23 2008-05-13 Silicon Integrated Systems Corp. Apparatus for constant quality rate control in video compression and target bit allocator thereof
US8064520B2 (en) 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
EP1747677A2 (en) 2004-05-04 2007-01-31 Qualcomm, Incorporated Method and apparatus to construct bi-directional predicted frames for temporal scalability
JP2007043651A (ja) 2005-07-05 2007-02-15 Ntt Docomo Inc 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム
EP1982532A2 (en) 2006-02-02 2008-10-22 Thomson Licensing Method and apparatus for motion estimation using combined reference bi-prediction
DE602007008842D1 (de) 2006-02-17 2010-10-14 Thomson Licensing Prozess zur codierung von bildern mit intra-prädiktionsmodus
JP2008154015A (ja) 2006-12-19 2008-07-03 Hitachi Ltd 復号化方法および符号化方法
JP5372341B2 (ja) 2007-05-18 2013-12-18 株式会社エヌ・ティ・ティ・ドコモ 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法および画像予測復号プログラム
US8488668B2 (en) 2007-06-15 2013-07-16 Qualcomm Incorporated Adaptive coefficient scanning for video coding
US20090003443A1 (en) * 2007-06-26 2009-01-01 Nokia Corporation Priority-based template matching intra prediction video and image coding
CN102067601B (zh) * 2008-04-11 2014-03-12 汤姆森特许公司 视频编码和解码中模板匹配预测(tmp)的方法和装置
CN101557514B (zh) 2008-04-11 2011-02-09 华为技术有限公司 一种帧间预测编解码方法、装置及系统
US20110176741A1 (en) 2008-09-24 2011-07-21 Kazushi Sato Image processing apparatus and image processing method
CN102160382A (zh) 2008-09-24 2011-08-17 索尼公司 图像处理设备和图像处理方法
US8687708B2 (en) * 2008-12-18 2014-04-01 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for rate distortion optimisation

Also Published As

Publication number Publication date
KR101521336B1 (ko) 2015-05-18
TW201130316A (en) 2011-09-01
JP5623521B2 (ja) 2014-11-12
EP2449786A2 (en) 2012-05-09
CN102474622B (zh) 2015-04-29
JP2012532501A (ja) 2012-12-13
KR101632126B1 (ko) 2016-06-24
WO2011002809A3 (en) 2011-06-23
JP2014064301A (ja) 2014-04-10
EP2449786B1 (en) 2014-01-29
US20110002388A1 (en) 2011-01-06
KR20120042910A (ko) 2012-05-03
HUE038078T2 (hu) 2018-09-28
ES2452866T3 (es) 2014-04-03
WO2011002809A2 (en) 2011-01-06
EP2704442A1 (en) 2014-03-05
US8873626B2 (en) 2014-10-28
KR20140068269A (ko) 2014-06-05
CN102474622A (zh) 2012-05-23
EP2704442B1 (en) 2018-04-04
ES2675578T3 (es) 2018-07-11

Similar Documents

Publication Publication Date Title
JP5752771B2 (ja) ビデオコーディングのためのテンプレートマッチング
KR101355332B1 (ko) 비디오 코딩에서 단방향성 예측 및 양방향성 예측을 위한 상이한 가중치들
KR101384077B1 (ko) 비디오 코딩에서 블록 타입 시그널링
JP5175397B2 (ja) 効率的な予測モード選択
JP5784689B2 (ja) ビデオ符号化における非ゼロ丸めおよび予測モード選択技法
KR101377883B1 (ko) 비디오 인코딩에서 넌-제로 라운딩 및 예측 모드 선택 기법들
TW201016019A (en) Digital video coding with interpolation filters and offsets
WO2011002813A1 (en) Video coding based on first order prediction and pre-defined second order prediction mode
WO2015057570A1 (en) Multi-threaded video encoder

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150406

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150520

R150 Certificate of patent or registration of utility model

Ref document number: 5752771

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250