(57)【要約】【課題】必要に応じて高精度な演算と高速な演算とを容易に切り替えて使用することができる演算装置、画像データ変換装置、携帯情報端末、および演算プログラムを提供する。【解決手段】指定された演算精度を表す指定演算精度に応じたサイズのルックアップテーブルのデータを保持するメモリ３と、指定演算精度と入力データＤｉｎに基づいてアドレスを取得するアドレス取得部５と、アドレス取得部５によって取得されたアドレスに対応するルックアップテーブルのデータをメモリ３から読み出し、出力データＤｏｕｔとして出力する読出部６、とを備える。【選択図】図１
2007279941.tif 000002
【特許請求の範囲】
【請求項１】
指定された演算精度を表す指定演算精度に応じたサイズのルックアップテーブルのデータを保持するメモリと、
前記指定演算精度と入力データに基づいてアドレスを取得するアドレス取得部と、
前記アドレス取得部によって取得されたアドレスに対応するルックアップテーブルのデータを前記メモリから読み出し、出力データとして出力する読出部と、を備えることを特徴とする演算装置。
【請求項２】
前記メモリに保持されているルックアップテーブルのデータの一部または全部を保持するキャッシュメモリを有し、
前記読出部は、前記アドレス取得部によって取得されたアドレスに対応するルックアップテーブルのデータが、前記キャッシュメモリに保持されている場合、前記アドレス取得部によって取得されたアドレスに対応するルックアップテーブルのデータを前記キャッシュメモリから読み出し、出力データとして出力し、前記アドレス取得部によって取得されたアドレスに対応するルックアップテーブルのデータが、前記キャッシュメモリに保持されていない場合には、前記アドレス取得部によって取得されたアドレスに対応するルックアップテーブルのデータを前記メモリから読み出し、出力データとして出力するとともに、前記キャッシュメモリに保持させることを特徴とする請求項１に記載の演算装置。
【請求項３】
前記指定演算精度に応じたサイズのルックアップテーブルのデータを生成するルックアップテーブルデータ生成部を有し、
前記メモリは、前記ルックアップテーブルデータ生成部によって生成されたルックアップテーブルのデータを保持することを特徴とする請求項１または請求項２に記載の演算装置。
【請求項４】
前記ルックアップテーブルデータ生成部は、前記指定演算精度の入力に応じてルックアップテーブルのデータを生成する請求項３に記載の演算装置。
【請求項５】
前記アドレス取得部は、前記入力データを、前記指定演算精度に応じたビット数分シフトさせることによりアドレスを取得することを特徴とする請求項１乃至請求項４の何れかに記載の演算装置。
【請求項６】
請求項１乃至請求項５の何れかに記載の演算装置により画像データを変換する画像データ変換装置。
【請求項７】
請求項６に記載の画像データ変換装置を備えた携帯情報端末。
【請求項８】
指定された演算精度を表す指定演算精度に応じたサイズのルックアップテーブルのデータを保持する保持ステップと、
前記指定演算精度と入力データに基づいてアドレスを取得するアドレス取得ステップと、
前記保持ステップで保持されたルックアップテーブルのデータのうち、前記アドレス取得ステップで取得されたアドレスに対応するデータを読み出し、出力データとして出力する読出ステップと、をコンピュータに実行させるための演算プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ルックアップテーブルを使用して演算する演算装置に関し、特に、画像データ変換装置、および携帯情報端末に備えられる演算装置に関するものである。
【背景技術】
【０００２】
近年、メモリデバイスの高密度化と高速化の進行に伴い、より大きなサイズのルックアップテーブル（以下、ＬＵＴという。）のデータをより高速なメモリに保持させることができるようになった。このため、ＬＵＴを使用する演算装置が、高精度でかつ高速な演算を行うことができるようになり、様々な分野で応用例が増えつつある。
【０００３】
特に、リアルタイム画像処理分野における応用例が増えており、この分野では、画像の高精細化、データの大容量化、高ビットレート化に伴い、画像データ演算処理の高速性がますます要求されている。さらに、携帯電話機等の携帯情報端末における画像処理では、メモリの使用量が少ないことが要求されている。
【０００４】
この種のＬＵＴを使用する演算装置では、要求される演算精度が高くなるにしたがって大きなサイズのＬＵＴのデータを保持するメモリを必要とするため、コスト面から実用となる応用が限られていた。
【０００５】
このような問題を解決するものとして、ＬＵＴと補間処理を併用することにより、ＬＵＴを保持するメモリの使用量を少なくさせるとともに、高精度な演算をすることができる演算装置が知られている（例えば、特許文献１参照）。
【特許文献１】特開平７−１４１４８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来のＬＵＴと補間処理を併用する演算装置においては、高精度な演算が必要ではない場合であっても、補間処理に時間がかかることにより高速な演算を行うことができないため、必要に応じて高精度な演算と高速な演算とを切り替えて使用することができないという問題があった。
【０００７】
本発明は、従来の問題を解決するためになされたもので、必要に応じて高精度な演算と高速な演算とを容易に切り替えて使用することができる演算装置、画像データ変換装置、携帯情報端末、および演算プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の演算装置は、指定された演算精度を表す指定演算精度に応じたサイズのルックアップテーブルのデータを保持するメモリと、前記指定演算精度と入力データに基づいてアドレスを取得するアドレス取得部と、前記アドレス取得部によって取得されたアドレスに対応するルックアップテーブルのデータを前記メモリから読み出し、出力データとして出力する読出部と、を備えた構成を有している。
【０００９】
この構成により、本発明の演算装置は、指定された演算精度に応じたサイズのルックアップテーブルを使用するため、指定された演算精度が低くなるにしたがって、ルックアップテーブルのデータをより高速で容量の小さいメモリに保持させることができる。したがって、必要に応じて高精度な演算と高速な演算とを容易に切り替えて使用することができる。
【００１０】
また、本発明の演算装置は、前記メモリに保持されているルックアップテーブルのデータの一部または全部を保持するキャッシュメモリを有し、前記読出部は、前記アドレス取得部によって取得されたアドレスに対応するルックアップテーブルのデータが、前記キャッシュメモリに保持されている場合、前記アドレス取得部によって取得されたアドレスに対応するルックアップテーブルのデータを前記キャッシュメモリから読み出し、出力データとして出力し、前記アドレス取得部によって取得されたアドレスに対応するルックアップテーブルのデータが、前記キャッシュメモリに保持されていない場合には、前記アドレス取得部によって取得されたアドレスに対応するルックアップテーブルのデータを前記メモリから読み出し、出力データとして出力するとともに、前記キャッシュメモリに保持させる構成を有している。
【００１１】
この構成により、本発明の演算装置は、指定された演算精度に応じたサイズのルックアップテーブルを使用することにより、指定された演算精度が低くなるにしたがってキャッシュメモリのヒット率が高くなる。したがって、必要に応じて高精度な演算と高速な演算とを容易に切り替えて使用することができる。
【００１２】
また、本発明の演算装置は、前記指定演算精度に応じたサイズのルックアップテーブルのデータを生成するルックアップテーブルデータ生成部を有し、前記メモリが、前記ルックアップテーブルデータ生成部によって生成されたルックアップテーブルのデータを保持する構成を有している。
【００１３】
この構成により、本発明の演算装置は、指定された演算精度に応じたサイズのルックアップテーブルを生成するため、メモリを効率的に使用することができる。
【００１４】
また、本発明の演算装置は、前記ルックアップテーブルデータ生成部が、前記指定演算精度の入力に応じてルックアップテーブルのデータを生成する構成を有している。
【００１５】
この構成により、本発明の演算装置は、演算に使用するルックアップテーブルを動的に切り替えることができる。
【００１６】
また、本発明の演算装置は、前記アドレス取得部が、前記入力データを、前記指定演算精度に応じたビット数分シフトさせることによりアドレスを取得する構成を有している。
【００１７】
この構成により、本発明の演算装置は、簡易な構成でルックアップテーブルを使用した演算を行うことができる。
【００１８】
本発明の画像データ変換装置は、上記演算装置により画像データを変換する構成を有している。
【００１９】
また、本発明の画像データ変換装置は、携帯情報端末に備えられていてもよい。
【００２０】
本発明の演算プログラムは、指定された演算精度を表す指定演算精度に応じたサイズのルックアップテーブルのデータを保持する保持ステップと、前記指定演算精度と入力データに基づいてアドレスを取得するアドレス取得ステップと、前記保持ステップで保持されたルックアップテーブルのデータのうち、前記アドレス取得ステップで取得されたアドレスに対応するデータを読み出し、出力データとして出力する読出ステップと、をコンピュータに実行させる。
【００２１】
この演算プログラムにより、指定された演算精度に応じたサイズのルックアップテーブルを使用するため、指定された演算精度が低くなるにしたがって、ルックアップテーブルのデータをより高速で容量の小さいメモリに保持させることができる。したがって、必要に応じて高精度な演算と高速な演算とを容易に切り替えて使用することができる。
【発明の効果】
【００２２】
本発明は、必要に応じて高精度な演算と高速な演算とを容易に切り替えて使用することができるという効果を有する演算装置、画像データ変換装置、携帯情報端末および演算プログラムを提供することができるものである。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の実施の形態の演算装置について、図面を参照して説明する。なお、本実施の形態の演算装置は、この演算装置の演算により画像データを変換する画像データ変換装置に備えられる。また、この画像データ変換装置は、携帯電話機等の携帯情報端末に備えられるものである。
【００２４】
（第１の実施の形態）
本発明の第１の実施の形態の演算装置を図１に示す。
【００２５】
図１に示すように、演算装置は、演算精度を指定する演算精度指定部１と、演算精度指定部１によって指定された演算精度に応じたサイズのルックアップテーブル（以下、ＬＵＴという。）のデータ（以下、ＬＵＴデータという。）を生成するＬＵＴデータ生成部２と、ＬＵＴデータ生成部２によって生成されたＬＵＴデータを保持するメモリ３と、メモリ３に保持されているＬＵＴのデータの一部または全部を保持するキャッシュメモリ４と、演算精度指定部１によって指定された演算精度と画像データ等の入力データＤｉｎとに基づいてアドレスを取得するアドレス取得部５と、アドレス取得部５によって取得されたアドレスに対応するＬＵＴのデータをメモリ３またはキャッシュメモリ４から読み出し、出力データＤｏｕｔとして出力する読出部６とを有して構成されている。
【００２６】
なお、ＬＵＴデータ生成部２は、演算精度指定部１によって指定された演算精度を得るために必要最小限のサイズのＬＵＴデータを生成するようになっている。また、ＬＵＴのサイズは、キャッシュメモリ４のサイズに比べて小さいものとする。
【００２７】
また、演算精度指定部１、アドレス取得部５、および読出部６は、例えば、ＣＰＵ（Central Processing Unit）によって構成されている。また、メモリ３は、例えば、ＲＡＭ（Random Access Memory）によって構成されている。また、キャッシュメモリ４は、例えば、高速かつ小容量のＲＡＭによって構成されている。
【００２８】
以上のように構成された演算装置について、図面を用いてその動作を説明する。以下、演算装置が８ビット整数の入力データＤｉｎを除数３で除算した商を出力データＤｏｕｔとして出力する場合について説明する。
【００２９】
図２は、本発明の第１の実施の形態に係る演算装置の動作説明のためのフロー図である。
【００３０】
まず、演算精度が演算精度指定部１によって指定される（ステップＳ１）。ここで、演算精度として８ビットか７ビットかが演算精度指定部１によって指定される。
【００３１】
演算精度指定部１によって指定された演算精度に応じたサイズのＬＵＴデータがＬＵＴデータ生成部２によって生成される（ステップＳ２）。ここで、演算精度指定部１によって指定された演算精度が８ビットの場合、以下の式（１）によって１２８バイトのＬＵＴデータがＬＵＴデータ生成部２によって生成される。また、演算精度指定部１によって指定された演算精度が７ビットの場合には、以下の式（２）によって６４バイトのＬＵＴデータがＬＵＴデータ生成部２によって生成される。
（数１）
ＬＵＴデータ＝（ｉ×２）／３  （ｉ＝０〜１２７）                  （１）
（数２）
ＬＵＴデータ＝（ｉ×４）／３  （ｉ＝０〜６４）                    （２）
ＬＵＴデータ生成部２によって生成されたＬＵＴデータがメモリ３によって保持される（ステップＳ３）。ここで、演算精度指定部１によって指定された演算精度が８ビットの場合、図３に示すＬＵＴデータがメモリ３によって保持される。また、演算精度指定部１によって指定された演算精度が７ビットの場合には、図４に示すＬＵＴデータがメモリ３によって保持される。ここで、図３および４に示すアドレスは、ＬＵＴの先頭アドレスからの相対位置を表している。
【００３２】
次に、入力データＤｉｎが演算装置に入力されると、演算精度指定部１によって指定された演算精度と入力データＤｉｎとに基づいてアドレスがアドレス取得部５によって取得される（ステップＳ４）。ここで、演算精度指定部１によって指定された演算精度が８ビットの場合、以下の式（３）によって入力データＤｉｎからアドレスがアドレス取得部５によって取得される。また、演算精度指定部１によって指定された演算精度が７ビットの場合には、以下の式（４）によって入力データＤｉｎからアドレスがアドレス取得部５によって取得される。
（数３）
アドレス＝ＬＵＴの先頭アドレス＋（Ｄｉｎ＞＞１）                （３）
（数４）
アドレス＝ＬＵＴの先頭アドレス＋（Ｄｉｎ＞＞２）                （４）
次に、アドレス取得部５によって取得されたアドレスに対応するＬＵＴのデータが、キャッシュメモリ４に保持されているか否かが読出部６によって判定される（ステップＳ５）。
【００３３】
アドレス取得部５によって取得されたアドレスに対応するＬＵＴのデータが、キャッシュメモリ４に保持されている場合、キャッシュメモリ４に保持されているＬＵＴのデータが読出部６によって読み出され、出力データＤｏｕｔとして出力される（ステップＳ６）。
【００３４】
一方、アドレス取得部５によって取得されたアドレスに対応するＬＵＴのデータが、キャッシュメモリ４に保持されていない場合には、メモリ３に保持されているＬＵＴのデータが読出部６によって読み出され、出力データＤｏｕｔとして出力される（ステップＳ７）。そして、読出部６によって読み出されたＬＵＴのデータがキャッシュメモリ４に保持される（ステップＳ８）。
【００３５】
このような本発明の第１の実施の形態に係る演算装置によれば、指定された演算精度に応じたサイズのＬＵＴを使用することにより、７ビットの演算精度が指定された場合のキャッシュメモリ４のヒット率が、８ビットの演算精度が指定された場合のキャッシュメモリ４のヒット率より高くなる。したがって、必要に応じて高精度な演算と高速な演算とを容易に切り替えて使用することができる。
【００３６】
（第２の実施の形態）
次に、本発明の第２の実施の形態に係る演算装置を図５に示す。
【００３７】
なお、本発明の第２の実施の形態に係る演算装置を構成する構成要素のうち、本発明の第１の実施の形態に係る演算装置を構成する構成要素と同一の構成要素には同一の符号を付し、それぞれの説明を省略する。
【００３８】
図５に示すように、演算装置は、演算精度指定部１と、互いにサイズの異なるＬＵＴ１データおよびＬＵＴ２データを保持するメモリ１１と、キャッシュメモリ４と、アドレス取得部５と、演算精度指定部１によって指定された演算精度に基づいてＬＵＴ１またはＬＵＴ２を選択するＬＵＴ選択部１２と、ＬＵＴ選択部１２によって選択されたＬＵＴのデータのうち、アドレス取得部５によって取得されたアドレスに対応するデータを読み出し、出力データＤｏｕｔとして出力する読出部１３と、を有して構成されている。
【００３９】
なお、メモリ１１は、例えば、ＲＡＭによって構成されている。また、ＬＵＴ選択部１２および読出部１３は、例えば、ＣＰＵによって構成されている。
【００４０】
以上のように構成された演算装置について、図面を用いてその動作を説明する。以下、演算装置が８ビット整数の入力データＤｉｎを除数３で除算した商を出力データＤｏｕｔとして出力する場合について説明する。
【００４１】
図６は、本発明の第２の実施の形態に係る演算装置の動作説明のためのフロー図である。
【００４２】
ここで、メモリ１１には、図３に示す１２８バイトのＬＵＴ１データ、および図４に示すＬＵＴ２データが予め保持されている。
【００４３】
まず、演算精度が演算精度指定部１によって指定される（ステップＳ１１）。ここで、演算精度として８ビットか７ビットかが演算精度指定部１によって指定される。
【００４４】
次に、入力データＤｉｎが演算装置に入力されると、演算精度指定部１によって指定された演算精度と入力データＤｉｎとに基づいてアドレスがアドレス取得部５によって取得される（ステップＳ１２）。ここで、演算精度指定部１によって指定された演算精度が８ビットの場合、以下の式（５）によって入力データＤｉｎからアドレスがアドレス取得部５によって取得される。また、演算精度指定部１によって指定された演算精度が７ビットの場合には、以下の式（６）によって入力データＤｉｎからアドレスがアドレス取得部５によって取得される。
（数５）
アドレス＝ＬＵＴ１の先頭アドレス＋（Ｄｉｎ＞＞１）                    （５）
（数６）
アドレス＝ＬＵＴ２の先頭アドレス＋（Ｄｉｎ＞＞２）                    （６）
次に、演算精度指定部１によって指定された演算精度に基づいてＬＵＴ１またはＬＵＴ２がＬＵＴ選択部１２によって選択される（ステップＳ１３）。
【００４５】
ＬＵＴ選択部１２によって選択されたＬＵＴのデータのうち、アドレス取得部５によって取得されたアドレスに対応するデータが、キャッシュメモリ４に保持されているか否かが読出部１３によって判定される（ステップＳ１４）。
【００４６】
アドレス取得部５によって取得されたアドレスに対応するＬＵＴのデータが、キャッシュメモリ４に保持されている場合、キャッシュメモリ４に保持されているＬＵＴのデータが読出部１３によって読み出されて、出力データＤｏｕｔとして出力される（ステップＳ１５）。
【００４７】
一方、アドレス取得部５によって取得されたアドレスに対応するＬＵＴのデータが、キャッシュメモリ４に保持されていない場合には、メモリ１１に保持されているＬＵＴのデータが読出部１３によって読み出され、出力データＤｏｕｔとして出力される（ステップＳ１６）。そして、読出部１３によって読み出されたＬＵＴのデータがキャッシュメモリ４に保持される（ステップＳ１７）。
【００４８】
このような本発明の第２の実施の形態に係る演算装置によれば、指定された演算精度に応じたサイズのＬＵＴを使用することにより、７ビットの演算精度が指定された場合のキャッシュメモリ４のヒット率が、８ビットの演算精度が指定された場合のキャッシュメモリ４のヒット率より高くなる。したがって、必要に応じて高精度な演算と高速な演算とを容易に切り替えて使用することができる。
【００４９】
なお、本発明の第１の実施の形態では、ＬＵＴデータ生成部２は、２種類のＬＵＴデータを生成することができることとなっているが、これに限らず、３種類以上のＬＵＴデータを生成することができるようになっていてもよい。
【００５０】
また、本発明の第２の実施の形態では、メモリ１１には、２種類のＬＵＴ１データ、ＬＵＴ２データが予め保持されているが、これに限らず、３種類以上のＬＵＴデータが予め保持されていてもよい。
【００５１】
また、本発明の第１および第２の実施の形態では、アドレス取得部５が、入力データＤｉｎに対してシフト演算することによりアドレスを取得しているが、これに限らず、演算精度に応じてアドレスが変化するものであれば、その他の演算をすることによりアドレスを取得するようになっていてもよい。
【００５２】
また、本発明の第１および第２の実施の形態では、ＬＵＴのサイズが、キャッシュメモリ４のサイズに比べて小さいものとしているが、これに限らず、キャッシュメモリのサイズに比べて大きいものであってもよい。
【００５３】
また、本発明の第１および第２の実施の形態では、入力データＤｉｎおよび出力データＤｏｕｔは、８ビット整数のデータとしているが、これに限らず、他のサイズの整数のデータあるいは固定小数点のデータであってもよい。
【産業上の利用可能性】
【００５４】
以上のように、本発明に係る演算装置は、必要に応じて高精度な演算と高速な演算とを容易に切り替えて使用することができるという効果を有し、ルックアップテーブルを使用して演算する演算装置に関し、特に、画像データ変換装置、および複数の画像表示モードを有する携帯型デジタル映像機器、ビデオゲーム機、携帯電話機、監視装置等の携帯情報端末に備えられる演算装置として有用である。ここで、複数の表示モードとは、例えば、静止画表示モードと動画表示モードである。また、ＤＳＰ（Digital Signal Processor）、マイクロプロセッサを動作させる演算プログラムとして有用である。
【図面の簡単な説明】
【００５５】
【図１】本発明の第１の実施の形態に係る演算装置のブロック図
【図２】本発明の第１の実施の形態に係る演算装置の動作を示すフローチャート
【図３】本発明の第１の実施の形態に係る演算精度が８ビットのＬＵＴデータを示す図
【図４】本発明の第２の実施の形態に係る演算精度が７ビットのＬＵＴデータを示す図
【図５】本発明の第２の実施の形態に係る演算装置のブロック図
【図６】本発明の第２の実施の形態に係る演算装置の動作を示すフローチャート
【符号の説明】
【００５６】
１  演算精度指定部
２  ＬＵＴデータ生成部
３、１１  メモリ
４  キャッシュメモリ
５  アドレス取得部
６、１３  読出部
１２  ＬＵＴ選択部
【図１】
2007279941.tif 000003
【図２】
2007279941.tif 000004
【図３】
2007279941.tif 000005
【図４】
2007279941.tif 000006
【図５】
2007279941.tif 000007
【図６】
2007279941.tif 000008