KR100289621B1 - Transform and inverse transform encoding apparatus of video encoder and method thereof - Google Patents

Transform and inverse transform encoding apparatus of video encoder and method thereof Download PDF

Info

Publication number
KR100289621B1
KR100289621B1 KR1019980060152A KR19980060152A KR100289621B1 KR 100289621 B1 KR100289621 B1 KR 100289621B1 KR 1019980060152 A KR1019980060152 A KR 1019980060152A KR 19980060152 A KR19980060152 A KR 19980060152A KR 100289621 B1 KR100289621 B1 KR 100289621B1
Authority
KR
South Korea
Prior art keywords
discrete cosine
transform
dct
cosine transform
inverse
Prior art date
Application number
KR1019980060152A
Other languages
Korean (ko)
Other versions
KR20000043735A (en
Inventor
김견수
고종석
Original Assignee
이계철
한국전기통신공사
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 이계철, 한국전기통신공사 filed Critical 이계철
Priority to KR1019980060152A priority Critical patent/KR100289621B1/en
Publication of KR20000043735A publication Critical patent/KR20000043735A/en
Application granted granted Critical
Publication of KR100289621B1 publication Critical patent/KR100289621B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • 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
    • 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/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]

Abstract

1. 청구 범위에 기재된 발명이 속한 기술분야1. TECHNICAL FIELD OF THE INVENTION

본 발명은 변환 및 역변환 부호화를 이용하는 비디오 부호화 장치에 관한 것임.The present invention relates to a video encoding apparatus using transform and inverse transform encoding.

2. 발명이 해결하려고 하는 기술적 과제2. The technical problem to be solved by the invention

본 발명은 4차례 중복된 1차원 DCT/IDCT를 단지 한 개의 1 차원 DCT/IDCT만으로 4번 반복하여 사용할 수 있도록 구성하여 하드웨어의 이용도를 높이며, 이를 통하여 소비전력의 감소시킨 비디오 인코더의 변환 및 역변환 부호화 장치 및 그 방법을 제공하고자 함.The present invention is configured to be used four times repeated one-dimensional DCT / IDCT four times with only one one-dimensional DCT / IDCT to increase the utilization of hardware, thereby reducing the power consumption of the video encoder conversion and An inverse transform encoding apparatus and a method thereof are provided.

3. 발명의 해결방법의 요지3. Summary of Solution to Invention

본 발명은 외부로부터 들어오는 비디오입력을 이산여현변환에 의해 주파수성분으로 변환시켜주는 한 개의 이산여현변환/역이산여현변환 수단; 한 개의 이산여현변환/역이산여현변환 수단에 연결되고 이산여현변환된 값들을 그 주파수성분의 중요성에 따라 다른 양자화 스텝으로 나누어 주는 양자화/역양자화 수단; 및 양자화된 데이터를 주사순서를 바꾸어 가변길이 부호화 수단으로 전달하는 주사변환 수단을 구비하고, 이산여현변환/역이산여현변환 수단을 소정 횟수만큼 반복하여 사용한다.The present invention provides one discrete cosine transform / inverse discrete cosine transform means for converting a video input from outside into frequency components by means of discrete cosine transforms; Quantization / inverse quantization means connected to one discrete cosine transform / inverse discrete cosine transform means and dividing the discrete cosine transformed values into different quantization steps according to the importance of their frequency components; And scanning conversion means for transferring the quantized data to the variable length encoding means by changing the scanning order, and using the discrete cosine transform / inverse discrete cosine transform means repeatedly for a predetermined number of times.

4. 발명의 중요한 용도4. Important uses of the invention

본 발명은 비디오 부호화 장치의 변환 및 역변환 부호화를 위해 이용됨.The present invention is used for transform and inverse transform encoding of a video encoding apparatus.

Description

비디오 인코더의 변환 및 역변환 부호화 장치 및 그 방법Transform and inverse transform encoding apparatus of video encoder and method thereof

본 발명은 변환 및 역변환 부호화를 이용하는 비디오 부호화 장치에 관한 것으로, 특히 4차례 중복된 1차원 이산여현변환기/역이산여현변환기(DCT/IDCT : Discrete Cosine Transform/Inverse Discrete Cosine Transform)를 단지 한 개의 1 차원 DCT/IDCT만으로 4번 반복하여 사용할 수 있도록 구성하여 하드웨어의 이용도를 높이는 장치 및 그 방법에 관한 것이다.The present invention relates to a video encoding apparatus using transform and inverse transform encoding. In particular, a single one-dimensional Discrete Cosine Transform / Inverse Discrete Cosine Transform (DCT / IDCT) is used. The present invention relates to an apparatus and a method for improving the utilization of hardware by configuring the module to be repeatedly used only four times with the dimension DCT / IDCT.

MPEG-2 비디오 부호화장치는 크게, 영상을 입력으로 받아들이는 입력모듈, 움직임 보상과 추정을 위한 ME/MC 모듈, 전체 메모리를 관리하는 프레임 메모리 모듈, DCT 등의 데이터 변환에 관련된 변환기 모듈, 가변길이 부호화를 위한 VLC(Variable Length Coding) 모듈로 나뉘어질 수 있다. 특히 DCT/IDCT, 양자화기/역양자화기(Q/IQ)로 이루어진 변환기 모듈은 인코더(Encoder) 전체회로의 구성상 영상의 압축이 가장 많이 이루어지는 부분이며, 입력되는 영상의 처리시간도 다른 모듈에 비해 시간이 많이 할당되는 모듈이다.The MPEG-2 video encoding apparatus is largely composed of an input module that receives an image as an input, a ME / MC module for motion compensation and estimation, a frame memory module that manages the entire memory, a converter module related to data conversion such as DCT, and a variable length. It may be divided into a variable length coding (VLC) module for encoding. In particular, the converter module, which consists of DCT / IDCT and quantizer / dequantizer (Q / IQ), is the part where the image is compressed the most due to the configuration of the entire encoder circuit. Compared to time-consuming modules.

이와 관련하여 일반적으로, 비디오 부호화 장치, 특히 변환 및 역변환 부호화를 위한 장치에 있어서 종래에는 2개의 2차원 DCT/IDCT와 양자화기/역양자화기, 그리고 주사 변환기를 이용하여 구현하였다. 여기서, 2차원 DCT/IDCT는 DCT 변환의 직교 변환의 직교 변환 특성과 분리성으로 인해서 각각 2개의 1차원 DCT/IDCT와 1개의 매트릭스 전치기로 분리 구성될 수 있었다. 종래에는 이렇게 구현된 2개의 2차원 DCT/IDCT를 한 개는 DCT를 위해 사용하고 다른 한 개는 IDCT를 위해서 사용함으로써 동일한 기능을 수행하는 하드웨어를 중복해서 사용하였다. 이는 전체 변환 및 역변환 부호화를 위한 하드웨어 비용을 증가시키는 요인이 될 뿐만 아니라, 소비전력을 증가시키는 요인으로 작용하였다.In this regard, a video encoding apparatus, in particular, a transform and inverse transform encoding apparatus, has been conventionally implemented using two two-dimensional DCT / IDCT, a quantizer / inverse quantizer, and a scan converter. Here, the two-dimensional DCT / IDCT can be separated into two 1-dimensional DCT / IDCT and one matrix transpose due to the orthogonal transformation characteristics and separation of the orthogonal transformation of the DCT transform. In the related art, two two-dimensional DCT / IDCTs implemented as described above are used for the DCT and the other for the IDCT, so that hardware that performs the same function is repeatedly used. This not only increases the hardware cost for the overall transform and inverse transform encoding, but also increases the power consumption.

이러한 문제를 해결하기 위해 우라모토(Uramoto) 등은 논문 ";IEEE JSSC(Journal of Solid-State Circuit)";에 ";A 100MHz 2-D DCT Core Processor(pp. 492-499 참조)";라는 제목하에 2차원 DCT/IDCT를 구현하는데 1차원 DCT/IDCT 2개와 1개의 전치회로를 사용하여 구현한 기술을 발표한 바 있지만, 종래의 문제점을 많이 개선하지는 못하였다.To solve this problem, Uramoto et al. Described in the article "; IEJJ of the Solid-State Circuit"; "A 100MHz 2-D DCT Core Processor (pp. 492-499)"; Under the title, the technique of using two-dimensional DCT / IDCT and one pre-circuit circuit for implementing two-dimensional DCT / IDCT has been published, but the conventional problems have not been improved much.

따라서, 본 발명은 상기 문제점을 해결하기 위해 안출된 것으로서, 하드웨어 비용과 소비전력을 줄인 비디오 인코더의 변환 및 역변환 부호화 장치 및 그 방법을 제공하는데 그 목적이 있다.Accordingly, an object of the present invention is to provide a video encoder transform and inverse transform encoding apparatus and method for reducing hardware cost and power consumption.

또한, 본 발명의 다른 목적은, 중복된 DCT/IDCT를 단지 한 개의 1차원 DCT/IDCT만으로 다수번 반복하여 사용할 수 있도록 구성하여 하드웨어의 이용도를 높인 비디오 인코더의 변환 및 역변환 부호화 장치 및 그 방법을 제공하는데 있다.In addition, another object of the present invention, a video encoder transform and inverse transform encoding apparatus and method for improving the utilization of the hardware by configuring the repeated DCT / IDCT can be used repeatedly multiple times with only one 1-D DCT / IDCT only To provide.

도 1 은 본 발명에서 제시하는 변환 및 역변환 장치를 사용한 비디오 인코더 전체 블록도.1 is a block diagram of a video encoder using a transform and inverse transform device according to the present invention.

도 2 는 본 발명에서 제시하는 변환 및 역변환 장치의 구성도.2 is a block diagram of a transform and inverse transform device according to the present invention.

도 3 은 본 발명에서 제시하는 변환 및 역변환 장치의 타이밍도.3 is a timing diagram of a transform and inverse transform device according to the present invention.

도 4 는 도 2 의 입력 데이터(DATA_IN)에 대한 타이밍도.4 is a timing diagram for input data DATA_IN of FIG. 2;

도 5 는 도 2 의 입력 데이터(DATA_IN)에 대한 인터페이스 장치 구성도.5 is a diagram illustrating the configuration of an interface device for input data DATA_IN of FIG. 2.

도 6 은 도 2 의 출력 데이터(TO_DPCM)에 대한 인터페이스 장치 구성도.6 is a diagram illustrating the configuration of an interface device for the output data TO_DPCM of FIG. 2.

도 7 은 도 2 의 출력 데이터(TO_VLC)에 대한 데이터 출력 순서도.7 is a data output flow chart for the output data TO_VLC of FIG.

도 8 은 지그재그 주사 순서도.8 is a zigzag scan flow chart.

도 9 는 얼트네이트 주사 순서도.9 is an alternate injection flowchart.

도 10 은 주사 어드레스 생성기(SAG)에서 출력 어드레스 생성시 지그재그 및 얼트네이트 주사에 다른 데이터 순서 매핑 관계도.10 is a diagram illustrating data order mapping relations different from zigzag and alternate scans in generating an output address in a scan address generator (SAG).

도 11 은 본 발명에서 사용한 2차원 DCT/IDCT(Discrete Cosine Transform/Inverse Discrete Cosine Transform)의 구현 방식(scheme)의 나타낸 도면.FIG. 11 is a diagram showing an implementation scheme of a two-dimensional DCT / IDCT (Discrete Cosine Transform / Inverse Discrete Cosine Transform) used in the present invention. FIG.

도 12 는 본 발명에서 제시하는 변환 및 역변환기를 위한 3비트 시리얼 분산 연산을 이용한 1차원 DCT/IDCT의 구조도.12 is a structural diagram of a one-dimensional DCT / IDCT using a 3-bit serial distributed operation for the transform and inverse transformer proposed in the present invention.

도 13 은 본 발명에서 제시하는 변환 및 역변환기를 위한 DCT/IDCT의 입력 데이터 타이밍 스케쥴.13 is an input data timing schedule of DCT / IDCT for a transform and an inverse transformer according to the present invention.

도 14 는 도 2 의 PISO에 대한 회로도.14 is a circuit diagram for the PISO of FIG.

도 15 는 도 2 의 PISO에 대한 회로도.FIG. 15 is a circuit diagram for the PISO of FIG. 2. FIG.

* 도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings

100 : 1차원 DCT/IDCT 200A : 양자화기100: 1-D DCT / IDCT 200A: Quantizer

200B : 역양자화기200B: Inverse Quantizer

상기 목적들을 달성하기 위한 본 발명의 장치는, 비디오 인코더의 변환 및 역변환 부호화 장치에 있어서, 외부로부터 들어오는 비디오입력을 이산여현변환(DCT)에 의해 주파수성분으로 변환시켜주는 한 개의 이산여현변환/역이산여현변환(DCT/IDCT) 수단; 상기 한 개의 이산여현변환/역이산여현변환(DCT/IDCT) 수단에 연결되고 이산여현변환(DCT)된 값들을 그 주파수성분의 중요성에 따라 다른 양자화 스텝으로 나누어 주는 양자화/역양자화 수단; 및 양자화된 데이터를 주사순서를 바꾸어 가변길이 부호화 수단으로 전달하는 주사변환 수단을 구비하고, 상기 이산여현변환/역이산여현변환(DCT/IDCT) 수단을 소정 횟수만큼 반복하여 사용는 것을 특징으로 한다.An apparatus of the present invention for achieving the above objects, in the transform and inverse transform encoding apparatus of the video encoder, a discrete cosine transform / inverse for converting the video input from the outside into a frequency component by the discrete cosine transform (DCT) Discrete cosine transform (DCT / IDCT) means; Quantization / inverse quantization means connected to said discrete cosine transform / inverse discrete cosine transform (DCT / IDCT) means and dividing the discrete cosine transform (DCT) values into different quantization steps according to the importance of their frequency components; And scanning conversion means for transferring the quantized data to the variable length coding means by changing the scanning order, wherein the discrete cosine transform / inverse discrete cosine transform (DCT / IDCT) means is repeatedly used a predetermined number of times.

상기 본 발명에 의한 비디오 인코더의 변환 및 역변환 부호화 장치는, 상기 양자화/역양자화 수단의 출력과 외부데이터를 입력하여 상기 한 개의 이산여현변환/역이산여현변환(DCT/IDCT) 수단으로 전달하는 입력 버퍼링 수단; 및 상기 이산여현변환/역이산여현변환(DCT/IDCT) 수단의 출력을 상기 양자화/역양자화 수단으로 전달하는 출력 버퍼링 수단을 더 포함하는 것을 특징으로 한다.The transform and inverse transform encoding apparatus of the video encoder according to the present invention inputs the output of the quantization / inverse quantization means and external data to be transmitted to the discrete cosine transform / inverse discrete cosine transform (DCT / IDCT) means. Buffering means; And output buffering means for transferring the output of the discrete cosine transform / inverse discrete cosine transform (DCT / IDCT) means to the quantization / dequantization means.

상기 목적들을 달성하기 위한 본 발명의 방법은, 비디오 인코더의 변환 및 역변환 부호화 방법에 있어서, 외부로부터 들어오는 비디오입력을 1개의 이산여현변환/역이산여현변환(DCT/IDCT) 수단에 의해 주파수성분으로 변환시켜주는 제 1 단계; 상기 한 개의 이산여현변환/역이산여현변환(DCT/IDCT) 수단을 통해 이산여현변환(DCT)된 값들을 그 주파수성분의 중요성에 따라 다른 양자화 스텝으로 나누어 주는 제 2 단계; 양자화된 데이터를 주사순서를 바꾸어 가변길이 부호화 수단으로 전달하는 제 3 단계를 포함하되, 상기 이산여현변환/역이산여현변환(DCT/IDCT) 수단을 소정 횟수만큼 반복하여 사용하는 것을 특징으로 한다.A method of the present invention for achieving the above objects, in the transform and inverse transform encoding method of a video encoder, the video input from the outside to a frequency component by one discrete cosine transform / inverse discrete cosine transform (DCT / IDCT) means A first step of converting; Dividing the discrete cosine transform (DCT) values through one discrete cosine transform / inverse discrete cosine transform (DCT / IDCT) means into different quantization steps according to the importance of the frequency component; And a third step of transferring the quantized data to the variable length encoding means by changing the scanning order, wherein the discrete cosine transform / inverse discrete cosine transform (DCT / IDCT) means is repeatedly used a predetermined number of times.

상기 본 발명에 의한 비디오 인코더의 변환 및 역변환 부호화 방법은, 양자화/역양자화 수단의 출력과 외부데이터를 입력 버퍼링 수단을 통해 상기 한 개의 이산여현변환/역이산여현변환(DCT/IDCT) 수단으로 전달하는 제 4 단계; 및 상기 이산여현변환/역이산여현변환(DCT/IDCT) 수단의 출력을 출력 버퍼링 수단을 통해 상기 양자화/역양자화 수단으로 전달하는 제 5 단계를 더 포함하는 것을 특징으로 한다.The transform and inverse transform encoding method of the video encoder according to the present invention transmits the output of quantization / dequantization means and external data to the single discrete cosine transform / inverse discrete cosine transform (DCT / IDCT) means through an input buffering means. A fourth step of doing; And a fifth step of delivering the output of the discrete cosine transform / inverse discrete cosine transform (DCT / IDCT) means to the quantization / dequantization means through an output buffering means.

이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부된 도면을 참조하여 설명하기로 한다. 도면에서 종래기술과 동일한 구성요소에 대하여는 동일한 도면 부호를 인용하였다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings so that those skilled in the art may easily implement the technical idea of the present invention. do. In the drawings, the same reference numerals are used for the same components as in the prior art.

본 발명에서 제시하는 한 개의 1차원 DCT/IDCT만을 이용한 비디오 부호화기의 변환 및 역변환 부호화 장치는 도1과 같은 전체 부호화 장치의 일부로 이용된다. 도1에서 우측 점선블럭으로 표시된 것이 본 발명에 의한 한 개의 1차원 DCT/IDCT만을 이용한 비디오 부호화기의 변환 및 역변환 부호화 장치의 개념을 나타내고 있다. 그 구성은, 크게, 외부로부터 들어오는 비디오입력을 DCT에 의해 주파수성분으로 변환시켜주는 한 개의 DCT/IDCT부(100)와, 상기 한 개의 DCT/IDCT부에 연결되고 DCT변환된 값들을 그 주파수성분의 중요성에 따라 다른 양자화 스텝으로 나누어 주는 양자화기/역양자화기부(200)와, 양자화된 데이터를 주사순서를 바꾸어 가변길이부호화부로 전달하는 주사변환기부가 주요 구성을 이루고 있다.The transform and inverse transform encoding apparatus of the video encoder using only one one-dimensional DCT / IDCT proposed in the present invention is used as part of the entire encoding apparatus as shown in FIG. In FIG. 1, a right dotted block represents the concept of a video encoder's transform and inverse transform encoding apparatus using only one 1D DCT / IDCT according to the present invention. The configuration is largely one DCT / IDCT unit 100 for converting the video input from the outside into a frequency component by the DCT, and the DCT-converted values connected to the one DCT / IDCT unit According to the importance of the quantizer / dequantizer unit 200 divided into different quantization step, and the scanning converter unit for transferring the quantized data to the variable length coder in the scanning order is the main configuration.

도1에서 DCT부(100)는 외부에서 들어오는 비디오 입력을 DCT(Discrete Cosine Transform)에 의해 주파수 성분으로 변환시켜 주는 역할을 하고, Q(Quantization)(200A)는 DCT변환된 값들을 그 주파수 성분의 중요성에 따라 다른 양자화 스텝(step)으로 나누어 주어 부호화되는 비트 수를 줄여 압축률을 높여 주는 역할을 한다. 그리고, SCAN은 양자화된 데이터(data)를 주사순서를 바꾸어 VLC(Variable Length Coding)로 넘겨주는 역할을 한다. 또한, 양자화된 데이터는 다시 IDCT(Inverse Discrete Cosine Transform)(100)와 IQ(Inverse Quantization) (200B)를 거쳐 DPCM(Differential Pulse Coded Modulation)에서 이용할 수 있도록 넘겨지게 된다.In FIG. 1, the DCT unit 100 converts an external video input into a frequency component by DCT (Discrete Cosine Transform), and Q (Quantization) 200A converts DCT transformed values of the frequency component. By dividing into different quantization steps according to importance, it reduces the number of bits to be encoded and increases the compression rate. The SCAN converts the quantized data into a variable length coding (VLC) by changing the scanning order. In addition, the quantized data is passed back for use in differential pulse coded modulation (DPCM) through an inverse discrete cosine transform (IDCT) 100 and an inverse quantization (IQ) 200B.

본 발명에서 제시하는 변환 및 역변환 부호화 장치는 54MHz sck4를 클럭으로 사용하며, DCT용 mbck(매크로블럭클럭)이 뜰 때마다 1개의 매크로블럭(macro block)을 처리해야 한다. 매크로블럭클럭은 27MHz sck2로 660 클럭 마다 발생하므로 sck4로는 1320 클럭마다 하나의 매크로블럭을 처리할 수 있도록 장치를 구성해야 한다. 본 발명에 의한 부호화장치는 sck4와 매크로블럭클럭 신호 이외에도 다음과 같은 신호가 필요하다. 다음의 (표 1)은 본 발명에 의한 부호화장치의 입출력 신호와 그 기능을 기술한 것이다.The transform and inverse transform encoding apparatus proposed by the present invention uses a 54 MHz sck4 as a clock and must process one macro block whenever a mbck (macro block clock) for DCT appears. Since macroblock clocks occur every 660 clocks with a 27MHz sck2, the device must be configured to handle one macroblock every 1320 clocks with sck4. The encoding apparatus according to the present invention requires the following signals in addition to the sck4 and macroblock clock signals. Table 1 below describes the input and output signals and functions of the encoding apparatus according to the present invention.

altscanaltscan 주사방식 선택신호Scanning Method Selection Signal sck4sck4 54MHz 클럭 신호54 MHz clock signal DATA_IN(9)DATA_IN (9) DPCM부에서 DCT로 입력되는 데이터Data input to DCT from DPCM part FROM_VLC(12)FROM_VLC (12) VLC 에스램으로부터 오는 DCT 데이터DCT data from VLC SRAM MB_CKMB_CK 매크로블럭 클럭Macroblock Clock QSCALE_CODE(5)QSCALE_CODE (5) 비트율제어부에서 양자기로 입력되는 양자화 스케일 코드 값Quantization scale code value input to quantizer from bit rate controller QSCALE_TYPEQSCALE_TYPE 비트율제어부에서 양자기로 입력되는 양자화 스케일 종류 지정 신호Quantization scale type designation signal input to quantizer from bit rate controller RESETRESET 시스템 리셋 신호System reset signal TO_DPCM(9)TO_DPCM (9) DPCM으로 출력되는 IDCT 출력 데이터IDCT output data output to DPCM VLC_MEM_ADDR(6)VLC_MEM_ADDR (6) VLC 내의 에스램에 입력되는 어드레스Address input to SRAM in VLC

변환 및 역변환 장치의 실시간 처리를 위해서는 54MHz의 sck4 클럭을 사용할 시에 하나의 매크로블럭을 처리하는데 할당이 된 1320 클럭내의 2차원 DCT, Q, IQ, 2차원 IDCT, SCAN의 5가지 연산을 수행하여야 한다. 연산의 양과 하드웨어의 복잡도를 비교해 볼 때 2차원 DCT와 IDCT의 연산 시간이, 전체 2차원 DCT, Q, IQ, 2차원 IDCT, 스캔(SCAN)으로 이루어진 변환 및 역변환 장치의 클럭 스케쥴링의 전 부분을 차지하고 있다. 따라서, DCT/IDCT의 동작에 대한 고려가 전체 장치의 실시간 처리여부에 대한 중요한 열쇠가 된다. 2차원 DCT/IDCT의 경우, 수학적인 연산이 직교 변환이기 때문에 1차원 DCT/KDCT의 동일한 연산이 두 번 수행되며, 두 번의 1차원 DCT/IDCT 연산을 하나의 1차원 DCT/IDCT만으로 전체 2차원 DCT/IDCT를 구현할 수 있다. 이러한 속성을 기본으로, 1차원 DCT/IDCT 하나를 이용해 첫 번째 1차원 DCT, 두 번째 1차원 DCT, 첫 번 째 1차원 IDCT, 그리고 두 번째 1차원 IDCT의 연산을 수행하는 2차원 DCT/IDCT를 구성한다. 하나의 1차원 DCT/IDCT가 4번의 1차원 DCT/IDCT를 수행해야 하므로 6개의 블록을 실시간 처리하려면, 변환 및 역변환 장치가 1320 클럭내에 12개의 블록을 수행하여야 한다.For real-time processing of the transform and inverse converter, five operations of 2D DCT, Q, IQ, 2D IDCT, and SCAN within 1320 clock allocated to processing one macroblock when using 54 MHz sck4 clock should be performed. do. Comparing the amount of computation and the complexity of the hardware, the computational time of the two-dimensional DCT and the IDCT is the total of two parts of the clock scheduling of the transform and inverse transform device, which consists of the entire two-dimensional DCT, Q, IQ, two-dimensional IDCT, and scan Occupies. Therefore, consideration of the operation of DCT / IDCT is an important key to whether the entire apparatus is processed in real time. In the case of two-dimensional DCT / IDCT, since the mathematical operation is an orthogonal transformation, the same operation of one-dimensional DCT / KDCT is performed twice, and two one-dimensional DCT / IDCT operations are performed with only one one-dimensional DCT / IDCT. DCT / IDCT can be implemented. Based on these properties, we use a single one-dimensional DCT / IDCT to construct a two-dimensional DCT / IDCT that performs the operation of the first one-dimensional DCT, the second one-dimensional DCT, the first one-dimensional IDCT, and the second one-dimensional IDCT. Configure. Since one 1-D DCT / IDCT needs to perform 4 1-D DCT / IDCTs, in order to process 6 blocks in real time, the transform and inverse transform apparatus must perform 12 blocks within 1320 clocks.

위와 같은 제한 조건을 만족하는 전체의 클럭에 대한 스케쥴링을 기술하면 아래와 같다. 변환 및 역변환 장치의 전체 구조는 도 2와 같으며, 입출력 타이밍은 도 3과 같다.Scheduling of the entire clock that satisfies the above constraints is described below. The overall structure of the transform and inverse transform device is shown in FIG. 2, and the input / output timing is shown in FIG. 3.

본 구조에서는 도 2와 같이 6개의 블록(block)이 한꺼번에 DCT부에서 DCT에 대한 연산과 양자화(Quantization)의 연산만 이루어지게 되며, 이렇게 되면, 이 IQ와 IDCT를 거치지 않은 6개의 블록을 저장할 에스램(SRAM)이 필요하게 된다. 여기서는 이 에스램(SRAM)을 따로 두지 않고 인접 VLC에서 사용되는 에스램(SRAM)을 이용하는데, 이 에스램(SRAM)에는 데이터가 양자화되어 얼트네이트(alternate) 주사나 지그재그(zig-zag) 주사순서로 저장되어 있으므로 다시 IQ와 IDCT에서 사용하기 위해서는 ISCAN(Inverse SCAN) 작업이 필요하다. 이 작업은 주사 어드레스 생성기(SAG)에서 생성되는 주소를 저장할 때와 동일 하게 하여 읽어오는 동작으로 수행될 수 있다. 변환 및 역변환 장치는 도 2에서와 같이 6개의 블록이 한꺼번에 DCT, Q가 수행되고, VLC_DCT_MEM(SRAM)에 저장되었다가 IQ, IDCT를 수행하기 위해 다시 읽어오는 방법을 취하고 있다. 또한, ID DCT/IDCT 코어(core)는 1개의 칼럼(8 pixel)의 데이터를 동시에 입력으로 받고, 마찬가지로 1개 칼럼을 동시에 출력으로 내 놓고, ID의 경우 한 개 칼럼을 처리하는데 5개 클럭이 소요되므로 5 클럭 마다 8개의 데이터를 입력으로 넣어 주어야 한다. 출력도 2번째 1차원의 경우 7클럭이 소요되어 7클럭마다 8개의 데이터를 처리해야 한다. 따라서, 매 클럭마다 1개의 픽셀(pixel) 값이 입력되는 기존의 구조에 적용하기 위해서는 입력부에서 데이터(DATA)의 언더플로우(underflow)를 해결해 주는 입력 버퍼(input buffer)와, DCT/IDCT로부터 7클럭마다 출력되는 1개의 칼럼(column)의 데이터(data)를, 매 클럭마다 1개의 픽셀(pixel)의 데이터를 받아들이는 인접 장치와의 데이터 레이트(rate)와 동기시키기 위한 출력 버퍼(output buffer)가 필요하게 된다.In this structure, as shown in FIG. 2, only six blocks are performed at the same time for the operation and quantization of the DCT in the DCT unit. In this case, six blocks that do not go through this IQ and IDCT are stored. RAM is needed. In this case, the SRAM used in the adjacent VLC is used instead of the SRAM, and data is quantized in the SRAM, so that the alternate or zig-zag scan is performed. In order to use it again in IQ and IDCT, ISCAN (Inverse SCAN) work is needed. This operation may be performed in the same manner as in the case of storing the address generated by the scan address generator SAG. In the transform and inverse transform apparatus, as shown in FIG. 2, six blocks are performed at the same time by DCT and Q, stored in VLC_DCT_MEM (SRAM), and read back to perform IQ and IDCT. In addition, the ID DCT / IDCT core receives one column (8 pixel) of data at the same time, and simultaneously outputs one column as an output. In the case of ID, five clocks are used to process one column. Since it takes 8 data every 5 clocks, it should be input. In the case of the second one-dimensional output, it takes 7 clocks and needs to process 8 data every 7 clocks. Therefore, in order to apply to an existing structure in which one pixel value is input every clock, an input buffer for solving the underflow of data at the input unit and 7 from DCT / IDCT Output buffer for synchronizing the data of one column output per clock with the data rate of an adjacent device that receives one pixel of data every clock. Will be needed.

DCT/IDCT의 인접 장치인 DPCM으로부터 DCT/IDCT로 입력이 되는 형태는 매 클럭마다 1개의 픽셀(pixel) 값이 출력된다. DCT/IDCT의 값은 입력측에서는 64클럭 동안 64개의 데이터를 줄 수 있고, IDCT는 35 클럭 동안 64개의 데이터가 들어가야 하므로 그 차이인 64-35=29개 픽셀(pixel) 만큼의 데이터가 버퍼에 저장되어야 한다. 또 픽셀(pixel)별로 순차적으로 들어오는 데이터를 8개 픽셀(pixel)씩 병렬적으로 처리해야 하므로 SIPO(Serial Input to Parallel Output) 버퍼가 필요하여 3개의 칼럼(24 픽셀)의 데이터를 저장할 일반 플립플롭(F/F : Flip Flop) 버퍼와 함께 1개 칼럼의 SIPO 버퍼가 입력측에 필요하다. 출력측에서는 7개 클럭당 8개의 픽셀(pixel)을 처리해야 하므로 한 개의 칼럼을 처리하는데 1개의 데이터가 적체되고, 8개의 칼럼, 즉 1개 블록을 처리하는데는 8개의 데이터가 쌓이게 되므로 이를 저장할 1개 칼럼(8 픽셀)을 저장할 버퍼와 8개의 데이터가 병렬적으로 출력되는 것을 1개의 데이터씩 순차적으로 내보내려면 PISO(Parallel Input to Serial Output) 버퍼가 필요하므로 2개의 칼럼을 처리할 수 있는 PISO 버퍼가 필요하다. 도 3과 같이 변환 및 역변환 장치의 입력은 매크로블럭클럭 이후 64 클럭 동안 데이터가 들어오고, 32 클럭을 중단했다가 다시 64 클럭 동안 데이터가 들어오는 동작을 반복하여 6개 블록의 데이터를 받아들이고, 마찬가지로 출력도 64 클럭 동안의 데이터출력과 32 클럭의 휴식이 6번 반복되어 결과를 모두 출력하도록 되어 있다.In the form of input to DCT / IDCT from DPCM, which is an adjacent device of DCT / IDCT, one pixel value is output every clock. The value of DCT / IDCT can give 64 data for 64 clocks on the input side, and because IDCT requires 64 data for 35 clocks, the difference of 64-35 = 29 pixels is stored in the buffer. Should be. In addition, since 8 pixels must be processed in parallel in order of pixel-by-pixel data, a normal input to parallel output (SIPO) buffer is required, which is a general flip-flop to store 3 columns (24 pixels) of data. A single column SIPO buffer is required on the input side with (F / F: Flip Flop) buffer. On the output side, 8 pixels per 7 clocks must be processed, so one data is accumulated to process one column, and eight data are accumulated to process eight columns, that is, one block. PISO buffer which can handle 2 columns because PISO (Parallel Input to Serial Output) buffer is needed to send out buffer to store 8 columns (8 pixels) and 8 data output in parallel one by one Is needed. As shown in FIG. 3, the input of the converting and inverse converting device receives data of 6 blocks by repeating an operation of receiving data for 64 clocks after the macroblock clock, stopping 32 clocks, and then receiving data for 64 clocks again, and outputting the same. The data output for 64 clocks and the rest of 32 clocks are repeated six times to output all the results.

주변 장치와의 인터페이스에 관하여 설명하면 다음과 같다.The interface with the peripheral device will be described below.

DPCM의 인터페이스를 위해서는 먼저 클럭이 서로 다른 것을 사용할 경우에 1) 변환 및 역변환 장치로 데이터를 54MHz로 전달하고, 2) IDCT를 거친 후 54 MHz로 전달되는 데이터와의 인터페이스이다. 이는 DPCM에 있는 버퍼를 통해서 가능하다. 1)에 해당하는 사항으로, 기본적으로 출력은 54MHz이며, 인에이블(enable) 신호는 도 4와 같은 형태로 나와야 하며, 도 4는 변환 및 역변환 장치의 DCT_ENABLE신호를 나타낸 것이다. 도 4와 같은 형태의 신호를 만들기 위해 이 장치의 클럭은 sck2로 하여 각각 32클럭(sck4 64클럭)과 16클럭(sck4 32클럭)을 카운트하고, 6개 블록을 카운트한 후 다시 인에이블 신호를 기다리는 동작을 수행한다.For the interface of DPCM, first, when different clocks are used, 1) data is transmitted to 54MHz by conversion and inverse conversion device, and 2) interface with data transmitted by 54MHz after IDCT. This is done through a buffer in the DPCM. 1), basically, the output is 54MHz, the enable (enable) signal should be shown in the form as shown in Figure 4, Figure 4 shows the DCT_ENABLE signal of the conversion and inverse conversion device. In order to make the signal as shown in Fig. 4, the clock of the device is set to sck2 and counts 32 clocks (sck4 64 clocks) and 16 clocks (sck4 32 clocks), respectively, and counts six blocks, and then enables the enable signal again. Perform the wait operation.

도5는 에스램(SRAM)에서 저장된 값을 읽어와서 감산(subtract)한 후에 변환 및 역변환 장치로 보내주는 과정을 도시한 것으로 모든 램(RAM) 제어신호와 어드레스를 dct_enable에 맞추어 54MHz로 출력되도록 하여야 한다. 변환 및 역변한 장치로부터 입력된 값은 움직임 보상된 데이터와 합해져서 다시 램(RAM)에 저장된다. 따라서, 변환 및 역변환 장치로부터 입력된 IDCT값과 합해질 움직임 보상 데이터를 램(RAM)으로부터 IDCT값이 들어오는 순서대로 읽어와서 더해진 값을 다시 램(RAM)에 저장하는 장치가 필요하다. 이에 대한 데이터 흐름은 도6에 도시되어 있다.5 is a diagram illustrating a process of reading and subtracting a stored value from an SRAM and subtracting it, and then sending the converted and inverse transform apparatus to all of the RAM control signals and addresses at 54 MHz according to dct_enable. do. The value input from the transformed and inverted device is combined with the motion compensated data and stored back in RAM. Therefore, there is a need for a device that reads motion compensation data to be combined with an IDCT value input from a transform and inverse transform device in the order in which the IDCT values are received from the RAM, and stores the added values back into the RAM. The data flow for this is shown in FIG.

VLC와의 인터페이스는 다음과 같다. DCT와 Q를 끝낸 데이터는 도 7과 같은 순서로 나오게 된다. 그런데, DCT의 결과는 DC(한글이름 또는 영문 풀네임:The interface with VLC is as follows. Data after the DCT and Q are shown in the order shown in FIG. However, the result of DCT is DC (Korean name or English full name:

값과 DC에 가까운 AC(한글이름 또는 영문 풀네임: )값들이 중요하게 되고, 나머지 고주파 성분은 0에 가까워 양자화에 의해 0이 되어버릴 확률이 높다. 따라서, 현재의 순서를 그대로 이용한다면, 불필요한 구조파의 0값들도 모두 코딩해야 하므로 압축에 도움이 되지 못한다.Values close to DC and AC (Korean name or English full name:) values become important, and the remaining high frequency components are close to zero, which is likely to become zero by quantization. Therefore, if the current order is used as it is, it is not helpful for compression since all zero values of the unnecessary structure wave must be coded.

이러한 이유로 양자화된 데이터는 도 8과 같이 지그재그 방식이나 도 9와 같은 얼트네이트 방식으로 순서를 바꾸어 유용한 데이터만 코딩하기 좋은 형태를 만들어 놓게 된다. 이를 위해 SAG부에서는 도 10의 순서로 나오는 DCT 데이터를 얼트스캔(altscan) 신호를 보고 얼트스캔(altscan)이 1이면 얼트네이트 주사순서에 해당하는 주소를, 0이면 지그재그 주사 순서에 해당하는 주소를 발생시켜 주고, 이 값을 양자화의 결과를 저장할 에스램(SRAM)이 있는 VLC로 전달해준다. 마찬가지로 양자화된 결과를 읽어와 역 스캔(SCAN)할 때에도 저장되어진 순서 그대로 읽어오면 되므로 동일한 롬(ROM) 테이블을 사용하면 된다. VLC의 에스램(SRAM)에 데이터를 읽기(read)하거나, 쓰기(write)할 경우에 SAG부에서 발생되는 어드레스(address)는 도 10과 같은 순서로 출력된다.For this reason, the quantized data is changed in a zigzag manner as shown in FIG. 8 or as an alternate method as shown in FIG. 9, so that only useful data is coded. To this end, the SAG unit looks at the altscan signal of the DCT data in the order of FIG. 10, and if the altscan is 1, the address corresponding to the alternate scan order is 0, and the address corresponding to the zigzag scan sequence is 0. And then pass this value to the VLC with the SRAM to store the result of the quantization. Likewise, the same ROM table can be used when the quantized result is read and scanned in reverse order (SCAN). When data is read or written to the SRAM of the VLC, addresses generated in the SAG unit are output in the order shown in FIG. 10.

1차원 DCT/IDCT부의 설계에 관해 기술하면 다음과 같다. DCT의 구현은 현재까지 여러 가지 방법들이 제안되었으며, 본 연구에서는 매트릭스 분해(Matrix decomposition)를 이용한 직접 연산 방식을 기본으로 하여 구현한다. 본 연구에서 사용한 알고리즘은 매트릭스(Matrix)의 분해(decomposition) 방법으로 하나의 픽셀(pixel)값을 처리하기 위한 곱셈의 회수가 적어서, 곱셈에 의해서 생길 수 있는 에러(error)의 크기가 작다는 장점이 있다. 에러(error)가 적은 알고리즘에서는 구현하고자 하는 회로의 내부 최소 처리 비트수가 적어져, 전체적인 회로의 크기가 작아진다. 또한, 변환 및 역변환의 구현상 DCT부에 할당된 클럭수가 적기 때문에, 매트릭스 분해(Matrix decomposition)를 이용한 직접 연산 방식이 적합한 구조이다.The design of the one-dimensional DCT / IDCT unit is described as follows. Various implementations of DCT have been proposed to date, and this study is based on direct computation using matrix decomposition. The algorithm used in this study has a small number of multiplications for processing one pixel value as a matrix decomposition method, and thus an error size due to multiplication is small. There is this. In the low error algorithm, the internal minimum number of processing bits of the circuit to be implemented is small, and the overall circuit size is reduced. In addition, since the number of clocks allocated to the DCT unit is small for the implementation of the conversion and inverse transformation, a direct calculation method using matrix decomposition is suitable.

DCT의 하드웨어 구현 방식(scheme)은 도 11과 같다. 2-D DCT/IDCT의 구현은 DCT(Discrete Cosine Transform)이 직교 변환(orthogonal transform)이기 때문에, 1차원과 2차원의 연산은 같다. 1-D DCT/IDCT의 하드웨어 구현은 매트릭스 분해(matrix decomposition)를 통해 매트릭스(matrix)의 차원(dimension)을 줄인 후, 이를 직접 하드웨어로 구현한다. 매트릭스(matrix) 연산의 방법은 롬 곱셈기(ROM multiplier)를 통한 3-비트 직렬 처리(serial processing)를 기본으로 한다. 도 12는 구현된 1-D DCT/IDCT의 블록도를 나타내었다. 2-D DCT/IDCT를 구현하기 위하여 1-D DCT/IDCT를 반복적으로 사용하고 있다. 본 발명에서는 반복적으로 쓰이는 2개의 1-D DCT/IDCT를 한 개만 사용하여 2-D DCT/IDCT를 구현하였다. 그리고, 이와같은 과정을 2차원 IDCT에도 적용하여 결과적으로 한 개의 1차원 DCT/IDCT로 2개의 2차원 DCT/IDCT를 연산하도록 구성하였다.The hardware implementation scheme of the DCT is illustrated in FIG. 11. Since the implementation of 2-D DCT / IDCT is a DCT (Discrete Cosine Transform) is an orthogonal transform, the one-dimensional and two-dimensional operations are the same. The hardware implementation of 1-D DCT / IDCT reduces the dimension of the matrix through matrix decomposition and then implements it directly in hardware. The matrix operation method is based on 3-bit serial processing through a ROM multiplier. 12 shows a block diagram of the implemented 1-D DCT / IDCT. In order to implement 2-D DCT / IDCT, 1-D DCT / IDCT is repeatedly used. In the present invention, 2-D DCT / IDCT is implemented using only one 1-D DCT / IDCT that is repeatedly used. In addition, this process was applied to two-dimensional IDCT, and consequently, one two-dimensional DCT / IDCT was calculated to calculate two two-dimensional DCT / IDCT.

본 발명에서 사용하는 1차원 DCT/IDCT의 클럭 속도는 DCT 및 IDCT에 대해서 도 13에 나타나 있다. DCT 데이터의 입력은 선입선출회로(FIFO)를 거친 데이터가 9비트 2의 보수로 8개의 픽셀 데이터가 병렬로 입력된다. IDCT 데이터는 역양자화를 거친 계수들이 에스램(SRAM) 버퍼에 저장되어 있던 데이터가 12 비트 2의 보수의 포맷으로 병렬로 입력된다. 이렇게 입력된 데이터는 IDCT를 거친 후 9비트 2의 보수 포맷으로 출력된다.Clock speeds of the one-dimensional DCT / IDCT used in the present invention are shown in FIG. 13 for DCT and IDCT. DCT data is inputted through a first-in first-out circuit (FIFO), and eight pixel data are input in parallel with 9-bit two's complement. In IDCT data, data in which dequantized coefficients are stored in an SRAM buffer is input in parallel in a 12-bit two's complement format. The input data is output in 9 bit 2's complement format after IDCT.

입력 데이터와 출력데이터의 범위는 다음의 (표 2)와 같다.The range of input data and output data is as follows (Table 2).

IDCT 입력 데이터IDCT input data 12 비트 2의 보수12 bit 2's complement -2048∼2047-2048-2047 IDCT 출력 데이터IDCT output data 9 비트 2의 보수9 bit 2's complement -256∼255-256 to 255 DCT 입력 데이터DCT input data 9 비트 2의 보수9 bit 2's complement -256∼255-256 to 255 ICT 출력 데이터ICT output data 12 비트 2의 보수12 bit 2's complement -2048∼2047-2048-2047

내부의 데이터 포맷은 21 비트로 설계하였다. 첫 번째 1차원 DCT에서 4번, 두 번째 1차원 DCT에서 6번의 누적 연산 과정을 거친 데이터는 16 비트이며, 하위 2비트와 상위 5비트를 라운딩(rounding)과 클립핑(clipping)을 통해 9비트의 값으로 출력하게 된다.The internal data format is designed with 21 bits. 16 bits of data are processed four times in the first one-dimensional DCT and six times in the second one-dimensional DCT, and the lower two bits and the upper five bits are rounded and clipped. Will output a value.

1차원 DCT/IDCT후의 계산값에 대한 전치행렬을 구성하는 회로는 램(RAM)으로 구성하지 않고 다중화기(MUX)와 플립플롭(Flip-flop)으로 구성하였다. 전치회로의 한 전치셀은 16 비트의 레지스터들과 멀티플렉서로 구성될 수 있다. 또한 전치행열의 값이 출력되는 마지막 칼럼의 경우에 데이터의 출력이 16비트가 아닌 DCT/IDCT의 처리 단위인 3비트로 이루어져 있다. 이는 16비트로 그 출력을 정할 경우 18 × 8 = 144 비트의 버스가 필요하게 되며, 이는 레이아웃(layout)시 와이어(wire)가 차지하는 배선영역이 많은 부분을 차지하게 되어 비효율적이다. 이를 해결하기 위하여, DCT/IDCT의 입력부에 있는 PISO를 전치회로의 출력단에 추가시켰다. 이때, 필요한 부분은 다중화기(MUX)만 필요하게 된다. 결과적으로 DCT/IDCT의 입력단에 필요한 1차원/2차원 DCT/IDCT의 선택을 위한 멀티플렉서의 크기가 16 × 8 = 128 비트의 다중화기(mux)가 아닌 3 × 8 = 24 비트의 다중화기로 감소시킬 수 있었다.The circuit that constitutes the transpose matrix for the calculated values after one-dimensional DCT / IDCT is composed of a multiplexer (MUX) and a flip-flop, not RAM. One precell of a precircuit circuit may consist of 16-bit registers and a multiplexer. In addition, in the case of the last column in which the value of the transpose row is output, the data output is composed of 3 bits, which are DCT / IDCT processing units, not 16 bits. When the output is set to 16 bits, a bus of 18 x 8 = 144 bits is required, which is inefficient because the wiring area occupies a large portion of the wire during layout. To solve this problem, PISO at the input of DCT / IDCT was added to the output of the pre-circuit. At this time, only the multiplexer (MUX) is needed. As a result, the size of the multiplexer for the selection of the 1D / 2D DCT / IDCT required for the input of the DCT / IDCT is reduced to a 3x8 = 24bit multiplexer rather than a 16x8 = 128bit multiplexer (mux). Could.

입력버퍼는 DPCM과 IQ의 결과가 1클럭에 1개의 픽셀(pixel)값을 입력과, DCT/IDCT의 처리 속도가 일치하지 않음으로서 발생되는 데이터의 언더플로우(underflow)를 해결하기 위해 쓰이게 된다. DCT/IDCT의 경우 5클럭마다 1개의 칼럼(column)이 처리되며, 입력되는 픽셀(pixel)은 매 클럭마다 입력된다. 따라서, 1-D DCT/IDCT의 경우 1블록이 처리되는데 5 × 7 = 35 클럭이 소요되며 이는 64 - 35 = 29 픽셀(pixel)의 데이터가 저장될 버퍼가 필요하다. 따라서, 입력버퍼의 크기(size)는 DCT/IDCT의 두가지 모드에 대한 입력을 저장할 수 있도록 12비트 × 29이다.The input buffer is used to solve the underflow of data generated by the result of DPCM and IQ inputting one pixel value in one clock and the processing speed of DCT / IDCT do not match. In the case of DCT / IDCT, one column is processed every 5 clocks, and an input pixel is input every clock. Therefore, in the case of 1-D DCT / IDCT, one block is processed, and 5 × 7 = 35 clocks are required, which requires a buffer to store data of 64-35 = 29 pixels. Therefore, the size of the input buffer is 12 bits x 29 to store inputs for the two modes of DCT / IDCT.

도 14는 입력버퍼의 구조를 나타내었다. 도 14에서 8 : 1 다중화기(mux)의 각각의 입력은 3개의 플립플롭(F/F) 간격으로 연결되어 있으며, 각 윈도우 사이의 간격은 5클럭이 된다. 따라서, DCT/IDCT에서 각 데이터를 읽어가는 5클럭마다 다중화기(MUX)의 어드레스(address)를 증가시켜주면 8 칼럽(column)의 데이터를 순서에 맞게 읽어 들일 수 있게 된다.14 shows the structure of an input buffer. In FIG. 14, each input of an 8: 1 multiplexer (mux) is connected at three flip-flop (F / F) intervals, and the interval between each window is 5 clocks. Therefore, if the address of the multiplexer (MUX) is increased every 5 clocks of reading data in DCT / IDCT, 8 columns of data can be read in order.

도 15는 출력버퍼를 나타낸 것으로, DCT의 결과와 IDCT의 결과가 각각 Q와 DPCM으로, 1클럭에 1픽셀의 데이터를 입력시켜 준다. DCT/IDCT로부터의 결과는 7클럭마다 하나의 칼럼(COLUMN)의 데이터가 출력되므로 7x7 = 49 클럭만에 모든 결과가 출력 되며, 64 클럭 동안 1 블록의 데이터가 출력 되어야 하므로 64-49=15 픽셀의 버퍼가 필요하다.15 shows an output buffer in which DCT results and IDCT results are Q and DPCM, respectively, and one pixel data is input in one clock. The result from DCT / IDCT is one column (COLUMN) data every 7 clocks, so all the results are output only at 7x7 = 49 clocks, and 1 block of data must be output for 64 clocks. A buffer of is required.

이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.The present invention described above is not limited to the above-described embodiments and the accompanying drawings, and various substitutions, modifications, and changes can be made in the art without departing from the technical spirit of the present invention. It will be apparent to those of ordinary knowledge.

이상에서 설명한 바와 같이 본 발명에서 제시하는 1개의 1차원 DCT/IDCT만을 사용하여 4번 반복 수행하도록 구성하면 비디오 부호화 장치를 하드웨어로 구현하는데 약 3/4의 면적 감소 효과를 얻을 수 있다. 이를 위해서 본 발명에서는 입/출력부에 버퍼를 약간 추가하여 인접 장치와의 인터페이스를 도모하였고 1차원 DCT/IDCT의 내부 처리속도 향상을 위해서 1번에 3비트씩 쉬프트하면서 연산하는 3비트 시리얼 분산 연산 구조를 채택하였다. 이는 영상 신호처리 분야에서 비디오 부호화를 위한 시스템을 구현할때 하드웨어 면적으로 인한 비용을 줄이고 소비전력을 감소시키기 위해서 활용될 수 있다.As described above, if it is configured to perform four iterations using only one 1D DCT / IDCT proposed in the present invention, an area reduction effect of about 3/4 can be obtained when the video encoding apparatus is implemented in hardware. To this end, in the present invention, a buffer is added to the input / output part to facilitate the interface with adjacent devices, and 3-bit serial distributed operation that is performed by shifting 3 bits at a time to improve the internal processing speed of 1-dimensional DCT / IDCT. The structure is adopted. This can be utilized to reduce the cost of hardware area and power consumption when implementing a system for video encoding in the field of video signal processing.

Claims (9)

비디오 인코더의 변환 및 역변환 부호화 장치에 있어서,In the transform and inverse transform encoding apparatus of a video encoder, 외부로부터 들어오는 비디오입력을 이산여현변환(DCT)에 의해 주파수성분으로 변환시켜주는 한 개의 이산여현변환/역이산여현변환(DCT/IDCT) 수단;One discrete cosine transform / inverse discrete cosine transform (DCT / IDCT) means for converting a video input from an external source into a frequency component by a discrete cosine transform (DCT); 상기 한 개의 이산여현변환/역이산여현변환(DCT/IDCT) 수단에 연결되고 이산여현변환(DCT)된 값들을 그 주파수성분의 중요성에 따라 다른 양자화 스텝으로 나누어 주는 양자화/역양자화 수단; 및Quantization / inverse quantization means connected to said discrete cosine transform / inverse discrete cosine transform (DCT / IDCT) means and dividing the discrete cosine transform (DCT) values into different quantization steps according to the importance of their frequency components; And 양자화된 데이터를 주사순서를 바꾸어 가변길이 부호화 수단으로 전달하는 주사변환 수단을 구비하고,Scanning conversion means for transferring the quantized data to a variable length encoding means by changing the scanning order; 상기 이산여현변환/역이산여현변환(DCT/IDCT) 수단을 소정 횟수만큼 반복하여 사용는 것을 특징으로 하는 비디오 인코더의 변환 및 역변환 부호화 장치.And the discrete cosine transform / inverse discrete cosine transform (DCT / IDCT) means is repeatedly used a predetermined number of times. 제 1 항에 있어서,The method of claim 1, 상기 양자화/역양자화 수단의 출력과 외부데이터를 입력하여 상기 한 개의 이산여현변환/역이산여현변환(DCT/IDCT) 수단으로 전달하는 입력 버퍼링 수단Input buffering means for inputting the output of the quantization / inverse quantization means and external data to the discrete cosine transform / inverse discrete cosine transform (DCT / IDCT) means 을 더 포함하는 것을 특징으로 하는 비디오 인코더의 변환 및 역변환 부호화 장치.The transform and inverse transform encoding apparatus of the video encoder further comprising. 제 2 항에 있어서,The method of claim 2, 상기 입력 버퍼링 수단이 에스램(SRAM)으로 구성된 것을 특징으로 하는 비디오 인코더의 변환 및 역변환 부호화 장치.And the input buffering means is composed of SRAMs. 제 1 항 또는 제 2 항에 있어서,The method according to claim 1 or 2, 상기 이산여현변환/역이산여현변환(DCT/IDCT) 수단의 출력을 상기 양자화/역양자화 수단으로 전달하는 출력 버퍼링 수단Output buffering means for delivering the output of said discrete cosine transform / inverse discrete cosine transform (DCT / IDCT) means to said quantization / dequantization means 을 더 포함하는 것을 특징으로 하는 비디오 인코더의 변환 및 역변환 부호화 장치.The transform and inverse transform encoding apparatus of the video encoder further comprising. 제 4 항에 있어서,The method of claim 4, wherein 상기 출력 버퍼링 수단이 에스램(SRAM)으로 구성된 것을 특징으로 하는 비디오 인코더의 변환 및 역변환 부호화 장치.And the output buffering means is composed of SRAMs. 비디오 인코더의 변환 및 역변환 부호화 장치에 있어서,In the transform and inverse transform encoding apparatus of a video encoder, 외부로부터 들어오는 비디오입력을 이산여현변환(DCT)에 의해 주파수성분으로 변환시켜주는 한 개의 이산여현변환/역이산여현변환(DCT/IDCT) 수단;One discrete cosine transform / inverse discrete cosine transform (DCT / IDCT) means for converting a video input from an external source into a frequency component by a discrete cosine transform (DCT); 상기 한 개의 이산여현변환/역이산여현변환(DCT/IDCT) 수단에 연결되고 이산여현변환(DCT)된 값들을 그 주파수성분의 중요성에 따라 다른 양자화 스텝으로 나누어 주는 양자화/역양자화 수단;Quantization / inverse quantization means connected to said discrete cosine transform / inverse discrete cosine transform (DCT / IDCT) means and dividing the discrete cosine transform (DCT) values into different quantization steps according to the importance of their frequency components; 상기 양자화/역양자화 수단의 출력과 외부데이터를 입력하여 상기 한 개의 이산여현변환/역이산여현변환(DCT/IDCT) 수단으로 전달하는 입력 버퍼링 수단;Input buffering means for inputting the output of said quantization / dequantization means and external data to said discrete cosine transform / inverse discrete cosine transform (DCT / IDCT) means; 상기 이산여현변환/역이산여현변환(DCT/IDCT) 수단의 출력을 상기 양자화/역양자화 수단으로 전달하는 출력 버퍼링 수단; 및Output buffering means for transferring the output of said discrete cosine transform / inverse discrete cosine transform (DCT / IDCT) means to said quantization / dequantization means; And 양자화된 데이터를 주사순서를 바꾸어 가변길이 부호화 수단으로 전달하는 주사변환 수단을 구비하고,Scanning conversion means for transferring the quantized data to a variable length encoding means by changing the scanning order; 상기 이산여현변환/역이산여현변환(DCT/IDCT) 수단을 소정 횟수만큼 반복하여 사용하는 것을 특징으로 하는 비디오 인코더의 변환 및 역변환 부호화 장치.And the discrete cosine transform / inverse discrete cosine transform (DCT / IDCT) means is repeatedly used a predetermined number of times. 비디오 인코더의 변환 및 역변환 부호화 방법에 있어서,In the transform and inverse transform encoding method of a video encoder, 외부로부터 들어오는 비디오입력을 1개의 이산여현변환/역이산여현변환(DCT/IDCT) 수단에 의해 주파수성분으로 변환시켜주는 제 1 단계;A first step of converting video input from the outside into frequency components by means of one discrete cosine transform / inverse discrete cosine transform (DCT / IDCT) means; 상기 한 개의 이산여현변환/역이산여현변환(DCT/IDCT) 수단을 통해 이산여현변환(DCT)된 값들을 그 주파수성분의 중요성에 따라 다른 양자화 스텝으로 나누어 주는 제 2 단계;Dividing the discrete cosine transform (DCT) values through one discrete cosine transform / inverse discrete cosine transform (DCT / IDCT) means into different quantization steps according to the importance of the frequency component; 양자화된 데이터를 주사순서를 바꾸어 가변길이 부호화 수단으로 전달하는 제 3 단계를 포함하되,A third step of transferring the quantized data to the variable length encoding means by changing the scanning order, 상기 이산여현변환/역이산여현변환(DCT/IDCT) 수단을 소정 횟수만큼 반복하여 사용하는 것을 특징으로 하는 비디오 인코더의 변환 및 역변환 부호화 방법.And using the discrete cosine transform / inverse discrete cosine transform (DCT / IDCT) means repeatedly a predetermined number of times. 제 7 항에 있어서,The method of claim 7, wherein 양자화/역양자화 수단의 출력과 외부데이터를 입력 버퍼링 수단을 통해 상기 한 개의 이산여현변환/역이산여현변환(DCT/IDCT) 수단으로 전달하는 제 4 단계A fourth step of delivering the output of the quantization / dequantization means and the external data to the single discrete cosine transform / inverse discrete cosine transform (DCT / IDCT) means through input buffering means; 를 더 포함하는 것을 특징으로 하는 비디오 인코더의 변환 및 역변환 부호화 방법.Transform and inverse transform encoding method of a video encoder further comprising. 제 7 항 또는 제 8 항에 있어서,The method according to claim 7 or 8, 상기 이산여현변환/역이산여현변환(DCT/IDCT) 수단의 출력을 출력 버퍼링 수단을 통해 상기 양자화/역양자화 수단으로 전달하는 제 5 단계A fifth step of delivering the output of the discrete cosine transform / inverse discrete cosine transform (DCT / IDCT) means to the quantization / dequantization means through an output buffering means; 를 더 포함하는 것을 특징으로 하는 비디오 인코더의 변환 및 역변환 부호화 방법.Transform and inverse transform encoding method of a video encoder further comprising.
KR1019980060152A 1998-12-29 1998-12-29 Transform and inverse transform encoding apparatus of video encoder and method thereof KR100289621B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980060152A KR100289621B1 (en) 1998-12-29 1998-12-29 Transform and inverse transform encoding apparatus of video encoder and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980060152A KR100289621B1 (en) 1998-12-29 1998-12-29 Transform and inverse transform encoding apparatus of video encoder and method thereof

Publications (2)

Publication Number Publication Date
KR20000043735A KR20000043735A (en) 2000-07-15
KR100289621B1 true KR100289621B1 (en) 2001-05-02

Family

ID=19566991

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980060152A KR100289621B1 (en) 1998-12-29 1998-12-29 Transform and inverse transform encoding apparatus of video encoder and method thereof

Country Status (1)

Country Link
KR (1) KR100289621B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100348210B1 (en) * 2000-07-21 2002-08-09 (주)씨앤에스 테크놀로지 Device for quantization of image conpression/restoration
DE10331803A1 (en) * 2003-07-14 2005-02-17 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for converting to a transformed representation or for inverse transformation of the transformed representation

Also Published As

Publication number Publication date
KR20000043735A (en) 2000-07-15

Similar Documents

Publication Publication Date Title
Kovac et al. JAGUAR: A fully pipelined VLSI architecture for JPEG image compression standard
Lai et al. A high-performance and memory-efficient VLSI architecture with parallel scanning method for 2-D lifting-based discrete wavelet transform
US8913667B2 (en) Video decoding system having a programmable variable-length decoder
US5659362A (en) VLSI circuit structure for implementing JPEG image compression standard
TW315572B (en)
Zhu et al. Fully pipelined DCT/IDCT/Hadamard unified transform architecture for HEVC Codec
US5649077A (en) Modularized architecture for rendering scaled discrete cosine transform coefficients and inverse thereof for rapid implementation
JP3615241B2 (en) Video data decoder architecture
Hartenstein et al. Reconfigurable machine for applications in image and video compression
JPH07240844A (en) Image data processing unit and image data processing method
Lafruit et al. An efficient VLSI architecture for 2-D wavelet image coding with novel image scan
Kim et al. An area efficient DCT architecture for MPEG-2 video encoder
Sjövall et al. High-level synthesis implementation of HEVC 2-D DCT/DST on FPGA
JPH09212484A (en) Discrete cosine transformation method
KR100289621B1 (en) Transform and inverse transform encoding apparatus of video encoder and method thereof
KR100377084B1 (en) Discrete cosine conversion circuit, discrete cosine inverse conversion circuit, MPEG video encoder and MPEG video decoder
EP0779745B1 (en) Method of converting data outputting sequence in inverse DCT and circuit thereof
Divakara et al. Novel dwt/idwt architecture for 3d with nine stage 2d parallel processing using split distributed arithmetic
KR100451731B1 (en) IDCT Apparatus
Liang et al. A full-pipelined 2-D IDCT/IDST VLSI architecture with adaptive block-size for HEVC standard
Bakr et al. Implementation of 3D-DCT based video encoder/decoder system
CN101237574A (en) Image data decoding calculation system
JP2003256405A (en) Image processor, image processing method, program and storage media
KR0178746B1 (en) Half pixel processing unit of macroblock
Lee et al. Design of high-performance transform and quantization circuit for unified video CODEC

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: 20130205

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20140205

Year of fee payment: 14

LAPS Lapse due to unpaid annual fee