← Back to Patent Explorer
US5453786A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for image data processing

Assignee: International Business Machines Corp
•
Filing: 1994-11-25
•
Granted: 1995-09-26
•
Expires: 2014-11-25
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method of processing digital image data such as obtained from a television screen for transmission along telephone lines such that the transmitted data can be transformed to produce images in color. The method includes storing a frame of incoming digital image data in a frame buffer, transferring a group of tiles from the frame buffer to a tile buffer, generating a clock signal, generating address and sets of control signals in a state machine, applying the clock signal to a digital transformer and applying each address and set of control signals to the tile buffer to directly transfer a block of data in the tile buffer to the digital transformer. Next the data in the block is transformed, returned to the tile buffer and is written over the corresponding untransformed data in the tile buffer. These steps are repeated until all tiles in the tile block have been transformed and returned. The transformed tiles in the tile block are then coded so as to complete their compression. The compression steps are repeated until all tiles in the frame buffer are compressed.

Inventors

  • 👤 Robert J. Trent

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-07 18:55
CPC Classifications
H; H04; H04N; H04N19/00; H04N19/60; H04N11/00; H04N11/04; H04N11/042; H04N11/044

Claims Analysis

Total Claims: 24
Claim 1
Independent Claim 294 words
A method of processing digital image data such as obtained from a television screen for transmission along telephone lines such that the transmitted data can be transformed to produce images in colour, comprising the steps of: (a) storing a frame consisting of a plurality of tiles of incoming digital image data in a frame buffer (32); (b) immediately transferring a predetermined number of tiles of said data from said frame buffer (32) to a tile buffer (37); (c) generating a clock signal; (d) generating sets of address and control signals in a state machine (58); (e) applying the clock signal to a digital transformer (36) and applying associated sets of address and control signals to said tile buffer (37) to directly transfer said data in said tile buffer to said digital transformer (36); (f) transforming the transferred data in said digital transformer; (g) immediately returning said transformed data to said tile buffer (37) and overwriting corresponding untransformed data in said tile buffer (37) with the transformed data; (h) repeating steps (c) to (g) until all data in said tile buffer has been transformed and returned; (i) immediately transferring the transformed data from said tile buffer to a digital signal processor so as to code said transformed data in the tile buffer (37) and compress it; (j) immediately transferring a further group of tiles of said data in said frame buffer to said tile buffer while the group of previously transformed data in said tile buffer is being transferred to said digital signal processor for coding; (k) repeating steps (b) and (h) to (j) until all said data in said frame buffer (32) is compressed; wherein data transfer in steps (b), (g), (i) and (j) is independent. Of said transformer and said digital signal processor.
Claim 2
Independent Claim 294 words
A method of processing digital image data such as obtained from a television screen for transmission along telephone lines such that the transmitted data can be transformed to produce images in colour, comprising the steps of: (a) storing a frame consisting of a plurality of tiles of incoming digital image data in a frame buffer (32); (b) immediately transferring a predetermined number of tiles of said data from said frame buffer (32) to a tile buffer (37); (c) generating a clock signal; (d) generating sets of address and control signals in a state machine (58); (e) applying the clock signal to a digital transformer (36) and applying associated sets of address and control signals to said tile buffer (37) to directly transfer said data in said tile buffer to said digital transformer (36); (f) transforming the transferred data in said digital transformer; (g) immediately returning said transformed data to said tile buffer (37) and overwriting corresponding untransformed data in said tile buffer (37) with the transformed data; (h) repeating steps (c) to (g) until all data in said tile buffer has been transformed and returned; (i) immediately transferring the transformed data from said tile buffer to a digital signal processor so as to code said transformed data in the tile buffer (37) and compress it; (j) immediately transferring a further group of tiles of said data in said frame buffer to said tile buffer while the group of previously transformed data in said tile buffer is being transferred to said digital signal processor for coding; (k) repeating steps (b) and (h) to (j) until all said data in said frame buffer (32) is compressed; wherein data transfer in steps (b), (g), (i) and (j) is independent. Of said transformer and said digital signal processor.
Claim 3
Dependent Claim 26 words
A method according to claim 1, wherein said data from said frame buffer is transferred directly to said tile buffer (37) one row at a time.
Claim 4
Dependent Claim 12 words
A method according to claim 2, wherein said coding is Huffman coding.
Claim 5
Dependent Claim 58 words
A method according to claim 3, wherein said decompressing step includes performing reverse Huffman Coding on incoming compressed data to code said compressed data and storing said coded data in said tile buffer (37), performing an inverse discrete cosine transform on said compressed data, and then transferring said decompressed data to said frame buffer (32) for temporary storage.
Claim 6
Dependent Claim 18 words
A method according to claim 2, wherein said clock signal has a frequency greater than approximately one megahertz.
Claim 7
Dependent Claim 16 words
A method according to claim 2, wherein said digital transformer (36) applies a discrete cosine transform.
Claim 8
Dependent Claim 80 words
A method according to claim 2, wherein data stored in said frame buffer (32) is in the form of 8 bits of Y intensity data, 8 bits of I colour data and 8 bits of Q colour data, where is a parameter corresponding to intensity and I and O are two parameters each corresponding to colour, and wherein each pixel is defined by Y and I or Y and Q with I and Q alternating along each row of pixels.
Claim 9
Dependent Claim 17 words
A method according to claim 2, wherein said coding performed by said processor (42) is Huffman coding.
Claim 10
Dependent Claim 60 words
A method according to claim 1, wherein the data transferred from said tile buffer (37) to said transformer (36) is contained in a pair of tiles of said Y, I, or Q data, wherein each of said tiles includes a block having 8 pixels×8 pixels with each pixel being defined by said Y and I or Y and Q data.
Claim 11
Dependent Claim 97 words
A method according to claim 9, wherein data in said tile buffer (37) is transferred by transferring two of said tiles at a time, first said Y data in one of said tiles and then said Y data in a next tile, then said I data in said one tile and then I data in said next tile and finally said Q data in said one tile and then said Q data in said next tile until all of said tiles in said tile buffer (37) have been transferred from and returned to said tile buffer (37).
Claim 12
Independent Claim 285 words
A method of processing digital image data such as obtained from a television screen for transmission along telephone lines such that the transmitted data can be restored to produce images in colour, comprising a compressing step which includes: (a) storing tiles of said digital data in a frame buffer (32) wherein each of said tiles is in the form of a matrix of 8 columns of pixels and 8 rows of pixels, with each pixel having bits to define its colour and intensity; (b) immediately transferring a row of said tiles of said digital data directly from said frame buffer (32) to a tile buffer (37); (c) digitally transforming said tiles of said data by immediately transferring them to a discrete cosine transformer (36) and then immediately transferring them back again to said tile buffer (37) where they overwrite the untransformed data stored in said tile buffer (37); (d) immediately transferring said transformed data from said tile buffer (37) to a digital signal processor (42) where it is coded to complete compression at the same time fetching a new row of uncompressed data from said frame buffer (32) and immediately transferring it to said tile buffer (37); (e) repeating steps (b), (c), and (d) until all of said tiles of said data in said frame buffer (32) have been compressed; and a decompressing step which includes: (f) performing decompression on previously compressed digital data and storing said decompressed data in said tile buffer (37); (g) immediately transferring said data after being decompressed from said tile buffer (37) to said frame buffer (32); (h) wherein data transfer in steps (b), (c), (d) and (g) is independent of said discrete cosine transformer and said digital signal processor.
Claim 13
Independent Claim 285 words
A method of processing digital image data such as obtained from a television screen for transmission along telephone lines such that the transmitted data can be restored to produce images in colour, comprising a compressing step which includes: (a) storing tiles of said digital data in a frame buffer (32) wherein each of said tiles is in the form of a matrix of 8 columns of pixels and 8 rows of pixels, with each pixel having bits to define its colour and intensity; (b) immediately transferring a row of said tiles of said digital data directly from said frame buffer (32) to a tile buffer (37); (c) digitally transforming said tiles of said data by immediately transferring them to a discrete cosine transformer (36) and then immediately transferring them back again to said tile buffer (37) where they overwrite the untransformed data stored in said tile buffer (37); (d) immediately transferring said transformed data from said tile buffer (37) to a digital signal processor (42) where it is coded to complete compression at the same time fetching a new row of uncompressed data from said frame buffer (32) and immediately transferring it to said tile buffer (37); (e) repeating steps (b), (c), and (d) until all of said tiles of said data in said frame buffer (32) have been compressed; and a decompressing step which includes: (f) performing decompression on previously compressed digital data and storing said decompressed data in said tile buffer (37); (g) immediately transferring said data after being decompressed from said tile buffer (37) to said frame buffer (32); (h) wherein data transfer in steps (b), (c), (d) and (g) is independent of said discrete cosine transformer and said digital signal processor.
Claim 14
Dependent Claim 69 words
A method according to claim 11, wherein said compressing step includes: (a) generating a clock signal; (b) generating sets of address and control signals in a state machine (58); and (c) applying the clock signal to a digital transformer (36) and applying each set of address and control signals to said tile buffer (37) to directly transfer said data in said tile buffer (37) to said digital transformer (36).
Claim 15
Dependent Claim 29 words
A method according to claim 12, wherein said state machine (58) generates addresses by initializing counters corresponding to each address field and concatenating the fields to provide an address.
Claim 16
Dependent Claim 85 words
A method according to claim 12, wherein said data is transferred from said frame buffer (64) to said tile buffer (37) by rows, one row of said tiles at a time wherein adjacent tiles in each row of said tiles having a contiguous address space and performing a discrete cosine transform, on each of said tiles, transferring said transformed row of tiles to a processor (42) and operating on each transformed tile in said row of tiles in succession to perform coefficient to symbol conversion.
Claim 17
Independent Claim 331 words
An apparatus for processing digital image data such as obtained from a television or video screen, comprising: (a) a frame buffer (32) for storing frames of data; (b) means for storing pixels of said data in said frame buffer (32) so that the pixels for a matrix of rows and columns in address space; (c) a tile buffer (37) connected to said frame buffer (32) so that tiles of data stored in said frame buffer (32) are transferable to said tile buffer (37) are transferable to said frame buffer (*32), wherein a tile is formed by a sub-matrix of n×n pixels where the number of rows and columns in said frame buffer (32) is a multiple of "n"; (d) a transformer having an untransformed input coupled to a digital signal processor connected end of said tile buffer and transformed end of said transformer coupled to frame buffer connected end of said tile buffer (37), said transformer operative to transform data from said tile buffer (37) that has been received from said frame buffer (32) and to inversely transform data from said tile buffer (37) that has been received from said signal processor (42) and to transfer transformed and untransformed data out while receiving untransformed and transformed data, respectively, in for temporary storage; (e) a digital signal processor connected to said tile buffer operative to code data received from said tile buffer and reverse code compressed data received from an external transmitting source and direct the reverse coded data to said tile buffer for inversely transforming the reverse coded data; and (f) a state machine coupled to said frame buffer (32), said tile buffer (37) and said transformer (36) and operative to generate sets of address and control signals so as to cause data in said frame buffer (32) to be transferred immediately and directly row by row to or from said tile buffer (37) and to cause tile transfers immediately and directly between said tile buffer (37) and said transformer (36).
Claim 18
Independent Claim 331 words
An apparatus for processing digital image data such as obtained from a television or video screen, comprising: (a) a frame buffer (32) for storing frames of data; (b) means for storing pixels of said data in said frame buffer (32) so that the pixels for a matrix of rows and columns in address space; (c) a tile buffer (37) connected to said frame buffer (32) so that tiles of data stored in said frame buffer (32) are transferable to said tile buffer (37) are transferable to said frame buffer (*32), wherein a tile is formed by a sub-matrix of n×n pixels where the number of rows and columns in said frame buffer (32) is a multiple of "n"; (d) a transformer having an untransformed input coupled to a digital signal processor connected end of said tile buffer and transformed end of said transformer coupled to frame buffer connected end of said tile buffer (37), said transformer operative to transform data from said tile buffer (37) that has been received from said frame buffer (32) and to inversely transform data from said tile buffer (37) that has been received from said signal processor (42) and to transfer transformed and untransformed data out while receiving untransformed and transformed data, respectively, in for temporary storage; (e) a digital signal processor connected to said tile buffer operative to code data received from said tile buffer and reverse code compressed data received from an external transmitting source and direct the reverse coded data to said tile buffer for inversely transforming the reverse coded data; and (f) a state machine coupled to said frame buffer (32), said tile buffer (37) and said transformer (36) and operative to generate sets of address and control signals so as to cause data in said frame buffer (32) to be transferred immediately and directly row by row to or from said tile buffer (37) and to cause tile transfers immediately and directly between said tile buffer (37) and said transformer (36).
Claim 19
Dependent Claim 17 words
Apparatus according to claim 15, wherein said storing means is a video dynamic random access memory unit.
Claim 20
Dependent Claim 50 words
Apparatus according to claim 15, wherein tiles are transferred to said tile buffer from said frame buffer a row of tiles at a time and pairs of tiles adjacent in address space from said tile buffer are sent to said transformer and then returned to said tile buffer after transformation.
Claim 21
Dependent Claim 18 words
Apparatus according to claim 15, wherein said processor performs Huffman coding and said transformer performs discrete cosine transforming.
Claim 22
Dependent Claim 29 words
Apparatus according to claim 15, wherein the value of "n" is 8 and wherein each pixel is characterized by a word defining its colour and one defining its intensity.
Claim 23
Independent Claim 398 words
A method of processing image data from a video screen, comprising the step of compressing the data including: (a) digitizing said image data; (b) storing said digitized data in a frame buffer in the form of rows and columns of tiles, wherein each of said tiles is composed of a matrix of 8 pixels by 8 pixels, each of said pixels is described by words corresponding to both colour and intensity, and adjacent tiles in a row are contiguous in address space; (c) extracting a first row of said tiles from said frame buffer (64) and immediately transferring them directly to a tile buffer (37); (d) immediately transferring tiles in said tile buffer to a digital transformer and transforming them and then immediately returning them to said tile buffer; (e) transferring the transformed tiles in said tile buffer to a digital signal processor and applying Huffman coding to them; (f) extracting, immediately transferring to said tile buffer and compressing sequentially, one row at a time, subsequent rows of said tiles in said frame buffer (64) concurrently with completing compression on a previous row until all of said tiles have been extracted and compressed; and (g) transferring each row of said compressed data to a communication output interface while at the same time fetching from said frame buffer (64) a next row of uncompressed data and immediately transferring it to said tile buffer; and the step of decompressing the data including: (h) applying reverse Huffman coding to a row of incoming compressed image data so as to reverse code said data and immediately storing the reverse coded data in said tile buffer (37); (i) immediately transferring the reverse coded data in said tile buffer to said discrete cosine transformer and performing an inverse discrete cosine transform on said reverse coded data stored in said tile buffer (37) so as to produce inversely transformed, reverse coded data and immediately returning said inversely transformed, reverse coded data to said tile buffer (37); and (j) immediately transferring said row of inversely transformed, reverse coded data from said tile buffer (37) to said frame buffer (64) while at the same time immediately transferring from said digital signal processor a next row of compressed data to said tile buffer (37); wherein the data transfers in Steps (c), (d), (f), (g), (h) and (i) is done independently of said transformer and said digital signal processor.
Claim 24
Independent Claim 398 words
A method of processing image data from a video screen, comprising the step of compressing the data including: (a) digitizing said image data; (b) storing said digitized data in a frame buffer in the form of rows and columns of tiles, wherein each of said tiles is composed of a matrix of 8 pixels by 8 pixels, each of said pixels is described by words corresponding to both colour and intensity, and adjacent tiles in a row are contiguous in address space; (c) extracting a first row of said tiles from said frame buffer (64) and immediately transferring them directly to a tile buffer (37); (d) immediately transferring tiles in said tile buffer to a digital transformer and transforming them and then immediately returning them to said tile buffer; (e) transferring the transformed tiles in said tile buffer to a digital signal processor and applying Huffman coding to them; (f) extracting, immediately transferring to said tile buffer and compressing sequentially, one row at a time, subsequent rows of said tiles in said frame buffer (64) concurrently with completing compression on a previous row until all of said tiles have been extracted and compressed; and (g) transferring each row of said compressed data to a communication output interface while at the same time fetching from said frame buffer (64) a next row of uncompressed data and immediately transferring it to said tile buffer; and the step of decompressing the data including: (h) applying reverse Huffman coding to a row of incoming compressed image data so as to reverse code said data and immediately storing the reverse coded data in said tile buffer (37); (i) immediately transferring the reverse coded data in said tile buffer to said discrete cosine transformer and performing an inverse discrete cosine transform on said reverse coded data stored in said tile buffer (37) so as to produce inversely transformed, reverse coded data and immediately returning said inversely transformed, reverse coded data to said tile buffer (37); and (j) immediately transferring said row of inversely transformed, reverse coded data from said tile buffer (37) to said frame buffer (64) while at the same time immediately transferring from said digital signal processor a next row of compressed data to said tile buffer (37); wherein the data transfers in Steps (c), (d), (f), (g), (h) and (i) is done independently of said transformer and said digital signal processor.

References Cited (Backward Citations)

EP0084270A2 Cited
US4772956A Cited
US4774587A Cited
US4951139A Cited
US4982283A Cited
US5005076A Cited
US5079621A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-09-25 1999-03-27 1999-09-26 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-09-25 2003-03-27 2003-09-26 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-09-25 2007-03-27 2007-09-26 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag