US20080181518A1 - Method and Apparatus for Fast and Flexible Digital Image Compression Using Programmable Sprite Buffer - Google Patents
Method and Apparatus for Fast and Flexible Digital Image Compression Using Programmable Sprite Buffer Download PDFInfo
- Publication number
- US20080181518A1 US20080181518A1 US12/060,939 US6093908A US2008181518A1 US 20080181518 A1 US20080181518 A1 US 20080181518A1 US 6093908 A US6093908 A US 6093908A US 2008181518 A1 US2008181518 A1 US 2008181518A1
- Authority
- US
- United States
- Prior art keywords
- pixels
- picture image
- digital picture
- frame
- limitations
- 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.)
- Abandoned
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 239000000872 buffer Substances 0.000 title claims abstract description 33
- 238000007906 compression Methods 0.000 title claims abstract description 21
- 230000006835 compression Effects 0.000 title claims abstract description 20
- 230000005540 biological transmission Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 description 10
- 238000013461 design Methods 0.000 description 7
- 230000015654 memory Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000009466 transformation Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 239000007795 chemical reaction product Substances 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000000919 ceramic Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000013067 intermediate product Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/20—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
- H04N19/23—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with coding of regions that are present throughout a whole video segment, e.g. sprites, background or mosaic
Definitions
- This application generally relates to co-pending U.S. patent applications entitled (1) “Method and Apparatus for a Fast Graphic Rendering Realization Methodology Using Programmable Sprite Control” (Docket No. YOR920050502US1) and (2) “Apparatus for Monitor, Storage and Back Editing, Retrieving of Digitally Stored Surveillance Images” (Docket No. YOR920050507US1) filed concurrently herewith, the contents of which in their entireties are herein incorporated by reference.
- the embodiments herein generally relate to image processing, and, more particularly, to digital image compression techniques used for image processing.
- the conventional digital image compressing systems 100 are normally transformation based systems, typically either Discrete Cosine Transform (DCT) based or fractal transformation based, as shown in FIG. 1 .
- DCT Discrete Cosine Transform
- the intra-frame compression and inter-frame search algorithms are 8 ⁇ 8 DCT transformation based, for most of the commercial application and standards, while the rest are fractal transformation based.
- these transformation based systems 100 use the nature characteristics of similarity between neighboring pixels, thus by selective quantization, to reach the goal of information representation reduction.
- the motion search algorithms are also pixel based and not outside of the 8 ⁇ 8 box.
- the P-frame and B-frame search modes are also based on the average DCT based values in between frames, thus is still based on the 8 ⁇ 8 frame.
- the above parameters represent a limitation for image compression. Therefore, there remains a need for a digital image compression technique that is fast and flexible.
- the embodiments herein provide a method of performing digital image compression, and a program storage device readable by computer, tangibly embodying a program of instructions executable by the computer to perform the method, wherein the method comprises comparing pixels in various locations in a digital picture image frame; coding a position of pixels located in a foreground of the digital picture image frame; sending the coded positions of the pixels located in a foreground of the digital picture image frame to a frame buffer of a sprite controller; separating a background pixel group from a foreground pixel group in the digital picture image frame based on the coded positions; compressing the pixels in the foreground pixel group; and transmitting a frame number and a frame buffer parameter dimension corresponding to the compressed pixels to a digital picture image display viewer.
- the method may further comprise comparing pixels outside of an 8 ⁇ 8 64 pixel box scope in the digital picture image frame. Moreover, the method may further comprise compressing the pixels in the foreground pixel group based only on the coded positions. Preferably, the transmission of the frame number and the frame buffer parameter dimension corresponding to the compressed pixels to the digital picture image display viewer occurs periodically and depends on characteristics of the digital picture image frame.
- the method may further comprise configuring the sprite controller as a mini Cathode Ray Tube Controller (CRTC). Preferably, the configuration of the sprite controller is variable.
- the method may further comprise using a comparator to separate the background pixel group from the foreground pixel group, wherein the comparator preferably comprises exclusive OR digital logic.
- Another embodiment provides a system for performing digital image compression, wherein the system comprises a digital picture image frame comprising pixels; and a sprite controller comprising a dimension register array adapted to code a position of pixels located in a foreground of the digital picture image frame; a frame buffer adapted to store the coded positions of the pixels located in a foreground of the digital picture image frame; a comparator adapted to separate a background pixel group from a foreground pixel group in the digital picture image frame based on the coded positions; an image compressor adapted to compress the pixels in the foreground pixel group; and a picture image frame counter adapted to process a frame number and a frame buffer parameter dimension corresponding to the compressed pixels.
- the pixels are outside of an 8 ⁇ 8 64 pixel box scope in the digital picture image frame.
- the image compressor is preferably adapted to compress the pixels in the foreground pixel group based only on the coded positions.
- the system may further comprise a transmitter adapted to transmit the frame number and the frame buffer parameter dimension corresponding to the compressed pixels; and a digital picture image display viewer adapted to receive the transmission from the transmitter, wherein the transmission of the frame number and the frame buffer parameter dimension corresponding to the compressed pixels to the digital picture image display viewer occurs periodically and depends on characteristics of the digital picture image frame.
- the sprite controller preferably comprises a mini CRTC.
- the comparator preferably comprises exclusive OR digital logic.
- the configuration of the sprite controller is variable.
- FIG. 1 illustrates a schematic diagram of a conventional computer or electronic system
- FIG. 2 illustrates a graphical representation of a picture frame
- FIG. 3 illustrates a schematic diagram of an image compression architecture according to an embodiment herein
- FIG. 4 illustrates a schematic diagram of an image controller architecture according to an embodiment herein
- FIG. 5 illustrates a computer system diagram according to an embodiment herein.
- FIG. 6 is a flow diagram illustrating a preferred method of an embodiment herein.
- FIGS. 2 through 6 where similar reference characters denote corresponding features consistently throughout the figures, there are shown preferred embodiments.
- most picture frames 200 have the following characteristics: (1) most of the pictures have a large portion of the “background” 210 that is relatively static, such as a flower bed; (2) there are always relatively small but relatively fixed shaped “foreground” objects 220 that move inside the picture frames 200 ; and (3) statistically, the entropy of the picture 200 , from the inter-frame point of view, is not evenly distributed.
- “entropy from the inter-frame point of view” means that inter-frame (the pixels outside the single same frame) picture's entropy is unevenly distributed inside the entire frame 200 ; e.g., small portion of picture frame 200 changes between frames, but a large portion remains the same.
- the embodiments herein provide a technique of separating the “background” pixel group 210 and the “foreground” pixel group 220 , outside of the 8 ⁇ 8 64 pixel box scopes.
- An 8 ⁇ 8 64 pixel box scope is simply an 8 ⁇ 8 pixel square box; e.g., 64 pixels.
- the image compression is realized in a very high compression ratio rate of compression, wherein the ratio rate depends on the characteristic of the pictures.
- the compression ratio rate equals the post-compression total number of bits divided by the pre-compression total number of bits.
- the compressing is accomplished from only the coded parameters that are needed to be transmitted; the pixels in the foreground and background frame buffer 312 , 310 , respectively, only have to be transmitted periodically, depending on the nature of the pictures; i.e., the entropy of the pictures such as the uniformity of the picture. In other words, only the coded information is transmitted, not the original picture frame 200 .
- buffers 310 , 312 are configured as one piece of hardware.
- the preprocessing 302 in FIG. 3 performs color rendering, cortex formation, pixel grouping and also image digitization and color space conversion tasks.
- a “sprite” is a combination of small buffers 310 , 312 and a logic (sprite) controller 320 that controls these buffers 310 , 312 , to move and separate pixels.
- the sprite controller 320 can be accomplished as illustrated in FIG. 4 , wherein FIG. 4 is the detailed illustration of sprite controller 320 in FIG. 3 .
- the sprite controller 320 should have a small to medium sized frame buffer 403 to store the foreground pixel values 220 . The size is flexible depending on the design constraints and picture processing speed considerations.
- the sprite controller 320 should preferably have a dimension register array 405 to code the position of the foreground pixels 220 .
- the dimension register array 405 preferably comprises a two-tiered register of arrays that store the horizontal and vertical display parameters of the sprite controller 405 .
- the sprite controller 400 should preferably have a comparator array (motion analyzer) 401 (for example, exclusive OR logic) to distinguish the foreground sprite area 220 from the background 210 .
- the sprite controller 320 is implemented as a mini CRTC, with a small frame buffer 403 .
- the CRTC is adapted to control the scan of pixels across the display on the CRT, including horizontal and vertical positions of the pixels and the value of the pixels.
- the shape of the sprite can be of any shape, such as in the case of FIG. 4 , it is implemented in a rectangular shape, or it could be a circle or any other shape, even a variable shape so long as the shape position parameters can be easily coded.
- the “shape” of the motion analyzer 401 is the size of the motion analyzer 401 , which may be flexible depending on the design constraints. In operation, the pixels come from the motion analyzer 401 and are stored in the sprite pixel buffer 403 . The parameters from the motion analyzer 401 are stored and controlled in array 405 and inter-frame number counter 407 .
- the techniques provided by the embodiments herein may be implemented on an integrated circuit chip (not shown).
- the chip design is created in a graphical computer programming language, and stored in a computer storage medium (such as a disk, tape, physical hard drive, or virtual hard drive such as in a storage access network). If the designer does not fabricate chips or the photolithographic masks used to fabricate chips, the designer transmits the resulting design by physical means (e.g., by providing a copy of the storage medium storing the design) or electronically (e.g., through the Internet) to such entities, directly or indirectly.
- the stored design is then converted into the appropriate format (e.g., GDSII) for the fabrication of photolithographic masks, which typically include multiple copies of the chip design in question that are to be formed on a wafer.
- the photolithographic masks are utilized to define areas of the wafer (and/or the layers thereon) to be etched or otherwise processed.
- the resulting integrated circuit chips can be distributed by the fabricator in raw wafer form (that is, as a single wafer that has multiple unpackaged chips), as a bare die, or in a packaged form.
- the chip is mounted in a single chip package (such as a plastic carrier, with leads that are affixed to a motherboard or other higher level carrier) or in a multichip package (such as a ceramic carrier that has either or both surface interconnections or buried interconnections).
- the chip is then integrated with other chips, discrete circuit elements, and/or other signal processing devices as part of either (a) an intermediate product, such as a motherboard, or (b) an end product.
- the end product can be any product that includes integrated circuit chips, ranging from toys and other low-end applications to advanced computer products having a display, a keyboard or other input device, and a central processor.
- the embodiments herein can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment including both hardware and software elements.
- the embodiments are implemented in software, which includes but is not limited to firmware, resident software, microcode, etc.
- a computer-usable or computer-readable medium can be any apparatus that can comprise, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
- the medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium.
- Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk.
- Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD.
- a data processing system suitable for storing and/or executing program code will include at least one processor coupled directly or indirectly to memory elements through a system bus.
- the memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution.
- I/O devices can be coupled to the system either directly or through intervening I/O controllers.
- Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.
- FIG. 5 A representative hardware environment for practicing the embodiments herein is depicted in FIG. 5 .
- the system comprises at least one processor or central processing unit (CPU) 10 .
- the CPUs 10 are interconnected via system bus 12 to various devices such as a RAM 14 , ROM 16 , and an I/O adapter 18 .
- the I/O adapter 18 can connect to peripheral devices, such as disk units 11 and tape drives 13 , or other program storage devices that are readable by the system.
- the system can read the inventive instructions on the program storage devices and follow these instructions to execute the methodology of the embodiments herein.
- the system further includes a user interface adapter 19 that connects a keyboard 15 , mouse 17 , speaker 24 , microphone 22 , and/or other user interface devices such as a touch screen device (not shown) to the bus 12 to gather user input.
- a communication adapter 20 connects the bus 12 to a data processing network 25
- a display adapter 21 connects the bus 12 to a display device 23 which may be embodied as an output device such as a monitor, printer, or transmitter, for example.
- FIG. 6 is a flow diagram illustrating a method of performing digital image compression according to an embodiment herein, wherein the method comprises comparing ( 601 ) pixels in various locations in a digital picture image frame 200 ; coding ( 603 ) a position of pixels located in a foreground 220 of the digital picture image frame 200 ; sending ( 605 ) the coded positions of the pixels located in a foreground 220 of the digital picture image frame 200 to a frame buffer 315 of a sprite controller 300 ; separating ( 607 ) a background pixel group 210 from a foreground pixel group 220 in the digital picture image frame 200 based on the coded positions; compressing ( 609 ) the pixels in the foreground pixel group 220 ; and transmitting ( 611 ) a frame number 315 and a frame buffer parameter dimension 320 corresponding to the compressed pixels to a digital picture image display viewer 322 .
- the method may further comprise comparing pixels outside of an 8 ⁇ 8 64 pixel box scope in the digital picture image frame 200 . Moreover, the method may further comprise compressing the pixels in the foreground pixel group 220 based only on the coded positions. Preferably, the transmission of the frame number 315 and the frame buffer parameter dimension 320 corresponding to the compressed pixels to the digital picture image display viewer 322 occurs periodically and depends on characteristics of the digital picture image frame 200 .
- the method may further comprise configuring the sprite controller 300 as a mini CRTC. Preferably, the configuration of the sprite controller 300 is variable. Furthermore, the method may further comprise using a comparator 401 to separate the background pixel group 210 from the foreground pixel group 220 , wherein the comparator 401 preferably comprises exclusive OR digital logic.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
A system and method of performing digital image compression comprises comparing pixels in various locations in a digital picture image frame; coding a position of pixels located in a foreground of the digital picture image frame; sending the coded positions of the pixels located in a foreground of the digital picture image frame to a frame buffer of a sprite controller; separating a background pixel group from a foreground pixel group in the digital picture image frame based on the coded positions; compressing the pixels in the foreground pixel group; and transmitting a frame number and a frame buffer parameter dimension corresponding to the compressed pixels to a digital picture image display viewer.
Description
- This application is a Continuation of U.S. application Ser. No. 11/412,205 filed Apr. 26, 2006, the complete disclosure of which, in its entirety, is herein incorporated by reference.
- This application generally relates to co-pending U.S. patent applications entitled (1) “Method and Apparatus for a Fast Graphic Rendering Realization Methodology Using Programmable Sprite Control” (Docket No. YOR920050502US1) and (2) “Apparatus for Monitor, Storage and Back Editing, Retrieving of Digitally Stored Surveillance Images” (Docket No. YOR920050507US1) filed concurrently herewith, the contents of which in their entireties are herein incorporated by reference.
- 1. Technical Field
- The embodiments herein generally relate to image processing, and, more particularly, to digital image compression techniques used for image processing.
- 2. Description of the Related Art
- The conventional digital
image compressing systems 100 are normally transformation based systems, typically either Discrete Cosine Transform (DCT) based or fractal transformation based, as shown inFIG. 1 . Generally, the intra-frame compression and inter-frame search algorithms are 8×8 DCT transformation based, for most of the commercial application and standards, while the rest are fractal transformation based. Typically, these transformation basedsystems 100 use the nature characteristics of similarity between neighboring pixels, thus by selective quantization, to reach the goal of information representation reduction. - Typically, in the inter-frame algorithm, all of the coding and transformations occur around the 8×8 boundaries. In the intra-frame algorithm, the motion search algorithms are also pixel based and not outside of the 8×8 box. The P-frame and B-frame search modes are also based on the average DCT based values in between frames, thus is still based on the 8×8 frame. However, the above parameters represent a limitation for image compression. Therefore, there remains a need for a digital image compression technique that is fast and flexible.
- In view of the foregoing, the embodiments herein provide a method of performing digital image compression, and a program storage device readable by computer, tangibly embodying a program of instructions executable by the computer to perform the method, wherein the method comprises comparing pixels in various locations in a digital picture image frame; coding a position of pixels located in a foreground of the digital picture image frame; sending the coded positions of the pixels located in a foreground of the digital picture image frame to a frame buffer of a sprite controller; separating a background pixel group from a foreground pixel group in the digital picture image frame based on the coded positions; compressing the pixels in the foreground pixel group; and transmitting a frame number and a frame buffer parameter dimension corresponding to the compressed pixels to a digital picture image display viewer.
- The method may further comprise comparing pixels outside of an 8×8 64 pixel box scope in the digital picture image frame. Moreover, the method may further comprise compressing the pixels in the foreground pixel group based only on the coded positions. Preferably, the transmission of the frame number and the frame buffer parameter dimension corresponding to the compressed pixels to the digital picture image display viewer occurs periodically and depends on characteristics of the digital picture image frame. The method may further comprise configuring the sprite controller as a mini Cathode Ray Tube Controller (CRTC). Preferably, the configuration of the sprite controller is variable. Furthermore, the method may further comprise using a comparator to separate the background pixel group from the foreground pixel group, wherein the comparator preferably comprises exclusive OR digital logic.
- Another embodiment provides a system for performing digital image compression, wherein the system comprises a digital picture image frame comprising pixels; and a sprite controller comprising a dimension register array adapted to code a position of pixels located in a foreground of the digital picture image frame; a frame buffer adapted to store the coded positions of the pixels located in a foreground of the digital picture image frame; a comparator adapted to separate a background pixel group from a foreground pixel group in the digital picture image frame based on the coded positions; an image compressor adapted to compress the pixels in the foreground pixel group; and a picture image frame counter adapted to process a frame number and a frame buffer parameter dimension corresponding to the compressed pixels. Preferably, the pixels are outside of an 8×8 64 pixel box scope in the digital picture image frame. Furthermore, the image compressor is preferably adapted to compress the pixels in the foreground pixel group based only on the coded positions. Additionally, the system may further comprise a transmitter adapted to transmit the frame number and the frame buffer parameter dimension corresponding to the compressed pixels; and a digital picture image display viewer adapted to receive the transmission from the transmitter, wherein the transmission of the frame number and the frame buffer parameter dimension corresponding to the compressed pixels to the digital picture image display viewer occurs periodically and depends on characteristics of the digital picture image frame. Moreover, the sprite controller preferably comprises a mini CRTC. Also, the comparator preferably comprises exclusive OR digital logic. Preferably, the configuration of the sprite controller is variable.
- These and other aspects of the embodiments herein will be better appreciated and understood when considered in conjunction with the following description and the accompanying drawings. It should be understood, however, that the following descriptions, while indicating preferred embodiments and numerous specific details thereof, are given by way of illustration and not of limitation. Many changes and modifications may be made within the scope of the embodiments herein without departing from the spirit thereof, and the embodiments herein include all such modifications.
- The embodiments herein will be better understood from the following detailed description with reference to the drawings, in which:
-
FIG. 1 illustrates a schematic diagram of a conventional computer or electronic system; -
FIG. 2 illustrates a graphical representation of a picture frame; -
FIG. 3 illustrates a schematic diagram of an image compression architecture according to an embodiment herein; -
FIG. 4 illustrates a schematic diagram of an image controller architecture according to an embodiment herein; -
FIG. 5 illustrates a computer system diagram according to an embodiment herein; and -
FIG. 6 is a flow diagram illustrating a preferred method of an embodiment herein. - The embodiments herein and the various features and advantageous details thereof are explained more fully with reference to the non-limiting embodiments that are illustrated in the accompanying drawings and detailed in the following description. Descriptions of well-known components and processing techniques are omitted so as to not unnecessarily obscure the embodiments herein. The examples used herein are intended merely to facilitate an understanding of ways in which the embodiments herein may be practiced and to further enable those of skill in the art to practice the embodiments herein. Accordingly, the examples should not be construed as limiting the scope of the embodiments herein.
- As mentioned, there remains a need for a digital image compression technique that is fast and flexible. The embodiments herein achieve this by providing a programmable sprite buffer used for digital image compression. Referring now to the drawings, and more particularly to
FIGS. 2 through 6 , where similar reference characters denote corresponding features consistently throughout the figures, there are shown preferred embodiments. - As illustrated in
FIG. 2 ,most picture frames 200 have the following characteristics: (1) most of the pictures have a large portion of the “background” 210 that is relatively static, such as a flower bed; (2) there are always relatively small but relatively fixed shaped “foreground”objects 220 that move inside thepicture frames 200; and (3) statistically, the entropy of thepicture 200, from the inter-frame point of view, is not evenly distributed. In this context, “entropy from the inter-frame point of view” means that inter-frame (the pixels outside the single same frame) picture's entropy is unevenly distributed inside theentire frame 200; e.g., small portion ofpicture frame 200 changes between frames, but a large portion remains the same. - The embodiments herein provide a technique of separating the “background”
pixel group 210 and the “foreground”pixel group 220, outside of the 8×8 64 pixel box scopes. An 8×8 64 pixel box scope is simply an 8×8 pixel square box; e.g., 64 pixels. By comparing the frames in between the pixel level; i.e., comparing within box or block level; e.g., group of pixel levels, not a single pixel level, theforeground 220 can be separated out and put into aframe buffer 312 of asprite controller 300 as shown inFIG. 3 by saving the portion of the moving pixel into theframe buffer 312 in thesprite controller 300; thus only theframe number 315 and dimensions of the sprite controller'sparameter 320 are required to be transmitted instead of the pixel values. These features help to separate theforeground pixels 220 by only providing the information that is actually needed to reconstruct the original image. This is advantageous (i.e., not transmitting pixel values) because it saves channel capacity, wherein the channel capacity refers to the transmission of packets or bits. Thus, the image compression is realized in a very high compression ratio rate of compression, wherein the ratio rate depends on the characteristic of the pictures. The compression ratio rate equals the post-compression total number of bits divided by the pre-compression total number of bits. - The compressing is accomplished from only the coded parameters that are needed to be transmitted; the pixels in the foreground and
background frame buffer original picture frame 200. Preferably, buffers 310, 312 are configured as one piece of hardware. The preprocessing 302 inFIG. 3 performs color rendering, cortex formation, pixel grouping and also image digitization and color space conversion tasks. - One aspect of the embodiments herein is the architecture of the
sprite controller 300 that separates theforeground pixels 220 and thebackground pixels 210, thus drastically reducing the amount of information that has to be transmitted. According to the embodiments herein, a “sprite” is a combination ofsmall buffers controller 320 that controls thesebuffers - The implementation of the
sprite controller 320 can be accomplished as illustrated inFIG. 4 , whereinFIG. 4 is the detailed illustration ofsprite controller 320 inFIG. 3 . Preferably, thesprite controller 320 should have a small to mediumsized frame buffer 403 to store the foreground pixel values 220. The size is flexible depending on the design constraints and picture processing speed considerations. Furthermore, thesprite controller 320 should preferably have adimension register array 405 to code the position of theforeground pixels 220. Thedimension register array 405 preferably comprises a two-tiered register of arrays that store the horizontal and vertical display parameters of thesprite controller 405. Moreover, the sprite controller 400 should preferably have a comparator array (motion analyzer) 401 (for example, exclusive OR logic) to distinguish theforeground sprite area 220 from thebackground 210. - In a preferred embodiment, the
sprite controller 320 is implemented as a mini CRTC, with asmall frame buffer 403. The CRTC is adapted to control the scan of pixels across the display on the CRT, including horizontal and vertical positions of the pixels and the value of the pixels. The shape of the sprite can be of any shape, such as in the case ofFIG. 4 , it is implemented in a rectangular shape, or it could be a circle or any other shape, even a variable shape so long as the shape position parameters can be easily coded. The “shape” of themotion analyzer 401 is the size of themotion analyzer 401, which may be flexible depending on the design constraints. In operation, the pixels come from themotion analyzer 401 and are stored in thesprite pixel buffer 403. The parameters from themotion analyzer 401 are stored and controlled inarray 405 andinter-frame number counter 407. - The techniques provided by the embodiments herein may be implemented on an integrated circuit chip (not shown). The chip design is created in a graphical computer programming language, and stored in a computer storage medium (such as a disk, tape, physical hard drive, or virtual hard drive such as in a storage access network). If the designer does not fabricate chips or the photolithographic masks used to fabricate chips, the designer transmits the resulting design by physical means (e.g., by providing a copy of the storage medium storing the design) or electronically (e.g., through the Internet) to such entities, directly or indirectly. The stored design is then converted into the appropriate format (e.g., GDSII) for the fabrication of photolithographic masks, which typically include multiple copies of the chip design in question that are to be formed on a wafer. The photolithographic masks are utilized to define areas of the wafer (and/or the layers thereon) to be etched or otherwise processed.
- The resulting integrated circuit chips can be distributed by the fabricator in raw wafer form (that is, as a single wafer that has multiple unpackaged chips), as a bare die, or in a packaged form. In the latter case the chip is mounted in a single chip package (such as a plastic carrier, with leads that are affixed to a motherboard or other higher level carrier) or in a multichip package (such as a ceramic carrier that has either or both surface interconnections or buried interconnections). In any case the chip is then integrated with other chips, discrete circuit elements, and/or other signal processing devices as part of either (a) an intermediate product, such as a motherboard, or (b) an end product. The end product can be any product that includes integrated circuit chips, ranging from toys and other low-end applications to advanced computer products having a display, a keyboard or other input device, and a central processor.
- The embodiments herein can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment including both hardware and software elements. Preferably, the embodiments are implemented in software, which includes but is not limited to firmware, resident software, microcode, etc.
- Furthermore, the embodiments herein can take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can comprise, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
- The medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD.
- A data processing system suitable for storing and/or executing program code will include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution.
- Input/output (I/O) devices (including but not limited to keyboards, displays, pointing devices, etc.) can be coupled to the system either directly or through intervening I/O controllers. Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.
- A representative hardware environment for practicing the embodiments herein is depicted in
FIG. 5 . This schematic drawing illustrates a hardware configuration of an information handling/computer system in accordance with the embodiments herein. The system comprises at least one processor or central processing unit (CPU) 10. TheCPUs 10 are interconnected viasystem bus 12 to various devices such as aRAM 14,ROM 16, and an I/O adapter 18. The I/O adapter 18 can connect to peripheral devices, such asdisk units 11 and tape drives 13, or other program storage devices that are readable by the system. The system can read the inventive instructions on the program storage devices and follow these instructions to execute the methodology of the embodiments herein. The system further includes auser interface adapter 19 that connects akeyboard 15,mouse 17,speaker 24,microphone 22, and/or other user interface devices such as a touch screen device (not shown) to thebus 12 to gather user input. Additionally, acommunication adapter 20 connects thebus 12 to adata processing network 25, and adisplay adapter 21 connects thebus 12 to adisplay device 23 which may be embodied as an output device such as a monitor, printer, or transmitter, for example. -
FIG. 6 , with reference toFIGS. 2 through 5 , is a flow diagram illustrating a method of performing digital image compression according to an embodiment herein, wherein the method comprises comparing (601) pixels in various locations in a digitalpicture image frame 200; coding (603) a position of pixels located in aforeground 220 of the digitalpicture image frame 200; sending (605) the coded positions of the pixels located in aforeground 220 of the digitalpicture image frame 200 to aframe buffer 315 of asprite controller 300; separating (607) abackground pixel group 210 from aforeground pixel group 220 in the digitalpicture image frame 200 based on the coded positions; compressing (609) the pixels in theforeground pixel group 220; and transmitting (611) aframe number 315 and a framebuffer parameter dimension 320 corresponding to the compressed pixels to a digital pictureimage display viewer 322. - The method may further comprise comparing pixels outside of an 8×8 64 pixel box scope in the digital
picture image frame 200. Moreover, the method may further comprise compressing the pixels in theforeground pixel group 220 based only on the coded positions. Preferably, the transmission of theframe number 315 and the framebuffer parameter dimension 320 corresponding to the compressed pixels to the digital pictureimage display viewer 322 occurs periodically and depends on characteristics of the digitalpicture image frame 200. The method may further comprise configuring thesprite controller 300 as a mini CRTC. Preferably, the configuration of thesprite controller 300 is variable. Furthermore, the method may further comprise using acomparator 401 to separate thebackground pixel group 210 from theforeground pixel group 220, wherein thecomparator 401 preferably comprises exclusive OR digital logic. - The foregoing description of the specific embodiments will so fully reveal the general nature of the embodiments herein that others can, by applying current knowledge, readily modify and/or adapt for various applications such specific embodiments without departing from the generic concept, and, therefore, such adaptations and modifications should and are intended to be comprehended within the meaning and range of equivalents of the disclosed embodiments. It is to be understood that the phraseology or terminology employed herein is for the purpose of description and not of limitation. Therefore, while the embodiments herein have been described in terms of preferred embodiments, those skilled in the art will recognize that the embodiments herein can be practiced with modification within the spirit and scope of the appended claims.
Claims (20)
1. A method of performing digital image compression, said method comprising:
comparing pixels in various locations in a digital picture image frame;
coding a position of pixels located in a foreground of said digital picture image frame;
sending the coded positions of said pixels located in a foreground of said digital picture image frame to a frame buffer of a sprite controller;
separating a background pixel group from a foreground pixel group in said digital picture image frame based on the coded positions;
compressing said pixels in said foreground pixel group; and
transmitting a frame number and a frame buffer parameter dimension corresponding to the compressed pixels to a digital picture image display viewer.
2. The method of claim 1 , all the limitations of which are incorporated herein by reference, further comprising comparing pixels outside of an 8×8 64 pixel box scope in said digital picture image frame.
3. The method of claim 1 , all the limitations of which are incorporated herein by reference, further comprising compressing said pixels in said foreground pixel group based only on said coded positions.
4. The method of claim 1 , all the limitations of which are incorporated herein by reference, wherein the transmission of said frame number and said frame buffer parameter dimension corresponding to the compressed pixels to said digital picture image display viewer occurs periodically and depends on characteristics of said digital picture image frame.
5. The method of claim 1 , all the limitations of which are incorporated herein by reference, further comprising configuring said sprite controller as a mini Cathode Ray Tube Controller (CRTC).
6. The method of claim 1 , all the limitations of which are incorporated herein by reference, wherein a configuration of said sprite controller is variable.
7. The method of claim 1 , all the limitations of which are incorporated herein by reference, further comprising using a comparator to separate said background pixel group from said foreground pixel group, wherein said comparator comprises exclusive OR digital logic.
8. A program storage device readable by computer, tangibly embodying a program of instructions executable by said computer to perform a method of performing digital image compression, said method comprising:
comparing pixels in various locations in a digital picture image frame;
coding a position of pixels located in a foreground of said digital picture image frame;
sending the coded positions of said pixels located in a foreground of said digital picture image frame to a frame buffer of a sprite controller;
separating a background pixel group from a foreground pixel group in said digital picture image frame based on the coded positions;
compressing said pixels in said foreground pixel group; and
transmitting a frame number and a frame buffer parameter dimension corresponding to the compressed pixels to a digital picture image display viewer.
9. The program storage device of claim 8 , all the limitations of which are incorporated herein by reference, wherein said method further comprises comparing pixels outside of an 8×8 64 pixel box scope in said digital picture image frame.
10. The program storage device of claim 8 , all the limitations of which are incorporated herein by reference, wherein said method further comprises compressing said pixels in said foreground pixel group based only on said coded positions.
11. The program storage device of claim 8 , all the limitations of which are incorporated herein by reference, wherein in said method, the transmission of said frame number and said frame buffer parameter dimension corresponding to the compressed pixels to said digital picture image display viewer occurs periodically and depends on characteristics of said digital picture image frame.
12. The program storage device of claim 8 , all the limitations of which are incorporated herein by reference, wherein said method further comprises configuring said sprite controller as a mini Cathode Ray Tube Controller (CRTC).
13. The program storage device of claim 8 , all the limitations of which are incorporated herein by reference, wherein a configuration of said sprite controller is variable.
14. A system for performing digital image compression, said system comprising:
a digital picture image frame comprising pixels; and
a sprite controller comprising:
a dimension register array adapted to code a position of pixels located in a foreground of said digital picture image frame;
a frame buffer adapted to store the coded positions of said pixels located in a foreground of said digital picture image frame;
a comparator adapted to separate a background pixel group from a foreground pixel group in said digital picture image frame based on the coded positions;
an image compressor adapted to compress said pixels in said foreground pixel group; and
a picture image frame counter adapted to process a frame number and a frame buffer parameter dimension corresponding to the compressed pixels.
15. The system of claim 14 , all the limitations of which are incorporated herein by reference, wherein said pixels are outside of an 8×8 64 pixel box scope in said digital picture image frame.
16. The system of claim 14 , all the limitations of which are incorporated herein by reference, wherein said image compressor is adapted to compress said pixels in said foreground pixel group based only on said coded positions.
17. The system of claim 14 , all the limitations of which are incorporated herein by reference, further comprising:
a transmitter adapted to transmit said frame number and said frame buffer parameter dimension corresponding to the compressed pixels; and
a digital picture image display viewer adapted to receive the transmission from said transmitter,
wherein the transmission of said frame number and said frame buffer parameter dimension corresponding to the compressed pixels to said digital picture image display viewer occurs periodically and depends on characteristics of said digital picture image frame.
18. The system of claim 14 , all the limitations of which are incorporated herein by reference, wherein said sprite controller comprises a mini Cathode Ray Tube Controller (CRTC).
19. The system of claim 14 , all the limitations of which are incorporated herein by reference, wherein said comparator comprises exclusive OR digital logic.
20. The system of claim 14 , all the limitations of which are incorporated herein by reference, wherein a configuration of said sprite controller is variable.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/060,939 US20080181518A1 (en) | 2006-04-26 | 2008-04-02 | Method and Apparatus for Fast and Flexible Digital Image Compression Using Programmable Sprite Buffer |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/412,205 US20070253630A1 (en) | 2006-04-26 | 2006-04-26 | Method and apparatus for fast and flexible digital image compression using programmable sprite buffer |
US12/060,939 US20080181518A1 (en) | 2006-04-26 | 2008-04-02 | Method and Apparatus for Fast and Flexible Digital Image Compression Using Programmable Sprite Buffer |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/412,205 Continuation US20070253630A1 (en) | 2006-04-26 | 2006-04-26 | Method and apparatus for fast and flexible digital image compression using programmable sprite buffer |
Publications (1)
Publication Number | Publication Date |
---|---|
US20080181518A1 true US20080181518A1 (en) | 2008-07-31 |
Family
ID=38648373
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/412,205 Abandoned US20070253630A1 (en) | 2006-04-26 | 2006-04-26 | Method and apparatus for fast and flexible digital image compression using programmable sprite buffer |
US12/060,939 Abandoned US20080181518A1 (en) | 2006-04-26 | 2008-04-02 | Method and Apparatus for Fast and Flexible Digital Image Compression Using Programmable Sprite Buffer |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/412,205 Abandoned US20070253630A1 (en) | 2006-04-26 | 2006-04-26 | Method and apparatus for fast and flexible digital image compression using programmable sprite buffer |
Country Status (1)
Country | Link |
---|---|
US (2) | US20070253630A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070252895A1 (en) * | 2006-04-26 | 2007-11-01 | International Business Machines Corporation | Apparatus for monitor, storage and back editing, retrieving of digitally stored surveillance images |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2512658B (en) * | 2013-04-05 | 2020-04-01 | British Broadcasting Corp | Transmitting and receiving a composite image |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4951038A (en) * | 1987-05-15 | 1990-08-21 | Hudson Soft Co., Ltd. | Apparatus for displaying a sprite on a screen |
US5634850A (en) * | 1993-05-21 | 1997-06-03 | Sega Enterprises, Ltd. | Image processing device and method |
US5886743A (en) * | 1994-12-28 | 1999-03-23 | Hyundai Electronics Industries Co. Ltd. | Object-by information coding apparatus and method thereof for MPEG-4 picture instrument |
US6249613B1 (en) * | 1997-03-31 | 2001-06-19 | Sharp Laboratories Of America, Inc. | Mosaic generation and sprite-based coding with automatic foreground and background separation |
US6275617B1 (en) * | 1993-07-12 | 2001-08-14 | Sony Corporation | Method and apparatus for separating/generating background and motion object planes |
US6335788B1 (en) * | 1999-04-14 | 2002-01-01 | Ando Electric Co., Ltd. | Optical-fiber characteristics measuring apparatus |
US6683978B1 (en) * | 1997-10-02 | 2004-01-27 | S3 Graphics Co., Ltd. | Fixed-rate block-based image compression with inferred pixel values |
US6701009B1 (en) * | 2000-06-06 | 2004-03-02 | Sharp Laboratories Of America, Inc. | Method of separated color foreground and background pixel improvement |
US6775417B2 (en) * | 1997-10-02 | 2004-08-10 | S3 Graphics Co., Ltd. | Fixed-rate block-based image compression with inferred pixel values |
US6839463B1 (en) * | 2000-12-22 | 2005-01-04 | Microsoft Corporation | System and method providing subpixel-edge-offset-based determination of opacity |
US7477258B2 (en) * | 2006-04-26 | 2009-01-13 | International Business Machines Corporation | Method and apparatus for a fast graphic rendering realization methodology using programmable sprite control |
-
2006
- 2006-04-26 US US11/412,205 patent/US20070253630A1/en not_active Abandoned
-
2008
- 2008-04-02 US US12/060,939 patent/US20080181518A1/en not_active Abandoned
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4951038A (en) * | 1987-05-15 | 1990-08-21 | Hudson Soft Co., Ltd. | Apparatus for displaying a sprite on a screen |
US5634850A (en) * | 1993-05-21 | 1997-06-03 | Sega Enterprises, Ltd. | Image processing device and method |
US6275617B1 (en) * | 1993-07-12 | 2001-08-14 | Sony Corporation | Method and apparatus for separating/generating background and motion object planes |
US5886743A (en) * | 1994-12-28 | 1999-03-23 | Hyundai Electronics Industries Co. Ltd. | Object-by information coding apparatus and method thereof for MPEG-4 picture instrument |
US6249613B1 (en) * | 1997-03-31 | 2001-06-19 | Sharp Laboratories Of America, Inc. | Mosaic generation and sprite-based coding with automatic foreground and background separation |
US6751350B2 (en) * | 1997-03-31 | 2004-06-15 | Sharp Laboratories Of America, Inc. | Mosaic generation and sprite-based coding with automatic foreground and background separation |
US6683978B1 (en) * | 1997-10-02 | 2004-01-27 | S3 Graphics Co., Ltd. | Fixed-rate block-based image compression with inferred pixel values |
US6775417B2 (en) * | 1997-10-02 | 2004-08-10 | S3 Graphics Co., Ltd. | Fixed-rate block-based image compression with inferred pixel values |
US6335788B1 (en) * | 1999-04-14 | 2002-01-01 | Ando Electric Co., Ltd. | Optical-fiber characteristics measuring apparatus |
US6701009B1 (en) * | 2000-06-06 | 2004-03-02 | Sharp Laboratories Of America, Inc. | Method of separated color foreground and background pixel improvement |
US6839463B1 (en) * | 2000-12-22 | 2005-01-04 | Microsoft Corporation | System and method providing subpixel-edge-offset-based determination of opacity |
US7477258B2 (en) * | 2006-04-26 | 2009-01-13 | International Business Machines Corporation | Method and apparatus for a fast graphic rendering realization methodology using programmable sprite control |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070252895A1 (en) * | 2006-04-26 | 2007-11-01 | International Business Machines Corporation | Apparatus for monitor, storage and back editing, retrieving of digitally stored surveillance images |
US20080181462A1 (en) * | 2006-04-26 | 2008-07-31 | International Business Machines Corporation | Apparatus for Monitor, Storage and Back Editing, Retrieving of Digitally Stored Surveillance Images |
US7826667B2 (en) | 2006-04-26 | 2010-11-02 | International Business Machines Corporation | Apparatus for monitor, storage and back editing, retrieving of digitally stored surveillance images |
Also Published As
Publication number | Publication date |
---|---|
US20070253630A1 (en) | 2007-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10547873B2 (en) | System and method for providing real-time super-resolution for compressed videos | |
US8395634B2 (en) | Method and apparatus for processing information | |
US20080107174A1 (en) | Faster image processing | |
US8339406B2 (en) | Variable-length coding data transfer interface | |
US20190313111A1 (en) | Adaptive thresholding for computer vision on low bitrate compressed video streams | |
US6842177B2 (en) | Macroblock padding | |
CN105072353B (en) | A kind of image decoding based on more GPU spells prosecutor method | |
CN103248797A (en) | Video resolution enhancing method and module based on FPGA (field programmable gate array) | |
US8233534B2 (en) | Frame buffer compression and memory allocation in a video decoder | |
US7477258B2 (en) | Method and apparatus for a fast graphic rendering realization methodology using programmable sprite control | |
WO2022135218A1 (en) | Image encoding method and apparatus | |
US20120218292A1 (en) | System and method for multistage optimized jpeg output | |
CN106412588B (en) | Image frame processing method | |
US20080181518A1 (en) | Method and Apparatus for Fast and Flexible Digital Image Compression Using Programmable Sprite Buffer | |
US11284096B2 (en) | Methods and apparatus for decoding video using re-ordered motion vector buffer | |
US20110242112A1 (en) | Display device and driving circuit thereof | |
US8331709B2 (en) | Fixed buffer real-time image compression technique | |
US7313287B2 (en) | Method for digital quantization | |
US8340195B2 (en) | Buffer size reduction for wireless analog TV receivers | |
JP2010141775A (en) | Display device driving circuit and display device | |
CN107241601A (en) | Image data transfer method, device and terminal | |
WO2025059287A1 (en) | Systems and methods for content adaptive multi-scale feature layer filtering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO PAY ISSUE FEE |