KR20000013653A - 정/역 최적화 정수형 여현변환장치 및 그 방법 - Google Patents

정/역 최적화 정수형 여현변환장치 및 그 방법 Download PDF

Info

Publication number
KR20000013653A
KR20000013653A KR1019980032637A KR19980032637A KR20000013653A KR 20000013653 A KR20000013653 A KR 20000013653A KR 1019980032637 A KR1019980032637 A KR 1019980032637A KR 19980032637 A KR19980032637 A KR 19980032637A KR 20000013653 A KR20000013653 A KR 20000013653A
Authority
KR
South Korea
Prior art keywords
oict
converter
integer
data
inverse
Prior art date
Application number
KR1019980032637A
Other languages
English (en)
Inventor
이종하
유기수
Original Assignee
이종하
유기수
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이종하, 유기수 filed Critical 이종하
Priority to KR1019980032637A priority Critical patent/KR20000013653A/ko
Publication of KR20000013653A publication Critical patent/KR20000013653A/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/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods 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 using parallelised computational arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은, 2차원 DCT 프로세서 구현을 위하여, 변환계수가 작은 비트의 정수값으로 구성되었다 하더라도 변환의 성능이 DCT보다 낮으며, 고속 알고리즘 구현시 부분적인 실수형 연산을 수행하는 단점이 있을 뿐만 아니라, 정방향 변환수행시 정수형 연산을 수행하나 단일하지 않은 정규화 계수로 인하여 역방향 변환에서는 실수형 연산을 수행하는 ICT의 단점과, N=8일 때 변환의 성능이 전술한 DCT보다 우수하며 4비트로 구성되는 장점을 가지고 있으나, 전술한 ICT와 마찬가지로 역방향 변환시 실수형 연산과 고속 알고리즘 구현시 부분적인 실수형 연산을 수행하는 OIT의 구현 방법의 문제점을 극복하고자 창안된 것이다.
본 발명은 영상데이터를 입력하는 입력변환기(10)와 입력변환기(10)로부터 병렬데이터를 입력받아 1차원 OICT 계산을 위한 제1 데이터 프로세싱 유니트(20)와, 제1 데이터 프로세싱 유니트(10)에서 1차원 OICT를 수행한 결과값를 행렬 전치하여 출력하는 전치메모리부(30)와, 전치메모리(30)로부터 병렬 출력값을 입력받아 다시 1차원 OICT를 수행하는 제2 데이터 프로세싱 유니트(40)와, 입력 클럭에 동기되고 각 부분에 적합한 클럭을 발생시켜 내부 동작을 제어하는 타이밍제어부(50)로 구성되어 정/역방향 모두 정수형 연산을 수행하는 OICT와, 행렬분해를 이용하여 정수형 연산을 수행하는 20개의 곱셈수를 갖는 고속 계산 알고리즘을 OIT 구현방법을 이용하여 정/역방향 변환 후 정규화 계수를 처리할 수 있도록 정규화 계수로 인한 오차를 무시할 수 있는 범위에서 단일한 정규화 계수로 근사화시키고, 그 중에서 힐버트 쉬미드 표준값이 적으면서 고속 알고리즘 구현이 가능한 정수값을 선정하여 구현토록 하므로서 계산속도를 증가시키고 프로세서 구성비용을 줄일 수가 있음은 물론 기존의 DCT,OIT보다는 변환의 효율성이 우수할뿐아니라, 원너필터의 평균자승오차가 적게 나타남을 알 수 있고, 또한 DCT에서 유한비트 연산을 위한 절삭으로 인한 직교변환 성질의 상실로 인한 오차가 발생되지 않아 화상회의, 화상전화, 고화질텔레비전 등과 같은 영상시스템에 적용시 압축/복원 영상의 화질을 양호하게 할 수 있는 효과를 제공한다.

Description

정-역 최적화 정수형 여현변환장치 및 그 방법
본 발명은 제이팩(JPEG), 엠팩(MPEG) 등과 같은 국제 표준기관에서 화상회의, 화상전화, 고화질 텔레비전(HDTV) 등과 같은 영상시스템에 영상 압축/복원에 사용되는 이산 여현변환(Discrete Cosine Transform; 이하 'DCT', 또는 '디씨티'라 약칭함)를 대체할 수 있는 정/역 최적화 정수형 여현변환(Optimized Integer Cosine Transdorm; 이하 'OICT'라 약칭함)장치 및 그 방법에 관한 것이다.
일반적으로 영상압축 표준에서 소스코팅 알고리즘에 이용되는 2차원 DCT는 많은 계산량을 요구하는 것으로, 즉 2차원 DCT의 직접 계산시 N×N 블록의 경우 N4의 곱셈을 요구해, 8×8 영상의 경우 4096변의 곱셈을 수행하게 되는데, 이는 주로 곱셈과 덧셈횟수를 줄이는 목적으로 효율적인 DCT 연산을 위한 여러 알고리즘이 제안되었다.
즉 문헌에 발표된 대부분의 DCT 프로세서들은 DCT를 하드웨어로 구현하기에 적합한 여러 알고리즘과 구조들을 연구하여 이를 바탕으로 하드웨어를 구성하였는데, 이를 구현하기 위한 구조에는 승산기(Multiplier)를 사용하여 벡터행렬승산(Vector Matrix Multipluication)을 이용하는 방법과 나비형 구조(Butterfly Architecture)와 회전 연산기(Rotator)를 사용하는 방법, 그리고 분산연산을 이용하여 미리 계산된 부분합(Partial sum)의 값들을 저장한 롬(Read Only Memory)과 누적기(Accumulator)를 이용한 방식들이 있다.
그러나 영상 압축/복원에 사용되는 대부분의 DCT 코어 프로세서들은 DCT 행렬 요소가 실수이기 때문에 유한 길이 연산(Finite-Length Arithmetic)으로 인한 연산의 정확도가 떨어지게 되며, 연산의 정확도를 높이기 위한 경우에는 하드웨어의 비용이 증가될 뿐만아니라, 부동 소숫점 연산을 수행하기 때문에 한 화소(Pixel) 당 연산속도가 20-50 MHz 범위를 가져 고화질 텔레비전 신호처리 등의 분야에서 요구되는 성능에는 미치지 못하는 것으로 평가되고 있다. 따라서 고성능 2차원 DCT 프로세서 구현을 위해서는 DCT 계수가 작은 비트의 정수값으로 구성되고, 이로 인한 연산의 오차가 복원 영상의 질에 영향을 미치지 않아야 하며, 이의 고속 알고리즘 구현이 가능해야 하머, 또한 이를 실리콘에 효율적으로 매핑하기 위한 특정 알고리즘(Algorithm-Specific) 아카텍쳐(Architecture)의 고안 그리고 아키텍쳐 레벨의 병렬성을 극대화하기 위한 최적화 방안등이 종합적으로 연구되어야 한다.
이러한 연구의 일환으로 대칭 다이애딕 대칭(Dyadic Symmetry) 원리를 이용하여 변환계수가 작은 비트의 정수값으로 구성되는 정수형 여현변환(Integer Cosine Transform; 이하 '아이씨티', 또는 'ICT'라 약성함)가 제시된바 있다.
그러나 ICT는 변환계수가 작은 비트의 정수값으로 구성되었다 하더라도 변환의 성능이 DCT 보다 낮으며, 정방향 변환수행시 정수형 연산을 수행하나 단일하지 않은 정규화 계수로 인하여 역방향 변환에서는 실수형 연산을 수행하는 단점이 있을 뿐만아니라, 고속알고리즘 구현시 부분적인 실수형 연산을 수행하는 단점이 있다.
또한 DCT의 구조 특성인 직교성과 크기순서를 이용하여 변환계수가 정수값을 갖는 직교 정수형 변환(Orthogonal Integer Transform; 이하 '오아이티', 또는 'OIT'라 약칭함)이 제시된바 있다.
즉, OIT의 구현 방법에 대하여 상세하게 기술하면 하기와 같다.
N×N 데이터 벡터의 1차원 이산변환에 대한 성방향과 이의 역방향변환은 각각 식(1),(2)와 같다.
여기서인 대각행렬로서 직교변환 행렬을 정규화하는 크기인자(정규화 계수)이며,는 전치행렬이다.
일반적으로 직교변환 행렬은 식(3)과 같이 정의된다.
변환행렬은 대각행렬요소가 같은 값을 갖는 경우와 같지 않는 값을 갖는 경우로 나눌 수 있다.
대각행렬 요소값이 같은 경우 식(3)의 변환행렬은 식(4)와 같이 나타낼 수 있다.
여기서은 단일행렬이다
따라서 식(4)를 이용하여 식(1)의 정방향 변환과, 식(2)의 역방향 변환은 각각 식(5),(6)으로 나타낼 수 있다.
대부분의 이산 변환은 식(5),(6)의 형태를 갖으므로 변환 과정에서의 정규화 계수는 변환 후 처리할 수 있게 된다.
대각 행렬 요소 값이 같지 않은 이산 변환의 경우는 먼저 식(1)에 나타난 바와같이 정방향 변환의 경우에는 정규화 계수를 변환 후 처리할 수 있으나 식(2)의 역방향 변환에서는 정규화 계수를 먼저 처리하고 변환을 수행해야 한다.
그리고 변환행렬이 정수값들로 구성되는 OIT는 정규화 계수이어서 역방향 변환의 경우 정규화 계수 [KN]의 값에 따라서 열별로 정규화 해야 하므로 실수 값을 갖는 정규화 계수로 인하여 변환의 계수가 정수일 지라도 실수 연산이 수행된다.
이와는 달리 식(5),(6)에서와 같이 정규화 계수가 k[IN]인 OICT는 정방향과 역방향 모두 변환 후 정규화 계수를 처리할 수 있으므로 변환 과정에서 정수 연산을 수행하게 된다.
그러나 이와 같은 OIT의 구현 방법은 N=8일 때 변환의 성능이 전술한 DCT보다 우수하며 변환계수가 4비트로 구성되는 장점을 가지고 있으나, 전술한 ICT와 마찬가지로 역방향 변환시 실수형 연산을 수행하고, 고속 알고리즘 구현시 부분적인 실수형 연산을 수행하는 단점을 가지고 있다.
따라서 본 발명은 상기한 기존의 DCT 계수가 실수이기 때문에 발생하는 연산의 정확도 및 연산속도 문제를 극복하고 고성능 2차원 DCT 프로세서 구현을 위해 변환계수가 작은 비트의 정수값으로 구성되고 정/역방향 변환 모두 정수형 연산을 수행할 수 있는 OICT 알고리즘과, 이의 고속계산 알고리즘을 제공하여 이를 하드웨어로 구현할 수 있도록 함으로써 기존의 DCT를 대체 사용할 수 있는 정/역 최적화 정수형 여현변환장치 및 그 방법을 제공하는데 그 목적이 있다.
또한 본 발명의 부가적인 목적으로는 2차원 OICT의 고속 알고리즘의 변환계수가 유한한 크기의 정수값을 갖게하여 곱셈기 구성시 입력값의 쉬프트와 덧셈기만으로 고속연산을 수행할 수 있도록 하므로써 하드웨어 구성의 비용과 속도를 개선할 수 있는 정/역 최적화 정수형 여현변환장치 및 그 방법을 제공함에도 있다.
본 발명에서는 상기한 다수의 목적들을 달성하기 위한 수단으로는 기존의 OIT구현 방법을 이용하여 정방향과 역방향 변환 후, 정규화 계수를 처리할 수 있도록 정규화 계수로 인한 오차를 무시할 수 있는 범위에서 단일한 정규화 계수로 근사화시키고, 그중에서 힐버트 쉬미드 표준값(Hilbert-Schmidt norm)이 작으면서 고속 알고리즘 구현이 가능한 정수값을 선정하였다.
도 1은 본 발명의 OICT장치에 관한 실시 구성도.
도 2는 본 발명의 OICT장치에 적용되는 입력변환기의 일실시예 구성도.
도 3은 본 발명의 OICT장치에 적용되는 출력변환기의 일실시예 구성도.
도 4는 본 발명의 OICT 프로세서의 동작설명을 위한 타이밍도.
도 5는 본 발명에 적용되는 전치메모리의 구성도.
도 6은 본 발명 OICT에 대한 고속 알고리즘의 신호흐름도(N=8)
- 도면의 주요부분에 대한 부호의 설명 -
10 : 입력변환기 20 : 제1 데이터 프로세싱 유니트
30 : 전치메모리부 40 : 제2 데이터 프로세싱 유니트
50 : 타이밍 제어부 60 : 출력변환기
S0-S7,R0-R7,M0-M7 : 레지스터
이하 본 발명의 바람직한 실시예를 첨부도면에 의거하여 상세히 설명하면 더욱 명백해 질 것이다.
첨부도면 도1은 본 발명의 OICT장치에 관한 실시 구성도이다.
즉, 본 발명은 영상데이터를 입력하는 입력변환기(10)와 입력변환기(10)로부터 병렬 데이터를 입력받아 1차원 OICT 계산을 위한 제1 데이터 프로세싱 유니트(20)와, 제1 데이터 프로세싱 유니트(10)에서 1차원 OICT 수행한 결과값를 행렬전치하여 출력하는 전치메모리부(3O)와, 전치메모리(30)로부터 병렬 출력값을 입력받아 다시 1차원 OICT를 수행하는 제2 데이터 프로세싱 유니트(40)와, 입력 클럭에 동기되고 각 부분에 적합한 클럭을 발생시켜 내부 동작을 제어하는 타이밍제어부(50)로 구성된다.
첨부도면 도2 및 도3은 본 발명의 OICT장치에 적용되는 입/출력변환기의 일실시 예 구성을 구체적으로 나타낸 도면이다.
즉 입력변환기(10)는 도2에 도시된 바와 같이 영상 데이터인 픽셀 데이터를 순차적으로 입력 세트시키고 순차 입력 세트된 데이터는 클럭펄스에 동기되어 순차자리이동시키는 8개의 쉬프트 레지스터(S0-S7)와, 각 쉬프트 레지스터(S0-S7)에 쉬프트되는 동안 기억시켜 제1 데이터 프로세싱 유니트(20)에 병렬로 출력시키는 8개의 기억성 레지스터(R0-R7)로 구성된다. 여기서 쉬프트 레지스터나 기억성 레지스터의 크기는 영상 테이터의 픽셀크기에 따라서 결정된다.
상기에서 입력변환기(10)의 기억성 레지스터(R0-R7)에서 출력되는 8개의 픽셀데이터가 다음의 8개의 픽셀데이터가 쉬프트 레지스터(S0-S7)에 쉬프트되는 8사이클(8클럭) 동안마다 제1 데이터 프로세싱 유니트(20)을 통해 1차원 OICT를 수행하도록 구성됨을 특징으로 한다.
또한 출력변환기(60)는 도3에 도시된 바와 같이 제2 데이터 프로세싱 유니트(40)에서 1차 OICT를 수행한 변환데이터를 타이밍제어부의 클럭에 동기시켜 병렬로 입력된 8개의 픽셀데이터를 하나씩 순차적으로 출력하는 데이터선택부 및 레지스터(M0-M7)로 구성 된다.
한편, 본 발명의 OICT 방법은 기존의 OIT의 구현 방법에서 정규화 계수가 단일값을 갖도록 하기의 식(7)을 추가하여 구현된다. 이는 정방향은 물론 역방향변환에서도 변환 후에 정규화 계수를 처리하게 되므로써 정수형 연산만을 수행할수 있도록 하기 위한 것이다.
여기서 d(k,j),q(k,j)는 각 분해 행렬의 열과 행이(k,j)인 행렬 요소 값이며, t(0,0)는 행렬의 열과 행이 (0,0)인 요소 값이고, 첨자은 OIT 행렬을 의미하며,는 각 분해 행렬을 의미한다.
OIT의 구성 식과 식(7)을 만족하는 OICT 행렬은 여러 개 존재하나 좋은 성능을 가지는 OICT가 구성되지 않는다. 그러므로 정규화 계수로 인한 정규화 오차를 무시할 수 있는 범위에서 정규화 계수의 관계식(7)을 식(8)로 근사화 한다.
따라서 8×8 크기의 2차원 입력 영상신호 행렬을이라 할 때 2차원 정방향과 역방향의 OICT는 각각 식(9),(10)과 같다.
여기서 T는 행렬전치를 나타내며,은 OICT 행렬을 스케일하여 정규직교 행렬로 만드는 정규화 계수값이다.
N=8인 경우를 일예로 OICT를 구하는 과정을 설명하면, 먼저 식(8)은 식(11)과 같이 된다.
식(11)에서 각 변의 값이 같지 않기 때문에 정규화 과정에서 오차가 발생하며, 값의 차이가 클수록 오차는 커지게 된다. 따라서 정수 값을 갖는 OICT 행렬을 구하는데 있어서, 먼저 OIT의 직교 조건과 크기 순서를 만족하는 정수 값q1, q2, q3,q4를 구한 다음,를 구하여 반올림했을 때의 정수값을 t로 한다. 그리고 OIT의 크기 순서를 만족하면서 식(11)의 조건에 가장 근사한 정수 값 d1, d2를 취한다.
실제로 이러한 조건을 만족하는 정수값의 집합은 여러 개가 존재하므로 최적의 정수값을 구하기 위하여 이들 정수값의 집합들로 정수형 변환행렬을 구성하여 힐버트 쉬미드 표준값이 가장 최소가 되는 정수값을 취한다.
입력신호가 1차원 마코브(Markov) 신호라 가정하고, 상관계수 ρ에 대하여를 공분산 행렬, 직교변환이라 할 때 이면, 힐버트 쉬미드 표준값는 하기식(12)로 표현된다.
여기서 힐버트 쉬미드 표준값을 사용하는 것은 표준값이 작을수록 변환의 성능이 최적변환인 카르낸 로브 변환(Karhunen- Loeve Transform; 이하 'KLT'라 약칭함)에 더 근접한 성능을 갖기 때문이다.
이와 같이 힐버트 쉬미드 표준값이 작으면서 고속 알고리즘 구현이 가능한 정수 값을 선정하면 t=91, d1=119, d2=49, q1=125, q2=108, q3=72, q4=25인 7 비트로 구성된다. 그리고 이 정수 값을 이용하여 OICT 행렬 [A8]을 구성하면 식(13)과 같으며, 이 행렬을 스케일하여 정규 직교 행렬로 만드는 대각 행렬은 식(14)와 같다.
따라서 상기 식(13)에서 OICT의 계수가 정수값을 가지므로 유한비트로 표현할때 절삭에 따른 직교변환 성질의 상실로 인한 오차는 발생하지 않는다.
OICT의 정규화 오차 정도를 알아보기 위하어 임의로 9비트 픽셀 데이터로 구성된 8×8의 블록 10,000개에 대하여 정방향 변환을 수행한 다음, 역방향 변환을 수행하여 원 영상과 복원 영상에 대한 평균자승오차(Mean Square Error ; MSE)를 측정한 결과 그 평균자승오차가 0(Zero)값을 가져 식(14)의 정규화 계수의 처리에서 발생하는 정규화 오차를 무시할 수 있다.
상기에서 변환계수가 7비트로 구성되는 OICT의 성능 측정 방법으로, 입력 신호가 1차 마코브 프로세스라 가정하고 일반적으로 많이 사용하는 변환의 효율성(Ttransform Efficiency), 윈너 필터에 의한 평균자승오차를 구하여 다른 변환인 DCT, OIT와 비교한다.
변환의 효율성 η은 변환 영역에서의 비상관 관계(Decorrelation)의 정도를 정의하는 것으로, 식(15)와 같으며 최적 변환인 KLT는 모든 상관 계수 ρ에 대하여100%의 효율성을 보여준다.
여기에서는 자기공분산행렬이며,는 자기공분산행렬의 대각 행렬이다
상관계수에 대하여 OICT와 DCT, OIT의 변환의 효율성을 N=8일 때 그 결과에 대해서는 ≪표1≫에 나타낸 바와 같으며, OICT의 효율성은 DCT,OIT보다 성능이 우수하다는 것을 알 수 있다
또한 입력신호와 복원된 신호와의 평균자승오차를 이용하여 변환의 성능을 평가하는데 있어 윈너 필터를 이용한다.
이 윈너필터에 의한 평균자승오차는 식(16)과 같다.
여기서는 각각 입력 신호와 잡음에 대한 변환 영역에서의 공분산행렬의 분산 값이다.
따라서 상관계수에 대하여 ≪표2≫에 나타낸 바와 같이 N=8일 때 OICT는 기존의 DCT, OIT 보다는 평균자승오차가 적어 평균자승오차에서도 OICT가 우수하다는 것을 알 수 있다
또한 OICT의 고속 알고리즘은 다음과 같이 이루어진다.
OICT의 고속 알고리즘을 구현하기 위하여 OICT 행렬 [AN]은 행렬분해를 이용하여 N=8일 때 식(17)과 같이 나타낼 수 있다.
여기서은 변환 계수 벡터를 비트 역순에서 정 순서로 바꾸어 주는 행렬이고은 단일행렬로 이루어지는 행렬이다. 그리고는 행렬 분해방식을 이용하여 각각 식(18),(19)와 같이 분해 행렬의 곱으로 나타낼 수 있다.
따라서 식(18),(19)의 분해 행렬의 요소 값들이 '0'을 많이 포함하고 있으므로 이들을 이용하여 OICT의 고속 알고리즘을 구현하면 곱셈 수를 64개에서 20개로 감소시킬 수 있다.
이 방법을 이용한 OICT의 고속 연산을 위한 신호 흐름도는 도6과 같다.
도6의 신호 흐름도에서 정규화 계수은 포함되지 않았으나, 이는 정규화 계수가 단일 값을 가지므로 정방향과 역방향 변환 후 정규화 계수를 처리할 수 있기 때문이다.
위에서 제시한 OICT 알고리즘과, 고속 알고리즘과 관련하여 OICT 프로세서의 연산동작을 설명하먼 다음과 같다.
도1 내지 도3에 도시된 바와 같이 OICT 변환을 위해 OICT 코어로의 영상데이터를 입력하는 입력변환기(S0-S7)(R0-R7)와 OICT 코어에서 계산된 결과를 외부로 출력하는 출력변환기(M0-M7)로 구성되어 있다.
즉, 직렬로 입력되는 픽셀 데이터는 도2 및 도4에서 보는 바와같이 클럭에 동기되어 처음의 쉬프트 레지스터(S7)에 순차적으로 입력되고, 이 값은 클럭에 동기되어 다음의 쉬프트 레지스터(S6→S5→S4→S3→S2→S1→S0)로 쉬프트 된다.
그리고 8사이클 후, 8개의 쉬프트 레지스터(S0-S7)에 입력된 픽셀 데이터는 제1데이터 프로세싱 유니트(20)에 병렬로 출력하기 위하여 기억성 레지스터(R0-R7)에 래치된다.
기억성 레지스터(R0-R7)에 래치된 출력값은 다음의 8개의 픽셀 데이터가 쉬프트 레지스터(S0-S7)에 쉬프트되는 동안 즉, 8 클럭 동안 유지되어 제1 데이터 프로세싱 유니트(20)에서는 이 8클럭 동안에 1차원 OICT를 수행하게 된다.
그리고 제1 및 제2 데이터 프로세싱 유니트(20)(40)는 도6의 고속 알고리즘 이용하여 구성한 것으로, 여기서 사용한 고속 알고리즘은 20개의 곱셈이 존재하나 변환계수가 정수값을 가지므로 곱셈기 구성시 입력 비트의 쉬프트와 덧셈기만으로 구성하여 고속연산을 수행하도록 회로를 구성하였다
예로써, 입력값이 X라 할 때, X와 계수 49와의 곱은 X×49=X×(1+16+32)= X+X×24+ X×25로 되어 입력값 X와 X가 좌측으로 4비트 쉬프트한 값을 더하고 이의 합에 5비트 쉬프트한 값을 더하여 구할 수 있다.
같은 방법으로 다른 계수들은
로 되어 덧셈기와 뺄셈기 만으로 각 계수값을 곱해주는 곱셈기를 구성할 수 있다.
이에 따라 제1 데이터 프로세싱 유니트(20)에서는 입력변환기(10)의 기억성 레지스터(RO-R7)에서 병렬로 8개씩 출력되는 픽셀 데이터 값을 입력 받아 병렬로 OICT를 수행하게 되며 수행되는 시간은 기억성 레지스터(RO-R7)가 출력값을 유지하는 8클럭 동안에 이루어진다.
이로부터 1차원 OICT된 변환 데이터는 전치메모리(30)에 병렬로 입력된다. 전치메모리(30)는 도5에 도시된 바와같이 제1 데이터 프로세싱 유니트(20)의 출력값이 병렬 데이터이므로 멀티플렉서와 레지스터군의 조합인 1×1 스위치, 2×2 스위치, 4×4 스위치의 기본단위들로 구성된다.
이에 따라 전치메모리(30)의 입출력은 8개의 채널을 통해 동시에 이루어지며 입력된 데이터는 멀티플렉서 제어신호에 의해 교차되거나 곧바로 통과된 후 클럭에 따라 다음 단계로 이동한다.
멀티플렉서 제어는 도5에서 보는 바와같이 8클럭의 배수로 1×1 스위치에서는 8,2×2 스위치에서는 16,4×4 스위치에서는 32클럭을 주기로 이루어진다.
따라서 전치메모리(30)는 1차원 OICT된 변환 데이터를 입력받아 행 순서를 열 순서로 또는 열 순서를 행 순서로 행렬전치한 후 제2 데이터 프로세싱 유니트(40)에 출력한다.
제2 데이터 프로세싱 유니트(4)는 전치메모리(30)에서 전치되어 출력되는 1차원 OICT된 변환 데이터를 입력받아 1차원 OICT를 수행하게 되는데, 그 구성은 제1 데이터 프로세싱 유니트와 같으나 입출력 비트수에서 차이가 있으며 정규화 계수 값을 처리하기 위한 단계가 추가된다. 이때 제2 데이터 프로세싱 유니트(40)에서 출력되는 변환 데이터값이 정수값을 갖도록 하기위하여 소수점 이하를 반올림하는 과정도 이 정규화 계수 처리 단계에 포함시켜 구성한다.
이와 같이 처리된 2차원 OICT된 변환 데이터는 도1 또는 도3의 출력변환기(60)의 데이터 선택부를 거쳐 레지스터(M0-M7)에 래치시키고, 이 래치된 값들은 클럭에 동기되어 다음의 레지스터(M7→M6→M5→M4→M3→M2→M1→M0)로 쉬프트시켜 출력하면 2차원 변환이 완료하게 된다.
이와 같은 과정을 도4에 도시된 타이밍도에 의해 요약하면, 처음의 8×1 영상데이터가 입력변환기(10)를 통해 제1 데이터 프로세싱 유니트(20)에 입력되어 래치되는네 8클럭이 소요 된 후, 두번째의 영상 데이터가 8클럭에 래치 되는 동안 처음에 입력되어 래치된 영상 데이터는 이 8클럭 동안에 연산을 수행한다.
따라서 처음 입력된 영상 데이터는 9∼16클럭사이클 동안에 제1 데이터 프로세싱 유니트(20)에서 1차원 OICT가 수행되고, 17번째 클럭에서 1차원 OICT 변환 데이터가 병렬 순차적으로 전치메모리(30)에 입력된다.
처음 입력된 영상 데이터가 1차원 OICT 변환된 후 전치메모리(30)에 입력되어 전치된후 65번째 클럭에서 출력되어 2차원 OICT를 수행하기 위하여 제2 데이터프로세싱 유니트(40)에 입력된다.
제2 데이터 프로세싱 유니트(40)에서도 제1 데이터 프로세싱 유니트(20)와 마찬가지로 8×1 변환 데이터를 처리하는 시간은 8클럭 동안에 이루어진다.
이와 같이 파이프라인 방식으로 8×8의 영상 데이터를 입력하여 2차원 OICT를 수행하는데 소요되는 총 클럭은 72클럭이 소요된다.
따라서 입력된 데이터는 72클럭 주기의 지연시간을 필요로 하며 처음 출력값이 생성된 이후로는 매 클럭 주기마다 연속으로 하나의 출력값이 발생하도록 수행하게 되는 것이다.
이상에서 설명한 바와 같이 본 발명은 고성능 2차원 DCT 프로세서 구현을 위해 변환계수가 정수값으로 구성되고, 정/역방향 모두 정수형 연산을 수행하는 OICT와, 행렬분해를 이용하여 정수형 연산을 수행하는 20개의 곱셈수를 갖는 고속계산 알고리즘을 OIT 구현방법을 이용하여 정/역방향 변환 후 정규화 계수를 처리할 수 있도록 정규화 계수로 인한 오차를 무시할 수 있는 범위에서 단일한 정규화 계수로 근사화 시키고, 그 중에서 힐버트 쉬미드 표준값이 적으면서 고속알고리즘 구현이 가능한 정수값을 선정하여 구현토록 하므로서 계산속도를 증가시키고 프로세서 구성 비용을 줄일 수가 있음은 물론 기존의 DCT, OIT보다는 변환의 효율성이 우수할뿐 아니라, 윈너필터의 평균자승오차가 적게 나타남을 알 수있고, 또한 DCT에서 유한비트 연산을 위한 절삭으로 인한 직교변환 성질의 상실로 인한 오차가 발생되지 않아 화상회의, 화상전화, 고화질 텔레비전 등과 같은 영상시스템에 적용시 압축/복원 영상의 화질을 양호하게 할 수 있는 효과를 제공한다.

Claims (10)

  1. OICT 변환을 위해 OICT 코어로의 영상데이터를 입력하는 입력변환기(10)와 OICT코어에서 계산된 결과를 외부로 출력하는 출력변환기(60)와 첫 번째와 두번째의 1차원 OICT 계산을 의한 제1 및 제2 데이터 프로세싱 유니트(20)(40)와, 제1데이터 프로세싱이들로부터 출력값을 행렬전치하기 위한 전치메모리(30)와, 입력클럭에 동기되고 각부분에 적합한 클럭을 발생시켜 내부 동작을 제어하는 타이밍제어부(50)로 구성됨을 특징으로하는 정/역 최적화 정수형 여현변환장치.
  2. 제1항에 있어서 입력변환기(10)는 영상데이터인 픽셀 데이터를 순차적으로 입력 게트시키고 순차 입력 세트된 데이터는 클럭펄스에 동기되어 순차 자리이동시키는 8개의 쉬프트 레지스터(S0-S7)와, 각 쉬프트 레지스터(S0-S7)에서 병렬 출력되는 8개의 픽셀 데이터를 다음의 픽셀 데이터가 쉬프트 레지스터(S0-S7)에 쉬프트되는 동안 기억시켜 제1 데이터 프로세싱 유니트(30)에 병렬로 출력시키는 8개의 기억성 레지스터(R0-R7)로 구성됨을 특징으로하는 정/역 최적화 정수형 여현변환장치.
  3. 제1항 또는 제2항에 있어서, 입력변환기(10)의 기억성 레지스터(R0-R7)에서 병렬 출력되는 8개의 픽셀 데이터가 다음의 8개 픽셀 데이터가 쉬프트 레지스터(S0-S7)에 쉬프트되는 8클럭 동안마다 제1 데이터 프로세싱 유니트(30)에 의해 1차원의 최적화 정수형 여현변환이 이루어 지도록 구성됨을 특징으로 하는 정/역 최적화 정수형 여현변환장치.
  4. 제1항에 있어서, 출력변환기(60)는 제2 데이터 프로세싱 유니트(40)에서 두번째의 1차원 OICT를 수행한 변환 데이터를 타이밍제어부의 클럭에 동기시켜 입력된 픽셀 데이터 순서로 하나씩 순차적으로 출력하는 데이터선택부 및 레지스터(M0-M7)로 구성됨을 특징으로 하는 정/역 최적화 정수형 여현변환장치
  5. 제1항에 있어서, 제1 및 세2 데이터 프로세싱 유니트(20)(40)는 각기 변환계수가 정수값으로 갖는 전제하에서 입력비트의 쉬프트와 덧셈기만으로 곱셈기를 구성하여 고속연산 수행이 이루어 지도록 구성함을 특징으로 하는 정/역 최적화 정수형 여현변환장치
  6. 제1항에 있어서, 전치메모리(30)는 제1 데이터 프로세싱 유니트(20)에서 출력되는 병렬 데이터를 처리하기 위한 멀티플렉서와 레지스터군의 조합인 1×1 스위치, 2×2 스위치, 4×4 스위치의 기본단위들로 구성됨을 특징으로 하는 정/역 최적화 정수형 여현변환장치
  7. OIT 구현방법을 이용하여 픽셀 데이터를 정/역방항 변환 후 정규화 계수를 처리할 수 있도록 정규화 계수로 인한 오차를 무시할 수 있는 범위에서 단일한 정규화 계수로 근사화 시키고, 그 중에서 힐버트 쉬미드 표준값이 적으면서 고속 알고리즘 구현이 가능한 정수값을 선정하여 구현함을 특징으로 하는 정/역 최적화 정수형 여현변환 방법
  8. 제7항에 있어서, 고속 알고리즘은 행렬분해를 이용하여 정수형 연산을 수행하는 20개의 곱셈수를 갖도록 하여 이루어 짐을 특징으로 하는 정/역 최적화 정수형 여현변환 방법
  9. 제7항에 있어서, 변환의 성능을 측정하는 평가수단으로 변환의 효율성식을 이용하여 이루어 짐을 특징으로 하는 정/역 최적화 정수형 여현변환 방법
  10. 제7항에 있어서, 입력신호와 복원된 신호와의 평균자승오차를 이용하여 변환의 성능을 측정하는 평가수단으로 윈너필터에 의한 평균자승오차식
    을 이용하여 이루어 짐을 특징으로 하는 정/역 최적화 정수형 여현변환 방법
KR1019980032637A 1998-08-12 1998-08-12 정/역 최적화 정수형 여현변환장치 및 그 방법 KR20000013653A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980032637A KR20000013653A (ko) 1998-08-12 1998-08-12 정/역 최적화 정수형 여현변환장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980032637A KR20000013653A (ko) 1998-08-12 1998-08-12 정/역 최적화 정수형 여현변환장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR20000013653A true KR20000013653A (ko) 2000-03-06

Family

ID=19546990

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980032637A KR20000013653A (ko) 1998-08-12 1998-08-12 정/역 최적화 정수형 여현변환장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR20000013653A (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100465156B1 (ko) * 2001-08-31 2005-01-13 (주)씨앤에스 테크놀로지 분산산술처리방식의 dct/idct 연산기에 있어서연산오차 및 연산시간 감소방법
KR100963459B1 (ko) * 2006-06-26 2010-06-17 퀄컴 인코포레이티드 순이산 및 역이산 코사인 변환의 효율적인 고정 소수점 근사
KR100963458B1 (ko) * 2006-06-26 2010-06-17 퀄컴 인코포레이티드 순이산 및 역이산 코사인 변환의 효율적인 고정 소수점 근사
US8300698B2 (en) 2006-10-23 2012-10-30 Qualcomm Incorporated Signalling of maximum dynamic range of inverse discrete cosine transform
US8385424B2 (en) 2006-06-26 2013-02-26 Qualcomm Incorporated Reduction of errors during computation of inverse discrete cosine transform

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100465156B1 (ko) * 2001-08-31 2005-01-13 (주)씨앤에스 테크놀로지 분산산술처리방식의 dct/idct 연산기에 있어서연산오차 및 연산시간 감소방법
KR100963459B1 (ko) * 2006-06-26 2010-06-17 퀄컴 인코포레이티드 순이산 및 역이산 코사인 변환의 효율적인 고정 소수점 근사
KR100963458B1 (ko) * 2006-06-26 2010-06-17 퀄컴 인코포레이티드 순이산 및 역이산 코사인 변환의 효율적인 고정 소수점 근사
US8385424B2 (en) 2006-06-26 2013-02-26 Qualcomm Incorporated Reduction of errors during computation of inverse discrete cosine transform
US8571340B2 (en) 2006-06-26 2013-10-29 Qualcomm Incorporated Efficient fixed-point approximations of forward and inverse discrete cosine transforms
US8606023B2 (en) 2006-06-26 2013-12-10 Qualcomm Incorporated Reduction of errors during computation of inverse discrete cosine transform
US8699810B2 (en) 2006-06-26 2014-04-15 Qualcomm Incorporated Efficient fixed-point approximations of forward and inverse discrete cosine transforms
US8300698B2 (en) 2006-10-23 2012-10-30 Qualcomm Incorporated Signalling of maximum dynamic range of inverse discrete cosine transform

Similar Documents

Publication Publication Date Title
US7127482B2 (en) Performance optimized approach for efficient downsampling operations
US5535288A (en) System and method for cross correlation with application to video motion vector estimator
US6178269B1 (en) Architecture for computing a two-dimensional discrete wavelet transform
KR960003648B1 (ko) 화상데이타 처리방법 및 장치
US6327602B1 (en) Inverse discrete cosine transformer in an MPEG decoder
US5649077A (en) Modularized architecture for rendering scaled discrete cosine transform coefficients and inverse thereof for rapid implementation
JPH0526229B2 (ko)
US20040223655A1 (en) Implementation of discrete wavelet transform using lifting steps
US9378186B2 (en) Data processing apparatus and method for performing a transform between spatial and frequency domains when processing video data
Brahimi et al. An efficient fast integer DCT transform for images compression with 16 additions only
KR20000013653A (ko) 정/역 최적화 정수형 여현변환장치 및 그 방법
Lin et al. Simplified 2-D cubic spline interpolation scheme using direct computation algorithm
Jang et al. A 0.8/spl mu/100-MHz 2-D DCT core processor
Hung et al. A nonseparable VLSI architecture for two-dimensional discrete periodized wavelet transform
Fatemi et al. Pipeline, memory-efficient and programmable architecture for 2D discrete wavelet transform using lifting scheme
Lee General methods for L/M-fold resizing of compressed images using lapped transforms
US6327601B1 (en) Linear transform system for decoding video data
Cham et al. A 2-D integer cosine transform chip set and its applications
KR100202567B1 (ko) 고속 역이산 코사인변환 연산장치
KR970003806B1 (ko) 이산 및 역이산 코사인 변환 장치
KR0154919B1 (ko) 2차원 역이산 코사인 변환 회로
KR960014196B1 (ko) 이차원 역 이산 코사인 변환(idct) 프로세서
Zhang et al. A low area pipelined 2-D DCT architecture for JPEG encoder
Hsia et al. Transposed-memory free implementation for cost-effective 2D-DCT processor
Devi et al. A study on VLSI architectures of lifting based discrete wavelet transform

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
NORF Unpaid initial registration fee