KR100644556B1 - High speed inverse discrete cosine transform device - Google Patents
High speed inverse discrete cosine transform device Download PDFInfo
- Publication number
- KR100644556B1 KR100644556B1 KR1019990020967A KR19990020967A KR100644556B1 KR 100644556 B1 KR100644556 B1 KR 100644556B1 KR 1019990020967 A KR1019990020967 A KR 1019990020967A KR 19990020967 A KR19990020967 A KR 19990020967A KR 100644556 B1 KR100644556 B1 KR 100644556B1
- Authority
- KR
- South Korea
- Prior art keywords
- discrete cosine
- inverse discrete
- cosine transform
- memory
- sample
- Prior art date
Links
Images
Classifications
-
- E—FIXED CONSTRUCTIONS
- E04—BUILDING
- E04F—FINISHING WORK ON BUILDINGS, e.g. STAIRS, FLOORS
- E04F13/00—Coverings or linings, e.g. for walls or ceilings
- E04F13/07—Coverings or linings, e.g. for walls or ceilings composed of covering or lining elements; Sub-structures therefor; Fastening means therefor
- E04F13/08—Coverings or linings, e.g. for walls or ceilings composed of covering or lining elements; Sub-structures therefor; Fastening means therefor composed of a plurality of similar covering or lining elements
- E04F13/0862—Coverings or linings, e.g. for walls or ceilings composed of covering or lining elements; Sub-structures therefor; Fastening means therefor composed of a plurality of similar covering or lining elements composed of a number of elements which are identical or not, e.g. carried by a common web, support plate or grid
-
- E—FIXED CONSTRUCTIONS
- E04—BUILDING
- E04F—FINISHING WORK ON BUILDINGS, e.g. STAIRS, FLOORS
- E04F13/00—Coverings or linings, e.g. for walls or ceilings
- E04F13/07—Coverings or linings, e.g. for walls or ceilings composed of covering or lining elements; Sub-structures therefor; Fastening means therefor
- E04F13/08—Coverings or linings, e.g. for walls or ceilings composed of covering or lining elements; Sub-structures therefor; Fastening means therefor composed of a plurality of similar covering or lining elements
- E04F13/0889—Coverings or linings, e.g. for walls or ceilings composed of covering or lining elements; Sub-structures therefor; Fastening means therefor composed of a plurality of similar covering or lining elements characterised by the joints between neighbouring elements, e.g. with joint fillings or with tongue and groove connections
- E04F13/0894—Coverings or linings, e.g. for walls or ceilings composed of covering or lining elements; Sub-structures therefor; Fastening means therefor composed of a plurality of similar covering or lining elements characterised by the joints between neighbouring elements, e.g. with joint fillings or with tongue and groove connections with tongue and groove connections
Landscapes
- Engineering & Computer Science (AREA)
- Architecture (AREA)
- Civil Engineering (AREA)
- Structural Engineering (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Complex Calculations (AREA)
Abstract
HD급의 영상에 대한 역이산코사인변환을 수행할 수 있는 고속 역이산코사인변환 장치와, 상기와 같은 역이산코사인변환 장치내에서 수행되는 전치메모리 스케닝 방법이 개시된다. 본 역이산코사인변환 장치는 역양자화기로부터 출력되는 샘플을 입력하여 역이산코사인변환을 수행하는 하나의 1차원 역이산코사인변환부와, 상기 하나의 1차원 역이산코사인변환부로부터 출력된 결과 데이터를 저장하는 전치메모리, 및 상기 전치메모리로부터 결과 데이터를 읽어 1차원 역이산 코사인변환을 수행하는 다른 하나의 1차원 역이산코사인변환부를 포함하고, 수직방향과 수평 방향의 역이산코사인 변환을 순차적으로 수행하기 위한 샘플의 읽기와 결과 샘플의 쓰기를 소정의 시간 차이를 두어 동시에 수행하고, 읽기와 쓰기 과정을 두 개의 메모리 뱅크에 대하여 교대적으로 수행하는 것을 특징으로 한다. 본 역이산코사인 변환장치는 고속 처리를 요하는 HD급의 영상에 대한 역이산 코사인변환을 수행하는 것이 가능하며, 전치 메모리의 양이 적게 소요된다.Disclosed are a fast inverse discrete cosine transform apparatus capable of performing inverse discrete cosine transform on an HD image and a prememory scanning method performed in the inverse discrete cosine transform apparatus. The inverse discrete cosine transform apparatus includes one one-dimensional inverse discrete cosine transform unit for inputting a sample output from an inverse quantizer to perform inverse discrete cosine transform and result data output from the one one-dimensional inverse discrete cosine transform unit. And a first one-dimensional inverse discrete cosine transform unit for performing one-dimensional inverse discrete cosine transformation by reading the result data from the prememory and storing the result data from the prememory, and sequentially performing inverse discrete cosine transformation in the vertical and horizontal directions. Simultaneous reading of a sample to be performed and writing of a result sample are performed at predetermined time intervals, and reading and writing processes are alternately performed for two memory banks. The inverse discrete cosine transform apparatus can perform inverse discrete cosine transform on an HD-class image that requires high speed processing, and requires less amount of transpose memory.
Description
도 1a는 MPEG 인코딩 과정에서 수행되는 이산코사인변환(DCT) 과정을 설명하기 위한 도면이다.1A is a diagram for describing a discrete cosine transform (DCT) process performed in an MPEG encoding process.
도 1b는 MPEG 디코딩 과정에서 수행되는 역이산코사인변환(IDCT) 과정을 설명하기 위한 도면이다.FIG. 1B is a diagram illustrating an inverse discrete cosine transform (IDCT) process performed in an MPEG decoding process.
도 2는 종래의 2 차원 역이산코사인변환 장치의 구조를 도시한 블록도이다.2 is a block diagram showing the structure of a conventional two-dimensional inverse discrete cosine transform apparatus.
도 3a는 16 비트 1 차원 역이산코사인변환부의 구조를 상세히 도시한 블록도이다.3A is a block diagram illustrating in detail the structure of a 16-bit one-dimensional inverse discrete cosine transform unit.
도 3b는 도 3a의 시프트 레지스터 뱅크의 구조를 상세히 도시한 블록도이다.FIG. 3B is a detailed block diagram illustrating the structure of the shift register bank of FIG. 3A.
도 3c는 도 3a의 역이산코사인변환(IDCT) 엘리먼트의 구조를 상세히 도시한 블록도이다.FIG. 3C is a detailed block diagram illustrating the structure of an inverse discrete cosine transform (IDCT) element of FIG. 3A.
도 4는 본 발명의 실시예에 따른 고속 역이산코사인변환 장치의 구조를 도시한 블록도이다.4 is a block diagram showing the structure of a fast inverse discrete cosine transform apparatus according to an embodiment of the present invention.
도 5a는 12 비트 역이산코사인변환을 수행하기 위한 시프트레지스터 뱅크의 구조를 도시한 도면이다.5A illustrates a structure of a shift register bank for performing 12-bit inverse discrete cosine transform.
도 5b는 16 비트 역이산코사인변환을 수행하기 위한 시프트레지스터 뱅크의 구조를 도시한 도면이다.5B illustrates a structure of a shift register bank for performing 16-bit inverse discrete cosine transform.
도 6a 및 도 6b는 각각 12 비트 1 차원 역이산코사인변환 수행부 및 16 비트 1 차원 역이산코사인변환 수행부의 구조를 상세히 도시한 블록도이다.6A and 6B are block diagrams illustrating in detail the structures of a 12-bit one-dimensional inverse discrete cosine transform performing unit and a 16-bit one-dimensional inverse discrete cosine transform performing unit, respectively.
도 7은 12 비트 1 차원 이산코사인변환된 샘플들이 전치 메모리에 입력되는 순서를 설명하기 위한 도면이다.FIG. 7 is a diagram for describing an order in which 12-bit one-dimensional discrete cosine transformed samples are input to a pre-memory.
도 8은 전치 메모리의 쓰기 및 읽기 주소를 나타낸 도면이다.8 is a diagram showing the write and read addresses of the transpose memory.
도 9a 및 도 9b는 본 발명에 의한 고속 역이산코사인변환 장치에서 수행되는 본 발명의 실시예에 따른 전치 메모리 스케닝 방법의 주요 단계들을 도시한 흐름도이다.9A and 9B are flowcharts showing main steps of a pre-memory memory scanning method according to an embodiment of the present invention performed in a fast inverse discrete cosine transform apparatus according to the present invention.
도 10a는 전치 메모리상에서 수직 방향으로 쓰기 및 읽기를 수행하는 순서를 설명하기 위한 도면이다.FIG. 10A is a diagram for describing a procedure of writing and reading in the vertical direction on the transpose memory. FIG.
도 10b는 전치 메모리상에서 수평 방향으로 쓰기 및 읽기를 수행하는 순서를 설명하기 위한 도면이다.FIG. 10B is a diagram for describing a procedure of writing and reading in the horizontal direction on the transpose memory.
도 11은 전치메모리상에서의 쓰기 및 읽기 주소와 처리 계수의 위치를 나타낸 도면이다.Fig. 11 shows the positions of write and read addresses and processing coefficients on the pre-memory.
본 발명은 역이산코사인변환(Inverse Discrete Cosine Transform:IDCT) 장치에 관한 것으로, 더 상세하게는 행렬 분리 파이프 라인형 구조를 이루는 고속 역이 산코사인변환 장치에 관한 것이다.The present invention relates to an Inverse Discrete Cosine Transform (IDCT) device, and more particularly, to an inverse Discrete Cosine Transform device.
또한, 본 발명은 상기와 같은 역이산코사인변환 장치내에서 수행되는 전치메모리 스케닝 방법에 관한 것이다.The present invention also relates to a pre-memory scanning method performed in the inverse discrete cosine transform apparatus.
MPEG 영상 디코더는 디지털 TV, DVD 플레이어, 및 인터넷등과 같은 디지털 영상의 저장 및 전송에 관한 거의 대부분의 기술분야에서 적용되고 있다. 이러한 MPEG 영상 디코더에서는 가변장 디코더(VLD: Variable Length Decoder), 역양자화(IQ: Inverse Quantization), 및 움직임 보상(MC: Motion Compensation)과 더불어 역이산코사인변환(Inverse Discrete Cosine Transform: 이하 IDCT 라 칭함)이 필수적이다. 고속 영상 처리를 위해서는 역이산코사인변환 속도가 가장 중요한 변수이다.MPEG video decoders are applied in almost all technical fields related to the storage and transmission of digital video such as digital TVs, DVD players, and the Internet. Such MPEG image decoders are referred to as Inverse Discrete Cosine Transform (IDCT), together with Variable Length Decoder (VLD), Inverse Quantization (IQ), and Motion Compensation (MC). ) Is essential. The inverse discrete cosine transform speed is the most important variable for high speed image processing.
도 1a에는 MPEG 인코딩 과정에서 수행되는 일반적인 이산코사인변환 과정을 설명하기 위한 도면을 도시하였다. 도 1a를 참조하면, 이산코사인변환 처리의 단위가 되는 각 블록(100)은 픽셀 도메인에서 8×8 픽셀로 이루어진다. 이러한 블록(100)에 대하여 수평방향으로 1차원 이산코사인변환을 수행함으로써 제1 행렬(102)을 구성한다. 다음으로, 이 제1 행렬(102)에 대하여 수직방향으로 1차원 이산코사인변환을 수행하여 제2 행렬(104)을 구성한다. 여기서, 블록(100)은 픽셀 도메인에 해당하고, 제1 및 제2 행렬(102,104)은 주파수 도메인에 해당한다.FIG. 1A illustrates a diagram for describing a general discrete cosine transform process performed in an MPEG encoding process. Referring to FIG. 1A, each
MPEG 디코딩 과정에서는 도 1b에 도시한 바와 같은 역이산코사인변환 과정이 수행된다. 도 1b를 참조하면, 역이산코사인변환 과정은 이산코사인변환 과정의 역의 순서이다. 즉, 주파수 도메인의 제3 행렬(120)에 대하여 수직방향으로 1 차원 역이산코사인변환을 수행함으로써 제4 행렬(122)을 구성한다. 다음에는 제4 행렬에 대하여 1 차원 역이산코사인변환을 수행함으로써 블록(144)을 복원한다.In the MPEG decoding process, an inverse discrete cosine transform process as shown in FIG. 1B is performed. Referring to FIG. 1B, the inverse discrete cosine transform process is an inverse order of the discrete cosine transform process. That is, the
도 2에는 종래의 2 차원 역이산코사인변환 장치의 구조를 블록도로써 도시하였다. 도 2를 참조하면, 종래의 2 차원 역이산코사인변환 장치는 16 비트 1차원 역이산코사인변환부(22)와 전치메모리(24)를 구비한다. 16 비트 1차원 역이산코사인변환부(22)와 전치메모리(24)는 각각 두 개의 역이산코사인변환 처리블록과 두 개의 8×8 블록 크기의 전치메모리로 이루어진다. 2 shows a block diagram of a conventional two-dimensional inverse discrete cosine transform apparatus. Referring to FIG. 2, the conventional two-dimensional inverse discrete cosine transform unit includes a 16-bit one-dimensional inverse discrete
두 개의 역이산코사인변환 처리블록을 각각 제1 및 제2 역이산코사인변환 처리블록이라 하고, 두 개의 8×8 블록 크기의 전치메모리를 각각 제1 및 제2 전치메모리라고 가정하여 동작을 설명하면, 먼저, 제1 역이산코사인변환 처리블록이 예를들어 수직방향의 역이산코사인변환을 수행하여 그 결과를 제1 전치메모리에 쓴다. 다음으로, 제2 역이산코사인변환 처리블록은 제1 전치 메모리에 저장된 역이산코사인변환 결과를 읽어 수평방향의 역이산코사인변환을 수행하여 그 결과를 제2 전치메모리에 저장한다. 따라서, 하나의 블록에 대하여 수직 및 수평 역이산코사인변환을 모두 수행하는데는 8 클록이 소요된다.If two inverse discrete cosine transform processing blocks are called first and second inverse discrete cosine transform processing blocks, respectively, and two 8x8 block size pre-memory are assumed to be first and second pre-memory, respectively, First, the first inverse discrete cosine transform processing block performs vertical inverse discrete cosine transform, for example, and writes the result to the first pre-memory. Next, the second inverse discrete cosine transform processing block reads the inverse discrete cosine transform result stored in the first pre-memory memory, performs the inverse discrete cosine transform in the horizontal direction, and stores the result in the second pre-memory memory. Therefore, it takes 8 clocks to perform both vertical and horizontal inverse discrete cosine transform for one block.
도 3a에는 16 비트 1 차원 역이산코사인변환부(22)의 상세한 구조를 블록도로써 도시하였다. 도 3a를 참조하면, 16 비트 1 차원 역이산코사인변환부(22)는 시프트레지스터 뱅크(30: SREG BANK)와 역이산코사인변환 엘리먼트부(20)로 이루어진다.FIG. 3A shows a detailed structure of the 16-bit one-dimensional inverse discrete
도 3b를 참조하여 도 3a의 시프트 레지스터 뱅크의 구조를 설명하면, 종래의 역이산코사인변환 장치의 역이산코사인변환 엘리먼트내의 시프트레지스터 뱅크는 16 비트의 시프트레지스터 뱅크들(Bank0_0, Bank0_1, Bank0_2, Bank0_3, Bank0_4, Bank0_5, Bank0_6, Bank0_7)로 이루어진 제1 뱅크와, 16 비트의 시프트레지스터 뱅크들(Bank1_0, Bank1_1, Bank1_2, Bank1_3, Bank1_4, Bank1_5, Bank1_6, Bank1_7)로 이루어진 제2 뱅크를 구비한다. 입력된 비트들은 도 3c에 도시한 바와 같은 구조를 이루고 있는 역이산코사인변환 엘리먼트에 의하여 역이산 코사인변환이 수행된다.Referring to FIG. 3B, the structure of the shift register bank of FIG. 3A will be described. The shift register bank in the inverse discrete cosine transform element of the conventional inverse discrete cosine transform apparatus includes 16 bit shift register banks Bank0_0, Bank0_1, Bank0_2, and Bank0_3. And a first bank consisting of Bank0_4, Bank0_5, Bank0_6, and Bank0_7, and a second bank consisting of 16-bit shift register banks Bank1_0, Bank1_1, Bank1_2, Bank1_3, Bank1_4, Bank1_5, Bank1_6, and Bank1_7. Inverse discrete cosine transform is performed on the input bits by an inverse discrete cosine transform element having a structure as shown in FIG. 3C.
하지만, 이와같은 종래의 역이산코사인 변환 장치는 상술한 바와 같이 하나의 블록에 대하여 수직 및 수평 역이산코사인변환을 모두 수행하는데는 8 클록이 소요되기 때문에, SD급의 영상을 처리하기 위해서는 적절하지만, SD급 영상의 4 배 이상의 처리속도를 필요로 하는 HD급 영상에 대한 역이산코사인변환에는 부족하다는 문제점이 있다.However, such a conventional inverse discrete cosine conversion device requires 8 clocks to perform both vertical and horizontal inverse discrete cosine transformation for one block as described above. However, there is a problem in that the inverse discrete cosine transform is not sufficient for an HD image that requires more than four times the processing speed of the SD image.
본 발명이 이루고자 하는 기술적 과제는 HD급의 영상에 대한 역이산코사인변환을 수행할 수 있는 고속 역이산코사인변환 장치를 제공하는 것이다.An object of the present invention is to provide a fast inverse discrete cosine transform apparatus capable of performing inverse discrete cosine transform on an HD image.
본 발명이 이루고자 하는 다른 기술적 과제는 상기와 같은 역이산코사인변환 장치내에서 수행되는 전치메모리 스케닝 방법을 제공하는 것이다.Another object of the present invention is to provide a pre-memory scanning method performed in the inverse discrete cosine transform apparatus as described above.
상기 과제를 이루기 위하여 본 발명의 일태양에 따른 고속 역이산코사인변환 장치는 역양자화기로부터 출력되는 샘플을 입력하여 역이산코사인변환을 수행하는 하나의 1차원 역이산코사인변환부; 상기 제1 1차원 역이산코사인변환부로부터 출력된 결과 데이터를 저장하는 전치메모리; 및 상기 전치메모리로부터 결과 데이터를 읽어 1차원 역이산 코사인변환을 수행하는 다른 하나의 1차원 역이산코사인변환부;를 포함하고, 수직방향과 수평 방향의 역이산코사인 변환을 순차적으로 수행하기 위한 샘플의 읽기와 결과 샘플의 쓰기를 소정의 시간 차이를 두어 동시에 수행하고, 읽기와 쓰기 과정을 두 개의 메모리 뱅크에 대하여 교대적으로 수행하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a fast inverse discrete cosine transform apparatus comprising: a one-dimensional inverse discrete cosine transform unit configured to perform inverse discrete cosine transform by inputting a sample output from an inverse quantizer; A pre-memory storing the result data output from the first one-dimensional inverse discrete cosine transform unit; And another one-dimensional inverse discrete cosine transform unit that reads the result data from the prememory memory and performs one-dimensional inverse discrete cosine transform. The sample includes: a sample for sequentially performing inverse discrete cosine transform in the vertical direction and the horizontal direction. The read and write of the resultant sample are simultaneously performed at predetermined time intervals, and the read and write processes are alternately performed for the two memory banks.
상기 과제를 이루기 위하여 본 발명의 타태양에 따른 고속 역이산코사인변환 장치는 역양자화기로부터 출력되는 제1 소정 수의 비트의 샘플을 입력하여 한 클록에 제2 소정 수의 비트씩 역이산코사인변환을 수행하는 제1 역이산코사인변환부; 상기 제1 역이산코사인변환부로부터 출력된 결과를 저장하는 제1 소정 크기의 블록의 전치메모리; 및 한 클록에 제3 소정 수의 비트씩 역이산코사인변환을 수행하는 제2 역이산코사인변환부;를 포함하고, 수직방향과 수평 방향의 역이산코사인 변환을 순차적으로 수행하기 위한 샘플의 읽기와 결과 샘플의 쓰기를 소정의 시간 차이를 두어 동시에 수행하고, 읽기와 쓰기 과정을 두 개의 메모리 뱅크에 대하여 교대적으로 수행하는 것을 특징으로 한다.According to another aspect of the present invention, a high speed inverse discrete cosine conversion apparatus according to another aspect of the present invention inputs a first predetermined number of bits output from an inverse quantizer to perform inverse discrete cosine transformation on a clock by a second predetermined number of bits. A first inverse discrete cosine transform unit for performing; A pre-memory of a block having a first predetermined size for storing a result output from the first inverse discrete cosine transform unit; And a second inverse discrete cosine transform unit configured to perform inverse discrete cosine transform by a third predetermined number of bits in one clock, wherein the second inverse discrete cosine transform includes: reading a sample for sequentially performing inverse discrete cosine transform in the vertical direction and the horizontal direction; The writing of the resultant samples is performed simultaneously with a predetermined time difference, and the reading and writing processes are alternately performed for the two memory banks.
여기서, 상기 제1 소정 수는 12이고, 제2 소정수는 3이며, 상기 제1 역이산코사인변환부는, 4, 5, 6,및 7 비트의 뱅크를 각각 6 개 구비함으로써 이루어지는 쉬프트 레지스터 뱅크; 및 4 클록에 8 개의 샘플이 1차원 역이산코사인변환되는 3 비트 블록 1차원 역이산코사인변환부;를 포함하는 것이 바람직하다.Wherein the first predetermined number is 12, the second predetermined number is 3, and the first inverse discrete cosine transform unit comprises: a shift register bank formed of six banks of four, five, six, and seven bits; And a three-bit block one-dimensional inverse discrete cosine transform unit in which eight samples are four-dimensionally one-dimensional inverse discrete cosine transformed at four clocks.
또한, 제1 소정 크기는 8인 것이 바람직하다.Also, it is preferable that the first predetermined size is eight.
또한, 상기 제3 소정 수는 4이고, 상기 제2 역이산코사인변환부는, 4, 5 ,6, 및 7 비트의 뱅크를 각각 8 개 구비함으로써 이루어지는 쉬프트 레지스터 뱅크; 및 4 클록에 8 개의 샘플이 1차원 역이산코사인변환되는 4 비트 블록 1차원 역이산코사인변환부;를 포함하는 것이 바람직하다.The third predetermined number is 4, and the second inverse discrete cosine transform unit comprises: a shift register bank formed by providing eight banks of four, five, six, and seven bits; And a 4-bit block one-dimensional inverse discrete cosine transform unit in which eight samples are four-dimensionally one-dimensional inverse discrete cosine transformed at four clocks.
또한, 상기 제1 역이산코사인변환 수행부 및 상기 제2 역이산코사인변환 수행부는, 8 개의 1차원 입력에 대하여 4 클록에 수행될 수 있도록 각각 4 비트 및 3 비트 그룹형으로 이루어진 것이 바람직하다.In addition, the first inverse discrete cosine transform performing unit and the second inverse discrete cosine transform performing unit may be configured in a group of 4 bits and 3 bits, respectively, so as to be performed at four clocks for eight one-dimensional inputs.
상기 다른 과제를 이루기 위하여 본 발명에 따른 전치메모리 스케닝 방법은 두 개의 메모리 뱅크를 구비하고 동영상 압축 디코더에서 역이산코사인 변환을 수행하는 역이산코사인변환 장치내에서 수행하는 전치메모리 스케닝 방법에 있어서, (wa) 수평 방향 또는 수직방향으로 읽기를 수행하도록 설정하는 단계; (wb) 두 메모리 뱅크로부터 교대적으로 읽기를 수행하는 단계; (wc) 읽기를 수행한 전치메모리의 블록이 마지막 행에 해당하는지를 체크하는 단계; (wd) 상기 (wc) 단계에서 마지막 행이면 그 행에서 마지막 열에 해당하는지를 체크하는 단계; (we) 상기 (wd) 단계에서 마지막 행이지만, 마지막 열이 아닌 경우에는 교대 순서를 변경하여 상기 단계들을 수행하는 단계; 및 (Wf) 쓰기 방향을 변경하여 상기 (wa)내지 (wf) 단계를 수행하는 단계;를 포함하는 쓰기 과정과, (ra) 수평 방향으로 읽기를 수행하도록 초기화하는 단계; (rb) 두 뱅크로부터 교대적으로 읽기를 수행하는 단계; (rc) 읽기를 수행한 전치메모리의 블록이 마지막 행에 해당하는지를 체크하는 단 계; (rd) 상기 (rc) 단계에서 마지막 행이면 그 행에서 마지막 열에 해당하는지를 체크하는 단계; (re) 상기 (rd) 단계에서 마지막 행이지만, 마지막 열이 아닌 경우에는 교대 순서를 변경하여 상기 단계들을 수행하는 단계; 및 (rf) 읽기 방향을 변경하여 상기 (ra)내지 (rf) 단계를 수행하는 단계;를 포함하는 읽기과정으로 이루어진 것을 특징으로 한다.In order to achieve the above object, the pre-memory scanning method according to the present invention comprises two memory banks and a pre-memory scanning method performed in an inverse discrete cosine transform apparatus for performing inverse discrete cosine transform in a video compression decoder. wa) setting to perform reading in the horizontal or vertical direction; (wb) alternately reading from the two memory banks; (wc) checking whether a block of the pre-memory in which the read is performed corresponds to the last row; (wd) if the last row in step (wc), checks whether the row corresponds to the last column; (we) if the last row in step (wd), but is not the last column, altering the order of performing the steps; And (Wf) changing the writing direction to perform the steps (wa) to (wf); and initializing to perform reading in the horizontal direction. (rb) alternately reading from two banks; (rc) checking whether the block of the pre-memory that performed the read corresponds to the last row; (rd) if the last row in step (rc), checking whether the row corresponds to the last column; (re) if the last row in step (rd) but is not the last column, changing the order of alternation to perform the steps; And (rf) changing the read direction to perform the steps (ra) to (rf).
또한, 상기 방법은 51번째 샘플에 대한 쓰기가 종료되었는지를 체크하여 읽기 과정으로 분기시키는 단계; 및 51번째 샘플에 대한 읽기가 종료되었는지를 체크하는 단계를 더 포함하는 것이 바람직하다.The method may further include: checking whether writing to the 51st sample has ended and branching to a reading process; And checking whether the reading of the 51st sample has ended.
이하 첨부된 도면들을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 4에는 본 발명의 실시예에 따른 고속 역이산코사인변환 장치의 구조를 블록도로써 도시하였다. 도 4를 참조하면, 본 발명에 의한 고속 역이산코사인변환 장치는 12 비트 1차원 역이산코사인변환부(42), 전치메모리(44), 및 16 비트 1차원 IDCT부(46)를 구비한다. 여기서, 12 비트 역이산코사인변환을 수행하기 위한 시프트레지스터 뱅크의 구조는 도 5a에 도시한 바와 같으며, 16 비트 역이산코사인변환을 수행하기 위한 시프트레지스터 뱅크의 구조는 도 5b에 도시한 바와 같다.4 is a block diagram illustrating a structure of a fast inverse discrete cosine transform apparatus according to an exemplary embodiment of the present invention. 4, a fast inverse discrete cosine transform apparatus according to the present invention includes a 12-bit one-dimensional inverse discrete
도 5a를 참조하면 12 비트 1차원 역이산코사인변환부(42)를 위한 쉬프트 레지스터 뱅크는 7 비트 크기의 뱅크(BANK0_2, BANK0_1, BANK0_0, BANK1_2, BANK1_1, BANK1_0), 6 비트 크기의 뱅크(BANK2_2, BANK2_1, BANK2_0, BANK3_2, BANK3_1, BANK3_0), 5 비트 크기의 뱅크(BANK4_2, BANK4_1, BANK4_0, BANK5_2, BANK5_1, BANK5_0), 및 4 비트 크기의 뱅크(BANK6_2, BANK6_1, BANK6_0, BANK7_2, BANK7_1, BANK7_0)를 구비한다.Referring to FIG. 5A, the shift register bank for the 12-bit one-dimensional inverse discrete
도 5b를 참조하면 16 비트 1차원 역이산코사인변환부(46)를 위한 쉬프트 레지스터 뱅크는 7 비트 크기의 뱅크(BANK0_3, BANK0_2, BANK0_1, BANK0_0, BANK1_3, BANK1_2, BANK1_1, BANK1_0), 6 비트 크기의 뱅크(BANK3_3, BANK2_2, BANK2_1, BANK2_0, BANK3_3, BANK3_2, BANK3_1, BANK3_0), 5 비트 크기의 뱅크(BANK4_3, BANK4_2, BANK4_1, BANK4_0, BANK5_3, BANK5_2, BANK5_1, BANK5_0), 및 4 비트 크기의 뱅크(BANK6_3, BANK6_2, BANK6_1, BANK6_0, BANK7_3, BANK7_2, BANK7_1, BANK7_0)를 구비한다.Referring to FIG. 5B, the shift register bank for the 16-bit one-dimensional inverse discrete
12 비트 1 차원 역이산코사인변환부(42)는 도 5a에 도시한 시프트레지스터 뱅크와 도 6a에 도시한 복수개의 역이산코사인변환 엘리먼트부를 구비한다. 12 비트 1 차원 역이산코사인변환부(42)는 4 클록에 8 개의 샘플을 1차원 역이산코사인변환하기 위하여 3 비트 블록 1차원 역이산코사인변환부를 구비하며, 이러한 3 비트 블록 1차원 역이산코사인변환부는 일예로 도 6a에 도시한 역이산코사인변환 엘리먼트부로 이루어질 수 있다.The 12-bit one-dimensional inverse discrete
16 비트 1 차원 역이산코사인변환부(46)는 도 5b에 도시한 시프트레지스터 뱅크와 도 6b에 도시한 복수개의 역이산코사인변환 엘리먼트부를 구비한다. 16 비트 1 차원 역이산코사인변환부(46)는 4 클록에 8 개의 샘플을 1차원 역이산코사인변환하기 위하여 4 비트 블록 1차원 역이산코사인변환부를 구비하며, 이러한 4 비트 블록 1차원 역이산코사인변환부는 일예로 도 6b에 도시한 역이산코사인변환 엘 리먼트부로 이루어질 수 있다.The 16-bit one-dimensional inverse discrete
이하 상기와 같은 장치의 동작을 설명한다. 도 7에는 12 비트 1 차원 이산코사인변환된 샘플들이 전치 메모리에 입력되는 순서를 나타내었다. 도 7을 참조하면, 각 샘플들은 16 비트로 이루어지며 64 개의 샘플들 중에서 두 샘플씩 순차적으로 전치 메모리에 입력된다.The operation of the apparatus as described above will be described below. FIG. 7 shows an order in which 12-bit one-dimensional discrete cosine transformed samples are input to the pre-memory. Referring to FIG. 7, each sample is composed of 16 bits and is sequentially input to the pre-memory by two samples out of 64 samples.
도 5a에 도시한 시프트 레지스터 뱅크에 두 개의 샘플이 입력되면 이 샘플들은 7 비트 크기의 뱅크(BANK0_2, BANK0_1, BANK0_0, BANK1_2, BANK1_1, BANK1_0)에 나누어 저장된다. 다음 두 개의 샘플은 6 비트 크기의 뱅크(BANK2_2, BANK2_1, BANK2_0, BANK3_2, BANK3_1, BANK3_0)에 저장하며, 5 비트 크기의 뱅크(BANK0_2, BANK0_1, BANK0_0, BANK1_2, BANK1_1, BANK1_0)에 저장된 샘플들은 한 비트씩 오른샘플이 두 개씩 입력되어 1차원 역이산코사인변환된다. 동일한 방법으로 나머지 뱅크들이 동작한다. 이로써, 12 비트 샘플이 두 개씩 입력되어 1 차원 역이산코사인변환된다.When two samples are input to the shift register bank shown in Fig. 5A, the samples are divided and stored in banks 7-bit size BANK0_2, BANK0_1, BANK0_0, BANK1_2, BANK1_1, and BANK1_0. The next two samples are stored in 6-bit banks (BANK2_2, BANK2_1, BANK2_0, BANK3_2, BANK3_1, BANK3_0). Two right-by-bit samples are input and one-dimensional inverse discrete cosine transform. The remaining banks operate in the same way. As a result, two 12-bit samples are input and one-dimensional inverse discrete cosine transform is performed.
도 5b에 도시한 시프트 레지스터 뱅크에는 7 비트 크기의 뱅크(BANK0_3, BANK0_2, BANK0_1, BANK0_0, BANK1_3, BANK1_2, BANK1_1, BANK1_0)에 나누어 저장된다. 다음 두 개의 샘플은 6 비트 크기의 뱅크(BANK2_3, BANK2_2, BANK2_1, BANK2_0, BANK3_3, BANK3_2, BANK3_1, BANK3_0)에 저장하며, 7 비트 크기의 뱅크(BANK0_3, BANK0_2, BANK0_1, BANK0_0, BANK1_3, BANK1_2, BANK1_1, BANK1_0)에 저장된 샘플들은 한 비트씩 오른쪽으로 시프트된다. 동일한 방법으로 나머지 뱅크들이 동작한다. 이로써, 16 비트 샘플이 두 개씩 입력되어 1 차원 역이산코사인 변환된다.The shift register bank shown in Fig. 5B is divided into seven-bit banks BANK0_3, BANK0_2, BANK0_1, BANK0_0, BANK1_3, BANK1_2, BANK1_1, and BANK1_0. The next two samples are stored in 6-bit banks (BANK2_3, BANK2_2, BANK2_1, BANK2_0, BANK3_3, BANK3_2, BANK3_1, BANK3_0), and the 7-bit banks (BANK0_3, BANK0_2, BANK0_1, BANK0_0, BANK1_3, BANK1_2, BANK1_1). , Samples stored in BANK1_0) are shifted right by one bit. The remaining banks operate in the same way. In this way, two 16-bit samples are input and one-dimensional inverse discrete cosine transform is performed.
도 6a 및 도 6b는 각각 12 비트 1 차원 역이산코사인변환 수행부 및 16 비트 1 차원 역이산코사인변환 수행부의 구조를 블록도로써 도시하였다. 도 6a 및 도 6b를 참조하면, 12 비트 1 차원 역이산코사인변환 수행부 및 16 비트 1 차원 역이산코사인변환 수행부는 8 개의 1차원 입력에 대하여 4 클록에 수행될 수 있도록 4 비트, 3 비트 그룹형으로 구현한다. 여기서 ADD는 덧셈기를 나타내고, ROME_0, ROME_1, ROME_2, 및 ROME_3과, ROMO_0, ROMO_1, ROMO_2, 및 ROMO_3은 각각 우수 번 째 와 기수 번 째의 ROM을 나타낸다.6A and 6B show, in block diagrams, structures of a 12-bit one-dimensional inverse discrete cosine transform performing unit and a 16-bit one-dimensional inverse discrete cosine transform performing unit, respectively. 6A and 6B, a 12-bit one-dimensional inverse discrete cosine transform performing unit and a 16-bit one-dimensional inverse discrete cosine transform performing unit perform four-bit and three-bit groups to be performed at four clocks on eight one-dimensional inputs. Implement as type Here, ADD represents an adder, and ROME_0, ROME_1, ROME_2, and ROME_3, and ROMO_0, ROMO_1, ROMO_2, and ROMO_3, respectively, represent an even-numbered and odd-numbered ROM.
도 7에는 12 비트 1 차원 이산코사인변환된 샘플들이 전치 메모리에 입력되는 순서를 나타낸 도면이다. 도 7를 참조하면, 12 비트 1 차원 이산코사인변환된 샘플들은 (0,1), (2,3), (4,5), (6,7)의 순서로 전치메모리에 입력된다.FIG. 7 is a diagram illustrating a sequence of inputting 12-bit one-dimensional discrete cosine transformed samples into the pre-memory. Referring to FIG. 7, 12-bit one-dimensional discrete cosine transformed samples are input to the pre-memory in the order of (0, 1), (2, 3), (4, 5), and (6, 7).
한편, 도 8에는 전치 메모리의 쓰기 및 읽기 주소를 나타내었다. 본 실시예에서는, 듀얼 포트 에스디램(dual port SDRAM)을 사용하여 도 8에 도시한 바와 같은 메모리의 한 조가 64 샘플 블록이 저장 또는 독취되는 하나의 전치메모리를 구성한다. 이하에서, 전치 메모리의 쓰기 및 읽기 주소는 도 8에 도시된 바와 같이 할당되는 것을 기준으로 동작을 설명한다.8 shows the write and read addresses of the transpose memory. In this embodiment, using a dual port SDRAM, one set of memories as shown in Fig. 8 constitutes one pre-memory in which 64 sample blocks are stored or read out. Hereinafter, operations of the write and read addresses of the pre-memory will be described based on allocation as shown in FIG. 8.
도 9a 및 도 9b는 본 발명에 의한 고속 역이산코사인변환 장치에서 수행되는 본 발명의 실시예에 따른 전치 메모리 스케닝 방법의 주요 단계들을 흐름도로써 나타내었다. 도 9a는 쓰기 과정을 나타내며, 도 9b는 읽기 과정을 나타낸다. 이러한 전치 메모리 스케닝 방법은 이하에서 수시로 참조된다.9A and 9B are flowcharts illustrating main steps of a pre-memory memory scanning method according to an embodiment of the present invention performed in a fast inverse discrete cosine transform apparatus according to the present invention. 9A illustrates the writing process, and FIG. 9B illustrates the reading process. This pre-memory scanning method is often referred to below.
먼저, 도 9a를 참조하면, 본 발명의 실시예에 따른 전치 메모리 스케닝 방법에서 쓰기 과정은 예를들어, 초기 모드로서 수직 방향으로 쓰기를 수행하도록 제어된다. 쓰기를 수행함에 있어, 예를들어, 두 뱅크에 교대적으로 쓰기를 수행한다(단계 902). 다음에는 쓰기를 수행한 전치메모리의 블록이 마지막 행에 해당하는지를 체크(단계 904)하여 마지막 행이면 그 행에서 마지막 열에 해당하는지를 체크한다(단계 906). 이때, 마지막 행이지만, 마지막 열이 아닌 경우에는 교대 순서를 변경(단계 908)하여 단계(902, 904)를 수행한다. 이와 같이 교대순서를 변경하는 것은 쓰기가 수행되는 동안 동시에 상기 뱅크별로 교대로 읽기를 수행하여야 하기 때문이다. 이제, 마지막 행이고, 마지막 열인 경우에는 쓰기 모드를 수평 방향으로 변경(단계 910)하여 상기 단계들을 반복하여 수행한다. 만일, 도 7에 나타낸 하나의 8×8 블록에 대한 쓰기가 완료되면 도 9a의 전치 메모리 스케닝 방법에서 쓰기 과정이 종료된다.First, referring to FIG. 9A, in the pre-memory scanning method according to the embodiment of the present invention, the writing process is controlled to perform writing in the vertical direction, for example, as an initial mode. In performing a write, for example, writing alternately to two banks (step 902). Next, it is checked whether the block of the pre-memory that has been written corresponds to the last row (step 904), and if it is the last row, it is checked whether it corresponds to the last column in the row (step 906). At this time, if it is the last row, but not the last column, the alternating order is changed (step 908) to perform
본 발명에 의한 전치 메모리 스케닝 방법에 따르면 이러한 쓰기 과정과 동시에 읽기 과정이 수행된다. 도 9b에는 본 발명의 실시예에 의한 전치 메모리 스케닝 방법에서 읽기 과정의 주요단계들을 흐름도로써 나타내었다. 도 9b를 참조하면, 본 발명에 의한 전치 메모리 스케닝 방법에서 읽기 과정은 예를들어, 초기 모드로서 수평 방향으로 읽기를 수행하도록 설정된다(단계 922). 읽기를 수행함에 있어, 예를들어, 두 뱅크로부터 교대적으로 읽기를 수행한다(단계 924). 다음에는 읽기를 수행한 전치메모리의 블록이 마지막 행에 해당하는지를 체크(단계 926)하여 마지막 행이면 그 행에서 마지막 열에 해당하는지를 체크한다(단계 928). 이때, 마지막 행 이지만, 마지막 열이 아닌 경우에는 교대 순서를 변경(단계 930)하여 단계(924, 926)를 수행한다. 이와 같이 교대순서를 변경하는 것은 읽기가 수행되는 동안 동시에 뱅크별로 교대로 쓰기를 수행하여야 하기 때문이다. 이제, 마지막 행이고, 마지막 열인 경우에는 읽기 모드를 수평 방향으로 변경(단계 932)하여 상기 단계들을 반복하여 수행한다. 만일, 도 7에 나타낸 하나의 8×8 블록에 대한 읽기가 완료되면 도 9a의 전치 메모리 스케닝 방법에서 읽기 과정이 종료된다.According to the pre-memory scanning method according to the present invention, a read process is performed simultaneously with the write process. 9B is a flowchart illustrating main steps of a reading process in the transpose memory scanning method according to an embodiment of the present invention. 9B, in the pre-memory scanning method according to the present invention, the reading process is set to perform reading in the horizontal direction, for example, as an initial mode (step 922). In performing a read, for example, alternate readings are performed from two banks (step 924). Next, it is checked whether the block of the pre-memory where the read is performed corresponds to the last row (step 926), and if it is the last row, it is checked whether it corresponds to the last column in the row (step 928). At this time, if the last row, but not the last column, the alternating order is changed (step 930) to perform
본 발명에 따른 전치 메모리 스케닝 방법은 하나의 전치 메모리 뱅크를 사용하여 쓰기와 읽기를 수행한다. 따라서, 쓰기가 이루어진 상태에서 읽기를 수행하여야 한다. 이러한 이유로, 수직 또는 수평방향으로 51번째 샘플에 대한 쓰기를 수행하였는가는 체크하여 읽기과정을 시작하는 것이 바람직하다.The pre-memory scanning method according to the present invention performs writing and reading using one pre-memory bank. Therefore, read must be performed while writing is performed. For this reason, it is preferable to start the reading process by checking whether writing to the 51st sample has been performed in the vertical or horizontal direction.
도 10a와 도 10b에는 전치 메모리상에서 수직 방향으로 쓰기 및 읽기를 수행하는 순서와 수평 방향으로 쓰기 및 읽기를 수행하는 순서를 각각 나타내었다. 즉, 이러한 전치메모리 스케닝 읽기와 쓰기에 동일하게 적용된다. 10A and 10B illustrate the order of writing and reading in the vertical direction and the order of writing and reading in the horizontal direction on the transpose memory, respectively. That is, the same applies to the prememory scanning and writing.
도 10a를 참조하여, 전치 메모리상에서 수직 방향으로 쓰기를 수행하는 순서를 설명하면, 먼저, 도 7의 (00,01) 샘플을 각각 뱅크0(Bank 0)의 어드레스 (0)과 뱅크1(Bank 1)의 어드레스 (4)에 기록한다. 다음에는 도 7의 (02,03) 샘플을 각각 뱅크0(Bank 0)의 어드레스 (8)과 뱅크1(Bank 1)의 어드레스 (12)에 기록한다. 동일한 방법으로 도 7의 (4,5) 샘플에 대한 기록을 수행하고, 그 열에서 마지막 행에 해당하는 (6,7) 샘플을 기록한 다음에는, 교대 순서를 바꾸어 (8,9) 샘플을 뱅크1(Bank 1)의 어드레스 (0)과 뱅크0(Bank 0)의 어드레스 (4)에 기록한다. 동일 한 방법으로 (10,11),...(62,63) 샘플에 대한 수직 방향의 기록을 수행한 다음에는 수평방향의 기록을 수행한다.Referring to FIG. 10A, a procedure of performing writing in the vertical direction on the transpose memory will be described. First, the (00,01) sample of FIG. 7 is respectively addressed to the
도 10b를 참조하여, 전치 메모리상에서 수평 방향으로 쓰기를 수행하는 순서를 설명하면, 먼저, (00,01) 샘플을 각각 뱅크0(Bank 0)의 어드레스 (0)과 뱅크1(Bank 1)의 어드레스 (0)에 기록한다. 다음에는 (02,03) 샘플을 각각 뱅크0(Bank 0)의 어드레스 (1)과 뱅크1(Bank 1)의 어드레스 (1)에 기록한다. 동일한 방법으로 (4,5) 샘플에 대한 기록을 수행하고, 그 행에서 마지막 열에 해당하는 (6,7) 샘플을 기록한 다음에는, 교대 순서를 바꾸어 (8,9) 샘플을 뱅크1(Bank 1)의 어드레스 (4)과 뱅크0(Bank 0)의 어드레스 (4)에 기록한다. 동일한 방법으로 (10,11),...(62,63) 샘플에 대한 수평 방향의 기록을 수행한 다음에는 다시 수직방향의 기록을 수행한다. 51번째 샘플에 대한 쓰기가 종료되면, 읽기 과정을 시작한다. 읽기과정의 순서는 상술한 순서와 동일하므로 설명을 생략한다.Referring to FIG. 10B, a procedure of performing writing in the horizontal direction on the transpose memory will be described. First, (00,01) samples are respectively written at the address (0) and the bank 1 (Bank 1) of the
상기와 같은 전치 메모리 스케닝 방법에 따라 전치 메모리상에 읽기와 쓰기가 수행되는 과정을 설명하기 위하여 도 11에는 전치메모리상에서의 쓰기 및 읽기 주소와 처리 계수의 위치를 나타내었다.In order to explain a process of reading and writing on the pre-memory according to the pre-memory scanning method as described above, FIG. 11 shows the positions of the write and read addresses and the processing coefficients on the pre-memory.
수직방향으로 쓰기를 수행하는 시작 과정을 (W_V1)으로 참조하였다. 이 과정에서는 도 7에서 (0,1) 샘플에 대하여 동시에 쓰기를 수행한다. 이때, 0과 1은 뱅크0(BANK 0)의 주소 0번과 뱅크 1(BANK 1)의 주소 4번에 각각 기록된다. 다음 클록에서는 (W_V2)을 수행하는 것으로 참조하였다. 이 과정에서는 (2,3) 샘플에 대하여 동시에 쓰기를 수행한다. 이때, 2와 3은 뱅크0(BANK 0)의 주소 8번과 뱅크 1(BANK 1)의 주소 12번에 각각 기록된다. 마지막 열에 해당하는 (6,7) 샘플에 대한 기록을 수행한 다음에는 읽기 교대 순서를 변경하여 (8,9) 샘플을 뱅크1(BANK 0)의 주소 0번과 뱅크 1(BANK 1)의 주소 4번에 각각 기록한다.The starting process of writing in the vertical direction is referred to as (W_V1). In this process, the (0,1) samples are simultaneously written in FIG. At this time, 0 and 1 are recorded at
이제, (50,51) 샘플에 대한 쓰기가 완료된 다음에는 수평방향의 읽기를 수행한다. 수평 방향으로 읽기를 수행하는 시작 과정을 (R_H1)으로 참조하였다. 이 과정에서는 (0,8) 샘플을 뱅크0(BANK 0)의 주소 0번과 뱅크 1(BANK 1)의 주소 0번으로부터 각각 읽어낸다. 다음 클록에서는 (R_H2)을 수행하는 것으로 참조하였다. 이 과정에서는 (16,24) 샘플에 대하여 동시에 읽기를 수행한다. 이때, 16과 24는 뱅크0(BANK 0)의 주소 1번과 뱅크 1(BANK 1)의 주소 1번으로부터 읽어낸다. 마지막 행에 해당하는 (48,56) 샘플에 대한 읽기를 수행한 다음에는 읽기 교대 순서를 변경하여 (1,9) 샘플을 뱅크1(BANK 0)의 주소 4번과 뱅크 1(BANK 1)의 주소 4번으로부터 읽어낸다.Now, after writing to the (50, 51) samples is completed, the horizontal read is performed. The starting process of reading in the horizontal direction is referred to as (R_H1). In this process, (0,8) samples are read from
수직방향으로의 쓰기가 완료되면 수평방향으로의 쓰기를 수행한다. 수직 방향으로 쓰기를 수행하는 시작 과정을 (W_H1)으로 참조하였다. 이 과정에서는 (0,8) 샘플을 뱅크0(BANK 0)의 주소 0번과 뱅크 1(BANK 1)의 주소 0번에 각각 기록한다. 다음 클록에서는 (W_H2)을 수행하는 것으로 참조하였다. 이 과정에서는 (16,24) 샘플을 뱅크0(BANK 0)의 주소 1번과 뱅크 1(BANK 1)의 주소 1번에 각각 기록한다. 이로써, 8×8 메모리만으로 수직 스케닝 및 수평 스케닝을 교대로 수행함으로써 파이프 라인형 전환을 반복한다.When writing in the vertical direction is completed, write in the horizontal direction is performed. The starting process of writing in the vertical direction is referred to as (W_H1). In this process, (0,8) samples are written to address 0 of bank 0 (BANK 0) and
이로써, 본 발명에 따른 고속 역이산코사인 변환 장치는 하나의 블록에 대하 여 수직 및 수평 역이산코사인변환을 모두 수행하는데는 4 클록이 소요되기 때문에, SD급 영상의 4 배 이상의 처리속도를 필요로 하는 HD급 영상에 대한 역이산코사인변환에 적합하다.As a result, the fast inverse discrete cosine transform apparatus according to the present invention requires four clocks to perform both vertical and horizontal inverse discrete cosine transform in one block, and thus requires more than four times the processing speed of the SD image. It is suitable for inverse discrete cosine transform for HD-quality image.
상술한 바와 같이 본 발명에 따른 고속 역이산코사인변환 장치 및 그 방법은 하나의 블록을 4 클록으로 처리할 수 있기 때문에 고속 처리를 요하는 HD급의 영상에 대한 역이산 코사인변환을 수행하는 것이 가능하며, 전치 메모리의 양이 적게 소요된다.As described above, the fast inverse discrete cosine transform apparatus and method thereof according to the present invention can process one block with four clocks, and thus it is possible to perform inverse discrete cosine transform on an HD-class image requiring high speed processing. The amount of transpose memory is small.
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990020967A KR100644556B1 (en) | 1999-06-07 | 1999-06-07 | High speed inverse discrete cosine transform device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990020967A KR100644556B1 (en) | 1999-06-07 | 1999-06-07 | High speed inverse discrete cosine transform device |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010001616A KR20010001616A (en) | 2001-01-05 |
KR100644556B1 true KR100644556B1 (en) | 2006-11-13 |
Family
ID=19590506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019990020967A KR100644556B1 (en) | 1999-06-07 | 1999-06-07 | High speed inverse discrete cosine transform device |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100644556B1 (en) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5424733A (en) * | 1993-02-17 | 1995-06-13 | Zenith Electronics Corp. | Parallel path variable length decoding for video signals |
JPH0883347A (en) * | 1994-09-13 | 1996-03-26 | Toshiba Corp | Picture processor |
KR970003805A (en) * | 1995-06-26 | 1997-01-29 | 김주용 | Semiconductor device manufacturing method |
KR970003805B1 (en) * | 1994-02-24 | 1997-03-21 | 대우전자 주식회사 | Improved apparatus for transforming ore dimension discrete and inverse discrete cosine |
KR0145448B1 (en) * | 1994-12-14 | 1998-07-15 | 배순훈 | Apparatus for controlling an inverse discrete cosine transform in an image encoder |
KR19990032111A (en) * | 1997-10-16 | 1999-05-06 | 전주범 | DC coefficient delay memory device of HDI digital video cassette |
KR19990060489A (en) * | 1997-12-31 | 1999-07-26 | 구자홍 | HDIVE Video Decoder |
KR19990068991A (en) * | 1998-02-03 | 1999-09-06 | 구자홍 | Video decoding system |
-
1999
- 1999-06-07 KR KR1019990020967A patent/KR100644556B1/en not_active IP Right Cessation
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5424733A (en) * | 1993-02-17 | 1995-06-13 | Zenith Electronics Corp. | Parallel path variable length decoding for video signals |
KR970003805B1 (en) * | 1994-02-24 | 1997-03-21 | 대우전자 주식회사 | Improved apparatus for transforming ore dimension discrete and inverse discrete cosine |
JPH0883347A (en) * | 1994-09-13 | 1996-03-26 | Toshiba Corp | Picture processor |
KR0145448B1 (en) * | 1994-12-14 | 1998-07-15 | 배순훈 | Apparatus for controlling an inverse discrete cosine transform in an image encoder |
KR970003805A (en) * | 1995-06-26 | 1997-01-29 | 김주용 | Semiconductor device manufacturing method |
KR19990032111A (en) * | 1997-10-16 | 1999-05-06 | 전주범 | DC coefficient delay memory device of HDI digital video cassette |
KR19990060489A (en) * | 1997-12-31 | 1999-07-26 | 구자홍 | HDIVE Video Decoder |
KR19990068991A (en) * | 1998-02-03 | 1999-09-06 | 구자홍 | Video decoding system |
Also Published As
Publication number | Publication date |
---|---|
KR20010001616A (en) | 2001-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5920352A (en) | Image memory storage system and method for a block oriented image processing system | |
US5910824A (en) | Frame memory for a motion picture decoder | |
EP1016970A2 (en) | A memory architecture for parallel data access along any given dimension of an n-dimensional rectangular data array | |
US8436865B2 (en) | Memory controller and memory system using the same | |
US6115323A (en) | Semiconductor memory device for storing data with efficient page access of data lying in a diagonal line of a two-dimensional data construction | |
US20060165299A1 (en) | Semiconductor memory apparatus | |
KR19980081641A (en) | Moving picture decoding method and moving picture decoding device | |
KR100644556B1 (en) | High speed inverse discrete cosine transform device | |
JP3120010B2 (en) | Image decoding method and image decoding device | |
US20040061704A1 (en) | Memory access method for video decoding | |
CN101001369A (en) | Method and apparatus for decoding video that alternately store lines of picture in pixel units and method of storing reference picture | |
KR20050043607A (en) | Signal processing method and signal processing device | |
WO2000044179A1 (en) | Method of memory utilization in a predictive video decoder | |
JPH0865686A (en) | Image decoding device | |
US20040155883A1 (en) | Memory access method for video decoding | |
JPH07298264A (en) | Image data processing method, storage device used for the method and processing unit of image data | |
JP6490896B2 (en) | Image processing device | |
KR100846791B1 (en) | Method and apparatus for saving video data | |
JP3532137B2 (en) | Data generation circuit | |
US6873334B2 (en) | Method of buffer management and task scheduling for two-dimensional data transforming | |
JP3624457B2 (en) | Image signal encoding apparatus and image signal decoding apparatus | |
JP2005218055A (en) | Apparatus, method and program for processing image | |
KR100237486B1 (en) | Apparatus for rearranging data output from a frame memory | |
US9025658B2 (en) | Transform scheme for video coding | |
KR100235488B1 (en) | Apparatus for rearranging data output from a frame memory according to scanning pattern of a frame memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20121030 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20131030 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20141030 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20151029 Year of fee payment: 10 |
|
LAPS | Lapse due to unpaid annual fee |