Abstract:
A memory device for processing a block of digital video signal data comprises a random block access (RBA) controller for generating a system control signal to thereby vary a size of the block, an address generator for receiving external address signals according to the system control signal generated by the RBA controller to thereby generate internal addresses corresponding to the size of the block, a memory cell array to which digital video signal data is written or from which digital video signal data is read according to the internal addresses generated by the address generator, a transmission controller for controlling the transmission of digital video signal data stored in the memory cell array corresponding to the internal addresses generated by the address generator, an input/output unit for receiving or sending digital video signal data outside the memory device under the control of the RBA controller and the transmission controller.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to a memory device, and more particularly, to a memory device for processing a digital video signal. 
     2. Discussion of the Related Art 
     A memory device is used in reading or writing digital video signal data in block units when a digital video signal is processed. As shown in FIG. 1, a conventional memory device for processing a digital video signal usually comprises a random block access (RBA) controller 100, an address generator 101, a memory cell array 102, a transmission controller 103, and an input/output means 104. The structure of this memory device will now be explained. 
     The RBA controller 100 generates a control signal according to externally supplied control signals /RAS x , /CAS x , /WE, /DT, SC x , and RBA. The address generator 101 receives row and column address signals generated from an external central processing unit (CPU) (not shown). Using such row and column address signals as starting addresses, the address generator 101 then continuously generates internal row and column addresses corresponding to the size of a block according to the control signal of the RBA controller 100. The memory cell array 102 includes memory cells to which data is written or from which data is read according to the internal row and column addresses produced by the address generator 101. The transmission controller 103 controls the transmission of data stored in the memory cell array 102 under the control of the RBA controller 100 and the address generator 101. And finally, the input/output means 104 receives or sends data outside the memory device under the control of the RBA controller 100 and the transmission controller 103. 
     As shown in FIG. 1, the address generator 101 comprises a row address generator 105 and a column address generator 106. Using an external row address signal as the starting address, the row address generator 105 generates the internal row addresses to access all continuously assigned rows. The column address generator 106 functions in a similar way to generate the internal column addresses. 
     The transmission controller 103 comprises an RBA selector 91, a serial register 92, and an RBA-Y decoder 93. The RBA selector 91 selects the X-axis block size of the memory cell array 102 under the control of the column address generator 106 and the RBA controller 100. The serial register 92 transmits serial data to the input/output means 104 under the control of the RBA controller 100. The RBA-Y decoder 93 decodes the Y-axis RBA data under the control of the column address generator 106 and the RBA controller 100. 
     The input/output means 104 comprises an input/output controller 95 and an input/output portion 94. The input/output controller 95 controls the transmission of the data from the serial register 92 to the external memory via the input/output portion 94. 
     As shown in FIG. 2, the RBA controller 100 comprises an X-state pointer 107, a Y-state pointer 108, a sync clock generator 109, a mode selector 110, and an internal control signal generator 111. The X-state pointer 107 increases the row address by one whenever the external system clock SC x  is in synchronization with the number of columns in a block. The Y-state pointer 108 increases the column address by one whenever there is an input from the external system clock SC x . The sync clock generator 109 receives the external system clock SC x  and generates a sync clock as the reference for the respective internal operations of the memory cell array 102. The mode selector 110 receives the output signals of the X- or Y-axis state pointers 107 and 108 and selects either the DRAM mode or the RBA mode. The internal control signal generator 111 generates a pulse for reading out the row and column signals, which are internally generated from the memory in order to read or write data in block units according to the usage mode. 
     Operation of the conventional memory device for processing digital video signals will now be described. 
     The processing of data is performed in block units. The standard size of a block is set to be 16 columns by 16 rows. Therefore, 256 bits of data are stored in each block. 
     The initial row and column address signals are generated from an external CPU (not shown) of the memory device. Then the row and column address generators 105 and 106 generate the respective internal addresses corresponding to 256 bits of data to be read or written in a block while using the initial address signals as the start address of the block. The internal row addresses are generated according to the counting state of the 4-bit X-state pointer 107 and the row address is increased by one whenever 16 system clocks are received as an input. The internal column addresses are generated according to the counting state of the 4-bit Y-state pointer 108 and the column address is increased by one whenever one system clock is received as an input. 
     The respective internal addresses are then given to 256 bits of data, i.e., corresponding to the size of one block, by counting the X- and Y-state pointers 107 and 108. The X- and Y-state pointers 107 and 108 are constructed to have 4-bit counters which count once whenever 16 system clocks are input to the X-axis (row), and count 16 times whenever 16 system clocks are input to the Y-axis (column). 
     According to the counting value of the X- and Y-state pointers 107 and 108 and externally applied signals RAS x  and CAS x , the internal control signal generator 111 generates control signals /RAS i , /CAS i , XF and RGE for operating in a mode selected via the mode selector 110, conforming to an appropriate timing. XF and RGE are signals for controlling data transmission to the serial register 92 when the data is read from or written to the memory cell array 102. 
     Whenever 256 system clocks required to read or write one data block are received as input, the mode selector 110 checks the external mode selection control signal to determine whether to continue the current operation mode (RBA mode) or change to a new mode. The available mode choices include the chip&#39;s operation mode, the DRAM mode, or the RBA mode. 
     The sync clock generator 109 generates a sync clock in synchronization with the externally applied system clock. The sync clock is used as a reference for various internal operations of the memory device. 
     Because the conventional memory device internally controls the processing using the X- and Y-state pointers 107 and 108 composed of 4-bit registers, the size of the block is not changeable. This limits the selection of data memory in accordance with the size of the block. In other words, such a video signal processing memory device is only compatible with external systems with a 16 columns by 16 rows block size, and not compatible with other systems. 
     SUMMARY OF THE INVENTION 
     Accordingly, the present invention is directed to a memory device and a method that substantially obviates one or more of the problems due to limitations and disadvantages of the related art. 
     An object of the present invention is to provide a memory device and a method for processing a digital video signal in which the block size varies in accordance with the block size of the external system to ensure the compatibility. 
     Additional features and advantages of the invention will be set forth in the description which follows, and in part will be apparent from the description, or may be learned by practice of the invention. The objectives and other advantages of the invention will be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings. 
     To achieve these and other advantages and in accordance with the purpose of the invention, as embodied and broadly described, the memory device of the present invention includes a random block access (RBA) controller for generating a system control signal to thereby vary a size of the block, an address generator for receiving external address signals according to the system control signal generated by the RBA controller to thereby generate internal addresses corresponding to the size of the block, a memory cell array to which digital video signal data is written or from which digital video signal data is read according to the internal addresses generated by the address generator, a transmission controller for controlling the transmission of digital video signal data stored in the memory cell array corresponding to the internal addresses generated by the address generator, and input/output means for receiving or sending digital video signal data outside the memory device under the control of the RBA controller and the transmission controller. The RBA controller includes an X-axis varying portion for varying an X-axis size of the block, an X-state pointer for counting a varied value of a row address according to an output of the X-axis varying portion, a Y-state pointer for counting a varied value of a column address according to an internal system clock generated by the X-axis varying portion, a mode selector for selecting a usage mode according to the varied value counted by the X-state pointer and the varied value counted by the Y-axis state pointer, and an internal control signal generator for generating the system control signal to operate the memory device in the selected usage mode. 
     In another aspect, the memory device of the present invention includes a random block access (RBA) controller for generating a system control signal to thereby vary a size of the block, an address generator for receiving external address signals according to the system control signal generated by the RBA controller to thereby generate internal addresses corresponding to the size of the block, a memory cell array to which digital video signal data is written or from which digital video signal data is read according to the internal addresses generated by the address generator, a transmission controller for controlling the transmission of digital video signal data stored in the memory cell array corresponding to the internal addresses generated by the address generator, and input/output means for receiving or sending digital video signal data outside the memory device under the control of the RBA controller and the transmission controller. 
     In a further aspect, the method for processing a block of digital video signal data of the present invention includes varying at least one of an X-axis size of the block and a Y-axis size of the block and reading from or writing to a memory device digital video signal data according to the varied size of the block. 
     It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are intended to provide further explanation of the invention as claimed. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description serve to explain the principles of the invention. In the drawings: 
     FIG. 1 is a block diagram of a conventional memory device for processing a digital video signal; 
     FIG. 2 is a detailed block diagram of an RBA controller applied to FIG. 1; 
     FIG. 3 is a block diagram of an RBA controller in a memory device for processing digital video signals according to the present invention where the X-axis block size is adjustable; 
     FIG. 4 is a detailed block diagram of the internal clock generator of FIG. 3; 
     FIG. 5 is a detailed circuit diagram of the internal clock generator of FIG. 4; 
     FIG. 6 is a detailed circuit diagram of the X-axis block controller of FIG. 3; 
     FIG. 7 is a truth table for the operation states of the respective signals in accordance with the input/output of FIG. 6; 
     FIG. 8 is a timing diagram of the relationship between the internal clock frequency and the Y-state pointer in accordance with different block sizes (16 columns by 16 rows or 8 columns by 8 rows) of FIG. 3; 
     FIG. 9 is a block diagram of the RBA controller in the memory device of the present invention where the X- or Y-axis block size is adjustable; and 
     FIG. 10 is a detailed block diagram of the Y-axis block size selection/internal clock generator of FIG. 9. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings. 
     According to a first embodiment of the present invention as shown in FIG. 3, the RBA controller of the digital video signal processing memory device comprises an X-axis varying portion 200, an X-state pointer 207, a Y-state pointer 208, a sync clock generator 209, a mode selector 210, and an internal control signal generator 211. The X-axis varying portion 200 varies the X-axis block size. The X-state pointer 207 increases the value of the row address by one whenever the block size is in synchronization with the signal generated from the X-axis varying portion 200 and an external system clock. The Y-state pointer 208 increases the value of the column address by one whenever the block size is in synchronization with the external system clock. The sync clock generator 209 generates a sync clock SYCK in synchronization with the external system clock. It is used as a reference for the respective internal operations of the memory device. The mode selector 210 receives the output signals from the X- and Y-state pointers 207 and 208 and selects the DRAM mode or the RBA mode. The internal control signal generator 211 generates control signals /RAS i , /CAS i , XF, and RGE to operate in accordance with the mode selected via mode selector 210 in order to read or write data. 
     The X-axis varying portion 200 comprises an internal clock generator 201, a counter controller 202, and an X-axis block controller 203. After receiving the external system clock SC x  and control signals S 0  -S n , which define the desired block size, the internal clock generator 201 generates block size control signals D 0  -D n  and an internal system clock SC i . The counter controller 202 receives the block size control signals D 0  -D n  from the internal clock generator 201 and generates a control signal CNT n , which conforms the counting range of the X-state pointer 207 to the desired block size. And finally, the X-axis block controller 203 receives the control signals D 0  -D n  from the internal clock generator 201 and the counting state of the X-state pointer 207, and sends an output control signal to the internal control signal generator 211 according to the desired X-axis block size. 
     As shown in FIG. 4, the internal clock generator 201 comprises a block size selector 204, a frequency selector 205, and a frequency multiplier 206. The block size selector 204 receives the control signals S 0  -S n , which define the desired block size, and thereby generates block size control signals D 0  -D n . The frequency selector 205 receives the control signals D 0  -D n  from the block size selector 204 and a frequency generated from the frequency multiplier 206, and produces an internal system clock SC i  to be used in controlling the block size. The frequency multiplier 206 generates a frequency equivalent to 2 n  times the frequency of the external system clock SC x , and the frequency thus generated is sent to the frequency selector 205. 
     Operation of the first embodiment of the present invention will now be described. 
     First, an external no-connect (N.C.) pin of the memory device is used to receive the external control signals S 0  -S n  for selecting the block size. The N.C. pin has 4 pins, two of which are external control pins. An example involving two control signals S 0  and S 1  is discussed below with reference to FIGS. 4 and 5. 
     After receiving control signals S 0  and S 1 , the block size selector 204 generates the control signals D 0  -D 3  corresponding to the desired block size. The frequency multiplier 206, with the external system clock SC x  and the sync clock of the system as inputs, generates the multiplied frequencies corresponding to the respective output ports by multiplying the system clock by 2 n  After receiving the control signals D 0  -D 3  from the block size selector 204 and the multiplied frequencies from the frequency multiplier 206, the frequency selector 205 selects the corresponding decoded multiplied frequency SC i . This multiplied frequency SC i  is then used as the internal system clock for the Y-state pointer 208. 
     As shown in FIG. 3, the counter controller 202 receives the control signals D 0  -D 3  from the block size selector 204 and controls the X-axis counting range of the X-state pointer 207 as shown in the truth table of FIG. 7. While the X-axis block size varies, the X-state pointer 207 counts in synchronization with the external system clock SC x . The Y-state pointer 208 counts in synchronization with the internal system clock SC i , i.e., the multiplied frequency generated from the frequency selector 205. 
     The X-axis block controller 203 receives the control signals D 0  -D 3  from the block size selector 204 and the counting signal from the X-state pointer 207, and generates a signal for controlling the internal control signal generator 211 according to the desired X-axis block size. 
     FIG. 5 illustrates an example where the two control signals S 0  and S 1  are applied to the internal clock generator 201. The block size selector 204 receives the control signals S 0  and S 1 , inverting the signals individually, and outputting negative logical sum signals D 0  -D 3  via 4 logic gates. The frequency multiplier 206 receives the external system clock SC x  and outputs four frequencies f 0  -f 4  with the following values: ##EQU1## In FIG. 5, each element &#34;X2&#34; multiplies the input frequency by &#34;2&#34;, as shown in the formulas above. Finally, the frequency selector 205 receives the signals D 0  -D 3  from the block size selector 204 and frequencies f 0  -f 3  from the frequency multiplier 206, operates via several logical gates, and outputs a negative logic sum signal SC i  (used as an internal system clock). 
     FIG. 6 illustrates an example implementation of the X-axis block controller 203. X-axis block controller 203 receives the output signals XR 1 , XR 3 , XR 7 , XR 15  of the X-state pointer 207 and the output signals D 0  -D 3  of the block size selector 204, operates via several logical gates, and outputs a negative logic sum signal XRE (used as a block size control signal). 
     FIG. 7 illustrates various signal outputs when the control signals S 0  and S 1  are used to select the desired block size. In FIG. 7, &#34;S 0  &#34; or &#34;S 1  &#34; represents the value &#34;1&#34;, and &#34;/S 0  &#34; or &#34;/S 1&#34;  represents the value &#34;0&#34;. &#34;XRE&#34; means an enable signal and it may be XR15, XR7, XR3 or XR1, depending on which block size (for example, 16×16 bits, 8×8 bits, 4&#39;4 bits, and 2×2 bits) is selected. 
     As shown in FIG. 8, when the block size is 8 columns by 8 rows, the internal clock frequency becomes 2 n  times the frequency of the external system clock, as shown in FIGS. 5 and 7. When the block size is 16 columns by 16 rows, the operation of the Y-state pointer is performed with only half of the rate, i.e., twice as slow compared to the rate when the block size is 8 columns by 8 rows. Described in another way, whenever 16 internal clocks are input, the X-state pointer increases by one. When the X-state pointer increases by one, the Y-state pointer counts from 0 to 15. 
     As shown in FIG. 9, another embodiment of the RBA controller of the present invention comprises an X- and Y-axis varying portion 300, an X-state pointer 307, a Y-state pointer 308, a sync clock generator 309, a mode selector 310, and an internal control signal generator 311. The X- and Y-axis varying portion 300 sets different X- and Y-axis block sizes. The X-state pointer 307 increases the value of the row address by one in accordance with the size of a block under the control of X- and Y-axis varying portion 300. The Y-state pointer 308 increases the value of the column address by one in accordance with the size of a block under the control of X- and Y-axis varying portion 300. The sync clock generator 309 generates a sync clock SYCK as a reference for the respective internal operations of the memory device in synchronization with an external system clock. The mode selector 310 receives the output signals from the X- and Y-state pointers 307 and 308 and selects either the DRAM mode or the RBA mode. The internal control signal generator 311 generates control signals /RAS i , /CAS i , XF, and RGE to operate in accordance with the mode selected via mode selector 310 in order to read or write data. 
     The X- and Y-axis varying portion 300 comprises a block size selector 301, a counter controller 302, an X-axis block controller 303, and a Y-axis block size selector/internal clock generator 312. The block size selector 301 receives the external control signals S 0  -S n  and generates block size control signals X 0  -X n  to control the block size. The counter controller 302 receives the control signal X 0  -X n  from the block size selector 301 and generates a signal CNT n  to control the counting of the X-state pointer 307 to conform to the block size. The X-axis block controller 303 receives the control signals X 0  -X n  and XR n  from the block size selector 301 and the X-state pointer 307, and generates a signal XRE for controlling the internal control signal generator 311 in accordance with the X-axis block size. The Y-axis block size selector/internal clock generator 312 receives the external system clock SC x  and external control signals SY 0  -SY n  for selecting the desired Y-axis block size, and also generates an internal system clock SC i . 
     As shown in FIG. 10, the Y-axis block size selector/internal clock generator 312 comprises a Y-axis block size selector 304, a Y-axis frequency selector 305, and a Y-axis frequency multiplier 306. The Y-axis block size selector 304 receives control signals SY 0  -SY n  supplied from the external control pins of the memory device to determine the Y-axis block size, and it also generates Y-axis block size control signals D 0  -D n . The Y-axis frequency selector 305 receives the control signals output from the Y-axis block size selector 304 and a frequency generated from the Y-axis frequency multiplier 306 to produce the internal system clock SC i . The Y-axis frequency multiplier 306 receives the external system clock SC x , generates a frequency with the value of 2 n  times the frequency of the external system clock, and sends the result to the frequency selector 305. 
     Operation of the second embodiment of the present invention will now be described. 
     The Y-axis block size selector/internal clock generator 312 receives the external control signals SY 0  -SY n  and generates the corresponding control signals D 0  -D n  through the Y-axis block size selector 304. In synchronization with the external system clock SC x , the Y-axis frequency multiplier 306 generates multiplied frequencies f 0  -f n . Finally the Y-axis frequency selector 305 generates the internal system clock SC i  according to the control signals D 0  -D n  from the Y-axis block size selector 304 and the multiplied frequencies f 0  -f n  from the Y-axis frequency multiplier 306. 
     The Y-state pointer 308 receives the internal system clock SC i  in accordance with the desired block size from the Y-axis frequency selector 305 and controls its counting range and, in turn, the Y-axis block size. The rest of the operation is the same as that of the first embodiment shown in FIG. 3. 
     As described above, the block size in the present invention is controlled selectively and externally. Therefore while reading or writing data during compression and expansion of digital video signals, the block size varies according to the particular external system to be used. In addition, according to the desired block size, an appropriate clock frequency is generated by an external system clock so that the memory device is capable of operating without a separate frequency generator. Thus, the block size can be varied in the present invention so that one single memory device can be used compatibly with systems having different block sizes. 
     It will be apparent to those skilled in the art that various modifications and variations can be made in the memory device of the present invention without departing from the spirit or scope of the invention. Thus, it is intended that the present invention cover the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents.