KR19980075634A - 영상신호의 압축과 복원을 위한 이산 코사인 변환 장치 - Google Patents

영상신호의 압축과 복원을 위한 이산 코사인 변환 장치 Download PDF

Info

Publication number
KR19980075634A
KR19980075634A KR1019970011876A KR19970011876A KR19980075634A KR 19980075634 A KR19980075634 A KR 19980075634A KR 1019970011876 A KR1019970011876 A KR 1019970011876A KR 19970011876 A KR19970011876 A KR 19970011876A KR 19980075634 A KR19980075634 A KR 19980075634A
Authority
KR
South Korea
Prior art keywords
data
rom
bit
discrete cosine
buffer
Prior art date
Application number
KR1019970011876A
Other languages
English (en)
Other versions
KR100240002B1 (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 KR1019970011876A priority Critical patent/KR100240002B1/ko
Publication of KR19980075634A publication Critical patent/KR19980075634A/ko
Application granted granted Critical
Publication of KR100240002B1 publication Critical patent/KR100240002B1/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
    • 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

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

Abstract

본 발명은 영상신호의 압축과 복원을 위한 이산 코사인 변환 장치에 관한 것으로, 이산 코사인 변환 장치를 2개의 1차원 이산 코사인 변환 수단과 1개의 전치 램으로 구성하되, 콘트롤러의 제어를 받는 버퍼에서는 입력되는 외부 데이타를 전치하여 버퍼 데이타로 출력하도록 하고, 상기 콘트롤러의 제어를 받으면서 상기의 버퍼 데이타를 입력받는 1비트 가/감산기에서는 가산 및 감산 데이타를 롬 어드레스 신호로 출력하고, 상기 콘트롤러의 제어를 받으면서 상기의 롬 어드레스 신호로 입력받는 다수의 롬에서는 롬 데이타를 출력하고, 상기 콘트롤러의 제어를 받으면서 상기의 롬 데이타를 각각 입력받는 다수의 연산기에서는 이들 데이타에 대해 연산을 수행한 후 상기 콘트롤러의 제어를 받는 출력 버퍼를 통해 출력 데이타를 출력하도록 하여 1차원 이산 코사인 변환 수단을 구성함으로써 입력되는 데이타를 1비트씩 연산하는 과정으로 승산기를 대신하여 롬 데이타를 이용하도록 하여 스펙의 크기를 현저히 축소시키고 클럭을 빠르게 하면서 속도의 문제를 해결한 것이다.

Description

영상신호의 압축과 복원을 위한 이산 코사인 변환 장치
본 발명은 영상신호의 압축과 복원을 위한 이산 코사인 변환 장치에 관한 것으로, 특히 입력되는 데이타를 1비트씩 연산하여 스펙의 크기를 현저히 축소시키면서 승산기를 없애고 롬 데이타를 이용하여 계산의 속도가 개선되도록 한 영상신호의 압축과 복원을 위한 이산 코사인 변환 장치에 관한 것이다.
현대에서 방송, 통신, 컴퓨터, 케이블 TV, 영상 음향 기기 등 영상 미디어 기술의 발달로 인하여 보다 좋은 화질의 화상을 보고자 하여 디지탈 신호에 의한 화상을 이용하고 있음은 이미 잘 알려진 사실이다.
디지탈 신호가 화상이나 음성을 정확히 전달할 수 있는 반면에 디지탈 신호가 0이나 1의 숫자의 조합으로 이루어져 있으므로 이들 데이타를 전송하기 위한 신호처리의 구성이 복잡해짐은 물론, 수신측 신호 처리의 구성도 복잡해지게 되었다.
그리고 고화질 영상 및 음성의 전송에 적합한 디지탈 신호에 대해 보다 낮은 코스트로 고화질 및 고음질로 제공하기 위하여 화상 압축의 방법을 이용하게 되었고 이를 위해 고능률 부호화 기술이 개발되었다.
동화상 및 음성의 디지탈 신호를 기록하였다가 재생시키기 위한 고능률 부호화 방식의 MPEG-1의 개발이 완료되었고, 보다 정확하고 세밀한 화상 및 음성을 위한 MPEG-2의 기술로 발전한 후, 다시 MPEG-4에 대한 기술까지 발전하기 위해 연구가 수행되고 있다.
도 1은 일반적인 영상 압축 장치의 전체적인 구성을 나타낸 것으로서;
외부로 부터 입력되는 NTSC의 비디오 신호의 조합에 대해 그 조합에 해당하는 신호를 출력하는 NTSC 디코더(1)와;
상기 NTSC 디코더(1)로부터 입력되는 비디오 신호를 일정시간 동안 지연시키면서 증폭하는 지연 버퍼(2)와;
상기 지연 버퍼(2)로부터 일정시간 동안 지연된 비디오 신호에 대해 변환을 위한 계수를 코사인 함수의 값으로 용이하게 계산하여 주파수 좌표로 변환하는 이산 코사인 변환부(3)와;
상기 이산 코사인 변환부(3)로부터 전달되는 주파수 좌표로 변환된 비디오 신호에 대해 연속적인 곡선의 파형을 계단 파형으로 바꾸면서 진폭을 적당한 레벨로 하여 정수치로 치환하여 출력하는 양자화부(4)와;
상기 양자화부(4)로부터 전달되는 계단 파형의 정수치에 대해 출현 빈도의 대수 절대값에 비례하는 길이를 가진 부호를 그 값에 할당하면서 압축된 비디오 신호로 출력하는 가변 길이 부호부(5)와;
상기 양자화부(4)에서 전달되는 레벨 단위의 정수치를 주파수 좌표의 비디오 신호로 환원시켜 출력하는 역이산 코사인 변환부(6)와;
상기 역이산 코사인 변환부(6)로부터 전달되는 코사인 함수의 값인 주파수 좌표의 비디오 신호를 원래의 비디오 신호로 환원하는 역양자화부(7)와
상기 NTSC 디코더(1)로부터 입력되는 비디오 신호와 상기 역양자화부(7)로부터 전달되는 비디오 신호에 대해 움직임 벡터를 추정한 후 이에 대한 보상 결정을 하는 움직임 추정 및 보상부(8)와;
상기 지연 버퍼(2)로부터 일정시간 동안 지연된 비디오 신호와 상기의 움직임 추정 및 보상부(8)로부터의 신호를 혼합하여 이산 코사인 변환부(3)로 전달하는 감산부(9)와;
상기 움직임 추정부(8)로부터의 신호에 역양자화부(7)로부터의 신호를 혼합하여 움직임 추정 및 보상부로 전달하는 가산부(10)들로 구성하였다.
여기서 이산 코사인 변환부(DCT : Descrete Cosine Transform)는 시간 영역(domain)을 주파수 영역으로 변환시켜 양자화부를 통해 데이타의 압축을 수행하도록 방식이다.
상기와 같은 일반적인 이산 코사인 변환부는 다음과 같은 수식적인 표현과 같은 방식으로 동작을 수행한다.
그리고 상기의 수식적 표현을 행렬 표기법으로 나타내면;
내부의 합은 입력되는 픽셀의 열에 대한 1차원 이산 코사인 변환이고;
외부의 합은 상기 내부합의 결과에 의한 식의 행에 대한 1차원 이산 코사인 변환이 된다.
2차원 이산 코사인 변환을 행렬식으로 표시하면,
가 되고;
이를 도식적으로 표시하면 다음과 같다.
여기서 1차원 이산 코사인 변환의 결과인 행렬 M은 전치 행렬(transposed matrix)로서 다음 1차원 이산 코사인 변환의 입력이 된다.
즉, 2회의 1차원 이산 코사인 변환으로 2차원 이산 코사인 변환의 결과를 얻을 수 있다.
1차원 이산 코사인 변환은 다음과 같은 수식적 표현이 되고;
이를 분산 연산(distributed arithmethic)에 의해 표현하면;
수식적 표현은의 식 1이 되고;
이를 사인 비트(signed bit)의 표현으로 yim을 p 비트의 보수 형태로 표현하면 다음의 식 2와 같다.
상기 식 2를 식 1에 대입하면,
과 같은 식이 얻어지고;
으로 표현되는 Cmk를 c(m,k)로 나타내면;
N=8일때 c(m,k) 행렬의 값은 다음과 같다.
상기의 행렬에서 대칭되는 요소를 찾아서 정리하면;
이 되고, 이를 대입하면;
이 된다.
그러나 상기와 같은 종래의 일반적인 이산 코사인 변환의 방식에 의하여서는 속도를 위해 입력 데이타를 2비트씩 계산하여야 하였고 이로 인해 2배의 롬 데이타가 필요하게 되는 문제점이 있었다.
이에 따라 본 발명은 입력되는 데이타를 1비트식 연산하여 승산기를 대신하여 롬 데이타를 이용하도록 하여 스펙의 크기를 현저히 축소시키고 클럭을 빠르게 하면서 속도의 문제를 해결함으로써 스펙의 크기와 계산의 속도가 개선되도록 한 영상신호의 압축과 복원을 위한 이산 코사인 변환 장치를 제공하는 것을 그 목적으로 한다.
이와 같은 목적을 달성하기 위한 본 발명은 이산 코사인 변환 장치를 2개의 1차원 이산 코사인 변환 수단과 1개의 전치 램으로 구성하되, 콘트롤러의 제어를 받는 버퍼에서는 입력되는 외부 데이타를 전치하여 버퍼 데이타로 출력하도록 하고, 상기 콘트롤러의 제어를 받으면서 상기의 버퍼 데이타를 입력받는 가/감산기에서는 가산 및 감산 데이타를 롬 어드레스 신호로 출력하고, 상기 콘트롤러의 제어를 받으면서 상기의 롬 어드레스 신호로 입력받는 다수의 롬에서는 롬 데이타를 출력하고, 상기 콘트롤러의 제어를 받아면서 상기의 롬 데이타를 각각 입력받는 다수의 연산기에서는 이들 데이타에 대해 연산을 수행한 후 상기 콘트롤러의 제어를 받는 출력 버퍼를 통해 출력 데이타를 출력하도록 하여 1차원 이산 코사인 변환 수단을 구성함으로써 입력되는 데이타를 1비트씩 연산하면서 승산기를 대신하여 롬 데이타를 이용하도록 하여 스펙의 크기를 현저히 축소시키고 클럭을 빠르게 하면서 속도의 문제를 해결한 것이다.
도 1은 일반적인 영상 압축 장치의 전체적인 구성을 나타낸 블럭도.
도 2는 본 발명의 이산 코사인 변환부의 구성을 나타낸 블럭도.
도 3은 본 발명의 1차원 이산 코사인 변환 수단의 구성을 나타낸 블럭도.
도 4는 본 발명의 이산 코사인 변환기의 구성을 나타낸 블럭도.
도 5는 본 발명 버퍼의 상세한 구성을 나타낸 블럭도.
도 6은 본 발명 가/감산기의 상세한 구성을 나타낸 블럭도.
도 7은 본 발명 롬의 상세한 구성을 나타낸 블럭도.
도 8은 본 발명 연산기의 상세한 구성을 나타낸 블럭도.
도 9는 본 발명 출력 버퍼의 상세한 구성을 나타낸 블럭도.
도 10은 본 발명의 동작 과정을 나타낸 플로우 차트.
이하 본 발명을 첨부 도면에 의거 상세히 기술하여 보면 다음과 같다.
도 2는 본 발명의 이산 코사인 변환부의 구성을 나타낸 것으로서;
2개의 1차원 이산 코사인 변환 수단(DCT)(11)(13)과 1개의 전치 램(TRAM : Transpose RAM)(12)으로 구성함으로써 1차원 이산 코사인 변환 수단(11)에서 1차원의 이산 코사인 변환을 수행한 결과인 데이타가 전치 램(12)에서 데이타 치환되어 후단의 1차원 이산 코사인 변환 수단(13)에서 1차원의 이산 코사인 변환이 수행되도록 한 것이다.
도 3은 상기 이산 코사인 변환 수단의 내부 구성을 나타낸 것으로서;
클럭(clock)과 리세트 신호(reset)를 입력받는 콘트롤러(14)에서는 1차원 이산코사인 변환기(15)에 버퍼 인에이블 신호(en buf), 가감산 인에이블 신호(en absb), 롬 인에이블 신호(en rom), 연산 인에이블 신호(en acc) 및 출력 버퍼 인에이블 신호(en outbuf)들을 출력하여 9 비트의 외부 데이타를 전달받는 1차원 이산 코사인 변환기(15)에서 실제적인 연산을 수행한 후 12 비트의 데이타를 출력하도록 한 것이다.
도 4는 상기 이산 코사인 변환기의 내부 구성을 나타낸 것으로서;
클럭(clock)과 리세트 신호(reset) 및 상기 콘트롤러(14)로부터 버퍼 인에이블 신호(en buf)를 전달받는 버퍼(16)에서는 입력되는 9 비트의 외부 데이타를 전치하여 8 비트의 내부 데이타로 출력하고;
클럭(clock)과 리세트 신호(reset) 및 상기 콘트롤러(14)로 부터 가감산 인에이블 신호(en absb)를 전달받으면서 상기 버퍼(16)에서 8 비트의 내부 데이타를 입력받는 가/감산기(17)에서는 4 비트의 가산 데이타와 4 비트의 감산 데이타를 롬 어드레스 신호로 출력하고;
클럭(clock)과 리세트 신호(reset) 및 상기 콘트롤러(14)로부터 롬 인에이블 신호(en rom)를 전달받으면서 상기 가/감산기(17)에서 4 비트씩의 가산 데이타와 감산 데이타를 롬 어드레스 신호로 입력받는 다수의 롬(ROM0) ~ (ROM7)에서는 각각 12 비트씩의 롬 데이터(ro-data0) ~ (ro-data7)를 출력하고;
클럭(clock)과 리세트 신호(reset) 및 상기 콘트롤러(14)로부터 연산 인에이블 신호(en acc)를 전달받으면서 상기 롬(ROM0) ~ (ROM7)에서 12 비트씩의 롬 데이타(ro-data0) ~ (ro-data7)를 각각 입력받는 다수의 연산기(acc0) ~ (acc7)에서는 이들 데이타에 대해 연산을 수행한 후 상기 콘트롤러(14)로부터 출력 버퍼 인에이블 신호(en outbuf)를 전달받는 출력 버퍼(18)를 통해 출력 데이타를 출력하도록 한 것이다.
도 5는 상기 버퍼의 상세한 구성을 나타낸 것으로서;
클럭(clock)과 리세트 신호(reset) 및 상기 콘트롤러(14)로부터 버퍼 인에이블 신호(en buf)를 전달받는 다수의 버퍼(16a) ~ (16h)에서는 8개의 입력 데이타를 차례로 시프트시키면서 버퍼 데이타(bf-data0) ~ (bf-data7)를 병렬로 LSB부터 출력한다.
도 6은 상기 가/감산기의 상세한 구성을 나타낸 것으로서;
클럭(clock)과 리세트 신호(reset) 및 상기 콘트롤러(14)로 부터 가감산 인에이블 신호(en absb)를 전달받으면서 상기 버퍼(16)에서 버퍼 데이타(bf-data0) ~ (bf-data7)를 입력받는 가산기(17a)~(17d) 감산기(17e)~(17h)에서는 1 비트의 가산과 1 비트의 감산을 수행하여 각각 4 비트의 데이터를 만든다.
버퍼 데이타를 1비트 가산 및 감산하는 방식은 다음과 같다.
즉, (bf-data0) + (bf-data7)는 가산 데이타(0)
(bf-data0) - (bf-data7)는 감산 데이타(0)
(bf-data1) + (bf-data6)는 가산 데이타(1)
(bf-data1) - (bf-data6)는 감산 데이타(1)
(bf-data2) + (bf-data5)는 가산 데이타(2)
(bf-data2) - (bf-data5)는 감산 데이타(2)
(bf-data3) + (bf-data4)는 가산 데이타(3)
(bf-data3) - (bf-data4)는 감산 데이타(3)
이렇게 계산된 데이타는 다음의 롬 데이타(ro-data0) ~ (ro-data7)의 어드레스 신호로 출력된다.
그리고 상기와 같이 1 비트씩 연산하는 방식에 의해 연산 블럭의 크기를 64 * 8에서 16 * 8로 최소화할 수 있으며 이로 인한 클럭의 증가는 클럭의 속도를 높게 하여 보완한다.
도 7은 상기 롬의 상세한 구성을 나타낸 것으로서;
클럭(clock)과 리세트 신호(reset) 및 상기 콘트롤러(14)로부터 롬 인에이블 신호(en rom)를 전달받는 롬(ROM0),(ROM2),(ROM4),(ROM6)에는 상기 가/감산기(17)로부터 4 비트의 가산 데이타(0) ~ 가산 데이타(3)가 이들을 선택하기 위한 어드레스 신호로 입력되는 한편 롬(ROM1),(ROM3),(ROM5),(ROM7)에는 감산 데이타(0) ~ 감산 데이타(3)가 이들을 선택하기 위한 롬 어드레스 신호로 입력된다.
그리고 상기의 롬(ROM0) ~ (ROM7)에서는 출력 데이타의 픽셀 순서로 8개의 데이타를 연산하기 위해 8개씩의 롬 데이터(ro-data0) ~ (ro-data7)가 출력된다.
도 8은 상기 연산기의 상세한 구성을 나타낸 것으로서;
클럭(clock)과 리세트 신호(reset) 및 상기 콘트롤러(14)로부터 연산 인에이블 신호(en acc)를 전달받으면서 상기 롬(ROM0) ~ (ROM7)에서 12 비트의 롬 데이터(ro-data0) ~ (ro-data7)를 각각 8개씩 입력받는 다수의 연산기(acc0) ~ (acc7)에서는 이들 롬 데이터(ro-data0) ~ (ro-data7)를 LSB 방향으로 1비트씩 시프트한 후 다음의 클럭에서 가산을 하고, 이들 입력 데이타의 비트 보다 1이 적은 8회 만큼 수행한다.
그리고 마지막으로 입력되는 각 롬 데이터(ro-data0) ~ (ro-data7)의 MSB(Most Signigicant Bit)는 감산의 연산을 수행하고, 이렇게 하여 13 비트의 연산 데이타(AC-DATA)가 생성되어 출력된다.
도 9는 상기 출력 버퍼의 상세한 구성을 나타낸 것으로서;
클럭(clock)과 리세트 신호(reset) 및 상기 콘트롤러(14)로부터 출력 버퍼 인에이블 신호(en outbuf)를 전달받는 출력 버퍼(18a) ~ (18h)에서는 상기 연산기(acc0) ~ (acc7)로부터 입력되는 8개의 데이타인 8개의 픽셀을 2 사이클 마다 1 픽셀씩 출력 데이타로 출력하고, 다음 픽셀을 시프트하면 1차원의 이산 코사인 변환의 출력 데이타를 출력한다.
한편 본 발명의 이산 코사인 변환의 과정을 도 10의 플로우 차트를 참고로 설명하면 다음과 같다.
외부 클럭마다 1 픽셀씩 입력되는 외부 입력 데이타는 버퍼에 8 픽셀(1 칼럼 ; column)이 다 찰 때까지 입력받는다(단계 21).
버퍼에 입력된 데이타는 k 비트 * m 픽셀의 구조이므로 이를 데이타 변환(data transform)하여 m 비트 * (q+1) 데이타의 구조로 바꾼다(단계 22).
여기서 p+1인 10번째 데이타는 9번째 데이타의 값과 동일하게 한다.
변환된 데이타는 각 q 데이타에 대해 (m, n-m) 번째 비트의 값을 1비트 가산 및 감산 처리를 한다(단계 23).
여기서 n는 칼럼당 픽셀값이 8이고, 결과는 독립적인 4개의 1비트 가/감산이 감산 4비트, 가산 4비트를 이룬다.
상기의 가산 및 감산의 결과에 의한 데이타 값으로 롬에 저장되어 있는 8개의 k중 짝수(even)는 가산으로 찾으면서 홀수(odd)는 감산으로 찾는다(단계 24).
그리고 각각의 k에 대해 q=0부터 q=9의 순서로 연산을 수행하면서 LSB(Last Significant Bit)의 방향으로 1 비트씩 스프트하고(단계 25), q=9 즉, 입력된 외부 데이터의 MSB+1인 비트에 이르게 되면(단계 26) 가산 대신 감산을 행하고 시프트를 하지 않는다(단계 27).
상기의 연산을 수행한 후 그 결과값을 램에 출력하면 1차원의 이산 코사인 변환이 종료된다(단계 28).
한편, 본 발명의 이산 코사인 변환은 8 * 8 픽셀을 갖는 1 블럭 단위로 이루어 지므로 N = 8이 된다.
이때 c(i, k) 행렬의 값은 다음의 표와 같다.
이 데이타는 코사인 연산의 특성에 따라 전개될 수 있다.
x = (2i + 1)k 라 하면 i, k에 따른 x의 값은 다음의 표와 같다.
이 코사인 연산에서 x는 0 ~ 2π의 범위를 가지므로, x는 다음의 표와 같다.
x = π축을 중심으로 대칭형이므로 다음의 표와 같이 표현된다.
여기서 (cos 0)/ √2 = cos 4π/16 이므로 Fik0을 어둡게 표현하면 다음의 표와 같다.
코사인 식에서 x는 0 ~ π의 범위 내에서는 π/2를 중심축으로 (-)의 대칭을 이루고 있으므로 8 이상의 값은 16에서 (-) 연산을 하고 코사인 후 (-)를 붙여주면 된다.
따라서 Cik= 1/2 cos (2i + 1)kπ/16 = 1/2 cos xπ/16 이라 할 때, x는 다음의 도 18과 같은 표로 나타난다.
Cik= f(x)y(k)라 하면, Cik
다음의 표와 같은 데이타를 가지게 되고 이를 이용하여 이산 코사인 변환의 연산을 행하면 된다.
그러므로 2차원의 이산 코사인 변환은 1차원의 이산 코사인 변환을 수행한 후 그 결과를 전치 행렬시킨 후 다시 1차원의 이산 코사인 변환을 행하면 된다.
따라서 본 발명의 영상신호의 압축과 복원을 위한 이산 코사인 변환 장치에 의하여서는, 이산 코사인 변환 장치를 2개의 1차원 이산 코사인 변환 수단과 1개의 전치 램으로 구성하되, 콘트롤러의 제어를 받는 버퍼에서는 입력되는 외부 데이타를 전치하여 버퍼 데이타로 출력하도록 하고, 콘트롤러의 제어를 받으면서 버퍼 데이타를 입력받는 가/감산기에서는 가산 및 감산 데이타를 롬 어드레스 신호로 출력하고, 콘트롤러의 제어를 받으면서 롬 어드레스 신호를 입력받는 다수의 롬에서는 롬 데이타를 출력하고, 콘트롤러의 제어를 받으면서 롬 데이타를 각각 입력받는 다수의 연산기에서는 이들 데이타에 대해 연산을 수행한 후 출력 버퍼를 통해 출력 데이타를 출력하도록 하여 1차원 이산 코사인 변환 수단을 구성함으로써 입력되는 데이타를 1비트씩 연산하면서 승산기를 대신하여 롬 데이타를 이용하도록 하여 스펙의 크기를 현저히 축소시키고 클럭을 빠르게 하여 속도의 문제를 해결한 것이다.

Claims (5)

  1. 영상신호의 압축과 복원을 위한 이산 코사인 변환 장치를 2개의 1차원 이산 코사인 변환 수단(11)(13)과 1개의 전치 램으로 구성하되,
    외부로 부터 클럭(clock)과 리세트 신호(reset)를 입력받는 콘트롤러(14)에서는 버퍼 인에이블 신호(en buf), 가감산 인에이블 신호(en absb), 롬 인에이블 신호(en rom), 연산 인에이블 신호(en acc) 및 출력 버퍼 인에이블 신호(en outbuf)들을 출력하도록 하고,
    콘트롤러(14)로부터 버퍼 인에이블 신호(en buf)를 전달받는 버퍼(16)에서는 입력되는 외부 데이타를 전치하여 버퍼 데이타로 출력하도록 하고,
    상기 콘트롤러(14)로 부터 가감산 인에이블 신호(en absb)를 전달받으면서 상기 버퍼(16)에서 버퍼 데이타를 입력받는 가/감산기(17)에서는 4 비트의 가산 데이타와 4 비트의 감산 데이타를 롬 어드레스 신호로 출력하고,
    상기 콘트롤러(14)로부터 롬 인에이블 신호(en rom)를 전달받으면서 상기 가/감산기(17)에서 4 비트씩의 가산 및 감산 데이타를 롬 어드레스 신호로 입력받는 다수의 롬(ROM0) ~ (ROM7)에서는 각각 12 비트씩의 롬 데이터(ro-data0) ~ (ro-data7)를 출력하고,
    상기 콘트롤러(14)로부터 연산 인에이블 신호(en acc)를 전달받으면서 상기 롬(ROM0) ~ (ROM7)에서 12 비트씩의 롬 데이타(ro-data0) ~ (ro-data7)를 각각 입력받는 다수의 연산기(acc0) ~ (acc7)에서는 이들 데이타에 대해 연산을 수행한 후 상기 콘트롤러(14)로부터 출력 버퍼 인에이블 신호(en outbuf)를 전달받는 출력 버퍼(18)를 통해 출력 데이타를 출력하도록 하여 1차원 이산 코사인 변환 수단을 구성하여서 됨을 특징으로 하는 영상신호의 압축과 복원을 위한 이산 코사인 변환 장치.
  2. 제 1 항에 있어서, 상기 가/감산기는 상기 콘트롤러(14)로부터 가감산 인에이블 신호(en absb)를 전달받으면서 상기 버퍼(16)에서 버퍼 데이타(bf-data0) ~ (bf-data7)를 입력받아
    (bf-data0) + (bf-data7)는 가산 데이타(0)
    (bf-data0) - (bf-data7)는 감산 데이타(0)
    (bf-data1) + (bf-data6)는 가산 데이타(1)
    (bf-data1) - (bf-data6)는 감산 데이타(1)
    (bf-data2) + (bf-data5)는 가산 데이타(2)
    (bf-data2) - (bf-data5)는 가산 데이타(2)
    (bf-data3) + (bf-data4)는 가산 데이타(3)
    (bf-data3) - (bf-data4)는 가산 데이타(3)
    의 방식으로 1 비트의 가산과 1 비트의 감산을 수행하여 다음의 롬 데이터(ro-data0) ~ (ro-data7)의 어드레스 신호로 출력하도록 하여 연산 블럭의 크기가 최소로 구성됨을 특징으로 하는 영상 신호의 압축과 복원을 위한 이산 코사인 변환 장치.
  3. 제 1 항에 있어서, 상기 롬은 상기 콘트롤러(14)로부터 롬 인에이블 신호(en rom)를 전달받는 롬(ROM0),(ROM2),(ROM4),(ROM6)에는 상기 가/감산기(17)로부터 4 비트의 가산 데이타(0) ~ 가산 데이타(3)가 어드레스 신호로 입력되도록 하면서 롬(ROM1),(ROM3),(ROM5),(ROM7)에는 감산 데이타(0) ~ 감산 데이타(3)가 롬 어드레스 신호로 입력되도록 하고,
    상기 롬(ROM0) ~ (ROM7)에서는 출력 데이타의 픽셀 순서로 8개의 데이타를 연산하기 위해 8개씩의 롬 데이터(ro-data0) ~ (ro-data7)가 출력되도록 구성하여서 됨을 특징으로 하는 영상신호의 압축과 복원을 위한 이산 코사인 변환 장치.
  4. 제 1 항에 있어서, 상기 연산기는 상기 콘트롤러(14)로부터 연산 인에이블 신호(en acc)를 전달받으며 상기 롬(ROM0) ~ (ROM7)에서 12 비트의 롬 데이터(ro-data0) ~ (ro-data7)를 각각 8개씩 입력받아 LSB 방향으로 1비트씩 시프트한 후 다음의 클럭에서 가산하고,
    이들 입력 데이타의 비트 보다 1이 적은 8회 만큼 수행하며,
    마지막으로 입력되는 각 롬 데이터(ro-data)의 MSB(Most Signigicant Bit)는 감산의 연산을 수행하여 12 비트의 연산 데이타(ac-data0) ~ (ac-data7)가 생성되어 출력되도록 구성하여서 됨을 특징으로 하는 영상신호의 압축과 복원을 위한 이산 코사인 변환 장치.
  5. 외부 클럭마다 1 픽셀씩 8 비트로 입력되는 외부 데이타를 버퍼에서 8 픽셀 단위로 입력받는 단계와,
    k * m 픽셀의 구조인 버퍼에 입력된 데이타를 데이타 변환하여 m 비트 * (q+1) 데이타의 구조로 바꾸는 단계와,
    그리고 q+1인 10번째 데이타는 q번째 데이타의 값과 동일하게 하는 단계와,
    8개 * 8 베트로 변환된 데이타는 각 q 데이타에 대해 (m, n-m) 번째 비트의 값을 1비트 가산 및 감산 처리를 하는 단계와,
    상기의 가산 및 감산의 결과에 의한 데이타 값으로 롬에 저장되어 있는 데이타 값을 8개의 k중 짝수(even)는 가산으로, 홀수(odd)는 감산으로 찾는 단계와,
    각각의 k에 대해 q가 LSB에서 MSB의 순서로 연산을 수행하면서 MSB의 방향으로 1 비트씩 시프트하면서 q가 MSB+1의 사인 비트에 이르게 되는 경우에는 가산대신 감산을 행하고 시프트를 하지 않는 단계와,
    상기의 연산을 수행한 후 그 결과값을 램에 출력하는 단계들에 의해 이산 코사인 변환이 수행됨을 특징으로 하는 영상신호의 압축과 복원을 위한 이산 코사인 변환 장치.
KR1019970011876A 1997-03-31 1997-03-31 영상신호의 압축과 복원을 위한 이산 코사인 변환 장치 KR100240002B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970011876A KR100240002B1 (ko) 1997-03-31 1997-03-31 영상신호의 압축과 복원을 위한 이산 코사인 변환 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970011876A KR100240002B1 (ko) 1997-03-31 1997-03-31 영상신호의 압축과 복원을 위한 이산 코사인 변환 장치

Publications (2)

Publication Number Publication Date
KR19980075634A true KR19980075634A (ko) 1998-11-16
KR100240002B1 KR100240002B1 (ko) 2000-01-15

Family

ID=19501611

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970011876A KR100240002B1 (ko) 1997-03-31 1997-03-31 영상신호의 압축과 복원을 위한 이산 코사인 변환 장치

Country Status (1)

Country Link
KR (1) KR100240002B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100539704C (zh) * 2005-12-08 2009-09-09 香港中文大学 视频信号的编码系数的转换装置及其方法

Also Published As

Publication number Publication date
KR100240002B1 (ko) 2000-01-15

Similar Documents

Publication Publication Date Title
KR100965704B1 (ko) 이미지 및 비디오 코딩을 위한 2d 변환
KR100982156B1 (ko) 역이산 코사인 변환의 계산 중의 에러 감소
JP4560033B2 (ja) ビデオまたはイメージのデータを復号化するための方法
Shams et al. NEDA: A low-power high-performance DCT architecture
JP4012274B2 (ja) 輪郭線映像信号符号化方法及びその装置
KR100331136B1 (ko) 멀티미디어정보용역코사인변환함수를수행하는컴퓨터시스템
JPH07274174A (ja) デジタル信号デコーダ・システム
WO1996013780A2 (en) Method and apparatus for performing fast reduced coefficient discrete cosine transforms
MX2008008987A (es) Transformadas con factores comunes.
KR20060047898A (ko) 고속 비디오 코덱 변환 구현을 이용하는 변환 코딩 방법
JP4688988B2 (ja) ビデオデータの圧縮方法並びに装置、及び伸張方法並びに装置
JP3297742B2 (ja) 画像再生装置及び画像再生方法
US7216140B1 (en) Efficient implementation of n-point DCT, n-point IDCT, SA-DCT and SA-IDCT algorithms
US6018351A (en) Computer system performing a two-dimensional rotation of packed data representing multimedia information
JPH07143488A (ja) 画像データ復号化方法および装置
US6507673B1 (en) Method and apparatus for video encoding decision
WO1997024681A9 (en) A computer system performing a two-dimensional rotation of packed data representing multimedia information
KR19980075634A (ko) 영상신호의 압축과 복원을 위한 이산 코사인 변환 장치
KR100249088B1 (ko) 영상 신호의 압축 및 복원을 위한 역이산 코사인 변환 장치
JP6555814B2 (ja) 直交変換処理装置、逆直交変換処理装置、符号化装置、復号装置、及びコンピュータプログラム
KR100402734B1 (ko) 부호화된 피승수를 사용하는 고정 소수점 곱셈 장치 및 그방법
JP3107676B2 (ja) 量子化回路
JP3911784B2 (ja) 画像圧縮装置及び画像圧縮方法
JP2005354307A (ja) 逆量子化器及びこれを用いた画像復号化装置
Fryza Introduction to implementation of real time video compression method

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121005

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20131025

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20141222

Year of fee payment: 16

FPAY Annual fee payment

Payment date: 20151020

Year of fee payment: 17

LAPS Lapse due to unpaid annual fee