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

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

Info

Publication number
KR100240002B1
KR100240002B1 KR1019970011876A KR19970011876A KR100240002B1 KR 100240002 B1 KR100240002 B1 KR 100240002B1 KR 1019970011876 A KR1019970011876 A KR 1019970011876A KR 19970011876 A KR19970011876 A KR 19970011876A KR 100240002 B1 KR100240002 B1 KR 100240002B1
Authority
KR
South Korea
Prior art keywords
data
rom
buffer
discrete cosine
bit
Prior art date
Application number
KR1019970011876A
Other languages
English (en)
Other versions
KR19980075634A (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

Images

Classifications

    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Discrete Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Complex Calculations (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)로 부터의 신호를 혼합하여 움직임 추정 및 보상부(8)로 전달하는 가산부(10)들로 구성하였다.
여기서 이산 코사인 변환부(DCT : Descrete Cosine Transform)는 시간 영역(domain)을 주파수 영역으로 변환시켜 양자화부를 통해 데이타의 압축을 수행하도록 방식이다.
상기와 같은 일반적인 이산 코사인 변환부는 다음과 같은 수식적인 표현과 같은 방식으로 동작을 수행한다.
Figure kpo00002
그리고 상기의 수식적 표현을 행렬 표기법으로 나타내면, 내부의 합
Figure kpo00003
은 입력되는 픽셀의 열에 대한 1차원 이산 코사인 변환이고, 외부의 합은 상기 내부합의 결과에 의한 식의 행에 대한 1 차원 이산 코사인 변환이 된다.
2 차원 이산 코사인 변환을 행렬식으로 표시하면,
Figure kpo00004
가 되고, 이를 도식적으로 표시하면 다음과 같다.
Figure kpo00005
여기서 1차원 이산 코사인 변환의 결과인 행렬 M은 전치 행렬(transposed matrix)로서 다음 1 차원 이산 코사인 변환의 입력이 된다.
즉, 2 회의 1 차원 이산 코사인 변환으로 2 차원 이산 코사인 변환의 결과를 얻을 수 있다.
1 차원 이산 코사인 변환은 다음과 같은 수식적 표현이 되고,
Figure kpo00006
이를 분산 연산(distributed arithmethic)에 의해 표현하면, 수식적 표현은
Figure kpo00007
의 식1이 되고,
이를 사인 비트(signed bit)의 표현으로 yim을 p 비트의 보수 형태로 표현하면 다음의 식 2와 같다.
Figure kpo00008
상기 식 2를 식 1에 대입하면,
Figure kpo00009
과 같은 식이 얻어지고,
Figure kpo00010
으로 표현되는 Cmk를 c(m, k)로 나타내면, N= 8일 때 c(m, k) 행렬의 값은 다음과 같다.
Figure kpo00011
상기의 행렬에서 대칭되는 요소를 찾아서 정리하면,
Figure kpo00012
이 되고, 이를 대입하면,
Figure kpo00013
이 된다.
그러나 상기와 같은 종래의 일반적인 이산 코사인 변환의 방식에 의하여서는 속도를 위해 입력 데이타를 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), 가감산 인에이블 신호(enabsb), 롬 인에이블 신호(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-data)7를 각각 입력받는 다수의 연산기(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-data)7의 어드레스 신호로 출력된다.
그리고 상기와 같이 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 Significant 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) 행렬의 값은 다음의 표와 같다.
Figure kpo00014
이 데이타는 코사인 연산의 특성에 따라 전개될 수 있다.
x = (2i + 1)k 라 하면 i, k에 따른 x의 값은 다음의 표와 같다.
Figure kpo00015
이 코사인 연산에서 x 는 0 ∼ 2π의 범위를 가지므로, x는 다음의 표와 같다.
Figure kpo00016
x = π축을 중심으로 대칭형이므로 다음의 표와 같이 표현된다.
Figure kpo00017
여기서 (COS 0)/ √2 = cos 4 π/ 16 이므로 Fik< 0 을 어둡게 표현하면 다음의 표와 같다.
Figure kpo00018
코사인 식에서 x 는 0 ∼ π의 범위 내에서는 π/2를 중심축으로 (-)의 대칭을 이루고 있으므로 8 이상의 값은 16에서 (-) 연산을 하고 코사인 후 (-)를 붙여주면 된다.
따라서 Cik= 1/2 cos (2i + 1)kπ/ 16 = 1/2 cos xπ/ 16 이라 할 때, x는 다음의 도18과 같은 표로 나타난다.
Figure kpo00019
Cik= f(x)y(k)라 하면, Cik는 다음의 표와 같은 데이타를 가지게 되고 이를 이용하여 이산 코사인 변환의 연산을 행하면 된다.
Figure kpo00020
그러므로 2 차원의 이산 코사인 변환은 1 차원의 이산 코사인 변환을 수행한 후 그 결과를 전치 행렬시킨 후 다시 1 차원의 이산 코사인 변환을 행하면 된다.
따라서 본 발명의 영상신호의 압축과 복원을 위한 이산 코사인 변환 장치에 의하여서는, 이산 코사인 변환 장치를 2 개의 1 차원 이산 코사인 변환 수단과 1 개의 전치 램으로 구성하되, 콘트롤러의 제어를 받는 버퍼에서는 입력되는 외부 데이타를 전치하여 버퍼 데이타로 출력하도록 하고, 콘트롤러의 제어를 받으면서 버퍼 데이타를 입력받는 가/감산기에서는 가산 및 감산 데이타를 롬 어드레스 신호로 출력하고, 콘트롤러의 제어를 받으면서 롬 어드레스 신호를 입력받는 다수의 롬에서는 롬 데이타를 출력하고, 콘트롤러의 제어를 받으면서 롬 데이타를 각각 입력받는 다수의 연산기에서는 이들 데이타에 대해 연산을 수행한 후 출력 버퍼를 통해 출력 데이타를 출력하도록 하여 1 차원 이산 코사인 변환 수단을 구성함으로써 입력되는 데이타를 1비트씩 연산하면서 승산기를 대신하여 롬 데이타를 이용하도록 하여 스펙의 크기를 현저히 축소시키고 클럭을 빠르게 하여 속도의 문제를 해결한 것이다.

Claims (5)

  1. 영상신호의 압축과 복원을 위한 이산 코사인 변환 장치를 2 개의 1 차원 이산 코사인 변환 수단(11)(13)과 1 개의 전치 램(12)으로 구성하되, 외부로 부터 클럭(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 Significant 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 KR19980075634A (ko) 1998-11-16
KR100240002B1 true 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100984620B1 (ko) * 2005-12-08 2010-09-30 더 차이니즈 유니버시티 오브 홍콩 비디오 신호의 코딩 계수를 변환하기 위한 장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100984620B1 (ko) * 2005-12-08 2010-09-30 더 차이니즈 유니버시티 오브 홍콩 비디오 신호의 코딩 계수를 변환하기 위한 장치 및 방법

Also Published As

Publication number Publication date
KR19980075634A (ko) 1998-11-16

Similar Documents

Publication Publication Date Title
KR100965704B1 (ko) 이미지 및 비디오 코딩을 위한 2d 변환
KR950012222B1 (ko) 코사인 변환 회로
JP3220598B2 (ja) 可変長符号テーブルおよび可変長符号化装置
Shams et al. NEDA: A low-power high-performance DCT architecture
JP3989009B2 (ja) フォワード変換装置及びインバース変換装置
KR20040036923A (ko) 변환 및 연속되는 양자화의 구현
JP2005507587A (ja) 空間的にスケーラブルな圧縮
JPH11219428A (ja) データ処理システム及び色変換方法
KR20120098500A (ko) 영상의 변환 및 역변환 방법, 및 이를 이용한 영상의 부호화 및 복호화 장치
KR20060047898A (ko) 고속 비디오 코덱 변환 구현을 이용하는 변환 코딩 방법
KR100240002B1 (ko) 영상신호의 압축과 복원을 위한 이산 코사인 변환 장치
KR20030057425A (ko) 역 변환 디바이스 및 역 변환 방법 및 변환 디바이스 및변환 방법
KR100249088B1 (ko) 영상 신호의 압축 및 복원을 위한 역이산 코사인 변환 장치
JP6555814B2 (ja) 直交変換処理装置、逆直交変換処理装置、符号化装置、復号装置、及びコンピュータプログラム
KR20100074272A (ko) 높은 코딩 효율을 갖는 적응 이미지 필터의 고정 소수점 구현
JP4594420B2 (ja) データ変換装置及びその制御方法
JP5560452B2 (ja) 画像処理方法及び画像処理装置
KR100402734B1 (ko) 부호화된 피승수를 사용하는 고정 소수점 곱셈 장치 및 그방법
JP2005354307A (ja) 逆量子化器及びこれを用いた画像復号化装置
KR100240004B1 (ko) 영상신호의 압축 및 복원을 위한 양자화 및 역양자화 장치
KR100303744B1 (ko) 화상 압축·신장 방법 및 화상 압축·신장 장치
JP6102707B2 (ja) デジタル符号化装置
KR101786921B1 (ko) 고속 움직임 추정을 위한 장치 및 방법
JP5451171B2 (ja) データ変換処理装置およびデータ変換処理方法
JP4089898B2 (ja) 符号化動画像変換装置

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