JP2022171424A - 符号化装置、プログラム、及びモデル生成方法 - Google Patents
符号化装置、プログラム、及びモデル生成方法 Download PDFInfo
- Publication number
- JP2022171424A JP2022171424A JP2021078050A JP2021078050A JP2022171424A JP 2022171424 A JP2022171424 A JP 2022171424A JP 2021078050 A JP2021078050 A JP 2021078050A JP 2021078050 A JP2021078050 A JP 2021078050A JP 2022171424 A JP2022171424 A JP 2022171424A
- Authority
- JP
- Japan
- Prior art keywords
- dimensional
- transform coefficients
- unit
- quantization
- neural network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 49
- 238000013139 quantization Methods 0.000 claims abstract description 125
- 238000003062 neural network model Methods 0.000 claims abstract description 70
- 238000012545 processing Methods 0.000 claims abstract description 56
- 238000006243 chemical reaction Methods 0.000 claims abstract description 26
- 238000009795 derivation Methods 0.000 claims description 11
- 230000001131 transforming effect Effects 0.000 claims description 10
- 230000006870 function Effects 0.000 claims description 6
- 238000010801 machine learning Methods 0.000 claims description 4
- 238000012549 training Methods 0.000 claims description 3
- 230000009466 transformation Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 10
- 238000011160 research Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000002194 synthesizing effect Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】ニューラルネットワークモデルを用いた量子化処理を効率化する。【解決手段】符号化装置は、原画像のブロックと予測画像のブロックとの差分を表す残差信号に対して変換処理を行って得られる2次元の変換係数に対して量子化処理を行う量子化部122を備える。量子化部122は、2次元の変換係数に基づいて1次元のスケール後変換係数及び1次元の量子化後変換係数を生成し、1次元のスケール後変換係数及び1次元の量子化後変換係数を1次元ニューラルネットワークモデルに入力して得られる出力に応じて1次元の量子化後変換係数を調整する。【選択図】図3
Description
本発明は、符号化装置、プログラム、及びモデル生成方法に関する。
一般的に、動画像を符号化する符号化装置は、原画像のブロックと予測画像のブロックとの差分を表す残差信号に対して変換処理を行って得られる2次元の変換係数に対して量子化処理を行う量子化部と、量子化部により得られる2次元の量子化後変換係数をスキャン順に応じて1次元に変換したうえでエントロピー符号化を行うエントロピー符号化部とを有する。量子化部は、量子化パラメータQPから算出される所定値である量子化ステップ(Qstep)により変換係数を除算することで、実数で表されるスケール後変換係数を導出したうえで、スケール後変換係数を丸め処理により整数に変換した量子化後変換係数を導出する。
HEVC(High Efficiency Video Coding)方式及びVVC(Versatile Video Coding)方式では、量子化部が量子化後変換係数を導出(すなわち、量子化)する際に、RDOQ(Rate Distortion Quantized Optimization)と呼ばれる技術が用いられている。RDOQでは、式(1)に示すRD(Rate Distortion)コストを最小化することで最適な量子化処理を決定する。
ここで、λはQPなどの量子化パラメータによって決定される定数であり、xは量子化前の変換係数(スケール後変換係数)であり、qは量子化後の変換係数(量子化後変換係数)である。また、D(q,x)は量子化歪みであり、一般的にx及びqの残差二乗和で表される。R(q)はHEVC方式及びVVC方式で採用されているCABACを用いてqをエントロピー符号化したビットレートである。
非特許文献1には、符号化効率を向上させるために、貪欲法による量子化結果を教師データとして用いてニューラルネットワークに学習させてニューラルネットワークモデルを生成し、量子化部がニューラルネットワークモデルを用いて量子化処理を決定する技術が記載されている。
非特許文献1に記載の技術(以下、「先行研究」と呼ぶ)では、量子化部は、2次元の変換係数を所定値で除算して2次元のスケール後変換係数を導出するとともに、2次元のスケール後変換係数を丸め処理により整数に変換して2次元の量子化後変換係数を導出する。そして、量子化部は、2次元のスケール後変換係数及び2次元の量子化後変換係数を2次元ニューラルネットワークモデルに入力して得られる量子化調整値を用いて2次元の量子化後変換係数を調整する。
D. Kianfar, A. Wiggers, A. Said, R. Pourreza, T. Cohen, Parallelized Rate-Distortion Optimized Quantization using Deep Learning, IEEE MMSP 2020
上述のように、エントロピー符号化部は、量子化部により得られる2次元の量子化後変換係数をスキャン順に応じて1次元に変換したうえでCABAC等のエントロピー符号化を行う。CABACにおける2値シンボルのMPS(Most Probable Symbol)生起確率は、それまでに出現した2値シンボルの値に基づいて推定される。そのため、ニューラルネットワークモデルを用いた量子化処理においてもエントロピー符号化におけるスキャン順を考慮することで符号化効率が向上すると考えられる。
しかしながら、先行研究では、2次元ニューラルネットワークモデルを用いているため、エントロピー符号化におけるスキャン順が考慮されていない。そのため、先行研究では、エントロピー符号化におけるスキャン順において隣り合わない係数の特徴も抽出しており、関係性の小さい特徴により誤った量子化調整値を導出し得るという問題がある。
そこで、本発明は、ニューラルネットワークモデルを用いた量子化処理を効率化することが可能な符号化装置、プログラム、及びモデル生成方法を提供することを目的とする。
第1の態様に係る符号化装置は、原画像のブロックと予測画像のブロックとの差分を表す残差信号に対して変換処理を行って得られる2次元の変換係数に対して量子化処理を行う量子化部を備える。前記量子化部は、前記2次元の変換係数に基づいて1次元のスケール後変換係数及び1次元の量子化後変換係数を生成し、前記1次元のスケール後変換係数及び前記1次元の量子化後変換係数を1次元ニューラルネットワークモデルに入力して得られる出力に応じて前記1次元の量子化後変換係数を調整する。
第2の態様に係るプログラムは、コンピュータを第1の態様に係る符号化装置として機能させる。
第3の態様に係るモデル生成方法は、符号化のための学習済みモデルを生成する方法である。前記モデル生成方法は、1次元のスケール後変換係数と、1次元の量子化後変換係数と、全探索又は貪欲法を用いて導出された最適な1次元の量子化後変換係数又は当該最適な1次元の量子化後変換係数に基づく量子化調整値と、のセットを教師データとして取得するステップと、前記セットを複数含む前記教師データを用いた機械学習により、前記1次元のスケール後変換係数及び前記1次元の量子化後変換係数を入力とし、前記最適な1次元の量子化後変換係数又は前記量子化調整値を出力とする前記学習済みモデルである1次元ニューラルネットワークモデルを生成するステップとを有する。
本発明によれば、ニューラルネットワークモデルを用いた量子化処理を効率化することが可能な符号化装置、プログラム、及びモデル生成方法を提供できる。
図面を参照して、実施形態について説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。
(符号化装置)
(1)符号化装置の構成
まず、本実施形態に係る符号化装置の構成について説明する。本実施形態に係る符号化装置は、MPEGに代表される動画像の符号化を行う。図1は、本実施形態に係る符号化装置1の構成を示す図である。符号化装置1は、画像を分割して得たブロック単位で符号化を行う装置である。
まず、本実施形態に係る符号化装置の構成について説明する。本実施形態に係る符号化装置は、MPEGに代表される動画像の符号化を行う。図1は、本実施形態に係る符号化装置1の構成を示す図である。符号化装置1は、画像を分割して得たブロック単位で符号化を行う装置である。
図1に示すように、符号化装置1は、ブロック分割部100と、減算部110と、変換・量子化部120と、エントロピー符号化部130と、逆量子化・逆変換部140と、合成部150と、ループフィルタ160と、メモリ170と、予測部180とを有する。
ブロック分割部100は、動画像を構成するフレーム(或いはピクチャ)単位の入力画像を複数の画像ブロックに分割し、分割により得た画像ブロックを減算部110に出力する。画像ブロックのサイズは、例えば32×32画素、16×16画素、8×8画素、又は4×4画素等である。画像ブロックの形状は正方形に限らず矩形(非正方形)であってもよい。画像ブロックは、符号化装置1が符号化を行う単位(符号化対象ブロック)であり、且つ復号装置が復号を行う単位(復号対象ブロック)である。このような画像ブロックはCU(Coding Unit)と呼ばれることがある。
減算部110は、ブロック分割部100が出力する符号化対象ブロックと、符号化対象ブロックを予測部180が予測して得た予測ブロックとの差分(誤差)を表す予測残差を算出する。減算部110は、ブロックの各画素値から予測ブロックの各画素値を減算することにより予測残差を算出し、算出した予測残差を変換・量子化部120に出力する。
変換・量子化部120は、ブロック単位で変換処理及び量子化処理を行う。変換・量子化部120は、変換部121と、量子化部122とを有する。
変換部121は、減算部110が出力する予測残差に対して変換処理を行って周波数成分ごとの変換係数を算出し、算出した変換係数を量子化部122に出力する。変換処理(変換)とは、画素領域の信号を周波数領域の信号に変換する処理をいい、例えば、離散コサイン変換(DCT)や離散サイン変換(DST)、カルーネンレーブ変換(KLT)、及びそれらを整数化した変換等をいう。また、変換処理には、画素領域の信号を周波数領域の信号に変換することなくスケーリング等により調整する変換スキップを含んでもよい。
量子化部122は、変換部121が出力する変換係数に対して量子化処理を行い、量子化後変換係数をエントロピー符号化部130及び逆量子化・逆変換部140に出力する。具体的には、量子化部122は、原画像のブロックと予測画像のブロックとの差分を表す残差信号に対して変換処理を行って得られる2次元の変換係数に対して量子化処理を行い、2次元の量子化後変換係数を出力する。
量子化処理には、予め生成された学習済みモデルとしてニューラルネットワークモデルが用いられる。本実施形態に係る量子化部122は、2次元の変換係数に基づいて1次元のスケール後変換係数及び1次元の量子化後変換係数を生成し、1次元のスケール後変換係数及び1次元の量子化後変換係数を1次元ニューラルネットワークモデルに入力して得られる出力に応じて1次元の量子化後変換係数を調整する。量子化部122の詳細については後述する。
エントロピー符号化部130は、量子化部122が出力する変換係数に対してエントロピー符号化を行い、データ圧縮を行って符号化ストリーム(ビットストリーム)を生成し、符号化ストリームを符号化装置1の外部に出力する。具体的には、エントロピー符号化部130は、量子化部122により得られる2次元の量子化後変換係数をスキャン順に応じて1次元に変換したうえでエントロピー符号化を行う。エントロピー符号化には、ハフマン符号やCABAC(Context-based Adaptive Binary Arithmetic Coding)等を用いることができる。
エントロピー符号化部130が用いるスキャン順は1種類のみであってもよいし、イントラ予測モード又は変換スキップに応じて複数種類のスキャン順の中から1つのスキャン順を選択してもよい。図2は、スキャン順の種類の一例を示す図である。以下において、符号化対象ブロックが8×8のサイズを有し、エントロピー符号化部130が4×4の係数グループ(CG:Coefficient Group)単位でスキャンを行うものとする。スキャン順は、図2(a)に示すdiagonal、図2(b)に示すhorizontal、及び図2(c)に示すverticalの3種類を含む。エントロピー符号化部130は、イントラ予測モード又は変換スキップに応じて選択したスキャン順により2次元の量子化後変換係数を1次元に変換(すなわち、シリアライズ)したうえで、CABAC等のエントロピー符号化を行う。このようなシリアライズにより、8×8変換係数の場合は64×1の変換係数に変換されることになる。エントロピー符号化部130は、複数種類のスキャン順の中から1つのスキャン順を選択する場合、選択したスキャン順を示す情報を量子化部122に出力してもよい。
なお、CABACは、二値算術符号化、及び2値シンボルの生起確率を周囲のパラメータの状態(コンテキスト)に基づいて推定するコンテキスト適応処理を用いたエントロピー符号化手法である。入力される2値シンボルの値及びMPS(MostProbableSymbol:0と1のうち出現する確率が高いシンボル)生起確率に基づいて数直線を区間分割していき、最終的に得られた区間の2進数表現を入力2値シンボル系列の符号語とする。2値シンボルのMPS生起確率は、それまでに出現した2値シンボルの値に基づいて推定する。すなわち、所定の確率推定モデルに基づき、2値シンボルがMPSであった場合はMPS生起確率を高め、MPSでなかった場合はMPS生起確率を低下させる制御により、その後に出現する2値シンボルのMPS生起確率を更新する。
また、エントロピー符号化部130は、ブロック分割部100から各符号化対象ブロックのサイズ・形状等の制御情報を取得し、量子化部122から量子化処理に関する制御情報を取得し、予測部180から予測に関する制御情報(例えば、予測モードや動きベクトルの情報)を取得し、これらの制御情報の符号化も行う。
逆量子化・逆変換部140は、ブロック単位で逆量子化処理及び逆変換処理を行う。逆量子化・逆変換部140は、逆量子化部141と、逆変換部142とを有する。
逆量子化部141は、量子化部122が行う量子化処理に対応する逆量子化処理を行う。具体的には、逆量子化部141は、量子化部122が出力する量子化後変換係数に対して逆量子化処理を行うことにより変換係数を復元し、復元した変換係数を逆変換部142に出力する。
逆変換部142は、変換部121が行う変換処理に対応する逆変換処理を行う。例えば、変換部121がDCTを行った場合には、逆変換部142は逆DCTを行う。逆変換部142は、逆量子化部141が出力する変換係数に対して逆変換処理を行って予測残差を復元し、復元した予測残差である復元予測残差を合成部150に出力する。
合成部150は、逆変換部142が出力する復元予測残差を、予測部180が出力する予測ブロックと画素単位で合成する。合成部150は、復元予測残差の各画素値と予測ブロックの各画素値を加算して符号化対象ブロックを復号(再構成)し、復号済みブロックをループフィルタ160に出力する。
ループフィルタ160は、デブロッキングフィルタ処理及びSAO(sample adaptive offset)等のフィルタ処理を行い、フィルタ処理後復号済みブロックをメモリ170に出力する。
メモリ170は、ループフィルタ160が出力するフィルタ処理後復号済みブロックをフレーム単位で復号画像として蓄積する。メモリ170は、記憶している復号画像を予測部180に出力する。
予測部180は、ブロック単位で予測処理を行うことにより、符号化対象ブロックに対応する予測ブロックを生成し、生成した予測ブロックを減算部110及び合成部150に出力する。予測部180は、インター予測部181と、イントラ予測部182と、切替部183とを有する。
インター予測部181は、メモリ170に記憶された復号画像を参照画像として用いて、ブロックマッチング等の手法により動きベクトルを算出し、符号化対象ブロックを予測してインター予測ブロックを生成し、生成したインター予測ブロックを切替部183に出力する。インター予測部181は、複数の参照画像を用いるインター予測(典型的には、双予測)や、1つの参照画像を用いるインター予測(片方向予測)の中から最適なインター予測方法を選択し、選択したインター予測方法を用いてインター予測を行う。
イントラ予測部182は、複数のイントラ予測モードの中から、符号化対象ブロックに適用する最適なイントラ予測モードを選択し、選択したイントラ予測モードを用いて符号化対象ブロックを予測する。イントラ予測部182は、メモリ170に記憶された復号画像のうち、符号化対象ブロックに隣接する復号済み画素値を参照してイントラ予測ブロックを生成し、生成したイントラ予測ブロックを切替部183に出力する。
切替部183は、インター予測部181が出力するインター予測ブロックとイントラ予測部182が出力するイントラ予測ブロックとを切り替えて、いずれかの予測ブロックを減算部110及び合成部150に出力する。
(2)量子化部
次に、本実施形態に係る量子化部122について説明する。図3は、本実施形態に係る量子化部122の構成を示す図である。図4は、本実施形態に係る量子化部122の動作を説明するための図である。
次に、本実施形態に係る量子化部122について説明する。図3は、本実施形態に係る量子化部122の構成を示す図である。図4は、本実施形態に係る量子化部122の動作を説明するための図である。
図3に示すように、量子化部122は、導出部122aと、次元変換部122bと、符号取得部122cと、符号除去部122dと、調整値取得部122eと、調整値加算部122fと、次元逆変換部122gとを有する。本実施形態において、符号取得部122c、符号除去部122d、調整値取得部122e、及び調整値加算部122fは、量子化後変換係数を調整する調整部を構成する。
導出部122aは、上述の変換部121が出力する2次元の変換係数を所定値で除算して2次元のスケール後変換係数を導出するとともに、2次元のスケール後変換係数を丸め処理により整数に変換して2次元の量子化後変換係数を導出し、2次元のスケール後変換係数及び2次元の量子化後変換係数を次元変換部122bに出力する。なお、図3において、便宜上、スケール後変換係数をSTC(Scaled Transform Coefficient)と表記し、量子化後変換係数をQTC(Quantized Transform Coefficient)と表記している。
例えば、導出部122aは、変換部121がDCTやDSTなどの変換処理を施した変換係数に対して、量子化パラメータQPから算出される量子化ステップ(Qstep)により除算した実数で表されるスケール後変換係数と、スケール後変換係数を丸め処理により整数に変換した量子化後変換係数とを導出する。量子化後変換係数には、床関数や天井関数による変換処理を施してもよいし、HMやVTMなどの手法による量子化処理結果を用いてもよい。なお、HMはHEVC方式のテストモデルであり、VTMはHEVC方式のテストモデルである。スケール後変換係数から量子化後変換係数を導出する処理(すなわち、量子化)の詳細については後述する。
次元変換部122bは、導出部122aが出力する2次元のスケール後変換係数及び2次元の量子化後変換係数のそれぞれをスキャン順に応じて1次元に変換(シリアライズ)し、1次元のスケール後変換係数を符号除去部122dに出力するとともに、1次元の量子化後変換係数を符号取得部122c及び符号除去部122dに出力する。ここで、エントロピー符号化部130が用いるスキャン順が1つに固定されている場合、次元変換部122bは、当該1つのスキャン順によりシリアライズを行えばよい。これに対し、エントロピー符号化部130が複数のスキャン順の中から1つのスキャン順を選択してシリアライズを行う場合、次元変換部122bは、当該選択されたスキャン順によりシリアライズを行うものとする。
符号取得部122cは、次元変換部122bが出力する1次元の量子化後変換係数を構成する各変換係数の正負符号を取得し、取得した各正負符号を調整値加算部122fに出力する。
符号除去部122dは、1次元のスケール後変換係数を構成する各変換係数の正負符号及び1次元の量子化後変換係数を構成する各変換係数の正負符号を除去し、正負符号が除去された1次元のスケール後変換係数及び1次元の量子化後変換係数を調整値取得部122eに出力する。これにより、正負符号に依らないニューラルネットワークモデルの処理が可能になる。なお、ニューラルネットワークモデルを生成する際の学習においても正負符号を除去したものを用いる。
調整値取得部122eは、符号除去部122dが出力する1次元のスケール後変換係数及び1次元の量子化後変換係数から、1次元ニューラルネットワークモデルを用いて量子化調整値(具体的には、変換係数ごとの調整値)を取得し、取得した量子化調整値を調整値加算部122fに出力する。1次元ニューラルネットワークモデルは、1次元のスケール後変換係数と、1次元の量子化後変換係数と、全探索又は貪欲法を用いて導出された最適な1次元の量子化後変換係数(又は当該最適な1次元の量子化後変換係数に基づく量子化調整値)と、のセットを教師データとして複数用いた機械学習により生成された学習済みモデルである。そのため、1次元ニューラルネットワークモデルは、符号除去部122dが出力する1次元のスケール後変換係数及び1次元の量子化後変換係数を入力として、最適な1次元の量子化後変換係数(又は当該最適な1次元の量子化後変換係数に基づく量子化調整値)を出力する。1次元ニューラルネットワークモデルが最適な1次元の量子化後変換係数を出力する構成である場合、調整値取得部122eは、当該最適な1次元の量子化後変換係数と、符号除去部122dが出力する1次元の量子化後変換係数との差分を変換係数ごとに算出することにより、変換係数ごとの量子化調整値を取得してもよい。なお、量子化調整値としては、変換係数ごとに、「-1」、「±0」の2種類の調整値とすることができるが、3種類以上の調整値を用いてもよい。
エントロピー符号化部130が用いるスキャン順の候補が複数存在する場合、スキャン順ごとに個別の1次元ニューラルネットワークモデルが生成されていてもよい。例えば、図2(a)に示すdiagonalに対応する1次元ニューラルネットワークモデルと、図2(b)に示すhorizontalに対応する1次元ニューラルネットワークモデルと、図2(c)に示すverticalに対応する1次元ニューラルネットワークモデルとが生成されていてもよい。このような場合、調整値取得部122eは、当該複数のスキャン順に対応する複数の1次元ニューラルネットワークモデルのうち、エントロピー符号化部130により選択されたスキャン順に対応する1次元ニューラルネットワークモデルを特定してもよい。そして、調整値取得部122eは、当該特定した1次元ニューラルネットワークモデルを用いて量子化調整値を取得してもよい。
調整値加算部122fは、調整値取得部122eが出力する量子化調整値を、正負符号が除去された1次元の量子化後変換係数に加算するとともに、符号取得部122cが出力する正負符号を当該1次元の量子化後変換係数に付与し、最適化された1次元の量子化後変換係数を次元逆変換部122gに出力する。
次元逆変換部122gは、調整値加算部122fが出力する最適化された1次元の量子化後変換係数に対して、次元変換部122bが行う次元変換処理の逆処理を行う。すなわち、次元逆変換部122gは、最適化された1次元の量子化後変換係数をスキャン順に応じて2次元に逆変換し、最適化された2次元の量子化後変換係数を出力する。
このように、本実施形態に係る量子化部122は、スキャン順に応じて1次元のスケール後変換係数及び1次元の量子化後変換係数を生成し、生成した1次元のスケール後変換係数及び1次元の量子化後変換係数を1次元ニューラルネットワークモデルに入力して得られる出力に応じて1次元の量子化後変換係数を調整する。
上述のように、エントロピー符号化部130は、量子化部122により得られる2次元の量子化後変換係数をスキャン順に応じて1次元に変換したうえでCABAC等のエントロピー符号化を行う。CABACにおける2値シンボルのMPS生起確率は、それまでに出現した2値シンボルの値に基づいて推定される。
2次元ニューラルネットワークモデルを用いる先行研究では、エントロピー符号化におけるスキャン順が考慮されておらず、図4(a)に示すように、エントロピー符号化におけるスキャン順において隣り合わない係数の特徴も2次元ニューラルネットワークモデルにおいて抽出しており、関係性の小さい特徴により誤った予測(すなわち、誤った量子化調整値の導出)につながるという問題がある。
これに対し、本実施形態では、図4(b)に示すように、エントロピー符号化におけるスキャン順を考慮し、1次元のスケール後変換係数及び1次元の量子化後変換係数を1次元ニューラルネットワークモデルに入力することで量子化調整値を導出する。エントロピー符号化におけるスキャン順において隣り合う部分の係数の特徴を1次元ニューラルネットワークモデルにおいて抽出可能であり、最適な量子化調整値を導出することが可能になる。よって、ニューラルネットワークモデルを用いた量子化処理において、エントロピー符号化におけるスキャン順を考慮することにより、符号化効率を向上させることができる。
(3)導出部における量子化後変換係数の導出処理の一例
次に、本実施形態に係る導出部122aにおいてスケール後変換係数から量子化後変換係数を導出する処理(いわゆる、RDOQ処理)の一例について説明する。図5は、RDOQ処理の一例を示す図である。
次に、本実施形態に係る導出部122aにおいてスケール後変換係数から量子化後変換係数を導出する処理(いわゆる、RDOQ処理)の一例について説明する。図5は、RDOQ処理の一例を示す図である。
図5(a)に示すように、第1に、導出部122aは、2次元のスケール後変換係数に対してスカラー量子化(SQ:Scaler Quantization)処理を行い、2次元のスケール後変換係数の各変換係数を丸め処理する。
第2に、導出部122aは、LE(Level Estimation)処理を行い、各変換係数を「-1」、「±0」した際のRDコストを算出し、RDコストがより最適となるレベルを推定する。
第3に、導出部122aは、AZ(All-zero CG)処理を行い、RDコストに基づいて、図5(b)に示す各CG内の変換係数を全て0にするかどうかを決定する。
第4に、導出部122aは、最終有意係数処理(LAST処理)を行い、RDコストに基づいて最後の非ゼロとなる変換係数の最適な位置を推定する。
第5に、導出部122aは、SBH(Sign Bit Hiding)処理を行い、変換の総和が偶数か奇数かに応じて、最後の変換係数の正負を暗黙的に決定するための処理を行う。
(4)1次元ニューラルネットワークモデルの一例
次に、本実施形態に係る1次元ニューラルネットワークモデルの一例について説明する。図6は、1次元ニューラルネットワークモデルの一例を示す図である。
次に、本実施形態に係る1次元ニューラルネットワークモデルの一例について説明する。図6は、1次元ニューラルネットワークモデルの一例を示す図である。
図6に示す1次元ニューラルネットワークモデルは、正負符号が除去された1次元のスケール後変換係数(実数)及び1次元の量子化後変換係数(整数)を入力(Input data)として、当該1次元の量子化後変換係数に対する調整値を出力する。
1次元ニューラルネットワークモデルは、1次元の複数の中間層を含んで構成される。図6の8×8の変換係数において、3層の3×1の1次元畳み込みニューラルネットワークモデルを用いる場合を例示している。
まず、入力データの変換係数が平均0、分散1となるような標準化(Normalize)を行う。標準化した変換係数を3×1の畳み込み層(3×1 Conv1D)へ入力する。
次に、畳み込み層ではゼロパディング処理を行うことにより、一つの畳み込み層の出力は常に64×1に保たれる。畳み込みの後にドロップアウト及びバッチノーマライゼーション(Dropout/BatchNorm)による処理を施してもよい。その後、ReLU関数のような活性化関数を通して1層分の出力が行われる。
最終層の出力は1×1の1次元畳み込み(1×1 Conv2D)を通じて、最終的にk種類の調整値に対して64×k次元の調整値を表す確率が出力される。
(5)実施形態のまとめ
上述のように、量子化部122は、2次元の変換係数に基づいて1次元のスケール後変換係数及び1次元の量子化後変換係数を生成し、1次元のスケール後変換係数及び1次元の量子化後変換係数を1次元ニューラルネットワークモデルに入力して得られる出力に応じて1次元の量子化後変換係数を調整する。1次元ニューラルネットワークモデルにより隣り合う係数のみから特徴を抽出することで精度の高い予測をすることが可能になり、符号化効率を向上させることができる。
上述のように、量子化部122は、2次元の変換係数に基づいて1次元のスケール後変換係数及び1次元の量子化後変換係数を生成し、1次元のスケール後変換係数及び1次元の量子化後変換係数を1次元ニューラルネットワークモデルに入力して得られる出力に応じて1次元の量子化後変換係数を調整する。1次元ニューラルネットワークモデルにより隣り合う係数のみから特徴を抽出することで精度の高い予測をすることが可能になり、符号化効率を向上させることができる。
(モデル生成方法)
次に、本実施形態に係るモデル生成方法について説明する。本実施形態に係るモデル生成方法は、符号化のための学習済みモデルとして、上述の1次元ニューラルネットワークモデルを生成するための方法である。このモデル生成方法は、符号化装置1と異なるコンピュータにより実行されてもよいし、符号化装置1により実行されてもよい。以下において、モデル生成方法を実行する装置をモデル生成方法装置と呼ぶ。図7は、本実施形態に係るモデル生成方法を示す図である。
次に、本実施形態に係るモデル生成方法について説明する。本実施形態に係るモデル生成方法は、符号化のための学習済みモデルとして、上述の1次元ニューラルネットワークモデルを生成するための方法である。このモデル生成方法は、符号化装置1と異なるコンピュータにより実行されてもよいし、符号化装置1により実行されてもよい。以下において、モデル生成方法を実行する装置をモデル生成方法装置と呼ぶ。図7は、本実施形態に係るモデル生成方法を示す図である。
図7に示すように、ステップS1において、モデル生成装置は、2次元の変換係数を所定値で除算して2次元のスケール後変換係数を導出するとともに、2次元のスケール後変換係数を丸め処理により整数に変換して2次元の量子化後変換係数を導出する。
ステップS2において、モデル生成装置は、ステップS1で導出された2次元のスケール後変換係数及び2次元の量子化後変換係数のそれぞれをスキャン順に応じて1次元に変換(シリアライズ)することにより、1次元のスケール後変換係数及び1次元の量子化後変換係数を取得する。また、モデル生成装置は、1次元のスケール後変換係数及び1次元の量子化後変換係数に対して正負符号の除去を行う。
ステップS3において、モデル生成装置は、ステップS2で取得された1次元のスケール後変換係数及び1次元の量子化後変換係数と、全探索又は貪欲法を用いて導出された最適な1次元の量子化後変換係数(又は当該最適な1次元の量子化後変換係数に基づく量子化調整値)と、のセットを教師データとして取得する。
ステップS4において、モデル生成装置は、ステップS3で取得したセットを複数含む教師データを用いた機械学習により、1次元のスケール後変換係数及び1次元の量子化後変換係数を入力とし、最適な1次元の量子化後変換係数(又は量子化調整値)を出力とする学習済みモデルである1次元ニューラルネットワークモデルを生成する。
なお、モデル生成装置は、図7に示すモデル生成方法を、予め定められた複数のスキャン順のそれぞれについて実行し、複数のスキャン順のそれぞれに個別の1次元ニューラルネットワークモデルを生成してもよい。
(その他の実施形態)
変換部121が用いる変換処理の種類の候補が複数存在する場合、変換処理の種類ごとに個別の1次元ニューラルネットワークモデルが生成されていてもよい。例えば、DCT-2に対応する1次元ニューラルネットワークモデルと、DST-7に対応する1次元ニューラルネットワークモデルとが生成されていてもよい。このような場合、調整値取得部122eは、複数種類の変換処理に対応する複数の1次元ニューラルネットワークモデルのうち、変換部121により選択された種類の変換処理に対応する1次元ニューラルネットワークモデルを特定し、当該特定した1次元ニューラルネットワークモデルを用いて量子化調整値を取得(導出)してもよい。
変換部121が用いる変換処理の種類の候補が複数存在する場合、変換処理の種類ごとに個別の1次元ニューラルネットワークモデルが生成されていてもよい。例えば、DCT-2に対応する1次元ニューラルネットワークモデルと、DST-7に対応する1次元ニューラルネットワークモデルとが生成されていてもよい。このような場合、調整値取得部122eは、複数種類の変換処理に対応する複数の1次元ニューラルネットワークモデルのうち、変換部121により選択された種類の変換処理に対応する1次元ニューラルネットワークモデルを特定し、当該特定した1次元ニューラルネットワークモデルを用いて量子化調整値を取得(導出)してもよい。
変換部121が出力する2次元の変換係数は、予め定められた複数種類のブロックサイズの中から選択されたブロックサイズを有していてもよい。すなわち、ブロックサイズの候補が複数存在してもよい。ブロックサイズは、ブロック分割部100により選択されてもよい。このような場合、ブロックサイズごとに個別の1次元ニューラルネットワークモデルが生成されていてもよい。例えば、4×4のブロックサイズに対応する1次元ニューラルネットワークモデルと、8×8のブロックサイズに対応する1次元ニューラルネットワークモデルとが生成されていてもよい。このような場合、調整値取得部122eは、複数種類のブロックサイズに対応する複数の1次元ニューラルネットワークモデルのうち、ブロック分割部100により選択されたブロックサイズに対応する1次元ニューラルネットワークモデルを特定し、当該特定した1次元ニューラルネットワークモデルを用いて量子化調整値を取得(導出)してもよい。
符号化装置1が行う各処理をコンピュータに実行させるプログラムが提供されてもよい。モデル生成方法の各ステップをコンピュータに実行させるプログラムが提供されてもよい。プログラムは、コンピュータ読取り可能媒体に記録されていてもよい。コンピュータ読取り可能媒体を用いれば、コンピュータにプログラムをインストールすることが可能である。ここで、プログラムが記録されたコンピュータ読取り可能媒体は、非一過性の記録媒体であってもよい。非一過性の記録媒体は、特に限定されるものではないが、例えば、CD-ROMやDVD-ROM等の記録媒体であってもよい。また、符号化装置1が行う各処理を実行する回路を集積化し、符号化装置1を半導体集積回路(チップセット、SoC)により構成してもよい。
以上、図面を参照して実施形態について詳しく説明したが、具体的な構成は上述のものに限られることはなく、要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
1 :符号化装置
100 :ブロック分割部
110 :減算部
120 :変換・量子化部
121 :変換部
122 :量子化部
122a :導出部
122b :次元変換部
122c :符号取得部
122d :符号除去部
122e :調整値取得部
122f :調整値加算部
122g :次元逆変換部
130 :エントロピー符号化部
140 :逆量子化・逆変換部
141 :逆量子化部
142 :逆変換部
150 :合成部
160 :ループフィルタ
170 :メモリ
180 :予測部
181 :インター予測部
182 :イントラ予測部
183 :切替部
100 :ブロック分割部
110 :減算部
120 :変換・量子化部
121 :変換部
122 :量子化部
122a :導出部
122b :次元変換部
122c :符号取得部
122d :符号除去部
122e :調整値取得部
122f :調整値加算部
122g :次元逆変換部
130 :エントロピー符号化部
140 :逆量子化・逆変換部
141 :逆量子化部
142 :逆変換部
150 :合成部
160 :ループフィルタ
170 :メモリ
180 :予測部
181 :インター予測部
182 :イントラ予測部
183 :切替部
Claims (11)
- 原画像のブロックと予測画像のブロックとの差分を表す残差信号に対して変換処理を行って得られる2次元の変換係数に対して量子化処理を行う量子化部を備える符号化装置であって、
前記量子化部は、前記2次元の変換係数に基づいて1次元のスケール後変換係数及び1次元の量子化後変換係数を生成し、前記1次元のスケール後変換係数及び前記1次元の量子化後変換係数を1次元ニューラルネットワークモデルに入力して得られる出力に応じて前記1次元の量子化後変換係数を調整することを特徴とする符号化装置。 - 前記量子化部により得られる2次元の量子化後変換係数をスキャン順に応じて1次元に変換したうえでエントロピー符号化を行うエントロピー符号化部をさらに備え、
前記量子化部は、
前記2次元の変換係数を所定値で除算して前記2次元のスケール後変換係数を導出するとともに、前記2次元のスケール後変換係数を丸め処理により整数に変換して前記2次元の量子化後変換係数を導出する導出部と、
前記2次元のスケール後変換係数及び前記2次元の量子化後変換係数のそれぞれを前記スキャン順に応じて1次元に変換する次元変換部と、
前記次元変換部により得られる前記1次元のスケール後変換係数及び前記1次元の量子化後変換係数を前記1次元ニューラルネットワークモデルに入力して得られる量子化調整値を用いて前記1次元の量子化後変換係数を調整する調整部と、
前記調整部により調整された前記1次元の量子化後変換係数を前記スキャン順に応じて2次元に逆変換して前記2次元の量子化後変換係数を出力する次元逆変換部と、を有することを特徴とする請求項1に記載の符号化装置。 - 前記調整部は、
前記1次元の量子化後変換係数を構成する各変換係数の正負符号を取得する符号取得部と、
前記1次元のスケール後変換係数を構成する各変換係数の正負符号及び前記1次元の量子化後変換係数を構成する各変換係数の正負符号を除去する符号除去部と、
前記符号除去部により正負符号が除去された前記1次元のスケール後変換係数及び前記1次元の量子化後変換係数から、前記1次元ニューラルネットワークモデルを用いて前記量子化調整値を取得する調整値取得部と、
前記調整値取得部により得られる前記量子化調整値を、前記正負符号が除去された前記1次元の量子化後変換係数に加算するとともに、前記符号取得部により得られる前記正負符号を当該1次元の量子化後変換係数に付与する調整値加算部と、を有することを特徴とする請求項2に記載の符号化装置。 - 前記エントロピー符号化部は、予め定められた複数のスキャン順の中から選択されたスキャン順に応じて前記2次元の量子化後変換係数を1次元に変換し、
前記調整部は、前記複数のスキャン順に対応する複数の1次元ニューラルネットワークモデルのうち、前記選択されたスキャン順に対応する1次元ニューラルネットワークモデルを特定し、当該特定した1次元ニューラルネットワークモデルを用いて前記量子化調整値を導出することを特徴とする請求項2又は3に記載の符号化装置。 - 前記残差信号に対して前記変換処理を行う変換部をさらに備え、
前記変換部は、予め定められた複数種類の変換処理の中から選択された種類の前記変換処理を行い、
前記調整部は、前記複数種類の変換処理に対応する複数の1次元ニューラルネットワークモデルのうち、前記選択された種類の変換処理に対応する1次元ニューラルネットワークモデルを特定し、当該特定した1次元ニューラルネットワークモデルを用いて前記量子化調整値を導出することを特徴とする請求項2又は3に記載の符号化装置。 - 前記2次元の変換係数は、予め定められた複数種類のブロックサイズの中から選択されたブロックサイズを有し、
前記調整部は、前記複数種類のブロックサイズに対応する複数の1次元ニューラルネットワークモデルのうち、前記選択されたブロックサイズに対応する1次元ニューラルネットワークモデルを特定し、当該特定した1次元ニューラルネットワークモデルを用いて前記量子化調整値を導出することを特徴とする請求項2又は3に記載の符号化装置。 - 前記1次元ニューラルネットワークモデルは、1次元のスケール後変換係数と、1次元の量子化後変換係数と、全探索又は貪欲法を用いて導出された最適な1次元の量子化後変換係数又は当該最適な1次元の量子化後変換係数に基づく量子化調整値と、のセットを教師データとして複数用いた機械学習により生成された学習済みモデルであることを特徴とする請求項1乃至6のいずれか1項に記載の符号化装置。
- コンピュータを請求項1乃至7のいずれか1項に記載の符号化装置として機能させることを特徴とするプログラム。
- 符号化のための学習済みモデルを生成するモデル生成方法であって、
1次元のスケール後変換係数と、1次元の量子化後変換係数と、全探索又は貪欲法を用いて導出された最適な1次元の量子化後変換係数又は当該最適な1次元の量子化後変換係数に基づく量子化調整値と、のセットを教師データとして取得するステップと、
前記セットを複数含む前記教師データを用いた機械学習により、前記1次元のスケール後変換係数及び前記1次元の量子化後変換係数を入力とし、前記最適な1次元の量子化後変換係数又は前記量子化調整値を出力とする前記学習済みモデルである1次元ニューラルネットワークモデルを生成するステップと、を有することを特徴とするモデル生成方法。 - 2次元の変換係数を所定値で除算して2次元のスケール後変換係数を導出するとともに、前記2次元のスケール後変換係数を丸め処理により整数に変換して2次元の量子化後変換係数を導出するステップをさらに有し、
前記取得するステップは、前記2次元のスケール後変換係数及び前記2次元の量子化後変換係数のそれぞれをスキャン順に応じて1次元に変換することにより、前記1次元のスケール後変換係数及び前記1次元の量子化後変換係数を取得するステップを含むことを特徴とする請求項9に記載のモデル生成方法。 - 前記生成するステップは、予め定められた複数のスキャン順のそれぞれについて前記1次元ニューラルネットワークモデルを生成するステップを含むことを特徴とする請求項9又は10に記載のモデル生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021078050A JP2022171424A (ja) | 2021-04-30 | 2021-04-30 | 符号化装置、プログラム、及びモデル生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021078050A JP2022171424A (ja) | 2021-04-30 | 2021-04-30 | 符号化装置、プログラム、及びモデル生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022171424A true JP2022171424A (ja) | 2022-11-11 |
JP2022171424A5 JP2022171424A5 (ja) | 2024-03-29 |
Family
ID=83946183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021078050A Pending JP2022171424A (ja) | 2021-04-30 | 2021-04-30 | 符号化装置、プログラム、及びモデル生成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2022171424A (ja) |
-
2021
- 2021-04-30 JP JP2021078050A patent/JP2022171424A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110024392B (zh) | 用于视频译码的低复杂度符号预测 | |
CN108293113B (zh) | 图像编码系统中的基于建模的图像解码方法和设备 | |
RU2543519C2 (ru) | Способ и устройство для кодирования и декодирования изображения с использованием крупной единицы преобразования | |
CN112929660A (zh) | 用于对图像进行编码或解码的方法和设备 | |
CN108028942A (zh) | 编码方法、解码方法及其装置 | |
KR20100015651A (ko) | 이차원 적응 내삽 필터의 필터 계수 결정 방법 | |
JP2004297566A (ja) | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法、及び動画像復号プログラム | |
JP2009111691A (ja) | 画像符号化装置及び符号化方法、画像復号化装置及び復号化方法 | |
JP2010251946A (ja) | 画像符号化装置、方法およびプログラム、並びに、画像復号装置、方法およびプログラム | |
WO2019189900A1 (ja) | 画像符号化装置、画像復号装置、及びプログラム | |
JP6042001B2 (ja) | 動画像符号化装置及び動画像符号化方法 | |
JP2016134860A (ja) | 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム | |
JP6727011B2 (ja) | 画像符号化装置及びその制御方法 | |
JP6309188B2 (ja) | 画素ブロックを符号化して再構成する方法及び対応する装置 | |
JP2014007469A (ja) | 画像符号化装置及び画像符号化方法 | |
JP2023053272A (ja) | 画像符号化装置、画像復号装置、及びプログラム | |
JP2013110747A5 (ja) | ||
JP2022171424A (ja) | 符号化装置、プログラム、及びモデル生成方法 | |
JP6564315B2 (ja) | 符号化装置、復号装置、及びプログラム | |
US20210334603A1 (en) | Dividing pattern determination device capable of reducing amount of computation, dividing pattern determination method, learning device, learning method, and storage medium | |
JP7412343B2 (ja) | 画像符号化装置、画像復号装置、及びプログラム | |
JP2015076765A (ja) | 画像処理装置及びその制御方法、並びに、コンピュータプログラム | |
JP2023117786A (ja) | 符号化装置、プログラム、及びモデル生成方法 | |
JP5931747B2 (ja) | 画像シーケンスのブロックの符号化および復元の方法 | |
JP6004852B2 (ja) | ピクセルブロックを符号化及び再構成する方法と装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240321 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240321 |