処理中

しばらくお待ちください...

設定

設定

出願の表示

1. WO2020129489 - 画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム

Document

明 細 書

発明の名称 画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム

技術分野

0001  

背景技術

0002   0003  

先行技術文献

特許文献

0004  

発明の概要

発明が解決しようとする課題

0005   0006  

課題を解決するための手段

0007  

発明の効果

0008  

図面の簡単な説明

0009  

発明を実施するための形態

0010   0011   0012   0013   0014   0015   0016   0017   0018   0019   0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083   0084   0085   0086   0087   0088   0089   0090   0091   0092   0093   0094   0095   0096   0097   0098   0099   0100   0101   0102   0103   0104   0105   0106   0107   0108   0109   0110   0111   0112   0113   0114   0115   0116   0117   0118   0119  

請求の範囲

1   2   3   4   5   6   7  

図面

1   2   3   4   5   6A   6B   7A   7B   7C   7D   7E   7F   8A   8B   8C   8D   9A   9B   10A   10B   10C   10D   11A   11B   11C   11D   12A   12B  

明 細 書

発明の名称 : 画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム

技術分野

[0001]
 本発明は、画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム
に関するものである。

背景技術

[0002]
 動画像の圧縮記録の符号化方式として、HEVC(High Efficiency Video Coding)符号化方式(以下、HEVCと記す)が知られている。HEVCでは符号化効率向上のため、従来のマクロブロック(16×16画素)より大きなサイズの基本ブロックが採用された。この大きなサイズの基本ブロックはCTU(Coding Tree Unit)と呼ばれ、そのサイズは最大64×64画素である。CTUはさらに予測や変換を行う単位となるサブブロックに分割される。
[0003]
 また、HEVCにおいては、量子化マトリクスと呼ばれる、直交変換を施した後の係数(以下、直交変換係数と記す)を、周波数成分に応じて重み付けをする処理が用いられている。人間の視覚には劣化が目立ちにくい高周波成分のデータをより削減することで、画質を維持しながら圧縮効率を高めることが可能となっている。特許文献1には、このような量子化マトリクスを符号化する技術が開示されている。

先行技術文献

特許文献

[0004]
特許文献1 : 特開2013-38758号公報

発明の概要

発明が解決しようとする課題

[0005]
 HEVCでは、16×16画素や32×32画素といった、従来の8×8画素の直交変換よりも大きな直交変換が用いられており、またそういった大きな直交変換に対応した量子化マトリクスも用いられている。量子化マトリクスの符号量自体の増大を防ぐため、16×16画素の直交変換に対応する256個の量子化マトリクスの要素全てを符号化する代わりに、64個分の要素のみを符号化し、復号側でアップサンプリング処理により拡張する構成としている。また、周波数領域でDC成分に相当する量子化マトリクスの左上端位置にあたる要素は別途符号化される。このためHEVCにおいては、大きな直交変換を使用した際に、DC成分以外の周波数成分の量子化処理を細かく制御できないという課題があった。
[0006]
 本発明は上述した課題を解決するためになされたものであり、符号化で利用する量子化マトリクスの符号量を抑制しつつ、画像の符号化を行う技術を提供しようとするものである。

課題を解決するための手段

[0007]
 この課題を解決するため、例えば本発明の画像符号化装置は以下の構成を備える。すなわち、
 画像データを符号化する画像符号化装置であって、
 符号化対象の画像データを予め設定されたサイズの基本ブロックに分割し、当該基本ブロックを、予め設定された複数のサブブロック分割パターンの何れかを用いて1以上のサブブロックに更に分割し、各サブブロック単位に周波数変換、量子化、エントロピー符号化を行う第1の符号化手段と、
 該第1の符号化手段で利用する前記サブブロック分割パターンに含まれるサブブロックのサイズに対応する複数の量子化マトリクスを保持する保持手段と、
 該保持手段で保持される複数の量子化マトリクスのうちの少なくとも1つを符号化する第2の符号化手段と、
 該第2の符号化手段で生成された符号化データと、第1の符号化手段で得た符号化データとを統合する統合手段とを有し、
 前記保持手段は、
   前記基本ブロックの水平、垂直方向のいずれかのサイズと同じサイズを有する量子化マトリクスについては、直流成分に対応する要素の格納位置から予め設定された所定範囲の位置の要素を独立した値として保持し、前記所定範囲を超える位置では予め設定された個数単位に同じ要素を保持することを特徴とする。

発明の効果

[0008]
 本発明によれば、符号化で利用する量子化マトリクスの符号量を抑制しつつ、画像の符号化を行うことが可能になる。
 本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。

図面の簡単な説明

[0009]
 添付図面は明細書に含まれ、その一部を構成し、本発明の実施の形態を示し、その記述と共に本発明の原理を説明するために用いられる。
[図1] 第1の実施形態における画像符号化装置のブロック構成図。
[図2] 第2の実施形態における画像復号装置のブロック構成図
[図3] 第1の実施形態に係る画像符号化装置における画像符号化処理を示すフローチャート。
[図4] 第2の実施形態に係る画像復号装置における画像復号処理を示すフローチャート。
[図5] 画像符号化装置、復号装置として適用可能なコンピュータのハードウェア構成例を示すブロック図。
[図6A] 第1の実施形態によって生成されるビットストリーム構造の一例を示す図。
[図6B] 第1の実施形態によって生成されるビットストリーム構造の一例を示す図。
[図7A] 実施形態で用いられるサブブロック分割の一例を示す図。
[図7B] 実施形態で用いられるサブブロック分割の一例を示す図。
[図7C] 実施形態で用いられるサブブロック分割の一例を示す図。
[図7D] 実施形態で用いられるサブブロック分割の一例を示す図。
[図7E] 実施形態で用いられるサブブロック分割の一例を示す図。
[図7F] 実施形態で用いられるサブブロック分割の一例を示す図。
[図8A] 実施形態で用いられる量子化マトリクスの一例を示す図。
[図8B] 実施形態で用いられる量子化マトリクスの一例を示す図。
[図8C] 実施形態で用いられる量子化マトリクスの一例を示す図。
[図8D] 実施形態で用いられる量子化マトリクスの一例を示す図。
[図9A] 実施形態で用いられる量子化マトリクスの一例を示す図。
[図9B] 実施形態で用いられる量子化マトリクスの一例を示す図。
[図10A] 実施形態で用いられる量子化マトリクスの要素の走査方法を示す図。
[図10B] 実施形態で用いられる量子化マトリクスの要素の走査方法を示す図。
[図10C] 実施形態で用いられる量子化マトリクスの要素の走査方法を示す図。
[図10D] 実施形態で用いられる量子化マトリクスの要素の走査方法を示す図。
[図11A] 実施形態で生成される量子化マトリクスの差分値行列を示す図。
[図11B] 実施形態で生成される量子化マトリクスの差分値行列を示す図。
[図11C] 実施形態で生成される量子化マトリクスの差分値行列を示す図。
[図11D] 実施形態で生成される量子化マトリクスの差分値行列を示す図。
[図12A] 量子化マトリクスの差分値の符号化に用いられる符号化テーブルの一例を示す図。
[図12B] 量子化マトリクスの差分値の符号化に用いられる符号化テーブルの一例を示す図。

発明を実施するための形態

[0010]
 以下、添付図面に従って本発明に係る実施形態を詳細に説明する。なお、以下に示す実施形態における構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
[0011]
 [第1の実施形態]
 図1は第1の実施形態の画像符号化装置を示すブロック構成図である。画像符号化装置は、以下に説明する構成要素を制御し、装置全体の制御を司る制御部150を有する。この制御部150は、CPU、CPUが実行するプログラムや各種パラメータ等を記憶しているROM、CPUのワークエリアとして使用されるRAMを含む。なお、ROMや他の不揮発性記憶装置に格納されたOS(オペレーティングシステム)、プログラム、パラメータをRAMにロードした後に、OSの制御下でプログラムを実行するようにしてもよい。
[0012]
 また、画像符号化装置は、入力端子101、ブロック分割部102、量子化マトリクス保持部103、予測部104、変換・量子化部105、逆量子化・逆変換部106、画像再生部107、フレームメモリ108、インループフィルタ部109、符号化部110、統合符号化部111、出力端子112、及び、量子化マトリクス符号化部113を有する。
[0013]
 上記構成において、不図示の画像発生源から画像データ(例えば30フレーム/秒)が、本装置の入力端子101に供給される。なお、画像発生源の種類は問わないが、簡単には撮像部もしくはビデオカメラ、或いは、符号化対象の画像データを記憶するハードディスクや記憶媒体である。
[0014]
 ブロック分割部102は、入力端子101を介して入力した画像データを複数の基本ブロックに分割し、基本ブロック単位の画像データを後段の予測部104に供給する。
[0015]
 量子化マトリクス保持部103は、量子化処理で用いる複数種類の量子化マトリクスを保持している。この量子化マトリクスの生成方法の詳細については後述する。
[0016]
 予測部104は、ブロック分割部102からの基本ブロック単位の画像データを入力し、より小さい複数のサブブロックへの分割法を決定し、各サブブロック単位でフレーム内予測であるイントラ予測や、フレーム間予測であるインター予測などを行い、予測画像データを生成する。さらに、予測部104は、サブブロックの画像データと、その予測画像データとの差分である予測誤差データを算出し、供給する。また、予測部104は、予測に必要な情報、例えばサブブロック分割に関する情報、予測モードや動きベクトル等の情報も、予測誤差データと併せて出力する。以下ではこの予測に必要な情報を予測情報と呼称する。
[0017]
 変換・量子化部105は、予測部104から供給された予測誤差データをサブブロック単位で直交変換(周波数変換)して変換係数を得る。そして、変換・量子化部105は、着目サブブロックの変換係数を、量子化マトリクス保持部103が保持する該当量子化マトリクスを用いて量子化を行い、量子化係数を得る。
[0018]
 逆量子化・逆変換部106は、変換・量子化部105から入力した量子化係数を、量子化マトリクス保持部103が保持する該当量子化マトリクスを用いて逆量子化することいで変換係数を再生し、さらにその変換係数を逆直交変換して予測誤差データを再生する。
[0019]
 画像再生部107は、予測部104から入力した予測情報に基づいて、フレームメモリ108を適宜参照して予測画像データを生成する。そして、画像再生部107は、生成した予測画像データと、逆量子化・逆変換部106からの予測誤差データとから、再生画像データを生成し、再びフレームメモリ108に出力する。
[0020]
 インループフィルタ部109は、フレームメモリ108に格納された画像再生部107からの再生画像データに対し、デブロッキングフィルタやサンプルアダプティブオフセットなどのインループフィルタ処理を行い、フィルタ処理後の画像データを、再びフレームメモリ109に格納する。
[0021]
 符号化部110は、変換・量子化部105から入力した量子化係数および予測部104から入力した予測情報を符号化して、符号データを生成し出力する。
[0022]
 量子化マトリクス符号化部113は、量子化マトリクス保持部103から入力した量子化マトリクスを符号化して、量子化の符号化データを生成し出力する。
[0023]
 統合符号化部111は、量子化マトリクス符号化部113で符号化された量子化マトリクスの符号化データを用いて、ヘッダ符号データを生成する。さらに統合符号化部111は、生成したヘッダ符号データに、符号化部110から入力した画像の符号データを結合することでビットストリームを形成し、出力端子112を介して外部に出力する。
[0024]
 なお、出力先は特に問わないが、記録媒体などの記憶装置や、ネットワーク上のファイルサーバ等で構わない。
[0025]
 以下、実施形態の画像符号化装置における画像の符号化動作を更に詳しく説明する。
[0026]
 本実施形態では動画像データをフレーム単位に入力する構成とするが、1フレーム分の静止画像データを入力する構成としても構わない。また、本実施形態では、説明を容易にするため、イントラ予測符号化の処理のみを説明するが、これに限定されずインター予測符号化の処理においても適用可能である。さらに本実施形態では説明のため、ブロック分割部101においては1フレームの画像を分割する基本ブロックのサイズを水平16画素×垂直16画素(以下、単に16×16画素と表記する)として説明するが、これはあくまで例示であり、他のサイズであっても構わない。
[0027]
 画像の符号化に先立ち、量子化マトリクスの符号化が行われる。
[0028]
 最初に、量子化マトリクス保持部103は、符号化で利用する複数のサイズのサブブロックに応じた、複数の量子化マトリクスを生成し、保持する。図8Aの参照符号800が示す太枠は、8×8画素のサイズに対応する量子化マトリクスの一例であり、マトリクス内の値はその要素を示している。量子化マトリクス800の左上隅の0行0列の要素がDC成分(直流成分)の変換係数に対応しており、それ以外の要素はAC成分(交流成分)の変換係数にそれぞれ対応している。この量子化マトリクスを構成する各要素の決定方法は特に限定しない。例えば、所定の初期値を用いても良いし、個別に設定しても良い。また、画像の特性に応じて生成されても構わない。
[0029]
 同様に、量子化マトリクス保持部103は、他のサブブロックのサイズに応じた量子化マトリクスも生成する。図8Bは、本実施形態における16×8画素の直交変換に対応する量子化マトリクス801である。DC成分に対応する0行0列の要素は“4”、その右隣の0行1列の要素は“5”といった個別の値が設定されている。図8Bの量子化マトリクス801の0行1列の要素は、サブブロックの形状において最も低周波であると推定されるAC成分の変換係数に対応する要素である。一方、残りの要素は符号量削減のため、水平方向に隣接する2つの要素に対して1つの値が設定されるような構成となっている。例えば、0行2列および0行3列の要素には“9”という同じ値が設定され、同様に1行2列および1行3列の要素には“10”という同じ値が設定されている。
[0030]
 図8Cは、本実施形態における8×16画素の直交変換に対応する量子化マトリクス802である。DC成分に対応する0行0列の要素は“4”、その下の1行0列の要素は“5”といった個別の値が設定されている。図8Cの量子化マトリクス802の1行0列の要素は、サブブロックの形状において最も低周波であると推定されるAC成分の変換係数に対応する要素である。一方、残りの要素は符号量削減のため、垂直方向に隣接する2つの要素に対して1つの値が設定されるような構成となっている。例えば、2行0列および3行0列の要素には“9”という同じ値が設定され、同様に2行1列および3行1列の要素には“10”という同じ値が設定されている。
[0031]
 図8Dは、本実施形態における16×16画素の直交変換に対応する量子化マトリクス803である。DC成分に対応する0行0列の要素は“4”、その右隣の1行0列および直下の0行1列の要素は“5”、右下の1行1列の要素は“6”といった個別の値がDC成分に隣接したAC成分に対応する要素として設定されている。一方、残りの要素は符号量削減のため、水平及び垂直に隣接する2×2の4つの要素に対して1つの値が設定されるような構成となっている。
[0032]
 上記のごとく、量子化マトリクス内のDC成分に対応する要素と、その付近の複数の低周波成分に対応する要素は個別の値を設定し、残りの要素には複数の要素単位で値を設定することで、量子化マトリクスの符号量が削減され易くなり、且つ、人間の視覚が敏感な低周波部分の量子化を細かく制御することができる。
[0033]
 量子化マトリクス保持部103は、このようにして生成された量子化マトリクス800~803が保持されている。本実施形態では、図8A~8Dに示された四種の量子化マトリクス800~803が二次元の形状で保持されているものとするが、量子化マトリクス内の各要素はもちろんこれに限定されない。また、後述の予測方法、例えばイントラ予測を用いるかインター予測を用いるかによって、あるいは符号化対象が輝度ブロックか色差ブロックかによって、同じ大きさの直交変換に対して複数の量子化マトリクスを保持することも可能である。一般的に、人間の視覚特性に応じた量子化処理を実現するため、図8A~8Dに示すように量子化マトリクス800~803の左上部分に相当する低周波部分の要素は小さく、右下部分に相当する高周波部分の要素は大きくなっている。
[0034]
 量子化マトリクス符号化部113は、二次元形状で格納されている量子化マトリクス800~803を量子化マトリクス保持部106から順に読み出し、各要素を走査して差分を計算し、一次元の行列を生成する。本実施形態では、図8A~8Dに示された量子化マトリクス800~803それぞれが符号化されることになる。具体的には、量子化マトリクス符号化部113は、まず図8Aに示された量子化マトリクス800については、図10A示された矢印に沿った走査方法を用い、要素ごとに走査順に隣り合う要素との差分を計算していく。例えば図8Aで示された8×8画素分の量子化マトリクス800は図10Aで示された対角線スキャンによって走査されるが、左上隅に位置する最初の要素“4”の次はそのすぐ下に位置する要素“9”が走査され、差分である+5が計算される。また、量子化マトリクスの最初の要素(本実施形態では“4”)の符号化には、所定の初期値(例えば“8”)との差分を計算するものとするが、もちろんこれに限定されず、任意の値との差分や、最初の要素の値そのものを用いても良い。
[0035]
 同様に、量子化マトリクス符号化部113は、図8Bに示された量子化マトリクス801については、図10Bに示される矢印に沿った走査方法を用い、要素ごとに走査順に直前の要素との差分を計算するものとする。例えば図8Bに示された16×8画素分の量子化マトリクス801は図10Bに示された走査方法によって走査されるが、左上端に位置する最初の要素「4」の次はそのすぐ右に位置する要素「5」が走査され、差分である+1が符号化される。次にその下に位置する要素「9」が走査され、差分である+4が符号化される。
[0036]
 図8Cに示された8×16画素分の量子化マトリクス802は図10Cに示された走査方法によって走査される。左上端に位置する最初の要素「4」の次はそのすぐ下に位置する要素「5」が走査され、差分である+1が符号化される。そしてその下に位置する要素「9」が走査され、差分である+4が符号化される。
[0037]
 図8Dに示された16×16画素分の量子化マトリクス803においては、図10Dに示された走査方法によって走査される。左上端に位置する最初の要素4の次は、そのすぐ下に位置する要素5が走査され、差分である+1が符号化される。次に左上端の右隣に位置する要素5が走査され、差分である0が符号化される。そして、その下に位置する要素6が走査され、差分である+1が符号化される。
[0038]
 このようにして、本実施形態では、図8A~8Dの量子化マトリクス800~803は、それぞれ図10A~10Dの走査方法を用い、図11A~11Dに示される一次元の差分行列1000~1003が生成される。量子化マトリクス符号化部113はさらに前記差分行列を符号化して量子化マトリクス符号データを生成する。本実施形態では図12Aに示される符号化テーブルを用いて符号化するものとするが、符号化テーブルはこれに限定されず、例えば図12Bに示される符号化テーブルを用いても良い。このようにして生成された量子化マトリクス符号データは後段の統合符号化部111に供給される。
[0039]
 図1に戻り、統合符号化部111は、画像データの符号化に必要なヘッダ情報を符号化し、量子化マトリクスの符号データを統合する。続いて、画像データの符号化を説明する。
[0040]
 ブロック分割部102は、入力端子101から入力された1フレーム分の画像データを、複数の基本ブロックに分割し、基本ブロック単位の画像データを予測部104に供給する。先に説明したように本実施形態での基本ブロックのサイズは16×16画素である。
[0041]
 予測部104は、ブロック分割部102から入力された基本ブロック単位の画像データに対し予測処理を実行する。具体的には、予測部104は、基本ブロックをさらに細かいサブブロックに分割するサブブロック分割法を決定し、さらにサブブロック単位で水平予測や垂直予測などのイントラ予測モードを決定する。なお、サブブロック分割法は、直前のフレームの符号化データ量等から決定するものとする。
[0042]
 図7A~7Dはサブブロック分割パターンの例を示している。同図の外側の太枠を示す参照符号700が基本ブロックを表しており、実施形態の場合は16×16画素のサイズである。そして、太枠内の矩形がサブブロックを表している。図7Aは、基本ブロック=1サブブロックの例を示している。図7Bは従来の正方形サブブロック分割の一例を表しており、16×16画素の基本ブロックは、8×8画素サイズの4つのサブブロックに分割されている。一方、図7C,7Dは長方形サブブロック分割の一例を表しており、図7Cでは基本ブロックが8×16画素の縦長の2つのサブブロックに、図7Dでは16×8画素の横長の2つのサブブロックに分割されている。
[0043]
 本実施形態では、16×16画素の基本ブロックを、分割しない(図7A)、垂直方向に長手の2つのサブブロックに分割する(図7C)、水平方向に長手の2つのサブブロックに分割する(図7D)、及び、四分木分割する(図7B)のいずれかが決定されるものとする。ただし、サブブロック分割方法はこれに限定されない。図7E,7Fのように1:2:1の比で分割する三分木分割を用いても構わない。
[0044]
 決定したイントラ予測モードおよび符号化済の画素から予測画像データが生成される。そして、予測部104は、サブブロック単位に、入力された画像データと、生成した予測画像データとの差分である予測誤差データを生成し、その予測誤差データを変換・量子化部105に供給する。また、サブブロック分割やイントラ予測モードなどの情報は予測情報として、符号化部110、画像再生部107に供給される。
[0045]
 変換・量子化部105では、入力された予測誤差データに対して直交変換・量子化を行い、量子化係数を生成する。具体的には、変換・量子化部105は、まず、サブブロックのサイズに対応した直交変換処理を施し、直交変換係数を生成する。そして、変換・量子化部105は、サブブロック単位に、直交変換係数を量子化マトリクス保持部103に格納されている、対応するサイズの量子化マトリクスを用いて量子化し、量子化係数を生成する。本実施形態では、図7Aに対応した16×16画素のサブブロック分割に対しては図8Dの量子化マトリクスが用いられるものとする。同様にして、図7Cの8×16画素のサブブロック分割に対しては図8C、図7Dの16×8のサブブロック分割に対しては図8Bの量子化マトリクスが用いられるものとする。また、図7Bに示す、垂直、水平とも基本ブロックの1/2のサイズのサブブロック分割(四分木分割)には、図8Aで示される量子化マトリクスが用いられるものとする。変換・量子化部105は、生成された量子化係数(量子化後の変換係数)を符号化部110および逆量子化・逆変換部106に供給する。
[0046]
 逆量子化・逆変換部106は、サブブロック単位に、入力された量子化係数を、量子化マトリクス保持部103に格納されている、対応する量子化マトリクスを用いて逆量子化することで、変換係数を再生する。そして、逆量子化・逆変換部106は、サブブロック単位に、再生された変換係数を逆直交変換して予測誤差データを再生し、再生された予測誤差データを画像再生部107に供給する。
[0047]
 画像再生部107は、サブブロック単位に、予測部104から入力される予測情報に基づいて、フレームメモリ108を適宜参照し、予測画像データを再生する。画像再生部107は、サブブロック単位に、再生された予測画像データと、逆量子化・逆変換部106から入力した予測誤差データとを加算することで、サブブロックの画像データを再生し、再生した画像データをフレームメモリ108に格納する。
[0048]
 インループフィルタ部109は、サブブロック単位に、フレームメモリ108から再生画像データを読み出し、デブロッキングフィルタなどのインループフィルタ処理を行う。そして、インループフィルタ部109は、フィルタ処理された画像データをフレームメモリ108に再格納する。
[0049]
 符号化部110は、サブブロック単位に、変換・量子化部105で生成された量子化係数、予測部104から入力された予測情報をエントロピー符号化し、符号データを生成する。エントロピー符号化の方法は特に問わないが、ゴロム符号化、算術符号化、ハフマン符号化などを用いることができる。生成された符号データは統合符号化部111に供給される。
[0050]
 統合符号化部111では、前述のヘッダの符号データとともに符号化部110から入力された符号データなどを多重化してビットストリームを形成する。最終的には、ビットストリームは端子112から外部に出力される。
[0051]
 図6Aは第1の実施形態で出力されるビットストリームのデータ構造例を示している。シーケンスヘッダに図8A~8Dの量子化マトリクス800~803に対応する符号データが含まれ、各要素の符号化結果で構成されている。ただし、符号化される位置はこれに限定されず、ピクチャヘッダ部やその他のヘッダ部に符号化される構成をとってももちろん構わない。また、1つのシーケンスの中で量子化マトリクスの変更を行う場合、量子化マトリクスを新たに符号化することで更新することも可能である。この際、全ての量子化マトリクスを書き換えても良いし、書き換える量子化マトリクスの変換ブロックサイズを指定することでその一部を変更するようにすることも可能である。
[0052]
 以下、第1の実施形態に係る画像符号化装置における1フレームの符号化処理の処理手順を図3のフローチャートを参照して説明する。なお、以下の説明における各工程は、その主体が制御部150による制御下にてそれぞれの処理を実行するものとする。
[0053]
 まず、画像の符号化に先立ち、S301にて、量子化マトリクス保持部103は、複数種類の量子化マトリクスを生成し、保持する。本実施形態では、量子化マトリクス保持部103は図8A~8Dに示された4種類の量子化マトリクス800~803を生成し、保持するものとする。
[0054]
 S302にて、量子化マトリクス符号化部113は、S301にて生成・保持された量子化マトリクスを走査して各要素の差分を算出し、1次元の差分行列を生成する。本実施形態では、量子化マトリクス符号化部113は、図8A~8Dの量子化マトリクス800~803を、図10A~10Dの走査順に沿って、連続する2つの要素の差分値を求めていき、図11A~11Dに示される差分値の1次元行列を生成する。そして、量子化マトリクス符号化部113は、生成された行列における個々の差分値を、図12A(又は図12B)に示す符号化テーブルを参照して二進符号を生成し、符号化データを生成していく。
[0055]
 S303にて、統合符号化部111は、生成された量子化マトリクス符号データとともに、画像データの符号化に必要なヘッダ情報を生成し、出力する。
[0056]
 S304にて、ブロック分割部102は、フレーム単位の入力画像を基本ブロック単位に分割する。そして、S305にて、予測部104は、S304にて生成された1つの基本ブロックの画像データを入力し、1以上のサブブロックへの変換を行う。そして、予測部104は、各サブブロックについての予測処理を実行し、サブブロック分割情報やイントラ予測モードなどの予測情報および予測画像データを生成する。そして、予測部104は、各サブブロックの画像データとその予測画像データから予測誤差データを算出する。
[0057]
 S306にて、変換・量子化部105は、S305で算出された各サブブロックの予測誤差データそれぞれを直交変換して変換係数を生成する。更に、変換・量子化部105は、S301にて生成・保持された量子化マトリクスを用いて、各サブブロックの予測誤差データを量子化し、量子化係数を生成する。本実施形態では、図7Aに対応したサブブロック分割で得た各サブロックに対しては図8Dの量子化マトリクス803が用いられるものとする。同様にして、図7Cのサブブロック分割で得た各サブブロックに対しては図8Cの量子化マトリクス802が用いられる。図7Dのサブブロック分割で得た各サブブロックに対しては図8Bの量子化マトリクス801が用いられる。さらに、図7Bのように四分木分割された4つサブブロックに対しては図8Aに示される量子化マトリクス800が用いられるものとする。
[0058]
 S307にて、逆量子化・逆変換部106は、S305で生成された各サブブロックの量子化係数を、S301にて生成・保持された量子化マトリクスを用いて逆量子化を行い、変換係数を再生する。そして、逆量子化・逆変換部106は、さらに、各サブブロックの変換係数に対して逆直交変換し、サブブロック毎の予測誤差データを再生する。
[0059]
 S308にて、画像再生部107は、S305で生成された予測情報に基づいて、サブブロックごとの予測画像データを再生する。画像再生部107は、さらに再生された各サブブロックの予測画像データに、S307で生成された対応するサブブロックの予測誤差データを加算することで、サブブロック毎の画像データを再生する。
[0060]
 S309にて、符号化部110は、サブブロックごとに、S305で生成された予測情報、および、S306で生成された量子化係数を符号化し、符号データを生成する。また、他の符号データも含め、ビットストリームを生成する。
[0061]
 S310にて、制御部150は、フレーム内の全ての基本ブロックの符号化が終了したか否かの判定を行い、終了していればS311に進み、そうでなければ次の基本ブロックを対象とする符号化を行うため、処理をS305に戻す。
[0062]
 S311にて、インループフィルタ部109は、S308で再生された画像データに対し、インループフィルタ処理を行い、フィルタ処理された画像を生成し、処理を終了する。
[0063]
 上記の処理において、動画像の2つ目以降のフレームの符号化を行う場合には、S304乃至S311を、符号化すべき最後のフレームの入力まで繰り返すことになる。
[0064]
 以上の構成と動作により、特にS302において量子化マトリクスの初め所定数の要素(DC成分用の要素及びそれに隣接する比較的低周波成分用の要素)については個別に符号化し、残りの要素を複数の要素単位で符号化することで、量子化マトリクスの符号量を削減することができる。さらに、人間の視覚が敏感な低周波部分の量子化を細かく制御することもできる。
[0065]
 なお、本実施形態では、図8A~8Dの4種類の量子化マトリクス800~803の全てを符号化する構成としたが、4種類の量子化マトリクスを独立して符号化する代わりに、復号側の装置において、他の量子化マトリクスを用いて当該量子化マトリクスを生成する構成としても構わない。例えば、16×8の量子化マトリクス自体を符号化せずに、符号化された16×16の量子化マトリクスを用いて生成する構成とした場合、復号側の装置において、図8Dの量子化マトリクス803から一部の要素を間引き図8Bの量子化マトリクス801を生成することとなる。同様に、復号側の装置において、図8Dの量子化マトリクス803から一部の要素を間引いて図8Cの量子化マトリクス802を生成することも可能である。また、図8Bの0行1列の要素「5」や図8Cの1行0列の要素「5」の算出方法を符号化側および復号側の装置間において定めておけば、図8Aの量子化マトリクス800を用いて図8Bの量子化マトリクス801や図8Cの量子化マトリクス802を生成することも可能である。この場合の算出方法は特に限定されず、0行0列の要素「4」に特定の差分値(本実施形態では+1)を加算して算出しても良いし、周辺の要素との補間を用いて算出しても良い。なお、図8Cについては、変換係数のDC成分に対応する要素の右側および下側の要素については、DC成分に対応する要素に+1を加え、右下の要素については+2を加えている。
[0066]
 また、16×16の量子化マトリクスの要素とともに、図8Bの0行1列の要素「5」や図8Cの1行0列の要素「5」自体を符号化してもよい。
[0067]
 これにより、量子化マトリクスの符号量をさらに削減したビットストリームを符号化することができる。
[0068]
 さらには、量子化マトリクスごとに別の量子化マトリクスから生成するか、各要素を符号化するかを選択し、識別子をヘッダ内に符号化する構成としても構わない。例えば、量子化マトリクスの各要素を他の量子化マトリクスから生成するか、個別に符号化するかを示す情報を、量子化マトリクス符号化方法情報符号としてヘッダ部分に符号化し、図6Bに示されるビットストリームを生成する構成としても良い。これにより、サブブロックの大きさに応じた画質制御を優先したビットストリームか、量子化マトリクスの符号量がより少ないビットストリームかを選択的に生成することができる。
[0069]
 また本実施形態では、図7A~7Dのサブブロック分割・直交変換に対応する図8A~8Dの量子化マトリクスが用いられる構成としたが、使用される直交変換サイズや量子化マトリクスはこれに限定されない。例えば、図7E,7Fのように1:2:1の比で分割する三分木分割がさらに用いられた場合、図9A,9Bの量子化マトリクス900,901をさらに用いる構成としても構わない。
[0070]
 以上の説明したように、実施形態における量子化マトリクス保持部103は、基本ブロック(実施形態では16×16のサイズ)の水平、垂直方向のいずれかの一方のみが同じサイズを有し、他方が異なる図8B,8Cに示すような量子化マトリクス801,802の長辺方向については、直流成分に対応する要素の格納位置から予め設定された所定範囲(実施形態では距離“1”の範囲)では、各変換係数に対応する位置毎の要素を独立して保持し、長辺方向における所定範囲を超える位置では、変換係数の予め設定された個数単位(実施形態では2個)に同じ要素を保持する。一方、図8B、8Cに示すような量子化マトリクスの短辺方向については、変換係数ごとに量子化マトリクスの要素が配置される。
[0071]
 そして、水平、垂直方向のいずれも基本ブロックのサイズと同じサイズである量子化マトリクスについては、図8Dに示すように、直流成分に対応する要素の位置およびその位置に対して、右、下、右下に隣接する4つの要素(実施形態では距離“1”の範囲)を対応する変換係数ごとに個別に保持する。そして、それ以外の変換係数ついては、互いに隣接する4つの変換係数ごとに1つの同じ要素を保持する。そして、図8Aに示すような8x8のサイズの量子化マトリクスの場合、変換係数ごとに要素を保持することになる。
[0072]
 このように量子化マトリクスのサイズに従って、変換係数に対する要素の割り当てを適応的に変えているため、量子化マトリクスの符号量を抑制でき、且つ、画質劣化を抑制できるようになる。
[0073]
 なお、量子化マトリクスの要素を符号化する際の図10A~10Dに示すような走査順に基づいて「所定範囲」を定義してもよい。8x16あるいは16x8の変換係数のブロックサイズブロックサイズついては、図10B,10Cの走査が量子化マトリクスの要素の符号化/復号のために行われることになる。この際、以降に記載される復号装置の処理において、変換係数のDC成分に対応する要素から1走査(距離“1”の範囲)して得られる要素を変換係数ごとに割り当てを行い、それ以降は2つの変換係数ごとに1つの要素が割り当てられることになる。すなわち、図8B,8Cに示すような量子化マトリクス801,802が復号装置の処理において得られることになる。また、16x16の変換係数のブロックサイズの場合、変換係数のDC成分に対応する要素から3走査(距離“3”の範囲)して得られる要素を変換係数ごとに割り当てを行い、それ以降は4つの変換係数ごとに1つの要素が割り当てられることになる。すなわち、図8Dに示すような量子化マトリクス803が得られることになる。また、8x8の変換係数のブロックサイズの場合、変換係数のDC成分に対応する要素から全ての走査によって得られる要素が変換係数ごとに割り当てられることになる。すなわち、図8Aに示すような量子化マトリクス800が復号装置の処理において得られることになる。このように、量子化マトリクスに対する走査に基づいて、量子化マトリクスのサイズついて適応的に変換係数に対する要素の割り当てを変えてもよい。この場合、要素間の位置関係を特別に考慮する必要がなくなる。
[0074]
 [第2の実施形態]
 第2の実施形態では、上記第1の実施形態の画像符号化装置で生成された符号化データを復号する画像復号装置を説明する。図2は、その画像復号装置のブロック構成図である。
[0075]
 画像復号装置は、以下に説明する構成要素を制御し、装置全体の制御を司る制御部250を有する。この制御部250は、CPU、CPUが実行するプログラムや各種パラメータ等を記憶しているROM、CPUのワークエリアとして使用されるRAMを含む。なお、ROMや他の不揮発性記憶装置に格納されたOS(オペレーティングシステム)、プログラム、パラメータをRAMにロードした後に、OSの制御下でプログラムを実行するようにしてもよい。
[0076]
 また、画像復号装置は、入力端子201、分離復号部202、復号部203、逆量子化・逆変換部204、画像再生部205、フレームメモリ206、インループフィルタ部207、出力端子208、及び、量子化マトリクス復号部209を有する。
[0077]
 上記画像復号装置の構成における画像復号装置の構成とその動作を以下に説明する。なお、画像復号装置は、先に説明した画像符号化装置が生成したビットストリームをフレーム単位で入力する構成となっているが、1フレーム分の静止画像ビットストリームを入力する構成としても構わない。また、本第2の実施形態では説明を容易にするため、イントラ予測復号処理のみを説明するが、これに限定されずインター予測復号処理においても適用可能である。
[0078]
 分離復号部202は、入力端子201を介して符号化ビットストリームを入力し、ビットストリームから復号処理に関する情報や係数に関する符号データに分離し、またビットストリームのヘッダ部に存在する符号データを復号する。本実施形態の分離復号部202は、符号化ビットストリームから量子化マトリクスの符号化データを分離し、その符号化データを量子化マトリクス復号部209に供給する。また、分離復号部202は、符号化ビットストリームから画像データの符号化データを分離し、復号部203に供給する。要するに、分離復号部202は、図1の統合符号化部111と逆の動作を行う。
[0079]
 量子化マトリクス復号部209は、分離復号部202から供給された量子化マトリクスの符号化データを復号し、量子化マトリクス800~803を再生、保持する。
[0080]
 復号部203は、分離復号部202から入力した画像データの符号データを復号し、量子化係数および予測情報を再生する。
[0081]
 逆量子化・逆変換部204は、図1の逆量子化・逆変換部106と同様、再生された量子化マトリクス800~803のいずれかを用いて量子化係数に逆量子化を行って変換係数を得、さらに逆直交変換を行い、予測誤差データを再生する。
[0082]
 画像再生部205は、入力された予測情報に基づいてフレームメモリ206を適宜参照して予測画像データを生成する。そして、画像再生部205は、この予測画像データに、逆量子化・逆変換部204で再生された予測誤差データを加算することで、画像データを再生し、フレームメモリ206に格納する。
[0083]
 インループフィルタ部207は、図1のインループフィルタ部109と同様、フレームメモリ207に格納された再生画像データに対し、デブロッキングフィルタなどのインループフィルタ処理を行い、フィルタ処理された画像データをフレームメモリに再格納する。そして、出力端子208は、再生された画像データを外部装置(例えば表示装置)に出力する。
[0084]
 次に、図2の画像復号装置における各構成要素の動作を更に詳しく説明する。
[0085]
 本第2の実施形態では、第1の実施形態で生成されたビットストリームをフレーム単位で入力する構成となっているが、1フレーム分の静止画像ビットストリームを入力する構成としても構わない。また、本実施形態では説明を容易にするため、イントラ予測復号処理のみを説明するが、これに限定されずインター予測復号処理においても適用可能である。
[0086]
 入力端子201を介して入力された1フレーム分のビットストリームは分離復号部202に供給される。分離復号部202は、ビットストリームから復号処理に関する情報や係数に関する符号データに分離し、ビットストリームのヘッダ部に存在する符号データを復号する。より具体的には、分離復号部202は、量子化マトリクスの符号データを再生する。本実施形態の分離復号部202は、まず、図6Aに示されるビットストリームのシーケンスヘッダから量子化マトリクスの符号データを抽出し、量子化マトリクス復号部209に供給する。分離復号部202は、続いて、ピクチャデータの基本ブロックのサブブロック単位の符号データを再生し、復号部203に供給する。
[0087]
 量子化マトリクス復号部209は、まず入力された量子化マトリクスの符号データを復号し、複数の一次元の差分行列を再生する。本実施形態では、第1の実施形態と同様、図12A(又は図12B)に示される符号化テーブルを用いて復号するものとするが、符号化テーブルはこれに限定されず、第1の実施形態と同じものを用いる限りは他の符号化テーブルを用いても良い。さらに量子化マトリクス復号部209は、再生された複数の一次元の差分行列を逆走査し、複数の二次元の量子化マトリクスを再生する。ここでは第1の実施形態の量子化マトリクス符号化部113の走査とは逆の動作を行う。すなわち、本実施形態の量子化マトリクス復号部209は、図11A~11Dに示される差分行列1000~1003はそれぞれ、図10A~10Dに示される走査方法を用いて、図8A~8Dに示される量子化マトリクス800~803を再生し、保持する。
[0088]
 本実施形態での具体的な量子化マトリクスの復号処理を、図8Bの16×8の量子化マトリクス801の復号処理を例にとって説明する。量子化マトリクス復号部209は、図11Bに示された差分行列1001を図10Bに示される走査方法を用いて、図8Bに示される量子化マトリクスを再生する。量子化マトリクス復号部209は、初期値である“8”と、図11Bの最初の差分値“-4”から、最初の要素である「4」を算出し、図10Bの最初の走査位置である0行0列の位置の要素の値“4”を決定し、図8Bの0行0列の部分に要素“4”を配置する。次に、量子化マトリクス復号部209は、図8Bの0行0列の要素“4”と、図11Bの二番目の差分値“1”から二番目の要素である“5”を算出し、図10Bの2番目の走査位置である0行1列の部分に“5”を配置する。同様にして、図8Bの0行1列の要素“5”と図10Bの三番目の差分値“4”から三番目の要素である“9”を算出し、図8Bの3番目の走査位置である1行0列および1行1列の部分に“9”を配置する。同様の処理を繰り返し、図8Bに示される量子化マトリクス801を再生することができる。
[0089]
 こうして、量子化マトリクスの低周波成分に対応する複数の要素に個別の値を配置し、残りの要素には複数の要素単位で値を配置することで、符号量を削減しつつ、人間の視覚が敏感な低周波部分の量子化を細かく制御したビットストリームを復号することができる。
[0090]
 図2に戻り、復号部203は、基本ブロック内の各サブブロックの符号データを復号し、量子化係数および予測情報を再生する。復号部203は、再生された量子化係数を逆量子化・逆変換部204に、再生された予測情報を画像再生部205にそれぞれ供給する。
[0091]
 逆量子化・逆変換部204は、サブブロック単位に、入力した量子化係数に対し、量子化マトリクス復号部209で再生、保持している量子化マトリクス800~803の1つを用いて逆量子化を行い、直交変換係数を生成する。逆量子化・逆変換部204は更に、サブブロック単位に、生成した直交変換係数に対して逆直交変換を施して予測誤差データを再生し、画像再生部205に供給する。この際、復号対象のサブブロックの大きさに応じて用いられる量子化マトリクスが定まり、本実施形態では、図7Aに対応したサブブロック分割に対しては図8Dの量子化マトリクス803が用いられるものとする。同様にして、図7Cのサブブロック分割に対しては図8Cの量子化マトリクス802が用いられる。図7Dのサブブロック分割に対しては図8Bの量子化マトリクス801が用いられるものとする。また、図7Bの四分木のサブブロック分割には図8Aで示される量子化マトリクスが用いられるものとする。
[0092]
 画像再生部205は、サブブロック単位に、復号部203から入力した予測情報に基づいて、フレームメモリ206を適宜参照し、予測画像データを再生する。そして、画像再生部205は、この予測画像データに、逆量子化・逆変換部204から供給された予測誤差データを加算することで、サブブロックの画像データを再生し、フレームメモリ206に格納する。このフレームメモリ206に格納された画像データは、他のサブブロックを復号する際の予測参照候補となる。
[0093]
 インループフィルタ部207は、図1のインループフィルタ部109と同様、サブブロック単位に、フレームメモリ206から再生画像データを読み出し、デブロッキングフィルタなどのインループフィルタ処理を行う。そして、インループフィルタ部207は、フィルタ処理された画像は再びフレームメモリ206に格納する。
[0094]
 フレームメモリ206に格納された再生画像は、最終的には端子208から外部に出力される。
[0095]
 以下、第2の実施形態に係る画像復号装置における1フレームの復号処理の処理手順を図4のフローチャートを参照して説明する。なお、以下の説明における各工程は、その主体が制御部250による制御下にて、それぞれの処理を実行するものとする。
[0096]
 まず、S401にて、分離復号部202は、ビットストリームから復号処理に関する情報や係数に関する符号データに分離して、ヘッダ部分の符号データを復号する。より具体的には、量子化マトリクスを符号データを再生する。
[0097]
 S402にて、量子化マトリクス復号部209は、S401で再生された量子化マトリクスの符号データを復号し、図11A~11Dで示されたような一次元の差分行列1000~1003を再生する。さらに量子化マトリクス復号部209は、再生された一次元の差分行列1000~1003を逆走査し、二次元の量子化マトリクスを再生する。すなわち、量子化マトリクス復号部209は、図11A~11Dに示される差分行列1000~1003をそれぞれ、図10A~10Dに示される走査方法を用いて、図8A~8Dに示される量子化マトリクス800~803を再生し、保持する。なお、図10A~10Dに示される走査方法および量子化マトリクスの要素の変換係数に対する割り当ては復号側装置において既知のものとする。すなわち、変換係数のDC成分に対応する要素からの距離に従って、量子化マトリクスの各要素が変換係数に割り当てられる。
 すなわち、基本ブロック(実施形態では16×16のサイズ)の水平、垂直方向のいずれかの一方のみが同じサイズを有し、他方が異なる図8B,8Cに示すような量子化マトリクスの長辺方向については、直流成分に対応する要素の格納位置から予め設定された所定範囲(実施形態では距離“1” の範囲)では、量子化マトリクス復号部209は、各変換係数に対応する位置毎に要素1つの要素を割り当て、長辺方向における所定範囲を超える位置では、変換係数の予め設定された個数単位(実施形態では2個)に同じ要素を割り当てる。一方、図8B,8Cに示すような量子化マトリクスの短辺方向については、変換係数ごとに量子化マトリクスの要素を割り当てる。
[0098]
 そして、水平、垂直方向のいずれも基本ブロックのサイズと同じサイズである量子化マトリクスについては、量子化マトリクス復号部209は、図8Dに示すように、直流成分に対応する要素の位置およびその位置に対して、右、下、右下に隣接する4つの要素(実施形態では距離“1” の範囲)を対応する変換係数ごとに個別に割り当てる。そして、それ以外の変換係数ついては、互いに隣接する4つの変換係数ごとに1つの同じ要素を割り当てる。そして、図8Aに示すような8x8のサイズの量子化マトリクス800の場合、変換係数ごとに要素を保持することになる。
[0099]
 このように量子化マトリクスのサイズに従って、変換係数に対する要素の割り当てを適応的に変えているため、量子化マトリクスの符号量を抑制でき、且つ、画質劣化を抑制できるようになる。
[0100]
 なお、量子化マトリクスの要素を復号する際の図10A~10Dに示すような走査順に基づいて「所定範囲」を定義してもよい。8x16あるいは16x8の変換係数のブロックサイズブロックサイズついては、図10B,10Cの走査が量子化マトリクスの要素の復号のために行われることになる。この際、量子化マトリクス復号部209は、変換係数のDC成分に対応する要素から1走査(距離“1”の範囲)して得られる要素を変換係数ごとに割り当てを行い、それ以降は2つの変換係数ごとに1つの要素を割り当てる。すなわち、図8B,8Cに示すような量子化マトリクス801,802が得られることになる。また、16x16の変換係数のブロックサイズの場合、量子化マトリクス復号部209は、変換係数のDC成分に対応する要素から3走査(距離“3”の範囲)して得られる要素を変換係数ごとに割り当てを行い、それ以降は4つの変換係数ごとに1つの要素を割り当てる。すなわち、図8Dに示すような量子化マトリクス803が得られることになる。また、8x8の変換係数のブロックサイズの場合、量子化マトリクス復号部209は、変換係数のDC成分に対応する要素から全ての走査によって得られる要素を変換係数ごとに割り当てる。すなわち、図8Aに示すような量子化マトリクスが得られることになる。このように、量子化マトリクスに対する走査に基づいて、量子化マトリクスのサイズついて適応的に変換係数に対する要素の割り当てを変えてもよい。この場合、要素間の位置関係を特別に考慮する必要がなくなる。
[0101]
 S403にて、復号部203は、S401で分離された符号データを復号し、サブブロック毎の量子化係数および予測情報を再生する。
[0102]
 S404にて、逆量子化・逆変換部204は、サブブロック毎に、量子化係数に対してS402で再生された量子化マトリクス800~803の1つを用いて、逆量子化を行って変換係数を得る。逆量子化・逆変換部204は、更に、変換係数に対して逆直交変換を行い、各サブブロックの予測誤差データを再生する。
[0103]
 S405にて、画像再生部205は、S403で生成されたサブブロック毎の予測情報や予測画像データを再生する。そして、画像再生部205は、サブブロック毎に、再生された予測画像データに、S404で生成された予測誤差データを加算することで、画像データを再生する。
[0104]
 S406にて、制御部250は、フレーム内の全ての基本ブロックの復号が終了したか否かの判定を行い、終了していればS407に進み、そうでなければ次の基本ブロックの復号を行うため、処理をS403に戻す。
[0105]
 S407にて、インループフィルタ部207は、S405で再生された画像データに対し、インループフィルタ処理を行い、フィルタ処理された画像を生成し、処理を終了する。
[0106]
 なお、動画像の2フレーム目以降を復号する場合には、S403乃至S407の処理を、符号化ビットストリームの最後まで、もしくは、不図示の操作部を介したユーザから停止指示があるまで繰り返すことになる。
[0107]
 以上の構成と動作により、第1の実施形態で生成された、量子化マトリクスの初めの複数の要素のみが個別に符号化され、残りの要素は複数の要素単位で符号化された量子化マトリクスの符号量を削減したビットストリームを復号することができる。
[0108]
 なお、本第2の実施形態では、図8A~8Dの4種類の量子化マトリクス800~803の全てをビットストリームから復号する構成としたが、その代わりに、ビットストリームから復号された1つの量子化マトリクスから他の量子化マトリクスを生成する構成としても構わない。例えば、16×8の量子化マトリクス自体をビットストリームから復号せずに、ビットストリームから復号された16×16の量子化マトリクスを用いて生成してもよい。この場合、図8Dの量子化マトリクスから一部の要素を間引き図8Bの量子化マトリクスを生成することとなる。同様に、図Dの量子化マトリクスから一部の要素を間引いて図8Cの量子化マトリクスを生成することも可能である。また、前述の「所定範囲」であるところの図8Bの0行1列の要素「5」や図8Cの1行0列の要素「5」の算出方法を定めておけば、図8Aの量子化マトリクス800を用いて図8Bや図8Cの量子化マトリクス801、802を生成することも可能である。この場合の算出方法は特に限定されず、0行0列の要素「4」に特定の差分値(本実施形態では+1)を加算して算出しても良いし、周辺の要素との補間を用いて算出しても良い。また、16×16の量子化マトリクスの要素とともに、図8Bの0行1列の要素「5」や図8Cの1行0列の要素「5」自体をビットストリームから復号してもよい。これにより、量子化マトリクスの符号量をさらに削減したビットストリームを復号することができる。
[0109]
 さらには、量子化マトリクスごとに別の量子化マトリクスから生成するか、各要素を復号するかを選択する識別子をヘッダから復号する構成としても構わない。例えば、量子化マトリクスの各要素を他の量子化マトリクスから生成するか、個別に復号するかを示す情報を、図6Bに示されるビットストリームのヘッダ部分から量子化マトリクス符号化方法情報符号として復号する構成としても良い。これにより、サブブロックの大きさに応じた画質制御を優先するか、量子化マトリクスの符号量がより少なくするかが選択されたビットストリームを復号することができる。
[0110]
 また本実施形態では、図7A~7Dのサブブロック分割・直交変換に対応する図8A~8Dの量子化マトリクス800~803が用いられる構成としたが、使用される直交変換サイズや量子化マトリクスはこれに限定されない。例えば、図7E,7Fのように1:2:1の比で分割する三分木分割がさらに用いられた場合、図9A,9Bの量子化マトリクス900,901をさらに用いる構成としても構わない。
[0111]
 [第3の実施形態]
 図1、図2に示した各処理部はハードウェアでもって構成しているものとして上記実施形態では説明した。しかし、これらの図に示した各処理部で行う処理をコンピュータプログラムでもって構成しても良い。
[0112]
 図5は、上記各実施形態に係る画像表示装置に適用可能なコンピュータのハードウェアの構成例を示すブロック図である。
[0113]
 CPU501は、RAM502やROM503に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行うと共に、上記各実施形態に係る画像処理装置が行うものとして上述した各処理を実行する。即ち、CPU501は、図1、図2に示した各処理部として機能することになる。
[0114]
 RAM502は、外部記憶装置506からロードされたコンピュータプログラムやデータ、I/F(インターフェース)507を介して外部から取得したデータなどを一時的に記憶するためのエリアを有する。更に、RAM502は、CPU501が各種の処理を実行する際に用いるワークエリアを有する。即ち、RAM502は、例えば、フレームメモリとして割り当てたり、その他の各種のエリアを適宜提供したりすることができる。
[0115]
 ROM503には、本コンピュータの設定データや、ブートプログラムなどが格納されている。操作部504は、キーボードやマウスなどにより構成されており、本コンピュータのユーザが操作することで、各種の指示をCPU501に対して入力することができる。表示部505は、CPU501による処理結果を表示する。また表示部505は例えば液晶ディスプレイで構成される。
[0116]
 外部記憶装置506は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。外部記憶装置506には、OS(オペレーティングシステム)や、図1、図2に示した各部の機能をCPU501に実現させるためのコンピュータプログラムが保存されている。更には、外部記憶装置506には、処理対象としての各画像データが保存されていても良い。
[0117]
 外部記憶装置506に保存されているコンピュータプログラムやデータは、CPU501による制御に従って適宜、RAM502にロードされ、CPU501による処理対象となる。I/F507には、LANやインターネット等のネットワーク、投影装置や表示装置などの他の機器を接続することができ、本コンピュータはこのI/F507を介して様々な情報を取得したり、送出したりすることができる。508は上述の各部を繋ぐバスである。
[0118]
 上記構成において、本装置の電源がONになると、CPU501はROM503のブートプログラムを実行して、外部記憶装置506に格納されたOSをRAM502にロードし、OSを起動する。この結果、本装置が、インターフェース507を介した通信が可能となり、情報処理装置として機能する。そして、OSの制御下で、CPU501は画像符号化に係るアプリケーション(図3に相当する)を外部記憶装置506からRAM502にロードして実行することで、CPU501が図1に示す各種処理部として機能することになり、本装置が画像符号化装置として機能することになる。一方、CPU501は画像復号に係るアプリケーション(図4に相当する)を外部記憶装置506からRAM502にロードして実行した場合、CPU501は図2に示す各種処理部として機能することになり、本装置が画像復号装置として機能することになる。
[0119]
 (その他の実施例)
 本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
 本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
 本願は、2018年12月17日提出の日本国特許出願特願2018-235910を基礎として優先権を主張するものであり、その記載内容の全てを、ここに援用する。

請求の範囲

[請求項1]
 画像データを符号化する画像符号化装置であって、
 符号化対象の画像データを予め設定されたサイズの基本ブロックに分割し、当該基本ブロックを、予め設定された複数のサブブロック分割パターンの何れかを用いて1以上のサブブロックに更に分割し、各サブブロック単位に周波数変換、量子化、エントロピー符号化を行う第1の符号化手段と、
 該第1の符号化手段で利用する前記サブブロック分割パターンに含まれるサブブロックのサイズに対応する複数の量子化マトリクスを保持する保持手段と、
 該保持手段で保持される複数の量子化マトリクスのうちの少なくとも1つを符号化する第2の符号化手段と、
 該第2の符号化手段で生成された符号化データと、第1の符号化手段で得た符号化データとを統合する統合手段とを有し、
 前記保持手段は、
   前記基本ブロックの水平、垂直方向のいずれかのサイズと同じサイズを有する量子化マトリクスについては、直流成分に対応する要素の格納位置から予め設定された所定範囲の位置の要素を独立した値として保持し、前記所定範囲を超える位置では予め設定された個数単位に同じ要素を保持する
 ことを特徴とする画像符号化装置。
[請求項2]
 前記保持手段は、
   水平、垂直方向のいずれか一方が前記基本ブロックのサイズと同じであり、他方が前記基本ブロックのサイズより小さい量子化マトリクスについては、前記直流成分の格納位置を含み、前記基本ブロックと同じサイズとなる方向に隣接する位置の2つの要素を個別に保持し、それ以外の前記同じサイズとなる方向に隣接する2つについて同じ要素を保持し、
   水平、垂直方向のいずれも前記基本ブロックのサイズと同じである量子化マトリクスについては、前記直流成分の格納位置を含み、水平、垂直方向に隣接する4つの要素を個別に保持し、それ以外の前記水平、垂直に隣接する4つについて同じ要素を保持する
 ことを特徴とする請求項1に記載の画像符号化装置。
[請求項3]
 前記保持手段は、更に、前記基本ブロックの水平、垂直方向とも1/2のサイズの量子化マトリクスを保持し、当該量子化マトリクスについては、個々の位置毎に要素を保持することを特徴とする請求項2に記載の画像符号化装置。
[請求項4]
 画像データを符号化する画像符号化装置の制御方法であって、
 符号化対象の画像データを予め設定されたサイズの基本ブロックに分割し、当該基本ブロックを、予め設定された複数のサブブロック分割パターンの何れかを用いて1以上のサブブロックに更に分割し、各サブブロック単位に周波数変換、量子化、エントロピー符号化を行う第1の符号化工程と、
 該第1の画像符号化工程で利用する前記サブブロック分割パターンに含まれるサブブロックのサイズに対応する複数の量子化マトリクスを保持する保持工程と、
 該保持工程で保持される複数の量子化マトリクスのうち少なくとも1つを符号化する第2の符号化工程と、
 該第2の符号化工程で生成された符号化データと、第1の符号化工程で得た符号化データとを統合する統合工程とを有し、
 前記保持工程は、
   前記基本ブロックの水平、垂直方向のいずれかのサイズと同じサイズを有する量子化マトリクスについては、直流成分の要素の格納位置から予め設定された所定範囲の位置の要素を独立した値として保持し、前記所定範囲を超える位置では予め設定された個数単位に同じ要素を保持する
 ことを特徴とする画像符号化装置の制御方法。
[請求項5]
 請求項1乃至3のいずれか1項に記載の画像符号化装置で生成された符号化データを復号する画像復号装置であって、
 符号化データから、量子化マトリクスの符号化データと、画像データの符号化データとを分離する分離手段と、
 該分離手段で分離された量子化マトリクスの符号化データを復号し、各サブブロックのサイズに対応する複数の量子化マトリクスを生成し、保持する第1の復号手段と、
 前記分離手段で分離された画像データの符号化データを、前記第1の復号手段より得た各サブブロックの量子化マトリクスを用いて復号し、画像データを再生する第2の復号手段と
 を有することを特徴とする画像復号装置。
[請求項6]
 請求項4に記載の制御方法で生成された符号化データを復号する画像復号装置の制御方法であって、
 符号化データから、量子化マトリクスの符号化データと、画像データの符号化データとを分離する分離工程と、
 該分離工程で分離された量子化マトリクスの符号化データを復号し、各サブブロックのサイズに対応する複数の量子化マトリクスを生成し、保持する第1の復号工程と、
 前記分離工程で分離された画像データの符号化データを、前記第1の復号工程より得た各サブブロックの量子化マトリクスを用いて復号し、画像データを再生する第2の復号工程と
 を有することを特徴とする画像復号装置の制御方法。
[請求項7]
 コンピュータが読み込み実行することで、前記コンピュータに、請求項4又は6に記載の制御方法の各工程を実行させるためのプログラム。

図面

[ 図 1]

[ 図 2]

[ 図 3]

[ 図 4]

[ 図 5]

[ 図 6A]

[ 図 6B]

[ 図 7A]

[ 図 7B]

[ 図 7C]

[ 図 7D]

[ 図 7E]

[ 図 7F]

[ 図 8A]

[ 図 8B]

[ 図 8C]

[ 図 8D]

[ 図 9A]

[ 図 9B]

[ 図 10A]

[ 図 10B]

[ 図 10C]

[ 図 10D]

[ 図 11A]

[ 図 11B]

[ 図 11C]

[ 図 11D]

[ 図 12A]

[ 図 12B]