KR102351019B1 - 삼백 육십도 비디오 스티칭 - Google Patents

삼백 육십도 비디오 스티칭 Download PDF

Info

Publication number
KR102351019B1
KR102351019B1 KR1020197005187A KR20197005187A KR102351019B1 KR 102351019 B1 KR102351019 B1 KR 102351019B1 KR 1020197005187 A KR1020197005187 A KR 1020197005187A KR 20197005187 A KR20197005187 A KR 20197005187A KR 102351019 B1 KR102351019 B1 KR 102351019B1
Authority
KR
South Korea
Prior art keywords
image
unwrapped
template
compensated
polynomial
Prior art date
Application number
KR1020197005187A
Other languages
English (en)
Other versions
KR20190040970A (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 KR20190040970A publication Critical patent/KR20190040970A/ko
Application granted granted Critical
Publication of KR102351019B1 publication Critical patent/KR102351019B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/90Dynamic range modification of images or parts thereof
    • G06T5/94Dynamic range modification of images or parts thereof based on local image properties, e.g. for local contrast enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • G06T7/85Stereo camera calibration
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/189Recording image signals; Reproducing recorded image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/239Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/271Image signal generators wherein the generated image signals comprise depth maps or disparity maps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/4223Cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/32Indexing scheme for image data processing or generation, in general involving image mosaicing
    • 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/20212Image combination
    • G06T2207/20221Image fusion; Image merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/97Determining parameters from multiple pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/172Processing image signals image signals comprising non-image signal components, e.g. headers or format information
    • H04N13/178Metadata, e.g. disparity information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Graphics (AREA)
  • Studio Devices (AREA)

Abstract

삼백 육십(360) 도 이미지를 렌더링하는(rendering) 전자 디바이스가 제공된다. 상기 전자 디바이스는 통신 유닛 및 프로세서를 포함한다. 상기 통신 유닛은 카메라로부터 제1 이미지, 제2 이미지 및 메타데이터(metadata)를 수신하도록 구성된다. 상기 프로세서는 라이트 폴-오프(light fall-off)를 보상하기 위해 상기 제1 이미지 및 제2 이미지를 변환하고, 상기 변환된 제1 이미지 및 제2 이미지를 언래핑(unwarping)하고, 상기 언래핑된 제1 이미지 및 제2 이미지를 조정하고, 상기 조정된 언래핑된 제1 이미지 및 제2 이미지를 블렌딩(blending)함으로써 상기 360도 이미지를 렌더링하도록 구성된다.

Description

삼백 육십도 비디오 스티칭
본 개시는 이미지 프로세싱에 관한 것이다. 특히, 본 개시는 다수의 이미지들을 삼백 육십 도 이미지로 결합하는 장치 및 방법에 관한 것이다.
삼백 육십 (360) 도 이미징은 환경에 포함되어 있는 모든 시청 방향들을 캡쳐하고 사용자들에게 몰입감을 제공하는 기술이다. 상기 360도 이미지는 반사굴절 광 시스템을 사용하여 획득될 수 있고, 상기 반사굴절 광 시스템은 렌즈(굴절) 및 미러(반사)를 결합하여 360-도 이미지들 혹은 비디오들을 결합한다. 상기 반사굴절 광 시스템은 360도 비디오들을 실시간으로 기록할 수 있지만, 캡쳐된 시야는 일반적으로 360x180 도 미만이다.
고해상도 360x180-도 실감형 이미징을 위해서, 대체 광 시스템, 일 예로, polydioptric가 광범위하게 채택되고 있다. polydioptric 카메라는 다수의 굴절 렌즈들과 하나의 시스템에서 오버랩되는 시야들을 포개지도록 함으로써 고해상도 파노라마 아트들을 가능하게 한다. 이런 렌즈들에 의해 취해진 사진들은 하나의 사진을 다른 사진에 등록하고, 눈에 보이는 이음새들을 제거하고, 래핑된 이미지들을 블렌딩하여 최종 파노라마를 생성하는 스티칭(stitching) 프로세스를 거친다. 단점은, 상기와 같은 카메라들은 이미지 센서들의 비용이 감소되더라도 굉장히 비싸고, 대부분의 일반 사용자들이 접근할 수 없다는 것이다. 낮은 비용의 polydioptric 카메라들이 사용될 수 있다. 하지만, 상기와 같은 카메라들은 좁은 오버랩을 가지고 따라서 상기 스티칭 프로세스가 정확한 변환 (호모그래피(homography)) 행렬을 생성하여 상기 이미지들을 조정하지 못하도록 한다.
본 개시는 다수의 이미지들을 삼백 육십 도 이미지로 결합하는 방법 및 장치를 제공한다.
일 실시 예에서 삼백 육십(360) 도 이미지를 렌더링하는(rendering) 전자 디바이스는 통신 유닛 및 프로세서를 포함한다. 상기 통신 유닛은 카메라로부터 제1 이미지, 제2 이미지 및 메타데이터(metadata)를 수신하도록 구성된다. 상기 프로세서는 라이트 폴-오프(light fall-off)를 보상하기 위해 상기 제1 이미지 및 제2 이미지를 변환하고, 상기 변환된 제1 이미지 및 제2 이미지를 언래핑(unwarping)하고, 상기 언래핑된 제1 이미지 및 제2 이미지를 조정하고, 상기 조정된 언래핑된 제1 이미지 및 제2 이미지를 블렌딩(blending)함으로써 상기 360도 이미지를 렌더링하도록 구성된다.
다른 실시 예에서, 프로세서를 포함하는 전자 디바이스에서의 삼백 육십 (360) 도 이미지를 렌더링하는 방법은 카메라로부터 제1 이미지, 제2 이미지 및 메타데이터를 수신하는 단계을 포함한다. 상기 방법은 또한 라이트 폴-오프를 보상하기 위해 상기 제1 이미지 및 제2 이미지를 변환하는 단계 및 상기 변환된 제1 이미지 및 제2 이미지를 언래핑하는 단계을 포함한다. 상기 언래핑된 제1 이미지 및 제2 이미지는 조정 및 블렌딩된다.
또 다른 실시 예에서, 컴퓨터 프로그램을 포함하는 비-일시적 컴퓨터 리드(read) 가능 매체가 제공되며, 상기 컴퓨터 프로그램은 실행될 때 적어도 하나의 프로세싱 디바이스가 카메라로부터 제1 이미지, 제2 이미지 및 메타데이터를 수신하도록 하는 컴퓨터 리드 가능 프로그램 코드를 포함한다. 상기 적어도 하나의 프로세싱 디바이스는 또한 라이트 폴-오프를 보상하기 위해 상기 제1 이미지 및 제2 이미지를 변환하고, 상기 변환된 제1 이미지 및 제2 이미지를 언래핑한다. 상기 언래핑된 제1 이미지 및 제2 이미지는 상기 적어도 하나의 프로세싱 디바이스에 의해 조정 및 블렌딩된다.
다른 기술적 특징들은 하기의 도면들, 설명들 및 청구항들로부터 당업자에게 쉽게 명백할 수 있을 것이다.
본 개시 및 그 이점들에 대한 보다 완전한 이해를 위해서, 유사한 참조 번호들이 유사한 파트들을 나타내는 첨부 도면들을 참조하여 다음과 같은 설명이 이루어질 것이다:
도 1은 본 개시에 따른 예제 컴퓨팅 시스템을 도시하고 있다;
도 2 및 도 3은 본 개시에 따른 컴퓨팅 시스템에서 예제 디바이스들을 도시하고 있다;
도 4는 본 개시에 이미지들을 스티치하는 예제 방법을 도시하고 있다;
도 5A는 본 개시에 따른 라이트-폴 오프(light-fall off) 곡선을 도시하고 있다;
도 5B는 본 개시에 따른 이미지를 언래핑(unwarping)하는 프로세스를 도시하고 있다;
도 5C는 본 개시에 따른 2개의 이미지들간의 오버랩되는 영역들을 도시하고 있다;
도 6A 및 도 6B는 본 개시에 따른 이미지들을 스티치하는 예제 시스템들을 도시하고 있다;
도 7은 본 개시에 따른 이미지들을 스티치하는 방법의 플로우차트를 도시하고 있다.
하기에서 상세한 설명을 설명하기에 앞서, 이 특허 문서 전체에 걸쳐 사용된 소정 단어들과 어구들의 정의를 설명하는 것이 바람직하다. "연결(조합)한다"는 말과 그 파생어들은 둘 이상의 구성요소들이 서로 물리적 접촉 상태에 있는지 그렇지 않든지, 그들 간의 어떤 직접적이거나 간접적인 통신을 일컫는다. "전송한다", "수신한다", 그리고 "통신한다" 라는 용어들뿐 아니라 그 파생어들은 직간접적 통신 모두를 포함한다. "포함하다" 및 "구비한다"는 용어들 및 그 파생어들은 제한 없는 포함을 의미한다. "또는"이라는 말은 '및/또는'을 의미하는 포괄적인 말이다. "~와 관련된다" 및 그 파생어들은 포함한다, ~ 안에 포함된다, ~와 상호 연결한다, 내포한다, ~안에 내포된다, ~에/와 연결한다, ~에/와 조합한다, ~와 통신할 수 있다, ~와 협력한다, 개재한다, 나란히 놓는다, ~에 근사하다, ~에 속박된다, 가진다, ~의 특성을 가진다, ~와 관계를 가진다는 등의 의미이다. "제어기"라는 용어는 적어도 한 동작을 제어하는 어떤 장치, 시스템, 또는 그 일부를 의미한다. 그러한 제어기는 하드웨어나 하드웨어와 소프트웨어 및/또는 펌웨어의 조합으로 구현될 수 있다. 어떤 특정 제어기와 관련된 기능은 국지적이든 원격으로든 중앙 집중되거나 분산될 수 있다. "적어도 하나의~"라는 말은 항목들의 리스트와 함께 사용될 때, 나열된 항목들 중 하나 이상의 서로 다른 조합들이 사용될 수 있고, 그 리스트 내 오직 한 항목만이 필요로 될 수 있다는 것을 의미한다. 예를 들어, "A, B, 및 C 중 적어도 하나"는 다음과 같은 조합들 중 어느 하나를 포함한다: A, B, C, A 및 B, A 및 C, B 및 C, 및 A와 B와 C.
또한, 이하에 기술되는 다양한 기능들은 하나 이상의 컴퓨터 프로그램들에 의해 구현되거나 지원될 수 있으며, 그 프로그램들 각각은 컴퓨터 판독가능 프로그램 코드로 구성되고 컴퓨터 판독가능 매체에서 실시된다. "애플리케이션" 및 "프로그램"이라는 용어는 하나 이상의 컴퓨터 프로그램, 소프트웨어 성분, 명령어 집합, 절차, 함수, 객체, 클래스, 인스턴스, 관련 데이터, 또는 적합한 컴퓨터 판독가능 프로그램 코드의 구현에 적합한 그들의 일부를 일컫는다. "컴퓨터 판독가능 프로그램 코드"라는 말은 소스 코드, 객체 코드, 및 실행 코드를 포함하는 모든 타입의 컴퓨터 코드를 포함한다. "컴퓨터 판독가능 매체"라는 말은 리드 온니 메모리(read only memory: ROM), 랜덤 억세스 메모리(random access memory: RAM), 하드 디스크 드라이브, 컴팩트 디스크(compact disc: CD), 디지털 비디오 디스크(digital video disc: DVD), 또는 어떤 다른 유형의 메모리와 같이, 컴퓨터에 의해 액세스될 수 있는 모든 유형의 매체를 포함한다. "비일시적" 컴퓨터 판독가능 매체는 일시적인 전기 또는 기타 신호들을 전송하는 유선, 무선, 광학, 또는 기타 통신 링크들을 배제한다. 비일시적 컴퓨터 판독가능 매체는 데이터가 영구적으로 저장될 수 있는 매체, 및 재기록 가능 광학 디스크나 삭제가능 메모리 장치와 같이 데이터가 저장되고 나중에 덮어씌어질 수 있는 매체를 포함한다.
다른 소정 단어들 및 어구들에 대한 정의가 본 특허 문서 전체에 걸쳐 제공된다. 당업자는 대부분의 경우들은 아니어도 많은 경우, 그러한 정의들이 그렇게 정의된 단어들 및 어구들의 이전뿐 아니라 이후 사용에도 적용된다는 것을 알 수 있을 것이다.
하기에서 설명되는 도 1 내지 도 7과 이 특허 문서에서 본 발명의 기본 원칙들을 설명하기 위해 사용되는 다양한 실시 예들은 오직 설명만을 위한 것이며, 본 개시의 범위를 제한하는 방식으로 이해되어서는 안 된다. 해당 기술 분야의 당업자들은 본 개시의 기본 원칙들이 적합하게 배열된 디바이스 혹은 시스템에서 구현될 수 있다는 것을 이해할 것이다.
도 1은 본 개시에 따른 예제 컴퓨팅 시스템(100)을 도시하고 있다. 도 1에 도시되어 있는 상기 컴퓨팅 시스템(100)의 실시 예는 오직 예시만을 위한 것이다. 상기 컴퓨팅 시스템(100)의 다른 실시 예들은 본 개시의 범위로부터 벗어남이 없이 사용될 수 있다.
도 1에 도시되어 있는 바와 같이, 상기 시스템(100)은 네트워크(102)를 포함하며, 상기 네트워크(102)는 상기 시스템(100)에 포함되어 있는 다양한 컴포넌트들간의 통신을 가능하게 한다. 일 예로, 상기 네트워크(102)는 네트워크 어드레스들간에 인터넷 프로토콜(Internet Protocol: IP) 패킷들, 프레임 릴레이 프레임들, 비동기 전달 모드(Asynchronous Transfer Mode: ATM) 셀들, 혹은 다른 정보를 통신할 수 있다. 상기 네트워크(102)는 하나 혹은 그 이상의 근거리 통신 네트워크(local area network: LAN)들, 도시 지역 통신 네트워크(metropolitan area network: MAN)들, 광역 네트워크(wide area network: WAN)들, 혹은 상기 인터넷과 같은 전세계 네트워크의 전부 혹은 일부, 혹은 다른 통신 시스템, 혹은 하나 혹은 그 이상의 위치들에서의 시스템들을 포함할 수 있다.
상기 네트워크(102)는 적어도 하나의 서버(104)와 다양한 클라이언트 디바이스들(106-114)간의 통신들을 가능하게 한다. 상기 서버(104)는 하나 혹은 그 이상의 클라이언트 디바이스들에 대한 컴퓨팅 서비스들을 제공할 수 있는 적합한 컴퓨팅 혹은 프로세싱 디바이스를 포함한다. 상기 서버(104)는 일 예로, 하나 혹은 그 이상의 프로세싱 디바이스들, 명령어들 및 데이터를 저장하는 하나 혹은 그 이상의 메모리들, 상기 네트워크(102)를 통한 통신을 가능하게 하는 하나 혹은 그 이상의 네트워크 인터페이스들을 포함할 수 있다.
카메라(105)는 주변 환경의 삼백 육십(360) 도 이미지를 캡쳐할 수 있는 접합한 캡쳐 디바이스를 나타낸다. 상기 카메라(105)는 한 쌍의 렌즈들과, 전면 렌즈 혹은 푸면 렌즈를 가질 수 있다. 일부 실시 예들에서, 임의의 개수의 렌즈들이 상기 렌즈들이 상기 360도 이미지를 캡쳐할 수 있는 한 사용될 수 있다.
각 클라이언트 디바이스(106-114)는 상기 네트워크(102)를 통해 적어도 하나의 서버 혹은 다른 컴퓨팅 디바이스(들)와 상호 작용하는 적합한 컴퓨팅 혹은 프로세싱 디바이스를 나타낸다. 이 예제에서, 상기 클라이언트 디바이스들(106-114)은 데스크탑 컴퓨터(106), 이동 전화기 혹은 스마트폰(108), 개인용 정보 단말기(personal digital assistant: PDA)(110), 랩탑 컴퓨터(112) 및 태블릿 컴퓨터(114)를 포함한다. 하지만, 어떤 다른 혹은 추가적인 클라이언트 디바이스들이라도 상기 컴퓨팅 디바이스(100)에서 사용될 수 있다.
이 예제에서, 일부 클라이언트 디바이스들(108-114)은 상기 네트워크(102)와 간접적으로 통신한다. 일 예로, 상기 클라이언트 디바이스들(108-110)은 셀룰라 기지국들 혹은 eNodeB들과 같은 하나 혹은 그 이상의 기지국들(116)과 통신한다. 또한, 상기 클라이언트 디바이스들(112-114)은 IEEE 802.11 무선 억세스 포인트들과 같은 하나 혹은 그 이상의 무선 억세스 포인트들(118)과 통신한다. 이는 오직 설명만을 위한 것이며, 각 클라이언트 디바이스는 상기 네트워크(102)와 직접적으로 통신할 수 있거나 혹은 적합한 중개 디바이스(들) 혹은 네트워크(들)를 통해 상기 네트워크(102)와 간접적으로 통신할 수 있다.
하기에서 구체적으로 설명되는 바와 같이, 상기 클라이언트 디바이스들(106-114)은 360도 이미지들 및/혹은 비디오를 렌더링 혹은 디스플레이한다.
도 1이 컴퓨팅 시스템(100)의 일 예를 도시하고 있다고 할지라도, 다양한 변경들이 도 1에 대해서 이루어질 수 있다. 일 예로, 상기 컴퓨팅 시스템(100)은 적합한 배열로 임의의 개수의 각 컴포넌트를 포함할 수 있다. 일반적으로, 컴퓨팅 및 통신 시스템들은 다양한 구성들로 구현되며, 도 1은 본 개시의 범위를 특정 구성으로 제한하는 것은 아니다. 도 1이 본 특허 문서에 개시된 바와 같은 다양한 기능들이 사용될 수 있는 어느 한 동작 가능 환경을 도시하고 있을 지라도, 이런 기능들은 다른 적합한 시스템에서도 사용될 수 있다.
도 2 및 도 3은 본 개시에 따른 컴퓨팅 시스템에서 예제 디바이스들을 도시하고 있다. 특히, 도 2는 예제 서버(200)를 도시하고 있으며, 도 3은 예제 클라이언트 디바이스(300)를 도시하고 있다. 상기 서버(200)는 도 1의 서버(104)를 나타낼 수 있으며, 상기 클라이언트 디바이스(300)는 도 1의 클라이언트 디바이스들(106-114) 중 하나 혹은 그 이상을 나타낼 수 있다.
도 2에 도시되어 있는 바와 같이, 상기 서버(200)는 적어도 하나의 프로세싱 디바이스(210), 적어도 하나의 저장 디바이스(215), 적어도 하나의 통신 유닛(220), 적어도 하나의 입/출력(input/output: I/O) 유닛 (225)간의 통신을 지원하는 버스 시스템(205)을 포함한다.
상기 프로세싱 디바이스(210)는 메모리(230)에 로딩될 수 있는 명령어들을 실행시킨다. 상기 프로세싱 디바이스(210)는 적합한 개수(들) 및 타입(들)의 프로세서들 혹은 다른 디바이스들을 적합한 배열로 포함할 수 있다. 프로세싱 디바이스들(210)의 예제 타입들은 마이크로프로세서들, 마이크로제어기들, 디지털 신호 프로세서들, 필드 프로그램가능 게이트 어레이(field programmable gate array)들, 주문형 반도체(application specific integrated circuit)들, 개별적인 회로를 포함한다.
상기 메모리(230)와 영구 저장 장치(235)는 저장 디바이스들(215)의 예제들이며, 정보(일시 혹은 영구 기반의 데이터, 프로그램 코드, 및/혹은 다른 적합한 정보)를 저장하고 정보의 검색을 가능하게 할 수 있는 구조(들)을 나타낸다. 상기 메모리(230)는 랜덤 억세스 메모리 혹은 다른 적합한 휘발성 혹은 비-휘발성 저장 디바이스(들)를 나타낼 수 있다. 상기 영구 저장 장치(235)는 리드 온니 메모리, 하드 드라이브, 플래쉬 메모리, 혹은 광 디스크와 같은 데이터의 장기간의 저장을 지원하는 하나 혹은 그 이상의 컴포넌트들 혹은 디바이스들을 포함할 수 있다.
상기 통신 유닛(220)은 다른 시스템들 혹은 디바이스들과의 통신을 지원한다. 일 예로, 상기 통신 유닛(220)은 상기 네트워크(102)를 통한 통신을 가능하게 하는 네트워크 인터페이스 카드 혹은 무선 송수신기를 포함할 수 있다. 상기 통신 유닛(220)은 적합한 물리 혹은 무선 통신 링크(들)를 통해 통신을 지원할 수 있다.
상기 I/O 유닛(225)은 데이터의 입력 및 출력을 고려한다. 일 예로, 상기 I/O 유닛(225)은 키보드, 마우스, 키패드, 터치스크린, 혹은 다른 적합한 입력 디바이스를 통해 사용자 입력에 대한 연결을 제공할 수 있다. 상기 I/O 유닛(225)은 또한 디스플레이, 프린터, 혹은 다른 적합한 출력 디바이스로 출력을 송신할 수 있다.
도 2가 도 1의 서버(104)를 나타내는 것으로 설명된다고 할지라도, 동일한 혹은 유사한 구조가 상기 클라이언트 디바이스들(106-114) 중 하나 혹은 그 이상에서 사용될 수 있다는 것에 유의하여야만 할 것이다.
여기에서 설명되는 상기 실시 예들에서는, 서버(104)가 카메라(105)로부터 수신되는 다수의 이미지들을 기반으로 360도 이미지들 및/혹은 비디오를 렌더링할 수 있다. 일부 실시 예들에서, 상기 서버는 메타데이터와 함께 상기 카메라(105)로부터의 이미지들을 수신할 수 있고, 상기 클라이언트 디바이스들(106-114) 중 하나로 상기 이미지들 및 메타데이터를 제공한다.
도 3에 도시되어 있는 바와 같이, 상기 클라이언트 디바이스(300)는 안테나(305), 통신 유닛(310), 송신(transmit: TX) 프로세싱 회로(315), 마이크로폰(microphone)(320) 및 수신(receive: RX) 프로세싱 회로(325)를 포함한다. 또한, 상기 클라이언트 디바이스(300)는 스피커(330), 프로세서(main processor)(340), 입/출력(input/output: I/O) 인터페이스(interface: IF)(345), 입력 장치(350), 디스플레이(display)(355) 및 메모리(360)를 포함한다. 상기 메모리(360)는 기본 운영 시스템(operating system: OS) 프로그램(361) 및 하나 혹은 그 이상의 어플리케이션(application)들(362)을 포함한다.
상기 통신 유닛(310)은 상기 안테나(305)로부터 시스템에 포함되어 있는 다른 컴포넌트에 의해 송신된 입력 RF 신호를 수신한다. 상기 통신 유닛(310)은 상기 입력 RF 신호를 다운 컨버팅하여 중간 주파수(intermediate frequency: IF) 혹은 기저대역 신호로 생성한다. 상기 IF 혹은 기저 대역 신호는 상기 RX 프로세싱 회로(325)로 송신되고, 상기 RX 프로세싱 회로(325)는 상기 기저대역 혹은 IF 신호를 필터링, 디코딩, 및/혹은 디지털화하여 프로세싱된 기저대역 신호를 생성한다. 상기 RX 프로세싱 회로(325)는 추가적인 프로세싱을 위해 상기 프로세싱된 기저대역 신호를 상기 스피커(330)(음성 데이터를 위해서와 같이) 혹은 상기 프로세서(340)(웹 브라우징 데이터(web browsing data)를 위해서와 같이)로 송신한다.
상기 TX 프로세싱 회로(315)는 상기 마이크로폰(320)으로부터의 아날로그 혹은 디지털 음성 데이터 혹은 상기 프로세서(340)로부터의 다른 출력 기저 대역 데이터(웹 데이터, 이메일, 혹은 양방향 비디오 게임 데이터(interactive video game data)와 같은)를 수신한다. 상기 TX 프로세싱 회로(315)는 상기 출력 기저 대역 데이터를 인코딩, 멀티플렉싱 및/혹은 디지털화하여 프로세싱된 기저대역 혹은 IF 신호로 생성한다. 상기 통신 유닛(310)은 상기 TX 프로세싱 회로(315)로부터 상기 출력 프로세싱된 기저대역 혹은 IF 신호를 수신하고, 상기 기저대역 혹은 IF 신호를 상기 안테나(305)를 통해 송신되는 RF 신호로 업 컨버팅한다.
상기 프로세서(340)는 하나 혹은 그 이상의 프로세서들 혹은 다른 프로세싱 디바이스들을 포함할 수 있으며, 상기 클라이언트 디바이스(300)의 전반적인 동작을 제어하기 위해 상기 메모리(360)에 저장되어 있는 상기 OS 프로그램(361)을 실행할 수 있다. 일 예로, 상기 프로세서(340)는 공지의 원칙들에 따라 상기 통신 유닛(310), 상기 RX 프로세싱 회로(325) 및 상기 TX 프로세싱 회로(315)에 의한 순방향 채널 신호들의 수신 및 역방향 채널 신호들의 송신을 제어할 수 있다. 일부 실시예들에서, 상기 프로세서(340)는 적어도 하나의 마이크로 프로세서 혹은 마이크로 제어기를 포함한다.
상기 프로세서(340)는 상기 메모리(360)에 내재되어 있는 다른 프로세스들 및 프로그램들을 실행할 수 있다. 상기 프로세서(340)는 데이터를 실행중인 프로세스에 의해 요구될 경우 상기 메모리(360) 내로 혹은 상기 메모리(360)로부터 이동시킬 수 있다. 일부 실시예들에서, 상기 프로세서(340)는 상기 OS 프로그램(361)을 기반으로 혹은 외부 디바이스들 혹은 운영자로부터 수신되는 신호들에 응답하여 상기 어플리케이션들(362)을 실행하도록 구성된다. 또한, 상기 프로세서(340)는 상기 I/O 인터페이스(345)에 연결되고, 상기 I/O 인터페이스(345)는 상기 클라이언트 디바이스(400)에게 랩탑 컴퓨터들 및 핸드헬드(handheld) 컴퓨터들과 같은 다른 디바이스들에 대한 연결 능력을 제공한다. 상기 I/O 인터페이스(345)는 이런 악세사리들과 상기 프로세서(340)간의 통신 경로이다.
또한, 상기 프로세서(340)는 상기 입력 장치(350) 및 상기 디스플레이 유닛(355)에 연결된다. 상기 클라이언트 디바이스(300)의 운영자는 상기 입력 장치(350)를 사용하여 상기 클라이언트 디바이스(300)에 데이터를 입력할 수 있다. 일 예로, 상기 입력 장치(350)는 터치스크린, 버튼, 및/혹은 키패드가 될 수 있다. 상기 디스플레이(355)는 웹 사이트(web site)들에서와 같은 텍스트 및/혹은 적어도 제한된 그래픽들을 렌더링(rendering)할 수 있는 액정 크리스탈 디스플레이 혹은 다른 디스플레이가 될 수 있다.
상기 메모리(360)는 상기 프로세서(340)에 연결된다. 상기 메모리(360)의 일부는 랜덤 억세스 메모리(random access memory: RAM)를 포함할 수 있으며, 상기 메모리(360)의 나머지는 부분은 플래시 메모리 혹은 다른 리드 온니 메모리(read-only memory: ROM)를 포함할 수 있다.
하기에서 보다 구체적으로 설명되는 바와 같이, 상기 클라이언트 디바이스(300)는 360도 이미지를 렌더링하기 위해 다수의 이미지들을 수신할 수 있다.
도 2 및 도 3이 컴퓨팅 시스템에 포함되어 있는 디바이스들의 예제들을 설명하고 있을 지라도, 다양한 변경들이 도 2 및 도 3에 대해서 이루어질 수 있다. 일 예로, 도 2 및 도 3에서의 다양한 컴포넌트들은 조합되거나, 추가적으로 서브 분할 되거나, 혹은 생략될 수 있으며, 다른 컴포넌트들이 특별한 필요들에 따라서 추가될 수 있다. 또한, 특별한 예로서, 상기 프로세서(340)는 하나 혹은 그 이상의 중앙 프로세싱 유닛(central processing unit: CPU)들 및 하나 혹은 그 이상의 그래픽 프로세싱 유닛(graphics processing unit: GPU)들과 같은 다수의 프로세서들로 분할될 수 있다. 또한, 도 3에서는 상기 클라이언트 디바이스(300)가 이동 전화기 혹은 스마트 폰과 같이 구성되어 있다고 할지라도, 클라이언트 디바이스들은 다른 타입들의 이동 혹은 고정 디바이스들로서 동작하도록 구성될 수 있다. 또한, 컴퓨팅 및 통신 네트워크들과 마찬가지로, 클라이언트 디바이스들 및 서버들은 다양한 구성들이 가능할 수 있으며, 도 2 및 도 3은 임의의 특정 클라이언트 디바이스 혹은 서버로 본 개시를 제한하지 않는다.
도 4는 카메라(105)와 같은 이미지 캡쳐 디바이스로부터 수신되는 이미지들(402)을 스티치하는 방법(400)을 도시하고 있다. 상기 방법(400)은 서버(104) 혹은 상기 클라이언트 디바이스들(106-114) 중 어느 하나에서 수행될 수 있다. 이미지들(402)은 좌측 이미지(402a) 및 우측 이미지(402b)인 2개의 이미지들을 포함할 수 있다.
도 4에 도시되어 있는 바와 같이, 라이트 폴-오프(light fall-off) 보상(404)이 상기 이미지들(402)에 적용된다. 카메라(105) 상의 렌즈들로 입력되는 빛은 상기 센터로부터 멀리 이동하는 강도의 손실을 겪게 된다. 상기 이미지를 적합하게 렌더링하기 위해, 상기 라이트 폴-오프는 보상되어야만 한다. 하지만, 상기 카메라의 렌즈들을 캘리브레이팅할(calibrating) 때, 수천 개의 샘플들이 상기 라이트 폴-오프를 보상하기 위해 기록될 필요가 있다. 본 개시의 일 실시 예에서, 다항 방정식 (선(502)에 의해 표현되는)이 도 5A에 도시되어 있는 바와 같이 상기 수천 개의 빛 샘플들(504)에 대해 추정된다. 상기 다항 방정식은 메타데이터로서 상기 카메라(105)로부터 렌더링 디바이스(즉, 서버(104) 혹은 클라이언트 디바이스들(106-114))로 송신된다. 상기 렌더링 디바이스는 상기 다항 방정식의 역을 사용하여 상기 라이트 폴-오프를 보상한다. 상기 다항 방정식을 사용함으로써, 상기 렌더링 디바이스로 송신되는 데이터의 양이 상당히 감소되고 따라서 상기 이미지들을 렌더링하는데 필요로 되는 시간 및 프로세싱 전력을 감소시키게 된다. 일 실시 예에서, 상기 라이트 폴 오프 곡선의 다항 방정식은
Figure 112019018471173-pct00001
로 나타내질 수 있으며, 여기서
Figure 112019018471173-pct00002
는 상기 이미지의 중심으로부터의 반경이다.
일 실시 예에서, 상기 라이트 폴 오프 곡선(또한 렌즈 쉐이딩(lens shading) 곡선이라고도 칭해지는)에 상응하는 메타데이터는 일 예로, 다른 컬러 컴포넌트들에 대한 다른 라이트 폴-오프 곡선들의 송신을 고려하는 표 1에 나타낸 바와 같은 신택스(syntax) 및 의미(semantics)를 포함할 수 있다.
신택스 unsigned int(16) num_polynomial_coefficeients_lsc;
for(j=0; j< num_polynomial_coefficients_lsc; j++) {
unsigned int(32) polynomial_coefficient_K_lsc_R;
unsigned int(32) polynomial_coefficient_K_lsc_G;
unsigned int(32) polynomial_coefficient_K_lsc_B;
}
의미 num_polynomial_coefficeients_lsc 는 상기 렌즈 쉐이딩 곡선의 다항식 근사값의 차수가 될 것이다.polynomial_coefficient_K_lsc_R 는 16.16 고정 포인트 포맷에서 빨강 색 컴포넌트에 대한 렌즈 쉐이딩 곡선의 다항식 근사값의 계수들이 될 것이다.
polynomial_coefficient_K_lsc_G 는 16.16 고정 포인트 포맷에서 초록색 컴포넌트에 대한 렌즈 쉐이딩 곡선의 다항식 근사값의 계수들이 될 것이다.
polynomial_coefficient_K_lsc_B 는 16.16 고정 포인트 포맷에서 파랑색 컴포넌트에 대한 렌즈 쉐이딩 곡선의 다항식 근사값의 계수들이 될 것이다.
상기 라이트 폴-오프를 보상한 후, 동작 406에서 상기 이미지들(402)을 언래핑하는 동작이 수행된다. 언래핑은 기하학적 왜곡 이미지가 다른 기하학적 배열 하의 이미지로 변환되는 프로세스이다. 상기 변환은 도 5B에 도시되어 있는 바와 같은 3개의 메인 단계들로 구성된다. 첫 번째로, 상기 좌측 이미지(402a) 및 우측 이미지(402b)의 좌표들은 2-D 극 좌표 시스템(2-D polar coordinate system)으로부터 3-D 구형 도메인(3-D spherical domain)으로 변환된다. 일 예로, 상기 2-D 이미지에 포함되어 있는 포인트 P의 좌표는 극 좌표 시스템의 그 피치(pitch) 및 롤(roll) zp 및 xp 에 의해 3-D 포인트로 변환된다. 두 번째로, 상기 3-D 구형 도메인에서, 상기 등거리의 (equi-distant) ρ 및 θ가 포인트 P에 대해 도출된다. 마지막으로, 상기 3-D 구형 도메인에서 상기 포인트 P의 좌표는 수학식 1 및 수학식 2를 사용하여 프로젝트된 2-D 구형 플레인(projected 2-D spherical plane)으로 변환된다:
- 수학식 1 -
xprj = ρ * cos(θ)
- 수학식 2 -
yprj = ρ * sin(θ)
상기 좌측 이미지(402a) 및 우측 이미지(402b)가 언래핑된 후, 적응적 조정 동작(408)이 수행된다. 상기 적응적 조정 동작은 상기 언래핑된 이미지들을 조정하는 2-단계 조정 방법을 포함한다. 첫 번째 단계는 미세-스케일 구조들(일 예로, 체커보드(checkerboard)들)을 사용하여 애파인(affine) 행렬을 도출함으로써 기계적 불량 조정을 보상하는 것을 포함한다. 상기 언래핑된 이미지들 중 하나는 상기 도출된 애파인 행렬을 사용하여 언래핑되는 다른 이미지로 래핑된다. 두 번째 단계에서, 보다 미세한 조정이 상기 첫 번째 조정의 상단에서 수행된다. 상기 두 번째 단계에서 수행되는 조정은 상기 이미지들에 포함되어 있는 물체 및/혹은 장면을 기반으로 한다.
상기 첫 번째 단계를 수행하기 위해서, 상기 렌더링 디바이스는 상기 카메라(105)로부터 상기 애파인 행렬을 포함하는 메타데이터를 수신한다. 상기 애파인 행렬은 수학식 3에 정의되어 있는 바와 같이 포인트 A(x2, y2)를 포인트 B(x1, y1)로 변환한다:
- 수학식 3 -
Figure 112019018471173-pct00003
상기 두 번째 단계에서, 상기 오버랩되는 영역들에서 불연속성을 최소화하는 것 대신에, 상기 오버랩되는 영역들에서 유사성이 최대화된다. 상기 두 번째 단계는 노말라이즈드 상호 상관(normalized cross-correlation) 동작인 상기 오버랩되는 영역들에 포함되어 있는 물체들에 대한 고속 템플레이트 정합(fast template matching)을 포함한다. 상기 오버랩되는 영역들에서는 어느 정도의 노출 차이들이 존재하기 때문에, 상기 템플레이트 및 정합될 기준 이미지들이 노말라이즈되어야만 한다. 고속 노말라이즈드 상호-상관 알고리즘은 수학식 4에 나타낸 바와 같이 정의된다.
- 수학식 4 -
Figure 112019018471173-pct00004
여기서,
Figure 112019018471173-pct00005
는 상기 노말라이즈드 상호-상관이며,
Figure 112019018471173-pct00006
는 상기 기준 이미지이며,
Figure 112019018471173-pct00007
는 상기 템플레이트 이미지의 평균(mean)이며,
Figure 112019018471173-pct00008
는 상기 템플레이트 하의 영역에서의
Figure 112019018471173-pct00009
의 평균이다.
상기 두 번째 단계에서, 정합될 템플레이트 윈도우(template window) 및 기준(520)은 도 5C에 도시되어 있는 바와 같이 상기 언래핑된 좌측 이미지(402a) 및 우측 이미지(402b)에서 명시된다. 상기 템플레이트 윈도우 및 기준을 명시한 후, 템플레이트 정합이 수학식 4의 노말라이즈드 상호-상관을 사용하여 수행된다. 상기 템플레이트 정합은 그 최대 값이 최적 정합이 발생되는 변위(displacement)를 나타내는 상관 행렬을 리턴한다. 이런 정합 변위는 상기 템플레이트(즉, 직사각 윈도우)가 상기 기준을 정합하기 위해 얼마나 많이 이동해야만 하는지를 나타낸다. 상기 변위는 상기 템플레이트에 대한 새로운 위치를 계산하기 위해 사용된다. 상기 원래의 템플레이트 위치 및 새로운 템플레이트 위치를 기반으로, 상기 원래의 템플레이트 및 새로운 템플레이트의 꼭지점들로부터 4개의 정합 페어(pair)들이 형성된다. 애파인 행렬은 8개의 정합 페어들(각 오버랩되는 영역에서 4개의 정합 페어들)로부터 추정된다. 8개의 페어들이 존재하기 때문에, 상기 애파인 추정은 실시간으로 수행되고, 따라서 장면들에 대해 적응적이다. 상기 이미지들 중 하나는 그리고 나서 상기 새로운 애파인 행렬을 사용하여 래핑된다.
동작 410에서, 상기 좌측 이미지(402a) 및 우측 이미지(402b)는 함께 블렌딩된다. 사이즈 r x n의 오버랩되는 영역에 포함되어 있는 행 r 및 열 c 에서의 상기 블렌딩된 픽셀 b(r, c)는 다음과 같은 수학식 5를 사용하여 연산된다:
- 수학식 5 -
b( r,c ) = alpha1 * leftImage ( r,c ) + alpha2 * rightImage ( r,c )
여기서, leftImage(r,c)rightImage ( r,c ) 는 각각 상기 좌측 이미지(402a) 및 우측 이미지(402b)로부터 취해지는 위치 ( r,c ) 에서의 픽셀들이다. 일 실시 예에서, 우측 오버랩 영역의 경우에서 alpha1 = c/ n이고, n 는 상기 블렌딩 영역의 폭이다. 상기 좌측 오버랩 영역을 블랜딩하는 경우에서, alpha1 = (n-c+1)/n이다. 다른 실시 예에서, 상기 우측 오버랩 영역을 블랜딩하는 경우에서, alpha2 = (n-c+1)/ n이다. 상기 좌측 오버랩 영역을 블랜딩하는 경우에서, alpha2 = c/n이다.
상기 좌측 이미지(402a) 및 우측 이미지(402b)가 블렌딩된 후, 상기 360 도 이미지 (412)가 렌더링된다.
도 6A 및 6B는 본 개시에 따른 예제 시스템들 (600, 620)을 도시하고 있다. 도 6A에 도시되어 있는 바와 같이, 시스템(600)은 도 1의 카메라(105)를 나타낼 수 있는 카메라(602)를 포함하며, 이미지들(608)을 서버(604)로 송신한다. 서버(604)는 도 1의 서버(104)를 나타낼 수 있다. 서버(604)는 상기 카메라(602)로부터 수신되는 메타데이터를 기반으로 상기 이미지들(608)을 프로세싱하여 360도 이미지 (610)를 렌더링한다. 상기 메타데이터는 상기 라이트 폴-오프를 나타내는 다항 방정식 및 상기 카메라(602)의 렌즈들에서의 불량 조정을 나타내는 애파인 행렬을 포함할 수 있다. 상기 360도 이미지 (610)를 렌더링한 후, 상기 서버(604)는 상기 360도 이미지 (610)를 상기 클라이언트 디바이스(606)로 송신한다.
도 6B에 도시되어 있는 바와 같은, 다른 실시 예에서, 상기 시스템(620)은 상기 이미지들(628) 및 상기 상응하는 메타데이터를 서버(624)로 송신하는 카메라(622)를 포함한다. 상기 서버(624)는 그리고 나서 이미지들(628) 및 상기 메타데이터를 상기 클라이언트 디바이스(626)로 송신한다. 상기 클라이언트 디바이스(626)는 그리고 나서 상기 이미지를 렌더링하여 360도 이미지(630)를 생성한다. 상기 이미지들(628) 및 메타데이터를 상기 클라이언트 디바이스(626)로 송신한 후, 상기 다수 번의 재샘플링(resampling)들을 감소시킴으로써 상기 엔드-대-엔드 지연(end-to-end delay)은 감소되고, 비디오 품질은 향상된다.
도 7은 본 개시에 따른 이미지들을 스티치하는 방법(700)의 플로우차트를 도시하고 있다. 상기 방법(700)은 서버(200) 혹은 클라이언트 디바이스(300)에서 수행될 수 있다. 설명의 편의를 위해, 상기 방법(700)은 상기 클라이언트 디바이스(300)를 참조하여 설명될 것이다.
방법(700)에서, 상기 통신 유닛(310)은 동작 702에서 카메라로부터 적어도 2개의 이미지들인 좌측 이미지 및 우측 이미지와, 메타데이터를 수신한다. 동작 704에서, 상기 프로세서(340)는 상기 메타데이터를 기반으로 상기 이미지들을 변환하여 상기 라이트-폴-오프를 보상한다. 일부 실시 예들에서, 상기 메타 데이터는 상기 라이트 폴-오프를 나타내는 다항 방정식을 포함할 수 있다. 다른 실시 예들에서, 상기 메타 데이터는 클라이언트 디바이스(300)의 메모리(360)에 저장되어 있는 다항 방정식을 나타내는 고유 식별자를 송신할 수 있다. 상기 고유 식별자는 프로세서(340)에 의해 메모리(360)로부터의 상기 다항 방정식을 획득하기 위해 사용될 것이다.
동작 706에서, 상기 변환된 이미지들은 프로세서(340)에 의해 언래핑된다. 상기에서 설명한 바와 같이, 상기 이미지들을 언래핑하는 것은 2-D 극 좌표 시스템으로부터의 상기 좌측 이미지 및 우측 이미지의 좌표들을 3-D 구형 도메인으로 변환하는 것을 포함한다. 상기 3-D 구형 도메인에서, 상기 등거리 ρ 및 θ가 도출된다. 최종적으로, 상기 3-D 구형 도메인에서의 포인트 P의 좌표는 프로젝트된 2-D 구형 플레인으로 변환된다.
동작 708에서, 상기 언래핑된 좌측 및 우측 이미지들이 변환되어 상기 카메라의 렌즈들에서의 기계적 불량 조정을 정정한다. 상기 이미지들을 변환하기 위해서, 상기 프로세서(340)는 애파인 행렬을 상기 좌측 및 우측 이미지들에 적용한다. 일부 실시 예들에서, 상기 애파인 행렬은 상기 카메라로부터의 메타데이터에 포함되어 있다. 다른 실시 예들에서, 상기 메타 데이터는 클라이언트 디바이스(300)의 메모리(360)에 저장되어 있는 애파인 행렬에 상응하는 상기 카메라에 대한 고유 식별자를 포함할 수 있다.
상기 이미지들을 변환하여 기계적 불량 조정을 정정한 후, 상기 언래핑된 이미지들은 동작 710에서 상기 이미지들에 포함되어 있는 물체 혹은 장면을 기반으로 변환된다. 동작 710에서, 상기 프로세서(340)는 상기 언래핑된 좌측 및 우측 이미지들의 좌측 및 우측 경계들에서의 최적 정합을 검출한다. 그리고 나서 상기 프로세서(340)는 해당하는 정합 포인트들의 여덟 개(8)의 페어들을 생성하고 애파인 변환 행렬에 대해 해를 구한다. 그리고 나서 상기 좌측 및 우측 이미지들이 상기 애파인 변환 행렬을 사용하여 래핑된다.
동작 712에서, 상기 좌측 및 우측 이미지들은 함께 블렌딩되어 360도 이미지를 생성한다. 특히, 상기 프로세서(340)는 상기 좌측 이미지에서의 오버랩되는 영역에 포함되어 있는 픽셀을 상기 우측 이미지에서의 오버랩되는 영역에 포함되어 있는 상응하는 픽셀과 블렌딩한다. 상기 프로세스는 상기 오버랩되는 영역에서 각 픽셀에 대해 반복된다.
상기에서 설명된 바와 같은 실시 예들에서, 상기 스티칭은 상기 이미지들에 포함되어 있는 물체 혹은 장면을 기반으로 수행된다. 다른 실시 예들에서, 상기 스티칭 아티팩트(artifact)들은 사람이 상기 스티칭 경계에 존재할 때 가장 분명할 수 있다. 사람이 상기 경계에 존재할 때, 피부 톤 검출은 상기 스티칭 경계를 적응적으로 변경하기 위해 사용될 수 있다. 다른 실시 예들에서, 상기 라이트 폴-오프 보상은 컬러 아티팩트들을 초래할 수 있다. 상기 컬러 아티팩트들을 방지하기 위해서, 상기 프로세서(340)는 일 예로 상기 컬러가 상기 경계 주변에서 연속적이 되도록 하늘과 같은 인접 영역에서의 경계에서 상기 라이트 폴-오프 보상 곡선을 수정함으로써, 영역 기반 로컬 라이트 폴-오프 보상을 수행할 수 있다. 다른 실시 예들에서, 상기 기하학적 조정은 상기 오버랩되는 영역으로부터의 스테레오(stereo)를 사용함으로써 개선될 수 있다. 상기 프로세서(340)는 상기 2개의 렌즈들간에서 오버랩되는 영역들로부터 차이를 계산하고 깊이 정보를 계산한다. 상기 깊이 파라미터들은 기하학적 조정을 위해 사용하는 파라미터들을 결정하는데 사용된다.
본 출원에서 설명되는 어떤 것이라도 특정 엘리먼트, 단계, 혹은 기능이 청구 범위에 포함되어야만 하는 필수 엘리먼트라는 것을 암시하는 것으로 읽혀져서는 안될 것이다. 특허 대상의 범위는 청구항들에 의해서만 정의된다. 또한, 청구항들 중 어느 하나라도 정확한 단어 "~ 하기 위한 수단(means for)" 뒤에 분사가 오는 경우가 아닐 경우에는 35 U.S.C. § 112(f)를 적용하는 것이 의도되지 않는다. 청구항 내에서 한정 없이 "메카니즘", "모듈", "디바이스", "유닛", "컴포넌트", "엘리먼트", "멤버", "장치", "머신", "시스템", "프로세서", 혹은 "제어기"를 포함하는 다른 용어를 사용하는 것은 출원인들에 의해 관련 기술 분야의 당업자들에게 공지된 구조들을 참조하여 이해되며, 35 U.S.C. § 112(f)를 적용하는 의도를 가지지는 않는다.
본 개시가 예제 실시 예들을 참조하여 설명되었다고 할지라도, 다양한 변경들 및 수정들이 해당 기술 분야의 당업자에 의해 혹은 해당 기술 분야의 당업자에게 제안될 수 있다. 본 개시는 첨부되는 청구항들의 범위 내에 존재하는 변경들 및 수정들을 포함할 것이다.

Claims (15)

  1. 삼백 육십(360) 도 이미지를 렌더링(rendering)하기 위한 전자 디바이스로서,
    서버로부터 제1 이미지, 제2 이미지 및 메타데이터(metadata)를 수신하도록 구성되는 통신 유닛; 및
    라이트 폴-오프(light fall-off)를 보상하기 위해, 라이트 폴-오프 곡선을 나타내는 다항식에 기초하여 상기 제1 이미지 및 제2 이미지를 변환하고;
    상기 변환된 제1 이미지 및 상기 변환된 제2 이미지를 언래핑(unwarping)하고;
    상기 언래핑된 제1 이미지 및 상기 언래핑된 제2 이미지를 정렬(align)하고;
    상기 정렬된 언래핑된 제1 이미지 및 상기 정렬된 언래핑된 제2 이미지를 블렌딩(blending)함으로써,
    상기 360도 이미지를 렌더링하도록 구성되는 프로세서를 포함하고,
    상기 메타데이터는, 상기 다항식의 차수를 나타내는 정보, 빨강색 컴포넌트에 대한 상기 다항식의 계수들을 나타내는 정보, 초록색 컴포넌트에 대한 상기 다항식의 계수들을 나타내는 정보, 및 파랑색 컴포넌트에 대한 상기 다항식의 계수들을 나타내는 정보를 포함하는,
    전자 디바이스.
  2. 제1항에 있어서,
    상기 통신 유닛은 상기 렌더링된 360도 이미지를 사용자 단말기(user equipment: UE)에게 송신하도록 더 구성되는,
    전자 디바이스.
  3. 제1항에 있어서,
    라이트 폴-오프(light fall-off)를 보상하기 위해, 상기 제1 이미지 및 제2 이미지를 변환하는 것은 상기 메타데이터에 포함된 다항 방정식에 기초하는,
    전자 디바이스.
  4. 제1항에 있어서,
    상기 언래핑된 제1 이미지 및 상기 언래핑된 제2 이미지를 정렬하는 것은:
    카메라의 기계적 오정렬(misalignment)을 보상하기 위해 상기 언래핑된 제1 이미지 및 상기 제2 이미지를 보상된 제1 이미지 및 보상된 제2 이미지로 변환하고; 그리고
    상기 언래핑된 제1 이미지 및 상기 언래핑된 제2 이미지 내의 오브젝트 또는 장면 중 적어도 하나에 기초하여 상기 보상된 제1 이미지 및 상기 보상된 제2 이미지를 변환하는 것을 포함하는,
    전자 디바이스.
  5. 제4항에 있어서,
    상기 카메라의 기계적 오정렬을 보상하기 위해 상기 언래핑된 제1 이미지 및 상기 언래핑된 제2 이미지를 변환하는 것은 상기 메타데이터에 포함된 애파인(affine) 행렬에 기초하는,
    전자 디바이스.
  6. 제4항에 있어서,
    상기 언래핑된 제1 이미지 및 상기 언래핑된 제2 이미지 내의 오브젝트 또는 장면 중 적어도 하나에 기초하여 상기 보상된 제1 이미지 및 상기 보상된 제2 이미지를 변환하는 것은:
    상기 언래핑된 제1 이미지 및 상기 언래핑된 제2 이미지간에 공유되는 적어도 하나의 경계에서 정합되는 제1 템플레이트(template) 및 기준을 결정하고;
    상관 행렬로 리턴(return)하기 위해 상기 제1 템플레이트를 정합하고;
    상기 제1 템플레이트와 상기 기준간의 변위를 결정하고;
    상기 변위에 기초하여 제2 템플레이트를 결정하고;
    상기 제1 템플레이트 및 상기 제2 템플레이트에 기초하여 애파인 행렬을 결정하고; 그리고
    상기 애파인 행렬에 기초하여 상기 보상된 제1 이미지 및 상기 보상된 제2 이미지 중 하나를 래핑하는(warping) 것을 포함하는,
    전자 디바이스.
  7. 제6항에 있어서,
    상기 템플레이트를 정합하는 것은 노말라이즈드 상호 상관(normalized cross-correlation)에 기초하는,
    전자 디바이스.
  8. 제6항에 있어서,
    상기 애파인 행렬은 상기 제1 템플레이트 및 상기 제2 템플레이트 내의 복수의 꼭짓점들에 기초하여 결정되는,
    전자 디바이스.
  9. 전자 디바이스에 의해 삼백 육십(360) 도 이미지를 렌더링(rendering)하기 위한 방법으로서,
    서버로부터 제1 이미지, 제2 이미지 및 메타데이터(metadata)를 수신하는 단계;
    라이트 폴-오프(light fall-off)를 보상하기 위해, 라이트 폴-오프 곡선을 나타내는 다항식에 기초하여, 상기 제1 이미지 및 제2 이미지를 변환하는 단계;
    상기 변환된 제1 이미지 및 상기 변환된 제2 이미지를 언래핑하는(unwarping) 단계;
    상기 언래핑된 제1 이미지 및 상기 언래핑된 제2 이미지를 정렬(align)하는 단계; 및
    상기 정렬된 언래핑된 제1 이미지 및 상기 정렬된 언래핑된 제2 이미지를 블렌딩하는(blending) 단계를 포함하고,
    상기 메타데이터는, 상기 다항식의 차수를 나타내는 정보, 빨강색 컴포넌트에 대한 상기 다항식의 계수들을 나타내는 정보, 초록색 컴포넌트에 대한 상기 다항식의 계수들을 나타내는 정보, 및 파랑색 컴포넌트에 대한 상기 다항식의 계수들을 나타내는 정보를 포함하는,
    방법.
  10. 제 9항에 있어서,
    상기 렌더링된 360 도 이미지를 사용자 단말기(user equipment: UE)에게 송신하는 단계를 더 포함하는,
    방법.
  11. 제9항에 있어서,
    라이트 폴-오프를 보상하기 위해 상기 제1 이미지 및 제2 이미지를 변환하는 단계는 상기 메타데이터에 포함된 다항 방정식에 기초하는,
    방법.
  12. 제9항에 있어서,
    상기 언래핑된 제1 이미지 및 제2 이미지를 정렬하는 단계는:
    카메라의 기계적 오정렬(misalignment)을 보상하기 위해 상기 언래핑된 제1 이미지 및 상기 언래핑된 제2 이미지를 보상된 제1 이미지 및 보상된 제2 이미지로 변환하는 단계; 및
    상기 언래핑된 제1 이미지 및 상기 언래핑된 제2 이미지에 포함된 오브젝트 또는 장면 중 적어도 하나에 기초하여 상기 보상된 제1 이미지 및 상기 보상된 제2 이미지를 변환하는 단계를 포함하는,
    방법.
  13. 제12항에 있어서,
    상기 카메라의 기계적 오정렬을 보상하기 위해 상기 언래핑된 제1 이미지 및 상기 언래핑된 제2 이미지를 변환하는 단계는 상기 메타데이터에 포함된 애파인(affine) 행렬에 기초하는,
    방법.
  14. 제12항에 있어서,
    상기 언래핑된 제1 이미지 및 상기 언래핑된 제2 이미지에 포함된 오브젝트 또는 장면 중 적어도 하나에 기초하여 상기 보상된 제1 이미지 및 상기 보상된 제2 이미지를 변환하는 단계는:
    상기 언래핑된 제1 이미지 및 상기 언래핑된 제2 이미지간에 공유되는 적어도 하나의 경계에서 정합되는 제1 템플레이트(template) 및 기준을 결정하는 단계;
    상관 행렬을 리턴(return)하기 위해 상기 제1 템플레이트를 정합하는 단계;
    상기 제1 템플레이트 및 상기 기준간의 변위를 결정하는 단계;
    상기 변위에 기초하여 제2 템플레이트를 결정하는 단계;
    상기 제1 템플레이트 및 상기 제2 템플레이트에 기초하여 애파인 행렬을 결정하는 단계; 및
    상기 애파인 행렬에 기초하여 상기 보상된 제1 이미지 및 상기 보상된 제2 이미지 중 적어도 하나를 래핑하는(warping) 단계를 포함하는,
    방법.
  15. 제14항에 있어서,
    상기 템플레이트를 정합하는 단계는 노말라이즈드 상호 상관(normalized cross-correlation)에 기초하며,
    상기 애파인 행렬은 상기 제1 템플레이트 및 상기 제2 템플레이트에 포함된 복수의 꼭지점들에 기초하여 결정되는,
    방법.
KR1020197005187A 2016-09-08 2017-09-07 삼백 육십도 비디오 스티칭 KR102351019B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201662384981P 2016-09-08 2016-09-08
US62/384,981 2016-09-08
US201662411806P 2016-10-24 2016-10-24
US62/411,806 2016-10-24
US15/585,042 2017-05-02
US15/585,042 US10085006B2 (en) 2016-09-08 2017-05-02 Three hundred sixty degree video stitching
PCT/KR2017/009826 WO2018048221A1 (en) 2016-09-08 2017-09-07 Three hundred sixty degree video stitching

Publications (2)

Publication Number Publication Date
KR20190040970A KR20190040970A (ko) 2019-04-19
KR102351019B1 true KR102351019B1 (ko) 2022-01-14

Family

ID=61281523

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197005187A KR102351019B1 (ko) 2016-09-08 2017-09-07 삼백 육십도 비디오 스티칭

Country Status (5)

Country Link
US (1) US10085006B2 (ko)
EP (1) EP3497668B1 (ko)
KR (1) KR102351019B1 (ko)
CN (1) CN109478318B (ko)
WO (1) WO2018048221A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11025845B2 (en) * 2016-10-12 2021-06-01 Samsung Electronics Co., Ltd. Method, apparatus, and recording medium for processing image
KR20180051288A (ko) * 2016-11-08 2018-05-16 삼성전자주식회사 디스플레이 장치 및 그 제어 방법
CN112369017A (zh) * 2018-07-11 2021-02-12 诺基亚技术有限公司 用于利用基于网络的媒体处理的虚拟现实内容拼接控制的方法和装置
US11798126B2 (en) 2018-07-30 2023-10-24 Hewlett-Packard Development Company, L.P. Neural network identification of objects in 360-degree images
US20210158493A1 (en) * 2019-11-21 2021-05-27 GM Global Technology Operations LLC Generation of composite images using intermediate image surfaces
US20210378520A1 (en) * 2020-05-29 2021-12-09 Nec Laboratories America, Inc. Free flow fever screening
US11849100B2 (en) * 2021-05-31 2023-12-19 Canon Kabushiki Kaisha Information processing apparatus, control method, and non-transitory computer readable medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014137815A (ja) * 2013-01-16 2014-07-28 Honda Research Institute Europe Gmbh 歪みのあるカメラ画像を補正するシステム及び方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3974964B2 (ja) * 1996-11-08 2007-09-12 オリンパス株式会社 画像処理装置
US7298392B2 (en) 2003-06-26 2007-11-20 Microsoft Corp. Omni-directional camera design for video conferencing
US7400782B2 (en) * 2002-08-28 2008-07-15 Arcsoft, Inc. Image warping correction in forming 360 degree panoramic images
EP1774796B1 (en) * 2004-07-08 2015-09-02 Imax Corporation Equipment and methods for the display of high resolution images using multiple projection displays
US20100045773A1 (en) 2007-11-06 2010-02-25 Ritchey Kurtis J Panoramic adapter system and method with spherical field-of-view coverage
US8842190B2 (en) * 2008-08-29 2014-09-23 Adobe Systems Incorporated Method and apparatus for determining sensor format factors from image metadata
US8340453B1 (en) 2008-08-29 2012-12-25 Adobe Systems Incorporated Metadata-driven method and apparatus for constraining solution space in image processing techniques
US8368773B1 (en) * 2008-08-29 2013-02-05 Adobe Systems Incorporated Metadata-driven method and apparatus for automatically aligning distorted images
US20100073499A1 (en) * 2008-09-25 2010-03-25 Apple Inc. Image capture using separate luminance and chrominance sensors
US8400468B2 (en) * 2009-08-27 2013-03-19 Seiko Epson Corporation Projector masks for calibrating projector-based display systems
US9470392B2 (en) * 2010-10-01 2016-10-18 Robert L. Santiago Ornament with backlit film image
CN101984463A (zh) * 2010-11-02 2011-03-09 中兴通讯股份有限公司 全景图合成方法及装置
US9036001B2 (en) 2010-12-16 2015-05-19 Massachusetts Institute Of Technology Imaging system for immersive surveillance
WO2013113373A1 (en) * 2012-01-31 2013-08-08 Sony Ericsson Mobile Communications Ab Method and electronic device for creating a combined image
US9204041B1 (en) * 2012-07-03 2015-12-01 Gopro, Inc. Rolling shutter synchronization
US20140347709A1 (en) * 2013-05-21 2014-11-27 Stmicroelectronics, Inc. Method and apparatus for forming digital images
US20150138311A1 (en) * 2013-11-21 2015-05-21 Panavision International, L.P. 360-degree panoramic camera systems
US9661319B2 (en) * 2014-05-21 2017-05-23 GM Global Technology Operations LLC Method and apparatus for automatic calibration in surrounding view systems
US9900505B2 (en) 2014-07-23 2018-02-20 Disney Enterprises, Inc. Panoramic video from unstructured camera arrays with globally consistent parallax removal
US10257494B2 (en) 2014-09-22 2019-04-09 Samsung Electronics Co., Ltd. Reconstruction of three-dimensional video
CA2882784C (en) * 2014-11-05 2021-02-02 National Taiwan University Three-dimensional optical coherence tomography apparatus and its application
CN105608667A (zh) * 2014-11-20 2016-05-25 深圳英飞拓科技股份有限公司 一种全景拼接的方法及装置
CN105550995B (zh) * 2016-01-27 2019-01-11 武汉武大卓越科技有限责任公司 隧道影像拼接方法及系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014137815A (ja) * 2013-01-16 2014-07-28 Honda Research Institute Europe Gmbh 歪みのあるカメラ画像を補正するシステム及び方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
J.P. Lewis, "Fast Template Matching," Vision Interface 95, Canadian Image Processing and Pattern Recognition Society, Quebec City, Canada, pp. 120-123, May 1995(1995.05.31.) 1부.*

Also Published As

Publication number Publication date
CN109478318B (zh) 2022-05-24
EP3497668B1 (en) 2021-10-27
EP3497668A4 (en) 2019-06-19
KR20190040970A (ko) 2019-04-19
CN109478318A (zh) 2019-03-15
US10085006B2 (en) 2018-09-25
US20180070070A1 (en) 2018-03-08
EP3497668A1 (en) 2019-06-19
WO2018048221A1 (en) 2018-03-15

Similar Documents

Publication Publication Date Title
KR102351019B1 (ko) 삼백 육십도 비디오 스티칭
Perazzi et al. Panoramic video from unstructured camera arrays
US8345961B2 (en) Image stitching method and apparatus
CN111279673B (zh) 具有电子卷帘快门校正的图像拼接的系统和方法
CN107079100B (zh) 用于相机阵列的透镜移位校正的方法和系统
EP3067746B1 (en) Photographing method for dual-camera device and dual-camera device
CN106713755B (zh) 全景图像的处理方法及装置
US11570333B2 (en) Image pickup device and electronic system including the same
JP5757592B2 (ja) 超解像画像を生成する方法,装置,コンピュータプログラム製品
CN101577795A (zh) 一种实现全景图像的实时预览的方法和装置
WO2018045592A1 (zh) 拍摄图像方法、装置和终端
CN109785225B (zh) 一种用于图像矫正的方法和装置
Popovic et al. Image blending in a high frame rate FPGA-based multi-camera system
US11758101B2 (en) Restoration of the FOV of images for stereoscopic rendering
US20230247292A1 (en) Methods and apparatus for electronic image stabilization based on a lens polynomial
KR101788005B1 (ko) 복수의 모바일 단말들을 이용한 다시점 영상 생성 방법
US9609211B2 (en) Method of image conversion operation for panorama dynamic IP camera
JP2012173858A (ja) 全方位画像生成方法、画像生成装置およびプログラム
Jovanov et al. Multiview image sequence enhancement
CN115293971B (zh) 图像拼接方法及装置
WO2019082415A1 (ja) 画像処理装置、撮像装置、画像処理装置の制御方法、画像処理プログラムおよび記録媒体
Jovanov et al. Multiview video quality enhancement
KR101206298B1 (ko) 단일 카메라를 이용한 입체영상 제작 방법

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