인덱싱 트리로부터 비트 스트림을 생성하기 위한 방법 |
|||||||||||||||||
申请号 | KR1020057008717 | 申请日 | 2003-10-30 | 公开(公告)号 | KR1020050086657A | 公开(公告)日 | 2005-08-30 | ||||||||||
申请人 | 지멘스 악티엔게젤샤프트; | 发明人 | 코쉬,하랄트; 호이어,외르크; 후터,안드레아스; 코플러-포크트,안드레아; | ||||||||||||||
摘要 | The invention relates to a method for creating a bit stream from an indexing tree comprising a plurality of hierarchical levels, to each of which one or several index nodes are assigned. Said index nodes contain index data which is sorted in the indexing tree according to one or several given criteria. According to the inventive method, the index data of the index nodes is inserted into the bit stream, and the information concerning the position within the bit stream, where the index data of one or several index nodes of the hierarchical level located below the hierarchical level of the respective node is situated, is inserted into the bit stream for an index node. | ||||||||||||||||
权利要求 | 인덱싱 트리가 다수의 계층적 레벨들을 포함하고, 각각의 계층적 레벨은 하나 이상의 인덱스 노드들(K1, K2, K3, K4)에 할당되며, 상기 인덱스 노드들(K1, K2, K3, K4)은 하나 이상의 미리 결정된 기준에 따라 상기 인덱싱 트리에 분류되는 인덱스 데이터를 포함하는, 인덱싱 트리로부터 비트 스트림을 생성하기 위한 방법으로서, 상기 인덱스 노드들(K1, K2, K3, K4)의 인덱스 데이터는 상기 비트 스트림에 삽입되고, 인덱스 노드에 대한 각 경우에 정보가 상기 비트 스트림에 삽입되는데, 상기 정보는 각각의 노드의 계층적 레벨의 하위 계층적 레벨의 하나 이상의 인덱스 노드들(K1, K2, K3, K4)의 인덱스 데이터가 위치되는 상기 비트 스트림에서의 위치를 나타내는, 비트 스트림 생성 방법. 제 1 항에 있어서, 상기 인덱싱 트리는 B 트리(=균형 트리(Balanced tree))인 것을 특징으로 하는 비트 스트림 생성 방법. 제 1 항 또는 제 2 항에 있어서, 상기 인덱스 데이터는 사전적 순서로(lexicographically) 상기 인덱싱 트리에서 분류되는 것을 특징으로 하는 비트 스트림 생성 방법. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서, 상기 인덱스 데이터는 깊이-우선(depth-first) 순서 원칙에 따라 상기 비트 스트림에 삽입되는 것을 특징으로 하는 비트 스트림 생성 방법. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서, 상기 인덱스 데이터는 적어도 하나의 뿌리 노드 및 다수의 잎 노드들로 구성되는 문서 구조 트리의 경로들을 포함하는 것을 특징으로 하는 비트 스트림 생성 방법. 제 5 항에 있어서, 상기 인덱스 데이터는 상기 경로들의 값 인스턴스들, 및 상기 문서 구조 트리에 의해 표시되는 상기 문서 내 상기 값 인스턴스들의 위치들을 포함하는 것을 특징으로 하는 비트 스트림 생성 방법. 제 5 항 또는 제 6 항에 있어서, 상기 인덱스 데이터는 상기 인덱스 노드들(K1, K2, K3, K4)에서 경로들의 개수를 포함하는 것을 특징으로 하는 비트 스트림 생성 방법. 제 5 항 내지 제 7 항 중 어느 한 항에 있어서, 상기 경로들은 상기 뿌리 노드에서 시작하여 잎 노드에 연결되는 절대 경로들을 포함하는 것을 특징으로 하는 비트 스트림 생성 방법. 제 5 항 내지 제 8 항 중 어느 한 항에 있어서, 상기 경로들은 상대적 경로들을 포함하고, 상기 각각의 인덱스 노드(K1, K2, K3, K4)의 상대적 경로는 이미 상기 비트 스트림에 삽입된, 상기 각각의 인덱스 노드(K1, K2, K3, K4)의 경로 또는 상기 각각의 인덱스 노드(K1, K2, K3, K4)의 계층적 레벨 상위의 계층적 레벨의 인덱스 노드(K1, K2, K3, K4)의 경로에 대한 경로인 것을 특징으로 하는 비트 스트림 생성 방법. 제 9 항에 있어서, 상기 비트 스트림에 삽입된 경로들은, 상기 인덱스 노드(K1, K2, K3, K4)에 배열되는 시퀀스에 대한 역 시퀀스로 계층적 레벨의 제 1 인덱스 데이터로써 상기 비트 스트림에 상기 인덱스 노드의 인덱스 데이터가 삽입되는 상기 인덱스 노드의 경로들인 것을 특징으로 하는 비트 스트림 생성 방법. 제 5 항 내지 제 10 항 중 어느 한 항에 있어서, 상기 경로들은 XML(Extensible Markup Language: 확장성 마크업 언어) 문서의 디스크립션 엘리먼트들을 포함하는 것을 특징으로 하는 비트 스트림 생성 방법. 제 11 항에 있어서, 상기 경로들은 상기 XML 문서의 XPATH 경로들인 것을 특징으로 하는 비트 스트림 생성 방법. 제 1 항 내지 제 12 항 중 어느 한 항에 있어서, 상기 인덱스 데이터는 코딩 방법, 특정하게는 MPEG 코딩 방법에 의해 이진으로 코딩되는 것을 특징으로 하는 비트 스트림 생성 방법. 제 13 항에 있어서, 상기 코딩 방법은 MPEG7 코딩 방법인 것을 특징으로 하는 비트 스트림 생성 방법. 데이터 구조를 코딩하기 위한 방법으로서, 상기 데이터 구조의 데이터 엘리먼트들은 인덱싱 트리로 인덱싱되고, 청구항 제 1 항 내지 제 14 항 중 어느 한 항에 따라 비트 스트림이 생성되며, 상기 비트 스트림은 상기 코딩된 데이터 스트림의 일부인, 데이터 구조의 코딩 방법. 데이터 구조를 디코딩하기 위한 방법으로서, 상기 방법은, 청구항 제 12 항에 따라 코딩된 데이터 구조[sic]가 디코딩되는 방식으로 사용되는, 데이터 구조의 디코딩 방법. 청구항 제 15 항에 따른 방법, 및 청구항 제 16 항에 따른 방법을 포함하는, 데이터 구조의 코딩 및 디코딩 방법. 청구항 제 15 항에 따른 방법이 수행될 수 있는 코딩 장치. 청구항 제 16 항에 따른 방법이 수행될 수 있는 디코딩 장치. 청구항 제 17 항에 따른 방법이 수행될 수 있는 데이터 구조의 코딩 및 디코딩을 위한 장치. |
||||||||||||||||
说明书全文 |
|
노드 { |
엔트리들의 개수 |
각 엔트리에 대해: |
키이 |
인스턴스 생성의 개수 |
각 인스턴스 생성에 대해: |
값 인스턴스 |
위치 |
제 1 자식 노드를 제외한 각 자식 노드에 대해: |
스트림에서의 오프셋 |
본 발명에 따른 방법으로 생성되는 비트 스트림은 수신자에게 전송되며, 도 2와 관련하는 예로써 설명되었던 쿼리에 따라 판독될 수 있다. 쿼리되는 XPATH 및 인덱스 노드들 내의 엔트리들 사이의 비교들에 의해서, 특정 노드 정보가 스트림으로부터 판독되는데, 이는 값 인스턴스에 대한 검색값을 포함하는 대응하는 XPATH 검색값이 발견되었거나 매칭되는 XPATH가 분류로 인해 더 이상은 길어질 수 없을때까지 계속된다. 후자의 경우에 있어서, 원하는 정보는 인덱싱된 문서에 포함되지 않는다.
본 발명을 따른 방법의 다른 실시예들은 사전적 순서로 배열된 엔트리들을 갖는 간략화된 인덱싱 트리들을 도시하는 도 4 내지 도 7을 참조하여 아래에서 설명될 것이다. 도 4는 본 발명을 따른 방법에 의해 코딩되고, 노드들(K1 내지 K4)을 포함하는 인덱싱 트리를 도시한다. 이러한 경우에 있어서, 노드(K1)는 부모 노드로서 언급되고, 상기 노드(K1)로부터 분기하는 노드들(K2 내지 K4)은 자식 노드들로서 언급된다. 엔트리들은 문서 구조 트리의 경로들이다. 상기 경로들을 그것들의 전체 길이로 비트 스트림에 전송하는 것 대신에, 전송되는 인덱스 노드의 상대적 경로들이 저장하는 것이 가능한데, 상기 경로들은 부모 노드의 이미 전송된 경로에 대해 또는 현재 전송되는 인덱스 노드의 이미 전송된 경로에 대해 상대적이다.
상대적 경로들은 비트 스트림에 삽입하는 것은 도 5에 도시된다. 이러한 경우에 있어서, 표시(".")는 경로에서 상대적 경로가 참조하는 곳으로의 후퇴(step back)을 나타낸다. 노드(K1)에서, 앞선 엔트리(ACB)에 대한 상대적 경로("..E")는 엔트리("AE")에 대해 전송된다. 자식 노드들(K2, K3 및 K4)에서, 각각의 자식 노드의 제 1 경로에 대한 상대적 경로들은 각각의 경우에 제 2 엔트리 및 제 3 엔트리로 전송된다.
도 5에 따른 실시예에 있어서, 자식 노드들(K2, K3 및 K4)의 제 1 경로들(AA, ACC 및 AEF)에 대해 완전한 절대적 경로가 전송된다. 부모 노드(K1)의 경로에 대한 상대적 경로들로서 자식 노드들의 제 1 경로들을 전송하는 것 또한 추가로 가능하다. 이는 도 6에 도시된다. 이러한 경우에 있어서, 제 1 및 제 2 자식 노드들의 경로들(AA 및 ACC) 대신에, 부모 노드의 제 1 경로에 대한 상대적 경로들("..A" 및 ".C")이 전송된다. 제 2 자식 노들의 경로("AEF") 대신에, 부모 노드의 제 2 경로에 대한 상대적 경로("F")가 전송된다. 이러한 경우에 있어서, 상기 경로들은 바람직하게는 바이트 표시로 비트 스트림에 저장된다.
상대적 경로들의 사용 결과로써, 스트림 내의 데이터 부피는 실질적으로 감소되는데, 이는 경로들이 저장될 때 경로들에서 공통성이 이루어지고, 그 결과 더 적은 메모리 공간이 요구되게 된다. 특히, 상대적 경로들에 있어서 상기 경로들의 각각의 공통 컴포넌트들은 오직 한 번만 전송되어야 한다.
본 발명의 다른 실시예에서, 제 1 자식 노드(K2)에 대한 인덱스 노드들의 엔트리들의 배열에서 도 4와 비교하여 역 시퀀스가 이용될 때 데이터 절약이 달성된다. 그 결과, 이전의 부모 노드(K1)와 가장 큰 유사성을 갖는 엔트리가 자식 노드(K2)의 시작에 위치된다. 그러므로, 인덱싱 트리의 특정 실시예들은 실질적으로 짧아진 상대적 경로들 및 감소된 메모리 요구량을 가져올 수 있다.
경로들은 이미 언급한 XML 디스크립션 트리의 XPATH 경로들일 수 있다. 더욱이, 상기 경로들은 예를 들어 MPEG7 코딩 방법에 의해 이진 코딩될 수 있다. 특정하게는, 이미 언급한 참고[3]에서 규정된 이진 코딩 방법들이 이용될 수 있다. 텍스츄얼 표시와 비교할 때, 이진 코딩된 경로들의 이용은 전송되는 비트들의 개수에 있어서 절약될 수 있다.
참고:
[1] http://dxl.hrz.uni-dortmund.de:8001/doc1/hrz/sqlref/sqloracle.html
[2] http://www.w3.org/TR/xpath
[3] ISO/IEC 15938-1 Multimedia Content Description Interface - Part 1:Systems, Geneva 2002
[4] TV-Anytime Specification Series S-3 on Metadata, Part B, Version 13
[5] http://www.public.asu.edu/~peterjn/btree/
[6] http://www.generation5.org/simple_search.shtml