(57)【要約】【課題】  連続して入力されるデータに対してもヒストグラムを作成することができるヒストグラム作成装置を提供する。【解決手段】  データの入出力端子を複数有するデュアルポートＲＡＭ３と、デュアルポートＲＡＭ３を使用して、入力データのヒストグラムを作成するヒストグラム生成部２とを有する構成としている。また、ヒストグラム作成部２は、連続して入力されるデータが、デュアルポートＲＡＭ３の同一アドレスを指定するデータであっても、デュアルポートＲＡＭ３に正確にデータを書き込むようにライトデータを作成するので、連続して入力されるデータに対しても容易にヒストグラムを作成することができる。【選択図】        図３
2008250741.tif 000002
【特許請求の範囲】
【請求項１】
データの入出力端子を複数有する記憶手段と、
前記記憶手段を使用して、入力データのヒストグラムを作成するヒストグラム作成手段と、
を有することを特徴とするヒストグラム作成装置。
【請求項２】
前記ヒストグラム作成手段は、
入力した第１のデータと、該第１のデータよりも先に入力した第２のデータとが前記記憶手段の同一アドレスに記憶すべきデータであるか否かを判定する判定手段と、
前記記憶手段の記憶データを保持する保持手段とを備え、
前記第１のデータ及び第２のデータが前記記憶手段の同一アドレスに記憶すべきデータであると判定された場合には、前記保持手段に保持されたデータを用いてヒストグラムを作成することを特徴とする請求項１記載のヒストグラム作成装置。
【請求項３】
前記ヒストグラム作成手段によって作成されたヒストグラムを解析する解析手段と、
前記解析手段の解析結果に従って、入力データの補正を行う補正手段と、
を有することを特徴とする請求項１又は２記載のヒストグラム作成装置。
【請求項４】
データの入出力端子を複数有する記憶手段を使用して、入力データのヒストグラムを作成するステップを有することを特徴とするヒストグラム作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリを利用してヒストグラムを作成するヒストグラム作成装置及び方法に関する。
【背景技術】
【０００２】
画像処理システムにおいては、入力画像が利用可能な濃度値範囲に適切にスケールされているか否かを調べる際に、入力画像データの濃度値をヒストグラムとして算出することが行われている。
【０００３】
ヒストグラムを求める方法としては、予め、画像データの各濃度値に対応してその濃度値のデータ数（度数）を格納するヒストグラム用のメモリを用意しておき、画像メモリから画像データを順番に読み出し、その画像データの濃度値がいずれの濃度値に該当するかを判別する。そして、該当する濃度値に対応するデータ数（度数）を読み出し、その度数に１を加算したのちその結果を同じアドレスに書き込むことによって、ヒストグラム用のメモリに画像データのヒストグラムを作成する。
【０００４】
図１のフローチャート及び図２を参照しながら従来のヒストグラムの作成手順について説明する。
動作クロックの入力タイミングに合わせて、データを読み出すＲＡＭのアドレスを入力データとして入力すると（ステップＳ１／ＹＥＳ）、次の動作クロックの立ち上がりに同期して該当するアドレスのデータをＲＡＭから読み出す（ステップＳ２）。次に、読み出したデータに１を加算し、加算した値をライトデータとする（ステップＳ３）。求めたライトデータは、次の動作クロックの立ち上がりタイミングに同期してＲＡＭに書き込まれる（ステップＳ４）。この処理を全画素について繰り返し行う（ステップＳ５）。
【０００５】
特許文献１には、ヒストグラムを用いて、画像の階調を変換する方法が開示されている。
【０００６】
【特許文献１】特開２００１−１５４６４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、図２に示すようにＲＡＭからのデータの読み出しと、ＲＡＭへのデータの書き込みとが同時にはできないため、連続して入力されるデータに対しては、ヒストグラムを作成することができなかった。
【０００８】
本発明は上記事情に鑑みてなされたものであり、連続して入力されるデータに対してもヒストグラムを作成することができるヒストグラム作成装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
かかる目的を達成するために本発明のヒストグラム作成装置は、データの入出力端子を複数有する記憶手段と、前記記憶手段を使用して、入力データのヒストグラムを作成するヒストグラム作成手段とを有する構成を備えている。
本発明によれば、入出力端子を複数有する記憶手段を使用してヒストグラムを作成するので、連続して入力されるデータに対しても容易にヒストグラムを作成することができる。
【００１０】
上記ヒストグラム作成装置において、前記ヒストグラム作成手段は、入力した第１のデータと、該第１のデータよりも先に入力した第２のデータとが前記記憶手段の同一アドレスに記憶すべきデータであるか否かを判定する判定手段と、前記記憶手段の記憶データを保持する保持手段とを備え、前記第１のデータ及び第２のデータが前記記憶手段の同一アドレスに記憶すべきデータであると判定された場合には、前記保持手段に保持されたデータを用いてヒストグラムを作成する構成を備えている。
従って、連続して入力されるデータが、記憶手段の同一アドレスを指定するデータであっても、記憶手段に正確にデータを書き込むことができる。
【００１１】
上記ヒストグラム作成装置において、前記ヒストグラム作成手段によって作成されたヒストグラムを解析する解析手段と、前記解析手段の解析結果に従って、入力データの補正を行う補正手段と、を有しているとよい。
従って、作成したヒストグラムに基づいて、入力データの解析を行うことができる。
【００１２】
本発明のヒストグラム作成方法は、データの入出力端子を複数有する記憶手段を使用して、入力データのヒストグラムを作成するステップを有することを特徴としている。
【発明の効果】
【００１３】
本発明によれば、連続して入力されるデータに対してもヒストグラムを作成することができる。
【発明を実施するための最良の形態】
【００１４】
添付図面を参照しながら本実施例の最良の実施例を説明する。
【実施例１】
【００１５】
まず、図３を参照しながら本実施例の構成を説明する。図３には、１基板上に形成された電子装置１の構成を示す。電子装置１は、図３に示すようにヒストグラム作成部２と、デュアルポートＲＡＭ３と、画像解析部４と、画像補正部５とを有している。
【００１６】
ヒストグラム作成部２は、デュアルポートＲＡＭ３を使用して、入力した画像データのヒストグラムを作成する。
【００１７】
デュアルポートＲＡＭ３は、データの入出力のための信号の出入り口（ポート）を２つ設けたＲＡＭであり、例えば、デュアルポートＲＡＭ３は、第１のクロック入力端子に入力される書き込みクロック信号によって設定されたタイミングで入力ポートＤinに入力されるデータを所定の記憶領域に順次書き込み、そして、第２のクロック入力端子に入力される読み出しクロック信号によって設定されたタイミングで上記記憶領域から記憶データを順次読み出し、出力ポートＤoutに出力する。
【００１８】
画像解析部４は、ヒストグラム作成部２で作成したヒストグラムを利用して、画像を解析する。
画像補正部５は、画像解析部４の解析結果に基づいて、画像の補正を行う。例えば、入力した画像データの各色成分ごとに図４（Ａ）に示すヒストグラムを作成し、図４（Ｂ）に示すように画像の濃度階調が０〜２５５の２５６階調となるように補正を行う。このような補正を行うことで色の再現性を高めることができる。
【００１９】
図５に、ヒストグラム作成部２の構成を示す。ヒストグラム作成部２は、図５に示すように第１ＦＦ（フリップフロップ）２１、第２ＦＦ２２、第３ＦＦ２３、第４ＦＦ２４、第５ＦＦ（本発明の保持手段に該当する）２７、第６ＦＦ（本発明の保持手段に該当する）３０と、第１比較器（本発明の判定手段に該当する）２５と、第２比較器（本発明の判定手段に該当する）２６と、セレクタ２８と、加算器２９とを有している。
【００２０】
第１ＦＦ２１は、ヒストグラム作成部２に入力されたリードアドレス（入力データ）をラッチする。第１ＦＦ２１のラッチするリードアドレスは、第２ＦＦ２２に出力される。
第２ＦＦ２２は第１ＦＦ２１の出力するリードアドレスをラッチする。第２ＦＦ２２のラッチするリードアドレスは、リードアドレス（ラッチ）として第１比較器２５、第２比較器２６、第３ＦＦ２３に出力される。
【００２１】
第３ＦＦ２３は、第２ＦＦ２２の出力するリードアドレス（ラッチ）をラッチする。第３ＦＦ２３の格納するリードアドレス（ラッチ）は、ライトアドレスとしてデュアルポートＲＡＭ３に出力されると共に、第１比較器２５と第４ＦＦ２４に出力される。
【００２２】
第４ＦＦ２４は、第３ＦＦ２３の出力するライトアドレスをラッチする。第４ＦＦ２４の格納するライトアドレスは、ライドアドレス（ラッチ）として第２比較器２６に出力される。
【００２３】
第１比較器２５は、第２ＦＦ２２の出力するリードアドレス（ラッチ）と、第３ＦＦ２３の出力するライトアドレスとを比較する。第１比較器２５は、入力データ（リードアドレス（ラッチ））と、この入力データの１つ前の入力データ（ライトアドレス）とが一致しているか否かを判定する。第１比較器２５は、比較結果を表す信号をセレクタ２８に出力する。
【００２４】
第２比較器２６は、第２ＦＦ２２の出力するリードアドレス（ラッチ）と、第４ＦＦ２４の出力するライトアドレス（ラッチ）とを比較する。第２比較器２６は、入力データ（リードアドレス（ラッチ））と、この入力データの２つ前の入力データ（ライトアドレス（ラッチ））とが一致しているか否かを判定する。第２比較器２６は、比較結果を表す信号をセレクタ２８に出力する。
【００２５】
セレクタ２８には、デュアルポートＲＡＭ３から読み出されたリードデータと、ヒストグラム作成部２の出力であり、デュアルポートＲＡＭ３に書き込まれるデータであるライトデータと、ライトデータをラッチした第５ＦＦ２７の出力するライトデータ（ラッチ）と、第１比較器２５と第２比較器２６の比較結果とが入力される。セレクタ２８は、第１比較器２５と第２比較器２６の比較結果をもとに、リードデータ、ライトデータ、ライトデータ（ラッチ）のいずれかを選択して、後段の加算器２９に出力する。加算器２９は、セレクタ２８の出力するデータに１を加算して、第６ＦＦ３０に出力する。第６ＦＦ３０にラッチされたデータがライトデータとしてデュアルポートＲＡＭ３に出力される。
【００２６】
図６を参照しながらヒストグラム作成部２のヒストグラムの作成手順を説明する。
ヒストグラム作成部２は、画像データのヒストグラムを作成する機能部であるため、リードアドレスを入力すると、そのアドレスのデュアルポートＲＡＭ３に格納されたデータの値を読み出し、読み出した値に１を加算してデュアルポートＲＡＭ３の同一アドレスに書き込む。
【００２７】
動作タイミングを示す動作クロック（図６（Ａ）参照）の立ち下がりに同期して、リードアドレス（入力データ）がヒストグラム作成部２に入力される。このリードアドレスをヒストグラム作成部２は、第１ＦＦ２１でラッチする。なお、以下の説明では入力されるリードアドレスのデータを、「１、３、５、７、７、７、５、７、５、３」とし、この順番にヒストグラム作成部２に入力されるものとする。
【００２８】
第２ＦＦ２２は、第１ＦＦ２１から出力されるリードアドレスをラッチする。第２ＦＦ２２は、ラッチしたリードアドレスをリードアドレス（ラッチ）として、第１比較器２５と、第２比較器２６と、第３ＦＦ２３とに出力する。図６（Ｃ）に、第２ＦＦ２２から出力されるリードアドレス（ラッチ）を示す。リードアドレス（ラッチ）は、図６（Ｂ）に示すリードアドレスよりも動作クロックの１クロック分遅れたデータとなる。
【００２９】
図６（Ｄ）に、リードアドレス（ラッチ）を使用して、デュアルポートＲＡＭ３から読み出されたリードデータを示す。例えば、図６に示す例では、デュアルポートＲＡＭ３のリードアドレス（ラッチ）［１］に書き込まれたデータが［５］であり、デュアルポートＲＡＭ３のリードアドレス（ラッチ）［３］に書き込まれたデータが［２］であることを示している。
【００３０】
第３ＦＦ２３は、第２ＦＦ２２の出力するリードアドレス（ラッチ）をラッチする。第３ＦＦ２３のラッチしたリードアドレス（ラッチ）は、ライトアドレスとして第１比較器２５と、第４ＦＦ２４とに出力される。また、第３ＦＦ２３の出力するライトアドレスは、デュアルポートＲＡＭ３の書き込みアドレスとしてデュアルポートＲＡＭ３に供給される。図６（Ｅ）に第３ＦＦ２３から出力されるライトアドレスを示す。ライトアドレスは、リードアドレスよりも動作クロックの２クロック分遅れたデータとなる。
【００３１】
図６（Ｆ）に、ライトデータとしてデュアルポートＲＡＭ３に書き込まれるデータを示す。ヒストグラムを作成するために、デュアルポートＲＡＭ３から読み出したリードデータに１を加算し、その値をリードデータが書き込まれていたデュアルポートＲＡＭ３の同一アドレスに書き込む。
セレクタ２８は、第１比較器２５と第２比較器２６の比較結果により加算器２９に出力するデータを選択する。ここでは、セレクタ２８によりリードデータが選択され、加算器２９に出力されたものとする。加算器２９は、デュアルポートＲＡＭ３から読み出されたリードデータに１を加算して第６ＦＦ３０に出力する。第６ＦＦ３０から出力されるデータがライトデータとして、デュアルポートＲＡＭ３に出力される。
なお、図６（Ｇ）にライトアドレスをラッチした第４ＦＦ２４が第２比較器２６に出力するライトアドレス（ラッチ）のデータを示し、図６（Ｈ）に、ライトデータをラッチする第５ＦＦ２７の出力であるライトデータ（ラッチ）を示す。
【００３２】
以上が、連続して入力されるリードアドレスが、デュアルポートメモリの同一アドレスにアクセスする必要のないデータであった場合の処理となる。
【００３３】
次に、図６（Ｂ）に示すように同一のリードアドレスが連続して入力された場合について説明する。この場合、デュアルポートＲＡＭ３の同一記憶領域に連続してアクセスすることになるため、後のリードアドレスに従ってデータを読み出すときに、前のリードデータに対する書き込みが完了していない場合がある。このような場合には、ライトデータが正しくカウントアップされない場合がある。
そこで、第１比較器２５は、入力データ（リードアドレス（ラッチ））と、その１つ前の入力データ（ライトアドレス）とが一致しているか否かを判定する。また、第２比較器２６は、入力データ（リードアドレス（ラッチ））と、その２つ前の入力データ（ライトアドレス（ラッチ））とが一致しているか否かを判定する。
【００３４】
セレクタ２８は、図７に示すように第１比較器２５によって、リードアドレス（ラッチ）と、このデータの１つ前のライトアドレスとの一致を検出すると、ライトデータを加算器２９に出力する。セレクタ２８は、第２比較器２５の比較結果によらず、第１比較器２５の比較結果が一致した場合には、ライトデータを加算器２９に出力する。この場合、リードデータではなくライトデータに１を加算するので、同じリードアドレスが連続して読み出された場合であっても、該当アドレスに正確な値を書き込むことができる。図６に示す例では、（Ｃ）に示すリードアドレス（ラッチ）のデータ［７，７］と、（Ｅ）に示すライトアドレスのデータ［７，７］とが一致している。この場合、セレクタ２８でライトデータが選択され、（Ｆ）に示すようにライトデータに１が加算される。
【００３５】
また、第２比較器２６によって、リードアドレス（ラッチ）と、このデータの２つ前のライトアドレス（ラッチ）との一致を検出すると、セレクタ２８は、加算器２９にライトデータ（ラッチ）を出力する。第５ＦＦ２７にラッチされていたライトデータ（ラッチ）に１を加算してこれをライトデータとしてデュアルポートＲＡＭ３に出力するので、入力データと、その２つ前の入力データとが同一であった場合であっても、該当アドレスに正確な値を書き込むことができる。図６に示す例では、（Ｃ）に示すリードアドレス（ラッチ）のデータ［７，５］と、（Ｇ）に示すライトアドレス（ラッチ）のデータ［７，５］とで一致している。この場合、セレクタ２８でライトデータ（ラッチ）が選択され、（Ｈ）、（Ｆ）に示すようにライトデータラッチに１が加算される。
【００３６】
図８に示すフローチャートを参照しながらヒストグラム作成部２の処理手順を説明する。
リードアドレスがデータとして入力されると（ステップＳ１１）、ヒストグラム作成部２の第１比較器２５で、第２ＦＦ２２の出力するリードアドレス（ラッチ）と、第３ＦＦ２３の出力するライトアドレスとが比較される（ステップＳ１２）。リードアドレス（ラッチ）と、このリードアドレス（ラッチ）の１つ前のアドレスであるライトアドレスとが一致していた場合には（ステップＳ１２／ＹＥＳ）、両者の一致を示す信号がセレクタ２８に出力される。セレクタ２８は、リードアドレス（ラッチ）とライトアドレスとが一致したことを示す信号が入力されると、このヒストグラム作成部２の出力であるライトデータを加算器２９に出力する。加算器２９によって前回のライトデータに１が加算され、これが新たなライトデータとしてデュアルポートＲＡＭ３に出力される。
【００３７】
また、リードアドレス（ラッチ）とライトアドレスとの一致が検出されなかった場合（ステップＳ１２／ＮＯ）、第１比較器２５からセレクタ２８には、両信号の不一致を示す信号が入力される。
また、第２比較器２６からは、リードアドレス（ラッチ）と、ライトアドレスとの比較結果が入力される。リードアドレス（ラッチ）と、このリードアドレス（ラッチ）の２つ前のアドレスであるライトアドレス（ラッチ）とが一致していた場合には（ステップＳ１４／ＹＥＳ）、両者の一致を示す信号が第２比較器２６からセレクタ２８に出力される。セレクタ２８は、リードアドレス（ラッチ）とライトアドレス（ラッチ）とが一致したことを示す信号が第２比較器２６入力されると、第５ＦＦ２７の出力であるライトデータ（ラッチ）を加算器２９に出力する。加算器２９によって前々回の書き込みデータであるライトデータ（ラッチ）に１が加算され、これが新たなライトデータとしてデュアルポートＲＡＭ３に出力される。
【００３８】
また、リードアドレス（ラッチ）とライトアドレス（ラッチ）とが一致していなかった場合には（ステップＳ１４／ＮＯ）、第２比較器２６からセレクタ２８に、両者の不一致を示す信号が出力される。セレクタ２８は、第１比較器２５と第２比較器２６とから不一致を示す信号が入力されると、リードデータを選択して加算器２９に出力する。加算器２９によってリードデータに１が加算され、これが新たなライトデータとしてデュアルポートＲＡＭ３に出力される。
【００３９】
このように本実施例は、デュアルポートＲＡＭ３を使用することで、連続して入力されるデータに対してもヒストグラムを作成することができる。
また、連続して入力されるデータが、デュアルポートＲＡＭ３の同一アドレスを指定するデータであっても、デュアルポートＲＡＭ３への正確なデータの書き込みが可能となる。
【００４０】
上述した実施例は、本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施が可能である。
【図面の簡単な説明】
【００４１】
【図１】従来の処理手順を示すフローチャートである。
【図２】従来のデュアルポートＲＡＭからのデータの読み出しと、書き込みのタイミングを示す図である。
【図３】電子装置の構成を示す図である。
【図４】画像補正部の処理を説明するための図である。
【図５】ヒストグラム作成部の構成を示す図である。
【図６】ヒストグラム作成部の処理手順を示す図である。
【図７】第１比較器と第２比較器との比較結果と、比較結果に応じたセレクタの選択出力とを示す図である。
【図８】ヒストグラム作成部の処理手順を示すフローチャートである。
【符号の説明】
【００４２】
１  電子装置
２  ヒストグラム生成部
３  デュアルポートＲＡＭ
４  画像解析部
５  画像補正部
２１  第１ＦＦ
２２  第２ＦＦ
２３  第３ＦＦ
２４  第４ＦＦ
２５  第１比較器
２６  第２比較器
２７  第５ＦＦ
２８  セレクタ
２９  加算器
３０  第６ＦＦ
【図１】
2008250741.tif 000003
【図２】
2008250741.tif 000004
【図３】
2008250741.tif 000005
【図４】
2008250741.tif 000006
【図５】
2008250741.tif 000007
【図６】
2008250741.tif 000008
【図７】
2008250741.tif 000009
【図８】
2008250741.tif 000010