KR102219966B1 - 증강 현실 방법 및 장치 - Google Patents

증강 현실 방법 및 장치 Download PDF

Info

Publication number
KR102219966B1
KR102219966B1 KR1020190080585A KR20190080585A KR102219966B1 KR 102219966 B1 KR102219966 B1 KR 102219966B1 KR 1020190080585 A KR1020190080585 A KR 1020190080585A KR 20190080585 A KR20190080585 A KR 20190080585A KR 102219966 B1 KR102219966 B1 KR 102219966B1
Authority
KR
South Korea
Prior art keywords
building block
closest
target
user
label information
Prior art date
Application number
KR1020190080585A
Other languages
English (en)
Other versions
KR20200006001A (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 KR20200006001A publication Critical patent/KR20200006001A/ko
Application granted granted Critical
Publication of KR102219966B1 publication Critical patent/KR102219966B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/004Annotating, labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/12Acquisition of 3D measurements of objects

Abstract

본 출원의 실시예는 증강 현실 방법 및 장치를 공개한다. 상기 증강 현실 방법의 일 구체적인 실시 형태는 기설정된 선택 조건을 만족하는 복수 개의 빌딩 블록의 아우트라인 데이터를 획득하는 단계 - 상기 아우트라인 데이터는 3차원 공간에서 빌딩 블록의 아우트라인을 설명하기 위한 것임 - ; 복수 개의 빌딩 블록 중 각 빌딩 블록의 투사 라인 세그먼트에 기반하여 참조 정보를 생성하는 단계; 참조 정보에 기반하여 사용자의 단말기에 의해 수집된 이미지에서 복수 개의 빌딩 블록 중의 타겟 빌딩 블록과 타겟 빌딩 블록의 라벨 정보의 중첩 영역을 결정하는 단계; 및 타겟 빌딩 블록의 라벨 정보를 중첩 영역에 중첩시켜 증강 현실 이미지를 획득하는 단계를 포함한다. 이로써 사용자 단말기의 카메라가 다양한 각도에서 빌딩 블록을 촬영하거나 빌딩 블록의 일부만 촬영한 경우, 증강 현실을 수행하도록 빌딩 블록의 라벨 정보를 촬영된 이미지에 표시할 수 있으며, 또한 복수 개의 빌딩 블록의 라벨 정보 사이에 중첩이 발생하지 않도록 확보하여 라벨 정보를 뚜렷하게 나타낼 수 있다.

Description

증강 현실 방법 및 장치{METHOD AND APPARATUS FOR AUGMENTING REALITY}
본 출원은 컴퓨터 분야에 관한 것으로서, 구체적으로 증강 현실 분야에 관한 것이며, 특히 증강 현실 방법 및 장치에 관한 것이다.
현재, 일부 네비게이션 타입 애플리케이션에서, 사용자에 의해 촬영된 일부 빌딩 블록에 라벨 정보가 나타나는 기능이 제공된다. 현재, 통상적인 프리젠테이션 방식은 수동 방식으로 빌딩 블록에서의 라벨 정보의 중첩 위치를 미리 설정하는데, 빌딩 블록에서의 라벨 정보의 중첩 위치가 사용자 단말기의 카메라 시각 범위 내에 있을 경우에만 라벨 정보가 나타날 수 있다. 사용자 위치에서 크기가 큰 빌딩 블록의 일부만 촬영할 수 있어서 기설정된 중첩 위치가 촬영 부분에 존재하지 않는 등 흔히 나타나는 경우, 사용자에게 라벨 정보를 보여줄 수 없으며, 또한 기설정된 복수 개의 빌딩 블록의 라벨 정보 사이에 중첩이 발생하는 경우도 나타날 수 있어 라벨 정보를 뚜렷하게 나타낼 수 없다.
본 출원의 실시예는 증강 현실 방법 및 장치를 제공한다.
제1 양태에 있어서, 본 출원의 실시예는 증강 현실 방법을 제공한다. 상기 방법은 기설정된 선택 조건을 만족하는 복수 개의 빌딩 블록의 아우트라인 데이터를 획득하는 단계 - 상기 아우트라인 데이터는 3차원 공간에서 빌딩 블록의 아우트라인을 설명하기 위한 것임 - ; 복수 개의 빌딩 블록 중 각 빌딩 블록의 투사 라인 세그먼트에 기반하여 참조 정보를 생성하는 단계 - 빌딩 블록의 투사 라인 세그먼트는 3차원 공간에서 빌딩 블록의 아우트라인을 사용자의 단말기의 스크린이 위치한 평면에 매핑한 것에 기반하여 획득되고, 참조 정보는 수평 방향에서 복수 개의 빌딩 블록 중 빌딩 블록 사이에 차단이 존재하는지 여부 및 차단이 존재하는 경우의 차단 상황을 설명하기 위한 것임 - ; 참조 정보에 기반하여, 사용자의 단말기에 의해 수집된 이미지에서 복수 개의 빌딩 블록 중의 타겟 빌딩 블록과 타겟 빌딩 블록의 라벨 정보의 중첩 영역을 결정하는 단계; 및 타겟 빌딩 블록의 라벨 정보를 결정된 중첩 영역에 중첩시켜 증강 현실 이미지를 획득하는 단계를 포함한다.
제2 양태에 있어서, 본 출원의 실시예는 증강 현실 장치를 제공한다. 상기 장치는 기설정된 선택 조건을 만족하는 복수 개의 빌딩 블록의 아우트라인 데이터를 획득하도록 구성된 획득 유닛, 여기서 상기 아우트라인 데이터는 3차원 공간에서 빌딩 블록의 아우트라인을 설명하기 위한 것임; 복수 개의 빌딩 블록 중 각 빌딩 블록의 투사 라인 세그먼트에 기반하여 참조 정보를 생성하도록 구성된 생성 유닛, 여기서 빌딩 블록의 투사 라인 세그먼트는 3차원 공간에서 빌딩 블록의 아우트라인을 사용자의 단말기의 스크린이 위치한 평면에 매핑한 것에 기반하여 획득되고, 참조 정보는 수평 방향에서 복수 개의 빌딩 블록 중 빌딩 블록 사이에 차단이 존재하는지 여부 및 차단이 존재하는 경우의 차단 상황을 설명하기 위한 것임; 참조 정보에 기반하여, 사용자의 단말기에 의해 수집된 이미지에서 복수 개의 빌딩 블록 중의 타겟 빌딩 블록과 타겟 빌딩 블록의 라벨 정보의 중첩 영역을 결정하도록 구성된 결정 유닛; 및 타겟 빌딩 블록의 라벨 정보를 결정된 중첩 영역에 중첩시켜 증강 현실 이미지를 획득하도록 구성된 프레젠테이션 유닛을 포함한다.
본 출원의 실시예에 의해 제공된 증강 현실 방법 및 장치는 기설정된 선택 조건을 만족하는 복수 개의 빌딩 블록의 아우트라인 데이터를 획득하는 단계 - 상기 아우트라인 데이터는 3차원 공간에서 빌딩 블록의 아우트라인을 설명하기 위한 것임 - ; 복수 개의 빌딩 블록 중 각 빌딩 블록의 투사 라인 세그먼트에 기반하여 참조 정보를 생성하는 단계 - 빌딩 블록의 투사 라인 세그먼트는 3차원 공간에서 빌딩 블록의 아우트라인을 사용자의 단말기의 스크린이 위치한 평면에 매핑한 것에 기반하여 획득되고, 참조 정보는 수평 방향에서 복수 개의 빌딩 블록 중 빌딩 블록 사이에 차단이 존재하는지 여부 및 차단이 존재하는 경우의 차단 상황을 설명하기 위한 것임 - ; 참조 정보에 기반하여, 사용자의 단말기에 의해 수집된 이미지에서 복수 개의 빌딩 블록 중의 타겟 빌딩 블록과 타겟 빌딩 블록의 라벨 정보의 중첩 영역을 결정하는 단계; 및 타겟 빌딩 블록의 라벨 정보를 중첩 영역에 중첩시켜 증강 현실 이미지를 획득하는 단계를 통하여, 사용자의 단말기의 카메라가 다양한 각도에서 빌딩 블록을 촬영하거나 빌딩 블록의 일부만 촬영한 경우, 증강 현실을 수행하도록 빌딩 블록의 라벨 정보를 촬영된 이미지에 표시할 수 있으며, 또한 복수 개의 빌딩 블록의 라벨 정보 사이에 중첩이 발생하지 않도록 확보하여 라벨 정보를 뚜렷하게 나타낼 수 있다.
이하 첨부된 도면을 참조하여 비제한적인 실시예에 대한 상세한 설명으로부터 본 출원의 다른 특징, 목적 및 이점은 더욱 명백해질 것이다.
도 1은 본 출원의 실시예를 구현하기에 적절한 예시적인 시스템 구조를 나타낸다.
도 2는 본 출원에 따른 증강 현실 방법의 일 실시예의 흐름도를 나타낸다.
도 3은 본 출원에 따른 증강 현실 장치의 일 실시예의 구조 모식도를 나타낸다.
도 4는 본 출원의 실시예의 단말기를 구현하기에 적절한 컴퓨터 시스템의 구조 모식도이다.
이하, 도면 및 실시예를 결부하여 본 출원을 보다 더 상세하게 설명한다. 여기서 설명된 구체적인 실시예는 단지 관련 발명을 해석하기 위한 것일 뿐 해당 발명에 대한 한정이 아님을 이해해야 한다. 이 밖에 더 설명해야 할 것은 설명의 편의를 위해 도면에서 관련 발명과 상관되는 부분만 도시한다.
설명해야 할 것은, 본 출원에 따른 실시예 및 실시예의 특징은 모순되지 않는 한 서로 조합될 수 있다. 이하 첨부된 도면을 참조하고 실시예를 결부하여 본 출원을 상세하게 설명하기로 한다.
도 1을 참조하면, 이는 본 출원의 실시예를 구현하기에 적절한 예시적인 시스템 구조를 나타낸다.
도 1에 도시된 바와 같이, 시스템 구조는 단말기(101), 네트워크(102), 서버(103)를 포함한다. 네트워크(102)는 유선 통신 네트워크 또는 무선 통신 네트워크일 수 있다.
서버(103)는 전자 지도 서비스를 제공하는 서버일 수 있으며, 서버(103)는 복수 개의 빌딩 블록의 아우트라인 데이터를 미리 대응되게 저장한다. 빌딩 블록의 아우트라인 데이터는 지평면에서의 빌딩 블록의 아우트라인 데이터일 수 있다. 단말기(101)는 서버(103)로부터 단말기(101)의 사용자 인근의 복수 개의 빌딩 블록의 아우트라인 데이터를 획득할 수 있다.
도 2를 참조하면, 이는 본 출원에 따른 증강 현실 방법의 일 실시예의 흐름을 나타낸다. 본 출원의 실시예에 의해 제공된 증강 현실 방법은 단말기(예를 들어, 도 1 중의 단말기(101))에 의해 수행될 수 있다. 상기 방법은 하기 단계를 포함한다.
단계201에서, 기설정된 선택 조건을 만족하는 복수 개의 빌딩 블록의 아우트라인 데이터를 획득한다.
본 실시예에서, 빌딩 블록은 오피스 빌딩, 쇼핑 센터, 주택 등일 수 있다. 사용자 단말기의 카메라가 켜지고 사용자가 사용자 단말기의 카메라에 의해 수집된 이미지 중 일부 빌딩 블록의 라벨 정보를 증강하여 나타내는 기능을 사용할 시, 우선 기설정된 선택 조건을 만족하는 복수 개의 빌딩 블록의 아우트라인 데이터를 획득할 수 있다. 기설정된 선택 조건은 적어도 일부가 사용자 단말기의 카메라 시각 범위 내에 위치하고 또한 사용자와의 거리가 근거리로부터 원거리로의 순서로 정렬된 후의 순서가 기설정된 순서보다 작은 대형 빌딩 블록을 포함할 수 있다. 다시 말해서, 적어도 일부가 사용자 단말기의 카메라 시각 범위 내에 위치하는, 거리가 사용자와 가장 가까운 복수 개의 대형 빌딩 블록의 아우트라인 데이터를 획득한다. 복수 개의 빌딩 블록 중 각각의 빌딩 블록은 모두 적어도 일부가 사용자 단말기의 카메라에 의해 수집된 이미지 내에 위치한다.
사용자 단말기는 전자지도 서비스를 제공하는 서버에 사용자의 위치 및 사용자의 단말기의 카메라의 촬영 각도를 송신할 수 있으며, 전자지도 서비스를 제공하는 서버는 대용량의 빌딩 블록의 아우트라인 데이터, 전자지도 중 대용량의 빌딩 블록의 아우트라인을 미리 저장한다. 전자지도 서비스를 제공하는 서버는 사용자의 위치 및 사용자 단말기의 카메라의 촬영 각도에 따라, 적어도 일부가 사용자 단말기의 카메라의 시각 범위 내에 위치하고 사용자와의 거리가 근거리로부터 원거리로의 순서로 정렬된 후 순서가 기설정된 순서보다 작은 대형 빌딩 블록을 검색하여, 검색된 대형 빌딩 블록의 아우트라인 데이터를 획득할 수 있다. 빌딩 블록의 아우트라인 데이터는 3차원 공간에서 지평면 상의 빌딩 블록의 아우트라인에 대하여 설명한다.
본 실시예에서, 빌딩 블록의 라벨 정보는 라벨 박스, 라벨 박스 내에 위치한 빌딩 블록의 명칭 및 빌딩 블록과 사용자의 거리를 포함할 수 있다. 라벨 박스의 형상은 직사각형, 기포형 등일 수 있다.
단계202에서, 복수 개의 빌딩 블록 중 각 빌딩 블록의 투사 라인 세그먼트에 기반하여, 참조 정보를 생성한다.
본 실시예에서, 기설정된 선택 조건을 만족하는 복수 개의 빌딩 블록의 아우트라인 데이터를 획득한 이후, 3차원 공간 내의 복수 개의 빌딩 블록의 아우트라인을 결정할 수 있다. 우선, 복수 개의 빌딩 블록 중 각각의 빌딩 블록에 대해, 각각 3차원 공간 내의 각각의 빌딩 블록의 아우트라인을 사용자 단말기의 스크린이 위치한 평면에 매핑하여, 각각의 빌딩 블록에 각자 대응되는 하나의 라인 세그먼트를 획득할 수 있다. 각각의 빌딩 블록에 대응되는 하나의 라인 세그먼트의 길이는 3차원 공간 내의 실제 길이이며, 실제 길이를 사용자 단말기의 스크린 내의 길이로 전환시켜 사용자 단말기의 스크린에서 각각의 빌딩 블록 각자의 투사 라인 세그먼트를 획득해야 한다. 다시 말해서, 3차원 공간 내의 빌딩 블록의 아우트라인을 사용자 단말기의 스크린에 매핑하여 각각의 빌딩 블록의 투사 라인 세그먼트를 획득하는 것에 해당된다.
본 실시예에서, 3차원 공간 내의 빌딩 블록의 아우트라인을 사용자 단말기의 스크린에 매핑할 경우, 세계 좌표계에서 3차원 공간 내의 빌딩 블록의 아우트라인 상의 3차원 포인트의 3차원 좌표를 사용자 단말기의 스크린에 대응되는 2차원 좌표계에서의 2차원 좌표로 전환하여 3차원 공간 내의 빌딩 블록의 아우트라인 상의 3차원 포인트가 사용자 단말기의 스크린에 대응되는 2차원 포인트에 위치하고, 모든 3차원 포인트에 대응되는 2차원 포인트는 모두 동일한 수평선 위에 위치함을 결정할 수 있으며, 수평 방향에서 사용자 단말기의 스크린 양단과의 거리가 가장 가까운 2차원 포인트를 각각 투사 라인 세그먼트의 일단의 끝점으로 하여 빌딩 블록의 투사 라인 세그먼트를 구성한다.
예를 들어, 3차원 공간 내의 빌딩 블록의 아우트라인을 사용자 단말기의 스크린에 매핑할 경우, Open GL(Open Graphics Library)에 의해 제공된 MVP(Model View Projection) 투영 알고리즘을 이용하여 세계 좌표계에서 3차원 공간 내의 빌딩 블록의 아우트라인 상의 3차원 포인트의 3차원 좌표를 사용자 단말기의 스크린에 대응되는 2차원 좌표계의 2차원 좌표로 전환할 수 있으며, 따라서 3차원 공간 내의 빌딩 블록의 아우트라인을 사용자 단말기의 스크린에 매핑하여 빌딩 블록의 투사 라인 세그먼트를 획득할 수 있다.
본 실시예에서, 각각의 빌딩 블록에 대해, 3차원 공간 내의 빌딩 블록의 아우트라인을 사용자 단말기의 스크린에 매핑할 경우, 3차원 공간 내의 동일한 높이에서 각각 3차원 공간 내의 빌딩 블록의 아우트라인 각각을 사용자 단말기의 스크린이 위치한 평면에 매핑하여 각각의 빌딩 블록에 대응되는 라인 세그먼트를 획득할 수 있으며, 다음 사용자 단말기의 스크린 내의 길이로 전환하여 각각의 빌딩 블록의 사용자 단말기의 스크린에서의 투사 라인 세그먼트를 획득한다. 상응하게, 각각의 빌딩 블록의 사용자 단말기의 스크린에서의 투사 라인 세그먼트는 동일한 수평선에 위치한다.
본 실시예에서, 복수 개의 상이한 스크린 폭을 갖는 단말기를 이용하여 동일한 빌딩 블록을 촬영할 경우, 상기 빌딩 블록의 수평 방향에서의 최대 실제 길이와 스크린 중 상기 빌딩 블록의 수평 방향에서의 최대 길이를 미리 결정할 수 있다. 수평 방향에서의 최대 실제 길이는 3차원 공간 내에서 빌딩 블록의 아우트라인 상의 가로 좌표가 가장 작은 포인트와 가로 좌표가 가장 큰 포인트 사이의 거리이다. 상기 스크린 중 상기 빌딩 블록의 수평 방향에서의 최대 길이는 이미지 중 빌딩 블록의 아우트라인 상의 가로 좌표가 가장 작은 픽셀 포인트와 가로 좌표가 가장 큰 픽셀 포인트 사이의 거리이다. 각 폭의 스크린에 대해, 스크린 중 상기 빌딩 블록의 수평 방향에서의 최대 길이를 상기 빌딩 블록의 수평 방향에서의 최대 실제 길이로 나누어 얻은 비율을 스크린에 대응되는 비율로 할 수 있다. 하나의 3차원 공간 내의 빌딩 블록의 아우트라인을 사용자 단말기의 스크린이 위치한 평면에 매핑하여 상기 빌딩 블록에 대응되는 라인 세그먼트를 획득한 후, 상기 빌딩 블록에 대응되는 라인 세그먼트의 3차원 공간에서의 실제 길이를 상기 단말기의 스크린에 대응되는 비율에 곱하여 상기 빌딩 블록의 투사 라인 세그먼트의 길이를 획득할 수 있다.
본 실시예에서, 복수 개의 빌딩 블록 중 각 빌딩 블록의 투사 라인 세그먼트에 기반하여 참조 정보를 생성할 수 있다. 참조 정보는 각각의 빌딩 블록이 수평 방향에서 다른 빌딩 블록에 의해 차단되는지 여부, 차단되는 경우의 차단 상황을 판단할 수 있으며, 차단 상황은 부분적 차단 및 전체 차단된 상황일 수 있다.
본 실시예에서, 하나의 빌딩 블록이 다른 빌딩 블록에 의해 차단되는지 여부는 상기 빌딩 블록이 사용자와의 거리가 그 사용자와의 거리보다 작은 다른 빌딩 블록에 의해 차단되는지 여부를 가리킨다. 다시 말해서, 하나의 빌딩 블록이 다른 빌딩 블록에 의해 차단되는지 여부는 상기 빌딩 블록이 그 앞에 위치한 다른 빌딩 블록에 의해 차단되는지 여부를 가리킨다.
본 실시예에서, 복수 개의 빌딩 블록 중 각각의 3차원 공간 내의 빌딩 블록의 아우트라인을 사용자 단말기의 스크린에 매핑하여 각각의 빌딩 블록의 투사 라인 세그먼트를 획득한 이후, 각각의 빌딩 블록의 투사 라인 세그먼트에 따라, 각각의 빌딩 블록이 그 앞에 위치한 다른 빌딩 블록에 의해 차단되는지 여부를 판단할 수 있으며, 차단되는 것으로 판단될 경우, 나아가 차단 상황이 부분적 차단인지 전체 차단인지를 판단한다.
본 실시예에서, 복수 개의 빌딩 블록 중 각각의 빌딩 블록의 투사 라인 세그먼트에 따라, 각각의 빌딩 블록이 그 앞에 위치한 다른 빌딩 블록에 의해 차단되는지 여부를 판단하고, 차단되는 것으로 판단될 경우, 나아가 차단 상황이 부분적 차단인지 전체 차단인지를 판단하며, 참조 정보를 생성하여 복수 개의 빌딩 블록 중 각각의 빌딩 블록이 그 앞에 위치한 다른 빌딩 블록에 의해 차단되는지 여부 및 차단되는 경우의 차단 상황을 설명할 수 있다.
본 실시예에서, 복수 개의 빌딩 블록 중 하나의 빌딩 블록에 대해, 상기 빌딩 블록의 투사 라인 세그먼트와 상기 빌딩 블록 앞에 위치한 하나의 다른 빌딩 블록의 투사 라인 세그먼트에 따라, 수평 방향에서 상기 빌딩 블록이 상기 다른 빌딩 블록에 의해 차단되는지 여부 및 차단되는 경우의 차단 상황을 판단할 수 있다. 상기 빌딩 블록의 투사 라인 세그먼트가 상기 다른 빌딩 블록의 투사 라인 세그먼트와 동일한 수평선에 위치하는 경우, 상기 빌딩 블록의 투사 라인 세그먼트와 상기 다른 빌딩 블록의 투사 라인 세그먼트에 동일한 서브 라인 세그먼트가 존재하지 않으면, 상기 빌딩 블록은 상기 다른 빌딩 블록에 의해 차단되지 않는다. 상기 빌딩 블록의 투사 라인 세그먼트가 상기 다른 빌딩 블록의 투사 라인 세그먼트와 동일한 수평선에 위치하는 경우, 상기 빌딩 블록의 투사 라인 세그먼트와 상기 다른 빌딩 블록의 투사 라인 세그먼트에 동일한 서브 라인 세그먼트가 존재하고 또한 상기 빌딩 블록의 투사 라인 세그먼트가 상기 다른 빌딩 블록이 구비하지 않은 서브 라인 세그먼트를 구비하면, 상기 빌딩 블록은 상기 다른 빌딩 블록에 의해 부분적으로 차단된다. 상기 빌딩 블록의 투사 라인 세그먼트가 상기 다른 빌딩 블록의 투사 라인 세그먼트와 동일한 수평선에 위치하는 경우, 상기 빌딩 블록의 투사 라인 세그먼트가 상기 다른 빌딩 블록의 투사 라인 세그먼트의 서브 라인 세그먼트로 되면, 상기 빌딩 블록은 상기 다른 빌딩 블록에 의해 완전히 차단된다.
단계203에서, 참조 정보에 기반하여 복수 개의 빌딩 블록 중의 타겟 빌딩 블록과 중첩 영역을 결정한다.
본 실시예에서, 사용자의 단말기에 의해 수집된 이미지에서 라벨 정보를 나타내는 빌딩 블록은 타겟 빌딩 블록이다. 우선, 복수 개의 빌딩 블록 중 적어도 하나의 빌딩 블록에 의해 완전히 차단되는 빌딩 블록을 결정한 다음, 복수 개의 빌딩 블록 중 적어도 하나의 빌딩 블록에 의해 완전히 차단되는 빌딩 블록을 제외한 빌딩 블록, 즉 어느 하나의 빌딩 블록에 의해서도 완전히 차단되지 않은 빌딩 블록을 타겟 빌딩 블록으로 결정한다. 사용자와의 거리가 가장 가까운 빌딩 블록이 어느 하나의 빌딩 블록에 의해서도 완전히 차단되지 않으면, 사용자와의 거리가 가장 가까운 빌딩 블록은 타겟 빌딩 블록이다. 다시 말해서, 사용자에게 나타내는 라벨 정보는 각각의 타겟 빌딩 블록 즉 어느 하나의 빌딩 블록에 의해서도 완전히 차단되지 않은 빌딩 블록의 라벨 정보를 포함한다.
본 실시예에서, 빌딩 블록의 라벨 정보는 라벨 박스와 라벨 박스에 위치한 빌딩 블록의 명칭을 포함할 수 있다. 라벨 박스의 형상은 직사각형, 기포형 등일 수 있다. 각각의 빌딩 블록의 라벨 박스의 형상과 면적은 모두 동일하다.
본 실시예에서, 빌딩 블록의 명칭 및 사용자와의 거리는 빌딩 블록의 라벨 정보 내의 라벨 박스에서 사용자에게 보여주는 것이므로, 빌딩 블록의 라벨 정보의 사용자의 단말기에 의해 수집된 이미지 중의 중첩 영역은, 빌딩 블록의 라벨 정보 중 라벨 박스가 사용자의 단말기에 의해 수집된 이미지에서 차지하는 영역에 해당될 수 있다. 사용자의 단말기에 의해 수집된 이미지에서 빌딩 블록의 라벨 정보의 중첩 영역이 결정되는 것은 사용자의 단말기에 의해 수집된 이미지에서 빌딩 블록의 라벨 정보 중의 라벨 박스가 차지하는 영역이 결정되는 것에 해당된다. 각 타겟 빌딩 블록의 라벨 정보의 중첩 영역의 중심점은 각각의 타겟 빌딩 블록의 라벨 정보 중 라벨 박스의 중심점에 해당될 수 있다.
우선, 각 타겟 빌딩 블록의 라벨 정보 중 라벨 박스 중심점의 가로 좌표값을 결정할 수 있다. 가로 좌표값은 예를 들어 사용자 단말기 스크린의 코너 포인트와 같은 좌측 하단 코너를 좌표계로 하는 원점의 좌표계 중의 가로 좌표값일 수 있다. 각 타겟 빌딩 블록의 라벨 정보의 라벨 박스 중심점의 가로 좌표값은 모든 타겟 빌딩 블록 중 임의의 두 개의 타겟 빌딩 블록의 라벨 정보 중 라벨 박스가 수평 방향에서 중첩되지 않도록 해야 한다. 임의의 두 개의 타겟 빌딩 블록의 라벨 정보 중 라벨 박스가 수평 방향에서 중첩되지 않는 경우는 임의의 두 개의 타겟 빌딩 블록의 라벨 정보 중 라벨 박스의 중심점이 동일한 수평선에 위치할 경우, 임의의 두 개의 타겟 빌딩 블록의 라벨 정보 중 라벨 박스가 수평 방향에서 중첩되지 않는 경우에 해당될 수 있다.
각 타겟 빌딩 블록의 라벨 정보의 라벨 박스 중심점의 가로 좌표값을 결정한 이후, 각 타겟 빌딩 블록의 라벨 정보의 라벨 박스 중심점의 세로 좌표를 결정할 수 있다. 각 타겟 빌딩 블록의 라벨 정보의 라벨 박스 중심점의 세로 좌표는 모든 타겟 빌딩 블록 중 임의의 두 개의 타겟 빌딩 블록의 라벨 박스가 수직 방향에서 중첩되지 않도록 해야 한다. 임의의 두 개의 타겟 빌딩 블록의 라벨 정보 중 라벨 박스가 수직 방향에서 중첩되지 않는 경우는 임의의 두 개의 타겟 빌딩 블록의 라벨 정보 중 라벨 박스의 중심점이 동일한 수직선에 위치할 경우, 임의의 두 개의 타겟 빌딩 블록의 라벨 정보 중 라벨 박스가 수직 방향에서 중첩되지 않는 경우에 해당될 수 있다.
각 타겟 빌딩 블록의 라벨 정보의 라벨 박스 중심점의 가로 좌표와 세로 좌표를 결정한 이후, 각 타겟 빌딩 블록의 라벨 정보의 라벨 박스 중심점의 위치를 획득할 수 있다. 나아가 형상과 면적이 동일한 각 타겟 빌딩 블록의 라벨 정보의 라벨 박스가 사용자의 단말기에 의해 수집된 이미지에서 차지하는 영역을 각각 결정하여 사용자의 단말기에 의해 수집된 이미지에서 각 타겟 빌딩 블록의 라벨 정보의 중첩 영역을 결정할 수 있다.
본 실시예의 일부 선택 가능한 실시 형태에 있어서, 복수 개의 빌딩 블록 중 사용자와의 거리가 가장 가까운 빌딩 블록이 다른 빌딩 블록 전부를 완전히 차단할 경우, 사용자와의 거리가 가장 가까운 빌딩 블록의 투사 라인 세그먼트의 길이가 스크린의 폭보다 큰 점에 따라, 복수 개의 빌딩 블록 중 사용자와의 거리가 가장 가까운 빌딩 블록이 다른 빌딩 블록 전부를 완전히 차단하였음을 결정할 수 있고, 수평 방향에서 복수 개의 빌딩 블록 중 사용자와의 거리가 가장 가까운 빌딩 블록이 다른 빌딩 블록 전부를 완전히 차단하였음을 지시하는 지시 정보를 생성할 수 있다. 상응하게, 참조 정보는 수평 방향에서 복수 개의 빌딩 블록 중 사용자와의 거리가 가장 가까운 빌딩 블록이 다른 빌딩 블록 전부를 완전히 차단하였음을 지시하는 지시 정보를 포함한다. 사용자의 단말기에 의해 수집된 이미지에서 복수 개의 빌딩 블록 중 타겟 빌딩 블록 및 타겟 빌딩 블록의 라벨 정보의 중첩 영역을 결정할 경우, 사용자와의 거리가 가장 가까운 빌딩 블록을 타겟 빌딩 블록으로 할 수 있다. 다시 말해서, 사용자에게만 사용자와의 거리가 가장 가까운 빌딩 블록의 라벨 정보를 보여준다. 사용자와의 거리가 가장 가까운 빌딩 블록의 투사 라인 세그먼트의 중심점 가로 좌표를 사용자와의 거리가 가장 가까운 빌딩 블록의 라벨 정보의 이미지에서의 중첩 영역의 중심점 가로 좌표로 할 수 있다. 다음, 사용자와의 거리가 가장 가까운 빌딩 블록의 라벨 정보의 이미지에서의 중첩 영역 중심점의 세로 좌표 및 사용자와의 거리가 가장 가까운 빌딩 블록의 라벨 정보 중의 라벨 박스 중심점의 위치를 결정할 수 있다.
본 실시예의 일부 선택 가능한 실시 형태에 있어서, 복수 개의 빌딩 블록에 수평 방향에서 적어도 하나의 빌딩 블록에 의해 완전히 차단되는 빌딩 블록과 어느 하나의 블록에 의해서도 완전히 차단되지 않은 빌딩 블록이 포함된 경우, 각각의 빌딩 블록의 투사 라인 세그먼트에 따라, 복수 개의 빌딩 블록에 수평 방향에서 적어도 하나의 빌딩 블록에 의해 완전히 차단되는 빌딩 블록과 어느 하나의 블록에 의해서도 완전히 차단되지 않은 빌딩 블록이 포함됨을 결정할 수 있다. 생성된 참조 정보는 복수 개의 빌딩 블록 중 수평 방향에서 적어도 하나의 빌딩 블록에 의해 완전히 차단되는 빌딩 블록의 식별자와 복수 개의 빌딩 블록 중 어느 하나의 블록에 의해서도 완전히 차단되지 않은 빌딩 블록의 식별자를 더 포함한다.
참조 정보에 기반하여, 사용자의 단말기에 의해 수집된 이미지에서 나타날 라벨 정보와 라벨 정보의 중첩 영역을 결정할 경우, 참조 정보 중 수평 방향에서 적어도 하나의 빌딩 블록에 의해 완전히 차단되는 빌딩 블록의 식별자와 어느 하나의 블록에 의해서도 완전히 차단되지 않은 빌딩 블록의 식별자에 따라, 복수 개의 빌딩 블록 중 적어도 하나의 빌딩 블록 에 의해 완전히 차단되는 빌딩 블록 및 어느 하나의 블록에 의해서도 완전히 차단되지 않은 빌딩 블록을 결정할 수 있다. 다음, 수평 방향에서 어느 하나의 블록에 의해서도 완전히 차단되지 않은 빌딩 블록을 타겟 빌딩 블록으로 할 수 있다. 타겟 빌딩 블록의 수량은 복수 개일 수 있다.
우선, 타겟 빌딩 블록 중 가장 가까운 빌딩 블록과 타겟 빌딩 블록 중 두 번째로 가까운 빌딩 블록 사이의 제1 차단 관련 상황에 따라, 사용자의 단말기에 의해 수집된 이미지에서 가장 가까운 빌딩 블록과 두 번째로 가까운 빌딩 블록의 라벨 정보의 중첩 영역을 결정할 수 있다. 가장 가까운 빌딩 블록은 모든 타겟 빌딩 블록 중 사용자와의 거리가 가장 가까운 타겟 빌딩 블록이고, 두 번째로 가까운 빌딩 블록은 모든 타겟 빌딩 블록 중 사용자와의 거리가 두 번째로 가까운 타겟 빌딩 블록이다. 제1 차단 관련 상황은, 두 번째로 가까운 빌딩 블록이 가장 가까운 빌딩 블록에 의해 차단되지 않는 상황, 두 번째로 가까운 빌딩 블록이 가장 가까운 빌딩 블록에 의해 부분적으로 차단되고 또한 가장 가까운 빌딩 블록에 의해 차단되지 않은 두 번째로 가까운 빌딩 블록의 일부가 가장 가까운 빌딩 블록의 일측에 위치하는 상황, 두 번째로 가까운 빌딩 블록이 가장 가까운 빌딩 블록에 의해 부분적으로 차단되고 또한 가장 가까운 빌딩 블록에 의해 차단되지 않은 두 번째로 가까운 빌딩 블록의 일부가 가장 가까운 빌딩 블록의 양측에 분포되는 상황일 수 있다.
가장 가까운 빌딩 블록의 투사 라인 세그먼트가 두 번째로 가까운 빌딩 블록과 동일한 수평선에 위치하는 경우, 두 번째로 가까운 빌딩 블록의 투사 라인 세그먼트와 가장 가까운 빌딩 블록의 투사 라인 세그먼트에 동일한 서브 라인 세그먼트가 존재하지 않으면, 두 번째로 가까운 빌딩 블록은 가장 가까운 빌딩 블록에 의해 차단되지 않는다. 가장 가까운 빌딩 블록의 투사 라인 세그먼트가 두 번째로 가까운 빌딩 블록과 동일한 수평선에 위치하는 경우, 두 번째로 가까운 빌딩 블록의 투사 라인 세그먼트 상의 가장 가까운 빌딩 블록의 투사 라인 세그먼트에 속하지 않는 서브 라인 세그먼트가 가장 가까운 빌딩 블록의 투사 라인 세그먼트의 일측 즉 좌측 또는 우측에 위치하면, 두 번째로 가까운 빌딩 블록은 가장 가까운 빌딩 블록에 의해 부분적으로 차단되고 또한 가장 가까운 빌딩 블록에 의해 차단되지 않은 두 번째로 가까운 빌딩 블록의 일부는 가장 가까운 빌딩 블록의 일측에 위치한다. 가장 가까운 빌딩 블록의 투사 라인 세그먼트가 두 번째로 가까운 빌딩 블록과 동일한 수평선에 위치하는 경우, 가장 가까운 빌딩 블록의 투사 라인 세그먼트의 양측에 가까운 빌딩 블록의 투사 라인 세그먼트 상의 가장 가까운 빌딩 블록의 투사 라인 세그먼트에 속하지 않는 서브 라인 세그먼트를 구비하면, 두 번째로 가까운 빌딩 블록은 가장 가까운 빌딩 블록에 의해 부분적으로 차단되고 또한 가장 가까운 빌딩 블록에 의해 차단되지 않은 두 번째로 가까운 빌딩 블록의 일부는 가장 가까운 빌딩 블록의 양측에 분포된다.
제1 차단 관련 상황이 가장 가까운 빌딩 블록이 두 번째로 가까운 빌딩 블록에 의해 차단되지 않는 상황일 경우, 두 번째로 가까운 빌딩 블록의 투사 라인 세그먼트의 중심점의 가로 좌표를 두 번째로 가까운 빌딩 블록의 라벨 정보 중의 라벨 박스 중심점의 가로 좌표로 할 수 있고, 아울러 가장 가까운 빌딩 블록의 투사 라인 세그먼트의 중심점의 가로 좌표를 가장 가까운 빌딩 블록의 라벨 정보 중의 라벨 박스 중심점의 가로 좌표로 할 수 있다.
제1 차단 관련 상황이 두 번째로 가까운 빌딩 블록이 가장 가까운 빌딩 블록에 의해 부분적으로 차단되고 또한 차단되지 않은 일부가 두 번째로 가까운 빌딩 블록의 일측에 위치하는 상황 또는 가장 가까운 빌딩 블록이 두 번째로 가까운 빌딩 블록에 의해 부분적으로 차단되고 또한 차단되지 않은 일부가 가장 가까운 빌딩 블록의 양측에 분포되는 상황일 경우, 두 번째로 가까운 빌딩 블록의 투사 라인 세그먼트와 가장 가까운 빌딩 블록의 투사 라인 세그먼트가 동일한 수평선에 위치 시, 두 번째로 가까운 빌딩 블록의 투사 라인 세그먼트 상에 위치하고 또한 가장 가까운 빌딩 블록의 투사 라인 세그먼트에 속하지 않는 서브 라인 세그먼트의 중심점을 두 번째로 가까운 빌딩 블록의 라벨 정보 중의 라벨 박스의 중심점으로 할 수 있다. 아울러, 가장 가까운 빌딩 블록의 투사 라인 세그먼트의 중심점의 가로 좌표를 가장 가까운 빌딩 블록의 라벨 정보 중의 라벨 박스 중심점의 가로 좌표로 한다.
두 번째로 가까운 빌딩 블록 및 가장 가까운 빌딩 블록의 라벨 정보 중의 라벨 박스 중심점의 가로 좌표를 결정한 이후, 두 번째로 가까운 빌딩 블록 및 가장 가까운 빌딩 블록의 라벨 정보 중의 라벨 박스 중심점의 세로 좌표, 두 번째로 가까운 빌딩 블록 및 가장 가까운 빌딩 블록의 라벨 정보 중의 라벨 박스 중심점의 세로 좌표는 수직 방향에서 두 번째로 가까운 빌딩 블록의 라벨 정보 중의 라벨 박스가 가장 가까운 빌딩 블록의 라벨 정보 중의 라벨 박스와 중첩되지 않음을 결정할 수 있다. 가장 가까운 빌딩 블록 및 두 번째로 가까운 빌딩 블록의 라벨 정보 중의 라벨 박스 중심점의 가로 좌표 및 세로 좌표를 결정한 이후, 가장 가까운 빌딩 블록 및 두 번째로 가까운 빌딩 블록의 라벨 정보 중의 라벨 박스 중심점의 위치를 동시에 결정할 수 있으며, 상응하게 가장 가까운 빌딩 블록 및 두 번째로 가까운 빌딩 블록의 라벨 정보 중의 라벨 박스가 사용자 단말기에 의해 촬영된 이미지에서 차지하는 영역을 결정할 수 있으며, 즉 사용자 단말기에 의해 촬영된 이미지에서 가장 가까운 빌딩 블록 및 두 번째로 가까운 빌딩 블록의 라벨 정보의 사용자 단말기에 의해 촬영된 이미지에서의 중첩 영역을 결정한다.
타겟 빌딩 블록 중의 가장 가까운 빌딩 블록과 두 번째로 가까운 빌딩 블록을 제외한 각각의 타겟 빌딩 블록에 대해, 각각 타겟 빌딩 블록과 타겟 빌딩 블록의 이전 타겟 빌딩 블록 사이의 제2 차단 관련 상황에 따라, 사용자의 단말기에 의해 수집된 이미지에서 타겟 빌딩 블록의 라벨 정보의 중첩 영역을 결정하며, 즉 타겟 빌딩 블록의 라벨 정보 중의 라벨 박스가 사용자의 단말기에 의해 수집된 이미지에서 차지하는 영역을 결정한다. 가장 가까운 빌딩 블록과 두 번째로 가까운 빌딩 블록을 제외한 타겟 빌딩 블록의 이전 타겟 빌딩 블록은 사용자와의 거리가 상기 타겟 빌딩 블록과 그 사용자와의 거리보다 작은 다른 가장 가까운 빌딩 블록과 두 번째로 가까운 빌딩 블록을 제외한 타겟 빌딩 블록 중 사용자와의 거리가 가장 큰 타겟 빌딩 블록을 가리킨다.
가장 가까운 빌딩 블록과 두 번째로 가까운 빌딩 블록을 제외한 하나의 타겟 빌딩 블록과 이전 타겟 빌딩 블록의 제2 차단 관련 상황은, 상기 타겟 빌딩 블록이 이전 타겟 빌딩 블록에 의해 차단되지 않는 상황, 상기 타겟 빌딩 블록이 이전 타겟 빌딩 블록에 의해 부분적으로 차단되고 또한 이전 타겟 빌딩 블록에 의해 차단되지 않은 상기 타겟 빌딩 블록의 일부가 이전 타겟 빌딩 블록의 일측에 위치하는 상황, 상기 타겟 빌딩 블록이 이전 타겟 빌딩 블록에 의해 부분적으로 차단되고 또한 이전 타겟 빌딩 블록에 의해 차단되지 않은 상기 타겟 빌딩 블록의 일부가 이전 타겟 빌딩 블록의 양측에 분포되는 상황일 수 있다.
각각의 가장 가까운 빌딩 블록과 두 번째로 가까운 빌딩 블록을 제외한 각각의 타겟 빌딩 블록에 대해, 사용자와의 거리가 근거리로부터 원거리로의 순서에 따라, 순서대로 각각의 타겟 빌딩 블록의 라벨 정보 중의 라벨 박스 중심점의 위치를 결정한다.
가장 가까운 빌딩 블록과 두 번째로 가까운 빌딩 블록을 제외한 하나의 타겟 빌딩 블록의 라벨 정보 중의 라벨 박스 중심점의 위치를 결정할 경우, 상기 타겟 빌딩 블록의 이전 타겟 빌딩 블록의 라벨 정보 중의 라벨 박스 중심점의 위치는 이미 결정되고, 이미 결정된 이전 빌딩 블록의 라벨 정보 중의 라벨 박스 중심점은 움직이지 않는다. 상기 타겟 빌딩 블록과 이전 타겟 빌딩 블록의 제2 차단 관련 상황이 상기 타겟 빌딩 블록이 이전 빌딩 블록에 의해 차단되지 않는 상황일 경우, 상기 타겟 빌딩 블록의 투사 라인 세그먼트의 중심점의 가로 좌표를 상기 타겟 빌딩 블록의 라벨 정보 중의 라벨 박스 중심점의 가로 좌표로 할 수 있다. 상기 타겟 빌딩 블록과 이전 타겟 빌딩 블록의 제2 차단 관련 상황이, 상기 타겟 빌딩 블록이 이전 타겟 빌딩 블록에 의해 부분적으로 차단되고 또한 차단되지 않은 일부가 상기 이전 타겟 빌딩 블록의 일측에 위치하거나 상기 이전 타겟 빌딩 블록의 양측에 분포되는 상황일 경우, 상기 타겟 빌딩 블록과 상기 이전 타겟 빌딩 블록이 동일한 수평선에 위치 시 상기 타겟 빌딩 블록 상의 상기 이전 타겟 빌딩 블록의 투사 라인 세그먼트에 속하지 않는 서브 라인 세그먼트의 중심점을 상기 타겟 빌딩 블록의 라벨 정보 중의 라벨 박스 중심점으로 할 수 있다. 상기 타겟 빌딩 블록의 라벨 정보 중의 라벨 박스 중심점의 가로 좌표를 결정한 이후, 상기 타겟 빌딩 블록의 라벨 정보 중의 라벨 박스 중심점의 세로 좌표를 결정할 수 있다. 상기 타겟 빌딩 블록의 라벨 정보 중의 라벨 박스 중심점의 세로 좌표는 수직 방향에서 상기 타겟 빌딩 블록의 라벨 정보 중의 라벨 박스가 상기 이전 타겟 빌딩 블록의 라벨 정보 중의 라벨 박스와 중첩되지 않도록 할 수 있다.
본 실시예의 일부 선택 가능한 실시 형태에 있어서, 가장 가까운 빌딩 블록과 두 번째로 가까운 빌딩 블록 사이의 제1 차단 관련 상황이 가장 가까운 빌딩 블록이 두 번째로 가까운 빌딩 블록에 의해 차단되지 않는 상황 또는 가장 가까운 빌딩 블록이 두 번째로 가까운 빌딩 블록에 의해 부분적으로 차단되고 또한 차단되지 않은 일부가 가장 가까운 빌딩 블록의 양측에 분포되는 상황일 경우, 두 번째로 가까운 빌딩 블록의 투사 라인 세그먼트의 중심점의 가로 좌표를 두 번째로 가까운 빌딩 블록의 라벨 정보 중의 라벨 박스 중심점의 가로 좌표로 할 수 있고, 아울러 가장 가까운 빌딩 블록의 투사 라인 세그먼트의 중심점의 가로 좌표를 가장 가까운 빌딩 블록의 라벨 정보 중의 라벨 박스 중심점의 가로 좌표로 할 수 있다.
가장 가까운 빌딩 블록과 두 번째로 가까운 빌딩 블록 사이의 제1 차단 관련 상황이 두 번째로 가까운 빌딩 블록이 가장 가까운 빌딩 블록에 의해 부분적으로 차단되고 또한 차단되지 않은 일부가 두 번째로 가까운 빌딩 블록의 일측에 위치하는 상황일 경우, 두 번째로 가까운 빌딩 블록의 투사 라인 세그먼트가 가장 가까운 빌딩 블록의 투사 라인 세그먼트와 동일한 수평선에 위치 시, 가장 가까운 빌딩 블록에 의해 차단되지 않은 부분의 서브 라인 세그먼트에 대응되는, 두 번째로 가까운 빌딩 블록의 투사 라인 세그먼트 상의 가장 가까운 빌딩 블록의 투사 라인 세그먼트에 속하지 않는 서브 라인 세그먼트의 중심점을, 두 번째로 가까운 빌딩 블록의 라벨 정보 중의 라벨 박스의 중심점으로 할 수 있다. 아울러, 가장 가까운 빌딩 블록의 투사 라인 세그먼트의 중심점의 가로 좌표를 가장 가까운 빌딩 블록의 라벨 정보 중의 라벨 박스 중심점의 가로 좌표로 할 수 있다.
본 실시예의 일부 선택 가능한 실시 형태에 있어서, 상기 이미지에서 각 타겟 빌딩 블록의 라벨 정보의 중첩 영역 중심점의 세로 좌표를 결정할 경우, 사용자와의 거리에 따라 모든 타겟 빌딩 블록을 정렬할 수 있다. 정렬된 각각의 타겟 빌딩 블록의 순서에 기반하여, 사용자의 단말기에 의해 수집된 이미지에서 각 타겟 빌딩 블록의 라벨 정보의 중첩 영역 중심점의 세로 좌표를 결정하고, 즉 각각의 타겟 빌딩 블록의 라벨 정보 중의 라벨 박스를 결정한다.
사용자와의 거리가 근거리로부터 원거리로의 순서에 따라 타겟 빌딩 블록을 정렬할 수 있으며, 하나의 타겟 빌딩 블록의 순서가 뒤로 갈수록 세로 좌표의 수치가 더 크다. 다시 말해서, 하나의 타겟 빌딩 블록의 순서가 뒤로 갈수록, 사용자 단말기의 스크린에서 상기 타겟 빌딩 블록의 라벨 정보 중의 라벨 박스의 위치가 더 높다. 사용자의 단말기에 의해 수집된 이미지에서 각 타겟 빌딩 블록의 라벨 정보의 중첩 영역 중심점의 세로 좌표는 임의의 두 개의 타겟 빌딩 블록의 라벨 정보 중 라벨 박스가 수직 방향에서 중첩되지 않도록 할 수 있다.
빌딩 블록의 아우트라인, 빌딩 블록의 다른 특징 등에 따라, 사용자의 단말기에 의해 수집된 이미지 중 각각의 타겟 빌딩 블록의 이미지에서의 높이를 대략 결정할 수 있으며, 따라서 타겟 빌딩 블록의 라벨 정보 중의 라벨 박스 세로 좌표의 최대값을 결정할 수 있고, 결정된 타겟 빌딩 블록의 라벨 정보 중의 라벨 박스 중심점의 세로 좌표는 최대의 세로 좌표의 값보다 작아야 한다. 다시 말해서, 결정된 타겟 빌딩 블록의 라벨 정보 중의 라벨 박스 중심점의 세로 좌표가 세로 좌표의 최대값보다 크면, 이미지에서 타겟 빌딩 블록의 라벨 정보 중의 라벨 박스의 일부가 타겟 빌딩 블록의 최고 높이를 초과하는 경우가 발생할 수 있다.
단계204에서, 타겟 빌딩 블록의 라벨 정보를 중첩 영역에 중첩시켜 증강 현실 이미지를 획득한다.
본 실시예에서, 사용자의 단말기에 의해 수집된 이미지에서 각각의 타겟 빌딩 블록의 중첩 영역을 결정하고, 즉 각각의 타겟 빌딩 블록의 라벨 정보 중의 라벨 박스가 사용자의 단말기에 의해 수집된 이미지에서 차지하는 영역을 결정한 이후, 타겟 빌딩 블록의 라벨 정보를 결정된 중첩 영역에 중첩시킬 수 있다. 다시 말해서, 각각의 타겟 빌딩 블록의 라벨 정보 중의 라벨 박스를 결정된 라벨 박스가 사용자의 단말기에 의해 수집된 이미지에서 차지하는 영역에 설치할 수 있다. 각각의 타겟 빌딩 블록의 적어도 일부는 사용자의 단말기에 의해 수집된 이미지 내에 위치하며, 각각의 타겟 빌딩 블록의 라벨 박스의 적어도 일부는 사용자의 단말기에 의해 수집된 이미지 중 그가 속하는 타겟 빌딩 블록 중의 특정된 하나의 영역에 위치한다. 이로써, 사용자의 단말기에 의해 수집된 이미지 중 각각의 타겟 빌딩 블록의 라벨 정보 중의 라벨 박스에 위치한 타겟 빌딩 블록의 명칭 및 타겟 빌딩 블록과 사용자와의 거리가 포함되어 증강 현실 이미지를 획득한다. 결정된 임의의 두 개의 타겟 빌딩 블록의 라벨 정보 중의 라벨 박스가 수평 방향에서 중첩되지 않으므로, 임의의 두 개의 타겟 빌딩 블록의 라벨 정보 중의 라벨 박스는 수직 방향에서 중첩되지 않으며, 상응하게, 사용자에게 보여줄 경우, 증강 현실 이미지 중 임의의 두 개의 타겟 빌딩 블록의 라벨 박스 중에 위치한 타겟 빌딩 블록의 명칭 및 타겟 빌딩 블록과 사용자와의 거리에 중첩되는 현상이 나타나지 않는다.
도 3을 참조하면, 이는 상기 각 도면에 도시된 방법의 구현으로서, 본 출원은 증강 현실 장치의 일 실시예를 제공하며, 상기 장치의 실시예는 도 2에 도시된 방법의 실시예와 서로 대응된다.
도 3에 도시된 바와 같이, 본 실시예의 증강 현실 장치는 획득 유닛(301), 생성 유닛(302), 결정 유닛(303), 프레젠테이션 유닛(304)을 포함한다. 여기서 획득 유닛(301)은 기설정된 선택 조건을 만족하는 복수 개의 빌딩 블록의 아우트라인 데이터를 획득하도록 구성되며, 상기 아우트라인 데이터는 3차원 공간에서 빌딩 블록의 아우트라인을 설명하기 위한 것이다. 생성 유닛(302)은 복수 개의 빌딩 블록 중 각 빌딩 블록의 투사 라인 세그먼트에 기반하여 참조 정보를 생성하도록 구성되며, 여기서 빌딩 블록의 투사 라인 세그먼트는 3차원 공간에서 빌딩 블록의 아우트라인을 사용자의 단말기의 스크린이 위치한 평면에 매핑한 것에 기반하여 획득되고, 참조 정보는 수평 방향에서 복수 개의 빌딩 블록 중 빌딩 블록 사이에 차단이 존재하는지 여부 및 차단이 존재하는 경우의 차단 상황을 설명하기 위한 것이다. 결정 유닛(303)은 참조 정보에 기반하여 사용자의 단말기에 의해 수집된 이미지에서 복수 개의 빌딩 블록 중의 타겟 빌딩 블록과 타겟 빌딩 블록의 라벨 정보의 중첩 영역을 결정하도록 구성된다. 프레젠테이션 유닛(304)은 타겟 빌딩 블록의 라벨 정보를 결정된 중첩 영역에 중첩시켜 증강 현실 이미지를 획득하도록 구성된다.
본 실시예의 일부 선택 가능한 실시 형태에 있어서, 결정 유닛은, 참조 정보가 수평 방향에서 복수 개의 빌딩 블록 중 사용자와의 거리가 가장 가까운 빌딩 블록이 다른 빌딩 블록 전부를 완전히 차단하는 것을 지시하는 지시 정보를 포함할 경우, 복수 개의 빌딩 블록 중 사용자와의 거리가 가장 가까운 빌딩 블록을 타겟 빌딩 블록으로 결정하고; 상기 사용자와의 거리가 가장 가까운 빌딩 블록의 투사 라인 세그먼트의 중심점에 기반하여, 상기 이미지에서 상기 사용자와의 거리가 가장 가까운 빌딩 블록의 중첩 영역의 중심점을 결정하도록 구성된 제1 타겟 빌딩 블록 및 제1 중첩 영역 결정 서브 유닛을 포함한다.
본 실시예의 일부 선택 가능한 실시 형태에 있어서, 결정 유닛은, 참조 정보가 수평 방향에서 복수 개의 빌딩 블록 중 적어도 하나의 빌딩 블록에 의해 완전히 차단된 빌딩 블록의 식별자와 어느 하나의 빌딩 블록에 의해서도 완전히 차단되지 않은 빌딩 블록의 식별자를 포함할 경우, 수평 방향에서 어느 하나의 빌딩 블록에 의해서도 완전히 차단되지 않은 빌딩 블록을 타겟 빌딩 블록으로 결정하고; 가장 가까운 빌딩 블록과 두 번째로 가까운 빌딩 블록 사이의 제1 차단 관련 상황에 기반하여, 상기 이미지에서 가장 가까운 빌딩 블록의 라벨 정보의 중첩 영역과 두 번째로 가까운 빌딩 블록의 라벨 정보의 중첩 영역을 결정하되, 가장 가까운 빌딩 블록은 모든 타겟 빌딩 블록 중 사용자와의 거리가 가장 가까운 타겟 빌딩 블록이고, 두 번째로 가까운 빌딩 블록은 모든 타겟 빌딩 블록 중 사용자와의 거리가 두 번째로 가까운 타겟 빌딩 블록이며; 모든 타겟 빌딩 블록 중 가장 가까운 빌딩 블록과 두 번째로 가까운 빌딩 블록을 제외한 각 타겟 빌딩 블록에 대해, 타겟 빌딩 블록과 상기 타겟 빌딩 블록의 이전 타겟 빌딩 블록 사이의 제2 차단 관련 상황에 기반하여 상기 이미지에서 상기 타겟 빌딩 블록의 라벨 정보의 중첩 영역을 결정하도록 구성된 제2 타겟 빌딩 블록 및 중첩 영역 결정 서브 유닛을 포함한다.
본 실시예의 일부 선택 가능한 실시 형태에 있어서, 제2 타겟 빌딩 블록 및 중첩 영역 결정 서브 유닛은 또한, 가장 가까운 빌딩 블록의 투사 라인 세그먼트의 중심점의 가로 좌표를 상기 이미지에서 가장 가까운 빌딩 블록의 라벨 정보의 중첩 영역의 중심점의 가로 좌표로 결정하도록 구성되고; 제1 차단 관련 상황이 기설정된 차단 관련 상황일 경우, 두 번째로 가까운 빌딩 블록의 투사 라인 세그먼트 중 가장 가까운 빌딩 블록에 의해 차단되지 않은 일부 서브 라인 세그먼트에 대응되는 중심점의 가로 좌표를 상기 이미지에서 두 번째로 가까운 빌딩 블록의 중첩 영역의 중심점의 가로 좌표로 결정하도록 구성되되, 기설정된 차단 관련 상황은, 두 번째로 가까운 빌딩 블록의 일부가 가장 가까운 빌딩 블록에 의해 차단되고 또한 가장 가까운 빌딩 블록에 의해 차단되지 않은 두 번째로 가까운 빌딩 블록의 비차단 부분이 가장 가까운 빌딩 블록의 일측에 위치하는 상황을 포함하며; 제1 차단 관련 상황이 기설정된 차단 관련 상황이 아닐 경우, 두 번째로 가까운 빌딩 블록의 투사 라인 세그먼트의 중심점의 가로 좌표를 상기 이미지에서 두 번째로 가까운 빌딩 블록의 라벨 정보의 중첩 영역의 중심점의 가로 좌표로 결정하도록 구성된다.
본 실시예의 일부 선택 가능한 실시 형태에 있어서, 증강 현실 장치는 사용자와의 거리에 따라 모든 타겟 빌딩 블록을 정렬하고,정렬된 각 타겟 빌딩 블록의 순서에 기반하여, 상기 이미지에서 각 타겟 빌딩 블록의 라벨 정보의 중첩 영역 중심점의 세로 좌표를 결정하도록 구성된 세로 좌표 결정 유닛을 더 포함한다.
도 4는 본 출원의 실시예의 서버를 구현하기에 적절한 컴퓨터 시스템의 구조 모식도를 나타낸다.
도 4에 도시된 바와 같이, 컴퓨터 시스템은 중앙 처리 장치(CPU)(401)를 포함하고, 판독 전용 메모리(ROM)(402)에 저장된 프로그램 또는 저장 부분(408)으로부터 랜덤 액세스 메모리(RAM)(403)에 로딩되는 프로그램에 따라 여러 가지 적절한 동작과 처리를 수행할 수 있다. RAM(403)에 컴퓨터 시스템 작동에 필요한 다양한 프로그램과 데이터가 더 저장된다. CPU(401), ROM(402) 및 RAM(403)은 버스(404)를 통해 서로 연결된다. 입출력(I/O) 인터페이스(405)도 버스(404)에 연결된다.
입력 부분(406), 출력 부분(407), 하드 드라이버 등을 포함하는 저장 부분(408); 및 LAN 카드, 모뎀 등과 같은 네트워크 인터페이스 카드를 포함하는 통신 부분(409)과 같은 부품은 I/O 인터페이스(405)에 연결된다. 통신 부분(409)은 인터넷과 같은 네트워크를 통해 통신 처리를 수행한다. 드라이버(410)도 필요에 따라 I/O 인터페이스(405)에 연결된다. 디스크, CD, 광자기 디스크, 반도체 메모리 등과 같은 착탈 가능한 매체(411)는 이에 의해 판독된 컴퓨터 프로그램을 필요에 따라 저장 부분(408)에 용이하게 설치하도록 필요에 따라 드라이버(410)에 설치된다.
특히 본 출원의 실시예에서 설명된 과정은 컴퓨터 프로그램으로 구현될 수 있다. 예를 들어, 본 출원의 실시예는 컴퓨터 프로그램 제품을 포함하고, 컴퓨터 판독 가능한 매체에 탑재되는 컴퓨터 프로그램을 포함하며, 상기 컴퓨터 프로그램은 흐름도에 도시된 방법을 수행하기 위한 명령을 포함한다. 상기 컴퓨터 프로그램은 통신 부분(409)을 통해 네트워크로부터 다운로드 또는 설치될 수 있거나 및/또는 착탈 가능한 매체(411)로부터 설치될 수 있다. 상기 컴퓨터 프로그램이 중앙 처리 장치(CPU)(901)에 의해 실행될 경우, 본 출원에 따른 방법에서 한정된 상기 기능을 수행한다.
본 출원은 하나 또는 복수 개의 프로세서; 및 하나 또는 복수 개의 프로그램을 저장하기 위한 메모리를 포함하는 단말기를 더 제공한다. 하나 또는 복수 개의 프로그램은 상기 실시예에서 설명된 동작을 수행하는 명령을 포함할 수 있다. 하나 또는 복수 개의 프로그램이 하나 또는 복수 개의 프로세서에 의해 실행될 경우, 하나 또는 복수 개의 프로세서가 상기 실시예에서 설명된 동작을 수행하도록 한다.
본 출원은 컴퓨터 판독 가능한 매체를 더 제공한다. 상기 컴퓨터 판독 가능한 매체는 단말기에 포함될 수 있고 단말기에 조립되지 않고 독립적으로 존재할 수도 있다. 상기 컴퓨터 판독 가능한 매체는 하나 또는 복수 개의 프로그램을 탑재하고 상기 하나 또는 복수 개의 프로그램이 서버에 의해 실행될 경우, 단말기가 기설정된 선택 조건을 만족하는 복수 개의 빌딩 블록의 아우트라인 데이터를 획득하되, 여기서 상기 아우트라인 데이터는 3차원 공간에서 빌딩 블록의 아우트라인을 설명하기 위한 것이고; 복수 개의 빌딩 블록 중 각 빌딩 블록의 투사 라인 세그먼트에 기반하여 참조 정보를 생성하되, 여기서 빌딩 블록의 투사 라인 세그먼트는 3차원 공간에서 빌딩 블록의 아우트라인을 사용자의 단말기의 스크린이 위치한 평면에 매핑한 것에 기반하여 획득되고, 참조 정보는 수평 방향에서 복수 개의 빌딩 블록 중 빌딩 블록 사이에 차단이 존재하는지 여부 및 차단이 존재하는 경우의 차단 상황을 설명하기 위한 것이며; 참조 정보에 기반하여 사용자의 단말기에 의해 수집된 이미지에서 복수 개의 빌딩 블록 중의 타겟 빌딩 블록과 타겟 빌딩 블록의 라벨 정보의 중첩 영역을 결정하고; 타겟 빌딩 블록의 라벨 정보를 결정된 중첩 영역에 중첩시켜 증강 현실 이미지를 획득하도록 한다.
설명해야 할 것은, 본 출원에서 설명하는 컴퓨터 판독 가능한 매체는 컴퓨터 판독 가능한 신호 매체 또는 컴퓨터 판독 가능한 저장 매체 또는 상기 양자의 임의의 조합일 수 있다. 예를 들어 컴퓨터 판독 가능한 저장 매체는 전기, 자기, 광, 전자기, 적외선 또는 반도체 시스템, 장치 또는 소자 또는 이상의 임의의 조합일 수 있으나 이에 한정되는 것은 아니다. 컴퓨터 판독 가능한 저장 매체의 보다 구체적인 예로서 하나 또는 복수 개의 도선을 구비하는 전기적 연결, 휴대용 컴퓨터 디스크, 하드 디스크, RAM, ROM, 소거 가능 프로그래머블 롬(EPROM 또는 플래시 메모리), 광섬유, 휴대용 시디롬(compact disk read-only memory, CD-ROM), 광학 저장 소자, 자기 저장 소자 또는 이상의 임의의 적절한 조합을 포함할 수 있으나 이에 한정되는 것은 아니다. 본 출원에서, 컴퓨터 판독 가능한 저장 매체는 프로그램을 포함하거나 저장하는 임의의 유형 매체일 수 있으며, 상기 프로그램은 명령 실행 시스템, 장치 또는 소자 또는 이들의 조합에 의해 사용될 수 있다. 본 출원에 있어서, 컴퓨터 판독 가능한 신호 매체는 기저 대역 또는 반송파의 일부분으로서 전파되는 데이터 신호에 포함될 수 있으며 컴퓨터 판독 가능한 프로그램 코드가 탑재된다. 이렇게 전파되는 데이터 신호는 다양한 형식을 사용할 수 있고, 전자기 신호, 광학 신호 또는 상기의 임의의 적절한 조합을 포함하나 이에 한정되는 것은 아니다. 컴퓨터 판독 가능한 신호 매체는 컴퓨터 판독 가능한 저장 매체 이외의 임의의 컴퓨터 판독 가능한 매체일 수도 있으며, 상기 컴퓨터 판독 가능한 매체는 명령 실행 시스템, 장치 또는 소자 또는 이들의 조합에 의해 사용되는 프로그램을 송신, 전파 또는 전송할 수 있다. 컴퓨터 판독 가능한 매체에 포함되는 프로그램 코드는 임의의 적절한 매체로 전송될 수 있으며, 무선, 전기선, 광케이블, RF 등 또는 상기의 임의의 적절한 조합을 포함하나 이에 한정되는 것은 아니다.
도면 중 흐름도 및 블록도는 본 출원의 각 실시예에 따른 시스템, 방법 및 컴퓨터 프로그램 제품에 따라 구현 가능한 아키텍처, 기능 및 작동을 도시한다. 이 점에 있어서, 흐름도 또는 블록도 중 각 블록은 하나의 모듈, 프로그램대 또는 코드의 일부를 대표할 수 있으며, 상기 모듈, 프로그램대 또는 코드의 일부는 하나 또는 복수 개의 일정한 로직 기능을 구현하기 위한 실행 가능한 명령을 포함한다. 주의해야 할 점은, 일부 교체용 구현에 있어서, 블록에 표시된 기능도 도면에 표시된 순서와 달리 발생할 수 있다. 예를 들어, 2개의 연속적으로 표시되는 블록은 실질적으로 병렬로 수행될 수 있고 역순서에 따라 실행될 수도 있으며 이는 관련된 기능에 따라 정해진다. 또한 주의해야 할 점은, 블록도 및/또는 흐름도 중 각 블록 및 블록도 및/또는 흐름도 중 블록의 조합은 일정한 기능 또는 작동을 수행하기 위한 전용 하드웨어 기반 시스템에 의해 구현될 수 있거나 전용 하드웨어와 컴퓨터 명령의 조합에 의해 구현될 수 있다.
이상의 설명은 단지 본 출원의 바람직한 실시예 및 적용된 기술 원리에 대한 설명이다. 본 기술분야의 통상의 기술자는 본 출원에 언급된 발명 범위는 상기 기술 특징의 특정된 조합에 의한 기술적 해결수단에 제한되지 않고, 아울러 본 출원의 사상을 벗어나지 않는 한 상기 기술 특징 또는 그 동등한 특징에 의해 임의로 조합되어 형성된 다른 기술적 해결수단을 포함함을 이해해야 한다. 예를 들어, 상기 특징은 본 출원에서 공개되고(그러나 한정되지 않음) 유사 기능을 가진 기술 특징과 상호 대체되어 형성된 기술적 해결수단이다.

Claims (12)

  1. 증강 현실 방법에 있어서,
    기설정된 선택 조건을 만족하는 복수 개의 빌딩 블록의 아우트라인(outline) 데이터를 획득하는 단계 - 상기 아우트라인 데이터는 3차원 공간에서 빌딩 블록의 아우트라인을 설명하기 위한 것임 - ;
    복수 개의 빌딩 블록 중 각 빌딩 블록의 투사 라인 세그먼트에 기반하여 참조 정보를 생성하는 단계 - 빌딩 블록의 투사 라인 세그먼트는, 3차원 공간에서 빌딩 블록의 아우트라인을 사용자의 단말기의 스크린이 위치한 평면에 매핑한 것에 기반하여 획득되고, 참조 정보는, 수평 방향에서 복수 개의 빌딩 블록 중 빌딩 블록 사이에 차단이 존재하는지 여부 및 차단이 존재하는 경우의 차단 상황을 설명하기 위한 것임 - ;
    참조 정보에 기반하여, 사용자의 단말기에 의해 수집된 이미지에서 복수 개의 빌딩 블록 중의 타겟 빌딩 블록과 타겟 빌딩 블록의 라벨 정보의 중첩 영역을 결정하는 단계; 및
    타겟 빌딩 블록의 라벨 정보를 결정된 중첩 영역에 중첩시켜 증강 현실 이미지를 획득하는 단계를 포함하고,
    참조 정보는, 수평 방향에서 복수 개의 빌딩 블록 중 적어도 하나의 빌딩 블록에 의해 완전히 차단된 빌딩 블록의 식별자와 어느 하나의 빌딩 블록에 의해서도 완전히 차단되지 않은 빌딩 블록의 식별자를 포함하고,
    참조 정보에 기반하여, 사용자의 단말기에 의해 수집된 이미지에서 복수 개의 빌딩 블록 중의 타겟 빌딩 블록과 타겟 빌딩 블록의 라벨 정보의 중첩 영역을 결정하는 단계는,
    수평 방향에서 어느 하나의 빌딩 블록에 의해서도 완전히 차단되지 않은 빌딩 블록을 타겟 빌딩 블록으로 결정하는 단계;
    가장 가까운 빌딩 블록과 두 번째로 가까운 빌딩 블록 사이의 제1 차단 관련 상황에 기반하여, 상기 이미지에서 가장 가까운 빌딩 블록의 라벨 정보의 중첩 영역과 두 번째로 가까운 빌딩 블록의 라벨 정보의 중첩 영역을 결정하는 단계 - 가장 가까운 빌딩 블록은 모든 타겟 빌딩 블록 중 사용자와의 거리가 가장 가까운 타겟 빌딩 블록이고, 두 번째로 가까운 빌딩 블록은 모든 타겟 빌딩 블록 중 사용자와의 거리가 두 번째로 가까운 타겟 빌딩 블록임 - ; 및
    모든 타겟 빌딩 블록 중 가장 가까운 빌딩 블록과 두 번째로 가까운 빌딩 블록을 제외한 각 타겟 빌딩 블록에 대해, 타겟 빌딩 블록과 상기 타겟 빌딩 블록의 이전 타겟 빌딩 블록 사이의 제2 차단 관련 상황에 기반하여, 상기 이미지에서 상기 타겟 빌딩 블록의 라벨 정보의 중첩 영역을 결정하는 단계를 포함하는 증강 현실 방법.
  2. 제1항에 있어서,
    참조 정보는 수평 방향에서 복수 개의 빌딩 블록 중 사용자와의 거리가 가장 가까운 빌딩 블록이 다른 빌딩 블록 전부를 완전히 차단하는 것을 지시하는 지시 정보를 더 포함하고,
    참조 정보에 기반하여, 사용자의 단말기에 의해 수집된 이미지에서 복수 개의 빌딩 블록 중의 타겟 빌딩 블록과 타겟 빌딩 블록의 라벨 정보의 중첩 영역을 결정하는 단계는,
    복수 개의 빌딩 블록 중 사용자와의 거리가 가장 가까운 빌딩 블록을 타겟 빌딩 블록으로 결정하는 단계; 및
    상기 사용자와의 거리가 가장 가까운 빌딩 블록의 투사 라인 세그먼트의 중심점에 기반하여, 상기 이미지에서 상기 사용자와의 거리가 가장 가까운 빌딩 블록의 중첩 영역의 중심점을 결정하는 단계를 포함하는 증강 현실 방법.
  3. 삭제
  4. 제1항에 있어서,
    가장 가까운 빌딩 블록과 두 번째로 가까운 빌딩 블록 사이의 제1 차단 관련 상황에 기반하여, 상기 이미지에서 가장 가까운 빌딩 블록의 라벨 정보의 중첩 영역과 두 번째로 가까운 빌딩 블록의 라벨 정보의 중첩 영역을 결정하는 단계는,
    가장 가까운 빌딩 블록의 투사 라인 세그먼트의 중심점의 가로 좌표를 상기 이미지에서 가장 가까운 빌딩 블록의 라벨 정보의 중첩 영역의 중심점의 가로 좌표로 결정하는 단계;
    제1 차단 관련 상황이 기설정된 차단 관련 상황일 경우, 두 번째로 가까운 빌딩 블록의 투사 라인 세그먼트 중 가장 가까운 빌딩 블록에 의해 차단되지 않은 일부 서브 라인 세그먼트에 대응되는 중심점의 가로 좌표를 상기 이미지에서 두 번째로 가까운 빌딩 블록의 중첩 영역의 중심점의 가로 좌표로 결정하는 단계 - 기설정된 차단 관련 상황은, 두 번째로 가까운 빌딩 블록의 일부가 가장 가까운 빌딩 블록에 의해 차단되고 또한 가장 가까운 빌딩 블록에 의해 차단되지 않은 두 번째로 가까운 빌딩 블록의 비차단 부분이 가장 가까운 빌딩 블록의 일측에 위치하는 상황을 포함함 - ; 및
    제1 차단 관련 상황이 기설정된 차단 관련 상황이 아닐 경우, 두 번째로 가까운 빌딩 블록의 투사 라인 세그먼트의 중심점의 가로 좌표를 상기 이미지에서 두 번째로 가까운 빌딩 블록의 라벨 정보의 중첩 영역의 중심점의 가로 좌표로 결정하는 단계를 포함하는 증강 현실 방법.
  5. 제4항에 있어서,
    상기 증강 현실 방법은,
    사용자와의 거리에 따라, 모든 타겟 빌딩 블록을 정렬하는 단계; 및
    정렬된 각 타겟 빌딩 블록의 순서에 기반하여, 상기 이미지에서 각 타겟 빌딩 블록의 라벨 정보의 중첩 영역 중심점의 세로 좌표를 결정하는 단계를 더 포함하는 증강 현실 방법.
  6. 증강 현실 장치에 있어서,
    기설정된 선택 조건을 만족하는 복수 개의 빌딩 블록의 아우트라인 데이터를 획득하도록 구성된 획득 유닛 - 상기 아우트라인 데이터는 3차원 공간에서 빌딩 블록의 아우트라인을 설명하기 위한 것임 - ;
    복수 개의 빌딩 블록 중 각 빌딩 블록의 투사 라인 세그먼트에 기반하여 참조 정보를 생성하도록 구성된 생성 유닛 - 빌딩 블록의 투사 라인 세그먼트는, 3차원 공간에서 빌딩 블록의 아우트라인을 사용자의 단말기의 스크린이 위치한 평면에 매핑한 것에 기반하여 획득되고, 참조 정보는, 수평 방향에서 복수 개의 빌딩 블록 중 빌딩 블록 사이에 차단이 존재하는지 여부 및 차단이 존재하는 경우의 차단 상황을 설명하기 위한 것임 - ;
    참조 정보에 기반하여, 사용자의 단말기에 의해 수집된 이미지에서 복수 개의 빌딩 블록 중의 타겟 빌딩 블록과 타겟 빌딩 블록의 라벨 정보의 중첩 영역을 결정하도록 구성된 결정 유닛; 및
    타겟 빌딩 블록의 라벨 정보를 결정된 중첩 영역에 중첩시켜 증강 현실 이미지를 획득하도록 구성된 프레젠테이션 유닛을 포함하고,
    상기 결정 유닛은,
    참조 정보가 수평 방향에서 복수 개의 빌딩 블록 중 적어도 하나의 빌딩 블록에 의해 완전히 차단된 빌딩 블록의 식별자와 어느 하나의 빌딩 블록에 의해서도 완전히 차단되지 않은 빌딩 블록의 식별자를 포함할 경우, 수평 방향에서 어느 하나의 빌딩 블록에 의해서도 완전히 차단되지 않은 빌딩 블록을 타겟 빌딩 블록으로 결정하고; 가장 가까운 빌딩 블록과 두 번째로 가까운 빌딩 블록 사이의 제1 차단 관련 상황에 기반하여, 상기 이미지에서 가장 가까운 빌딩 블록의 라벨 정보의 중첩 영역과 두 번째로 가까운 빌딩 블록의 라벨 정보의 중첩 영역을 결정하되, 가장 가까운 빌딩 블록은 모든 타겟 빌딩 블록 중 사용자와의 거리가 가장 가까운 타겟 빌딩 블록이고, 두 번째로 가까운 빌딩 블록은 모든 타겟 빌딩 블록 중 사용자와의 거리가 두 번째로 가까운 타겟 빌딩 블록이며; 모든 타겟 빌딩 블록 중 가장 가까운 빌딩 블록과 두 번째로 가까운 빌딩 블록을 제외한 각 타겟 빌딩 블록에 대해, 타겟 빌딩 블록과 상기 타겟 빌딩 블록의 이전 타겟 빌딩 블록 사이의 제2 차단 관련 상황에 기반하여, 상기 이미지에서 상기 타겟 빌딩 블록의 라벨 정보의 중첩 영역을 결정하도록 구성된 제2 타겟 빌딩 블록 및 중첩 영역 결정 서브 유닛을 포함하는 증강 현실 장치.
  7. 제6항에 있어서,
    상기 결정 유닛은,
    참조 정보가 수평 방향에서 복수 개의 빌딩 블록 중 사용자와의 거리가 가장 가까운 빌딩 블록이 다른 빌딩 블록 전부를 완전히 차단하는 것을 지시하는 지시 정보를 포함할 경우, 복수 개의 빌딩 블록 중 사용자와의 거리가 가장 가까운 빌딩 블록을 타겟 빌딩 블록으로 결정하고; 상기 사용자와의 거리가 가장 가까운 빌딩 블록의 투사 라인 세그먼트의 중심점에 기반하여, 상기 이미지에서 상기 사용자와의 거리가 가장 가까운 빌딩 블록의 중첩 영역의 중심점을 결정하도록 구성된 제1 타겟 빌딩 블록 및 중첩 영역 결정 서브 유닛을 포함하는 증강 현실 장치.
  8. 삭제
  9. 제6항에 있어서,
    제2 타겟 빌딩 블록 및 중첩 영역 결정 서브 유닛은 또한, 가장 가까운 빌딩 블록의 투사 라인 세그먼트의 중심점의 가로 좌표를 상기 이미지에서 가장 가까운 빌딩 블록의 라벨 정보의 중첩 영역의 중심점의 가로 좌표로 결정하고; 제1 차단 관련 상황이 기설정된 차단 관련 상황일 경우, 두 번째로 가까운 빌딩 블록의 투사 라인 세그먼트 중 가장 가까운 빌딩 블록에 의해 차단되지 않은 일부 서브 라인 세그먼트에 대응되는 중심점의 가로 좌표를 상기 이미지에서 두 번째로 가까운 빌딩 블록의 중첩 영역의 중심점의 가로 좌표로 결정하되, 기설정된 차단 관련 상황은, 두 번째로 가까운 빌딩 블록의 일부가 가장 가까운 빌딩 블록에 의해 차단되고 또한 가장 가까운 빌딩 블록에 의해 차단되지 않은 두 번째로 가까운 빌딩 블록의 비차단 부분이 가장 가까운 빌딩 블록의 일측에 위치하는 상황을 포함하며; 제1 차단 관련 상황이 기설정된 차단 관련 상황이 아닐 경우, 두 번째로 가까운 빌딩 블록의 투사 라인 세그먼트의 중심점의 가로 좌표를 상기 이미지에서 두 번째로 가까운 빌딩 블의 라벨 정보의 중첩 영역의 중심점의 가로 좌표로 결정하도록 구성되는 증강 현실 장치.
  10. 제9항에 있어서,
    상기 증강 현실 장치는,
    사용자와의 거리에 따라, 모든 타겟 빌딩 블록을 정렬하고; 정렬된 각 타겟 빌딩 블록의 순서에 기반하여, 상기 이미지에서 각 타겟 빌딩 블록의 라벨 정보의 중첩 영역 중심점의 세로 좌표를 결정하도록 구성된 세로 좌표 결정 유닛을 더 포함하는 증강 현실 장치.
  11. 단말기에 있어서,
    하나 또는 복수 개의 프로세서; 및
    하나 또는 복수 개의 프로그램을 저장하기 위한 메모리를 포함하며,
    상기 하나 또는 복수 개의 프로그램이 상기 하나 또는 복수 개의 프로세서에 의해 실행될 경우, 상기 하나 또는 복수 개의 프로세서가 제1항, 제2항, 제4항 또는 제5항 중 어느 한 항에 따른 증강 현실 방법을 수행하는 단말기.
  12. 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능한 매체에 있어서,
    상기 프로그램이 프로세서에 의해 실행될 경우, 제1항, 제2항, 제4항 또는 제5항 중 어느 한 항에 따른 증강 현실 방법을 수행하는 컴퓨터 판독 가능한 매체.
KR1020190080585A 2018-07-09 2019-07-04 증강 현실 방법 및 장치 KR102219966B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810743420.7A CN108898678B (zh) 2018-07-09 2018-07-09 增强现实方法和装置
CN201810743420.7 2018-07-09

Publications (2)

Publication Number Publication Date
KR20200006001A KR20200006001A (ko) 2020-01-17
KR102219966B1 true KR102219966B1 (ko) 2021-02-24

Family

ID=64348160

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190080585A KR102219966B1 (ko) 2018-07-09 2019-07-04 증강 현실 방법 및 장치

Country Status (5)

Country Link
US (1) US10783373B2 (ko)
EP (1) EP3594907B1 (ko)
JP (1) JP6768123B2 (ko)
KR (1) KR102219966B1 (ko)
CN (1) CN108898678B (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7265822B2 (ja) * 2018-08-27 2023-04-27 キヤノン株式会社 表示制御装置および表示制御方法、並びにプログラム
CN111325984B (zh) * 2020-03-18 2023-05-05 阿波罗智能技术(北京)有限公司 样本数据的获取方法、装置和电子设备
CN111382225B (zh) * 2020-03-18 2023-08-04 北京山维科技股份有限公司 一种建筑规划测量成果数据的存储方法及系统
CN111737392B (zh) * 2020-06-22 2024-04-02 北京百度网讯科技有限公司 合并楼块数据的方法、装置、设备及存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060034535A1 (en) * 2004-08-10 2006-02-16 Koch Roger D Method and apparatus for enhancing visibility to a machine operator
US20110161875A1 (en) * 2009-12-29 2011-06-30 Nokia Corporation Method and apparatus for decluttering a mapping display
KR101329882B1 (ko) * 2010-08-12 2013-11-15 주식회사 팬택 Ar 정보창 표시를 위한 사용자 장치 및 그 방법
JP5955662B2 (ja) * 2012-06-25 2016-07-20 アルパイン株式会社 拡張現実システム
US9378591B2 (en) * 2012-07-27 2016-06-28 Nokia Technologies Oy Method and apparatus for detecting occlusion in an augmented reality display
EP2936443A1 (en) * 2012-12-21 2015-10-28 Metaio GmbH Method for representing virtual information in a real environment
CN104102678B (zh) * 2013-04-15 2018-06-05 腾讯科技(深圳)有限公司 增强现实的实现方法以及实现装置
EP3742405A3 (en) * 2013-09-24 2021-01-13 Apple Inc. Method for representing points of interest in a view of a real environment on a mobile device and mobile device therefor
CN104596523B (zh) * 2014-06-05 2019-05-07 腾讯科技(深圳)有限公司 一种街景目的地引导方法和设备
CN107622241A (zh) * 2017-09-21 2018-01-23 百度在线网络技术(北京)有限公司 用于移动设备的显示方法和装置

Also Published As

Publication number Publication date
CN108898678B (zh) 2020-02-21
CN108898678A (zh) 2018-11-27
EP3594907A1 (en) 2020-01-15
KR20200006001A (ko) 2020-01-17
US20200012857A1 (en) 2020-01-09
JP2020009447A (ja) 2020-01-16
EP3594907B1 (en) 2021-04-28
JP6768123B2 (ja) 2020-10-14
US10783373B2 (en) 2020-09-22

Similar Documents

Publication Publication Date Title
KR102219966B1 (ko) 증강 현실 방법 및 장치
KR102156402B1 (ko) 영상 처리 방법 및 장치
JP2016505961A (ja) 実環境に仮想情報を表現する方法
US11122195B2 (en) Camera parameter estimation device, method, and program
US20170278294A1 (en) Texture Blending Between View-Dependent Texture and Base Texture in a Geographic Information System
JP2023090835A (ja) ファイルの生成装置およびファイルに基づく映像の生成装置
KR20190125526A (ko) 사용자 움직임 정보에 기초하여 영상을 표시하기 위한 방법 및 장치
JP6096634B2 (ja) 仮想現実を用いた3次元地図表示システム
CN108805989B (zh) 场景穿越的方法、装置、存储介质和终端设备
US8687000B2 (en) Image generating apparatus and computer program
CN112529097B (zh) 样本图像生成方法、装置以及电子设备
US20110242271A1 (en) Synthesizing Panoramic Three-Dimensional Images
KR101996241B1 (ko) 실시간 관심 지역을 나타내는 3차원 지도를 제공하는 장치 및 방법
CN109978753B (zh) 绘制全景热力图的方法和装置
US20230394701A1 (en) Information processing apparatus, information processing method, and storage medium
JP2021192244A (ja) 位置情報の生成方法、関連装置及びコンピュータプログラム製品
JP6719945B2 (ja) 情報処理装置、情報処理方法、情報処理システム及びプログラム
KR101404976B1 (ko) 3차원 매칭을 이용한 영상 기반의 보행 경로 poi표출 시스템
JP6091676B2 (ja) 3次元地図表示システム
JP6768400B2 (ja) 情報処理装置、情報処理方法及びプログラム
CN116188668B (zh) 一种基于ios平台的阴影渲染的方法、介质及电子设备
KR20180075222A (ko) 전자 장치 및 그 동작 방법
KR102608466B1 (ko) 영상 처리 방법 및 영상 처리 장치
KR101318324B1 (ko) 영상 기반의 보행 경로 poi표출 시스템
JP2004333993A (ja) ステレオ写真方式による立体視地図表示装置および方法

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