US5315388A - Multiple serial access memory for use in feedback systems such as motion compensated television - Google Patents

Multiple serial access memory for use in feedback systems such as motion compensated television Download PDF

Info

Publication number
US5315388A
US5315388A US07/791,369 US79136991A US5315388A US 5315388 A US5315388 A US 5315388A US 79136991 A US79136991 A US 79136991A US 5315388 A US5315388 A US 5315388A
Authority
US
United States
Prior art keywords
data
array
serial output
memory
output ports
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.)
Expired - Lifetime
Application number
US07/791,369
Inventor
Paul Shen
Woo H. Paik
Edward A. Krause
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Arris Technology Inc
Original Assignee
General Instrument Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by General Instrument Corp filed Critical General Instrument Corp
Assigned to GENERAL INSTRUMENT CORPORATION, A DELAWARE CORP. reassignment GENERAL INSTRUMENT CORPORATION, A DELAWARE CORP. ASSIGNMENT OF ASSIGNORS INTEREST. Assignors: KRAUSE, EDWARD A., PAIK, WOO H., SHEN, PAUL
Priority to US07/791,369 priority Critical patent/US5315388A/en
Priority to TW080109683A priority patent/TW225081B/zh
Priority to AT92118660T priority patent/ATE174449T1/en
Priority to AT98105936T priority patent/ATE218263T1/en
Priority to EP98105936A priority patent/EP0862333B1/en
Priority to EP92118660A priority patent/EP0543197B1/en
Priority to DE69232623T priority patent/DE69232623T2/en
Priority to DE69227821T priority patent/DE69227821T2/en
Priority to CA002082133A priority patent/CA2082133C/en
Priority to AU28456/92A priority patent/AU661637B2/en
Priority to NO924452A priority patent/NO302679B1/en
Priority to MX9206693A priority patent/MX9206693A/en
Priority to KR1019920021690A priority patent/KR970000604B1/en
Priority to JP33218792A priority patent/JP3194500B2/en
Publication of US5315388A publication Critical patent/US5315388A/en
Application granted granted Critical
Assigned to GENERAL INSTRUMENT CORPORATION (GIC-4) reassignment GENERAL INSTRUMENT CORPORATION (GIC-4) ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: GENERAL INSTRUMENT CORPORATION (GIC-2)
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1075Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1036Read-write modes for single port memories, i.e. having either a random port or a serial port using data shift registers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Definitions

  • the present invention relates to the storage and processing of digital data, and more particularly to a multiple serial access memory for providing a plurality of different data streams from data stored therein.
  • the invention is especially useful in providing a frame store for a motion compensated television system.
  • Digital transmission of television signals can deliver video and audio services of much higher quality than analog techniques.
  • Digital transmission schemes are particularly advantageous for signals that are broadcast over cable television networks or by satellite to cable television affiliates and/or directly to home satellite television receivers. It is expected that digital television transmitter and receiver systems will replace existing analog systems just as digital compact discs have largely replaced analog phonograph records in the audio industry.
  • HDTV high definition television
  • a subscriber receives the digital data stream via a receiver/descrambler that provides video, audio, and data to the subscriber.
  • a receiver/descrambler that provides video, audio, and data to the subscriber.
  • the video portion of a television signal comprises a sequence of video images (typically "frames") that together provide a moving picture.
  • each line of a video frame is defined by a sequence of digital data bits referred to as "pixels.”
  • a large amount of data is required to define each video frame of a television signal. For example, 7.4 megabits of data is required to provide one video frame at NTSC (National Television System Committee) resolution. This assumes a 640 pixel by 480 line display is used with 8 bits of intensity value for each of the primary colors red, green, and blue.
  • High definition television requires substantially more data to provide each video frame. In order to manage this amount of data, particularly for HDTV applications, the data must be compressed.
  • Video compression techniques enable the efficient transmission of digital video signals over conventional communication channels. Such techniques use compression algorithms that take advantage of the correlation among adjacent pixels in order to derive a more efficient representation of the important information in a video signal.
  • the most powerful compression systems not only take advantage of spatial correlation, but can also utilize similarities among adjacent frames to further compact the data.
  • Motion compensation is one of the most effective tools for accounting for and reducing the amount of temporal redundancy in sequential video frames.
  • One of the most effective ways to apply motion compensation in video compression applications is by differential encoding. In this case, the differences between two consecutive images (e.g., "frames") are attributed to simple movements.
  • the encoder estimates or quantifies these movements by observing the two frames and sends the results to a decoder.
  • the decoder uses the received information to transform the first frame, which is known, in such a way that it can be used to effectively predict the appearance of the second frame, which is unknown.
  • the encoder reproduces the same prediction frame as the decoder, and then sends the differences between the prediction frame and the actual frame.
  • the amount of information needed to represent the image sequence can be significantly reduced, particularly when the motion estimation model closely resembles the frame to frame changes that actually occur.
  • This technique can result in a significant reduction in the amount of data that needs to be transmitted once simple coding algorithms are applied to the prediction error signal.
  • An example of such a motion compensated video compression system is described by Ericsson in "Fixed and Adaptive Predictors for Hybrid Predictive/Transform Coding," IEEE Transactions on Communications, Vol. COM-33, No. 12, December 1985.
  • An improvement to the system described by Ericsson is disclosed in commonly assigned U.S. Pat. No. 5,057,916 entitled "Method and Apparatus for Refreshing Motion Compensated Sequential Video Images.”
  • Motion compensated television systems require the storage of both current frame and previous frame video data to implement the differential encoding technique described above. Specifically, prior frame data must be summed with a transmitted difference signal to recreate a full current frame for display. The full current frame must be stored for subsequent use in recreating the next frame from a received difference signal.
  • a dual memory bank system has been used to implement such systems. The same data is stored in both memory banks, allowing it to be accessed independently from each bank. Such an implementation, however, is costly, particularly in HDTV systems where large amounts of memory are required.
  • the present invention provides a multiple serial access dynamic random access memory (RAM) and a television system and method having the aforementioned advantages.
  • RAM serial access dynamic random access memory
  • a multiple serial access memory includes a dynamic random access memory array. Means are provided for addressing the array to input data thereto and output data therefrom. Rows of data are output from the array in response to address signals provided by the addressing means. A plurality of serial output ports, coupled to the outputting means, selectively latch different rows of data output by the outputting means. Means are provided for clocking the serial output ports to output latched data therefrom.
  • Timing means operatively associated with the array can be provided to limit access to the array to one of the serial output ports at a time.
  • access to the array by a plurality of serial output ports at the same time is provided, in which case all of the serial output ports concurrently receive the same data.
  • each of the serial output ports comprises a shift register having a length at least equal to a width of the array.
  • the shift register is responsive to a first signal from a timing means for latching a row of data from the array.
  • the shift register is responsive to a second signal from the timing means for shifting the row of latched data.
  • a serial access selector coupled to the shift register outputs a selected portion of the shifted data from the serial output port.
  • a digital television apparatus is also provided in accordance with the present invention.
  • the apparatus is a type which requires memory for storing a set of working data, such as pixel data from a previous video frame.
  • the apparatus also requires memory for storing a set of display data (e.g., representing a current video frame) derived from the working data.
  • the invention provides a dynamic random access memory array for the television apparatus. Means are provided for addressing the array to input data thereto and output data therefrom. Rows of data are output from the array in response to address signals provided by the addressing means.
  • a plurality of serial output ports coupled to the outputting means selectively latch rows of data output by the outputting means. Means are provided for clocking the serial output ports to output latched data therefrom. At least one of the serial output ports is used to output working data from the array. At least one other of the serial output ports is used to output display data from the array.
  • Timing means can be operatively associated with the array of the television apparatus for limiting access to the array to one of the serial output ports at a time. Alternatively, several serial output ports can concurrently latch the same data.
  • each of the serial output ports comprises a shift register having a length at least equal to a width of the array.
  • the shift register is responsive to a first signal from a timing means for latching a row of data from the array.
  • the shift register is responsive to a second signal from the timing means for shifting the row of latched data.
  • a serial access selector coupled to the shift register outputs a selected portion of the shifted data from the serial output port.
  • the working data is accessed from the array by its respective serial output port in either a field format or a frame format.
  • the display data is accessed from the array by its respective serial output port in the other of the field format and frame format.
  • the working data is accessed from the array by its respective serial output port in a block format.
  • the display data is accessed from the array by its respective serial output port in a television line format.
  • the array has a storage capacity sufficient to store the current video frame together with enough working data to accommodate a predetermined motion estimation search area.
  • the array is filled with data for successive video frames on an ongoing basis, with the data for a current frame overwriting a portion of the data for a previous frame that precedes a current motion estimation search area.
  • a method in accordance with the present invention stores video data for use by a motion compensator that estimates motion over a maximum horizontal displacement DX and a maximum vertical displacement DY.
  • a frame store memory is provided for storing N+K lines of video data, where N is the number of lines in a video frame and K is at least equal to the number of lines corresponding to the vertical displacement DY.
  • the frame store memory is filled with video data from successive video frames on a revolving basis. N consecutive lines of a second video frame are written into the memory following the last line of a first video frame. In this manner, the first video frame is overwritten by the second video frame on a first-in first-out basis, with the last K lines of the first video frame remaining in the memory once the full second video frame has been written into the memory.
  • FIG. 1 is a block diagram illustrating a feedback system used by a motion compensated interframe image coding/decoding system
  • FIG. 2 is a block diagram of a prior art implementation of the feedback scheme of FIG. 1;
  • FIG. 3 is a block diagram illustrating a multiple serial access dynamic RAM in accordance with the present invention.
  • FIG. 4 is a block diagram illustrating one of the serial output ports of FIG. 3 in greater detail
  • FIG. 5 is a block diagram illustrating the serial access selector of FIG. 4 in greater detail
  • FIG. 6 is a timing diagram illustrating the timing waveforms for individual signals of the multiple access memory during a data transfer cycle
  • FIG. 7 is a timing diagram illustrating the timing waveforms for individual signals of the multiple access memory during a data write cycle.
  • FIGS. 8a to 8c are diagrammatic illustrations showing how the memory is filled with successive frames of video data.
  • a feedback system such as a motion compensated interframe image coding/decoding system used in digital television requires both working data (i.e., data from a prior video frame) and display data (i.e., the reconstructed data for a current frame to be displayed).
  • working data i.e., data from a prior video frame
  • display data i.e., the reconstructed data for a current frame to be displayed.
  • FIG. 1 Motion vector data is input to an address generator 14 via a terminal 10.
  • the address generator outputs a u address designating where a current pixel is located in a frame, a w address designating the estimated location of that pixel in the previous frame, and a v address designating the location of data to be displayed.
  • the addresses are input to a memory 16, which serves as a frame store.
  • a motion compensation difference signal is input to a summer 20 via terminal 12.
  • Summer 20 adds the difference signal to the previous frame data w that was used to generate the difference signal in the first place, to recover the current frame video data u. This process can be expressed mathematically as follows:
  • u -- address identifies where the current pixel is located in a video frame stored in memory 16. Thus, it is the memory address for that pixel.
  • w -- address is the estimated location of that pixel in the previous frame, also stored in memory 16.
  • the difference between u -- address and w -- address is the displacement attributable to movement in the video scene. As well known in the art, the determination of this displacement is often done by a motion estimation method, such as block matching. This determination can be expressed as:
  • the address of the displayed data v is not the same as the address of the current data u.
  • an interlaced television system may use field scanning for display and frame scanning for processing.
  • field scanning the odd numbered horizontal television lines are processed as a first field, and the even numbered lines are processed as a second field.
  • the two fields are interleaved so that the horizontal lines are in the proper order.
  • frame scanning all of the television lines are processed together, in order, as a single video frame.
  • the displayed data v is obtained by selecting every second line only.
  • the current data u must be written into memory in a nonsequential order.
  • u -- address may also differ from v -- address in a noninterlaced television system. For example, this may result from the block-by-block processing that is common in video compression systems.
  • the displayed data v would still be accessed one line at a time while the current data u and the previous frame data w are accessed one block at a time.
  • Common block sizes for such processing are 8 ⁇ 8 pixels and 16 ⁇ 16 pixels.
  • FIG. 1 The architecture illustrated in FIG. 1, where w -- address, u -- address, and v -- address are each independent, is very difficult to implement with existing dynamic random access memories (DRAM) and video random access memories (VRAM).
  • DRAM dynamic random access memories
  • VRAM video random access memories
  • FIG. 2 the prior art has implemented a dual bank memory system as shown in FIG. 2.
  • FIG. 2 there are two memory banks, 18a and 18b.
  • the same data u is stored both in memory bank 18a and 18b. This allows the data to be accessed independently.
  • such an implementation is often costly, particularly in HDTV systems where large amounts of memory are required.
  • the multiple serial access DRAM of the present invention enables the implementation of a feedback system using the architecture illustrated in FIG. 1, wherein only a single memory array is required.
  • FIG. 3 A detailed block diagram of the multiple serial access DRAM of the present invention is provided in FIG. 3.
  • the DRAM contains a conventional random access port 32 for inputting data (DIN), a dynamic RAM array 30, and row and column decoders 36, 38 for accessing the array via an address input 34.
  • the address input is also coupled to a plurality of serial output ports 44, 46, 48 that receive data via output bus 50 from the DRAM array 30.
  • serial output ports are illustrated in FIG. 3, it should be appreciated that fewer or more such ports can be provided.
  • serial output ports The operation of the serial output ports is controlled by a timing generator 42 that is responsive to control signals 40.
  • Serial clocks input to each of the serial output ports control the output of data from each port to a respective output buffer 54, 56, 58.
  • DRAM array 30 is P rows high by Q columns wide by B bits deep.
  • the output from each output buffer is therefore a B-bit byte, although other implementations will be apparent to those skilled in the art.
  • the individual control signals 40 input to timing generator 42 include a row access signal RAS, a column access signal CAS, a write enable signal WE, and a separate data transfer signal for each serial output port, DT-1 to DT-N.
  • Timing diagrams for each of the signals in the data transfer mode of operation are illustrated in FIG. 6.
  • Timing diagrams for a data write cycle are illustrated in FIG. 7.
  • FIG. 4 illustrates a serial output port, such as serial output port 44, 46, or 48, in greater detail.
  • the serial output port contains a shift register comprising cells 62, 64, 66, . . . 68. As illustrated, one cell is provided for each column of the DRAM array.
  • a serial access selector 70 illustrated in greater detail in FIG. 5, is coupled to the outputs of the shift register cells.
  • the length of the shift register is the same as the width of the memory array, and each cell is connected to a corresponding column of the memory bank.
  • cell i is connected to column i of the memory array.
  • Each cell is also connected to the preceding adjacent cell. For example, an input of cell i is connected to the output of cell i+1 . This is illustrated in FIG. 4, where output 63 of cell 64 is coupled to cell 62, and so forth.
  • Serial port access consists of two steps. These are referred to as “setup” and “readout.”
  • a load signal carried on line 52 from timing generator 42 (FIG. 3) is set high. This latches the selected row of data from DRAM 30 into the shift register comprising cells 62, 64, 66 . . . 68.
  • the serial access selector 70 is responsive to a column address input coupled via terminal 72 to output the latched data, commencing from one of the shift register cells identified by the column address input. In other words, although an entire row of data is latched into the shift register when the load signal goes high, it is not necessary to output the entire row of data from the serial access selector.
  • the column address input instructs the serial access selector to start outputting data from a cell other than cell 62.
  • FIG. 5 One embodiment of a serial access selector in accordance with the present invention is illustrated in greater detail in FIG. 5.
  • the column address input is latched in a serial address register 74 when the load signal goes low.
  • multiplexer 76 will initially output the first byte of data from the cell pointed to by the column address, and continue to output successive bytes of data that are shifted into the designated cell from successive cells of the shift register.
  • serial access to a serial port is independent of other serial and random access ports in the multiple access memory of FIG. 3. Access to the dynamic RAM array, however, is not independent. For example, a random access port cannot be used at the same time a serial output port is latching data from the array.
  • FIGS. 6 and 7 provide timing diagrams for the system timing signals during data transfer and data writing cycles, respectively.
  • FIG. 6 when RAS goes low, and any DT-N is low, the circuit of FIG. 3 will be in the data transfer mode of operation. All of the serial output port registers having a corresponding DT-N signal that is low will latch new data. All other serial output ports will retain their old data.
  • DT-1 88 and DT-3 100 are low.
  • DT-2 94 is high.
  • output 1, shown at 92 and output 3, shown at 104 contain new data ("new i") whereas output 2 shown at 98 continues to carry old data (e.g., old i+3).
  • serial clocks 90, 96, and 102 for each of the three serial output ports illustrated are used, as described above, to clock data out from the serial output ports to the output buffers 54, 56, 58.
  • Column access signal CAS 82 controls the output of the column address as indicated at 84. The row address is output when RAS goes low.
  • a write enable signal WE shown at 86 controls the writing of data into DRAM array 30.
  • a feedback system as illustrated in FIG. 1 can be easily implemented by using the multiple serial access DRAM of the present invention.
  • Memory 16 is the multiple serial access DRAM illustrated in FIG. 3.
  • the current data u is input to the random access port 32.
  • the output data v is obtained from one of the serial output ports 44, 46, 48.
  • the feedback data w is obtained from another serial output port.
  • the multiple access memory of the present invention in a television system, where motion compensation is not used, it is possible to equate the addresses of the current frame data u and the previous frame data w.
  • the previous frame data is simply summed with the new input data and then written back into the same memory address.
  • the previous frame address is derived by adding a motion vector displacement to the current frame address, it becomes necessary to isolate the two video frames. Otherwise, since the motion vector can be unpredictable and may vary from one region to the next, it is very likely that the current frame data will overwrite the previous frame data that is required to predict the value of the pixels which follow.
  • DX and DY are the maximum horizontal and vertical displacements, respectively, of the motion estimator.
  • M is the number of pixels in each line of video
  • b is the number of bits used to represent each pixel sample.
  • the amount of additional memory required is rounded up to simplify the design, and expressed as a number of lines such that the required extra memory equals DY+1.
  • an NTSC video compression system consisting of 480 lines of active video, and having a motion estimator vertical displacement limited to 31 lines, can be implemented using a 512 line frame memory.
  • a 1050 line high definition video compression system that contains 960 lines of active video and uses a maximum vertical displacement of 63 lines, can be implemented using a 1024 line frame memory.
  • FIGS. 8a to 8c An implementation of the dynamic RAM array used in a motion compensated television system is illustrated in FIGS. 8a to 8c.
  • Each video frame contains N lines.
  • the vertical size of the memory array 130 is large enough to accommodate N+K lines where K is greater than or equal to DY+1.
  • a first frame of video is written into the first N lines commencing at the top 132 of the frame memory 130 as illustrated in FIG. 8a.
  • the next frame begins immediately after the last line of the previous frame.
  • This next frame continues to be written within the frame memory 130 until the memory is filled all the way to the bottom 134.
  • the new data for the incoming frame wraps around and continues to fill frame memory 130 from the top 132 thereof. In this manner, the prior frame data required by the motion estimator vertical displacement is always present within the frame memory 130.
  • the data from the third frame is read in. This data overwrites the second frame as it approaches the bottom 134 of the frame memory 130, as illustrated in FIG. 8c. Then, the frame 3 data wraps around to continue to fill the frame memory 130 from the top 132 thereof. The process continues on a revolving basis as new frames of video data are received.
  • mv is the motion vector
  • K is the number of extra lines provided for in the frame memory 130
  • M is the number of pixels per line. Since a frame of video may be split across the frame memory boundaries, it is necessary to use the modulo remainder of (N+K)*M (i.e., the frame memory size) when deriving the previous frame address.
  • a dynamic RAM array is provided having a random access port for inputting data. Input data is written to or read from the DRAM array according to the given row and column address.
  • a plurality of serial output ports are coupled to the output of the DRAM array, each capable of selectively latching and outputting rows of data from the array. It is noted that more than one serial output port can concurrently latch the same row of data from the array, if desired for a particular application. Selective access to the latched data is provided by a serial access selector provided within each serial output port.

Abstract

A multiple serial access memory which includes a dynamic random access memory array is disclosed. The array is randomly addressed to input blocks of data. Address signals are provided to the array to output rows of data. A plurality of serial output ports are coupled to the output of the array for selectively latching different rows of data output from the array. The serial output ports are clocked to output the latched data therefrom. In an illustrated embodiment, each of the serial output ports contains a shift register having a length equal to the width of the memory array. The shift register is responsive to a first timing signal for latching a row of data from the array. A second timing signal actuates the shift register to shift a row of latched data. The serial access selector coupled to the shift register outputs a selected portion of the shifted data from the serial output port. The serial access memory has particular application as the frame store for a motion compensated interframe image coding/decoding system.

Description

BACKGROUND OF THE INVENTION
The present invention relates to the storage and processing of digital data, and more particularly to a multiple serial access memory for providing a plurality of different data streams from data stored therein. The invention is especially useful in providing a frame store for a motion compensated television system.
Digital transmission of television signals can deliver video and audio services of much higher quality than analog techniques. Digital transmission schemes are particularly advantageous for signals that are broadcast over cable television networks or by satellite to cable television affiliates and/or directly to home satellite television receivers. It is expected that digital television transmitter and receiver systems will replace existing analog systems just as digital compact discs have largely replaced analog phonograph records in the audio industry.
A substantial amount of digital data must be transmitted in any digital television system. This is particularly true where high definition television ("HDTV") is provided. In a digital television system, a subscriber receives the digital data stream via a receiver/descrambler that provides video, audio, and data to the subscriber. In order to most efficiently use the available radio frequency spectrum, it is advantageous to compress the digital television signals to minimize the amount of data that must be transmitted.
The video portion of a television signal comprises a sequence of video images (typically "frames") that together provide a moving picture. In digital television systems, each line of a video frame is defined by a sequence of digital data bits referred to as "pixels." A large amount of data is required to define each video frame of a television signal. For example, 7.4 megabits of data is required to provide one video frame at NTSC (National Television System Committee) resolution. This assumes a 640 pixel by 480 line display is used with 8 bits of intensity value for each of the primary colors red, green, and blue. High definition television requires substantially more data to provide each video frame. In order to manage this amount of data, particularly for HDTV applications, the data must be compressed.
Video compression techniques enable the efficient transmission of digital video signals over conventional communication channels. Such techniques use compression algorithms that take advantage of the correlation among adjacent pixels in order to derive a more efficient representation of the important information in a video signal. The most powerful compression systems not only take advantage of spatial correlation, but can also utilize similarities among adjacent frames to further compact the data.
Motion compensation is one of the most effective tools for accounting for and reducing the amount of temporal redundancy in sequential video frames. One of the most effective ways to apply motion compensation in video compression applications is by differential encoding. In this case, the differences between two consecutive images (e.g., "frames") are attributed to simple movements. The encoder estimates or quantifies these movements by observing the two frames and sends the results to a decoder. The decoder uses the received information to transform the first frame, which is known, in such a way that it can be used to effectively predict the appearance of the second frame, which is unknown.
The encoder reproduces the same prediction frame as the decoder, and then sends the differences between the prediction frame and the actual frame. In this way, the amount of information needed to represent the image sequence can be significantly reduced, particularly when the motion estimation model closely resembles the frame to frame changes that actually occur. This technique can result in a significant reduction in the amount of data that needs to be transmitted once simple coding algorithms are applied to the prediction error signal. An example of such a motion compensated video compression system is described by Ericsson in "Fixed and Adaptive Predictors for Hybrid Predictive/Transform Coding," IEEE Transactions on Communications, Vol. COM-33, No. 12, December 1985. An improvement to the system described by Ericsson is disclosed in commonly assigned U.S. Pat. No. 5,057,916 entitled "Method and Apparatus for Refreshing Motion Compensated Sequential Video Images."
Motion compensated television systems require the storage of both current frame and previous frame video data to implement the differential encoding technique described above. Specifically, prior frame data must be summed with a transmitted difference signal to recreate a full current frame for display. The full current frame must be stored for subsequent use in recreating the next frame from a received difference signal. In the past, a dual memory bank system has been used to implement such systems. The same data is stored in both memory banks, allowing it to be accessed independently from each bank. Such an implementation, however, is costly, particularly in HDTV systems where large amounts of memory are required.
It would be advantageous to provide a memory scheme that enables the implementation of a feedback system without the need for redundant memory banks. It would be further advantageous to provide television apparatus that utilizes such a memory scheme to implement motion compensation in an efficient and economical manner. It would be still further advantageous to provide a method for storing video data in a single memory array for use in connection with a television system using motion compensation.
The present invention provides a multiple serial access dynamic random access memory (RAM) and a television system and method having the aforementioned advantages.
SUMMARY OF THE INVENTION
In accordance with the present invention, a multiple serial access memory includes a dynamic random access memory array. Means are provided for addressing the array to input data thereto and output data therefrom. Rows of data are output from the array in response to address signals provided by the addressing means. A plurality of serial output ports, coupled to the outputting means, selectively latch different rows of data output by the outputting means. Means are provided for clocking the serial output ports to output latched data therefrom.
Timing means operatively associated with the array can be provided to limit access to the array to one of the serial output ports at a time. In another embodiment, access to the array by a plurality of serial output ports at the same time is provided, in which case all of the serial output ports concurrently receive the same data.
In an illustrated embodiment, each of the serial output ports comprises a shift register having a length at least equal to a width of the array. The shift register is responsive to a first signal from a timing means for latching a row of data from the array. The shift register is responsive to a second signal from the timing means for shifting the row of latched data. A serial access selector coupled to the shift register outputs a selected portion of the shifted data from the serial output port.
A digital television apparatus is also provided in accordance with the present invention. The apparatus is a type which requires memory for storing a set of working data, such as pixel data from a previous video frame. The apparatus also requires memory for storing a set of display data (e.g., representing a current video frame) derived from the working data. The invention provides a dynamic random access memory array for the television apparatus. Means are provided for addressing the array to input data thereto and output data therefrom. Rows of data are output from the array in response to address signals provided by the addressing means. A plurality of serial output ports coupled to the outputting means selectively latch rows of data output by the outputting means. Means are provided for clocking the serial output ports to output latched data therefrom. At least one of the serial output ports is used to output working data from the array. At least one other of the serial output ports is used to output display data from the array.
Timing means can be operatively associated with the array of the television apparatus for limiting access to the array to one of the serial output ports at a time. Alternatively, several serial output ports can concurrently latch the same data.
In an illustrated embodiment, each of the serial output ports comprises a shift register having a length at least equal to a width of the array. The shift register is responsive to a first signal from a timing means for latching a row of data from the array. The shift register is responsive to a second signal from the timing means for shifting the row of latched data. A serial access selector coupled to the shift register outputs a selected portion of the shifted data from the serial output port.
In one embodiment, the working data is accessed from the array by its respective serial output port in either a field format or a frame format. In this embodiment, the display data is accessed from the array by its respective serial output port in the other of the field format and frame format.
In another embodiment, the working data is accessed from the array by its respective serial output port in a block format. The display data is accessed from the array by its respective serial output port in a television line format.
Where the display data comprises pixel data for a current video frame and the working data comprises pixel data from a previous video frame (for use in reconstructing a current video frame from a motion compensation difference signal), the array has a storage capacity sufficient to store the current video frame together with enough working data to accommodate a predetermined motion estimation search area. The array is filled with data for successive video frames on an ongoing basis, with the data for a current frame overwriting a portion of the data for a previous frame that precedes a current motion estimation search area.
A method in accordance with the present invention stores video data for use by a motion compensator that estimates motion over a maximum horizontal displacement DX and a maximum vertical displacement DY. A frame store memory is provided for storing N+K lines of video data, where N is the number of lines in a video frame and K is at least equal to the number of lines corresponding to the vertical displacement DY. The frame store memory is filled with video data from successive video frames on a revolving basis. N consecutive lines of a second video frame are written into the memory following the last line of a first video frame. In this manner, the first video frame is overwritten by the second video frame on a first-in first-out basis, with the last K lines of the first video frame remaining in the memory once the full second video frame has been written into the memory.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram illustrating a feedback system used by a motion compensated interframe image coding/decoding system;
FIG. 2 is a block diagram of a prior art implementation of the feedback scheme of FIG. 1;
FIG. 3 is a block diagram illustrating a multiple serial access dynamic RAM in accordance with the present invention;
FIG. 4 is a block diagram illustrating one of the serial output ports of FIG. 3 in greater detail;
FIG. 5 is a block diagram illustrating the serial access selector of FIG. 4 in greater detail;
FIG. 6 is a timing diagram illustrating the timing waveforms for individual signals of the multiple access memory during a data transfer cycle;
FIG. 7 is a timing diagram illustrating the timing waveforms for individual signals of the multiple access memory during a data write cycle; and
FIGS. 8a to 8c are diagrammatic illustrations showing how the memory is filled with successive frames of video data.
DETAILED DESCRIPTION OF THE INVENTION
Various applications exist for a random access memory that can provide a plurality of different output streams from the same stored data. For example, a feedback system such as a motion compensated interframe image coding/decoding system used in digital television requires both working data (i.e., data from a prior video frame) and display data (i.e., the reconstructed data for a current frame to be displayed). Such a feedback system is illustrated generally in FIG. 1. Motion vector data is input to an address generator 14 via a terminal 10. The address generator outputs a u address designating where a current pixel is located in a frame, a w address designating the estimated location of that pixel in the previous frame, and a v address designating the location of data to be displayed. The addresses are input to a memory 16, which serves as a frame store. A motion compensation difference signal is input to a summer 20 via terminal 12. Summer 20 adds the difference signal to the previous frame data w that was used to generate the difference signal in the first place, to recover the current frame video data u. This process can be expressed mathematically as follows:
u(u.sub.-- address)=w(w.sub.-- address)+input(u.sub.-- address).
In the above equation, u-- address identifies where the current pixel is located in a video frame stored in memory 16. Thus, it is the memory address for that pixel. w-- address is the estimated location of that pixel in the previous frame, also stored in memory 16. The difference between u-- address and w-- address is the displacement attributable to movement in the video scene. As well known in the art, the determination of this displacement is often done by a motion estimation method, such as block matching. This determination can be expressed as:
w.sub.-- address=u.sub.-- address+mv,
where mv is the motion vector.
In many implementations, the address of the displayed data v is not the same as the address of the current data u. For example, an interlaced television system may use field scanning for display and frame scanning for processing. In field scanning, the odd numbered horizontal television lines are processed as a first field, and the even numbered lines are processed as a second field. When a video picture is reconstructed, the two fields are interleaved so that the horizontal lines are in the proper order. In frame scanning, all of the television lines are processed together, in order, as a single video frame.
If the frame memory 16 in FIG. 1 is organized in a frame format, then the displayed data v is obtained by selecting every second line only. Alternatively, if the frame memory is organized in a field format, then the current data u must be written into memory in a nonsequential order. u-- address may also differ from v-- address in a noninterlaced television system. For example, this may result from the block-by-block processing that is common in video compression systems. In this case, the displayed data v would still be accessed one line at a time while the current data u and the previous frame data w are accessed one block at a time. Common block sizes for such processing are 8 ×8 pixels and 16×16 pixels.
The architecture illustrated in FIG. 1, where w-- address, u-- address, and v-- address are each independent, is very difficult to implement with existing dynamic random access memories (DRAM) and video random access memories (VRAM). Thus, the prior art has implemented a dual bank memory system as shown in FIG. 2. In this implementation, there are two memory banks, 18a and 18b. The same data u is stored both in memory bank 18a and 18b. This allows the data to be accessed independently. However, such an implementation is often costly, particularly in HDTV systems where large amounts of memory are required.
The multiple serial access DRAM of the present invention enables the implementation of a feedback system using the architecture illustrated in FIG. 1, wherein only a single memory array is required.
A detailed block diagram of the multiple serial access DRAM of the present invention is provided in FIG. 3. The DRAM contains a conventional random access port 32 for inputting data (DIN), a dynamic RAM array 30, and row and column decoders 36, 38 for accessing the array via an address input 34. In accordance with the present invention, the address input is also coupled to a plurality of serial output ports 44, 46, 48 that receive data via output bus 50 from the DRAM array 30. Although three serial output ports are illustrated in FIG. 3, it should be appreciated that fewer or more such ports can be provided.
The operation of the serial output ports is controlled by a timing generator 42 that is responsive to control signals 40. Serial clocks input to each of the serial output ports control the output of data from each port to a respective output buffer 54, 56, 58. As indicated in the figure, DRAM array 30 is P rows high by Q columns wide by B bits deep. The output from each output buffer is therefore a B-bit byte, although other implementations will be apparent to those skilled in the art.
The individual control signals 40 input to timing generator 42 include a row access signal RAS, a column access signal CAS, a write enable signal WE, and a separate data transfer signal for each serial output port, DT-1 to DT-N. Timing diagrams for each of the signals in the data transfer mode of operation are illustrated in FIG. 6. Timing diagrams for a data write cycle are illustrated in FIG. 7.
FIG. 4 illustrates a serial output port, such as serial output port 44, 46, or 48, in greater detail. The serial output port contains a shift register comprising cells 62, 64, 66, . . . 68. As illustrated, one cell is provided for each column of the DRAM array. A serial access selector 70, illustrated in greater detail in FIG. 5, is coupled to the outputs of the shift register cells. As noted, the length of the shift register is the same as the width of the memory array, and each cell is connected to a corresponding column of the memory bank. Thus, celli is connected to column i of the memory array. Each cell is also connected to the preceding adjacent cell. For example, an input of celli is connected to the output of celli+1. This is illustrated in FIG. 4, where output 63 of cell 64 is coupled to cell 62, and so forth.
Serial port access consists of two steps. These are referred to as "setup" and "readout." In the setup stage, a load signal carried on line 52 from timing generator 42 (FIG. 3) is set high. This latches the selected row of data from DRAM 30 into the shift register comprising cells 62, 64, 66 . . . 68. The serial access selector 70 is responsive to a column address input coupled via terminal 72 to output the latched data, commencing from one of the shift register cells identified by the column address input. In other words, although an entire row of data is latched into the shift register when the load signal goes high, it is not necessary to output the entire row of data from the serial access selector. Instead, in applications such as video motion estimation, it may be desired to output a set of data corresponding to a particular movement (i.e., shift) in the video image that occurs from one video frame to the next. In such an instance, the column address input instructs the serial access selector to start outputting data from a cell other than cell 62.
One embodiment of a serial access selector in accordance with the present invention is illustrated in greater detail in FIG. 5. The column address input is latched in a serial address register 74 when the load signal goes low. The latched column address is input to a Q to 1 multiplexer 76, that receives the shift register outputs for each of columns 1 to Q, and initially outputs the column data from a cell identified by the column address. Thereafter, a shifting operation takes place as long as the load signal remains low. For every serial clock cycle, celli =celli+1. This function can be performed independently of other operations. Thus, when the load signal is low, multiplexer 76 will initially output the first byte of data from the cell pointed to by the column address, and continue to output successive bytes of data that are shifted into the designated cell from successive cells of the shift register.
The serial access to a serial port is independent of other serial and random access ports in the multiple access memory of FIG. 3. Access to the dynamic RAM array, however, is not independent. For example, a random access port cannot be used at the same time a serial output port is latching data from the array.
The operation of the memory is coordinated by timing generator 42. FIGS. 6 and 7 provide timing diagrams for the system timing signals during data transfer and data writing cycles, respectively. Referring to FIG. 6, when RAS goes low, and any DT-N is low, the circuit of FIG. 3 will be in the data transfer mode of operation. All of the serial output port registers having a corresponding DT-N signal that is low will latch new data. All other serial output ports will retain their old data. Thus, as shown in FIG. 6, when RAS 80 goes low, DT-1 88 and DT-3 100 are low. DT-2 94, on the other hand, is high. As a result, output 1, shown at 92 and output 3, shown at 104 contain new data ("new i") whereas output 2 shown at 98 continues to carry old data (e.g., old i+3).
The serial clocks 90, 96, and 102 for each of the three serial output ports illustrated are used, as described above, to clock data out from the serial output ports to the output buffers 54, 56, 58. Column access signal CAS 82 controls the output of the column address as indicated at 84. The row address is output when RAS goes low. A write enable signal WE shown at 86 controls the writing of data into DRAM array 30.
When the write enable signal goes low, as illustrated at 118 in FIG. 7, data is input to the array via random access port 32 as indicated by the waveform "DIN" at 116 in FIG. 7. The status of the RAS and CAS timing signals 110, 112 respectively during the data write cycle is illustrated in FIG. 7, together with the associated addressing information illustrated at 114. In order to operate in the write cycle, the DT-N signals corresponding to each of the serial output ports must be high, as illustrated at 120 in FIG. 7.
A feedback system as illustrated in FIG. 1 can be easily implemented by using the multiple serial access DRAM of the present invention. Memory 16 is the multiple serial access DRAM illustrated in FIG. 3. Typically, the current data u is input to the random access port 32. The output data v is obtained from one of the serial output ports 44, 46, 48. The feedback data w is obtained from another serial output port.
In using the multiple access memory of the present invention in a television system, where motion compensation is not used, it is possible to equate the addresses of the current frame data u and the previous frame data w. The previous frame data is simply summed with the new input data and then written back into the same memory address. However, in a motion compensated system, where the previous frame address is derived by adding a motion vector displacement to the current frame address, it becomes necessary to isolate the two video frames. Otherwise, since the motion vector can be unpredictable and may vary from one region to the next, it is very likely that the current frame data will overwrite the previous frame data that is required to predict the value of the pixels which follow.
It is possible to implement a motion compensation system in accordance with the present invention, using only slightly more than one frame of memory. The additional memory that is required can be expressed as:
DX+DY*M*b,
where DX and DY are the maximum horizontal and vertical displacements, respectively, of the motion estimator. M is the number of pixels in each line of video, and b is the number of bits used to represent each pixel sample. In a preferred embodiment, the amount of additional memory required is rounded up to simplify the design, and expressed as a number of lines such that the required extra memory equals DY+1. For example, an NTSC video compression system consisting of 480 lines of active video, and having a motion estimator vertical displacement limited to 31 lines, can be implemented using a 512 line frame memory. Similarly, a 1050 line high definition video compression system that contains 960 lines of active video and uses a maximum vertical displacement of 63 lines, can be implemented using a 1024 line frame memory.
An implementation of the dynamic RAM array used in a motion compensated television system is illustrated in FIGS. 8a to 8c. Each video frame contains N lines. The vertical size of the memory array 130 is large enough to accommodate N+K lines where K is greater than or equal to DY+1. A first frame of video is written into the first N lines commencing at the top 132 of the frame memory 130 as illustrated in FIG. 8a. The next frame begins immediately after the last line of the previous frame. This next frame continues to be written within the frame memory 130 until the memory is filled all the way to the bottom 134. At this point, the new data for the incoming frame wraps around and continues to fill frame memory 130 from the top 132 thereof. In this manner, the prior frame data required by the motion estimator vertical displacement is always present within the frame memory 130. As illustrated in FIG. 8b, after the second frame of data has been read into the frame memory 130, the data from the third frame is read in. This data overwrites the second frame as it approaches the bottom 134 of the frame memory 130, as illustrated in FIG. 8c. Then, the frame 3 data wraps around to continue to fill the frame memory 130 from the top 132 thereof. The process continues on a revolving basis as new frames of video data are received.
Since the previous frame of video data is offset within the frame memory 130 from the current frame by K lines, the relationship between the current and previous frame addresses becomes:
w.sub.-- address=u.sub.-- address+mv-K*M.
As already noted, mv is the motion vector, K is the number of extra lines provided for in the frame memory 130, and M is the number of pixels per line. Since a frame of video may be split across the frame memory boundaries, it is necessary to use the modulo remainder of (N+K)*M (i.e., the frame memory size) when deriving the previous frame address.
It should now be appreciated that the present invention provides a multiple serial access memory, that has particular application in the storage of current frame data and a portion of previous frame data necessary to process motion compensated video image data. A dynamic RAM array is provided having a random access port for inputting data. Input data is written to or read from the DRAM array according to the given row and column address. A plurality of serial output ports are coupled to the output of the DRAM array, each capable of selectively latching and outputting rows of data from the array. It is noted that more than one serial output port can concurrently latch the same row of data from the array, if desired for a particular application. Selective access to the latched data is provided by a serial access selector provided within each serial output port.
Although the invention has been described in connection with a specific embodiment thereof, those skilled in the art will appreciate that numerous adaptations and modifications may be made thereto without departing from the spirit and scope of the invention as set forth in the claims.

Claims (20)

What is claimed is:
1. A multiple serial access memory comprising:
a dynamic random access memory array P rows high by Q columns wide by B bits deep;
means for addressing said array to randomly input N row high by M column wide blocks of B bit data bytes thereto, where N<P and M<Q;
means for outputting rows of data of length L from said array in response to address signals provided by said addressing means, where M<L<Q;
a plurality of serial output ports coupled to said outputting means for selectively latching rows of data output by said outputting means; and
means for clocking said serial output ports to output latched data therefrom.
2. A memory in accordance with claim 1 further comprising:
timing means operatively associated with said array for limiting access to said array to one of said serial output ports at a time.
3. A memory in accordance with claim 1 wherein each of said serial output ports comprises:
a shift register having a length at least equal to a width of said array, said shift register being responsive to a first signal from a timing means for latching a row of data from said array and responsive to a second signal from said timing means for shifting the row of latched data; and
a serial access selector coupled to said shift register for outputting a selected portion of the shifted data from the serial output port.
4. In a digital television apparatus that requires memory for storing a set of working data and memory for storing a set of display data derived from said working data, the improvement comprising:
a dynamic random access memory array P rows high by Q columns wide by B bits deep;
means for addressing said array to randomly input N row high by M column wide blocks of B bit data bytes thereto, where N<P and M<Q;
means for outputting rows of data of length L from said array in response to address signals provided by said addressing means, where M<L<Q;
a plurality of serial output ports coupled to said outputting means for selectively latching rows of data output by said outputting means; and
means for clocking said serial output ports to output latched data therefrom;
wherein at least one of said serial output ports is used to output working data from said array and at least one other of said serial output ports is used to output display data from said array.
5. Television apparatus in accordance with claim 4 further comprising:
timing means operatively associated with said array for limiting access to said array to one of said serial output ports at a time.
6. Television apparatus in accordance with claim 4 wherein each of said serial output ports comprises:
a shift register having a length at least equal to a width of said array, said shift register being responsive to a first signal from a timing means for latching a row of data from said array and responsive to a second signal from said timing means for shifting the row of latched data; and
a serial access selector coupled to said shift register for outputting a selected portion of the shifted data from the serial output port.
7. Television apparatus in accordance with claim 4 wherein:
said working data is provided from the array to its respective serial output port in one of a field format and frame format; and
said display data is provided from the array to its respective serial output port in the other of said field format and frame format.
8. Television apparatus in accordance with claim 4 wherein:
said working data is provided from the array to its respective serial output port in an NxM block format, where N is a plurality of television lines and M is a number of pixels less than the number of pixels contained in a full television line; and
said display data is provided from the array to its respective serial output port in a television line format.
9. Television apparatus in accordance with claim 4 wherein:
said display data comprises pixel data for a current video frame;
said working data comprises pixel data from a previous video frame for use in reconstructing a current video frame from a motion compensation difference signal;
said array has a storage capacity sufficient to store said current video frame together with enough working data to accommodate a predetermined motion estimation search area; and
said array is filled with data for successive video frames on an ongoing basis with the data for a current frame overwriting a portion of the data for a previous frame that precedes a current motion estimation search area.
10. A method for storing video data for use by a motion compensator including a motion estimator that estimates motion over a maximum horizontal displacement DX and a maximum vertical displacement DY, comprising the steps of:
providing a frame store memory for storing N+K lines of video data, where N is the number of lines in a video frame and K is at least equal to the number of lines corresponding to the maximum vertical displacement DY of the motion estimator; and
filling said frame store memory with video data from successive video frames on a revolving basis, wherein N consecutive lines of a second video frame are written into said memory following the last line of a first video frame, such that the first video frame is overwritten by the second video frame on a first-in first-out basis, with the last K lines of the first video frame remaining in said memory once the full second video frame has been written into said memory.
11. A multiple serial access memory comprising:
a dynamic random access memory array;
means for addressing said array to input data thereto and output data therefrom;
means for outputting rows of data from said array in response to address signals provided by said addressing means;
a plurality of serial output ports coupled to said outputting means for selectively latching rows of data output by said outputting means; and
means for clocking said serial output ports to output latched data therefrom;
wherein each of said serial output ports comprises:
a shift register having a length at least equal to a width of said array, said shift register being responsive to a first signal from a timing means for latching a row of data from said array and responsive to a second signal from said timing means for shifting the row of latched data; and
a serial access selector coupled to said shift register for outputting a selected portion of the shifted data from the serial output port.
12. A memory in accordance with claim 11 further comprising:
timing means operatively associated with said array for limiting access to said array to one of said serial output ports at a time.
13. In a digital television apparatus that requires memory for storing a set of working data and memory for storing a set of display data derived from said working data, the improvement comprising:
a dynamic random access memory array;
means for addressing said array to input data thereto and output data therefrom;
means for outputting rows of data from said array in response to address signals provided by said addressing means;
a plurality of serial output ports coupled to said outputting means for selectively latching rows of data output by said outputting means; and
means for clocking said serial output ports to output latched data therefrom;
wherein at least one of said serial output ports is used to output working data from said array and at least one other of said serial output ports is used to output display data from said array and each of said serial output ports comprises:
a shift register having a length at least equal to a width of said array, said shift register being responsive to a first signal from a timing means for latching a row of data from said array and responsive to a second signal from said timing means for shifting the row of latched data; and
a serial access selector coupled to said shift register for outputting a selected portion of the shifted data from the serial output port.
14. A memory in accordance with claim 13 further comprising:
timing means operatively associated with said array for limiting access to said array to one of said serial output ports at a time.
15. In a digital television apparatus that requires memory for storing a set of working data and memory for storing a set of display data derived from said working data, the improvement comprising:
a dynamic random access memory array;
means for addressing said array to input data thereto and output data therefrom;
means for outputting rows of data from said array in response to address signals provided by said addressing means;
a plurality of serial output ports coupled to said outputting means for selectively latching rows of data output by said outputting means;
means for clocking said serial output ports to output latched data therefrom;
at least one of said serial output ports being used to output working data from said array; and
at least one other of said serial output ports being used to output display data from said array; wherein:
said working data is provided from the array to its respective serial output port in one of a field format and frame format; and
said display data is provided from the array to its respective serial output port in the other of said field format and frame format.
16. A memory in accordance with claim 15 further comprising:
timing means operatively associated with said array for limiting access to said array to one of said serial output ports at a time.
17. In a digital television apparatus that requires memory for storing a set of working data and memory for storing a set of display data derived from said working data, the improvement comprising:
a dynamic random access memory array;
means for addressing said array to input data thereto and output data therefrom;
means for outputting rows of data from said array in response to address signals provided by said addressing means;
a plurality of serial output ports coupled to said outputting means for selectively latching rows of data output by said outputting means;
means for clocking said serial output ports to output latched data therefrom;
at least one of said serial output ports being used to output working data from said array; and
at least one other of said serial output ports being used to output display data from said array; wherein:
said working data is provided from the array to its respective serial output port in an NxM block format, where N is a plurality of television lines and M is a number of pixels less than the number of pixels contained in a full television line; and
said display data is provided from the array to its respective serial output port in a television line format.
18. A memory in accordance with claim 17 further comprising:
timing means operatively associated with said array for limiting access to said array to one of said serial output ports at a time.
19. In a digital television apparatus that requires memory for storing a set of working data and memory for storing a set of display data derived from said working data, the improvement comprising:
a dynamic random access memory array;
means for addressing said array to input data thereto and output data therefrom;
means for outputting rows of data from said array in response to address signals provided by said addressing means;
a plurality of serial output ports coupled to said outputting means for selectively latching rows of data output by said outputting means;
means for clocking said serial output ports to output latched data therefrom;
at least one of said serial output ports being used to output working data from said array; and
at least one other of said serial output ports being used to output display data from said array; wherein:
said display data comprises pixel data for a current video frame;
said working data comprises pixel data from a previous video frame for use in reconstructing a current video frame from a motion compensation difference signal;
said array has a storage capacity sufficient to store said current video frame together with enough working data to accommodate a predetermined motion estimation search area; and
said array is filled with data for successive video frames on an ongoing basis with the data for a current frame overwriting a portion of the data for a previous frame that precedes a current motion estimation search area.
20. A memory in accordance with claim 19 further comprising:
timing means operatively associated with said array for limiting access to said array to one of said serial output ports at a time.
US07/791,369 1991-11-19 1991-11-19 Multiple serial access memory for use in feedback systems such as motion compensated television Expired - Lifetime US5315388A (en)

Priority Applications (14)

Application Number Priority Date Filing Date Title
US07/791,369 US5315388A (en) 1991-11-19 1991-11-19 Multiple serial access memory for use in feedback systems such as motion compensated television
TW080109683A TW225081B (en) 1991-11-19 1991-12-10
AT92118660T ATE174449T1 (en) 1991-11-19 1992-10-31 TELEVISION SYSTEM WITH MULTIPLE SERIAL ACCESS MEMORY
AT98105936T ATE218263T1 (en) 1991-11-19 1992-10-31 METHOD FOR STORING VIDEO DATA AND CORRESPONDING TELEVISION SYSTEM
EP98105936A EP0862333B1 (en) 1991-11-19 1992-10-31 Method for storing video data and corresponding television system
EP92118660A EP0543197B1 (en) 1991-11-19 1992-10-31 Television system having multiple serial access memory
DE69232623T DE69232623T2 (en) 1991-11-19 1992-10-31 Method for storing video data and corresponding television system
DE69227821T DE69227821T2 (en) 1991-11-19 1992-10-31 TV system with a memory with multiple serial access
CA002082133A CA2082133C (en) 1991-11-19 1992-11-04 Multiple serial access memory for use in feedback systems such as motion compensated television
AU28456/92A AU661637B2 (en) 1991-11-19 1992-11-18 Multiple serial access memory for use in feedback systems such as motion compensated television
NO924452A NO302679B1 (en) 1991-11-19 1992-11-18 Multiple serial access storage as well as digital television set for use in storage of the aforementioned kind
MX9206693A MX9206693A (en) 1991-11-19 1992-11-19 STANDARD MULTIPLE ACCESS MEMORY FOR USE IN FEEDBACK SYSTEMS SUCH AS COMPENSATED MOVEMENT TELEVISION
KR1019920021690A KR970000604B1 (en) 1991-11-19 1992-11-19 Multiple serial access memory for use in feedback systems such as motion compensated television
JP33218792A JP3194500B2 (en) 1991-11-19 1992-11-19 Memory for use in feedback systems such as motion compensated television

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/791,369 US5315388A (en) 1991-11-19 1991-11-19 Multiple serial access memory for use in feedback systems such as motion compensated television

Publications (1)

Publication Number Publication Date
US5315388A true US5315388A (en) 1994-05-24

Family

ID=25153524

Family Applications (1)

Application Number Title Priority Date Filing Date
US07/791,369 Expired - Lifetime US5315388A (en) 1991-11-19 1991-11-19 Multiple serial access memory for use in feedback systems such as motion compensated television

Country Status (11)

Country Link
US (1) US5315388A (en)
EP (2) EP0543197B1 (en)
JP (1) JP3194500B2 (en)
KR (1) KR970000604B1 (en)
AT (2) ATE174449T1 (en)
AU (1) AU661637B2 (en)
CA (1) CA2082133C (en)
DE (2) DE69227821T2 (en)
MX (1) MX9206693A (en)
NO (1) NO302679B1 (en)
TW (1) TW225081B (en)

Cited By (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5442402A (en) * 1992-09-23 1995-08-15 Daewoo Electronics Co., Ltd. Modular memory for an image decoding system
US5526050A (en) * 1994-03-31 1996-06-11 Cognex Corporation Methods and apparatus for concurrently acquiring video data from multiple video data sources
US5585863A (en) * 1995-04-07 1996-12-17 Eastman Kodak Company Memory organizing and addressing method for digital video images
US5596376A (en) * 1995-02-16 1997-01-21 C-Cube Microsystems, Inc. Structure and method for a multistandard video encoder including an addressing scheme supporting two banks of memory
US5675387A (en) * 1994-08-15 1997-10-07 General Instrument Corporation Of Delaware Method and apparatus for efficient addressing of DRAM in a video decompression processor
US5696698A (en) * 1994-04-27 1997-12-09 Sgs-Thomson Microelectronics S.A. Device for addressing a cache memory of a compressing motion picture circuit
US5719642A (en) * 1996-05-07 1998-02-17 National Science Council Of R.O.C. Full-search block matching motion estimation processor
US5805931A (en) * 1996-02-09 1998-09-08 Micron Technology, Inc. Programmable bandwidth I/O port and a communication interface using the same port having a plurality of serial access memories capable of being configured for a variety of protocols
US5809538A (en) * 1996-02-07 1998-09-15 General Instrument Corporation DRAM arbiter for video decoder
US5872870A (en) * 1996-02-16 1999-02-16 Cognex Corporation Machine vision methods for identifying extrema of objects in rotated reference frames
US5909504A (en) * 1996-03-15 1999-06-01 Cognex Corporation Method of testing a machine vision inspection system
US5940146A (en) * 1995-04-28 1999-08-17 Matsushita Electric Industrial Co., Ltd. Video apparatus with image memory function
US5953130A (en) * 1997-01-06 1999-09-14 Cognex Corporation Machine vision methods and apparatus for machine vision illumination of an object
US5960125A (en) 1996-11-21 1999-09-28 Cognex Corporation Nonfeedback-based machine vision method for determining a calibration relationship between a camera and a moveable object
US5974169A (en) * 1997-03-20 1999-10-26 Cognex Corporation Machine vision methods for determining characteristics of an object using boundary points and bounding regions
US5978502A (en) * 1996-04-01 1999-11-02 Cognex Corporation Machine vision methods for determining characteristics of three-dimensional objects
US5978080A (en) * 1997-09-25 1999-11-02 Cognex Corporation Machine vision methods using feedback to determine an orientation, pixel width and pixel height of a field of view
US5982395A (en) * 1997-12-31 1999-11-09 Cognex Corporation Method and apparatus for parallel addressing of an image processing memory
US6008850A (en) * 1992-12-15 1999-12-28 Sony Corporation Moving picture decoding device
US6026176A (en) * 1995-07-25 2000-02-15 Cognex Corporation Machine vision methods and articles of manufacture for ball grid array inspection
US6025854A (en) * 1997-12-31 2000-02-15 Cognex Corporation Method and apparatus for high speed image acquisition
US6067379A (en) * 1988-12-09 2000-05-23 Cognex Corporation Method and apparatus for locating patterns in an optical image
US6075881A (en) 1997-03-18 2000-06-13 Cognex Corporation Machine vision methods for identifying collinear sets of points from an image
US6137893A (en) * 1996-10-07 2000-10-24 Cognex Corporation Machine vision calibration targets and methods of determining their location and orientation in an image
US6141033A (en) * 1997-05-15 2000-10-31 Cognex Corporation Bandwidth reduction of multichannel images for machine vision
US6157751A (en) * 1997-12-30 2000-12-05 Cognex Corporation Method and apparatus for interleaving a parallel image processing memory
US6208772B1 (en) 1997-10-17 2001-03-27 Acuity Imaging, Llc Data processing system for logically adjacent data samples such as image data in a machine vision system
US6215915B1 (en) 1998-02-20 2001-04-10 Cognex Corporation Image processing methods and apparatus for separable, general affine transformation of an image
US6236769B1 (en) 1998-01-28 2001-05-22 Cognex Corporation Machine vision systems and methods for morphological transformation of an image with zero or other uniform offsets
US6256259B1 (en) 1997-03-05 2001-07-03 Micron Technology, Inc. Delay-locked loop with binary-coupled capacitor
US6259827B1 (en) 1996-03-21 2001-07-10 Cognex Corporation Machine vision methods for enhancing the contrast between an object and its background using multiple on-axis images
US6269451B1 (en) 1998-02-27 2001-07-31 Micron Technology, Inc. Method and apparatus for adjusting data timing by delaying clock signal
US6279090B1 (en) 1998-09-03 2001-08-21 Micron Technology, Inc. Method and apparatus for resynchronizing a plurality of clock signals used in latching respective digital signals applied to a packetized memory device
US6282328B1 (en) 1998-01-28 2001-08-28 Cognex Corporation Machine vision systems and methods for morphological transformation of an image with non-uniform offsets
US20010024135A1 (en) * 1997-06-20 2001-09-27 Harrison Ronnie M. Method and apparatus for generating a sequence of clock signals
US6298149B1 (en) 1996-03-21 2001-10-02 Cognex Corporation Semiconductor device image inspection with contrast enhancement
US6307588B1 (en) 1997-12-30 2001-10-23 Cognex Corporation Method and apparatus for address expansion in a parallel image processing memory
US6338127B1 (en) 1998-08-28 2002-01-08 Micron Technology, Inc. Method and apparatus for resynchronizing a plurality of clock signals used to latch respective digital signals, and memory device using same
US6340904B1 (en) 1997-02-11 2002-01-22 Micron Technology, Inc. Method and apparatus for generating an internal clock signal that is synchronized to an external clock signal
US6349399B1 (en) 1998-09-03 2002-02-19 Micron Technology, Inc. Method and apparatus for generating expect data from a captured bit pattern, and memory device using same
US6374360B1 (en) 1998-12-11 2002-04-16 Micron Technology, Inc. Method and apparatus for bit-to-bit timing correction of a high speed memory bus
US6377713B1 (en) 1999-01-27 2002-04-23 General Instrument Corporation Synchronous DRAM bandwidth optimization for display downsizing of an MPEG-2 image
US6381366B1 (en) 1998-12-18 2002-04-30 Cognex Corporation Machine vision methods and system for boundary point-based comparison of patterns and images
US6381375B1 (en) 1998-02-20 2002-04-30 Cognex Corporation Methods and apparatus for generating a projection of an image
US6430696B1 (en) 1998-11-30 2002-08-06 Micron Technology, Inc. Method and apparatus for high speed data capture utilizing bit-to-bit timing correction, and memory device using same
US20030016748A1 (en) * 2001-07-20 2003-01-23 Divio, Inc. Memory control apparatus and efficient search pattern for block-matching motion estimation
US6608647B1 (en) 1997-06-24 2003-08-19 Cognex Corporation Methods and apparatus for charge coupled device image acquisition with independent integration and readout
US6684402B1 (en) 1999-12-01 2004-01-27 Cognex Technology And Investment Corporation Control methods and apparatus for coupling multiple image acquisition devices to a digital data processor
US6687402B1 (en) 1998-12-18 2004-02-03 Cognex Corporation Machine vision methods and systems for boundary feature comparison of patterns and images
US20040103226A1 (en) * 2001-06-28 2004-05-27 Brian Johnson Method and system for adjusting the timing offset between a clock signal and respective digital signals transmitted along with clock signal, and memory device and computer system using same
US6748104B1 (en) 2000-03-24 2004-06-08 Cognex Corporation Methods and apparatus for machine vision inspection using single and multiple templates or patterns
US6806916B1 (en) 1995-04-28 2004-10-19 Matsushita Electric Industrial Co., Ltd. Video apparatus with image memory function
US6912680B1 (en) 1997-02-11 2005-06-28 Micron Technology, Inc. Memory system with dynamic timing correction
US6931086B2 (en) 1999-03-01 2005-08-16 Micron Technology, Inc. Method and apparatus for generating a phase dependent control signal
US6959016B1 (en) 1997-09-18 2005-10-25 Micron Technology, Inc. Method and apparatus for adjusting the timing of signals over fine and coarse ranges
US7168027B2 (en) 2003-06-12 2007-01-23 Micron Technology, Inc. Dynamic synchronization of data capture on an optical or other high speed communications link
US7234070B2 (en) 2003-10-27 2007-06-19 Micron Technology, Inc. System and method for using a learning sequence to establish communications on a high-speed nonsynchronous interface in the absence of clock forwarding
US20070296872A1 (en) * 2006-06-23 2007-12-27 Kabushiki Kaisha Toshiba Line memory packaging apparatus and television receiver
US20080303758A1 (en) * 2007-06-08 2008-12-11 Yoshihisa Ooishi Display Device
US20100027547A1 (en) * 2007-06-06 2010-02-04 Fujitsu Limited Relay Device And Terminal Unit
US8111904B2 (en) 2005-10-07 2012-02-07 Cognex Technology And Investment Corp. Methods and apparatus for practical 3D vision system
US8162584B2 (en) 2006-08-23 2012-04-24 Cognex Corporation Method and apparatus for semiconductor wafer alignment
US9544587B2 (en) 2012-05-14 2017-01-10 Google Technology Holdings LLC Scalable video coding with enhanced base layer

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3381077B2 (en) * 1992-12-04 2003-02-24 ソニー株式会社 Video decoding device
US7075991B1 (en) 1993-01-18 2006-07-11 Sony Corporation Apparatus for encoding and decoding header data in picture signal transmission
US7558324B2 (en) 1993-01-18 2009-07-07 Sony Corporation Apparatus for encoding and decoding header data in picture signal transmission
US5448310A (en) * 1993-04-27 1995-09-05 Array Microsystems, Inc. Motion estimation coprocessor
US5784108A (en) * 1996-12-03 1998-07-21 Zapex Technologies (Israel) Ltd. Apparatus for and method of reducing the memory bandwidth requirements of a systolic array
FR2782878B1 (en) * 1998-08-28 2000-11-10 Holding Bev Sa COMPRESSION AND DECOMPRESSION SYSTEM FOR DIGITAL VIDEO SIGNALS
JP2000358193A (en) * 1999-06-15 2000-12-26 Matsushita Electric Ind Co Ltd Video device with image memory function
CN101208954B (en) * 2004-03-08 2010-09-08 Nxp股份有限公司 Video decoder with scalable compression and buffer for storing and retrieving reference frame data and decoding method

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3996559A (en) * 1974-11-07 1976-12-07 International Business Machines Corporation Method and apparatus for accessing horizontal sequences, vertical sequences and regularly spaced rectangular subarrays from an array stored in a modified word organized random access memory system
US4148070A (en) * 1976-01-30 1979-04-03 Micro Consultants Limited Video processing system
US4275418A (en) * 1978-09-14 1981-06-23 Micro Consultants Limited Video noise reduction systems
US4296436A (en) * 1978-08-21 1981-10-20 Hitachi, Ltd. Noise reducing system
US4321695A (en) * 1979-11-23 1982-03-23 Texas Instruments Incorporated High speed serial access semiconductor memory with fault tolerant feature
EP0150935A2 (en) * 1984-01-11 1985-08-07 Nec Corporation Inter-frame coding apparatus for video signal
US4541075A (en) * 1982-06-30 1985-09-10 International Business Machines Corporation Random access memory having a second input/output port
US4602275A (en) * 1984-03-19 1986-07-22 Rca Corporation Television memory system
US4864402A (en) * 1986-06-20 1989-09-05 Sony Corporation Video memory
EP0360243A2 (en) * 1988-09-21 1990-03-28 Kabushiki Kaisha Toshiba Video memory device
US4987559A (en) * 1988-03-04 1991-01-22 Nec Corporation Semiconductor memory device having a plurality of access ports
US5040149A (en) * 1986-04-28 1991-08-13 Sony Corporation Semiconductor memory with divided readout from storage
US5057916A (en) * 1990-11-16 1991-10-15 General Instrument Corporation Method and apparatus for refreshing motion compensated sequential video images

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6072020A (en) * 1983-09-29 1985-04-24 Nec Corp Dual port memory circuit
DE3588156T2 (en) * 1985-01-22 1998-01-08 Texas Instruments Inc Semiconductor memory with serial access
JP2925157B2 (en) * 1989-02-28 1999-07-28 キヤノン株式会社 Data storage device
US5036493A (en) * 1990-03-15 1991-07-30 Digital Equipment Corporation System and method for reducing power usage by multiple memory modules
JPH0782747B2 (en) * 1990-05-07 1995-09-06 インターナショナル・ビジネス・マシーンズ・コーポレイション Memory array having random access port and serial access port
US5216503A (en) * 1991-12-24 1993-06-01 General Instrument Corporation Statistical multiplexer for a multichannel image compression system

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3996559A (en) * 1974-11-07 1976-12-07 International Business Machines Corporation Method and apparatus for accessing horizontal sequences, vertical sequences and regularly spaced rectangular subarrays from an array stored in a modified word organized random access memory system
US4148070A (en) * 1976-01-30 1979-04-03 Micro Consultants Limited Video processing system
US4296436A (en) * 1978-08-21 1981-10-20 Hitachi, Ltd. Noise reducing system
US4275418A (en) * 1978-09-14 1981-06-23 Micro Consultants Limited Video noise reduction systems
US4321695A (en) * 1979-11-23 1982-03-23 Texas Instruments Incorporated High speed serial access semiconductor memory with fault tolerant feature
US4541075A (en) * 1982-06-30 1985-09-10 International Business Machines Corporation Random access memory having a second input/output port
EP0150935A2 (en) * 1984-01-11 1985-08-07 Nec Corporation Inter-frame coding apparatus for video signal
US4602275A (en) * 1984-03-19 1986-07-22 Rca Corporation Television memory system
US5040149A (en) * 1986-04-28 1991-08-13 Sony Corporation Semiconductor memory with divided readout from storage
US4864402A (en) * 1986-06-20 1989-09-05 Sony Corporation Video memory
US4987559A (en) * 1988-03-04 1991-01-22 Nec Corporation Semiconductor memory device having a plurality of access ports
EP0360243A2 (en) * 1988-09-21 1990-03-28 Kabushiki Kaisha Toshiba Video memory device
US5057916A (en) * 1990-11-16 1991-10-15 General Instrument Corporation Method and apparatus for refreshing motion compensated sequential video images

Cited By (112)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6067379A (en) * 1988-12-09 2000-05-23 Cognex Corporation Method and apparatus for locating patterns in an optical image
US5442402A (en) * 1992-09-23 1995-08-15 Daewoo Electronics Co., Ltd. Modular memory for an image decoding system
US6008850A (en) * 1992-12-15 1999-12-28 Sony Corporation Moving picture decoding device
US5526050A (en) * 1994-03-31 1996-06-11 Cognex Corporation Methods and apparatus for concurrently acquiring video data from multiple video data sources
US5696698A (en) * 1994-04-27 1997-12-09 Sgs-Thomson Microelectronics S.A. Device for addressing a cache memory of a compressing motion picture circuit
US5675387A (en) * 1994-08-15 1997-10-07 General Instrument Corporation Of Delaware Method and apparatus for efficient addressing of DRAM in a video decompression processor
CN1110965C (en) * 1994-08-15 2003-06-04 通用仪器公司 Method and apparatus for efficient addressing of dram in a video decompression processor
US5900865A (en) * 1995-02-16 1999-05-04 C-Cube Microsystems, Inc. Method and circuit for fetching a 2-D reference picture area from an external memory
US5596376A (en) * 1995-02-16 1997-01-21 C-Cube Microsystems, Inc. Structure and method for a multistandard video encoder including an addressing scheme supporting two banks of memory
US5604540A (en) * 1995-02-16 1997-02-18 C-Cube Microsystems, Inc. Structure and method for a multistandard video encoder
US5585863A (en) * 1995-04-07 1996-12-17 Eastman Kodak Company Memory organizing and addressing method for digital video images
US6806916B1 (en) 1995-04-28 2004-10-19 Matsushita Electric Industrial Co., Ltd. Video apparatus with image memory function
US5940146A (en) * 1995-04-28 1999-08-17 Matsushita Electric Industrial Co., Ltd. Video apparatus with image memory function
US6026176A (en) * 1995-07-25 2000-02-15 Cognex Corporation Machine vision methods and articles of manufacture for ball grid array inspection
US6442291B1 (en) 1995-07-25 2002-08-27 Cognex Corporation Machine vision methods and articles of manufacture for ball grid array
US5809538A (en) * 1996-02-07 1998-09-15 General Instrument Corporation DRAM arbiter for video decoder
US5805931A (en) * 1996-02-09 1998-09-08 Micron Technology, Inc. Programmable bandwidth I/O port and a communication interface using the same port having a plurality of serial access memories capable of being configured for a variety of protocols
US5872870A (en) * 1996-02-16 1999-02-16 Cognex Corporation Machine vision methods for identifying extrema of objects in rotated reference frames
US5909504A (en) * 1996-03-15 1999-06-01 Cognex Corporation Method of testing a machine vision inspection system
US6396949B1 (en) 1996-03-21 2002-05-28 Cognex Corporation Machine vision methods for image segmentation using multiple images
US6587582B1 (en) 1996-03-21 2003-07-01 Cognex Corporation Semiconductor device image inspection with contrast enhancement
US6298149B1 (en) 1996-03-21 2001-10-02 Cognex Corporation Semiconductor device image inspection with contrast enhancement
US6259827B1 (en) 1996-03-21 2001-07-10 Cognex Corporation Machine vision methods for enhancing the contrast between an object and its background using multiple on-axis images
US5978502A (en) * 1996-04-01 1999-11-02 Cognex Corporation Machine vision methods for determining characteristics of three-dimensional objects
US5719642A (en) * 1996-05-07 1998-02-17 National Science Council Of R.O.C. Full-search block matching motion estimation processor
US6137893A (en) * 1996-10-07 2000-10-24 Cognex Corporation Machine vision calibration targets and methods of determining their location and orientation in an image
US5960125A (en) 1996-11-21 1999-09-28 Cognex Corporation Nonfeedback-based machine vision method for determining a calibration relationship between a camera and a moveable object
US6301396B1 (en) 1996-11-21 2001-10-09 Cognex Corporation Nonfeedback-based machine vision methods for determining a calibration relationship between a camera and a moveable object
US5953130A (en) * 1997-01-06 1999-09-14 Cognex Corporation Machine vision methods and apparatus for machine vision illumination of an object
US6912680B1 (en) 1997-02-11 2005-06-28 Micron Technology, Inc. Memory system with dynamic timing correction
US6340904B1 (en) 1997-02-11 2002-01-22 Micron Technology, Inc. Method and apparatus for generating an internal clock signal that is synchronized to an external clock signal
US6483757B2 (en) 1997-03-05 2002-11-19 Micron Technology, Inc. Delay-locked loop with binary-coupled capacitor
US6256259B1 (en) 1997-03-05 2001-07-03 Micron Technology, Inc. Delay-locked loop with binary-coupled capacitor
US6490224B2 (en) 1997-03-05 2002-12-03 Micron Technology, Inc. Delay-locked loop with binary-coupled capacitor
US6262921B1 (en) 1997-03-05 2001-07-17 Micron Technology, Inc. Delay-locked loop with binary-coupled capacitor
US6490207B2 (en) 1997-03-05 2002-12-03 Micron Technology, Inc. Delay-locked loop with binary-coupled capacitor
US6400641B1 (en) 1997-03-05 2002-06-04 Micron Technology, Inc. Delay-locked loop with binary-coupled capacitor
US6075881A (en) 1997-03-18 2000-06-13 Cognex Corporation Machine vision methods for identifying collinear sets of points from an image
US5974169A (en) * 1997-03-20 1999-10-26 Cognex Corporation Machine vision methods for determining characteristics of an object using boundary points and bounding regions
US6141033A (en) * 1997-05-15 2000-10-31 Cognex Corporation Bandwidth reduction of multichannel images for machine vision
US8565008B2 (en) 1997-06-20 2013-10-22 Round Rock Research, Llc Method and apparatus for generating a sequence of clock signals
US6954097B2 (en) 1997-06-20 2005-10-11 Micron Technology, Inc. Method and apparatus for generating a sequence of clock signals
US20010024135A1 (en) * 1997-06-20 2001-09-27 Harrison Ronnie M. Method and apparatus for generating a sequence of clock signals
US20050249028A1 (en) * 1997-06-20 2005-11-10 Harrison Ronnie M Method and apparatus for generating a sequence of clock signals
US20080126059A1 (en) * 1997-06-20 2008-05-29 Micron Technology, Inc. Method and apparatus for generating a sequence of clock signals
US20110122710A1 (en) * 1997-06-20 2011-05-26 Round Rock Research, Llc Method and apparatus for generating a sequence of clock signals
US7415404B2 (en) 1997-06-20 2008-08-19 Micron Technology, Inc. Method and apparatus for generating a sequence of clock signals
US7889593B2 (en) 1997-06-20 2011-02-15 Round Rock Research, Llc Method and apparatus for generating a sequence of clock signals
US6608647B1 (en) 1997-06-24 2003-08-19 Cognex Corporation Methods and apparatus for charge coupled device image acquisition with independent integration and readout
US6959016B1 (en) 1997-09-18 2005-10-25 Micron Technology, Inc. Method and apparatus for adjusting the timing of signals over fine and coarse ranges
US5978080A (en) * 1997-09-25 1999-11-02 Cognex Corporation Machine vision methods using feedback to determine an orientation, pixel width and pixel height of a field of view
US6208772B1 (en) 1997-10-17 2001-03-27 Acuity Imaging, Llc Data processing system for logically adjacent data samples such as image data in a machine vision system
US6157751A (en) * 1997-12-30 2000-12-05 Cognex Corporation Method and apparatus for interleaving a parallel image processing memory
US6307588B1 (en) 1997-12-30 2001-10-23 Cognex Corporation Method and apparatus for address expansion in a parallel image processing memory
US6025854A (en) * 1997-12-31 2000-02-15 Cognex Corporation Method and apparatus for high speed image acquisition
US5982395A (en) * 1997-12-31 1999-11-09 Cognex Corporation Method and apparatus for parallel addressing of an image processing memory
US6236769B1 (en) 1998-01-28 2001-05-22 Cognex Corporation Machine vision systems and methods for morphological transformation of an image with zero or other uniform offsets
US6282328B1 (en) 1998-01-28 2001-08-28 Cognex Corporation Machine vision systems and methods for morphological transformation of an image with non-uniform offsets
US6381375B1 (en) 1998-02-20 2002-04-30 Cognex Corporation Methods and apparatus for generating a projection of an image
US6215915B1 (en) 1998-02-20 2001-04-10 Cognex Corporation Image processing methods and apparatus for separable, general affine transformation of an image
US6499111B2 (en) 1998-02-27 2002-12-24 Micron Technology, Inc. Apparatus for adjusting delay of a clock signal relative to a data signal
US6378079B1 (en) 1998-02-27 2002-04-23 Micron Technology, Inc. Computer system having memory device with adjustable data clocking
US6269451B1 (en) 1998-02-27 2001-07-31 Micron Technology, Inc. Method and apparatus for adjusting data timing by delaying clock signal
US6327196B1 (en) 1998-02-27 2001-12-04 Micron Technology, Inc. Synchronous memory device having an adjustable data clocking circuit
US6643789B2 (en) 1998-02-27 2003-11-04 Micron Technology, Inc. Computer system having memory device with adjustable data clocking using pass gates
US6338127B1 (en) 1998-08-28 2002-01-08 Micron Technology, Inc. Method and apparatus for resynchronizing a plurality of clock signals used to latch respective digital signals, and memory device using same
US7657813B2 (en) 1998-09-03 2010-02-02 Micron Technology, Inc. Method and apparatus for generating expect data from a captured bit pattern, and memory device using same
US6279090B1 (en) 1998-09-03 2001-08-21 Micron Technology, Inc. Method and apparatus for resynchronizing a plurality of clock signals used in latching respective digital signals applied to a packetized memory device
US7954031B2 (en) 1998-09-03 2011-05-31 Round Rock Research, Llc Method and apparatus for generating expect data from a captured bit pattern, and memory device using same
US7085975B2 (en) 1998-09-03 2006-08-01 Micron Technology, Inc. Method and apparatus for generating expect data from a captured bit pattern, and memory device using same
US20040158785A1 (en) * 1998-09-03 2004-08-12 Manning Troy A. Method and apparatus for generating expect data from a captured bit pattern, and memory device using same
US20100106997A1 (en) * 1998-09-03 2010-04-29 Micron Technology, Inc. Method and apparatus for generating expect data from a captured bit pattern, and memory device using same
US6647523B2 (en) 1998-09-03 2003-11-11 Micron Technology, Inc. Method for generating expect data from a captured bit pattern, and memory device using same
US6349399B1 (en) 1998-09-03 2002-02-19 Micron Technology, Inc. Method and apparatus for generating expect data from a captured bit pattern, and memory device using same
US7373575B2 (en) 1998-09-03 2008-05-13 Micron Technology, Inc. Method and apparatus for generating expect data from a captured bit pattern, and memory device using same
US6477675B2 (en) 1998-09-03 2002-11-05 Micron Technology, Inc. Method and apparatus for generating expect data from a captured bit pattern, and memory device using same
US20080195908A1 (en) * 1998-09-03 2008-08-14 Micron Technology, Inc. Method and apparatus for generating expect data from a captured bit pattern, and memory device using same
US6430696B1 (en) 1998-11-30 2002-08-06 Micron Technology, Inc. Method and apparatus for high speed data capture utilizing bit-to-bit timing correction, and memory device using same
US6374360B1 (en) 1998-12-11 2002-04-16 Micron Technology, Inc. Method and apparatus for bit-to-bit timing correction of a high speed memory bus
US6662304B2 (en) 1998-12-11 2003-12-09 Micron Technology, Inc. Method and apparatus for bit-to-bit timing correction of a high speed memory bus
US6381366B1 (en) 1998-12-18 2002-04-30 Cognex Corporation Machine vision methods and system for boundary point-based comparison of patterns and images
US6687402B1 (en) 1998-12-18 2004-02-03 Cognex Corporation Machine vision methods and systems for boundary feature comparison of patterns and images
US6377713B1 (en) 1999-01-27 2002-04-23 General Instrument Corporation Synchronous DRAM bandwidth optimization for display downsizing of an MPEG-2 image
US7602876B2 (en) 1999-03-01 2009-10-13 Micron Technology, Inc. Method and apparatus for generating a phase dependent control signal
US6952462B2 (en) 1999-03-01 2005-10-04 Micron Technology, Inc. Method and apparatus for generating a phase dependent control signal
US8433023B2 (en) 1999-03-01 2013-04-30 Round Rock Research, Llc Method and apparatus for generating a phase dependent control signal
US8107580B2 (en) 1999-03-01 2012-01-31 Round Rock Research, Llc Method and apparatus for generating a phase dependent control signal
US7016451B2 (en) 1999-03-01 2006-03-21 Micron Technology, Inc. Method and apparatus for generating a phase dependent control signal
US20050286505A1 (en) * 1999-03-01 2005-12-29 Harrison Ronnie M Method and apparatus for generating a phase dependent control signal
US7418071B2 (en) 1999-03-01 2008-08-26 Micron Technology, Inc. Method and apparatus for generating a phase dependent control signal
US20080279323A1 (en) * 1999-03-01 2008-11-13 Harrison Ronnie M Method and apparatus for generating a phase dependent control signal
US6931086B2 (en) 1999-03-01 2005-08-16 Micron Technology, Inc. Method and apparatus for generating a phase dependent control signal
US6684402B1 (en) 1999-12-01 2004-01-27 Cognex Technology And Investment Corporation Control methods and apparatus for coupling multiple image acquisition devices to a digital data processor
US6748104B1 (en) 2000-03-24 2004-06-08 Cognex Corporation Methods and apparatus for machine vision inspection using single and multiple templates or patterns
US6801989B2 (en) 2001-06-28 2004-10-05 Micron Technology, Inc. Method and system for adjusting the timing offset between a clock signal and respective digital signals transmitted along with that clock signal, and memory device and computer system using same
US20040103226A1 (en) * 2001-06-28 2004-05-27 Brian Johnson Method and system for adjusting the timing offset between a clock signal and respective digital signals transmitted along with clock signal, and memory device and computer system using same
US7159092B2 (en) 2001-06-28 2007-01-02 Micron Technology, Inc. Method and system for adjusting the timing offset between a clock signal and respective digital signals transmitted along with that clock signal, and memory device and computer system using same
US7072395B2 (en) * 2001-07-20 2006-07-04 Ess Technology, Inc. Memory control apparatus and efficient search pattern for block-matching motion estimation
US20030016748A1 (en) * 2001-07-20 2003-01-23 Divio, Inc. Memory control apparatus and efficient search pattern for block-matching motion estimation
US8181092B2 (en) 2003-06-12 2012-05-15 Round Rock Research, Llc Dynamic synchronization of data capture on an optical or other high speed communications link
US20080301533A1 (en) * 2003-06-12 2008-12-04 Micron Technology, Inc. Dynamic synchronization of data capture on an optical or other high speed communications link
US8892974B2 (en) 2003-06-12 2014-11-18 Round Rock Research, Llc Dynamic synchronization of data capture on an optical or other high speed communications link
US7168027B2 (en) 2003-06-12 2007-01-23 Micron Technology, Inc. Dynamic synchronization of data capture on an optical or other high speed communications link
US7234070B2 (en) 2003-10-27 2007-06-19 Micron Technology, Inc. System and method for using a learning sequence to establish communications on a high-speed nonsynchronous interface in the absence of clock forwarding
US8111904B2 (en) 2005-10-07 2012-02-07 Cognex Technology And Investment Corp. Methods and apparatus for practical 3D vision system
US8164693B2 (en) * 2006-06-23 2012-04-24 Kabushiki Kaisha Toshiba Line memory packaging apparatus and television receiver
US20070296872A1 (en) * 2006-06-23 2007-12-27 Kabushiki Kaisha Toshiba Line memory packaging apparatus and television receiver
US8162584B2 (en) 2006-08-23 2012-04-24 Cognex Corporation Method and apparatus for semiconductor wafer alignment
US20100027547A1 (en) * 2007-06-06 2010-02-04 Fujitsu Limited Relay Device And Terminal Unit
US20080303758A1 (en) * 2007-06-08 2008-12-11 Yoshihisa Ooishi Display Device
US9544587B2 (en) 2012-05-14 2017-01-10 Google Technology Holdings LLC Scalable video coding with enhanced base layer
US9992503B2 (en) 2012-05-14 2018-06-05 Google Technology Holdings LLC Scalable video coding with enhanced base layer

Also Published As

Publication number Publication date
ATE218263T1 (en) 2002-06-15
EP0543197B1 (en) 1998-12-09
DE69227821T2 (en) 1999-06-17
DE69232623D1 (en) 2002-07-04
AU2845692A (en) 1993-05-20
EP0862333B1 (en) 2002-05-29
TW225081B (en) 1994-06-11
JPH0612485A (en) 1994-01-21
JP3194500B2 (en) 2001-07-30
NO924452D0 (en) 1992-11-18
EP0862333A2 (en) 1998-09-02
EP0543197A2 (en) 1993-05-26
ATE174449T1 (en) 1998-12-15
AU661637B2 (en) 1995-07-27
CA2082133C (en) 2000-05-02
DE69232623T2 (en) 2003-02-06
NO924452L (en) 1993-05-20
EP0543197A3 (en) 1994-04-20
KR930011726A (en) 1993-06-24
KR970000604B1 (en) 1997-01-14
CA2082133A1 (en) 1993-05-20
NO302679B1 (en) 1998-04-06
DE69227821D1 (en) 1999-01-21
MX9206693A (en) 1993-05-01
EP0862333A3 (en) 2000-09-27

Similar Documents

Publication Publication Date Title
US5315388A (en) Multiple serial access memory for use in feedback systems such as motion compensated television
US5638128A (en) Pixel interpolation filters for video decompression processor
KR100214100B1 (en) Dual memory buffer scheme
KR950011195B1 (en) Method and apparatus for communicating compressed digital video signals using multiple processors
US5398079A (en) Half-pixel interpolation for a motion compensated digital video system
JP4545250B2 (en) Method and apparatus for encoding and decoding video signals by using motion vector storage and readout
US5057916A (en) Method and apparatus for refreshing motion compensated sequential video images
EP0917375A2 (en) Picture memory mapping for compression and decompression of image sequences
US4292652A (en) Method of receiving a video signal
WO2000059219A1 (en) Digital video decoding, buffering and frame-rate converting method and apparatus
US4736239A (en) Image storage using separately scanned wideband and narrowband variables
US6020924A (en) Reduced memory size set top box which stores frames and associated motion vectors which indicate which block or blocks are to be retrieved from memory
KR100451584B1 (en) Device for encoding and decoding a moving picture using of a wavelet transformation and a motion estimation
WO2000059218A1 (en) Digital video decoding, buffering and frame-rate converting method and apparatus
JP2862233B2 (en) Information transmission system
EP0805597B1 (en) Memory multiplexing system for a high definition video decoder
KR0148178B1 (en) Apparatus which employs a memory to compensate a moving image
KR970002480B1 (en) Motion compensating device applicable to region partitioning
JPH0213196A (en) Semiconductor picture memory

Legal Events

Date Code Title Description
AS Assignment

Owner name: GENERAL INSTRUMENT CORPORATION, A DELAWARE CORP.,

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST.;ASSIGNORS:SHEN, PAUL;PAIK, WOO H.;KRAUSE, EDWARD A.;REEL/FRAME:005917/0701

Effective date: 19911112

STCF Information on status: patent grant

Free format text: PATENTED CASE

FEPP Fee payment procedure

Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

CC Certificate of correction
FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: GENERAL INSTRUMENT CORPORATION (GIC-4), PENNSYLVAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GENERAL INSTRUMENT CORPORATION (GIC-2);REEL/FRAME:009187/0956

Effective date: 19980414

FPAY Fee payment

Year of fee payment: 8

FPAY Fee payment

Year of fee payment: 12