KR100203265B1 - Image data decoder - Google Patents
Image data decoder Download PDFInfo
- Publication number
- KR100203265B1 KR100203265B1 KR1019960026260A KR19960026260A KR100203265B1 KR 100203265 B1 KR100203265 B1 KR 100203265B1 KR 1019960026260 A KR1019960026260 A KR 1019960026260A KR 19960026260 A KR19960026260 A KR 19960026260A KR 100203265 B1 KR100203265 B1 KR 100203265B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- memory
- unit
- discrete cosine
- interface unit
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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/423—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/625—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명은 MPEG에 따른 영상데이타 복호화시 그 성능을 향상시킬 수 있는 복호장치에 관한 것이다. 본 발명의 장치는 비트스트림의 부호화된 데이타를 가변장복호화하고, 매크로블록단위의 양자화스텝사이즈를 추출하며 참조픽춰가 있는 경우 매크로블록단위의 참조데이타 위치정보를 구하는 가변장복호화기와, 추출한 양자화스텝사이즈에 따라 가변장복호화된 데이타를 역양자화하고, 역양자화된 데이타를 역이산여현변환하는 역양자화기 및 역이산여현변환기로 된 데이타복호부와, 비트스트림의 부호화된 데이타와 복원된 데이타를 저장하는 메모리부, 및 데이타복호부와 메모리부 사이에연결되는 메모리 인터페이스부로 구성되며, 복호화시 참조픽춰가 필요한 B픽춰와 P픽춰에 대해 역이산여현변환데이타를 메모리부에서 참조데이타위치정보에 해당하는 데이타와 가산하도록 구성된다. 따라서 본 발명은 외부 메모리와의 액세스 수를 줄여 복호성능을 향상시킬수 있는 효과를 제공한다.The present invention relates to a decoding apparatus that can improve the performance when decoding image data according to MPEG. The apparatus of the present invention variable-decodes the encoded data of the bitstream, extracts the quantization step size in units of macroblocks, and obtains reference data position information in units of macroblocks when there is a reference picture, and extracts the quantization steps. A data decoder consisting of an inverse quantizer and an inverse discrete cosine transform for inverse quantization of variable-length decoded data according to size and inverse discrete cosine transform, and stores encoded and restored data of a bitstream. And a memory interface unit connected between the data decoding unit and the memory unit, and the inverse discrete cosine transform data corresponding to the reference data position information in the memory unit for the B picture and the P picture requiring the reference picture during decoding. Configured to add to the data. Accordingly, the present invention provides an effect of improving the decoding performance by reducing the number of accesses to the external memory.
Description
제1도는 종래 영상데이타 복호장치를 나타낸 구성도.1 is a block diagram showing a conventional video data decoding apparatus.
제2도는 제1도 장치의 데이타복호부를 나타낸 상세도.FIG. 2 is a detailed diagram showing a data decoding unit of the apparatus of FIG.
제3도는 본 발명의 영상데이타 복호장치의 바람직한 일 실시예를 나타내는 구성도.3 is a block diagram showing a preferred embodiment of the video data decoding apparatus of the present invention.
제4도는 제3도 장치의 메모리부를 나타내는 상세도.FIG. 4 is a detailed view of the memory portion of the FIG. 3 apparatus. FIG.
제5도는 제4도 메모리부의 동작을 설명하기 위한 흐름도.5 is a flowchart for explaining the operation of the memory unit of FIG.
* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings
30 : 데이타복호부 31 : 가변장복호기30: data decoder 31: variable length decoder
32 : 역 양자화기 33 : 역이산여현변환기32: inverse quantizer 33: inverse discrete cosine transformer
35 : 메모리인터페이스부 40 : 메모리부35: memory interface portion 40: memory portion
41 : 비트스트림버퍼 42 : 프레임버퍼41: bit stream buffer 42: frame buffer
43 : 메모리어레이셀 44 : 제어기43: memory array 44: controller
45 : FIFO메모리 46 : 가산기45: FIFO memory 46: Adder
47 : 멀티플렉서 48,49 : 입죡출력버퍼47: multiplexer 48,49: input and output buffer
본 발명은 영상데이타 복호장치에 관한 것으로, 보다 상세하게는, 영상데이타 복호시에 외부 메모리와의 인터페이스 횟수를 줄여 복호성능을 향상시킬 수 있도록 한 영상데이타 복호장치에 관한 것이다.The present invention relates to a video data decoding apparatus, and more particularly, to a video data decoding apparatus that can improve the decoding performance by reducing the number of interfaces with an external memory during video data decoding.
근래에, 고품질의 영상 및 음향을 위하여, 영상신호 및 음향신호를 디지탈적으로 처리하는 새로운 기술들이 제시되었다. 영상신호의 경우, CD, DAT, HDD, 광디스크(optical disc) 등에 저장하거나 전화선, ISDN, ATM, 통신위성 혹은 위성방송회선을 통하여 전송할 필요성이 증가되었다. 이를 위하여 디지탈 영상데이타 압축 복원하기 위한 국제규격으로 MPEG(Moving Picture Expert Group)이 채택되었다. MPEG에 의해 제시된 디지탈 영상데이타 압축알고리즘은 이산여현변환(Discrete Cosine Transform; DCT), 양자화, 가변장부호화(variable-length-coding), 그리고 움직임 보상(Motion Compensation)등을 기반으로 이루어져 있다. 한편, 압축된 영상데이타는 제 1도 장치를 통해 복원된다.Recently, new techniques for digitally processing video and audio signals have been proposed for high quality video and audio. In the case of video signals, the necessity of storing them on CDs, DATs, HDDs, optical discs, or transmitting them through telephone lines, ISDN, ATM, communication satellites or satellite broadcasting lines has increased. To this end, MPEG (Moving Picture Expert Group) was adopted as the international standard for digital image data compression and reconstruction. The digital image data compression algorithm presented by MPEG is based on Discrete Cosine Transform (DCT), quantization, variable-length-coding, and motion compensation. On the other hand, the compressed image data is restored through the first FIG.
제 1도는 종래 영상데이타 복호장치를 나타낸 구성도이다. 도시된 바와 같이, 종래 복호장치는 MPEG규격에 따라 압축 부호화된 영상데이타를 원래 데이타로 복원하는 MPEG 비디오디코더(10)와, 압축 부호화된 영상데이타와 복원된 영상데이타를 저장하는 메모리부(20)로 크게 구성된다.1 is a block diagram showing a conventional video data decoding apparatus. As shown in the drawing, a conventional decoding apparatus includes an MPEG video decoder 10 for restoring compressed and encoded video data according to the MPEG standard to original data, and a memory unit 20 for storing the compressed and encoded video data and the restored video data. It is composed largely.
MPEG비디오디코더(10)는 비트스트림의 압축 부호화된 데이타를 입력받는 데이타입력부(11)와, 입력 데이타를 복호하여 원래 데이타로 복원하는 데이타복호부(13), 및 복원된 데이타를 출력하는 데이타출력부(14)를 구비하고 있다. 또한, 데이타입 력부(11), 데이타복호부(13) 및 데이타출력부(14)와 외부 메모리부(20) 사이의 상호 인터페이스를 수행하는 메모리인터페이스부(12)를 구비하고 있다. 한편, 메모리부(20)는 입력 데이타를 저장하기 위한 비트스트림버퍼(21)와 복원된 데이타를 저장하는 프레임버퍼(22)를 구비하도록 구성된다.The MPEG video decoder 10 includes a data input unit 11 for receiving compressed coded data of a bitstream, a data decoder 13 for decoding input data and restoring the original data, and a data output for outputting the restored data. The part 14 is provided. In addition, a data input unit 11, a data decoding unit 13, and a memory interface unit 12 for performing mutual interface between the data output unit 14 and the external memory unit 20 is provided. Meanwhile, the memory unit 20 is configured to include a bitstream buffer 21 for storing input data and a frame buffer 22 for storing restored data.
제 2도는 제 1도 장치의 데이타복호부(13)를 나타낸 상세도이다. 도시된 바와 같이, 종래 데이타복호부(13)는 외부 메모리부(20)의 비트스트림버퍼(21)에서 읽어낸 비트스트림의 가변장부호화된 데이타를 가변장복호화하기 위한 가변장복호기(Variable Length Decoder; VLD)(131)와, 가변장복호화된 데이타를 역양자화 및 역이산여현변환하기 위한 역양자화기(132) 및 역이산여현변환기(Inverse Discrete Cosine Transform; IDCT)(133)와, 역이산여현변환된 데이타와 메모리부(20)의 프레임버퍼(22)에서 읽어낸 참조 영상데이타를 가산하여 프레임버퍼(22)에 저장하는 가산기(134)로 구성된다.FIG. 2 is a detailed diagram showing the data decoding unit 13 of the apparatus of FIG. As shown, the conventional data decoder 13 is a variable length decoder for variable length decoding the variable length coded data of the bitstream read from the bitstream buffer 21 of the external memory unit 20. VLD) 131, an inverse quantizer 132 and an inverse discrete cosine transform (IDCT) 133 for inverse quantization and inverse discrete cosine transforming variable length-decoded data; And an adder 134 for adding the converted data and the reference image data read out from the frame buffer 22 of the memory unit 20 and storing them in the frame buffer 22.
이와 같이 구성된 종래 영상데이타 복호장치에서, 데이타입력부(11)는 압축 부호화된 비트스트림 데이타를 입력받아 메모리인터페이스부(12)를 통해 외부 메모리부(20)의 비트스트림버퍼(21)에 저장한다. 이때, 메모리 인터페이스부(12)는 제어신호(CTL)와 어드레스(ADDR)를 통해 메모,리부(20)의 비트스트림버퍼(21)와 프레임버퍼(22)중 관련된 버퍼의 저장위치를 지정하고, 지정된 위치에 입력받은 비트스트림 데이타(DATA)가 저장되도록 한다.In the conventional video data decoding apparatus configured as described above, the data input unit 11 receives the compressed and encoded bitstream data and stores the bitstream data in the bitstream buffer 21 of the external memory unit 20 through the memory interface unit 12. At this time, the memory interface unit 12 designates a storage location of a buffer related to the bitstream buffer 21 and the frame buffer 22 of the memo and the memory unit 20 through the control signal CTL and the address ADDR. The input bitstream data is stored at the designated location.
여기서, 메모리부(20)는 저가의 디램(DRAM)을 이용하며, 이는 별도의 디램리프레쉬(DRAM refresh)가 필요하고 처리속도도 고속의 에스램(SRAM)에 비하여 늦은 단점이 있다. 이를 보완하기 위하여 데이타버스(DATA)의 폭을 넓혀서 사용한다. 한편, 데이타복호부(13)는 비트스트림버퍼(21)에 저장된 압축 부호화된 비트스트림 데이타를 메모리인터페이스부(12)를 통해 인어들여 복호화하여 원래 데이타로 복원한다. 복원된 데이타는 다시 메모리인터페이스부(12)즐 통해 메모리부(20)의 프레임버퍼(22)에 저장된다. 데이타복호부(13)에서는 영상타입에 따라서 시간적으로 앞서거나 뒤진 영상을 참조하여 부호화한 데이타에 대해서는 프레임버퍼(22)에 저장된 그 참조영상데이타를 메모리인터페이스부(12)를 통해 읽어들여 참조해야 복호가 가능하므로 메모리부(20)에 대한 액세스 횟수가 많게 된다. 데이타출력부(14)는 정해진 시간에 메모리인터페이스부(12)를 통해 프레임버퍼(22)에 저장된 복호화된 데이타를 읽어들여 디스플레이부등으로 출력한다. 여기서, 데이타복호부(13)의 복호화된 데이타를 바로 데이타출력부(14)를 통해 출력하지 않고 프레임버퍼(22)에 저장된 복호화된 데이타를 출력함은 도중에 화면처리순서가 원화면의 순서와 다르게 되기 때문이다. 즉, MPEG 비디오의 형식상 복호되는 비디오프레임의 순서와 실제로 표시되는 비디오 프레임의 순서가 다르고, 복호되는 시간과 실제 표시되어야 할 시간이 다르다. 그래서, 메모리부(20)내의 프레임버퍼(22)를 통하여 이와 같은 순서 및 시간에 맞추어 데이타를 출력한다. 또한,다른 프레임의 데이타 복호에 현재 프레임의 복호화된 데이타가 참조될야 할 경우 그 참조데이타를 일정시간동안 유지해야 한다. 여기서, 데이타입력부(11)와 데이타복호부(13) 및 데이타출력부(14)가 각각 독립적죡병렬적으로 동시에 동작하면서 하나의 메모리인터페이스부(12)를 통해 외부 메모리부(20)를 이용하게 된다.Here, the memory unit 20 uses a low-cost DRAM (DRAM), which requires a separate DRAM refresh and has a disadvantage in that the processing speed is slower than that of the high-speed SRAM. To compensate for this, widen the data bus. Meanwhile, the data decoder 13 reads the compressed coded bitstream data stored in the bitstream buffer 21 through the memory interface unit 12 and restores the original data. The recovered data is again stored in the frame buffer 22 of the memory unit 20 through the memory interface unit 12. In the data decoding unit 13, the reference image data stored in the frame buffer 22 must be read and decoded through the memory interface unit 12 for the data encoded by referring to the image that is earlier or later in time according to the image type. Since the number of times of access to the memory unit 20 can be increased. The data output unit 14 reads the decoded data stored in the frame buffer 22 through the memory interface unit 12 at a predetermined time and outputs the decoded data to the display unit. Here, the output of the decoded data stored in the frame buffer 22 without outputting the decoded data of the data decoding unit 13 directly through the data output unit 14 is different from that of the original screen. Because it becomes. That is, the order of video frames to be decoded and the order of video frames actually displayed are different in the format of MPEG video, and the time to be decoded and the time to be actually displayed are different. Thus, the data is output in the order and time through the frame buffer 22 in the memory unit 20. In addition, when the decoded data of the current frame needs to be referred to the data decoding of another frame, the reference data must be maintained for a certain time. Here, the data input unit 11, the data decoding unit 13, and the data output unit 14 operate independently and in parallel at the same time so as to use the external memory unit 20 through one memory interface unit 12. do.
한편, MPEG에서는 복호가 수행되는 픽춰타입으로 I픽춰, P픽춰, B픽춰로 구분한다. I픽춰는 I픽춰 자신의 정보만으로 부호화하기 때문에 복호화된 다른 픽춰의 참조없이도 복호될 수 있다. P픽춰는 입력에서 시간적으로 전에 위치한 I또는 P픽춰의 정보를 순방향 예측하여 최적의 화질이 나오도록 부호화하기 때문에 예측에 사용한 이미 복호화된 I픽춰 또는 P픽춰를 사용하여 복호한다. B픽춰는 시간적으로 전죡후에 위치한 I 또는 P픽춰의 정보를 양방향 예측하여 부호화하기 때문에 예측에 사용한 이미 복호화된 I픽춰 또는 P픽춰를 사용하여 복호한다. 그래서, 메모리부(20)내의 프레임버퍼(22)에는 3개 프레임분의 복호화된 데이타가 저장되어 있어야 하며, 데이타출력뿐 아니라 복호시에도 프레임버퍼(22)는 계속적으로 이용된다.On the other hand, in MPEG, picture types for decoding are divided into I picture, P picture, and B picture. Since the I picture is encoded only by the information of the I picture itself, it can be decoded without reference to another decoded picture. The P picture is decoded using the already decoded I picture or P picture used for prediction because the P picture is encoded in order to obtain an optimal picture quality by forward-predicting the information of the I or P picture previously located in time. Since the B picture bidirectionally predicts and encodes information of I or P pictures located before and after temporally, the B picture is decoded using an already decoded I picture or P picture used for prediction. Therefore, the decoded data for three frames must be stored in the frame buffer 22 in the memory unit 20, and the frame buffer 22 is continuously used not only for data output but also for decoding.
MPEG에 의한 데이타는 매크로블록단위로 그 데이타가 구성되어 하나의 화면에 대해 매크로블록단위로 복호를 수행한다. 가변장복호기(131)는 메모리인터페이스부(12)를 통해 메모리부(20)의 비트스트림버퍼(21)에 저장되어 있는 비트스트림의 부호화된 데이타를 입력받아 가변장복호화를 수행한다.Data by MPEG is composed of data in macroblock units and performs decoding in macroblock units for one picture. The variable length decoder 131 receives variable data of the bitstream stored in the bitstream buffer 21 of the memory unit 20 through the memory interface unit 12 and performs variable length decoding.
가변장복호기(131)는 가변장복호화시 매크로블록단위의 양자화스텝사이즈(Quantizer Stepsize; Qss)를 추출하여 역양자화기(132)로 출력한다. 가변장복호기(131)는 가변장복호화시 I, P, B픽춰의 매크로블록타입을 추출하여 참조매크로블록의 위치를 구한다. 이 참조매크로블록위치정보는 메모리 인터페이스부(12)로 출력된다. 역 양자화기(132) 및 역 이산여현변환기(133)는 추출된 양자화스텝사이즈(Qss)에 따라 가변장복호화된 데이타를 역양자화하고, 이를 역이산여현변환하여 복원한다. 한편,메모리인터페이스부(12)는 가변장복호기(131)에서 구한 참조매크로블록위치정보에 해당하는 어드레스(ADDR)를 퉁해 메모리부(20)의 프레임버퍼(22)에 저장된 데이타중 참조 매크로블록의 데이타를 지정하여 읽어낸다. 여기서, 역이산여현변환된 데이타는 참조 매크로블록의 데이타에 대한 오차데이타만을 가지므로 가산기(134)는 역이산여현변환된 데이타와 메모리 인터페이스부(12)를 통해 읽어낸 참조매크로블록의 데이타를 가산하여 화면을 재구현하고, 이를 다시 메모리인터페이스부(12)를 통해 메모리부(20)의 프레임버퍼(22)에 저장한다 여기서, 메모리인터페이스부(12)와 메모리부(20) 사이에는 메모리부(20)를 제어하기 위한 제어신호(CTL)와 어드레스(ADDR) 및 데이타버스(DATA)가 있으며, 데이타버스는 양의 부호(sign)를 갖는 데이타만을 전송할 수 있는 비트폭을 갖는다.The variable length decoder 131 extracts a quantization step size (Qss) in units of macroblocks during variable length decoding and outputs it to the inverse quantizer 132. The variable length decoder 131 extracts macroblock types of I, P, and B pictures in variable length decoding to obtain a position of a reference macroblock. This reference macroblock position information is output to the memory interface unit 12. The inverse quantizer 132 and the inverse discrete cosine transformer 133 inverse quantizes the variable-length-decoded data according to the extracted quantization step size Qss, and inversely cosine-converts it to restore it. On the other hand, the memory interface unit 12 includes an address ADDR corresponding to the reference macroblock position information obtained by the variable length decoder 131 to determine the reference macroblock among the data stored in the frame buffer 22 of the memory unit 20. Specify and read data. Since the inverse discrete cosine transformed data has only error data for the data of the reference macroblock, the adder 134 adds the inverse discrete cosine transformed data and the data of the reference macroblock read through the memory interface unit 12. And re-implement the screen, and store the same again in the frame buffer 22 of the memory unit 20 through the memory interface unit 12. Here, the memory unit 12 is located between the memory interface unit 12 and the memory unit 20. 20 is a control signal CTL, an address ADDR, and a data bus DATA for controlling the data bus, and the data bus has a bit width capable of transmitting only data having a positive sign.
하지만, MPEG 비디오디코더에서는 초당 전송 데이타량에 따라 그 성능이 결정되는 데, 종래의 구조에서는 하나의 메모리 인터페이스를 사용하여 외부 메모리와의 액세스가 빈번하게 발생하므로 전체적인 복호성능이 떨어지는 문제가 있다. 더욱이, P픽춰 또는 B픽춰 복호화시 외부 메모리로부터 매크로블록단위의 참조 영상데이타를 읽어와 가산해야 하며, 이를 메모리에 저장해야 하므로 성능저하의 주요인이 된다.However, in the MPEG video decoder, the performance is determined according to the amount of data transmitted per second. In the conventional structure, since access to external memory occurs frequently using one memory interface, the overall decoding performance is deteriorated. In addition, when decoding P-picture or B-picture, reference picture data in macroblock units must be read and added from an external memory and stored in the memory.
따라서, 본 발명의 목적은 전술한 문제점을 해결할 수 있도록 외부 메모리를 접근하는 수를 줄여 전체적인 MPEG비디오디코더의 성능을 향상시키고, 보다 높은 비트율의 데이타를 복호할 수 있도록 한 영상데이타 복호장치를 제공함에 있다.Accordingly, an object of the present invention is to provide an image data decoding apparatus capable of improving the performance of the overall MPEG video decoder by reducing the number of accesses to the external memory to solve the above problems, and to decode higher bit rate data. have.
이와 같은 목적을 달성하기 위한 본 발명의 영상데이타 복호장치는 압축 부호화된 비트스트림 영상데이타를 복호하는 장치에 있어서, 입력되는 비트스트림 영상데이타를 가변장복호화하여 매크로블록단위의 양자화스텝사이즈를 추출하고, 그 매크로블록타입을 추출하여 다른 시간의 영상데이타에 대한 참조를 통해 부호화된 데이타인지를 판단하고, 그 참조한 영상의 매크로블록 위치를 구하는 가변장복호기와, 상기 추출한 양자화스텝사이즈에 따라 가변장복호화된 데이타를 역양자화하는 역양자화기와, 상기 역양자화된 데이타를 역이산여현변환하는 변환기와, 메모리부에 저장된 비트스트림 영상데이타를 상기 가변장복호기로 전달하고, 상기 가변장복호기에서 구한 참조매크로블록위치정보를 입력받아 메모리부에 모드신호를 인가하고, 상기 역이산여현변환데이타를 입력받아 메모리부에 전달하는 메모리 인터페이스부, 및 상기 압축 부호화된 비트스트림 영상데이타를 입력받아 저장하며, 복원된 영상데이타를 저장하고, 상기 메모리인터페이스부를 통해 입력받은 모드신호에 따라 참조매크로블록위치에 저장된 매크로블록단위의 복원 영상데이타와 역이산여현변환데이타를 가산하여 복원된 영상데이타로 저장하는 메모리부를 포함한다.In order to achieve the above object, the video data decoding apparatus of the present invention is a device for decoding a compression-encoded bitstream video data, and variably decodes the input bitstream video data to extract a quantization step size in macroblock units. A variable length decoder for extracting the macroblock type and determining whether it is encoded data by referring to image data of another time, and obtaining a macroblock position of the referenced image, and a variable length decoding according to the extracted quantization step size. An inverse quantizer for inverse quantization of the converted data, a transformer for inverse discrete cosine transforming the inverse quantized data, and bitstream image data stored in a memory unit to the variable long decoder, and a reference macroblock obtained from the variable long decoder Receiving the position information and applying a mode signal to the memory unit, A memory interface unit for receiving inverse discrete cosine transform data and transferring the received data to the memory unit; and receiving and storing the compressed and coded bitstream image data, storing the reconstructed image data, and storing the received image data in the mode signal received through the memory interface unit. Accordingly, the memory unit may include a reconstructed image data in units of macroblocks stored at a reference macroblock position and an inverse discrete cosine transform data and stored as reconstructed image data.
이하, 첨부한 도면들을 참조하여 본 발명의 바람직한 실시예를 상세히 기술하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
제 3도는 본 발명의 영상데이타 복호장치를 나타내는 구성도이다. 도시된 바와 같이, 본 발명의 장치는 제 2도 종래 데이타복호부(13)의 구성과 동일하며, 단지 역이산여현변환기(133) 뒷단에 위치한 가산기(134)를 제외하고 그 기능을 대신 수행하는 변형된 메모리부(40)와, 현재 픽춰의 매크로블록타입에 따라 메모리부(40)의 동작모드를 지정하는 변형된 메모리인터페이스부(35)를 포함하도록 구성된다.3 is a block diagram showing a video data decoding apparatus of the present invention. As shown, the apparatus of the present invention is the same as the structure of the conventional data decoding unit 13 of FIG. 2, except that the adder 134 located behind the inverse discrete cosine converter 133 performs its function instead. And a modified memory interface unit 35 for specifying an operation mode of the memory unit 40 according to the macroblock type of the current picture.
제 4도는 제 3도 장치의 메모리부(40)를 나타내는 상세도이다. 도시된 바와 같이, 본 발명의 메모리부(40)는 비트스트림버퍼(41)와 프레임버퍼(42)의 데이타기억소자를 갖는 메모리어 레이셀(Memory Array Cell)(43)과, 메모리인터페이스부(35)로부터 모드신호(MODE), 제어신호(CTL) 및 어드레스(ADDR)를 인가받고 각 구성의 동작을 제어하는 제어기(44)를 구비한다.4 is a detailed view of the memory unit 40 of the third device. As shown, the memory unit 40 of the present invention is a memory array cell (43) having a data storage element of the bitstream buffer 41 and the frame buffer 42, and the memory interface unit ( And a controller 44 for receiving the mode signal MODE, the control signal CTL and the address ADDR from the controller 35 and controlling the operation of each component.
또한, 메모리어레이셀(43)에 저장된 데이타중 참조 매크로블록 위치정보에 해당하는 참조 매크로블록데이타를 인가받아 저장하는 FIFO메모리(45)와, 데이타버스를 통해 입력되는 데이타를 일시 저장하는 입력버퍼(48) 및 FIFO메모리(45)에 저장된 참조 매크로블록데이타와 입력버퍼(48)의 출력데이타를 가산하는 가산기(46)를 구비한다. 가산기(46)에는 가산기(46)의 출력데이타와 입력버퍼(48)의 출력데이타중 하나를 선택하여 출력하는 멀티플렉서(MUX)(47)가 연결된다. 메모리어레이셀(43)에는 복원된 데이타를 일시 저장하고 데이타버스를 통해 출력하는 출력버퍼(49)가 연결되도록 구성된다.In addition, the FIFO memory 45 which receives and stores the reference macroblock data corresponding to the reference macroblock position information among the data stored in the memory array 43, and an input buffer for temporarily storing data input via the data bus ( 48) and an adder 46 for adding the reference macroblock data stored in the FIFO memory 45 and the output data of the input buffer 48. The adder 46 is connected to a multiplexer (MUX) 47 that selects and outputs one of the output data of the adder 46 and the output data of the input buffer 48. The memory array cell 43 is configured to be connected to an output buffer 49 for temporarily storing the restored data and outputting the data through the data bus.
이와 같이 구성된 본 발명의 영상데이타 복호장치에 대한 동작을 제 5도를 참조하여 좀더 구체적으로 설명한다.The operation of the image data decoding apparatus of the present invention configured as described above will be described in more detail with reference to FIG.
제 5도는 제 4도 메모리부(40)의 동작을 설명하기 위한 흐름도이다.FIG. 5 is a flowchart for explaining the operation of the memory unit 40 of FIG.
먼저, 압축 부호화된 비트스트림 데이타는 메모리 인터페이스부(35)를 통해 일정비트폭의 데이타버스(DATA)로 메모리부(40)에 입력된다. 메모리부(40)는 입력된 일정 비트폭의 비트스트림 데이타를 입력버퍼(48)에 일시 저장한다. 제어기(44)는 메모리인터페이스부(35)로부터 인가된 제어신호(CTL)와 어드레스(ADDR)에 따라 입력버퍼(48)는 저장된 비트스트림 데이타를 메모리어레이셀(43)의 지정된 위치에 저장한다. 즉, 비트스트림버퍼(41)에 매크로블록단위로 비트스트림 데이타가 저장된다. 한편, 가변장복호기(31)는 메모리 인터페이스부(35)를 통해 메모리부(40)의 비트스트림버퍼(41)에 저장된 비트스트림 데이타를 매크로블록단위로 읽어들여 가변장복호화한다. 메모리부(40)에서 제어기(44)는 메모리 인터페이스부(35)로부터 인가되는 제어신호(CTL)와 어드레스(ADDR)에 따라 메모리어레이셀(43)의 지정되는 위치에 저장된 매크로블록단위의 비트스트림 데이타를 읽어내어 출력버퍼(49)에 일시 저장한다. 출력버퍼(49)는 저장된 비트스트림 데이타를 데이타버스(DATA)를 통해 메모리 인터페이스부(35)로 전달한다. 메모리 인터페이스부(35)를 통해 입력되는 비트스트림 데이타를 가변장복호화하는 가변장복호기(31)는 매크로블록단위의 양자화스텝사이즈(Qss)를 추출하여 역양자화기(32)로 출력한다. 그리고, 현재 복호화하는 픽춰의 매크로블록타입을 추출하고, 추출한 매크로블록타입이 앞서 복호화된 픽춰에 대한 참조가 필요한 경우이면 해당 참조 매크로블록의 위치정보를 메모리인터페이스부(35)로 출력한다. 역양자화기(32)는 양자화스텝사이즈(Qss)에 따라 가변장복호화된 데이타를 역양자화하고, 역이산여현변환기(33)는 역양자화된 데이타를 역이산여현변환한다. 역이산여현변환된 데이타는 메모리 인터페이스부(35)를 통해 메모리부(40)로 출력된다. 여기서, 역이산여현변환된 데이타는 부호(sign)를 가지므로, 메모리 인터페이스부(35)와 메모리부(40) 사이의 데이타버스 폭은 부호를 포함한다. 예를 들어, 데이타가 8비트인 경우, 부호를 표현하기 위한 별도의 1비트가 추가되어 데이타버스 폭은 9비트가 된다. 한편, 메모리인터페이스부(35)는 가변장복호기(31)로부터 참조매크로블록위치정보의 입력여부에 따라 일반/특수동작을 나타내는 모드신호(MODE)를 메모리부(40)로 인가한다. 그래서, 메모리부(40)가 일반적인 메모리로 동작할 것인지 혹은 역이산여현변환데이타와 참조 매크로블록데이타를 가산하여 새로운 데이타를 구할 것인지를 구분한다. 이에 대해 제 5도를 참조하여 좀더 구체적으로 설명한다.First, the compression-encoded bitstream data is input to the memory unit 40 via a data interface DATA having a constant bit width through the memory interface unit 35. The memory unit 40 temporarily stores the input bitstream data having a predetermined bit width in the input buffer 48. The controller 44 stores the stored bitstream data in a designated position of the memory array 43 according to the control signal CTL and the address ADDR applied from the memory interface unit 35. That is, the bitstream data is stored in the bitstream buffer 41 in units of macroblocks. On the other hand, the variable length decoder 31 reads bitstream data stored in the bitstream buffer 41 of the memory unit 40 in the unit of macroblock through the memory interface unit 35 and performs variable length decoding. In the memory unit 40, the controller 44 stores a bitstream of a macroblock unit stored at a designated position of the memory array cell 43 according to a control signal CTL and an address ADDR applied from the memory interface unit 35. The data is read out and temporarily stored in the output buffer 49. The output buffer 49 transfers the stored bitstream data to the memory interface unit 35 through the data bus DATA. The variable length decoder 31 for variable length decoding the bitstream data input through the memory interface unit 35 extracts the quantization step size Qss in units of macroblocks and outputs the same to the inverse quantizer 32. When the macroblock type of the currently decoded picture is extracted, and the extracted macroblock type requires a reference to the previously decoded picture, the position information of the reference macroblock is output to the memory interface unit 35. The inverse quantizer 32 inverse quantizes the variable-length decoded data in accordance with the quantization step size Qss, and the inverse discrete cosine transformer 33 inverse discrete cosine transforms the inverse quantized data. The inverse discrete cosine transformed data is output to the memory unit 40 through the memory interface unit 35. Here, since the inverse discrete cosine transformed data has a sign, the data bus width between the memory interface 35 and the memory 40 includes a sign. For example, if the data is 8 bits, an additional 1 bit for representing the sign is added, and the data bus width is 9 bits. On the other hand, the memory interface unit 35 applies a mode signal MODE indicating normal / special operation to the memory unit 40 according to whether the reference macroblock position information is input from the variable length decoder 31. Thus, it is discriminated whether the memory unit 40 operates as a general memory or obtains new data by adding inverse discrete cosine transform data and reference macroblock data. This will be described in more detail with reference to FIG. 5.
메모리부(40)에서 제어기(44)는 메모리인터페 이스부(35)를 통해 인가되는 모드신호(MOOE)가 특수동작모드인지를 판단한다(단계 501). 제어기(44)는 인가된 모드신호(MODE)가 일반동작모드이면 일반적인 메모리로 동작한다(단계 502). 즉, 메모리부(40)는 메모리인터페이스부(35)를 통해 데이타버스(DATA)로 역이산여현변환된 데이타를 입력받고, 이를 입력버퍼(48)에서 일시 저장한다. 메모리부(40)의 제어기(44)는 메모리인터페이스부(35)로부터 인가된 모드신호(MODE)가 일반동작을 나타내는 모드신호이므로 메모리인터페이스부(35)로부터 인가된 제어신호(CTL)와 어드레스(ADDR)에 따라 메모리어레이셀(43)의 지정된 위치에 입력버퍼(48)에 저장된 데이타를 복원된 데이타로 하여 저장한다. 즉,메모리어레이셀(43)의 프레임버퍼(42)에 해당하는 영역에 저장한다. 그런 다음, 제어기(44)는 메모리어레이셀(43)의 프레임버퍼(42) 영역에 저장된 복원데이타를 정해진 시간에 출력버퍼(49)를 통해 출력한다.In the memory unit 40, the controller 44 determines whether the mode signal MOOE applied through the memory interface unit 35 is a special operation mode (step 501). The controller 44 operates as a general memory if the applied mode signal MODE is a normal operation mode (step 502). That is, the memory unit 40 receives the inverse discrete cosine transformed data into the data bus DATA through the memory interface unit 35, and temporarily stores the data in the input buffer 48. The controller 44 of the memory unit 40 is the mode signal MODE applied from the memory interface unit 35 is a mode signal indicating a general operation, so that the control signal CTL and the address ( According to ADDR), data stored in the input buffer 48 at the designated position of the memory array 43 is stored as restored data. That is, the data is stored in an area corresponding to the frame buffer 42 of the memory array 43. Then, the controller 44 outputs the restored data stored in the frame buffer 42 region of the memory array 43 through the output buffer 49 at a predetermined time.
한편, 제어기(44)는 인가된 모드신호가 특수동작모드이면 메모리 인터페이스부(35)로부터 인가되는 제어신호(CTL)와 어드레스(ADDR)에 따라 메모리어레이셀(43)의 지정된 위치에 저장된 데이타를 참조 매크로블록 데이타로 읽어낸다(단계 503). 메모리어레이셀(43)로부터 읽어낸 참조 매크로블록데이타는 FIFO메모리(45)에 저장된다. 그런 다음, 제어기(44)는 메모리인터페이스부(35)로부터 기록동작(Write Operation)개시를 위한 제어신호가 인가될 때까지 대기한다. 이는 역이산여현변환기(33)의 출력데이타(Signed Data)를 외부 메모리부(40)에 기록할 때를 기다리는 것으로 외부 메모리부(40)에 대한 기록동작이 시작되면 이 데이타를 단계 503에서 읽어낸 참조매크로블록데이타와 가산하여 메모리어레이셀(43)에 기록해야 하기 때문이다. 메모리 인터페이스부(35)는 역이산여현변환기(33)에서 매크로블록단위로 역이산여현변환을 수행하여 역이산여현변환된 데이타가 인가될 때마다 데이타버스(DATA)로 역이산여현변환데이타를 메모리부(40)에 전달함과 동시에 기록동작을 위한 제어신호도 전달한다. 메모리부(40)는 데이타버스(DATA)를 통해 전달받은 역이산여현변환데이타를 입력버퍼(48)에 일시 저장한다.On the other hand, if the applied mode signal is a special operation mode, the controller 44 stores data stored at a designated position of the memory array cell 43 according to the control signal CTL and the address ADDR applied from the memory interface unit 35. Read as reference macroblock data (step 503). The reference macroblock data read from the memory array cell 43 is stored in the FIFO memory 45. Then, the controller 44 waits until the control signal for starting the write operation is applied from the memory interface unit 35. This waits for the time when the output data (Signed Data) of the inverse discrete cosine converter 33 is recorded in the external memory unit 40. When the write operation to the external memory unit 40 is started, the data is read in step 503. This is because the data must be added to the reference macroblock data and written to the memory array 43. The memory interface unit 35 performs inverse discrete cosine transform in macroblock units in the inverse discrete cosine converter 33 to store the inverse discrete cosine transform data in the data bus DATA whenever the inverse discrete cosine transformed data is applied. In addition to the unit 40, the control signal for the recording operation is also transmitted. The memory unit 40 temporarily stores the inverse discrete cosine conversion data received through the data bus DATA in the input buffer 48.
제어기(44)는 메모리 인터페이스부(35)로부터 인가되는 제어신호가 기록동작 개시신호인지를 판단하고(단계 504), 기록동작개시신호이면 FIFO메모리(45)로부터 저장된 참조 매크로블록데이타를 읽어내어 가산기(46)로 출력한다(단계 505). 가산기(46)는 입력버퍼(48)에 저장된 역이산여현변환데이타와 FIFO메모리(45)로부터 인가된 참조 매크로블록데이타를 가산하여 멀티플렉서(47)로 출력한다(단계 506). 멀티플렉서(47)는 가산기(46)의 출력 데이타와 입력버퍼(48)의 출력데이타를 제어기(44)의 제어신호에 따라 선택적으로 메모리어레이셀(43)에 기록한다(단계 507). 여기서, 제어신호는 일반동작모드인 경우 입력버퍼(48)의 출력데이타를 선택하고, 특수동작모드인 경우 가산기(46)의 출력데이타를 선택하기 위한 신호이다. 제어기(44)는 하나의 매크로블록에 대한 동작이 끝났는 지를 확인하고(단계 508), 하나의 매크로블록이 끝날때까지 단계 504로 돌아가 단계를 반복수행한다.The controller 44 determines whether the control signal applied from the memory interface unit 35 is the write operation start signal (step 504), and if the write operation start signal is read, the reference macroblock data stored in the FIFO memory 45 is added and added. Output to 46 (step 505). The adder 46 adds the inverse discrete cosine transform data stored in the input buffer 48 and the reference macroblock data applied from the FIFO memory 45 to output to the multiplexer 47 (step 506). The multiplexer 47 selectively writes the output data of the adder 46 and the output data of the input buffer 48 to the memory array 43 according to the control signal of the controller 44 (step 507). Here, the control signal is a signal for selecting the output data of the input buffer 48 in the normal operation mode and selecting the output data of the adder 46 in the special operation mode. The controller 44 checks whether the operation for one macroblock is finished (step 508), and returns to step 504 to repeat the step until one macroblock is finished.
상술한 바와 같이, 본 발명은 영상데이타 복호장치에 관한 것으로 MPEG비디오디코더에서 B픽춰 및 P픽춰에 대한 데이타복호시에 참조화면이 있어야 복호가 가능하므로 외부 메모리로부터 그 참조화면을 읽어와 복호를 하여 복호성능을 떨어뜨리던 종래에 비해서 참조화면을 읽을 필요없이 외부 메모리에서 그 기능을 수행할 수 있도록 하여 전체적인 MPEG비디오디코더의 성능을 대폭 향상시킬 수 있는 효과를 갖는다.As described above, the present invention relates to a video data decoding apparatus. In the MPEG video decoder, a reference picture is required to decode data for B picture and P picture so that decoding is performed by reading the reference picture from an external memory. Compared with the conventional decoding performance, the function can be performed in the external memory without reading the reference picture, thereby significantly improving the performance of the overall MPEG video decoder.
Claims (9)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960026260A KR100203265B1 (en) | 1996-06-29 | 1996-06-29 | Image data decoder |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960026260A KR100203265B1 (en) | 1996-06-29 | 1996-06-29 | Image data decoder |
Publications (2)
Publication Number | Publication Date |
---|---|
KR980007738A KR980007738A (en) | 1998-03-30 |
KR100203265B1 true KR100203265B1 (en) | 1999-06-15 |
Family
ID=19465012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960026260A KR100203265B1 (en) | 1996-06-29 | 1996-06-29 | Image data decoder |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100203265B1 (en) |
-
1996
- 1996-06-29 KR KR1019960026260A patent/KR100203265B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR980007738A (en) | 1998-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0545323B1 (en) | Motion picture decoding system | |
EP1079634B1 (en) | Image predictive decoding method | |
KR100781629B1 (en) | A method for reducing the memory required for decompression by storing compressed information using DCT base technology and a decoder for implementing the method | |
US8184690B2 (en) | Image processing apparatus and image processing method | |
KR19980063746A (en) | Multi-standard decompression and / or compression device | |
JP3004215B2 (en) | Variable bit rate video decoding device with variable speed and high speed playback function | |
JPH0698313A (en) | Moving picture decoder | |
US5751888A (en) | Moving picture signal decoder | |
GB2321154A (en) | Reverse playback of MPEG video | |
US6720893B2 (en) | Programmable output control of compressed data from encoder | |
US6259740B1 (en) | Moving picture experts group video decoding apparatus and method for supporting replay | |
JP5294767B2 (en) | Movie playback device, movie playback method, program, and recording medium | |
US20020041630A1 (en) | Compression-encoded data decoding apparatus | |
JP3241778B2 (en) | Encoding device | |
US6128340A (en) | Decoder system with 2.53 frame display buffer | |
KR100203265B1 (en) | Image data decoder | |
JP3860319B2 (en) | Image reproduction method and apparatus | |
JPH10271498A (en) | Compression data conversion method, information quantity conversion method for image compression data, and image recorder adopting the method | |
JP2009118226A (en) | Memory control device and control method | |
JPH10257422A (en) | Image recording and reproducing device | |
JPH07170485A (en) | Image reproducing device and image decoding device | |
JPH09331528A (en) | Decoder with image coding function | |
JPH0955946A (en) | Moving picture signal decoding device | |
JP3320125B2 (en) | Image decoding device | |
JPH08130715A (en) | Picture reproducing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20090226 Year of fee payment: 11 |
|
LAPS | Lapse due to unpaid annual fee |