JP2007279941A - 演算装置、画像データ変換装置、携帯情報端末、および演算プログラム - Google Patents

演算装置、画像データ変換装置、携帯情報端末、および演算プログラム Download PDF

Info

Publication number
JP2007279941A
JP2007279941A JP2006103993A JP2006103993A JP2007279941A JP 2007279941 A JP2007279941 A JP 2007279941A JP 2006103993 A JP2006103993 A JP 2006103993A JP 2006103993 A JP2006103993 A JP 2006103993A JP 2007279941 A JP2007279941 A JP 2007279941A
Authority
JP
Japan
Prior art keywords
data
address
lookup table
arithmetic
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006103993A
Other languages
English (en)
Inventor
Akio Uesugi
明夫 上杉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2006103993A priority Critical patent/JP2007279941A/ja
Publication of JP2007279941A publication Critical patent/JP2007279941A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】必要に応じて高精度な演算と高速な演算とを容易に切り替えて使用することができる演算装置、画像データ変換装置、携帯情報端末、および演算プログラムを提供する。
【解決手段】指定された演算精度を表す指定演算精度に応じたサイズのルックアップテーブルのデータを保持するメモリ3と、指定演算精度と入力データDinに基づいてアドレスを取得するアドレス取得部5と、アドレス取得部5によって取得されたアドレスに対応するルックアップテーブルのデータをメモリ3から読み出し、出力データDoutとして出力する読出部6、とを備える。
【選択図】図1

Description

本発明は、ルックアップテーブルを使用して演算する演算装置に関し、特に、画像データ変換装置、および携帯情報端末に備えられる演算装置に関するものである。
近年、メモリデバイスの高密度化と高速化の進行に伴い、より大きなサイズのルックアップテーブル(以下、LUTという。)のデータをより高速なメモリに保持させることができるようになった。このため、LUTを使用する演算装置が、高精度でかつ高速な演算を行うことができるようになり、様々な分野で応用例が増えつつある。
特に、リアルタイム画像処理分野における応用例が増えており、この分野では、画像の高精細化、データの大容量化、高ビットレート化に伴い、画像データ演算処理の高速性がますます要求されている。さらに、携帯電話機等の携帯情報端末における画像処理では、メモリの使用量が少ないことが要求されている。
この種のLUTを使用する演算装置では、要求される演算精度が高くなるにしたがって大きなサイズのLUTのデータを保持するメモリを必要とするため、コスト面から実用となる応用が限られていた。
このような問題を解決するものとして、LUTと補間処理を併用することにより、LUTを保持するメモリの使用量を少なくさせるとともに、高精度な演算をすることができる演算装置が知られている(例えば、特許文献1参照)。
特開平7−141489号公報
しかしながら、従来のLUTと補間処理を併用する演算装置においては、高精度な演算が必要ではない場合であっても、補間処理に時間がかかることにより高速な演算を行うことができないため、必要に応じて高精度な演算と高速な演算とを切り替えて使用することができないという問題があった。
本発明は、従来の問題を解決するためになされたもので、必要に応じて高精度な演算と高速な演算とを容易に切り替えて使用することができる演算装置、画像データ変換装置、携帯情報端末、および演算プログラムを提供することを目的とする。
本発明の演算装置は、指定された演算精度を表す指定演算精度に応じたサイズのルックアップテーブルのデータを保持するメモリと、前記指定演算精度と入力データに基づいてアドレスを取得するアドレス取得部と、前記アドレス取得部によって取得されたアドレスに対応するルックアップテーブルのデータを前記メモリから読み出し、出力データとして出力する読出部と、を備えた構成を有している。
この構成により、本発明の演算装置は、指定された演算精度に応じたサイズのルックアップテーブルを使用するため、指定された演算精度が低くなるにしたがって、ルックアップテーブルのデータをより高速で容量の小さいメモリに保持させることができる。したがって、必要に応じて高精度な演算と高速な演算とを容易に切り替えて使用することができる。
また、本発明の演算装置は、前記メモリに保持されているルックアップテーブルのデータの一部または全部を保持するキャッシュメモリを有し、前記読出部は、前記アドレス取得部によって取得されたアドレスに対応するルックアップテーブルのデータが、前記キャッシュメモリに保持されている場合、前記アドレス取得部によって取得されたアドレスに対応するルックアップテーブルのデータを前記キャッシュメモリから読み出し、出力データとして出力し、前記アドレス取得部によって取得されたアドレスに対応するルックアップテーブルのデータが、前記キャッシュメモリに保持されていない場合には、前記アドレス取得部によって取得されたアドレスに対応するルックアップテーブルのデータを前記メモリから読み出し、出力データとして出力するとともに、前記キャッシュメモリに保持させる構成を有している。
この構成により、本発明の演算装置は、指定された演算精度に応じたサイズのルックアップテーブルを使用することにより、指定された演算精度が低くなるにしたがってキャッシュメモリのヒット率が高くなる。したがって、必要に応じて高精度な演算と高速な演算とを容易に切り替えて使用することができる。
また、本発明の演算装置は、前記指定演算精度に応じたサイズのルックアップテーブルのデータを生成するルックアップテーブルデータ生成部を有し、前記メモリが、前記ルックアップテーブルデータ生成部によって生成されたルックアップテーブルのデータを保持する構成を有している。
この構成により、本発明の演算装置は、指定された演算精度に応じたサイズのルックアップテーブルを生成するため、メモリを効率的に使用することができる。
また、本発明の演算装置は、前記ルックアップテーブルデータ生成部が、前記指定演算精度の入力に応じてルックアップテーブルのデータを生成する構成を有している。
この構成により、本発明の演算装置は、演算に使用するルックアップテーブルを動的に切り替えることができる。
また、本発明の演算装置は、前記アドレス取得部が、前記入力データを、前記指定演算精度に応じたビット数分シフトさせることによりアドレスを取得する構成を有している。
この構成により、本発明の演算装置は、簡易な構成でルックアップテーブルを使用した演算を行うことができる。
本発明の画像データ変換装置は、上記演算装置により画像データを変換する構成を有している。
また、本発明の画像データ変換装置は、携帯情報端末に備えられていてもよい。
本発明の演算プログラムは、指定された演算精度を表す指定演算精度に応じたサイズのルックアップテーブルのデータを保持する保持ステップと、前記指定演算精度と入力データに基づいてアドレスを取得するアドレス取得ステップと、前記保持ステップで保持されたルックアップテーブルのデータのうち、前記アドレス取得ステップで取得されたアドレスに対応するデータを読み出し、出力データとして出力する読出ステップと、をコンピュータに実行させる。
この演算プログラムにより、指定された演算精度に応じたサイズのルックアップテーブルを使用するため、指定された演算精度が低くなるにしたがって、ルックアップテーブルのデータをより高速で容量の小さいメモリに保持させることができる。したがって、必要に応じて高精度な演算と高速な演算とを容易に切り替えて使用することができる。
本発明は、必要に応じて高精度な演算と高速な演算とを容易に切り替えて使用することができるという効果を有する演算装置、画像データ変換装置、携帯情報端末および演算プログラムを提供することができるものである。
以下、本発明の実施の形態の演算装置について、図面を参照して説明する。なお、本実施の形態の演算装置は、この演算装置の演算により画像データを変換する画像データ変換装置に備えられる。また、この画像データ変換装置は、携帯電話機等の携帯情報端末に備えられるものである。
(第1の実施の形態)
本発明の第1の実施の形態の演算装置を図1に示す。
図1に示すように、演算装置は、演算精度を指定する演算精度指定部1と、演算精度指定部1によって指定された演算精度に応じたサイズのルックアップテーブル(以下、LUTという。)のデータ(以下、LUTデータという。)を生成するLUTデータ生成部2と、LUTデータ生成部2によって生成されたLUTデータを保持するメモリ3と、メモリ3に保持されているLUTのデータの一部または全部を保持するキャッシュメモリ4と、演算精度指定部1によって指定された演算精度と画像データ等の入力データDinとに基づいてアドレスを取得するアドレス取得部5と、アドレス取得部5によって取得されたアドレスに対応するLUTのデータをメモリ3またはキャッシュメモリ4から読み出し、出力データDoutとして出力する読出部6とを有して構成されている。
なお、LUTデータ生成部2は、演算精度指定部1によって指定された演算精度を得るために必要最小限のサイズのLUTデータを生成するようになっている。また、LUTのサイズは、キャッシュメモリ4のサイズに比べて小さいものとする。
また、演算精度指定部1、アドレス取得部5、および読出部6は、例えば、CPU(Central Processing Unit)によって構成されている。また、メモリ3は、例えば、RAM(Random Access Memory)によって構成されている。また、キャッシュメモリ4は、例えば、高速かつ小容量のRAMによって構成されている。
以上のように構成された演算装置について、図面を用いてその動作を説明する。以下、演算装置が8ビット整数の入力データDinを除数3で除算した商を出力データDoutとして出力する場合について説明する。
図2は、本発明の第1の実施の形態に係る演算装置の動作説明のためのフロー図である。
まず、演算精度が演算精度指定部1によって指定される(ステップS1)。ここで、演算精度として8ビットか7ビットかが演算精度指定部1によって指定される。
演算精度指定部1によって指定された演算精度に応じたサイズのLUTデータがLUTデータ生成部2によって生成される(ステップS2)。ここで、演算精度指定部1によって指定された演算精度が8ビットの場合、以下の式(1)によって128バイトのLUTデータがLUTデータ生成部2によって生成される。また、演算精度指定部1によって指定された演算精度が7ビットの場合には、以下の式(2)によって64バイトのLUTデータがLUTデータ生成部2によって生成される。
(数1)
LUTデータ=(i×2)/3 (i=0〜127) (1)
(数2)
LUTデータ=(i×4)/3 (i=0〜64) (2)
LUTデータ生成部2によって生成されたLUTデータがメモリ3によって保持される(ステップS3)。ここで、演算精度指定部1によって指定された演算精度が8ビットの場合、図3に示すLUTデータがメモリ3によって保持される。また、演算精度指定部1によって指定された演算精度が7ビットの場合には、図4に示すLUTデータがメモリ3によって保持される。ここで、図3および4に示すアドレスは、LUTの先頭アドレスからの相対位置を表している。
次に、入力データDinが演算装置に入力されると、演算精度指定部1によって指定された演算精度と入力データDinとに基づいてアドレスがアドレス取得部5によって取得される(ステップS4)。ここで、演算精度指定部1によって指定された演算精度が8ビットの場合、以下の式(3)によって入力データDinからアドレスがアドレス取得部5によって取得される。また、演算精度指定部1によって指定された演算精度が7ビットの場合には、以下の式(4)によって入力データDinからアドレスがアドレス取得部5によって取得される。
(数3)
アドレス=LUTの先頭アドレス+(Din>>1) (3)
(数4)
アドレス=LUTの先頭アドレス+(Din>>2) (4)
次に、アドレス取得部5によって取得されたアドレスに対応するLUTのデータが、キャッシュメモリ4に保持されているか否かが読出部6によって判定される(ステップS5)。
アドレス取得部5によって取得されたアドレスに対応するLUTのデータが、キャッシュメモリ4に保持されている場合、キャッシュメモリ4に保持されているLUTのデータが読出部6によって読み出され、出力データDoutとして出力される(ステップS6)。
一方、アドレス取得部5によって取得されたアドレスに対応するLUTのデータが、キャッシュメモリ4に保持されていない場合には、メモリ3に保持されているLUTのデータが読出部6によって読み出され、出力データDoutとして出力される(ステップS7)。そして、読出部6によって読み出されたLUTのデータがキャッシュメモリ4に保持される(ステップS8)。
このような本発明の第1の実施の形態に係る演算装置によれば、指定された演算精度に応じたサイズのLUTを使用することにより、7ビットの演算精度が指定された場合のキャッシュメモリ4のヒット率が、8ビットの演算精度が指定された場合のキャッシュメモリ4のヒット率より高くなる。したがって、必要に応じて高精度な演算と高速な演算とを容易に切り替えて使用することができる。
(第2の実施の形態)
次に、本発明の第2の実施の形態に係る演算装置を図5に示す。
なお、本発明の第2の実施の形態に係る演算装置を構成する構成要素のうち、本発明の第1の実施の形態に係る演算装置を構成する構成要素と同一の構成要素には同一の符号を付し、それぞれの説明を省略する。
図5に示すように、演算装置は、演算精度指定部1と、互いにサイズの異なるLUT1データおよびLUT2データを保持するメモリ11と、キャッシュメモリ4と、アドレス取得部5と、演算精度指定部1によって指定された演算精度に基づいてLUT1またはLUT2を選択するLUT選択部12と、LUT選択部12によって選択されたLUTのデータのうち、アドレス取得部5によって取得されたアドレスに対応するデータを読み出し、出力データDoutとして出力する読出部13と、を有して構成されている。
なお、メモリ11は、例えば、RAMによって構成されている。また、LUT選択部12および読出部13は、例えば、CPUによって構成されている。
以上のように構成された演算装置について、図面を用いてその動作を説明する。以下、演算装置が8ビット整数の入力データDinを除数3で除算した商を出力データDoutとして出力する場合について説明する。
図6は、本発明の第2の実施の形態に係る演算装置の動作説明のためのフロー図である。
ここで、メモリ11には、図3に示す128バイトのLUT1データ、および図4に示すLUT2データが予め保持されている。
まず、演算精度が演算精度指定部1によって指定される(ステップS11)。ここで、演算精度として8ビットか7ビットかが演算精度指定部1によって指定される。
次に、入力データDinが演算装置に入力されると、演算精度指定部1によって指定された演算精度と入力データDinとに基づいてアドレスがアドレス取得部5によって取得される(ステップS12)。ここで、演算精度指定部1によって指定された演算精度が8ビットの場合、以下の式(5)によって入力データDinからアドレスがアドレス取得部5によって取得される。また、演算精度指定部1によって指定された演算精度が7ビットの場合には、以下の式(6)によって入力データDinからアドレスがアドレス取得部5によって取得される。
(数5)
アドレス=LUT1の先頭アドレス+(Din>>1) (5)
(数6)
アドレス=LUT2の先頭アドレス+(Din>>2) (6)
次に、演算精度指定部1によって指定された演算精度に基づいてLUT1またはLUT2がLUT選択部12によって選択される(ステップS13)。
LUT選択部12によって選択されたLUTのデータのうち、アドレス取得部5によって取得されたアドレスに対応するデータが、キャッシュメモリ4に保持されているか否かが読出部13によって判定される(ステップS14)。
アドレス取得部5によって取得されたアドレスに対応するLUTのデータが、キャッシュメモリ4に保持されている場合、キャッシュメモリ4に保持されているLUTのデータが読出部13によって読み出されて、出力データDoutとして出力される(ステップS15)。
一方、アドレス取得部5によって取得されたアドレスに対応するLUTのデータが、キャッシュメモリ4に保持されていない場合には、メモリ11に保持されているLUTのデータが読出部13によって読み出され、出力データDoutとして出力される(ステップS16)。そして、読出部13によって読み出されたLUTのデータがキャッシュメモリ4に保持される(ステップS17)。
このような本発明の第2の実施の形態に係る演算装置によれば、指定された演算精度に応じたサイズのLUTを使用することにより、7ビットの演算精度が指定された場合のキャッシュメモリ4のヒット率が、8ビットの演算精度が指定された場合のキャッシュメモリ4のヒット率より高くなる。したがって、必要に応じて高精度な演算と高速な演算とを容易に切り替えて使用することができる。
なお、本発明の第1の実施の形態では、LUTデータ生成部2は、2種類のLUTデータを生成することができることとなっているが、これに限らず、3種類以上のLUTデータを生成することができるようになっていてもよい。
また、本発明の第2の実施の形態では、メモリ11には、2種類のLUT1データ、LUT2データが予め保持されているが、これに限らず、3種類以上のLUTデータが予め保持されていてもよい。
また、本発明の第1および第2の実施の形態では、アドレス取得部5が、入力データDinに対してシフト演算することによりアドレスを取得しているが、これに限らず、演算精度に応じてアドレスが変化するものであれば、その他の演算をすることによりアドレスを取得するようになっていてもよい。
また、本発明の第1および第2の実施の形態では、LUTのサイズが、キャッシュメモリ4のサイズに比べて小さいものとしているが、これに限らず、キャッシュメモリのサイズに比べて大きいものであってもよい。
また、本発明の第1および第2の実施の形態では、入力データDinおよび出力データDoutは、8ビット整数のデータとしているが、これに限らず、他のサイズの整数のデータあるいは固定小数点のデータであってもよい。
以上のように、本発明に係る演算装置は、必要に応じて高精度な演算と高速な演算とを容易に切り替えて使用することができるという効果を有し、ルックアップテーブルを使用して演算する演算装置に関し、特に、画像データ変換装置、および複数の画像表示モードを有する携帯型デジタル映像機器、ビデオゲーム機、携帯電話機、監視装置等の携帯情報端末に備えられる演算装置として有用である。ここで、複数の表示モードとは、例えば、静止画表示モードと動画表示モードである。また、DSP(Digital Signal Processor)、マイクロプロセッサを動作させる演算プログラムとして有用である。
本発明の第1の実施の形態に係る演算装置のブロック図 本発明の第1の実施の形態に係る演算装置の動作を示すフローチャート 本発明の第1の実施の形態に係る演算精度が8ビットのLUTデータを示す図 本発明の第2の実施の形態に係る演算精度が7ビットのLUTデータを示す図 本発明の第2の実施の形態に係る演算装置のブロック図 本発明の第2の実施の形態に係る演算装置の動作を示すフローチャート
符号の説明
1 演算精度指定部
2 LUTデータ生成部
3、11 メモリ
4 キャッシュメモリ
5 アドレス取得部
6、13 読出部
12 LUT選択部

Claims (8)

  1. 指定された演算精度を表す指定演算精度に応じたサイズのルックアップテーブルのデータを保持するメモリと、
    前記指定演算精度と入力データに基づいてアドレスを取得するアドレス取得部と、
    前記アドレス取得部によって取得されたアドレスに対応するルックアップテーブルのデータを前記メモリから読み出し、出力データとして出力する読出部と、を備えることを特徴とする演算装置。
  2. 前記メモリに保持されているルックアップテーブルのデータの一部または全部を保持するキャッシュメモリを有し、
    前記読出部は、前記アドレス取得部によって取得されたアドレスに対応するルックアップテーブルのデータが、前記キャッシュメモリに保持されている場合、前記アドレス取得部によって取得されたアドレスに対応するルックアップテーブルのデータを前記キャッシュメモリから読み出し、出力データとして出力し、前記アドレス取得部によって取得されたアドレスに対応するルックアップテーブルのデータが、前記キャッシュメモリに保持されていない場合には、前記アドレス取得部によって取得されたアドレスに対応するルックアップテーブルのデータを前記メモリから読み出し、出力データとして出力するとともに、前記キャッシュメモリに保持させることを特徴とする請求項1に記載の演算装置。
  3. 前記指定演算精度に応じたサイズのルックアップテーブルのデータを生成するルックアップテーブルデータ生成部を有し、
    前記メモリは、前記ルックアップテーブルデータ生成部によって生成されたルックアップテーブルのデータを保持することを特徴とする請求項1または請求項2に記載の演算装置。
  4. 前記ルックアップテーブルデータ生成部は、前記指定演算精度の入力に応じてルックアップテーブルのデータを生成する請求項3に記載の演算装置。
  5. 前記アドレス取得部は、前記入力データを、前記指定演算精度に応じたビット数分シフトさせることによりアドレスを取得することを特徴とする請求項1乃至請求項4の何れかに記載の演算装置。
  6. 請求項1乃至請求項5の何れかに記載の演算装置により画像データを変換する画像データ変換装置。
  7. 請求項6に記載の画像データ変換装置を備えた携帯情報端末。
  8. 指定された演算精度を表す指定演算精度に応じたサイズのルックアップテーブルのデータを保持する保持ステップと、
    前記指定演算精度と入力データに基づいてアドレスを取得するアドレス取得ステップと、
    前記保持ステップで保持されたルックアップテーブルのデータのうち、前記アドレス取得ステップで取得されたアドレスに対応するデータを読み出し、出力データとして出力する読出ステップと、をコンピュータに実行させるための演算プログラム。
JP2006103993A 2006-04-05 2006-04-05 演算装置、画像データ変換装置、携帯情報端末、および演算プログラム Pending JP2007279941A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006103993A JP2007279941A (ja) 2006-04-05 2006-04-05 演算装置、画像データ変換装置、携帯情報端末、および演算プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006103993A JP2007279941A (ja) 2006-04-05 2006-04-05 演算装置、画像データ変換装置、携帯情報端末、および演算プログラム

Publications (1)

Publication Number Publication Date
JP2007279941A true JP2007279941A (ja) 2007-10-25

Family

ID=38681340

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006103993A Pending JP2007279941A (ja) 2006-04-05 2006-04-05 演算装置、画像データ変換装置、携帯情報端末、および演算プログラム

Country Status (1)

Country Link
JP (1) JP2007279941A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010055063A (ja) * 2008-08-27 2010-03-11 Samsung Electronics Co Ltd 画像データ補償方法、これを行うための補償装置、及びこのデータ補償装置を含む表示装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010055063A (ja) * 2008-08-27 2010-03-11 Samsung Electronics Co Ltd 画像データ補償方法、これを行うための補償装置、及びこのデータ補償装置を含む表示装置

Similar Documents

Publication Publication Date Title
JP4718455B2 (ja) 擬似乱数生成装置及び擬似乱数生成方法及び擬似乱数生成プログラム
US6560691B2 (en) Modulus address generator and method for determining a modulus address
JP3788105B2 (ja) 階調補正装置、画像表示装置および階調補正方法
JP2007279941A (ja) 演算装置、画像データ変換装置、携帯情報端末、および演算プログラム
CN112955878B (zh) 实施神经网络的激活逻辑的装置及其方法
JP2007174312A (ja) 符号化回路およびデジタル信号処理回路
WO2011036746A1 (ja) 演算装置
JP2009094947A (ja) 補正演算回路
TWI662409B (zh) 實體區域頁面位址轉換器與實體區域頁面清單存取方法
US7015839B1 (en) Mapping method utilizing look-up table and related apparatus
JP2010237816A (ja) サーバ装置、クライアント装置、クライアントサーバシステム、画像出力方法及びプログラム
JP2011028543A (ja) 情報処理システム及びその情報処理方法
JP2021061501A5 (ja)
JPH10320524A (ja) ルックアップテーブル装置及び画像生成装置
JP2007189506A (ja) Dds信号発生装置
JP5606341B2 (ja) 画像処理装置及び画像処理システム
JP2004206423A5 (ja)
JP2005090970A (ja) 波形測定装置
JP4324968B2 (ja) フレーム生成装置
JP2005128618A (ja) 除算器、露出制御装置および除算方法
JP2008021189A (ja) 除算装置および除算方法
JP2006050503A (ja) 集積回路装置、通信制御装置、マイクロコンピュータ及び電子機器
JP2004078714A (ja) データ処理装置
JP2009010532A (ja) 色変換処理装置及び色変換方法
JP4402523B2 (ja) データ変換方法、データ変換装置、プログラム及び記憶媒体