KR102317789B1 - 하나의 이미지로부터 다양한 해상도를 갖는 이미지들을 생성할 수 있는 스케일러 회로와 이를 포함하는 장치들 - Google Patents

하나의 이미지로부터 다양한 해상도를 갖는 이미지들을 생성할 수 있는 스케일러 회로와 이를 포함하는 장치들 Download PDF

Info

Publication number
KR102317789B1
KR102317789B1 KR1020150021800A KR20150021800A KR102317789B1 KR 102317789 B1 KR102317789 B1 KR 102317789B1 KR 1020150021800 A KR1020150021800 A KR 1020150021800A KR 20150021800 A KR20150021800 A KR 20150021800A KR 102317789 B1 KR102317789 B1 KR 102317789B1
Authority
KR
South Korea
Prior art keywords
scaler
pixels
image
line memory
vertical
Prior art date
Application number
KR1020150021800A
Other languages
English (en)
Other versions
KR20160099393A (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 KR1020150021800A priority Critical patent/KR102317789B1/ko
Priority to DE102016100469.3A priority patent/DE102016100469A1/de
Priority to TW105101250A priority patent/TWI707303B/zh
Priority to US15/007,674 priority patent/US9811873B2/en
Priority to CN201610084920.5A priority patent/CN105898157B/zh
Publication of KR20160099393A publication Critical patent/KR20160099393A/ko
Application granted granted Critical
Publication of KR102317789B1 publication Critical patent/KR102317789B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/2628Alteration of picture size, shape, position or orientation, e.g. zooming, rotation, rolling, perspective, translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4023Scaling of whole images or parts thereof, e.g. expanding or contracting based on decimating pixels or lines of pixels; based on inserting pixels or lines of pixels

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)

Abstract

스케일러 회로는 수직 스케일링 작동 후 수평 스케일링 작동을 수행하는 제1스케일러와, 수직 스케일링 작동 후 수평 스케일링 작동을 수행하는 제2스케일러와, 상기 제1스케일러와 상기 제2스케일러에 의해 공유되는 라인 메모리를 포함하고, 상기 제1스케일러와 상기 제2스케일러 각각은 상기 라인 메모리를 이용하여 하나의 이미지로부터 서로 다른 해상도를 갖는 제1이미지와 제2이미지 각각을 생성한다.

Description

하나의 이미지로부터 다양한 해상도를 갖는 이미지들을 생성할 수 있는 스케일러 회로와 이를 포함하는 장치들{SCALER CIRCUIT FOR GENERATING VARIOUS RESOLUTION IMAGES FROM SINGLE IMAGE AND DEVICES INCLUDING THE SAME}
본 발명의 개념에 따른 실시 예는 스케일러 회로에 관한 것으로, 특히 하나의 이미지로부터 스케일링 비율(scaling ratio)이 서로 다른 이미지들을 병렬적으로 생성할 수 있는 스케일러 회로와 이를 포함하는 장치들에 관한 것이다.
이미지 스케일러는 이미지 또는 이미지 데이터를 스케일-업(또는 업-스케일)하거나 스케일-다운(다운-스케일)할 수 있는 회로 또는 알고리즘을 수행할 수 있는 소프트웨어를 의미할 수 있다. 예컨대, 이미지 처리 애플리케이션(또는 애플리케이션 프로그램)은 프리프(preview), 녹화(recording), 캡처(capture), 및 썸네일 (thumbnail) 등과 같이 다양한 사용 용도에 따라 하나의 이미지를 복수의 이미지들로 리사이즈(resize)할 수 있다.
하나의 입력 이미지로부터 하나의 출력 이미지를 생성하는 이미지 스케일러를 이용하여 상기 하나의 입력 이미지로부터 리사이즈된 복수의 이미지들을 생성할 때, 상기 이미지 스케일러는 메모리에 저장된 동일한 이미지를 복수회 읽어서 리사이즈된 복수의 이미지들을 생성해야 한다.
정해진 시간 내에, 하나의 입력 이미지로부터 리사이즈된 복수의 이미지들을 생성하기 위해, 이미지 스케일러로 공급되는 클락 신호의 주파수는 높아져야 한다. 따라서, 높은 주파수를 갖는 클락 신호를 사용하는 이미지 스케일러에 의해, 상기 이미지 스케일러와 이를 포함하는 이미지 처리 시스템이 소모하는 전력은 증가한다.
본 발명이 이루고자 하는 기술적인 과제는 전력 소모를 줄이기 위해 하나의 이미지로부터 스케일링 비율이 서로 다른 이미지들을 병렬적으로 생성할 수 있는 스케일러 회로와 이를 포함하는 장치들을 제공하는 것이다.
본 발명의 실시 예에 따른 스케일러 회로는 수직 스케일링 작동 후 수평 스케일링 작동을 수행하는 제1스케일러와, 수직 스케일링 작동 후 수평 스케일링 작동을 수행하는 제2스케일러와, 상기 제1스케일러와 상기 제2스케일러에 의해 공유되는 라인 메모리를 포함하고, 상기 제1스케일러와 상기 제2스케일러 각각은 상기 라인 메모리를 이용하여 하나의 이미지로부터 서로 다른 해상도를 갖는 제1이미지와 제2이미지 각각을 생성한다.
상기 스케일러 회로는 상기 하나의 이미지에 포함된 픽셀들 각각의 위치 정보를 상기 제1스케일러와 상기 제2스케일러로 전송하는 라인 메모리 컨트롤러를 더 포함한다.
상기 제1스케일러는, 상기 픽셀들 각각의 상기 위치 정보를 이용하여, 상기 픽셀들 중에서 상기 라인 메모리에 저장될 상기 제1이미지와 관련된 제1픽셀들을 선택하고, 상기 제2스케일러는, 상기 픽셀들 각각의 상기 위치 정보를 이용하여, 상기 픽셀들 중에서 상기 라인 메모리에 저장될 상기 제2이미지와 관련된 제2픽셀들을 선택한다.
상기 제1스케일러는, 상기 픽셀들 각각의 상기 위치 정보를 이용하여, 상기 라인 메모리에 저장된 상기 제1픽셀들에 대한 제1리드 타이밍들을 결정하고, 상기 제2스케일러는, 상기 픽셀들 각각의 상기 위치 정보를 이용하여, 상기 라인 메모리에 저장된 상기 제2픽셀들에 대한 제2리드 타이밍들을 결정한다.
상기 라인 메모리 컨트롤러는 상기 제1스케일러의 제어에 따라, 상기 제1픽셀들을 상기 라인 메모리에 저장하고 상기 제1리드 타이밍들에 따라 상기 라인 메모리에 저장된 상기 제1픽셀들을 리드하고, 상기 제2스케일러의 제어에 따라, 상기 제2픽셀들을 상기 라인 메모리에 저장하고 상기 제2리드 타이밍들에 따라 상기 라인 메모리에 저장된 상기 제2픽셀들을 리드한다.
상기 제1스케일러는 상기 라인 메모리 컨트롤러로부터 전송된 상기 제1픽셀들을 수직으로 스케일하는 제1수직 스케일러와, 상기 제1수직 스케일러로부터 출력된 픽셀들을 수평으로 스케일하여 상기 제1이미지를 생성하는 제1수평 스케일러를 포함한다. 상기 제2스케일러는 상기 라인 메모리 컨트롤러로부터 전송된 상기 제2픽셀들을 수직으로 스케일하는 제2수직 스케일러와, 상기 제2수직 스케일러로부터 출력된 픽셀들을 수평으로 스케일하여 상기 제2이미지를 생성하는 제2수평 스케일러를 포함한다.
상기 스케일러 회로는 상기 제1스케일러에 의해 생성된 상기 제1이미지를 스케일-다운하는 제1포스트 스케일러와, 상기 제2스케일러에 의해 생성된 상기 제2이미지를 스케일-다운하는 제2포스트 스케일러를 더 포함한다.
상기 스케일러 회로는 상기 제1스케일러의 제어에 따라, 상기 픽셀들 중에서 상기 제1이미지에 관련된 제1픽셀들을 상기 라인 메모리에 저장하고 상기 라인 메모리에 저장된 상기 제1픽셀들을 리드하고, 상기 제2스케일러의 제어에 따라, 상기 픽셀들 중에서 상기 제2이미지에 관련된 제2픽셀들을 상기 라인 메모리에 저장하고 상기 라인 메모리에 저장된 상기 제2픽셀들을 리드하는 라인 메모리 컨트롤러를 더 포함한다.
상기 스케일러 회로는 FIFO 컨트롤러와, 상기 FIFO 컨트롤러 또는 상기 라인 메모리 컨트롤러에 의해 액세스되는 라인 버퍼와, 상기 FIFO 컨트롤러의 입력 이미지 또는 상기 FIFO 컨트롤러의 출력 이미지를 상기 하나의 이미지로서 제공하는 선택기를 더 포함한다.
상기 제1이미지와 상기 제2이미지가 스케일-다운된 이미지들이고 상기 하나의 이미지가 상기 FIFO 컨트롤러의 상기 출력 이미지일 때, 상기 제1스케일러와 상기 제2스케일러 각각은 상기 라인 메모리를 이용하여 상기 제1이미지와 상기 제2이미지 각각을 생성한다. 상기 제1이미지와 상기 제2이미지들이 스케일-업된 이미지들이고 상기 하나의 이미지가 상기 FIFO 컨트롤러의 상기 입력 이미지일 때, 상기 제1스케일러와 상기 제2스케일러 각각은 상기 라인 메모리와 상기 라인 버퍼를 이용하여 상기 제1이미지와 상기 제2이미지 각각을 생성한다.
본 발명의 실시 예에 따른 애플리케이션 프로세서는 버스와, 상기 버스에 접속된 스케일러 회로를 포함하고, 상기 스케일러 회로는 수직 스케일링 작동 후 수평 스케일링 작동을 수행하는 제1스케일러와, 수직 스케일링 작동 후 수평 스케일링 작동을 수행하는 제2스케일러와, 상기 제1스케일러와 상기 제2스케일러에 의해 공유되는 라인 메모리를 포함하고, 상기 제1스케일러와 상기 제2스케일러 각각은 상기 라인 메모리를 이용하여 하나의 이미지로부터 서로 다른 해상도를 갖는 제1이미지와 제2이미지 각각을 생성한다.
본 발명의 실시 예에 따른 모바일 컴퓨팅 장치는 이미지 센서와, 외부 메모리와, 상기 이미지 센서와 상기 외부 메모리에 접속된 애플리케이션 프로세서를 포함하고, 상기 애플리케이션 프로세서는 버스와, 상기 버스에 접속된 스케일러 회로를 포함한다. 상기 스케일러 회로는 수직 스케일링 작동 후 수평 스케일링 작동을 수행하는 제1스케일러와, 수직 스케일링 작동 후 수평 스케일링 작동을 수행하는 제2스케일러와, 상기 제1스케일러와 상기 제2스케일러에 의해 공유되는 라인 메모리를 포함하고, 상기 제1스케일러와 상기 제2스케일러 각각은 상기 라인 메모리를 이용하여 하나의 이미지로부터 서로 다른 해상도를 갖는 제1이미지와 제2이미지 각각을 생성한다.
상기 모바일 컴퓨팅 장치는 상기 하나의 이미지에 포함된 픽셀들 각각의 위치 정보를 상기 제1스케일러와 상기 제2스케일러로 전송하는 라인 메모리 컨트롤러를 더 포함하고, 상기 제1스케일러는, 상기 픽셀들 각각의 상기 위치 정보를 이용하여, 상기 픽셀들 중에서 상기 라인 메모리에 저장될 상기 제1이미지와 관련된 제1픽셀들을 선택하고, 상기 제2스케일러는, 상기 픽셀들 각각의 상기 위치 정보를 이용하여, 상기 픽셀들 중에서 상기 라인 메모리에 저장될 상기 제2이미지와 관련된 제2픽셀들을 선택한다.
본 발명의 실시 예에 따른 스케일러 회로와 이를 포함하는 장치들은 하나의 (single) 이미지로부터 스케일링이 서로 다른 이미지들, 서로 다른 해상도 (resolution)를 갖는 이미지들, 또는 리사이즈된(resized) 이미지들을 병렬적으로 생성할 수 있는 효과가 있다. 따라서, 상기 스케일러 회로와 이를 포함하는 장치들의 전력 소모는 감소할 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 데이터 처리 시스템의 블록도를 나타낸다.
도 2는 도 1에 도시된 스케일러 회로의 일 실시 예를 나타내는 블록도이다.
도 3은 도 2에 도시된 1-입력 멀티-출력 스케일러의 일 실시 예를 나타내는 블록도이다.
도 4는 도 3에 도시된 제1수직 스케일러의 블록도를 나타낸다.
도 5는 도 2에 도시된 1-입력 멀티-출력 스케일러의 다른 실시 예를 나타내는 블록도이다.
도 6은 원본 이미지에 포함된 서로 다른 영역들을 개념적으로 나타낸다.
도 7a부터 도 7c는 도 6에 도시된 원본 이미지에 포함된 제1영역과 제2영역을 처리하는 과정을 설명하기 위한 개념도이다.
도 8은 스케일-업과 스케일-다운을 개념적으로 나타낸다.
도 9는 도 1에 도시된 스케일러 회로의 다른 실시 예를 나타내는 블록도이다.
도 10은 도 9에 도시된 포스트 스케일러의 블록도를 나타낸다.
도 11은 도 1에 도시된 데이터 처리 시스템의 작동을 설명하기 위한 플로우차트이다.
도 12는 도 2에 도시된 스케일러 회로의 작동을 설명하기 위한 플로우차트이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1구성 요소는 제2구성 요소로 명명될 수 있고 유사하게 제2구성 요소는 제1구성 요소로도 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 나타낸다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
도 1은 본 발명의 실시 예에 따른 데이터 처리 시스템의 블록도를 나타낸다. 도 1을 참조하면, 데이터 처리 시스템(100)은 데이터 처리 장치(200), 이미지 센서 (300), 메모리(310), 디스플레이(320), 및 사용자 입력 장치(330)를 포함할 수 있다. 이미지 센서(300)와 메모리(310) 각각은 이미지 소스(image source)의 기능을 수행할 수 있다.
데이터 처리 시스템(100)은 PC(personal computer) 또는 모바일 컴퓨팅 장치로 구현될 수 있다. 상기 모바일 컴퓨팅 장치는 랩탑 컴퓨터(laptop computer), 이동 전화기, 스마트 폰(smart phone), 태블릿(tablet) PC, PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP(portable multimedia player), PND(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), 모바일 인터넷 장치(mobile internet device(MID)), 웨어러블 컴퓨터, 사물 인터넷(internet of things(IoT)) 장치, 만물 인터넷(internet of everything(IoE)) 장치, 드론(drone), 또는 e-북 (e-book)으로 구현될 수 있다.
데이터 처리 장치(200)는 CPU(210), 버스 구조(또는 버스; 203), 인터페이스 (220), 이미지 신호 프로세서(230), 스케일러 회로(240), 메모리 컨트롤러(250), 디스플레이 컨트롤러(260), 및 사용자 인터페이스(또는 사용자 입력 인터페이스; 270)를 포함할 수 있다.
데이터 처리 장치(200)는 집적 회로(IC), 마더보드, 시스템 온 칩(system on chip), 애플리케이션 프로세서(application processor(AP)), 또는 모바일 AP로 구현될 수 있으나 이에 한정되는 것은 아니다.
데이터 처리 장치(200)는 하나의(single) 입력 이미지로부터 스케일링 비율들이 서로 다른 이미지들, 서로 다른 해상도를 갖는 이미지들, 리사이즈된 이미지들을 동시에 또는 병렬적으로 스케일하고, 스케일된 이미지들을 생성할 수 있다.
CPU(210)는 데이터 처리 장치(200)의 작동을 전반적으로 제어할 수 있다.
CPU(210)는, 사용자 인터페이스(270)로부터 전송된 스케일-업 신호, 스케일-다운 신호, 또는 회전을 지시하는 검출 신호에 응답하여, 이미지 신호 프로세서 (230)의 작동, 스케일러 회로(240), 및/또는 메모리 컨트롤러(250)의 작동을 제어할 수 있다. 예컨대, 스케일러 회로(240)는 이미지 신호 프로세서(230)의 내부에 구현될 수 있다.
CPU(210), 인터페이스(220), 이미지 신호 프로세서(230), 스케일러 회로 (240), 메모리 컨트롤러(250), 디스플레이 컨트롤러(260), 및 사용자 인터페이스 (270)는 버스 구조(203)를 통해 명령 및/또는 데이터를 주거나 받을 수 있다.
버스 구조(203)는 AMBA(Advanced Microcontroller Bus Architecture) 프로토콜을 사용하는 버스, AHB(Advanced High-performance Bus) 프로토콜을 사용하는 버스, APB(Advanced Peripheral Bus) 프로토콜을 사용하는 버스, 또는 AXI(AMBA Extensible Interconnect) 프로토콜을 사용하는 버스로 구현될 수 있으나 버스 구조(203)가 이에 한정되는 것은 아니다.
도 1에 도시된 버스 구조(203)는 예시적으로 도시된 것으로서, 본 발명의 실시 예에 따른 버스 구조(203)가 이에 한정되는 것은 아니다.
인터페이스(220)는 이미지 센서(300)로부터 출력된 픽셀들, 예컨대 베이어 (Bayer) 패턴을 갖는 픽셀을 수신하고, 수신된 픽셀들을 이미지 신호 프로세서 (230)로 전송할 수 있다. 예컨대, 픽셀은 RGB 데이터를 의미할 수 있다.
이미지 센서(300)가 카메라 모듈로 구현될 때, 인터페이스(220)는 카메라 인터페이스로 구현될 수 있다. 실시 예에 따라, 이미지 센서(300)는 CMOS 이미지 센서로 구현될 수 있으나 이에 한정되는 것은 아니다. 실시 예에 따라, 이미지 센서 (300)에 의해 생성된 픽셀들은 MIPI® 카메라 시리얼 인터페이스(Mobile Industry Processor Interface camera serial interface(CSI))를 통해 인터페이스(220)로 전송될 수 있다.
이미지 신호 프로세서(230)는 이미지 센서(300)로부터 출력된 픽셀들의 제1데이터 포맷을 제2데이터 포맷으로 변환할 수 있다.
예컨대, 제1데이터 포맷은 베이어 패턴(또는 RGB 데이터)을 의미할 수 있고, 제2데이터 포맷은 YUV 데이터(또는 YCbCr)를 의미할 수 있으나 이에 한정되는 것은 아니다.
스케일러 회로(240)에 의해 처리될 이미지(또는 이미지 데이터)에 포함된 픽셀들이 스케일-업(또는 업-샘플링(up-sampling))될 때, 이미지 신호 프로세서(230)는, CPU(210)의 제어에 따라, 인터페이스(220)로부터 출력된 픽셀들을 버스 구조 (203)를 통해 메모리 컨트롤러(250)로 전송할 수 있다.
이때, 메모리 컨트롤러(250)는 이미지 신호 프로세서(230)로부터 출력된 픽셀들, 예컨대 이미지를 메모리(310)에 저장할 수 있다. 그리고, 메모리(310)에 저장된 픽셀들, 예컨대 이미지는 버스 구조(203)를 통해 스케일러 회로(240)로 전송될 수 있다.
이때, 메모리(310)에 저장된 이미지는 한 번만 리드 된다. 스케일러 회로 (240)는, 한 번만 리드된 이미지를 이용하여, 스케일링 비율들이 서로 다른 이미지들, 서로 다른 해상도를 갖는 이미지들, 리사이즈된 이미지들을 동시에 또는 병렬적으로 스케일하고, 스케일된 이미지들을 생성할 수 있다. 예컨대, 프레임 데이터 (frame data)는 상기 픽셀들을 포함할 수 있다.
예컨대, 스케일러 회로(240)에 의해 처리될 이미지에 포함된 픽셀들이 스케일-업될 때, 스케일러 회로(240)는 스톨(stall) 지시 신호를 생성하고, 생성된 스톨 지시 신호를 이미지 신호 프로세서(230)로 전송할 수 있다. 따라서, 이미지 신호 프로세서(230)는, 상기 스톨 지시 신호에 응답하여, 스케일러 회로(240)로 전송되는 픽셀들을 스톨하거나 버스 구조(203)를 통해 메모리 컨트롤러(250)로 전송할 수 있다.
그러나, 스케일러 회로(240)에 의해 처리될 이미지(또는 이미지 데이터)에 포함된 픽셀들이 스케일-다운될 때, 이미지 신호 프로세서(230)는, CPU(210)의 제어에 따라, 인터페이스(220)로부터 출력된 픽셀들을 스케일러 회로(240)로 전송할 수 있다. 이때, 스케일러 회로(240)는 이미지 센서(300)로부터 출력된 픽셀들을 실시간(on-the-fly)으로 스케일할 수 있다.
사용자가 사용자 입력 장치(330)를 통해 해당 이미지를 스케일-업하거나 스케일-다운하면, 사용자 인터페이스(270)는 사용자 입력 장치(330)를 통해 입력된 사용자 입력을 검출하고, 검출 신호를 버스 구조(203)를 통해 CPU(210)로 전송할 수 있다. 예컨대, 스케일 작동은 프레임 단위로 수행될 수 있다.
예컨대, 도 8의 (a)에 도시된 바와 같이, 사용자가 디스플레이(320)에서 디스플레이되는 원본 이미지(OIM)에 포함된 제1이미지 영역(SRC)을 제2이미지 영역 (SUI)으로 스케일-업 또는 확대하면, 사용자 입력 장치(330)는 상기 스케일-업 또는 상기 확대를 감지하고, 감지 결과에 상응하는 신호를 사용자 인터페이스(270)로 전송할 수 있다. 이때, 사용자 인터페이스(270)는 상기 신호에 응답하여 스케일-업을 지시하는 검출 신호를 버스 구조(203)를 통해 CPU(210)로 전송할 수 있다.
도 8의 (b)에 도시된 바와 같이, 사용자가 디스플레이(320)에서 디스플레이되는 원본 이미지(OIM)에 포함된 제3이미지 영역(SRC)을 제4이미지 영역(SDI)으로 스케일-다운 또는 축소하면, 사용자 입력 장치(330)는 상기 스케일-다운 또는 상기 축소를 감지하고, 감지 결과에 상응하는 신호를 사용자 인터페이스(270)로 전송할 수 있다. 이때, 사용자 인터페이스(270)는 상기 신호에 응답하여 스케일-다운을 지시하는 검출 신호를 버스 구조(203)를 통해 CPU(210)로 전송할 수 있다.
CPU(210)는, 사용자 인터페이스(270)로부터 출력된 검출 신호에 응답하여, 스케일-업 또는 스케일-다운을 지시하는 선택 신호를 생성하고, 상기 선택 신호를 버스 구조(203)를 통해 이미지 신호 프로세서(230), 스케일러 회로(240), 및/또는 메모리 컨트롤러(250)로 전송할 수 있다.
스케일러 회로(240)는, CPU(210)의 제어에 따라, 이미지 신호 프로세서(230)로부터 전송된 이미지(또는 상기 이미지에 포함된 픽셀들(OTFI)) 또는 버스 구조 (203)를 통해 메모리(310)로부터 출력된 이미지(또는 픽셀들)에 대한 스케일 작동을 수행할 수 있다.
메모리 인터페이스로도 불릴 수 있는 메모리 컨트롤러(250)는, CPU(210)의 제어에 따라, 이미지 신호 프로세서(230)로부터 출력된 이미지(또는 픽셀들)를 메모리(310)에 저장하거나 메모리(310)에 저장된 이미지(또는 픽셀들)를 버스 구조 (203)를 통해 스케일러 회로(240)로 전송할 수 있다. 본 명세서에서 이미지는 이미지 데이터를 의미할 수 있고, 픽셀은 픽셀 데이터를 의미할 수 있다.
디스플레이 컨트롤러(260)는, CPU(210)의 제어에 따라, 버스 구조(203)를 통해 전송된 데이터(예컨대, 픽셀들, 스케일-업된 픽셀들, 또는 스케일-다운된 픽셀들)을 디스플레이(320)로 전송할 수 있다.
실시 예에 따라, 디스플레이 컨트롤러(260)는, MIPI® 디스플레이 시리얼 인터페이스(display serial interface(DSI))를 통해, 버스 구조(203)로부터 전송된 데이터를 디스플레이(320)로 전송할 수 있다.
실시 예에 따라, 디스플레이 컨트롤러(260)와 디스플레이(320) 사이의 인터페이스는 eDP(embedded DisplayPort) 프로토콜을 지원하는 인터페이스 또는 HDMI (High-Definition Multimedia Interface)로 구현될 수 있으나 이에 한정되는 것은 아니다.
사용자 인터페이스(270)는 사용자 입력 장치(330)를 통해 입력된 사용자 입력을 감지하고, 감지 결과에 상응하는 검출 신호를 버스 구조(203)를 통해 CPU (210)로 전송할 수 있다.
메모리(310)는 휘발성 메모리 및/또는 불휘발성 메모리로 구현될 수 있다. 휘발성 메모리는 RAM(random access memory), DRAM(dynamic RAM), 또는 SRAM (static RAM)으로 구현될 수 있다. 불휘발성 메모리는 플래시-기반 메모리, 상변환 RAM(phase change RAM(PRAM)), 저항 RAM(resistive RAM(RRAM), 또는 STT-MRAM (spin-transfer torque random-access memory )으로 구현될 수 있으나 이에 한정되는 것은 아니다.
비록, 도 1에 하나의 메모리 컨트롤러(250)와 하나의 메모리(310)가 도시되어 있으나, 실시 예들에 따라, 데이터 처리 시스템(100)은 복수의 메모리 컨트롤러들과 상기 복수의 메모리 컨트롤러들에 대응되는 복수의 메모리들을 포함할 수 있다.
이때, 상기 복수의 메모리들은 서로 다른 종류의 메모리들일 수 있다. 예컨대, 복수의 메모리들이 DRAM과 플래시-기반 메모리를 포함할 때, 복수의 메모리 컨트롤러들은 DRAM 컨트롤러와 플래시-기반 메모리 컨트롤러를 포함할 수 있다.
디스플레이(320)는 평판 디스플레이(flat panel display)로 구현될 수 있다. 상기 평판 디스플레이는 TFT-LCD(thin film transistor-liquid crystal display), LED(light emitting diode) 디스플레이, OLED(organic LED) 디스플레이, AMOLED(active-matrix OLED) 디스플레이, 또는 플렉시블(flexible) 디스플레이, 양면 디스플레이, 또는 투명 디스플레이로 구현될 수 있다.
사용자 입력 장치(330)는 터치 스크린, 터치 스크린 패널, 또는 터치 스크린 컨트롤러로 구현될 수 있다. 사용자 입력 장치(330)는 사용자가 스타일러스 펜 (stylus pen) 또는 적어도 하나의 손가락을 이용하여 디스플레이(320)를 터치함에 따라 발생한 터치 제스처를 통해 감지할 수 있는 전자적 시각적 디스플레이를 의미할 수 있다.
따라서, 디스플레이(320)와 사용자 입력 장치(330)는 하나의 모듈로 구현될 수 있다. 사용자는 디스플레이(320)에서 디스플레이되는 이미지 또는 텍스트를 줌 (zooming)하기 위해 디스플레이(320) 및/또는 사용자 입력 장치(330)를 사용할 수 있다. 예컨대, 도 8의 (a)는 줌-인(zoom-in)의 의미할 수 있고, 도 8의 (b)는 줌-아웃(zoom-out)의 의미할 수 있다.
도 2는 도 1에 도시된 스케일러 회로의 일 실시 예를 나타내는 블록도이다.
도 1과 도 2를 참조하면, 스케일러 회로(240)는 선택기(401), 리드 직접 메모리 액세스(direct memory access(DMA)) 컨트롤러(403), 복수의 라이트 DMA 컨트롤러들(405-1~405-n; n은 3 이상의 자연수), 및 1-입력 멀티-출력 스케일러(410)를 포함할 수 있다.
도 2에서는, 버스 구조(203), 이미지 신호 프로세서(230), 스케일러 회로 (240), 메모리 컨트롤러(250), 및 메모리(310)가 함께 도시된다.
스케일-다운 작동시, 이미지 신호 프로세서(230)에 의해 처리된 이미지(또는 상기 이미지에 포함된 픽셀들(OTFI))은 제1경로(PATH1)와 선택기(401)를 통해 스케일러 회로(240)로 실시간(on-the-fly)으로 전송될 수 있다.
선택기(401)는, 스케일-다운 작동시 CPU(210)에 의해 생성된 선택 신호(SEL)에 응답하여, 이미지 신호 프로세서(230)에 의해 처리된 픽셀들(OTFI)을 1-입력 멀티-출력 스케일러(410)로 전송할 수 있다.
그러나, 스케일-업 작동시, 이미지 신호 프로세서(230)에 의해 처리된 이미지(또는 상기 이미지에 포함된 픽셀들(DMI))은 제2경로(PATH2)를 통해 스케일러 회로(240)로 전송될 수 있다. 이때, 제2경로(PATH2)는 버스 구조(203), 메모리 컨트롤러(250), 메모리(310), 리드 DMA 컨트롤러(403), 및 선택기(401)를 포함할 수 있다. 예컨대, 픽셀들(OTFI)과 픽셀들(DMI)은 동일한 픽셀들일 수 있다.
스케일-업 작동시, 이미지 신호 프로세서(230)는, CPU(210)의 제어에 따라, 픽셀들(DMI)을 버스 구조(203)를 통해 메모리 컨트롤러(250)로 전송할 수 있다. 메모리 컨트롤러(250)는, CPU(210)의 제어에 따라, 픽셀들(DMI)을 메모리(310)에 저장할 수 있다. 리드 DMA 컨트롤러(403)는, CPU(210)의 제어에 따라, 메모리(310)에 저장된 픽셀들(DIM)을 리드(read) 또는 페치(fetch)하고, 리드된 픽셀들(DIM)을 선택기(401)로 전송할 수 있다.
선택기(401)는, 스케일-업 작동시 CPU(210)에 의해 생성된 선택 신호(SEL)에 응답하여, 리드 DMA 컨트롤러(403)로부터 출력된 픽셀들(DIM)을 1-입력 멀티-출력 스케일러(410)로 전송할 수 있다. 선택기(401)의 제1입력 단자는 제1경로(PATH1)에 접속될 수 있고, 선택기(401)의 제2입력 단자는 제2경로(PATH2)에 접속될 수 있다.
예컨대, 스케일-다운 작동시 CPU(210)는 제1레벨(예컨대, 로우 레벨 또는 로직 0)을 갖는 선택 신호(SEL)을 생성할 수 있고, 스케일-업 작동시 CPU(210)는 제2레벨(예컨대, 하이 레벨 또는 로직 1)을 갖는 선택 신호(SEL)를 생성할 수 있다. 선택 신호(SEL)는 CPU(210)에 의해 생성될 수 있다.
1-입력 멀티-출력 스케일러(410)는 선택기(401)로부터 순차적으로 출력되는 픽셀들(IM)을 수신하고, 각각이 서로 다른 스케일링 비율로 스케일된 픽셀들 (HS1~HSn)을 동시에 또는 병렬적으로 출력할 수 있다. 즉, 1-입력 멀티-출력 스케일러(410)는 하나의 이미지(IM)로부터 리사이즈된(resized) 복수의 이미지들 (HS1~HSn)을 동시에 또는 병렬적으로 생성할 수 있다.
제1라이트 DMA 컨트롤러(405-1)는, CPU(210)의 제어에 따라, 제1스케일링 비율로 스케일된 픽셀들(HS1)을 버스 구조(203)를 통해 메모리 컨트롤러(250) 및/또는 디스플레이 컨트롤러(260)로 전송할 수 있다.
제1라이트 DMA 컨트롤러(405-1)의 작동과 동시에 또는 병렬적으로, 제2라이트 DMA 컨트롤러(405-2)는, CPU(210)의 제어에 따라, 제2스케일링 비율로 스케일된 픽셀들(HS2)을 버스 구조(203)를 통해 메모리 컨트롤러(250) 및/또는 디스플레이 컨트롤러(260)로 전송할 수 있다.
제2라이트 DMA 컨트롤러(405-2)의 작동과 동시에 또는 병렬적으로, 제n라이트 DMA 컨트롤러(405-n)는, CPU(210)의 제어에 따라, 제n스케일링 비율로 스케일된 픽셀들(HSn)을 버스 구조(203)를 통해 메모리 컨트롤러(250) 및/또는 디스플레이 컨트롤러(260)로 전송할 수 있다.
예컨대, 메모리 컨트롤러(250)는 픽셀들(HS1, HS2, 및/또는 HSn)을 메모리 (310)에 라이트할 수 있다.
이미지 신호 프로세서(230)는, 1-입력 멀티-출력 스케일러(410)로부터 출력된 스톨 지시 신호(STALL)에 응답하여, 픽셀들(OTFI)의 전송을 중지하거나 지연시킬 수 있다. 예컨대, 스케일-업 작동시에, 1-입력 멀티-출력 스케일러(410)는 제2레벨을 갖는 스톨 지시 신호(STALL)를 생성할 수 있다. 따라서, 이미지 신호 프로세서(230)는, 제2레벨을 갖는 스톨 지시 신호(STALL)에 응답하여, 픽셀들(OTFI)의 전송을 중지하거나 지연시킬 수 있다.
도 3은 도 2에 도시된 1-입력 멀티-출력 스케일러의 일 실시 예를 나타내는 블록도이다.
도 3을 참조하면, 1-입력 멀티-출력 스케일러(410A)는 스케일러 코어(410-1)과 라인 메모리(430)를 포함할 수 있다. 비록, 도 3에는 1-입력 멀티-출력 스케일러(410A)가 라인 메모리(430)를 포함하는 실시 예가 도시되어 있으나, 라인 메모리(430)는 1-입력 멀티-출력 스케일러(410A)의 외부에 배치될 수 있다. 라인 메모리(430)는 적어도 하나의 라인에 해당하는 라인 데이터를 저장할 수 있는 라인 버퍼로 구현될 수 있다.
스케일러 코어(410-1)는 스케일 작동을 수행할 수 있는 회로들 또는 로직 회로들을 포함할 수 있다.
스케일러 코어(410-1)는 라인 메모리 컨트롤러(420), 라이트 요청 신호 생성기(431), 리드 요청 신호 생성기(433), 스톨 지시 신호 생성기(435), 및 복수의 스케일러들(440-1~440-n)을 포함할 수 있다. 복수의 스케일러들(440-1~440-n) 각각은 수직 스케일링 작동 후 수평 스케일링 작동을 수행할 수 있다.
도 2와 도 3을 참조하면, 라인 메모리 컨트롤러(420)는 제1경로(PATH1)와 제2경로(PATH2) 중에서 어느 하나를 통해 순차적으로 입력되는 픽셀들(IM)을 수신하고, 수신된 픽셀들(IM) 중에서 서로 다른 각 시점에 입력된 현재 픽셀의 위치 정보 (CPI)를 복수의 스케일러들(440-1~440-n) 각각으로 전송할 수 있다.
라인 메모리 컨트롤러(420)는, 라이트 요청 신호 생성기(431)로부터 출력된 라이트 요청 신호(WR)에 응답하여, 픽셀들(IM) 중에서 제1픽셀들을 라인 메모리 (430)에 라이트할 수 있다. 예컨대, 라인 메모리 컨트롤러(420)는, 라이트 요청 신호(WR)가 제2레벨을 유지하는 동안, 픽셀들(IM) 중에서 제1픽셀들을 라인 메모리 (430)에 라이트할 수 있다.
또한, 라인 메모리 컨트롤러(420)는, 리드 요청 신호 생성기(433)로부터 출력된 리드 요청 신호(RR)에 응답하여, 라인 메모리(430)에 저장된 제2픽셀들을 리드하고, 리드된 제2픽셀들을 이미지 데이터(DATA)로서 복수의 스케일러들(440-1~440-n) 각각으로 전송할 수 있다.
라인 메모리 컨트롤러(420)는 스톨 지시 신호 생성기(435)로부터 출력된 스톨 지시 신호(STALL)를 이미지 신호 프로세서(230)로 전송할 수 있다.
즉, 본 발명의 실시 예에 따른 라인 메모리 컨트롤러(420)는, 픽셀들(IM) 모두를 라인 메모리(430)에 저장하는 것이 아니라, 라이트 요청 신호(WR)에 해당하는 픽셀들만을 선택적으로 저장할 수 있다.
라인 메모리 컨트롤러(420)는 위치 정보 계산기(421), 라이트 제어 회로 (423), 리드 제어 회로(425), 및 스톨 제어 회로(427)를 포함할 수 있다.
위치 정보 계산기(421)는 픽셀들(IM) 각각에 대한 위치 정보(CPI)를 생성할 수 있다. 실시 예에 따라, 위치 정보 계산기(421)는 픽셀들(IM) 중에서 현재 픽셀의 좌표를 계산하고, 계산 결과에 상응하는 위치 정보(CPI)를 복수의 스케일러들 (440-1~440-n) 각각으로 전송할 수 있다. 현재 픽셀은 픽셀들(IM) 중에서 특정 시점에 입력된 픽셀을 의미할 수 있다.
라이트 제어 회로(423)는, 라이트 요청 신호(WR)에 응답하여, 픽셀들(IM) 중에서 복수의 스케일러들(440-1~440-n) 각각에서 처리될 제1픽셀들을 라인 메모리 (430)에 저장할 수 있다.
리드 제어 회로(425)는, 리드 요청 신호(RR)에 응답하여, 라인 메모리(430)에 저장된 픽셀들 중에서 복수의 스케일러들(440-1~440-n) 각각에서 처리될 제2픽셀들을 리드하고 리드된 제2픽셀들을 복수의 스케일러들(440-1~440-n) 각각으로 전송할 수 있다.
스톨 제어 회로(427)는 스톨 지시 신호(STALL)를 이미지 처리 프로세서(230)로 전송하는 것을 제어할 수 있다.
라인 메모리(430)는, 라인 메모리 컨트롤러(420)의 제어에 따라, 픽셀들(IM) 중에서 복수의 스케일러들(440-1~440-n) 각각에서 처리될 제1픽셀들을 저장하거나 라인 메모리(430)에 저장된 픽셀들 중에서 복수의 스케일러들(440-1~440-n) 각각에서 처리될 제2픽셀들을 리드할 수 있다.
실시 예에 따라, 라인 메모리(430)는 RAM, DRAM, 또는 SRAM으로 구현될 수 있으나 이에 한정되는 것은 아니다. 라인 메모리(430)는 복수의 스케일러들(440-1~440-n)에 의해 공유될 수 있다. 예컨대, 라인 메모리(430)는 복수의 수직 스케일러들(441-1~441-n)에 의해 공유될 수 있다.
라이트 요청 신호 생성기(431)는, 각 스케일러(440-1~440-n)로부터 출력된 각 라이트 요청 신호(WR1~WRn)에 기초하여, 라이트 요청 신호(WR)를 생성할 수 있다. 예컨대, 라이트 요청 신호 생성기(431)는 OR 게이트로 구현될 수 있으나 이에 한정되는 것은 아니다.
리드 요청 신호 생성기(433)는, 각 스케일러(440-1~440-n)로부터 출력된 각 리드 요청 신호(RR1~RRn)에 기초하여, 리드 요청 신호(RR)를 생성할 수 있다. 예컨대, 리드 요청 신호 생성기(433)는 OR 게이트로 구현될 수 있으나 이에 한정되는 것은 아니다.
스톨 지시 신호 생성기(435)는, 각 스케일러(440-1~440-n)로부터 출력된 각 스톨 지시 신호(ST1~STn)에 기초하여, 스톨 지시 신호(STALL)를 생성할 수 있다. 예컨대, 스톨 지시 신호 생성기(435)는 OR 게이트로 구현될 수 있으나 이에 한정되는 것은 아니다.
제1스케일러(440-1)는, 제1스케일링 비율에 따라, 원본 이미지에 포함된 제1영역에 포함된 픽셀들을 스케일하고, 스케일된 픽셀들(HS1)을 생성할 수 있다.
제1스케일러(440-1)는 제1수직 스케일러(441-1)와 제1수평 스케일러(445-1)를 포함할 수 있다. 제1수직 스케일러(441-1)는 제1영역에 포함된 픽셀들을 제1수직 스케일링 비율에 따라 수직으로 스케일하고, 수직으로 스케일된 픽셀들 (vertically scaled pixels; VS1)을 출력할 수 있다. 제1수평 스케일러(445-1)는 제1수직 스케일러(441-1)로부터 출력된 수직으로 스케일된 픽셀들(VS1)을 제1수평 스케일링 비율에 따라 수평으로 스케일하고, 수평으로 스케일된 픽셀들 (horizontally scaled pixels; HS1)을 출력할 수 있다.
제1스케일링 비율은 제1수직 스케일링 비율과 제1수평 스케일링 비율에 따라 결정될 수 있다. 예컨대, 상기 제1수직 스케일링 비율과 상기 제1수평 스케일링 비율 각각은 스케일-업 또는 스케일-다운을 위한 비율일 수 있다.
제1수평 스케일러(445-1)가 제1수직 스케일러(441-1)로부터 출력된 수직으로 스케일된 픽셀들(VS1)을 스케일-업할 때, 제1수평 스케일러(445-1)는 제1스톨 지시 신호(ST1)를 제1수직 스케일러(441-1)로 출력할 수 있다. 이때, 제1수직 스케일러 (441-1)는, 제1스톨 지시 신호(ST1)에 응답하여, 제1수평 스케일러(445-1)로 전송되는 수직으로 스케일된 픽셀들(VS1)의 전송을 중지 또는 지연시킬 수 있다. 또한, 제1수직 스케일러(441-1)는, 제1수평 스케일러(445-1)로부터 출력된 제1스톨 지시 신호(ST1)에 응답하여, 제1스톨 지시 신호(ST1)를 스톨 지시 신호 생성기(435)로 전송할 수 있다.
라인 메모리 컨트롤러(420)의 스톨 제어 회로(427)는 스톨 지시 신호(STALL)를 이미지 처리 프로세서(230)로 출력할 수 있다. 따라서, 이미지 처리 프로세서 (230)는, 스톨 지시 신호(STALL)에 응답하여, 스케일러 회로(240)로 전송되는 픽셀들(OTFI)의 전송을 중지 또는 지연시킬 수 있다.
제1수직 스케일러(441-1)가 라인 메모리 컨트롤러(420)로부터 출력된 제1영역에 포함된 픽셀들에 상응하는 이미지 데이터(DATA)를 스케일-업할 때, 제1수직 스케일러(441-1)는 제1스톨 지시 신호(ST1)를 스톨 지시 신호 생성기(435)로 전송할 수 있다. 따라서, 라인 메모리 컨트롤러(420)의 스톨 제어 회로(427)는 스톨 지시 신호(STALL)를 이미지 처리 프로세서(230)로 출력할 수 있다. 따라서, 이미지 처리 프로세서(230)는, 스톨 지시 신호(STALL)에 응답하여, 스케일러 회로(240)로 전송되는 픽셀들(OTFI)의 전송을 중지 또는 지연시킬 수 있다.
상술한 바와 같이, 제1수직 스케일러(441-1)와 제1수평 스케일러(445-1) 중에서 적어도 하나가 스케일-업 작동을 수행할 때, 스톨 지시 신호 생성기(435)는 스톨 지시 신호(STALL)를 생성할 수 있다.
제1스케일러(440-1)의 작동과 동시에 또는 병렬적으로, 제2스케일러(440-2)는, 제2스케일링 비율에 따라, 원본 이미지에 포함된 제2영역에 포함된 픽셀들을 스케일하고, 스케일된 픽셀들(HS2)을 생성할 수 있다.
제2스케일러(440-2)는 제2수직 스케일러(441-2)와 제2수평 스케일러(445-2)를 포함할 수 있다. 제2수직 스케일러(441-2)는 제2영역에 포함된 픽셀들을 제2수직 스케일링 비율에 따라 수직으로 스케일하고, 수직으로 스케일된 픽셀들(VS2)을 출력할 수 있다. 제2수평 스케일러(445-2)는 제2수직 스케일러(441-2)로부터 출력된 수직으로 스케일된 픽셀들(VS2)을 제2수평 스케일링 비율에 따라 수평으로 스케일하고, 수평으로 스케일된 픽셀들(HS2)을 출력할 수 있다.
제2스케일링 비율은 제2수직 스케일링 비율과 제2수평 스케일링 비율에 따라 결정될 수 있다. 예컨대, 상기 제2수직 스케일링 비율과 상기 제2수평 스케일링 비율 각각은 스케일-업 또는 스케일-다운을 위한 비율일 수 있다.
제2수평 스케일러(445-2)가 제2수직 스케일러(441-2)로부터 출력된 수직으로 스케일된 픽셀들(VS2)을 스케일-업할 때, 제2수평 스케일러(445-2)는 제2스톨 지시 신호(ST2)를 제2수직 스케일러(441-2)로 출력할 수 있다. 이때, 제2수직 스케일러 (441-2)는, 제2스톨 지시 신호(ST2)에 응답하여, 제2수평 스케일러(445-2)로 전송되는 수직으로 스케일된 픽셀들(VS2)의 전송을 중지 또는 지연시킬 수 있다. 또한, 제2수직 스케일러(441-2)는, 제2수평 스케일러(445-2)로부터 출력된 제2스톨 지시 신호(ST2)에 응답하여, 제2스톨 지시 신호(ST2)를 스톨 지시 신호 생성기(435)로 전송할 수 있다.
라인 메모리 컨트롤러(420)의 스톨 제어 회로(427)는 스톨 지시 신호(STALL)를 이미지 처리 프로세서(230)로 출력할 수 있다. 따라서, 이미지 처리 프로세서 (230)는, 스톨 지시 신호(STALL)에 응답하여, 스케일러 회로(240)로 전송되는 픽셀들(OTFI)의 전송을 중지 또는 지연시킬 수 있다.
제2수직 스케일러(441-2)가 라인 메모리 컨트롤러(420)로부터 출력된 제2영역에 포함된 픽셀들에 상응하는 이미지 데이터(DATA)를 스케일-업할 때, 제2수직 스케일러(441-2)는 제2스톨 지시 신호(ST2)를 스톨 지시 신호 생성기(435)로 전송할 수 있다. 따라서, 라인 메모리 컨트롤러(420)의 스톨 제어 회로(427)는 스톨 지시 신호(STALL)를 이미지 처리 프로세서(230)로 출력할 수 있다. 따라서, 이미지 처리 프로세서(230)는, 스톨 지시 신호(STALL)에 응답하여, 스케일러 회로(240)로 전송되는 픽셀들(OTFI)의 전송을 중지 또는 지연시킬 수 있다.
상술한 바와 같이, 제2수직 스케일러(441-2)와 제2수평 스케일러(445-2) 중에서 적어도 하나가 스케일-업 작동을 수행할 때, 스톨 지시 신호 생성기(435)는 스톨 지시 신호(STALL)를 생성할 수 있다.
제2스케일러(440-2)의 작동과 동시에 또는 병렬적으로, 제n스케일러(440-n)는 제n스케일링 비율에 따라 원본 이미지에 포함된 제n영역에 포함된 픽셀들을 스케일하고, 스케일된 픽셀들(HSn)을 생성할 수 있다.
제n스케일러(440-n)는 제n수직 스케일러(441-n)와 제n수평 스케일러(445-n)를 포함할 수 있다. 제n수직 스케일러(441-n)는 제n영역에 포함된 픽셀들을 제n수직 스케일링 비율에 따라 수직으로 스케일하고, 수직으로 스케일된 픽셀들(VSn)을 출력할 수 있다. 제n수평 스케일러(445-n)는 제n수직 스케일러(441-n)로부터 출력된 수직으로 스케일된 픽셀들(VSn)을 제n수평 스케일링 비율에 따라 수평으로 스케일하고, 수평으로 스케일된 픽셀들(HSn)을 출력할 수 있다.
제n스케일링 비율은 제n수직 스케일링 비율과 제n수평 스케일링 비율에 따라 결정될 수 있다. 예컨대, 상기 제n수직 스케일링 비율과 상기 제n수평 스케일링 비율 각각은 스케일-업 또는 스케일-다운을 위한 비율일 수 있다.
제n수평 스케일러(445-n)가 제n수직 스케일러(441-n)로부터 출력된 수직으로 스케일된 픽셀들(VSn)을 스케일-업할 때, 제n수평 스케일러(445-n)는 제n스톨 지시 신호(STn)를 제n수직 스케일러(441-n)로 출력할 수 있다. 이때, 제n수직 스케일러 (441-n)는, 제n스톨 지시 신호(STn)에 응답하여, 제n수평 스케일러(445-n)로 전송되는 수직으로 스케일된 픽셀들(VSn)의 전송을 중지 또는 지연시킬 수 있다. 또한, 제n수직 스케일러(441-n)는, 제n스톨 지시 신호(STn)에 응답하여, 제n스톨 지시 신호(STn)를 스톨 지시 신호 생성기(435)로 전송할 수 있다.
라인 메모리 컨트롤러(420)의 스톨 제어 회로(427)는 스톨 지시 신호(STALL)를 이미지 처리 프로세서(230)로 출력할 수 있다. 따라서, 이미지 처리 프로세서 (230)는, 스톨 지시 신호(STALL)에 응답하여, 스케일러 회로(240)로 전송되는 픽셀들(OTFI)의 전송을 중지 또는 지연시킬 수 있다.
제n수직 스케일러(441-n)가 라인 메모리 컨트롤러(420)로부터 출력된 제2영역에 포함된 픽셀들에 상응하는 이미지 데이터(DATA)를 스케일-업할 때, 제n수직 스케일러(441-n)는 제n스톨 지시 신호(STn)를 스톨 지시 신호 생성기(435)로 전송할 수 있다. 따라서, 라인 메모리 컨트롤러(420)의 스톨 제어 회로(427)는 스톨 지시 신호(STALL)를 이미지 처리 프로세서(230)로 출력할 수 있다. 따라서, 이미지 처리 프로세서(230)는, 스톨 지시 신호(STALL)에 응답하여, 스케일러 회로(240)로 전송되는 픽셀들(OTFI)의 전송을 중지 또는 지연시킬 수 있다.
상술한 바와 같이, 제n수직 스케일러(441-n)와 제n수평 스케일러(445-n) 중에서 적어도 하나가 스케일-업 작동을 수행할 때, 스톨 지시 신호 생성기(435)는 스톨 지시 신호(STALL)를 생성할 수 있다.
각 스케일러(440-1~440-n)에 의해 처리되는 해당 영역의 크기는 서로 다른 수 있다. 또한, 각 스케일러(440-1~440-n)의 스케일링 비율은 서로 다를 수 있다. 각 스케일러(440-1~440-n)는 각 스케일러(440-1~440-n)에 할당된 영역에 포함된 픽셀들을 동시에 또는 병렬적으로 처리할 수 있다.
각 수직 스케일러(441-1~441-n)는 각 수직 스케일러(441-1~441-n)의 작동들에 필요한 데이터(또는 정보)를 저장하는 각 저장 장치(REG1-1~REG1-n)를 포함할 수 있다. 예컨대, 각 저장 장치(REG1-1~REG1-n)는 CPU(210)에 의해 설정 또는 프로그램가능한 메모리를 의미할 수 있다. 실시 예에 따라, 각 저장 장치(REG1-1~REG1-n)는 레지스터, 예컨대 SFR(special function register)로 구현될 수 있으나 이에 한정되는 것은 아니다. 각 저장 장치(REG1-1~REG1-n)는 영역 정보와 스케일링 비율을 저장할 수 있다.
각 수평 스케일러(445-1~445-n)는 각 수평 스케일러(445-1~445-n)의 작동들에 필요한 데이터(또는 정보)를 저장하는 각 저장 장치(REG2-1~REG2-n)를 포함할 수 있다. 각 저장 장치(REG2-1~REG2-n)는 CPU(210)에 의해 설정 또는 프로그램가능한 메모리를 의미할 수 있다. 실시 예에 따라, 각 저장 장치(REG2-1~REG2-n)는 레지스터, 예컨대 SFR(special function register)로 구현될 수 있으나 이에 한정되는 것은 아니다. 각 저장 장치(REG2-1~REG2-n)는 스케일링 비율을 저장할 수 있다.
도 4는 도 3에 도시된 제1수직 스케일러의 블록도를 나타내고, 도 6은 원본 이미지에 포함된 서로 다른 영역들을 개념적으로 나타내고, 도 7a부터 도 7c는 도 6에 도시된 원본 이미지에 포함된 제1영역과 제2영역을 처리하는 과정을 설명하기 위한 개념도이고, 도 8은 스케일-업과 스케일-다운을 개념적으로 나타낸다.
각 수직 스케일러(441-1~441-n)의 구조와 작동은 동일 또는 유사하므로, 제1수직 스케일러(441-1)의 구조와 작동이 도 1부터 도 8을 참조하여 상세히 설명된다.
제1수직 스케일러(441-1)는 수직 스케일링 컨트롤러(442-1), 스위치 회로 (443-1), 수직 스케일링 코어(444-1), 및 저장 장치(REG1-1)를 포함할 수 있다.
원본 이미지는 크기는 폭(IMAGEW)과 높이(IMAGEH)에 의해 결정될 수 있다. 폭(IMAGEW)과 높이(IMAGEH) 각각은 픽셀들의 개수에 따라 결정될 수 있다.
제1스케일러(440-1)는 원본 이미지에 포함된 픽셀들 중에서 제1영역(SC0)에 포함된 픽셀들에 대해 스케일 작동을 수행하고, 제2스케일러(440-2)는 상기 원본 이미지에 포함된 픽셀들 중에서 제2영역(SC1)에 포함된 픽셀들에 대해 스케일 작동을 수행한다고 가정한다.
제1스케일러(440-1)에 포함된 저장 장치(REG1-1)는 제1영역 정보를 저장하는 제1저장 영역(RI)과 제1스케일링 비율을 저장하는 제2저장 영역(SR)을 포함한다고 가정하고, 제2스케일러(440-2)에 포함된 저장 장치(REG1-2)는 제2영역 정보를 저장하는 제1저장 영역(RI)과 제2스케일링 비율을 저장하는 제2저장 영역(SR)을 포함한다고 가정한다.
저장 장치(REG1-1)의 제1저장 영역(RI)은 제1영역(SC0)의 크기 또는 크기에 대한 정보를 저장할 수 있다. 예컨대, 상기 크기는 제1영역(SC0)의 제1시작 좌표 (SP1), 제1영역(SC0)의 제1폭(SW1), 및 제1영역(SC0)의 제1높이(SH1)를 포함할 수 있다. 예컨대, 제1영역(SC0)의 제1끝 좌표(EP1)는 제1시작 좌표(SP1), 제1폭(SW1), 및 제1높이(SH1)에 의해 결정될 수 있다. 실시 예에 따라, 저장 장치(REG1-1)의 제1저장 영역(RI)은 제1영역(SC0)의 제1시작 좌표(SP1)와 제1영역(SC0)의 제1끝 좌표(EP1)를 저장할 수 있으나 이에 한정되는 것은 아니다.
저장 장치(REG1-2)의 제1저장 영역(RI)은 제2영역(SC1)의 크기 또는 크기에 대한 정보를 저장할 수 있다. 예컨대, 상기 크기는 제2영역(SC1)의 제2시작 좌표 (SP2), 제2영역(SC1)의 제2폭(SW2), 및 제2영역(SC1)의 제2높이(SH2)를 포함할 수 있다. 예컨대, 제2영역(SC1)의 제2끝 좌표(EP2)는 제2시작 좌표(SP2), 제2폭(SW2), 및 제2높이(SH2)에 의해 결정될 수 있다. 실시 예에 따라, 저장 장치(REG1-2)의 제1저장 영역(RI)은 제2영역(SC1)의 제2시작 좌표(SP2)와 제2영역(SC1)의 제2끝 좌표 (EP2)를 저장할 수 있으나 이에 한정되는 것은 아니다.
각 저장 장치(REG1-1과 REG1-2)의 제1저장 영역(RI)은 각 영역(SC0와 SC1)의 크기를 정의할 수 있는 정보가 저장되면 족하다.
실시 예들에 따라, 각 영역(SC0와 SC1)은 중첩되지 않을 수도 있고 중첩될 수도 있다.
제1스케일러(440-1)의 수직 스케일링 컨트롤러(442-1)는, 저장 장치(REG1-1)에 저장된 데이터(또는 정보)를 이용하여, 스위치 신호(SC0_VALID)의 활성화 타이밍, 제1라이트 요청 신호(WR1)의 활성화 타이밍, 제1리드 요청 신호(RR1)의 활성화 타이밍, 및 제1스톨 지시 신호(ST1)의 활성화 타이밍을 제어할 수 있다. 여기서, 활성화(activation)는 하이 레벨과 로우 레벨 중에서 어느 하나를 의미할 수 있으나, 도 7a부터 도 7c에서는 활성화 레벨을 하이 레벨로 가정한다.
제2스케일러(440-2)의 수직 스케일링 컨트롤러는, 저장 장치(REG1-2)에 저장된 데이터(또는 정보)를 이용하여, 스위치 신호(SC1_VALID)의 활성화 타이밍, 제2라이트 요청 신호(WR2)의 활성화 타이밍, 제2리드 요청 신호(RR2)의 활성화 타이밍, 및 제2스톨 지시 신호(ST2)의 활성화 타이밍을 제어할 수 있다.
제1스케일러(440-1)의 수직 스케일링 컨트롤러(442-1)는, 저장 장치(REG1-1)의 제2저장 영역(SR)에 저장된 데이터를 이용하여, 수직 스케일링 코어(441-1)의 수직 스케일링 비율을 제어할 수 있다. 제2스케일러(440-2)의 수직 스케일링 컨트롤러는, 저장 장치(REG1-2)의 제2저장 영역에 저장된 데이터를 이용하여, 수직 스케일링 코어(441-2)의 수직 스케일링 비율을 제어할 수 있다.
원본 이미지 또는 상기 원본 프레임에 포함된 픽셀들(IM)은 순차적으로 라인 메모리 컨트롤러(420)로 입력될 수 있다.
위치 정보 계산기(421)는 픽셀들(IM) 중에서 현재 픽셀의 위치(((1,1))를 계산하고, 계산된 위치에 해당하는 위치 정보(CPI)를 각 수직 스케일러(441-1~441-n)로 전송할 수 있다.
제1수직 스케일러(441-1)의 수직 스케일링 컨트롤러(442-1)는 위치 정보 (CPI)에 해당하는 현재 좌표((1,1))와 제1시작 좌표(SP1=(3,4))를 비교하고, 비교의 결과에 따라 로우 레벨을 갖는 제1라이트 요청 신호(WR1)를 라이트 요청 신호 생성기(431)로 출력할 수 있다. 또한, 수직 스케일링 컨트롤러(442-1)는 상기 비교의 결과에 따라 로우 레벨을 갖는 제1리드 요청 신호(RR1)를 리드 요청 신호 생성기(433)로 출력할 수 있다. 또한, 수직 스케일링 컨트롤러(442-1)는 상기 비교의 결과에 따라 로우 레벨을 갖는 스위치 신호(SC0_VALID)를 스위치 회로(443-1)로 출력할 수 있다.
여기서, (x,y)는 픽셀의 좌표(또는 위치)를 나타내나, 설명의 편의를 위해, (x,y)는 좌표 또는 픽셀이라고 가정한다. 따라서, 라이트 요청 신호 생성기(431)는 로우 레벨을 갖는 라이트 요청 신호(WR)를 생성하므로, 라이트 제어 회로(423)는 현재 픽셀 ((1,1))을 라인 메모리(430)에 저장하지 않는다. 실시 예에 따라, 현재 픽셀 ((1,1))은 버려질 수 있다.
실시 예에 따라, 현재 픽셀((1,1))이 제1수직 스케일러(441-1)로 전송되더라도, 수직 스케일링 컨트롤러(442-1)는 로우 레벨을 갖는 스위치 신호(SC0_VALID)를 출력하므로, 현재 픽셀((1,1))은 수직 스케일링 코어(444-1)로 전송되지 않는다.
제1영역(SC0)에 포함되지 않는 각 픽셀((1,2), (3,1), (3,2), (3,3), (3,10), (3,11), (4,1), (4,2), (4,3), (4,10), (4,11), (5,10), (5,11), (6,10), (6,11), (7,10), (7,11), (8,10), (8,11), (9,4), 등)에 대한 처리는 제1영역(SC0)에 포함되지 않는 픽셀((1,1))에 대한 처리와 동일하므로, 각 픽셀((1,2), (3,1), (3,2), (3,3), (3,10), (3,11), (4,1), (4,2), (4,3), (4,10), (4,11), (5,10), (5,11), (6,10), (6,11), (7,10), (7,11), (8,10), (8,11), (9,4), 등)의 처리에 대한 상세한 설명은 생략한다.
그러나, 위치 정보 계산기(421)는 픽셀들(IM) 중에서 현재 픽셀((3,4))의 위치를 계산하고, 계산된 위치에 해당하는 위치 정보(CPI)를 각 수직 스케일러(441-1~441-n)로 전송할 수 있다.
제1수직 스케일러(441-1)의 수직 스케일링 컨트롤러(442-1)는 위치 정보 (CPI)에 해당하는 현재 좌표((3,4))와 제1시작 좌표(SP1=(3,4))를 비교하고, 비교의 결과에 따라 하이 레벨을 갖는 제1라이트 요청 신호(WR1)를 라이트 요청 신호 생성기(431)로 출력할 수 있다. 또한, 수직 스케일링 컨트롤러(442-1)는 상기 비교의 결과에 따라 로우 레벨을 갖는 제1리드 요청 신호(RR1)를 리드 요청 신호 생성기 (433)로 출력할 수 있다. 또한, 수직 스케일링 컨트롤러(442-1)는 상기 비교의 결과에 따라 로우 레벨을 갖는 스위치 신호(SC0_VALID)를 스위치 회로(443-1)로 출력할 수 있다.
이때, 라이트 요청 신호 생성기(431)는 하이 레벨을 갖는 라이트 요청 신호 (WR)를 생성하므로, 라이트 제어 회로(423)는 현재 픽셀((3,4))을 라인 메모리 (430)에 저장할 수 있다.
제1영역(SC0)에 포함된 각 픽셀((3,5)~(3,9), (4,4)~(4,9), (5,4)~(5,9), (6,4)~(6,9), (7,4)~(7,9), 및 (8,4)~(8,9))에 대한 처리는 제1영역(SC0)에 포함된 픽셀((3,4))에 대한 처리와 동일하므로, 각 픽셀((3,5)~(3,9), (4,4)~(4,9), (5,4)~(5,9), (6,4)~(6,9), (7,4)~(7,9), 및 (8,4)~(8,9))의 처리에 대한 상세한 설명은 생략한다.
본 명세서에서 4*6 픽셀들 단위로 리드 작동이 수행된다고 가정한다.
4*6에 해당하는 픽셀들((3,4)~(3,9), (4,4)~(4,9), (5,4)~(5,9), 및 (6,4)~(6,9))이 라인 메모리(430)에 저장된 후, 제1시점(T1)에서 현재 픽셀((7,4))이 라인 메모리 컨트롤러(420)로 입력되면, 위치 정보 계산기(421)는 현재 픽셀 ((7,4))의 위치를 계산하고, 계산된 위치에 해당하는 위치 정보(CPI)를 각 수직 스케일러(441-1~441-n)로 전송할 수 있다.
제1시점(T1)에서, 제1수직 스케일러(441-1)의 수직 스케일링 컨트롤러(442-1)는, 위치 정보(CPI)에 해당하는 현재 좌표((7,4))에 기초하여, 하이 레벨을 갖는 제1라이트 요청 신호(WR1), 하이 레벨을 갖는 제1리드 요청 신호(RR1), 및 하이 레벨을 갖는 스위치 신호(SC0_VALID)를 생성할 수 있다.
따라서, 라이트 제어 회로(423)는 현재 픽셀((7,4))을 라인 메모리(430)에 라이트하고, 리드 제어 회로(425)는 라인 메모리(430)에 저장된 4*6 픽셀들 ((3,4)~(3,9), (4,4)~(4,9), (5,4)~(5,9), 및 (6,4)~(6,9))을 리드하고, 리드된 픽셀들에 해당하는 이미지 데이터(DATA)를 각 수직 스케일러(441-1~441-n)로 전송할 수 있다.
제1수직 스케일러(441-1)의 수직 스케일링 컨트롤러(442-1)는 하이 레벨을 갖는 스위치 신호(SC0_VALID)를 생성하므로, 스위치 회로(443-1)는, 하이 레벨을 갖는 스위치 신호(SC0_VALID)에 응답하여, 4*6 픽셀들((3,4)~(3,9), (4,4)~(4,9), (5,4)~(5,9), 및 (6,4)~(6,9))에 해당하는 이미지 데이터(DATA)를 수직 스케일링 코어(444-1)로 전송할 수 있다. 이때, 이미지 데이터(DATA)는 도 7b에 도시된 바와 같이 복수의 이미지 데이터(SC0_DATA0~SC0_DATA3)를 포함할 수 있다. 예컨대, 복수의 이미지 데이터(SC0_DATA0~SC0_DATA3)는 병렬로 전송될 수 있다.
수직 스케일링 코어(444-1)는, 제1저장 영역(SR)에 저장된 제1수직 스케일링 비율에 따라, 4*6 픽셀들((3,4)~(3,9), (4,4)~(4,9), (5,4)~(5,9), 및 (6,4)~(6,9))에 해당하는 이미지 데이터(DATA)를 수직으로 스케일하고, 수직으로 스케일된 픽셀들(VS1)을 출력할 수 있다.
픽셀((7,4))이 라인 메모리(430)에 저장되는 방식과 동일한 방식으로 픽셀들((7,5)~(7,9)) 각각은 라인 메모리(430)에 저장된다.
4*6에 해당하는 픽셀들((4,4)~(4,9), (5,4)~(5,9), (6,4)~(6,9), 및 (7,4)~(7,9)))이 라인 메모리(430)에 저장된 후, 제2시점(T2)에서 현재 픽셀 ((8,4))이 라인 메모리 컨트롤러(420)로 입력되면, 위치 정보 계산기(421)는 현재 픽셀((8,4))의 위치를 계산하고, 계산된 위치에 해당하는 위치 정보(CPI)를 각 수직 스케일러(441-1~441-n)로 전송할 수 있다.
제2시점(T2)에서, 제1수직 스케일러(441-1)의 수직 스케일링 컨트롤러(442-1)는, 위치 정보(CPI)에 해당하는 현재 좌표((8,4))에 기초하여, 하이 레벨을 갖는 제1라이트 요청 신호(WR1), 하이 레벨을 갖는 제1리드 요청 신호(RR1), 및 하이 레벨을 갖는 스위치 신호(SC0_VALID)를 생성할 수 있다.
따라서, 라이트 제어 회로(423)는 현재 픽셀((8,4))을 라인 메모리(430)에 라이트하고, 리드 제어 회로(425)는 라인 메모리(430)에 저장된 4*6 픽셀들 ((4,4)~(4,9), (5,4)~(5,9), (6,4)~(6,9), 및 (7,4)~(7,9)))을 리드하고, 리드된 픽셀들((4,4)~(4,9), (5,4)~(5,9), (6,4)~(6,9), 및 (7,4)~(7,9)))에 해당하는 이미지 데이터(DATA)를 각 수직 스케일러(441-1~441-n)로 전송할 수 있다.
제1수직 스케일러(441-1)의 수직 스케일링 컨트롤러(442-1)는 하이 레벨을 갖는 스위치 신호(SC0_VALID)를 생성하므로, 스위치 회로(443-1)는, 하이 레벨을 갖는 스위치 신호(SC0_VALID)에 응답하여, 4*6 픽셀들((4,4)~(4,9), (5,4)~(5,9), (6,4)~(6,9), 및 (7,4)~(7,9)))에 해당하는 이미지 데이터(DATA)를 수직 스케일링 코어(444-1)로 전송할 수 있다. 이때, 이미지 데이터(DATA)는 도 7b에 도시된 바와 같이 복수의 이미지 데이터(SC0_DATA0~SC0_DATA3)를 포함할 수 있다. 예컨대, 복수의 이미지 데이터(SC0_DATA0~SC0_DATA3)는 병렬로 전송될 수 있다.
수직 스케일링 코어(444-1)는, 제1저장 영역(SR)에 저장된 제1수직 스케일링 비율에 따라, 4*6 픽셀들((4,4)~(4,9), (5,4)~(5,9), (6,4)~(6,9), 및 (7,4)~(7,9)))에 해당하는 이미지 데이터(DATA)를 수직으로 스케일하고, 수직으로 스케일된 픽셀들(VS1)을 출력할 수 있다.
제2스케일러(440-2)는 원본 이미지에 포함된 픽셀들(IM) 중에서 제2영역 (SC1)에 포함된 픽셀들((4,5)~(4,10), (5,5)~(5,10), (6,5)~(6,10), (7,5)~(7,10), 및 (8,5)~(8,10))을 라인 메모리(430)에 저장하기 위해 하이 레벨을 갖는 제2라이트 요청 신호(WR2)를 생성할 수 있다.
제2영역(SC1)에 포함된 픽셀들((4,5)~(4,10), (5,5)~(5,10), (6,5)~(6,10), (7,5)~(7,10), 및 (8,5)~(8,10)) 중에서 4*6 픽셀들((4,5)~(4,10), (5,5)~(5,10), (6,5)~(6,10), 및 (7,5)~(7,10))이 라인 메모리(430)에 저장된 후, 제3시점(T3)에서 현재 픽셀((8,5))이 라인 메모리 컨트롤러(420)로 입력되면, 위치 정보 계산기(421)는 현재 픽셀((8,5))의 위치를 계산하고, 계산된 위치에 해당하는 위치 정보(CPI)를 각 수직 스케일러(441-1~441-n)로 전송할 수 있다.
제3시점(T3)에서, 제2수직 스케일러(441-2)의 수직 스케일링 컨트롤러는, 위치 정보(CPI)에 해당하는 현재 좌표((8,5))에 기초하여, 하이 레벨을 갖는 제2라이트 요청 신호(WR2), 하이 레벨을 갖는 제2리드 요청 신호(RR2), 및 하이 레벨을 갖는 스위치 신호(SC1_VALID)를 생성할 수 있다.
따라서, 라이트 제어 회로(423)는 현재 픽셀((8,5))을 라인 메모리(430)에 라이트하고, 리드 제어 회로(425)는 라인 메모리(430)에 저장된 4*6 픽셀들 ((4,5)~(4,10), (5,5)~(5,10), (6,5)~(6,10), 및 (7,5)~(7,10))을 리드하고, 리드된 픽셀들((4,5)~(4,10), (5,5)~(5,10), (6,5)~(6,10), 및 (7,5)~(7,10))에 해당하는 이미지 데이터(DATA)를 각 수직 스케일러(441-1~441-n)로 전송할 수 있다.
제2수직 스케일러(441-2)의 수직 스케일링 컨트롤러는 하이 레벨을 갖는 스위치 신호(SC1_VALID)를 생성하므로, 제2수직 스케일러(441-2)의 스위치 회로는, 하이 레벨을 갖는 스위치 신호(SC1_VALID)에 응답하여, 4*6 픽셀들((4,5)~(4,10), (5,5)~(5,10), (6,5)~(6,10), 및 (7,5)~(7,10))에 해당하는 이미지 데이터(DATA)를 제2수직 스케일러(441-2)의 수직 스케일링 코어로 전송할 수 있다. 이때, 이미지 데이터(DATA)는 도 7c에 도시된 바와 같이 복수의 이미지 데이터 (SC1_DATA0~SC1_DATA3)를 포함할 수 있다. 예컨대, 복수의 이미지 데이터 (SC1_DATA0~SC1_DATA3)는 병렬로 전송될 수 있다.
제2수직 스케일러(441-2)의 수직 스케일링 코어는, 제1저장 영역에 저장된 제2수직 스케일링 비율에 따라, 4*6 픽셀들((4,5)~(4,10), (5,5)~(5,10), (6,5)~(6,10), 및 (7,5)~(7,10))에 해당하는 이미지 데이터(DATA)를 수직으로 스케일하고, 수직으로 스케일된 픽셀들(VS2)을 출력할 수 있다.
제3시점(T3)에서, 제1수직 스케일러(441-1)의 작동과 제2수직 스케일러(441-2)의 작동은 병렬적으로 수행될 수 있다. 즉, 제3시점(T3)부터 일정 시간 동안, 제1스케일러(440-1)의 작동과 제2스케일러(440-2)의 작동은 병렬적으로 수행될 수 있다. 예컨대, 제1스케일러(440-1)의 작동은 제2스케일러(440-2)의 작동과 부분적으로 또는 전체적으로 오버랩될 수 있다.
도 5는 도 2에 도시된 1-입력 멀티-출력 스케일러의 다른 실시 예를 나타내는 블록도이다.
도 2와 도 5를 참조하면, 1-입력 멀티-출력 스케일러(410B)는 스케일러 코어 (410-1), 라인 메모리(430), FIFO(first in first out) 컨트롤러(450), 제1선택기 (451), 제2선택기(453), 및 라인 버퍼(455)를 포함할 수 있다. 예컨대, FIFO는 FIFO 컨트롤러(450)와 라인 버퍼(455)를 포함할 수 있다.
입력 픽셀들이 IM으로부터 FO로 변경된 것을 제외하면, 도 3의 스케일러 코어(410-1)의 구조와 작동을 도 5의 스케일러 코어(410-1)의 구조와 작동과 동일하므로, 도 5의 스케일러 코어(410-1)에 대한 상세한 설명은 생략한다.
K(여기서, K는 2 이상의 자연수)개의 픽셀들 단위로 스케일링 작동을 수행할 수 있는 스케일러는 스케일-업 작동(또는 업-샘플링(up-sampling) 작동)을 수행하기 위해서는 K-개의 라인 버퍼들을 필요로 하고, 스케일-다운 작동(또는 다운-샘플링(down-sampling) 작동)을 수행하기 위해서는 (K-1)-개의 라인 버퍼들을 필요로 한다. 이때, K-개의 픽셀들은 원본 이미지에 포함된 동일한 로우(row) 또는 동일한 컬럼(column)에 포함된 픽셀들을 의미할 수 있다.
스케일러 코어(410-1)는 4-개의 픽셀들 단위로 스케일링 작동을 수행하고, 라인 메모리(430)는 3개의 라인 버퍼들(430-1, 430-2, 및 430-3)을 포함하고, FIFO는 하나의 라인 버퍼(455)를 포함한다고 가정한다.
스케일-업 작동 시 선택 신호(SEL)는 제1레벨을 갖고, 스케일-다운 작동 시 선택 신호(SEL)는 제2레벨을 갖는다고 가정한다.
선택 신호(SEL)의 레벨은 레지스터, 예컨대, SFR에 저장된 데이터(또는 정보)에 기초하여 결정된다고 가정한다. 스케일링 비율에 대한 데이터(또는 정보)는 SFR에 저장된다고 가정한다.
제1레벨(예컨대, 로직 0)을 갖는 선택 신호(SEL)가 생성되면, 라인 버퍼 (455)는 제1선택기(451)를 통해 스케일러 코어(410-1)에 접속된다. 따라서, 스케일-업 작동 시 스케일러 코어(410-1)는 4개의 라인 버퍼들(430-1, 430-2, 430-3, 및 455)을 사용할 수 있다. 즉, 스케일러 코어(410-1)는 4개의 라인 버퍼들(430-1, 430-2, 430-3, 및 455)에 저장된 픽셀들에 대해 스케일링 작동을 수행할 수 있다.
제1레벨을 갖는 선택 신호(SEL)가 생성되면, 도 2의 선택기(401)로부터 (순차적으로) 출력되는 픽셀들(IM)은, 제2선택기(453)를 통해, 입력 픽셀들(FO)로서 스케일러 코어(410-1)로 입력될 수 있다. 즉, 픽셀들(IM)은 FIFO 컨트롤러(450)를 바이패스(bypass)한다.
제2레벨을 갖는 선택 신호(SEL)가 생성되면, 라인 버퍼(455)는 제1선택기 (451)를 통해 FIFO 컨트롤러(450)에 접속된다. 따라서, 스케일-다운 작동 시에 스케일러 코어(410-1)는 3개의 라인 버퍼들(430-1, 430-2, 및 430-3)만을 액세스할 수 있다.
도 2의 선택기(401)로부터 출력되는 픽셀들(IM)은, FIFO 컨트롤러(450), 라인 버퍼(455), 및 제2선택기(453)를 통해, 입력 픽셀들(FO)로서 스케일러 코어 (410-1)로 입력될 수 있다. 따라서, 스케일-다운 작동 시에, 1-입력 멀티-출력 스케일러(410B)는 FIFO를 통해 하드 리얼 타임(hard real time) 시스템으로 작동할 수 있다. 예컨대, K-개의 픽셀들 단위로 처리하는 1-입력 멀티-출력 스케일러 (410B)가 하드 리얼 타임 시스템으로 작동할 때, 스케일-다운에 필요한 라인 버퍼들의 개수는 (K-1)개이므로, 남은 1개의 라인 버퍼(예컨대, 455)는 하드 리얼 타임 시스템을 위한 버퍼로서 사용될 수 있다.
제1선택기(451)는 디멀티플렉서(demultiplexer)로 구현될 수 있고, 제2선택기(453)는 멀티플렉서(multiplexer)로 구현될 수 있다. 선택 신호(SEL)의 레벨에 따라 작동하는 제1선택기(451)를 통해, FIFO 컨트롤러(450)와 스케일러 코어(410-1)는 라인 버퍼(455)를 사용할 수 있다, 즉, 라인 버퍼(455)는 공유 라인 버퍼로 사용될 수 있다.
스케일-다운 작동 시에, FIFO는 메모리(310)의 블랙아웃(blackout) 또는 MMU (memory management unit)의 어드레스 변환 미스(address translation miss)와 같은 지연(latency or delay)을 극복할 수 있다. 메모리(310)가 DRAM으로 구현될 때, 블랙아웃은 DRAM의 리프레쉬 작동(refresh operation)에 의해 데이터를 상기 DRAM에 라이트할 수 없을 때 발생할 수 있다. FIFO가 1-입력 멀티-출력 스케일러(410B)에 구현됨에 따라, 복수의 라이트 DMA 컨트롤러들(405-1~405-n) 중에서 적어도 하나의 의해 사용될 수 있는 DMA FIFO의 영역은 감소할 수 있다.
선택 신호(SEL)의 레벨에 따라 작동하는 제2선택기(453)를 통해, FIFO 컨트롤러(450)의 입력 픽셀들(IM) 또는 FIFO 컨트롤러(450)의 출력 픽셀들은 스케일러 코어(410-1)의 입력 픽셀들(FO)로서 제공될 수 있다.
도 9는 도 1에 도시된 스케일러 회로의 다른 실시 예를 나타내는 블록도이다. 도 9를 참조하면, 스케일러 회로(240A)는 선택기(401), 리드 DMA 컨트롤러 (403), 복수의 라이트 DMA 컨트롤러들(405-1~405-n), 1-입력 멀티-출력 스케일러 (410), 및 복수의 포스트 스케일러들(407-1~407-n)를 포함할 수 있다.
각 포스트 스케일러(407-1~407-n)는 1-입력 멀티-출력 스케일러(410)로부터 출력된 각 스케일된 픽셀들(HS1~HSn)을 수직으로 그리고 수평으로 스케일-다운하고, 스케일된 다운된 픽셀들(HS1'~HSn')을 복수의 라이트 DMA 컨트롤러들(405-1~405-n)로 전송할 수 있다. 즉, 각 포스트 스케일러(407-1~407-n)는 스케일-다운작동만 수행할 수 있다.
높은 스케일-다운 비율을 갖는 스케일러 회로(240A)를 적은 면적에 구현하기 위해 스케일-다운을 2-스텝으로 수행할 수 있다. 상기 2-스텝 중에서 첫 번째 스텝은 1-입력 멀티-출력 스케일러(410)에 의해 수행되고, 상기 2-스텝 중에서 두 번째 스텝은 포스트 스케일러들(407-1~407-n)에 의해 된다. 예컨대, 스케일러 회로 (240A)의 스케일-다운 비율이 1/8일 때, 1-입력 멀티-출력 스케일러(410)의 스케일-다운 비율은 1/4이고, 각 포스트 스케일러(407-1~407-n)의 스케일-다운 비율은 1/2일 수 있다.
각 포스트 스케일러(407-1~407-n)의 최대 입력 대역폭은 1-입력 멀티-출력 스케일러(410)의 최대 입력 대역폭과 1-입력 멀티-출력 스케일러(410)의 최대 스케일-다운 비율에 의해 결정될 수 있다. 예컨대, 각 포스트 스케일러(407-1~407-n)의 최대 입력 대역폭은 1-입력 멀티-출력 스케일러(410)의 최대 입력 대역폭과 1-입력 멀티-출력 스케일러(410)의 최대 스케일-다운 비율의 곱에 의해 결정될 수 있다.
1-입력 멀티-출력 스케일러(410)의 입력 이미지는 원래 이미지이어야 하고 라인 메모리(430)는 공유되어야 하므로, 포스트(post)-스케일링을 위한 포스트 스케일러들(407-1~407-n)은 1-입력 멀티-출력 스케일러(410)의 출력단에 접속되어야 한다.
도 10은 도 9에 도시된 포스트 스케일러의 블록도를 나타낸다. 도 10을 참조하면, 복수의 포스트 스케일러들(407-1~407-n) 각각의 구조와 작동을 실질적으로 동일 또는 유사하므로, 제1포스트 스케일러(407-1)의 구조와 작동이 설명된다.
제1포스트 스케일러(407-1)는 라인 메모리(501), 수직 스케일러(503), 및 수평 스케일러(505)를 포함할 수 있다.
수직 스케일러(503)는 도 3의 제1스케일러(440-1)의 제1수평 스케일러(445-1)로부터 출력된 스케일된 픽셀들(HS1)을 수신하고, 스케일된 픽셀들(HS1)을 라인 메모리(501)에 저장할 수 있다. 처리에 필요한 스케일된 픽셀들(HS1)이 라인 메모리(501)에 저장되면, 수직 스케일러(503)는 라인 메모리(501)로부터 스케일된 픽셀들(HS1)을 리드하고, 리드된 스케일된 픽셀들(HS1)을 수직 스케일링 비율에 따라 수직으로 스케일-다운하고, 수직으로 다운 스케일된 픽셀들(VS1')을 수평 스케일러 (505)로 출력할 수 있다.
수평 스케일러(505)는 수평 스케일링 비율에 따라 수직으로 스케일된 픽셀들 (VS1')을 수평으로 스케일-다운하고, 수평으로 다운 스케일된 픽셀들(HS1')을 제1라이트 DMA 컨트롤러(405)로 출력할 수 있다.
제1포스트 스케일러(407-1)의 스케일링 비율은 제1포스트 스케일러(407-1)에 포함된 수직 스케일러(503)의 수직 스케일링 비율(예컨대, 스케일-다운 비율)과 수평 스케일러(505)의 수평 스케일링 비율(예컨대, 스케일-다운 비율)에 따라 결정될 수 있다.
제2포스트 스케일러(407-2)의 스케일링 비율은 제2포스트 스케일러(407-2)에 포함된 수직 스케일러의 수직 스케일링 비율(예컨대, 스케일-다운 비율)과 수평 스케일러의 수평 스케일링 비율(예컨대, 스케일-다운 비율)에 따라 결정될 수 있다.
제n포스트 스케일러(407-n)의 스케일링 비율은 제n포스트 스케일러(407-n)에 포함된 수직 스케일러의 수직 스케일링 비율(예컨대, 스케일-다운 비율)과 수평 스케일러의 수평 스케일링 비율(예컨대, 스케일-다운 비율)에 따라 결정될 수 있다.
제1포스트 스케일러(407-1)의 스케일링 비율, 제2포스트 스케일러(407-2)의 스케일링 비율, 및 제n포스트 스케일러(407-n)의 스케일링 비율을 서로 다를 수 있다.
도 3에 도시된 바와 같이, 각 포스트 스케일러(407-1~407-n)에 포함된 각 수직 스케일러는 수직 스케일-다운 비율을 저장하는 저장 장치를 포함할 수 있고, 각 포스트 스케일러(407-1~407-n)에 포함된 각 수평 스케일러는 수평 스케일-다운 비율을 저장하는 저장 장치를 포함할 수 있다. 또한, 상기 각 수직 스케일러와 상기 각 수평 스케일러는 스케일링 작동을 제어할 수 있는 스케일링 컨트롤러를 포함할 수 있다.
도 11은 도 1에 도시된 데이터 처리 시스템의 작동을 설명하기 위한 플로우차트이다. 도 1부터 도 11을 참조하면, 이미지 센서(300)는 원본 이미지(또는 원본 이미지 데이터)에 상응하는 픽셀들을 생성하고 생성된 픽셀들을 인터페이스(220)로 전송할 수 있다(S110).
이미지 신호 프로세서(230)는 인터페이스(220)를 통해 수신된 픽셀들의 포맷을 변환할 수 있다(S112).
상기 원본 이미지에 포함된 적어도 하나의 영역에 포함된 픽셀들이 스케일-업 될 때(S114의 YES), 이미지 신호 프로세서(230)는 제2경로 (PATH2)를 통해 픽셀들(RIM)을 메모리(310)에 저장할 수 있다(S116).
리드 DMA 컨트롤러(403)는, CPU(210)의 제어에 따라 메모리(310)에 저장된 픽셀들(RIM)을 리드(또는 페치)하고, 리드된 픽셀들(RIM)을 선택기(401)를 통해 1-입력 멀티-출력 스케일러(410)로 전송할 수 있다(S118).
1-입력 멀티-출력 스케일러(410)에 포함된 각 스케일러(440-1~440-n)는 각 스케일러(440-1~440-n)에 의해 처리될 각 영역에 포함된 픽셀들에 대한 스케일 작동(예컨대, 스케일-업 작동)을 수행할 수 있다(S120). 예컨대, 스케일러들(440-1~440-n) 중에서 적어도 하나가 스케일-업 작동을 할 때, S114단계부터 S120단계가 수행될 수 있다.
스케일러들(440-1~440-n) 중에서 적어도 하나에 의해 스케일-업된 픽셀들은 복수의 라이트 DMA 컨트롤러들(405-1~405-n) 중에서 적어도 하나의 제어에 따라 메모리(310)에 저장될 수 있다(S124).
원본 이미지에 포함된 적어도 하나의 영역에 해당하는 픽셀들이 스케일-다운될 때(S114의 NO), 이미지 신호 프로세서(230)는 제1경로(PATH1)를 통해 픽셀들 (OTFI)을 선택기(401)로 전송할 수 있다. 선택기(401)는 입력 픽셀들(OTFI)을 출력 픽셀들(IM)로서 1-입력 멀티-출력 스케일러(410)로 전송할 수 있다.
1-입력 멀티-출력 스케일러(410)는 선택기(401)로부터 출력되는 픽셀들(IM)을 실시간으로 스케일링할 수 있다(S122). 즉, 1-입력 멀티-출력 스케일러(410)에 포함된 각 스케일러(440-1~440-n)는 각 스케일러(440-1~440-n)에 의해 처리될 영역에 포함된 픽셀들에 대한 스케일 작동(예컨대, 스케일-다운 작동)을 실시간으로 수행할 수 있다(S122).
스케일러들(440-1~440-n) 중에서 적어도 하나에 의해 스케일-다운된 픽셀들은 복수의 라이트 DMA 컨트롤러들(405-1~405-n) 중에서 적어도 하나의 제어에 따라 메모리(310)에 저장될 수 있다(S124). 예컨대, S114부터 S124는 프레임 또는 프레임 데이터 단위로 처리될 수 있다.
도 12는 도 2에 도시된 스케일러 회로의 작동을 설명하기 위한 플로우차트이다. 도 1부터 도 12를 참조하면, 1-입력 멀티-출력 스케일러(410)는 원본 이미지(또는 원본 이미지 데이터)에 상응하는 픽셀들(IM) 중에서 현재 픽셀을 수신할 수 있다(S210). 픽셀들(IM)은 복수의 경로들(PATH1과 PATH2) 중에서 어느 하나를 통해 픽셀 단위로 순차적으로 입력될 수 있다. 하나의 픽셀은 복수의 비트들로 표현될 수 있다.
위치 정보 계산기(421)는 현재 픽셀의 위치 정보(CPI), 예컨대 현재 좌표를 계산할 수 있다(S212).
계산된 현재 픽셀의 위치 정보(CPI), 예컨대 현재 좌표는 각 스케일러(440-1~440-n)의 각 수직 스케일러(441-1~441-n)로 전송될 수 있다(S214).
도 6, 도 7a, 도 7b, 및 도 7c를 참조하여 설명한 바와 같이, 각 수직 스케일러(441-1~441-n)는 수신된 현재 좌표가 각 저장 장치(REG1-1~REG1-n)에 저장된 각 영역의 시작 좌표(또는 각 영역 내의 좌표)와 동일한지를 판단할 수 있다 (S216).
현재 좌표가 수직 스케일러들(441-1~441-n) 중에서 적어도 하나에 의해 처리될 영역의 시작 좌표(또는 영역 내의 좌표)일 때, 수직 스케일러들(441-1~441-n) 중에서 적어도 하나는 활성화된 라이트 요청 신호를 생성할 수 있다(S218). 예컨대, 위치 정보 계산기(421)는, 현재 좌표가 각 수직 스케일러(441-1~441-n)에 의해 처리될 영역의 좌표인지에 무관하게, 각 시점에서 입력되는 현재 좌표를 계산할 수 있다(S212).
라이트 제어 회로(423)는, 라이트 요청 신호(WR)가 하이 레벨을 유지하는 동안, 라인 메모리 컨트롤러(420)로 입력되는 픽셀들을 라인 메모리(430)에 라이트할 수 있다(S220). 예컨대, 라이트 제어 회로(423)는 제1영역(SC0)에 포함된 픽셀들을 라인 메모리(430)에 라이트할 수 있고, 제2영역(SC1)에 포함된 픽셀들을 라인 메모리(430)에 라이트할 수 있다.
실시 예에 따라, 현재 좌표가 수직 스케일러들(441-1~441-n) 중에서 적어도 하나에 의해 처리될 영역의 끝 좌표일 때, 수직 스케일러들(441-1~441-n) 중에서 적어도 하나는 리드 요청 신호를 생성할 수 있다(S222). 다른 실시 예에 따라, 도 7a부터 도 7c를 참조하여 설명한 바와 같이, 처리될 픽셀들, 예컨대 4*6 픽셀들이 라인 메모리(430)에 저장된 후, 수직 스케일러들(441-1~441-n) 중에서 적어도 하나는 활성화된 리드 요청 신호를 생성할 수 있다.
리드 제어 회로(425)는, 리드 요청 신호(RR)가 하이 레벨을 유지하는 동안, 각 영역(SC0와 SC1)에 포함되고 라인 메모리(430)에 저장된 픽셀들을 리드하고, 리드된 픽셀들을 각 수직 스케일러(441-1~441-n)로 전송할 수 있다(S224).
수직 스케일러들(441-1~441-n) 중에서 제1영역(SC0)에 포함된 픽셀들을 스케일링할 수 있는 제1수직 스케일러(441-1)는 제1수직 스케일러(441-1)의 수직 스케일링 비율에 따라 상기 픽셀들을 수직으로 스케일할 수 있다(S226).
수직 스케일러들(441-1~441-n) 중에서 제2영역(SC1)에 포함된 픽셀들을 스케일링할 수 있는 제2수직 스케일러(441-2)는 제2수직 스케일러(441-2)의 수직 스케일링 비율에 따라 상기 픽셀들을 수직으로 스케일할 수 있다(S226).
수직 스케일러들(441-1, 441-2, 및 441-n)은 동시에 또는 병렬적으로 스케일링 작동을 수행할 수 있다.
제1수평 스케일러(445-1)는 제1수직 스케일러(441-1)에 의해 수직으로 스케일된 픽셀들을 제1수평 스케일러(445-1)의 수평 스케일링 비율에 따라 수평으로 스케일할 수 있다(S228). 제2수평 스케일러(445-2)는 제2수직 스케일러(441-2)에 의해 수직으로 스케일된 픽셀들을 제1수평 스케일러(445-2)의 수평 스케일링 비율에 따라 수평으로 스케일할 수 있다(S228).
제n수평 스케일러(445-n)는 제2수직 스케일러(441-n)에 의해 수직으로 스케일된 픽셀들을 제n수평 스케일러(445-n)의 수평 스케일링 비율에 따라 수평으로 스케일할 수 있다(S228).
제1라이트 DMA 컨트롤러(405-1)는 제1수평 스케일러(445-1)로부터 출력된 스케일된 픽셀들(HS1)을 버스 구조(203)를 통해 주변 회로, 예컨대 메모리 컨트롤러 (250) 및/또는 디스플레이(330)로 출력할 수 있다(S230).
제2라이트 DMA 컨트롤러(405-2)는 제2수평 스케일러(445-2)로부터 출력된 스케일된 픽셀들(HS2)을 버스 구조(203)를 통해 주변 회로, 예컨대 메모리 컨트롤러 (250) 및/또는 디스플레이(330)로 출력할 수 있다.
제n라이트 DMA 컨트롤러(405-n)는 제n수평 스케일러(445-n)로부터 출력된 스케일된 픽셀들(HSn)을 버스 구조(203)를 통해 주변 회로, 예컨대 메모리 컨트롤러 (250) 및/또는 디스플레이(330)로 출력할 수 있다(S230).
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100; 이미지 처리 시스템
200; 데이터 처리 장치
220; 인터페이스
230; 이미지 신호 프로세서
340; 스케일러 회로
300; 이미지 센서
310; 메모리
320; 디스플레이
330; 사용자 입력 장치
420; 라인 메모리 컨트롤러
430; 라인 메모리
431; 라이트 요청 신호 생성기
433; 리드 요청 신호 생성기
435; 스톨 지시 신호 생성기

Claims (20)

  1. 하나의 이미지에 포함된 픽셀들 각각의 위치 정보를 생성하는 라인 메모리 컨트롤러;
    상기 픽셀들 각각의 위치 정보를 이용하여 상기 픽셀들 중 제1픽셀들을 선택하고, 수직 스케일링 작동 후 수평 스케일링 작동을 수행하는 제1스케일러;
    상기 픽셀들 각각의 위치 정보를 이용하여 상기 픽셀들 중 제2픽셀들을 선택하고, 수직 스케일링 작동 후 수평 스케일링 작동을 수행하는 제2스케일러; 및
    상기 제1스케일러와 상기 제2스케일러에 의해 공유되는 라인 메모리를 포함하고,
    상기 라인 메모리 컨트롤러는, 상기 픽셀들 중 상기 제1픽셀들 및 상기 제2픽셀들을 상기 라인 메모리에 저장하고,
    상기 제1스케일러는, 상기 라인 메모리에 저장된 상기 제1픽셀들을 이용하여 제1이미지를 생성하고,
    상기 제2스케일러는, 상기 라인 메모리에 저장된 상기 제2픽셀들을 이용하여 상기 제1이미지와 다른 해상도를 갖는 제2이미지를 생성하는 스케일러 회로.
  2. 제1항에 있어서,
    상기 라인 메모리 컨트롤러는,
    상기 하나의 이미지에 포함된 픽셀들 각각의 위치 정보를 상기 제1스케일러와 상기 제2스케일러로 전송하는 스케일러 회로.
  3. 삭제
  4. 제2항에 있어서,
    상기 제1스케일러는, 상기 픽셀들 각각의 상기 위치 정보를 이용하여, 상기 라인 메모리에 저장된 상기 제1픽셀들에 대한 제1리드 타이밍들을 결정하고,
    상기 제2스케일러는, 상기 픽셀들 각각의 상기 위치 정보를 이용하여, 상기 라인 메모리에 저장된 상기 제2픽셀들에 대한 제2리드 타이밍들을 결정하는 스케일러 회로.
  5. 제4항에 있어서, 상기 라인 메모리 컨트롤러는,
    상기 제1스케일러의 제어에 따라, 상기 제1픽셀들을 상기 라인 메모리에 저장하고 상기 제1리드 타이밍들에 따라 상기 라인 메모리에 저장된 상기 제1픽셀들을 리드하고,
    상기 제2스케일러의 제어에 따라, 상기 제2픽셀들을 상기 라인 메모리에 저장하고 상기 제2리드 타이밍들에 따라 상기 라인 메모리에 저장된 상기 제2픽셀들을 리드하는 스케일러 회로.
  6. 제5항에 있어서,
    상기 제1스케일러는,
    상기 라인 메모리 컨트롤러로부터 전송된 상기 제1픽셀들을 수직으로 스케일하는 제1수직 스케일러; 및
    상기 제1수직 스케일러로부터 출력된 픽셀들을 수평으로 스케일하여 상기 제1이미지를 생성하는 제1수평 스케일러를 포함하고,
    상기 제2스케일러는,
    상기 라인 메모리 컨트롤러로부터 전송된 상기 제2픽셀들을 수직으로 스케일하는 제2수직 스케일러; 및
    상기 제2수직 스케일러로부터 출력된 픽셀들을 수평으로 스케일하여 상기 제2이미지를 생성하는 제2수평 스케일러를 포함하는 스케일러 회로.
  7. 제1항에 있어서,
    상기 제1스케일러에 의해 생성된 상기 제1이미지를 스케일-다운하는 제1포스트 스케일러; 및
    상기 제2스케일러에 의해 생성된 상기 제2이미지를 스케일-다운하는 제2포스트 스케일러를 더 포함하는 스케일러 회로.
  8. 제1항에 있어서,
    상기 라인 메모리 컨트롤러는,
    상기 제1스케일러의 제어에 따라, 상기 라인 메모리에 저장된 상기 제1픽셀들을 리드하고,
    상기 제2스케일러의 제어에 따라, 상기 라인 메모리에 저장된 상기 제2픽셀들을 리드하는 스케일러 회로.
  9. 제8항에 있어서,
    상기 제1스케일러는,
    상기 라인 메모리 컨트롤러로부터 전송된 상기 제1픽셀들을 수직으로 스케일하는 제1수직 스케일러; 및
    상기 제1수직 스케일러로부터 출력된 픽셀들을 수평으로 스케일하여 상기 제1이미지를 생성하는 제1수평 스케일러를 포함하고,
    상기 제2스케일러는,
    상기 라인 메모리 컨트롤러로부터 전송된 상기 제2픽셀들을 수직으로 스케일하는 제2수직 스케일러; 및
    상기 제2수직 스케일러로부터 출력된 픽셀들을 수평으로 스케일하여 상기 제2이미지를 생성하는 제2수평 스케일러를 포함하는 스케일러 회로.
  10. 제8항에 있어서,
    FIFO 컨트롤러; 및
    상기 FIFO 컨트롤러 또는 상기 라인 메모리 컨트롤러에 의해 액세스되는 라인 버퍼; 및
    상기 FIFO 컨트롤러의 입력 이미지 또는 상기 FIFO 컨트롤러의 출력 이미지를 상기 하나의 이미지로서 제공하는 선택기를 더 포함하는 스케일러 회로.
  11. 제10항에 있어서,
    상기 제1이미지와 상기 제2이미지가 스케일-다운된 이미지들이고 상기 하나의 이미지가 상기 FIFO 컨트롤러의 상기 출력 이미지일 때, 상기 제1스케일러와 상기 제2스케일러 각각은 상기 라인 메모리를 이용하여 상기 제1이미지와 상기 제2이미지 각각을 생성하고,
    상기 제1이미지와 상기 제2이미지가 스케일-업된 이미지들이고 상기 하나의 이미지가 상기 FIFO 컨트롤러의 상기 입력 이미지일 때, 상기 제1스케일러와 상기 제2스케일러 각각은 상기 라인 메모리와 상기 라인 버퍼를 이용하여 상기 제1이미지와 상기 제2이미지 각각을 생성하는 스케일러 회로.
  12. 버스; 및
    상기 버스에 접속된 스케일러 회로를 포함하고,
    상기 스케일러 회로는,
    하나의 이미지에 포함된 픽셀들 각각의 위치 정보를 생성하는 라인 메모리 컨트롤러;
    상기 픽셀들 각각의 위치 정보를 이용하여 상기 픽셀들 중 제1픽셀들을 선택하고, 수직 스케일링 작동 후 수평 스케일링 작동을 수행하는 제1스케일러;
    상기 픽셀들 각각의 위치 정보를 이용하여 상기 픽셀들 중 제2픽셀들을 선택하고, 수직 스케일링 작동 후 수평 스케일링 작동을 수행하는 제2스케일러; 및
    상기 제1스케일러와 상기 제2스케일러에 의해 공유되는 라인 메모리를 포함하고,
    상기 라인 메모리 컨트롤러는, 상기 픽셀들 중 상기 제1픽셀들 및 상기 제2픽셀들을 상기 라인 메모리에 저장하고,
    상기 제1스케일러는, 상기 라인 메모리에 저장된 상기 제1픽셀들을 이용하여 제1이미지를 생성하고,
    상기 제2스케일러는, 상기 라인 메모리에 저장된 상기 제2픽셀들을 이용하여 상기 제1이미지와 다른 해상도를 갖는 제2이미지를 생성하는 애플리케이션 프로세서.
  13. 제12항에 있어서,
    상기 라인 메모리 컨트롤러는,
    상기 하나의 이미지에 포함된 픽셀들 각각의 위치 정보를 상기 제1스케일러와 상기 제2스케일러로 전송하는 애플리케이션 프로세서.
  14. 제13항에 있어서,
    상기 제1스케일러는, 상기 픽셀들 각각의 상기 위치 정보를 이용하여, 상기 라인 메모리에 저장된 상기 제1픽셀들에 대한 제1리드 타이밍들을 결정하고,
    상기 제2스케일러는, 상기 픽셀들 각각의 상기 위치 정보를 이용하여, 상기 라인 메모리에 저장된 상기 제2픽셀들에 대한 제2리드 타이밍들을 결정하고,
    상기 라인 메모리 컨트롤러는,
    상기 제1리드 타이밍들에 따라 상기 라인 메모리에 저장된 상기 제1픽셀들을 리드하고,
    상기 제2리드 타이밍들에 따라 상기 라인 메모리에 저장된 상기 제2픽셀들을 리드하는 애플리케이션 프로세서.
  15. 제14항에 있어서,
    상기 제1스케일러는,
    상기 라인 메모리 컨트롤러로부터 전송된 상기 제1픽셀들을 수직으로 스케일하는 제1수직 스케일러; 및
    상기 제1수직 스케일러로부터 출력된 픽셀들을 수평으로 스케일하여 상기 제1이미지를 생성하는 제1수평 스케일러를 포함하고,
    상기 제2스케일러는,
    상기 라인 메모리 컨트롤러로부터 전송된 상기 제2픽셀들을 수직으로 스케일하는 제2수직 스케일러; 및
    상기 제2수직 스케일러로부터 출력된 픽셀들을 수평으로 스케일하여 상기 제2이미지를 생성하는 제2수평 스케일러를 포함하는 애플리케이션 프로세서.
  16. 제12항에 있어서,
    상기 제1스케일러의 제어에 따라, 상기 라인 메모리에 저장된 상기 제1픽셀들을 리드하고,
    상기 제2스케일러의 제어에 따라, 상기 라인 메모리에 저장된 상기 제2픽셀들을 리드하는 라인 메모리 컨트롤러를 더 포함하는 애플리케이션 프로세서.
  17. 이미지 센서;
    외부 메모리; 및
    상기 이미지 센서와 상기 외부 메모리에 접속된 애플리케이션 프로세서를 포함하고,
    상기 애플리케이션 프로세서는,
    버스; 및
    상기 버스에 접속된 스케일러 회로를 포함하고,
    상기 스케일러 회로는,
    하나의 이미지에 포함된 픽셀들 각각의 위치 정보를 생성하는 라인 메모리 컨트롤러;
    상기 픽셀들 각각의 위치 정보를 이용하여 상기 픽셀들 중 제1픽셀들을 선택하고, 수직 스케일링 작동 후 수평 스케일링 작동을 수행하는 제1스케일러;
    상기 픽셀들 각각의 위치 정보를 이용하여 상기 픽셀들 중 제2픽셀들을 선택하고, 수직 스케일링 작동 후 수평 스케일링 작동을 수행하는 제2스케일러; 및
    상기 제1스케일러와 상기 제2스케일러에 의해 공유되는 라인 메모리를 포함하고,
    상기 라인 메모리 컨트롤러는, 상기 픽셀들 중 상기 제1픽셀들 및 상기 제2픽셀들을 상기 라인 메모리에 저장하고,
    상기 제1스케일러는, 상기 라인 메모리에 저장된 상기 제1픽셀들을 이용하여 제1이미지를 생성하고,
    상기 제2스케일러는, 상기 라인 메모리에 저장된 상기 제2픽셀들을 이용하여 상기 제1이미지와 다른 해상도를 갖는 제2이미지를 생성하는 모바일 컴퓨팅 장치.
  18. 삭제
  19. 제17항에 있어서,
    상기 라인 메모리 컨트롤러는,
    상기 제1스케일러의 제어에 따라, 상기 라인 메모리에 저장된 상기 제1픽셀들을 리드하고,
    상기 제2스케일러의 제어에 따라, 상기 라인 메모리에 저장된 상기 제2픽셀들을 리드하는 모바일 컴퓨팅 장치.
  20. 제19항에 있어서,
    상기 제1스케일러는,
    상기 라인 메모리 컨트롤러로부터 전송된 상기 제1픽셀들을 수직으로 스케일하는 제1수직 스케일러; 및
    상기 제1수직 스케일러로부터 출력된 픽셀들을 수평으로 스케일하여 상기 제1이미지를 생성하는 제1수평 스케일러를 포함하고,
    상기 제2스케일러는,
    상기 라인 메모리 컨트롤러로부터 전송된 상기 제2픽셀들을 수직으로 스케일하는 제2수직 스케일러; 및
    상기 제2수직 스케일러로부터 출력된 픽셀들을 수평으로 스케일하여 상기 제2이미지를 생성하는 제2수평 스케일러를 포함하는 모바일 컴퓨팅 장치.
KR1020150021800A 2015-02-12 2015-02-12 하나의 이미지로부터 다양한 해상도를 갖는 이미지들을 생성할 수 있는 스케일러 회로와 이를 포함하는 장치들 KR102317789B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020150021800A KR102317789B1 (ko) 2015-02-12 2015-02-12 하나의 이미지로부터 다양한 해상도를 갖는 이미지들을 생성할 수 있는 스케일러 회로와 이를 포함하는 장치들
DE102016100469.3A DE102016100469A1 (de) 2015-02-12 2016-01-13 Skalierschaltung zum Erzeugen von Bildern verschiedener Auflösung aus einem einzelnen Bild und Vorrichtungen mit derselben
TW105101250A TWI707303B (zh) 2015-02-12 2016-01-15 用以從單一影像產生各種解析度影像之縮放器電路與包括該縮放器電路之裝置
US15/007,674 US9811873B2 (en) 2015-02-12 2016-01-27 Scaler circuit for generating various resolution images from single image and devices including the same
CN201610084920.5A CN105898157B (zh) 2015-02-12 2016-02-14 从单一图像产生各种分辨率图像的缩放器电路及包含其的设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150021800A KR102317789B1 (ko) 2015-02-12 2015-02-12 하나의 이미지로부터 다양한 해상도를 갖는 이미지들을 생성할 수 있는 스케일러 회로와 이를 포함하는 장치들

Publications (2)

Publication Number Publication Date
KR20160099393A KR20160099393A (ko) 2016-08-22
KR102317789B1 true KR102317789B1 (ko) 2021-10-26

Family

ID=56551793

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150021800A KR102317789B1 (ko) 2015-02-12 2015-02-12 하나의 이미지로부터 다양한 해상도를 갖는 이미지들을 생성할 수 있는 스케일러 회로와 이를 포함하는 장치들

Country Status (5)

Country Link
US (1) US9811873B2 (ko)
KR (1) KR102317789B1 (ko)
CN (1) CN105898157B (ko)
DE (1) DE102016100469A1 (ko)
TW (1) TWI707303B (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102317789B1 (ko) * 2015-02-12 2021-10-26 삼성전자주식회사 하나의 이미지로부터 다양한 해상도를 갖는 이미지들을 생성할 수 있는 스케일러 회로와 이를 포함하는 장치들
GB2541742B (en) * 2015-08-28 2019-03-20 Advanced Risc Mach Ltd Method of and apparatus for scaling data arrays
US10755380B2 (en) 2015-11-11 2020-08-25 Texas Instruments Incorporated Down scaling images in a computer vision system
CN107249107B (zh) * 2017-05-03 2020-03-27 西安诺瓦星云科技股份有限公司 视频控制器和图像处理方法及装置
US11609868B1 (en) * 2020-12-31 2023-03-21 Waymo Llc Control calibration timing to avoid memory write blackout period
US20230196497A1 (en) * 2021-12-20 2023-06-22 Texas Instruments Incorporated Fault detection in a real-time image pipeline
TWI822482B (zh) * 2022-11-23 2023-11-11 大陸商北京集創北方科技股份有限公司 任意倍率圖像放大模塊、顯示驅動晶片、顯示裝置以及資訊處理裝置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100657145B1 (ko) * 2005-02-24 2006-12-13 매그나칩 반도체 유한회사 스케일러를 구비한 이미지센서 및 이미지센서의 이미지 스케일링 방법
US20080122872A1 (en) * 2006-09-25 2008-05-29 Novatek Microelectronics Corp. Image scaling circuit and method thereof
US20130222413A1 (en) * 2012-02-24 2013-08-29 Brijesh Tripathi Buffer-free chroma downsampling

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI312633B (en) * 2005-06-02 2009-07-21 Ind Tech Res Inst A composite method and apparatus for scaling digital image
US7941001B1 (en) 2005-12-05 2011-05-10 Marvell International Ltd. Multi-purpose scaler
JP2007193397A (ja) 2006-01-17 2007-08-02 Sharp Corp スケーラとエッジ強調の画像処理方法及び装置
US8264610B2 (en) 2006-04-18 2012-09-11 Marvell World Trade Ltd. Shared memory multi video channel display apparatus and methods
KR20080076053A (ko) 2007-02-14 2008-08-20 엘지전자 주식회사 Osd 크기 변환 장치
CN100589123C (zh) * 2007-04-23 2010-02-10 北京中星微电子有限公司 一种静止图像缩放装置及其方法
TWI397899B (zh) * 2007-04-30 2013-06-01 Mstar Semiconductor Inc 多視窗顯示控制器及相關方法
KR20090054836A (ko) * 2007-11-27 2009-06-01 삼성전자주식회사 디스플레이 장치 및 그 제어방법
US8773469B2 (en) 2008-04-09 2014-07-08 Imagine Communications Corp. Video multiviewer system with serial digital interface and related methods
KR101416272B1 (ko) * 2008-11-05 2014-07-07 삼성전자 주식회사 디스플레이장치 및 그 제어방법
TWI382755B (zh) 2009-06-11 2013-01-11 Novatek Microelectronics Corp 影像處理電路及其方法
KR20110048794A (ko) 2009-11-03 2011-05-12 삼성전자주식회사 이미지 프로세서 및 이를 포함하는 전자 장치
TW201141204A (en) * 2010-05-14 2011-11-16 Univ Nat Cheng Kung Method of warping video
US8687922B2 (en) 2012-02-24 2014-04-01 Apple Inc. Parallel scaler processing
KR20140012323A (ko) * 2012-07-19 2014-02-03 삼성전자주식회사 영상표시장치, 영상표시방법 및 컴퓨터 판독가능 기록매체
KR102028696B1 (ko) * 2012-10-04 2019-10-07 삼성전자주식회사 고 해상도 컨텐츠를 처리하는 컨텐츠 처리 장치 및 그 방법
KR20140110428A (ko) * 2013-03-07 2014-09-17 삼성전자주식회사 원본 이미지를 이용하여 스케일된 이미지들을 동시에 생성할 수 있는 이미지 처리 방법과 상기 방법을 수행하는 장치들
KR102061869B1 (ko) 2013-08-21 2020-02-11 삼성전자주식회사 전자 장치 및 영상 표시 방법
KR102248789B1 (ko) * 2014-10-07 2021-05-06 삼성전자 주식회사 이미지 해상도에 따라 리소스를 공유할 수 있는 애플리케이션 프로세서와 이를 포함하는 장치들
KR102317789B1 (ko) * 2015-02-12 2021-10-26 삼성전자주식회사 하나의 이미지로부터 다양한 해상도를 갖는 이미지들을 생성할 수 있는 스케일러 회로와 이를 포함하는 장치들

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100657145B1 (ko) * 2005-02-24 2006-12-13 매그나칩 반도체 유한회사 스케일러를 구비한 이미지센서 및 이미지센서의 이미지 스케일링 방법
US20080122872A1 (en) * 2006-09-25 2008-05-29 Novatek Microelectronics Corp. Image scaling circuit and method thereof
US20130222413A1 (en) * 2012-02-24 2013-08-29 Brijesh Tripathi Buffer-free chroma downsampling

Also Published As

Publication number Publication date
CN105898157A (zh) 2016-08-24
TWI707303B (zh) 2020-10-11
US20160239941A1 (en) 2016-08-18
TW201636950A (zh) 2016-10-16
KR20160099393A (ko) 2016-08-22
DE102016100469A1 (de) 2016-08-18
CN105898157B (zh) 2020-06-12
US9811873B2 (en) 2017-11-07

Similar Documents

Publication Publication Date Title
KR102317789B1 (ko) 하나의 이미지로부터 다양한 해상도를 갖는 이미지들을 생성할 수 있는 스케일러 회로와 이를 포함하는 장치들
US8797359B2 (en) Inline image rotation
JP6078173B2 (ja) アイドル状態の構成要素の電力を落とすことによるディスプレイパイプラインにおける電力節約方法及び機器
US20110084979A1 (en) Integrated electronic paper display controller
US9336563B2 (en) Buffer underrun handling
US9965825B2 (en) Image processing circuit and methods for processing image on-the-fly and devices including the same
JP5697763B2 (ja) 画像並進のためのエッジのアルファ値でのレイヤ混合
US11710213B2 (en) Application processor including reconfigurable scaler and devices including the processor
US20140253598A1 (en) Generating scaled images simultaneously using an original image
US10445851B2 (en) Image processing apparatus and method
US20170018247A1 (en) Idle frame compression without writeback
US9953591B1 (en) Managing two dimensional structured noise when driving a display with multiple display pipes
US9472169B2 (en) Coordinate based QoS escalation
CN107924329B (zh) 用于链式媒体处理的方法

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