(57)【要約】【課題】直交変換処理および逆直交変換処理のメモリ使用量を低減させることができるようにする。【解決手段】画像データが水平方向および垂直方向に直交変換された直交変換係数に対して、水平方向の逆直交変換を行う水平１次元逆変換部と、前記水平１次元逆変換部により前記水平方向の逆直交変換が行われて得られた係数に対して、ビット幅を低減させるようにクリップ処理を行うビット幅処理部と、前記ビット幅処理部により前記クリップ処理が行われて、ビット幅が低減された前記係数を、中間データとして記憶する記憶部と、前記記憶部に記憶される前記中間データを垂直方向に１ラインずつ読み出し、垂直方向の逆直交変換を行う垂直１次元逆変換部とを備える本開示は画像処理装置に適用することができる。【選択図】図４
2012244397.tif 000002
【特許請求の範囲】
【請求項１】
画像データが水平方向および垂直方向に直交変換された直交変換係数に対して、水平方向の逆直交変換を行う水平１次元逆変換部と、
前記水平１次元逆変換部により前記水平方向の逆直交変換が行われて得られた係数に対して、ビット幅を低減させるようにクリップ処理を行うビット幅処理部と、
前記ビット幅処理部により前記クリップ処理が行われて、ビット幅が低減された前記係数を、中間データとして記憶する記憶部と、
前記記憶部に記憶される前記中間データを垂直方向に１ラインずつ読み出し、垂直方向の逆直交変換を行う垂直１次元逆変換部と
を備える画像処理装置。
【請求項２】
前記ビット幅処理部は、前記係数を、前記係数の周波数帯域に応じたビット幅にクリップ処理する
請求項１に記載の画像処理装置。
【請求項３】
前記水平１次元逆変換部により前記水平方向の逆直交変換が行われて得られた、互いに同一の周波数帯域同士の係数を減算する減算部と、
前記減算部による減算により得られた差分値と、前記減算に用いた一方の係数とを加算する加算部と
をさらに備え、
前記ビット幅処理部は、前記減算により得られた前記差分値に対して、前記差分値のビット幅を低減させるようにクリップ処理し、
前記記憶部は、前記減算に用いられた一方の係数と、前記ビット幅処理部によりビット幅が低減された前記差分値を、前記中間データとして記憶し、
前記加算部は、前記記憶部から読み出した、前記減算に用いられた一方の係数と、ビット幅が低減された前記差分値を加算して、前記減算に用いられた他方の係数を復元し、
前記垂直１次元逆変換部は、前記減算に用いられた一方の係数、および、前記加算部による加算により復元された、前記減算に用いられた他方の係数に対して、垂直方向の逆直交変換を行う
請求項１に記載の画像処理装置。
【請求項４】
前記加算部は、前記記憶部に記憶される前記中間データを垂直方向に１ラインずつ読み出し、
前記記憶部は、前記減算に用いられた一方の係数を、前記加算部により最後に読み出されるラインに記憶する
請求項３に記載の画像処理装置。
【請求項５】
前記ビット幅処理部は、前記差分値を、所定のビット幅にクリップ処理する
請求項３に記載の画像処理装置。
【請求項６】
前記ビット幅処理部は、前記差分値を、前記差分値の周波数帯域に応じたビット幅にクリップ処理する
請求項３に記載の画像処理装置。
【請求項７】
前記水平１次元逆変換部により前記水平方向の逆直交変換が行われて得られた、互いに同一の周波数帯域同士の係数の平均値を算出する平均値算出部をさらに備え、
前記減算部は、前記水平１次元逆変換部により前記水平方向の逆直交変換が行われて得られた係数と、前記平均値算出部により算出された前記平均値との差分値を算出し、
前記ビット幅処理部は、前記減算部により算出された前記差分値に対して、前記差分値のビット幅を低減させるようにクリップ処理し、
前記記憶部は、前記平均値と、前記ビット幅処理部によりビット幅が低減された前記差分値とを、前記中間データとして記憶し、
前記加算部は、前記記憶部から読み出した、前記差分値と前記平均値とを加算して、前記減算に用いられた係数を復元し、
前記垂直１次元逆変換部は、前記減算に用いられた係数に対して、垂直方向の逆直交変換を行う
請求項３に記載の画像処理装置。
【請求項８】
前記ビット幅処理部は、前記差分値を、所定のビット幅にクリップ処理する
請求項７に記載の画像処理装置。
【請求項９】
前記ビット幅処理部は、前記差分値を、前記差分値の周波数帯域に応じたビット幅にクリップ処理する
請求項７に記載の画像処理装置。
【請求項１０】
前記水平１次元逆変換部と前記垂直１次元逆変換部は、互いに異なる変換方式で逆直交変換を行う
請求項１に記載の画像処理装置。
【請求項１１】
画像処理装置の画像処理方法であって、
水平１次元逆変換部が、画像データが水平方向および垂直方向に直交変換された直交変換係数に対して、水平方向の逆直交変換を行い、
ビット幅処理部が、前記水平方向の逆直交変換が行われて得られた係数に対して、ビット幅を低減させるようにクリップ処理を行い、
記憶部が、前記クリップ処理が行われて、ビット幅が低減された前記係数を、中間データとして記憶し、
垂直１次元逆変換部が、記憶される前記中間データを垂直方向に１ラインずつ読み出し、垂直方向の逆直交変換を行う
画像処理方法。
【請求項１２】
画像データに対して、水平方向の直交変換を行う水平１次元変換部と、
前記水平１次元変換部により前記水平方向の直交変換が行われて得られた係数に対して、ビット幅を低減させるようにクリップ処理を行うビット幅処理部と、
前記ビット幅処理部により前記クリップ処理が行われて、ビット幅が低減された前記係数を、中間データとして記憶する記憶部と、
前記記憶部に記憶される前記中間データを垂直方向に１ラインずつ読み出し、垂直方向の直交変換を行う垂直１次元変換部と
を備える画像処理装置。
【請求項１３】
前記ビット幅処理部は、前記係数を、前記係数の周波数帯域に応じたビット幅にクリップ処理する
請求項１２に記載の画像処理装置。
【請求項１４】
前記水平１次元変換部により前記水平方向の直交変換が行われて得られた、互いに同一の周波数帯域同士の係数を減算する減算部と、
前記減算部による減算により得られた差分値と、前記減算に用いた一方の係数とを加算する加算部と
をさらに備え、
前記ビット幅処理部は、前記減算により得られた前記差分値に対して、前記差分値のビット幅を低減させるようにクリップ処理し、
前記記憶部は、前記減算に用いられた一方の係数と、前記ビット幅処理部によりビット幅が低減された前記差分値を、前記中間データとして記憶し、
前記加算部は、前記記憶部から読み出した、前記減算に用いられた一方の係数と、ビット幅が低減された前記差分値を加算して、前記減算に用いられた他方の係数を復元し、
前記垂直１次元変換部は、前記減算に用いられた一方の係数、および、前記加算部による加算により復元された、前記減算に用いられた他方の係数に対して、垂直方向の直交変換を行う
請求項１２に記載の画像処理装置。
【請求項１５】
前記ビット幅処理部は、前記差分値を、所定のビット幅にクリップ処理する
請求項１４に記載の画像処理装置。
【請求項１６】
前記ビット幅処理部は、前記差分値を、前記差分値の周波数帯域に応じたビット幅にクリップ処理する
請求項１４に記載の画像処理装置。
【請求項１７】
前記水平１次元変換部と前記垂直１次元変換部は、互いに異なる変換方式で直交変換を行う
請求項１２に記載の画像処理装置。
【請求項１８】
画像処理装置の画像処理方法であって、
水平１次元変換部が、画像データに対して、水平方向の直交変換を行い、
ビット幅処理部が、前記水平方向の直交変換が行われて得られた係数に対して、ビット幅を低減させるようにクリップ処理を行い、
記憶部が、前記クリップ処理が行われて、ビット幅が低減された前記係数を、中間データとして記憶し、
垂直１次元変換部が、記憶される前記中間データを垂直方向に１ラインずつ読み出し、垂直方向の直交変換を行う
画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像処理装置および方法に関し、特に、直交変換処理および逆直交変換処理のメモリ使用量を低減させることができるようにした画像処理装置および方法、並びに、プログラムに関する。
【背景技術】
【０００２】
近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮するMPEG（Moving Picture Experts Group）などの方式に準拠した装置が、放送局などの情報配信、及び一般家庭における情報受信の双方において普及しつつある。
【０００３】
特に、MPEG2（ISO（International Organization for Standardization）/IEC（International Electrotechnical Commission） 13818-2）は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準で、プロフェッショナル用途及びコンシューマ用途の広範なアプリケーションに現在広く用いられている。MPEG2圧縮方式を用いることにより、例えば７２０×４８０画素を持つ標準解像度の飛び越し走査画像であれば４〜８Ｍｂｐｓ、１９２０×１０８８画素を持つ高解像度の飛び越し走査画像であれば１８〜２２Ｍｂｐｓの符号量（ビットレート）を割り当てることで、高い圧縮率と良好な画質の実現が可能である。
【０００４】
MPEG2は主として放送用に適合する高画質符号化を対象としていたが、MPEG1より低い符号量（ビットレート）、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、１９９８年１２月にISO/IEC 14496-2としてその規格が国際標準に承認された。
【０００５】
更に、近年、当初テレビ会議用の画像符号化を目的として、H.26L （ITU-T（International Telecommunication Union Telecommunication Standardization Sector） Q6/16 VCEG（Video Coding Expert Group））という標準の規格化が進んでいる。H.26LはMPEG2やMPEG4といった従来の符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。また、現在、MPEG4の活動の一環として、このH.26Lをベースに、H.26Lではサポートされない機能をも取り入れ、より高い符号化効率を実現する標準化がJoint Model of Enhanced-Compression Video Codingとして行われている。
【０００６】
標準化のスケジュールとしては、２００３年３月にはH.264及びMPEG-4 Part10 （Advanced Video Coding、以下AVCと記す）という名の元に国際標準となった。
【０００７】
しかしながら、マクロブロックサイズを１６画素×１６画素とするのは、次世代符号化方式の対象となるような、UHD（Ultra High Definition；4000画素×2000画素）といった大きな画枠に対しては、最適ではない恐れがあった。
【０００８】
そこで、現在、AVCより更なる符号化効率の向上を目的として、ITU-Tと、ISO/IECの共同の標準化団体であるJCTVC（Joint Collaboration Team - Video Coding）により、HEVC（High Efficiency Video Coding）と呼ばれる符号化方式の標準化が進められている（例えば、非特許文献１参照）。
【０００９】
このHEVC符号化方式においては、AVCにおけるマクロブロックと同様の処理単位としてコーディングユニット（CU（Coding Unit））が定義されている。このCUは、AVCのマクロブロックのようにサイズが16×16画素に固定されず、それぞれのシーケンスにおいて、画像圧縮情報中において指定される。
【００１０】
ところで、これらの符号化方式においては、画像データに対して直交変換および逆直交変換が行われる。直交変換および逆直交変換は、いずれも、水平方向および垂直方向（２次元）に行われる。例えば、直交変換の場合、まず、水平方向に１次元の直交変換が行われ、その結果（中間データと称する）が転置レジスタを用いて転置され、次に、垂直方向に１次元の直交変換が行われる。逆直交変換の場合も同様である。つまり、これらの処理には、中間データを一時的に保持するために、記憶領域（転置レジスタ）が必要になる。
【００１１】
AVC等の直交変換および逆直交変換（Iverse Transform）の処理単位のサイズが最大８×８画素であるのに対し、HEVCの直交変換および逆直交変換の処理単位のサイズは、例えば、１６×１６画素、３２×３２画素、または６４×６４画素まで拡張される。
【００１２】
しかしながら、このように直交変換および逆直交変換の処理単位となるサイズが大きくなると、中間データを保持するための転置レジスタ（記憶領域）の容量も大幅に増大してしまう恐れがあった。
【００１３】
非特許文献１によると、必要となる転置レジスタのサイズは、例えば、１６×１６画素ブロックの場合、（21×256）bit＝5,376bitとなり、３２×３２画素ブロックの場合（25×1024）bit＝25,600bitとなる。それぞれAVCの８×８画素ブロックの場合の5.25倍と25倍である。
【００１４】
そこで、中間データのビット幅を一律に16bitに規定することが提案されている（例えば、非特許文献２および比特許文献３参照）。この方法の場合、必要となる転置レジスタのサイズは１６×１６画素ブロックの場合（16×256）bit＝4,096bitとなり、３２×３２画素ブロックの場合（16×1024）bit＝16,384bitとなる。この場合でも、それぞれAVCの８×８画素ブロックの場合の4倍と16倍の記憶領域が必要になる。
【００１５】
なお、直交変換・逆直交変換には、離散コサイン変換（DCT（Discrete Cosine Transform））、離散サイン変換（DST（Discrete Sine Transform））、カルーネン・レーベ変換等、様々な方式が存在する。また、例えばDCTとDSTのように、水平方向と垂直方向とで互いに異なる方式の直交変換・逆直交変換を行う方法も考えられている（例えば、非特許文献４参照）。
【先行技術文献】
【非特許文献】
【００１６】
【非特許文献１】Thomas Wiegand, Woo-Jin Han, Benjamin Bross, Jens-Rainer Ohm, Gary J. Sullivan, "Working Draft 1 of High-Efficiency Video Coding ", JCTVC-C403, Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG113rd Meeting: Guangzhou, CN, 7-15 October, 2010
【非特許文献２】A. Fuldseth, G. Bjoentegaard, "Unified transform design for HEVC with 16 bit intermediate data representation", JCTVC-D224, Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG114th Meeting: Daegu, KR, 20-28 January, 2011
【非特許文献３】Kiran Misra, Louis Kerofsky, Andrew Segall, "On transform dynamic range", JCTVC-D071, Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG114th Meeting: Daegu, KR, 20-28 January, 2011
【非特許文献４】Ankur Saxena, Felix C. Fernandes, "CE7: Mode-dependent DCT/DST without 4*4 full matrix multiplication for intra prediction", JCTVC-E125, Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG115th Meeting: Geneva, CH, 16-23 March, 2011
【発明の概要】
【発明が解決しようとする課題】
【００１７】
しかしながら、さらなる転置レジスタの増大の抑制が求められている。
【００１８】
本開示は、このような状況に鑑みてなされたものであり、直交変換処理および逆直交変換処理の処理単位が増大することによるメモリ使用量の増大を抑制することができるようにすることを目的とする。
【課題を解決するための手段】
【００１９】
本開示の一側面は、画像データが水平方向および垂直方向に直交変換された直交変換係数に対して、水平方向の逆直交変換を行う水平１次元逆変換部と、前記水平１次元逆変換部により前記水平方向の逆直交変換が行われて得られた係数に対して、ビット幅を低減させるようにクリップ処理を行うビット幅処理部と、前記ビット幅処理部により前記クリップ処理が行われて、ビット幅が低減された前記係数を、中間データとして記憶する記憶部と、前記記憶部に記憶される前記中間データを垂直方向に１ラインずつ読み出し、垂直方向の逆直交変換を行う垂直１次元逆変換部とを備える画像処理装置である。
【００２０】
前記ビット幅処理部は、前記係数を、前記係数の周波数帯域に応じたビット幅にクリップ処理することができる。
【００２１】
前記水平１次元逆変換部により前記水平方向の逆直交変換が行われて得られた、互いに同一の周波数帯域同士の係数を減算する減算部と、前記減算部による減算により得られた差分値と、前記減算に用いた一方の係数とを加算する加算部とをさらに備え、前記ビット幅処理部は、前記減算により得られた前記差分値に対して、前記差分値のビット幅を低減させるようにクリップ処理し、前記記憶部は、前記減算に用いられた一方の係数と、前記ビット幅処理部によりビット幅が低減された前記差分値を、前記中間データとして記憶し、前記加算部は、前記記憶部から読み出した、前記減算に用いられた一方の係数と、ビット幅が低減された前記差分値を加算して、前記減算に用いられた他方の係数を復元し、前記垂直１次元逆変換部は、前記減算に用いられた一方の係数、および、前記加算部による加算により復元された、前記減算に用いられた他方の係数に対して、垂直方向の逆直交変換を行うことができる。
【００２２】
前記加算部は、前記記憶部に記憶される前記中間データを垂直方向に１ラインずつ読み出し、前記記憶部は、前記減算に用いられた一方の係数を、前記加算部により最後に読み出されるラインに記憶することができる。
【００２３】
前記ビット幅処理部は、前記差分値を、所定のビット幅にクリップ処理することができる。
【００２４】
前記ビット幅処理部は、前記差分値を、前記差分値の周波数帯域に応じたビット幅にクリップ処理することができる。
【００２５】
前記水平１次元逆変換部により前記水平方向の逆直交変換が行われて得られた、互いに同一の周波数帯域同士の係数の平均値を算出する平均値算出部をさらに備え、前記減算部は、前記水平１次元逆変換部により前記水平方向の逆直交変換が行われて得られた係数と、前記平均値算出部により算出された前記平均値との差分値を算出し、前記ビット幅処理部は、前記減算部により算出された前記差分値に対して、前記差分値のビット幅を低減させるようにクリップ処理し、前記記憶部は、前記平均値と、前記ビット幅処理部によりビット幅が低減された前記差分値とを、前記中間データとして記憶し、前記加算部は、前記記憶部から読み出した、前記差分値と前記平均値とを加算して、前記減算に用いられた係数を復元し、前記垂直１次元逆変換部は、前記減算に用いられた係数に対して、垂直方向の逆直交変換を行うことができる。
【００２６】
前記ビット幅処理部は、前記差分値を、所定のビット幅にクリップ処理することができる。
【００２７】
前記ビット幅処理部は、前記差分値を、前記差分値の周波数帯域に応じたビット幅にクリップ処理することができる。
【００２８】
前記水平１次元逆変換部と前記垂直１次元逆変換部は、互いに異なる変換方式で逆直交変換を行うことができる。
【００２９】
本開示の一側面は、また、画像処理装置の画像処理方法であって、水平１次元逆変換部が、画像データが水平方向および垂直方向に直交変換された直交変換係数に対して、水平方向の逆直交変換を行い、ビット幅処理部が、前記水平方向の逆直交変換が行われて得られた係数に対して、ビット幅を低減させるようにクリップ処理を行い、記憶部が、前記クリップ処理が行われて、ビット幅が低減された前記係数を、中間データとして記憶し、垂直１次元逆変換部が、記憶される前記中間データを垂直方向に１ラインずつ読み出し、垂直方向の逆直交変換を行う画像処理方法である。
【００３０】
本開示の他の側面は、画像データに対して、水平方向の直交変換を行う水平１次元変換部と、前記水平１次元変換部により前記水平方向の直交変換が行われて得られた係数に対して、ビット幅を低減させるようにクリップ処理を行うビット幅処理部と、前記ビット幅処理部により前記クリップ処理が行われて、ビット幅が低減された前記係数を、中間データとして記憶する記憶部と、前記記憶部に記憶される前記中間データを垂直方向に１ラインずつ読み出し、垂直方向の直交変換を行う垂直１次元変換部とを備える画像処理装置である。
【００３１】
前記ビット幅処理部は、前記係数を、前記係数の周波数帯域に応じたビット幅にクリップ処理することができる。
【００３２】
前記水平１次元変換部により前記水平方向の直交変換が行われて得られた、互いに同一の周波数帯域同士の係数を減算する減算部と、前記減算部による減算により得られた差分値と、前記減算に用いた一方の係数とを加算する加算部とをさらに備え、前記ビット幅処理部は、前記減算により得られた前記差分値に対して、前記差分値のビット幅を低減させるようにクリップ処理し、前記記憶部は、前記減算に用いられた一方の係数と、前記ビット幅処理部によりビット幅が低減された前記差分値を、前記中間データとして記憶し、前記加算部は、前記記憶部から読み出した、前記減算に用いられた一方の係数と、ビット幅が低減された前記差分値を加算して、前記減算に用いられた他方の係数を復元し、前記垂直１次元変換部は、前記減算に用いられた一方の係数、および、前記加算部による加算により復元された、前記減算に用いられた他方の係数に対して、垂直方向の直交変換を行うことができる。
【００３３】
前記ビット幅処理部は、前記差分値を、所定のビット幅にクリップ処理することができる。
【００３４】
前記ビット幅処理部は、前記差分値を、前記差分値の周波数帯域に応じたビット幅にクリップ処理することができる。
【００３５】
前記水平１次元変換部と前記垂直１次元変換部は、互いに異なる変換方式で直交変換を行うことができる。
【００３６】
本開示の他の側面は、また、画像処理装置の画像処理方法であって、水平１次元変換部が、画像データに対して、水平方向の直交変換を行い、ビット幅処理部が、前記水平方向の直交変換が行われて得られた係数に対して、ビット幅を低減させるようにクリップ処理を行い、記憶部が、前記クリップ処理が行われて、ビット幅が低減された前記係数を、中間データとして記憶し、垂直１次元変換部が、記憶される前記中間データを垂直方向に１ラインずつ読み出し、垂直方向の直交変換を行う画像処理方法である。
【００３７】
本開示の一側面においては、画像データが水平方向および垂直方向に直交変換された直交変換係数に対して、水平方向の逆直交変換が行われ、水平方向の逆直交変換が行われて得られた係数に対して、ビット幅を低減させるようにクリップ処理が行われ、クリップ処理が行われて、ビット幅が低減された係数が、中間データとして記憶され、記憶される中間データが垂直方向に１ラインずつ読み出され、垂直方向の逆直交変換が行われる。
【００３８】
本開示の他の側面においては、画像データに対して、水平方向の直交変換が行われ、水平方向の直交変換が行われて得られた係数に対して、ビット幅を低減させるようにクリップ処理が行われ、クリップ処理が行われて、ビット幅が低減された係数が、中間データとして記憶され、記憶される中間データが垂直方向に１ラインずつ読み出され、垂直方向の直交変換が行われる。
【発明の効果】
【００３９】
本開示によれば、画像を処理することができる。特に、直交変換処理および逆直交変換処理のメモリ使用量の増大を抑制することができる。
【図面の簡単な説明】
【００４０】
【図１】画像復号装置の主な構成例を示すブロック図である。
【図２】マクロブロックの例を示す図である。
【図３】コーディングユニットの構成例を説明する図である。
【図４】逆直交変換部の主な構成例を示すブロック図である。
【図５】中間データの周波数分布の例を説明する図である。
【図６】中間データの例を説明する図である。
【図７】復号処理の流れの例を説明するフローチャートである。
【図８】逆直交変換処理の流れの例を説明するフローチャートである。
【図９】逆直交変換部の他の構成例を示すブロック図である。
【図１０】中間データの他の例を説明する図である。
【図１１】中間データのさらに他の例を説明する図である。
【図１２】逆直交変換処理の流れの、他の例を説明するフローチャートである。
【図１３】逆直交変換処理の流れの、さらに他の例を説明するフローチャートである。
【図１４】逆直交変換部のさらに他の構成例を示すブロック図である。
【図１５】中間データのさらに他の例を説明する図である。
【図１６】逆直交変換処理の流れの、さらに他の例を説明するフローチャートである。
【図１７】逆直交変換処理の流れの、さらに他の例を説明するフローチャートである。
【図１８】画像符号化装置の主な構成例を示すブロック図である。
【図１９】直交変換部の主な構成例を示すブロック図である。
【図２０】中間データの周波数分布の、他の例を説明する図である。
【図２１】中間データのさらに他の例を説明する図である。
【図２２】符号化処理の流れの例を説明するフローチャートである。
【図２３】直交変換処理の流れの例を説明するフローチャートである。
【図２４】直交変換部の他の構成例を示すブロック図である。
【図２５】中間データのさらに他の例を説明する図である。
【図２６】中間データのさらに他の例を説明する図である。
【図２７】直交変換処理の流れの、他の例を説明するフローチャートである。
【図２８】直交変換処理の流れの、さらに他の例を説明するフローチャートである。
【図２９】パーソナルコンピュータの主な構成例を示すブロック図である。
【図３０】テレビジョン装置の概略的な構成の一例を示すブロック図である。
【図３１】携帯電話機の概略的な構成の一例を示すブロック図である。
【図３２】記録再生装置の概略的な構成の一例を示すブロック図である。
【図３３】撮像装置の概略的な構成の一例を示すブロック図である。
【発明を実施するための形態】
【００４１】
以下、発明を実施するための形態（以下実施の形態とする）について説明する。なお、説明は以下の順序で行う。
１．第１の実施の形態（画像復号装置）
２．第２の実施の形態（逆直交変換部）
３．第３の実施の形態（逆直交変換部）
４．第４の実施の形態（画像符号化装置）
５．第５の実施の形態（直交変換部）
６．第６の実施の形態（パーソナルコンピュータ）
７．第７の実施の形態（テレビジョン受像機）
８．第８の実施の形態（携帯電話機）
９．第９の実施の形態（記録再生装置）
１０．第１０の実施の形態（撮像装置）
【００４２】
＜１．第１の実施の形態＞
［画像復号装置］
図１は、画像処理装置の一実施の形態である画像復号装置の主な構成例を示すブロック図である。
【００４３】
図１に示される画像復号装置１００は、H．264及びMPEG（Moving Picture Experts Group）4 Part10（AVC（Advanced Video Coding））やHEVC（High Efficiency Video Coding）等の符号化方式のように、画像符号化装置において予測処理を用いて画像データが符号化された符号化データを、取得して復号し、復号画像を得る装置である。
【００４４】
図１に示されるように画像復号装置１００は、蓄積バッファ１０１、可逆復号部１０２、逆量子化部１０３、逆直交変換部１０４、演算部１０５、ループフィルタ１０６、画面並べ替えバッファ１０７、およびD/A変換部１０８を有する。また、画像復号装置１００は、フレームメモリ１０９、選択部１１０、イントラ予測部１１１、動き予測・補償部１１２、および選択部１１３を有する。
【００４５】
蓄積バッファ１０１は伝送されてきた符号化データを蓄積し、所定のタイミングにおいてその符号化データを可逆復号部１０２に供給する。可逆復号部１０２は、蓄積バッファ１０１より供給された、画像符号化装置の可逆符号化部により符号化された情報を、その可逆符号化部の符号化方式に対応する方式で復号する。可逆復号部１０２は、復号して得られた差分画像の量子化された係数データを、逆量子化部１０３に供給する。
【００４６】
また、可逆復号部１０２は、最適な予測モードにイントラ予測モードが選択されたかインター予測モードが選択されたかを判定し、その最適な予測モードに関する情報を、イントラ予測部１１１および動き予測・補償部１１２の内、選択されたと判定したモードの方に供給する。例えば、画像符号化装置において最適な予測モードとしてイントラ予測モードが選択された場合、そのイントラ予測モードに関する情報がイントラ予測部１１１に供給される。また、例えば、画像符号化装置において最適な予測モードとしてインター予測モードが選択された場合、そのインター予測モードに関する情報が動き予測・補償部１１２に供給される。
【００４７】
逆量子化部１０３は、可逆復号部１０２により復号されて得られた量子化された係数データを、画像符号化装置の量子化部の量子化方式に対応する方式で逆量子化し、得られた係数データを逆直交変換部１０４に供給する。
【００４８】
逆直交変換部１０４は、画像符号化装置の直交変換部の直交変換方式に対応する方式で逆量子化部１０３から供給される係数データを逆直交変換する。逆直交変換部１０４は、この逆直交変換処理により、画像符号化装置において直交変換される前の残差データに対応する復号残差データを得る。なお、詳細については後述するが、逆直交変換部１０４は、転置レジスタとして使用する記憶領域の容量を抑制するように逆直交変換処理を行う。
【００４９】
逆直交変換されて得られた復号残差データは、演算部１０５に供給される。また、演算部１０５には、選択部１１３を介して、イントラ予測部１１１若しくは動き予測・補償部１１２から予測画像が供給される。
【００５０】
演算部１０５は、その復号残差データと予測画像とを加算し、画像符号化装置の演算部により予測画像が減算される前の画像データに対応する復号画像データを得る。演算部１０５は、その復号画像データをループフィルタ１０６に供給する。
【００５１】
ループフィルタ１０６は、供給された復号画像に対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜施し、それを画面並べ替えバッファ１０７に供給する。
【００５２】
ループフィルタ１０６は、デブロックフィルタや適応ループフィルタ等を含み、演算部１０５から供給される復号画像に対して適宜フィルタ処理を行う。例えば、ループフィルタ１０６は、復号画像に対してデブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。また、例えば、ループフィルタ１０６は、そのデブロックフィルタ処理結果（ブロック歪みの除去が行われた復号画像）に対して、ウィナーフィルタ（Wiener Filter）を用いてループフィルタ処理を行うことにより画質改善を行う。
【００５３】
なお、ループフィルタ１０６が、復号画像に対して任意のフィルタ処理を行うようにしてもよい。また、ループフィルタ１０６が、画像符号化装置から供給されたフィルタ係数を用いてフィルタ処理を行うようにしてもよい。
【００５４】
ループフィルタ１０６は、フィルタ処理結果（フィルタ処理後の復号画像）を画面並べ替えバッファ１０７およびフレームメモリ１０９に供給する。なお、演算部１０５から出力される復号画像は、ループフィルタ１０６を介さずに画面並べ替えバッファ１０７やフレームメモリ１０９に供給することができる。つまり、ループフィルタ１０６によるフィルタ処理は省略することができる。
【００５５】
画面並べ替えバッファ１０７は、画像の並べ替えを行う。すなわち、画像符号化装置の画面並べ替えバッファにより符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部１０８は、画面並べ替えバッファ１０７から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
【００５６】
フレームメモリ１０９は、供給される復号画像を記憶し、所定のタイミングにおいて、若しくは、イントラ予測部１１１や動き予測・補償部１１２等の外部の要求に基づいて、記憶している復号画像を参照画像として、選択部１１０に供給する。
【００５７】
選択部１１０は、フレームメモリ１０９から供給される参照画像の供給先を選択する。選択部１１０は、イントラ符号化された画像を復号する場合、フレームメモリ１０９から供給される参照画像をイントラ予測部１１１に供給する。また、選択部１１０は、インター符号化された画像を復号する場合、フレームメモリ１０９から供給される参照画像を動き予測・補償部１１２に供給する。
【００５８】
イントラ予測部１１１には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報等が可逆復号部１０２から適宜供給される。イントラ予測部１１１は、画像符号化装置のイントラ予測部において用いられたイントラ予測モードで、フレームメモリ１０９から取得した参照画像を用いてイントラ予測を行い、予測画像を生成する。イントラ予測部１１１は、生成した予測画像を選択部１１３に供給する。
【００５９】
動き予測・補償部１１２は、ヘッダ情報を復号して得られた情報（最適予測モード情報等）を可逆復号部１０２から取得する。
【００６０】
動き予測・補償部１１２は、画像符号化装置の動き予測・補償部において用いられたインター予測モードで、フレームメモリ１０９から取得した参照画像を用いてインター予測を行い、予測画像を生成する。動き予測・補償部１１２は、生成した予測画像を選択部１１３に供給する。
【００６１】
選択部１１３は、イントラ予測部１１１若しくは動き予測・補償部１１２から供給される予測画像を演算部１０５に供給し、復号残差データに加算させる。
【００６２】
［マクロブロック］
AVCにおいては、図２に示されるように、１６×１６画素により構成される１つのマクロブロックを、１６×１６、１６×８、８×１６若しくは８×８のいずれかのパーティション（サブマクロブロック）に分割し、サブマクロブロック毎に、互いに独立した動きベクトル情報を持つことが可能である。更に、８×８パーティションに関しては、図２に示されるとおり、８×８、８×４、４×８、４×４のいずれかのサブマクロブロックに分割し、それぞれ独立した動きベクトル情報を持つことが可能である。
【００６３】
このようなAVC、若しくは、AVCと同様の処理単位で各処理を行う符号化方式の場合、直交変換処理は、４×４画素のサブマクロブロック、若しくは、８×８画素のサブマクロブロックを処理単位として行われる。つまり、図１の逆直交変換部１０４は、４×４画素のサブマクロブロック、若しくは、８×８画素のサブマクロブロックを処理単位として逆直交変換処理を行う。
【００６４】
［コーディングユニット］
ところで、マクロブロックサイズを１６画素×１６画素とするのは、次世代符号化方式の対象となるような、UHD（Ultra High Definition；４０００画素×２０００画素）といった大きな画枠に対しては、最適ではない。
【００６５】
そこで、HEVCにおいては、図３に示されるように、コーディングユニット（CU（Coding Unit））が規定されている。
【００６６】
CUは、Coding Tree Block（CTB）とも呼ばれ、AVCにおけるマクロブロックと同様の役割を果たす、ピクチャ単位の画像の部分領域である。後者は、１６×１６画素の大きさに固定されているのに対し、前者の大きさは固定されておらず、それぞれのシーケンスにおいて、画像圧縮情報中において指定されることになる。
【００６７】
例えば、出力となる符号化データに含まれるシーケンスパラメータセット（SPS（Sequence Parameter Set））において、CUの最大サイズ（LCU（Largest Coding Unit））と最小サイズ（（SCU（Smallest Coding Unit））が規定される。
【００６８】
それぞれのLCU内においては、SCUのサイズを下回らない範囲で、split-flag=1とすることにより、より小さなサイズのCUに分割することができる。図３の例では、LCUの大きさが１２８であり、最大階層深度が５となる。２Ｎ×２Ｎの大きさのCUは、split_flagの値が「１」である時、１つ下の階層となる、Ｎ×Ｎの大きさのCUに分割される。
【００６９】
更に、CUは、イントラ若しくはインター予測の処理単位となる領域（ピクチャ単位の画像の部分領域）であるプレディクションユニット（Prediction Unit（PU））に分割され、また、直交変換の処理単位となる領域（ピクチャ単位の画像の部分領域）である、トランスフォームユニット（Transform Unit（TU））に分割される。現在、HEVCにおいては、４×４及び８×８に加え、１６×１６及び３２×３２直交変換を用いることが可能である。
【００７０】
以上のHEVCのように、CUを定義し、そのCUを単位として各種処理を行うような符号化方式の場合、AVCにおけるマクロブロックはLCUに相当すると考えることができる。ただし、CUは図３に示されるように階層構造を有するので、その最上位階層のLCUのサイズは、例えば128×128画素のように、AVCのマクロブロックより大きく設定されることが一般的である。
【００７１】
このようなHEVC、若しくは、HEVCと同様の処理単位で各処理を行う符号化方式の場合、直交変換処理の処理単位として、４×４画素、８×８画素、に加え、１６×１６画素や３２×３２画素も適用される。つまり、図１の逆直交変換部１０４は、１６×１６画素のTU、若しくは、３２×３２画素のTUを処理単位として逆直交変換処理を行うこともできる。
【００７２】
なお、以下において、上述したマクロブロック、サブマクロブロック、CU、PU、およびTU等は、単に「領域」と称する場合もある。
【００７３】
［逆直交変換部］
図４は、図１の逆直交変換部１０４の主な構成例を示すブロック図である。
【００７４】
図４に示されるように、逆直交変換部１０４は、水平１次元逆変換部１３１、ビット幅処理部１３２、転置レジスタ１３３、および垂直１次元逆変換部１３４を有する。水平１次元逆変換部１３１、転置レジスタ１３３、および垂直１次元逆変換部１３４は、AVCやHEVC等の符号化方式で復号処理を行う画像復号装置の逆直交変換部も有する構成であり、逆直交変換部１０４は、その構成に加え、ビット幅処理部１３２を有する。
【００７５】
水平１次元逆変換部１３１は、逆量子化部１０３から業給される直交変換係数データ（以下、単に係数データとも称する）を、水平方向に逆直交変換する。水平１次元逆変換部１３１には、例えば１６×１６画素や３２×３２画素等のように、所定の大きさの領域毎に直交変換された係数データ群が供給される。つまり、１６×１６や３２×３２の係数データが供給される。水平１次元逆変換部１３１は、それらの係数データを、垂直方向の上から下に向かう順に１行ずつ水平方向に逆直交変換する。水平１次元逆変換部１３１は、逆直交変換して得られる中間データ（垂直方向に直交変換された係数データ）をビット幅処理部１３２に供給する。
【００７６】
ビット幅処理部１３２は、供給された各中間データに対してクリップ処理を行い、各中間データのビット幅を、その周波数帯域に応じた度合いで低減させる。ここで例えばnビットへのクリップ処理とは、-2n-1より小さい値は-2n-1にとし、2n-1-1より大きい値は2n-1-1とする処理である。ビット幅処理部１３２は、ビット幅を調整した各中間データを転置レジスタ１３３に供給し、保持させる。
【００７７】
転置レジスタ１３３は、供給される各中間データを、図４に示されるように、元の直交変換係数データの並び順に対応するように整列して記憶する。つまり、転置レジスタ１３３は、各行の各画素の中間データが水平方向に並び、各行が互いに垂直方向に並ぶように記憶する。したがって、例えば３２×３２の直交変換係数データから生成された中間データは、３２×３２×（各画素のビット幅）の記憶領域に記憶される。
【００７８】
垂直１次元逆変換部１３４は、この転置レジスタ１３３から、中間データを列毎に読み出して、１次元の逆直交変換処理を行う。つまり、垂直１次元逆変換部１３４は、転置レジスタ１３３に記憶される中間データを、垂直方向の並び毎に読み出す。すなわち、垂直１次元逆変換部１３４は、転置レジスタ１３３からの中間データの読み出しを、その中間データの書き込み順と異なる順で読み出すことにより、中間データの並びを水平方向から垂直方向に転置させる。垂直１次元逆変換部１３４は、このように列毎に読み出した中間データを、その列毎に逆直交変換を行うことにより、垂直方向の逆直交変換を実現する。
【００７９】
垂直１次元逆変換部１３４によって中間データが垂直方向に逆直交変換されることにより、直交変換係数データが２次元（水平方向および垂直方向）に逆直交変換された復号残差データが得られる。垂直１次元逆変換部１３４は、その復号残差データを演算部１０５に供給する。
【００８０】
以上のような処理において、転置レジスタ１３３に記憶される中間データは、例えば図５に示されるように、垂直方向に周波数成分毎に整列することになる。つまり、上から下に向かって、低周波成分から高周波成分が並ぶ。より低周波の成分は、より上に位置し、より高周波の成分は、より下に位置する。各行の水平方向には、互いに同じ周波数帯域の成分が並ぶ。
【００８１】
例えば、水平１次元逆変換部１３１により逆直交変換されて得られる中間データのビット幅が、図６Ａに示されるように、１６ビットであるとする。処理単位の領域を３２×３２とすると、データ量は、（32×32）×16bit＝16,384bitである。
【００８２】
ビット幅処理部１３２は、例えば、図６Ｂに示されるように、各中間データのビット幅を、その周波数成分毎に調整する。より具体的には、ビット幅処理部１３２は、低周波成分ほどビット幅が長く、高周波成分ほどビット幅が狭くなるように、各中間データのビット幅を抑制する。例えば、図６Ｂの場合、ビット幅処理部１３２は、１番上の１行（１水平ライン）の中間データのビット幅を１６ビットとし、上から２番目乃至４番目の３行（３水平ライン）の中間データのビット幅を１４ビットとする。また、例えば、図６Ｂの場合、ビット幅処理部１３２は、上から５番目乃至１６番目の１２行（１２水平ライン）の中間データのビット幅を１２ビットとし、上から１７番目乃至３２番目の１６行（１６水平ライン）の中間データのビット幅を９ビットとする。
【００８３】
このようにすることにより、データ量は、（32×1）×16bit＋(32×3)×14bit＋（32×12）×12bit＋（32×16）×9bit＝11,072bitとなる。したがって、上述した全ての中間データのビット幅を１６ビットとする場合に比べて、5,312bit分、転置レジスタ１３３としてのメモリ使用量を低減させることができる。
【００８４】
なお、直交変換係数データおよび中間データの各行のビット幅は、任意であり、図６Ｂに示される例以外であってもよい。例えば、１番上の行から４行（４水平ライン）ずつビット幅を低減させるようにしてもよい。また、例えば、上から１６番目の行まで（１６水平ライン）の中間データのビット幅を直交変換係数データと同一とし、残りの１６行（１６水平ライン）の各行のビット幅を直交変換係数データよりも低減させるようにしてもよい。
【００８５】
つまり、ビット幅処理部１３２は、中間データのビット幅を、その周波数帯域毎に制御する。例えば、ビット幅処理部１３２は、処理単位となる領域の画像データが２次元直交変換された直交変換係数データが水平方向に１次元逆直交変換されて得られた水平ライン毎の中間データのビット幅を、その周波数帯域に応じて低減させる。
【００８６】
例えば、ビット幅処理部１３２は、各水平ラインの中間データのビット幅を、より高周波の成分ほど、より強く低減させる。一般的に、画像は、より低周波成分ほど絶対値が大きく、より高周波成分ほど絶対値が小さい。したがって、このようにビット幅を制御することにより、ビット幅処理部１３２は、画質劣化を抑制しながら、逆直交変換処理において使用される転置レジスタ１３３のサイズを抑制することができる。
【００８７】
例えば、ビット幅処理部１３２は、直交変換された画像データの周波数特性に応じて、各水平ラインの中間データのビット幅を低減させる。このようにビット幅を制御することにより、ビット幅処理部１３２は、画質劣化をより抑制することができる。
【００８８】
なお、転置レジスタ１３３のサイズを低減させることにより、画像復号処理に必要なメモリ容量を低減させることができ、画像復号装置１００の製造コストを低減させることができる。
【００８９】
なお、ビット幅処理部１３２のクリップ処理により、中間データが誤差を含むようになる場合も考えられるが、クリップするビット幅を十分に確保することにより、この誤差の影響を低減させることができる。換言するに、画像復号装置１００は、クリップするビット幅の設定によって、画質劣化の大きさと転置レジスタ１３３のサイズとを制御することができる。したがって、例えば、画像の内容に応じて、これらが最善となるように、クリップするビット幅を決定するのが望ましい。
【００９０】
［復号処理の流れ］
次に、以上のような画像復号装置１００により実行される各処理の流れについて説明する。最初に、図７のフローチャートを参照して、復号処理の流れの例を説明する。
【００９１】
復号処理が開始されると、ステップＳ１０１において、蓄積バッファ１０１は、伝送されてきたビットストリームを蓄積する。ステップＳ１０２において、可逆復号部１０２は、蓄積バッファ１０１から供給されるビットストリームを復号する。すなわち、画像符号化装置の可逆符号化部により符号化されたＩピクチャ、Ｐピクチャ、並びにＢピクチャが復号される。また、差分動き情報など、ビットストリームに含められた差分画像情報以外の各種情報も復号される。
【００９２】
ステップＳ１０３において、逆量子化部１０３は、ステップＳ１０２の処理により得られた、量子化された直交変換係数を逆量子化する。ステップＳ１０４において逆直交変換部１０４は、ステップＳ１０３において逆量子化された直交変換係数を逆直交変換する。
【００９３】
ステップＳ１０５において、イントラ予測部１１１若しくは動き予測・補償部１１２は、供給された情報を用いて予測処理を行う。ステップＳ１０６において、選択部１１３は、ステップＳ１０５において生成された予測画像を選択する。ステップＳ１０７において、演算部１０５は、ステップＳ１０４において逆直交変換されて得られた差分画像情報に、ステップＳ１０６において選択された予測画像を加算する。これにより復号画像が得られる。
【００９４】
ステップＳ１０８において、ループフィルタ１０６は、ステップＳ１０７において得られた復号画像に対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜行う。
【００９５】
ステップＳ１０９において、画面並べ替えバッファ１０７は、ステップＳ１０８においてフィルタ処理された画像の並べ替えを行う。すなわち画像符号化装置の画面並べ替えバッファにより符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
【００９６】
ステップＳ１１０において、D/A変換部１０８は、ステップＳ１０９においてフレームの順序が並べ替えられた画像をD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
【００９７】
ステップＳ１１１において、フレームメモリ１０９は、ステップＳ１０８においてフィルタ処理された画像を記憶する。この画像は、ステップＳ１０５において、参照画像として、予測画像の生成に使用される。
【００９８】
ステップＳ１１１の処理が終了すると、復号処理が終了される。
【００９９】
［逆直交変換処理の流れ］
次に、図８のフローチャートを参照して、図７のステップＳ１０４において実行される逆直交変換処理の流れの例を説明する。
【０１００】
ステップＳ１３１において、水平１次元逆変換部１３１は、逆量子化された、処理対象の１水平ラインの直交変換係数データに対して、水平方向に１次元逆直交変換を行う。ステップＳ１３２において、ビット幅処理部１３２は、ステップＳ１３１の処理により得られた１水平ラインの中間データに対して、周波数帯域に応じたビット幅へのクリップ処理を行う。ステップＳ１３３において、ビット幅処理部１３２は、クリップ処理した１水平ラインの中間データを、転置レジスタ１３３の、前回書き込んだ１水平ラインの中間データの１行下に書き込む。
【０１０１】
ステップＳ１３４において、水平１次元逆変換部１３１は、領域内の全ての水平ラインを処理したか否かを判定し、処理対象の領域において未処理の水平ラインが存在すると判定した場合、処理をステップＳ１３１に戻し、それ以降の処理を行う。
【０１０２】
各水平ラインについて、ステップＳ１３１乃至ステップＳ１３４の処理を繰り返し、ステップＳ１３４において、処理対象領域内の全ての水平ラインを処理したと判定した場合、水平１次元逆変換部１３１は、処理をステップＳ１３５に進める。
【０１０３】
ステップＳ１３５において、垂直１次元逆変換部１３４は、転置レジスタ１３３から中間データを１垂直ライン分読み出し、ステップＳ１３６において、読み出した中間データに対して、垂直方向に１次元逆直交変換を行う。
【０１０４】
ステップＳ１３７において、垂直１次元逆変換部１３４は、領域内の全ての垂直ラインを処理したか否かを判定し、処理対象の領域において未処理の垂直ラインが存在すると判定した場合、処理をステップＳ１３５に戻し、それ以降の処理を行う。
【０１０５】
各垂直ラインについて、ステップＳ１３５乃至ステップＳ１３７の処理を繰り返し、ステップＳ１３７において、処理対象領域内の全ての垂直ラインを処理したと判定した場合、垂直１次元逆変換部１３４は、処理をステップＳ１３８に進める。
【０１０６】
ステップＳ１３８において、垂直１次元逆変換部１３４は、画像内の全ての領域を処理したか否かを判定し、未処理の領域が存在すると判定された場合、処理をステップＳ１３１に戻し、それ以降の処理を繰り返す。
【０１０７】
以上のように、各領域について、ステップＳ１３１乃至ステップＳ１３８の処理が繰り返され、ステップＳ１３８において、全ての領域を処理したと判定された場合、垂直１次元逆変換部１３４は、逆直交変換処理を終了し、処理を図７に戻す。
【０１０８】
このように各処理を行うことにより、画像復号装置１００は、逆直交変換処理において得られる中間データのデータ量を低減させることができ、転置レジスタ１３３として使用される記憶領域のサイズを低減させることができる。これにより、画像復号処理に必要なメモリ容量を低減させることができ、画像復号装置１００の製造コストを低減させることができる。
【０１０９】
＜２．第２の実施の形態＞
［逆直交変換部］
なお、各中間データの値をより小さくするために、中間データは、所定の列（垂直ライン）を基準とし、その基準との差分値を転置レジスタ１３３に格納させるようにしてもよい。つまり、水平方向の１次元逆変換を行った結果について、互いに同一の周波数成分同士で差分をとり、その差分を中間データとするようにしてもよい。
【０１１０】
図９は、逆直交変換部１０４の他の構成例を示すブロック図である。
【０１１１】
図９に示される例の場合、逆直交変換部１０４は、図４を参照して説明した構成に加え、水平１次元逆変換部１３１とビット幅処理部１３２との間に減算部２３１を有し、転置レジスタ１３３と垂直１次元逆変換部１３４との間に加算部２３２を有する。
【０１１２】
減算部２３１は、上述したように行列状（アレイ状）に配列される各係数の所定の１垂直ライン上の画素を基準画素とし、各水平ラインにおいて、その基準画素の係数と、それ以外の各画素の係数との差分値を求める。
【０１１３】
ビット幅処理部１３２は、減算部２３１から出力される、その差分値に対してクリップ処理を行う。例えば、ビット幅処理部１３２は、供給された各差分値のビット幅を、所定のビット幅に低減し、転置レジスタ１３３に供給し、中間データとして記憶させる。また、ビット幅処理部１３２は、各基準画素の係数を、ビット幅の抑制を行わずに、そのまま転置レジスタ１３３に供給し、中間データとして記憶させる。
【０１１４】
図１０は、転置レジスタ１３３に記憶される中間データの例を示す図である。
図１０の例の場合、逆直交変換処理の処理単位となる領域のサイズはｎ×ｎ画素である。水平１次元逆変換部１３１の出力Ａij（0≦i<n, 0≦j<n）のビット幅は、１６ビットである。
【０１１５】
減算部２３１は、このような出力対して、１番右の列（j＝n-1）を基準画素のラインとし、その他の列（0≦j<n-1）について、基準画素の係数との差分値Δａijを以下の式（１）および式（２）のように算出する。
【０１１６】
Δａij＝ABS（Ａij）−ABS（Ａi（ｎ−１））  ・・・（１）
Ｂij＝MBS（Ａij）  ・・・（２）
【０１１７】
なお、Ｂijは、Ａij（0≦i<n, 0≦j<n-1）の符号ビットを示す。
【０１１８】
つまり、減算部２３１は、基準画素以外の各画素について、その画素と同じ水平ライン上に位置する基準画素との差分値を求める。減算部２３１は、基準画素以外の画素（0≦i<n, 0≦j<n-1）について、このように算出した差分値Δａijと符号ビットＢijを中間データとしてビット幅処理部１３２に供給する。また、減算部２３１は、基準画素のライン（0≦i<n, j＝n-1）について、１６ビットの係数Ａij（0≦i<n, j＝n-1）を中間データとしてビット幅処理部１３２に供給する。
【０１１９】
図５を参照して説明したように、水平方向に１次元逆変換された係数は、水平方向に同一の周波数成分が並び、水平方向の相関が高くなる。減算部２３１は、この相関性の高さを利用して、上述したように水平方向に並ぶ係数同士で差分を取ることにより、各中間データの値を小さくする。このとき、符号付きで減算を行うと、値がかえって大きくなってしまう可能性があるため、減算部２３１は、式（１）に示されるように、各係数の絶対値同士の差分を算出する。このようにすることにより、減算部２３１は、中間データの値を確実により小さくすることができる。
【０１２０】
つまり、Δaij（0≦i<n, 0≦j<n-1）は、Aij（0≦i<n, j=n-1）より少ないビット幅で表現することができる可能性が高い。そこで、ビット幅処理部１３２は、供給された各差分値に対して、元の１６ビットよりも少ないビット幅でクリップ処理を行う。図１０の例においては、１２ビットでクリップ処理が行われている。ビット幅処理部１３２は、このように、差分値のビット幅を低減し、それを転置レジスタ１３３に供給して記憶させる。
【０１２１】
このようにすることにより、逆直交変換部１０４は、全ての中間データを、ビット幅１６ビットのままで記憶させる場合よりも、転置レジスタ１３３のサイズを低減させることができる。
【０１２２】
なお、基準画素については、ビット幅処理部１３２は、係数Ａij（0≦i<n, j＝n-1）を中間データとして転置レジスタ１３３に伝送し、記憶させる。図１０の例の場合、ビット幅処理部１３２は、画質劣化を抑制するために、この中間データＡij（0≦i<n, j＝n-1）を、ビット幅１６ビットのまま転置レジスタ１３３に記憶させている（斜線部分）。画質劣化が許容されるのであれば、ビット幅処理部１３２において、この中間データＡij（0≦i<n, j＝n-1）も、ビット幅を狭くするようにクリップ処理するようにしてもよい。
【０１２３】
例えば、図１０の例において、n＝32とし、Ａij（0≦i<32, 0≦j<32）を16bitとする。Δaij（ただし、0≦i<32, 0≦j<32）を13bit（このレンジ超えるデータは13bitにクリップする）とすると、中間データのデータ量は、（31×32）×13bit＋（31×32）×1bit（符号ビット）＋（32×1）×16bit＝14,400bitとなる。これにより全ての中間データのビット幅を16bitのままとする場合のデータ量（32×32）×16bit＝16,384bitよりも2,000bitデータ量を削減することができる。すなわち、その分、転置レジスタ１３３のサイズを小さくすることができる。
【０１２４】
加算部２３２は、転置レジスタ１３３から、各基準画素の中間データを読み出すとともに、処理対象の基準画素のライン以外の垂直ラインの中間データ（差分値）を読み出し、各差分値に対して、その差分値と同じ水平ライン上の基準画素の中間データを、以下の式（３）のように加算する。
【０１２５】
ABS（Aij）＝ABS（Ai（n-1）)＋Δaij  （ただし、0≦i<n,0≦j<n-1）  ・・・（３）
【０１２６】
加算部２３２は、このように算出されたAijの絶対値に、符号ビットＢijを追加する。これにより、基準画素のライン以外の垂直ラインの各中間データが復元される。加算部２３２は、このように復元した中間データを、垂直１次元逆変換部１３４に供給する。なお、基準画素については、中間データが差分値ではないので、加算部２３２は、転置レジスタ１３３から読み出した中間データAijを垂直１次元逆変換部１３４に供給する。
【０１２７】
垂直１次元逆変換部１３４は、このように供給された中間データに対して垂直方向に１次元の逆直交変換処理を行い、直交変換処理される前の画像データを復元する。なお、中間データに対して上述したようにクリップ処理が行われる場合、そのクリップ処理により誤差が含まれる可能性がある。したがって、復元された画像データは、画像符号化装置において直交変換処理される前の画像データを必ずしも完全に再現することができない場合もあるが、その誤差による画質劣化は、大きくない。換言するに、この画質劣化が許容される程度以下となるように、クリップ処理するビット幅を定義すればよい。
【０１２８】
なお、どの列を基準画素のラインとするようにしてもよいが、１番右の列を基準画素のラインとすることにより、実装上、転置レジスタ１３３の利用効率を向上させることができる。
【０１２９】
例えば、図１０の例に示されるように、中間データが転置レジスタ１３３に格納されると、加算部２３２は、この転置レジスタ１３３から、基準画素の中間データを読み出すとともに、基準画素のライン以外の垂直ラインについて、例えば、１番左の垂直ラインから順に１ラインずつ中間データを読み出す。このとき、基準画素の中間データは、基準画素のライン以外の全ての垂直ラインの差分値の加算演算に利用される。つまり、基準画素の中間データは、最後まで、転置レジスタ１３３に保持する必要がある。
【０１３０】
ところで、基準画素のライン以外の垂直ラインの中間データを読み出した後は、その領域は使用可能となる。この使用可能の領域は、次の処理単位の領域の中間データの保持に利用される。つまり、左から右に向かう順に１垂直ラインずつ中間データが読み出されることにより、左から右に向かう順に１垂直ラインずつ、次の領域の中間データを保持させることができる。
【０１３１】
したがって、最後まで保持する必要のある基準画素のラインを、１番右の垂直ラインとすることにより、次の領域の中間データを、左から右に向かう順に１垂直ラインずつ保持させることができる。すなわち、転置レジスタ１３３をより効率よく利用することができる。これに対して、例えば基準画素のラインを他の垂直ラインにすると、次に処理される領域の中間データを、その垂直ラインを飛ばして書き込むようにするか、若しくは、基準画素のラインが書き込み可能となるまで待機しなければならなくなるため、処理が複雑になったり、処理時間が不要に増大したりする恐れがある。
【０１３２】
なお、図１１に示されるように、次に処理される領域の中間データは、水平方向と垂直方向（つまり、行と列）が入れ替えて書き込まれる。つまり、転置レジスタ１３３から１垂直ライン分の中間データが読み出されると、その１垂直ラインが書き込み可能となるが、次に処理される領域の中間データは、現在処理対象の領域の場合と同様に、１水平ラインずつ供給される。
【０１３３】
したがって、転置レジスタ１３３は、その１水平ライン分の中間データを、書き込み可能な１垂直ラインに格納する。このように書き込みを行うことにより、図１０において転置レジスタ１３３に格納されている中間データの領域の、次の領域の中間データは、図１１に示されるように、水平方向と垂直方向が転置されて格納される。したがって、基準画素のラインは、一番下の水平ラインとなる。
【０１３４】
なお、書き込み方向が変わるので、読み出し順も水平方向と垂直方向が転置される。つまり、図１１の例の場合、中間データは、水平ライン毎に読み出される。つまり、基準画素のライン以外の水平ラインは、上から下に向かう順に１水平ラインずつ読み出される。基準画素の中間データは、毎度読み出され、基準画素のライン以外の各水平ラインの加算演算に利用される。
【０１３５】
なお、さらに次の領域の中間データは、再度、水平方向と垂直方向が転置されるので、図１０のように格納される。
【０１３６】
［逆直交変換処理の流れ］
図１２のフローチャートを参照して、この場合の逆直交変換処理の流れの例を説明する。
【０１３７】
ステップＳ２０１において、水平１次元逆変換部１３１は、逆量子化された、処理対象の１水平ラインの直交変換係数データに対して、水平方向に１次元逆直交変換を行う。ステップＳ２０２において、減算部２３１は、処理対象の水平ラインについて、基準画素の係数と、その他の画素の係数との差分値Δaijを求める。
【０１３８】
ステップＳ２０３において、ビット幅処理部１３２は、ステップＳ２０２において算出された差分値Δaijに対して、元のビット幅よりも短い所定のビット幅へのクリップ処理を行う。ステップＳ２０４において、ビット幅処理部１３２は、基準画素の係数とクリップ処理を行った差分値Δaijを転置レジスタ１３３に書き込む。
【０１３９】
ステップＳ２０５において、水平１次元逆変換部１３１は、領域内の全ての水平ラインを処理したか否かを判定し、処理対象の領域において未処理の水平ラインが存在すると判定した場合、処理をステップＳ２０１に戻し、それ以降の処理を行う。
【０１４０】
各水平ラインについて、ステップＳ２０１乃至ステップＳ２０５の処理を繰り返し、ステップＳ２０５において、処理対象領域内の全ての水平ラインを処理したと判定した場合、水平１次元逆変換部１３１は、処理をステップＳ２０６に進める。
【０１４１】
ステップＳ２０６において、加算部２３２は、転置レジスタ１３３から各基準画素の中間データを読み出す。ステップＳ２０７において、加算部２３２は、基準画素のライン以外の垂直ラインの中間データ（差分値）を転置レジスタ１３３から読み出す。ステップＳ２０８において、加算部２３２は、ステップＳ２０７において読み出した各差分値に対して、ステップＳ２０６において読み出した、同じ水平ライン上に位置する基準画素の中間データを加算する。
【０１４２】
ステップＳ２０９において、垂直１次元逆変換部１３４は、加算して得られた１垂直ライン分の中間データに対して、垂直方向に１次元逆直交変換を行う。
【０１４３】
ステップＳ２１０において、垂直１次元逆変換部１３４は、領域内の基準画素のライン以外の垂直ラインを全て処理したか否かを判定し、処理対象の領域の基準画素のライン以外の垂直ラインにおいて未処理の垂直ラインが存在すると判定した場合、処理をステップＳ２０６に戻し、それ以降の処理を行う。
【０１４４】
基準画素のライン以外の各垂直ラインについて、ステップＳ２０６乃至ステップＳ２１０の処理を繰り返し、ステップＳ２１０において、処理対象領域内の基準画素のライン以外の垂直ラインを全て処理したと判定した場合、垂直１次元逆変換部１３４は、処理をステップＳ２１１に進める。
【０１４５】
ステップＳ２１１において、加算部２３２は、転置レジスタ１３３から、各基準画素の中間データを読み出す。垂直１次元逆変換部１３４は、その各基準画素の中間データに対して、垂直方向に１次元逆直交変換を行う。
ステップＳ２１２において、垂直１次元逆変換部１３４は、画像内の全ての領域を処理したか否かを判定し、未処理の領域が存在すると判定された場合、処理をステップＳ２０１に戻し、それ以降の処理を繰り返す。
【０１４６】
以上のように、各領域について、ステップＳ２０１乃至ステップＳ２１２の処理が繰り返され、ステップＳ２１２において、全ての領域を処理したと判定された場合、垂直１次元逆変換部１３４は、逆直交変換処理を終了し、処理を図７に戻す。
【０１４７】
このように各処理を行うことにより、画像復号装置１００は、逆直交変換処理において得られる中間データのデータ量を低減させることができ、転置レジスタ１３３として使用される記憶領域のサイズを低減させることができる。これにより、画像復号処理に必要なメモリ容量を低減させることができ、画像復号装置１００の製造コストを低減させることができる。
【０１４８】
［逆直交変換処理の流れの他の例］
なお、以上においては、ビット幅処理部１３２が、全ての差分値を同じビット幅にクリップ処理するように説明したが、上述したように算出された差分値の場合も、第１の実施の形態の中間データの場合と同様に、図５に示されるような周波数分布となる。したがって、第１の実施の形態の場合と同様に、ビット幅処理部１３２が、周波数帯域に応じて、各中間データ（差分値）のビット幅を制御するようにしてもよい。
【０１４９】
つまり、図９において、ビット幅処理部１３２は、例えば、図６Ｂに示されるように、各中間データのビット幅を、その周波数成分毎に調整するようにしてもよい。より具体的には、ビット幅処理部１３２は、低周波成分ほどビット幅が長く、高周波成分ほどビット幅が狭くなるように、各中間データのビット幅を抑制するようにしてもよい。
【０１５０】
例えば、n＝32とし、Δaij（i=0, j<31）のビット幅を12bitにし（12bitに超える値は12bitにクリップする）、Δaij（1≦i≦3, j<31）のビット幅を10bitにし（10bitに超える値は10bitにクリップする）、Δaij（4≦i≦15, j<31）のビット幅を8bitにし（8bitに超える値は8bitにクリップする）、Δaij（16≦i≦31, j<31）のビット幅を6bitにする（6bitに超える値は6bitにクリップする）。つまり、より高周波の成分ほどビット幅を低減させるようにする。
【０１５１】
またＡij（0≦i<n, j=31）に関しても同様に、Ａij（i=0, j=31）のビット幅を16bitにし、Ａij（1≦i≦3, j=31）のビット幅を14bitにし（14bitに超える値は14bitにクリップする）、Ａij（4≦i≦15, j=31）のビット幅を12bitにし(12bitに超える値は12bitにクリップする）、Ａij（16≦i≦31, j=31）のビット幅を9bitにする（9bitに超える値は9bitにクリップする）。つまり、より高周波の成分ほどビット幅を低減させるようにする。
【０１５２】
この結果、中間データのデータ量は、（12bit×１×31＋10bit×3×31＋8bit×12×31＋6bit×16×31）＋（16bit×1＋14bit×3＋12bit×12＋9bit×16）＋1bit×32×31＝8,592bitとなる。これにより元々のデータのデータ量（32×32）×16bit＝16,384bitより7,792bitを低減させることができる。つまり、その分、転置レジスタ１３３としてのメモリ使用量を低減させることができる。
【０１５３】
なお、第1の実施の形態の場合と同様に、直交変換係数データおよび中間データの各行のビット幅は、任意である。
【０１５４】
つまり、この場合も、ビット幅処理部１３２は、中間データのビット幅を、その周波数帯域毎に制御する。例えば、ビット幅処理部１３２は、中間データのビット幅を、その周波数帯域に応じて低減させる。例えば、ビット幅処理部１３２は、各水平ラインの中間データのビット幅を、より高周波の成分ほど、より強く低減させる。このようにビット幅を制御することにより、ビット幅処理部１３２は、画質劣化を抑制しながら、逆直交変換処理において使用される転置レジスタ１３３のサイズを抑制することができる。
【０１５５】
例えば、ビット幅処理部１３２は、直交変換された画像データの周波数特性に応じて、各水平ラインの中間データのビット幅を低減させる。このようにビット幅を制御することにより、ビット幅処理部１３２は、画質劣化をより抑制することができる。
【０１５６】
なお、転置レジスタ１３３のサイズを低減させることにより、画像復号処理に必要なメモリ容量を低減させることができ、画像復号装置１００の製造コストを低減させることができる。
【０１５７】
なお、このように各水平ラインのビット幅が同一でない場合、図１０や図１１を参照して説明したように、水平方向と垂直方向を転置させながら、次の領域の中間データを記憶させることが困難になる可能性がある。そのような場合、水平方向と垂直方向を転置させずに、前の領域の中間データが全て読み出されてから、次の領域の中間データが転置レジスタ１３３に書き込まれるようにすればよい。
【０１５８】
この場合の、逆直交変換処理の流れの例を図１３のフローチャートを参照して説明する。
【０１５９】
この場合の逆直交変換処理の流れは、図１２のフローチャートを参照して上述した場合と基本的に同様である。つまり、ステップＳ２３１乃至ステップＳ２４２の各処理は、図１２のステップＳ２０１乃至ステップＳ２１２の各処理と基本的に同様に行われる。
【０１６０】
ただし、ステップＳ２３３において、ビット幅処理部１３２は、差分値に対して、周波数帯域に応じたビット幅へのクリップ処理を行う。また、ビット幅処理部１３２は、基準画素の中間データに対しても、同様に、周波数帯域に応じたビット幅へのクリップ処理を行う。
【０１６１】
このようにすることにより、逆直交変換部１０４は、図１２の場合よりも画質劣化をより抑制しながら転置レジスタ１３３のサイズを低減させることができる。
【０１６２】
＜３．第３の実施の形態＞
［逆直交変換部］
なお、上述した基準画素の代わりに、各水平ラインにおいて各中間データの平均値を求め、その平均値を基準とし、各画素の係数とその平均値との差分を中間データとするようにしてもよい。
【０１６３】
この場合の逆直交変換部１０４の構成例を図１４に示す。
【０１６４】
図１４に示されるように、この場合の逆直交変換部１０４は、図９の場合の構成に加えて、水平１次元逆変換部１３１と減算部２３１との間に、平均値算出部３３１を有する。
【０１６５】
平均値算出部３３１は、水平１次元逆変換部１３１の出力について、水平ライン毎に、各係数（の絶対値）の平均値を、例えば以下の式（４）のように求める。
【０１６６】
μi＝（ABS（Ａi0）＋ABS（Ａi1）＋・・・＋ABS（Ａin））／n  （ただし、0≦i<n）
・・・（４）
【０１６７】
平均値算出部３３１は、水平１次元逆変換部１３１の出力と、算出した平均値μiとを減算部２３１に供給する。
【０１６８】
減算部２３１は、各水平ラインにおいて、各画素の係数と平均値との差分値を、例えば、以下式（５）と式（６）のように求める。
【０１６９】
Δaij＝ABS（Ａij）−μi  （ただし、0≦i<n, 0≦j<n-1）  ・・・（５）
Ｂij＝MBS（Ａij）  （ただし、0≦i<n, 0≦j<n-1）  ・・・（６）
【０１７０】
なお、Ｂijは、Ａij（0≦i<n, 0≦j<n-1）の符号ビットを示す。減算部２３１は、算出した差分値（符号ビットを含む）と平均値をビット幅処理部１３２に供給する。
【０１７１】
ビット幅処理部１３２は、減算部２３１から出力される差分値に対して、ビット幅を低減させるように所定のビット幅でクリップ処理を行う。ビット幅処理部１３２は、クリップ処理を行った差分値と符号ビットを中間データとして転置レジスタ１３３に供給し、記憶させる。また、ビット幅処理部１３２は、減算部２３１から供給された平均値も転置レジスタ１３３に供給し、記憶させる。
【０１７２】
つまり、この場合、図１５に示されるように、全ての画素の中間データが差分値となる。また、転置レジスタ１３３には、水平ライン毎に算出された各平均値μiも記憶される。（符号ビットについては図示を省略する）
【０１７３】
なお、平均値と符号ビットについては、ビット幅処理部１３２は、ビット幅を低減させずに転置レジスタ１３３に記憶させる。画質劣化が許容されるのであれば、ビット幅処理部１３２において、これらの値も、ビット幅を狭くするようにクリップ処理するようにしてもよい。
【０１７４】
加算部２３２は、転置レジスタ１３３から、中間データ（差分値）を１垂直ラインずつ読み出すとともに、平均値μiも読み出す。加算部２３２は、読み出した差分値に対して、その差分値と同じ水平ライン上の平均値μiを、以下の式（７）のように加算する。
【０１７５】
ABS（Ａij）＝Δaij＋μi  （ただし、0≦i<n, 0≦j<n-1）  ・・・（７）
【０１７６】
加算部２３２は、このように算出されたＡijの絶対値に、符号ビットＢijを追加する。これにより、各中間データが復元される。加算部２３２は、このように復元した中間データを、垂直１次元逆変換部１３４に供給する。
【０１７７】
垂直１次元逆変換部１３４は、このように供給された中間データに対して垂直方向に１次元の逆直交変換処理を行い、直交変換処理される前の画像データを復元する。
【０１７８】
以上のように、この方法の場合、すべての中間データを差分値として表現することができ、繰り返し処理の制御をより容易にすることができる。ただしこの場合、転置レジスタ１３３において平均値μiを保持する必要があるため、その分容量が増大してしまう。しかしながら、この平均値は、上述したように相関性の高い係数同士から算出されるものであり、このような平均値を用いることより、より少ない差分値が得られる可能性が高くなる。したがって、ビット幅処理部１３２は、画質劣化の増大を抑制しながら、ビット幅をより低減させることができる。したがって、逆直交変換部１０４は、転置レジスタ１３３のサイズをより低減させることができる。
【０１７９】
［逆直交変換処理の流れ］
図１６のフローチャートを参照して、この場合の逆直交変換処理の流れの例を説明する。
【０１８０】
ステップＳ３０１において、水平１次元逆変換部１３１は、逆量子化された、処理対象の１水平ラインの直交変換係数データに対して、水平方向に１次元逆直交変換を行う。ステップＳ３０２において、平均値算出部３３１は、処理対象の１水平ラインの各画素の係数Ａijの平均値μiを求める。
【０１８１】
ステップＳ３０３において、減算部２３１は、処理対象の水平ラインについて、各係数Ａijと、ステップＳ３０２において算出された平均値μiとの差分値Δaijを求める。
【０１８２】
ステップＳ３０４において、ビット幅処理部１３２は、ステップＳ３０３において算出された差分値に対して、元のビット幅よりも短い所定のビット幅へのクリップ処理を行う。ステップＳ３０５において、ビット幅処理部１３２は、クリップ処理を行った差分値Δaij’（符号ビットＢijを含む）と平均値μiを転置レジスタ１３３に書き込む。
【０１８３】
ステップＳ３０６において、水平１次元逆変換部１３１は、領域内の全ての水平ラインを処理したか否かを判定し、処理対象の領域において未処理の水平ラインが存在すると判定した場合、処理をステップＳ３０１に戻し、それ以降の処理を行う。
【０１８４】
各水平ラインについて、ステップＳ３０１乃至ステップＳ３０６の処理を繰り返し、ステップＳ３０６において、処理対象領域内の全ての水平ラインを処理したと判定した場合、水平１次元逆変換部１３１は、処理をステップＳ３０７に進める。
【０１８５】
ステップＳ３０７において、加算部２３２は、転置レジスタ１３３から各平均値μiを読み出す。ステップＳ３０８において、加算部２３２は、処理対象の垂直ラインの中間データ（差分値）を転置レジスタ１３３から読み出す。ステップＳ３０９において、加算部２３２は、ステップＳ３０８において読み出した各差分値に対して、ステップＳ３０７において読み出した、同じ水平ライン上に位置する平均値を加算する。
【０１８６】
ステップＳ３１０において、垂直１次元逆変換部１３４は、加算して得られた１垂直ライン分の中間データに対して、垂直方向に１次元逆直交変換を行う。
【０１８７】
ステップＳ３１１において、垂直１次元逆変換部１３４は、領域内の全ての垂直ラインを処理したか否かを判定し、処理対象の領域に未処理の垂直ラインが存在すると判定した場合、処理をステップＳ３０７に戻し、それ以降の処理を行う。
【０１８８】
領域内の各垂直ラインについて、ステップＳ３０７乃至ステップＳ３１１の各処理を繰り返し実行し、ステップＳ３１１において、処理対象領域内の全ての垂直ラインを処理したと判定した場合、垂直１次元逆変換部１３４は、処理をステップＳ３１２に進める。
【０１８９】
ステップＳ３１２において、垂直１次元逆変換部１３４は、画像内の全ての領域を処理したか否かを判定し、未処理の領域が存在すると判定された場合、処理をステップＳ３０１に戻し、それ以降の処理を繰り返す。
【０１９０】
以上のように、各領域について、ステップＳ３０１乃至ステップＳ３１２の各処理が繰り返し実行され、ステップＳ３１２において、全ての領域を処理したと判定された場合、垂直１次元逆変換部１３４は、逆直交変換処理を終了し、処理を図７に戻す。
【０１９１】
このように各処理を行うことにより、画像復号装置１００は、逆直交変換処理において得られる中間データのデータ量を低減させることができ、転置レジスタ１３３として使用される記憶領域のサイズを低減させることができる。これにより、画像復号処理に必要なメモリ容量を低減させることができ、画像復号装置１００の製造コストを低減させることができる。
【０１９２】
［逆直交変換処理の流れの他の例］
なお、以上においては、ビット幅処理部１３２が、全ての差分値を同じビット幅にクリップ処理するように説明したが、上述したように算出された差分値の場合も、第１の実施の形態の中間データの場合と同様に、図５に示されるような周波数分布となる。したがって、第１の実施の形態の場合と同様に、ビット幅処理部１３２が、周波数帯域に応じて、各中間データ（差分値）のビット幅を制御するようにしてもよい。
【０１９３】
つまり、図１４において、ビット幅処理部１３２は、例えば、図６Ｂに示されるように、各中間データのビット幅を、その周波数成分毎に調整するようにしてもよい。より具体的には、ビット幅処理部１３２は、低周波成分ほどビット幅が長く、高周波成分ほどビット幅が狭くなるように、各中間データのビット幅を抑制するようにしてもよい。
【０１９４】
このようにすることにより、画像復号装置１００は、第２の実施の形態の場合と同様に、転置レジスタ１３３としてのメモリ使用量を低減させることができる。
【０１９５】
なお、第1の実施の形態の場合と同様に、直交変換係数データおよび中間データの各行のビット幅は、任意である。
【０１９６】
つまり、この場合も、ビット幅処理部１３２は、中間データのビット幅を、その周波数帯域毎に制御する。例えば、ビット幅処理部１３２は、中間データのビット幅を、その周波数帯域に応じて低減させる。例えば、ビット幅処理部１３２は、各水平ラインの中間データのビット幅を、より高周波の成分ほど、より強く低減させる。このようにビット幅を制御することにより、ビット幅処理部１３２は、画質劣化を抑制しながら、逆直交変換処理において使用される転置レジスタ１３３のサイズを抑制することができる。
【０１９７】
例えば、ビット幅処理部１３２は、直交変換された画像データの周波数特性に応じて、各水平ラインの中間データのビット幅を低減させる。このようにビット幅を制御することにより、ビット幅処理部１３２は、画質劣化をより抑制することができる。
【０１９８】
なお、転置レジスタ１３３のサイズを低減させることにより、画像復号処理に必要なメモリ容量を低減させることができ、画像復号装置１００の製造コストを低減させることができる。
【０１９９】
［逆直交変換処理の流れ］
この場合の、逆直交変換処理の流れの例を図１７のフローチャートを参照して説明する。
【０２００】
この場合の逆直交変換処理の流れは、図１６のフローチャートを参照して上述した場合と基本的に同様である。つまり、ステップＳ３３１乃至ステップＳ３４２の各処理は、図１６のステップＳ３０１乃至ステップＳ３１２の各処理と基本的に同様に行われる。
【０２０１】
ただし、ステップＳ３３４において、ビット幅処理部１３２は、差分値に対して、周波数帯域に応じたビット幅へのクリップ処理を行う。
【０２０２】
このようにすることにより、逆直交変換部１０４は、図１６の場合よりも画質劣化をより抑制しながら転置レジスタ１３３のサイズを低減させることができる。
【０２０３】
なお、以上においては、平均値を基準とするように説明したが、これに限らず、例えば、１水平ラインの各係数データの中央値を基準とするようにしてもよい。この場合、１水平ラインの各係数データの中から、それらの係数データの値の幅の中央に最も近い値を持つ１つが中央値として選択される。この場合も、平均値の代わりに中央値を用いること以外は、上述したのと同様の方法で行われる。一般的に、平均値の算出よりも中央値を選択する方が処理が容易である。また、１水平ラインにおいて差分値の１つを必ず０にすることができる。
【０２０４】
＜４．第４の実施の形態＞
［画像符号化装置］
なお、上述した画像復号装置に対応する画像符号化装置も、上述した逆直交変換部１０４と同様の逆直交変換部を有する。したがって、このような画像符号化装置の逆直交変換部においても、上述した各方法と同様に処理を行うことにより、転置レジスタのサイズを低減させることができる。
【０２０５】
また、このような画像符号化装置は、逆直交変換部１０４に対応する直交変換部を有する。この直交変換部において、上述した各方法と同様に処理を行うようにしてもよい。このようにすることにより、直交変換部内に設けられる転置レジスタのサイズを低減させることができる。
【０２０６】
図１８は、画像処理装置の一実施の形態である画像符号化装置の主な構成例を示すブロック図である。図１８に示される画像符号化装置４００は、図１の画像復号装置１００に対応する装置であり、画像データを、画像復号装置１００の復号方法に対応する符号化方法（例えば、MPEG、AVC、またはHEVC等）によって符号化し、符号化データ（ビットストリーム）を生成する。この符号化データは、画像復号装置１００において復号することができる。
【０２０７】
図１８に示されるように、画像符号化装置４００は、A/D変換部４０１、画面並べ替えバッファ４０２、演算部４０３、直交変換部４０４、量子化部４０５、可逆符号化部４０６、および蓄積バッファ４０７を有する。また、画像符号化装置４００は、逆量子化部４０８、逆直交変換部４０９、演算部４１０、ループフィルタ４１１、フレームメモリ４１２、選択部４１３、イントラ予測部４１４、動き予測・補償部４１５、予測画像選択部４１６、およびレート制御部４１７を有する。
【０２０８】
A/D変換部４０１は、入力された画像データをA/D変換し、変換後の画像データ（デジタルデータ）を、画面並べ替えバッファ４０２に供給し、記憶させる。画面並べ替えバッファ４０２は、記憶した表示の順番のフレームの画像を、GOP（Group Of Picture）に応じて、符号化のためのフレームの順番に並べ替え、フレームの順番を並び替えた画像を、演算部４０３に供給する。また、画面並べ替えバッファ４０２は、フレームの順番を並び替えた画像を、イントラ予測部４１４および動き予測・補償部４１５にも供給する。
【０２０９】
演算部４０３は、画面並べ替えバッファ４０２から読み出された画像から、予測画像選択部４１６を介してイントラ予測部４１４若しくは動き予測・補償部４１５から供給される予測画像を減算し、その差分情報を直交変換部４０４に出力する。
【０２１０】
例えば、インター符号化が行われる画像の場合、演算部４０３は、画面並べ替えバッファ４０２から読み出された画像から、動き予測・補償部４１５から供給される予測画像を減算する。
【０２１１】
直交変換部４０４は、演算部４０３から供給される差分情報に対して、離散コサイン変換やカルーネン・レーベ変換等の直交変換を施す。なお、この直交変換の方法は任意である。直交変換部４０４は、その変換係数を量子化部４０５に供給する。
【０２１２】
量子化部４０５は、直交変換部４０４から供給される変換係数を量子化する。量子化部４０５は、レート制御部４１７から供給される符号量の目標値に関する情報に基づいて量子化パラメータを設定し、その量子化を行う。なお、この量子化の方法は任意である。量子化部４０５は、量子化された変換係数を可逆符号化部４０６に供給する。
【０２１３】
可逆符号化部４０６は、量子化部４０５において量子化された変換係数を任意の符号化方式で符号化する。係数データは、レート制御部４１７の制御の下で量子化されているので、この符号量は、レート制御部４１７が設定した目標値となる（若しくは目標値に近似する）。
【０２１４】
また、可逆符号化部４０６は、イントラ予測のモードを示す情報などをイントラ予測部４１４から取得し、インター予測のモードを示す情報や動きベクトル情報などを動き予測・補償部４１５から取得する。さらに、可逆符号化部４０６は、ループフィルタ４１１において使用されたフィルタ係数等を取得する。
【０２１５】
可逆符号化部４０６は、これらの各種情報を任意の符号化方式で符号化し、符号化データのヘッダ情報の一部とする（多重化する）。可逆符号化部４０６は、符号化して得られた符号化データを蓄積バッファ４０７に供給して蓄積させる。
【０２１６】
可逆符号化部４０６の符号化方式としては、例えば、可変長符号化または算術符号化等が挙げられる。可変長符号化としては、例えば、H．264/AVC方式で定められているCAVLC（Context-Adaptive Variable Length Coding）などが挙げられる。算術符号化としては、例えば、CABAC（Context-Adaptive Binary Arithmetic Coding）などが挙げられる。
【０２１７】
蓄積バッファ４０７は、可逆符号化部４０６から供給された符号化データを、一時的に保持する。蓄積バッファ４０７は、所定のタイミングにおいて、保持している符号化データを、例えば、後段の図示せぬ記録装置（記録媒体）や伝送路などに出力する。
【０２１８】
また、量子化部４０５において量子化された変換係数は、逆量子化部４０８にも供給される。逆量子化部４０８は、その量子化された変換係数を、量子化部４０５による量子化に対応する方法で逆量子化する。この逆量子化の方法は、量子化部４０５による量子化処理に対応する方法であればどのような方法であってもよい。逆量子化部４０８は、得られた変換係数を、逆直交変換部４０９に供給する。
【０２１９】
逆直交変換部４０９は、逆量子化部４０８から供給された変換係数を、直交変換部４０４による直交変換処理に対応する方法で逆直交変換する。この逆直交変換の方法は、直交変換部４０４による直交変換処理に対応する方法であればどのようなものであってもよい。逆直交変換された出力（復元された差分情報）は、演算部４１０に供給される。
【０２２０】
演算部４１０は、逆直交変換部４０９から供給された逆直交変換結果、すなわち、復元された差分情報に、予測画像選択部４１６を介してイントラ予測部４１４若しくは動き予測・補償部４１５から供給される予測画像を加算し、局部的に復号された画像（復号画像）を得る。その復号画像は、ループフィルタ４１１またはフレームメモリ４１２に供給される。
【０２２１】
ループフィルタ４１１は、デブロックフィルタや適応ループフィルタ等を含み、演算部４１０から供給される復号画像に対して適宜フィルタ処理を行う。例えば、ループフィルタ４１１は、復号画像に対してデブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。また、例えば、ループフィルタ４１１は、そのデブロックフィルタ処理結果（ブロック歪みの除去が行われた復号画像）に対して、ウィナーフィルタ（Wiener Filter）を用いてループフィルタ処理を行うことにより画質改善を行う。
【０２２２】
なお、ループフィルタ４１１が、復号画像に対して任意のフィルタ処理を行うようにしてもよい。また、ループフィルタ４１１は、必要に応じて、フィルタ処理に用いたフィルタ係数等の情報を可逆符号化部４０６に供給し、それを符号化させるようにすることもできる。
【０２２３】
ループフィルタ４１１は、フィルタ処理結果（フィルタ処理後の復号画像）をフレームメモリ４１２に供給する。なお、上述したように、演算部４１０から出力される復号画像は、ループフィルタ４１１を介さずにフレームメモリ４１２に供給することができる。つまり、ループフィルタ４１１によるフィルタ処理は省略することができる。
【０２２４】
フレームメモリ４１２は、供給される復号画像を記憶し、所定のタイミングにおいて、記憶している復号画像を参照画像として、選択部４１３に供給する。
【０２２５】
選択部４１３は、フレームメモリ４１２から供給される参照画像の供給先を選択する。例えば、インター予測の場合、選択部４１３は、フレームメモリ４１２から供給される参照画像を動き予測・補償部４１５に供給する。
【０２２６】
イントラ予測部４１４は、選択部４１３を介してフレームメモリ４１２から供給される参照画像である処理対象ピクチャ内の画素値を用いて、基本的にプレディクションユニット（PU）を処理単位として予測画像を生成するイントラ予測（画面内予測）を行う。イントラ予測部４１４は、予め用意された複数のモード（イントラ予測モード）でこのイントラ予測を行う。
【０２２７】
イントラ予測部４１４は、候補となる全てのイントラ予測モードで予測画像を生成し、画面並べ替えバッファ４０２から供給される入力画像を用いて各予測画像のコスト関数値を評価し、最適なモードを選択する。イントラ予測部４１４は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部４１６に供給する。
【０２２８】
また、上述したように、イントラ予測部４１４は、採用されたイントラ予測モードを示すイントラ予測モード情報等を、適宜可逆符号化部４０６に供給し、符号化させる。
【０２２９】
動き予測・補償部４１５は、画面並べ替えバッファ４０２から供給される入力画像と、選択部４１３を介してフレームメモリ４１２から供給される参照画像とを用いて、基本的にPUを処理単位として、動き予測（インター予測）を行い、検出された動きベクトルに応じて動き補償処理を行い、予測画像（インター予測画像情報）を生成する。動き予測・補償部４１５は、予め用意された複数のモード（インター予測モード）でこのようなインター予測を行う。
【０２３０】
動き予測・補償部４１５は、候補となる全てのインター予測モードで予測画像を生成し、各予測画像のコスト関数値を評価し、最適なモードを選択する。動き予測・補償部４１５は、最適なインター予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部４１６に供給する。
【０２３１】
また、動き予測・補償部４１５は、採用されたインター予測モードを示す情報や、符号化データを復号する際に、そのインター予測モードで処理を行うために必要な情報等を可逆符号化部４０６に供給し、符号化させる。
【０２３２】
予測画像選択部４１６は、演算部４０３や演算部４１０に供給する予測画像の供給元を選択する。例えば、インター符号化の場合、予測画像選択部４１６は、予測画像の供給元として動き予測・補償部４１５を選択し、その動き予測・補償部４１５から供給される予測画像を演算部４０３や演算部４１０に供給する。
【０２３３】
レート制御部４１７は、蓄積バッファ４０７に蓄積された符号化データの符号量に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部４０５の量子化動作のレートを制御する。
【０２３４】
図１８において、逆直交変換部４０９は、第１の実施の形態乃至第３の実施の形態において上述した画像復号装置１００の逆直交変換部１０４と同様の処理部であり、同様の処理を行う。すなわち、逆直交変換部４０９は、逆直交変換部１０４と同様に、転置レジスタ１３３を有し、上述したように各方法で逆直交変換処理を行うことにより、その転置レジスタ１３３のサイズを低減させることができる。
【０２３５】
また、図１８において、直交変換部４０４は、逆直交変換部４０９（すなわち、逆直交変換部１０４）に対応し、逆直交変換部４０９が行う逆直交変換処理に対応する直交変換処理を行う処理部である。つまり、この直交変換部４０４も、逆直交変換部１０４と同様の転置レジスタを有し、上述したような各方法の逆直交変換処理に対応するように、直交変換処理を行うことにより、その転置レジスタのサイズを低減させることができる。
【０２３６】
［直交変換部］
図１９は、直交変換部４０４の主な構成例を示すブロック図である。図１９に示されるように、直交変換部４０４は、水平１次元変換部４３１、ビット幅処理部４３２、転置レジスタ４３３、および垂直１次元変換部４３４を有する。つまり、直交変換部４０４は、図４に示される第１の実施の形態の逆直交変換部１０４と略同様の構成を有する。
【０２３７】
水平１次元変換部４３１は、水平１次元逆変換部１３１に対応する処理部であり、１水平ライン毎に入力される、直交変換処理の処理単位となる領域の画像データを、その１水平ライン毎に水平方向に１次元の直交変換を行う。つまり、水平１次元変換部４３１により、画像データが水平方向に１次元の直交変換されて得られた係数データは、水平１次元逆変換部１３１が逆変換（水平方向に１次元の逆直交変換）する（元の画像データに戻す）ことができる。
【０２３８】
水平１次元変換部４３１により生成された係数データは、ビット幅処理部４３２に供給される。ビット幅処理部４３２は、水平１次元変換部４３１から出力される各係数データ（中間データ）に対して、ビット幅を低減させるようにクリップ処理を行う。その際、ビット幅処理部４３２は、各中間データのビット幅を、その周波数帯域に応じた度合いで低減させる。ビット幅処理部４３２は、ビット幅を調整した各中間データを転置レジスタ４３３に供給し、保持させる。
【０２３９】
転置レジスタ４３３は、転置レジスタ１３３と同様に、供給される各中間データを、図１９に示されるように、元の直交変換係数データの並び順に対応するように整列して記憶する。
【０２４０】
垂直１次元変換部４３４は、垂直１次元逆変換部１３４に対応する処理部であり、この転置レジスタ４３３から、中間データを垂直ライン毎に読み出して、１次元の直交変換処理を行う。つまり、垂直１次元変換部４３４は、転置レジスタ４３３に記憶される中間データを、垂直方向の並び毎に読み出す。すなわち、垂直１次元変換部４３４は、転置レジスタ４３３からの中間データの読み出しを、その中間データの書き込み順と異なる順で読み出すことにより、中間データの並びを水平方向から垂直方向に転置させる。垂直１次元変換部４３４は、このように列毎に読み出した中間データを、その垂直ライン毎に直交変換することにより、垂直方向の直交変換を実現する。
【０２４１】
垂直１次元変換部４３４によって中間データが垂直方向に直交変換されることにより、画像データが２次元（水平方向および垂直方向）に直交変換された直交変換係数データ（単に係数データとも称する）が得られる。垂直１次元変換部４３４は、その係数データを量子化部４０５に供給する。
【０２４２】
以上のような処理において、転置レジスタ４３３に記憶される中間データは、例えば図２０に示されるように、水平方向に周波数成分毎に整列することになる。つまり、左から右に向かって、低周波成分から高周波成分が並ぶ。より低周波の成分は、より左に位置し、より高周波の成分は、より右に位置する。各列（垂直ライン）には、互いに同じ周波数帯域の成分が並ぶ。
【０２４３】
例えば、水平１次元変換部４３１により直交変換されて得られる中間データのビット幅が、図２１Ａに示されるように、１６ビットであるとする。処理単位の領域を３２×３２とすると、データ量は、（32×32）16bit＝16,384bitである。
【０２４４】
ビット幅処理部４３２は、例えば、図２１Ｂに示されるように、各中間データのビット幅を、その周波数成分毎に調整する。より具体的には、ビット幅処理部４３２は、低周波成分ほどビット幅が長く、高周波成分ほどビット幅が狭くなるように、各中間データのビット幅を抑制する。例えば、図２１Ｂの場合、ビット幅処理部４３２は、１番左の１列（１垂直ライン）の中間データのビット幅を１６ビットとし、左から２番目乃至４番目の３列（３垂直ライン）の中間データのビット幅を１４ビットとする。また、例えば、図２１Ｂの場合、ビット幅処理部４３２は、左から５番目乃至１６番目の１２列（１２垂直ライン）の中間データのビット幅を１２ビットとし、左から１７番目乃至３２番目の１６列（１６垂直ライン）の中間データのビット幅を９ビットとする。
【０２４５】
このようにすることにより、データ量は、（32×1）×16bit＋(32×3)×14bit＋（32×12）×12bit＋（32×16）×9bit＝11,072bitとなる。したがって、上述した全ての中間データのビット幅を１６ビットとする場合に比べて、5,312bit分、転置レジスタ４３３としてのメモリ使用量を低減させることができる。
【０２４６】
なお、画像データおよび中間データの各画素のビット幅は、任意であり、図２１Ｂに示される例以外であってもよい。例えば、１番左から４列（４垂直ライン）ずつビット幅を低減させるようにしてもよい。また、例えば、左から１６番目の列まで（１６垂直ライン）の中間データのビット幅を画像データと同一とし、残りの１６列（１６垂直ライン）の各列のビット幅を画像データよりも低減させるようにしてもよい。
【０２４７】
つまり、ビット幅処理部４３２は、中間データのビット幅を、その周波数帯域毎に制御する。例えば、ビット幅処理部４３２は、処理単位となる領域の画像データが水平方向に１次元直交変換されて得られた水平ライン毎の中間データのビット幅を、その周波数帯域に応じて低減させる。
【０２４８】
例えば、ビット幅処理部４３２は、各水平ラインの中間データのビット幅を、より高周波の成分ほど、より強く低減させる。一般的に、自然画像は、より低周波成分ほど絶対値が大きく、より高周波成分ほど絶対値が小さい。したがって、このようにビット幅を制御することにより、ビット幅処理部４３２は、画質劣化を抑制しながら、直交変換処理において使用される転置レジスタ４３３のサイズを抑制することができる。
【０２４９】
例えば、ビット幅処理部４３２は、画像データの周波数特性に応じて、各水平ラインの各中間データのビット幅を低減させる。このようにビット幅を制御することにより、ビット幅処理部４３２は、画質劣化をより抑制することができる。
【０２５０】
なお、転置レジスタ４３３のサイズを低減させることにより、画像符号化処理に必要なメモリ容量を低減させることができ、画像符号化装置４００の製造コストを低減させることができる。
【０２５１】
なお、ビット幅処理部４３２のクリップ処理により、中間データが誤差を含むようになる場合も考えられるが、クリップするビット幅を十分に確保することにより、この誤差の影響を低減させることができる。換言するに、画像符号化装置４００は、クリップするビット幅の設定によって、画質劣化の大きさと転置レジスタ４３３のサイズとを制御することができる。したがって、例えば、画像の内容に応じて、これらが最善となるように、クリップするビット幅を決定するのが望ましい。
【０２５２】
［符号化処理の流れ］
次に、以上のような画像符号化装置４００により実行される各処理の流れについて説明する。最初に、図２２のフローチャートを参照して、符号化処理の流れの例を説明する。
【０２５３】
ステップＳ４０１において、A/D変換部４０１は入力された画像をA/D変換する。ステップＳ４０２において、画面並べ替えバッファ４０２は、A/D変換された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
【０２５４】
ステップＳ４０３において、イントラ予測部４１４は、イントラ予測モードのイントラ予測処理を行う。ステップＳ４０４において、動き予測・補償部４１５は、インター予測モードでの動き予測や動き補償を行うインター動き予測処理を行う。
【０２５５】
ステップＳ４０５において、予測画像選択部４１６は、イントラ予測部４１４および動き予測・補償部４１５から出力された各コスト関数値に基づいて、最適なモードを決定する。つまり、予測画像選択部４１６は、イントラ予測部４１４により生成された予測画像と、動き予測・補償部４１５により生成された予測画像のいずれか一方を選択する。
【０２５６】
ステップＳ４０６において、演算部４０３は、ステップＳ４０２の処理により並び替えられた画像と、ステップＳ４０５の処理により選択された予測画像との差分を演算する。差分データは元の画像データに較べてデータ量が低減される。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
【０２５７】
ステップＳ４０７において、直交変換部４０４は、ステップＳ４０６の処理により生成された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。
【０２５８】
ステップＳ４０８において、量子化部４０５は、ステップＳ４０７の処理により得られた直交変換係数を量子化する。
【０２５９】
ステップＳ４０８の処理により量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップＳ４０９において、逆量子化部４０８は、ステップＳ４０８の処理により生成された量子化された直交変換係数（量子化係数とも称する）を量子化部４０５の特性に対応する特性で逆量子化する。
【０２６０】
ステップＳ４１０において、逆直交変換部４０９は、ステップＳ４０７の処理により得られた直交変換係数を、直交変換部４０４の特性に対応する特性で逆直交変換する。なお、この逆直交変換処理は、第１の実施の形態乃至第３の実施の形態において説明したのと同様に行われるので、それについての詳細な説明は省略する。
【０２６１】
ステップＳ４１１において、演算部４１０は、予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像（演算部４０３への入力に対応する画像）を生成する。ステップＳ４１２においてループフィルタ４１１は、ステップＳ４１１の処理により得られた局部的な復号画像に対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜行う。
【０２６２】
ステップＳ４１３において、フレームメモリ４１２は、ステップＳ４１２の処理によりループフィルタ処理が施された復号画像を記憶する。なお、フレームメモリ４１２にはループフィルタ４１１によりフィルタ処理されていない画像も演算部４１０から供給され、記憶される。
【０２６３】
ステップＳ４１４において、可逆符号化部４０６は、ステップＳ４０８の処理により量子化された変換係数を符号化する。すなわち、差分画像に対して、可変長符号化や算術符号化等の可逆符号化が行われる。
【０２６４】
なお、可逆符号化部４０６は、ステップＳ４０８において算出された量子化パラメータを符号化し、符号化データに付加する。また、可逆符号化部４０６は、ステップＳ４０５の処理により選択された予測画像の予測モードに関する情報を符号化し、差分画像を符号化して得られる符号化データに付加する。つまり、可逆符号化部４０６は、イントラ予測部４１４から供給される最適イントラ予測モード情報、または、動き予測・補償部４１５から供給される最適インター予測モードに応じた情報なども符号化し、符号化データに付加する。
【０２６５】
ステップＳ４１５において蓄積バッファ４０７は、ステップＳ４１４の処理により得られた符号化データを蓄積する。蓄積バッファ４０７に蓄積された符号化データは、適宜読み出され、伝送路や記録媒体を介して復号側に伝送される。
【０２６６】
ステップＳ４１６においてレート制御部４１７は、ステップＳ４１５の処理により蓄積バッファ４０７に蓄積された符号化データの符号量（発生符号量）に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部４０５の量子化動作のレートを制御する。
【０２６７】
ステップＳ４１６の処理が終了すると、符号化処理が終了される。
【０２６８】
［直交変換処理の流れ］
次に、図２３のフローチャートを参照して、図２２のステップＳ４０７において実行される直交変換処理の流れの例を説明する。
【０２６９】
ステップＳ４３１において、水平１次元変換部４３１は、処理対象の領域の１水平ラインの画像データに対して、水平方向に１次元直交変換を行う。
【０２７０】
ステップＳ４３２において、ビット幅処理部４３２は、ステップＳ４３１の処理により得られた１水平ラインの中間データに対して、周波数帯域に応じたビット幅へのクリップ処理を行う。
【０２７１】
図２０を参照して説明したように、各画素の中間データの周波数成分は、水平方向に低域から高域に変化する。つまり、１水平ラインの中間データには、低域成分から高域成分までが含まれる。したがって、ビット幅処理部４３２は、１水平ラインの各中間データに対して、それぞれの周波数成分に応じたビット幅でクリップ処理する。つまり、１水平ラインの中間データが、周波数帯域毎に分類され、その帯域毎に互いに異なるビット幅でクリップ処理される。例えば、各中間データを互いに異なる周波数成分とする場合、各中間データは、互いに異なるビット幅でクリップ処理される。上述した逆直交変換の場合、周波数分布は垂直方向に現れるので、１水平ラインの各中間データは、互いに同一のビット幅でクリップ処理されていたが、直交変換の場合、このようなクリップ処理により、１水平ラインの各中間データが互いに異なるビット幅となる可能性がある。
【０２７２】
ステップＳ４３３において、ビット幅処理部４３２は、クリップ処理した１水平ラインの中間データを、転置レジスタ４３３の、前回書き込んだ１水平ラインの中間データの１行下に書き込む。
【０２７３】
ステップＳ４３４において、水平１次元変換部４３１は、領域内の全ての水平ラインを処理したか否かを判定し、処理対象の領域において未処理の水平ラインが存在すると判定した場合、処理をステップＳ４３１に戻し、それ以降の処理を行う。
【０２７４】
各水平ラインについて、ステップＳ４３１乃至ステップＳ４３４の各処理が繰り返し実行され、ステップＳ４３４において、処理対象領域内の全ての水平ラインを処理したと判定した場合、水平１次元変換部４３１は、処理をステップＳ４３５に進める。
【０２７５】
ステップＳ４３５において、垂直１次元変換部４３４は、転置レジスタ４３３から中間データを１垂直ライン分読み出し、ステップＳ４３６において、読み出した中間データに対して、垂直方向に１次元直交変換を行う。
【０２７６】
ステップＳ４３７において、垂直１次元変換部４３４は、領域内の全ての垂直ラインを処理したか否かを判定し、処理対象の領域において未処理の垂直ラインが存在すると判定した場合、処理をステップＳ４３５に戻し、それ以降の処理を行う。
【０２７７】
各垂直ラインについて、ステップＳ４３５乃至ステップＳ４３７の処理を繰り返し、ステップＳ４３７において、処理対象領域内の全ての垂直ラインを処理したと判定した場合、垂直１次元変換部４３４は、処理をステップＳ４３８に進める。
【０２７８】
ステップＳ４３８において、垂直１次元変換部４３４は、画像内の全ての領域を処理したか否かを判定し、未処理の領域が存在すると判定された場合、処理をステップＳ４３１に戻し、それ以降の処理を繰り返す。
【０２７９】
以上のように、各領域について、ステップＳ４３１乃至ステップＳ４３８の処理が繰り返し実行され、ステップＳ４３８において、全ての領域を処理したと判定された場合、垂直１次元変換部４３４は、直交変換処理を終了し、処理を図２２に戻す。
【０２８０】
このように各処理を行うことにより、画像符号化装置４００は、直交変換処理において得られる中間データのデータ量を低減させることができ、転置レジスタ４３３として使用される記憶領域のサイズを低減させることができる。これにより、画像符号化処理に必要なメモリ容量を低減させることができ、画像符号化装置４００の製造コストを低減させることができる。
【０２８１】
＜５．第５の実施の形態＞
［直交変換部］
なお、直交変換部４０４の場合も、逆直交変換部１０４の場合と同様に、各中間データの値をより小さくするために、水平方向に直交変換された係数データの所定の行（水平ライン）を基準とし、その基準との差分値を中間データとして転置レジスタ４３３に格納させるようにしてもよい。つまり、水平方向の１次元変換を行った結果について、互いに同一の周波数成分同士で差分をとり、その差分を中間データとするようにしてもよい。
【０２８２】
図２４は、その場合の直交変換部４０４の構成例を示すブロック図である。図２４に示されるように、この場合、直交変換部４０４は、図１９を参照して説明した構成に加え、水平１次元変換部４３１とビット幅処理部４３２との間に減算部５３１を有し、転置レジスタ４３３と垂直１次元変換部４３４との間に加算部５３２を有する。
【０２８３】
減算部５３１は、上述したように行列状（アレイ状）に配列される各係数の所定の１水平ライン上の画素を基準画素とし、各垂直ラインにおいて、その基準画素の係数と、それ以外の各画素の係数との差分値を求める。
【０２８４】
ビット幅処理部４３２は、減算部５３１から出力される、その差分値に対してクリップ処理を行う。例えば、ビット幅処理部４３２は、供給された各差分値のビット幅を、所定のビット幅に低減し、転置レジスタ４３３に供給し、中間データとして記憶させる。また、ビット幅処理部４３２は、各基準画素の係数を、ビット幅の抑制を行わずに、そのまま転置レジスタ４３３に供給し、中間データとして記憶させる。
【０２８５】
図２５は、転置レジスタ４３３に記憶される中間データの例を示す図である。
図２５の例の場合、直交変換処理の処理単位となる領域のサイズはｎ×ｎ画素である。水平１次元変換部４３１の出力Ａij（0≦i<n, 0≦j<n）のビット幅は、１６ビットである。
【０２８６】
減算部５３１は、このような出力に対して、１番上の行（i＝0）を基準画素のラインとし、その他の行（0<i<n-1）について、基準画素の係数との差分値Δａijを以下の式（８）および式（９）のように算出する。
【０２８７】
Δａij＝ABS（Ａij）−ABS（Ａ0i）  （ただし、0<i<n, 0≦j<n）  ・・・（８）
Ｂij＝MBS（Ａij）  （ただし、0<i<n, 0≦j<n）  ・・・（９）
【０２８８】
なお、Ｂijは、Ａijの符号ビットを示す。
【０２８９】
つまり、減算部５３１は、領域内において最初に処理される水平ラインの各係数を基準画素として記憶し、２番目以降に処理される水平ラインの各画素について、その画素と同じ垂直ライン上に位置する基準画素との差分値を求める。減算部５３１は、基準画素以外の画素（0<i<n, 0≦j<n）について、このように算出した差分値Δａijと符号ビットＢijを中間データとしてビット幅処理部４３２に供給する。また、減算部５３１は、基準画素のライン（I＝0, 0≦j<n）について、１６ビットの係数Ａijを中間データとしてビット幅処理部４３２に供給する。
【０２９０】
図２０を参照して説明したように、水平方向に１次元変換された係数は、水平方向に各周波数成分が分布する。つまり、垂直方向に同一周波数成分が並び、互いの相関が高くなる。減算部５３１は、この垂直方向の相関性の高さを利用して、上述したように垂直方向に並ぶ係数同士で差分を取ることにより、各中間データの値を小さくする。このとき、符号付きで減算を行うと、値がかえって大きくなってしまう可能性があるため、減算部５３１は、式（８）に示されるように、各係数の絶対値同士の差分を算出する。このようにすることにより、減算部５３１は、中間データの値を確実により小さくすることができる。
【０２９１】
つまり、Δaij（0<i<n, 0≦j<n）は、Aij（i=0, 0≦j<n）より少ないビット幅で表現することができる可能性が高い。そこで、ビット幅処理部４３２は、供給された各差分値に対して、元の１６ビットよりも少ないビット幅でクリップ処理を行う。図２５の例においては、１２ビットでクリップ処理が行われている。ビット幅処理部４３２は、このように、差分値を所定のビット幅に低減し、それを転置レジスタ４３３に供給して記憶させる。
【０２９２】
このようにすることにより、直交変換部４０４は、全ての中間データを、ビット幅１６ビットのままで記憶させる場合よりも、転置レジスタ４３３のサイズを低減させることができる。
【０２９３】
なお、基準画素については、ビット幅処理部４３２は、係数Ａij（i=0, 0<j<n）を中間データとして転置レジスタ４３３に伝送し、記憶させる。図２５の例の場合、ビット幅処理部４３２は、画質劣化を抑制するために、この中間データＡij（i=0, 0<j<n）を、ビット幅１６ビットのまま転置レジスタ４３３に記憶させている（斜線部分）。画質劣化が許容されるのであれば、ビット幅処理部４３２において、この中間データＡij（i=0, 0<j<n）も、ビット幅を狭くするようにクリップ処理するようにしてもよい。
【０２９４】
加算部５３２は、転置レジスタ４３３から、中間データを１垂直ラインずつ読み出す。図２５に示されるように、各垂直ラインには、差分値の中間データの他に、その差分値の算出に利用した基準画素の中間データも含まれる。加算部５３２は、読み出した１垂直ラインに含まれる各差分値に、その垂直ラインに含まれる基準画素の中間データを、以下の式（１０）のように加算する。
【０２９５】
ABS（Ａij）＝ABS（Ａ0j)＋Δaij  （ただし、0<i<n,0≦j<n）  ・・・（１０）
【０２９６】
加算部５３２は、このように算出されたＡijの絶対値に、符号ビットＢijを追加する。これにより、基準画素のライン以外の垂直ラインの各中間データが復元される。加算部５３２は、このように復元した中間データを、垂直１次元変換部４３４に供給する。なお、加算部５３２は、転置レジスタ４３３から読み出した垂直ラインに含まれる基準画素の中間データも垂直１次元変換部４３４に供給する。この基準画素の中間データは差分値ではないので、読み出したデータがそのまま垂直１次元変換部４３４に供給される。
【０２９７】
垂直１次元変換部４３４は、このように供給された中間データに対して垂直方向に１次元の直交変換処理を行い、画像データが２次元（水平方向および垂直方向）に直交変換された直交変換係数データを生成する。なお、中間データに対して上述したようにクリップ処理が行われる場合、そのクリップ処理により誤差が含まれる可能性がある。したがって、その係数データを逆直交変換しても、直交変換処理される前の画像データを必ずしも完全に再現することができない場合もある。ただし、その誤差による画質劣化は、大きくない。換言するに、この画質劣化が許容される程度以下となるように、クリップ処理するビット幅を定義すればよい。
【０２９８】
なお、直交変換の場合、上述したように、全ての垂直ラインに基準画素が含まれる。したがって、どの行を基準画素のラインとするようにしてもよい。
【０２９９】
なお、図２６に示されるように、次に処理される領域の中間データは、水平方向と垂直方向（つまり、行と列）が入れ替えて書き込まれる。しかしながら、この場合も、中間データの読み出しは、水平方向と垂直方向が転置され、水平ライン毎に行われるようになるので、やはり、基準画素の列（垂直ライン）は、任意のラインとすることができる。
【０３００】
なお、さらに次の領域の中間データは、再度、水平方向と垂直方向が転置されるので、図２５のように格納される。
【０３０１】
［直交変換処理の流れ］
図２７のフローチャートを参照して、この場合の直交変換処理の流れの例を説明する。
【０３０２】
ステップＳ５０１において、水平１次元変換部４３１は、処理対象の１水平ラインの画像データに対して、水平方向に１次元直交変換を行う。ステップＳ５０２において、減算部５３１は、処理対象の水平ラインが基準画素のラインであるか否かを判定する。基準画素のラインであると判定した場合、減算部５３１は、処理をステップＳ５０３に進める。
【０３０３】
ステップＳ５０３において、ビット幅処理部４３２は、その水平ラインの係数を転置レジスタ４３３に書き込む。なお、減算部５３１も、この水平ラインの各係数を保持する。ステップＳ５０３の処理が終了すると、ビット幅処理部４３２は、処理をステップＳ５０７に進める。
【０３０４】
あた、ステップＳ５０２において、処理対象の水平ラインが基準画素のラインでは無いと判定された場合、減算部５３１は、処理をステップＳ５０４に進める。ステップＳ５０４において、減算部５３１は、水平ラインの各係数から、その各係数と水平方向に同じ位置にある基準画素の係数を減算し、その差分値を算出する。
【０３０５】
ステップＳ５０５において、ビット幅処理部４３２は、各差分値に対して、ビット幅を低減させるように、所定のビット幅へのクリップ処理を行う。ステップＳ５０６において、ビット幅処理部４３２は、ビット幅を低減させた各差分値を、中間データとして転置レジスタ４３３に供給し、記憶させる。ステップＳ５０６の処理が終了すると、ビット幅処理部４３２は、処理をステップＳ５０７に進める。
【０３０６】
ステップＳ５０７において、水平1次元変換部４３１は、領域内の全ての水平ラインを処理したか否かを判定し、未処理のラインが存在すると判定された場合、処理をステップＳ５０１に戻し、それ以降の処理を繰り返し実行する。領域内の各水平ラインについて、ステップＳ５０１乃至ステップＳ５０７の各処理を繰り返し実行し、ステップＳ５０７において、領域内の全ての水平ラインを処理したと判定した場合、水平１次元変換部４３１は、処理をステップＳ５０８に進める。
【０３０７】
ステップＳ５０８において、加算部５３２は、転置レジスタ４３３から、1垂直ライン分、中間データを読み出す。ステップＳ５０８において、加算部５３２は、読み出した垂直ライン内の、各差分値に、基準画素の係数を加算する。
【０３０８】
ステップＳ５１０のいて、垂直１次元変換部４３４は、垂直ラインの各係数に対して垂直方向に１次元の直交変換を行い、２次元に直交変換された係数データを生成する。
【０３０９】
ステップＳ５１１において、垂直１次元変換部４３４は、領域内の全ての垂直ラインを処理したか否かを判定し、未処理の垂直ラインが存在すると判定した場合、処理をステップＳ５０８に戻し、それ以降の処理を繰り返す。各垂直ラインについてステップＳ５０８乃至ステップＳ５１１の処理を繰り返し、ステップＳ５１１において、領域内の全ての垂直ラインを処理したと判定した場合、垂直１次元変換部４３４は、処理をステップＳ５１２に進める。
【０３１０】
ステップＳ５１２において、垂直１次元変換部４３４は、画像内の全ての領域を処理したか否かを判定し、未処理の領域が存在すると判定された場合、処理をステップＳ５０１に戻し、それ以降の処理を繰り返す。
【０３１１】
以上のように、各領域について、ステップＳ５０１乃至ステップＳ５１２の各処理が繰り返し実行され、ステップＳ５１２において、全ての領域を処理したと判定された場合、垂直１次元変換部４３４は、直交変換処理を終了し、処理を図２２に戻す。
【０３１２】
このように各処理を行うことにより、画像符号化装置４００は、直交変換処理において得られる中間データのデータ量を低減させることができ、転置レジスタ４３３として使用される記憶領域のサイズを低減させることができる。これにより、画像符号化処理に必要なメモリ容量を低減させることができ、画像符号化装置４００の製造コストを低減させることができる。
【０３１３】
［直交変換処理の流れの他の例］
なお、以上においては、ビット幅処理部４３２が、全ての差分値を同じビット幅にクリップ処理するように説明したが、上述したように算出された差分値の場合も、第４の実施の形態の場合と同様に、図２０に示されるような周波数分布となる。したがって、第４の実施の形態の場合と同様に、ビット幅処理部４３２が、周波数帯域に応じて、各中間データ（差分値）のビット幅を制御するようにしてもよい。
【０３１４】
この場合の、直交変換処理の流れの例を図２８のフローチャートを参照して説明する。
【０３１５】
この場合の直交変換処理の流れは、図２７のフローチャートを参照して上述した場合と基本的に同様である。つまり、ステップＳ５３１乃至ステップＳ５４２の各処理は、図２７のステップＳ５０１乃至ステップＳ５１２の各処理と基本的に同様に行われる。
【０３１６】
ただし、ステップＳ５３５において、ビット幅処理部４３２は、差分値に対して、周波数帯域に応じたビット幅へのクリップ処理を行う。また、ビット幅処理部４３２は、基準画素の中間データに対しても、同様に、周波数帯域に応じたビット幅へのクリップ処理を行う。
【０３１７】
このようにすることにより、直交変換部４０４は、図２７の場合よりも画質劣化をより抑制しながら転置レジスタ４３３のサイズを低減させることができる。
【０３１８】
以上の各実施の形態においては、水平方向と垂直方向のそれぞれについて直交変換処理や逆直交変換処理が行われるように説明したが、これらの処理において、変換方式は、任意であり、水平方向に対する処理、および、垂直方向に対する処理のそれぞれに対して、どのような直交変換・逆直交変換方式を用いるようにしてもよい。例えば、DCTであってもよいし、カルーネン・レーベ変換であってもよいし、DSTであってもよい。また、水平方向と垂直方向で、互いに異なる変換方式を採用するようにしてもよい。例えば、水平方向はDCT（IDCT）を行い、垂直方向はDST（IDST）を行うようにしてもよい。つまり、図４の例の場合、水平１次元逆変換部１３１がIDCTを行い、垂直１次元逆変換部１３４がIDSTを行うようにしてもよい。もちろん、水平１次元逆変換部１３１がIDSTを行い、垂直１次元逆変換部１３４がIDCTを行うようにしてもよいし、水平１次元逆変換部１３１および垂直１次元逆変換部１３４がIDCT・IDST以外の方式を採用するようにしてもよい。他の実施の形態についても同様である。画像符号化装置４００の直交変換部４０４や逆直交変換部４０９も同様である。
【０３１９】
なお、本技術は、例えば、MPEG、H．26x等の様に、離散コサイン変換等の直交変換を用いて符号化された画像情報（ビットストリーム）を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本技術は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。さらに、本技術は、それらの画像符号化装置および画像復号装置などに含まれる直交変換装置や逆直交変換装置にも適用することができる。
【０３２０】
＜６．第６の実施の形態＞
［パーソナルコンピュータ］
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどが含まれる。
【０３２１】
図２９において、パーソナルコンピュータ６００のCPU（Central Processing Unit）６０１は、ROM（Read Only Memory）６０２に記憶されているプログラム、または記憶部６１３からRAM（Random Access Memory）６０３にロードされたプログラムに従って各種の処理を実行する。RAM６０３にはまた、CPU６０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０３２２】
CPU６０１、ROM６０２、およびRAM６０３は、バス６０４を介して相互に接続されている。このバス６０４にはまた、入出力インタフェース６１０も接続されている。
【０３２３】
入出力インタフェース６１０には、キーボード、マウスなどよりなる入力部６１１、CRT（Cathode Ray Tube）やLCD（Liquid Crystal Display）などよりなるディスプレイ、並びにスピーカなどよりなる出力部６１２、ハードディスクなどより構成される記憶部６１３、モデムなどより構成される通信部６１４が接続されている。通信部６１４は、インターネットを含むネットワークを介しての通信処理を行う。
【０３２４】
入出力インタフェース６１０にはまた、必要に応じてドライブ６１５が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア６１６が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部６１３にインストールされる。
【０３２５】
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【０３２６】
この記録媒体は、例えば、図２９に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM（Compact Disc - Read Only Memory）,DVD（Digital Versatile Disc）を含む）、光磁気ディスク（MD（Mini Disc）を含む）、若しくは半導体メモリなどよりなるリムーバブルメディア６１６により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM６０２や、記憶部６１３に含まれるハードディスクなどで構成される。
【０３２７】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０３２８】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０３２９】
また、本明細書において、システムとは、複数のデバイス（装置）により構成される装置全体を表すものである。
【０３３０】
また、以上において、１つの装置（または処理部）として説明した構成を分割し、複数の装置（または処理部）として構成するようにしてもよい。逆に、以上において複数の装置（または処理部）として説明した構成をまとめて１つの装置（または処理部）として構成されるようにしてもよい。また、各装置（または各処理部）の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置（または処理部）の構成の一部を他の装置（または他の処理部）の構成に含めるようにしてもよい。つまり、本技術は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０３３１】
上述した実施形態に係る画像符号化装置及び画像復号装置は、衛星放送、ケーブルＴＶなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、４つの応用例について説明する。
【０３３２】
＜７．第７の実施の形態＞
［第１の応用例：テレビジョン受像機］
図３０は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置９００は、アンテナ９０１、チューナ９０２、デマルチプレクサ９０３、デコーダ９０４、映像信号処理部９０５、表示部９０６、音声信号処理部９０７、スピーカ９０８、外部インタフェース９０９、制御部９１０、ユーザインタフェース９１１、及びバス９１２を備える。
【０３３３】
チューナ９０２は、アンテナ９０１を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ９０２は、復調により得られた符号化ビットストリームをデマルチプレクサ９０３へ出力する。即ち、チューナ９０２は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置９００における伝送手段としての役割を有する。
【０３３４】
デマルチプレクサ９０３は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ９０４へ出力する。また、デマルチプレクサ９０３は、符号化ビットストリームからEPG（Electronic Program Guide）などの補助的なデータを抽出し、抽出したデータを制御部９１０に供給する。なお、デマルチプレクサ９０３は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
【０３３５】
デコーダ９０４は、デマルチプレクサ９０３から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ９０４は、復号処理により生成される映像データを映像信号処理部９０５へ出力する。また、デコーダ９０４は、復号処理により生成される音声データを音声信号処理部９０７へ出力する。
【０３３６】
映像信号処理部９０５は、デコーダ９０４から入力される映像データを再生し、表示部９０６に映像を表示させる。また、映像信号処理部９０５は、ネットワークを介して供給されるアプリケーション画面を表示部９０６に表示させてもよい。また、映像信号処理部９０５は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部９０５は、例えばメニュー、ボタン又はカーソルなどのGUI（Graphical User Interface）の画像を生成し、生成した画像を出力画像に重畳してもよい。
【０３３７】
表示部９０６は、映像信号処理部９０５から供給される駆動信号により駆動され、表示デバイス（例えば、液晶ディスプレイ、プラズマディスプレイ又はOELD（Organic ElectroLuminescence Display）（有機ELディスプレイ）など）の映像面上に映像又は画像を表示する。
【０３３８】
音声信号処理部９０７は、デコーダ９０４から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ９０８から音声を出力させる。また、音声信号処理部９０７は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
【０３３９】
外部インタフェース９０９は、テレビジョン装置９００と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース９０９を介して受信される映像ストリーム又は音声ストリームが、デコーダ９０４により復号されてもよい。即ち、外部インタフェース９０９もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置９００における伝送手段としての役割を有する。
【０３４０】
制御部９１０は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置９００の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース９１１から入力される操作信号に応じて、テレビジョン装置９００の動作を制御する。
【０３４１】
ユーザインタフェース９１１は、制御部９１０と接続される。ユーザインタフェース９１１は、例えば、ユーザがテレビジョン装置９００を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース９１１は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９１０へ出力する。
【０３４２】
バス９１２は、チューナ９０２、デマルチプレクサ９０３、デコーダ９０４、映像信号処理部９０５、音声信号処理部９０７、外部インタフェース９０９及び制御部９１０を相互に接続する。
【０３４３】
このように構成されたテレビジョン装置９００において、デコーダ９０４は、上述した実施形態に係る画像復号装置の機能を有する。それにより、テレビジョン装置９００での画像の復号に際して、逆直交変換処理において使用される転置レジスタのサイズを抑制することができる。
【０３４４】
＜８．第８の実施の形態＞
［第２の応用例：携帯電話機］
図３１は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機９２０は、アンテナ９２１、通信部９２２、音声コーデック９２３、スピーカ９２４、マイクロホン９２５、カメラ部９２６、画像処理部９２７、多重分離部９２８、記録再生部９２９、表示部９３０、制御部９３１、操作部９３２、及びバス９３３を備える。
【０３４５】
アンテナ９２１は、通信部９２２に接続される。スピーカ９２４及びマイクロホン９２５は、音声コーデック９２３に接続される。操作部９３２は、制御部９３１に接続される。バス９３３は、通信部９２２、音声コーデック９２３、カメラ部９２６、画像処理部９２７、多重分離部９２８、記録再生部９２９、表示部９３０、及び制御部９３１を相互に接続する。
【０３４６】
携帯電話機９２０は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
【０３４７】
音声通話モードにおいて、マイクロホン９２５により生成されるアナログ音声信号は、音声コーデック９２３に供給される。音声コーデック９２３は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック９２３は、圧縮後の音声データを通信部９２２へ出力する。通信部９２２は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号を、アンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部９２２は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック９２３へ出力する。音声コーデック９２３は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック９２３は、生成した音声信号をスピーカ９２４に供給して音声を出力させる。
【０３４８】
また、データ通信モードにおいて、例えば、制御部９３１は、操作部９３２を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部９３１は、文字を表示部９３０に表示させる。また、制御部９３１は、操作部９３２を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部９２２へ出力する。通信部９２２は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号を、アンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部９２２は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部９３１へ出力する。制御部９３１は、表示部９３０に電子メールの内容を表示させると共に、電子メールデータを記録再生部９２９の記憶媒体に記憶させる。
【０３４９】
記録再生部９２９は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USB（Unallocated Space Bitmap）メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
【０３５０】
また、撮影モードにおいて、例えば、カメラ部９２６は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部９２７へ出力する。画像処理部９２７は、カメラ部９２６から入力される画像データを符号化し、符号化ストリームを記憶再生部９２９の記憶媒体に記憶させる。
【０３５１】
また、テレビ電話モードにおいて、例えば、多重分離部９２８は、画像処理部９２７により符号化された映像ストリームと、音声コーデック９２３から入力される音声ストリームとを多重化し、多重化したストリームを通信部９２２へ出力する。通信部９２２は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号を、アンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部９２２は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部９２８へ出力する。多重分離部９２８は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部９２７、音声ストリームを音声コーデック９２３へ出力する。画像処理部９２７は、映像ストリームを復号し、映像データを生成する。映像データは、表示部９３０に供給され、表示部９３０により一連の画像が表示される。音声コーデック９２３は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック９２３は、生成した音声信号をスピーカ９２４に供給して音声を出力させる。
【０３５２】
このように構成された携帯電話機９２０において、画像処理部９２７は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、携帯電話機９２０での画像の符号化及び復号に際して、直交変換処理および逆直交変換処理において使用される転置レジスタのサイズを抑制することができる。
【０３５３】
＜９．第９の実施の形態＞
［第３の応用例：記録再生装置］
図３２は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置９４０は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置９４０は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置９４０は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置９４０は、音声データ及び映像データを復号する。
【０３５４】
記録再生装置９４０は、チューナ９４１、外部インタフェース９４２、エンコーダ９４３、HDD（Hard Disk Drive）９４４、ディスクドライブ９４５、セレクタ９４６、デコーダ９４７、OSD（On-Screen Display）９４８、制御部９４９、及びユーザインタフェース９５０を備える。
【０３５５】
チューナ９４１は、アンテナ（図示せず）を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ９４１は、復調により得られた符号化ビットストリームをセレクタ９４６へ出力する。即ち、チューナ９４１は、記録再生装置９４０における伝送手段としての役割を有する。
【０３５６】
外部インタフェース９４２は、記録再生装置９４０と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース９４２は、例えば、IEEE1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース９４２を介して受信される映像データ及び音声データは、エンコーダ９４３へ入力される。即ち、外部インタフェース９４２は、記録再生装置９４０における伝送手段としての役割を有する。
【０３５７】
エンコーダ９４３は、外部インタフェース９４２から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ９４３は、符号化ビットストリームをセレクタ９４６へ出力する。
【０３５８】
HDD９４４は、映像及び音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラム及びその他のデータを内部のハードディスクに記録する。また、HDD９４４は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
【０３５９】
ディスクドライブ９４５は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ９４５に装着される記録媒体は、例えばDVDディスク（DVD-Video、DVD-RAM、DVD-R、DVD-RW、DVD+R、DVD+RW等）又はBlu-ray（登録商標）ディスクなどであってよい。
【０３６０】
セレクタ９４６は、映像及び音声の記録時には、チューナ９４１又はエンコーダ９４３から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD９４４又はディスクドライブ９４５へ出力する。また、セレクタ９４６は、映像及び音声の再生時には、HDD９４４又はディスクドライブ９４５から入力される符号化ビットストリームをデコーダ９４７へ出力する。
【０３６１】
デコーダ９４７は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ９４７は、生成した映像データをOSD９４８へ出力する。また、デコーダ９０４は、生成した音声データを外部のスピーカへ出力する。
【０３６２】
OSD９４８は、デコーダ９４７から入力される映像データを再生し、映像を表示する。また、OSD９４８は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
【０３６３】
制御部９４９は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置９４０の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース９５０から入力される操作信号に応じて、記録再生装置９４０の動作を制御する。
【０３６４】
ユーザインタフェース９５０は、制御部９４９と接続される。ユーザインタフェース９５０は、例えば、ユーザが記録再生装置９４０を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース９５０は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９４９へ出力する。
【０３６５】
このように構成された記録再生装置９４０において、エンコーダ９４３は、上述した実施形態に係る画像符号化装置の機能を有する。また、デコーダ９４７は、上述した実施形態に係る画像復号装置の機能を有する。それにより、記録再生装置９４０での画像の符号化及び復号に際して、直交変換処理および逆直交変換処理において使用される転置レジスタのサイズを抑制することができる。
【０３６６】
＜１０．第１０の実施の形態＞
［第４の応用例：撮像装置］
図３３は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置９６０は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
【０３６７】
撮像装置９６０は、光学ブロック９６１、撮像部９６２、信号処理部９６３、画像処理部９６４、表示部９６５、外部インタフェース９６６、メモリ９６７、メディアドライブ９６８、OSD９６９、制御部９７０、ユーザインタフェース９７１、及びバス９７２を備える。
【０３６８】
光学ブロック９６１は、撮像部９６２に接続される。撮像部９６２は、信号処理部９６３に接続される。表示部９６５は、画像処理部９６４に接続される。ユーザインタフェース９７１は、制御部９７０に接続される。バス９７２は、画像処理部９６４、外部インタフェース９６６、メモリ９６７、メディアドライブ９６８、OSD９６９、及び制御部９７０を相互に接続する。
【０３６９】
光学ブロック９６１は、フォーカスレンズ及び絞り機構などを有する。光学ブロック９６１は、被写体の光学像を撮像部９６２の撮像面に結像させる。撮像部９６２は、CCD（Charge Coupled Device）又はCMOS（Complementary Metal Oxide Semiconductor）などのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部９６２は、画像信号を信号処理部９６３へ出力する。
【０３７０】
信号処理部９６３は、撮像部９６２から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部９６３は、カメラ信号処理後の画像データを画像処理部９６４へ出力する。
【０３７１】
画像処理部９６４は、信号処理部９６３から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部９６４は、生成した符号化データを外部インタフェース９６６又はメディアドライブ９６８へ出力する。また、画像処理部９６４は、外部インタフェース９６６又はメディアドライブ９６８から入力される符号化データを復号し、画像データを生成する。そして、画像処理部９６４は、生成した画像データを表示部９６５へ出力する。また、画像処理部９６４は、信号処理部９６３から入力される画像データを表示部９６５へ出力して画像を表示させてもよい。また、画像処理部９６４は、OSD９６９から取得される表示用データを、表示部９６５へ出力する画像に重畳してもよい。
【０３７２】
OSD９６９は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部９６４へ出力する。
【０３７３】
外部インタフェース９６６は、例えばUSB入出力端子として構成される。外部インタフェース９６６は、例えば、画像の印刷時に、撮像装置９６０とプリンタとを接続する。また、外部インタフェース９６６には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置９６０にインストールされ得る。さらに、外部インタフェース９６６は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース９６６は、撮像装置９６０における伝送手段としての役割を有する。
【０３７４】
メディアドライブ９６８に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ９６８に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD（Solid State Drive）のような非可搬性の記憶部が構成されてもよい。
【０３７５】
制御部９７０は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置９６０の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース９７１から入力される操作信号に応じて、撮像装置９６０の動作を制御する。
【０３７６】
ユーザインタフェース９７１は、制御部９７０と接続される。ユーザインタフェース９７１は、例えば、ユーザが撮像装置９６０を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース９７１は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９７０へ出力する。
【０３７７】
このように構成された撮像装置９６０において、画像処理部９６４は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、撮像装置９６０での画像の符号化及び復号に際して、直交変換処理および逆直交変換処理において使用される転置レジスタのサイズを抑制することができる。
【０３７８】
なお、本明細書では、予測モード情報等の画像データ以外の様々な情報が、ビットストリームのヘッダに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像（スライス若しくはブロックなど、画像の一部であってもよい）と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像（又はビットストリーム）とは別の伝送路上で伝送されてもよい。また、情報は、画像（又はビットストリーム）とは別の記録媒体（又は同一の記録媒体の別の記録エリア）に記録されてもよい。さらに、情報と画像（又はビットストリーム）とは、例えば、複数フレーム、１フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
【０３７９】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０３８０】
なお、本技術は以下のような構成も取ることができる。
（１）  画像データが水平方向および垂直方向に直交変換された直交変換係数に対して、水平方向の逆直交変換を行う水平１次元逆変換部と、
前記水平１次元逆変換部により前記水平方向の逆直交変換が行われて得られた係数に対して、ビット幅を低減させるようにクリップ処理を行うビット幅処理部と、
前記ビット幅処理部により前記クリップ処理が行われて、ビット幅が低減された前記係数を、中間データとして記憶する記憶部と、
前記記憶部に記憶される前記中間データを垂直方向に１ラインずつ読み出し、垂直方向の逆直交変換を行う垂直１次元逆変換部と
を備える画像処理装置。
（２）  前記ビット幅処理部は、前記係数を、前記係数の周波数帯域に応じたビット幅にクリップ処理する
前記（１）に記載の画像処理装置。
（３）  前記水平１次元逆変換部により前記水平方向の逆直交変換が行われて得られた、互いに同一の周波数帯域同士の係数を減算する減算部と、
前記減算部による減算により得られた差分値と、前記減算に用いた一方の係数とを加算する加算部と
をさらに備え、
前記ビット幅処理部は、前記減算により得られた前記差分値に対して、前記差分値のビット幅を低減させるようにクリップ処理し、
前記記憶部は、前記減算に用いられた一方の係数と、前記ビット幅処理部によりビット幅が低減された前記差分値を、前記中間データとして記憶し、
前記加算部は、前記記憶部から読み出した、前記減算に用いられた一方の係数と、ビット幅が低減された前記差分値を加算して、前記減算に用いられた他方の係数を復元し、
前記垂直１次元逆変換部は、前記減算に用いられた一方の係数、および、前記加算部による加算により復元された、前記減算に用いられた他方の係数に対して、垂直方向の逆直交変換を行う
前記（１）に記載の画像処理装置。
（４）  前記加算部は、前記記憶部に記憶される前記中間データを垂直方向に１ラインずつ読み出し、
前記記憶部は、前記減算に用いられた一方の係数を、前記加算部により最後に読み出されるラインに記憶する
前記（３）に記載の画像処理装置。
（５）  前記ビット幅処理部は、前記差分値を、所定のビット幅にクリップ処理する
前記（３）または（４）に記載の画像処理装置。
（６）  前記ビット幅処理部は、前記差分値を、前記差分値の周波数帯域に応じたビット幅にクリップ処理する
前記（３）または（４）に記載の画像処理装置。
（７）  前記水平１次元逆変換部により前記水平方向の逆直交変換が行われて得られた、互いに同一の周波数帯域同士の係数の平均値を算出する平均値算出部をさらに備え、
前記減算部は、前記水平１次元逆変換部により前記水平方向の逆直交変換が行われて得られた係数と、前記平均値算出部により算出された前記平均値との差分値を算出し、
前記ビット幅処理部は、前記減算部により算出された前記差分値に対して、前記差分値のビット幅を低減させるようにクリップ処理し、
前記記憶部は、前記平均値と、前記ビット幅処理部によりビット幅が低減された前記差分値とを、前記中間データとして記憶し、
前記加算部は、前記記憶部から読み出した、前記差分値と前記平均値とを加算して、前記減算に用いられた係数を復元し、
前記垂直１次元逆変換部は、前記減算に用いられた係数に対して、垂直方向の逆直交変換を行う
前記（３）に記載の画像処理装置。
（８）  前記ビット幅処理部は、前記差分値を、所定のビット幅にクリップ処理する
前記（７）に記載の画像処理装置。
（９）  前記ビット幅処理部は、前記差分値を、前記差分値の周波数帯域に応じたビット幅にクリップ処理する
前記（７）に記載の画像処理装置。
（１０）  前記水平１次元逆変換部と前記垂直１次元逆変換部は、互いに異なる変換方式で逆直交変換を行う
前記（１）乃至（９）に記載の画像処理装置。
（１１）  画像処理装置の画像処理方法であって、
水平１次元逆変換部が、画像データが水平方向および垂直方向に直交変換された直交変換係数に対して、水平方向の逆直交変換を行い、
ビット幅処理部が、前記水平方向の逆直交変換が行われて得られた係数に対して、ビット幅を低減させるようにクリップ処理を行い、
記憶部が、前記クリップ処理が行われて、ビット幅が低減された前記係数を、中間データとして記憶し、
垂直１次元逆変換部が、記憶される前記中間データを垂直方向に１ラインずつ読み出し、垂直方向の逆直交変換を行う
画像処理方法。
（１２）  画像データに対して、水平方向の直交変換を行う水平１次元変換部と、
前記水平１次元変換部により前記水平方向の直交変換が行われて得られた係数に対して、ビット幅を低減させるようにクリップ処理を行うビット幅処理部と、
前記ビット幅処理部により前記クリップ処理が行われて、ビット幅が低減された前記係数を、中間データとして記憶する記憶部と、
前記記憶部に記憶される前記中間データを垂直方向に１ラインずつ読み出し、垂直方向の直交変換を行う垂直１次元変換部と
を備える画像処理装置。
（１３）  前記ビット幅処理部は、前記係数を、前記係数の周波数帯域に応じたビット幅にクリップ処理する
前記（１２）に記載の画像処理装置。
（１４）  前記水平１次元変換部により前記水平方向の直交変換が行われて得られた、互いに同一の周波数帯域同士の係数を減算する減算部と、
前記減算部による減算により得られた差分値と、前記減算に用いた一方の係数とを加算する加算部と
をさらに備え、
前記ビット幅処理部は、前記減算により得られた前記差分値に対して、前記差分値のビット幅を低減させるようにクリップ処理し、
前記記憶部は、前記減算に用いられた一方の係数と、前記ビット幅処理部によりビット幅が低減された前記差分値を、前記中間データとして記憶し、
前記加算部は、前記記憶部から読み出した、前記減算に用いられた一方の係数と、ビット幅が低減された前記差分値を加算して、前記減算に用いられた他方の係数を復元し、
前記垂直１次元変換部は、前記減算に用いられた一方の係数、および、前記加算部による加算により復元された、前記減算に用いられた他方の係数に対して、垂直方向の直交変換を行う
前記（１２）に記載の画像処理装置。
（１５）  前記ビット幅処理部は、前記差分値を、所定のビット幅にクリップ処理する
前記（１４）に記載の画像処理装置。
（１６）  前記ビット幅処理部は、前記差分値を、前記差分値の周波数帯域に応じたビット幅にクリップ処理する
前記（１４）に記載の画像処理装置。
（１７）  前記水平１次元変換部と前記垂直１次元変換部は、互いに異なる変換方式で直交変換を行う
前記（１２）乃至（１６）に記載の画像処理装置。
（１８）  画像処理装置の画像処理方法であって、
水平１次元変換部が、画像データに対して、水平方向の直交変換を行い、
ビット幅処理部が、前記水平方向の直交変換が行われて得られた係数に対して、ビット幅を低減させるようにクリップ処理を行い、
記憶部が、前記クリップ処理が行われて、ビット幅が低減された前記係数を、中間データとして記憶し、
垂直１次元変換部が、記憶される前記中間データを垂直方向に１ラインずつ読み出し、垂直方向の直交変換を行う
画像処理方法。
【符号の説明】
【０３８１】
１００  画像復号装置，  １０４  逆直交変換部，  １３１  水平１次元逆変換部，  １３２  ビット幅処理部，  １３３  転置レジスタ，  １３４  垂直１次元逆変換部，  ２３１  減算部，  ２３２  加算部，  ３３１  平均値算出部，  ４００  画像符号化装置，  ４０４  直交変換部，  ４０９  逆直交変換部，  ４３１  水平１次元変換部，  ４３２  ビット幅処理部，  ４３３  転置レジスタ，  ４３４  垂直１次元変換部，  ５３１  減算部，  ５３２  加算部 
【図１】
2012244397.tif 000003
【図２】
2012244397.tif 000004
【図３】
2012244397.tif 000005
【図４】
2012244397.tif 000006
【図５】
2012244397.tif 000007
【図６】
2012244397.tif 000008
【図７】
2012244397.tif 000009
【図８】
2012244397.tif 000010
【図９】
2012244397.tif 000011
【図１０】
2012244397.tif 000012
【図１１】
2012244397.tif 000013
【図１２】
2012244397.tif 000014
【図１３】
2012244397.tif 000015
【図１４】
2012244397.tif 000016
【図１５】
2012244397.tif 000017
【図１６】
2012244397.tif 000018
【図１７】
2012244397.tif 000019
【図１８】
2012244397.tif 000020
【図１９】
2012244397.tif 000021
【図２０】
2012244397.tif 000022
【図２１】
2012244397.tif 000023
【図２２】
2012244397.tif 000024
【図２３】
2012244397.tif 000025
【図２４】
2012244397.tif 000026
【図２５】
2012244397.tif 000027
【図２６】
2012244397.tif 000028
【図２７】
2012244397.tif 000029
【図２８】
2012244397.tif 000030
【図２９】
2012244397.tif 000031
【図３０】
2012244397.tif 000032
【図３１】
2012244397.tif 000033
【図３２】
2012244397.tif 000034
【図３３】
2012244397.tif 000035