KR20160113169A - 이미지 처리 방법 및 장치, 및 컴퓨터 디바이스 - Google Patents

이미지 처리 방법 및 장치, 및 컴퓨터 디바이스 Download PDF

Info

Publication number
KR20160113169A
KR20160113169A KR1020167022702A KR20167022702A KR20160113169A KR 20160113169 A KR20160113169 A KR 20160113169A KR 1020167022702 A KR1020167022702 A KR 1020167022702A KR 20167022702 A KR20167022702 A KR 20167022702A KR 20160113169 A KR20160113169 A KR 20160113169A
Authority
KR
South Korea
Prior art keywords
rendered
rendering
pixel point
gpu
scene
Prior art date
Application number
KR1020167022702A
Other languages
English (en)
Other versions
KR101859312B1 (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 텐센트 테크놀로지(센젠) 컴퍼니 리미티드
Publication of KR20160113169A publication Critical patent/KR20160113169A/ko
Application granted granted Critical
Publication of KR101859312B1 publication Critical patent/KR101859312B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/506Illumination models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/586Depth or shape recovery from multiple images from multiple light sources, e.g. photometric stereo
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/12Shadow map, environment map

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 발명의 실시예들은 이미지 처리 방법 및 장치, 및 컴퓨터 디바이스를 개시한다. 본 발명의 실시예들에 의해 개시된 이미지 처리 방법은: 그래픽 처리 장치(GPU)에 의해, 렌더링될 대상 객체 주위의 미리 설정된 범위 내의 장면에 관한, 중앙 처리 장치(CPU)에 의해 송신된 정보를 수신하는 단계; 상기 GPU에 의해, 상기 장면을 렌더링하여 장면 깊이 파라미터들을 획득하는 단계 - 상기 장면은 광선 광원에 위치한 카메라에 의한 촬영을 통하여 획득됨 -; 상기 GPU에 의해, 상기 렌더링될 대상 객체를 렌더링하여 렌더링 깊이 파라미터들을 획득하는 단계 - 상기 렌더링될 대상 객체는 광선 광원에 위치하지 않은 카메라에 의한 촬영을 통하여 획득됨 -; 상기 GPU에 의해, 상기 장면 깊이 파라미터들 및 상기 렌더링 깊이 파라미터들에 따라 광선 광원들의 방향들에서의 상기 렌더링될 대상 객체의 주변 폐색(AO) 맵들을 산출하는 단계; 및 상기 GPU에 의해, 상기 광선 광원들의 방향들에서의 상기 AO 맵들을 오버레이하여, 출력 이미지를 획득하는 단계를 포함한다. 본 발명의 실시예들은 이미지 처리 효율을 개선할 수 있다.

Description

이미지 처리 방법 및 장치, 및 컴퓨터 디바이스{IMAGE PROCESSING METHOD AND APPARATUS, AND COMPUTER DEVICE}
본 발명의 실시예들은 이미지 처리 기술 분야에 관한 것이고, 특히, 이미지 처리 방법 및 장치, 및 컴퓨터 디바이스에 관한 것이다.
요즘에는, 네트워크 게임들이 번창하고 있고, 사람들은 게임 내의 장면의 현실감에 대한 점점 더 높은 요구를 가지고 있다. 주변 폐색(ambient occlusion)(AO)은 전역 조명(global illumination)(GI) 기술에서 필수적인 부분이고, AO는 장면에서 객체와 또 다른 객체의 표면상의 각 포인트 사이의 폐색(occlusion) 값을 기술한다. 일반적으로, 공간의 단채식 표현감(layering sense)을 향상시키고, 장면의 현실감을 향상시키고, 그림의 예술성을 향상시킬 섀도(shadow)를 생성하기 위해, 객체의 표면상에 방사하는 빛의 조명 값을 AO를 이용하여 약화시킨다.
그러나, 게임 개발 과정에서, 본 개시의 발명자는 시중에 나와 있는 대부분의 주류 AO 맵 베이킹(map baking) 소프트웨어가 중앙 처리 장치(CPU)에 기초하지만, CPU에 의한 이미지 데이터 처리의 효율이 낮으며; 결과적으로, AO 맵 베이킹의 효율이 매우 낮고, 일반적으로, AO 맵을 베이킹하는 데 몇 시간이 걸리고; 일부 베이킹 소프트웨어는 CPU가 처리 프로세스의 한 부분을 실행할 수 있게 하고, 그래픽 처리 장치(GPU)가 처리 프로세서의 다른 부분을 실행할 수 있게 하지만, 그러한 베이킹 소프트웨어에 관련된 알고리즘은 항상 매우 복잡하고, 결국, 이미지 처리 효율이 낮은 문제가 여전히 야기된다는 것을 알아냈다. 그러므로, 상기 문제를 해결할 새로운 방법을 제공하는 것이 필요하다.
본 발명의 실시예들은, 이미지 처리 효율을 개선할 수 있는, 이미지 처리 방법 및 장치, 및 컴퓨터 디바이스를 제공한다. 이 기술적 해결책들은 다음과 같이 설명된다:
제1 양태에 따르면, 이미지 처리 방법이 제공되는데, 이 이미지 처리 방법은 다음을 포함한다:
GPU에 의해, 렌더링될 대상 객체 주위의 미리 설정된 범위 내의 장면에 관한, CPU에 의해 송신된 정보를 수신하는 단계;
상기 GPU에 의해, 상기 장면을 렌더링하여 장면 깊이 파라미터들을 획득하는 단계 - 상기 장면은 광선 광원에 위치한 카메라에 의한 촬영을 통하여 획득됨 -;
상기 GPU에 의해, 상기 렌더링될 대상 객체를 렌더링하여 렌더링 깊이 파라미터들을 획득하는 단계 - 상기 렌더링될 대상 객체는 광선 광원에 위치하지 않은 카메라에 의한 촬영을 통하여 획득됨 -;
상기 GPU에 의해, 상기 장면 깊이 파라미터들 및 상기 렌더링 깊이 파라미터들에 따라 광선 광원들의 방향들에서의 상기 렌더링될 대상 객체의 AO 맵들을 산출하는 단계; 및
상기 GPU에 의해, 상기 광선 광원들의 방향들에서의 상기 AO 맵들을 오버레이하여, 출력 이미지를 획득하는 단계.
제2 양태에 따르면, 이미지 처리 장치가 제공되는데, 이 이미지 처리 장치는 다음을 포함한다:
렌더링될 대상 객체 주위의 미리 설정된 범위 내의 장면에 관한, CPU에 의해 송신된 정보를 수신하는 수신 유닛;
장면 깊이 파라미터들을 획득하기 위해 상기 장면을 렌더링하고 - 상기 장면은 광선 광원에 위치한 카메라에 의한 촬영을 통하여 획득됨 -; 렌더링 깊이 파라미터들을 획득하기 위해 상기 렌더링될 대상 객체를 렌더링하는 렌더링 처리 유닛 - 상기 렌더링될 대상 객체는 광선 광원에 위치하지 않은 카메라에 의한 촬영을 통하여 획득됨 -;
상기 장면 깊이 파라미터들 및 상기 렌더링 깊이 파라미터들에 따라 광선 광원들의 방향들에서의 상기 렌더링될 대상 객체의 AO 맵들을 산출하는 맵 생성 유닛; 및
상기 광선 광원들의 방향들에서의 상기 AO 맵들을 오버레이하여, 출력 이미지를 획득하는 출력 처리 유닛.
제3 양태에 따르면, 컴퓨터 디바이스가 제공되는데, 이 컴퓨터 디바이스는 CPU와 GPU를 포함하고, 여기서
상기 CPU는 렌더링될 대상 객체를 중심으로 이용하고 구 형상 또는 반구 형상으로 분포되는 광선 포인트들을 결정하고, 각 광선 포인트의 위치에서, 상기 렌더링될 대상 객체 쪽으로 빛을 방사하는 광선 광원을 설정하며;
상기 GPU는 렌더링될 대상 객체 주위의 미리 설정된 범위 내의 장면에 관한, 상기 CPU에 의해 송신된 정보를 수신하고; 상기 장면을 렌더링하여 장면 깊이 파라미터들을 획득하고 - 상기 장면은 광선 광원에 위치한 카메라에 의한 촬영을 통하여 획득됨 -; 상기 렌더링될 대상 객체를 렌더링하여 렌더링 깊이 파라미터들을 획득하고 - 상기 렌더링될 대상 객체는 광선 광원에 위치하지 않은 카메라에 의한 촬영을 통하여 획득됨 -; 상기 장면 깊이 파라미터들 및 상기 렌더링 깊이 파라미터들에 따라 광선 광원들의 방향들에서의 상기 렌더링될 대상 객체의 AO 맵들을 산출하고; 상기 광선 광원들의 방향들에서의 상기 AO 맵들을 오버레이하여, 출력 이미지를 획득한다.
상기 기술적 해결책들로부터, 본 발명의 실시예들은 다음과 같은 이점들을 갖는다는 것을 알 수 있다:
본 발명의 실시예들에서, GPU는 렌더링될 대상 객체 주위의 미리 설정된 범위 내의 장면에 관한, CPU에 의해 송신된 정보를 수신하고; 상기 GPU는 상기 수신된 장면을 렌더링하여 장면 깊이 파라미터들을 획득하고; 상기 GPU는 상기 렌더링될 대상 객체를 렌더링하여 렌더링 깊이 파라미터들을 획득하고; 상기 GPU는 상기 장면 깊이 파라미터들 및 상기 렌더링 깊이 파라미터들에 따라 광선 광원들의 방향들에서의 상기 렌더링될 대상 객체의 AO 맵들을 산출하고; 상기 GPU는 상기 광선 광원들의 방향들에서의 상기 AO 맵들을 오버레이하여, 출력 이미지를 획득한다. 본 발명의 실시예들에서, 광선 광원들의 방향들에서의 렌더링될 대상 객체의 AO 맵들은 장면 깊이 파라미터들 및 렌더링 깊이 파라미터들에 따라서만 산출되고, 상기 광선 광원들의 방향들에서의 상기 AO 맵들을 단순히 오버레이하는 것에 의해 출력 이미지가 획득될 수 있으므로, 종래 기술에서의 복잡한 산출 프로세스를 피하고; 이 이미지 산출 및 처리 프로세스들이 GPU에 의해 완성되고, 이미지 데이터의 처리를 위해 GPU의 강력한 능력이 이용되므로, 이미지 처리 효율이 개선된다.
본 발명의 실시예들 또는 종래 기술에서의 기술적 해결책들을 더 분명하게 설명하기 위해, 이하에서는 실시예들 또는 종래 기술을 설명하는 데에 필요한 첨부 도면들을 간략하게 소개한다. 명백히, 이하의 설명에서의 첨부 도면들은 본 발명의 일부 실시예를 도시하며, 본 기술분야의 통상의 기술자라면 창조적 노력 없이도 이들 첨부 도면들로부터 다른 도면들을 여전히 유도해 낼 수 있을 것이다.
도 1은 본 개시 내용에 따른 이미지 처리 방법의 일 실시예의 개략도이다;
도 2는 본 개시 내용에 따른 이미지 처리 방법의 다른 실시예의 개략도이다;
도 3은 본 개시 내용에 따른 이미지 처리 장치의 일 실시예의 개략도이다;
도 4는 본 개시 내용에 따른 이미지 처리 장치의 다른 실시예의 개략도이다;
도 5는 본 개시 내용에 따른 컴퓨터 디바이스의 일 실시예의 개략도이다;
도 6은 감마 보정이 수행되지 않은 출력 이미지이다;
도 7은 감마 보정이 수행된 출력 이미지이다.
본 개시 내용의 목적, 기술적 해결책, 및 이점을 더욱 명료하게 하기 위해, 이하에서는 본 개시 내용의 실시예들을 첨부 도면들을 참조하여 상세히 더 설명한다. 명백하게도, 설명된 실시예들은 본 발명의 실시예들 전부가 아닌 일부일 뿐이다. 본 기술분야의 통상의 기술자가 창의적 노력 없이 본 발명의 실시예들에 기초하여 얻어내는 모든 다른 실시예들은 본 개시 내용의 보호 범위 내에 포함되어야 한다.
본 발명의 실시예들은, 이미지 처리 효율을 개선할 수 있는, 이미지 처리 방법 및 장치, 및 컴퓨터 디바이스를 제공한다.
도 1을 참조하면, 도 1은 본 개시 내용에 따른 이미지 처리 방법의 일 실시예의 개략도이다. 이 실시예의 이미지 처리 방법은 다음을 포함한다:
101: GPU는 렌더링될 대상 객체 주위의 미리 설정된 범위 내의 장면에 관한, CPU에 의해 송신된 정보를 수신한다.
이 실시예에서, 렌더링될 대상 객체의 모델이 CPU에서 설정되고, 광선 광원들이 설정되고, CPU는 광선 광원에 위치한 시뮬레이션된 카메라를 이용하여 렌더링될 대상 객체를 촬영하여, 렌더링될 대상 객체 주위의 미리 설정된 범위 내의 장면에 관한 정보를 획득하고, 여기서 미리 설정된 범위는 실제 필요에 따라 CPU에서 미리 설정되고, 획득된 장면은 렌더링될 대상 객체와 또 다른 객체, 지형, 또는 기타 등등을 포함할 수 있다. CPU는 렌더링될 대상 객체 주위의 미리 설정된 범위 내의 장면에 관한 획득된 정보를 GPU에 송신하고, 따라서 GPU는 추가 처리를 수행한다.
102: GPU는 수신된 장면을 렌더링하여 장면 깊이 파라미터들을 획득한다.
GPU는 렌더링될 대상 객체 주위의 미리 설정된 범위 내의 장면에 관한, CPU에 의해 송신된 정보를 수신하고, 수신된 장면을 렌더링하여 장면 깊이 파라미터들을 획득한다.
103: GPU는 렌더링될 대상 객체를 렌더링하여 렌더링 깊이 파라미터들을 획득한다.
GPU는 광선 광원에 위치하지 않은 카메라를 이용하여 렌더링될 대상 객체를 별도로 촬영하고, 렌더링될 대상 객체를 렌더링하여 렌더링 깊이 파라미터들을 획득한다. GPU가 광선 광원에 위치하지 않은 카메라를 이용하여 렌더링될 대상 객체를 촬영할 때, 선택된 촬영 각도가 렌더링될 대상 객체 전체가 촬영될 수 있게 할 필요가 있다.
104: GPU는 장면 깊이 파라미터들 및 렌더링 깊이 파라미터들에 따라 광선 광원들의 방향들에서의 렌더링될 대상 객체의 AO 맵들을 산출한다.
구체적인 구현에서, 다수의 광선 광원이 있을 수 있고, GPU는 각 광선 광원의 방향에서의 렌더링될 대상 객체의 장면 깊이 파라미터 및 렌더링 깊이 파라미터에 따라 광선 광원들의 방향들에서의 렌더링될 대상 객체의 AO 맵들을 산출한다.
105: GPU는 광선 광원들의 방향들에서의 AO 맵들을 오버레이하여, 출력 이미지를 획득한다.
이 실시예에서, 광선 광원들의 방향들에서의 렌더링될 대상 객체의 AO 맵들은 장면 깊이 파라미터들 및 렌더링 깊이 파라미터들에 따라서만 산출될 수 있고, 광선 광원들의 방향들에서의 AO 맵들을 단순히 오버레이하는 것에 의해 출력 이미지가 획득될 수 있으므로, 종래 기술에서의 복잡한 산출 프로세스를 피하고; 이 이미지 산출 및 처리 프로세스들이 GPU에 의해 완성되고, 이미지 데이터의 처리를 위해 GPU의 강력한 능력이 이용되므로, 이미지 처리 효율이 개선된다.
이해의 편의를 위해, 이하에서는 구체적인 실시예를 이용하여 본 발명의 이 실시예의 이미지 처리 방법을 설명한다. 도 2를 참조하면, 이 실시예의 이미지 처리 방법은 다음을 포함한다:
201: CPU는 렌더링될 대상 객체를 중심으로 이용하고 구 형상 또는 반구 형상으로 분포되는 광선 포인트들을 결정한다.
이 실시예에서, 렌더링될 대상 객체의 모델이 CPU에서 설정되고, 그 후 CPU는 렌더링될 대상 객체를 중심으로 이용하고 구 형상 또는 반구 형상으로 고르게 분포되는 광선 포인트들을 결정한다.
202: CPU는 각 광선 포인트의 위치에서, 렌더링될 대상 객체 쪽으로 빛을 방사하는 광선 광원을 설정한다.
CPU는 각 광선 포인트의 위치에서, 광선 광원을 설정하고, 여기서 광선 광원은 렌더링될 대상 객체 쪽으로 빛을 방사한다. 바람직하게는, 광선 광원들의 수는 900이다.
CPU는 광선 광원에 위치한 시뮬레이션된 카메라를 이용하여 렌더링될 대상 객체를 촬영하여, 렌더링될 대상 객체 주위의 미리 설정된 범위 내의 장면에 관한 정보를 획득하고, 여기서 미리 설정된 범위는 실제 필요에 따라 CPU에서 미리 설정되고, 카메라가 렌더링될 대상 객체를 촬영하는 방식은 평행 투영 행렬 방식(parallel projection matrix manner)일 수 있고, 획득된 장면은 렌더링될 대상 객체와 또 다른 객체, 지형, 또는 기타 등등을 포함할 수 있다.
이미지 드로잉의 정확도를 보장하기 위해, CPU는 렌더링될 대상 객체 주위의 미리 설정된 범위 내의 획득된 장면에서 동적인 객체들을 필터링 제거하고 - 여기서 이 동적 객체들은, 예를 들어, 입자 및 골격에 의한 애니메이션임 -, 필터링 후에 렌더링될 대상 객체 주위의 미리 설정된 범위 내의 장면에 관한 정보를 GPU에 송신할 수 있고, 따라서 GPU는 추가 처리를 수행한다.
구체적으로, CPU는 쿼드트리(quadtree), 옥트리(octree), 및 지우공(Jiugong)과 같은 알고리즘들을 이용하여 장면에 관한 획득된 정보를 GPU에 송신할 수 있다. 또한, GPU에 송신되는 정보는 광선 광원에 있는 카메라의 관련 파라미터들, 예를 들어, 비전 행렬(vision matrix), 투영 행렬(projection matrix), 및 렌즈 위치 등을 더 포함할 수 있다.
203: GPU는 렌더링될 대상 객체 주위의 미리 설정된 범위 내의 장면에 관한, CPU에 의해 송신된 정보를 수신한다.
GPU에 의해 수신된 장면은 광선 광원에 있는 카메라에 의한 촬영을 통하여 획득된다.
204: GPU는 수신된 장면을 렌더링하여 장면 깊이 파라미터들을 획득한다.
GPU는 수신된 장면을 렌더링하여 장면 깊이 이미지를 획득하고, 여기서 장면 깊이 이미지는 광선 광원에 있는 카메라에 의해 촬영된 장면 내의 각 픽셀 포인트의 장면 깊이 파라미터를 저장하고, 즉, 렌더링될 대상 객체의 각 픽셀 포인트의 장면 깊이 파라미터를 또한 포함한다.
205: GPU는 렌더링될 대상 객체를 렌더링하여 렌더링 깊이 파라미터들을 획득한다.
렌더링될 대상 객체는 광선 광원에 위치하지 않은 카메라에 의한 촬영을 통하여 획득되고, 여기서 카메라는 렌더링될 대상 객체를 평행 투영 방식으로 별도로 촬영할 수 있고, 선택된 촬영 각도가 렌더링될 대상 객체 전체가 촬영될 수 있게 할 필요가 있다.
GPU는 렌더링될 대상 객체를 렌더링하고, 렌더링 후에 렌더링 깊이 이미지를 획득하고, 렌더링 깊이 이미지로부터 렌더링될 대상 객체의 정점 좌표(vertex coordinate)를 획득하고, 렌더링될 대상 객체의 정점 좌표를 월드 좌표 행렬(world coordinate matrix)과 곱하고, 그 후 광선 광원들에 위치한 카메라들의 비전 행렬들 및 투영 행렬들과 곱하여, 렌더링될 대상 객체의 렌더링 깊이 파라미터들을 획득한다. 렌더링될 대상 객체의 렌더링 깊이 파라미터들은 렌더링될 대상 객체의 각 픽셀 포인트의 렌더링 깊이 파라미터를 포함한다.
206: 각 광선 광원에 대해, GPU는 렌더링될 대상 객체의 각 픽셀 포인트의 장면 깊이 파라미터 및 렌더링 깊이 파라미터에 따라 광선 광원의 방향에서의 각 픽셀 포인트의 AO 값을 산출한다.
각 광선 광원에 대해, GPU는 광선 광원에 있는 카메라에 의해 촬영된 렌더링될 대상 객체에 대응하는 장면 깊이 파라미터, 및 어떤 광선 광원에도 위치하지 않은 카메라에 의해 촬영된 렌더링될 대상 객체의 렌더링 깊이 파라미터를 획득하고, 렌더링될 대상 객체의 각 픽셀 포인트의 장면 깊이 파라미터 및 렌더링 깊이 파라미터에 따라 광선 광원의 방향에서의 각 픽셀 포인트의 AO 값을 산출하고, 이는 구체적으로 다음과 같다:
픽셀 포인트에 대해, GPU는 픽셀 포인트의 렌더링 깊이 파라미터와 픽셀 포인트의 장면 깊이 파라미터를 비교하고, 렌더링 깊이 파라미터가 장면 깊이 파라미터보다 큰 경우, 픽셀 포인트의 섀도 값이 1인 것으로 결정하고; 픽셀 포인트의 렌더링 깊이 파라미터가 장면 깊이 파라미터보다 작거나 그와 같은 경우, 픽셀 포인트의 섀도 값이 0인 것으로 결정한다.
GPU는 픽셀 포인트의 섀도 값을 가중 계수와 곱하여 광선 광원의 방향에서의 픽셀 포인트의 AO 값을 획득하고, 여기서 가중 계수는 광선 광원의 조명 방향과 픽셀 포인트의 법선 방향의 내적(dot product), 및 광선 광원들의 총수의 역수를 포함하고, 예를 들어, 광선 광원들의 수가 900인 경우, 광선 광원들의 총수의 역수는 1/900이다.
또한, 각 픽셀 포인트의 AO 값에 대한 산출 정확도를 보장하기 위해, 산출을 통하여 획득된 상기 AO 값을 미리 설정된 경험 계수와 더 곱할 수 있고, 여기서 경험 계수는 실험에 따라 측정되고, 0.15일 수 있다.
207: GPU는 각 픽셀 포인트의 AO 값을 오버레이하여 광선 광원의 방향에서의 렌더링될 대상 객체의 AO 맵을 획득한다.
GPU는 각 픽셀 포인트의 AO 값을 오버레이하여 렌더링될 대상 객체의 AO 값을 획득하고, 렌더링될 대상 객체의 AO 값에 따라 광선 광원의 방향에서의 렌더링될 대상 픽셀의 AO 맵을 드로잉한다.
208: GPU는 광선 광원들의 방향들에서의 렌더링될 대상 객체의 AO 맵들을 산출한다.
유추에 의해, GPU는 상기 방법에 따라 각 광선 광원의 방향에서의 렌더링될 대상 객체의 AO 맵을 획득할 수 있다.
209: GPU는 광선 광원들의 방향들에서의 AO 맵들을 오버레이하여, 출력 이미지를 획득한다.
톱니 및 텍스처 픽셀 오버플로로 인해 출력 이미지에 검은색 경계가 생성될 수 있다. 톱니로 인해 생성된 검은색 경계는 섀도의 "퍼센트 프로그레시브 필터링(percentage progressive filtration)"을 이용하여 처리될 수 있고, 각 픽셀에 대해, 이 픽셀의 위, 아래, 왼쪽, 오른쪽의 픽셀들과, 이 픽셀 자체가 평균된다. 픽셀 오버플로로 인해 생성된 검은색 경계는 유효 픽셀들을 확장하는 것에 의해 해결될 수 있다. 구체적으로, 현재 픽셀이 무효한지 여부가 픽셀 셰이더(pixel shader)에서 결정될 수 있다. 현재 픽셀이 무효하다면, 8개의 주위 픽셀들이 샘플링되고, 그의 유효 픽셀들이 합산되고, 유효 픽셀들의 평균 값이 획득되고, 이 평균 값이 현재 픽셀의 섀도 값으로 이용되고, 현재 픽셀은 유효한 것으로 설정된다. 이렇게 하여, 샘플링이 경계를 가로지르는 것을 막기 위한 출력 이미지에 대한 하나의 픽셀의 확장이 구현된다.
210: GPU는 출력 이미지에 대해 감마 보정을 수행하고 출력 이미지를 출력한다.
GPU는 출력 이미지에 대해 감마 보정을 수행하는데, 즉, GPU는 출력 이미지를 표시를 위해 렌더링될 대상 객체의 모델에 붙여넣고, 컬러 차트를 이용하여 출력 이미지의 표시 효과를 조정하여, AO가 장면에 부가될 때 장면이 전체적으로 어둑해지는 문제를 해결한다.
이 실시예에서, 광선 광원들의 방향들에서의 렌더링될 대상 객체의 AO 맵들은 장면 깊이 파라미터들 및 렌더링 깊이 파라미터들에 따라서만 산출될 수 있고, 광선 광원들의 방향들에서의 AO 맵들을 단순히 오버레이하는 것에 의해 출력 이미지가 획득될 수 있으므로, 종래 기술에서의 복잡한 산출 프로세스를 피하고; 이 이미지 산출 및 처리 프로세스들이 GPU에 의해 완성되고, 이미지 데이터의 처리를 위해 GPU의 강력한 능력이 이용되므로, 이미지 처리 효율이 개선된다.
이하에서는 본 발명의 일 실시예에 의해 제공되는 이미지 처리 장치를 설명한다. 도 3을 참조하면, 이미지 처리 장치(300)는 다음을 포함한다:
렌더링될 대상 객체 주위의 미리 설정된 범위 내의 장면에 관한, CPU에 의해 송신된 정보를 수신하는 수신 유닛(301);
장면 깊이 파라미터들을 획득하기 위해 수신된 장면을 렌더링하고 - 장면은 광선 광원에 위치한 카메라에 의한 촬영을 통하여 획득됨 -; 렌더링 깊이 파라미터들을 획득하기 위해 렌더링될 대상 객체를 렌더링하는 렌더링 처리 유닛(302) - 렌더링될 대상 객체는 광선 광원에 위치하지 않은 카메라에 의한 촬영을 통하여 획득됨 -;
장면 깊이 파라미터들 및 렌더링 깊이 파라미터들에 따라 광선 광원들의 방향들에서의 렌더링될 대상 객체의 AO 맵들을 산출하는 맵 생성 유닛(303); 및
광선 광원들의 방향들에서의 AO 맵들을 오버레이하여, 출력 이미지를 획득하는 출력 처리 유닛(304).
본 개시 내용의 기술적 해결책들을 더 이해하기 위해, 이하에서는 이 실시예의 이미지 처리 장치(300) 내의 유닛들이 서로 상호 작용하는 방식을 설명하고, 이는 구체적으로 다음과 같다:
이 실시예에서, 렌더링될 대상 객체의 모델이 CPU에서 설정되고, 광선 광원들이 설정되고, CPU는 광선 광원에 위치한 시뮬레이션된 카메라를 이용하여 렌더링될 대상 객체를 촬영하여, 렌더링될 대상 객체 주위의 미리 설정된 범위 내의 장면에 관한 정보를 획득하고, 여기서 미리 설정된 범위는 실제 필요에 따라 CPU에서 미리 설정되고, 획득된 장면은 렌더링될 대상 객체와 또 다른 객체, 지형, 또는 기타 등등을 포함할 수 있다. CPU는 렌더링될 대상 객체 주위의 미리 설정된 범위 내의 장면에 관한 획득된 정보를 이미지 처리 장치에 송신하고, 수신 유닛(301)은 렌더링될 대상 객체 주위의 미리 설정된 범위 내의 장면에 관한, CPU에 의해 송신된 정보를 수신한다.
렌더링 처리 유닛(302)은 수신 유닛(301)에 의해 수신된 장면을 렌더링하여, 장면 깊이 파라미터들을 획득하고 - 여기서 렌더링 처리 유닛(302)에 의해 수신된 장면은 광선 광원에 위치한 카메라에 의한 촬영을 통하여 획득됨 -, 렌더링될 대상 객체를 렌더링하여 렌더링 깊이 파라미터들을 획득하고, 여기서 렌더링될 대상 객체는 광선 광원에 위치하지 않은 카메라에 의한 촬영을 통하여 획득된다. 광선 광원에 위치하지 않은 카메라를 이용하여 렌더링될 대상 객체를 촬영할 때, 선택된 촬영 각도가 렌더링될 대상 객체 전체가 촬영될 수 있게 할 필요가 있다.
맵 생성 유닛(303)은 렌더링 처리 유닛(302)에 의해 획득된 장면 깊이 파라미터들 및 렌더링 깊이 파라미터들에 따라 광선 광원들의 방향들에서의 렌더링될 대상 객체의 AO 맵을 산출한다. 구체적인 구현에서, 다수의 광선 광원이 있을 수 있고, 맵 생성 유닛(303)은 각 광선 광원의 방향에서의 렌더링될 대상 객체의 장면 깊이 파라미터 및 렌더링 깊이 파라미터에 따라 광선 광원들의 방향들에서의 렌더링될 대상 객체의 AO 맵들을 산출한다.
출력 처리 유닛(304)은 맵 생성 유닛(303)에 의해 생성되는 광선 광원들의 방향들에서의 AO 맵들을 오버레이하여, 출력 이미지를 획득한다.
이 실시예에서, 맵 생성 유닛은 장면 깊이 파라미터들 및 렌더링 깊이 파라미터들에 따라서만 광선 광원들의 방향들에서의 렌더링될 대상 객체의 AO 맵들을 산출할 수 있고, 출력 처리 유닛은 광선 광원들의 방향들에서의 AO 맵들을 단순히 오버레이하는 것에 의해 출력 이미지를 획득할 수 있으므로, 종래 기술에서의 복잡한 산출 프로세스를 피하고; 이 실시예의 이미지 처리 장치가 가지는 이미지 데이터 처리 능력은 CPU의 이미지 데이터 처리 능력보다 더 강력하므로, 이미지 처리 효율이 개선된다.
이해의 편의를 위해, 이하에서는 본 발명의 일 실시예에 의해 제공되는 이미지 처리 장치를 더 설명한다. 도 4를 참조하면, 이미지 처리 장치(400)는 다음을 포함한다:
렌더링될 대상 객체 주위의 미리 설정된 범위 내의 장면에 관한, CPU에 의해 송신된 정보를 수신하는 수신 유닛(401);
장면 깊이 파라미터들을 획득하기 위해 수신된 장면을 렌더링하고 - 장면은 광선 광원에 위치한 카메라에 의한 촬영을 통하여 획득됨 -; 렌더링 깊이 파라미터들을 획득하기 위해 렌더링될 대상 객체를 렌더링하는 렌더링 처리 유닛(402) - 렌더링될 대상 객체는 광선 광원에 위치하지 않은 카메라에 의한 촬영을 통하여 획득됨 -;
장면 깊이 파라미터들 및 렌더링 깊이 파라미터들에 따라 광선 광원들의 방향들에서의 렌더링될 대상 객체의 AO 맵들을 산출하는 맵 생성 유닛(403) - 여기서
구체적으로, 맵 생성 유닛(403)은 산출 유닛(4031) 및 맵 생성 서브유닛(4032)을 포함하고, 여기서
산출 유닛(4031)은, 각 광선 광원에 대해, 렌더링될 대상 객체의 각 픽셀 포인트의 장면 깊이 파라미터 및 렌더링 깊이 파라미터에 따라 광선 광원의 방향에서의 각 픽셀 포인트의 AO 값을 산출하고;
맵 생성 서브유닛(4032)은 AO 값들을 오버레이하여 광선 광원의 방향에서의 렌더링될 대상 객체의 AO 맵을 획득함 -;
광선 광원들의 방향들에서의 AO 맵들을 오버레이하여, 출력 이미지를 획득하는 출력 처리 유닛(404); 및
출력 이미지에 대해 감마 보정을 수행하고 출력 이미지를 출력하는 보정 유닛(405).
본 개시 내용의 기술적 해결책들을 더 이해하기 위해, 이하에서는 이 실시예의 이미지 처리 장치(400) 내의 유닛들이 서로 상호 작용하는 방식을 설명하고, 이는 구체적으로 다음과 같다:
이 실시예에서, 렌더링될 대상 객체의 모델이 CPU에서 설정되고, 광선 광원들이 설정되고, CPU는 광선 광원에 위치한 시뮬레이션된 카메라를 이용하여 렌더링될 대상 객체를 촬영하여, 렌더링될 대상 객체 주위의 미리 설정된 범위 내의 장면에 관한 정보를 획득하고, 여기서 미리 설정된 범위는 실제 필요에 따라 CPU에서 미리 설정되고, 획득된 장면은 렌더링될 대상 객체와 또 다른 객체, 지형, 또는 기타 등등을 포함할 수 있다. CPU는 렌더링될 대상 객체 주위의 미리 설정된 범위 내의 장면에 관한 획득된 정보를 이미지 처리 장치에 송신하고, 수신 유닛(401)은 렌더링될 대상 객체 주위의 미리 설정된 범위 내의 장면에 관한, CPU에 의해 송신된 정보를 수신한다. 수신 유닛(401)에 의해 수신된 장면은 렌더링될 대상 객체와 또 다른 객체, 지형, 또는 기타 등등을 포함하고, 장면에 관한 수신된 정보는 광선 광원에 있는 카메라의 관련 파라미터들, 예를 들어, 비전 행렬, 투영 행렬, 및 렌즈 위치 등을 더 포함할 수 있다.
렌더링 처리 유닛(402)은 수신 유닛(401)에 의해 수신된 장면을 렌더링하여, 장면 깊이 이미지를 획득하고, 여기서 장면 깊이 이미지는 광선 광원에 있는 카메라에 의해 촬영된 장면 내의 각 픽셀 포인트의 장면 깊이 파라미터를 저장하고, 즉, 렌더링될 대상 객체의 각 픽셀 포인트의 장면 깊이 파라미터를 또한 포함한다.
다음으로, 렌더링 처리 유닛(402)은 렌더링될 대상 객체를 렌더링하여 렌더링 깊이 파라미터들을 획득하고, 여기서 렌더링될 대상 객체는 광선 광원에 위치하지 않은 카메라에 의한 촬영을 통하여 획득되고, 여기서 카메라는 렌더링될 대상 객체를 평행 투영 방식으로 별도로 촬영할 수 있고, 선택된 촬영 각도가 렌더링될 대상 객체 전체가 촬영될 수 있게 할 필요가 있다.
구체적으로, 렌더링 처리 유닛(402)은 렌더링될 대상 객체를 렌더링하고, 렌더링 후에 렌더링 깊이 이미지를 획득하고, 렌더링 깊이 이미지로부터 렌더링될 대상 객체의 정점 좌표를 획득하고, 렌더링될 대상 객체의 정점 좌표를 월드 좌표 행렬과 곱하고, 그 후 광선 광원들에 위치한 카메라들의 비전 행렬들 및 투영 행렬들과 곱하여, 렌더링될 대상 객체의 렌더링 깊이 파라미터들을 획득한다. 렌더링될 대상 객체의 렌더링 깊이 파라미터들은 렌더링될 대상 객체의 각 픽셀 포인트의 렌더링 깊이 파라미터를 포함한다.
맵 생성 유닛(403)은 렌더링 처리 유닛(402)에 의해 획득된 장면 깊이 파라미터들 및 렌더링 깊이 파라미터들에 따라 광선 광원들의 방향들에서의 렌더링될 대상 객체의 AO 맵들을 산출한다.
구체적으로, 각 광선 광원에 대해, 산출 유닛(4031)은 광선 광원에 있는 카메라에 의해 촬영된 렌더링될 대상 객체에 대응하는 장면 깊이 파라미터, 및 어떤 광선 광원에도 위치하지 않은 카메라에 의해 촬영된 렌더링될 대상 객체의 렌더링 깊이 파라미터를 획득하고, 렌더링될 대상 객체의 각 픽셀 포인트의 장면 깊이 파라미터 및 렌더링 깊이 파라미터에 따라 광선 광원의 방향에서의 각 픽셀 포인트의 AO 값을 산출하고, 산출 프로세스는 다음과 같다:
픽셀 포인트에 대해, 산출 유닛(4031)은 픽셀 포인트의 렌더링 깊이 파라미터와 픽셀 포인트의 장면 깊이 파라미터를 비교하고, 렌더링 깊이 파라미터가 장면 깊이 파라미터보다 큰 경우, 픽셀 포인트의 섀도 값이 1인 것으로 결정하고; 픽셀 포인트의 렌더링 깊이 파라미터가 장면 깊이 파라미터보다 작거나 그와 같은 경우, 픽셀 포인트의 섀도 값이 0인 것으로 결정한다.
그 후, 산출 유닛(4031)은 픽셀 포인트의 섀도 값을 가중 계수와 곱하여 광선 광원의 방향에서의 픽셀 포인트의 AO 값을 획득하고, 여기서 가중 계수는 광선 광원의 조명 방향과 픽셀 포인트의 법선 방향의 내적, 및 광선 광원들의 총수의 역수를 포함하고, 예를 들어, 광선 광원들의 수가 900인 경우, 광선 광원들의 총수의 역수는 1/900이다.
또한, 각 픽셀 포인트의 AO 값에 대한 산출 정확도를 보장하기 위해, 산출 유닛(4031)은 산출을 통하여 획득된 상기 AO 값을 미리 설정된 경험 계수와 더 곱할 수 있고, 여기서 경험 계수는 실험에 따라 측정되고, 0.15일 수 있다.
맵 생성 서브유닛(4032)은 산출 유닛(4031)에 의해 산출된 각 픽셀 포인트의 AO 값을 오버레이하여 렌더링될 대상 객체의 AO 값을 획득하고, 렌더링될 대상 객체의 AO 값에 따라 광선 광원의 방향에서의 렌더링될 대상 픽셀의 AO 맵을 드로잉한다. 유추에 의해, 맵 생성 서브유닛(4032)은 상기 방법에 따라 각 광선 광원의 방향에서의 렌더링될 대상 객체의 AO 맵을 획득할 수 있다.
출력 처리 유닛(404)은 맵 생성 서브유닛(4032)에 의해 생성되는, 광선 광원들의 방향들에서의 AO 맵들을 오버레이하여, 출력 이미지를 획득한다.
톱니 및 텍스처 픽셀 오버플로로 인해 출력 이미지에 검은색 경계가 생성될 수 있다. 출력 처리 유닛(404)은 톱니로 인해 생성된 검은색 경계를 섀도의 "퍼센트 프로그레시브 필터링"을 이용하여 처리할 수 있고, 각 픽셀에 대해, 이 픽셀의 위, 아래, 왼쪽, 오른쪽의 픽셀들과, 이 픽셀 자체를 평균할 수 있다. 출력 처리 유닛(404)은 픽셀 오버플로로 인해 생성된 검은색 경계를 유효 픽셀들을 확장하는 것에 의해 해결할 수 있다. 구체적으로, 현재 픽셀이 무효한지 여부가 픽셀 셰이더에서 결정될 수 있다. 현재 픽셀이 무효하다면, 8개의 주위 픽셀들이 샘플링되고, 그의 유효 픽셀들이 합산되고, 유효 픽셀들의 평균 값이 획득되고, 이 평균 값이 현재 픽셀의 섀도 값으로 이용되고, 현재 픽셀은 유효한 것으로 설정된다. 이렇게 하여, 샘플링이 경계를 가로지르는 것을 막기 위한 출력 이미지에 대한 하나의 픽셀의 확장이 구현된다.
마지막으로, 보정 유닛(405)은 출력 처리 유닛(404)의 출력 이미지에 대해 감마 보정을 수행하는데, 즉, 보정 유닛(405)은 출력 이미지를 표시를 위해 렌더링될 대상 객체의 모델에 붙여넣고, 컬러 차트를 이용하여 출력 이미지의 표시 효과를 조정하여, AO가 장면에 부가될 때 장면이 전체적으로 어둑해지는 문제를 해결한다. 구체적인 보정 효과에 대해서는, 도 6 및 도 7을 참조하고, 여기서 도 6은 감마 보정이 수행되지 않은 출력 이미지의 표시 효과를 나타내고, 도 7은 감마 보정이 수행된 출력 이미지의 표시 효과를 나타낸다.
이 실시예에서, 맵 생성 유닛은 장면 깊이 파라미터들 및 렌더링 깊이 파라미터들에 따라서만 광선 광원들의 방향들에서의 렌더링될 대상 객체의 AO 맵들을 산출할 수 있고, 출력 처리 유닛은 광선 광원들의 방향들에서의 AO 맵들을 단순히 오버레이하는 것에 의해 출력 이미지를 획득할 수 있으므로, 종래 기술에서의 복잡한 산출 프로세스를 피하고; 이 실시예의 이미지 처리 장치가 가지는 이미지 데이터 처리 능력은 CPU의 이미지 데이터 처리 능력보다 더 강력하므로, 이미지 처리 효율이 개선된다. 이 실시예에 의해 제공되는 이미지 처리 장치를 이용하여 하나의 AO 맵을 생성하는 데는 몇 분만 걸리고, 사용되는 시간은 종래 기술에서 AO 맵을 생성하기 위한 시간보다 훨씬 짧다는 것이 실험을 통해 측정된다.
이하에서는 본 발명의 실시예에 의해 제공되는 컴퓨터 디바이스를 설명한다. 도 5를 참조하면, 컴퓨터 디바이스(500)는 무선 주파수(RF) 회로(510), 하나 이상의 컴퓨터 판독 가능 저장 매체를 포함하는 메모리(520), 입력 유닛(530), 디스플레이 유닛(540), 센서(550), 오디오 회로(560), WiFi(wireless fidelity) 모듈(570), 하나 이상의 처리 코어를 포함하는 프로세서(580), 및 전원(590)과 같은 컴포넌트들을 포함할 수 있다.
본 기술분야의 통상의 기술자는, 도 5에 도시된 컴퓨터 디바이스의 구조가 컴퓨터 디바이스에 대한 제한을 구성하지 않고, 도면에 도시된 것들보다 더 많은 또는 더 적은 컴포넌트들, 또는 몇몇 컴포넌트들의 조합, 또는 상이한 컴포넌트 배열들을 포함할 수 있다는 것을 이해할 수 있다.
RF 회로(510)는 메시지를 수신하고 송신하거나, 또는 통화 동안에 신호를 수신하고 송신하고, 특히, 기지국의 다운링크 정보를 수신한 후에, 정보를 처리를 위해 하나 이상의 프로세서(580)에 전송하고; 또한 수반된 업링크 데이터를 기지국에 송신할 수 있다. 일반적으로, RF 회로(510)는 안테나, 적어도 하나의 증폭기, 튜너, 하나 이상의 발진기, 가입자 식별 모듈(SIM) 카드, 송수신기, 커플러, 저잡음 증폭기(LNA), 및 듀플렉서를 포함하지만 이들에 제한되지는 않는다. 또한, RF 회로(510)는 무선 통신 및 네트워크를 통하여 또 다른 디바이스와 더 통신할 수 있고; 무선 통신은 GSM(Global System of Mobile communication), GPRS(General Packet Radio Service), CDMA(Code Division Multiple Access), WCDMA(Wideband Code Division Multiple Access), LTE(Long Term Evolution), 이메일, 및 SMS(Short Messaging Service)를 포함하지만 이들에 제한되지 않는, 임의의 통신 표준 또는 프로토콜을 이용할 수 있다.
메모리(520)는 소프트웨어 프로그램 및 모듈을 저장할 수 있고, 프로세서(580)는 메모리(520)에 저장된 소프트웨어 프로그램 및 모듈을 실행함으로써 다양한 기능 애플리케이션들 및 데이터 처리를 실행한다. 메모리(520)는 주로 프로그램 저장 영역 및 데이터 저장 영역을 포함할 수 있고, 여기서, 프로그램 저장 영역은 운영 체제, 적어도 하나의 기능(예를 들어, 비디오 재생 기능 및 이미지 재생 기능)에 의해 요구되는 애플리케이션 프로그램, 및 기타 등등을 저장할 수 있고; 데이터 저장 영역은 컴퓨터 디바이스(500)의 사용에 따라 생성된 데이터(예를 들어, 오디오 데이터 및 전화번호부), 및 기타 등등을 저장할 수 있고; 또한, 메모리(520)는 고속 랜덤 액세스 메모리(RAM)를 포함할 수 있고, 비휘발성 메모리, 예를 들어, 적어도 하나의 자기 디스크 저장 디바이스, 플래시 메모리, 또는 또 다른 휘발성 솔리드-스테이트 메모리를 더 포함할 수 있다. 따라서, 메모리(520)는, 프로세서(580) 및 입력 유닛(530)이 메모리(520)에 액세스하도록, 메모리 컨트롤러를 더 포함할 수 있다.
입력 유닛(530)은 입력된 숫자 또는 문자 정보를 수신하고, 사용자 설정 및 기능 제어와 관계되는 키보드, 마우스, 조이스틱, 광학, 또는 트랙볼 신호 입력을 생성할 수 있다. 구체적으로, 입력 유닛(530)은 터치 감지 표면(531) 및 또 다른 입력 디바이스(532)를 포함할 수 있다. 터치 감지 표면(531)은 터치 스크린 또는 터치 패널이라고도 불릴 수 있고, 터치 감지 표면(531)상의 또는 그 근처에서의 사용자의 터치 조작(예를 들어, 손가락 또는 터치 펜과 같은 임의의 적절한 물체 또는 부속물을 이용하는 것에 의한 터치 감지 표면(531)상의 또는 그 근처에서의 사용자의 조작)을 수집할 수 있고, 미리 설정된 프로그램에 따라 대응하는 연결 장치를 구동할 수 있다. 임의적으로, 터치 감지 표면(531)은 다음 2개의 부분을 포함할 수 있다: 터치 검출 장치 및 터치 컨트롤러. 터치 검출 장치는 사용자의 터치 위치를 검출하고, 터치 조작에 의해 발생된 신호를 검출하며, 이 신호를 터치 컨트롤러에 전송한다. 터치 컨트롤러는 터치 검출 장치로부터 터치 정보를 수신하고, 터치 정보를 터치 포인트 좌표로 변환하고, 터치 포인트 좌표를 프로세서(580)에 송신한다. 더욱이, 터치 컨트롤러는 프로세서(580)로부터 송신된 명령을 수신하고 실행할 수 있다. 또한, 터치 감지 표면(531)은 저항성 유형, 용량성 유형, 적외선 유형, 및 표면 음파 유형과 같은 다양한 유형들을 이용하여 구현될 수 있다. 터치 감지 표면(531)에 부가적으로, 입력 유닛(530)은 또 다른 입력 디바이스(532)를 더 포함할 수 있다. 구체적으로, 또 다른 입력 디바이스(532)는 물리적 키보드, 기능 키(예컨대, 볼륨 제어 키 또는 스위치 키), 트랙볼, 마우스, 및 조이스틱 중 하나 이상을 포함할 수 있으나 이들에 제한되지는 않는다.
디스플레이 유닛(540)은 사용자에 의해 입력된 정보 또는 사용자를 위해 제공된 정보, 및 컴퓨터 디바이스(500)의 다양한 사용자 그래픽 인터페이스들을 표시할 수 있다. 그래픽 사용자 인터페이스들은 그래프, 텍스트, 아이콘, 비디오, 및 이것들의 임의의 조합에 의해 형성될 수 있다. 디스플레이 유닛(540)은 디스플레이 패널(541)을 포함할 수 있다. 임의적으로, 디스플레이 패널(541)은 LCD(liquid crystal display) 또는 OLED(organic light-emitting diode), 또는 다른 유사한 것을 이용하여 구성될 수 있다. 또한, 터치 감지 표면(531)은 디스플레이 패널(541)을 커버할 수 있다. 터치 감지 표면(531)상에서 또는 그 근처에서의 터치 조작을 검출한 후에, 터치 감지 표면(531)은 프로세서(580)에 터치 조작을 전송하여 터치 이벤트의 유형을 결정하도록 한다. 그 후, 프로세서(580)는 터치 이벤트의 유형에 따라 디스플레이 패널(541)상에 대응하는 시각적 출력을 제공한다. 도 5에서, 터치 감지 표면(531) 및 디스플레이 패널(541)이 입력과 출력 기능들을 구현하기 위해 2개의 별개의 부분으로서 사용되기는 하지만, 일부 실시예들에서, 터치 감지 표면(531) 및 디스플레이 패널(541)은 입력과 출력 기능들을 구현하기 위해 통합될 수 있다.
컴퓨터 디바이스(500)는 광 센서, 모션 센서, 및 다른 센서들과 같은 적어도 하나의 센서(550)를 더 포함할 수 있다. 구체적으로, 광 센서는 주변 광 센서 및 근접 센서를 포함할 수 있다. 주변 광 센서는 주변광의 밝기에 따라 디스플레이 패널(541)의 휘도를 조절할 수 있다. 근접 센서는 컴퓨터 디바이스(500)가 귀쪽으로 움직일 때 디스플레이 패널(541) 및/또는 백라이트를 스위치 오프할 수 있다. 모션 센서의 한 유형으로서, 중력 가속도 센서는 다양한 방향들(일반적으로 3축임)에서의 가속도들의 크기를 검출할 수 있고, 정지 상태일 때 중력의 크기 및 방향을 검출할 수 있고, 컴퓨터 디바이스 자세의 적용(예컨대 수평 화면과 수직 화면 사이의 전환, 관련 게임, 및 자력계의 제스처 교정), 진동 식별의 관련 기능(예컨대 보수계 및 노크)을 식별할 수 있다. 컴퓨터 디바이스(500)에 더 구성될 수 있는, 자이로스코프, 기압계, 습도계, 온도계, 및 적외선 센서와 같은 다른 센서들은 본 명세서에서 더 설명되지 않는다.
오디오 회로(560), 라우드스피커(561), 및 마이크로폰(562)은 사용자와 컴퓨터 디바이스(500) 간의 오디오 인터페이스들을 제공할 수 있다. 오디오 회로(560)는, 라우드스피커(561)에, 오디오 데이터로부터 변환된 수신된 전기 신호를 송신할 수 있다. 라우드스피커(561)는 전기 신호를 출력용 음성 신호로 변환한다. 다른 한편, 마이크로폰(562)은 수집된 사운드 신호를 전기 신호로 변환한다. 오디오 회로(560)는 전기 신호를 수신하고 전기 신호를 오디오 데이터로 변환하고, 처리를 위해 프로세서(580)에 오디오 데이터를 출력한다. 그 후, 프로세서(580)는, 예를 들어, RF 회로(510)를 이용하여 또 다른 단말기에 오디오 데이터를 송신하거나, 또는 추가 처리를 위해 메모리(520)에 오디오 데이터를 출력한다. 오디오 회로(560)는, 주변 장치 이어폰과 컴퓨터 디바이스(500) 간의 통신을 제공하기 위해, 이어플러그 잭을 더 포함할 수 있다.
WiFi는 단거리 무선 전송 기술이다. 컴퓨터 디바이스(500)는 WiFi 모듈(570)을 이용하여, 사용자가 이메일을 수신하고 송신하고, 웹 페이지를 브라우징하고, 스트림 미디어에 액세스하고, 등등을 행하는 것을 도울 수 있고, 이는 사용자에게 무선 광대역 인터넷 액세스를 제공한다. 도 5가 WiFi 모듈(570)을 보여주기는 하지만, WiFi 모듈(570)이 컴퓨터 디바이스(500)의 필수 구성에 속하지 않고, 본 개시의 본질의 범위를 변경하지 않고서 요구에 따라 완전히 무시될 수 있다는 것을 이해할 수 있다.
프로세서(580)는 컴퓨터 디바이스(500)의 제어 센터이고, 다양한 인터페이스들과 라인들을 이용하여 컴퓨터 디바이스의 다양한 부분들을 연결한다. 메모리(520)에 저장된 소프트웨어 프로그램 및/또는 모듈을 구동하거나 실행하고, 메모리(520)에 저장된 데이터를 호출함으로써, 프로세서(580)는 컴퓨터 디바이스(500)의 다양한 기능들과 데이터 처리를 수행하며, 그에 의해 컴퓨터 디바이스상에서의 전반적 모니터링을 실행한다. 임의적으로, 프로세서(580)는 하나 이상의 처리 코어를 포함할 수 있다. 바람직하게는, 프로세서(580)는 애플리케이션 프로세서와 모뎀을 통합할 수 있다. 애플리케이션 프로세서는 주로 운영 체제, 사용자 인터페이스, 애플리케이션 프로그램, 및 기타 등등을 처리한다. 모뎀은 주로 무선 통신을 처리한다. 상기 모뎀은 프로세서(580)에 통합되지 않을 수도 있음을 이해할 수 있다.
컴퓨터 디바이스(500)는 컴포넌트들에 전력을 공급하기 위한 (배터리와 같은) 전원(590)을 더 포함한다. 바람직하게는, 전원은 전원 관리 시스템을 이용하여 프로세서(580)에 논리적으로 연결될 수 있고, 그에 의해 전원 관리 시스템을 이용하여 충전, 방전, 및 전력 소비 관리와 같은 기능들을 구현할 수 있다. 전원(590)은 하나 이상의 직류 또는 교류용 전원들, 재충전 시스템, 전원 고장 검출 회로, 전원 변환기 또는 인버터, 및 전원 상태 표시기와 같은 임의의 컴포넌트를 더 포함할 수 있다.
비록 도면에 도시되어 있지는 않지만, 컴퓨터 디바이스(500)는, 본 명세서에 더 설명되지 않은, 카메라, 블루투스 모듈, 및 기타 등등을 더 포함할 수 있다.
구체적으로, 본 발명의 일부 실시예들에서, 프로세서(580)는 CPU(581) 및 GPU(582)를 포함하고, 컴퓨터 디바이스는 메모리 및 하나 이상의 프로그램을 더 포함한다. 하나 이상의 프로그램은 메모리에 저장되고, CPU(581)에 의해 실행되도록 구성된다. 하나 이상의 프로그램은 하기 동작들을 수행하기 위한 명령어들을 포함한다:
렌더링될 대상 객체를 중심으로 이용하고 구 형상 또는 반구 형상으로 분포되는 광선 포인트들을 결정하는 것; 및
각 광선 포인트의 위치에서, 상기 렌더링될 대상 객체 쪽으로 빛을 방사하는 광선 광원을 설정하는 것.
또한, GPU(582)에 의해 실행되도록 구성되는 하나 이상의 프로그램은 하기 동작들을 수행하기 위한 명령어들을 포함한다:
렌더링될 대상 객체 주위의 미리 설정된 범위 내의 장면에 관한, 상기 CPU(581)에 의해 송신된 정보를 수신하는 것;
상기 수신된 장면을 렌더링하여 장면 깊이 파라미터들을 획득하는 것 - 상기 장면은 광선 광원에 위치한 카메라에 의한 촬영을 통하여 획득됨 -;
상기 렌더링될 대상 객체를 렌더링하여 렌더링 깊이 파라미터들을 획득하는 것 - 상기 렌더링될 대상 객체는 광선 광원에 위치하지 않은 카메라에 의한 촬영을 통하여 획득됨 -;
상기 장면 깊이 파라미터들 및 상기 렌더링 깊이 파라미터들에 따라 광선 광원들의 방향들에서의 상기 렌더링될 대상 객체의 AO 맵들을 산출하는 것; 및
상기 광선 광원들의 방향들에서의 상기 AO 맵들을 오버레이하여, 출력 이미지를 획득하는 것.
상기한 것은 제1 가능 구현 방식이라고 가정하고, 상기 제1 가능 구현 방식에 기초하여 제공되는 제2 가능 구현 방식에서는, GPU(582)에 의해 실행되는 하나 이상의 프로그램은 하기 동작들을 수행하기 위한 명령어들을 더 포함한다:
각 광선 광원에 대해, 상기 렌더링될 대상 객체의 각 픽셀 포인트의 장면 깊이 파라미터 및 렌더링 깊이 파라미터에 따라 상기 광선 광원의 방향에서의 각 픽셀 포인트의 AO 값을 산출하는 것; 및
상기 AO 값들을 오버레이하여 상기 광선 광원의 방향에서의 상기 렌더링될 대상 객체의 AO 맵을 획득하는 것.
상기 제2 가능 구현 방식에 기초하여 제공되는 제3 가능 구현 방식에서는, GPU(582)에 의해 실행되는 하나 이상의 프로그램은 하기 동작들을 수행하기 위한 명령어들을 더 포함한다:
각 픽셀 포인트의 상기 장면 깊이 파라미터 및 상기 렌더링 깊이 파라미터에 따라, 상기 픽셀 포인트의 섀도 값을 산출하는 것; 및
상기 픽셀 포인트의 상기 섀도 값을 가중 계수와 곱하여, 상기 광선 광원의 방향에서의 상기 픽셀 포인트의 AO 값을 획득하는 것 - 여기서 상기 가중 계수는 상기 광선 광원의 조명 방향과 상기 픽셀 포인트의 법선 방향의 내적, 및 상기 광선 광원들의 총수의 역수를 포함한다.
상기 제3 가능 구현 방식에 기초하여 제공되는 제4 가능 구현 방식에서는, GPU(582)에 의해 실행되는 하나 이상의 프로그램은 하기 동작들을 수행하기 위한 명령어들을 더 포함한다:
상기 픽셀 포인트의 상기 렌더링 깊이 파라미터가 상기 장면 깊이 파라미터보다 큰 경우, 상기 픽셀 포인트의 상기 섀도 값이 1인 것으로 결정하는 것; 및
상기 픽셀 포인트의 상기 렌더링 깊이 파라미터가 상기 장면 깊이 파라미터보다 작거나 그와 같은 경우, 상기 픽셀 포인트의 상기 섀도 값이 0인 것으로 결정하는 것.
상기 제1, 또는 제2, 또는 제3, 또는 제4 가능 구현 방식에 기초하여 제공되는 제5 가능 구현 방식에서는, GPU(582)에 의해 실행되는 하나 이상의 프로그램은 하기 동작들을 수행하기 위한 명령어들을 더 포함한다:
상기 렌더링될 대상 객체를 렌더링하여 상기 렌더링될 대상 객체의 정점 좌표를 획득하는 것; 및
상기 정점 좌표를 월드 좌표 행렬과 곱하고, 그 후 상기 광선 광원들에 위치한 카메라들의 비전 행렬들 및 투영 행렬들과 곱하여, 상기 렌더링 깊이 파라미터들을 획득하는 것.
상기 제1, 또는 제2, 또는 제3, 또는 제4 가능 구현 방식에 기초하여 제공되는 제6 가능 구현 방식에서는, GPU(582)에 의해 실행되는 하나 이상의 프로그램은 하기 동작을 수행하기 위한 명령어들을 더 포함한다:
상기 출력 이미지에 대해 감마 보정을 수행하고 상기 출력 이미지를 출력하는 것.
이 실시예에서, GPU는 장면 깊이 파라미터들 및 렌더링 깊이 파라미터들에 따라서만 광선 광원들의 방향들에서의 렌더링될 대상 객체의 AO 맵들을 산출할 수 있고, 광선 광원들의 방향들에서의 AO 맵들을 단순히 오버레이하는 것에 의해 출력 이미지를 획득할 수 있으므로, 종래 기술에서의 복잡한 산출 프로세스를 피하고; 이 이미지 산출 및 처리 프로세스들이 GPU에 의해 완성되고, 이미지 데이터의 처리를 위해 GPU의 강력한 능력이 이용되므로, 이미지 처리 시간이 절감되고, 이미지 처리 효율이 개선된다.
또한, 위에 설명한 장치 실시예들은 단지 개략적인 것이라는 점에 유의해야 한다. 별개의 컴포넌트들로서 기술된 유닛들이 물리적으로 분리되어 있을 수 있거나 그렇지 않을 수 있고, 유닛들로서 표시된 부분들이 물리적 유닛들일 수 있거나 그렇지 않을 수 있고, 하나의 위치에 배치되어 있을 수 있거나, 다수의 네트워크 유닛들에 분산되어 있을 수 있다. 유닛들의 일부 또는 전부는 실시예들의 해결책의 목적을 달성하기 위해 실제의 필요에 따라 선택될 수 있다. 또한, 본 개시에 의해 제공되는 장치 실시예들의 첨부 도면들에서, 유닛들 간의 연결 관계는 이들 사이에 통신 연결이 있고, 구체적으로 하나 이상의 통신 버스 또는 신호 라인으로 구현될 수 있다는 것을 나타낸다. 본 기술분야의 통상의 기술자는 창의적 노력 없이도 해결책을 이해하고 구현할 수 있다.
상기 실시예의 설명을 통하여, 본 기술분야의 통상의 기술자는 본 개시내용이 소프트웨어와 추가로 필요한 보편적 하드웨어에 의해 구현일 수 있으며, 확실히 또한 특정 집적 회로, 특정 CPU, 특정 메모리, 및 특정 컴포넌트를 포함한 특정 하드웨어에 의해 구현될 수도 있다는 것을 분명히 이해할 수 있다. 통상의 경우에, 컴퓨터 프로그램에 의해 완성되는 모든 기능들은 대응하는 하드웨어를 이용하여 쉽게 구현일 수 있고, 동일한 기능을 구현하기 위한 특정 하드웨어 구조들(예를 들어, 아날로그 회로, 디지털 회로, 또는 특정 회로)이 변경될 수도 있다. 그러나, 본 개시 내용에 있어서, 더 많은 경우에, 소프트웨어 프로그램을 이용한 구현이 더 좋은 구현 방식이다. 이러한 이해에 기초하여, 본질적으로 본 개시의 기술적 해결책 또는 종래 기술에 기여하는 부분이 소프트웨어 제품의 형태로 구현될 수 있다. 소프트웨어 제품은 판독 가능한 저장 매체, 예를 들어 플로피 디스크, USB 디스크, 이동식 하드 디스크, 판독 전용 메모리(ROM), RAM, 자기 디스크, 광 디스크, 또는 컴퓨터 내의 기타 등등에 저장될 수 있고, 컴퓨터 디바이스(개인용 컴퓨터, 서버 또는 네트워크 디바이스일 수 있음)에게 본 발명의 실시예들에서 설명된 방법들을 수행하도록 지시하기 위한 수 개의 명령어를 포함할 수 있다.
본 발명의 실시예들에 의해 제공되는 이미지 처리 방법 및 장치, 및 컴퓨터 디바이스가 위에 상세히 설명되었다. 또한, 본 기술분야의 통상의 기술자는 본 발명의 실시예들의 개념에 따라서, 구현 방식 및 응용 범위를 변경할 수 있다. 그러므로, 본 명세서의 내용은 본 개시내용에 대한 제한으로서 해석되어서는 안 된다.

Claims (22)

  1. 이미지 처리 방법으로서,
    그래픽 처리 장치(GPU)에 의해, 렌더링될 대상 객체 주위의 미리 설정된 범위 내의 장면에 관한, 중앙 처리 장치(CPU)에 의해 송신된 정보를 수신하는 단계;
    상기 GPU에 의해, 상기 장면을 렌더링하여 장면 깊이 파라미터들을 획득하는 단계 - 상기 장면은 광선 광원에 위치한 카메라에 의한 촬영을 통하여 획득됨 -;
    상기 GPU에 의해, 상기 렌더링될 대상 객체를 렌더링하여 렌더링 깊이 파라미터들을 획득하는 단계 - 상기 렌더링될 대상 객체는 광선 광원에 위치하지 않은 카메라에 의한 촬영을 통하여 획득됨 -;
    상기 GPU에 의해, 상기 장면 깊이 파라미터들 및 상기 렌더링 깊이 파라미터들에 따라 광선 광원들의 방향들에서의 상기 렌더링될 대상 객체의 주변 폐색(AO) 맵들을 산출하는 단계; 및
    상기 GPU에 의해, 상기 광선 광원들의 방향들에서의 상기 AO 맵들을 오버레이하여, 출력 이미지를 획득하는 단계를 포함하는 이미지 처리 방법.
  2. 제1항에 있어서,
    상기 GPU에 의해, 상기 장면 깊이 파라미터들 및 상기 렌더링 깊이 파라미터들에 따라 광선 광원들의 방향들에서의 상기 렌더링될 대상 객체의 AO 맵들을 산출하는 상기 단계는:
    각 광선 광원에 대해, 상기 GPU에 의해, 상기 렌더링될 대상 객체의 각 픽셀 포인트의 장면 깊이 파라미터 및 렌더링 깊이 파라미터에 따라 상기 광선 광원의 방향에서의 각 픽셀 포인트의 AO 값을 산출하는 단계; 및
    상기 GPU에 의해, 상기 AO 값들을 오버레이하여 상기 광선 광원의 방향에서의 상기 렌더링될 대상 객체의 AO 맵을 획득하는 단계를 포함하는, 이미지 처리 방법.
  3. 제2항에 있어서,
    상기 GPU에 의해, 상기 렌더링될 대상 객체의 각 픽셀 포인트의 장면 깊이 파라미터 및 렌더링 깊이 파라미터에 따라 상기 광선 광원의 방향에서의 각 픽셀 포인트의 AO 값을 산출하는 상기 단계는:
    상기 GPU에 의해, 각 픽셀 포인트의 상기 장면 깊이 파라미터 및 상기 렌더링 깊이 파라미터에 따라, 상기 픽셀 포인트의 섀도 값을 산출하는 단계; 및
    상기 GPU에 의해, 상기 픽셀 포인트의 상기 섀도 값을 가중 계수와 곱하여, 상기 광선 광원의 방향에서의 상기 픽셀 포인트의 상기 AO 값을 획득하는 단계를 포함하고, 상기 가중 계수는 상기 광선 광원의 조명 방향과 상기 픽셀 포인트의 법선 방향의 내적, 및 상기 광선 광원들의 총수의 역수를 포함하는, 이미지 처리 방법.
  4. 제3항에 있어서,
    상기 GPU에 의해, 각 픽셀 포인트의 상기 장면 깊이 파라미터 및 상기 렌더링 깊이 파라미터에 따라, 상기 픽셀 포인트의 섀도 값을 산출하는 상기 단계는:
    상기 픽셀 포인트의 상기 렌더링 깊이 파라미터가 상기 장면 깊이 파라미터보다 큰 경우, 상기 픽셀 포인트의 상기 섀도 값이 1인 것으로 결정하는 단계; 및
    상기 픽셀 포인트의 상기 렌더링 깊이 파라미터가 상기 장면 깊이 파라미터보다 작거나 그와 같은 경우, 상기 픽셀 포인트의 상기 섀도 값이 0인 것으로 결정하는 단계를 포함하는, 이미지 처리 방법.
  5. 제1항에 있어서,
    GPU에 의해, 렌더링될 대상 객체 주위의 미리 설정된 범위 내의 장면에 관한, CPU에 의해 송신된 정보를 수신하는 상기 단계 전에:
    상기 CPU에 의해, 상기 렌더링될 대상 객체를 중심으로 이용하고 구 형상 또는 반구 형상으로 분포되는 광선 포인트들을 결정하는 단계; 및
    상기 CPU에 의해, 각 광선 포인트의 위치에서, 상기 렌더링될 대상 객체 쪽으로 빛을 방사하는 광선 광원을 설정하는 단계를 더 포함하는, 이미지 처리 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 GPU에 의해, 상기 렌더링될 대상 객체를 렌더링하여 렌더링 깊이 파라미터들을 획득하는 상기 단계는:
    상기 GPU에 의해, 상기 렌더링될 대상 객체를 렌더링하여 상기 렌더링될 대상 객체의 정점 좌표를 획득하는 단계; 및
    상기 GPU에 의해, 상기 정점 좌표를 월드 좌표 행렬과 곱하고, 그 후 상기 광선 광원들에 위치한 카메라들의 비전 행렬들 및 투영 행렬들과 곱하여, 상기 렌더링 깊이 파라미터들을 획득하는 단계를 포함하는, 이미지 처리 방법.
  7. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 GPU에 의해, 상기 광선 광원들의 방향들에서의 상기 AO 맵들을 오버레이하여, 출력 이미지를 획득하는 상기 단계는:
    상기 출력 이미지에 대해 감마 보정을 수행하고 상기 출력 이미지를 출력하는 단계를 더 포함하는, 이미지 처리 방법.
  8. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 광선 광원들의 수는 900인, 이미지 처리 방법.
  9. 이미지 처리 장치로서,
    렌더링될 대상 객체 주위의 미리 설정된 범위 내의 장면에 관한, 중앙 처리 장치(CPU)에 의해 송신된 정보를 수신하는 수신 유닛;
    장면 깊이 파라미터들을 획득하기 위해 상기 장면을 렌더링하고 - 상기 장면은 광선 광원에 위치한 카메라에 의한 촬영을 통하여 획득됨 -, 렌더링 깊이 파라미터들을 획득하기 위해 상기 렌더링될 대상 객체를 렌더링하는 렌더링 처리 유닛 - 상기 렌더링될 대상 객체는 광선 광원에 위치하지 않은 카메라에 의한 촬영을 통하여 획득됨 -;
    상기 장면 깊이 파라미터들 및 상기 렌더링 깊이 파라미터들에 따라 광선 광원들의 방향들에서의 상기 렌더링될 대상 객체의 주변 폐색(AO) 맵들을 산출하는 맵 생성 유닛; 및
    상기 광선 광원들의 방향들에서의 상기 AO 맵들을 오버레이하여, 출력 이미지를 획득하는 출력 처리 유닛을 포함하는 이미지 처리 장치.
  10. 제9항에 있어서,
    상기 맵 생성 유닛은:
    각 광선 광원에 대해, 상기 렌더링될 대상 객체의 각 픽셀 포인트의 장면 깊이 파라미터 및 렌더링 깊이 파라미터에 따라 상기 광선 광원의 방향에서의 각 픽셀 포인트의 AO 값을 산출하는 산출 유닛; 및
    상기 AO 값들을 오버레이하여 상기 광선 광원의 방향에서의 상기 렌더링될 대상 객체의 AO 맵을 획득하는 맵 생성 서브유닛을 포함하는, 이미지 처리 장치.
  11. 제10항에 있어서,
    상기 산출 유닛은 구체적으로:
    각 픽셀 포인트의 상기 장면 깊이 파라미터 및 상기 렌더링 깊이 파라미터에 따라, 상기 픽셀 포인트의 섀도 값을 산출하고;
    상기 픽셀 포인트의 상기 섀도 값을 가중 계수와 곱하여, 상기 광선 광원의 방향에서의 상기 픽셀 포인트의 상기 AO 값을 획득하고, 상기 가중 계수는 상기 광선 광원의 조명 방향과 상기 픽셀 포인트의 법선 방향의 내적, 및 상기 광선 광원들의 총수의 역수를 포함하는, 이미지 처리 장치.
  12. 제11항에 있어서,
    상기 산출 유닛에 의해, 각 픽셀 포인트의 상기 장면 깊이 파라미터 및 상기 렌더링 깊이 파라미터에 따라, 상기 픽셀 포인트의 섀도 값을 산출하는 것은:
    상기 산출 유닛에 의해, 상기 픽셀 포인트의 상기 렌더링 깊이 파라미터가 상기 장면 깊이 파라미터보다 큰 경우, 상기 픽셀 포인트의 상기 섀도 값이 1인 것으로 결정하는 것; 및
    상기 픽셀 포인트의 상기 렌더링 깊이 파라미터가 상기 장면 깊이 파라미터보다 작거나 그와 같은 경우, 상기 픽셀 포인트의 상기 섀도 값이 0인 것으로 결정하는 것을 포함하는, 이미지 처리 장치.
  13. 제9항 내지 제12항 중 어느 한 항에 있어서,
    상기 렌더링 처리 유닛에 의해, 상기 렌더링될 대상 객체를 렌더링하여 렌더링 깊이 파라미터들을 획득하는 것은:
    상기 렌더링 처리 유닛에 의해, 상기 렌더링될 대상 객체를 렌더링하여 상기 렌더링될 대상 객체의 정점 좌표를 획득하고; 상기 정점 좌표를 월드 좌표 행렬과 곱하고, 그 후 상기 광선 광원들에 위치한 카메라들의 비전 행렬들 및 투영 행렬들과 곱하여, 상기 렌더링 깊이 파라미터들을 획득하는 것을 포함하는, 이미지 처리 장치.
  14. 제9항 내지 제12항 중 어느 한 항에 있어서,
    상기 출력 이미지에 대해 감마 보정을 수행하고 상기 출력 이미지를 출력하는 보정 유닛을 더 포함하는, 이미지 처리 장치.
  15. 제9항 내지 제12항 중 어느 한 항에 있어서,
    상기 광선 광원들의 수는 900인, 이미지 처리 장치.
  16. 컴퓨터 디바이스로서, 상기 컴퓨터 디바이스는 중앙 처리 장치(CPU)와 그래픽 처리 장치(GPU)를 포함하고,
    상기 CPU는 렌더링될 대상 객체를 중심으로 이용하고 구 형상 또는 반구 형상으로 분포되는 광선 포인트들을 결정하고, 각 광선 포인트의 위치에서, 상기 렌더링될 대상 객체 쪽으로 빛을 방사하는 광선 광원을 설정하며;
    상기 GPU는 렌더링될 대상 객체 주위의 미리 설정된 범위 내의 장면에 관한, 상기 CPU에 의해 송신된 정보를 수신하고; 상기 장면을 렌더링하여 장면 깊이 파라미터들을 획득하고 - 상기 장면은 광선 광원에 위치한 카메라에 의한 촬영을 통하여 획득됨 -; 상기 렌더링될 대상 객체를 렌더링하여 렌더링 깊이 파라미터들을 획득하고 - 상기 렌더링될 대상 객체는 광선 광원에 위치하지 않은 카메라에 의한 촬영을 통하여 획득됨 -; 상기 장면 깊이 파라미터들 및 상기 렌더링 깊이 파라미터들에 따라 광선 광원들의 방향들에서의 상기 렌더링될 대상 객체의 주변 폐색(AO) 맵들을 산출하고; 상기 광선 광원들의 방향들에서의 상기 AO 맵들을 오버레이하여, 출력 이미지를 획득하는, 컴퓨터 디바이스.
  17. 제16항에 있어서,
    상기 GPU에 의해, 상기 장면 깊이 파라미터들 및 상기 렌더링 깊이 파라미터들에 따라 광선 광원들의 방향들에서의 상기 렌더링될 대상 객체의 AO 맵들을 산출하는 것은:
    각 광선 광원에 대해, 상기 GPU에 의해, 상기 렌더링될 대상 객체의 각 픽셀 포인트의 장면 깊이 파라미터 및 렌더링 깊이 파라미터에 따라 상기 광선 광원의 방향에서의 각 픽셀 포인트의 AO 값을 산출하는 것; 및
    상기 GPU에 의해, 상기 AO 값들을 오버레이하여 상기 광선 광원의 방향에서의 상기 렌더링될 대상 객체의 AO 맵을 획득하는 것을 포함하는, 컴퓨터 디바이스.
  18. 제17항에 있어서,
    상기 GPU에 의해, 상기 렌더링될 대상 객체의 각 픽셀 포인트의 장면 깊이 파라미터 및 렌더링 깊이 파라미터에 따라 상기 광선 광원의 방향에서의 각 픽셀 포인트의 AO 값을 산출하는 것은:
    상기 GPU에 의해, 각 픽셀 포인트의 상기 장면 깊이 파라미터 및 상기 렌더링 깊이 파라미터에 따라, 상기 픽셀 포인트의 섀도 값을 산출하는 것; 및
    상기 GPU에 의해, 상기 픽셀 포인트의 상기 섀도 값을 가중 계수와 곱하여, 상기 광선 광원의 방향에서의 상기 픽셀 포인트의 상기 AO 값을 획득하는 것을 포함하고, 상기 가중 계수는 상기 광선 광원의 조명 방향과 상기 픽셀 포인트의 법선 방향의 내적, 및 상기 광선 광원들의 총수의 역수를 포함하는, 컴퓨터 디바이스.
  19. 제18항에 있어서,
    상기 GPU에 의해, 각 픽셀 포인트의 상기 장면 깊이 파라미터 및 상기 렌더링 깊이 파라미터에 따라, 상기 픽셀 포인트의 섀도 값을 산출하는 것은:
    상기 GPU에 의해, 상기 픽셀 포인트의 상기 렌더링 깊이 파라미터가 상기 장면 깊이 파라미터보다 큰 경우, 상기 픽셀 포인트의 상기 섀도 값이 1인 것으로 결정하는 것; 및
    상기 GPU에 의해, 상기 픽셀 포인트의 상기 렌더링 깊이 파라미터가 상기 장면 깊이 파라미터보다 작거나 그와 같은 경우, 상기 픽셀 포인트의 상기 섀도 값이 0인 것으로 결정하는 것을 포함하는, 컴퓨터 디바이스.
  20. 제16항 내지 제19항 중 어느 한 항에 있어서,
    상기 GPU에 의해, 상기 렌더링될 대상 객체를 렌더링하여 렌더링 깊이 파라미터들을 획득하는 것은:
    상기 GPU에 의해, 상기 렌더링될 대상 객체를 렌더링하여 상기 렌더링될 대상 객체의 정점 좌표를 획득하는 것; 및
    상기 GPU에 의해, 상기 정점 좌표를 월드 좌표 행렬과 곱하고, 그 후 상기 광선 광원들에 위치한 카메라들의 비전 행렬들 및 투영 행렬들과 곱하여, 상기 렌더링 깊이 파라미터들을 획득하는 것을 포함하는, 컴퓨터 디바이스.
  21. 제16항 내지 제19항 중 어느 한 항에 있어서,
    상기 GPU에 의해, 상기 광선 광원들의 방향들에서의 상기 AO 맵들을 오버레이하여, 출력 이미지를 획득하는 것은:
    상기 GPU에 의해, 상기 출력 이미지에 대해 감마 보정을 수행하고 상기 출력 이미지를 출력하는 것을 더 포함하는, 컴퓨터 디바이스.
  22. 제16항 내지 제19항 중 어느 한 항에 있어서,
    상기 광선 광원들의 수는 900인, 컴퓨터 디바이스.
KR1020167022702A 2014-01-22 2015-01-21 이미지 처리 방법 및 장치, 및 컴퓨터 디바이스 KR101859312B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201410030054.2 2014-01-22
CN201410030054.2A CN104134230B (zh) 2014-01-22 2014-01-22 一种图像处理方法、装置及计算机设备
PCT/CN2015/071225 WO2015110012A1 (en) 2014-01-22 2015-01-21 Image processing method and apparatus, and computer device

Publications (2)

Publication Number Publication Date
KR20160113169A true KR20160113169A (ko) 2016-09-28
KR101859312B1 KR101859312B1 (ko) 2018-05-18

Family

ID=51806899

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167022702A KR101859312B1 (ko) 2014-01-22 2015-01-21 이미지 처리 방법 및 장치, 및 컴퓨터 디바이스

Country Status (6)

Country Link
US (1) US20160232707A1 (ko)
EP (1) EP3097541A4 (ko)
JP (1) JP6374970B2 (ko)
KR (1) KR101859312B1 (ko)
CN (1) CN104134230B (ko)
WO (1) WO2015110012A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102408198B1 (ko) * 2022-01-14 2022-06-13 (주)이브이알스튜디오 3차원 객체의 렌더링을 위한 방법 및 장치

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104134230B (zh) * 2014-01-22 2015-10-28 腾讯科技(深圳)有限公司 一种图像处理方法、装置及计算机设备
CN104463943B (zh) * 2014-11-12 2015-09-16 山东地纬数码科技有限公司 一种面向可编程着色器的多光源加速方法
CN105243684B (zh) * 2015-09-10 2018-03-20 网易(杭州)网络有限公司 一种游戏界面中图像的显示方法及装置
CN107481312B (zh) * 2016-06-08 2020-02-14 腾讯科技(深圳)有限公司 一种基于体绘制的图像渲染方法及装置
EP3399502A1 (en) * 2017-05-02 2018-11-07 Thomson Licensing Method and device for determining lighting information of a 3d scene
CN107679561A (zh) * 2017-09-15 2018-02-09 广东欧珀移动通信有限公司 图像处理方法和装置、***、计算机设备
CN108089958B (zh) * 2017-12-29 2021-06-08 珠海市君天电子科技有限公司 Gpu测试方法、终端设备和计算机可读存储介质
CN108434742B (zh) 2018-02-02 2019-04-30 网易(杭州)网络有限公司 游戏场景中虚拟资源的处理方法和装置
CN108404412B (zh) * 2018-02-02 2021-01-29 珠海金山网络游戏科技有限公司 一种次世代游戏渲染引擎的光源管理***、装置及其方法
CN109325905B (zh) * 2018-08-29 2023-10-13 Oppo广东移动通信有限公司 图像处理方法、装置、计算机可读存储介质和电子设备
CN111402348B (zh) * 2019-01-03 2023-06-09 百度在线网络技术(北京)有限公司 光照效果的形成方法、装置和渲染引擎
CN111476834B (zh) * 2019-01-24 2023-08-11 北京地平线机器人技术研发有限公司 生成图像的方法、装置及电子设备
CN109887066B (zh) * 2019-02-25 2024-01-16 网易(杭州)网络有限公司 光照效果处理方法及装置、电子设备、存储介质
CN110288692B (zh) * 2019-05-17 2021-05-11 腾讯科技(深圳)有限公司 光照渲染方法和装置、存储介质及电子装置
CN112541512B (zh) * 2019-09-20 2023-06-02 杭州海康威视数字技术股份有限公司 一种图像集生成方法及装置
CN112802175B (zh) * 2019-11-13 2023-09-19 北京博超时代软件有限公司 大规模场景遮挡剔除方法、装置、设备及存储介质
CN111260768B (zh) * 2020-02-07 2022-04-26 腾讯科技(深圳)有限公司 图片处理方法和装置、存储介质及电子装置
CN111292406B (zh) * 2020-03-12 2023-10-24 抖音视界有限公司 模型渲染方法、装置、电子设备及介质
CN111583376B (zh) * 2020-06-04 2024-02-23 网易(杭州)网络有限公司 光照贴图中黑边的消除方法及装置、存储介质及电子设备
CN112419460B (zh) * 2020-10-20 2023-11-28 上海哔哩哔哩科技有限公司 烘焙模型贴图的方法、装置、计算机设备和存储介质
CN112511737A (zh) * 2020-10-29 2021-03-16 维沃移动通信有限公司 图像处理方法、装置、电子设备及可读存储介质
CN112316420B (zh) * 2020-11-05 2024-03-22 网易(杭州)网络有限公司 模型渲染方法、装置、设备及存储介质
CN112700526B (zh) * 2020-12-30 2022-07-19 稿定(厦门)科技有限公司 凹凸材质图像渲染方法及装置
CN112734896B (zh) * 2021-01-08 2024-04-26 网易(杭州)网络有限公司 环境遮蔽渲染方法、装置、存储介质及电子设备
CN113813595A (zh) * 2021-01-15 2021-12-21 北京沃东天骏信息技术有限公司 一种实现互动的方法和装置
CN112785672B (zh) * 2021-01-19 2022-07-05 浙江商汤科技开发有限公司 图像处理方法及装置、电子设备和存储介质
CN113144611B (zh) * 2021-03-16 2024-05-28 网易(杭州)网络有限公司 场景渲染方法及装置、计算机存储介质、电子设备
CN113144616A (zh) * 2021-05-25 2021-07-23 网易(杭州)网络有限公司 带宽的确定方法、装置、电子设备及计算机可读介质
CN114972606A (zh) * 2021-06-28 2022-08-30 完美世界(北京)软件科技发展有限公司 一种半透明物体阴影效果的渲染方法及装置
CN113674435A (zh) * 2021-07-27 2021-11-19 阿里巴巴新加坡控股有限公司 图像处理方法、电子地图展示方法、装置及电子设备
CN113706674B (zh) * 2021-07-30 2023-11-24 北京原力棱镜科技有限公司 模型贴图的制作方法及装置、存储介质、计算机设备
CN113838155A (zh) * 2021-08-24 2021-12-24 网易(杭州)网络有限公司 材质贴图的生成方法、装置和电子设备
CN113706583B (zh) * 2021-09-01 2024-03-22 上海联影医疗科技股份有限公司 图像处理方法、装置、计算机设备和存储介质
CN113808246B (zh) * 2021-09-13 2024-05-10 深圳须弥云图空间科技有限公司 一种贴图的生成方法、装置、计算机设备及计算机可读存储介质
CN115350479B (zh) * 2022-10-21 2023-01-31 腾讯科技(深圳)有限公司 渲染处理方法、装置、设备及介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1230113A (en) * 1914-07-23 1917-06-19 Grip Nut Co Nut-tapping machine.
WO1996031844A1 (fr) * 1995-04-05 1996-10-10 Hitachi, Ltd. Systeme graphique
US8009308B2 (en) * 2005-07-12 2011-08-30 Printingforless.Com System and method for handling printing press workload
NZ567884A (en) * 2005-11-23 2011-07-29 Pixar Performing rendering operations to form intermediate data of images, processing the inermediate data, and then performing additional rendering
JP4816928B2 (ja) * 2006-06-06 2011-11-16 株式会社セガ 画像生成用のプログラム及び当該プログラムを記録したコンピュータ読み取り可能な記録媒体、画像処理装置、画像処理方法
US20090015355A1 (en) * 2007-07-12 2009-01-15 Endwave Corporation Compensated attenuator
JP4995054B2 (ja) * 2007-12-05 2012-08-08 株式会社カプコン ゲームプログラム、そのゲームプログラムを記録した記録媒体及びコンピュータ
US8878849B2 (en) * 2007-12-14 2014-11-04 Nvidia Corporation Horizon split ambient occlusion
KR101420684B1 (ko) * 2008-02-13 2014-07-21 삼성전자주식회사 컬러 영상과 깊이 영상을 매칭하는 방법 및 장치
EP2234069A1 (en) * 2009-03-27 2010-09-29 Thomson Licensing Method for generating shadows in an image
CN101593345A (zh) * 2009-07-01 2009-12-02 电子科技大学 基于gpu加速的三维医学图像显示方法
CN102254340B (zh) * 2011-07-29 2013-01-09 北京麒麟网文化股份有限公司 一种基于gpu加速的环境光遮挡图像绘制方法及***
CN104134230B (zh) * 2014-01-22 2015-10-28 腾讯科技(深圳)有限公司 一种图像处理方法、装置及计算机设备
US20160155261A1 (en) 2014-11-26 2016-06-02 Bevelity LLC Rendering and Lightmap Calculation Methods

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102408198B1 (ko) * 2022-01-14 2022-06-13 (주)이브이알스튜디오 3차원 객체의 렌더링을 위한 방법 및 장치

Also Published As

Publication number Publication date
JP2017511514A (ja) 2017-04-20
WO2015110012A1 (en) 2015-07-30
EP3097541A4 (en) 2017-10-25
CN104134230B (zh) 2015-10-28
KR101859312B1 (ko) 2018-05-18
US20160232707A1 (en) 2016-08-11
EP3097541A1 (en) 2016-11-30
JP6374970B2 (ja) 2018-08-15
CN104134230A (zh) 2014-11-05

Similar Documents

Publication Publication Date Title
KR101859312B1 (ko) 이미지 처리 방법 및 장치, 및 컴퓨터 디바이스
JP6967160B2 (ja) 画像処理方法および関連デバイス
CN109087239B (zh) 一种人脸图像处理方法、装置及存储介质
EP3410390B1 (en) Image processing method and device, computer readable storage medium and electronic device
CN109191410B (zh) 一种人脸图像融合方法、装置及存储介质
CN107580209B (zh) 一种移动终端的拍照成像方法及装置
CN108234875B (zh) 拍摄显示方法、装置、移动终端以及存储介质
CN108605096B (zh) 一种电子设备拍摄方法和装置
CN110225237B (zh) 图像采集方法、装置以及移动终端
CN108038825B (zh) 一种图像处理方法及移动终端
CN108427630B (zh) 性能信息获取方法、装置、终端及计算机可读存储介质
CN105989572B (zh) 图片处理方法及装置
CN109493821B (zh) 屏幕亮度调整方法、装置及存储介质
CN106296634B (zh) 一种检测相似图像的方法和装置
CN104574452B (zh) 窗体背景的生成方法及装置
CN113888452A (zh) 图像融合方法、电子设备、存储介质及计算机程序产品
CN108564539B (zh) 一种显示图像的方法和装置
CN110807769B (zh) 图像显示控制方法及装置
CN110168599B (zh) 一种数据处理方法及终端
CN114143523A (zh) 亮度调节方法、装置、投影设备及存储介质
EP3852362A1 (en) Method for acquiring depth image, camera device, and terminal
CN106982389B (zh) 视频类型识别方法及装置
CN112308766B (zh) 一种图像数据展示方法、装置、电子设备及存储介质
CN110996003B (zh) 一种拍照定位方法、装置及移动终端
CN110012229B (zh) 一种图像处理方法和终端

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right