(57)【要約】  【課題】  注目する画素の周囲の画素の画素データを記憶媒体から読み出す画素データ読み出し装置であって、画素データを表すビット数を可変にすることを可能にしながら、画素データを効率よく読み出すことが可能で簡素な構成のものを提供する。  【解決手段】  画素データ読み出し装置(1)は、１画素当たりのビット数を入力されるビット/画素数記憶部(11)、１ライン当たりの画素数を入力される画素/ライン数記憶部(12)、先頭の画素データのアドレスを入力される先頭アドレス記憶部(13)、画像上での注目画素の位置を入力される注目画素位置記憶部(14、15)、ならびに、これらの入力に基づいて、８つの周囲画素の画素データのアドレス、およびそのアドレスのワード内での画素データのビット位置を算出するアドレス/ビット演算部(20)を備える。【選択図】      図１
2005238602.tif 000002
【特許請求の範囲】
【請求項１】
画像を構成する各画素の画素データを記憶している記憶媒体から、指定された画素の周囲の画素の画素データを読み出す画素データ読み出し装置において、
画像上での画素の位置と、画素データを表すビットの数とを入力され、
入力された画素の位置と画素データを表すビットの数とに基づいて、位置が入力された画素の周囲の画素の記憶媒体上での画素データの位置を算出し、位置が入力された画素の周囲の画素の画素データを読み出す
ことを特徴とする画素データ読み出し装置。
【請求項２】
画像を構成する各画素の画素データを記憶している記憶媒体から画素データを読み出し、所定の画素の画素データを画像上での周囲の画素の画素データに基づいて補正する画像処理装置において、
請求項１に記載の画素データ読み出し装置を備え、
所定の画素の画像上での位置と画素データを表すビットの数とを画素データ読み出し装置に入力して、画素データ読み出し装置が記憶媒体から読み出した画素データに基づいて、所定の画素の画素データを補正する
ことを特徴とする画像処理装置。
【請求項３】
画像をシートに形成する画像形成装置として構成され、補正後の画素データを含む画素データを用いて画像を形成することを特徴とする請求項２に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像を表す個々の画素の画素データをメモリ等の記憶媒体から読み出す画素データ読み出し装置、および、画像処理装置に関し、特に、所定の画素の画素データを周囲の画素の画素データに基づいて補正する画像処理装置、および、これに用いられる画素データ読み出し装置に関する。
【背景技術】
【０００２】
複写機、ファクシミリ装置等の画像形成装置では、画像をデジタルデータとして取り扱うことが一般的になっており、画像は、画像の１点である画素の濃度を表す画素データの集合で表される。このような画像形成装置の多くは、画質を向上させるための処理を画像に施す機能を有する。画質向上のための画像処理は、個々の画素の濃度を変える、つまり個々の画素データの値を補正することによってなされる。
【０００３】
画質向上のための画像処理には、スムージングやエッジ強調のように、１つの画素の濃度をその画素の周囲の画素の濃度との関連で補正すべきものもある。このような画像処理では、ある画素の画素データを補正する際に、画像上でその画素の周囲に位置する画素の画素データを参照しなければならず、通常、上下左右の４画素と、斜め方向の４画素の画素データが参照される。
【０００４】
画素は画像上で２次元の配列をなしているが、画素データを記憶するメモリ等の記憶媒体は論理的に１次元配列であるため、画像上で一方向に並ぶ画素を１ラインとして、画素データを１ラインずつ順に、記憶媒体に記憶させるようにしている。したがって、画像上で１つの画素（以下、注目画素という）の周囲に位置する画素（以下、周囲画素という）の画素データは、記憶媒体上では注目画素の画素データに隣接するとは限らず、注目画素と同一ライン上の画素のものでなければ離れてしまう。
【０００５】
この点を考慮して、注目画素が指定されたときに８つの周囲画素の画素データを効率よくメモリから読み出すようにしたメモリアクセス回路が特許第３１８７０３５号に提案されている。このメモリアクセス回路は、注目画素の画素データに対する周囲画素の画素データの相対アドレスを記憶した８つのレジスタを備え、レジスタ中の相対アドレスと注目画素のアドレスとを加算することにより、周囲画素の画素データのアドレスを求めるものである。なお、この回路では、画素データは１つのビットで表されており、したがって、画素の濃淡は白と黒の２段階に限られる。
【特許文献１】特許第３１８７０３５号公報
【０００６】
近年では、写真のように白と黒の中間の階調を含む画像をシートに形成することや、カラー画像をシートに形成することへの要望が高く、これに応えるために、画素データを表すビットを複数にした画像形成装置も開発されている。このような画像形成装置でも、上記特許公報のメモリアクセス回路と同様の回路により、周囲画素の画素データを効率よく読み出すことができる。その場合、注目画素の画素データに対する周囲画素の画素データの相対アドレスを、画素データを表すビットの数に基づいて算出して、レジスタに記憶させておけばよい。
【０００７】
複数のビットで画素データを表し、注目画素の画素データを周囲画素の画素データに基づいて補正することは、画像形成装置に限らず、画像を表示する画像表示装置をはじめ、他の画像処理装置にも適用することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところが、常に一定のビット数で画素データを表すようにすると、多くの階調を必要としない画像を取り扱う際には、使用しないビットが生じることになり、記憶媒体の利用効率が低下する。その結果、記憶媒体が記憶し得る画像数が、必要最小限のビット数で画素データを表す場合よりも、少なくなる。したがって、画素データを表すビットの数を画像に応じて変え得るようにするのが望ましい。
【０００９】
しかし、画素データを表すビットの数を可変にしながら、周囲画素の画素データを効率よく読み出すことが可能な簡便な方法は提案されていない。例えば、画素データを表すビットの数を１〜ｎの範囲で可変とする場合、画素データを表すビットの数をそれぞれ１〜ｎとしたｎ個の回路を備えて、使用する回路を切り換えることが考えられるが、このようにすると、大規模な装置構成になることが避けられない。
【００１０】
本発明は、このような問題点に鑑みてなされたもので、記憶媒体に記憶されている画素データを表すビットの数が一定でなくても、周囲画素の画素データを効率よく読み出すことが可能で、簡素な構成の画素データ読み出し装置を提供することを目的とする。また、画素データを表すビットの数が一定でなくても、周囲画素の画素データに基づいて注目画素の画素データを効率よく処理することが可能な画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明では、画像を構成する各画素の画素データを記憶している記憶媒体から、指定された画素の周囲の画素の画素データを読み出す画素データ読み出し装置において、画像上での画素の位置と、画素データを表すビットの数とを入力され、入力された画素の位置と画素データを表すビットの数とに基づいて、位置が入力された画素の周囲の画素の記憶媒体上での画素データの位置を算出し、位置が入力された画素の周囲の画素の画素データを読み出すものとする。
【００１２】
この画素データ読み出し装置は、画像上での位置が入力された画素を注目画素として、周囲画素の画素データを読み出すが、読み出しに必要な周囲画素の画素データの記憶媒体上での位置は、画像上での注目画素の位置と、画素データを表すビットの数に基づいて算出する。画素データを表すビットの数は、あらかじめ設定されているのではなく、入力されるため、記憶媒体が記憶している画素データのビット数が一定でなくても、誤りなく周囲画素の画素データの位置を算出することができる。つまり、画素データを表すビットの数は可変とすることができる。なお、記憶媒体上での画素データの位置には、１つのアドレスで表されるビット群（例えば１ワード）であって、その画素データの開始ビットを含むもののアドレスと、そのビット群内での画素データのビットの位置が含まれる。
【００１３】
前記目的を達成するために、本発明ではまた、画像を構成する各画素の画素データを記憶している記憶媒体から画素データを読み出し、所定の画素の画素データを画像上での周囲の画素の画素データに基づいて補正する画像処理装置において、上記の画素データ読み出し装置を備え、所定の画素の画像上での位置と画素データを表すビットの数とを画素データ読み出し装置に入力して、画素データ読み出し装置が記憶媒体から読み出した画素データに基づいて、所定の画素の画素データを補正するものとする。
【００１４】
この画像処理装置は、画像をシートに形成する画像形成装置として構成し、補正後の画素データを含む画素データを用いて画像を形成するものとすることができる。
【発明の効果】
【００１５】
本発明の画素データ読み出し装置では、読み出すべき画素データの記憶媒体上での位置を、入力されたビット数に基づいて算出するため、記憶媒体に記憶させる画素データのビット数を可変とすることができる。しかも、画素データを表すビットの数に等しい数の回路を備える必要がないため、簡素な装置となる。さらに、画素データを表すビットの数にも上限が生じない。
【００１６】
また、本発明の画像処理装置は、画素データ読み出し装置の特徴により、簡素な構成でありながら、任意のビット数で表された画素データからなる画像に、画質向上のための処理を効率よく施すことができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施形態について図面を参照しながら説明する。第１の実施形態である画素データ読み出し装置１の構成を図１に模式的に示す。また、画素データ読み出し装置１が読み出し対象とする画素データで表される画像を図２に模式的に示し、その画素データの記憶媒体上での配列の例を図３に模式的に示す。
【００１８】
図２に示すように、画像を構成する画素はＸ方向と、これに直交するＹ方向に並んでおり、各画素の画像上での位置は座標(X,Y)で表される。図２の画像は、座標(0,0)〜(m,n)に位置する（ｍ＋１）×（ｎ＋１）個の画素で構成されている。画素データ読み出し装置１は、画像に含まれる１つの画素Ｓの位置を入力され、画像上で画素Ｓの周囲に位置する８つの画素Ａ〜Ｈの画素データを記憶媒体であるメモリ２（図１）から読み出す。
【００１９】
メモリ２の記憶領域にはワード（＝１６ビット）単位でアドレスが割り当てられており、メモリ２内の任意のビットの位置は、そのビットを含むワードのアドレスと、そのワード内での位置で特定することができる。メモリ２上の画素データは、図３に示すように、画像上でＸ方向に並ぶ画素を１ラインとして、Ｙ方向の座標の小さいラインのものから順に１ラインずつ、かつ、１ライン内ではＸ方向の座標の小さい画素のものから順に並べて格納されている。以下、Ｘ方向に平行な方向を左右、Ｙ方向に平行な方向を上下と定める。
【００２０】
メモリ２は複数の画像の画素データを記憶することが可能であり、したがって、各画像の画素データの開始位置は異なる。画像の大きさも一定ではなく、Ｘ方向（１ライン）の画素数、Ｙ方向の画素数は、画像ごとに異なる。また、１つの画素データを表すビットの数は、画像ごとに可変である。
【００２１】
画素データ読み出し装置１に関する諸パラメータを次のように定義する。
【００２２】
X：            画素の画像上でのＸ方向の位置（ただし、X≧0）
Y：            画素の画像上でのＹ方向の位置（ただし、Y≧0）
Addr0：        先頭アドレス
（１画像の画素データの先頭ビットを含むワードのアドレス）
BitsPixel：    １画素当たりのビット数（１画素データを表すビットの数）
PixelsLine：   １ライン当たりの画素数（１ラインに含まれる画素の数）
BitsLine：     １ライン当たりのビット数
（１ラインに含まれる全画素の画素データを表すために必要な
ビットの数）
WordsLine：    １ライン当たりのワード数
（１ラインに含まれる全画素の画素データを表すために必要な
ワードの数）
AddrS：        画素Ｓの画素データの開始ビット（最下位ビット（ＬＳＢ））
を含むワードのアドレス
AddrA〜AddrH： 画素Ａ〜Ｈの画素データの開始ビットを含むワードのアドレス
BitS：         画素Ｓの画素データの開始ビットのワード内での位置
BitA〜BitH:    画素Ａ〜Ｈの画素データの開始ビットのワード内での位置
ここで、先頭アドレス(Addr0)、１画素当たりのビット数(BitsPixel)、および、１ライン当たりの画素数(PixelsLine)は、メモリ２が記憶している画像に応じて、外部から画素データ読み出し装置１に入力される。また、画素のＸ方向の位置(X)、画素のＹ方向の位置(Y)は、１つの画像について、１または複数、画素データ読み出し装置１に入力される。
【００２３】
本実施形態では、画素データを表すビットの数(BitsPixel)を、１、２、４、８または１６としている。また、１ラインの最初の画素（座標(k,0)の画素）の画素データが、１つのワードの最下位ビットから始まるように、かつ、１ラインに含まれる全ての画素の画素データが連続するように、各画素データをメモリ２に格納するようにしている。したがって、メモリ２上で２つのワードにまたがる画素データは存在しない。なお、図３は、１画素当たりのビット数(BitsPixel)が４の場合の例である。
【００２４】
上記の設定では、１ライン当たりのビット数(BitsLine)は、１画素当たりのビット数(BitsPixel)と、１ライン当たりの画素数(PixelsLine)とを用いて、式(1)によって算出することができる。
【００２５】
BitsLine = BitsPixel × PixelsLine                              ・・・ (1)
１ライン当たりのワード数(WordsLine)は、１ライン当たりのビット数(BitsLine)と、１ワード当たりのビット数(16)とを用いて、式(2)または式(2')によって算出することができる。なお、「MOD()」は括弧()内の除算の余り（整数）である。
【００２６】
WordsLine = BitsLine / 16  （MOD(BitsLine / 16) = 0 のとき）    ・・・ (2)
WordsLine = (BitsLine + 16 - MOD(BitsLine / 16)) / 16
（MOD(BitsLine / 16) ≠ 0 のとき）   ・・・ (2')
画素Ｓの画素データの開始ビットのワード内での位置(BitS)は、Ｘ方向の位置(X)と、１画素当たりのビット数(BitsPixel)と、１ワード当たりのビット数とを用いて、式(3)によって算出することができる。
【００２７】
BitS = MOD((X × BitsPixel) / 16)                               ・・・ (3)
画素Ｓの左および右（同一ライン上）に位置する画素Ｄ、Ｅの画素データの開始ビットのワード内での位置(AddrD)、(AddrE)は、画素Ｓの画素データの開始ビット位置(BitS)と、１画素当たりのビット数(BitsPixel)とを用いて、それぞれ、式(4)もしくは式(4')、または、式(5)もしくは式(5')によって算出することができる。
【００２８】
BitD = BitS + BitsPixel       （BitS + BitsPixel < 16 のとき）  ・・・ (4)
BitD = BitS + BitsPixel - 16  （BitS + BitsPixel ≧ 16 のとき） ・・・ (4')
BitE = BitS - BitsPixel       （BitS - BitsPixel） ≧ 0 のとき）・・・ (5)
BitE = BitS - BitsPixel + 16  （BitS - BitsPixel < 0 のとき）   ・・・ (5')
画素Ｓの上および下に位置する画素Ｂ、Ｇの画素データの開始ビットのワード内での位置(AddrB)、(AddrG)は、画素Ｓの画素データの開始ビット位置(BitS)に等しい（式(6)、式(7)）。
【００２９】
BitB = BitS                                                     ・・・ (6)
BitG = BitS                                                     ・・・ (7)
画素Ｓの左上および左下に位置する画素Ａ、Ｆの画素データの開始ビットのワード内での位置(AddrA)、(AddrF)は、画素Ｓの左に位置する画素Ｄの画素データの開始ビット位置(BitD)に等しい（式(8)、式(9)）。
【００３０】
BitA = BitD                                                     ・・・ (8)
BitF = BitD                                                     ・・・ (9)
また、画素Ｓの右上および右下に位置する画素Ｃ、Ｈの画素データの開始ビットのワード内での位置(AddrC)、(AddrH)は、画素Ｓの右に位置する画素Ｅの画素データの開始ビット位置(BitE)に等しい（式(10)、式(11)）。
【００３１】
BitC = BitE                                                     ・・・ (10)
BitH = BitE                                                     ・・・ (11)
画素Ｓの画素データの開始ビットを含むワードのアドレス(AddrS)は、Ｙ方向の位置(Y)と、１ライン当たりのワード数(WordslLine)と、Ｘ方向の位置(X)と、１画素当たりのビット数(BitsPixel)と、開始ビットの位置(BitS)と、開始アドレス(Addr0)と、１ワード当たりのビット数とを用いて、式(12)によって算出することができる。
【００３２】
AddrS = Y × WordslLine + (X × BitsPixel - BitS) / 16 + Addr0  ・・・ (12)
画素Ｓの左および右（同一ライン上）に位置する画素Ｄ、Ｅの画素データの開始ビットを含むワードのアドレス(AddrD)、(AddrE)は、画素Ｓの画素データのアドレス(AddrS)と、１画素当たりのビット数(BitsPixel)と、１ワード当たりのビット数とを用いて、それぞれ、式(13)もしくは式(13')、または、式(14)もしくは式(14')によって算出することができる。
【００３３】
AddrD = AddrS      （BitS + BitsPixel < 16 のとき）             ・・・ (13)
AddrD = AddrS + 1  （BitS + BitsPixel ≧ 16 のとき）            ・・・ (13')
AddrE = AddrS      （BitS + BitsPixel ≧ 0 のとき）             ・・・ (14)
AddrE = AddrS - 1  （BitS + BitsPixel < 0 のとき）              ・・・ (14')
画素Ｓの上および下に位置する画素Ｂ、Ｇの画素データの開始ビットを含むワードのアドレス(AddrB)、(AddrG)は、画素Ｓの画素データのアドレス(AddrS)と、１ライン当たりのワード数(WordsLine)とを用いて、それぞれ、式(15)または式(16)によって算出することができる。
【００３４】
AddrB = AddrS - WordsLine                                       ・・・ (15)
AddrG = AddrS + WordsLine                                       ・・・ (16)
画素Ｓの左上および左下に位置する画素Ａ、Ｆの画素データの開始ビットを含むワードのアドレス(AddrA)、(AddrF)は、画素Ｓの左に位置する画素Ｄの画素データのアドレス(AddrD)と、１ライン当たりのワード数(WordsLine)とを用いて、それぞれ、式(17)または式(18)によって算出することができる。
【００３５】
AddrA = AddrD - WordsLine                                       ・・・ (17)
AddrF = AddrD + WordsLine                                       ・・・ (18)
また、画素Ｓの右上および右下に位置する画素Ｃ、Ｈの画素データの開始ビットを含むワードのアドレス(AddrC)、(AddrH)は、画素Ｓの右に位置する画素Ｅの画素データのアドレス(AddrE)と、１ライン当たりのワード数(WordsLine)とを用いて、それぞれ、式(19)または式(20)によって算出することができる。
【００３６】
AddrC = AddrE - WordsLine                                       ・・・ (19)
AddrH = AddrE + WordsLine                                       ・・・ (20)
図１を参照して、画素データ読み出し装置１の構成について説明する。図１において、白抜きの矢印は画素データの流れを、実線の矢印はパラメータの流れを、また、破線の矢印は制御信号の流れを表している。画素データ読み出し装置１は、ビット/画素数記憶部１１、画素/ライン数記憶部１２、先頭アドレス記憶部１３、２つの注目画素位置記憶部１４、１５、メモリアクセス部１６、周囲画素データ選択部１７、周囲画素データ記憶部１８、制御部１９、および、アドレス/ビット演算部２０より成る。
【００３７】
ビット/画素数記憶部１１は、１画素当たりのビット数(BitsPixel)を外部より入力されて保持し、画素/ライン数記憶部１２は、１ライン当たりの画素数(PixelsLine)を外部より入力されて保持し、先頭アドレス記憶部１３は、画素データの先頭アドレス(Addr0)を外部より入力されて保持する。これらのパラメータは、１つの画像について１回のみ入力すればよい。
【００３８】
注目画素位置記憶部１４、１５はそれぞれ、１つの画素（注目画素）Ｓの画像上でのＸ方向の位置(X)およびＹ方向の位置(Y)を外部より入力されて保持する。これらのパラメータは、１つの画像について何度でも入力することができる。
【００３９】
メモリアクセス部１６は、メモリ２に対してアドレスを指定し、指定したアドレスから始まる所定量（１ワードの整数倍に定められている）のデータを読み出す。メモリアクセス部１６が指定するアドレスは、アドレス/ビット演算部２０から与えられる。周囲画素データ選択部１７は、メモリアクセス部１６がメモリ２から読み出したデータの中から、周囲画素の画素データを選択する。選択するデータの開始ビットと終了ビット（最上位ビット（ＭＳＢ））はアドレス/ビット演算部２０から与えられる。
【００４０】
周囲画素データ記憶部１８は、周囲画素データ選択部１７が選択した画素データを、所定の順序で記憶する。周囲画素データ記憶部１８が記憶している画素データは、外部から読み出すことができる。
【００４１】
アドレス/ビット演算部２０は、ビット/ライン数計算部２１、ワード/ライン数計算部２２、注目画素ビット計算部２３、注目画素アドレス計算部２４、左画素ビット計算部３１、右画素ビット計算部３２、左画素アドレス計算部４１、右画素アドレス計算部４２、上画素アドレス計算部４３、下画素アドレス計算部４４、左上画素アドレス計算部４５、左下画素アドレス計算部４６、右上画素アドレス計算部４７、および、右下画素アドレス計算部４８より成る。
【００４２】
ビット/ライン数計算部２１は、前述の式(1)に従って１ライン当たりのビット数（BitsLine）を算出して保持し、ワード/ライン数計算部２２は、式(2)、(2')に従って１ライン当たりのワード数(WordsLine)を算出して保持する。注目画素ビット計算部２３は、式(3)に従って注目画素Ｓの画素データの開始ビットの１ワード内での位置(BitS)を算出し、さらに、画素Ｓの画素データの終了ビットの位置（BitS + BitsPixel - 1）を算出して、これらを保持する。注目画素アドレス計算部２４は、式(12)に従って注目画素Ｓの画素データの開始ビットを含むワードのアドレス(AddrS)を算出して保持する。
【００４３】
左画素ビット計算部３１は、式(4)、(4')に従って、注目画素Ｓの左に位置する画素Ｄの画素データの開始ビットの１ワード内での位置(BitD)を算出し、さらに、画素Ｄの画素データの終了ビットの位置（BitD + BitsPixel - 1）を算出して、これらを保持する。同様に、右画素ビット計算部３２は、式(5)、(5')に従って、注目画素Ｓの右に位置する画素Ｅの画素データの開始ビットの１ワード内での位置(BitE)を算出し、さらに、画素Ｅの画素データの終了ビットの位置（BitE + BitsPixel - 1）を算出して、これらを保持する。
【００４４】
また、左画素アドレス計算部４１は、式(13)、(13')に従って、注目画素Ｓの左に位置する画素Ｄの画素データの開始ビットを含むワードのアドレス(AddrD)を算出して保持し、右画素アドレス計算部４２は、式(14)、(14')に従って、注目画素Ｓの右に位置する画素Ｅの画素データの開始ビットを含むワードのアドレス(AddrE)を算出して保持する。
【００４５】
同様に、上画素アドレス計算部４３、下画素アドレス計算部４４、左上画素アドレス計算部４５、左下画素アドレス計算部４６、右上画素アドレス計算部４７、および、右下画素アドレス計算部４８は、それぞれ式(15)〜(20)に従って、注目画素Ｓの上、下、左上、左下、右上、および右下に位置する画素Ｂ、Ｇ、Ａ、Ｆ、Ｃ、Ｈの画素データの開始ビットを含むワードのアドレス(AddrB)、(AddrG)、(AddrA)、(AddrF)、(AddrC)、(AddrH)を算出して保持する。
【００４６】
制御部１９は、外部から与えられる指示に応じて、メモリアクセス部１６、周囲画素データ選択部１７、周囲画素データ記憶部１８、および、アドレス/ビット演算部２０の動作を制御する。具体的には、制御部１９は、外部から指示が与えられると、アドレス/ビット演算部２０内の各部に動作を開始させ、アドレス/ビット演算部２０が演算を終えた時点で、メモリアクセス部１６、周囲画素データ選択部１７、および周囲画素データ記憶部１８に動作を開始させる。
【００４７】
その際、制御部１９は、アドレス/ビット計算部２０の８つの画素アドレス演算部４１〜４８に順に指示を与えて、それらの保持するアドレスをメモリアクセス部１６に出力させ、あるいは、画素アドレス演算部４１〜４８が保持しているアドレスを順に読み出すように、メモリアクセス部１６に指示を与える。また、制御部１９は、アドレス/ビット計算部２０の３つの画素ビット計算部２３、３１、３２に指示を与えて、いずれかが保持する開始ビットと終了ビットを周囲画素データ選択部１７に出力させ、あるいは、画素ビット計算部２３、３１、３２のいずれかが保持している開始ビットと終了ビットを読み出すように、周囲画素データ選択部１７に指示を与える。
【００４８】
ここで、制御部１９は、注目画素Ｓに対する周囲画素Ａ〜Ｈの相対位置と、アドレスと、ビットの位置が適切に対応するように、メモリアクセス部１６が用いるアドレスと、周囲画素データ選択部１７が用いるビット位置とを、次のようにして対応させる。すなわち、上画素アドレス計算部４３が算出したアドレス(AddrB)または下画素アドレス計算部４４が算出したアドレス(AddrG)をメモリアクセス部１６が用いるときには、注目画素ビット計算部２３が算出した開始ビット(BitS)および終了ビット(BitS+BitsPixel-1)を周囲画素データ選択部１７が用いるようにする。
【００４９】
また、左画素アドレス計算部４１、左上画素アドレス計算部４５、または左下画素アドレス計算部４６が算出したアドレス(AddrD)、(AddrA)、(AddrF)をメモリアクセス部１６が用いるときには、左画素ビット計算部３１が算出した開始ビット(BitD)および終了ビット(BitD+BitsPixel-1)を周囲画素データ選択部１７が用いるようにする。さらに、右画素アドレス計算部４２、右上画素アドレス計算部４７、または右下画素アドレス計算部４８が算出したアドレス(AddrE)、(AddrC)、(AddrH)をメモリアクセス部１６が用いるときには、右画素ビット計算部３２が算出した開始ビット(BitE)および終了ビット(BitE+BitsPixel-1)を周囲画素データ選択部１７が用いるようにする。
【００５０】
制御部１９は、また、周囲画素Ａ〜Ｈの画素データが一定の順序で周囲画素データ記憶部１８に並ぶように、周囲画素データ記憶部１８が画素データを格納する領域を、メモリアクセス部１６が用いるアドレスに応じて設定する。周囲画素Ａ〜Ｈの画素データが全て周囲画素データ記憶部１８に格納された時点で、制御部１９は、外部に対して、周囲画素データ記憶部１８から画素データを読み出すべきことを通知する。
【００５１】
画素データ読み出し装置１は、ハードウェアのみで実現することができるし、ハードウェアとソフトウェアとを組み合わせて実現することもできる。ハードウェアのみで実現する場合、パラメータや画素データを保持するためにはレジスタ回路を、アドレスやアドレス内のビット位置を算出するためには演算回路や比較回路を、また、制御のためにはシーケンサ回路を採用すればよい。演算回路としては、前掲の各式から判るように、加減乗除の四則演算を行うもののほか、除算の余りを求めるものがあれば足りる。
【００５２】
ハードウェアとソフトウェアとで実現する場合、演算と制御を行うためのＣＰＵ、そのプログラムを記憶するためのメモリが必要である。パラメータや画素データはそのメモリに記憶するようにしてもよいし、レジスタ回路を備えて、それに記憶するようにしてもよい。
【００５３】
なお、ここでは、画素データを表すビットの数(BitsPixel)の最大値を、１ワードのビット数である１６としているが、３２、６４等のように１ワードのビット数の整数倍としてもよい。そのようにすると、カラー画像を取り扱う場合に、多くの色を表現することが可能になる。ただし、１つの画素データを複数のワードに格納することになるため、１つの画素データを読み出すためにメモリ２に２回以上アクセスする必要が生じることもある。
【００５４】
また、画素データを表すビットの数(BitsPixel)を１、２、４、８、１６としたのは、各ワードの最下位ビットをいずれかの画素データの開始ビットとするためである。これにより、周囲画素Ａ〜Ｈの画素データのアドレスの計算がきわめて容易になっている（式(13)〜式(20)参照）。
【００５５】
ただし、この設定では、画素データを表すために、必要な最小限のビット数を超えるビット数を使用する場合も生じる。例えば、画素の濃淡の階調を８とする場合、画素データを格納するために必要なビット数は３であるが、画素データを表すビットの数(BitsPixel)は４とすることになり、１つの画素データについて使用しないビットが１つ生じる。この場合のメモリ２上の画素データを図４に模式的に示す。斜線を付した部分が不使用のビットである。不使用ビットが生じると、メモリ２の利用効率が低下し、メモリ２が画素データを記憶し得る画像の数が低下する。なお、不使用ビットの数は、必要なビット数が９のとき（画素データを表すビットの数(BitsPixel)は１６）に、最大の７となる。
【００５６】
不使用ビットの数を低減してメモリ２の利用効率を高めるために、画素データを表すビットの数(BitsPixel)を任意の整数としてもよい。画素データを表すビットの数(BitsPixel)を３にした場合の、メモリ２上の画素データの例を図５および図６に模式的に示す。
【００５７】
図５の例は、画素データの開始ビットを１ワード内の第０、３、６、９、１２ビットに限定して、１つの画素データが２つのワードにまたがらないようにしたものである。この例では図４の例に比べて不使用ビットの数が１／４になる。
【００５８】
また、図６の例は、画素データの開始ビットの位置を図５のように限定せず、１ラインに含まれる全ての画素データが連続するようにしたものである。この例では、各ラインの最後の画素（座標(k,n)）の画素データを含むワードに不使用ビットが生じる可能性があるのみで、メモリ２の利用効率がきわめて高くなる。
【００５９】
画素データを表すビットの数(BitsPixel)を任意の整数とすると、画素データの開始ビットのワード内での位置や、画素データの開始ビットを含むアドレスを算出するための式が少し複雑になり、画素データ読み出し装置１をハードウェアのみで実現する場合は、回路構成が少し複雑になる。しかし、その不都合よりも、メモリ２の利用効率が高まることの効果の方が大きいといえる。
【００６０】
第２の実施形態である複写機５の構成を図７に模式的に示す。複写機５は、画素データ生成部５１、画像メモリ５２、画像形成部５３、画像処理部５４、画素データ記録部５５、画素データ読み出し部５６、周囲画素データ読み出し部５７、操作部５８、表示部５９、および制御部６０より成る。
【００６１】
画素データ生成部５１は、原稿から画像を読み取って、その画像を構成する個々の画素の画素データを生成する。画像メモリ５２は、第１の実施形態で説明したメモリ２であり、画素データを記憶する。画像形成部５３は、画素データが表す画像をシートに形成する。画像処理部５４は、画像全体の濃度を調節するための処理と、画質を高めるためのスムージング、エッジ強調等の処理を画素データに施す。なお、画像形成部５３は、画像処理部５４が処理を施した後の画素データを用いて画像を形成する。
【００６２】
画素データ記録部５５は、画素データ生成部５１が生成した画素データを画像メモリ５２に格納し、また、画像処理部５４が処理を施した後の画素データを画像メモリ５２に格納する。画素データ記録部５５による画像メモリ５２への画素データの格納は、第１の実施形態で説明した配列で行われる。画素データ読み出し部５６は、画像メモリ５２から画素データを読み出して画像形成部５３および画像処理部５４に与える。
【００６３】
周囲画素データ読み出し部５７は、第１の実施形態の画素データ読み出し装置１である。周囲画素データ読み出し部５７は、制御部６０から画像上での画素の位置を入力されて、その画素の周囲の８画素の画素データを画像メモリ５２から読み出し、読み出した画素データを画像処理部５４に与える。
【００６４】
操作部５８は、使用者によって操作されるキー、タッチパネル等より成り、画像の形成に関する使用者の指示を受け付ける。表示部５９は、液晶表示装置より成り、画像の形成に関する情報、操作案内等を表示する。
【００６５】
制御部６０は上記各部の動作を制御する。画素データに関しては、制御部６０は次の制御を行う。すなわち、１画素当たりのビット数(BitsPixel)を画素データ生成部５１に与えて、そのビット数で画素データが表されるようにし、１画素当たりのビット数(BitsPixel)と先頭アドレス(Addr0)とを画素データ記録部５５と画素データ読み出し部５６に与えて、画素データが適切に画像メモリ５２に格納され、画素データが適切に画像メモリ５２から読み出されるようにする。
【００６６】
さらに、１画素当たりのビット数(BitsPixel)と画素データの開始アドレス(Addr0)とを周囲画素データ読み出し部５７に与えておき、その後、画像処理部５４が画質の向上のために処理を施す対象である注目画素の画像上での位置(X)、(Y)を逐次周囲画素データ読み出し部５７に与える。
【００６７】
１画素当たりのビット数(BitsPixel)を可変としても周囲画素データ読み出し部５７が対応できるため、複写機５は、画像の濃淡の階調やカラー画像であるか否かに応じて、画像メモリ５２を効率よく利用することができる。
【００６８】
なお、ここでは画像形成装置の例として複写機を掲げたが、本発明の画素データ読み出し装置は、ファクシミリ、プリンタ等の他の画像形成装置に適用することも可能であり、さらに、画像形成装置以外の画像処理装置、例えば画像表示装置にも適用するすることができる。
【図面の簡単な説明】
【００６９】
【図１】第１の実施形態の画素データ読み出し装置の構成を模式的に示すブロック図。
【図２】上記画素データ読み出し装置が読み出し対象とする画素データで表される画像を模式的に示す図。
【図３】上記画素データ読み出し装置が読み出す画素データの記憶媒体上での配列の例を模式的に示す。
【図４】上記画素データ読み出し装置が読み出す画素データの記憶媒体上での配列に、不使用ビットが生じる場合の例を模式的に示す図。
【図５】上記画素データ読み出し装置が読み出す画素データの記憶媒体上での配列の別の例を模式的に示す図。
【図６】上記画素データ読み出し装置が読み出す画素データの記憶媒体上での配列のさらに別の例を模式的に示す図。
【図７】第２の実施形態の複写機の構成を模式的に示すブロック図。
【符号の説明】
【００７０】
１    画素データ読み出し装置
１１    ビット/画素数記憶部
１２    画素/ライン数記憶部
１３    先頭アドレス記憶部
１４    注目画素位置記憶部
１５    注目画素位置記憶部
１６    メモリアクセス部
１７    周囲画素データ選択部
１８    周囲画素データ記憶部
１９    制御部
２０    アドレス/ビット演算部
２１    ビット/ライン数計算部
２２    ワード/ライン数計算部
２３    注目画素ビット計算部
２４    注目画素アドレス計算部
３１    左画素ビット計算部
３２    右画素ビット計算部
４１    左画素アドレス計算部
４２    右画素アドレス計算部
４３    上画素アドレス計算部
４４    下画素アドレス計算部
４５    左上画素アドレス計算部
４６    左下画素アドレス計算部
４７    右上画素アドレス計算部
４８    右下画素アドレス計算部
５    複写機
５１    画素データ生成部
５２    画像メモリ
５３    画像形成部
５４    画像処理部
５５    画素データ記録部
５６    画素データ読み出し部
５７    周囲画素データ読み出し部
５８    操作部
５９    表示部
６０    制御部
【図１】
2005238602.tif 000003
【図２】
2005238602.tif 000004
【図３】
2005238602.tif 000005
【図４】
2005238602.tif 000006
【図５】
2005238602.tif 000007
【図６】
2005238602.tif 000008
【図７】
2005238602.tif 000009