KR102080859B1 - 이미지 프로세서 및 이미지 프로세서의 이미지 처리 방법 - Google Patents

이미지 프로세서 및 이미지 프로세서의 이미지 처리 방법 Download PDF

Info

Publication number
KR102080859B1
KR102080859B1 KR1020130038165A KR20130038165A KR102080859B1 KR 102080859 B1 KR102080859 B1 KR 102080859B1 KR 1020130038165 A KR1020130038165 A KR 1020130038165A KR 20130038165 A KR20130038165 A KR 20130038165A KR 102080859 B1 KR102080859 B1 KR 102080859B1
Authority
KR
South Korea
Prior art keywords
patch
dictionary
patches
enlarged
frame
Prior art date
Application number
KR1020130038165A
Other languages
English (en)
Other versions
KR20140121659A (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 KR1020130038165A priority Critical patent/KR102080859B1/ko
Priority to US14/067,409 priority patent/US9235874B2/en
Publication of KR20140121659A publication Critical patent/KR20140121659A/ko
Application granted granted Critical
Publication of KR102080859B1 publication Critical patent/KR102080859B1/ko

Links

Images

Classifications

    • 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 transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4053Super resolution, i.e. output image resolution higher than sensor resolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration by the use of more than one image, e.g. averaging, subtraction
    • G06T5/70
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20182Noise reduction or smoothing in the temporal domain; Spatio-temporal filtering

Abstract

본 발명은 이미지 프로세서의 이미지 처리 방법에 관한 것이다. 본 발명의 이미지 처리 방법은, 프레임보다 작은 사이즈를 갖는 프레임 조각들인 복수의 패치들을 포함하는 패치 사전부를 참조하여, 입력 프레임을 업스케일하는 단계, 그리고 업스케일의 결과에 따라 패치 사전부를 갱신하는 단계로 구성된다. 업스케일하는 단계에서, 패치 사전부를 참조하여 업스케일된 프레임의 고주파 성분이 보강된다.

Description

이미지 프로세서 및 이미지 프로세서의 이미지 처리 방법{IMAGE PROCESSOR AND METHOD FOR PROCESSING IMAGE OF IMAGE PROCESSOR}
본 발명은 반도체 장치에 관한 것으로, 더 상세하게는 이미지 프로세서 및 이미지 프로세서의 이미지 처리 방법에 관한 것이다.
콘텐츠 처리 기술 및 콘텐츠 처리 장치가 발전하면서, 대부분의 콘텐츠에 이미지가 활용되고 있다. 이미지는 정보를 시각을 통해 사용자에게 전달하는 수단으로, 일반 텍스트나 청각만을 사용하는 음성보다 높은 전달성을 갖는다. 이미지는 CMOS, CCD 등과 같은 이미지 센서를 통해 촬영된다.
이미지 센서를 통해 촬영되는 이미지의 품질(예를 들어, 해상도)은 이미지 센서의 성능에 따라 결정된다. 고성능의 이미지 센서는 고품질의 이미지를 촬영할 수 있으나, 제조 비용의 상승을 초래한다. 따라서, 제조 비용의 상승을 방지하기 위하여, 저비용의 이미지 센서로부터 획득되는 저품질의 이미지를 이용하여, 고품질의 이미지를 획득할 수 있는 방법이 요구되고 있다.
특히, 모바일 장치에 사용되는 이미지 센서는 적은 사이즈, 적은 무게, 그리고 낮은 소비 전력이 요구된다. 따라서, 저비용, 소형, 경량, 그리고 저전력의 이미지 센서로부터 획득되는 저품질의 이미지를 이용하여, 고품질의 이미지를 획득할 수 있는 방법이 요구되고 있다.
본 발명의 목적은, 향상된 신뢰성 및 정확도로 저품질의 이미지로부터 고품질의 이미지를 획득하는 이미지 프로세서 및 이미지 프로세서의 이미지 처리 방법을 제공하는 데에 있다.
본 발명의 실시 예에 따른 이미지 프로세서의 이미지 처리 방법은, 프레임보다 작은 사이즈를 갖는 프레임 조각들(frame fragments)인 복수의 패치들을 포함하는 패치 사전부를 참조하여, 입력 프레임을 업스케일(upscale)하는 단계; 그리고 상기 업스케일의 결과에 따라 상기 패치 사전부를 갱신하는 단계를 포함하고, 상기 업스케일하는 단계에서, 상기 패치 사전부를 참조하여 상기 업스케일된 프레임의 고주파 성분(high frequency contents)이 보강된다.
실시 예로서, 상기 패치 사전부는 상기 업스케일 시에 사용된 적어도 하나의 패치에 기반하여 갱신된다.
실시 예로서, 상기 업스케일하는 단계는, 상기 업스케일된 입력 프레임에서 확대된 패치를 선택하는 단계; 상기 확대된 패치로부터, 상기 확대된 패치의 저주파 성분을 가리키는 기술자(descriptor)를 검출하는 단계; 상기 기술자에 기반하여, 상기 입력 프레임의 연관 영역으로부터 제 1 패치를 검색하는 단계; 상기 기술자에 기반하여, 상기 패치 사전부로부터 제 2 패치를 검색하는 단계; 그리고 상기 제 1 및 제 2 패치들 중 상기 확대된 패치와 더 가까운 패치를 이용하여 상기 확대된 패치를 수정하는 단계를 포함한다.
실시 예로서, 상기 갱신하는 단계는, 상기 제 1 및 제 2 패치들 사이의 거리를 계산하는 단계; 상기 계산된 거리가 문턱값보다 적을 때, 상기 패치 사전부에 저장된 상기 제 2 패치를 상기 제 1 패치로 치환하는 단계; 상기 계산된 거리가 상기 문턱값보다 적지 않을 때, 상기 제 1 패치가 상기 제 2 패치보다 상기 확대된 패치와 더 가까운지 판별하는 단계; 상기 제 1 패치가 상기 확대된 패치와 더 가까울 때, 상기 제 1 패치를 상기 패치 사전부에 추가하는 단계; 그리고 상기 제 1 패치가 상기 확대된 패치와 더 가깝지 않을 때, 상기 제 1 패치를 무시하는 단계를 포함한다.
실시 예로서, 상기 갱신하는 단계는, 상기 패치 사전부에 저장된 패치들 중 상기 업스케일 시에 사용된 패치의 스코어를 증가시키는 단계; 상기 패치 사전부에 새로운 패치가 추가되면, 상기 새로운 패치에 미리 정해진 스코어를 할당하는 단계; 상기 패치 사전부에서 미리 정해진 수의 검색이 수행되면, 상기 패치 사전부에 저장된 패치들의 스코어들을 감소시키는 단계를 포함한다.
실시 예로서, 상기 갱신하는 단계는, 상기 스코어들을 감소시키는 단계가 수행된 후, 상기 패치 사전부에 저장된 패치들 중 문턱값보다 낮은 스코어를 갖는 패치를 상기 패치 사전부로부터 삭제하는 단계를 더 포함한다.
실시 예로서, 상기 갱신하는 단계는, 상기 패치 사전부에 새로운 패치가 추가될 때, 상기 패치 사전부의 사이즈가 미리 정해진 한계값에 도달하면, 상기 패치 사전부에 저장된 패치들 중 가장 낮은 스코어를 갖는 패치를 상기 패치 사전부로부터 삭제하는 단계를 더 포함한다.
실시 예로서, 상기 갱신하는 단계는, 상기 패치 사전부에 새로운 패치가 추가될 때, 상기 패치 사전부에 저장된 패치들 중 상기 새로운 패치와 유사한 패치들의 수가 문턱값보다 크면, 상기 새로운 패치 및 상기 유사한 패치들을 결합(combine)하는 단계를 더 포함한다.
실시 예로서, 상기 패치 사전부가 초기화될 때, 미리 정해진 기본(baseline) 패치들을 제외한 나머지 패치들이 상기 패치 사전부로부터 삭제된다.
실시 예로서, 상기 업스케일하는 단계는, 상기 업스케일된 입력 프레임에서 확대된 패치를 선택하는 단계; 상기 업스케일된 입력 프레임의 연관 영역으로부터 상기 확대된 패치와 유사한 적어도 하나의 제 1 패치를 검색하는 단계; 상기 패치 사전부로부터 상기 확대된 패치와 유사한 제 2 패치를 검색하는 단계; 상기 적어도 하나의 제 1 패치 및 상기 제 2 패치를 사용하여 정제(refinement)를 수행하는 단계; 그리고 상기 확대된 패치를 상기 정제된 패치로 치환하는 단계를 포함한다.
실시 예로서, 상기 갱신하는 단계는, 상기 패치 사전부에서 상기 제 2 패치가 검색되면, 상기 제 2 패치의 스코어를 증가시키는 단계; 상기 패치 사전부에서 상기 제 2 패치가 검색되지 않고, 상기 적어도 하나의 제 1 패치가 검색되면, 상기 적어도 하나의 제 1 패치를 제 1 초기 스코어와 함께 상기 패치 사전부에 추가하는 단계; 그리고 상기 패치 사전부에서 상기 제 2 패치가 검색되지 않고, 상기 적어도 하나의 제 1 패치가 검색되지 않으면, 상기 확대된 패치를 상기 제 1 초기 스코어보다 낮은 제 2 초기 스코어와 함께 상기 패치 사전부에 추가하는 단계를 포함한다.
실시 예로서, 업스케일된 이전 프레임을 다운스케일(downscale)하는 단계; 상기 다운스케일된 프레임 및 입력 프레임에 대해 모션 검출을 수행하여, 모션 필드를 생성하는 단계; 그리고 상기 모션 필드에 따라 상기 업스케일된 이전 프레임의 패치들을 복사하여 부분 업스케일된 프레임을 생성하는 단계를 더 포함하고, 상기 업스케일하는 단계는, 상기 부분 업스케일된 프레임에 대해 수행된다.
본 발명의 실시 예에 따른 이미지 프로세서는, 프레임보다 작은 사이즈를 갖는 프레임 조각들인 복수의 패치들을 포함하는 패치 사전부; 입력 프레임을 수신하고, 상기 입력 프레임을 업스케일(upscale)하고, 상기 패치사전부 및 상기 입력 프레임을 참조하여 상기 업스케일된 프레임의 고주파 성분을 보강하도록 구성되는 업스케일부; 그리고 상기 업스케일부에 의해 사용된 패치들에 기반하여, 상기 패치 사전부를 갱신하도록 구성되는 사전 관리부를 포함한다.
실시 예로서, 상기 업스케일부에 의해 검색된 상기 패치 사전부의 패치 및 상기 업스케일된 입력 프레임의 패치를 이용하여 정제(refinement)를 수행하도록 구성되는 패치 정제부를 더 포함하고, 상기 업스케일부는 상기 정제된 패치들을 이용하여 상기 입력 프레임을 업스케일하고, 상기 사전 관리부는 상기 정제된 패치들에 기반하여 상기 패치 사전부를 갱신하도록 구성된다.
실시 예로서, 상기 업스케일부의 출력 프레임을 다운스케일(downscale)하도록 구성되는 다운스케일부; 상기 다운스케일부에 의해 다운스케일된 프레임 및 초기 입력 프레임을 이용하여 모션 검출을 수행하도록 구성되는 모션 검출부; 그리고 상기 모션 검출부에 의해 검출된 모션 필드에 기반하여, 상기 출력 프레임의 패치들을 복사하여 부분 업스케일된 프레임을 생성하도록 구성되는 모션 보상부를 더 포함하고, 상기 부분 업스케일된 프레임은 상기 입력 프레임으로서 상기 업스케일부에 전달된다.
본 발명의 실시 예들에 따르면, 입력 이미지는 패치 사전부에 저장된 패치들을 참조하여 업스케일된다. 업스케일의 결과에 따라, 패치 사전부에 저장된 패치들이 갱신된다. 따라서, 향상된 신뢰성 및 정확도로 저품질의 이미지로부터 고품질의 이미지를 획득하는 이미지 프로세서 및 이미지 프로세서의 이미지 처리 방법이 제공된다.
도 1은 본 발명의 실시 예에 따른 컴퓨팅 장치를 보여주는 블록도이다.
도 2는 본 발명의 제 1 실시 예에 따른 이미지 프로세서를 보여주는 블록도이다.
도 3은 본 발명의 실시 예에 따른 이미지 프로세서의 이미지 처리 방법을 보여주는 순서도이다.
도 4는 업스케일을 수행하는 제 1 예를 보여주는 순서도이다.
도 5는 도 4의 S210 단계 및 S220 단계가 수행되는 과정을 보여준다.
도 6은 도 4의 S240 단계 및 S250 단계가 수행되는 과정을 보여준다.
도 7은 본 발명의 실시 예에 따른 사전 관리부를 보여주는 블록도이다.
도 8은 패치 사전부에서 관리되는 패치들의 예를 보여주는 테이블이다.
도 9는 사전 관리부의 동작 방법의 제 1 예를 보여주는 순서도이다.
도 10은 사전 관리부의 동작 방법의 제 2 예를 보여주는 순서도이다.
도 11은 사전 관리부의 동작 방법의 제 3 예를 보여주는 순서도이다.
도 12는 사전 관리부의 동작 방법의 제 4 예를 보여주는 순서도이다.
도 13은 사전 관리부의 동작 방법의 제 5 예를 보여주는 순서도이다.
도 14는 패치 사전부의 인덱스들이 관리되는 제 1 예를 보여주는 순서도이다.
도 15는 패치 사전부의 인덱스들이 관리되는 제 2 예를 보여주는 순서도이다.
도 16은 본 발명의 제 2 실시 예에 따른 이미지 프로세서를 보여주는 블록도이다.
도 17은 도 16의 이미지 프로세서의 이미지 처리 방법을 보여주는 순서도이다.
도 18은 도 17의 S820 단계 내지 S840 단계가 수행되는 방법을 보여준다.
도 19는 도 16의 사전 관리부의 동작 방법을 보여주는 순서도이다.
도 20은 패치 사전부에 저장된 패치들이 관리되는 예를 보여주는 테이블들이다.
도 21은 패치 사전부가 패치들을 관리하는 예를 보여주는 순서도이다.
도 22는 본 발명의 제 3 실시 예에 따른 이미지 프로세서를 보여주는 블록도이다.
도 23은 도 22의 이미지 프로세서의 이미지 처리 방법을 보여주는 순서도이다.
도 24는 본 발명의 제 4 실시 예에 따른 이미지 프로세서를 보여주는 블록도이다.
도 25는 도 24의 이미지 프로세서의 이미지 처리 방법의 제 1 예를 보여주는 순서도이다.
도 26은 도 24의 이미지 프로세서의 이미지 처리 방법의 제 2 예를 보여주는 순서도이다.
이하에서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시 예를 첨부된 도면을 참조하여 설명하기로 한다.
도 1은 본 발명의 실시 예에 따른 컴퓨팅 장치(100)를 보여주는 블록도이다. 도 1을 참조하면, 컴퓨팅 장치(100)는 프로세서(110), 메모리(120), 스토리지(130), 모뎀(140), 그리고 사용자 인터페이스(150)를 포함한다.
프로세서(110)는 컴퓨팅 장치(100)의 제반 동작을 제어하고, 논리 연산을 수행할 수 있다. 예를 들어, 프로세서(110)는 시스템-온-칩(SoC, System-on-Chip)으로 구성될 수 있다. 프로세서(110)는 범용 프로세서, 어플리케이션 프로세서, 또는 특수 목적으로 설계된 프로세서일 수 있다.
프로세서(110)는 이미지 프로세서(111)를 포함한다. 이미지 프로세서(111)는 이미지를 처리하도록 구성된다. 이미지 프로세서(111)는 저해상도를 갖는 이미지를 수신하고 연산하여 고해상도를 갖는 이미지를 출력할 수 있다. 이미지 프로세서(111)는 IP (Intellectual Property)로 제공될 수 있다.
메모리(120)는 프로세서(110)와 통신할 수 있다. 메모리(120)는 프로세서(110) 또는 컴퓨팅 장치(100)의 동작 메모리(또는 메인 메모리)일 수 있다. 메모리(120)는 SRAM (Static RAM), DRAM (Dynamic RAM), SDRAM (Synchronous DRAM) 등과 같은 휘발성 메모리, 또는 플래시 메모리, PRAM (Phase-change RAM), MRAM (Magnetic RAM), RRAM (Resistive RAM), FRAM (Ferroelectric RAM) 등과 같은 불휘발성 메모리를 포함할 수 있다.
스토리지(130)는 컴퓨팅 장치(100)에서 장기적으로 저장하고자 하는 데이터를 저장할 수 있다. 스토리지(130)는 하드 디스크 드라이브(HDD, Hard Disk Drive) 또는 플래시 메모리, PRAM (Phase-change RAM), MRAM (Magnetic RAM), RRAM (Resistive RAM), FRAM (Ferroelectric RAM) 등과 같은 불휘발성 메모리를 포함할 수 있다.
예시적으로, 메모리(120) 및 스토리지(130)는 동일한 종류의 불휘발성 메모리로 구성될 수 있다. 이때, 메모리(120) 및 스토리지(130)는 하나의 반도체 집적 회로로 구성될 수 있다.
모뎀(140)은 프로세서(110)의 제어에 따라 외부 장치와 통신을 수행할 수 있다. 예를 들어, 모뎀(140)은 외부 장치와 유선 또는 무선 통신을 수행할 수 있다. 모뎀(140)은 LTE (Long Term Evolution), 와이맥스(WiMax), GSM (Global System for Mobile communication), CDMA (Code Division Multiple Access), 블루투스(Bluetooth), NFC (Near Field Communication), 와이파이(WiFi), RFID (Radio Frequency IDentification) 등과 같은 다양한 무선 통신 방식들, 또는 USB (Universal Serial Bus), SATA (Serial AT Attachment), SCSI (Small Computer Small Interface), 파이어와이어(Firewire), PCI (Peripheral Component Interconnection) 등과 같은 다양한 유선 통신 방식들 중 적어도 하나에 기반하여 통신을 수행할 수 있다.
사용자 인터페이스(150)는 프로세서(110)의 제어에 따라 사용자와 통신할 수 있다. 예를 들어, 사용자 인터페이스(150)는 키보드, 키패드, 버튼, 터치 패널, 터치 스크린, 터치 패드, 터치 볼, 카메라, 마이크, 자이로스코프 센서, 진동 센서, 등과 같은 사용자 입력 인터페이스들을 포함할 수 있다. 사용자 인터페이스(150)는 LCD (Liquid Crystal Display), OLED (Organic Light Emitting Diode) 표시 장치, AMOLED (Active Matrix OLED) 표시 장치, 빔 프로젝터, LED, 스피커, 모터 등과 같은 사용자 출력 인터페이스들을 포함할 수 있다.
컴퓨팅 장치(100)는 스마트폰, 스마트패드, 스마트카메라 등과 같은 모바일 장치를 형성할 수 있다. 컴퓨팅 장치(100)는 스마트텔레비전, 컴퓨터, 노트북컴퓨터, 넷북 등과 같은 장치를 형성할 수 있다.
이미지 프로세서(111)는 두 가지 기능들을 제공할 수 있다. 하나의 기능은 프레임 생성이다. 이미지 프로세서(111)는 패치 사전을 이용하여 현재 프레임을 업스케일 및 디노이징(denoising)한다. 다른 기능은 패치 사전을 관리하는 패치 사전 관리 기능이다. 이미지 프로세서(111)는 현재 프레임으로부터의 새로운 정보를 이용하여 패치 사전을 갱신한다. 이 두 가지 기능들은 병렬적이며, 따라서, 패치 사전의 갱신은 온라인(온-더-플라이) 방식으로 수행된다. 두 가지 기능들은 네 개의 예들을 참조하여 설명된다.
제 1 예는 입력 프레임을 업스케일하여 확대된 프레임을 생성한다. 제 1 예는 패치 사전 및 입력 프레임으로부터 패치들을 검색하고, 검색된 패치들을 이용하여 하ㅗㄱ대된 패치의 고주파 성분을 보강한다. 패치 사전은 확대 시에 사용되는 패치에 기반하여 갱신된다. 제 1 예는 도 2 내지 도 15를 참조하여 설명된다.
제 2 예는 패치 사전 및 확대된 프레임으로부터 패치들을 검색한다. 제 2 예는 동일한 스케일의 유사한 패치들을 정렬함으로써 확대된 패치의 고주파 성분을 복원한다. 패치 사전은 정렬 결과에 기반하여 갱신된다. 제 1 예의 다양한 실시 예들은 제 2 예에 적용될 수 있다. 제 2 예는 도 16 내지 도 21을 참조하여 설명된다.
제 3 예는 프레임들 사이의 높은 상관도를 이용한다. 이전 프레임의 고해상도 출력은 모션 보상, 갭 필링(gap filling) 등과 같은 융합(hybrid) 기술들을 사용하여 현재 프레임의 고해상도 출력을 생성하기 위해 사용된다. 제 3 예는 모션 보상을 이용하여 고해상도 현재 프레임을 재구성하고, 갭들(gaps)에서 패치 검색 및 패치 사전 관리를 수행한다. 제 3 예는 도 22 및 도 23을 참조하여 설명된다.
제 4 예는 제 2 예 및 제 3 예를 조합한다. 제 4 예는 동일 스케일의 패치들을 정렬함으로써 갭을 복원한다. 제 4 예는 도 24 내지 도 26을 참조하여 설명된다.
본 발명의 실시 예들은 이전에 처리된 프레임들에서 자주 관측되는 유사한 패치을 패치 사전에 추가함으로써, 패치 사전의 패치들과 연관된 고주파 및 저잡음 성분을 관리함으로써, 패치 사전으로부터 이전에 처리된 확대된 프레임들에서 적게 관측되는 패치들을 제거함으로써 패치 사전을 갱신한다. 또한, 본 발명의 실시 예들은 이전 입력 프레임들로부터 수집되는 고주파 및 저잡음 정보를 이용하여 입력 프레임을 업스케일하고 노이즈를 감소시킨다.
도 2는 본 발명의 제 1 실시 예에 따른 이미지 프로세서(111)를 보여주는 블록도이다. 도 2를 참조하면, 이미지 프로세서(111)는 업스케일부(112), 패치 사전부(113), 그리고 사전 관리부(114)를 포함한다.
업스케일부(112)는 저해상도 프레임(LRF, Low Resolution Frame)을 수신할 수 있다. 업스케일부(112)는 입력 프레임(LRF, 또는 입력 이미지) 및 패치 사전부(113)를 참조하여, 입력 프레임(LRF)을 업스케일(upscale)할 수 있다. 업스케일부(112)는 업스케일된 프레임을 고해상도 프레임(HRF, High Resolution Frame)으로 출력할 수 있다.
패치 사전부(113)는 복수의 패치들을 포함한다. 복수의 패치들은 입력 프레임(LRF) 또는 출력 프레임(HRF)보다 작은 사이즈를 갖는 프레임 조각들(frame fragments)일 수 있다. 패치 사전부(113)는 미리 정해진 기본(baseline) 패치들 또는 학습(learning)에 의해 획득되는 패치들을 저장할 수 있다.
사전 관리부(114)는 패치 사전부(113)를 관리하도록 구성된다. 사전 관리부(114)는 업스케일부(112)로부터 패치 사용 데이터(PUD)를 수신할 수 있다. 패치 사용 데이터(PUD)는 업스케일부(112)가 업스케일을 수행하는 동안 사용한 패치들에 대한 정보를 포함할 수 있다. 사전 관리부(114)는 패치 사용 데이터에 기반하여 패치 사전부(113)를 관리할 수 있다. 예를 들어, 사전 관리부(114)는 패치 사전부(113)에 패치를 추가하거나, 패치 사전부(113)에 저장된 패치를 변경하거나, 또는 패치 사전부(113)에 저장된 패치를 삭제할 수 있다.
예시적으로, 도 2에서, 패치 사전부(113)는 이미지 프로세서(111)의 구성 요소인 것으로 도시되어 있다. 그러나, 패치 사전부(113)는 이미지 프로세서(111)의 구성 요소인 것으로 한정되지 않는다. 패치 사전부(113)는 복수의 패치들을 저장하는 저장 매체로, 컴퓨팅 장치(100)의 어느 위치에나 제공될 수 있다. 패치 사전부(113)는 데이터 구조의 형태로 스토리지(130)에 제공될 수 있다.
도 3은 본 발명의 실시 예에 따른 이미지 프로세서(111)의 이미지 처리 방법을 보여주는 순서도이다. 도 2 및 도 3을 참조하면, S110 단계에서, 패치 사전부(113)에 기반하여 입력 프레임(LRF)이 업스케일된다. 예를 들어, 입력 프레임(LRF)은 업스케일되고, 그리고 업스케일된 프레임의 고주파 성분이 패치 사전부(113) 또는 입력 프레임(LRF)에서 검색되는 패치들에 기반하여 복원될 수 있다.
S120 단계에서, 업스케일의 결과에 따라 패치 사전부가 갱신된다. 사전 관리부(114)는 업스케일 결과에 따라 패치 사전부(113)를 갱신할 수 있다. 예를 들어, 패치 사전부(113)는 검색된 패치들을 이용하여 갱신될 수 있다. 사전 관리부(114)는 검색된 패치들 사이의 유사도에 따라 패치 사전부(113)를 갱신할 수 있다.
도 4는 업스케일을 수행(S110 단계)하는 제 1 예를 보여주는 순서도이다. 도 2 내지 도 4를 참조하면, S210 단계에서, 입력 프레임(LRF)이 확대(magnify)된다. 예를 들어, 입력 프레임(LRF)은 출력 프레임(HRF)에서 요구되는 사이즈로 확대될 수 있다. 입력 프레임(LRF)은 비큐빅(bicubic)과 같이 간단한(simple) 보간(interpolation)을 수행함으로써 확대될 수 있다. 확대된 프레임은 출력 프레임(HRF)에 대응하는 사이즈를 가질 뿐, 출력 프레임(HRF)에 대응하는 해상도를 갖지 않는다. 확대된 프레임은 저주파 성분(low frequency component)보다 적은 양의 고주파 성분(high frequency component)을 가질 수 있다.
S220 단계에서, 확대된 프레임에서 확대된 패치가 선택된다.
S210 단계 및 S220 단계가 수행되는 과정이 도 5에 도시되어 있다. 도 5를 참조하면, 입력 프레임(IF), 확대된 프레임(MF), 그리고 확대된 패치(MP)가 도시되어 있다. 입력 패치(IP)는 확대된 패치(MP)에 대응하는 입력 프레임(IF) 상의 패치일 수 있다.
도 2, 도 4 및 도 5를 참조하면, S230 단계에서, 확대된 패치(MP)의 저주파 성분을 가리키는 기술자(descriptor)가 검출된다. 기술자는 확대된 패치(MP)로부터 검출될 수 있다. 예시적으로, 기술자는 확대된 패치(MP)를 포함하는 영역의 저주파 성분에 대한 정보를 포함할 수 있다. 기술자의 예는 2010년에 "Image Super-Resolution via Sparse Representation"의 제목으로 Jianchao Yang에 의해 공고된 논문에 기재되어 있으며, 해당 논문은 본원 발명의 레퍼런스로 포함된다.
S240 단계에서, 기술자에 기반하여, 입력 프레임의 연관 영역(relevance area)으로부터 제 1 패치가 검색된다. 예를 들어, 입력 프레임의 연관 영역에서, 기술자와 유사한 특성을 갖는 패치가 검색될 수 있다.
S250 단계에서, 기술자에 기반하여, 패치 사전부(113)로부터 제 2 패치가 검색된다. 예를 들어, 패치 사전부(113)에 저장된 패치들 중 계산된 기술자와 유사한 기술자를 갖는 패치가 검색될 수 있다. 예시적으로, 패치 사전부(113)는 완결 검색(exhaustive search), 트리 기반 검색(tree-based search), 해시 기반 검색(hash-based search), 인덱스 기반 검색(index-based search) 등과 같은 다양한 방법들 중 하나에 기반하여 검색될 수 있다. 패치 사전부(113)는 지역 기반 검색(ANN, Advanced approximate Nearest Neighbors Search), 또는 각 지역들에 인덱스를 부과하여 지역 및 인덱스 기반 검색들이 조합된 검색 방법에 따라 검색될 수 있다. 패치 사전부(113)의 검색은 패치 사전부(113)가 지원하는 검색 방법에 따라 수행될 수 있다. 지역 기반 검색(ANN)은 2009년에 "FAST APPROXIMATE NEAREST NEIGHBORS WITH AUTOMATIC ALGORITHM CONFIGURATION"의 제목으로 Marius Muja 및 David G. Lowe에 의해 공고된 논문에 기재되어 있으며, 해당 논문은 본원 발명의 레퍼런스로 포함된다.
S240 단계 및 S250 단계가 수행되는 과정이 도 6에 도시되어 있다. 도 6을 참조하면, 확대된 프레임(MF), 입력 프레임(IF), 그리고 패치 사전부(113)가 도시되어 있다.
확대된 프레임(MF)은 확대된 패치(MP)를 포함한다.
입력 프레임(IF)은 확대되기 이전의 원본 프레임일 수 있다. 입력 프레임(IF)은 연관 영역(RA)을 포함한다. 연관 영역(RA)은 확대된 패치(MP)에 대응하는 입력 프레임(IF) 상의 입력 패치(IP)를 포함하는 영역일 수 있다. 연관 영역(RA)은 입력 프레임(IF)보다 작은 사이지 또는 입력 프레임(IF)과 동일한 사이즈를 가질 수 있다. 연관 영역(RA)에서, 확대된 패치(MP)의 기술자(descriptor)와 유사한 특성을 갖는 제 1 패치(P1)가 검색된다. 예시적으로, 확대된 패치(MP)의 기술자는 확대된 패치(MP)의 저주파 성분에 대한 정보를 포함한다. 즉, 연관 영역(RA)에서 검색된 제 1 패치(P1)는 확대된 패치(MP)와 유사한 저주파 성분을 갖는 패치일 수 있다. 제 1 패치(P1)의 사이즈는 확대된 패치(MP)의 사이즈와 동일할 수 있다.
패치 사전부(113)에서 제 2 패치(P2)가 검색된다. 제 1 패치(P1)와 마찬가지로, 제 2 패치(P2)는 확대된 패치(MP)와 유사한 저주파 성분을 갖는 패치일 수 있다. 제 2 패치(P2)의 사이즈는 확대된 패치(MP)의 사이즈와 동일할 수 있다.
도 2, 도 4 및 도 6을 참조하면, S260 단계에서, 제 1 및 제 2 패치들(P1, P2) 중 확대된 패치(MP)와 더 가까운 패치를 이용하여, 확대된 패치(MP)가 수정된다. 예시적으로, 확대되기 이전의 입력 프레임(IF)으로부터 검색되는 제 1 패치(P1)는 고주파 성분을 갖는다. 패치 사전부(113)로부터 검색되는 제 2 패치(P2)는 고주파 성분을 갖는다. 제 1 및 제 2 패치들(P1, P2) 중 확대된 패치(MP)와 더 가까운 패치의 고주파 성분을 이용하여, 확대된 패치(MP)에 고주파 성분이 보강될 수 있다. 예시적으로, 제 1 및 제 2 패치들(P1, P2) 중 더 가까운 패치를 판별하는 동작은 확대된 패치(MP), 그리고 제 1 및 제 2 패치들(P1, P2)의 기술자들(descriptors)에 기반하여 수행될 수 있다.
확대된 프레임(MF)에서, 확대된 패치(MP)는 고주파 성분이 보강된 패치로 치환될 수 있다. 확대된 프레임(MF)의 패치들에 대한 고주파 성분의 보강이 종료되면, 고주파 성분이 보강된 프레임이 생성된다. 고주파 성분이 보강된 프레임은 출력 프레임(HRF)으로 출력될 수 있다.
업스케일이 수행되는 동안 사용된 패치들(P1, P2), 그리고 패치들(P1, P2) 각각과 확대된 패치(MP) 사이의 거리는 패치 사용 데이터(PUD)로 사전 관리부(114)로 전달될 수 있다.
예시적으로, 패치들 사이의 거리(또는 유사도)는 SAD (Sum of Absolute Difference), 상관(correlation) 등과 같은 다양한 방법들 중 하나에 따라 계산될 수 있다.
도 7은 본 발명의 실시 예에 따른 사전 관리부(114)를 보여주는 블록도이다. 도 2 및 도 7을 참조하면, 사전 관리부(114)는 패치 갱신부(210), 스코어 관리부(220), 패치 제거부(230), 그리고 초기화부(240)를 포함한다.
패치 갱신부(210)는 업스케일부(112)로부터 패치 사용 데이터(PUD)를 수신할 수 있다. 패치 사용 데이터(PUD)에 기반하여, 패치 갱신부(210)는 패치 사전부(113)에 저장된 패치들을 갱신할 수 있다. 예를 들어, 패치 갱신부(210)는 패치 사용 데이터(PUD)에 포함된 패치를 패치 사전부(113)에 추가할 수 있다. 패치 갱신부(210)는 패치 사전부(113)에 저장된 패치를 패치 사용 데이터(PUD)에 포함된 패치와 치환할 수 있다. 패치 갱신부(210)는 패치 사용 데이터(PUD)에 포함된 패치와 패치 사전부(113)에 저장된 패치를 결합할 수 있다.
스코어 관리부(220)는 패치 사전부(113)에 등록된 패치들의 스코어들을 관리하도록 구성된다. 패치 사전부(113)에 등록된 패치들 각각은 스코어를 가질 수 있다. 스코어 관리부(220)는 패치 사전부(113)의 패치들의 스코어들을 증가시키거나 감소시키거나 미리 설정된 값으로 설정할 수 있다.
패치 제거부(230)는 패치 사전부(113)로부터 패치를 제거(예를 들어, 삭제)하도록 구성된다. 패치 제거부(230)는 미리 설정된 이벤트에 따라 또는 패치들의 스코어들에 기반하여, 패치 사전부(113)로부터 패치를 제거할 수 있다.
초기화부(240)는 패치 사전부(113)를 초기화하도록 구성된다. 예를 들어, 초기화부(240)는 패치 사전부(113)의 모든 패치들을 삭제함으로써 초기화를 수행할 수 있다. 초기화부(240)는 패치 사전부(113)의 패치들 중 미리 정해진 기본(baseline) 패치들을 제외한 나머지 패치들을 삭제함으로써, 초기화를 수행할 수 있다. 초기화부(240)는 패치 사전부(113)의 모든 패치들을 삭제하고, 기본 패치들을 추가함으로써 초기화를 수행할 수 있다. 초기화부(240)는 이미지 프로세서(111)에 의해 이미지 처리가 시작될 때, 패치 사전부(113)를 초기화할 수 있다. 초기화부(240)는 이미지 프로세서(111)에 의해 비디오 컷(video cut)이 검출될 때, 패치 사전부(113)를 초기화할 수 있다.
도 8은 패치 사전부(113)에서 관리되는 패치들의 예를 보여주는 테이블이다. 도 8을 참조하면, 패치 사전부(113)에 등록된 패치들 각각은 기술자(descriptor), 고주파 성분, 그리고 스코어를 가질 수 있다.
고주파 성분은 패치가 갖는 고주파 성분을 가리킨다. 고주파 성분은 확대된 패치의 보강을 위해 사용될 수 있다.
기술자는 패치를 포함하는 영역으로부터 추출된 저주파 성분에 대한 정보를 포함한다. 예를 들어, 패치가 5X5 사이즈의 프레임 조각의 고주파 성분을 가질 때, 패치의 기술자는 패치를 포함하는 15X15 사이즈의 프레임 조각으로부터 추출된 저주파 성분에 대한 정보일 수 있다. 기술자는 확대된 패치(MP)와의 거리를 계산하기 위해 사용될 수 있다.
스코어는 패치들을 관리하기 위해 패치들에 할당되는 정보일 수 있다.
기술자 및 고주파 성분을 포함하는 예시적인 패치들이 도 8에 도시되나, 본 발명의 기술적 사상에 따른 패치 사전부(113)에 저장되는 패치들은 한정되지 않는다. 예를 들어, 패치 사전부(113)에 저장되는 패치들은 확대된 패치(MP)와 비교될 수 있는 정보, 그리고 확대된 패치(MP)의 고주파 성분을 보강할 수 있는 정보를 포함할 수 있다.
도 9는 사전 관리부(114)의 동작 방법의 제 1 예를 보여주는 순서도이다. 예를 들어, 사전 관리부(114)의 패치 갱신부(210)의 동작 방법의 예가 도 9에 도시된다. 도 6, 도 7 및 도 9를 참조하면, S310 단계에서, 제 1 및 제 2 패치들(P1, P2) 사이의 거리가 계산된다. 제 1 및 제 2 패치들(P1, P2) 사이의 거리는 SAD (Sum of Absolute Difference), 상관(correlation) 등과 같은 다양한 방법들 중 하나에 기반하여 계산될 수 있다.
S320 단계에서, 계산된 거리가 문턱값보다 적은지 판별된다. 계산된 거리가 문턱값보다 적으면, S330 단계에서, 제 2 패치(P2)가 제 1 패치(P1)로 치환된다. 제 1 및 제 2 패치들(P1, P2) 사이의 거리가 문턱값보다 적으면, 제 1 및 제 2 패치들(P1, P2)은 매우 유사한 정보를 포함할 수 있다. 이 경우, 패치 사전부(113)로부터 검색된 제 2 패치(P2)보다 최신인 제 1 패치(P1)가 현재 및 이후의 프레임에 더 적합한 정보를 포함할 수 있다. 따라서, 패치 사전부(113)에 등록된 제 2 패치(P2)가 입력 프레임(IF)으로부터 검색된 제 1 패치(P1)로 치환될 수 있다.
계산된 거리가 문턱값보다 적지 않으면, S340 단계가 수행된다.
S340 단계에서, 제 1 패치(P1)가 제 2 패치(P2)보다 더 확대된 패치(MP)에 가까운지 판별된다. 예시적으로, 제 1 패치(P1)와 확대된 패치(MP) 사이의 거리 및 제 2 패치(P2)와 확대된 패치(MP) 사이의 거리는 패치 사용 데이터(PUD)로 수신되거나, 계산될 수 있다.
제 1 패치(P1)가 제 2 패치(P2)보다 더 확대된 패치(MP)에 가까우면, S350 단계에서, 제 1 패치(P1)가 패치 사전부(113)에 추가된다. 제 1 및 제 2 패치들(P1, P2)이 서로 충분히 유사하지 않고(S320 단계), 새로 검색된 제 1 패치(P1)가 제 2 패치(P2)보다 확대된 패치(MP)에 더 가까운 경우, 새로 검색된 제 1 패치(P1)는 패치 사전부(113)에 추가된다. 즉, 새로 검색된 제 1 패치(P1)가 패치 사전부(113)에 저장되어 있지 않은 유용한 정보를 포함하는 경우, 새로 검색된 제 1 패치(P1)가 패치 사전부(113)에 추가될 수 있다. 제 1 패치(P1)가 추가될 때, 제 1 패치(P1)는 미리 정해진 스코어를 갖고 패치 사전부(113)에 추가될 수 있다. 제 1 패치(P1)에 할당되는 미리 정해진 스코어는 제 1 패치(P1)와 확대된 패치(MP) 사이의 거리에 따라 결정될 수 있다. 예를 들어, 제 1 패치(P1)와 확대된 패치(MP) 사이의 거리가 증가할수록, 제 1 패치(P1)에 할당되는 스코어는 감소할 수 있다.
제 1 패치(P1)가 제 2 패치(P2)보다 더 확대된 패치(MP)에 가깝지 않으면, S360 단계에서, 새로 검색된 제 1 패치(P1)는 무시된다. 패치 사전부(113)는 갱신되지 않는다. 즉, 새로 검색된 제 1 패치(P1)가 패치 사전부(113)에 저장되어 있는 패치들보다 더 유용한 정보를 갖지 않는 경우, 새로 검색된 제 1 패치(P1)는 무시될 수 있다.
예시적으로, S330 단계에서 제 2 패치(P2)를 제 1 패치(P1)로 치환하는 대신, 제 2 패치(P2) 및 제 1 패치(P1)가 결합된 패치가 제 2 패치(P2)와 치환될 수 있다. 즉, 새로 검색된 제 1 패치(P1)가 패치 사전부(113)에 등록된 제 2 패치(P2)와 결합될 수 있다. 제 1 및 제 2 패치들(P1, P2)은 평균, 가중 평균, 이동 평균 등과 같은 다양한 방법들 중 하나에 기반하여 결합될 수 있다. 결합은 정제(refinement)를 포함할 수 있다.
도 10은 사전 관리부(114)의 동작 방법의 제 2 예를 보여주는 순서도이다. 예를 들어, 사전 관리부(114)의 스코어 관리부(220)의 동작 방법의 예가 도 10에 도시된다. 도 6, 도 7 및 도 10을 참조하면, S410 단계에서, 패치 사용 데이터(PUD)가 수신되는 이벤트가 검출된다. 도 10의 동작 방법은 패치 사용 데이터(PUD)가 수신될 때마다 수행될 수 있다. 즉, 도 10의 동작 방법은 확대된 패치(MP)의 업스케일이 수행될 때마다 수행될 수 있다.
S420 단계에서, 사용된 패치의 스코어가 증가된다. 예를 들어, 패치 사전부(113)에 저장된 패치들 중 업스케일 시에 사용된 패치의 스코어가 증가될 수 있다. 예를 들어, 도 9의 S330 단계에서 설명된 바와 같이, 새로 검색된 제 1 패치(P1)로 치환되거나 새로 검색된 제 1 패치(P1)와 결합되는 패치의 스코어가 증가될 수 있다. 도 9의 S360 단계에서 설명된 바와 같이, 확대된 패치(MP)의 고주파 성분의 보강을 위해 사용된 패치의 스코어가 증가될 수 있다.
S430 단계에서, 패치가 추가되는지 판별된다. 예를 들어, 도 9의 S350 단계에서 설명된 바와 같이, 새로 검색된 제 1 패치(P1)가 패치 사전부(113)에 추가되는지 판별된다. 패치가 추가되면, S440 단계에서, 추가된 패치에 스코어가 할당된다.
예를 들어, 추가된 패치와 확대된 패치(MP) 사이의 거리(또는 유사도)에 따라, 스코어가 결정될 수 있다. 추가된 패치와 확대된 패치(MP) 사이의 거리가 적을수록, 또는 추가된 패치와 확대된 패치(MP) 사이의 유사도가 높을수록, 스코어가 증가할 수 있다. 즉, 추가된 패치가 업스케일에 유용한 정보를 포함할수록, 추가된 패치의 스코어가 증가할 수 있다.
예를 들어, 추가된 패치와 패치 사전부(113)에 저장된 패치들 사이의 거리(또는 유사도)에 따라, 스코어가 결정될 수 있다. 추가된 패치와 패치 사전부(113)에 저장된 패치들 사이의 거리가 클수록, 또는 추가된 패치와 패치 사전부(113)에 저장된 패치들 사이의 유사도가 적을수록, 추가된 패치의 스코어가 증가할 수 있다. 즉, 추가된 패치가 패치 사전부(113)에 저장되어 있는 패치들과 차별화되는 정보를 포함할수록, 추가된 패치의 스코어가 증가할 수 있다.
S450 단계에서, 미리 정해진 단위의 검색이 수행되었는지 판별된다. 예를 들어, 입력 프레임(LRF)의 하나의 라인의 검색, 둘 이상의 미리 정해진 수의 검색, 또는 하나의 프레임의 검색이 수행되었는지 판별된다. 미리 정해진 단위의 검색이 수행되었으면, S460 단계에서, 패치 사전부(113)에 저장된 모든 패치들의 스코어가 감소된다. 패치들의 스코어들은 미리 정해진 값 만큼 감소할 수 있다. 예시적으로, 기본(baseline) 패치들의 스코어는 감소하지 않고, 기본 패치들을 제외한 나머지 패치들의 스코어들이 감소할 수 있다.
S450 단계 및 S460 단계에서, 미리 정해진 단위의 검색이 수행될 때마다, 패치 사전부(113)에 저장된 패치들의 스코어가 감소된다. 따라서, 업스케일부(112)에서 사용되지 않는 패치들의 스코어들은 점차적으로 감소할 수 있다.
상술된 바와 같이, 패치 사전부(113)에 저장된 패치들의 스코어들이 관리될 수 있다. 업스케일 시에 자주 사용되는 패치일수록, 해당 패치의 스코어는 높게 관리될 수 있다.
도 11은 사전 관리부(114)의 동작 방법의 제 3 예를 보여주는 순서도이다. 예를 들어, 사전 관리부(114)의 패치 제거부(230)의 동작 방법의 제 1 예가 도 11에 도시된다. 도 6, 도 7 및 도 11을 참조하면, S510 단계에서, 스코어가 감소되는 이벤트가 감지된다. 예를 들어, 도 10의 S460 단계를 참조하여 설명된 바와 같이, 패치 사전부(113)에 저장된 패치들의 스코어들이 감소되는 이벤트가 감지될 수 있다. 도 11의 동작 방법은, 스코어 관리부(220)에 의해 패치들의 스코어들이 감소할 때마다 수행될 수 있다. 도 11의 동작 방법은 도 10의 S460 단계에 후속하여 수행될 수 있다.
S520 단계에서, 문턱값보다 낮은 스코어가 존재하는지 판별된다. 예를 들어, 패치 사전부(113)에 저장된 패치들 중 문턱값보다 낮은 스코어를 갖는 패치가 존재하는지 판별될 수 있다. 문턱값보다 낮은 스코어를 갖는 패치가 존재하지 않으면, 패치의 제거는 수행되지 않을 수 있다.
문턱값보다 낮은 스코어를 갖는 패치가 존재하면, S530 단계에서, 문턱값보다 낮은 스코어를 갖는 패치가 패치 사전부(113)로부터 제거(예를 들어, 삭제)된다.
도 10을 참조하여 설명된 바와 같이, 업스케일 시에 사용되지 않는 패치의 스코어는 점차적으로 감소한다. 패치 사전부(113)에 저장된 패치들 중 사용되지 않는 정도가 문턱값보다 낮은 패치들은 도 11의 동작 방법에 의해 패치 사전부(113)로부터 제거될 수 있다. 사용되지 않는 패치들을 패치 사전부(113)로부터 제거함으로써, 패치 사전부(113)가 과도한 용량을 소모하는 것이 방지된다. 특히, 모바일 장치는 고정식 장치에 비해 한정된 리소스(예를 들어, 메모리의 용량, 전력량 등)를 갖는다. 사용되지 않는 패치가 패치 사전부(113)로부터 제거되면, 패치 사전부(113)를 참조하여 업스케일을 수행하는 이미지 프로세서(111)를 포함하는 모바일 장치가 최적화될 수 있다.
도 12는 사전 관리부(114)의 동작 방법의 제 4 예를 보여주는 순서도이다. 예를 들어, 사전 관리부(114)의 패치 제거부(230)의 동작 방법의 제 2 예가 도 12에 도시된다. 도 6, 도 7 및 도 12를 참조하면, S540 단계에서, 패치가 추가되는 이벤트가 검출된다. 예를 들어, 도 9의 S350 단계에서 설명된 바와 같이, 새로 검색된 제 1 패치(P1)가 패치 사전부(113)에 추가되는 동작이 수행된 후에, 도 12의 동작 방법이 수행될 수 있다.
S550 단계에서, 패치 사전부(113)에 저장된 패치들 중 유사한 패치들의 수가 문턱값보다 큰지 판별된다. 예를 들어, 패치 사전부(113)에 저장된 패치들 중 추가된 패치와 유사한 패치들의 수가 검출될 수 있다. 패치 사전부(113)에 저장된 패치들 중 추가된 패치와의 거리가 기준값보다 적은 패치들의 수가 검출될 수 있다. 검출된 수는 문턱값과 비교될 수 있다.
S560 단계에서, 유사한 패치들이 결합된다. 예를 들어, 검출된 패치들 중 제 2 기준값보다 낮은 스코어를 갖는 패치들이 서로 결합될 수 있다. 패치들의 기술자들(descriptors), 고주파 성분들(high frequency components) 및 스코어들은 각각 결합될 수 있다. 패치들의 기술자들(descriptors), 고주파 성분들(high frequency components) 및 스코어들은 평균, 가중 평균, 이동 평균 등과 같은 다양한 알고리즘들 중 하나에 기반하여 결합될 수 있다. 결합은 정제(refinement)를 포함할 수 있다.
도 10을 참조하여 설명된 바와 같이, 업스케일 시에 사용되지 않는 패치의 스코어는 점차적으로 감소한다. 패치 사전부(113)에 저장된 패치들 중 사용되지 않는 정도가 문턱값보다 낮은 패치들은 도 12의 동작 방법에 의해 패치 사전부(113)에서 하나의 패치로 결합될 수 있다. 사용되지 않는 패치들을 하나의 패치로 결합함으로써, 패치 사전부(113)가 과도한 용량을 소모하는 것이 방지된다.
도 13은 사전 관리부(114)의 동작 방법의 제 5 예를 보여주는 순서도이다. 예를 들어, 사전 관리부(114)의 패치 제거부(230)의 동작 방법의 제 3 예가 도 13에 도시된다. 도 6, 도 7 및 도 13을 참조하면, S570 단계에서, 패치가 추가되는 이벤트가 검출된다. 예를 들어, 도 9의 S350 단계에서 설명된 바와 같이, 새로 검색된 제 1 패치(P1)가 패치 사전부(113)에 추가되는 동작이 수행된 후에, 도 13의 동작 방법이 수행될 수 있다.
S580 단계에서, 패치 사전부(113)의 사이즈가 한계에 도달했는지 판별된다. 예를 들어, 패치 사전부(113)에 저장된 패치들의 용량이 미리 정해진 한계값에 도달하는지 판별될 수 있다. 예를 들어, 패치 사전부(113)의 자유 저장 용량이 미리 정해진 한계값까지 감소했는지 판별될 수 있다. 패치 사전부(113)의 사이즈가 한계에 도달하지 않으면, 패치의 제거는 수행되지 않는다. 패치 사전부(113)의 사이즈가 한계에 도달하면, S590 단계에서, 패치 사전부(113)에 저장된 패치들 중 가장 낮은 스코어를 갖는 패치가 제거될 수 있다.
도 14는 패치 사전부(113)의 인덱스들이 관리되는 제 1 예를 보여주는 순서도이다. 예시적으로, 패치 사전부(113)의 패치들이 인덱스들에 기반하여 관리될 때에 인덱스들이 관리되는 예가 도 14에 도시된다. 그러나, 패치 사전부(113)의 패치들은 인덱스들에 기반하여 관리되는 것으로 한정되지 않는다.
도 2 및 도 14를 참조하면, S610 단계에서, 패치가 추가되는 이벤트가 검출된다. 예를 들어, 도 9의 S350 단계에서 설명된 바와 같이, 새로 검색된 제 1 패치(P1)가 패치 사전부(113)에 추가되는 동작이 수행된 후에, 도 14의 동작 방법이 수행될 수 있다.
S620 단계에서, 추가된 패치가 인덱스 없는 패치로 설정된다.
S630 단계에서, 인덱스 없는 패치들의 수가 문턱값보다 큰지 판별된다. 인덱스 없는 패치들의 수가 문턱값보다 크지 않으면, 동작은 종료된다. 인덱스 없는 패치들의 수가 문턱값보다 크면, S640 단계 및 S650 단계가 수행된다.
S640 단계에서, 패치 사전부(113)로부터 제거된 패치의 인덱스가 삭제된다. 그리고, S650 단계에서, 인덱스가 재구성된다.
이 실시 예에 따르면, 패치 사전부(113)에 추가되는 패치들의 수가 문턱값에 도달할 때마다, 인덱스가 재구성된다. 인덱스가 재구성될 때, 삭제된 패치들의 인덱스들의 삭제 또한 수행된다. 인덱스를 갖지 않는 패치들에 대해서는, 완결 검색(exhaustive search)이 수행될 수 있다.
예시적으로, 도 14에서, 추가된 패치들의 수가 문턱값에 도달할 때마다 인덱스가 재구성되는 것으로 설명되었다. 그러나, 인덱스가 재구성되는 조건은 한정되지 않는다. 예를 들어, 인덱스의 재구성은 주기적으로 수행될 수 있다. 인덱스의 재구성은 프레임 단위의 검색이 종료될 때마다, 또는 프레임의 하나의 라인 또는 둘 이상의 미리 정해진 수의 라인의 검색이 종료될 때마다 수행될 수 있다.
예시적으로, 인덱스의 재구성은 패치 사전부(113), 이미지 프로세서(111) 또는 프로세서(110)가 유휴 상태일 때 수행될 수 있다.
도 15는 패치 사전부(113)의 인덱스들이 관리되는 제 2 예를 보여주는 순서도이다. 예시적으로, 패치 사전부(113)의 패치들이 인덱스들에 기반하여 관리될 때에 인덱스들이 관리되는 예가 도 15에 도시된다. 그러나, 패치 사전부(113)의 패치들은 인덱스들에 기반하여 관리되는 것으로 한정되지 않는다.
도 2 및 도 15를 참조하면, S710 단계에서, 패치가 추가되는 이벤트가 검출된다. 예를 들어, 도 9의 S350 단계에서 설명된 바와 같이, 새로 검색된 제 1 패치(P1)가 패치 사전부(113)에 추가되는 동작이 수행된 후에, 도 15의 동작 방법이 수행될 수 있다.
S720 단계에서, 연관된 패치의 인덱스가 검출된다. 예를 들어, 패치 사전부(113)에 저장된 패치들 중 추가된 패치와 가장 유사한 패치의 인덱스가 검출될 수 있다.
S730 단계에서, 검출된 패치의 지역 인덱스 구조가 검출된다.
S740 단계에서, 검출된 지역 인덱스 구조가 추가된 패치의 인덱스를 포함하도록 재구성된다. 예를 들어, 검출된 패치의 하위에 속하는 서브트리의 인덱스 구조가 재구성될 수 있다. 예를 들어, 추가된 패치의 인덱스가 검출된 패치의 서브트리에 포함되도록 지역 인덱스 구조가 재구성될 수 있다.
마찬가지로, 특정한 패치가 패치 사전부(113)로부터 삭제될 때, 삭제되는 패치와 연관된 지역 인덱스 구조가 검출되고, 검출된 지역 인덱스 구조가 재구성될 수 있다.
도 16은 본 발명의 제 2 실시 예에 따른 이미지 프로세서(111a)를 보여주는 블록도이다. 도 16을 참조하면, 이미지 프로세서(111a)는 업스케일부(112), 패치 사전부(113), 사전 관리부(114), 그리고 패치 정제부(115)를 포함한다. 도 2의 이미지 프로세서(111)와 비교하면, 이미지 프로세서(111a)는 패치 정제부(115)를 더 포함한다.
패치 정제부(115)는 복수의 패치들에 기반하여 정제를 수행하도록 구성된다. 예를 들어, 패치 정제부(115)는 둘 또는 그 이상의 유사한 패치들을 정렬(align)하여, 둘 또는 그 이상의 패치들의 고주파 성분들을 복원하도록 구성된다. 정렬은 서브 픽셀의 해상도로 수행될 수 있다. 패치들을 정제하는 예시적인 방법은 1990년 6월에 "Super Resolution From Image Seuences"의 제목으로 Michal Irani 및 Shmuel Peleg에 의해 공고된 논문에 기재되어 있으며, 해당 논문은 본원 발명의 레퍼런스로 포함된다.
확대된 패치와 동일한 스케일의 패치들은 패치 사전부(113) 및 확대된 프레임으로부터 검색될 수 있다. 패치 정제부(115)는 검색된 패치들 및 확대된 패치를 이용하여 정제를 수행할 수 있다. 사전 관리부(114)는 정제의 결과에 기반하여 패치 사전부(113)를 갱신할 수 있다. 예를 들어, 패치 사전부(113)로부터 패치가 겁색되지 않으면, 사전 관리부(115)는 확대된 프레임으로부터 검색된 패치들로 패치 사전부(113)를 갱신할 수 있다.
도 17은 도 16의 이미지 프로세서(111a)의 이미지 처리 방법을 보여주는 순서도이다. 도 16 및 도 17을 참조하면, S810 단계에서, 입력 프레임(LRF)이 확대(magnify)된다. 예를 들어, 입력 프레임(LRF)은 출력 프레임(HRF)에서 요구되는 사이즈로 확대될 수 있다. 입력 프레임(LRF)은 비큐빅(bicubic)과 같이 간단한(simple) 보간(interpolation)을 수행함으로써 확대될 수 있다. 확대된 프레임은 출력 프레임(HRF)에 대응하는 사이즈를 가질 뿐, 출력 프레임(HRF)에 대응하는 해상도를 갖지 않는다. 확대된 프레임은 저주파 성분(low frequency component)보다 적은 양의 고주파 성분(high frequency component)을 가질 수 있다.
S820 단계에서, 확대된 프레임에서 확대된 패치가 선택된다. 확대된 패치의 선택은 업스케일부(112)에 의해 수행될 수 있다.
S830 단계에서, 확대된 프레임의 연관 영역으로부터 적어도 하나의 제 1 패치가 검색된다. 적어도 하나의 제 1 패치의 검색은 업스케일부(112)에 의해 수행될 수 있다.
S840 단계에서, 패치 사전부(113)로부터 제 2 패치가 검색된다. 예시적으로, 업스케일부(112)는 선택된 패치에 기반하여 패치 사전부(113)를 검색할 수 있다. 패치 사전부(113)의 검색은 도 2 내지 도 15를 참조하여 설명된 바와 같이, 기술자(descriptor)에 기반하여 수행될 수 있다.
S820 단계 내지 S840 단계가 수행되는 방법이 도 18에 도시되어 있다. 도 16 내지 도 18을 참조하면, 확대된 프레임(MF)의 연관 영역(RA)으로부터 두 개의 제 1 패치들(P1)이 검색된다. 예를 들어, 확대된 패치(MP)와 유사한, 또는 확대된 패치(MP)와 기준값 이하의 거리를 갖는 제 1 패치들(P1)이 연관 영역(RA)으로부터 검색될 수 있다. 확대된 패치(MP)와 가장 유사한, 또는 확대된 패치(MP)와 가장 가까운 거리를 갖는 미리 정해진 수의 제 1 패치들(P1)이 연관 영역(RA)으로부터 검색될 수 있다. 연관 영역(RA)으로부터 검색되는 제 1 패치들(P1)의 수는 한정되지 않는다.
패치 사전부(113)로부터 제 2 패치(P2)가 검색된다. 예를 들어, 확대된 패치(MP)와 가장 유사한, 또는 가상 가까운 거리를 제 2 패치(P2)가 패치 사전부(113)로부터 검색될 수 있다. 확대된 패치(MP)와 기준값 이하의 거리를 갖는 제 2 패치(P2)가 패치 사전부(113)로부터 검색될 수 있다.
도 16 내지 도 18을 참조하면, S850 단계에서, 검색된 패치들을 이용하여 정제가 수행된다. 예를 들어, 연관 영역(RA)으로부터 검색된 제 1 패치들(P1) 그리고 패치 사전부(113)로부터 검색된 제 2 패치(P2)가 정렬되어 정제가 수행될 수 있다. 패치 정제부(115)는 업스케일부(112)로부터 확대된 패치(MP), 그리고 제 1 및 제 2 패치들(P1, P2)을 수신하여 정제를 수행할 수 있다.
예시적으로, 패치 사전부(113)로부터 제 2 패치(P2)가 검색되지 않고, 연관 영역(RA)으로부터 적어도 하나의 제 1 패치(P1)가 검색된 경우, 정제부(115)는 확대된 패치(MP) 및 적어도 하나의 제 1 패치(P1)에 기반하여 정제를 수행할 수 있다. 패치 사전부(113)로부터 제 2 패치(P2)가 검색되고, 연관 영역(RA)으로부터 적어도 하나의 제 1 패치(P1)가 검색되지 않는 경우, 정제부(115)는 확대된 패치(MP) 및 제 2 패치(P2)에 기반하여 정제를 수행할 수 있다. 패치 사전부(113)로부터 제 2 패치(P2)가 검색되지 않고 연관 영역(RA)으로부터 적어도 하나의 제 1 패치(P1)가 검색되지 않는 경우, 정제부(115)는 정제를 수행하지 않을 수 있다.
S850 단계에서, 확대된 패치(MP)가 정제된 패치로 대체된다. 업스케일부(112)는 확대된 패치(MP)를 정제된 패치로 치환할 수 있다. 예시적으로, 확대된 패치(MP)가 정제되지 않는 경우, 확대된 패치(MP)는 유지될 수 있다.
확대된 프레임(MF)의 모든 패치들에 대해 도 18에 도시된 방법이 수행되면, 확대된 프레임(MF)의 고주파 성분들이 복원될 수 있다.
도 19는 도 16의 사전 관리부(114)의 동작 방법을 보여주는 순서도이다. 도 16, 도 18 및 도 19를 참조하면, S910 단계에서, 제 2 패치(P2)가 검색되었는지 판별된다. 패치 사전부(113)로부터 확대된 패치(MP)와 유사한 제 2 패치(P2)가 검색되면, 도 18을 참조하여 설명된 방법에 따라, 제 2 패치(P2)에 기반하여 정제가 수행될 수 있다. S920 단계에서, 사전 관리부(114)는 패치 사전부(113)에 저장된 제 2 패치(P2)를 정제된 패치로 치환하고, 정제된 패치의 스코어를 증가시킬 수 있다. 제 2 패치(P2)가 검색되지 않았으면, S930 단계가 수행된다.
S930 단계에서, 적어도 하나의 제 1 패치(P1)가 검색되었는지 판별된다. 확대된 프레임(MF)의 연관 영역(RA)으로부터 적어도 하나의 제 1 패치(P1)가 검색되면, 확대된 패치(MP) 및 적어도 하나의 제 1 패치(P1)에 기반하여 정제가 수행될 수 있다. 패치 사전부(113)에서 제 2 패치(P2)가 검색되지 않았으므로, 정제된 패치는 패치 사전부(113)에 저장된 패치들과 유사하지 않은 패치일 수 있다. 정제된 패치는 패치 사전부(113)에 저장된 패치들과 기준값보다 큰 거리를 갖는 패치일 수 있다. S940 단계에서, 정제된 패치가 패치 사전부(113)에 추가된다. 정제된 패치는 초기 스코어와 함께 추가될 수 있다. 초기 스코어는 정제된 패치와 패치 사전부(113)에 저장된 패치들 사이의 유사도(또는 거리)에 따라 결정될 수 있다.
적어도 하나의 제 1 패치(P1)가 검색되지 않으면, 확대된 패치(MP)와 유사한 패치는 패치 사전부(113) 및 연관 영역(RA)에 존재하지 않는다. S950 단계에서, 사전 관리부(114)는 확대된 패치(MP)를 패치 사전부(113)에 추가할 수 있다. 확대된 패치(MP)는 제 2 초기 스코어와 함께 저장될 수 있다. 제 2 초기 스코어는 S940 단계에서 언급된 초기 스코어보다 낮은 값일 수 있다. 예시적으로, 제 2 초기 스코어는 확대된 패치(MP)가 하나의 프레임, 또는 하나의 프레임의 하나의 라인 또는 미리 정해진 수의 라인들의 검색이 수행되는 동안 패치 사전부(113)에서 유지되도록 설정될 수 있다.
예시적으로, 패치 사전부(113)에 저장된 패치들은 도 2 내지 도 15를 참조하여 설명된 방법에 따라 제거되고, 초기화될 수 있다. 패치 사전부(113)는 기본(baseline) 패치들을 포함할 수 있다.
도 20은 패치 사전부(113)에 저장된 패치들이 관리되는 예를 보여주는 테이블들이다. 도 16 및 도 20을 참조하면, 패치 사전부(113)는 포인터 기반 관리 또는 콘텐츠 기반 관리 중 하나에 따라 패치들을 관리할 수 있다.
포인터 기반 관리는 패치들을 특정 위치에 대한 포인터, 프레임에 대한 포인터, 그리고 프레임으로 관리하는 방법이다.
프레임은 확대된 프레임(MF)의 사본일 수 있다. 패치 사전부(113)는 프레임을 저장할 수 있다. 프레임에 대한 포인터는 해당 패치가 어느 프레임에 속하는지를 가리킬 수 있다. 특정 위치에 대한 포인터는 해당 패치가 프레임에 대한 포인터에 의해 지적된 프레임의 어느 위치에 대응하는지를 가리킬 수 있다.
예시적으로, 패치 사전부(113)에 저장된 패치들의 수가 적은 경우, 확대된 프레임(MF)의 확대된 패치들 대부분이 정제되지 않을 수 있다. 정제되지 않은 확대된 패치들은 패치 사전부(113)에 저장된다. 즉, 확대된 프레임(MF)의 대부분의 패치들이 패치 사전부(113)에 추가된다. 이때, 포인터 기반 관리가 적용되면, 패치들은 하나의 확대된 프레임(MF) 및 그에 따른 포인터들로 간단하게 표현될 수 있다. 패치 사전부(113)에 저장된 패치들의 수가 적은 경우, 확대된 프레임(MF)을 패치 사전부(113)에 저장하는 포인터 기반 관리가 사용될 수 있다.
콘텐츠 기반 관리는 패치들 각각의 콘텐츠를 패치 사전부(113)에 저장하여 관리하는 방법이다. 예시적으로, 패치들의 기술자 및 고주파 성분이 패치 사전부(113)에 저장될 수 있다. 패치 사전부(113)에 저장된 패치들의 수가 많은 경우, 확대된 프레임(MF)의 확대된 패치들 대부분이 정제될 수 있다. 확대된 패치들 각각은 연관 영역(RA)의 제 1 패치(P1) 및 패치 사전부(113)의 제 2 패치(P2)에 기반하여 독립적으로 정제될 수 있다. 정제된 패치는 패치 사전부(113)의 제 2 패치(P2)를 치환할 수 있다. 독립적으로 정제되고 갱신되는 패치들은 하나의 프레임에 대한 포인터들을 기반으로 관리될 수 없다. 패치 사전부(113)에 저장된 패치들의 수가 많은 경우, 패치들을 각각 독립적으로 관리하는 콘텐츠 기반 관리가 사용될 수 있다.
도 21은 패치 사전부(113)가 패치들을 관리하는 예를 보여주는 순서도이다. 도 16 및 도 21을 참조하면, S1010 단계에서, 입력 프레임에 대해 업스케일이 수행된다. 업스케일이 수행된 프레임은 확대된 패치들을 포함할 수 있다. 확대된 패치들 각각에 대해서, 패치 사전부(113) 및 연관 영역(RA)에 기반한 검색이 수행될 수 있다.
S1020 단계에서, 매치되는 패치들의 수가 문턱값보다 큰지 판별된다. 예를 들어, 업스케일이 수행된 프레임의 확대된 패치들 중 특정 패치들의 수가 카운트될 수 있다. 특정 패치들 각각은 패치 사전부(113)로부터 검색되는 제 2 패치(P2) 또는 연관 영역(RA)으로부터 검색되는 적어도 하나의 제 1 패치(P1)를 가질 수 있다. 카운트된 수가 문턱값보다 큰지 판별될 수 있다.
매치되는 패치들의 수가 문턱값보다 크지 않으면, S1030 단계에서, 포인터 기반 관리가 선택된다. 입력 프레임(LRF)이 패치 사전부(113)에 저장되고, 확대된 패치들이 포인터와 함께 패치 사전부(113)에 저장될 수 있다. 이 경우에도, 정제되는 패치들은 콘텐츠 기반 관리에 따라 관리될 수 있다.
매치되는 패치들의 수가 문턱값보다 크면, S1040 단계에서, 콘텐츠 기반 관리가 선택된다. 정제되는 패치들 뿐 아니라, 정제되지 않는 패치들 또한 콘텐츠와 함께 패치 관리부(113)에 저장될 수 있다.
예시적으로, S1030 단계 및 S1040 단계의 선택은 다음 프레임 또는 다음 라인의 검색에 대해서도 적용될 수 있다. S1030 단계 및 S1040 단계의 선택은 현재의 검색에 대해서는 적용되지 않고, 다음 프레임 또는 다음 라인의 검색에 대해서 적용될 수 있다.
예시적으로, 포인터 기반으로 관리되던 패치가 정제되고 갱신되면, 해당 패치는 콘텐츠 기반으로 관리될 수 있다.
예시적으로, 특정 프레임에 대해 포인터 기반으로 관리되는 패치들의 수가 기준값 이하로 감소하면, 해당 패치들은 콘텐츠 기반 관리로 전환될 수 있다.
도 22는 본 발명의 제 3 실시 예에 따른 이미지 프로세서(111b)를 보여주는 블록도이다. 도 22를 참조하면, 이미지 프로세서(111b)는 업스케일부(112), 패치 사전부(113), 사전 관리부(114), 모션 보상부(116), 모선 검출부(117), 그리고 다운스케일부(118)를 포함한다. 도 2의 이미지 프로세서(111)와 비교하면, 이미지 프로세서(111b)는 모션 보상부(116), 모션 검출부(117), 그리고 다운스케일부(118)를 더 포함한다.
다운스케일부(118)는 업스케일부(112)로부터 출력되는 출력 프레임(HRF), 예를 들어 이전 출력 프레임을 수신할 수 있다. 다운스케일부(118)는 출력 프레임(HRF)을 입력 프레임(LRF)의 해상도로 다운스케일할 수 있다. 다운스케일은 안티-엘리어싱(anti-aliasing) 특성을 갖는 바이리니어(bilinear) 다운스케일과 같은 다양한 방법들 중 하나에 따라 수행될 수 있다.
모션 검출부(117)는 입력 프레임(LRF), 예를 들어 현재 입력 프레임을 수신하고, 다운스케일부(118)로부터 다운스케일된 프레임을 수신할 수 있다. 모션 검출부(117)는 입력 프레임(LRF)과 다운스케일된 프레임을 비교하여, 모션을 검출할 수 있다. 모션 검출부(117)는 검출 결과에 따라 모션 필드(motion field)를 생성할 수 있다.
모션 보상부(116)는 모션 검출부(117)에 의해 생성된 모션 필드에 기반하여, 출력 프레임(HRF)의 패치들을 복사하여 부분 업스케일된 프레임(HRF_P)을 생성할 수 있다. 부분 업스케일된 프레임(HRF_P)은 모션 필드에 기반한 패치들의 복사에 의해 처리되지 않은 갭(gaps) 또는 홀(holes)을 포함할 수 있다.
업스케일부(112)는 모션 보상부(116)로부터 부분 업스케일된 프레임(HRF_P)을 수신한다. 업스케일부(112)는 부분 업스케일된 프레임(HRF_P)에 존재하는 갭(gaps) 또는 홀(holes)에 대해, 패치 사전부(113)를 참조하여 고주파 성분을 보강할 수 있다. 예시적으로, 업스케일부(112)는, 도 2 내지 도 15를 참조하여 설명된 방법에 따라 갭 또는 홀의 고주파 성분을 보강할 수 있다. 사전 관리부(114)는 도 2 내지 도 15를 참조하여 설명된 방법에 따라 패치 사전부(113)를 관리할 수 있다.
예시적으로, 다운스케일부(118)는 생략될 수 있다. 이때, 모션 검출부(117)는 이전 입력 프레임과 현재 입력 프레임을 비교하여 모션 맵(motion map)을 생성할 수 있다. 모션 보상부(116)는 모션 맵에 기반하여 부분 업스케일된 프레임(HRF_P)을 생성할 수 있다.
업스케일부(113)는 부분 업스케일된 프레임(HRF_P)의 갭들 또는 홀들의 패치들을 보강할 수 있다. 사전 관리부(114)는 갭들 또는 홀들과 연관된 패치들에 따라 패치 사전부(113)를 갱신할 수 있다.
도 23은 도 22의 이미지 프로세서(111b)의 이미지 처리 방법을 보여주는 순서도이다. 도 22 및 도 23을 참조하면, S1110 단계에서, 이전 출력 프레임(HRF)이 다운스케일된다.
S1120 단계에서, 현재 입력 프레임(LRF)과 이전 출력 프레임(HRF)에 기반하여 모션이 검출되고, 모션 필드가 생성된다.
S1130 단계에서, 이전 출력 프레임(HRF)의 패치들이 복사되어 부분 업스케일된 프레임(HRF_P)이 생성된다.
S1140 단계에서, 부분 업스케일된 프레임(HRF_P)의 갭 또는 홀에 대해 검색 및 고주파 성분의 보강이 수행되고, 현재의 출력 프레임(HRF)이 생성된다.
예시적으로, 갭 또는 홀에 대응하는 패치가 패치 사전부(113)로부터 검색되지 않을 때, 인-페인팅(in-painting)에 따라 갭 또는 홀이 보강될 수 있다.
도 24는 본 발명의 제 4 실시 예에 따른 이미지 프로세서(111c)를 보여주는 블록도이다. 도 24를 참조하면, 이미지 프로세서(111c)는 업스케일부(112), 패치 사전부(113), 사전 관리부(114), 정제부(115), 모션 보상부(116), 모선 검출부(117), 그리고 다운스케일부(118)를 포함한다. 도 22의 이미지 프로세서(111b)와 비교하면, 이미지 프로세서(111c)는 정제부(115)를 더 포함한다.
이미지 프로세서(111c)에서, 도 22 및 도 23을 참조하여 설명된 바와 같이 부분 업스케일된 프레임(HRF_P)이 생성될 수 있다.
부분 업스케일된 프레임(HRF_P)에 대해, 도 16 내지 도 21을 참조하여 설명된 바와 패치 사전부(113)를 참조하여 정제가 수행될 수 있다.
업스케일부(113)는 패치 정제부(115)를 이용하여 부분 업스케일된 프레임(HRF_P)의 갭들 또는 홀들의 패치들을 보강할 수 있다. 사전 관리부(114)는 정제와 연관된 패치들에 따라 패치 사전부(113)를 갱신할 수 있다.
도 25는 도 24의 이미지 프로세서(111c)의 이미지 처리 방법의 제 1 예를 보여주는 순서도이다. 도 24 및 도 25를 참조하면, S1210 단계에서, 이전 출력 프레임(HRF)이 다운스케일된다.
S1220 단계에서, 현재 입력 프레임(LRF)과 이전 출력 프레임(HRF)에 기반하여 모션이 검출되고, 모션 필드가 생성된다.
S1230 단계에서, 이전 출력 프레임(HRF)의 패치들이 복사되어 부분 업스케일된 프레임(HRF_P)이 생성된다.
S1240 단계에서, 부분 업스케일된 프레임(HRF_P)에 대해 패치 사전부(113)를 참조하여 정제가 수행되고, 현재의 출력 프레임(HRF)이 생성된다. 정제는 부분 업스케일된 프레임(HRF_P) 전체에 대해 수행될 수 있다.
도 26은 도 24의 이미지 프로세서(111c)의 이미지 처리 방법의 제 2 예를 보여주는 순서도이다. 도 24 및 도 26을 참조하면, S1310 단계에서, 미리 정해진 수(n)의 프레임들이 축적된다.
S1320 단계에서, 축적된 프레임들을 사용하여 정제가 수행된다.
S1330 단계에서, 정제된 프레임들이 출력 프레임(HRF)으로 순차적으로 출력된다.
S1340 단계에서, 이전 출력 프레임(HRF)이 다운스케일된다.
S1350 단계에서, 현재 입력 프레임(LRF)과 이전 출력 프레임(HRF)에 기반하여 모션이 검출되고, 모션 필드가 생성된다.
S1360 단계에서, 이전 출력 프레임(HRF)의 패치들이 복사되어 부분 업스케일된 프레임(HRF_P)이 생성된다.
S1370 단계에서, 부분 업스케일된 프레임(HRF_P)의 갭 또는 홀에 대해 정제가 수행되고, 현재의 출력 프레임(HRF)이 생성된다.
S1340 단계 내지 S1370 단계는 S1310 단계 및 S1330 단계가 수행된 후 반복적으로 수행될 수 있다. 즉, 미리 정해진 수의 프레임들이 축적되고 정제될 수 있다. 축적되고 정제되는 프레임들에 대해서는 모션 검출 및 모션 보상이 수행되지 않을 수 있다.
축적 및 정제가 완료되면, 이후에 수신되는 프레임부터 모션 검출 및 모션 보상이 수행될 수 있다. 이때, 부분 업스케일된 프레임(HRF_P)의 갭 또는 홀에 대해서만 추가 정제가 수행된다. 축적되고 정제된 프레임들에 대해서는 추가 정제가 수행되지 않는다. 갭 또는 홀에 대해서만 정제가 수행되면, 이전 프레임과 현재 프레임 사이의 일관성(coherency)이 유지될 수 있다.
상술된 바와 같이, 본 발명의 실시 예들에 따르면, 저해상도의 입력 프레임은 자기 유사도(self similarity) 및 패치 사전부(113)에 기반하여 업스케일된다. 프레임들의 업스케일이 수행될 수록 패치 사전부(113)가 보강된다. 따라서, 업스케일의 정확도가 향상되고 노이즈가 감소된다. 사전 관리부(114)는 패치 사전부(113)의 용량이 과도하게 증가하지 않도록 패치 사전부(113)를 관리한다. 따라서, 업스케일이 지속적으로 수행되어도, 패치 사전부(113)가 소모하는 자원은 미리 정해진 범위 내로 유지될 수 있다.
패치 사전부(113)는 연속한 비디오 스트림의 처리에 따라 온-라인(on-line) 또는 온-더-플라이(on-the-fly)로 갱신된다. 패치 사전부(113)는 연속한 비디오 스트림의 프레임들에 기반하여 패치들을 갱신함으로써, 프레임들 사이에 존재하는 상관성을 활용한다. 프레임들 사이에 존재하는 상관성을 활용함으로써, 업스케일의 품질을 높게 유지하면서도, 패치 사전부(113)의 용량을 모바일 장치와 같이 낮은 자원을 갖는 장치에 적합하게 유지하는 것이 가능하다.
예시적으로, 이미지 프로세서(111)가 프레임들의 업스케일을 시작할 때, 패치 사전부(113)는 패치들을 저장하지 않거나 기본(baseline) 패치들만을 저장할 수 있다. 이때, 출력 프레임(HRF)의 고주파 성분의 보강은 충분히 수행되지 않을 수 있다. 또한, 출력 프레임(HRF)의 노이즈는 충분히 제거되지 않을 수 있다.
카메라와 같은 촬영 장치를 이용하여 프레임들이 획득될 때, 뷰 파인딩(view finding)과 같은 사전 동작이 수행될 수 있다. 또한, 수신된 프레임들을 표시할 때, 프레이밍(framing)과 같은 사전 동작이 수행될 수 있다. 사전 동작이 수행되는 동안, 패치 사전부(113)의 학습(learning)이 수행될 수 있다. 즉, 사전 동작이 수행되는 동안, 패치 사전부(113)에 패치들이 추가될 수 있다. 사전 동작 이후에 표시되는 프레임들은 보강된 패치 사전부(113)에 의해 처리된다. 따라서, 출력 프레임(HRF)의 보강 및 노이즈 제거가 충분히 수행될 수 있다.
예시적으로, 입력 프레임(LRF)은 콘텐츠가 풍부한 영역(content-rich area) 및 콘텐츠가 적은 영역(contentless area)을 포함할 수 있다. 콘텐츠가 풍부한 영역은 본 발명의 실시 예들에 따라 자기 유사도 및 패치 사전부(113)에 기반하여 처리될 수 있다. 콘텐츠가 적은 영역은 바이리니어(bilinear) 또는 비큐빅(bicubic)과 같은 단순한 알고리즘을 이용하여 업스케일될 수 있다. 예를 들어, 확대된 프레임(MF)에서, 콘텐츠가 적은 영역은 무시되고, 콘텐츠가 풍부한 영역에 대해 고주파 성분의 보강이 수행될 수 있다.
예시적으로, 이미지 프로세서(111)의 동작 성능을 최적화하기 위하여, 패치 사이즈가 결정될 수 있다. 예를 들어, 특정한 프레임들에 대해 패치 사이즈를 가변하여 업스케일이 수행될 수 있다. 업스케일의 결과에 따라, 가장 높은 동작 성능을 갖는 패치 사이즈가 선택될 수 있다.
상술된 실시 예들에서, 다양한 문턱값들, 기준값들, 또는 미리 정해진 값들이 언급되었다. 문턱값들, 기준값들, 또는 미리 정해진 값들은 이미지 프로세서(111) 또는 이미지 프로세서(111)의 구성 요소들에서 사용되는 알고리즘들 및 디자인 룰에 따라 결정되는 값들일 수 있다.
본 발명의 실시 예들은 프레임들을 촬영하여 저장 또는 표시하는 다양한 장치들에 적용될 수 있다. 예를 들어, 본 발명의 실시 예들은 카메라, 스마트폰, 스마트패드, 스마트카메라 등과 같은 장치들에 적용될 수 있다. 특히, 저해상도의 카메라를 사용하여 고해상도의 프레임을 표시하고, 광학 줌을 지원하는 장치들에 적용될 수 있다.
본 발명의 실시 예들은 프레임들을 수신하여 표시하는 다양한 장치들에 적용될 수 있다. 예를 들어, 본 발명의 실시 예들은 스마트폰, 스마트패드, 스마트카메라, 노트북컴퓨터, 데스크톱컴퓨터, 스마트텔레비전 등과 같은 장치들에 적용될 수 있다. 특히, 저해상도의 프레임들을 수신하여 고해상도의 프레임들을 표시하는 장치들에 적용될 수 있다.
본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위와 기술적 사상에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능하다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100; 컴퓨팅 장치
110; 프로세서 120; 메모리
130; 스토리지 140; 모뎀
150; 사용자 인터페이스
111, 111a, 111b, 111c; 이미지 프로세서
112; 업스케일부 113; 패치 사전부
114; 사전 관리부 115; 패치 정제부
116; 모션 보상부 117; 모션 검출부
118; 다운스케일부

Claims (10)

  1. 이미지 프로세서의 이미지 처리 방법에 있어서:
    프레임보다 작은 사이즈를 갖는 프레임 조각들(frame fragments)인 복수의 패치들을 포함하는 패치 사전부를 참조하여, 입력 프레임을 업스케일(upscale)하는 단계; 그리고
    상기 업스케일의 결과에 따라 상기 패치 사전부를 갱신하는 단계를 포함하고,
    상기 업스케일하는 단계에서, 상기 패치 사전부를 참조하여 상기 업스케일된 프레임의 고주파 성분(high frequency contents)이 보강되고,
    상기 갱신하는 단계에서, 특정한 조건이 만족될 때, 상기 패치 사전부의 상기 복수의 패치들에서 적어도 하나의 패치가 제거되거나 또는 추가되는 이미지 처리 방법.
  2. 제 1 항에 있어서,
    상기 패치 사전부는 상기 업스케일 시에 사용된 적어도 하나의 패치에 기반하여 갱신되는 이미지 처리 방법.
  3. 제 1 항에 있어서,
    상기 업스케일하는 단계는,
    상기 업스케일된 입력 프레임에서 확대된 패치를 선택하는 단계;
    상기 확대된 패치로부터, 상기 확대된 패치의 저주파 성분을 가리키는 기술자(descriptor)를 검출하는 단계;
    상기 기술자에 기반하여, 상기 입력 프레임의 연관 영역으로부터 제 1 패치를 검색하는 단계;
    상기 기술자에 기반하여, 상기 패치 사전부로부터 제 2 패치를 검색하는 단계; 그리고
    상기 제 1 및 제 2 패치들 중 상기 확대된 패치와 더 가까운 패치를 이용하여 상기 확대된 패치를 수정하는 단계를 포함하는 이미지 처리 방법.
  4. 제 3 항에 있어서,
    상기 갱신하는 단계는,
    상기 제 1 및 제 2 패치들 사이의 거리를 계산하는 단계;
    상기 계산된 거리가 문턱값보다 적을 때, 상기 패치 사전부에 저장된 상기 제 2 패치를 상기 제 1 패치로 치환하는 단계;
    상기 계산된 거리가 상기 문턱값보다 적지 않을 때, 상기 제 1 패치가 상기 제 2 패치보다 상기 확대된 패치와 더 가까운지 판별하는 단계;
    상기 제 1 패치가 상기 확대된 패치와 더 가까울 때, 상기 제 1 패치를 상기 패치 사전부에 추가하는 단계; 그리고
    상기 제 1 패치가 상기 확대된 패치와 더 가깝지 않을 때, 상기 제 1 패치를 무시하는 단계를 포함하는 이미지 처리 방법.
  5. 제 4 항에 있어서,
    상기 갱신하는 단계는,
    상기 패치 사전부에 저장된 패치들 중 상기 업스케일 시에 사용된 패치의 스코어를 증가시키는 단계;
    상기 패치 사전부에 새로운 패치가 추가되면, 상기 새로운 패치에 미리 정해진 스코어를 할당하는 단계;
    상기 패치 사전부에서 미리 정해진 수의 검색이 수행되면, 상기 패치 사전부에 저장된 패치들의 스코어들을 감소시키는 단계를 더 포함하는 이미지 처리 방법.
  6. 제 5 항에 있어서,
    상기 갱신하는 단계는,
    상기 스코어들을 감소시키는 단계가 수행된 후, 상기 패치 사전부에 저장된 패치들 중 문턱값보다 낮은 스코어를 갖는 패치를 상기 패치 사전부로부터 삭제하는 단계를 더 포함하는 이미지 처리 방법.
  7. 제 5 항에 있어서,
    상기 갱신하는 단계는,
    상기 패치 사전부에 새로운 패치가 추가될 때, 상기 패치 사전부의 사이즈가 미리 정해진 한계값에 도달하면, 상기 패치 사전부에 저장된 패치들 중 가장 낮은 스코어를 갖는 패치를 상기 패치 사전부로부터 삭제하는 단계를 더 포함하는 이미지 처리 방법.
  8. 제 4 항에 있어서,
    상기 갱신하는 단계는,
    상기 패치 사전부에 새로운 패치가 추가될 때, 상기 패치 사전부에 저장된 패치들 중 상기 새로운 패치와 유사한 패치들의 수가 문턱값보다 크면, 상기 새로운 패치 및 상기 유사한 패치들을 결합(combine)하는 단계를 더 포함하는 이미지 처리 방법.
  9. 제 1 항에 있어서,
    상기 패치 사전부가 초기화될 때, 미리 정해진 기본(baseline) 패치들을 제외한 나머지 패치들이 상기 패치 사전부로부터 삭제되는 이미지 처리 방법.
  10. 제 1 항에 있어서,
    상기 업스케일하는 단계는,
    상기 업스케일된 입력 프레임에서 확대된 패치를 선택하는 단계;
    상기 업스케일된 입력 프레임의 연관 영역으로부터 상기 확대된 패치와 유사한 적어도 하나의 제 1 패치를 검색하는 단계;
    상기 패치 사전부로부터 상기 확대된 패치와 유사한 제 2 패치를 검색하는 단계;
    상기 적어도 하나의 제 1 패치 및 상기 제 2 패치를 사용하여 정제(refinement)를 수행하는 단계; 그리고
    상기 확대된 패치를 상기 정제된 패치로 치환하는 단계를 포함하는 이미지 처리 방법.
KR1020130038165A 2013-04-08 2013-04-08 이미지 프로세서 및 이미지 프로세서의 이미지 처리 방법 KR102080859B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130038165A KR102080859B1 (ko) 2013-04-08 2013-04-08 이미지 프로세서 및 이미지 프로세서의 이미지 처리 방법
US14/067,409 US9235874B2 (en) 2013-04-08 2013-10-30 Image processor for and method of upscaling and denoising using contextual video information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130038165A KR102080859B1 (ko) 2013-04-08 2013-04-08 이미지 프로세서 및 이미지 프로세서의 이미지 처리 방법

Publications (2)

Publication Number Publication Date
KR20140121659A KR20140121659A (ko) 2014-10-16
KR102080859B1 true KR102080859B1 (ko) 2020-02-24

Family

ID=51654517

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130038165A KR102080859B1 (ko) 2013-04-08 2013-04-08 이미지 프로세서 및 이미지 프로세서의 이미지 처리 방법

Country Status (2)

Country Link
US (1) US9235874B2 (ko)
KR (1) KR102080859B1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9189834B2 (en) * 2013-11-14 2015-11-17 Adobe Systems Incorporated Adaptive denoising with internal and external patches
US9286540B2 (en) 2013-11-20 2016-03-15 Adobe Systems Incorporated Fast dense patch search and quantization
TWI513291B (zh) * 2013-12-12 2015-12-11 Ind Tech Res Inst 影像處理的方法、裝置及電腦可讀取媒體
US9767540B2 (en) 2014-05-16 2017-09-19 Adobe Systems Incorporated Patch partitions and image processing
WO2016132152A1 (en) 2015-02-19 2016-08-25 Magic Pony Technology Limited Interpolating visual data
GB201604672D0 (en) 2016-03-18 2016-05-04 Magic Pony Technology Ltd Generative methods of super resolution
GB201603144D0 (en) 2016-02-23 2016-04-06 Magic Pony Technology Ltd Training end-to-end video processes
EP3278559B1 (en) 2015-03-31 2021-05-05 Magic Pony Technology Limited Training end-to-end video processes
JP2018519726A (ja) * 2015-05-15 2018-07-19 ティーエムエム,インコーポレイティド デジタルビデオサンプリング及びアップスケーリングを実行するシステム及び方法
US9996902B2 (en) 2016-01-19 2018-06-12 Google Llc Image upscaling
WO2017178808A1 (en) 2016-04-12 2017-10-19 Magic Pony Technology Limited Visual data processing using energy networks
GB201607994D0 (en) 2016-05-06 2016-06-22 Magic Pony Technology Ltd Encoder pre-analyser
US10986400B2 (en) 2016-08-04 2021-04-20 Microsoft Technology Licensing. LLC Compact video representation for video event retrieval and recognition
KR102580519B1 (ko) * 2016-09-07 2023-09-21 삼성전자주식회사 영상처리장치 및 기록매체
US11941501B2 (en) 2018-05-30 2024-03-26 Samsung Electronics Co., Ltd. Electronic apparatus and control method thereof
US10909700B2 (en) * 2019-04-02 2021-02-02 Samsung Electronics Co., Ltd. Display apparatus and image processing method thereof
KR20210017185A (ko) * 2019-08-07 2021-02-17 한국전자통신연구원 심층 신경망을 기반으로 영상의 압축 포아송 잡음을 제거하는 방법 및 장치
KR102624027B1 (ko) * 2019-10-17 2024-01-11 삼성전자주식회사 영상 처리 장치 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010154269A (ja) * 2008-12-25 2010-07-08 Toshiba Corp 画像高品質化方法、装置およびプログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5828848A (en) * 1996-10-31 1998-10-27 Sensormatic Electronics Corporation Method and apparatus for compression and decompression of video data streams
ATE453903T1 (de) 2001-12-21 2010-01-15 Ibm Verfahren und schaltungen zur bildskalierung mit hilfe neuronaler netzwerke
CN100358356C (zh) 2002-02-28 2007-12-26 皇家飞利浦电子股份有限公司 用于场速率上变换的方法和装置
JP2006050352A (ja) 2004-08-05 2006-02-16 Sharp Corp 映像システム及び映像記憶装置
KR20080044693A (ko) 2006-11-17 2008-05-21 (주)엔텔스 부가 정보 제공이 가능한 디지털 방송 시스템 및 이를 위한에이치디 업컨버터
US8717502B2 (en) 2007-03-19 2014-05-06 Sony Computer Entertainment Inc. Methods and apparatuses for upscaling video
US8411940B2 (en) 2007-08-15 2013-04-02 I.R.I.S. Method for fast up-scaling of color images and method for interpretation of digitally acquired documents
US8165197B2 (en) 2007-12-05 2012-04-24 Sony Corporation Method and apparatus for video upscaling
WO2009141770A1 (en) 2008-05-21 2009-11-26 Koninklijke Philips Electronics N.V. Image resolution enhancement
JP2010041571A (ja) 2008-08-07 2010-02-18 Fujitsu Ten Ltd 画像処理装置
JP5805665B2 (ja) * 2010-01-22 2015-11-04 トムソン ライセンシングThomson Licensing Example−based超解像を用いたビデオ圧縮のためのデータプルーニング
US20130028538A1 (en) * 2011-07-29 2013-01-31 Simske Steven J Method and system for image upscaling

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010154269A (ja) * 2008-12-25 2010-07-08 Toshiba Corp 画像高品質化方法、装置およびプログラム

Also Published As

Publication number Publication date
US9235874B2 (en) 2016-01-12
US20140301661A1 (en) 2014-10-09
KR20140121659A (ko) 2014-10-16

Similar Documents

Publication Publication Date Title
KR102080859B1 (ko) 이미지 프로세서 및 이미지 프로세서의 이미지 처리 방법
CN102938135B (zh) 缩略图缩放
US9218350B2 (en) Searching and placeholders
RU2646334C2 (ru) Управление файлами с помощью заполнителей
KR102567285B1 (ko) 모바일 비디오 서치 기법
JP5947131B2 (ja) 領域選択方式による検索の入力方法及びそのシステム
JP4829579B2 (ja) 画像処理装置、画像処理方法
US20100169326A1 (en) Method, apparatus and computer program product for providing analysis and visualization of content items association
WO2014090097A1 (zh) 一种数据存储方法和装置
US20170242554A1 (en) Method and apparatus for providing summary information of a video
US20090092340A1 (en) Natural language assistance for digital image indexing
US20140164988A1 (en) Immersive view navigation
JP2010205257A (ja) 画像管理装置およびその制御方法およびプログラム
CN108702551B (zh) 用于提供视频的概要信息的方法和装置
JP7203960B2 (ja) デジタル地図上における画像の閲覧
JP2013038453A (ja) 情報処理装置及び表示方法
US20100100531A1 (en) Electronic device and method for managing medias
KR20150135059A (ko) 검색을 수행하는 방법 및 장치
JP2005275979A (ja) 画像検索プログラム
JP2012256120A (ja) 情報処理装置、その処理方法及びプログラム
JP6282051B2 (ja) データ処理装置、データ処理方法及びプログラム
JP5814389B2 (ja) 画像管理システム、及び画像管理方法
US20110246919A1 (en) Search system and method
CN102663140A (zh) 基于tb级全景图像数据快速访问方法
US20150331949A1 (en) System and method for determining current preferences of a user of a user device

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