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

Architecture for a high definition video frame memory and an accompanying data organization for use therewith and efficient access therefrom

Assignee: Hitachi America Ltd
•
Filing: 1995-01-26
•
Granted: 1996-12-03
•
Expires: 2015-01-26
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An architecture for a memory with a wide word, e.g. n-byte, width particularly suited for use as a high definition video frame store memory (80), and an accompanying organization for storing pixel data therein to facilitate efficient block and raster access therefrom. Specifically, the memory relies on storing n-byte wide words (n=(m 1 ×m 2 )) across m 2 independent m 1 -byte wide memory segments, with pre-defined positional offsets between respective m 1 -byte words (203)("nibbles") stored in successive memory segments. All these segments are simultaneously accessed on a read or write basis. During a memory write operation, all the nibbles in an n-byte wide input word are appropriately shuffled to yield the proper inter-segment offsets prior to being written into the memory as a collective n-byte memory write word. During a read operation, all the nibbles read from memory in a collective n-byte memory read word are appropriately shuffled to yield an n-byte output word. Inasmuch as either a scan line or sub-block (210 W , 210 X , 210 Y , 210 Z ) of a macroblock of pixel data is collectively written to or read from the memory during one memory write or read operation, with shuffling occurring on a pipelined basis therewith, each of these two widely differing forms of memory access can each occur at a very high efficiency and hence at essentially full memory bandwidth. This permits that memory to be fabricated from relatively inexpensive memory circuits.

Inventors

  • 👤 Sanjay R. Vinekar
  • 👤 Lawrence A. Pearlstein
  • 👤 Michael A. Plotnick
  • 👤 Joseph E. Augenbraun

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 12:04
CPC Classifications
H; H04; H04N; H04N21/00; H04N21/40; H04N21/41; H04N21/426; H04N19/00; H04N19/42; H04N19/423; H04N19/60; H04N19/61; H04N5/00; H04N5/76; H04N5/907; H04N9/00; H04N9/64

Claims Analysis

Total Claims: 38
Claim 1
Independent Claim 264 words
Apparatus for a frame store memory comprising: a memory circuit for storing n-byte wide words and having m 2 independent segments, each segment storing m 1 -byte wide nibbles, wherein each of said n-byte words contains pixel data for a corresponding one of a plurality of (m 1 -by-m 2 ) arrays of pixels, each of said arrays representing a corresponding one of a plurality of sub-blocks of pixel data for an image, the memory circuit containing each of the m 2 nibbles, in a common corresponding one of the sub-blocks, distributed across the m 2 memory segments with a predefined positional offset between successive ones of the m 2 nibbles stored in successive ones of the segments, and wherein each of the memory segments is accessed, on either a read or write basis and with a corresponding memory address, to respectively read a nibble from each of the segments so as to collectively form an n-byte memory read word or to write a nibble into each of said memory segments from collectively an n-byte memory write word (where n, m 1 and m 2 are all pre-defined integers with n=(m 1 ×m 2 )); and a data shuffling circuit, connected to the memory segments, for rearranging, in a corresponding pre-defined nibble-wise fashion, for a memory write operation an n-byte input word into the memory write word and, for a memory read operation, the memory read word into a properly ordered n-byte output word, wherein said output word contains pixel data for either one of said sub-blocks or a scan line in the image.
Claim 2
Dependent Claim 264 words
Apparatus for a frame store memory comprising: a memory circuit for storing n-byte wide words and having m 2 independent segments, each segment storing m 1 -byte wide nibbles, wherein each of said n-byte words contains pixel data for a corresponding one of a plurality of (m 1 -by-m 2 ) arrays of pixels, each of said arrays representing a corresponding one of a plurality of sub-blocks of pixel data for an image, the memory circuit containing each of the m 2 nibbles, in a common corresponding one of the sub-blocks, distributed across the m 2 memory segments with a predefined positional offset between successive ones of the m 2 nibbles stored in successive ones of the segments, and wherein each of the memory segments is accessed, on either a read or write basis and with a corresponding memory address, to respectively read a nibble from each of the segments so as to collectively form an n-byte memory read word or to write a nibble into each of said memory segments from collectively an n-byte memory write word (where n, m 1 and m 2 are all pre-defined integers with n=(m 1 ×m 2 )); and a data shuffling circuit, connected to the memory segments, for rearranging, in a corresponding pre-defined nibble-wise fashion, for a memory write operation an n-byte input word into the memory write word and, for a memory read operation, the memory read word into a properly ordered n-byte output word, wherein said output word contains pixel data for either one of said sub-blocks or a scan line in the image.
Claim 3
Dependent Claim 15 words
The apparatus in claim 1 wherein the pre-determined positional offset is a modulo-2 positional offset.
Claim 4
Dependent Claim 49 words
The apparatus in claim 2 wherein distribution of the nibbles across the m 2 memory segments occurs in accordance with the following equation: for sub-block i : 0<i<(m 2 -1) nibble j →segment.sub.(j+i) 0<j<(m 2 -1) where: (j+i) represents a modulo-2 addition, and i and j are integer indices.
Claim 5
Dependent Claim 19 words
The apparatus in claim 3 wherein m 2 equals 2 p , where p is a predetermined positive integer.
Claim 6
Dependent Claim 13 words
The apparatus in claim 4 where n=16 and m 1 =m 2 =4.
Claim 7
Dependent Claim 20 words
The apparatus in claim 2 wherein each of said memory segments is fabricated from synchronous dynamic random access memory circuits.
Claim 8
Dependent Claim 31 words
The apparatus in claim 2 further comprising an address bus connected to all of the segments and said data shuffling circuit for carrying said memory read and memory write words therebetween.
Claim 9
Dependent Claim 46 words
The apparatus in claim 7 wherein the data shuffling circuit comprises first and second barrel shifters, wherein the first barrel shifter re-arranges the n-byte input word into the memory write word, and the second barrel shifter re-arranges the memory read word into the n-byte output word.
Claim 10
Dependent Claim 74 words
The apparatus in claim 8 wherein the first barrel shifter comprises a plurality of first multiplexors wherein each input to each of the first multiplexors receives pixel data in a corresponding nibble of the n-byte input word and all the first multiplexors, in response to common write select signals applied thereto, form the entire n-byte memory write word, with the positional offset between successive nibbles, for storage across corresponding segments in the memory circuit.
Claim 11
Dependent Claim 105 words
The apparatus in claim 8 wherein the second barrel shifter comprises a plurality of second multiplexors, all of the second multiplexors being responsive to common read select signals applied thereto, wherein inputs to each of the second multiplexors receives a nibble of pixel data from each different one of the memory segments and each one of the second multiplexors selects a corresponding nibble of pixel data produced as output by one of the memory segments so as to re-arrange the nibbles of pixel data produced by all of the memory segments and in said memory read word so as to yield the n-byte output word.
Claim 12
Dependent Claim 43 words
The apparatus in claim 10 wherein the second barrel shifter, in response to the read select signals, re-arranges the nibbles in said memory read word to simultaneously yield either one of the sub-blocks or a scan line of pixel data in the image.
Claim 13
Dependent Claim 406 words
A receiver for high definition television (HDTV) comprising: a tuner for converting a desired incoming HDTV signal to a baseband signal; a demodulator and transport decoder for extracting HDTV information from the baseband signal and generating coded audio and digital information; audio circuitry, responsive to said coded audio information, for reproducing sound components of said HDTV signal; a video decoder and video display, responsive to said coded video information, for generating a decoded video signal on a macroblock-by-macroblock basis and for displaying said decoded video signal on a raster scan basis on the display, said video decoder having a video frame store memory for storing said decoded video signal on a macroblock-by-macroblock basis within said memory so as to form stored pixel data and accessing said stored pixel data on both said block-by-block basis and on a raster scan basis, said video frame store memory comprising: a memory circuit for storing n-byte wide words and having m 2 independent segments, each segment storing m 1 -byte wide nibbles, wherein each of said n-byte words contains pixel data for a corresponding one of a plurality of (m 1 -by-m 2 ) arrays of pixels, each of said arrays representing a corresponding one of a plurality of sub-blocks of one of the macroblocks in the image, the memory circuit containing each of the m 2 nibbles, in a common corresponding one of the sub,blocks, distributed across the m 2 memory segments with a predefined positional offset between successive ones of the m 2 nibbles stored in successive ones of the segments, and wherein each of the memory segments is simultaneously accessed, on either a read or write basis and with a corresponding memory address, to respectively read a nibble from each of the segments so as to collectively form an n-byte memory read word or to write a nibble into each of said memory segments from collectively an n-byte memory write word (where n, m 1 and m 2 are all pre-defined integers with n=(m 1 ×m 2 )); and a data shuffling circuit, connected to the memory segments, for rearranging, in a corresponding pre-defined nibble-wise fashion, for a memory write operation an n-byte input word into the memory write word and, for a memory read operation, the memory read word into a properly ordered n-byte output word, wherein said output word contains pixel data for either one of said sub-blocks or a scan line in the image.
Claim 14
Dependent Claim 406 words
A receiver for high definition television (HDTV) comprising: a tuner for converting a desired incoming HDTV signal to a baseband signal; a demodulator and transport decoder for extracting HDTV information from the baseband signal and generating coded audio and digital information; audio circuitry, responsive to said coded audio information, for reproducing sound components of said HDTV signal; a video decoder and video display, responsive to said coded video information, for generating a decoded video signal on a macroblock-by-macroblock basis and for displaying said decoded video signal on a raster scan basis on the display, said video decoder having a video frame store memory for storing said decoded video signal on a macroblock-by-macroblock basis within said memory so as to form stored pixel data and accessing said stored pixel data on both said block-by-block basis and on a raster scan basis, said video frame store memory comprising: a memory circuit for storing n-byte wide words and having m 2 independent segments, each segment storing m 1 -byte wide nibbles, wherein each of said n-byte words contains pixel data for a corresponding one of a plurality of (m 1 -by-m 2 ) arrays of pixels, each of said arrays representing a corresponding one of a plurality of sub-blocks of one of the macroblocks in the image, the memory circuit containing each of the m 2 nibbles, in a common corresponding one of the sub,blocks, distributed across the m 2 memory segments with a predefined positional offset between successive ones of the m 2 nibbles stored in successive ones of the segments, and wherein each of the memory segments is simultaneously accessed, on either a read or write basis and with a corresponding memory address, to respectively read a nibble from each of the segments so as to collectively form an n-byte memory read word or to write a nibble into each of said memory segments from collectively an n-byte memory write word (where n, m 1 and m 2 are all pre-defined integers with n=(m 1 ×m 2 )); and a data shuffling circuit, connected to the memory segments, for rearranging, in a corresponding pre-defined nibble-wise fashion, for a memory write operation an n-byte input word into the memory write word and, for a memory read operation, the memory read word into a properly ordered n-byte output word, wherein said output word contains pixel data for either one of said sub-blocks or a scan line in the image.
Claim 15
Dependent Claim 15 words
The apparatus in claim 12 wherein the pre-determined positional offset is a modulo-2 positional offset.
Claim 16
Dependent Claim 49 words
The apparatus in claim 13 wherein distribution of the nibbles across the m 2 memory segments occurs in accordance with the following equation: for sub-block i : 0<i<(m 2 -1) nibble j →segment.sub.(j+i) 0<j<(m 2 -1) where: (j+i) represents a modulo-2 addition, and i and j are integer indices.
Claim 17
Dependent Claim 19 words
The apparatus in claim 14 wherein m 2 equals 2 p , where p is a predetermined positive integer.
Claim 18
Dependent Claim 13 words
The apparatus in claim 15 where n=16 and m 1 =m 2 =4.
Claim 19
Dependent Claim 20 words
The apparatus in claim 13 wherein each of said memory segments is fabricated from synchronous dynamic random access memory circuits.
Claim 20
Dependent Claim 31 words
The apparatus in claim 13 further comprising an address bus connected to all of the segments and said data shuffling circuit for carrying said memory read and memory write words therebetween.
Claim 21
Dependent Claim 46 words
The apparatus in claim 18 wherein the data shuffling circuit comprises first and second barrel shifters, wherein the first barrel shifter re-arranges the n-byte input word into the memory write word, and the second barrel shifter re-arranges the memory read word into the n-byte output word.
Claim 22
Dependent Claim 74 words
The apparatus in claim 19 wherein the first barrel shifter comprises a plurality of first multiplexors wherein each input to each of the first multiplexors receives pixel data in a corresponding nibble of the n-byte input word and all the first multiplexors, in response to common write select signals applied thereto, form the entire n-byte memory write word, with the positional offset between successive nibbles, for storage across corresponding segments in the memory circuit.
Claim 23
Dependent Claim 105 words
The apparatus in claim 19 wherein the second barrel shifter comprises a plurality of second multiplexors, all of the second multiplexors being responsive to common read select signals applied thereto, wherein inputs to each of the second multiplexors receives a nibble of pixel data from each different one of the memory segments and each one of the second multiplexors selects a corresponding nibble of pixel data produced as output by one of the memory segments so as to re-arrange the nibbles of pixel data produced by all of the memory segments and in said memory read word so as to yield the n-byte output word.
Claim 24
Dependent Claim 43 words
The apparatus in claim 21 wherein the second barrel shifter, in response to the read select signals, re-arranges the nibbles in said memory read word to simultaneously yield either one of the sub-blocks or a scan line of pixel data in the image.
Claim 25
Dependent Claim 147 words
A memory circuit containing stored image data for access therefrom by a memory interface, said memory circuit organized to store n-byte wide words and having m 2 independent segments, wherein pixel data for a corresponding one of a plurality of (m 1 -by-m 2 ) arrays of pixels is stored within each of said n-byte words, each of said arrays representing a corresponding one of a plurality of sub-blocks of pixel data for the image, and each of the m 2 nibbles, in a common corresponding one of the sub-blocks of the pixel data is stored within the memory circuit and distributed across the m 2 memory segments therein with a predefined positional offset, within the memory circuit, occurring between successive ones of the m 2 nibbles stored in successive ones of the segments (where n, m 1 and m 2 are all pre-defined integers with n=(m1×m2)).
Claim 26
Dependent Claim 147 words
A memory circuit containing stored image data for access therefrom by a memory interface, said memory circuit organized to store n-byte wide words and having m 2 independent segments, wherein pixel data for a corresponding one of a plurality of (m 1 -by-m 2 ) arrays of pixels is stored within each of said n-byte words, each of said arrays representing a corresponding one of a plurality of sub-blocks of pixel data for the image, and each of the m 2 nibbles, in a common corresponding one of the sub-blocks of the pixel data is stored within the memory circuit and distributed across the m 2 memory segments therein with a predefined positional offset, within the memory circuit, occurring between successive ones of the m 2 nibbles stored in successive ones of the segments (where n, m 1 and m 2 are all pre-defined integers with n=(m1×m2)).
Claim 27
Dependent Claim 15 words
The apparatus in claim 23 wherein the pre-determined positional offset is a modulo-2 positional offset.
Claim 28
Dependent Claim 49 words
The apparatus in claim 24 wherein distribution of the nibbles across the m 2 memory segments occurs in accordance with the following equation: for sub-block i : 0<i<(m 2 -1) nibble j →segment.sub.(j+i) 0<j<(m 2 -1) where: (j+i) represents a modulo-2 addition, and i and j are integer indices.
Claim 29
Dependent Claim 19 words
The apparatus in claim 25 wherein m 2 equals 2 p , where p is a predetermined positive integer.
Claim 30
Dependent Claim 13 words
The apparatus in claim 24 where n=16 and m 1 =m 2 =4.
Claim 31
Dependent Claim 20 words
The apparatus in claim 24 wherein each of said memory segments is fabricated from synchronous dynamic random access memory circuits.
Claim 32
Dependent Claim 252 words
In a frame store memory having a memory circuit for storing n-byte wide words and having m 2 independent segments, each segment storing m 1 -byte wide nibbles, wherein each of said n-byte words contains pixel data for a corresponding one of a plurality of (m 1 -by-m 2 ) arrays of pixels, each of said arrays representing a corresponding one of a plurality of sub-blocks of pixel data for an image, the method comprising the steps of: distributing each of the m 2 nibbles, in a common corresponding one of the sub-blocks, across the m 2 memory segments with a predefined positional offset between successive ones of the m 2 nibbles stored in successive ones of the segments; accessing each of the memory segments, on either a read or write basis and with a corresponding memory address, to respectively read a nibble from each of the segments so as to collectively form an n-byte memory read word or to write a nibble into each of said memory segments from collectively an n-byte memory write word (where n, m 1 and m 2 are all pre-defined integers with n=(m 1 =m 2 )); and rearranging, in a corresponding pre-defined nibble-wise fashion, for a memory write operation an n-byte input word into the memory write word and, for a memory read operation, the memory read word into a properly ordered n-byte output word, wherein said output word contains pixel data for either one of said sub-blocks or a scan line in the image.
Claim 33
Dependent Claim 252 words
In a frame store memory having a memory circuit for storing n-byte wide words and having m 2 independent segments, each segment storing m 1 -byte wide nibbles, wherein each of said n-byte words contains pixel data for a corresponding one of a plurality of (m 1 -by-m 2 ) arrays of pixels, each of said arrays representing a corresponding one of a plurality of sub-blocks of pixel data for an image, the method comprising the steps of: distributing each of the m 2 nibbles, in a common corresponding one of the sub-blocks, across the m 2 memory segments with a predefined positional offset between successive ones of the m 2 nibbles stored in successive ones of the segments; accessing each of the memory segments, on either a read or write basis and with a corresponding memory address, to respectively read a nibble from each of the segments so as to collectively form an n-byte memory read word or to write a nibble into each of said memory segments from collectively an n-byte memory write word (where n, m 1 and m 2 are all pre-defined integers with n=(m 1 =m 2 )); and rearranging, in a corresponding pre-defined nibble-wise fashion, for a memory write operation an n-byte input word into the memory write word and, for a memory read operation, the memory read word into a properly ordered n-byte output word, wherein said output word contains pixel data for either one of said sub-blocks or a scan line in the image.
Claim 34
Dependent Claim 14 words
The method in claim 29 wherein all of said memory segments are accessed simultaneously.
Claim 35
Dependent Claim 15 words
The method in claim 30 wherein the pre-determined positional offset is a modulo-2 positional offset.
Claim 36
Dependent Claim 49 words
The method in claim 31 wherein distribution of the nibbles across the m 2 memory segments occurs in accordance with the following equation: for sub-block i : 0<i<(m 2 -1) nibble j →segment.sub.(j+i) 0<j<(m 2 -1) where: (j+i) represents a modulo-2 addition, and i and j are integer indices.
Claim 37
Dependent Claim 19 words
The method in claim 32 wherein m 2 equals 2 p , where p is a predetermined positive integer.
Claim 38
Dependent Claim 13 words
The method in claim 33 where n=16 and m 1 =m 2 =4.

References Cited (Backward Citations)

US4811099A Cited
US5105280A Cited
US5212666A Cited
US5183024A Cited
US5268682A Cited
US5321425A Cited
US5406311A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-12-03 2000-06-03 2000-12-03 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-12-03 2004-06-03 2004-12-03 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-12-03 2008-06-03 2008-12-03 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag