(57)【要約】【課題】適応型スキャン部の処理効率を高めることで、全体的な処理効率を高めることが可能な画像復号化装置を提供する。【解決手段】画像復号化装置１は、復号化部、適応型スキャン部１０、逆量子化部、及び周波数逆変換部を少なくとも備える。適応型スキャン部１０は、係数データを入替処理する係数データ入替処理部２０と、入替処理された係数データを記憶する係数データ記憶部３０と、非ゼロ度数データ及び入替データを記憶する入替情報記憶部４０と、非ゼロ度数データを更新する度数更新処理部５０と、更新された非ゼロ度数データ及び入替データの比較・置換処理を実行する比較・置換処理部６０とから構成され、係数データ入替処理部２０は、前記入替処理と並行して、復号化部へ次の非ゼロ係数の復号を開始するための単係数復号開始信号を出力し、係数データ入替処理後に、度数更新処理部５０へ度数更新開始信号を出力する。【選択図】図２
2015005857.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.Retrieved from the Internet : <URL : http://www.itu.int/rec/T-REC-T.832-201201-I/en>.
【発明の概要】
【発明が解決しようとする課題】
【００３３】
ところで、圧縮対象の画像データは、技術進歩に伴う解像度の向上によって、そのデータ量が急増しており、上記従来の画像復号化装置１００では、データ量の増加によって、その処理に長時間を要するため、更なる効率化が求められている。
【００３４】
特に、前記適応型スキャン部１３０では、１ブロック分の非ゼロ係数Ｃ（ｉ）とゼロラン長Ｒ（ｉ）を溜め込んだ後、まとめて、該ブロック内の非ゼロ係数データ個数の総数分だけ、係数データＺ’（ｊ）への入替処理をし、非ゼロ度数データＦ（ｊ）の更新処理をし、更新した非ゼロデータＦ’（ｊ）及び入替データＰ（ｊ）の置換処理を行うので、処理の効率化ができず、その処理に長時間を要していた。このため、この従来の適応型スキャン部１３０の処理は、当該画像復号化装置１００における処理効率を低下させるネック要因の一つになっていた。
【００３５】
本発明は、以上の実情に鑑みなされたものであって、適応型スキャン部の処理効率を高めることで、全体的な処理効率を高めることが可能な画像復号化装置の提供を、その目的とする。
【課題を解決するための手段】
【００３６】
上記課題を解決するため、本発明の画像復号化装置は、
圧縮された画像符号化データを復号化して、ブロック単位の各非ゼロ係数順座標ｉの非ゼロ係数データＣ（ｉ）とゼロラン長データＲ（ｉ）を生成する復号化部と、
前記ゼロラン長データＲ（ｉ）より生成される前記ブロックの係数位置座標ｊと、前記非ゼロ係数データＣ（ｉ）が移されるべき係数位置座標ｊの係数データである、Ｚ（ｊ）が非ゼロであった度数との関係を表す非ゼロ度数データＦ（ｊ）、及び前記ブロック内で係数データＺ（ｊ）を入れ替えるための入替データＰ（ｊ）であって、現在の係数位置座標ｊと、当該係数位置座標ｊの係数データＺ（ｊ）を、入れ替えによって組み入れるべき係数位置座標ｊ’との関係を表す入替データＰ（ｊ）を用いて、前記復号化部により復号化されたブロック単位の非ゼロ係数データＣ（ｉ）を該ブロック内で入替処理する適応型スキャン部と、
前記適応型スキャン部により入れ替えられたブロック単位のｎ個の係数データを逆量子化する逆量子化部と、
前記逆量子化された係数データを所定画素数のブロック単位で周波数逆変換して画像データを生成する周波数逆変換部とを少なくとも備えた画像復号化装置において、
前記適応型スキャン部は、
前記非ゼロ度数データＦ（ｊ）及び入替データＰ（ｊ）を記憶する入替情報記憶部と、
前記復号化部により復号化された非ゼロ係数データＣ（ｉ）及びゼロラン長データＲ（ｉ）に対応する係数データＺ（ｊ）を、前記置換情報記憶部に記憶されたＰ（ｊ）に基づいて、入替処理する係数データ入替処理部と、
前記入替データＰ（ｊ）及び非ゼロ係数データＣ（ｉ）の入替処理情報に基づいて、前記非ゼロ係数データＣ（ｉ）を前記ブロック内でＺ（Ｐ（ｊ））に記憶することで、入替処理し、Ｚ’（ｊ）として出力する係数データ記憶部と、
前記復号化後のブロック単位の前記非ゼロである係数位置座標ｊの非ゼロ度数データに１を加えて非ゼロ度数データＦ（ｊ）を更新し、更新後の非ゼロ度数データＦ’（ｊ）とする度数更新処理部と、
前記度数更新処理部によって更新された非ゼロ度数データＦ’（ｊ）を用い、前後するＦ’（ｊ−１）とＦ’（ｊ）とを順次比較し、Ｆ’（ｉ−１）とＦ’（ｉ）、Ｐ（ｉ−１）とＰ（ｉ）の比較結果に基づいて、Ｆ’（ｉ−１）とＦ’（ｉ）、Ｐ（ｉ−１）とＰ（ｉ）との置換処理を行う比較・置換処理部とを備えて構成され、係数データ入替処理部から復号化部へ、前記入替処理と並行して、次の非ゼロ係数の復号を開始するための単係数復号開始信号を出力し、係数データ入替処理部から度数更新処理部へ、係数データ入替処理後に、度数更新開始信号を出力する画像復号化装置に係る。但し、前記ｎは２以上の整数であり、前記ｉは１〜ｎ以下の整数であり、前記ｊ及びＰ（ｊ）は１〜ｎの整数である。
【００３７】
さらに、本発明の画像復号化装置においては、
前記適応型スキャン部は、次の非ゼロ係数の復号を開始するための前記単係数復号開始信号を、前記入替処理の開始と同時に出力する。
【００３８】
そして、本発明の画像復号化装置においては、
前記係数データ入替処理部は、
前記復号化部より入力した非ゼロ係数データＣ（ｉ）を記憶部への入力データとして、係数データ記憶部へ出力する係数データ保持部と、
前記度数更新処理の開始及び復号化処理の開始のタイミングを制御する入替処理制御部と、
現在の係数位置座標ｊを生成する係数位置座標更新部と、
前記現在の係数位置座標ｊを用いて、入替情報記憶部より入替データＰ（ｊ）を取得して、係数データ記憶部への入力アドレスとして、係数データ記憶部へ出力する係数アドレス保持部と、
前記復号化部より入力したブロック復号完了信号と、前記入替処理制御部より入力した単係数入替完了信号より、ブロックの入替が完了したことを示すブロック入替完了信号を係数データ記憶部へ出力するブロック完了信号生成部を備え、
前記入替処理制御部は、復号化部へ、次の非ゼロ係数の復号を開始するための単係数復号開始信号を出力し、度数更新処理部へ、係数データ入替処理後に、度数更新開始信号を出力する。
【００３９】
上記構成を備えた本発明に係る画像復号化装置によれば、まず、１画像分の符号化された画像データについて、所定画素数のブロック単位で復号化部に入力される。そして、復号化部において、符号化された画像データは、ブロック単位で非ゼロ係数データＣ（ｉ）とゼロラン長データＲ（ｉ）に変換されて、適応型スキャン部に入力される。
【００４０】
適応型スキャン部では、ブロックの各非ゼロ係数順座標ｉと、前記ゼロラン長データより生成される前記ブロックの係数位置座標ｊと、前記非ゼロ係数データＣ（ｉ）が移されるべき係数位置座標ｊの係数データである、Ｚ（ｊ）が非ゼロであった度数との関係を表す非ゼロ度数データＦ（ｊ）、及び前記ブロック内で係数データＺ（ｊ）を入れ替えるための入替データＰ（ｊ）であって、現在の係数位置座標ｊと、当該係数位置座標ｊの係数データＺ（ｊ）を、入れ替えによって組み入れるべき画素位置ｊ’との関係を表す入替データＰ（ｊ）を用いて、前記復号化部により復号化されたブロック単位の非ゼロ係数データＣ（ｉ）を該ブロック内で入れ替える処理が行われ、入れ替え後のブロック単位の係数データＺ’（ｊ）は、例えば、逆予測処理された後、逆量子化部に出力される。ブロック単位の係数データの入替処理の後、前記適応型スキャン部は、前記非ゼロである係数位置座標ｊの非ゼロ度数データに１を加えて非ゼロ度数データＦ’（ｊ）として更新し、更新したＦ’（ｊ−１）とＦ’（ｊ）との比較結果に基づき、Ｆ’（ｉ−１）とＦ’（ｉ）、及び、Ｐ（ｉ−１）とＰ（ｉ）との置換処理を行い、次の係数の処理のため、非ゼロ度数データＦ（ｊ）及び入替データＰ（ｊ）を更新する。本発明では、前記適応型スキャン部における前記入替処理開始の際に、次の非ゼロ係数の復号を開始するための単係数復号開始信号を復号化部へ出力することで、前記復号化部における復号化処理と前記適応型スキャン部における一連の係数入替処理、非ゼロ度数データ更新処理及び係数の比較・置換処理を並行して処理できるようにしている。
【００４１】
従来のように、前記復号化部において、１ブロック分の復号化を完了した後で、前記適応型スキャンにおける一連の係数入替処理、非ゼロ度数データ更新処理及び係数の比較・置換処理を実施するようにすると、復号化部における処理と適応型スキャン部における処理にかかるサイクル数を削減することはできないが、本発明のように、ブロック単位で、復号化部における処理と適応型スキャン部における処理を一体化し、１係数ごとに復号化部における処理と適応型スキャン部における処理を並行して実施することで、処理の効率化を図り、復号化部における処理と適応型スキャン部における処理全体にかかるサイクル数を削減することができる。尚、サイクル数とは、処理のタイミングとして用いられるクロックの１クロックを１サイクルとし、その処理を実施するのに必要なサイクルの数を示すものである。
【００４２】
ついで、前記適応型スキャン部による前記係数の入替処理後、前記入替処理後のブロック単位の係数データＺ’（ｊ）は、逆予測処理等され、前記逆量子化部において逆量子化された後、周波数逆変換部において、所定画素数のブロック単位で周波数逆変換されて画像データに復元される。
【００４３】
上記構成を備えた本発明に係る画像復号化装置によれば、入替処理開始の際に、次の非ゼロ係数の復号を開始するための単係数復号開始信号を復号化部へ出力するので、復号化部における処理と適応型スキャン部における処理を並行して実施することができ、復号化部における処理と適応型スキャン部における処理全体にかかるサイクル数を削減することができる。
【００４４】
また、本発明の画像復号化装置においては、
前記係数データ入替処理部は、
前記比較・置換処理部から、置換処理が終了したことを示す単係数置換完了信号を入力される。
【００４５】
そして、本発明の画像復号化装置おいては、
前記適応型スキャン部は、比較・置換処理部から係数データ入替処理部へ、比較・置換処理が終了したことを示す単係数置換完了信号を出力する。
【００４６】
通常、適応型スキャン部における一連の係数入替処理、非ゼロ度数データ更新処理及び係数の比較・置換処理に比べ、復号化部における復号化処理の方が処理内容が複雑であるので、復号化処理の方が適応型スキャン部における処理より、処理にサイクル数を要する。従って、適応型スキャン部における処理の終了を確認しなくても、次の係数の復号化処理を開始することができるが、復号化処理に掛かるサイクル数が適応型スキャン部における処理のサイクル数より少ない場合や復号化処理に掛かるサイクル数にばらつきがあり、適応型スキャン部における処理のサイクル数を下回る場合がある際には、復号化部における処理と適応型スキャン部における処理を正常に実施できない。この状況に鑑み、さらに本発明では、前記比較・置換部より前記係数データ入替処理部へ、係数データの入替情報の更新の完了を示す単係数置換完了信号を出力することで、係数データ入替処理部は、復号化処理に掛かるサイクル数が少ない場合であっても、比較・置換処理部での処理の終了を待って、復号化部での処理の開始を指示でき、復号化処理での処理時間が適応型スキャン部での処理時間より短い場合であっても、正常に復号処理を実施できる。
【００４７】
上記構成を備えた本発明に係る画像復号化装置によれば、適応型スキャン部における一連の係数入替処理、非ゼロ度数データ更新処理及び係数の比較・置換処理を、復号化部における復号化処理と並行して実施するので、復号化部における処理と適応型スキャン部における処理全体にかかるサイクル数を削減することができる。
【００４８】
また、本発明に係る適応型スキャン部によれば、比較・置換処理部での処理の終了を待って復号化処理を開始する信号を出力できるので、復号化処理での処理時間が適応型スキャン部での処理時間より短い場合であっても、正常に復号処理を実施できる。
【発明の効果】
【００４９】
以上のように、本発明によれば、適応型スキャン部の処理を復号化部の復号処理と並行して実施することができ、効率的に適応型スキャン部の処理を行うことができる。この結果、従来に比べて、画像復号化装置の全体の処理速度を速めることができ、効率的な復号化処理を実現することができる。また、復号化処理での処理時間が適応型スキャン部での処理時間より短い場合であっても、比較・置換処理部での処理の終了を待って復号化処理を開始する信号を出力できるので、正常に復号処理を実施できる。
【図面の簡単な説明】
【００５０】
【図１】本発明の一実施形態に係る画像復号化装置の概略構成を示したブロック図である。
【図２】本実施形態に係る適応型スキャン部の構成を示した第一実施例のブロック図である。
【図３】本実施形態に係る適応型スキャン部の構成を示した第二実施例のブロック図である。
【図４】本実施形態に係る係数データ入替処理部の構成を示したブロック図である。
【図５】本実施形態に係る適応型スキャン部における処理手順を示したフローチャートである。
【図６】本実施形態に係る適応型スキャン部における係数入替処理の処理手順を示したフローチャートである。
【図７】本実施形態に係る適応型スキャン部における処理状態を示した状態遷移図である。
【図８】本実施形態に係る適応型スキャン部における処理動作を示したタイミングチャートの一例である。
【図９】従来の画像復号化装置の概略構成を示したブロック図である。
【図１０】従来の適応型スキャン部の構成を示したブロック図である。
【図１１】従来の非ゼロ係数記憶・係数総数累計部の構成を示したブロック図である。
【図１２】従来の係数データ入替処理部の構成を示したブロック図である。
【図１３】従来の適応型スキャン部における処理手順を示したフローチャートである。
【図１４】従来の適応型スキャン部における処理状態を示した状態遷移図である。
【図１５】従来の適応型スキャン部における処理動作を示したタイミングチャートの一例である。
【図１６】従来の適応型スキャン処理のブロック内でのＨＰ係数の一例を説明するための説明図である。
【図１７】従来の適応型スキャン処理の入替データと非ゼロ度数データの初期値の一例を説明するための説明図である。
【図１８】従来の適応型スキャン処理の係数データの入替と非ゼロ度数データの更新を説明するための説明図である。
【図１９】従来の適応型スキャン処理の置換後の入替データと非ゼロ度数データを説明するための説明図である。
【図２０】従来の適応型スキャン処理のブロック内での画素位置を説明するための説明図である。
【図２１】従来の適応型スキャン処理のＨＰ係数をテーブルデータ形式にした一例を説明するための説明図である。
【図２２】従来の適応型スキャン処理のブロック内での入替後のＨＰ係数の一例を説明するための説明図である。
【発明を実施するための形態】
【００５１】
以下、本発明の具体的な実施形態について、図面を参照しながら説明する。尚、図１は、本実施形態に係る画像復号化装置１の構成を示したブロック図である。
【００５２】
図１に示すように、本例の画像復号化装置１は、図９の従来の画像復号化装置１００における適応型スキャン部１３０に代えて、これとはその構成が異なる適応型スキャン部１０を備えるもので、この点においてのみ、従来の画像復号化装置１００とその構成が異なっている。したがって、他の構成については、上記画像復号化装置１００におけるものと同一の符号を付して、その詳しい説明は省略する。
【００５３】
｛第１の実施の形態｝
第１の実施の形態に係る前記適応型スキャン部１０は、図２に示すように、係数データ入替処理部２０、係数データ記憶部３０、入替情報記憶部４０、度数更新処理部５０、及び比較・置換処理部６０から構成され、係数データ入替処理部２０は、図４に示すように、係数データ保持部２１、入替処理制御部２２、係数位置座標更新部２３、係数アドレス保持部２４及びブロック完了信号生成部２５から構成される。
【００５４】
この適応型スキャン部１０においても、上述した適応型スキャン部１５０と同様に、前記ＶＬＣ復号化部１２０から出力される第１階層データ及び第２階層データについて、図２０及び図２１に示すような４×４画素に対応するブロック単位で処理し、ブロック内で係数データＺ（ｉ）を入れ替える処理を行う。尚、以下では、第１階層データの処理について説明するが、第２階層データの処理についても同様である。
【００５５】
前記入替処理は、前記ＶＬＣ復号化部１２０により可変長復号された、非ゼロ係数データのＶＬＣ符号中の並び順である非ゼロ係数順座標ｉに対応する非ゼロ係数Ｃ（ｉ）と前記非ゼロ係数Ｃ（ｉ）に前置するゼロ係数の個数を表わすゼロラン長Ｒ（ｉ）の内、非ゼロ係数Ｃ（ｉ）を、直前の非ゼロ係数データがゼロ係数を含んだ場合の係数位置である係数位置座標ｊＰＲＥ（ブロックにおける最初の非ゼロ係数対する初期値は０）に、前記ゼロラン長Ｒ（ｉ）と１を加えたｊＰＲＥ＋Ｒ（ｉ）＋１を新たな係数位置座標ｊとした際の、係数データＺ（Ｐ（ｊ））として、係数位置を入れ替えて出力する。なお、入れ替えたＺ（Ｐ（ｊ））をＺ’（ｊ）と表す。また、中間データとしては生成されないが、入れ替え前のゼロ係数を含む係数データをＺ（ｊ）として表わす。係数入替処理後の非ゼロ度数データを更新するための度数更新処理は、前記入替情報記憶部４０に記憶された非ゼロ度数データＦ（ｊ）を読み出し、前記読み出した非ゼロ度数データＦ（ｊ）に１を加えて更新し、更新後の非ゼロ度数データをＦ’（ｊ）とする。ついで、前記入替データＰ（ｊ）と前記度数更新データＦ’（ｊ）を置換するための比較・置換処理は、前記非ゼロ係数データＣ（ｉ）が移されるべき係数位置座標ｊの係数データである、Ｚ（ｊ）及び前記ブロック内で係数データＺ（ｊ）を入れ替えるための入替データＰ（ｊ）を用いて行われる。尚、入替データＰ（ｊ）は、前記ＤＣ／ＬＰ／ＨＰ逆予測処理部１４０における予測モードに応じて予め設定されており、ＤＣ／ＬＰ／ＨＰ逆予測処理部１４０において導出された予測モードに対応した入替データＰ（ｊ）が使用される。また、入替データＰ（ｊ）、非ゼロ度数データＦ（ｊ）は予め初期値が設定されている。この入替データＰ（ｊ）及び非ゼロ度数データＦ（ｊ）の初期値は、図１７に例示したものと同様である。これら入替データＰ（ｊ）及び非ゼロ度数データＦ（ｊ）は前記入替情報記憶部４０に格納されている。
【００５６】
図２において、前記ＤＣ／ＬＰ／ＨＰ逆予測処理部１４０からは予測モードに関する情報、前記ＶＬＣ復号化部１２０からは第１階層データが、１ブロック分ずつ係数データ入替処理部２０に入力される。ゼロ係数データＣ（ｉ）及びゼロラン長データＲ（ｉ）が入力された前記係数データ入替処理部２０は、新たな係数位置座標ｊを前記入替情報記憶部４０に出力するとともに、前記入替情報記憶部４０より読み出した入替データＰ（ｊ）の値（最初のブロックの場合は初期値となる）を入力アドレスとし、前記非ゼロ係数データＣ（ｉ）を入力データとして、係数データ記憶部３０に出力する。
【００５７】
具体的には、図４において、非ゼロ係数データＣ（ｉ）及びゼロラン長データＲ（ｉ）を入力された係数データ入替処理部２０は、非ゼロ係数データＣ（ｉ）を、係数データ保持部２１を介して、前記係数データ記憶部３０に記憶すべき入力データとして出力し、ゼロラン長データＲ（ｉ）を、入替処理制御部２２を介して、係数位置座標更新部２３に出力し、前記係数位置座標更新部２３は、直前の非ゼロ係数データがゼロ係数を含んだ場合の係数位置である係数位置座標ｊＰＲＥに、前記ゼロラン長Ｒ（ｉ）と１を加えたｊＰＲＥ＋Ｒ（ｉ）＋１を新たな係数位置座標ｊとして、前記入替情報記憶部４０に出力する。なお、ｊＰＲＥには、更新したｊを代入しておき、次に入力される非ゼロ係数の処理に備える。前記入替情報記憶部４０は、新たな係数位置座標ｊの入替データＰ（ｊ）を係数アドレス保持部２４を介して、データのアドレスとして、前記係数データ記憶部３０に出力する。該ブロックの非ゼロ係数総数であるｍ個目の非ゼロ係数データＣ（ｍ）及びゼロラン長データＲ（ｍ）を出力後に、ＶＬＣ復号化部１２０からブロック復号完了信号を入力されたブロック完了信号生成部２５は、入替処理制御部２２から単係数入替完了信号が出力された後、ブロック入替完了信号を係数データ記憶部３０へ出力する。
【００５８】
係数データ記憶部３０は、入替データＰ（ｊ）をアドレス位置とした係数データＺ（Ｐ（ｊ））に、データとしての前記非ゼロ係数データＣ（ｉ）を記憶する。なお、入れ替えた前記Ｚ（Ｐ（ｊ））をＺ’（ｊ）と表わし、中間データとしては生成されないが、入れ替え前のゼロ係数を含む係数データをＺ（ｊ）として表わす。前記係数データ入替処理部２０よりブロック入替完了信号を入力された係数データ記憶部３０は、入れ替えた係数データＺ’（ｊ）をパラレルデータとして、前記ＤＣ／ＬＰ／ＨＰ逆予測処理部１４０に出力する。入替前後の係数データＺ（ｊ）、Ｚ’（ｊ）は、図１８に例示したものと同様であり、生成された第１階層データは図２２に例示したものと同様である。
【００５９】
次に、前記係数データ入替処理部２０は、一つのＺ’（ｊ）の入替を開始と同時に、次の非ゼロ係数データの復号を開始するための単係数復号開始信号をＶＬＣ復号化部１２０に出力する。単係数復号開始信号を入力されたＶＬＣ復号化部１２０は、次の非ゼロ係数の復号を開始する。また、前記係数データ入替処理部２０は、一つのＺ’（ｊ）の入替が完了した後、度数更新処理を開始するための度数更新開始信号を度数更新処理部５０に出力するとともに、更新した新たな係数位置座標ｊを入替情報記憶部４０に出力し、ついで、前記置換情報記憶部４０は、新たな係数位置座標ｊに対応する前記非ゼロ度数データＦ（ｊ）を前記度数更新処理部５０に出力する。
【００６０】
前記度数更新処理部５０は、前記入替情報記憶部４０から入力した非ゼロ度数データＦ（ｊ）に１を加算し、非ゼロ度数データＦ’（ｊ）として前記比較・置換処理部６０及び入替情報記憶部４０に出力する。前記入替情報記憶部４０は、非ゼロ度数データＦ’（ｊ）を記憶し、次ブロックの処理のため、Ｆ（ｊ）として更新する。
【００６１】
加算後のテーブルデータは、図１８に例示したものと同様である。度数更新処理部５０は、このようにして加算処理した更新後の非ゼロ度数データＦ’（ｊ）を非ゼロ係数ごとに前記比較・置換処理部６０に出力する。
【００６２】
比較・置換処理部６０では、前記入替情報記憶部４０より読み出した非ゼロ度数データＦ’（ｊ−１）と前記度数更新処理部５０から入力したＦ’（ｊ）とを比較し、Ｆ’（ｊ）がＦ’（ｊ−１）よりも大きい場合に、Ｆ’（ｊ−１）とＦ’（ｊ）とを置換して、Ｆ”（ｊ−１）＝Ｆ’（ｊ）、Ｆ”（ｊ）＝Ｆ’（ｊ−１）とする処理、及び前記入替情報記憶部４０から読み出した前後の入替データＰ（ｊ−１）とＰ（ｊ）とを置換して、Ｐ’（ｊ−１）＝Ｐ（ｊ）、Ｐ’（ｊ）＝Ｐ（ｊ−１）とする処理を行う。更新処理後の更新データは、図１９に例示したものと同様である。
【００６３】
尚、前記入替情報記憶部４０に格納されたテーブルデータＦ（ｊ）及びＰ（ｊ）は、それぞれ、比較・置換処理部６０から出力されるＦ”（ｊ−１），Ｆ”（ｊ）及びＰ’（ｊ−１）、Ｐ’（ｊ）によって更新される。
【００６４】
前記適応型スキャン部１０では、以上のような処理が行われ、非ゼロの度数、及び予め設定された入替データに従って、係数データが入れ替えられた第１階層データが生成される。また、第２階層データについても同様の処理が行われ、係数データが入れ替えられた第２階層データが生成される。尚、前記第３階層データについては、そのまま、前記ＤＣ／ＬＰ／ＨＰ逆予測処理部１４０に出力される。
【００６５】
適応型スキャン部１０での動作をフローチャートで表したものが、図５であり、適応型スキャン部１０における係数入替処理の動作をフローチャートで表したものが、図６である。ブロック処理の始めに、Ｓ１でＺ（１）〜Ｚ（１５）に０を代入して初期化した後、Ｓ３のＶＬＣ復号化処理で、可変長復号により、Ｃ（ｉ）に非ゼロ係数データ、Ｒ（ｉ）にゼロラン長データを取得する。第１の実施の形態では、ＶＬＣ復号化部における処理よりも、適応型スキャン部における処理の方が時間的に短い（少ないサイクル数で処理できる）ので、Ｓ５における係数入替処理の終了待ちのステップは存在しない。ついで、Ｓ６で係数入替処理の開始を指示するのと同時にＳ３のＶＬＣ復号化処理に戻り、Ｓ３〜Ｓ６までの処理をブロック内の非ゼロ係数分繰り返すものである。ＶＬＣの復号化処理と並行して実施する係数データの入替処理は、Ｓ３で取得した非ゼロ係数データＣ（ｉ）及びゼロラン長データＲ（ｉ）を用いて、Ｓ２１で係数データＺ（ｊ）の入替処理を行い、Ｓ２２で非ゼロ度数データを更新し、Ｓ２４〜Ｓ２６で更新した非ゼロデータＦ’（ｊ）とＦ’（ｊ−１）の大小比較に基づき、Ｆ’（ｊ）とＰ（ｊ）との置換処理を行う。
【００６６】
適応型スキャン部１０での動作を状態遷移図で表したものが、図７であり、処理開始後、待機中であるＳＴ０の状態０から、次ブロックの処理のため、ＳＴ１ａに遷移し、ＳＴ１ａの状態１ａでは、ＶＬＣ復号化で１係数分の非ゼロ係数、ゼロラン長を取得する。第１の実施の形態では、ＶＬＣ復号化部における処理よりも、適応型スキャン部における処理の方が時間的に短い（少ないサイクル数で処理できる）ので、第１の実施の形態における状態１ａでは、状態１ｂの完了を待つことはなく、ＶＬＣ復号化処理が完了後、ブロックの最終非ゼロ係数でないときは、状態１ａ及び状態１ｂに遷移し、ブロックの最終の非ゼロ係数であるときには、状態１ｂ及び状態０に遷移する。状態１ｂでは、１係数ごとに、係数の入替処理、度数更新処理、比較・置換処理を行った後、終了する。
【００６７】
適応型スキャン部１０での動作をタイミングチャートで表したものが図８である。このタイミングチャートは、非ゼロ係数の個数が３個の場合の一実施例であり、各処理の処理時間（処理に必要なサイクル数）は回路構成によって異なるものである。図８では、最初のＶＬＣ復号化処理ｖｌｃ１が終了後、次のＶＬＣ復号化処理ｖｌｃ２と並行して、係数入替処理ｉ１、度数更新処理ｋ１、比較置換処理ｈ１を処理するので、処理時間の効率化を実現でき、復号に掛かる処理サイクル数を削減できる。図８の実施例の場合、１ブロックの処理時間は、２３サイクルとなっており、図１５の従来の構成例におけるサイクル数３３サイクルと比べ、処理サイクル数が少なくなっているのがわかる。
【００６８】
｛第２の実施の形態｝
第２の実施の形態に係る前記適応型スキャン部１０は、図３に示すように、係数データ入替処理部２０、係数データ記憶部３０、入替情報記憶部４０、度数更新処理部５０、及び比較・置換処理部６０から構成され、係数データ入替処理部２０は、図４に示すように、係数データ保持部２１、入替処理制御部２２、係数位置座標更新部２３、係数アドレス保持部２４及びブロック完了信号生成部２５から構成される。
【００６９】
第２の実施の形態に係る前記適応型スキャン部１０は、構成において、図２に示す第１２の実施の形態に係る前記適応型スキャン部１０とほぼ同様であるが、図３において、比較・置換処理部６０より係数データ入替処理部２０へ比較・置換処理部６０における１係数についての比較・置換処理が終了したことを示す単係数置換完了信号が出力されること、及び図４において、比較・置換処理部６０より入替処理制御部２２へ比較・置換処理部６０における１係数についての比較・置換処理が終了したことを示す単係数置換完了信号が出力されること、のみが第１２の実施の形態に係る前記適応型スキャン部１０と相違する。
【００７０】
第２の実施の形態に係る前記適応型スキャン部１０の構成は、復号化処理に掛かるサイクル数が適応型スキャン部における処理のサイクル数より少ない場合や復号化処理に掛かるサイクル数にばらつきがあり、適応型スキャン部における処理のサイクル数を下回る場合がある際の構成例であり、ＶＬＣ復号化部１２０での１係数の復号化処理の完了後、図３における係数データ入替処理部２０及び図４における入替処理制御部は、比較・置換処理部６０での比較・置換処理の完了を示す単係数置換完了信号を待って、単係数置換完了信号の出力後、ＶＬＣ復号部へ単係数復号開始信号を出力する。これにより、適応スキャン部１０は、復号化処理での処理時間が適応型スキャン部での処理時間より短い場合であっても、比較・置換処理部での処理の終了を待って、復号化部での処理の開始を指示でき、正常に復号処理を実施できる。
【００７１】
図５の適応型スキャン部１０での動作のフローチャートに基づき、第２の実施の形態に係る前記適応型スキャン部１０の動作を説明する。第２の実施の形態に係る前記適応型スキャン部１０の基本的な動作は、第１の実施の形態に係るものと同様であるが、第１の実施形態では、図５のＳ４及びＳ５の係数入替処理の終了を待つが、第１の実施形態では、図５のＳ４及びＳ５の係数入替処理の終了を待つステップがないことが相違する。第２の実施の形態に係る前記適応型スキャン部１０では、係数入替処理の終了を待つことにより、復号化処理での処理時間が適応型スキャン部での処理時間より短い場合であっても、正常に復号処理を実施できる。
【００７２】
図７の適応型スキャン部１０での動作の状態遷移図に基づき、第２の実施の形態に係る前記適応型スキャン部１０の動作を説明する。第２の実施の形態に係る前記適応型スキャン部１０の基本的な状態遷移は、第１の実施の形態に係るものと同様であるが、第１の実施形態では、図７の状態１ａでＶＬＣ復号処理の終了後状態１ａに遷移し、次のＶＬＣ復号処理を開始するのに対し、図７の第２の実施形態では、図７の状態１ａで置換処理の完了を待つことが相違する。第２の実施の形態に係る前記適応型スキャン部１０では、復号化処理での処理時間が適応型スキャン部での処理時間より短い場合であっても、係数入替処理の終了を待つことにより、正常に復号処理を実施できる。
【００７３】
以上の構成を備えた第１及び第２の実施の形態の画像復号化装置１によれば、まず、外部から前記ビットストリーム解析部１１０に１画像分の画像符号化データが入力され、この画像符号化データが解析・分離され、分離後の第１階層データ（ＨＰ係数）、第２階層データ（ＬＰ係数）及び第３階層データ（ＤＣ係数）がＶＬＣ復号化部１２０に入力される。
【００７４】
前記ＶＬＣ復号化部１２０では、前記ビットストリーム解析部１１０で分離された画像符号化データである第１階層データ、第２階層データ及び第３階層データに対して、ＶＬＣ（Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｉｎｇ）復号化処理である可変長復号処理を施し、非ゼロ係数データ及びゼロラン長データを抽出して、前記適応型スキャン部１０に出力する。
【００７５】
前記適応型スキャン部１０では、圧縮時に定められた手法によって画素順を入れ替えられた第１階層データ及び第２階層データについて、ブロック毎に、その係数データを圧縮とは逆の手順によって入れ替え、元の画素順に戻す処理を行い、処理後の第１階層データ及び第２階層データをＤＣ／ＬＰ／ＨＰ逆予測処理部１４０に出力する。前記適応型スキャン部１０では、係数データの入替処理、度数更新処理、比較・置換処理と並行して、ＶＬＣ復号化処理を実行するようにしている。したがって、第１及び第２の実施の形態の適応型スキャン部１０によれば、係数データの入替処理、度数更新処理、比較・置換処理の際に、ＶＬＣ復号化処理を停止する必要があった従来の適応型スキャン部１３０に比べて、その処理時間をＶＬＣ復号化処理の期間に含めてしまうことができ、効率的に係数データの入替処理、度数更新処理、比較・置換処理を行うことができる。尚、ＶＬＣ復号化部１２０から入力された第３階層データは、そのままＤＣ／ＬＰ／ＨＰ逆予測処理部１４０に出力される。
【００７６】
前記ＤＣ／ＬＰ／ＨＰ逆予測処理部１４０では、前記適応型スキャン部１０から入力した、ブロック毎の第１階層データ、第２階層データ、及び第３階層データについて、それぞれ、隣接するブロック間での係数の比較を行って予測モードを導出し、予測モードに対し、設定された演算式に従って、相関の高いブロック間の対応する画素の値を対象画素に足し込むことで、圧縮における予測処理前の画素値を復元（逆予測処理）する。そして、処理後の第１階層データ、第２階層データ及び第３階層データをブロック毎に逆量子化部１５０に出力する。
【００７７】
前記逆量子化部１５０は、前記ＤＣ／ＬＰ／ＨＰ逆予測処理部１４０により逆予測処理された第１階層データ、第２階層データ及び第３階層データを、それぞれ設定された量子化パラメータで乗算して逆量子化する処理を行い、処理後の第１階層データ、第２階層データ及び第３階層データを、ブロック毎に周波数逆変換部１６０に出力する。
【００７８】
前記周波数逆変換部１６０は、前記逆量子化部１５０によって逆量子化された画像データを、４×４画素を一つのブロックとしてラスター方向に順次処理し、各周波数帯域毎の係数データを画素データに変換する処理を行う。この周波数逆変換部１６０は、各周波数帯域毎に分離していた第１階層データ、第２階層データ及び第３階層データを、色成分（Ｙ／Ｕ／Ｖ又はＹ／Ｕ／Ｖ／Ｋ）毎に、１ブロック（４×４画素）の２次元空間データに戻して、前記色空間逆変換部１７０に出力する。
【００７９】
前記色空間逆変換部１７０は、周波数逆変換部１６０から入力された各色成分毎の画像データを画素毎に処理し、色空間逆変換が不要な場合は、色空間逆変換せず、色空間逆変換が必要な場合で、色成分がＹ／Ｕ／Ｖであるときには、ＲＧＢデータに変換し、色成分がＹ／Ｕ／Ｖ／Ｋであるときには、ＣＭＹＫデータに変換し、処理後の画素データを、外部に１画像分の画像データとして出力する。
【００８０】
以上詳述したように、本例の画像復号化装置１によれば、係数データの入替処理、度数更新処理、比較・置換処理の際に、ＶＬＣ復号化処理を停止する必要があった従来の適応型スキャン部１３０に比べて、その処理時間をＶＬＣ復号化処理に期間に含めてしまうことができるので、効率的に係数データの入替処理や置換情報データの更新処理を行うことができ、その結果、従来に比べて、画像復号化装置１全体の処理速度を速めることができ、効率的な復号化処理を実現することができる。また、復号化処理での処理時間が適応型スキャン部での処理時間より短い場合であっても、比較・置換処理部での処理の終了を待って復号化処理を開始する信号を出力できるので、正常に復号処理を実施できる。
【００８１】
以上、本発明の第１及び第２の実施の形態について説明したが、本発明が採り得る具体的な態様は、何らこれに限定されるものではない。例えば、上例では、係数データ入替処理部からＶＬＣ復号化部へ１係数の処理の開始を指示する単係数復号開始信号を、係数データ処理部での係数データ入替処理の開始と同時に出力するが、これに限られるものではなく、係数データ処理部での係数データ入替処理の完了時に出力するようにしても良く、また、可能であれば、度数更新処理部における度数更新処理の終了時に出力するようにしても良い。
【符号の説明】
【００８２】
１    画像復号化装置
１０  適応型スキャン部
２０  係数データ入替処理部
２１  係数データ保持部
２２  入替処理制御部
２３  係数位置座標更新部
２４  係数アドレス保持部
２５  ブロック入替完了信号
３０  係数データ記憶部
４０  入替情報記憶部
５０  度数更新処理部
６０  比較・置換処理部
１００  画像復号化装置
１１０  ビットストリーム解析部
１２０  ＶＬＣ復号化部
１３０  適応型スキャン部
１３１  非ゼロ係数記憶・係数総数累計部
１３２  係数データ入替処理部
１３３  係数データ記憶部
１３４  入替情報記憶部
１３５  度数更新処理部
１３６  比較・置換処理部
１４０  ＤＣ／ＬＰ／ＨＰ逆予測処理部
１４１  非ゼロ係数総数累計部
１４２  係数出力制御部
１４３  非ゼロ係数記憶・出力部
１４４  ゼロラン長記憶・出力部
１４５  係数データ保持部
１４６  入替処理制御部
１４７  係数位置座標更新部
１４８  係数アドレス保持部
１４９  ブロック完了信号生成部
１５０  逆量子化部
１６０  周波数逆変換部
１７０  色空間逆変換部
ＳＴ０  状態０
ＳＴ１  状態１
ＳＴ１ａ  状態１ａ
ＳＴ１ｂ  状態１ｂ
ＳＴ２  状態２
【図１】
2015005857.tif 000003
【図２】
2015005857.tif 000004
【図３】
2015005857.tif 000005
【図４】
2015005857.tif 000006
【図５】
2015005857.tif 000007
【図６】
2015005857.tif 000008
【図７】
2015005857.tif 000009
【図８】
2015005857.tif 000010
【図９】
2015005857.tif 000011
【図１０】
2015005857.tif 000012
【図１１】
2015005857.tif 000013
【図１２】
2015005857.tif 000014
【図１３】
2015005857.tif 000015
【図１４】
2015005857.tif 000016
【図１５】
2015005857.tif 000017
【図１６】
2015005857.tif 000018
【図１７】
2015005857.tif 000019
【図１８】
2015005857.tif 000020
【図１９】
2015005857.tif 000021
【図２０】
2015005857.tif 000022
【図２１】
2015005857.tif 000023
【図２２】
2015005857.tif 000024