KR102214028B1 - 가변구조형 스케일러를 포함하는 애플리케이션 프로세서와 이를 포함하는 장치들 - Google Patents

가변구조형 스케일러를 포함하는 애플리케이션 프로세서와 이를 포함하는 장치들 Download PDF

Info

Publication number
KR102214028B1
KR102214028B1 KR1020140125793A KR20140125793A KR102214028B1 KR 102214028 B1 KR102214028 B1 KR 102214028B1 KR 1020140125793 A KR1020140125793 A KR 1020140125793A KR 20140125793 A KR20140125793 A KR 20140125793A KR 102214028 B1 KR102214028 B1 KR 102214028B1
Authority
KR
South Korea
Prior art keywords
pixels
coefficients
scale
scaler
circuit
Prior art date
Application number
KR1020140125793A
Other languages
English (en)
Other versions
KR20160034626A (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 KR1020140125793A priority Critical patent/KR102214028B1/ko
Priority to TW104125603A priority patent/TWI681361B/zh
Priority to CN201510593738.8A priority patent/CN105446938B/zh
Priority to US14/860,701 priority patent/US10311545B2/en
Publication of KR20160034626A publication Critical patent/KR20160034626A/ko
Priority to US16/379,775 priority patent/US10796409B2/en
Priority to US17/009,761 priority patent/US11288768B2/en
Application granted granted Critical
Publication of KR102214028B1 publication Critical patent/KR102214028B1/ko
Priority to US17/680,285 priority patent/US11710213B2/en

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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/005Adapting incoming signals to the display format of the display terminal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Image Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Hardware Redundancy (AREA)

Abstract

가변구조형(reconfigurable) 하드웨어 스케일러를 포함하는 애플리케이션 프로세서에서, 상기 가변구조형 하드웨어 스케일러는 각각이 서로 다른 스케일 알고리즘들 각각을 수행하기 위한 전용 회로들과, 상기 전용 회로들 각각에 의해 공유되는 공유 회로를 포함하고, 상기 전용 회로들 중의 어느 하나와 상기 공유 회로에 의해 상기 서로 다른 스케일 알고리즘들 중에서 어느 하나가 수행되다.

Description

가변구조형 스케일러를 포함하는 애플리케이션 프로세서와 이를 포함하는 장치들{APPLICATION PROCESSOR INCLUDING RECONFIGURABLE SCALER AND DEVICE INCLUDING THE SAME}
본 발명의 개념에 따른 실시 예는 집적 회로(IC)에 관한 것으로, 특히 가변구조형 하드웨어 스케일러를 포함하는 애플리케이션 프로세서와 이를 포함하는 장치들에 관한 것이다.
모바일(mobile) 애플리케이션 프로세서(application processor(AP))를 사용하는 이동 통신 장치에서, UHD(ultra high definition) 이미지를 디스플레이할 수 있는 고해상도 디스플레이가 지원되고 있다. 이에 따라, 상기 모바일 AP에 구현된 스케일러의 스케일-비율(scale-ratio)이 점점 커지고 있다. 상기 스케일-비율이 증가하면, 스케일된 이미지(scaled image)의 질(quality)도 좋아질 수 있다.
특정한 스케일 알고리즘을 수행할 수 있도록 하드웨어로 설계된 스케일러를 포함하는 칩(chip)이 생산되면, 상기 스케일러의 변경은 불가능하다. 다양한 스케일 알고리즘들을 지원할 수 있는 하드웨어 스케일러가 모바일 AP에 구현될 때, 상기 모바일 AP에서 상기 하드웨어 스케일러가 차지하는 면적은 상당히 증가할 수 있다. 이에 따라 모바일 AP의 제조 단가는 증가한다.
본 발명이 이루고자 하는 기술적인 과제는 처리하고자 하는 영상의 종류에 따라 복수의 스케일 알고리즘들 중에서 어느 하나의 스케일 알고리즘을 지원할 수 있는 가변구조형 하드웨어 스케일러(reconfigurable hardware scaler)를 포함하는 애플리케이션 프로세서와 이를 포함하는 장치들을 제공하는 것이다.
가변구조형(reconfigurable) 하드웨어 스케일러를 포함하는 애플리케이션 프로세서에서, 상기 가변구조형 하드웨어 스케일러는 각각이 서로 다른 스케일 알고리즘들 각각을 수행하기 위한 전용 회로들과, 상기 전용 회로들 각각에 의해 공유되는 공유 회로를 포함하고, 상기 전용 회로들 중의 어느 하나와 상기 공유 회로에 의해 상기 서로 다른 스케일 알고리즘들 중에서 어느 하나가 수행되다.
상기 전용 회로들 각각은 상기 서로 다른 스케일 알고리즘들 각각에 상응하는 계수들을 생성하는 제1계수 계산기들 각각을 포함하고, 상기 공유 회로는 상기 제1계수 계산기들 중에서 선택된 제1계수 계산기에 의해 생성된 제1계수들을 이용하여, 제1픽셀들을 수직으로 스케일하고 수직으로 스케일된 픽셀들을 출력하는 제1계산 회로를 포함한다.
상기 전용 회로들 각각은 상기 서로 다른 스케일 알고리즘들 각각에 상응하는 계수들을 생성하는 제2계수 계산기들 각각을 더 포함하고, 상기 공유 회로는, 상기 제2계수 계산기들 중에서 선택된 제2계수 계산기에 의해 생성된 제2계수들을 이용하여, 상기 수직으로 스케일된 픽셀들을 수평으로 스케일하고 수평으로 스케일된 픽셀들을 출력하는 제2계산 회로를 더 포함한다.
상기 공유 회로는 상기 제1픽셀들에 관련된 제2픽셀들의 패턴을 분석하고, 분석 결과에 따라 상기 제1계수 계산기와 상기 제2계수 계산기를 선택하기 위한 선택 신호를 생성하는 분석기를 더 포함한다.
상기 제2픽셀들은 라인들에 상응하는 픽셀들 또는 상기 라인들에 상응하는 상기 픽셀들의 일부일 수 있다.
상기 애플리케이션 프로세서는 분석될 픽셀들의 개수에 대한 데이터를 저장하는 데이터 저장 장치를 더 포함하고, 상기 공유 회로는 라인들에 상응하는 상기 제1픽셀들을 저장하는 라인 메모리를 더 포함한다. 상기 분석기는, 상기 데이터에 기초하여, 상기 라인 메모리에 저장된 상기 제1픽셀들 또는 상기 제1픽셀들의 일부를 상기 제2픽셀들로서 선택하고, 선택된 상기 제2픽셀들의 패턴을 분석하고, 상기 분석 결과에 따라 상기 선택 신호를 생성한다.
상기 애플리케이션 프로세서는 상기 가변 구조형 하드웨어 스케일러에서 사용될 수 있는 상기 스케일 알고리즘들의 종류에 대한 데이터를 저장하는 데이터 저장 장치를 더 포함하고, 상기 분석기는 상기 데이터를 리드하고, 리드된 데이터와 상기 분석 결과에 기초하여 상기 제1계수 계산기와 상기 제2계수 계산기를 선택하기 위한 상기 선택 신호를 생성한다.
상기 애플리케이션 프로세서는 수직 스케일 계수들과 수평 스케일 계수들을 생성하는 CPU와, 상기 CPU에 의해 생성된 상기 수직 스케일 계수들과 상기 수평 스케일 계수들을 저장하는 데이터 저장 장치를 더 포함한다.
상기 제1계산 회로는, 상기 제1계수들 대신에 상기 수직 스케일 계수들을 이용하여, 상기 제1픽셀들을 수직으로 스케일하고 상기 수직으로 스케일된 픽셀들을 출력한다. 상기 제2계산 회로는, 상기 제2계수들 대신에 상기 수평 계수들을 이용하여, 상기 수직으로 스케일된 픽셀들을 수평으로 스케일하고 상기 수평으로 스케일된 픽셀들을 출력한다.
상기 제1픽셀들의 개수와 상기 제1계수들의 개수는 서로 다르고, 상기 수직으로 스케일된 픽셀들의 개수와 상기 제2계수들의 개수는 서로 다를 수 있다.
본 발명의 실시 예에 따른 시스템 온 칩은 제1픽셀들을 포함하는 이미지를 저장하는 메모리와, 상기 메모리에 접속된 애플리케이션 프로세서를 포함하고, 상기 애플리케이션 프로세서는 상기 메모리로부터 상기 제1픽셀들을 리드하는 DMA 컨트롤러와, 가변구조형 하드웨어 스케일러를 포함한다.
상기 가변구조형 하드웨어 스케일러는 각각이 서로 다른 스케일 알고리즘들 각각을 수행하기 위한 전용 회로들과, 상기 전용 회로들 각각에 의해 공유되는 공유 회로를 포함하고, 상기 전용 회로들 중의 어느 하나와 상기 공유 회로에 의해 상기 서로 다른 스케일 알고리즘들 중에서 어느 하나가 수행된다.
상기 전용 회로들 각각은 상기 서로 다른 스케일 알고리즘들 각각에 상응하는 계수들을 생성하는 제1계수 계산기들 각각을 포함하고, 상기 공유 회로는 상기 제1계수 계산기들 중에서 선택된 제1계수 계산기에 의해 생성된 제1계수들을 이용하여, 상기 제1픽셀들을 수직으로 스케일하고 수직으로 스케일된 픽셀들을 출력하는 제1계산 회로를 포함한다.
상기 전용 회로들 각각은 상기 서로 다른 스케일 알고리즘들 각각에 상응하는 계수들을 생성하는 제2계수 계산기들 각각을 더 포함하고, 상기 공유 회로는, 상기 제2계수 계산기들 중에서 선택된 제2계수 계산기에 의해 생성된 제2계수들을 이용하여, 상기 수직으로 스케일된 픽셀들을 수평으로 스케일하고 수평으로 스케일된 픽셀들을 출력하는 제2계산 회로를 더 포함한다.
본 발명의 실시 예에 따른 데이터 처리 시스템은 시스템 온 칩과, 디스플레이를 포함하고, 상기 시스템 온 칩은 제1픽셀들을 포함하는 이미지를 저장하는 메모리와, 상기 메모리에 접속된 애플리케이션 프로세서를 포함하고, 상기 애플리케이션 프로세서는 상기 메모리로부터 상기 제1픽셀들을 리드하는 DMA 컨트롤러와, 가변구조형 하드웨어 스케일러를 포함한다.
상기 가변구조형 하드웨어 스케일러는 각각이 서로 다른 스케일 알고리즘들 각각을 수행하기 위한 전용 회로들과, 상기 전용 회로들 각각에 의해 공유되는 공유 회로를 포함하고, 상기 전용 회로들 중의 어느 하나와 상기 공유 회로에 의해 상기 서로 다른 스케일 알고리즘들 중에서 어느 하나가 수행된다.
상기 전용 회로들 각각은 상기 서로 다른 스케일 알고리즘들 각각에 상응하는 계수들을 생성하는 제1계수 계산기들 각각을 포함하고, 상기 공유 회로는, 상기 제1계수 계산기들 중에서 선택된 제1계수 계산기에 의해 생성된 제1계수들을 이용하여, 상기 제1픽셀들을 수직으로 스케일하고 수직으로 스케일된 픽셀들을 출력하는 제1계산 회로를 포함한다.
상기 전용 회로들 각각은 상기 서로 다른 스케일 알고리즘들 각각에 상응하는 계수들을 생성하는 제2계수 계산기들 각각을 더 포함하고, 상기 공유 회로는, 상기 제2계수 계산기들 중에서 선택된 제2계수 계산기에 의해 생성된 제2계수들을 이용하여, 상기 수직으로 스케일된 픽셀들을 수평으로 스케일하고 수평으로 스케일된 픽셀들을 출력하는 제2계산 회로를 더 포함한다.
본 발명의 실시 예에 따른 가변구조형 하드웨어 스케일러는 픽셀들의 패턴을 분석하고, 분석의 결과에 따라 서로 다른 스케일 알고리즘들 중에서 어느 하나를 적응적으로 실행할 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 데이터 처리 시스템의 개략적인 블록도를 나타낸다.
도 2는 본 발명의 일 실시 예에 따른 하드웨어 스케일러와 데이터 저장 장치의 블록도를 나타낸다.
도 3은 도 2에 도시된 제1데이터 저장 장치에 저장되는 데이터를 나타낸다.
도 4는 도 2에 도시된 제2데이터 저장 장치에 저장되는 데이터를 나타낸다.
도 5는 도 2에 도시된 라인 메모리에 저장된 이미지의 실시 예를 나타낸다.
도 6은 도 2에 도시된 수직 스케일러와 수평 스케일러의 구체적인 블록도를 나타내다.
도 7은 도 6에 도시된 계산 회로의 개념도를 나타낸다.
도 8은 도 6에 도시된 각 계수 계산기에 의해 생성되는 계수들의 실시 예를 나타낸다.
도 9는 도 1에 도시된 데이터 처리 시스템의 작동을 설명하는 플로우차트이다.
도 10은 본 발명의 다른 실시 예에 따른 하드웨어 스케일러와 데이터 저장 장치의 블록도를 나타낸다.
도 11은 도 10에 도시된 제3데이터 저장 장치에 저장되는 데이터를 나타낸다.
도 12는 본 발명의 또 다른 실시 예에 따른 하드웨어 스케일러와 데이터 저장 장치의 블록도를 나타낸다.
도 13은 도 12에 도시된 수직 스케일러와 수평 스케일러의 구체적인 블록도를 나타내다.
도 14는 본 발명의 또 다른 실시 예에 따른 하드웨어 스케일러와 데이터 저장 장치의 블록도를 나타낸다.
도 15는 도 12에 도시된 수직 스케일러와 수평 스케일러의 구체적인 블록도를 나타내다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1구성 요소는 제2구성 요소로 명명될 수 있고 유사하게 제2구성 요소는 제1구성 요소로도 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 나타낸다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
도 1은 본 발명의 실시 예에 따른 데이터 처리 시스템의 개략적인 블록도를 나타낸다. 도 1을 참조하면, 데이터 처리 시스템(100)은 호스트(200), 메모리 (300), 디스플레이(410), 및 카메라(500)를 포함할 수 있다. 예컨대, 메모리(300) 및/또는 카메라(500)는 스케일러(140)에서 처리될 이미지의 소스(source)의 기능을 수행할 수 있다.
데이터 처리 시스템(100)은 PC(personal computer), 데스크 탑 컴퓨터, 랩-탑 컴퓨터, 워크스테이션 컴퓨터, 또는 휴대용 컴퓨팅 장치를 포함한다. 상기 휴대용 컴퓨팅 장치는 이동 전화기, 스마트 폰(smart phone), 태블릿(tablet) PC, PDA (personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP (portable multimedia player), 멀티미디어 장치(multimedia device), PND (personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), 모바일 인터넷 장치(mobile internet device(MID)), 웨어러블 장치(또는 웨어러블 컴퓨터), 사물 인터넷(internet of things(IoT)) 장치, 만물 인터넷(internet of everything(IoE)) 장치, 또는 e-북 (e-book)으로 구현될 수 있다.
호스트(200)는 집적 회로(IC), 마더 보드(mother board), 시스템 온 칩 (system on chip(SoC)), 애플리케이션 프로세서(application processor(AP)), 또는 모바일 AP로 구현될 수 있다. 호스트(200)가 SoC로 구현될 때, 호스트(200)와 메모리(300)는 상기 SoC에 집적될 수 있다. 이때, 호스트(200)는 AP 또는 모바일 AP로 구현될 수 있다.
호스트(200)는 CPU(110), DMA(direct memory access) 컨트롤러(120), 데이터 저장 장치(130), 스케일러(140), 디스플레이 컨트롤러(150), 카메라 인터페이스(160), 및 사용자 인터페이스(170)를 포함할 수 있다. 실시 예에 따라 호스트(200)는 다른 장치로부터 전송된 이미지를 수신할 수 있는 모뎀(modem)을 더 포함할 수 있다. 실시 예에 따라, 상기 모뎀으로부터 출력된 이미지는 메모리(300)를 통해 스케일러(140)로 전송될 수 있다. 다른 실시 예에 따라, 상기 모뎀으로부터 출력된 이미지는 스케일러(140)로 직접 전송될 수도 있다.
CPU(110)는 적어도 하나의 버스(101)를 통해 구성 요소들(120, 130, 140, 150, 160, 및 170)을 제어할 수 있다.
DMA 컨트롤러(120)는, CPU(110)의 제어에 따라, 스케일러(140)에서 처리될 이미지를 리드(또는 패치(fetch))한다. DMA 컨트롤러(120)는 CPU(110)와 독립적으로 스케일러(140)가 메모리(300)를 액세스하는 것을 허락할 수 있다.
CPU(110)는 스케일러(140)의 작동에 필요한 데이터를 데이터 저장 장치(130)에 저장할 수 있다. 데이터 저장 장치(130)는 레지스터(register), 예컨대 SFR들 (special function registers)로 구현될 수 있다. 예컨대, CPU(110)는, 사용자 인터페이스(170)로부터 전송된 사용자 데이터(또는 사용자 입력)에 기초하여, 스케일러(140)의 작동에 필요한 데이터를 데이터 저장 장치(130)에 저장할 수 있다.
스케일러(140)는 하드웨어 스케일러로 구현될 수 있고, 처리될 픽셀들의 패턴에 따라 서로 다른 스케일 알고리즘들 중에서 어느 하나를 지원할 수 있는 가변구조형 스케일러일 수 있다. 여기서, 이미지(또는 이미지 데이터, 정지 영상 데이터, 동영상 데이터, 또는 스테레오스코픽(stereoscopic) 데이터)에 포함된 픽셀들은 RGB 데이터 포맷을 갖는 데이터 또는 YCbCr 데이터 포맷을 갖는 데이터일 수 있으나, 스케일러(140)에 의해 처리될 픽셀들이 이에 한정되는 것은 아니다.
서로 다른 스케일 알고리즘들 중에서 어느 하나를 지원할 수 있는 하나의 가변구조형 스케일러(140)는 상기 어느 하나의 스케일 알고리즘을 이용하여 픽셀들을 수직으로 그리고 수평으로 스케일하고, 수직으로 그리고 수평으로 스케일된 (vertically and horizentally scaled) 픽셀들을 출력할 수 있다.
따라서, 하나의 가변구조형 스케일러(140)는 서로 다른 스케일 알고리즘들 각각을 공통으로 수행할 수 있는 공유 회로와, 서로 다른 스케일 알고리즘들 각각을 전용으로 수행할 수 있는 전용 회로를 포함한다.
디스플레이 컨트롤러(150)는 스케일러(140)에 의해 스케일된 픽셀들에 상응하는 이미지를 디스플레이(410)로 전송할 수 있다. 또한, 디스플레이 컨트롤러 (150)는 카메라 인터페이스(160)에 의해 처리된 이미지를 디스플레이(410)로 전송할 수 있다.
카메라 인터페이스(160)는 카메라(500)로부터 출력된 데이터를 수신하고, 수신된 데이터를 처리할 수 있다. 예컨대, 카메라 인터페이스(160)는 카메라 시리얼 인터페이스(camera serial interface(CSI))를 통해 데이터를 수신할 수 있다.
사용자 인터페이스(170)는 사용자 입력 장치(420)로부터 입력된 사용자 데이터(또는 사용자 입력)를 처리하고, 처리된 사용자 데이터를 버스(101)로 전송할 수 있다. 실시 예들에 따라, 사용자 입력 장치(420)는 터치 스크린 패널 또는 음성 인식 장치로 구현될 수 있다.
메모리(300)는 휘발성 메모리 또는 불휘발성 메모리로 구현될 수 있다. 상기 휘발성 메모리는 RAM(random access memory), DRAM(dynamic RAM), 또는 SRAM (static RAM)으로 구현될 수 있다. 상기 불휘발성 메모리는 EEPROM(electrically erasable programmable read-only memory), 플래시(flash) 메모리, MRAM(magnetic RAM), 스핀-전달 토크 MRAM(spin-transfer torque MRAM), FeRAM(ferroelectric RAM), PRAM(phase change RAM), 또는 저항 메모리(resistive RAM(RAM))로 구현될 수 있다.
메모리(300)는 하드디스크 드라이브(HDD), 스마트 카드, SD(secure digital)카드, 멀티디미어 카드(multimedia card(MMC)), 임베디드 MMC(embedded MMC (eMMC)), 임베디드 멀티-칩 패키지(embeded multi-chip package(eMCP)), PPN (perfect page NAND), 유니버셜 플래시 스토리지(universal flash storage(UFS)), 솔리드 스테이트 드라이브(solid state drive(SSD)), 또는 임베디드 SSD(embedded SSD(eSSD))로 구현될 수 있다.
디스플레이(410)는, 디스플레이 컨트롤러(150)의 제어에 따라, 이미지를 디스플레이할 수 있다. 디스플레이(410)는 평판 디스플레이(flat panel display)로 구현될 수 있다. 상기 평판 디스플레이는 TFT-LCD(thin film transistor-liquid crystal display), LED(light emitting diode) 디스플레이, OLED(organic LED) 디스플레이, AMOLED(active-matrix OLED) 디스플레이, 플렉시블(flexible) 디스플레이, 또는 투명 디스플레이로 구현될 수 있다.
카메라(500)는 CMOS 이미지 센서를 포함하는 카메라 모듈로 구현될 수 있다.
도 2는 본 발명의 일 실시 예에 따른 하드웨어 스케일러와 데이터 저장 장치의 블록도를 나타낸다.
도 2를 참조하면, 하드웨어 스케일러(140A)는 수직 스케일러(141A), 라인 메모리(143), 분석기(145A), 및 수평 스케일러(147A)를 포함한다. 도 2에서는 설명의 편의를 위해, CPU(110A), DMA 컨트롤러(120), 및 메모리(300)를 하드웨어 스케일러 (140A)와 함께 도시한다. CPU(110A)는 도 1의 CPU(110)의 일 실시 예이고, 데이터 저장 장치(130A)는 도 1의 데이터 저장 장치(130)의 일 실시 예이고, 하드웨어 스케일러(140A)는 도 1의 스케일러(140)의 일 실시 예이다.
예컨대, 수직 스케일러(141A)의 일부는 공유 회로로 사용될 수 있고 나머지 일부는 전용 회로로 사용될 수 있다. 예컨대, 라인 메모리(143)와 분석기(145A)는 공유 회로로 사용될 수 있다.
데이터 저장 장치(130A)는 제1데이터 저장 장치(130-1)와 제2데이터 저장 장치(130-2)를 포함한다. 제1데이터 저장 장치(130-1)는 제1SFR(130-1)로 구현될 수 있고, 제2데이터 저장 장치(130-2)는 제2SFR(130-2)로 구현될 수 있다.
CPU(110A)는 하드웨어 스케일러(140A)에서 사용될 수 있는 복수의 스케일 알고리즘들(또는 복수의 스케일 알고리즘들의 종류)에 대한 데이터를 제1SFR(130-1)에 저장한다. 또한, CPU(110A)는 적응적 변경 여부를 지시하는 데이터를 제2SFR (130-2)에 저장한다.
도 3은 도 2에 도시된 제1데이터 저장 장치에 저장되는 데이터를 나타내고, 도 4는 도 2에 도시된 제2데이터 저장 장치에 저장되는 데이터를 나타낸다.
예컨대, CPU(110A)에 의해 제2SFR(130-2)에 설정된 데이터가 '0'일 때, 분석기(145A)는 제1SFR(130-1)에 설정된 데이터에 상응하는 스케일 알고리즘의 사용을 지시하는 선택 신호(SEL)를 출력한다. 선택 신호(SEL)는 하나 또는 그 이상의 신호들(또는 비트들)을 포함할 수 있다.
도 6은 도 2에 도시된 수직 스케일러와 수평 스케일러의 구체적인 블록도를 나타내다. 도 3과 도 4에서는 설명의 편의를 위해, 제1SFR(130-1)에 저장될 수 있는 데이터가 4종류이고, 수직 스케일러(141A)에 구현된 계수 계산기들(141-2~141-5)의 개수가 4개이고, 수평 스케일러(147A)에 구현된 계수 계산기들(147-2~147-5)의 개수가 4개라고 가정한다. 그러나, 본 발명의 기술적 사상은 제1SFR(130-1)에 저장될 수 있는 데이터의 종류, 수직 스케일러(141A)에 구현된 계수 계산기들의 개수, 및 수평 스케일러(147A)에 구현된 계수 계산기들의 개수에 한정되는 것은 아니다.
쌍을 이루는 각 계수 계산기들(141-2와 147-2, 141-3과 147-3, 141-4와 147-4, 및 141-5와 147-5)은 각 알고리즘을 수행하기 위한 전용 회로로 사용될 수 있다.
예컨대, 제1SFR(130-1)에 저장된 데이터가 '00'이고 제2SFR(130-2)에 저장된 데이터가 '0'일 때, 각 스케일러(141A와 147A)는 해당하는 제1계수 계산기(도 6의 141-2과 147-2)에 의해 생성된 계수들을 이용하여 픽셀들을 수직으로 그리고 수평으로 스케일한다. 즉, 하드웨어 스케일러(140A)는, 한 프레임 동안, 제1스케일 알고리즘을 이용하여 픽셀들을 수직으로 그리고 수평으로 스케일한다. 계수 계산들(도 6의 141-2과 147-2)은 제1스케일 알고리즘을 수생하기 위한 전용 회로들을 의미할 수 있다.
제1SFR(130-1)에 저장된 데이터가 '01'이고 제2SFR(130-2)에 저장된 데이터가 '0'일 때, 각 스케일러(141A와 147A)는 해당하는 제2계수 계산기(도 6의 141-3과 147-3)에 의해 생성된 계수들을 이용하여 픽셀들을 수직으로 그리고 수평으로 스케일한다. 즉, 하드웨어 스케일러(140A)는, 한 프레임 동안, 제2스케일 알고리즘을 이용하여 픽셀들을 수직으로 그리고 수평으로 스케일한다. 제2계수 계산기들(도 6의 141-3과 147-3)은 제2스케일 알고리즘을 수생하기 위한 전용 회로들을 의미할 수 있다.
제1SFR(130-1)에 저장된 데이터가 '10'이고 제2SFR(130-2)에 저장된 데이터가 '0'일 때, 각 스케일러(141A와 147A)는 해당하는 제3계수 계산기(도 6의 141-4과 147-4)에 의해 생성된 계수들을 이용하여 픽셀들을 수직으로 그리고 수평으로 스케일한다. 즉, 하드웨어 스케일러(140A)는, 한 프레임 동안, 제3스케일 알고리즘을 이용하여 픽셀들을 수직으로 그리고 수평으로 스케일한다. 제3계수 계산기들(도 6의 141-4과 147-4)은 제3스케일 알고리즘을 수생하기 위한 전용 회로들을 의미할 수 있다.
제1SFR(130-1)에 저장된 데이터가 '11'이고 제2SFR(130-2)에 저장된 데이터가 '0'일 때, 각 스케일러(141A와 147A)는 해당하는 제4계수 계산기(도 6의 141-5과 147-5)에 의해 생성된 계수들을 이용하여 픽셀들을 수직으로 그리고 수평으로 스케일한다. 즉, 하드웨어 스케일러(140A)는, 한 프레임 동안, 제4스케일 알고리즘을 이용하여 픽셀들을 수직으로 그리고 수평으로 스케일한다. 제4계수 계산기들(도 6의 141-5과 147-5)은 제4스케일 알고리즘을 수생하기 위한 전용 회로들을 의미할 수 있다.
상술한 바와 같이, 제2SFR(130-2)에 저장된 데이터가 '0'일 때, 공유 회로로서 사용되는 분석기(145A)는 라인 메모리(143)에 저장된 픽셀들의 패턴을 분석하지 않는다.
그러나, 제2SFR(130-2)에 저장된 데이터가 '1'일 때, 분석기(145A)는 라인 메모리(143)에 저장된 픽셀들의 패턴을 분석하고, 분석의 결과에 따라 선택 신호 (SEL)를 생성한다.
예컨대, 제1SFR(130-1)에 저장된 데이터가 '00', '01', '10', 및 '11'이고 제2SFR(130-2)에 저장된 데이터가 '1'일 때, 분석기(145A)는 라인 메모리(143)에 저장된 픽셀들의 패턴을 분석하고 분석의 결과에 따라 선택 신호(SEL)를 생성한다. 따라서, 각 스케일러(141A와 147A)는, 선택 신호(SEL)에 기초하여, 4개의 계수 계산기들(141-2~141~5, 및 147-2~147-5) 중에서 어느 하나를 선택한다.
이하에서는, 제1SFR(130-1)에 저장된 데이터가 '00', '01', '10', 및 '11'이고 제2SFR(130-2)에 저장된 데이터가 '1'이라고 가정하고, 도 1부터 도 7을 참조하여 데이터 처리 시스템(100)의 일부(100A)의 작동이 상세히 설명된다.
실시 예에 따라, DMA 컨트롤러(120)는 메모리(300)에 저장된 이미지(IM)를 리드하여 내부 버퍼(또는 메모리)에 저장하고, 상기 내부 버퍼에 저장된 이미지 (IM)에 해당하는 픽셀들 중에서 하드웨어 스케일러(140A)에서 처리될 픽셀들(ISP)을 하드웨어 스케일러(140A)로 전송할 수 있다.
다른 실시 예에 따라, DMA 컨트롤러(120)는 메모리(300)에 저장된 이미지 (IM)를 리드하고, 이미지(IM)에 해당하는 픽셀들(ISP)을 하드웨어 스케일러(140A)로 전송할 수 있다.
DMA 컨트롤러(120)는 이미지(IM)에 해당하는 픽셀들(ISP)을 실시간(in-the-fly)로 하드웨어 스케일러(140A)로 전송할 수 있다.
수직 스케일러(141A)는 픽셀들(ISP)을 라인 메모리(143)로 전송한다. 수직 스케일러(141A)의 제1제어 회로(141-1A)는 픽셀들(ISP)을 라인 메모리(143)로 전송할 수 있다.
라인 메모리(143)는 복수의 라인들에 해당하는 픽셀들을 저장할 수 있다. 분석기(145A)는, 제1SFR(130-1)에 저장된 데이터와 제2SFR(130-2)에 저장된 데이터에 기초하여, 라인 메모리(143)에 저장된 픽셀들의 패턴을 분석할지를 결정한다.
상술한 조건에서, 제2SFR(130-2)에 저장된 데이터가 '1'이므로, 분석기 (145A)는 라인 메모리(143)에 저장된 픽셀들의 패턴을 분석한다. 분석기(145A)는, 분석 결과와 제1SFR(130-1)에 저장된 데이터에 기초하여, 선택 신호(SEL)를 생성한다.
예컨대, 픽셀들의 패턴이 제1패턴으로 분석되고, 상기 제1패턴에 상응하는 제1스케일 알고리즘을 수행하기 위한 제1계수 계산기(141-2)의 사용 데이터가 제1SFR(130-1)에 설정되어 있을 때, 분석기(145A)는 제1계수 계산기(141-2)의 인에이블을 지시하는 선택 신호(SEL)를 생성한다.
픽셀들의 패턴이 상기 제1패턴과 다른 제2패턴으로 분석되고, 상기 제2패턴에 상응하는 제2스케일 알고리즘을 수행하기 위한 제2계수 계산기(141-3)의 사용 데이터가 제1SFR(130-1)에 설정되어 있을 때, 분석기(145A)는 제2계수 계산기(141-3)의 인에이블을 지시하는 선택 신호(SEL)를 생성한다.
픽셀들의 패턴이 상기 제2패턴과 다른 제3패턴으로 분석되고, 상기 제3패턴에 상응하는 제3스케일 알고리즘을 수행하기 위한 제3계수 계산기(141-4)의 사용 데이터가 제1SFR(130-1)에 설정되어 있을 때, 분석기(145A)는 제3계수 계산기(141-4)의 인에이블을 지시하는 선택 신호(SEL)를 생성한다.
픽셀들의 패턴이 상기 제3패턴과 다른 제4패턴으로 분석되고, 상기 제4패턴에 상응하는 제4스케일 알고리즘을 수행하기 위한 제4계수 계산기(141-5)의 사용 데이터가 제1SFR(130-1)에 설정되어 있을 때, 분석기(145A)는 제4계수 계산기(141-5)의 인에이블을 지시하는 선택 신호(SEL)를 생성한다.
실시 예에 따라, 분석기(145A)가 제1계수 계산기(141-2)의 인에이블을 지시하는 선택 신호(SEL)를 제1제어 회로(141-1A)로 출력하면, 제1제어 회로(141-1A)는 라인 메모리(143)에 저장된 픽셀들(ISP)을 리드하고, 리드된 픽셀들(ISP)을 제1계산 회로(141-6A)로 전송한다. 각 회로(141-1A와 141-6A)는 공유 회로로서 사용될 수 있다.
제1제어 회로(141-1A)는 제1계수 계산기(141-2)의 인에이블을 지시하는 인에이블 신호(EN1)를 계수 계산기들(141-2~141-5)로 전송한다. 따라서, 계수 계산기들 (141-2~141-5) 중에서 제1계수 계산기(141-2)만이 인에이블되고, 제1계수 계산기 (141-2)는 제1스케일 알고리즘의 수행에 필요한 계수들(C1~C8)을 생성한다.
제1계산 회로(141-6A)는 픽셀들(ISP)과 계수들(C1~C8)을 수신하고, 계수들 (C1~C8)을 이용하여 픽셀들(ISP)을 수직으로 스케일하고, 수직으로 스케일된 픽셀들(VSP)을 수평 스케일러(147A)로 전송한다.
분석기(145A)가 제1계수 계산기(147-2)의 인에이블을 지시하는 선택 신호 (SEL)를 제2제어 회로(147-1A)로 출력하면, 제2제어 회로(147-1A)는 수직으로 스케일된 픽셀들(VSP)을 제2계산 회로(147-6A)로 전송한다. 각 회로(147-1A와 147-6A)는 공유 회로로서 사용될 수 있다.
제2제어 회로(147-1A)는 제1계수 계산기(147-2)의 인에이블을 지시하는 인에이블 신호(EN2)를 계수 계산기들(147-2~147-5)로 전송한다. 따라서, 계수 계산기들 (147-2~147-5) 중에서 제1계수 계산기(147-2)만이 인에이블되고, 제1계수 계산기 (147-2)는 제1스케일 알고리즘의 수행에 필요한 계수들(C1~C8)을 생성한다.
제2계산 회로(147-6A)는 수직으로 스케일된 픽셀들(VSP)과 계수들(C1~C8)을 수신하고, 계수들(C1~C8)을 이용하여, 수직으로 스케일된 픽셀들(VSP)을 수평으로 스케일하고, 수평으로 스케일된 픽셀들(HSP)을 출력한다.
도 7은 도 6에 도시된 계산 회로의 개념도를 나타낸다.
도 7에 도시된 바와 같이, 제1계산 회로(141-6A)는 8-탭 필터(tap-filter)라고 가정한다. 계산 회로(141-6A)는 8개의 곱셈기들(M1~M8)과 7개의 가산기들 (AD1~AD7)을 포함한다. 계산 회로(141-6A)는 설명의 편의를 위해 예시적으로 도시된 것으로서 이에 한정되는 것은 아니다.
도 8은 도 6에 도시된 각 계수 계산기에 의해 생성되는 계수들의 실시 예를 나타낸다. 제1계수 계산기(141-2)는 제1스케일 알고리즘의 수행에 필요한 8개의 계수들(C1~C8)을 생성하고, 제2계수 계산기(141-3)는 제2스케일 알고리즘의 수행에 필요한 4개의 계수들(C1, C3, C5, 및 C7)을 생성하고, 제3계수 계산기(141-4)는 제3스케일 알고리즘의 수행에 필요한 4개의 계수들(C1~C4)을 생성하고, 제4계수 계산기(141-5)는 제4스케일 알고리즘의 수행에 필요한 4개의 계수들(C5~C8)을 생성한다고 가정한다.
또한, 제2계수 계산기(141-3)는 디폴트로 결정된 4개의 계수들(C2, C4, C6, 및 C8)을 생성하고, 제3계수 계산기(141-4)는 디폴트로 결정된 4개의 계수들 (C5~C8)을 생성하고, 제4계수 계산기(141-5)는 디폴트로 결정된 4개의 계수들 (C1~C4)을 생성한다고 가정한다.
제2계산 회로(147-6A)의 구조와 작동은 제1계산 회로(141-6A)의 구조와 작동과 동일할 수도 있고 다를 수도 있으나, 설명의 편의를 위해 제2계산 회로(147-6A)의 구조와 작동은 제1계산 회로(141-6A)의 구조와 작동과 실질적으로 동일하다고 가정한다.
또한, 서로 대응되는 계수 계산기들(141-2과 147-2)의 구조는 동일할 수도 있고 다를 수도 있으나 설명의 편의를 위해 계수 계산기들(141-2과 147-2)의 구조는 동일하고, 서로 대응되는 계수 계산기들(141-3과 147-3)의 구조는 동일할 수도 있고 다를 수도 있으나 설명의 편의를 위해 계수 계산기들(141-3과 147-3)의 구조는 동일하고, 서로 대응되는 계수 계산기들(141-4과 147-4)의 구조는 동일할 수도 있고 다를 수도 있으나 설명의 편의를 위해 계수 계산기들(141-4과 147-4)의 구조는 동일하고, 서로 대응되는 계수 계산기들(141-5과 147-5)의 구조는 동일할 수도 있고 다를 수도 있으나 설명의 편의를 위해 계수 계산기들(141-5과 147-5)의 구조는 동일하다고 가정한다.
즉, 제어 회로들(141-1A와 147-1A)과 계산 회로들(141-6A과 147-6A)은 공유 회로에 포함된다. 각 계산 회로(141-6A과 147-6A)에 포함된 구성 요소들(M1~M8, 및 AD1~AD7) 중에서 적어도 일부는 선택된 스케일 알고리즘에 따라 사용되지 않을 수도 있다.
계수 계산기들(141-2과 147-2)은 제1스케일 알고리즘을 수행할 수 있는 제1전용 회로에 포함된다. 계수 계산기들(141-3과 147-3)은 제2스케일 알고리즘을 수행할 수 있는 제2전용 회로에 포함된다. 계수 계산기들(141-4과 147-4)은 제3스케일 알고리즘을 수행할 수 있는 제3전용 회로에 포함된다. 계수 계산기들(141-5와 147-5)은 제4스케일 알고리즘을 수행할 수 있는 제4전용 회로에 포함된다.
다른 실시 예에 따라, 분석기(145A)가 제4계수 계산기(141-5)의 인에이블을 지시하는 선택 신호(SEL)를 제1제어 회로(141-1A)로 출력하면, 제1제어 회로(141-1A)는 라인 메모리(143)에 저장된 픽셀들(ISP)을 리드하고, 리드된 픽셀들(ISP)을 제1계산 회로(141-6A)로 전송한다.
제1제어 회로(141-1A)는 제4계수 계산기(141-5)의 인에이블을 지시하는 인에이블 신호(EN1)를 계수 계산기들(141-2~141-5)로 전송한다. 따라서, 계수 계산기들 (141-2~141-5) 중에서 제4계수 계산기(141-5)만이 인에이블되고, 제4계수 계산기 (141-5)는 제4스케일 알고리즘의 수행에 필요한 계수들(C5~C8)을 생성한다.
제1계산 회로(141-6A)는 픽셀들(ISP)과 계수들(C5~C8)을 수신하고, 계수들 (C5~C8)을 이용하여 픽셀들(ISP)을 수직으로 스케일하고, 수직으로 스케일된 픽셀들(VSP)을 수평 스케일러(147A)로 전송한다.
분석기(145A)가 제4계수 계산기(147-5)의 인에이블을 지시하는 선택 신호 (SEL)를 제2제어 회로(147-1A)로 출력하면, 제2제어 회로(147-1A)는 수직으로 스케일된 픽셀들(VSP)을 제2계산 회로(147-6A)로 전송한다.
제2제어 회로(147-1A)는 제4계수 계산기(147-5)의 인에이블을 지시하는 인에이블 신호(EN2)를 계수 계산기들(147-2~147-5)로 전송한다. 따라서, 계수 계산기들 (147-2~147-5) 중에서 제4계수 계산기(147-5)만이 인에이블되고, 제4계수 계산기 (147-5)는 제4스케일 알고리즘의 수행에 필요한 계수들(C5~C8)을 생성한다.
제2계산 회로(147-6A)는 수직으로 스케일된 픽셀들(VSP)과 계수들(C5~C8)을 수신하고, 계수들(C5~C8)을 이용하여, 수직으로 스케일된 픽셀들(VSP)을 수평으로 스케일하고, 수평으로 스케일된 픽셀들(HSP)을 출력한다.
도 5는 도 2에 도시된 라인 메모리에 저장된 이미지의 실시 예를 나타낸다.
도 5에 도시된 픽셀들의 패턴에 대한 설명의 편의를 위해, 제5스케일 알고리즘은 바이-큐빅(bi-cubic) 스케일 알고리즘이고, 제6스케일 알고리즘은 폴리-페이즈 필터드(poly-phase filtered) 스케일러 알고리즘이라고 가정한다.
상기 바이-큐빅 스케일 알고리즘은 그래픽스(graphics) 데이터에 대해서는 좋은 성능을 나타낸다. 그러나, 상기 바이-큐빅 스케일 알고리즘은 사선 부분을 잘 처리하지 못하므로, 상기 바이-큐빅 스케일 알고리즘은 비디오 데이터에 대해서는 좋은 성능을 나타내지 못한다.
폴리-페이즈 필터드 스케일러 알고리즘은 사선 부분을 잘 처리하나 경계면 부분을 잘 처리하지 못한다. 폴리-페이즈 필터드 스케일러 알고리즘은 비디오 데이터에 대해서는 좋은 성능을 나타내지만 그래픽스 데이터에 대해서는 좋은 성능을 나타내지 못한다.
상술한 바와 같이 서로 다른 스케일 알고리즘은 서로 다른 장점들과 단점들을 갖는다. 따라서, 분석기(145A)는 라인 메모리(143)에 저장된 픽셀들의 패턴을 분석하고, 분석 결과에 따라 선택 신호(SEL)를 생성할 수 있다.
도 9는 도 1에 도시된 데이터 처리 시스템의 작동을 설명하는 플로우 차트이다. 도 1부터 도 9를 참조하면, 데이터 처리 시스템(100A)에서 CPU(110A)는 각 SFR(130-1과 130-2)에 데이터를 설정한다(S110).
분석기(145A)는 각 SFR(130-1과 130-2)로부터 데이터를 리드하고, 제2SFR (130-2)에 저장된 데이터에 기초하여 적응적 변경 여부를 판단한다(S112). 도 4에 도시된 바와 같이, 제2SFR(130-2)에 저장된 데이터가 '0'일 때, 분석기(145A)는 라인 메모리(143)에 저장된 픽셀들의 패턴은 분석하지 않고, 제1SFR(130-1)에 저장된 데이터에 상응하는 선택 신호(SEL)를 생성한다.
실시 예에 따라, 제2SFR(130-2)에 저장된 데이터가 '0'이고 제1SFR(130-1)에 저장된 데이터가 '00'일 때, 분석기(145A)는 각 계수 계산기(141-2와 147-2)의 인에이블을 지시하는 선택 신호(SEL)를 각 제어 회로(141-1A와 147-1A)로 전송한다.
각 제어 회로(141-1A와 147-1A)는 각 계수 계산기(141-2와 147-2)의 인에이블을 지시하는 각 신호(EN1과 EN2)를 생성한다. 따라서, 수직 스케일러(141A)는 계수 계산기(141-2)에 의해 생성된 계수들(C1~C8)을 이용하여 픽셀들(ISP)을 수직으로 스케일한다. 즉, 수직 스케일러(141A)는 제1스케일 알고리즘을 이용하여 픽셀들 (ISP)을 수직으로 스케일한다.
수평 스케일러(147A)는, 계수 계산기(147-2)에 의해 생성된 계수들(C1~C8)을 이용하여, 수직으로 스케일된 픽셀들(VSP)을 수평으로 스케일한다. 즉, 수평 스케일러(147A)는, 제1스케일 알고리즘을 이용하여, 수직으로 스케일된 픽셀들(VSP)을 수평으로 스케일한다.
상술한 바와 같이, 하드웨어 스케일러(140A)는, 제1스케일 알고리즘을 이용하여, 픽셀들(ISP)을 수직으로 스케일하고 수직으로 스케일된 픽셀들(VSP)을 수평으로 스케일한다(S114).
다른 실시 예에 따라, 제2SFR(130-2)에 저장된 데이터가 '0'이고 제1SFR (130-1)에 저장된 데이터가 '10'일 때, 분석기(145A)는 각 계수 계산기(141-4와 147-4)의 인에이블을 지시하는 선택 신호(SEL)를 각 제어 회로(141-1A와 147-1A)로 전송한다.
각 제어 회로(141-1A와 147-1A)는 각 계수 계산기(141-4와 147-4)의 인에이블을 지시하는 각 신호(EN1과 EN2)를 생성한다. 따라서, 수직 스케일러(141A)는 계수 계산기(141-4)에 의해 생성된 계수들(C1~C4)을 이용하여 픽셀들(ISP)을 수직으로 스케일한다. 즉, 수직 스케일러(141A)는 제3스케일 알고리즘을 이용하여 픽셀들 (ISP)을 수직으로 스케일한다.
수평 스케일러(147A)는, 계수 계산기(147-4)에 의해 생성된 계수들(C1~C4)을 이용하여, 수직으로 스케일된 픽셀들(VSP)을 수평으로 스케일한다. 즉, 수평 스케일러(147A)는, 제3스케일 알고리즘을 이용하여, 수직으로 스케일된 픽셀들(VSP)을 수평으로 스케일한다.
상술한 바와 같이, 하드웨어 스케일러(140A)는, 제3스케일 알고리즘을 이용하여, 픽셀들(ISP)을 수직으로 스케일하고 수직으로 스케일된 픽셀들(VSP)을 수평으로 스케일한다(S114).
그러나, 제2SFR(130-2)에 저장된 데이터가 '1'이고 제1SFR(130-1)에 저장된 데이터가 '00'과 '01'일 때(S112), 분석기(145A)는 라인 메모리(143)에 저장된 픽셀들의 패턴을 분석한다(S116). 분석된 패턴이 제2패턴일 때, 분석기(145A)는, 분석된 패턴과 제1SFR(130-1)에 저장된 데이터('00'과 '01')에 기초하여, 각 계수 계산기(141-3와 147-3)의 인에이블을 지시하는 선택 신호(SEL)를 각 제어 회로(141-1A와 147-1A)로 전송한다(S118).
각 제어 회로(141-1A와 147-1A)는 각 계수 계산기(141-3와 147-3)의 인에이블을 지시하는 각 신호(EN1과 EN2)를 생성한다(S120). 따라서, 수직 스케일러 (141A)는 계수 계산기(141-3)에 의해 생성된 계수들(C1, C3, C5, 및 C7)을 이용하여 픽셀들(ISP)을 수직으로 스케일한다. 즉, 수직 스케일러(141A)는 제2스케일 알고리즘을 이용하여 픽셀들(ISP)을 수직으로 스케일한다.
수평 스케일러(147A)는, 계수 계산기(147-3)에 의해 생성된 계수들(C1, C3, C5, 및 C7)을 이용하여, 수직으로 스케일된 픽셀들(VSP)을 수평으로 스케일한다. 즉, 수평 스케일러(147A)는, 제2스케일 알고리즘을 이용하여, 수직으로 스케일된 픽셀들(VSP)을 수평으로 스케일한다.
상술한 바와 같이, 하드웨어 스케일러(140A)는, 제2스케일 알고리즘을 이용하여, 픽셀들(ISP)을 수직으로 스케일하고 수직으로 스케일된 픽셀들(VSP)을 수평으로 스케일한다(S122).
도 10은 본 발명의 다른 실시 예에 따른 하드웨어 스케일러와 데이터 저장 장치의 블록도를 나타내고, 도 11은 도 10에 도시된 제3데이터 저장 장치에 저장되는 데이터를 나타낸다.
도 10을 참조하면, 하드웨어 스케일러(140B)는 수직 스케일러(141A), 라인 메모리(143), 분석기(145B), 및 수평 스케일러(147A)를 포함한다. 도 10에서는 설명의 편의를 위해, CPU(110B), DMA 컨트롤러(120), 데이터 저장 장치(130B), 및 메모리 (300)를 하드웨어 스케일러(140B)와 함께 도시한다. CPU(110B)는 도 1의 CPU(110)의 다른 실시 예이고, 데이터 저장 장치(130B)는 도 1의 데이터 저장 장치 (130)의 다른 실시 예이고, 하드웨어 스케일러(140B)는 도 1의 스케일러(140)의 다른 실시 예이다.
데이터 저장 장치(130B)는 제1데이터 저장 장치(130-1), 제2데이터 저장 장치(130-2), 및 제3데이터 저장 장치(130-3)를 포함한다. 제3데이터 저장 장치(130-3)는 제3SFR(130-3)로 구현될 수 있다.
도 11에 도시된 바와 같이, CPU(110B)에 의해 제3SFR(130-3)에 설정된 데이터는 변경 모드(change mode)를 나타낸다. 예컨대, 제3SFR(130-3)에 설정된 데이터는 해석될 픽셀들의 개수(또는 크기)에 대한 데이터일 수 있다. 제3SFR(130-3)에 설정된 데이터가 '0'일 때, 분석기(145B)는 윈도우(wondow) 단위로 픽셀들의 패턴을 분석하고, 분석 결과에 따라 윈도우 단위로 스케일 알고리즘을 적용할 수 있다. 윈도우는 m*m(m은 2 이상의 자연수) 픽셀들의 집합을 의미할 수 있다.
제3SFR(130-3)에 설정된 데이터가 '1'일 때, 분석기(145B)는 라인들 별로 픽셀들의 패턴을 분석하고, 분석 결과에 따라 라인들 별로 스케일 알고리즘을 변경할 수 있다. 예컨대, 분석기(145B)는 N(N은 2 이상의 자연수, 예컨대 4)-라인마다 픽셀들의 패턴을 분석하고, 분석 결과에 따라 4-라인마다 스케일 알고리즘을 변경할 수 있다.
즉, 라인들에 포함된 픽셀들의 일부는 윈도우에 포함된 픽셀들일 수 있다. 예컨대, 이미지(IM)의 해상도가 1920*1080이고, 라인들에 포함된 픽셀들의 개수가 4*1080일 때, 윈도우는 4*4 픽셀들을 포함할 수 있다. 따라서, 분석기(145A)에 의해 분석될 픽셀들의 개수는 라인 메모리(143)에 저장된 픽셀들의 개수와 같거나(예컨대, 라인들 단위로 분석 시) 작을 수 있다(예컨대, 윈도우 단위로 분석 시). 따라서, 픽셀들(ISP)이 라인 메모리(143)에 저장될 때, 분석기(145A)에 의해 분석될 픽셀들의 개수는 픽셀들(ISP)의 개수와 같거나 작을 수 있다.
분석기(145B)는, 제1SFR(130-1)에 저장된 데이터, 제2SFR(130-2)에 저장된 데이터, 및 제3SFR(130-3)에 저장된 데이터에 기초하여, 적응적 변경을 수행할지 여부, 적응적 변경을 수행할 때 윈도우 단위로 수행하지 또는 라인들 별로 수행할지를 결정할 수 있다. 분석기(145B)가 적응적 변경을 수행할 때, 분석기(145B)는 윈도우 단위로 픽셀들의 패턴을 분석하거나 라인들 별로 픽셀들의 패턴을 분석할 수 있다.
도 12는 본 발명의 다른 실시 예에 따른 하드웨어 스케일러와 데이터 저장 장치의 블록도를 나타내고, 도 13은 도 12에 도시된 수직 스케일러와 수평 스케일러의 구체적인 블록도를 나타내다.
도 12를 참조하면, 하드웨어 스케일러(140C)는 수직 스케일러(141B), 라인 메모리(143), 분석기(145C), 및 수평 스케일러(147B)를 포함한다. 도 12에서는 설명의 편의를 위해, CPU(110C), DMA 컨트롤러(120), 데이터 저장 장치(130C), 및 메모리 (300)를 하드웨어 스케일러(140C)와 함께 도시한다. CPU(110C)는 도 1의 CPU(110)의 또 다른 실시 예이고, 데이터 저장 장치(130C)는 도 1의 데이터 저장 장치(130)의 또 다른 실시 예이고, 하드웨어 스케일러(140C)는 도 1의 스케일러(140)의 또 다른 실시 예이다.
데이터 저장 장치(130C)는 제1데이터 저장 장치(130-1), 제2데이터 저장 장치(130-2), 및 제4데이터 저장 장치(130-4)를 포함한다. 제4데이터 저장 장치(130-4)는 제4SFR(130-4)로 구현될 수 있다.
제4SFR(130-4)는 CPU(110C)에 의해 생성된 계수들(예컨대, 수직 스케일 계수들과 수평 스케일 계수들)을 저장한다.
분석기(145C)는, 제1SFR(130-1)에 저장된 데이터와 제2SFR(130-2)에 저장된 데이터에 기초하여, 적응적 변경을 수행할지 여부와 적응적 변경을 지원할 수 있는 스케일 알고리즘의 종류를 결정할 수 있다. 분석기(145B)가 적응적 변경을 수행할 때, 분석기(145C)는 라인 메모리(143)에 저장된 픽셀들의 패턴을 분석할 수 있다.
제1SFR(130-1)에는 제6스케일 알고리즘(예컨대, 폴리-페이즈 필터드(poly-phase filtered) 스케일러 알고리즘)의 수행을 지시하는 데이터가 저장되어 있다고 가정하고, 수직 스케일러(141B)와 수평 스케일러(147B)는 선택 신호(SEL)에 응답하여 제6스케일 알고리즘을 수행한다고 가정한다.
도 3, 도 4, 도 5, 도 7, 도 8, 도 12, 및 도 13을 참조하면, 분석기(145C)에 의해 분석된 패턴이 도 5의 사선 부분(A1과 A2)을 포함할 때, 분석기(145C)는 선택 신호(SEL)를 각 제어 회로(141-1B와 147-1B)로 전송한다. 따라서, 수직 스케일러(141B)와 수평 스케일러(147B)는 선택 신호(SEL)에 응답하여 제6스케일 알고리즘을 수행한다.
각 제어 회로(141-1B와 147-1B)는 각 계수 계산기(141-2~141-4 및 147-2~147-4)의 디스에이블을 지시하는 각 신호(EN1과 EN2)를 생성한다.
제1제어 회로(141-1B)는, 선택 신호(SEL)에 응답하여, 제4SFR(130-4)에 저장된 제1계수들(예컨대, 수직 스케일 계수들; COEF1)과 픽셀들(ISP)을 제1계산 회로 (141-6B)로 전송한다. 제1계산 회로(141-6B)는 제1계수들(COEF1)을 이용하여 픽셀들(ISP)을 수직으로 스케일하고, 수직으로 스케일된 픽셀들(VSP)을 제2제어 회로(147-1B)로 전송한다.
제2제어 회로(147-1B)는, 선택 신호(SEL)에 응답하여, 제4SFR(130-4)에 저장된 제2계수들(예컨대, 수평 스케일 계수들; COEF2)과 수직으로 스케일된 픽셀들 (VSP)을 제2계산 회로(147-6B)로 전송한다. 제2계산 회로(147-6B)는, 제2계수들 (COEF2)을 이용하여, 수직으로 스케일된 픽셀들(VSP)을 수평으로 스케일하고, 수평으로 스케일된 픽셀들(HSP)을 전송한다.
실시 예들에 따라, 제1계수들(COEF1)의 개수와 제2계수들(COEF2)의 개수는 서로 동일할 수도 있고 서로 다를 수도 있다. 또한, 실시 예들에 따라, 제1계수들 (COEF1)의 개수와 픽셀들(ISP)의 개수는 서로 동일할 수도 있고 서로 다를 수도 있다. 실시 예들에 따라, 제2계수들(COEF2)의 개수와 수직으로 스케일된 픽셀들(VSP)의 개수는 서로 동일할 수도 있고 서로 다를 수도 있다.
제1제어 회로(141-1B)는 선택 신호(SEL)에 응답하여 인에이블 신호(EN1)를 생성할 수 있다. 또한, 제1제어 회로(141-1B)는 선택 신호(SEL)에 응답하여 픽셀들(ISP)을 제1계산 회로(141-6B)로 전송하거나 선택 신호(SEL)에 응답하여 픽셀들(ISP)과 제1계수들(COEF1)을 제1계산 회로(141-6B)로 전송할 수 있다.
제1계산 회로(141-6B)는 계수 계산기들(141-2~141-4) 중에서 어느 하나에 의해 계산된 계수들 또는 제1계수들(COEF1)을 이용하여 픽셀들(ISP)을 수직으로 스케일하고 수직으로 스케일된 픽셀들(VSP)을 출력할 수 있다.
제2제어 회로(147-1B)는 선택 신호(SEL)에 응답하여 인에이블 신호(EN2)를 생성할 수 있다. 또한, 제2제어 회로(147-1B)는, 선택 신호(SEL)에 응답하여, 수직으로 스케일된 픽셀들(VSP)을 제2계산 회로(147-6B)로 전송하거나, 선택 신호(SEL)에 응답하여, 수직으로 스케일된 픽셀들(VSP)과 제2계수들(COEF2)을 제2계산 회로(147-6B)로 전송할 수 있다.
제2계산 회로(147-6B)는, 계수 계산기들(147-2~147-4) 중에서 어느 하나에 의해 계산된 계수들 또는 제2계수들(COEF2)을 이용하여, 수직으로 스케일된 픽셀들 (VSP)을 수평으로 스케일하고 수평으로 스케일된 픽셀들(HSP)을 출력할 수 있다.
도 14는 본 발명의 또 다른 실시 예를 설명하기 위해 도 1에 도시된 데이터 저장 장치와 스케일러를 포함하는 데이터 처리 시스템의 일부를 나타내는 블록도이고, 도 15는 도 12에 도시된 수직 스케일러와 수평 스케일러의 구체적인 블록도를 나타내다.
도 14를 참조하면, 하드웨어 스케일러(140D)는 수직 스케일러(141C), 라인 메모리(143), 분석기(145D), 및 수평 스케일러(147C)를 포함한다. 도 14에서는 설명의 편의를 위해, CPU(110D), DMA 컨트롤러(120), 데이터 저장 장치(130D), 및 메모리 (300)를 하드웨어 스케일러(140D)와 함께 도시한다. CPU(110D)는 도 1의 CPU(110)의 또 다른 실시 예이고, 데이터 저장 장치(130D)는 도 1의 데이터 저장 장치(130)의 또 다른 실시 예이고, 하드웨어 스케일러(140D)는 도 1의 스케일러(140)의 또 다른 실시 예이다.
데이터 저장 장치(130C)는 제1데이터 저장 장치(130-1), 제2데이터 저장 장치(130-2), 제3데이터 저장 장치(130-3), 및 제4데이터 저장 장치(130-4)를 포함한다.
각 스케일러(141C와 147C)는 각 데이터 저장 장치(130-1~130-4)에 저장된 데이터에 기초하여 선택된 스케일 알고리즘을 이용하여 픽셀들(ISP 또는 VSP)을 스케일할 수 있다.
도 14에 도시된 하드웨어 스케일러(140D)의 구조와 작동은 도 2부터 도 13을 참조하여 설명된 각 하드웨어 스케일러(140A, 140B, 또는 140C)의 구조와 작동을 참조하여 이해될 수 있으므로 하드웨어 스케일러(140D)의 구조와 작동에 대한 상세한 설명은 생략한다.
각 제어 회로(141-1C와 147-1C)의 작동은 각 제어 회로(141-1A와 147-1A)의 작동과 실질적으로 유사하고, 각 계산 회로(141-6C와 147-6C)의 작동은 각 계산 회로(141-6A와 147-6A)의 작동과 실질적으로 유사하다.
제1제어 회로(141-1C)는, 선택 신호(SEL)에 응답하여, 인에이블 신호(EN1)를 생성할 수 있다. 또한, 제1제어 회로(141-1C)는 선택 신호(SEL)에 응답하여 픽셀들 (ISP)을 제1계산 회로(141-6C)로 전송하거나 선택 신호(SEL)에 응답하여 픽셀들 (ISP)과 제1계수들(COEF1)을 제1계산 회로(141-6C)로 전송할 수 있다.
제1계산 회로(141-6C)는, 계수 계산기들(141-2~141-5) 중에서 어느 하나에 의해 계산된 계수들 또는 제1계수들(COEF1)을 이용하여, 픽셀들(ISP)을 수직으로 스케일하고 수직으로 스케일된 픽셀들(VSP)을 출력할 수 있다.
제2제어 회로(147-1C)는 선택 신호(SEL)에 응답하여 인에이블 신호(EN2)를 생성할 수 있다. 또한, 제2제어 회로(147-1C)는, 선택 신호(SEL)에 응답하여, 수직으로 스케일된 픽셀들(VSP)을 제2계산 회로(147-6C)로 전송하거나, 선택 신호(SEL)에 응답하여, 수직으로 스케일된 픽셀들(VSP)과 제2계수들(COEF2)을 제2계산 회로 (147-6C)로 전송할 수 있다.
제2계산 회로(147-6C)는, 계수 계산기들(147-2~147-5) 중에서 어느 하나에 의해 계산된 계수들 또는 제2계수들(COEF2)을 이용하여, 수직으로 스케일된 픽셀들 (VSP)을 수평으로 스케일하고 수평으로 스케일된 픽셀들(HSP)을 출력할 수 있다.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100; 데이터 처리 시스템
200; 호스트
140, 140A~140D; 하드웨어 스케일러
141A~141C; 수직 스케일러
147A~147C; 수평 스케일러
143; 라인 메모리
145A~145D; 분석기
130-1~130-4; SFR들
141-1A, 141-1B, 141-1C; 제1제어 회로
141-6A, 141-6B, 141-6C; 제1계산 회로
147-1A, 147-1B, 147-1C; 제2제어 회로
147-6A, 147-6B, 147-6C; 제2계산 회로

Claims (20)

  1. 가변구조형 하드웨어 스케일러를 포함하는 애플리케이션 프로세서에 있어서,
    상기 가변구조형 하드웨어 스케일러는,
    각각이 서로 다른 스케일 알고리즘들 중 하나를 선택하게 하는 레지스터;
    상기 서로 다른 스케일 알고리즘들 각각을 수행하기 위한 전용 회로들; 및
    상기 전용 회로들 각각에 의해 공유되는 공유 회로로, 상기 공유 회로는 제1픽셀들을 스케일하는 제1계산 회로 및 상기 제1픽셀들과 관련된 제2픽셀들의 패턴을 분석하고 상기 분석 결과에 따라 상기 전용 회로들 중 하나의 선택을 지시하는 선택 신호 발생하는 분석기를 포함하는 공유 회로를 포함하고,
    상기 가변구조형 하드웨어 스케일러는, 처리될 픽셀들의 패턴에 따라 상기 서로 다른 스케일 알고리즘을 지원하고 상기 전용 회로들 중의 상기 선택된 하나와 상기 공유 회로에 의해 상기 서로 다른 스케일 알고리즘들 중에서 어느 하나를 수행하는 애플리케이션 프로세서.
  2. 제1항에 있어서,
    상기 전용 회로들 각각은 상기 서로 다른 스케일 알고리즘들 각각에 상응하는 계수들을 생성하는 제1계수 계산기들 각각을 포함하고,
    상기 제1계산 회로는, 상기 제1계수 계산기들 중에서 선택된 제1계수 계산기에 의해 생성된 제1계수들을 이용하여, 제1픽셀들을 수직으로 스케일하고 수직으로 스케일된 픽셀들을 출력하는 애플리케이션 프로세서.
  3. 제2항에 있어서,
    상기 전용 회로들 각각은 상기 서로 다른 스케일 알고리즘들 각각에 상응하는 계수들을 생성하는 제2계수 계산기들 각각을 더 포함하고,
    상기 공유 회로는, 상기 제2계수 계산기들 중에서 선택된 제2계수 계산기에 의해 생성된 제2계수들을 이용하여, 상기 수직으로 스케일된 픽셀들을 수평으로 스케일하고 수평으로 스케일된 픽셀들을 출력하는 제2계산 회로를 더 포함하는 애플리케이션 프로세서.
  4. 제3항에 있어서,
    상기 선택 신호는 상기 제1계수 계산기와 상기 제2계수 계산기를 선택하도록 지시하는 애플리케이션 프로세서.
  5. 제4항에 있어서,
    상기 제2픽셀들은 라인들에 상응하는 픽셀들 또는 상기 라인들에 상응하는 상기 픽셀들의 일부인 애플리케이션 프로세서.
  6. 제4항에 있어서,
    상기 애플리케이션 프로세서는 분석될 픽셀들의 개수에 대한 데이터를 저장하는 데이터 저장 장치를 더 포함하고,
    상기 공유 회로는 라인들에 상응하는 상기 제1픽셀들을 저장하는 라인 메모리를 더 포함하고,
    상기 분석기는, 상기 데이터에 기초하여, 상기 라인 메모리에 저장된 상기 제1픽셀들 또는 상기 제1픽셀들의 일부를 상기 제2픽셀들로 선택하고, 선택된 상기 제2픽셀들의 패턴을 분석하고, 상기 분석 결과에 따라 상기 선택 신호를 생성하는 애플리케이션 프로세서.
  7. 제4항에 있어서,
    상기 애플리케이션 프로세서는 상기 가변 구조형 하드웨어 스케일러에서 사용될 수 있는 상기 스케일 알고리즘들의 종류에 대한 데이터를 저장하는 데이터 저장 장치를 더 포함하고,
    상기 분석기는 상기 데이터를 리드하고, 리드된 데이터와 상기 분석 결과에 기초하여 상기 제1계수 계산기와 상기 제2계수 계산기를 선택하기 위한 상기 선택 신호를 생성하는 애플리케이션 프로세서.
  8. 제3항에 있어서, 상기 애플리케이션 프로세서는,
    수직 스케일 계수들과 수평 스케일 계수들을 생성하는 CPU; 및
    상기 CPU에 의해 생성된 상기 수직 스케일 계수들과 상기 수평 스케일 계수들을 저장하는 데이터 저장 장치를 더 포함하고,
    상기 제1계산 회로는, 상기 제1계수들 대신에 상기 수직 스케일 계수들을 이용하여, 상기 제1픽셀들을 수직으로 스케일하고 상기 수직으로 스케일된 픽셀들을 출력하고,
    상기 제2계산 회로는, 상기 제2계수들 대신에 상기 수평 스케일 계수들을 이용하여, 상기 수직으로 스케일된 픽셀들을 수평으로 스케일하고 상기 수평으로 스케일된 픽셀들을 출력하는 애플리케이션 프로세서.
  9. 제3항에 있어서,
    상기 제1픽셀들의 개수와 상기 제1계수들의 개수는 서로 다르고,
    상기 수직으로 스케일된 픽셀들의 개수와 상기 제2계수들의 개수는 서로 다른 애플리케이션 프로세서.
  10. 제1픽셀들을 포함하는 이미지를 저장하는 메모리; 및
    상기 메모리에 접속된 애플리케이션 프로세서를 포함하고,
    상기 애플리케이션 프로세서는,
    상기 메모리로부터 상기 제1픽셀들을 리드하는 DMA 컨트롤러;
    각각이 서로 다른 스케일 알고리즘들 중 하나를 선택하게 하는 레지스터 및
    가변구조형 하드웨어 스케일러를 포함하고,
    상기 가변구조형 하드웨어 스케일러는,
    상기 서로 다른 스케일 알고리즘들 각각을 수행하기 위한 전용 회로들; 및
    상기 전용 회로들 각각에 의해 공유되는 공유 회로로, 상기 공유 회로는 제1픽셀들을 스케일하는 제1계산 회로 및 상기 제1픽셀들과 관련된 제2픽셀들의 패턴을 분석하고 상기 분석 결과에 따라 상기 전용 회로들 중 하나의 선택을 지시하는 선택 신호 발생하는 분석기를 포함하는 분석기를 포함하고,
    상기 가변구조형 하드웨어 스케일러는, 처리될 픽셀들의 패턴에 따라 상기 서로 다른 스케일 알고리즘을 지원하고 상기 전용 회로들 중의 상기 선택된 하나와 상기 공유 회로에 의해 상기 서로 다른 스케일 알고리즘들 중에서 어느 하나를 수행하는 시스템 온 칩.
  11. 제10항에 있어서,
    상기 전용 회로들 각각은 상기 서로 다른 스케일 알고리즘들 각각에 상응하는 계수들을 생성하는 제1계수 계산기들 각각을 포함하고,
    상기 제1계산 회로는,상기 제1계수 계산기들 중에서 선택된 제1계수 계산기에 의해 생성된 제1계수들을 이용하여, 상기 제1픽셀들을 수직으로 스케일하고 수직으로 스케일된 픽셀들을 출력하는 시스템 온 칩.
  12. 제11항에 있어서,
    상기 전용 회로들 각각은 상기 서로 다른 스케일 알고리즘들 각각에 상응하는 계수들을 생성하는 제2계수 계산기들 각각을 더 포함하고,
    상기 공유 회로는, 상기 제2계수 계산기들 중에서 선택된 제2계수 계산기에 의해 생성된 제2계수들을 이용하여, 상기 수직으로 스케일된 픽셀들을 수평으로 스케일하고 수평으로 스케일된 픽셀들을 출력하는 제2계산 회로를 더 포함하는 시스템 온 칩.
  13. 제12항에 있어서, 상기 선택 신호는 상기 제1계수 계산기와 상기 제2계수 계산기를 선택하도록 지시하는 시스템 온 칩.
  14. 제13항에 있어서,
    상기 시스템 온 칩은 분석될 픽셀들의 개수에 대한 데이터를 저장하는 데이터 저장 장치를 더 포함하고,
    상기 공유 회로는 라인들에 상응하는 상기 제1픽셀들을 저장하는 라인 메모리를 더 포함하고,
    상기 분석기는, 상기 데이터에 기초하여, 상기 라인 메모리에 저장된 상기 제1픽셀들 또는 상기 제1픽셀들의 일부를 상기 제2픽셀들로 선택하고, 선택된 상기 제2픽셀들의 패턴을 분석하고, 상기 분석 결과에 따라 상기 선택 신호를 생성하는 시스템 온 칩.
  15. 제13항에 있어서,
    상기 시스템 온 칩은 상기 가변 구조형 하드웨어 스케일러에서 사용될 수 있는 상기 스케일 알고리즘들의 종류에 대한 데이터를 저장하는 데이터 저장 장치를 더 포함하고,
    상기 분석기는 상기 데이터를 리드하고, 리드된 데이터와 상기 분석 결과에 기초하여 상기 제1계수 계산기와 상기 제2계수 계산기를 선택하기 위한 상기 선택 신호를 생성하는 시스템 온 칩.
  16. 제12항에 있어서, 상기 시스템 온 칩은,
    수직 스케일 계수들과 수평 스케일 계수들을 생성하는 CPU; 및
    상기 CPU에 의해 생성된 상기 수직 스케일 계수들과 상기 수평 스케일 계수들을 저장하는 데이터 저장 장치를 더 포함하고,
    상기 제1계산 회로는, 상기 제1계수들 대신에 상기 수직 스케일 계수들을 이용하여, 상기 제1픽셀들을 수직으로 스케일하고 상기 수직으로 스케일된 픽셀들을 출력하고,
    상기 제2계산 회로는, 상기 제2계수들 대신에 상기 수평 스케일 계수들을 이용하여, 상기 수직으로 스케일된 픽셀들을 수평으로 스케일하고 상기 수평으로 스케일된 픽셀들을 출력하는 시스템 온 칩.
  17. 시스템 온 칩; 및
    디스플레이를 포함하고,
    상기 시스템 온 칩은,
    제1픽셀들을 포함하는 이미지를 저장하는 메모리; 및
    상기 메모리에 접속된 애플리케이션 프로세서를 포함하고,
    상기 애플리케이션 프로세서는,
    상기 메모리로부터 상기 제1픽셀들을 리드하는 DMA 컨트롤러;
    각각이 서로 다른 스케일 알고리즘들 중 하나를 선택하게 하는 레지스터 및
    가변구조형 하드웨어 스케일러를 포함하고,
    상기 가변구조형 하드웨어 스케일러는,
    상기 서로 다른 스케일 알고리즘들 각각을 수행하기 위한 전용 회로들; 및
    상기 전용 회로들 각각에 의해 공유되는 공유 회로로, 상기 공유 회로는 제1픽셀들을 스케일하는 제1계산 회로 및 상기 제1픽셀들과 관련된 제2픽셀들의 패턴을 분석하고 상기 분석 결과에 따라 상기 전용 회로들 중 하나의 선택을 지시하는 선택 신호 발생하는 분석기를 포함하는 공유 회로를 포함하고,
    상기 가변구조형 하드웨어 스케일러는, 처리될 픽셀들의 패턴에 따라 상기 서로 다른 스케일 알고리즘을 지원하고 상기 전용 회로들 중의 상기 선택된 하나와 상기 공유 회로에 의해 상기 서로 다른 스케일 알고리즘들 중에서 어느 하나를 수행하는 데이터 처리 시스템.
  18. 제17항에 있어서,
    상기 전용 회로들 각각은 상기 서로 다른 스케일 알고리즘들 각각에 상응하는 계수들을 생성하는 제1계수 계산기들 각각을 포함하고,
    상기 제1계산 회로는,
    상기 제1계수 계산기들 중에서 선택된 제1계수 계산기에 의해 생성된 제1계수들을 이용하여, 상기 제1픽셀들을 수직으로 스케일하고 수직으로 스케일된 픽셀들을 출력하는 데이터 처리 시스템.
  19. 제18항에 있어서,
    상기 전용 회로들 각각은 상기 서로 다른 스케일 알고리즘들 각각에 상응하는 계수들을 생성하는 제2계수 계산기들 각각을 더 포함하고,
    상기 공유 회로는, 상기 제2계수 계산기들 중에서 선택된 제2계수 계산기에 의해 생성된 제2계수들을 이용하여, 상기 수직으로 스케일된 픽셀들을 수평으로 스케일하고 수평으로 스케일된 픽셀들을 출력하는 제2계산 회로를 더 포함하는 데이터 처리 시스템.
  20. 제19항에 있어서, 상기 선택 신호는 상기 제1계수 계산기와 상기 제2계수 계산기를 선택하도록 지시하는 데이터 처리 시스템.
KR1020140125793A 2014-09-22 2014-09-22 가변구조형 스케일러를 포함하는 애플리케이션 프로세서와 이를 포함하는 장치들 KR102214028B1 (ko)

Priority Applications (7)

Application Number Priority Date Filing Date Title
KR1020140125793A KR102214028B1 (ko) 2014-09-22 2014-09-22 가변구조형 스케일러를 포함하는 애플리케이션 프로세서와 이를 포함하는 장치들
TW104125603A TWI681361B (zh) 2014-09-22 2015-08-06 應用程式處理器、系統以及資料處理系統
CN201510593738.8A CN105446938B (zh) 2014-09-22 2015-09-17 包括可重构的缩放器的应用处理器及包括该处理器的装置
US14/860,701 US10311545B2 (en) 2014-09-22 2015-09-21 Application processor including reconfigurable scaler and devices including the processor
US16/379,775 US10796409B2 (en) 2014-09-22 2019-04-09 Application processor including reconfigurable scaler and devices including the processor
US17/009,761 US11288768B2 (en) 2014-09-22 2020-09-01 Application processor including reconfigurable scaler and devices including the processor
US17/680,285 US11710213B2 (en) 2014-09-22 2022-02-24 Application processor including reconfigurable scaler and devices including the processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140125793A KR102214028B1 (ko) 2014-09-22 2014-09-22 가변구조형 스케일러를 포함하는 애플리케이션 프로세서와 이를 포함하는 장치들

Publications (2)

Publication Number Publication Date
KR20160034626A KR20160034626A (ko) 2016-03-30
KR102214028B1 true KR102214028B1 (ko) 2021-02-09

Family

ID=55526190

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140125793A KR102214028B1 (ko) 2014-09-22 2014-09-22 가변구조형 스케일러를 포함하는 애플리케이션 프로세서와 이를 포함하는 장치들

Country Status (4)

Country Link
US (4) US10311545B2 (ko)
KR (1) KR102214028B1 (ko)
CN (1) CN105446938B (ko)
TW (1) TWI681361B (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10656838B2 (en) 2015-07-13 2020-05-19 Samsung Electronics Co., Ltd. Automatic stream detection and assignment algorithm
KR102229013B1 (ko) * 2016-09-02 2021-03-17 삼성전자주식회사 자동 스트림 검출 및 할당 알고리즘
KR20200141338A (ko) * 2019-06-10 2020-12-18 삼성전자주식회사 이미지 신호 프로세서, 상기 이미지 신호 프로세서의 동작 방법 및 상기 이미지 신호 프로세서를 포함하는 이미지 처리 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130162901A1 (en) * 2011-12-22 2013-06-27 Silicon Image, Inc. Ringing suppression in video scalers

Family Cites Families (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5951536A (ja) 1982-09-14 1984-03-26 Fujitsu Ltd パタ−ン認識方法及びその装置
KR950008637B1 (ko) * 1993-04-08 1995-08-03 삼성전자주식회사 부밴드 코딩시스템의 신호처리장치
US5764238A (en) * 1993-09-10 1998-06-09 Ati Technologies Inc. Method and apparatus for scaling and blending an image to be displayed
US5517612A (en) 1993-11-12 1996-05-14 International Business Machines Corporation Device for scaling real-time image frames in multi-media workstations
US5999663A (en) 1994-09-02 1999-12-07 Unisys Corporation Imaging system with scaling/normalizing
US5488374A (en) 1994-10-14 1996-01-30 Hughes Aircraft Company Multi-scale adaptive filter for interferometric SAR data
US5877776A (en) * 1996-04-26 1999-03-02 Apple Computer, Inc. Method and system for supporting multiple font formats by a font scaler sub-system
US5835117A (en) * 1996-05-31 1998-11-10 Eastman Kodak Company Nonlinear dithering to reduce neutral toe color shifts
US6556951B1 (en) * 1997-11-26 2003-04-29 The United States Of America As Represented By The Secretary Of The Department Of Health And Human Services System and method for intelligent quality control of a process
US6348929B1 (en) * 1998-01-16 2002-02-19 Intel Corporation Scaling algorithm and architecture for integer scaling in video
US6498868B1 (en) 1998-06-11 2002-12-24 Xerox Corporation Image scaling using pattern matching to select among scaling algorithms
US6219465B1 (en) * 1998-09-23 2001-04-17 Xerox Corporation High quality digital scaling using pixel window averaging and linear interpolation
US7061494B1 (en) * 2000-04-20 2006-06-13 International Business Machines Corporation Method and apparatus for hardware optimization of graphics pipeline functions
JP2002026692A (ja) * 2000-07-11 2002-01-25 Mitsubishi Electric Corp アダプティブフィルタおよびアダプティブフィルタのタップ係数更新方法
US6674800B1 (en) 2000-08-29 2004-01-06 Koninklijke Philips Electronics N.V. Method and system for utilizing a global optimal approach of scalable algorithms
US6801219B2 (en) * 2001-08-01 2004-10-05 Stmicroelectronics, Inc. Method and apparatus using a two-dimensional circular data buffer for scrollable image display
KR20040052246A (ko) * 2001-10-19 2004-06-22 코닌클리케 필립스 일렉트로닉스 엔.브이. 컬러 영상을 디스플레이하기 위한 방법 및 디스플레이처리 유닛 및 그러한 디스플레이 처리 유닛을 포함하는디스플레이 장치
US6684626B1 (en) * 2002-07-30 2004-02-03 General Electric Company Aircraft gas turbine engine with control vanes for counter rotating low pressure turbines
US7480071B2 (en) * 2003-04-14 2009-01-20 Lexmark International, Inc Maximizing performance in a hardware image scaling module
US20040201863A1 (en) * 2003-04-14 2004-10-14 Bailey James Ray Enhanced scaling range for standalone all-in-one devices
US7073378B2 (en) * 2003-08-07 2006-07-11 Schlumberger Technology Corporation Integrated logging tool for borehole
KR101007798B1 (ko) * 2003-12-08 2011-01-14 엘지전자 주식회사 디지털방송수신기의 주영상의 일부영역에 대한 스케일링방법
US7243165B2 (en) 2004-01-14 2007-07-10 International Business Machines Corporation Parallel pattern detection engine
US7428332B2 (en) 2004-01-14 2008-09-23 Spaulding Kevin E Applying an adjusted image enhancement algorithm to a digital image
US8036494B2 (en) 2004-04-15 2011-10-11 Hewlett-Packard Development Company, L.P. Enhancing image resolution
US7831804B2 (en) 2004-06-22 2010-11-09 St Microelectronics S.R.L. Multidimensional processor architecture
JP2006011074A (ja) * 2004-06-25 2006-01-12 Seiko Epson Corp 表示コントローラ、電子機器及び画像データ供給方法
US7363601B2 (en) * 2004-10-15 2008-04-22 International Business Machines Corporation Integrated circuit selective scaling
US7671924B2 (en) * 2005-01-31 2010-03-02 Sunplus Technology Co., Ltd. Method and device for scaling a two-dimensional image
US7570829B2 (en) 2005-02-17 2009-08-04 Eastman Kodak Company Selection of alternative image processing operations to maintain high image quality
JP2006251861A (ja) * 2005-03-08 2006-09-21 Seiko Epson Corp 画像処理装置、画像処理方法、表示コントローラ及び電子機器
CN100366050C (zh) * 2005-03-11 2008-01-30 华亚微电子(上海)有限公司 一种图像缩放方法及图像缩放器***
US8520253B2 (en) * 2005-03-22 2013-08-27 Infoprint Solutions Company, Llc Method and system for scaling with dot gain control
US7706635B2 (en) * 2005-10-20 2010-04-27 Marvell International Technology Ltd. Methods and systems for image scaling
US7477323B2 (en) * 2005-11-07 2009-01-13 Kolorific, Inc. Method and system for digital image magnification and reduction
US7672539B2 (en) 2005-12-15 2010-03-02 General Instrument Corporation Method and apparatus for scaling selected areas of a graphics display
WO2007077520A2 (en) * 2006-01-03 2007-07-12 Ati Technologies, Inc. Image analyser and adaptive image scaling circuit and methods
JPWO2007102244A1 (ja) * 2006-03-07 2009-07-23 Nsc株式会社 画像拡大縮小装置
TWI342154B (en) * 2006-05-17 2011-05-11 Realtek Semiconductor Corp Method and related apparatus for determining image characteristics
ATE479158T1 (de) 2006-06-08 2010-09-15 Koninkl Philips Electronics Nv Musterdetektion auf einem linearen feldprozessor
JP2008011389A (ja) * 2006-06-30 2008-01-17 Toshiba Corp 映像信号スケーリング装置
KR101367137B1 (ko) * 2007-10-01 2014-03-12 삼성디스플레이 주식회사 4색 표시 장치의 영상 신호 변환 장치 및 방법
JP4510069B2 (ja) * 2007-12-10 2010-07-21 シャープ株式会社 画像処理装置、画像表示装置、画像形成装置、画像処理方法、コンピュータプログラム及び記憶媒体
US20090327893A1 (en) * 2008-06-25 2009-12-31 Paul Terry Coordinated video presentation methods and apparatus
TWI433546B (zh) * 2008-07-03 2014-04-01 Chi Lin Technology Co Ltd 影像解析度調整裝置、顯示裝置以及影像解析度調整方法
US8634673B1 (en) 2008-11-10 2014-01-21 Marvell International Ltd. Method and apparatus for automatically tuning a parameter of an image enhancement algorithm based on an attribute of an original image
CN101789234A (zh) * 2009-01-23 2010-07-28 中兴通讯股份有限公司 数字图像缩放处理方法及集成***
CN102428492B (zh) 2009-05-13 2014-01-01 Tp视觉控股有限公司 显示装置及其方法
TWI382755B (zh) * 2009-06-11 2013-01-11 Novatek Microelectronics Corp 影像處理電路及其方法
US9774882B2 (en) * 2009-07-04 2017-09-26 Dolby Laboratories Licensing Corporation Encoding and decoding architectures for format compatible 3D video delivery
JP2011114537A (ja) * 2009-11-26 2011-06-09 Toshiba Corp 画像処理装置
US8538177B2 (en) * 2010-07-30 2013-09-17 Microsoft Corporation Line and pixel based methods for intra frame coding
US8391350B2 (en) * 2010-09-03 2013-03-05 Altera Corporation Adaptation circuitry and methods for decision feedback equalizers
US8907987B2 (en) * 2010-10-20 2014-12-09 Ncomputing Inc. System and method for downsizing video data for memory bandwidth optimization
WO2012177301A1 (en) * 2011-06-22 2012-12-27 General Instrument Corporation Fractional pixel interpolation filter for video compression
JP5232270B2 (ja) * 2011-07-14 2013-07-10 株式会社東芝 電子機器
WO2013024506A1 (ja) * 2011-08-15 2013-02-21 三菱電機株式会社 描画制御装置
US20140009212A1 (en) * 2012-07-07 2014-01-09 Skyworks Solutions, Inc. Body-gate coupling to improve linearity of radio-frequency switch
US9516305B2 (en) * 2012-09-10 2016-12-06 Apple Inc. Adaptive scaler switching
US9077325B2 (en) * 2013-06-28 2015-07-07 Analog Devices, Inc. Digital slew rate limiter
US20150213626A1 (en) * 2014-01-28 2015-07-30 Innolux Corporation Gamut mapping
GB201410314D0 (en) * 2014-06-10 2014-07-23 Advanced Risc Mach Ltd Display controller

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130162901A1 (en) * 2011-12-22 2013-06-27 Silicon Image, Inc. Ringing suppression in video scalers

Also Published As

Publication number Publication date
US10796409B2 (en) 2020-10-06
KR20160034626A (ko) 2016-03-30
US20160086307A1 (en) 2016-03-24
CN105446938A (zh) 2016-03-30
CN105446938B (zh) 2020-09-08
US11288768B2 (en) 2022-03-29
US10311545B2 (en) 2019-06-04
US20190236754A1 (en) 2019-08-01
US20200402200A1 (en) 2020-12-24
TWI681361B (zh) 2020-01-01
US20220180472A1 (en) 2022-06-09
TW201614584A (en) 2016-04-16
US11710213B2 (en) 2023-07-25

Similar Documents

Publication Publication Date Title
US11710213B2 (en) Application processor including reconfigurable scaler and devices including the processor
KR102254676B1 (ko) 이미지를 실시간으로 처리할 수 있는 이미지 처리 회로와 이를 포함하는 장치들
US9811873B2 (en) Scaler circuit for generating various resolution images from single image and devices including the same
JP5697763B2 (ja) 画像並進のためのエッジのアルファ値でのレイヤ混合
KR102188543B1 (ko) 그래픽 처리 장치
KR102248789B1 (ko) 이미지 해상도에 따라 리소스를 공유할 수 있는 애플리케이션 프로세서와 이를 포함하는 장치들
KR102109130B1 (ko) 그래픽스 프로세싱 유닛, 이의 동작 방법, 및 이를 포함하는 장치들
TWI673677B (zh) 半導體裝置
US20140253598A1 (en) Generating scaled images simultaneously using an original image
US12020345B2 (en) Image signal processor, method of operating the image signal processor, and application processor including the image signal processor
KR102327334B1 (ko) 디스플레이 컨트롤러 및 이를 포함하는 반도체 집적회로 장치
CN108053361B (zh) 多互连视觉处理器及采用其的图像处理方法
US10079004B2 (en) Display controller and display system including the same
US9077313B2 (en) Low power and low memory single-pass multi-dimensional digital filtering
EP3474224A1 (en) Graphics processing method and device
US20170140501A1 (en) Method of operating virtual address generator and method of operating system including the same
KR102440941B1 (ko) 이미지 처리 정보에 따라 크기와 방향을 갖는 초기 위상을 계산할 수 있는 이미지 처리 장치들
KR20140063125A (ko) 영역에 따라 다른 계수를 적용하여 화질을 개선하는 영상 처리 방법 및 그 장치
AU2013205597A1 (en) Fast rotated bitmap rendering
Amoruso Implementation of Video Processing Techniques on a Field Programmable Gate Array Development Platform

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