CN101061703A - Embedded device with image rotation - Google Patents

Embedded device with image rotation Download PDF

Info

Publication number
CN101061703A
CN101061703A CN 200580039276 CN200580039276A CN101061703A CN 101061703 A CN101061703 A CN 101061703A CN 200580039276 CN200580039276 CN 200580039276 CN 200580039276 A CN200580039276 A CN 200580039276A CN 101061703 A CN101061703 A CN 101061703A
Authority
CN
China
Prior art keywords
rotation
anglec
image
mapping
integer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN 200580039276
Other languages
Chinese (zh)
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN101061703A publication Critical patent/CN101061703A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)

Abstract

One embodiment of an embedded device comprises an angle of rotation defining mechanism and a rotation mechanism. The angle of rotation defining mechanism is adapted to define an arbitrary angle of rotation for an image. The rotation mechanism is adapted to apply a rotation transformation angle to the image using the arbitrary and using only integer arithmetic such that pixels within the image are mapped to rotated positions.

Description

The embedded equipment of band image rotation
The cross reference of related application
The present invention advocates the priority based on the 60/614th, No. 583 U.S. Provisional Application case of application on September 29th, 2004.
Technical field
Each side of the present invention relates to digital image manipulation.Others relate to the instrument that is used at the embedded equipment rotation number word image of for example mobile phone.
Background technology
Digital image manipulation can relate to many dissimilar modification and the conversion that digital picture is carried out.The example of digital image manipulation techniques comprises rotation, amplification, contraction, distortion, rim detection and filtration.
In some applications, for example Xuan Zhuan image manipulation operation can help the user to understand image from a certain visual angle, maybe can be with image orientation to be used for special-purpose.In other is used, but combine digital manipulated image (comprising rotation) is to be used for entertainment purposes.Digital image manipulation techniques also is used for industry, be used for multiple application, described application (for example comprises pattern identification, feature extraction, in video monitor and figure action are analyzed), image recovery, figure image intensifying, at the distortion/distortion and the biomedical image processing of computer animation sequence.
Multiple digital image manipulation techniques is commercially available with the form of photo editing software.For example the embedded equipment of digital camera and mobile phone also has digital image manipulation functionality.
Summary of the invention
An a kind of embodiment of embedded equipment comprises the anglec of rotation and defines mechanism and rotating mechanism.The described anglec of rotation defines any anglec of rotation that mechanism is suitable for defining image.Described rotating mechanism is suitable for using described arbitrarily angled and only use integer arithmetic that the rotation transformation angle is applied to described image, makes the position of the pixel mapping in the described image to rotation.
Description of drawings
Will be referring to the following graphic embodiment that describes, wherein in all were graphic, same numeral was represented identical items, and in graphic:
Fig. 1 is the block diagram that can carry out the exemplary embedded equipment of image rotating conversion;
Fig. 2 is the rotation schematic diagram of image before, its explanation coordinate system and anglec of rotation;
Fig. 3 is the figure of coordinate plane, and its explanation is mapped to 0 and 90 angles between spending in the anglec of rotation that will import arbitrarily under first situation;
Fig. 4 is the figure of coordinate plane, and its explanation is mapped to 0 and 90 angles between spending in the anglec of rotation that will import arbitrarily under second situation;
Fig. 5 is the figure of coordinate plane, and its explanation is mapped to 0 and 90 angles between spending in the anglec of rotation that will import arbitrarily under the 3rd situation;
Fig. 6 is the figure of coordinate plane, and its explanation is mapped to 0 and 90 angles between spending in the anglec of rotation that will import arbitrarily under the 4th situation;
Fig. 7 can use integer arithmetic to carry out the block diagram of the exemplary embedded equipment of rotation transformation;
Fig. 8 is a flow chart of carrying out the exemplary method of rotation transformation; With
Fig. 9 is the explanation to the mobile phone with the digital camera that is suitable for carrying out rotation.
Embodiment
Fig. 1 is the block diagram of exemplary embedded equipment 10, and in the illustrated embodiment, described exemplary embedded equipment 10 comprises wireless mobile communication device.Illustrated embedded equipment 10 comprises system bus 14; Device memory 16 (it is the main storage in the illustrated device 10), its by system bus 14 be connected to embedded equipment 10 other parts and can be by described other parts access; With hardware entities 18, it is connected to system bus 14.Some entity at least in the hardware entities 18 is carried out the action that relates to access and use main storage 16.Hardware entities 18 can comprise microprocessor, ASIC and other hardware.
Graphic entity 20 is connected to system bus 14.Graphic entity 20 can comprise big integrated system () core or part for example, system on chip (SoC), or it can comprise for example graphic chips of graphics accelerator.In the illustrated embodiment, graphic entity 20 comprises graphics pipeline (not shown), figure clock 23, buffer 22 and bus interface 19, and described bus interface 19 usefulness are so that graphic entity 20 is situated between with system bus 14 connects.
Buffer 22 is preserved the data of being used by graphic entity 20 in each processes pixel.Buffer 22 provides this locality storage of pixel-related data (for example, coming the Pixel Information of the buffer (not shown) in the autonomous memory 16).
In the illustrated embodiment, graphic entity 20 comprises that also angle determines mechanism 24 and rotation transformation mechanism 26.Angle determines that mechanism 24 is coupled to the user interface 28 of device 10.Rotating mechanism 26 uses by angle determines that the anglec of rotation that mechanism 24 provides carries out rotation transformation to image.Although graphic entity 20 is carried out mapping function in the illustrated embodiment, in other embodiments, those functions can be carried out by other hardware 18.
Fig. 2 is the illustrative of image 50.Image 50 has width W and height H.In most of digital image manipulation methods, be that described width W and height H are expressed by unit with the pixel, but can use other linear module.The height H of image 50 is extended along the y axle 52 among Fig. 2, and the width W of image is extended along x axle 54.In Fig. 2, as shown in the figure, the width coordinate of image 50 extends to W-1 from 0, and height coordinate extends to H-1 from 0.Image 50 also has pivot, as coordinate (x 0, y 0) the place indication.
Can create image 50 in many ways, described mode comprises that digital photography, film pick-up carry out digitlization subsequently, carry out digitlization and pure digi-tal illustrates/presents from non-photographic source.
As indicated among Fig. 2, in the illustrated embodiment, will make image 50 rotate any anglec of rotation α around its center.Described angle [alpha] can be any angle.In other embodiments, can make image 50 around being not other some rotation for the geometric center of image.
By using one group of transforming function transformation function that each pixel mapping of image is come image rotating 50 to new position of rotation.For rotation, represent described transforming function transformation function by following equation (1) and (2):
x out=x o+(x in-x o)·cosθ-(y in-y o)·sinθ (1)
y out=y o+(x in-x o)·sinθ+(y in-y o)·cosθ (2)
X wherein InAnd y InBe the input pixel coordinate, x OutAnd y OutBe the output pixel coordinate, θ is to be the anglec of rotation that unit expresses with the radian, and x 0And y 0Be the coordinate of pivot, in this case, described pivot is the center of image 50.
The also available matrix form in equation (1) and (2) is expressed as:
x out - x o y out - y o = cos θ - sin θ sin θ cos θ · x in - x o y in - y o - - - ( 3 )
Shown in equation (3), can come the position of the output pixel of direct computed image 50 by carrying out suitable matrix multiplication.Yet as shown in the figure, the sine and the cosine value of the anglec of rotation used in described calculating.In certain embodiments, can use (for example) look-up table (LUT) to store and retrieve sine and cosine value.Yet having in order to the sine of the abundant number of the anglec of rotation of handling any appointment and the LUT of cosine value to need a large amount of memories or memory space.On embedded equipment, may not obtain or do not need big quantity space.
Therefore, in the illustrated embodiment, calculate the sine and cosine functions value of the anglec of rotation.The first task of carrying out twiddle operation is that the required anglec of rotation (angle [alpha]) that will import is mapped to the anglec of rotation (angle beta) of scope between 0 degree and 90 degree.Because this has utilized the periodicity of sine and cosine functions, simplified calculating.
In this embodiment, when angle [alpha] is converted to scope 0 and 90 the degree between angle beta the time to consider four kinds of situations.Fig. 3 illustrates the coordinate plane of first situation of displaying, and wherein angle [alpha] is between 0 and 90 degree.Fig. 4 illustrates the coordinate plane of second situation of displaying, and wherein angle [alpha] is between 90 and 180 degree.Under the sort of situation, angle beta is set equal to 180 and deducts α.Fig. 5 illustrates the coordinate plane of the 3rd situation of displaying, and wherein angle [alpha] is between 180 and 270 degree.Under the sort of situation, angle beta is set equal to α and deducts 180.Under the 4th situation shown in the coordinate plane of Fig. 6, angle beta is set equal to 360 and deducts α.If angle [alpha] will repeatedly deduct 360 so greater than 360 degree from angle [alpha], till in the scope of α between 0 and 360 degree.So the angle of the multiple concerning 360, image rotating is equal to original image.
Be mapped to angle beta by importing angle [alpha], sinusoidal and cosine relation becomes:
If 0 °≤α<90 °, so β=α and sin α = sin β cos α = cos β - - - ( 4 )
If 90 °≤α<180 °, so β=180 °-α and
Figure A20058003927600102
If 180 °≤α<270 °, so β=α-180 ° and
Figure A20058003927600103
If 270 °≤α<360 °, so β=360 °-α and
In the illustrated embodiment, use Taylor series (Taylor series) to come near sinusoidal and cosine function value.For SIN function, taylor series expansion is:
sin θ = θ - 1 3 ! θ 3 + 1 5 ! θ 5 - 1 7 ! θ 7 + · · · - - - ( 8 ) ,
And for cosine function, taylor series expansion is:
cos θ = 1 - 1 2 ! θ 2 + 1 4 ! θ 4 - 1 6 ! θ 6 + · · · - - - ( 9 ) ,
Wherein θ is the angle beta that is converted to Rad.As in any situation of using Taylor series, when adding more, approximate meeting becomes more accurate.Yet the Xiang Yue of employed Taylor series is many, and the amount of calculation of process is just big more.In addition, the continuous items of Taylor series are added the amount of precision that constantly diminishes to final result.Therefore, the item number that is used to calculate the Taylor series of power function will depend on required precision and available computing capability.
The amount of precision of sinusoidal and cosine value and the item number that is used for the Taylor series of application-specific accordingly can change.In some display application, may not need very big precision, and in graphical analysis or other performance application, may need big accuracy of measurement.A kind of determine to use what method be to set a precision threshold, for example, approximate sine and cosine value must actual value 5% in, and then try to achieve the item number of the Taylor series of each function that produces required levels of precision.In the illustrated embodiment, different Taylor series item numbers are used for different angles.That is to say, use sine and cosine value among the illustrated embodiment of following equation (10) and (11) calculating:
Figure A20058003927600111
As shown in equation (10) and (11), when the angle beta increase is spent above 40, the item number that is used near sinusoidal and cosine function is increased to four from two, because find in the illustrated embodiment, for angle less than 40 degree, two Taylor series items are enough in the precision with approximation to function to 5%, but the precision of two progression reduces to surpass 40 degree.Other embodiment can use different threshold values.
Can implement illustrated image rotating method to have upward operation of the computing system of limited capability (for example, integer microprocessor).Integer microprocessor generally is used for mobile device, for example mobile phone, the mobile phone with digital camera and other portable computing.Though integer microprocessor generally includes floating-point (that is, the decimal system) mathematics emulator, use described simulated program may consume more time, and amount of calculation is bigger.Can use integer arithmetic to implement conversion.
When the conversion equation of the Taylor series approximation that uses equation (10) and (11) embodiment such as equation (1) and (2) on integer microprocessor during with the calculating sine and cosine functions, consider two factors: only the integer arithmetic of use with precision calculated those equatioies; With computing is sorted, overflow (integer overflow) (that is, the numeral of wherein being calculated surpasses situation of the accessible maximum integer of microprocessor) to avoid integer.
Fig. 7 is suitable for using integer arithmetic to carry out the block diagram of the exemplary embedded equipment 70 of conversion mentioned above.Embedded equipment 70 comprises: main storage 16, and it is connected to system bus 14; Graphic entity 76, it is connected to system bus 14 by interface 19; With integer microprocessor 71, it is connected to system bus 14.Embedded equipment 70 comprises that also the twiddle operation that is connected to microprocessor promotes program (rotation operations facilitator) 72.Integer operations facilitator 74 is included in twiddle operation and promotes in the program 72.
Twiddle operation promotes program 72 to use the sine and cosine functions that is similar to calculation equation (1) and (2) of equation (10) and (11), and carries out other twiddle operation.Integer operations facilitator 74 is guaranteed to use integer arithmetic to carry out the calculating that is necessary with the calculating order of avoiding integer to overflow.Hereinafter the operation of assembly 72,74 and performed calculating will be described in more detail.The advantage of for example installing 70 embedded equipment is that do not use the floating-point simulated program, this makes conversion more effective on integer microprocessor 71.Can be in hardware, in software, in a certain combination of hardware and software, or promote program 72 and integer operations facilitator 74 with any embodied in other twiddle operation with embedded equipment 70 compatibilities.
Equation (10) and (11) are not strict contains integral ring, but the Xiang Kejing of those equatioies conversion makes that can use integer arithmetic to carry out calculates.For instance, can with
Figure A20058003927600121
At first be calculated as real number, then multiply by 2 10=1024, and be rounded to integer at last.Therefore,
Figure A20058003927600122
Can be converted into 1 3 ! · 2 10 = ( 0.16667 ) · 1024 = 171 . Can use
Figure A20058003927600124
The algorithm computing of this new integer representation form in the middle of calculating.After all intermediate operations are all finished, can pass through divided by 2 10Obtain final result.This technology has kept precision between intermediate integer algorithm operational stage.Similarly, can be in the same manner with for example
Figure A20058003927600125
Other non-integer item be converted to integer, obtain accurate result to use pure integer arithmetic.In general, the bigger power of use two is kept the significant digits of reasonable number, and this helps to keep precision.Yet less if desired precision can be used as multiplier with two less power so.In addition,, use two power to allow to use shift operation faster although the power of other integer can be used as multiplier, rather than relatively slow multiplying.
As an embodiment, following code description is implemented described spinning solution on 32 integer microprocessor:
    uint32 w,h,beta,radian;    int8 sinSign,cosSign;    int32 xin,yin,xout,yout,xo,yo,sintheta,costheta;    xo=w>>1;    yo=h>>1;    sinSign=1;    cosSign=1;    /*angle is an int32 input parameter indicating the rotation angle*/    while(angle<0){        angle+=360;    }    angle%=360;    /*map angle to range[0,90]degrees*/    if(angle<=90){          beta=angle;    }else if(angle<=180){          beta=180-angle;          cosSign=-1;    }else if(angle<=270){        beta=angle-180;        sinSign=-1;        cosSign=-1;        
  }else{       beta=360-angle;       sinSign=-1;  }  /*convert angle to radians*2^9*/  radian=beta*9;  /*calculate sin and cos*/  if(radian<=360){       /*beta<=40 degrees*/       sintheta=((radian*(262144-(radian*radian)/6))>>8)*sinSign;       costheta=(524288-radian*radian)*cosSign;  }else{       if(radian==810){           /*beta=90 degrees*/           sintheta=524288*sinSign;           costheta=0;         }else{            /*40<beta<90*/            sintheta=(((radian*(262144-(radian*radian)/6))>>8)+                      (((((((((radian*radian*radian)/120)>>3)*                      radian)>>10)*radian)/42)*((11010048-                      radian*radian)>>10))>>21))*sinSign;            costheta=((524288-radian*radian)+                      (((((((radian*radian*radian)/24)>>3)                      *radian/30)>>10)*((7864320-                      radian*radian)>>10))>>12))*cosSign;         }  }  /*for each output pixel,map to the corresponding input pixel*/  xin=xo+(((xout-xo)*costheta+(yout-yo)*sintheta)>>19);  yin=yo+(((xo-xout)*sintheta+(yout-yo)*costheta)>>19);
In above-mentioned code, variable w is a picture traverse, and variable h is a picture altitude, and angle is used as 32 stored anglecs of rotation of integer.Above-mentioned code snippet is described with the C programming language, but available C++, Java, J++, assembler language, any other programming language that maybe can carry out described order is implemented other embodiment of spinning solution described herein.In order to promote real-time performance, in an illustrated embodiment, for example, do not use integer greater than 32 potential energy power of microprocessor.During make calculating, order of operation in the above code do not have the integer will be greater than 32.Although implement at 32-bit microprocessor herein, also can (for example, ASIC) go up and implement these spinning solutions at other microprocessor (comprising 64 and 128 bit microprocessors) and can carrying out any other calculation element of described calculating.Although be described according to integer microprocessor, twiddle operation as herein described also can be carried out on the microprocessor that can carry out floating-point operation.
In the flow chart of Fig. 8, show the more generally method 100 of carrying out rotation transformation.Method 100 begins to handle input picture at action 102 places, and continues action 104.At action 104 places, method 100 obtains anglec of rotation α.The mode that obtains anglec of rotation α depends on type of user interface available on the platform of manner of execution 100.In certain embodiments, the user can use digital thump to import angle.In other embodiments, the user can use a certain combination of non-numeric key to indicate the anglec of rotation.Perhaps, if method 100 is implemented as the method for many images being carried out identical rotation transformation, angle [alpha] can be coded in the instruction that is used for carrying out described method so, in the case, action 104 can comprise retrieves α from storage device.In case obtained angle [alpha], method 100 just continues action 106.
In action 106, the angle [alpha] angle beta of scope between 0 and 90 degree that be mapped to as indicated above.In case execution 106, method 100 just continues S108, uses suitable Taylor series approximation to calculate the sine and cosine functions of angle beta in S108.Behind the sine and cosine functions that has calculated angle, method 100 continues action 110, selects the pixel in the input picture in action 110.In case selected pixel, just carry out action 112, in action 112, calculate the position of output pixel.The control of method 100 then proceeds to action 114, determines whether to need to handle extra input pixel in action 114.Handle extra input pixel (114: be) if desired, the processing of the input of the control return action 110 of method 100, and continuation so pixel.(114: not), the control of method 100 proceeds to action 116, and method stops and returns in action 116 when no longer including pixel and still need conversion.After method 100 is finished and returned, can carry out for the final useful any extra task of image rotating of (for example) output.
Fig. 9 explanation is presented at the image on the screen of mobile phone after the geometric center around image is rotated counterclockwise.The pixel region through changing image in the original size outside of the image of Fig. 9 is cut off, and the not use zone of image has black pixel value.In other embodiments, can readjust the size of image, make each pixel that occurs in the original image also appear in the image rotating.Can give color that does not use the pixel non-black or characteristic in the image rotating, and if use the picture format of supporting the pixel transparency, those pixels can be indicated as transparent so.
In some part of above description content, supposed that image to be rotated is RGB (R-G-B) form, wherein each image pixel has the value at the content of red of described pixel, at the value of green content with at the value of blue content.Yet illustrated transform method can be directly used on other picture format under the situation that at first is not converted to RGB.This is favourable, although because the image of rgb format is easy to handle relatively, they more are difficult to compression, and generally consume more memory space.
Two kinds of other common picture formats are YCbCr and YCrCb.And in the RGB image, data are stored according to the red, green and blue color-values of each pixel, and YCbCr and YCrCb form come storing image data by the brightness (Y) and colourity (Cb, the Cr) value of each pixel of record.YCbCr and YCrCb form are popular, because they are used for common JPEG picture file form.
If embodiment is as the image transform of rotation on the portable embedded equipment of for example digital camera, the ability that RGB, YCbCr and YCrCb image are operated is favourable so, because all three kinds of forms all can be used in the digital camera.This is because due to the mode that digital picture is created and handles.
For instance, most of digital camera images transducers only comprise to one in red, green or the blue light rather than to the light activated individual sensor of all three kinds of colors.Therefore, individual elements is usually to be called as the arranged in patterns of Bayer pattern, and wherein the unit to green sensitive is dispersed among the red and blue responsive unit, and replaces with it.In consumer product, green cell generally plays dominating role, because human vision system is comparatively responsive to green, and comprises more green cell and tends to increase the picture quality that perceives.In a typical B ayer pattern, 16 cellular arraies may comprise 8 green cell, 4 red units and 4 blue cell, and its general alignment becomes checkerboard pattern.When the digital camera photographic images of the monochrome cells that is the Bayer pattern by use, original image is interpolated usually, makes each pixel have red value, green value and blue value, and is stored as the RGB image in the interstage of processing at least.Described image can further be converted into YCbCr or YCrCb for storage.
Although can directly handle the image of YCbCr and YCrCb form by using above-described rotation transformation method, existing may (for example) some situation to carrying out extra task through the YCbCr and the YCrCb image of secondary sample.In the image of secondary sample, some chromatic value be dropped or through secondary sample with the reduction file size.For instance, pixel column is carried out secondary sample with common H2V1 YCbCr 4:2:2 form, but pixel column is unaffected.In this secondary sample scheme, if start from scratch row are numbered, so only even column has the Cb component, and only odd column has the Cr component.Another form through secondary sample is a YCbCr 4:2:0 form, and wherein each 2 * 2 pel array is shared single Cb value and single Cr value.The YCrCb form is general identical with YCbCr, and just the order of Cb and Cr value is reversed.
Above-described transform method can directly apply to through the YCrCb of secondary sample and YCbCr form, has the Cb that correctly replaces and the final image of Cr component but do like this may not can to produce.In order to overcome this problem, can by consider adjacent pixels to and duplicate suitable Cb and Cr value, make each pixel all have Cb and Cr value, and from through the image of secondary sample, creating the interim image without secondary sample (YCrCb 4:4:4 and YCbCr 4:4:4).Then above-described transform method is applied to described interim image without secondary sample to produce interim output image without secondary sample.After the conversion, abandon extra Cb and Cr value in the output image of secondary sample.The test of being carried out by the inventor is illustrated in does not have the difference that visually can perceive between the processing of identical image of RGB treatment of picture and YCrCb and YCbCr form.
Fig. 9 shows the embodiment of the mobile phone 200 with digital camera 202.Each all is the embedded equipment type for mobile phone and digital camera.Mobile phone 200 and its digital camera 202 comprise the mechanism that is used to carry out image transform as herein described.In typical the use, the user will use the digital camera 202 of mobile phone 200 to take digital picture, and then will use the disposal ability of mobile phone 200 to carry out rotation.As shown in Figure 9, digital camera 204 is presented on the display screen 206 of mobile phone 200.Display screen 206 can (for example) be less relatively LCD.As shown in the figure, image 204 is rotated counterclockwise.Cover the instruction that coverage diagram on the image 204 or drop-down menu 214 can be provided for additionally rotating temporarily.For instance, the user can be instructed to use the arrow key 210 of mobile phone 204 to increase or reduce the anglec of rotation.Each button can be through programming to increase with the anglec of rotation or to reduce 1 or 2 degree corresponding.When changing the anglec of rotation, with new anglec of rotation repeated transformation.The new anglec of rotation can be with respect to the current location of image or with respect to its initial position and the given anglec of rotation.The user also can use numerical key 212 to specify the anglec of rotation.
Though described some illustrated embodiment, the literal that this paper has used is descriptive matter in which there rather than words of limitation.Can (for example) make variation within the scope of the appended claims.

Claims (29)

1. embedded equipment, it comprises:
The anglec of rotation defines mechanism, and it defines the anglec of rotation of image; With
Rotating mechanism, it uses described angle and only uses integer arithmetic that rotation transformation is applied to described image, makes the interior pixel of described image be mapped to the position of rotation.
2. device according to claim 1, it further comprises user interface, and described user interface is coupled to the described anglec of rotation and defines mechanism to obtain the described anglec of rotation.
3. device according to claim 1, the wherein said anglec of rotation define mechanism and are suitable for anglec of rotation α is mapped to anglec of rotation β through mapping, and described rotating mechanism uses the described anglec of rotation through mapping when using described rotation transformation.
4. device according to claim 3, wherein said anglec of rotation β through mapping satisfies 0 °≤B of inequality≤90 °.
5. device according to claim 4, wherein said rotation transformation is represented by matrixing:
x out - x o y out - y o = cos θ - sin θ sin θ cos θ · x in - x o y in - y o
X wherein InAnd y InBe the locations of pixels coordinate of described image, x OutAnd y OutBe the position coordinates of position of the rotation of described pixel, x 0And y 0Be the position coordinates of the pivot of described rotation transformation, and θ is to be the described anglec of rotation β through mapping that unit expresses with the radian.
6. device according to claim 5, the relation between wherein said anglec of rotation α and the described anglec of rotation β through shining upon is represented by following equation:
If 0 °≤α<90 °, so β=α and sin α = sin β cos α = cos β
If 90 °≤α<180 °, so β=180 °-α and
Figure A2005800392760002C3
If 180 °≤α<270 °, so β=α-180 ° and
Figure A2005800392760002C4
If 270 °≤α<360 °, so β=360 °-α and
Figure A2005800392760003C1
7. device according to claim 5, the value of the sine and cosine functions of the approximate described matrixing of wherein said rotating mechanism is to obtain to be accurate to the value in the required precision threshold.
8. device according to claim 7, wherein said rotating mechanism use the sinusoidal and cosine of one or more Taylor series items to be similar to be similar to the value of the described sine and cosine functions of described matrixing.
9. device according to claim 8, if wherein described anglec of rotation β through shining upon is below threshold angle, and second of Taylor series item of described anglec of rotation β through mapping is more than described threshold angle, and so described rotating mechanism uses first of Taylor series item.
10. device according to claim 1, wherein said rotating mechanism comprises integer operations facilitator, described integer operations facilitator is suitable for the non-integer item is converted to integer, and to prevent that the calculating order that integer overflows from carrying out calculating.
11. device according to claim 1, wherein said embedded equipment is a mobile phone.
12. the machine-readable medium with digital coding, described data can with the machine co-operate to impel:
Define the anglec of rotation of image; With
Only use integer arithmetic will use the rotation transformation of described angle to be applied to described image, make the interior pixel of described image be mapped to the position of rotation.
13. medium according to claim 12, wherein said data can with the machine co-operate, further impelling the described anglec of rotation β of mapping, and when using described rotation transformation, use the described anglec of rotation through mapping.
14. medium according to claim 13, wherein said data can with the machine co-operate, satisfy 0 °≤B of inequality≤90 ° to impel described anglec of rotation β through mapping.
15. medium according to claim 14, wherein said data can with the machine co-operate, represent described rotation transformation to impel by matrixing:
x out - x o y out - y o = cos θ - sin θ sin θ cos θ · x in - x o y in - y o
X wherein InAnd y InBe the locations of pixels coordinate of described image, x OutAnd y OutBe the position coordinates of position of the rotation of described pixel, x 0And y 0Be the position coordinates of the pivot of described rotation transformation, and θ is to be the described anglec of rotation β through mapping that unit expresses with the radian.
16. medium according to claim 15, wherein said data can with the machine co-operate, with impel by following equation represent any anglec of rotation α and described through the mapping anglec of rotation β between relation:
If 0 °≤α<90 °, so β=α and sin α = sin β cos α = cos β
If 90 °≤α<180 °, so β=180 °-α and
Figure A2005800392760004C3
If 180 °≤α<270 °, so β=α-180 ° and
If 270 °≤α<360 °, so β=360 °-α and
17. medium according to claim 15, wherein said data can with the machine co-operate, with the value of the sine and cosine functions that impels approximate described matrixing, to obtain to be accurate to the value in the required precision threshold.
18. medium according to claim 17, wherein said data can with the machine co-operate, to impel the value of using the sinusoidal and cosine of one or more Taylor series items to be similar to be similar to the described sine and cosine functions of described matrixing.
19. medium according to claim 18, wherein said data can with the machine co-operate, with impel when described anglec of rotation β through mapping below the threshold angle and second of Taylor series item of described anglec of rotation β through mapping when described threshold angle is above, use the Taylor series item first.
20. medium according to claim 12, wherein said data can with the machine co-operate, to impel the non-integer item is converted to integer, and to prevent that the calculating order that integer overflows from carrying out calculating.
21. an equipment, it comprises:
Embedded equipment;
Device in the described embedded equipment, it is used to define the anglec of rotation of image; With
Device in the described embedded equipment, its rotation transformation that is used for only using integer arithmetic will use described angle is applied to described image, makes the interior pixel of described image be mapped to the position of rotation.
22. equipment according to claim 21, it further comprises and is used for being mapped to anglec of rotation α through the anglec of rotation β of mapping and using the device of the described anglec of rotation through mapping when using described rotation transformation.
23. equipment according to claim 22, wherein said rotation transformation is represented by matrixing:
x out - x o y out - y o = cos θ - sin θ sin θ cos θ · x in - x o y in - y o
X wherein InAnd y InBe the locations of pixels coordinate of described image, x OutAnd y OutBe the position coordinates of position of the rotation of described pixel, x 0And y 0Be the position coordinates of the pivot of described rotation transformation, and θ is to be the described anglec of rotation β through mapping that unit expresses with the radian.
24. equipment according to claim 23, it further comprises the device of the value of the sine and cosine functions that is used for approximated equation (1).
The value that second levels of precision of the described anglec of rotation β through mapping of first levels of precision of 25. equipment according to claim 23, the wherein said device that is used to be similar to use first scope described anglec of rotation β through mapping and second scope is come the described sine and cosine functions of approximated equation (1).
26. a mobile phone, it comprises:
The receiver/transmitter sub-assembly;
Microprocessor;
The anglec of rotation defines mechanism, and it defines the anglec of rotation of image; With
Rotating mechanism, it only uses integer arithmetic will use the rotation transformation of described angle to be applied to described image, makes the interior pixel of described image be mapped to the position of rotation.
27. mobile phone according to claim 26, wherein said microprocessor is an integer microprocessor.
28. mobile phone according to claim 27, it further comprises keypad and display screen.
29. mobile phone according to claim 28, it further comprises digital camera.
CN 200580039276 2004-09-29 2005-09-29 Embedded device with image rotation Pending CN101061703A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US61458304P 2004-09-29 2004-09-29
US60/614,583 2004-09-29
US11/119,286 2005-04-28

Publications (1)

Publication Number Publication Date
CN101061703A true CN101061703A (en) 2007-10-24

Family

ID=38866704

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200580039276 Pending CN101061703A (en) 2004-09-29 2005-09-29 Embedded device with image rotation

Country Status (1)

Country Link
CN (1) CN101061703A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105144691A (en) * 2013-03-08 2015-12-09 汤姆逊许可公司 Method and system for stabilization and reframing
CN113296672A (en) * 2021-05-20 2021-08-24 前海七剑科技(深圳)有限公司 Interface display method and system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105144691A (en) * 2013-03-08 2015-12-09 汤姆逊许可公司 Method and system for stabilization and reframing
CN113296672A (en) * 2021-05-20 2021-08-24 前海七剑科技(深圳)有限公司 Interface display method and system

Similar Documents

Publication Publication Date Title
KR100935172B1 (en) Magnification and pinching of two-dimensional images
US20060077211A1 (en) Embedded device with image rotation
CN101061501B (en) Perspective transformation of two-dimensional images
US8180165B2 (en) Accelerated screen codec
DE19983189B4 (en) Graphics data parallel conversion method for multimedia system
US7889949B2 (en) Joint bilateral upsampling
US20080240602A1 (en) Edge mapping incorporating panchromatic pixels
US6211892B1 (en) System and method for performing an intra-add operation
CN112422981B (en) Image data compression
Gwennap UltraSparc adds multimedia instructions
US20070180004A1 (en) Apparatus and method for precision binary numbers and numerical operations
US11574387B2 (en) Luminance-normalised colour spaces
CN101061703A (en) Embedded device with image rotation
JP4630475B2 (en) Image processing apparatus and method
CN1472703A (en) Apparatus and method for digital image alpha mix
Chihoub et al. A band processing imaging library for a TriCore-based digital still camera
US7468733B2 (en) Method and system for improving color reduction
CN111756997B (en) Pixel storage method and device, computer equipment and readable storage medium
KR100695159B1 (en) Apparatus and method for generating RGB map for skin color model and apparatus and method for detecting skin color employing the same
Mazzeo Laboratory of Image Processing
CN114066994A (en) Point cloud index method and device, computer readable storage medium and terminal equipment
CN116762101A (en) Training method and device of image processing model, storage medium and electronic equipment
Choi The architecture of a multimedia multiprocessor
Gerek Design and Implementation of a PC Based Medical Image Workstation

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication