JP6719538B2 - ビデオデータを符号化するための方法及び装置 - Google Patents

ビデオデータを符号化するための方法及び装置 Download PDF

Info

Publication number
JP6719538B2
JP6719538B2 JP2018231793A JP2018231793A JP6719538B2 JP 6719538 B2 JP6719538 B2 JP 6719538B2 JP 2018231793 A JP2018231793 A JP 2018231793A JP 2018231793 A JP2018231793 A JP 2018231793A JP 6719538 B2 JP6719538 B2 JP 6719538B2
Authority
JP
Japan
Prior art keywords
coefficient
block
coefficients
transform
value
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
JP2018231793A
Other languages
English (en)
Other versions
JP2019110529A (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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Publication of JP2019110529A publication Critical patent/JP2019110529A/ja
Application granted granted Critical
Publication of JP6719538B2 publication Critical patent/JP6719538B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/18Methods 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 a set of transform coefficients
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Description

本開示は、ビデオデータを符号化するための方法及び装置に関する。より詳細には、量子化パラメータ及び量子化処理の最適化に関する。
ビデオデータの予測符号化は、フレームを画素ブロックに分割することに基づくものである。各画素ブロックについて、利用可能なデータ内で予測ブロックがサーチされる。予測ブロックは、前フレーム内のブロックであってもよいし、あるいは、現フレーム内の隣接する、それ以前に符号化/復号された画素から生成されてもよい。予測ブロックを決定するための方法が異なれば、符号化モードも異なって定義される。符号化結果は、予測ブロックと、符号化対象のブロックと予測ブロックとの間の差分からなる残差ブロックとの指示となる。
残差ブロックの符号化は、変換、量子化、及び、残りの情報の最終的なエントロピー符号化からなる3つの主なステップに基づく。
変換は、HEVC用語に従う「変換ユニット(transform unit)」と呼ばれる、フレームをブロックに分割する新たな区画を定義することにあり、その上で、変換を変換ユニット要素に適用する。変換が典型的には目的とするところは、変換単位における空間値を周波数係数に変換し、係数を含む変換単位を得ることである。
量子化は、これらの係数の大きさをスケーリングすることにあり、理想的には、結果として生じる画像の劣化が許容可能とみなされる場合に、それらの大多数をゼロに設定する。高周波係数は、しばしばゼロに設定される適当な候補である。これは高周波係数が画像における細部を定義し、結果として得られる画像をひどく劣化させずに破棄可能であるという事実に基づく。
変換係数の量子化は、典型的には、変換係数に因子パラメータを乗算し、次に、デッドゾーンパラメータを加算することにより、変換係数に基づいてスケーリングされた係数を決定することを含む。スケーリングされた係数は、その後、量子化係数を得るためにシフトされる。デッドゾーンパラメータは、量子化係数の丸め制御するものであって、ゆえに、符号化結果に影響を与える。デッドゾーンパラメータを詳細に決定することは、それゆえ符号化処理の問題である。
本発明は、上記1つ以上の懸念を解決するものとして考え出されたものである。本発明は、改善された量子化方法を含む符号化方法に関わる。提案方法は、所与の品質について、レート歪み最適化量子化アルゴリズムのような既知の手法よりも低いビットレートを実現する。
発明の第1の側面に従えば、ビデオシーケンスを符号化装置において符号化するための方法が提供される。当該方法は
ビデオシーケンスの画像を複数のブロックに分割する工程と、
前記ブロックについて、
ブロックの値を、変換係数に変換する工程と、
前記ブロックの変換係数を、複数の変換係数のセットにグループ化する工程と、
変換係数を量子化係数に量子化する工程と、
量子化係数を用いてブロックを符号化する工程と、
ブロックの符号化に基づいてビデオシーケンスを符号化する工程と
を実行し、
量子化する工程は、変換係数の1つのセットに対応する量子化係数について、
変換係数に所定の係数を乗算し、デッドゾーンパラメータを加算することにより、1つのセットの変換係数に基づくスケーリングされた係数を決定し、
スケーリングされた各係数を、対応する量子化係数を取得するためにシフトし、
前記1つのセットに対応する量子化係数値の大きさを合計した結果を表す合計値を閾値と比較し、
合計が閾値より小さい場合に、前記1つのセットに対応する複数の量子化係数を0に設定する
ことを更に含み、デッドゾーンパラメータは前記1つのセットにおける変換係数のインデックスkを用いて線形にスケーリングされる。
ある実施形態では、変換係数のそれぞれについて、前記デッドゾーンパラメータDZk,jが次式に従って計算される。
DZk,j = DZ - c.k
jは、ブロック内の変換係数のセットのインデックスであり、DZは、グローバルデッドゾーンパラメータであり、cは定数パラメータである。
ある実施形態において、定数cは、第1の値C1により所定のブロックについて初期化され、対応する量子化係数がすべて0に設定されていない変換係数の第1のセットにおいて、第2の値C2に変更される。
ある実施形態において、方法はHEVCに適用され、ブロックは変換ユニットであり、変換係数のセットは係数グループである。
発明の別の側面に従えば、ビデオシーケンスを符号化するための符号化装置が提供される。当該装置は、
ビデオシーケンスの画像を複数のブロックに分割し、
ブロックについて、
ブロックの値を、変換係数に変換し、
ブロックの変換係数を、複数の変換係数セットにグループ化し、
変換係数を量子化係数に量子化し、
量子化係数を用いてブロックを符号化し、
ブロックの符号化に基づいてビデオシーケンスを符号化する
ように構成された処理部を備え、
量子化は、変換係数の1つのセットに対応する量子化係数について、
変換係数に所定の係数を乗算し、デッドゾーンパラメータを加算することにより、1つのセットの変換係数に基づくスケーリングされた係数を決定し、
スケーリングされた各係数を、対応する量子化係数を取得するためにシフトし、
1つのセットに対応する量子化係数値の大きさを合計した結果を表す合計値を閾値と比較し、
合計が閾値より小さい場合に、1つのセットに対応する複数の量子化係数を0に設定する
ことを更に含み、デッドゾーンパラメータは1つのセットにおける変換係数のインデックスkを用いて線形にスケーリングされる。
発明の別の側面によれば、プログラム可能な装置のためのコンピュータプログラム製品が提供される。コンピュータプログラム製品は、プログラム可能な装置によりロードされ実行されると、発明に対応する方法を実行させる
発明の別の側面によれば、発明に対応する方法を実行するためのコンピュータプログラム格納したコンピュータ可読記憶媒体が提供される。
発明に対応する方法の少なくとも一部は、コンピュータで実施されてもよい。従って、本発明は完全にハードウェアとして実装される実施形態の態様、完全にソフトウェア(ファームウエア、常駐ソフトウェア、マイクロコード等を含む)として実装される実施形態の態様、或いは、ソフトウェアとハードウェアの態様を結合した実装を有する実施形態を採ってもよく、これら全ては本明細書において、「回路」、「モジュール」、或いは、「システム」と一般には呼ばれる。さらに、本発明は、媒体に具体化されたコンピュータで使用可能なプログラムコードを有する表現の、任意の有形媒体に具体化されたコンピュータプログラム製品の形態を取ることができる。
本発明はソフトウェアで実装することができるので、本発明は、任意の適切な搬送媒体上のプログラム可能な装置に提供するためのコンピュータ可読コードとして実施することができる。有形の非一時的搬送媒体は、フロッピーディスク、CD-ROM、ハードディスクドライブ、磁気テープ装置または固体メモリ装置等のような記憶媒体を含むことができる。一時的キャリア媒体は、電気信号、電子信号、光信号、音響信号、磁気信号または、マイクロ波またはRF信号などの電磁信号等の信号を含むことができる。
発明の実施形態は、以下の図面を参照して、例示の目的においてのみ記述される。
図1は、オリジナルシーケンス画像から符号化ビットストリームへの符号化プロセスを示す。 図2は、デジタル画像を、符号化において利用される画素ブロックに分割するための異なる手法を示す。 図3は、係数グループ及びスキャン順序を示す。 図4は、非空の係数グループの残差データがどのように送信されるかを示す。 図5は、発明の実施形態に対応するザッピング量子化処理の工程を示す。 図6aは、ザッピング処理の代替的な実施形態の工程を示す。 図6bは、ザッピング処理の別の代替的な実施形態の工程を示す。 図7は、デッドゾーンパラメータを決定する方法の工程を示す。 図8は、発明の1以上の実施形態における実装のためのコンピューティング装置のブロック図である。
発明の文脈は、ビデオコーディングに関わる。全体的な符号化プロセスは図1との関係で記述される。
図1は、オリジナルシーケンス画像から符号化ビットストリームへの符号化プロセスを示す。これは一般的な記述であって、その詳細の全てが本発明に関連するわけではなく、本明細書では説明目的に過ぎない。デジタルイメージi0からin101のオリジナルシーケンスが、符号化プロセス100のステップを実行するエンコーダにより入力として受信される。各デジタル画像は、画素として知られる、サンプルのセットにより表現される。ビットストリーム110は符号化プロセス100により出力される。
入力デジタル画像i0からin101は、ステップ102の間に画素ブロックに分割される。ブロックは画像の部分に対応し、可変サイズ(例えば、4x4、8x8、16x16、32x32...画素)を有していてもよい。符号化モードが、ステップ106において各入力ブロックまたは符号化ユニットについて選択される。2つの群の符号化モード:(イントラ予測として知られる)空間的予測に基づく符号化モード(ここではINTRAという)、及び、(例えば、インター符号化、Merge、或いは、SKIPといった)時間的予測に基づく符号化モード(ここではINTERという)が提供される。可能性のある符号化モードが評価される。評価はスコアを決定することを含んでもよく、スコアは、最良スコアを有するモードを選択するためにステップ106により利用される。このスコアは、典型的なレート歪み最適化、典型的にはレート制約下で歪みが最小化されるラグランジュ最適化のような、歪みベース(例えばSAD)またはより洗練されたものとすることができる。
ステップ103は、INTRAを実施する。ここでは、所与の符号化対象ブロックが、当該符号化対象ブロックの近傍の復号済み画素から計算された予測因子(predictor)により予測される。選択されたINTRA予測因子の指示、及び、残差ブロックと呼ばれるところの所与の符号化対象ブロックと予測因子との差分が符号化される。
時間的予測は、モジュール104における動き予測と、動き補償ステップ105により実施される。まず、参照画像セット116から、参照画像が選択される。参照領域あるいは画像部分とも呼ばれる参照画像の一部が、動き予測ステップ104において選択される。この選択は、典型的には 選択ブロックのビットストリームにおけるシグナリングレートを考慮しつつ、参照画像において最も類似する対応ブロックを発見することにより行われる。動き補償ステップ105は、選択領域を利用して符号化対象ブロックを予測する。残差ブロックと呼ばれる、選択された参照領域と所与のブロックとの差分は、動き補償ステップ105により計算される。選択された参照領域は動きベクトル(Mv)により示される。この手法は、いくつかの参照画像を選択することにより拡張することができる。
このように、空間的予測及び時間的予測の両方のケースにおいて、予測データからオリジナルデータを減算することにより残差が計算される。ステップ103において実装されるINTRA予測では、予測方向が符号化される。時間的予測においては、例えば、動きベクトル(Mv)のような、動きを表す少なくとも1つの情報アイテムが符号化される。
ビットレートを更に削減するために、動きベクトルを、選択された動きベクトル予測因子との差分により符号化してもよい。動きベクトル予測及び符号化ステップ117は、動きベクトルフィールド118から動き情報予測因子の1セットを取得する。
上述のように、符号化プロセス100は、レート歪基準のような、符号化コスト基準を適用することにより符号化モードを選択するための選択ステップ106を含む。
冗長性を更に削減するために、変換ステップ107により残差ブロックに変換が適用される。得られた変換データは、量子化ステップ108により量子化され、エントロピー符号化ステップ109によりエントロピー符号化される。最後に、符号化ブロックにおける符号化済みの残差ブロックは、選択された動きベクトル予測因子のインデックスのような使用される予測因子に関する情報と共に、ビットストリーム110に挿入される。
SKIPモードで符号化されたブロックについては、残差ブロックや残差動きベクトル無しで、予測因子のインデックスのみがビットストリーム内に符号化される。同様に、Mergeモードは、残差ブロックが送信されてもよいが、残差動きベクトルが送信されないことが通知される。
符号化プロセス100はまた、後続画像の動き推定のための参照画像を生成するために、符号化された画像の復号も実行する。これにより、エンコーダ及びデコーダが、同一の参照フレームを有するビットストリームを受信することが可能になる。逆量子化ステップ111は、量子化データの逆量子化を実行し、その後に逆変換ステップ112において逆変換が行われる。逆イントラ予測ステップ113は予測情報を利用して所与のブロックのために利用される予測因子を決定し、逆動き補償ステップ114は、ステップ112により得られた残差を参照画像セット116から得られた参照領域に加算する。随意的に、デブロッキングの影響を除去し、復号画像の視覚的な品質を向上させるために、デブロッキングフィルタステップ115が適用される。送信損失が存在しないのであれば、エンコーダとデコーダとで同一の処理を適用することを確実にするために、同一のデブロッキングフィルタがデコーダにも適用される。
本符号化プロセスでは、発明は、残差ブロックの符号化に着目している。残差ブロックは、入力ブロック(コーディングユニット)と同一のサイズを有するブロック値である。各値は、予測ブロックの画素値と、コーディングユニットの対応する画素値との差分である。ゆえに、残差ブロック内の値は符号付き整数である。
予測符号化の目的は、予測ブロックを示す代わりに、符号化されるブロック内の値の大きさを減少することにある。本書面において、大きさの語は絶対値をいう。コーディングユニットの画素値に非常に近い画素値を有するような良好な予測ブロックは、小さい値を有する残差ブロックが得られ、非常に効率的に符号化されることは容易に理解される。
残差ブロックの符号化は、3つの主たるステップを含む。即ち、変換、量子化、エントロピー符号化と呼ばれる実際の符号化である。これらのステップは、図1においてステップ107、108及び109で表されている。
変換ステップ107の背景にある基本的な概念は、符号化するデジタル画像における周波数を扱うことにある。デジタル画像では、最高周波数は、最も細かい詳細レベルに対応する。この最高レベルの詳細は、デジタル画像から除去されてもよく、その場合でもユーザによる劣化の知覚はわずかであり、かつ、符号化するデータ量は実際に抑制される。これらの周波数を扱うためには、コーディングユニットを周波数ドメインに変換する必要がある。DCT(離間コサイン変換)や、DST(離散サイン変換)といった、いくつかの変換を利用することができる。これらの変換により、空間ドメインにおける残差ブロックに対応する、周波数ドメインにおける係数ブロックを取得することができる。
量子化ステップ108は、係数の大きさを更に削減し、それらのいくつかを無効化することにも対処する。エントロピー符号化ステップ109は、残った量子化された係数の符号化を行う。
HEVCでは、他の多くの符号化標準と同様に、ステップ107における変換は単一の変換に限定されるものではない。サイズに加えて、後述のように、DCTやDSTといった空間-周波数変換や、或いは、変換無しを選択できる。出力が変換されているかどうかに関わらず、それらをステップ108において量子化することができる。しかし、HEVCも量子化をスキップすることを許容している。よって、ステップ109は、量子化された、或いは、量子化されていない情報、これらは変換係数、又は、画素残差かもしれない、を受信できる。
符号化プロセス100の全ステップは、エンコーダ装置内の対応するモジュール内に典型的には実装される。これらのモジュールはソフトウェアまたはハードウェアにおいて実装されてもよい。
ステップ102、108及び109と関連するHEVCのいくつかの側面を以下で説明する。
量子化は、符号化の効率に影響する。積極的な符号化、例えば、大きな量子化ステップサイズを利用することは、暗に残存する情報がより少なくなることを意味するが、一方で生成される対応ビットストリームデータのデータ量は削減される。
例えばHEVCの基準ソフトウェアで見出される標準的実装は、よって、簡素化のためにここで提供される。
変換のi番目の係数DCTiについて、対応する量子化された係数Qiは、以下のように計算することができる。
i = DCTi / DIV;
ここで、DIVはスカラ量子化器と関連付けられ、これは、ビットレート削減、情報損失、即ち、取得されるデジタル画像の品質を制御するパラメータである。しかしながら、DCTiとQiはしばしば整数である必要があり、除算演算は実装するにはコストがかかるため、実際に使用される式は次のようになる。
i = (DCTi * fct + DZ) >> shift;
スケーリングされた係数(DCTi * fct + DZ)が生成され、量子化された係数を取得するためにシフトされる。
このシフト演算は、整数を表すビットマップにおいてビットを右方向に移動させることにある。これは2のshiftのべき乗で割ることと等価である。これらの表現は、fct = 2shift / DIV の場合に、類似であることが分かる。
しかしながら、これは整数演算であるので、結果は整数に丸められる必要がある。値DZは、通常デッドゾーンパラメータと呼ばれ、最も近い小さい整数への「切り捨て」の程度を制御する。2shift-1の値は、DIV/2と等価であり、最も近い整数に丸めることに対応する。しかし、この値は、符号化において重要である。Qiの値が大きくなるほど、ビットストリームが大きくなることがよくある。HEVCの例として、実際に使用されている丸め(DZについて、ほぼDIV/3とDIV/6に対応)の代わりに、前の「最も近いものへの丸め」(すなわちDIV/2)を使用すると、符号化効率が20%低下する。即ち、同品質のために20%多くの帯域幅/ストレージが必要となる。
HEVCにおける詳細は、本発明のいくつかに関連し、以下で詳細に説明する。
図2は、符号化時に使用されるデジタル画像の画素のブロックへの異なる分割を示す。
ここで、関心ブロックの最初のタイプは、コーティング・ツリー・ブロック(CTB)201と呼ばれる矩形ユニットである。これは、更に四分木に従い、より小さな矩形ユニット、通常はブロックとして知られ、より詳細には、HEVCにおいてコーディングユニット102(CU)と呼ばれるものに再分割される。ここで、図2のCU202について考える。CU202は更に2つに分割される。予測分割は、INTRA符号化の場合は2Nx2NまたはNxN、INTER符号化の場合は2Nx2N、Nx2N、2NxN、および非対称動きパーティション(AMP:Asymmetrical Motion Partitions)nLx2N、... 2NxnBのいずれかになる。各分割は、予測ユニット(PU)と呼ばれる。
残余四分木(RQT)は、符号化ユニット202を、変換ユニット(TU)と呼ばれるより小さい矩形「変換」ブロックに分割する。四分木は、当業者には周知のツリー構造であり、リーフはリーフノード(即ち、分割されない)に到達するまで、4つのサブリーフに分割される。これにより、どのようにCUがTUに分割されるかを効率的に示すことができる。
特に、RQTは、四分木のどのリーフが空であるか、即ち、残余の無い四分木リーフ、を示すフラグを含む。RQTによれば、もし変換ユニットにデータがあれば、残余に関連する情報が送信される。HEVCは、TU内の変換を無効化することができるが、量子化された残差と量子化された変換係数は同様に符号化される点に留意すべきである。
変換ユニットは、デジタル画像の分割を表す一方で、変換ユニットの画素値は典型的には残差画素値であって、デジタル画像の元々の画素値ではないことに留意すべきである。これらの残差値は、元々の画素値と、選択された符号化モードに従って決定された予測因子の画素値との間の差分を表す。
図3は、係数グループ及びスキャン順序を示す。
変換係数を使用する場合、残差はしばしば、それらが変換ユニット内でどのように分布しているかに関する統計的バイアスを有する。これに対応して、これらを特定の方法でスキャンすることにより、これらのバイアスを利用して生成されるビットストリームデータ量を低減することができる。
まず、係数は、係数グループ(CG)と共通に呼ばれる4x4の係数のグループにまとめられる。図3において、8x8の変換ユニット301、302及び303内には、4つのそのようなグループが存在する。変換ユニット301について301−1、301−2、301−3及び301−4と呼び、TU302及び303についても同様である。HEVCにおけるエントロピー符号化において、係数グループにおける変換係数の存在は、係数グループフラグを値1に設定することにより通知される。HEVCにおいては、最後の係数の位置が送信されるので、最後の非空係数グループを決定することができるまた、最初のグループ301−1、302−1及び303−1は常に送信される。ブロックが変換され、従って、変換係数が含まれるとき、この最初のグループは、DCT係数として最低周波数を保持する。
係数がビットストリームに含まれる順序も重要である。まず、それは逆順である:最後の係数が最初に送信される。これに加えて、いくつかのケースでは、INTRA予測モードの4x4及び8x8の変換ユニットについて水平及び垂直スキャンが行われる(その詳細は本発明とは関係がない)。他の場合、(INTER予測、INTRA予測の他の場合)スキャンは対角的である。水平スキャン順序は、変換ユニット302により示され、垂直スキャン順序は変換ユニット303により示され、対角スキャン順序は変換ユニット301により示される。
図3は、全体設計を示す:最後の係数(そのグループは、黙示的に非空であり、対応するフラグは送信されない)から開始する。これは説明のためのグループ301−4、302−4、303−4である。係数は、グループ内の係数のパターンに従ってスキャンされる。当該グループ内の係数の全ての情報が当該スキャンに従って読み出されると、次のグループが検証される。これらはグループ301−2、302−3及び303−2である:係数のスキャン順序がまた係数グループに適用される。
いずれにしても、明示的に通知されなければならない各グループ(すなわち、最初と最後のものを除くすべて)について、当該グループが残差データを保持するかどうかを判定するためにフラグを送信しなければならない。この残差データについては、次節において詳細に説明する。
図4は、非空係数グループ401について残差データがどのようにして送信されるかを示す。図4はまた、明示的に送信される単一係数グループを含む4x4変換ユニットを示す。
特に、「last_sig_coeff_x」および「last_sig_coeff_y」という名前のシンタックス要素は、各変換ユニットについて最後の係数の位置を示すために提供される。より詳細には、それにより以下の情報の伝達が可能となる。最後の係数グループ:最後の係数よりも後ろには係数が存在しないため、対応する係数グループは空である。そして、当該最後の係数グループ内では、いくつの係数が存在するか(その他は16係数を有する)が明示的に通知される。
次に、スキャンに従って送信されたグループの係数のそれぞれについて、「sig_coeff_flag」と呼ばれるフラグが、係数がゼロであるか否かを示す。もしゼロであれば、その値を知るために他の情報は必要ない。これは非常に重要である。というのも、変換残差は量子化後は非常にまばらになり、かつ、ゼロは最も共通の値であるためである。実際に、このフラグは現在提示されているプロセスに関係する。
すべての非ゼロ係数が分かっているので、逐次情報の4つの反復的な所謂マップが存在する:それぞれの新しいマップは、どの係数がより多くの情報、すなわち次のマップについての情報を必要とするかの情報を提供する。
最初のマップ(「sig_coeff_flag」)は、送信される各係数が非ゼロであるかどうかを示す:デコーダは、次のレベルに移行する前に復号されたフラグの完全なマップを有しているであろう。
次のマップ(「coeff_abs_level_greater1_flag」)は、各非ゼロ係数について、係数の大きさが1より大きいかどうかを示す.。
次のマップ(「coeff_abs_level_greater2_flag」)は、大きさが1よりも大きい係数について、2よりも大きいかどうかを示す。
次のマップは、2より大きい係数について、残りの大きさ(即ち、大きさが「レベル」の係数についてはレベル−3になる)を特定のファミリーのエントロピー符号(「3次の指数関数-ゴロム符号」、その詳細は本発明にとって重要ではない))と共に示す。
最後のマップ(「coeff_sign_flag」) は、全ての非ゼロ係数について、係数の符号を示す。
各レベルの情報は、以前のものが必要な場合に反復的に決定され、各レベルはいわゆるマップを生成する。
図4は、残差データの符号化を示す。係数グループ401は係数を含む。係数グループ401は402により示されるスキャン順序に従ってスキャンされる。このことは、係数グループが右下隅から左上隅へ、402で示される順序でスキャンされることを意味する。このスキャン順序では、最初の係数がナル(null)であり、このスキャン順序で最初に登場する非ナル係数は、−1の値を有する右上の係数である。これは、いわゆる最後の有効ビットに対応し、その座標は(3,0)である。
そこで、テーブル403に係数の符号化を示す。テーブルの先頭行は値3を含む。これは、最初の非ナル係数−1のx座標に対応する。テーブルの第2行は、値0を含む。これは、最初の非ナル係数−1のy座標に対応する。第3行目は、有効係数マップに対応する。最初の非ナル値−1から始まり、最後の値、これはスキャン順序における左上隅の値15に対応する、で終わる。残りの係数のそれぞれについては、値「1」により対応する係数が非ナルであることが示され、値「0」により対応する値がナルであることが示される。残りの係数のシーケンス(-1, 0, 1, 0, 0, 0, 3, 0, -5, 9) は、テーブルの第3行に示されるマップ (1, 0, 1, 0, 0, 0, 1, 0, 1, 1) に対応する。
非ナル係数のそれぞれについて、第4行は非ナル係数が1より大きい絶対値を有するかどうかを示す。よって、係数3、−5、9に対応する値は値「1」で示される。第5行は、どの係数が2より大きい絶対値を有するかを示している。同一の係数が第5行において示されている。
次に、第6行は2より大きい絶対値を有する各係数について、残余値を示す。残余値は、係数から3を引いた絶対値に対応する。よって、第6行は係数(3、−5、9)に対応する残余値(0、2、6)を示す。
第7行は、非ナル係数のそれぞれについて、値の符号を示す。よって、係数−1及び−5はこの行において値「1」を有する。
テーブル404は、テーブル403の実際の値に順に対応するビットストリームに符号化された、結果として得られるシーケンスを示す。最初の3行は、有効マップに対応し、それ以降は係数レベル及び符号に対応する。
図1のステップ109において、404に示される生成された値は、CABAC (context-adaptive binary arithmetic coding:コンテキスト適応2進算術符号化)を用いてエントロピー符号化されている。
この符号化は、CABACとして短縮され、対応するシンボルの後続の値を効率的に符号化するために、ビットストリーム内の前のシンボル(例えば、フラグまたはシンタックス要素)からの値の条件付確率を利用する。これは2つの例により説明することができる。それらの確率はそれぞれ新しいシンボルを用いて更新される。
図3において、係数グループ301−1が変換ユニットのいくつかの位置に存在する場合を想定すると(即ち、8x8変換ユニットについて残差データを黙示的に保持しているが、そのことは無視する)、係数グループフラグの符号化のための文脈は、(ラスタスキャン順序において)右及び下に隣接する考慮されたフラグの値、これは{0, 0}, {1, 0}, {0, 1}, or {1, 1}のいずれかである、をチェックすることを含む。これにより、文脈を導出することが可能になり、当該フラグの条件付き確率を見つけることができる。それが一度読み出されれば、その有効値は当該確率を更新するために利用される。
同様に、図4において、各有効係数フラグは算術符号化され、条件付き確率はその近傍の有効係数フラグの値に依存する。
係数のサブセットの概念を空間周波数変換内に導入するために、本発明者の知るところの最初のブロックベース符号化標準であったHEVCのケースについて詳細に説明した。現在検討中のものは、JVET(Joint Video Exploration Team)として非公式に知られているHEVCの後継であり、その基準ソフトウェア実装はJEM(Joint Exploration Modelの略)と呼ばれている。JVETは現在、主にHEVC上に多くの追加を行ったものからなっている。その結果、エントロピー符号化に関する多くの詳細、特に係数のコンテキストの導出が変更された。しかしながら、係数グループは依然として存在し、よって、記述した処理は以前適用される。係数グループのサイズが変化するか、またはサブセットが異なるか(変換ユニットと係数グループの間の構造、または非矩形などの構造を含む)にかかわらず、記載されたプロセスはかなり単純に置き換えられてもよい。
本発明が適用可能なコーデックの別の例は、まだ完成していないが、OpenMediaのためのアライアンスによりリリースされる予定の最初のコーデックであるAV1コーデックである。それが適用される例は、例えばサブバンドへの周波数の特定の分割、およびこのレベルでの特定の情報の符号化である。
その結果、符号化ユニットまたは変換ユニットなどのHEVC特有の用語の使用は、符号化ブロックまたは変換ブロック、または特定のコーデックに関連する任意の対応する用語に等しく置き換え可能なことが理解される。
図5は、発明の実施形態に対応するザッピング量子化プロセスを示す。
量子化プロセスは、所与の変換ユニット(TU)を取得することにより、ステップ501で開始される。このステップは、当該TUに従うプロセスの初期化とみなすことができる。但し、その詳細は本発明とは無関係である。当該変換ユニットが与えられると、変換ユニットサイズ、そのタイプ(INTER予測、又は、INTRA予測)、または、そのスライスタイプなどの様々な特性は既知である。よって、ステップ502では、エンコーダは、変換ユニット特性に従って、ザッピング(量子化)モデルパラメータと同様に、量子化の様々な設定を選択する。具体的には、エンコーダは、ステップ508で使用される閾値Tのような、ザッピング決定のためのモデルパラメータと同様に、量子化式において使用するための適切なデッドゾーンを選択するであろう。これらのパラメータは事前に経験的に決定され、かつ、所定の実施形態において一定である。例えば、大きな変換の場合、モデルパラメータを、より少ない頻度でのザッピングをもたらすように選択することができる。例えば、これらの変換のT値を下げることによって達成される。
量子化プロセスは、ステップ503において最初の1つを選択して係数グループに対する演算を開始する。即ち、変数jは係数グループインデックスに関する。このレベルにおいて、係数グループは独立に処理される。よって、係数グループを処理するための特定の順序は必要とされないが、(図3や図4に示されるような)ビットストリームが配列される自然な順序とすることができる。
ステップ504では、プロセスは、現在選択されている係数グループについて処理を初期化する。最初の係数(特定の順序はここでは必要とされない)、即ち、係数グループ内の係数インデックスを表す変数kが選択される。同一ステップでは、ザッピング基準の値、大きさの合計(sum)、が0に初期化される。
反復係数j及びkは、上述の典型的な量子化プロセスを記述する際に使用した変数iと混同されないように選択される。インデックスiは、変換ユニット内の係数のインデックスを表すものであって、係数グループのものではない。インデックスiは、周波数に関連する。iと対(j、k)との間には全単射の関係がある。すなわち、iの既存値のそれぞれに対して固有のjとkの対が存在し、その逆もある。
最後に、別の特徴は最初の係数グループ(j = 0)に関するものである。それは暗黙的に通知されるので、ザッピング処理が特に適合されてもよい。この場合、実施形態は、ステップ508において値Tを減少させることを含む。別の実施形態は、ステップ504においてsumを厳密に0より大きな値に初期化すること(Tを低下させることと実質的に同等)を含む。
量子化値は、ステップ505で、例えば、スケーリングされた係数をシフトすることを含む、既に記載済みの式を利用して、現在の係数について生成される。Q = (DCT * fct+ DZ) >> shift, ここで、デッドゾーンはステップ502で提供されるものであり、sumを更新する。sumの更新は典型的には、現在の量子化係数の大きさをsumに加算することを含む。
エンコーダはHEVC用に調整されているので、ステップ506において、現在の係数グループ内のNc個の係数が処理されたかどうかがチェックされる。最後の1つを除く全ての係数グループにおいて、Ncは16である。最後の1つについて、上述のlast_sig_coeff_x 及びlast_sig_coeff_yの値からNcを推定することができる。処理すべき係数が依然として残っているのであれば、ステップ505に戻る前に、ステップ507において次のものを選択する。
さもなくば、現在の係数グループが処理され、sumの最終値が分かる。よって、ステップ508は、sumが所定の閾値Tよりも小さいかどうかをチェックする。もし小さい場合、現在の係数グループをザッピングすることには利益があり、ステップ509aでそれを行う。この結果、対応するフラグは509bにおいて0に設定され、それが空であることが示される。係数グループのザッピングは、全ての係数をゼロに設定することを意味する。
全てのケースにおいて、処理はステップ509bに向かう。ここでは、係数グループフラグが係数グループの中身に応じて設定される。もし空の場合は全ての量子化係数がナルであることを示し、フラグは0となり、そうでなければフラグは1となる。次のステップ510では、全ての係数グループが処理されたかどうかがチェックされる。もし全ての係数グループが処理されてない場合、ステップ511ではステップ504に戻る前に次の係数グループが選択される。さもなくば、変換ユニットは全て処理され、量子化係数の値が決定される。そして、係数グループフラグを含め、ビットストリーム内に書き込まれる対応するシンタックス要素の導出が可能である。
上述の処理によれば、グループの量子化係数の大きさを合計した結果を示す値が所定の閾値よりも小さい場合には、量子化により係数グループ内の全ての量子化係数をゼロに設定することができる。この技法は、レート/歪み基準に対して最適化された量子化を、このような最適化においてしばしば必要とされる通常の高い複雑性を伴わずに実行する、非常に効率的な方法を構成する。非最適化量子化と比較しても、結果として得られるビデオ品質は、些細な複雑性の増加は伴うものの、同一レートについて改善される。
図6aは、図5に関して説明したステップ505の代替の実施形態を説明する。本実施形態において、量子化演算は2つのステップに分割される。大きさの合計は、中間量子化結果に基づくものである。
確認として、図5の量子化は、典型的には、係数DCTk,jを所定のシフト値「shift」だけシフトすることにより実行された。最初のステップ601では、パラメータk及びjが取得される。本実施形態では、ステップ602において、所定のパラメータMに従って、shift-Mに対応する第1の値だけ係数DCTk,j がまずはシフトされる。その結果、Pと呼ばれる中間量子化結果が得られる。この中間量子化結果Pは、次にステップ603において値Mだけシフトされる。その結果、量子化係数Qk,jが得られる。したがって、当業者であれば、Pを、M個の最下位ビットが小数部に関連し、Qk,jが(丸め後の)対応する整数である浮動/有理数量子化値の固定小数点表現として認識してもよい。ステップ604の判定において、量子化係数Qk,jはゼロではない場合、ステップ605では、Qk,jの大きさが合計される代わりに、中間結果Pの大きさが合計される。処理が終了すると、結果として得られる量子化係数は、上記実施形態で得られたものと同一の値を有することに注目することは重要である。唯一の違いは、係数グループ全体のザッピングを決定するために図5のステップ508で利用される合計値である。
中間量子化結果の大きさの合計は、量子化係数の合計よりも大きい。この結果、もし閾値Tが適合されなければ、係数グループ全体がザッピングされる可能性が減少することになる。同様に、これにより、ザッピング判定の精度が非常に向上する。大きさ(および結果として生じる歪み)に基づく場合、決定は非常に粗くなり、結果として、ザッピングされるべきでないときに係数グループがザッピングされることになる。
図6bは、図5のステップ505の別の代替の実施形態を示す。
本実施形態の第1の側面によれば、2つの閾値T1及びT2が、単一の中間量子化係数Pの大きさに対して適用される。これらの2つの閾値は、範囲[T1、T2],を定義し、T1はT2よりも小さい。
最低閾値T1よりも小さい大きさの中間量子化係数Pは、係数グループ全体をザッピングするかの決定においては考慮されないであろう。即ち、係数グループをザッピングするための閾値Tに対する基準として利用される大きさの合計の更新には、それらの大きさを示す値は利用されないであろう。合計は大きくなるものの、T1はナルとなりえるという意味でT1は実装に依存する。T1の値を小さくすると、符号付き算術演算の利用が強制されることにもなる。T1は、直ちに0に量子化されなくてもよい係数の最小の大きさを表すこともできる。
係数グループの少なくとも1つの中間量子化係数Pが、最大閾値T2よりも大きい場合、係数グループの全体はザッピングされない。これは、ステップ508におけるテストが行われると合計が閾値Tよりも確実に大きくなるようにするために、合計を最大値により更新することにより、或いは、同一の効果を有するように閾値Tを小さくすることにより、実施されてもよい。T2は、ビデオ符号化標準、エンコーダアルゴリズム、ノイズレベル、視覚的検査に依存して、経験的に決定された値となりえる。それは一般的に係数の大きさに対する閾値を示し、閾値を超える係数はザッピングするには多すぎる情報を示すことになる。
この実施形態で行われるように所定の範囲内に含まれる大きさを有する係数グループ内の量子化された、または中間の量子化された係数の数に応じて閾値を定義することは、本明細書に記載されるすべての実施形態において有利に導入され得ることに留意する必要がある。
この実施形態の特定の実装(図6bに記載されている実装)は、以下のように閾値Tを表現するために2つの追加のパラメータAおよびBを定義する。
T =A*N + B;
ここでNは、範囲 [T1、T2]内の大きさを有する中間量子化係数の数である。これらの中間量子化係数は、ザッピング可能な係数とも呼ばれる。
以下のようであることは注目に値する。
Figure 0006719538
は、以下と等価である。
Figure 0006719538
この実装は、ステップ508において閾値Bにより置き換えられた閾値Tと共に図6bに示される。
図6aの類似ステップ601と対応する最初のステップ601では、係数の座標k及びjが取得される。
次のステップ602では、図6aの類似ステップ602と対応して、中間量子化係数Pが演算される。
ステップ606では、中間量子化係数Pの大きさを示す値が、閾値T1の値よりも小さい場合、量子化は図6aの類似ステップ603に対応してステップ603で終了する。合計は更新されない。
ステップ607において、中間量子化係数Pの大きさを示す値が、閾値T2の値よりも大きい場合、ステップ508において行われたテストが係数グループ全体のザッピングを決してトリガーしないようにするためにsumは値Bに強制される。確認として、本実装において、値BはTの代わりに閾値として用いられる。
中間量子化係数Pの大きさが[T1、T2]の範囲内にある場合、ステップ608において、sumは大きさからパラメータAを引いた値で更新される。
いずれにしても、係数の量子化は、処理の終了前にステップ603で終了する。
本実施形態によれば、Nを計算する必要なしにA*N + Bに対応する値Tを利用してテストが行われてもよい。
閾値T1およびT2の値、モデルパラメータAおよび精度Mを利用することは、SUMの値の範囲を保証可能にすることに留意すべきである。そうすることは、実装のトレードオフを提供する。例えば、変数のビット深度を削減することにより、ザッピング方法により利用される演算の実装コスト(回路規模、エネルギー消費等)が削減される。特定の実施形態では、M=0、即ち、P = DCTk,j * fctk,j + DZ.上述の全てのパラメータ (DZ, A, B, T1 及び T2) は、P = DCTk,j + DZの点まで、これを考慮して、対応してスケーリングできることは当業者にとっては明らかであろう。
これらの全ての実施形態において、因子fct及びデッドゾーンDzは、座標k及びjに依存していてもよい。即ち、式Qk,j = DCTk,j * fct + DZ は、式Qk,j = DCTk,j * fctk,j + DZk,j になる。よって、いくつかの係数の重要度がより高くなるかもしれない。典型的には、低周波数係数を強調することができる。
図7は、デッドゾーンDZk,j をk及びj、及び新しいパラメータcに基づいて決定する方法を示す。
提案に係るデッドゾーンDZk,j を決定するための手法は、グローバルデッドゾーンパラメータDZに基づくものであり、これは、係数グループ内の係数のインデックスkを用いて線形にスケーリングされている。定数cは、適用されるスケーリング量を制御するために定義される。即ち、デッドゾーンパラメータDZk,jは、座標k及びjを有する各係数について以下の式に従って決定される。
DZk,j=DZ-c.k;
実際には、当業者には、特に、「ブロックの終わり(end-of-block)」として知られる従来のシグナリングを使用することにより、変換ユニット内のより高い周波数(すなわち、iのより大きい値)のより多くを強制的に0にしようとすることが知られている 。これは、量子化マトリックスを利用することにより典型的に実施される。これは、(通常は減少する)fctk,j 項に影響を与える。(高周波のような)視覚的に重要度の低い情報の符号化を回避すること、及び、last_sig_coeff_x/yと同様のシンタックス要素を最適化すること(例えば、JPEGや他の変換ベースのコーデックのEnd-Of-Block 通知)の両方が目標である。しかしここでは、意図は異なり、係数グループ内の各係数のsig_coeff_flagのコンテキストコーディングに依存している。実際には、確率を意味するCABACコンテキストは、このフラグについて、現在のもののすぐ右及びすぐ下の係数についての代表フラグの値に依存する。係数グループの最初の係数(kのより小さい値)は、最後の値(kのより大きな値)よりも比較的重要であり、非ゼロである可能性が高い(sig_coeff_flagの値1)。係数グループの最後で値0でフラグを符号化することは、それ以前に符号化されたフラグが0である場合に、生成されるデータがより少なくなる可能性が高い。逆に、開始時において値1のフラグは、これらのフラグが、kのより大きな値を有するこれらのフラグが値1を有する場合に、データ量がより少なくなる可能性が高い。更に、係数グループをザッピングする可能性を高めるために、より高周波数は、より重く量子化され、かつ、係数グループをザッピングするかどうかを決定するために使用される合計では、より少なくする必要がある。インデックスkにのみ基づくこの重みづけは、ゆえに、この態様を考慮し、あまり重要でない係数グループをザッピングするという意図された結果を実現するための手段である。
特定の実施形態では、定数cは2つの異なる値C1とC2を取る。このとき、C1はC2よりも大きい。定数cはC1により初期化され、ザッピングされていない最初の係数グループに遭遇するとC2に変更される。考え方は、最後の係数を符号化順序の後ろに置くと、ビットレートが低下するというものである。よって、非ゼロ係数グループが見つかるまでは、係数を少しだけ量子化する必要がある。
図7は、図5との関連で示したザッピング方法と組み合わされる、この特定の実施形態を示す。同一ステップについては同一の参照番号を付し、ここでは説明を行わない。
ステップ702はステップ502に対応し、追加として、パラメータC1、C2を決定する。それらの値は、Mに大きく依存し、スライスタイプと同様に、変換タイプ及びサイズに適合させることができる。説明のための最も単純なケースでは、C1はイントラスライスについて0.2であり、それ以外については0.1である。また、C2は1/2か、0である。
ステップ703はステップ503に対応し、追加として、定数cをパラメータC1で初期化する。
ステップ710において、各係数についてデッドゾーンパラメータが提案式に従って計算される。
ステップ711では、ステップ508のテストの結果が否定的で、係数グループ全体がザッピングされないことを示す場合、定数cは値C2を取る。定数cは、値C1により初期化されると、変換ユニット内の係数グループがザッピングされる間はこの値を保持し、最初の非ザッピング係数グループの符号化の後に値C2に切り替えられる。
図8は、発明の1以上の実施形態における実装のためのコンピューティング装置800のブロック図である。コンピューティング装置800は、マイクロコンピュータ、ワークステーション、或いは、軽量携帯デバイス等の装置であってもよい。コンピューティング装置の他の例は、集積回路に実装されたカスタムメイド処理装置、ASIC(特定用途向け集積回路)、システムオンチップ(SoC)、FPGA(フィールド・プログラマブル・ゲート・アレイ)、或いは、ディスクリートコンポーネントを含む論理回路を含む。コンピューティング装置は、例えば、カメラ、モニタリングカメラ、ドアステーション、或いは、符号化装置の一部を構成してもよい。コンピューティング装置800は、以下と接続する通信バスを備える:
−処理ユニット801は、任意の種類のプロセッサであり、例えば、マイクロプロセッサのような、CPU(中央処理回路)、GPU(グラフィック処理回路)であってもよい。
−ランダムアクセスメモリ802であって、RAMと示される。発明の実施形態の方法の実行可能なコードを記憶し、本発明の実施形態に対応する画像の少なくとも一部を符号化または復号するための方法を実施するために必要な変数およびパラメータを記録するように適合されたレジスタを含む。そのメモリ容量は、例えば拡張ポートに接続されたオプションのRAMによって拡張することができる。
−リードオンリーメモリ803であって、ROMと示される。発明の実施形態を実施するためのコンピュータプログラムを格納する。
−ネットワークインタフェース804は、典型的には通信ネットワークに接続され、それを介して処理対象のデジタルデータを送受信する。ネットワークインタフェース804は、単一ネットワークインタフェースとすることができる。また、異なるネットワークインタフェースのセット(例えば、有線及び無線インタフェース、或いは、異なる種類の有線または無線インタフェース)として構成することができる。データパケットは、送信のためにネットワークインタフェースに書き込まれるか、又は処理ユニット801で動作するソフトウェアアプリケーションの制御下での受信のために、ネットワークインタフェースから読み出される。
−ユーザインターフェース(UI)805は、ユーザからの入力を受信するため、またはユーザに情報を表示するために使用することができる。
−ハードディスク806はHDと示され、大容量記憶装置として提供されてもよい。
−I/Oモジュール807は、ビデオソースまたはディスプレイなどの外部装置との間でデータを受信/送信するために使用されてもよい。
実行可能コードは、リードオンリーメモリ803、ハードディスク806、または例えばディスクのような取外し可能なデジタル媒体のいずれかに格納することができる。変形例によれば、プログラムの実行可能コードは、ネットワーク804を介して通信ネットワークによって受信され、実行前にハードディスク806などの通信デバイス800の記憶手段の1つに記憶される。
処理ユニット801は、本発明の実施形態に対応する1つ以上のプログラムのソフトウェアコードの命令または部分の実行を制御および指示するように適合され、命令は前述の記憶手段のうちの1つに記憶される。
電源投入後、処理ユニット801は、例えばROM803またはハードディスク(HD)806から命令がロードされた後に、ソフトウェアアプリケーションに関するメインRAMメモリ802からの命令を実行することができる。このようなソフトウェアアプリケーションは、CPU801によって実行されると、本発明に対応する方法のステップが実行される。
図5から図7に示されたアルゴリズムの任意のステップは、PC(「パーソナルコンピュータ」)、DSP(「デジタル・シグナル・プロセッサ」)、或いは、マイクロコントローラ等のプログラム可能な計算機によって一連の命令またはプログラムを実行することによってソフトウェア的に実施されてもよい。或いは、FPGAやASICのようなマシーンや専用コンポーネントによりハードウェア的に実施されてもよい。
本発明を特定の実施形態を参照して上で説明したが、本発明は特定の実施形態に限定されず、本発明の範囲内にある変更は当業者には明らかであろう。
前述の例示的な実施形態を参照することにより、多くのさらなる変更および変形が当業者に示唆されるものであり、また、これらは本発明の範囲を限定することを意図したものではなく、添付の特許請求の範囲によってのみ決定されるものである。特に、適切な場合には、異なる実施形態からの異なる特徴を交換することができる。
特許請求の範囲において、「備える(comprising)」という単語は他の要素またはステップを排除するものではなく、不定冠詞「a」または「an」は複数を除外しない。異なる特徴が相互に異なる従属請求項に列挙されているという単なる事実は、これらの特徴の組み合わせが有利に使用できないことを示すものではない。

Claims (7)

  1. ビデオシーケンスを符号化装置において符号化するための方法であって
    ビデオシーケンスの画像を複数のブロックに分割する工程と、
    前記ブロックについて、
    前記ブロックの値を、変換係数に変換する工程と、
    前記ブロックの変換係数を、複数の変換係数セットにグループ化する工程と、
    変換係数を量子化係数に量子化する工程と、
    前記量子化係数を用いて前記ブロックを符号化する工程と、
    前記ブロックの符号化に基づいて前記ビデオシーケンスを符号化する工程と
    を実行し、
    前記量子化する工程は、変換係数の1つのセットに対応する量子化係数について、
    変換係数に所定の係数を乗算し、デッドゾーンパラメータを加算することにより、前記1つのセットの変換係数に基づくスケーリングされた係数を決定し、
    スケーリングされた各係数を、対応する量子化係数を取得するためにシフトし、
    前記1つのセットに対応する量子化係数値の大きさを合計した結果を表す合計値を閾値と比較し、
    前記合計が前記閾値より小さい場合に、前記1つのセットに対応する複数の量子化係数を0に設定する
    ことを含み、前記デッドゾーンパラメータは前記1つのセットにおける変換係数のインデックスkを用いて線形にスケーリングされる、ことを特徴とする方法。
  2. 前記変換係数のそれぞれについて、前記デッドゾーンパラメータDZk,j が、DZk,j= DZ - c.kの式に従って計算され、jは、前記ブロック内の変換係数のセットのインデックスであり、DZは、グローバルデッドゾーンパラメータであり、cは定数パラメータであることを特徴とする請求項1に記載の方法。
  3. 前記定数cは、第1の値C1により所定のブロックについて初期化され、対応する量子化係数がすべて0に設定されていない変換係数の第1のセットにおいて、第2の値C2に変更されることを特徴とする請求項2に記載の方法。
  4. 前記方法はHEVCに適用され、前記ブロックは変換ユニットであり、前記変換係数のセットは係数グループであることを特徴とする請求項1から3のいずれか1項に記載の方法。
  5. ビデオシーケンスを符号化するための符号化装置であって、
    処理部であって、
    ビデオシーケンスからの画像を複数のブロックに分割し、
    前記ブロックについて
    前記ブロックの値を、変換係数に変換し、
    前記ブロックの変換係数を、複数の変換係数のセットにグループ化し、
    前記変換係数を量子化係数に量子化し、
    前記量子化係数を用いて前記ブロックを符号化し、
    前記ブロックの符号化に基づいて前記ビデオシーケンスを符号化するように構成された処理部を備え、
    前記量子化は、変換係数の1つのセットに対応する量子化係数について、
    前記変換係数に所定の係数を乗算し、デッドゾーンパラメータを加算することにより、前記1つのセットの変換係数に基づくスケーリングされた係数を決定し、
    スケーリングされた各係数を、対応する量子化係数を取得するためにシフトし、
    前記1つのセットに対応する量子化係数値の大きさを合計した結果を表す合計値を閾値と比較し、
    前記合計が前記閾値より小さい場合に、前記1つのセットに対応する複数の量子化係数を0に設定する
    ことを更に含み、前記デッドゾーンパラメータは前記1つのセットにおける変換係数のインデックスkを用いて線形にスケーリングされることを特徴とする符号化装置。
  6. コンピュータプログラムであって、コンピュータによりロードされ実行されると、前記コンピュータに請求項1から4のいずれか1項に記載の方法を実行させるためコンピュータプログラム。
  7. 請求項1から4のいずれか1項に記載の方法を実行するためのコンピュータプログラム記憶した、コンピュータ可読記憶媒体。
JP2018231793A 2017-12-18 2018-12-11 ビデオデータを符号化するための方法及び装置 Active JP6719538B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP17306812.3 2017-12-18
EP17306812.3A EP3499886A1 (en) 2017-12-18 2017-12-18 Method and device for encoding video data

Publications (2)

Publication Number Publication Date
JP2019110529A JP2019110529A (ja) 2019-07-04
JP6719538B2 true JP6719538B2 (ja) 2020-07-08

Family

ID=60953627

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018231793A Active JP6719538B2 (ja) 2017-12-18 2018-12-11 ビデオデータを符号化するための方法及び装置

Country Status (4)

Country Link
US (1) US10735733B2 (ja)
EP (1) EP3499886A1 (ja)
JP (1) JP6719538B2 (ja)
CN (1) CN110035288B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3713235B1 (en) * 2019-03-19 2023-08-02 Axis AB Methods and devices for encoding a video stream using a first and a second encoder
JP7070509B2 (ja) 2019-06-13 2022-05-18 いすゞ自動車株式会社 点検支援プログラム及び点検支援システム

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0435163B1 (en) * 1989-12-25 1998-03-25 Mitsubishi Denki Kabushiki Kaisha Coding apparatus
US5604502A (en) 1994-03-21 1997-02-18 Lucent Technologies Inc. Motion video compression system with inverse discrete cosine transform mismatch control
US6501860B1 (en) 1998-01-19 2002-12-31 Canon Kabushiki Kaisha Digital signal coding and decoding based on subbands
FR2792433A1 (fr) 1999-04-15 2000-10-20 Canon Kk Dispositif et procede de transformation de signal numerique
FR2815748B1 (fr) 2000-10-20 2003-01-24 Canon Kk Procede et dispositif de traitement et de decodage d'un signal numerique code
AUPR110400A0 (en) 2000-10-30 2000-11-23 Canon Kabushiki Kaisha Image transfer optimisation
FR2816154A1 (fr) 2000-10-31 2002-05-03 Canon Kk Insertion d'information supplementaire dans des donnees numeriques
FR2826227B1 (fr) 2001-06-13 2003-11-28 Canon Kk Procede et dispositif de traitement d'un signal numerique code
FR2826823B1 (fr) 2001-06-27 2003-10-10 Canon Kk Procede et dispositif de traitement d'un signal numerique code
FR2831728B1 (fr) 2001-10-25 2004-03-12 Canon Kk Procede et dispositif de formation d'un signal numerique derive a partir d'un signal numerique compresse
FR2835366B1 (fr) 2002-01-29 2004-06-18 Canon Kk Procede et dispositif de formation d'un signal numerique compresse reduit
FR2842378B1 (fr) 2002-07-15 2005-02-04 Canon Kk Procede et dispositif de traitement d'une requete ou de donnees numeriques compressees
FR2842691B1 (fr) 2002-07-18 2005-01-14 Canon Kk Procede et dispositif de transformation d'un signal numerique
FR2842983B1 (fr) 2002-07-24 2004-10-15 Canon Kk Transcodage de donnees
US7580578B1 (en) 2003-02-03 2009-08-25 Canon Kabushiki Kaisha Method and device for forming a compressed transcoded digital image signal
EP1564997A1 (en) * 2004-02-12 2005-08-17 Matsushita Electric Industrial Co., Ltd. Encoding and decoding of video images based on a quantization with an adaptive dead-zone size
FR2869442A1 (fr) 2004-04-23 2005-10-28 Canon Kk Procede et dispositif de decodage d'une image.
FR2875042B1 (fr) 2004-09-03 2006-11-24 Canon Kk Procede et dispositif d'acces aleatoire a une zone d'une image codee en vue de la decoder et procede et dispositif de codage d'une image
US7936938B2 (en) 2004-09-07 2011-05-03 Canon Kabushiki Kaisha Methods and devices for encoding a digital image signal and associated decoding methods and devices
JP2006157881A (ja) 2004-11-08 2006-06-15 Toshiba Corp 可変長符号化装置及びその方法
FR2889004B1 (fr) 2005-07-22 2007-08-24 Canon Kk Procede et dispositif de traitement d'une sequence d'images numeriques a scalabilite spatiale ou en qualite
FR2896371B1 (fr) 2006-01-19 2008-11-07 Canon Kk Procede et dispositif de traitement d'une sequence d'images numeriques au format extensible
FR2898757A1 (fr) 2006-03-14 2007-09-21 Canon Kk Procede et dispositif d'adaptation d'une frequence temporelle d'une sequence d'images video
FR2903556B1 (fr) 2006-07-04 2008-10-03 Canon Kk Procedes et des dispositifs de codage et de decodage d'images, un systeme de telecommunications comportant de tels dispositifs et des programmes d'ordinateur mettant en oeuvre de tels procedes
FR2906433B1 (fr) 2006-09-22 2009-02-27 Canon Kk Procedes et dispositifs de codage et de decodage d'images, programme d'ordinateur les mettant en oeuvre et support d'informaton permettant de les mettre en oeuvre
FR2907575B1 (fr) 2006-10-18 2009-02-13 Canon Res Ct France Soc Par Ac Procede et dispositif de codage d'images representant des vues d'une meme scene
FR2909474B1 (fr) 2006-12-04 2009-05-15 Canon Kk Procede et dispositif de codage d'images numeriques et procede et dispositif de decodage d'images numeriques codees
US8498335B2 (en) * 2007-03-26 2013-07-30 Microsoft Corporation Adaptive deadzone size adjustment in quantization
FR2919779B1 (fr) 2007-08-02 2010-02-26 Canon Kk Procede et dispositif de codage avec perte d'un signal numerique
FR2929787B1 (fr) 2008-04-04 2010-12-17 Canon Kk Procede et dispositif de traitement d'un flux de donnees
US20090262801A1 (en) * 2008-04-17 2009-10-22 Qualcomm Incorporated Dead zone parameter selections for rate control in video coding
FR2931025B1 (fr) 2008-05-07 2010-05-21 Canon Kk Procede de determination d'attributs de priorite associes a des conteneurs de donnees, par exemple dans un flux video, procede de codage, programme d'ordinateur et dispositifs associes
FR2931610B1 (fr) 2008-05-20 2010-12-17 Canon Kk Procede et un dispositif de transmission de donnees d'images
FR2932637B1 (fr) 2008-06-17 2010-08-20 Canon Kk Procede et dispositif de codage d'une sequence d'images
FR2939593B1 (fr) 2008-12-09 2010-12-31 Canon Kk Procede et dispositif de codage video
EP2257073A1 (en) 2009-05-25 2010-12-01 Canon Kabushiki Kaisha Method and device for transmitting video data
US20120117133A1 (en) 2009-05-27 2012-05-10 Canon Kabushiki Kaisha Method and device for processing a digital signal
EP2265026A1 (en) 2009-06-16 2010-12-22 Canon Kabushiki Kaisha Method and device for deblocking filtering of SVC type video streams during decoding
EP2285122B1 (en) 2009-07-17 2013-11-13 Canon Kabushiki Kaisha A method and device for reconstructing a sequence of video data after transmission over a network
EP2285112A1 (en) 2009-08-07 2011-02-16 Canon Kabushiki Kaisha Method for sending compressed data representing a digital image and corresponding device
EP2299716B1 (en) 2009-09-09 2016-11-23 Canon Kabushiki Kaisha Method and device for coding a multidimensional digital signal
US20120163479A1 (en) 2009-09-28 2012-06-28 Canon Kabushiki Kaisha Methods and devices for filtering and coding a digital signal
FR2951345B1 (fr) 2009-10-13 2013-11-22 Canon Kk Procede et dispositif de traitement d'une sequence video
FR2952497B1 (fr) 2009-11-09 2012-11-16 Canon Kk Procede de codage et de decodage d'un flux d'images; dispositifs associes
FR2955995B1 (fr) 2010-02-04 2012-02-17 Canon Kk Procede et dispositif de traitement d'une sequence video

Also Published As

Publication number Publication date
US10735733B2 (en) 2020-08-04
US20190191162A1 (en) 2019-06-20
JP2019110529A (ja) 2019-07-04
EP3499886A1 (en) 2019-06-19
CN110035288B (zh) 2022-02-22
CN110035288A (zh) 2019-07-19

Similar Documents

Publication Publication Date Title
CN110024392B (zh) 用于视频译码的低复杂度符号预测
JP6698142B2 (ja) ビデオデータを符号化するための方法及び装置
JP6284954B2 (ja) イントラ予測のためのモード決定の簡略化
KR102314801B1 (ko) 비디오 압축에서의 엔트로피 코딩을 위한 선택적 혼합
JP2014523186A (ja) エントロピー符号化/復号化方法及びその装置
KR102600727B1 (ko) 파라미터화된 확률 추정 유한 상태 머신들을 이용한 이진 산술 코딩
JP2015508617A (ja) 映像の符号化における係数の符号化
JP6476900B2 (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
US20150350674A1 (en) Method and apparatus for block encoding in video coding and decoding
KR102548881B1 (ko) 영상 변환 부호화/복호화 방법 및 장치
CA3075491A1 (en) Binary arithmetic coding with progressive modification of adaptation parameters
CN105027560A (zh) 确定用于变换系数的二进制码字的方法
GB2533905A (en) Method and apparatus for video coding and decoding
JP6719538B2 (ja) ビデオデータを符号化するための方法及び装置
JP2017073602A (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
JP2017050744A (ja) 画像符号化装置、画像符号化方法、及びプログラム
Ren et al. Rate model considering inter-symbol dependency for HEVC inter-frame coding
CN114071163A (zh) 码率估计方法、装置、电子设备及存储介质
JP2015231124A (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181211

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191108

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200207

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200616

R150 Certificate of patent or registration of utility model

Ref document number: 6719538

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150