<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ep-patent-document PUBLIC "-//EPO//EP PATENT DOCUMENT 1.1//EN" "ep-patent-document-v1-1.dtd">
<ep-patent-document id="EP94118053A1" file="EP94118053NWA1.xml" lang="en" country="EP" doc-number="0656617" kind="A1" date-publ="19950607" status="n" dtd-version="ep-patent-document-v1-1">
<SDOBI lang="en"><B000><eptags><B001EP>ATBECHDE....FRGB..ITLI..NL........................</B001EP><B005EP>R</B005EP></eptags></B000><B100><B110>0656617</B110><B120><B121>EUROPEAN PATENT APPLICATION</B121></B120><B130>A1</B130><B140><date>19950607</date></B140><B190>EP</B190></B100><B200><B210>94118053.1</B210><B220><date>19941115</date></B220><B240></B240><B250>en</B250><B251EP>en</B251EP><B260>en</B260></B200><B300><B310>9304030</B310><B320><date>19931203</date></B320><B330><ctry>SE</ctry></B330></B300><B400><B405><date>19950607</date><bnum>199523</bnum></B405><B430><date>19950607</date><bnum>199523</bnum></B430></B400><B500><B510><B516>6</B516><B511> 6G 09G   5/28   A</B511><B512> 6G 09G   5/06   B</B512></B510><B540><B541>de</B541><B542>Verfahren und Vorrichtung zur Unterpixelverschiebung eines Farbbildes auf einem Datensichtgerät</B542><B541>en</B541><B542>Procedure and device for subpixel shifting of a color image on a display</B542><B541>fr</B541><B542>Procédé et dispositif pour la translation des sous-pixels d'une image de couleur sur un dispositif de visualisation</B542></B540><B560></B560><B590><B598>2</B598></B590></B500><B700><B710><B711><snm>Siemens Elema AB</snm><iid>00420950</iid><irf>GR 93 P 7294 E</irf><syn>siemens-elema</syn><adr><str>Röntgenvägen 2</str><city>S-171 95 Solna 1</city><ctry>SE</ctry></adr></B711></B710><B720><B721><snm>Ginsberg, Robert</snm><adr><str>Enebyvägen 11</str><city>S-161 52 Bromma</city><ctry>SE</ctry></adr></B721></B720></B700><B800><B840><ctry>AT</ctry><ctry>BE</ctry><ctry>CH</ctry><ctry>DE</ctry><ctry>FR</ctry><ctry>GB</ctry><ctry>IT</ctry><ctry>LI</ctry><ctry>NL</ctry></B840></B800></SDOBI><!-- EPO <DP n="11"> -->
<abstract id="abst" lang="en">
<p id="pa01" num="0001">In a procedure for subpixel shifting in the scanning direction of a color image on a display, a weighted mean value for the color intensity of the new pixel and the preceding pixel is formed for each image dot according to the magnitude of subpixel shifting. In a device for subpixel shifting in the scanning direction of a color image on a display, delayed pixel data can be supplied to a color palette unit across a first input and non-delayed pixel data across a second input. The color palette unit is arranged to determine, for each image dot, a weighted mean value for the color intensity of the delayed and non-delayed pixel by table look-up according to a predetermined algorithm.<img id="iaf01" file="imgaf001.tif" wi="111" he="100" img-content="drawing" img-format="tif"/></p>
</abstract><!-- EPO <DP n="1"> -->
<description id="desc" lang="en">
<p id="p0001" num="0001">The present invention relates to a procedure and a device for subpixel positioning in the sweep direction of a color image on a display.</p>
<p id="p0002" num="0002">In EP,A,0 473 142 a procedure is described for smoothing steps or discontinuities in an image formed by a dot matrix and is applied to a laser printer, LED printer or a CRT display. Here, a pixel is subdivided into a plurality of subpixels along a vertical or horizontal scanning direction, and one or more signals intended for subpixels is/are reversed in a desired manner so the current pixel is smoothed with information in adjacent pixels.</p>
<p id="p0003" num="0003">When an image is scrolled, e.g. ECG tracings, in the scanning direction, the moving image will be jerky unless the image is moved a specific number of pixels in the scanning direction each time the image is exchanged.</p>
<p id="p0004" num="0004">If you want display scannig times of e.g. 2.5, 5.0, 10.0 and 20.0 seconds and there are 1,000 pixels in the scanning direction, the images can be moved 8, 4, 2, 1 pixel for a monitor image frequency of 50 Hz. This results in shifts of 400, 200, 100 and 50 pixels per second, and the ratios 400/1000, 200/1000, 100/1000 and 50/1000 yield the right scanning times.</p>
<p id="p0005" num="0005">If the monitor image frequency is changed to e.g. 60 Hz with the same scanning times as above, the frame must be moved with an accuracy better than 1 pixel, more precisely it must be moved with<br/>
   6.67 pixels for a sweep time of 2.5 seconds<br/>
   3.3 pixels for a sweep time of 5.0 seconds<br/>
<!-- EPO <DP n="2"> -->   1.67 pixels for a sweep time of 10.0 seconds<br/>
   0.83 pixels for with a sweep time of 20.0 seconds.<br/>
The object of the present invention is to propose a procedure and provide a device for solving the aforementioned problems and make possible movement of the image with optional accuracy, i.e. image movement with an optional fraction of a pixel.</p>
<p id="p0006" num="0006">This object is achieved with a procedure according to claim 1 and a device according to claim 2.</p>
<p id="p0007" num="0007">According to the invention therefore, a weighted mean value of the color intensity of the new pixel and the old pixel is determined for each image dot each time the image changes, the weighting being determined by the magnitude of the fraction of a pixel by which the image is moved, i.e. it is determined by the size of the desired subpixel movement. Thus a resolution better than one pixel is obtained.</p>
<p id="p0008" num="0008">According to one advantageous embodiment of the device according to the invention, four color intensity tables or matrices are stored in the color palette unit's memory, each table or matrix comprising 16 rows and 16 columns. This makes 1,024 colors available in the color palette unit.</p>
<p id="p0009" num="0009">According to a further advantageous embodiment of the device according to the invention, a register is connected to the color palette unit for determining the subpixel shift.</p>
<p id="p0010" num="0010">According to another advantageous embodiment of the device according to the invention, the color intensity tables or matrices can be reloaded, if necessary, during image return.</p>
<p id="p0011" num="0011">In order to explain the invention in greater detail, one exemplifying embodiment of the invention will now be<!-- EPO <DP n="3"> --> described, referring to attached drawings on which
<ul id="ul0001" list-style="none">
<li>FIG. 1 is a graphical illustration of a 0.25-pixel image shift and</li>
<li>FIG. 2 shows an embodiment of the device according to the invention.</li>
</ul></p>
<p id="p0012" num="0012">FIG. 1 illustrates a 0.25-pixel image shift. We start from an image dot at position 0 with intensity 100, FIG. 1a. If the image dot is then moved 0.25 pixel to the right, the resulting imagee will be the one shown in FIG. 1b.</p>
<p id="p0013" num="0013">If generally an image dot is considered in pixel position m in the scanning direction, said image dot having the intensity X(m), and this image dot is subject to a subpixel displacement, designated by n, in the scanning direction, the resulting intensity OUT(n,m) is given by the following algorithm:<maths id="math0001" num=""><img id="ib0001" file="imgb0001.tif" wi="131" he="27" img-content="math" img-format="tif"/></maths><br/>
 In the example with a subpixel shift of 0.25 pixel, n = 1 means a shift in the scanning direction of the image of 0.25 pixel, n = 2 means a shift of 0.5 pixel and n = 3 means a shift of 0.75 pixel.</p>
<p id="p0014" num="0014">The color intensities are then stored in 4 tables or matrices, the color intensities of existing "old" pixels forming rows in the tables or matrices, and the color intensities of "new" pixels forming columns.</p>
<p id="p0015" num="0015">Each pixel appropriately comprises 4 bits yielding 16 colors. Each table or matrix therefore comprises 16 rows and 16 columns.<!-- EPO <DP n="4"> --></p>
<p id="p0016" num="0016">In FIG. 2 is shown an embodiment of the device according to the invention. Pixel data are supplied to an electronic color palette unit 2, in which color intensity tables or matrices are stored in memories, via a delay unit 4 and directly without being delayed. The numerals "4" indicated on the data inputs indicate that each pixel comprises 4 bits.</p>
<p id="p0017" num="0017">The delay unit 4 is a flip-flop which delays the preceding image dot by 1 pixel.</p>
<p id="p0018" num="0018">A register 6 is also connected to the color palette unit in order to control the subpixel shift.</p>
<p id="p0019" num="0019">In the example with a subpixel shift of 0.25 pixel, the code for this, 01, is entered into register 6.</p>
<p id="p0020" num="0020">The palette unit 2 has two control lines which determine which of the 256 positions in each table are to be activated. Code 00 in the register 6 produces one color, and the code 01 produces another color, which means that the code change in register 6 causes a pixel shift.</p>
<p id="p0021" num="0021">In addition, a video clock 8 is arranged to control the flip-flop 4 and the clocking of color signals from the outputs of the color palette unit 2.</p>
<p id="p0022" num="0022">In the color palette unit 2, the mean value of the color intensities of the delayed pixel and the non-delayed pixel according to the aforementioned algorithm is formed through table look-up in the stored tables.</p>
<p id="p0023" num="0023">As mentioned above the color intensity tables or matrices appropriately comprises 16 rows and 16 columns, and four such tables or matrices are stored in the memories of color palette<!-- EPO <DP n="5"> --> unit 2, which means that the color palette unit handles 1,024 different colors. Furthger, there are also 8 bits per basic color - red, green and blue - see below.</p>
<p id="p0024" num="0024">If we assume, as above, that an image dot is to be moved 0.25 pixel, the procedure is as follows:<br/>
The colors of the pixels are coded with the numbers 0 to 15, and we assume that the code for the "new" pixel is equal to number 3 (e.g. blue-green) and the delayed, "old" pixel's color is 14 = hexadecimal OXE (e.g. purple).</p>
<p id="p0025" num="0025">These colors are blended into a "new" color, the hexadecimal code of which becomes OX13E where the number 1 indicates that the magnitude of the shift is a 0.25 step in the example with 4 tables, 3 is the color of the new pixel and E is the color of the old pixel. This is the code of the output color, and this "new" color is calculated in advance and stored in the color palette unit's tables or matrices as follows.</p>
<p id="p0026" num="0026">As mentioned above, the three basic colors used are red R, green G and blue B. The color 3 is assumed e.g. to have the RGB code 63, 12, 63, and the color 14 e.g. the RGB code 0, 24, 24, i.e. each color is translated into three intensities of red, green and blue.</p>
<p id="p0027" num="0027">Weighting with 75% of the new pixel and 25% of the old pixel yields:<br/>
<br/>
<maths id="math0002" num=""><math display="inline"><mrow><msub><mrow><mtext>R</mtext></mrow><mrow><mtext>new</mtext></mrow></msub><mtext> = 0.75 · 63 + 0.25 · 0 = 47</mtext></mrow></math><img id="ib0002" file="imgb0002.tif" wi="64" he="4" img-content="math" img-format="tif" inline="yes"/></maths><br/>
 <maths id="math0003" num=""><math display="inline"><mrow><msub><mrow><mtext>G</mtext></mrow><mrow><mtext>new</mtext></mrow></msub><mtext> = 0.75 · 12 + 0.25 · 24 = 15</mtext></mrow></math><img id="ib0003" file="imgb0003.tif" wi="66" he="4" img-content="math" img-format="tif" inline="yes"/></maths><br/>
 <maths id="math0004" num=""><math display="inline"><mrow><msub><mrow><mtext>B</mtext></mrow><mrow><mtext>new</mtext></mrow></msub><mtext> = 0.75 · 63 + 0.25 · 24 = 53</mtext></mrow></math><img id="ib0004" file="imgb0004.tif" wi="66" he="4" img-content="math" img-format="tif" inline="yes"/></maths><br/>
<br/>
 Thus, the RGB code for the "new" color becomes 47, 15, 53, and this code is sent, via the color palette unit's 2 outputs R, G, B, to the following monitor in order to generate the<!-- EPO <DP n="6"> --> corresponding color image on the monitor.</p>
<p id="p0028" num="0028">An analogous procedure is used in moving image dots 0.50 or 0.75 pixels.</p>
<p id="p0029" num="0029">In the above, an example with four color intensity tables or matrices, making possible subpixel shifts of 0.25, 0.50 and 0.75 pixels, is described. Two color intensity tables or matrices permit subpixel shifts of 0.5 pixel, and three tables or matrices permit shifts of 0.33 pixels or 0.67 pixels.</p>
<p id="p0030" num="0030">Instead of the embodiments described above with a plurality of color intensity tables or matrices stored in the color palette unit 2 among which selections are made by changes in the code in the register 6, the color palette unit can be devised with only one color intensity table or matrix which can be reloaded during image return.</p>
<p id="p0031" num="0031">The reloading then depends on the step selected for the subpixel shift, and reloading for each selected step is calculated in advance. When the color is to be changed, a change is thus made in the contents of the entire memory field containing the color intensity table or matrix, and this reloading takes place automatically during the beam's vertical return on the screen. There is no reloading if the image do not move, and there is also no reloading of the color intensity table or matrix if the current subpixel shift is as large as the preceding shift.</p>
<p id="p0032" num="0032">In both this embodiment and the previously described embodiment with a plurality of color intensity tables or matrices, a shift of tables or matrices is performed at the displacement of the image. In the first instance, this shift is accomplished by the loading of a "new" table and in the second instance by a change from one stored table or matrix to another.</p>
</description><!-- EPO <DP n="7"> -->
<claims id="claims01" lang="en">
<claim id="c-en-0001" num="0001">
<claim-text>A procedure for subpixel shifting in the scanning direction of a color image on a display, <b>characterized in</b> that a weighted mean value for the new pixel and the preceding pixel is determined for each image dot according to the magnitude of subpixel shift.</claim-text></claim>
<claim id="c-en-0002" num="0002">
<claim-text>A device for subpixel shifting in the scanning direction of a color image on a display, <b>characterized in</b> that delayed pixel data can be supplied to a color palette unit (2) via a first input and non-delayed pixel data can be supplied via a second input , the color palette unit being devised to determine a weighted mean value for the color intensity of the delayed and non-delated pixel for each image dot by table look-up according to a predetermined algorithm.</claim-text></claim>
<claim id="c-en-0003" num="0003">
<claim-text>A device according to claim 2, <b>characterized in</b> that at least two color intensity tables or matrices are stored in a memory in the color palette unit (2).</claim-text></claim>
<claim id="c-en-0004" num="0004">
<claim-text>A device according to claim 3, <b>characterized in</b> that four color intensity tables or matrices are stored in the memory of the color palette unit (2), each table or matrix comprising 16 rows and 16 columns.</claim-text></claim>
<claim id="c-en-0005" num="0005">
<claim-text>A device according to any of claims 2 - 4, <b>characterized in</b>  that each pixel comprises 4 bits.</claim-text></claim>
<claim id="c-en-0006" num="0006">
<claim-text>A device according to any of claims 2 - 5, <b>characterized in</b>  that the color intensities of existing "old" pixels form rows in a table or matrix, and "new" pixels form columns.</claim-text></claim>
<claim id="c-en-0007" num="0007">
<claim-text>A device according to any of claims 2 - 6, <b>characterized in</b>  that a delay unit (4) is connected to the color<!-- EPO <DP n="8"> --> palette unit's (2) first input in order to deliver said delayed pixel data to the color palette unit.</claim-text></claim>
<claim id="c-en-0008" num="0008">
<claim-text>A device according to any of claims 2 - 7, <b>characterized in</b>  that a clock (8) is arranged to control the delay unit (4) and the delivery of color signals from the color palette unit (2).</claim-text></claim>
<claim id="c-en-0009" num="0009">
<claim-text>A device according to any of claims 2 - 8, <b>characterized in</b>  that a register (6) is connected to the color palette unit (2) for determining the magnitude of the subpixel movement.</claim-text></claim>
<claim id="c-en-0010" num="0010">
<claim-text>A device according to claim 2, <b>characterized in</b> that the color intensity tables or matrices are reloadable during the image return.</claim-text></claim>
</claims><!-- EPO <DP n="9"> -->
<drawings id="draw" lang="en">
<figure id="f0001" num=""><img id="if0001" file="imgf0001.tif" wi="139" he="205" img-content="drawing" img-format="tif"/></figure>
</drawings><!-- EPO <DP n="10"> -->
<search-report-data id="srep" lang="en" srep-office="EP" date-produced=""><doc-page id="srep0001" file="srep0001.tif" wi="156" he="235" type="tif"/></search-report-data>
</ep-patent-document>
