KR970003806B1 - 이산 및 역이산 코사인 변환 장치 - Google Patents

이산 및 역이산 코사인 변환 장치 Download PDF

Info

Publication number
KR970003806B1
KR970003806B1 KR1019940003303A KR19940003303A KR970003806B1 KR 970003806 B1 KR970003806 B1 KR 970003806B1 KR 1019940003303 A KR1019940003303 A KR 1019940003303A KR 19940003303 A KR19940003303 A KR 19940003303A KR 970003806 B1 KR970003806 B1 KR 970003806B1
Authority
KR
South Korea
Prior art keywords
data
circuit
predetermined
output
inputting
Prior art date
Application number
KR1019940003303A
Other languages
English (en)
Other versions
KR950026278A (ko
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 KR1019940003303A priority Critical patent/KR970003806B1/ko
Publication of KR950026278A publication Critical patent/KR950026278A/ko
Application granted granted Critical
Publication of KR970003806B1 publication Critical patent/KR970003806B1/ko

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/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
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/88Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different blocks

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

없음

Description

이산 및 역이산 코사인 변환 장치
제1도는 선행하는 종래의 이산 및 역이산 코사인 변환 장치를 도시한 개략적인 블럭도.
제2도는 본 발명의 이산 코사인 변환 장치를 도시한 상세 회로도.
제3도는 제2도에 도시된 데이타래치 회로를 나타내는 상세 회로도.
제4도는 본 발명의 역이산 코인 변환 장치를 도시한 상세 회로도.
*도면의 주요부분에 대한 부호의 설명*
210 : 데이타 래치회로220,460 : 제1데이타 합성회로
230,470 : 제2데이타 합성회로240,420 : 제1데이타 생성회로
260,440 : 제2데이타 생성회로280,480 : 데이타 선택회로
290,490 : 데이타 배열회로
본 발명은 디지탈 영상 부호화 및 복호화 시스템 이용되는 이산 및 역이산 코사인 변환 장치에 관한것으로, 특히 행렬 분해 기법을 이용함으로써 메모리 용량을 감소시켜 하드웨어를 보다 간단하게 구현하며, 연산 처리 과정을 줄임으로써 속도를 개선하는 이산 및 역이산 코사인 변환 장치에 관한 것이다.
고화질 텔레비젼(HDTV), 영상 전화(Video Phone) 및 영상회의(Video Conference)등과 같이 영상 신호를 디지탈 신호로 전송하고자 하는 경우, 이에 수반되는 방대한 데이타량을 저감시키기 위해 고율의 데이타 압축 방법을 이용하여 전송하고자 하는 디지탈 데이타를 압축, 즉 부호화하여 전송하게 된다. 이에 따라 여러가지 영상 압축 기법이 연구되었고, 현재에는 정지 영상에 대한 압축 기법인 JPEG(Joint Photographic Experts Group)국제 표준안과 동영상에 대한 압축기법인 MPEG(Motion Picture Experts Group) 국제 표준안이 제시되고 있다. 즉, 전자의 JPEG 방식은 입력되는 현재 영상 신호를 이산 코사인 변환(Discrete Cosine Transform : DCT)을 수행하여 프레임내(Intra Frame)의 영상데이타 및 프레임간에 발생되는 차영상 데이타를 주파수 영역의 변환계수로 변환하여 공간적인 중복성을 줄임으로써 데이타를 압축하는 기법인 반면에, 후자의 MPEG 방식은 프레임간(Inter Frame)시간적인 중복성을 줄임으로써 데이타를 압축하는 움직임 보상(Motion compensation) 차영상 변환 부호화 방식과 전술한 DCT방식을 결합하여 압축하는 기법이다.
본 발명은 전술한 영상 압축 기법중에서 프레임내 및 프레임간의 공간 영역간의 공간 영역상의 화소 데이타(Pixel Data)를 코사인 함수를 이용하여 주파수 영역의 변환계수로 변환하여 공간 영역상의 중복성을 제거하여 압축 부호화하거나 프레임간의 차이 영상을 주파수 영역의 변환계수로 변환하여 공간 영역상의 중복성을 제거하여 압축 부호화하는 DCT와, DCT의 역순으로 동작하는 IDCT의 하드웨어를 보다 간단하게 구현하며, 이에 따라 변화 처리 속도를 개선하는 디지탈 신호처리 기술에 관련된다.
제1도에는 선행하는 DCT 및 IDCT의 전형적인 블럭도가 개략적으로 도시되는데, 이러한 종래의 DCT 및 IDCT 장치는 제1 DCT부(110), 데이타 전치부(120), 제2 DCT부(130) 및 콘트롤러(140)를 포함한다. 제1 DCT부(110)는 외부로부터 입력되는 공간상의 화소테이타를 기설정된 제1 DCT 계수 매트릭스의 해당계수와 각각 승산하여 1차원 변환계수를 산출하는 것으로, 그의 출력은 데이타 전치부(120)에 결합된다. 데이타 전치(Data transposition)부(120)는 2차원 DCT를 수행하기 위해 필요한 처리 과정으로서, 제1 DCT부(110)에서 출력되는 변환 계수들을 입력하여 행(Row)과 열(Columm)을 서로 바꾸는 것으로, 그의 출력은 제2 DCT(130)에 결합된다. 제2 DCT부(130)는 데이타 전치부(120)에서 출력되는 전치된 변환 계수를 기설정된 제2DCT 계수 매트릭의 해당 계수와 각각 승산하여 역시 1차원 변화 계수를 산출한다. 이와 같이 제3 및 제2 DCT부(110)(130)을 통해 두변의 1차원 변화 계수를 산출함으로써 전체 2차원 DCT부를 수행할 수 있게 된다.
그리고, 콘트롤러(140)는 영상 부호화 시스템을 제어하기 위한 것으로, 전술한 제1 및 제2 DCT부(110)(130) 및 데이타 전치부(120)를 제어하기 위해 소정의 제어신호를 각각 제공한다.
한편, IDCT 장치는 전술한 DCT 장치의 역순하는 동작하는 것으로, 도시된 바와 같이 양방향 신호 라인을 통해 역시 2차원 IDCT를 수행할 수 있으므로, 여기서 구성 및 작동에 대한 상세한 설명은 생략하겠다.
전술한 바와 같이 구성되어 작동하는 종래의 2차원 DCT 및 IDCT 장치에서는 제1 DCT부(110)를 통해 1차원 DCT를 다음식(1)과 같이 수행하며 1차원 DCT계수(Y)를 구현할 수 있다.
Y=C·X(1)
여기서, X는 외부 또는 데이타 전치부(120)로 부터의 입력 데이타이고, C는 기설정된 제1 DCT 계수 매트릭을 나타낸다. 그리고 전술한 식(1)의 결과 데이타를 데이타 전치부(120)를 통해 전치하면 다음식(2)과 같이 된다.
YT=XT·CT (2)
여기서, T는 전치를 의미한다.
또한 전술한 식(2)의 결과인 전치된 계수를 입력하여 기설정 제2 DCT 계수 매트릭과 승산하면 다음 식(3)과 같이 된다.
Z=C·YT=C·XT·CT(3)
전술한 2차원 DCT 수행에 있어서, 예를 들어 1차원 DCT, 즉 전술한 제1 DCT 부(110) 또는 제2 DCT부(130)에서 단일 변화만을 위하여 행렬 분해를 이용 DCT 계수 매트릭을 간략하게 재구성하면 전술한 식(1)은 다음식(4)(5)과 같이 변형될 수 있다.
여기서, DCT 계수[C]는 COS t2 를 나타내는 값이며, Y0내지 Y7은 1차원 DCT 결과 데이타를 나타낸다.
또한, 8개의 입력을 갖는 DCT이 역방향, 즉 IDCT의 종래의 장치에서 전술한 바와 같이 1차원DCT, 즉 전술한 제1 DCT부(110) 또는 제2 DCT부(130)에서 단일 변환만을 위하여 행렬 분해를 이용 DCT 계수 매트릭을 간략하게 재구성하면 다음 식(6)(7)과 같이 된다.
역시 여기서도, DCT 계수[C]는 COS t4 를 나타내는 값이며, Y0내지 Y7은 외부 또는 데이타 전치부(120)로 부터의 입력 데이타를 나타낸다.
전술한 바와 같은 DCT 계수 매트릭을 이용하는 DCT 및 IDCT 에서는 계수 매트릭이 서로 상이하기 때문에 이를 저장하는 하드웨어가 별도로 부가되거나, 더 큰 DCT 계수 저장용 메모리가 요구된다. 이는 DCT 및 IDCT 장치의 전체 하드웨어를 복잡하게 만드는 요인이 된다. 즉, DCT 계수 저장용 판독 전용 메모리 크기가 증대되고, 이에 따른 승산 및 누산 연산 과정이 증가하여 처리 속도가 지연된다는 문제점이 있다.
따라서, 본 발명의 목적은 행렬 분해기법을 이용하여 이산 및 역이산 코사인 변화에 대한 연산처리 과정을 줄임으로써 하드웨어를 보다 간단하게 구현하고, 처리속도를 향상시키는 이산 및 역이산 코사인 변환장치를 제공하는데 있다.
본 발명의 일실시예에 따르면 다수의 데이타를 순차적으로 입력하고 시스템 클럭 신호에 의해 입력되는 데이타를 래치하며, 소정 클럭 신호 이후에 래치된 데이타를 일정하게 출력하는 데이타 래치회로와; 상기 데이타 래치에서 출력되는 다수의 데이타 중에서 기설정된 데이타를 입력하여 소정의 연산 과정을 통해 데이타 합성하는 데이타 합성 회로와; 상기 데이타 합성 회로에서 제공되는 데이타를 입력하여 기설정된 변환계수와의 소정의 연산과정을 통해 소정의 데이타를 생성하는 데이타 생성 회로와; 상기 데이타 생성 회로에서 제공되는 소정의 데이타를 입력하여 외부로 부터 입력되는 제어신호에 의해 소정의 데이타를 선택하여 출력하는 데이타 선택 회로와; 상기 데이타 선택 회로에서 제공되는 데이타를 입력하여 재배열하여 상기 데이타 래치 회로로 입력되는 데이타 순으로 출력하는 데이타 배열회로를 포함한다.
본 발명의 다른 실시예에 따르면, 다수의 데이타를 순차적으로 입력하고 시스템 클럭 신호에 의해 입력되는 데이타를 래치하며, 소정 클럭 신호 이후에 래치된 데이타를 일정하게 출력하는 데이타 래치회로와; 상기 데이타 래치 회로에서 제공되는 데이타를 입력하여 기설정된 변환계수와의 소정의 연산과정을 통해 소정의 데이타를 생성하는 데이타 생성 회로와; 상기 데이타 래치 회로에서 출력되는 다수의 데이타중에서 기설정된 데이타를 입력하여 소정의 연산 과정을 통해 데이타 합성하는 데이타 합성 회로와; 상기 데이타 합성 회로에서 제공되는 소정의 데이타를 입력하여 외부로 부터 입력되는 제어신호에 의해 소정의 데이타를 선택하여 출력하는 데이타 선택 회로와; 상기 데이타 선택 회로에서 제공되는 데이타를 입력하여 재배열하여 상기 데이타 래치 회로로 입력되는 데이타 순으로 출력하는 데이타 배열회로를 포함한다.
이하에서는 첨부된 도면을 참조하여 본 발명의 바람직한 실시예가 상세히 설명된다.
제2도를 참조하면, 본 발명에 따른 이산 코사인 변환 장치를 도시한 블러도가 도시되는데 도시된 바와 같이 데이타 래치 회로(210), 가산회로(220), 감산회로(230), 제1 및 제2데이타 생성회로(240)(260), 제1 및 제2데이타 선택회로(230) 및 데이타 배열회로(290)를 포함한다.
데이타 래치 회로(210)는 순차적으로 입력되는 다수의 데이타(예를 들면, X0, X1, …,X7)를 외부로부터 입력되는 시스템 클럭 신호에 따라 원하는 데이타를 래치하여 출력하는 것으로, 그의 출력 데이타들은 가산 및 감산회로(220)(230)에 각각 결합된다.
제3도는 데이타 래치 회로(210)의 상세 블럭도로써, 입력 데이타의 수에 따라 확장이 가능하며, 본 발명의 일실시예에서는 전술한 바와 같이 8개의 데이타가 입력된다고 가정하였으므로, 순차적으로 입력되는 데이타를 동일한 타이밍으로 8개의 데이타가 출력되도록 동작하는 회로이다. 즉, 데이타(X0)를 생성하는 제1래치 회로(310)와, 역시 다른 데이타들(X1내지 X7)을 생성하는 제2 내지 제8래치 회로(320 내지 380)를 포함한다. 또한 이러한 제1 내지 제8래치 회로(310 내지 380)는 입력 데이타를 일시 저장하고 래치하는 레지스터(311,321,331,…,371,381)와 래치 회로(312,322,332,…,372,382)를 포함한다.
제2도를 다시 참조하면, 제1데이타 합성회로(220)는 전술한 데이타 래치부(210)에서 출력되는 데이타(X1내지 X7)중에서 기설정된 두개의 데이타를 선택하여 가산하고 감산하므로써 원하는 데이타를 생성하기 위한 회로도, 4개의 가산기(221 내지 223)를 포함한다. 즉 가산기(221)는 데이타 래치 회로(210)에서 출력되는 데이타(X0내지 X7)를 가산하며, 가산기 (222)는 데이타 래치 회로(210)에서 출력되는 데이타(X1내지 X6)를 가산한다. 그리고 가산기(223)는 데이타 래치회로(210)에서 출력되는 데이타(X2및 X5)를 가산하며, 가산기(224)는 데이타 래치 회로(210)에서 출력되는 데이타(X3및 X4)를 가산한다.
또한, 제1데이타 합성회로(220)는 도시된 바와같이 가산기(225)(226)와 감산기(227)(228)를 구비하는데, 가산기(225)는 전술한 가산기(221)에서 출력되는 데이타와 가산기(224)에서 출력되는 데이타를 가산(X0+X7+X3+X4)하며, 가산기(226)는 전술한 가산기(222)에서 출력되는 데이타와 가산기(223)에서 출력되는 데이타를 가산(X1+X6+X2+X6)한다. 그리고 감산기(227)는 가산기(222)에서 출력되는 데이타와 가산기(223)에서 출력되는 데이타를 감산(X1+X6-X2+X5)하며,감산기(228)는 가산기(221)에서 출력되는 데이타와 가산기(224)에서 출력되는 데이타를 감산(X0+X7-X3+X4)한다. 이와 같이 가산기(225,226)와 감산기(227,228)에서 출력되는 데이타는 제1 데이타 생성회로(240)로 전달된다.
한편, 감산회로(230)는 전술한 데이타 래치회로(210)에서 출력되는 데이타(X0내지 X7)중에서 기설정된 두개의 데이타를 선택하여 감산하므로써 원하는 데이타를 생성하기 위한 회로로, 역시 4개의 감산기(231 내지 234)를 포함한다. 감산기(231)는 데이타 래치회로(210)에서 출력되는 데이타(X3내지 X5)를 감산한다. 그리고, 감산기(233)는 데이타 래치 회로(210)에서 출력되는 데이타(X1및 X6)를 감산하며, 감산기(234)는 데이타 래치 회로(210)에서 출력되는 데이타(X0및 X7)를 감산한다. 이와 같이 각각의 감산기(231 내지 234)를 통해 감산된 데이타는 제2데이타 생성회로(260)로 전달된다.
제1데이타 생성회로(240)는 전술한 가산 및 회로(225,226,227,228)에서 출력되는 데이타를 전달받아 서로 상이한 2개의 데이타를 생성하는 것으로, 메모리(245 내지 248), 승산기(249 내지 252), 가산기(253, 254) 및 래지스터(255)를 포함한다. 메모리(245 내지 248)에는 후술하는 DCT 계수 매트릭이 저장되는 곳으로, 이러한 메모리는 판독 전용 메모리(ROM)를 사용할 수 있다.
예컨대, 승산기(249)(250)에서는 다음 식(8)과 같은 연산이 이루어진다.
여기서, 데이타(X0+X7+X3+X4)는 전술한 가산기(225)에서 출력되는 값이고, 데이타(X1+X6+X2+X6)는 전술한 가산기(226)에서 출력되는 값이며, 또한 DCT 계수[C]에서 1행 DCT[C4,C4]는 메모리(M1)(245)에 저장되고, 2행 DCT계수[C4-C4]는 메모리(M2)(246)에 저장된다. 그리고, 가산기(253)는 승산기(249)(259)에서 출력되는 데이타를 가산한다. 이와 같이 가산기(253)를 통해 가산된 데이터는 레지스터(255)에 제공한다.
또한, 승산기(251)(252)에서는 다음 식(9)와 같은 연산이 이루어진다.
여기서, 데이타(X1+X6-X2-X5)는 전술한 감산기(227)에서 출력되는 값이고, 데이타(X0+X7-X3-X4)는 전술한 감산기(228)에서 출력되는 값이며, 1행 DCT 계수[-C2,C6]는 메모리(M3)(247)에 저장되고, 2행 DCT 계수[C6, C2]는 메모리(M4)(248)에 저장된다. 그리고, 가산기(254)는 승산기(251)(252)에서 출력되는 데이타를 가산하여 레지스터(255)에 제공한다.
레지스터(255)는 가산기(253)(254)에서 출력되는 데이타를 입력하여 후술하는 제2데이타 생성회로(260)와 타이밍이 일치되도록 하기 위해 일시 저장하는 것으로, 소정시간후 저장된 데이타를 제1및 제2데이타 선택회로(280)로 전달한다.
한편, 제2데이타 생성회로(260)로 도시된 바와 같이 전술한 제1데이타 생성회로(250)와 유사하게 설계되어 있으며, 4개의 DCT 계수 저장용 메모리(261 내지 264), 다수의 승산기(265 내지 268), 누산기(269 내지 272) 및 레지스터(273 내지 276)를 포함한다.
승산기(265 내지 268)는 다음 식(10)과 같은 연산을 수행한다.
여기서, 데이타(X0-X7)는 감산기(234)에서 출력되는 값이고, 데이타(X1-X6)는 감산기(233)에서 출력되는 값이며, 데이타(X2-X5)는 감산기(232)에서 출력되는 값이다. 또 데이타(X3-X4)는 감산기(231)에서 출력되는 값이다.
그리고, DCT 계수[C]중에서, 1행 계수[C1C3C5C7]는 메모리(M5)(261)에 저장되고, 2행 계수[C3-C7-C1-C5]는 메모리(M6)(263)에 저장되며, 이러한 식으로 4행 계수[C7-C5C3C1]는 메모리(M8)(264)에 저장된다.
누전기(269 내지 272)는 승산기(265 내지 268)에서 각기 출력되는 데이타를 입력하여 누산하는 것으로, 그의 출력 데이타들은 레지스터(273 내지 276)에 제공된다. 레지스터(273 내지 276)는 여기 전술한 제1데이타 생성회로(240)와의 타이밍을 조절하기 위한 것으로, 누산기(269 내지272)에서 제공되는 데이타들을 입력하여 저장행다가 소정시간후 데이타 선택회로(280)로 제공한다. 데이타 선택회로(280)는 전술한 제1 및 제2데이타 생성회로(240)(260)에서 제공되는 데이타를 입력하여 외부의 마이크로프로세서로 부터 제공되는 제어신호에 응답하여 해당 데이타를 선택하여 출력하기 위한 것으로, 제1데이타 선택회로(281)와 제2데이타 선택회로(282)를 포함한다. 즉, 제1데이타 선택회로(281)는 제1데이타 생성회로(240)의 레지스터(255)에서 제공되는 데이타를 입력하여 기설정된 순서대로 데이타를 선택하여 후술하는 데이타 배열회로(290)로 제공한다. 또한 제2데이타 선택회로(282)는 제2데이타 생성회로(260)의 레지스터(273 내지 276) 각각에서 출력되는 데이타를 입력하여 역시 기설정된 순서대로 데이타를 선택하여 후술하는 데이타 배열회로(290)로 제공한다.
데이타 배열회로(290)는 전술한 데이타 선택회로(280)에서 순차적으로 출력되는 데이타를 입력하여 최초 입력되는 데이타 순서로 배열하여 출력하기 위한 것으로, 즉 제1데이타 선택회로(281)에서 출력되는 데이타(Y0, Y4, Y6, Y2)는 데이타 배열 회로(290)의 일단자로 입력하며, 제2데이타 선택회로(282)에서 출력하는 데이타 (Y1, Y3, Y5, Y7)는 데이타 배열회로(290)의 타단지로 입력하여 기설정 순서로 배열하여 데이타 순(Y0,Y1,Y2,… , Y7)으로 출력한다. 전술한 바와 같이 승산, 및 누산, 데이타 선택 및 데이타 배열을 수행하는 동안, 실질적으로는 상기 식(8 내지 10)의 복잡한 데이타들이 처리되지만, 본 발명의 설명을 명확하고 간결하게 설명하기 위해 전술한 출력 데이타(Y0, Y1, Y2, …, Y7)는 데이타들의 조합에 대응된다는 점을 본 기술분야의 숙련자라면 충분히 이해할 수 있을 것이다.
제4도는 본 발명에 따른 역 이산 코사인 변환 장치를 도시한 블럭도로써, 도시된 바와 같이 데이타 래치회로(410), 제1 및 제2데이타 생성회로(420)(440), 제1 및 제2데이타 합성회로(460)(470), 데이타 선택회로(480) 및 데이타 배열회로(490)를 포함한다. 이러한 역 이산 코사인 변환 장치는 전술한 이산 코사인 변환장치의 구성요소와 동일하며, 단지 다른점은 입력 및 출력 데이타가 서로 바뀌어졌으며, 또 제1 및 제2데이타 생성회로(420)(440)와 제1 및 제2데이타 합성 회로(460)(470)가 서로 바뀌어 설계되었다는 점이다.
데이타 래치 회로(410)는 순차적으로 입력되는 데이타(Y0, Y1, … ,Y7)를 외부로 부터 입력되는 시스템 클럭신호에 따라 원하는 데이타를 래치하여 출력하는 것으로, 그의 출력들은 제1 및 제2데이타 생성회로(420)(440)에 결합된다.
제1데이타 생성회로(420)는 다수의 판독전용으로 DCT 계수 저장용 메모리(421 내지 424), 승산기(425 내지 438), 가산기(429)(430), 레지스터(431)를 포함한다. 승산기(425)(426)는 다음 식(11)과 같은 승산을 수행한다.
즉,
여기서, 데이타(Y0, Y4)는 데이타 래치 회로(410)에서 제공되는 데이타이고, DCT 계수[C]는 계수 저장용 메모리에 저장되는데 1행 계수[C4C4]메모리(M1)(421)에 저장되고, 2행 계수[C4-C4]는 메모리(M2)(422)에 저장된다. 즉, 승산기(425)에서는 데이타 래치 회로(410)에서 제공되는 입력 데이타와 메모리(M1)(421)에서 제공되는 DCT 계수를 승산하며, 승산기(426)는 데이타 래치 회로(410)에서 제공되는 입력 데이타와 메모리(M2)(422)에서 제공되는 DCT 계수를 승산한다. 가산기(429)는 이와 같이 승산된 데이타를 입력하여 가산하는 것으로, 가산된 데이타는 레지스터(431)로 전달한다.
그다음, 승산기(427)(428)는 다음 식(12)과 같은 승산을 수행한다.
즉,
여기서, 데이타(Y6, Y2)는 데이타 래치 회로(410)에서 제공되는 값이고, DCT 계수[C]는 계수 저장용 메모리에 저장되는데, 1행 계수[-C2C6]는 메모리(M1)(423)에 저장되고, 2행 계수[C6C2]는 메모리(M2)(424)에 저장된다. 즉, 승산기(427)에서는 데이타 래치 회로(410)에서 제공되는 입력 데이타와 메모리(M3)(423)에서 제공되는 DCT계수를 승산하며, 승산기(428)는 데이타 래치 회로(410)에서 제공되는 입력 데이타와 메모리(M4)(424)에서 제공되는 DCT 계수를 승산한다. 가산기(430)는 승산기(427)(428)에서 승산된 데이타를 입력하여 가산한 후, 레지스터(431)로 제공한다. 레지스터(431)는 가산기(429)(430)에서 제공되는 데이타를 후술하는 제2데이타 생성회로(410)와 타이밍이 일치되도록 소정시간 저장한 후, 제1데이타 합성회로(460)로 출력한다.
제2데이타 생성회로(440)는 다수의 DCT 계수 저장용 메모리(M5 내지 M8)(441 내지 444), 승산기(445 내지 448), 누산기(449 내지 452) 및 레지스터(453 내지 456)를 포함한다.
승산기(445 내지 448)는 다음 식(13)과 같은 승산을 수행한다.
즉,
여기서, 데이타(Y1내지 T7)는 데이타 래치 회로(410)에서 제공되는 값이고, DCT 계수[C]는 계수 저장용 메모리에 저장되는데, 1행 계수 [C1C3C5C7]는 메모리(M5)(441)에 저장되고, 2행 계수[C3-C7-C1-C5]는 메모리(M6)(442)에 저장된다. 그리고 3행 계수[C5-C1-C7-C3]는 메모리(M7)(443)에 저장되며, 4행 계수[C7C5C3-C1]는 메모리(M8)(444)에 저장된다.
즉, 승산기(445)에서는 데이타 래치 회로(440)에서 제공되는 입력 데이타와 메모리(M5)(441)에서 제공되는 DCT 계수를 승산하며, 승산기(446)는 데이타 래치 회로(410)에서 제공되는 데이타와 메모리(M6)(442)에서 제공되는 DCT 계수를 승산한다. 그리고 승산기(447)에서는 데이타 래치 회로(410)에서 제공되는 데이타와 메모리(M7)(443)에서 제공되는 DCT 계수를 승산하며, 승산기(448)에서는 데이타 래치 회로(410)에서 제공되는 데이타와 메모리(M8)(444)에서 제공되는 DCT 계수를 승산한다.
누산기(449 내지 452)는 승산기(445 내지 448)에서 각각 출력되는 데이타를 각기 입력하여 누산하는 것으로, 그의 출력 데이타들은 레지스터(253 내지 456)로 제공한다. 레지스터(453 내지 456)는 역시 전술한 제1데이타 생성회로(420)와의 타이밍을 조절하기 위한 것으로, 각각의 누산기에서 제공되는 데이타들은 입력하여 저장했다가 소정 시간후 제2데이타 합성회로(470)로 전달한다.
한편, 제1데이타 합성회로(460)는 전술한 제1 및 제2데이타 생성회로(420)(440)에서 제공되는 8개의 데이타를 입력하여 가산하고 감산하여 데이타 합성하는 것으로, 다수의 가산기(461 내지 466) 및 감산기(467, 468)를 포함한다.
가산기(461)는 전술한 바와 같이 레지스터(456)에서 출력되는 데이타를 가산하며, 가산기(462)는 레지스터(431)와 레지스터(455)에서 출력되는 테이타를 가산한다. 또 가산기(463)는 레지스터(431)와 레지스터(454)에서 출력되는 데이타를 가산하며, 가산기(464)는 레지스터(431)와 레지스터(453)에서 출력되는 데이타를 가산한다. 그리고 가산기(456)는 가산기(461)와 가산기(464)를 통해 가산된 데이타를 다시 가산하며, 가산기(466)는 가산기(462)와 가산기(463)를 통해 가산된 데이타를 다시 가산한다. 또 감산기(467)는 가산기(462)와 가산기(463)를 통해 가산된 데이타를 다시 감산하며, 감산기(468)는 가산기(461)와 가산기(464)를 통해 가산된 데이타를 다시 감산한다. 이와 같이 가산기(465,466) 및 감산기(467 및 468)을 통해 가산하고 감산한 데이타는 데이타 선택 회로(480)로 전달한다.
또한, 제2데이타 합성회로(470)는 전술한 제1 및 제2데이타 생성회로(420)(440)에서 제공되는 8개의 데이타를 입력하여 감산하여 데이타 합성하는 것으로, 다수의 감산기(471 내지 474)를 포함한다. 감산기(471)는 레지스터(431)와 레지스터(453)에서 출력되는 데이타를 감산하며, 감산기(472)는 레지스터(431)와 레지스터(454)에서 출력되는 데이타를 감산한다. 그리고, 감산기(473)는 레지스터(431)와 레지스터(455)에서 출력되는 테이타를 감산하며, 감산기(474)는 레지스터(431)와 레지스터(456)에서 출력되는 데이타를 감산한다. 이와 같이 감산기(471 및 474)를 통해 감산한 데이타는 선택회로(480)로 전달한다.
데이타 선택회로(480)는 제1 및 제2데이타 합성회로(460)(470)에서 출력되는 데이타를 입력하여 외부의 마이크로 프로세서로 부터 제공되는 제어신호에 응답하여 해당 데이타를 선택하여 출력하기 위한것으로, 제1데이타 선택회로(481)와 제2데이타 선택회로(482)를 포함한다. 즉, 제1데이타 선택회로(481)는 제1데이타 합성회로(460)의 가산기(465,466) 및 감산기(467,468)에서 제공되는 데이타를 입력하여 기설정된 순서대로 데이타를 선택하여 후술하는 데이타 배열 회로(490)로 제공한다. 또한 제2데이타 선택회로(482)는 제2데이타 합성회로(470)의 감산기(471 내지 474)에서 각기 출력되는 데이타를 입력하여 역시 기설정된 순서대로 데이타를 선택하여 후술하는 데이타 배열 회로(490)로 제공한다.
데이타 배열회로(490)는 전술한 데이타 선택회로(480)에서 순차적으로 출력되는 데이타를 입력하여 최초입력되는 데이타 순서로 재배열하여 출력하기 위한 것으로, 즉 제1데이타 선택회로(481)에서 출력되는 데이타는 데이타 배열회로(490)의 일단자로 입력하며, 제2데이타 선택회로(482)에서 출력되는 데이타는 데이타 배열회로(490)의 타단자로 입력하여 기설정 순서로 재배열하여 출력한다.
이상에서 설명한 바와 같이, 본 발명은 DCT와 IDCT수행시에 행렬 분해기법을 이용하여 동일한 DCT 및 IDCT 계수를 적용하므로써, DCT 및 IDCT계수 저장용 메모리를 동일한 것을 사용함에 따라 승산 및 누산에 대한 계산 단계를 줄여 하드웨어를 보다 간단하게 구현하며, 변환 속도를 개선시키는 커다란 잇점이 있다.

Claims (2)

  1. 다수의 데이타를 순차적으로 입력하고 시스템 클럭 신호에 의해 입력되는 데이타를 래치하며, 소정 클럭 신호 이후에 래치된 데이타를 일정하게 출력하는 데이타 래치회로와; 상기 데이타 래치 회로에서 출력되는 다수의 데이타중에서 기설정된 데이타를 입력하여 소정의 연산 과정을 통해 데이타 합성하는 데이타 합성회로와; 상기 데이타 합성 회로에서 제공되는 데이타를 입력하여 기설정된 변환계수와의 소정의 연산과정을 통해 소정의 데이타를 생성하는 데이타 생성 회로와; 상기 데이타 생성 회로에서 제공되는 소정의 데이타를 입력하여 외부로부터 입력되는 제어신호에 의해 소정의 데이타를 선택하여 출력하는 데이타 선택회로와; 상기 데이타 선택 회로에서 제공되는 데이타를 입력하여 재배열하여 상기 데이타 래치 회로로 입력되는 데이타 순으로 출력하는 데이타 배열회로를 포함하는 이산 코사인 변환장치.
  2. 다수의 데이타를 순차적으로 입력하고 시스템 클럭 신호에 의해 입력되는 데이타를 래치하며, 소정 클럭 신호 이후에 배치된 데이타를 일정하게 출력하는 데이타 래치회로와; 상기 데이타 래치 회로에서 제공되는 데이타를 입력하여 기설정된 변환계수와의 소정의 연산과정을 통해 소정의 데이타를 생성하는 데이타 생성 회로와; 상기 데이타 래치 회로에서 출력되는 다수의 데이타중에서 기설정된 데이타를 입력하여 소정의 연산 과정을 통해 데이타 합성하는 데이타 합성회로와; 상기 데이타 합성 회로에서 제공되는 소정의 데이타를 입력하여 외부로 부터 입력되는 제어신호에 의해 소정의 데이타를 선택하여 출력하는 데이타 선택회로와; 상기 데이타 선택회로에서 제공되는 데이타를 입력하여 재배열하여 상기 데이타 래치 회로로 입력되는 데이타 순으로 출력하는 데이타 배열회로를 포함하는 역 이산 코사인 변환장치.
KR1019940003303A 1994-02-24 1994-02-24 이산 및 역이산 코사인 변환 장치 KR970003806B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019940003303A KR970003806B1 (ko) 1994-02-24 1994-02-24 이산 및 역이산 코사인 변환 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019940003303A KR970003806B1 (ko) 1994-02-24 1994-02-24 이산 및 역이산 코사인 변환 장치

Publications (2)

Publication Number Publication Date
KR950026278A KR950026278A (ko) 1995-09-18
KR970003806B1 true KR970003806B1 (ko) 1997-03-21

Family

ID=19377675

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940003303A KR970003806B1 (ko) 1994-02-24 1994-02-24 이산 및 역이산 코사인 변환 장치

Country Status (1)

Country Link
KR (1) KR970003806B1 (ko)

Also Published As

Publication number Publication date
KR950026278A (ko) 1995-09-18

Similar Documents

Publication Publication Date Title
Venetianter et al. Image compression by cellular neural networks
Shams et al. NEDA: A low-power high-performance DCT architecture
KR100246878B1 (ko) 역이산 코사인변환 프로세서, 이산 코사인 변환계수의 매트릭스를 역변환하기 위한 방법 및 그 장치
KR100275933B1 (ko) 엠펙디코더의 역이산여현변환장치
US7730116B2 (en) Method and system for fast implementation of an approximation of a discrete cosine transform
US5649077A (en) Modularized architecture for rendering scaled discrete cosine transform coefficients and inverse thereof for rapid implementation
US5430490A (en) Scanning format converting circuit using motion vectors
US6308193B1 (en) DCT/IDCT processor
JP2002500455A (ja) 高速idct/ダウンサンプリング複合演算方法および装置
KR100313217B1 (ko) 파이프라인dct장치
US20070071103A1 (en) Apparatus for digital video format down-conversion with arbitrary conversion ratio and method therefor
JPH09261663A (ja) 多相有限インパルス応答水平フィルタを含むビデオ・デコーダ
JPS622721A (ja) 画像信号の符号化・復号化装置
KR100377084B1 (ko) 이산코사인변환회로,이산코사인역변환회로,mpeg비디오인코더및mpeg비디오디코더
JP3297742B2 (ja) 画像再生装置及び画像再生方法
KR970003806B1 (ko) 이산 및 역이산 코사인 변환 장치
Korah et al. FPGA implementation of integer transform and quantizer for H. 264 encoder
Sun Algorithms and VLSI architectures for motion estimation
Bakr et al. Implementation of 3D-DCT based video encoder/decoder system
JPH08307868A (ja) 動画像復号装置
US6504871B1 (en) IDCT processor for use in decoding MPEG compliant video bitstreams meeting 2-frame and letterboxing requirements
Abdelhalim et al. Implementation of 3D-DCT based video encoder/decoder system
KR20000013653A (ko) 정/역 최적화 정수형 여현변환장치 및 그 방법
KR970003805B1 (ko) 개선된 1차원 이산 및 역이산 코사인 변환장치
KR970002479B1 (ko) 이차원 역이산 코사인 변환 장치

Legal Events

Date Code Title Description
A201 Request for examination
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120702

Year of fee payment: 16

LAPS Lapse due to unpaid annual fee