The field of the invention is that of display systems comprising graphics generation systems. The field of privileged application is that of overlaying synthetic symbologies coming from graphics generation systems onto one or more video images. The invention relates notably to display systems on board aircraft.
A digital color image is conventionally composed of elementary color pixels. Each colored pixel is coded over three digital components, each comprising the same number of bits, each component corresponding to a primary color, generally red, green or blue, also denoted by the term “RGB” components.
For a certain number of applications, in particular in the aeronautical field, it may be necessary, as indicated in
However, if it is desired to obtain a quality overlay in which the overlaid image preserves good readability and good contrast, it is not possible simply to add or superpose the images. Thus if a segment of a certain thickness of a first initial color is generated on a background of a second initial color, steps are obtained due to the effect of applying the method known as “antialiasing” to the segment. Even if the size of the screen pixel is small, these steps are seen by the user and constitute a visual inconvenience. To reduce this visual effect, a method of color combination is generally used which consists, for the pixels located at the borders of the segment, in mixing the color of the segment with the color of the background by applying a mixing rule, as a function of a transparency law depending on an alpha transparency factor A and the initial colors of the segment and the background. In this case, it is necessary for each pixel additionally to comprise RGB calorimetric information, a piece of weighting information denoted by a capital “A”. In this case the pixels comprise four components RGBA. Currently, most of the onboard synthetic graphics generation solutions for commercial applications are so-called “proprietary” solutions, i.e. solutions completely handled by the designer of the graphics generation system. In this case, the four RGBA components are, by design, handled all along the calculation chain and conserved in the image memories so as to deliver them to any external resource providing the overlaying with one or more sensor videos.
However, the evolution of technologies, the increasingly large development costs, and the performance levels required to respond to the demands of new programs are leading the various producers of equipment in the aeronautical field to employ GPU-COTS components, the acronym meaning Graphic Processing Unit—Commercial Off The Shelf. Thus the graphics generation system is based on a non-dedicated graphics processor based on the current OpenGL graphics standards. OpenGL, the acronym for Open Graphics Library, is a multiplatform programming interface for the design of applications generating two- or three-dimensional images. This interface brings together different functions that can be used to display complex three-dimensional scenes from simple primitives.
Yet the field of use of these components does not include the need for the external resources to overlay a synthetic image on one or more sensor videos. Consequently, these components do not retrieve the alpha component from the image memory and therefore do not provide the alpha component at their digital video output, which does not allow a quality overlay.
The aim of the method according to the invention is to provide, at the output from the synthetic graphics generation system, all the information enabling realization of a quality overlay on a sensor video over only the three components usually used. The information to be provided for each pixel is the RGB color information and the alpha component that corresponds to the weighting factor of the color necessary for the antialiasing or filtering algorithms.
The aim of this method is to be generic in relation to the current graphics standards, and not to depend on specific features of certain components such as the availability of two independent digital video outputs which, by plotting the same image on each channel in slightly different graphics modes, enables the output of RGB on one channel and the alpha factor on another channel.
This method is essentially applicable when the overlay is produced by a resource external to the synthetic graphics generation system. The need for this external resource derives from the multitude of potential sensor video formats to be processed, and from the various refresh rates of the videos.
The method according to the invention applies notably when the synthetic graphics generation system is based on a non-dedicated COTS graphics processor based on the current OpenGL graphics standards.
More specifically, the subject of the invention is a method for coding pixels of a color digital image, each colored pixel being coded over three digital components each comprising the same number of bits, characterized in that at least one of the coded components comprises a piece of color information on the one hand and a piece of weighting information on the other hand, said piece of weighting information being intended to be used by image processing algorithms of the digital filtering or antialiasing type.
The components are advantageously coded over eight bits, at least one of the components comprising a piece of color information coded over 5 bits and a piece of weighting information coded over 3 bits, the color information is coded over the MSBs, or Most Significant Bits.
The method advantageously comprises at least four steps:
Advantageously, the second step is carried out by adding the value of the bits of each component to itself at least once.
The invention also relates to an electronic digital image generation device comprising a calculation unit of the GPU (Graphics Processing Unit) type, characterized in that it comprises a coding method having one of the preceding features.
Still other objects and advantages of the present invention will become readily apparent to those skilled in the art from the following detailed description, wherein the preferred embodiments of the invention are shown and described, simply by way of illustration of the best mode contemplated of carrying out the invention. As will be realized, the invention is capable of other and different embodiments, and its several details are capable of modifications in various obvious aspects, all without departing from the invention. Accordingly, the drawings and description thereof are to be regarded as illustrative in nature, and not as restrictive.
The present invention is illustrated by way of example, and not by limitation, in the figures of the accompanying drawings, wherein elements having the same reference numeral designations represent like elements throughout and wherein:
The basic principle of the invention consists in exploiting only the generic graphics resources available on standard OpenGL image generation systems. Consequently, the coding method according to the invention consists in coding the three pieces of information necessary for the color and the weighting information over the three standard components conventionally used to code only the color.
In order for this method to be applied, three conditions must be satisfied:
These three conditions are generally satisfied. In fact, the digital video outputs from current standard graphics generation systems offer 8 bits as a standard per RGB component. Conventionally, the least significant bits are known by the acronym LSBs, and the most significant bits are known by the acronym MSBs. Yet it is obvious that the coding of the color pixels of a symbology does not require a color range as large as that of a real image. Generally, several tens of colors suffice to code all the characters and symbols. It is hence possible to code the useful colors by only using a limited number of bits of each component. By way of example, one configuration type may be:
Thus at least 3 bits remain available on at least two of the components. Conversely, the weighting information coding requires only a limited number of bits, 3 bits generally sufficing. Thus it is possible to code color information and weighting information on the same component at the same time.
The various steps of the method consist in working out the sequence of graphics operations that lead to the insertion, for each pixel, of the value of alpha stored in the image memory at the location of the bits not used in the RGB color components, while taking account of the constraints and the particular rules linked with the use of graphics processors.
Overall, as illustrated in
In greater detail, and by way of example, when it is implemented in a GPU, the whole of the method comprises 4 steps, marked 1, 2, 3 and 4, which are:
Step 1: Each symbol is generated conventionally in the image memory of the GPU in the RGBA format;
Step 2: This step is illustrated in
Step 3: When the useful bits of the color components have been positioned on the MSBs, this step consists in converting, linearly and for each pixel, the 8-bit alpha value contained in the image memory into a 3-bit value;
Step 4: The 3-bit converted value is injected for each pixel into the unused LSBs of, according to preference, an R or B color component. The technique used consists in plotting a surface or a set of surfaces:
Once the coding has been carried out, the image memory is re-read by the graphics generation system, which then provides for each pixel at the digital video output the combination of the RGB color information and the alpha information.
Of course, the decoding and the separation of the color information and the weighting information do not pose a particular technical problem.
It will be readily seen by one of ordinary skill in the art that the present invention fulfils all of the objects set forth above. After reading the foregoing specification, one of ordinary skill in the art will be able to affect various changes, substitutions of equivalents and various aspects of the invention as broadly disclosed herein. It is therefore intended that the protection granted hereon be limited only by definition contained in the appended claims and equivalents thereof.
Number | Date | Country | Kind |
---|---|---|---|
0603735 | Apr 2006 | FR | national |
The present Application is based on International Application No. PCT/EP2007/053910, filed on Apr. 20, 2007, which in turn corresponds to French Application No. 0603735, filed on Apr. 26, 2006, and priority is hereby claimed under 35 USC §119 based on these applications. Each of these applications are hereby incorporated by reference in their entirety into the present application.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/EP2007/053910 | 4/20/2007 | WO | 00 | 10/23/2008 |