JP2018511232A - 非正方形区分を使用してビデオデータを符号化するための最適化 - Google Patents

非正方形区分を使用してビデオデータを符号化するための最適化 Download PDF

Info

Publication number
JP2018511232A
JP2018511232A JP2017546591A JP2017546591A JP2018511232A JP 2018511232 A JP2018511232 A JP 2018511232A JP 2017546591 A JP2017546591 A JP 2017546591A JP 2017546591 A JP2017546591 A JP 2017546591A JP 2018511232 A JP2018511232 A JP 2018511232A
Authority
JP
Japan
Prior art keywords
blocks
value
block
horizontal
motion vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017546591A
Other languages
English (en)
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 JP2018511232A publication Critical patent/JP2018511232A/ja
Pending legal-status Critical Current

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/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • 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/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

Landscapes

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

Abstract

ビデオデータを符号化するために、ビデオエンコーダは、ビデオデータの2N×2Nブロックを4つのN×Nブロックへと区分化し、4つのN×Nブロックの各々に対する符号化モードを決定し、4つのN×Nブロックの各々に対する符号化モードを使用して、4つのN×Nブロックの符号化バージョンを表す値を算出し、算出された値に基づいて、2N×2Nブロックに対する少なくとも1つの非正方形区分化モードのテストを省略するかどうかを決定し、少なくとも1つの非正方形区分化モードのテストを省略するかどうかの決定に少なくとも部分的に基づいて、2N×2Nブロックを符号化する。【選択図】 図6

Description

関連出願
[0001]本開示は、全内容が参照によって本明細書に組み込まれる、2015年3月6日に出願された米国特許仮出願第62/129,650号の利益を主張する。
[0002]本開示は、ビデオ符号化に関する。
[0003]デジタルビデオ能力は、デジタルテレビ、デジタルディレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップ又はデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲーム機、セルラ式又は衛星無線電話、いわゆる「スマートフォン」、ビデオテレビ会議デバイス、ビデオストリーミングデバイス及び同様のものを含む、広範囲のデバイスに組み込まれることができる。デジタルビデオデバイスは、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4,パート10,アドバンスドビデオコード化(AVC)で定められている規格、最近完了した高効率ビデオコード化(HEVC)規格及びそのような規格の拡張に記載されているもののような、ビデオ圧縮技法を実現する。ビデオデバイスは、そのようなビデオ圧縮技法を実現することでより効率的にデジタルビデオ情報を送信、受信、符号化、復号、及び/又は記憶することができる。
[0004]ビデオ圧縮技法は、ビデオシーケンスに内在する冗長性を低減又は取り除くために、空間(イントラピクチャ)予測及び/又は時間(インターピクチャ)予測を実行する。ブロックベースのビデオコード化の場合、ビデオスライス(即ち、ビデオフレーム又はビデオフレームの一部)は、ツリーブロック、コード化単位(CU)及び/又はコード化ノードとも呼ばれ得る、ビデオブロックへと区分化され得る。ピクチャのイントラコード化された(I)スライス中のビデオブロックは、同じピクチャにおける隣接ブロック中の基準サンプルに対して空間予測を使用して符号化される。ピクチャのインターコード化された(P又はB)スライス中のビデオブロックは、同じピクチャにおける隣接ブロック中の基準サンプルに対して空間予測を使用するか又は他の参照ピクチャ中の基準サンプルに対して時間予測を使用し得る。ピクチャは、フレームと呼ばれ得、参照ピクチャは、参照フレームと呼ばれ得る。
[0005]空間予測又は時間予測は、コード化されることとなるブロックについての予測ブロックに帰着する。残差データは、コード化されることとなる元のブロックと予測ブロックとの間の画素差を表す。インターコード化されたブロックは、予測ブロックを形成する基準サンプルのブロックを指し示す動きベクトルと、コード化されたブロックと予測ブロックとの間の差分を示す残差データとに従って符号化される。イントラコード化されたブロックは、イントラコード化モードと残差データとに従って符号化される。更なる圧縮のために、残差データは、画素ドメインから変換ドメインに変換され得、これは、残差変換係数に帰着し、これは、その後量子化され得る。最初は二次元アレイで配置されている、量子化された変換係数は、変換係数の一次元ベクトルを作り出すために走査され得、エントロピーコード化が、更なる圧縮を達成するために適用され得る。
[0006]本開示は、ビデオデータを符号化するための技法を説明し、より具体的には、非正方形ブロック(例えば、予測単位)符号化のための様々な方法を説明する。いくつかのコード化シナリオについて、非正方形予測単位は、正方形予測単位と比較して、改善されたレート歪みトレードオフ又は改善された圧縮のようなコード化利得を作り出し得る。しかしながら、非正方形予測単位をテストすることの複雑性は、エンコーダ側の複雑性を劇的に増加させ得る。本開示は、非正方形ブロックから達成されるコード化効率の大部分を依然として維持しつつ、非正方形ブロックを使用してビデオデータを符号化することに関連付けられた計算複雑性を低減するための技法を導入する。
[0007]一例では、ビデオデータを符号化する方法は、ビデオデータの2N×2Nブロックを4つのN×Nブロックへと区分化することと、ここにおいて、Nは整数値である、4つのN×Nブロックの各々に対する符号化モードを決定することと、4つのN×Nブロックの各々に対する符号化モードを使用して、4つのN×Nブロックの符号化バージョンを表す値を算出することと、算出された値に基づいて、2N×2Nブロックに対する少なくとも1つの非正方形区分化モードのテストを省略するかどうかを決定することと、少なくとも1つの非正方形区分化モードのテストを省略するかどうかの決定に少なくとも部分的に基づいて、2N×2Nブロックを符号化することとを含む。
[0008]別の例では、ビデオデータを符号化するためのデバイスは、ビデオデータを記憶するように構成されたメモリと、ビデオデータの2N×2Nブロックを4つのN×Nブロックへと区分化することと、ここにおいて、Nは整数値である、4つのN×Nブロックの各々に対する符号化モードを決定することと、4つのN×Nブロックの各々に対する符号化モードを使用して、4つのN×Nブロックの符号化バージョンを表す値を算出することと、算出された値に基づいて、2N×2Nブロックに対する少なくとも1つの非正方形区分化モードのテストを省略するかどうかを決定することと、少なくとも1つの非正方形区分化モードのテストを省略するかどうかの決定に少なくとも部分的に基づいて、2N×2Nブロックを符号化することとを行うように構成された1つ又は複数のプロセッサとを含む。
[0009]別の例では、ビデオデータを符号化するための装置は、ビデオデータの2N×2Nブロックを4つのN×Nブロックへと区分化するための手段と、ここにおいて、Nは整数値である、4つのN×Nブロックの各々に対する符号化モードを決定するための手段と、4つのN×Nブロックの各々に対する符号化モードを使用して、4つのN×Nブロックの符号化バージョンを表す値を算出するための手段と、算出された値に基づいて、2N×2Nブロックに対する少なくとも1つの非正方形区分化モードのテストを省略するかどうかを決定するための手段と、少なくとも1つの非正方形区分化モードのテストを省略するかどうかの決定に少なくとも部分的に基づいて、2N×2Nブロックを符号化するための手段とを含む。
[0010]別の例では、1つ又は複数のプロセッサによって実行されたときに、ビデオデータの2N×2Nブロックを4つのN×Nブロックへと区分化することと、ここにおいて、Nは整数値である、4つのN×Nブロックの各々に対する符号化モードを決定することと、4つのN×Nブロックの各々に対する符号化モードを使用して、4つのN×Nブロックの符号化バージョンを表す値を算出することと、算出された値に基づいて、2N×2Nブロックに対する少なくとも1つの非正方形区分化モードのテストを省略するかどうかを決定することと、少なくとも1つの非正方形区分化モードのテストを省略するかどうかの決定に少なくとも部分的に基づいて、2N×2Nブロックを符号化することとを行うことを1つ又は複数のプロセッサに行わせる命令を記憶したコンピュータ読取り可能な記憶媒体。
[0011]本開示の1つ又は複数の実施形態の詳細は、添付の図面及び以下の説明において示される。本開示の他の特徴、目的及び利点は、本説明及び図面から並びに特許請求の範囲から明らかになるであろう。
[0012]図1は、本開示で説明される技法を利用し得る例となるビデオ符号化及び復号システムを例示するブロック図である。 [0013]図2は、本開示の技法に係る、差分値を決定するのに使用され得る4つのN×N区分の例を示す。 [0014]図3Aは、本開示で説明される技法を実現し得る例となるビデオエンコーダを例示するブロック図である。 [0015]図3Bは、本開示で説明される技法を実現し得る例となるビデオエンコーダを例示するブロック図である。 [0016]図4は、本開示の態様に係る、長方形PU最適化のための技法を例示するフローチャートである。 [0017]図5は、本開示で説明される技法を実現し得る例となるビデオデコーダを例示するブロック図である。 [0018]図6は、本開示の態様に係る、長方形PU最適化のための技法を例示するフローチャートを示す。
発明の詳細な説明
[0019]本開示は、ビデオデータを符号化するための技法に向けられており、より具体的には、長方形ブロック(例えば、予測単位)符号化のための様々な方法に向けられている。いくつかのコード化シナリオについて、長方形予測単位は、正方形予測単位と比較して、改善されたレート歪みトレードオフ又は改善された圧縮のようなコード化利得を作り出し得る。しかしながら、長方形予測単位をテストすることの複雑性は、エンコーダ側の複雑性を劇的に増加させ得る。例えば、仮想の高効率ビデオコード化(HEVC)ビデオエンコーダについて、正方形コード化モードに加えて非正方形コード化モードを使用することは、正方形予測単位だけを使用することの4倍程度の複雑性であると推定されている。
[0020]本開示は、長方形PUから達成されるコード化効率の大部分を依然として維持しつつ、HEVCのようなビデオ圧縮技法において長方形PUを使用することに関連付けられた複雑性を低減するための技法を導入する。以下でより詳細に説明されるように、本開示の技法によれば、ビデオエンコーダは、他のモード(例えば、正方形PUモード)について決定された情報に依存して、長方形PUモードを選択的にチェックし、長方形PUモードをチェックすることを選択的に省略し得る。このコンテキストでは、長方形区分モードをチェックすることは、長方形区分モードを含む符号化仮定をテストすることを指す。
[0021]図1は、本開示で説明される技法を利用し得る例となるビデオ符号化及び復号システム10を例示するブロック図である。図1に示されるように、システム10は、宛先デバイス14によって後の時間に復号されることとなる符号化されたビデオデータを生成する発信源デバイス12を含む。発信源デバイス12及び宛先デバイス14は、デスクトップコンピュータ、ノートブック(即ち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンのような電話ハンドセット、いわゆる「スマート」パッド、テレビ、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーム機、ビデオストリーミングデバイス又は同様のものを含む、広範囲のデバイスのうちの任意のものを備え得る。いくつかのケースでは、発信源デバイス12及び宛先デバイス14は、ワイヤレス通信のために装備され得る。
[0022]宛先デバイス14は、復号されることとなる符号化されたビデオデータを、リンク16を介して受信し得る。リンク16は、符号化されたビデオデータを発信源デバイス12から宛先デバイス14に転送する能力がある任意のタイプの媒体又はデバイスを備え得る。一例では、リンク16は、発信源デバイス12が、符号化されたビデオデータをリアルタイムで宛先デバイス14に直接送信することを可能にするために通信媒体を備え得る。符号化されたビデオデータは、ワイヤレス通信プロトコルのような通信規格に従って変調され、宛先デバイス14に送信され得る。通信媒体は、無線周波数(RF)スペクトル又は1つ又は複数の物理伝送回線のような任意のワイヤレス又はワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、広域ネットワーク、又はインターネットのようなグローバルネットワークといったパケットベースのネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、又は発信源デバイス12から宛先デバイス14への通信を容易にするのに有用であり得る任意の他の機器を含み得る。
[0023]代替的に、符号化されたデータは、出力インターフェース22から記憶デバイス26に出力され得る。同様に、符号化されたデータは、入力インターフェースによって記憶デバイス26からアクセスされ得る。記憶デバイス26は、ハードドライブ、ブルーレイディスク、DVD、CD−ROM、フラッシュメモリ、揮発性若しくは非揮発性メモリ、又は符号化されたビデオデータを記憶するための任意の他の好適なデジタル記憶媒体のような、様々な分配型の、又は局所的にアクセスされるデータ記憶媒体のうちの任意のものを含み得る。更なる例では、記憶デバイス26は、ファイルサーバ又は発信源デバイス12によって生成された被符号化ビデオを保持し得る別の中間記憶デバイスに対応し得る。宛先デバイス14は、ストリーミング又はダウンロードを介して、記憶デバイス26から、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化されたビデオデータを記憶する及び符号化されたビデオデータを宛先デバイス14に送信する能力がある任意のタイプのサーバであり得る。例となるファイルサーバは、(例えば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続記憶(NAS)デバイス、又はローカルディスクドライブを含む。宛先デバイス14は、インターネット接続を含む、任意の標準データ接続を介して、符号化されたビデオデータにアクセスし得る。これは、ファイルサーバに記憶されている符号化されたビデオデータにアクセスするのに好適なワイヤレスチャネル(例えば、Wi−Fi接続)、ワイヤード接続(例えば、DSL、ケーブルモデム、等)又は両方の組み合わせを含み得る。記憶デバイス26からの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、又は両方の組み合わせであり得る。
[0024]本開示の技法は、必ずしも、ワイヤレスアプリケーション又はセッティングに制限されるわけではない。本技法は、無線テレビブロードキャスト、ケーブルテレビ送信、衛星テレビ送信、例えば、インターネットを介したストリーミングビデオ送信、データ記憶媒体への記憶のためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号又は他のアプリケーションのような様々なマルチメディアアプリケーションのうちの任意のものをサポートして、ビデオ符号化に適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、及び/又はビデオ電話のようなアプリケーションをサポートするために、単方向又は双方向のビデオ送信をサポートするように構成され得る。
[0025]図1の例では、発信源デバイス12は、ビデオ発信源18と、ビデオエンコーダ20と、出力インターフェース22とを含む。いくつかのケースでは、出力インターフェース22は、変調器/復調器(モデム)及び/又は送信機を含み得る。発信源デバイス12では、ビデオ発信源18は、例えば、ビデオカメラのような撮像装置、以前に撮られたビデオを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受けるためのビデオフィードインターフェース、及び/又は原ビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムのような発信源又はそのような発信源の組み合わせを含み得る。一例として、ビデオ発信源18がビデオカメラである場合、発信源デバイス12及び宛先デバイス14は、いわゆる、カメラ電話又はビデオ電話を形成し得る。しかしながら、本開示で説明される技法は一般に、ビデオ符号化に適用可能であり得、ワイヤレス及び/又はワイヤードアプリケーションに適用され得る。
[0026]撮られたビデオ、事前に撮られたビデオ、又はコンピュータにより生成されたビデオは、ビデオエンコーダ20によって符号化され得る。符号化されたビデオデータは、発信源デバイス12の出力インターフェース22を介して、宛先デバイス14に直接送信され得る。符号化されたビデオデータはまた(又は、代替的に)、復号及び/又は再生のための、宛先デバイス14又は他のデバイスによる後のアクセスのために記憶デバイス26に記憶され得る。
[0027]宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。いくつかのケースでは、入力インターフェース28は、受信機及び/又はモデムを含み得る。宛先デバイス14の入力インターフェース28は、リンク16を通して、符号化されたビデオデータを受信する。リンク16を通して通信される、又は記憶デバイス26上に提供される符号化されたビデオデータは、ビデオデータを復号する際にビデオデコーダ30のようなビデオデコーダが使用するための、ビデオエンコーダ20によって生成される様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信されるか、記憶媒体に記憶されるか、ファイルサーバに記憶される被符号化ビデオデータに含まれ得る。
[0028]ディスプレイデバイス32は、宛先デバイス14と統合され得るか、宛先デバイス14の外部にあり得る。いくつかの例では、宛先デバイス14は、統合されたディスプレイデバイスを含み得、同様に、外部のディスプレイデバイスとインターフェース接続するように構成され得る。他の例では、宛先デバイス14は、ディスプレイデバイスであり得る。一般に、ディスプレイデバイス32は、復号されたビデオデータをユーザに表示し、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、又は別のタイプのディスプレイデバイスのような様々なディスプレイデバイスのうちの任意のものを備え得る。
[0029]ビデオエンコーダ20及びビデオデコーダ30は、最近確定された高効率ビデオコード化(HEVC)規格のようなビデオ圧縮規格に従って動作し得、HEVCテストモデル(HM)に準拠し得る。代替的に、ビデオエンコーダ20及びビデオデコーダ30は、別名、MPEG−4,パート10,アドバンスドビデオコード化(AVC)と呼ばれるITU−T H.264規格又はそのような規格の拡張のような他の専有規格又は業界規格に従って動作し得る。しかしながら、本開示の技法は、任意の特定のコード化規格に制限されない。ビデオ圧縮規格の他の例は、MPEG−2及びITU−T H.263を含む。
[0030]本開示の技法は、説明を容易にするために、HEVC専門用語を利用し得る。しかしながら、本開示の技法がHEVCに制限されると想定されるべきではなく、実際、本開示の技法が、HEVCの後続の規格及びその拡張で実現され得ることは明確に企図される。
[0031]図1には示されていないが、いくつかの態様では、ビデオエンコーダ20及びビデオデコーダ30は、各々、オーディオエンコーダ及びデコーダと統合され得、共通データストリーム又は別個のデータストリームにおけるオーディオ及びビデオの両方の符号化に対処するために、適切なMUX−DEMUXユニット又は他のハードウェア及びソフトウェアを含み得る。適用可能な場合、いくつかの例では、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、又はユーザデータグラムプロトコル(UDP)のような他のプロトコルに準拠し得る。
[0032]ビデオエンコーダ20及びビデオデコーダ30は各々、1つ又は複数のマイクロプロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェア又はそれらの任意の組み合わせのような、様々な好適なエンコーダ回路のうちの任意のものとして実現され得る。本技法がソフトウェアで部分的に実現されるとき、デバイスは、このソフトウェアのための命令を、好適かつ非一時的なコンピュータ読取可能な媒体に記憶し、本開示の技法を実行するために、1つ又は複数のプロセッサを使用してハードウェアにおいて命令を実行し得る。ビデオエンコーダ20及びビデオデコーダ30の各々は、1つ又は複数のエンコーダ又はデコーダに含まれ得、それらのうちのどちらも、それぞれのデバイスにおいて複合エンコーダ/デコーダ(CODEC)の一部として統合され得る。
[0033]以上のように、JCT−VCは、HEVC規格の開発を最近完了した。HEVC規格化の取り組みは、HEVCテストモデル(HM)と呼ばれる、ビデオコード化デバイスの発展型モデルに基づいていた。HMは、例えば、ITU−T H.264/AVCに準拠した既存のデバイスに対して、ビデオコード化デバイスのいくつかの追加の能力を仮定する。例えば、H.264が、9つのイントラ予測符号化モードを提供するのに対し、HMは、35個ものイントラ予測符号化モードを提供し得る。
[0034]HEVC及び他のビデオコード化規格では、ビデオシーケンスは典型的に、一連のピクチャを含む。ピクチャは、「フレーム」とも呼ばれ得る。ピクチャは、S、SCb、及びSCrと表される3つのサンプルアレイを含み得る。Sは、ルーマサンプルの二次元アレイ(即ち、ブロック)である。SCbは、Cbクロミナンスサンプルの二次元アレイである。SCrは、Crクロミナンスサンプルの二次元アレイである。クロミナンスサンプルは、本明細書では、「クロマ」サンプルとも呼ばれ得る。他の事例では、ピクチャは、モノクロであり得、ルーマサンプルのアレイだけを含み得る。
[0035]ピクチャの符号化表現を生成するために、ビデオエンコーダ20は、コード化ツリー単位(CTU)のセットを生成し得る。CTUの各々は、ルーマサンプルのコード化ツリーブロックと、クロマサンプルの2つの対応するコード化ツリーブロックと、これらのコード化ツリーブロックのサンプルをコード化するために使用されるシンタックス構造とを備え得る。モノクロのピクチャ又は3つの別個の色平面を有するピクチャでは、CTUは、単一のコード化ツリーブロックと、このコード化ツリーブロックのサンプルをコード化するために使用されるシンタックス構造とを備え得る。コード化ツリーブロックは、サンプルのN×Nブロックであり得、ここで、Nは、16、32又は64のような整数に等しいであろう。CTUは、「ツリーブロック」又は「最大コード化単位」(LCU)とも呼ばれ得る。HEVCのCTUは、H.264/AVCのような他の規格のマクロブロックに大まかに類似し得る。しかしながら、CTUは、必ずしも、特定のサイズに制限されるわけではなく、1つ又は複数のコード化単位(CU)を含み得る。スライスは、ラスター走査順に連続して並べられた整数の数のCTUを含み得る。
[0036]コード化されたCTUを生成するために、ビデオエンコーダ20は、CTUのコード化ツリーブロックに対して四分木区分化を再帰的に実行して、コード化ツリーブロックをコード化ブロックへと分割し得、よって、「コード化ツリー単位」と称される。コード化ブロックは、サンプルの2N×2Nブロックであり得る。CUは、ルーマサンプルのコード化ブロックと、ルーマサンプルアレイ、Cbサンプルアレイ、及びCrサンプルアレイを有するピクチャのクロマサンプルの2つの対応するコード化ブロックと、これらのコード化ブロックのサンプルをコード化するために使用されるシンタックス構造とを備え得る。モノクロのピクチャ又は3つの別個の色平面を有するピクチャでは、CUは、単一のコード化ブロックと、このコード化ブロックのサンプルをコード化するために使用されるシンタックス構造とを備え得る。
[0037]ビデオエンコーダ20は、CUレベルでブロックイントラ予測ブロックを符号化するかインター予測ブロックを符号化するかどうかを決定し得、ここで、様々なPU区分化スキームが使用され得る。例として、HEVCは、64×64から下は4×4までのサンプルのPUサイズでの予測をサポートする。特定のCUのサイズが2N×2Nであると想定すると、HMは、2N×2N又はN×NというPUサイズでのイントラ予測と、2N×2N、2N×N、N×2N、又はN×Nという対称的なPUサイズでのインター予測とをサポートする。HMはまた、2N×nU、2N×nD、nL×2N、及びnR×2NというPUサイズでのインター予測について非対称的な区分化をサポートする。非対称な区分化では、CUの一方の方向は区分化されないが、もう一方の方向は25%と75%へと区分化される。25%区分に対応するCUの一部は、「n」によって示され、その後に「上(U:Up)」、「下(D:Down)」、「左(L:Left)」又は「右(R:Right)」というインジケーションが続く。故に、例えば、「2N×nU」は、上には2N×0.5N PUが、下には2N×1.5N PUがくるように水平に区分化された2N×2N CUを指す。
[0038]本開示では、「N×N(NxN)」及び「N×N(N by N)」は、交換可能に使用され、垂直次元及び水平次元の観点からビデオブロックの画素次元、例えば、16×16(16x16)画素又は16×16(16 by 16)画素、を指し得る。一般に、16×16ブロックは、垂直方向に16画素(y=16)を、水平方向に16画素(x=16)を有するであろう。同様に、N×Nブロックは一般に、垂直方向にN画素を、水平方向にN画素を有し、ここで、Nは、自然数を表す。ブロック中の画素は、行と列に配置され得る。更に、ブロックは、水平方向において、必ずしも、垂直方向と同じ数の画素を有する必要はない。例えば、ブロックは、N×M画素を備え得、ここで、Mは必ずしもNと等しいとは限らない。
[0039]ビデオエンコーダ20は、CUのコード化ブロックを1つ又は複数の予測ブロックへと区分化し得る。予測ブロックは、同じ予測が適用されるサンプルの矩形(即ち、正方形又は非正方形)ブロックであり得る。CUの予測単位(PU)は、ルーマサンプルの予測ブロックと、クロマサンプルの2つの対応する予測ブロックと、これらの予測ブロックを予測するために使用されるシンタックス構造とを備え得る。モノクロのピクチャ又は3つの別個の色平面を有するピクチャでは、PUは、単一の予測ブロックと、この予測ブロックを予測ために使用されるシンタックス構造とを備え得る。ビデオエンコーダ20は、CUの各PUのルーマ、Cb、及びCr予測ブロックについての予測ルーマ、Cb、及びCrブロックを生成し得る。
[0040]ビデオエンコーダ20は、PUについての予測ブロックを生成するためにイントラ予測又はインター予測を使用し得る。ビデオエンコーダ20が、PUの予測ブロックを生成するためにイントラ予測を使用する場合、ビデオエンコーダ20は、PUに関連付けられたピクチャの復号されたサンプルに基づいて、PUの予測ブロックを生成し得る。ビデオエンコーダ20が、PUの予測ブロックを生成するためにインター予測を使用する場合、ビデオエンコーダ20は、PUに関連付けられたピクチャ以外の1つ又は複数のピクチャの復号されたサンプルに基づいて、PUの予測ブロックを生成し得る。
[0041]ビデオエンコーダ20が、CUの1つ又は複数のPUについての予測ルーマ、Cb、及びCrブロックを生成した後、ビデオエンコーダ20は、そのCUについてのルーマ残差ブロックを生成し得る。CUのルーマ残差ブロック中の各サンプルは、CUの予測ルーマブロックのうちの1つ中のルーマサンプルと、CUの元のルーマコード化ブロック中の対応するサンプルとの間の差分を示す。加えて、ビデオエンコーダ20は、CUについてのCb残差ブロックを生成し得る。CUのCb残差ブロック中の各サンプルは、CUの予測Cbブロックのうちの1つ中のCbサンプルと、CUの元のCbコード化ブロック中の対応するサンプルとの間の差分を示し得る。ビデオエンコーダ20はまた、CUについてのCr残差ブロックを生成し得る。CUのCr残差ブロック中の各サンプルは、CUの予測Crブロックの1つ中のCrサンプルと、CUの元のCrコード化ブロック中の対応するサンプルとの間の差分を示し得る。
[0042]更に、ビデオエンコーダ20は、CUのルーマ、Cb、及びCr残差ブロックを1つ又は複数のルーマ、Cb、及びCr変換ブロックへと分解するために四分木区分化を使用し得る。変換ブロックは、同じ変換が適用されるサンプルの矩形(例えば、正方形又は非正方形)ブロックであり得る。CUの変換単位(TU)は、ルーマサンプルの変換ブロックと、クロマサンプルの2つの対応する変換ブロックと、これら変換ブロックのサンプルを変換するために使用されるシンタックス構造とを備え得る。故に、CUの各TUは、ルーマ変換ブロック、Cb変換ブロック及びCr変換ブロックに関連付けられ得る。TUに関連付けられたルーマ変換ブロックは、CUのルーマ残差ブロックのサブブロックであり得る。Cb変換ブロックは、CUのCb残差ブロックのサブブロックであり得る。Cr変換ブロックは、CUのCr残差ブロックのサブブロックであり得る。モノクロのピクチャ又は3つの別個の色平面を有するピクチャでは、TUは、単一の変換ブロックと、この変換ブロックのサンプルを変換するために使用されるシンタックス構造とを備え得る。
[0043]ビデオエンコーダ20は、TUについてのルーマ係数ブロックを生成するために、TUのルーマ変換ブロックに1つ又は複数の変換を適用し得る。係数ブロックは、変換係数の二次元アレイであり得る。変換係数は、スカラー量であり得る。ビデオエンコーダ20は、TUについてのCb係数ブロックを生成するために、TUのCb変換ブロックに1つ又は複数の変換を適用し得る。ビデオエンコーダ20は、TUについてのCr係数ブロックを生成するために、TUのCr変換ブロックに1つ又は複数の変換を適用し得る。
[0044]係数ブロック(例えば、ルーマ係数ブロック、Cb係数ブロック、又はCr係数ブロック)を生成した後、ビデオエンコーダ20は、これらの係数ブロックを量子化し得る。量子化は一般に、変換係数を表すために使用されるデータ量をできる限り低減させためにそれら変換係数が量子化されるプロセスを指し、これは、更なる圧縮を提供する。ビデオエンコーダ20が係数ブロックを量子化した後、ビデオエンコーダ20は、量子化された変換係数を示すシンタックス要素をエントロピー符号化し得る。例えば、ビデオエンコーダ20は、量子化された変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コード化(CABAC)を実行し得る。
[0045]ビデオエンコーダ20は、コード化されたピクチャ及び関連するデータの表現を形成するビットのシーケンスを含むビットストリームを出力し得る。ビットストリームは、ネットワーク抽象化レイヤ(NAL)単位のシーケンスを備え得る。NAL単位は、NAL単位内のデータのタイプを示すインジケーションと、必要に応じてエミュレーション防止ビットが組み入れられているRBSPの形式でそのデータを包含するバイトとを含むシンタックス構造である。NAL単位の各々は、NAL単位ヘッダを含み、生バイトシーケンスペイロード(RBSP)をカプセル化する。NAL単位ヘッダは、NAL単位タイプコードを示すシンタックス要素を含み得る。NAL単位のNAL単位ヘッダによって指定されるNAL単位タイプコードは、NAL単位のタイプを示す。RBSPは、NAL単位内にカプセル化される整数の数のバイトを包含するシンタックス構造であり得る。いくつかの事例では、RBSPはゼロビットを含む。
[0046]異なるタイプのNAL単位は、異なるタイプのRBSPをカプセル化し得る。例えば、第1のタイプのNAL単位は、ピクチャパラメータセット(PPS)のためのRBSPをカプセル化し得、第2のタイプのNAL単位は、コード化されたスライスのためのRBSPをカプセル化し得、第3のタイプのNAL単位は、補足エンハンスメント情報(SEI)メッセージのためのRBSPをカプセル化し得る。(パラメータセット及びSEIメッセージのためのRBSPとは対照的に)ビデオコード化データのためのRBSPをカプセル化するNAL単位は、ビデオコード化レイヤ(VCL)NAL単位と呼ばれ得る。
[0047]ビデオデコーダ30は、ビデオエンコーダ20によって生成されたビットストリームを受け得る。加えて、ビデオデコーダ30は、ビットストリームからシンタックス要素を取得するためにビットストリームを解析し得る。ビデオデコーダ30は、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいて、ビデオデータのピクチャを再構築し得る。ビデオデータを再構築するためのプロセスは、一般に、ビデオエンコーダ20によって実行されるプロセスと相互関係にある。加えて、ビデオデコーダ30は、現在のCUのTUに関連付けられた係数ブロックを逆量子化し得る。ビデオデコーダ30は、現在のCUのTUに関連付けられた変換ブロックを再構築するために、係数ブロックに対して逆変換を実行し得る。ビデオデコーダ30は、現在のCUのPUについての予測ブロックのサンプルを、現在のCUのTUの変換ブロックの対応するサンプルに加えることで、現在のCUのコード化ブロックを再構築し得る。ピクチャの各CUについてのコード化ブロックを再構築することで、ビデオデコーダ30は、ピクチャを再構築し得る。
[0048]より良好なコード化効率のためHEVCで定められている手法を活用するために、ビデオエンコーダ20のようなHEVCエンコーダは、極めて複雑になり得る。例えば、LCUを符号化するために、ビデオエンコーダ20は、例えば、8×8、16×16から最大で64×64までの範囲の多くの異なるCUサイズをチェックする(例えば、それについての符号化仮定をテストする)必要があり得る。CUサイズごとに、2N×2N、2N×N、及びN×2N、等、チェックすべき異なる区分モード(例えば、PU形状)も存在し得る。
[0049]区分モードの中で、2N×N及びN×2Nは、通称、長方形区分モードと呼ばれるが、このコンテキストでは、長方形は概して、非正方形を意味し、正方形区分モードを除くと理解される。2つのPUを伴う場合、動き推定及びレート歪み最適化を含む2N×Nモードのチェックは、通常、2N×2Nモードをチェックすることの約2倍の複雑さである。N×2Nモードをチェックする場合についても同様である。結果として、2N×2Nモードに加えてこれらの2つのモードをチェックすることは、余分に4倍の複雑性を招き得る。
[0050]多くの典型的なビデオエンコーダ実現では、長方形PUモードは、矩形モードに関連付けられた複雑性を効率的に低減する方法の欠如により、正方形PUモードと比較して、それ程望ましくないであろう。矩形モードに関連付けられたこの複雑性は、特に、ビデオが直ぐに符号化されることを必要とするリアルタイム又は準リアルタイムアプリケーションにとって望ましくないであろう。
[0051]本開示は、矩形モードを使用することから達成されるコード化効率の大部分を維持しつつ、長方形PUモードを使用してビデオデータを符号化することに関連付けられた複雑性を低減し得る様々な技法を導入する。HEVCに制限されるわけではないが、本開示の技法は、HEVC規格を使用してビデオを符号化するときに特に利益になり得る。
[0052]本開示の例となる技法によれば、ビデオエンコーダ20は、全てのCUに対して長方形PUモードをチェックするわけではないように構成され得る。代わりに、長方形PUモードは、他のモードのコスト(例えば、RDコスト)に依存して条件付きでチェックされ得る。所与のCUサイズの場合、2N×2Nモードをチェックした後、ビデオエンコーダ20は、N×Nモードに関連付けられた4つの4分の1サイズのブロックのRD(レート歪み)コストを更にチェックし得る(これは、4つの4分の1のサイズのCUで2N×2Nモードをチェックすることに大まかに等しい)。2N×2NモードとN×Nモードとの間のRDコスト関係性に依存して、長方形PUモードが選択的にチェックされ得る。
[0053]例えば、N×Nレベルにおける4つのブロックの合計のRDコストが2N×2Nレベルにおけるブロックのものよりも高い場合、2N×2Nブロックをより小さいブロック区分へと分けることがコード化効率を改善する可能性は低い。このケースでは、ビデオエンコーダ20は、長方形PUモード(例えば、2N×Nモード及びN×2Nモード)をチェックすることを省略し得る。
[0054]本開示の技法によれば、ビデオエンコーダ20が、長方形区分モードをチェックすると決定するとき、2つの長方形区分モードのうちの1つ(即ち、2N×2N又はN×2Nのいずれか)を単にチェックするのが十分であるかどうかを決めるために、いくつかの追加の条件が使用され得る。より具体的には、一例では、そのような決定は、4つのN×NブロックのRDコスト情報値に基づき得る。
[0055]図2は、以下の式1−4に従って、差分値を決定するために使用され得る(101A、101B、101C、及び101Dとラベル付された)4つのN×N区分の例を示す。図2は、4つのN×Nブロックへと区分化される2N×2Nブロックの例を示す。水平差分及び垂直差分の2つの値は、図2の4つのN×Nブロックから導出され得る。差分値は、動きベクトル差分値及び/又はRDコスト差分値であり得る。(例えば、以下の式2によって算出されるような)垂直差分が、(例えば、以下の式1によって算出されるような)水平差分よりも高い場合、N×2Nモードは、2N×Nモードよりも選択される可能性が高いため、N×2N区分モードだけがチェックされ、逆もまた同様である。垂直差分及び水平差分が近いときにのみ、2N×N及びN×2Nの両方がチェックされる。
[0056]2N×2Nブロックが4つのN×Nブロックへと区分化されるとき、例えば、ビデオエンコーダ20は、以下でより詳細に説明されるように、動き推定プロセスを使用してN×Nブロックの各々についての動きベクトルを決定し得る。ビデオエンコーダ20は、以下の式1及び2を使用して、各N×Nブロックが水平隣接ブロックに及び垂直隣接ブロックにどれだけ近いかを決定するために、動きベクトル情報から決定される水平差分値(H)及び垂直差分値(V)を比較し得る。
H=abs(MV1−MV2)+abs(MV3−MV4) 式(1)
V=abs(MV1−MV3) abs(MV2−MV4) 式(2)
[0057]式1及び2の動きベクトル減算は、例えば、第1の動きベクトルのx成分と第2の動きベクトルのx成分との間の差分を決定することで、及び第1の動きベクトルのy成分と第2の動きベクトルのy成分との間の差分を決定することで決定され得る。2つの隣接した正方形N×N区分が同様の動きベクトルを有する(例えば、動きベクトル間の差分が小さい)場合、1つの動きベクトルを有する単一の長方形区分として、それら2つの区分をまとめて符号化することが効率的であり得る。反対に、2つの隣接する正方形N×N区分が実質的に異なる動きベクトルを有する(例えば、動きベクトル間の差分が比較的大きい)場合、1つの動きベクトルを有する単一の長方形区分として、それら2つの区分をまとめて符号化することは望ましくないであろう。故に、2つのN×Nにおける動きベクトルのより小さい差分は、典型的に、長方形形状区分を使用することに対するより高い可能性を示し得る。HがVよりも低い場合、水平形状(2N×N)だけがチェックされ得、逆もまた同様である。
[0058]式1及び2に示されるような動きベクトル差分の代わりに、水平差分値(H)及び垂直差分値(V)もまた、各N×N区分を符号化することに関連付けられたコスト(例えば、RDコスト又は歪み)に基づいて決定され得る。歪み分析は、一般に、符号化されたブロックと、この符号化されたブロックを作り出すために符号化された元の符号化されていないブロックとの間の歪み(又は、誤差)の量を決定する。レート歪み分析は同様に、一般に、符号化されたブロックと、この符号化されたブロックを作り出すために符号化された元の符号化されていないブロックとの間の歪み(又は、誤差)の量を決定するが、符号化されたブロックを作り出すために使用されるビットレート(即ち、ビット数)を更に考慮に入れる。平均二乗誤差(MES:mean-squared-error)分析及び活性重み付き(activity-weighted)MSEのような、歪みを定量化するための多数の技法が知られている。同様に、ラグランジュコスト分析のような、レート歪みコストを測定するための多数の技法が知られている。本開示の技法は、歪みメトリック又はレート歪みメトリックを決定するための任意の特定の技法に制限されない。
[0059]コストが考慮されるとき、H及びVは、以下の式(3)及び(4)で示されるように、同様に導出される。
H=abs((Cost1+Cost2)−(Cost3+Cost4)) 式(3)
V=abs((Cost1+Cost3)−(Cost2+Cost4)) 式(4)
[0060]2つのN×Nにおけるコストのより大きな差分が、長方形形状を使用するより高い可能性を示すため、HがVよりも高い場合、水平形状(2N×N)だけがチェックされ、逆もまた同様である。
[0061]上で説明した差分についての近さは、βで定義され得る。例えば、βが1.05である場合、そして、差分が5%よりも小さい場合、2N×N及びN×2Nの両方がチェックされるであろう。
[0062]全体的に、本開示の技法は、コード化効率をほとんど損なうことなく、長方形PUコード化の複雑性を略60%低減し得る。
[0063]図3Aは、本開示で説明される技法を実現し得る例となるビデオエンコーダ20を例示するブロック図である。ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラ及びインターコード化を実行し得る。イントラコード化は、所与のビデオフレーム又はピクチャ内のビデオにおける空間冗長性を低減又は取り除くために空間予測に依拠する。インターコード化は、ビデオシーケンスの隣接フレーム又はピクチャ内のビデオにおける時間冗長性を低減又は取り除くために時間予測に依拠する。イントラモード(Iモード)は、いくつかの空間ベースの圧縮モードのうちの任意のものを指し得る。単方向予測(Pモード)又は双方向予測(Bモード)のようなインターモードは、いくつかの時間ベースの圧縮モードのうちの任意のものを指し得る。
[0064]図3Aの例では、ビデオエンコーダ20は、ビデオデータメモリ33と、区分化ユニット35と、予測処理ユニット41と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。予測処理ユニット41は、動き推定ユニット(MEU)42と、動き補償ユニット(MCU)44と、イントラ予測ユニット46とを含む。ビデオブロック再構築のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換処理ユニット60と、加算器62と、フィルタユニット64と、復号ピクチャバッファ(DPB)66とを含む。
[0065]図3Aに示されるように、ビデオエンコーダ20は、ビデオデータを受け、受けたビデオデータをビデオデータメモリ33に記憶する。ビデオデータメモリ33は、ビデオエンコーダ20の構成要素によって符号化されることとなるビデオデータを記憶し得る。ビデオデータメモリ33に記憶されたビデオデータは、例えば、図1のビデオ発信源18から取得され得る。DPB66は、例えば、イントラコード化モード又はインターコード化モードで、ビデオエンコーダ20がビデオデータを符号化する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ33及びDPB66は、同期動的ランダムアクセスメモリ(SDRAM)、磁気RAM(MRAM)、抵抗性RAM(RRAM(登録商標))を含む、DRAM又は他のタイプのメモリデバイスのような、様々なメモリデバイスのうちの任意のものによって形成され得る。ビデオデータメモリ33及びDPB66は、同じメモリデバイス又は別個のメモリデバイスによって提供され得る。様々な例では、ビデオデータメモリ33は、ビデオエンコーダ20の他の構成要素とともにオンチップであり得るか、これらの構成要素に対してオフチップであり得る。
[0066]区分化ユニット35は、ビデオデータメモリ33からビデオデータを取り出し、このビデオデータをビデオブロックへと区分化する。区分化ユニット35は、例えば、上に及び本開示の他の箇所で説明された技法に従って、ビデオデータの区分を決定し得る。この区分化はまた、例えば、LCU及びCUの四分木構造に従ったビデオブロック区分化に加え、スライス、タイル又は他のより大きなユニットへの区分化を含み得る。ビデオエンコーダ20は一般に、符号化されることとなるビデオスライス内のビデオブロックを符号化する構成要素を例示する。スライスは、複数のビデオブロック(そして、場合によっては、タイルと称されるビデオブロックのセット)へと分割され得る。予測処理ユニット41は、誤差結果(例えば、コード化レート及び歪みのレベル)に基づいて、現在のビデオブロックに対して、複数の可能なコード化モードのうちの1つ、例えば、複数のイントラコード化モードのうちの1つ又は複数のインターコード化モードのうちの1つを選択し得る。予測処理ユニット41は、結果として生じるイントラ又はインターコード化されたブロックを、残差ブロックデータを生成するために加算器50に、参照ピクチャとしての使用のための符号化されたブロックを再構築するために加算器62に提供し得る。
[0067]予測処理ユニット41内のイントラ予測ユニット46は、空間圧縮を提供するために、コード化されることとなる現在のブロックと同じフレーム又はスライス内の1つ又は複数の隣接ブロックに対して、現在のビデオブロックのイントラ予測コード化を実行し得る。予測処理ユニット41内の動き推定ユニット42及び動き補償ユニット44は、時間圧縮を提供するために、1つ又は複数の参照ピクチャ内の1つ又は複数の予測ブロックに対して、現在のビデオブロックのインター予測コード化を実行する。
[0068]動き推定ユニット42は、ビデオシーケンスについての所定のパターンに従って、ビデオスライスに対するインター予測モードを決定するように構成され得る。所定のパターンは、シーケンス内のビデオスライスをPスライス又はBスライスと指定し得る。動き推定ユニット42及び動き補償ユニット44は、高度に統合され得るが、概念的な目的のために別個に例示されている。動き推定ユニット42によって実行される動き推定は、ビデオブロックについての動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、参照ピクチャ内の予測ブロックに対する、現在のビデオフレーム又はピクチャ内でのビデオブロックのPUの変位を示し得る。
[0069]予測ブロックは、画素差の観点から、コード化されることとなるビデオブロックのPUに厳密に一致すると認められるブロックであり、これは、差分絶対値和(SAD)、差分二乗和(SSD)、又は他の差分メトリックによって決定され得る。いくつかの例では、ビデオエンコーダ20は、DPB66に記憶された参照ピクチャのサブ整数画素位置についての値を算出し得る。例えば、ビデオエンコーダ20は、参照ピクチャの4分の1画素位置、8分の1画素位置、又は他の分数画素位置の値を補間し得る。従って、動き推定ユニット42は、全画素位置及び分数画素位置に対して、動き探索を実行し、分数画素精度で動きベクトルを出力し得る。
[0070]動き推定ユニット42は、PUの位置と参照ピクチャの予測ブロックの位置とを比較することで、インターコード化されたスライス内のビデオブロックのPUについての動きベクトルを算出する。参照ピクチャは、第1の参照ピクチャリスト(リスト0)又は第2の参照ピクチャリスト(リスト1)から選択され得、それらは各々、DPB66に記憶された1つ又は複数の参照ピクチャを識別する。動き推定ユニット42は、算出された動きベクトルを、エントロピー符号化ユニット56及び動き補償ユニット44に送る。
[0071]動き補償ユニット44によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて、予測ブロックをフェッチすること又は生成ことを伴い得、場合によっては、サブ画素精度への補間を実行する。現在のビデオブロックのPUについての動きベクトルを受けると、動き補償ユニット44は、動きベクトルが指す予測ブロックを参照ピクチャリストのうちの1つに位置付け得る。ビデオエンコーダ20は、コード化されている現在のビデオブロックの画素値から予測ブロックの画素値を減算することで残差ビデオブロックを形成し、画素差分値を形成する。画素差分値は、このブロックについての残差データを形成し、輝度及び彩度の両方の差分成分を含み得る。加算器50は、この減算演算を実行する1つ又は複数の構成要素を表す。動き補償ユニット44はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30が使用するためのビデオブロック及びビデオスライスに関連付けられたシンタックス要素を生成し得る。
[0072]予測処理ユニット41が現在のビデオブロックについての予測ブロックを生成した後、イントラ予測又はインター予測のいずれかを介して、ビデオエンコーダ20は、現在のビデオブロックから予測ブロックを減算することで残差ビデオブロックを形成し得る。残差ブロック内の残差ビデオデータは、1つ又は複数のTUに含まれ、変換処理ユニット52に適用され得る。変換処理ユニット52は、離散コサイン変換(DCT)のような変換又は概念上同様の変換を使用して、残差ビデオデータを残差変換係数へと変換する。変換処理ユニット52は、残差ビデオデータを画素ドメインから周波数ドメインのような変換ドメインに変換し得る。
[0073]変換処理ユニット52は、結果として生じる変換係数を量子化ユニット54に送り得る。量子化ユニット54は、ビットレートを更に低減するために、変換係数を量子化する。量子化プロセスは、これら係数のうちのいくつか又は全てに関連付けられたビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することで修正され得る。いくつかの例では、次に、量子化ユニット54は、量子化された変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット56が走査を実行し得る。
[0074]量子化に続いて、エントロピー符号化ユニット56は、量子化された変換係数をエントロピー符号化する。例えば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コード化(CAVLC)、コンテキスト適応型バイナリ算術コード化(CABAC)、シンタックスベースのコンテキスト適応型バイナリ算術コード化(SBAC)、確率区間区分エントロピー(PIPE)コード化、又は別のエントロピー符号化方法若しくは技法を実行し得る。エントロピー符号化ユニット56によるエントロピー符号化に続いて、符号化されたビットストリームは、ビデオデコーダ30に送信されるか、ビデオデコーダ30による後の送信又は取り出しのためにアーカイブされ得る。エントロピー符号化ユニット56はまた、コード化されている現在のビデオスライスについての動きベクトル及び他のシンタックス要素をエントロピー符号化し得る。
[0075]逆量子化ユニット58及び逆変換処理ユニット60は、参照ピクチャの参照ブロックとしての後の使用のために、画素ドメイン内において残差ブロックを再構築するために、それぞれ逆量子化及び逆変換を適用する。動き補償ユニット44は、参照ピクチャリストのうちの1つ内の参照ピクチャのうちの1つの予測ブロックに残差ブロックを加えることで参照ブロックを算出し得る。動き補償ユニット44はまた、再構築された残差ブロックに1つ又は複数の補間フィルタを適用して、動き推定で用いるサブ整数画素値を算出し得る。加算器62は、再構築されたブロックを作り出すために、動き補償ユニット44によって作り出された動き補償された予測ブロックに、再構築された残差ブロックを加える。
[0076]フィルタユニット64は、再構築されたブロック(例えば、加算器62の出力)をフィルタ処理し、参照ブロックとしての使用のために、フィルタ処理された被再構築ブロックをDPB66に記憶する。参照ブロックは、後続のビデオフレーム又はピクチャにおいてブロックをインター予測するために、動き推定ユニット42及び動き補償ユニット44によって参照ブロックとして使用され得る。フィルタユニット64は、デブロッキングフィルタ処理、サンプル適応型オフセット(SAO)フィルタ処理、適応型ループフィルタ処理(ALF)、又は他のタイプのループフィルタ処理のうちの1つ又は複数を適用し得る。フィルタユニット64は、ブロック境界をフィルタ処理するためにデブロッキングフィルタ処理を適用して、再構築されたビデオからブロック歪み(blockiness artifacts)を取り除き得、コード化品質全体を改善するために他のタイプのフィルタリンを適用し得る。追加のループフィルタ(インループ又はポストループ)もまた使用され得る。
[0077]図3Bは、本開示で説明される技法を実現し得る例となるビデオエンコーダ21を例示するブロック図である。図3Bは、本開示の技法を実行するように構成された例となるHEVCビデオエンコーダを表す。図3Aのビデオエンコーダ20及び図3Bのビデオエンコーダ21は、必ずしも、代替的なビデオエンコーダであることが意図されているわけではなく、代わりに、同じビデオエンコーダの代替的な視点であると考えられ得る。故に、ビデオエンコーダ20に関連して説明された特徴は、ビデオエンコーダ21で実現され得、逆もまた同様である。
[0078]ビデオエンコーダ21は、汎用コーダ制御ユニット140と、動き推定ユニット142と、動き補償ユニット144と、イントラピクチャ推定ユニット145と、イントラピクチャ予測処理ユニット146と、変換スケーリング及び量子化ユニット152/154と、スケーリング及び逆変換ユニット158/160と、フィルタ制御分析ユニット170と、デブロッキング及びSAOフィルタ172/174と、復号ピクチャバッファ178と、ヘッダ形成及びCABACユニット180とを含む。これらの構成要素の各々は一般に、図3Aにおけるその同様に番号付けされた等価物と同じ機能を実行する。例えば、動き推定ユニット142は一般に、図3Aにおける動き推定ユニット42と同じ機能性を実行し、変換スケーリング及び量子化ユニット152/154は、一般に、変換処理ユニット52及び量子化ユニット54と同じ機能性を実行する。
[0079]汎用コーダ制御ユニット140は、ビデオエンコーダ21がどのようにしてビデオデータを符号化することとなるかについての様々なパラメータを選択及び維持する。例えば、汎用コーダ制御ユニット140は、それに従ってビデオデータがコード化されることとなるHEVC規格のプロフィール、ティア、及びレベルを選択し得る。汎用コーダ制御ユニット140はまた、例えば、ビットレート及び所望のRDレベルを確立及び維持し得る。
[0080]ビデオエンコーダ21は、入力ビデオ信号をビデオブロック(例えば、CTU)へと区分化し、これらのCTUを動き推定ユニット142及びイントラピクチャ推定ユニット145に送る。動き推定ユニット142は、ビデオシーケンスについての所定のパターンに従って、ビデオのブロックに対するインター予測モードを決定するように構成され得る。イントラピクチャ推定ユニット145は、ビデオデータのブロックに対するイントラ予測モードを決定するように構成され得る。ビデオエンコーダ21は、ビデオデータのブロックをコード化するために、イントラ予測モード又はインター予測モードのうちの1つを選択する。選択されたイントラ予測データ又は動きデータは、ヘッダ形成及びCABACユニット180に送られ、これは、このデータを、符号化ビットストリームへの包含のためにエントロピー符号化し得る。
[0081]加算器150において、ビデオエンコーダ21は、決定された動きデータ又はイントラ予測データを使用して識別された、予測されたブロックを、元のブロックから減算することで残差データを決定する。変換、スケーリング及び量子化ユニット152/154は、DCT又は概念的に類似した変換のような変換を使用して残差ビデオデータを残差変換係数へと変換し、残差ビデオデータを画素ドメインから周波数ドメインのような変換ドメインへと変換し得る。変換、スケーリング及び量子化ユニット152/154はまた、データを更に圧縮するために変換係数を量子化する。量子化プロセスは、これら係数のうちのいくつか又は全てに関連付けられたビット深度を低減し得る。変換、スケーリング及び量子化ユニット152/154は、量子化された変換係数をヘッダ形成及びCABACユニット180に送り、これは、この量子化された変換係数を、符号化ビットストリームへの包含のためにエントロピー符号化し得る。
[0082]ビデオエンコーダ21はまた、様々な符号化仮定について達成されるビデオ符号化の品質を決定するための復号ループを含み得る。復号ループでは、スケーリング及び逆変換ユニット158/160は、画素ドメインにおける残差ブロックを再構築するために逆量子化及び逆変換を適用する。加算器162は、再構築されたブロックを決定するために、動き補償ユニット144のイントラピクチャ予測処理ユニット146のいずれかによって見つかった予測されたブロックに、再構築された残差ブロックを追加する。
[0083]フィルタ制御分析ユニット170は、再構築されたブロックをフィルタ処理するために使用されることとなる、任意のSAO情報を含むフィルタ情報を決定する。フィルタ制御分析ユニット170は、決定されたフィルタ情報をヘッダ形成及びCABACユニット180に送り、これは、このフィルタ情報を、符号化ビットストリームへの包含のためにエントロピー符号化し得る。デブロッキング及びSAOフィルタ172/174はまた、ブロック歪みを取り除くために及びビデオ品質を他の方法で改善するために、フィルタ制御分析ユニット170によって決定されたフィルタ情報に基づいて、1つ又は複数のフィルタを、再構築されたブロックに適用し得る。複数のコード化パスを実行することの一部として、フィルタ制御分析ユニット170は、フィルタ情報の複数の異なるセットを導出し得、デブロッキング及びSAOフィルタ172/174は、再構築されたブロックをコード化するためにフィルタ情報の異なるセットのどのフィルタ情報を使用するかを決定することの一部として、導出されたフィルタ情報を使用して、これらのブロックをフィルタ処理し得る。
[0084]DPB178への記憶に先立ち、デブロッキング及びSAOフィルタ172/174は、決定されたフィルタ情報を使用して、再構築されたブロックをフィルタ処理し得る。故に、ビデオデータの更なるブロックをコード化するとき、イントラピクチャ推定ユニット145及び動き推定ユニット142は、フィルタ処理された被再構築ブロックにおいて予測ブロックを探索し得、これらは、ビデオデコーダが予測ブロックを位置付けるために使用するブロックと同じブロックである。
[0085]図4は、本開示の態様に係る、長方形PU最適化のための技法を例示するフローチャートを示す。図4の技法は、ビデオエンコーダ20及び21のいずれかに対応し、ビデオエンコーダ20及び21の両方の特性を組み合わせ、及び/又は、ビデオエンコーダ20及び21とは異なり得る汎用ビデオエンコーダに関連して説明されるであろう。図4の技法は、任意の特定のタイプのビデオエンコーダに限定されない。更に、図4の技法は、RDコストに関連して説明されるが、図4の技法が、RDコスト以外のコストを使用して実現されるか、動きベクトル差分を使用して実現されるか、又は複数のタイプのコストの組み合わせ又はコストと動きベクトル差分との組み合わせを使用して実現され得ることは理解されるべきである。
[0086]図4の技法に従って、ビデオエンコーダは、第1の正方形区分モードでビデオデータのブロックを符号化することに関連付けられた第1のレート歪み(RD)コストを決定し(102)、第2の正方形区分モードでビデオデータのブロックを符号化することに関連付けられた第2のRDコストを決定する(104)ように構成され、ここで、第2の正方形区分モードは、第1の正方形区分モードよりも小さい正方形区分を実現する。図4の例では、第1の正方形区分モードは、2N×2Nモードであり、第2の正方形区分モードは、N×N区分モードである。第2のRDコストは、4つのN×Nブロックに関連付けられた合計のRDコストに相関し得る。4つのN×Nブロックについての第2のRDコストは、例えば、4つのN×Nブロックについての歪み及びシグナリングコストを加算することで決定され得る。第2のRDコストは、(4つのN×Nブロックに分けられる)2N×2NブロックのRDコストを測定する別の方法であり、これは、コード化ゲインを作り出すこととなるのが、2N×2Nブロックを2つの2N×Nブロック又は2つのN×2Nブロックへと分けることか否かを示すインジケーションを提供し得る。
[0087]ビデオエンコーダは、(図4においてC2N×2Nと示される)第1のRDコストを(図4においてCN×Nと示される)第2のRDコストと比較し得(106)、第2のRDコストが第1のRDコスト×閾値量よりも大きいこと(106、YES)に応答して、ビデオコーダは、区分モード決定プロセスを終了し得る。(図4においてαと示される)閾値量は、例えば、1.1、1.05、0.95、0.9、又は何らかの他のそのような値に等しく設定され得る。値αは、ビデオエンコーダが2N×2N区分モードを選択する周波数に影響を与え得る。ビデオエンコーダは、長方形区分モードのチェックを省略することで区分モード決定プロセスを終了し得る。第2のRDコストが第1のRDコスト×閾値量よりも大きいこと(106、YES)に応答して、ビデオエンコーダは、ブロックを符号化するための第1の正方形区分モード(図4の例では2N×2N)を選択し得る。
[0088]第1のRDコストが第2のRDコスト×第2の閾値量よりも大きいこと(106、NO)に応答して、ビデオエンコーダは、追加の区分モードをチェックし得る。追加の区分モードをチェックすることの一部として、ブロックのうちの少なくとも1つがN×Nに対するイントラモードでコード化されるべきであるとビデオエンコーダが決定する場合(108、YES)、ビデオエンコーダは、区分モード決定プロセスを終了し、4つのN×N区分を使用して2N×2Nブロックを符号化し得る。全てのブロックがN×Nに対するイントラモードでコード化されないとビデオエンコーダが決定する場合(108、NO)、ビデオエンコーダは、第2の正方形区分モードの区分に関連付けられた水平差分を決定し、第2の正方形区分モードの区分に関連付けられた垂直差分を決定する(110)。第2の正方形区分モードの区分に関連付けられた水平差分を決定するために、ビデオエンコーダは、上の式1に従って動きベクトル間の差分を決定し、及び/又は、上の式3に従ってRDコスト間の差分を決定し得る。第2の正方形区分モードの区分に関連付けられた垂直差分を決定するために、ビデオエンコーダは、上の式2に従って動きベクトル間の差分を決定し、及び/又は、上の式4に従ってRDコスト間の差分を決定し得る。
[0089]第2の正方形区分モードの区分に関連付けられた水平差分を決定するために、ビデオエンコーダは、左上の区分と上右の区分との間の差分(例えば、コスト差分又は動きベクトル差分)と、左下の区分と右下の区分との間の差分とを決定し得る。第2の正方形区分モードの区分に関連付けられた垂直差分を決定するために、ビデオエンコーダは、左上の区分と左下の区分との間の差分と、右上の区分と右下の区分との間の差分とを決定し得る。
[0090]水平差分が垂直差分×閾値量よりも小さいこと(112、H<β×V)に応答して、ビデオエンコーダは、水平長方形区分モード(例えば、2N×N)をチェックすることなく、ブロックに対する垂直長方形(例えば、N×2N)区分モードをチェックし得る(114)。垂直差分が水平差分×閾値量よりも小さいこと(112、v<β×H)に応答して、ビデオエンコーダは、ブロックに対する水平長方形区分モード(例えば、N×2N)をチェックすることなく、ブロックに対する垂直長方形区分モード(例えば、2N×N)をチェックし得る(116)。垂直差分が水平差分の閾値量内であること(112、NO)に応答して、ビデオエンコーダは、ブロックに対する垂直長方形区分モードと、ブロックに対する水平長方形区分モードとをチェックし得る(118)。
[0091]図4のステップ114、116、及び118について、長方形区分モードがチェックされるからといって、長方形区分モードを使用してブロックが最終的に符号化されるわけではないことは理解されるべきである。ステップ114に続いて、例えば、ブロックは、依然として、N×2N区分モードをチェックした後に、正方形区分モード(例えば、2N×2N又はN×N)を使用して符号化され得る。同様に、ステップ116に続いて、例えば、ブロックは、依然として、2N×N区分モードをチェックした後に、正方形区分モード(例えば、2N×2N又はN×N)を使用して符号化され得、ステップ118に続いて、ブロックは、依然として、2N×N及びN×2Nの両方の区分モードをチェックした後に、正方形区分モード(例えば、2N×2N又はN×N)を使用して符号化され得る。
[0092]図4の技法をHEVC以外のビデオ圧縮規格に適用するときに、ステップ108が取り除かれ得ることもまた理解されるべきである。HEVCが、イントラコード化されたブロックについて長方形区分をサポートしないため、HEVCエンコーダは、区分がイントラ符号化されるべきであると決定した後、長方形区分モードをテストする必要はない。イントラ符号化された長方形区分をサポートする異なるビデオ圧縮規格の場合、ビデオエンコーダは、2N×2Nブロックの1つ又は複数の区分がイントラ符号化されるべきであると決定した後であってもステップ110に進む。
[0093]上述した技法に従って、ビデオエンコーダ20及び21は、ビデオデータの2N×2Nブロックを4つのN×Nブロックへと区分化するように構成されたビデオエンコーダ及び4つのN×Nブロックの各々に対する符号化モードを決定することの例を表す。次に、ビデオエンコーダ20及び21は、4つのN×Nブロックの各々に対する符号化モードを使用して、4つのN×Nブロックの符号化バージョンを表す値を算出し、算出された値に基づいて、2N×2Nブロックに対する少なくとも1つの長方形区分化モードのテストを省略するかどうかを決定し得る。ビデオエンコーダ20及び21は、少なくとも1つの長方形区分化モードのテストを省略するかどうかの決定に少なくとも部分的に基づいて、2N×2Nブロックを符号化し得る。
[0094]ビデオエンコーダ20及び21は、4つのN×Nブロックの符号化バージョンを表す値から水平値を決定することと、4つのN×Nブロックの符号化バージョンを表す値から垂直値を決定することと、水平値が垂直値にオフセットを乗じたものよりも大きいかどうか又は垂直値が水平値にオフセットを乗じたものよりも大きいかどうかに基づいて少なくとも1つの長方形区分化モードのテストを省略するかどうかを決定することとを行うことでテストを省略するかどうかを決定し得る。ビデオエンコーダ20及び21は、水平値が垂直値にオフセットを乗じたものよりも大きいとき、N×2N区分化モードをテストすることを省略すると決定することでテストを省略するかどうかを決定し得る。ビデオエンコーダ20及び21はまた、垂直値が水平値にオフセットを乗じたものよりも大きいとき、2N×N区分化モードをテストすることを省略すると決定することでテストを省略するかどうかを決定し得る。
[0095]ビデオエンコーダ20及び21は、4つのN×Nブロックの動きベクトルについての動きベクトル差分値を算出することで値を算出し得、ここで、動きベクトル差分値の各々は、それぞれの水平成分とそれぞれの垂直成分とを含む。ビデオエンコーダ20及び21は、4つのN×Nブロックの左上ブロックについての動きベクトルの水平成分と4つのN×Nブロックの右上ブロックについての動きベクトルの水平成分との間の第1の差分と、4つのN×Nブロックの左下ブロックについての動きベクトルの水平成分と4つのN×Nブロックの右下ブロックについての動きベクトルの水平成分との間の第2の差分との和を算出することで、水平値を決定し得る。ビデオエンコーダ20及び21は、4つのN×Nブロックの左上ブロックについての動きベクトルの水平成分と4つのN×Nブロックの右上ブロックについての動きベクトルの水平成分との間の第1の差分と、4つのN×Nブロックの左下ブロックについての動きベクトルの水平成分と4つのN×Nブロックの右下ブロックについての動きベクトルの水平成分との間の第2の差分との和を算出することで、水平値を決定し得る。
[0096]図5は、本開示で説明される技法に従って、符号化されたビデオデータを復号し得る例となるビデオデコーダ30を例示するブロック図である。ビデオデコーダ30は、ビデオデータを受け、復号するように構成されたビデオデコーダとして提示されているが、ビデオデコーダ30に関連して説明される技法の多くがビデオエンコーダ20又は21によっても実行され得ることは理解されるべきである。ビデオエンコーダ20及び21は、例えば、ビデオ復号ループを含み得、複数のコード化パスを実行することの一部として、ビデオエンコーダ20及び21は、ビデオデータを符号化し、次に、この符号化の品質を分析するために、符号化されたビデオデータを復号し得る。
[0097]図5の例では、ビデオデコーダ30は、ビデオデータメモリ78と、エントロピー復号ユニット80と、予測処理ユニット81と、逆量子化ユニット86と、逆変換処理ユニット88と、加算器90と、DPB94とを含む。予測処理ユニット81は、動き補償ユニット82と、イントラ予測ユニット84とを含む。ビデオデコーダ30は、いくつかの例では、図3Aからのビデオエンコーダ20又は図3Bからのビデオエンコーダ21に関連して説明された符号化パスと概して相互関係にある復号パスを実行し得る。
[0098]復号プロセス中、ビデオデコーダ30は、ビデオエンコーダ20から、符号化されたビデオスライスのビデオブロックを表す符号化されたビデオビットストリームと関連するシンタックス要素とを受ける。ビデオデコーダ30は、受けた被符号化ビデオビットストリームをビデオデータメモリ78に記憶する。ビデオデータメモリ78は、ビデオデコーダ30の構成要素によって復号されることとなる、符号化されたビデオビットストリームのようなビデオデータを記憶し得る。ビデオデータメモリ78に記憶されたビデオデータは、例えば、図1のリンク16を介して、図1の記憶デバイス26から、又はカメラのようなローカルビデオ発信源から、又は物理データ記憶媒体にアクセスすることで取得され得る。ビデオデータメモリ78は、符号化されたビデオビットストリームからの符号化されたビデオデータを記憶するコード化ピクチャバッファ(CPB)を形成し得る。DPB94は、例えば、イントラ又はインターコード化モードで、ビデオデコーダ30がビデオデータを復号する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ78及びDPB94は、DRAM、SDRAM、MRAM、RRAM又は他のタイプのメモリデバイスのような様々なメモリデバイスのうちの任意のものによって形成され得る。ビデオデータメモリ78及びDPB94は、同じメモリデバイス又は別個のメモリデバイスによって提供され得る。様々な例では、ビデオデータメモリ78は、ビデオデコーダ30の他の構成要素とともにオンチップであり得るか、これらの構成要素に対してオフチップであり得る。
[0099]ビデオデコーダ30のエントロピー復号ユニット80は、量子化された係数、動きベクトル、及び他のシンタックス要素を生成するために、ビデオデータメモリ78に記憶されたビデオデータをエントロピー復号する。エントロピー復号ユニット80は、動きベクトル及び他のシンタックス要素を予測処理ユニット81に転送する。ビデオデコーダ30は、ビデオスライスレベル及び/又はビデオブロックレベルでシンタックス要素を受け得る。
[0100]ビデオスライスがイントラコード化された(I)スライスとしてコード化されるとき、予測処理ユニット81のイントラ予測ユニット84は、シグナル伝達されたイントラ予測モード及びデータに基づいて現在のフレーム又はピクチャの以前に復号されたブロックから現在のビデオスライスのビデオブロックについての予測データを生成し得る。ビデオフレームがインターコード化された(即ち、B又はP)スライスとしてコード化されるとき、予測処理ユニット81の動き補償ユニット82は、エントロピー復号ユニット80から受けた動きベクトル及び他のシンタックス要素に基づいて、現在のビデオスライスのビデオブロックについての予測ブロックを作り出す。予測ブロックは、参照ピクチャリストのうちの1つ内の参照ピクチャのうちの1つから作り出され得る。ビデオデコーダ30は、DPB94に記憶された参照ピクチャに基づいてデフォルト構築技法を使用して、参照フレームリスト、リスト0及びリスト1、を構築し得る。
[0101]動き補償ユニット82は、動きベクトル及び他のシンタックス要素を解析することで現在のビデオスライスのビデオブロックについての予測情報を決定し、この予測情報を使用して、復号されている現在のビデオブロックについての予測ブロックを作り出す。例えば、動き補償ユニット82は、ビデオスライスのビデオブロックをコード化するために使用される予測モード(例えば、イントラ又はインター予測)を決定するための受けたシンタックス要素、インター予測スライスタイプ(例えば、Bスライス又はPスライス)、スライスのための参照ピクチャリストのうちの1つ又は複数についての構築情報、スライスの各インター符号化されたビデオブロックについての動きベクトル、スライスの各インターコード化されたビデオブロックについてのインター予測ステータス、及び現在のビデオスライス内のビデオブロックを復号するための他の情報のうちのいくつかを使用する。
[0102]動き補償ユニット82はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット82は、参照ブロックのサブ整数画素についての補間値を算出するためにビデオブロックの符号化中、ビデオエンコーダ20によって使用されるような補間フィルタを使用し得る。このケースでは、動き補償ユニット82は、受けたシンタックス要素からビデオエンコーダ20によって使用される補間フィルタを決定し、この補間フィルタを使用して、予測ブロックを作り出し得る。
[0103]逆量子化ユニット86は、ビットストリームにおいて提供され、かつ、エントロピー復号ユニット80によって復号された被量子化変換係数を逆量子化(inverse quantize)、即ち、逆量子化(de-quantize)する。逆量子化プロセスは、量子化の程度、また同じ様に、適用されるべき逆量子化の程度を決定するために、ビデオスライスにおける各ビデオブロックについて、ビデオエンコーダ20によって算出される量子化パラメータの使用を含み得る。逆変換処理ユニット88は、画素ドメインにおいて残差ブロックを作り出すために、逆変換、例えば、逆DCT、逆整数変換、又は概念上類似した逆変換プロセスを変換係数に適用する。
[0104]予測処理ユニットが、例えば、イントラ又はインター予測を使用して現在のビデオブロックについての予測ブロックを生成した後、ビデオデコーダ30は、逆変換処理ユニット88からの残差ブロックを、動き補償ユニット82によって生成された対応する予測ブロックと加算することで、再構築されたビデオブロックを形成する。加算器90は、この加算演算を実行する1つ又は複数の構成要素を表す。フィルタユニット92は、例えば、デブロッキングフィルタ処理、SAOフィルタ処理、ALFフィルタ処理、又は他のタイプのフィルタ処理のうちの1つ又は複数を使用して、再構築されたビデオブロックをフィルタ処理する。(コード化ループ内又はコード化ループ後のどちらかの)他のループフィルタはまた、画素遷移を平滑にするために又は別の方法でビデオ品質を改善するために使用され得る。所与のフレーム又はピクチャ内の復号されたビデオブロックはその後、後の動き補償のために使用される参照ピクチャを記憶するDPB94に記憶される。DPB94は、図1のディスプレイデバイス32のようなディスプレイデバイス上での後の提示のために、復号されたビデオを記憶する追加のメモリの一部であるか又はそれとは別個であり得る。
[0105]図6は、本開示の態様に係る、長方形PU最適化のための技法を例示するフローチャートを示す。図6の技法は、ビデオエンコーダ20及び21に対応し、ビデオエンコーダ20及び21の両方の特性を組み合わせ、及び/又はビデオエンコーダ20及び21とは異なり得る汎用ビデオエンコーダに関連して説明されるであろう。図6の技法は、任意の特定のタイプのビデオエンコーダに制限されない。
[0106]ビデオエンコーダは、ビデオデータの2N×2Nブロックを4つのN×Nブロックへと区分化する(130)。ビデオエンコーダは、4つのN×Nブロックの各々に対する符号化モードを決定し(132)、4つのN×Nブロックの各々に対する符号化モードを使用して、4つのN×Nブロックの符号化バージョンを表す値を算出する(134)。ビデオエンコーダは、算出された値に基づいて、2N×2Nブロックに対する少なくとも1つの長方形区分化モードのテストを省略するかどうかを決定する(136)。ビデオエンコーダは、少なくとも1つの長方形区分化モードのテストを省略するかどうかの決定に少なくとも部分的に基づいて、2N×2Nブロックを符号化する(138)。ビデオエンコーダは、例えば、テストされる様々な区分モードの中から1つの区分モードを選択し、選択された区分モードを使用して2N×2Nブロックを符号化する。
[0107]1つ又は複数の例では、説明された機能は、ハードウェアで、ソフトウェアで、ファームウェアで、又はこれらの任意の組み合わせで実現され得る。ソフトウェアで実現される場合、これら機能は、1つ又は複数の命令又はコードとして、コンピュータ読取可能な媒体に記憶されるか、コンピュータ読取可能な媒体を通して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ読取可能な媒体は、例えば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの移送を容易にする任意の媒体を含む通信媒体又はデータ記憶媒体のような有体の媒体に対応するコンピュータ読取り可能な記憶媒体を含み得る。このように、コンピュータ読取可能な媒体は、一般に、(1)非一時的である有形のコンピュータ読取り可能な記憶媒体又は(2)信号又は搬送波のような通信媒体に対応し得る。データ記憶媒体は、本開示で説明された技法の実現のための命令、コード、及び/又はデータ構造を取り出すために、1つ又は複数のコンピュータ又は1つ又は複数のプロセッサによってアクセス可能な任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ読取可能な媒体を含み得る。
[0108]限定ではなく例として、そのようなコンピュータ読取り可能な記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROM又は他の光学ディスク記憶装置、磁気ディスク記憶装置又は他の磁気記憶デバイス、フラッシュメモリ、又は命令又はデータ構造の形式で所望のプログラムコードを記憶するために使用されることができ、かつ、コンピュータによってアクセス可能な任意の他の媒体を備え得る。また、任意の接続は厳密にはコンピュータ読取可能な媒体と称され得る。例えば、命令が、ウェブサイト、サーバ又は他のリモート発信源から、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)又は赤外線、電波及びマイクロ波のようなワイヤレス技術を使用して送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL又は赤外線、電波及びマイクロ波のようなワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ読取り可能な記憶媒体及びデータ記憶媒体は、接続、搬送波、信号又は他の一時的な媒体を含まないが、代わりに非一時的な有体の記憶媒体に向けられることは理解されるべきである。本明細書で使用される場合、ディスク(disk)及びディスク(disc)は、コンパクトディスク(CD)、レーザーディスク(登録商標)、光ディスク、デジタル多用途ディスク(DVD)、フロッピー(登録商標)ディスク及びブルーレイディスクを含み、ディスク(disk)は、通常磁気的にデータを再生し、ディスク(disc)は、レーザーを用いて光学的にデータを再生する。上記の組み合わせもまた、コンピュータ読取可能な媒体の範囲内に含まれるべきである。
[0109]命令は、1つ又は複数のデジタルシグナルプロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)又は他の等価的な集積回路又はディスクリートな論理回路のような1つ又は複数のプロセッサによって実行され得る。従って、「プロセッサ」という用語は、本明細書で使用される場合、前述の構造又は本明細書で説明された技法の実現に好適な任意の他の構造のうちの任意のものを指し得る。加えて、いくつかの態様では、本明細書で説明された機能性は、符号化及び復号のために構成された専用のハードウェア及び/又はソフトウェアモジュール内に提供され得るか又は複合コーデックに組み込まれ得る。また、本技法は、1つ又は複数の回路又は論理要素において完全に実現され得る。
[0110]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)又はICのセット(例えば、チップセット)を含む、幅広い種類のデバイス又は装置において実現され得る。様々な構成要素、モジュール又はユニットは、本開示では、開示された技法を実行するように構成されたデバイスの機能的な態様を強調するために説明されているが、必ずしも異なるハードウェアユニットによる実現を必要とするわけではない。むしろ、上述したように、様々なユニットは、コーデックハードウェアユニットへと組み合わせられるか、好適なソフトウェア及び/又はファームウェアと併せて、上述した1つ又は複数のプロセッサを含む、相互動作するハードウェアユニットの集合によって提供され得る。
[0111]様々な例が説明されている。これらの例及び他の例は、以下の特許請求の範囲の範囲内である。
[0111]様々な例が説明されている。これらの例及び他の例は、以下の特許請求の範囲の範囲内である。
以下に本願発明の当初の特許請求の範囲に記載された発明を付記する。
[C1]
ビデオデータを符号化する方法であって、
ビデオデータの2N×2Nブロックを4つのN×Nブロックへと区分化することと、ここにおいて、Nは整数値である、
前記4つのN×Nブロックの各々に対する符号化モードを決定することと、
前記4つのN×Nブロックの各々に対する前記符号化モードを使用して、前記4つのN×Nブロックの符号化バージョンを表す値を算出することと、
算出された前記値に基づいて、前記2N×2Nブロックに対する少なくとも1つの非正方形区分化モードのテストを省略するかどうかを決定することと、
前記少なくとも1つの非正方形区分化モードのテストを省略するかどうかの前記決定に少なくとも部分的に基づいて、前記2N×2Nブロックを符号化することと
を備える方法。
[C2]
テストを省略するかどうかを決定することは、
前記4つのN×Nブロックの前記符号化バージョンを表す前記値から水平値を決定することと、
前記4つのN×Nブロックの前記符号化バージョンを表す前記値から垂直値を決定することと、
前記水平値が前記垂直値にオフセットを乗じたものよりも大きいかどうか又は前記垂直値が前記水平値に前記オフセットを乗じたものよりも大きいかどうかに基づいて、前記少なくとも1つの非正方形区分化モードのテストを省略するかどうかを決定することと
を備える、C1に記載の方法。
[C3]
テストを省略するかどうかを決定することは、前記水平値が前記垂直値に前記オフセットを乗じたものよりも大きいとき、N×2N区分化モードをテストすることを省略すると決定することを備える、C2に記載の方法。
[C4]
テストを省略するかどうかを決定することは、前記垂直値が前記水平値に前記オフセットを乗じたものよりも大きいとき、2N×N区分化モードをテストすることを省略すると決定することを備える、C2に記載の方法。
[C5]
前記値を算出することは、前記4つのN×Nブロックの動きベクトルについての動きベクトル差分値を算出することを備え、前記動きベクトル差分値の各々は、それぞれの水平成分とそれぞれの垂直成分とを含む、
前記水平値を決定することは、前記4つのN×Nブロックの左上ブロックについての前記動きベクトルの前記水平成分と前記4つのN×Nブロックの右上ブロックについての前記動きベクトルの前記水平成分との間の第1の差分と、前記4つのN×Nブロックの左下ブロックについての前記動きベクトルの前記水平成分と前記4つのN×Nブロックの右下ブロックについての前記動きベクトルの前記水平成分との間の第2の差分との和を算出することを備え、
前記水平値を決定することは、前記4つのN×Nブロックの左上ブロックについての前記動きベクトルの前記水平成分と前記4つのN×Nブロックの右上ブロックについての前記動きベクトルの前記水平成分との間の第1の差分と、前記4つのN×Nブロックの左下ブロックについての前記動きベクトルの前記水平成分と前記4つのN×Nブロックの右下ブロックについての前記動きベクトルの前記水平成分との間の第2の差分との和を算出することを備える、
C2に記載の方法。
[C6]
前記4つのN×Nブロックの前記符号化バージョンを表す前記値から前記水平値を決定すること及び前記4つのN×Nブロックの前記符号化バージョンを表す前記値から前記垂直値を決定することは、2N×2N区分モードでビデオデータのブロックを符号化することに関連付けられた第1のレート歪み(RD)コストが、N×N区分モードで前記ビデオデータのブロックを符号化することに関連付けられた第2のRDコストよりも大きいことに応答して実行される、
C2に記載の方法。
[C7]
前記4つのN×Nブロックの前記符号化バージョンを表す前記値から前記水平値を決定すること及び前記4つのN×Nブロックの前記符号化バージョンを表す前記値から前記垂直値を決定することは、前記4つのN×Nブロックのうちのいずれのものに対するイントラモードを使用して前記2N×2Nブロックを符号化しないと決定することに応答して実行される、
C2に記載の方法。
[C8]
前記水平値が前記垂直値に前記オフセットを乗じたものよりも小さいこと、かつ、前記垂直値が、前記水平値に前記オフセットを乗じたものよりも小さいことに応答して、前記N×2N区分化モード及び前記2N×N区分化モードの両方をテストすること
を更に備える、C2に記載の方法。
[C9]
ビデオデータを符号化するためのデバイであって、
前記ビデオデータを記憶するために構成されたメモリと、
1つ又は複数のプロセッサと
を備え、前記1つ又は複数のプロセッサは、
ビデオデータの2N×2Nブロックを4つのN×Nブロックへと区分化することと、ここにおいて、Nは整数値である、
前記4つのN×Nブロックの各々に対する符号化モードを決定することと、
前記4つのN×Nブロックの各々に対する前記符号化モードを使用して、前記4つのN×Nブロックの符号化バージョンを表す値を算出することと、
算出された前記値に基づいて、前記2N×2Nブロックに対する少なくとも1つの非正方形区分化モードのテストを省略するかどうかを決定することと、
前記少なくとも1つの非正方形区分化モードのテストを省略するかどうかの前記決定に少なくとも部分的に基づいて、前記2N×2Nブロックを符号化することと
を行うように構成された、デバイス。
[C10]
テストを省略するかどうかを決定することは、
前記4つのN×Nブロックの前記符号化バージョンを表す前記値から水平値を決定することと、
前記4つのN×Nブロックの前記符号化バージョンを表す前記値から垂直値を決定することと、
前記水平値が前記垂直値にオフセットを乗じたものよりも大きいかどうか又は前記垂直値が前記水平値に前記オフセットを乗じたものよりも大きいかどうかに基づいて、前記少なくとも1つの非正方形区分化モードのテストを省略するかどうかを決定することと
を備える、C9に記載のデバイス。
[C11]
テストを省略するかどうかを決定するために、前記1つ又は複数のプロセッサは、前記水平値が前記垂直値に前記オフセットを乗じたものよりも大きいとき、N×2N区分化モードをテストすることを省略すると決定するように更に構成される、C10に記載のデバイス。
[C12]
テストを省略するかどうかを決定するために、前記1つ又は複数のプロセッサは、前記垂直値が前記水平値に前記オフセットを乗じたものよりも大きいとき、2N×N区分化モードをテストすることを省略すると決定するように更に構成される、C10に記載のデバイス。
[C13]
前記値を算出するために、前記1つ又は複数のプロセッサは、前記4つのN×Nブロックの動きベクトルについての動きベクトル差分値を算出するように更に構成され、前記動きベクトル差分値の各々は、それぞれの水平成分とそれぞれの垂直成分とを含む、
前記水平値を決定するために、前記1つ又は複数のプロセッサは、前記4つのN×Nブロックの左上ブロックについての前記動きベクトルの前記水平成分と前記4つのN×Nブロックの右上ブロックについての前記動きベクトルの前記水平成分との間の第1の差分と、前記4つのN×Nブロックの左下ブロックについての前記動きベクトルの前記水平成分と前記4つのN×Nブロックの右下ブロックについての前記動きベクトルの前記水平成分との間の第2の差分との和を算出するように更に構成される、
前記水平値を決定するために、前記1つ又は複数のプロセッサは、前記4つのN×Nブロックの左上ブロックについての前記動きベクトルの前記水平成分と前記4つのN×Nブロックの右上ブロックについての前記動きベクトルの前記水平成分との間の第1の差分と、前記4つのN×Nブロックの左下ブロックについての前記動きベクトルの前記水平成分と前記4つのN×Nブロックの右下ブロックについての前記動きベクトルの前記水平成分との間の第2の差分との和を算出するように更に構成される
C10に記載のデバイス。
[C14]
前記1つ又は複数のプロセッサは、2N×2N区分モードでビデオデータのブロックを符号化することに関連付けられた第1のレート歪み(RD)コストが、N×N区分モードで前記ビデオデータのブロックを符号化することに関連付けられた第2のRDコストよりも大きいことに応答して、前記4つのN×Nブロックの前記符号化バージョンを表す前記値から前記水平値を決定することと、前記4つのN×Nブロックの前記符号化バージョンを表す前記値から前記垂直値を決定することとを行うように更に構成される、
C10に記載のデバイス。
[C15]
前記1つ又は複数のプロセッサは、前記4つのN×Nブロックのうちのいずれのものに対するイントラモードを使用して前記2N×2Nブロックを符号化しないと決定することに応答して、前記4つのN×Nブロックの前記符号化バージョンを表す前記値から前記水平値を決定することと、前記4つのN×Nブロックの前記符号化バージョンを表す前記値から前記垂直値を決定することとを行うように更に構成される、
C10に記載のデバイス。
[C16]
前記1つ又は複数のプロセッサは、前記水平値が前記垂直値に前記オフセットを乗じたものよりも小さいこと、かつ、前記垂直値が、前記水平値に前記オフセットを乗じたものよりも小さいことに応答して、前記N×2N区分化モード及び前記2N×N区分化モードの両方をテストするように更に構成される、C10に記載のデバイス。
[C17]
前記デバイスは、符号化されたデータを送信するように構成された送信機を備えるワイヤレス通信デバイスを備える、C9に記載のデバイス。
[C18]
前記ワイヤレス通信デバイスは、セルラ電話を備え、前記符号化されたビデオデータは、前記送信機によって送信される前にセルラ通信規格に従って変調される、C17に記載のデバイス。
[C19]
ビデオデータを符号化するための装置であって、
ビデオデータの2N×2Nブロックを4つのN×Nブロックへと区分化するための手段と、ここにおいて、Nは整数値である、
前記4つのN×Nブロックの各々に対する符号化モードを決定するための手段と、
前記4つのN×Nブロックの各々に対する前記符号化モードを使用して、前記4つのN×Nブロックの符号化バージョンを表す値を算出するための手段と、
算出された前記値に基づいて、前記2N×2Nブロックに対する少なくとも1つの非正方形区分化モードのテストを省略するかどうかを決定するための手段と、
前記少なくとも1つの非正方形区分化モードのテストを省略するかどうかの前記決定に少なくとも部分的に基づいて、前記2N×2Nブロックを符号化するための手段と
を備える装置。
[C20]
テストを省略するかどうかを前記決定するための手段は、
前記4つのN×Nブロックの前記符号化バージョンを表す前記値から水平値を決定するための手段と、
前記4つのN×Nブロックの前記符号化バージョンを表す前記値から垂直値を決定するための手段と、
前記水平値が前記垂直値にオフセットを乗じたものよりも大きいかどうか又は前記垂直値が前記水平値に前記オフセットを乗じたものよりも大きいかどうかに基づいて、前記少なくとも1つの非正方形区分化モードのテストを省略するかどうかを決定するための手段と
を備える、C19に記載の装置。
[C21]
テストを省略するかどうかを前記決定するための手段は、前記水平値が前記垂直値に前記オフセットを乗じたものよりも大きいとき、N×2N区分化モードをテストすることを省略すると決定するための手段を備える、C20に記載の装置。
[C22]
テストを省略するかどうかを前記決定するための手段は、前記垂直値が前記水平値に前記オフセットを乗じたものよりも大きいとき、2N×N区分化モードをテストすることを省略すると決定するための手段を備える、C20に記載の装置。
[C23]
前記値を前記算出するための手段は、前記4つのN×Nブロックの動きベクトルについての動きベクトル差分値を算出するための手段を備え、前記動きベクトル差分値の各々は、それぞれの水平成分とそれぞれの垂直成分とを含む、
前記水平値を前記決定するための手段は、前記4つのN×Nブロックの左上ブロックについての前記動きベクトルの前記水平成分と前記4つのN×Nブロックの右上ブロックについての前記動きベクトルの前記水平成分との間の第1の差分と、前記4つのN×Nブロックの左下ブロックについての前記動きベクトルの前記水平成分と前記4つのN×Nブロックの右下ブロックについての前記動きベクトルの前記水平成分との間の第2の差分との和を算出するための手段を備え、
前記水平値を前記決定するための手段は、前記4つのN×Nブロックの左上ブロックについての前記動きベクトルの前記水平成分と前記4つのN×Nブロックの右上ブロックについての前記動きベクトルの前記水平成分との間の第1の差分と、前記4つのN×Nブロックの左下ブロックについての前記動きベクトルの前記水平成分と前記4つのN×Nブロックの右下ブロックについての前記動きベクトルの前記水平成分との間の第2の差分との和を算出するための手段を備える、
C20に記載の装置。
[C24]
前記4つのN×Nブロックの前記符号化バージョンを表す前記値から前記水平値を前記決定するための手段及び前記4つのN×Nブロックの前記符号化バージョンを表す前記値から前記垂直値を前記決定するための手段は、2N×2N区分モードでビデオデータのブロックを符号化することに関連付けられた第1のレート歪み(RD)コストが、N×N区分モードで前記ビデオデータのブロックを符号化することに関連付けられた第2のRDコストよりも大きいことに応答して実行する、
C20に記載の装置。
[C25]
命令を記憶したコンピュータ読取り可能な記憶媒体であって、前記命令は、1つ又は複数のプロセッサによって実行されると、
ビデオデータの2N×2Nブロックを4つのN×Nブロックへと区分化することと、ここにおいて、Nは整数値である、
前記4つのN×Nブロックの各々に対する符号化モードを決定することと、
前記4つのN×Nブロックの各々に対する前記符号化モードを使用して、前記4つのN×Nブロックの符号化バージョンを表す値を算出することと、
算出された前記値に基づいて、前記2N×2Nブロックに対する少なくとも1つの非正方形区分化モードのテストを省略するかどうかを決定することと、
前記少なくとも1つの非正方形区分化モードのテストを省略するかどうかの前記決定に少なくとも部分的に基づいて、前記2N×2Nブロックを符号化することと
を前記1つ又は複数のプロセッサに行わせる、コンピュータ読取り可能な記憶媒体。
[C26]
テストを省略するかどうかを決定するために、前記コンピュータ読取り可能な記憶媒体は、実行されたとき、
前記4つのN×Nブロックの前記符号化バージョンを表す前記値から水平値を決定することと、
前記4つのN×Nブロックの前記符号化バージョンを表す前記値から垂直値を決定することと、
前記水平値が前記垂直値にオフセットを乗じたものよりも大きいかどうか又は前記垂直値が前記水平値に前記オフセットを乗じたものよりも大きいかどうかに基づいて、前記少なくとも1つの非正方形区分化モードのテストを省略するかどうかを決定することと
を前記1つ又は複数のプロセッサに行わせる更なる命令を記憶する、C25に記載のコンピュータ読取り可能な記憶媒体。
[C27]
テストを省略するかどうかを決定するために、前記コンピュータ読取り可能な記憶媒体は、実行されると、前記水平値が前記垂直値に前記オフセットを乗じたものよりも大きいとき、N×2N区分化モードをテストすることを省略すると決定すること
を前記1つ又は複数のプロセッサに行わせる更なる命令を記憶する、C26に記載のコンピュータ読取り可能な記憶媒体。
[C28]
テストを省略するかどうかを決定するために、前記コンピュータ読取り可能な記憶媒体は、実行されると、前記垂直値が前記水平値に前記オフセットを乗じたものよりも大きいとき、2N×N区分化モードをテストすることを省略すると決定することを前記1つ又は複数のプロセッサに行わせる更なる命令を記憶する、C26に記載のコンピュータ読取り可能な記憶媒体。
[C29]
前記値を算出するために、前記コンピュータ読取り可能な記憶媒体は、実行されると、前記4つのN×Nブロックの動きベクトルについての動きベクトル差分値を算出することを前記1つ又は複数のプロセッサに行わせる更なる命令を記憶し、前記動きベクトル差分値の各々は、それぞれの水平成分とそれぞれの垂直成分とを含む、
前記水平値を決定するために、前記コンピュータ読取り可能な記憶媒体は、実行されると、前記4つのN×Nブロックの左上ブロックについての前記動きベクトルの前記水平成分と前記4つのN×Nブロックの右上ブロックについての前記動きベクトルの前記水平成分との間の第1の差分と、前記4つのN×Nブロックの左下ブロックについての前記動きベクトルの前記水平成分と前記4つのN×Nブロックの右下ブロックについての前記動きベクトルの前記水平成分との間の第2の差分との和を算出することを前記1つ又は複数のプロセッサに行わせる更なる命令を記憶し、
前記水平値を決定するために、前記コンピュータ読取り可能な記憶媒体は、実行されると、前記4つのN×Nブロックの左上ブロックについての前記動きベクトルの前記水平成分と前記4つのN×Nブロックの右上ブロックについての前記動きベクトルの前記水平成分との間の第1の差分と、前記4つのN×Nブロックの左下ブロックについての前記動きベクトルの前記水平成分と前記4つのN×Nブロックの右下ブロックについての前記動きベクトルの前記水平成分との間の第2の差分との和を算出することを前記1つ又は複数のプロセッサに行わせる更なる命令を記憶する、
C26に記載のコンピュータ読取り可能な記憶媒体。
[C30]
前記コンピュータ読取り可能な記憶媒体は、実行されると、2N×2N区分モードでビデオデータのブロックを符号化することに関連付けられた第1のレート歪み(RD)コストが、N×N区分モードで前記ビデオデータのブロックを符号化することに関連付けられた第2のRDコストよりも大きいことに応答して、前記4つのN×Nブロックの前記符号化バージョンを表す前記値から前記水平値を決定することと、前記4つのN×Nブロックの前記符号化バージョンを表す前記値から前記垂直値を決定することとを前記1つ又は複数のプロセッサに行わせる更なる命令を記憶する、C26に記載のコンピュータ読取り可能な記憶媒体。

Claims (30)

  1. ビデオデータを符号化する方法であって、
    ビデオデータの2N×2Nブロックを4つのN×Nブロックへと区分化することと、ここにおいて、Nは整数値である、
    前記4つのN×Nブロックの各々に対する符号化モードを決定することと、
    前記4つのN×Nブロックの各々に対する前記符号化モードを使用して、前記4つのN×Nブロックの符号化バージョンを表す値を算出することと、
    算出された前記値に基づいて、前記2N×2Nブロックに対する少なくとも1つの非正方形区分化モードのテストを省略するかどうかを決定することと、
    前記少なくとも1つの非正方形区分化モードのテストを省略するかどうかの前記決定に少なくとも部分的に基づいて、前記2N×2Nブロックを符号化することと
    を備える方法。
  2. テストを省略するかどうかを決定することは、
    前記4つのN×Nブロックの前記符号化バージョンを表す前記値から水平値を決定することと、
    前記4つのN×Nブロックの前記符号化バージョンを表す前記値から垂直値を決定することと、
    前記水平値が前記垂直値にオフセットを乗じたものよりも大きいかどうか又は前記垂直値が前記水平値に前記オフセットを乗じたものよりも大きいかどうかに基づいて、前記少なくとも1つの非正方形区分化モードのテストを省略するかどうかを決定することと
    を備える、請求項1に記載の方法。
  3. テストを省略するかどうかを決定することは、前記水平値が前記垂直値に前記オフセットを乗じたものよりも大きいとき、N×2N区分化モードをテストすることを省略すると決定することを備える、請求項2に記載の方法。
  4. テストを省略するかどうかを決定することは、前記垂直値が前記水平値に前記オフセットを乗じたものよりも大きいとき、2N×N区分化モードをテストすることを省略すると決定することを備える、請求項2に記載の方法。
  5. 前記値を算出することは、前記4つのN×Nブロックの動きベクトルについての動きベクトル差分値を算出することを備え、前記動きベクトル差分値の各々は、それぞれの水平成分とそれぞれの垂直成分とを含む、
    前記水平値を決定することは、前記4つのN×Nブロックの左上ブロックについての前記動きベクトルの前記水平成分と前記4つのN×Nブロックの右上ブロックについての前記動きベクトルの前記水平成分との間の第1の差分と、前記4つのN×Nブロックの左下ブロックについての前記動きベクトルの前記水平成分と前記4つのN×Nブロックの右下ブロックについての前記動きベクトルの前記水平成分との間の第2の差分との和を算出することを備え、
    前記水平値を決定することは、前記4つのN×Nブロックの左上ブロックについての前記動きベクトルの前記水平成分と前記4つのN×Nブロックの右上ブロックについての前記動きベクトルの前記水平成分との間の第1の差分と、前記4つのN×Nブロックの左下ブロックについての前記動きベクトルの前記水平成分と前記4つのN×Nブロックの右下ブロックについての前記動きベクトルの前記水平成分との間の第2の差分との和を算出することを備える、
    請求項2に記載の方法。
  6. 前記4つのN×Nブロックの前記符号化バージョンを表す前記値から前記水平値を決定すること及び前記4つのN×Nブロックの前記符号化バージョンを表す前記値から前記垂直値を決定することは、2N×2N区分モードでビデオデータのブロックを符号化することに関連付けられた第1のレート歪み(RD)コストが、N×N区分モードで前記ビデオデータのブロックを符号化することに関連付けられた第2のRDコストよりも大きいことに応答して実行される、
    請求項2に記載の方法。
  7. 前記4つのN×Nブロックの前記符号化バージョンを表す前記値から前記水平値を決定すること及び前記4つのN×Nブロックの前記符号化バージョンを表す前記値から前記垂直値を決定することは、前記4つのN×Nブロックのうちのいずれのものに対するイントラモードを使用して前記2N×2Nブロックを符号化しないと決定することに応答して実行される、
    請求項2に記載の方法。
  8. 前記水平値が前記垂直値に前記オフセットを乗じたものよりも小さいこと、かつ、前記垂直値が、前記水平値に前記オフセットを乗じたものよりも小さいことに応答して、前記N×2N区分化モード及び前記2N×N区分化モードの両方をテストすること
    を更に備える、請求項2に記載の方法。
  9. ビデオデータを符号化するためのデバイであって、
    前記ビデオデータを記憶するために構成されたメモリと、
    1つ又は複数のプロセッサと
    を備え、前記1つ又は複数のプロセッサは、
    ビデオデータの2N×2Nブロックを4つのN×Nブロックへと区分化することと、ここにおいて、Nは整数値である、
    前記4つのN×Nブロックの各々に対する符号化モードを決定することと、
    前記4つのN×Nブロックの各々に対する前記符号化モードを使用して、前記4つのN×Nブロックの符号化バージョンを表す値を算出することと、
    算出された前記値に基づいて、前記2N×2Nブロックに対する少なくとも1つの非正方形区分化モードのテストを省略するかどうかを決定することと、
    前記少なくとも1つの非正方形区分化モードのテストを省略するかどうかの前記決定に少なくとも部分的に基づいて、前記2N×2Nブロックを符号化することと
    を行うように構成された、デバイス。
  10. テストを省略するかどうかを決定することは、
    前記4つのN×Nブロックの前記符号化バージョンを表す前記値から水平値を決定することと、
    前記4つのN×Nブロックの前記符号化バージョンを表す前記値から垂直値を決定することと、
    前記水平値が前記垂直値にオフセットを乗じたものよりも大きいかどうか又は前記垂直値が前記水平値に前記オフセットを乗じたものよりも大きいかどうかに基づいて、前記少なくとも1つの非正方形区分化モードのテストを省略するかどうかを決定することと
    を備える、請求項9に記載のデバイス。
  11. テストを省略するかどうかを決定するために、前記1つ又は複数のプロセッサは、前記水平値が前記垂直値に前記オフセットを乗じたものよりも大きいとき、N×2N区分化モードをテストすることを省略すると決定するように更に構成される、請求項10に記載のデバイス。
  12. テストを省略するかどうかを決定するために、前記1つ又は複数のプロセッサは、前記垂直値が前記水平値に前記オフセットを乗じたものよりも大きいとき、2N×N区分化モードをテストすることを省略すると決定するように更に構成される、請求項10に記載のデバイス。
  13. 前記値を算出するために、前記1つ又は複数のプロセッサは、前記4つのN×Nブロックの動きベクトルについての動きベクトル差分値を算出するように更に構成され、前記動きベクトル差分値の各々は、それぞれの水平成分とそれぞれの垂直成分とを含む、
    前記水平値を決定するために、前記1つ又は複数のプロセッサは、前記4つのN×Nブロックの左上ブロックについての前記動きベクトルの前記水平成分と前記4つのN×Nブロックの右上ブロックについての前記動きベクトルの前記水平成分との間の第1の差分と、前記4つのN×Nブロックの左下ブロックについての前記動きベクトルの前記水平成分と前記4つのN×Nブロックの右下ブロックについての前記動きベクトルの前記水平成分との間の第2の差分との和を算出するように更に構成される、
    前記水平値を決定するために、前記1つ又は複数のプロセッサは、前記4つのN×Nブロックの左上ブロックについての前記動きベクトルの前記水平成分と前記4つのN×Nブロックの右上ブロックについての前記動きベクトルの前記水平成分との間の第1の差分と、前記4つのN×Nブロックの左下ブロックについての前記動きベクトルの前記水平成分と前記4つのN×Nブロックの右下ブロックについての前記動きベクトルの前記水平成分との間の第2の差分との和を算出するように更に構成される
    請求項10に記載のデバイス。
  14. 前記1つ又は複数のプロセッサは、2N×2N区分モードでビデオデータのブロックを符号化することに関連付けられた第1のレート歪み(RD)コストが、N×N区分モードで前記ビデオデータのブロックを符号化することに関連付けられた第2のRDコストよりも大きいことに応答して、前記4つのN×Nブロックの前記符号化バージョンを表す前記値から前記水平値を決定することと、前記4つのN×Nブロックの前記符号化バージョンを表す前記値から前記垂直値を決定することとを行うように更に構成される、
    請求項10に記載のデバイス。
  15. 前記1つ又は複数のプロセッサは、前記4つのN×Nブロックのうちのいずれのものに対するイントラモードを使用して前記2N×2Nブロックを符号化しないと決定することに応答して、前記4つのN×Nブロックの前記符号化バージョンを表す前記値から前記水平値を決定することと、前記4つのN×Nブロックの前記符号化バージョンを表す前記値から前記垂直値を決定することとを行うように更に構成される、
    請求項10に記載のデバイス。
  16. 前記1つ又は複数のプロセッサは、前記水平値が前記垂直値に前記オフセットを乗じたものよりも小さいこと、かつ、前記垂直値が、前記水平値に前記オフセットを乗じたものよりも小さいことに応答して、前記N×2N区分化モード及び前記2N×N区分化モードの両方をテストするように更に構成される、請求項10に記載のデバイス。
  17. 前記デバイスは、符号化されたデータを送信するように構成された送信機を備えるワイヤレス通信デバイスを備える、請求項9に記載のデバイス。
  18. 前記ワイヤレス通信デバイスは、セルラ電話を備え、前記符号化されたビデオデータは、前記送信機によって送信される前にセルラ通信規格に従って変調される、請求項17に記載のデバイス。
  19. ビデオデータを符号化するための装置であって、
    ビデオデータの2N×2Nブロックを4つのN×Nブロックへと区分化するための手段と、ここにおいて、Nは整数値である、
    前記4つのN×Nブロックの各々に対する符号化モードを決定するための手段と、
    前記4つのN×Nブロックの各々に対する前記符号化モードを使用して、前記4つのN×Nブロックの符号化バージョンを表す値を算出するための手段と、
    算出された前記値に基づいて、前記2N×2Nブロックに対する少なくとも1つの非正方形区分化モードのテストを省略するかどうかを決定するための手段と、
    前記少なくとも1つの非正方形区分化モードのテストを省略するかどうかの前記決定に少なくとも部分的に基づいて、前記2N×2Nブロックを符号化するための手段と
    を備える装置。
  20. テストを省略するかどうかを前記決定するための手段は、
    前記4つのN×Nブロックの前記符号化バージョンを表す前記値から水平値を決定するための手段と、
    前記4つのN×Nブロックの前記符号化バージョンを表す前記値から垂直値を決定するための手段と、
    前記水平値が前記垂直値にオフセットを乗じたものよりも大きいかどうか又は前記垂直値が前記水平値に前記オフセットを乗じたものよりも大きいかどうかに基づいて、前記少なくとも1つの非正方形区分化モードのテストを省略するかどうかを決定するための手段と
    を備える、請求項19に記載の装置。
  21. テストを省略するかどうかを前記決定するための手段は、前記水平値が前記垂直値に前記オフセットを乗じたものよりも大きいとき、N×2N区分化モードをテストすることを省略すると決定するための手段を備える、請求項20に記載の装置。
  22. テストを省略するかどうかを前記決定するための手段は、前記垂直値が前記水平値に前記オフセットを乗じたものよりも大きいとき、2N×N区分化モードをテストすることを省略すると決定するための手段を備える、請求項20に記載の装置。
  23. 前記値を前記算出するための手段は、前記4つのN×Nブロックの動きベクトルについての動きベクトル差分値を算出するための手段を備え、前記動きベクトル差分値の各々は、それぞれの水平成分とそれぞれの垂直成分とを含む、
    前記水平値を前記決定するための手段は、前記4つのN×Nブロックの左上ブロックについての前記動きベクトルの前記水平成分と前記4つのN×Nブロックの右上ブロックについての前記動きベクトルの前記水平成分との間の第1の差分と、前記4つのN×Nブロックの左下ブロックについての前記動きベクトルの前記水平成分と前記4つのN×Nブロックの右下ブロックについての前記動きベクトルの前記水平成分との間の第2の差分との和を算出するための手段を備え、
    前記水平値を前記決定するための手段は、前記4つのN×Nブロックの左上ブロックについての前記動きベクトルの前記水平成分と前記4つのN×Nブロックの右上ブロックについての前記動きベクトルの前記水平成分との間の第1の差分と、前記4つのN×Nブロックの左下ブロックについての前記動きベクトルの前記水平成分と前記4つのN×Nブロックの右下ブロックについての前記動きベクトルの前記水平成分との間の第2の差分との和を算出するための手段を備える、
    請求項20に記載の装置。
  24. 前記4つのN×Nブロックの前記符号化バージョンを表す前記値から前記水平値を前記決定するための手段及び前記4つのN×Nブロックの前記符号化バージョンを表す前記値から前記垂直値を前記決定するための手段は、2N×2N区分モードでビデオデータのブロックを符号化することに関連付けられた第1のレート歪み(RD)コストが、N×N区分モードで前記ビデオデータのブロックを符号化することに関連付けられた第2のRDコストよりも大きいことに応答して実行する、
    請求項20に記載の装置。
  25. 命令を記憶したコンピュータ読取り可能な記憶媒体であって、前記命令は、1つ又は複数のプロセッサによって実行されると、
    ビデオデータの2N×2Nブロックを4つのN×Nブロックへと区分化することと、ここにおいて、Nは整数値である、
    前記4つのN×Nブロックの各々に対する符号化モードを決定することと、
    前記4つのN×Nブロックの各々に対する前記符号化モードを使用して、前記4つのN×Nブロックの符号化バージョンを表す値を算出することと、
    算出された前記値に基づいて、前記2N×2Nブロックに対する少なくとも1つの非正方形区分化モードのテストを省略するかどうかを決定することと、
    前記少なくとも1つの非正方形区分化モードのテストを省略するかどうかの前記決定に少なくとも部分的に基づいて、前記2N×2Nブロックを符号化することと
    を前記1つ又は複数のプロセッサに行わせる、コンピュータ読取り可能な記憶媒体。
  26. テストを省略するかどうかを決定するために、前記コンピュータ読取り可能な記憶媒体は、実行されたとき、
    前記4つのN×Nブロックの前記符号化バージョンを表す前記値から水平値を決定することと、
    前記4つのN×Nブロックの前記符号化バージョンを表す前記値から垂直値を決定することと、
    前記水平値が前記垂直値にオフセットを乗じたものよりも大きいかどうか又は前記垂直値が前記水平値に前記オフセットを乗じたものよりも大きいかどうかに基づいて、前記少なくとも1つの非正方形区分化モードのテストを省略するかどうかを決定することと
    を前記1つ又は複数のプロセッサに行わせる更なる命令を記憶する、請求項25に記載のコンピュータ読取り可能な記憶媒体。
  27. テストを省略するかどうかを決定するために、前記コンピュータ読取り可能な記憶媒体は、実行されると、前記水平値が前記垂直値に前記オフセットを乗じたものよりも大きいとき、N×2N区分化モードをテストすることを省略すると決定すること
    を前記1つ又は複数のプロセッサに行わせる更なる命令を記憶する、請求項26に記載のコンピュータ読取り可能な記憶媒体。
  28. テストを省略するかどうかを決定するために、前記コンピュータ読取り可能な記憶媒体は、実行されると、前記垂直値が前記水平値に前記オフセットを乗じたものよりも大きいとき、2N×N区分化モードをテストすることを省略すると決定することを前記1つ又は複数のプロセッサに行わせる更なる命令を記憶する、請求項26に記載のコンピュータ読取り可能な記憶媒体。
  29. 前記値を算出するために、前記コンピュータ読取り可能な記憶媒体は、実行されると、前記4つのN×Nブロックの動きベクトルについての動きベクトル差分値を算出することを前記1つ又は複数のプロセッサに行わせる更なる命令を記憶し、前記動きベクトル差分値の各々は、それぞれの水平成分とそれぞれの垂直成分とを含む、
    前記水平値を決定するために、前記コンピュータ読取り可能な記憶媒体は、実行されると、前記4つのN×Nブロックの左上ブロックについての前記動きベクトルの前記水平成分と前記4つのN×Nブロックの右上ブロックについての前記動きベクトルの前記水平成分との間の第1の差分と、前記4つのN×Nブロックの左下ブロックについての前記動きベクトルの前記水平成分と前記4つのN×Nブロックの右下ブロックについての前記動きベクトルの前記水平成分との間の第2の差分との和を算出することを前記1つ又は複数のプロセッサに行わせる更なる命令を記憶し、
    前記水平値を決定するために、前記コンピュータ読取り可能な記憶媒体は、実行されると、前記4つのN×Nブロックの左上ブロックについての前記動きベクトルの前記水平成分と前記4つのN×Nブロックの右上ブロックについての前記動きベクトルの前記水平成分との間の第1の差分と、前記4つのN×Nブロックの左下ブロックについての前記動きベクトルの前記水平成分と前記4つのN×Nブロックの右下ブロックについての前記動きベクトルの前記水平成分との間の第2の差分との和を算出することを前記1つ又は複数のプロセッサに行わせる更なる命令を記憶する、
    請求項26に記載のコンピュータ読取り可能な記憶媒体。
  30. 前記コンピュータ読取り可能な記憶媒体は、実行されると、2N×2N区分モードでビデオデータのブロックを符号化することに関連付けられた第1のレート歪み(RD)コストが、N×N区分モードで前記ビデオデータのブロックを符号化することに関連付けられた第2のRDコストよりも大きいことに応答して、前記4つのN×Nブロックの前記符号化バージョンを表す前記値から前記水平値を決定することと、前記4つのN×Nブロックの前記符号化バージョンを表す前記値から前記垂直値を決定することとを前記1つ又は複数のプロセッサに行わせる更なる命令を記憶する、請求項26に記載のコンピュータ読取り可能な記憶媒体。
JP2017546591A 2015-03-06 2016-03-04 非正方形区分を使用してビデオデータを符号化するための最適化 Pending JP2018511232A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562129650P 2015-03-06 2015-03-06
US62/129,650 2015-03-06
US15/060,273 US9998739B2 (en) 2015-03-06 2016-03-03 Optimization for encoding video data using non-square partitions
US15/060,273 2016-03-03
PCT/US2016/020926 WO2016144770A1 (en) 2015-03-06 2016-03-04 Optimization for encoding video data using non-square partitions

Publications (1)

Publication Number Publication Date
JP2018511232A true JP2018511232A (ja) 2018-04-19

Family

ID=56851041

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017546591A Pending JP2018511232A (ja) 2015-03-06 2016-03-04 非正方形区分を使用してビデオデータを符号化するための最適化

Country Status (6)

Country Link
US (1) US9998739B2 (ja)
EP (1) EP3266209A1 (ja)
JP (1) JP2018511232A (ja)
KR (1) KR20170123629A (ja)
CN (1) CN107258081B (ja)
WO (1) WO2016144770A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018068259A1 (zh) * 2016-10-13 2018-04-19 富士通株式会社 图像编码/解码方法、装置以及图像处理设备
US11128871B2 (en) * 2018-04-25 2021-09-21 Panasonic Intellectual Property Corporation Of America Encoder for adaptively determining information related to splitting based on characteristics of neighboring samples
CN109308449B (zh) * 2018-08-06 2021-06-18 瑞芯微电子股份有限公司 一种基于深度学习的异物过滤视频编码芯片和方法
CN110868591A (zh) 2018-08-28 2020-03-06 北京字节跳动网络技术有限公司 用扩展四叉树进行分割时的上下文编码
CN109685861B (zh) * 2018-08-31 2022-03-15 深圳壹账通智能科技有限公司 图片压缩方法、装置、设备及计算机可读存储介质
TW202029764A (zh) * 2018-12-07 2020-08-01 美商松下電器(美國)知識產權公司 編碼裝置、解碼裝置、編碼方法及解碼方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5074924B2 (ja) * 2004-09-16 2012-11-14 トムソン ライセンシング インタフレームのための高速モード決定方法及び装置
MY191783A (en) * 2010-04-13 2022-07-15 Samsung Electronics Co Ltd Video encoding method and video encoding apparatus and video decoding method and video decoding apparatus, which perform deblocking filtering based on tree-structure encoding units
EP2574056A4 (en) * 2010-05-19 2016-03-30 Sk Telecom Co Ltd DEVICE AND METHOD FOR IMAGE ENCODING / DECODING
US9497472B2 (en) * 2010-11-16 2016-11-15 Qualcomm Incorporated Parallel context calculation in video coding
US10397577B2 (en) * 2011-03-08 2019-08-27 Velos Media, Llc Inverse scan order for significance map coding of transform coefficients in video coding
US9247254B2 (en) * 2011-10-27 2016-01-26 Qualcomm Incorporated Non-square transforms in intra-prediction video coding
US9912944B2 (en) * 2012-04-16 2018-03-06 Qualcomm Incorporated Simplified non-square quadtree transforms for video coding
US20140003530A1 (en) * 2012-06-28 2014-01-02 Qualcomm Incorporated Sign hiding techniques for quantized transform coefficients in video coding
US9277212B2 (en) * 2012-07-09 2016-03-01 Qualcomm Incorporated Intra mode extensions for difference domain intra prediction
CN103220529B (zh) * 2013-04-15 2016-02-24 北京大学 一种视频编解码环路滤波的实现方法
US10003792B2 (en) * 2013-05-27 2018-06-19 Microsoft Technology Licensing, Llc Video encoder for images
US11470339B2 (en) * 2013-08-27 2022-10-11 Qualcomm Incorporated Residual prediction for intra block copying

Also Published As

Publication number Publication date
EP3266209A1 (en) 2018-01-10
WO2016144770A1 (en) 2016-09-15
KR20170123629A (ko) 2017-11-08
US9998739B2 (en) 2018-06-12
US20160261886A1 (en) 2016-09-08
CN107258081A (zh) 2017-10-17
CN107258081B (zh) 2020-07-03

Similar Documents

Publication Publication Date Title
US20220337825A1 (en) Predicting filter coefficients from fixed filters for video coding
US10419757B2 (en) Cross-component filter
JP5989794B2 (ja) 適応型重複ブロック動き補償
JP6542225B2 (ja) イントラブロックコピーのための残差予測
JP7465281B2 (ja) イントラ予測モード導出のためのブロックベースの量子化された残差ドメインのパルスコード変調割り当て
JP2019519141A (ja) フィルタ処理情報のシグナリング
KR20190089890A (ko) 비디오 코딩에서의 양방향 필터 사용의 표시
JP2016526857A (ja) ビデオコーディングにおける適応フィルタリング
CN107258081B (zh) 对使用非正方形分割编码视频数据的优化
CA3080177A1 (en) Intra-prediction with far neighboring pixels