KR20040040677A - 라스터 스캔 순서 화상 데이터와 블록 스캔 순서 화상데이터 사이의 변환을 위한 화상 처리 장치 및 방법 - Google Patents

라스터 스캔 순서 화상 데이터와 블록 스캔 순서 화상데이터 사이의 변환을 위한 화상 처리 장치 및 방법 Download PDF

Info

Publication number
KR20040040677A
KR20040040677A KR1020020068871A KR20020068871A KR20040040677A KR 20040040677 A KR20040040677 A KR 20040040677A KR 1020020068871 A KR1020020068871 A KR 1020020068871A KR 20020068871 A KR20020068871 A KR 20020068871A KR 20040040677 A KR20040040677 A KR 20040040677A
Authority
KR
South Korea
Prior art keywords
address
block
image data
offset
line
Prior art date
Application number
KR1020020068871A
Other languages
English (en)
Other versions
KR100502413B1 (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 KR10-2002-0068871A priority Critical patent/KR100502413B1/ko
Priority to US10/699,922 priority patent/US7529412B2/en
Priority to JP2003374900A priority patent/JP4113098B2/ja
Publication of KR20040040677A publication Critical patent/KR20040040677A/ko
Application granted granted Critical
Publication of KR100502413B1 publication Critical patent/KR100502413B1/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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Input (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Storing Facsimile Image Data (AREA)

Abstract

라스터 포맷과 블록 포맷 사이의 화상 데이터를 상호 변환하는 화상 처리 장치 및 방법은, 특히, 라스터 포맷을 블록 포맷으로 전환할 때, 카메라 프로세서에서 발생된 화상 데이터를 각 색 성분별로 분리하여 하나의 라인 메모리에 저장한 후, 블록 포맷으로 읽기에 적합한 순서로 블록 단위로 독출하여 JPEG 엔진으로 전달한다. 하나의 통합 라인 메모리를 사용하기 때문에 메모리 크기를 줄일 수 있고 이에 따라 칩 사이즈를 감소시킬 수 있다.

Description

라스터 스캔 순서 화상 데이터와 블록 스캔 순서 화상 데이터 사이의 변환을 위한 화상 처리 장치 및 방법{IMAGE PROCESSING APPARATUS AND METHOD FOR CONVERTING IMAGE DATA BETWEEN RASTER SCAN ORDER AND BLOCK SCAN ORDER}
본 발명은 화상 처리 장치 및 방법에 관한 것으로, 좀 더 구체적으로는 하나의 라인 메모리를 사용하여 라스터 스캔 순서의 화상 데이터와 블록 스캔 순서의 화상 데이터 사이의 상호 변환을 처리하는 화상 처리 장치 및 방법에 관한 것이다.
잘 알려진 바와 같이, JPEG(Joint Photogarphic Experts Group)은 데이터 압축을 위해 이산 코사인 변환(Discrete Cosine Transform:DCT)을 사용한다. DCT 압축 기술은 데이터를 8픽셀*8픽셀 단위의 블록으로 나누어 데이터를 처리한다. 하지만 카메라의 화상 처리부는 화상 데이터를 라인 단위로, 즉, 라스터 포맷(rasterformat)(라스터 스캔 순서:한 화상 전체에 대해서 좌에서 우로, 위에서 아래로)으로 연속적으로 출력한다. 따라서, 라스터 스캔 순서의 화상 데이터를 블록 스캔 순서로 변환하기 위해서는, 최소 8 라인의 화상 데이터를 저장할 수 있는 라인 메모리가 필요하다. 8 라인이 저장된 라인 메모리로부터 8*8 픽셀의 화상 블록을 만드는 동안 카메라의 화상 처리부는 새로운 화상 데이터를 출력하기 때문에 연속적인 처리를 위해서는 8 라인의 라인 메모리가 더 필요하다. 즉, 하나의 라인 메모리에 화상 데이터가 기입되는 동안 다른 라인 메모리에 저장된 화상 데이터에 대한 8*8 블록 독출이 이루어진다. 화상 데이터는 휘도 성분 Y와 색차 성분 U 및 V로 구성되기 때문에 이들 각각의 성분들에 대해서 두 개의 라인 메모리가 필요하다.
도 1은 통상적인 VGA(Variable Graphics Array) 표준의 화상 처리 장치를 개략적으로 도시한 블록도로서, 단지 휘도 성분 Y에 대한 라인 메모리 시스템을 도시한다. 카메라 프로세서(10)에서 첫 번째 8 라인의 휘도 Y 성분이 출력되어 라인 메모리_Y0(20)에 순차적으로 저장된다. 두 번째 8 라인의 휘도 성분 Y가 라인 메모리_Y1(40)에 순차적으로 저장됨과 동시에 라인 메모리_Y0(20)에 대한 8*8 블록 단위 독출이 이루어진다. 이 때, 멀티플렉서(50)는 어드레스 발생 회로(30)의 제어에 응답해서 라인 메모리_Y0(12)로부터 독출된 8*8 화상 블록을 JPEG 엔진(22)으로 전달어한다. 라인 메모리들(20, 40)에 대한 기입 및 독출 어드레스는 어드레스 발생 회로(30)에서 생성된다.
도 2는 카메라 프로세서(10)로부터의 화상 데이터가 라스터 스캔 순서로 라인 메모리에 기입되는 것을 보여주고 있고, 도 3은 라인 메모리에 저장된 화상 데이터가 블록 스캔 순서로 독출되는 것을 보여주고 있다. 도 2 및 도 3에서, H는 수평 방향 픽셀 수, V는 수직 방향 픽셀 수를 나타낸다. 하나의 라인 메모리에는 한 페이즈(Phase) 즉, H*8 픽셀들이 저장된다. 예컨대, Phase 0에서는 0 번째 픽셀부터 H*8-1 번째 픽셀까지 라인 메모리에 저장되고, Phase 1에서는 H*8 번째 픽셀부터 H*8*2-1 번째 픽셀까지 라인 메모리에 저장된다.
다시 도 1을 참조하면, 라인 메모리들(20, 40)에 대한 기입 어드레스는 0 부터 H*8-1(여기서, H는 수평 해상도) 까지 순차적으로 증가한다. 해상도가 640*480인 VGA 표준의 화상 처리 장치에서 라인 메모리들(20, 40)에 대한 기입 어드레스는 0 부터 640*8-1까지 순차적으로 증가한다.
블록 단위 독출을 위한 라인 메모리들에 대한 독출 어드레스(addr)는 아래 수학식 1에 기재된 알고리즘에 따라 정해진다.
for(i=0;i<H/v;i++){
for(vv=0;vv<v;vv++){
for(hh=0;hh<h;hh++){
addr=vv * H + i * v + hh
}
}
}
독출 어드레스(addr)는 아래 수학식 2에 기재된 알고리즘에 따라서 구해질수도 있다.
for(i=0;i<H/v;i++){
for(vv=0;vv<v;vv++){
for(hh=0;hh<h;hh++){
addr=vv*H + i * v + hh
}
}
}
여기서, H는 수평 방향 픽셀 수(예컨대, 640)를 나타내며, v(예컨대, 8)는 하나의 블록에 포함되는 라인의 수 그리고 h는 하나의 블록에 포함되는 수평 방향 픽셀의 수(예컨대, 8)를 나타내며, i는 블록 순서를, vv는 한 블록에서 수직 방향 픽셀(라인)을, hh는 한 블록에서 수평 방향 픽셀을 나타내는 변수이다.
세 번째 페이즈에서, 8 라인의 휘도 성분 Y가 기입 어드레스 addr를 참조하여 라인 메모리_Y0(20)에 저장될 때, 라인 메모리_Y1(40)로부터 블록 단위 독출이 이루어지고 독출된 블록이 멀티플렉서(50)를 통하여 JPEG 엔진(60)에 전달된다.
이와 같은 통상적인 화상 처리 방법은 각 색 성분에 대하여 두 개의 라인 메모리들을 사용한다. 예컨대, VGA 표준의 경우, 휘도 성분 Y에 대해서 640*8바이트의 라인 메모리를 두 개 사용한다. 따라서, 시스템의 저전력화를 위해 메모리를 칩에 내장할 경우, 칩 크기가 증가하는 문제점이 발생한다. 특히 처리하고자 하는화상의 크기가 증가할수록 그 문제는 더욱 심각해진다.
따라서 본 발명의 목적은 라인 메모리의 크기를 감소시킬 수 있는 라스터 스캔 순서와 블록 스캔 순서 사이의 화상 데이터를 상호 변환하는 화상 처리 장치를 제공하는데 있다.
본 발명의 다른 목적은 하나의 라인 메모리를 사용하여 라스터 스캔 순서와 블록 스캔 순서 사이의 화상 데이터를 상호 변환하는 어드레스 발생기를 제공하는데 있다.
본 발명의 또 다른 목적은 라인 메모리의 크기를 감소시킬 수 있는 라스터 스캔 순서와 블록 스캔 순서 사이의 화상 데이터를 상호 변환하는 화상 처리 방법을 제공하는데 있다.
도 1은 통상적인 VGA(Variable Graphics Array) 표준의 화상 처리 장치를 개략적으로 도시한 블록도;
도 2는 카메라 프로세서로부터의 화상 데이터가 라스터 스캔 순서로 라인 메모리에 기입되는 것을 보여주는 도면;
도 3은 라인 메모리에 저장된 화상 데이터가 블록 스캔 순서로 독출되는 것을 보여주는 도면;
도 4는 본 발명의 바람직한 실시예에 따른 화상 데이터 처리 장치를 보여주는 블록도;
도 5는 도 4에 도시된 화상 데이터 처리 장치의 동작을 설명하기 위한 타이밍도;
도 6은 도 4에 도시된 어드레스 발생 회로의 바람직한 실시예를 보여주는 도면;
도 7a는 카메라 프로세서로부터 출력되는 화상 데이터를 보여주는 도면;
도 7b 내지 도 7e는 80*8 픽셀을 저장할 수 있는 라인 메모리에 도 7a에 도시된 세그먼트들이 독출/기입되는 순서를 보여주는 도면들이다.
*도면의 주요 부분에 대한 설명
100 : 화상 데이터 처리 장치110 : 카메라 프로세서
120 : 어드레스 발생기130 : 메모리
140 : JPEG 엔진201, 202 : 카운터
210 : 어드레스 발생기220 : 라인 오프셋 발생기
230 : 블록 어드레스 발생기211, 221, 231 : 멀티플렉서
212, 213, 222, 223, 232, 235 : 레지스터
215, 216, 224, 225, 233, 234 : 가산기
214 : 연산기
상술한 바와 같은 목적을 달성하기 위한 본 발명의 화상 데이터 처리 장치는, 소정의 수평 해상도 및 수직 해상도를 가지는 라스터 스캔 순서의 화상 데이터를 공급하는 화상 데이터 처리기와, 복수의 라인들(v)의 화상 데이터를 저장하기 위한 라인 메모리와, 상기 라인 메모리에 대한 공통 독출/기입 어드레스를 발생하는 어드레스 발생 블록 및 상기 라인 메모리로부터 h*v 블록 스캔 순서의 화상 데이터를 전달받는 인코더를 포함한다. 상기 어드레스 발생 블록은, 화상 데이터가 독출 및 기입될 블록의 어드레스를 발생하는 블록 어드레스 발생기와, 상기 라인 메모리에 대한 이전 공통 독출/기입 어드레스와 현재 공통 독출/기입 어드레스 사이의 라인 오프셋을 제공하는 라인 오프셋 발생기 그리고 상기 블록 어드레스와 상기 라인 오프셋에 근거하여 상기 라인 메모리에 대한 상기 공통 독출/기입 어드레스를 발생하는 어드레스 발생기를 포함한다.
바람직한 실시예에 있어서, 상기 인코더는 JPEG 엔진이다.
바람직한 실시예에 있어서, 상기 블록은 화상 데이터 h*v를 포함한다.
이 실시예에 있어서, 상기 블록 어드레스 발생기는, 상기 라인 메모리에 대한 현재 블록의 시작 어드레스와 다음 블록의 시작 어드레스 사이의 오프셋인 블록 오프셋을 더 제공한다. 상기 블록 오프셋은 초기에 1로써 설정된다. 상기 라인 오프셋은 초기에 {수평 해상도(H)/8}로써 설정된다. 상기 라인 오프셋 발생기는, 상기 라인 메모리에 대한 현재 공통 독출/기입 어드레스와 다음 공통 독출/기입 어드레스 사이의 라인 오프셋인 다음 라인 오프셋을 더 발생한다. 상기 블록 어드레스와 상기 다음 라인 오프셋은 매 페이즈의 시작에서 각각 리셋된다.
이 실시예에 있어서, 상기 어드레스 발생기는, 상기 블록 어드레스에 근거하여 상기 라인 메모리에 대한 앵커 어드레스를 더 발생하고 그리고 상기 발생된 앵커 어드레스로부터 연속된 h 개의 상기 공통 독출/기입 어드레스들을 발생한다. 상기 어드레스 발생기는, 상기 연속된 h 개의 공통 독출/기입 어드레스들을 발생한 후 상기 앵커 어드레스를 상기 라인 오프셋만큼 증가시키고, 상기 라인 오프셋만큼 증가된 상기 앵커 어드레스가 {수평 해상도(H)-1}보다 클 때 상기 앵커 어드레스를 상기 수평 해상도 H-1만큼 감소시킨다.
이 실시예에 있어서, 상기 블록 어드레스 발생기는, 하나의 블록에 대한 공통 독출/기입 어드레스들을 발생한 후 상기 블록 어드레스를 상기 블록 오프셋만큼 증가시키고, 상기 블록 오프셋만큼 증가된 상기 블록 어드레스가 상기 수평 해상도 H-1보다 클 때 상기 블록 어드레스를 {수평 해상도(H)-1}만큼 감소시킨다. 상기 블록 오프셋은, 매 페이즈의 끝에서 상기 라인 오프셋으로써 설정된다. 상기 라인 오프셋은, 상기 매 페이즈의 끝에서 상기 다음 라인 오프셋으로써 설정된다.
이 실시예에 있어서, 하나의 페이즈는 H/h 블록들을 포함한다.
바람직한 실시예에 있어서, 수평해상도가 H이고 수직 해상도가 V인 화상 데이터는 V/v 페이즈들을 포함한다.
본 발명의 다른 특징에 의하면, 라스터 스캔 순서의 화상 데이터와 블록 스캔 순서의 화상 데이터의 상호 변환을 위한 화상 처리 방법은: 수평 해상도(H) 및 수직 해상도(V)를 가지는 라스터 스캔 순서의 화상 데이터를 공급받는 단계와, 복수의 라인들(v)의 라인 메모리에 대한 공통 독출/기입 어드레스를 발생하는 단계와, 상기 라인 메모리의 상기 공통 독출/기입 어드레스로부터 h*v 블록 스캔 순서의 화상 데이터를 독출하는 단계와, 상기 라인 메모리의 상기 공통 독출/기입 어드레스에 상기 라스터 스캔 순서의 화상 데이터를 저장하는 단계 그리고 h*v 블록 스캔 순서의 화상 데이터를 인코더로 전달하는 단계를 포함한다. 상기 공통 독출/기입 어드레스를 발생하는 단계는, (ㄱ) 블록 오프셋과 라인 오프셋을 초기화하는 단계와, (ㄴ) 블록 어드레스와 다음 라인 오프셋을 초기화하는 단계와, (ㄷ) 앵커 어드레스를 상기 블록 어드레스로써 설정하는 단계와, (ㄹ) 상기 앵커 어드레스로부터 연속된 h개의 공통 독출/기입 어드레스들을 발생하는 단계와, (ㅁ) 상기 앵커어드레스를 상기 라인 오프셋만큼 증가시키는 단계와, (ㅂ) 상기 h*v 블록에 대한 상기 공통 독출/기입 어드레스들이 모두 발생될 때까지 상기 (ㄹ)∼(ㅁ) 단계들을 반복하는 단계와, (ㅅ) 상기 블록 어드레스를 상기 블록 오프셋만큼 증가시키는 단계와, (ㅇ) 상기 다음 라인 오프셋을 상기 라인 오프셋만큼 증가시키는 단계와, (ㅈ) H/h 블록들에 대한 화상 데이터를 모두 처리할 때까지 상기 (ㄷ)∼(ㅇ) 단계들을 반복하는 단계와, (ㅊ) 상기 블록 오프셋을 상기 라인 오프셋으로서 설정하는 단계와, (ㅋ) 상기 라인 오프셋을 상기 다음 라인 오프셋으로 설정하는 단계와, (ㅊ) 상기 라스터 스캔 순서의 화상 데이터가 공급되는 동안 상기 (ㄴ)∼(ㅋ) 단계들을 반복하는 단계를 포함한다.
바람직한 실시예에 있어서, 상기 (ㅁ) 단계에서, 상기 라인 오프셋만큼 증가된 앵커 어드레스가 상기 수평 해상도 H-1보다 크거나 같을 때 상기 앵커 어드레스를 상기 수평 해상도 H-1만큼 감소시키는 단계를 더 포함한다.
바람직한 실시예에 있어서, 상기 (ㅇ) 단계에서, 상기 블록 오프셋만큼 증가된 블록 어드레스가 {수평 해상도(H)-1}보다 크거나 같을 때 상기 블록 어드레스를 {수평 해상도(H)-1}만큼 감소시키는 단계를 더 포함한다.
본 발명의 또다른 특징에 의하면, 라스터 스캔 순서의 화상 데이터와 블록 스캔 순서의 화상 데이터의 상호 변환을 위한 화상 처리 방법은: 수평 해상도(H) 및 수직 해상도(V)를 가지는 라스터 스캔 순서의 화상 데이터를 공급받는 단계와, 복수의 라인들(v)의 라인 메모리에 대한 공통 독출/기입 어드레스를 발생하는 단계와, 상기 라인 메모리의 상기 공통 독출/기입 어드레스로부터 h*v 블록 스캔 순서의 화상 데이터를 독출하는 단계와, 상기 라인 메모리의 상기 공통 독출/기입 어드레스에 상기 라스터 스캔 순서의 화상 데이터를 저장하는 단계 그리고 h*v 블록 스캔 순서의 화상 데이터를 인코더로 전달하는 단계를 포함한다. 상기 공통 독출/기입 어드레스를 발생하는 단계는, (ㄱ) 블록 오프셋과 라인 오프셋을 초기화하는 단계와, (ㄴ) (블록 오프셋 * i + 라인 오프셋 * vv)(여기서, i 는 v 라인의 화상 데이터의 블록 순서를 표시하는 것으로서, 0 부터 (H/h)-1 까지 순차적으로 증가하고, vv는 블록의 라인 수를 표시하는 것으로서 i에 대하여 0부터 v-1 까지 순차적으로 증가하며)를 수평 해상도 H-1로 나눈 나머지로 주어지는 앵커 어드레스를 생성하는 단계와, (ㄷ) 상기 앵커 어드레스*h로부터 연속된 h개의 공통 독출/기입 어드레스들을 발생하는 단계와, (ㄹ) 상기 h*v 블록에 대한 상기 공통 독출/기입 어드레스들이 모두 발생될 때까지 상기 (ㄴ)∼(ㄷ) 단계들을 반복하는 단계와, (ㅁ) 상기 i가 0부터 (H/h)-1까지 순차적으로 증가할 때까지 상기 (ㄴ)∼(ㄷ) 단계들을 반복하는 단계와, (ㅂ) 상기 블록 오프셋을 상기 라인 오프셋으로서 설정하는 단계와, (ㅅ) (라인 오프셋 * H/h)을 상기 수평 해상도 H-1로 나눈 나머지를 상기 라인 오프셋으로 설정하는 단계와, (ㅇ) 상기 라스터 스캔 순서의 화상 데이터가 공급되는 동안 상기 (ㄴ)∼(ㅅ) 단계들을 반복하는 단계를 포함한다.
본 발명의 다른 특징에 의하면, 라스터 스캔 순서의 화상 데이터와 블록 스캔 순서의 화상 데이터의 상호 변환을 위한 화상 처리 방법의 공통 독출/기입 어드레스를 발생하는 단계는, (ㄱ) 블록 오프셋과 라인 오프셋을 초기화하는 단계와, (ㄴ) 블록 어드레스를 초기화하는 단계와, (ㄷ) 라인 어드레스를 초기화하는 단계와, (ㄹ) 상기 블록 어드레스와 상기 라인 어드레스의 합을 {수평 해상도(H)-1}로 나눈 나머지로 주어지는 앵커 어드레스를 생성하는 단계와, (ㅁ) 상기 앵커 어드레스*h로부터 연속된 h개의 공통 독출/기입 어드레스들을 발생하는 단계와, (ㅂ) 상기 라인 어드레스를 상기 라인 오프셋만큼 증가시키는 단계와, (ㅅ) 상기 h*v 블록에 대한 상기 공통 독출/기입 어드레스들이 모두 발생될 때까지 상기 (ㄹ)∼(ㅂ) 단계들을 반복하는 단계와, (ㅇ) 상기 블록 어드레스를 상기 블록 오프셋만큼 증가시키는 단계와, (ㅈ) H/h 블록들에 대한 화상 데이터를 모두 처리할 때까지 상기 (ㄷ)∼(ㅇ) 단계들을 반복하는 단계와, (ㅊ) 상기 블록 오프셋을 상기 라인 오프셋으로서 설정하는 단계와, (ㅋ) 상기 라인 오프셋 * H/h을 상기 수평 해상도 H-1로 나눈 나머지를 상기 라인 오프셋으로 설정하는 단계와, (ㅊ) 상기 라스터 스캔 순서의 화상 데이터가 공급되는 동안 상기 (ㄴ)∼(ㅋ) 단계들을 반복하는 단계를 포함한다.
본 발명의 또 다른 목적을 달성하기 위한 라스터 스캔 순서의 화상 데이터와 블록 스캔 순서의 화상 데이터의 상호 변환을 위한 화상 처리 방법의 공통 독출/기입 어드레스를 발생하는 단계는, (ㄱ) 블록 오프셋과 라인 오프셋을 초기화하는 단계와, (ㄴ) 블록 어드레스를 초기화하는 단계와, (ㄷ) 라인 어드레스를 초기화하는 단계와, (ㄹ) 상기 블록 어드레스와 상기 라인 어드레스에 근거해서 앵커 어드레스를 생성하는 단계와, (ㅁ) 상기 앵커 어드레스*h 로부터 연속된 h 개의 공통 독출/기입 어드레스들을 발생하는 단계와, (ㅂ) 상기 라인 어드레스를 상기 라인 오프셋만큼 증가시키는 단계와, (ㅅ) 상기 h*v 블록에 대한 상기 공통 독출/기입 어드레스들이 모두 발생될 때까지 상기 (ㄹ)∼(ㅂ) 단계들을 반복하는 단계와, (ㅇ) 상기 블록 어드레스를 상기 블록 오프셋만큼 증가시키는 단계와, (ㅈ) H/h 블록들에 대한 화상 데이터를 모두 처리할 때까지 상기 (ㄷ)∼(ㅇ) 단계들을 반복하는 단계와, (ㅊ) 상기 블록 오프셋을 상기 라인 오프셋으로서 설정하는 단계와, (ㅋ) 상기 라인 오프셋 * H/h를 상기 라인 오프셋으로 설정하는 단계와, (ㅊ) 상기 라스터 스캔 순서의 화상 데이터가 공급되는 동안 상기 (ㄴ)∼(ㅋ) 단계들을 반복하는 단계를 포함한다.
상기 방법에 있어서, 상기 (ㄹ) 단계에서, 상기 생성된 앵커 어드레스가 {수평 해상도(H)-1}보다 크거나 같을 때, 상기 앵커 어드레스를 상기 수평 해상도 H-1만큼 감소시키는 단계를 더 포함한다.
바람직한 실시예에 있어서, 상기 (ㅂ) 단계에서, 상기 증가된 라인 어드레스가 {수평 해상도(H)-1}보다 크거나 같을 때, 상기 라인 어드레스를 상기 수평 해상도 H-1만큼 감소시키는 단계를 더 포함한다.
바람직한 실시예에 있어서, 상기 (ㅇ) 단계에서, 상기 증가된 블록 어드레스가 상기 수평 해상도 H-1보다 크거나 같을 때, 상기 블록 어드레스를 상기 수평 해상도 H-1만큼 감소시키는 단계를 더 포함한다. 상기 (ㅋ) 단계에서, 상기 설정된 라인 오프셋이 {수평 해상도(H)-1}보다 크거나 같을 때 상기 라인 오프셋을 {수평 해상도(H)-1}로 나눈 나머지를 상기 라인 오프셋으로 설정하는 단계를 더 포함한다.
본 발명의 다른 특징에 의하면, 라스터 스캔 순서의 화상 데이터와 블록 스캔 순서의 화상 데이터의 상호 변환을 위한 화상 처리 방법은, 수평 해상도(H) 및 수직 해상도(V)를 가지는 라스터 스캔 순서의 화상 데이터를 공급받는 단계와, 복수의 라인들(v)의 라인 메모리에 대한 공통 독출/기입 어드레스를 발생하는 단계와, 상기 라인 메모리의 상기 공통 독출/기입 어드레스로부터 h*v 블록 스캔 순서의 화상 데이터를 독출하는 단계와, 상기 라인 메모리의 상기 공통 독출/기입 어드레스에 상기 라스터 스캔 순서의 화상 데이터를 저장하는 단계 그리고 h*v 블록 스캔 순서의 화상 데이터를 인코더로 전달하는 단계를 포함한다. 상기 공통 독출/기입 어드레스를 발생하는 단계는, (ㄱ) 블록 오프셋과 라인 오프셋을 초기화하는 단계와, (ㄴ) 블록 어드레스를 초기화하는 단계와, (ㄷ) 앵커 어드레스를 블록 어드레스로써 설정하는 단계와, (ㄹ) 상기 앵커 어드레스*h 로부터 연속된 h 개의 공통 독출/기입 어드레스들을 발생하는 단계와, (ㅁ) 상기 앵커 어드레스를 상기 라인 오프셋만큼 증가시키는 단계와, (ㅂ) 상기 h*v 블록에 대한 상기 공통 독출/기입 어드레스들이 모두 발생될 때까지 상기 (ㄹ)∼(ㅁ) 단계들을 반복하는 단계와, (ㅅ) 상기 블록 어드레스를 상기 블록 오프셋만큼 증가시키는 단계와, (ㅇ) H/h 블록들에 대한 화상 데이터를 모두 처리할 때까지 상기 (ㄷ)∼(ㅅ) 단계들을 반복하는 단계와, (ㅈ) 상기 블록 오프셋을 상기 라인 오프셋으로써 설정하는 단계와, (ㅊ) (라인 오프셋 * H/h)을 상기 수평 해상도 H-1로 나눈 나머지를 상기 라인 오프셋으로 설정하는 단계 그리고 (ㅋ) 상기 라스터 스캔 순서의 화상 데이터가 공급되는 동안 상기 (ㄴ)∼(ㅊㅋ) 단계들을 반복하는 단계를 포함한다.
바람직한 실시예에 있어서, 상기 (ㅁ) 단계에서, 상기 증가된 앵커 어드레스가 {수평 해상도(H)-1}보다 크거나 같을 때, 상기 앵커 어드레스를 {수평 해상도(H)-1}만큼 감소시키는 단계를 더 포함한다.
바람직한 실시예에 있어서, 상기 (ㅅ) 단계에서, 상기 증가된 블록 어드레스가 {수평 해상도(H)-1}보다 크거나 같을 때, 상기 블록 어드레스를 상기 {수평 해상도(H)-1}만큼 감소시키는 단계를 더 포함한다.
상술한 바와 같은 화상 처리 장치 및 방법은, 특히, 라스터 포맷을 블록 포맷으로 전환할 때, 카메라 프로세서에서 발생된 화상 데이터를 각 색 성분별로 분리하여 하나의 라인 메모리에 저장한 후, 블록 포맷으로 읽기에 적합한 순서로 블록 단위로 독출하여 JPEG 엔진으로 전달한다. 하나의 통합 라인 메모리를 사용하기 때문에 메모리 크기를 줄일 수 있고 이에 따라 칩 사이즈를 감소시킬 수 있다.
(실시예)
이하 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 도 4는 본 발명의 바람직한 실시예에 따른 화상 데이터 처리 장치를 보여주는 블록도이다. 도 4를 참조하면, 본 발명의 화상 데이터 처리 장치(100)는 카메라 프로세서(110), 어드레스 발생기(120), 단일 라인 메모리(130) 그리고 JPEG 엔진(140)을 포함한다.
카메라 프로세서(110)는 라스터 스캔 순서로 화상 데이터를 출력한다. 화상 데이터는 휘도 성분 Y와 색차 성분 U, V를 포함하며, 도면에는 단지 휘도 성분 Y를 위한 라인 메모리_Y(130)를 도시하였다. 카메라 프로세서(110)는 클럭 신호에 동기화하여 화상 데이터를 출력하며, 출력된 휘도 성분 Y는 라인 메모리_Y(130)에 저장된다. 처리하고자 하는 화상 데이터가 H*V의 해상도를 가지며, JPEG 엔진(140)이 h*v 블록 단위로 화상 데이터를 처리한다면, 라인 메모리_Y(130)는 H*v 바이트의 크기를 갖는다. 예컨대, JPEG 압축 방식의 경우, h=v=8이고, 다. 이하에서는 VGA 표준에서 h와 v가 8인 경우를 예로 들어 설명한다.
어드레스 발생 회로(120)는 라인 메모리_Y(130)에 대한 공통 독출/기입 어드레스를 발생한다. 본 발명에 따르면 라인 메모리_Y(130)에 대한 독출 어드레스와 기입 어드레스가 동일하다. 즉, 독출 동작을 위해 어드레스를 인가한 메모리 셀에 기입 동작이 동시에 수행된다. 이는 도 5에 도시된 타이밍도를 참조하여 설명한다.
도 4 및 도 5를 참조하면, 카메라 프로세서(110)로부터 제공된 입력 인에이블 신호(PELI_EN)가 액티브 하이이면 라인 메모리_Y(130)의 공통 독출/기입 어드레스(ADDR)에 저장된 화상 데이터가 독출된다. 라인 메모리_Y(130)로부터 독출된 화상 데이터는 출력 인에이블 신호(PELO_EN)가 액티브 하이일 때 JPEG 엔진(140)으로 제공된다. 한편, 입력 인에이블 신호(PELI_EN)가 액티브 로우일 때 카메라 프로세서(110)로부터 제공된 화상 데이터(PELI[7:0]])가 라인 메모리_Y(130)에 기입된다. 이 때, 화상 데이터(PELI[7:0]])가 기입되는 라인 메모리_Y(130)의 어드레스는 어드레스 발생 회로(120)에서 발생된 공통 독출/기입 어드레스(ADDR)이다. 라인 메모리_Y(130)는 H*8 즉, 640*8=5120 개의 픽셀 데이터를 저장하므로, 한 페이즈에서 라인 메모리_Y(130)로부터 0 번째 픽셀 데이터부터 640*8-1=5119 번째 픽셀 데이터까지 독출될 때 카메라 프로세서(110)로부터의 5120 번째 픽셀 데이터부터 4299 번째 픽셀 데이터까지 라인 메모리_Y(130)에 저장된다.
구체적으로, 공통 독출/기입 어드레스(ADDR)는 아래 수학식 3에 의해서 생성된다.
no_hor_bk = 640 >> 3;
no_size = no_hor_bk << 3 - 1;
block_offset = 1;
line_offset = no_hor_bk;
while (!finished){
anchor = 0;
block_addr = 0;
next_line_offset = 0;
for (i=0; i<no_hor_bk; i++){
anchor = blcok_addr;
for (vv=0; vv<8; vv++){
for (hh=0; hh<8; hh++){
addr = anchor << 3 + hh;
}
anchor += line_offset;
anchor -= no_size(if anchor >= no_size);
}
block_addr += block_offset;
block_addr -= no_size(if block_addr >= no_size);
next_line_offset += line_offset;
next_line_offset -= no_size(if next_line_offset>= no_size);
}
block_offset = line_offset;
line_offset = next_line_offset;
}
여기서, addr은 공통 기입/독출 어드레스(ADDR)이고, i는 블록 인덱스, hh는 수평 방향 인덱스, vv는 수직 방향 인덱스이다. no_hor_bk는 한 페이즈에 속하는 블록의 갯수 H/h=640/8이고, no_size는 수평 방향 픽셀의 수-1를 나타낸다. 상기 수학식 3에서 640대신 다른 값을 사용하면 처리하고자 하는 화상의 크기에 부합하는 공통 독출/기입 어드레스가 생성된다.
이와 같은 공통 독출/기입 어드레스(ADDR)를 발생하기 위하여 본 발명의 어드레스 발생 회로(120)는 도 6에 도시된 바와 같은 구성을 갖는다.
도 6을 참조하면, 어드레스 발생 회로(120)는, 두 개의 카운터들(201, 202), 어드레스 발생기(210), 라인 오프셋 발생기(220) 그리고 블록 어드레스 발생기(230)를 포함한다. 이 실시예에서, 각 구성 요소들의 크기 및 고유한 숫자들은 VGA 표준에 따라 결정된 것으로, 다른 표준에서는 다르게 설정됨이 잘 이해될 것이다.
카운터_hv(201)는 6-비트 카운터로 구성된다. 카운터_hv(201)는 카메라 프로세서(110)로부터의 입력 인에이블 신호(PELI_EN)가 액티브될 때마다 1만큼씩 증가한다. 카운터_hv(201)의 상위 3-비트는 수직 방향 인덱스(vv)를 그리고 하위 3-비트는 수평 방향 인덱스(h)를 제공한다. 수직 방향 인덱스(vv)는 라인 메모리의 라인들을 지정하기 위해 0부터 8까지 변화하고, 수평 방향 인덱스(hh)는 수평 방향 픽셀들을 지정하기 위해 0부터 8까지 변화한다. 카운터_bk(202)는 10-비트 카운터로 구성되며 카운터_hv(201)로부터의 오버플로우 신호(OVERF)가 액티브될 때마다 1만큼씩 증가한다. 카운터_bk(202)는 한 페이즈에 속하는 블럭들을 지정하기 위해 0부터 640(=H/h*v=640/8*8)까지 변화하는 블록 인덱스(i)를 제공한다.
어드레스 발생기(210)는 멀티플렉서(211), 다음 앵커 어드레스(next anchor address) 레지스터(212), 앵커 어드레스(anchor address) 레지스터(213), 공통 기입/독출 어드레스 연산기(214) 그리고 가산기들(215, 216)을 포함한다.
가산기(215)는 다음 앵커 어드레스 레지스터(212)의 다음 앵커 어드레스(next_anchor[9:0])와 라인 오프셋 레지스터(223)에 저장된 라인 오프셋(line_offset[9:0])의 합을 출력한다. 가산기(216)는, 다음 앵커 어드레스 레지스터(212)에 저장된 다음 앵커 어드레스(next_anchor[9:0])가 수평 방향 픽셀 수 640-1 즉, 639보다 크면 다음 앵커 어드레스(next_anchor[9:0])에서 639를 뺀다.
멀티플렉서(211)는 초기화 신호(init)가 액티브될 때 0을, 카운터_bk(202)로부터의 블록 인덱스(i)가 증가할 때 블록 어드레스 연산기(232)로부터의 블록 어드레스(block_addr[9:0])를, 그리고 수평 방향 인덱스(hh)가 오버플로우될 때(즉, hh=8일 때) 가산기들(215, 216)로부터의 출력들을 차례대로 다음 앵커 어드레스 레지스터(212)로 제공한다. 도면에 도시되지는 않았으나, 상기 초기화 신호(init)는 예컨대, 카메라 프로세서(110)로부터 제공되는 수평 동기 신호(horizontal synchronization signal)의 8 주기마다 동기되어 액티브되는 신호이다.
앵커 어드레스 레지스터(213)는 수직 방향 인덱스(vv)가 오버플로우될 때(즉, vv=8일 때) 다음 앵커 어드레스 레지스터(212)로부터의 다음 앵커 어드레스(next_anchor[9:0])를 받아들인다. 어드레스 연산기(214)는 앵커 어드레스 레지스터(213)에 저장된 앵커 어드레스(anchor[9:0])를 왼쪽으로 3번 쉬프트하고, 수평 방향 인덱스(hh)가 증가할 때마다 쉬프트된 앵커 어드레스(anchor[9:0]<<3)에 수평 방향 인덱스(hh)를 더한다. 어드레스 연산기(213)에서 연산된 어드레스가 상기 공통 기입/독출 어드레스(ADDR)가 된다. 도 4를 참조하면, 라인 메모리_Y(130)는 공통 기입/독출 어드레스에 저장된 화상 데이터를 출력한다. JPEG 엔진(140)은 출력 인에이블 신호(PELO_EN)에 응답해서 라인 메모리_Y(130)로부터 출력된 화상 데이터를 받아들인다.
다시 도 6을 참조하면, 라인 오프셋 발생기(220)는 멀티플렉서(221), 다음 라인 오프셋(next line offset) 레지스터(222), 라인 오프셋(line offset) 레지스터(223) 그리고 가산기들(224, 225)을 포함한다. 가산기(224)는 다음 라인 오프셋레지스터(222)에 저장된 다음 라인 오프셋(next_line offset[9:0])과 라인 오프셋(223)에 저장된 라인 오프셋(line_offset[9:0])을 더한다. 가산기(225)는 다음 라인 오프셋 레지스터(222)에 저장된 다음 라인 오프셋(next_line offset[9:0])이 수평 방향 픽셀 수 640-1 즉, 639보다 크면 다음 라인 오프셋(next_line offset[9:0])에서 639를 뺀다. 멀티플렉서(221)는 초기화 신호(init)가 액티브될 때 0을, 수직 방향 인덱스(vv)가 오버플로우될 때(즉, vv=8일 때) 가산기들(224, 225)의 출력을 차례대로 선택해서 다음 라인 오프셋 레지스터(222)로 제공한다. 라인 오프셋 레지스터(223)는 블록 인덱스(i)가 오버플로우될 때(즉, i=80일 때) 다음 라인 오프셋 레지스터(222)에 저장된 다음 라인 오프셋(next_line_offset[9:0])을 받아들인다.
블록 어드레스 발생기(230)는 멀티플렉서(231), 블록 어드레스 레지스터(232), 블록 오프셋 레지스터(235) 그리고 가산기들(233, 234)을 포함한다. 가산기(233)는 블록 어드레스 레지스터(232)에 저장된 블록 어드레스(block_addr[9:0])와 블록 오프셋 레지스터(235)에 저장된 블록 오프셋(block_offset[9:0])을 더한다. 가산기(234)는 블록 어드레스 레지스터(232)에 저장된 블록 어드레스(block_addr[9:0])가 639보다 클 때 블록 어드레스(block_addr[9:0])에서 639를 뺀다. 멀티플렉서(231)는 초기화 신호(init)가 액티브될 때 0을 그리고 수직 방향 인덱스(vv)가 오버플로우될 때(즉, vv=8일 때) 가산기들(233, 234)로부터의 출력들을 차례대로 선택해서 블록 어드레스 레지스터(232)로 제공한다.
더 구체적으로 도 6 내지 도 7을 참조하여 본 발명의 동작에 관하여 설명한다. 본 발명에 대한 보다 명확한 이해를 위해 80*8 픽셀을 저장할 수 있는 라인 메모리를 일 예로서 설명한다.
도 7a는 카메라 프로세서(110)로부터 출력되는 화상 데이터를 보여주는 도면이다. 도 7a에서, 카메라 프로세서(110)의 수평 해상도는 80이고, 수직 해상도는 32이다. 80*8 픽셀 화상 데이터를 저장하는 라인 메모리를 포함하는 시스템에서 한 페이즈는 80*8의 크기를 가지므로 한 화면은 4 개의 페이즈들을 포함한다. 각 페이즈는 80 개의 세그먼트들(Segments)을 포함한다. 세그먼트는 블록을 구성하는 수평 방향의 8 개의 픽셀들로 이루어진 라인을 말하며, 세그먼트들(S0-S79)의 각 숫자는 카메라 프로세서(110)로부터 출력되는 화상 데이터의 순서를 의미한다.
도 7b 내지 도 7e는 80*8 픽셀을 저장할 수 있는 라인 메모리에 도 7a에 도시된 세그먼트들이 독출/기입되는 순서를 보여주는 도면들이다. 도면들에서, 라인 메모리 및 어드레스 버퍼의 어드레스는 좌에서 우로, 위에서 아래로 갈수록 증가한다.
카메라 프로세서(110)에서 출력되는 80*8 픽셀 화상 데이터(페이즈 1)는 라인 메모리_Y(130)의 어드레스 0부터 시작하여 640까지 순차적으로 기입된다. 즉, 80 개의 세그먼트들(S0-S79)이 도 7b에 도시된 바와 같이 순차적으로 저장된다. 예컨대, 세그먼트(S0)는 픽셀 0~7을 포함하고, 세그먼트(S1)는 픽셀 8~15를 포함하며 세그먼트 10은 픽셀 80~87을 포함한다. 이 때, 매 8 개의 픽셀마다 발생하는(즉, 매 8 픽셀동안 일정한 값을 유지하는) 앵커 어드레스 0~79가 도 6에 도시된 바와 같이, 앵커 어드레스 레지스터(213)에 저장된다. 앵커 어드레스 0~79는 최초의 8 라인의 화상 데이터(80*8 픽셀)가 단일 라인 메모리_Y(130)에 순차적으로 저장될 때, 각 세그먼트의 첫 번째 픽셀이 저장되는 어드레스를 8로 나눈 값에 해당한다. 따라서, 앵커 어드레스에 8을 곱하면 세그먼트의 첫 번째 픽셀이 저장되는 라인 메모리_Y(130)의 어드레스와 일치한다. 도 7b에서, 빗금친 부분은 페이즈 1에 대한 블록 스캔 단위로 독출될 첫 번째 블록(8*8)이다.
생성된 공통 독출/기입 어드레스를 참조하여 도 7c에 도시된 라인 메모리로부터 페이즈 1에 대한 블록 단위 독출이 수행되는 동시에 새로운 8 라인의 화상 데이터(페이즈 2)가 기입된다. 이 때, 생성되는 앵커 어드레스는 0, 10, 20, …, 70, 1, 11, 21, …, 71, …, 9, 19, 29, …, 79 순이다. 도 7c에서, 빗금친 부분은 페이즈 2에 대한 블록 스캔 단위로 독출될 첫 번째 블록(8*8)이다.
이어서, 공통 독출/기입 어드레스를 참조하여 도 7d에 도시된 라인 메모리로부터 페이즈 2에 대한 블록 단위 독출이 수행되는 동시에 새로운 8 라인의 화상 데이터(페이즈 3)가 기입된다. 이 때, 생성되는 앵커 어드레스는 0, 21, 42, 63, …, 68, 10, 31, 52, …, 78, …, 11, 32, 53, …, 79 순이다. 도 7d에서, 빗금친 부분은 페이즈 3에 대한 블록 스캔 단위로 독출될 첫 번째 블록(8*8)이다.
공통 독출/기입 어드레스를 참조하여 도 7e에 도시된 라인 메모리로부터 페이즈 3에 대한 블록 단위 독출이 수행되는 동시에 새로운 8 라인의 화상 데이터(페이즈 4)가 기입된다. 이 때, 생성되는 앵커 어드레스는 0, 52, 25, 77, …, 73, 46, 31, 52, …, 78, …, 11, 32, 53, …, 79 순이다. 도 7e에서, 빗금친 부분은페이즈 4에 대한 블록 스캔 단위로 독출될 첫 번째 블록(8*8)이다.
마지막 페이즈인 페이즈 4가 라인 메모리_Y(130)리에 기록된 후에는, 생성된 공통 독출/기입 어드레스를 참조하여 라인 메모리_Y(130)에 대한 독출 동작만 수행한다.
상술한 본 발명에 따르면, 카메라 프로세서(110)로부터 출력되는 첫 번째 페이즈의 화상 데이터가 라인 메모리_Y(130)에 저장된다. 생성된 공통 독출/기입 어드레스를 참조하여 라인 메모리_Y(130)로부터 첫 번째 페이즈의 화상 데이터가 독출된 후 카메라 프로세서(110)로부터 출력되는 두 번째 페이즈의 화상 데이터가 라인 메모리_Y(130)에 저장된다. 이 때, 공통 독출/기입 어드레스는 독출될 화상 데이터가 속하는 블록의 어드레스, 블록의 오프셋 및 라인 오프셋에 근거하여 상기 라인 메모리에 대한 상기 공통 독출/기입 어드레스를 발생함으로써, 라스터 스캔 순서 및 블록 스캔 순서 사이의 화상 데이터 전환이 하나의 라인 메모리를 이용하여 용이하게 구현될 수 있다.
공통 독출/기입 어드레스(ADDR)를 발생하는 다른 알고리즘의 예가 아래 수학식 4에 기재되어 있다.
no_hor_bk = 640 >> 3;
no_size = no_hor_bk << 3 - 1;
block_offset = 1;
line_offset = no_hor_bk;
while (!finished){
for (i=0; i<no_hor_bk; i++){
for (vv=0; vv<8; v++){
anchor = (block_offset*i + line_offset*v) % no_size;
if (vv==7 && i=no_hor_bk-1) anchor = no_size;
for (hh=0; hh<8; h++){
addr = anchor << 3 + hh;
}
}
}
block_offset = line_offset;
line_offset = (line_offset * no_hor_bk) % no_size;
}
여기서, addr은 공통 기입/독출 어드레스(ADDR)이고, i는 블록 인덱스, hh는 수평 방향 인덱스, vv는 수직 방향 인덱스이다. no_hor_bk는 한 페이즈에 속하는 블록의 갯수 H/h=640/8이고, no_size는 수평 방향 픽셀의 수-1를 나타낸다. 상기 수학식 3에서 640대신 다른 값을 사용하면 처리하고자 하는 화상의 크기에 부합하는 공통 독출/기입 어드레스가 생성된다. 다음의 수학식들에서도 인덱스들은 수학식 3 및 수학식 4와 동일하게 사용된다.
수학식 4의 알고리즘은 3 개의 승산기를 사용하도록 되어있으나, 이를 다음 수학식 5와 같이 수정할 수 있다.
no_hor_bk = 640 >> 3;
no_size = no_hor_bk << 3 - 1;
block_offset = 1;
line_offset = no_hor_bk;
while (!finished){
block_addr = 0;
for (i=0; i<no_hor_bk; i++){
line_addr = 0;
for (v=0; v<8; v++){
anchor = (block_addr + line_addr) % no_size;
if (v==7 && i=no_hor_bk-1) anchor = no_size;
for (h=0; h<8; h++){
addr = anchor << 3 + h;
}
line_addr += line_offset;
}
block_addr += block_offset;
}
block_offset = line_offset;
line_offset = (line_offset * no_hor_bk) % no_size;
}
수학식 5의 알고리즘에서 블록 어드레스(block_addr)와 라인 어드레스(line_addr)의 크기가 무한정 증가하는 것을 막고, 나머지 연산자(%)를 줄이기 위해서 다음 수학식 6과 같이 수정할 수 있다.
no_hor_bk = 640 >> 3;
no_size = no_hor_bk << 3 - 1;
block_offset = 1;
line_offset = no_hor_bk;
while (!finished){
block_addr = 0;
for (i=0; i<no_hor_bk; i++){
line_addr = 0;
for (v=0; v<8; v++){
anchor = (block_addr + line_addr);
if (anchor>=no_size) anchor -= no_size;
if (v==7 && i=no_hor_bk-1) anchor = no_size;
for (h=0; h<8; h++){
addr = anchor << 3 + h;
}
line_addr += line_offset;
if (line_addr>=no_size) line_addr -= no_size;
}
block_addr += block_offset;
if (block_addr>=no_size) block_addr -= no_size;
}
block_offset = line_offset;
line_offset = (line_offset * no_hor_bk) % no_size;
}
수학식 6의 알고리즘에서는 어드레스(addr)를 출력하기 전에 앵커 어드레스(anchor)를 계산하도록 되어있으나, 효율적인 하드웨어 구현을 위해서 상기 수학식 3과 같이 수정할 수 있다. 그러므로, 적은 하드웨어로 계산 시간이 단축된 알고리즘은 수학식 3이다.
이와 같은 본 발명의 화상 처리 장치 및 방법에 의하면, 라스터 스캔 순서 및 블록 스캔 순서 사이의 화상 데이터 전환이 하나의 라인 메모리를 이용하여 구현함으로써 종래에 비해 요구되는 라인 메모리의 크기가 절반으로 감소된다.
한편, 본 발명은 다수의 성분을 가진 칼라 신호에 대응하기 위하여 특정한 크로마 포맷(chroma format)(예컨대, 4:2:2, 4:4:4 등)에 적합하도록 라인 메모리의 크기는 변경될 수 있다. 예를 들어, 4:2:2 포맷의 경우 라인 메모리의 크기는 H*2*8이 되며, 4:4:4 포맷의 경우 라인 메모리의 크기는 H*3*8이 된다.
예시적인 바람직한 실시예를 이용하여 본 발명을 설명하였지만, 본 발명의 범위는 개시된 실시예에 한정되지 않는다는 것이 잘 이해될 것이다. 따라서, 청구범위는 그러한 변형 예들 및 그 유사한 구성들 모두를 포함하는 것으로 가능한 폭넓게 해석되어야 한다.
이와 같은 본 발명에 의하면, 색 성분마다 하나의 라인 메모리를 사용하므로서 라인 메모리 크기가 감소된다. 따라서, 칩에 내장시 작은 크기의 칩을 얻을 수 있으며, 또한 시스템의 저전력화를 도모할 수 있다.

Claims (30)

  1. 라스터 스캔 순서의 화상 데이터와 블록 스캔 순서의 화상 데이터의 상호 변환을 위한 화상 처리 장치에 있어서:
    소정의 수평 해상도 및 수직 해상도를 가지는 라스터 스캔 순서의 화상 데이터를 공급하는 화상 데이터 처리기와;
    복수의 라인들의 화상 데이터를 저장하기 위한 라인 메모리와;
    상기 라인 메모리에 대한 공통 독출/기입 어드레스를 발생하는 어드레스 발생 블록; 및
    상기 라인 메모리로부터 블록 스캔 순서의 화상 데이터를 전달받는 인코더를 포함하되;
    상기 어드레스 발생 블록은,
    화상 데이터가 독출 및 기입될 블록의 어드레스를 발생하는 블록 어드레스 발생기와;
    상기 라인 메모리에 대한 이전 공통 독출/기입 어드레스와 현재 공통 독출/기입 어드레스 사이의 라인 오프셋을 제공하는 라인 오프셋 발생기; 그리고
    상기 블록 어드레스와 상기 라인 오프셋에 근거하여 상기 라인 메모리에 대한 상기 공통 독출/기입 어드레스를 발생하는 어드레스 발생기를 포함하는 것을 특징으로 하는 화상 데이터 처리 장치.
  2. 제 1 항에 있어서,
    상기 인코더는 JPEG 엔진인 것을 특징으로 하는 화상 데이터 처리 장치.
  3. 제 2 항에 있어서,
    상기 블록은 {복수의 수평 방향 픽셀들(h)*복수의 수직 방향 픽셀들(v)}의 화상 데이터를 포함하는 것을 특징으로 하는 화상 데이터 처리 장치.
  4. 제 3 항에 있어서,
    상기 블록 어드레스 발생기는,
    상기 라인 메모리에 대한 현재 블록의 시작 어드레스와 다음 블록의 시작 어드레스 사이의 오프셋인 블록 오프셋을 더 제공하는 것을 특징으로 하는 화상 데이터 처리 장치.
  5. 제 4 항에 있어서,
    상기 블록 오프셋은 초기에 1로써 설정되는 것을 특징으로 하는 화상 데이터 처리 장치.
  6. 제 5 항에 있어서,
    상기 라인 오프셋은 초기에 {수평 해상도(H)/h}로써 설정되는 것을 특징으로 하는 화상 데이터 처리 장치.
  7. 제 6 항에 있어서,
    상기 라인 오프셋 발생기는,
    상기 라인 메모리에 대한 현재 공통 독출/기입 어드레스와 다음 공통 독출/기입 어드레스 사이의 라인 오프셋인 다음 라인 오프셋을 더 발생하는 것을 특징으로 하는 화상 데이터 처리 장치.
  8. 제 7 항에 있어서,
    상기 블록 어드레스와 상기 다음 라인 오프셋은 매 페이즈의 시작에서 각각 리셋되는 것을 특징으로 하는 화상 데이터 처리 장치.
  9. 제 8 항에 있어서,
    상기 어드레스 발생기는,
    상기 블록 어드레스에 근거하여 상기 라인 메모리에 대한 앵커 어드레스를 더 발생하고; 그리고
    상기 발생된 앵커 어드레스로부터 연속된 h 개의 상기 공통 독출/기입 어드레스들을 발생하는 것을 특징으로 하는 화상 데이터 처리 장치.
  10. 제 9 항에 있어서,
    상기 어드레스 발생기는,
    상기 연속된 h 개의 공통 독출/기입 어드레스들을 발생한 후 상기 앵커 어드레스를 상기 라인 오프셋만큼 증가시키는 것을 특징으로 하는 화상 데이터 처리 장치.
  11. 제 10 항에 있어서,
    상기 어드레스 발생기는,
    상기 라인 오프셋만큼 증가된 상기 앵커 어드레스가 상기 수평 해상도 H-1보다 클 때 상기 앵커 어드레스를 {수평 해상도(H)-1}만큼 감소시키는 것을 특징으로 하는 화상 데이터 처리 장치.
  12. 제 11 항에 있어서,
    상기 블록 어드레스 발생기는,
    하나의 블록에 대한 공통 독출/기입 어드레스들을 발생한 후 상기 블록 어드레스를 상기 블록 오프셋만큼 증가시키는 것을 특징으로 하는 화상 데이터 처리 장치.
  13. 제 12 항에 있어서,
    상기 블록 어드레스 발생기는,
    상기 블록 오프셋만큼 증가된 상기 블록 어드레스가 상기 수평 해상도 H-1보다 클 때 상기 블록 어드레스를 {수평 해상도(H)-1}만큼 감소시키는 것을 특징으로하는 화상 데이터 처리 장치.
  14. 제 13 항에 있어서,
    상기 블록 오프셋은, 매 페이즈의 끝에서 상기 라인 오프셋으로써 설정되는 것을 특징으로 하는 화상 데이터 처리 장치.
  15. 제 14 항에 있어서,
    상기 라인 오프셋은, 상기 매 페이즈의 끝에서 상기 다음 라인 오프셋으로써 설정되는 것을 특징으로 하는 화상 데이터 처리 장치.
  16. 제 15 항에 있어서,
    하나의 페이즈는 H/h 블록들을 포함하는 것을 특징으로 하는 화상 데이터 처리 장치.
  17. 제 15 항에 있어서,
    수평해상도가 H이고 수직 해상도가 V인 화상 데이터는 V/v 페이즈들을 포함하는 것을 특징으로 하는 화상 데이터 처리 장치.
  18. 라스터 스캔 순서의 화상 데이터와 블록 스캔 순서의 화상 데이터의 상호 변환을 위한 화상 처리 방법에 있어서:
    수평 해상도(H) 및 수직 해상도(V)를 가지는 라스터 스캔 순서의 화상 데이터를 공급받는 단계와;
    복수의 라인들(v)의 라인 메모리에 대한 공통 독출/기입 어드레스를 발생하는 단계와;
    상기 라인 메모리의 상기 공통 독출/기입 어드레스로부터 h*v 블록 스캔 순서의 화상 데이터를 독출하는 단계와;
    상기 라인 메모리의 상기 공통 독출/기입 어드레스에 상기 라스터 스캔 순서의 화상 데이터를 저장하는 단계; 그리고
    h*v 블록 스캔 순서의 화상 데이터를 인코더로 전달하는 단계를 포함하되;
    상기 공통 독출/기입 어드레스를 발생하는 단계는,
    (ㄱ) 블록 오프셋과 라인 오프셋을 초기화하는 단계와;
    (ㄴ) 블록 어드레스와 다음 라인 오프셋을 초기화하는 단계와;
    (ㄷ) 앵커 어드레스를 상기 블록 어드레스로써 설정하는 단계와;
    (ㄹ) 상기 앵커 어드레스로부터 연속된 h개의 공통 독출/기입 어드레스들을 발생하는 단계와;
    (ㅁ) 상기 앵커 어드레스를 상기 라인 오프셋만큼 증가시키는 단계와;
    (ㅂ) 상기 h*v 블록에 대한 상기 공통 독출/기입 어드레스들이 모두 발생될 때까지 상기 (ㄹ)∼(ㅁ) 단계들을 반복하는 단계와;
    (ㅅ) 상기 블록 어드레스를 상기 블록 오프셋만큼 증가시키는 단계와;
    (ㅇ) 상기 다음 라인 오프셋을 상기 라인 오프셋만큼 증가시키는 단계와;
    (ㅈ) H/h 블록들에 대한 화상 데이터를 모두 처리할 때까지 상기 (ㄷ)∼(ㅇ) 단계들을 반복하는 단계와;
    (ㅊ) 상기 블록 오프셋을 상기 라인 오프셋으로서 설정하는 단계와;
    (ㅋ) 상기 라인 오프셋을 상기 다음 라인 오프셋으로 설정하는 단계와;
    (ㅊ) 상기 라스터 스캔 순서의 화상 데이터가 공급되는 동안 상기 (ㄴ)∼(ㅋ) 단계들을 반복하는 단계를 포함하는 것을 특징으로 하는 화상 데이터 처리 방법.
  19. 제 18 항에 있어서,
    상기 (ㅁ) 단계에서, 상기 라인 오프셋만큼 증가된 앵커 어드레스가 상기 수평 해상도 H-1보다 크거나 같을 때 상기 앵커 어드레스를 상기 수평 해상도 H-1만큼 감소시키는 단계를 더 포함하는 것을 특징으로 하는 화상 데이터 처리 방법.
  20. 제 18 항에 있어서,
    상기 (ㅇ) 단계에서, 상기 블록 오프셋만큼 증가된 블록 어드레스가 상기 수평 해상도 H-1보다 크거나 같을 때 상기 블록 어드레스를 상기 수평 해상도 H-1만큼 감소시키는 단계를 더 포함하는 것을 특징으로 하는 화상 데이터 처리 방법.
  21. 라스터 스캔 순서의 화상 데이터와 블록 스캔 순서의 화상 데이터의 상호 변환을 위한 화상 처리 방법에 있어서:
    수평 해상도(H) 및 수직 해상도(V)를 가지는 라스터 스캔 순서의 화상 데이터를 공급받는 단계와;
    복수의 라인들(v)의 라인 메모리에 대한 공통 독출/기입 어드레스를 발생하는 단계와;
    상기 라인 메모리의 상기 공통 독출/기입 어드레스로부터 h*v 블록 스캔 순서의 화상 데이터를 독출하는 단계와;
    상기 라인 메모리의 상기 공통 독출/기입 어드레스에 상기 라스터 스캔 순서의 화상 데이터를 저장하는 단계; 그리고
    h*v 블록 스캔 순서의 화상 데이터를 인코더로 전달하는 단계를 포함하되;
    상기 공통 독출/기입 어드레스를 발생하는 단계는,
    (ㄱ) 블록 오프셋과 라인 오프셋을 초기화하는 단계와;
    (ㄴ) (블록 오프셋 * i + 라인 오프셋 * vv)(여기서, i 는 v 라인의 화상 데이터의 블록 순서를 표시하는 것으로서, 0 부터 (H/h)-1 까지 순차적으로 증가하고, vv는 블록의 라인 수를 표시하는 것으로서 i에 대하여 0부터 v-1 까지 순차적으로 증가하며)를 수평 해상도 H-1로 나눈 나머지로 주어지는 앵커 어드레스를 생성하는 단계와;
    (ㄷ) 상기 앵커 어드레스*h로부터 연속된 h개의 공통 독출/기입 어드레스들을 발생하는 단계와;
    (ㄹ) 상기 h*v 블록에 대한 상기 공통 독출/기입 어드레스들이 모두 발생될 때까지 상기 (ㄴ)∼(ㄷ) 단계들을 반복하는 단계와;
    (ㅁ) 상기 i가 0부터 v-1 까지 순차적으로 증가할 때까지 상기 (ㄴ)∼(ㄷ) 단계들을 반복하는 단계와;
    (ㅂ) 상기 블록 오프셋을 상기 라인 오프셋으로서 설정하는 단계와;
    (ㅅ) (라인 오프셋 * H/h)을 상기 수평 해상도 H-1로 나눈 나머지를 상기 라인 오프셋으로 설정하는 단계와;
    (ㅇ) 상기 라스터 스캔 순서의 화상 데이터가 공급되는 동안 상기 (ㄴ)∼(ㅅ) 단계들을 반복하는 단계를 포함하는 것을 특징으로 하는 화상 데이터 처리 방법.
  22. 라스터 스캔 순서의 화상 데이터와 블록 스캔 순서의 화상 데이터의 상호 변환을 위한 화상 처리 방법에 있어서:
    수평 해상도(H) 및 수직 해상도(V)를 가지는 라스터 스캔 순서의 화상 데이터를 공급받는 단계와;
    복수의 라인들(v)의 라인 메모리에 대한 공통 독출/기입 어드레스를 발생하는 단계와;
    상기 라인 메모리의 상기 공통 독출/기입 어드레스로부터 h*v 블록 스캔 순서의 화상 데이터를 독출하는 단계와;
    상기 라인 메모리의 상기 공통 독출/기입 어드레스에 상기 라스터 스캔 순서의 화상 데이터를 저장하는 단계; 그리고
    h*v 블록 스캔 순서의 화상 데이터를 인코더로 전달하는 단계를 포함하되;
    상기 공통 독출/기입 어드레스를 발생하는 단계는,
    (ㄱ) 블록 오프셋과 라인 오프셋을 초기화하는 단계와;
    (ㄴ) 블록 어드레스를 초기화하는 단계와;
    (ㄷ) 라인 어드레스를 초기화하는 단계와;
    (ㄹ) 상기 블록 어드레스와 상기 라인 어드레스의 합을 상기 수평 해상도 H-1로 나눈 나머지로 주어지는 앵커 어드레스를 생성하는 단계와;
    (ㅁ) 상기 앵커 어드레스*h로부터 연속된 h개의 공통 독출/기입 어드레스들을 발생하는 단계와;
    (ㅂ) 상기 라인 어드레스를 상기 라인 오프셋만큼 증가시키는 단계와;
    (ㅅ) 상기 h*v 블록에 대한 상기 공통 독출/기입 어드레스들이 모두 발생될 때까지 상기 (ㄹ)∼(ㅂ) 단계들을 반복하는 단계와;
    (ㅇ) 상기 블록 어드레스를 상기 블록 오프셋만큼 증가시키는 단계와;
    (ㅈ) H/h 블록들에 대한 화상 데이터를 모두 처리할 때까지 상기 (ㄷ)∼(ㅇ) 단계들을 반복하는 단계와;
    (ㅊ) 상기 블록 오프셋을 상기 라인 오프셋으로서 설정하는 단계와;
    (ㅋ) 상기 라인 오프셋 * H/h을 상기 수평 해상도 H-1로 나눈 나머지를 상기 라인 오프셋으로 설정하는 단계와;
    (ㅊ) 상기 라스터 스캔 순서의 화상 데이터가 공급되는 동안 상기 (ㄴ)∼(ㅋ) 단계들을 반복하는 단계를 포함하는 것을 특징으로 하는 화상 데이터 처리 방법.
  23. 라스터 스캔 순서의 화상 데이터와 블록 스캔 순서의 화상 데이터의 상호 변환을 위한 화상 처리 방법에 있어서:
    수평 해상도(H) 및 수직 해상도(V)를 가지는 라스터 스캔 순서의 화상 데이터를 공급받는 단계와;
    복수의 라인들(v)의 라인 메모리에 대한 공통 독출/기입 어드레스를 발생하는 단계와;
    상기 라인 메모리의 상기 공통 독출/기입 어드레스로부터 h*v 블록 스캔 순서의 화상 데이터를 독출하는 단계와;
    상기 라인 메모리의 상기 공통 독출/기입 어드레스에 상기 라스터 스캔 순서의 화상 데이터를 저장하는 단계; 그리고
    h*v 블록 스캔 순서의 화상 데이터를 인코더로 전달하는 단계를 포함하되;
    상기 공통 독출/기입 어드레스를 발생하는 단계는,
    (ㄱ) 블록 오프셋과 라인 오프셋을 초기화하는 단계와;
    (ㄴ) 블록 어드레스를 초기화하는 단계와;
    (ㄷ) 라인 어드레스를 초기화하는 단계와;
    (ㄹ) 상기 블록 어드레스와 상기 라인 어드레스에 근거해서 앵커 어드레스를 생성하는 단계와;
    (ㅁ) 상기 앵커 어드레스*h 로부터 연속된 h 개의 공통 독출/기입 어드레스들을 발생하는 단계와;
    (ㅂ) 상기 라인 어드레스를 상기 라인 오프셋만큼 증가시키는 단계와;
    (ㅅ) 상기 h*v 블록에 대한 상기 공통 독출/기입 어드레스들이 모두 발생될 때까지 상기 (ㄹ)∼(ㅂ) 단계들을 반복하는 단계와;
    (ㅇ) 상기 블록 어드레스를 상기 블록 오프셋만큼 증가시키는 단계와;
    (ㅈ) H/h 블록들에 대한 화상 데이터를 모두 처리할 때까지 상기 (ㄷ)∼(ㅇ) 단계들을 반복하는 단계와;
    (ㅊ) 상기 블록 오프셋을 상기 라인 오프셋으로서 설정하는 단계와;
    (ㅋ) 상기 라인 오프셋 * H/h를 상기 라인 오프셋으로 설정하는 단계와;
    (ㅊ) 상기 라스터 스캔 순서의 화상 데이터가 공급되는 동안 상기 (ㄴ)∼(ㅋ) 단계들을 반복하는 단계를 포함하는 것을 특징으로 하는 화상 데이터 처리 방법.
  24. 제 23 항에 있어서,
    상기 (ㄹ) 단계에서, 상기 생성된 앵커 어드레스가 상기 수평 해상도 H-1보다 크거나 같을 때, 상기 앵커 어드레스를 상기 수평 해상도 H-1만큼 감소시키는 단계를 더 포함하는 것을 특징으로 하는 화상 데이터 처리 방법.
  25. 제 23 항에 있어서,
    상기 (ㅂ) 단계에서, 상기 증가된 라인 어드레스가 상기 수평 해상도 H-1보다 크거나 같을 때, 상기 라인 어드레스를 상기 수평 해상도 H-1만큼 감소시키는단계를 더 포함하는 것을 특징으로 하는 화상 데이터 처리 방법.
  26. 제 23 항에 있어서,
    상기 (ㅇ) 단계에서, 상기 증가된 블록 어드레스가 상기 수평 해상도 H-1보다 크거나 같을 때, 상기 블록 어드레스를 상기 수평 해상도 H-1만큼 감소시키는 단계를 더 포함하는 것을 특징으로 하는 화상 데이터 처리 방법.
  27. 제 23 항에 있어서,
    상기 (ㅋ) 단계에서, 상기 설정된 라인 오프셋이 상기 수평 해상도 H-1보다 크거나 같을 때 상기 라인 오프셋을 상기 수평 해상도 H-1로 나눈 나머지를 상기 라인 오프셋으로 설정하는 단계를 더 포함하는 것을 특징으로 하는 화상 데이터 처리 방법.
  28. 라스터 스캔 순서의 화상 데이터와 블록 스캔 순서의 화상 데이터의 상호 변환을 위한 화상 처리 방법에 있어서:
    수평 해상도(H) 및 수직 해상도(V)를 가지는 라스터 스캔 순서의 화상 데이터를 공급받는 단계와;
    복수의 라인들(v)의 라인 메모리에 대한 공통 독출/기입 어드레스를 발생하는 단계와;
    상기 라인 메모리의 상기 공통 독출/기입 어드레스로부터 h*v 블록 스캔 순서의 화상 데이터를 독출하는 단계와;
    상기 라인 메모리의 상기 공통 독출/기입 어드레스에 상기 라스터 스캔 순서의 화상 데이터를 저장하는 단계; 그리고
    h*v 블록 스캔 순서의 화상 데이터를 인코더로 전달하는 단계를 포함하되;
    상기 공통 독출/기입 어드레스를 발생하는 단계는,
    (ㄱ) 블록 오프셋과 라인 오프셋을 초기화하는 단계와;
    (ㄴ) 블록 어드레스를 초기화하는 단계와;
    (ㄷ) 앵커 어드레스를 블록 어드레스로써 설정하는 단계와;
    (ㄹ) 상기 앵커 어드레스*h 로부터 연속된 h 개의 공통 독출/기입 어드레스들을 발생하는 단계와;
    (ㅁ) 상기 앵커 어드레스를 상기 라인 오프셋만큼 증가시키는 단계와;
    (ㅂ) 상기 h*v 블록에 대한 상기 공통 독출/기입 어드레스들이 모두 발생될 때까지 상기 (ㄹ)∼(ㅁ) 단계들을 반복하는 단계와;
    (ㅅ) 상기 블록 어드레스를 상기 블록 오프셋만큼 증가시키는 단계와;
    (ㅇ) H/h 블록들에 대한 화상 데이터를 모두 처리할 때까지 상기 (ㄷ)∼(ㅅ) 단계들을 반복하는 단계와;
    (ㅈ) 상기 블록 오프셋을 상기 라인 오프셋으로써 설정하는 단계와;
    (ㅊ) (라인 오프셋 * H/h)을 상기 수평 해상도 H-1로 나눈 나머지를 상기 라인 오프셋으로 설정하는 단계; 그리고
    (ㅋ) 상기 라스터 스캔 순서의 화상 데이터가 공급되는 동안 상기 (ㄴ)∼(ㅊ) 단계들을 반복하는 단계를 포함하는 것을 특징으로 하는 화상 데이터 처리 방법.
  29. 제 28 항에 있어서,
    상기 (ㅁ) 단계에서, 상기 증가된 앵커 어드레스가 상기 수평 해상도 H-1보다 크거나 같을 때, 상기 앵커 어드레스를 상기 수평 해상도 H-1만큼 감소시키는 단계를 더 포함하는 것을 특징으로 하는 화상 데이터 처리 방법.
  30. 제 29 항에 있어서,
    상기 (ㅅ) 단계에서, 상기 증가된 블록 어드레스가 상기 수평 해상도 H-1보다 크거나 같을 때, 상기 블록 어드레스를 상기 수평 해상도 H-1만큼 감소시키는 단계를 더 포함하는 것을 특징으로 하는 화상 데이터 처리 방법.
KR10-2002-0068871A 2002-11-07 2002-11-07 라스터 스캔 순서 화상 데이터와 블록 스캔 순서 화상데이터 사이의 변환을 위한 화상 처리 장치 및 방법 KR100502413B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR10-2002-0068871A KR100502413B1 (ko) 2002-11-07 2002-11-07 라스터 스캔 순서 화상 데이터와 블록 스캔 순서 화상데이터 사이의 변환을 위한 화상 처리 장치 및 방법
US10/699,922 US7529412B2 (en) 2002-11-07 2003-11-04 Image processing apparatus and method for converting image data between raster scan order and block scan order
JP2003374900A JP4113098B2 (ja) 2002-11-07 2003-11-04 ラスタスキャン順序の画像データとブロックスキャン順序の画像データとの間の変換のための画像処理装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0068871A KR100502413B1 (ko) 2002-11-07 2002-11-07 라스터 스캔 순서 화상 데이터와 블록 스캔 순서 화상데이터 사이의 변환을 위한 화상 처리 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20040040677A true KR20040040677A (ko) 2004-05-13
KR100502413B1 KR100502413B1 (ko) 2005-07-19

Family

ID=32291714

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0068871A KR100502413B1 (ko) 2002-11-07 2002-11-07 라스터 스캔 순서 화상 데이터와 블록 스캔 순서 화상데이터 사이의 변환을 위한 화상 처리 장치 및 방법

Country Status (3)

Country Link
US (1) US7529412B2 (ko)
JP (1) JP4113098B2 (ko)
KR (1) KR100502413B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040051451A (ko) * 2002-12-12 2004-06-18 아스텔 주식회사 래스터-블록 변환기

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100502413B1 (ko) * 2002-11-07 2005-07-19 삼성전자주식회사 라스터 스캔 순서 화상 데이터와 블록 스캔 순서 화상데이터 사이의 변환을 위한 화상 처리 장치 및 방법
KR100579044B1 (ko) * 2004-06-29 2006-05-12 삼성전자주식회사 회전된 영상을 압축하기 위한 장치, 시스템 및 방법
KR100614652B1 (ko) * 2004-11-10 2006-08-22 삼성전자주식회사 전력 소모가 감소된 화상 처리 장치 및 방법
CN100450067C (zh) * 2005-11-18 2009-01-07 华为技术有限公司 业务设备交换网络及交换方法
JP4987364B2 (ja) * 2006-06-23 2012-07-25 株式会社東芝 ラインメモリ実装装置とテレビジョン受信装置
US8466928B2 (en) * 2006-10-06 2013-06-18 Canon Kabushiki Kaisha Image processing apparatus and method
US20080175442A1 (en) * 2007-01-22 2008-07-24 Dennis Megarry Method of displaying graphic images
JP4803063B2 (ja) * 2007-02-16 2011-10-26 セイコーエプソン株式会社 画像処理回路およびこれを搭載したプリンタコントローラ
JP5411478B2 (ja) * 2008-10-03 2014-02-12 古野電気株式会社 レーダ装置
US8355570B2 (en) * 2009-08-12 2013-01-15 Conexant Systems, Inc. Systems and methods for raster-to-block converter
TWI455593B (zh) * 2011-05-20 2014-10-01 Alpha Imaging Technology Corp 像素資料壓縮/解壓縮方法
CN103514105A (zh) * 2012-06-15 2014-01-15 上海芯豪微电子有限公司 信息处理系统、信息处理方法及存储系统
GB2628449A (en) * 2023-09-05 2024-09-25 V Nova Int Ltd Buffer utilisation

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2833327B2 (ja) 1992-03-04 1998-12-09 日本電気株式会社 アドレス発生方法およびアドレス発生回路
JPH0793529A (ja) * 1993-09-28 1995-04-07 Kawasaki Steel Corp スキャンフォーマット変換装置
JP3578497B2 (ja) 1994-11-28 2004-10-20 沖電気工業株式会社 ジグザグスキャン回路
JPH08171384A (ja) * 1994-12-16 1996-07-02 Canon Inc 走査変換方法及びその装置
JP3394619B2 (ja) 1995-01-12 2003-04-07 富士フイルムマイクロデバイス株式会社 画像圧縮システム
US5819035A (en) * 1995-10-20 1998-10-06 Matsushita Electric Industrial Co., Ltd. Post-filter for removing ringing artifacts of DCT coding
JP3408041B2 (ja) * 1995-12-26 2003-05-19 キヤノン株式会社 画像形成装置
JP3402941B2 (ja) * 1996-07-12 2003-05-06 三洋電機株式会社 画像処理装置
KR100207705B1 (ko) * 1996-12-04 1999-07-15 윤종용 Dct 블럭과 래스터 스캔을 위한 메모리 주소지정장치 및 그 방법
JP4086341B2 (ja) * 1997-06-06 2008-05-14 キヤノン株式会社 画像処理装置およびその方法
US7379609B2 (en) * 2002-07-19 2008-05-27 Samsung Electronics Co., Ltd. Image processing apparatus and method for conversion between raster and block formats
KR100502413B1 (ko) * 2002-11-07 2005-07-19 삼성전자주식회사 라스터 스캔 순서 화상 데이터와 블록 스캔 순서 화상데이터 사이의 변환을 위한 화상 처리 장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040051451A (ko) * 2002-12-12 2004-06-18 아스텔 주식회사 래스터-블록 변환기

Also Published As

Publication number Publication date
KR100502413B1 (ko) 2005-07-19
JP4113098B2 (ja) 2008-07-02
US20040096108A1 (en) 2004-05-20
JP2004159330A (ja) 2004-06-03
US7529412B2 (en) 2009-05-05

Similar Documents

Publication Publication Date Title
KR100502413B1 (ko) 라스터 스캔 순서 화상 데이터와 블록 스캔 순서 화상데이터 사이의 변환을 위한 화상 처리 장치 및 방법
KR100246878B1 (ko) 역이산 코사인변환 프로세서, 이산 코사인 변환계수의 매트릭스를 역변환하기 위한 방법 및 그 장치
US4190861A (en) Method and arrangement for redundancy-reducing picture coding
EP0828238A2 (en) Image memory storage system and method for a block oriented image processing system
JPH11259646A (ja) 画像処理装置、画像処理方法及びコンピュータ読み取り可能な記憶媒体
CN104956662B (zh) 数据排列方法和数据存储装置
US20010012397A1 (en) Image processing apparatus and method
JPWO2009087783A1 (ja) 符号化用データ生成装置、符号化用データ生成方法、復号装置および復号方法
JP2002508909A (ja) 画像圧縮のためのメモリ・ベースvlsiアーキテクチャ
JP2006145850A (ja) データ出力方法及びその装置並びにこれを用いた液晶パネル駆動装置及び液晶表示装置
US6212300B1 (en) Image processing apparatus, method and computer-executable program product for converting the format of data for specific image data
US20110157465A1 (en) Look up table update method
US7747090B2 (en) Scan line to block re-ordering buffer for image compression
KR100614652B1 (ko) 전력 소모가 감소된 화상 처리 장치 및 방법
JP2000244744A (ja) 画像データ圧縮方法及び画像データ管理方法
JP3710066B2 (ja) 電子スチルビデオカメラ
JP2001045427A (ja) 電子カメラ
JP3382358B2 (ja) 画像処理装置及びその方法
JP2010276686A (ja) 画像制御装置
JP2000322566A (ja) 画像表示装置及びその制御方法
KR100240005B1 (ko) 동영상 신호의 압축을 위한 프레임 메모리 제어방법 및 장치
JP4154030B2 (ja) 画像伝送回路装置
JP2001069465A (ja) 画像処理装置及び方法並びに記憶媒体
KR19990075483A (ko) 비트 평면 압축장치 및 비트 평면 압축/복원 방법
KR100240329B1 (ko) 디지탈 영상의 움직임 보정 장치

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090615

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee