KR20110108159A - 휴대용 단말의 영상 처리 방법 및 장치 - Google Patents

휴대용 단말의 영상 처리 방법 및 장치 Download PDF

Info

Publication number
KR20110108159A
KR20110108159A KR1020100027505A KR20100027505A KR20110108159A KR 20110108159 A KR20110108159 A KR 20110108159A KR 1020100027505 A KR1020100027505 A KR 1020100027505A KR 20100027505 A KR20100027505 A KR 20100027505A KR 20110108159 A KR20110108159 A KR 20110108159A
Authority
KR
South Korea
Prior art keywords
image
fragment
processing
quadrilateral
original image
Prior art date
Application number
KR1020100027505A
Other languages
English (en)
Other versions
KR101214675B1 (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 KR1020100027505A priority Critical patent/KR101214675B1/ko
Priority to US13/073,484 priority patent/US20110234611A1/en
Publication of KR20110108159A publication Critical patent/KR20110108159A/ko
Application granted granted Critical
Publication of KR101214675B1 publication Critical patent/KR101214675B1/ko

Links

Images

Classifications

    • 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/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/391Resolution modifying circuits, e.g. variable screen formats
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • 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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)

Abstract

본 발명에 따른 휴대용 단말은 원본 이미지를 입력받아 디스플레이 크기에 대응하는 4변형(Quadrilateral) 이미지로 변환하는 주 제어부(CPU; Central Processing Unit); 및 상기 4변형 이미지의 정점에 내에 포함된 화소 들에 대한 프레그먼트를 설정하고, 상기 원본 이미지에 영상 처리를 위해 미리 정해진 알고리즘을 적용하는 범용 그래픽 처리부(GPGPU; General-Purpose computing on Graphics Processing Unit)를 포함한다.

Description

휴대용 단말의 영상 처리 방법 및 장치{METHOD FOR PROCESSING A IMAGE IN A HANDHELD DEVICE AND APPARATUS FOR THE SAME}
본 발명은 휴대용 단말의 영상 처리에 관한 기술로서, 특히 휴대용 단말에서 범용 그래픽 처리기(GPGPU; General-Purpose computing on Graphics Processing Unit)를 사용하여 영상을 처리하는 방법 및 장치에 관한 것이다.
휴대용 단말의 도입 초기에, 휴대용 단말은 단순히 휴대용 음성 통신을 위한 목적으로 사용되었다. 그러나, 최근에는 전자 통신 기술이 발전함에 따라, 휴대용 단말 내에 다양한 기능이 구현되고 있으며, 단순한 음성 통신을 위한 목적으로 사용되기 보다는 카메라, 동영상 재생, 음원 재생, 게임, 이미지 편집, 및 방송 수신 등의 기능이 구현된 정보 통신 기기로서 사용되고 있다.
이와 같이, 정보 통신 기기로서 사용되는 휴대용 단말이 카메라, 이미지 편집, 동영상 재생, 및 방송 수신 등을 기능을 수행함에 있어서, 휴대용 단말 내부에서 생성되는 영상 또는 통신 망을 통해 외부로부터 수신한 영상을 주 제어부(CPU; Central Processing Unit)를 통해 처리하게 된다. 나아가, 이러한 영상들, 특히 고화질의 영상들을 처리하기 위해서는 고성능의 주 제어부(CPU)가 요구되지만, 휴대용 단말의 하드웨어 특성상 주 제어부(CPU) 탑재에 한계가 있다. 따라서, 휴대용 단말에 고성능의 주 제어부(CPU)를 탑재하지 않으면서, 고화질의 영상들을 처리할 수 있는 방안의 연구가 요구된다.
본 발명은 전술한 점들을 고려하여 안출된 것으로써, 휴대용 단말에 범용 그래픽 처리부(General Purpose computing on Graphics Processing Unit)를 적용하여 이미지 처리를 수행하는 방법을 제공하는데 그 목적이 있다.
상기한 목적을 달성하기 위하여 본 발명의 일 측면에 따른 휴대용 단말은 원본 이미지를 입력받아 디스플레이 크기에 대응하는 4변형(Quadrilateral) 이미지로 변환하는 주 제어부(CPU; Central Processing Unit); 및 상기 4변형 이미지의 정점에 내에 포함된 화소 들에 대한 프레그먼트를 설정하고, 상기 원본 이미지에 영상 처리를 위해 미리 정해진 알고리즘을 적용하는 범용 그래픽 처리부(GPGPU; General-Purpose computing on Graphics Processing Unit)를 포함한다.
본 발명의 다른 측면에 따른 휴대용 단말의 영상 처리 방법은 원본 이미지를 입력받아 디스플레이 크기에 대응하는 4변형(Quadrilateral) 이미지로 변환하는 과정과, 범용 그래픽 처리부(General-Purpose computing on Graphics Processing Unit)가 상기 4변형 이미지의 정점에 내에 포함된 화소 들에 대한 프레그먼트를 설정하는 과정과, 상기 범용 그래픽 처리부가 상기 원본 이미지의 프레그먼트 별로 영상 처리를 수행하는 과정을 포함한다.
본 발명에 따르면, 휴대용 단말에 구비된 범용 그래픽 처리부를 이용하여 이미지에 대한 영상 처리를 실시간으로 수행할 수 있다.
또한, 범용 그래픽 처리부를 이용한 영상 처리에 최적화된 프로그래머블 쉐이더를 사용하여, 영상 처리를 빠르고 정확하게 수행할 수 있다.
도 1은 본 발명의 일 실시예에 따른 휴대용 단말의 블록 구성도,
도 2는 도 1의 휴대용 단말에 구비된 CPU 및 GPGPU의 세부 구성을 도시하는 블록 구성도,
도 3a는 본 발명의 일 실시예에 따른 휴대용 단말을 통해 RGB-Gray 변환을 수행하는 과정을 예시하는 개념도,
도 3b는 도 3a의 휴대용 단말의 CPU를 통해 RGB-Gray 변환을 수행하기 위한 프로그램 코드의 일 예시도,
도 3c는 도 3a의 휴대용 단말의 CPU를 통해 RGB-Gray 변환을 수행하기 위해 상기 버텍스 처리부에 입력되는 프로그램 코드의 일 예시도,
도 3d는 도 3a의 휴대용 단말의 CPU를 통해 RGB-Gray 변환을 수행하기 위해 프레그먼트 처리부에 입력되는 프로그램 코드의 일 예시도,
도 4a는 휴대용 단말의 GPGPU를 통해 샤프닝 필터(sharpening filter)를 수행하기 위해 프레그먼트 처리부에 입력되는 프로그램 코드 제1예시도,
도 4b는 휴대용 단말의 GPGPU를 통해 샤프닝 필터(sharpening filter)를 수행하기 위해 프레그먼트 처리부에 입력되는 프로그램 코드의 제2예시도,
도 4c는 휴대용 단말의 GPGPU를 통해 샤프닝 필터(sharpening filter)를 수행하기 위해 프레그먼트 처리부에 입력되는 프로그램 코드의 제3예시도,
도 4d는 도 4a, 도 4b, 및 도 4c에 따른 프레그먼트 처리부의 성능을 비교한 그래프,
도 5a는 본 발명의 일 실시예에 따른 휴대용 단말을 통해 소벨 에지(Sobel Edge) 검출을 처리하는 개념도,
도 5b는 도 5a의 휴대용 단말에 구비된 GPGPU의 프레그먼트 처리부에 입력되는 프로그램 코드의 일 예시도,
도 5c는 버텍스 처리부의 입력 좌표 및 출력 좌표 사이의 관계를 예시하는 도면,
도 5d는 도 5a의 휴대용 단말에 구비된 GPGPU의 버텍스 처리부에 입력되는 프로그램 코드의 일 예시도,
도 5e는 도 5a의 휴대용 단말에 구비된 GPGPU의 버텍스 처리부에 입력되는 프로그램 코드의 다른 예시도,
도 6a는 본 발명의 일 실시예에 따른 휴대용 단말을 통해 선명도가 향상된 실시간 영상 스케일링(Real-time video scaling with detail enhancement)을 수행하는 과정을 예시하는 개념도.
도 6b는 이중 선형 보간에 사용되는 가중치의 일 예시도,
도 6c는 서로 다른 해상도에 대한 초당 프레임 처리수를 예시하는 그래프,
도 7a는 본 발명의 일 실시예에 따른 휴대용 단말을 통해 실시간 비디오 효과(Real-time video effects)를 수행하는 과정을 예시하는 개념도,
도 7b는 서로 다른 해상도에 대한 각 실시간 비디오 효과 처리의 초당 프레임 처리수를 예시하는 그래프,
도 8a는 본 발명의 일 실시예에 따른 휴대용 단말을 통해 카툰 렌더링(Cartoon-style non-photorealistic Rendering)을 수행하는 과정을 예시하는 개념도,
도 8b는 서로 다른 해상도에 대한 카툰 렌더링 처리의 초당 프레임 처리수를 예시하는 그래프,
도 9는 본 발명의 일 실시예에 따른 휴대용 단말을 통해 해리스 코너 검출(Harris corner detector)을 수행하는 과정을 예시하는 개념도,
도 10은 본 발명의 일 실시예에 따른 휴대용 단말을 통해 영상의 얼굴 성형(Face Besutification)을 수행하는 과정을 예시하는 개념도,
도 11은 본 발명의 일 실시예에 따른 휴대용 단말의 영상 처리 방법의 진행 과정을 도시하는 흐름도.
이하 본 발명에 따른 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 하기 설명에서는 구체적인 특정 사항들이 나타나고 있는데 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐 이러한 특정 사항들이 본 발명의 범위 내에서 소정의 변형이나 혹은 변경이 이루어질 수 있음은 이 기술분야에서 통상의 지식을 가진 자에게는 자명하다 할 것이다.
도 1은 본 발명의 방법의 일 실시예에 따른 휴대용 단말의 블록 구성도로서, 본 발명에서는 범용 그래픽 처리부(GPGPU; General Purpose computing on Graphics Processing Unit)를 구비하여 영상을 처리할 수 있는 다양한 장치들 중에서, 이동 통신 단말기를 예로 들어 본 발명이 적용될 수 있는 하드웨어적인 기반 장치에 대해 먼저 설명하도록 한다.
도 1을 참조하면, 범용 그래픽 처리부를 이용하여 영상을 처리하는 휴대용 단말기는 안테나(111), RF부(112), 무선데이터 처리부(113), 키입력부(121), 카메라 모듈(122), 디스플레이부(123), 주 제어부(CPU)(130), 메모리(140), 및 범용 그래픽 처리부(GPGPU)(150)를 구비한다.
RF부(112)는 사용자의 음성, 문자 및 제어 데이터를 무선 신호로 변조하여 안테나(111)를 통해 이동통신망의 기지국(미도시)으로 송신하고, 기지국으로부터의 무선 신호를 안테나(111)를 통해 수신하고, 음성, 문자, 제어 데이터 등으로 복조하여 출력한다. 무선데이터 처리부(113)는 제어부(130)의 제어 하에, 상기 RF부(112)에서 수신한 음성 데이터를 디코딩하여 스피커(speaker)(114)를 통해 가청음으로 출력하며, 마이크로폰(microphone)(115)으로부터 입력되는 사용자의 음성신호를 데이터화하여 RF부(112)로 출력하며, RF부(112)를 통해 입력된 문자, 제어 데이터를 제어부(130)로 제공한다.
키입력부(121)는 사용자로부터 전화 번호 또는 문자를 입력받기 위한 장치로써, 숫자 및 문자 정보를 입력하기 위한 키들 및 각종 기능을 설정하기 위한 기능키들을 구비하며, 이의 입력 신호를 주 제어부(130)로 출력한다. 상기 키입력부(121)는 휴대용 단말에 일반적으로 구비되는 키패드 또는 터치 스크린 등으로 이루어질 수 있다.
카메라 모듈(122)은 통상의 디지털 카메라 기능을 수행하는 모듈로써, 주 제어부(130)의 제어하에 동작하며, 렌즈를 통해 투영되는 영상을 이미지 센서를 통해 감지하여 영상 프레임을 생성하고, 상기 영상 프레임을 디스플레이부(123)으로 표시하거나, 메모리(140)에 저장한다.
디스플레이부(123)는 액정표시장치(Liquid Crystal Display: LCD) 등과 같은 표시장치로 이루어질 수 있으며, 주 제어부(130)의 제어하에 해당 단말기의 각종 동작 상태에 대한 메시지를 비롯하여, 카메라 모듈(122)을 통해 생성되는 영상 프레임, 메모리(140)에 저장된 영상 프레임, 및 주 제어부(130)에 의해 구동되는 어플리케이션 프로그램에 의해 생성되는 정보 및 영상 프레임 등을 디스플레이한다.
주 제어부(130)는 상기 각 기능부들의 동작을 총괄적으로 제어하여 이동통신 단말기의 전반적인 동작을 제어하는 기능을 수행한다. 즉, 주 제어부(130)는 키입력부(121)를 통해 입력된 번호 및 메뉴 선택 신호에 따른 처리를 수행하고, 카메라 모듈(122)를 통해 외부 촬영 신호를 입력받고 그에 따른 처리를 수행하며, 카메라 촬영 영상을 비롯한 각종 동작에 필요한 영상 출력 신호를 디스플레이부(121)를 통해 출력하게 된다. 또한, 주 제어부(130)는 휴대용 단말의 기본적인 기능을 위한 어플리케이션 프로그램을 메모리(140)에 저장하고 실행 요청되는 어플리케이션 프로그램을 처리하고, 사용자에 의해 선택적으로 설치되는 어플리케이션 프로그램을 메모리(140)에 저장하고, 실행 요청에 대응하여 어플리케이션 프로그램을 읽어들여 처리한다.
특히, 주 제어부(130)는 이미지 처리를 위한 어플리케이션 프로그램을 실행을 요청받고, 이미지 처리를 위한 데이터를 범용 그래픽 처리부(150)로 제공하여, 이미지 데이터의 처리를 요청한다. 예컨대, 상기 주 제어부(130)가 범용 그래픽 처리부(150)로 제공하는 데이터는 이미지 처리를 위해 미리 설정된 버텍스 및 프레그먼트 쉐이더 프로그램(shader program), 원본 이미지, 및 4변형 이미지를 포함한다.
한편, 범용 그래픽 처리부(150)는 프로그래머블(programmable)한 특성을 지니며, 사용자에 의해 파이프라인 기능을 변경할 수 있도록 구현된다. 즉, 범용 그래픽 처리부(150)는 주 제어부(130)로부터 제공된 상기 버텍스 및 프레그먼트 쉐이더 프로그램에 의해 파이프 라인 기능을 변경할 수 있도록 구현된다. 그리고, 범용 그래픽 처리부(150)는 주 제어부(130)로부터 제공된 4변형 이미지로부터 정점을 확인하고, 상기 정점 내에 형성되는 영역에 포함된 화소들에 대한 프레그먼트(fragment)를 설정하고, 상기 프레그먼트를 고려하여 원본 이미지에 대한 쉐이더 연산을 수행하여 원본 이미지에 포함된 적어도 하나의 화소의 RGB값을 결정한다. 범용 그래픽 처리부(150)에 의해 결정된 적어도 하나의 화소 값은 주 제어부(130)로 제공된다.
도 2는 도 1의 휴대용 단말에 구비된 주 제어부 및 범용 그래픽 처리부의 세부 구성을 도시하는 블록 구성도이다. 도 2를 참조하면, 주 제어부(130)는 입력버퍼(131), 어플리케이션 처리부(132), 텍스처 변환부(133), 4변형 이미지 생성부(134), 및 스크린 버퍼(135)를 구비하며, 범용 그래픽 처리부(150)는 버텍스 처리부(151), 레스터라이저(152), 프레그먼트 처리부(153), 및 프레임 버퍼(154)를 구비한다.
우선, 주 제어부(130)에 구비된 입력버퍼(131)는 카메라 모듈(131) 또는 메모리(140)로부터 이미지를 입력받아 순차적으로 버퍼링하여 텍스처 변환부(133)로 출력한다. 어플리케이션 처리부(132)는 휴대용 단말에 미리 설치된 어플리케이션을 처리하고, 디스플레이에 표시할 데이터(예컨대, 문자 또는 이미지 데이터)를 텍스처 변환부(133)로 출력한다. 이에 대응하여, 텍스처 처리부(133)는 상기 어플리케이션 처리부(132)로부터 제공되는 데이터와, 입력버퍼(131)로부터 제공되는 이미지를 텍스처 포맷으로 변환하고, 텍스처 포맷으로 변환된 상기 데이터와 이미지를 결합하여 결합 이미지를 생성하고, 상기 결합 이미지를 4변형 이미지 생성부(134)에 제공한다. 그리고, 4변형 이미지 생성부(134)는 상기 결합 이미지를 디스플레이부(123)의 크기 및 이미지의 해상도 등에 맞게 변환하여, 4변형(Quadrilateral) 이미지를 생성한다.
범용 그래픽 처리부(150)에 구비된 버텍스 처리부(151)는 속성(Attribute), 유니폼(uniform), 및 쉐이더 프로그램(shader program)을 입력받는다. 상기 속성은 버텍스 어레이를 사용하여 제공되는 정점 데이터를 포함하고, 상기 유니폼은 버텍스 처리부(151)에 의해 사용되는 상수를 포함한다. 상기 쉐이더 프로그램(shader program)은 버텍스 상에서 수행될 연산자를 상세 규정하는 버텍스 처리부(151)의 프로그램 소스 코드(즉, 버텍스 쉐이더의 프로그램 소스 코드)를 포함한다. 또한, 버텍스 처리부(151)는 4변형 이미지 생성부(134)로부터 제공된 4변형 이미지에 포함된 정점을 전역 좌표계로부터 영상 좌표계로 변환하여 레스터라이저(152)에 제공한다.
상기 레스터라이저(152)는 버텍스 처리부(151)로부터 영상 좌표계의 정점을 제공받아, 상기 정점에 의해 형성되는 영역에 포함되는 화소들에 대한 프레그먼트를 정의하고, 정의된 프레그먼트를 프레그먼트 처리부(153)에 제공한다.
상기 프레그먼트 처리부(153)는 레스터라이저(152)에서 제공받은 프레그먼트를 바탕으로, 상기 주 제어부(130)의 입력버퍼(131)로부터 제공되는 텍스처 포맷의 이미지에 대한 쉐이더 연산을 수행하여, 이미지에 포함된 적어도 하나의 화소 값을 설정한다. 프레그먼트 처리부(153)는 정점, 유니폼(uniform), 텍스처(texture), 및 쉐이더 프로그램(shader program)을 입력받는다. 상기 유니폼은 프레그먼트 처리부(153)에 의해 사용되는 상태변수를 포함하고, 상기 텍스처는 입력버퍼(131)로부터 제공되는 이미지의 텍스처를 포함한다. 상기 쉐이더 프로그램(shader program)은 프래그먼트 상에서 수행될 연산자를 상세 규정하는 프레그먼트 처리부(153)의 프로그램 소스 코드(즉, 프레그먼트 쉐이더의 프로그램 소스 코드) 또는 바이너리를 포함한다. 상기 쉐이더 연산은 예를 들어 OpenGL ES 쉐이딩 언어로 구현된 프레그먼트 쉐이더일 수 있다.
나아가, 상기 프레그먼트 처리부(153)는 단일 렌더링 경로를 수반하는 메소드-콜(method-call) 기능 또는 다중 렌더링 사이클을 수반하는 스테이트-머신(state-machine) 기능으로 구현될 수 있다. 메소드-콜(method-call) 기능으로 구현되는 경우, 상기 프레그먼트 처리부(153)는 처리된 화소 값을 주 제어부(130)의 스크린 버퍼(135)로 제공할 수 있다. 반면, 스테이트-머신(state-machine) 기능으로 구현되는 경우, 상기 프레그먼트 처리부(153)는 복수의 렌더링 처리를 수행하게 되며, 각 렌더링 사이클을 진행하여 획득한 중간 출력 값을 텍스처 포맷으로 프레임 버퍼 (Frame Buffer)(154)에 저장한다.
도 3a는 본 발명의 일 실시예에 따른 방법이 적용되는 휴대용 단말을 통해 RGB-Gray 변환을 수행하는 과정을 예시하는 도면이고, 도 3b는 도 3a의 휴대용 단말의 CPU를 통해 RGB-Gray 변환을 수행하기 위한 프로그램 코드의 일 예시도이고, 도 3c는 도 3a의 휴대용 단말의 주 제어부를 통해 RGB-Gray 변환을 수행하기 위해 상기 버텍스 처리부(151)에 입력되는 프로그램 코드의 일 예시도이고, 도 3d는 도 3a의 휴대용 단말의 주 제어부를 통해 RGB-Gray 변환을 수행하기 위해 상기 프레그먼트 처리부(153)에 입력되는 프로그램 코드의 일 예시도이다.
도 3b와 같이 주 제어부를 통해 RGB-Gray 변환을 수행하기 위해서는 for 루프를 사용하여 영상 프레임의 각 픽셀을 직렬적으로 처리하게 된다.
반면, 본 발명의 일 실시예에 따라, 범용 그래픽 처리부를 통해 RGB-Gray 변환을 수행할 경우, 주 제어부(130)의 텍스처 변환부(133) 및 4변형 이미지 생성부(134)를 통해, 상기 원본 이미지(301)를 텍스처 포맷의 4변형 이미지로 변환한다. 그리고, 버텍스 처리부(151)는 도 3c와 같이 OpenGL ES 쉐이딩 언어로 구현된 베텍스 쉐이더로 설정되어 랜더링 처리를 위해 큐(que)되는 각 정점을 이미지 좌표계로 변환한다. 프레그먼트 처리부(153)는 도 3d와 같이 OpenGL ES 쉐이딩 언어로 구현된 프레그먼트 쉐이더로 설정되며, 텍스처 포맷의 입력 이미지로부터 각 화소의 색을 추출하고, 상기 추출된 색을 휘도값으로 변환한다. 이때, 상기 프레그먼트 처리부(153)는 단일 렌더링 경로를 수반하는 메소드-콜(method-call) 기능으로 구현된다.
한편, OpenGL ES 언어의 2.0 버전은 높은 처리율을 유지하기 위하여, 3개의 정밀도 변경자(lowp, mediump, highp)를 지원한다. highp 변경자는 32비트의 부동 소수점 값을 나타내고, mediump 변경자는 [-65520,65520] 범위의 16비트의 부동 소수점 값을 나타내고, lowp 변경자는 [-2,2] 범위의 10비트의 고정 소수점 값을 나타낸다. lowp 변경자는 색상값 및 낮은 정밀도의 텍스처로부터 읽혀지는 데이터를 나타내는데 유용하게 사용될 수 있고, 낮은 정밀도의 선택은 단말의 성능을 증대시킬 수 있으나 오버플로우를 야기할 수 있다. 따라서, 적절한 밸런스를 찾는 것이 필요하다.
도 4a는 휴대용 단말의 범용 그래픽 처리부를 통해 샤프닝 필터(sharpening filter)를 수행하기 위한 프레그먼트 쉐이더 프로그램 코드의 제1예시도이고, 도 4b는 휴대용 단말의 범용 그래픽 처리부를 통해 샤프닝 필터(sharpening filter)를 수행하기 위한 프레그먼트 쉐이더 프로그램 코드의 제2예시도이고, 도 4c는 휴대용 단말의 범용 그래픽 처리부를 통해 샤프닝 필터(sharpening filter)를 수행하기 위한 프레그먼트 쉐이더 프로그램 코드의 제3예시도이고, 도 4d는 도 4a, 도 4b, 및 도 4c에 따른 프레그먼트 쉐이더의 성능을 비교한 그래프이다.
우선, 도 4a의 프로그램 코드는 프레그먼트 처리부(153)가 모든 변수를 mediump 변경자로 처리하도록 구현되며, 도 4b의 프로그램 코드는 프레그먼트 처리부(153)가 모든 변수를 lowp 변경자로 처리하도록 구현된다. 그러나, 도 4b의 프로그램 코드의 제2예시도에서, 11줄에 개시된 낮은 정밀도의 벡터pCC와 5.0의 곱셈연산은 낮은 정밀도의 범위를 초과하는 결과를 초래하고, 결과값을 [-2,2]의 범위로 고정시키는 문제를 야기한다. 이에 따라, 도 4c의 프로그램 코드는 텍스처에 낮은 정밀도를 사용하여 데이터 오버 플로우가 발생되지 않도록 샤프닝 필터(sharpening filter)에 최적화되도록 구현된다.
도 4d는 도 4a, 도 4b, 및 도 4c에 개시된 프로그램 코드에 대하여, VGA(640×480) 해상도에서 사이클의 수 및 초당 프레임 처리수를 측정한 결과 값을 개시한다. 도 4d를 참조하면, 도 4c에 개시된 프로그램 코드가 상대적으로 적은 사이클을 가지며, 초당 프레임 처리수가 더 많음을 알 수 있다. 도 4c에 개시된 프로그램 코드가 상대적으로 샤프닝 필터(sharpening filter)에 최적화될 수 있음을 알 수 있다.
도 5a는 본 발명의 일 실시예에 따른 방법이 적용되는 휴대용 단말을 통해 소벨 에지(Sobel Edge) 검출을 처리하는 개념도이고, 도 5b는 도 5a의 휴대용 단말에 구비된 범용 그래픽 처리부의 프레그먼트 처리부(153)에 입력되는 프로그램 코드의 일 예시도이다.
우선, 도 5a를 참조하면, 입력버퍼(131)를 통해 원본 이미지(501)가 입력되고, 범용 그래픽 처리부(150)를 통해 RGB-Gray 처리(502)를 수행한다. 즉, CPU(130)의 텍스처 변환부(133) 및 4변형 이미지 생성부(134)를 통해 입력된 원본 이미지(301)를 텍스처 포맷의 4변형 이미지로 변환한다. 그리고, 버텍스 처리부(151)는 상기 4변형 이미지에 포함된 각 정점을 이미지 좌표계로 변환한다. 프레그먼트 처리부(153)는 도 3d와 같이 OpenGL ES 쉐이딩 언어로 구현된 프레그먼트 쉐이더로 설정되어 텍스처 포맷의 입력 이미지로부터 각 화소의 색을 추출하고, 상기 추출된 색을 휘도값으로 변환한다. 이때, 상기 프레그먼트 처리부(153)는 스테이트-머신(state-machine) 기능으로 구현되어, 변환된 결과를 프레임 버퍼(514)에 저장한다. 그리고, 프레그먼트 처리부(153)는 도 5b와 같은 OpenGL ES 쉐이딩 언어로 구현된 프레그먼트 쉐이더로 설정되어, 상기 프레임 버퍼(154)에 저장된 이미지에 대한 소벨 에지(Sobel Edge) 검출을 처리한다. 소벨 에지(Sobel Edge) 검출을 통해 에지 검출 프레임(505)이 생성되고, 그 결과는 스크린 버퍼(135)를 통해 디스플레이부(123)로 출력된다.
범용 그래픽 처리부(150)는 버텍스 쉐이더와 프레그먼트 쉐이더가 단일화된 단일화 쉐이더 구조가 적용될 수 있다. 단일화 쉐이더 구조는 로드 밸런싱(Load Balancing)에 큰 영향을 미칠 수 있으며, 특히 정점 처리의 감소는 프레그먼트 처리의 사이클을 더 많이 수행할 수 있게 구현될 수 있다. 일반적으로 이미지 처리 알고리즘에서 정점 처리는 상대적으로 간단하게 구현되고 프레그먼트 처리는 상대적으로 더 복잡하게 구현된다. 따라서, 버텍스 처리부에서 이웃 텍스처의 위치를 미리 처리하게 되면, 프레그먼트 처리부의 사이클 카운트를 현저하게 감소시킬 수 있다.
도 5c는 버텍스 처리부의 입력 좌표 및 출력 좌표 사이의 관계를 예시하는 도면이고, 도 5d는 도 5a의 휴대용 단말에 구비된 범용 그래픽 처리부의 버텍스 처리부(151)에 입력되는 프로그램 코드의 다른 예시도이고, 도 5e는 도 5a의 휴대용 단말에 구비된 범용 그래픽 처리부의 프레그먼트 처리부(153)에 입력되는 프로그램 코드의 다른 예시도이다.
전술한 바와 같이, 버텍스 처리부(151)를 도 5d에 개시된 OpenGL ES 쉐이딩 언어로 구현된 버텍스 쉐이더로 설정하여, 버텍스 처리부(151)가 도 5c에 도시된 관계에 따른 이웃 텍스처의 위치를 미리 처리하도록 하고, 프레그먼트 처리부(153)를 도 5e에 개시된 OpenGL ES 쉐이딩 언어로 구현된 프레그먼트 쉐이더로 설정하여 소벨 에지(Sobel Edge) 검출을 처리하도록 구현할 수 있다.
프레그먼트 처리부(153)를 도 5b에 개시된 OpenGL ES 쉐이딩 언어로 구현된 프레그먼트 쉐이더로 설정하여 소벨 에지(Sobel Edge) 검출하는 경우, 프레그먼트 처리부(153)는 VGA 해상도의 영상을 초당 13프레임 처리하였고 전체 사이클은 39였다. 그러나, 버텍스 처리부(151)를 도 5d에 개시된 OpenGL ES 쉐이딩 언어로 구현된 버텍스 쉐이더로 설정하고, 프레그먼트 처리부(153)를 도 5e에 개시된 OpenGL ES 쉐이딩 언어로 구현된 프레그먼트 쉐이더로 설정하여 소벨 에지(Sobel Edge) 검출하는 경우, 프레그먼트 처리부(153)는 VGA 해상도의 영상을 초당 27프레임 처리하였고 전체 사이클은 21로 현저하게 줄일 수 있었다.
도 6a는 본 발명의 일 실시예에 따른 방법이 적용되는 휴대용 단말을 통해 선명도가 향상된 실시간 영상 스케일링을 수행하는 과정을 예시하는 도면이다. 도 6a를 참조하면, 선명도가 향상된 실시간 영상 스케일링을 진행하기 위해, 입력버퍼(131)를 통해 원본 이미지(501)가 입력되고, 주 제어부(130)의 텍스처 변환부(133) 및 4변형 이미지 생성부(134)를 통해, 상기 원본 이미지(601)를 텍스처 포맷의 4변형 이미지로 변환한다. 그리고, 범용 그래픽 처리부(150)의 버텍스 처리부(151)는 상기 4변형 이미지에 포함된 각 정점을 이미지 좌표계로 변환한다. 프레그먼트 처리부(153)는 미리 정해진 알고리즘에 따라, 상기 원본 이미지(601)에 대한 이중 선형 보간(bilinear interpolation)을 수행하고, 이중 선형 보간된 이미지(603)를 프레임 버퍼(514)에 저장한다. 그리고, 프레그먼트 처리부(153)는 상기 이중 선형 보간된 이미지(603)에 대해 도 6b에 도시된 선명도가 향상을 보간을 적용하여 선명도가 향상된 이미지(605)를 생성하고, 상기 선명도가 향상된 이미지(605)를 스크린 버퍼(135)를 통해 디스플레이부(123)로 출력된다.
이와 같이, 이중 선형 보간과 선명도 향상을 수행함으로써, 렌더링된 텍스처의 화질을 실시간으로 빠르게 처리할 수 있다. 아울러, 도 6c는 서로 다른 해상도에 대한 초당 프레임 처리수를 도시한다.
도 7a는 본 발명의 일 실시예에 따른 방법이 적용되는 휴대용 단말을 통해 실시간 비디오 효과를 수행하는 과정을 예시하는 도면이다. 도 7a를 참조하면, 실시간 비디오 효과를 수행하기 위해, 입력버퍼(131)를 통해 원본 이미지(701)를 입력받고, 주 제어부(130)의 어플리케이션 처리부(132)를 통해 사용자로부터 적어도 하나의 효과(Effect)를 선택(702)받는다. 다음으로, 주제어부(130)의 텍스처 변환부(133) 및 4변형 이미지 생성부(134)를 통해 입력된 원본 이미지(701)를 텍스처 포맷의 4변형 이미지로 변환한다. 그리고, 범용 그래픽 처리부(150)의 버텍스 처리부(151)는 상기 4변형 이미지에 포함된 각 정점을 이미지 좌표계로 변환한다. 프레그먼트 처리부(153)는 미리 정해진 알고리즘에 따라, 상기 원본 이미지(701)에 대한 이펙트 쉐이더(Effect shader)(703)를 진행하여, 효과 프레임(704)을 스크린 버퍼(135)로 출력한다. 예컨대, 상기 효과는 이미지 처리에 통상적으로 사용되는 Sepia, Radial blur, Negative, Color gradient, Bloom, Edge overlay, Gray, Gamma, Edge 등을 포함한다. 아울러, 도 7b는 각 효과별, 서로 다른 해상도에 대한 각 실시간 비디오 효과 처리의 초당 프레임 처리수를 도시한다.
도 8a는 본 발명의 일 실시예에 따른 방법이 적용되는 휴대용 단말을 통해 카툰 렌더링(Cartoon-style non-photorealistic Rendering)을 수행하는 과정을 예시하는 도면이다. 도 8a를 참조하면, 카툰 렌더링을 진행하기 위해, 입력버퍼(131)를 통해 원본 이미지(801)를 입력받고, 주 제어부(130)의 텍스처 변환부(133) 및 4변형 이미지 생성부(134)를 통해, 상기 원본 이미지(801)를 텍스처 포맷의 4변형 이미지로 변환한다. 그리고, 범용 그래픽 처리부(150)의 버텍스 처리부(151)는 상기 4변형 이미지에 포함된 각 정점을 이미지 좌표계로 변환한다. 프레그먼트 처리부(153)는 미리 정해진 알고리즘에 따라, RGB-YCbCr변환(802)을 처리하여 변환된 이미지(803)를 프레임 버퍼(154)로 출력한다. 다음으로 프레그먼트 처리부(153)는 프레임 버퍼(154)로부터 변환된 이미지(803)를 읽어들여 양방향 필터링(Bilateral Filtering)(805)을 수행하고, 필터링된 이미지(806)를 프레임 버퍼(154)로 출력한다. 그리고, 프레그먼트 처리부(153)는 다시 프레임 버퍼(154)로부터 필터링된 이미지(806)를 읽어들여 소벨 에지(Sobel Edge) 검출(807)을 수행하고, 에지 검출 이미지(808)을 프레임 버퍼(154)로 출력한다. 또한, 프레그먼트 처리부(153)는 프레임 버퍼(154)로부터 필터링된 이미지(806)와 에지 검출 이미지(808)를 읽어들여 이미지 병합(Adder) 및 YCbCr-RGB변환(809)을 수행하여 카툰 렌더링 이미지(810)를 생성하여 스크린 버퍼(135)로 출력한다. 아울러, 도 8b는 서로 다른 해상도에 대한 카툰 렌더링 처리의 초당 프레임 처리수를 도시한다.
도 9는 본 발명의 일 실시예에 따른 방법이 적용되는 휴대용 단말을 통해 해리스 코너 검출(Harris corner detector)을 수행하는 과정을 예시하는 도면이다. 도 9를 참조하면, 해리스 코너 검출을 진행하기 위해, 입력버퍼(131)를 통해 원본 이미지(901)를 입력받고, 주 제어부(130)의 텍스처 변환부(133) 및 4변형 이미지 생성부(134)를 통해, 상기 원본 이미지(901)를 텍스처 포맷의 4변형 이미지로 변환한다. 그리고, 범용 그래픽 처리부(150)의 버텍스 처리부(151)는 상기 4변형 이미지에 포함된 각 정점을 이미지 좌표계로 변환한다. 프레그먼트 처리부(153)는 원본 이미지(901)에 대해 RGB-Gray변환(902)을 처리하여 변환된 이미지(903)를 프레임 버퍼(154)로 출력한다. 다음으로 프레그먼트 처리부(153)는 프레임 버퍼(154)에 저장된 변환된 이미지(903)를 읽어들여 그래디언트(Gradient) 연산(904)을 수행하고, 그래디언트 연산된 이미지(905)를 프레임 버퍼(154)로 출력한다. 그리고, 다시 프레임 버퍼(154)로부터 그래디언트 연산된 이미지(905)를 읽어들여 가우시안 필터링(Gaussian Filtering)(906)을 수행하고, 필터링된 이미지(907)를 프레임 버퍼(154)로 출력한다. 또한, 프레그먼트 처리부(153)는 프레임 버퍼(154)로부터 필터링된 프레임(907)을 읽어들여 로컬 맥시마(Local Maxima) 연산을 수행하고 해리스 코너 검출 이미지(909)를 생성하여 스크린 버퍼(135)로 출력한다. 예컨대, 상기 로컬 맥시마(Local Maxima) 연산을 하기의 수학식 1의 연산을 통해 수행될 수 있다.
Figure pat00001
여기서, α는 파리미터이며, C는 하기의 수학식 2의 연산에 의한 값이다.
Figure pat00002
도 10은 본 발명의 일 실시예에 따른 휴대용 단말을 통해 영상의 얼굴 성형(Face Besutification)을 수행하는 과정을 예시하는 도면이다. 도 10을 참조하면, 영상의 얼굴 성형을 진행하기 위해, 입력버퍼(131)를 통해 원본 이미지(1001)를 입력받고, 주 제어부(130)의 텍스처 변환부(133) 및 4변형 이미지 생성부(134)를 통해, 상기 원본 이미지(1001)를 텍스처 포맷의 4변형 이미지로 변환한다. 그리고, 범용 그래픽 처리부(150)의 버텍스 처리부(151)는 상기 4변형 이미지에 포함된 각 정점을 이미지 좌표계로 변환한다. 프레그먼트 처리부(153)는 원본 이미지(1001)에 피부 검출(skin detection)(1002) 알고리즘을 적용하여 피부 검출 이미지(1003)를 프레임 버퍼(154)로 출력한다. 또한, GPU(150)는 원본 이미지(1001)를 RGB-YCbCr변환(1004)하고, 프레임 버퍼(154)로부터 피부 검출 이미지(1003)를 읽어들여 양방향 필터링(Bilateral Filterin)(1005)을 처리한 후, 다시 YCbCr-RGB변환(1006)을 처리한다. 프레그먼트 처리부(153)는 전술한 처리 과정들(1002, 1004, 1005, 1006)을 통해 성형 이미지(1007)을 생성하고, 상기 성형 이미지(1007)를 스크린 버퍼(135)로 출력한다.
도 11은 본 발명의 일 실시예에 따른 휴대용 단말의 영상 처리 방법의 진행 과정을 도시하는 흐름도이다.
도 11을 참조하며, 우선 1101단계에서 주 제어부(CPU)가 외부 카메라 모듈 또는 메모리로부터 입력받은 원본 이미지를 텍스처 포맷으로 변환한다.
다음으로, 1102단계에서, 주 제어부(CPU)는 디스플레이 크기 및 이미지의 해상도를 고려하여, 상기 디스플레이 크기 및 이미지의 해상도에 맞게 텍스처 포맷의 이미지를 4변형 이미지로 변환한다. 그리고, 상기 4변형 이미지를와 함께 원본 이미지의 영상 처리를 요청하는 명령을 범용 그래픽 처리부(GPGPU; General-Purpose computing on Graphics Processing Unit)로 출력한다.
주 제어부(CPU)는 미리 설정된 어플리케이션을 처리하여 디스플레이에 출력한 데이터를 더 생성할 수 있다. 이에 따라, 1102단계에서, 주 제어부(CPU)는 미리 설정된 어플리케이션의 처리에 의해 생성된 상기 데이터를 원본 이미지와 결합할 수 있다. 구체적으로, 1102단계는 상기 주 제어부(CPU)가 상기 어플리케이션을 처리하여 디스플레이에 출력한 데이터를 생성하고, 상기 디스플레이에 출력할 데이터를 텍스처 포맷으로 변환하는 과정을 포함한다. 그리고, 1102단계는 상기 주 제어부(CPU)는 상기 텍스처 포맷의 원본 이미지와 상기 디스플레이에 출력할 데이터를 결합한 후, 결합된 데이터를 4변형 이미지로 변환하는 과정을 더 포함할 수 있다.
범용 그래픽 처리부(GPGPU)는 1103단계에서 4변형 이미지에 포함된 정점을 전역 좌표계로부터 영상 좌표계로 변환한다. 그리고, 1104단계에서 범용 그래픽 처리부는 상기 영상 좌표계 내에 포함된 4개의 정점들에 의해 형성되는 영역을 확인하고, 상기 영역에 포함된 화소들에 대한 프레그먼트를 설정한다. 예컨대 상기 영역에 포함된각각의 화소가 각각 프레그먼트로 설정될 수 있다.
다음으로, 1105단계에서 범용 그래픽 처리부(GPGPU)는 미리 설정된 쉐이더에 의해 상기 원본 이미지의 영상 처리를 수행할 수 있다. 범용 그래픽 처리부는 원본 이미지를 상기 프레그먼트와 매칭시켜, 상기 프레그먼트 단위로 영상 처리를 수행한다. 상기 미리 정해진 쉐이더는 프래그먼트 상에서 수행될 연산자를 상세 규정하는 프로그램 소스 코드(즉, 프레그먼트 쉐이더의 프로그램 소스 코드) 또는 바이너리를 포함할 수 있으며, 예컨대 OpenGL ES 쉐이딩 언어로 구현된 프레그먼트 쉐이더일 수 있다. 상기 미리 설정된 쉐이더는 상기 1102단계에서 주 제어부가 범용 그래픽 처리부(GPGPU)로 원본 이미지의 영상 처리를 요청하는 명령을 출력하는 과정에서 제공될 수 있다.
OpenGL ES 언어의 2.0 버전은 높은 처리율을 유지하기 위하여, 3개의 정밀도 변경자(lowp, mediump, highp)를 지원한다. highp 변경자는 32비트의 부동 소수점 값을 나타내고, mediump 변경자는 [-65520,65520] 범위의 16비트의 부동 소수점 값을 나타내고, lowp 변경자는 [-2,2] 범위의 10비트의 고정 소수점 값을 나타낸다. lowp 변경자는 색상값 및 낮은 정밀도의 텍스처로부터 읽혀지는 데이터를 나타내는데 유용하게 사용될 수 있고, 높은 정밀도의 선택은 단말의 성능을 증대시킬 수 있으나 오버플로우를 야기할 수 있다. 따라서, 상기 미리 정해진 쉐이더는 오버플로우가 발생하지 않는 범위 내에서 단말의 성능을 극대화시킬 수 있는 적절한 밸런스로 설정되는 것이 바람직하다.
또한, 일반적으로 이미지 처리 알고리즘은 정점 처리는 상대적으로 간단하게 구현되고 프레그먼트 처리는 상대적으로 더 복잡하게 구현되므로, 버텍스 처리부에서 이웃 텍스처의 위치를 미리 처리하도록 구현되는 것이 바람직하다.
나아가, 상기 영상 처리는 단일 렌더링 경로를 수반하는 메소드-콜(method-call) 기능 또는 다중 렌더링 사이클을 수반하는 스테이트-머신(state-machine) 기능으로 구현될 수 있다. 메소드-콜(method-call) 기능으로 구현되는 경우, 영상 처리된 이미지는 CPU의 스크린 버퍼로 제공된다. 반면, 스테이트-머신(state-machine) 기능으로 구현되는 경우, 원본 이미지에 복수의 렌더링 처리가 수행되며, 각 렌더링 사이클을 진행하는 과정에서 발생된 중간 출력 값은 텍스처 포맷으로 프레임 버퍼에 저장된다. 이에 따라, 1106단계에서, 영상 처리가 완료되었는지 또는 추가적인 영상 처리가 요구되는 지를 확인한다. 영상 처리가 완료되었을 경우 1107단계를 진행하여 영상 처리가 완료된 이미지를 스크린 버퍼로 출력한다. 반면, 영상 처리가 완료되지 않고 추가적인 영상 처리가 요구되는 경우, 1108단계를 통해 상기 영상 처리된 이미지를 프레임 버퍼에 저장한다. 그리고, 상기 프레임 버퍼에 저장된 이미지를 읽어 들여 영상 처리를 재수행한 후, 1106단계를 다시 진행한다.
이상에서 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 수정 및 변형이 가능함은 물론이다.

Claims (11)

  1. 휴대용 단말에 있어서,
    원본 이미지를 입력받아 디스플레이 크기에 대응하는 4변형(Quadrilateral) 이미지로 변환하는 주 제어부(CPU; Central Processing Unit); 및
    상기 4변형 이미지의 정점 내에 포함된 화소 들에 대한 프레그먼트를 설정하고, 상기 원본 이미지에 영상 처리를 위해 미리 정해진 알고리즘을 적용하는 범용 그래픽 처리부(GPGPU; General-Purpose computing on Graphics Processing Unit)를 포함함을 특징으로 하는 휴대용 단말.
  2. 제1항에 있어서, 상기 주 제어부는,
    상기 원본 이미지를 텍스처 포맷으로 변환하는 텍스처 변환부와,
    텍스처 포맷의 이미지를 4변형 이미지로 변환하는 4변형 이미지 생성부를 포함함을 특징으로 하는 휴대용 단말.
  3. 제1항에 있어서,
    상기 주 제어부는,
    미리 설정된 어플리케이션을 처리하고 디스플레이에 출력할 이미지 또는 텍스트를 출력하는 어플리케이션 처리부를 더 포함하며,
    상기 텍스처 변환부는,
    상기 원본 이미지와 함께 상기 어플리케이션 처리부로부터의 이미지 또는 텍스트를 텍스처 포맷으로 변환하는 것을 특징으로 하는 휴대용 단말.
  4. 제1항에 있어서, 상기 범용 그래픽 처리부는,
    상기 4변형 이미지에 포함된 정점을 이미지 좌표계로 변환하는 버텍스 처리부와,
    상기 정점들에 의해 영역 내에 포함된 화소에 대한 프레그먼트를 생성하는 레스터라이저와,
    상기 영상 처리를 위해 미리 정해진 알고리즘을 입력받고, 상기 미리 정해진 알고리즘에 따라 상기 원본 이미지를 상기 프레그먼트 별로 처리하여 출력하는 프레그먼트 처리부를 포함함을 특징으로 하는 휴대용 단말.
  5. 제4항에 있어서,
    상기 범용 그래픽 처리부는, 상기 프레그먼트 처리부로부터 출력되는 데이터를 프레그먼트 별로 저장하는 프레임 버퍼를 더 포함하며,
    상기 프레그먼트 처리부는, 상기 프레임 버퍼에 저장된 데이터를 상기 미리 정해진 알고리즘에 따라 더 처리하여 출력하는 것을 특징으로 하는 휴대용 단말.
  6. 휴대용 단말의 영상 처리 방법에 있어서,
    원본 이미지를 입력받아 디스플레이 크기에 대응하는 4변형(Quadrilateral) 이미지로 변환하는 과정과,
    범용 그래픽 처리부(General-Purpose computing on Graphics Processing Unit)가 상기 4변형 이미지의 정점 내에 포함된 화소 들에 대한 프레그먼트를 설정하는 과정과,
    상기 범용 그래픽 처리부가 상기 원본 이미지의 프레그먼트 별로 영상 처리를 수행하는 과정을 포함함을 특징으로 하는 휴대용 단말의 영상 처리 방법.
  7. 제6항에 있어서, 상기 4변형 이미지로 변환하는 과정은,
    상기 원본 이미지를 텍스처 포맷으로 변환하는 과정과,
    텍스처 포맷으로 변환된 이미지를 4변형 이미지로 변환하는 과정을 포함함을 특징으로 하는 휴대용 단말의 영상 처리 방법.
  8. 제7항에 있어서,
    미리 설정된 어플리케이션을 처리하여 디스플레이에 출력할 이미지 또는 텍스트를 출력하는 과정과,
    상기 어플리케이션 처리부로부터의 이미지 또는 텍스트를 텍스처 포맷으로 변환하는 과정과,
    텍스처 포맷의 상기 원본 이미지 및 상기 어플리케이션 처리부로부터의 이미지 또는 텍스트를 결합하는 과정을 포함함을 특징으로 하는 휴대용 단말의 영상 처리 방법.
  9. 제6항에 있어서, 상기 프레그먼트를 설정하는 과정은,
    상기 4변형 이미지에 포함된 정점을 이미지 좌표계로 변환하는 과정과,
    상기 정점들에 의해 영역 내에 포함된 화소에 대한 프레그먼트를 생성하는 과정을 포함함을 특징으로 하는 휴대용 단말의 영상 처리 방법.
  10. 제6항에 있어서, 상기 영상 처리를 수행하는 과정은,
    상기 영상 처리를 위해 미리 정해진 알고리즘을 입력받는 과정과,
    상기 원본 이미지 및 상기 4변형 이미지에 대한 프레그먼트를 입력받는 과정과,
    상기 미리 정해진 알고리즘에 따라 상기 원본 이미지를 상기 프레그먼트 별로 처리하는 과정을 포함함을 특징으로 하는 휴대용 단말의 영상 처리 방법.
  11. 제10항에 있어서, 상기 원본 이미지를 상기 프레그먼트 별로 처리하는 과정은,
    상기 미리 정해진 알고리즘에 따라 상기 원본 이미지를 상기 프레그먼트 별로 처리하여 프레임 버퍼 객체에 저장하는 과정과,
    상기 프레임 버퍼 객체에 저장된 데이터를 상기 미리 정해진 알고리즘에 따라 더 처리하여 출력하는 과정을 포함함을 특징으로 하는 휴대용 단말의 영상 처리 방법.
KR1020100027505A 2010-03-26 2010-03-26 휴대용 단말의 영상 처리 방법 및 장치 KR101214675B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100027505A KR101214675B1 (ko) 2010-03-26 2010-03-26 휴대용 단말의 영상 처리 방법 및 장치
US13/073,484 US20110234611A1 (en) 2010-03-26 2011-03-28 Method and apparatus for processing image in handheld device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100027505A KR101214675B1 (ko) 2010-03-26 2010-03-26 휴대용 단말의 영상 처리 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20110108159A true KR20110108159A (ko) 2011-10-05
KR101214675B1 KR101214675B1 (ko) 2012-12-21

Family

ID=44655865

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100027505A KR101214675B1 (ko) 2010-03-26 2010-03-26 휴대용 단말의 영상 처리 방법 및 장치

Country Status (2)

Country Link
US (1) US20110234611A1 (ko)
KR (1) KR101214675B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016032271A1 (ko) * 2014-08-29 2016-03-03 서강대학교 산학협력단 스마트 기기를 이용한 초음파 신호의 고속 병렬 처리 방법

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150023249A (ko) * 2012-06-27 2015-03-05 티코나 엘엘씨 초저 점도 액체 결정질 중합체 조성물
US9454841B2 (en) 2014-08-05 2016-09-27 Qualcomm Incorporated High order filtering in a graphics processing unit
US9852536B2 (en) 2014-08-05 2017-12-26 Qualcomm Incorporated High order filtering in a graphics processing unit
US10152778B2 (en) * 2015-09-11 2018-12-11 Intel Corporation Real-time face beautification features for video images
KR102507114B1 (ko) * 2016-06-08 2023-03-07 삼성전자주식회사 복수의 운영체제들의 화면을 통합하여 표시하는 방법 및 그 전자 장치
CN110782387B (zh) * 2018-07-30 2023-09-22 阿里巴巴(中国)有限公司 图像处理方法、装置、图像处理器及电子设备
JP2022134435A (ja) * 2021-03-03 2022-09-15 富士通株式会社 表示制御プログラム、表示制御方法及び表示制御装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070279429A1 (en) * 2006-06-02 2007-12-06 Leonhard Ganzer System and method for rendering graphics

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016032271A1 (ko) * 2014-08-29 2016-03-03 서강대학교 산학협력단 스마트 기기를 이용한 초음파 신호의 고속 병렬 처리 방법

Also Published As

Publication number Publication date
US20110234611A1 (en) 2011-09-29
KR101214675B1 (ko) 2012-12-21

Similar Documents

Publication Publication Date Title
KR101214675B1 (ko) 휴대용 단말의 영상 처리 방법 및 장치
JP6676703B2 (ja) 選択的ラスタライゼーション
CN107851307B (zh) 对用于图像处理的拜耳类型图像数据去马赛克的方法和系统
US10304157B2 (en) Information processing method, information processing device, and program
JP2020144907A (ja) インターリーブチャネルデータ用の構成可能な畳み込みエンジン
US9787922B2 (en) Pixel defect preprocessing in an image signal processor
JP6574534B2 (ja) 並列コンピュータビジョン及び画像スケーリング・アーキテクチャ
US9615040B2 (en) Determining a maximum inscribed size of a rectangle
CN110622207B (zh) 用于交叉渐变图像数据的系统与方法
TW201843651A (zh) 紋理貼圖之壓縮方法及其相關圖像資料處理系統與產生360度全景視頻之方法
JP6841888B2 (ja) 映像処理装置及び映像処理方法
EP3822757A1 (en) Method and apparatus for setting background of ui control
TWI615807B (zh) 用於記錄在輸入幾何物件粒度上的可視度測試之結果的方法、設備及系統
JP2006073009A (ja) ヒストグラム伸張の装置および方法
CN115428009B (zh) 基于内容的图像处理
US20200184693A1 (en) Computer program, image processing method, and image processing apparatus
EP4350605A1 (en) Image processing method and apparatus, device, and medium
WO2023197284A1 (en) Saliency-based adaptive color enhancement
US20240104811A1 (en) Image editing method and device
CN113613039A (zh) 视频传输方法、系统、计算设备及计算机存储介质
CN115063333A (zh) 图像处理方法、装置、电子设备和计算机可读存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20151127

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161129

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20171129

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee