JP6884530B2 - Image processing device and first adjustment circuit - Google Patents
Image processing device and first adjustment circuit Download PDFInfo
- Publication number
- JP6884530B2 JP6884530B2 JP2016169520A JP2016169520A JP6884530B2 JP 6884530 B2 JP6884530 B2 JP 6884530B2 JP 2016169520 A JP2016169520 A JP 2016169520A JP 2016169520 A JP2016169520 A JP 2016169520A JP 6884530 B2 JP6884530 B2 JP 6884530B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- line
- image
- processing circuit
- circuit
- 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.)
- Active
Links
Images
Description
本発明は、画像処理技術に関する。 The present invention relates to an image processing technique.
特許文献1には、画像データを処理する回路が開示されている。
アライメント制約を有する回路の後段に位置する、画像データを処理する回路には、当該アライメント制約によって、必要な画像データだけではなく不要なデータが入力される可能性がある。 Due to the alignment constraint, not only necessary image data but also unnecessary data may be input to the circuit for processing image data, which is located after the circuit having the alignment constraint.
そこで、本発明は上述の点に鑑みて成されたものであり、アライメント制約を有する回路を変更することなく、画像データを処理する回路に不要なデータが入力されることを防止することが可能な技術を提供することを目的とする。 Therefore, the present invention has been made in view of the above points, and it is possible to prevent unnecessary data from being input to the circuit that processes the image data without changing the circuit having the alignment constraint. The purpose is to provide various technologies.
画像処理装置の一態様は、Aバイトのアライメント制約を有する第1処理回路と、入力されるデータに対して第1処理を行う第2処理回路と、第1調整回路とを備え、前記第1処理回路には、画像を示す画像データに関して、1ラインごとに、当該1ラインのデータを含む、前記Aバイトの倍数のデータ長を有する第1データが入力され、前記第1処理回路は、前記1ラインごとに、前記第1データである第2データを出力し、あるいは前記1ラインごとに、前記第1データに対して第2処理を行い、当該第2処理後の前記第1データである第2データを出力し、前記第1調整回路は、前記1ラインごとに、前記第2データに含まれる第1不要データを破棄して、当該第1不要データが破棄された前記第2データである第3データを前記第2処理回路に入力する。 One aspect of the image processing apparatus includes a first processing circuit having an A-byte alignment constraint, a second processing circuit that performs first processing on input data, and a first adjustment circuit. With respect to the image data indicating the image, the processing circuit is input with the first data having a data length that is a multiple of the A bytes, including the data of the one line, for each line, and the first processing circuit is described. The second data, which is the first data, is output for each line, or the first data is subjected to the second processing for each line, and the first data after the second processing. The second data is output, and the first adjustment circuit discards the first unnecessary data included in the second data for each line, and the second data in which the first unnecessary data is discarded is used. A certain third data is input to the second processing circuit.
また、画像処理装置の一態様では、前記Aバイトのアライメント制約及び前記画像に関する情報に基づいて、前記第1データ及び前記第1不要データを決定する決定回路がさらに設けられる。 Further, in one aspect of the image processing apparatus, a determination circuit for determining the first data and the first unnecessary data is further provided based on the alignment constraint of the A byte and the information regarding the image.
また、画像処理装置の一態様では、前記第2処理回路は、Bバイトのアライメント制約を有し、前記第1調整回路は、前記第3データのデータ長が前記Bバイトの倍数となるように、前記第2データに含まれる前記第1不要データを破棄する。 Further, in one aspect of the image processing apparatus, the second processing circuit has a B-byte alignment constraint, and the first adjustment circuit has a data length of the third data that is a multiple of the B-byte. , The first unnecessary data included in the second data is discarded.
また、画像処理装置の一態様では、前記第2処理回路は、前記1ラインごとに前記第3データに対して前記第1処理を行い、当該第1処理後の前記第3データである第4データを出力し、入力されるデータに対して第3処理を行う第3処理回路と、前記1ラインごとに、前記第4データを、当該第4データに含まれる第2不要データを破棄して前記第3処理回路に入力する第2調整回路とがさらに設けられる。 Further, in one aspect of the image processing apparatus, the second processing circuit performs the first processing on the third data for each line, and is the third data after the first processing. A third processing circuit that outputs data and performs a third processing on the input data, the fourth data for each line, and the second unnecessary data included in the fourth data are discarded. A second adjustment circuit to be input to the third processing circuit is further provided.
また、画像処理装置の一態様では、前記Aバイトのアライメント制約、前記Bバイトのアライメント制約及び前記画像に関する情報に基づいて、前記第1データ、前記第1不要データ及び前記第2不要データを決定する決定回路がさらに設けられる。 Further, in one aspect of the image processing apparatus, the first data, the first unnecessary data, and the second unnecessary data are determined based on the A-byte alignment constraint, the B-byte alignment constraint, and information on the image. A decision circuit is further provided.
また、調整回路の一態様は、上記の画像処理装置が備える第1調整回路である。 Further, one aspect of the adjustment circuit is the first adjustment circuit included in the above-mentioned image processing device.
また、調整回路の一態様は、上記の画像処理装置が備える第2調整回路である。 Further, one aspect of the adjustment circuit is a second adjustment circuit included in the above-mentioned image processing device.
アライメント制約を有する回路を変更することなく、画像データを処理する回路に不要なデータが入力されることを防止することができる。 It is possible to prevent unnecessary data from being input to the circuit that processes the image data without changing the circuit having the alignment constraint.
<画像処理装置の全体構成>
図1は画像処理装置1の構成の一例を示す図である。画像処理装置1は、例えば、デジタルスチルカメラに搭載される。
<Overall configuration of image processing device>
FIG. 1 is a diagram showing an example of the configuration of the
図1に示されるように、画像処理装置1は、CPU(Central Processing Unit)2と、DMA(Direct Memory Access)コントローラ3と、メモリ4と、撮像素子5と、画像処理回路6とを備える。画像処理装置1は、一種の回路構成であると言える。
As shown in FIG. 1, the
CPU2は、一種のプロセッサであって、一種の回路構成でもある。CPU2は、図示しないROM(Read Only Memory)等のメモリに記憶されているプログラムを実行する。CPU2がプログラムを実行することによって、CPU2には様々な機能が実現される。CPU2はDMAコントローラ3を制御することが可能である。
The
なお、CPU2の代わりに、その機能の実現のためにプログラム(ソフトフェア)が不要な、例えば論理回路等を含むハードウェア回路が設けられてもよい。また、CPU2の機能の一部が、その機能の実現のためにプログラムが不要なハードウェア回路で実現されてもよい。
Instead of the
DMAコントローラ3は、一種の回路構成であって、CPU2による制御によって、メモリ4に記憶されているデータを当該メモリ4から読み出すことが可能である。メモリ4は、例えばRAM(Random Access Memory)である。メモリ4では、例えば、1つのアドレスの記憶領域は、1バイトのデータを記憶する。DMAコントローラ3とメモリ4との間のデータバス幅はNバイトである。Nは、整数であって、N≧2である。本例では、例えばN=16である。
The
DMAコントローラ3は、Nバイトのアライメント制約、本例では16バイトのアライメント制約を有する。DMAコントローラ3は、Nバイトのアライメント制約を有する処理回路であるとも言える。DMAコントローラ3は、メモリ4から16バイト単位(128ビット単位)でデータを読み出す。DMAコントローラ3は、メモリ4に対して、16の倍数のアドレスを指定することによって、指定したアドレスを先頭とする連続した16個のアドレスの記憶領域に記憶されている16バイトのデータを一度に読み出すことができる。なお、Nは16以外であってもよい。
The
撮像素子5は、レンズ等を含む光学系(図示せず)を通じて入射する光を電気信号に変換して、被写体が写る画像を示す画像データ100を生成する。撮像素子5で生成された画像データ100は、メモリ4に記憶される。
The
画像処理回路6は、DMAコントローラ3がメモリ4から読み出す画像データに対して画像処理を行う。DMAコントローラ3は、画像データ100の一部のデータあるいは画像データ100のすべてをメモリ4から読み出すことが可能である。
The
CPU2は、メモリ4において、DMAコントローラ3が読み出す対象のデータが記憶されている記憶領域を特定するための特定情報300をDMAコントローラ3に出力する。DMAコントローラ3は、特定情報300に基づいて、メモリ4から、読み出し対象のデータを読み出して画像処理回路6に入力する。
The
画像処理回路6で画像処理が行われた画像データは、出力デバイスに入力される。出力デバイスは、例えば、画像処理装置1が搭載されるデジタルスチルカメラが有するディスプレイ、あるいは当該デジタルスチルカメラの外部のディスプレイである。出力デバイスとしてのディスプレイは、入力された画像データに基づいて、当該画像データが示す画像を表示することが可能である。
The image data processed by the
図2は、メモリ4が画像データ100を構成する複数の画素データPDを記憶する様子の一例を示す図である。本例では、図3に示されるように、撮像素子5で生成される画像200において、例えば、左からx列目、上からy行目の画素を画素(x,y)と表す。0≦x≦X、0≦y≦Yであって、画像200の総画素数は((X+1)×(Y+1))個である。
FIG. 2 is a diagram showing an example of how the
また、画素(x,y)の画素データPDを画素データPD(x,y)と表す。各画素データPDのデータ長はKバイトである。例えば、K=3であって、画素データPDのデータ長は24ビットである。画素データPD(x,y)の0ビット目から7ビット目の下位データPDLを下位データPDL(x,y)[7:0]と表す。画素データPD(x,y)の8ビット目から15ビット目の中位データPDMを中位データPDM(x,y)[15:8]と表す。画素データPD(x,y)の16ビット目から23ビット目の上位データPDUを上位データPDU(x,y)[23:16]と表す。そして、メモリ4において、下位データPDL(x,y)[7:0]を記憶する領域のアドレスをアドレスA(x,y)[7:0]で表し、中位データPDM(x,y)[15:8]を記憶する領域のアドレスをアドレスA(x,y)[15:8]で表し、上位データPDU(x,y)[23:16]を記憶する領域のアドレスをアドレスA(x,y)[23:16]で表す。
Further, the pixel data PD of the pixel (x, y) is represented as the pixel data PD (x, y). The data length of each pixel data PD is K bytes. For example, K = 3, and the data length of the pixel data PD is 24 bits. The lower data PDL of the 0th to 7th bits of the pixel data PD (x, y) is represented as the lower data PDL (x, y) [7: 0]. The median data PDM of the 8th to 15th bits of the pixel data PD (x, y) is represented as the median data PDM (x, y) [15: 8]. The upper data PDU of the 16th to 23rd bits of the pixel data PD (x, y) is represented as the upper data PDU (x, y) [23:16]. Then, in the
図2に示されるように、メモリ4においては、画像データ100を構成する複数の画素データPDが、昇順に連続する複数のアドレスの記憶領域に対して、ラスタ順に記憶される。1つの画素データPDは、昇順に連続する3つのアドレスの記憶領域に記憶される。下位データPDLは、当該3つのアドレスのうちの最も小さいアドレスの記憶領域に記憶され、中位データPDMは、当該3つのアドレスのうちの2番目に小さいアドレスの記憶領域に記憶され、上位データPDUは、当該3つのアドレスのうちの最も大きいアドレスの記憶領域に記憶される。
As shown in FIG. 2, in the
上述のように、DMAコントローラ3は、メモリ4に対して指定したアドレスを先頭とする連続した16個のアドレスの記憶領域に記憶されている16バイトのデータを一度に読み出すことができる。本例では、画素データPDは3バイトであることから、DMAコントローラ3が一度に読み出す16バイトのデータには、5つの画素データPDが含まれる。
As described above, the
例えば、DMAコントローラ3が、アドレスA(0,0)[7:0]をメモリ4に対して指定したとすると、DMAコントローラ3は、5つの画素データPD(0,0),PD(1,0),PD(2,0),PD(3,0),PD(4,0)と、1バイトの下位データPDL(5,0)[7:0]とを一度に読み出す。また、DMAコントローラ3が、例えば、アドレスA(X,0)[15:8]をメモリ4に対して指定したとすると、DMAコントローラ3は、1バイトの中位データPDM(X,0)[15:8]と、1バイトの上位データPDU(X,0)[23:16]と、4つの画素データPD(0,1),PD(1,1),PD(2,1),PD(3,1)と、1バイトの下位データPDL(4,1)[7:0]と、1バイトの中位データPDM(4,1)[15:8]とを一度に読み出す。
For example, if the
以後、データのアドレスあるいはデータに対応するアドレスと言えば、メモリ4において、当該データが記憶される領域のアドレスを意味する。また、あるアドレスのデータあるいはあるアドレスに対応するデータと言えば、当該あるアドレスの記憶領域に記憶されるデータを意味する。
Hereinafter, the address of the data or the address corresponding to the data means the address of the area in which the data is stored in the
<画像処理回路の構成>
図4は画像処理回路6の構成の一例を示す図である。図4に示されるように、画像処理回路6は、調整回路61、調整回路62、処理回路71及び処理回路72を備えている。
<Configuration of image processing circuit>
FIG. 4 is a diagram showing an example of the configuration of the
DMAコントローラ3は、メモリ4からデータを読み出し、読み出したデータを調整回路61に入力する。調整回路61とDMAコントローラ3の間のデータバス幅は、Nバイト、本例では16バイトである。調整回路61は、DMAコントローラ3から入力される入力データに含まれる不要データを破棄して、当該入力データを処理回路71に出力する。調整回路61には、当該調整回路61が破棄すべきデータを特定するための特定情報610が処理回路72から入力される。調整回路61は、特定情報610に基づいて、DMAコントローラ3から入力される入力データに含まれる不要データを破棄する。調整回路61の動作は後で詳細に説明する。
The
調整回路61と処理回路71の間のデータバス幅はMバイトである。Mは2以上の整数であって、例えばM=8である。処理回路71は、Mバイトのアライメント制約、本例では8バイトのアライメント制約を有する。調整回路61は、処理回路71に対して、8バイト単位(64ビット単位)でデータを入力する。処理回路71は、調整回路61から入力されるデータに含まれる複数の画素データPDのそれぞれをラスタ順に1画素ずつ順番に出力する。
The data bus width between the
処理回路71と調整回路62の間のデータバス幅はLバイトである。例えばL=6である。調整回路62は、処理回路71から出力される画像データを、当該画像データに含まれる不要な画素データPDを破棄して処理回路72に入力する。調整回路62は、処理回路71から必要な画素データPDが出力される場合には、当該画素データPDを処理回路72に入力し、処理回路71から不要な画素データPDが出力される場合には、当該不要な画素データPDを破棄して処理回路72に入力しない。調整回路62には、当該調整回路62が破棄すべき画素データPDを特定するための特定情報620が処理回路72から入力される。調整回路62は、特定情報620に基づいて、処理回路71から出力される画像データに含まれる不要な画素データPDを破棄する。調整回路62の動作は後で詳細に説明する。
The data bus width between the
処理回路72は、調整回路62から入力される画像データに対して各種画像処理を行って、出力デバイスに応じた画像データを生成する。処理回路72は、GDU(Graphic Display Unit)コアと呼ばれることがある。
The
処理回路72は、例えば、調整回路62から入力される画像データに対してガンマ補正及び拡大処理等を行う。そして、処理回路72は、処理後の画像データが示す画像を例えば他の画像と合成して、表示用画像を生成する。処理回路72は、表示用画像を示す表示用画像データに対してガンマ補正及びフォーマット変換等を行って、出力デバイスに応じた表示用画像データを生成する。そして、処理回路72は、生成した表示用画像データを出力デバイスに出力する。また処理回路72は、同期信号を生成して出力デバイスに出力する。出力デバイスは、処理回路72から入力される表示用画像データ及び同期信号に基づいて、当該表示用画像データが示す画像を表示する。
The
CPU2は、上述の特定情報610,620を生成して処理回路72に入力する。処理回路72は、入力された特定情報610,620を図示しないレジスタに記憶する。そして、処理回路72は、特定情報610,620を、調整回路61及び調整回路62にそれぞれ入力する。
The
<DMAコントローラ及び画像処理回路の動作の詳細>
出力デバイスは、メモリ4内の画像データ100が示す画像200の全体を表示するだけではなく、当該画像200の一部を表示することもある。例えば、出力デバイスにおいて、画像200が拡大されて表示されたり、画像200がスクロール表示されたりする場合には、出力デバイスでは、画像200の一部が表示される。そのため、処理回路72では、画像200全体を示す画像データ(画像データ100)が必要な場合もあれば、画像200の一部を示す画像データが必要な場合がある。以後、処理回路72で必要な画像データを「必要画像データ」と呼ぶことがある。また、必要画像データが示す画像、つまり処理回路72で必要な画像を「必要画像」と呼ぶことがある。また画像200を「撮像画像200」と呼び、画像データ100を「撮像画像データ100」と呼ぶことがある。
<Details of operation of DMA controller and image processing circuit>
The output device not only displays the
一方で、DMAコントローラ3は、そのアライメント制約により、必要画像データだけをメモリ4から読み出すことができない可能性がある。以下にこの点について説明する。
On the other hand, the
図5は必要画像210の一例を示す図である。図5では、必要画像210に右上がりの斜線を示している。図5には、撮像画像200の左側に、撮像画像200のラインの番号を示している。本例では、画像を構成する複数のラインに対して、例えば、最も上のラインから順に1番から始まる連続する正の整数を割り当てている。図5の例では、必要画像210は、撮像画像200の1番目から5番目までの各ラインの一部を含んでいる。
FIG. 5 is a diagram showing an example of the required
DMAコントローラ3は、16バイトアライメント制約により、メモリ4に対して、128ビットの倍数のアドレスしか指定することができない。言い換えれば、DMAコントローラ3は、16バイト単位でしかデータをメモリ4から読み出すことができない。したがって、必要画像210の各ラインの最初の画素(最も左の画素)の画素データPDの下位データPDLが、128ビットの倍数ではないアドレスに記憶されている場合には、当該画素データPDとともに、各ラインの最初の画素よりも左側の画素の画素データPDの少なくとも一部が読み出されることになる。
Due to the 16-byte alignment constraint, the
また、必要画像210の各ラインの最後の画素(最も右の画素)の画素データPDの上位データPDUが、128ビットの倍数ではないアドレスに記憶されている場合には、各ラインの最後の画素の画素データPDとともに、各ラインの最後の画素よりも右側の画素の画素データPDの少なくとも一部が読み出されることになる。
If the upper data PDU of the pixel data PD of the last pixel (rightmost pixel) of each line of the required
このように、DMAコントローラ3は、撮像画像データ100における、処理回路72で必要な画像データだけを、メモリ4から読み出すことができない場合がある。その結果、出力デバイスでは、必要画像以外の画像が表示される可能性がある。
As described above, the
そこで、画像処理装置1では、DMAコントローラ3が、そのアライメント制約を守るように、必要画像データを含むデータをメモリ4から読み出す。つまり、DMAコントローラ3には、16バイトの倍数のデータが入力される。そして、画像処理回路6の調整回路61及び調整回路62が、DMAコントローラ3から読み出されたデータに含まれる不要データを破棄することによって、必要画像データだけを処理回路72に入力する。これにより、アライメント制約を有する回路、つまりDMAコントローラ3を変更することなく、必要画像データを得ることができる。以下に、DMAコントローラ3及び画像処理回路6の動作を詳細に説明する。
Therefore, in the
図6は、撮像画像200における、図5の必要画像210を含む部分についての複数のラインのデータ400を、そのアドレスの順に並べた様子を示す図である。図6では、必要画像210の各ラインのデータ410に右上がりの斜線が示されている。また図6では、撮像画像200のラインのデータ400の左上に、当該ラインの番号が示されている。以後、画像のラインのデータを「ラインデータ」と呼ぶことがある。また、データ400を「撮像ラインデータ400」と呼び、データ410を「必要ラインデータ410」と呼ぶことがある。
FIG. 6 is a diagram showing a state in which
DMAコントローラ3及び画像処理回路6は、必要画像210のラインごとに処理を行う。DMAコントローラ3は、必要画像210の各ラインについて、アライメント制約を守るように、必要ラインデータ410を含むデータ420をメモリ4から読み出す。図6では、データ420に右下がりの斜線が示されている。以後、データ420を「ライン対応読み出しデータ420」と呼ぶことがある。
The
ライン対応読み出しデータ420に対応する複数のアドレスは連続している。また、DMAコントローラ3のアライメント制約により、ライン対応読み出しデータ420の先頭アドレス(最も小さいアドレス)は128ビットの倍数となっており、ライン対応読み出しデータ420に対応する複数のアドレスの数は128ビットの倍数となっている。そして、ライン対応読み出しデータ420のデータ長は、16バイトの倍数となっている。
A plurality of addresses corresponding to the line-corresponding
必要画像210の複数の必要ラインデータ410の間では、必要ラインデータ410を含むライン対応読み出しデータ420の先頭アドレスと、当該必要ラインデータ410の先頭アドレスとの差分が一定となっている。また、必要画像210の複数の必要ラインデータ410の間では、必要ラインデータ410を含むライン対応読み出しデータ420の末尾アドレスと、当該必要ラインデータ410の末尾アドレスとの差分が一定となっている。したがって、必要画像210の複数の必要ラインデータ410をそれぞれ含む複数のライン対応読み出しデータ420の間では、ライン対応読み出しデータ420に対応する複数のアドレスの数が一定となっている。言い換えれば、当該複数のライン対応読み出しデータ420の間ではデータ長が一定となっている。
Among the plurality of required line data 410s of the required
ライン対応読み出しデータ420が必要ラインデータ410よりも長い場合には、図6に示されるように、ライン対応読み出しデータ420に、必要ラインデータ410以外のデータ、つまり不要データ450が含まれる。この不要データ450は、調整回路61及び調整回路62で破棄される。これにより、必要ラインデータ410だけが処理回路72に入力される。つまり、必要画像210を示す画像データだけが処理回路72に入力される。ライン対応読み出しデータ420の先頭アドレスが、必要ラインデータ410の先頭アドレスよりも小さければ、図6に示されるように、ライン対応読み出しデータ420には、必要ラインデータ410の先頭アドレスよりも小さいアドレスの不要データ450が含まれる。また、ライン対応読み出しデータ420の末尾アドレスが、必要ラインデータ410の末尾アドレスよりも大きければ、図6に示されるように、ライン対応読み出しデータ420には、必要ラインデータ410の末尾アドレスよりも大きいアドレスの不要データ450が含まれる。
When the line-corresponding
図6の例では、ライン対応読み出しデータ420は、撮像ラインデータ400に含まれている。つまり、撮像ラインデータ400の一部がライン対応読み出しデータ420となっている。したがって、必要画像210を構成する複数のラインのデータ410をそれぞれ含む複数のライン対応読み出しデータ420をそれぞれラインデータとする画像データ(以後、「仮想画像データ」と呼ぶ)は、図7に示される画像220を概ね示すようになる。画像220は、撮像画像200の一部であって、必要画像210を含んでいる。図7では、画像220に右下がりの斜線が示されている。
In the example of FIG. 6, the line-corresponding
ただし、必要ラインデータ410の先頭アドレスのデータは、必ず、画素データPDの下位データPDLであるものの、ライン対応読み出しデータ420の先頭アドレスのデータは、DMAコントローラ3のアライメント制約により、画素データPDの下位データPDLであるとは限られない。同様に、必要ラインデータ410の末尾アドレスのデータは、必ず、画素データPDの上位データPDUであるものの、ライン対応読み出しデータ420の末尾アドレスのデータは、画素データPDの上位データPDUであるとは限られない。よって、ライン対応読み出しデータ420には、ある画素データPDに関して、一部のデータは含まれるものの、残りのデータが含まれないことがある。したがって、ライン対応読み出しデータ420が撮像ラインデータ400に含まれている場合であっても、ライン対応読み出しデータ420は、ある画素データPDのすべてを含んでおらず、当該ある画素データPDの画素を正しく示すことができない場合がある。その結果、複数のライン対応読み出しデータ420から成る仮想画像データは、撮像画像200の一部の画像を正しくは示すことができない場合がある。以後、必要画像210を構成する複数のラインのデータ410をそれぞれ含む複数のライン対応読み出しデータ420をまとめて「必要画像対応読み出しデータ」と呼ぶことがある。
However, although the data at the start address of the required
図6の例では、一つのライン対応読み出しデータ420が一つの撮像ラインデータ400に含まれている。しかしながら、必要画像210のラインの長さあるいは撮像画像200における必要画像210の相対的な位置によっては、一つのライン対応読み出しデータ420が複数の撮像ラインデータ400に渡って存在する可能性がある。
In the example of FIG. 6, one line-corresponding
例えば、必要ラインデータ410の末尾アドレスが、当該必要ラインデータ410を含む撮像ラインデータ400の末尾アドレスに近い場合を考える。この場合、図8に示されるように、必要ラインデータ410を含むライン対応読み出しデータ420の末尾アドレスが、次の撮像ラインデータ400の複数のアドレスに含まれることがある。つまり、撮像ラインデータ400に含まれる必要ラインデータ410を含むライン対応読み出しデータ420の一部が、その次の撮像ラインデータ400に含まれることがある。また、必要ラインデータ410の先頭アドレスが、当該必要ラインデータ410を含む撮像ラインデータ400の先頭アドレスに近い場合を考える。この場合、必要ラインデータ410を含むライン対応読み出しデータ420の先頭アドレスが、前の撮像ラインデータ400の複数のアドレスに含まれることがある。つまり、撮像ラインデータ400に含まれる必要ラインデータ410を含むライン対応読み出しデータ420の一部が、その前の撮像ラインデータ400に含まれることがある。
For example, consider a case where the end address of the required
また、必要画像210の1番目のラインのデータ410の先頭アドレスが、撮像画像データ100の先頭アドレスに近い場合を考える。この場合、1番目のラインのデータ410を含むライン対応読み出しデータ420には、撮像画像データ100の先頭アドレスよりも小さいアドレスのデータ(撮像画像データ100以外のデータ)が含まれることがある。また、必要画像210の最後のライン(最も番号が大きいライン)のデータ410の末尾アドレスが、撮像画像データ100の末尾アドレスに近い場合を考える。この場合、最後のラインのデータ410を含むライン対応読み出しデータ420には、撮像画像データ100の末尾アドレスよりも大きいアドレスのデータ(画像データ100以外のデータ)が含まれることがある。
Further, consider the case where the start address of the
また、必要画像210のラインの長さが大きい場合には、必要画像210のあるラインのデータ410を含むライン対応読み出しデータ420には、当該あるラインよりも前のラインのデータ410の一部と、当該あるラインよりも後のラインのデータ410の一部とが含まれることがある。図9はその様子の一例を示す図である。図9では、説明の便宜上、中央の撮像ラインデータ400に含まれる必要ラインデータ410及びそれを含むライン対応読み出しデータ420だけに斜線を示している。
Further, when the line length of the required
図9に示されるように、必要画像210のあるラインのデータ410を含むライン対応読み出しデータ420には、当該あるラインよりも前のラインのデータ410の一部410aと、当該あるラインよりも後のラインのデータ410の一部410bとが含まれている。このような場合であっても、図9に示されるように、ライン対応読み出しデータ420に含まれる、それに対応する必要ラインデータ410以外のデータのすべてが不要データ450になる。つまり、ライン対応読み出しデータ420において、それに対応する必要ラインデータ410以外の必要ラインデータ410の一部のデータが含まれている場合であっても、当該ライン対応読み出しデータ420においては、当該一部のデータは不要データとして扱われる。
As shown in FIG. 9, the line-corresponding
以上のように、アライメント制約を有するDMAコントローラ3は、必要画像210のラインごとに、当該ラインのデータ410を含むライン対応読み出しデータ420を読み出す。そして、画像処理回路6は、必要画像210のラインごとに、読み出されたライン対応読み出しデータ420に含まれる不要データ450を破棄する。これにより、アライメント制約によりDMAコントローラ3がメモリ4から不要データを読み出す場合であっても、DMAコントローラ3よりも後段の回路において、当該不要データを破棄して、必要なデータだけを得ることができる。以下に、DMAコントローラ3及び画像処理回路6の動作をさらに詳細に説明する。
As described above, the
<DMAコントローラの動作の詳細>
図10はDMAコントローラ3の動作の一例を説明するための図である。図10では、図6と同様に、撮像画像200における、必要画像210を含む部分についての各ラインのデータ400を、そのアドレスの順に並べた様子が示されている。図10の例では、図6と同様に、撮像ラインデータ400の一部がライン対応読み出しデータ420となっている。
<Details of DMA controller operation>
FIG. 10 is a diagram for explaining an example of the operation of the
DMAコントローラ3は、必要画像データを構成する複数の必要ラインデータ410をそれぞれ含む複数のライン対応読み出しデータ420を、矢印500が示すように、その先頭アドレスが小さいものから順にメモリ4から読み出す。言い換えれば、DMAコントローラ3は、必要画像対応読み出しデータを構成する複数のライン対応読み出しデータ420を、それが含む必要ラインデータ410に対応するラインが上側に位置するものから順にメモリ4から読み出す。さらに、DMAコントローラ3は、各ライン対応読み出しデータ420を、16バイト単位で、アドレスが小さいものから順に読み出す。DMAコントローラ3は、CPU2で生成される特定情報300に基づいて、複数のライン対応読み出しデータ420を上記のようにしてメモリ4から読み出す。DMAコントローラ3は、複数のライン対応読み出しデータ420を、メモリ4から読み出した順に調整回路61に入力する。
The
メモリ4における、必要画像対応読み出しデータが記憶されている記憶領域を特定するための特定情報300には、図10に示される、開始アドレスSTA、終了アドレスENA、連続転送サイズRPT及びジャンプサイズOFSが含まれている。開始アドレスSTAは、必要画像210の最も上のライン(最初のライン)のデータ410を含むライン対応読み出しデータ420の先頭アドレスである。終了アドレスENAは、必要画像210の最も下のライン(最後のライン)のデータ410を含むライン対応読み出しデータ420の末尾アドレスである。連続転送サイズRPTは、ライン対応読み出しデータ420のデータ長である。ジャンプサイズOFSは、必要画像210において連続する2つのラインのデータ410をそれぞれ含む2つのライン対応読み出しデータ420の先頭アドレスの差分を示す。ジャンプサイズOFSは、ライン対応読み出しデータ420の先頭アドレスから、その前に読み出すライン対応読み出しデータ420の先頭アドレスを差し引いた値である。ジャンプサイズOFSは、ライン対応読み出しデータ420の先頭アドレスから、その後に読み出すライン対応読み出しデータ420の先頭アドレスがどの程度離れているかを示している。DMAコントローラ3の16バイトアライメント制約により、開始アドレスSTA、終了アドレスENA、連続転送サイズRPT及びジャンプサイズOFSのそれぞれは、128ビットの倍数に設定される。
The
CPU2は、メモリ4において、必要画像210が記憶されている領域を特定するための必要画像特定情報と、DMAコントローラ3のアライメント制約と、画素データPDのデータ長とに基づいて、開始アドレスSTA及び連続転送サイズRPTを決定する。そして、CPU2は、決定した開始アドレスSTA及び連続転送サイズRPTと、撮像ラインデータ400のデータ長と、必要画像特定情報とに基づいて、終了アドレスENA及びジャンプサイズOFSを決定する。ジャンプサイズOFSは、撮像ラインデータ400のデータ長と一致する。必要画像特定情報には、例えば、必要画像210の最も上のラインの最も左側の画素の画素データPDの下位データPDLが記憶されている領域のアドレス(必要画像210の最も上のラインのデータ410の先頭アドレス)と、必要ラインデータ410のデータ長と、必要画像210のライン数とが含まれている。必要画像210は、出力デバイスが表示する画像等に応じて変化する。CPU2は、必要画像210に応じて必要画像特定情報を生成する。必要画像特定情報は、必要画像210に関する情報であると言える。なお、開始アドレスSTA及び連続転送サイズRPTの決定方法については後で詳細に説明する。
The
<画像処理回路の動作の詳細>
図11は画像処理回路6の動作を説明するための図である。図11には、1つのライン対応読み出しデータ420が示されている。ライン対応読み出しデータ420には、それに含まれる必要ラインデータ410の先頭アドレスよりも小さいアドレスの左側不要データ450Lと、当該必要ラインデータ410の末尾アドレスよりも大きいアドレスの右側不要データ450Rとが含まれる。
<Details of image processing circuit operation>
FIG. 11 is a diagram for explaining the operation of the
調整回路61は、ライン対応読み出しデータ420が入力されるたびに、ライン対応読み出しデータ420に含まれる左側不要データ450Lを破棄する。さらに、調整回路61は、ライン対応読み出しデータ420が入力されるたびに、ライン対応読み出しデータ420に含まれる右側不要データ450Rの一部のデータ450R1を破棄する。このデータ450R1を「第1右側不要データ450R1」と呼ぶ。また、右側不要データ450Rのうち、第1右側不要データ450R1以外のデータを「第2右側不要データ450R2」と呼ぶ。
The
第2右側不要データ450R2の先頭アドレスは、右側不要データ450Rの先頭アドレスと一致する。第1右側不要データ450R1の末尾アドレスは、右側不要データ450Rの末尾アドレスと一致する。第2右側不要データ450R2の末尾アドレスの次のアドレスが、第1右側不要データ450R1の先頭アドレスとなる。調整回路61は、ライン対応読み出しデータ420が入力されるたびに、入力されるライン対応読み出しデータ420を、それに含まれる左側不要データ450L及び第1右側不要データ450R1を破棄した上で処理回路71に入力する。
The start address of the second right-side unnecessary data 450R2 matches the start address of the right-side
調整回路61は、処理回路72から入力される特定情報610に基づいて、左側不要データ450L及び第1右側不要データ450R1を特定する。特定情報610には、左側不要データ450Lのデータ長DL1(以後、「左側不要データ長DL1」と呼ぶ)と、第1右側不要データ450R1のデータ長DL2(以後、「第1右側不要データ長DL2」と呼ぶ)とが含まれている。調整回路61は、ライン対応読み出しデータ420において、その先頭アドレスのデータからアドレスが大きくなる方向に向かって左側不要データ長DL1分だけの部分を、左側不要データ450Lとして破棄する。また調整回路61は、ライン対応読み出しデータ420において、その末尾アドレスのデータからアドレスが小さくなる方向に向かって第1右側不要データ長DL2分だけの部分を、第1右側不要データ450R1として破棄する。
The
以後、処理回路71に入力される、調整回路61において不要データが破棄されたライン対応読み出しデータ420を、「第1入力データ460」と呼ぶ。本例では、第1入力データ460は、左側不要データ450L及び第1右側不要データ450R1が破棄されたライン対応読み出しデータ420である。調整回路61は、ライン対応読み出しデータ420が入力されるたびに、入力されるライン対応読み出しデータ420に基づいて第1入力データ460を生成して処理回路71に入力する。ライン対応読み出しデータ420に基づいて生成される第1入力データ460は、当該ライン対応読み出しデータ420に含まれる必要ラインデータ410及び第2右側不要データ450R2で構成される。
Hereinafter, the line-corresponding
処理回路71は、第1入力データ460が入力されるたびに、入力される第1入力データ460に含まれる複数の画素データPDをアドレスが小さいものから順に1画素ずつ出力する。
Each time the
ここで、上述のように、処理回路71は、8バイトアライメント制約を有する。このため、処理回路71にラインごとに入力される第1入力データ460のデータ長は、8バイトの倍数である必要がある。さらに、処理回路71が、1画素ずつ画素データPDを出力するためには、第1入力データ460に、ある画素データPDの一部のデータだけが含まれるようなことがあってはならない。
Here, as described above, the
そこで、第1入力データ460に含まれる第2右側不要データ450R2のデータ長は、当該第1入力データ460のデータ長が8バイトの倍数となり、かつ当該第1入力データ460に画素データPDの一部のデータだけが含まれるようなことがないような値に設定される。これにより、処理回路71の8バイトアライメント制約を守ることができるととともに、処理回路71は1画素ごとに画素データPDを出力することができる。16バイトアライメント制約を有する処理回路であるDMAコントローラ3には、16バイトの倍数のデータ長を有するライン対応読み出しデータ420が入力されるのに対して、8バイトアライメント制約を有する処理回路71には、8バイトの倍数のデータ長を有する第1入力データ460が入力される。
Therefore, the data length of the second right-side unnecessary data 450R2 included in the
処理回路71は、第1入力データ460に対して、当該第1入力データ460を構成する複数の画素データPDを1画素ずつ順に出力する処理を行っている。したがって、処理回路71に入力される第1入力データ460は、入力形態及び出力形態が互いに異なるものの、データの内容としてはそのまま処理回路71から出力されると言える。つまり、処理回路71からは、第1入力データ460が出力されると言える。
The
なお、必要ラインデータ410の末尾アドレスのデータは、画素データPDの上位データPDUとなり、当該必要ラインデータ410に続く第2右側不要データ450R2の先頭アドレスのデータは、画素データPDの下位データPDLとなる。そして、第2右側不要データ450R2の末尾アドレスのデータは、画素データPDの上位データPDUとなる。第2右側不要データ450R2のデータ長は、画素データPDのデータ長、つまり3バイトの倍数となっている。
The data at the end address of the required
調整回路62は、処理回路71から第1入力データ460が入力されるたびに、入力される第1入力データ460を、それに含まれる第2右側不要データ450R2を破棄した上で処理回路72に入力する。調整回路62は、処理回路71から、第2右側不要データ450R2に含まれる不要な画素データPDが出力されると、当該不要な画素データPDを破棄する。一方で、調整回路62は、処理回路71から、必要ラインデータ410に含まれる必要な画素データPDが出力されると、当該必要な画素データPDを処理回路72に入力する。これにより、処理回路72には、必要ラインデータ410のみが入力される。よって、処理回路72は、必要画像データのみを受け取ることができる。上述のように、処理回路71は、入力される複数の画素データPDをアドレスが小さいものから順に1画素ずつ出力することから、調整回路62は、必要画像データを構成する複数の画素データPDを、ラスタ順に1画素ずつ処理回路72に出力する。
Each time the
調整回路62は、処理回路72から入力される特定情報620に基づいて、第2右側不要データ450R2を特定する。特定情報620には、第2右側不要データ450R2を構成する複数の画素データPDの数PDN(以後、「不要画素データ数PDN」と呼ぶ)が含まれている。調整回路62は、処理回路71から出力される第1入力データ460を構成する複数の画素データPDにおいて、アドレスが最も大きい画素データPDからアドレスが小さくなる方向に向かって不要画素データ数PDN分の画素データPDを、第2右側不要データ450R2として破棄する。
The
<開始アドレス等の決定方法>
次に、CPU2が、特定情報300に含まれる開始アドレスSTA及び連続転送サイズRPTと、特定情報610に含まれる左側不要データ長DL1及び第1右側不要データ長DL2と、特定情報620に含まれる不要画素データ数PDNとを決定する方法について説明する。以後、開始アドレスSTA、連続転送サイズRPT、左側不要データ長DL1、第1右側不要データ長DL2及び不要画素データ数PDNをまとめて「対象情報」と呼ぶことがある。
<How to determine the start address, etc.>
Next, the
CPU2は、必要画像特定情報と、DMAコントローラ3及び処理回路71のアライメント制約と、画素データPDのデータ長とに基づいて、対象情報を決定する。以下に登場する式中の各値(ただし、不要画素データ数PDNを除く)の単位は特に断らない限り「バイト」である。
The
CPU2は、まず第1入力データ460のデータ長DL3(図11参照)を以下の式(1)で求める。
First, the
式(1)中のDL4(図11参照)は、必要画像特定情報に含まれる、必要ラインデータ410のデータ長を示している。また式(1)中のM_Kは、処理回路71のMバイトのアライメント制約のMと、画素データPDのデータ長であるKバイトのKとの最小公倍数を示している。そして、式(1)中の[a]は、aの小数点以下を切り捨てた値(整数)を返す関数である。以下の式中の[a]も同様である。式(1)では、必要ラインデータ410のデータ長DL4以上であり、かつMの倍数であり、かつKの倍数である値のうちの最小の値が、第1入力データ460のデータ長DL3となっている。
DL4 (see FIG. 11) in the formula (1) indicates the data length of the required
次にCPU2は、不要画素データ数PDN(図11参照)を以下の式(2)で求める。
Next, the
またCPU2は、開始アドレスSTA(図10参照)を以下の式(3)で求める。
Further, the
式(3)中のADRは、必要画像210の最も上のラインのデータ410の先頭アドレスを示している。先頭アドレスADRは必要画像特定情報に含まれる。式(3)では、必要画像210の最も上のラインのデータ410の先頭アドレスADR以下であり、かつNの倍数である値のうちの最大の値が、開始アドレスSTAとなっている。
The ADR in the equation (3) indicates the start address of the
次にCPU2は、左側不要データ長DL1(図11)を以下の式(4)で求める。
Next, the
次にCPU2は、連続転送サイズRPT(図10,11参照)を以下の式(5)で求める。
Next, the
式(5)では、左側不要データ長DL1と第1入力データ460のデータ長DL3を足し合わせた値以上であり、かつNの倍数である値のうちの最小の値が、連続転送サイズRPTとなっている。
In equation (5), the smallest value among the values that are equal to or greater than the sum of the left unnecessary data length DL1 and the data length DL3 of the
そしてCPU2は、第1右側不要データ長DL2(図11参照)を以下の式(6)で求める。
Then, the
例えば、N=16、M=8、K=3、ADR=123であるとする。そして、必要ラインデータ410が100個の画素データPDで構成され、DL4=300であるとする。この場合、DL3=312、PDN=4、STA=112、DL1=11、RPT=336、DL2=13となる。
For example, assume that N = 16, M = 8, K = 3, and ADR = 123. Then, it is assumed that the required
以上のようにして、CPU2は、対象情報を決定すると、開始アドレスSTA及び連続転送サイズRPTを含む特定情報300をDMAコントローラ3に入力する。またCPU2は、左側不要データ長DL1及び第1右側不要データ長DL2を含む特定情報610と、不要画素データ数PDNを含む特定情報620とを処理回路72に入力する。処理回路72は、入力される特定情報610,620を調整回路61及び調整回路62にそれぞれ入力する。CPU2は、必要画像210に応じて、開始アドレスSTA、連続転送サイズRPT、左側不要データ長DL1、第1右側不要データ長DL2及び不要画素データ数PDNを決定する。CPU2は、DMAコントローラ3のNバイトのアライメント制約と、処理回路71のMバイトのアライメント制約と、必要画像特定情報とに基づいて、ライン対応読み出しデータ420と、調整回路61及び調整回路62が破棄するデータとを決定する決定回路として機能すると言える。
As described above, when the
なお、開始アドレスSTA、連続転送サイズRPT、左側不要データ長DL1、第1右側不要データ長DL2及び不要画素データ数PDNの少なくとも一つは、処理回路72で決定されてもよい。これらの情報のすべてが処理回路72で決定される場合には、処理回路72が、ライン対応読み出しデータ420と、調整回路61及び調整回路62が破棄するデータとを決定する決定回路として機能する。また、これらの情報のうちの一部だけが処理回路72で決定される場合には、CPU2及び処理回路72が、ライン対応読み出しデータ420と、調整回路61及び調整回路62が破棄するデータとを決定する決定回路として機能する。
At least one of the start address STA, the continuous transfer size RPT, the left side unnecessary data length DL1, the first right side unnecessary data length DL2, and the number of unnecessary pixel data PDNs may be determined by the
また、処理回路71が行う処理は上記以外の処理であってもよいし、処理回路72が行う処理は上記以外の処理であってもよい。
Further, the processing performed by the
また、処理回路71と調整回路61との間のデータバス幅が1バイトであってもよい。つまり、処理回路71は、アライメント制約を有していなくてもよい。この場合には、調整回路61は、画像処理装置1で扱われる最小のデータ単位である1バイトの単位で、処理回路71にデータが入力をすることができる、そのため、第1入力データ460のデータ長DL3についての上記のような制約がなくなる。よって、調整回路61は、DMAコントローラ3からのライン対応読み出しデータ420を、それに含まれる不要データをすべて破棄した上で、出力することができる。その結果、調整回路62が不要となる。
Further, the data bus width between the
また上記の例では、撮像画像200において連続する複数のラインのそれぞれの一部を含む画像が必要画像210とされていたが(図7参照)、必要画像210はこの限りではない。例えば、撮像画像200において連続する複数のラインのそれぞれのすべてを含む画像が必要画像210とされてもよい。また、撮像画像200において1ライン飛ばしの複数のラインのそれぞれの少なくとも一部を含む画像が必要画像210とされてもよい。また、撮像画像200において2ライン飛ばしの複数のラインのそれぞれの少なくとも一部を含む画像が必要画像210とされてもよい。
Further, in the above example, the image including a part of each of a plurality of continuous lines in the captured
また上記の例では、DMAコントローラ3のアライメント制約のバイト数Nと、処理回路71のアライメント制約のバイト数Mとの関係がN>Mであったが、N=Mであってもよいし、N<Mであってもよい。また、NとMとLとの関係は上記の例には限られない。
Further, in the above example, the relationship between the number of bytes N of the alignment constraint of the
また上記の例では、画像処理装置1には、アライメント制約を有する1つの処理回路(処理回路71)が設けられていたが、アライメント制約を有する複数の処理回路が設けられてもよい。この場合には、アライメント制約を有する複数の処理回路のそれぞれの前段に調整回路が設けられる。各調整回路は、入力されるデータを、後段の処理回路のアライメント制約を満たすように、それに含まれる不要データを破棄して後段の処理回路に入力する。例えば、処理回路72がアライメント制約を有する場合には、調整回路62は、入力されるデータを、処理回路72のアライメント制約を満たすように、それに含まれる不要データを破棄して処理回路72に入力する。
Further, in the above example, the
また、DMAコントローラ3の代わりに、DMAコントローラ以外の、アライメント制約を有する処理回路が設けられてもよい。
Further, instead of the
以上のように、画像処理装置1では、調整回路61が、必要画像210の1ラインごとに、ライン対応読み出しデータ420に含まれる不要データを破棄して、当該不要データが破棄されたライン対応読み出しデータ420である第1入力データ460を処理回路71に入力する。したがって、処理回路71の前段に位置する、アライメント制約を有するDMAコントローラ3が不要データを出力する場合に、DMAコントローラ3と処理回路71の間に位置する調整回路61で当該不要データを破棄することができる。よって、必要画像データを処理する処理回路71に不要データが入力されることを防止することができる。
As described above, in the
さらに、DMAコントローラ3がメモリ4から読み出したライン対応読み出しデータ420から不要データが破棄されることから、DMAコントローラ3を変更することなく、後段の処理回路に不要データが入力されることを防止することができる。よって、画像処理装置1が搭載されるシステム全体での効率を考慮して、DMAコントローラ3のアライメント制約を決定することができる。その結果、システム全体の効率を向上することができる。また、CPU2とは別の調整回路61がライン対応読み出しデータ420から不要データを破棄することから、CPU2の負荷の増加を抑制することができる。また、メモリ4から必要画像データだけを読み出すためにDMAコントローラ3を変更してそのアライメント制約を無くす場合よりも、画像処理回路6に対して調整回路61及び調整回路62を追加する場合の方が、画像処理装置1の開発工数を低減することができる。また、メモリ4から読み出されるライン対応読み出しデータ420を変更することによって、DMAコントローラ3のアラインメント制約の変更にも容易に対応することができる。
Further, since unnecessary data is discarded from the line-corresponding
また、画像処理装置1では、調整回路62が、1ラインごとに、第1入力データ460を、それに含まれる不要データを破棄して処理回路72に入力する。したがって、処理回路72の前段に位置する、アライメント制約を有する処理回路71が不要データを出力する場合に、処理回路71と処理回路72の間に位置する調整回路62が当該不要データを破棄することができる。よって、アライメント制約を有する処理回路71を変更することなく、必要画像データを処理する処理回路72に不要データが入力されることを防止することができる。
Further, in the
また、画像処理装置1には、DMAコントローラ3が読み出すライン対応読み出しデータ420と、調整回路61及び調整回路62が破棄するデータとを決定する決定回路(例えばCPU2)が設けられている。したがって、必要画像210が変更される場合であっても、必要画像210に応じた、ライン対応読み出しデータ420及びそれに含まれる不要データを決定回路で自動的に決定することができる。よって、必要画像210の変更にも容易に対応することができる。
Further, the
また、調整回路61は、Mバイトのアライメント制約を有する処理回路71に入力される第1入力データ460のデータ長が、当該Mバイトの倍数となるように、ライン対応読み出しデータ420に含まれる不要データを破棄する。したがって、ライン対応読み出しデータ420に含まれる不要データを破棄することができるとともに、処理回路71のアライメント制約を満たしたデータを当該処理回路71に入力することができる。
Further, the
なお上記の例では、調整回路62は、必要画像210を示す必要画像データを構成する複数の画素データPDを、図12に示されるようなラスタ順に1画素ずつ出力している。しかしながら、調整回路62が、当該複数の画素データPDを、図13に示されるような逆ラスタ順に1画素ずつ出力できるように画像処理装置1を動作させてもよい。これにより、出力デバイスは、必要画像210の鏡像を表示することができる。以下にこの場合の画像処理装置1の動作について説明する。
In the above example, the
DMAコントローラ3は、上記と同様に、複数のライン対応読み出しデータ420を、その先頭アドレスが小さいもの順に読み出す。一方で、DMAコントローラ3は、各ライン対応読み出しデータ420については、図14の矢印510が示すように、16バイト単位でアドレスが大きいものから順に読み出す。図14には、必要画像210の最も上のラインのデータ410を含むライン対応読み出しデータ420が示されている。
Similar to the above, the
また、調整回路61は、ライン対応読み出しデータ420から、右側不要データ451Rと、左側不要データ451Lに含まれる第1左側不要データ451L1とを破棄する。そして、調整回路62は、第1入力データ460から、左側不要データ451Lに含まれる第2左側不要データ451L2を破棄する。
Further, the
第1左側不要データ451L1の先頭アドレスは、左側不要データ451Lの先頭アドレスと一致する。第2左側不要データ451L2の末尾アドレスは、左側不要データ451Lの末尾アドレスと一致する。第1左側不要データ451L1の末尾アドレスの次のアドレスが、第2左側不要データ451L2の先頭アドレスとなる。右側不要データ451Rの末尾アドレスは、ライン対応読み出しデータ420の末尾アドレスと一致する。
The start address of the first left unnecessary data 451L1 matches the start address of the left
処理回路71は、入力される第1入力データ460を構成する複数の画素データPDをアドレスが大きいものから順に1画素ずつ出力する。調整回路62は、第1入力データ460から第2左側不要データ451L2を破棄し、それによって得られる必要ラインデータ410を構成する複数の画素データPDをアドレスが大きいものから順に1画素ずつ出力する。これにより、調整回路62は、必要画像データを構成する複数の画素データPDを、逆ラスタ順に1画素ずつ出力する。
The
図14に示される第1入力データ460のデータ長DL3は、上記の式(1)を用いて求めることができる。第2左側不要データ451L2を構成する不要な複数の画素データPDの数PDN1は、上記の不要画素データ数PDNと同様にして求めることができる(式(2)参照)。CPU2は、右側不要データ451Rのデータ長DL5(以後、「右側不要データ長DL5」と呼ぶ)を求めるために、必要画像210の最も上のラインのデータ410を含むライン対応読み出しデータ420の末尾アドレスである開始アドレスSTA1(図14参照)を以下の式(7)で求める。
The data length DL3 of the
式(7)中のADR1は、必要画像210の最も上のラインのデータ410の末尾アドレス(図14参照)を示す。
ADR1 in the formula (7) indicates the end address (see FIG. 14) of the
CPU2は、式(7)で求めた開始アドレスSTA1を用いて右側不要データ長DL5を以下の式(8)で求める。
The
次にCPU2は、本例での連続転送サイズRPT1を以下の式(9)で求める。
Next, the
そして、CPU2は、第1左側不要データ451L1のデータ長DL6を以下の式(10)で求める。
Then, the
CPU2は、必要画像データを構成する複数の画素データPDが、処理回路72に対してラスタ順に入力される第1動作モードで画像処理装置1が動作するか、当該複数の画素データPDが、処理回路72に対して逆ラスタ順に入力される第2動作モードで画像処理装置1が動作するか決定する。そして、CPU2は、DMAコントローラ3及び画像処理回路6が、決定した動作モードに応じた処理を行うように、DMAコントローラ3及び画像処理回路6を制御する。これにより、出力デバイスは、必要画像210をそのまま表示したり、必要画像210の鏡像を表示したりすることができる。
In the
なお上記の例では、画像処理装置1は、デジタルスチルカメラに搭載されていたが、それ以外の装置に搭載されてもよい。例えば、画像処理装置1は、OA(Office Automation)機器(コピー機、インテリジェント複合機、プロジェクターなど)に搭載されてもよい。また画像処理装置1は、エンタテイメント機器(パチンコ機等の遊技機、ゲームセンター等に設けられるゲーム機、個人ユースのゲーム機など)に搭載されてもよい。また画像処理装置1は、医療用機器(医療用モニターなど)に搭載されてもよい。また画像処理装置1は、教育用途の電子機器(タブレット、電子黒板など)に搭載されてもよい。
In the above example, the
以上のように、画像処理装置1は詳細に説明されたが、上記した説明は、全ての局面において例示であって、この発明がそれに限定されるものではない。また、上述した各種変形例は、相互に矛盾しない限り組み合わせて適用可能である。そして、例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。
As described above, the
1 画像検出装置
2 CPU
3 DMAコントローラ
4 メモリ
61,62 調整回路
71,72 処理回路
1
3
Claims (4)
入力されるデータに対して第1処理を行う第2処理回路と、
第1調整回路と
を備え、
前記第1処理回路には、画像を示す画像データに関して、1ラインごとに、当該1ラインのデータを含む、前記Aバイトの倍数のデータ長を有する第1データが入力され、
前記第1処理回路は、前記1ラインごとに、前記第1データである第2データを出力し、あるいは前記1ラインごとに、前記第1データに対して第2処理を行い、当該第2処理後の前記第1データである第2データを出力し、
前記第1調整回路は、前記1ラインごとに、前記第2データに含まれる第1不要データを破棄して、当該第1不要データが破棄された前記第2データである第3データを前記第2処理回路に入力し、
前記第2処理回路は、Bバイトのアライメント制約を有し、
前記第1調整回路は、前記第3データのデータ長が前記Bバイトの倍数となるように、前記第2データに含まれる前記第1不要データを破棄する、画像処理装置。 The first processing circuit with A-byte alignment constraint and
A second processing circuit that performs the first processing on the input data,
Equipped with a first adjustment circuit
With respect to the image data indicating the image, the first data having a data length that is a multiple of the A bytes, including the data of the one line, is input to the first processing circuit for each line.
The first processing circuit outputs the second data, which is the first data, for each line, or performs the second processing on the first data for each line, and the second processing. Output the second data, which is the first data later,
The first adjustment circuit discards the first unnecessary data included in the second data for each line, and uses the third data, which is the second data in which the first unnecessary data is discarded, as the first data. 2 Input to the processing circuit,
The second processing circuit has a B-byte alignment constraint.
The first adjustment circuit is an image processing device that discards the first unnecessary data included in the second data so that the data length of the third data is a multiple of the B bytes.
前記第2処理回路は、前記1ラインごとに前記第3データに対して前記第1処理を行い、当該第1処理後の前記第3データである第4データを出力し、
入力されるデータに対して第3処理を行う第3処理回路と、
前記1ラインごとに、前記第4データを、当該第4データに含まれる第2不要データを破棄して前記第3処理回路に入力する第2調整回路と
をさらに備える、画像処理装置。 The image processing apparatus according to claim 1.
The second processing circuit performs the first processing on the third data for each line, and outputs the fourth data, which is the third data after the first processing.
A third processing circuit that performs the third processing on the input data,
An image processing apparatus further comprising a second adjusting circuit for inputting the fourth data to the third processing circuit by discarding the second unnecessary data included in the fourth data for each line.
前記Aバイトのアライメント制約、前記Bバイトのアライメント制約及び前記画像に関する情報に基づいて、前記第1データ、前記第1不要データ及び前記第2不要データを決定する決定回路をさらに備える、画像処理装置。 The image processing apparatus according to claim 2.
An image processing apparatus further comprising a determination circuit for determining the first data, the first unnecessary data, and the second unnecessary data based on the A-byte alignment constraint, the B-byte alignment constraint, and information about the image. ..
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016169520A JP6884530B2 (en) | 2016-08-31 | 2016-08-31 | Image processing device and first adjustment circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016169520A JP6884530B2 (en) | 2016-08-31 | 2016-08-31 | Image processing device and first adjustment circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018036860A JP2018036860A (en) | 2018-03-08 |
JP6884530B2 true JP6884530B2 (en) | 2021-06-09 |
Family
ID=61567435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016169520A Active JP6884530B2 (en) | 2016-08-31 | 2016-08-31 | Image processing device and first adjustment circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6884530B2 (en) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006293748A (en) * | 2005-04-12 | 2006-10-26 | Canon Inc | Information processor |
JP6117494B2 (en) * | 2012-08-08 | 2017-04-19 | 株式会社メガチップス | Image processing interface circuit |
-
2016
- 2016-08-31 JP JP2016169520A patent/JP6884530B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018036860A (en) | 2018-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5593060B2 (en) | Image processing apparatus and method of operating image processing apparatus | |
WO2017101451A1 (en) | Imaging method, imaging device, and electronic device | |
JP2008022372A (en) | Alteration detection information generating apparatus, imaging apparatus, alteration detection information generating method, program, and storage medium | |
JP2019160063A (en) | Image processing device and image processing method | |
JP2012033007A (en) | Image processing device and image processing method | |
JP2004274133A (en) | Color aberration correction apparatus, color aberration correction method and color aberration correction program | |
JP2017191145A (en) | Image processing apparatus, image processing method, and program | |
JP2006191362A (en) | Device and method for processing image data | |
JP6884530B2 (en) | Image processing device and first adjustment circuit | |
JP2007163624A (en) | On-screen display device and its control method | |
JP2010176547A (en) | Controller included in image processor, control method and control processing program | |
US8482438B2 (en) | Data processing device and data processing method | |
JP2007079708A (en) | Image processor and processing method | |
WO2015080506A1 (en) | Image output apparatus and method of rendering an image | |
JP2010028758A (en) | Image processing apparatus and method, program, and imaging apparatus | |
JPH01303578A (en) | Picture converting device | |
JP2017055309A (en) | Imaging apparatus and its control method | |
JP2006094225A (en) | Image processing apparatus, image processing method, and its program | |
JP2004312072A (en) | Image processing device, camera, and image processing method | |
JP2020140546A (en) | Data processing device and method for processing data | |
JP6564625B2 (en) | Data transfer apparatus and data transfer method | |
JP2015080123A (en) | Imaging apparatus, imaging system, method for controlling imaging apparatus, program, and recording medium | |
JPH11134472A (en) | Image processor, storage medium readable by computer and digital photographing device | |
US11616908B2 (en) | Image processing apparatus and image processing method | |
WO2022226978A1 (en) | Data processing method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190711 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200928 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201006 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201105 |
|
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: 20210420 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210512 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6884530 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |