(57)【要約】【課題】画像符号化装置の量子化部における除算データの値を量子化パラメータの値の増加に対して、大きく増大しないようにし、回路規模が小さく、高速な処理が可能な量子化部を備えた画像符号化装置を提供する。【解決手段】画像符号化装置は、色空間変換部、周波数変換部、量子化部１０、係数予測部、適応型スキャン部、ＶＬＣ符号化部、ビットストリーム出力部を備える。量子化部１０は、量子化演算の基となる量子化パラメータを記憶する量子化パラメータ記憶部１１と、量子化パラメータの上位ビットが全て０か否かの情報と下位ビットから除数となるｉＭａｎ値を生成するｉＭａｎ値生成部１２と、量子化パラメータの下位ビットからシフト量となるｉＥｘｐ値を生成するｉＥｘｐ値生成部１３と、係数データをｉＭａｎ値で除算する除算部１４と、除算値をｉＥｘｐ値で右方向にビットシフトする右方向バレルシフタ１５とから構成される。【選択図】図２
2015106912.tif 000002
【特許請求の範囲】
【請求項１】
画像データを水平及び垂直の各方向にｎ画素からなるブロックを単位として、水平及び垂直の各方向にｍ個のブロックからなるマクロブロックについて周波数変換し、マクロブロック内の各ブロックの左上の画素位置以外の画素位置に相当するデータを高周波数成分の係数データとし、マクロブロック内の各ブロックの左上の画素位置に相当するデータを集めてさらに周波数変換し、該周波数変換後の左上の画素位置に相当するデータを直流成分の係数データとし、左上以外の画素位置に相当するデータを低周波数成分の係数データとする周波数変換部と、
前記周波数変換部により周波数変換された各成分の係数データを、内部又は外部の記憶領域に保持された（ｐ＋ｑ）ビット長からなる量子化パラメータを用いて量子化して量子化係数データとする量子化部と、
前記量子化部により量子化された低周波数成分及び高周波数成分の量子化係数データのブロック内における画素の並び順を入れ替える処理をして入替係数データとする係数スキャン部と、
前記量子化部による量子化後の直流成分の量子化係数データ及び前記係数スキャン部による入替処理後の低周波数成分及び高周波数成分の入替係数データを符号化して符号化データを生成する符号化部とを備えた画像符号化装置において、
前記量子化部は、
量子化パラメータの上位ｐ個のビットをビット切出ししたデータであるｐビット長のｉＥｘｐ値を生成するｉＥｘｐ値生成部と、
量子化パラメータの上位ｐ個の各ビットが全て０であるときは、量子化パラメータの下位ｑ個のビットをビット切出しし、その最上位ビットの１つ上のビットに０の値を充当したデータである（ｑ＋１）ビット長のｉＭａｎ値を生成し、量子化パラメータの上位ｐ個のビットのいずれか１つが１であるときは、量子化パラメータの下位ｑ個のビットをビット切出しし、その最上位ビットの１つ上のビットに１の値を充当したデータである（ｑ＋１）ビット長のｉＭａｎ値を生成するｉＭａｎ値生成部と、
前記周波数変換部により周波数変換された直流成分、低周波数成分、及び高周波数成分の係数データを該ｉＭａｎ値で除算して除算データとする除算部と、
前記除算部により除算された除算データを前記ｉＥｘｐ値生成部により生成されたｉＥｘｐ値で表わされる値だけ右方向にビットシフトして、量子化係数データを生成する右方向バレルシフタとを備えて構成されることを特徴とする画像符号化装置。
但し、前記ｎ及びｍは２以上の整数であり、前記ｐ及びｑは１以上の整数である。
【請求項２】
前記除算部は、
前記各ｉＭａｎ値に対応する逆数の値を保持した記憶領域を有し、前記ｉＭａｎ値生成部により生成されたｉＭａｎ値に応じて、対応する逆数値を選択する逆数テーブル部と、
前記周波数変換部により周波数変換された直流成分、低周波数成分、及び高周波数成分の係数データを前記逆数テーブル部により選択されたｉＭａｎ値の逆数値で乗算する乗算器とを備えて構成されることを特徴とする請求項１記載の画像符号化装置。
【請求項３】
周波数変換後の画像データの内、直流成分、低周波数成分、及び高周波数成分からなる係数データが符号化された画像圧縮データを復号化して、直流成分、低周波数成分、及び高周波数成分からなる復号化データを生成する復号化部と、
前記復号化部により復号化された低周波数成分及び高周波数成分の復号化データのブロック内における画素の並び順を入れ替える処理をして入替係数データとする係数スキャン部と、
前記復号化部により復号化された直流成分の復号化データ、及び、前記係数スキャン部によりブロック内における画素の並び順が入れ替えられた低周波数成分及び高周波数成分の係数データを、内部又は外部の記憶領域に保持された８ビット長からなる量子化パラメータを用いて逆量子化して逆量子化係数データとする逆量子化部と、
該逆量子化係数データを周波数逆変換して復元される画像領域を、水平及び垂直の各方向にｎ画素からなるブロックからなり、該ブロックを水平及び垂直の各方向にｍ個有するマクロブロックからなる画像領域として、水平及び垂直の各方向にｍ個からなる領域の左上の画素位置に直流成分の逆量子化係数データを配置し、該領域の左上以外の画素位置に低周波数成分の逆量子化係数データを配置して、該領域について周波数逆変換し、周波数逆変換した該領域の各画素位置の係数データを該領域の画素位置に対応する位置に相当するマクロブロック内の各ブロックの、左上の画素位置に配置し、該マクロブロック内の各ブロックの左上の画素位置以外の画素位置に高周波数成分の逆量子化係数データを配置し、該マクロブロック内のブロック毎に、さらに周波数逆変換して、周波数逆変換データとする周波数逆変換部とを備えた画像復号化装置において、
前記逆量子化部は、
量子化パラメータの上位ｐ個のビットをビット切出ししたデータであるｐビット長のｉＥｘｐ値を生成するｉＥｘｐ値生成部と、
量子化パラメータの上位ｐ個の各ビットが全て０であるときは、量子化パラメータの下位ｑ個のビットをビット切出しし、その最上位ビットの１つ上のビットに０の値を充当したデータである（ｑ＋１）ビット長のｉＭａｎ値を生成し、量子化パラメータの上位ｐ個のビットのいずれか１つが１であるときは、量子化パラメータの下位ｑ個のビットをビット切出しし、その最上位ビットの１つ上のビットに１の値を充当したデータである（ｑ＋１）ビット長のｉＭａｎ値を生成するｉＭａｎ値生成部と、
前記復号化部により復号化された直流成分の復号化データ、及び前記係数スキャン部によりブロック内における画素の並び順を入れ替えられた低周波数成分及び高周波数成分の係数データを該ｉＭａｎ値で乗算して乗算データとする乗算器と、
前記乗算器により乗算された乗算データを前記ｉＥｘｐ値生成部により生成されたｉＥｘｐ値で表わされる値だけ左方向にビットシフトして、逆量子化係数データを生成する左方向バレルシフタとを備えて構成されることを特徴とする画像復号化装置。
但し、前記ｎ及びｍは２以上の整数であり、前記ｐ及びｑは１以上の整数である。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを圧縮して符号化する画像符号化装置及び画像符号化データを伸長して復号化する画像復号化装置に関する。
【背景技術】
【０００２】
従来、通信における負担等の軽減を目的として、画像データを圧縮し、符号化する画像符号化装置があり、その逆処理である符号化した画像データを伸長し、元の画像に復元する画像復号化装置も知られている。そして、近年では、より高い圧縮率で圧縮可能な符号化の規格が提案されている（非特許文献１参照）。
【０００３】
前記規格に従った画像符号化装置及び画像復号化装置について説明する。まず、画像符号化装置の概略構成を図１１に示す。同図１１に示すように、この画像符号化装置１００は、色空間変換部１１０、周波数変換部１２０、量子化部１３０、係数予測部１４０、適応型スキャン部１５０、ＶＬＣ符号化部１６０、ビットストリーム出力部１７０より構成される。なお、前記ＶＬＣ符号化部１６０の名称中のＶＬＣは、可変長符号化方式（Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｉｎｇ）の略称である。
【０００４】
画像データは、画像の最小単位である画素（ピクセル）からなり、１６画素（水平方向）×１６画素（垂直方向）で区切られた２５６画素の画像領域を１つの単位としたマクロブロックと、このマクロブロックを水平方向、垂直方向にそれぞれ４分割した４画素×４画素の単位のブロックから構成される。前記規格に従った画像処理では、このマクロブロック及びブロックを単位として処理が進められる。
【０００５】
前記色空間変換部１１０は、入力された画像データをマクロブロック単位で画素毎に色空間変換処理する。色空間変換処理は、非特許文献１の規格で定められたピクセルフォーマットに依存する。ピクセルフォーマットが色空間変換を必要とするものである場合、ＲＧＢフォーマットである原画像データはＹＵＶフォーマットに変換される処理がされ、ＣＭＹＫフォーマットである原画像データはＹＵＶＫフォーマットに変換される処理がされる。また、ピクセルフォーマットが色空間変換を必要とするものでない場合、原画像データは色空間変換されない処理がなされる。そして、前記色空間変換部１１０は、前記処理をした画像データを前記周波数変換部１２０に入力する。
【０００６】
前記周波数変換部１２０は、前記色空間変換部１１０によって色空間処理された画像データを、マクロブロック単位でラスター順に、各マクロブロック内では前記色空間変換後の色成分順に、各色成分内の１６個のブロックについて、各画素のデータを周波数帯域毎の係数データに変換する処理（周波数変換）を行う。この周波数変換部１２０は、各ブロック内の４×４画素の１６個の画素データについて、周波数変換をして係数データに変換した後、１６個のブロックの各左上の係数データを除く残りの各１５個の係数データを集めて、第１階層データを形成する。これは、高周波成分であるＨＰ係数（ハイパス係数）データとなる。次に、１６個のブロックの各左上の係数データを集めて、４×４の１６個の係数データを形成し、この集められた４×４の係数データをさらに周波数変換して、４×４の係数データとし、この周波数変換した４×４の係数データの内、左上の１個の係数データを除く残りの１５個の係数データで第２階層データを形成し、前記２回目の周波数変換後の４×４の係数データの内、左上の１個の係数データで第３階層データを形成する。この第２階層データは、低周波成分であるＬＰ係数（ローパス係数）データに相当し、第３階層データは、直流成分であるＤＣ係数（ディーシー係数）データに相当する。このように前記周波数変換部１２０は、前記第１階層データ（ＨＰ係数）、第２階層データ（ＬＰ係数）、第３階層データ（ＤＣ係数）を生成し、これらの各階層データを前記量子化部１３０に入力する。
【０００７】
前記量子化部１３０は、前記周波数変換部１２０から入力された周波数変換後の第１階層データ、第２階層データ、及び第３階層データを、それぞれ選択された量子化パラメータを用いて量子化する処理を行い、処理後の前記第１階層データ、第２階層データ、及び第３階層データを前記係数予測部１４０に入力する。
【０００８】
前記量子化部１３０は、図１２に示すように、量子化パラメータ記憶部１１１、ｉＭａｎ値生成部１１２、ｉＥｘｐ値生成部１１３、左方向バレルシフタ１１４、除算部１１５から構成される。
【０００９】
量子化処理は、前記周波数変換部１２０により周波数変換された係数データを除算するための数値である量子化パラメータを用いて実施される。量子化パラメータは外部のコントローラ等から圧縮処理の開始前に前記量子化パラメータ記憶部１１１に入力され、該量子化パラメータ記憶部１１１に記憶される。
【００１０】
量子化パラメータは、第１階層データ、第２階層データ、及び第３階層データ毎に異なる値が用いられ、前記量子化パラメータ記憶部１１１より選択されて出力され、この選択された量子化パラメータをＱＰ［７：０］で示す。この量子化パラメータＱＰは８ビットの数値からなり、前述のＱＰ［７：０］の内、［７：０］は、ビット７〜ビット０の並び順で８ビットを有していることを表している。以下に示すビット表記も同様の表記である。
【００１１】
非特許文献１の規格では、量子化処理は、量子化パラメータ（ＱＰ）の上位ビット（ビット７〜４）が全て０か否かの情報と下位ビット（ビット３〜０）から生成されるｉＭａｎ値というデータを量子化パラメータＱＰの上位ビット（ビット７〜４）から生成されるｉＥｘｐ値というデータで表わされる値だけ左方向にビットシフトしたデータである量子化スケーリングファクタ（ＱＳＦ）を用いて行われ、入力された係数データは、この量子化スケーリングファクタで除算されて量子化される。
【００１２】
この処理を図１２を用いて説明すると、前記量子化パラメータ記憶部１１１から出力された量子化パラメータＱＰ［７：０］は、ｉＭａｎ値生成部１１２及びｉＥｘｐ値生成部１１３に入力される。
【００１３】
ここで、ｉＭａｎ値生成部１１２の構成を図１３に示す。同図１３に示すように、ｉＭａｎ値生成部１１２は、ビット切出し部１１６、加算器１１７、比較部１１８、及び選択器１１９より構成される。
【００１４】
前記量子化パラメータ記憶部１１１より入力された量子化パラメータＱＰは、ビット切出し部１１６及び比較部１１８に入力される。前記ビット切出し部１１６は、入力された量子化パラメータＱＰ［７：０］の内、下位４ビットであるＱＰ［３：０］をビット切出しして前記選択器１１９の入力ポートＡ及び前記加算器１１７に入力し、前記加算器１１７は、入力された量子化パラメータの下位ビットＱＰ［３：０］に数値１６を加算して、その加算結果を前記選択器１１９の入力ポートＢに入力する。
【００１５】
また、前記比較部１１８は、入力された量子化パラメータＱＰ［７：０］を数値１６と比較して、ＱＰが１６よりも小さければ（ＱＰの上位ビットが全て０）、数値１（結果が真）を、そうでなければ、数値０（結果が偽）を出力し、その出力を前記選択器１１９の入力ポートＣに入力する。
【００１６】
前記選択器１１９は、前記比較部１１８より入力された入力ポートＣの値が１（結果が真）であれば、前記ビット切出し部１１６より該選択器１１９の入力ポートＡに入力された量子化パラメータの下位４ビットであるＱＰ［３：０］を選択し、前記入力ポートＣの値が０（結果が偽）であれば、前記加算器１１７より入力された該選択器の入力ポートＢに入力された量子化パラメータの下位４ビットであるＱＰ［３：０］と数値１６を加算した結果を選択し、選択されたデータをｉＭａｎ［４：０］として出力し、出力結果を前記左方向バレルシフタ１１４に入力する。
【００１７】
また、前記ｉＥｘｐ値生成部１１３は、前記量子化パラメータ記憶部１１１から入力された量子化パラメータＱＰ［７：０］の内、上位４ビットのＱＰ［７：４］をビット切り出しして、これをｉＥｘｐ［３：０］として前記左方向バレルシフタ１４４に入力する。
【００１８】
そして、前記左方向バレルシフタ１１４は、前記ｉＭａｎ生成部から入力されたｉＭａｎ［４：０］を前記ｉＥｘｐ生成部より入力されたｉＥｘｐ［３：０］で表わされる数だけ左方向にビットシフトして、量子化の除数となる量子化スケーリングファクタ（ＱＳＦ［１９：０］）を生成し、このＱＳＦ［１９：０］を前記除算部１１５に入力する。尚、ｉＭａｎは５ビットで構成されており、４ビットで構成されているシフト値であるｉＥｘｐは０〜１５の数値をとる。よって、量子化スケーリングファクタは、５ビットのｉＭａｎが最大１５ビット左シフトされて生成されるので、最大２０ビットのビット長を有することになる。
【００１９】
前記除算部１１５は、前記周波数変換部より入力された係数データである前記第１階層データ、第２階層データ、及び第３階層データを前記左方向バレルシフタ１１４より入力された量子化スケーリングファクタで除算して、除算結果を量子化係数データとして、前記係数予測部１４０に入力する。
【００２０】
前記係数予測部１４０は、前記量子化部１３０から入力された量子化係数データである前記第１階層データ、第２階層データ、及び第３階層データについて、それぞれ、隣接するブロック間の係数値の比較を行って予測モードを算出し、所定の演算式に基づいて、導出された予測モードの方向に、相関の高いブロック間で減算する処理を行う。そして、前記係数予測部１４０は、処理後の第１階層データ、第２階層データ、及び第３階層データを適応型スキャン部１５０に入力する。
【００２１】
前記適応型スキャン部１５０は、前記係数予測部１４０から入力された第１階層データ及び第２階層データについて、ブロック毎にその係数データを入れ替える処理を行う。この入替処理は、周波数変換後のブロック内の画素位置が小さい側（低周波数側）に非ゼロの係数データを集め、ブロック内の画素位置が大きい側（高周波数側）にゼロ値が連続する係数データを集めるので、符号化の圧縮率を高めることができる。そして、前記適応型スキャン部１５０は、係数データを入れ替えた第１階層データ、第２階層データ、及び入替処理を実施しない第３階層データを、前記ＶＬＣ符号化部１６０に入力する。
【００２２】
前記ＶＬＣ符号化部１６０は、前記適応型スキャン部１５０で処理された第１階層データ、第２階層データ、及び第３階層データに対して、エントロピー符号化処理を施し、コードストリームを生成して、そのコードストリームを前記ビットストリーム出力部１７０に入力する。
【００２３】
前記ビットストリーム１７０は、ヘッダ情報としての画像設定データに、前記ＶＬＣ符号化部１６０で符号化されたコードストリームを順次連接し、１画像データ分のビットストリームとして１纏めにして、１つのファイルを形成し、形成したファイルを外部に出力する。
【００２４】
次に、前記規格に従った画像復号化装置の概略構成を図１４に示す。同図１４に示すように、この画像復号化装置２００は、ビットストリーム解析部２１０、ＶＬＣ復号化部２２０、適応型スキャン部２３０、係数逆予測部２４０、逆量子化部２５０、周波数逆変換部２６０、色空間逆変換部２７０より構成される。なお、画像復号化装置の処理は、前述の画像符号化装置の処理と逆の手順で行われ、用いられる画像データの構成は前記画像符号化装置の場合と同様であり、符号化された第１階層データ（ＨＰ係数）、第２階層データ（ＬＰ係数）、及び第３階層データ（ＤＣ係数）がマクロブロック及びブロック単位で画像データに復元されていく。以下、画像復号化装置２００の各構成要素の動作を順に説明する。
【００２５】
前記ビットストリーム解析部２１０は、入力された１画像分の圧縮データであるビットストリームを解析し、画像情報を抽出するとともに、符号化された画像データを分離し、前記ＶＬＣ復号化部２２０に入力する。
【００２６】
前記ＶＬＣ復号化部２２０は、前記ビットストリーム解析部２１０で分離された画像符号化データである第１階層データ（ＨＰ係数）、２階層データ（ＬＰ係数）及び第３階層データ（ＤＣ係数）に対して、ＶＬＣ復号化処理である可変長復号化処理を施し、復号化した係数データを前記適応型スキャン部２３０に出力する。
【００２７】
前記適応型スキャン部２３０は、圧縮時に定められた手法によって画素順を入れ替えられた第１階層データ及び第２階層データについて、その係数データを圧縮とは逆の手順によって入れ替え、元の画素順に戻す処理を行う。この入替処理は、圧縮の際にブロックの左上部の周波数帯域の低い側に非ゼロの係数を集めることで（逆に右下部の周波数帯域の高い側に係数値がゼロのものが集まる）、符号化において圧縮率を高めるために行われるものである。
【００２８】
前記係数逆予測部２４０は、前記適応型スキャン部２３０から入力された第１階層データ、第２階層データ、及び前記ＶＬＣ復号化部２２０から入力された第３階層データについて、それぞれ、隣接するブロック間での係数の比較を行って予測モードを導出し、予測モードに対し、設定された演算式に従って、相関の高いブロックの対応する画素の値を、対象画素に足し込むことで、圧縮における予測処理前の画素値を復元（逆予測）する。そして、逆予測後の第１階層データ、第２階層データ及び第３階層データを逆量子化部２５０に入力する。
【００２９】
前記逆量子化部２５０は、前記係数逆予測部２４０により逆予測された第１階層データ、第２階層データ及び第３階層データを、それぞれ設定された量子化パラメータを用いて逆量子化する処理を行い、処理後の第１階層データ、第２階層データ及び第３階層データを、ブロック毎に周波数逆変換部２６０に入力する。
【００３０】
前記逆量子化部２５０は、図１５に示すように、量子化パラメータ記憶部２１１、ｉＭａｎ値生成部２１２、ｉＥｘｐ値生成部２１３、左方向バレルシフタ２１４、乗算器２１５から構成される。
【００３１】
これは、図１２における画像符号化装置１００の量子化部１３０の構成と比べ、除算部１１５を乗算器２１５に置き換えたことを除き、同様の構成となっている。
【００３２】
即ち、前記量子化パラメータ記憶部２１１に保持された量子化パラメータであるＱＰ［７：０］の内、上位４ビットが全て０か否かの情報と下位４ビットから前記ｉＭａｎ生成部２１２により生成された５ビット長のｉＭａｎ［４：０］と上位４ビットから生成された４ビット長のｉＥｘｐ［３：０］を前記左方向バレルシフタ２１４に入力し、前記左方向バレルシフタ２１４は、ｉＭａｎ［４：０］をｉＥｘｐ［３：０］が示す数だけ左シフトし、量子化スケーリングファクタ（ＱＳＦ［１９：０］）を生成し、前記乗算器２１５に入力する。
【００３３】
乗算器２１５は、前記係数逆予測部２４０より入力された逆予測係数データを、前記左方向バレルシフタ２１４より入力された量子化スケーリングファクタで乗算して、逆量子化係数データを生成し、前記周波数逆変換部２６０に入力する。
【００３４】
前記周波数逆変換部２６０は、前記逆量子化部２５０によって逆量子化された係数データを、４×４画素を一つのブロックとしてラスター方向に順次処理し、周波数帯域毎の係数データを画素データに変換する処理を行う。この周波数逆変換部２６０は、周波数帯域毎に分離していた第１階層データ、第２階層データ及び第３階層データを、色成分毎に、１マクロブロック（１６×１６画素）の２次元空間データに戻して、前記色空間逆変換部２７０に入力する。
【００３５】
前記色空間逆変換部２７０は、前記周波数逆変換部２６０から入力された色成分毎の画像データを画素毎に処理し、色空間逆変換が不要な場合は、色空間逆変換せず、色空間逆変換が必要な場合は、色空間逆変換を行って、処理後の画素データを、外部に１画像分の画像データとして出力する。
【００３６】
尚、前述のように、色空間逆変換の要否は、非特許文献１の規格で定められた画像の形式を表わすピクセルフォーマットという情報に依存し、そのピクセルフォーマットが変換を必要とするものである場合には、ＹＵＶフォーマットである画像データは、ＲＧＢフォーマットに変換され、ＹＵＶＫフォーマットである画像データは、ＣＭＹＫフォーマットに変換される。また、そのピクセルフォーマットが色空間逆変換を必要とするものでない場合には、色空間逆変換されない。
【先行技術文献】
【非特許文献】
【００３７】
【非特許文献１】ＪＰＥＧ  ＸＲ勧告書ITU-T T.832 : Information technology -JPEG XR image coding system - Image coding specification. [online].Recommendation T.832(01/12). Approval 2012-01-13. Status : In force.2012-9-14, ITU(International Telecommunication Union).[retrieved on 2013-10-29]. Retrieved from the Internet : <URL : http://www.itu.int/rec/T-REC-T.832-201201-I/en>.
【発明の概要】
【発明が解決しようとする課題】
【００３８】
ところで、画像符号化装置の量子化部における除算部へ入力される係数データとその除数データ、及び画像復号化装置の逆量子化部における乗算器へ入力される係数とその乗数データは、そのビット幅が増大する程、前記除算部及び乗算器を構成する回路規模が大きくなり、除算部及び乗算器の処理速度が低下することが知られている。
【００３９】
図１２に示す従来の画像符号化装置１００の量子化部１３０における除算部１１５の除数データ及び図１５に示す従来の画像復号化装置２００の逆量子化部２５０における乗算器２１５の乗数データとして、前述のように、量子化パラメータの上位ビットが全て０か否かの情報と下位ビットから生成されるｉＭａｎを量子化パラメータの上位ビットから生成されるｉＥｘｐの値で左方向にビットシフトしたデータである２０ビット長の量子化スケーリングファクタが用いられる。
【００４０】
図１６に量子化パラメータ（ＱＰ）と量子化スケーリングファクタ（ＱＳＦ）の関係を示す。量子化パラメータは１〜２５５まで変化するのに対し、量子化スケーリングファクタは１６進数表記で００００２（１６）〜Ｆ８０００（１６）まで変化し、１０進数表記では２〜１０１５８０８まで変化する。量子化パラメータの上位ビットから生成されるｉＥｘｐを用いて左方向へのビットシフトを行っているために、量子化パラメータの変化に対し、量子化スケーリングファクタの変化は、量子化パラメータが大きくなる程、急激に大きくなる。
【００４１】
従来の画像符号化装置の量子化部における除算データ及び従来の画像復号化装置における乗算データは、上記のように、２０ビットで表わされるような大きな値であり、これを用いて除算並びに乗算をしているので、量子化部に用いる除算部や逆量子化部に用いる乗算器の回路規模が大きくなり、乗算器や除算部の処理速度が低下するという問題があった。
【００４２】
本発明は、以上の実情に鑑み、なされたものであって、画像符号化装置の量子化部における除算データ及び画像復号化装置の逆量子化部における乗算データの値を量子化パラメータの値の増加に対して、極端に増大させないようにし、その回路規模が小さく、高速な処理が可能な量子化部を備えた画像符号化装置、及び逆量子化部を備えた画像復号化装置の提供を、その目的とする。
【課題を解決するための手段】
【００４３】
上記課題を解決するため、本発明の画像符号化装置は、
画像データを水平及び垂直の各方向にｎ画素からなるブロックを単位として、水平及び垂直の各方向にｍ個のブロックからなるマクロブロックについて周波数変換し、マクロブロック内の各ブロックの左上の画素位置以外の画素位置に相当するデータを高周波数成分の係数データとし、マクロブロック内の各ブロックの左上の画素位置に相当するデータを集めてさらに周波数変換し、該周波数変換後の左上の画素位置に相当するデータを直流成分の係数データとし、左上以外の画素位置に相当するデータを低周波数成分の係数データとする周波数変換部と、
前記周波数変換部により周波数変換された各成分の係数データを、内部又は外部の記憶領域に保持された（ｐ＋ｑ）ビット長からなる量子化パラメータを用いて量子化して量子化係数データとする量子化部と、
前記量子化部により量子化された低周波数成分及び高周波数成分の量子化係数データのブロック内における画素の並び順を入れ替える処理をして入替係数データとする係数スキャン部と、
前記量子化部による量子化後の直流成分の量子化係数データ及び前記係数スキャン部による入替処理後の低周波数成分及び高周波数成分の入替係数データを符号化して符号化データを生成する符号化部とを備えた画像符号化装置において、
前記量子化部は、
量子化パラメータの上位ｐ個のビットをビット切出ししたデータであるｐビット長のｉＥｘｐ値を生成するｉＥｘｐ値生成部と、
量子化パラメータの上位ｐ個の各ビットが全て０であるときは、量子化パラメータの下位ｑ個のビットをビット切出しし、その最上位ビットの１つ上のビットに０の値を充当したデータである（ｑ＋１）ビット長のｉＭａｎ値を生成し、量子化パラメータの上位ｐ個のビットのいずれか１つが１であるときは、量子化パラメータの下位ｑ個のビットをビット切出しし、その最上位ビットの１つ上のビットに１の値を充当したデータである（ｑ＋１）ビット長のｉＭａｎ値を生成するｉＭａｎ値生成部と、
前記周波数変換部により周波数変換された直流成分、低周波数成分、及び高周波数成分の係数データを該ｉＭａｎ値で除算して除算データとする除算部と、
前記除算部により除算された除算データを前記ｉＥｘｐ値生成部により生成されたｉＥｘｐ値で表わされる値だけ右方向にビットシフトして、量子化係数データを生成する右方向バレルシフタとを備える。但し、前記ｎ及びｍは２以上の整数であり、前記ｐ及びｑは１以上の整数である。
【００４４】
上記構成を備えた本発明に係る画像符号化装置によれば、まず、１画像分の画像データが周波数変換部に入力され、周波数変換部においては、画像データは水平及び垂直の各方向にｎ画素からなるブロックを単位として、水平及び垂直の各方向にｍ個のブロックからなるマクロブロックについて周波数変換されて高周波数成分、低周波数成分、及び直流成分の係数データとされ、量子化部に入力される。
【００４５】
そして、量子化部において、周波数変換された各成分の係数データは、内部又は外部の記憶領域に保持された量子化パラメータを用いて量子化される。
【００４６】
量子化された係数データは、係数予測部に入力され、係数予測部において、予測モードを導出するとともに、相関の高いブロック間で減算される処理を行った後、係数スキャン部に入力され、係数スキャン部において、非ゼロの係数データをブロック内の低周波数側に集中させるように、ブロック内の画素の並び順を入れ替える処理が行われ、入れ替え後のブロック単位の係数データが符号化部において符号化され、符号化データが生成される。
【００４７】
そして、量子化部では、ｉＥｘｐ値生成部において、（ｐ＋ｑ）ビット長からなる量子化パラメータの上位ｐ個のビットをビット切出しして、ｐビット長のｉＥｘｐ値を生成し、ｉＭａｎ値生成部において、量子化パラメータの上位ｐ個のビットが全て０か否かの情報と量子化パラメータの下位ｑ個のビットをビット切出ししたデータから、（ｑ＋１）ビット長のｉＭａｎ値を生成し、除算部において、周波数変換部にて周波数変換された各成分の係数データを、ｉＭａｎ値生成部にて生成されたｉＭａｎ値で除算し、右方向バレルシフタにおいて、除算部にて除算された除算データを、ｉＥｘｐ値生成部にて生成されたｉＥｘｐ値が示す数値だけ右方向にビットシフトされ、量子化される。
【００４８】
このように、本発明の構成によれば、周波数変換部にて周波数変換された各成分の係数データを、量子化パラメータの上位ビットが全て０か否かの情報と下位ビットから生成されたｉＭａｎ値で除算し、除算データを量子化パラメータの上位ビットから生成されたｉＥｘｐ値で右方向にビットシフトしているので、従来の構成のように、各成分の係数データを、ｉＭａｎ値を左方向にｉＥｘｐ値でビットシフトしたデータである量子化スケーリングファクタという大きな数値で除算されることがなくなり、除算を実施する除算器の回路規模を小さくすることができ、除算の処理速度を向上させることが可能となり、画像符号化処理の最適化を図ることができる。
【００４９】
さらに、本発明の画像符号化装置に係る除算部は、
前記各ｉＭａｎ値に対応する逆数の値を保持した記憶領域を有し、前記ｉＭａｎ値生成部により生成されたｉＭａｎ値に応じて、対応する逆数値を選択する逆数テーブル部と、
前記周波数変換部により周波数変換された直流成分、低周波数成分、及び高周波数成分の係数データを前記逆数テーブル部により選択されたｉＭａｎ値の逆数値で乗算する乗算器とを備える。
【００５０】
上記構成を備えた本発明に係る画像符号化装置における除算部によれば、まず、逆数テーブル部において、ｉＭａｎ値生成部により生成されたｉＭａｎ値に対応する逆数が、逆数テーブル部内の記憶領域に保持された各ｉＭａｎ値の逆数の中から選択され、乗算器において、周波数変換部により周波数変換された各成分の係数データに、逆数テーブル部により選択されたｉＭａｎの逆数値が乗算されて、係数データの量子化が実施される。
【００５１】
このように、本発明の構成によれば、量子化パラメータの上位ビットが全て０か否かの情報と下位ビットのビット切出しデータから生成されたビット幅の小さいｉＭａｎ値を用いて、逆数を生成するので、従来のｉＭａｎ値を量子化パラメータの上位ビットから生成されるｉＥｘｐ値で左方向にビットシフトしたデータである量子化スケーリングファクタを用いる場合と比べて、逆数をとった場合の逆数データのビット幅を小さくすることができる。また、ｉＭａｎ値は量子化パラメータの上位ビットが全て０か否かの情報と下位ビットのビット切出しデータから生成されるので、従来の量子化パラメータ全体を用いるのに比べ、逆数をとるべき基となる数値の数を少なくすることができ、保持しておくべき逆数の数も少なくすることができる。よって、本構成の逆数テーブル部及び乗算器の回路規模を小さくし、本除算部の処理速度を向上させることが可能となり、画像符号化処理の最適化を図ることができる。
【００５２】
また、本発明の画像復号化装置は、
周波数変換後の画像データの内、直流成分、低周波数成分、及び高周波数成分からなる係数データが符号化された画像圧縮データを復号化して、直流成分、低周波数成分、及び高周波数成分からなる復号化データを生成する復号化部と、
前記復号化部により復号化された低周波数成分及び高周波数成分の復号化データのブロック内における画素の並び順を入れ替える処理をして入替係数データとする係数スキャン部と、
前記復号化部により復号化された直流成分の復号化データ、及び、前記係数スキャン部によりブロック内における画素の並び順が入れ替えられた低周波数成分及び高周波数成分の係数データを、内部又は外部の記憶領域に保持された８ビット長からなる量子化パラメータを用いて逆量子化して逆量子化係数データとする逆量子化部と、
該逆量子化係数データを周波数逆変換して復元される画像領域を、水平及び垂直の各方向にｎ画素からなるブロックからなり、該ブロックを水平及び垂直の各方向にｍ個有するマクロブロックからなる画像領域として、水平及び垂直の各方向にｍ個からなる領域の左上の画素位置に直流成分の逆量子化係数データを配置し、該領域の左上以外の画素位置に低周波数成分の逆量子化係数データを配置して、該領域について周波数逆変換し、周波数逆変換した該領域の各画素位置の係数データを該領域の画素位置に対応する位置に相当するマクロブロック内の各ブロックの、左上の画素位置に配置し、該マクロブロック内の各ブロックの左上の画素位置以外の画素位置に高周波数成分の逆量子化係数データを配置し、該マクロブロック内のブロック毎に、さらに周波数逆変換して、周波数逆変換データとする周波数逆変換部とを備えた画像復号化装置において、
前記逆量子化部は、
量子化パラメータの上位ｐ個のビットをビット切出ししたデータであるｐビット長のｉＥｘｐ値を生成するｉＥｘｐ値生成部と、
量子化パラメータの上位ｐ個の各ビットが全て０であるときは、量子化パラメータの下位ｑ個のビットをビット切出しし、その最上位ビットの１つ上のビットに０の値を充当したデータである（ｑ＋１）ビット長のｉＭａｎ値を生成し、量子化パラメータの上位ｐ個のビットのいずれか１つが１であるときは、量子化パラメータの下位ｑ個のビットをビット切出しし、その最上位ビットの１つ上のビットに１の値を充当したデータである（ｑ＋１）ビット長のｉＭａｎ値を生成するｉＭａｎ値生成部と、
前記復号化部により復号化された直流成分の復号化データ、及び前記係数スキャン部によりブロック内における画素の並び順を入れ替えられた低周波数成分及び高周波数成分の係数データを該ｉＭａｎ値で乗算して乗算データとする乗算器と、
前記乗算器により乗算された乗算データを前記ｉＥｘｐ値生成部により生成されたｉＥｘｐ値で表わされる値だけ左方向にビットシフトして、逆量子化係数データを生成する左方向バレルシフタとを備える。但し、前記ｎ及びｍは２以上の整数であり、前記ｐ及びｑは１以上の整数である。
【００５３】
上記構成を備えた本発明に係る画像復号化装置によれば、まず、１画像分の画像データに相当する符号化データが復号化部に入力され、復号化部においては、直流成分、低周波数成分、及び高周波数成分毎に復号化されて、復号化データとして、係数スキャン部に入力され、係数スキャン部において、非ゼロの係数データをブロック内の低周波数側に集中させるように、ブロック内の画素の並び順を入れ替える処理が行われ、入れ替え後のブロック単位の係数データが係数逆予測部に入力され、係数逆予測部において、予測モードを導出するとともに、相関の高いブロック間で足し戻される処理を行った後、逆予測データは逆量子化部に入力される。
【００５４】
そして、逆量子化部において、逆予測された各成分の係数データは、内部又は外部の記憶領域に保持された量子化パラメータを用いて乗算することにより逆量子化される。
【００５５】
逆量子化された各成分の係数データは、周波数逆変換部に入力され、周波数逆変換部において、水平及び垂直の各方向にｎ画素からなるブロック、及び該ブロックを水平及び垂直の各方向にｍ個有するマクロブロックに周波数逆変換し、画像データとされる。
【００５６】
そして、逆量子化部では、ｉＥｘｐ値生成部において、（ｐ＋ｑ）ビット長からなる量子化パラメータの上位ｐ個のビットをビット切出しして、ｐビット長のｉＥｘｐ値を生成し、ｉＭａｎ値生成部において、量子化パラメータの上位ｐ個のビットが全て０か否かの情報と量子化パラメータの下位ｑ個のビットをビット切出ししたデータから、（ｑ＋１）ビット長のｉＭａｎ値を生成し、乗算器において、係数逆予測部にて逆予測処理された各成分の係数データを、ｉＭａｎ値生成部にて生成されたｉＭａｎ値で乗算し、左方向バレルシフタにおいて、乗算器にて乗算された乗算データを、ｉＥｘｐ値生成部にて生成されたｉＥｘｐ値が示す数値だけ左方向にビットシフトし、逆量子化される。
【００５７】
このように、本発明の構成によれば、係数逆予測部にて逆予測処理された各成分の係数データを、量子化パラメータの上位ビットが全て０か否かの情報と下位ビットから生成されたｉＭａｎ値で乗算し、乗算データを量子化パラメータの上位ビットから生成されたｉＥｘｐ値で左方向にビットシフトしているので、従来の構成のように、各成分の係数データを、ｉＭａｎ値を左方向にｉＥｘｐ値でビットシフトしたデータである量子化スケーリングファクタという大きな数値で乗算されることがなくなり、乗算を実施する乗算器の回路規模を小さくすることができ、乗算の処理速度を向上させることが可能となり、画像復号化処理の最適化を図ることができる。
【発明の効果】
【００５８】
以上のように、本発明によれば、画像符号化装置における量子化部及び画像復号化装置における逆量子化部において、量子化部及び逆量子化部に用いる量子化パラメータについて、量子化パラメータの上位ビットが全て０か否かの情報と下位ビットからｉＭａｎ値を生成し、量子化パラメータの上位ビットからｉＥｘｐ値を生成して、量子化部においては、周波数変換された各成分の係数データをｉＭａｎ値で除算した後、除算データをｉＥｘｐ値で右方向にビットシフトして量子化し、逆量子化部においては、逆予測処理された各成分の係数データをｉＭａｎ値で乗算した後、乗算データをｉＥｘｐ値で左方向にビットシフトして逆量子化する構成としているので、画像符号化装置における量子化部及び画像復号化装置における逆量子化部の回路規模を小さくし、その処理速度を向上させることが可能となり、画像符号化処理及び画像復号化処理の最適化を図ることができる。
【図面の簡単な説明】
【００５９】
【図１】本発明の一実施形態に係る画像符号化装置の概略構成を示したブロック図である。
【図２】本実施形態に係る量子化部の構成を示したブロック図である。
【図３】本実施形態に係る除算部の構成を示したブロック図である。
【図４】本実施形態に係る量子化パラメータとｉＭａｎの関係を説明するための説明図である。
【図５】本実施形態に係るｉＭａｎの逆数の一例を説明するための説明図である。
【図６】本実施形態に係る量子化パラメータとｉＥｘｐの関係を説明するための説明図である。
【図７】本実施形態に係る量子化部を中心とした処理手順を示したフローチャートである。
【図８】本発明の一実施形態に係る画像復号化装置の概略構成を示したブロック図である。
【図９】本実施形態に係る逆量子化部の構成を示したブロック図である。
【図１０】本実施形態に係る逆量子化部を中心とした処理手順を示したフローチャートである。
【図１１】従来の画像符号化装置の概略構成を示したブロック図である。
【図１２】従来の量子化部の構成を示したブロック図である。
【図１３】従来のｉＭａｎ値生成部の構成を示したブロック図である
【図１４】従来の画像復号化装置の概略構成を示したブロック図である。
【図１５】従来の逆量子化部の構成を示したブロック図である。
【図１６】従来の量子化パラメータと量子化スケーリングファクタの関係を説明するための説明図である。
【発明を実施するための形態】
【００６０】
以下、本発明に係る画像符号化装置及び画像復号化装置についての具体的な実施形態について、図面を参照しながら説明する。まず、画像符号化装置について説明する。
【００６１】
［１．本実施形態に係る画像符号化装置］
図１は本実施形態に係る画像符号化装置１の構成を示したブロック図である。同図１に示すように、本実施形態の画像符号化装置１は、図１１の従来の画像符号化装置１００における量子化部１３０に代えて、これとはその構成の異なる量子化部１０を備えるもので、この点においてのみ、従来の画像符号化装置１００とその構成が異なっている。従って、他の構成については、上記画像符号化装置１００におけるものと同一の符号を付して、その詳しい説明は省略する。
【００６２】
前記量子化部１０は、図２に示すように、量子化パラメータ記憶部１１、ｉＭａｎ値生成部１２、ｉＥｘｐ値生成部１３、除算部１４、右方向バレルシフタ１５から構成され、図７に示すフローで処理が進められる。以下、図７の各ステップを参照しながら、量子化部の各処理について説明する。
【００６３】
量子化パラメータ記憶部１１は、符号化処理開始前にコントローラ等から処理に必要な量子化パラメータを取得し記憶する（ステップＳ１）。
【００６４】
符号化処理開始時に、係数データをカウントしてマクロブロック、色成分、及びブロックのカウンタ値を更新しているブロックカウンタ（図示せず）のマクロブロックのカウンタ値ｍ、色成分のカウンタ値ｃ、及びブロックのカウンタ値ｎを１に初期化する（ステップＳ２）。以降、処理とともに更新されたマクロブロック、色成分、及びブロックの各カウンタ値における量子化処理は同様の処理となるので、処理が進んだ状態での各カウンタ値における量子化処理について説明する。
【００６５】
前記周波数変換部１２０において、現在のマクロブロック（カウンタ値ｍに対応）の画像データを周波数変換し、直流（ＤＣ）成分、低周波数（ＬＰ）成分、及び高周波数（ＨＰ）成分の各係数データとする（ステップＳ３）。このマクロブロック内には、１、３、又は４個の色成分があり、各色成分内には、１画素の直流成分の係数データ（ＤＣ係数）と１５画素の１ブロックからなる低周波数成分の係数データ（ＬＰ係数）と１５画素を１ブロックとし、１６個のブロックからなる高周波成分の係数データ（ＨＰ係数）がある。
【００６６】
前記量子化パラメータ記憶部１１は、現在の色成分（カウンタ値ｃに対応）に対応する直流成分、低周波数成分、及び高周波数成分の量子化パラメータ（各８ビット長）を選択する（ステップＳ４）。量子化処理は、ＤＣ係数データ、ＬＰ係数データ、及びＨＰ係数データの順で実施される。
【００６７】
まず、前記量子化パラメータ記憶部１１により選択された直流成分の量子化パラメータ（８ビット長）が、前記ｉＭａｎ値生成部１２及び前記ｉＥｘｐ値生成部１３に入力される。
【００６８】
前記ｉＭａｎ値生成部１２の構成は、図１３で既に説明した構成と同じであるが、前記ｉＭａｎ値生成部１２は、量子化パラメータの値が１６未満（上位４ビットが全て０）であれば、量子化パラメータの下位４ビットをビット切出しし、その最上位ビットの１つ上のビットに０を充当したデータを５ビットのｉＭａｎ値として生成し、量子化パラメータの値が１６以上（上位４ビットのいずれか１つのビットが１）であれば、量子化パラメータの下位４ビットをビット切出しし、数値の１６を加算（その最上位ビットの１つ上のビットに１を充当）したデータを５ビットのｉＭａｎ値として生成し、前記除算部１４に入力する。そして、前記ｉＥｘｐ値生成部１３は、量子化パラメータの上位４ビットをビット切出しし、４ビットのｉＥｘｐ値として生成し、前記右方向バレルシフタ１５に入力する（ステップＳ５）。
【００６９】
なお、量子化パラメータ（ＱＰ）に対応するｉＭａｎ値の具体的数値を図４に示す。量子化パラメータが１〜３１の範囲では、ｉＭａｎ値は量子化パラメータと同じ値となるが、量子化パラメータが３１以降については、３２〜４７、４８〜６３、といった１６個の数の繰り返し毎に、ｉＭａｎ値はそれぞれ１６〜３１の値を繰り返すことになる。同図４中、‥の表記は、数値の表記を省略したもので、数値が１ずつ増加している数列を示している。このように、１〜２５５の範囲の量子化パラメータに対し、ｉＭａｎ値は１〜３１の範囲となり、数の範囲が少なく、限定されたものとなっている。また、量子化パラメータ（ＱＰ）に対応するｉＥｘｐ値の具体的数値を図６に示す。ｉＥｘｐ値は、量子化パラメータの上位４ビットをビット切出ししているので、量子化パラメータの値が１〜３１の範囲で１、３２〜４７の範囲で２、４８〜６３の範囲で３というように、１６個の数値毎に（最初の量子化パラメータのみ１５個）、１つずつ増加する１〜１５のデータとなる。なお、同図６中、‥の表記は、量子化パラメータ（ＱＰ）の欄については、１ずつ増加する数で、４８〜６３に続く、６４〜７９といった１６個の数の範囲の各数列を示しており、ｉＥｘｐの欄については、１ずつ増加する数値を示している。
【００７０】
前記除算部１４は、前記周波数変換部１２０より入力された係数データを前記ｉＭａｎ値生成部１２より入力されたｉＭａｎ値で除算し、除算データを前記右方向バレルシフタ１５に入力する。前記右方向バレルシフタ１５は、前記除算部１４より入力された除算データを前記ｉＥｘｐ値生成部１３より入力されたｉＥｘｐ値の数だけ右方向にビットシフトして、量子化係数データを生成し、前記係数予測部１４０に入力する（ステップＳ６）。このように、前記除算部１４は、除数をｉＭａｎ値という１〜３１の範囲の５ビット長のデータとすることができるので、回路規模を小さくし、処理速度を向上させることができる。また、除算の一部を右方向バレルシフタによるビットシフトにしているが、バレルシフタは除算器に比べ、回路規模も小さく、高速処理が可能なように構成できるので、処理能力の向上を実現することができる。
【００７１】
また、前記除算部は、除算器を用いて構成することもできるが、図３のように乗算器を用いて構成することができる。前記除算部１４は、逆数テーブル部１６と乗算器１７から構成される。
【００７２】
前記逆数テーブル部１６は、１〜３１の整数に対応する逆数値を保持した記憶領域を有し、ｉＭａｎ値生成部１２より入力されたｉＭａｎ値というデータに対応する逆数値を選択し、その逆数値のデータを前記乗算器１７に入力する。前記乗算器１７は、前記周波数変換部１２０より入力された係数データを前記逆数テーブル部１６より入力されたｉＭａｎ値の逆数データで乗算し、乗算データ（逆数値で乗算しているので除算データとなる）を前記右方向バレルシフタ１５に入力する。
【００７３】
なお、ｉＭａｎ値に対応する逆数データの具体的数値を図５に示す。同図５は、１〜３１の範囲のｉＭａｎ値に対応する逆数データを１６進数で示している。本例で示した逆数値は、１６ビット長の数値の固定小数点表記のもので、最上位ビットを１の位の数値、最上位ビット以外のビットを小数部の数値とし、小数点は１の位の数値と小数部との間にあるものとしている。例えば、ｉＭａｎ値が１のとき、その逆数は８０００（１６）となり、ｉＭａｎ値が２のとき、その逆数は半分の値の４０００（１６）となる。以降、ｉＭａｎ値が３〜３１までの値に対し、その逆数はｉＭａｎ値が１の逆数である８０００（１６）を基として、その１／ｉＭａｎの値となるようになっている。同図５中、‥の表記は、ｉＭａｎの欄については、５〜２７までの数値の省略、逆数の欄については、５〜２７までの数値の逆数の値の省略を示している。本例は、逆数テーブルの一例であって、逆数値の取り得るビット長は１６ビットに限られず、用途・目的によって増減させることができる。
【００７４】
このように、除算部１４を逆数テーブル１６と乗算器１７を用いて構成することで、除算部１４の回路規模と処理速度を向上させることができる。なお、除数であるｉＭａｎ値は、５ビット長で表わされる１〜３１の範囲の小さい数値範囲にあるため、逆数となるデータのビット長も小さくすることができ、また、保持すべき逆数の個数としても、１から３１の範囲の３１個について、その逆数を保持すれば足りるので、逆数テーブル部１６の回路規模を小さくすることが可能となる。
【００７５】
次に、前記量子化パラメータ記憶部１１により選択された低周波数成分の量子化パラメータ（８ビット長）が、前記ｉＭａｎ値生成部１２及び前記ｉＥｘｐ値生成部１３に入力される。
【００７６】
直流成分の量子化パラメータの場合と同様にして、ｉＭａｎ値生成部１２にて、低周波数成分のｉＭａｎ値のデータが生成され、ｉＥｘｐ値生成部１３にて、低周波数成分のｉＥｘｐ値のデータが生成され（ステップＳ７）、除算部１４にて前記周波数変換部１２０より入力されたブロック単位の１５個のＬＰ係数データがｉＭａｎ値生成部１２にて生成されたｉＭａｎ値データで除算され、その１５個の除算データが右方向バレルシフタ１５にて、ｉＥｘｐ生成部１３により生成されたｉＥｘｐ値データの値だけ右方向にビットシフトされ、量子化係数データを生成し、前記係数予測部１４０に入力される（ステップＳ８）。
【００７７】
低周波数成分の量子化パラメータの場合と同様にして、ｉＭａｎ値生成部１２にて、高周波数成分のｉＭａｎ値のデータが生成され、ｉＥｘｐ値生成部１３にて、高周波数成分のｉＥｘｐ値のデータが生成され（ステップＳ９）、除算部１４にて前記周波数変換部１２０より入力された現在のブロック（カウンタ値ｎに対応）の１５個のＨＰ係数データがｉＭａｎ値生成部１２にて生成されたｉＭａｎ値データで除算され、その１５個の除算データが右方向バレルシフタ１５にて、ｉＥｘｐ値生成部１３にて生成されたｉＥｘｐ値データの値だけ右方向にビットシフトされ、量子化係数データを生成し、前記係数予測部１４０に入力される（ステップＳ１０）。そして、現在のブロックの量子化の終了毎にブロックのカウンタ値を更新し（ステップＳ１２）、現在の色成分の最終ブロックまで量子化処理を実施する。最終の色成分になるまで同様に各周波数成分の量子化処理を実施し（ステップＳ１３）、最終のマクロブロックになるまで、同様に各周波数成分の量子化処理を実施して、量子化処理を終了する（ステップＳ１５）。
【００７８】
以上の構成を備えた本例の画像符号化装置１によれば、まず、色空間変換部１１０に、１画像分の画像データが入力され、画像データのピクセルフォーマットに従い、色空間変換され、又は色空間変換されず、前記色空間変換部１１０での処理を経由した画像データが周波数変換部１２０へ入力される。
【００７９】
周波数変換部１２０は、マクロブロック単位（１６×１６画素）でラスター方向に順次、各画素のデータを周波数帯域毎の係数に変換する処理を行い、処理後の第１階層データ（ＨＰ係数）、第２階層データ（ＬＰ係数）、及び第３階層データ（ＤＣ係数）をブロック単位（４×４画素）で量子化部１０に入力する。
【００８０】
量子化部１０は、周波数変換部１２０により係数化された第１階層データ、第２階層データ、及び第３階層データを、量子化パラメータの上位４ビットが全て０か否かの情報と下位４ビットから生成される５ビット長のｉＭａｎ値で除算し、除算データを量子化パラメータの上位４ビットから生成される４ビット長のｉＥｘｐ値の値だけ右方向にビットシフトして量子化する処理を行い、処理後の第１階層データ、第２階層データ、及び第３階層データを係数予測部１４０に入力する。
【００８１】
係数予測部１４０は、第１階層データ、第２階層データ、及び第３階層データについて、予測モードを導出するとともに、相関の高いブロック間で減算する処理を行い、処理後の第１階層データ及び第２階層データをブロック毎に適応型スキャン部１５０に入力する。
【００８２】
適応型スキャン部１５０は、第１階層データ（ＨＰ係数）及び第２階層データ（ＬＰ係数）について、ブロック毎にその係数データを入れ替える処理を行う。この入替処理は、周波数変換後、ブロック内の画素位置が小さい側（低周波数側）に非ゼロの係数を集め、ブロック内の画素位置が大きい側（高周波数側）にゼロ値が連続する係数データを集めることで、符号化の圧縮率を高めるためのものである。係数データが入れ替えられた第１階層データ、第２階層データ、及び入替処理が実施されない第３階層データは、ＶＬＣ符号化部１６０に入力される。
【００８３】
ＶＬＣ符号化部１６０は、適応型スキャン部１５０で処理された第１階層データ、第２階層データ、及び第３階層データに対し、エントロピー符号化処理を施し、コードストリームを生成して、そのコードストリームをビットストリーム出力部１７０に入力する。
【００８４】
ビットストリーム出力部１７０は、ヘッダ情報としての画像設定データに、ＶＬＣ符号化部１６０で符号化されたコードストリームを順次連接し、１画像データ分のビットストリームとして１纏めにして１つのファイルを形成し、形成したファイルを外部に出力する。
【００８５】
［２．本実施形態に係る画像復号化装置］
次に、本発明に係る画像復号化装置について説明する。図８は本実施形態に係る画像復号化装置２の構成を示したブロック図である。同図８に示すように、本実施形態の画像復号化装置２は図１４の従来の画像復号化装置２００における逆量子化部２５０に代えて、これとはその構成の異なる逆量子化部２０を備えるもので、この点においてのみ、従来の画像復号化装置２００とその構成が異なっている。従って、他の構成については、上記画像復号化装置２００におけるものと同一の符号を付して、その詳しい説明は省略する。
【００８６】
前記逆量子化部２０は、図９に示すように、量子化パラメータ記憶部２１、ｉＭａｎ値生成部２２、ｉＥｘｐ値生成部２３、乗算器２４、左方向バレルシフタ２５から構成され、図１０に示すフローで処理が進められる。以下、図１０のステップを参照しながら、逆量子化部の各処理について説明する。
【００８７】
符号化処理開始時に、係数データをカウントしてマクロブロック、色成分、及びブロックのカウンタ値を更新しているブロックカウンタ（図示せず）のマクロブロックのカウンタ値ｍ、色成分のカウンタ値ｃ、及びブロックのカウンタ値ｎを１に初期化する（ステップＳ２１）。以降、処理とともに更新されたマクロブロック、色成分、及びブロックの各カウンタ値における量子化処理は同様の処理となるので、処理が進んだ状態での各カウンタ値における量子化処理について説明する。
【００８８】
量子化パラメータ記憶部２１は、復号化処理開始後に符号化された圧縮データから処理に必要な量子化パラメータを取得し記憶する（ステップＳ２２）。
【００８９】
前記ＶＬＣ復号化部２２０において、現在のマクロブロック（カウンタ値ｍに対応）の符号化データを復号化処理し、直流（ＤＣ）成分、低周波数（ＬＰ）成分、及び高周波数（ＨＰ）成分の各係数データとする（ステップＳ２３）。このマクロブロック内には、１、３、又は４個の色成分があり、各色成分内には、１画素の直流成分の係数データ（ＤＣ係数）と１５画素の１ブロックからなる低周波数成分の係数データ（ＬＰ係数）と１５画素を１ブロックとし、１６個のブロックからなる高周波成分の係数データ（ＨＰ係数）がある。
【００９０】
前記量子化パラメータ記憶部２１は、現在の色成分（カウンタ値ｃに対応）に対応する直流成分、低周波数成分、及び高周波数成分の量子化パラメータ（各８ビット長）を選択する（ステップＳ２４）。逆量子化処理は、ＤＣ係数データ、ＬＰ係数データ、及びＨＰ係数データの順で実施される。
【００９１】
まず、前記量子化パラメータ記憶部２１により選択された直流成分の量子化パラメータ（８ビット長）が、前記ｉＭａｎ値生成部２２及び前記ｉＥｘｐ値生成部２３に入力される。
【００９２】
前記ｉＭａｎ値生成部の構成は、図１３で既に説明した構成と同じであるが、前記ｉＭａｎ値生成部は、量子化パラメータの値が１６未満（上位４ビットが全て０）であれば、量子化パラメータの下位４ビットをビット切出しし、その最上位ビットの１つ上のビットに０を充当したデータを５ビット長のｉＭａｎ値として生成し、量子化パラメータの値が１６以上（上位４ビットのいずれか１つのビットが１）であれば、量子化パラメータの下位４ビットをビット切出しし、数値の１６を加算（その最上位ビットの１つ上のビットに１を充当）したデータを５ビット長のｉＭａｎ値として生成し、前記乗算器２４に入力する。そして、前記ｉＥｘｐ値生成部２３は、量子化パラメータの上位４ビットをビット切出しし、４ビットのｉＥｘｐ値として生成し、前記左方向バレルシフタ２５に入力する（ステップＳ２５）。
【００９３】
前記乗算器２４は、前記係数逆予測部２４０より入力された係数データを前記ｉＭａｎ値生成部２３より入力されたｉＭａｎ値で乗算し、乗算データを前記左方向バレルシフタ２５に入力する。前記左方向バレルシフタ２５は、前記乗算器２４より入力された乗算データを前記ｉＥｘｐ値生成部２３より入力されたｉＥｘｐ値の数だけ左方向にビットシフトして、逆量子化係数データを生成し、前記周波数逆変換部２６０に入力する（ステップＳ２６）。このように、前記乗算器２４は、乗数をｉＭａｎ値という１〜３１の範囲の５ビット長のデータとすることができるので、回路規模を小さくし、処理速度を向上させることができる。また、乗算の一部を左方向バレルシフタによるビットシフトにしているが、バレルシフタは乗算器に比べ、回路規模も小さく、高速処理が可能なように構成できるので、処理能力の向上を実現することができる。
【００９４】
次に、前記量子化パラメータ記憶部２１により選択された低周波数成分の量子化パラメータ（８ビット長）が、前記ｉＭａｎ値生成部２２及び前記ｉＥｘｐ値生成部２３に入力される。
【００９５】
直流成分の量子化パラメータの場合と同様にして、ｉＭａｎ値生成部２２にて、低周波数成分のｉＭａｎ値のデータが生成され、ｉＥｘｐ値生成部２３にて、低周波数成分のｉＥｘｐ値のデータが生成され（ステップＳ２７）、乗算器２４にて前記係数逆予測部２４０より入力されたブロック単位の１５個のＬＰ係数データがｉＭａｎ値生成部２２にて生成されたｉＭａｎ値データで乗算され、その１５個の乗算データが左方向バレルシフタ２５にて、ｉＥｘｐ生成部２３により生成されたｉＥｘｐ値データの値だけ左方向にビットシフトされ、逆量子化係数データを生成し、前記周波数逆変換部２６０に入力される（ステップＳ２８）。
【００９６】
低周波数成分の量子化パラメータの場合と同様にして、ｉＭａｎ値生成部２２にて、高周波数成分のｉＭａｎ値のデータが生成され、ｉＥｘｐ生成部２３にて、高周波数成分のｉＥｘｐ値のデータが生成され（ステップＳ２９）、乗算器２４にて前記係数逆予測部２４０より入力された現在のブロック（カウンタ値ｎに対応）の１５個のＨＰ係数データがｉＭａｎ値生成部２２にて生成されたｉＭａｎ値データで乗算され、その１５個の乗算データが左方向バレルシフタ２５にて、ｉＥｘｐ生成部２３にて生成されたｉＥｘｐ値データの値だけ左方向にビットシフトされ、逆量子化係数データを生成し、前記周波数逆変換部２６０に入力される（ステップＳ３０）。そして、現在のブロックの量子化の終了毎にブロックのカウンタ値を更新し（ステップＳ３２）、現在の色成分の最終ブロックまで量子化処理を実施する。最終の色成分になるまで同様に各周波数成分の量子化処理を実施し（ステップＳ３３）、最終のマクロブロックになるまで、同様に各周波数成分の量子化処理を実施して、量子化処理を終了する（ステップＳ３５）。
【００９７】
以上の構成を備えた本例の画像復号化装置２によれば、まず、ビットストリーム解析部２１０に、１画像分の圧縮データが入力され、画像情報が抽出されるとともに、分離された符号化データがＶＬＣ復号化部２２０へ入力される。
【００９８】
ＶＬＣ復号化部２２０は、ビットストリーム解析部２１０で分離された符号化データを復号化し、第１階層データ（ＨＰ係数）、第２階層データ（ＬＰ係数）、及び第３階層データ（ＤＣ係数）の各階層データを生成して、その各階層データを適応型スキャン部２３０に入力する。
【００９９】
適応型スキャン部２３０は、第１階層データ（ＨＰ係数）及び第２階層データ（ＬＰ係数）について、ブロック毎にその係数データを入れ替える処理を行う。この入替処理は、圧縮における周波数変換の際、ブロック内の画素位置が小さい側（低周波数側）に非ゼロの係数を集め、ブロック内の画素位置が大きい側（高周波数側）にゼロ値が連続する係数データを集めることで、符号化の圧縮率を高めるために行われるものである。係数データが入れ替えられた第１階層データ、第２階層データ、及び入替処理が実施されない第３階層データは、係数逆予測部２４０に入力される。
【０１００】
係数逆予測部２４０は、第１階層データ、第２階層データ、及び第３階層データについて、予測モードを導出するとともに、相関の高いブロック間で足し戻す処理を行い、処理後の第１階層データ、第２階層データ、及び第３階層データを逆量子化部２０に入力する。
【０１０１】
逆量子化部２０は、係数逆予測部２４０により逆予測処理された第１階層データ、第２階層データ、及び第３階層データを、量子化パラメータの上位４ビットが全て０か否かの情報と下位４ビットから生成される５ビット長のｉＭａｎ値で乗算し、乗算データを量子化パラメータの上位４ビットから生成される４ビット長のｉＥｘｐ値の値だけ左方向にビットシフトして逆量子化する処理を行い、処理後の第１階層データ、第２階層データ、及び第３階層データを周波数逆変換部２６０に入力する。
【０１０２】
周波数逆変換部２６０は、逆量子化部２０により逆量子化された第１階層データ、第２階層データ、及び第３階層データを、周波数逆変換し、マクロブロック単位（１６×１６画素）の画像データとし、変換された画像データを色空間逆変換部２７０に入力する。
【０１０３】
色空間逆変換部２７０は、周波数逆変換部２６０により周波数逆変換されたマクロブロック単位の画像データを、ビットストリーム解析部２１０により抽出された画像情報であるピクセルフォーマットに従い、色空間逆変換し、又は色空間逆変換せず、処理した画像データを１画像分の画像データとして外部に出力する。
【０１０４】
以上詳述したように、本実施形態の画像符号化装置１によれば、その量子化部１０において、量子化パラメータの上位ビットが全て０か否かの情報と下位ビットから生成されたｉＭａｎ値により、周波数変換部から入力された係数データを除算部にて除算し、その除算データを量子化パラメータの上位ビットから生成されたｉＥｘｐ値の値だけ右方向にビットシフトして量子化係数データを得る構成としているので、従来のｉＭａｎ値をｉＥｘｐ値の値だけ左方向にビットシフトしたデータである量子化スケーリングファクタで係数データを除算する構成と比べ、除算部に与える除数の数値を小さくすることができ、除算部の回路規模を縮小し、除算部の処理速度を向上させることが可能となる。
【０１０５】
そして、本実施形態の画像符号化装置１の量子化部における除算部は、量子化パラメータの上位ビットが全て０か否かの情報と下位ビットから生成されるｉＭａｎ値の逆数の値をその記憶領域に保持した逆数テーブル部を有し、ｉＭａｎ値が生成される毎に逆数テーブル部からそのｉＭａｎ値の逆数を選択し、ｉＭａｎ値の逆数で周波数変換部より入力された係数データを乗算器にて乗算する構成としているので、従来のｉＭａｎ値をｉＥｘｐ値の値だけ左方向にビットシフトしたデータである量子化スケーリングファクタの逆数で周波数変換部より入力された係数データを乗算器にて乗算する構成と比べて、保持しておく逆数データのビット幅を小さくすることができ、保持しておく逆数データの数も少なくなり、逆数テーブル部及び乗算器の回路規模を縮小でき、本除算部の処理速度を向上させることが可能となる。これにより、画像符号化装置の画像符号化処理の最適化を図ることができる。
【０１０６】
また、本実施形態の画像復号化装置２によれば、その逆量子化部２０において、量子化パラメータの上位ビットが全て０か否かの情報と下位ビットから生成されたｉＭａｎ値により、周波数変換部から入力された係数データを乗算器にて乗算し、その乗算データを量子化パラメータの上位ビットから生成されたｉＥｘｐ値の値だけ左方向にビットシフトして逆量子化係数データを得る構成としているので、従来のｉＭａｎ値をｉＥｘｐ値の値だけ左方向にビットシフトしたデータである量子化スケーリングファクタで係数データを乗算する構成と比べ、乗算器に与える乗数の数値を小さくすることができ、乗算器の回路規模を縮小し、乗算器の処理速度を向上させることが可能となる。これにより、画像復号化装置の画像復号化処理の最適化を図ることができる。
【０１０７】
以上、本発明の一実施形態について説明したが、本発明が採り得る具体的な態様は、何らこれに限定されるものではない。例えば、上例では、量子化パラメータを８ビット長とし、量子化パラメータの上位４ビットが全て０か否かの情報と下位４ビットから、５ビット長のｉＭａｎ値を生成し、量子化パラメータの上位４ビットから４ビット長のｉＥｘｐ値を生成しているが、これに限られるものではなく、量子化パラメータを（ｐ＋ｑ）ビット長とし、量子化パラメータの上位ｐビットが全て０か否かの情報と下位ｑビットから、（ｑ＋１）ビット長のｉＭａｎを生成し、量子化パラメータの上位ｐビットからｐビット長のｉＥｘｐ値を生成するようにしてもよい。
【０１０８】
また、本実施形態では、画像符号化装置と画像復号化装置は別の構成としたが、画像符号化・復号化装置として、１つの構成としてもよい。その際、画像符号化装置における量子化部と画像復号化装置における逆量子化部は別の構成としてもよく、また、量子化・逆量子化部として１つの構成とすることもできる。量子化・逆量子化部として１つの構成とした場合、量子化パラメータ記憶部、ｉＭａｎ値生成部、及びｉＥｘｐ値生成部は共通の構成とし、除算部と乗算器、及び、右方向バレルシフタと左方向バレルシフタについては、符号化の際は、除算部と右方向バレルシフタを用いて量子化を行い、復号化の際は、乗算器と左方向バレルシフタを用いて逆量子化を行うように構成してもよい。
【符号の説明】
【０１０９】
１      画像符号化装置
２      画像復号化装置
１０    量子化部
１１    量子化パラメータ記憶部
１２    ｉＭａｎ値生成部
１３    ｉＥｘｐ値生成部
１４    除算部
１５    右方向バレルシフタ
１６    逆数テーブル部
１７    乗算器
２０    逆量子化部
２１    量子化パラメータ記憶部
２２    ｉＭａｎ値生成部
２３    ｉＥｘｐ値生成部
２４    乗算器
２５    左方向バレルシフタ
１００  画像符号化装置
１１０  色空間変換部
１１１  量子化パラメータ記憶部
１１２  ｉＭａｎ値生成部
１１３  ｉＥｘｐ値生成部
１１４  左方向バレルシフタ
１１５  除算部
１１６  ビット切出し部
１１７  加算器
１１８  比較部
１１９  選択器
１２０  周波数変換部
１３０  量子化部
１４０  係数予測部
１５０  適応型スキャン部
１６０  ＶＬＣ符号化部
１７０  ビットストリーム出力部
２００  画像復号化装置
２１０  ビットストリーム解析部
２１１  量子化パラメータ記憶部
２１２  ｉＭａｎ値生成部
２１３  ｉＥｘｐ値生成部
２１４  左方向バレルシフタ
２１５  乗算器
２２０  ＶＬＣ復号化部
２３０  適応型スキャン部
２４０  係数逆予測部
２５０  逆量子化部
２６０  周波数逆変換部
２７０  色空間逆変換部
【図１】
2015106912.tif 000003
【図２】
2015106912.tif 000004
【図３】
2015106912.tif 000005
【図４】
2015106912.tif 000006
【図５】
2015106912.tif 000007
【図６】
2015106912.tif 000008
【図７】
2015106912.tif 000009
【図８】
2015106912.tif 000010
【図９】
2015106912.tif 000011
【図１０】
2015106912.tif 000012
【図１１】
2015106912.tif 000013
【図１２】
2015106912.tif 000014
【図１３】
2015106912.tif 000015
【図１４】
2015106912.tif 000016
【図１５】
2015106912.tif 000017
【図１６】
2015106912.tif 000018