KR100377084B1 - 이산코사인변환회로,이산코사인역변환회로,mpeg비디오인코더및mpeg비디오디코더 - Google Patents

이산코사인변환회로,이산코사인역변환회로,mpeg비디오인코더및mpeg비디오디코더 Download PDF

Info

Publication number
KR100377084B1
KR100377084B1 KR1019950043215A KR19950043215A KR100377084B1 KR 100377084 B1 KR100377084 B1 KR 100377084B1 KR 1019950043215 A KR1019950043215 A KR 1019950043215A KR 19950043215 A KR19950043215 A KR 19950043215A KR 100377084 B1 KR100377084 B1 KR 100377084B1
Authority
KR
South Korea
Prior art keywords
group
input
circuit
discrete cosine
multipliers
Prior art date
Application number
KR1019950043215A
Other languages
English (en)
Other versions
KR960020541A (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 산요 덴키 가부시키가이샤
Publication of KR960020541A publication Critical patent/KR960020541A/ko
Application granted granted Critical
Publication of KR100377084B1 publication Critical patent/KR100377084B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform
    • 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]

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Multimedia (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Signal Processing (AREA)
  • Complex Calculations (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

1차원 이산 코사인 역변환 회로는 패러렐로 외부적으로 제공되는 복수의 입력 데이타를 받아들이는 일군의 승산기와, 해당 각 승산기는 자기에의 입력 데이타에 대하여 자기 코사인 정수를 승산하는 것 및 상기 승산기군으로부터의 계산 결과를 받아들임과 동시에 그 계산 결과를 가감산하여 출력 데이타를 생성하는 일군의 가감산기와, 해당 출력 데이타는 상기 입력 데이타를 이산 코사인 역변환시킨 결과를 포함한다.

Description

이산 코사인 변환 회로, 이산 코사인 역변환 회로, MPEG 비디오 인코더 및 MPEG 비디오 디코더
본 발명은 이산 코사인 변환 회로, 이산 코사인 역변환 회로, MPEG 비디오 인코더 및 MPEG 비디오 디코더에 관한 것이다.
방대하고 다종 다양한 정보의 고속 처리를 가능하게 하는 것이 멀티미디어 시스템의 실용화를 도모하는데 필요해지고 있다. 정보의 고속 처리를 달성하기 위해서는 데이타의 압축·신장 기술이 불가결하게 되었다. 그와 같은 데이타의 압축 ·신장 기술의 하나가 「MPEG(Moving Picture Expert Group)」방식이다. 상기 MPEG 방식은 ISO(International Organization for Standardization)/IEC(International Electrotechnical Commission) 산하 MPEG 위원회(ISO/IEC JTC1/SC29/WG11)에 의해 표준화되고 있다. MPEG 규격은 3개의 파트로 구성된다. 파트 1의 「MPEG 시스템 파트」(ISO/IEC IS 11172 Part1 : Systems)에서는 비디오 데이타와 오디오 데이타의 다중화 구조(멀티 플렉서·스트럭쳐) 및 동기 방식이 규정되어 있다. 파트 2의 「MPEG 비디오 파트」 (ISO/IEC IS 11172 Part2 : Video)에서는 비디오 데이타의 고능율 부호화 방식 및 비디오 데이타와 포맷이 규정되어 있다. 파트 3의 「MPEG 오디오 파트」(ISO/IEC 11172 Part3 : Audio)에서는 오디오 데이타의 고능율 부호화 방식 및 오디오 데이타의 포맷이 규정되어 있다.
또한, MPEG 규격에는 주로 인코드 레이트의 차이에 따라 현재 MPEG-1, MPEG-2의 2개의 규격이 있다. MPEG-1은 주로 CD-ROM 패밀리 등의 축적 미디어에 대응하고 있고, MPEG-2는 MPEG-1도 포함하는 폭넓은 범위의 어플리케이션에 대응 가능하다.
MPEG 비디오 파트에서 언급되고 있는 기술의 핵심이 되는 것은 움직임 보상부 예측[Motion Compensated Prediction(MC)]와 이산 코사인 변환[Discrete Cosine Transform(DCT)]이다. MC와 DCT를 병용한 부호화 기술은 하이브리드 부호화 기술이라 불린다.
MPEG 비디오 파트에서 취급되는 실제 화면에서와 화상 처리는 그 화면 상의 한 점(1화소)의 수평 방향 및 수직 방향에서의 배치 중 어느 것이나 상관이 있다. 더욱 상세하게 설명하면 화면이 복수의 소블럭으로 분할되고 각 소블럭은 수평 방향으로 N개 및 수직 방향으르 N개 배치된 합계 N x N개의 화소를 포함한다. 상기 N x N개의 화소를 갖는 각 소블럭에 대하여 2차원 DCT를 행한다. 여기서, 1화소는 DCT에서의 1요소에 대응한다.
값 N이 클수록 부호화 효율이 양호해지지만 필요한 연산량은 증대한다. 즉, 부호화 효율과 연산량은 트레이드 오프의 관계에 있다. 그 때문에, MPEG 비디오 파트에서는 부호화 효율과 연산량의 밸런스를 취하기 위해 N값은 8 전후를 이용하는 경우가 많다. 기본적으로 DCT는 푸리에 변환과 같이 시간 신호를 주파수마다 신호 성분으로 분해하는 신호 변환이다. 푸리에 변환은 복소수 연산을 포함하고, 거기서는 실수부와 허수부가 분리된다. 이에 대하여 어떤 의미에서 DCT는 복소수에서 실수부만을 추출하는 연산으로 생각할 수 있다.
MPEG 비디오 파트에 따르면 인코드시에 Foward DCT(FDCT)에 의해 화면 형성에 관여하는 화상 신호가 주파수마다 신호 성분으로 분해되어 처리된다. 그리고, 디코드시에 역이산 코사인 변환[Inverse DCT(IDCT)]에 의해 분해된 주파수마다 신호성분이 다시 화상 신호로 복귀된다.
2차원 DCT의 연산이 그 변환식에 따라 그대로 단순하게 실행되면 연산 회수가 방대해져서 대규모 하드웨어가 필요해진다. 예를 들면 N=8인 경우에 N x N 화소 또는 요소에 대하여 2차원 DCT 연산을 행하기 위해서는 4096회의 승산과 4096회의 가산이 필요해진다. 그 때문에, 연산 회수를 줄이기 위해 2차원 DCT 대신에 보다 간략한 1차원 DCT 를 실행하는 것이 제안되고 있다.
즉, 우선 N요소의 1차원 DCT를 수평 방향으로 N라인에 대하여 행하고 이어서 N요소의 1차원 DCT를 수직 방향으로 N라인에 대하여 행한다. 이것은 N x N 요소의 2차원의 DCT를 행한 것과 등가이다. 여기서, N=8인 경우 1차원 DCT는 1요소당 승산 ; 8회와 가산 ; 8회를 필요로 하고 1라인당 승산 ; 64회와 가산 ; 64회를 필요로 한다. 따라서, 1차원 DCT가 2회 행해지면 승산 및 가산의 회수는 각각 1회의 DCT인 경우의 16배가 되고, 결과적으르 승산 1024회, 가산 ; 1026회의 연산을 필요로 한다. 상기 연산 회수에 관한 고찰은 FDCT뿐만 아니라 IDCT에도 해당된다.
2차원 DCT의 연산을 더욱 고속화하기 위해서는 2차원 DCT를 1차원 DCT로 대체할 뿐만 아니라 1차원 DCT에서의 연산 회수 그 자체에 관해서도 줄이는 것이 중요하다. 이러한 관점에서 「고속 알고리즘」이라 불리는 연산을 간략화하는 수법이 제안되고 있다. 즉, DCT 변환식을 숫자적으로 전개한 경우 승수가 되는 코사인 계수가 동일해지는 곳의 몇가지 승산항이 발견된다. 고속 알고리즘에서는 승산회수를 줄일 목적으로 공통의 코사인 계수를 갖는 항의 승산이 묶여 취급된다. 그와 같은 고속 알고리즘의 하나로서 「버터플라이 연산」이 알려져 있다. 종래 MPEG 비디오 인코더 및 디코더에서는 통상 상기 버터플라이 연산인 이용되고 있다.
N=8인 경우, 버터플라이 연산을 이용한 1차원 DCT는 1라인당 승산 ; 16회, 가산 ; 26회를 필요로 한다. 따라서, 상술한 바와 같이 2차원 DCT 대신 1차원 DCT를 2회 행한 경우 승산 및 가산의 회수는 각각 1회의 DCT의 16배가 되므로 버터플라이 연산을 기초로 한 DCT에서는 승산 ; 256회, 가산 ; 416회의 연산으로 끝난다. 상기 고찰은 FDCT뿐만 아니라 IDCT의 경우에도 적용된다. 즉, 상기 Related Art Section에서 언급하고 있는 고속 알고리즘에 관해서는 "Discrete Cosine Transform Algorithms, Advantages, Applica-tions" by K.R. Rao and P Yip ACADEMIC PRESS, INC. 1990에 상술되어 있다.
고속 알고리즘을 이용하여 연산의 간략화를 도모한 경우라도 직접적으로 2차원 DCT 연산을 행하는 것은 많은 연산 회수를 필요로 하며, 결국 대규모 하드웨어가 필요해진다. 예를 들면, N=8인 경우에 버터플라이 연산을 단순하게 행하면 승산기 ; 256개, 가산기 ; 416개를 구비한 하드웨어가 필요하다. 통상, 이들 방대한 연산 회로를 1칩의 LSI 상에 집적하는 것은 매우 곤란 또는 불가능하다. 가령, 승산기 하나당 1000게이트로 한 경우라도 연산 회로의 승산기 전체에서 20만 게이트 이상이 되어 버린다. 이와 같은 사정은 FDCT뿐만 아니라 IDCT에서도 동일하다.
제1A도, 1B도, 2A도 및 2B도는 1차원의 DCT 연산용 기능 블럭을 포함하고 그 기능 블럭을 반복 이용함으로써 2차원 DCT 연산을 등가적으로 실현하는 연산 회로를 도시한다. 1차원 DCT 연산용 각 기능 블럭은 2차원 DCT 연산을 직접적으로 실행하는 하드웨어보다 작은 규모이다.
제1A도는 하나의 1차원 FDCT 회로(102)를 갖는 2차원 FDCT 회로(100)을 도시한다. 입력 데이타 Din은 제어부(101)을 통하여 1차원 FDCT를 행하는 FDCT 회로(102)에 전송된다. FDCT 회로(102)는 버터플라이 연산을 기초로 하여 입력 데이타 Din에 대하여 1차원 FDCT 연산을 수평 방향으로 N라인만큼 행한다. 그 연산결과는 제어부(101)을 통하여 FDCT 회로(102)에서 레지스터(103)으로 전송된다. 레지스터(103)은 그 연산 결과를 저장한다.
계속해서, 레지스터(103)에 일단 저장된 연산 결과가 제어부(101)을 통하여 1차원 FDCT 회로(102)에 전송된다. FDCT 회로(102)는 상기 연산 결과에 대하여 1차원 FDCT 연산을 수직 방향으로 N라인만큼 행한다. 그 결과, N x N 요소의 2차원 FDCT의 연산 결과인 출력 데이타 Dout가 얻어지고, 그 출력 데이타 Dout는 제어부(101)을 통하여 2차원 FDCT 회로(100)으로부터 출력된다. 수평 방향 및 수직방향에서의 각 FDCT 연산에서 얻어지는 중간치에 관해서도 레지스터(103)에 저장된다.
여기서, 1차원 FDCT 회로(102)는 N=8인 경우 16개의 승산기와 26개의 가산기로 구성할 수 있다. 2차원 FDCT 회로(100)에서는 N=8인 경우 수평 방향 및 수직방향으로 각각 8회씩, 합계 16회, FDCT 회로(102)를 동작시키게 된다. FDCT 회로(102)는 버터플라이 연산을 기초로 하기 때문에 1회의 동작에 필요한 시간(즉, 8요소의 1차원 FDCT 연산에 필요한 시간)은 6클럭이다. 따라서, 8 x 8요소의 2차원 FDCT 연산에 필요한 시간은 96(=6x16)클럭이 된다.
제1B도에 도시한 바와 같이, 2차원 IDCT 회로(105)는 제1A도의 FDCT 회로(102)를 1차원 IDCT 회로(104)로 재배열함으로써 구성된다. IDCT회로(104)가 버터플라이 연산을 채용하고, N=8인 경우 IDCT 회로(104)는 FDCT 회로(102)와 마찬가지로 16개의 승산기와 26개의 가산기로 구성할 수 있고, 1회의 동작에 필요한 시간(8요소의 1차원의 IDCT 연산에 필요한 시간)은 6클럭이다. 또, 8 x 8 요소의 2차원 IDCT 연산에 필요한 시간은 FDCT 연산의 경우와 동일하게 96클럭이 된다.
제2A도는 2조의 1차원 FDCT 회로 블럭을 포함하는 2차원 FDCT 회로(110)을 도시한다. 입력 데이타 Din은 제어부(111)을 통하여 N요소의 1차원 FDCT 회로(112)에 전송된다. FDCT 회로(112)는 버터플라이 연산을 이용하고, 입력 데이타 Din에 대하여 1차원 FDCT 연산을 수평 방향으로 N라인만큼 행한다. 그 연산 결과는 제어부(111)을 통하여 레지스터(114)에 전송되고 레지스터(114)는 그 연산 결과를 저장한다. 또한, 상기 FDCT 연산에서 얻어진 중간치는 레지스터(113)에 일시 저장된다.
계속해서, 레지스터(114)에 저장된 연산 결과가 제어부(121)을 통하여 N요소의 1차원 FDCT 회로(122)에 전송된다. FDCT 회로(122)는 버터플라이 연산을 이용하고, 상기 연산 결과에 대하여 1차원 FDCT 연산을 수직 방향으로 N라인만큼 행한다. 그 결과, N x N 요소의 2차원 FDCT 연산 결과인 출력 데이타 Dout가 얻어지고 그출력 데이타 Dout는 제어부(121)으로 통하여 외부로 출력된다. 또한, 상기 FDCT 연산으로 얻어진 중간치는 레지스터(123)에 일시 저장된다.
이와 같이 제2A도에 도시한 2차원 FDCT 회로(110)은 제1A도에 도시한 2차원 FDCT 회로(100)을 2단 직렬로 접속한 회로 구성에 상당한다. 여기서, 1차원 FDCT 회로(112, 122)는 각각 N=8인 경우 16개의 승산기와 26개의 가산기로 구성할 수 있다. 2차원 FDCT 회로(110)에서는 N=8인 경우 수평 방향 및 수직 방향으로 각각 8회씩, 결국 각 FDCT 회로(112, 122)를 각각 단독으로 8회씩 동작시키게 된다. FDCT 회로(112, 122)의 각각은 버터플라이 연산을 이용하기 때문에, 1회의 동작에 필요한 시간(8요소의 1차원 FDCT 연산에 필요한 시간)은 6클럭이다. 따라서, 8 x 8 요소의 2차원 FDCT 연산에 필요한 시간은 48(=6×8)클럭이 된다.
제2B도에 도시한 바와 같이 2차원 IDCT 회로(133)은 2차원 FDCT 회로(110)의 1차원 FDCT 회로(112, 122)를 1차원의 IDCT 회로(131, 132)로 재배열함으로써 구성된다. 이들 IDCT 회로(131, 132)도 버터프라이 연산을 채용한다. N=8인 경우 IDCT 회로(131, 132)의 각각은 FDCT 회로(112, 122)와 마찬가지로 16개의 승산기와 26개의 가산기로 구성할 수 있고 1회의 동작에 필요한 시간(8요소의 1차원 IDCT 연산에 필요한 시간)은 6클럭이다. 또, 8 x 8 요소의 2차원 IDCT 연산에 필요한 시간은 FDCT 연산의 경우와 마찬가지로 48클럭이 된다.
2차원의 FDCT 회로(110)[또는 IDCT 회로(133)]에서는 FDCT 회로(112, 122)[또는 IDCT 회로(131, 132)]를 각각 독립적으로 동작시킬 수 있다. 이것은 연산 회로 시스템의 파이프 라인화에 유리하다.
최근, MPEG 비디오 인코더 및 디코더에서 동작 속도를 더욱 고속화한 후에 하드웨어를 보다 콤팩트화하는 것이 요구되고 있다. 이것을 실현하기 위해서는 2차원의 FDCT회로 및 IDCT 회로에 관하여 동작 속도를 더욱 고속화한 후에 하드웨어를 보다 콤팩트화할 필요가 있다.
따라서, 본 발명의 주된 목적은 버터플라이 연산과 같은 고속 알고리즘을 이용하지 않고 게다가 버터플라이 연산을 실행하는 하드웨어보다 고속 동작이 가능하고, 하드웨어가 작은 이산 코사인 정변환(FDCT) 회로 및 이산 코사인 역변화(IDCT) 회로를 제공하는데 있다.
본 발명의 또 다른 목적은 그와 같은 이산 코사인 정변환(FDCT) 회로 및 이산코사인 역변환(IDCT) 회로를 내장한 MPEG 비디오 인코더 및 MPEG 비디오 디코더를 제공하는데 있다.
본 발명의 목적을 달성하기 위해 개량된 이산 코사인 변환 회로가 제공된다.
본 발명에 따른 이산 코사인 역변환 회로는 일군의 승산기와 일군의 가감산기를 구비하고 있다. 일군의 승산기는 패러렐로 외부로부터 제공되는 복수의 입력 데이타를 받아들이고 있다. 그리고, 각 승산기는 자기에의 입력 데이타에 대하여 자기 코사인 정수를 승산한다. 일군의 가감산기는 상기 승산기군으로부터 계산결과를 받아들임과 동시에 그 계산 결과를 가감산하여 출력 데이타를 만들어낸다. 상기 출력 데이타는 상기 입력 데이타를 이산 코사인 역변환한 결과에 상당한다.
본 발명에 따른 이산 코사인 정변환 회로는 일군의 입력 스테이지 가감산기와, 일군의 승산기와, 일군의 출력 스테이지 가산기를 구비하고 있다. 일군의 입력스테이지 가감산기는 패러렐로 외부로부터 제공되는 복수의 입력 데이타를 받아들임과 동시에 이들 입력 데이타의 가감산을 행한다. 일군의 승산기는 상기 입력 스테이지 가감산기로부터의 계산 결과를 받아들인다. 그리고, 각 승산기는 자기에 입력된 계산 결과에 대하여 자기의 코사인 정수를 승산한다. 일군의 출력 스테이지 가산기는 상기 승산기군으로부터의 계산 결과를 받아들임과 동시에 그 계산결과를 가산하여 출력 데이타를 생성한다. 상기 출력 데이타는 상기 입력 데이타를 이산 코사인 정변화시킨 결과에 해당한다.
이하, 첨부 도면을 참조하여 본 발명을 상세히 설명하고자 한다.
(제1 실시예)
본 발명의 제1 실시예에 따른 1차원 IDCT 회로를 제3도, 제4도를 참조하여 설명한다. 제3도에 도시한 바와 같이 8요소용 1차원 IDCT 회로(1)은 8개의 정수 승산기(11∼18)과 8개의 가산기(21~28)을 포함한다. 제1 스테이지의 4개의 가산기(21∼24)는 각각 대응하는 2개의 승산기와 연결되어 있다. 제2 스테이지의 가산기(25, 26)은 각각 대응하는 2개의 제1 스테이지 가산기의 출력을 받아들이고, 최종 스테이지의 가산기(27, 28)에 가산 결과를 출력한다. 각 승산기(11~18)은 각각 입력 데이타 F(x1)~F(x8)을 받아들이고 있고, 최종단의 가산기(27, 28)이 각각 입력 데이타 F(x1)∼F(x8)의 IDCT 연산 결과인 출력 데이타 f(y1),f(y2)를 생성한다.
제4도는 IDCT 회로(1)에서의 입력 데이타 F(x1)~F(x8)과 출력 데이타 f(y1), f(y2)의 관계를 도시한다. 각 정수 승산기(11~18)은 각각 각 입력 데이타 F(x1)∼F(x8)에 대하여 자기의 각 정수 C0∼C7을 승산한다. 각 정수 C0∼C7의 값은식(1)에 따라 정의된다.
제4도에서 알 수 있는 바와 같이 2개의 승산기(11, 14)는 입력값에 관계없이 정의 값의 출력을 만들어낸다. 한편, 나머지 정수 승산기(12, 13, 15∼18)은 입력치에 따라 정 또는 부의 값의 출력을 만들어내도록 적합되어 있다. 즉, 각 정수 승산기(12, 13, 15∼18)의 출력의 정부(正負)는 제4도 중의 테이블 (a)에 도시한 입력 데이타 F(x1)~F(x8)의 조합에 따라 제4도 중의 테이블(b)에 도시한 바와 같이 설정된다. 그리고, 제4도 중의 테이블(a)에 도시한 입력 데이타 F(x1)~F(x8)의 조합에 대하여 제4도 중의 테이블(c)에 도시한 바와 같은 출력 데이타 f(y1),f(y2)의 조합이 얻어진다. 예를 들면, 제4도의 테이블 (a)~(c) 중의 조합 No.1에 따르면 F(x1) = F(0), F(x2) = F(1), F(x3) = F(2), F(x4) = F(3), F(x5) = F(4), F(x6) = F(5), F(x7) = F(6), F(x8) = F(7)에 대하여 각 승산기(11∼18)의 출력은 모두 정의 값이 되고 f(y1) = f(0), f(y2) = f(7)이 얻어진다.
IDCT 회로(1)은 다음 식(2A)~(5B)로 나타내는 연산을 행한다.
본 실시예는 이하에 설명한 바와 같은 작용 및 이점을 갖는다.
8요소의 입력 데이타 F(x1)~F(x8)이 IDCT 회로(1)에 입력될 때마다 제4도 및 상기 식(2A)∼(5B)에 따라 2개의 출력 데이타 f(y1),f(y2)가 얻어진다. 다시 말하면 8요소의 1차원의 IDCT 연산 처리의 1사이클에 대하여 2픽셀의 출력 데이타가 얻어진다. 따라서, 4사이클의 IDCT 연산 처리에 의해 8픽셀의 출력 데이타를 만들어낼 수 있다.
본 실시예에 따른 IDCT 회로(1)은 8개의 승산기(11~18)과 8개의 가산기(21∼28)로 구성되어 있다. 가산기(28)은 감산기로서 작동한다. 여기서, 8개의 승산기(11∼18)과 44개의 가산기로 구성할 수 있으므로 결과적으로 IDCT 회로(1)은 52개의 가산기만으로 구성할 수 있다.
버터플라이 연산에서는 승산을 반복하기 위해 버터플라이 연산을 이용하는 종래의 IDCT 회로(104)(제1B도 참조)에서 필요한 연산 정밀도를 확보하기 위해서는 승산기와 가산기 사이의 중간 연산 비트수(비트폭)을 크게 할 필요가 있다. 그에 대하여 본 실시예의 IDCT 회로(1)에서는 각 정수 승산기(11∼18)이 각각 1회의 정수 승산만 행하기 때문에 중간 연산 비트수가 작게 끝난다. 구체적으로는 종래의 IDCT 회로(104)에서는 18비트의 중간 연산 비트수가 필요한데 비하여 본 실시예의 IDCT 회로(1)에서는 16비트의 중간 연산 비트수로 끝난다. 그 때문에, IDCT 회로(1)을 구성하는 각 가산기의 회로 규모(하드웨어 규모)를 버터플라이 연산용의 종래의 IDCT 회로(104)에 비해 작게 할 수 있다.
이상의 이유에서 종래의 IDCT 회로(104)에 비해 본 실시예의 IDCT 회로(1)의 회로 규모는 대폭적으로 축소된다. 특히 LSI를 제작하는 경우 가산기의 회로 규모(칩 상의 전유 면적)의 그것에 비하여 작다. 그 때문에, 가산기만으로 구성할 수 있는 IDCT 회로(1)은 종래의 IDCT 회로(104)에 비해 칩 상에서의 전유 면적이 대폭적으로 작다.
IDCT 회로(1)의 1사이클의 동작에 필요한 시간(8요소의 1차원의 IDCT 연산에 필요한 시간)은 정수 승산기(11~18)의 동작에 필요한 1클럭, 제1 스테이지의 가산기(21~24)의 동작에 필요한 1클럭, 제2 스테이지의 가산기(25, 26)의 동작에 필요한 1클럭, 최종 스테이지의 가산기(27, 28)의 동작에 필요한 1클럭을 합계한 4클럭이다. 따라서, 본 실시예의 IDCT 회로(1)의 연산 속도는 종래의 IDCT 회로(104)에 비해 빠르다.
(제2 실시예)
본 발명의 제2 실시예에 따른 1차원의 FDCT 회로를 제5도를 참조하여 설명한다. 또한, 중복된 설명을 피하기 위해 제1 실시예와 공통의 구성 요소에는 동일한 참조 번호가 붙어 있다.
제5도에 도시한 바와 같이, 8요소의 1차원의 FDCT 회로(31)은 8개의 정수 승산기(11~18)과, 합계 18개의 가산기(21~26), (32~43)과 하나의 전환 회로(44)를 포함한다. 가산기(38∼43)은 감산기로서 작동한다. 제1 스테이지의 4개의 가산기(32-35)는 각각 2개의 입력 데이타를 받아들인다. 제2 스테이지의 가산기는 대응하는 2개의 제1 스테이지 가산기로부터의 출력을 받는 4개의 가산기(36~39) 및 각각 2개의 입력 데이타를 받는 4개의 가산기(40∼43)을 포함한다. 제2스테이지의 가산기(36~43)은 전환 회로(44)와 접속되어 있다. 상기 전환 회로(44)는 8개의 승산기(11~18)과도 접속되어 있다. 제3 스테이지의 4개의 가산기(21∼24)는 각각 대응하는 2개의 승산기와 연결되어 있다. 최종 스테이지의 가산기(25, 26)은 각각 대응하는 2개의 제3 스테이지 가산기의 출력을 받는다. 이와 같이, FDCT 회로(31)은 입력 데이타 f(0)∼f(7)을 받아들임과 동시에 이들 입력 데이타의 FDCT 연산 결과인 출력 데이타 F(y1), F(y2)를 최종 스테이지의 가산기(25, 26)으로부터 출력한다.
제6도에 FDCT 회로(31)에서의 입력 데이타 f(0)∼f(7)과 출력 데이타 F(y1), F(y2)와의 관계를 도시한다. 제6도에서 알 수 있는 바와 같이 3개의 승산기(11, 13, 14)는 입력치에 관계없이 정의 값의 출력을 만들어낸다. 한편, 나머지 5개의 승산기(12, 15∼18)은 입력치에 따라 정 또는 부의 값의 출력을 만들어내도록 적합되어 있다.
전환 회로(44)는 제6도의 테이블(a)에 도시한 바와 같은 전환 룰에 따라 입력측의 가산기(36∼43)의 출력을 전환시키고 그 전환된 출력을 각 승산기(11∼18)에 제공하고 있다.
각 승산기(11~18)은 전환 회로(44)로부터의 출력에 대하여 자기 정수 C0~C7을 승산한다. 각 정수 C0∼C7의 값은 상기 식(1)에 의해 나타내어진다. 그리고, 제6도의 테이블(a)에 도시한 전환 룰의 선택된 조합(Nos.1 to 4)에 따라 각 정수 승산기(12, 15~18)의 출력의 는 제6도의 테이블(b)에 도시한 바와 같이 설정된다. 그 결과, 전환 룰의 선택된 조합에 따라 제6도의 테이블(c)에 도시한 바와 같이 출력 데이타 F(y1), F(y2)가 얻어진다.
예를 들면, 제6도의 테이블 (a)∼(c)의 조합 No.1에서는 입력 데이타 f(0)∼f(7)에 대하여 각 정수 승산기(11∼18)의 출력은 모두 정(+)이 되고 F(y1) =F(0), F(y2) = F(1)이 얻어진다.
FDCT 회로(31)은 식(6A)∼(9B)에 나타낸 연산을 행한다.
본 실시예는 이하에 설명한 바와 같은 작용 및 이점을 갖는다.
8요소의 입력 데이타 f(0)~f(7)이 입력되면 제6도 및 상기 식(6A)∼(9B)에따라 2개의 출력 데이타 F(y1), F(y2)가 얻어진다. 다시 말하면, 8요소의 1차원의 FDCT 연산 처리의 1사이클에 대하여 2픽셀의 출력 데이타가 얻어진다.
본 실시예에 따른 FDCT 회로(31)은 8개의 정수 승산기(11∼18)과, 18개의 가산기(21∼26),(32~43)과 하나의 전환 회로(44)로 구성된다. 8개의 승산기는 44개의 가산기로 구성할 수 있으므로 결과적으로 FDCT 회로(31)은 62개의 가산기와 전환 회로(44)로 구성할 수 있다. 또, 전환 회로(44)는 단순한 트랜스퍼 게이트의 조합으로 구성할 수 있기 때문에 전환 회로(44)의 회로 규모는 각 가산기(21∼26),(32∼43)에 비해서는 훨씬 작다. 따라서, FDCT 회로(31)의 회로 규모는 제1 실시예의 IDCT 회로(1)에 10개의 가산기를 더한 것과 거의 동등해진다.
버터플라이 연산에서는 승산을 반복하기 때문에 버터플라이 연산을 이용하는 종래의 FDCT 회로(102)(제1A도 참조)에서 필요한 연산 정밀도를 확보하기 위해서는 승산기와 가산기 사이의 중간 연산 비트수(비트폭)을 크게 할 필요가 있다. 그에 대하여 본 실시예의 FDCT 회로(31)에서는 각 정수 승산기(11∼18)이 각각 1회의 정수 승산을 행할뿐이므로 중간 연산 비트수가 작게 끝난다. 그 때문에, FDCT 회로(31)을 구성하는 가산기 하나하나의 회로 규모를 버터플라이 연산용의 종래의 FDCT 회로(102)에 비해 작게 할 수 있다.
이상의 이유에서 종래의 FDCT 회로(102)에 비해 본 실시예의 FDCT 회로(31)의 회로 규모는 대폭적으로 축소된다. 특히, LSI를 제작하는 경우 가산기의 회로 규모(칩 상의 전유 면적)은 승산기의 회로 규모에 비해 작다. 그 때문에, 가산기만으로 구성할 수 있는 FDCT 회로(31)은 종래의 FDCT 회로(102)에 비해 칩 상의 전유면적이 대폭적으로 작다.
FDCT 회로(31)의 1사이클의 동작에 필요한 시간(8요소의 1차원의 FDCT 연산에 필요한 시간)은 제1 스테이지의 가산기(32~35)의 동작에 필요한 1클럭, 제2 스테이지의 가산기(36~43)의 동작에 필요한 1클럭, 정수 승산기(11∼18)의 동작에 필요한 1클럭, 제3 스테이지의 가산기(21∼24)의 동작에 필요한 1클럭, 최종 스테이지의 가산기(25, 26)의 동작에 필요한 1클럭을 합계한 5클럭이다. 따라서, 본 실시예에서 FDCT 회로(31)의 연산 속도는 종래의 FDCT 회로(102)에 비해 빠르다.
(제3 실시예)
본 발명의 제3 실시예에 따른 1차원의 FDCT 및 IDCT의 공용 회로를 제7도를 참조하면서 설명한다. 또한, 중복된 설명을 피하기 위해 제1 실시예 및 제2실시예와 공통인 구성 요소에는 동일한 참조 번호를 붙인다.
제7도에 도시한 바와 같이 8요소의 1차원의 FDCT/IDCT 회로(61)은 8개의 정수 승산기(11∼18)과, 20개의 가산기(21~28), (32∼43)과 전환 회로(44)와, 입력 선택 회로(62)를 포함하고 있다. 가산기(28) 및 제2 스테이지의 6개의 가산기(38~43)은 감산기로서 작동한다. 2개의 승산기(11, 14)는 입력치에 관계없이 정의 출력을 만들어내고, 그 외의 승산기(12, 13, 15~18)은 입력치에 따라 정부의 출력을 만들어낸다. FDCT/IDCT 회로(61)은 입력 데이타 F(x1)∼F(x8)의 IDCT 연산 결과인 출력 데이타 f(y1), f(y2)를 생성함과 동시에 입력 데이타 f(0)∼f(7)의 FDCT 연산 결과인 출력 데이타 F(y1), F(y2)를 생성할 수 있다.
어떤 의미예서 FDCT/IDCT 회로(61)은 제3도에 도시한 IDCT 회로(1)의 입력측에 대하여 입력 선택 회로(62) 및 제5도에 도시한 FDCT 회로(31)의 제1 및 제2 스테이지의 가산기(32-43) 및 전환 회로(44)를 부가한 회로에 상당한다.
여기서, 입력 선택 회로(62)는 IDCT 연산 모드에서는 외부적으로 공급되는 (externally supplied) 입력 데이타 F(x1)∼F(x8)을 정수 승산기(11~18)에 제공하고, FDCT 연산 모드에서는 제1 전환 회로(44)로부터의 출력을 정수 승산기(11∼18)에 제공한다. 각 승산기(11∼18)의 출력의 정부는 IDCT 연산 모드에서는 제4도의 표(b)에 따라, 또 FDCT 연산 모드에서는 제6도의 표(b)에 따라 설정된다.
IDCT 연산 모드에서의 출력 데이타 f(y1), f(y2)는 가산기(27, 28)로부터 출력되고, FDCT 연산 모드에서의 출력 데이타 F(y1), F(y2)는 가산기(25, 26)으로부터 출력된다. FDCT/IDCT 회로(61)에서는 입력 선택 회로(62)에 의해 입력 데이타를 선택적으로 전환하고, 그에 따라 각 승산기(11~18)의 출력의 정부를 전환하여 IDCT 연산과 FDCT 연산을 전환하고 있다.
FDCT/IDCT 회로(61)에서의 입력 데이타 F(x1)~F(x8)과 출력 데이타 F(y1), F(y2)의 관계는 제1 실시예의 IDCT 회로(1)과 동일하게 제4도 및 식(2A)∼(5B)에 나타낸 관계에 의존한다. 또, FDCT/IDCT 회로(61)에서의 입력 데이타 f(0)∼f(7)과 출력 데이타 F(y1), F(y2)의 관계는 제2 실시예의 FDCT 회로(31)과 마찬가지로 제6도 및 식(6A)∼(9B)에 도시한 관계에 의존한다. 이와같이 FDCT/IDCT 회로(61)은 IDCT 회로(1)과 FDCT 회로(31)의 양 기능을 구비하고 있다.
FDCT/IDCT 회로(61)은 8개의 정수 승산기(11∼18)과, 20개의 가산기(21∼28),(32~43)과 2개의 전환 회로(44, 62)로 구성된다. 8개의 승산기(11∼18)은 44개의 가산기로 구성할 수 있기 때문에, FDCT/IDCT 회로(61)은 64개의 가산기와 2개의 전환 회로(44, 62)로 구성될 수 있다. 여기서, 회로(44, 62)의 각각은 단순한 트랜스퍼 게이트의 조합만으로 구성할 수 있기 때문에, 각 전환 회로의 회로 규모는 각 가산기(21~28), (32~43)에 비해 훨씬 작다. 따라서, FDCT/IDCT 회로(61)의 회로 규모는 제2 실시예의 FDCT 회로(31)에 2개의 가산기를 더한 회로의 규모와 거의 동등해진다.
본 실시예의 FDCT/IDCT 회로(61)은 IDCT 연산을 행하는 경우 기본적으로 제1 실시예의 IDCT 회로(61)과 동일한 작용 및 이점을 갖고 한편 FDCT 연산을 행하는 경우에는 제2 실시예의 FDCT 회로(31)과 동일한 작용 및 이점을 갖는다.
(제4 실시예)
본 발명에 따른 2차원의 FDCT 및/또는 IDCT 회로를 제8A, 8B, 8C도를 참조하여 설명한다.
제8A도는 본 발명에 따른 8 x 8 요소의 2차원 FDCT 회로(70)을 도시하고, 상기 회로(70)은 제어부(71)과 레지스터(72)와 제2 실시예에 따른 FDCT 회로(31)을 포함한다. 입력 데이타 Din은 제어부(71)을 통하여 FDCT 회로(31)에 전송된다. FDCT 회로(31)은 입력 데이타 Din에 대하여 1차원의 FDCT 연산을 수평 방향으로 8라인분 행한다. 그 연산 결과는 제어부(71)을 통하여 레지스터(72)에 전송되고, 레지스터(72)는 그 연산 결과를 저장한다. 다음으로, 레지스터(72)에 저장된 연산 결과가 제어부(71)을 통하여 FDCT 회로(31)에 전송된다. FDCT 회로(31)은 상기 연산 결과에 대하여 1차원의 FDCT 연산을 수직 방향으로 8라인분 행한다. 그 결과, 8 x8요소의 2차원의 FDCT 연산 결과인 출력 데이타 Dout가 얻어지고, 그 출력 데이타 Dout는 제어부(71)을 통하여 2차원의 FDCT회로(70)으로부터 출력된다.
2차원의 FDCT 회로(70)에서는 수평 방향 및 수직 방향으로 각각 8회씩 합계 16회, FDCT 회로(31)을 동작시킨다. FDCT 회로(31)의 1회의 동작에 필요한 시간(8요소의 1차원의 FDCT 연산에 필요한 시간)은 상기한 바와 같이 5클럭이다. 그 때문에, 8 x 8 요소의 2차원의 FDCT 연산에 필요산 시간은 80(=16 x 5)클럭이 된다. 따라서, 종래의 2차원의 FDCT 회로(100:제1A도 참조)에 비해 본 실시예의 2차원의 FDCT 회로(70)은 고속 연산이 가능하다.
제8A도의 FDCT 회로(31)을 제1 실시예의 IDCT 회로(1)로 재배열함으로써 제8B도에 도시한 바와 같이 8 x 8 요소의 2차원의 IDCT 회로(73)을 구성할 수 있다. IDCT 회로(1)의 1회의 동작에 필요한 시간(8요소의 1차원의 IDCT 연산에 필요한 시간)은 상기한 바와 같이 4클럭이다. 그 때문에, 8 x 8요소의 2차원의 IDCT 연산에 필요한 시간은 64(=16 x 4)클럭으로 된다. 따라서, 종래의 2차원의 IDCT 회로(105;제1B도 참조)에 비해 본 실시예의 2차원 IDCT 회로(73)은 고속 연산이 가능하다.
또, 제8A도의 FDCT 회로(31)을 제3 실시예의 FDCT/IDCT 회로(61)로 재배열함으로써 제8C도에 도시한 바와 같은 회로가 구성되어도 좋다.
(제5 실시예)
본 발명의 제5 실시예에 따른 2차원의 FDCT 및/또는 IDCT 회로를 제9A도, 9B도, 9C도를 참조하면서 설명한다.
제9A도는 본 발명에 따른 8 x 8 요소의 2차원의 FDCT 회로(80)을 도시하고, 상기 FDCT 회로(80)은 2개의 제어부(81, 82)와 하나의 레지스터(83)과, 2개의 FDCT 회로(31a, 31b)[각각은 제2 실시예의 FDCT 회로(31)과 동일]을 포함한다. 입력 데이타 Din은 제1 제어부(81)을 통하여 제1 FDCT 회로(31a)로 전송된다. FDCT 회로(31a)는 입력 데이타 Din에 대하여 1차원의 FDCT 연산을 수평 방향으로 8라인분 행한다. 그 연산 결과는 제1 제어부(81)을 통하여 레지스터(83)에 전송되고, 레지스터(83)은 그 연산 결과를 저장한다. 다음으로, 레지스터(83)에 저장된 연산결과가 제2제어부(82)를 통하여 제2 FDCT 회로(31b)에 전송된다. 제2 FDCT 회로(31b)는 상기 연산 결과에 대하여 1차원의 FDCT 연산을 수직 방향으로 8라인분 행한다. 그 결과, 8 x 8 요소의 2차원의 FDCT 연산 결과인 출력 데이타 Dout가 얻어지고, 그 출력 데이타 Dout는 제2 제어부(82)를 통하여 2차원의 FDCT 회로(80)으로부터 출력된다.
2차원의 FDCT 회로(80)에서는 수평 방향 및 수직 방향으로 각각 8회씩, 결국 FDCT 회로(31a, 31b)를 각각 단독으로 8회씩 동작시킨다. FDCT회로(31a, 31b)의 1회의 동작에 필요한 시간은 5클럭이다. 그 때문에, 8 x 8 요소의 2차원의 FDCT 연산에 필요한 시간은 40(=8x5) 클럭으로 된다. 따라서, 종래의 2차원의 FDCT 회로(110;제2A도 참조)에 비해 본 발명의 2차원 FDCT 회로(80)은 고속 연산이 가능하다.
또, 종래의 2차원 FDCT 회로(110)에서는 버터플라이 연산의 중간치를 일시 저장하기 위한 레지스터(113, 123)을 필요로 했다. 이에 대하여 본 발명의 2차원의FDCT 회로(80)은 그와 같은 목적의 레지스터를 필요로 하지 않는다. 그 때문에, FDCT 회로(80)은 종래의 2차원의 FDCT 회로(110)에 비해 회로 규모를 축소할 수 있다.
제9A도에서의 FDCT 회로(31a, 31b)를 각각 제1 실시예의 IDCT 회로(1)로 재배열함으로써 제9B도에 도시한 바와 같은 8 x 8 요소의 2차원의 IDCT 회로(84)를 구성해도 좋다. IDCT 회로(1)의 1회의 동작에 필요한 시간은 4클럭이다. 그 때문에 8 x 8 요소의 2차원의 IDCT 연산에 필요한 시간은 32(=8x4) 클럭이 된다. 따라서, 종래의 2차원의 IDCT 회로(133;제2B도 참조)에 비해 본 발명의 2차원의 IDCT 회로(84)는 고속 연산이 가능하다. 이 경우에도 버터플라이 연산의 중간치를 저장하기 위한 레지스터(113, 123)을 설치할 필요가 없기 때문에 2차원의 IDCT 회로(84)는 종래의 2차원 IDCT 회로(133)에 비해 회로 규모를 축소할 수 있다.
제9A도에서의 FDCT 회로(31a, 31b)를 각각 제3 실시예의 FDCT/IDCT 회로(61)로 재배열함으로써 제9C도에 도시한 바와 같은 2차원의 FDCT/IDCT 회로가 구성되어도 된다.
제9A, 9B, 9C도에 도시한 바와 같은 회로는 FDCT 회로(31a, 31b)[IDCT 회로(1) 또는 FDCT/IDCT 회로(61)]을 각각 독립으로 동작시킬 수 있기 때문에 회로 시스템의 파이프 라인화에 유리하다.
(제6 실시예)
본 발명의 제6 실시예에 따른 2차원 FDCT 및/또는 IDCT 회로를 제10도를 참조하면서 설명한다.
제10도는 8 x 8 요소의 2차원의 FDCT 회로(90)을 나타내고, FDCT 회로(90)은 제1 및 제2 직렬-병렬 변환 회로(91, 92), 제1 및 제2 재배열 회로(93, 94), 반올림 회로(rounding circuit;95), 전치용 Random Access Memory(RAM;96) 및 제2 실시예의 FDCT 회로(31)을 포함한다.
12비트의 입력 데이타 Din은 제2 직렬-병렬 변환 회로(91)에서 8화소분의 데이타로 갖추어지고 제1 재배열 회로(93)에 제공된다. 제1 재배열 회로(93)에서의 재배열 패턴은 4개 있고, 각각 재배열 패턴에 대하여 FDCT 회로(31)의 출력 데이타가 2픽셀씩 얻어진다. 그리고, 4개의 재배열 패턴에 대한 처리의 종료에 따라 8픽셀의 출력 데이타가 얻어지고, 이들 8픽셀의 출력 데이타는 RAM(96)에 축적된다.
상기 8픽셀의 출력 데이타가 얻어지는지의 여부나, 제1 직력-병렬 변환 회로(91)에는 다음의 8화소분의 데이타가 입력된다. 그리고, 상기와 같이 다음의 8화소분의 데이타가 1차원의 FDCT 연산에 가해지고, 8픽셀의 출력 데이타가 RAM(96)에 축적된다. 이상의 처리를 8회 반복하면 64화소분의 출력 데이타가 RAM(96)에 축적된다. 그러면, 제1 재배열 회로(93)의 입력이 전환되고, 제1 재배열 회로(93)이 제2 직렬-병렬 변환 회로(92)를 통하여 RAM(96)과 접속되며, RAM(96)에 축적된 데이타를 판독한다. 그 판독 데이타에 대하여 제2 직렬-병렬 변환 회로(92), 재배열 회로(93) 및 FDCT 회로(31)에 의해 상기와 같은 처리가 행해진다. 반올림 회로(95)는 FDCT 회로(31)로부터 출력되는 연산 결과에 대하여 반올림 처리(rounding)를 행한다.
그 후에, 동일한 처리가 순차 8회 반복되고 최후에 얻어지는 데이타를 제2재배열 회로(94)가 재배열되어 8 x 8 요소의 2차원의 FDCT 연산 결과인 출력 데이타 Dout가 얻어진다.
상기 2차원의 FDCT 회로(90)은 제8A도에 도시한 2차원 FDCT 회로(70) 내의 제어부(71)을 각 회로(91∼95)로 재배열함과 동시에, 레지스터(72)를 전치용 RAM(96)으로 재배열한 회로에 상당한다. 따라서, 2차원의 FDCT 회로(70)과 마찬가지로 상기 2차원의 FDCT 회로(90)은 고속 연산이 가능하다.
제10도에서의 FDCT 회로(31)을 제1 실시예의 IDCT 회로(1)로 재배열함으로써 8 x 8 요소의 2차원 IDCT 회로(97)이 구성되어도 된다. 또, 제10도에서의 FDCT 회로(31)이 제3 실시예의 FDCT/IDCT 회로(61)로 재배열되어도 된다.
(제7 실시예)
본 발명의 제7 실시예에 따른 MPEG 비디오 디코더를 제11도를 참조하면서 설명한다. 제11도에 도시한 MPEG 비디오 디코더(200)은 가변 길이 디코드 회로(201), 역양자화 회로(202), 제8B도에 도시한 바와 같은 2차원의 IDCT 회로(73), 동백터 복원 회로(203)을 포함한다.
가변 길이 디코드 회로(201)은 전달 미디어(204)로부터 압축된 비디오 데이타의 데이타열인 비디오 스트림을 받아들임과 동시에 디코드 회로(201) 내에 설치된 허프만 테이블(도시하지 않음)에 저장되어 있는 허프만 부호를 기초로 한 가변 길이 디코드를 행한다. 또한, 전달 미디어(204)에는 LAN(Local Area Network) 등의 통신 미디어, DVD(Digital Video Disk)나 VTR(Video Tape Recoder) 등의 축적 미디어 지상파 방송이나 위성 방송 및 CATV(Community Antenna Television) 등의 방송미디어가 포함된다.
역양자화 회로(202)는 가변 길이 디코드 회로(201)의 디코드 결과에 대하여 그 내부에 설치된 양자화 테이블(도시하지 않음)에 저장되어 있는 양자화 임계치를 기초로 한 역양자화를 행하고 DCT 계수를 구한다. IDCT 회로(73)은 역양자화 회로(202)에 의해 계산된 DCT 계수에 대하여 IDCT를 행한다.
동벡터 복원 회로(203)은 IDCT 회로(73)의 처리 결과에 대하여 동벡터의 복원을 행하고 비디오 스트림을 신장시킨 데이타의 비디오 출력을 생성한다. 그 비디오 출력은 디스플레이(205)에 제공된다.
본 실시예에서 사용되는 2차원 IDCT 회로(73)은 고속 동작이 가능하고 하드웨어가 작기 때문에 MPEG 비디오 디코더(200)도 고속 동작이 가능하고 하드웨어가 작아진다. 또한, 본 실시예에서 IDCT 회로(73)은 상술한 IDCT 회로(84나 97)로 재배열되어도 된다.
(제8 실시예)
본 발명의 제8 실시예에 따른 MPEG 비디오 인코더를 제12도를 참조하면서 설명한다. 제12도에 도시한 MPEG 비디오 인코더(300)은 움직임 보상 회로(301), 제8A도에 도시한 바와 같은 FDCT 회로(70), 양자화 회로(302), 가변 길이 인코드 회로(303)을 포함한다.
비디오 카메라(304)는 화상을 촬영하여 신장 데이타인 화상 입력을 생성한다. 움직임 보상 회로(301)은 비디오 카메라(304)로부터의 화상 입력을 받아들이고, 그 입력을 기초로 하여 동벡터를 생성한다. FDCT회로(70)은 비디오카메라(304)로부터의 화상 입력에 대하여 FDCT를 행한다.
양자화 회로(302)는 FDCT 회로(70)의 처리 결과에 대하여 회로(302) 내에 설치된 양자화 테이블(도시하지 않음)에 저장되어 있는 양자화 임계치를 기초로 한 양자화를 행한다. 가변 길이 인코드 회로(303)은 양자화 회로(302)의 처리 결과에 대하여 가변 길이 인코드를 행하고, 화상 입력의 압축 데이타의 비디오 스트림을 생성한다. 그 비디오 스트림은 전달 미디어(204)를 통하여 제7 실시예에서 설명한 바와 같이 MPEG 비디오 디코더(200)에 제공된다.
본 실시예에서 사용되고 있는 2차원의 FDCT 회로(70)은 고속 동작이 가능하고 하드웨어가 작아지므로 MPEG 비디오 인코더(300)도 고속 동작이 가능하고 하드웨어가 작아진다. 또한, 본 실시예에서 FDCT 회로(70)은 상술한 FDCT 회로(80이나 90)으로 재배열되어도 된다.
본 발명은 다음 상태에서 실시되어도 좋은 것으로 이해할 수 있다.
제1 및 제3 실시예는 8요소의 1차원의 IDCT 회로에 관하여 언급하고 있지만, 본 발명은 N요소의 1차원의 IDCT 회로(N은 8이외의 자연수)에 적용되어도 좋다. 또, 제2 및 제3 실시예는 8요소의 1차원의 FDCT 회로에 관하여 언급하고 있지만 본 발명은 N요소의 1차원의 FDCT 회로(N은 8이외의 자연수)에 적용되어도 된다. 또한, 제4 및 제5 실시예는 8 x 8 요소의 2차원의 FDCT 회로 및/또는 IDCT 회로에 관해 언급하고 있지만 본 발명은 N x N 요소의 2차원의 FDCT 회로 및/또는 IDCT 회로에 적용되어도 된다. 이들 경우에 N이 클수록 부호화 효율은 좋아지지만 연산량은 증가한다. 결국, 부호화 효율과 연산량을 트레이드 오프의 관계에 있다는 것을 상기해야 한다.
제1∼6 실시예에서의 각 회로(1~97)에서의 신호 처리를 CPU를 이용한 소프트웨어적인 신호 처리로 행해도 된다. 본 발명은 MPEG 비디오 디코더뿐만 아니라 DCT를 이용하는 것 외에 모든 데이타 처리 장치에 적용되어도 된다. 또, MPEG 방식에서 파생된 데이타 처리 방식이나 MPEG 방식을 포함하는 데이타 처리 방식에 대하여 본 발명이 적용되어도 된다.
지금까지 본 발명의 양호한 실시예에 관하여 상세하게 기술하였지만, 이 설명은 단지 예에 불과하고, 제한적 의미로 해석되지 않는다. 또한, 본 분야에 숙련된 자들은 본 발명의 실시예를 여러가지 형태로 변화시킬 수 있다. 이러한 변화 및 부수적인 실시예는 첨부된 특허 청구의 범위에 의해서만 제한된다.
제1A도, 제1B도는 제1 종래예의 블럭 회로도.
제2A도, 제2B도는 제2 종래예의 블럭 회로도.
제3도는 본 발명의 제1 실시예에 따른 IDCT 회로의 블럭 회로도.
제4도는 제1 실시예의 IDCT 회로의 연산 동작을 설명하는 도면.
제5도는 본 발명의 제2 실시예에 따른 FDCT 회로의 블럭 회로도.
제6도는 제2 실시예의 FDCT회로의 연산 동작을 설명하는 도면.
제7도는 본 발명의 제3 실시예에 따른 FDCT/IDCT 회로의 블럭 회로도.
제8A도, 제8B도, 제8C도는 본 발명의 제4 실시예에 따른 2차원 FDCT 및/또는 IDCT 회로의 블럭 회로도.
제9A도, 제9B도, 제9C도는 본 발명의 제5 실시예에 따른 2차원 FDCT 및/또는 IDCT 회로의 블럭 회로도.
제10도는 본 발명의 제6 실시예에 따른 2차원 FDCT 및/또는 IDCT 회로의 블럭 회로도.
제11도는 본 발명의 제7 실시예에 따른 MPEG 비디오 디코더의 블럭 회로도.
제12도는 본 발명의 제8 실시예에 따른 MPEG 비디오 인코더의 블럭 회로도.
도면의 주요 부분에 대한 부호의 설명
1 : 1차원 IDCT 회로 11-18 : 정수 승산기
21∼28 : 가산기

Claims (27)

  1. 패러럴로 외부로부터 제공되는 복수의 입력 데이터를 수신하는 것으로, 각각은 수신된 입력 데이타에 대하여 코사인 정수를 승산하는 일군의 승산기; 및
    상기 승산기로부터 승산 결과를 수신하고 그 계산 결과를 가감산하여, 상기 입력 데이터를 이산 코사인 역변환 시킨 결과인 출력 데이터를 생성하는 일군의 가감산기
    를 포함하고,
    상기 각 승산기는 상기 다수의 입력 데이터가 상기 각 승산기로 분배되는 방법에 따라 개개의 승산 결과를 정(+) 또는 부(-)의 값으로 설정하는 것을 특징으로 하는 1차원 이산 코사인 역변환 회로.
  2. 패러럴로 외부로부터 제공되는 8개의 입력 데이터를 수신하는 것으로, 각각은 다수의 입력 데이터에 대하여 코사인 정수를 승산하고, 각각은 상기 다수의 입력 데이터의 상기 각 승산기에의 분배 방법에 따라 개개의 계산 결과를 정(+) 또는 부(-)의 값으로 설정하는 일군의 8개의 승산기; 및
    상기 8개의 승산기로부터 계산 결과를 수신하고 그 계산 결과를 가감산하여, 상기 입력 데이터를 이산 코사인 역변환시킨 결과인 한 쌍의 출력 데이터를 생성하는 일군의 가감산기
    를 포함하는 1차원 이산 코사인 역변환 회로.
  3. 패러럴로 외부로부터 제공되는 입력 데이터를 수신하고 상기 입력 데이터의 가감산을 수행하는 일군의 입력 스테이지 가감산기;
    상기 입력 스테이지 가감산기로부터 계산 결과를 수신하기 위한 것으로, 각각이 상기 각 계산 결과에 대하여 코사인 정수를 승산하는 일군의 승산기;
    상기 승산기로부터 승산 결과를 수신하고 상기 승산 결과를 가산하여, 상기 입력 데이터의 이산 코사인 정변환의 결과인 출력 데이터를 생성하는 일군의 출력 스테이지 가산기; 및
    상기 입력 스테이지 가감산기와 상기 일군의 승산기 사이에 제공되어, 상기 입력 스테이지 가감산기로부터 상기 일군의 승산기로 미리 정해진 전환 규칙(switching rule)에 따라 개별적으로 상기 계산 결과를 제공하기 위한 전환 회로(selector)
    를 포함하는 1차원 이산 코사인 정변환 회로.
  4. 제3항에 있어서,
    상기 일군의 입력 스테이지 가감산기는 다수의 계산 결과를 생성하고,
    상기 전환 규칙 전환 회로는 상기 각 계산 결과 중 선택된 결과를 상기 미리 정해진 전환 규칙에 따라 상기 일군의 승산기의 선택된 승산기로 제공하는 것을 특징으로 하는 1차원 이산 코사인 정변환 회로.
  5. 패러럴로 외부로부터 제공된 다수의 입력 데이터를 수신하고 상기 입력 데이터에 대해 가감산을 수행하기 위한 일군의 입력 스테이지 가감산기;
    상기 입력 스테이지 가감산기로부터 계산 결과를 수신하기 위한 것으로, 각각이 각 출력 결과에 대하여 코사인 정수를 승산하는 일군의 승산기;
    상기 승산기로부터 승산 결과를 수신하고 상기 승산 결과를 가산하여, 상기 입력 데이터의 이산 코사인 정변환의 결과인 출력 데이터를 생성하는 일군의 출력 스테이지 가산기;
    상기 입력 스테이지 가감산기와 상기 일군의 승산기 사이에 제공되는 것으로, 미리 정해진 전환 규칙에 따라 상기 입력 스테이지 가감산기로부터 상기 일군의 승산기로 계산 결과를 제공하기 위한 전환 회로
    를 포함하고,
    상기 각 승산기는 상기 입력 스테이지 가감산기로부터의 상기 계산 결과가 상기 전환 회로에 의해 상기 각 승산기로 분배되는 방법에 따라 정 또는 부의 값으로 설정되는 것을 특징으로 하는 1차원 이산 코사인 정변환 회로.
  6. 패러럴로 외부로부터 제공된 8개의 입력 데이터를 수신하고 상기 입력 데이터에 대한 가감산을 수행하기 위한 일군의 입력 스테이지 가감산기;
    입력 값과 코사인 정수를 승산하기 위한 일군의 8개의 승산기;
    상기 입력 스테이지 가감산기와 상기 일군의 8개의 승산기 사이에 제공되며, 미리 정해진 전환 규칙에 따라 상기 입력 스테이지 가감산기로부터 상기 일군의 8개의 승산기로 계산 결과를 제공하기 위한 것으로, 각 8개의 승산기는 상기 승산결과가 상기 입력 스테이지 가감산기로부터 상기 전환 회로에 의해 상기 8개의 승산기로 분배되는 방법에 따라 정 또는 부의 값으로 설정되는 전환 회로; 및
    상기 8개의 승산기에 연결되어, 상기 8개의 승산기로부터의 상기 승산 결과를 가산하여, 상기 입력 데이터의 이산 코사인 정변환의 결과인 한 쌍의 출력 데이터를 생성하는 일군의 출력 스테이지 가산기
    를 포함하는 1차원 이산 코사인 정변환 회로.
  7. 패러럴로 외부로부터 제공되어 이산 코사인 정변환이 가해지는 다수의 제1 입력 데이터를 수신하여, 상기 입력 데이터에 대한 가감산을 수행하기 위한 일군의 입력 스테이지 가감산기;
    상기 입력 스테이지 가감산기로부터의 계산 결과 데이터와 패러럴로 외부로부터 제공되어 이산 코사인 역변환이 가해지는 다수의 제2 입력 데이터를 수신하여, 상기 입력 스테이지 가감산기로부터의 상기 계산 결과 데이터 또는 상기 제2 입력 데이터를 선택적으로 출력하기 위한 입력 전환 회로;
    상기 입력 전관 회로와 연결되어, 상기 입력 전환 회로로부터 상기 선택된 데이터와 코사인 정수를 승산하기 위한 일군의 승산기;
    상기 승산기로부터 승산 결과를 수신하고 상기 승산 결과에 대한 가감산을 수행하여 출력 데이터 - 상기 출력 데이터는 상기 입력 스테이지 가감산기로부터의 상기 계산 결과가 상기 입력 전환 회로에 의해 선택된 때는 이산 코사인 정변환의결과를 나타내고, 상기 제2 입력 데이터가 상기 입력 전환 회로에 의해 선택된 때는 이산 코사인 역변환의 결과를 나타냄 - 를 생성하기 위한 일군의 출력 스테이지 가감산기; 및
    상기 입력 스테이지 가감산기와 상기 일군의 승산기 사이에 제공되어, 미리 정해진 전환 규칙에 따라 상기 입력 스테이지 가감산기로부터 상기 일군의 승산기로 상기 계산 결과를 제공하기 위한 전환 규칙 전환 회로
    를 포함하는 1차원 이산 코사인 변환 회로.
  8. 제7항에 있어서,
    상기 입력 스테이지 가감산기는 다수의 계산 결과를 생성하고,
    상기 전환 규칙 전환 회로는 상기 계산 결과에 대한 선택된 개개의 계산 결과를 상기 일군의 승산기의 미리 정해진 각 승산기로 제공하는 것을 특징으로 하는 1차원 이산 코사인 변환 회로.
  9. 외부로부터 패러럴로 제공되어 이산 코사인 정변환이 가해지는 다수의 제1 입력 데이터를 수신하고, 상기 제1 입력 데이터에 대한 가감산을 수행하기 위한 일군의 입력 스테이지 가감산기;
    상기 입력 스테이지 가감산기로부터의 계산 결과 데이터와 외부로부터 패러럴로 제공되어 이산 코사인 역변환이 가해지는 다수의 제2 입력 데이터를 수신하여, 상기 입력 스테이지 가감산기로부터의 상기 계산 결과 데이터 또는 상기 제2입력 데이터를 선택적으로 출력하기 위한 입력 전환 회로;
    상기 입력 전환 회로에 연결되어, 상기 입력 전환 회로로부터 상기 선택된 데이터와 코사인 정수를 승산하기 위한 일군의 승산기;
    상기 승산기로부터 승산 결과를 수신하고 상기 승산 결과에 대해 가감산을 수행하여 출력 데이터 - 상기 출력 데이터는 상기 입력 스테이지 가감산기로부터 상기 계산 결과가 상기 입력 전환 회로에 의해 선택된 때는 이산 코사인 정변환 결과를 나타내고, 상기 제2 입력 데이터가 상기 입력 전환 회로에 의해 선택된 때는 이산 코사인 역변환 결과를 나타냄 - 를 생성하기 위한 일군의 출력 스테이지 가감산기;
    상기 입력 스테이지 가감산기와 상기 일군의 승산기 사이에 제공되어, 미리 정해진 전환 규칙에 따라 상기 입력 스테이지 가감산기로부터 일군의 승산기로 상기 계산 결과를 제공하기 위한 전환 규칙 전환 회로
    를 포함하고,
    상기 각 승산기는 상기 계산 결과가 상기 입력 스테이지 가감산기로부터 상기 전환 규칙 전환 회로에 의해 상기 승산기에의 분배 방법에 따라 정 또는 부의 값으로 승산 결과가 설정되는 것을 특징으로 하는 1차원 이산 코사인 변환 회로.
  10. 패러럴로 외부로부터 제공되어 이산 코사인 정변환이 가해지는 다수의 제1 입력 데이터를 수신하고 상기 제1 입력 데이터에 대한 가감산을 수행하기 위한 일군의 입력 스테이지 가감산기;
    상기 입력 스테이지 가감산기로부터의 계산 결과 데이터와 패러럴로 외부로부터 제공되어 이산 코사인 역변환이 가해지는 다수의 제2 입력 데이터를 수신하여 상기 입력 스테이지 가감산기로부터의 계산 결과 데이터 또는 제2 입력 데이터를 선택적으로 출력하기 위한 입력 전환 회로;
    상기 입력 전환 회로에 연결되어 상기 입력 전환 회로로부터 상기 선택된 데이터와 코사인 정수를 승산하기 위한 일군의 승산기;
    상기 승산기로부터 승산 결과를 수신하고 상기 승산 결과에 대한 가감산을 수행하여 출력 데이터 - 상기 출력 데이터는 상기 입력 스테이지 가감산기로부터의 상기 계산 결과가 상기 입력 전환 회로에 의해 선택된 때는 이산 코사인 정변환의 결과를 나타내고, 상기 제2 입력 데이터가 상기 입력 전환 회로에 의해 선택된 때는 이산 코사인 역변환의 결과를 나타냄 - 를 생성하기 위한 일군의 출력 스테이지 가감산기
    를 포함하고,
    상기 각 승산기는 다수의 제2 입력 데이터가 상기 승산기에의 분배 방법에 따라 정 또는 부의 값으로 승산 결과를 설정되는 것을 특징으로 하는 1차원 이산 코사인 변환 회로.
  11. 패러럴로 외부로부터 제공된 다수의 입력 데이터를 수신하고 상기 입력 데이터에 대해 가감산을 수행하기 위한 일군의 입력 스테이지 가감산기;
    상기 입력 스테이지 가감산기로부터 계산 결과를 수신하기 위한 것으로, 각각이 각 계산 결과에 대하여 코사인 정수를 승산하는 일군의 승산기;
    상기 승산기로부터 승산 결과를 수신하고 상기 승산 결과를 가산하여 상기 입력 데이터의 이산 코사인 정변환 결과인 출력 데이터를 생성하는 일군의 출력 스테이지 가산기; 및
    상기 입력 스테이지 가감산기와 상기 일군의 승산기 사이에 제공되어, 미리 정해진 전환 규칙에 따라 개별적으로, 상기 입력 스테이지 가감산기로부터 상기 일군의 승산기로 상기 계산 결과를 제공하기 위한 전환 회로
    를 포함하는 1차원 이산 코사인 정변환 회로;
    일시적으로 데이터를 저장하는 레지스터; 및
    상기 1차원 코사인 정변환 회로와 상기 레지스터 사이에 연결되어, 그들 사이의 데이터 전송 동작을 제어하기 위한 것으로, 상기 1차원 이산 정변환 회로로부터 상기 레지스터로 출력 데이터를 전송하고, 상기 레지스터에 저장된 상기 전송된 출력 데이터를 새로운 입력 데이터로서 1차원 이산 코사인 정변환 회로에 제공하는 콘트롤러
    를 포함하는 2차원 이산 코사인 정변환 회로.
  12. 제11항에 따른 2차원 이산 코사인 정변환 회로를 포함하는 MPEG 비디오 인코더.
  13. 제12항에 있어서, 상기 일군의 출력 스테이지 가산기는 적어도 2 스테이지가산기를 포함하는 것을 특징으로 하는 MPEG 비디오 인코더.
  14. 제11항에 있어서, 상기 일군의 출력 스테이지 가산기는 적어도 2 스테이지 가산기를 포함하는 것을 특징으로 하는 2차원 이산 코사인 정변환 회로.
  15. 패러럴로 외부로부터 제공된 다수의 입력 데이터를 수신하고 상기 입력 데이터에 대해 가감산을 수행하는 제1 일군의 입력 스테이지 가감산기;
    상기 제1 일군의 입력 스테이지 가감산기로부터 제1 계산 결과를 수신하는 것으로, 각각이 상기 각 제1 계산 결과에 대하여 코사인 정수를 승산하는 제1 일군의 승산기;
    상기 제1 일군의 승산기로부터 제1 승산 결과를 수신하고 상기 제1 승산 결과를 가산하여, 상기 제1 입력 데이터의 제1 1차원 이산 코사인 정변환의 결과인 제1 출력 데이터를 생성하는 일군의 제1 출력 스테이지 가산기; 및
    상기 제1 일군의 입력 스테이지 가감산기와 상기 제1 일군의 승산기 사이에 제공되는 것으로, 미리 정해진 전환 규칙에 따라 개별적으로 상기 제1 일군의 입력 스테이지 가감산기로부터 상기 제1 일군의 승산기로 제1 계산 결과를 제공하기 위한 제1 전환 회로
    를 포함하는 제1의 1차원 이산 코사인 정변환 회로;
    패러럴로 외부로부터 제공된 다수의 제2 입력 데이터를 수신하고 상기 제2 입력 데이터에 대해 가감산을 수행하는 제2 일군의 입력 스테이지 가감산기;
    상기 제2 일군의 입력 스테이지 가감산기로부터 제2 계산 결과를 수신하는 것으로, 각각이 상기 각 제2 계산 결과에 대하여 코사인 정수를 승산하는 제2 일군의 승산기;
    상기 제2 일군의 승산기로부터 제2 승산 결과를 수신하고 상기 제2 승산 결과를 가산하여, 상기 제2 입력 데이터의 제2의 1차원 이산 코사인 정변환의 결과인 제2 출력 데이터를 생성하는 일군의 제2 출력 스테이지 가산기; 및
    상기 제2 일군의 입력 스테이지 가감산기와 상기 제2 일군의 승산기 사이에 제공되는 것으로, 미리 정해진 전환 규칙에 따라 개별적으로 상기 제2 일군의 입력 스테이지 가감산기로부터 상기 제2 일군의 승산기로 제2 계산 결과를 제공하기 위한 제2 전환 회로
    를 포함하는 제2의 1차원 이산 코사인 정변환 회로;
    상기 제1 1차원 이산 코사인 정변환 회로로부터 상기 제1 출력 데이터를 일시적으로 저장하는 레지스터; 및
    상기 레지스터에 저장된 제1 출력 데이터를 상기 제2 입력 데이터로서, 상기 제2의 1차원 이산 코사인 정변환 회로로 전송하기 위한 데이터 전송 제어 수단
    을 포함하는 2차원 이산 코사인 정변환 회로.
  16. 제15항에 따른 2차원 이산 코사인 정변환 회로를 포함하는 MPEG 비디오 인코더.
  17. 제16항에 있어서, 상기 제1 및 제2 출력 스테이지 가산기군 각각은 적어도 2 스테이지 가산기를 포함하는 것을 특징으로 하는 MPEG 비디오 인코더.
  18. 제15항에 있어서, 상기 제1 및 제2 출력 스테이지 가산기군은 적어도 2 스테이지 가산기를 포함하는 것을 특징으로 하는 2차원 이산 코사인 정변환 회로.
  19. 제15항에 있어서,
    상기 제1 일군의 입력 스테이지 가감산기와 상기 제2 일군의 입력 스테이지 가감산기의 각각은 다수의 상기 개별적인 제1 및 제2 계산 결과를 생성하고,
    상기 각 제1 및 제2 전환 회로는 개별적으로 선택된 상기 제1 및 제2 계산결과를 상기 미리 정해진 전환 규칙에 따라 개별적으로 미리 정해진 상기 제1 및 제2 승산군의 각 승산기로 제공하는 것을 특징으로 하는 2차원 이산 코사인 정변환 회로.
  20. 패러럴로 외부로부터 제공된 다수의 입력 데이터를 수신하기 위한 것으로, 각각은 수신된 입력 데이터에 대하여 코사인 정수를 승산하며 상기 다수의 입력 데이터의 승산기에의 분배 방법에 따라 승산 결과를 정 또는 부의 값으로 설정하는 일군의 승산기; 및
    상기 승산기로부터 승산 결과를 수신하고 상기 입력 데이터의 이산 코사인 역변환의 결과인 출력 데이터를 생성하는 일군의 가감산기
    를 포함하는 1차원 이산 코사인 역변환 회로;
    일시적으로 데이터를 저장하는 레지스터; 및
    상기 1차원 이산 코사인 역변환 회로와 상기 레지스터에 연결되어, 그것들 사이에 데이터 전송 동작을 제어하기 위한 것으로, 상기 1차원 이산 코사인 역변환 회로로부터 상기 레지스터로 출력 데이터를 전송하고 상기 레지스터에 저장된 상기 전송된 출력 데이터를 새로운 입력 데이터로서 상기 1차원 이산 코사인 역변환 회로에 제공하는 콘트롤러
    를 포함하는 2차원 이산 코사인 역변환 회로.
  21. 제20항에 따른 2차원 이산 코사인 역변환 회로를 포함하는 MPEG 비디오 디코더.
  22. 제21항에 있어서, 상기 가감산기군은 적어도 3 스테이지 가감산기를 포함하는 것을 특징으로 하는 MPEG 비디오 디코더.
  23. 제20항에 있어서, 상기 가감산기군은 적어도 3 스테이지 가감산기를 포함하는 것을 특징으로 하는 2차원 이산 코사인 역변환 회로.
  24. 패러럴로 외부로부터 제공되는 다수의 제1 입력 데이터를 수신하는 것으로, 각각은 상기 수신된 제1 입력 데이터에 대하여 코사인 정수를 승산하며 상기 다수의 제1 입력 데이터의 상기 제1 승산기군에의 분배 방법에 따라 상기 제1 승산 결과를 정 또는 부의 값으로 설정하는 제1 일군의 승산기; 및
    상기 제1 승산기군으로부터 제1 승산 결과를 수신하고 가감산을 수행하여, 상기 제1 입력 데이터의 이산 코사인 역변환 결과인 제1 출력 데이터를 생성하는 제1 일군의 가감산기
    를 포함하는 제1의 1차원 이산 코사인 역변환 회로;
    패러럴로 외부로부터 제공되는 다수의 제2 입력 데이터를 수신하는 것으로, 각각은 상기 수신된 제2 입력 데이터에 대하여 코사인 정수를 승산하며 상기 다수의 제2 입력 데이터의 상기 제2 승산기군에의 분배 방법에 따라 상기 제2 승산 결과를 정 또는 부의 값으로 설정하는 제2 일군의 승산기; 및
    상기 제2 승산기군으로부터 제2 승산 결과를 수신하고 가감산을 수행하여, 상기 제2 입력 데이터의 이산 코사인 역변환 결과인 제2 출력 데이터를 생성하는 제2 일군의 가감산기
    를 포함하는 제2의 2차원 이산 코사인 역변환 회로;
    상기 제1의 1차원 이산 코사인 역변환 회로로부터 상기 제1 출력 데이터를 일시적으로 저장하는 레지스터; 및
    상기 레지스터에 저장된 상기 제1 출력 데이터를 상기 제2 입력 데이터로서 상기 제2의 1차원 이산 코사인 역변환 회로로 전송하기 위한 데이터 전송 제어 수단
    을 포함하는 2차원 이산 코사인 역변환 회로.
  25. 제24항에 따른 2차원 이산 코사인 역변환 회로를 포함하는 MPEG 비디오 디코더.
  26. 제25항에 있어서, 상기 각 제1 및 제2 가감산기군 각각은 적어도 3스테이지 가감산기를 포함하는 것을 특징으로 하는 MPEG 비디오 디코더.
  27. 제24항에 있어서, 상기 제1 및 제2 가감산기군은 적어도 3 스테이지 가감산기를 포함하는 것을 특징으로 하는 2차원 이산 코사인 역변환 회로.
KR1019950043215A 1994-11-30 1995-11-23 이산코사인변환회로,이산코사인역변환회로,mpeg비디오인코더및mpeg비디오디코더 KR100377084B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP29735094 1994-11-30
JP94-297350 1994-11-30
JP95-066474 1995-03-24
JP6647495 1995-03-24
JP28092695A JP3025750B2 (ja) 1994-11-30 1995-10-27 離散コサイン変換回路,離散コサイン逆変換回路,mpegビデオエンコーダ,mpegビデオデコーダ
JP95-280926 1995-10-27

Publications (2)

Publication Number Publication Date
KR960020541A KR960020541A (ko) 1996-06-17
KR100377084B1 true KR100377084B1 (ko) 2003-05-09

Family

ID=27299145

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950043215A KR100377084B1 (ko) 1994-11-30 1995-11-23 이산코사인변환회로,이산코사인역변환회로,mpeg비디오인코더및mpeg비디오디코더

Country Status (3)

Country Link
US (1) US5748514A (ko)
JP (1) JP3025750B2 (ko)
KR (1) KR100377084B1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6327601B1 (en) * 1997-01-06 2001-12-04 Texas Instruments Incorporated Linear transform system for decoding video data
US6374280B1 (en) * 1998-05-07 2002-04-16 Sarnoff Corporation Computationally efficient inverse discrete cosine transform method and apparatus
US6052703A (en) * 1998-05-12 2000-04-18 Oak Technology, Inc. Method and apparatus for determining discrete cosine transforms using matrix multiplication and modified booth encoding
KR100563493B1 (ko) 1999-09-16 2006-03-27 브이케이 주식회사 입출력 데이터의 위치가 동일한 고속 이산 여현 변환 연산 장치 및 그 방법
US6675185B1 (en) * 2000-06-07 2004-01-06 International Business Machines Corporation Hybrid domain processing of multi-dimensional transformed data
EP2250581B1 (en) * 2008-01-31 2015-09-02 Qualcomm Incorporated Device for dft calculation
JP2009258786A (ja) * 2008-04-11 2009-11-05 Mitsubishi Electric Corp 動画像符号化装置
US9848188B1 (en) 2013-06-12 2017-12-19 Apple Inc. Video coding transform systems and methods
CN105791871A (zh) * 2014-12-25 2016-07-20 炬芯(珠海)科技有限公司 一种离散余弦变换dct装置及应用方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5216516A (en) * 1990-04-27 1993-06-01 Ricoh Company, Inc. Orthogonal transformation arithmetic unit
US5394349A (en) * 1992-07-10 1995-02-28 Xing Technology Corporation Fast inverse discrete transform using subwords for decompression of information
JP3697717B2 (ja) * 1993-09-24 2005-09-21 ソニー株式会社 2次元離散コサイン変換装置および2次元逆離散コサイン変換装置

Also Published As

Publication number Publication date
JP3025750B2 (ja) 2000-03-27
KR960020541A (ko) 1996-06-17
US5748514A (en) 1998-05-05
JPH08329047A (ja) 1996-12-13

Similar Documents

Publication Publication Date Title
Kovac et al. JAGUAR: A fully pipelined VLSI architecture for JPEG image compression standard
EP0673171B1 (en) Video decoder
US5659362A (en) VLSI circuit structure for implementing JPEG image compression standard
US5649077A (en) Modularized architecture for rendering scaled discrete cosine transform coefficients and inverse thereof for rapid implementation
EP1679658A2 (en) Image signal transforming method, image signal inversely-transforming method, image encoding apparatus, image encoding method, image encoding program, image decoding apparatus, image decoding method, and image decoding program
KR100377084B1 (ko) 이산코사인변환회로,이산코사인역변환회로,mpeg비디오인코더및mpeg비디오디코더
WO2000067147A1 (en) Methods and systems for performing short integer chen idct algorithm with fused multiply/add
US7076105B2 (en) Circuit and method for performing a two-dimensional transform during the processing of an image
JPH09212484A (ja) 離散コサイン変換方法
KR100313217B1 (ko) 파이프라인dct장치
US6181831B1 (en) Spatial frequency-domain video signal processing
KR20030057425A (ko) 역 변환 디바이스 및 역 변환 방법 및 변환 디바이스 및변환 방법
US7756351B2 (en) Low power, high performance transform coprocessor for video compression
US5664028A (en) Apparatus and method for compressing still images
Lienhart et al. An FPGA-based video compressor for H. 263 compatible bit streams
Bakr et al. Implementation of 3D-DCT based video encoder/decoder system
JPH1169147A (ja) 直交変換符号化画像の画像サイズ変換方法
JPH08307868A (ja) 動画像復号装置
JPH08180194A (ja) 符号化装置及び方法
KR970003805B1 (ko) 개선된 1차원 이산 및 역이산 코사인 변환장치
Chatterjee et al. Constant throughput HEVC core transform design
Ghorbani et al. A unified architecture for implementation of the entire transforms in the H. 264/AVC encoder
KR970003806B1 (ko) 이산 및 역이산 코사인 변환 장치
KR100317228B1 (ko) 압축영상에대한시각특수효과처리방법
Onoye et al. Design of inverse DCT unit and motion compensator for MPEG2 HDTV decoding

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

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20140220

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20150224

Year of fee payment: 13

EXPY Expiration of term