The present invention relates to digital image processing and more particularly to a process for blending images.
With the advent of digital wireless communications and the development of mobile telephone, graphic and video processing is taking a great importance for mobile phone consumers.
More and more mobile phones get new capabilities where deeper colour schemes are used as well as video objects can be displayed. Beside the construction of objects to display, there is a real challenge in combining and displaying them in the most efficient way.
The functions to achieve consist in assembling several sources of graphic or video with the following transformations:
All above functions are generally implemented in the display composition unit or the graphic renderer. Albeit, the transparency management is generally the last item integrated in HW since the transparency management at pixel level is quite consuming in HW resources and memory footprint.
Indeed up to colour keying complexity of the underlying hardware is quite simple since relying on a simple selection whose criterion source is either a constant value for the whole “plane” or a specific colour value declared as the transparent one. Supporting a “per pixel” blending composition capability require a true multiplication and accumulation function as well as a dedicated transparency information per pixel stored in system memory.
These sophisticated blending schemes implicitly discard older generation HW when it is time to evolve the man machine interface outlook.
With respect to
The great advantage of this first prior art mechanism results from the very simple and low cost structure which is advantageous in a small device such as a mobile telephone. However, the drawback results in the fact that there is no blending of the images, nor control on the transparency provided the limited graphical hardware.
The drawback of this second prior art technique lies in the fact that, firstly, a complex hardware circuitry is necessary for embodying the two multipliers.
In addition, more storage space would be required for embodying a 8 bits blending process where the α value can be different for each pixel.
For the sake of illustration, one may consider the following example simple colour scheme based on indirect colour information access are quite efficient to store a bitmap. A QVGA image using a colour lookup table mechanism of 256 colour entries will required 320×240 bytes to store the picture content plus the colour lookup table (CLUT) itself. Supposing the CLUT entry is made of 3 bytes (Red, Green and Blue channel coded on 8 bits), the whole image will take: 320×240+256×3=77568 bytes. Multiple levels of transparencies are effectively required; it is typically 16, 64 or even 256 levels. Beyond 16 levels and because of byte alignment constraint, a full transparency byte will be required for each pixel. In case of the former QVGA example, it will simply double the storage requirement. Considering now a “true colour” description where each pixel gets its colour information directly coded as 16 bits, 18 bits or 24 bits for a 65K, 262K and 16M colours scheme respectively; the storage is increased by 2 or 3. Adding the “per pixel blending” is further increasing by a factor of 4 the storage requirement.
It is desirable to get a graphical rendering as close as possible to the one obtained with the process of
The benefit would be clear: higher reuse of available graphical circuits and, furthermore, the reduction in the memory footprint allocated to image storage area.
It is an object of the present invention to provide a process for performing blending of two images with a limited hardware circuitry and high rendering graphical blending.
It is a further object of the present invention to provide with a circuit for controlling transparency of a foreground image with respect to a background image which requires limited hardware and is cheap to manufacture.
It is still a further object of the present invention to carry out a process and device for controlling blending of two images which are suitable for mobile telephone equipments.
These and other objects are achieved by means of a process for blending a foreground image (B) with a background image (A) in accordance with a transparency parameter being is coded over N bits.
The foreground and background images being arranged in pixels and have color representations (e.g. R, G, B). The transparency parameter (T(x,y)) defines a so-called alpha plane representative of the transparency profile to apply to the foreground image.
The process involves the steps of:
In one embodiment, the one-bit transparency parameter T′ is converted into the two extreme values of a range of continuous values, for instance coded on 8 bits.
In one embodiment, the process applies a four-pixel interpolation method to the foreground image (A) for the purpose of creating a five level transparency parameter and then uses the results five levels transparency parameter for controlling a selection circuit based on a simple multiplexor.
There is thus achieved a sophisticated (5-level) blending process with very simple hardware circuitry, based on multiplexing circuit.
In one embodiment, the one-bit transparency parameter T′ is converted into either 00 or FF in a 8-bit representation format.
Preferably, the dithering method is a Floyd Steinberg dithering method.
Alternatively, the dithering method may be a Halftoning or dithered order. Actually any available dithering algorithm can fit.
The invention also provides a graphical circuit for blending a foreground image (B) with a background image (A) in accordance with a transparency parameter (T(x,y)) coded on N-bits and defining an alpha plane representative of the transparency to apply to the foreground image. The circuit includes multiplexing means for multiplexing either the color components from background image (B) or foreground image (A) and is characterized by
In one embodiment, the circuit further includes:
The circuit of the invention is particularly suitable for carrying out graphical circuits of handheld or mobile telephone displays, but can encompass other domains where similar needs are required.
Other features of one or more embodiments of the invention will best be understood by reference to the following detailed description when read in conjunction with the accompanying drawings.
The embodiment which is disclosed below is particularly suitable for the design of a graphical display circuit for small devices such as handheld, mobile telephones etc. . . . which have limited resources.
However, it should be clear that this is only one particular embodiment of the process and circuit of the invention and that the latter is likely to be adapted to a wide range of applications.
It is assumed that foreground image A is defined for each pixel (X,Y) by the three basic components RA(x,y), GA(x,y) and BA(x,y) band also by a transparency factor T(x,y) which is used for controlling the blending process. It should be noticed that the system of representation R-G-B is only given as an example and that another system of presentation may be considered.
In the preferred embodiment, each pixel has a representation which is coded with 32 bits, defining the parameters:
(T(x,y),RA(x,y),GA(x,y),BA(x,y))
The T(x,y) parameter defines the profile of transparency which will be used in the blending process, which can be coded with N=8 bits, and may be represented by a so-called ALPHA PLANE represented in
or (T, RA, GA, BA) in short.
Similarly, the background image B is assumed to be represented, for each pixel (x,y) by the components: (RB, GB, BB)
With respect to
the process starts with a step 21 which consists in the application of a dithering method on the alpha plane representative of the transparency profile of the foreground image to blend, for the purpose of reducing the T(x,y) transparency parameter to a 1 bit parameter.
Many dithering techniques may be considered for achieving this 8 bits to 1 bit conversion process, such as, for instance and without any limitation, a halftoning, a dithered ordered or, in the preferred embodiment, a Floyd-Steinberg dithering technique.
Dithering techniques are well known in the art and, for the sake of conciseness, they will not be further elaborated on. Regarding the preferred embodiment, the Floyd-Steinberg technique, it suffices to recall that the Floyd-Steinberg algorithm can be applied to any quantization process and particularly to a reduction to a single bit.
The process uses the dithering method for the purpose of converting T transparency parameter (coded with N bits) to a one-bit transparency parameter T′ in a step 22.
Then, in a step 23, the process uses the computed T′ parameter as a control signal for controlling multiplexing circuits, having two inputs respectively receiving the color components of the foreground image (A) and the background image (B).
It has been observed, and this is a very interesting effect, that a aesthetical blending effect is simply achieved by means of this process.
The result of the application of the dithering process to the ALPHA PLANE is illustratively shown in
There is achieved the possibility to display a blended foreground image A with a background image B without requiring the need of any multipliers, as in the technique of
With respect to
Steps 31 and 32 of
The second embodiment, then differs from the first embodiment in the next following steps:
The process then proceeds with a step 33 where, with the assumption of a foreground picture A made of a standard representation (24 bits per pixel) with an N=8 bit alpha plane, the one bit quantized and dithered information of the original 8 bits transparency value is converted as follows:
T″=0xFF if T′=1;
T″=0x00 if the value of T′=0.
value as the MSB byte
There is thus provided again a representation of the color of the picture which incorporates a transparency parameter coded onto 8 bits.
Now, in a step 34, the process proceeds with a 4-pixels interpolation of the representation (T″, RA, GA, BA) (with T″ being the MSB) of the foreground image so as to produce an interpolated representation (T″i, RAi, GAi, BAi) which takes into account of the information of four neighbouring pixels.
It should be noticed that, regarding the particular parameter T″, this 4-pixel interpolation results that five exact blending levels can be produced, corresponding to the following sequence:
0, ¼, ½, ¾ and 1.
With the significant technical effect that such blending values can easily be achieved with minimum hardware circuitry.
Indeed, in a step 35, the parameter T″′ is simply used as a control signal for controlling the multiplexing circuit allowing selection between five weighted sum of the pixel of image A and pixel of image B.
Such selection requires very limited hardware circuits.
Indeed, a dividing by 2 is easily carried out by a single bit-shifting towards the LSB.
A dividing by 4 is easily produced by two consecutive bit-shifting towards the LSB.
At last, a level of ¾ is easily achieved by means of adding the two preceding levels ¼ and ½.
It can be seen, and this is a very advantageous result that without requiring complex multipliers, a five level blending process can be achieved while still using a selection multiplexor as used in the basic process of
In one particular embodiment, the interpolation process of
T″i(x,y)=¼(T″(x,y)+T″(x+1,y)+T″(x,y+1)+T″(x+1,y+1))
And
RAi, GAi, BAi being interpolated in a similar fashion:
RAi(x,y)=¼(RA(x,y)+RA(x+1,y)+RA(x,y+1)+RA(x+1,y+1))
GAi(x,y)=¼(GA(x,y)+GA(x+1,y)+GA(x,y+1)+GA(x+1,y+1))
BAi(x,y)=¼(BA(x,y)+BA(x+1,y)+BA(x,y+1)+BA(x+1,y+1))
With respect to
Two one-bit shifting circuits, respectively 131 and 133 connected to lead 110 (pixel A) and 120 (pixel B), for performing a divide by two operation.
Two two-bit shifting circuits, respectively 132 and 134 connected to lead 110 (pixel A) and 120 (pixel B), for performing a divide by 4 operation.
Three adders 141,142 and 143 have an output which are respectively connected to the second, the third and the fourth input of selection block 100.
Adder 141 has a first input connected to the output of 2-bit shifting circuit 132, a second input connected to one-bit shifting circuit 133 and a third input connected to two-bit shifting circuit 134. That adder 141 produces the value of ¼ of the component of A plus ¾ of the component of B.
Adder 142 has a first input connected to the output of one-bit shifting circuit 131 and a second input connected to one-bit shifting circuit 133 so as to produce the value of ½ the component of A and ½ that of B, that is to say a pure blending.
Adder 143 has a first input connected to the output of one-bit shifting circuit 131, a second input connected to two-bit shifting circuit 132 and a third input connected to two-bit shifting circuit 134.
The invention achieves a 8 bit-blending scheme with a single bit selection overlay associated to a fractional pixel interpolation process. In practice, it has been observed that very little penalty results from the dithering of the alpha plane and thus the one-bit reduction of the original transparency parameter T. The Floyd Steinberg dithering algorithm is traditionally considered as a quite computational intensive algorithm since often associate to large resolution object (printer hundreds of DPI resolution on a full A4 format sheet). Considering the mobile phone environment application we have considered, the screen size is either QCIF+(220×176) or QVGA (320×240). Consequently the required CPU effort needs to be very reasonable and furthermore the transparency information applies to man machine interface content, which does not vary very fast even considering small graphic animations.
Number | Date | Country | Kind |
---|---|---|---|
08368026 | Dec 2008 | EP | regional |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/EP2009/009313 | 12/29/2009 | WO | 00 | 8/29/2011 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2010/078954 | 7/15/2010 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
6023302 | MacInnis et al. | Feb 2000 | A |
6466224 | Nagata et al. | Oct 2002 | B1 |
20030184556 | Hollis | Oct 2003 | A1 |
20080143737 | Weybrew et al. | Jun 2008 | A1 |
20080284780 | Hsu | Nov 2008 | A1 |
Number | Date | Country |
---|---|---|
0533348 | Mar 1993 | EP |
2223917 | Apr 1990 | GB |
9620470 | Jul 1996 | WO |
9733437 | Sep 1997 | WO |
Entry |
---|
Smith, A.R., “ALpha and the History of Digital Compositing”, Microsoft Technical Memo., No. 7, Aug. 15, 1995, XP002489918. |
Porter, T. et al., “Compositing Digital Images”, Computer Graphics, ACM, US vol. 18, No. 3, Jul. 1, 1984 pp. 253-259, XP000609391, ISSN: 0097-8930. |
Number | Date | Country | |
---|---|---|---|
20110304642 A1 | Dec 2011 | US |