KR20070117671A - 서버와 적어도 하나의 클라이언트 단말 사이의 컨텐츠디스플레이 데이터 전송 방법 및 대응하는 서버, 터미널그리고 컴퓨터 프로그램 - Google Patents
서버와 적어도 하나의 클라이언트 단말 사이의 컨텐츠디스플레이 데이터 전송 방법 및 대응하는 서버, 터미널그리고 컴퓨터 프로그램 Download PDFInfo
- Publication number
- KR20070117671A KR20070117671A KR1020077023285A KR20077023285A KR20070117671A KR 20070117671 A KR20070117671 A KR 20070117671A KR 1020077023285 A KR1020077023285 A KR 1020077023285A KR 20077023285 A KR20077023285 A KR 20077023285A KR 20070117671 A KR20070117671 A KR 20070117671A
- Authority
- KR
- South Korea
- Prior art keywords
- node
- nodes
- client
- data
- server
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/005—Tree description, e.g. octree, quadtree
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
본원발명은 서버와 적어도 하나의 클라이언트 터미널 사이의 컨텐츠의 시각화를 위한 데이터의 전송방법에 관한 것으로, 상기 데이터는 적어도 하나의 부모 노드(parent node)와 적어도 하나의 아들 노드(son node)를 포함하는 계층적 트리의 노드들과 상기 각각의 노드들과 관련된 시각화할 수 있는 구성요소로 이루어진다. 본원발명에 따른 하나의 방법은 다음과 같은 단계를 포함한다. 서버는 클라이언트에게 트리의 단순화된 표현을 전송한다. 상기 단순화된 표현은 시각화되는 컨텐츠에 시각화될 수 있는 구성요소를 위치하도록 하는 정보이다. 클라이언트는 시각화되는 컨텐츠에서 관심 노드와 관련된 출력 구성요소에 클라이언트로부터의 거리와 관련된 기준 기능으로 상기 단순화된 출력으로부터 적어도 하나의 관심 노드를 선택한다. 그리고 선택된 관심 노드에 대해 상기 시각화될 수 있는 구성요소가 재구성될 수 있도록 기하학적 데이터가 전송된다.
Description
본 발명은 2D, 3D 이미지 그리고 3D 장면의 시각화에 관한 것이다. 더욱 상세하게는, 본원발명은 클라이언트 단말에서 그러한 이미지들 그리고 그러한 장면들을 시각화하기 위해 사용되는 데이터 전송 기술에 관한 것이다.
본원발명은 다중 레벨로 세분화된 정보의 자문(consultation) 분야에 더욱 구체적으로 적용될 수 있다. 여기서 데이터는 트리와 같은 형태로 구조화되어 있고 트리의 각각의 노드는 상세하게 주어진 레벨에서 관찰되는 구체적인 구성요소에 대응한다. 그것은 예를 들어, 타운들의 모델과 같은 광대한 환경의 네트워크 시각화에서 특히 가치가 있다. 하지만, 그것은 예를 들어, 3D 콘텐츠 혹은 순차 영상의 계층적인 트리에서 조직된 어떤 형태의 데이터에 더욱 일반적으로 적용될 수 있다.
클라이언트가 인터넷과 같은 통신 네트워크를 통해 접근할 수 있는 서버에 저장된 큰 크기의 장면들 혹은 이미지를 클라이언트 단말에서 빠르고 쌍방향의 시각화를 이룰 수 있는 필요가 증가하고 있다. 지금 3D 모델들 혹은 그러한 순차 영 상들을 재현하기 위해 필요한 데이터베이스들은 계속해서 부피가 커지고 있고(예를 들어, 특히, 그것들이 빅 타운들(big towns)의 순차적 그리고 계층적 표현을 할 수 있다.), 클라이언트 단말로 그것들을 전송하는 비용(대역폭 혹은 전송 시간과 관련하여)이 계속해서 올라가고 있다.
데이터에 있어서, 클라이언트-서버 구조에서 시각화(visulaization) 데이터의 전송을 위해 도 1 및 도 2와 관련하여 이하에서 설명되는 두 가지 주요 기술이 있다.
이 기술 중에서 첫 번째에 있어서, 클라이언트(11)가 관련 표현(representation)을 구현하기 전에 서버(10)는 모든 시각화 데이터(visualization data)를 클라이언트(11)에 전송하거나, 혹은 필요하다면 그 지점에서 네비게이트 한다. 그것은 특히 3차원 공간이 인코드된 VRML(Virtual Reality Modeling Language)의 전송에 적용될 수 있고, 이것에 대하여 데이터의 점진적이고나 혹은 순차적인 전송은 불가능하다.
그러므로, 클라이언트(11)는 데이터베이스의 현재 모든 데이터를 전송할 것을 요구하고, 영상의 3D 이미지 표현을 재현할 수 있는 제 1 요청을 서버(10)에 전달한다.(121)
서버(10)는 요청된 모든 모델을 전송하는 단계(131)를 통해 응답한다. 그 다음에, 클라이언트(11)는 로드된 모델에서 네비게이트할 수 있다.(141) 만일, 클라이언트(11)가 모델을 바꾸고자 하는 경우(15), 그는 모델에 대한 새로운 요청(122)을 보내야 하고 서버(10)는 요청된 새 모델와 관련된 모든 시각화 데이터(visualization data)의 새로운 전송에 의해 응답한다. 클라이언트(11)는 이러한 새로운 모델이 전체적으로 로드된 후에 그것의 표현(representation)에서의 네비게이트를 시작할 수 있다.
도 2에서 설명된 두 번째 선행 전송 기술은 서버(10)의 모델(2D 혹은 3D)을 클라이언트(11)로 순차적으로 전송하는 것에 의존한다. 그것은 트리(tree)와 같은 구조 혹은 계층적 구조에서 인코드된 이미지들 혹은 3D 콘텐츠에 관련된다. 그것의 시각화는 주어진 순간에 동적 노드들(즉, 고려되는 순간에 그 모델의 시각적 표현에서 표시되는 노드들)의 모든 부모 노드들이 이용될 수 있는 것을 요구한다. 사실, 계층적 구조의 경우에 있어서, 그 구조들의 노드들 사이에는 높은 의존성이 있으므로, 만일 부모 구성요소가 전송되지 않았다면, 클라이언트는 그 구성요소의 존재를 알 수 없다. 요구에 따라 데이터를 전송하는 경우에 있어서, 클라이언트는 그 아들 노드들(son nodes)에게 요청해야만 하고 그 다음에 계속되는 아들 노드들(son nodes)에게 요청할 수 있기 전에 그것들의 전송을 기다린다. 데이터를 사용자의 관점에서 채택된 상세한 레벨들로 고려할 수 있기 위해, 계층적 트리의 순차적인 전송을 수행하는 것이 필요하다. 상기 트리의 제련(refining)은, 부모 노드(parent node)로부터 시작해서 현재 관점에서 대응되는 노드들까지 순환적으로 행해진다. 따라서 상기 트리의 스캐닝은 철저하게 이루어진다.
첫 번째 단계(21)에서, 클라이언트(11)가 서버(10)에 구체적인 요청(211)을 전달한 후에 클라이언트(11)가 받는 트리의 제 1 노드(24)를 클라이언트(11)가 찾을 수 있도록 한다. 이어지는 단계(22, 23)에서, 클라이언트(11)는 영상 혹은 이미지에서 그것의 위치 기능으로 그가 필요로 하는 정보를 찾을 수 있다. 제 1 노드(24)를 검색한 후, 그것의 위치에 의존해서, 그것은 영상을 개선할 필요가 있는지 여부를 결정한다. 즉, 그것의 위치는 영상 혹은 이미지의 더욱 상세한 표현을 요청하는지 여부를 결정한다. 그것은 그것의 위치에 대응하는 최적의 모델에 이르게 될 때까지 계속해서 이러한 작동을 수행한다. 그러므로, 계층적 트리의 적어도 하나 이상의 수신한 후에, 클라이언트(11)는 그것을 재현한 후에 그것이 이미 이용한 어떤 노드들의 아들 노드들을 필요로 하는지를 결정하기 위해 그 트리를 스캔하고 상세하게 조사한다.(25) 다시 말하면, 그것은 그 트리의 적어도 하나 이상의 노드들이 개선되어야 하는지를 결정한다. 도 2에 있어서, 그 트리의 스캐닝하는 동안(251)에, 클라이언트(11)는 제 1 노드(24)는 개선(develop)되어야 하는 것으로 결정한다. 단계(22) 동안에, 클라이언트(11)는 서버(10)는 요청(request)(221)을 신청하고, 응답으로 서버(10)는 요청된 아들 노드들(26, 27)을 전달한다(222). 그 트리의 새로운 스캔(252)은 수신한 노드들(26, 27)의 아들 노드들이 필요한지를 결정할 수 있다. 그러므로, 클라이언트(11)는 서버(10)에 새로운 요청(223)을 전달하고, 서버(10)는 응답으로 노드들(26, 27)의 아들 노드들을 클라이언트(11)에 전달한다.(224) 고객(11)의 위치에서 변화의 경우에 있어서, 그 트리의 새로운 스캔(253) 은 노드(26)는 더 이상 그것을 위한 아들 노드들이 필요하지 않지만 노드(27)의 아들 노드들은 개선될 필요가 있다고 결정될 수 있다. 이에 클라이언트(11)는 서버(10)에 이러한 방법으로 대응되는 요청(231)을 전달한다.
[기술적 과제]
도 1의 제 1 전송 기술의 단점은 그것이 대용량 시각 데이터와 관련된 모델들 혹은 복잡한 이미지들의 전송에 적합하지 않다는 것이다. 사실, 그러한 모델들에 있어서, 서버로부터 클라이언트로 데이터의 최초 전송 시간이 아주 많이 소비되고 클라이언트가 시각화를 시작하기 전에 모델의 완전한 로딩을 기다려야 하는 클라이언트에 대해 심지어 너무 과중한 부담이다. 이러한 제 1 기술에 있어서, 사용자는 이미지 혹은 장면에서 빠르게 순항할 수 없다.
도 2의 제 2 전송 기술은 시각화를 시작하기 전에 완전한 로딩을 기다려야 하는 이러한 문제를 해결하기 위해 사용될 수 있다. 그러나, 그것은 많은 메시지의 교환이 발생한다는 것이 단점이다. 특히, 기대되는 상세한 레벨이 트리 구조의 깊은 브랜치(branch)에 대응되는 경우에는 특히 더 그러하다.
이러한 기술의 다른 단점은 클라이언트에 의해 시청 되지 않는 어떤 노드들로부터 불필요한 정보의 전송이 발생한다는 것이다. 사실, 노드의 이미지 처리를 위한 요청을 수신하면, 서버는 클라이언트에게 이미지 처리되는 노드들의 모든 아들 노드들을 전달한다.
더욱이, 도 2에 나타난 바와 같이 선행기술에서 많은 고객-서버 교환들은 트리 구조가 사용자의 위치에 따라 최적의 세부 레벨을 향해 수렴하도록 하는 속도를 제한한다. 그러므로, 이러한 기술의 단점은 이미지 혹은 장면 표현의 개선된 세련미가 처리단계 초반에 사용자에게 시각화되고, 이는 이러한 클라이언트에 대해 시각적 불편함을 야기하는 것이다.
또한, 이러한 단점들은 클라이언트가 장면 혹은 이미지에서 신속하게 움직이는 경우에 발생한다. 사용자의 새로운 시점을 매칭하는 정보의 부족은 새로운 노드들이 서버로부터 수신될 때 연속적인 정제 작업이 시각화되는 것을 야기한다. 그리고, 그것이 야기하는 트리 스캐닝 모드와 교환들은 최적의 상세 레벨을 향한 신속한 수렴들 제공하지 않는다.
본원발명의 다른 특징들은 설명적이지만 여기에 제한되지 않는 예를 설명하는 방식으로 주어진 특별한 실시예에 대한 상기 상세한 설명의 설명과 다음과 같은 첨부된 도면으로부터 더욱 명확하게 나타난다.
도 1 은 선행기술과 관련된 것으로, 서버와 클라이언트 단말 사이의 시각화되는 모델의 전체적이고 선행의 전송에 의존한 시각화 데이터의 전송에 대한 기술을 나타낸다.
도 2 는 서버와 클라이언트 사이의 요청 메시지의 연속적인 교환에 의해, 시각화될 모델의 진보된 전송을 수행하는 선행기술을 또한 설명한다.
도 3 은 본원발명의 전송기술의 블록 다이어그램을 나타낸다.
도 4 는 본원발명의 특별한 실시예로 타운(town)의 3D 표현과 관련된 PBTree 형태의 트리 구조를 나타낸다.
도 5 는 도 4의 트리 구조의 재생 방법의 블록 다이어그램을 나타낸다.
도 6 은 도 5의 블록 다이어그램에 의해 재생된 트리 구조의 설명 파일의 기하학적 표현을 나타낸다.
도 7 은 클라이언트 단말에 의한 관심 노드의 선택 메카니즘의 블록 다이어그램을 나타낸다.
도 8 은 선택 영역이 일정하지 않은 2D 이미지의 예를 나타낸다.
도 9 및 도 10 은 본원발명에 의한 서버 및 클라이언트 단말의 블록 다이어그램을 나타낸다.
[발명의 실시를 위한 최선의 형태]
본원발명은 선행 기술의 이러한 단점들을 가지지 않는 접근 방법을 제안하고, 하나의 서버와 적어도 하나의 클라이언트 터미널 사이의 컨텐츠의 식각화를 위한 데이터의 전송을 위한 방법의 형태를 취하고, 상기 데이터는 적어도 하나의 부모 노드(parent node)와 적어도 하나의 아들 노드(son node)를 포함하는 계층적 트리의 노드들과 상기 각각의 노드들과 관련된 시각화할 수 있는 구성요소로 이루어진다.
본원발명에 의한, 이러한 종류의 방법은 다음과 같은 단계를 포함한다.
- 상기 노드들 중에서 적어도 어떤 노드에 대해, 시각화되는 상기 컨텐츠에서 상기 시각화될 수 있는 구성요소가 위치하는 것에 대한 단지 하나의 정보를 포함하는 트리의 단순화된 표현을 상기 서버에 의해 상기 클라이언트에게 전송하는 단계;
- 상기 시각화되는 상기 컨텐츠에서 관심 노드와 관련된 상기 시각화될 수 있는 구성요소로부터 상기 클라이언트의 거리 기준 기능으로 적어도 하나의 상기 관심 노드를 상기 단순화된 표현으로부터 상기 클라이언트 터미널이 선택하는 단계;
- 상기 선택된 노드 혹은 관심 노드들에 대한 상기 시각화될 수 있는 구성요소의 재구성을 할 수 있는 기하학적 데이터를 전송하는 단계.
그러므로, 본원발명은 하나의 서버와 하나 이상의 클라이언트 터미널 사이의 트리 구조로 배열된 시각화 데이터의 전송에 관해 전체적으로 신규하고 혁신적인 접근에 의존한다. 사실, 본원발명은 이미지 혹은 장면의 재구성을 할 수 있는 기하학적 데이터를 포함하지 않는 단순화된 트리 구조의 초기 전송에 의존하지만, 사용자는 모든 계층적 트리를 볼 수 있고 현재 시점의 기능으로, 장면 혹은 이미지의 재구성을 위해 필요한 기하학적 데이터를 포함하는 노드 혹은 노드들을 선택할 수 있다. 사용자는 자신이 필요에 정확히 상응하는 요청 메시지를 그때 생성할 수 있다.
이러한 전송 기술은, 선행 기술들과 비교되는 것으로, 트리 구조 데이터의 신속한 로딩을 위해 사용될 수 있고, 그러므로 사용자는 그의 시점에서 채택된 최적의 세부 레벨을 가진 장면 시각화 또는 이미지 시각화를 시작할 수 있다. 본원발명은 사용자 입장에서 신속한 변화의 경우에 동일한 장점을 제공한다.
그러므로, 바람직한 실시예에 있어서, 본원발명은 초기 단계 및 사용자의 입장에서 신속한 변화가 있는 경우에 최적의 세부 레벨의 표현으로 신속하게 수렴하는 것을 제안한다. 그러므로, 이러한 바람직한 실시예에 있어서, 본원발명은 시각화될 수 있는 재구성된 이미지 혹은 장면의 계속적인 수정 없이 사용자가 만족하는 시각 렌드링을 할 수 있는 기술을 제안한다.
하나의 특별한 실시예에 따라, 본원발명은 트리 구조 형태의 컨텐츠의 네트워크화 용도에 적용되고 요청 모드(request mode)에서 이루어지는 시각화 어플리케이션의 최적화를 할 수 있다. 그러므로, 이러한 특별한 실시예에 있어서, 본원발명은 요청 모드에서 이루어지는 고객-서버 구조에 아주 적합한 트리 형태 구조로 이루어진 시각화 데이터의 전송 기술을 제안한다.
바람직하게는, 본원발명은 다양한 프로세싱 용량을 가지는 클라이언트 터미널, 특히, 많은 클라이언트 터미널들이 동일한 데이터 서버에 접근하는 고객-서버 구조에 적용된다.
더욱이, 본원발명의 어떤 실시예에 있어서, 이런 종류의 시각화 데이터 전송 기술은 자원에 있어서 비용이 거의 들지 않고, 특히, 대역폭과 전송 시간의 조건에서 그러하다.
바람직하게, 상기 단순화된 표현은 트리의 각각의 상기 노드들에 대해 다음과 같은 것을 포함한다.
- 상기 노드의 식별자;
- 상기 노드가 상기 노드의 상기 부모 노드에 및/혹은 상기 노드의 상기 아들 노드에 링크될 수 있도록 하는 정보;
- 시각화되는 상기 컨텐츠에서 상기 노드와 관련된 상기 시각화될 수 있는 구성요소의 중심의 위치(예를 들어, 장면 혹은 이미지와 관련된 직교 자표에서 구성요소의 무게 중심); 및
- 상기 노드와 관련된 상기 시각화될 수 있는 구성요소의 선택 영역.
예를 들어, 이런 종류의 선택영역은, 만일, 시각화되는 컨텐츠가 3D 장면이면 반경 R을 가진 구, 혹은 만일 시각화되는 컨텐츠가 2D 이미지이면 반경 R을 가진 디스크인다. 또한, 컨텐츠의 성질에 적합하거나 고려되는 어플리케이션의 필요에 적합한 어떤 다른 형태를 취할 수 있다.
아들 노드를 부모 노드에 링크하기 위해 사용되는 정보는 단순화된 트리에서 고려되는 노드의 부모 노드의 식별자의 형태로 취할 수 있다. 또한 주어진 노드에 대해, 단순화된 표현에서 아들 노드의 번호를 나타내는 것을 선택하고 그 다음에 필요하다면, 이러한 아들 노드들의 컨텐츠를 전송하는 것도 가능하다.
바람직하게, 상기 클라이언트의 현재 위치가 상기 선택 영역에 포함되면 상기 트리의 노드가 관심 노드로 선택된다. 예를 들어, 장면 혹은 이미지와 관련된 직교 좌표(Cartesian reference system)에서 사용자의 위치가 분석되고, 고려되는 노드와 관련된 반경 R을 가진 구에 이러한 위치가 포함되는지 여부가 결정된다.
하나의 이로운 특징에 의해, 상기 클라이언트 터미널은 상기 관심 노드들의 상기 시각화 데이터를 획득하기 위한 요청을 상기 서버에 전달한다. 상기 관심 노드들에 포함된 기하학적 데이터를 이용해, 상기 클라이언트는 자신의 시점에서 채 택된 이미지 혹은 장면의 표현을 재구성할 수 있다. 이러한 요청들은 목표로 정해지고 사용자의 요청에 아주 잘 대응한다. 그래서 불필요한 데이터의 어떠한 전송도 막을 수 있다.
사용자는 또한 상기 재구성된 장면 혹은 이미지에서 신속하게 진행할 수 있다.
더욱 바람직하게, 상기 전달 단계에 선행하여, 상기 클라이언트 터미널은 상기 터미널의 캐쉬에 상기 관심 노드들의 상기 데이터의 존재 여부를 확인하고, 상기 데이터가 상기 캐쉬에 미리 존재하는 경우에는 상기 요청이 상기 서버에 전달되지 않는다.
그러므로 서버는 사용자를 위해 필요하지만 아직 사용자에게 이용되지 않은 기하학적 데이터만 단지 전송한다. 데이터 트래픽을 필요한 것으로 엄격하게 제한함으로써 네트워크의 불필요한 오브로딩을 막을 수 있다.
본원발명의 다른 이로운 특징으로, 상기 클라이언트의 상기 현재 위치에 변화가 발생하는 경우에, 상기 클라이언트 터미널은 더 이상 관심 노드가 아닌 적어도 하나의 노드로부터, 상기 데이터가 아직 상기 서버에 의해 전송되지 않은 경우에는, 상기 데이터의 획득을 위한 요청의 취소를 상기 서버에 요청한다.
사실, 사용자가 서버로부터 어떤 기하학적 데이터를 요청하는 순간과 상기 서버가 상기 사용자의 요청에 응하는 순간 사이의 어느 정도의 시간 경과한다. 그 사이에, 사용자가 상기 장면 혹은 이미지에서 움직인다면, 그래서 상기 요청된 데이터가 불필요하다면, 사용자는 불필요하게 된 정보를 서버에 전송되는 것을 막기 위해 상기 서버에게 이러한 정보를 전달할 수 있다.
더욱 바람직하게, 상기 선택 단계 동안에, 상기 클라이언트 터미널은 상기 단순화된 표현을 스캔하고, 단지 상기 스캔된 노드의 상기 부모 노드가 관심 노드이면, 상기 거리의 기준이 상기 스캔된 노드에 대해 확인되었는지를 결정한다. 그러므로, 상기 계층적 트리의 다른 노드들이 포함하는 기하학적 데이터가 컨텐츠을 시각화를 위해 필요한지 여부를 결정하기 위해 사용자는 상기 계층적 트리의 다른 노드들을 테스트할 때, 그는 이러한 부 노드가 관심 노드가 아니면 부 노드의 아들 노드들을 스캔하지 않는다. 그러므로, 시각화될 수 있는 노드들 결정하기 위해 전체적으로 그 트리를 스캔할 필요는 없다. 이러한 특징은 이하에서 상세하게 설명될 부 노드와 아들 노드들의 선택의 영역의 포함에 관한 특징으로부터 직접적으로 나온다.
본원발명은 또한 서버와 상기 설명된 적어도 하나의 클라이언트 터미널 사이의 콘텐츠 시각화 데이터의 전송 방법의 단계들의 실행을 위한 프로그램 코드 명령들을 포함하는 컴퓨터 프로그램 장치에 관한 것이다. 이때 상기 프로그램은 프로세서에 의해 실행된다.
본원발명은 또한 적어도 하나의 클라이언트 터미널을 위해 디자인된 컨텐츠의 시각화를 위한 데이터 서버에 관한 것이다. 상기 데이터는 적어도 하나의 부모 노드(parent node)와 적어도 하나의 아들 노드(son node)를 포함하는 계층적 트리의 노드들과 상기 각각의 노드들과 관련된 시각화할 수 있는 구성요소로 이루어진다. 이러한 서버는 상기 노드들 중에서 적어도 어떤 노드에 대해, 시각화되는 상기 컨텐츠에서 상기 시각화될 수 있는 구성요소가 위치하는 것에 대한 단지 하나의 정보를 포함하는 트리의 단순화된 표현을 생성하여 상기 클라이언트에게 전송하는 수단과 여기서 상기 클라이언트 터미널은 상기 시각화되는 상기 컨텐츠에서 관심 노드와 관련된 상기 시각화될 수 있는 구성요소로부터 상기 클라이언트의 거리 기준 기능으로 적어도 하나의 상기 관심 노드를 상기 단순화된 표현으로부터 선택하고, 상기 선택된 노드 혹은 관심 노드들에 대한 상기 시각화될 수 있는 구성요소의 재구성을 할 수 있는 기하학적 데이터를 전송하는 수단을 포함한다.
본원발명은 컴퓨터 안에서 혹은 컴퓨터에 의해 이용될 수 있는 케리어(carrier)에 기록된 컴퓨터 코드 명령들을 포함하는 컴퓨터 프로그램 장치에 관한 것이다. 상기 컴퓨터 프로그램은 서버(10)와 적어도 하나의 클라이언트 터미널(11) 사이의 컨텐츠의 시각화를 위한 데이터의 전송을 할 수 있고, 상기 데이터는 적어도 하나의 부모 노드(parent node)와 적어도 하나의 아들 노드(son node)를 포함하는 계층적 트리의 노드들과 상기 각각의 노드들과 관련된 시각화할 수 있는 구성요소로 이루어진다. 이러한 컴퓨터 프로그램은 상기 노드들 중에서 적어도 어떤 노드에 대해, 시각화되는 상기 컨텐츠에서 상기 시각화될 수 있는 구성요소가 위치하는 것에 대한 단지 하나의 정보를 포함하는 트리의 단순화된 표현을 상기 서버에 의해 상기 클라이언트에게 전송하는 단계를 수행하는 컴퓨터로 읽을 수 있는 프로그래밍 수단;과 상기 시각화되는 상기 컨텐츠에서 관심 노드와 관련된 상기 시각화될 수 있는 구성요소로부터 상기 클라이언트의 거리 기준 기능으로 적어도 하나의 상기 관심 노드를 상기 단순화된 표현으로부터 상기 클라이언트 터미널이 선 택하는 단계를 수행하는 컴퓨터로 읽을 수 있는 프로그래밍 수단; 및 상기 선택된 노드 혹은 관심 노드들에 대한 상기 시각화될 수 있는 구성요소의 재구성을 할 수 있는 기하학적 데이터를 상기 클라이언트에 전송하는 단계를 수행하는 컴퓨터로 읽을 수 있는 프로그래밍 수단을 포함한다.
또한, 본원발명은 적어도 하나의 부모 노드(parent node)와 적어도 하나의 아들 노드(son node)를 포함하는 계층적 트리의 노드들과 상기 각각의 노드들과 관련된 시각화할 수 있는 구성요소로 이루어진 시각화 데이터로부터 컨텐츠 데이터의 시각화를 위한 클라이언트 터미널에 관한 것이다.
- 상기 터미널은 상기 노드들 중에서 적어도 어떤 노드에 대해, 시각화되는 상기 컨텐츠에서 상기 시각화될 수 있는 구성요소가 위치하는 것에 대한 단지 하나의 정보를 포함하는 트리의 단순화된 표현을 상기 서버로부터 수신하는 수단;
- 상기 시각화되는 상기 컨텐츠에서 관심 노드와 관련된 상기 시각화될 수 있는 구성요소로부터 상기 클라이언트의 거리 기준 기능으로 적어도 하나의 상기 관심 노드를 상기 단순화된 표현으로부터 선택하는 수단;
- 상기 선택된 노드 혹은 관심 노드들에 대한 상기 시각화될 수 있는 구성요소의 재구성을 할 수 있는 기하학적 데이터를 수신하는 수단을 포함한다.
[발명의 실시를 위한 형태]
본원발명의 일반적인 설명
본원발명의 일반적인 원리는 3D 이미지 또는 장면들을 시각화할 수 있는 데 이터의 트리 구조의 단순화된 표현의 서버에 의한 클라이언트로의 전송에 의존한다(이러한 구조에 포함된 기하학적 데이터의 단순화된 표현은 아니다). 그리고 클라이언트의 관점에서 필요로 하는 이러한 단순화된 표현으로부터 기하학적 데이터의 클라이언트에 의한 선택에 의존한다.
도 3과 관련하여, 본원발명에 의한 클라이언트-서버 교환을 나타내는 실시예이다. 본원발명의 이러한 실시예는 부(father)들의 선택 영역(zone) 내에서 자(son)들의 선택 영역의 포함을 나타낸다.
첫 번째 단계(30)는 클라이언트(11)의 초기화에 대응한다. 연결 과정(301) 이후에 클라이언트는 시각화될 장면 혹은 이미지의 단순화된 설명(description)을 포함하는 파일(302)을 수신한다. 이러한 트리 설명 파일(tree description file)은 서버(10)에 의해 재생되고 시각화될 노드들의 선택에 사용될 정보를 단지 포함한다. 그러므로, 트리의 세부적 레벨과 관련된 각각의 노드에 대해, 그 파일은 선택 존(zone)뿐만 아니라 장면의 관련 시스템에 있어서 그것의 위치를 포함한다. 즉 노드들의 각각에 대한:
- 그 노드의 인텍스;
- 노드 중심의 위치(예를 들어, 이미지, 장면과 관련된 직교 관련 시스템에 있어서 무게 중심의 위치 x, y, w);
- 이러한 노드에 대한 선택 영역(zone)(예를 들어, 선택 영역이 구 혹은 디스크인 경우에 반경 r);
- 부(father) 노드의 인텍스.
클라이언트가 트리 설명 파일(tree description file)(302)을 수신한 때, 터미널(11)은 이 파일을 디코드하고 그 다음에 부(father)들의 선택 영역에 그 노드들의 자(son)들의 세트에 대한 선택 영역이 포함되어 있는지를 확인한다. 만일 필요하다면, 부(father) 노드들에 대한 선택 영역들을 확장하는 경우에 있어서, 클라이언트는 이러한 포함(inclusion)에 관한 특징에 순응하여 요구된 수정을 할 수 있다. 한번 수정이 이루어지면, 클라이언트는 전송되는 트리 구조를 재구성한다. 이러한 확인이 필수적인 것은 아니고 서버 혹은 제 3 자 장치에 의해 수행될 수 있다.
두 번째 단계(31 내지 33)는 장면의 시각화에 대응한다. 이러한 시각화 단계 동안에, 클라이언트(11)는 장면 혹은 이미지에 있어서 사용자의 위치 기능으로서 시각화될 노드들(35)의 선택들 담당한다(장면 혹은 이미지와 관련된 직교 함수에 있어서 (x, y, z)의 형태로 또한 표현된다.). 클라이언트는 초기화(30)에 있어서, 서버(10)에 의해 전달된 설명 파일(341 to 343)을 사용한다. 만일, 클라이언트(11)의 현재 위치가 노드(35i)의 선택 영역에 포함되면, 이 노드가 선택된다. 각각의 경우에 있어서, 로드되는 데이터와 요구되는 노드들에 의존하여 클라이언트는 시각화 데이터를 수신하기 위해 서버에 요구 메시지(request)들을 보낸다. 클라이언트(11)가 장면 혹은 이미지의 시각화를 위해 필요로 하는 정보는 기하학적 표현들, 압축된 이미지, 텍스처들에 대한 링크들 그리고 웨이브렛 계수들 등일 수 있다.
그러므로, 첫 번째 시각화 단계(31)에 있어서, 클라이언트(11)는 서버(10)로부터 수신된(302) 트리의 단순화된 표현을 스캔한다(341). 그리고 클라이언트는 관련된 노드들(351 to 353)에 포함된 기하학적 데이터가 필요한지를 결정한다. 클라이언트는 이러한 데이터를 획득하기 위해 요청 메시지(311)를 서버(10)에 전달하고, 서버(10)는 이러한 데이터를 클라이언트에게 전송한다(312). 그 다음에 클라이언트(11)는 관련 노드들(351 to 353)과 연관된 장면 혹은 이미지의 구성요소들을 볼 수 있다. 예를 들어, 만일 장면이 타운의 모델인 경우에는, 클라이언트(11)는 클라이언트의 위치에 따라 보는 빌딩들을 시각화할 수 있다.
장면에서 사용자(혹은 클라이언트)에 의해 첫 번째 움직임 이후에 클라이언트 터미널은 다시 단순화된 트리를 스캔하고(342), 트리의 각각의 노드들을 테스트하고 그것이 역시 미리 수신된 노드들(352, 353)의 자(son) 노드들(354 to 357)에 포함된 기하학적 데이터가 필요한지를 결정한다. 그 다음에 클라이언트는 서버(10)에 이러한 보이지 않는 데이터를 획득하기 위해 요청 메시지(request)(321)를 전송하고 서버는 클라이언트에 이러한 데이터를 전달한다(322). 이러한 데이터를 수신하면, 클라이언트는 수신된 데이터(354 to 357)로부터, 관련 노드들(351 to 357)과 연관된 모든 구성요소의 표현을 개조한다. 그리고 데이터는 미리 그것의 캐쉬(351to 353)에 존재한다.
클라이언트의 위치(152)에 있어서 새로운 변화의 경우에 있어서, 사용자는 단순화된 트리의 새로운 스캔(343)을 통해 세 번째 시각화 단계(33)를 시작한다. 단순화된 트리에 의해 클라이언트는 주어진 새로운 위치에 있어서, 관련 노드들(351 to 355)이 클라이언트를 위한 관심 노드를 구성하는지 결정한다. 이러한 관심 노드들(351 to 355)에 포함된 모든 기하학적 데이터는 미리 클라이언트 단말(11)의 캐쉬에 저장되므로, 단말과의 어떠한 교환도 세 번째 시각화단계(33)에서 대해 필요하지 않는다. 클라이언트(11)는 미리 로드된 데이터를 사용한다.
도 3에 설명된 이러한 전송 기술은 어떠한 형태의 트리 구조 데이터에 적용될 수 있고 특히 3D 장면 그리고 2D 이미지들의 상세한 다중 레벨 표현들에 적용될 수 있다. 사실, 상세한 다중 레벨 표현은 복잡한 장면 혹은 이미지를 그 시점(viewpoint)에 적용되도록 할 수 있다. 트리 형태로 만들어진 구조는 상세한 장면의 다른 레벨을 저장하기 위해 사용된다. 그 다음 루트(root) 노드는 세부적으로 그 장면의 굵직한(coarser) 레벨을 나타내고 리프(leaf) 노드들은 장면(초기 모델들)의 더욱 상세한 모델에 대응된다. 어떤 정보들은 트리 노드들에 저장될 수 있다.
예를 들어, 3D 장면의 경우에, 우리는 아래와 같은 것을 인용할 수 있다.
- Hoppe(in "Efficient Implementation of Progressive Meshes", Computer and Graphics, vol. 22, pp. 27-36, 1998) 또는 Luebke(in "View-Dependent Simplication of Arbitrary Polygonal Environments", Computer Graphics SIGGRAPH 97, vol. 31, pp. 199-208, New York, 1997, ACM Press)에 의해 제안되고, 리지 머저들(ridge mergers)을 저장하는 "Vertex Trees";
- 2D 1/2 데이터(ground footprint, altitude, height)로 나타내는 빌딩들에 만들어진 심플리피케이션을 저장하는 J.Royan et al.(in "PBTree - A new progressive and hierarchical representation for network-based navigation in urban environments", VMV 2003, Munich, Germany)에 의해 제안된 PBTress;
- 3D 객체의 상세한 각 레벨에 대한 패싯 인덱스의 저장을 할 수 있는 상세한 VRML 레벨.
MPEG4("Motion Picture Expert Group") VCT 그리고 JPEG 2000("Joint Picture Expert Group") 표현과 같은 이미지들의 상세한 다중레벨 표현들에 관한한, 트리 구조는 무조건적이고 중첩된 픽셀 존(nested pixel zones)으로 이미지의 세분에 의존한다.(예를 들어, 이미지는 트리의 네 개의 노드들에 연관된 네 개의 영역들로 세분된다. 그 다음에 이러한 부모 영역(parent zones)의 각각은 차례로 상기 트리의 아들 영역(son zones)들에 연관된 네 개의 아들 영역으로 세분된다.) 정보 목록들은 이미지의 그러한 영역을 세련하기 위해 전송된다.
이하, 상기에서 나타난 계층적 PBTree 구조에 의존한 본원발명의 실시예를 더욱 상세하게 설명한다.
본원발명의 특별한 실시예의 설명
본원발명의 특별한 실시예에 대한 상세한 설명이 이하에서 제공된다. 본원발명에 있어서, 세부적인 레벨과 관련된 데이터의 선택은 시각화되는 장면 또는 이미지에 있어서 그것들과 관련된 시각화될 수 있는 구성요소의 무게중심의 위치에 의존한다. 이하, 상세한 설명은 J.Royan et al.에 의한 PBTree 다중레벨 세부 알고리즘에 기초하여 설명되는 타우늬 3D 표현에 초점을 맞추어 설명한다.
도 4 는 각 표현과 연관된 트리 구조(PBTree)를 나타낸다. 이러한 PBTree의 각 노드(40i)는 주어진 세부적인 레벨에 따라 빌딩의 2D 1/2 모델을 저장한다. 빌딩들 세트의 세부적인 다중 레벨 표현을 재생하기 위해 사용되는 단순함으로 수적으로 3개가 있다.
- 그라운드 풋프린트(ground footprint)의 최고점(peak)의 삭제;
- 두 인접 빌딩들의 합병;
- 인접하지 않는 두 빌딩의 합병.
그러므로, 도 4에 있어서, 노드들의 셋트(도면부호 41과 관련된)는 합병될 수 있는 모든 노드들을 함께 그룹화한다. 그리고 도면부호 42와 관련된 노드들의 셋트는 액티브 노드들을 나타낸다.(다시 말하면, 노드들의 관련 콘텐츠들은 클라이언트 단말에서 시각화되고 세련되게 된다.)
이러한 트리에 추가하여, 타운 모델은 각각의 노드들과 관련된 빌딩들의 풋프린트를 정의하는 벡터의 수단에 의해 설명된다. 각각의 노드들은 관련 빌딩의 3D 재구성을 가능하도록 하는 2D 1/2 표현을 포함해야 하고, 다음 구성요소들을 포함 한다.
- 트리 노드 구조;
- 빌딩 그라운드 풋프린트(상기 벡터에 인덱스된 다각형)
- 높이(height);
- 고도(altitude);
- 천장 모델(roof model);
- 경우에 따라서, 빌딩의 더욱 복잡한 3D 모델링을 할 수 있는 적어도 하나 이상의 파라미터.
이러한 표현은 클라이언트에게 진보적이고 점진적인 시점 의존 전송(viewpoint-dependent)이 가능하도록 한다.
빌딩 프로세서뿐만 아니라 PBTree의 표현 그리고 비행 항법 모드의 경우에 그것의 용도들이 "PBTree - 도시 환경에서 네트워크 기반 네비게이션을 위한 새올운 진보적인 그리고 계층적인 표현"으로 상기 언급된 Germany, Munich, VMV 2003 기사에서 광대하게 설명되어 있다. 그리고 현재 본원 발명의 대상은 아니다. 그러나, PTBree 개념에 대한 상세한 정보를 위해 참조될 수 있다.
하기에서 설명되는 구현은 사용자 위치의 기능으로 전송되는 노드들의 선택에 대하여 더욱 구체적으로 포함한다.
도 5 는 트리 구조의 설명 파일(description file)을 재생하는 방법의 블록 다이어 그램이다. 이는 6 개의 연속적인 단계들을 포함하고, 2 개의 메인 단계로 조직된다. 이러한 재생과정은 객체의 시각화 데이터의 저장부(storage)에서 혹은 이러한 객체에 접근하고자 하는 사용자에 의한 첫 번째 요청(request)를 수락한 때에 서버에 의해 수행된다.
제 1 단계(50)는 각각의 노드들과 연관된 선택 영역의 연산으로 구성된다. 클라이언트 단말이 시각화하고자 하는 객체(장면 혹은 이미지, 이 경우에 있어서는 타운)를 나타내는 모든 트리의 로딩으로 시작한다(52). 반복하는 루프에서, 서버는 로드된 트리의 각각의 노드들을 임의의 스캐닝 순서에 따라 탐색한다(53). 스캔된 각각의 노드들에 대해, 서버는 그 노드 선택 존(다시 말하면, 노드 내용의 로딩을 필요로 하는 사용자가 위치해야 하는 지리적인 영역)을 결정한다.(54) 본원발명의 특별한 실시예에 있어서, 선택 영역을 정의하기 위해 원본 모델의 기능으로 연산되는 기하학적 에러(geometrical error)를 이용하는 것이 제안된다. 더욱 상세하게는, 선택 영역은 구(sphere)이고 그것의 반경(radius)은 다중 파라미터를 가진 일반적인 비용 기능(generic cost function)을 이용하는 때에, 원본 모델에 관련된 기하학적 에러의 기능으로 선택된다.
서버는 그것이 연산한 각각의 선택 영역들의 중심을 저장하고(55), 그 다음에 그 트리의 모든 노드들이 실제로 처리되었는지 확인한다(56). 그렇지 않다면, 그것은 트리를 스캐닝하기 위한 단계(53)로 다시 돌아간다. 만일 그 트리의 모든 노드들이 실제로 처리되었다면, 그것은 방법의 제 2 단계로 넘어간다.
계층적 트리의 단순화된 표현을 재생하기 위한 제 2 단계(51)는 부 노드(father node)들의 영역에 자 노드들(son node)의 영역의 포함하는 특징의 확인으로 구성된다. 실질적으로, 더욱 상세한 실시예에 있어서, 이러한 포함의 제한은 트리의 모든 노드들을 위해 확인되는 것이 요구된다. 이러한 제 2 단계(51)는 선택적이다.
또한, 서버는 트리의 각각의 노드들을 스캔한다.(57) 그러나, 지금부터 스캐닝 순서가 설명된다. 첫 번째, 리프(leaf) 노드들과 같이, 트리의 최하위 노드들은 스캔되고 그 작동은 루트로 끝난다. 스캔된 각각의 노드들에 대하여, 그 노드가 하나 이상의 아들(son) 노드들을 가지는지 알기 위한 체크가 이루어진다. 만일 아들 노드가 없다면, 작동은 트리의 노드들을 스캔하기 위한 이전 단계(57)로 돌아간다. 만일 그 결과가 긍정적이라면, 그 작동은 부 노드 선택 영역(father node selection zone)에 아들 노드들(son nodes)의 세트를 위한 선택 영역의 포함을 확인하기 위한 다음 단계(59)로 넘어간다. 이러한 테스트(58)는 트리의 리프 노드(leaf node)들과 관련된 선택 영역들의 변경이 없을 수 있다는 것을 나타낸다. 아들 노드(son nodes)들과 부 노드들(father nodes)을 위한 선택 영역의 포함의 특징을 확인하는 단계(59)는 아래 연산을 적용한다. OP 는 부 노드(father node) p에 대한 선택 영역의 중심이라고 하고, On 은 자 노드(son node) n에 대한 선택 영역의 중심이라고 한다. Rp 는 부 노드(father node) p에 대하 stjsxor 영역의 반경이라고 하고, Rn 은 자 노드(son node) n에 대한 선택 영역의 반경이라고 한다. 우리는 Op 와 ON 사이의 거리 dn 을 가진다. 아래와 같은 식이 증명된다.
만일, 적어도 하나의 자 노드들에 대하여 이러한 부등식이 증명되지 않는다면, 부 노드의 선택 영역은 포함 특징(including property)을 따르기 위해 넓어져야 한다. 그 다음에, 테스트(56)는 트리의 모든 노드들이 적당하게 처리되어졌는지 확인하기 위해 수행된다. 만일, 그 결과가 부정적이면, 서버는 트리의 스캐닝 단계(57)로 돌아간다. 그리고, 만일, 그 결과가 긍정적이면, 계층적 트리의 단순화된 표현의 재생은 종결된다.(60)
도 6 은 도 5의 다이어그램에 따라 재생된 트리 구조의 설명 파일의 기하학적 표현을 나타낸다. 각각의 노드와 관련된 시각화될 수 있는 구성요소들은 타운의 설명 공간에 위치를 가진다. 도 6의 왼쪽 부분은 이 트리 구조의 루트 노드 611 과 관련된 선택 영역들(612)뿐만 아니라, 고려되는 타운이 설명될 수 있도록 트리 구조의 다른 노드 611 과 741 를 설명한다. 도 6의 오른쪽 부분은 노드들 611 과 741 에 대한 선택 영역의 포함 특징을 설명한다. 노드와 그 관련 선택 영역은 인덱스를 포함하는 동일한 도면 부호로 나타내고, 1은 노드와 관련된 인덱스 그리고 2 는 선택 영역과 관련된 인덱스이다.
도 6에 나타난 바와 같이, 리프 노드들(721, 731, 741)과 관련된 선택 영역들(722, 732, 742)은 노드 671 과 관련된 선택 영역 672 에 포함된다. 유사하게, 아들 노드들(651, 661, 671)과 관련된 선택 영역들(652, 662, 672)은 노드 621와 관련된 선택 영역 622에 포함된다. 마지막으로, 노드 621, 631, 641와 관련된 선택 영역들 622, 632, 642은 루트 노드 611과 관련된 선택 영역 612에 포함된다.
본원발명의 이러한 실시예에 있어서, 2D 표현의 경우에, 선택 영역은 원이다. 3D 모델의 경우에 있어서, 선택 영역은 구(sphere)이다. 이러한 구들의 중심이 필수적으로 동일한 평면에 위치하지 않는 것을 아는 것(타운에 있어서 양각 특징(relief feature)이 없는 경우는 제외)은 중요하다. 그러므로, 도 6은 타운의 표현을 고려하는 경우에 있어서 높은 시점(top view)이라고 고려되어야 한다.
물론, 트리 구조가 다른 시각화 데이터를 포함한다면 그 선택 영역에 대한 다른 표현(사각형, 다각형 등)의 사용을 상상하는 것은 가능하다.
도 5의 과정의 마지막에, 계층적 트리의 각각의 노드들에 대해 다음과 같은 것을 포함하는 파일이 획득된다.
- 트리에서 노드의 인덱스;
- 노드의 무게 중심의 위치(타운의 표현과 관련된 시스템에 있어서 직교좌표(Cartesian coordinate)(x, y, z)의 형태);
- 이 노드에 대한 선택 영역(반경 r의 형태로 표현되고, 그 선택 영역은 노드의 무게 중심에 중심이 위치하는 구이다.);
- 부 노드(father node)의 인덱스.
하나의 변형으로, 부 노드의 인덱스를 나타내는 대신에, 각 노드에 대해 그것이 소유하는 자 노드들의 번호를 나타내는 것도 가능하다.
이러한 파일은 서버에 의해 초기화 요청(도 3의 301)이 수신되자말자 클라이 언트 터미널에 전송된다. 클라이언트 단말에 의해 로딩 시간을 최적화하기 위해, 이 파일의 다른 노드들의 특별한 조직화를 선택하는 것은 가능하다.
도 7은 이 파일이 수신된 때에 타운을 시각화를 위해 클라이언트 터미널에 의해 수행되는 관심 노드들의 선택 메카니즘을 설명한다.
본원발명의 이러한 실시예에 있어서, 클라이언트가 시각화를 위한 노드들을 선택한다. 클라이언트는 트리 구조를 시각화하기 위해 필요한 데이터를 자신에게 전달하여 줄 것을 요청하는 메시지를 서버에 전송한다. 사실, 단순화된 트리 표현(혹은, 트리 구조의 설명 파일)은 타운을 재구성할 수 있는 기하학적 정보를 포함하지 않고, 그러므로, 클라이언트는 한번 노드를 선택하면 이 정보를 서버에게 요청해야만 한다.
하나의 선택적 실시예에 있어서, 노드들의 선택과 요청 메시지들의 전송은 예를 들어, 클라이언트 터미널보다 훨씬 많은 처리 용량을 제공하는 네트워크의 중개 장치로 변경하는 경우를 생각할 수 있다.
클라이언트 터미널(혹은, 네트워크의 중개 장치)에 의한 관심 노드들의 선택은 2 가지 메인 단계를 포함한다. 이 2 가지 메인 단계 중에서 첫 번째 단계(76)는 LNT(a list of nodes to be tested)로부터 LNP(a list of nodes of potential interest)의 재생을 위한 단계이고, 두 번째 단계(77)는 로드되고 전송된 노드들을 선택하기 위해 LNP를 세련하기 위한 단계이다.
처음으로, 클라이언트 터미널은 트리의 단순화된 표현을 로드한다.(70) 그 다음에, 관심 노드들의 마지막 선택 이후에 이 장면에 있어서 사용자의 위치에 변 화가 있는지 여부를 테스트한다.(75) 만일, 그것이 관심 노드들의 첫 번째 선택이라면, 이 테스트에 대한 응답은 긍정이고 클라이언트 터미널은 첫 번째 처리 단계(76)로 들어갈 수 있다. 테스트된 LNT 노드들의 리스트는 트리의 루트 노드로 초기화된다. 그 다음에 LNT 리스트가 비어있지 않는지 여부를 알기 위해 테스트가 이루어진다(76)2. 만일, 그 결과가 부정적이다면, 그 작동은 두 번째 처리 단계(77)로 넘어간다. 만일, 그 결과가 긍정적이다면, LNT의 제 1 노드는 제거되고(763) 현재 노드로 취해진다. 단계 764은 사용자의 현재 위치가 현재 노드의 선택 영역에 포함되었는지 여부를 확인하기 위한 증명으로 구성된다. 현재 노드의 선택 영역의 중심에서 그리고 이 영역의 반경Rn에서 O를 관찰자의 위치라고 가정한다. 만일, 이라면, 포함이 있다.
그 다음에, 잠재 노드들(potential nodes)(다시 말하면, 잠재적으로 관심 노드인 노드들)의 LNP리스트에 현재 노드를 추가하는 다음 단계(765)로 넘어간다. 그 다음에, 이 노드가 리프(leaf)인지 여부를 알기 위해 테스트가 이루어진다.(766) 만일, 그 결과가 부정이라면, 이 노드들의 자 노드들은 LNT리스트의 마지막에 추가된다.
만일, 사용자의 위치가 현재 노드(도면 부호 764 단계의 결과)의 선택 영역에 있지 않다면, 혹은, 현재 노드가 리프인 경우(도면 부호 766 테스트의 결과)에는 그 동작은 LNT 리스트가 비어있지 않은지 여부를 알기 위해 수행되는 테스트의 단계(762)로 돌아간다.
두 번째 처리 단계(77)는 서버와 클라이언트 사이의 전송 과잉을 막기 위해 LNP의 수정 단계로 고려될 수 있다. 각각의 LNP 노드들은 스캔되고(771) 각각의 노드들에 대해, 이 노드가 클라이언트 캐쉬에 존재하는지 알기 위한 체크가 이루어진다.(772)(캐쉬의 사용은 여러 번에 걸친 동일 정보의 전송을 막기 위해 필요하다.) 만일, 그 노드가 캐쉬에 이미 존재한다면, 그 다음에 그 노드는 LNP로부터 삭제된다.(773) 그 다음에, 테스트(772)에 대한 결과가 부정적이라면, 확인되는 노드들이 LNP에 유지되는지를 결정하기 위한 단계(774)가 수행된다. 만일, 그러하다면, 두 번째 처리 단계(77)의 첫 번째 단계(771)로 그 동작이 돌아간다.
만일, 그렇지 않다면, 그 수정된 LNP 리스트로, 그 클라이언트는 이용할 수 있는 모든 관심 노드들을 가지고, 여기서 관심 노드의 내용은 타운을 시각화하기 위해 그것에 필요하다. 그 다음에, 클라이언트는 이러한 각각의 노드들과 관련된 기학학적 데이터를 획득하기 위한 요청 메시지를 서버에 전달할 수 있다. 필요하다면(만일, 이 데이터가 캐쉬에 없다면), 노드의 기하학적 데이터의 전송을 위한 단계가 이루어진다.(78) 그 다음에, 관심 노드들의 모든 기하학적 데이터가 로드될 때까지 새로운 위치들을 테스트하기 위한 단계(75)로 동작이 돌아간다.
도 7의 처리과정을 최적화하기 위해, 부 노드(father node)가 관심 노드로 선택되지 않으면, 아들 노드들을 테스트하는 것을 피하는 것은 가능하다. 이러한 최적화에 있어서, 그것들의 내용이 사용자에게 보일 수 있는 노드들인지 결정하기 위해 전체적으로 트리를 스캔하는 것은 필요 없다.(아들 노드들에 대한 선택 영역은 부모 노드들의 선택 영역에 포함된다는 것은 이미 알려진다.)
도 9와 도 10은 본원발명의 서버와 클라이언트 단말의 두 블록 다이어그램을 나타낸다. 그러므로, 서버는 메모리 M(91)과 컴퓨터 프로그램 Pg(92)에 의해 구동되는 프로세서 P가 설치된 프로세싱부(90)를 가진다. 프로세싱부(90)는 3D 이미지 혹은 장면의 시각화를 위한 시각화 데이터(93)를 수신하고, 여기서 시각화 데이터는 계층적 트리의 형태로 조직되고, 프로그램 Pg(92)의 지시에 따르는 프로세서 P는 노드들의 기하학적 정보를 포함하고 있지 않은 트리의 단순화된 표현(95)을 재생한다. 프로세싱부(90)는 또한 클라이언트 터미널의 요청(94)을 수신하기 위해 디자인된 입력을 가지고, 프로세서 P는 이 입력으로부터 단순화된 표현(95)의 전송을 수행하고, 혹은 상기 터미널이 그것의 시점의 기능으로 시각화될 컨텐츠들을 재구성할 수 있도록 하는 기하학적 데이터(96)의 전송을 수행한다.
그와 관련된 클라이언트는 메로리 M(101), 그리고 컴퓨터 프로그램 Pg(102)에 의해 구동되는 프로세서 P가 설치된 프로세싱부(100)를 포함한다. 프로세싱부(100)는 입력에서 서버에 의해 재생된 계층적 트리의 단순화된 표현(95)을 수신한다. 프로그램 Pg(102)의 지시에 따라 프로세서 P는 단순화된 표현으로부터 하나 이상의 관심노드들을 사용자의 시점 기능으로 선택하고 대응되는 요청(103)을 서버에 전달한다. 프로세싱부(100)는 또한 서버에 의해 주어진 기하학적 데이터(96)를 수신하기 위해 디자인된 입력을 가진다. 이것으로부터 프로세서 P는 시각화되기 위해 컨텐츠(104)를 그것의 시점 기능으로 재구성한다.
간단하게, 본원발명의 기술은 트리구조 데이터를 빠르게 로딩하는 것이다. 모든 볼 수 있는 노드들을 개선하고 그것들을 병합하는 것이 필요한지 여부를 알기 위해 모든 볼 수 있는 노드들을 스캔할 필요는 없다. 또한, 노드들을 반복적으로 전송할 필요도 없다.
더욱이, 시각화될 장면에 있어서 사용자의 아주 빠른 움직임이 있는 경우에, 주어진 위치에 있어서 사용하지 않는 노드들의 전송을 취소하는 것이 가능하다.
클라이언트 단말에 의해 시각화되는 컨텐츠가 2D 이미지인 특별한 경우에 있어서, 그리고 만일 이미지와 관련된 선택 영역이 규칙적이라면, 여러 형태의 압축 포맷을 포함하는 이미지의 트리 구조의 설명 파일을 재생하는 것은 가능하다.
반대로, 유일한 하나의 압축 포맷이 사용된다면, 이미지의 컨텐츠에 따라 선택 영역을 채택하는 것은 가능한다.
도 8은 이러한 사용의 예를 나타낸다. 알려진 이미지의 매핑, 사용자는 이미지와 관련된 자신의 위치에 따라 필요한 정보를 요청할 수 있다. 도 8의 다른 영역(81, 82, 83)들은 다른 압축 포맷(JPEG, JPEG 2000)에 대응할 수 있다. 이러한 각각의 포맷들이 다른 특징을 가지고 있으므로, 사실 그것들의 특별한 특징들을 고려되는 영역의 이미지의 컨텐츠의 기능으로 이용하는 것은 가치가 있다. 또한, 압축한 이미지의 컨텐츠를 설명하는 압축 포맷을 만드는 이러한 매핑의 이용을 상상하는 것이 가능하다. 예를 들어, JPEG 2000에 대해, 영역에 따라 다른 크기의 타일 들을 가지는 것은 가능하지 않다.
Claims (11)
- 서버(10)와 적어도 하나의 클라이언트 터미널(11) 사이의 컨텐츠의 시각화를 위한 데이터의 전송방법에 있어서,상기 데이터는 적어도 하나의 부모 노드(parent node)와 적어도 하나의 아들 노드(son node)를 포함하는 계층적 트리의 노드들(351-357 ; 401-404 ; 611-741)과 상기 각각의 노드들과 관련된 시각화할 수 있는 구성요소로 이루어진 경우에,상기 노드들 중에서 적어도 어떤 노드에 대해, 시각화되는 상기 컨텐츠에서 상기 시각화될 수 있는 구성요소가 위치하는 것에 대한 단지 하나의 정보를 포함하는 트리의 단순화된 표현을 상기 서버에 의해 상기 클라이언트에게 전송하는 단계;상기 시각화되는 상기 컨텐츠에서 관심 노드와 관련된 상기 시각화될 수 있는 구성요소로부터 상기 클라이언트의 거리 기준 기능으로 적어도 하나의 상기 관심 노드를 상기 단순화된 표현으로부터 상기 클라이언트 터미널이 선택하는 단계;상기 선택된 노드 혹은 관심 노드들에 대한 상기 시각화될 수 있는 구성요소의 재구성을 할 수 있는 기하학적 데이터를 전송하는 단계를 포함하는 컨텐츠의 시각화를 위한 데이터의 전송방법.
- 제 1 항에 있어서, 상기 단순화된 표현은 상기 트리의 노드들 각각에 대하여- 상기 노드의 식별자;- 상기 노드가 상기 노드의 상기 부모 노드에 및/혹은 상기 노드의 상기 아들 노드에 링크될 수 있도록 하는 정보;- 시각화되는 상기 컨텐츠에서 상기 노드와 관련된 상기 시각화될 수 있는 구성요소의 중심의 위치; 및- 상기 노드와 관련된 상기 시각화될 수 있는 구성요소의 선택 영역(612-742)을 포함하는 컨텐츠의 시각화를 위한 데이터의 전송방법.
- 제 2 항에 있어서,상기 클라이언트의 현재 위치가 상기 선택 영역에 포함되면 상기 트리의 노드는 관심 노드로 선택되는 것을 특징으로 하는 컨텐츠의 시각화를 위한 데이터의 전송방법.
- 제 1 항 내지 제 3 항 중 어느 하나의 항에 있어서,상기 관심 노드들의 상기 시각화 데이터를 획득하기 위한 요청 메시지를 상기 클라이언트 터미널이 상기 서버에 전송하는 것을 특징으로 하는 컨텐츠의 시각 화를 위한 데이터의 전송방법.
- 제 4 항에 있어서,상기 전송과정에 선행하는 것으로, 상기 클라이언트 터미널은 상기 클라이언트 터미널의 캐쉬에 상기 관심 노드들의 상기 데이터 존재 여부를 확인하고, 상기 캐쉬에 미리 존재하는 상기 데이터에 대해 상기 서버에 상기 요청 메시지를 전달하지 않는 것을 특징으로 하는 컨텐츠의 시각화를 위한 데이터의 전송방법.
- 제 4 항 또는 제 5 항 중 어느 하나의 항에 있어서,상기 클라이언트의 상기 현재 위치에서 변화가 있는 경우, 상기 데이터가 아직 상기 서버에 의해 전송되지 않았다면, 상기 클라이언트 터미널은 더 이상 관심 노드가 아닌 적어도 하나의 노드로부터 상기 데이터를 획득하기 위한 상기 요청 메시지의 취소를 상기 서버에 요청하는 것을 특징으로 하는 컨텐츠의 시각화를 위한 데이터의 전송방법.
- 제 1 항 내지 제 6 항 중 어느 하나의 항에 있어서,상기 선택단계 동안에, 상기 클라이언트 터미널은 상기 단순화된 표현을 스 캔하고, 단지 상기 스캔된 노드의 상기 부모 노드가 관심 노드이면, 상기 거리의 기준이 상기 스캔된 노드에 대해 확인되었는지를 결정하는 것을 특징으로 하는 컨텐츠의 시각화를 위한 데이터의 전송방법.
- 제 1 항 내지 제 7 항 중 어느 하나에 의한 상기 서버와 적어도 하나의 클라이언트 터미널 사이의 컨텐츠 시각화 데이터의 전송 방법을 실행하기 위한 프로그램 코드 명령을 포함하는 컴퓨터 프로그램 장치.
- 적어도 하나의 클라이언트 터미널을 위해 디자인된 컨텐츠의 시각화를 위한 데이터 서버에 있어서,상기 데이터는 적어도 하나의 부모 노드(parent node)와 적어도 하나의 아들 노드(son node)를 포함하는 계층적 트리의 노드들과 상기 각각의 노드들과 관련된 시각화할 수 있는 구성요소로 이루어진 경우에,상기 노드들 중에서 적어도 어떤 노드에 대해, 시각화되는 상기 컨텐츠에서 상기 시각화될 수 있는 구성요소가 위치하는 것에 대한 단지 하나의 정보를 포함하는 트리의 단순화된 표현을 생성하여 상기 클라이언트에게 전송하는 수단;여기서 상기 클라이언트 터미널은 상기 시각화되는 상기 컨텐츠에서 관심 노드와 관련된 상기 시각화될 수 있는 구성요소로부터 상기 클라이언트의 거리 기준 기능으로 적어도 하나의 상기 관심 노드를 상기 단순화된 표현으로부터 선택하고,상기 선택된 노드 혹은 관심 노드들에 대한 상기 시각화될 수 있는 구성요소의 재구성을 할 수 있는 기하학적 데이터를 전송하는 수단을 포함하는 컨텐츠의 시각화를 위한 데이터 서버.
- 컴퓨터 안에서 혹은 컴퓨터에 의해 이용될 수 있는 케리어(carrier)에 기록된 컴퓨터 코드 명령들을 포함하는 컴퓨터 프로그램 저장장치에 있어서,상기 컴퓨터 프로그램은 서버(10)와 적어도 하나의 클라이언트 터미널(11) 사이의 컨텐츠의 시각화를 위한 데이터의 전송을 할 수 있고,상기 데이터는 적어도 하나의 부모 노드(parent node)와 적어도 하나의 아들 노드(son node)를 포함하는 계층적 트리의 노드들과 상기 각각의 노드들과 관련된 시각화할 수 있는 구성요소로 이루어진 경우에,상기 노드들 중에서 적어도 어떤 노드에 대해, 시각화되는 상기 컨텐츠에서 상기 시각화될 수 있는 구성요소가 위치하는 것에 대한 단지 하나의 정보를 포함하는 트리의 단순화된 표현을 상기 서버에 의해 상기 클라이언트에게 전송하는 단계를 수행하는 컴퓨터로 읽을 수 있는 프로그래밍 수단;상기 시각화되는 상기 컨텐츠에서 관심 노드와 관련된 상기 시각화될 수 있는 구성요소로부터 상기 클라이언트의 거리 기준 기능으로 적어도 하나의 상기 관심 노드를 상기 단순화된 표현으로부터 상기 클라이언트 터미널이 선택하는 단계를 수행하는 컴퓨터로 읽을 수 있는 프로그래밍 수단;상기 선택된 노드 혹은 관심 노드들에 대한 상기 시각화될 수 있는 구성요소의 재구성을 할 수 있는 기하학적 데이터를 상기 클라이언트에 전송하는 단계를 수행하는 컴퓨터로 읽을 수 있는 프로그래밍 수단을 포함하는 컴퓨터 프로그램 저장장치.
- 적어도 하나의 부모 노드(parent node)와 적어도 하나의 아들 노드(son node)를 포함하는 계층적 트리의 노드들과 상기 각각의 노드들과 관련된 시각화할 수 있는 구성요소로 이루어진 시각화 데이터로부터 컨텐츠 데이터의 시각화를 위한 클라이언트 터미널에 있어서,상기 노드들 중에서 적어도 어떤 노드에 대해, 시각화되는 상기 컨텐츠에서 상기 시각화될 수 있는 구성요소가 위치하는 것에 대한 단지 하나의 정보를 포함하는 트리의 단순화된 표현을 상기 서버로부터 수신하는 수단;상기 시각화되는 상기 컨텐츠에서 관심 노드와 관련된 상기 시각화될 수 있는 구성요소로부터 상기 클라이언트의 거리 기준 기능으로 적어도 하나의 상기 관심 노드를 상기 단순화된 표현으로부터 선택하는 수단;상기 선택된 노드 혹은 관심 노드들에 대한 상기 시각화될 수 있는 구성요소의 재구성을 할 수 있는 기하학적 데이터를 수신하는 수단을 포함하는 컨텐츠 데이터의 시각화를 위한 클라이언트 터미널.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0502449 | 2005-03-11 | ||
FR0502449 | 2005-03-11 | ||
PCT/EP2006/060312 WO2006094919A1 (fr) | 2005-03-11 | 2006-02-27 | Procede de transmission de donnees de visualisation d'un contenu entre un serveur et au moins un terminal client, serveur, terminal et programme d'ordinateur correspondants |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070117671A true KR20070117671A (ko) | 2007-12-12 |
KR101317176B1 KR101317176B1 (ko) | 2013-10-15 |
Family
ID=35134310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020077023285A KR101317176B1 (ko) | 2005-03-11 | 2006-02-27 | 서버와 적어도 하나의 클라이언트 단말 사이의 컨텐츠디스플레이 데이터 전송 방법 및 대응하는 서버, 터미널그리고 컴퓨터 프로그램 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20080270529A1 (ko) |
EP (1) | EP1864258A1 (ko) |
JP (1) | JP4944089B2 (ko) |
KR (1) | KR101317176B1 (ko) |
CN (1) | CN101167103B (ko) |
WO (1) | WO2006094919A1 (ko) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8793309B2 (en) * | 2010-09-07 | 2014-07-29 | Sap Ag (Th) | Systems and methods for the efficient exchange of hierarchical data |
US9001668B2 (en) * | 2012-11-02 | 2015-04-07 | Ixia | Endpoint selection in a network test system |
CN105608517B (zh) * | 2015-09-24 | 2020-05-29 | 华青融天(北京)软件股份有限公司 | 基于流的业务交易性能管理及可视化方法和装置 |
CN107527375A (zh) * | 2016-06-20 | 2017-12-29 | 北京八亿时空信息工程有限公司 | 在无线智能终端设备上加载三维模型的方法及系统 |
US11270471B2 (en) | 2018-10-10 | 2022-03-08 | Bentley Systems, Incorporated | Efficient refinement of tiles of a HLOD tree |
CN113287153B (zh) * | 2018-10-14 | 2024-07-19 | 本特利系统有限公司 | Hlod树的动态前端驱动生成 |
EP3864627A1 (en) * | 2018-10-14 | 2021-08-18 | Bentley Systems, Incorporated | Conversion of infrastructure model geometry to a tile format |
US11233705B2 (en) * | 2019-12-23 | 2022-01-25 | Robert Brennan Garvey | System and method for visualizing and navigating network data |
CN111950902B (zh) * | 2020-08-12 | 2023-08-22 | 中国银行股份有限公司 | 智能外呼处理方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6134537A (en) * | 1995-09-29 | 2000-10-17 | Ai Ware, Inc. | Visualization and self organization of multidimensional data through equalized orthogonal mapping |
US6418464B1 (en) * | 1998-09-25 | 2002-07-09 | Apple Compunter, Inc. | Method and apparatus for coordination of client/server processes |
WO2001071570A2 (en) * | 2000-03-22 | 2001-09-27 | Schlumberger Limited | Distributed multiresolution geometry modeling system and method |
JP2004213422A (ja) * | 2003-01-06 | 2004-07-29 | Hitachi Ltd | 情報検索サーバ及び情報検索方法 |
FR2852128A1 (fr) * | 2003-03-07 | 2004-09-10 | France Telecom | Procede pour la gestion de la representation d'au moins une scene 3d modelisee. |
US20060066609A1 (en) * | 2004-09-28 | 2006-03-30 | Iodice Arthur P | Methods and systems for viewing geometry of an object model generated by a CAD tool |
-
2006
- 2006-02-27 EP EP06708542A patent/EP1864258A1/fr not_active Withdrawn
- 2006-02-27 KR KR1020077023285A patent/KR101317176B1/ko not_active IP Right Cessation
- 2006-02-27 CN CN2006800139431A patent/CN101167103B/zh not_active Expired - Fee Related
- 2006-02-27 WO PCT/EP2006/060312 patent/WO2006094919A1/fr active Application Filing
- 2006-02-27 JP JP2008500168A patent/JP4944089B2/ja not_active Expired - Fee Related
- 2006-02-27 US US11/908,381 patent/US20080270529A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JP2008533575A (ja) | 2008-08-21 |
JP4944089B2 (ja) | 2012-05-30 |
WO2006094919A1 (fr) | 2006-09-14 |
CN101167103B (zh) | 2010-08-04 |
US20080270529A1 (en) | 2008-10-30 |
CN101167103A (zh) | 2008-04-23 |
EP1864258A1 (fr) | 2007-12-12 |
KR101317176B1 (ko) | 2013-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101317176B1 (ko) | 서버와 적어도 하나의 클라이언트 단말 사이의 컨텐츠디스플레이 데이터 전송 방법 및 대응하는 서버, 터미널그리고 컴퓨터 프로그램 | |
Schmalstieg et al. | Demand‐Driven Geometry Transmission for Distributed Virtual Environments | |
CN110059143B (zh) | 一种基于遥感影像瓦片数据的地图绘制方法 | |
Bradshaw et al. | Sphere-tree construction using dynamic medial axis approximation | |
Royan et al. | Network-based visualization of 3d landscapes and city models | |
US20130038604A1 (en) | Sending Three-Dimensional Images over a Network | |
JP4336583B2 (ja) | サーバとクライアント端末との間でオブジェクトを送信する方法 | |
JP3102369B2 (ja) | データ処理装置 | |
JP2001506038A (ja) | 仮想環境ナビゲーションエイド | |
Faust et al. | Real-time global data model for the digital earth | |
CN114556147A (zh) | 点云几何上采样 | |
JP2001508574A (ja) | 仮想環境ブラウザによる分散データベースアクセス | |
JP2001506039A (ja) | 仮想環境ブラウザ内でのデータ管理 | |
Boier-Martin | Adaptive graphics | |
Han et al. | Progressive vector data transmission | |
To et al. | An adaptive multiresolution method for progressive model transmission | |
Tanin et al. | Building and querying a P2P virtual world | |
CN109949416A (zh) | 基于WebGL技术的网络三维地理信息系统 | |
Marvie et al. | A VRML97-X3D extension for massive scenery management in virtual worlds | |
Schmalstieg | The remote rendering pipeline-managing geometry and bandwidth in distributed virtual environments | |
El-Sana et al. | View-dependent rendering for large polygonal models over networks | |
Gotz et al. | A framework for scalable delivery of digitized spaces | |
JP2000515659A (ja) | 仮想環境のデータブラウザ | |
Zarli et al. | Bridging the gap between step, corba and virtual reality technology for the next building industry applications generation | |
Kim et al. | Multiresolution model generation with geometry and texture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |