(57)【要約】【課題】  ライン単位の符号量を計算できる符号化装置を提供する。【解決手段】  算術符号化装置５は、画像データを演算して符号データと桁上がりビットを出力する算術演算部５１と、画像データのライン間の切れ目を指示する信号、符号データおよび桁上げビットに基づいて、１ライン単位に符号量を計算する符号量監視部５３とを備える。また、符号量監視部５３は、算術演算部５１から出力される符号データを解析して確定した符号量と未確定な符号量を生成する符号解析部５３１と、確定した符号量と未確定な符号量に基づいて、１ライン内の確定した符号量と、１ライン内の未確定な符号量を計算する符号量計算部５３２と、１ライン内に未確定な符号が含まれていた場合、未確定な符号が確定した時の桁上がり状態毎の符号量を保持しておき、未確定な符号が確定した時の桁上がり状態に従った符号量を計算する未確定符号量計算部５３３とを有する。【選択図】          図３
2005142921.tif 000002
【特許請求の範囲】
【請求項１】
入力される画像データを符号化する符号化装置において、
前記画像データを演算して符号データと桁上がりビットを出力する演算部と、
前記画像データのライン間の切れ目を指示する信号、前記符号データおよび前記桁上げビットに基づいて、１ライン単位に符号量を計算する符号量監視部とを備えることを特徴とする符号化装置。
【請求項２】
前記符号化装置は更に、前記１ライン単位に計算した符号量が所定の閾値を超えた際、前記画像データの解像度を変換する解像度変換部を有することを特徴とする請求項１記載の符号化装置。
【請求項３】
前記符号化装置は更に、前記１ラインに計算した符号量が所定の閾値を超えた際、前記画像データの外部への出力速度を低下させる画像出力部を有することを特徴とする請求項１又は請求項２記載の符号化装置。
【請求項４】
前記符号量監視部は、前記演算部から出力される符号データを解析して確定した符号量と未確定な符号量を生成する符号解析部と、
前記確定した符号量と前記未確定な符号量に基づいて、前記１ライン内の確定した符号量と、前記１ライン内の未確定な符号量を計算する符号量計算部と、
前記１ライン内に未確定な符号が含まれていた場合、該未確定な符号が確定した時の桁上がり状態毎の符号量を保持しておき、前記未確定な符号が確定した時の桁上がり状態に従った符号量を計算する未確定符号量計算部とを含むことを特徴とする請求項１から請求項３のいずれか一項に記載の符号化装置。
【請求項５】
前記未確定符号量計算部は、符号の未確定状態が複数ラインにまたがる際、前回のラインの符号量と今回のラインの符号量のうち大きい方の符号量を用いることを特徴とする請求項４記載の符号化装置。
【請求項６】
入力される画像データを符号化する符号化方法において、
前記画像データを演算して符号データと桁上がりビットを出力する第１のステップと、
前記画像データのライン間の切れ目を指示する信号、前記符号データおよび前記桁上げビットに基づいて、１ライン単位に符号量を計算する第２のステップとを有することことを特徴とする符号化方法。
【請求項７】
前記符号化方法は更に、前記１ライン単位で計算した符号量が所定の閾値を超えた際、前記画像データの解像度を変換する第３のステップを有することを特徴とする請求項６記載の符号化方法。
【請求項８】
前記符号化方法は更に、前記１ラインで計算した符号量が所定の閾値を超えた際、前記画像データの外部への出力速度を低下させる第４のステップを有することを特徴とする請求項６又は請求項７記載の符号化方法。
【請求項９】
前記第２のステップは、前記第１のステップで出力される符号データを解析して確定した符号量と未確定な符号量を生成する第５のステップと、
前記確定した符号量と前記未確定な符号量に基づいて、前記１ライン内の確定した符号量と、前記１ライン内の未確定な符号量を計算する第６のステップと、
前記１ライン内に未確定な符号が含まれていた場合、該未確定な符号が確定した時の桁上がり状態毎の符号量を保持しておき、前記未確定な符号が確定した時の桁上がり状態に従った符号量を計算する第７のステップとを含むことを特徴とする請求項６から請求項８のいずれか一項に記載の符号化方法。
【請求項１０】
前記第７のステップは、符号の未確定状態が複数ラインにまたがる際、前回のラインの符号量と今回のラインの符号量のうち大きい方の符号量を用いることを特徴とする請求項９記載の符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化装置および符号化方法に関する。
【背景技術】
【０００２】
近年、ディジタル複写機やファクシミリに代表されるようにディジタル画像を処理する機器では、解像度の向上や１画素値の情報量の増大に伴って処理情報量が増加し、また、必然的にデータ処理の高速化が進んでいる。データ処理の高速化については、処理自体の高速化も重要であるが、加えて大容量のデータの受け渡しに要する時間を短縮することも重要である。特に後者は近年重要になっており、その１つとしてデータ自体を効率よく圧縮して転送データ量を減らす方法が注目されている。どのような画像に対しても効率よく圧縮することができる符号化方式として、算術符号化方式が知られている。
【０００３】
この算術符号化方式は、符号化シンボルを既に符号化済みの周辺画素の状態によって予測し、予測結果をその状態毎に定まる符号化シンボルの確率推定値に基づき符号化するというものである。このような算術符号化を用いる従来技術として以下のようなものが提案されている。
【０００４】
特許文献１記載には、入力画像データをバンド単位に圧縮したときに発生する符号量を監視し、符号量が閾値を超えたときには、符号量が閾値を下回るまで入力画像データを平滑化処理して再度圧縮する技術が開示されている。
【０００５】
また、特許文献２には、算術符号化した符号をメモリに書き込む際に、符号量を監視し、閾値を上回った時には、入力画像の現ラインを前ラインと同一とみなして符号化する技術が開示されている。
【０００６】
【特許文献１】特開平１１−９８３６５号公報
【特許文献２】特開平１０−２２４６３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、算術符号化した符号をメモリから読み出し、復号して、ライン同期信号にしたがってリアルタイムに出力する場合、ライン同期信号１ライン分の時間に、メモリから復号器に対して１ライン分の符号を必ず転送しなければならない。ライン同期信号１ライン分の時間に転送できる符号量はメモリバスの性能によって決まっており、符号化時には、１ライン単位に発生する符号をこれ以下にしなければならない。算術符号では、その特徴から１ラインごとに符号が確定するわけでなく、ライン単位の符号量を正確に計算することが困難であるという問題がある。
【０００８】
また、特許文献１記載の符号化装置では、画像データをバンド単位に分割した場合の符号量を計算しており、１バンドを１ラインとすればライン単位といえるが、その度に符号化を終了しては効率が悪い。
【０００９】
また、特許文献２記載の画像処理装置では、１ページ全体の符号量を追跡しているため、どこがラインの切れ目かを判断できずライン単位の正確な符号量は分からない。
【００１０】
そこで、本発明は上記問題点に鑑みてなされたもので、ライン単位の符号量を計算できる符号化装置および符号化方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明の符号化装置は、請求項１に記載のように、入力される画像データを符号化する符号化装置において、前記画像データを演算して符号データと桁上がりビットを出力する演算部と、前記画像データのライン間の切れ目を指示する信号、前記符号データおよび前記桁上げビットに基づいて、１ライン単位に符号量を計算する符号量監視部とを備えることを特徴とする。請求項１記載の発明によれば、画像データのライン間の切れ目を指示する信号、符号データおよび桁上げビットを用いることにより、１ライン単位に符号量を計算することができる。これにより、安定した画像出力を可能にできる。
【００１２】
また、本発明は、請求項２に記載のように、請求項１記載の符号化装置において、更に、前記１ライン単位に計算した符号量が所定の閾値を超えた際、前記画像データの解像度を変換する解像度変換部を有することを特徴とする。請求項２記載の発明によれば、１ライン単位に計算した符号量が所定の閾値を超えた際に、画像データの解像度を変換するようにしたので、安定した画像出力が可能になる。
【００１３】
また、本発明は、請求項３に記載のように、請求項１又は請求項２記載の符号化装置において、更に、前記１ラインに計算した符号量が所定の閾値を超えた際、前記画像データの外部への出力速度を低下させる画像出力部を有することを特徴とする。請求項３記載の発明によれば、１ライン単位に計算した符号量が所定の閾値を超えた際に、画像データの外部への出力速度を低下させるようにしたので、安定した画像出力が可能になる。
【００１４】
また、本発明は、請求項４に記載のように、請求項１から請求項３のいずれか一項に記載の符号化装置において、前記符号量監視部は、前記演算部から出力される符号データを解析して確定した符号量と未確定な符号量を生成する符号解析部と、前記確定した符号量と前記未確定な符号量に基づいて、前記１ライン内の確定した符号量と、前記１ライン内の未確定な符号量を計算する符号量計算部と、前記１ライン内に未確定な符号が含まれていた場合、該未確定な符号が確定した時の桁上がり状態毎の符号量を保持しておき、前記未確定な符号が確定した時の桁上がり状態に従った符号量を計算する未確定符号量計算部とを含むことを特徴とする。
【００１５】
請求項４記載の発明によれば、符号データを解析し、符号量が確定している状態か否かを判断する。確定していない場合は、以後に桁上がりが伝播して確定する場合の符号量と、桁上がり伝播無しで確定する場合の符号量とを順次計算しておき、確定時にはその桁上がり伝播状態にしたがった符号量を計算することにより、１ライン中に未確定な符号を含む場合であっても、正確に１ライン単位の符号量を計算することができる。
【００１６】
また、本発明は、請求項５に記載のように、請求項４記載の符号化装置において、前記未確定符号量計算部は、符号の未確定状態が複数ラインにまたがる際、前回のラインの符号量と今回のラインの符号量のうち大きい方の符号量を用いることを特徴とする。請求項５記載の発明によれば、符号の未確定状態が複数ラインにまたがる場合でも、前回のラインの符号量と今回のラインの符号量のうち大きい方の符号量を用いることにより、未確定のラインを含む場合でも、安定して画像を出力できる。
【００１７】
また、本発明の符号化方法は、請求項６に記載のように、入力される画像データを符号化する符号化方法において、前記画像データを演算して符号データと桁上がりビットを出力する第１のステップと、前記画像データのライン間の切れ目を指示する信号、前記符号データおよび前記桁上げビットに基づいて、１ライン単位に符号量を計算する第２のステップとを有することことを特徴とする。請求項６記載の発明によれば、画像データのライン間の切れ目を指示する信号、符号データおよび桁上げビットを用いることにより、１ライン単位に符号量を計算することができる。これにより、安定した画像出力を可能にできる。
【００１８】
また、本発明は、請求項７に記載のように、請求項６記載の符号化方法において、更に、前記１ライン単位で計算した符号量が所定の閾値を超えた際、前記画像データの解像度を変換する第３のステップを有することを特徴とする。請求項７記載の発明によれば、１ライン単位で計算した符号量が所定の閾値を超えた際に、画像データの解像度を変換するようにしたので、安定した画像出力が可能になる。
【００１９】
また、本発明は、請求項８に記載のように、請求項６又は請求項７記載の符号化方法において、更に、前記１ラインで計算した符号量が所定の閾値を超えた際、前記画像データの外部への出力速度を低下させる第４のステップを有することを特徴とする。請求項８記載の発明によれば、１ライン単位で計算した符号量が所定の閾値を超えた際に、画像データの外部への出力速度を低下させるようにしたので、安定した画像出力が可能になる。
【００２０】
また、本発明は、請求項９に記載のように、請求項６から請求項８のいずれか一項に記載の符号化方法において、前記第２のステップは、前記第１のステップで出力される符号データを解析して確定した符号量と未確定な符号量を生成する第５のステップと、前記確定した符号量と前記未確定な符号量に基づいて、前記１ライン内の確定した符号量と、前記１ライン内の未確定な符号量を計算する第６のステップと、前記１ライン内に未確定な符号が含まれていた場合、該未確定な符号が確定した時の桁上がり状態毎の符号量を保持しておき、前記未確定な符号が確定した時の桁上がり状態に従った符号量を計算する第７のステップとを含むことを特徴とする。請求項９記載の発明によれば、１ライン中に未確定な符号を含む場合であっても、正確に１ライン単位の符号量を計算することができる。
【００２１】
また、本発明は、請求項１０に記載のように、請求項９記載の符号化方法において、前記第７のステップは、符号の未確定状態が複数ラインにまたがる際、前回のラインの符号量と今回のラインの符号量のうち大きい方の符号量を用いることを特徴とする。請求項１０記載の発明によれば、符号の未確定状態が複数ラインにまたがる場合でも、前回のラインの符号量と今回のラインの符号量のうち大きい方の符号量を用いることにより、未確定のラインを含む場合でも、安定して画像を出力できる。
【発明の効果】
【００２２】
本発明によれば、ライン単位の符号量を計算できる符号化装置および符号化方法を提供することができる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明を実施するための最良の形態について実施例を用いて説明する。
【実施例】
【００２４】
本発明の実施例について図面を用いて説明する。図１は、本実施例に係る算術符号化装置のブロック図である。図１に示すように、算術符号化装置１は、ＣＰＵ（Central  Processing  Unit）２、メモリ３、解像度変換部４、算術符号化部５、算術復号化部６、画像出力部７を有する。
【００２５】
算術符号化装置１は、入力される画像データを算術符号化するものである。ＣＰＵ２は、算術符号化装置１全体を制御する。メモリ３は、ＣＰＵ２が実行する各種プログラムおよび画像データを格納する。解像度変換部４は、画像データの解像度を変換する。算術符号化部５は、メモリ３に格納された画像データを算術符号化してメモリ３に戻す。算術復号化部６は、メモリ３上の符号データを読み出し、復号して画像出力部７に画像データを出力する。また、算術復号化部６は内部に数ライン分の画像データを保持するバッファを備える。画像出力部７は、算術復号化部６からの画像データを外部へ出力する。
【００２６】
上記構成において、算術符号化部５は、ライン単位の符号量を監視し、閾値を超えた場合は、ＣＰＵ２に割り込みを出力する。ＣＰＵ２は、割り込みを受けた後、画像データを解像度変換部４によって解像度を落して算術符号化部５に入力する。なお、ＣＰＵ２は、１ライン単位の符号量が閾値を超えた際、画像出力部７からの画像データの出力速度を低下させるなどの方法を用いるようにしてもよい。これにより、安定した画像の出力が可能になる。
【００２７】
次に、上記算術符号化部５について説明する。図２は、算術符号化部５の構成を示す図である。図２に示すように、算術符号化部５は、算術演算部５１、桁上がり制御部５２、符号量監視部５３を有する。算術演算部５１は、入力画像を１画素毎に算術演算し、任意のタイミングで１６ビット単位に符号を出力する。この算術演算部５１は、符号の出力と同時に桁上がりビットを出力する。また、算術演算部５１は、１ラインの算術演算が終了するとライン終了信号を出力する。
【００２８】
このライン終了信号により、ラインの終了を判別することができるが、正確な符号量は分からない。この正確な符号量が分からない場合というのは、算術演算部５１から出力された符号にＦＦｈ（ｈは１６進数表示であることを示す）が含まれている場合だけである。ＦＦｈ符号の場合、桁上がりが伝播すると、００ｈになるため、符号量は１バイトである。桁上がりが伝播しない場合は、ＦＦｈ符号にスタッフバイドが挿入され２バイトの符号量となる。したがって、ＦＦ符号が続くときは、符号が確定してからでないと正確な符号量が分からない。ＦＦが連続して発生する数には、制限がないため、極端なことをいうとページの最後まで正確な符号量が分からない場合もありえる。本実施例では、このような場合でも１ライン単位の符号量を算出することができるようにしている。
【００２９】
桁上がり制御部５２は、算術演算部５１からの桁上がりビットが桁上がりを示している場合、その前の符号に桁上がりを伝播させる処理（桁上がり伝播処理）を行う。また、桁上がり制御部５２は、桁上がり伝播処理の他に、確定したバイト単位の符号がＦＦｈであったときに、ＦＦｈの直後にスタッフバイト００ｈを挿入する処理を行う。たとえば、桁上がり制御部５２は、ＦＦＦＦ１４５２ｈという４バイトの符号が確定した場合は、ＦＦ００ＦＦ００１４５２ｈという６バイトの符号にして出力する。このスタッフバイト挿入処理があるため、算術演算部５１から出力された符号をカウントしているだけでは正確な符号量が分からない。桁上がり制御部５２が出力する算術符号はメモリ３へ戻される。
【００３０】
符号量監視部５３は、算術演算部５１で処理される画像データのライン間の切れ目を指示する信号（ライン終了信号）と、算術演算部５１から出力される符号データと、桁上がりビットとに基づいて、１ライン単位に符号量を計算する。この符号量監視部５３は、ライン単位の符号量を監視し、所定の閾値を超えた場合にはＣＰＵ２に割り込みを出力する。
【００３１】
次に、符号量監視部５３について説明する。図３は、符号量監視部５３の構成を示す図である。図３に示すように、符号量監視部５３は、符号解析部５３１、符号量計算部５３２、未確定符号量計算部５３３、閾値比較器５３４を有する。符号量監視部５３は、算術演算部５１からのライン終了信号と、１６ビットの符号データと、桁上がりビットとに基づいて、ライン単位の符号量を監視し、閾値を超えた場合にはＣＰＵ２に割り込みを出力する。符号解析部５３１は、算術演算部５１から入力される符号１６ビット（２バイト）を解析し、確定した符号量と未確定な符号量を生成し、これらの符号量、確定ステータス信号、確定時の桁上がり状態信号およびＦＥモード移行信号を出力する。
【００３２】
図４は、符号解析部５３１の状態を示す図である。符号解析部５３１では、具体的には、図４に示すように、８つの状態が考えられる。図４において、符号データはバイト単位で２バイト、「ＸＸ」はＦＦ以外のバイトデータを意味する。符号解析部５３１は、符号データ「ＸＸ  ＸＸ」および桁上がりビットが入力されると、確定符号量「２」、未確定符号量「０」、確定ステータス（確定＝「１」）、桁上がり状態（あり＝「１」、なし＝「０」）を出力する（状態番号（１）（２））。符号解析部５３１は、符号データ「ＦＦ  ＸＸ」および桁上がりビットが入力されると、確定符号量「３」、未確定符号量「０」、確定ステータス（確定＝「１」）、桁上がり状態（あり＝「１」、なし＝「０」）を出力する（状態番号（３）（４））。
【００３３】
符号解析部５３１は、符号データ「ＸＸ  ＦＦ」および桁上がりビットが入力されると、確定符号量「１」、未確定符号量「１」、確定ステータス（確定＝「１」）、桁上がり状態（あり＝「１」、なし＝「０」）を出力する（状態番号（５）（６））。符号解析部５３１は、符号データ「ＦＦ  ＦＦ」および桁上がりビットが入力されると、確定符号量「０」、未確定符号量「２」、確定ステータス（確定＝「０」）、桁上がり状態（あり＝「１」、なし＝「０」）を出力する（状態番号（７）（８））。
【００３４】
また、符号解析部５３１は、符号データにＦＥバイトが含まれており、このＦＥバイト後に桁上がりによってＦＦに変化する可能性がある場合に、ＦＥモード移行信号を出力する。ここで、符号バイトがＦＦに変化するということは、符号量がスタッフバイト分の１バイト増えることを意味する。具体的には、符号解析部５３１は、入力される２バイトの符号データが「ＦＥＦＦ」あるいは下位１バイトが「ＦＥ」であったときにＦＥモード移行信号を出力する。
【００３５】
符号量計算部５３２は、符号解析分５３１からの信号および算術演算部５１からのライン終了信号に基づいて、１ライン単位の合計確定符号量と、ライン終了時に未確定の符合量（合計未確定符号量）を計算し、これらの符号量、内部状態スタータス信号およびＦＥモード信号を出力する。未確定符号量計算部５３３は、ライン終了時に未確定符号が含まれていた場合に、その未確定符号が確定した時の桁上がり状態毎の符号量を保持しておき、確定した時には桁上がり状態に従った符号量を出力する。
【００３６】
閾値比較器５３４は、符号量が予め設定された閾値を超えていた時にＣＰＵ２へ割り込みを出力する。ここで、閾値と比較する符号量は２種類有り、１つは符号量計算部５３２から入力される合計確定符号量、もう１つは、未確定符号量計算部５３３から入力される確定保留符号量である。この符号量の選択は、未確定符号量計算部５３３から入力される確定タイミング信号によって行われ、確定タイミング信号が入力されたときは、確定保留符号量と閾値が比較される。それ以外は合計確定符号量が選択される。
【００３７】
また、閾値比較器５３４が比較するタイミングは、（１）ライン終了信号が入力され、かつ、符号量計算部５３２の内部状態ステータスが確定状態「１」であった時と、（２）未確定符号量計算部５３３から確定タイミング信号が入力された時である。上記（１）については、現ラインの符号量が確定して終了したときに符号量計算部５３２から入力される合計確定符号量と閾値を比較するタイミングである。（２）については、すでに未確定で終了した以前のライン符号量が確定して確定保留符号量と閾値を比較するタイミングである。
【００３８】
次に、符号量計算部５３２について説明する。図５は符号量計算部５３２の構成を示す図である。図６は、符号解析部５３１から出力されるデータの一例を示している。図７は、内部状態制御部５３２ｆの内部状態ステータスの状態遷移を説明するための図である。図５に示すように、符号量計算部５３２は、セレクタ５３２ａ、５３２ｂ、５３２ｃ、レジスタ５３２ｄ、５３２ｅ、内部状態制御部５３２ｆ、ＦＦモード制御部５３２ｇ、５つの加算器５３２ｈ〜５３２ｌ、乗算器５３２ｍを有する。
【００３９】
この符号量計算部５３２は、符号解析分５３１からの信号および算術演算部５１からのライン終了信号に基づいて、１ライン単位の合計確定符号量と、ライン終了時に１ライン単位の未確定の符合量（合計未確定符号量）を計算し、合計確定符号量、合計未確定符号量、内部状態スタータス信号およびＦＥモード信号を出力する。
【００４０】
セレクタ５３２ａは、入力確定ステータスおよび桁上がり信号に応じて加算出力１〜３のうちのいずれかを出力する。セレクタ５３２ｂは、入力確定ステータス、桁上がり信号およびＦＥモード信号に応じてセレクタ５３２ａまたはＦＥプラス信号を出力する。セレクタ５３２ｃは、入力確定ステータスおよび内部状態ステータスに応じて加算出力４または入力未確定符号量を出力する。レジスタ５３２ｄは、セレクタ５３２ｂからの確定符号量を保持する。レジスタ５３２ｅは、セレクタ５３２ｃからの未確定符号量を保持する。レジスタ５３２ｄおよび５３２ｅは、ライン終了信号が入力されると、それぞれ保持している符号量をクリアする。
【００４１】
内部状態制御部５３２ｆは、図７に示すように、入力未確定符号量が「０」の場合には確定状態になり、入力未確定符号量が「０」以外の場合には未確定状態になる。ＦＥモード制御部５３２ｇについて説明する。図８は、ＦＥモード制御部５３２ｇの状態遷移を示す図である。ＦＥモード制御部５３２ｇは、符号解析部５３１からＦＥモード移行信号が入力されると、ＦＥモードに移行し、ＦＥモード信号をセレクタ５３２ｂおよび未確定符号量計算部５３３に出力する。ＦＥモードから初期モードに戻る条件は、符号解析部５３１から入力確定ステータスが「１」の時で、かつ、ＦＥモード移行信号が入力されない時である。入力確定ステータスが「１」でＦＥモード移行信号が入力された時は、ＦＥモードのままである。このＦＥモード信号はセレクタ５３２ｂの選択に影響する。
【００４２】
セレクタ５３２ｂは、ＦＥモードでない時、セレクタ５３２ａの出力を選択し、レジスタ５３２ｄに出力する。一方、セレクタ５３２ｂは、ＦＥモード中、確定ステータスが「１」でかつ、入力桁上がり信号が「１」の時のみＦＥプラス出力を選択する。これは、ＦＥバイトがＦＦになり、符号量が１バイト増えることを意味する。
【００４３】
図６に示す入力符号状態番号は、図４の状態番号に対応し、符号量計算部５３２に、入力符号状態番号（１）〜（８）のデータおよびライン終了信号が入力されると、レジスタ５３２ｄからは１ライン単位の合計確定符号量が出力され、レジスタ５３２ｅからはライン終了時に未確定な合計未確定符号量が出力される。以下、このデータが入力された時の符号量計算部５３２の処理を説明する。なお、以下では、ＦＥモード制御部５３２ｇからＦＥモード信号がセレクタ５３２ｂに入力されていないケースについて説明する。
【００４４】
最初に、入力符号状態番号（１）のデータが入力されると、セレクタ５３２ａから加算出力１が出力され、セレクタ５３２ｂからはセレクタ５３２ａの出力が出力され、その値がレジスタ５３２ｄに保持される。レジスタ５３２ｄの初期状態は「０」であり、入力確定符号量は「２」であるから加算出力１は「２」を示す。したがって、レジスタ５３２ｄには「２」が保持され、合計確定符号量になる。また、セレクタ５３２ｃからは入力未確定符号量が出力され、その値がレジスタ５３２ｅに保持される。レジスタ５３２ｅの初期状態は「０」であり、入力未確定符号量は「０」である。
【００４５】
次に、入力符号状態番号（３）のデータが入力された時は、入力確定符号量は「３」、入力未確定符号量は「０」である。この時、セレクタ５３２ａからは加算出力１が出力され、その値がレジスタ５３２ｄに保持される。加算出力１は「５」である。また、セレクタ５３２ｃからは入力未確定符号量「０」が出力され、その値がレジスタ５３２ｅに保持される。次に、入力符号状態番号（７）のデータが入力された時、入力確定符号量は「０」、入力未確定符号量は「２」である。この時、セレクタ５３２ａからは加算出力１が出力され、その値がレジスタ５３２ｄに保持される。加算出力１は「５」である。また、セレクタ５３２ｃからは入力確定符号量「２」が出力され、その値がレジスタ５３２ｅに保持される。ここで、初めて入力未確定符号量が「０」以外になった訳だが、その後、内部状態制御部５３２ｆの内部状態ステータスは、未確定状態になる。
【００４６】
次に、入力符号状態番号（７）のデータが入力された時、入力確定符号量は「０」、入力未確定符号量は「２」である。また、入力確定ステータスは「０」である。この時、セレクタ５３２ａからは加算出力１が出力され、その値がレジスタ５３２ｄに保持される。加算出力１は「５」である。また、セレクタ５３２ｃからは加算出力４が出力され、その値がレジスタ５３２ｅに保持される。加算出力４は「４」である。セレクタ５３２ｃから加算出力４が出力される条件は、内部状態ステータスが未確定状態で、かつ、入力確定ステータスが「０」の時である。
【００４７】
次に、入力符号状態番号（５）のデータが入力された時、入力確定符号量は「１」、入力未確定符号量は「１」である。また、入力確定ステータスは「１」である。また、入力桁上がり信号は「１」である。この時、セレクタ５３２ａから加算出力２が出力され、その値がレジスタ５３２ｄに保持される。加算出力２は「１０」である。セレクタ５３２ａから加算出力２が出力される条件は、入力確定ステータスが「１」で、かつ、入力桁上がり信号が「１」の時である。また、セレクタ５３２ｃからは入力未確定符号量「１」が出力され、その値がレジスタ５３２ｅに保持される。
【００４８】
次に、入力符号状態番号（２）のデータが入力された時は、入力確定符号量は「２」、入力確定符号量は「０」である。また、入力確定ステータス「１」である。また、入力桁上がり信号「０」である。この時、セレクタ５３２ａからは加算出力３が出力され、その値がレジスタ５３２ｄに保持される。加算出力３は「１４」である。セレクタ５３２ａから加算出力３が出力される条件は、入力確定ステータスが「１」で、かつ、入力桁上がり信号が「０」の時である。また、セレクタ５３２ｃからは入力未確定符号量「０」が出力され、その値がレジスタ５３２ｅに保持される。ここで、入力未確定符号量が「０」になったので、内部状態ステータスは確定状態に戻る。
【００４９】
次に、入力符号状態番号（４）のデータが入力された時、入力確定符号量は「３」、入力未確定符号量は「０」である。この時、セレクタ５３２ａからは加算出力１が出力され、その値がレジスタ５３２ｄに保持される。加算出力１は「１７」である。また、セレクタ５３２ｃからは入力未確定符号量「０」が出力され、その値がレジスタ５３２ｅに保持される。
【００５０】
次に、入力符号状態番号（８）のデータが入力された時、入力確定符号量は「０」、入力未確定符号量は「２」である。この時、セレクタ５３２ａからは加算出力１が出力され、その値がレジスタ５３２ｄに保持される。加算出力１は「１７」である。また、セレクタ５３２ｃからは入力未確定符号量「２」が出力され、その値がレジスタ５３２ｅに保持される。また、入力未確定符号量が「０」以外になったので、内部状態ステータスは未確定状態になる。
【００５１】
次に、入力符号状態番号（８）のデータが入力された時、入力確定符号量は「０」、入力未確定符号量は「２」である。また、入力確定ステータスは「０」である。この時、セレクタ５３２ａからは加算出力１が出力され、その値がレジスタ５３２ｄに保持される。加算出力１は「１７」である。また、セレクタ５３２ｃからは加算出力４が出力され、その値がレジスタ５３２ｅに保持される。加算出力４は「４」である。
【００５２】
次に、入力符号状態番号（６）のデータが入力された時、入力確定符号量は「１」、入力未確定符号量は「１」である。また、入力確定ステータスは「１」である。また、入力桁上がり信号は「０」である。この時、セレクタ５３２ａからは加算出力３が出力され、その値がレジスタ５３２ｄに保持される。加算出力３は「２６」である。また、セレクタ５３２ｃからは、入力未確定符号量「１」が出力され、その値がレジスタ５３２ｅに保持される。上記処理をライン終了信号が入力されるまで続ける。ライン終了信号が入力されると、レジスタ５３２ｄの符号量とレジスタ５３２ｅの符号量はクリアされる。
【００５３】
このように、符号量計算部５３は、確定した符号量と未確定な符号量に基づいて、１ライン単位の確定した符号量と、１ライン終了時に１ライン中の未確定な符号量を計算して、これらの符号量を未確定符号量計算部５３３、閾値比較器５３４に出力する。
【００５４】
次に、未確定符号量計算部５３３について説明する。図９は、未確定符号量計算部５３３のブロック図である。図１０は、モード制御部５３３ｈの状態遷移を説明するための図である。図９に示すように、未確定符号量計算部５３３は、セレクタ５３３ａ〜５３３ｃ、レジスタ５３３ｅ〜５３３ｇ、モード制御部５３３ｈ、比較器５３３ｉ、５３３ｊ、加算器５３３Ｋ〜５３３ｍ、乗算器５３３ｎを有する。未確定符号量計算部５３３は、１ライン終了時、１ライン中に未確定な符号が含まれていた場合、未確定な符号が確定した時の桁上がり状態毎（桁上がり有り、桁上がり無し）の符号量を保持しておき、未確定な符号が確定した時の桁上がり状態に従った符号量を計算するものである。
【００５５】
セレクタ５３３ａは、合計確定符号量と合計未確定符号量を足した加算出力５（今回のラインの符号量）またはレジスタ５３３ｅが保持する前回のラインの符号量を出力する。セレクタ５３３ｂは、合計確定符号量と合計未確定符号量の２倍が足された加算出力６（今回のラインの符号量）又はレジスタ５３３ｆに保持されている前のラインの符号量を出力する。セレクタ５３３ｃは、桁上がり信号と符号量計算部５３２から出力されるＦＥモード信号の状態にしたがって適切な符号量を選択する。レジスタ５３３ｅは、桁上がり有りの場合の前回の１ライン分符号量を保持する。
【００５６】
レジスタ５３３ｆは、桁上がり無しの場合の前回の１ライン分符号量を保持する。レジスタ５３３ｇは、確定保留符号量を保持する。比較器５３３ｉは、レジスタ５３３ｅに保持されている桁上がり有りの場合の前のラインの符号量と桁上がり有りの場合の今回ラインの符号量である加算出力５を比較する。比較器５３３ｊは、レジスタ５３３ｆに保持されている桁上がり無しの場合の前回のラインの符号量と桁上がり無しの今回ラインの符号量である加算出力６を比較する。モード制御部５３３ｈは、内部状態ステータス、ライン終了信号および確定ステータスに応じて、モードを未確定ラインなし状態または未確定ライン保持状態に切り替える。モード制御部５３３ｈによるモードの切り替えは、セレクタ５３３ａ、５３３ｂの選択に影響する。
【００５７】
次に、セレクタ５３３ｃでの符号量の選択について説明する。図１２は、セレクタ５３３ｃでの符号量の選択を説明するための図である。図１２に示すように、セレクタ５３３ｃは、桁上がり状態が「有り」で、ＦＥモードが「初期モード」の場合、レジスタ５３３ｅからの「桁上がり有り符号量」を出力し、桁上がり状態が「有り」で、ＦＥモードの場合、加算器５３３ｍからの「ＦＥ符号量」を出力し、桁上がり状態「無し」の場合、レジスタ５３３ｆからの「桁上がり無し符号量」を出力し、レジスタ５３３ｇに保持する。なお、上記において、桁上がり状態が有りで、かつ、ＦＥモードの場合は、ＦＥ符号がＦＦ００符号に変換するので、符号量が１バイト増えることになる。
【００５８】
次に、セレクタ５３３ａでの符号量の選択について説明する。図１３は、セレクタ５３３ａでの符号量の選択を説明するための図である。図１３に示すように、セレクタ５３３ａは、モードが「未確定ラインなし状態」の場合、加算出力５を出力し、モードが「未確定ライン保持状態」で、比較器５３３ｉの結果が「レジスタ５３３ｅの符号量≧加算出力５の符号量」の場合、大きい方のレジスタ５３３ｅが保持する符号量を出力し、モードが「未確定ライン保持状態」で、比較器ｉの結果が「レジスタ５３３ｅの符号量≦加算出力５の符号量」の場合、大きい方の加算出力５を出力する。
【００５９】
次に、セレクタ５３３ｂでの符号量の選択について説明する。図１４は、セレクタ５３３ｂでの符号量の選択を説明するための図である。図１４に示すように、セレクタ５３３ｂは、モードが「未確定ラインなし状態」の場合、加算出力６を出力し、モードが「未確定ライン保持状態」で、比較器５３３ｊの結果が「レジスタ５３３ｆの符号量≧加算出力６の符号量」の場合、大きい方のレジスタ５３３ｆの符号量を出力し、モードが「未確定ライン保持状態」で、比較器５３３ｊの結果が「レジスタ５３３ｆの符号量＜加算出力６の符号量」の場合、大きい方の加算出力６を出力する。
【００６０】
次に動作について説明する。図１１は、未確定符号量計算部５３３のタイミングチャートである。図１１において、各波形は上からＣＰＵ２の動作クロック、合計確定符号量、合計未確定符号量、ライン終了信号、レジスタ５３３ｅの符号量、レジスタ５３３ｆの符号量およびモードをそれぞれ示している。図１１に示すように、ライン終了信号が入力時の合計確定符号量が「１００」、合計未確定符号量が「１０」の場合、レジスタ５３３ｅには「１００」、レジスタ５３３ｆには「１２０」が保持される。
【００６１】
モード制御部５３３ｈは、算術演算部５１からライン終了信号が入力された時、符号量計算部５３２から入力される内部状態ステータスが未確定状態であった場合、ライン終了信号を受けて、図１０に示すように、未確定ライン保持状態に移行する。その後、次のラインが開始され符号が確定した場合は、符号量計算部５３２から確定ステータ信号「１」が入力される。この時、モード制御部５３３ｈは、モードを未確定ラインなし状態に戻し、また、桁上がり信号と符号量計算部５３２から入力されるＦＥモード信号の状態にしたがってセレクタ５３３ｃから適切な符号量が選択され、レジスタ５３３ｇに保持される。
【００６２】
モード制御部５３３ｈは、未確定符号が確定したことを示す確定タイミング信号を閾値比較器５３４に出力する。これにより、閾値比較器５３４は、未確定符号量計算部５３３から確定タイミング信号が入力されたので、確定保留符号量と閾値とを比較し、確定保留符号量が閾値を超えた場合、ＣＰＵ２に割り込み出力をする。ＣＰＵ２は、割り込みを受けた後、画像データを解像度変換部４によって解像度を落して算術符号化部５に入力する。
【００６３】
次に、モードが未確定ライン保持状態のままライン終了信号が入力された場合の処理について説明する。この場合は、図１３で説明したように、比較器５３３ｉで、レジスタ５３３ｅに保持されている前のラインの符号量と今回ラインの符号量である加算出力５の比較結果を出力し、セレクタ５３３ａから符号量の大きい方の符号量が出力されレジスタ５３３ｅに保持される。
【００６４】
また、図１４で説明したように、比較器５３３ｊでレジスタ５３３ｆに保持されている前のラインの符号量と今回のラインの符号量である加算出力６の比較結果を出力し、セレクタ５３３ｂから符号量の大きい方の符号量が出力され、レジスタ５３３ｆに保持される。セレクタ５３３ｃは、ＦＥモード信号および桁上がり信号に応じて、未確定な符号が確定した時の桁上がり状態に従った符号量を出力する。閾値比較器５３４は、符号量が予め設定された閾値を超えていた時にＣＰＵ２へ割り込みを出力する。ＣＰＵ２は、割り込みを受けた後、画像データを解像度変換部４によって解像度を落して算術符号化部５に入力する。
【００６５】
以上のように、符号の未確定状態が複数ラインにまたがる場合でも、前回のラインの符号量と今回のラインの符号量のうち大きい方の符号量を用いることにより、未確定のラインを含む場合でも、安定して画像を出力できる。
【００６６】
以上、本実施例によれば、算術符号化を行う場合に、画像の分割なしに正確なライン単位の符号量を計算できる。これにより、閾値をオーバーしたときでも、リアルタイム画像出力を可能にすることができる。
【００６７】
また、上記実施例では、ＦＥ符号に桁上がりが伝播した時の処理について述べてあるが、これによる符号量の変化は、１回のＦＥ符号出現に対して、符号が桁上がり伝播して確定する場合のみ起こる。しかも、変化量は、１バイトである。したがって、ＦＥ符号に対処する回路がなくても、ある程度精度よく符号量を計算でき、簡単な回路構成にすることが可能である。
【００６８】
以上本発明の好ましい実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【図面の簡単な説明】
【００６９】
【図１】本実施例に係る算術符号化装置のブロック図である。
【図２】算術符号化部の構成を示す図である。
【図３】符号量監視部の構成を示す図である。
【図４】符号解析部の状態を示す図である。
【図５】符号量計算部の構成を示す図である。
【図６】符号解析部から出力されるデータの一例を示している。
【図７】内部状態制御部の内部状態ステータスの状態遷移を説明するための図である。
【図８】ＦＥモード制御部の状態遷移を示す図である。
【図９】未確定符号量計算部のブロック図である。
【図１０】モード制御部の状態遷移を説明するための図である。
【図１１】未確定符号量計算部のタイミングチャートである。
【図１２】セレクタ５３３ｃでの符号量の選択を説明するための図である。
【図１３】セレクタ５３３ａでの符号量の選択を説明するための図である。
【図１４】セレクタ５３３ｂでの符号量の選択を説明するための図である。
【符号の説明】
【００７０】
１  算術符号化部                    ５１  算術演算部            
２  ＣＰＵ                          ５２  桁上がり制御部
３  メモリ                          ５３  符号量監視部
４  解像度変換部                    ５３１  符号解析部
５  算術符号化部                    ５３２  符号量計算部
６  算術復号化部                    ５３３  未確定符号量計算部
７  画像出力部                      ５３４  閾値比較器
【図１】
2005142921.tif 000003
【図２】
2005142921.tif 000004
【図３】
2005142921.tif 000005
【図４】
2005142921.tif 000006
【図５】
2005142921.tif 000007
【図６】
2005142921.tif 000008
【図７】
2005142921.tif 000009
【図８】
2005142921.tif 000010
【図９】
2005142921.tif 000011
【図１０】
2005142921.tif 000012
【図１１】
2005142921.tif 000013
【図１２】
2005142921.tif 000014
【図１３】
2005142921.tif 000015
【図１４】
2005142921.tif 000016