인덱싱 트리로부터 비트 스트림을 생성하기 위한 방법 |
|||||||||||||||||
申请号 | KR1020057008717 | 申请日 | 2003-10-30 | 公开(公告)号 | KR101032240B1 | 公开(公告)日 | 2011-05-02 | ||||||||||
申请人 | 지멘스 악티엔게젤샤프트; | 发明人 | 코쉬,하랄트; 호이어,외르크; 후터,안드레아스; 코플러-포크트,안드레아; | ||||||||||||||
摘要 | 본 발명은 하나 또는 여러개의 인덱스 노드들이 할당되는 다수의 계층적 레벨들을 포함하는 인덱싱 트리로부터 비트 스트림을 생성하기 위한 방법에 관한 것이다. 상기 인덱스 노드들은 하나 또는 여러 개의 주어진 기준에 따라 인덱싱 트리에서 분류되는 인덱스 데이터를 포함한다. 본 발명의 방법에 따라, 인덱스 노드들의 인덱스 데이터는 비트 스트림에 삽입되고, 각각의 노드의 계층적 레벨의 하위에 위치되는 계층적 레벨의 하나 또는 여러개의 인덱스 노드들이 위치되는 비트 스트림 내 위치에 관한 정보가 인덱스 노드에 대한 비트 스트림에 삽입된다. | ||||||||||||||||
权利要求 | 인덱싱 트리로부터 비트 스트림을 생성하기 위한 방법으로서, (a) 상기 인덱싱 트리는 다수의 계층적 레벨들을 포함하고, 각각의 계층적 레벨에는 하나 이상의 인덱스 노드들(K1, K2, K3, K4)이 할당되며, (b) 상기 인덱스 노드들(K1, K2, K3, K4)은 하나 이상의 미리 결정된 기준들에 따라 상기 인덱싱 트리에 분류되는 인덱스 데이터를 포함하고, (c) 상기 인덱스 노드(K1)는 부모 노드로서 표시되고 상기 인덱스 노드들(K2, K3, K4)은 자식 노드들로서 표시되며, 적어도 하나의 자식 노드가 상기 부모 노드(K1)로부터 분기하고 상기 자식 노드는 더 낮은 계층적 레벨에 위치되며, 상기 인덱스 노드들(K1, K2, K3, K4)의 상기 인덱스 데이터는 상기 비트 스트림에 삽입되고, 이에 의해 상기 부모 노드(K1)의 인덱스 데이터 삽입 다음에, 상기 분류로 인해서 상기 인덱싱 트리에서 상기 부모 노드 이후에 첫 번째로 후속하는 해당 자식 노드(K2)의 인덱스 데이터는 상기 자식 노드(K2)의 인덱스 데이터가 상기 비트 스트림에 위치되는 위치를 나타내는 정보 없이 삽입되고, 상기 부모 노드(K1) 이후에 첫 번째로 후속하지는 않는 자식 노드(K3, K4)에 대한 각각의 경우에 있어서 정보가 상기 비트 스트림에 삽입되고, 상기 정보는 상기 자식 노드(K3, K4)의 인덱스 데이터가 상기 비트 스트림 내에 위치되는 위치를 나타내는, 인덱싱 트리로부터 비트 스트림을 생성하기 위한 방법. 제 1 항에 있어서, 상기 인덱싱 트리는 B 트리(=균형 트리(Balanced tree))인, 인덱싱 트리로부터 비트 스트림을 생성하기 위한 방법. 제 1 항 또는 제 2 항에 있어서, 상기 인덱스 데이터는 사전적 순서로(lexicographically) 상기 인덱싱 트리에서 분류되는, 인덱싱 트리로부터 비트 스트림을 생성하기 위한 방법. 제 1 항 또는 제 2 항에 있어서, 상기 인덱스 데이터는 깊이-우선 순서 원칙(depth-first ordering principle)에 따라 상기 비트 스트림에 삽입되는, 인덱싱 트리로부터 비트 스트림을 생성하기 위한 방법. 제 1 항 또는 제 2 항에 있어서, 상기 인덱스 데이터는 적어도 하나의 뿌리 노드 및 다수의 잎 노드들로 구성되는 문서 구조 트리의 경로들을 포함하는, 인덱싱 트리로부터 비트 스트림을 생성하기 위한 방법. 제 5 항에 있어서, 상기 인덱스 데이터는 상기 경로들의 값 인스턴스들, 및 상기 문서 구조 트리에 의해 표시되는 문서 내 상기 값 인스턴스들의 위치들을 포함하는, 인덱싱 트리로부터 비트 스트림을 생성하기 위한 방법. 제 5 항에 있어서, 상기 인덱스 데이터는 인덱스 노드(K1, K2, K3, K4)에서의 경로들의 개수를 포함하는, 인덱싱 트리로부터 비트 스트림을 생성하기 위한 방법. 제 5 항에 있어서, 상기 경로들은 상기 뿌리 노드에서 시작하여 잎 노드에 연결되는 절대 경로들을 포함하는, 인덱싱 트리로부터 비트 스트림을 생성하기 위한 방법. 제 5 항에 있어서, 상기 경로들은 상대적 경로들을 포함하고, 각각의 인덱스 노드(K1, K2, K3, K4)의 상대적 경로는 상기 비트 스트림에 이전에 삽입된, 상기 각각의 인덱스 노드(K1, K2, K3, K4)의 경로 또는 상기 각각의 인덱스 노드(K1, K2, K3, K4)의 계층적 레벨 상위의 계층적 레벨의 인덱스 노드(K1, K2, K3, K4)의 경로에 대한 경로인, 인덱싱 트리로부터 비트 스트림을 생성하기 위한 방법. 제 9 항에 있어서, 상기 비트 스트림에 삽입된 상기 경로들은, 상기 인덱스 데이터가 상기 인덱스 노드(K1, K2, K3, K4)에 배열되는 시퀀스에 대한 역 시퀀스로 계층적 레벨의 제 1 인덱스 데이터로서 상기 비트 스트림에 삽입되는 인덱스 데이터를 갖는 상기 인덱스 노드의 경로들인, 인덱싱 트리로부터 비트 스트림을 생성하기 위한 방법. 제 5 항에 있어서, 상기 경로들은 XML(Extensible Markup Language: 확장성 마크업 언어) 문서의 디스크립션(description) 엘리먼트들을 포함하는, 인덱싱 트리로부터 비트 스트림을 생성하기 위한 방법. 제 11 항에 있어서, 상기 경로들은 상기 XML 문서의 XPATH 경로들인, 인덱싱 트리로부터 비트 스트림을 생성하기 위한 방법. 제 1 항 또는 제 2 항에 있어서, 상기 인덱스 데이터는 코딩 방법에 의해 이진으로 코딩되는, 인덱싱 트리로부터 비트 스트림을 생성하기 위한 방법. 제 13 항에 있어서, 상기 코딩 방법은 MPEG7 코딩 방법인, 인덱싱 트리로부터 비트 스트림을 생성하기 위한 방법. 데이터 구조를 코딩하기 위한 방법으로서, 상기 데이터 구조의 데이터 엘리먼트들은 인덱싱 트리로 인덱싱되고, 청구항 제 1 항 또는 제 2 항에 따른 방법에 따라 비트 스트림이 생성되며, 상기 비트 스트림은 코딩된 데이터 스트림의 일부인, 데이터 구조를 코딩하기 위한 방법. 데이터 구조를 디코딩하기 위한 방법으로서, 상기 방법은, 청구항 제 15 항에 따른 방법에 따라 코딩되는 데이터 구조가 인덱스 노드들의 인덱스 데이터에 기초하여 디코딩되는 방식으로 구현되는, 데이터 구조를 디코딩하기 위한 방법. 청구항 제 15 항에 따른 방법, 및 청구항 제 15 항에 따른 방법에 따라 코딩되는 데이터 구조가 인덱스 노드들의 인덱스 데이터에 기초하여 디코딩되는 방식으로 구현되는 데이터 구조를 디코딩하기 위한 방법을 포함하는, 데이터 구조를 코딩하고 디코딩하기 위한 방법. 청구항 제 15 항에 따른 방법이 수행될 수 있는 코딩 장치. 청구항 제 16 항에 따른 방법이 수행될 수 있는 디코딩 장치. 청구항 제 17 항에 따른 방법이 수행될 수 있는 데이터 구조를 코딩하고 디코딩하기 위한 장치. 제 13항에 있어서, 상기 코딩 방법은 MPEG 코딩 방법인, 인덱싱 트리로부터 비트 스트림을 생성하기 위한 방법. |
||||||||||||||||
说明书全文 |
|
노드 { |
엔트리들의 개수 |
각 엔트리에 대해: |
키이 |
인스턴스 생성의 개수 |
각 인스턴스 생성에 대해: |
값 인스턴스 |
위치 |
제 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