Method and apparatus for rotating an image
First Claim
1. A method of rotating a reproduced video image by an apparatus including a central processing unit (cpu), a main memory, an image storing memory for storing image data in rows, a plurality of input latches, a plurality of output latches, a data conversion circuit, an exchange circuit, a row order change circuit and a selection circuit with said plurality of input latches connected to said cpu, said main memory and said image storing memory, said data conversion circuit connected between a predetermined number of input latches and output latches, said exchange circuit and said row order change circuit connected between an input latch and an output latch, and said selection circuit connected to said predetermined number of output latches connected to said data conversion circuit, comprising the steps of:
- calculating a conversion mode number M with respect to image data of N rows×
N columns by referring to an equation expressed as;
M=[log2 N] where N is a power of 2 and when a numeral within a bracket "[ ]" is equal to an integer, the bracket denotes the integer; and
when a numeral within the bracket contains a fraction, the bracket denotes an integer which is obtained by counting the fraction as one, said step of calculating a conversion including a step of reading out the N rows of image data from the image storing memory;
numbering the N rows by 0˜
N-1 and transferring the rows to the plurality of input latches;
calculating rows having numbers A and B for each of conversion modes L (=1˜
M) by referring to equations expressed as;
space="preserve" listing-type="equation">A=k*2.sup.L ˜
k*2.sup.L +2.sup.L-1 -1
space="preserve" listing-type="equation">B=A+2.sup.L-1
space="preserve" listing-type="equation">k=0˜
(N/2.sup.L)-1where a character "*" denotes an operator of product;
representing row bit arrangements of the rows having the numbers A and B by A(j) and B(j) respectively;
converting the row bit arrangements A(j) and B(j) into bit arrangements A'"'"'(j) and B'"'"'(j) with said data conversion circuit by referring to equations expressed as;
##EQU7## latching the row data obtained by the step of converting in said plurality of output latches;
writing the latched row data into said image storing memory via said selection circuit;
varying L from 1 to M and thereby deriving conversion image data of N rows×
N columns;
representing bit arrangements of rows of the conversion image data by E(j); and
converting the bit arrangements of the rows of the conversion image data by referring to equations expressed as;
space="preserve" listing-type="equation">F(j)=E(N-j-1), j=0˜
N-1where F(j) denotes rows composing 90-degree clockwise-rotated image data of N rows×
N columns.
0 Assignments
0 Petitions
Accused Products
Abstract
In a method and an an apparatus for rotating a source image about a reference point on a reference coordinate axis through an arbitrary angle θ to obtain a destination image, the source image is represented by a group of reference blocks. Each of the reference blocks has N×N pixels and is composed of a square having a side parallel to an axis which is rotated relative to the reference coordinate axis by an angle of ×θ. One of vertexes of each of the reference blocks is defined as a rotation center vertex. Each of the reference blocks is rotated about the rotation center vertex by an angle of θ to obtain a rotation block. Calculations are made on shift quantities ΔY and ΔX of the rotation center vertex of each of the rotation blocks. The shift quantities ΔY and ΔX result from a rotation of the rotation center vertex about the reference point through an angle of θ. The shift quantity ΔY is defined as extending along the reference coordinate axis, and the shift quantity ΔX is defined as extending perpendicular to the reference coordinate axis. The rotation block is translated in a direction of the reference coordinate axis by the shift quantity ΔY, and is translated in a direction perpendicular to the reference coordinate axis by the shift quantity ΔX to obtain the destination image.
24 Citations
11 Claims
-
1. A method of rotating a reproduced video image by an apparatus including a central processing unit (cpu), a main memory, an image storing memory for storing image data in rows, a plurality of input latches, a plurality of output latches, a data conversion circuit, an exchange circuit, a row order change circuit and a selection circuit with said plurality of input latches connected to said cpu, said main memory and said image storing memory, said data conversion circuit connected between a predetermined number of input latches and output latches, said exchange circuit and said row order change circuit connected between an input latch and an output latch, and said selection circuit connected to said predetermined number of output latches connected to said data conversion circuit, comprising the steps of:
-
calculating a conversion mode number M with respect to image data of N rows×
N columns by referring to an equation expressed as;
M=[log2 N] where N is a power of 2 and when a numeral within a bracket "[ ]" is equal to an integer, the bracket denotes the integer; and
when a numeral within the bracket contains a fraction, the bracket denotes an integer which is obtained by counting the fraction as one, said step of calculating a conversion including a step of reading out the N rows of image data from the image storing memory;numbering the N rows by 0˜
N-1 and transferring the rows to the plurality of input latches;calculating rows having numbers A and B for each of conversion modes L (=1˜
M) by referring to equations expressed as;
space="preserve" listing-type="equation">A=k*2.sup.L ˜
k*2.sup.L +2.sup.L-1 -1
space="preserve" listing-type="equation">B=A+2.sup.L-1
space="preserve" listing-type="equation">k=0˜
(N/2.sup.L)-1where a character "*" denotes an operator of product; representing row bit arrangements of the rows having the numbers A and B by A(j) and B(j) respectively; converting the row bit arrangements A(j) and B(j) into bit arrangements A'"'"'(j) and B'"'"'(j) with said data conversion circuit by referring to equations expressed as;
##EQU7## latching the row data obtained by the step of converting in said plurality of output latches;writing the latched row data into said image storing memory via said selection circuit; varying L from 1 to M and thereby deriving conversion image data of N rows×
N columns;representing bit arrangements of rows of the conversion image data by E(j); and converting the bit arrangements of the rows of the conversion image data by referring to equations expressed as;
space="preserve" listing-type="equation">F(j)=E(N-j-1), j=0˜
N-1where F(j) denotes rows composing 90-degree clockwise-rotated image data of N rows×
N columns.
-
-
2. A method of rotating a reproduced video image by an apparatus including a central processing unit (cpu), a main memory, an image storing memory for storing image data in rows, a plurality of input latches, a plurality of output latches, a data conversion circuit, an exchange circuit, a row order change circuit and a selection circuit with said plurality of input latches connected to said cpu, said main memory and said image storing memory, said data conversion circuit connected between a predetermined number of input latches and output latches, said exchange circuit and said row order change circuit connected between an input latch and an output latch, and said selection circuit connected to said predetermined number of output latches connected to said data conversion circuit, comprising the steps of:
-
calculating a conversion mode number M with respect to image data of N rows×
N columns by referring to an equation expressed as;
M=[log2 N] where when a numeral within a bracket "[ ]" is equal to an integer, the bracket denotes the integer; and
when a numeral within the bracket contains a fraction, the bracket denotes an integer which is obtained by counting the fraction as one, said step of calculating a conversion including a step of reading out the N rows of image data from the image storing memory;numbering the N rows by 0˜
N-1 and transferring the rows to the plurality of input latches;calculating rows having numbers A and B for each of conversion modes L (=1˜
M) by referring to equations expressed as;
space="preserve" listing-type="equation">A=k*2.sup.L ˜
k*2.sup.L +2.sup.L-1 -1
space="preserve" listing-type="equation">B=A+2.sup.L-1
space="preserve" listing-type="equation">k=0˜
(N/2.sup.L)-1where a character "*" denotes an operator of product; representing row bit arrangements of the rows having the number A and B by A(j) and B(j) respectively; converting the row bit arrangements A(j) and B(j) into bit arrangements A'"'"'(j) and B'"'"'(j) by referring to equations expressed as;
##EQU8## latching the row data obtained by the step of converting in said plurality of output latches;writing the latched row data into said image storing memory via said selection circuit; varying L from 1 to M and thereby deriving conversion image data of N rows×
N columns;representing an "i" row of the conversion image data by E(i,j); and changing the rows of the conversion image data by referring to equations expressed as;
space="preserve" listing-type="equation">E'"'"'(i,j)=E(N-i-1,j), i=0˜
N-1where E'"'"'(i,j) denotes rows composing 90-degree counterclockwise-rotated image data of N rows×
N columns.
-
-
3. An apparatus for rotating a reproduced video image through 90 degrees, comprising:
-
a central processing unit (CPU); a main memory; an image storing memory; a plurality of input latches; a plurality of output latches; a data conversion circuit; an exchange circuit; a row order change circuit; and a selection circuit, said plurality of input latches connected to said CPU, said main memory and said image storing memory, said data conversion circuit connected between a predetermined number of input latches and output latches, said exchange circuit and said row order change circuit connected between an input latch and an output latch, and said selection circuit connected to said predetermined number of output latches connected to said data conversion circuit;
whereinsaid CPU includes means for calculating a conversion mode number M with respect to image data of N rows×
N columns by referring to an equation expressed as;
M=[log2 N] where when a numeral within a bracket "[ ]" is equal to an integer, the bracket denotes the integer; and
when a numeral within the bracket contains a fraction, the bracket denotes an integer which is obtained by counting the fraction as one,means for numbering the N rows by 0˜
N-1, andmeans for calculating rows having numbers A and B for each of conversion modes L (=1˜
M) by referring to equations expressed as;
space="preserve" listing-type="equation">A=k*2.sup.L ˜
k*2.sup.L +2.sup.L-1 -1
space="preserve" listing-type="equation">B=A+2.sup.L-1
space="preserve" listing-type="equation">k=0˜
(N/2.sup.L)-1where a character "*" denotes an operator of product; said data conversion circuit includes means for representing row bit arrangements of the rows having the numbers A and B by A(j) and B(j) respectively; means for converting the row bit arrangements A(j) and B(j) into bit arrangements A'"'"'(j) and B'"'"'(j) by referring to equations expressed as;
##EQU9## said CPU varying L from 1 to M and thereby deriving conversion image data of N rows×
N columns;said exchange circuit includes means for representing bit arrangements of rows of the conversion image data by E(j), and means for converting the bit arrangements of the rows of the conversion image data by referring to equations expressed as;
space="preserve" listing-type="equation">F(j)=E(N-j-1), j=0˜
N-1where F(j) denotes rows composing 90-degree clockwise-rotated image data of N rows×
N columns; andsaid row order change circuit includes means for representing an "i" row of the conversion image data by E(i,j), and means for changing the rows of the conversion image data by referring to equations expressed as;
space="preserve" listing-type="equation">E'"'"'(i,j)=E(N-i-1,j), i=0˜
N-1where E'"'"'(i,j) denotes rows composing 90-degree counterclockwise-rotated image data of N rows×
N columns.
-
-
4. A method of rotating a reproduced video image by an apparatus including a central processing unit (cpu), a main memory, an image storing memory, a plurality of input latches, a plurality of output latches, a data conversion circuit, an exchange circuit, a row order change circuit and a selection circuit with said plurality of input latches connected to said cpu, said main memory and said image storing memory, said data conversion circuit connected between a predetermined number of input latches and output latches, said exchange circuit and said row order change circuit connected between an input latch and an output latch, and said selection circuit connected to said predetermined number of output latches connected to said data conversion circuit, comprising the steps of:
-
representing the source image by a group of reference blocks, wherein each of the reference blocks has N×
N pixels and is composed of a square having a side parallel to an axis which is rotated relative to the reference coordinate axis by an angle of -θ
;defining one of vertexes of each of the reference blocks as a rotation center vertex; rotating each of the reference blocks about the rotation center vertex by an angle of θ
to obtain a rotation block;calculating shift quantities Δ
Y and Δ
X of the rotation center vertex of each of the rotation blocks, wherein the shift quantities Δ
Y and Δ
X result from a rotation of the rotation center vertex about the reference point through an angle of θ
, and wherein the shift quantity Δ
Y is defined as extending along the reference coordinate axis and the shift quantity Δ
X is defined as extending perpendicular to the reference coordinate axis; andtranslating the rotation block in a direction of the reference coordinate axis by the shift quantity Δ
Y and translating the rotation block in a direction perpendicular to the reference coordinate axis by the shift quantity Δ
X o obtain the destination image. - View Dependent Claims (5, 6, 7)
-
-
8. An apparatus for rotating a source video image about a reference point on a reference coordinate axis through an arbitrary angle θ
- to obtain a destination video image, comprising;
means for representing the source image by a group of reference blocks, wherein each of the reference blocks has N×
N pixels and is composed of a square having a side parallel to an axis which is rotated relative to the reference coordinate axis by an angle of -θ
;means for defining one of vertexes of each of the reference blocks as a rotation center vertex; means for rotating each of the reference blocks about the rotation center vertex by an angle of θ
to obtain a rotation block;means for calculating shift quantities Δ
Y and Δ
X of the rotation center vertex of each of the rotation blocks, wherein the shift quantities Δ
Y and Δ
X result from a rotation of the rotation center vertex about the reference point through an angle of θ
, and wherein the shift quantity Δ
Y is defined as extending along the reference coordinate axis and the shift quantity Δ
X is defined as extending perpendicular to the reference coordinate axis; andmeans for translating the rotation block in a direction of the reference coordinate axis by the shift quantity Δ
Y and translating the rotation block in a direction perpendicular to the reference coordinate axis by the shift quantity Δ
X to obtain the destination image. - View Dependent Claims (9, 10, 11)
- to obtain a destination video image, comprising;
Specification