KR20040051451A - Raster-to-block converter - Google Patents

Raster-to-block converter Download PDF

Info

Publication number
KR20040051451A
KR20040051451A KR1020020079396A KR20020079396A KR20040051451A KR 20040051451 A KR20040051451 A KR 20040051451A KR 1020020079396 A KR1020020079396 A KR 1020020079396A KR 20020079396 A KR20020079396 A KR 20020079396A KR 20040051451 A KR20040051451 A KR 20040051451A
Authority
KR
South Korea
Prior art keywords
address
block
read
pixel data
raster
Prior art date
Application number
KR1020020079396A
Other languages
Korean (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 KR1020020079396A priority Critical patent/KR20040051451A/en
Publication of KR20040051451A publication Critical patent/KR20040051451A/en

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
    • 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
    • H04N19/426Methods 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 using memory downsizing methods
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

PURPOSE: A raster-to-block converter is provided to embody a DCT(Discrete Cosine Transform)-based compression method using only one 8-line buffer. CONSTITUTION: The first address generating logic(11) generates a write address in a write mode. The second address generating logic(12) generates a read address in a read mode. A multiplexer(13) outputs a read/write address according to the read/write mode. A memory(14) outputs pixel data as 8x8 block pixel data(15). The first and second address generating logics(11,12) have the same structure. The memory(14) buffers the pixel data. If 8 lines are written and one block is read, the first and second address generating logics(11,12) write the pixel data again in a new blank space.

Description

래스터-블록 변환기{Raster-to-block Converter}Raster-to-block Converter

본 발명은 변환기(Converter)에 관한 것으로, 특히 압축 프로세서로 입력되는 화소 데이터의 래스터 스캔을 8x8 블록으로 변환할 때 단 한개의 8 라인 버퍼만을 가지고 구현한 래스터-블록(Raster-to-block) 변환기에 관한 것이다.TECHNICAL FIELD The present invention relates to a converter, and in particular, a raster-to-block converter implemented with only one 8-line buffer when converting a raster scan of pixel data input to a compression processor into an 8x8 block. It is about.

JPEG, H.263, MPEG1, MPEG2 등 이산여현 변환(Discrete Cosine Transform : DCT)방식의 압축 프로세서는 래스터-블록 변환기가 필요하다.Discrete Cosine Transform (DCT) compression processors such as JPEG, H.263, MPEG1, and MPEG2 require a raster-block converter.

래스터-블록 변환기는 카메라에서 입력되는 래스터 방식의 픽셀 데이터를 이산여현 변환 처리를 위해 8x8 블록 방식으로 변환해주는 장치이다.The raster-block converter converts raster-type pixel data input from a camera into an 8x8 block method for discrete cosine conversion.

도 1a 및 1b는 각각 일반적인 래스터 및 8x8 블록 스캔 과정을 나타낸 것이다.1A and 1B show a typical raster and 8x8 block scan process, respectively.

도 1a에 도시된 바와 같이, 래스터 스캔 과정은 입력되는 순서대로 영상을 픽셀 단위로 좌에서 우로, 위에서 아래로 처리하는 방법이고, 8x8 블록 스캔 과정은 도 1b에 도시된 바와 같이, 8x8 화소 블록 단위로 좌에서 우로, 위에서 아래로 처리하는 방법이다.As shown in FIG. 1A, the raster scanning process is a method of processing images from left to right and top to bottom in the order of input, and the 8x8 block scanning process is performed by 8x8 pixel block units as shown in FIG. 1B. From left to right, from top to bottom.

도 2는 종래의 이중 버퍼링(Double Buffering)을 이용할 경우의 하드웨어 구조로서, 2*(N : 수평방향의 픽셀수)*8바이트의 메모리를 이용한 하드웨어 구조이다.FIG. 2 is a hardware structure using conventional double buffering, and is a hardware structure using a memory of 2 * (N: number of pixels in the horizontal direction) * 8 bytes.

도 2에 도시된 바와 같이, 메모리의 어드레스를 생성해 주는 로직은 쓰기 모드와 읽기 모드를 위해 두개로 나누어진다. 쓰기 모드일 때의 제1 어드레스 생성로직(1)은 입력되는 픽셀 단위로 좌에서 우로, 위에서 아래 순서로 어드레스를 생성하게 된다. 읽기 모드일 때의 제2 어드레스 생성로직(2)은 8x8 블록 단위로 좌에서 우로, 위에서 아래로 어드레스를 생성한다. 멀티플레서(3)는 이 두개의 어드레스생성 로직의 출력을 읽기/쓰기 모드에 따라 메모리의 어드레스로 출력되고, 화소데이터는 이중 버퍼링하는 메모리(4)를 통하여 8 x8 블록화된 화소 데이터(5)가 출력된다.As shown in Figure 2, the logic for generating the address of the memory is divided into two for the write mode and the read mode. The first address generation logic 1 in the write mode generates addresses in left to right, top to bottom order on an input pixel basis. The second address generation logic 2 in the read mode generates addresses from left to right and top to bottom in 8x8 block units. The multiplexer 3 outputs the outputs of these two address generation logics to the address of the memory according to the read / write mode, and the pixel data 5 having the 8 × 8 blocked pixel data 5 through the double buffered memory 4 is stored. Is output.

도 3a는 이중 버퍼링을 이용할 경우 어드레스를 8x1 기본 단위로 래스터 스캔 과정을 처리하는 순서이고, 도 3b는 8x8 블록 단위로 스캔 과정을 처리하는 순서를 나타낸 것이다.FIG. 3A illustrates a procedure for processing a raster scan process in 8x1 basic units when using double buffering, and FIG. 3B illustrates a procedure for processing a scan process in 8x8 block units.

종래의 래스터-블록 변환기는 이중 버퍼링으로 두개의 8 라인 버퍼를 두고 첫 번째 버퍼에 래스터 방식으로 쓰고, 두 번째 버퍼에 쓸 때 8x8 블록 방식으로 읽기 시작하여 서로 엇갈리는 것은 피하는 방법을 쓴다.The conventional raster-block converter uses two buffers with double buffering, writes in the first buffer in a raster manner, and writes in the 8x8 block scheme when writing to the second buffer, and avoids staggering from each other.

이 방식은 버퍼의 어드레스가 항상 8 라인마다 항상 같게 되어 어드레스 생성 로직이 간단한 반면 2*8*수평방향 픽셀수 만큼의 메모리가 필요하게 된다.This way, the address of the buffer is always the same every eight lines, which simplifies the address generation logic, while requiring as much memory as 2 * 8 * horizontal pixels.

종래에는 8 라인 버퍼 두개를 이용하여 구현했던 방식을 사용함으로 비용 증감 및 ASIC 구현 시에 전력 소모가 많은 문제점이 있다.There is a problem in that the cost is increased and the power consumption is high when implementing the ASIC by using the conventional method implemented using two 8 line buffers.

상기와 같은 문제점을 해결하기 위해 안출된 본 발명은 압축 프로세서로 입력되는 화소 데이터의 래스터 스캔을 8x8 블록으로 변환할 때 단 한 개의 8 라인 버퍼만을 가지고 이산여현 변환 기반의 압축방법을 구현함으로써 비용을 절감시키고, 저 전력화로 ASIC을 구현하는데 그 목적이 있다.In order to solve the above problems, the present invention implements a discrete cosine transform-based compression method with only one 8-line buffer when converting a raster scan of pixel data input to a compression processor into an 8x8 block. The goal is to realize ASICs with reduced power consumption.

도 1a 및 1b는 일반적인 래스터 스캔 및 8x8 블록 스캔 과정1A and 1B show a typical raster scan and 8x8 block scan process

도 2는 종래의 이중 버퍼링을 이용할 경우의 하드웨어 구조2 is a hardware structure when using the conventional double buffering

도 3a 및 3b는 종래의 이중 버퍼링을 이용할 경우 래스터 및 8x8 블록 스캔 과정을 나타낸 순서도3A and 3B are flowcharts illustrating raster and 8x8 block scan procedures when using conventional double buffering.

도 4는 본 발명에 따른 8라인 래스터-블록 변환기의 하드웨어 구조4 is a hardware structure of an eight-line raster-block converter according to the present invention.

도 5는 본 발명에 따른 어드레스 생성 로직의 블록 다이어그램5 is a block diagram of address generation logic in accordance with the present invention.

<도면의 주요 부분에 대한 부호의 설명><Description of the code | symbol about the principal part of drawing>

11 : 제1 어드레스 생성로직 12 : 제2 어드레스 생성로직11: first address generation logic 12: second address generation logic

13, 24 : 멀티 플렉스 14 : 메모리13, 24: Multiplex 14: Memory

15 : 화소 데이터 21 : 덧셈기15: pixel data 21: adder

22 : 제1 비교기 23 : 뺄셈기22: first comparator 23: subtractor

25 : 플립 플롭 26 : 카운터25: flip flop 26: counter

상기와 같은 목적을 달성하기 위한 본 발명의 래스터-블록 변환기는 쓰기 모드일 때의 제1 어드레스 생성 로직과, 읽기 모드일 때의 제2 어드레스 생성 로직과, 읽기/쓰기 모드에 따라 어드레스를 출력하는 멀티플렉서, 및 화소데이터를 8x8 블록화된 화소데이터로 출력하는 메모리로 구성됨을 특징으로 한다.The raster-block converter of the present invention for achieving the above object outputs an address according to a first address generation logic in the write mode, a second address generation logic in the read mode, and a read / write mode. And a memory for outputting the pixel data as 8x8 blocked pixel data.

본 발명은 래스터 방식으로 입력되는 영상 데이터를 영상압축처리(JPEG, MPEG)를 위해서는 블록 단위(8x8 블록) 변환이 반드시 필요하다.According to the present invention, block unit (8x8 block) conversion is absolutely necessary for image compression processing (JPEG, MPEG) of image data input in a raster manner.

이하, 첨부한 도면들을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하면 다음과 같다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 4는 본 발명에서 구현한 8라인 래스터-블록 변환기의 하드웨어 구조로서, 8*(수평방향 픽셀수) 바이트의 메모리를 이용한 하드웨어 구조를 나타낸 것이다.4 is a hardware structure of an 8-line raster-block converter implemented in the present invention, and shows a hardware structure using 8 * (horizontal pixels) bytes of memory.

도 4에 도시된 바와 같이, 메모리의 어드레스 생성 로직은 쓰기 모드와 읽기 모드를 위해 두개의 동일한 로직이 필요하게 된다.As shown in FIG. 4, the address generation logic of the memory requires two identical logics for the write mode and the read mode.

쓰기 모드일 때의 제1 어드레스 생성로직(11)은 입력되는 픽셀 단위로 좌에서 우로, 위에서 아래 순서로 어드레스를 생성하게 된다. 읽기 모드일 때의 제2 어드레스 생성로직(12)은 8x8 블록 단위로 좌에서 우로, 위에서 아래로 어드레스를 생성한다. 이 두개의 어드레스 생성 로직은 구조는 동일하며 용도 차이만 있다.The first address generation logic 11 in the write mode generates addresses in left to right, top to bottom order in the unit of input pixels. The second address generation logic 12 in the read mode generates addresses from left to right and top to bottom in 8x8 block units. The two address generation logics are identical in structure and differ in purpose.

제1 및 제2 어드레스 생성 로직(11, 12)의 어드레스 출력은 멀티플렉서(12)를 거쳐 읽기/쓰기 모드에 따라 메모리의 어드레스로 입력된다. 멀티플렉서(12)를 통하여 화소데이터는 이중 버퍼링하는 메모리(13)에 보내면 8x8 블록화된 화소 데이터(14)가 출력된다.The address outputs of the first and second address generation logics 11 and 12 are input to the addresses of the memory in the read / write mode via the multiplexer 12. When the pixel data is sent to the double buffering memory 13 through the multiplexer 12, 8x8 blocked pixel data 14 is output.

여기서 메모리(13)는 화소데이터를 버퍼링하는 역할을 하며 8*(수평 방향의픽셀수) 바이트의 메모리이다.The memory 13 serves to buffer pixel data, and is a memory of 8 * (horizontal pixels) bytes.

도 5는 본 발명의 어드레스 생성 로직의 블록 다이어그램이다5 is a block diagram of the address generation logic of the present invention.

도 5에 도시된 바와 같이, 이전의 어드레스와 카운터의 초기값은 0이며, 어드레스 증가값은 초기값이 1이고 현재의 어드레스는 항상 카운터(26)가 0일때 0으로 초기화 된다. 동작이 시작하면 카운터(26)는 1씩 증가하게 된다.As shown in Fig. 5, the initial value of the previous address and the counter is 0, the address increment value is initialized to 0 when the initial value is 1 and the current address is always zero. When the operation starts, the counter 26 is incremented by one.

덧셈기(21)에서 이전의 어드레스와 어드레스 증가값을 더한다. 덧셈기(21)의 출력이 K-1보다 크면 1의 출력이 그대로 현재의 어드레스 출력이 되며 만약 K-1보다 작거나 같으면 1의 출력에서 K-1을 뺄셈기(23)를 통하여 뺀 결과가 현재의 어드레스로 제1비교기(22)를 통하여 출력된다. 여기서, 변수 K는 수평방향의 픽셀수를 의미한다.In the adder 21, the previous address and the address increment value are added. If the output of the adder 21 is larger than K-1, the output of 1 is the current address output. If the output of the adder 21 is smaller than or equal to K-1, the result of subtracting K-1 from the output of 1 through the subtractor 23 is present. It is output through the first comparator 22 to the address of. Here, the variable K means the number of pixels in the horizontal direction.

어드레스 증가값은 카운터(26)의 하위 3비트를 제외한 값이 제2비교기(27)에서 k/8과 같으면 현재의 어드레스의 하위 3비트를 제외한 값을 플립플롭(25)에 저장하게 된다. 플립플롭(25)에 저장된 값은 카운터 값이 0으로 되는 순간 제3비교기(29)에 저장되어 어드레스 증가값을 변화하게 한다. 현재의 어드레스의 하위 3 비트는 카운터의 하위 3비트와 같게 되어 0부터 7까지 순서대로 변화되고 현재의 어드레스의 나머지 상위 비트들은 멀티플렉스(24)의 출력에 연결되어 변화된다.If the value of the address increase value except for the lower 3 bits of the counter 26 is equal to k / 8 in the second comparator 27, the value except for the lower 3 bits of the current address is stored in the flip-flop 25. The value stored in the flip-flop 25 is stored in the third comparator 29 as soon as the counter value becomes 0 to change the address increase value. The lower 3 bits of the current address become the same as the lower 3 bits of the counter, changing in order from 0 to 7, and the remaining upper bits of the current address are connected to the output of the multiplex 24.

본 발명은 래스터 방식으로 8 라인을 저장하면서 1 블록을 읽어갈 경우 1 블록의 빈 공간이 생긴다. 다음 라인을 저장할 때 래스터 순서의 데이터를 저장하는 어드레스를 이전의 블록으로 읽어간 어드레스와 같게 한다. 그 결과 화소 데이터를잃어버리는 경우가 생기지 않게 된다.In the present invention, when one block is read while storing eight lines in the raster method, one block of empty space is created. When you store the next line, make the address that stores the data in raster order the same as the address read into the previous block. As a result, there is no case of losing pixel data.

종래의 방법은 8 라인 단위로 어드레스가 항상 같은 것이었다. 그러나 본 발명의 방법은 어드레스가 8 라인 단위로 매번 변하게 된다.The conventional method has always had the same address in units of eight lines. However, in the method of the present invention, the address is changed every 8 lines.

종래의 방법이 16 라인의 메모리를 이용하여 어드레스 생성 로직을 간단하게 한 반면에 본 발명은 간단히 약간의 덧샘기와 메모리 로직을 추가함으로 버퍼로 쓰이는 8 라인의 버퍼만 필요하게 하였다. 이는 종래의 버퍼를 반으로 줄인 것으로 비용과 소비 전력면에서 절감 효과를 가져 다 준다.While the conventional method simplifies the address generation logic using 16 lines of memory, the present invention simply adds a bit of addition and memory logic, requiring only 8 lines of buffers to be used as buffers. This reduces the cost of power and power consumption by cutting the conventional buffer in half.

상기와 같은 본 발명은 소자수를 최소화하여 제조비용을 절감시켜 주며 전력의 절감을 얻을 수 있을 뿐만 아니라 이중 버퍼링을 이용한 래스터-블록 변환기보다 1/2배의 버퍼만으로 구현할 수 있는 장점이 있다.The present invention as described above can reduce the manufacturing cost by minimizing the number of devices and can obtain power savings, and can be implemented with only half the buffer than the raster-block converter using double buffering.

Claims (5)

래스터-블록 변환기에 있어서,In the raster-block converter, 쓰기 모드일 때의 제1 어드레스 생성 로직과,First address generation logic when in write mode, 읽기 모드일 때의 제2 어드레스 생성 로직과,Second address generation logic when in read mode, 상기 읽기/쓰기 모드에 따라 어드레스를 출력하는 멀티플렉서, 및A multiplexer for outputting an address in accordance with the read / write mode; 화소데이터를 8x8 블록화된 화소데이터로 출력하는 메모리로 구성됨을 특징으로 하는 래스터-블록 변환기.And a memory for outputting pixel data as 8x8 blocked pixel data. 제 1 항에 있어서,The method of claim 1, 상기 제1 및 제2 어드레스 생성로직은 구조가 동일한 것을 특징으로 하는 래스터-블록 변환기.And the first and second address generation logic have the same structure. 제 1 항에 있어서,The method of claim 1, 상기 메모리는 화소데이터를 버퍼링하는 역할을 하며 8*(수평방향의 픽셀수) 바이트인 것을 특징으로 하는 래스터-블록 변환기.And the memory serves to buffer pixel data and is 8 * (horizontal pixels) bytes. 제 1 항에 있어서,The method of claim 1, 상기 제1 및 제2 어드레스 생성로직은 8라인을 쓰고 1블록을 읽었을 경우 생기는 공간에 다시 쓰는 것을 특징으로 래스터-블록 변환기.And the first and second address generation logic writes back to the space created when 8 lines are written and 1 block is read. 제 1 항에 있어서,The method of claim 1, 상기 어드레스가 8 라인 단위로 매번 변하는 것을 특징으로 하는 래스터-블록 변환기.And the address is changed every 8 lines.
KR1020020079396A 2002-12-12 2002-12-12 Raster-to-block converter KR20040051451A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020079396A KR20040051451A (en) 2002-12-12 2002-12-12 Raster-to-block converter

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020079396A KR20040051451A (en) 2002-12-12 2002-12-12 Raster-to-block converter

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR20-2003-0003072U Division KR200309400Y1 (en) 2003-01-30 2003-01-30 Raster-to-block Converter

Publications (1)

Publication Number Publication Date
KR20040051451A true KR20040051451A (en) 2004-06-18

Family

ID=37345405

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020079396A KR20040051451A (en) 2002-12-12 2002-12-12 Raster-to-block converter

Country Status (1)

Country Link
KR (1) KR20040051451A (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08171384A (en) * 1994-12-16 1996-07-02 Canon Inc Method and device for converting scanning
KR19980043709A (en) * 1996-12-04 1998-09-05 김광호 Memory addressing device and method for DCT block and raster scan
KR20010016440A (en) * 2000-12-11 2001-03-05 이용범 The apparatus for processing of Raster-to-Block converting data
KR20040040677A (en) * 2002-11-07 2004-05-13 삼성전자주식회사 Image processing apparatus and method for converting image data between raster scan order and block scan order

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08171384A (en) * 1994-12-16 1996-07-02 Canon Inc Method and device for converting scanning
KR19980043709A (en) * 1996-12-04 1998-09-05 김광호 Memory addressing device and method for DCT block and raster scan
KR20010016440A (en) * 2000-12-11 2001-03-05 이용범 The apparatus for processing of Raster-to-Block converting data
KR20040040677A (en) * 2002-11-07 2004-05-13 삼성전자주식회사 Image processing apparatus and method for converting image data between raster scan order and block scan order

Similar Documents

Publication Publication Date Title
US7580565B2 (en) Image processing apparatus and method
US5581310A (en) Architecture for a high definition video frame memory and an accompanying data organization for use therewith and efficient access therefrom
JP4909779B2 (en) Image data transfer method, image processing apparatus, and imaging system
JP5051087B2 (en) Lossless compression coding apparatus and lossless decoding apparatus
JP2011223519A (en) Data converter
US5973707A (en) Scan converting method and apparatus for raster to block and block to raster using a shared block buffer and two input/output buffers, one being raster, the other scan
JP2006145850A (en) Data outputting method and device, liquid crystal panel driving device using the same, and liquid crystal display device
US7336302B2 (en) Frame memory device and method with subsampling and read-out of stored signals at lower resolution than that of received image signals
US8644380B2 (en) Integer pixel motion estimation system, motion estimation system for quarter-pixel luminance, motion estimation system for quarter-pixel chrominance, motion estimation system for combined luminance, motion estimation system for combined luminance and chrominance, and motion estimation system for quarter-pixel luminance and chrominance
KR200309400Y1 (en) Raster-to-block Converter
KR20040051451A (en) Raster-to-block converter
GB2333201A (en) Video decoder for high picture quality
US6282321B1 (en) Context generation circuit and method for small screen
JP2933029B2 (en) Digital signal encoding / decoding circuit
KR100292050B1 (en) Data simulator of variable length decoder
US6999627B2 (en) Deterministic prediction in an image processing system
JP2005160021A (en) Signal processing method and signal processor
KR20060122530A (en) Direct memory access control apparatus for transmitting burst of image data that is different with sampling and the burst transmitting method thereof
Nguyen et al. 71% Reducing the memory bandwidth requirement for a multi-standard video codec by lossless compression of video using a combination of 2D-DPCM and Variable Length Coding
KR100228554B1 (en) Memory controlling method in video encoder
JP2002152756A (en) Moving picture coder
KR100240005B1 (en) Frame memory control method and device for moving image signal compression
KR100779636B1 (en) Buffer memory system and method
JP2004120027A (en) Image processing apparatus
KR100232490B1 (en) Apparatus for generating read address for zig-zag scanning

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E601 Decision to refuse application