KR20150105479A - 2차원 코드 증강 현실의 실현 방법 및 디바이스 - Google Patents
2차원 코드 증강 현실의 실현 방법 및 디바이스 Download PDFInfo
- Publication number
- KR20150105479A KR20150105479A KR1020157022784A KR20157022784A KR20150105479A KR 20150105479 A KR20150105479 A KR 20150105479A KR 1020157022784 A KR1020157022784 A KR 1020157022784A KR 20157022784 A KR20157022784 A KR 20157022784A KR 20150105479 A KR20150105479 A KR 20150105479A
- Authority
- KR
- South Korea
- Prior art keywords
- dimensional code
- camera video
- video frame
- instructions
- augmented reality
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- G06K9/00671—
-
- G06K9/2063—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/22—Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
- G06V10/225—Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition based on a marking or identifier characterising the area
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- User Interface Of Digital Computer (AREA)
- Image Analysis (AREA)
- Processing Or Creating Images (AREA)
Abstract
2차원 코드 증강 현실의 컴퓨터 구현 방법은 카메라 비디오 프레임을 통해 2차원 코드의 이미지 캡처를 검출하는 단계; 카메라 비디오 프레임에서 캡처된 2차원 코드의 윤곽선을 식별하는 단계; 검출된 2차원 코드에 포함된 정보를 디코딩하는 단계; 디코딩된 2차원 코드에 대응하는 콘텐츠 정보를 획득하는 단계; 카메라 비디오 프레임 내에서 2차원 코드의 식별된 윤곽선을 추적하여 카메라 비디오 프레임에서의 2차원 코드의 위치 정보를 획득하는 단계; 콘텐츠 정보 및 위치 정보에 기초하여 2차원 코드에 대해 증강 현실 처리를 수행하는 단계; 및 디바이스의 디스플레이 상에 현실 세계 영상을 표시하면서 그와 동시에 디바이스 상에 증강 현실을 발생시키는 단계 - 비디오 프레임에서의 2차원 코드의 위치에 따라 임의의 시각적 증강 현실이 표시됨 - 를 포함한다.
Description
관련 출원
본 출원은 2013년 1월 28일자로 출원된 중국 특허 출원 제201310031075.1호, "REALIZATION METHOD AND DEVICE FOR TWO-DIMENSIONAL CODE AUGMENTED REALITY"(참조 문헌으로서 그 전체가 본 명세서에 포함됨)를 기초로 우선권을 주장한다.
발명의 분야
본 발명은 2차원 코드의 기술 분야에 관한 것으로서, 상세하게는 2차원 코드 증강 현실의 실현 방법 및 디바이스에 관한 것이다.
사회적 진보 및 정보 기술 시대와 함께, 점점 더 많은 사람들이 각종의 정보를 획득하기 위해, 예를 들어, 전화 통화를 하기 위해, 다른 사람들과 통신하기 위해, 웹을 브라우징하기 위해, 뉴스를 얻기 위해 그리고 이메일을 검사하기 위해, [모바일 단말, PDA(personal digital assistant) 등과 같은] 각종의 소비자 전자 디바이스에 의존한다. 이러한 인간-컴퓨터 상호작용은 키보드, 마우스 등과 같은 종래의 하드웨어 장비 및 보다 최근에는 터치 스크린과 같은 장비를 비롯한 광범위한 구현들을 통해 달성된다.
그렇지만, 사람들은 기존의 인간-컴퓨터 상호작용 옵션들에 완전히 만족하지는 않으며, 인간-인간 상호작용만큼 자연스럽고 정확하며 즉각적일 수 있는 새로운 세대의 인간-컴퓨터 상호작용을 기대한다. 따라서, 1990년대에, 인간-컴퓨터 상호작용에 관한 연구는 HCNI(Human-Computer Nature Interaction) 또는 HMNI(Human-Machine Nature Interaction)라고 알려져 있는 (두 개 이상의 상호작용 모드를 제공하는) 다중 모드(multi-modal) 단계에 착수하였다.
VR(virtual reality, 가상 현실) 기술은 컴퓨터 시뮬레이션을 사용하여 발생되는 3차원 가상 세계이다. VR은, 사용자가 마치 3차원 공간에서 가상 요소들을 실제로 보고 또한 가상 세계에서 그 요소들과 상호작용할 수 있는 것처럼 느끼게 하기 위해, 시각, 청각 및/또는 촉각 감각 시뮬레이션을 사용자에게 제공한다. VR(virtual reality) 기술은 현실 세계를 넘어서는 가상 시뮬레이션을 생성할 수 있는 능력을 가지고 있다. VR은 3차원의 실물과 똑같은 가상 환경을 발생시키기 위해 3차원 그래픽, 다중 센서 상호작용 및 고해상도 디스플레이를 이용하는, 멀티미디어 기술로 개발된 진화하는 컴퓨터 기술이다.
AR(Augmented Reality, 증강 현실)은 가상 현실 분야에서의 새로운 기술 개발이고, 혼합 현실(mixed reality)이라고도 알려져 있다. AR은 컴퓨터 시스템에 의해 제공되는 정보를 통해, 현실 세계에서 상호작용하는 사용자의 지각(perception)을 향상시키기 위해 사용된다. AR은 가상 현실 정보를 현실 세계에 적용하고, 증강 현실 향상을 실현하기 위해 컴퓨터에 의해 발생된 가상 대상(subject), 장면 또는 정보를 특정의 현실 세계 시나리오에 중첩시킨다.
최근 몇 년에 2차원 코드 기술이 널리 보급됨에 따라, 2차원 코드를 이용하는 몇몇 증강 현실 방법들이 개발되었다. 현재, 기존의 2차원 코드 증강 현실 방법은 주로 오픈 소스(open-source) 2차원 코드 인식 라이브러리에 기초하고 있다. 그의 장점은 실현하기 간단하고 양호하게 위치 결정(well-positioned)되지만, 그의 단점은 2차원 코드 검출 및 인식 알고리즘이 함께 혼합될 때 속도가 아주 느리다는 것이다. 게다가, 기존의 방법에서는, 2차원 코드의 추적 방법이 없고, 검출 및 인식을 위해 모든 프레임이 필요하며, 검출의 성공률이 아주 낮고, 모바일 단말에 의한 실시간 검출 요구사항을 달성할 수 없다.
증강 현실을 발생시키는 종래의 접근법과 연관된 상기 결점들 및 다른 문제점들이 이하에 개시된 발명에 의해 감소되거나 제거된다. 일부 실시예들에서, 본 발명은 하나 이상의 프로세서들, 메모리, 및 메모리에 저장되어 있는, 다수의 기능들을 수행하는 하나 이상의 모듈들, 프로그램들, 또는 명령어 집합들을 가지는 컴퓨터 시스템에서 구현된다. 이들 기능을 수행하는 명령어들은 하나 이상의 프로세서들에 의한 실행을 위해 구성된 컴퓨터 프로그램 제품에 포함될 수 있다.
본 발명의 하나의 양태는 하나 이상의 프로세서들 및 메모리를 가지는 컴퓨터에 의해 수행되는 컴퓨터 구현 방법을 포함한다. 본 컴퓨터 구현 방법은 카메라 비디오 프레임을 통해 2차원 코드의 이미지 캡처(image capture)를 검출하는 단계; 카메라 비디오 프레임에서 캡처된 2차원 코드의 윤곽선(contour)을 식별하는 단계; 검출된 2차원 코드에 포함(embed)된 정보를 디코딩하는 단계; 디코딩된 2차원 코드에 대응하는 콘텐츠 정보를 획득하는 단계; 카메라 비디오 프레임 내에서 2차원 코드의 식별된 윤곽선을 추적하여 카메라 비디오 프레임에서의 2차원 코드의 위치 정보를 획득하는 단계; 콘텐츠 정보 및 위치 정보에 기초하여 2차원 코드에 대해 증강 현실 처리를 수행하는 단계; 및 디바이스의 디스플레이 상에 현실 세계 영상을 표시하면서 그와 동시에 디바이스 상에 증강 현실을 발생시키는 단계 - 비디오 프레임에서의 2차원 코드의 위치에 따라 임의의 시각적 증강 현실이 표시됨 - 를 포함한다.
본 발명의 다른 양태는 컴퓨터 시스템을 포함한다. 본 컴퓨터 시스템은 메모리, 하나 이상의 프로세서들, 및 메모리에 저장되어 있고 하나 이상의 프로세서들에 의한 실행을 위해 구성된 하나 이상의 프로그램들을 포함한다. 그 하나 이상의 프로그램들은 카메라 비디오 프레임을 통해 2차원 코드의 이미지 캡처를 검출하는 것; 카메라 비디오 프레임에서 캡처된 2차원 코드의 윤곽선을 식별하는 것; 검출된 2차원 코드에 포함된 정보를 디코딩하는 것; 디코딩된 2차원 코드에 대응하는 콘텐츠 정보를 획득하는 것; 카메라 비디오 프레임 내에서 2차원 코드의 식별된 윤곽선을 추적하여 카메라 비디오 프레임에서의 2차원 코드의 위치 정보를 획득하는 것; 콘텐츠 정보 및 위치 정보에 기초하여 2차원 코드에 대해 증강 현실 처리를 수행하는 것; 및 디바이스의 디스플레이 상에 현실 세계 영상을 표시하면서 그와 동시에 디바이스 상에 증강 현실을 발생시키는 것 - 비디오 프레임에서의 2차원 코드의 위치에 따라 임의의 시각적 증강 현실이 표시됨 - 을 포함한다.
본 발명의 다른 양태는 하나 이상의 프로그램들을 저장하는 비일시적 컴퓨터 판독가능 저장 매체를 포함하고, 그 하나 이상의 프로그램들은, 디스플레이 및 카메라를 갖는 전자 디바이스에 의해 실행될 때, 그 디바이스로 하여금, 카메라 비디오 프레임을 통해 2차원 코드의 이미지 캡처를 검출하게 하는 명령어들; 카메라 비디오 프레임에서 캡처된 2차원 코드의 윤곽선을 식별하게 하는 명령어들; 검출된 2차원 코드에 포함된 정보를 디코딩하게 하는 명령어들; 디코딩된 2차원 코드에 대응하는 콘텐츠 정보를 획득하게 하는 명령어들; 카메라 비디오 프레임 내에서 2차원 코드의 식별된 윤곽선을 추적하여 카메라 비디오 프레임에서의 2차원 코드의 위치 정보를 획득하게 하는 명령어들; 콘텐츠 정보 및 위치 정보에 기초하여 2차원 코드에 대해 증강 현실 처리를 수행하게 하는 명령어들; 및 디바이스의 디스플레이 상에 현실 세계 영상을 표시하면서 그와 동시에 디바이스 상에 증강 현실을 발생시키게 하는 명령어들 - 비디오 프레임에서의 2차원 코드의 위치에 따라 임의의 시각적 증강 현실이 표시됨 - 을 포함한다.
본 발명의 전술한 특징들 및 장점들은 물론, 그의 부가의 특징들 및 장점들이, 도면들과 관련하여 살펴볼 때 이하에서 바람직한 실시예들의 상세한 설명의 결과로서, 보다 명확하게 이해될 것이다.
도 1은 본 발명의 일 실시예에 기초한 2차원 코드 증강 현실의 실현 방법의 플로우차트도.
도 2는 본 발명의 일 실시예에 기초한 2차원 코드 증강 현실의 실현 방법의 예증적 플로우차트도.
도 3은 본 발명의 일 실시예에 기초한 QR 2차원 코드 앵커 포인트(QR two-dimensional code anchor point)의 개략도.
도 4는 본 발명의 일 실시예에 기초한 QR 2차원 코드 앵커 포인트의 특징 개략도.
도 5는 본 발명의 일 실시예에 기초한 2차원 코드 검출 방법의 플로우차트도.
도 6은 본 발명의 일 실시예에 기초한 QR 2차원 코드의 예시적인 수평 특징 스캔 및 수직 특징 스캔을 나타낸 도면.
도 7은 본 발명의 일 실시예에 기초한 2차원 코드 검출 및 추적 방법의 플로우차트도.
도 8은 본 발명의 일 실시예에 기초한 2차원 코드 추적 방법의 예증적 플로우차트도.
도 9는 본 발명의 일 실시예에 기초한 2차원 코드 증강 현실의 실현 장치의 구조도.
도 10은 2차원 코드의 검출 및 대응하는 증강 현실 정보의 표시를 설명하는 본 발명의 일 실시예의 예시적인 표현.
도 11은 일부 구현들에 따른, 증강 현실 발생을 위한 클라이언트-서버 환경의 다이어그램.
도 12는 일부 구현들에 따른, 증강 현실 발생을 위한 디바이스의 예시적인 구현의 다이어그램.
첨부 도면의 몇몇 도면들 전체에 걸쳐 유사한 참조 번호들은 대응하는 부분들을 가리킨다.
도 1은 본 발명의 일 실시예에 기초한 2차원 코드 증강 현실의 실현 방법의 플로우차트도.
도 2는 본 발명의 일 실시예에 기초한 2차원 코드 증강 현실의 실현 방법의 예증적 플로우차트도.
도 3은 본 발명의 일 실시예에 기초한 QR 2차원 코드 앵커 포인트(QR two-dimensional code anchor point)의 개략도.
도 4는 본 발명의 일 실시예에 기초한 QR 2차원 코드 앵커 포인트의 특징 개략도.
도 5는 본 발명의 일 실시예에 기초한 2차원 코드 검출 방법의 플로우차트도.
도 6은 본 발명의 일 실시예에 기초한 QR 2차원 코드의 예시적인 수평 특징 스캔 및 수직 특징 스캔을 나타낸 도면.
도 7은 본 발명의 일 실시예에 기초한 2차원 코드 검출 및 추적 방법의 플로우차트도.
도 8은 본 발명의 일 실시예에 기초한 2차원 코드 추적 방법의 예증적 플로우차트도.
도 9는 본 발명의 일 실시예에 기초한 2차원 코드 증강 현실의 실현 장치의 구조도.
도 10은 2차원 코드의 검출 및 대응하는 증강 현실 정보의 표시를 설명하는 본 발명의 일 실시예의 예시적인 표현.
도 11은 일부 구현들에 따른, 증강 현실 발생을 위한 클라이언트-서버 환경의 다이어그램.
도 12는 일부 구현들에 따른, 증강 현실 발생을 위한 디바이스의 예시적인 구현의 다이어그램.
첨부 도면의 몇몇 도면들 전체에 걸쳐 유사한 참조 번호들은 대응하는 부분들을 가리킨다.
이제부터, 실시예들에 대해 상세히 언급할 것이며, 이들 실시예의 예가 첨부 도면들에 예시되어 있다. 이하의 발명을 실시하기 위한 구체적인 내용에서, 본 명세서에 제시된 발명 요지의 완전한 이해를 제공하기 위해 다수의 구체적인 상세가 기재되어 있다. 그러나, 발명 요지가 이들 구체적인 상세 없이 실시될 수 있다는 것이 통상의 기술자에게는 명백할 것이다. 다른 경우에, 그 실시예들의 양태들을 불필요하게 모호하게 하지 않기 위해 공지의 방법, 절차, 구성요소 및 회로가 상세히 기술되지 않았다.
본 발명의 목적, 기술적 방식 및 장점들을 보다 명확히 이해하기 위해, 본 발명이 이하에서 첨부 도면과 관련하여 상세히 기술된다.
종래의 기술에서, 증강 현실은 현재 두 가지 주요 방식, 즉, 특수 기호 또는 심볼의 검출에 응답하여 증강 현실을 발생시키는 것, 및 실생활의 물체들의 검출에 응답하여 증강 현실을 발생시키는 것으로 구현된다.
특수 기호에 대해 사용되는 증강 현실 방법은 이미 위치 결정을 위한 자체 정의된 흑백 식별 코드(self-defined black-white identification code)를 사용하는 기술을 가지고 있으며, 예를 들어, 워싱턴 대학의 HIT laboratory에 의해 개발된 ARToolKit 증강 현실 오픈 소스 라이브러리에 의해 사용되는 BCH 코드, 동심원 기호(concentric circles signs) 등이 흔히 사용된다. 이러한 종류의 방식의 식별 코드는 간단하고, 검출 알고리즘이 간단하며, 클라이언트측의 동작 속도가 보다 빠르고, 인식 알고리즘이 보통 클라이언트측에 배치될 수 있는데, 그 이유는 많은 특징 라이브러리의 지원을 필요로 하지 않기 때문이다. 그렇지만, 이러한 종류의 방식의 단점은 보통 식별 코드 자체가 비교적 고정되고 간단하며, 정보의 양이 보다 적은 반면, 식별 코드의 포맷이 범용적이지 않아 널리 보급되기 어렵다는 것이다. 예를 들어, 기존의 기술에서, (ARToolKit에 의해 사용되는 BCH 코드와 같은) BCH 코드 등과 같은 특정 기호의 증강 현실 알고리즘의 경우, 0부터 4095까지 총 4096개의 숫자들이 표현될 수 있고, 보다 많은 디지털 콘텐츠 및 텍스트 등과 같은 보다 풍부한 정보를 표현할 수 없으며, 더 많은 자체 정의된 특정 기호들에 의해 보다 적은 양의 정보가 표현된다.
기존의 기술에서, 최근 몇 년에 아주 보편화된 증강 현실 방법은 자연 사진에 대해 사용되는 증강 현실 방법이다. 이 방법은 특정 기호를 채택하지 않고 위치 결정할 표지로서 자연 평면 사진(natural plan picture)을 촬영하기만 하면 된다. 이러한 방법은 보통 [SIFT, SURF, FAST 등의 특징점(key point) 검출 알고리즘과 같은] 특징점 검출 방식 및 [SIFT, SURF, BRIEF 등의 국소 특징 기술자(local characteristic descriptor)와 같은] 국소 특징 기술자를 채택한다. 적합한 특징점(characteristic point)에 대해, 적어도 그 방법은 또한 그의 호모그래피 행렬(homography matrix)을 구하기 위해 (RANSAC, PROSAC 등과 같은) 기하학적 검증 알고리즘을 채택할 필요가 있다. 따라서, 그의 프런트 엔드 검출 알고리즘(front end detection algorithm)은 아주 복잡하고 실시간으로 달성하기 어렵다. 한편, 그 모두보다 더 중요한 것은, 그의 인식이 특징 데이터 라이브러리를 오프라인에서 훈련(train)시키는 것을 필요로 하고, 훈련 및 인식 알고리즘의 실행 시간이 아주 길며, 한편, 엄청난 양의 사진들에 대해, 서버측에 데이터베이스를 구축해야만 하고, 따라서, 인식 알고리즘이 클라이언트측에 포함될 수 없음으로써 다목적(multi-objective) 증강 현실 방법이 실현될 수 없다는 것이다.
2차원 코드의 기술이 점점 더 보편화됨에 따라, 2차원 코드에 적용되는 일부 증강 현실 방법들이 최근 몇 년에 개발되었다. 현재, 기존의 2차원 코드 증강 현실 방법은 ZBar, ZXing와 같은 오픈 소스 2차원 코드 인식 라이브러리에 기초하며, 그의 장점은 실현하기 간단하고 양호하게 위치 결정(well-positioned)된다는 것이지만, 그의 단점은, 한편으로, 검출 및 인식 알고리즘이 함께 혼합될 때 속도가 아주 느리고; 다른 한편으로, 추적 방법이 없고, 검출 및 인식을 위해 모든 프레임이 필요하며, 검출의 성공률이 아주 낮고, 그와 동시에 다양한 모바일 장비들의 실시간 요구사항을 달성할 수 없다는 것이다.
종래의 QR 2차원 코드 인식 알고리즘의 산술 속도는 비교적 느리고, 다양한 모바일 장비들에 의한 실시간 검출 요구사항을 충족시킬 수 없다. 구체적으로는, (ZBar, ZXing 등과 같은) 종래의 QR 2차원 코드 인식 알고리즘이 PC 상에서는 거의 실시간의 속도에 도달할 수 있지만, 모바일 장비에서는 초당 단지 1개 내지 2개의 프레임만이 처리될 수 있고, 이는 실시간 요구사항(초당 25 프레임)을 충족시킬 수 없으며, 따라서 증강 현실 기술에 대해 종래의 QR 2차원 코드 인식 라이브러리를 적용하는 것은 실시간 위치 결정 및 실시간 표시의 효과를 실현할 수 없다. 이것은 주로 2가지 이유에 의해 야기된다: 하나는 종래의 QR 2차원 코드 인식 알고리즘이 검출 모듈과 결합되지만, 병목 현상이 주로 인식의 부분에 있다는 것이고; 다른 하나는 종래의 QR 2차원 코드 인식 알고리즘이 QR 2차원 코드의 추적 모듈을 갖지 않으며, 따라서 QR 2차원 코드의 위치를 실시간으로 추적하는 것을 실현할 수 없다는 것이다.
이들 전술한 기존의 기술적 결점들에 대해, 본 발명의 실시예는 2차원 코드 증강 현실의 실현 방법을 제안한다.
먼저, 본 발명의 실시예의 대응하는 설명에 나올 수 있는 관련 단어들을 설명한다. 카메라 비디오 프레임 이미지(camera video frame image)는 구체적으로는 카메라로부터 획득되는 비디오의 각각의 프레임으로부터 획득되는 이미지 데이터를 지칭하고; 초기 카메라 그레이스케일 프레임(initial camera grayscale frame)은 구체적으로는 추적이 시작될 때 첫번째 카메라 비디오 프레임 이미지의 그레이스케일 변환 후에 획득되는 그레이스케일 이미지를 지칭하며; 현재 카메라 그레이스케일 프레임(current camera grayscale frame)은 구체적으로는 현재 카메라 비디오 프레임 이미지의 그레이스케일 변환 후에 획득되는 그레이스케일 이미지를 지칭하고; 이전 카메라 그레이스케일 프레임(previous camera grayscale frame)은 구체적으로는 이전 카메라 비디오 프레임 이미지의 그레이스케일 변환 후에 획득되는 그레이스케일 이미지를 지칭하며; 디스플레이 비디오 프레임 이미지(display video frame image)는 구체적으로는 영상 비디오 프레임 이미지에 중첩하는 디스플레이 자료로서 받는 디스플레이 비디오의 각각의 프레임으로부터 획득되는 이미지 데이터를 지칭하고; 원래의 2차원 코드 이미지(original two-dimensional code image)는 구체적으로는 어떤 변경도 없는 원래의 2차원 코드의 직접 찍은 사진(direct picture)을 지칭하며; 카메라 2차원 코드 이미지(camera two-dimensional code image)는 구체적으로는 카메라로부터 획득되는 영상 비디오 프레임 이미지에 포함된 2차원 코드 이미지 부분을 지칭한다.
도 1은 본 발명의 일 실시예에 기초한 2차원 코드 증강 현실의 실현 방법(100)의 플로우차트도이다.
도 1에 도시된 바와 같이, 본 방법은 카메라 비디오 프레임을 통해 2차원 코드의 이미지 캡처를 검출하는 단계(102)를 포함한다. 여기서, 카메라 비디오 프레임 이미지는 카메라로부터 획득된 각각의 비디오 프레임으로부터 획득되는 이미지 데이터이다. 일부 실시예들에서, 2차원 코드는 구체적으로는 QR(quick-response) 2차원 코드이다. 예를 들어, 사용자는, QR 코드가 카메라의 프레임에 시각적으로 캡처되고 또한 디스플레이 스크린 상에 표시될 수 있도록, 디스플레이 스크린 및 카메라를 포함하는 전자 디바이스를 2차원 코드를 표시하는 무언가(예컨대, QR 코드를 갖는 잡지 광고)의 위쪽에 위치시킬 수 있다.
본 방법(100)은 카메라 비디오 프레임에서 캡처된 2차원 코드의 윤곽선을 식별하는 단계(104)를 추가로 포함한다. 윤곽선은 2차원 코드의 가장자리 또는 경계 영역의 특징을 말한다. 예를 들어, 카메라 비디오 프레임에서 캡처된 QR 코드의 윤곽선을 식별하는 것은 QR 코드의 위치 결정 및 정렬 코너들을 식별하는 것을 포함한다. 2차원 코드의 윤곽선을 식별하는 단계(104)의 요소가 본 발명에서 추가로 기술되고 상세히 설명된다.
본 방법(100)은 검출된 2차원 코드에 포함된 정보를 디코딩하는 단계(106), 및 디코딩된 2차원 코드에 대응하는 콘텐츠 정보를 획득하는 단계(108)를 추가로 포함한다. 예를 들어, 일부 실시예들에서, 콘텐츠 정보는 비디오, 오디오, 텍스트 또는 그래픽 정보 또는 이들 또는 다른 유형의 콘텐츠 정보 중 임의의 것의 조합이다. 일부 실시예들에서, 디코딩된 2차원 코드에 대응하는 콘텐츠 정보는 증강 현실 발생 서버로부터 온다.
본 방법(100)은 카메라 비디오 프레임 내에서 2차원 코드의 식별된 윤곽선을 추적하여 카메라 비디오 프레임에서의 2차원 코드의 위치 정보를 획득하는 단계(110)를 추가로 포함한다. 예를 들어, 사용자는 핸드헬드 전자 디바이스로 QR 코드를 캡처하고 있을 수 있고, 여기서 QR 코드는 인쇄된 광고의 일부이다. 사용자가 디바이스를 이리저리 움직일 때, 식별된 윤곽선을 추적하는 것은, 2차원 코드의 상대적 위치를 획득 또는 결정하는 것과 함께, 카메라 비디오 프레임에서 식별된 윤곽선의 움직임을 추적하는 것을 포함한다.
본 방법(100)은 콘텐츠 정보 및 위치 정보에 기초하여 2차원 코드에 대해 증강 현실 처리를 수행하는 단계(112)를 추가로 포함한다. 예를 들어, 콘텐츠 정보는 비디오를 전자 디바이스의 디스플레이 스크린 상에 표시하는 명령어들을 포함할 수 있고, 증강 현실 처리를 수행하는 것은 비디오를 스크린 상에서 식별된 2차원 코드의 위치에 대해 어디에 표시할지를 결정하는 것을 포함한다. 마지막으로, 본 방법은 디바이스의 디스플레이 상에 현실 세계 영상을 표시하면서 그와 동시에 디바이스 상에 증강 현실을 발생시키는 단계(114) - 비디오 프레임에서의 2차원 코드의 위치에 따라 임의의 시각적 증강 현실이 표시됨 - 를 포함한다. 일부 실시예들에서, 증강 현실을 발생시키는 것은 증강 현실을 전자 디바이스의 디스플레이 상에 표시하는 것을 포함한다. 일부 실시예들에서, 콘텐츠 정보에 기초한 증강 현실이 2차원 코드가 차지하는 공간에 표시된다. 일부 실시예들에서, 이것은 표시하는 콘텐츠 정보(예컨대, 비디오 이미지)의 크기를 원래의 2차원 코드 이미지의 크기로 변환하는 것, 카메라 비디오 프레임 이미지에서의 2차원 코드의 위치 정보에 따라 콘텐츠 정보(예컨대, 디스플레이 비디오 프레임 이미지)에 대한 변환을 수행하는 것, 및 변환된 콘텐츠 정보(예컨대, 디스플레이 비디오 프레임 이미지)를 카메라 비디오 프레임 이미지에 오버레이하는 것을 포함할 수 있다. 일부 실시예들에서, 디바이스 상에 증강 현실을 발생시키는 것(114) - 비디오 프레임에서의 2차원 코드의 위치에 따라 임의의 시각적 증강 현실이 표시됨 - 은 카메라 비디오 프레임에서의 2차원 코드의 임의의 검출된 움직임에 대응하도록 디스플레이에서 시각적 증강 현실을 이동시키는 것을 포함한다(예컨대, 2차원 코드가 카메라 비디오 프레임의 우측 하부 코너에 있는 경우, 시각적 증강 현실도 역시 일반적으로 카메라 비디오 프레임의 우측 하부 코너에 있다).
선택적으로, 3차원(3D) 모델이 언급된 2차원 코드의 콘텐츠 정보 및 카메라 비디오 프레임 이미지에서의 2차원 코드의 위치 정보에 기초한 2차원 코드의 위치에 표시될 수 있다. 그 중에서, 3D 모델을 2차원 코드의 위치에 표시하는 것은 3D 모델의 세계 좌표(world coordinate)의 투영 스크린의 평면 좌표(plane coordinate)로의 변환 행렬을 계산하는 것; 변환 행렬을 사용하여, 카메라 비디오 프레임 이미지에서의 2차원 코드의 위치 정보에 따라 카메라 비디오 프레임 이미지에 3D 모델을 오버레이하는 것을 포함할 수 있다.
일부 실시예들에서, 언급된 2차원 코드의 윤곽선을 획득하기 위해 카메라 비디오 프레임 이미지에서 2차원 코드를 검출하는 것(102)은 이 카메라 비디오 프레임 이미지를 그레이스케일 이미지로 변환하고, 언급된 그레이스케일 이미지를 이진 이미지로 변환하는 것; 이 이진 이미지에 대해 수평 앵커 포인트 특징 스캔 및 수직 앵커 포인트 특징 스캔을 실행하여 수평 앵커 포인트 특징 라인 및 수직 앵커 포인트 특징 라인을 획득하는 것; 수평 앵커 포인트 특징 라인과 수직 앵커 포인트 특징 라인의 교차점을 계산하여 QR 2차원 코드의 앵커 포인트의 위치를 획득하는 것; 및 QR 2차원 코드의 앵커 포인트의 계산된 위치에 따라 이 QR 2차원 코드의 윤곽선을 획득하는 것을 포함할 수 있다.
일부 실시예들에서, 본 방법은 카메라 비디오 프레임 이미지에서 2차원 코드가 검출되지 않을 때, 이 카메라 비디오 프레임 이미지에 대해 다운샘플링 처리를 수행하고, 다운샘플링 처리를 수행한 후의 카메라 비디오 프레임 이미지에서 2차원 코드를 검출하려고 재시도하는 단계를 추가로 포함할 수 있다.
일부 실시예들에서, 카메라 비디오 프레임에서 2차원 코드가 검출되지 않는다는 판정에 따라(예컨대, 사용자가 디바이스를 2차원 코드를 갖는 물체로부터 멀어지는 쪽으로 이동시킴으로써 코드가 카메라 비디오 프레임에 더 이상 없는 경우), 본 방법은 디바이스 상에 증강 현실을 제시하는 것을 종료하는 단계를 추가로 포함한다.
일부 실시예들에서, 사용자는 예를 들어, 디바이스 상의 물리적 버튼(예컨대, 홈 또는 전원 버튼)을 누르는 것에 의해, 터치 스크린 디스플레이를 탭핑하는 것에 의해, 터치 스크린 디스플레이 상의 버튼을 누르거나 키보드 상의 키를 누르는 것에 의해 증강 현실을 제시하는 것을 종료하기로 선택할 수 있다. 일부 실시예들에서, 사용자는 시각적으로 전달되는 어포던스(affordance)(예컨대, 디바이스 디스플레이 상에 보여지는 음소거 버튼)를 통해 증강 현실 제시의 임의의 가청 부분을 음소거하기로 선택할 수 있다. 일부 실시예들에서, 사용자는 디바이스 상에서의 증강 현실의 임의의 제시를 일시 중지, 고속 감기 또는 되감기하기로 선택할 수 있다. 일부 실시예들에서, 사용자는 증강 현실 제시의 포맷(예컨대, 오디오 전용, 비디오 전용, 2D 비디오 전용, 텍스트 전용, 기타)을 선택할 수 있다. 일부 실시예들에서, 디바이스는 입력된 기본 설정(preference) 또는 사용자의 과거 행동(예컨대, 사용자는 전형적으로 오디오 전용 증강 현실을 선택함)에 기초하여 학습된 기본 설정에 기초한, 사용자의 증강 현실 제시 기본 설정을 저장한다. 일부 실시예들에서, 디바이스는 디바이스가 증강 현실을 제시하도록 허용할지 여부의 옵션을 사용자에게 프롬프트하고(예컨대, 디바이스가 증강 현실의 제시의 허용 여부를 사용자에게 질문하는 프롬프트를 디스플레이 상에 표시함), 사용자가 디바이스가 증강 현실을 제시하도록 허용한다는 판정에 따라, 디바이스는 증강 현실을 제시한다. 일부 실시예들에서, 증강 현실 제시는 시각적 성분(예컨대, 디바이스 상에 표시되는 비디오, 이미지 또는 텍스트)을 가지며, 시각적 성분은 사용자에 의해 크기 조정될 수 있다(예컨대, 비디오가 확대되거나 축소될 수 있음). 일부 실시예들에서, 증강 현실을 시각적으로 제시하는 것은 현실 세계 영상의 동시 표시를 용이하게 하기 위해 부분적으로 투명하거나 반투명하게 표시된다.
일부 실시예들에서, 증강 현실이 사용자에게 실시간으로 제시되는데, 그 이유는 증강 현실에 대응하는 콘텐츠 정보가 증강 현실 발생 서버로부터 다운로드되기 때문이다. 일부 실시예들에서, 디바이스는 증강 현실을 사용자에게 제시하기 전에 증강 현실 콘텐츠 정보의 적어도 일부분을 다운로드한다(예컨대, 신호 세기가 낮은 경우 콘텐츠를 버퍼링함).
일부 실시예들에서, 디바이스는 카메라 비디오 프레임에서 2개 이상의 2차원 코드를 검출할 수 있고, 그와 동시에 각각의 검출된 2차원 코드에 대응하는 증강 현실을 발생시킬 수 있다. 예를 들어, 사용자가 레스토랑에 있는 메뉴 상에서 10개의 QR 코드 - 각각이 메뉴 상의 항목과 연관되어 있음 - 를 검출하는 경우, 예시적인 구현에서, 디바이스는 연관된 QR 코드를 갖는 각각의 메뉴 항목의 번역을 스크린 상에 제시할 수 있다.
일부 실시예들에서, 2차원 코드는 구체적으로는 QR(quick-response) 2차원 코드이다. 일부 실시예들에서, 카메라 비디오 프레임에서 캡처된 2차원 코드의 윤곽선을 식별하는 것(104)은 2차원 코드의 윤곽선에 따라, 대응하는 초기 카메라 비디오 그레이스케일 프레임을 획득하고 이 2차원 코드의 윤곽선 내에서 초기 추적점 집계(initial tracking point aggregation)를 계산하는 것; 초기 추적점 집계 수가 미리 설정된 임계값 초과일 때, 현재 카메라 비디오 그레이스케일 프레임, 이전 추적점 집계(previous tracking point aggregation) 및 이전 카메라 비디오 그레이스케일 프레임을 획득하는 것; 현재 카메라 비디오 그레이스케일 프레임, 이전 추적점 집계 및 이전 카메라 비디오 그레이스케일 프레임을 광학적 흐름 추적 모드(optic flow tracking mode)들에서 적용할 파라미터로서 취하여 현재 카메라 비디오 프레임 이미지에 의해 추적되는 현재 추적점 집계(current tracking point aggregation)를 획득하는 것; 및 초기 추적점 집계 및 현재 추적점 집계의 대응하는 도트 쌍(dotted pair)들에 따라 호모그래피 행렬을 계산하는 것을 추가로 포함한다.
바람직하게는, 현재 카메라 비디오 프레임 이미지에 의해 추적되는 현재 추적점 집계를 획득한 후에, 이 현재 추적점 집계가 초기 추적점 집계의 미리 설정된 비율을 초과하는 것으로 판정될 때, 카메라 비디오 프레임 이미지들의 현재 추적된 개수가 미리 설정된 임계값 초과인지를 추가로 판단할 것이고, 아니오인 경우, 초기 추적점 집계 및 현재 추적점 집계의 대응하는 도트 쌍들에 따라 호모그래피 행렬을 계산할 것이다.
본 발명의 실시예에 의해 제공되는 알고리즘 프로세스는 기능 면에서 3개의 모듈 - 검출 추적 모듈, 정보 인식 모듈 및 정보 표시 모듈 - 로 분할될 수 있다. 검출 추적 모듈은 2차원 코드 검출, 2차원 코드 추적 및 위치 정보 획득의 기능 실현을 포함한다. 정보 인식 모듈은 2차원 코드 인식 및 콘텐츠 정보 획득의 기능 실현을 포함한다. 정보 표시 모듈은 주로 증강 현실 표시 콘텐츠의 기능 실현을 포함한다.
전술한 분석에 기초하여, 도 2는 본 발명의 실시예에 기초한 2차원 코드 증강 현실의 실현 방법의 예증적 플로우차트도이다.
도 2에 도시된 바와 같이, 본 방법은 다음과 같은 단계들을 포함한다:
단계(201): 카메라 비디오 프레임 이미지에서 2차원 코드를 검출하고, 여기서, 카메라 비디오 프레임 이미지는 카메라에 의해 획득된 각각의 비디오 프레임에서 획득되는 이미지 데이터이다.
단계(202): 2차원 코드가 검출되는지를 판단하고, 예인 경우, 단계(209) 및 후속 단계들을 수행하고, 그와 동시에 단계(203) 및 후속 단계들을 수행하며, 아니오인 경우, 되돌아가서 단계(201)를 수행한다. 즉, 2차원 코드가 검출된 것으로 판정되는 경우, 2개의 "예" 분기를 동시에 수행하고, 하나의 분기는 단계(203), 단계(204), 단계(205) 및 단계(206)를 순서대로 수행하는 것이고; 다른 분기는 단계(209), 단계(210) 및 단계(211)를 순서대로 수행하는 것이다.
제1 분기는 다음과 같이 기술된다:
단계(203): 2차원 코드 추적 처리를 수행한다.
단계(204): 2차원 코드가 추적되는지를 판단하고, 예인 경우, 단계(205) 및 후속 단계들을 수행하고, 그렇지 않은 경우, 단계(201) 및 후속 단계들을 수행한다.
단계(205): 30개의 프레임이 추적되었는지를 판단하고, 예인 경우, 되돌아가서 단계(201) 및 후속 단계들을 수행하고, 그렇지 않은 경우, 단계(206)를 수행한다.
단계(206): 2차원 코드의 위치 정보를 획득한다. 위치 정보가 획득되는 경우, 단계(207)로 진행하지만, 아니오인 경우, 단계(203)로 되돌아간다.
지금까지, 단계(202)에서 검출되는 2차원 코드의 제1 "예" 분기가 완전히 수행되는 것으로 판정한다.
제2 분기는 다음과 같이 기술된다:
단계(209): 단계(202)에서 2차원 코드가 검출되는 것으로 판정한 후에, 2차원 코드 인식을 수행한다.
단계(210): 2차원 코드 인식이 성공적인지 여부를 판단하고, 예인 경우, 단계(211)를 수행하고, 그렇지 않은 경우, 되돌아가서 단계(201)를 수행한다.
단계(211): 2차원 코드의 콘텐츠 정보를 획득한다. 예를 들어, 콘텐츠 정보는 URL, 명함 정보 등과 같은 다양한 형태일 수 있다.
지금까지, 단계(202)에서 검출되는 2차원 코드의 제2 "예" 분기가 완전히 수행되는 것으로 판정한다.
2개의 분기가 모두 완료될 때, 단계(207) 및 단계(208)를 수행한다.
단계(207): 제1 "예" 분기에서 획득된 2차원 코드의 위치 정보 및 제2 "예" 분기에서 획득된 2차원 코드의 콘텐츠 정보를 사용하여 2차원 코드의 증강 현실 표시를 수행한다. 예를 들어, 2차원 코드의 위치 정보에 기초하여, 2차원 코드의 콘텐츠 정보가 카메라 비디오의 대응하는 위치에 2D 비디오 또는 3D 비디오의 형태로 표시될 수 있다.
단계(208): 프로세스가 종료될 수 있는지를 판단한다. 예인 경우, 프로세스를 종료하고, 아니오인 경우, 되돌아가서 단계(201)를 수행한다.
QR 2차원 코드를 예로 하여, 2차원 코드 검출의 프로세스가 이하에서 상세히 기술될 것이다.
먼저, QR 2차원 코드가 기술된다. 도 3은 본 발명의 실시예에 기초한 QR 2차원 코드 앵커 포인트의 개략도이고; 도 4는 본 발명의 실시예에 기초한 QR 2차원 코드 앵커 포인트의 특징 개략도이다.
2차원 코드 검출에서, 위치 결정을 위해 QR 2차원 코드의 앵커 포인트가 채택될 수 있다. QR 2차원 코드의 4개의 앵커 포인트의 정의는 도 3으로서 도시되어 있고, 4개의 앵커 포인트는, 각각, 앵커 포인트 A, 앵커 포인트 B, 앵커 포인트 C, 및 앵커 포인트 D로서 정의될 수 있다. 한편, 2차원 코드의 이미지 행렬에서의 백색 픽셀점은 w로서 정의될 수 있고, 흑색 픽셀점은 b로서 정의될 수 있다.
2차원 코드의 국제 표준의 정의에 따라, 2차원 코드의 4개의 앵커 포인트가 충족시켜야 하는 특징은 다음과 같다: 앵커 포인트 A, B 및 C에 대해서는, 수평 중심 라인으로부터 수직 중심 라인으로 그리고 외부에서 내부로의 스캔이 있을 때 순서대로 b-w-b-b-b-w-b의 유형 특징을 충족시켜야 하고; 앵커 포인트 D에 대해서는, 순서대로 b-w-b-w-b의 유형 특징을 충족시켜야 하며, 이 특징에 관한 설명은 도 4로서 도시되어 있다.
따라서, QR 2차원 코드의 특징 정의에 대해서는, 이미지에서 2차원 코드를 검출하는 프로세스에서, 이미지가 수평으로 그리고 수직으로 두 번 스캔될 수 있고, 먼저 수평 앵커 포인트의 특징 라인을, 이어서 수직 앵커 포인트의 특징 라인을, 마지막으로 수평 앵커 및 수직 앵커의 특징 라인들의 교차점을 획득하며, 이 방식에 의해, 최종 앵커 포인트 위치를 획득한다. 이와 동시에, 앵커 포인트의 위치에 의해, 본 발명의 실시예는 또한 이후의 2차원 코드 추적 알고리즘에 사용되는 호모그래피 행렬 및 2차원 코드 윤곽선을 계산할 수 있다.
도 5는 [도 1의 방법(100)에서와 같이] 본 발명의 실시예의 QR 2차원 코드 검출 방법은 물론, 2차원 코드의 윤곽선의 식별 및 식별된 윤곽선의 추적의 플로우차트도(500)이다.
도 5에 도시된 바와 같이, 본 방법은 다음과 같은 단계들을 포함한다:
단계(501): 카메라 비디오 프레임 이미지를 입력한다.
단계(502): 카메라 비디오 프레임 이미지를 그레이스케일 이미지로 변환한다.
여기서, 입력 카메라 비디오 프레임 이미지들에 대해, 3개의 컬러 채널(color channel)의 픽셀 값들이, 각각, R, G 및 B이고, 대응하는 그레이스케일 값이 Y인 것으로 가정한다. 이어서, 컬러 이미지를 그레이스케일 이미지로 변환하기 위해 이하의 식이 사용될 수 있다:
단계(503): 이진 이미지로 변환한다.
여기서, 예증에 의해, 이미지 이진화(image binarization)를 위해 Ni 흑색 국소적 이진화(Ni-black local binarization) 방법이 채택될 수 있다.
단계 504 내지 단계 506: 특징 라인의 교차점을 계산하기 위해 수평 특징 스캔 및 수직 특징 스캔을 수행한다.
여기서, 도 6은 수평 및 수직 특징 스캔의 개략도이다. 이진화 후의 이미지에 대해 픽셀별로 수평 및 수직 스캔을 수행하고, 도 4에서 언급된 QR 2차원 코드 특징의 설명에 기초하여, 2차원 코드의 앵커 포인트 A, B 및 C의 중심점의 수평 스캔 프로세스에 의해서만, 순서대로 b-w-b-b-b-w-b 유형의 흑색 픽셀 및 백색 픽셀의 비율을 갖는 수평 앵커 포인트 특징 라인이 획득될 수 있고, 2차원 코드의 앵커 포인트 A, B 및 C의 중심점의 수직 스캔 프로세스에 의해서만, 순서대로 b-w-b-b-b-w-b 유형의 흑색 픽셀 및 백색 픽셀의 비율을 갖는 수직 앵커 포인트 특징 라인이 획득될 수 있다는 것을 알 수 있다. 따라서, QR 2차원 코드 앵커 포인트 A, B 및 C의 중심점은 수평 앵커 포인트 및 수직 앵커 포인트의 특징 라인들의 교차점에 의해 획득될 수 있다.
이와 유사하게, 도 4에서 언급된 QR 2차원 코드 특징의 설명에 기초하여, 2차원 코드의 앵커 포인트 D의 중심점의 수평 스캔 프로세스에 의해서만, 순서대로 b-w-b-w-b 유형의 흑색 픽셀 및 백색 픽셀의 비율을 갖는 수평 앵커 포인트 특징 라인이 획득될 수 있고, 2차원 코드의 앵커 포인트 D의 중심점의 수직 스캔 프로세스에 의해서만, 순서대로 b-w-b-w-b 유형의 흑색 픽셀 및 백색 픽셀의 비율을 갖는 수직 앵커 포인트 특징 라인이 획득될 수 있다는 것을 알 수 있다. 따라서, QR 2차원 코드 앵커 포인트 D의 중심점은 수평 앵커 포인트 및 수직 앵커 포인트의 특징 라인들의 교차점에 의해 획득될 수 있다.
이것과 같은 스캔 프로세스에 의해, b-w-b-b-b-w-b 유형을 충족시키는 3개의 앵커 포인트(P1, P2 및 P3로 표시됨) 및 b-w-b-w-b 유형을 충족시키는 하나의 앵커 포인트 D가 위치 결정될 수 있다. 2차원 코드 앵커 포인트의 특징에 따라, b-w-b-b-b-w-b 유형을 충족시키는 3개의 앵커 포인트를 구별하기 위해 이하의 방법이 채택될 수 있다: 먼저, 3개의 앵커 포인트와 앵커 포인트 D 사이의 거리를 계산하고, 가장 멀리 있는 앵커 포인트가 앵커 포인트 A(앵커 포인트 A를 P1인 것으로 가정함)이다. 이어서 벡터 및 를 연결시킨다. 가 의 우측에 있는 경우, P2가 앵커 포인트 B이고; 가 의 좌측에 있으면, P2가 앵커 포인트 C이다.
단계(507) 및 단계(508): 호모그래피 행렬 및 2차원 코드 윤곽선을 계산한다.
여기서, 원래의 2차원 코드 이미지에서의 앵커 포인트 A, B, C 및 D의 위치가, 각각, , , 및 인 것으로 가정하고; 검출할 필요가 있는 이미지에서의 앵커 포인트 A, B, C 및 D의 위치가, 각각,, , 및 인 것으로 가정한다. 이하의 수식이 2차원 코드의 호모그래피 행렬 Homo를 계산하는 데 사용될 수 있다.
원래의 2차원 코드 이미지에서의 4개의 가장자리 코너의 위치가, 각각, (px1, py1), (px2, py2), (px3, py3) 및 (px4, py4)인 것으로 가정하면, 앞서 언급한 수식에 의해, 검출할 필요가 있는 이미지에서의 2차원 코드의 4개의 가장자리 코너의 위치가, 각각, (px1', py1'), (px2', py2'), (px3', py3') 및 (px4', py4')이라는 것이 계산될 수 있다. 지금까지, 검출 이미지에서의 2차원 코드 윤곽선이 획득될 수 있다.
특별히 언급할 필요가 있는 것은, 실제 응용에서, 본 발명의 실시예는 또한 2차원 코드의 검출 속도를 증가시키기 위해 적절히 이하의 모드들과 결합될 수 있다는 것이다: 입력 카메라 비디오 프레임 이미지에 대해, 2차원 코드가 검출될 수 없는 경우, 0.5의 비율로 다운샘플링을 수행하고, 다운샘플링 후의 이미지에 대해 2차원 코드 검출을 계속하며, 2차원 코드가 검출되지 않는 경우, 0.5의 비율로 다운샘플링을 계속하고 3 번 반복한다. 또한 3 번 반복한 후에 2차원 코드를 스캔하는 것이 불가능한 경우, 2차원 코드가 검출되지 않는 것으로 인식될 수 있다. 이 프로세스에서, 실제 조건에 따라 0.5, 0.6, 0.7 및 0.8의 상이한 다운샘플링 비율이 채택될 수 있다.
이하에서, 계속하여 QR 2차원 코드를 예로 하여 본 발명의 실시예의 2차원 코드 추적 프로세스를 기술한다. 증강 현실의 적용에서 카메라가 종종 움직이는 상태에 있기 때문에, 2차원 코드를 검출한 후에 2차원 코드에 대해 추적 처리가 또한 요구된다.
도 7은 본 발명의 실시예에 기초한 2차원 코드 검출 및 추적의 플로우차트도이다.
도 7에 도시된 바와 같이, 본 방법은 다음과 같은 단계들을 포함한다:
단계(701): 2차원 코드 검출을 수행한다.
단계(702): 2차원 코드가 검출되는지를 판단하고, 예인 경우, 단계(703) 및 후속 단계들을 수행하며, 그렇지 않은 경우, 되돌아가서 단계(701) 및 후속 단계들을 수행한다.
단계(703): 2차원 코드 추적을 수행한다.
단계(704): 2차원 코드가 추적되는지를 판단하고, 예인 경우, 단계(705) 및 후속 단계들을 수행하며, 그렇지 않은 경우, 되돌아가서 단계(701) 및 후속 단계들을 수행한다.
단계(705): 30개의 프레임이 추적되었는지를 판단하고, 아니오인 경우, 단계(706)를 수행하며, 예인 경우, 단계(701)를 수행한다.
단계(706): 2차원 코드의 위치 정보를 획득한다. 위치 정보가 획득되는 경우, 출력으로 진행하고, 그렇지 않은 경우, 단계(703)로 다시 간다.
일부 실시예들에서, "Good Feature to Track(추적에 적합한 특징)" 방법(Shi 및 C. Tomasi.의 "Good Features to Track", Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 593-600, June 1994)은 추적할 필요가 있는 코너점 집계를 획득하기 위해 사용될 수 있고, 광학적 흐름 추적 방법은 코너점 집계를 추적하기 위해 사용될 수 있다. 2차원 코드의 추적 프로세스는 두 부분 - 초기화 및 추적 - 으로 나누어질 수 있다.
도 8은 본 발명의 실시예에 기초한 2차원 코드 추적의 예증적 플로우차트도이다. 도 8에 도시된 바와 같이, 2차원 코드의 추적 프로세스는 두 부분 - 초기화 및 추적 - 으로 나누어질 수 있다.
초기화 부분: 2차원 코드 추적의 초기화 프로세스, 단계 I: 2차원 코드 검출 모듈에 따라 획득된 2차원 코드 윤곽선에 대응하는 그레이스케일 프레임을 기록한다. 단계 II: 2차원 코드 검출에서 획득된 2차원 코드 윤곽선에서, "Good Feature to Track" 알고리즘을 사용하여 추적하기에 적당한 초기 추적점 집계를 찾아낸다. 단계 III: 초기 추적점 집계의 개수를 판단하고, 개수가 20 초과인 경우, 이하의 추적 프로세스를 계속하여, 초기 그레이스케일 프레임을 이전 그레이스케일 프레임으로서 받고 초기 추적점 집계를 이전 추적점 집계로서 받으며; 개수가 20 미만인 경우, 추적하지 않는다.
추적 부분: 2차원 코드의 추적 프로세스, 단계 I: 현재 카메라 그레이스케일 프레임, 이전 추적점 집계 및 이전 카메라 그레이스케일 프레임을 획득한다. 단계 II: 광학적 흐름 추적 방법을 사용하여, 이전 단계에서 획득된 3개의 파라미터로부터 현재 카메라 비디오 프레임 이미지에 의해 추적된 현재 추적점 집계를 획득한다. 단계 III: 현재 추적점 집계가 초기 추적점 집계의 70%를 초과하는지를 판단하고, 예인 경우, 다음 단계를 수행하고, 아니오인 경우, 종료한다. 단계 IV: 현재 추적된 프레임 개수를 판단하고, 30개 초과의 프레임이 추적된 경우, 종료하고, 아니오인 경우, 다음 단계를 수행한다. 단계 V: 초기 추적점 집계와 현재 추적점 집계의 대응하는 점 쌍(point pair)들에 대해 PROSAC 및 기타 알고리즘을 사용하여, 현재 프레임에 대한 초기 프레임의 호모그래피 행렬 Homo'을 계산하고, 이어서, 검출된 Homo와 추적된 Homo'을 곱하는 것에 의해 원래의 2차원 코드의 호모그래피 행렬이 획득될 수 있다.
전술한 방법에서, 2차원 코드 증강 현실의 인식을 위해, 본 발명의 실시예는 ZBar에 의해 제공되는 인식 알고리즘을 채택할 수 있다. 인식 엔진은 표준 QR 2차원 코드를 인식하는 기능을 가지며, QR 2차원 코드의 코딩 정보 및 위치 정보를 획득할 수 있다. 그러나, 그의 동작 속도가 약간 느리다. 본 발명에서는, 검출에 의해 2차원 코드 이미지를 획득할 수 있는 프레임을 ZBar 알고리즘의 입력으로서 받는 반면, 검출을 다시 시작하기 전에 추적된 프레임에 대해 2차원 코드 인식을 다시 수행하지 않으며, 2차원 코드 인식 알고리즘의 동작 횟수가 많이 감소되어, 시스템의 실시간을 보장할 것이다.
본 발명의 실시예에서, 2차원 코드 증강 현실이 표시할 콘텐츠에 기초하여 2 가지 모드로 표시될 수 있고, 하나는 2차원 코드의 위치에 평면 비디오를 표시하는 것이고, 다른 것은 2차원 코드의 위치에 3D 모델 또는 애니메이션을 표시하는 것이다. 2 가지 상이한 표시 모드에 기초하여 2 가지 상이한 처리 모드가 있다.
평면 비디오를 표시하는 모드에 대해: 2차원 코드의 위치에 평면 비디오를 표시하는 표시 모드에 대해, 먼저, 본 발명의 실시예는 디스플레이 비디오 프레임 이미지를 원래의 2차원 코드 이미지의 크기로 변환한다. (x, y)가 디스플레이 비디오 프레임 이미지의 원래의 위치에 대응하는 것으로 가정하고, (x', y')이 디스플레이 비디오 프레임 이미지가 변환된 후의 위치에 대응하는 것으로 가정하면, w' 및 h'은 원래의 2차원 코드의 폭 및 높이에 대응하고, w 및 h는 원래의 디스플레이 비디오 프레임 이미지의 폭 및 높이로서 역할하며, 수식은 다음과 같다:
(x", y")가 카메라 비디오 프레임 이미지에서의 2차원 코드의 위치에 대응하는 것으로 가정하면, 따라서, 호모그래피 행렬 정의로부터, 디스플레이 비디오 프레임 이미지로부터 카메라 비디오 프레임 이미지로의 대응하는 위치들의 변환 행렬이 이하의 수식에 나타내어져 있다는 것을 알 수 있다.
각각의 프레임의 디스플레이 비디오 이미지에 대해, 는 변환을 위해 변환 행렬로서 사용될 것이고, 그 변환된 디스플레이 비디오 프레임 이미지가 카메라 비디오 프레임 이미지 상에 중첩된 후에, 증강 현실의 표시 효과를 실현한다.
3D 모델 및 애니메이션을 표시하는 모드에 대해: 2차원 코드의 위치에 3D 모델 및 애니메이션을 표시하는 표시 모드에 대해, 본 발명의 실시예는 이하의 수식을 사용하여, 내부 파라미터 및 외부 파라미터를 통해 3D 모델 또는 애니메이션의 3차원 좌표(세계 좌표계)로부터 스크린 디스플레이(screen display)로의 투영 행렬(projection matrix)을 획득한다.
원근 변환(perspective transformation)을 통해, 프레임 뷰(frame view)는 3차원 공간에서의 점을 이미지 평면(image plane)에 투영할 수 있게 한다. 수식은 다음과 같다:
또는
이 수식의 (X, Y, Z)는 하나의 점의 세계 좌표이고; (u, v)는 이미지 평면 상에 투영된 점의 좌표(단위: 픽셀)이며; A는 카메라 행렬(camera matrix) 또는 내부 파라미터 행렬(internal parameter matrix)이라고 불리우고; (cx, cy)는 기준점(보통 이미지의 중심에 있음)이며; fx, fy는 초점 거리(단위: 픽셀)이다. 어떤 요인들로 인해 카메라로부터의 이미지의 프레임에 대해 업샘플링 또는 다운샘플링을 수행하는 경우, 이들 파라미터 (fx, fy, cx, cy) 모두가 동일한 스케일로 스케일링(곱셈 또는 나눗셈)될 것이다. 내부 파라미터 행렬은 장면의 이미지와 무관하고, 일단 계산되면, (초점 거리가 고정되어 있는 한) 반복하여 사용될 수 있다. 회전 - 병진 행렬(rotation - translation matrix) [R|t]는 고정된 장면에 대한 카메라의 움직임 또는 반대로 카메라 주위의 물체의 강체 운동(rigid motion)을 기술하는 데 사용되는 외부 파라미터 행렬(external parameter matrix)이라고 불리운다. 즉, [R|t]는 좌표점 (X, Y, Z)를 카메라에 대해 고정되어 있는 특정 좌표계로 스위프트(swift)한다.
이상의 변환은 이하의 형태(z≠0)와 동등하다.
x' = x / z;
y' = y / z;
일반적으로, 실제 렌즈에 대해 어떤 변형이 있고, 주된 변형은 반경 방향 변형(radial deformation)이며, 그에 부가하여, 약간의 접선 방향 변형(tangential deformation)이 있다. 따라서, 상기 모델은 다음과 같이 확장될 수 있다.
x' = x / z;
y' = y / z;
여기서, r2 = x'2 + y'2;
k1 및 k2는 반경 방향 변형 계수(radial deformation coefficient)이고, p1 및 p2는 접선 방향 변형 계수(tangential deformation coefficient)이다. 본 발명은 전술한 R 및 t를 획득하기 위해 RPP(Robust Pose estimation from a Planar target) 알고리즘을 사용한다. 3D 모델의 세계 좌표 (X, Y, Z)로부터 투영 스크린의 평면 좌표 (u, v)로의 변환 행렬은 이것으로부터 도출될 수 있다. OpenGL 및 다른 컴퓨터 그래픽 디스플레이 라이브러리를 사용하여, 이 행렬은 3D 모델이 카메라 비디오 프레임 이미지 상에 중첩되어 증강 현실의 효과를 실현하는 2차원 코드의 위치를 표시하는 데 사용될 수 있다.
이상의 설명에서, 채택된 증강 현실 인식 방식은 ZBar 오픈 소스 라이브러리에 의해 제공되는 인식 알고리즘을 사용하고, 실제 응용에서는, 마찬가지로, 본 발명의 실시예도 ZXing 및 다른 2차원 코드 인식 알고리즘들을 사용할 수 있다.
이상의 설명에서, "Good Feature to Track"의 코너점 선택 알고리즘 및 광학적 흐름 추적의 코너점 추적 알고리즘을 사용하여 2차원 코드를 추적한다. 실제 응용에서, 본 발명의 실시예는 마찬가지로 FAST, Harris 및 다른 코너점 선택 알고리즘들, 또는 Kalman 필터링 및 다른 특징점 추적 알고리즘들을 사용할 수 있다.
이상의 설명에서, RPP(Robust Pose estimation from a Planar target)를 사용하여 3D 모델로부터 평면으로 투영 변환 행렬을 수행하고, 실제 응용에서는, 마찬가지로, 본 발명의 실시예도 EPnP의 자세 추정(pose estimation) 등을 사용할 수 있다.
이상의 설명에서, 본 발명의 실시예가 QR 2차원 코드를 예로 하여 상세히 설명되어 있다. 이 분야의 기술자라면 본 발명의 실시예가 QR 2차원 코드로 제한되지 않고 임의의 2차원 코드에 적용가능하다는 것을 잘 알 것이다.
따라서, 본 발명의 실시예에서, 2차원 코드 검출이 그의 인식 프로세스로부터 분리되고, 그 2차원 코드의 검출이 달성될 수 있을 때까지 2차원 코드 인식을 수행하는 것을 통해, 보다 느린 동작을 갖는 2차원 코드의 인식 처리가 감소된다는 것을 알 수 있다.
그에 부가하여, 2차원 코드 검출이 본 발명의 실시예에 의해 그의 추적 프로세스로부터 분리되고, 2차원 코드를 획득하는 것을 가능하게 하는 2차원 코드 윤곽선의 특징점을 추적하는 것을 통해, 추적 손실이 특정의 조건을 충족시킬 때까지 검출을 재시작하며, 이 방법은 보다 느린 동작 및 보다 낮은 검출 성공률을 갖는 2차원 코드의 검출 프로세스의 수행 횟수를 감소시키고, 2차원 코드의 계산 속도를 증가시키며, 2차원 코드의 위치를 획득하는 것의 안정성 및 연속성을 향상시킨다.
본 발명의 실시예에서, QR 2차원 코드는 유연한 확장가능 코드 포맷에 의해 그에 저장되는 정보의 양을 자유롭게 확장시킬 수 있다. 심볼 규격은 버전 1(21×21 모듈)부터 버전 40(177×177 모듈)까지 있으며, 버전을 향상시킬 때마다, 각각의 측면에 대해 4개의 모듈이 부가될 것이다. 최대 버전 40은 일반적으로 숫자 데이터: 7,089개의 문자, 글자 데이터: 4,296개의 문자, 8-비트 바이트 데이터: 2,953개의 문자, 한자/일본 한자 데이터: 1,817개의 문자를 수용할 수 있다. 많은 양의 정보가 있을 때, QR 2차원 코드 데이터의 콘텐츠를 확장시키는 것만이 보다 큰 데이터 크기를 갖는 코딩에 적응할 수 있다.
게다가, 본 발명의 실시예에서 사용되는 QR 2차원 코드는 국제 표준 데이터 포맷이다. QR 2차원 코드는 1994년 9월에 Japan Denso Corporation에 의해 연구된 일종의 행렬 2차원 코드 심볼(matrix two-dimensional code symbol)이며, 이는 큰 정보 용량, 높은 신뢰성, 한자 및 이미지와 같은 많은 종류의 문자 정보(literal information)를 표현할 수 있는 능력, 그리고 높은 보안 및 위조 방지 등과 같은, 단일 차원 바코드 및 다른 2차원 바코드가 가지는 많은 장점들을 가진다. 일본 QR 코드의 표준 JIS X 0510은 1999년 1월에 발표되었지만, 그의 대응하는 ISO 국제 표준 ISO/IEC18004는 2000년 6월에 승인되었다. 중국 국가 표준 GB/T 18284-2000도 2000년에 발표되었다. 이들 모두는 QR 2차원 코드가 다른 2차원 코드 및 자체 정의된 구역 비트(self-defined zone bit)와 비교하여, 국제적인 인정을 받은 일종의 일반 포맷이고, 그의 코드 포맷이 더 큰 일반성 및 규범성을 가진다는 것을 나타낸다.
더욱이, 본 발명의 실시예에서 사용되는 QR 2차원 코드 인식 알고리즘은 간단하고 빠르며(일반적으로 통상의 PC 컴퓨터에서 50 내지 100ms), 이와 동시에, QR 2차원 코드 자체가 많은 정보를 포함하고, 따라서 백 엔드 데이터베이스(back end database)의 지원을 필요로 하지 않을 수 있다.
본 발명의 실시예에서, 2차원 코드 증강 현실을 목표로 하는 검출 방법은 2차원 코드의 앵커 포인트 특징에 따라 수평 방향 및 수직 방향에서 두 번 스캔하는 것을 채택하는 것, 앵커 포인트의 흑색 픽셀 및 백색 픽셀의 비율 특징에 따라 수평 앵커 포인트 특징 라인 및 수직 앵커 포인트 특징 라인을 획득하는 것, 수평 앵커 포인트 특징 라인과 수직 앵커 포인트 특징 라인에 따라 교차점을 계산하는 것, 앵커 포인트 A, B, C를 앵커 포인트 D와 다른 앵커 포인트들 사이의 거리 및 벡터 방향 관계를 통해 구별하는 것, 2차원 코드 검출 속도를 향상시키기 위해 여러 번 다운샘플링한 이미지에 대해 검출을 수행하는 것을 포함한다.
본 발명의 실시예에서, 2차원 코드 증강 현실을 목표로 하는 추적 방법은 2차원 코드 검출에 의해 획득된 2차원 코드 윤곽선을 사용하여 윤곽선에 있는 점들에 대한 초기화 특징점을 추출하는 것, 윤곽선에 있는 초기화 특징점들에 대해 특징점 추적을 수행하는 것, 특정의 추적 손실률 및 추적 시간이 충족되는 것에 기초하여 검출 프로세스를 재시작하는 것을 포함한다.
본 발명의 실시예에서, 2차원 코드 증강 현실을 목표로 하는 표시 방법은 상이한 표시 모드에 따라 상이한 표시 전략을 사용하는 것을 포함한다. 그 중에서, 2차원 평면 비디오를 목표로 하여, 이미지를 변환하는 변환 행렬로서 호모그래피 행렬을 채택하는 것; 3D 모델 또는 애니메이션을 목표로 하여, 자세 추정 방법을 채택하는 것을 포함한다.
전술한 구체적인 분석에 기초하여, 본 발명의 실시예는 또한 2차원 코드 증강 현실의 일종의 실현 디바이스를 제시한다.
도 9는 본 발명의 실시예에 기초한 2차원 코드 증강 현실의 실현 디바이스(900)의 구조도이다.
도 9에 도시된 바와 같이, 이 디바이스는 디스플레이 유닛(904), 카메라 유닛(905), 및 처리 유닛(906)을 포함하고, 처리 유닛(906)은 2차원 코드 검출 유닛(901), 인식 추적 유닛(902) 및 증강 현실 유닛(903)을 포함하고, 그 중에서,
2차원 코드 검출 유닛(901)은 카메라 비디오 프레임 이미지에서 2차원 코드의 이미지 캡처를 검출하여 2차원 코드의 윤곽선을 획득하도록 구성되어 있고;
인식 추적 유닛(902)은 2차원 코드의 윤곽선이 검출되는 이 2차원 코드를 인식하여 2차원 코드의 콘텐츠 정보를 획득하고, 2차원 코드의 윤곽선이 검출되는 이 2차원 코드를 추적하여 카메라 비디오 프레임 이미지에서의 2차원 코드의 위치 정보를 획득하도록 구성되어 있으며;
증강 현실 유닛(903)은 카메라 비디오 프레임 이미지에서의 2차원 코드의 위치 정보 및 언급된 2차원 코드의 콘텐츠 정보에 기초하여 2차원 코드에 대해 증강 현실 처리를 수행하고, 디바이스의 디스플레이 상에 현실 세계 영상을 표시하면서 그와 동시에 디바이스 상에 상기 증강 현실을 발생시키도록 구성되어 있다.
디스플레이 유닛(904)은 현실 세계 영상 및 시각적 증강 현실을 표시하도록 구성되어 있고, 카메라 유닛(905)은 카메라 비디오 프레임을 통해 이미지들 및 비디오를 캡처하도록 구성되어 있다.
일 실시예에서, 언급된 2차원 코드는 구체적으로는 QR(quick-response) 2차원 코드이다.
일 실시예에서, 2차원 코드 검출 유닛(901)은 카메라 비디오 프레임 이미지를 그레이스케일 이미지로 변환하고 언급된 그레이스케일 이미지를 이진 이미지로 변환하며;
이 이진 이미지에 대해 수평 앵커 포인트 특징 스캔 및 수직 앵커 포인트 특징 스캔을 실행하여 수평 앵커 포인트 특징 라인 및 수직 앵커 포인트 특징 라인을 획득하고;
수평 앵커 포인트 특징 라인과 수직 앵커 포인트 특징 라인의 교차점을 계산하여 QR 2차원 코드의 앵커 포인트의 위치를 획득하며;
QR 2차원 코드의 앵커 포인트의 계산된 위치에 따라 이 QR 2차원 코드의 윤곽선을 획득하도록 구성되어 있다.
일 실시예에서, 2차원 코드 검출 유닛(901)은, 카메라 비디오 프레임 이미지에서 2차원 코드가 검출되지 않을 때, 이 카메라 비디오 프레임 이미지에 대해 다운샘플링 처리를 수행하고, 다운샘플링 처리를 수행한 후의 카메라 비디오 프레임 이미지에서 2차원 코드를 검출하도록 추가로 구성되어 있다.
일 실시예에서, 언급된 2차원 코드는 구체적으로는 QR(quick-response) 2차원 코드이고; 이 때, 인식 추적 유닛(902)은 2차원 코드의 윤곽선에 따라 대응하는 초기 카메라 비디오 그레이스케일 프레임을 획득하고 이 2차원 코드의 윤곽선 내에서 초기 추적점 집계를 계산하고,
초기 추적점 집계 수가 미리 설정된 임계값 초과일 때, 현재 카메라 비디오 그레이스케일 프레임, 이전 추적점 집계 및 이전 카메라 비디오 그레이스케일 프레임을 획득하며,
현재 카메라 비디오 그레이스케일 프레임, 이전 추적점 집계 및 이전 카메라 비디오 그레이스케일 프레임을 광학적 흐름 추적 모드들에서 적용할 파라미터로서 취하여 현재 카메라 비디오 프레임 이미지에 의해 추적되는 현재 추적점 집계를 획득하고,
초기 추적점 집계 및 현재 추적점 집계의 대응하는 도트 쌍들에 따라 호모그래피 행렬을 계산하도록 구성되어 있다.
일 실시예에서, 인식 추적 유닛(902)은, 현재 카메라 비디오 프레임 이미지에 의해 추적되는 현재 추적점 집계를 획득한 후에, 이 현재 추적점 집계가 초기 추적점 집계의 미리 설정된 비율을 초과하는 것으로 판정될 때, 카메라 비디오 프레임 이미지들의 현재 추적된 개수가 미리 설정된 임계값 초과인지를 추가로 판단하고, 아니오인 경우, 초기 추적점 집계 및 현재 추적점 집계의 대응하는 도트 쌍들에 따라 호모그래피 행렬을 계산하도록 추가로 구성되어 있다.
일 실시예에서, 증강 현실 유닛(903)은 평면 비디오를 언급된 2차원 코드의 콘텐츠 정보 및 카메라 비디오 프레임 이미지에서의 2차원 코드의 위치 정보에 기초한 2차원 코드의 위치에 표시하도록 추가로 구성되어 있다.
일 실시예에서, 증강 현실 유닛(903)은 표시 비디오 이미지의 크기를 원래의 2차원 코드 이미지의 크기로 변환하고; 카메라 비디오 프레임 이미지에서의 2차원 코드의 위치 정보에 따라 표시 비디오 프레임 이미지에 대한 변환을 수행하며; 변환된 표시 비디오 프레임 이미지를 카메라 비디오 프레임 이미지에 중첩하도록 구성되어 있다.
일 실시예에서, 증강 현실 유닛(903)은 3D 모델을 언급된 2차원 코드의 콘텐츠 정보 및 카메라 비디오 프레임 이미지에서의 2차원 코드의 위치 정보에 기초한 2차원 코드의 위치에 표시하도록 추가로 구성되어 있다.
일 실시예에서, 증강 현실 유닛(903)은 3D 모델의 세계 좌표의 투영 스크린의 평면 좌표로의 변환 행렬을 계산하고; 변환 행렬을 사용하여, 카메라 비디오 프레임 이미지에서의 2차원 코드의 위치 정보에 따라 카메라 비디오 프레임 이미지에 3D 모델을 오버레이하도록 추가로 구성되어 있다.
도 9에 도시된 디바이스를 각종의 네트워크들의 하드웨어 엔터티들에 통합시키는 것이 허용될 수 있다. 예를 들어, 2차원 코드의 증강 현실을 위한 실현 디바이스는 피처 폰(feature phone), 스마트폰, 팜톱, PC(personal computer), 태블릿 컴퓨터 또는 PDA(personal digital assistant) 등을 비롯한 디바이스에 통합될 수 있다.
도 10은 2차원 코드의 검출 및 대응하는 증강 현실 정보의 표시를 설명하는 본 발명의 일 실시예의 예시적인 표현이다. 물체(1002)는 QR 코드와 같은 2차원 코드를 포함하는 예시적인 물체(예컨대, 잡지 광고)를 나타낸다. 도 10에서, 물체(1002)는 사용자가 2차원 코드에 포함된 콘텐츠 정보의 표현(1008)(예컨대, 호텔의 가상 투어)을 보기 위해 휴대용 전자 디바이스(1006)(예컨대, 스마트폰, PDA, 태블릿)로 스캔할 수 있는 2차원 코드(예컨대, QR 코드)를 포함하는 호텔에 대한 잡지 광고이다. 일부 실시예들에서, 콘텐츠 정보의 표현(1008)은 텍스트, 그래픽, 오디오, 또는 비디오 정보, 또는 이들 중 임의의 것의 조합이다. 일부 실시예들에서, 콘텐츠 정보의 표현(1008)은 3D 이미지 또는 비디오이고, 일부 실시예들에서, 콘텐츠 정보의 표현(1008)은 디바이스(1006)의 카메라 비디오 프레임에서 2차원 코드가 차지하는 구역에 표시된다.
도 11은 일부 구현들에 따른, 증강 현실 발생을 위한 클라이언트-서버 환경(1100)의 다이어그램이다. 특정의 구체적인 특징들이 예시되어 있지만, 통상의 기술자라면, 본 개시 내용으로부터, 다양한 다른 특징들이 간략함을 위해 그리고 본 명세서에 개시된 구현들의 보다 관련성 있는 양태들을 모호하게 하지 않기 위해 예시되어 있지 않다는 것을 잘 알 것이다. 그를 위해, 클라이언트-서버 환경(1100)은 하나 이상의 이동 전화 통신사업자들(1102), 하나 이상의 인터넷 서비스 제공자들(1104), 및 통신 네트워크(1106)를 포함한다.
이동 전화 통신사업자(1102)(예컨대, 무선 통신사업자) 및 인터넷 서비스 제공자(1104)는 서로 및/또는 다른 디바이스들 및 시스템들과 정보를 교환하기 위해 통신 네트워크(1106)에 연결될 수 있다. 그에 부가하여, 이동 전화 통신사업자(1102) 및 인터넷 서비스 제공자(1104)는 또한 클라이언트 디바이스들을 통신 네트워크(1106)에 연결시키도록 동작가능하다. 예를 들어, 스마트폰(1108)은, 예를 들어, 기지국(1103)을 포함하는 이동 전화 통신사업자(1102)의 네트워크와 동작가능하다. 이와 유사하게, 예를 들어, 랩톱 컴퓨터(1110)(또는 태블릿, 데스크톱, 스마트 텔레비전, 워크스테이션 등)는, 궁극적으로 통신 네트워크(1106)에 연결가능한, 인터넷 서비스 제공자(1104)에 의해 제공되는 네트워크에 연결가능하다.
통신 네트워크(1106)는 인터넷의 일부분을 비롯하여, 인트라넷(intranet), 엑스트라넷(extranet)과 같은 유선 및 무선 LAN(local area network) 및/또는 WAN(wide area network)의 임의의 조합일 수 있다. 통신 네트워크(1106)가 클라이언트 디바이스들[예컨대, 스마트폰(1108) 및 개인용 컴퓨터(1110)]과 서버들 사이의 통신 기능을 제공하는 것으로 충분하다. 일부 구현들에서, 통신 네트워크(1106)는 TCP/IP(Transmission Control Protocol/Internet Protocol)를 사용하여 정보를 전송하기 위해 HTTP(HyperText Transport Protocol)를 사용한다. HTTP는 클라이언트 디바이스가 통신 네트워크(1106)를 통해 이용가능한 다양한 자원들에 액세스할 수 있게 한다. 그렇지만, 본 명세서에 기술된 다양한 구현들이 임의의 특정의 프로토콜의 사용으로 제한되지 않는다.
일부 구현들에서, 클라이언트-서버 환경(1100)은 증강 현실 발생 서버 시스템(1111)을 추가로 포함한다. 증강 현실 발생 서버 시스템(1111) 내에는, 클라이언트 디바이스(1108/1110)로부터 수신되는 데이터(예컨대, 2차원 코드의 캡처)를 수신 및 처리하기 위한 서버 컴퓨터(1112)(예컨대, 웹 서버와 같은 네트워크 서버)가 있다. 일부 구현들에서, 증강 현실 발생 서버 시스템(1111)은 복수의 등록된 2차원 코드들에 대응하는 증강 현실 정보를 [예컨대, 데이터베이스(1114)에] 저장하고 유지한다.
일부 구현들에서, 증강 현실 발생 서버 시스템(1111)은 클라이언트 디바이스(1108/1110)로부터 수신된 2차원 코드를 사용하여 각자의 2차원 코드에 대한 증강 현실 모델을 클라이언트 디바이스(1108/1110)로 송신하고 데이터베이스(1114)로부터 증강 현실 모델을 검색한다.
통상의 기술자라면, 본 개시 내용으로부터, 임의의 수의 이러한 디바이스들 및/또는 시스템들이 클라이언트-서버 환경에서 제공될 수 있고, 특정의 디바이스들이 전혀 존재하지 않을 수 있다는 것을 잘 알 것이다. 환언하면, 클라이언트-서버 환경(1100)은 본 개시 내용의 보다 관련성 있는 특징들을 논의하기 위해 제공된 일례에 불과하다. 도메인 이름 서버(domain name server)와 같은 부가의 서버 시스템 및 클라이언트 분배 네트워크(client distribution network)가 클라이언트-서버 환경(1100)에 존재할 수 있지만, 설명의 편의를 위해 생략되었다.
도 12는 일부 구현들에 따른, 증강 현실 발생을 위한 디바이스(1108/1110)의 예시적인 구현의 다이어그램이다. 특정의 구체적인 특징들이 예시되어 있지만, 통상의 기술자라면, 본 개시 내용으로부터, 다양한 다른 특징들이 간략함을 위해 그리고 본 명세서에 개시된 구현들의 보다 관련성 있는 양태들을 모호하게 하지 않기 위해 예시되어 있지 않다는 것을 잘 알 것이다.
디바이스(1108/1110)는 하나 이상의 처리 유닛(CPU)들(1204), 하나 이상의 네트워크 또는 다른 통신 인터페이스들(1208), 사용자 인터페이스(1201)[선택적으로 키보드(1201-1) 또는 디스플레이(1201-2)와 같은 요소들을 포함함], 메모리(1206), 카메라(1209), 그리고 이들 및 다양한 다른 구성요소들을 상호연결시키는 하나 이상의 통신 버스들(1205)을 포함한다. 통신 버스들(1205)은 시스템 구성요소들 사이의 통신을 상호연결시키고 제어하는 회로(때때로 칩셋이라고 불리움)를 포함할 수 있다. 메모리(1206)는 DRAM, SRAM, DDR RAM 또는 다른 랜덤 액세스 고상 메모리 디바이스들과 같은 고속 랜덤 액세스 메모리를 포함하고; 하나 이상의 자기 디스크 저장 디바이스들, 광 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 또는 다른 비휘발성 고상 저장 디바이스들과 같은 비휘발성 메모리를 포함할 수 있다. 메모리(1206)는 선택적으로 CPU(들)(1204)로부터 원격지에 위치된 하나 이상의 저장 디바이스들을 포함할 수 있다. 메모리(1206) 내의 비휘발성 및 휘발성 메모리 디바이스(들)를 포함하는 메모리(1206)는 비일시적 컴퓨터 판독가능 저장 매체를 포함한다.
일부 구현들에서, 메모리(1206) 또는 메모리(1206)의 비일시적 컴퓨터 판독가능 저장 매체는 운영 체제(1216), 네트워크 통신 모듈(1218), 및 증강 현실 발생 클라이언트 모듈(1231)을 비롯한 프로그램들, 모듈들 및 데이터 구조들, 또는 그의 서브셋을 저장한다.
운영 체제(1216)는 다양한 기본 시스템 서비스들을 처리하고 하드웨어 의존적 작업들을 수행하기 위한 절차들을 포함한다.
네트워크 통신 모듈(1218)은 하나 이상의 통신 네트워크 인터페이스들(1208)(유선 또는 무선) 및 인터넷, 다른 WAN(wide area network), LAN(local area network), MAN(metropolitan area network) 등과 같은 하나 이상의 통신 네트워크들을 통해 다른 디바이스들과 통신하는 것을 용이하게 한다.
일부 구현들에서, 증강 현실 발생 클라이언트 모듈(1231)은 카메라 비디오 프레임 이미지에서 2차원 코드의 이미지 캡처를 검출하여 2차원 코드의 윤곽선을 획득(예컨대, 카메라 비디오 프레임에서 QR 코드의 코너들을 검출)하기 위한 2차원 코드 검출 서브모듈(1202)을 포함한다. 이를 위해, 2차원 코드 검출 서브모듈(1202)은 명령어 집합(1202-1) 및, 선택적으로, 메타데이터(1202-2)를 포함한다. 일부 구현들에서, 증강 현실 발생 클라이언트 모듈(1231)은 (예컨대, 2차원 코드의 콘텐츠 정보를 획득하고, 이 2차원 코드를 추적하여 카메라 비디오 프레임 이미지에서의 2차원 코드의 위치 정보를 획득하기 위한) 명령어 집합(1221-1) 및, 선택적으로, 메타데이터(1221-2)를 가지는 인식 추적 서브모듈(1221)은 물론, 명령어 집합(1203-1) 및, 선택적으로, 메타데이터(1203-2)를 가지는 증강 현실 서브모듈(1203)을 포함한다.
사실, 본 발명의 실시예에서 언급된 2차원 코드의 증강 현실을 위한 실현 디바이스를 구체적으로 구현하는 다양한 형태들이 있다. 예를 들어, 특정의 규격들을 따르는 애플리케이션 인터페이스(application interface)를 통해, 2차원 코드의 증강 현실을 위한 실현 디바이스는 브라우저에 설치되는 플러그인(plug-in)으로서 작성될 수 있고, 사용자들 자신에 의해 다운로드를 위해 사용되는 애플리케이션으로서도 패키지화될 수 있다. 그 실현 디바이스는, 플러그인으로서 작성될 때, ocx, dll, cab 등을 비롯한 다양한 플러그인 형태들로서 구현될 수 있다. 그리고 Flash 플러그인, RealPlayer 플러그인, MMS 플러그인, MI stave 플러그인, ActiveX 플러그인 등을 비롯한 특정 기술들을 통해 본 발명의 실시예에 언급된 2차원 코드의 증강 현실을 위한 실현 디바이스를 구현하는 것이 허용될 수 있다.
명령어 또는 명령어 집합의 저장 방법을 통해, 본 발명의 실시예에 언급된 2차원 코드의 증강 현실을 위한 방법이 다양한 저장 매체에 저장될 수 있다. 이들 저장 매체는 플로피 디스크, CD, DVD, 하드 디스크, NAND 플래시, USB 플래시 디스크, CF 카드, SD 카드, MMC 카드, SM 카드, 메모리 스틱(Memory Stick), xD 카드 등을 포함하지만, 이들로 제한되지 않는다.
그에 부가하여, 본 발명의 실시예에 언급된 2차원 코드의 증강 현실을 위한 방법이 또한 NAND 플래시, 예를 들어, USB 플래시 디스크, CF 카드, SD 카드, SDHC 카드, MMC 카드, SM 카드, 메모리 스틱, xD 카드 등에 기초한 저장 매체에 적용될 수 있다.
요약하면, 본 발명의 실시예에서는, 카메라 비디오 프레임 이미지에서 2차원 코드를 검출하여 2차원 코드 윤곽선을 획득하고, 2차원 코드의 윤곽선이 검출되는 2차원 코드를 인식하여 2차원 코드의 콘텐츠 정보를 획득하며, 2차원 코드의 윤곽선이 검출되는 2차원 코드를 추적하여 카메라 비디오 프레임 이미지에서의 2차원 코드의 위치 정보를 획득하고; 언급된 2차원 코드의 콘텐츠 정보 및 카메라 비디오 프레임 이미지에서의 2차원 코드의 위치 정보에 기초하여 2차원 코드에 대해 증강 현실 처리를 수행한다. 이와 같이, 본 발명의 실시 후에, 2차원 코드 검출이 인식 프로세스로부터 분리되고, 단지 검출이 2차원 코드를 획득할 수 있는 상황에 대해 2차원 코드 인식을 수행하여, 적은 계산으로 2차원 코드 인식 처리를 감소시킨다는 것을 알 수 있다.
더욱이, 본 발명의 실시예는 2차원 코드 검출 및 추적 프로세스를 분리시켜, 단지 검출이 2차원 코드를 획득할 수 있는 2차원 코드 윤곽선에 대해 특징점들을 추적하고, 추적 손실이 특정의 조건들을 충족시킬 때 검출을 재시작하며, 이 방법은 보다 느린 동작 및 보다 낮은 검출 성공률을 갖는 2차원 코드의 검출 프로세스의 수행 횟수를 감소시키고, 2차원 코드 계산의 속도가 증가되며, 2차원 코드 위치를 획득하는 것의 안정성 및 연속성이 향상된다.
특정의 실시예들이 앞서 기술되어 있지만, 본 발명을 이들 특정의 실시예로 제한하기 위한 것이 의도되어 있지 않음을 잘 알 것이다. 그와 달리, 본 발명은 첨부된 청구범위의 사상 및 범주 내에 있는 대안들, 수정들 및 등가물들을 포함한다. 본 명세서에 제시된 발명 요지의 완전한 이해를 제공하기 위해 다수의 구체적인 상세가 기재되어 있다. 그러나, 발명 요지가 이들 구체적인 상세 없이 실시될 수 있다는 것이 통상의 기술자에게는 명백할 것이다. 다른 경우에, 실시예들의 양태들을 불필요하게 모호하게 하지 않기 위해 공지의 방법들, 절차들, 구성요소들, 및 회로들이 상세히 기술되지 않았다.
본 명세서에서 발명을 설명하는 데 사용되는 용어들은 단지 특정의 실시예들을 설명하기 위한 것이며 본 발명을 제한하기 위한 것이 아니다. 본 발명의 설명 및 첨부된 청구범위에서 사용되는 바와 같이, 단수 형태 "어떤", "한" 및 "그"는, 문맥이 명확하게 달리 나타내지 않는 한, 복수 형태도 포함하는 것으로 의도되어 있다. 또한, 용어 "및/또는"은, 본 명세서에서 사용되는 바와 같이, 열거된 관련 항목들 중 하나 이상의 항목들의 임의의 및 모든 가능한 조합들을 지칭하고 포괄한다는 것을 잘 알 것이다. 게다가, 용어 "포함한다(includes, comprises)" 및/또는 "포함하는(including, comprising)"이, 본 명세서에서 사용될 때, 언급된 특징들, 동작들, 요소들, 및/또는 구성요소들이 존재함을 명시하는 것이고 하나 이상의 다른 특징들, 동작들, 요소들, 구성요소들 및/또는 이들의 그룹들의 존재 또는 추가를 배제하지 않는다는 것을 잘 알 것이다.
본 명세서에서 사용되는 바와 같이, "~인 경우"라는 용어는, 문맥에 따라, 서술된 선행 조건(condition precedent)이 참(true)이라고 "판정할 때" 또는 "판정할 시에" 또는 "판정한 것에 응답하여" 또는 "그러한 판정에 따라" 또는 "검출한 것에 응답하여"를 의미하는 것으로 해석될 수 있다. 이와 유사하게, "[서술된 선행 조건이 참]이라고 판정되는 경우" 또는 "[서술된 선행 조건이 참]인 경우" 또는 "[서술된 선행 조건이 참]일 때"라는 문구는, 문맥에 따라, 서술된 선행 조건이 참이라고 "판정할 시에" 또는 "판정한 것에 응답하여" 또는 "그러한 판정에 따라" 또는 "검출할 시에" 또는 "검출한 것에 응답하여"를 의미하는 것으로 해석될 수 있다.
다양한 도면들 중 일부가 다수의 논리적 단계들을 특정의 순서로 나타내고 있지만, 순서 의존적이지 않은 단계들이 재정렬될 수 있고, 다른 단계들이 결합되거나 분리될 수 있다. 일부 재정렬 또는 다른 그룹화가 구체적으로 언급되어 있지만, 다른 것들이 통상의 기술자에게 명백할 것이고, 따라서 대안들의 전수적인 목록을 제시하지 않는다. 더욱이, 단계들이 하드웨어, 펌웨어, 소프트웨어 또는 이들의 임의의 조합으로 구현될 수 있다는 것을 잘 알 것이다.
이상의 기재 내용은, 설명을 위해, 구체적인 실시예를 참조하여 기술되어 있다. 그렇지만, 이상의 예시적인 논의는 전수적인 것이 아니며 본 발명을 개시된 정확한 형태로 제한하기 위한 것도 아니다. 이상의 개시 내용을 고려하여 많은 수정들 및 변형들이 가능하다. 본 발명의 원리들 및 그의 실제 응용들을 가장 잘 설명함으로써 다른 통상의 기술자들이 본 발명 및 생각되는 특정의 용도에 적합한 다양한 수정들을 갖는 다양한 실시예들을 가장 잘 이용할 수 있게 해주기 위해 실시예들이 선택되어 기술되었다.
Claims (44)
- 카메라 및 디스플레이를 갖는 전자 디바이스에서 증강 현실(augmented reality)을 발생시키는 방법으로서,
카메라 비디오 프레임(camera video frame)을 통해 2차원 코드의 이미지 캡처(image capture)를 검출하는 단계;
상기 카메라 비디오 프레임에서 캡처된 상기 2차원 코드의 윤곽선(contour)을 식별하는 단계;
상기 검출된 2차원 코드에 포함(embed)된 정보를 디코딩하는 단계;
상기 디코딩된 2차원 코드에 대응하는 콘텐츠 정보를 획득하는 단계;
상기 카메라 비디오 프레임 내에서 상기 2차원 코드의 상기 식별된 윤곽선을 추적하여 상기 카메라 비디오 프레임에서의 상기 2차원 코드의 위치 정보를 획득하는 단계;
상기 콘텐츠 정보 및 상기 위치 정보에 기초하여 상기 2차원 코드에 대해 증강 현실 처리를 수행하는 단계; 및
상기 디바이스의 상기 디스플레이 상에 현실 세계 영상(real-world imagery)을 표시하면서 그와 동시에 상기 디바이스 상에 상기 증강 현실을 발생시키는 단계 - 상기 비디오 프레임에서의 상기 2차원 코드의 위치에 따라 임의의 시각적 증강 현실이 표시됨 -
를 포함하는, 방법. - 제1항에 있어서, 상기 2차원 코드는 QR(quick-response) 코드인, 방법.
- 제2항에 있어서, 카메라 영상 프레임(camera imaging frame)을 통해 2차원 코드의 이미지 캡처를 검출하는 단계는 상기 이미지 캡처를 그레이스케일(grayscale)로 변환하고 상기 그레이스케일 이미지 캡처를 이진 이미지 캡처(binary image capture)로 변환하는 단계를 포함하고;
상기 2차원 코드의 윤곽선을 식별하는 단계는,
이 이진 이미지에 대해 수평 앵커 포인트 특징 스캔(horizontal anchor point characteristic scanning) 및 수직 앵커 포인트 특징 스캔(vertical anchor point characteristic scanning)을 실행하는 단계;
수평 앵커 포인트 특징 라인(horizontal anchor point characteristic line) 및 수직 앵커 포인트 특징 라인(vertical anchor point characteristic line)을 획득하는 단계;
상기 수평 앵커 포인트 특징 라인과 상기 수직 앵커 포인트 특징 라인의 교차점을 계산하는 단계;
상기 계산된 교차점에 대응하는, 상기 QR 2차원 코드의 앵커 포인트의 위치를 획득하는 단계; 및
계산된 상기 앵커 포인트의 위치에 따라 상기 QR 2차원 코드의 윤곽선을 획득하는 단계를 추가로 포함하는, 방법. - 제3항에 있어서, 상기 영상 프레임 내에서 상기 2차원 코드의 상기 식별된 윤곽선을 추적하여 상기 영상 프레임에서의 상기 2차원 코드의 위치 정보를 획득하는 단계는
초기 카메라 비디오 그레이스케일 프레임을 획득하고 상기 2차원 코드의 윤곽선 내에서 초기 추적점 집계(initial tracking point aggregation)를 계산하는 단계;
상기 초기 추적점 집계 수가 미리 결정된 임계값 초과라는 판정에 따라, 현재 카메라 비디오 그레이스케일 프레임, 이전 추적점 집계 및 이전 카메라 비디오 그레이스케일 프레임을 획득하는 단계;
광학적 흐름 추적 모드(optic flow tracking mode)들에서 상기 현재 카메라 비디오 그레이스케일 프레임, 이전 추적점 집계 및 이전 카메라 비디오 그레이스케일 프레임을 적용하는 것에 의해, 현재 카메라 비디오 프레임 이미지에 의해 추적되는 현재 추적점 집계를 계산하는 단계; 및
상기 초기 추적점 집계 및 상기 현재 추적점 집계의 대응하는 도트 쌍(dotted pair)들에 따라 호모그래피 행렬(homography matrix)을 계산하는 단계를 추가로 포함하는, 방법. - 제4항에 있어서, 호모그래피 행렬을 계산하는 단계는
상기 현재 추적점 집계가 상기 초기 추적점 집계의 상기 미리 결정된 임계값을 초과하지 않는 것으로 판정하는 단계; 및
카메라 비디오 프레임 이미지들의 현재 추적된 개수가 상기 미리 설정된 임계값 미만이라는 판정에 따라 상기 호모그래피 행렬을 계산하는 단계를 추가로 포함하는, 방법. - 제1항 내지 제5항 중 어느 한 항에 있어서,
상기 카메라 비디오 프레임의 카메라 비디오 프레임 이미지에서 2차원 코드가 검출되지 않는다는 판정에 따라, 상기 카메라 비디오 프레임 이미지에 대해 다운샘플링(down sampling) 처리를 수행하고 상기 카메라 비디오 프레임 이미지에서 상기 2차원 코드를 검출하려고 재시도하는 단계를 추가로 포함하는, 방법. - 제1항 내지 제6항 중 어느 한 항에 있어서,
상기 카메라 비디오 프레임의 카메라 비디오 프레임 이미지에서 2차원 코드가 검출되지 않는다는 판정에 따라, 상기 디바이스 상에 상기 증강 현실을 제시하는 것을 종료하는 단계를 추가로 포함하는, 방법. - 제1항 내지 제7항 중 어느 한 항에 있어서, 상기 디바이스 상에 상기 증강 현실을 발생시키는 단계는
상기 증강 현실을 상기 디바이스의 상기 디스플레이 상에서 상기 카메라 비디오 프레임에서 상기 2차원 코드가 차지하는 구역에 표시하는 단계를 추가로 포함하는, 방법. - 제8항에 있어서, 상기 증강 현실을 상기 디바이스의 상기 디스플레이 상에서 상기 카메라 비디오 프레임에서 상기 2차원 코드가 차지하는 구역에만 표시하는 단계는
상기 증강 현실의 크기를 상기 카메라 비디오 프레임에서의 캡처된 2차원 코드 이미지의 크기로 변환하는 단계를 추가로 포함하는, 방법. - 제8항에 있어서, 상기 표시되는 증강 현실은 상기 2차원 코드의 콘텐츠 및 위치 정보에 기초한 3차원 표현인, 방법.
- 제10항에 있어서, 상기 증강 현실을 상기 디바이스의 상기 디스플레이 상에서 상기 카메라 비디오 프레임에서 상기 2차원 코드가 차지하는 구역에만 표시하는 단계는
3차원 모델의 극좌표(polar coordinates)의 상기 디스플레이 스크린의 2차원 좌표(two-dimensional coordinates)로의 변환 행렬을 계산하는 단계; 및
상기 변환 행렬을 사용하여, 카메라 비디오 프레임 이미지에서의 상기 2차원 코드의 위치 정보에 따라 상기 카메라 비디오 프레임 이미지에 상기 3차원 모델을 오버레이(overlay)하는 단계를 추가로 포함하는, 방법. - 전자 디바이스로서,
디스플레이;
카메라;
하나 이상의 프로세서들;
메모리; 및
하나 이상의 프로그램들
을 포함하며,
상기 하나 이상의 프로그램들은 상기 메모리에 저장되고, 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되어 있으며, 상기 하나 이상의 프로그램들은,
카메라 비디오 프레임을 통해 2차원 코드의 이미지 캡처를 검출하는 명령어들;
상기 카메라 비디오 프레임에서 캡처된 상기 2차원 코드의 윤곽선을 식별하는 명령어들;
상기 검출된 2차원 코드에 포함된 정보를 디코딩하는 명령어들;
상기 디코딩된 2차원 코드에 대응하는 콘텐츠 정보를 획득하는 명령어들;
상기 카메라 비디오 프레임 내에서 상기 2차원 코드의 상기 식별된 윤곽선을 추적하여 상기 카메라 비디오 프레임에서의 상기 2차원 코드의 위치 정보를 획득하는 명령어들;
상기 콘텐츠 정보 및 상기 위치 정보에 기초하여 상기 2차원 코드에 대해 증강 현실 처리를 수행하는 명령어들; 및
상기 디바이스의 상기 디스플레이 상에 현실 세계 영상을 표시하면서 그와 동시에 상기 디바이스 상에 상기 증강 현실을 발생시키는 명령어들 - 상기 비디오 프레임에서의 상기 2차원 코드의 위치에 따라 임의의 시각적 증강 현실이 표시됨 - 을 포함하는, 디바이스. - 제12항에 있어서, 상기 2차원 코드는 QR(quick-response) 코드인, 디바이스.
- 제13항에 있어서, 카메라 영상 프레임을 통해 2차원 코드의 이미지 캡처를 검출하는 명령어들은 상기 이미지 캡처를 그레이스케일로 변환하고 상기 그레이스케일 이미지 캡처를 이진 이미지 캡처로 변환하는 명령어들을 포함하고;
상기 2차원 코드의 윤곽선을 식별하는 명령어들은
이 이진 이미지에 대해 수평 앵커 포인트 특징 스캔 및 수직 앵커 포인트 특징 스캔을 실행하는 명령어들;
수평 앵커 포인트 특징 라인 및 수직 앵커 포인트 특징 라인을 획득하는 명령어들;
상기 수평 앵커 포인트 특징 라인과 상기 수직 앵커 포인트 특징 라인의 교차점을 계산하는 명령어들;
상기 계산된 교차점에 대응하는, 상기 QR 2차원 코드의 앵커 포인트의 위치를 획득하는 명령어들; 및
계산된 상기 앵커 포인트의 위치에 따라 상기 QR 2차원 코드의 윤곽선을 획득하는 명령어들을 추가로 포함하는, 디바이스. - 제14항에 있어서, 상기 영상 프레임 내에서 상기 2차원 코드의 상기 식별된 윤곽선을 추적하여 상기 영상 프레임에서의 상기 2차원 코드의 위치 정보를 획득하는 명령어들은
초기 카메라 비디오 그레이스케일 프레임을 획득하고 상기 2차원 코드의 상기 윤곽선 내에서 초기 추적점 집계를 계산하는 명령어들;
상기 초기 추적점 집계 수가 미리 결정된 임계값 초과라는 판정에 따라, 현재 카메라 비디오 그레이스케일 프레임, 이전 추적점 집계 및 이전 카메라 비디오 그레이스케일 프레임을 획득하는 명령어들;
광학적 흐름 추적 모드들에서 상기 현재 카메라 비디오 그레이스케일 프레임, 이전 추적점 집계 및 이전 카메라 비디오 그레이스케일 프레임을 적용하는 것에 의해, 현재 카메라 비디오 프레임 이미지에 의해 추적되는 현재 추적점 집계를 계산하는 명령어들; 및
상기 초기 추적점 집계 및 상기 현재 추적점 집계의 대응하는 도트 쌍들에 따라 호모그래피 행렬을 계산하는 명령어들을 추가로 포함하는, 디바이스. - 제15항에 있어서, 호모그래피 행렬을 계산하는 명령어들은
상기 현재 추적점 집계가 상기 초기 추적점 집계의 상기 미리 결정된 임계값을 초과하지 않는 것으로 판정하는 명령어들; 및
카메라 비디오 프레임 이미지들의 현재 추적된 개수가 상기 미리 설정된 임계값 미만이라는 판정에 따라 상기 호모그래피 행렬을 계산하는 명령어들을 추가로 포함하는, 디바이스. - 제12항 내지 제16항 중 어느 한 항에 있어서, 상기 하나 이상의 프로그램들은,
상기 카메라 비디오 프레임의 카메라 비디오 프레임 이미지에서 2차원 코드가 검출되지 않는다는 판정에 따라, 상기 카메라 비디오 프레임 이미지에 대해 다운샘플링 처리를 수행하고 상기 카메라 비디오 프레임 이미지에서 상기 2차원 코드를 검출하려고 시도하는 명령어들을 추가로 포함하는, 디바이스. - 제12항 내지 제17항 중 어느 한 항에 있어서, 상기 하나 이상의 프로그램들은,
상기 카메라 비디오 프레임의 카메라 비디오 프레임 이미지에서 2차원 코드가 검출되지 않는다는 판정에 따라, 상기 디바이스 상에 상기 증강 현실을 제시하는 것을 종료하는 명령어들을 추가로 포함하는, 디바이스. - 제12항 내지 제18항 중 어느 한 항에 있어서, 상기 디바이스 상에 상기 증강 현실을 발생시키는 명령어들은
상기 증강 현실을 상기 디바이스의 상기 디스플레이 상에서 상기 카메라 비디오 프레임에서 상기 2차원 코드가 차지하는 구역에 표시하는 명령어들을 추가로 포함하는, 디바이스. - 제19항에 있어서, 상기 증강 현실을 상기 디바이스의 상기 디스플레이 상에서 상기 카메라 비디오 프레임에서 상기 2차원 코드가 차지하는 구역에만 표시하는 명령어들은
상기 증강 현실의 크기를 상기 카메라 비디오 프레임에서의 상기 캡처된 2차원 코드 이미지의 크기로 변환하는 명령어들을 추가로 포함하는, 디바이스. - 제19항에 있어서, 상기 표시되는 증강 현실은 상기 2차원 코드의 콘텐츠 및 위치 정보에 기초한 3차원 표현인, 디바이스.
- 제21항에 있어서, 상기 증강 현실을 상기 디바이스의 상기 디스플레이 상에서 상기 카메라 비디오 프레임에서 상기 2차원 코드가 차지하는 구역에만 표시하는 명령어들은
3차원 모델의 극좌표의 상기 디스플레이 스크린의 2차원 좌표로의 변환 행렬을 계산하는 명령어들; 및
상기 변환 행렬을 사용하여, 카메라 비디오 프레임 이미지에서의 상기 2차원 코드의 위치 정보에 따라 상기 카메라 비디오 프레임 이미지에 상기 3차원 모델을 오버레이하는 명령어들을 추가로 포함하는, 디바이스. - 하나 이상의 프로그램들을 저장하는 비일시적 컴퓨터 판독가능 저장 매체로서,
상기 하나 이상의 프로그램들은, 디스플레이 및 카메라를 갖는 전자 디바이스에 의해 실행될 때, 상기 디바이스로 하여금,
카메라 비디오 프레임을 통해 2차원 코드의 이미지 캡처를 검출하게 하는 명령어들;
상기 카메라 비디오 프레임에서 캡처된 상기 2차원 코드의 윤곽선을 식별하게 하는 명령어들;
상기 검출된 2차원 코드에 포함된 정보를 디코딩하게 하는 명령어들;
상기 디코딩된 2차원 코드에 대응하는 콘텐츠 정보를 획득하게 하는 명령어들;
상기 카메라 비디오 프레임 내에서 상기 2차원 코드의 상기 식별된 윤곽선을 추적하여 상기 카메라 비디오 프레임에서의 상기 2차원 코드의 위치 정보를 획득하게 하는 명령어들;
상기 콘텐츠 정보 및 상기 위치 정보에 기초하여 상기 2차원 코드에 대해 증강 현실 처리를 수행하게 하는 명령어들; 및
상기 디바이스의 상기 디스플레이 상에 현실 세계 영상을 표시하면서 그와 동시에 상기 디바이스 상에 상기 증강 현실을 발생시키게 하는 명령어들 - 상기 비디오 프레임에서의 상기 2차원 코드의 위치에 따라 임의의 시각적 증강 현실이 표시됨 - 을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체. - 제23항에 있어서, 상기 2차원 코드는 QR(quick-response) 코드인, 비일시적 컴퓨터 판독가능 저장 매체.
- 제24항에 있어서, 카메라 영상 프레임을 통해 2차원 코드의 이미지 캡처를 검출하는 것은 상기 이미지 캡처를 그레이스케일로 변환하고 상기 그레이스케일 이미지 캡처를 이진 이미지 캡처로 변환하는 것을 포함하고;
상기 2차원 코드의 윤곽선을 식별하게 하는 명령어들은, 상기 디바이스로 하여금,
이 이진 이미지에 대해 수평 앵커 포인트 특징 스캔 및 수직 앵커 포인트 특징 스캔을 실행하게 하는 명령어들;
수평 앵커 포인트 특징 라인 및 수직 앵커 포인트 특징 라인을 획득하게 하는 명령어들;
상기 수평 앵커 포인트 특징 라인과 상기 수직 앵커 포인트 특징 라인의 교차점을 계산하게 하는 명령어들;
상기 계산된 교차점에 대응하는, 상기 QR 2차원 코드의 앵커 포인트의 위치를 획득하게 하는 명령어들; 및
계산된 상기 앵커 포인트의 위치에 따라 상기 QR 2차원 코드의 윤곽선을 획득하게 하는 명령어들을 추가로 포함하는, 비일시적 컴퓨터 판독가능 저장 매체. - 제25항에 있어서, 상기 영상 프레임 내에서 상기 2차원 코드의 상기 식별된 윤곽선을 추적하여 상기 영상 프레임에서의 상기 2차원 코드의 위치 정보를 획득하게 하는 명령어들은, 상기 디바이스로 하여금,
초기 카메라 비디오 그레이스케일 프레임을 획득하고 상기 2차원 코드의 윤곽선 내에서 초기 추적점 집계를 계산하게 하는 명령어들;
상기 초기 추적점 집계 수가 미리 결정된 임계값 초과라는 판정에 따라, 현재 카메라 비디오 그레이스케일 프레임, 이전 추적점 집계 및 이전 카메라 비디오 그레이스케일 프레임을 획득하게 하는 명령어들;
광학적 흐름 추적 모드들에서 상기 현재 카메라 비디오 그레이스케일 프레임, 이전 추적점 집계 및 이전 카메라 비디오 그레이스케일 프레임을 적용하는 것에 의해, 현재 카메라 비디오 프레임 이미지에 의해 추적되는 현재 추적점 집계를 계산하게 하는 명령어들; 및
상기 초기 추적점 집계 및 상기 현재 추적점 집계의 대응하는 도트 쌍들에 따라 호모그래피 행렬을 계산하게 하는 명령어들을 추가로 포함하는, 비일시적 컴퓨터 판독가능 저장 매체. - 제26항에 있어서, 호모그래피 행렬을 계산하게 하는 명령어들은, 상기 디바이스로 하여금,
상기 현재 추적점 집계가 상기 초기 추적점 집계의 상기 미리 결정된 임계값을 초과하지 않는 것으로 판정하게 하는 명령어들; 및
카메라 비디오 프레임 이미지들의 현재 추적된 개수가 상기 미리 설정된 임계값 미만이라는 판정에 따라 상기 호모그래피 행렬을 계산하게 하는 명령어들을 추가로 포함하는, 비일시적 컴퓨터 판독가능 저장 매체. - 제23항 내지 제27항 중 어느 한 항에 있어서, 상기 하나 이상의 프로그램들은, 상기 디바이스로 하여금,
상기 카메라 비디오 프레임의 카메라 비디오 프레임 이미지에서 2차원 코드가 검출되지 않는다는 판정에 따라, 상기 카메라 비디오 프레임 이미지에 대해 다운샘플링 처리를 수행하고 상기 카메라 비디오 프레임 이미지에서 상기 2차원 코드를 검출하려고 시도하게 하는 명령어들을 추가로 포함하는, 비일시적 컴퓨터 판독가능 저장 매체. - 제23항 내지 제28항 중 어느 한 항에 있어서, 상기 하나 이상의 프로그램들은, 상기 디바이스로 하여금,
상기 카메라 비디오 프레임의 카메라 비디오 프레임 이미지에서 2차원 코드가 검출되지 않는다는 판정에 따라, 상기 디바이스 상에 상기 증강 현실을 제시하는 것을 종료하게 하는 명령어들을 추가로 포함하는, 비일시적 컴퓨터 판독가능 저장 매체. - 제23항 내지 제29항 중 어느 한 항에 있어서, 상기 디바이스 상에 상기 증강 현실을 발생시키게 하는 명령어들은, 상기 디바이스로 하여금,
상기 증강 현실을 상기 디바이스의 상기 디스플레이 상에서 상기 카메라 비디오 프레임에서 상기 2차원 코드가 차지하는 구역에 표시하게 하는 명령어들을 추가로 포함하는, 비일시적 컴퓨터 판독가능 저장 매체. - 제30항에 있어서, 상기 증강 현실을 상기 디바이스의 상기 디스플레이 상에서 상기 카메라 비디오 프레임에서 상기 2차원 코드가 차지하는 구역에만 표시하게 하는 명령어들은, 상기 디바이스로 하여금,
상기 증강 현실의 크기를 상기 카메라 비디오 프레임에서의 상기 캡처된 2차원 코드 이미지의 크기로 변환하게 하는 명령어들을 추가로 포함하는, 비일시적 컴퓨터 판독가능 저장 매체. - 제30항에 있어서, 상기 표시되는 증강 현실은 상기 2차원 코드의 콘텐츠 및 위치 정보에 기초한 3차원 표현인, 비일시적 컴퓨터 판독가능 저장 매체.
- 제32항에 있어서, 상기 증강 현실을 상기 디바이스의 상기 디스플레이 상에서 상기 카메라 비디오 프레임에서 상기 2차원 코드가 차지하는 구역에만 표시하게 하는 명령어들은, 상기 디바이스로 하여금,
3차원 모델의 극좌표의 상기 디스플레이 스크린의 2차원 좌표로의 변환 행렬을 계산하게 하는 명령어들; 및
상기 변환 행렬을 사용하여, 카메라 비디오 프레임 이미지에서의 상기 2차원 코드의 위치 정보에 따라 상기 카메라 비디오 프레임 이미지에 상기 3차원 모델을 오버레이하게 하는 명령어들을 추가로 포함하는, 비일시적 컴퓨터 판독가능 저장 매체. - 전자 디바이스로서,
현실 세계 영상 및 시각적 증강 현실을 표시하도록 구성된 디스플레이 유닛;
카메라 비디오 프레임을 통해 이미지들 및 비디오를 캡처하도록 구성된 카메라 유닛; 및
상기 디스플레이 유닛 및 상기 카메라 유닛에 결합된 처리 유닛
을 포함하고,
상기 처리 유닛은
상기 카메라 비디오 프레임 이미지에서 2차원 코드의 이미지 캡처를 검출하여 상기 2차원 코드의 윤곽선을 획득하도록 구성된 2차원 코드 검출 유닛;
상기 2차원 코드의 콘텐츠 정보를 획득하고, 이 2차원 코드를 추적하여 상기 카메라 비디오 프레임 이미지에서의 상기 2차원 코드의 위치 정보를 획득하도록 구성된 인식 추적 유닛; 및
상기 카메라 비디오 프레임 이미지에서의 상기 2차원 코드의 상기 위치 정보 및 상기 콘텐츠 정보에 기초하여 상기 2차원 코드에 대해 증강 현실 처리를 수행하고, 상기 디바이스의 상기 디스플레이 상에 현실 세계 영상을 표시하면서 그와 동시에 상기 디바이스 상에 상기 증강 현실을 발생시키도록 구성된 증강 현실 유닛 - 상기 비디오 프레임에서의 상기 2차원 코드의 위치에 따라 임의의 시각적 증강 현실이 표시됨 - 을 포함하는, 전자 디바이스. - 제34항에 있어서, 상기 2차원 코드는 QR(quick-response) 코드인, 전자 디바이스.
- 제35항에 있어서, 상기 2차원 코드 검출 유닛은
상기 카메라 비디오 프레임 이미지를 그레이스케일 이미지로 변환하고 상기 언급된 그레이스케일 이미지를 이진 이미지로 변환하며;
이 이진 이미지에 대해 수평 앵커 포인트 특징 스캔 및 수직 앵커 포인트 특징 스캔을 실행하여 수평 앵커 포인트 특징 라인 및 수직 앵커 포인트 특징 라인을 획득하고;
상기 수평 앵커 포인트 특징 라인과 상기 수직 앵커 포인트 특징 라인의 교차점을 계산하여 QR 2차원 코드의 앵커 포인트의 위치를 획득하며;
계산된 상기 QR 2차원 코드의 앵커 포인트의 위치에 따라 이 QR 2차원 코드의 윤곽선을 획득하도록 추가로 구성되어 있는, 전자 디바이스. - 제35항에 있어서, 상기 인식 추적 유닛은
2차원 코드의 상기 윤곽선에 따라 대응하는 초기 카메라 비디오 그레이스케일 프레임을 획득하고 이 2차원 코드의 상기 윤곽선 내에서 초기 추적점 집계를 계산하며;
상기 초기 추적점 집계 수가 미리 설정된 임계값 초과라는 판정에 따라, 현재 카메라 비디오 그레이스케일 프레임, 이전 추적점 집계 및 이전 카메라 비디오 그레이스케일 프레임을 획득하고;
광학적 흐름 추적 모드들에서 상기 현재 카메라 비디오 그레이스케일 프레임, 이전 추적점 집계 및 이전 카메라 비디오 그레이스케일 프레임을 적용하는 것에 의해, 현재 카메라 비디오 프레임 이미지에 의해 추적되는 현재 추적점 집계를 계산하며;
상기 초기 추적점 집계 및 상기 현재 추적점 집계의 대응하는 도트 쌍들에 따라 호모그래피 행렬을 계산하도록 추가로 구성되어 있는, 전자 디바이스. - 제37항에 있어서, 상기 인식 추적 유닛은
상기 현재 추적점 집계가 상기 초기 추적점 집계의 상기 미리 결정된 임계값을 초과하지 않는 것으로 판정하고;
카메라 비디오 프레임 이미지들의 현재 추적된 개수가 상기 미리 설정된 임계값 미만이라는 판정에 따라 상기 호모그래피 행렬을 계산하도록 추가로 구성되어 있는, 전자 디바이스. - 제34항 내지 제38항 중 어느 한 항에 있어서, 상기 2차원 코드 검출 유닛은, 상기 카메라 비디오 프레임 이미지에서 2차원 코드가 검출되지 않을 때, 상기 카메라 비디오 프레임 이미지에 대해 다운샘플링 처리를 수행하고, 상기 다운샘플링 처리를 수행한 후의 상기 카메라 비디오 프레임 이미지에서 상기 2차원 코드를 검출하도록 추가로 구성되어 있는, 전자 디바이스.
- 제34항 내지 제39항 중 어느 한 항에 있어서, 상기 2차원 코드 검출 유닛은, 상기 카메라 비디오 프레임 이미지에서 2차원 코드가 검출되지 않을 때, 상기 디바이스 상에 상기 증강 현실을 제시하는 것을 종료하도록 추가로 구성되어 있는, 전자 디바이스.
- 제34항 내지 제40항 중 어느 한 항에 있어서, 상기 증강 현실 유닛은 상기 증강 현실을 상기 디바이스의 상기 디스플레이 상에서 상기 카메라 비디오 프레임에서 상기 2차원 코드가 차지하는 구역에 표시하도록 추가로 구성되어 있는, 전자 디바이스.
- 제41항에 있어서, 상기 증강 현실 유닛은 상기 증강 현실의 크기를 상기 카메라 비디오 프레임에서의 상기 캡처된 2차원 코드 이미지의 크기로 변환하도록 추가로 구성되어 있는, 전자 디바이스.
- 제41항에 있어서, 상기 증강 현실 유닛은 상기 증강 현실을 상기 2차원 코드의 콘텐츠 및 위치 정보에 기초한 3차원 표현으로서 표시하도록 추가로 구성되어 있는, 전자 디바이스.
- 제43항에 있어서, 상기 증강 현실 유닛은
3차원 모델의 극좌표의 상기 디스플레이 스크린의 2차원 좌표로의 변환 행렬을 계산하고;
상기 변환 행렬을 사용하여, 카메라 비디오 프레임 이미지에서의 상기 2차원 코드의 위치 정보에 따라 상기 카메라 비디오 프레임 이미지에 상기 3차원 모델을 오버레이하도록 추가로 구성되어 있는, 전자 디바이스.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310031075.1A CN103971079B (zh) | 2013-01-28 | 一种二维码的增强现实实现方法和装置 | |
CN201310031075.1 | 2013-01-28 | ||
PCT/CN2013/085928 WO2014114118A1 (en) | 2013-01-28 | 2013-10-25 | Realization method and device for two-dimensional code augmented reality |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20150105479A true KR20150105479A (ko) | 2015-09-16 |
Family
ID=51226892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020157022784A KR20150105479A (ko) | 2013-01-28 | 2013-10-25 | 2차원 코드 증강 현실의 실현 방법 및 디바이스 |
Country Status (5)
Country | Link |
---|---|
KR (1) | KR20150105479A (ko) |
CA (1) | CA2898668A1 (ko) |
SG (1) | SG11201505496VA (ko) |
TW (1) | TWI506563B (ko) |
WO (1) | WO2014114118A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170054146A (ko) * | 2015-11-09 | 2017-05-17 | 에스케이텔레콤 주식회사 | 증강 현실 제공 방법 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170337408A1 (en) * | 2014-08-18 | 2017-11-23 | Kumoh National Institute Of Technology Industry-Academic Cooperation Foundation | Sign, vehicle number plate, screen, and ar marker including boundary code on edge thereof, and system for providing additional object information by using boundary code |
JP2017033128A (ja) * | 2015-07-30 | 2017-02-09 | 株式会社きもと | 情報提供システム、コンピュータプログラム及び印刷物 |
CN105786184A (zh) * | 2016-03-02 | 2016-07-20 | 广州聚变网络科技有限公司 | 一种虚拟现实系统 |
CN106897648B (zh) * | 2016-07-22 | 2020-01-31 | 阿里巴巴集团控股有限公司 | 识别二维码位置的方法及其系统 |
CN107067272B (zh) * | 2017-04-18 | 2020-12-25 | 北京首溯科技有限公司 | 一种农副产品流通环节高效追溯方法 |
US11610013B2 (en) | 2020-04-17 | 2023-03-21 | Intertrust Technologies Corporation | Secure content augmentation systems and methods |
CN111476528B (zh) * | 2020-04-27 | 2023-07-11 | 上海东普信息科技有限公司 | 基于快递出库的数据处理方法、装置、设备及存储介质 |
CN113673283A (zh) * | 2020-05-14 | 2021-11-19 | 惟亚(上海)数字科技有限公司 | 一种基于增强现实的平滑跟踪方法 |
CN111931538B (zh) * | 2020-07-07 | 2024-03-29 | 广东奥普特科技股份有限公司 | 一种Micro QR二维码的定位方法 |
CN113763466B (zh) * | 2020-10-10 | 2024-06-14 | 北京京东乾石科技有限公司 | 一种回环检测方法、装置、电子设备和存储介质 |
EP4278327A2 (en) | 2021-01-15 | 2023-11-22 | AGC Glass Europe | Method for aligning a 3d model of an object with an image comprising at least a portion of said object to obtain an augmented reality |
IT202100030080A1 (it) * | 2021-11-29 | 2023-05-29 | Nazario Luzi | Carta dei vini digitale |
CN114418048B (zh) * | 2021-12-31 | 2023-07-18 | 三维码(厦门)网络科技有限公司 | 一种加强视觉效果的人像三维码快速生成方法 |
CN116542926B (zh) * | 2023-05-04 | 2024-06-21 | 上海感图网络科技有限公司 | 电池的二维码缺陷识别方法、装置、设备及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7693702B1 (en) * | 2002-11-01 | 2010-04-06 | Lockheed Martin Corporation | Visualizing space systems modeling using augmented reality |
CN100470452C (zh) * | 2006-07-07 | 2009-03-18 | 华为技术有限公司 | 一种实现三维增强现实的方法及系统 |
TW200901089A (en) * | 2007-06-22 | 2009-01-01 | Mo Fz Tang Co Ltd | Virtual reality image superimposing system and method thereof |
US7886978B2 (en) * | 2007-09-20 | 2011-02-15 | Microsoft Corporation | Techniques for decoding images of barcodes |
CN102843349B (zh) * | 2011-06-24 | 2018-03-27 | 中兴通讯股份有限公司 | 实现移动增强现实业务的方法及系统、终端及服务器 |
TWM434978U (en) * | 2012-01-17 | 2012-08-01 | Yuan-Hong Li | Direction indication device with augmented reality identification tag and augmented reality device thereof |
CN102800065B (zh) * | 2012-07-13 | 2015-07-29 | 苏州梦想人软件科技有限公司 | 基于二维码识别跟踪的增强现实设备及方法 |
-
2013
- 2013-09-12 TW TW102132889A patent/TWI506563B/zh active
- 2013-10-25 KR KR1020157022784A patent/KR20150105479A/ko not_active Application Discontinuation
- 2013-10-25 CA CA2898668A patent/CA2898668A1/en active Pending
- 2013-10-25 SG SG11201505496VA patent/SG11201505496VA/en unknown
- 2013-10-25 WO PCT/CN2013/085928 patent/WO2014114118A1/en active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170054146A (ko) * | 2015-11-09 | 2017-05-17 | 에스케이텔레콤 주식회사 | 증강 현실 제공 방법 |
Also Published As
Publication number | Publication date |
---|---|
CN103971079A (zh) | 2014-08-06 |
WO2014114118A1 (en) | 2014-07-31 |
SG11201505496VA (en) | 2015-08-28 |
TW201430714A (zh) | 2014-08-01 |
CA2898668A1 (en) | 2014-07-31 |
TWI506563B (zh) | 2015-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20150105479A (ko) | 2차원 코드 증강 현실의 실현 방법 및 디바이스 | |
US20140210857A1 (en) | Realization method and device for two-dimensional code augmented reality | |
US10769411B2 (en) | Pose estimation and model retrieval for objects in images | |
KR101469398B1 (ko) | 텍스트 기반 3d 증강 현실 | |
US9922431B2 (en) | Providing overlays based on text in a live camera view | |
Rekimoto | Matrix: A realtime object identification and registration method for augmented reality | |
CN103971400B (zh) | 一种基于标识码的三维交互的方法和系统 | |
US11393200B2 (en) | Hybrid feature point/watermark-based augmented reality | |
US9633479B2 (en) | Time constrained augmented reality | |
JP6056319B2 (ja) | 画像処理装置、画像処理方法および画像処理プログラム | |
CN106875431B (zh) | 具有移动预测的图像追踪方法及扩增实境实现方法 | |
JP6491517B2 (ja) | 画像認識ar装置並びにその姿勢推定装置及び姿勢追跡装置 | |
CN112200187A (zh) | 一种目标检测方法、装置、机器可读介质及设备 | |
US8965051B2 (en) | Method and apparatus for providing hand detection | |
US10198831B2 (en) | Method, apparatus and system for rendering virtual content | |
CN110598139A (zh) | 基于5G云计算的Web浏览器增强现实实时定位的方法 | |
Seo et al. | Real-time visual tracking of less textured three-dimensional objects on mobile platforms | |
CN111107264A (zh) | 图像处理方法、装置、存储介质以及终端 | |
Álvarez et al. | A new marker design for a robust marker tracking system against occlusions | |
KR101844367B1 (ko) | 부분 포즈 추정에 의하여 개략적인 전체 초기설정을 사용하는 머리 포즈 추정 방법 및 장치 | |
JP2010061409A (ja) | 画像処理プログラム及び画像処理システム | |
CN110827411A (zh) | 自适应环境的增强现实模型显示方法、装置、设备及存储介质 | |
US10467762B2 (en) | Method for, and device comprising, an electronic display | |
Miao et al. | A Method for Correcting the Leaning of AR Two-Dimensional Codes Based on LSM | |
TWM582166U (zh) | Augmented reality system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |