본 발명에서는 상기와 같은 문제점을 해결하기 위해서 증강현실 콘텐츠들을 증강 책의 개념으로 체계화하고 증강 책의 형태로 구성된 3차원 콘텐츠들을 능동적이고 상호작용적으로 사용자에게 제공하기 위한 것이다.
본 발명은 단순한 증강현실 표현 장치가 아니라 더 나아가 실제 책을 매개체로 하는 다양한 증강현실 콘텐츠들의 표현 장치라는 측면에서 종래의 기술과 차별된다. 본 발명이 이루고자 하는 기술적 과제는 실제 책의 내용을 기존의 수동적이고 일방적인 평면적 표현이 아닌 능동적이고 상호작용적인 입체적 표현이 되도록 하는 장치 및 방법을 제공하는 것이다.
본 발명은 사용자에게 능동적으로 콘텐츠를 제공하기 위하여 사용자의 시야에 보이는 마커의 형태를 계산하고 상기 계산된 값으로부터 콘텐츠를 어떻게 좌표계에 배치해야 할 지를 결정하는 방법을 제공한다. 또한 사용자에 시야에 보이는 마커에 부여된 고유번호에 따라서 마커의 타입을 결정하고 결정된 마커의 타입과 부여된 고유번호에 따라서 사용자에게 제공할 콘텐츠를 선정하고 상호작용을 수행하는 방법을 제공한다.
본 발명의 실감 콘텐츠를 제공하는 방법 및 장치는 사용자의 HMD에 부착된 카메라로 부터 실제 환경에 대한 영상을 획득한다. 상기 획득된 영상으로 부터 증강 책에 부착 된 마커를 인식하고 인식된 마커와 사용자 간의 위치 관계를 계산 한다. 게산된 카메라의 자세에 따라서 마커와 연관된 3차원 가상 객체를 책위에 증강시킨다. 사용자는 HMD 를 통해 증강 책의 모습을 관찰 할 수 있다. 제어 마커와 참조 마커를 이용하여 증강된 3차원 객체를 조작하여 증강책과의 상호 작용이 가능하 다.
따라서 본 발명의 실감 콘텐츠를 제공하는 방법은 영상 입력 단계, 상기 영상에서 복수의 마커를 검출하고 각각의 위치와 방향을 계산하는 마커 검출 단계, 상기 검출된 복수의 마커에 따라서 콘텐츠를 선정하고 상호작용하는 영상 합성 단계, 상기 선정된 콘텐츠를 표현하는 영상 표현 단계를 포함하는 것을 특징으로 한다.
또한 본 발명의 실감 콘텐츠를 제공하는 방법에서 콘텐츠를 보여주는 도구로 활용되는 증강 책은, 마커 패턴에 고유번호를 배정하는 단계, 및 상기 마커에 배정된 고유번호에 따라서 마커의 타입을 페이지 마커, 제어 마커, 참조 마커, 메뉴 마커로 구분하는 단계 및 검출된 마커의 타입 및 고유번호로부터 표현할 콘텐츠를 선정하는 단계를 포함하여 이루어지는 것을 특징으로 한다.
또한 본 발명의 실감 콘텐츠를 제공하는 방법 및 장치에서, 선정된 콘텐츠를 표현하는 영상 합성 절차는, 상기 마커의 고유번호로부터 마커 타입을 결정하고, 검출된 마커들의 타입 및 고유번호로부터 표현할 콘텐츠를 선정하는 것을 특징으로 한다.
또한 본 발명의 마커 검출단계는 모서리 검출단계, 고유번호 인식단계, 위치 및 방향 계산 단계로 이루어지는 것을 특징으로 한다.
본 발명은 증강 책을 통해 실감 콘텐츠의 직관적인 제공 기능을 구현할 수 있다. 또한 본 장치는 실감 콘텐츠를 표현함에 있어서 실제 책을 사용하고 사용자 가 바라보는 시각을 그대로 반영하면서 손으로 직접 상호작용하는 기능을 제공하므로 실감 콘텐츠를 직관적으로 사용자에게 제공하는 효과가 있다. 실감 콘텐츠를 시나리오에 따라서 저작하고 이를 책의 형태로 구성하여 증강 책을 제작할 수 있으며 제작된 증강 책은 본 발명의 장치에 의해서 사용자에게 표현된다. 본 장치의 사용으로 증강 책으로 구성된 다양한 형태의 실감 콘텐츠들을 사용자 중심적이고 직관적인 상호작용이 가능하도록 사용자에게 제공하는 효과가 있다.
본 발명의 실시예에 따른 증강 책 제공 방법은 영상을 입력하는 단계, 영상에서 마커를 검출하는 단계, 영상을 합성하는 단계, 합성된 영상을 출력하는 단계를 포함한다.
본 발명의 실시예에 따른 증강 책 제공 장치는 영상을 입력하는 영상 입력부, 영상에서 마커를 검출하는 마커 검출부, 영상을 합성하는 영상 합성부, 합성된 영상을 출력하는 영상표시부를 포함한다.
본 발명의 증강 책 제공 방법에 따른 영상을 입력하는 단계에서는 사용자가 바라보는 정면 시야를 향하도록 출력장치인 HMD에 장착되어 있는 카메라로부터 영상을 획득한다. 상기 획득한 영상에서 마커를 검출하는 단계에서는 영상에 촬영된 마커들의 위치를 찾는다. 상기 마커의 위치를 찾기 위해서 일련의 영상처리 절차를 거치며 카메라에 상대적인 마커의 위치 및 방향 그리고 마커의 고유번호를 출력한다. 상기 영상을 합성하는 단계에서는 준비된 입체 콘텐츠들을 마커를 기준으로 하는 좌표계에서 3차원으로 렌더링한다. 상기 마커를 기준으로 하는 좌표계는 카메라 를 기준으로 하는 카메라 좌표계로부터 변환행렬을 적용하여 얻는다. 상기 변환행렬은 카메라에 상대적인 마커의 위치 및 방향 정보로부터 구해진다. 상기 렌더링은 먼저 입력된 영상을 배경으로 그린 후에 입체 콘텐츠들을 그리는 순서로 진행한다. 상기 입력 영상과 입체 콘텐츠들이 합성됨에 있어서 이음새가 뚜렷하게 보이지 않도록 하기 위해서 입체 콘텐츠들의 표현되는 칼라분포가 유사하도록 보정한다. 상기 합성된 영상을 출력하는 단계에서는 합성된 영상을 출력장치인 HMD로 출력한다.
상기 증강 책과의 상호작용은 인식된 마커의 고유번호로 결정된다. 마커의 고유번호는 0부터 시작하여 음이 아닌 정수값을 배정하며 각 고유번호는 상호작용의 타입을 결정한다. 상기 마커에 어떠한 고유번호가 배정되어 있는지에 따라서 마커를 페이지 마커, 제어 마커, 참조 마커, 메뉴 마커의 네 가지 타입으로 나눈다. 첫 번째 타입은 페이지 마커이다. 상기 증강 책의 페이지 번호를 의미하는 고유번호는 0에서부터 충분한 크기의 숫자까지 배정된다. 일 예로 증강 책의 페이지가 100페이지 이하일 경우에는 고유번호 0에서 고유번호 99까지를 증강 책의 페이지 번호를 의미하는 고유번호들로 배정할 수 있다. 이러한 고유번호가 할당된 마커들을 페이지 마커라고 지칭한다.
상기 페이지 마커 이외의 다른 타입의 마커들에 대해서는 고유번호가 페이지 마커의 고유번호와 중복되지 않게 배정한다. 일 예로 모든 증강 책들의 최대 페이지 수가 200 페이지 미만이라면 페이지 마커 이외의 마커들의 고유번호를 200부터 하나씩 배정할 수 있다.
두 번째 타입은 제어 마커이다. 상기 제어 마커는 입체 콘텐츠들의 선택 및 이동을 제어하는 기능을 수행한다. 상기 HMD를 착용한 사용자는 제어 마커를 손으로 쥐고 직접 이동시키면서 HMD로 보여지는 입체 콘텐츠들과 상호작용을 시도한다. 상기 제어 마커는 합성된 공간에서의 사용자의 지시자의 역할을 수행한다. 일 예로 제어 마커가 한 페이지 마커에 인접하게 되면 그 페이지 마커와 연관되어 있는 입체 콘텐츠들이 특정 행위를 수행하도록 이벤트를 발생시킨다. 상기 이벤트의 설정은 증강 책 컨텐츠의 저작 과정에서 명시되며 컨텐츠의 시나리오에 의해서 정해진다. 이벤트의 일 예로 입체 콘텐츠가 배치되는 기준 좌표계를 기존의 페이지 마커의 좌표계에서 제어 마커의 좌표계로 변경되도록 하면 페이지 마커와 연관된 콘텐츠들이 제어 마커로 옮겨지게 된다. 따라서 제어 마커가 페이지 마커와 인접하게 된 후에 제어 마커를 손으로 다시 이동시키면 콘텐츠들이 제어 마커와 함께 따라서 움직이게 되므로 제어 마커가 콘텐츠를 선택하여 제어 마커 상으로 콘텐츠를 들어올린 후에 제어 마커 상으로 올려진 콘텐츠들을 손으로 이동시키는 기능을 수행할 수 있게 된다.
세 번째 타입은 참조 마커이다. 상기 참조 마커는 여러 사람들이 동시에 다양한 각도에서 관찰할 수 있는 실 세계의 작업 공간의 중심에 배치되어 있는 마커이다. 상기 참조 마커는 하나의 참조 좌표계를 정의하며 모든 사람들은 이 참조 좌표계에 배치된 콘텐츠들을 자신의 위치에서 관찰할 수 있다. 상기 참조 좌표계가 정의하는 공간과 연관된 컨텐츠들은 초기에는 비어 있게 되고 사용자가 콘텐츠를 참조 공간으로 이동시키면서 콘텐츠를 참조 좌표계의 공간으로 추가할 수 있다. 일 예로 페이지에 있는 콘텐츠를 제어 마커로 옮겨와서 참조 공간에 배치시킬 수 있 다.
네 번째 타입은 메뉴 마커이다. 상기 메뉴 마커는 콘텐츠 내의 메뉴나 옵션의 선택 기능을 위한 마커이다. 상기 콘텐츠가 가시화되는 과정에서 다양한 이벤트들이 발생할 수 있고 어떤 이벤트는 사용자로부터 선택을 요구할 수 있다. 선택 이벤트가 발생된 경우에 사용자는 상기 메뉴 마커를 사용하여 여러 선택 항목들 중 한 항목을 지정할 수 있다. 한 메뉴의 항목들은 한 상태 인자의 선택 가능한 상태값들에 해당한다. 초기에는 현재의 상태값에 해당하는 메뉴 항목으로 설정된 상태로 사용자에게 제시된다. 사용자는 상기 메뉴 마커을 움직여서 현재의 상태값을 선택 가능한 다음의 상태값으로 바꿀 수 있다. 상기 메뉴 마커가 현재의 기준 좌표계 중심에 근접할 때마다 다음 항목을 선택하여 상태값으로 지정하는 식으로 메뉴 항목의 선택을 제어할 수 있다.
이하에서는 본 발명의 실시예에 따른 증강 책 콘텐츠를 제공하는 장치 및 방법에 대하여 도면을 참고로 하여 상세하게 설명한다.
도 1은 본 발명의 실시예에 따른 증강 책 콘텐츠 제공 장치의 구성도이다. 도 1에 도시된 바와 같이, 증강 책 콘텐츠 제공 장치는 영상 입력부(100), 마커 검출부(200), 영상 합성부(300), 영상 표시부(400)를 포함하며, 본 발명의 증강 책 콘텐츠 제공 장치는 영상 입력부에서 영상 표시부까지의 일련의 절차를 계속해서 반복하게 된다.
먼저, 상기 영상 입력부(100)에서는 출력장치인 HMD에 부착된 카메라 장치로부터 영상 프레임을 획득하여 이를 마커 검출부(200)로 전달한다. 상기 카메라 장 치는 HMD의 중심에 부착되어 있고 사용자가 향하는 시선 방향과 동일한 방향을 향하도록 고정되어 있도록 한다. 영상 프레임의 획득 주기는 가변적일 수 있으나 사용자의 움직임에 따른 상호작용이 가능하도록 주기가 짧아지도록 전체 시스템을 구현한다.
도 2는 마커의 타입들을 나타낸다. 증강 책에는 왼쪽과 오른쪽의 각 페이지 상부 모서리에 페이지 마커(A,B)가 부착 또는 인쇄되어 있다. 증강 책 콘텐츠와의 상호작용을 위해서 제어 마커(C)와 메뉴 마커(D)가 사용된다. 제어 마커(C)와 메뉴 마커(D)는 그 형태에 있어서는 동일하고 단지 내부의 마커 패턴이 서로 다른 식별번호에 해당하도록 되어 있다. 제어 마커(C)와 메뉴 마커(D)는 사용자가 손으로 쥐고 움직일 수 있는 형태로 제작된다. 참조 마커(E)는 마커 패턴이 중심에 부착된 형태로 탁자 등의 작업 공간에 배치한다.
도 3은 마커 검출부의 동작을 설명하는 도면으로서, 상기 마커 검출부(200)의 계산 절차를 보여주고 있다. 마커 검출부에서는 영상 프레임을 분석하여 카메라에 상대적인 마커의 위치와 방향을 계산한다. 빠른 마커의 검출을 위해서 영상 프레임이 컬러 영상인 경우에도 각 화소에서의 밝기 정보만 사용하여 검출한다. 또한 마커는 안정적이고 빠른 검출이 가능하도록 흑백으로 선명하게 나타나는 사각형 패턴 무늬를 사용한다. 사용된 사각형 패턴 무늬는 다양한 고유번호를 표현할 수 있어야 하므로 많은 조합들이 가능하도록 한다. 상기 마커 검출부는 모서리 검출단계와 고유번호 인식 단계, 위치 및 방향계산 단계로 이루어 지는데, 상기 마커 검출부의 모서리 검출 단계(210)에서는 먼저 영상 프레임에서 사각형 모양의 패턴을 찾 고 사각형의 네 모서리점의 영상 위치들을 얻는다. 그 다음 고유번호 인식단계(220)에서는 사각형 내부의 패턴 무늬로부터 미리 설정해 놓은 고유번호를 얻는다. 그 다음 위치 및 방향 계산 단계(230)에서는 사각형의 영상 위치들로부터 카메라에 상대적인 위치 및 방향을 계산한다. 상기 마커 검출부는 인식된 고유번호와 위치 및 방향을 영상 합성부(300)로 전달한다.
상기 영상 합성부(300)에서는 입력된 영상 프레임 상에서 실감 콘텐츠를 삽입하여 합성된 영상 프레임을 생성한다. 삽입할 실감 콘텐츠의 선정은 검출된 마커의 식별번호와 현재의 시스템 상태에 따라서 결정된다. 검출된 마커의 식별번호가 페이지 번호를 의미하는 경우에는 해당 페이지와 연관되어있는 실감 콘텐츠를 선정한다. 상기 선정된 실감 콘텐츠는 페이지 마커의 좌표계에 대해서 배치된다. 마커의 좌표계는 마커 검출부로부터 얻은 카메라에 상대적인 마커의 위치 및 방향 정보로부터 정해진다.
각 페이지 마커마다 실감 콘텐츠들이 연관되어 있고 한 페이지 마커가 검출되면 그 페이지에 해당하는 실감 콘텐츠가 그 페이지 마커의 좌표계로 표현된다. 상기 검출된 마커의 식별번호가 참조 마커나 제어 마커인 경우에는 페이지 마커의 좌표계가 아닌 참조 마커나 제어 마커의 좌표계가 사용될 수 있다. 상기 참조 마커나 제어 마커에는 초기에는 어떤 콘텐츠도 연관되어 있지 않다. 상기 제어 마커를 움직여서 제어 마커가 페이지 마커와 인접하게 되면 해당 페이지의 콘텐츠를 제어 마커로 가져올 수 있다. 상기 콘텐츠가 연관된 제어 마커를 움직여서 제어 마커가 참조 마커와 인접하게 되면 제어 마커와 연관된 콘텐츠를 참조 마커로 가져올 수 있다. 상기 제어 마커와 참조 마커가 콘텐츠를 포함하고 있는 상태라면 이를 우선적으로 표현하게 된다.
도 4는 영상 합성부의 구체적인 처리 절차를 보여주는 흐름도이다. 상기 마커 검출부에서 검출된 마커가 전혀 없는 경우(310)에는 영상 합성부를 즉시 종료한다. 이러한 경우에 영상 합성부는 이전의 상태가 그대로 유지되고 있으므로 영상 표시부에서는 이전의 상태를 그대로 표현한다. 상기 마커 검출부에서 검출된 마커가 있다면 페이지 마커가 검출되었는지를 확인한다(320). 상기 페이지 마커가 검출되지 않았다면 참조 마커가 검출되었는지를 확인한다(321). 참조 마커가 검출되었고 또한 콘텐츠가 연관되어 있는 활성 상태라면(322) 참조 마커의 연관 콘텐츠를 표현할 콘텐츠로 선택한다(348). 참조 마커가 검출되지 않았거나 참조 마커가 활성 상태가 아니라면 제어 마커가 검출되었는지를 확인한다(323). 제어 마커가 검출되지 않았다면 영상 합성부를 종료한다. 제어 마커가 검출된 경우에는 제어 마커가 활성 상태인지를 확인한다(324). 활성 상태가 아닌 경우에도 영상 합성부를 종료한다. 활성 상태라면 제어 마커의 연관 콘텐츠를 선택한다(349).
한편, 페이지 마커는 검출되었으나 제어 마커가 검출되지 않았다면(330) 페이지 마커의 연관 콘텐츠를 선택한다(341). 페이지 마커와 제어 마커가 모두 검출 되었다면(330) 제어 마커를 우선하여 검사해야 한다. 제어 마커에 콘텐츠가 연관되어 있는 활성 상태인지를 확인한다(331). 제어 마커가 활성 상태이고 참조 마커가 검출되지 않았다면(332) 제어 마커의 연관 콘텐츠를 선택한다(342). 참조 마커가 검출된 경우에는(332) 참조 마커가 활성 상태인지를 검사한다(333). 참조 마커가 활성 상태라면 참조 마커가 연관 콘텐츠를 선택하면 된다(344). 참조 마커가 활성 상태가 아니라면(333) 제어 마커가 페이지 마커에 인접한 지를 검사한다(334). 인접해 있다면 제어 마커의 콘텐츠를 참조 마커로 전달할 수 있는 기능의 수행을 위해서 참조 마커에 제어 마커의 콘텐츠를 연관시키고 참조 마커를 활성화한다(343). 또한 참조 마커의 연관 콘텐츠를 선택한다(344). 제어 마커가 페이지 마커에 인접하지 않은 경우에는(334) 참조 마커를 무시하고 제어 마커의 연관 콘텐츠를 선택한다(342).
검출된 제어 마커가 활성 상태가 아니면(331) 제어 마커가 페이지 마커에 인접한지를 확인한다(335). 인접해 있다면 페이지 마커와 연관된 콘텐츠를 제어 마커로 옮기기 위해서 제어 마커에 콘텐츠를 연관시키고 제어 마커를 활성화시킨다(345). 또한 제어 마커와 연관된 콘텐츠를 선택한다(346). 제어 마커가 페이지 마커에 인접하지 않다면(335) 제어 마커를 무시하고 페이지 마커의 연관 콘텐츠를 선택하면 된다(347).
또한 매 영상 합성부의 수행에 있어서 제어 마커 또는 참조 마커가 활성인 상태에서 해당 마커가 검출되지 않았다면 비활성 상태로 지정하도록 한다.
영상 표시부에서는 입력 비디오 영상 프레임과 선택된 콘텐츠들을 HMD 스크린에 표시한다.