JP6129969B2 - スケーラブルビデオコード化における代替変換 - Google Patents

スケーラブルビデオコード化における代替変換 Download PDF

Info

Publication number
JP6129969B2
JP6129969B2 JP2015528557A JP2015528557A JP6129969B2 JP 6129969 B2 JP6129969 B2 JP 6129969B2 JP 2015528557 A JP2015528557 A JP 2015528557A JP 2015528557 A JP2015528557 A JP 2015528557A JP 6129969 B2 JP6129969 B2 JP 6129969B2
Authority
JP
Japan
Prior art keywords
video
block
enhancement layer
dst
type
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
JP2015528557A
Other languages
English (en)
Other versions
JP2015530040A5 (ja
JP2015530040A (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 JP2015530040A publication Critical patent/JP2015530040A/ja
Publication of JP2015530040A5 publication Critical patent/JP2015530040A5/ja
Application granted granted Critical
Publication of JP6129969B2 publication Critical patent/JP6129969B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability

Landscapes

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

Description

[0001]本開示は、ビデオコード化に関する。
[0002]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップ又はデスクトップコンピュータ、デジタルカメラ、デジタル記録機器、デジタルメディアプレーヤ、ビデオゲーム機器、ビデオゲームコンソール、セルラー電話又は衛星無線電話、ビデオ遠隔会議機器などを含む、広範囲にわたる機器に組み込まれ得る。デジタルビデオ機器は、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4,Part10,Advanced Video Coding(AVC)、現在開発中の高効率ビデオコード化(HEVC:High Efficiency Video Coding)規格によって定義された規格、及びそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。ビデオ機器は、そのようなビデオコード化技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、及び/又は記憶し得る。
[0003]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減又は除去するために空間(イントラピクチャ)予測及び/又は時間(インターピクチャ)予測を実行する。ブロックベースのビデオコード化の場合、ビデオスライス(例えば、ビデオフレーム、ビデオフレームの一部分など)が、ツリーブロック、コード化単位(CU:coding unit)及び/又はコード化ノードと呼ばれることもあるビデオブロックに区分され得る。ピクチャのイントラコード化(I)スライス中のビデオブロックは、同じピクチャの中の隣接ブロック内の参照サンプルに対する空間予測を使用して符号化される。ピクチャのインターコード化(P又はB)スライス中のビデオブロックは、同じピクチャの中の隣接ブロック中の参照サンプルに対する空間予測、又は他の参照ピクチャ中の参照サンプルに対する時間予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
[0004]空間予測又は時間予測は、コード化されるべきブロックの予測ブロックを生じる。残差データは、コード化されるべき元のブロックと予測ブロックとの間の画素差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化ブロックと予測ブロックとの間の差分を示す残差データとに従って符号化される。イントラコード化ブロックは、イントラコード化モードと残差データとに従って符号化される。更なる圧縮のために、残差データは、画素領域から変換領域に変換されて残差変換係数をもたらすことができ、その残差変換係数は、次いで量子化され得る。量子化変換係数は、最初は2次元アレイで構成され、変換係数の1次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するために、エントロピーコード化が適用され得る。
[0005]あるブロックベースのビデオコード化及び圧縮はスケーラブル技法を利用する。スケーラブルビデオコード化(SVC:scalable video coding)は、ベースレイヤと1つ又は複数のスケーラブル拡張レイヤとが使用されるビデオコード化を指す。SVCの場合、ベースレイヤは、一般に、ベースレベルの品質でビデオデータを搬送する。1つ又は複数の拡張レイヤは追加ビデオデータを搬送して、より高い空間レベル、時間レベル及び/又はSNRレベルをサポートする。場合によっては、ベースレイヤは、拡張レイヤの送信よりも信頼できる方法で送信され得る。
[0006]一実施形態では、ビデオ情報を符号化又は復号するための装置が提供される。本装置は、ベースレイヤ及び拡張レイヤに関連するビデオ情報を記憶するように構成されたメモリユニットを備える。本装置は、メモリユニットに動作可能に結合されたプロセッサを更に備える。プロセッサは、ビデオブロック情報と隣接ビデオブロック情報との間の差分に関係する閾値によって決定された変換関数を使用して、ビデオブロック情報を符号化又は復号するように構成される。
[0007]一実施形態では、ビデオ情報をコード化するように構成された装置は、メモリとプロセッサとを含む。メモリは、拡張レイヤに関連するビデオブロック情報を記憶するように構成される。プロセッサは、メモリに動作可能に結合され、メモリからビデオブロック情報を取り出し、ビデオ情報をコード化するように構成され、プロセッサは、ビデオブロック情報のパラメータに基づいて変換関数を決定することと、決定された変換関数を使用してビデオブロック情報をコード化することとを行うように更に構成される。
[0008]別の実施形態では、ビデオブロック情報のパラメータはコード化モードを備える。別の実施形態では、コード化モードは、イントラベースレイヤ(イントラBL)モード又は一般化残差予測(GRP:Generalized Residual Prediction)を備える。別の実施形態では、変換関数を決定するために、プロセッサは、ビデオブロック情報のパラメータが所定の値であるかどうかを決定することと、ビデオブロック情報のパラメータが所定の値でないと決定したことに応答して、変換関数が1次変換であると決定するか、又は、ビデオブロック情報のパラメータが所定の値であると決定したことに応答して、変換関数が代替変換であると決定することとを行うように構成される。別の実施形態では、代替変換は、離散サイン変換(DST)、タイプ−I DST、タイプ−III DST、タイプ−IV DST、タイプ−VII DST、離散コサイン変換(DCT)、異なるタイプのDCT、及びカルーネンレーベ変換(KLT)のうちの1つを含む。別の実施形態では、ビデオ情報のパラメータは、フレームレベル、スライスレベル、コード化単位レベル、及び変換ブロック単位レベルのうちの1つにおいて信号伝達される。別の実施形態では、ビデオ情報のパラメータは、サイド情報、コード化単位サイズ、変換単位サイズ、フレームタイプ、フレームサイズ、量子化パラメータ(QP:quantization parameter)、時間レイヤ情報、及び構文解析された残余係数情報のうちの少なくとも1つを備える。別の実施形態では、パラメータはベースレイヤからの情報を備える。別の実施形態では、ビデオブロック情報のパラメータは、ビデオブロック情報と隣接ビデオブロック情報との間の差分に関係する閾値を備える。別の実施形態では、変換関数は、ビデオブロック情報と隣接ブロック情報との間の差分が閾値を下回るとき、非コサインベース変換を備える。別の実施形態では、変換関数は、ビデオブロック情報と隣接ブロック情報との間の差分が閾値を上回るとき、コサイン変換を備える。別の実施形態では、プロセッサは、高レベルシンタックスを使用した又はフラグとして符号化された閾値を受信するように構成される。別の実施形態では、決定された変換が、2値化を使用して信号伝達される。別の実施形態では、2値化は、短縮単項コード(truncated unary code)及び固定長コードのうちの少なくとも1つを備える。別の実施形態では、本装置はエンコーダを備える。別の実施形態では、本装置はデコーダを備える。別の実施形態では、本装置は、デスクトップコンピュータ、ノートブックコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、セットトップボックス、電話ハンドセット、スマートフォン、スマートパッド、テレビジョン、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソール、及びビデオストリーミング機器のうちの1つ又は複数からなるグループから選択される。
[0009]別の実施形態では、ビデオ情報を符号化する方法は、参照レイヤに関連するビデオブロック情報を受信することと、ビデオブロック情報のパラメータに基づいて変換関数を決定することと、決定された変換関数を使用してビデオブロック情報を符号化することとを含む。
[0010]別の実施形態では、ビデオ情報を復号する方法は、参照レイヤに関連するビデオブロック情報を受信することと、ビデオブロック情報のパラメータに基づいて変換関数を決定することと、決定された変換関数を使用してビデオブロック情報を復号することとを含む。
[0011]別の実施形態では、ビデオコード化機器は、ビデオデータをコード化するように構成され、本ビデオコード化機器は、参照レイヤに関連するビデオブロック情報のパラメータに基づいて変換関数を決定するための手段と、決定された変換関数を使用してビデオブロック情報をコード化するための手段とを含む。
[0012]また別の実施形態では、非一時的コンピュータ可読媒体は、実行されたとき、参照レイヤに関連するビデオブロック情報のパラメータに基づいて変換関数を決定することと、変換を使用してビデオブロック情報をコード化することとを装置に行わせるコードを含む。
[0013]本開示で説明する態様による技法を利用し得る例示的なビデオ符号化及び復号システムを示すブロック図。 [0014]本開示で説明する態様による技法を実装し得るビデオエンコーダの例を示すブロック図。 [0015]本開示で説明する態様による技法を実装し得るビデオデコーダの例を示すブロック図。 [0016]本開示の態様による3つの異なる次元におけるスケーラビリティを示すブロック図。 [0017]本開示の態様によるSVCビットストリームの例示的な構造を示すブロック図。 [0018]本開示の態様によるビットストリーム中の例示的なSVCアクセスユニットを示すブロック図。 [0019]イントラBLモード中に使用される、拡張レイヤ中の現在ブロックと、対応する参照又はベースレイヤ中の同一位置配置ブロック(co-located block)とを示す概念図。 [0020]本開示の態様によるコード化ルーチンのための方法の実施形態を示すフローチャート。
[0021]添付の図面は例を示している。添付の図面中の参照番号によって示される要素は、以下の説明における同様の参照番号によって示される要素に対応する。本開示では、序数語(例えば、「第1の」、「第2の」、「第3の」など)で始まる名前を有する要素は、必ずしもそれらの要素が特定の順序を有することを暗示するとは限らない。むしろ、そのような序数語は、同じ又は同様のタイプの異なる要素を指すために使用されるにすぎない。
[0022]ビデオ画像、TV画像、静止画像、又はビデオレコーダ若しくはコンピュータによって生成された画像など、デジタル画像は、水平ライン及び垂直ラインで構成された画素からなり得る。単一の画像中の画素の数は一般に数万個である。各画素は、一般に、ルミナンス情報とクロミナンス情報とを含んでいる。圧縮なしに、画像エンコーダから画像デコーダに搬送されるべき情報の量は、リアルタイム画像送信を不可能にするほど非常に大きい。送信されるべき情報の量を低減するために、JPEG、MPEG及びH.263規格など、幾つかの異なる圧縮方法が開発された。
[0023]本開示で説明する技法は、概して、スケーラブルビデオコード化(SVC)及び3Dビデオコード化に関係する。例えば、本技法は、高効率ビデオコード化(HEVC)スケーラブルビデオコード化(SVC)拡張に関係し、それとともに又はそれの中で使用され得る。SVC拡張では、ビデオ情報の複数のレイヤがあり得る。最下位レベルにあるレイヤはベースレイヤ(BL)として働き、最上位にあるレイヤは拡張化レイヤ(EL:enhanced layer)として働き得る。「拡張化レイヤ」は「拡張レイヤ」と呼ばれることがあり、これらの用語は互換的に使用され得る。中間にある全てのレイヤは、EL又はBLの一方又は両方として働き得る。例えば、中間にあるレイヤは、ベースレイヤ又は介在拡張レイヤ(intervening enhancement layer)など、それの下のレイヤのためのELであり、同時にそれの上の拡張レイヤのためのBLとして働き得る。
[0024]単に説明のために、本開示で説明する技法は、単に2つのレイヤ(例えば、ベースレイヤなどの下位レベルレイヤと、拡張化又は拡張レイヤなどの上位レベルレイヤ)を含む例を用いて説明する。本開示で説明する例が、複数のベースレイヤ及び拡張レイヤをもつ例にも拡張され得ることを理解されたい。
[0025]概して、ビデオコード化規格は、ITU−T H.261、ISO/IEC MPEG−1 Visual、ITU−T H.262又はISO/IEC MPEG−2 Visual、ITU−T H.263、ISO/IEC MPEG−4 Visual、及びそれのSVC拡張とマルチビュービデオコード化(MVC)拡張とを含む、(ISO/IEC MPEG−4 AVCとしても知られる)ITU−T H.264を含むことができる。最近、新しいビデオコード化規格、即ち高効率ビデオコード化(HEVC)の設計が、ITU−T Video Coding Experts Group(VCEG)及びISO/IEC Motion Picture Experts Group(MPEG)のJoint Collaboration Team on Video Coding(JCT−VC)によって確定された。以下でHEVC WD10と呼ぶ、最新のHEVCドラフト仕様が、http://phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1003-v34.zipから入手可能である。HEVC WD10についての完全引用は、文書JCTVC−L1003_v34、Brossら、「High Efficiency Video Coding (HEVC) Text Specification Draft 10」、ITU−T SG16 WP3及びISO/IEC JTC1/SC29/WG11のJoint Collaborative Team on Video Coding(JCT−VC)、第12回会合:ジュネーブ、スイス、2013年1月14日〜2013年1月23日である。また、HEVCのマルチビュー拡張、即ちMV−HEVCがJCT−3Vによって開発されている。以下でMV−HEVC WD3と呼ぶ、最新のMV−HEVCドラフト仕様が、http://phenix.it-sudparis.eu/jct2/doc_end_user/documents/3_Geneva/wg11/JCT3V-C1004-v4.zipからダウンロード可能である。SHVCと称するHEVCのスケーラブル拡張も、JCT−VCによって開発されている。以下でSHVC WD1と呼ぶ、SHVCの最近のワーキングドラフト(WD)が、http://phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1008-v1.zipから入手可能である。
[0026]JCT−VCは、HEVC規格の開発に取り組んでいる。HEVC規格化の取り組みは、HEVCテストモデル(HM)と呼ばれるビデオコード化機器の発展的モデルに基づく。HMは、例えば、ITU−T H.264/AVCに従う既存の機器に対してビデオコード化機器の幾つかの追加の能力を仮定する。例えば、H.264は9つのイントラ予測符号化モードを提供するが、HMは33個ものイントラ予測符号化モードを提供し得る。
[0027]スケーラブルビデオコード化(SVC)は、(信号対雑音(SNR)とも呼ばれる)品質スケーラビリティ、空間スケーラビリティ(例えば、解像度スケーリング)、及び/又は時間スケーラビリティ(例えば、フレームレートスケーリング)を与えるために使用され得る。例えば、一実施形態では、参照レイヤ及び拡張レイヤがともに第1のレベルよりも高い第2の品質レベル(例えば、より少ない雑音、より大きい解像度、より良いフレームレートなど)でビデオを表示するのに十分なビデオ情報を含むように、参照レイヤ(例えば、ベースレイヤ)は第1の品質レベルでビデオを表示するのに十分なビデオ情報を含み、拡張レイヤは、参照レイヤに関係する追加のビデオ情報を含む。拡張レイヤは、ベースレイヤとは異なる空間解像度を有し得る。例えば、ELとBLとの間の空間アスペクト比は、1.0、1.5、2.0又は他の異なる比であり得る。言い換えれば、ELの空間アスペクトは、BLの空間アスペクトの1.0倍、1.5倍、又は2.0倍に等しくなり得る。幾つかの例では、ELのスケーリングファクタはBLよりも大きくなり得る。例えば、EL中のピクチャのサイズは、BL中のピクチャのサイズよりも大きくなり得る。このようにして、限定はしないが、ELの空間解像度がBLの空間解像度よりも大きいことが可能であり得る。
[0028]H.264のSVC拡張では、現在ブロックの予測は、SVCに与えられる異なるレイヤを使用して実行され得る。そのような予測はレイヤ間予測(inter-layer prediction)と呼ばれることがある。レイヤ間予測方法は、レイヤ間冗長性を低減するためにSVCにおいて利用され得る。レイヤ間予測の幾つかの例としては、レイヤ間イントラ予測、レイヤ間動き予測、及びレイヤ間残差予測があり得る。レイヤ間イントラ予測は、ベースレイヤ中の同一位置配置ブロック(co-located blocks)の再構成を使用して拡張レイヤ中の現在ブロックを予測する。レイヤ間動き予測は、ベースレイヤの動きを使用して拡張レイヤ中の動作を予測する。レイヤ間残差予測は、ベースレイヤの残余を使用して拡張レイヤの残余を予測する。
[0029]レイヤ間残差予測では、ベースレイヤの残余は、拡張レイヤ中の現在ブロックを予測するために使用され得る。残余は、ビデオユニットについての時間予測と発信源ビデオユニットについての時間予測との間の差分として定義され得る。残差予測では、ベースレイヤの残余はまた、現在ブロックを予測する際に考慮される。例えば、現在ブロックは、拡張レイヤからの残余、拡張レイヤからの時間予測、及び/又はベースレイヤからの残余を使用して再構成され得る。現在ブロックは以下の式に従って再構成され得る。
[0030]拡張レイヤ中のマクロブロック(「MB:macroblock」)のためにレイヤ間残差予測を使用するために、ベースレイヤ中の同一位置配置マクロブロックはインターMBであるべきであり、同一位置配置ベースレイヤマクロブロックの残余は、(例えば、SVCにおけるレイヤは異なる空間解像度を有し得るので)拡張レイヤの空間解像度比に従ってアップサンプリングされ得る。レイヤ間残差予測では、拡張レイヤの残余とアップサンプリングされたベースレイヤの残余との間の差分がビットストリーム中でコード化され得る。ベースレイヤの残余は、ベースレイヤの量子化ステップと拡張レイヤの量子化ステップとの間の比に基づいて正規化され得る。
[0031]H.264のSVC拡張は、デコーダのための低複雑度を維持するためにシングルループ復号を動き補償に提供する。概して、次のように現在ブロックについての時間予測と残余とを加算することによって、動き補償が実行される。
シングルループ復号では、SVCにおける各サポートされるレイヤは、単一の動き補償ループを用いて復号され得る。これを達成するために、上位ブロックをレイヤ間イントラ予測するために使用される全てのブロックが、制約付きイントラ予測を使用してコード化される。制約付きイントラ予測では、イントラモードMBが、隣接インターコード化MBからのサンプルを参照することなしにイントラコード化される。一方、HEVCは、複数の動き補償ループを使用してSVCレイヤが復号され得る、SVCのためのマルチループ復号を可能にする。例えば、最初にベースレイヤが完全に復号され、次いで拡張レイヤが復号される。
[0032]式(1)において公式化される残差予測は、H.264 SVC拡張における効率的な技法であり得る。しかしながら、特に、マルチループ復号がHEVC SVC拡張において使用されるとき、それの性能はHEVC SVC拡張において更に改善され得る。
[0033]マルチループ復号の場合、残差予測の代わりに差分領域動き補償(difference domain motion compensation)が使用され得る。SVCでは、拡張レイヤが、画素領域コード化又は差分領域コード化を使用してコード化され得る。画素領域コード化では、非SVC HEVCレイヤに関して、拡張レイヤ画素のための入力画素がコード化され得る。一方、差分領域コード化では、拡張レイヤの差分値がコード化され得る。差分値は、拡張レイヤのための入力画素と、対応するスケーリングされたベースレイヤ再構成画素との間の差分であり得る。そのような差分値は、差分領域動き補償のための動き補償において使用され得る。
[0034]差分領域を使用したインターコード化の場合、現在予測ブロックは、拡張レイヤ参照ピクチャ中の対応する予測ブロックサンプルと、スケーリングされたベースレイヤ参照ピクチャ中の対応する予測ブロックサンプルとの間の差分値に基づいて決定される。差分値は差分予測ブロック(difference predicted block)と呼ばれることがある。拡張レイヤ予測サンプルを取得するために、同一位置配置ベースレイヤ再構成サンプルが差分予測ブロックに追加される。
[0035]図1は、本開示で説明する態様による技法を利用し得る例示的なビデオコード化システム10を示すブロック図である。本明細書で使用し説明する「ビデオコーダ」という用語は、総称的にビデオエンコーダとビデオデコーダの両方を指す。本開示では、「ビデオコード化」又は「コード化」という用語は、ビデオ符号化とビデオ復号とを総称的に指すことがある。
[0036]図1に示されるように、ビデオコード化システム10は、発信源機器12と宛先機器14とを含む。発信源機器12は符号化ビデオデータを生成する。宛先機器14は、発信源機器12によって生成された符号化ビデオデータを復号し得る。発信源機器12及び宛先機器14は、デスクトップコンピュータ、ノートブック(例えば、ラップトップなど)コンピュータ、タブレットコンピュータ、セットトップボックス、所謂「スマート」フォン、所謂「スマート」パッドなどの電話ハンドセット、テレビジョン、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソール、車内コンピュータなどを含む、広範囲にわたる機器を備え得る。幾つかの例では、発信源機器12及び宛先機器14は、ワイヤレス通信のために装備され得る。
[0037]宛先機器14は、チャネル16を介して発信源機器12から符号化ビデオデータを受信し得る。チャネル16は、発信源機器12から宛先機器14に符号化ビデオデータを移動することが可能な任意のタイプの媒体又は機器を備え得る。一例では、チャネル16は、発信源機器12が符号化ビデオデータを宛先機器14にリアルタイムで直接送信することを可能にする通信媒体を備え得る。この例では、発信源機器12は、ワイヤレス通信プロトコルなどの通信規格に従って符号化ビデオデータを変調し得、変調されたビデオデータを宛先機器14に送信し得る。通信媒体は、無線周波数(RF)スペクトル又は1つ又は複数の物理伝送線路など、ワイヤレス通信媒体又はワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、又はインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、発信源機器12から宛先機器14への通信を容易にするルータ、スイッチ、基地局、又は他の機器を含み得る。
[0038]別の例では、チャネル16は、発信源機器12によって生成された符号化ビデオデータを記憶する記憶媒体に対応し得る。この例では、宛先機器14は、ディスクアクセス又はカードアクセスを介して記憶媒体にアクセスし得る。記憶媒体は、Blu−ray(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、又は符号化ビデオデータを記憶するための他の適切なデジタル記憶媒体など、種々のローカルにアクセスされるデータ記憶媒体を含み得る。更なる例では、チャネル16は、発信源機器12によって生成された符号化ビデオを記憶する、ファイルサーバ又は別の中間記憶機器を含み得る。この例では、宛先機器14は、ストリーミング又はダウンロードを介して、ファイルサーバ又は他の中間記憶装置に記憶された符号化ビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶することと、符号化ビデオデータを宛先機器14に送信することとが可能なタイプのサーバであり得る。例示的なファイルサーバとしては、(例えば、ウェブサイトなどのための)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)機器、及びローカルディスクドライブがある。宛先機器14は、インターネット接続を含む、任意の標準のデータ接続を介して符号化ビデオデータにアクセスし得る。例示的なタイプのデータ接続としては、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適である、ワイヤレスチャネル(例えば、Wi−Fi(登録商標)接続など)、ワイヤード接続(例えば、DSL、ケーブルモデムなど)、又はその両方の組合せがあり得る。ファイルサーバからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、又はその両方の組合せであり得る。
[0039]本開示の技法は、ワイヤレスの用途又は設定には限定されない。本技法は、無線テレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、例えばインターネットを介したストリーミングビデオ送信(例えば、動的適応ストリーミングオーバーHTTP(DASH:dynamic adaptive streaming over HTTP)など)、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、又は他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコード化に適用され得る。幾つかの例では、ビデオコード化システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、及び/又はビデオ電話などの用途をサポートするために、単方向又は双方向のビデオ送信をサポートするように構成され得る。
[0040]図1の例では、発信源機器12は、ビデオ発信源18と、ビデオエンコーダ20と、出力インターフェース22とを含む。場合によっては、出力インターフェース22は変調器/復調器(モデム)及び/又は送信機を含み得る。発信源機器12において、ビデオ発信源18は、撮像装置、例えばビデオカメラ、以前に撮影されたビデオデータを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオデータを受信するためのビデオフィードインターフェース、及び/又は、ビデオデータを生成するためのコンピュータグラフィックスシステムなどの発信源、若しくはそのような発信源の組合せを含み得る。
[0041]ビデオエンコーダ20は、撮影されたビデオデータ、以前に撮影されたビデオデータ、又はコンピュータ生成されたビデオデータを符号化するように構成され得る。符号化ビデオデータは、発信源機器12の出力インターフェース22を介して宛先機器14に直接送信され得る。符号化ビデオデータはまた、復号及び/又は再生のための宛先機器14による後のアクセスのために記憶媒体又はファイルサーバ上に記憶され得る。
[0042]図1の例では、宛先機器14は、入力インターフェース28と、ビデオデコーダ30と、表示装置32とを含む。場合によっては、入力インターフェース28は、受信機及び/又はモデムを含み得る。宛先機器14の入力インターフェース28は、チャネル16を介して符号化ビデオデータを受信する。符号化ビデオデータは、ビデオデータを表す、ビデオエンコーダ20によって生成された様々なシンタックス要素を含み得る。シンタックス要素は、ブロック及び他のコード化単位、例えばGOPの特性及び/又は処理を記述し得る。そのようなシンタックス要素は、通信媒体上で送信されるか、記憶媒体上に記憶されるか、又はファイルサーバ上に記憶される符号化ビデオデータとともに含まれ得る。
[0043]表示装置32は、宛先機器14と一体化され得るか又はその外部にあり得る。幾つかの例では、宛先機器14は、一体型表示装置を含み得、また、外部表示装置とインターフェースするように構成され得る。他の例では、宛先機器14は表示装置であり得る。概して、表示装置32は復号ビデオデータをユーザに表示する。表示装置32は、液晶表示器(LCD)、プラズマ表示器、有機発光ダイオード(OLED)表示器、又は別のタイプの表示装置など、様々な表示装置のいずれかを備え得る。
[0044]ビデオエンコーダ20及びビデオデコーダ30は、現在開発中の高効率ビデオコード化(HEVC)規格など、ビデオ圧縮規格に従って動作し得、HEVCテストモデル(HM)に準拠し得る。代替的に、ビデオエンコーダ20及びビデオデコーダ30は、代替的にMPEG−4、Part 10、Advanced Video Coding(AVC)と呼ばれるITU−T H.264規格など、他のプロプライエタリ又は業界標準、あるいはそのような規格の拡張に従って動作し得る。但し、本開示の技法は、いかなる特定のコード化規格にも限定されない。ビデオ圧縮規格の他の例には、MPEG−2及びITU−T H.263がある。
[0045]図1の例には示されていないが、ビデオエンコーダ20及びビデオデコーダ30は、それぞれオーディオエンコーダ及びデコーダと統合され得、適切なMUX−DEMUXユニット、又は他のハードウェア及びソフトウェアを含んで、共通のデータストリーム又は別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、幾つかの例では、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、又はユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
[0046]この場合も、図1は例にすぎず、本開示の技法は、符号化機器と復号機器との間のデータ通信を必ずしも含むとは限らないビデオコード化設定(例えば、ビデオ符号化又はビデオ復号)に適用され得る。他の例では、データがローカルメモリから取り出されること、ネットワークを介してストリーミングされることなどが行われ得る。符号化機器は、データを符号化し、メモリに記憶し得、及び/又は、復号機器は、メモリからデータを取り出し、復号し得る。多くの例では、符号化及び復号は、互いに通信しないが、メモリにデータを符号化し、及び/又はメモリからデータを取り出して復号するだけである機器によって実行される。
[0047]ビデオエンコーダ20及びビデオデコーダ30はそれぞれ、1つ又は複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ハードウェアなど、様々な好適な回路のいずれか、又はそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、機器は、好適な非一時的コンピュータ可読記憶媒体にソフトウェアの命令を記憶し得、1つ又は複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオエンコーダ20及びビデオデコーダ30の各々は1つ又は複数のエンコーダ又はデコーダ中に含まれ得、そのいずれも、それぞれの機器において複合エンコーダ/デコーダ(コーデック)の一部として統合され得る。ビデオエンコーダ20及び/又はビデオデコーダ30を含む機器は、集積回路、マイクロプロセッサ、及び/又はセルラー電話などのワイヤレス通信機器を備え得る。
[0048]JCT−VCは、HEVC規格の開発に取り組んでいる。HEVC規格化の取り組みは、HEVCテストモデル(HM)と呼ばれるビデオコード化機器の発展的モデルに基づく。HMは、例えば、ITU−T H.264/AVCに従う既存の機器に対してビデオコード化機器の幾つかの追加の能力を仮定する。例えば、H.264は9つのイントラ予測符号化モードを提供するが、HMは33個ものイントラ予測符号化モードを提供し得る。
[0049]概して、HMの作業モデルは、ビデオフレーム又はピクチャが、ルーマサンプルとクロマサンプルの両方を含む一連のツリーブロック又は最大コード化単位(LCU:largest coding unit)に分割され得ることを記載している。ビットストリーム内のシンタックスデータが、画素の数に関して最大コード化単位であるLCUのサイズを定義し得る。スライスは、コード化順序で幾つかの連続するツリーブロックを含む。ビデオフレーム又はピクチャは、1つ又は複数のスライスに区分され得る。各ツリーブロックは、4分木に従ってコード化単位(CU)に分割され得る。概して、4分木データ構造はCUごとに1つのノードを含み、ルートノードはツリーブロックに対応する。CUが4つのサブCUに分割された場合、CUに対応するノードは4つのリーフノードを含み、リーフノードの各々はサブCUのうちの1つに対応する。
[0050]4分木データ構造の各ノードは、対応するCUのシンタックスデータを与え得る。例えば、4分木のノードは、そのノードに対応するCUがサブCUに分割されるかどうかを示す分割フラグを含み得る。CUのシンタックス要素は、再帰的に定義され得、CUがサブCUに分割されるかどうかに依存し得る。CUが更に分割されない場合、そのCUはリーフCUと呼ばれる。本開示では、元のリーフCUの明示的分割が存在しない場合でも、リーフCUの4つのサブCUをリーフCUとも呼ぶ。例えば、16×16サイズのCUが更に分割されない場合、この16×16CUが決して分割されなくても、4つの8×8サブCUをリーフCUとも呼ぶ。
[0051]CUは、CUがサイズ差異を有しないことを除いて、H.264規格のマクロブロックと同様の目的を有する。例えば、ツリーブロックは、4つの子ノード(サブCUとも呼ばれる)に分割され得、各子ノードは、今度は親ノードとなり、別の4つの子ノードに分割され得る。4分木のリーフノードと呼ばれる、最後の分割されていない子ノードは、リーフCUとも呼ばれるコード化ノードを備える。コード化ビットストリームに関連するシンタックスデータは、最大CU深度と呼ばれる、ツリーブロックが分割され得る最大回数を定義し得、また、コード化ノードの最小サイズを定義し得る。それに応じて、ビットストリームは最小コード化単位(SCU:smallest coding unit)をも定義し得る。本開示では、HEVCのコンテキストにおけるCU、PU、又はTU、若しくは他の規格のコンテキストにおける同様のデータ構造(例えば、H.264/AVCにおけるマクロブロック及びそれのサブブロック)のいずれかを指すために「ブロック」という用語を使用する。
[0052]CUは、コード化ノードと、コード化ノードに関連する予測単位(PU:prediction unit)及び変換単位(TU:transform unit)とを含む。CUのサイズは、コード化ノードのサイズに対応し、形状が正方形でなければならない。CUのサイズは、8×8画素から最大64×64以上の画素をもつツリーブロックのサイズまでに及び得る。各CUは、1つ又は複数のPUと、1つ又は複数のTUとを含み得る。CUに関連するシンタックスデータは、例えば、CUを1つ又は複数のPUに区分することを記述し得る。区分モードは、CUが、スキップモード符号化又はダイレクトモード符号化されるか、イントラ予測モード符号化されるか、又はインター予測モード符号化されるかによって異なり得る。PUは、形状が非正方形になるように区分され得る。CUに関連するシンタックスデータは、例えば、4分木に従って、CUを1つ又は複数のTUに区分することも記述し得る。TUは、形状が正方形又は非正方形(例えば、矩形など)であり得る。
[0053]HEVC規格は、CUごとに異なり得るTUに従う変換を可能にする。TUは、一般に、区分されたLCUについて定義された所与のCU内のPUのサイズに基づいてサイズ決定されるが、常にそうであるとは限らない。TUは、一般に、PUと同じサイズであるか又はPUよりも小さい。幾つかの例では、CUに対応する残差サンプルは、「残差4分木」(RQT:residual quad tree)として知られる4分木構造を使用してより小さい単位に再分割され得る。RQTのリーフノードは変換単位(TU)と呼ばれることがある。TUに関連する画素差分値は、変換されて変換係数が生成され得、その変換係数は量子化され得る。
[0054]リーフCUは、1つ又は複数の予測単位(PU)を含み得る。概して、PUは、対応するCUの全部又は一部分に対応する空間エリアを表し、そのPUの参照サンプルを取り出すためのデータを含み得る。その上、PUは、予測に関係するデータを含む。例えば、PUがイントラモード符号化されるとき、PUについてのデータは、PUに対応するTUについてのイントラ予測モードを記述するデータを含み得る残差4分木(RQT)中に含まれ得る。別の例として、PUがインターモード符号化されるとき、PUは、PUのための1つ又は複数の動きベクトルを定義するデータを含み得る。PUの動きベクトルを定義するデータは、例えば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(例えば、1/4画素精度又は1/8画素精度など)、動きベクトルが指す参照ピクチャ、及び/又は動きベクトルの参照ピクチャリスト(例えば、リスト0、リスト1、又はリストC)を記述し得る。
[0055]1つ又は複数のPUを有するリーフCUはまた、1つ又は複数の変換単位(TU)を含み得る。変換単位は、上記で説明したように、(TU4分木構造とも呼ばれる)RQTを使用して指定され得る。例えば、分割フラグは、リーフCUが4つの変換単位に分割されるかどうかを示し得る。次いで、各変換単位は更に、更なるサブTUに分割され得る。TUが更に分割されないとき、そのTUはリーフTUと呼ばれることがある。概して、イントラコード化の場合、リーフCUに属する全てのリーフTUは同じイントラ予測モードを共有する。即ち、概して、リーフCUの全てのTUの予測値を計算するために同じイントラ予測モードが適用される。イントラコード化の場合、ビデオエンコーダは、イントラ予測モードを使用して各リーフTUの残差値を、TUに対応するCUの一部と元のブロックとの間の差分として計算し得る。TUは、必ずしもPUのサイズに制限されるとは限らない。従って、TUはPUよりも大きく又は小さくなり得る。イントラコード化の場合、PUは、同じCUの対応するリーフTUと同一位置配置(co-located)され得る。幾つかの例では、リーフTUの最大サイズは、対応するリーフCUのサイズに対応し得る。
[0056]その上、リーフCUのTUはまた、残差4分木(RQT)と呼ばれる、それぞれの4分木データ構造に関連付けられ得る。即ち、リーフCUは、リーフCUがどのようにTUに区分されるかを示す4分木を含み得る。TU4分木のルートノードは概してリーフCUに対応し、CU4分木のルートノードは概してツリーブロック(又はLCU)に対応する。分割されないRQTのTUはリーフTUと呼ばれる。概して、本開示では、特に明記しない限り、リーフCU及びリーフTUに言及するためにそれぞれCU及びTUという用語を使用する。
[0057]ビデオシーケンスは、一般に、一連のビデオフレーム又はピクチャを含む。ピクチャグループ(GOP:group of picture)は、概して、ビデオピクチャのうちの一連の1つ又は複数を備える。GOPは、GOP中に含まれる幾つかのピクチャを記述するシンタックスデータを、GOPのヘッダ中、ピクチャのうちの1つ又は複数のヘッダ中、又は他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスのための符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ20は、一般に、ビデオデータを符号化するために、個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、CU内のコード化ノードに対応し得る。ビデオブロックは、固定サイズ又は可変サイズを有し得、指定のコード化規格に応じてサイズが異なり得る。
[0058]一例として、HMは、様々な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」とその後ろに付く「Up」、「Down」、「Left」、又は「Right」という表示によって示される。従って、例えば、「2N×nU」は、上部の2N×0.5N PUと下部の2N×1.5N PUとで水平方向に区分された2N×2N CUを指す。
[0059]本開示では、「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に等しいとは限らない。
[0060]CUのPUを使用したイントラ予測コード化又はインター予測コード化の後に、ビデオエンコーダ20は、CUのTUのための残差データを計算し得る。PUは、(画素領域とも呼ばれる)空間領域において予測画素データを生成する方法又はモードを記述するシンタックスデータを備え得、TUは、変換、例えば、残差ビデオデータへの離散コサイン変換(DCT)、整数変換、ウェーブレット変換、又は概念的に同様の変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャの画素と、PUに対応する予測値との間の画素差分に対応し得る。ビデオエンコーダ20は、CUのための残差データを含むTUを形成し、次いで、TUを変換して、CUの変換係数を生成し得る。
[0061]変換係数を生成するための任意の変換の後に、ビデオエンコーダ20は、変換係数の量子化を実行し得る。量子化は、その最も広い通常の意味を有することが意図された広義の用語である。一実施形態では、量子化は、係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、更なる圧縮を行うプロセスを指す。量子化プロセスは、係数の一部又は全部に関連するビット深度を低減し得る。例えば、量子化中にnビット値がmビット値に切り捨てられ得、但し、nはmよりも大きい。
[0062]量子化の後に、ビデオエンコーダ20は、変換係数を走査して、量子化変換係数を含む2次元行列から1次元ベクトルを生成し得る。走査は、アレイの前部により高いエネルギー(従って、より低い周波数)係数を配置し、アレイの後部により低いエネルギー(従って、より高い周波数)係数を配置するように設計され得る。幾つかの例では、ビデオエンコーダ20は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するために予め定義された走査順序を利用し得る。他の例では、ビデオエンコーダ20は適応型走査を実行し得る。量子化変換係数を走査して1次元ベクトルを形成した後に、ビデオエンコーダ20は、例えば、コンテキスト適応型可変長コード化(CAVLC:context-adaptive variable length coding)、コンテキスト適応型バイナリ算術コード化(CABAC:context-adaptive binary arithmetic coding)、シンタックスベースコンテキスト適応型バイナリ算術コード化(SBAC:syntax-based context-adaptive binary arithmetic coding)、確率間隔区分エントロピー(PIPE:Probability Interval Partitioning Entropy)コード化、又は別のエントロピー符号化方法に従って1次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ20はまた、ビデオデータを復号する際にビデオデコーダ30が使用するための符号化ビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
[0063]CABACを実行するために、ビデオエンコーダ20は、送信されるべきシンボルに、コンテキストモデル内のコンテキストを割り当て得る。コンテキストは、例えば、シンボルの隣接値が非0であるか否かに関係し得る。CAVLCを実行するために、ビデオエンコーダ20は、送信されるべきシンボルの可変長コードを選択し得る。VLCにおけるコードワードは、比較的短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように構成され得る。このようにして、VLCの使用は、例えば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビット節約を達成し得る。確率決定は、シンボルに割り当てられるコンテキストに基づき得る。
[0064]ビデオエンコーダ20は更に、ブロックベースのシンタックスデータ、フレームベースのシンタックスデータ、及びGOPベースのシンタックスデータなどのシンタックスデータを、例えば、フレームヘッダ、ブロックヘッダ、スライスヘッダ、又はGOPヘッダ中でビデオデコーダ30に送り得る。GOPシンタックスデータは、それぞれのGOP中のフレームの数を記述し得、フレームシンタックスデータは、対応するフレームを符号化するために使用される符号化/予測モードを示し得る。
[0065]図2は、本開示で説明する態様による技法を実装し得るビデオエンコーダの例を示すブロック図である。ビデオエンコーダ20は、本開示の技法のいずれか又は全てを実行するように構成され得る。一例として、モード選択ユニット40は、本開示で説明する技法のいずれか又は全てを実行するように構成され得る。但し、本開示の態様はそのように限定されない。幾つかの例では、本開示で説明する技法は、ビデオエンコーダ20の様々な構成要素間で共有され得る。幾つかの例では、追加として又は代わりに、プロセッサ(図示せず)が、本開示で説明する技法のいずれか又は全てを実行するように構成され得る。
[0066]ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコード化及びインターコード化を実行し得る。イントラコード化は、所与のビデオフレーム又はピクチャ内のビデオの空間冗長性を低減又は除去するために空間予測に依拠する。インターコード化は、ビデオシーケンスの隣接フレーム又はピクチャ内のビデオの時間冗長性を低減又は除去するために時間予測に依拠する。イントラモード(Iモード)は、幾つかの空間ベースのコード化モードのいずれかを指し得る。単方向予測(Pモード)又は双方向予測(Bモード)などのインターモードは、幾つかの時間ベースのコード化モードのいずれかを指し得る。
[0067]図2に示されたように、ビデオエンコーダ20は、符号化されるべきビデオフレーム内の現在ビデオブロックを受信する。図1の例では、ビデオエンコーダ20は、モード選択ユニット40と、参照フレームメモリ64と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。モード選択ユニット40は、今度は、動き補償ユニット44と、動き推定ユニット42と、イントラ予測ユニット46と、区分化ユニット48とを含む。ビデオブロック再構成のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換ユニット60と、加算器62とを含む。再構成されたビデオからブロック歪み(blockiness artifacts)を除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ(図2に図示せず)も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器62の出力をフィルタ処理することになる。追加のフィルタ(ループ内又はループ後)もデブロッキングフィルタに加えて使用され得る。そのようなフィルタは、簡潔のために示されていないが、所望される場合、(ループ内フィルタとして)加算器50の出力をフィルタ処理し得る。
[0068]符号化プロセス中に、ビデオエンコーダ20はコード化されるべきビデオフレーム又はスライスを受信する。フレーム又はスライスは複数のビデオブロックに分割され得る。動き推定ユニット42及び動き補償ユニット44は、時間予測を行うために、1つ又は複数の参照フレーム中の1つ又は複数のブロックに対して、受信されたビデオブロックのインター予測コード化を実行する。イントラ予測ユニット46は、代替的に、空間予測を行うために、コード化されるべきブロックと同じフレーム又はスライス中の1つ又は複数の隣接ブロックに対して、受信されたビデオブロックのイントラ予測コード化を実行し得る。ビデオエンコーダ20は、例えば、ビデオデータのブロックごとに適切なコード化モードを選択するために、複数のコード化パスを実行し得る。
[0069]その上、区分化ユニット48は、前のコード化パスにおける前の区分方式の評価に基づいて、ビデオデータのブロックをサブブロックに区分し得る。例えば、区分化ユニット48は、初めにフレーム又はスライスをLCUに区分し、レート歪み(rate-distortion)分析(例えば、レート歪み最適化など)に基づいてLCUの各々をサブCUに区分し得る。モード選択ユニット40は、LCUをサブCUに区分することを示す4分木データ構造を更に生成し得る。4分木のリーフノードCUは、1つ又は複数のPUと、1つ又は複数のTUとを含み得る。
[0070]モード選択ユニット40は、例えば、誤差結果に基づいてコード化モード、即ち、イントラ又はインターのうちの1つを選択し、残差ブロックデータを生成するために、得られたイントラコード化ブロック又はインターコード化ブロックを加算器50に与え、参照フレームとして使用するための符号化ブロックを再構成するために、得られたイントラコード化ブロック又はインターコード化ブロックを加算器62に与え得る。モード選択ユニット40はまた、動きベクトル、イントラモードインジケータ、区分情報、及び他のそのようなシンタックス情報など、シンタックス要素をエントロピー符号化ユニット56に与える。
[0071]動き推定ユニット42と動き補償ユニット44とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット42によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、現在フレーム(又は他のコード化単位)内でコード化されている現在ブロックに対する参照フレーム(又は他のコード化単位)内の予測ブロックに対する現在ビデオフレーム又はピクチャ内のビデオブロックのPUの変位を示し得る。予測ブロックは、絶対値差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of square difference)、又は他の差分メトリックによって決定され得る画素差分に関して、コード化されるべきブロックにぴったり一致することがわかるブロックである。幾つかの例では、ビデオエンコーダ20は、参照フレームメモリ64に記憶された参照ピクチャのサブ整数画素位置の値を計算し得る。例えば、ビデオエンコーダ20は、参照ピクチャの1/4画素位置、1/8画素位置、又は他の分数画素位置の値を補間し得る。従って、動き推定ユニット42は、フル画素位置と分数画素位置とに対する動き探索を実行し、分数画素精度で動きベクトルを出力し得る。
[0072]動き推定ユニット42は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライスにおけるビデオブロックのPUのための動きベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(リスト0)又は第2の参照ピクチャリスト(リスト1)から選択され得、それらの参照ピクチャリストの各々は、参照ピクチャメモリ64に記憶された1つ又は複数の参照ピクチャを識別する。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送る。
[0073]動き補償ユニット44によって実行される動き補償は、動き推定ユニット42によって決定された動きベクトルに基づいて予測ブロックをフェッチ又は生成することに関与し得る。この場合も、幾つかの例では、動き推定ユニット42と動き補償ユニット44とは機能的に統合され得る。現在ビデオブロックのPUについての動きベクトルを受信すると、動き補償ユニット44は、動きベクトルが参照ピクチャリストのうちの1つにおいて指す予測ブロックの位置を特定し得る。加算器50は、以下で説明するように、コード化されている現在ビデオブロックの画素値から予測ブロックの画素値を減算し、画素差分値を形成することによって、残差ビデオブロックを形成する。概して、動き推定ユニット42はルーマ成分に対して動き推定を実行し、動き補償ユニット44は、クロマ成分とルーマ成分の両方のためにルーマ成分に基づいて計算された動きベクトルを使用する。モード選択ユニット40はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30が使用するためのビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
[0074]イントラ予測ユニット46は、上記で説明したように、動き推定ユニット42と動き補償ユニット44とによって実行されるインター予測の代替として、現在ブロックをイントラ予測又は計算し得る。特に、イントラ予測ユニット46は、現在ブロックを符号化するために使用すべきイントラ予測モードを決定し得る。幾つかの例では、イントラ予測ユニット46は、例えば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化し得、イントラ予測ユニット46(又は、幾つかの例では、モード選択ユニット40)は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。
[0075]例えば、イントラ予測ユニット46は、様々なテストされたイントラ予測モードのためのレート歪み分析を使用してレート歪み値を計算し、テストされたモードの中で最良のレート歪み特性を有するイントラ予測モードを選択し得る。レート歪み分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間の歪み(又は誤差)の量、及び符号化ブロックを生成するために使用されるビットレート(即ち、ビット数)を決定する。イントラ予測ユニット46は、どのイントラ予測モードがブロックについて最良のレート歪み値を呈するかを決定するために、様々な符号化ブロックの歪み及びレートから比率を計算し得る。
[0076]ブロックのためのイントラ予測モードを選択した後に、イントラ予測ユニット46は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット56に与え得る。エントロピー符号化ユニット56は、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ20は、送信ビットストリーム中に、複数のイントラ予測モードインデックステーブル及び複数の変更されたイントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、及び変更されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを含み得る。
[0077]ビデオエンコーダ20は、コード化されている元のビデオブロックから、モード選択ユニット40からの予測データを減算することによって残差ビデオブロックを形成する。加算器50は、この減算演算を実行する1つ又は複数の構成要素を表す。変換処理ユニット52は、離散コサイン変換(DCT)又は概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。変換処理ユニット52は、DCTと概念的に同様である他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換又は他のタイプの変換も使用され得る。いずれの場合も、変換処理ユニット52は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報を画素値領域から周波数領域などの変換領域に変換し得る。変換処理ユニット52は、得られた変換係数を量子化ユニット54に送り得る。量子化ユニット54は、ビットレートを更に低減するために変換係数を量子化する。量子化プロセスは、係数の一部又は全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって修正され得る。幾つかの例では、量子化ユニット54は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット56が走査を実行し得る。
[0078]量子化の後、エントロピー符号化ユニット56は、量子化変換係数をエントロピーコード化する。例えば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コード化(CAVLC)、コンテキスト適応型バイナリ算術コード化(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コード化(SBAC)、確率間隔区分エントロピー(PIPE)コード化又は別のエントロピーコード化技法を実行し得る。コンテキストベースエントロピーコード化の場合、コンテキストは隣接ブロックに基づき得る。エントロピー符号化ユニット56によるエントロピーコード化の後に、符号化ビットストリームは、別の機器(例えば、ビデオデコーダ30)に送信されるか、又は後で送信するか又は取り出すためにアーカイブされ得る。
[0079]逆量子化ユニット58及び逆変換ユニット60は、それぞれ逆量子化及び逆変換を適用して、例えば、参照ブロックとして後で使用するために、画素領域中で残差ブロックを再構成する。動き補償ユニット44は、残差ブロックを参照フレームメモリ64のフレームのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット44はまた、再構成された残差ブロックに1つ又は複数の補間フィルタを適用して、動き推定において使用するサブ整数画素値を計算し得る。加算器62は、再構成された残差ブロックを、動き補償ユニット44によって生成された動き補償予測ブロックに加算して、参照フレームメモリ64に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインターコード化するために動き推定ユニット42及び動き補償ユニット44によって参照ブロックとして使用され得る。
[0080]図示されていない別の実施形態では、フィルタモジュールが、再構成されたビデオブロックを加算器62から受信し得る。フィルタモジュールは、デブロッキング演算を実行して、CUに関連するビデオブロック中のブロック歪みを低減し得る。1つ又は複数のデブロッキング演算を実行した後、フィルタモジュールは、復号ピクチャバッファにCUの再構成されたビデオブロックを記憶し得る。動き推定ユニット42及び動き補償ユニット44は、再構成されたビデオブロックを含んでいる参照ピクチャを使用して、後続ピクチャのPUに対してインター予測を実行し得る。加えて、イントラ予測ユニット46は、復号ピクチャバッファ中の再構成されたビデオブロックを使用して、CUと同じピクチャの中の他のPUに対してイントラ予測を実行し得る。従って、フィルタモジュールが、エッジに関連するサンプルにデブロッキングフィルタを適用した後、エッジに関連するサンプルに少なくとも部分的に基づいて、予測ビデオブロックが生成され得る。ビデオエンコーダ20は、その値が予測ビデオブロックに少なくとも部分的に基づく、1つ又は複数のシンタックス要素を含むビットストリームを出力し得る。
[0081]図3は、本開示で説明する態様による技法を実装し得るビデオデコーダの例を示すブロック図である。ビデオデコーダ30は、本開示の技法のいずれか又は全てを実行するように構成され得る。一例として、動き補償ユニット72及び/又はイントラ予測単位74は、本開示で説明する技法のいずれか又は全てを実行するように構成され得る。但し、本開示の態様はそのように限定されない。幾つかの例では、本開示で説明する技法は、ビデオデコーダ30の様々な構成要素間で共有され得る。幾つかの例では、追加として又は代わりに、プロセッサ(図示せず)が、本開示で説明する技法のいずれか又は全てを実行するように構成され得る。
[0082]図3の例では、ビデオデコーダ30は、エントロピー復号ユニット70と、動き補償ユニット72と、イントラ予測単位74と、逆量子化ユニット76と、逆変換単位78と、参照フレームメモリ82と、加算器80とを含む。ビデオデコーダ30は、幾つかの例では、ビデオエンコーダ20(図2)に関して説明した符号化パスとは概して逆の復号パスを実行し得る。動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルに基づいて予測データを生成し得、イントラ予測単位74は、エントロピー復号ユニット70から受信されたイントラ予測モードインジケータに基づいて予測データを生成し得る。
[0083]復号プロセス中に、ビデオデコーダ30は、ビデオエンコーダ20から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。ビデオデコーダ30のエントロピー復号ユニット70は、量子化係数、動きベクトル又はイントラ予測モードインジケータ、及び他のシンタックス要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット70は、動きベクトルと他の予測シンタックス要素とを動き補償ユニット72に転送する。ビデオデコーダ30は、ビデオスライスレベル及び/又はビデオブロックレベルでシンタックス要素を受信し得る。
[0084]ビデオスライスがイントラコード化(I)スライスとしてコード化されるとき、イントラ予測単位74は、信号伝達されたイントラ予測モードと、現在フレーム又はピクチャの、前に復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化(例えば、B、P又はGPB)スライスとしてコード化されるとき、動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルと他のシンタックス要素とに基づいて、現在ビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの1つ内の参照ピクチャのうちの1つから生成され得る。ビデオデコーダ30は、参照フレームメモリ82に記憶された参照ピクチャに基づいて、デフォルト構成技法を使用して、参照フレームリスト、即ち、リスト0とリスト1とを構成し得る。動き補償ユニット72は、動きベクトルと他のシンタックス要素とを解析することによって現在ビデオスライスのビデオブロックのための予測情報を決定し、その予測情報を使用して、復号されている現在ビデオブロックのための予測ブロックを生成する。例えば、動き補償ユニット72は、ビデオスライスのビデオブロックをコード化するために使用される予測モード(例えば、イントラ又はインター予測)と、インター予測スライスタイプ(例えば、Bスライス、Pスライス、又はGPBスライス)と、スライスの参照ピクチャリストのうちの1つ又は複数のための構成情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコード化ビデオブロックのためのインター予測状況(prediction status)と、現在ビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のうちの幾つかを使用する。
[0085]動き補償ユニット72はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット72は、ビデオブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用して、参照ブロックのサブ整数画素の補間値を計算し得る。この場合、動き補償ユニット72は、受信されたシンタックス要素からビデオエンコーダ20によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
[0086]逆量子化ユニット76は、ビットストリーム中で与えられ、エントロピー復号ユニット70によって復号された量子化変換係数を逆量子化(inverse quantize)、例えば、逆量子化(de-quantize)する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライス中の各ビデオブロックについてビデオデコーダ30によって計算される量子化パラメータ(QP)Yの使用を含み得る。
[0087]逆変換単位78は、逆変換、例えば、逆DCT、逆整数変換、又は概念的に同様の逆変換プロセスを変換係数に適用して、画素領域において残差ブロックを生成する。
[0088]動き補償ユニット72が、動きベクトルと他のシンタックス要素とに基づいて現在ビデオブロックのための予測ブロックを生成した後、ビデオデコーダ30は、逆変換単位78からの残差ブロックを動き補償ユニット72によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器80は、この加算演算を実行する1つ又は複数の構成要素を表す。所望される場合、ブロック歪みを除去するために、復号されたブロックをフィルタ処理するためにデブロッキングフィルタも適用され得る。画素遷移を平滑化するために、又は場合によってはビデオ品質を改善するために、他のループフィルタも(コード化ループ中又はコード化ループ後のいずれかで)使用され得る。所与のフレーム又はピクチャ中の復号されたビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶する参照ピクチャメモリ82に記憶される。参照フレームメモリ82はまた、図1の表示装置32などの表示装置上での後の表示のために、復号されたビデオを記憶する。
[0089]図示されていない別の実施形態では、加算器80がCUのビデオブロックを再構成した後、フィルタモジュールが、デブロッキング演算を実行して、CUに関連するブロック歪みを低減し得る。フィルタモジュールがデブロッキング動作を実行してCUに関連するブロック歪みを低減した後、ビデオデコーダ30は、復号ピクチャバッファにCUのビデオブロックを記憶し得る。復号ピクチャバッファは、後続の動き補償、イントラ予測、及び図1の表示装置32などの表示装置上での表示のために参照ピクチャを与え得る。例えば、ビデオデコーダ30は、復号ピクチャバッファ中のビデオブロックに基づいて、他のCUのPUに対して、イントラ予測演算又はインター予測演算を実行し得る。
[0090]典型的なビデオエンコーダでは、元のビデオシーケンスのフレームは、イントラモード(Iモード)又はインターモード(Pモード)で符号化される矩形領域又はブロックに区分される。ブロックは、DCTコード化など、ある種類の変換コード化を使用してコード化される。但し、純粋な変換ベースのコード化は、画素のブロック間相関を考慮することなしに、特定のブロック内の画素間相関を単に低減し得、送信のための高いビットレートを依然としてもたらし得る。現在のデジタル画像コード化規格は、ブロック間の画素値の相関を低減する幾つかの方法も活用し得る。
[0091]概して、Pモードで符号化されたブロックは、前にコード化され、送信されたフレームのうちの1つから予測される。ブロックの予測情報は、2次元(2D)動きベクトルによって表され得る。Iモードで符号化されたブロックの場合、予測ブロックは、同じフレーム内のすでに符号化された隣接ブロックからの空間予測を使用して形成される。予測誤差(例えば、符号化されているブロックと予測ブロックとの間の差分)は、何らかの離散変換の重み付けされた基底関数のセットとして表され得る。予測誤差は残差データとも呼ばれる。変換は、一般に8×8又は4×4ブロックベースで実行される。その後、重み(例えば、変換係数)が量子化される。量子化は情報に損失をもたらし、従って、量子化係数は、元のものよりも低い精度を有する。
[0092]量子化変換係数は、動きベクトル及び何らかの制御情報とともに、完全なコード化されたシーケンス表現を形成し得、シンタックス要素と呼ばれる。エンコーダからデコーダへの送信の前に、全てのシンタックス要素は、それらの表現に必要なビット数を更に低減するようにエントロピーコード化され得る。
[0093]デコーダでは、現在フレーム中のブロックは、最初にエンコーダの場合と同じ方法でブロックの予測を構成し、圧縮された予測誤差を予測に加算することによって取得され得る。圧縮された予測誤差は、量子化係数を使用して変換基底関数を重み付けすることによって見つけられ得る。再構成されたフレームと元のフレームとの間の差分は再構成誤差と呼ばれることがある。
[0094]H.264/AVCでは、ビデオフレーム又はスライスは、符号化及び復号のために16×16サイズの正方形ブロックに区分される。そのようなブロックはマクロブロックと呼ばれる。現在の高効率ビデオコード化(HEVC)では、ビデオフレーム又はスライスは、符号化及び復号のために可変サイズの正方形ブロックに区分される。そのようなブロックは、HEVCではコード化単位又はCUと呼ばれ得る。例えば、CUのサイズは、64×64、32×32、16×16、又は8×8であり得る。マクロブロックとは異なり、より大きいサイズのCUは、幾つかのより小さいサイズCUに分割され得る。非分割CUとマクロブロックとは、それらの概念及び機能に関して互いに類似する。
[0095]マクロブロック又は非分割CUが決定されると、ブロックは、予測のために幾つかの区分に更に分割され得る。そのような区分は、HEVCでは予測単位又はPUと呼ばれることもある。
スケーラブルビデオコード化
[0096]異なる次元におけるスケーラビリティの例を図4に示す。この例では、スケーラビリティが3つの次元において使用可能である。時間次元では、7.5Hz、15Hz又は30Hzをもつフレームレートが時間スケーラビリティ(T)によってサポートされ得る。空間スケーラビリティ(S)がサポートされるとき、QCIF、CIF及び4CIFなどの異なる解像度が使用可能である。特定の空間解像度及びフレームレートごとに、ピクチャ品質を改善するためにSNR(Q)レイヤが追加され得る。ビデオコンテンツがそのようなスケーラブルな方法で符号化されると、例えば、クライアント又は送信チャネルに依存するアプリケーション要件に従って、実際の配信されたコンテンツを適応させるために、抽出器ツールが使用され得る。図4に示された例では、各立方体は、同じフレームレート(時間レベル)、空間解像度及びSNRレイヤをもつピクチャを含んでいる。それらの立方体(ピクチャ)を任意の次元で追加することによって、より良い表現が達成され得る。使用可能な2つ、3つ又は更に多くのスケーラビリティがあるとき、複合スケーラビリティがサポートされる。
[0097]1つのSVC実装形態によれば、最低空間及び品質レイヤをもつピクチャはH.264/AVCに適合し得る。最低時間レベルにあるピクチャは、より高い時間レベルにあるピクチャを用いて拡張され得る時間ベースレイヤを形成する。H.264/AVC適合レイヤに加えて、空間スケーラビリティ及び/又は品質スケーラビリティを与えるために幾つかの空間及び/又はSNR拡張レイヤが追加され得る。SNRスケーラビリティは品質スケーラビリティと呼ばれることもある。各空間又はSNR拡張レイヤ自体は、H.264/AVC適合レイヤと同じ時間スケーラビリティ構造で、時間的にスケーラブルになり得る。1つの空間又はSNR拡張レイヤについて、それが依存するより低いレイヤは、その特定の空間又はSNR拡張レイヤのベースレイヤと呼ばれることもある。
[0098]SVCコード化構造の例を図5に示す。最低空間及び品質レイヤをもつピクチャ(QCIF解像度をもつ、レイヤ0及びレイヤ1中のピクチャ)は、H.264/AVCに適合する。それらの中で、最低時間レベルのピクチャは、図5のレイヤ0に示されているように、時間ベースレイヤを形成する。この時間ベースレイヤ(レイヤ0)は、より高い時間レベル(レイヤ1)のピクチャを用いて拡張され得る。H.264/AVC適合レイヤに加えて、空間スケーラビリティ及び/又は品質スケーラビリティを与えるために幾つかの空間及び/又はSNR拡張レイヤが追加され得る。例えば、拡張レイヤは、レイヤ2と同じ解像度をもつCIF表現であり得る。この例では、レイヤ3はSNR拡張レイヤである。その例に示されているように、各空間又はSNR拡張レイヤ自体は、H.264/AVC適合レイヤと同じ時間スケーラビリティ構造で、時間的にスケーラブルになり得る。また、拡張レイヤは空間解像度とフレームレートの両方を向上させことができる。例えば、レイヤ4は、フレームレートを15Hzから30Hzに更に増加させる4CIF拡張レイヤを与える。
[0099]図6に示されているように、同じ時間インスタンス中のコード化スライスは、ビットストリーム順序で連続しており、SVCのコンテキストにおける1つのアクセス単位を形成する。それらのSVCアクセス単位は、次いで、表示順序とは異なり得る、例えば、時間予測関係によって決定され得る、復号順序に従う。
[0100]スケーラブルコード化では、「イントラBLモード」と呼ばれる、拡張レイヤのための特殊なコード化モードがある。イントラBLモードでは、ブロック中のテクスチャは、ベースレイヤ中の対応するブロックのテクスチャを使用して予測される。一例を図7に示す。ベースレイヤ中のブロックは、拡張画像がベースレイヤ画像よりも大きいサイズを有する場合、アップサンプリングを必要とし得る。(残余と呼ばれる)予測誤差は、変換され、量子化され、エントロピー符号化され得る。
[0101]一般化残差予測(「GRP」)は、現在ピクチャを再構成するためにウェイシング係数(weigthing factor)が使用され得る、スケーラブルビデオコード化のためのインターモードである。一実施形態では、GRPは次のように表され得る。
このフレームワークは、シングルループ復号とマルチループ復号の両方の場合に適用され得ることに留意されたい。
[0102]マルチループ復号のシナリオでは、GRPは更に次のように示され得る。
[0103]ビデオコード化中に、残余が変換される。一般に、変換を実行するために離散コサイン変換(「DCT」)が使用される。但し、イントラBLブロック及びGRPブロック残余の特性は他のブロックタイプとは異なり得る。従って、DCTは、コード化効率の点で最良の選択肢でないことがある。幾つかの実施形態によれば、以下で更に詳述するように、イントラBLブロックコード化及びGRPブロックコード化のために代替変換を使用することが望ましい。
代替変換
[0104]図2のビデオエンコーダ20など、ビデオエンコーダ、又は図3のビデオデコーダ30など、ビデオデコーダでは、大部分のブロックコード化モードにおいて1次変換が使用され得る。例えば、(動きベクトル値、予測方向、単予測又は双予測にかかわらず)通常のインターコード化ブロック、及びロスレスコード化モードの場合、残余を符号化するために1次変換DCTが使用される。この実施形態によれば、イントラBLブロックコード化及びGRPブロックコード化のために、1次変換とは異なる変換(例えば、本明細書で説明する代替変換のうちの1つなど、代替変換)が、使用され得る。
離散サイン変換
[0105]イントラBLブロック及びGRPブロックのための1つの代替変換は離散サイン変換(DST)であり得る。異なるタイプのDST変換がある。一例では、イントラBLモードのためにタイプ−I DSTが使用され得る。別の例では、イントラBLモード及びGRPモードのためにタイプ−III DSTが使用され得る。また別の例では、イントラBLのために(HEVCイントラ予測のために使用される)タイプ−VII DSTも使用され得る。また別の例では、イントラBLのためにタイプ−IV DSTも使用され得る。
[0106]以下は、これらの例示的なDST変換のうちの幾つかのための式である。
[0107]イントラBLのために使用される変換は上記の標準DSTの変形形態であり得る。例えば、使用される変換はDSTの整数バージョンであり得るので、浮動小数点実装による起こり得る不整合が除去され得る。
適応的変換
[0108]この実施形態では、イントラBLは、DCT、異なるタイプのDCT、DST、異なるタイプのDST、KLT又は幾つかの他の変換を使用することができる。イントラBLモード及びGRPブロックのための変換の選択は適応的であり得る。
[0109]例えば、幾つかの実施形態では、選択は、予め定義され、ビデオエンコーダ20とビデオデコーダ30の両方に知られ得るか、又は、選択は、ユーザ定義され、デコーダに信号伝達され得る。信号は、フレームレベル、スライスレベル、CUレベル又はTUレベルであり得る。一例では、フラグがCUレベルにおいて送信される。フラグ=1の場合、このCU中の全ての変換のためにDSTが使用される。フラグ=0の場合、このCU中の全ての変換のためにDCTが使用される。別の例では、フラグは、あるCUモードのためにのみ送信される。例えば、非0重み付けを用いてイントラBLモード又はGRPモードとして符号化されたCUのためにのみ、フラグがCUのために送信される。また別の例では、このフラグは、幾つかのCUサイズのためにのみ送信される。例えば、そのフラグは、閾値よりも大きいサイズをもつCUのためにのみに送信される。また別の例では、このフラグは、幾つかのCUサイズをもつあるCUモードのためにのみ送信される。例えば、このフラグは、サイズ≧N×NであるイントラBL CU又はGRP CUのためにのみ送信される。また別の例では、このフラグはCUのために送信されるが、それは、このCU中の閾値よりも大きいTUサイズのための変換のみを選択する。この閾値よりも小さいCUのために、DST又はDCTが常に使用される。
[0110](上記で説明した適用されたモード及び閾値サイズを含む)変換選択は、CUサイズ、TUサイズ、フレームタイプ、フレームサイズ、QP、時間レイヤ情報、構文解析された残余係数情報(例えば、最後非0係数の位置、非0係数の数、係数の振幅など)のようなサイド情報に基づいて、適応的に決定され得る。
[0111]選択はまた、ベースレイヤからの情報又は拡張レイヤとベースレイヤの両方からの情報に基づき得る。例えば、選択は、拡張レイヤのQP及び/又はベースレイヤのQP及び/又は拡張レイヤのQPとベースレイヤのQPとの間の差分(又は比)に基づき得る。同様に、選択は、拡張レイヤ及びベースレイヤのフレームサイズ/レートに基づき得る。
[0112]選択はまた、ベースレイヤ中の対応するブロック、Blk_BLに基づき得る。例えば、選択はBlk_BLの画素特性に基づき得る。画素特性は、(例えば)テクスチャの方向、画素の振幅、画素値の平均、画素値の分散、及びBlk_BLの勾配方向/値であり得る。選択はまた、Blk_BLのコード化モード、例えば、Blk_BLがイントラモードであるのか、インターモードであるのか、スキップモードであるのか、イントラ予測などに基づき得る。選択はまた、Blk_BLに対して異なる変換をテストすることによって導出され、Blk_BLにおいて最良の性能(例えば、最良のエネルギー圧縮特性)を与える変換を選択し得る。
追加のブロックモード
[0113]幾つかの実施形態では、上記で説明したイントラBL変換方法は、限定はしないが、一般化残余予測モードを含む他のブロックモードに拡張され得る。
隣接領域
[0114]一実施形態では、コーダ(例えば、ビデオエンコーダ20及び/又はビデオデコーダ30)は、拡張レイヤにある変換ブロック、BLK_ELと、ベースレイヤにある対応するブロックBLK_BL(例えば、ベースレイヤ内の同じ位置又はスケーリングされた位置に位置する同一位置配置ブロック)とを決定する。Neigh_ELはBLK_ELの隣接領域を定義し得、Neigh_BLはBLK_BLの対応する隣接領域を定義し得る。BLK_ELのための変換の選択はNeigh_EL及びNeigh_BLに基づく。例えば、Neigh_ELとNeigh_BLとの間のDCの差分が閾値よりも大きい場合、DCTが使用され、他の場合はDSTが使用され得る。閾値は、本明細書の幾つかの他の実施形態で説明したように、高レベルシンタックスを使用して送信され得るか、又はサイド情報に対して適応的であり得る。別の実施形態では、(例えばCABACコード化を使用して)変換選択がフラグとして符号化され得、コンテキストインデックスが、Neigh_EL及びNeigh_BLに基づいて適応的に決定され得る。一実装形態の詳細な例について以下で説明する。
レベルベースの選択
[0115]別の実施形態では、変換がTUレベル(変換ブロックレベル)において選択され得る。各TUが適切な予測モードを使用するために、選択された変換は、残余がある場合に信号伝達され得る。幾つかの変換が各変換サイズのために選択され得る。一例では、各変換サイズが同じ数の可能な変換を有する。別の例では、ルーマブロックのみが変換選択を使用する。別の例では、異なるサイズをもつブロックが異なる数の変換を使用する。例えば、信号伝達は大きいブロックの場合あまり不利にならないので、より大きいブロックは4つ又は8つの変換を使用することができる。一方、より小さいブロック(例えば、4×4)は2つの可能な変換、又は1つのみを使用するので、このサイズには信号伝達は不要である。TUレベルのための上記の変換選択方法はCUレベルにも適用され得る。
[0116]別の例では、信号伝達が、所与のサイズ(及び0とは異なる残余)をもつCUの第1の変換についてのみ実行される。その後、そのサイズをもつCU中の残りのTUが同じタイプの変換を使用することが仮定される。このようにして、TU中の各変換サイズはそれのタイプの変換を使用することができ、信号伝達は、CUレベルとTUレベルとの間の精度(granularity)まで低減される。
2値化
[0117]幾つかの実施形態では、様々な2値化を使用して選択が信号伝達され得る。一例では、短縮単項コードが使用され得る。別の例では、固定長コードが使用され得る。別の例では、最確変換が仮定される。例えば、第1のフラグは、選択された変換が最確変換であるかどうかを信号伝達する。フラグが0である場合、別の変換が使用されるべきであることを意味し、(一般に、単項又は固定長など、他の2値化方法のうちの1つを使用して)更なる信号伝達が、使用されるべき変換の数を示し得る。例えば、5つの変換が可能である場合、第1のフラグは、変換(例えば、タイプIIIのDST)が最確変換であるかどうかを示し得る。そうでない場合、2つの更なるビンが、残りの4つの変換のうちのどの変換が使用されるかを信号伝達し得る。更に、コーダは、イントラ予測のための最確モード(MPM:most probable mode)の場合などは、2つ以上の最確変換があると仮定することができる。この場合、2値化は2つの部分に分割される。第2の部分は、コンテキスト(CABAC)を使用することができるか、又は、より高スループットが望まれる場合、(通常のCABACモードよりも速い)バイパスモードを使用してコード化され得る。
[0118]ビンをコード化するためにCABACが使用される場合、コンテキストが各ビンに割り当てられ得る。コンテキスト選択は、TUサイズ又は深度、CUサイズ又は深度、及び/又は2値化のビンに依存する。更に、2値化が固定長を有する場合、選択されたコンテキストは、選択された変換の数の2値化の以前にコード化されたビンの値に依存し得る。
[0119]信号伝達は、幾つかのブロックサイズについて実行され得る。例えば、4×4レベルにおける信号伝達はコストがかかることがあり、従って、変換選択は、4×4よりも大きい変換に適用され得る。
変換例
[0120]この例では、タイプ3 DST変換の変形形態が次のように使用される。
4x4 変換
const short g_aiS4[4][4] =
{
{35,64,84,64},
{84,64,-35,-64},
{84,-64,-35,64},
{35,-64,84,-64}
};

8x8 変換
const short g_aiS8[8][8] =
{
{18,35,50,64,75,84,89,64},
{50,84,89,64,18,-35,-75,-64},
{75,84,18,-64,-89,-35,50,64},
{89,35,-75,-64,50,84,-18,-64},
{89,-35,-75,64,50,-84,-18,64},
{75,-84,18,64,-89,35,50,-64},
{50,-84,89,-64,18,35,-75,64},
{18,-35,50,-64,75,-84,89,-64}
};

16x16 変換
const short g_aiS16[16][16] =
{
{9,18,26,35,43,50,57,64,70,75,80,84,87,89,90,64},
{26,50,70,84,90,89,80,64,43,18,-9,-35,-57,-75,-87,-64},
{43,75,90,84,57,18,-26,-64,-87,-89,-70,-35,9,50,80,64},
{57,89,80,35,-26,-75,-90,-64,-9,50,87,84,43,-18,-70,-64},
{70,89,43,-35,-87,-75,-9,64,90,50,-26,-84,-80,-18,57,64},
{80,75,-9,-84,-70,18,87,64,-26,-89,-57,35,90,50,-43,-64},
{87,50,-57,-84,9,89,43,-64,-80,18,90,35,-70,-75,26,64},
{90,18,-87,-35,80,50,-70,-64,57,75,-43,-84,26,89,-9,-64},
{90,-18,-87,35,80,-50,-70,64,57,-75,-43,84,26,-89,-9,64},
{87,-50,-57,84,9,-89,43,64,-80,-18,90,-35,-70,75,26,-64},
{80,-75,-9,84,-70,-18,87,-64,-26,89,-57,-35,90,-50,-43,64},
{70,-89,43,35,-87,75,-9,-64,90,-50,-26,84,-80,18,57,-64},
{57,-89,80,-35,-26,75,-90,64,-9,-50,87,-84,43,18,-70,64},
{43,-75,90,-84,57,-18,-26,64,-87,89,-70,35,9,-50,80,-64},
{26,-50,70,-84,90,-89,80,-64,43,-18,-9,35,-57,75,-87,64},
{9,-18,26,-35,43,-50,57,-64,70,-75,80,-84,87,-89,90,-64}
};

32x32 Transform
const short g_aiS32[32][32] =
{
{4, 9, 13, 18, 22, 26, 30, 35, 39, 43, 47, 50, 54, 57, 61, 64, 67, 70, 73, 75,78,80,82,84,85,87,88,89,90,90,90,64},
{13, 26, 39, 50, 61, 70, 78, 84, 88, 90, 90, 89, 85, 80, 73, 64, 54, 43, 30,18,4,-9,-22,-35,-47,-57,-67,-75,-82,-87,-90,-64},
{22, 43, 61, 75, 85, 90, 90, 84, 73, 57, 39, 18, -4, -26, -47, -64, -78, -87,-90,-89,-82,-70,-54,-35,-13,9,30,50,67,80,88,64},
{30, 57, 78, 89, 90, 80, 61, 35, 4, -26, -54, -75, -88, -90, -82, -64, -39, -9,22,50,73,87,90,84,67,43,13,-18,-47,-70,-85,-64},
{39, 70, 88, 89, 73, 43, 4, -35, -67, -87, -90, -75, -47, -9, 30, 64, 85, 90,78,50,13,-26,-61,-84,-90,-80,-54,-18,22,57,82,64},
{47, 80, 90, 75, 39, -9, -54, -84, -90, -70, -30, 18, 61, 87, 88, 64, 22, -26,-67,-89,-85,-57,-13,35,73,90,82,50,4,-43,-78,-64},
{54, 87, 85, 50, -4, -57, -88, -84, -47, 9, 61, 89, 82, 43, -13, -64, -90, -80,-39,18,67,90,78,35,-22,-70,-90,-75,-30,26,73,64},
{61, 90, 73, 18, -47, -87, -82, -35, 30, 80, 88, 50, -13, -70, -90, -64, -4,57,90,75,22,-43,-85,-84,-39,26,78,89,54,-9,-67,-64},
{67, 90, 54, -18, -78, -87, -39, 35, 85, 80, 22, -50, -90, -70, -4, 64, 90,57,-13,-75,-88,-43,30,84,82,26,-47,-89,-73,-9,61,64},
{73, 87, 30, -50, -90, -57, 22, 84, 78, 9, -67, -89, -39, 43, 90, 64, -13, -80,-82,-18,61,90,47,-35,-88,-70,4,75,85,26,-54,-64},
{78, 80, 4, -75, -82, -9, 73, 84, 13, -70, -85, -18, 67, 87, 22, -64, -88, -26,61,89,30,-57,-90,-35,54,90,39,-50,-90,-43,47,64},
{82, 70, -22, -89, -54, 43, 90, 35, -61, -87, -13, 75, 78, -9, -85, -64, 30,90,47,-50,-90,-26,67,84,4,-80,-73,18,88,57,-39,-64},
{85, 57, -47, -89, -13, 80, 67, -35, -90, -26, 73, 75, -22, -90, -39, 64, 82,-9,-88,-50,54,87,4,-84,-61,43,90,18,-78,-70,30,64},
{88, 43, -67, -75, 30, 90, 13, -84, -54, 57, 82, -18, -90, -26, 78, 64, -47,-87,4,89,39,-70,-73,35,90,9,-85,-50,61,80,-22,-64},
{90, 26, -82, -50, 67, 70, -47, -84, 22, 90, 4, -89, -30, 80, 54, -64, -73, 43,85,-18,-90,-9,88,35,-78,-57,61,75,-39,-87,13,64},
{90, 9, -90, -18, 88, 26, -85, -35, 82, 43, -78, -50, 73, 57, -67, -64, 61,70,-54,-75,47,80,-39,-84,30,87,-22,-89,13,90,-4,-64},
{90, -9, -90, 18, 88, -26, -85, 35, 82, -43, -78, 50, 73, -57, -67, 64, 61,-70,-54,75,47,-80,-39,84,30,-87,-22,89,13,-90,-4,64},
{90, -26, -82, 50, 67, -70, -47, 84, 22, -90, 4, 89, -30, -80, 54, 64, -73,-43,85,18,-90,9,88,-35,-78,57,61,-75,-39,87,13,-64},
{88, -43, -67, 75, 30, -90, 13, 84, -54, -57, 82, 18, -90, 26, 78, -64, -47,87,4,-89,39,70,-73,-35,90,-9,-85,50,61,-80,-22,64},
{85, -57, -47, 89, -13, -80, 67, 35, -90, 26, 73, -75, -22, 90, -39, -64, 82,9,-88,50,54,-87,4,84,-61,-43,90,-18,-78,70,30,-64},
{82, -70, -22, 89, -54, -43, 90, -35, -61, 87, -13, -75, 78, 9, -85, 64, 30,-90,47,50,-90,26,67,-84,4,80,-73,-18,88,-57,-39,64},
{78, -80, 4, 75, -82, 9, 73, -84, 13, 70, -85, 18, 67, -87, 22, 64, -88, 26,61,-89,30,57,-90,35,54,-90,39,50,-90,43,47,-64},
{73, -87, 30, 50, -90, 57, 22, -84, 78, -9, -67, 89, -39, -43, 90, -64, -13,80,-82,18,61,-90,47,35,-88,70,4,-75,85,-26,-54,64},
{67, -90, 54, 18, -78, 87, -39, -35, 85, -80, 22, 50, -90, 70, -4, -64, 90,-57,-13,75,-88,43,30,-84,82,-26,-47,89,-73,9,61,-64},
{61, -90, 73, -18, -47, 87, -82, 35, 30, -80, 88, -50, -13, 70, -90, 64, -4, -57,90,-75,22,43,-85,84,-39,-26,78,-89,54,9,-67,64},
{54, -87, 85, -50, -4, 57, -88, 84, -47, -9, 61, -89, 82, -43, -13, 64, -90,80,-39,-18,67,-90,78,-35,-22,70,-90,75,-30,-26,73,-64},
{47, -80, 90, -75, 39, 9, -54, 84, -90, 70, -30, -18, 61, -87, 88, -64, 22,26,-67,89,-85,57,-13,-35,73,-90,82,-50,4,43,-78,64},
{39, -70, 88, -89, 73, -43, 4, 35, -67, 87, -90, 75, -47, 9, 30, -64, 85, -90,78,-50,13,26,-61,84,-90,80,-54,18,22,-57,82,-64},
{30, -57, 78, -89, 90, -80, 61, -35, 4, 26, -54, 75, -88, 90, -82, 64, -39,9,22,-50,73,-87,90,-84,67,-43,13,18,-47,70,-85,64},
{22, -43, 61, -75, 85, -90, 90, -84, 73, -57, 39, -18, -4, 26, -47, 64, -78,87,-90,89,-82,70,-54,35,-13,-9,30,-50,67,-80,88,-64},
{13, -26, 39, -50, 61, -70, 78, -84, 88, -90, 90, -89, 85, -80, 73, -64, 54,-43,30,-18,4,9,-22,35,-47,57,-67,75,-82,87,-90,64},
{4, -9, 13, -18, 22, -26, 30, -35, 39, -43, 47, -50, 54, -57, 61, -64, 67, -70,73,-75,78,-80,82,-84,85,-87,88,-89,90,-90,90,-64}
};
[0121]この例では、上記のDST変換は、イントラBLモード及びGRPモードに適用され得る。イントラBLモードの場合、DSTが全ての変換サイズに適用され得る。例えば、HEVCでは、4×4、8×8、16×16及び32×32変換が可能であり、DSTも4×4、8×8、16×16、32×32変換サイズに適用され得る。GRPモードの場合、DSTは、選択された変換サイズ、例えば、4×4、8×8及び16×16変換のみに適用され得る。更に、DSTは、一般化残余予測モードの場合、ベースレイヤ画像が予測における最も高い重みを有するときのみ適用され得る。1つのHEVC SVC拡張コーデックでは、重みインデックス=0、1、又は2という、GRPのための3つの異なる重み設定がある。この場合、DSTは、重みインデックス=2のみに適用され得る。
[0122]更に、この例では、DSTは、拡張レイヤとベースレイヤとの間のQP差分に基づいて選択的にオフにされ得る。例えば、QPBLをベースレイヤ画像のQPであるとし、QPELを拡張レイヤ画像のQPであるとする。QPBL−QPEL≧QP_Thの場合、DCTが使用される。他の場合、DSTは、(上記の)より早くに定義された他の条件(イントラBLモード、変換サイズ)が満たされた場合に使用され得る。この例では、QP_thは、ビデオエンコーダ20とビデオデコーダ30の両方に対する前の(例えば、初期)知識として6であると設定される、QP値は、モードごとに異なり得、また、幾つかの高レベルシンタックスを使用して明示的に送信され得る。
[0123]下記は、DST及びDCTの選択が明示的に信号伝達される別の詳細な例である。
[0124]この例では、N×Nよりも大きいサイズをもつ各イントラBL CUのために、フラグが送信される。フラグ=1の場合、DSTが使用される。フラグ=0場合、DCTが使用される。他のサイズをもつIntrBL CUについて、DSTが常に使用される。フラグは、CABACを使用して符号化され、CABACコンテキストインデックス=CU深度である。同様に、GRP CUごとに、このCUの残余のためにDSTが使用されるのかDCTが使用されるのかを示すために、フラグが送信される。フラグは、全てのGRP CU又は非0重み付けをもつGRP CUのために信号伝達され得る。フラグがCABACを用いてコード化されるとき、以前にコード化されたCU情報がコンテキストとして使用され得る。CU深度など、現在CUの情報も、フラグのためのコンテキストとして使用され得る。CU深度がコンテキストとして使用されるとき、コンテキストは、イントラBL CUとGRP CUの両方の変換フラグのために使用され得る。代替的に、異なるコンテキストがイントラBL CU及びGRP CUのために使用され得る。
[0125]更に、DCT、DST、及びトレーニングベースのKLTなど、3つ以上の変換が、イントラBL CU及びGRP CUなど、CUのために使用され得る。この場合、変換インデックスがCUレベルにおいて送信される。インデックスは、各CUのために送信されるか、又は幾つかのタイプをもつCUのために条件付きで送信され得る。概して、この機能(適応的変換)は、シーケンスレベル、ピクチャレベル、スライスレベル、又は他のレベルにおいて有効化又は無効化され得る。この機能が使用不能であるとき、1次変換のみが全てのCUのために使用される。
[0126]図8は、ビデオコード化の方法の一実施形態を示す流れ図である。本方法は、エンコーダ(例えば図2のビデオエンコーダ20)又はデコーダ(例えば図3のビデオデコーダ30)又は図1〜図3に関して上記で説明した機器のいずれかによって実装され得る。方法800はブロック802において開始する。ブロック804において、ビデオ情報のブロックのタイプを決定する。例えば、ブロックをコード化するために使用されるコード化のタイプが決定され得る。幾つかの実施形態では、ビデオ情報のブロックのタイプは、拡張レイヤ中のブロックの隣接領域を指す。ビデオ情報のブロックのタイプは、ベース(又は参照)レイヤ中の対応するブロックの隣接領域をも指し得る。ブロック806において、方法800は、ブロックタイプが所定のタイプであるかどうかを決定する。例えば、ブロックタイプがイントラBLブロックコード化であるのかGRPブロックコード化であるのかが決定され得る。
[0127]ブロックタイプが所定のタイプでない場合、方法800はブロック808に進む。ブロックタイプが所定のタイプである場合、方法800はブロック810に進む。ブロック808において、1次変換を使用してビデオ情報をコード化する。例えば、ビデオ情報は、DCTを使用してコード化され得る。ブロック810において、代替変換を使用してビデオ情報をコード化する。例えば、ビデオ情報は、DST、DSTタイプ(例えば、タイプ−I DST、タイプ−III DST、タイプ−IV DST、タイプ−VII DST)、DCT、異なるタイプのDCT、KLTなどを使用してコード化され得る。幾つかの実施形態では、ブロック810において、本方法は、上記の適応的技法のいずれかなど、適応的変換技法を使用する。
[0128]幾つかの実施形態では、追加情報は、ビデオ情報ビットストリーム又は他の信号中にコード化されたフラグを含む。信号は、フレームレベル、スライスレベル、CUレベル、TUレベル、又は他のレベルにおいて生じることができる。幾つかの実施形態では、追加情報は、CUサイズ、TUサイズ、フレームタイプ、フレームサイズ、量子化パラメータ(QP)、時間レイヤ情報、構文解析された残余係数情報など、サイド情報を含む。幾つかの実施形態では、追加情報は、上記で説明したように、ベースレイヤからの情報又は拡張レイヤとベースレイヤの両方からの情報を含む。
[0129]本明細書で開示される情報及び信号は、多種多様な技術及び技法のいずれかを使用して表され得る。例えば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、及びチップは、電圧、電流、電磁波、磁界又は磁性粒子、光場又は光学粒子、あるいはそれらの任意の組合せによって表され得る。
[0130]本明細書で開示する実施形態に関して説明した様々な例示的な論理ブロック、モジュール、回路、及びアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、又は両方の組合せとして実装され得る。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、及びステップについて、上記では概してそれらの機能に関して説明した。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例及び全体的なシステムに課される設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈すべきではない。
[0131]本明細書で説明した技術は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実装され得る。そのような技法は、汎用コンピュータ、ワイヤレス通信機器ハンドセット、又はワイヤレス通信機器ハンドセット及び他の機器における適用例を含む複数の用途を有する集積回路機器など、様々な機器のいずれかに実装され得る。モジュール又は構成要素として説明する機能は、集積論理機器に一緒に、又はディスクリートであるが相互運用可能な論理機器として別々に実装され得る。ソフトウェアで実装した場合、本技法は、実行されたとき、上記で説明した方法のうちの1つ又は複数を実行する命令を含むプログラムコードを備えるコンピュータ可読データ記憶媒体によって、少なくとも部分的に実現され得る。コンピュータ可読データ記憶媒体は、パッケージング材料を含むことがあるコンピュータプログラム製品の一部を形成し得る。コンピュータ可読媒体は、同期ダイナミックランダムアクセスメモリ(SDRAM)などのランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、電気消去可能プログラマブル読取り専用メモリ(EEPROM(登録商標))、フラッシュメモリ、磁気又は光学データ記憶媒体など、メモリ又はデータ記憶媒体を備え得る。本技法は、追加又は代替として、伝搬信号又は電波など、命令又はデータ構造の形態でプログラムコードを搬送又は伝達し、コンピュータによってアクセスされ、読み取られ、及び/又は実行され得るコンピュータ可読通信媒体によって、少なくとも部分的に実現され得る。
[0132]プログラムコードは、1つ又は複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、又は他の等価の集積回路又はディスクリート論理回路など、1つ又は複数のプロセッサを含み得るプロセッサによって実行され得る。そのようなプロセッサは、本開示で説明する技法のいずれかを実行するように構成され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、又は状態機械であり得る。プロセッサはまた、コンピューティング機器の組合せ、例えば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つ又は複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。従って、本明細書で使用する「プロセッサ」という用語は、上記の構造、上記の構造の任意の組合せ、又は本明細書で説明する技法の実装に好適な他の構造又は装置のいずれかを指す。更に、幾つかの態様では、本明細書で説明した機能は、符号化及び復号のために構成された専用のソフトウェアモジュール又はハードウェアモジュール内に提供され得、あるいは複合ビデオエンコーダ/デコーダ(コーデック)に組み込まれ得る。また、本技法は、1つ又は複数の回路又は論理要素中に十分に実装され得る。
[0133]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)又はICのセット(例えば、チップセット)を含む、多種多様な機器又は装置において実装され得る。本開示では、開示する技法を実施するように構成された機器の機能的態様を強調するために様々な構成要素、モジュール、又はユニットについて説明したが、それらの構成要素、モジュール、又はユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェア及び/又はファームウェアとともに、上記で説明した1つ又は複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、又は相互動作ハードウェアユニットの集合によって与えられ得る。
[0134]新規のシステム、装置、及び方法の様々な態様について、添付の図面を参照しながら以下でより十分に説明する。但し、本開示は、多くの異なる形態で実施され得、本開示全体にわたって提示する任意の特定の構造又は機能に限定されるものと解釈されるべきではない。むしろ、これらの態様は、本開示が周到で完全になり、本開示の範囲を当業者に十分に伝えるように与えられる。本明細書の教示に基づいて、本開示の範囲は、本発明の他の態様とは無関係に実装されるにせよ、本開示の他の態様と組み合わせて実装されるにせよ、本明細書で開示する新規のシステム、装置、及び方法のいかなる態様をもカバーするものであることを、当業者なら諒解されたい。例えば、本明細書に記載の態様をいくつ使用しても、装置は実装され得、又は方法は実施され得る。更に、本発明の範囲は、本明細書に記載の本発明の様々な態様に加えて又はそれらの態様以外に、他の構造、機能、又は構造及び機能を使用して実施されるそのような装置又は方法をカバーするものとする。本明細書で開示する任意の態様が請求項の1つ又は複数の要素によって実施され得ることを理解されたい。
[0135]本明細書では特定の態様について説明するが、これらの態様の多くの変形及び置換は本開示の範囲内に入る。好適な態様の幾つかの利益及び利点について説明するが、本開示の範囲は特定の利益、使用、又は目的に限定されるものではない。むしろ、本開示の態様は、それらのうちの幾つかが図中及び好ましい態様についての以下の説明中に例として示されている、異なるワイヤレス技術、システム構成、ネットワーク、及び伝送プロトコルに広く適用可能であるものとする。発明を実施するための形態及び図面は、本開示を限定するものではなく説明するものにすぎず、本開示の範囲は添付の特許請求の範囲及びそれの均等物によって定義される。
[0136]本発明の様々な実施形態について説明した。これら及び他の実施形態は以下の特許請求の範囲内に入る。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
[1] ビデオ情報をコード化するように構成された装置であって、前記装置が、拡張レイヤに関連するビデオブロック情報を記憶するように構成されたメモリと、前記メモリに動作可能に結合され、前記メモリから前記ビデオブロック情報を取り出し、前記ビデオ情報をコード化するように構成されたプロセッサとを備え、前記プロセッサが、前記ビデオブロック情報のパラメータに基づいて変換関数を決定することと、決定された前記変換関数を使用して前記ビデオブロック情報をコード化することとを行うように更に構成された、装置。
[2] 前記ビデオブロック情報の前記パラメータがコード化モードを備える、[1]に記載の装置。
[3] 前記コード化モードが、イントラベースレイヤ(イントラBL)モード又は一般化残差予測(GRP)を備える、[2]に記載の装置。
[4] 前記変換関数を決定するために、前記プロセッサは、前記ビデオブロック情報の前記パラメータが所定の値であるかどうかを決定することと、前記ビデオブロック情報の前記パラメータが前記所定の値でないと決定したことに応答して、前記変換関数が1次変換であると決定するか、又は、前記ビデオブロック情報の前記パラメータが前記所定の値であると決定したことに応答して、前記変換関数が代替変換であると決定することとを行うように構成された、[1]に記載の装置。
[5] 前記代替変換が、離散サイン変換(DST)、タイプ−I DST、タイプ−III DST、タイプ−IV DST、タイプ−VII DST、離散コサイン変換(DCT)、異なるタイプのDCT、及びカルーネンレーベ変換(KLT)のうちの1つを備える、[4]に記載の装置。
[6] 前記ビデオ情報の前記パラメータが、フレームレベル、スライスレベル、コード化単位レベル、及び変換ブロック単位レベルのうちの1つにおいて信号伝達される、[1]に記載の装置。
[7] 前記ビデオ情報の前記パラメータが、サイド情報、コード化単位サイズ、変換単位サイズ、フレームタイプ、フレームサイズ、量子化パラメータ(QP)、時間レイヤ情報、及び構文解析された残余係数情報のうちの少なくとも1つを備える、[1]に記載の装置。
[8] 前記パラメータがベースレイヤからの情報を備える、[1]に記載の装置。
[9] 前記ビデオブロック情報の前記パラメータが、前記ビデオブロック情報と隣接ビデオブロック情報との間の差分に関係する閾値を備える、[1]に記載の装置。
[10] 前記変換関数は、前記ビデオブロック情報と前記隣接ブロック情報との間の前記差分が前記閾値を下回るとき、非コサインベース変換を備える、[1]に記載の装置。
[11] 前記変換関数は、前記ビデオブロック情報と前記隣接ブロック情報との間の前記差分が前記閾値を上回るとき、コサイン変換を備える、[1]に記載の装置。
[12] 前記プロセッサが、高レベルシンタックスを使用した又はフラグとして符号化された前記閾値を受信するように構成された、[11]に記載の装置。
[13] 決定された前記変換が、2値化を使用して信号伝達される、[1]に記載の装置。
[14] 前記2値化が、短縮単項コード及び固定長コードのうちの少なくとも1つを備える、[13]に記載の装置。
[15] 前記装置がエンコーダを備える、[1]に記載の装置。
[16] 前記装置がデコーダを備える、[1]に記載の装置。
[17] 前記装置が、デスクトップコンピュータ、ノートブックコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、セットトップボックス、電話ハンドセット、スマートフォン、スマートパッド、テレビジョン、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソール、及びビデオストリーミング機器のうちの1つ又は複数からなるグループから選択される、[1]に記載の装置。
[18] ビデオ情報を符号化する方法であって、前記方法が、参照レイヤに関連するビデオブロック情報を受信することと、前記ビデオブロック情報のパラメータに基づいて変換関数を決定することと、決定された前記変換関数を使用して前記ビデオブロック情報を符号化することとを備える、方法。
[19] 前記ビデオブロック情報の前記パラメータがコード化モードを備える、[18]に記載の方法。
[20] 前記コード化モードが、イントラベースレイヤ(イントラBL)モード又は一般化残差予測を備える、[19]に記載の方法。
[21] 前記変換関数は、前記パラメータが所定の値であるときは代替変換であると決定され、前記パラメータが前記所定の値でないときは1次変換であると決定される、[18]に記載の方法。
[22] 前記代替変換が、離散サイン変換(DST)、タイプ−I DST、タイプ−III DST、タイプ−IV DST、タイプ−VII DST、離散コサイン変換DCT、異なるタイプのDCT、及びカルーネンレーベ変換(KLT)のうちの1つを備える、[19]に記載の方法。
[23] フレームレベル、スライスレベル、コード化単位レベル、及び変換ブロック単位レベルのうちの1つにおいて前記ビデオ情報の前記パラメータを信号伝達することを更に備える、[18]に記載の方法。
[24] 前記ビデオ情報の前記パラメータが、サイド情報、コード化単位サイズ、変換単位サイズ、フレームタイプ、フレームサイズ、量子化パラメータ(QP)、時間レイヤ情報、及び構文解析された残余係数情報のうちの少なくとも1つを備える、[18]に記載の方法。
[25] 前記パラメータがベースレイヤからの情報を備える、[18]に記載の方法。
[26] 前記ビデオブロック情報の前記パラメータが、前記ビデオブロック情報と隣接ビデオブロック情報との間の差分に関係する閾値を備える、[18]に記載の方法。
[27] 前記変換関数は、前記ビデオブロック情報と前記隣接ブロック情報との間の前記差分が前記閾値を下回るとき、非コサインベース変換を備える、[18]に記載の方法。
[28] 前記変換関数は、前記ビデオブロック情報と前記隣接ブロック情報との間の前記差分が前記閾値を上回るとき、コサイン変換を備える、[18]に記載の方法。
[29] 高レベルシンタックスを使用して、又は符号化されたフラグとして、前記閾値を通信することを更に備える、[28]に記載の方法。
[30] 前記決定された変換が、2値化を使用して信号伝達される、[18]に記載の方法。
[31] 前記2値化が、短縮単項コード及び固定長コードのうちの少なくとも1つを備える、[30]に記載の方法。
[32] ビデオ情報を復号する方法であって、前記方法が、参照レイヤに関連するビデオブロック情報を受信することと、前記ビデオブロック情報のパラメータに基づいて変換関数を決定することと、決定された前記変換関数を使用して前記ビデオブロック情報を復号することとを備える、方法。
[33] 前記ビデオブロック情報の前記パラメータがコード化モードを備える、[32]に記載の方法。
[34] 前記コード化モードが、イントラベースレイヤ(イントラBL)モード又は一般化残差予測を備える、[33]に記載の方法。
[35] 前記変換関数は、前記パラメータが所定の値であるときは代替変換であると決定され、前記パラメータが前記所定の値でないときは1次変換であると決定される、[32]に記載の方法。
[36] 前記代替変換が、離散サイン変換(DST)、タイプ−I DST、タイプ−III DST、タイプ−IV DST、タイプ−VII DST、離散コサイン変換DCT、異なるタイプのDCT、及びカルーネンレーベ変換(KLT)のうちの1つを備える、[35]に記載の方法。
[37] フレームレベル、スライスレベル、コード化単位レベル、及び変換ブロック単位レベルのうちの1つにおいて前記ビデオ情報の前記パラメータを信号伝達することを更に備える、[32]に記載の方法。
[38] 前記ビデオ情報の前記パラメータが、サイド情報、コード化単位サイズ、変換単位サイズ、フレームタイプ、フレームサイズ、量子化パラメータ(QP)、時間レイヤ情報、及び構文解析された残余係数情報のうちの少なくとも1つを備える、[32]に記載の方法。
[39] 前記パラメータがベースレイヤからの情報を備える、[32]に記載の方法。
[40] 前記ビデオブロック情報の前記パラメータが、前記ビデオブロック情報と隣接ビデオブロック情報との間の差分に関係する閾値を備える、[32]に記載の方法。
[41] 前記変換関数は、前記ビデオブロック情報と前記隣接ブロック情報との間の前記差分が前記閾値を下回るとき、非コサインベース変換を備える、[32]に記載の方法。
[42] 前記変換関数は、前記ビデオブロック情報と前記隣接ブロック情報との間の前記差分が前記閾値を上回るとき、コサイン変換を備える、[32]に記載の方法。
[43] 高レベルシンタックスを使用して、又は符号化されたフラグとして、前記閾値を通信することを更に備える、[42]に記載の方法。
[44] 決定された前記変換が、2値化を使用して信号伝達される、[32]に記載の方法。
[45] 前記2値化が、短縮単項コード及び固定長コードのうちの少なくとも1つを備える、[44]に記載の方法。
[46] ビデオデータをコード化するように構成されたビデオコード化機器であって、前記ビデオコード化機器が、参照レイヤに関連するビデオブロック情報のパラメータに基づいて変換関数を決定するための手段と、前記決定された変換関数を使用して前記ビデオブロック情報をコード化するための手段とを備える、ビデオコード化機器。
[47] 前記ビデオブロック情報の前記パラメータが、イントラBLモード又は一般化残差予測コード化モードを備える、[46]に記載のビデオコード化機器。
[48] 前記変換関数は、前記パラメータが所定の値であるときは代替変換であると決定され、前記変換関数は、前記パラメータが前記所定の値でないときは1次変換であると決定される、[46]に記載のビデオコード化機器。
[49] 前記代替変換が、離散サイン変換(DST)、タイプ−I DST、タイプ−III DST、タイプ−IV DST、タイプ−VII DST、離散コサイン変換DCT、異なるタイプのDCT、及びカルーネンレーベ変換(KLT)のうちの1つを備える、[48]に記載のビデオコード化機器。
[50] 実行されたとき、参照レイヤに関連するビデオブロック情報のパラメータに基づいて変換関数を決定することと、前記変換を使用して前記ビデオブロック情報をコード化することとを装置に行わせるコードを備える非一時的コンピュータ可読媒体。
[51] 前記変換関数は、前記パラメータが所定の値であるときは代替変換であると決定され、前記パラメータが前記所定の値でないときは1次変換であると決定される、[50]に記載の非一時的コンピュータ可読媒体。
[52] 前記代替変換が、離散サイン変換(DST)、タイプ−I DST、タイプ−III DST、タイプ−IV DST、タイプ−VII DST、離散コサイン変換(DCT)、異なるタイプのDCT、及びカルーネンレーベ変換(KLT)のうちの1つを備える、[51]に記載の非一時的コンピュータ可読媒体。
[53] 決定された前記変換が、2値化を使用して信号伝達される、[50]に記載の非一時的コンピュータ可読媒体。

Claims (24)

  1. ビデオ情報をコード化するように構成された装置であって、前記装置は、
    参照レイヤ及び拡張レイヤに関連するビデオ情報を記憶するように構成されたメモリと、前記拡張レイヤは拡張レイヤブロックを備え、前記参照レイヤは前記拡張レイヤブロックに対応する参照レイヤブロックを備え、
    前記メモリに動作可能に結合され、
    前記メモリから前記ビデオ情報を検索し、
    前記拡張レイヤブロックに隣接する領域と、前記参照レイヤブロックに隣接する領域との間の差分が、閾値レベルよりも大きいかどうかを決定し、
    前記差分が前記閾値レベルよりも大きくはないとの決定に基づいて、離散サイン変換を使用して前記拡張レイヤブロックをコード化する
    ように構成されるプロセッサと、
    を備える装置。
  2. 前記離散サイン変換は、タイプ−I DST、タイプ−III DST、タイプ−IV DST、又はタイプ−VII DSTのうちの1つを備える、請求項1に記載の装置。
  3. 前記プロセッサは、前記差分が前記閾値レベルよりも大きいとの決定に基づいて、離散コサイン変換を使用して前記拡張レイヤブロックをコード化するように更に構成される、請求項1に記載の装置。
  4. 前記プロセッサは、高レベルシンタックスを使用して前記閾値レベルを受信するように構成される、請求項1に記載の装置。
  5. 前記離散サイン変換の前記使用は、2値化を使用して信号伝達される、請求項1に記載の装置。
  6. 前記2値化は、固定長コードを備える、請求項5に記載の装置。
  7. 前記装置は、エンコーダを備える、請求項1に記載の装置。
  8. 前記装置は、デコーダを備える、請求項1に記載の装置。
  9. 前記装置は、デスクトップコンピュータ、ノートブックコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、セットトップボックス、電話ハンドセット、スマートフォン、スマートパッド、テレビジョン、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソール、及びビデオストリーミング機器からなるグループから選択される、請求項1に記載の装置。
  10. ビデオ情報を符号化する方法であって、前記方法は、
    参照レイヤ及び拡張レイヤに関連するビデオ情報を受信することと、前記拡張レイヤは拡張レイヤブロックを備え、前記参照レイヤは前記拡張レイヤブロックに対応する参照レイヤブロックを備え、
    前記拡張レイヤブロックに隣接する領域と、前記参照レイヤブロックに隣接する領域との間の差分が、閾値レベルよりも大きいかどうかを決定することと、
    (i)前記差分が前記閾値レベルよりも大きくはないとの決定に基づいて、離散サイン変換を使用して前記拡張レイヤブロックを符号化すること、又は(ii)前記差分が前記閾値レベルよりも大きいとの決定に基づいて、離散コサイン変換を使用して前記拡張レイヤブロックを符号化すること、のうちの1つを実行することと
    を備える、方法。
  11. 前記離散サイン変換は、タイプ−I DST、タイプ−III DST、タイプ−IV DST、又はタイプ−VII DSTのうちの1つを備える、請求項10に記載の方法。
  12. 高レベルシンタックスを使用して前記閾値レベルを送信することを更に備える、請求項10に記載の方法。
  13. 前記離散サイン変換の前記使用は、2値化を使用して信号伝達される、請求項10に記載の方法。
  14. 前記2値化は、固定長コードを備える、請求項13に記載の方法。
  15. ビデオ情報を復号する方法であって、前記方法は、
    参照レイヤ及び拡張レイヤに関連するビデオ情報を受信することと、前記拡張レイヤは拡張レイヤブロックを備え、前記参照レイヤは前記拡張レイヤブロックに対応する参照レイヤブロックを備え、
    前記拡張レイヤブロックに隣接する領域と、前記参照レイヤブロックに隣接する領域との間の差分が、閾値レベルよりも大きいかどうかを決定することと、
    (i)前記差分が前記閾値レベルよりも大きくはないとの決定に基づいて、離散サイン変換を使用して前記拡張レイヤブロックを復号すること、又は(ii)前記差分が前記閾値レベルよりも大きいとの決定に基づいて、離散コサイン変換を使用して前記拡張レイヤブロックを復号すること、のうちの1つを実行することと
    を備える、方法。
  16. 前記離散サイン変換は、タイプ−I DST、タイプ−III DST、タイプ−IV DST、又はタイプ−VII DSTのうちの1つを備える、請求項15に記載の方法。
  17. 前記閾値レベルは、高レベルシンタックスを使用して送信される、請求項15に記載の方法。
  18. 前記離散サイン変換の前記使用は、2値化を使用して信号伝達される、請求項15に記載の方法。
  19. 前記2値化は、固定長コードを備える、請求項18に記載の方法。
  20. ビデオデータをコード化するように構成されたビデオコード化機器であって、前記ビデオコード化機器は、
    参照レイヤ及び拡張レイヤに関連するビデオ情報を受信するための手段と、前記拡張レイヤは拡張レイヤブロックを備え、前記参照レイヤは前記拡張レイヤブロックに対応する参照レイヤブロックを備え、
    前記拡張レイヤブロックに隣接する領域と、前記参照レイヤブロックに隣接する領域との間の差分が、閾値レベルよりも大きいかどうかを決定するための手段と、
    前記差分が前記閾値レベルよりも大きくはないとの決定に基づいて、離散サイン変換を使用して前記拡張レイヤブロックをコード化するための手段と
    を備える、ビデオコード化機器。
  21. 前記離散サイン変換は、タイプ−I DST、タイプ−III DST、タイプ−IV DST、又はタイプ−VII DSTのうちの1つを備える、請求項20に記載のビデオコード化機器。
  22. 実行されたとき、
    参照レイヤ及び拡張レイヤに関連するビデオ情報を受信することと、前記拡張レイヤは拡張レイヤブロックを備え、前記参照レイヤは前記拡張レイヤブロックに対応する参照レイヤブロックを備え、
    前記拡張レイヤブロックに隣接する領域と、前記参照レイヤブロックに隣接する領域との間の差分が、閾値レベルよりも大きいかどうかを決定することと、
    前記差分が前記閾値レベルよりも大きくはないとの決定に基づいて、離散サイン変換を使用して前記拡張レイヤブロックをコード化することと
    プロセッサに行わせるプログラムコードを記憶する、コンピュータ可読記憶媒体。
  23. 前記離散サイン変換は、タイプ−I DST、タイプ−III DST、タイプ−IV DST、又はタイプ−VII DSTのうちの1つを備える、請求項22に記載のコンピュータ可読記憶媒体。
  24. 前記離散サイン変換の前記使用は、2値化を使用して信号伝達される、請求項22に記載のコンピュータ可読記憶媒体。
JP2015528557A 2012-08-21 2013-08-19 スケーラブルビデオコード化における代替変換 Active JP6129969B2 (ja)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US201261691727P 2012-08-21 2012-08-21
US61/691,727 2012-08-21
US201261697198P 2012-09-05 2012-09-05
US61/697,198 2012-09-05
US201261699120P 2012-09-10 2012-09-10
US61/699,120 2012-09-10
US201261707833P 2012-09-28 2012-09-28
US61/707,833 2012-09-28
US13/969,406 2013-08-16
US13/969,406 US9319684B2 (en) 2012-08-21 2013-08-16 Alternative transform in scalable video coding
PCT/US2013/055603 WO2014031544A1 (en) 2012-08-21 2013-08-19 Alternative transform in scalable video coding

Publications (3)

Publication Number Publication Date
JP2015530040A JP2015530040A (ja) 2015-10-08
JP2015530040A5 JP2015530040A5 (ja) 2016-08-12
JP6129969B2 true JP6129969B2 (ja) 2017-05-17

Family

ID=50147978

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015528557A Active JP6129969B2 (ja) 2012-08-21 2013-08-19 スケーラブルビデオコード化における代替変換

Country Status (5)

Country Link
US (1) US9319684B2 (ja)
EP (1) EP2888878A1 (ja)
JP (1) JP6129969B2 (ja)
CN (1) CN104620576B (ja)
WO (1) WO2014031544A1 (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9380307B2 (en) 2012-11-19 2016-06-28 Qualcomm Incorporated Method and system for intra base layer (BL) transform in video coding
US9544597B1 (en) 2013-02-11 2017-01-10 Google Inc. Hybrid transform in video encoding and decoding
US9967559B1 (en) 2013-02-11 2018-05-08 Google Llc Motion vector dependent spatial transformation in video coding
US9674530B1 (en) 2013-04-30 2017-06-06 Google Inc. Hybrid transforms in video coding
WO2015172337A1 (en) 2014-05-14 2015-11-19 Mediatek Singapore Pte. Ltd. Alternative transforms for data compression
WO2016119104A1 (en) * 2015-01-26 2016-08-04 Mediatek Inc. Motion vector regularization
MY190919A (en) * 2014-11-28 2022-05-19 Mediatek Inc Method and apparatus of alternative transform for video coding
US9769499B2 (en) 2015-08-11 2017-09-19 Google Inc. Super-transform video coding
US10277905B2 (en) 2015-09-14 2019-04-30 Google Llc Transform selection for non-baseband signal coding
KR102139159B1 (ko) * 2015-11-06 2020-07-29 후아웨이 테크놀러지 컴퍼니 리미티드 변환 계수의 역양자화 방법 및 장치, 그리고 디코딩 기기
US9807423B1 (en) 2015-11-24 2017-10-31 Google Inc. Hybrid transform scheme for video coding
CN114401407A (zh) * 2016-06-24 2022-04-26 韩国电子通信研究院 用于基于变换的图像编码/解码的方法和设备
CN117412042A (zh) * 2016-07-13 2024-01-16 韩国电子通信研究院 图像编码/解码方法和装置
WO2018021374A1 (ja) * 2016-07-29 2018-02-01 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
WO2018101288A1 (ja) * 2016-12-01 2018-06-07 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、符号化方法、復号装置および復号方法
CN108206950B (zh) * 2016-12-19 2021-11-12 北京君正集成电路股份有限公司 一种码流长度计算方法及设备
MX2019012293A (es) * 2017-04-13 2020-01-20 Lg Electronics Inc Metodo y dispositivo para codificacion y decodificacion de entropia de señal de video.
KR102629234B1 (ko) 2017-08-04 2024-01-24 엘지전자 주식회사 비디오 압축을 위한 변환을 구성하는 방법 및 장치
US10462486B1 (en) * 2018-05-07 2019-10-29 Tencent America, Llc Fast method for implementing discrete sine transform type VII (DST 7)
US10986340B2 (en) 2018-06-01 2021-04-20 Qualcomm Incorporated Coding adaptive multiple transform information for video coding
CN116347099A (zh) 2018-06-19 2023-06-27 北京字节跳动网络技术有限公司 没有运动矢量预测截断的选择的运动矢量差精度
AU2018204786A1 (en) * 2018-06-29 2020-01-16 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a transformed block of video samples
KR102432406B1 (ko) 2018-09-05 2022-08-12 엘지전자 주식회사 비디오 신호의 부호화/복호화 방법 및 이를 위한 장치
KR20240005178A (ko) 2018-09-19 2024-01-11 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 적응적 움직임 벡터 해상도를 가지는 어파인 모드에 대한 구문 재사용
US11323748B2 (en) 2018-12-19 2022-05-03 Qualcomm Incorporated Tree-based transform unit (TU) partition for video coding
CN118118659A (zh) 2019-01-31 2024-05-31 北京字节跳动网络技术有限公司 记录仿射模式自适应运动矢量分辨率的上下文
CN113366851A (zh) 2019-01-31 2021-09-07 北京字节跳动网络技术有限公司 对称运动矢量差编解码模式的快速算法
WO2020156525A1 (en) * 2019-02-01 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Multiple syntax elements for adaptive motion vector resolution
US11122297B2 (en) 2019-05-03 2021-09-14 Google Llc Using border-aligned block functions for image compression
US11432014B2 (en) * 2019-10-25 2022-08-30 Qualcomm Incorporated Parametric graph-based separable transforms for video coding
US11503322B2 (en) 2020-08-07 2022-11-15 Samsung Display Co., Ltd. DPCM codec with higher reconstruction quality on important gray levels
US11509897B2 (en) 2020-08-07 2022-11-22 Samsung Display Co., Ltd. Compression with positive reconstruction error
US11924471B2 (en) * 2020-11-12 2024-03-05 Qualcomm Incorporated Context-based transform index signaling in video coding

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002067589A1 (en) * 2001-02-23 2002-08-29 Seiko Epson Corporation Image processing system, image processing method, and image processing program
US7830960B2 (en) * 2005-01-13 2010-11-09 Qualcomm Incorporated Mode selection techniques for intra-prediction video encoding
KR100704626B1 (ko) * 2005-02-07 2007-04-09 삼성전자주식회사 다 계층 기반의 모션 벡터를 압축하는 방법 및 장치
KR100703774B1 (ko) * 2005-04-13 2007-04-06 삼성전자주식회사 인트라 코딩을 선택적으로 적용하여 인트라 bl 예측모드의 비디오 신호를 인코딩 및 디코딩하는 방법 및 장치
WO2007008286A1 (en) * 2005-07-11 2007-01-18 Thomson Licensing Method and apparatus for macroblock adaptive inter-layer intra texture prediction
US8358704B2 (en) 2006-04-04 2013-01-22 Qualcomm Incorporated Frame level multimedia decoding with frame information table
EP1933563A1 (en) 2006-12-14 2008-06-18 Thomson Licensing Method and apparatus for encoding and/or decoding bit depth scalable video data using adaptive enhancement layer residual prediction
US8767834B2 (en) 2007-03-09 2014-07-01 Sharp Laboratories Of America, Inc. Methods and systems for scalable-to-non-scalable bit-stream rewriting
US8619853B2 (en) 2007-06-15 2013-12-31 Qualcomm Incorporated Separable directional transforms
US20100040136A1 (en) * 2008-08-13 2010-02-18 Horizon Semiconductors Ltd. Method for performing binarization using a lookup table
KR101040087B1 (ko) 2010-01-13 2011-06-09 전자부품연구원 H.264 svc를 위한 효율적인 부호화 방법
JP5377395B2 (ja) * 2010-04-02 2013-12-25 日本放送協会 符号化装置、復号装置及びプログラム
CN103597827B (zh) 2011-06-10 2018-08-07 寰发股份有限公司 可伸缩视频编码方法及其装置
US20130101014A1 (en) * 2011-10-25 2013-04-25 Microsoft Corporation Layered Screen Video Encoding

Also Published As

Publication number Publication date
CN104620576A (zh) 2015-05-13
CN104620576B (zh) 2018-12-04
US20140056361A1 (en) 2014-02-27
US9319684B2 (en) 2016-04-19
WO2014031544A1 (en) 2014-02-27
EP2888878A1 (en) 2015-07-01
JP2015530040A (ja) 2015-10-08

Similar Documents

Publication Publication Date Title
JP6129969B2 (ja) スケーラブルビデオコード化における代替変換
CN113612997B (zh) 针对视频译码使用与位置相关的预测组合的改进视频帧内预测
JP6285020B2 (ja) コンポーネント間フィルタ処理
JP6285024B2 (ja) マルチレイヤビデオコーディングのためのレイヤ間予測シグナリングに対する最適化
KR102182441B1 (ko) 비디오 코딩에서 hevc 확장들을 위한 다중 계층들의 저복잡도 지원
KR102301450B1 (ko) 비디오 정보의 스케일러블 코딩을 위한 디바이스 및 방법
JP6293756B2 (ja) スケーラブルビデオ符号化における変換基準の調整
US20140198846A1 (en) Device and method for scalable coding of video information
JP6239612B2 (ja) スケーラブル映像コーディング及び3d映像コーディングに関する一般化された残差予測
KR20180043830A (ko) 이미지 예측 방법 및 장치
US9392274B2 (en) Inter layer texture prediction for video coding
JP2015511472A (ja) ビデオコード化におけるコードブックを使用したループフィルタパラメータのコード化
JP6352391B2 (ja) Shvcのための複数のベースレイヤ参照ピクチャ
JP6526574B2 (ja) レイヤ間シンタックス予測制御
EP2870756A1 (en) Adaptive difference domain spatial and temporal reference reconstruction and smoothing
WO2013184810A1 (en) Bi-layer texture prediction for video coding
WO2014025698A1 (en) Weighted difference prediction under the framework of generalized residual prediction
US20140044168A1 (en) Device and method for scalable coding of video information
KR102293104B1 (ko) 리샘플링 프로세스에서 중간 데이터의 동적 범위 제어
US20140050261A1 (en) Enhancement layer scan order derivation for scalable video coding

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160624

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160624

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20160624

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160912

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20160912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160920

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20161220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161226

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170412

R150 Certificate of patent or registration of utility model

Ref document number: 6129969

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