(57)【要約】【課題】可変長符号化処理を行う待ち時間を少なくすることによって、さらなる高速化を図ることができる符号化装置及び方法を提供する。【解決手段】ランレングス符号化と可変長符号化を行う符号化装置であって、１ブロックｍ×ｎ個のデータを順次入力し、入力されたデータに対して値が０（ゼロ）であるか否かを判定し、判定結果をｍ×ｎビットの情報レジスタに格納するとともに、入力されたデータをデータバッファに格納し、判定結果に基づいて、データバッファからデータの読み出しを制御し、データバッファから読み出されたデータと、判定結果を用いてランレングス符号化を行い、求まった連続して値が０（ゼロ）であるデータの個数と、データとの一対のデータを用いて可変長符号化を行う。【選択図】  図２
2004166083.tif 000002
【特許請求の範囲】
【請求項１】
ランレングス符号化と可変長符号化を行う符号化装置であって、
１ブロックｍ×ｎ個のデータを順次入力する入力手段と、
前記入力手段から入力された前記データに対して値が０（ゼロ）であるか否かを判定する比較判定手段と、
前記比較判定手段において判定された前記データの値が０（ゼロ）であるか否かに関する情報を格納するｍ×ｎビットの情報レジスタと、
前記入力手段から入力された前記データを格納するデータバッファと、
前記情報レジスタに格納されている前記データの値が０（ゼロ）であるか否かに関する情報に基づいて、前記データバッファから前記データの読み出しを制御する読み出し制御手段と、
前記データバッファから読み出された前記データと、前記情報レジスタに格納されている前記データの値が０（ゼロ）であるか否かに関する情報を用いてランレングス符号化を行うランレングス符号化手段と、
前記ランレングス符号化手段において求まった、連続して値が０（ゼロ）である前記データの個数と、前記データとの一対のデータを用いて可変長符号化を行う可変長符号化手段とを含むことを特徴とする符号化装置。
【請求項２】
前記情報レジスタにおいて、前記データの値が０（ゼロ）であるか否かに関する情報が、前記入力手段から入力された前記データに対してジグザグスキャン順に格納される請求項１に記載の符号化装置。
【請求項３】
前記データバッファに対する前記データの書き込みを制御する書き込み制御手段を含み、
前記比較判定手段において前記データの値が０（ゼロ）ではないと判定された場合にのみ前記データバッファに対して書き込みを行う請求項１に記載の符号化装置。
【請求項４】
前記データバッファにおいて、１つのアドレスにＬ（Ｌは自然数）個の前記データを格納できるよう構成し、さらに前記データバッファから読み出されたＬ個の前記データを、前記情報レジスタに格納されている前記データの値が０（ゼロ）であるか否かに関する情報に基づいて選択して出力する選択手段を備える請求項１に記載の符号化装置。
【請求項５】
前記読み出し制御手段において、ｍ×ｎビットで構成される前記情報レジスタのビットの中で、Ｌ個の前記データに対応するビットが少なくとも１つ以上０（ゼロ）でない場合にのみ、前記アドレスにおける前記データを前記データバッファから読み出す請求項４に記載の符号化装置。
【請求項６】
前記選択手段において、ｍ×ｎビットで構成される前記情報レジスタのビットの中で、Ｌ個の前記データに対応するＬビットに基づいて前記データバッファから読み出されたＬ個の前記データを選択する請求項４又は５に記載の符号化装置。
【請求項７】
前記比較判定手段において判定された前記データの値が０（ゼロ）であるか否かに関する情報を、それぞれ異なる並び順序で格納するｍ×ｎビットの前記情報レジスタを少なくとも１つ以上有する情報レジスタ群と、
前記入力手段から入力された前記データにおけるブロックの特徴を示す情報を入力する第二の入力手段と、
前記第二の入力手段から入力された前記ブロックの特徴を示す情報に基づいて、前記情報レジスタ群から前記情報レジスタを選択する選択手段とを備える請求項１に記載の符号化装置。
【請求項８】
前記情報レジスタと、前記データバッファと、前記書き込み制御手段と、前記読み出し制御手段とを１系統とする処理系統を複数個有し、どの前記処理系統に属する前記データバッファから出力するのかを切り替えて前記ランレングス符号化手段へ出力する出力切り替え手段とを備え、
一の前記処理系統における前記データバッファへの書き込み処理と、他の前記処理系統における前記データバッファへの読み出し処理を同時に行う請求項２に記載の符号化装置。
【請求項９】
前記情報レジスタにおける前記データの値が０（ゼロ）ではない前記データの個数を累積する符号語数累積手段を含む請求項１に記載の符号化装置。
【請求項１０】
１ブロック内の領域を設定する領域設定手段を含む請求項９に記載の符号化装置。
【請求項１１】
前記符号語数累積手段の累積値のしきい値を設定するしきい値設定手段と、
前記累積値と前記しきい値とを比較する比較手段とを備える請求項９又は１０に記載の符号化装置。
【請求項１２】
前記情報レジスタに格納されている値が０（ゼロ）ではない前記データを示す情報が、当該ブロック内における最後の０（ゼロ）ではない前記データを示す情報であるか否かを判定する最終データ判定手段を備え、
前記最終データ判定手段は、値が０（ゼロ）ではない前記データを示す情報が当該ブロック内で最後のときに最終データであることを示す情報を前記可変長符号化手段に出力する請求項１に記載の符号化装置。
【請求項１３】
前記データバッファへの供給クロックを制御するクロック制御手段を備え、
前記クロック制御手段は、前記情報レジスタに格納されている前記データの値が０（ゼロ）であるか否かに関する情報に基づいて、前記データの値が０（ゼロ）でない期間にのみ前記データバッファへクロックを供給する請求項１に記載の符号化装置。
【請求項１４】
ランレングス符号化と可変長符号化を行う符号化装置であって、
１ブロックｍ×ｎ個のデータを順次入力する入力手段と、
前記入力手段から入力された前記データに対して値が０（ゼロ）であるか否かを判定する比較判定手段と、
前記比較判定手段において判定された前記データの値が０（ゼロ）であるか否かに関する情報を格納するｍ×ｎビットの第一の情報レジスタと、
前記入力手段から入力された前記データを格納する第一のデータバッファと、前記第一のデータバッファに対する前記データの書き込みを制御する書き込み制御手段とを含む第一の処理部と、
前記第一の情報レジスタに格納されている情報に基づいて、前記第一のデータバッファから前記データを読み出し、第二のデータを生成するプロセッサと、
前記第二のデータを格納する第二のデータバッファと、
前記第二のデータの値が０（ゼロ）であるか否かに関する情報を格納するｍ×ｎビットの第二の情報レジスタと、
前記第二の情報レジスタに格納されている前記第二のデータの値が０（ゼロ）であるか否かに関する情報に基づいて、前記第二のデータバッファから前記第二のデータの読み出しを制御する読み出し制御手段と、
前記第二のデータバッファから読み出された前記第二のデータと、前記第二の情報レジスタに格納されている前記第二のデータの値が０（ゼロ）であるか否かに関する情報を用いてランレングス符号化を行うランレングス符号化手段と、
前記ランレングス符号化手段において求まった、連続して値が０（ゼロ）である前記第二のデータの個数と、前記第二のデータとの一対のデータを用いて可変長符号化を行う可変長符号化手段とを含む第二の処理手段とで構成されており、前記読み出し制御手段は、前記第二の情報レジスタに基づいて、値が０（ゼロ）ではない前記第二のデータのみを前記第二のデータバッファから読み出し、前記ランレングス符号化手段において、前記第二の情報レジスタにおける値が０（ゼロ）ではない前記第二のデータを示す区間を、連続して値が０（ゼロ）である前記第二のデータの個数として前記可変長符号化手段へ出力することを特徴とする符号化装置。
【請求項１５】
前記プロセッサは、前記第二のデータを生成すると同時に、前記第二のデータの値が０（ゼロ）である場合には出力せず、値が０（ゼロ）である前記第二のデータの個数を累積し、前記第二のデータの値が０（ゼロ）でない場合には、前記第二のデータを出力すると同時に、累積されている値が０（ゼロ）である前記第二のデータの個数を前記ランレングス符号化手段に出力する請求項１４に記載の符号化装置。
【請求項１６】
ランレングス符号化と可変長符号化を行う符号化装置であって、
１ブロックｍ×ｎ個のデータを順次入力する入力手段と、
前記入力手段から入力された前記データに対して値が０（ゼロ）であるか否かを判定する比較判定手段と、
前記入力手段から入力された前記データを格納するデータバッファと、
前記比較判定手段において、値が０（ゼロ）でないと判定された前記データの前記データバッファにおけるアドレスを格納するアドレス記憶手段と、
前記アドレス記憶手段に格納されている前記アドレスに基づいて、前記データバッファから前記データの読み出しを制御する読み出し制御手段と、
前記データバッファから読み出された前記データと、前記アドレス記憶手段に格納されている前記アドレスを用いてランレングス符号化を行うランレングス符号化手段と、
前記ランレングス符号化手段において求まった、連続して値が０（ゼロ）である前記データの個数と、前記データとの一対のデータを用いて可変長符号化を行う可変長符号化手段とを含み、
前記読み出し制御手段において、前記アドレス記憶手段に格納された前記アドレスに基づいて、値が０（ゼロ）ではない前記データのみを前記データバッファから読み出し、
前記ランレングス符号化手段において、前記アドレス記憶手段に格納されている前回読み出したアドレスと今回読み出したアドレスの差分を、値が０（ゼロ）である前記データの個数として前記可変長符号化手段へ出力することを特徴とする符号化装置。
【請求項１７】
前記ランレングス符号化手段において、前記データバッファから読み出したアドレスと、１つ前に読み出したアドレスとの差分をジグザグスキャン順によって計算し、前記差分を値が０（ゼロ）である前記データの個数として前記可変長符号化手段へ出力する請求項１６に記載の符号化装置。
【請求項１８】
前記アドレス記憶手段と前記読みだし制御手段がプロセッサによって処理される請求項１６に記載の符号化装置。
【請求項１９】
ランレングス符号化と可変長符号化を行う符号化方法であって、
１ブロックｍ×ｎ個のデータを順次入力する工程と、
入力された前記データに対して値が０（ゼロ）であるか否かを判定する工程と、
判定された前記データの値が０（ゼロ）であるか否かに関する情報をｍ×ｎビットの情報レジスタに格納する工程と、
入力された前記データを前記データバッファに格納する工程と、
前記データバッファに対する前記データの書き込みを制御する工程と、
前記情報レジスタに格納されている前記データの値が０（ゼロ）であるか否かに関する情報に基づいて、前記データバッファから前記データの読み出しを制御する工程と、
前記データバッファから読み出された前記データと、前記情報レジスタに格納されている前記データの値が０（ゼロ）であるか否かに関する情報を用いてランレングス符号化を行う工程と、
前記ランレングス符号化を行う工程において求まった、連続して値が０（ゼロ）である前記データの個数と、前記データとの一対のデータを用いて可変長符号化を行う工程とを含むことを特徴とする符号化方法。
【請求項２０】
前記データバッファにおいて、１つのアドレスにＬ個の前記データを格納できるよう構成し、さらに前記データバッファから読み出されたＬ個の前記データを、前記情報レジスタに格納されている前記データの値が０（ゼロ）であるか否かに関する情報に基づいて選択して出力する工程を含む請求項１９に記載の符号化方法。
【請求項２１】
前記データの値が０（ゼロ）であるか否かに関する情報を、それぞれ異なる並び順序で格納するｍ×ｎビットの情報レジスタを少なくとも１つ以上有する情報レジスタ群を有し、
入力された前記データにおけるブロックの特徴を示す情報を入力する工程と、入力された前記ブロックの特徴を示す情報に基づいて、前記情報レジスタ群から情報レジスタを選択する工程とをさらに含む請求項１９に記載の符号化方法。
【請求項２２】
判定された前記データの値が０（ゼロ）であるか否かに関する情報をｍ×ｎビットの前記情報レジスタに格納する工程と、
前記入力手段から入力された前記データを前記データバッファに格納する工程と、
前記データバッファに対する前記データの書き込みを制御する工程と、
前記情報レジスタに格納されている前記データの値が０（ゼロ）であるか否かに関する情報に基づいて、前記データバッファから前記データの読み出しを制御する工程とを１系統とする処理系統を複数個有し、
どの前記処理系統に属する前記データバッファから出力するのかを切り替える工程をさらに含み、
一の前記処理系統における前記データバッファへの書き込み処理と、他の前記処理系統における前記データバッファへの読み出し処理を同時に行う請求項１９に記載の符号化方法。
【請求項２３】
前記情報レジスタにおける前記データの値が０（ゼロ）ではない前記データの個数を累積する工程を含む請求項１９に記載の符号化方法。
【請求項２４】
１ブロック内の領域を設定する工程を含む請求項２３に記載の符号化方法。
【請求項２５】
累積値のしきい値を設定する工程と、前記累積値と前記しきい値とを比較する工程をさらに含む請求項２３又は２４に記載の符号化方法。
【請求項２６】
前記情報レジスタに格納されている値が０（ゼロ）ではない前記データを示す情報が、当該ブロック内における最後の０（ゼロ）ではない前記データを示す情報であるか否かを判定する工程を含み、
値が０（ゼロ）ではない前記データを示す情報が当該ブロック内で最後のときに最終データであることを示す情報を出力する請求項１９に記載の符号化方法。
【請求項２７】
前記データバッファへの供給クロックを制御する工程を含み、
前記情報レジスタに格納されている前記データの値が０（ゼロ）であるか否かに関する情報に基づいて、前記データの値が０（ゼロ）でない期間にのみ前記データバッファへクロックを供給する請求項１９に記載の符号化方法。
【請求項２８】
ランレングス符号化と可変長符号化を行う符号化方法であって、
１ブロックｍ×ｎ個のデータを順次入力する工程と、
入力された前記データに対して値が０（ゼロ）であるか否かを判定する工程と、
判定された前記データの値が０（ゼロ）であるか否かに関する情報をｍ×ｎビットの第一の情報レジスタに格納する工程と、
入力された前記データを第一のデータバッファに格納する工程と、
前記第一のデータバッファに対する前記データの書き込みを制御する工程とを含む第一の処理工程と、
前記第一の情報レジスタに格納されている情報に基づいて、前記第一のデータバッファからデータを読み出し、第二のデータを生成する工程と、
前記第二のデータを第二のデータバッファに格納する工程と、
前記第二のデータの値が０（ゼロ）であるか否かに関する情報をｍ×ｎビットの第二の情報レジスタに格納する工程と、
前記第二の情報レジスタに格納されている前記第二のデータの値が０（ゼロ）であるか否かに関する情報に基づいて、前記第二のデータバッファから前記第二のデータの読み出しを制御する工程と、
前記第二のデータバッファから読み出された前記第二のデータと、前記第二の情報レジスタに格納されている前記第二のデータの値が０（ゼロ）であるか否かに関する情報を用いてランレングス符号化を行う工程と、
前記ランレングス符号化を行う工程において求まった、連続して値が０（ゼロ）である前記第二のデータの個数と、前記第二のデータとの一対のデータを用いて可変長符号化を行う工程とを含む第二の処理工程とで構成されており、
前記第二の情報レジスタに基づいて、値が０（ゼロ）ではない前記第二のデータのみを前記第二のデータバッファから読み出し、前記ランレングス符号化を行う工程において、前記第二の情報レジスタにおける値が０（ゼロ）ではない前記第二のデータを示す区間を、連続して値が０（ゼロ）である前記第二のデータの個数として前記可変長符号化を行う工程へと渡すことを特徴とする符号化方法。
【請求項２９】
ランレングス符号化と可変長符号化を行う符号化方法であって、
１ブロックｍ×ｎ個のデータを順次入力する工程と、
入力された前記データに対して値が０（ゼロ）であるか否かを判定する工程と、
入力された前記データをデータバッファに格納する工程と、
値が０（ゼロ）でないと判定された前記データの前記データバッファにおけるアドレスを格納する工程と、
格納されている前記アドレスに基づいて、前記データバッファから前記データの読み出しを制御する工程と、
前記データバッファから読み出された前記データと、格納されている前記アドレスを用いてランレングス符号化を行う工程と、
前記ランレングス符号化を行う工程において求まった、連続して値が０（ゼロ）である前記データの個数と、前記データとの一対のデータを用いて可変長符号化を行う工程とを含み、
格納された前記アドレスに基づいて、値が０（ゼロ）ではない前記データのみを前記データバッファから読み出し、格納されている前回読み出したアドレスと今回読み出したアドレスの差分を、値が０（ゼロ）である前記データの個数として前記可変長符号化を行う工程へと渡すことを特徴とする符号化方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ランレングス符号化と可変長符号化の双方を用いる符号化装置及び方法に関する。特に、画像データを圧縮する画像圧縮技術で用いられている符号化装置及び方法に関する。
【０００２】
【従来の技術】
ランレングス符号化処理と可変長符号化処理を用いる符号化方法は、画像データの一般的な圧縮技術であるＪＰＥＧ（Ｊｏｉｎｔ  ＰｈｏｔｏｇｒａｐｈｉｃＥｘｐｅｒｔｓ  Ｇｒｏｕｐ）やＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）で用いられており、デジタルカメラやデジタルビデオカメラの普及、通信技術の発達等に伴って、少ない情報量でデータ転送を行うことができる技術として広く普及している。
【０００３】
図３０に、従来の画像圧縮装置の代表的な構成図を示す。図３０において、ＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）部８０１は、あらかじめ１ブロック８×８個に分割されて順次入力されてきた画像データに対して周波数変換を行い、ＤＣＴ係数を生成するものである。
【０００４】
一般に自然画像においては、大部分が色の変化は滑らかである。したがって、周波数変換を行うことによって生成される図３１に示すようなＤＣＴ係数分布においては、低周波領域ｆに大きな値を有するＤＣＴ係数が集中し、高周波領域ｇには小さな値を有するＤＣＴ係数が分布するようになる。
【０００５】
次に、生成されたＤＣＴ係数に対して、量子化部８０２において、予め設定された量子化値でＤＣＴ係数を除算することによって量子化係数を生成する。かかる処理を行うことによって、画質的に影響を与えない高周波領域ｇについては、値が０（ゼロ）となるように量子化係数を集中させることが可能となる。
【０００６】
そして、符号化部８０３において、値が０（ゼロ）であるデータの個数と量子化係数の値との組み合わせの出現率に合わせて長さの異なる符号語を割り当てることによって、データ全体の容量を小さくすることになる。
【０００７】
図３２は、従来の画像圧縮装置における符号化部８０３の構成図である。図３２において、入力手段８０４から入力された１ブロック８×８個のデータに関する量子化係数が、書き込み制御手段８０６の制御によってデータバッファ８０５へ書き込まれ、読み出し制御手段８０７の制御によってデータバッファ８０５から図４に示すようなジグザグスキャンを行うことによって順次読み出される。
【０００８】
ランレングス符号化手段８０８では、比較判定手段８１１において、読み出し制御手段８０７によって順次読み出された量子化係数が０（ゼロ）であるか否かについて判断し、量子化係数が０（ゼロ）である場合には、その個数をランレングスカウンタ８１２に累積し、０（ゼロ）でない場合には、ランレングスカウンタ８１２を‘０’に初期化する。そして、量子化係数が０（ゼロ）でない場合に読み出された量子化係数の値を示すＬＥＶＥＬ信号と、現時点における量子化係数が０（ゼロ）である場合の累積個数を示すＲＵＮ信号を出力する。
【０００９】
可変長符号化手段８０９では、ランレングス符号化手段８０８からの出力信号であるＲＵＮ信号及びＬＥＶＥＬ信号を用いて可変長符号化を行い、符号データを出力することになる。
【００１０】
しかしながら、上述したような構成では、ＬＥＶＥＬ信号とともにＲＵＮ信号も用いて符号化処理を行っていることから、値が０（ゼロ）である量子化係数を連続して読み出し、ランレングスカウンタ８１２に当該連続する個数を累積している間は、可変長符号化手段８０９において符号化処理を行うことができないため、符号化処理に待ち時間が発生してしまい、全体として符号化処理の高速化が図れないという問題点があった。
【００１１】
このような問題の一つの解決案として、（特許文献１）に開示されているような画像圧縮装置が提案されている。
【００１２】
（特許文献１）においては、図３３に示すように、ＤＣＴ／量子化部２１において、量子化されたＤＣＴ係数ＣＦ１を出力している。また、ランレングスカウンタ２３は、ＤＣＴ係数ＣＦ１が０（ゼロ）である場合にはゼロフラグＺＦを‘１’に設定し、ＤＣＴ係数ＣＦ１が０（ゼロ）でない場合にはゼロフラグＺＦを‘０（ゼロ）’に設定する。
【００１３】
ランレングスＲＬ１は、ＤＣＴ係数ＣＦ１中において、連続して値が０（ゼロ）となっている個数を示している。ランレングスＲＬ１を求めることにより、ランレングス符号化が行われる。すなわち、ランレングスカウンタ２３は、図３２におけるランレングスを求めるランレングス符号化手段８０８に対応している。
【００１４】
バッファコントローラ２４は、ゼロフラグＺＦ、ランレングスＲＬ１及びＤＣＴ係数ＣＦ１に応じて、書き込みデータＷＤをバッファ２２のアドレスＷＡに書き込む。
【００１５】
ＤＣＴ係数ＣＦ１が０（ゼロ）でない場合、書き込みデータＷＤは、上位１ビットがゼロフラグＺＦ＝‘０（ゼロ）’とＣＦ１とで構成される。
【００１６】
ＤＣＴ係数ＣＦ１が０（ゼロ）である場合、書き込みデータＷＤは、上位１ビットがゼロフラグＺＦ＝‘１’とランレングスＲＬ１とで構成される。
【００１７】
ゼロフラグＺＦが連続して‘１’である場合、すなわちＤＣＴ係数ＣＦ１が連続して０（ゼロ）である場合には、アドレスＷＡが変化しないことによって最終的にゼロフラグＺＦ＝‘１’とランレングスＲＬ１で構成される書き込みデータＷＤを、１つのアドレスにのみ格納することができる。
【００１８】
バッファコントローラ２４は、バッファ２２のアドレスＲＡからデータＲＤを読み出し、ランレングスＲＬ２とＤＣＴ係数ＣＦ２を一対のデータとして可変長符号化部２５に供給することになる。
【００１９】
【特許文献１】
特開２０００−５０２７１号公報
【００２０】
【発明が解決しようとする課題】
しかしながら、（特許文献１）に開示されているような画像圧縮装置においては、値が０（ゼロ）である量子化係数を連続して読み出し、ランレングスカウンタ２３に当該連続する個数を累積している間、符号化処理が継続できないという問題点は解消するものの、ランレングスＲＬ１のバッファへの書き込み、及びランレングスＲＬ２のバッファからの読み出しという処理は残っており、値が０（ゼロ）である量子化係数が連続する個数をバッファへ書き込み、読み出す処理が終了するまでは、可変長符号化部２５において符号化処理を行うことができない。すなわち、時間は短くなってはいるものの、依然として従来と同様の待ち時間が発生していることから、全体としてさらなる符号化処理の高速化が図れないという問題点が残されていた。
【００２１】
本発明は、上記問題点を解決するために、可変長符号化処理を行う待ち時間をさらに少なくすることによって、より符号化処理の高速化を図ることができる符号化装置及び方法を提供することを目的とする。
【００２２】
【課題を解決するための手段】
上記目的を達成するために本発明にかかる符号化装置は、ランレングス符号化と可変長符号化を行う符号化装置であって、１ブロックｍ×ｎ個のデータを順次入力する入力手段と、入力手段から入力された前記データに対して値が０（ゼロ）であるか否かを判定する比較判定手段と、比較判定手段において判定されたデータの値が０（ゼロ）であるか否かに関する情報を格納するｍ×ｎビットの情報レジスタと、入力手段から入力されたデータを格納するデータバッファと、情報レジスタに格納されているデータの値が０（ゼロ）であるか否かに関する情報に基づいて、データバッファからデータの読み出しを制御する読み出し制御手段と、データバッファから読み出されたデータと、情報レジスタに格納されているデータの値が０（ゼロ）であるか否かに関する情報を用いてランレングス符号化を行うランレングス符号化手段と、ランレングス符号化手段において求まった、連続して値が０（ゼロ）であるデータの個数と、データとの一対のデータを用いて可変長符号化を行う可変長符号化手段とを含むことを特徴とする。
【００２３】
かかる構成により、必要最低限の構成で、情報レジスタに格納されている情報に基づいてデータバッファの値が０（ゼロ）でないデータに対して読み出しを制御することができることから、値が０（ゼロ）でないデータを読み出すのに要する時間だけ、可変長符号化処理を行うまでの待ち時間を短縮することができ、全体として符号化処理を高速化することが可能となる。
【００２４】
また、本発明にかかる符号化装置は、情報レジスタにおいて、データの値が０（ゼロ）であるか否かに関する情報が、入力手段から入力されたデータに対してジグザグスキャン順に格納されることが好ましい。
【００２５】
さらに、本発明にかかる符号化装置は、データバッファに対するデータの書き込みを制御する書き込み制御手段を含み、比較判定手段においてデータの値が０（ゼロ）ではないと判定された場合にのみデータバッファに対して書き込みを行うことが好ましい。書き込み転送を少なくすることができ、データバッファの利用効率を上げることができるからである。
【００２６】
また、本発明にかかる符号化装置は、データバッファにおいて、１つのアドレスにＬ個のデータを格納できるよう構成し、さらにデータバッファから読み出されたＬ個のデータを、情報レジスタに格納されているデータの値が０（ゼロ）であるか否かに関する情報に基づいて選択して出力する選択手段を備えることが好ましい。情報レジスタを複数ビット同時に判断することができることから、連続して値が０（ゼロ）データについても同時に判断することができ、データバッファに対するアクセス時間が短くなることから、可変長符号化処理を行うまでの待ち時間を短縮することができ、全体として符号化処理を高速化することができるからである。
【００２７】
また、本発明にかかる符号化装置は、読み出し制御手段において、ｍ×ｎビットで構成される情報レジスタのビットの中で、Ｌ個のデータに対応するビットが少なくとも１つ以上０（ゼロ）でない場合にのみ、アドレスにおけるデータをデータバッファから読み出すことが好ましく、選択手段において、ｍ×ｎビットで構成される情報レジスタのビットの中で、Ｌ個のデータに対応するＬビットに基づいてデータバッファから読み出されたＬ個のデータを選択することが好ましい。
【００２８】
また、本発明にかかる符号化装置は、比較判定手段において判定されたデータの値が０（ゼロ）であるか否かに関する情報を、それぞれ異なる並び順序で格納するｍ×ｎビットの情報レジスタを少なくとも１つ以上有する情報レジスタ群と、入力手段から入力されたデータにおけるブロックの特徴を示す情報を入力する第二の入力手段と、第二の入力手段から入力されたブロックの特徴を示す情報に基づいて、情報レジスタ群から情報レジスタを選択する選択手段とを備えることが好ましい。ＭＰＥＧ−４などの複数の走査を有する可変長符号化においても符号化処理の高速化を図ることができるからである。
【００２９】
また、本発明にかかる符号化装置は、情報レジスタと、データバッファと、書き込み制御手段と、読み出し制御手段とを１系統とする処理系統を複数個有し、どの処理系統に属するデータバッファから出力するのかを切り替えてランレングス符号化手段へ出力する出力切り替え手段とを備え、一の処理系統におけるデータバッファへの書き込み処理と、他の処理系統におけるデータバッファへの読み出し処理を同時に行うことが好ましい。データの書き込み処理と読み出し処理を同時に行うようにすることで、データバッファからの読み出し時間を待つことなくデータ転送できるので、可変長符号化処理の待ち時間を短縮することができ、全体として符号化処理を高速化することができるからである。
【００３０】
また、本発明にかかる符号化装置は、情報レジスタにおけるデータの値が０（ゼロ）ではないデータの個数を累積する符号語数累積手段を含むことが好ましい。さらに、１ブロック内の領域を設定する領域設定手段を含むことも好ましい。
符号データのレート制御を行う場合、可変長符号化処理の終了を待つことなく、外部からの指示によって再度符号化処理を行うことができるからである。
【００３１】
また、本発明にかかる符号化装置は、符号語数累積手段の累積値のしきい値を設定するしきい値設定手段と、符号語数累積手段からの累積値としきい値設定手段からのしきい値とを比較する比較手段とを備えることが好ましい。可変長符号化処理の途中でも累積値をしきい値と比較判断することができることから、当該しきい値以上の場合、可変長符号化処理の終了を待たずに再度符号化を行うことが可能であり、可変長符号化処理の待ち時間を短縮することができるからである。
【００３２】
また、本発明にかかる符号化装置は、情報レジスタに格納されている値が０（ゼロ）ではないデータを示す情報が、当該ブロック内における最後の０（ゼロ）ではないデータを示す情報であるか否かを判定する最終データ判定手段を備え、最終データ判定手段は、値が０（ゼロ）ではないデータを示す情報が当該ブロック内で最後のときに最終データであることを示す情報を可変長符号化手段に出力することが好ましい。ＭＰＥＧ−４で用いられている３次元可変長符号化にも対応することができるからである。
【００３３】
また、本発明にかかる符号化装置は、データバッファへの供給クロックを制御するクロック制御手段を備え、クロック制御手段は、情報レジスタに格納されているデータの値が０（ゼロ）であるか否かに関する情報に基づいて、データの値が０（ゼロ）でない期間にのみデータバッファへクロックを供給することが好ましい。
【００３４】
次に、上記目的を達成するために本発明にかかる符号化装置は、ランレングス符号化と可変長符号化を行う符号化装置であって、１ブロックｍ×ｎ個のデータを順次入力する入力手段と、入力手段から入力されたデータに対して値が０（ゼロ）であるか否かを判定する比較判定手段と、比較判定手段において判定されたデータの値が０（ゼロ）であるか否かに関する情報を格納するｍ×ｎビットの第一の情報レジスタと、入力手段から入力されたデータを格納する第一のデータバッファと、第一のデータバッファに対するデータの書き込みを制御する書き込み制御手段とを含む第一の処理部と、第一の情報レジスタに格納されている情報に基づいて、第一のデータバッファからデータを読み出し、第二のデータを生成するプロセッサと、第二のデータを格納する第二のデータバッファと、第二のデータの値が０（ゼロ）であるか否かに関する情報を格納するｍ×ｎビットの第二の情報レジスタと、第二の情報レジスタに格納されている第二のデータの値が０（ゼロ）であるか否かに関する情報に基づいて、第二のデータバッファから第二のデータの読み出しを制御する読み出し制御手段と、第二のデータバッファから読み出された第二のデータと、第二の情報レジスタに格納されている第二のデータの値が０（ゼロ）であるか否かに関する情報を用いてランレングス符号化を行うランレングス符号化手段と、ランレングス符号化手段において求まった、連続して値が０（ゼロ）である第二のデータの個数と、第二のデータとの一対のデータを用いて可変長符号化を行う可変長符号化手段とを含む第二の処理手段とで構成されており、読み出し制御手段は、第二の情報レジスタに基づいて、値が０（ゼロ）ではない第二のデータのみを第二のデータバッファから読み出し、ランレングス符号化手段において、第二の情報レジスタにおける値が０（ゼロ）ではない第二のデータを示す区間を、連続して値が０（ゼロ）である第二のデータの個数として可変長符号化手段へ出力することを特徴とする。
【００３５】
かかる構成により、第一の処理手段と第二の処理手段をプロセッサを介して分割した構成とすることで、２つの処理間のデータ転送の際に読み出し処理分、書き込み処理分の時間を短縮することができ、可変長符号化処理の待ち時間を短縮することができることから、全体として符号化処理の高速化を図ることが可能となる。
【００３６】
また、本発明にかかる符号化装置は、プロセッサは、第二のデータを生成すると同時に、第二のデータの値が０（ゼロ）である場合には出力せず、値が０（ゼロ）である第二のデータの個数を累積し、第二のデータの値が０（ゼロ）でない場合には、第二のデータを出力すると同時に、累積されている値が０（ゼロ）である第二のデータの個数をランレングス符号化手段に出力することが好ましい。
【００３７】
次に、上記目的を達成するために本発明にかかる符号化装置は、ランレングス符号化と可変長符号化を行う符号化装置であって、１ブロックｍ×ｎ個のデータを順次入力する入力手段と、入力手段から入力されたデータに対して値が０（ゼロ）であるか否かを判定する比較判定手段と、入力手段から入力されたデータを格納するデータバッファと、比較判定手段において、値が０（ゼロ）でないと判定されたデータのデータバッファにおけるアドレスを格納するアドレス記憶手段と、アドレス記憶手段に格納されているアドレスに基づいて、データバッファからデータの読み出しを制御する読み出し制御手段と、データバッファから読み出されたデータと、アドレス記憶手段に格納されているアドレスを用いてランレングス符号化を行うランレングス符号化手段と、ランレングス符号化手段において求まった、連続して値が０（ゼロ）であるデータの個数と、データとの一対のデータを用いて可変長符号化を行う可変長符号化手段とを含み、読み出し制御手段において、アドレス記憶手段に格納されたアドレスに基づいて、値が０（ゼロ）ではないデータのみをデータバッファから読み出し、ランレングス符号化手段において、アドレス記憶手段に格納されている前回読み出したアドレスと今回読み出したアドレスの差分を、値が０（ゼロ）であるデータの個数として可変長符号化手段に出力することを特徴とする。
【００３８】
かかる構成により、アドレス記憶手段に基づいて、データバッファにおける値が０（ゼロ）でないデータに対してのみアドレスを出力することにより、値が０（ゼロ）であるデータを読み出すのに要する時間分だけ、可変長符号化処理の待ち時間を短縮することができ、全体として符号化処理を高速化することが可能となる。
【００３９】
また、発明にかかる符号化装置は、ランレングス符号化手段において、データバッファから読み出したアドレスと、１つ前に読み出したアドレスとの差分をジグザグスキャン順によって計算し、差分を値が０（ゼロ）であるデータの個数として可変長符号化手段へ出力することが好ましい。
【００４０】
さらに、本発明にかかる符号化装置は、アドレス記憶手段と読みだし制御手段がプロセッサによって処理されることが好ましい。
【００４１】
次に、上記目的を達成するために本発明にかかる符号化方法は、ランレングス符号化と可変長符号化を行う符号化方法であって、１ブロックｍ×ｎ個のデータを順次入力する工程と、入力されたデータに対して値が０（ゼロ）であるか否かを判定する工程と、判定されたデータの値が０（ゼロ）であるか否かに関する情報をｍ×ｎビットの情報レジスタに格納する工程と、入力されたデータをデータバッファに格納する工程と、データバッファに対するデータの書き込みを制御する工程と、情報レジスタに格納されているデータの値が０（ゼロ）であるか否かに関する情報に基づいて、データバッファからデータの読み出しを制御する工程と、データバッファから読み出されたデータと、情報レジスタに格納されているデータの値が０（ゼロ）であるか否かに関する情報を用いてランレングス符号化を行う工程と、ランレングス符号化を行う工程において求まった、連続して値が０（ゼロ）であるデータの個数と、データとの一対のデータを用いて可変長符号化を行う工程とを含むことを特徴とする。
【００４２】
かかる構成により、必要最低限の構成で、情報レジスタに格納されている情報に基づいてデータバッファの値が０（ゼロ）でないデータに対して読み出しを制御することができることから、値が０（ゼロ）でないデータを読み出すのに要する時間だけ、可変長符号化処理を行うまでの待ち時間を短縮することができ、全体として符号化処理を高速にすることが可能となる。
【００４３】
また、本発明にかかる符号化方法は、データバッファにおいて、１つのアドレスにＬ個のデータを格納できるよう構成し、さらにデータバッファから読み出されたＬ個のデータを、情報レジスタに格納されているデータの値が０（ゼロ）であるか否かに関する情報に基づいて選択して出力する工程を含むことが好ましい。情報レジスタを複数ビット同時に判断することができることから、連続して値が０（ゼロ）データについても同時に判断することができ、データバッファに対するアクセス時間が短くなることから、可変長符号化処理を行うまでの待ち時間を短縮することができ、全体として符号化処理を高速化することができるからである。
【００４４】
また、本発明にかかる符号化方法は、データの値が０（ゼロ）であるか否かに関する情報を、それぞれ異なる並び順序で格納するｍ×ｎビットの情報レジスタを少なくとも１つ以上有する情報レジスタ群を有し、入力されたデータにおけるブロックの特徴を示す情報を入力する工程と、入力されたブロックの特徴を示す情報に基づいて、情報レジスタ群から情報レジスタを選択する工程とをさらに含むことが好ましい。ＭＰＥＧ−４などの複数の走査を有する可変長符号化においても符号化処理の高速化を図ることができるからである。
【００４５】
また、本発明にかかる符号化方法は、判定されたデータの値が０（ゼロ）であるか否かに関する情報をｍ×ｎビットの情報レジスタに格納する工程と、入力手段から入力されたデータをデータバッファに格納する工程と、データバッファに対するデータの書き込みを制御する工程と、情報レジスタに格納されているデータの値が０（ゼロ）であるか否かに関する情報に基づいて、データバッファからデータの読み出しを制御する工程とを１系統とする処理系統を複数個有し、どの処理系統に属するデータバッファから出力するのかを切り替える工程をさらに含み、一の処理系統におけるデータバッファへの書き込み処理と、他の処理系統におけるデータバッファへの読み出し処理を同時に行うことが好ましい。データの書き込み処理と読み出し処理を同時に行うようにすることで、データバッファからの読み出し時間を待つことなくデータ転送できるので、可変長符号化処理の待ち時間を短縮することができ、全体として符号化処理を高速化することができるからである。
【００４６】
また、本発明にかかる符号化方法は、情報レジスタにおけるデータの値が０（ゼロ）ではないデータの個数を累積する工程を含むことが好ましい。さらに、本発明にかかる符号化方法は、１ブロック内の領域を設定する工程を含むことが好ましい。符号データのレート制御を行う場合、可変長符号化処理の終了を待つことなく、外部からの指示によって再度符号化処理を行うことができるからである。
【００４７】
また、本発明にかかる符号化方法は、累積値のしきい値を設定する工程と、累積値としきい値とを比較する工程をさらに含むことが好ましい。可変長符号化処理の途中でも累積値をしきい値と比較判断することができることから、当該しきい値以上の場合、可変長符号化処理の終了を待たずに再度符号化を行うことが可能であり、可変長符号化処理の待ち時間を短縮することができるからである。
【００４８】
また、本発明にかかる符号化方法は、情報レジスタに格納されている値が０（ゼロ）ではないデータを示す情報が、当該ブロック内における最後の０（ゼロ）ではないデータを示す情報であるか否かを判定する工程を含み、値が０（ゼロ）ではないデータを示す情報が当該ブロック内で最後のときに最終データであることを示す情報を出力することが好ましい。ＭＰＥＧ−４で用いられている３次元可変長符号化にも対応することができるからである。
【００４９】
また、本発明にかかる符号化方法は、データバッファへの供給クロックを制御する工程を含み、情報レジスタに格納されているデータの値が０（ゼロ）であるか否かに関する情報に基づいて、データの値が０（ゼロ）でない期間にのみデータバッファへクロックを供給することが好ましい。値が０（ゼロ）でないデータの個数分のみデータバッファに対してクロックを供給できることから、消費電力の抑制が可能となり、低電力化を実現できるからである。
【００５０】
次に、上記目的を達成するために本発明にかかる符号化方法は、ランレングス符号化と可変長符号化を行う符号化方法であって、１ブロックｍ×ｎ個のデータを順次入力する工程と、入力されたデータに対して値が０（ゼロ）であるか否かを判定する工程と、判定されたデータの値が０（ゼロ）であるか否かに関する情報をｍ×ｎビットの第一の情報レジスタに格納する工程と、入力されたデータを第一のデータバッファに格納する工程と、第一のデータバッファに対するデータの書き込みを制御する工程とを含む第一の処理工程と、第一の情報レジスタに格納されている情報に基づいて、第一のデータバッファからデータを読み出し、第二のデータを生成する工程と、第二のデータを第二のデータバッファに格納する工程と、第二のデータの値が０（ゼロ）であるか否かに関する情報をｍ×ｎビットの第二の情報レジスタに格納する工程と、第二の情報レジスタに格納されている第二のデータの値が０（ゼロ）であるか否かに関する情報に基づいて、第二のデータバッファから第二のデータの読み出しを制御する工程と、第二のデータバッファから読み出された第二のデータと、第二の情報レジスタに格納されている第二のデータの値が０（ゼロ）であるか否かに関する情報を用いてランレングス符号化を行う工程と、ランレングス符号化を行う工程において求まった、連続して値が０（ゼロ）である第二のデータの個数と、第二のデータとの一対のデータを用いて可変長符号化を行う工程とを含む第二の処理工程とで構成されており、第二の情報レジスタに基づいて、値が０（ゼロ）ではない第二のデータのみを第二のデータバッファから読み出し、ランレングス符号化を行う工程において、第二の情報レジスタにおける０（ゼロ）ではない第二のデータを示す区間を、連続して値が０（ゼロ）である第二のデータの個数として可変長符号化を行う工程へと渡すことを特徴とする。
【００５１】
かかる構成により、第一の処理手段と第二の処理手段をプロセッサを介して分割した構成とすることで、２つの処理間のデータ転送の際に読み出し処理分、書き込み処理分の時間を短縮することができ、可変長符号化処理の待ち時間を短縮することができることから、全体として符号化処理の高速化を図ることが可能となる。
【００５２】
次に、上記目的を達成するために本発明にかかる符号化方法は、ランレングス符号化と可変長符号化を行う符号化方法であって、１ブロックｍ×ｎ個のデータを順次入力する工程と、入力されたデータに対して値が０（ゼロ）であるか否かを判定する工程と、入力されたデータをデータバッファに格納する工程と、値が０（ゼロ）でないと判定されたデータのデータバッファにおけるアドレスを格納する工程と、格納されているアドレスに基づいて、データバッファからデータの読み出しを制御する工程と、データバッファから読み出されたデータと、格納されているアドレスを用いてランレングス符号化を行う工程と、ランレングス符号化を行う工程において求まった、連続して値が０（ゼロ）であるデータの個数と、データとの一対のデータを用いて可変長符号化を行う工程とを含み、格納されたアドレスに基づいて、値が０（ゼロ）ではないデータのみをデータバッファから読み出し、ランレングス符号化を行う工程において、格納されている前回読み出したアドレスと今回読み出したアドレスの差分を、値が０（ゼロ）であるデータの個数として可変長符号化を行う工程へと渡すことを特徴とする。
【００５３】
かかる構成により、アドレス記憶手段に基づいて、データバッファにおける値が０（ゼロ）でないデータに対してのみアドレスを出力することにより、値が０（ゼロ）であるデータを読み出すのに要する時間分だけ、可変長符号化処理の待ち時間を短縮することができ、全体として符号化処理を高速化することが可能となる。
【００５４】
【発明の実施の形態】
（実施の形態１）
以下、本発明の実施の形態１にかかる符号化装置について、図面を参照しながら説明する。図１は本発明の実施の形態１にかかる符号化装置の構成図である。
なお、本実施の形態１においては、１ブロックのデータが８×８個の場合について説明する。
【００５５】
図１において、２は１ブロック８×８個のデータを順次入力する入力手段を、３は入力手段２から入力されたデータに対して、値が０（ゼロ）であるか否かを判定する比較判定手段を、４は比較判定手段３におけるデータ値が０（ゼロ）であるか否かに関する判定情報を格納する８×８ビットの情報レジスタを、５は入力手段２から入力されたデータを格納するデータバッファを、それぞれ示している。
【００５６】
また、６はデータバッファ５に対するデータの書き込みを制御する書き込み制御手段を、７はデータバッファ５からのデータの読み出しを制御する読み出し制御手段を、それぞれ示している。
【００５７】
さらに、８はデータバッファ５から読み出されたデータと、情報レジスタ４から読み出された判定情報に基づいて、値が０（ゼロ）であるデータの個数を累積し、連続した値を有するデータの個数を用いて符号化するランレングス符号化を行うランレングス符号化手段を、９はランレングス符号化手段８から出力された値が０（ゼロ）であるデータの個数とデータ自体とを一対のデータとして用いることで可変長符号化を行う可変長符号化手段を、１０は可変長符号化手段９からの符号データを出力する出力手段を、それぞれ示している。
【００５８】
図２は、本発明の実施の形態１にかかる符号化装置における処理の流れ図である。図２にしたがって、処理の流れについて説明する。
【００５９】
まず入力手段２から、１ブロック８×８個のデータが図３に示すように順次左上から右下に向かって入力され（ステップＳ２０１）、比較判定手段３によってデータの値が０（ゼロ）であるか否かが判定される（ステップＳ２０２）。
【００６０】
比較判定手段３における判定結果は情報レジスタ４へ格納される（ステップＳ２０３）。例えば、データの値が０（ゼロ）である場合には‘０’が、０（ゼロ）でない場合には‘１’が、それぞれ格納されることになる
この時、情報レジスタ４へは１ブロックのデータに対して図４に示すようにジグザグスキャン順、すなわち１つ目のデータの判定結果を１番目のビットへ、２つ目のデータの判定結果を２番目のビットへ、３つ目の判定結果を６番目のビットへ、というように図５に示すような並び順に従って格納する。
【００６１】
また、書き込み制御手段６は、入力手段２からのデータが比較判定手段３によって判定されるのと同時に、例えばＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）で構成されるデータバッファ５のアドレスを順次更新し、入力手段２からのデータ自体を書き込む（ステップＳ２０４）。
【００６２】
入力手段２から１ブロック分のデータ入力が終了すると（ステップＳ２０５：Ｙｅｓ）、読み出し制御手段７は、データバッファ５に対して、情報レジスタ４に‘１’が格納されているビットに相当するアドレスを出力し、値が０（ゼロ）でないデータを読み出し、図６に示すようにアドレスを遷移させることで連続して値が０（ゼロ）でないデータのみを読み出す動作を行う（ステップＳ２０６）。
【００６３】
すなわち、図６に示すように、任意の位置ビットｘに対応するアドレスをＡｘとすると、値が０（ゼロ）でないデータを読み出すために、アドレスがＡ１→Ａ２→Ａ１７→Ａ１１・・というように連続して遷移していくことになる。
【００６４】
ランレングス符号化手段８では、情報レジスタ４に記憶されている情報に基づいて、現在の情報レジスタ４におけるビット位置と前回読み出したデータの末尾に相当する情報レジスタ４におけるビット位置との区間を計算し、この区間の長さを値が０（ゼロ）であるデータの個数として、データバッファ５から読み出されたデータとともに可変長符号化手段９へ出力する（ステップＳ２０７）。なお、図５に情報レジスタ４への格納レコードの例示図を示しているが、例えば現在の情報レジスタ４におけるビット位置が‘１７’であるとすると、現在の情報レジスタ４におけるビット位置と前回読み出したデータの末尾に相当する情報レジスタ４におけるビット位置との区間は、区間ａに相当することになる。
【００６５】
可変長符号化手段９では、ランレングス符号化手段８から出力された、値が０（ゼロ）であるデータの個数とデータとを一対のデータとして用いることにより可変長符号化を行い、出力手段１０へ符号データを出力することになる（ステップＳ２０８）。
【００６６】
また、図７に示す構成のように、比較判定手段３における判定結果に応じて書き込み処理を行うか否かを決定することも考えられる。すなわち、比較判定手段３における判定結果において値が０（ゼロ）であるデータの場合、書き込み制御手段６がデータバッファ５のアドレスを更新せず、書き込み処理自体を行わないようにしても良い。
【００６７】
さらに、図８に示す構成のように、情報レジスタ４の代わりにアドレス記憶手段１１を用いる構成も考えられる。この場合、比較判定手段３において値が０（ゼロ）でないと判定されたデータを書き込むデータバッファ５のアドレスを、アドレス記憶手段１１に記憶することになる。
【００６８】
そして、読み出し制御手段７は、アドレス記憶手段１１に記憶されているアドレスのみを出力することで、値が０（ゼロ）であるデータ以外のデータのみを読み出すよう制御する。ランレングス符号化手段８は、前回読み出したアドレスと今回読み出したアドレスに基づいて、図９に示すようにジグザグスキャン順に、値が０（ゼロ）であるデータの個数を計算することになる。すなわち、アドレス１と２の間には‘０’個、アドレス２と１７の間には‘１’個、アドレス１７と１１の間には‘３’個、アドレス１１と２６の間には‘３’個、というように計算することになる。
【００６９】
また、図１０に示す構成のように、比較判定手段３において、値が０（ゼロ）でないと判定されたデータを書き込むデータバッファ５のアドレスをプロセッサ１２が記憶する構成とすることも考えられる。この場合、プロセッサ１２がデータを読み出すアドレスを記憶していることから、データバッファ５に対して直接アドレスを出力することによって、値が０（ゼロ）でないデータを読み出すことが可能となる。
【００７０】
また、プロセッサ１２がデータを読み出すアドレスを記憶していることから、プロセッサ１２は、図９に示すようなジグザグスキャン順に、連続して値が０（ゼロ）であるデータの個数を計算して、ランレングス符号化手段８に出力することができる。
【００７１】
以上のような構成にすることによって、読み出し制御手段７は情報レジスタ４に格納されている情報に基づいて、値が０（ゼロ）でないデータのみに対してアドレスを出力するようにできる。その結果、値が０（ゼロ）であるデータを読み出すのに要する時間だけ、データバッファ５に対するアクセス時間が短くなることから、可変長符号化処理を行うまでの処理時間を短くすることができ、符号化処理全体を高速化することが可能となる。
【００７２】
また、ランレングス符号化手段８が、情報レジスタ４に格納されている情報に基づいて、現在の情報レジスタ４におけるビット位置と前回読み出した値が０（ゼロ）でないデータに相当する情報レジスタ４におけるビット位置との区間を計算することで、現在のビット位置における連続して値が０（ゼロ）であるデータの個数が算出できることから、ランレングスをカウントする手段自体も不要となる。
【００７３】
さらに、書き込み制御手段６においては、比較判定手段３において値が０（ゼロ）であると判定されたデータについてのみ、データバッファ５に対して書き込みを行うようにできることから、書き込み転送量を少なくすることができ、データバッファ５の利用効率を上げることも可能となる。
【００７４】
また、プロセッサ１２がアドレスを記憶する場合においては、データバッファ５に対して値が０（ゼロ）でないデータを読み出すアドレスを直接出力することが可能となり、アドレスを記憶する手段自体が不要となることから、ハードウェア構成を削減することが可能となる。
【００７５】
（実施の形態２）
以下、本発明の実施の形態２にかかる符号化装置について図面を参照しながら説明する。なお、実施の形態１と同様の構成については、同一の符号を付することによって詳細な説明を省略している。また、本実施の形態２においても、１ブロックのデータが８×８個の場合について説明する。
【００７６】
図１１に本発明の実施の形態２にかかる符号化装置１０１の概略構成図を示す。図１１においては、実施の形態１にかかる符号化装置に対して、データバッファ５について、入力手段２から入力されたデータを１つのアドレスに例えば２個格納することができるようにし、データバッファ５から出力されるデータを選択する選択手段１１０を備えている点に特徴を有している。入力手段２、比較判定手段３、情報レジスタ４については、実施の形態１における動作と同様である。
【００７７】
図１１において、書き込み制御手段６は、入力手段２から入力されたデータが比較判定手段３において判定されるのと同時に、図１２（ａ）に示すように、データバッファ５に対して、１つのアドレスにジグザグスキャン順に２個のデータをまとめて記憶させるようにアドレスを出力する。つまり１番目及び２番目のデータはアドレスＡ０に、９番目及び１７番目のデータはアドレスＡ１に、１０番目及び３番目のデータはアドレスＡ２に、というように書き込む。すなわち、図１２（ｂ）のように、１つのアドレスに対して２個のデータが保存されることになる。１つのアドレスに対するデータの格納方法は、ジグザグスキャンの順序において先の順番のデータを上位側に、後の順番のデータを下位側に、それぞれ格納するようにする。
【００７８】
入力手段２から１ブロック分のデータ入力が終了すると、読み出し制御手段７は、データバッファ５のアドレスに対応する情報レジスタ４におけるビット情報、すなわち図１３に示す各アドレスに対応する２つのビットを同時に判断し、どちらか１つの値が０（ゼロ）でない場合、あるいはどちらの値も０（ゼロ）でない場合に、データバッファ５に対して情報レジスタ４における現在のビット位置に対応するアドレスを出力することになる。
【００７９】
読み出し制御手段７では、さらに読み出したデータのどちらの値が０（ゼロ）でないかを示す情報レジスタ４の２ビット分を選択手段１１０へ出力し、選択手段１１０は、当該２ビットの上位ビットが‘１’である場合、データバッファ５から読み出されたデータの上位を、当該２ビットの下位ビットが‘１’である場合、データバッファ５から読み出されたデータの下位を出力する。さらに選択手段１１０は、情報レジスタ４の２ビットがどちらも‘１’である場合は、データバッファ５から読み出されたデータを上位、下位の順に出力することになる。
【００８０】
そして、ランレングス符号化手段８は、読み出し制御手段７が情報レジスタ４に格納されている情報に基づいてデータバッファ５のアドレスからデータを読み出すのと同時に、読み出したデータの上位あるいは下位のどちらかの値が０（ゼロ）でない場合は、図１３に示すように、現在の情報レジスタ４におけるビット位置と前回読み出したデータの末尾に相当する情報レジスタ４におけるビット位置との区間ｂを計算し、値が０（ゼロ）であるデータの個数として計算する。
【００８１】
情報レジスタ４に格納されている情報に基づいて読み出したデータの上位、下位どちらの値も０（ゼロ）でない場合、上位のデータと対になる０（ゼロ）の個数として、現在の情報レジスタ４におけるビット位置と前回読み出したデータの末尾に相当する情報レジスタ４におけるビット位置との区間、すなわち図１３におけるｂを出力し、下位のデータと対になる値が０（ゼロ）であるデータの個数として、値が０（ゼロ）でないデータが連続していることを表すため、‘０’を出力する。
【００８２】
以下、可変長符号化手段９は実施の形態１における動作と同様である。
【００８３】
以上のように、データバッファ５において、１つのアドレスに複数のデータを関連付けて格納するようにし、さらに読み出し制御手段７において情報レジスタ４に格納されている情報について複数ビット単位で値が０（ゼロ）であるか否かについて判断することによって、連続して値が０（ゼロ）でないデータであるか否かについても同時に判断することができ、連続して値が０（ゼロ）である場合には、その分だけデータバッファ５に対するアクセス時間を短くすることができることから、可変長符号化処理を行うまでの時間を短くすることができ、符号化処理の高速化を図ることが可能となる。
【００８４】
なお、本実施の形態２においては、データバッファ５の１つのアドレスに対して２つのデータを格納するようにした場合について説明しているが、特にこれに限定されるものではなく、１つのアドレスに対して２つ以上のデータを格納するようにしても良い。
【００８５】
（実施の形態３）
以下、本発明の実施の形態３にかかる符号化装置について図面を参照しながら説明する。なお、実施の形態１と同様の構成については、同一の符号を付することによって詳細な説明を省略している。また、本実施の形態３においても、１ブロックのデータが８×８個の場合について説明する。
【００８６】
図１４に、本発明の実施の形態３にかかる符号化装置の概略構成図を示す。図１４からも明らかなように、本実施の形態３においては、実施の形態１に対して、比較判定手段３における値が０（ゼロ）であるデータであるか否かを判定した結果について、それぞれ異なる並び順で格納する８×８ビットの情報レジスタを少なくとも１つ以上有する情報レジスタ群２０４と、入力手段２から入力される符号化対象ブロックの特徴を示す情報を入力する第二の入力手段２０５と、第二の入力手段２０５において入力された符号化対象ブロックの特徴を示す情報に基づいて情報レジスタ群２０４から情報レジスタを１つ選択する情報レジスタ選択手段２０６とを備えている点に特徴を有している。なお、入力手段２、比較判定手段３、書き込み制御手段５は実施の形態１における動作と同様である。
【００８７】
図１４において、第二の入力手段２０５からは、例えばＭＰＥＧ−４の空間予測符号化であるＡＣ／ＤＣ予測の結果が入力される。
【００８８】
そして、入力されたＡＣ／ＤＣ予測の結果に基づいて、選択手段２０６において適切な情報レジスタが選択されることにより、符号化対象ブロックについて可変長符号化する際に用いる走査の順序が選択されることになる。図１４の例では、情報レジスタｃが選択された場合には、図４に示すようなジグザグスキャンが、情報レジスタｄが選択された場合には、図１５に示す水平優先スキャンが、そして情報レジスタｅが選択された場合には、図１６に示す垂直優先スキャンが、それぞれ選択されることになる。
【００８９】
情報レジスタ群２０４のうち、情報レジスタｃへは、１ブロックのデータに対して図４に示すようにジグザグスキャン順、すなわち１つ目のデータの判定結果を１番目のビットへ、２つ目のデータの判定結果を２番目のビットへ、３つ目の判定結果を６番目のビットへ、というように図５に示すようなレコードとして格納している。
【００９０】
情報レジスタｄへは、１ブロックのデータに対して図１５に示すようにＭＰＥＧ−４で用いられる水平優先スキャン順、すなわち１つ目のデータの判定結果を１番目のビットへ、２つ目のデータの判定結果を２番目のビットへ、３つ目のデータの判定結果を３番目のビットへ、というように図１７に示すようなレコードとして格納している。
【００９１】
情報レジスタｅへは、１ブロックのデータに対して図１６に示すようにＭＰＥＧ−４で用いられる垂直優先スキャン順、すなわち１つ目のデータの判定結果を１番目のビットへ、２つ目のデータの判定結果を９番目のビットへ、３つ目のデータの判定結果を１７番目のビットへ、というように図１８に示すようなレコードとして格納している。
【００９２】
そして、情報レジスタ選択手段２０６においては、第二の入力手段２０５から入力されたＡＣ／ＤＣ予測の結果に基づいて、情報レジスタ群２０４のうち１つの情報レジスタを選択し、読み出し制御手段７に対して選択された情報レジスタに格納されている情報を出力することになる。
【００９３】
以下、読み出し制御手段７、ランレングス符号化手段８、可変長符号化手段９における動作は実施の形態１と同様である。
【００９４】
以上のように、情報レジスタ群２０４に複数の並び順を有する情報レジスタを準備しておき、第二の入力手段２０５から入力される情報に基づいて情報レジスタを選択できるようにすることにより、例えばＭＰＥＧ−４等の可変長符号化においても符号化の高速化を図ることが可能となる。
【００９５】
なお、本実施の形態３では、例としてＭＰＥＧ−４のＡＣ／ＤＣ予測の結果を第二の入力とした場合について説明しているが、特にこれに限定されるものではなく、他の情報に基づいて情報レジスタを選択する構成であっても良い。
【００９６】
また、本実施の形態３においては、３種類の異なる走査による格納順序を有する情報レジスタの中から１つ選択する場合について説明しているが、特にこの構成に限定されるものではなく、その他の走査による格納順序を有する情報レジスタを準備しておくようにしても良い。
【００９７】
（実施の形態４）
以下、本発明の実施の形態４にかかる符号化装置について図面を参照しながら説明する。なお、実施の形態１と同様の構成については、同一の符号を付することによって詳細な説明を省略している。また、本実施の形態４においても、１ブロックのデータが８×８個の場合について説明する。
【００９８】
本実施の形態４は、実施の形態１に対して、情報レジスタへの入力されたデータについての値が０（ゼロ）であるか否かに関する情報の格納から、データバッファからのデータ読み出しまでの処理系統を複数個有する点に特徴を有する。以下、かかる処理系統を２個有する場合を例に挙げて説明する。
【００９９】
図１９に、本発明の実施の形態４にかかる符号化装置の概略構成図を示す。図１９において、比較判定手段３における判定の結果、入力されたデータについての値が０（ゼロ）であるか否かに関する情報を格納する８×８ビットの情報レジスタ３０４と、入力手段２から入力されたデータを格納するデータバッファ３０５と、データバッファ３０５へ対しての書き込みを制御する書き込み制御手段３０６と、データバッファ３０５からの読み出しを制御する読み出し制御手段３０７と、データバッファ５とデータバッファ３０５からのデータを切り替えて出力する切り替え手段３０８とを、新たに備えている。
【０１００】
まず図１９において、実施の形態１と同様の処理をする情報レジスタ４、データバッファ５、書き込み制御手段６、読み出し制御手段７を用いた一連の処理系統を処理Ａと、実施の形態１と同様の処理をする情報レジスタ３０４、データバッファ３０５、書き込み制御手段３０６、読み出し制御手段３０７を用いた一連の処理系統を処理Ｂとする。
【０１０１】
入力手段２から入力された１ブロック８×８個のデータを、比較判定手段３において判定し、処理Ａによってデータバッファ５への書き込み処理を行う。次に、入力手段２から入力された１ブロック分のデータの入力が終わると、処理Ａによるデータバッファ５からの読み出し処理が行われ、切り替え手段３０８から出力される。かかる処理Ａによる読み出し処理の開始と同時に、入力手段２から次の１ブロック分のデータが順次入力され、比較判定手段３において判定し、処理Ｂによってデータバッファ３０５への書き込み処理を行う。
【０１０２】
さらに入力手段２から入力された１ブロック分のデータの入力が終わると、処理Ｂによるデータバッファ３０５からの読み出し処理が行われ、切り替え手段３０８から出力される。かかる処理Ｂによる読み出し処理の開始と同時に、入力手段２から次の１ブロック分のデータが順次入力され、比較判定手段３において判定し、処理Ａによってデータバッファ５への書き込み処理を行う。このように、処理Ａと処理Ｂを交互に行いながら符号化処理を行うことになる。なお、ランレングス符号化手段８、可変長符号化手段９については、実施の形態１における動作と同様である。
【０１０３】
このように、実施の形態１と同様の情報レジスタへの入力されたデータについての値が０（ゼロ）であるか否かに関する情報の格納から、データバッファからのデータ読み出しまでの処理系統を複数個有することによって、データバッファへのデータの書き込み処理と読み出し処理を同時並行的に実行することができ、その時間分だけ、データバッファからの読み出し時間を待つことなく符号化処理を行うことができることから、全体として符号化処理の高速化を図ることが可能となる。
【０１０４】
なお、本実施の形態４においては、データバッファごとに書き込み制御手段及び読み出し制御手段を備える構成として説明しているが、１つの書き込み制御手段及び読み出し制御手段によって両方のデータバッファを制御する構成としても良い。
【０１０５】
（実施の形態５）
以下、本発明の実施の形態５にかかる符号化装置について図面を参照しながら説明する。なお、実施の形態１と同様の構成については、同一の符号を付することによって詳細な説明を省略している。また、本実施の形態５においても、ＪＰＥＧなどの符号化において、１ブロックのデータが８×８個の場合について説明する。
【０１０６】
図２０に本発明の実施の形態５にかかる符号化装置の概略構成図を示す。本実施の形態５においては、実施の形態１に対して、情報レジスタ４における値が０（ゼロ）ではないデータの個数を累積する符号語数累積手段４０２と、符号語数累積手段４０２が累積する１ブロック内の領域を設定する領域設定手段４０３と、符号語数累積手段４０２による累積値を出力する出力手段４０４とを備えている点に特徴を有する。
【０１０７】
ＪＰＥＧなどの符号化技術では、符号化されたデータ容量を制御するため、従来は図２１の処理流れ図に示しているように、ＤＣＴ処理（ステップＳ２１１）、量子化処理を行い（ステップＳ２１２）、可変長符号化によって符号化を行い（ステップＳ２１３）、生成された一画面分の符号量を計算して（ステップＳ２１４）、符号量の累積値が適正な範囲内であるか否かを所定のしきい値と比較することで判定している（ステップＳ２１５）。
【０１０８】
すなわち、一画面分の符号量の累積値が設定された所定のしきい値を超えた場合（ステップＳ２１５：Ｙｅｓ）、符号量を減少できるよう値が０（ゼロ）である係数を多くするために、量子化処理において除算に用いられる量子化値を変更し（ステップＳ２１６）、符号化処理を再度行う。一画面分の符号量の累積値が設定された所定のしきい値以下となった場合（ステップＳ２１５：Ｎｏ）、生成符号を出力することになる（ステップＳ２１７）。
【０１０９】
このように、従来の符号化技術においては、符号化されたデータ容量を制御するためには一度符号化処理を完了させてから、再度量子化値を変更して符号化処理を行う必要があった。
【０１１０】
一般に、可変長符号については、値が０（ゼロ）でないデータに対して符号語が割り当てられることから、値が０（ゼロ）でないデータが多いほど符号語数は多くなる。そこで、本実施の形態５においては、情報レジスタ４において、値が‘１’である個数を累積することによって、符号化処理を完了することなく符号データ量の適否を判定することができるようにした。
【０１１１】
本実施の形態５にかかる符号化装置における処理の流れ図を図２２に示す。図２２において、入力されてくるデータに対してＤＣＴ処理（ステップ２２１）、及び量子化処理（ステップＳ２２２）を行い、可変長符号化処理を行うと同時に（ステップＳ２２３）、符号語数累積手段４０２において情報レジスタ４に格納されている値が０（ゼロ）であるか否かを判定し（ステップＳ２２４）、値が‘１’であるデータの個数を累積する（ステップＳ２２５）。
【０１１２】
この符号語数累積手段４０２での累積に際して、高周波領域のデータは比較的画質に影響を与えないことから、領域設定手段４０３においては高周波領域に領域を設定することが好ましい。そのようにすることで、画質に影響を与えることなく指定領域において値が０（ゼロ）であるデータを多く含むように量子化値を変更することができ、符号量を小さくすることができるからである。
【０１１３】
そこで、領域設定手段４０３においては、図２３に示すように、例えば１ブロック内における高周波領域を符号語数累積範囲として設定し、符号語数累積手段４０２は領域設定手段４０３によって設定された領域内に相当する情報レジスタ４における値が‘１’であるデータの個数を１画面分累積して、出力手段４０４から出力する。
【０１１４】
そして、出力手段４０４から出力された累積値に基づいて、例えば外部プロセッサを用いて所定のしきい値と比較し（ステップＳ２２６）、所定のしきい値以上であれば（ステップＳ２２６：Ｙｅｓ）、符号化されたデータ容量が過多であると判断し、可変長符号化手段９において可変長符号化を終了する前に量子化値を変更して（ステップＳ２２７）、再度可変長符号化処理を行うことになる。
【０１１５】
出力手段４０４から出力された累積値が所定のしきい値以下であれば（ステップＳ２２６：Ｎｏ）、符号化されたデータ容量が適切であると判断し、可変長符号化手段９において可変長符号化処理を継続して、符号語を生成することになる（ステップＳ２２８）。
【０１１６】
また、図２４に示すように、符号語数累積手段４０２における累積値に対するしきい値を設定するしきい値設定手段４０５と、符号語数累積手段４０２からの累積値と符号語数しきい値設定手段４０５において設定されたしきい値とを比較する比較手段４０６と、比較手段４０６における比較結果を示す情報を出力する出力手段４０７とをさらに備えてもよい。
【０１１７】
このようにすることで、図２５の処理流れ図に示すように、累積値の大小判断を符号化処理において行うことができるようになることから、外部プロセッサ等を用いる必要がなくなり、ブロック単位で符号データのレート制御を行うことが可能となる。
【０１１８】
以上のような構成にすることによって、可変長符号化において符号データのレート制御を行う場合、可変長符号化処理の終了を待つことなく再度符号化処理を行うことが可能であり、待ち時間が短縮した分だけ符号化処理の高速化を図ることが可能となる。
【０１１９】
（実施の形態６）
以下、本発明の実施の形態６にかかる符号化装置について図面を参照しながら説明する。なお、実施の形態１と同様の構成については、同一の符号を付することによって詳細な説明を省略している。また、本実施の形態６においても、１ブロックのデータが８×８個の場合について説明する。
【０１２０】
図２６に本発明の実施の形態６にかかる符号化装置の概略構成図を示す。本実施の形態６は、実施の形態１に対して、情報レジスタ４に格納されている、値が０（ゼロ）ではないデータを示す情報が、当該ブロック内における最後の０（ゼロ）ではないデータを示す情報であるか否かを判定する最終データ判定手段５０２を備える点に特徴を有している。なお、入力手段２、比較判定手段３、情報レジスタ４、書き込み制御手段６、読み出し制御手段７は、実施の形態１における動作と同様である。
【０１２１】
読み出し制御手段７が、データバッファ５に対して、現在のブロックにおいて最後の０（ゼロ）ではないデータを読み出すアドレスを出力すると同時に、最終データ判定手段５０２は、情報レジスタ４に格納されている情報に基づいて、現在のブロック内で最後の０（ゼロ）でないデータであるか否かを判定し、その判定結果に関する情報を可変長符号化手段９へ出力する。
【０１２２】
このように最終データ判定手段５０２が、情報レジスタ４に格納されている情報に基づいて、現在のブロック内における最後の値が０（ゼロ）でないデータを判定できるようにすることによって、可変長符号化手段９は、例えばＭＰＥＧ−４で用いられている、データ値の大きさを示すＬＥＶＥＬ信号と、ランレングスを示すＲＵＮ信号と、最終データ情報を示すＬＡＳＴ信号によって行う３次元可変長符号化に対応することが可能となる。
【０１２３】
（実施の形態７）
以下、本発明の実施の形態７にかかる符号化装置について図面を参照しながら説明する。なお、実施の形態１と同様の構成については、同一の符号を付することによって詳細な説明を省略している。また、本実施の形態７においても、１ブロックのデータが８×８個の場合について説明する。
【０１２４】
図２７に本発明の実施の形態７にかかる符号化装置の概略構成図を示す。本実施の形態７は、実施の形態１に対して、情報レジスタ４に格納されている情報に基づいてデータバッファ５へのクロック供給を制御するクロック制御手段６０２を備えている点に特徴を有している。なお、入力手段２、比較判定手段３、情報レジスタ４、書き込み制御手段６、読み出し制御手段７は、実施の形態１における動作と同様である。
【０１２５】
クロック制御手段６０２は、情報レジスタ４に格納されている情報に基づいて、例えば値が０（ゼロ）でないデータを表す‘１’の個数を累積することによって、現在のブロックに値が０（ゼロ）でないデータがいくつあるか判定することができる。
【０１２６】
そのため、クロック制御手段６０２は、読み出し制御手段７が情報レジスタ４に格納されている情報に基づいて、データバッファ５に対して値が０（ゼロ）でないデータのみのアドレスを出力する期間、すなわち値が０（ゼロ）でないデータの個数分の期間のみデータバッファ５に対してクロックを供給する。
【０１２７】
以上のように、クロック制御手段６０２において、情報レジスタ４に格納されている情報に基づいて、値が０（ゼロ）でないデータの個数分のみデータバッファ５に対してクロックを供給することにより、消費電力の抑制が可能となり、低電力化を実現することが可能となる。
【０１２８】
（実施の形態８）
以下、本発明の実施の形態８にかかる符号化装置について図面を参照しながら説明する。本実施の形態８は、実施の形態１における処理全体を、複数の処理に分割し、パイプライン処理のような先回り制御を行うことによって、符号化処理の高速化を図るものである。また、本実施の形態８においても、１ブロックのデータが８×８個の場合について説明する。
【０１２９】
図２８に本発明の実施の形態８にかかる符号化装置の概略構成図を示す。図２８においては、符号化処理全体をデータバッファへの書き込み処理までの第一の処理と、データバッファからの読み出し処理以降の第二の処理とに分割した場合について説明する。
【０１３０】
まず、７０２は１ブロック８×８個のデータを順次入力する入力手段を、７０３は入力手段７０２から入力されたデータに対して値が０（ゼロ）であるか否かを判定する比較判定手段を、７０４は比較判定手段７０３における判定により、データの値が０（ゼロ）であるか否かに関する情報を格納する８×８ビットの第一の情報レジスタを、７０５は入力手段７０２から入力されたデータを格納する第一のデータバッファを、７０６は第一のデータバッファ７０５へ対するデータの書き込みを制御する書き込み制御手段を、それぞれ示している。
【０１３１】
そして、７０７はプロセッサを示しており、第一の情報レジスタ７０４に格納されている情報及び第一のデータバッファ７０５に格納されているデータを量子化処理し、第二の情報レジスタ７０９及び第二のデータバッファ７０８に転送するものである。
【０１３２】
また、７１０は第二のデータバッファ７０８からのデータ読み出しを制御する読み出し制御手段を、７１１は第二のデータバッファ７０８から読み出されたデータと、第二の情報レジスタ７０９に格納されている情報とに基づいて、連続して値が０（ゼロ）であるデータの個数を計算してランレングス符号化を行うランレングス符号化手段を、７１２はランレングス符号化手段７１１から出力される連続して値が０（ゼロ）であるデータの個数とデータとの一対のデータを用いることで可変長符号化を行う可変長符号化手段を、７１３は可変長符号化手段７１２からの符号データを出力する出力手段を、それぞれ示している。
【０１３３】
第一の処理においては、まず入力手段７０２から、例えばＪＰＥＧで用いられるＤＣＴの結果が１ブロック８×８個のデータを一単位として入力され、比較判定手段７０３によって、入力された全てのデータについて値が０（ゼロ）であるか否か判定される。
【０１３４】
比較判定手段３による判定の結果は、例えば値が０（ゼロ）である場合には‘０’として、０（ゼロ）でない場合には‘１’として、それぞれ第一の情報レジスタ７０４へ格納される。
【０１３５】
書き込み制御手段７０６は、入力手段７０２から入力されたデータが比較判定手段７０３において判定されるのと同時に、例えばＲＡＭ等で構成される第一のデータバッファ７０５のアドレスを順次更新して、入力手段７０２から入力されるＤＣＴ係数を書き込む。
【０１３６】
プロセッサ７０７は、第一の情報レジスタ７０４に格納されている情報を８×８ビット分読み込み、第一のデータバッファ７０５に対して、第一の情報レジスタ７０４に値‘１’が格納されているビットに相当するアドレスにアクセスし、値が０（ゼロ）でないデータを読み出し、図６に示すようにアドレスを遷移させることで連続して値が０（ゼロ）でないデータのみを読み出す動作を行う。
【０１３７】
さらにプロセッサ７０７は、第一のデータバッファ７０５から値が０（ゼロ）でないデータを読み出した後、量子化処理により量子化係数を生成し、量子化係数が０（ゼロ）でない場合、第二のデータバッファ７０８へ、第一のデータバッファ７０５から読み出したアドレスと同じアドレスに生成した量子化係数を書き込む。
【０１３８】
さらに第二の情報レジスタ７０９の該当するビットへ、書き込む量子化係数が０（ゼロ）であるか否かに関する情報を書き込む。この時、プロセッサ７０７は、第二のデータバッファ７０８への書き込み処理を行う前に、第二の情報レジスタ７０９におけるすべてのビットを‘０’にしておく必要がある。すなわち、第二の情報レジスタ７０９を初期化しておくことになる。
【０１３９】
以下、第二の読み出し制御手段７１０、第二のランレングス符号化手段７１１、第二の可変長符号化手段７１２は実施の形態１において対応する読み出し制御手段７、ランレングス符号化手段８、可変長符号化手段９の動作と同様である。
【０１４０】
このように第一の処理と第二の処理とを、プロセッサ７０７を介して配置する構成とすることによって、処理間のデータ転送の際における読み出し処理及び書き込み処理分の時間を短縮することができる。したがって、全体として符号化処理の高速化を図ることが可能となる。
【０１４１】
なお、プロセッサ７０７は、データバッファ７０５からのデータ読み出し処理と第二のデータバッファ７０８への書き込み処理を１データずつ交互に行っても良いし、値が０（ゼロ）でないデータの読み出し終了後に書き込み処理を行っても良い。
【０１４２】
さらに情報レジスタ７０９は、１ブロック処理終了後にすべてのビットが‘０’に自動的に初期化される構成であっても良い。
【０１４３】
また、図２９に示すような構成も考えられる。図２９においては、第二の処理を具体的な符号化処理に特化したものである。
【０１４４】
すなわち、プロセッサ７０７が、情報レジスタ７０４に格納されている情報に基づいて、データバッファ７０５から値が０（ゼロ）でないデータを読み出すのと同時に、現在の情報レジスタ７０４におけるビット位置と前回読み出したデータの末尾に相当する情報レジスタ７０４におけるビット位置との区間、例えば図５におけるａを求め、値が０（ゼロ）であるデータの個数をカウントし、量子化処理を行うことによって、量子化係数が０（ゼロ）になった場合には値が０（ゼロ）であるデータの個数を‘１’追加し、次の値が０（ゼロ）でないデータを情報レジスタ７０４に格納されている情報に基づいてデータバッファ７０５から読み出す。
【０１４５】
そして、量子化係数が０（ゼロ）ではない場合、当該量子化係数をランレングス符号化手段７１１に出力するのと同時に、累積されている値が０（ゼロ）であるデータの個数も出力する。
【０１４６】
以上のように、第一の処理と第二の処理とを、プロセッサを介して配置する構成とすることによって、処理間のデータ転送の際における読み出し処理及び書き込み処理分の時間を短縮することができることから、全体として符号化処理の高速化を図ることが可能となる。
【０１４７】
【発明の効果】
以上のように本発明にかかる符号化装置によれば、情報レジスタに格納されている情報に基づいて、データバッファの値が０（ゼロ）でないデータに対して読み出しを制御する等、読み出し時間の短縮や書き込み転送時間の短縮等を図ることによって、可変長符号化処理における待ち時間を短縮することによって、符号化処理全体を高速化することが可能となる。
【図面の簡単な説明】
【図１】本発明の実施の形態１にかかる符号化装置の構成図
【図２】本発明の実施の形態１にかかる符号化装置における処理の流れ図
【図３】本発明の実施の形態１にかかる符号化装置における入力手段における入力順序の説明図
【図４】本発明の実施の形態１にかかる符号化装置における情報レジスタへの格納順序の説明図
【図５】本発明の実施の形態１にかかる符号化装置における情報レジスタの格納レコードの例示図
【図６】本発明の実施の形態１にかかる符号化装置における読み出しアドレス遷移例示図
【図７】本発明の実施の形態１にかかる符号化装置の他の構成図
【図８】本発明の実施の形態１にかかる符号化装置の他の構成図
【図９】本発明の実施の形態１にかかる符号化装置における値が０（ゼロ）であるデータの個数計算方法の説明図
【図１０】本発明の実施の形態１にかかる符号化装置の他の構成図
【図１１】本発明の実施の形態２にかかる符号化装置の構成図
【図１２】本発明の実施の形態２にかかる符号化装置におけるデータの取得方法及びデータバッファ構成の例示図
【図１３】本発明の実施の形態２にかかる符号化装置における情報レジスタの格納レコードの例示図
【図１４】本発明の実施の形態３にかかる符号化装置の構成図
【図１５】本発明の実施の形態３にかかる符号化装置における水平優先スキャン順の説明図
【図１６】本発明の実施の形態３にかかる符号化装置における垂直優先スキャン順の説明図
【図１７】本発明の実施の形態３にかかる符号化装置における水平優先スキャン順採用時の情報レジスタの格納レコードの例示図
【図１８】本発明の実施の形態３にかかる符号化装置における垂直優先スキャン順採用時の情報レジスタの格納レコードの例示図
【図１９】本発明の実施の形態４にかかる符号化装置の構成図
【図２０】本発明の実施の形態５にかかる符号化装置の構成図
【図２１】従来の符号データ量制御の処理流れ図
【図２２】本発明の実施の形態５にかかる符号化装置における符号データ量制御の処理流れ図
【図２３】本発明の実施の形態５にかかる符号化装置における累積領域設定の例示図
【図２４】本発明の実施の形態５にかかる符号化装置の他の構成図
【図２５】本発明の実施の形態５にかかる符号化装置における符号データ量制御の処理流れ図
【図２６】本発明の実施の形態６にかかる符号化装置の構成図
【図２７】本発明の実施の形態７にかかる符号化装置の構成図
【図２８】本発明の実施の形態８にかかる符号化装置の構成図
【図２９】本発明の実施の形態８にかかる符号化装置の他の構成図
【図３０】従来の画像符号化装置の構成図
【図３１】ＤＣＴ係数値の例示図
【図３２】従来の画像符号化装置における符号化部の構成図
【図３３】従来の画像符号化装置の他の構成図
【符号の説明】
２  入力手段
３  比較判定手段
４、３０４  情報レジスタ
５、２２、３０５、８０５  データバッファ
６、３０６、８０６  書き込み制御手段
７、３０７、８０７  読み出し制御手段
８、８０８  ランレングス符号化手段
９、８０９  可変長符号化手段
１０  符号データ出力手段
１１  アドレス記憶手段
１２  プロセッサ
２１  ＤＣＴ／量子化部
２３、８１２  ランレングスカウンタ
２４  バッファコントローラ
２５  可変長符号化部
１１０  選択手段
２０４  情報レジスタ群
２０５  第二の入力手段
２０６  情報レジスタ選択手段
３０８  出力切り替え手段
４０２  符号語累積手段
４０３  累積領域設定手段
４０４  累積数出力手段
４０５  しきい値設定手段
４０６  比較判定手段
４０７  比較結果出力手段
５０２  最終データ判定手段
６０２  クロック制御手段
７０２  第一の入力手段
７０３  第一の比較判定手段
７０４  第一の情報レジスタ
７０５  第一のデータバッファ
７０６  第一の書き込み制御手段
７０７  プロセッサ
７０８  第二のデータバッファ
７０９  第二の情報レジスタ
７１０  第二の読み出し制御手段
７１１  第二のランレングス符号化手段
７１２  第二の可変長符号化手段
７１３  符号語数の出力手段
８０１  ＤＣＴ部
８０２  量子化部
８０３  符号化部
８０４  入力手段
８１０  符号語出力手段
８１１  比較判定手段
【図１】
2004166083.tif 000003
【図２】
2004166083.tif 000004
【図３】
2004166083.tif 000005
【図４】
2004166083.tif 000006
【図５】
2004166083.tif 000007
【図６】
2004166083.tif 000008
【図７】
2004166083.tif 000009
【図８】
2004166083.tif 000010
【図９】
2004166083.tif 000011
【図１０】
2004166083.tif 000012
【図１１】
2004166083.tif 000013
【図１２】
2004166083.tif 000014
【図１３】
2004166083.tif 000015
【図１４】
2004166083.tif 000016
【図１５】
2004166083.tif 000017
【図１６】
2004166083.tif 000018
【図１７】
2004166083.tif 000019
【図１８】
2004166083.tif 000020
【図１９】
2004166083.tif 000021
【図２０】
2004166083.tif 000022
【図２１】
2004166083.tif 000023
【図２２】
2004166083.tif 000024
【図２３】
2004166083.tif 000025
【図２４】
2004166083.tif 000026
【図２５】
2004166083.tif 000027
【図２６】
2004166083.tif 000028
【図２７】
2004166083.tif 000029
【図２８】
2004166083.tif 000030
【図２９】
2004166083.tif 000031
【図３０】
2004166083.tif 000032
【図３１】
2004166083.tif 000033
【図３２】
2004166083.tif 000034
【図３３】
2004166083.tif 000035