JP5040285B2 - アドレス生成回路、バッファ回路、情報処理装置および撮像システム - Google Patents

アドレス生成回路、バッファ回路、情報処理装置および撮像システム Download PDF

Info

Publication number
JP5040285B2
JP5040285B2 JP2006335584A JP2006335584A JP5040285B2 JP 5040285 B2 JP5040285 B2 JP 5040285B2 JP 2006335584 A JP2006335584 A JP 2006335584A JP 2006335584 A JP2006335584 A JP 2006335584A JP 5040285 B2 JP5040285 B2 JP 5040285B2
Authority
JP
Japan
Prior art keywords
remainder
circuit
buffer area
address
buffer
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.)
Expired - Fee Related
Application number
JP2006335584A
Other languages
English (en)
Other versions
JP2008146545A (ja
Inventor
高弘 佐藤
恭弘 飯塚
英一郎 森永
孝安 今
賢一 三瓶
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2006335584A priority Critical patent/JP5040285B2/ja
Publication of JP2008146545A publication Critical patent/JP2008146545A/ja
Application granted granted Critical
Publication of JP5040285B2 publication Critical patent/JP5040285B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、アドレス生成回路に関し、特にメモリ空間上のバッファ領域における目的データのアドレスを生成するアドレス生成回路、バッファ回路、情報処理装置および撮像システムに関する。
コンピュータにおいて大きなサイズのデータを扱う場合、コンピュータから速くアクセスできるバッファ領域にデータ全体の一部を転送しておいて、コンピュータとバッファ領域との間で処理を高速に行う手法が採られる。特に、対象データが画像データである場合、画像処理において一度に必要なデータは局所領域内のデータに限られるため、そのような手法は効果的である。
このバッファ領域をメモリ空間上で管理する場合、各データのメモリ空間におけるアドレスを生成する必要がある。バッファ領域の管理方式としては、リングバッファ構造が知られている。このリングバッファ構造においては、全容量を超えて新たなデータが追加される場合には、アドレスを折り返すことによって必要な容量が新たに確保されるようになっている。
このようなリングバッファのためのアドレス生成手法としては、加減算器およびセレクタを用いたものが提案されている(例えば、特許文献1参照。)。
特開2000−228757号公報(図2)
上述の従来技術によれば、メモリ空間上の一次元のリングバッファ構造によるアドレスが生成される。しかしながら、画像データなどではデータ構造がX座標およびY座標により識別される二次元構造になっており、特定方向の座標を考慮しただけでは十分ではない。
そこで、本発明は、メモリ空間上の二次元のリングバッファ構造におけるアドレスを生成することを目的とする。
本発明は、上記課題を解決するためになされたものであり、その第1の側面は、メモリ空間上の二次元のバッファ領域における目的データの第1の方向の座標値を上記バッファ領域の上記第1の方向の大きさによって割った剰余を生成する第1の剰余生成回路と、上記目的データの上記バッファ領域における上記第1の方向に直交する第2の方向の座標値を上記バッファ領域の上記第2の方向の大きさによって割った剰余を生成する第2の剰余生成回路と、上記第2の剰余生成回路により生成された値に上記バッファ領域の上記第1の方向の大きさを乗じた値を算出する乗算回路と、上記第1の剰余生成回路により生成された値と上記乗算回路により算出された値と上記バッファ領域の開始アドレスとを加算して上記目的データの上記メモリ空間におけるアドレスを出力する加算回路とを具備することを特徴とするアドレス生成回路である。これにより、第1および第2の方向の何れの座標値についてもバッファ領域に該当するメモリ空間上のアドレスを生成させるという作用をもたらす。
また、この第1の側面において、上記バッファ領域内の所定領域の開始位置の上記バッファ領域における第1の方向の座標値と上記目的データの上記所定領域における上記第1の方向の座標値とを加算して上記目的データの上記バッファ領域における上記第1の方向の座標値を上記第1の剰余生成回路に供給する第2の加算回路と、上記バッファ領域内の所定領域の開始位置の上記バッファ領域における上記第1の方向に直交する第2の方向の座標値と上記目的データの上記所定領域における上記第2の方向の座標値とを加算して上記目的データの上記バッファ領域における上記第2の方向の座標値を上記第2の剰余生成回路に供給する第3の加算回路とをさらに具備してもよい。これにより、バッファ領域内の所定領域の開始位置を基準としてその所定領域内の相対的な座標値に基づいてアドレスを生成させるという作用をもたらす。
なお、この第1の側面において、上記バッファ領域が画像データの一部を保持する画像バッファであって、上記目的データが上記画像データを構成する画素データであってもよい。画像処理においては画像データの局所性が利用されることが多く、二次元のバッファ領域の使用が特に効果的である。
また、本発明の第2の側面は、内部に二次元のバッファ領域を有するメモリと、上記バッファ領域における目的データの第1の方向の座標値を上記バッファ領域の上記第1の方向の大きさによって割った剰余を生成する第1の剰余生成回路と、上記目的データの上記バッファ領域における上記第1の方向に直交する第2の方向の座標値を上記バッファ領域の上記第2の方向の大きさによって割った剰余を生成する第2の剰余生成回路と、上記第2の剰余生成回路により生成された値に上記バッファ領域の上記第1の方向の大きさを乗じた値を算出する乗算回路と、上記第1の剰余生成回路により生成された値と上記乗算回路により算出された値と上記バッファ領域の開始アドレスとを加算して上記目的データの上記メモリにおけるアドレスを出力する加算回路とを具備することを特徴とするバッファ回路である。これにより、第1および第2の方向の何れの座標値についてもバッファ回路のバッファ領域に該当するメモリ空間上のアドレスを生成させるという作用をもたらす。
また、本発明の第3の側面は、プロセッサと、上記プロセッサのメモリ空間を記憶するメモリとを備える情報処理装置であって、上記メモリは、上記メモリ空間上の二次元のバッファ領域を有し、上記プロセッサは、上記バッファ領域における目的データの第1の方向の座標値を上記バッファ領域の上記第1の方向の大きさによって割った剰余を生成する第1の剰余生成回路と、上記目的データの上記バッファ領域における上記第1の方向に直交する第2の方向の座標値を上記バッファ領域の上記第2の方向の大きさによって割った剰余を生成する第2の剰余生成回路と、上記第2の剰余生成回路により生成された値に上記バッファ領域の上記第1の方向の大きさを乗じた値を算出する乗算回路と、上記第1の剰余生成回路により生成された値と上記乗算回路により算出された値と上記バッファ領域の開始アドレスとを加算して上記目的データの上記メモリにおけるアドレスを出力する加算回路とを具備することを特徴とする情報処理装置である。これにより、プロセッサにおいて、第1および第2の方向の何れの座標値についてもバッファ領域に該当するメモリ空間上のアドレスを生成させるという作用をもたらす。
また、本発明の第4の側面は、撮像手段と、上記撮像手段によって撮像された画像データの一部を二次元のバッファ領域に保持するメモリと、上記バッファ領域における目的画素データの第1の方向の座標値を上記バッファ領域の上記第1の方向の大きさによって割った剰余を生成する第1の剰余生成回路と、上記目的画素データの上記バッファ領域における上記第1の方向に直交する第2の方向の座標値を上記バッファ領域の上記第2の方向の大きさによって割った剰余を生成する第2の剰余生成回路と、上記第2の剰余生成回路により生成された値に上記バッファ領域の上記第1の方向の大きさを乗じた値を算出する乗算回路と、上記第1の剰余生成回路により生成された値と上記乗算回路により算出された値と上記バッファ領域の開始アドレスとを加算して上記目的画素データの上記メモリにおけるアドレスを出力する加算回路とを具備することを特徴とする撮像システムである。これにより、撮像された画像データについて、第1および第2の方向の何れの座標値についてもバッファ領域に該当するメモリ空間上のアドレスを生成させるという作用をもたらす。
本発明によれば、メモリ空間上の二次元のリングバッファ構造におけるアドレスを生成することができるという優れた効果を奏し得る。
次に本発明の実施の形態について図面を参照して詳細に説明する。
図1は、本発明の実施の形態における情報処理装置の一構成例を示す図である。この情報処理装置は、プロセッサチップ100とDRAM(Dynamic Random Access Memory)300とを、バス400を介して接続することによって構成される。
プロセッサチップ100は、それぞれバス400に接続するプロセッサ110およびSRAM(Static Random Access Memory)130を備える。プロセッサ110は、SRAM130に保持されるプログラムを実行する処理装置である。SRAM130は、プロセッサ110によって実行されるプログラムを保持するとともに、プログラム実行の際にプロセッサ110によって使用される作業領域を保持する。また、プロセッサ110は、SRAM130におけるアドレスを生成するアドレス生成回路200を内部に備えている。
DRAM300は、プログラム実行の際にプロセッサ110によって使用される作業領域を保持するものである。SRAM130は小容量でプロセッサチップ100の内部に配置されるのに対して、DRAM300は大容量でプロセッサチップ100の外部に配置されるため、DRAM300のアクセス速度はSRAM130よりも遅い。そこで、容量の大きいデータを扱う際には、データ全体をDRAM300に保持しておいて、そのデータの一部が必要になるタイミングでSRAM130に転送することにより、処理を高速化することができる。本発明の実施の形態では、SRAM130に二次元構造のリングバッファ領域を設け、必要なデータをDRAM300から適宜転送することを想定する。
バス400は、メモリアドレスを転送するためのアドレスバス410とデータを転送するためのデータバス420とを含む。アドレスバス410にはプロセッサ110のアドレス生成回路200のアドレス信号線、SRAM130のアドレス信号線およびDRAM300アドレス信号線が接続される。データバス420にはプロセッサ110のデータ信号線、SRAM130のデータ信号線およびDRAM300のデータ信号線が接続される。プロセッサ110はバスマスターとして機能し、SRAM130およびDRAM300はバススレーブとして機能する。
図2は、本発明の実施の形態におけるアドレス生成回路200の一構成例を示す図である。アドレス生成回路200は、開始アドレスレジスタ211と、Y方向サイズレジスタ221と、Y方向基準レジスタ222と、Y方向オフセットレジスタ223と、X方向サイズレジスタ231と、X方向基準レジスタ232と、X方向オフセットレジスタ233と、加算器241と、剰余算器242と、乗算器243と、加算器251と、剰余算器252と、加算器261と、生成アドレスレジスタ291とを備えている。
開始アドレスレジスタ211は、SRAM130のメモリ空間におけるバッファ領域の開始アドレスsa(start address)を保持するレジスタである。このバッファ領域は、開始アドレスsaから連続する領域として確保される。但し、このバッファ領域は二次元構造のリングバッファを構成するため、X方向(水平方向)およびY方向(垂直方向)の各座標により位置を指定することが可能である。
Y方向サイズレジスタ221は、バッファ領域のY方向のサイズ(大きさ)ys(y-size)を保持するレジスタである。Y方向基準レジスタ222は、バッファ領域内の作業領域の先頭データの相対座標を基準座標(以下、基準座標という。)として、その基準座標のY座標の値yb(y-base)を保持するレジスタである。Y方向オフセットレジスタ223は、バッファ領域内の作業領域の基準座標からの相対的なオフセットのY座標の値yo(y-offset)を保持するレジスタである。
X方向サイズレジスタ231は、バッファ領域のX方向のサイズxs(x-size)を保持するレジスタである。X方向基準レジスタ232は、バッファ領域内の作業領域の基準座標のX座標の値xb(x-base)を保持するレジスタである。X方向オフセットレジスタ233は、バッファ領域内の作業領域の基準座標からの相対的なオフセットのX座標の値xo(x-offset)を保持するレジスタである。
加算器241は、Y方向基準レジスタ222に保持される基準座標のY座標の値ybとY方向オフセットレジスタ223に保持されるオフセットのY座標の値yoとを加算して、その加算結果を出力するものである。
剰余算器242は、加算器241の出力をY方向サイズレジスタ221に保持されるバッファ領域のY方向のサイズysによって割った際の剰余(余りの数)を出力するものである。なお、この剰余を生成するためには、実際に除算を行う必要はない。例えば、AをBによって割った際の剰余を生成する場合(AおよびBはともに整数)、Aが「0」から「2B−1」の範囲内にあると仮定して、A≧Bであれば「A−B」を出力し、A<Bであれば「A」を出力する回路により実現してもよい。
乗算器243は、剰余算器242の出力とX方向サイズレジスタ231に保持されるバッファ領域のX方向のサイズxsとを乗算して、その乗算結果を出力するものである。
加算器251は、X方向基準レジスタ232に保持される基準座標のX座標の値xbとX方向オフセットレジスタ233に保持されるオフセットのX座標の値xoとを加算して、その加算結果を出力するものである。
剰余算器252は、加算器251の出力をX方向サイズレジスタ231に保持されるバッファ領域のX方向のサイズxsによって割った際の剰余を出力するものである。なお、この剰余を生成する際に、実際に除算を行う必要はない点は剰余算器242の場合と同様である。
加算器261は、開始アドレスレジスタ211に保持される開始アドレスsaと、乗算器243の出力と、剰余算器252の出力とを加算して、その加算結果を生成アドレスとして出力するものである。
生成アドレスレジスタ291は、加算器261によって出力された生成アドレスを保持するレジスタである。すなわち、この生成アドレスレジスタ291には、次式による生成アドレスが保持される。
生成アドレス=sa+((yb+yo)%ys)・xs+((xb+xo)%xs)
但し、「A%B」は、AをBによって割った際の剰余を表す。
図3は、本発明の実施の形態における画像データ600と画像バッファ610との関係を示す図である。
画像データ600は、複数の画素データにより全体で1つの画像イメージを表す画像データであり、本発明の実施の形態ではDRAM300に保持される。一方、画像バッファ610は、画像データ600の一部を保持するバッファ領域であり、本発明の実施の形態ではSRAM130に保持される。画像バッファ610は、SRAM130のメモリ空間上で二次元構造のリングバッファとして構成される。
画像バッファ610は、SRAM130のメモリ空間における開始アドレスsaから連続するバッファ領域として確保される。この画像バッファ610は、x方向のサイズxs、Y方向のサイズysの大きさを有する。したがって、この画像バッファ610に格納可能な画素データ数は「xs×ys」個になる。
画像バッファ610には、基準となる作業領域620が設けられる。この作業領域620は、プロセッサ110によって実行されるプログラムの中で定義されるものであり、ある作業領域620が定められている間は、座標値は作業領域620の先頭データを基準とするオフセットによって指定される。画像バッファ610の先頭データの座標から相対的に見た作業領域620の先頭データの座標が前述の基準座標であり、その基準座標のX座標の値はxb、Y座標の値はybである。
また、作業領域620において、作業領域620の先頭データの座標から相対的に見た画素データ630の座標のX座標の値はxo、Y座標の値はyoである。したがって、画像バッファ610の先頭データの座標から相対的に見た画素データ630の座標のX座標の値は「xb+xo」となり、Y座標の値は「yb+yo」となる。これらはそれぞれ加算器241および251の出力に相当する。
図4は、本発明の実施の形態におけるSRAM130とDRAM300との関係を示す図である。
前述のとおり、DRAM300には画像データ600が保持され、その一部を保持する画像バッファ610がSRAM130に保持される。画像バッファ610はSRAM130のメモリ空間上で連続する領域として確保されている。ここで、画像バッファ610をX方向の1ライン毎に区切ったものが画像ラインデータ611乃至619である。
最初の画像ラインデータ611の開始アドレスは画像バッファ610の開始アドレスsaと一致する。また、この画像ラインデータ611のサイズは画像バッファ610のX方向のサイズxsと一致する。したがって、画像ラインデータ611の終了アドレスは「sa+xs−1」となる。
2番目の画像ラインデータ612の開始アドレスは画像ラインデータ611の終了アドレスの次のアドレス、すなわち「sa+xs」となる。したがって、画像ラインデータ611の終了アドレスは「sa+2・xs−1」となる。
同様に、3番目の画像ラインデータ613の開始アドレスは「sa+2・xs」となり、終了アドレスは「sa+3・xs−1」となる。したがって、最後の画像ラインデータ619の開始アドレスは「sa+(ys−1)・xs」となり、終了アドレスは「sa+ys・xs−1」となる。
画像バッファ610が二次元構造のリングバッファとして機能するため、リングバッファの配置状態によってSRAM130とDRAM300の関係は変化する。この例では、最も単純な対応関係を示している。すなわち、DRAM300上の連続するxs個のデータ601がSRAM130の画像ラインデータ611にマッピングされ、他のxs個のデータ602がSRAM130の画像ラインデータ612にマッピングされ、さらにxs個のデータ603がSRAM130の画像ラインデータ613にマッピングされている。リングバッファとしての配置状態が変化してもSRAM130上で画像バッファ610全体が占める領域のアドレスは変化しないが、対応するDRAM300上の画素データが変化する。
図5は、本発明の実施の形態における画像バッファ610の画素データの第1の配置例を示す図である。
ここでは、画像バッファ610の開始アドレスsaを#9000番地としている。また、画像バッファ610のX方向のサイズxsを16、Y方向のサイズysを16としている。したがって、開始アドレスレジスタ211には「9000」が保持され、Y方向サイズレジスタ221およびX方向サイズレジスタ231にはそれぞれ「16」が保持されている。
この配置例では、座標(100,100)の画素を先頭として、X方向およびY方向に16画素ずつの画素データが配置されている。すなわち、座標(100,100)乃至(115,100)の16個の画素データが#9000乃至9015番地に配置され、座標(100,101)乃至(115,101)の16個の画素データが#9016乃至9031番地に配置され、座標(100,102)乃至(115,102)の16個の画素データが#9032乃至9047番地に配置され、同様に、座標(100,115)乃至(115,115)の16個の画素データが#9240乃至9255番地に配置される。
この配置例において、Y方向基準レジスタ222およびX方向基準レジスタ232には、プログラムにおいて設定された作業領域620に応じた値が保持される。そして、その作業領域620におけるオフセットがY方向オフセットレジスタ223およびX方向オフセットレジスタ233に保持される。そして、これらの値に応じて図2のアドレス生成回路200によって各画素データのアドレスが生成される。
図6は、本発明の実施の形態の画像バッファ610における保持範囲をY方向に移動させた場合の例を示す図である。
この例では、それまで画像バッファ610に保持されていた最も上側の行の画像データ(画像ラインデータ)に代えて、新たな画像ラインデータを保持することにより、画像バッファ610の保持範囲をY方向に移動させている(610−y)。すなわち、保持範囲を移動させるために各々の画素データを移動させることなく、不要となる画素データに上書きすることにより、見かけ上の移動を実現している。
図7は、本発明の実施の形態における画像バッファ610の画素データの第2の配置例(610−y)を示す図である。第1の配置例(図5)において座標(100,100)乃至(115,100)の画素データが配置されていたアドレスに、新たに座標(100,116)乃至(115,116)の画素データを上書きした結果、この第2の配置例となる。
この第2の配置例において、座標(100,101)乃至(115,115)の領域の下端に座標(100,116)乃至(115,116)の領域がコピーされているものと仮定すれば、各領域の境界を意識することなくアドレスを生成することができる。そのため、本発明の実施の形態では、アドレス生成回路200に剰余算器242を設けて、各領域が連続しているかのように見せている。
また、この第2の配置例においては、第1の配置例と比べて作業領域620のY方向の座標値が相対的に正方向に「1」ずれるため、それを補正する必要がある。そのため、本発明の実施の形態では、Y方向基準レジスタ222の値に「1」を加算することにより、座標値のずれを補正する。これにより、リングバッファとしての保持状態を特に意識することなく、画像バッファ610におけるアドレスを生成することができる。
図8は、本発明の実施の形態の画像バッファ610における保持範囲をX方向に移動させた場合の例を示す図である。
この例では、それまで画像バッファ610に保持されていた最も左側の列の画像データ(画像カラムデータ)に代えて、新たな画像カラムデータを保持することにより、画像バッファ610の保持範囲をX方向に移動させている(610−x)。すなわち、保持範囲を移動させるために各々の画素データを移動させることなく、不要となる画素データに上書きすることにより、見かけ上の移動を実現している。
図9は、本発明の実施の形態における画像バッファ610の画素データの第3の配置例(610−x)を示す図である。第1の配置例(図5)において座標(100,100)乃至(100,115)の画素データが配置されていたアドレスに、新たに座標(116,100)乃至(116,115)の画素データを上書きした結果、この第3の配置例となる。
この第3の配置例において、座標(101,100)乃至(115,115)の領域の右端に座標(116,100)乃至(116,115)の領域がコピーされているものと仮定すれば、各領域の境界を意識することなくアドレスを生成することができる。そのため、本発明の実施の形態では、アドレス生成回路200に剰余算器252を設けて、各領域が連続しているかのように見せている。
また、この第3の配置例においては、第1の配置例と比べて作業領域620のX方向の座標値が相対的に正方向に「1」ずれるため、それを補正する必要がある。そのため、本発明の実施の形態では、X方向基準レジスタ232の値に「1」を加算することにより、座標値のずれを補正する。これにより、リングバッファとしての保持状態を特に意識することなく、画像バッファ610におけるアドレスを生成することができる。
図10は、本発明の実施の形態の画像バッファ610における保持範囲をX方向およびY方向に移動させた場合の例を示す図である。
この例では、それまで画像バッファ610に保持されていた最も上側の行の画像ラインデータに代えて新たな画像ラインデータを保持し、さらに、それまで画像バッファ610に保持されていた最も左側の列の画像カラムデータに代えて新たな画像カラムデータを保持することにより、画像バッファ610の保持範囲をX方向およびY方向に移動させている(610−xy)。すなわち、保持範囲を移動させるために各々の画素データを移動させることなく、不要となる画素データに上書きすることにより、見かけ上の移動を実現している。
図11は、本発明の実施の形態における画像バッファ610の画素データの第4の配置例(610−xy)を示す図である。第1の配置例(図5)において座標(100,100)乃至(115,100)の画素データが配置されていたアドレスに、新たに座標(100,116)乃至(115,116)の画素データを上書きし、さらに座標(100,101)乃至(101,116)の画素データが配置されていたアドレスに、新たに座標(116,101)乃至(117,116)の画素データを上書きした結果、この第4の配置例となる。
この第4の配置例において、座標(102,101)乃至(117,115)の領域の下端に座標(102,116)乃至(117,116)の領域がコピーされているものと仮定し、座標(102,101)乃至(115,116)の領域の右端に座標(116,101)乃至(117,116)の領域がコピーされているものと仮定すれば、各領域の境界を意識することなくアドレスを生成することができる。そのため、本発明の実施の形態では、アドレス生成回路200に剰余算器242および252を設けて、各領域が連続しているかのように見せている。
また、この第4の配置例においては、第1の配置例と比べて作業領域620の座標値がY方向の正方向に「1」、X方向の正方向に「2」、それぞれずれているため、それを補正する必要がある。そのため、本発明の実施の形態では、Y方向基準レジスタ222の値に「1」を、X方向基準レジスタ232の値に「2」をそれぞれ加算することにより、座標値のずれを補正する。これにより、リングバッファとしての保持状態を特に意識することなく、画像バッファ610におけるアドレスを生成することができる。
画像処理においては、プログラムによってX方向またはY方向もしくはX方向およびY方向に処理対象を移動させながら処理が進むことが多く、本発明の実施の形態による二次元のリングバッファ構造を有効に利用することができる。
このように、本発明の実施の形態によれば、画像バッファ610の画素データの座標値について、剰余算器242および252を用いて画像バッファ610のY方向およびX方向のサイズの剰余を算出することにより、二次元構造のリングバッファを実現することができる。また、作業領域620の基準座標を保持するY方向基準レジスタ222およびX方向基準レジスタ232の値にリングバッファとしての保持状態を反映させておくことにより、その保持状態を特に意識することなく、画像バッファ610におけるアドレスを生成することができる。
また、本発明の実施の形態によれば、画像バッファ610におけるX方向およびY方向の座標値を指定することによってSRAM130のメモリ空間上のアドレスを特定することができるため、オフセットの指定に要するビット幅を短縮することができる。
例えば、画像バッファ610のサイズがX方向およびY方向それぞれ256画素であると仮定すると、画像バッファ610の先頭からの座標(7,7)の相対的なアドレスは、「1799(=7+256×7)」となる。この値を表現するためには11ビット分のビット幅が必要となる。これに対し、座標値を用いた場合、「7」は3ビット幅で表現できるため、計6ビット幅で済むことになる。
これを一般化すると、Y方向基準レジスタ222およびX方向基準レジスタ232によって作業領域620を予め定めておけば、Y方向オフセットレジスタ223およびX方向オフセットレジスタ233のビット幅を短縮することができることになる。したがって、これらY方向オフセットレジスタ223およびX方向オフセットレジスタ233による値を命令フォーマットによって指定する際、オフセットのビット幅を短縮することができる。
なお、本発明の実施の形態では、DRAM300上の画像データを画像バッファ610に転送する例について説明したが、この画像データの供給源はDRAM300に限定されるものではない。例えば、次の変形例のように撮像装置を画像データの供給源としてもよい。
図12は、本発明の実施の形態における情報処理装置の変形例による撮像システムの一構成例を示す図である。この撮像システムは、プロセッサチップ100と撮像装置500とを、バス400を介して接続することによって構成される。すなわち、図1の情報処理装置においてDRAM300を撮像装置500によって置き換えた構成になっている。
撮像装置500は、被写体を撮像して、その撮像されたデータを画像データとしてSRAM130上の画像バッファ610に適宜転送する。プロセッサ110は、アドレス生成回路200により生成されたアドレスによってSRAM130上の画像バッファ610にアクセスして、画像データに対する処理を行う。
図13は、本発明の実施の形態における撮像装置500の一構成例を示す図である。この撮像装置500は、制御部501と、RAM502と、ROM503と、レンズ511と、撮像素子512と、アナログ信号処理部520と、A/D変換部530と、デジタル信号処理部540と、表示部550と、記録部560と、操作部570と、外部出力端子580とを備えている。
制御部501は、撮像装置500の全体を制御するものである。RAM502は、制御部501による処理に必要な作業領域を保持するものである。ROM503は、制御部501により実行される初期プログラムやパラメータなどを保持するものである。
レンズ511は、被写体に焦点を合わせるためのレンズである。撮像素子512は、レンズ511を介して供給された被写体の画像を撮像するものであり、例えば、CCD(Charge Coupled Devices)やCMOS(Complementary Metal Oxide Semiconductor)センサーなどにより実現される。
アナログ信号処理部520は、撮像素子512からのアナログ信号におけるノイズを相関二重サンプリング(CDS:Correlated Double Sampling)により取り除き、自動利得制御(AGC:Automatic Gain Control)によりアナログ信号の高低部分を補正するものである。A/D変換部530は、アナログ信号処理部520からのアナログ信号をデジタル信号に変換するものである。デジタル信号処理部540は、ホワイトバランスやガンマ変換等の処理を行うものである。デジタル信号処理部540において処理されたデジタル信号は、表示部550、記録部560および外部出力端子580に供給される。また、このデジタル信号処理部540において処理されたデジタル信号は、制御部501に供給され、オートフォーカス動作等に用いられる。
表示部550は、デジタル信号処理部540から供給されたデジタル信号を表示するものである。記録部560は、デジタル信号処理部540から供給されたデジタル信号を記録媒体に記録するものである。操作部570は、撮影者からの操作を受け付けるものである。この操作部570によって受け付けられた操作内容は制御部501に供給される。
外部出力端子580は、デジタル信号処理部540から供給されたデジタル信号を出力する端子である。この外部出力端子580はバス400に接続されており、撮像された画像データがバス400を介してSRAM130の画像バッファ610に転送される。
このように、本発明の実施の形態の変形例によれば、撮像装置500によって撮像された画像データを画像バッファ610して、この画像バッファ610の画素データの座標値について、剰余算器242および252を用いて画像バッファ610のY方向およびX方向のサイズの剰余を算出することにより、二次元構造のリングバッファを実現することができる。
なお、本発明の実施の形態は本発明を具現化するための一例を示したものであり、以下に示すように特許請求の範囲における発明特定事項とそれぞれ対応関係を有するが、これに限定されるものではなく本発明の要旨を逸脱しない範囲において種々の変形を施すことができる。
本発明の実施の形態における情報処理装置の一構成例を示す図である。 本発明の実施の形態におけるアドレス生成回路200の一構成例を示す図である。 本発明の実施の形態における画像データ600と画像バッファ610との関係を示す図である。 本発明の実施の形態におけるSRAM130とDRAM300との関係を示す図である。 本発明の実施の形態における画像バッファ610の画素データの第1の配置例を示す図である。 本発明の実施の形態の画像バッファ610における保持範囲をY方向に移動させた場合の例(610−y)を示す図である。 本発明の実施の形態における画像バッファ610の画素データの第2の配置例(610−y)を示す図である。 本発明の実施の形態の画像バッファ610における保持範囲をX方向に移動させた場合の例(610−x)を示す図である。 本発明の実施の形態における画像バッファ610の画素データの第3の配置例(610−x)を示す図である。 本発明の実施の形態の画像バッファ610における保持範囲をX方向およびY方向に移動させた場合の例(610−xy)を示す図である。 本発明の実施の形態における画像バッファ610の画素データの第4の配置例(610−xy)を示す図である。 本発明の実施の形態における情報処理装置の変形例による撮像システムの一構成例を示す図である。 本発明の実施の形態における撮像装置500の一構成例を示す図である。
符号の説明
100 プロセッサチップ
110 プロセッサ
200 アドレス生成回路
211 開始アドレスレジスタ
221 Y方向サイズレジスタ
222 Y方向基準レジスタ
223 Y方向オフセットレジスタ
231 X方向サイズレジスタ
232 X方向基準レジスタ
233 X方向オフセットレジスタ
241 加算器
242 剰余算器
243 乗算器
251 加算器
252 剰余算器
261 加算器
291 生成アドレスレジスタ
400 バス
410 アドレスバス
420 データバス
500 撮像装置
600 画像データ
610 画像バッファ
630 画素データ

Claims (7)

  1. メモリ空間上の所定の開始アドレスから二次元に展開するバッファ領域において、前記開始アドレスから目的データまでの第1の方向の座標値を前記バッファ領域の前記第1の方向の大きさによって割った剰余を生成する第1の剰余生成回路と、
    前記開始アドレスから前記目的データまでの前記第1の方向に直交する第2の方向の座標値を前記バッファ領域の前記第2の方向の大きさによって割った剰余を生成する第2の剰余生成回路と、
    前記第2の剰余生成回路により生成された値に前記バッファ領域の前記第1の方向の大きさを乗じた値を算出する乗算回路と、
    前記第1の剰余生成回路により生成された値と前記乗算回路により算出された値と前記開始アドレスとを加算して前記目的データの前記メモリ空間におけるアドレスを出力する加算回路と
    を具備するアドレス生成回路。
  2. 前記バッファ領域は、前記第1の方向または前記第2の方向に指定された位置に移動可能な二次元構造のリングバッファを構成する
    請求項1記載のアドレス生成回路。
  3. 前記バッファ領域内の所定領域の開始位置の前記バッファ領域における第1の方向の座標値と前記目的データの前記所定領域における前記第1の方向の座標値とを加算して前記目的データの前記バッファ領域における前記第1の方向の座標値を前記第1の剰余生成回路に供給する第2の加算回路と、
    前記バッファ領域内の所定領域の開始位置の前記バッファ領域における前記第1の方向に直交する第2の方向の座標値と前記目的データの前記所定領域における前記第2の方向の座標値とを加算して前記目的データの前記バッファ領域における前記第2の方向の座標値を前記第2の剰余生成回路に供給する第3の加算回路と
    をさらに具備する請求項1記載のアドレス生成回路。
  4. 前記バッファ領域は画像データの一部を保持する画像バッファであり、
    前記目的データは前記画像データを構成する画素データである
    求項1記載のアドレス生成回路。
  5. 内部に所定の開始アドレスから二次元に展開するバッファ領域を有するメモリと、
    前記開始アドレスから目的データまでの第1の方向の座標値を前記バッファ領域の前記第1の方向の大きさによって割った剰余を生成する第1の剰余生成回路と、
    前記開始アドレスから前記目的データまでの前記第1の方向に直交する第2の方向の座標値を前記バッファ領域の前記第2の方向の大きさによって割った剰余を生成する第2の剰余生成回路と、
    前記第2の剰余生成回路により生成された値に前記バッファ領域の前記第1の方向の大きさを乗じた値を算出する乗算回路と、
    前記第1の剰余生成回路により生成された値と前記乗算回路により算出された値と前記開始アドレスとを加算して前記目的データの前記メモリにおけるアドレスを出力する加算回路と
    を具備するバッファ回路。
  6. プロセッサと、前記プロセッサのメモリ空間を記憶するメモリとを備える情報処理装置であって、
    前記メモリは、前記メモリ空間上の所定の開始アドレスから二次元に展開するバッファ領域を有し、
    前記プロセッサは、
    前記開始アドレスから目的データまでの第1の方向の座標値を前記バッファ領域の前記第1の方向の大きさによって割った剰余を生成する第1の剰余生成回路と、
    前記開始アドレスから前記目的データまでの前記第1の方向に直交する第2の方向の座標値を前記バッファ領域の前記第2の方向の大きさによって割った剰余を生成する第2の剰余生成回路と、
    前記第2の剰余生成回路により生成された値に前記バッファ領域の前記第1の方向の大きさを乗じた値を算出する乗算回路と、
    前記第1の剰余生成回路により生成された値と前記乗算回路により算出された値と前記開始アドレスとを加算して前記目的データの前記メモリにおけるアドレスを出力する加算回路と
    を具備する情報処理装置。
  7. 撮像手段と、
    内部に所定の開始アドレスから二次元に展開するバッファ領域を有し、前記撮像手段によって撮像された画像データの一部を前記バッファ領域に保持するメモリと、
    前記開始アドレスから目的画素データまでの第1の方向の座標値を前記バッファ領域の前記第1の方向の大きさによって割った剰余を生成する第1の剰余生成回路と、
    前記開始アドレスから前記目的画素データまでの前記第1の方向に直交する第2の方向の座標値を前記バッファ領域の前記第2の方向の大きさによって割った剰余を生成する第2の剰余生成回路と、
    前記第2の剰余生成回路により生成された値に前記バッファ領域の前記第1の方向の大きさを乗じた値を算出する乗算回路と、
    前記第1の剰余生成回路により生成された値と前記乗算回路により算出された値と前記開始アドレスとを加算して前記目的画素データの前記メモリにおけるアドレスを出力する加算回路と
    を具備する撮像システム。
JP2006335584A 2006-12-13 2006-12-13 アドレス生成回路、バッファ回路、情報処理装置および撮像システム Expired - Fee Related JP5040285B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006335584A JP5040285B2 (ja) 2006-12-13 2006-12-13 アドレス生成回路、バッファ回路、情報処理装置および撮像システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006335584A JP5040285B2 (ja) 2006-12-13 2006-12-13 アドレス生成回路、バッファ回路、情報処理装置および撮像システム

Publications (2)

Publication Number Publication Date
JP2008146545A JP2008146545A (ja) 2008-06-26
JP5040285B2 true JP5040285B2 (ja) 2012-10-03

Family

ID=39606623

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006335584A Expired - Fee Related JP5040285B2 (ja) 2006-12-13 2006-12-13 アドレス生成回路、バッファ回路、情報処理装置および撮像システム

Country Status (1)

Country Link
JP (1) JP5040285B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5100611B2 (ja) * 2008-10-28 2012-12-19 株式会社東芝 画像処理装置
JP2020004247A (ja) 2018-06-29 2020-01-09 ソニー株式会社 情報処理装置、情報処理方法およびプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2796329B2 (ja) * 1989-02-08 1998-09-10 株式会社日立製作所 表示メモリとそれを備えた画像処理装置
JPH11288384A (ja) * 1998-04-01 1999-10-19 Canon Inc データ格納方法及び装置
JP2003337745A (ja) * 2002-05-22 2003-11-28 Matsushita Electric Ind Co Ltd メモリ制御装置及びメモリ制御方法

Also Published As

Publication number Publication date
JP2008146545A (ja) 2008-06-26

Similar Documents

Publication Publication Date Title
JP2008118306A (ja) 歪曲収差補正処理装置、撮像装置及び撮像システム
JP2007026071A (ja) 画像合成装置及び画像合成方法
JP2008079026A (ja) 画像処理装置、画像処理方法、及び、プログラム
JP2006191362A (ja) 画像データ処理装置及び画像データ処理方法
JP5040285B2 (ja) アドレス生成回路、バッファ回路、情報処理装置および撮像システム
US10713757B2 (en) Image processing apparatus, control method thereof, and storage medium
JP2010081024A (ja) 画像補間処理装置
JP2007079708A (ja) 画像処理装置及び画像処理方法
JP2016134005A (ja) 画像処理装置
JP2012252646A (ja) 画像処理システムおよび画像処理方法
JP4790545B2 (ja) 画像処理装置、画像処理方法
JP4970378B2 (ja) メモリコントローラおよび画像処理装置
JP2007226330A (ja) 画像処理装置、画像処理方法、その方法をコンピュータに実行させるプログラム
JP6440465B2 (ja) 画像処理装置、画像処理方法及びプログラム
US9917972B2 (en) Image processor, image-processing method and program
JP2005086598A (ja) 画像処理装置、画像処理方法、画像処理プログラムおよび画像処理回路
JP2013190872A (ja) 画像処理装置及び画像処理方法
JP2005311745A (ja) 画像処理装置
JP4624179B2 (ja) 画像処理装置
JP7159555B2 (ja) 画像処理装置、画像処理方法及びプログラム
US11729506B2 (en) Imaging element with processor configured to receive vibration information, imaging apparatus, operation method of imaging element, and program
JP7249504B2 (ja) 画像処理装置
JP4865021B2 (ja) 画像処理装置および画像処理方法
JP4519001B2 (ja) フィルタ処理回路
JP2016103169A (ja) 画像処理装置、画像処理方法および電子機器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091106

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120419

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120612

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120625

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150720

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees