(57)【要約】【課題】  即時復号化を実行する回路構成を提案する。【解決手段】  画像データを受領する画像データ受領手段（ラインバッファ２２０９）で受領した画像データのうち、”０”または”１”のデータが何回連続するかを、同じデータの連なりであるランレングスの符号に置き換える処理を組合せ回路のみで構成した判定手段と、判定手段によって符号化されたランレングス符号を格納する画像データ格納手段（ビデオメモリ２２１４）と、画像データ格納手段（ビデオメモリ２２１４）に格納されているランレングス符号から画像データを復号化して表示する画像表示手段と、を備え、画像データ格納手段（ビデオメモリ２２１４）に格納されたランレングス符号を画像データに置き換える処理を、組合せ回路のみの回路構成で実行する。【選択図】    図１
2005094606.tif 000002
【特許請求の範囲】
【請求項１】
画像データを受領する画像データ受領手段と、
画像データ受領手段で受領した画像データのうち”０”または”１”が連続する数を同じデータの連なりであるランレングスの符号に置き換え、”０”または”１”のデータが何回連続するかを判定する組合せ回路のみから構成された判定手段と、
前記画像データ受領手段によって受領された画像データを画素の整数倍のランレングスの符号に即時変換して格納する画像データ格納手段と、
前記画像データ格納手段に格納されたランレングス符号を画像データに復号化する復号化手段と、を備え、
前記復号化手段は、前記判定手段と同様に符号から画像データに置き換える処理を組合せ回路のみで構成していることを特徴とする画像表示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像形成装置が有するＣＲＴ（Ｃａｔｈｏｄｅ Ｒａｙ Ｔｕｂｅ）やＬＣＤなどを使用した表示画面に表示する画像データの符号化／復号化を行う画像表示装置に関する。
【背景技術】
【０００２】
一般的に、画像表示装置には、表示用の画像データを蓄積するビデオメモリが備えられている。このビデオメモリは、表示データをビットマップデータとして格納するので、エントロピー的冗長度がメモリの消費量に影響することになる。例えば、６４０×４８０ｄｏｔのＶＧＡ（Ｖｉｄｅｏ Ｇｒａｐｈｉｃｓ Ａｒｒａｙ）画面のモノクロ表示であれば、背景色となる白データまたは黒データが何ラインも続く場合、そのままビットマップデータとして格納すると６４０×（ライン数）のメモリを占有することになる。このような表示用に限らず、一般に画像データの情報量は膨大であり、そのままの状態で取り扱って画像データを格納しようとすると、ビデオメモリに格納するデータ量が膨大となり、多くのメモリを必要とするのでコスト的に負担がかかってしまうことになる。
【０００３】
画像データを格納する場合、符号化圧縮してデータ量を削減し、その符号化した状態で画像データを取り扱う符号化方式が提案されている。例えば、ＭＨ符号化方式またはＭＭＲ符号化方式、自然画像用としてＪＰＥＧ、ＪＢＩＧなどの変換符号化方式、算術符号化方式を含んだ圧縮方式などがある。
【０００４】
しかしながら、従来の符号化圧縮方式は符号化の処理が複雑であり、判断処理や演算処理を行うので、例えば、算術符号化方式であるＱＭ−Ｃｏｄｅｒはプロセスが複雑で処理速度が遅いというように、符号化あるいは復号化の際に多くの処理時間を必要としていた。
【０００５】
これに対して、特許文献１〜２に示すような表示データの冗長度を改善する符号化方式も従来から知られている。
【０００６】
【特許文献１】特開２００１−１０２９３７公報
【特許文献２】特開２００３−０８７５７５公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来の冗長度を改善する符号化方式では、同じデータパターンの連なり（ラン）の長さであるランレングスを逐次計数して符号化を行うため、ハードウェア化した符号化装置であっても、１つのランレングスを決定するのに数クロックあるいは数十クロックもの時間を必要とする。このような従来の符号化復号化方式をビデオメモリへの表示データ（画像データ）の格納に適用すると、ビットマップデータとして格納し、編集する方式に比べると何十倍あるいは何千倍もの処理時間が必要となり、描画速度を遅らせることとなる。
【０００８】
そこで、２値化された画像データを対象とする画像表示装置の符号化復号化装置において、画像データを固定長データごとに分割して、パターン一致比較処理を並列処理し、さらに一致比較結果からランレングスを判定してエントロピー符号化を即時実行する方法が提案されている（特許文献２）。しかしながら、符号から画像データに変換する復号化を即時実行する方法が開示されていなかった。
【０００９】
本発明の目的は、データを格納手段に格納し、画像データの即時符号化が可能なランレングス判定回路を備えた即時符号化を行なう画像表示装置において、即時復号化を実行する回路構成を提案することである。
【課題を解決するための手段】
【００１０】
請求項１記載の発明では、画像データを受領する画像データ受領手段と、画像データ受領手段で受領した画像データのうち”０”または”１”が連続する数を同じデータの連なりであるランレングスの符号に置き換え、”０”または”１”のデータが何回連続するかを判定する組合せ回路のみから構成された判定手段と、前記判定手段によって符号化されたランレングス符号を格納する画像データ格納手段と、前記画像データ格納手段に格納されているランレングス符号から画像データを復号化して表示する画像表示手段と、を備えた即時符号化をおこなう画像表示装置において、画像データ格納手段に格納されたランレングス符号を画像データに置き換える処理を組合せ回路のみで構成ことにより前記の目的を達成する。
【発明の効果】
【００１１】
請求項１記載の発明によれば、符号化する表示データをメモリに格納し、適宜内容を変更して使用する目的で、画像データの即時符号化が可能なランレングス判定回路を備え、表示画面に表示するデータを即時符号化してビデオメモリに格納し、内容を変更する際は適宜メモリのデータを編集して使用する画像表示装置において、符号に置き換える処理を組合せ回路のみで構成し、同様に符号から画像データに置き換える処理を組合せ回路のみで構成することによって、符号化圧縮処理と共に復号化処理を短時間で実行し、処理時間を削減することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の好適な実施の形態について図１ないし図２０を参照して説明する。ＶＧＡ表示画面の画面サイズは水平６４０ｄｏｔ、垂直４８０ｄｏｔであるが、本実施の形態では説明を簡略化するために、最初に一度に扱うデータ幅（１水平ラインのデータ）を８ｂｉｔとし、符号化の最小単位を１ｂｉｔとする。
【００１３】
図１は、本実施の形態にかかる画像表示装置の全体の構成を示すブロック図である。また図２は、ラインバッファ（画像データ受領手段）を示した図である。なお、本実施の形態の画像データの符号化方式は、１水平ライン分のデータを一括して符号化するものである。
【００１４】
画像表示装置のソフトウェア処理によって外部のホストＣＰＵ（中央処理装置）によって描画された画像データは一旦、図２に示す８ｂｉｔのラインバッファ２２０９に格納される。１水平ラインの画像データは、符号化の最小単位である１ｂｉｔずつ（ＰＣ０１〜ＰＣ０８）が図３に示すランレングス判定前処理部２２０１に入力され、ＰＣ０１〜ＰＣ０８の各反転信号（ＰＣ１１〜ＰＣ１８）が図４に示すランレングス判定前処理部２２０１に入力される。
【００１５】
図３、図４に、ランレングス判定前処理部２２０１の回路を示す。ランレングス判定前処理部は、隣接する画素のＡＮＤ（論理積）をとり、そのＡＮＤ出力の隣接する出力とＡＮＤをとる。このＡＮＤ回路は１段階進む毎に１つ減少し、最後に１つのＡＮＤ出力であるＲＬ８０１，ＲＬ８1１を得るようになっている。なお、本実施の形態では、図３、図４に示すような回路を収束連鎖型論理積回路と言うことにする。
【００１６】
各段のＡＮＤ出力は、同じ極性データの連なり（ラン）が存在することを意味しているが、図３〜４の段階ではその極性データの連なりであるランの長さ（ランレングス）を判別することはできない。
【００１７】
以上のようにして得られた、ランの存在を意味するランレングス判定前処理部の各段のＡＮＤ出力は、図１に示すランレングス判定回路２２０２に入力される。図５、図６は、ランレングス判定回路２２０２の内部回路構成を示した図である。図６のランレングス判定回路は、ラインバッファ２２０９のデータＰＣ０１〜ＰＣ０８と、図３の前処理部から出力される信号２Ｌ０１〜２Ｌ０７，３Ｌ０１〜３Ｌ０６，４Ｌ０１〜４Ｌ０５，５Ｌ０１〜５Ｌ０４，６Ｌ０１〜６Ｌ０３，７Ｌ０１〜７Ｌ０２を入力する回路である。図４の前処理部出力も同様に図６に示すようなランレングス判定回路を設ける。
【００１８】
ランレングス判定回路２２０２は、入力されたランの存在を意味する信号の中から同一極性データの一致出力が何回連続するかを判定する。この判定は、単独で真である部分を判別することにより行われ、基本的に３入力のＡＮＤ回路で注目する同じ極性データの連なり（ラン）が真であり、隣接するランが偽であるとき同じ極性データの連なりであるランの長さ（ランレングス）が確定するようになっている。
【００１９】
図５、図６に示すランレングス判定出力ＲＬ１０１，ＲＬ１１１，ＲＬ２０１，ＲＬ２１１，ＲＬ３０１，ＲＬ３１１，ＲＬ４０１，ＲＬ４１１，ＲＬ５０１，ＲＬ５１１，ＲＬ６０１，ＲＬ６１１，ＲＬ７０１，ＲＬ７１１および図３〜４の出力ＲＬ８０１，ＲＬ８１１を「１画素目のランレングス判定結果」とする。同様にＲＬ１０２，ＲＬ１１２，ＲＬ２０２，ＲＬ２１２，ＲＬ３０２，ＲＬ３１２，ＲＬ４０２，ＲＬ４１２，ＲＬ５０２，ＲＬ５１２，ＲＬ６０２，ＲＬ６１２，ＲＬ７０２，ＲＬ７１２を「２画素目のランレングス判定結果」、〜、ＲＬ１０８，ＲＬ１１８を「８画素目のランレングス判定結果」とする。
【００２０】
この「任意の画素のランレングス判定結果」の中で同時に真となるランレングス判定出力は存在せず、また、他の極性のランレングス判定結果に対する「同一画素のランレングス判定結果」も同時に真となることはない。すなわち、任意の画素の唯一の極性の中の唯一のランレングス判定出力が真になる。このようにしてランレングスが確定する。得られたランレングス判定出力は図２２のコード決定回路２２０４およびブランク画素決定回路２２０５に入力される。
【００２１】
格納される符号は５ｂｉｔ（ＲＬｂｉｔ４〜０）で構成され、ＲＬｂｉｔ４（ＭＳＢ）はランレングス／ビットマップを識別する。ランレングスが４以下の場合は、ビットマップデータとしてそのままＲＬｂｉｔ３〜０に設定され格納される。ランレングスの符号として格納する場合は、ＲＬｂｉｔ３にデータの極性、ＲＬｂｉｔ２〜０にランレングスの値を設定する。ランレングスの値が５のときＲＬｂｉｔ１〜０の値を“００１”、６のとき“０１０”、７のとき“０１１”、８のとき“１００”、とする。
【００２２】
任意のｊ画素目のデータがそれより上位の画素のランレングス判定結果に含まれる場合、ｊ画素目のランレングス判定結果は全て偽となり、ｊ画素目に対応する符号は無いことになる。
【００２３】
このようにして、ランレングスに含まれる画素とビットマップデータとして格納される画素のみが識別データ（ＲＬｂｉｔ４）を付加されてビデオメモリに格納される。
【００２４】
このようにして符号化した結果、格納する符号の数は決まっていないので、符号化する段階で毎回ブランク画素を除外してビットマップデータとランレングスコードを抽出しなければならない。そのためにブランク画素の分布を示す信号を図２２のコード決定回路２２０４に入力する。
【００２５】
「その画素がランレングスに含まれない場合」とは、その画素が前の符号にビットマップデータとして格納される場合である。
【００２６】
まず図１に示すランレングス判定回路２２０２の出力をブランク画素決定回路２２０５に入力する。ブランク画素決定回路２２０５は、図７〜９に示すように構成されており、ランレングス判定回路２２０２の出力を図７、図８に示す各回路に入力する。図７、図８に示す各回路の出力は、各画素にランレングスコードが存在する場合に真となる。図７、図８に示す各回路の出力は、図９の各回路に入力される。
【００２７】
図９に示す回路の出力ｎＢＭＲＬ２〜ｎＢＭＲＬ８は各画素から始まるランレングスコードが存在しない場合に真となる。つまりその画素が上位のランレングスコードに含まれていてブランクであることを示している。ｎＢＭＲＬ２〜ｎＢＭＲＬ８が偽の場合はその画素にランレングスコードが存在することを意味する。
【００２８】
次に、図９に示す回路の出力ｎＢＭＲＬ２〜ｎＢＭＲＬ８を図１に示すブランクランレングス判定前処理部２２０６に入力する。ブランクランレングス判定前処理部２２０６の回路構成を図１０の収束連鎖型論理積回路および図１１の収束連鎖型論理和回路に示す。
【００２９】
図１０の出力はランレングス判定前処理部２２０１と同様、ブランクの連なり（ラン）が存在することを意味している。この出力を図１に示すブランクランレングス判定回路２２０７に入力する。
【００３０】
図１１に示す回路の出力であるＮＣＯＲ２２は、２〜３画素にブランクが存在することを示している。同様にＮＣＯＲ３２は２〜４ｂｉｔ、ＮＣＯＲ４２は２〜５画素、ＮＣＯＲ５２は２〜６画素、ＮＣＯＲ６２は２〜７画素、ＮＣＯＲ７２は２〜８画素にブランクが存在することを示している。これらの出力は図１に示すコード決定回路２２０４に入力する。
【００３１】
ブランクランレングス判定回路２２０７は図１２に示すような回路で、ランレングス判定回路２２０２と同様、入力されたブランクランの存在を意味する信号の中から、ブランクが何回連続するかを判定するものである。
【００３２】
次に図１に示すブランク数決定回路２２０８に、ブランク画素決定回路２２０５の出力とブランクランレングス判定前処理部２２０６の出力とブランクランレングス判定回路２２０７の出力とを入力し、最終的な符号の並びを確定する為に必要な処理を行う。ブランク数決定回路２２０８は、図１３〜１７に示す回路で構成されている。
【００３３】
ブランク数決定回路２２０８は２画素目から該当画素までに何画素のブランクが存在するかを表わす信号ＮＣＯＤＥ３_１〜ＮＣＯＤＥ７_６を出力する。例えばＮＣＯＤＥ３_１は３画素目までに１画素だけブランクが存在することを意味しており、ＮＣＯＤＥ７_６では７画素目までに６画素のブランクが存在することを表わしている。
【００３４】
図１３（ａ）、（ｂ）は、それぞれ、３画素目までのブランクを表す信号ＮＣＯＤＥ３_１およびＮＣＯＤＥ３_２を決定する論理回路ＮＣＯＤＥ３ＳＥＬ（２３０１）とその真理値表である。ここで、ＮＣＯＤＥ３ＳＥＬ（２３０１）に入力される信号のなかで、ＮＣＯＤＥ２_１はｎＢＭＲＬ２と同じ意味である。つまり、２画素目までに１画素だけブランクが存在していることを示す信号である。
【００３５】
図１４（ａ）、（ｂ）は、それぞれ、４画素目までのブランクを表す信号ＮＣＯＤＥ４_１、ＮＣＯＤＥ４_２およびＮＣＯＤＥ４_３を決定する論理回路ＮＣＯＤＥ４ＳＥＬ（２４０１）とその真理値表である。
【００３６】
図１５（ａ）、（ｂ）は、それぞれ、５画素までのブランクを表す信号ＮＣＯＤＥ５_１、ＮＣＯＤＥ５_２、ＮＣＯＤＥ５_３およびＮＣＯＤＥ５_４と真理値表を決定する論理回路ＮＣＯＤＥ５ＳＥＬ（２５０１）を表す。
【００３７】
図１６（ａ）、（ｂ）は、それぞれ、６画素までのブランクを表す信号ＮＣＯＤＥ６_１〜ＮＣＯＤＥ６_５と真理値表を決定する論理回路ＮＣＯＤＥ６ＳＥＬ（２６０１）を表す。
【００３８】
図１７（ａ）、（ｂ）は、それぞれ、７画素までのブランクを表す信号ＮＣＯＤＥ７_１〜ＮＣＯＤＥ７_６と真理値表を決定する論理回路ＮＣＯＤＥ７ＳＥＬ（２７０１）を表す。
【００３９】
図１に示すコード決定回路２２０４に以上説明したラインバッファ２２０９，ランレングス判定回路２２０２，ブランク画素決定回路２２０５，ブランクランレングス判定前処理部２２０６，ブランク数決定回路２２０８の各出力を入力する。よって、符号化データＣＯＤＥ１〜ＣＯＤＥ８を得る。本実施例の形態にかかるコード決定回路２２０４は図１８、図１９で構成されている。
【００４０】
図１８は、ＣＯＤＥ１を決定する論理回路（ＥＮＣＯＤＥ１ＳＥＬ（２８０１）およびＥＮＣＯＤＥ１ＬＡＴＣＨ（２８０２））である。
【００４１】
図１９は、ＣＯＤＥ２を決定する論理回路（ＥＮＣＯＤＥ２ＳＥＬ（３２０１）およびＥＮＣＯＤＥ２ＬＡＴＣＨ（３２０２））である。
【００４２】
次に、ビデオメモリ（２２１４）に格納された符号データを復号化して、元の画像データを復元し画像表示器（２２１６）に出力する。ビデオメモリ（２２１４）に格納された符号データＣＯＤＥ１ないしＣＯＤＥ２はデコード回路（２２１５）に出力される。デコード回路（２２１５）の内部構成を図２０に示す。
【００４３】
図２０は、復号化データＤＥＣＯＤＥを決定する論理回路（ＤＥＣＯＤＥＳＥＬ（３５０１）およびＤＥＣＯＤＥＬＡＴＣＨ（３５０２））である。
【００４４】
以上、８ｂｉｔのラインバッファを用いてランレングス確定の方法および復号化方法を説明してきたが、実際の実施形態では６４０ｂｉｔのラインバッファを用いる。符号は、１２ｂｉｔで構成され、ランレングスが１１以下の場合はビットマップデータとしてそのまま格納される。ランレングスの符号として格納する場合は、下位１０ｂｉｔにランレングスの値を設定する。１ライン分のデータを他のｂｉｔ数にしても全く同じ方法で符号化することができる。
【００４５】
なお、本実施の形態では表示画像データの符号化復号化方式を画像表示装置に適用する場合について説明してきたが、これに限られるものではなく、他の画像処理装置、画像形成装置の画像処理や画像形成の際の画像データの符号化復号化にも適用してもよい。
【図面の簡単な説明】
【００４６】
【図１】全体の構成を示すブロック図である。
【図２】ラインバッファの構成を示す回路図である。
【図３】ランレングス判定前処理部を示す回路図である。
【図４】ランレングス判定前処理部を示す回路図である。
【図５】ランレングス判定回路を示す回路図である。
【図６】ランレングス判定回路を示す回路図である。
【図７】ブランク行決定回路を示す回路図である。
【図８】ブランク行決定回路を示す回路図である。
【図９】ブランク行決定回路を示す回路図である。
【図１０】ブランクランレングス判定前処理部を示す回路図である。
【図１１】ブランクランレングス判定前処理部を示す回路図である。
【図１２】ブランクランレングス判定回路を示す回路図である。
【図１３】（ａ）は３画素までのブランクを調べる内部回路ＮＣＯＤＥ３ ＳＥＬの構成を示す回路図、（ｂ）は真理値表を示す模式図である。
【図１４】（ａ）は４画素までのブランクを調べる内部回路ＮＣＯＤＥ３ ＳＥＬの構成を示す回路図、（ｂ）は真理値表を示す模式図である。
【図１５】（ａ）は５画素までのブランクを調べる内部回路ＮＣＯＤＥ３ ＳＥＬの構成を示す回路図、（ｂ）は真理値表を示す模式図である。
【図１６】（ａ）は６画素までのブランクを調べる内部回路ＮＣＯＤＥ３ ＳＥＬの構成を示す回路図、（ｂ）は真理値表を示す模式図である。
【図１７】（ａ）は７画素までのブランクを調べる内部回路ＮＣＯＤＥ３ ＳＥＬの構成を示す回路図、（ｂ）は真理値表を示す模式図である。
【図１８】ＣＯＤＥ１を決定する内部回路ＥＮＣＯＤＥ１ ＳＥＬの構成およびＥＮＣＯＤＥ１ ＬＡＴＣＨの構成を示す回路図である。
【図１９】ＣＯＤＥ２を決定する内部回路ＥＮＣＯＤＥ２ ＳＥＬの構成およびＥＮＣＯＤＥ２ ＬＡＴＣＨの構成を示す回路図である。
【図２０】ＤＥＣＯＤＥを決定する内部回路ＤＥＣＯＤＥ ＳＥＬの構成およびＤＥＣＯＤＥ ＬＡＴＣＨの構成を示す回路図である。
【符号の説明】
【００４７】
２２０９    画像データ受領手段（ラインバッファ）
２２１４    画像データ格納手段（ビデオメモリ）
【図１】
2005094606.tif 000003
【図２】
2005094606.tif 000004
【図３】
2005094606.tif 000005
【図４】
2005094606.tif 000006
【図５】
2005094606.tif 000007
【図６】
2005094606.tif 000008
【図７】
2005094606.tif 000009
【図８】
2005094606.tif 000010
【図９】
2005094606.tif 000011
【図１０】
2005094606.tif 000012
【図１１】
2005094606.tif 000013
【図１２】
2005094606.tif 000014
【図１３】
2005094606.tif 000015
【図１４】
2005094606.tif 000016
【図１５】
2005094606.tif 000017
【図１６】
2005094606.tif 000018
【図１７】
2005094606.tif 000019
【図１８】
2005094606.tif 000020
【図１９】
2005094606.tif 000021
【図２０】
2005094606.tif 000022