KR200309400Y1 - 래스터-블록 변환기 - Google Patents

래스터-블록 변환기 Download PDF

Info

Publication number
KR200309400Y1
KR200309400Y1 KR20-2003-0003072U KR20030003072U KR200309400Y1 KR 200309400 Y1 KR200309400 Y1 KR 200309400Y1 KR 20030003072 U KR20030003072 U KR 20030003072U KR 200309400 Y1 KR200309400 Y1 KR 200309400Y1
Authority
KR
South Korea
Prior art keywords
address
raster
block
memory
generation logic
Prior art date
Application number
KR20-2003-0003072U
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 KR20-2003-0003072U priority Critical patent/KR200309400Y1/ko
Application granted granted Critical
Publication of KR200309400Y1 publication Critical patent/KR200309400Y1/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/423Methods 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 characterised by memory arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 고안은 래스터-블록 변환기(Raster-to-block Converter)에 관한 것으로, 이산여현 변환(Discrete Cosine Transform : DCT) 방식의 압축 프로세서에서 필요한 버퍼를 칩의 면적을 줄여주어 보다 나은 효율적인 설계에 관한 것이다. 본 고안은 버퍼를 단지 8 라인의 메모리만으로 구현할 수 있게 함으로써 회로 비용과 소비 전력을 감소시킬 수 있다.

Description

래스터-블록 변환기{Raster-to-block Converter}
본 고안은 변환기(Converter)에 관한 것으로, 특히 압축 프로세서로 입력되는 화소 데이터의 래스터 스캔을 8x8 블록으로 변환할 때 단 한개의 8 라인 버퍼만을 가지고 구현한 래스터-블록(Raster-to-block) 변환기에 관한 것이다.
JPEG, H.263, MPEG1, MPEG2 등 이산여현 변환(Discrete Cosine Transform : DCT)방식의 압축 프로세서는 래스터-블록 변환기에 필요하다.
래스터-블록 변환기는 카메라에서 입력되는 래스터 방식의 픽셀 데이터를 이산여현 변환 처리를 위해 8x8 블록 방식으로 변환해주는 장치이다.
도 1a 및 1b는 각각 일반적인 래스터 및 8x8 블록 스캔 과정을 나타낸 것이다.
도 1a에 도시된 바와 같이, 래스터 스캔 과정은 입력되는 순서대로 영상을 픽셀 단위로 좌에서 우로, 위에서 아래로 처리하는 방법이고, 8x8 블록 스캔 과정은 도 1b에 도시된 바와 같이, 8x8 화소 블록 단위로 좌에서 우로, 위에서 아래로 처리하는 방법이다.
도 2는 종래의 이중 버퍼링(Double Buffering)을 이용할 경우의 하드웨어 구조로서, 2*(N : 수평방향의 픽셀수)*8바이트의 메모리를 이용한 하드웨어 구조이다.
도 2에 도시된 바와 같이, 메모리의 어드레스를 생성해 주는 로직은 쓰기 모드와 읽기 모드를 위해 두개로 나누어진다. 쓰기 모드일 때의 제1 어드레스 생성로직(1)은 입력되는 픽셀 단위로 좌에서 우로, 위에서 아래 순서로 어드레스를 생성하게 된다. 읽기 모드일 때의 제2 어드레스 생성로직(2)은 8x8 블록 단위로 좌에서 우로, 위에서 아래로 어드레스를 생성한다. 멀티플레서(3)는 이 두개의 어드레스생성 로직의 출력을 읽기/쓰기 모드에 따라 메모리의 어드레스로 출력되고, 화소데이터는 이중 버퍼링하는 메모리(4)를 통하여 8 ×8 블록화된 화소 데이터(5)가 출력된다.
도 3a는 이중 버퍼링을 이용할 경우 어드레스를 8×1 기본 단위로 래스터 스캔 과정을 나타낸 순서도이고, 도 3b는 8x8 블록 단위로 스캔 과정 처리하는 순서를 나타낸 것이다.
래스터-블록 변환기는 이중 버퍼링으로 두개의 8 라인 버퍼를 두고 첫 번째 버퍼에 래스터 방식으로 쓰고, 두 번째 버퍼에 쓸 때에는 8x8 블록 방식으로 읽기 시작하여 서로 엇갈리는 것은 피하는 방법을 쓴다.
이 방식은 버퍼의 어드레스가 항상 8 라인마다 항상 같게 되어 어드레스 생성 로직이 간단한 반면 2*8*수평방향 픽셀수 만큼의 메모리가 필요하게 된다.
종래에는 8 라인 버퍼 두개를 이용하여 구현했던 방식을 사용함으로 비용 증감 및 ASIC 구현 시에 전력 소모가 많은 문제점이 있다.
상기와 같은 문제점을 해결하기 위해 안출된 본 고안은 압축 프로세서로 입력되는 화소 데이터의 래스터 스캔을 8x8 블록으로 변환할 때 단 한개의 8 라인 버퍼만을 가지고 이산여현 변환 기반의 압축방법을 구현함으로써 비용을 절감시키고, 저 전력화로 AISC을 구현하는데 그 목적이 있다.
도 1a 및 1b는 일반적인 래스터 스캔 및 8x8 블록 스캔 과정
도 2는 종래의 이중 버퍼링을 이용할 경우의 하드웨어 구조
도 3a 및 3b는 종래의 이중 버퍼링을 이용할 경우 래스터 및 8x8 블록 스캔 과정을 나타낸 순서도
도 4는 본 고안에 따른 8라인 래스터-블록 변환기의 하드웨어 구조
도 5는 본 고안에 따른 어드레스 생성 로직의 블록 다이어그램
<도면의 주요 부분에 대한 부호의 설명>
11 : 제1 어드레스 생성로직 12 : 제1 어드레스 생성로직
13, 24 : 멀티 플렉스 14 : 메모리
15 : 화소 데이터 21 : 덧셈기
22 : 제1 비교기 23 : 뺄셈기
25 : 플립 플롭 26 : 카운터
상기와 같은 목적을 달성하기 위한 본 고안의 래스터-블록 변환기는 쓰기 모드일 때의 제1 어드레스 생성 로직과, 읽기 모드일 때의 제2 어드레스 생성 로직과, 읽기/쓰기 모드에 따라 어드레스를 출력하는 멀티플렉서, 및 화소데이터를 8×8 블록화된 화소데이터로 출력하는 메모리로 구성됨을 특징으로 한다.
본 고안은 래스터 방식으로 입력되는 영상 데이터를 영상압축처리(JPEG, MPEG)를 위해서는 블록 단위(8x8 블록) 변환이 반드시 필요하다.
이하, 첨부한 도면들을 참조하여 본 고안의 바람직한 실시예를 상세히 설명하면 다음과 같다.
도 4는 본 고안에서 구현한 8라인 래스터-블록 변환기의 하드웨어 구조로서, 8*(수평방향 픽셀수) 바이트의 메모리를 이용한 하드웨어 구조를 나타낸 것이다.
도 4에 도시된 바와 같이, 메모리의 어드레스 생성 로직은 쓰기 모드와 읽기 모드를 위해 두개의 동일한 로직이 필요하게 된다.
쓰기 모드일 때의 제1 어드레스 생성로직(11)은 입력되는 픽셀 단위로 좌에서 우로, 위에서 아래 순서로 어드레스를 생성하게 된다. 읽기 모드일 때의 제2 어드레스 생성로직(12)은 8x8 블록 단위로 좌에서 우로, 위에서 아래로 어드레스를 생성한다. 이 두개의 어드레스 생성 로직은 구조는 동일하며 용도 차이만 있다.
제1 및 제2 어드레스 생성 로직(11, 12)의 어드레스 출력은 멀티플렉서(12)를 거쳐 읽기/쓰기 모드에 따라 메모리의 어드레스로 입력된다. 멀티플렉서(12)를 통하여 화소데이터는 이중 버퍼링하는 메모리(13)에 보내면 8 ×8 블록화된 화소 데이터(14)가 출력된다.
여기서 메모리(13)는 화소데이터를 버퍼링하는 역할을 하며 8*(수평방향의픽셀수) 바이트의 메모리이다.
도 5는 본 고안의 어드레스 생성 로직의 블록 다이어그램이다
도 5에 도시된 바와 같이, 이전의 어드레스와 카운터의 초기값은 0이며, 어드레스 증가값은 초기값이 1이다. 동작이 시작하면 카운터(26)는 1씩 증가하게 된다.
덧셈기(21)에서 이전의 어드레스와 어드레스 증가값을 더한다. 덧셈기(21)의 출력이 K-1보다 크면 1의 출력이 그대로 현재의 어드레스 출력이 되며 만약 K-1보다 작거나 같으면 1의 출력에서 K-1을 뺄셈기(23)를 통하여 뺀 결과가 현재의 어드레스로 제1비교기(22)를 통하여 출력된다. 여기서, 변수 K는 수평방향의 픽셀수를 의미한다.
어드레스 증가값은 카운터(26)의 하위 3비트를 제외한 값이 제2비교기(27)에서 k/8+1과 같으면 현재의 어드레스의 하위 3비트를 제외한 값을 플립플롭(25)에 저장하게 된다. 플립플롭(25)에 저장된 값은 카운터 값이 0으로 되는 순간 제3비교기(29)에 저장되어 어드레스 증가값을 변화하게 한다. 현재의 어드레스의 하위 3 비트는 카운터의 하위 3비트와 같게 되어 0부터 7까지 순서대로 변화되고 현재의 어드레스의 나머지 상위 비트들은 멀티플렉스(24)의 출력에 연결되어 변화된다.
본 고안은 래스터 방식으로 8 라인을 저장하면서 1 블록을 읽어갈 경우 1 블록의 빈 공간이 생긴다. 다음 라인을 저장할 때 래스터 순서의 데이터를 저장하는 어드레스를 이전의 블록으로 읽어간 어드레스와 같게 한다. 그 결과 화소 데이터를 잃어버리는 경우가 생기지 않게 된다.
종래의 방법은 8 라인 단위로 어드레스가 항상 같은 것이었다. 그러나 본 고안의 방법은 어드레스가 8 라인 단위로 매번 변하게 된다.
종래의 방법이 16 라인의 메모리를 이용하여 어드레스 생성 로직을 간단하게 한 반면에 본 고안은 간단히 약간의 덧샘기와 메모리 로직을 추가함으로 버퍼로 쓰이는 8 라인의 버퍼만 필요하게 하였다. 이는 종래의 버퍼를 반으로 줄인 것으로 비용과 소비 전력면에서 절감 효과를 가져 다 준다.
상기와 같은 본 고안은 소자수를 최소화하여 제조비용을 절감시켜 주며 전력의 절감을 얻을 수 있을 뿐만 아니라 이중 버퍼링을 이용한 래스터-블록 변환기보다 1/2배의 버퍼만으로 구현할 수 있는 장점이 있다.

Claims (5)

  1. 래스터-블록 변환기에 있어서,
    쓰기 모드일 때의 제1 어드레스 생성 로직과,
    읽기 모드일 때의 제2 어드레스 생성 로직과,
    상기 읽기/쓰기 모드에 따라 어드레스를 출력하는 멀티플렉서, 및
    화소데이터를 8×8 블록화된 화소데이터로 출력하는 메모리로 구성됨을 특징으로 하는 래스터-블록 변환기.
  2. 제 1 항에 있어서,
    상기 제1 및 제2 어드레스 생성로직은 구조가 동일한 것을 특징으로 하는 래스터-블록 변환기.
  3. 제 1 항에 있어서,
    상기 메모리는 화소데이터를 버퍼링하는 역할을 하며 8*(수평방향의 픽셀수) 바이트인 것을 특징으로 하는 래스터-블록 변환기.
  4. 제 1 항에 있어서,
    상기 제1 및 제2 어드레스 생성로직은 8라인을 쓰고 1블록을 읽었을 경우 생기는 공간에 다시 쓰는 것을 특징으로 래스터-블록 변환기.
  5. 제 1 항에 있어서,
    상기 어드레스가 8 라인 단위로 매번 변하는 것을 특징으로 하는 래스터-블록 변환기.
KR20-2003-0003072U 2003-01-30 2003-01-30 래스터-블록 변환기 KR200309400Y1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20-2003-0003072U KR200309400Y1 (ko) 2003-01-30 2003-01-30 래스터-블록 변환기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20-2003-0003072U KR200309400Y1 (ko) 2003-01-30 2003-01-30 래스터-블록 변환기

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020020079396A Division KR20040051451A (ko) 2002-12-12 2002-12-12 래스터-블록 변환기

Publications (1)

Publication Number Publication Date
KR200309400Y1 true KR200309400Y1 (ko) 2003-03-31

Family

ID=49404149

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20-2003-0003072U KR200309400Y1 (ko) 2003-01-30 2003-01-30 래스터-블록 변환기

Country Status (1)

Country Link
KR (1) KR200309400Y1 (ko)

Similar Documents

Publication Publication Date Title
JP4909779B2 (ja) 画像データ転送方法、画像処理装置、及び撮像システム
US10681363B2 (en) Lossless compression method and system applied to hardware video decoding
US20080205781A1 (en) Image processing apparatus and method
JP2010081182A (ja) 画像処理装置
JP2011223519A (ja) データ変換装置
US7929777B2 (en) Variable length decoding device, variable length decoding method and image capturing system
JP3626687B2 (ja) 画像処理装置
KR200309400Y1 (ko) 래스터-블록 변환기
US7542612B2 (en) Signal processing method and signal processing device
US6233280B1 (en) Video decoder for high picture quality
JPH088647B2 (ja) ランレングス符号化法および装置
US6377707B1 (en) Image processing system
KR20040051451A (ko) 래스터-블록 변환기
KR0182511B1 (ko) 2차원 역이산 코사인 변환장치
US6282321B1 (en) Context generation circuit and method for small screen
US6934336B2 (en) Area expansion apparatus, area expansion method, and area expansion program
JP2005160021A (ja) 信号処理方法および信号処理装置
US20100085488A1 (en) Method and system for writing a reference frame into a reference frame memory
US6999627B2 (en) Deterministic prediction in an image processing system
JP2933029B2 (ja) デジタル信号符号化/復号化回路
KR100195098B1 (ko) 영상 압축 및 복원장치에 있어서 가변길이복호화된 데이타 재배열방법 및 회로
JP2002152756A (ja) 動画像符号化装置
JP3702508B2 (ja) ディジタル画像信号用のメモリ装置
KR20060122530A (ko) 표본 추출비가 다른 화상데이터의 버스트 전송이 가능한화상처리장치 및 그 버스트 전송방법
KR100228554B1 (ko) 비디오 인코더에서의 메모리 제어 방법

Legal Events

Date Code Title Description
U107 Dual application of utility model
REGI Registration of establishment
T201 Request for technology evaluation of utility model
T701 Written decision to grant on technology evaluation
FPAY Annual fee payment

Payment date: 20120228

Year of fee payment: 10

EXPY Expiration of term