JP2007110419A - Image magnification method - Google Patents
Image magnification method Download PDFInfo
- Publication number
- JP2007110419A JP2007110419A JP2005299081A JP2005299081A JP2007110419A JP 2007110419 A JP2007110419 A JP 2007110419A JP 2005299081 A JP2005299081 A JP 2005299081A JP 2005299081 A JP2005299081 A JP 2005299081A JP 2007110419 A JP2007110419 A JP 2007110419A
- Authority
- JP
- Japan
- Prior art keywords
- data
- processing
- block
- scaling
- line
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 230000015654 memory Effects 0.000 description 57
- 238000011946 reduction process Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 4
- 238000012935 Averaging Methods 0.000 description 2
Images
Landscapes
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
Description
この発明は、画像変倍方法に関する。 The present invention relates to an image scaling method.
画像を主走査方向(または副走査方向)に拡大する場合は、図1に示すように、主走査方向(または副走査方向)に隣接する画素データを線形補完することにより、拡大後のデータを生成している。また、画像を主走査方向(または副走査方向)に縮小する場合は、図2に示すように、主走査方向(または副走査方向)に隣接する画素データを平均することにより、縮小後のデータを生成している。 In the case of enlarging an image in the main scanning direction (or sub-scanning direction), as shown in FIG. 1, the pixel data adjacent in the main scanning direction (or sub-scanning direction) is linearly complemented so that Is generated. When the image is reduced in the main scanning direction (or sub-scanning direction), as shown in FIG. 2, the data after reduction is obtained by averaging pixel data adjacent in the main scanning direction (or sub-scanning direction). Is generated.
このような変倍処理を、外部記憶装置から画素データがラスター状に入力される装置によって行なうと、副走査方向の変倍を行なうためには、ライン単位のバッファが必要となる。 When such a scaling process is performed by a device in which pixel data is input from an external storage device in a raster form, a buffer in units of lines is required to perform scaling in the sub-scanning direction.
そこで、バッファ容量の低減化を図るため、図3に示すように画像をM×Nの数のブロックA,B,C,D,…に分割し、ブロック単位で変倍処理を行なうことが考えられる。このようにブロック単位で変倍処理を行なうと、変倍処理後において隣接するブロック間の境界に筋が現れることがある。
この発明は、ブロック単位で変倍処理を行なう画像変倍方法において、変倍処理後において隣接するブロック間の境界に筋が現れるのを防止できる画像変倍方法を提供することを目的とする。 An object of the present invention is to provide an image scaling method capable of preventing streaks from appearing at the boundary between adjacent blocks after the scaling process in an image scaling method that performs a scaling process in units of blocks.
請求項1に記載の発明は、画像を複数のブロックに分割し、ブロック単位で変倍処理を行なう画像変倍方法であって、水平方向および垂直方向のうちのいずれか一方の方向(第1方向)の変倍処理結果を用いて、他方の方向(第2方向)の変倍処理を行なう画像変倍方法において、第1方向の変倍処理を行なう際には、処理対象ブロックに第1方向に隣合うブロックのうち、処理対象ブロックより処理順序が1つ前のブロックの元データまたはそれらのデータから得られるデータのうち、処理対象ブロックに対する第1方向の変倍処理に必要なデータを第1の記憶手段に保存しておき、第1の記憶手段に保存したデータを利用して、処理対象ブロックに対する第1方向の変倍処理を行ない、第2方向の変倍処理を行なう際には、処理対象ブロックに第2方向に隣合うブロックのうち、処理対象ブロックより処理順序が1つ前のブロックの第1方向の変倍処理結果データまたはそれらのデータから得られるデータのうち、処理対象ブロックに対する第2方向の変倍処理に必要なデータを第2の記憶手段に保存しておき、第2の記憶手段に保存したデータを利用して、処理対象ブロックに対する第2方向の変倍処理を行なうことを特徴とする。 According to the first aspect of the present invention, there is provided an image scaling method for dividing an image into a plurality of blocks and performing a scaling process on a block-by-block basis, in either one of a horizontal direction and a vertical direction (first In the image scaling method for performing the scaling process in the other direction (second direction) using the scaling process result in the (direction), when performing the scaling process in the first direction, Of the blocks adjacent to each other in the direction, the data necessary for the scaling process in the first direction with respect to the processing target block among the original data of the block one processing order before the processing target block or the data obtained from those data When the scaling process in the first direction is performed on the processing target block using the data stored in the first storage unit and stored in the first storage unit, and the scaling process in the second direction is performed. Is the target bro Among the blocks adjacent in the second direction to the processing target block, the first scaling processing result data in the first direction of the block whose processing order is one before the processing target block or the data obtained from those data is Data necessary for the scaling process in the two directions is stored in the second storage unit, and the scaling process in the second direction is performed on the processing target block using the data stored in the second storage unit. It is characterized by.
この発明によれば、ブロック単位で変倍処理を行なう画像変倍方法において、変倍処理後において隣接するブロック間の境界に筋が現れるのを防止できるようになる。 According to the present invention, in the image scaling method that performs the scaling process in units of blocks, it is possible to prevent streaks from appearing at the boundary between adjacent blocks after the scaling process.
以下、図面を参照して、この発明の実施例について説明する。 Embodiments of the present invention will be described below with reference to the drawings.
〔1〕変倍処理を行なうための回路構成 [1] Circuit configuration for scaling processing
図4は、変倍処理を行なうための回路の構成を示している。
外部記憶装置1には、変倍処理の対象となる画像データが格納されている。画像処理回路2は、外部記憶装置1から入力される画像データに対して変倍処理を行い、変倍処理後の画像データを外部記憶装置1に記憶させる。
FIG. 4 shows a configuration of a circuit for performing the scaling process.
The
画像処理回路2は、主走査変倍回路11および副走査変倍回路12を備えている。主走査変倍回路11は、ラインメモリ21を備えている。副走査変倍回路12、ラインメモリ22およびラインメモリ23を備えている。
The
画像処理回路2は、図3に示すように画像をM×Nの数のブロックA,B,C,D,…に分割し、ブロック単位で変倍処理を行なう。
As shown in FIG. 3, the
図5は、図3に示されている複数のブロックのうち、ブロックA〜Hを示している。また、図6は、ブロックAを示している。ブロックA内のAij(iは列、jは行を表す)は、ブロックA内の画素データを表している。ブロックB、C、D、E内のBij、Cij、Dij、Eijもそのブロック内の画素データを表している。 FIG. 5 shows blocks A to H among the plurality of blocks shown in FIG. FIG. 6 shows block A. A ij in block A (i represents a column and j represents a row) represents pixel data in block A. B ij , C ij , D ij , and E ij in the blocks B, C, D, and E also represent pixel data in the block.
ブロック内の画素データは、図6に示すように、ラスター状に処理が行なわれる。また、ブロック単位では、図5に示すように、アルファベット順(ABC順)に処理が行なわれる。 The pixel data in the block is processed in a raster shape as shown in FIG. In block units, as shown in FIG. 5, processing is performed in alphabetical order (ABC order).
ブロック単位で変倍処理を行なった場合に、変倍処理後において隣接するブロック間の境界に筋が現れるのは、倍率によってはブロック境界をまたいで画素データの線形補完または平均を行なう必要があるが、その際に処理順序が処理対象ブロックより1つ前のブロックのデータを利用していないためである。そこで、この実施例では、処理対象ブロックより処理順序が1つ前のブロックから得られるデータのうち、処理対象ブロックに対する変倍処理に必要なデータをラインメモリまたは外部記憶装置1に保存しておき、処理対象ブロックに対する変倍処理を行なう際にそのデータを利用するようにしている。
When scaling processing is performed in units of blocks, streaks appear at the boundary between adjacent blocks after scaling processing, depending on the magnification, it is necessary to perform linear interpolation or averaging of pixel data across block boundaries However, at this time, the processing order does not use the data of the block immediately before the processing target block. Therefore, in this embodiment, among the data obtained from the block whose processing order is one before the processing target block, data necessary for the scaling process for the processing target block is stored in the line memory or the
〔2〕拡大処理 [2] Enlargement process
以下、変倍率が200%の場合を例にとって、変倍処理方法について説明する。変倍率が200%の変倍処理とは、元画像から主走査方向(水平方向)および副走査方向(垂直方向)それぞれに2倍の画像データを生成する処理である。この実施例では、主走査方向(水平方向)の変倍処理結果を用いて、副走査方向(垂直方向)の変倍処理を行う場合について説明する。 In the following, the scaling process method will be described by taking as an example the case where the scaling ratio is 200%. The scaling process with a scaling factor of 200% is a process of generating double image data from the original image in each of the main scanning direction (horizontal direction) and the sub-scanning direction (vertical direction). In this embodiment, a case where a scaling process in the sub-scanning direction (vertical direction) is performed using a scaling process result in the main scanning direction (horizontal direction) will be described.
〔2−1〕主走査方向の200%拡大処理 [2-1] 200% enlargement processing in the main scanning direction
(1)ブロックAに対する処理を行なう。 (1) Processing for block A is performed.
入力画素データをAijで表し、拡大処理後の画素データをA’ijで表すことにする。
主走査変倍回路11は、次式(1)で示すように、先頭画素から順に拡大処理を行ない、副走査変倍回路12に処理後のデータを送る。
Input pixel data is represented by A ij , and pixel data after enlargement processing is represented by A ′ ij .
As shown by the following equation (1), the main
A’00=A00
A’01=A00+(A01−A00)/2
A’02=A01
A’03=A01+(A02−A01)/2
…
A’014 =A07 …(1)
A '00 = A 00
A ′ 01 = A 00 + (A 01 −A 00 ) / 2
A '02 = A 01
A ′ 03 = A 01 + (A 02 −A 01 ) / 2
...
A ' 014 = A 07 (1)
ブロックAの1ライン目の処理が終了すると、ブロックAの1ライン目の最終データA07をラインメモリ21に書き込む。
When the processing of the first line of block A is completed, the final data A 07 of the first line of block A is written into the
ブロックAの2ライン目以降も同様な処理を繰り返す。 Similar processing is repeated for the second and subsequent lines of block A.
(2)ブロックAの全てのラインに対する処理が終了すると、ブロックBに対する処理を行なう。 (2) When processing for all lines in block A is completed, processing for block B is performed.
主走査変倍回路11は、次式(2)で示すように、先頭画素から順に拡大処理を行ない、副走査変倍回路12に処理後のデータを送る。
As shown by the following equation (2), the main
B’00=A07+(B00−A07)/2
B’01=B00
B’02=B00+(B01−B00)/2
B’03=B01
…
B’15=B07 …(2)
B ′ 00 = A 07 + (B 00 −A 07 ) / 2
B '01 = B 00
B ′ 02 = B 00 + (B 01 −B 00 ) / 2
B '03 = B 01
...
B ′ 15 = B 07 (2)
B’00を生成するためには、ラインメモリ21に記憶されているA07のデータを使用する。ブロックBの1ライン目の処理が終了すると、ラインメモリ21内における1ライン目の処理で使用したデータA07を、ブロックBの1ライン目の最終データB07に置き換える。
To generate the B '00 uses the data of the A 07 stored in the
ブロックBの2ライン目以降も同様な処理を繰り返す。 Similar processing is repeated for the second and subsequent lines of block B.
(3)ブロックC以降のブロックに対して同様な処理を行なう。 (3) A similar process is performed on blocks after block C.
〔2−2〕副走査方向の200%拡大処理 [2-2] 200% enlargement process in the sub-scanning direction
(1)ブロックAに対する処理を行なう。
最終出力データをA”ijで表すことにする。副走査変倍回路12は、主走査変倍回路11からブロックAの1ライン目の処理後のデータA’00 〜A’0X(Xは変倍率に応じて変化する)を取得し、ラインメモリ22に書き込む。また、主走査変倍回路11からブロックAの2ライン目の処理後のデータA’10〜A’1Xを取得し、ラインメモリ23に書き込む。
(1) Processing for block A is performed.
The final output data is represented by A ″ ij . The
副走査変倍回路12は、ラインメモリ22、23に書き込んだデータに基づいて、次式(3)で示すように、拡大処理を行なう。
Based on the data written in the
A”00=A00’
A”01=A’01
A”02=A’02
…
A”10=A00’+(A’10−A’00)/2
A”11=A01’+(A’11−A’01)/2
A”12=A02’+(A’12−A’02)/2
…
… …(3)
A ” 00 = A 00 '
A ” 01 = A '01
A ” 02 = A '02
...
A "10 = A 00 '+ (A' 10 -A '00) / 2
A " 11 = A 01 '+ (A' 11 -A '01 ) / 2
A "12 = A 02 '+ (A' 12 -A '02) / 2
...
... (3)
このようにして、1ライン目および2ライン目のデータが得られると、副走査変倍回路12は、主走査変倍回路11からブロックAの3ライン目の処理後のデータA’20 〜A’2Xを取得し、ラインメモリ22に上書きする。
When the data for the first line and the second line are obtained in this way, the
副走査変倍回路12は、ラインメモリ22、23に書き込んだデータに基づいて、次式(4)で示すように、拡大処理を行なう。
Based on the data written in the
A”20=A10’
A”21=A’11
A”22=A’12
…
A”30=A10’+(A’20−A’10)/2
A”31=A11’+(A’21−A’11)/2
A”32=A12’+(A’22−A’12)/2
…
… …(4)
A ” 20 = A 10 '
A "21 = A '11
A "22 = A '12
...
A "30 = A 10 '+ (A' 20 -A '10) / 2
A "31 = A 11 '+ (A' 21 -A '11) / 2
A "32 = A 12 '+ (A' 22 -A '12) / 2
...
... (4)
そして、ブロックAに対する処理が終了すると、主走査変倍回路11からのブロックAの最終ラインに対する処理後のデータA’70 〜A’7Xを、外部記憶装置1に補助データとして書き込む。
When the processing for the block A is completed, the processed data A ′ 70 to A ′ 7X for the last line of the block A from the main
ブロックB、C、Dに対しても同様な処理を行なう。この際、主走査変倍回路11からのブロックB、C、Dの最終ラインに対する処理後のデータB’70 〜B’7X、C’70 〜C’7X、D’70 〜D’7Xが外部記憶装置1に補助データとして書き込まれる。
Similar processing is performed for blocks B, C, and D. At this time, the data B ′ 70 to B ′ 7X , C ′ 70 to C ′ 7X , and D ′ 70 to D ′ 7X after the processing for the final lines of the blocks B, C, and D from the main
(2)ブロックDに対する処理が終了すると、ブロックEに対する処理を行なう。
副走査変倍回路12は、主走査変倍回路11からブロックEの1ライン目の処理後のデータE’00 〜E’0X(Xは変倍率に応じて変化する)を取得し、ラインメモリ22に書き込む。また、主走査変倍回路11からブロックEの2ライン目の処理後のデータE’10〜E’1Xを取得し、ラインメモリ23に書き込む。
(2) When the process for block D is completed, the process for block E is performed.
The
副走査変倍回路12は、ラインメモリ22、23に書き込んだデータと、外部記憶装置1に補助データとして書き込まれている、ブロックEの上側にあるブロックAの最終ラインに対する主走査変倍回路11による処理後のデータA’70 〜A’7Xとに基づいて、次式(5)で示すように、拡大処理を行なう。
The
E”00=A70’+(E’00 −A70’)/2
E”01=A71’+(E’01 −A71’)/2
E”02=A72’+(E’02 −A72’)/2
…
E”10=E’00
E”11=E’01
E”12=E’02
…
E”20=E00’+(E’10 −E00’)/2
E”21=E01’+(E’11 −E01’)/2
E”22=E02’+(E’12 −E02’)/2
…
… …(5)
E "00 = A 70 '+ (E' 00 -A 70 ') / 2
E " 01 = A 71 '+ (E' 01 -A 71 ') / 2
E "02 = A 72 '+ (E' 02 -A 72 ') / 2
...
E ” 10 = E '00
E ” 11 = E '01
E ” 12 = E '02
...
E " 20 = E 00 '+ (E' 10 -E 00 ') / 2
E ” 21 = E 01 '+ (E' 11 -E 01 ') / 2
E ” 22 = E 02 '+ (E' 12 -E 02 ') / 2
...
... (5)
そして、ブロックEに対する処理が終了すると、主走査変倍回路11からのブロックEの最終ラインに対する処理後のデータE’70 〜E’7Xを、外部記憶装置1に補助データとして書き込む。
When the processing for the block E is completed, the processed data E ′ 70 to E ′ 7X for the last line of the block E from the main
以下、ブロックF、G、Hの順に、処理を行なう。 Thereafter, processing is performed in the order of blocks F, G, and H.
〔3〕縮小処理 [3] Reduction processing
以下、変倍率が33%の場合を例にとって、変倍処理方法について説明する。変倍率が33%の変倍処理とは、元画像から主走査方向および副走査方向それぞれに1/3倍の画像データを生成する処理である。 In the following, the scaling process method will be described by taking the case where the scaling ratio is 33% as an example. The scaling process with a zoom ratio of 33% is a process for generating 1/3 times image data from the original image in each of the main scanning direction and the sub-scanning direction.
〔2−1〕主走査方向の33%縮小処理 [2-1] 33% reduction processing in the main scanning direction
(1)ブロックAに対する処理を行なう。
入力画素データをAijで表し、縮小処理後の画素データをA’ijで表すことにする。
主走査変倍回路11は、次式(6)で示すように、先頭画素から順に縮小処理を行ない、副走査変倍回路12に処理後のデータを送る。
(1) Processing for block A is performed.
Input pixel data is represented by A ij , and pixel data after reduction processing is represented by A ′ ij .
As shown in the following equation (6), the main
A’00=(A00+A01+A02)/3
A’01=(A03+A04+A05)/3 …(6)
A ′ 00 = (A 00 + A 01 + A 02 ) / 3
A ′ 01 = (A 03 + A 04 + A 05 ) / 3 (6)
1ライン目の残りのデータA06、A07の加算値(A06+A07)は、ブロックBの1ライン目の縮小データB’00を生成するために必要であるので、1ライン目の処理が終了すると、ラインメモリ21に書き込む。なお、1ライン目の残りのデータA06、A07の加算値(A06+A07)の代わりに、各データA06、A07を別々にラインメモリ21に書き込むようにしてもよい。
Since the addition value (A 06 + A 07 ) of the remaining data A 06 and A 07 on the first line is necessary to generate the reduced data B ′ 00 on the first line of the block B, the processing on the first line Is completed, the data is written in the
ブロックAの2ライン目以降も同様な処理を繰り返す。 Similar processing is repeated for the second and subsequent lines of block A.
(2)ブロックAの全てのラインに対する処理が終了すると、ブロックBに対する処理を行なう。 (2) When processing for all lines in block A is completed, processing for block B is performed.
主走査変倍回路11は、次式(7)で示すように、先頭画素から順に縮小処理を行ない、副走査変倍回路12に処理後のデータを送る。
As shown by the following equation (7), the main
B’00=(A06+A07+B00)/3
B’01=(B01+B02+B03)/3
B’02=(B04+B05+B06)/3 …(7)
B ′ 00 = (A 06 + A 07 + B 00 ) / 3
B '01 = (B 01 + B 02 + B 03 ) / 3
B ′ 02 = (B 04 + B 05 + B 06 ) / 3 (7)
B’00を生成する際には、ラインメモリ21に書き込まれているデータ(A06+A07)を利用する。1ライン目の残りのデータB06は、ブロックCの1ライン目の縮小データC’00を生成するために必要であるので、1ライン目の処理が終了すると、ラインメモリ21内の(A06+A07)を、B06に置き換える。
When B ′ 00 is generated, data (A 06 + A 07 ) written in the
ブロックBの2ライン目以降も同様な処理を繰り返す。 Similar processing is repeated for the second and subsequent lines of block B.
(3)ブロックC以降のブロックに対して同様な処理を行なう。 (3) A similar process is performed on blocks after block C.
〔3−2〕副走査方向の33%縮小処理 [3-2] 33% reduction processing in the sub-scanning direction
(1)ブロックAに対する処理を行なう。
最終出力データをA”ijで表すことにする。副走査変倍回路12は、主走査変倍回路11からブロックAの1ライン目の処理後のデータA’00 〜A’0X(Xは変倍率に応じて変化する)を取得し、ラインメモリ22に書き込む。
(1) Processing for block A is performed.
The final output data is represented by A ″ ij . The
次に、主走査変倍回路11からブロックAの2ライン目の処理後のデータA’10〜A’1Xを取得し、ラインメモリ22の対応するデータに加算し、加算結果をラインメモリ22に格納する。
Next, the processed data A ′ 10 to A ′ 1X of the second line of the block A are acquired from the main
次に、主走査変倍回路11からブロックAの3ライン目の処理後のデータA’20〜A’2Xを取得し、ラインメモリ22の対応するデータに加算し、加算結果をラインメモリ22に格納する。
Next, the processed data A ′ 20 to A ′ 2X of the third line of the block A are acquired from the main
副走査変倍回路12は、ラインメモリ22に格納されているデータに基づいて、次式(8)で示すように、縮小処理を行なう。
Based on the data stored in the
A”00=(A00’+A10’+A20’)/3
A”01=(A01’+A11’+A21’)/3 …(8)
A "00 = (A 00 ' + A 10' + A 20 ') / 3
A " 01 = (A 01 '+ A 11 ' + A 21 ') / 3 (8)
このようにして、ブロックAの1ライン目の縮小データが得られると、副走査変倍回路12は、主走査変倍回路11からブロックAの4ライン目の処理後のデータA’30 〜A’3X(Xは変倍率に応じて変化する)を取得し、ラインメモリ22に書き込む。
When the reduced data of the first line of the block A is obtained in this way, the
次に、主走査変倍回路11からブロックAの5ライン目の処理後のデータA’40〜A’4Xを取得し、ラインメモリ22の対応するデータに加算し、加算結果をラインメモリ22に格納する。
Next, the processed data A ′ 40 to A ′ 4X of the fifth line of the block A are acquired from the main
次に、主走査変倍回路11からブロックAの6ライン目の処理後のデータA’50〜A’5Xを取得し、ラインメモリ22の対応するデータに加算し、加算結果をラインメモリ22に格納する。
Next, the processed data A ′ 50 to A ′ 5X of the sixth line of the block A are acquired from the main
副走査変倍回路12は、ラインメモリ22に格納されているデータに基づいて、次式(9)で示すように、縮小処理を行なう。
Based on the data stored in the
A”10=(A30’+A40’+A50’)/3
A”11=(A31’+A41’+A51’)/3 …(9)
A " 10 = (A 30 '+ A 40 ' + A 50 ') / 3
A ″ 11 = (A 31 ′ + A 41 ′ + A 51 ′) / 3 (9)
このようにして、ブロックAの2ライン目の縮小データが得られると、副走査変倍回路12は、主走査変倍回路11からブロックAの7ライン目の処理後のデータA’60 〜A’6X(Xは変倍率に応じて変化する)を取得し、ラインメモリ22に書き込む。
When the reduced data of the second line of the block A is obtained in this way, the
次に、主走査変倍回路11からブロックAの8ライン目の処理後のデータA’70〜A’7Xを取得し、ラインメモリ22の対応するデータに加算し、加算結果をラインメモリ22に格納する。
Next, the processed data A ′ 70 to A ′ 7X of the eighth line of the block A are acquired from the main
ブロックAの9ライン目の処理後のデータは存在しないので、3ライン分のデータの加算は行なえない。そこで、ラインメモリ22内に格納されている2ライン分の加算データ、この例では、(A’60+A’70)および(A’61+A’71)を、外部記憶装置1に補助データとして書き込む。なお、2ライン分の加算データを外部記憶装置1に書き込む代わりに、これらの各ラインのデータA’60、A’61、A’70、A’71を外部記憶装置1に補助データとして書き込んでもよい。
Since there is no data after processing of the 9th line of block A, it is not possible to add data for 3 lines. Therefore, the addition data for two lines stored in the line memory 22 (in this example, (A ′ 60 + A ′ 70 ) and (A ′ 61 + A ′ 71 )) is written in the
ブロックB、C、Dに対しても同様な処理を行なう。この際、2ライン分の加算データ(B’60+B’70)および(B’61+B’71)、(C’60+C’70)および(C’61+C’71)、(D’60+D’70)および(D’61+D’71)が外部記憶装置1に補助データとして書き込まれる。
Similar processing is performed for blocks B, C, and D. At this time, the addition data (B ′ 60 + B ′ 70 ) and (B ′ 61 + B ′ 71 ), (C ′ 60 + C ′ 70 ) and (C ′ 61 + C ′ 71 ), (D ′ 60 + D) for two lines '70 ) and (D' 61 + D' 71 ) are written to the
(2)ブロックDに対する処理が終了すると、ブロックEに対する処理を行なう。
副走査変倍回路12は、主走査変倍回路11からブロックEの1ライン目の処理後のデータE’00 〜E’0X(Xは変倍率に応じて変化する)を取得し、ラインメモリ22に書き込む。次に、外部記憶装置1に補助データとして記憶されている(A’60+A’70)および(A’61+A’71)を読み出し、ラインメモリ22の対応するデータに加算し、加算結果をラインメモリ22に格納する。
(2) When the process for block D is completed, the process for block E is performed.
The
副走査変倍回路12は、ラインメモリ22に格納されているデータに基づいて、次式(10)で示すように、縮小処理を行なう。
Based on the data stored in the
E”00=(A60’+A70’+E00’)/3
E”01=(A61’+A71’+E01’)/3 …(10)
E " 00 = ( A60 '+ A70 ' + E00 ') / 3
E " 01 = (A 61 '+ A 71 ' + E 01 ') / 3 (10)
このようにして、ブロックEの1ライン目の縮小データが得られると、副走査変倍回路12は、主走査変倍回路11からブロックEの2ライン目の処理後のデータE’10 〜E’1X(Xは変倍率に応じて変化する)を取得し、ラインメモリ22に書き込む。
When the reduced data of the first line of the block E is obtained in this way, the
次に、主走査変倍回路11からブロックEの3ライン目の処理後のデータE’20〜E’2Xを取得し、ラインメモリ22の対応するデータに加算し、加算結果をラインメモリ22に格納する。
Next, the processed data E ′ 20 to E ′ 2X of the third line of the block E are acquired from the main
次に、主走査変倍回路11からブロックEの4ライン目の処理後のデータE’30〜E’3Xを取得し、ラインメモリ22の対応するデータに加算し、加算結果をラインメモリ22に格納する。
Next, the processed data E ′ 30 to E ′ 3X of the fourth line of the block E are acquired from the main
副走査変倍回路12は、ラインメモリ22に格納されているデータに基づいて、次式(11)で示すように、縮小処理を行なう。
Based on the data stored in the
E”10=(E10’+E20’+E30’)/3
E”11=(E11’+E21’+E31’)/3 …(11)
E " 10 = (E 10 '+ E 20 ' + E 30 ') / 3
E " 11 = (E 11 '+ E 21 ' + E 31 ') / 3 (11)
このようにして、ブロックEの2ライン目の縮小データが得られると、副走査変倍回路12は、主走査変倍回路11からブロックEの5ライン目の処理後のデータE’40 〜E’4X(Xは変倍率に応じて変化する)を取得し、ラインメモリ22に書き込む。
When the reduced data of the second line of the block E is obtained in this way, the
次に、主走査変倍回路11からブロックEの6ライン目の処理後のデータE’50〜E’5Xを取得し、ラインメモリ22の対応するデータに加算し、加算結果をラインメモリ22に格納する。
Next, the processed data E ′ 50 to E ′ 5X of the sixth line of the block E are obtained from the main
次に、主走査変倍回路11からブロックEの7ライン目の処理後のデータE’60〜E’6Xを取得し、ラインメモリ22の対応するデータに加算し、加算結果をラインメモリ22に格納する。
Next, the processed data E ′ 60 to E ′ 6X of the seventh line of the block E are acquired from the main
副走査変倍回路12は、ラインメモリ22に格納されているデータに基づいて、次式(12)で示すように、縮小処理を行なう。
Based on the data stored in the
E”20=(E40’+E50’+E60’)/3
E”21=(E41’+E51’+E61’)/3 …(12)
E " 20 = (E 40 '+ E 50 ' + E 60 ') / 3
E " 21 = (E 41 '+ E 51 ' + E 61 ') / 3 (12)
このようにして、ブロックEの3ライン目の縮小データが得られると、副走査変倍回路12は、主走査変倍回路11からブロックEの8ライン目の処理後のデータE’70 〜E’7X(Xは変倍率に応じて変化する)を取得し、ラインメモリ22に書き込む。
When the reduced data of the third line of the block E is obtained in this way, the
ブロックEの9ライン目の処理後のデータは存在しないので、3ライン分のデータの加算は行なえない。そこで、ラインメモリ22内に格納されている1ライン分のデータ、この例では、E’70およびE’71を、外部記憶装置1に補助データとして書き込む。
以下、ブロックF、G、Hの順に、処理を行なう。
Since there is no data after processing of the 9th line of block E, the data for 3 lines cannot be added. Therefore, the data for one line stored in the
Thereafter, processing is performed in the order of blocks F, G, and H.
〔4〕一般的な変倍について [4] General scaling
上記〔2〕の拡大処理では整数倍の拡大処理について説明し、上記〔3〕の縮小処理では整数分の1の縮小処理について説明したが、整数倍または整数分の1の変倍以外の変倍率に対しても本願発明を適用することができる。 The enlargement process of [2] described the enlargement process of integer multiples, and the reduction process of [3] described the reduction process of 1 / integer. The present invention can also be applied to the magnification.
つまり、変倍率が整数倍または整数分の1の変倍以外である場合には、上述したような整数倍の拡大処理と、上述したような整数分の1の縮小処理とを組み合わせることにより、変倍処理を行う。 In other words, when the scaling factor is other than an integer multiple or a fraction of an integer, by combining an integer multiple enlargement process as described above and an integral fraction reduction process as described above, Perform scaling processing.
例えば、変倍率が99%である場合には、99倍の拡大処理を行なった後、1/100の縮小処理を行なえばよい。 For example, when the scaling factor is 99%, the enlargement process of 99 times is performed, and then the reduction process of 1/100 is performed.
上記実施例によれば、ブロック単位で変倍処理を行なっているので、ライメモリの容量を削減できる。また、処理対象ブロックより処理順序が1つ前のブロックの元データまたは拡大処理の中間データのうち、処理対象ブロックに対する変倍処理に必要なデータをラインメモリまたは外部記憶装置に保存しておき、処理対象ブロックに対する変倍処理を行なう際にそのデータを利用しているので、変倍処理後において隣接するブロック間の境界に筋が現れるのを防止できる。 According to the above embodiment, since the scaling process is performed in units of blocks, the capacity of the live memory can be reduced. Further, among the original data of the block one processing order before the processing target block or the intermediate data of the enlargement processing, the data necessary for the scaling process for the processing target block is stored in the line memory or the external storage device, Since the data is used when the scaling process is performed on the processing target block, it is possible to prevent a streak from appearing at the boundary between adjacent blocks after the scaling process.
上記実施例では、主走査方向(水平方向)の変倍処理結果を用いて、副走査方向(垂直方向)の変倍処理を行なっているが、副走査方向(垂直方向)の変倍処理結果を用いて、主走査方向(水平方向)の変倍処理を行なうようにしてもよい。 In the above embodiment, the scaling process result in the sub-scanning direction (vertical direction) is performed using the scaling process result in the main scanning direction (horizontal direction), but the scaling process result in the sub-scanning direction (vertical direction). May be used to perform scaling processing in the main scanning direction (horizontal direction).
1 外部記憶装置
2 画像処理回路
11 主走査変倍回路
12 副走査変倍回路
21、22、23 ラインメモリ
DESCRIPTION OF
Claims (1)
第1方向の変倍処理を行なう際には、処理対象ブロックに第1方向に隣合うブロックのうち、処理対象ブロックより処理順序が1つ前のブロックの元データまたはそれらのデータから得られるデータのうち、処理対象ブロックに対する第1方向の変倍処理に必要なデータを第1の記憶手段に保存しておき、第1の記憶手段に保存したデータを利用して、処理対象ブロックに対する第1方向の変倍処理を行ない、
第2方向の変倍処理を行なう際には、処理対象ブロックに第2方向に隣合うブロックのうち、処理対象ブロックより処理順序が1つ前のブロックの第1方向の変倍処理結果データまたはそれらのデータから得られるデータのうち、処理対象ブロックに対する第2方向の変倍処理に必要なデータを第2の記憶手段に保存しておき、第2の記憶手段に保存したデータを利用して、処理対象ブロックに対する第2方向の変倍処理を行なうことを特徴とする画像変倍方法。 An image scaling method that divides an image into a plurality of blocks and performs a scaling process in units of blocks, and uses a scaling process result in one of the horizontal direction and the vertical direction (first direction). In the image scaling method for performing scaling processing in the other direction (second direction),
When performing the scaling process in the first direction, among the blocks adjacent to the processing target block in the first direction, the original data of the block whose processing order is one before the processing target block or the data obtained from those data Among them, data necessary for the scaling process in the first direction for the processing target block is stored in the first storage unit, and the first data for the processing target block is stored using the data stored in the first storage unit. Perform direction scaling,
When performing the scaling process in the second direction, among the blocks adjacent to the processing target block in the second direction, the scaling process result data in the first direction of the block whose processing order is one before the processing target block or Of the data obtained from these data, data necessary for the scaling process in the second direction for the processing target block is stored in the second storage unit, and the data stored in the second storage unit is used. An image scaling method characterized by performing a scaling process in the second direction on the processing target block.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005299081A JP2007110419A (en) | 2005-10-13 | 2005-10-13 | Image magnification method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005299081A JP2007110419A (en) | 2005-10-13 | 2005-10-13 | Image magnification method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007110419A true JP2007110419A (en) | 2007-04-26 |
Family
ID=38035916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005299081A Pending JP2007110419A (en) | 2005-10-13 | 2005-10-13 | Image magnification method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007110419A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009217584A (en) * | 2008-03-11 | 2009-09-24 | Konica Minolta Business Technologies Inc | Image processing device |
JP2012518946A (en) * | 2009-03-05 | 2012-08-16 | ソニー株式会社 | Method and apparatus for enhancing high resolution video content |
JP2012195743A (en) * | 2011-03-16 | 2012-10-11 | Seiko Epson Corp | Image processing device |
-
2005
- 2005-10-13 JP JP2005299081A patent/JP2007110419A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009217584A (en) * | 2008-03-11 | 2009-09-24 | Konica Minolta Business Technologies Inc | Image processing device |
JP2012518946A (en) * | 2009-03-05 | 2012-08-16 | ソニー株式会社 | Method and apparatus for enhancing high resolution video content |
JP2012195743A (en) * | 2011-03-16 | 2012-10-11 | Seiko Epson Corp | Image processing device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007110419A (en) | Image magnification method | |
US20110032262A1 (en) | Semiconductor integrated circuit for displaying image | |
JP4380740B2 (en) | Image processing device | |
JP3022405B2 (en) | Image memory controller | |
JP2010081024A (en) | Device for interpolating image | |
US20090189919A1 (en) | Image scaling method | |
JP4380741B2 (en) | Image processing device | |
JP6524644B2 (en) | Image processing apparatus and electronic device | |
CN112119631A (en) | Monitoring image generation method, device, equipment and system, and image processing equipment | |
US20070040842A1 (en) | Buffer memory system and method | |
KR20080076053A (en) | Apparatus for osd size conversion | |
JP2016058832A (en) | Image processing system, control method thereof, and program | |
JP2014131262A (en) | Image processing apparatus and method, and image forming apparatus | |
JP5003739B2 (en) | Image display device and image display method | |
JP4316476B2 (en) | Image processing apparatus and image forming apparatus | |
JP4390822B2 (en) | Image processing device | |
JP4375159B2 (en) | Image processing device | |
JP2016171422A (en) | Image processing device and image processing method | |
JP6249234B2 (en) | Image processing device | |
JP2008217515A (en) | Image data access method | |
JP2009038782A (en) | Image processor, image processing method, program for image processing method, and recording medium recording program for image processing method | |
JP2010011485A (en) | Image processing unit | |
JP2008027077A (en) | Memory management device, image processor, and image forming device | |
JP2005308934A (en) | Image processing method | |
JP2010087804A (en) | Image processing apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070607 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080804 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080814 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081204 |