(57)【要約】【課題】可変長復号化方法において、値がゼロであるデータを連続して書き込み処理を行っている期間においては、可変長復号化手段は処理ができず、無駄な時間が発生してしまい、高速化が図れない。【解決手段】入力された可変長符号化・ランレングス符号化データを、“０”の個数を表すＲＵＮと係数値の大きさを表すＬＥＶＥＬの組み合わせとして順次復号する可変長復号化手段３と、ＬＥＶＥＬを格納するデータバッファ４と、ＲＵＮによる“０”の個数に基づいてその対となるＬＥＶＥＬのアドレスを保持するアドレスの保持手段５，６と、アドレスの保持手段の情報に基づいてＬＥＶＥＬをデータバッファ４へ書き込む書き込み制御手段７と、アドレスの保持手段の情報に基づいて、データバッファ４からＬＥＶＥＬを読み出す読み出し制御手段８とを備える。【選択図】図１
2006074197.tif 000002
【特許請求の範囲】
【請求項１】
可変長符号化・ランレングス符号化データを復号する可変長復号化装置であって、
外部から入力した前記可変長符号化・ランレングス符号化データを、“０”の個数を表すＲＵＮと係数値の大きさを表すＬＥＶＥＬの組み合わせとして順次復号する可変長復号化手段と、
前記ＬＥＶＥＬを格納するデータバッファと、
前記ＲＵＮによる“０”の個数に基づいてその対となる前記ＬＥＶＥＬのアドレスを保持するアドレスの保持手段と、
前記アドレスの保持手段の情報に基づいて前記ＬＥＶＥＬを前記データバッファへ書き込む書き込み制御手段と、
前記アドレスの保持手段の情報に基づいて、前記データバッファから前記ＬＥＶＥＬを読み出す読み出し制御手段と、
前記アドレスの保持手段の情報に基づいて、前記データバッファに格納されている前記ＬＥＶＥＬと“０”のうちいずれかを選択して出力する選択手段と、
前記選択手段からのデータを後段処理し、外部へ出力する後段処理手段と
を備えた可変長復号化装置。
【請求項２】
前記アドレスの保持手段は、
前記ＲＵＮによる“０”の個数に基づいてその対となる前記ＬＥＶＥＬのアドレスを計算し、前記書き込み制御手段を制御するアドレス加算手段と、
前記アドレス加算手段の結果を記憶し、前記選択手段及び前記読み出し制御手段を制御する情報レジスタと
を含んだ請求項１に記載の可変長復号化装置。
【請求項３】
請求項２に記載の可変長復号化装置において、さらに、前記データバッファへの供給クロックを制御するクロック制御手段を備え、前記クロック制御手段は、前記情報レジスタに格納されているデータの値が“０”であるか否かに関する情報に基づいて、データの値が“０”でない期間にのみ前記データバッファへクロックを供給する可変長復号化装置。
【請求項４】
前記アドレスの保持手段は、前記ＲＵＮによる“０”の個数に基づいてその対となる前記ＬＥＶＥＬのアドレスを記憶し、前記書き込み制御手段、前記読み出し制御手段および前記選択手段を制御するアドレス記憶手段で構成されている請求項１に記載の可変長復号化装置。
【請求項５】
前記データバッファが、１つのアドレスにＬ（Ｌは２以上の自然数）個の前記ＬＥＶＥＬを格納できるように構成され、
前記情報レジスタの値に基づいてＬ個のデータを選択して出力する第２の選択手段を備え、
前記情報レジスタの値に基づいてＬ個のデータを同時に読み出す請求項２から請求項４までのいずれかに記載の可変長復号化装置。
【請求項６】
請求項１または請求項２に記載の可変長復号化装置において、さらに、
前記選択手段からの前記データを格納する第２のデータバッファと、
前記読み出し制御手段の動作と連動して前記第２のデータバッファへの書き込みを制御する第２の書き込み制御手段と、
前記第２のデータバッファの読み出しを制御する第２の読み出し制御手段と、
前記第２のデータバッファからのデータを後段処理し、外部へ出力する前記後段処理手段と
を備えた可変長復号化装置。
【請求項７】
請求項６に記載の可変長復号化装置において、前記選択手段からの前記データを前記後段処理手段にも出力する可変長復号化装置。
【請求項８】
請求項２に記載の可変長復号化装置において、さらに、
前記情報レジスタが前記アドレス加算の結果に基づいて、それぞれ異なる並び順序で格納する情報レジスタを少なくとも１つ以上有する情報レジスタ群と、
前記後段処理手段から、前記復号するデータの特徴を示す特徴情報が得られ、前記特徴情報に基づいて前記情報レジスタ群からいずれかの前記情報レジスタを選択するレジスタ選択手段と
を備えた可変長復号化装置。
【請求項９】
可変長符号化・ランレングス符号化データを復号する可変長復号化装置であって、
外部から入力した前記可変長符号化・ランレングス符号化データを、“０”の個数を表すＲＵＮと係数値の大きさを表すＬＥＶＥＬの組み合わせとして順次復号する可変長復号化手段と、
前記ＬＥＶＥＬを格納する第１のデータバッファと、
前記ＲＵＮによる“０”の個数に基づいてその対となる前記ＬＥＶＥＬのアドレスを計算するアドレス加算手段と、
前記アドレス加算手段の結果を記憶する第１の情報レジスタと、
前記アドレス加算手段からの情報に基づいて前記ＬＥＶＥＬを前記データバッファへ格納する第１の書き込み制御手段と、
前記第１の情報レジスタの値に基づいて、前記第１のデータバッファから前記ＬＥＶＥＬを読み出す第１の読み出し制御手段と、
前記第１の情報レジスタと同一の第２の情報レジスタと、
前記第１のデータバッファからの前記ＬＥＶＥＬを格納する第２のデータバッファと、
前記第１の読み出し制御手段の動作と連動して前記第２のデータバッファへの書き込みを制御する第２の書き込み制御手段と、
前記第２の情報レジスタの値に基づいて前記第２のデータバッファの読み出しを制御する第２の読み出し制御手段と、
前記第２の情報レジスタの値に基づいて前記第２のデータバッファに格納されているＬＥＶＥＬと“０”のうちいずれかを選択する選択手段と、
前記選択手段からの出力データを後段処理し、外部へ出力する後段処理手段と
を備えた可変長復号化装置。
【請求項１０】
請求項９に記載の可変長復号化装置において、さらに、
前記第２のデータバッファを初期化する初期化手段を備え、
前記第２のデータバッファが読み出し終了後に前記初期化手段により初期化される可変長復号化装置。
【請求項１１】
請求項６に記載の可変長復号化装置において、さらに、
前記第２のデータバッファも含め少なくとも１つ以上並ぶデータバッファ群と、
前記複数のデータバッファからの読み出したデータを選択する第２の選択手段とを備え、
前記第１のデータバッファからのデータを交互に前記複数のデータバッファへ格納する可変長復号化装置。
【請求項１２】
前記情報レジスタと前記データバッファと前記書き込み制御手段と前記読み出し制御手段とを１系統とする処理系統を複数個所有し、
どの処理系統に属する前記データバッファから前記後段処理手段へ出力するかを切り替え制御する切り替え手段を備え、
前記処理系統の１つにおける前記データバッファへの書き込み処理と、他の処理系統における前記データバッファへの読み出し処理とを同時に行う請求項１から請求項１１までのいずれかに記載の可変長復号化装置。
【請求項１３】
請求項２に記載の可変長復号化装置において、さらに、
前記データバッファが書き込みポートと、独立した読み出しが可能な読み出しポートとを備えたメモリで構成されており、
前記情報レジスタが少なくとも１つ以上のブロックに対応するビット長を持ち、
前記データバッファへ前記ＬＥＶＥＬが書き込まれると前記読み出し制御手段による読み出しが開始され、前記データバッファへの書き込みと読み出しが並行して行われる可変長復号化装置。
【請求項１４】
請求項１から請求項１３までのいずれかに記載の可変長復号化装置において、前記後段処理手段は逆量子化処理手段である可変長復号化装置。
【請求項１５】
可変長符号化・ランレングス符号化データを復号する復号化方法であって、
前記可変長符号化・ランレングス符号化データを順次入力するステップと、
入力された前記可変長符号化・ランレングス符号化データを、“０”の個数を表すＲＵＮと係数値の大きさを表すＬＥＶＥＬの組み合わせとして順次復号するステップと、
前記ＲＵＮによる“０”の個数に基づいてその対となる前記ＬＥＶＥＬのアドレスを保持するステップと、
前記アドレスに基づいて前記ＬＥＶＥＬを前記データバッファへ格納するステップと、
前記アドレスに基づいて前記データバッファから前記ＬＥＶＥＬを読み出すステップと、
前記アドレスに基づいて前記データバッファに格納されている前記ＬＥＶＥＬと“０”のうちいずれかを選択して出力するステップと、
前記選択されたデータを後段処理するステップと、
前記後段処理したデータを出力するステップと
を含む可変長復号化方法。
【請求項１６】
前記アドレスを保持するステップは、
前記ＲＵＮによる“０”の個数に基づいてその対となる前記ＬＥＶＥＬのアドレスを計算するステップと、
前記アドレスに基づくフラグを情報レジスタに記憶するステップとからなる請求項１５に記載の可変長復号化方法。
【請求項１７】
前記アドレスを保持するステップは、前記ＲＵＮによる“０”の個数に基づいてその対となる前記ＬＥＶＥＬのアドレスを直接に記憶するものである請求項１５に記載の可変長復号化方法。
【請求項１８】
請求項１５に記載の可変長復号化方法において、さらに、
前記選択手段からのデータを第２のデータバッファへ格納するステップと、
前記第２のデータバッファからデータを読み出すステップと、
前記第２のデータバッファからのデータを前記後段処理するステップと、
後段処理されたデータを出力するステップとを含み、
第２のデータバッファが書き込める状態であれば、前記選択されたデータを第２のデータバッファへ格納する可変長復号化方法。
【請求項１９】
請求項１８に記載の可変長復号化方法において、
前記第１のデータバッファへの格納は復号されたＬＥＶＥＬをアドレスの小さい方から詰めて格納し、第２のデータバッファへ書き込む際に所定の走査順に変換して出力する可変長復号化方法。
【請求項２０】
請求項１８に記載の可変長復号化方法において、
前記第１のデータバッファへの格納は復号されたＬＥＶＥＬをアドレスの小さい方から詰めて格納し、第２のデータバッファから読み出す際に所定の走査順に変換して出力する可変長復号化方法。
【請求項２１】
請求項１８に記載の可変長復号化方法において、さらに、
ＤＣ係数を転送するステップと、ＤＣ係数に基づいて前記復号するデータの特徴を判定するステップとを含み、
前記第２のデータバッファから判定された復号データの特徴によって決定されたデータの並びでデータを読み出すステップと、
第２のデータバッファからのデータを後段処理するステップと、
後段処理されたデータを出力するステップを含む可変長復号化方法。
【請求項２２】
請求項１８に記載の可変長復号化方法において、さらに、
第１の情報レジスタの結果を第２の情報レジスタに格納するステップと、
第２のデータバッファに第１のデータバッファから読み出されたＬＥＶＥＬを格納するステップと、
第２の情報レジスタの値に基づいて、第２のデータバッファからＬＥＶＥＬを読み出すステップと、
第２の情報レジスタの値に基づいて第２のデータバッファに格納されているＬＥＶＥＬと“０”のうちいずれかを選択するステップをさらに含み、
第２のデータバッファが書き込める状態であれば、前記第１のデータバッファからのＬＥＶＥＬを格納する可変長復号化方法。
【請求項２３】
請求項１８に記載の可変長復号化方法において、さらに、
前記第２のデータバッファを初期化するステップを含み、
前記第２のデータバッファからの読み出しが終了後、前記第２のデータバッファを初期化する可変長復号化方法。
【請求項２４】
請求項１５に記載の可変長復号化方法において、
データバッファが書き込みポートと、独立した読み出しが可能な読み出しポートとを備えたメモリで構成されており、
ＬＥＶＥＬをデータバッファへアドレスの小さい方から詰めて格納するステップと、
１つでもデータバッファへ格納された時点で読み出しを開始するステップと、
復号すべきＬＥＶＥＬのデータバッファへの書き込み位置が読み出された後であるか判断するステップと、
後でなければ復号化を一時停止するステップと、
書き込み可能になった時点で復号化を再開するステップ
とを含む可変長復号化方法。
【請求項２５】
請求項１５から請求項２４までのいずれかに記載の可変長復号化方法において、
前記後段処理ステップは逆量子化ステップである可変長復号化方法。
【請求項２６】
請求項１から請求項１４までのいずれかに記載の可変長復号化装置を含んで画像処理を行う画像処理回路と、
前記画像処理回路へ画像信号を出力するセンサと、
前記センサへ光を結像する光学系とを備えた撮像システム。
【請求項２７】
請求項２６に記載の撮像システムにおいて、
前記センサから得た画像信号をデジタル信号に変換して前記画像処理回路へ供給する変換器をさらに備えた撮像システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ランレングス符号化と可変長符号化を用いた符号データを可変長復号及びランレングス復号する復号化方法及びその復号化装置に関する。特には、圧縮された画像データを伸張する画像伸張技術で用いられている可変長復号化方法及びその可変長復号化装置に関する。また、撮像システムに関する。
【背景技術】
【０００２】
ランレングス符号及び可変長符号を用いる圧縮伸張方法は、画像データの一般的な圧縮技術であるＪＰＥＧ（Joint Photographic Experts Group）やＭＰＥＧ（Moving Picture Experts Group）で用いられており、ディジタルカメラやディジタルビデオカメラの普及、通信技術の発達に伴い、少ない情報量でデータ転送が行える技術として広く普及している。
【０００３】
代表的な画像圧縮装置の構成を図３６に示し、以下この図を用いて説明する。
【０００４】
あらかじめ１ブロック８×８個に分割され、順次入力されてきた画像データに対して、離散コサイン変換のＤＣＴ（Discrete Cosine Transform）部１０１で周波数変換を行い、ＤＣＴ係数を生成する。自然画像ではたいてい色の変化が滑らかであり、周波数変換を行うと、図３７に示す低周波領域ｍに大きな値のＤＣＴ係数が集中し、高周波領域ｎには小さな値を持つＤＣＴ係数が分布される。特に左上隅の係数ｏは周波数成分を持たないＤＣ成分と呼ばれ、それ以外の係数はＡＣ成分と呼ばれる。
【０００５】
ＤＣＴ係数に対して量子化部１０２で予め設定された量子化値でＤＣＴ係数を除算し、量子化係数を生成する。この処理により画質的に影響を与えない高周波領域に“０”の係数を集中させることが可能となる。
【０００６】
さらに、可変長符号化部１０３において図３８に示すようなジグザグスキャンの順で順次“０”の個数を表すＲＵＮと係数値の大きさを表すＬＥＶＥＬとを組み合わせ、ランレングスデータを生成し、その組み合わせの出現率に合わせて長さの異なる符号語を割り当て、データの容量を小さくする。
【０００７】
一方、上記構成によって符号化された可変長符号データを復号する画像伸張装置は図３９に示すように、上記画像圧縮装置に対応する可変長復号化部１０４、逆量子化部１０５、逆ＤＣＴ部１０６から構成される。
【０００８】
可変長復号化部１０４では“０”の個数を表すＲＵＮと係数値の大きさを表すＬＥＶＥＬの組み合わせとして復号し、ＲＵＮの大きさ分だけ“０”係数を生成し、ＬＥＶＥＬで表される係数と組み合わされる。この動作が８×８画素分生成されるまで繰り返される。
【０００９】
生成された８×８個分の係数は逆量子化部１０５において予め設定された量子化値で乗算されて逆量子化ＤＣＴ係数が得られ、さらに、逆ＤＣＴ部１０６において周波数領域から空間領域へ変換されることで画像データが復号される。
【００１０】
この従来の可変長復号化部１０４の構成について図４０を用いて説明する。
【００１１】
入力手段１０７から入力される可変長符号データを可変長復号化手段１０８において“０”の個数を表すＲＵＮと係数値の大きさを表すＬＥＶＥＬの組み合わせとして復号する。書き込み制御手段１０９は復号されたＲＵＮの個数だけデータバッファ１１２へ“０”を書き込むようにセレクタ１１０に選択信号を供給し、ＲＵＮの個数だけ“０”を書き込んだ後、ＬＥＶＥＬで表される係数をデータバッファ１１２へ書き込む。この動作が８×８画素分生成されるまで繰り返された後、読み出し制御手段１１１によってデータバッファ１１２からジグザグスキャン（図３８）で順次読み出し、出力手段１１３から逆量子化部１５へ出力する。
【００１２】
しかしながら、上記従来の構成では、ＲＵＮの個数分だけ“０”である係数を連続して書き込みしている期間では、可変長復号化手段１０８において処理することができず、無駄な時間が発生してしまい、高速化が図れないという問題があった。
【００１３】
上記問題の１つの解決案として、松下電器産業（株）が平成８年に特許文献１において公開しているランレングス符号の復号回路がある。その１つの例について図４１を用いて説明する。
【００１４】
第１のデータバッファ１１６及び第２のデータバッファ１１７に格納されているデータワードを予めすべて“０”に初期化しておき、入力手段１１４から入力される可変長符号データを可変長復号化手段１１５において“０”の個数を表すＲＵＮと係数値の大きさを表すＬＥＶＥＬの組み合わせとして復号し、ＬＥＶＥＬデータを選択手段１２２及び１２３に供給する。一方、復号されたＲＵＮデータはアドレス加算手段１１８に供給され、ＲＵＮの値のみ線形的に加算された値を書き込み制御手段１１９に出力し、書き込み制御手段１１９においてジグザグスキャンアドレスに変換され、選択手段１２４及び１２５に出力される。またアドレス加算手段１１８は選択手段１２２及び１２４と選択手段１２３及び１２５に対していずれか片方に選択信号として“Ｈ”レベルを、もう片方に“Ｌ”レベルを供給する機能を備え、８×８画素分の処理が終了する度に選択信号の論理レベルを反転する。
【００１５】
読み出し制御手段１２０は、アドレス加算手段１１８が選択手段１２２及び１２４に“Ｈ”レベルを供給しているときは、データバッファ１１７へ読み出しアドレスを出力し、選択手段１２３及び１２５に“Ｈ”レベルを供給しているときはデータバッファ１１６へ読み出しアドレスを出力する。読み出し制御手段１２０からの読み出しアドレスに応じてデータバッファ１１６または１１７どちらか片方から出力データが出力手段１２６または１２７から出力される。
【００１６】
初期化手段１２１は読み出し制御手段１２０からデータバッファ１１６または１１７に読み出しアドレスが出力されたときに、同じアドレスを少し遅れたタイミングで初期化アドレスとして選択手段１２４または１２５へ出力する。
【００１７】
選択手段１２２，１２３はアドレス加算手段１１８からの選択信号が“Ｈ”レベルのとき、可変長復号化手段１１５からのＬＥＶＥＬデータを該当するデータバッファ１１６または１１７に出力し、選択信号が“Ｌ”レベルのとき、“０”を出力する。
【００１８】
選択手段１２４，１２５はアドレス加算手段１１８からの選択信号が“Ｈ”レベルのとき、書き込み制御手段１１９からのジグザグスキャンアドレスを出力し、“Ｌ”レベルのとき、初期化手段１２１からの初期化アドレスを出力する。
【００１９】
アドレス加算手段１１８及び読み出し制御手段１２０のアドレスは８×８画素分の処理が終了する度に初期値に初期化される。
【００２０】
図４１の復号回路によれば、第１のデータバッファ１１６に格納されているすべてのデータが“０”に初期化された後に、復号されたランレングス符号に基づいてＬＥＶＥＬデータのみがジグザグスキャンアドレスで指定された位置の“０”に上書きされる。このようにして１個のブロックを構成する８×８画素成分のうち非“０”の成分のみが第１のデータバッファ１１６に書き込まれている間に第２のデータバッファ１１７に格納されている１個のブロックの読み出し及び初期化が行われる。
【００２１】
上記の従来の技術によれば、データバッファへ格納されているデータを予め“０”に初期化しておき、ランレングス符号に基づいてＬＥＶＥＬデータのみをデータバッファの対応する位置に書き込むことで１個のブロックを構成する８×８画素成分の非“０”の成分の個数に応じて１個のブロックの処理を削減することができる。
【特許文献１】特開平８−１６７８５６号公報（第４−７頁、第１図）
【発明の開示】
【発明が解決しようとする課題】
【００２２】
しかしながら、上記従来の構成では、データバッファを初期化する初期化手段が必要であり、さらに、データバッファからすべて読み出す必要があるため、読み出し時の復号化処理の待ち時間とデータバッファへのアクセスを削減することができないという問題があった。
【００２３】
本発明の目的は、上記問題点を解決するために、初期化手段を不要とし、読み出し時の処理時間を短くすることで、より高効率の可変長復号化装置及び方法を提供することにある。
【課題を解決するための手段】
【００２４】
上記目的を達成するために本発明の可変長復号化装置は、
可変長符号化・ランレングス符号化データを復号する可変長復号化装置であって、
外部から入力した前記可変長符号化・ランレングス符号化データを、“０”の個数を表すＲＵＮと係数値の大きさを表すＬＥＶＥＬの組み合わせとして順次復号する可変長復号化手段と、
前記ＬＥＶＥＬを格納するデータバッファと、
前記ＲＵＮによる“０”の個数に基づいてその対となる前記ＬＥＶＥＬのアドレスを保持するアドレスの保持手段と、
前記アドレスの保持手段の情報に基づいて前記ＬＥＶＥＬを前記データバッファへ書き込む書き込み制御手段と、
前記アドレスの保持手段の情報に基づいて、前記データバッファから前記ＬＥＶＥＬを読み出す読み出し制御手段と、
前記アドレスの保持手段の情報に基づいて、前記データバッファに格納されている前記ＬＥＶＥＬと“０”のうちいずれかを選択して出力する選択手段と、
前記選択手段からのデータを後段処理し、外部へ出力する後段処理手段と
を備えた構成とされている。ここでの技術的特徴は、アドレスの保持手段と選択手段の組み合わせにより、データバッファから読み出すのをＬＥＶＥＬに限定したことである。
【００２５】
このような構成により、必要最低限の構成で、アドレスの保持手段の情報に基づいてＬＥＶＥＬのみを読み出すことで、データバッファへのアクセスを削減できることから、低消費電力の可変長復号化手段を提供することが可能となる。
【００２６】
上記構成の可変長復号化装置において、前記アドレスの保持手段については、前記ＲＵＮによる“０”の個数に基づいてその対となる前記ＬＥＶＥＬのアドレスを計算し、前記書き込み制御手段を制御するアドレス加算手段と、前記アドレス加算手段の結果を記憶し、前記選択手段及び前記読み出し制御手段を制御する情報レジスタとを含んだ構成は、好ましいものの１つである。
【００２７】
このような構成により、必要最低限の構成で、情報レジスタに格納されている情報に基づいてＬＥＶＥＬのみを読み出すことで、データバッファへのアクセスを削減できることから、低消費電力の可変長復号化手段を提供することが可能となる。
【００２８】
上記の構成において、情報レジスタに対する情報格納については、入力されたＲＵＮに基づいて復号順に格納されることが好ましい。
【００２９】
また、本発明の可変長復号化装置は、さらに、前記データバッファへの供給クロックを制御するクロック制御手段を備え、前記クロック制御手段は、前記情報レジスタに格納されている値（データバッファでのデータの値が“０”であるか否かに関する情報）に基づいて、データの値が“０”でない期間にのみ前記データバッファへクロックを供給することが好ましい。
【００３０】
このような構成により、データバッファへのクロック供給の期間を制限するので、低消費電力の可変長復号化手段を提供することが可能となる。
【００３１】
また、上記構成の可変長復号化装置において、前記アドレスの保持手段については、前記ＲＵＮによる“０”の個数に基づいてその対となる前記ＬＥＶＥＬのアドレスを記憶し、前記書き込み制御手段、前記読み出し制御手段および前記選択手段を制御するアドレス記憶手段で構成されていることが好ましい。
【００３２】
このような構成により、必要最低限の構成で、アドレス記憶手段に基づいてＬＥＶＥＬのみを読み出すことで、データバッファへのアクセスを削減できることから、低消費電力の可変長復号化手段を提供することが可能となる。
【００３３】
また、本発明の可変長復号化装置は、
前記データバッファが、１つのアドレスにＬ（Ｌは２以上の自然数）個の前記ＬＥＶＥＬを格納できるように構成され、
前記情報レジスタの値に基づいてＬ個のデータを選択して出力する第２の選択手段を備え、
前記情報レジスタの値に基づいてＬ個のデータを同時に読み出すという構成が好ましい。
【００３４】
このような構成により、情報レジスタを複数ビット同時に判断できることから、データバッファに対するアクセス時間をさらに短くすることができ、低消費電力の可変長復号化手段を提供することが可能となる。
【００３５】
また、本発明の可変長復号化装置は、
外部から入力した前記可変長符号化・ランレングス符号化データを、“０”の個数を表すＲＵＮと係数値の大きさを表すＬＥＶＥＬの組み合わせとして順次復号する可変長復号化手段と、
前記ＬＥＶＥＬを格納する第１のデータバッファと、
前記ＲＵＮによる“０”の個数に基づいてその対となる前記ＬＥＶＥＬのアドレスを保持するアドレスの保持手段（前述同様のアドレス加算手段と情報レジスタの組み合わせ、または、前述同様のアドレス記憶手段）と、
前記アドレスの保持手段の情報に基づいて前記ＬＥＶＥＬを前記第１のデータバッファへ書き込む第１の書き込み制御手段と、
前記情報レジスタの値に基づいて、前記第１のデータバッファからＬＥＶＥＬを読み出す第１の読み出し制御手段と、
前記情報レジスタの値に基づいて、前記第１のデータバッファに格納されているＬＥＶＥＬと“０”のうちいずれかを選択する選択手段と、
前記選択手段からのデータを格納する第２のデータバッファと、
前記第１の読み出し制御手段の動作と連動して前記第２のデータバッファへの書き込みを制御する第２の書き込み制御手段と、
前記第２のデータバッファの読み出しを制御する第２の読み出し制御手段と、
前記第２のデータバッファからのデータを後段処理し、外部へ出力する後段処理手段と
を備えたものである。
【００３６】
このような構成により、第１のデータバッファのデータが後段処理手段の処理を待たずに出力できることで、次の可変長復号が行え、さらに復号化処理を高速化することが可能となる。
【００３７】
また、本発明の可変長復号化装置は、選択手段からのデータを第２のデータバッファへの出力に加え後段手段に出力する構成とすることが好ましい。
【００３８】
このような構成により、後段手段の処理が早い場合、第２のデータバッファへの書き込みを回避することで、結果として復号化処理全体の高速化が可能となる。
【００３９】
また、本発明の可変長復号化装置は、上記のアドレス加算手段をもつ可変長復号化装置において、さらに、
前記情報レジスタが前記アドレス加算の結果に基づいて、それぞれ異なる並び順序で格納する情報レジスタを少なくとも１つ以上有する情報レジスタ群と、
前記後段処理手段から、前記復号するデータの特徴を示す特徴情報が得られ、前記特徴情報に基づいて前記情報レジスタ群からいずれかの前記情報レジスタを選択するレジスタ選択手段と
を備えた構成も好ましい。
【００４０】
このような構成により、ＭＰＥＧ−４などの複数の走査モードを有する可変長復号化においても実現することができる。
【００４１】
また、本発明の可変長復号化装置は、
可変長符号化・ランレングス符号化データを復号する可変長復号化装置であって、
外部から入力した前記可変長符号化・ランレングス符号化データを、“０”の個数を表すＲＵＮと係数値の大きさを表すＬＥＶＥＬの組み合わせとして順次復号する可変長復号化手段と、
前記ＬＥＶＥＬを格納する第１のデータバッファと、
前記ＲＵＮによる“０”の個数に基づいてその対となる前記ＬＥＶＥＬのアドレスを計算するアドレス加算手段と、
前記アドレス加算手段の結果を記憶する第１の情報レジスタと、
前記アドレス加算手段からの情報に基づいて前記ＬＥＶＥＬを前記データバッファへ格納する第１の書き込み制御手段と、
前記第１の情報レジスタの値に基づいて、前記第１のデータバッファから前記ＬＥＶＥＬを読み出す第１の読み出し制御手段と、
前記第１の情報レジスタと同一の第２の情報レジスタと、
前記第１のデータバッファからの前記ＬＥＶＥＬを格納する第２のデータバッファと、
前記第１の読み出し制御手段の動作と連動して前記第２のデータバッファへの書き込みを制御する第２の書き込み制御手段と、
前記第２の情報レジスタの値に基づいて前記第２のデータバッファの読み出しを制御する第２の読み出し制御手段と、
前記第２の情報レジスタの値に基づいて前記第２のデータバッファに格納されているＬＥＶＥＬと“０”のうちいずれかを選択する選択手段と、
前記選択手段からの出力データを後段処理し、外部へ出力する前記後段処理手段と、
を備えた構成とされている。
【００４２】
このような構成により、第１と第２のデータバッファ間の転送がＬＥＶＥＬのみとなり、結果として可変長復号化の高速化が可能となる。
【００４３】
また、本発明の可変長復号化装置は、さらに、第２のデータバッファを初期化する初期化手段を備えることが好ましい。
【００４４】
このような構成により、第１のデータバッファからのＬＥＶＥＬと“０”のうちいずれかを選択する選択手段が不要になり、第１と第２のデータバッファ間の転送がＬＥＶＥＬのみとなり、結果として必要最小限の構成で可変長復号化の高速化が可能となる。
【００４５】
また、本発明の可変長復号化装置は、上記の第２のデータバッファ、第２の書き込み制御手段および第２の読み出し制御手段を備えた可変長復号化装置において、さらに、
前記第２のデータバッファも含め少なくとも１つ以上並ぶデータバッファ群と、
前記複数のデータバッファからの読み出したデータを選択する第２の選択手段とを備え、
前記第１のデータバッファからのデータを交互に前記複数のデータバッファへ格納するものである。
【００４６】
このような構成により、第１のデータバッファのデータが後段処理手段の処理を待たずに出力できることで、次の可変長復号が行え、さらに復号化処理を高速化することが可能となる。
【００４７】
また、本発明の可変長復号化装置は、
前記情報レジスタと前記データバッファと前記書き込み制御手段と前記読み出し制御手段とを１系統とする処理系統を複数個所有し、
どの処理系統に属する前記データバッファから前記後段処理手段へ出力するかを切り替え制御する切り替え手段を備え、
前記処理系統の１つにおける前記データバッファへの書き込み処理と、他の処理系統における前記データバッファへの読み出し処理とを同時に行うものである。
【００４８】
このような構成により、データの書き込みと読み出しを同時に行うようにすることで、データバッファからの読み出し時間を待つことなくデータ転送が可能となる。これにより可変長復号化の処理時間を短縮することができ、全体としての復号化処理を高速化することが可能となる。
【００４９】
また、本発明の可変長復号化装置は、さらに、
前記データバッファが書き込みポートと、独立した読み出しが可能な読み出しポートとを備えたメモリで構成されており、
前記情報レジスタが少なくとも１つ以上のブロックに対応するビット長を持ち、
前記データバッファへ前記ＬＥＶＥＬが書き込まれると前記読み出し制御手段による読み出しが開始され、前記データバッファへの書き込みと読み出しが並行して行われる。
【００５０】
このような構成により、データの書き込みと読み出しを同時に行うようにすることで、データバッファからの読み出し時間を待つことなくデータ転送が可能となる。これにより可変長復号化の処理時間を短縮することができ、必要最小限の構成で全体としての復号化処理を高速化することが可能となる。
【００５１】
次に、上記目的を達成するために本発明の可変長復号化方法は、
可変長符号化・ランレングス符号化データを復号する復号化方法であって、
前記可変長符号化・ランレングス符号化データを順次入力するステップと、
入力された前記可変長符号化・ランレングス符号化データを、“０”の個数を表すＲＵＮと係数値の大きさを表すＬＥＶＥＬの組み合わせとして順次復号するステップと、
前記ＲＵＮによる“０”の個数に基づいてその対となる前記ＬＥＶＥＬのアドレスを保持するステップと、
前記アドレスに基づいて前記ＬＥＶＥＬを前記データバッファへ格納するステップと、
前記アドレスに基づいて前記データバッファから前記ＬＥＶＥＬを読み出すステップと、
前記アドレスに基づいて前記データバッファに格納されている前記ＬＥＶＥＬと“０”のうちいずれかを選択して出力するステップと、
前記選択されたデータを後段処理するステップと、
前記後段処理したデータを出力するステップと
を含むものである。
【００５２】
この方法により、情報レジスタに格納されている値を判断することで、データに対する読み出しと選択手段からの出力を制御することができる。これにより情報レジスタに格納されている情報に基づいて、ＬＥＶＥＬのみを読み出すことで、データバッファへのアクセスを削減できることから、低消費電力の可変長復号化手段を提供することが可能となる。
【００５３】
また、本発明の可変長復号化方法は、
入力されたデータを、“０”の個数を表すＲＵＮと係数値の大きさを表すＬＥＶＥＬの組み合わせとして順次復号して可変長復号化するステップと、
ＲＵＮによる“０”の個数に基づいてその対となるＬＥＶＥＬのアドレスを計算しアドレスを加算するステップと、
アドレスを加算した結果情報を記憶する情報レジスタに格納するステップと、
アドレスを加算した結果に基づいてＬＥＶＥＬを第１のデータバッファへ格納するステップと、
第２のデータバッファが書き込める状態であれば、情報レジスタに格納されている情報に基づいて、第１のデータバッファからＬＥＶＥＬを読み出すステップと、
情報レジスタに格納されている情報に基づいて、第１のデータバッファに格納されているＬＥＶＥＬと“０”のうちいずれかを選択するステップと、
選択手段からのデータを第２のデータバッファへ格納するステップと、
第２のデータバッファからデータを読み出すステップと、
第２のデータバッファからのデータを後段処理するステップと、
後段処理されたデータを出力するステップを含むものである。
【００５４】
この方法により、第１のデータバッファのデータが後段処理の処理を待たずに出力できることで、次の可変長復号が行え、さらに復号化処理を高速化することが可能となる。
【００５５】
また、本発明の可変長復号化方法は、
第１のデータバッファへの格納は復号されたＬＥＶＥＬをアドレスの小さい方から詰めて格納し、第２のデータバッファへ書き込む際にスキャン変換してもよいし、第２バッファから読み出す際にスキャン変換してもよい。
【００５６】
この結果、第１のデータバッファのアドレス計算は不要となり、データバッファへのアクセスを容易にすることが可能となる。
【００５７】
また、本発明の可変長復号化方法は、
入力されたデータを、“０”の個数を表すＲＵＮと係数値の大きさを表すＬＥＶＥＬの組み合わせとして順次復号して可変長復号化するステップと、
ＲＵＮによる“０”の個数に基づいてその対となるＬＥＶＥＬのアドレスを計算しアドレスを加算するステップと、
アドレスを加算した結果情報を記憶する情報レジスタに格納するステップと、
アドレスを加算した結果に基づいてＬＥＶＥＬを第１のデータバッファへ格納するステップと、
ＤＣ係数を転送するステップと、ＤＣ係数に基づいて復号するデータの特徴を判定するステップと、
第２のデータバッファが書き込める状態であれば、情報レジスタに格納されている情報に基づいて、第１のデータバッファからＬＥＶＥＬを読み出すステップと、
情報レジスタに格納されている情報に基づいて、第１のデータバッファに格納されているＬＥＶＥＬと“０”のうちいずれかを選択するステップと、
選択手段からのデータを第２のデータバッファへ格納するステップと、
第２のデータバッファから判定された復号データの特徴によって決定されたデータの並びでデータを読み出すステップと、
第２のデータバッファからのデータを後段処理するステップと、
後段処理されたデータを出力するステップを含むものである。
【００５８】
この方法によりＭＰＥＧ−４などの複数の走査モードを有する可変長復号化においても実現することができる。
【００５９】
また、本発明の可変長復号化方法は、
第１の情報レジスタの結果を第２の情報レジスタに格納するステップと、
第２のデータバッファに第１のデータバッファから読み出されたＬＥＶＥＬを格納するステップと、
第２の情報レジスタの値に基づいて、第２のデータバッファからＬＥＶＥＬを読み出すステップと、第２の情報レジスタの値に基づいて第２のデータバッファに格納されているＬＥＶＥＬと“０”のうちいずれかを選択するステップをさらに含むことが好ましい。
【００６０】
この方法により、第１と第２のデータバッファ間の転送がＬＥＶＥＬのみとなり、結果として可変長復号化の高速化が可能となる。
【００６１】
また、本発明の可変長復号化方法は、
第２のデータバッファを初期化するステップをさらに含むことが好ましい。
【００６２】
この方法により、第１のデータバッファからのＬＥＶＥＬと“０”のうちいずれかを選択する選択手段が不要になり、第１と第２のデータバッファ間の転送がＬＥＶＥＬのみとなり、結果として可変長復号化の高速化が可能となる。
【００６３】
また、本発明の可変長復号化方法は、
情報レジスタが少なくとも１つ以上の復号するブロックに対応するビット長を持ち、
データバッファが書き込みポートと、独立した読み出しが可能な読み出しポートとを備えたメモリで構成されており、
ＬＥＶＥＬをデータバッファへアドレスの小さい方から詰めて格納するステップと、
１つでもデータバッファへ格納された時点で読み出しを開始するステップと、
復号すべきＬＥＶＥＬのデータバッファへの書き込み位置が読み出された後であるか判断するステップと、後でなければ復号化を一時停止するステップと、書き込み可能になった時点で復号化を再開するステップを含むことが好ましい。
【００６４】
この方法により、データの書き込みと読み出しを同時に行うようにすることでデータバッファからの読み出し時間を待つことなくデータ転送が可能となる。これにより可変長復号化の処理時間を短縮することができ全体としての復号化処理を高速化することが可能となる。
【００６５】
次に、本発明の第１の撮像システムは、前記のいずれかの可変長復号化装置を含んで画像処理を行う画像処理回路と、画像処理回路へ画像信号を出力するセンサと、前記センサへ光を結像する光学系とを備えたものである。
【００６６】
このような構成により、可変長復号の高速実行に伴って画像処理の高速化が期待できる。
【００６７】
本発明の第２の撮像システムは、第１の撮像システムにおいて、センサから得た画像信号をデジタル信号に変換して画像処理回路へ供給する変換器をさらに備えたものである。
【００６８】
このような構成により、デジタル信号処理の利点を発揮することができる。
【発明の効果】
【００６９】
本発明によれば、データバッファに格納されたデータに対する情報をアドレスの保持手段（アドレス加算手段と情報レジスタの組み合わせまたはアドレス記憶手段）によって把握し、ゼロ以外のデータのみを読み出すので、読み出し時間を短縮化し、全体として可変長復号化を高速化することができ、さらに低消費電力を実現できる。
【発明を実施するための最良の形態】
【００７０】
以下、本発明にかかわる可変長復号化装置の実施の形態を図面に基づいて詳細に説明する。
【００７１】
（実施の形態１）
以下、本発明の実施の形態１の可変長復号化装置について図面を参照しながら説明する。
【００７２】
図１に本発明の実施の形態１における可変長復号化装置の概略構成を示し、以下に説明する。なお、本実施の形態においては、１ブロックのデータが８×８個の場合について説明する。
【００７３】
図１において、２は可変長符号化・ランレングス符号化データを入力する入力手段、３は入力手段２から入力されたデータを、“０”の個数を表すＲＵＮと係数値の大きさを表すＬＥＶＥＬの組み合わせとして順次復号する可変長復号化手段、４は前記ＬＥＶＥＬを格納するデータバッファ、５は前記ＲＵＮによる“０”の個数に基づいてその対となる前記ＬＥＶＥＬのアドレスを計算するアドレス加算手段、６はアドレス加算手段５の結果を記憶するｍ×ｎビットの情報レジスタ、７はアドレス加算手段５からの情報に基づいて前記ＬＥＶＥＬをデータバッファ４へ格納する書き込み制御手段、８は情報レジスタ６の値に基づいてデータバッファ４から前記ＬＥＶＥＬを読み出す読み出し制御手段、９は情報レジスタ６の値に基づいて、データバッファ４に格納されている前記ＬＥＶＥＬと“０”のうちいずれかを選択して出力する選択手段、１０は選択手段９からのデータを後段処理する後段処理手段、１１は後段処理手段１０からのデータを出力する出力手段である。
【００７４】
図２は、本発明の実施の形態１の可変長復号化装置における処理の流れ図である。図２に従って処理の流れについて説明する。
【００７５】
まず入力手段２から可変長符号化・ランレングス符号化データを入力し、可変長復号化手段３で“０”の個数を表すＲＵＮと係数値の大きさを表すＬＥＶＥＬの組み合わせとして順次復号化する（ステップＳ１）。
【００７６】
さらに、復号化されたＲＵＮの大きさに基づいてアドレス加算手段５において図３８に示すジグザグスキャンの順に、すなわち１→２→９→１７・・・という順にアドレスを計算する（ステップＳ２）。
【００７７】
また、情報レジスタ６において、図３に示すようにＲＵＮの大きさ分だけジグザグスキャン順に例えば“０”を連続して記憶し、その後の位置にＬＥＶＥＬのアドレスとして例えば“１”を記憶する（ステップＳ３）。
【００７８】
書き込み制御手段７では、アドレス加算手段５において求めたアドレスにＬＥＶＥＬを書き込む（ステップＳ４）。
【００７９】
１ブロック分のＬＥＶＥＬの書き込みが終了したかを判断し、まだのときはステップＳ１に戻り、終了したときは読み出しの処理に進む（ステップＳ５）。
【００８０】
可変長復号化手段３から１ブロックに相当するＲＵＮとＬＥＶＥＬの組み合わせが復号され、ＬＥＶＥＬが書き込まれた後（ステップＳ５でＹｅｓ）、読み出し制御手段８は後段処理手段１０からの読み出し許可を示す制御信号を受けて情報レジスタ６を判断し（ステップＳ６）、情報レジスタ６に“１”が格納されているビットに相当するアドレスをデータバッファ４に対して出力し、そのアドレスに格納されているＬＥＶＥＬを読み出す（ステップＳ７）。アドレスの遷移は例えば図４に示す遷移となる。選択手段９では読み出し制御手段８が情報レジスタ６を判断するのと同時に、情報レジスタ６のビットが“０”の場合は“０”を後段処理手段１０に出力し、“１”の場合はデータバッファ４からの出力データＬＥＶＥＬを出力する（ステップＳ７）。
【００８１】
後段処理手段１０では選択手段９からのデータを後段処理し（ステップＳ８）、出力手段１１から処理データを出力する（ステップＳ９）。
【００８２】
〔情報レジスタ判定〕
情報レジスタ６の各ビットを一度に判断し、情報レジスタ６に“１”が格納されているビットに相当するアドレスを読み出し制御手段８から順次データバッファ４に対して出力し、選択手段９では情報レジスタ６の値が“０”の数だけ（図３の区間ａ）、“０”を後段処理手段１０に出力してもよい。
【００８３】
〔クロック制御〕
また、図５に示すように、情報レジスタ６の値に基づいてデータバッファ４へのクロック供給を制御するクロック制御手段１２をさらに備えてもよい。
【００８４】
〔リードイネーブル制御〕
また、図６に示すように、情報レジスタ６の値に基づいてデータバッファ４への読み出し信号ｂを制御してもよい。
【００８５】
〔アドレス記憶〕
また、図７に示すように、アドレス加算手段５および情報レジスタ６の代わりにアドレス記憶手段１３を用いる構成も考えられる。この場合、ＲＵＮに基づいてデータバッファ４へ書き込まれるＬＥＶＥＬのアドレスをアドレス記憶手段１３に記憶することになる。この場合のアドレス記憶手段１３において、アドレスの計算は図３８に示すジグザグスキャンの順に、すなわち１→２→９→１７・・・という順に計算され求まる。
【００８６】
そして、読み出し制御手段８はデータバッファ４から順次読み出し、選択手段９においてアドレス記憶手段１３に記憶されているアドレスのデータのときのみデータバッファ４のデータを読み出し、それ以外は“０”を出力する。
【００８７】
上記のように構成された本実施の形態によれば、以下の効果を奏する。
【００８８】
可変長復号化手段３からのＬＥＶＥＬのみを書き込む構成としたことで高速な可変長復号化装置を提供するととともに、読み出し時に情報レジスタ６の値によって選択手段９において判断し、必要なデータだけを出力するように構成してあるので、従来の技術で必要とした初期化手段は削除でき、回路規模を削減することが可能となる。
【００８９】
さらに、情報レジスタ６の値に基づいて“０”でないデータの個数分のみデータバッファ４に対してクロックを供給する場合には、消費電力の抑制が可能となり、低電力化を実現できる。
【００９０】
さらに、情報レジスタ６の値に基づいて“０”でないデータの個数分のみデータバッファ４に対して読み出し制御信号を供給する場合には、消費電力の抑制が可能となり、低電力化を実現できる。
【００９１】
（実施の形態２）
以下、本発明の実施の形態２の可変長復号化装置について図面を参照しながら説明する。
【００９２】
図８に本発明の実施の形態２における可変長復号化装置の概略構成を示し、以下に説明する。なお、説明の便宜上、実施の形態１と同様の構成については同一の符号を付してその説明を一部省略する。
【００９３】
この可変長復号化装置は実施の形態１の可変長復号化装置に対して、データバッファ４を、可変長復号化手段３からのＬＥＶＥＬを１つのアドレスに例えば２個格納することができるようにし、データバッファ４からの出力されるデータを選択する第２の選択手段１４をさらに備えるように構成したものである。
【００９４】
以上のように構成された実施の形態２の可変長符号化装置について、以下、図面を参照しながら動作を説明する。一例として１ブロックのデータを８×８個として説明する。
【００９５】
入力手段２、可変長復号化手段３、アドレス加算手段５は実施の形態１での動作と同じである。
【００９６】
書き込み制御手段７は、可変長復号化手段３からのデータが、図９、図１０に示すように、データバッファ４に対して、１つのアドレスに２個のデータをまとめて記憶させるようにする。１つのアドレスに対するデータの格納方法は、１ブロック８×８の左上隅を“１”、右下を“６４”として数字の小さい方を上位側、大きい方を下位側に格納するようにする。
【００９７】
可変長復号化手段３から１ブロックに相当するＲＵＮとＬＥＶＥＬの組み合わせが復号され、ＬＥＶＥＬが書き込まれた後、読み出し制御手段８は後段処理手段１０からの読み出し許可を示す制御信号を受けて情報レジスタ６を２つ同時に判断し、どちらか１つ“０”でない、あるいは両方“０”でないビットに相当するアドレスを出力し、データバッファ４に対して、そのアドレスに格納されているＬＥＶＥＬ（この場合、２データ分）を読み出す。第２の選択手段１４では読み出し制御手段８が情報レジスタ６を判断するのと同時に、この２ビットの上位が“１”のとき、データバッファ４からのデータの上位を、ビットの下位が“１”のときデータバッファ４からのデータの下位を出力する。以下、選択手段９、後段処理手段１０、出力手段１１は実施の形態１での動作と同じである。
【００９８】
上記のように構成された本実施の形態によれば、以下の効果を奏する。
【００９９】
データバッファ４は１つのアドレスに複数のデータを格納するようにし、さらに、読み出し制御手段８は情報レジスタ６を複数ビット同時に判断するようにした。その結果、連続して“０”でない値を持つデータを同時に読み出すことが可能になり、データバッファ４に対するアクセス時間が短くなるので、低消費電力な可変長復号化装置を提供することが可能となる。
【０１００】
なお、上記実施の形態では、データバッファ４の１つのアドレスに２つのデータを格納するようにしたが、１つのアドレスに対し２つ以上のデータを格納するようにしてもよい。
【０１０１】
（実施の形態３）
以下、本発明の実施の形態３の可変長復号化装置について図面を参照しながら説明する。
【０１０２】
図１１に本発明の実施の形態３における可変長復号化装置の概略構成を示し、以下に説明する。なお、説明の便宜上、実施の形態１と同様の構成については同一の符号を付してその説明を一部省略する。
【０１０３】
この可変長復号化装置は実施の形態１の可変長復号化装置に対して、第２のデータバッファ１５、第２の書き込み制御手段１６、第２の読み出し制御手段１７をさらに備えたものとなっている。
【０１０４】
以上のように構成された実施の形態３の可変長復号化装置について、以下、図面を参照しながら動作を説明する。一例として１ブロックのデータを８×８個として説明する。
【０１０５】
入力手段２、可変長復号化手段３、第１のデータバッファ４、アドレス加算手段５、情報レジスタ６、第１の書き込み制御手段７、第１の読み出し制御手段８、選択手段９は、実施の形態１での動作と同じである。
【０１０６】
図１２は、本発明の実施の形態３の可変長復号化装置における処理の流れ図である。図１２に従って処理の流れについて説明する。
【０１０７】
可変長復号化手段３から１ブロックに相当するＲＵＮとＬＥＶＥＬの組み合わせが復号され（ステップＳ１１）、ＬＥＶＥＬが書き込まれた後（ステップＳ１２〜Ｓ１４）、第１の読み出し制御手段８は情報レジスタ６を判断し（ステップＳ１６〜Ｓ１７）、情報レジスタ６に“１”が格納されているビットに相当するアドレスをデータバッファ４に対して出力し、そのアドレスに格納されているＬＥＶＥＬを読み出す（ステップＳ１８）。選択手段９では第１の読み出し制御手段８が情報レジスタ６を判断するのと同時に、情報レジスタ６のビットが“０”の場合は“０”を第２のデータバッファ１５に出力し、“１”の場合は第１のデータバッファ４からの出力データＬＥＶＥＬを出力する（ステップＳ１８）。
【０１０８】
第２の書き込み制御手段１６は第１の読み出し制御手段８と連動して、選択手段９からのデータを書き込む（ステップＳ１９）。
【０１０９】
１ブロック分、第２のデータバッファ１５への書き込みが終了すると（ステップＳ２０でＹｅｓ）、第２の読み出し制御手段１７は第２のデータバッファ１５からデータを読み出し（ステップＳ２１）、後段処理手段１０に出力する（ステップＳ２２）。と同時に可変長復号化手段３は次のブロックの復号化を開始する（ステップＳ１１）。
【０１１０】
さらに、可変長復号化手段３において１ブロックに相当するＲＵＮとＬＥＶＥＬの組み合わせが復号され（ステップＳ１１）、後段処理手段１０が処理を終えていれば（ステップＳ２３でＹｅｓ）、以上の動作を繰り返し（ステップＳ２４）、終了していなければ転送を待機する。
【０１１１】
〔第２のデータバッファを使わない構成〕
また、図１３に示す構成のように、選択手段９からのデータの出力として、第２のデータバッファ１５への出力に加え、後段処理手段１０に出力する構成としてもよい。
【０１１２】
上記のように構成された本実施の形態によれば、以下の効果を奏する。
【０１１３】
後段処理手段１０の処理を待たずに、第１のデータバッファ４のデータを出力できるようにした。その結果、次の可変長復号が行え、さらに復号化処理を高速化することが可能となる。
【０１１４】
また、選択手段９からのデータを第２のデータバッファ１５への出力に加え、後段処理手段１０に出力する構成とした。その結果、後段処理手段１０の処理が可変長復号化処理より早い場合、第２のデータバッファ１５への書き込みを回避することで、結果として復号化処理全体の高速化が可能となる。
【０１１５】
〔データバッファ左詰め格納〕
また、図１４、図１５に示すように、第１のデータバッファ４への格納は、復号されたＬＥＶＥＬをアドレスの小さい方から詰めて格納し、第２のデータバッファ１５へ書き込む際にスキャン変換してもよいし（ステップＳ１８ａ）、第２のデータバッファ１５から読み出す際にスキャン変換してもよい（ステップＳ２１ａ）。
【０１１６】
この結果、第１のデータバッファのアドレス計算は不要となり、データバッファへのアクセスを容易にすることが可能となる。
【０１１７】
〔ＤＣ係数転送を含み、ＭＰＥＧ−４対応〕
また、ＭＰＥＧ−４では１つが８×８個の画素のブロックデータが６個で構成されるマクロブロックが１つの処理単位であり、４個の輝度成分ブロックと２個の色差成分ブロックで構成されている。さらに、それぞれのマクロブロックは時間的に同じ画像空間内の予測により符号化されるイントラマクロブロックと、時間的に異なる画像からの予測により符号化されるインターマクロブロックと呼ばれるタイプがある。
【０１１８】
図１６に示すとおり、マクロブロックタイプを可変長復号化し（ステップＳ３１）、さらに各ブロックの８×８個のデータがすべて“０”であるかないかを示すＣＢＰ（Coded Block Pattern）を復号し（ステップＳ３２）、ＣＢＰが“１”のブロックは係数を復号し、“０”のブロックは係数がすべて“０”として復号する（ステップＳ３３）。
【０１１９】
さらに、イントラマクロブロックにおいては図１７に示すように、復号対象ブロックに対する左ブロックまたは上ブロックから最適な予測ブロックを選択し、決定されたブロックから差分を取ることで符号量を削減している。図１７においてブロックＸは復号化対象ブロックであり、ブロックＡ、Ｂ、ＣはそれぞれブロックＸに隣接するすでに復号済みのブロックである。ブロックＸ、Ａ、Ｂ、Ｃはそれぞれともに複数のＤＣＴ係数で構成される。
【０１２０】
ブロックＸの予測ブロックＰは（式１）のように選択される。
【０１２１】
（式１）
if（｜σＡ−σＢ｜＜｜σＢ−σＣ｜）
Ｐ＝Ｃ
else
Ｐ＝Ａ
ここでσＡ、σＢ、σＣはそれぞれのブロックのＤＣ係数であり、｜ｚ｜はｚの絶対値を示す。つまり隣接するブロックＡ、Ｂ、ＣのＤＣ係数の勾配を計算し、勾配の大きい方のブロックが復号化対象ブロックＸの予測ブロックＰとして選択される。
【０１２２】
また、ＭＰＥＧ−４ではＤＣ係数の予測に加え、符号化効率を向上させるためＡＣ係数に対しても予測を行うモードがある。
【０１２３】
ＤＣ予測符号化では、以上のように選択された予測ブロックの係数のうちＤＣ係数のみを予測対象とした符号化であり、符号化における係数の読み出しスキャンについてはジグザグスキャン固定である。
【０１２４】
それに対し、ＡＣ予測符号化ではＤＣ予測の結果によって対象のブロックを可変長符号化する際に走査の順序が選択され、図３８に示すジグザグスキャンに加え、例えば予測ブロックがＣのとき、図１８に示す水平優先スキャンを、予測ブロックがＡのときは図１９に示す垂直優先スキャンの走査が選択される。
【０１２５】
以上のように隣接するブロックから予測方向が決定され、符号化されている走査の順序を選択しスキャン変換を行い（ステップＳ３４）、逆量子化処理（ステップＳ３５）、逆ＤＣＴ処理を行う（ステップＳ３６）ことでＭＰＥＧ−４の復号が実現されている。
【０１２６】
図２０は、本発明の実施の形態３の可変長復号化装置におけるＭＰＥＧ−４に対応した処理の流れ図である。図２０に従って処理の流れについて説明する。
【０１２７】
入力手段２から入力されたデータに対して可変長復号化手段３においてマクロブロックタイプとＣＢＰを可変長復号化し（ステップＳ４１）、さらに係数の復号化を行い（ステップＳ４２）、“０”の個数を表すＲＵＮと係数値の大きさを表すＬＥＶＥＬの組み合わせとして順次復号する（ステップＳ４３〜Ｓ４６）。
【０１２８】
１マクロブロック分の可変長復号化終了後（ステップＳ４６〜Ｓ４７）、各ブロックのＤＣ係数を第２のデータバッファ１５に転送し（ステップＳ４８）、後段処理手段１０において上記方式によりデータの並びを決定している予測方向を判定する（ステップＳ４９）。ＡＣ予測が行われている場合、水平スキャン順か垂直スキャン順に復号化されており、その結果、情報レジスタの並びは水平スキャンのときは図２１、垂直スキャンのときは図２２のように並んでいる。
【０１２９】
その後、第１の読み出し制御手段８は情報レジスタ６を判断し（ステップＳ５０）、情報レジスタ６に“１”が格納されているビットに相当するアドレスをデータバッファ４に対して出力し、そのアドレスに格納されているＬＥＶＥＬを読み出す（ステップＳ５１）。選択手段９では第１の読み出し制御手段８が情報レジスタ６を判断するのと同時に、情報レジスタ６のビットが“０”の場合は“０”を第２のデータバッファ１５に出力し、“１”の場合は第１のデータバッファ４からの出力データＬＥＶＥＬを出力する（ステップＳ５１）。
【０１３０】
第２の書き込み制御手段１６は第１の読み出し制御手段８と連動して、選択手段９からのデータを書き込む（ステップＳ５２）。
【０１３１】
１ブロック分、第２のデータバッファ１５への書き込みが終了すると（ステップＳ５３でＹｅｓ）、第２の読み出し制御手段１７は第２のデータバッファ１５から上記決定した予測方向に適した走査方法でデータを読み出し（ステップＳ５４〜Ｓ５５）、後段処理手段１０に出力する（ステップＳ５６）。と同時に可変長復号化手段３は次のブロックの復号化を開始する（ステップＳ４１）。
【０１３２】
さらに、可変長復号化手段３において１ブロックに相当するＲＵＮとＬＥＶＥＬの組み合わせが復号され、後段処理手段１０が処理を終えていれば（ステップＳ５７でＹｅｓ）、以上の動作を繰り返し（ステップＳ５８）、終了していなければ転送を待機する。
【０１３３】
また、ＣＢＰが“０”のブロックに関しては、第２のデータバッファ１５への転送を削減してもよい。後段処理手段１０に対してＤＣ係数とともにＣＢＰ情報も出力することで、後段処理手段１０は第２のデータバッファ１５内の該当するブロックをすべて“０”と扱い、後段処理を行う。
【０１３４】
上記のように構成された本実施の形態によれば、以下の効果を奏する。
【０１３５】
ＤＣ係数のみを転送するステップを加えたことにより、ＭＰＥＧ−４などで用いられるＡＣ予測符号の可変長復号化においても復号化の高速化を図ることが可能となる。
【０１３６】
（実施の形態４）
以下、本発明の実施の形態４の可変長復号化装置について図面を参照しながら説明する。
【０１３７】
図２３に本発明の実施の形態４における可変長復号化装置の概略構成を示し、以下に説明する。なお、説明の便宜上、実施の形態１と同様の構成については同一の符号を付してその説明を一部省略する。
【０１３８】
この可変長復号化装置は実施の形態１の可変長復号化装置に対して、アドレス加算手段５の結果に基づいて、それぞれ異なる並び順序でｍ×ｎビット格納できる情報レジスタを少なくとも１つ以上有する情報レジスタ群１８と、復号されたブロックの特徴を示す特徴情報が後段処理手段１０から得られ、その特徴情報に基づいて情報レジスタ群１８からいずれかの情報レジスタを選択するレジスタ選択手段１９とをさらに備える。
【０１３９】
以上のように構成された実施の形態４の可変長復号化装置について、以下、図面を参照しながら動作を説明する。一例として１ブロック８×８個のデータ６個を１マクロブロックのデータとして説明する。
【０１４０】
入力手段２、可変長復号化手段３、データバッファ４、アドレス加算手段５、書き込み制御手段７、読み出し制御手段８、選択手段９は実施の形態１での動作と同じである。
【０１４１】
実施の形態４の説明においても図２０の処理の流れ図を用いて説明する。
【０１４２】
可変長復号化手段３から１マクロブロックに相当するＲＵＮとＬＥＶＥＬの組み合わせが復号され（ステップＳ４１〜Ｓ４２）、ＬＥＶＥＬが書き込まれた後（ステップＳ４３〜Ｓ４５）、読み出し制御手段８はデータバッファ４から各ブロックのＤＣ係数を読み出し（ステップＳ４８）、後段処理手段１０へ出力する。後段処理手段１０によって受け取ったＤＣ係数から図１７に示すように予測する方向が決定され、スキャン順を示す選択信号をレジスタ選択手段１９へ出力する。レジスタ選択手段１９において適切な情報レジスタ群１８の情報レジスタが選択されることで、読み出し制御手段８、選択手段９は制御される。以下、選択手段９、後段処理手段１０、出力手段１１は実施の形態１での動作と同じである。
【０１４３】
上記のように構成された本実施の形態によれば、以下の効果を奏する。
【０１４４】
情報レジスタ群１８に複数の並び順を有する情報レジスタを準備しておき、後段処理手段１０から入力される情報に基づいて情報レジスタを選択できるようにすることにより、例えばＭＰＥＧ−４等の可変長復号化においても復号化の高速化を図ることが可能となる。
【０１４５】
（実施の形態５）
以下、本発明の実施の形態５の可変長復号化装置について図面を参照しながら説明する。
【０１４６】
図２４に本発明の実施の形態５における可変長復号化装置の概略構成を示し、以下に説明する。なお、説明の便宜上、実施の形態１と同様の構成については同一の符号を付してその説明を一部省略する。
【０１４７】
この可変長復号化装置は実施の形態１の可変長復号化装置に対して、アドレス加算手段５の結果を記憶する第２の情報レジスタ２０と、第１のデータバッファ４からのＬＥＶＥＬを格納する第２のデータバッファ２１と、第２のデータバッファ２１への書き込みを制御する第２の書き込み制御手段２２と、第２の情報レジスタ２０に基づいて、第２のデータバッファ２１からＬＥＶＥＬを読み出す第２の読み出し制御手段２３とをさらに備える。
【０１４８】
以上のように構成された実施の形態５の可変長復号化装置について、以下、図面を参照しながら動作を説明する。一例として１ブロックのデータを８×８個として説明する。
【０１４９】
入力手段２、可変長復号化手段３、第１のデータバッファ４、アドレス加算手段５、第１の書き込み制御手段７、第１の読み出し制御手段８は実施の形態１での動作と同じである。
【０１５０】
図２５は、本発明の実施の形態５の可変長復号化装置における処理の流れ図である。図２５に従って処理の流れについて説明する。
【０１５１】
可変長復号化手段３から１ブロックに相当するＲＵＮとＬＥＶＥＬの組み合わせが復号され（ステップＳ６１）、ＬＥＶＥＬが書き込まれた後（ステップＳ６２〜Ｓ６４）、第１の読み出し制御手段８は第１の情報レジスタ６を判断し（ステップＳ６６）、第１の情報レジスタ６に“１”が格納されているビットに相当するアドレスを第１のデータバッファ４に対して出力し、そのアドレスに格納されているＬＥＶＥＬを読み出す（ステップＳ６７）。第２の書き込み制御手段２２は第１の読み出し制御手段８と連動して、第１のデータバッファ４からのデータを第２のデータバッファ２１へ書き込む（ステップＳ６８）。
【０１５２】
１ブロック分、第２のデータバッファ２１への書き込みが終了すると（ステップＳ６９でＹｅｓ）、第２の読み出し制御手段２３は第２の情報レジスタ２０を判断し（ステップＳ７０）、第２の情報レジスタ２０に“１”が格納されているビットに相当するアドレスを第２のデータバッファ２１に対して出力し、そのアドレスに格納されているＬＥＶＥＬを読み出す（ステップＳ７１）。
【０１５３】
選択手段９では第２の読み出し制御手段２３が第２の情報レジスタ２０を判断するのと同時に、第２の情報レジスタ２０のビットが“０”の場合は“０”を後段処理手段１０へ出力し、“１”の場合は第２のデータバッファ２１からの出力データＬＥＶＥＬを出力する（ステップＳ７２）。さらに、同時に可変長復号化手段３は次のブロックの復号化を開始し（ステップＳ６１）、１ブロックに相当するＲＵＮとＬＥＶＥＬの組み合わせが復号され（ステップＳ６１）、後段処理手段１０が処理を終えていれば（ステップＳ７３でＹｅｓ）、以上の動作を繰り返し（ステップＳ７４）、終了していなければ転送を待機する。
【０１５４】
上記のように構成された本実施の形態によれば、以下の効果を奏する。
【０１５５】
第１のデータバッファ４のデータが後段処理手段１０の処理を待たずに出力できるようにした。さらに、データバッファ間の転送をＬＥＶＥＬのみにするようにした。その結果、次の可変長復号が行え、さらに復号化処理を高速化することが可能となる。
【０１５６】
（実施の形態６）
以下、本発明の実施の形態６の可変長復号化装置について図面を参照しながら説明する。
【０１５７】
図２６に本発明の実施の形態６における可変長復号化装置の概略構成を示し、以下に説明する。なお、説明の便宜上、実施の形態１と同様の構成については同一の符号を付してその説明を一部省略する。
【０１５８】
この可変長復号化装置は実施の形態１の可変長復号化装置に対して、第１のデータバッファ４からのＬＥＶＥＬを格納する第２のデータバッファ２４と、第２のデータバッファ２４への書き込みを制御する第２の書き込み制御手段２５と、第２のデータバッファ２４からＬＥＶＥＬを読み出す第２の読み出し制御手段２６と、第２のデータバッファ２４を初期化する初期化手段２７とをさらに備える。
【０１５９】
以上のように構成された実施の形態６の可変長復号化装置について、以下、図面を参照しながら動作を説明する。一例として１ブロックのデータを８×８個として説明する。
【０１６０】
入力手段２、可変長復号化手段３、第１のデータバッファ４、アドレス加算手段５、第１の書き込み制御手段７、第１の読み出し制御手段８は実施の形態１での動作と同じである。
【０１６１】
図２７は、本発明の実施の形態６の可変長復号化装置における処理の流れ図である。図２７に従って処理の流れについて説明する。
【０１６２】
予め復号化処理を開始する前に、初期化手段２７は第２のデータバッファ２４のすべての値を“０”に初期化しておく（ステップＳ８１）。
【０１６３】
可変長復号化手段３から１ブロックに相当するＲＵＮとＬＥＶＥＬの組み合わせが復号され（ステップＳ８２）、ＬＥＶＥＬが書き込まれた後（ステップＳ８３〜Ｓ８５）、第１の読み出し制御手段８は第１の情報レジスタ６を判断し（ステップＳ８７〜Ｓ８８）、第１の情報レジスタ６に“１”が格納されているビットに相当するアドレスを第１のデータバッファ４に対して出力し、そのアドレスに格納されているＬＥＶＥＬを読み出す（ステップＳ８９）。第２の書き込み制御手段２５は第１の読み出し制御手段８と連動して、第１のデータバッファ４からのデータを第２のデータバッファ２４の第１の読み出し制御手段８が読み出したアドレスと同じアドレスへ初期化したデータを上書きする形で書き込む（ステップＳ９０）。
【０１６４】
１ブロック分、第２のデータバッファ２４への書き込みが終了すると（ステップＳ９１でＹｅｓ）、第２の読み出し制御手段２６は第２のデータバッファ２４から初期化されているデータを含めて順次読み出す（ステップＳ９２）。同時に可変長復号化手段３は次のブロックの復号化を開始し（ステップＳ８２）、１ブロックに相当するＲＵＮとＬＥＶＥＬの組み合わせが復号され、後段処理手段１０が処理を終えていれば（ステップＳ９４でＹｅｓ）、以上の動作を繰り返し（ステップＳ９６）、終了していなければ転送を待機する。
【０１６５】
初期化手段２７は第２のデータバッファ２４からの読み出しが終了し、次のブロックの書き込みが開始される前に第２のデータバッファ２４を初期化する（ステップＳ９５）。
【０１６６】
上記のように構成された本実施の形態によれば、以下の効果を奏する。
【０１６７】
第２のデータバッファ２４を初期化する初期化手段２７を備えている。その結果、後段処理手段１０の処理を待たずにデータを出力できるようにし、さらにデータバッファ間の転送をＬＥＶＥＬのみにするようにしたことで、次の可変長復号が行え、さらに復号化処理を高速化することが可能となる。
【０１６８】
（実施の形態７）
以下、本発明の実施の形態７の可変長復号化装置について図面を参照しながら説明する。
【０１６９】
図２８に本発明の実施の形態７における可変長復号化装置の概略構成を示し、以下に説明する。なお、説明の便宜上、実施の形態１と同様の構成については同一の符号を付してその説明を一部省略する。
【０１７０】
この可変長復号化装置は実施の形態１の可変長復号化装置に対して、少なくとも１つ以上のデータバッファを有するデータバッファ群２８と、第２の書き込み制御手段２９、第２の読み出し制御手段３０と、データバッファ群２８からの読み出しデータを選択する第２の選択手段３１をさらに備える。
【０１７１】
以上のように構成された実施の形態７の可変長復号化装置について、以下、図面を参照しながら動作を説明する。一例として１ブロックのデータを８×８個として説明する。またデータバッファ群２８において、データバッファは２つ（第２、第３のデータバッファ２８ａ，２８ｂ）として説明する。
【０１７２】
入力手段２、可変長復号化手段３、第１のデータバッファ４、アドレス加算手段５、情報レジスタ６、第１の書き込み制御手段７、第１の読み出し制御手段８は実施の形態１での動作と同じである。
【０１７３】
可変長復号化手段３から１ブロックに相当するＲＵＮとＬＥＶＥＬの組み合わせが復号され、ＬＥＶＥＬが書き込まれた後、第１の読み出し制御手段８は情報レジスタ６を判断し、情報レジスタ６に“１”が格納されているビットに相当するアドレスをデータバッファ４に対して出力し、そのアドレスに格納されているＬＥＶＥＬを読み出す。選択手段９では第１の読み出し制御手段８が情報レジスタ６を判断するのと同時に、情報レジスタ６のビットが“０”の場合は“０”を第２のデータバッファ１５に出力し、“１”の場合は第１のデータバッファ４からの出力データＬＥＶＥＬを出力する。
【０１７４】
第２の書き込み制御手段２９は第１の読み出し制御手段８と連動して、選択手段９からのデータを第２のデータバッファ２８ａへ書き込む。
【０１７５】
１ブロック分、第２のデータバッファ２８ａへの書き込みが終了すると、第２の読み出し制御手段３０は第２のデータバッファ２８ａからデータを読み出し、第２の選択手段３１に出力する。第２の選択手段３１は１ブロックの処理が終了する毎に第２のデータバッファ２８ａからのデータと第３のデータバッファ２８ｂからのデータを切り替えて後段処理手段１０へ出力する。１ブロック分の、第２のデータバッファ２８ａへの書き込みが終了すると同時に可変長復号化手段３は次のブロックの復号化を開始する。
【０１７６】
さらに、可変長復号化手段３において１ブロックに相当するＲＵＮとＬＥＶＥＬの組み合わせの復号が終われば、第３のデータバッファ２８ｂへの転送を開始する。以上のように可変長復号化手段３においての１ブロックの復号化処理が終了したあと、選択手段９からのデータは第２のデータバッファ２８ａ、第３のデータバッファ２８ｂに交互に書き込まれる。
【０１７７】
上記のように構成された本実施の形態によれば、以下の効果を奏する。
【０１７８】
後段処理手段１０が読み出すデータバッファを複数個備えている。その結果、データが後段処理手段１０の処理を待たずに出力できるようにし、次の可変長復号が行え、全体としてさらに復号化処理を高速化することが可能となる。
【０１７９】
なお、上記実施の形態では、データバッファ群２８のデータバッファは２つ以上のデータバッファにしてもよい。
【０１８０】
（実施の形態８）
以下、本発明の実施の形態８の可変長復号化装置について図面を参照しながら説明する。
【０１８１】
図２９に本発明の実施の形態８における可変長復号化装置の概略構成を示し、以下に説明する。なお、説明の便宜上、実施の形態１と同様の構成については同一の符号を付してその説明を一部省略する。
【０１８２】
この可変長復号化装置は実施の形態１の可変長復号化装置に対して、復号されたＲＵＮに基づいてアドレス加算手段の結果（ＬＥＶＥＬの位置を示す値）の情報レジスタへの格納から、データバッファからのデータ読み出しまでの処理系統を複数個有する点に特徴を有する。以下、上記のような処理系統を２個有する場合を例に挙げて説明する。
【０１８３】
図２９に示すように、アドレス加算手段５の結果を記憶する第２の情報レジスタ３２と、可変長復号化手段３からのＬＥＶＥＬを格納する第２のデータバッファ３３と、アドレス加算手段５からの情報に基づいてＬＥＶＥＬを第２のデータバッファ３３へ格納する第２の書き込み制御手段３４と、第２の情報レジスタ３２に基づいて、第２のデータバッファ３３からＬＥＶＥＬを読み出す第２の読み出し制御手段３５と、第１のデータバッファ４と第２のデータバッファ３３からのデータを切り替えて出力する切り替え手段３６とをさらに備える。
【０１８４】
以上のように構成された実施の形態７の可変長復号化装置について、以下、図面を参照しながら動作を説明する。一例として１ブロックのデータを８×８個として説明する。
【０１８５】
図２９に示すように、実施の形態１と同様の処理をする第１の情報レジスタ６、第１のデータバッファ４、第１の書き込み制御手段７、第１の読み出し制御手段８を用いた処理を処理Ａとし、実施の形態１と同様の処理をする第２の情報レジスタ３２、第２のデータバッファ３３、第２の書き込み制御手段３４、第２の読み出し制御手段３５を用いた処理を処理Ｂとする。
【０１８６】
可変長復号化手段３で復号化されたＲＵＮの大きさに基づいてアドレス加算手段５において図３８に示すジグザグスキャンの順に、すなわち１→２→９→１７・・・という順に計算され求まる。次に処理Ａによる書き込み処理を行い、可変長復号化手段３から１ブロック分の復号データの出力が終わると、処理Ａによる読み出し処理が行われ、切り替え手段３６から出力されるが、この処理Ａによる読み出し処理と同時に可変長復号化手段３から次の１ブロック分の復号データが順次入力され、アドレス加算手段５によってアドレスが計算され、処理Ｂによる書き込み処理を行う。
【０１８７】
さらに、可変長復号化手段３から１ブロック分の復号データの出力が終わると、処理Ｂによる読み出し処理が行われ、切り替え手段３６から出力されるが、この処理Ｂによる読み出し処理と同時に可変長復号化手段３から次の１ブロック分の復号データが順次出力され、処理Ａによる書き込み処理を行う。
【０１８８】
以下、後段処理手段１０、出力手段１１は実施の形態１での動作と同じである。
【０１８９】
上記のように構成された本実施の形態によれば、以下の効果をさらに奏する。
【０１９０】
実施の形態１の手段を２つ備えることで、データの書き込み処理と読み出し処理を同時に行えることを可能とした分、データバッファからの読み出し時間を待たずにデータ転送の時間短縮が図れ、全体として可変長復号化の処理時間が短くなり、復号化処理を高速にすることができる。
【０１９１】
（実施の形態９）
以下、本発明の実施の形態９の可変長復号化装置について図面を参照しながら説明する。
【０１９２】
図３０に本発明の実施の形態９における可変長復号化装置の概略構成を示し、以下に説明する。なお、説明の便宜上、実施の形態１と同様の構成については同一の符号を付してその説明を一部省略する。
【０１９３】
この可変長復号化装置は実施の形態１の可変長復号化装置に対して、書き込みポートと、独立した読み出しが可能な読み出しポートとを備えたメモリで構成されたデータバッファ３７と、少なくとも１つ以上のブロックに対応するビット長を持つ情報レジスタ３８とをさらに備える。
【０１９４】
図３１は、本発明の実施の形態９の可変長復号化装置における処理の流れ図である。図３１に従って処理の流れについて説明する。また図３２に本発明の実施の形態９におけるタイミングを示す。一例として１ブロックのデータを８×８個として説明する。
【０１９５】
入力手段２、アドレス加算手段５は実施の形態１での動作と同じである。
【０１９６】
可変長復号化手段３で“０”の個数を表すＲＵＮと係数値の大きさを表すＬＥＶＥＬの組み合わせとして順次復号化され（ステップＳ１０１）、ＬＥＶＥＬがデュアルポートのデータバッファ３７に書き込まれる（ステップＳ１０２〜Ｓ１０５）。この際、データバッファ３７には図３３に示すようにアドレスの小さい方から詰めて格納される。可変長復号化手段３からＬＥＶＥＬがデータバッファ３７へ格納された時点で読み出し処理が開始され（ステップＳ１０７〜Ｓ１０８）、情報レジスタ３８に“１”が格納されているビットに相当するアドレスをデータバッファ３７に対して出力し、そのアドレスに格納されているＬＥＶＥＬを読み出す（ステップＳ１０８）。選択手段９では読み出し制御手段８が情報レジスタ３８を判断するのと同時に、情報レジスタ３８のビットが“０”の場合は“０”を後段処理手段１０に出力し（ステップＳ１０９）、“１”の場合はデータバッファ４からの出力データＬＥＶＥＬを出力する。
【０１９７】
以上のように書き込みと読み出しを同時に行い、復号すべきＬＥＶＥＬのデータバッファへの書き込み位置が読み出された後であるか判断し、後でなければ可変長復号化を一時停止する。
【０１９８】
図３２で示すと、信号ｆがＨの間が書き込み有効となり、信号ｇをＬにすることでアドレスｈの位置にデータＩを格納し、信号ｆがＬの間は書き込みを停止する。読み出しは信号ｊが情報レジスタ３８の“１”が格納されているビットに相当するアドレスｋのＬＥＶＥＬを読み出す信号である。書き込み位置のＬＥＶＥＬが読み出され、書き込み可能になった時点で、信号ｆをＨにし、可変長復号化を再開する。書き込みが可能な間は図３３、図３４に示すとおり次のブロックの可変長復号も継続して行われる。
【０１９９】
上記のように構成された本実施の形態によれば、以下の効果をさらに奏する。
【０２００】
データの書き込みと読み出しを同時に行うようにすることで後段処理手段が十分なパフォーマンスがある場合、データバッファからの読み出し時間を待つことなくデータ転送が可能となる。これにより可変長復号化の処理時間を短縮することができる。
【０２０１】
また、データバッファにおいてデータを詰めて格納するようにした。これによりデータバッファを効率的に利用でき、かつ容量削減することができる。
【０２０２】
以上のことから、全体としての最適な構成で復号化処理を高速化することが可能となる。
【０２０３】
（実施の形態１０）
図３５は、本発明の実施の形態１０における撮像システム５０、例えばデジタルスチルカメラ（ＤＳＣ）の構成を示す図である。図３５中の信号処理装置５５は、上記本発明の実施の形態１〜９の可変長復号化装置のうちいずれかである。
【０２０４】
図３５によれば、光学系５１を通って入射した画像光はイメージセンサ５２上に結像される。イメージセンサ５２はタイミング制御回路５８によって駆動されることにより、結像された画像光を蓄積し、電気信号へと光電変換する。イメージセンサ５２から読み出された電気信号は、アナログ・デジタル変換器（ＡＤＣ）５３によってデジタル信号へと変換された後、当該信号処理装置５５を含む画像処理回路５４に入力される。この画像処理回路５４においては、Ｙ／Ｃ処理、エッジ処理、画像の拡大縮小、および本発明を用いた画像圧縮伸張処理などの画像処理が行われる。画像処理された信号は、記録転送回路５６においてメディアへの記録あるいは転送が行われる。記録あるいは転送された信号は、再生回路５７により再生される。この撮像システム５０の全体は、システム制御回路５９によって制御されている。
【０２０５】
なお、本発明の実施の形態の信号処理装置５５における画像処理は必ずしも光学系５１を介してイメージセンサ５２に結像された画像光に基づく信号のみに適用されるものではなく、例えば外部装置から電気信号として入力される画像信号を処理する際にも適用可能であることは言うまでもない。
【産業上の利用可能性】
【０２０６】
以上説明してきたように、本発明の可変長復号化装置および可変長復号化方法は、データバッファに格納されたデータに対する情報をアドレスの保持手段によって把握できることにより、ゼロ以外のデータのみ読み出すことが可能となり、読み出し時間の短縮によって、全体として可変長復号化を高速化することができ、さらに、低消費電力を実現できるため、高速な復号化が要求される画像復号システム等への応用が可能である。
【０２０７】
特に近年、低ビットレート符号化技術として注目を集めているＭＰＥＧ−４を搭載したカメラ付き携帯電話やＤＳＣなどにも有用な装置を提供することが可能である。
【図面の簡単な説明】
【０２０８】
【図１】本発明の実施の形態１における可変長復号化装置の構成を示すブロック図
【図２】本発明の実施の形態１における可変長復号化装置の動作を示すフローチャート
【図３】本発明の実施の形態１における情報レジスタの説明図
【図４】本発明の実施の形態１における読み出しアドレス遷移の説明図
【図５】本発明の実施の形態１における可変長復号化装置の構成を示すブロック図（クロック制御機能）
【図６】本発明の実施の形態１における可変長復号化装置の動作を示すタイミングチャート
【図７】本発明の実施の形態１における可変長復号化装置の構成を示すブロック図（アドレス記憶手段付き）
【図８】本発明の実施の形態２における可変長復号化装置の構成を示すブロック図
【図９】本発明の実施の形態２におけるデータ格納方法とデータバッファ構成の説明図
【図１０】本発明の実施の形態２における情報レジスタの説明図
【図１１】本発明の実施の形態３における可変長復号化装置の構成を示すブロック図
【図１２】本発明の実施の形態３における可変長復号化装置の動作を示すフローチャート
【図１３】本発明の実施の形態３におけるもう１つの可変長復号化装置の構成を示すブロック図
【図１４】本発明の実施の形態３におけるもう一つのデータ格納方法の説明図
【図１５】本発明の実施の形態３における可変長復号化装置の動作を示すフローチャート（スキャン変換）
【図１６】ＭＰＥＧ−４の基本復号処理を示すフローチャート
【図１７】ＤＣ／ＡＣ予測の説明図
【図１８】本発明の実施の形態３における水平優先スキャンの例示図
【図１９】本発明の実施の形態３における垂直優先スキャンの例示図
【図２０】本発明の実施の形態３におけるＭＰＥＧ−４復号化処理を示すフローチャート
【図２１】本発明の実施の形態３における水平優先スキャンの情報レジスタの説明図
【図２２】本発明の実施の形態３における垂直優先スキャンの情報レジスタの説明図
【図２３】本発明の実施の形態４における可変長復号化装置の構成を示すブロック図
【図２４】本発明の実施の形態５における可変長復号化装置の構成を示すブロック図
【図２５】本発明の実施の形態５における可変長復号化装置の動作を示すフローチャート
【図２６】本発明の実施の形態６における可変長復号化装置の構成を示すブロック図
【図２７】本発明の実施の形態６における可変長復号化装置の動作を示すフローチャート
【図２８】本発明の実施の形態７における可変長復号化装置の構成を示すブロック図
【図２９】本発明の実施の形態８における可変長復号化装置の構成を示すブロック図
【図３０】本発明の実施の形態９における可変長復号化装置の構成を示すブロック図
【図３１】本発明の実施の形態９における可変長復号化装置の動作を示すフローチャート
【図３２】本発明の実施の形態９における可変長復号化装置の動作を示すタイミングチャート
【図３３】本発明の実施の形態９におけるデータ格納方法の説明図
【図３４】本発明の実施の形態９における情報レジスタの説明図
【図３５】本発明の実施の形態１０における撮像システムの構成を示すブロック図
【図３６】代表的な画像符号化装置の構成を示すブロック図
【図３７】ＤＣＴ係数の一例の説明図
【図３８】復号後の量子化ＤＣＴ係数とジグザグスキャンの説明図
【図３９】代表的な画像復号装置の構成を示すブロック図
【図４０】従来の技術における可変長復号化部の構成を示すブロック図
【図４１】従来の技術におけるランレングス符号の復号回路の構成を示すブロック図
【符号の説明】
【０２０９】
２  入力手段
３  可変長復号化手段
４  データバッファ
５  アドレス加算手段
６  情報レジスタ
７  書き込み制御手段
８  読み出し制御手段
９  選択手段
１０  後段処理手段
１１  出力手段
１２  クロック制御手段
１３  アドレス記憶手段
１４  選択手段
１５  第２のデータバッファ
１６，２２，２５，２９，３４  第２の書き込み制御手段
１７，２３，２６，３０，３５  第２の読み出し制御手段
１８  情報レジスタ群
１９  レジスタ選択手段
２０  第２の情報レジスタ
２１  第２のデータバッファ
２７  初期化手段
２８  データバッファ群
３１  第２の選択手段
３２  第２の情報レジスタ
３３  第２のデータバッファ
３６  切り替え手段
５０  撮像システム
５１  光学系
５２  イメージセンサ
５３  アナログ・デジタル変換器
５４  画像処理回路
５５  信号処理装置（可変長復号化装置）
５６  記録転送回路
５７  再生回路
５８  タイミング制御回路
５９  システム制御回路
ａ  ＲＵＮによるゼロ区間
ｂ  読み出し制御信号
ｃ  読み出しアドレス
ｄ  読み出しデータ
ｅ  実施の形態２におけるＲＵＮによるゼロ区間
ｆ  書き込み有効信号
ｇ  書き込み制御信号
ｈ  書き込みアドレス
ｉ  書き込みデータ
ｊ  読み出し制御信号
ｋ  読み出しアドレス
ｌ  読み出しデータ
ｍ  ＤＣＴ係数の低周波領域
ｎ  ＤＣＴ係数の高周波領域
ｏ  ＤＣ係数
【図１】
2006074197.tif 000003
【図２】
2006074197.tif 000004
【図３】
2006074197.tif 000005
【図４】
2006074197.tif 000006
【図５】
2006074197.tif 000007
【図６】
2006074197.tif 000008
【図７】
2006074197.tif 000009
【図８】
2006074197.tif 000010
【図９】
2006074197.tif 000011
【図１０】
2006074197.tif 000012
【図１１】
2006074197.tif 000013
【図１２】
2006074197.tif 000014
【図１３】
2006074197.tif 000015
【図１４】
2006074197.tif 000016
【図１５】
2006074197.tif 000017
【図１６】
2006074197.tif 000018
【図１７】
2006074197.tif 000019
【図１８】
2006074197.tif 000020
【図１９】
2006074197.tif 000021
【図２０】
2006074197.tif 000022
【図２１】
2006074197.tif 000023
【図２２】
2006074197.tif 000024
【図２３】
2006074197.tif 000025
【図２４】
2006074197.tif 000026
【図２５】
2006074197.tif 000027
【図２６】
2006074197.tif 000028
【図２７】
2006074197.tif 000029
【図２８】
2006074197.tif 000030
【図２９】
2006074197.tif 000031
【図３０】
2006074197.tif 000032
【図３１】
2006074197.tif 000033
【図３２】
2006074197.tif 000034
【図３３】
2006074197.tif 000035
【図３４】
2006074197.tif 000036
【図３５】
2006074197.tif 000037
【図３６】
2006074197.tif 000038
【図３７】
2006074197.tif 000039
【図３８】
2006074197.tif 000040
【図３９】
2006074197.tif 000041
【図４０】
2006074197.tif 000042
【図４１】
2006074197.tif 000043