KR20080072217A - 화상처리장치 - Google Patents

화상처리장치 Download PDF

Info

Publication number
KR20080072217A
KR20080072217A KR1020070010663A KR20070010663A KR20080072217A KR 20080072217 A KR20080072217 A KR 20080072217A KR 1020070010663 A KR1020070010663 A KR 1020070010663A KR 20070010663 A KR20070010663 A KR 20070010663A KR 20080072217 A KR20080072217 A KR 20080072217A
Authority
KR
South Korea
Prior art keywords
pixel data
read
memory
image processing
dma
Prior art date
Application number
KR1020070010663A
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 KR1020070010663A priority Critical patent/KR20080072217A/ko
Publication of KR20080072217A publication Critical patent/KR20080072217A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/405Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)

Abstract

본 발명은 화상처리장치에 관한 것으로, 특히 본 발명은 메모리를 직접 액세스하여 픽셀데이터를 읽어 들이는 읽기 DMA에 의해 읽어 들인 픽셀데이터를 저장하는 버퍼를 마련하고, 스케일러와 하프토너에서 버퍼에 저장된 픽셀데이터를 제공받아 화상처리할 픽셀데이터를 블록단위로 화상 처리한 후 쓰기 DMA를 통해 메모리에 기록함으로써 동일한 픽셀데이터에 대해서는 매번 데이터 버스를 통하여 읽어올 필요가 없어 데이터 버스를 점유하는 시간이 단축되므로 데이터 버스의 트래픽을 감소시켜 전체적인 화상처리 속도 및 효율성을 높인다.
이를 위해 본 발명은 하나의 화상에 대응되는 픽셀데이터가 저장되는 메모리와, 이 메모리를 직접 액세스하여 픽셀데이터를 읽어 들이는 읽기 DMA와, 이 읽기 DMA에 의해 읽어 들인 픽셀데이터를 저장하는 버퍼와, 이 버퍼에 저장된 픽셀데이터를 블록단위로 스케일링하는 스케일러와, 스케일링된 픽셀데이터를 블록단위로 하프토닝하는 하프토너와, 스케일러 및 하프토너에 의해 블록단위로 화상 처리된 픽셀데이터를 메모리에 기록하는 쓰기 DMA를 포함하는 것을 특징으로 한다.

Description

화상처리장치{IMAGE PROCESSING APPARATUS}
도 1은 종래 화상처리장치의 대략적인 제어블록도이다.
도 2는 도 1의 화상처리장치에서 2X3 픽셀데이터로 구성된 화상을 화상 처리하는 것을 도시한 도면이다.
도 3은 본 발명의 실시예에 화상처리장치의 대략적인 제어블록도이다.
도 4는 도 3의 화상처리장치에서 2X3 픽셀데이터로 구성된 화상을 화상 처리하는 것을 도시한 도면이다.
*도면의 주요 기능에 대한 부호의 설명*
10 : 메모리 20 : 중앙처리부
30 : 사용자인터페이TM 40 : 읽기 DMA
50 : 쓰기 DMA 60 : 스케일러
70 : 하프토너 80 : 버퍼
90 : 어드레스계산기
본 발명은 화상처리장치에 관한 것으로, 더욱 상세하게는 데이터 처리시간을 단축시키고 데이터 트래픽(traffic)을 줄일 수 있는 화상처리장치에 관한 것이다.
도 1에 도시된 바와 같이, 종래의 화상처리장치는 하나의 화상에 대응되는 픽셀데이터가 저장되는 메모리(Memory)(1)와, 사용자인터페이스(3)를 통해 입력된 사용자명령에 따라 메모리(1)에 저장된 각종 제어프로그램을 실행하여 화상처리장치의 동작을 제어하는 중앙처리부(CPU)(2)와, 화상처리장치의 동작을 제어하기 위한 사용자 명령을 입력받기 위한 사용자인터페이스(User Interface)(3)와, 메모리(1)를 직접 액세스하여 픽셀데이터를 읽어 들이는 읽기 DMA(Direct Memory Access)(Read DMA)(4)와, 이 읽기 DMA에 의해 읽혀진 픽셀데이터를 소정의 척도로 스케일링하는 스케일러(Scaler)와, 이 스케일러에 의해 스케일링된 픽셀데이터를 이진화하는 하프토닝을 수행하는 하프토너(Half toner)와, 스케일러 및 하프토너에 의해 스케일링되고 하프 토닝된 픽셀데이터를 메모리(1)에 기록하는 쓰기 DMA(Write DMA)를 포함하여 이루어진다.
따라서, 읽기 DMA(40)는 메모리(10)에 저장된 픽셀데이터를 버스를 통해 버스트(burst)로 읽어 와서 저장하고, 이를 스케일러(60) 및 하프토너(70) 등 화상 처리하고, 쓰기 DMA(50)는 그 결과를 저장하고 이것이 가득하면 버스를 통해 메모리(10)에 쓴다.
종래에는 화상처리를 라인(line)단위로 처리하기 때문에 화상(소스이미지) 한 줄을 읽어서 가로 방향에 대하여 화상처리하고, 세로 방향에 대해서 화상처리한다.
그래서 도 2처럼 가로 1:1, 세로 1:2 의 비율로 화상 처리를 한다면, 1번을 읽어서 화상처리한 후 1번의 위치에 쓰고, 2번을 읽어서 화상처리한 후 2번의 위치에 쓰고, 다시 3번을 읽어서 화상처리한 후 3번의 위치에 쓰는 식으로 한 줄 화상처리가 끝난 후 세로 방향으로는 1:2로 확대를 하므로, 다시 1번을 읽어서 화상처리한 후 1'에 쓰는 과정을 거친다.
화상처리시 스케일링만 하는 경우에는 첫 줄의 결과를 두 번째 줄에 그대로 복사하면 되지만, 스케일링 후 하프토닝까지 하는 경우 하프톤 테이블이 다르게 적용되므로, 1번을 읽어 와서 다시 하프토닝 해야만 한다. 이때, 화상 처리가 가로 방향으로 진행을 하기 때문에 처음 시작 어드레스만 정해주면, 그 이후부터는 어드레스를 8 버스트 사이즈(32byte)에 맞춰서 일정하게 증가하면 된다.
상기와 같은 방법으로 진행을 하게 되면, 이미 읽었던 1번에 대해 또 다시 버스를 통해 읽어 오는 과정을 거치게 되므로 반복의 작업을 하는 셈이 된다.
이는 라인 단위로 화상 처리하기 때문에 1번을 읽어온 후 2번, 3번에 대해 진행한다음에 1번 픽셀데이터가 필요한 경우 어쩔 수 없이 또 읽어오는 과정이 발생한다.
이런 식으로 매번 데이터 버스를 통하여 읽어오기 때문에 스케일링과 하프토닝을 함께 하는 화상처리의 경우, 데이터 버스에서 데이터 트래픽이 증가할 뿐만 아니라, 버스 요구에 따른 승인을 받는 시간이 소요됨으로써 데이터처리속도가 느려지게 된다. 이로 인해 전체적인 화상처리 속도 및 효율성이 떨어지는 문제점이 있다.
본 발명은 전술한 문제점을 해결하기 위한 것으로, 본 발명의 목적은 스케일링과 하프토닝을 함께 하는 화상처리의 경우에도 데이터 버스의 트래픽을 줄여 전체적인 화상처리 속도 및 효율성을 높일 수 있는 화상처리장치를 제공하는 것이다.
전술한 목적을 달성하기 위한 본 발명의 화상처리장치는 하나의 화상에 대응되는 픽셀데이터가 저장되는 메모리와, 상기 메모리를 직접 액세스하여 픽셀데이터를 읽어 들이는 읽기 DMA와, 상기 읽기 DMA에 의해 읽어 들인 픽셀데이터를 저장하는 버퍼와, 상기 버퍼에 저장된 픽셀데이터를 블록단위로 스케일링하는 스케일러와, 상기 스케일링된 픽셀데이터를 블록단위로 하프토닝하는 하프토너와, 상기 스케일러 및 하프토너에 의해 블록단위로 화상 처리된 픽셀데이터를 상기 메모리에 기록하는 쓰기 DMA를 포함하는 것을 특징으로 한다.
상기 버퍼는 상기 읽기 DMA보다 저장용량이 8배 이상인 것을 특징으로 한다.
상기 스케일러와 하프토너에 의해 화상 처리할 픽셀데이터의 어드레스를 계산하는 어드레스계산기를 포함하는 것을 특징으로 한다.
상기 어드레스계산기는 첫 번째 픽셀데이터의 어드레스를 기준으로 화상 처리할 픽셀데이터의 가로 및 세로비율에 맞게 해당 픽셀데이터의 어드레스를 계산하는 것을 특징으로 한다.
이하에서는 본 발명의 바람직한 실시예를 본 도면을 참조하여 상세하게 설명하도록 한다.
도 3은 본 발명의 실시예에 화상처리장치의 대략적인 제어블록도이다. 도 3 을 참조하면, 본 발명의 화상처리장치는 메모리(Memory)(10)와, 중앙처리부(CPU)(20)와, 사용자인터페이스(User Interface)(30)와, 읽기 DMA(Direct Memory Access)(Read DMA)(40)와, 버퍼(Buffer)(80)와, 어드레스계산기(ADDR Generator)(90)와, 스케일러(Scaler)(60)와, 하프토너(Half toner)(70)와, 쓰기 DMA(Write DMA)(50)를 포함하여 이루어진다.
메모리(10)는 하나의 화상에 대응되는 픽셀데이터를 저장하기 위한 것이다.
중앙처리부(20)는 사용자인터페이스(30)를 통해 입력된 사용자명령에 따라 메모리(1)에 저장된 각종 제어프로그램을 실행하여 화상처리장치의 동작을 제어하기 위한 것이다.
사용자인터페이스(30)는 화상처리장치의 동작을 제어하기 위한 사용자 명령을 입력받기 위한 것이다.
읽기 DMA(40)는 메모리(10)를 직접 액세스하여 픽셀데이터를 읽어 들이기 위한 것이다.
버퍼(80)는 읽기 DMA에 의해 읽어 온 픽셀데이터를 저장하기 위한 것이다.
어드레스계산기(90)는 픽셀데이터의 어드레스를 계산하기 위한 것이다. 어드레스계산기(90)는 스케일러와 하프토너에 의해 화상 처리할 픽셀데이터의 어드레스를 계산하며, 첫 번째 픽셀데이터의 어드레스를 기준으로 화상 처리할 픽셀데이터의 가로 및 세로비율에 맞게 해당 픽셀데이터의 어드레스를 계산한다.
스케일러(60)는 버퍼(80)에 저장된 픽셀데이터를 블록단위로 소정의 척도로 스케일링한다. 이때 스케일링하는 척도는 원 화면의 크기와 출력될 화면의 크기의 비율로서 정해진다. 스케일링하는 방법은 출력화면 픽셀데이터에 대한 통상적인 스케일링 방법과 동일하다.
하프토너(70)는 스케일러(60)에 의해 스케일링된 픽셀데이터를 블록단위로 하프토닝을 수행하기 위한 것이다. 해프토닝 방법은 통상적인 해프토닝 방법과 동일하여, 일예로, 각 픽셀데이터의 명도값이 8비트의 데이터로 표현되어 0 내지 255의 256 단계로 표현되는 경우 명도값이 소정값(예컨데, 150) 이상이면 당해 픽셀의 명도 데이터를 '1'로 변환시키고 소정값 이하이면 당해 픽셀의 명도 데이터를 '0'으로 변환시킨다. 이에 따라 각 픽셀의 명도값이 이진화되어 해프토닝이 완료된다. 해프토닝의 방법은 이러한 방법 외에도 다양한 방식이 채택될 수 있다.
쓰기 DMA(50)는 스케일러(60)와 하프토너(70)에 의해 스케일링되고 하프토닝된 픽셀데이터를 메모리(10)에 기록하기 위한 것이다.
상기한 구성을 갖는 화상처리장치의 동작을 살펴보면, 먼저, 중앙처리부(20)의 스케일링/하프토닝 명령에 따라 읽기 DMA(40)는 메모리(10)로부터 픽셀데이터를 읽어 들인다. 읽기 DMA(40)는 읽어 들인 픽셀데이터를 버퍼(80)에 저장시킨다. 버퍼(80)에 저장된 픽셀데이터는 스케일러(60)에 제공되며, 스케일러(60)는 이 픽셀데이터를 소정의 척도로 스케일링한다. 스케일러(60)는 스케일링 후 스케일링된 픽셀데이터를 하프토너(70)에 제공한다. 하프토너(70)는 이 스케일링된 픽셀데이터를 하프토닝한다. 하프토너(70)는 하프토닝된 픽셀데이터를 쓰기 DMA(50)에 제공한다. 쓰기 DMA(50)는 하프토닝된 픽셀데이터를 메모리(10)에 기록한다.
일예로, 도 4에 도시된 2X3 픽셀데이터로 구성된 화상을 가로 1:1, 세로 1:2 의 비율로 화상 처리한다면, 1번을 읽어서 스케일링 및 하프토닝하여 화상처리한 후 1번의 위치에 쓰고, 2번을 읽어서 화상 처리하고 쓰는 것이 아니라. 방금 읽은 1번을 다시 화상 처리하여 1'에 쓰는 것이다.
그리고는 다시 2번을 읽고 화상 처리하고 2에 쓰고 방금 읽은 2를 화상 처리하여 2'에 쓰는 방식이다.
세로가 1:n의 경우라면 n번만큼 각각 화상 처리한 후 n번을 화상처리된 화상에 쓰는 것이다.
이 때 1번에 쓸 때 쓰기 DMA(50)가 풀(full)이 되어서 버스트 단위로 나가면 속도가 빠르기 때문에 8 word burst라고 가정하면, 하프토닝 후 8bit → 1bit가 되는 현상이 발생하기 때문에 8 word의 결과를 가지기 위해서는 소스화상에서 그보다 8배 많은 데이터를 읽어 와야 한다.
화상 처리된 화상 첫 번째 줄을 진행 할 때는 기존과 동일하게 데이터 버스를 통해서 읽어온 데이터(8 word*8)를 화상 처리하여 쓰고(8 word), 두 번째 줄에 쓸 때는 앞서 읽어온 데이터가 저장되어 있는 버퍼(8 word*8)에서 바로 읽어서 처리하여 1'에 쓰는 것(8 word)이다.
쓸 때 각 라인이 끝(3,6)이 되는 경우는 데이터량이 8 word보다 적어 burst로 쓸 수 없는 경우도 생길 수 있으므로 이때는 싱글(single)로 진행한다.
여기서는 스케일링 및 하프토닝된 화상을 쓸 때 가로방향으로 쓰는 것이 아니라 블록단위로 진행을 하기 때문에 어드레스가 일정하게 증가하는 것이 아니다. 그래서 어드레스를 계산해줘야 하는 부분이 필요하다(1 → 1' → 2 → 2' → 3 → 3' → 4 → 4' ...).
어드레스의 계산은 어드레스계산기(90)를 이용하여 다음의 순서대로 진행된다.
1) 시작 주소(1)에서 시작하여 아래로 진행한다.
2) 1'의 위치는 1의 주소 + 수평폭(horizontal width)이다.
3) 수직비율(vertical ratio)이 1:2인 경우, 1, 1' 두 줄을 썼기 때문에 다시 2의 위치로 올라가야한다.
4) 2의 위치는 1의 주소 + 8 burst size(32byte)이다.
5) 2'의 위치는 1'의 주소 + 8 burst size(32byte)이다.
6) 수직비율이 1:2인 경우라 가정하였으므로.. 2,2' 두 줄을 썼기 때문에 다시 3의 위치로 올라가야한다.
7) 3의 위치는 1의 주소 + 8 burst size(32byte) *2 이다.
8) 3'의 위치는 1'의 주소 + 8 burst size(32byte) *2 이다.
9) 가로줄의 끝까지 왔으므로 4의 위치로 내려간다.
10) 4의 위치는 1의 주소 + 수평폭 * 수직비율이 된다.
이런 식으로 각 라인의 주소를 이용하여 매번 어드레스를 계산한다.
이상에서 상세히 설명한 바와 같이, 본 발명에 따르면, 메모리를 직접 액세스하여 픽셀데이터를 읽어 들이는 읽기 DMA에 의해 읽어 들인 픽셀데이터를 저장하는 버퍼를 마련하고, 스케일러와 하프토너에서 버퍼에 저장된 픽셀데이터를 제공받 아 화상처리할 픽셀데이터를 블록단위로 화상 처리한 후 쓰기 DMA를 통해 메모리에 기록함으로써 동일한 픽셀데이터에 대해서는 매번 데이터 버스를 통하여 읽어올 필요가 없어 데이터 버스를 점유하는 시간이 단축되므로 데이터 버스의 트래픽을 감소시킬 수 있다. 이로 인해, 전체적인 화상처리 속도 및 효율성을 높일 수 있는 효과가 있다.

Claims (4)

  1. 하나의 화상에 대응되는 픽셀데이터가 저장되는 메모리와,
    상기 메모리를 직접 액세스하여 픽셀데이터를 읽어 들이는 읽기 DMA와,
    상기 읽기 DMA에 의해 읽어 들인 픽셀데이터를 저장하는 버퍼와,
    상기 버퍼에 저장된 픽셀데이터를 블록단위로 스케일링하는 스케일러와,
    상기 스케일링된 픽셀데이터를 블록단위로 하프토닝하는 하프토너와,
    상기 스케일러 및 하프토너에 의해 블록단위로 화상 처리된 픽셀데이터를 상기 메모리에 기록하는 쓰기 DMA를 포함하는 것을 특징으로 하는 화상처리장치.
  2. 제1항에 있어서, 상기 버퍼는 상기 읽기 DMA보다 저장용량이 8배 이상인 것을 특징으로 하는 화상처리장치.
  3. 제1항에 있어서, 상기 스케일러와 하프토너에 의해 화상 처리할 픽셀데이터의 어드레스를 계산하는 어드레스계산기를 포함하는 것을 특징으로 하는 화상처리장치.
  4. 제3항에 있어서, 상기 어드레스계산기는 첫 번째 픽셀데이터의 어드레스를 기준으로 화상 처리할 픽셀데이터의 가로 및 세로비율에 맞게 해당 픽셀데이터의 어드레스를 계산하는 것을 특징으로 하는 화상처리장치.
KR1020070010663A 2007-02-01 2007-02-01 화상처리장치 KR20080072217A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070010663A KR20080072217A (ko) 2007-02-01 2007-02-01 화상처리장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070010663A KR20080072217A (ko) 2007-02-01 2007-02-01 화상처리장치

Publications (1)

Publication Number Publication Date
KR20080072217A true KR20080072217A (ko) 2008-08-06

Family

ID=39882582

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070010663A KR20080072217A (ko) 2007-02-01 2007-02-01 화상처리장치

Country Status (1)

Country Link
KR (1) KR20080072217A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10445851B2 (en) 2015-10-28 2019-10-15 Samsung Electronics Co., Ltd. Image processing apparatus and method
US10600145B2 (en) 2013-12-13 2020-03-24 Samsung Electronics Co., Ltd. Image processor, for scaling image data in two directions. Computing system comprising same, and related method of operation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10600145B2 (en) 2013-12-13 2020-03-24 Samsung Electronics Co., Ltd. Image processor, for scaling image data in two directions. Computing system comprising same, and related method of operation
US10445851B2 (en) 2015-10-28 2019-10-15 Samsung Electronics Co., Ltd. Image processing apparatus and method

Similar Documents

Publication Publication Date Title
CN108171662B (zh) 读取图像压缩数据的方法及包含该方法的反畸变方法
EP2804144A1 (en) Method and device for processing input image data
CN104699622A (zh) 数据储存装置以及其数据抹除方法
CN101212680B (zh) 图像数据的存储器存取方法及系统
KR20170113011A (ko) 슬라이스 업데이트 맵을 이용하는 장치 및 방법
JP2016091205A (ja) 画像処理装置、画像処理装置の制御方法およびプログラム
KR20080072217A (ko) 화상처리장치
JP4982354B2 (ja) 情報処理装置
US6560686B1 (en) Memory device with variable bank partition architecture
CN113608786B (zh) 一种向量读写方法、向量寄存器系统、设备及介质
US9544475B2 (en) Data transfer apparatus and data transfer method
CN106780291B (zh) 一种实时畸变图像处理加速装置
CN113658049A (zh) 一种图像转置的方法、设备和计算机可读存储介质
JP2008192038A (ja) 画像前処理装置
JP2007048090A (ja) シーケンシャルromインターフェース対応nand型フラッシュメモリーデバイス及びそのコントローラ
US20170330306A1 (en) Distorted image correcting apparatus and method
CN114359029B (zh) 图像处理方法及其装置、系统、存储介质
US8035740B2 (en) Image processing apparatus and method
JPWO2010086914A1 (ja) 映像信号処理装置、映像信号処理システム及び映像信号処理方法
KR950035285A (ko) 데이타 관리 장치
JP6373904B2 (ja) データ転送装置およびデータ転送方法
CN117692593A (zh) 基于像素行拼接的视频帧处理方法、装置、设备、介质
JP2889479B2 (ja) ヒストグラム構築回路
KR100683383B1 (ko) 내부 메모리를 줄인 디지털 방송 수신 시스템의 비디오디스플레이 프로세서
JP5213394B2 (ja) 画像転送装置

Legal Events

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