[go: up one dir, main page]

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

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

Info

Publication number
KR100451731B1
KR100451731B1 KR10-2001-0080762A KR20010080762A KR100451731B1 KR 100451731 B1 KR100451731 B1 KR 100451731B1 KR 20010080762 A KR20010080762 A KR 20010080762A KR 100451731 B1 KR100451731 B1 KR 100451731B1
Authority
KR
South Korea
Prior art keywords
idct
multiplication
matrix
unit
column
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR10-2001-0080762A
Other languages
English (en)
Other versions
KR20030050344A (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 KR10-2001-0080762A priority Critical patent/KR100451731B1/ko
Priority to US10/321,369 priority patent/US7136890B2/en
Publication of KR20030050344A publication Critical patent/KR20030050344A/ko
Application granted granted Critical
Publication of KR100451731B1 publication Critical patent/KR100451731B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • H04N19/45Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder performing compensation of the inverse transform mismatch, e.g. Inverse Discrete Cosine Transform [IDCT] mismatch
    • 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
    • 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/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Discrete Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Complex Calculations (AREA)

Abstract

역 이산 코사인 변환(IDCT) 장치에 관한 것으로서, 특히 컬럼, 로우 1차원 IDCT부는 각각 입력 데이터에 대해 코사인 상수의 전치 행렬의 대각 특성과 대칭 특성을 이용하여 짝수 행렬과 홀수 행렬로 분리하고 이를 다시 1차 곱셈 행렬과 2차 곱셈 행렬로 나눈 후 동일 코사인 상수에 대해서는 곱셈기를 공유하여 1차 곱셈과 2차 곱셈을 순차적으로 수행하는데, 이때 전체 비디오 디코더와 동일한 클록에서 동작하며 동일한 인터페이스 구조를 따르는 IDCT 장치에 의해 출력 레이턴시의 감소를 가져오고, 이로 인해 디지털 TV 수신기의 성능을 향상시킬 수 있다. 또한, IDCT 인터페이스에 의해 불필요한 먹스와 디먹스를 제거하고, 각각의 1차원 IDCT의 내부 곱셈기의 공유 회로에 의해 IDCT 장치의 구현 로직 회로를 감소시킬 수 있다.

Description

역 이산 코사인 변환 장치{IDCT Apparatus}
본 발명은 디지털 TV 수신기에 관한 것으로서, 특히 역 이산 코사인 변환(Inverse Discrete Cosine Transform ; IDCT) 장치에 관한 것이다.
디지털 TV의 디지털 영상의 압축 부호화에는 MPEG(Moving Picture ExpertsGroup)-2 규격이 이용된다. 영상 압축의 기본 개념은 공간적인 리던던시(spatial redundancy)를 제거하기 위해 DCT와 양자화를 이용한다. 그리고 시간적인 리던던시(temporal redundancy)를 제거하기 위해 움직임 추정-보상(estimation-Compensation) 방법을 이용한다. 여기에서, DCT는 2차원 대각 변환(orthogonal transform)을 통해서 공간적인 데이터의 상관성을 제거하는 방법으로, 영상 프레임을 중복되지 않는 일정한 크기의 블록으로 나눈 후 각 블록의 픽셀들을 주파수 영역으로 변환하는 것이다.
MPEG-2 규격에서는 이러한 DCT 블록의 크기를 8*8로 정하고 있으며, DCT 계수는 1개의 DC값과 63개의 AC값으로 나뉘어진다. 여기에서 DC값은 블록의 평균 휘도 신호이며 AC값은 각 픽셀들의 공간 주파수 성분의 휘도를 나타낸다. 주파수 영역으로 변환된 DCT 블록의 특성은 주로 저주파 영역에 계수들이 분포한다는 것이며, 이는 적절한 DCT 계수의 양자화와 런-레벨 코딩에 의해 부호화할 데이터를 압축할 수 있음을 의미한다.
따라서, 디지털 TV 수신기에서는 송신기로부터 전달된 움직임 벡터와 DCT 계수를 이용하여 움직임 보상과 역 양자화, IDCT를 수행함에 의해 원래의 영상을 복원하게 된다.
도 1은 이러한 일반적인 디지털 TV 수신기의 비디오 디코더의 구성 블록도로서, 전송되는 비디오 비트스트림은 가변 길이 디코더(Variable Length Decoder ; VLD)(101)에서 가변길이 디코딩되어 움직임 벡터, 양자화 값, DCT 계수로 분리된다. 여기서, 상기 양자화 값, DCT 계수는 역스캔 및 역양자화(InverseScan/Inverse Quantizer ; IS/IQ)부(102)로 출력되고, 움직임 벡터는 움직임 보상부(105)로 출력된다.
상기 IS/IQ부(102)는 지그-재그 스캔 방식 또는 택일 스캔(Alternate scan) 방식으로 입력되는 데이터를 라스터 스캔(Raster Scan) 방식으로 역스캔하고, 역스캔된 DCT 계수를 양자화 값에 따라 역 양자화한 후 계수 버퍼(103)를 통해 IDCT부(104)로 출력한다. 상기 IDCT부(104)는 역 양자화된 DCT 계수에 대해 IDCT를 수행하여 가산기(107)로 출력한다.
한편, 상기 움직임 보상부(105)는 상기 움직임 벡터와 프레임 메모리(100)에 저장된 이전 프레임을 이용하여 현재의 픽셀값에 대한 움직임 보상을 수행한 후 예측 버퍼(106)를 통해 가산기(107)로 출력한다.
상기 가산기(107)는 IDCT된 값과 움직임 보상된 값을 더하여 최종 픽셀값인 완전한 영상으로 복원하여 디스플레이를 위해 출력함과 동시에 움직임 보상을 위해 저장 버퍼(108)를 통해 다시 프레임 메모리(100)에 저장한다.
이때, 디지털 TV 수신기의 고속 영상 복원을 위해서 상기된 도 1의 비디오 디코더의 클록은 IDCT부(104)를 제외하고 54MHz를 이용한다. 그리고, 상기 비디오 디코더 전체는 매크로 블록 단위로 영상 복원이 제어되며, 데이터의 이동은 기본적으로 4개의 픽셀 또는, 4개의 계수 단위로 이루어진다.
또한, 상기 IDCT부(104)는 주로 DCT 계수에 대해 2차원 IDCT를 수행하고 있다. 그러나, 2차원 IDCT는 다수의 수학적 연산을 수행하게 됨으로써, 회로 구현이 복잡하게 되고 고속으로 구현하기 어려운 점이 있다. 이 때문에 디지털 TV 수신기에서 IDCT의 구현은 전체 영상 복원 시스템의 성능을 좌우하는 중요한 요인이 된다.
즉, 상기 IDCT부(104)는 컬럼에 대하여 1차원 IDCT를 수행하고 이를 전치(transpose)한 후 다시 로우에 대하여 1차원 IDCT를 수행한다.
하기의 수학식 1은 2차원 IDCT의 행렬 표현식이다.
상기 수학식 1에서 A는 코사인 상수 행렬이며, AT는 코사인 상수 행렬의 전치 행렬(transpose matrix)이다.
상기 수학식 1과 같이 컬럼에 대해 코사인 상수의 전치 행렬을 이용해 1차원 IDCT를 수행하고, 이를 전치한 후 다시 로우에 대해 1차원 IDCT를 수행함으로써, 2차원 IDCT가 이루어지는 것이다. 이때, 코사인 상수의 전치 행렬의 대각 특성(orthogonality)과 대칭 특성(symmetry)을 이용하여 짝수 행렬(even matrix)과 홀수 행렬(odd matrix)로 나눌 수 있다.
다음의 수학식 2는 코사인 상수값을 나타내며, 수학식 3은 짝수 행렬과 홀수 행렬에 의한 1차원 IDCT를 보여준다.
짝수 행렬과 홀수 행렬의 곱셈에 의한 1차원 IDCT는 8개의 계수를 동시에 입력으로 받아서 상응하는 곱셈을 수행하게 된다. 이는 기존의 비디오 디코더의 IDCT 방법으로서, 디지털 TV 영상 복원 성능을 만족하기 위하여 많은 수의 곱셈기를 여러 단에 걸쳐 병렬로 배열하여 구현하고 있다.
이때, 곱셈기의 빠른 계산을 위한 알고리즘을 이용하기도 한다. 예를 들면, Booth 알고리즘이나 개선된멀티 비트 코딩 알고리즘등을 이용할 수도 있다.
만일 상기된 IDCT부(104)가 고속 IDCT 장치라면, 상기 IDCT부(104)는 50MHz에 동작하며 400M 샘플/sec의 성능을 가진다. 이때, 고속에서 동작함에 따라 회로의 크기는 매우 크게 된다. 그러나, 디지털 TV 수신기의 성능을 만족하는 IDCT의 성능은 200M 샘플/sec이면 충분하다.
따라서, 기존의 비디오 디코더에서는 IDCT 장치의 동작 클록으로 27MHz를 사용하여 216 샘플 레이트를 얻을 수 있었다. 이는 비디오 디코더의 동작 클록인 54MHz를 채용하고, 도 1의 IDCT 장치를 이용할 경우보다 로직 회로의 크기가 반정도 줄어드는 효과를 얻은 것이다.
이때, 27MHz에 의해 동작하는 IDCT에 의해 디지털 TV 영상 복원 성능을 만족하기 위해서는 8개의 계수 단위로 데이터를 입력하여 처리해야만 하였다.
따라서, 기존의 비디오 디코더 내부의 IDCT 장치는 도 2와 같이 디먹스(Demultiplexer)(201)와 먹스(multiplexer)(203)를 이용하여 입력은 4개의 데이터를 8개의 데이터로 디먹스하고, 출력은 8개의 데이터를 4개의 데이터로 먹스하는 제어를 해야만 한다.
도 3은 IDCT부(202)의 입력을 제어하는 디먹스(201)의 타이밍을 보이고 있다. 즉, 전체 시스템 클록인 vdclk에 의해 입력된 계수 데이터(c_d0~c_d3)가 IDCT부(202)의 클록인 idctclk에 의해 8개의 출력 데이터(x0∼x7)로 디먹스되어 IDCT부(202)로 입력된다.
도 4는 IDCT부(202)의 출력을 제어하는 먹스(203)의 타이밍을 보이고 있다. 즉, 상기 IDCT부(202)의 idctclk에 의해 출력된 픽셀값(z0∼z7)이 전체 시스템 클럭인 vdclk에 의해 픽셀 데이터(i_d0~i_d3)로 먹스되어 가산기(107)로 출력된다.
여기서, 상기 전체 시스템 클록인 vdclk는 54MHz이고, IDCT부(202)의 사용 클럭인 idctclk는 27MHz이다.
즉, 상기된 수학식 3에 의한 기존의 IDCT는 디지털 TV 수신기의 요구되는 성능을 만족하기 위하여 디먹스(201)를 이용하여 8개의 입력을 동시에 받고, 짝수 행렬과 홀수 행렬의 곱셈 연산을 모두 수행한 후 먹스(203)를 통해 매 클록마다 8개의 IDCT된 픽셀을 출력하게 된다. 따라서, 27MHz 클록에 의해 동작할 때 216M의 샘플 레이트를 가지게 된다.
그러나, 상기된 디먹스와 먹스의 추가는 회로 구현에서 상당한 양의 로직의 증가 요인이 된다. 또한, IDCT부가 전체 시스템과 다른 클록에 의해 동작하게 됨에 따라 IDCT부와의 인터페이스에 세심한 주의를 기울여 타이밍 제어를 하지 않으면 안된다.
이와 같이 기존의 비디오 디코더의 IDCT 장치는 8개의 계수 처리에 따른 곱셈기의 증가와 불필요한 먹스, 디먹스의 추가에 따라 ASIC 구현상의 로직 회로의 증가를 가져오게 된다.
또한, 전체 시스템과 다른 종류의 클록을 사용함에 따라 인터페이스 상에서 타이밍의 세심한 주의가 필요하며 추가적인 클록 발생 장치를 필요로 하게 된다.
본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 표준 권고안의 비트 정확도를 만족하며 적은 면적의 로직 회로에 의해 ASIC 구현이 가능한 IDCT 장치를 제공함에 있다.
도 1은 일반적인 디지털 TV의 비디오 디코더의 구성 블록도
도 2는 종래의 IDCT 장치의 개략도
도 3은 도 2의 디먹스의 타이밍도
도 4는 도 2의 먹스의 타이밍도
도 5는 본 발명에 따른 IDCT 장치의 구성 블록도
도 6은 본 발명에 따른 IDCT 장치의 인터페이스 타이밍도
도면의 주요부분에 대한 부호의 설명
501 : 컬럼 1차원 IDCT부 502 : 제 2 누산기
503 : 전치 행렬부 504 : 로우 1차원 IDCT부
505 : 제 2 누산기
상기와 같은 목적을 달성하기 위한 본 발명에 따른 IDCT 장치는, 역양자화된 컬럼 방향의 데이터에 대해 코사인 상수의 전치 행렬의 대각 특성과 대칭 특성을 이용하여 짝수 행렬과 홀수 행렬로 분리하고 이를 다시 1차 곱셈 행렬과 2차 곱셈 행렬로 나눈 후 동일 코사인 상수에 대해서는 곱셈기를 공유하여 1차 곱셈과 2차 곱셈을 순차적으로 수행하는 컬럼 1차원 IDCT부와, 첫 번째 클럭에서는 상기 컬럼 1차원 IDCT부의 1차 곱셈 결과를 저장하고, 두 번째 클록에서는 상기 저장 결과와 상기 2차 곱셈 결과를 더하여 출력하는 제 1 누산기와, 상기 제 1 누산기의 출력에대해 컬럼-로우 전치를 수행하는 전치 행렬부와, 상기 전치 행렬부에서 출력되는 로우 방향의 데이터에 대해 코사인 상수의 전치 행렬의 대각 특성과 대칭 특성을 이용하여 짝수 행렬과 홀수 행렬로 분리하고 이를 다시 1차 곱셈 행렬과 2차 곱셈 행렬로 나눈 후 동일 코사인 상수에 대해서는 곱셈기를 공유하여 1차 곱셈과 2차 곱셈을 순차적으로 수행하는 로우 1차원 IDCT부와, 첫 번째 클록에서는 상기 로우 1차원 IDCT부의 1차 곱셈 결과를 저장하고 두 번째 클록에서는 상기 저장 결과와 제 2차 곱셈 결과를 더하여 출력하는 제 2 누산기를 포함하여 구성되는 것을 특징으로 한다.
상기 컬럼, 로우 1차원 IDCT부에는 각각 4개의 DCT 계수 단위로 데이터 입력이 이루어지며, 상기 클럭은 전체 비디오 디코더의 클럭과 동일한 클럭인 것을 특징으로 한다.
상기 제 1, 제 2 누산기는 각 누산 결과에 대해 비트 정확도에 영향을 미치지 않는 소수점 이하 자리에 해당하는 비트의 라운딩을 수행하는 것을 특징으로 한다.
본 발명의 다른 목적, 특징 및 잇점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예의 구성과 그 작용을 설명하며, 도면에 도시되고 또 이것에 의해서 설명되는 본 발명의 구성과 작용은 적어도 하나의 실시예로서 설명되는 것이며, 이것에 의해서 상기한 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.
본 발명에 따른 IDCT 장치는 곱셈기 자체의 빠른 계산보다는 곱셈기의 수를 줄이는데 있다. 또한, 상기된 도 2와 같은 디먹스와 먹스를 이용하지 않는다. 즉, IDCT 장치가 전체 비디오 디코더와 동일 클록에서 동작하면서 디지털 TV의 성능을 만족하는 출력을 가지도록 함으로써, 디먹스와 먹스를 제거할 수 있다. 따라서, 본 발명은 불필요한 로직의 감소 효과를 얻을 수 있다.
이때, 상기 IDCT 장치는 2차원 IDCT를 로우-컬럼 분리 방법에 의해 두 번의 1차원 IDCT를 수행함으로써 구현하게 된다. 즉, 컬럼에 대하여 1차원 IDCT를 수행하고 이를 전치(transpose)한 후 다시 로우에 대하여 1차원 IDCT를 수행하는 방법을 기본적으로 이용한다.
도 5는 본 발명에 따른 IDCT 장치의 구성 블록도로서, 두 클럭에 걸쳐 하나의 컬럼에 해당하는 8개의 데이터를 IDCT에서 요구되어지는 배열에 따라 입력받아 컬럼 방향으로 1차원 IDCT를 수행하는 컬럼 1차원 IDCT부(501), 상기 컬럼 1차원 IDCT부(501)의 출력을 누산하는 제 1 누산기(502), 상기 제 1 누산기(502)의 출력에 대해 컬럼-로우 즉, 수평-수직 전치를 수행하는 전치 행렬부(503), 상기 전치 행렬부(503)의 출력에 대해 로우 방향으로 1차원 IDCT를 수행하는 로우 1차원 IDCT부(504), 및 상기 로우 1차원 IDCT부(504)의 출력을 누산하는 제 2 누산기(505)로 구성된다.
이와 같이 구성된 본 발명에서 비디오 디코더의 기준 클록인 54MHz의 클록을 IDCT 장치에도 적용하려면 상당한 회로의 감소가 있어야만 한다. 이는 회로의 크기가 줄어들면 동작 클록이 높아진다는 기본적인 원칙에 기인한다. 충분한 회로의 감소와 비디오 디코더 시스템의 철저한 검증 그리고, 성능 향상을 위해 본 발명에서는 IDCT부의 입력을 4개의 DCT 계수의 단위로 한다. 이렇게 구현된 2차원 IDCT 장치는 동일 클록에서 동작하며 로직 회로가 감소되면서도 기존의 IDCT와 같은 216M 샘플 레이트를 가지게 된다. 이는 디지털 TV 수신기의 성능을 만족하기에 충분하다.
이를 위해, 상기된 도 1의 계수 버퍼(103)는 유효 신호인 c_valid와 데이터인 c_d0~c_d3를 컬럼 1차원 IDCT부(501)로 출력한다.
즉, 상기 컬럼 1차원 IDCT부(501)에는 4개의 데이터 입력을 가지며 두 클록에 걸쳐서 하나의 컬럼에 해당하는 8개의 데이터가 IDCT에서 요구되어지는 배열에 따라 입력된다. 따라서, 총 16클록에 걸쳐 하나의 8*8 블록에 해당하는 데이터가 입력된다.
그리고, 컬럼 1차원 IDCT부(501)의 결과는 제 1 누산기(502)에서 1차 곱셈의 결과와 누산되게 된다. 즉, 상기 컬럼 1차원 IDCT부(501)에서 출력되는 유효 신호인 y'_valid 신호와 데이터인 y'0~y'7는 두 클록에 걸쳐서 제 1 누산기(502)에 의해 합산된다. 또한, 합산된 결과는 비트 정확도를 만족하고 회로의 감소를 위해 상기 제 1 누산기(502)에서 적절한 비트로 라운딩(rounding)하게 된다. 그리고 나서, 상기 제 1 누산기(502)는 두 클록마다 8개의 컬럼 1차원 IDCT된 결과를 전치 행렬부(503)로 출력한다.
즉, 컬럼 1차원 IDCT부(501)의 결과는 로우 1차원 IDCT부(504)의 입력으로 전해지기 전에 전치하여야 한다. 이는 전치 행렬부(503)의 전치 행렬에 의해 이루어지게 된다. 이때, 로우 1차원 IDCT부(504)의 입력은 컬럼 1차원 IDCT부(501)와 마찬가지로 4개의 입력 데이터를 가진다.
즉, 상기 전치 행렬부(503)는 두 클록마다 한번씩 y_valid 신호와 y0~y7의 결과를 먹스 플립플롭(Muxed Flip Flop)에 저장하고 8*8 블록의 1차원 IDCT 결과가 모두 저장된 후 전치된 결과를 로우 1차원 IDCT부(504)에서 요구하는 배열에 따라 4개의 데이터 단위로 출력한다.
상기 로우 1차원 IDCT부(504)는 컬럼 1차원 IDCT부(504)와 똑같은 구조를 가진다. 컬럼-로우 분리 방법에 따른 IDCT는 컬럼 1차원 IDCT후에 전치한 데이터를 로우 방향에 대해 1차원 IDCT를 수행함으로써 2차원 IDCT 변환을 수행하게 된다. 그에 따라 같은 구조를 가지는 1차원 IDCT를 적용하게 된다. 상기 로우 1차원 IDCT(504)의 결과는 z'_valid 신호와 z'0~z'7에 의해 제 2 누산기(505)로 출력된다.
상기 제 2 누산기(505)는 제 1 누산기(502)와 마찬가지로 두 클록에 걸쳐서 1차 곱셈과 2차 곱셈의 결과를 누산하고 최종 출력에 대한 비트 정확도를 만족할 수 있게 라운딩을 한다. 이때, IDCT된 픽셀 값 또는 차이값(difference value)은 -256~255의 범위로 제한된다. 따라서, 상기 제 2 누산기(505)는 이러한 범위에 벗어나지 않도록 최종 출력 값의 범위를 제한(pixel level suppression)하는 기능도 수행한다.
이와 같이, 상기된 제 1 누산기(502)와 제 2 누산기(505)는 1차원 IDCT된 결과를 누적하는 기능과 더불어 비트 정확도에 영향을 미치지 않는 소수점 이하 자리에 해당하는 비트의 라운딩 기능도 또한 수행하게 된다. IDCT의 내부 연산에 필요한 데이터 버스의 수는 전체 연산의 효율성은 물론 로직 회로의 면적과도 밀접한 관련이 있다. 따라서 불필요한 데이터 비트는 라운딩하여야 하며 또한, 주의를 기울여서 수행해야만 IDCT의 성능의 저하를 막을 수 있다.
이상에서와 같이 2차원 IDCT가 수행된 결과는 유효 신호인 i_valid와 4개의 데이터 버스인 i_d0~i_d3에 의해 도 1의 매크로 블록 합산기(107)로 출력된다.
다음은 상기된 컬럼 1차원 IDCT부(501)의 상세한 동작을 설명한다.
즉, 본 발명에서 제안하는 IDCT 장치의 구현을 위해 상기 컬럼 1차원 IDCT부(501)는 1차원 IDCT의 짝수 행렬과 홀수 행렬을 다시 1차 곱셈부와 2차 곱셈부로 분리한다.
하기의 수학식 4의 첫 번째 대괄호가 1차 곱셈부이며, 두 번째 대괄호가 2차 곱셈부이다.
상기 1차 곱셈부와 2차 곱셈부는 같은 수의 코사인 상수에 대한 곱셈기를 가지게 된다. 따라서, 1차 곱셈부와 2차 곱셈부를 두 번에 걸쳐 나누어 수행하게 되면 곱셈기를 공유할 수 있게 된다. 1차 곱셈의 경우는 입력이 x0,x1,x6,x7이며, 2차 곱셈의 경우는 입력이 x2,x3,x4,x5이 된다. 입력 데이터에 대한 재배열은 도 1의 계수 버퍼(103)를 라이트 또는 리드할 때 어드레스를 적절하게 발생시켜 주면 로직 회로의 추가없이 간단히 이루어질 수 있다. 그리고 하나의 컬럼에 대한 1차원 IDCT의 결과는 1차 곱셈부와 2차 곱셈부의 누산에 의해 구해지게 된다.
상기 1차 곱셈부와 2차 곱셈부의 공유 가능한 곱셈기는 하기의 수학식 5와 같이 11개이다. sla,slb,...,slk는 11개의 서로 다른 코사인 상수를 가지는 곱셈기이다. 즉, 1차 곱셈부와 2차 곱셈부로 입력되는 DCT 계수를 피승수로 하여 11개의 곱셈기를 공유하게 된다.
sla=axT(0), slb=fxT(1), slc=cxT(1),
sld=bxT(2), sle=dxT(2), slf=exT(2), slg=gxT(2),
slh=gxT(3), sli=exT(3), slj=dxT(3), slk=bxT(3)
하기의 수학식 6은 1차 곱셈부와 2차 곱셈부에서의 각각의 곱셈기의 입력 DCT 계수와 곱셈 과정을 보여준다.
(1) 1차 곱셈부 : T(0)=X(0),T(1)=X(6),T(2)=X(1),T(3)=X(7)
(2) 2차 곱셈부 : T(0)=X(4),T(1)=X(2),T(2)=X(5),T(3)=X(3)
이때, 컬럼 1차원 IDCT부(501)의 1차 곱셈부의 결과는 제 1 누산기(502)에 의해 저장되어 다음 클록에 2차 곱셈부의 결과와 더해지게 된다. 이렇게 더해진 제 1 누산기(502)의 출력이 컬럼 1차원 IDCT부(501)의 결과가 된다. 즉, 상기 제 1 누산기(502)는 하기의 수학식 7과 같이 수학식 6의 (1) 1차 곱셈부와 (2) 2차 곱셈부의 결과를 더하여 최종 출력을 얻는다.
한편, 로우 1차원 IDCT부(504)도 상기된 컬럼 1차원 IDCT부(501)와 똑같은 구조를 갖는다. 그러므로, 컬럼 1차원 IDCT부(501)와 로우 1차원 IDCT부(504)는 위에서와 같은 1차, 2차 곱셈부의 분리에 의한 1차원 IDCT를 같은 방법으로 구현하며, 하나의 컬럼 또는, 하나의 로우에 대한 1차원 IDCT의 결과는 1차 곱셈부와 2차 곱셈부의 누산에 의해 구해지게 된다.
그리고, 상기된 각각의 1차원 IDCT부(501,504)는 최종 결과의 덧셈을 위하여 컬럼 IDCT 이후에 제 1 누산기(502), 로우 IDCT 이후에 제 2 누산기(505)를 가진다. 각 누산기(502,505)는 인에이블된 출력에 대해 첫 번째 클록에서는 저장하고, 두 번째 클록에서는 누산하여 결과를 출력하게 된다. 즉, 누산기(502,505)의 유효한 결과는 두 클록마다 한번씩 출력되게 된다.
또한, 전치 행렬부(503)의 출력은 처음 클록에는 x0,x1,x6,x7 그리고, 다음 클록에는 x2,x3,x4,x5의 순서가 되어야 한다.
본 발명에 따른 IDCT 장치의 인터페이스는 비디오 디코더 전체의 시스템 성능과 밀접한 관련이 있다. 비디오 디코더의 부호화된 영상의 복원을 위한 기본 제어는 매크로 블록 단위로 이루어진다. 즉, 움직임 보상에 의해 이전 레퍼런스 매크로 블록을 메모리(100)로부터 읽어오고, 부호화되어 전송된 DCT 계수에 대해 매크로 블록의 각 블록에 대해 IDCT를 수행하여 그 차이값을 복원한다. 이렇게 복원된 레퍼런스 매크로 블록과 차이값에 의해 매크로 블록 합산기(107)에서 현재의 복원 영상의 매크로 블록을 만들어내게 되는 것이다.
이때, 본 발명에서는 시스템 성능과 로직 회로의 제한을 다 만족시키기 위하여 비디오 디코더의 최선의 데이터 전달 단위는 기본적으로 4개의 픽셀 단위로 이루어진다. 그에 따라 IDCT 장치의 데이터 전달 단위로 4개의 픽셀 단위로 만족시키는 것은 비디오 디코더의 성능 향상에도 도움이 된다.
또한, 비디오 디코더의 클록을 54MHz로 하였을 때 본 발명의 IDCT 장치의 출력 샘플 레이트는 216M 샘플/sec이다.
도 6은 본 발명에 따른 IDCT 장치의 인터페이스 타이밍을 보인다.
즉, 입력과 출력이 4개의 데이터 단위로 이루어지고 있으며, 레이턴시는 22클록이다. 이는 기존의 먹스, 디먹스에 의한 IDCT의 구조에 비해 13클록 줄어든 것이다. 또한, IDCT의 출력은 매크로 블록의 합산에 유리하도록 로우 방향으로 4개의 픽셀 단위로 출력된다.
ASIC 회로의 설계 과정 중에서 회로에 대한 타이밍의 검증 과정은 필수적이며 중요한 과정이다. 여러 개의 클록이 존재하는 시스템의 경우는 이러한 타이밍의 검증이 까다로워지게 된다. 제안된 IDCT 장치는 비디오 디코더 시스템의 기준 클록인 54MHz로 동작함으로써, 기존의 IDCT 장치의 ASIC 구현상의 번거로움을 제거하는 효과를 가져온다. 아울러 기존의 IDCT 장치에서 사용되었던 클록 발생 장치가 제거되는 이점도 얻을 수 있다.
이러한 본 발명의 IDCT 장치는 비디오 디코더에 따라 각기 다른 알고리즘과 설계 기술에 의해 구현된다. 따라서, IDCT 결과값의 정확성에 대한 기준이 필요하다. 표준화된 권고안인 IEEE 1180은 이러한 기준이 되고 있다.
본 발명에 따른 IDCT 장치의 계산상의 비트 정확도는 코사인 상수의 소수점 비트의 정확성, 중간 과정에서의 라운딩의 정확성, 누산기에서의 소수점 비트의 정확성등에 의해서 좌우된다.
본 발명에서는 실시예로 14비트의 코사인 상수를 사용하고 전치되는 중간값을 전체 16비트에 소수점 자리를 4비트 사용한다. 또한, 제 1 누산기와 제 2 누산기에 이용되는 데이터의 비트 정확도는 소수점 자리를 7비트 이용한다.
이에 의해 IEEE 1180의 표준 권고안에 따른 계산상의 비트 정확도(computational bit accuracy)를 만족한다.
하기의 표 1에 실험 결과를 보인다. 이 실험은 본 발명의 2차원 IDCT의 최종 결과와 기준이 되는 2차원 IDCT의 결과를 비교하여 그 에러에 의해 비트 정확도를 규정하는 것이다.
Input pixel range Peak Error(<1) Peak Mean Error(<0.015) Peak Mean Square Error(<0.06) Overall Mean Error(<0.0015) Overall Mean Square Error(<0.02)
-256∼255 1 0.0070 0.0154 0.0012 0.0129
255∼-256 1 0.0045 0.0159 0.0010 0.0128
-300∼300 1 0.0049 0.0148 0.0010 0.0123
300∼-300 1 0.0047 0.0148 0.0010 0.0124
-5∼5 1 0.0052 0.0066 0.0012 0.0047
5∼-5 1 0.0052 0.0074 0.0011 0.0047
이상에서와 같이 본 발명에 따른 IDCT 장치에 의하면, 전체 비디오 디코더와 동일한 클록에서 동작하며 동일한 인터페이스 구조를 따르는 IDCT 장치에 의해 출력 레이턴시의 감소를 가져오며, 이로 인해 디지털 TV 수신기의 성능을 향상시키는 효과가 있다. 또한, 일관된 인터페이스에 의해 비디오 디코더 전체에 동일한 클록을 사용하여 로직 회로 구현의 과정에서 타이밍 검증상의 어려움을 감소시켰으며, 추가적인 클록 발생 장치를 제거하는 효과가 있다.
그리고, IDCT 인터페이스에 의해 불필요한 먹스와 디먹스를 제거하고, 각각의 1차원 IDCT의 내부 곱셈기의 공유 회로에 의해 IDCT 장치의 구현 로직 회로를 감소시키는 효과가 있다.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.
따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정해져야 한다.

Claims (6)

  1. 입력 비트 스트림을 가변길이 디코딩한 후 역양자화하고 역양자화된 DCT 계수에 대해 역 이산 코사인 변환(IDCT)을 수행하는 비디오 디코더의 역 이산 코사인 변환 장치에 있어서,
    상기 역양자화된 컬럼 방향의 입력 데이터에 대해 코사인 상수의 전치 행렬의 대각 특성과 대칭 특성을 이용하여 짝수 행렬과 홀수 행렬로 분리하고 이를 다시 1차 곱셈 행렬과 2차 곱셈 행렬로 나눈 후 동일 코사인 상수에 대해서는 곱셈기를 공유하여 1차 곱셈과 2차 곱셈을 순차적으로 수행하는 컬럼 1차원 IDCT부;
    첫 번째 클럭에서는 상기 컬럼 1차원 IDCT부의 1차 곱셈 결과를 저장하고, 두 번째 클록에서는 상기 저장 결과와 상기 2차 곱셈 결과를 더하여 출력하는 제 1 누산기;
    상기 제 1 누산기의 출력에 대해 컬럼-로우 전치를 수행하는 전치 행렬부;
    상기 전치 행렬부에서 출력되는 로우 방향의 입력 데이터에 대해 코사인 상수의 전치 행렬의 대각 특성과 대칭 특성을 이용하여 짝수 행렬과 홀수 행렬로 분리하고 이를 다시 1차 곱셈 행렬과 2차 곱셈 행렬로 나눈 후 동일 코사인 상수에 대해서는 곱셈기를 공유하여 1차 곱셈과 2차 곱셈을 순차적으로 수행하는 로우 1차원 IDCT부; 그리고
    첫 번째 클록에서는 상기 로우 1차원 IDCT부의 1차 곱셈 결과를 저장하고 두 번째 클록에서는 상기 저장 결과와 제 2차 곱셈 결과를 더하여 출력하는 제 2 누산기를 포함하여 구성되는 것을 특징으로 하는 IDCT 장치.
  2. 제 1 항에 있어서,
    상기 컬럼, 로우 1차원 IDCT부에는 각각 하나의 클럭 단위에 대해 4개의 DCT 계수 단위로 데이터 입력이 이루어지며,
    상기 클럭은 전체 비디오 디코더의 클럭과 동일한 클럭인 것을 특징으로 하는 IDCT 장치.
  3. 제 1 항에 있어서, 상기 제 1, 제 2 누산기는
    각 누산 결과에 대해 비트 정확도에 영향을 미치지 않는 소수점 이하 자리에 해당하는 비트의 라운딩을 수행하는 것을 특징으로 하는 IDCT 장치.
  4. 제 1 항에 있어서, 상기 컬럼 1차원 IDCT부와 로우 1차원 IDCT부의 각 1차 곱셈은 하기의 식이 적용되어 수행되는 것을 특징으로 하는 IDCT 장치.
    여기서, T(0)=X(0),T(1)=X(6),T(2)=X(1),T(3)=X(7)이며, 1차 곱셈의 경우는 입력이 X(0),X(1),X(6),X(7) 순임.
  5. 제 1 항에 있어서, 상기 컬럼 1차원 IDCT부와 로우 1차원 IDCT부의 각 2차 곱셈은 하기의 식이 적용되어 수행되는 것을 특징으로 하는 IDCT 장치.
    여기서, T(0)=X(4),T(1)=X(2),T(2)=X(5),T(3)=X(3)이며, 2차 곱셈의 경우는 입력이 X(2),X(3),X(4),X(5) 순임.
  6. 제 1 항에 있어서, 상기 전치 행렬부는
    상기 컬럼 1차원 IDCT부의 결과를 두 클록에 한번씩 저장함과 동시에 전치된 결과를 로우 1차원 IDCT부에 4개 단위로 출력하는 것을 특징으로 하는 IDCT 장치.
KR10-2001-0080762A 2001-12-18 2001-12-18 역 이산 코사인 변환 장치 Expired - Fee Related KR100451731B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR10-2001-0080762A KR100451731B1 (ko) 2001-12-18 2001-12-18 역 이산 코사인 변환 장치
US10/321,369 US7136890B2 (en) 2001-12-18 2002-12-18 Inverse discrete cosine transform apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0080762A KR100451731B1 (ko) 2001-12-18 2001-12-18 역 이산 코사인 변환 장치

Publications (2)

Publication Number Publication Date
KR20030050344A KR20030050344A (ko) 2003-06-25
KR100451731B1 true KR100451731B1 (ko) 2004-10-08

Family

ID=27606981

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0080762A Expired - Fee Related KR100451731B1 (ko) 2001-12-18 2001-12-18 역 이산 코사인 변환 장치

Country Status (2)

Country Link
US (1) US7136890B2 (ko)
KR (1) KR100451731B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100584550B1 (ko) * 2002-11-20 2006-05-30 삼성전자주식회사 고속 역 이산 여현 변환 방법 및 장치
TWI224931B (en) * 2003-07-04 2004-12-01 Mediatek Inc Scalable system for inverse discrete cosine transform and method thereof
US8542726B2 (en) 2006-10-17 2013-09-24 Microsoft Corporation Directional and motion-compensated discrete cosine transformation
CN102348113B (zh) * 2010-07-22 2013-07-03 晨星软件研发(深圳)有限公司 视频编/解码器与其方法
KR101412964B1 (ko) * 2013-01-11 2014-06-30 한밭대학교 산학협력단 Hevc를 위한 저면적 고성능 다중모드 1d 변환블록 및 이를 이용한 데이터 처리방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0152802B1 (ko) * 1995-10-28 1998-10-15 구자홍 영상 압축장치의 역이산 코사인 변환방법 및 장치

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG45281A1 (en) * 1992-06-26 1998-01-16 Discovision Ass Method and arrangement for transformation of signals from a frequency to a time domain
US5420811A (en) * 1992-08-26 1995-05-30 Sony Corporation Simple quick image processing apparatus for performing a discrete cosine transformation or an inverse discrete cosine transformation
KR100275933B1 (ko) * 1998-07-14 2000-12-15 구자홍 엠펙디코더의 역이산여현변환장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0152802B1 (ko) * 1995-10-28 1998-10-15 구자홍 영상 압축장치의 역이산 코사인 변환방법 및 장치

Also Published As

Publication number Publication date
US7136890B2 (en) 2006-11-14
KR20030050344A (ko) 2003-06-25
US20030142743A1 (en) 2003-07-31

Similar Documents

Publication Publication Date Title
Westwater et al. Real-time video compression: techniques and algorithms
US8086052B2 (en) Hybrid video compression method
JP3966524B2 (ja) 改善された効率のためにスキュードタイル記憶フォーマットを用いる動き補償を行うシステム及び方法
JPH10322699A (ja) 高速逆離散コサイン変換方法およびシステム
KR20030086423A (ko) 이미지 및 비디오 코딩을 위한 2d 변환
JPH1175186A (ja) スケーリングされた順方向および逆方向の離散コサイン変換と、これを使用するビデオ圧縮伸長システム
KR100275933B1 (ko) 엠펙디코더의 역이산여현변환장치
CN101321283B (zh) 兼容不同大小块变换的编解码方法及编解码器
Chen et al. Dictionary learning-based distributed compressive video sensing
KR100683380B1 (ko) 영상 압축 부호화를 위한 변환 및 역변환 방법 및 장치
KR100267125B1 (ko) 압축 디지탈 비디오 시퀀스 복호화 및 디스플레이 방법과 압축 디지탈 비디오 정보 복호화 장치
CN102572426B (zh) 一种数据处理的方法和装置
KR100451731B1 (ko) 역 이산 코사인 변환 장치
KR940009117B1 (ko) 화상데이타 복원방법 및 장치
Chen et al. Architecture design of high performance embedded compression for high definition video coding
KR100777930B1 (ko) 복호 장치 및 복호 방법
JP2002112268A (ja) 圧縮画像データ復号装置
US20060104521A1 (en) Image processing devices and methods
JP2950367B2 (ja) 逆離散余弦変換器におけるデータ出力順序変換方法及び回路
JP2000165861A (ja) 動画像復号装置
Abdelhalim et al. Implementation of 3D-DCT based video encoder/decoder system
Bakr et al. Implementation of 3D-DCT based video encoder/decoder system
KR100345450B1 (ko) 인트라 블록 예측 부호화 및 복호화 장치 및 그 방법
Wei et al. Analysis of JPEG encoder for image compression
CN102355580A (zh) 运用于图像编码和视频编码的六角变换方法和装置

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20011218

PA0201 Request for examination
N231 Notification of change of applicant
PN2301 Change of applicant

Patent event date: 20020603

Comment text: Notification of Change of Applicant

Patent event code: PN23011R01D

PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20040212

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20040811

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20040924

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20040930

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20070629

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20080618

Start annual number: 5

End annual number: 5

FPAY Annual fee payment

Payment date: 20090619

Year of fee payment: 6

PR1001 Payment of annual fee

Payment date: 20090619

Start annual number: 6

End annual number: 6

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20110810