(58)【調査した分野】(Int.Cl.,DB名)
前記チェックモジュールは、少なくとも1つのブロックについて、該ブロックについて得られた前記1又は複数の係数ベクトルの中から選択された少なくとも1つの隠蔽係数ベクトルから、前記隠蔽情報を再構成するよう構成される、請求項1に記載のデコーダ。
前記チェックモジュールは、少なくとも1つのブロックについて、隠蔽条件に依存して、前記隠蔽係数ベクトルから前記隠蔽情報を再構成するよう構成され、前記隠蔽条件は、前記隠蔽係数ベクトルに依存するパラメータの閾との比較を含む、請求項2に記載のデコーダ。
前記チェックモジュールは、前記隠蔽条件をチェックし、前記隠蔽条件が真である場合に前記隠蔽係数ベクトルから前記隠蔽情報を再構成するよう構成される、請求項3又は4に記載のデコーダ。
前記チェックモジュールは、第1ブロックについて、前記第1ブロックの1又は複数の係数から隠蔽情報を再構成するよう構成され、前記隠蔽情報は、前記第1ブロックに関連付けられた走査順序情報の部分を構成し又は形成し、
前記走査順序セレクタは、前記第1ブロック及び少なくとも第2ブロックについて、前記第1ブロックに関連付けられた前記走査順序情報に基づき走査順序を選択するよう構成される、
請求項1乃至8のいずれか一項に記載のデコーダ。
前記隠蔽モジュールは、少なくとも1つのブロックについて、該ブロックについて得られた前記1又は複数の係数ベクトルの中から選択された少なくとも1つの隠蔽係数ベクトルに、前記走査順序情報を隠すよう構成される、請求項12に記載のエンコーダ。
前記隠蔽モジュールは、前記隠蔽条件をチェックし、前記隠蔽条件が真である場合に前記隠蔽係数ベクトルに前記走査順序情報を隠すよう構成される、請求項14又は15に記載のエンコーダ。
前記隠蔽条件が偽である場合に、前記走査順序セレクタは、他の選択された走査順序について前記隠蔽条件が真になるまで、別の走査順序を再帰的に選択するよう構成される、請求項14乃至16のいずれか一項に記載のエンコーダ。
前記隠蔽条件が偽であり、且つ前記選択された走査順序が所定規定走査順序である場合、前記隠蔽モジュールは、前記走査順序情報を前記隠蔽係数ベクトルに隠さないよう構成される、請求項14乃至17のいずれか一項に記載のエンコーダ。
第1ブロック及び少なくとも第2ブロックについて、前記走査順序セレクタにより同じ走査順序が選択された場合、前記隠蔽モジュールは、前記第1ブロックのみの1又は複数の係数に、前記同じ走査順序を識別する走査順序情報を隠すよう構成される、請求項12乃至20のいずれか一項に記載のエンコーダ。
【背景技術】
【0002】
デジタルビデオ通信及び記憶アプリケーションは、デジタルカメラ、セルラ無線電話機、ラップトップ、ブロードキャストシステム、及びテレビ会議システムのような広範なデジタル装置により実装される。これらのアプリケーションの最も重要な且つ難しい作業のうちの1つは、映像圧縮である。映像圧縮の作業は、複雑であり、2つの矛盾したパラメータ:圧縮効率及び計算上の複雑性により制約される。ITU−T H.264/AVC又は高効率映像符号化(High−Efficiency Video Coding、HEVC)標準のITU−T H.265/HEVCのような映像符号化標準は、これらのパラメータの間の良好なトレードオフを提供する。この理由から、映像符号化標準のサポートは、殆どの映像圧縮アプリケーションで必須要件である。
【0003】
従来の映像符号化標準は、ソースピクチャをブロックに区分化することに基づく。これらのブロックの処理は、それらのサイズ、空間位置、及びエンコーダにより指定される符号化モードに依存する。符号化モードは、予測の種類に従い2つのグループに分類できる。イントラ予測モードとインター予測モードである。イントラ予測モードは、同じピクチャのピクセルを使用して、参照サンプルを生成し、再構成されるブロックのピクセルの予測値を計算する。イントラ予測は、空間予測としても参照され得る。インター予測モードは、時間的予測のために設計され、前の又は次のピクチャの参照サンプルを用いて、現在ピクチャのブロックのピクセルを予測する。予測段階の後に、元の信号とその予測との間の差である予測誤差に対して、変換符号化が実行される。次に、変換係数及びサイド情報は、例えばAVC/H.264及びHEVC/H.265のコンテキスト適応型二値算術符号化(Context−Adaptive Binary Arithmetic Coding、CABAC)のようなエントロピ符号器を用いてエンコードされる。
【0004】
明らかに、予測誤差は、異なる予測モードで異なる統計を有し、予測されるべきコンテンツに強く依存する。したがって、異なる場合に圧縮性能の観点から、異なる変換は有益である。変換符号化段階の符号化効率を向上するために、異なる特定の場合に異なるエネルギ圧縮を持つ複数の変換が使用され得る。
【0005】
例えばISO/IEC23008−2:2013、「情報技術−異種環境における高効率符号化及びメディア配信−第2部:高効率映像符号化」、2013年11月、で知られるITU−T H.265/HEVC標準は、符号化効率と計算上の複雑性との間の妥当なトレードオフを提供する従来の映像符号化ツールのセットを言明している。ITU−T H.265/HEVC標準における概要は、Gary J. Sullivanによる論文、「高効率映像符号化(High Efficiency Video Coding、HEVC)標準」、IEEEの映像技術のための回路及びシステムに関するトランザクション、第22巻、2012年12月、により与えられ、その全内容は参照によりここに組み込まれる。
【0006】
ITU−T H.264/AVC映像符号化標準と同様に、HEVC/H.265映像符号化標準は、ソースピクチャのブロック、例えば符号化単位(coding unit、CU)への分割を提供する。CUの各々は、より小さなCU又は予測単位(prediction unit、PU)に更に分割され得る。PUは、PUのピクセルに適用される処理の種類に従い、イントラ又はインター予測できる。インター予測の場合、PUは、PUについて指定された動きベクトルを用いて動き補償により処理されるピクセル領域を表す。イントラ予測では、PUは、変換単位(transform unit、TU)のセットについて予測モードを指定する。TUは、異なる大きさ(例えば、4×4、8×8、16×16、及び32×32ピクセル)を有し、異なる方法で処理され得る。TU変換では、符号化が実行される。つまり、予測誤差は、離散コサイン変換又は離散サイン変換により変換される。HEVC/H.265標準では、これはイントラ符号化ブロックに適用され、量子化される。したがって、再構成されたピクセルは、予測精度に影響し得る量子化ノイズ及びブロッキングアーチファクトを含む。
【0007】
HEVC/H.265を除く全ての従来の映像符号化標準では、設計の簡易性を保つために、1つの変換のみが使用された。HEVC/H.265標準は、2つのイントラ符号化を指定する。4×4ブロックにはDST、この変換は小さなイントラ予測ブロックで良好なエネルギ圧縮を提供するからである。及び他のブロックにはDCTである。
【0008】
さらに、モード依存型係数走査(mode−dependent coefficient scan、MDCS)技術がHEVC/H.265標準のために採用されている。その背後にある基本的思想は、選択されるイントラ予測モードに従い走査順序を選択することである。イントラ符号化ブロックについて、4×4変換ブロック(transform block、TB)及び8×8ルマTBの走査順序は、イントラ予測ブロックモードにより決定される。Joel Sole、Rajan Joshi、Nguyen Nguyen、Tianying Ji、Marta Karczewicz、Gordon Clare、Felix Henry、Alberto Duenasによる「HEVCにおける変換係数符号化」、IEEEの映像技術のための回路及びシステムに関するトランザクション、第22巻、第12号、2012年12月、第1765−1777頁を参照のこと。35個のイントラ予測モードの各々は、3個の可能な走査順序:対角、水平、又は垂直、のうちの1つを使用する。ルックアップテーブルは、イントラ予測モードを走査のうちの1つにマッピングする。
【0009】
このツールは、イントラ予測モードに依存する残差の水平又は垂直相関を利用する。例えば、水平予測モードでは、変換係数エネルギは最初の幾つかの列に集められる。したがって、垂直走査は、エントロピ符号化される、より少ないビンを生じる。同様に垂直予測では、水平走査が有利である。実験は、大きなTBについて水平及び垂直走査を含むことが、僅かな圧縮効率しか提供せず、したがって、これらの走査の適用が2個のより小さなTBに限定されることを示した。
【0010】
MDCSに類似する技術は、Yung−Lyul Lee、Ki−Hun Han、Dong−Gyu Sim、Jeongil Seoによる文献「H.264/AVCイントラ符号化のための適応型走査」、ETRIジャーナル、第28巻、第5号、2006年10月、第668−671頁において、Byeong−Doo Choi、Jin−Hyung Kim、Sung−JeaKoによる文献「イントラ予測モードに基づく適応型係数走査」、ETRIジャーナル、第29巻、第5号、2007年10月、第694−696頁において、及びMd. Salah Uddin Yusuf、Mohiuddin Ahmadによる文献「AVSイントラ符号化の方向空間予測のための新規な走査方式」、電気、電子及び計装工学先端研究国際ジャーナル、第2巻、第8期、2013年8月、第4120−4126頁において、検討された。走査順序は、HEVC/H.265標準で使用されるものと異なる。また、イントラ予測モードを走査順序にマッピングすることが提案される。
【0011】
さらに、BaeKeun Lee、Jae Cheol Kwon、Joo Young Kimによる「予測単位のパーティショニングモードに基づく係数走査のための方法及び機器」、米国特許出願公開第US2014/0314143A1号、PCT/KR2012/009373号、2012年11月8日により知られるパーティショニングモード、並びに、Thai−Ha Nguyen、Yoichi Yagasaki、Ali Tabatabaiによる「QP適応型係数走査及びアプリケーション」、米国特許出願公開第US2011/0249726A1号、2011年4月1日により知られる量子化パラメータ(quantization parameter、QP)が、イントラだけでなくインター符号化でも走査順序を選択する機能として使用できる。
【0012】
したがって、膨大な数の走査順序が存在し、これらは同じモード及びTUサイズについて効率的であり得る。これは、なぜレート歪み最適化(Rate−Distortion Optimization、RDO)に基づく又は同様の、例えば歪み又は活動分析に基づく手順が、可能性のある走査順序のうちのどれが選択されるべきかの最終決定を行うために使用できるかの、主な理由である。
【0013】
RDOに基づく手順で走査順序を選択することがどのように可能であるかの一例は、例えばMuhammed Zeyd Coban、Marta Karczewiczによる「映像符号化のための変換係数の適応型走査」、米国特許出願公開第US2012/0099646A1号、2011年10月17日で知られている。この場合、最低RDコストを提供する走査順序が選択される。したがって、このアプローチの主な利点は、選択された走査順序が最高符号化利得を提供することである。したがって、このアプローチの符号化効率は、シグナリングオーバヘッドが考慮されなければ、他の方法より高い。
【0014】
この従来技術は、最高符号化利得を提供する走査順序を選択するための2つのアルゴリズムを提案する。これら2つのアルゴリズムの間の主な顕著な特徴は、適応型走査順序選択のこの方法が適用できないようなTBを検出するために異なるメカニズムが使用される、つまり規定走査順序が使用されることである。第1アルゴリズムでは、有意変換係数の数が、閾数と比べられる。第2アルゴリズムでは、最後の有意変換係数の位置が、閾位置と比べられる。前述の技術と対照的に、デコーダが受信した変換係数に正しい走査順序を適用できるように、選択された走査順序は、これら両方の場合にシグナリングされなければならない。したがって、RDOに基づく決定手順を用いるアプローチの主な欠点は、シグナリングオーバヘッドである。
【0015】
MDCSと比べて圧縮効率を向上する別の方法は、先験的に定められた走査順序を用いる代わりに、イントラ予測モード、パーティショニングモード、ブロックサイズ、等のようなパラメータの類似する値を有するブロックについて収集された統計に従い、走査順序を適応することである。したがって、初期走査順序が、統計が十分でない場合に使用するために定められる。統計を収集するために使用されるブロックの数が閾を超えるとき、走査順序は、収集した統計に基づき適用され得る。Yan Ye、Marta Karczewiczによる「映像符号化のための適応型係数走査」、米国特許US8,488,668B2、2008年6月4日を参照のこと。同様の手法は、Sridhar Srinivasanによる「適応型係数走査順序」、欧州特許明細書EP1679903B1、2005年11月30日からも分かる。
【0016】
しかしながら、このような前に符号化又は復号化したブロックの収集した統計に基づく適応型走査順序は、ジグザグ、対角、垂直、水平、時計回り、及び反時計回りらせん状走査等のような所定走査順序より高い符号化効率を常に提供するものではない。
【発明の概要】
【0017】
上述の欠点及び問題に鑑み、本発明は、従来技術を改良することを目的とする。特に、本発明の目的は、符号化効率の向上したビデオデコーダ、復号化方法、ビデオエンコーダ、及び符号化方法を提供することである。
【0018】
本発明は、特に、係数行列を1又は複数の係数ベクトルに走査する、又は1又は複数の係数ベクトルを係数行列に逆走査する、改良した走査順序により、符号化効率を向上することを意図する。
【0019】
さらに、本発明は、シグナリングオーバヘッドを削減することにより、符号化効率を向上することを意図する。
【0020】
本発明の上述の目的は、添付の独立請求項において提供されるソリューションにより達成される。本発明の有利な実装は、それぞれの従属請求項に更に定められる。
【0021】
本発明の第1の態様は、ビットストリームからビデオシーケンス・ブロックの係数を復号化するデコーダを提供する。デコーダは、1又は複数の所定走査順序を提供するよう構成される走査パターンリストモジュールを含む。走査順序は、走査パターンとして従来も知られている。デコーダは、1又は複数の走査順序を生成するよう構成される走査順序生成器を含む。デコーダは、各ブロックについて、ビットストリームに含まれる走査順序情報に基づき、所定走査順序及び生成された走査順序から走査順序を選択するよう構成される走査順序セレクタを含む。デコーダは、ビットストリームから各ブロックの1又は複数の係数ベクトルを復号化するよう構成される復号化モジュールを含む。デコーダは、各ブロックについて、係数行列を得るために、該ブロックについて選択された走査順序に従い、該ブロックの1又は複数の係数ベクトルを逆走査するよう構成されるデシリアライザを含む。走査順序生成器は、ビデオシーケンス・ブロックの1又は複数の前に得られた係数行列に依存して、1又は複数の走査順序を生成するよう構成される。
【0022】
それにより、本発明は、所定走査順序及びコンテンツ適応型で生成された走査順序の両方を提供する点で有利である。利用可能な走査順序のセットを拡張することにより、量子化のレート歪み効率が相応して向上され得る。
【0023】
本発明の第1の態様によるデコーダの実装形式では、走査パターンリストモジュールは、複数の符号化パラメータセットの各々について、1又は複数の所定走査順序を提供するよう構成される。走査順序生成器は、符号化パラメータセットの各々について、該符号化パラメータセットに関連付けられた1又は複数の前に得られた係数行列に依存して、走査順序を生成するよう構成される。走査順序セレクタは、各ブロックについて、該ブロックの符号化パラメータセットを決定し、所定走査順序及び決定した符号化パラメータセットについて生成された走査順序から、該ブロックについて得られた係数行列の走査順序を選択することにより、走査順序を選択するよう構成される。
【0024】
それにより、所定走査順序及びコンテンツ適応型で生成された走査順序の両方が、各符号化パラメータセットのために提供され得る。このように、異なる走査順序が異なる符号化パラメータセットについて生成でき、利用可能な操作順序のセットが、増大され、各符号化パラメータセットに適応され得る。したがって、選択された走査順序は、レート歪み効率を更に向上し得る。
【0025】
特に、各符号化パラメータセットは、例えば、予測モード、パーティションモード、1又は複数の変換パラメータ、及び1又は複数の量子化パラメータ、のうちの1又は複数の組み合わせに対応して良い。
【0026】
本発明の第1の態様によるデコーダの実装形式では、デコーダは、符号化パラメータセットの各々について、該符号化パラメータセットに関連付けられた1又は複数の前に得られた係数行列の分布統計を提供するよう構成される係数分布推定器を含む。走査順序生成器は、符号化パラメータセットの各々について、該符号化パラメータセットの分布統計に依存して、走査順序を生成するよう構成される。
【0027】
それにより、生成された走査順序は、前の係数行列の分布統計を反映して良い。生成された走査順序は、したがって、後の行列の分布統計が前の係数行列のものと類似する場合に、後の係数行列に良好な符号化効率を提供し得る。
【0028】
本発明の第1の態様によるデコーダの実装形式では、所与のブロックについて選択された走査順序が所定のものである場合、係数分布推定器は、所与のブロックの符号化パラメータセットの分布統計を更新しないよう構成される又はリセットするよう構成される。
【0029】
それにより、所与のブロックについて選択された走査順序が所定走査順序である場合、これは、所与のブロックの符号化パラメータセットについて、生成された走査順序が所定走査順序のものより悪い符号化効率を提供し得ることを意味する。したがって、所与のブロックは、前の係数行列の分布統計に対応しない分布統計を提示し、所与のブロックの分布統計は、係数分布推定器により提供された分布統計を更新するために使用されないことが望ましい。或いは、前の係数行列の統計が現在の係数行列の統計にもはや対応しないので、係数分布推定器により提供された分布統計をリセットすることが望ましい場合がある。
【0030】
本発明の第1の態様によるデコーダの実装形式では、復号化モジュールは、各ブロックについて、ビットストリームから符号化パラメータ情報をパースするよう構成される。走査順序セレクタは、所与のブロックの符号化パラメータセットを、該所与のブロックについてパースされた符号化パラメータ情報に従い決定するよう構成される。
【0031】
それにより、デコーダは、符号化パラメータセットに関する情報を取得し、符号化効率を向上するために、所定走査順序及び該符号化パラメータセットに対応する生成された走査順序を使用できる。
【0032】
本発明の第1の態様によるデコーダの実装形式では、復号化モジュールは、ビットストリームから選択された走査順序を識別する走査順序情報をパースするよう構成される。
【0033】
これにより、デコーダは、ビットストリームから選択された走査順序を識別でき、この選択された走査順序が所定のものか生成されたものかに依存して、デコーダは、係数ベクトルを正しく逆走査でき、例えば係数分布推定器により提供された分布統計を正しく更新し又は更新しないことができる。
【0034】
本発明の第1の態様によるデコーダの機能、及びその実装形式のいずれかの機能は、プロセッサ又はコンピュータにより実行されて良く、それらの手段のいずれかは、プロセッサ又はコンピュータ等の中にソフトウェア及び/又はハードウェアとして実装されて良い。
【0035】
本発明の第2の態様は、ビットストリームからビデオシーケンス・ブロックの係数を復号化する方法を提供する。方法は、1又は複数の所定走査順序を提供するステップを含む。方法は、1又は複数の走査順序を生成するステップを含む。方法は、各ブロックについて、ビットストリームに含まれる走査順序情報に基づき、所定走査順序及び生成された走査順序から走査順序を選択するステップを含む。方法は、ビットストリームから各ブロックの1又は複数の係数ベクトルを復号化するステップを含む。方法は、各ブロックについて、係数行列を得るために、該ブロックについて選択された走査順序に従い、該ブロックの1又は複数の係数ベクトルを逆走査するステップを含む。1又は複数の走査順序を生成するステップは、ビデオシーケンス・ブロックの1又は複数の前に得られた係数行列に依存して、1又は複数の走査順序を生成するステップを含む。
【0036】
本発明の第2の態様による方法の更なる特徴又は実装は、本発明の第1の態様及びその異なる実装形式によるデコーダの機能を実行して良い。
【0037】
本発明の第2の態様又はその実装形式のうちのいずれかによる方法は、プロセッサ又はコンピュータにより実行されて良い。
【0038】
本発明の第3の態様は、ビデオシーケンス・ブロックの係数をビットストリームに符号化するエンコーダを提供する。各ブロックの係数はそれぞれの係数行列に含まれる。エンコーダは、1又は複数の所定走査順序を提供するよう構成される走査パターンリストモジュールを含む。エンコーダは、1又は複数の走査順序を生成するよう構成される走査順序生成器を含む。エンコーダは、各ブロックについて、所定走査順序及び生成された走査順序から走査順序を選択するよう構成される走査順序セレクタを含む。エンコーダは、各ブロックについて、1又は複数の係数ベクトルを得るために、該ブロックについて選択された走査順序に従い、該ブロックの係数行列を走査するよう構成されるシリアライザを含む。エンコーダは、係数ベクトルをビットストリームに符号化するよう構成される符号化モジュールを含む。走査順序生成器は、ビデオシーケンス・ブロックの1又は複数の前に走査された係数行列に依存して、1又は複数の走査順序を生成するよう構成される。
【0039】
それにより、本発明は、所定走査順序及びコンテンツ適応型で生成された走査順序の両方を提供する点で有利である。利用可能な走査順序のセットを拡張することにより、量子化のレート歪み効率が相応して向上され得る。
【0040】
本発明の第3の態様によるエンコーダの実装形式では、走査パターンリストモジュールは、複数の符号化パラメータセットの各々について、1又は複数の所定走査順序を提供するよう構成される。走査順序生成器は、符号化パラメータセットの各々について、該符号化パラメータセットに関連付けられた1又は複数の前に走査された係数行列に依存して、走査順序を生成するよう構成される。走査順序セレクタは、各ブロックについて、該ブロックの符号化パラメータセットを決定し、所定走査順序及び決定した符号化パラメータセットについて生成された走査順序から、該ブロックの係数行列の走査順序を選択することにより、走査順序を選択するよう構成される。
【0041】
それにより、所定走査順序及びコンテンツ適応型で生成された走査順序の両方が、各符号化パラメータセットのために提供され得る。このように、異なる走査順序が異なる符号化パラメータセットについて生成でき、利用可能な操作順序のセットが、増大され、各符号化パラメータセットに適応され得る。したがって、選択された走査順序は、レート歪み効率を更に向上し得る。
【0042】
特に、各符号化パラメータセットは、予測モード、パーティションモード、1又は複数の変換パラメータ、及び1又は複数の量子化パラメータ、のうちの1又は複数の組み合わせに対応して良い。
【0043】
本発明の第3の態様によるエンコーダの実装形式では、エンコーダは、符号化パラメータセットの各々について、該符号化パラメータセットに関連付けられた1又は複数の前に走査された係数行列の分布統計を提供するよう構成される係数分布推定器を含む。走査順序生成器は、符号化パラメータセットの各々について、該符号化パラメータセットの分布統計に依存して、走査順序を生成するよう構成される。
【0044】
それにより、生成された走査順序は、前の係数行列の分布統計を反映でき、これらの生成された走査順序は、後の行列の分布統計が前の係数行列の分布統計と類似する場合に、後の係数行列について良好な符号化効率を提供できる。
【0045】
本発明の第3の態様によるエンコーダの実装形式では、所与の係数行列について選択された走査順序が所定のものである場合、係数分布推定器は、所与のブロックの符号化パラメータセットの分布統計を更新しないよう構成される又はリセットするよう構成される。
【0046】
それにより、所与のブロックについて選択された走査順序が所定走査順序である場合、これは、所与のブロックの符号化パラメータセットについて、生成された走査順序が所定走査順序のものより悪い符号化効率を提供し得ることを意味する。したがって、所与のブロックは、前の係数行列の分布統計に対応しない分布統計を提示し、所与のブロックの分布統計は、係数分布推定器により提供された分布統計を更新するために使用されないことが望ましい。或いは、前の係数行列の統計が現在の係数行列の統計にもはや対応しないので、係数分布推定器により提供された分布統計をリセットすることが望ましい場合がある。
【0047】
本発明の第3の態様によるエンコーダの実装形式では、エンコーダは、ビットストリームに選択された走査順序を識別する走査順序情報を追加するよう構成されるシグナリングモジュールを含む。
【0048】
これにより、有利なことに、デコーダは、ビットストリームから選択された走査順序を識別でき、この選択された走査順序が所定のものか生成されたものかに依存して、デコーダは、係数ベクトルを正しく逆走査でき、例えば係数分布推定器により提供された分布統計を正しく更新し又は更新しないことができる。
【0049】
本発明の第3の態様によるエンコーダの実装形式では、走査順序セレクタは、コスト関数に基づき、所定走査順序及び生成された走査順序から、走査順序を選択するよう構成される。
【0050】
それにより、コスト関数に基づく手順は、生成された走査順序及び所定走査順序の中から1つの走査順序を正確に選択するために使用され得る。したがって、前に符号化された又は復号化されたブロックの収集された統計に基づく生成された走査順序が所定走査順序より良好な符号化効率を提供しない場合でも、走査順序選択は、符号化効率を向上できる。特に、コスト関数は、例えばレート歪み最適化(Rate−Distortion Optimization、RDO)関数であって良い。
【0051】
本発明の第3の態様によるエンコーダの機能、及びその実装形式のいずれかの機能は、プロセッサ又はコンピュータにより実行されて良く、それらの手段のいずれかは、プロセッサ又はコンピュータ等の中にソフトウェア及び/又はハードウェアとして実装されて良い。
【0052】
本発明の第4の態様は、ビデオシーケンス・ブロックの係数をビットストリームに符号化する方法を提供する。各ブロックの係数はそれぞれの係数行列に含まれる。方法は、1又は複数の所定走査順序を提供するステップを含む。方法は、1又は複数の走査順序を生成するステップを含む。方法は、所定走査順序及び生成された走査順序から、各ブロックの走査順序を選択するステップを含む。方法は、各ブロックについて、1又は複数の係数ベクトルを得るために、該ブロックについて選択された走査順序に従い、該ブロックの係数を走査するステップを含む。方法は、係数ベクトルをビットストリームに符号化するステップを含む。1又は複数の走査順序を生成するステップは、ビデオシーケンス・ブロックの1又は複数の前に走査された係数行列に依存して、1又は複数の走査順序を生成するステップを含む。
【0053】
本発明の第4の態様による方法の更なる特徴又は実装は、本発明の第3の態様及びその異なる実装形式によるエンコーダの機能を実行して良い。
【0054】
本発明の第4の態様又はその実装形式のうちのいずれかによる方法は、プロセッサ又はコンピュータにより実行されて良い。
【0055】
本発明の第5の態様は、望ましくは第1の態様による、ビットストリームからビデオシーケンス・ブロックの係数を復号化するデコーダを提供する。デコーダは、ビットストリームから各ブロックの1又は複数の係数ベクトルを復号化するよう構成される復号化モジュールを含む。デコーダは、少なくとも1つのブロックについて、該ブロックの1又は複数の係数から隠蔽情報を再構成するよう構成されるチェックモジュールを含み、該隠蔽情報は、該ブロックに関連付けられた走査順序情報の部分を構成する又は形成する。デコーダは、各ブロックについて、該ブロックに関連付けられた走査順序情報に基づき、走査順序セットから、望ましくは所定走査順序及び生成された走査順序のセットから、走査順序を選択するよう構成される走査順序セレクタを含む。デコーダは、各ブロックについて、係数行列を得るために、該ブロックについて選択された走査順序に従い、該ブロックの1又は複数の係数ベクトルを逆走査するよう構成されるデシリアライザを含む。
【0056】
それにより、符号化効率は、シグナリングオーバヘッドが削減される点において、有利に向上される。
【0057】
本発明の第5の態様によるデコーダの実装形式では、チェックモジュールは、少なくとも1つのブロックについて、該ブロックについて得られた1又は複数の係数ベクトルの中から選択された少なくとも1つの隠蔽係数ベクトルから、隠蔽情報を再構成するよう構成される。特に、1又は複数の係数ベクトルは、それぞれの係数グループ(coefficient group、CG)に対応して良い。したがって、隠蔽係数ベクトルは、データ隠蔽が実行される係数グループに対応する。それにより、幾つかの隠蔽係数ベクトルから、望ましくは幾つかの係数グループから、隠蔽情報を再構成することは、より多くのビットが隠蔽でき、走査順序情報のより大きなインデックスが再構成できる。
【0058】
本発明の第5の態様によるデコーダの実装形式では、チェックモジュールは、少なくとも1つのブロックについて、隠蔽条件に依存して、隠蔽係数ベクトルから隠蔽情報を再構成するよう構成され、隠蔽条件は、隠蔽係数ベクトルに依存するパラメータの閾との比較を含む。これにより隠蔽が実現される。
【0059】
本発明の第5の態様によるデコーダの実装形式では、パラメータは、
隠蔽係数ベクトルの中の有意係数の数、又は、
隠蔽係数ベクトルの中の最初の有意係数と最後の有意係数との間の距離、又は、
隠蔽係数ベクトルの中の係数の最大絶対値の最小絶対非ゼロ値との比、
である。隠蔽条件は、パラメータが閾より高い場合に真であり、パラメータが閾より低い場合に偽である。これにより、隠蔽条件が有利に提供される。
【0060】
本発明の第5の態様によるデコーダの実装形式では、チェックモジュールは、隠蔽条件をチェックし、隠蔽条件が真である場合に隠蔽係数ベクトルから隠蔽情報を再構成するよう構成される。それにより、走査順序は、ビットストリームからの追加サイド情報無しに選択できる。
【0061】
本発明の第5の態様によるデコーダの実装形式では、隠蔽条件が偽である場合に、走査順序セレクタは、所定規定走査順序を選択するよう構成される。それにより、走査順序は、隠蔽がエンコーダ側で可能でない場合でも、選択できる。
【0062】
本発明の第5の態様によるデコーダの実装形式では、チェックモジュールは、チェック関数を隠蔽係数ベクトルに適用することにより、隠蔽係数ベクトルから隠蔽情報を再構成するよう構成され、チェック関数の結果は隠蔽情報である。それにより、走査順序は、係数から有利に得られる。
【0063】
本発明の第5の態様によるデコーダの実装形式では、チェック関数の結果は、隠蔽係数ベクトルの最後の有意係数の、係数行列内の座標(x,y)に依存する。チェック関数は、例えば、以下の関数であって良い:
mod(x+y+R,2)
x及びyは座標であり、Rは整数値である。それにより、チェック関数の結果は、係数座標から直接得られる。
【0064】
本発明の第5の態様によるデコーダの実装形式では、チェックモジュールは、第1ブロックについて、第1ブロックの1又は複数の係数から隠蔽情報を再構成するよう構成され、隠蔽情報は、第1ブロックに関連付けられた走査順序情報の部分を構成し又は形成し、走査順序セレクタは、第1ブロック及び少なくとも第2ブロックについて、第1ブロックに関連付けられた走査順序情報に基づき走査順序を選択するよう構成される。それにより、本実装形式は、第2ブロックの係数のうちのいずれも隠蔽することなく、第2ブロックについて選択された走査順序の値が、第1ブロックの係数値を用いて再構成される/予測される「マージモード」復号化を提供する。例えば、第1及び第2ブロックは空間的に近隣にある。
【0065】
特に、走査順序セレクタは、ブロックグループについて、第1ブロックに関連付けられた走査順序情報に基づき走査順序を選択するよう構成されて良い。ここで、ブロックグループは、第1ブロック及び複数の第2ブロックを含んで良い。ブロックグループは、ブロックの係数の中に隠された少なくとも1つの非規定走査インデックスを有するブロックグループの中の幾つかのブロックを含んで良い。或いは、ブロックグループは、符号化ブロックが同じ走査インデックスを有するように、幾つかの連続符号化ブロックを含んで良い。或いは、ブロックグループは、隠蔽条件が偽である係数を有する幾つかのブロック及び/又は幾つかの連続符号化ブロックを含んで良い。
【0066】
特に、マージモードでは、走査順序情報が少なくとも1つの第2ブロックの係数の中に隠されていないことを知るために、幾つかの選択肢がデコーダに利用可能である。第1に、サイド情報は、ビットストリーム内に符号化されて良い。例えば、それらに対してマージモードの使用を有効化又は無効化するブロックグループのフラグである。第2に、サイド情報を伴わず、隠蔽条件及び第1ブロック及び/又は第2ブロックの符号化パラメータセットに依存して、第2ブロックにマージルールを適用することが提案される。言い換えると、マージは、隠蔽条件が第2ブロックについて満たされない場合、第2ブロックに適用される。つまり、第2ブロックの走査順序は、第1ブロックに関連付けられた走査順序情報に基づき選択される。第3に、最初の2つの選択肢の組み合わせが提案される。この組み合わせは、サイド情報をビットストリームに含め、隠蔽条件に依存してマージを適用する。
【0067】
本発明の第5の態様によるデコーダの機能、及びその実装形式のいずれかの機能は、プロセッサ又はコンピュータにより実行されて良く、それらの手段のいずれかは、プロセッサ又はコンピュータ等の中にソフトウェア及び/又はハードウェアとして実装されて良い。
【0068】
本発明の第6の態様は、望ましくは第2の態様による、ビットストリームからビデオシーケンス・ブロックの係数を復号化する方法を提供する。方法は、ビットストリームから各ブロックの1又は複数の係数ベクトルを復号化するステップを含む。方法は、少なくとも1つのブロックについて、該ブロックの1又は複数の係数から隠蔽情報を再構成するステップを含み、該隠蔽情報は、該ブロックに関連付けられた走査順序情報の部分を構成する又は形成する。方法は、各ブロックについて、該ブロックに関連付けられた走査順序情報に基づき、走査順序セットから、望ましくは所定走査順序及び生成された走査順序のセットから、走査順序を選択するステップを含む。方法は、各ブロックについて、該ブロックについて選択された走査順序に従い、該ブロックの1又は複数の係数ベクトルを逆走査するステップであって、それにより係数行列を得る、ステップを含む。
【0069】
本発明の第6の態様による方法の更なる特徴又は実装は、本発明の第5の態様及びその異なる実装形式によるデコーダの機能を実行して良い。
【0070】
本発明の第6の態様又はその実装形式のうちのいずれかによる方法は、プロセッサ又はコンピュータにより実行されて良い。
【0071】
本発明の第7の態様は、望ましくは第3の態様による、ビデオシーケンス・ブロックの係数をビットストリームに符号化するエンコーダを提供する。各ブロックの係数はそれぞれの係数行列に含まれる。エンコーダは、各ブロックについて、走査順序セットから、望ましくは所定走査順序及び生成された走査順序のセットから、走査順序を選択するよう構成される走査順序セレクタを含む。エンコーダは、各ブロックについて、1又は複数の係数ベクトルを得るために、該ブロックについて選択された走査順序に従い、該ブロックの係数行列を走査するよう構成されるシリアライザを含む。エンコーダは、少なくとも1つのブロックについて、該ブロックについて選択された走査順序を識別する走査順序情報を、該ブロックの1又は複数の係数に少なくとも部分的に隠蔽するよう構成される(つまり、走査順序情報又はその部分を1又は複数の係数に隠蔽するよう構成される)隠蔽モジュールを含む。エンコーダは、係数ベクトルをビットストリームに符号化するよう構成される符号化モジュールを含む。それにより、符号化効率は、シグナリングオーバヘッドを削減することにより向上され得る。
【0072】
本発明の第7の態様によるエンコーダの実装形式では、隠蔽モジュールは、少なくとも1つのブロックについて、該ブロックについて得られた1又は複数の係数ベクトルの中から選択された少なくとも1つの隠蔽係数ベクトルに、走査順序情報を隠蔽するよう構成される。
【0073】
本発明の第7の態様によるエンコーダの実装形式では、隠蔽モジュールは、少なくとも1つのブロックについて、隠蔽条件に依存して、隠蔽係数ベクトルに走査順序情報を隠蔽するよう構成され、隠蔽条件は、隠蔽係数ベクトルに依存するパラメータの閾との比較を含む。
【0074】
本発明の第7の態様によるエンコーダの実装形式では、パラメータは、
隠蔽係数ベクトルの中の有意係数の数、又は、
隠蔽係数ベクトルの中の最初の有意係数と最後の有意係数との間の距離、又は、
隠蔽係数ベクトルの中の係数の最大絶対値の最小絶対非ゼロ値との比、
であり、隠蔽条件は、パラメータが閾より高い場合に真であり、パラメータが閾より低い場合に偽である。
【0075】
本発明の第7の態様によるエンコーダの実装形式では、隠蔽モジュールは、隠蔽条件をチェックし、隠蔽条件が真である場合に隠蔽係数ベクトルに走査順序情報を隠蔽するよう構成される。
【0076】
本発明の第7の態様によるエンコーダの実装形式では、隠蔽条件が偽である場合に、走査順序セレクタは、他の選択された走査順序について隠蔽条件が真になるまで、走査順序セットから別の走査順序を再帰的に選択するよう構成される。それにより、他の走査順序の選択は、最初に選択された走査順序が偽隠蔽条件を示す場合でも、データ隠蔽を実行できる点で有利である。
【0077】
本発明の第7の態様によるエンコーダの実装形式では、隠蔽条件が偽であり、且つ選択された走査順序が所定規定走査順序である場合、隠蔽モジュールは、走査順序情報を隠蔽係数ベクトルに隠さないよう構成される。
【0078】
本発明の第7の態様によるエンコーダの実装形式では、隠蔽モジュールは、
隠蔽係数ベクトルにチェック関数を適用して、チェック関数の結果を得て、
チェック関数の結果が走査順序情報に対応するか否かを決定し、
対応しない場合、チェック関数が走査順序情報に対応するよう、隠蔽係数ベクトルを変更する、
ことにより、少なくとも1つのブロックについて、走査順序情報を隠蔽係数ベクトルに隠すよう構成される。
【0079】
本発明の第7の態様によるエンコーダの実装形式では、チェック関数の結果は、隠蔽係数ベクトルの最後の有意係数の、係数行列内の座標(x,y)に依存する。チェック関数は、例えば、以下の関数であって良い:
mod(x+y+R,2)
x及びyは座標であり、Rは整数値である。
【0080】
本発明の第7の態様によるエンコーダの実装形式では、第1ブロック及び少なくとも第2ブロックについて、走査順序セレクタにより同じ走査順序が選択された場合、隠蔽モジュールは、第1ブロックのみの1又は複数の係数に、同じ走査順序を識別する走査順序情報を隠すよう構成される。それにより、「マージモード」による符号化が可能である。このようなモードでは、望ましくは、同じ走査順序を識別する走査順序情報は、第2ブロックの係数の中に隠蔽されない。言い換えると、第2ブロックについて選択された走査順序の値は、デコーダ側で、第1ブロックの係数の中に隠された走査順序情報を用いて再構成され/予測される。第1及び第2ブロックは、例えば、ビットストリーム内の空間的近隣又は例えば連続ブロックである。したがって、第2ブロックの走査順序情報は、第2ブロックの係数内に何も隠蔽することなく、デコーダへ送信され得る。
【0081】
特に、第1ブロック及び1又は複数の第2ブロックを含むブロックグループは、ブロックの係数に隠された少なくとも1つの非規定走査インデックスを有するブロックのグループであって良い。或いは、ブロックグループは、符号化ブロックが同じ走査インデックスを有するように、幾つかの連続符号化ブロックを含んで良い。或いは、ブロックグループは、隠蔽条件が偽である係数を有する幾つかのブロック及び/又は幾つかの連続符号化ブロックを含んで良い。
【0082】
特に、マージモードでは、走査順序情報が少なくとも1つの第2ブロックの係数の中に隠されていないことを知るために、幾つかの選択肢がデコーダに利用可能である。第1に、エンコーダは、ビットストリームにサイド情報を追加する。例えば、1又は複数のブロックについて、例えば1又は複数の第2ブロックについて、マージモードの使用を有効化又は無効化するフラグである。第2に、サイド情報を伴わず、隠蔽条件及び第1ブロック及び/又は第2ブロックの符号化パラメータセットに依存して、第2ブロックにマージルールを適用することが提案される。言い換えると、マージは、隠蔽条件が第2ブロックについて満たされない場合、第2ブロックに適用される。つまり、第2ブロックの走査順序は、第1ブロックに関連付けられた走査順序情報に基づき選択される。第3に、最初の2つの選択肢の組み合わせが提案される。この組み合わせは、サイド情報をビットストリームに含め、隠蔽条件に依存してマージを適用する。
【0083】
本発明の第7の態様によるエンコーダの機能、及びその実装形式のいずれかの機能は、プロセッサ又はコンピュータにより実行されて良く、それらの手段のいずれかは、プロセッサ又はコンピュータ等の中にソフトウェア及び/又はハードウェアとして実装されて良い。
【0084】
本発明の第8の態様は、望ましくは本発明の第4の態様による、ビデオシーケンス・ブロックの係数をビットストリームに符号化する方法を提供する。各ブロックの係数はそれぞれの係数行列に含まれる。方法は、各ブロックについて、走査順序セットから、望ましくは所定走査順序及び生成された走査順序のセットから、走査順序を選択するステップを含む。方法は、各ブロックについて、1又は複数の係数ベクトルを得るために、該ブロックについて選択された走査順序に従い、該ブロックの係数を走査するステップを含む。方法は、少なくとも1つのブロックについて、該ブロックについて選択された走査順序を識別する走査順序情報を、該ブロックの1又は複数の係数に少なくとも部分的に隠蔽するステップを含む。方法は、係数ベクトルをビットストリームに符号化するステップを含む。
【0085】
本発明の第8の態様による方法の更なる特徴又は実装は、本発明の第7の態様及びその異なる実装形式によるエンコーダの機能を実行して良い。
【0086】
本発明の第8の態様又はその実装形式のうちのいずれかによる方法は、プロセッサ又はコンピュータにより実行されて良い。
【0087】
本発明の第9の態様は、コンピュータプログラムであって、該コンピュータプログラムがコンピューティング装置で実行すると、本発明の第2、第4、第6、又は第8の態様による方法雄w実行するためのプログラムコードを含むコンピュータプログラムを提供する。
【0088】
留意すべきことに、本願に記載の全ての装置、要素、ユニット、及び手段は、ソフトウェア又はハードウェア要素、又はそれらの任意の種類の組み合わせで実装できる。本願に記載の種々のエンティティにより実行される全てのステップ、並びに種々のエンティティにより実行されるように記載された機能は、個々のエンティティが個々のステップ及び機能を実行するよう適応される又は構成されることを意味することを意図している。特定の実施形態の以下の記載で、特定のステップ又は機能を実行するエンティティの特定の詳細な要素の記載において反映されない永続的エンティティにより、該特定の機能又はステップが完全に形成される場合でも、これらの方法及び機能がそれぞれソフトウェア又はハードウェア要素又はそれらの任意の種類の組み合わせで実装可能であることが、当業者に明らかである。
【発明を実施するための形態】
【0090】
図1は、本発明の一実施形態によるビデオエンコーダを示し、特に、ビデオシーケンス・ブロックの係数をビットストリーム107に符号化するエンコーダ100を示し、各ブロックの係数はそれぞれの係数行列に含まれる。
【0091】
エンコーダは、1又は複数の所定走査順序を提供するよう構成される走査パターンリストモジュール110を含む。
【0092】
エンコーダは、1又は複数の走査順序を生成するよう構成される走査順序生成器111を含む。
【0093】
エンコーダは、各ブロックについて、所定走査順序及び生成された走査順序から走査順序を選択するよう構成される走査順序セレクタ109を含む。
【0094】
エンコーダは、各ブロックについて、1又は複数の係数ベクトルを得るために、該ブロックについて選択された走査順序に従い、該ブロックの係数行列を走査するよう構成されるシリアライザ104を含む。
【0095】
エンコーダは、係数ベクトルをビットストリーム107に符号化するよう構成される符号化モジュール106を含む。
【0096】
走査順序生成器111は、ビデオシーケンス・ブロックの1又は複数の前に走査された係数行列に依存して、1又は複数の走査順序を生成するよう構成される。
【0097】
図2は、本発明の一実施形態によるビデオデコーダ、特に、ビットストリーム207からビデオシーケンス・ブロックの係数を復号化するデコーダ200を示す。
【0098】
デコーダは、1又は複数の所定走査順序を提供するよう構成される走査パターンリストモジュール210を含む。
【0099】
デコーダは、1又は複数の走査順序を生成するよう構成される走査順序生成器211を含む。
【0100】
デコーダは、各ブロックについて、ビットストリームに含まれる走査順序情報(SCAN_IDX)に基づき、所定走査順序及び生成された走査順序から走査順序を選択するよう構成される走査順序セレクタ209を含む。
【0101】
デコーダは、ビットストリーム207から各ブロックの1又は複数の係数ベクトルを復号化するよう構成される復号化モジュール206を含む。
【0102】
デコーダは、各ブロックについて、係数行列を得るために、該ブロックについて選択された走査順序に従い、該ブロックの1又は複数の係数ベクトルを逆走査するよう構成されるデシリアライザ204を含む。
【0103】
走査順序生成器211は、ビデオシーケンス・ブロックの1又は複数の前に得られた係数行列に依存して、1又は複数の走査順序を生成するよう構成される。
【0104】
特に、
図1は、コンテンツ適応型走査順序選択によるエンコーダ側の残差符号化部分の一例を示す。本例では、エンコーダ100は、ビデオシーケンスの各ピクチャの各ブロックに、インター又はイントラ予測を適用するよう構成される。イントラ予測モードは、同じピクチャのピクセルを使用して、参照サンプルを生成し、再構成されるブロックのピクセルの予測値を計算する。インター予測モードは、時間的予測のために設計され、前の又は次のピクチャの参照サンプルを用いて、現在ピクチャのブロックのピクセルを予測する。予測段階の結果は、ブロックの元の信号とインター又はイントラ予測により得られたその予測信号との間の差分である残差信号101であって良い。
【0105】
残差信号101を得るための予測モードは、したがって、イントラ又はインター予測モードのいずれかを表して良い。さらに、予測モードは、複数の利用可能な予測モード又は方向のうちのいずれかに対応して良い。例えば、複数の利用可能な予測モードは、33個の方向性モード並びに直流(direct current、DC)及び平面予測モードのような2個の非方向性モードを含み得る最大35個のイントラ予測モードを含んで良い。33個の方向性モードは、πラジアン又は180度角度範囲をカバーできる。垂直モードの方向がゼロ度と考えられる場合、33個の方向性モードは、約−45度軸に関して対称であって良い。予測モードに関して、エンコーダは、所与のブロックについて、レート歪み最適化(Rate−Distortion Optimization、RDO)に基づき、複数の利用可能な予測モードのうちの1つを決定するよう構成されて良い。
【0106】
符号化木単位(Coding Tree Unit、CTU)は、ピクチャの一部(例えば、64×64ピクセル)を含む、所定サイズのビデオシーケンスの符号化構造のルートである。CTUは、符号化単位(Coding Unit、CU)に区分化され得る。CUは、CTUに属するピクチャの一部を含む、所定サイズのビデオシーケンスの基本符号化構造である。CTUは、更なるCUに区分化され得る。予測単位(Prediction Unit、PU)は、CUの区分化の結果である符号化構造である。PUは、幾つかの変換単位(Transform Unit、TU)に区分化でき、又は単一のTUに一致し得る。PUは、PUのピクセルに適用される処理の種類に従い、イントラ又はインター予測できる。インター予測の場合、PUは、PUについて指定された動きベクトルを用いて動き補償により処理されるピクセル領域を表す。
【0107】
これに関して、パーティションモードは、PUに、特にPUの大きさ及び/又は方位に依存して良い。パーティションモードは、複数の利用可能なパーティションモードのうちのいずれかに対応して良い。エンコーダは、ブロック又はPUについて、RDO方法に基づき、複数の利用可能なパーティションモードのうちの1つを決定するよう構成されて良い。例えば、パーティションモードは、CUが2N×NのPU又はブロックに区分化され得る、水平指向の形状に対応して良い。また、パーティションモードは、CUがN×2NのPU又はブロックに区分化され得る垂直指向の形状に、又はCUが2N×2NのPU又はブロックに区分化され得る正方形状に対応して良い。
【0108】
残差信号101は、変換係数を得るために、残差信号101を変換符号化する変換モジュール102に供給されて良い。特に、イントラ予測では、PUは、TUのセットについて予測モードを指定して良い。TUは、異なる大きさ、例えば、4×4、8×8、16×16、及び32×32ピクセルを有し、異なる方法で処理され得る。残差信号に適用され得る変換の例は、例えば離散コサイン変換(Discrete Cosine Transform、DCT)及び離散サイン変換(Discrete Sine Transform、DST)を含む。
【0109】
これに関して、変換パラメータは、UEの大きさ又は形状、又は大きさ及び形状の両方であって良い。更なる変換パラメータは、適用される変換、例えば特にDCT又はDSTであって良い。
【0110】
元のピクチャのブロックについて計算された残差信号101は、変換モジュール102により変換され、次に量子化モジュール103により量子化される。量子化モジュール103は、係数行列の形式で量子化変換係数(quantized transform coefficient、QTC)を得るために、変換係数を処理する。
【0111】
これに関して、量子化パラメータは、係数行列の有意係数の数、つまり非ゼロ値を有する係数行列の係数の数に対応して良い。
【0112】
係数行列は、走査順序セレクタ109により決定された順序で走査することにより、シリアライザ104を用いてシリアル化される。走査順序は、走査パターンリスト110により提供される所定走査順序から、又は走査順序生成器111により提供される生成された走査順序から、のいずれから選択され得る。走査パターンリスト110により提供される所定走査順序は、エンコーダ100側及びデコーダ200側の両者に予め定められ、したがって、走査パターンリスト110から選択される走査順序は静的であり、つまり符号化又は復号化過程全体を通じて変更されない。走査順序生成器111により提供される走査順序は、動的であり、つまりビデオシーケンス・ブロックの1又は複数の前に得られた係数行列に依存して生成される。特に、生成される走査順序は、符号化又は復号化過程の間に係数行列の分布統計に従い生成されて良い。
【0113】
シリアライザ104により係数行列から得られた1又は複数の係数ベクトルは、量子化係数バッファ105に格納される。符号化モジュール106は、係数ベクトルをビットストリーム107にエントロピ符号化するエントロピ符号化モジュールの形式であって良い。走査順序セレクタ109により選択される走査順序は、走査インデックス又は走査順序情報SCAN_IDXにより識別されて良い。
【0114】
この走査インデックス情報は、ビットストリーム107に明示的に追加されて良い。つまり、走査順序情報SCAN_IDXの値は、専用変数又はパラメータによりビットストリーム107に格納されて良い。代替として、隠蔽モジュール112は、走査順序情報SCAN_IDXを係数ベクトルに、つまりシリアル化後の係数行列の値に、少なくとも部分的に隠すよう構成されて良い。例えば、隠蔽モジュール112は、相応して、量子化係数バッファ105に格納された係数の調整を実行して、デコーダ200のチェックモジュール212内に置かれた対応するチェックモジュールが、走査順序情報SCAN_IDXを、それらにチェック関数を適用することにより、導出できるようにして良い。量子化係数バッファ105に格納された、結果として生じた調整された係数又は係数ベクトルは、次に、エントロピ符号化され、ビットストリーム107の中でデコーダ200へ送信されて良い。
【0115】
量子化係数バッファ105に格納された1又は複数の係数ベクトルの係数は、次に、走査順序情報SCAN_IDXがビットストリーム107の中で明示的に又は暗示的に送信されるかに依存して、つまり、走査順序情報が隠されているか否かに依存して、調整されて又はされなくて良い。
【0116】
特に、走査パターンリスト110は、複数の符号化パラメータセットの各々について、1又は複数の所定走査順序を提供するよう構成される。走査順序生成器111は、符号化パラメータセットの各々について、該符号化パラメータセットに関連付けられた1又は複数の前に走査された係数行列に依存して、走査順序を生成するよう構成される。走査順序セレクタ109は、各ブロックについて、
該ブロックの符号化パラメータセットを決定し、
所定走査順序及び決定した符号化パラメータセットについて生成された走査順序から、該ブロックの係数行列の走査順序を選択する、
ことにより走査順序を選択するよう構成される。
【0117】
これに関して、符号化パラメータセットは、
予測モード、
パーティションモード、
1又は複数の変換パラメータ、及び、
1又は複数の量子化パラメータ、
のうちの少なくとも1又は複数の特定の組み合わせに対応する。
【0118】
予測モード、パーティションモード、変換パラメータ、及び量子化パラメータは、
図1中で、概して参照符号108により表される。例えば、符号化パラメータセットは、予測モードのみ(例えば、特定方向のイントラ予測モード)、パーティションモードのみ(例えば、PUの特定方向)、1又は複数の変換パラメータのみ(例えば、UTの特定の大きさ及び/又は形状)、又は1又は複数の量子化パラメータのみ(例えば、係数行列の特定数の有意係数)に対応し得る。また、符号化パラメータセットは、予測モード、パーティションモード、変換パラメータ、及び/又は量子化パラメータの特定の組み合わせに対応して良い。
【0119】
エンコーダ100は、符号化パラメータセットの各々について、該符号化パラメータセットに関連付けられた1又は複数の前に走査された係数行列の分布統計を提供するよう構成される係数分布推定器113を含んで良い。走査順序生成器111は、符号化パラメータセットの各々について、該符号化パラメータセットの分布統計に依存して、走査順序を生成するよう構成される。
【0120】
特に、量子化係数バッファ105に格納された係数は、走査順序生成器111により使用される係数分布統計推定のソースでもある。しかしながら、係数分布を推定する前に、格納された係数は、デシリアライザ114により逆シリアル化されて、係数ベクトルから係数行列に戻される。
【0121】
係数行列の分布統計は、望ましくは、US2008/0310504で定められるように、2次元係数行列の位置における係数値がゼロ又は非ゼロである可能性の指示を含み、例えば、2次元係数行列の係数位置の各々に関連付けられたカウント、確率、又は他の統計的指標を含んで良い。このような分布統計に依存して生成された走査順序は、したがって、非ゼロ係数を有する可能性の高い係数位置ほど、より高い優先度で走査するよう構成される走査順序であって良い。
【0122】
特に、所与のブロックについて選択された走査順序が生成された走査順序である場合、係数分布推定器113は、所与のブロックの係数行列の分布統計に従い、所与のブロックの符号化パラメータセットの分布統計を更新するよう構成されて良い。所与のブロックの係数行列の分布統計は、所与のブロックの係数行列内の位置にある係数がゼロか非ゼロかを反映して良い。係数分布推定器113により提供される分布統計は、次に、例えば、所与のブロックの係数行列の前記の分布統計に依存して更新されて良い。
【0123】
特に、所与の係数行列について選択された走査順序が所定のものである場合、係数分布推定器113は、所与のブロックの符号化パラメータセットの分布統計を更新しないよう構成されて良い又はリセットするよう構成されて良い。分布統計をリセットすることは、例えば、前記のカウント、確率、又は他の統計的指標をリセットすることにある。
【0124】
走査順序セレクタ109が生成された走査順序又は所定走査順序を選択したかに依存して、係数分布推定器113により実行される分布統計のこの更新、非更新、又はリセットは、
図1において、走査順序セレクタ109から係数分布推定器113への破線矢印により反映される。
【0125】
提案される実施形態のデコーダは、
図14に示される。処理段は、エンコーダのものと類似しており(
図13を参照)、逆の順序で提供される。最も重要な差分は、量子化係数バッファが、逆シリアライズ後のQTCを、つまり1又は複数のベクトルとしてのQTCではなくQTC行列として、格納することである。
【0126】
特に、
図2は、コンテンツ適応型走査順序選択による残差復号化部分の一例を示す。本例では、デコーダ200は、ビットストリーム207から残差信号201を得るよう構成される。復号化モジュール206(例えば、エントロピ復号化モジュール)及びデシリアライザ204により、量子化変換係数を含む係数行列を生成した後に、量子化係数バッファ205は、該係数行列を格納する。格納された係数行列は、次に、逆量子化モジュール203により及び逆変換モジュール202により処理されて、エンコーダ100における残差信号101に対応する残差信号201を得る。残差信号201を用いて、符号化ビデオシーケンスは、知られている技術に従い再構成されて良い。
【0127】
デコーダ200の係数分布推定器213は、エンコーダ100の係数分布推定器113と機能において類似又は同一であって良い。本例では、これらは、係数分布推定器213が入力として量子化係数バッファ205に格納された係数行列を受信するのに対して、係数分布推定器113が入力としてデシリアライザ114から得た係数行列を受信する点において異なる。
【0128】
本発明は、前に走査され、それぞれ得られた、ビデオシーケンス・ブロックの係数行列に依存して、エンコーダ100及びデコーダ200の両側において、所定走査順序及び生成された走査順序の組み合わせの使用を提案する。特に、生成された走査順序は、係数行列内の係数の分布統計を分析することにより、つまり、量子化変換係数の分布を分析することにより、生成される。
【0129】
提案される発明の特定の特徴は、例えば
図1及び2に走査順序セレクタ109、209と係数分布推定器113、213との間の矢印により示されるように、選択された走査順序を考慮することにより、量子化変換係数(quantized transform coefficient、QTC)の分布統計が一層正確に推定されることである。この一層正確な推定は、例えば、上述のように分布統計を更新する、更新しない、又はリセットすることにあって良い。
【0130】
係数分布は、ソースデータを4個の固定期間に分割し、これらの固定期間内でのみ係数分布を推定することにより、一層正確に推定できる。固定期間は、同様のQTC分布を有する及び互いに空間的に近いブロックの数である。
【0131】
本発明では、特に、適応的に生成された走査順序を有するためにシグナリングされる処理ブロック数についての閾を導入することにより、固定期間を検出することが提案される。走査順序が、走査パターンリストモジュールにより提供される所定走査順序から選択されるとき、この場合には走査順序が所定のものであるという事実が、現在の処理ブロックが異なる固定期間に属することを示すので、分布統計を更新する必要がない。
【0132】
図3は、本発明の一実施形態によるビデオデコーダにおける分布統計推定のフローチャートを示す。
【0133】
ビデオデコーダにおいて、係数分布推定器213による分布統計の推定301は、幾つかのステップを含む。
【0134】
ステップ302で、ブロックの、予測モード、パーティションモード、変換パラメータ、及び/又は量子化パラメータ208は、ビットストリーム207からパースされる。望ましくは、このパースは、復号化モジュール206により実行される。パースされた情報に従い、走査順序セレクタ209は、望ましくは該ブロックの符号化モードを決定する。
【0135】
ステップ303で、該ブロックの選択された走査順序を識別する走査順序情報SCAN_IDXは、ビットストリーム207からパースされる。このパースは、望ましくは、復号化モジュール206により行われる。
【0136】
ステップ304で、走査順序セレクタ209は、該ブロックについて、パースされた走査順序情報SCAN_IDXに基づき、所定走査順序及び生成された走査順序から走査順序を選択する。
【0137】
ステップ305で、選択された走査順序が、走査パターンリストモジュール210により提供された所定走査順序か、又は走査順序生成器211により提供された生成された走査順序か、が決定される。
【0138】
該ブロックについて選択された走査順序が(例えば走査順序生成器211により提供された)生成されたものである場合、係数分布推定器213は、ステップ306で、現在分布統計を更新する。この現在分布統計は、望ましくは前のブロックから得られる。現在分布統計は、該ブロックについて得られた係数行列の分布統計に従い更新される。
【0139】
しかしながら、該ブロックについて選択された走査順序が(例えば走査パターンリストモジュール210により提供された)所定のものである場合、係数分布推定器213は、ステップ306で、現在分布統計と別個に該ブロックの分布統計を処理する。例えば、係数分布推定器213は、現在分布統計を更新しなくて良い、又はリセットして良い。
【0140】
ステップ306又は307の後に、分布統計の推定301は(ステップ308で)終了する。
【0141】
図4は、本発明の一実施形態によるビデオエンコーダにおける分布統計推定のフローチャートを示す。
【0142】
ビデオエンコーダにおいて、係数分布推定器113による分布統計の推定401は、幾つかのステップを含む。
【0143】
ステップ402で、走査パターンリストモジュール110により提供される所定走査順序及び走査順序生成器111により提供される生成された走査順序の中から、最小レート歪み(rate−distortion、RD)コストを提供する走査順序を選択するために、走査順序セレクタ109により、RDO手順が実行される。このステップでは、選択された走査順序の走査順序情報SCAN_IDXが得られる。
【0144】
ステップ403で、選択された走査順序情報SCAN_IDXに対応する走査順序が得られる。
【0145】
更なるステップ404〜407は、
図3のステップ305〜308に対応する。
【0146】
図3及び4に示すように、エンコーダ及びデコーダ側の両方で、走査順序リストが初期化される。これは、走査パターンリストモジュールのメンバ、及び走査順序生成器により生成された走査順序を含む。走査順序セレクタにより選択された走査順序が生成されたものか又は所定のものかに依存して、分布統計に関する決定が行われる。この決定は、現在分布統計を更新するか若しくは更新しないか、又は現在分布統計をリセットするか、にある。
【0147】
走査順序リストを初期化する可能な方法のうちの1つが
図5に示される。
図5は、したがって、本発明の一実施形態による走査順序リストの初期化501のフローチャート500を示す。
【0148】
この初期化は、処理されるブロックについて指定された、予測モード、パーティションモード、変換パラメータ、及び量子化パラメータに依存する。
【0149】
ステップ502で、該ブロックの予測モードが平面イントラ予測モードでるか否かが決定される。これが真の場合、所定のZ形の対角走査順序を含むように、所定走査順序の走査パターンリストが定められる508。これが偽の場合、ステップ503が実行される。
【0150】
ステップ503で、該ブロックの予測モードがDCイントラ予測モードでるか否かが決定される。これが真の場合、所定のZ形の対角走査順序を含むように、所定走査順序の走査パターンリストが定められる508。これが偽の場合、ステップ504が実行される。
【0151】
ステップ504で、該ブロックの予測モードが水平に近い方向性イントラ予測モードでるか否かが決定される。これが真の場合、垂直、垂直−対角、及びらせん走査順序を含むように、所定走査順序の走査パターンリストが定められる509。これが偽の場合、ステップ505が実行される。
【0152】
ステップ505で、該ブロックの予測モードが垂直に近い方向性イントラ予測モードでるか否かが決定される。これが真の場合、水平、水平−対角、及びらせん走査順序を含むように、所定走査順序の走査パターンリストが定められる510。これが偽の場合、ステップ506が実行される。
【0153】
ステップ506で、該ブロックの予測モードが対角に近い方向性イントラ予測モードでるか否かが決定される。これが真の場合、対角、Z形、及びらせん走査順序を含むように、所定走査順序の走査パターンリストが定められる511。これが偽の場合、ステップ507が実行される。ステップ507で、対角走査順序を含むように、所定走査順序の走査パターンリストが定められる。
【0154】
該ブロックの所定走査順序の走査順序リストを定めた後に、走査順序リストは、該ブロックの分割モード、変換パラメータ、及び量子化パラメータを用いて調整される512。
【0155】
ステップ513で、走査順序生成器により提供された1又は複数の生成された走査順序は、所定走査順序に追加され、例えば、エンコーダの走査順序セレクタ109が所定走査順序及び生成された走査順序から、最小RDコストを提供する走査順序を選択できるようにする。
【0156】
図5に示すように、所定走査順序は、予測モード及び/又はパーティションモード及び/又は変換パラメータ及び/又は量子化パラメータに依存して良い。例えば、DC又は平面イントラモードの場合に最も有望な走査順序は、Z形及び対角走査順序である。方向性モードでは、残差信号の方向性が考慮されて、所定走査順序がイントラモードの方向性に直交するよう選択されるようにする。
【0157】
その後、所定走査順序のこのリストは、分割モード、変換パラメータ、及び量子化パラメータのような他の符号化パラメータに従い更新されて良い。特に、このリストは、パーティション及び変換サイズに従い更新されて良い。
【0158】
例えば、インター予測モードでは、非正方形予測モードは、残差信号の方向性特性も示すことができ、所定走査順序のリストは相応して更新されて良い。区分化する長方形が垂直方向に方向性のある場合、水平及び垂直方向の対角走査順序が走査リストに加えられる。所定走査順序のリストは、したがって、水平方向に方向性のある区分化のために更新される。このような場合には、垂直及び水平の対角走査が所定走査順序のリストに加えられる。
【0159】
例えば、所定走査順序のこのリストは、変換サイズに従い更新されて良い。より小さなTUサイズは、幾つかの走査パターンについて制約を導入する。次に、例えば、らせん走査は、TUサイズが8×8ピクセルより小さい場合に、所定走査順序リストから除外されて良い。
【0160】
量子化パラメータ(Quantization parameter、QP)は、所定走査順序のリスト及びシグナリング方法の両方に影響し得る。高いQP値では、走査パターンの数が削減されて良い。例えば、らせん走査は、QTCがQTC行列の左、上、及び左上角により多く揃えられるので、全てのTUサイズについてスキップされて良い。
【0161】
シグナリング方式のQPへの依存性の例が
図6に示される。
図6は、特に、本発明の一実施形態による選択された走査順序の暗示的及び明示的シグナリングのフローチャート600を示す。
【0162】
第1のステップ601で、QP値が得られる。QP値が、高ビットレートのQP値QP
HBR以下である場合、走査順序情報SCAN_IDXは、ビットストリーム内にエントロピ符号化されるべきである603。
【0163】
QP値が、値QP
HBRより高く、且つ低ビットレートの更なるQP値QP
LBRより低い場合、走査順序情報SCAN_IDXは、部分的にエントロピ符号化され606、隠蔽モジュール112により量子化変換係数の中に部分的に隠される。
【0164】
QP値が、値QP
HBRより高く、且つ低ビットレートの更なるQP値QP
LBR以上である場合、走査順序情報SCAN_IDXは、隠蔽モジュール112により量子化変換係数の中に隠されるべきである605。
【0165】
したがって、隠蔽は、ビットレートの増大と共により多くのコストがかかり、高ビットレートでは完全にオフにされる。低ビットレートでは、逆に、隠蔽はより望ましい。その他の場合、つまり中間ビットレートでは、両方のシグナリングメカニズムが使用されている。シグナリングメカニズムの選択は、各ブロック又はTUについて、隠蔽がそれに対して実行可能か否かに依存して、実行される。
【0166】
本発明によると、ビットストリーム207からビデオシーケンス・ブロックの係数を復号化するデコーダ200が提案される。デコーダは、
ビットストリーム207から各ブロックの1又は複数の係数ベクトルを復号化するよう構成された復号化モジュール206と、
少なくとも1つのブロックについて、該ブロックの1又は複数の係数から、隠蔽情報を再構成するよう構成されるチェックモジュール212であって、隠蔽情報は、該ブロックに関連付けられた走査順序情報SCAN_IDXの部分を構成し又は形成する、チェックモジュール212と、
走査順序セットから、望ましくは所定走査順序及び生成された走査順序のセットから、各ブロックの走査順序を、該ブロックに関連付けられた走査順序情報SCAN_IDXに基づき、選択するよう構成される走査順序セレクタ209と、
係数行列を得るために、各ブロックについて、該ブロックについて選択された走査順序に従い、該ブロックの1又は複数の係数ベクトルを逆走査するよう構成されるデシリアライザ204と、を含む。
【0167】
本発明によると、ビデオシーケンス・ブロックの係数をビットストリーム107に符号化する対応するエンコーダ100が提案され、各ブロックの係数はそれぞれの係数行列に含まれる。エンコーダは、
走査順序セットから、望ましくは所定走査順序及び生成された走査順序のセットから、各ブロックの走査順序を選択するよう構成される走査順序セレクタ109と、
1又は複数の係数ベクトルを得るために、各ブロックについて、該ブロックについて選択された走査順序に従い、該ブロックの係数行列を走査するよう構成されるシリアライザ104と、
少なくとも1つのブロックについて、該ブロックについて選択された走査順序を識別する走査順序情報SCAN_IDXを、少なくとも部分的に該ブロックの1又は複数の係数に隠蔽するよう構成される隠蔽モジュール112と、
係数ベクトルをビットストリーム107に符号化するよう構成される符号化モジュール106と、を含む。
【0168】
したがって、エンコーダにより生成されデコーダにより受信されるビットストリーム107、207の中のシグナリングオーバヘッドが低減できるので、符号化効率が向上できる。
【0169】
望ましくは、チェックモジュール212は、少なくとも1つのブロックについて、該ブロックについて得られた1又は複数の係数ベクトルの中から選択された少なくとも1つの隠蔽係数ベクトルから、隠蔽情報を再構成するよう構成される。また、隠蔽モジュール112は、少なくとも1つのブロックについて、該ブロックについて得られた1又は複数の係数ベクトルの中から選択された少なくとも1つの隠蔽係数ベクトルに、走査順序情報SCAN_IDXを隠蔽するよう構成される。
【0170】
再構成及び隠蔽は、隠蔽条件に依存して良い。このような隠蔽条件は、隠蔽係数に依存するパラメータの閾との比較を含む。
【0171】
パラメータは、
隠蔽係数ベクトルの中の有意、つまり非ゼロ係数の数、又は、
隠蔽係数ベクトルの中の最初の有意係数と最後の有意係数との間の距離、又は、
隠蔽係数ベクトルの中の係数の最大絶対値の最小絶対非ゼロ値との比、
であり、隠蔽条件は、パラメータが閾より高い場合に真であり、パラメータが閾より低い場合に偽である。
【0172】
図7及び8は、本発明の一実施形態による隠蔽条件を示す。特に、
図7は、係数グループ(coefficient group、CG)に細分化されたブロック又はTUを示す。各係数ベクトルが係数グループに対応する。
図8は、パラメータが、係数ベクトルの中の最初の及び最後の有意、つまり非ゼロ係数の間の距離Nにある場合を示す係数ベクトルの一例を示す。値Nが閾TSIGより高い場合、隠蔽条件は真であり、走査順序情報は該係数ベクトル内に隠蔽されて良い。
【0173】
特に、チェックモジュール212は、チェック関数を隠蔽係数ベクトルに適用することにより、隠蔽係数ベクトルから隠蔽情報を再構成するよう構成されて良く、チェック関数の結果は隠蔽情報である。また、隠蔽モジュールは、
隠蔽係数ベクトルにチェック関数を適用して、チェック関数の結果を得て、
チェック関数の結果が走査順序情報SCAN_IDXに対応するか否かを決定し、
対応しない場合、チェック関数が走査順序情報SCAN_IDXに対応するよう、隠蔽係数ベクトルを変更する、
ことにより、少なくとも1つのブロックについて、走査順序情報SCAN_IDXを隠蔽係数ベクトルに隠蔽するよう構成される。
【0174】
チェック関数の結果が、隠蔽係数ベクトルの最後の有意係数の、係数行列の中の座標(x,y)に依存することが提案される。チェック関数は、例えば、以下の関数であって良い:
mod(x+y+R,2)
x及びyは座標であり、Rは整数値である。
【0175】
例えば、チェック関数は、以下の関数又は他の知られているチェック関数のうちの1つであっても良い:
2進パターンを用いて、係数行列から選択された特定の係数の最下位ビットに適用されるパリティチェック関数、
最後の又は最初の非ゼロ係数の位置インデックスに又は最後の又は最初の非ゼロ係数位置インデックスの線形結合に適用されるパリティチェック関数。
【0176】
これに関して、
図9は、従来技術に従う、特にH.265ビデオ符号化標準に従う、係数のエントロピ復号化901を示す。エントロピ復号化901は、最後の有意、つまり非ゼロのQTCのX及びY座標を復号化するステップ902を含む。次に、QTC有意性値のマスク(有意性マスク)は、最後の有意QTCから開始して、走査順序に従いシグナリングされる903。値及び符号は、有意係数値についてのみ、ビットストリームからパースされる904、905。
【0177】
したがって、1D有意性マスクの長さは、走査順序、及び最後の有意QTCの座標から導出できる。明らかに、QTCは走査順序情報を用いてビットストリームからパースされるので、走査順序指示データをQTCに埋め込むために、知られているデータ隠蔽方法を適用するだけでは不十分である。
【0178】
図10は、本発明の一実施形態、特に、エンコーダにより生成されデコーダにより受信されるビットストリーム107、207内のシグナリングオーバヘッドを削減することにより、符号化効率を向上する一実施形態を示す。
【0179】
図10の実施形態では、QTC内の走査順序の隠蔽が可能である。符号化処理中に、SCAN_IDXによりインデックス付けされた幾つかの異なる走査順序が、量子化1001及び隠蔽1002段階中に適用される。量子化手順1001は、QTC値を符号化するため、及びこれらのQTC値を推定したビットレートに関して調整することによりレート歪み最適化を実行するために、ビット数(つまりビットレート)を推定するために走査情報を使用して良い。
【0180】
隠蔽が成功しなかった場合1003、つまり、例えば隠蔽条件が偽である場合、別の走査順序SCAN_IDXが選択される1004。望ましくは、隠蔽が成功するまで、別の走査順序が選択される。選択された走査が規定走査順序である場合、例えば、隠蔽は実行されない。
【0181】
隠蔽が成功した、又は選択した走査順序が規定のものである場合、規定走査順序に従いQTCを並べ替えることが可能である1005。次のステップは、QTCをシリアル化するステップ1006、及びエントロピ符号化するステップ1007である。これらのステップ1006及び1007は、
図1のブロック104及び106に対応して良い。シリアル化1006は、また、
図1の場合には、1001と1002との間に挿入することができる。
【0182】
隠蔽するステップ1002は、隠蔽条件をチェックするステップ、及び更に、隠蔽条件が満たされるようにQTCを変更するステップを含む。この変更は、QTC値を変更するステップ、QTC値をゼロに設定するステップ、及び非有意(ゼロ値)QTCを有意QTC(非ゼロ)にするステップを含んで良い。明らかに、隠蔽条件が満たされるように、QTCを調整することが常に可能である。しかしながら、エンコーダ側におけるQTC調整は、これらの調整により引き起こされる歪みにより制約され、妥当な調整制約が適用される。例えば、量子化手順のために、妥当な係数調整は、プラス又はマイナスのものである。この制約は、隠蔽操作が実行されないことを可能にする。つまり隠蔽条件を満たすためにQTCの可能な調整が存在しなかった(1003は、非規定走査の場合に「何も」評価しない)。
【0183】
デコーダ側において、エントロピ符号化1011の後に、隠蔽情報は、シリアル化データから読み出される1012。したがって、隠蔽段階は、デコーダ側で使用される走査順序に関する情報も、それが選択された走査順序に関して埋め込まれるように、必要とする。データ隠蔽手順は、量子化と共同で実行することもでき、同様に例えば符号ビット隠蔽について行われる。しかしながら、隠蔽条件が満たされないために、隠蔽は一部のQTCについて失敗することがある。例えば、TUは閾より低い多数の有意QTCを有する。この場合、更なる処理は、走査順序が規定走査順序か否かに依存する。規定走査が使用された場合、デコーダは、エントロピ復号化段階中にパースしたQTCに同じ隠蔽条件を適用することにより、それを導出できる1015。その他の場合、走査順序はスキップされ、次の走査順序が利用可能かどうか調べられる。
【0184】
規定走査順序が有効である場合、ソース及びターゲット走査が同じ走査なので、QTCを並べ替える段階はスキップできる。非規定走査順序について、エントロピ符号化及びエントロピ復号化段階が変更せずに実行できるように、係数並べ替えを実行することが提案される。特定の実装は、並べ替えのために不要なコピー操作を回避するために、つまり2D QTC行列の座標と選択された走査内の1D位置との間の一致を再定義することにより、再マッピング操作を使用して良い。シリアル化/逆シリアル化段階で、この再マッピングは、CABACコンテキストインデックス、及びQTCが並べ替えされたかのような所与の1D走査位置の最後の有意QTC座標を提供できる。
【0185】
図11は、本発明による係数並べ替えを示し、特に4×4ブロックの場合のQTC並べ替えの一例:対角から水平走査への並べ替えを示す。
【0186】
これに関しては、Joel Sole他による文献「HEVCにおける変換係数符号化」、IEEE 映像技術のための回路及びシステムに関するトランザクション、第22巻、第12号、2012年12月、第1765〜1777頁を参照する。この文献の第V.B章には、走査順序の中の最後の係数(これは除外される)とDC係数との間の各係数についてコンテキストモデルを用いて、有意フラグが符号化されることが記載されている。4×4変換ブロックTB、つまりQTCの行列では、H.264/AVCにおけるように、コンテキストはTB内の係数の位置に依存する。エントロピ符号化がシリアル化された且つ2値化されたデータに対して実行されるという事実にも拘わらず、QTCの有意ビットをエンコードするためのコンテキストモデルは、QTC行列内のこのQTCの位置、及び空間的に近隣にあるQTC(右及び下)の有意性に依存して選択される。従来のデコーダは、ビットのパースされるQTCの位置及び前に復号化された有意QTCの位置に従い選択されたコンテキストモデルを用いて、ビットストリームから有意ビットをパースする。走査順序がデコーダに利用可能でない場合、QTCの空間位置は不定であり、したがってコンテキストモデルは導出できない。
【0187】
提案される並べ替え段階は、
図11に示されるように、エントロピエンコーダの前に、エンコーダ及びデコーダが同じ走査順序及び同じコンテキストモデルを符号化/復号化QTCに対して使用することを保証する。
【0188】
図11は、特に、量子化後に、(x=1,y=2)に位置する(対角走査の場合に)最後の有意係数によりQTCの行列が得られた場合を記載する(その左下部分)。対角走査の場合には、8個の係数有意ビットがエンコードされるべきである。
【0189】
(例えばセレクタ109により)別の走査順序を、例えば対角走査の代わりに水平走査を、選択するために、QTCビットの最初の2行、及び第3行の2個のQTCビット(合計で10個のQTC)をエンコードすることが有利な場合がある。しかしながら、(
図11の上部に示されるように)これらの係数が対角走査から水平走査に並べ替えられる場合、同じ8個のQTCの最後の位置がエンコードされるべきである。
【0190】
エントロピ符号化モジュール106では、2つの走査が利用可能である:
ビットストリームをパースするためにエントロピ復号化モジュール206により使用され得る規定走査、
走査順序セレクタ109により選択された走査。
【0191】
エントロピ符号化モジュールは、QTC位置に従いコンテキストモデルを選択するとき、走査順序セレクタ109により定められたX,Yを使用するだけでなく、並べ替え後のQTCの対応する位置のX,Yを再計算する。
【0192】
例えば、
図11の例では、走査順序セレクタ109が対角走査を選択し、規定走査が水平走査である場合を検討することが提案される。エントロピ符号化モジュール106は、位置(x=1,y=1)に位置する係数(対角走査の場合に「E」としてマークされる)を、並べ替えされた位置(x0,y=2)(水平走査の場合に再び「E」としてマークされる)コンテキストモジュールを使用して、エンコードする。同様に、近隣係数は、「I」及び「H」ではなく、「F」及び「I」として定められる。
【0193】
この並べ替え操作は、選択された走査から規定走査へのX及びY座標の再マッピングとして実施できる。つまり、この並べ替えを実施するために、QTCのメモリコピー/スワップ操作を実行する必要がなく、単にペアのそれぞれ(選択された走査、規定走査)のx及びy座標のルックアップテーブルを設けるだけでよい。
【0194】
データ隠蔽は、走査順序をQTCに埋め込むために既知の方法を使用して良い。しかしながら、走査順序を隠蔽する本例では、更なる可能性が、走査順序が最後の有意QTC値の座標(x,y)に適用される条件により指定されて良いことにある。例えば、
mod(x+y,2)=scan_idx (C1)
この場合、エンコーダは、デコーダにより使用されるべき走査を示すために、最後の有意QTCの位置を変更して良い。記載した隠蔽方法の隠蔽条件は、走査順序について指定された座標セットである。これに関し、
図12は、走査順序について定められた隠蔽条件の例を示す。
【0195】
図12では、「X」印は、条件(C1)を用いてチェックされる位置を示す。この手法をQTC値内に隠蔽されたデータと組み合わせることも可能である。例えば、最後の有意QTC位置から読み出された値は、QTC値の中に隠蔽するための隠蔽条件の一部として使用されて良い。
【0196】
ホスト及びターゲット信号が普遍的分布を有する場合、隠蔽は更に効率的であることが分かる。本発明の別の実施形態は、(C1)の分布をランダム化により普遍的に近付ける可能性である。具体的に、ランダムノイズRの追加ソースが次のように追加できる:
mod(x+y+R,2)
Rの値は、可能な限り選択された走査順序に対して無相関であるべきである。例えば、それは、近隣UTの数、参照サンプル値の和のパリティ値、又はエンコードされたビットの合計数、であって良い。
【0197】
したがって、本発明は、シグナリングオーバヘッドを削減するために、エントロピ復号化中に、QTC逆シリアル化の前に、走査順序を導出することを提案する。(イントラ予測モード、フィルタリングフラグ、等のような)TU関連データを隠蔽するとき、隠蔽される情報は、逆シリアル化及び逆量子化段階の後に利用される。本発明は、したがって、これらの係数が逆シリアル化される前に、QTCに隠蔽されたデータを使用する可能性を提案する。
【0198】
本発明は、例えば動画符号化に使用される予測及び変換処理の後に得られた残差に適用可能な量子化手順を記載する。本発明の目的は、TUレベルで異なる符号化機能(例えば、イントラ予測モード、ブロックサイズ、パーティションモード)を使用して選択された利用可能な走査順序のセットを拡張することにより、量子化のレート歪み性能を改善することである。本発明の特定の実装は、モード依存の及びRDOに基づく走査選択のメカニズムを同時に使用する技術として提示される。
【0199】
本発明は、RDOに基づく走査順序の選択に関連する問題を解決する。特に、本発明は、前にエンコード又はデコードされたブロックの収集された統計に基づく適応型走査順序が、既知の所定走査パターンに対して常に良好な符号化効率を提供しないという問題を解決する。したがって、コンテンツ適応型で生成された走査順序及び所定走査パターンの中で1つの走査だけを選択するRDOに基づく手順が、解決策として提案される。
【0200】
特に、本発明は、所定走査パターン及び適応的に生成された走査順序の両方が利用可能であるという点で、走査順序選択の符号化効率を向上する上述の課題を解決する。
【0201】
本発明は、そのマルチメディア符号化の実施形態において、更に、次世代映像符号化標準の基礎である共同探査モデル(Joint Exploration Model、JEM)と互換性のあるハイブリッド映像符号化の枠組みにおいて多くの潜在的用途において使用可能であるという利点を提供する。更なる利点は、JEM1と比べて低減されたBDレート(Bjontegaard Delta Rate)及び主観的品質向上である。更なる利点は、拡張複数変換(Enhanced Multiple Transform、EMT)としても知られる計算上複雑な適応型複数変換(Adaptive Multiple Transform、AMT)が、より単純な適応型走査順序選択手順により置き換えることができる点である。
【0202】
本発明の一態様は、所定走査パターン又は順序の、適応的に生成された走査順序との組み合わせである。さらに、走査順序選択手順のシグナリングメカニズムを追加することは、符号化効率を増大する適応型走査順序を生成する処理を有意に向上することを可能にする。
【0203】
本発明は、例としての種々の実施形態及び実装と関連して記載された。しかしながら、他の変形は、図面、本開示、及び独立請求項を学ぶことにより、当業者に理解され請求項に記載された発明を実施する際に実施できる。請求項中及び説明において、用語「含む」は他の要素又は段階を排除しないこと、及び冠詞「1つの」は複数を排除しない。単一の要素又は他のユニットが、請求項に記載された幾つかのエンティティ又はアイテムの機能を満たして良い。特定の手段が相互に異なる従属請求項に記載されるという事実は、これらの手段の組合せが有利な実装において使用できないことを示すものではない。