用于从索引树中产生比特流的方法

申请号 CN200380108832.5 申请日 2003-10-30 公开(公告)号 CN1739243A 公开(公告)日 2006-02-22
申请人 西门子公司; 发明人 H·科施; J·霍伊尔; A·哈特; A·科夫勒-沃格特;
摘要 本 发明 涉及一种用于从索引树中产生比特流的方法,其中索引树包括多个层级,并且给每一个层级分配了一个或多个索引 节点 ,其中索引节点包含索引数据,这些索引数据在索引树中是按照一个或多个预先给定的准则来分类的。在该方法中将索引节点的索引数据插入到比特流中,并且针对索引节点分别将以下信息插入到比特流中,即处于相应节点的层级之下的层级的一个或多个索引节点的索引数据位于比特流中的哪个 位置 上。
权利要求

1.用于从索引树中产生比特流的方法,其中所述索引树包括多个 层级,并且给每一个层级分配了一个或多个索引节点(K1,K2,K3, K4),其中所述索引节点(K1,K2,K3,K4)包含索引数据,这些索 引数据在所述索引树中是按照一个或多个预先给定的准则来分类的, 在所述方法中:
-将所述索引节点(K1,K2,K3,K4)的索引数据插入到所述比 特流中;
-针对索引节点分别将以下信息插入到所述比特流中,即处于相 应节点的层级之下的层级的一个或多个索引节点(K1,K2,K3,K4) 的索引数据位于所述比特流中的哪个位置上。
2.按权利要求1所述的方法,其中所述索引树是B树(=平衡树)。
3.按权利要求1或2所述的方法,其中所述索引树中的索引数据 是以词典编纂的方式来分类的。
4.按以上权利要求之一所述的方法,其中将所述索引数据按照深 度优先次序插入到所述比特流中。
5.按以上权利要求之一所述的方法,其中所述索引数据包括文件 结构树的路径,所述文件结构树由至少一个根节点和多个叶节点组 成。
6.按权利要求5所述的方法,其中所述索引数据包括所述路径的 值特征和所述值特征在由所述文件结构树所表示的文件中的位置。
7.按权利要求5或6所述的方法,其中所述索引数据包括索引节 点(K1,K2,K3,K4)中的路径的数量。
8.按权利要求5至7之一所述的方法,其中所述路径包括绝对路 径,这些绝对路径从所述根节点开始并且通向叶节点。
9.按权利要求5至8之一所述的方法,其中所述路径包括相对路 径,其中相应索引节点(K1,K2,K3,K4)的相对路径是相对于所述 相应索引节点(K1,K2,K3,K4)的或者处于所述相应索引节点(K1, K2,K3,K4)的层级之上的层级的索引节点(K1,K2,K3,K4)的、 以前被插入到比特流中的路径的路径。
10.按权利要求9所述的方法,其中将其索引数据作为层级的第一 批被插入到比特流中的索引节点的路径以与所述索引数据布置在所述 索引节点(K1,K2,K3,K4)中的顺序相反的顺序插入到所述比特流 中。
11.按权利要求5至10之一所述的方法,其中所述路径包括XML 文件(XML=可扩展置标语言)的描述元素。
12.按权利要求11所述的方法,其中所述路径是所述XML文件的 XPATH路径。
13.按以上权利要求之一所述的方法,其中利用编码方法、尤其是 利用MPEG编码方法来对所述索引数据进行二进制编码。
14.按权利要求13所述的方法,其中所述编码方法是MPEG7编码 方法。
15.用于对数据结构进行编码的方法,其中在索引树中给所述数据 结构的数据元素加索引,其中根据以上权利要求之一来产生比特流, 并且所述比特流是所编码的数据流的一部分。
16.用于对数据结构进行解码的方法,其中如此来构成所述方法, 使得对根据权利要求12所编码的数据结构进行解码。
17.用于对数据结构进行编码和解码的方法,包括按权利要求15 所述的方法和按权利要求16所述的方法。
18.编码装置,利用该编码装置可以执行按权利要求15所述的方 法。
19.解码装置,利用该解码装置可以执行按权利要求16所述的方 法。
20.用于对数据结构进行编码和解码的装置,利用该装置可以执行 按权利要求17所述的方法。

说明书全文

发明涉及一种用于从索引树中产生比特流的方法,以及由用于 产生比特流的方法所使用的一种编码方法和一种解码方法。本发明还 涉及一种编码和解码装置。

常常有必要,根据由用户事先进行的查询来从比特流中读出某些 内容,或者鉴于某些内容来确定,在比特流中究竟是否包含这些内容。 在这种情况下可以借助像SQL(请参阅参考文献[1])或XPATH(请参 阅参考文献[2])那样的查询语言来表达由用户定义的查询。在此有利 的是,如果不必在整个比特流中搜索所希望的内容,而是如果在索引 表中或在索引树中存放信息,则因此只须搜索存储了索引树或索引表 的那部分比特流。

例如在借助XML语言(XML=可扩展置标语言)制定的、以 MPEG7-BiM格式表现的文件中,产生了从比特流中读出数据的问题。 关于XML文件的MPEG7-BiM格式,在此尤其请参阅文件[3]。在这种表 现中,将所产生的比特流划分成多个单元(存取单元),这些单元在 它们这方面又由多个段(段更新单元)组成。对这些单元进行编码, 并且在需要时作为MPEG7-BiM流发送到一个或多个接收机上。

关于来自XML文件的信息的查询已经公开了许多查询语言,这些 查询语言允许在文件中搜索某些信息。在此处示范性地参阅已经提及 的查询语言XPATH(请参阅参考文献[2])。利用查询语言XPATH可以 定义用于过滤XML文件之内的所希望的信息的选择准则。在此情况下, 查询的目的一方面可以是对比特流的单元对于接收机来说是否重要的 评价。另一方面,可以借助查询来有针对性地动用XML文件中的所希 望的信息。MPEG7编码方法迄今在产生XML文件的比特流时还未规定 能够实现自由选择地访问XML文件的某些元素的机制。因此为了搜索 元素,必须对MPEG7比特流进行解码。于是又获得XML格式的文件, 该文件可以借助查询语言XPATH来搜索。用于搜索特定内容的XML文 件的解码和随后的处理因此是很费时间的,并且对于某些时间关键的 应用来说是不可接受的。还可能出现存储器解码器中受限制的问 题,使得比特流被不完全解码。除此之外,如果在所解码的XML文件 上执行的XPATH查询负面地进行,则该解码的工作量是不必要的。

在文件[4]中所描述的TV-Anytime(TVA)的范围内,采用一种允 许自由选择地访问数据段的某些元素的索引结构。该索引结构由多个 部分组成,并且包括所谓的关键字索引表,在该关键字索引表中存放 了文件的全部加索引的路径。在查询时,将这些路径依次与查询进行 比较,直至在关键字索引表中找到了相应的录入项为止。通过在关键 字索引表中存储到该录入项的信息,可以确定在描述流中编码地存在 加索引的录入项的位置。通过采用关键字索引表,不再需要对不感兴 趣的数据段进行解码,因此在查询期间需要较少的存储位置。但是线 性地穿越关键字索引表是耗时的,而所有加索引的路径的传输是费事 的。

因此,本发明的任务是提供一种从索引树中产生比特流的方法, 在该方法中能够简单而有效地实现对加索引的数据的搜索。

该任务根据独立权利要求的特征来解决。由从属权利要求得出本 发明的改进方案。

利用本发明方法从索引树中产生比特流,该索引树包括多个层 级,其中给每一层级分配了一个或多个索引节点,并且这些索引节点 包含索引数据,这些索引数据在索引树中按照一个或多个预先给定的 准则来分类。在本发明方法中,将索引节点的索引数据插入到比特流 中,并且还针对索引节点分别将以下信息插入到比特流中,即处于相 应节点的层级之下的层级的一个或多个索引节点的索引数据位于比特 流中的哪个位置上。通过存储有关处于其下的层级中的索引节点的附 加信息,显著地简化了对某些索引数据的搜索,因为由此能够实现向 对于搜索来说相关的索引节点的转移。因此确保了对索引数据的显著 更有效的查询和搜索。

在一种优选的实施形式中建立了作为所谓的B树(=平衡树)的 索引树,该索引树确保数据均衡地分布到该树的节点上。B树的准确的 描述可以在参考文献[5]中找到。

可以按任意的准则、例如以词典编纂的方式对索引树中的索引数 据进行分类。

在一种特别优选的实施形式中,按照深度优先次序将索引数据插 入到比特流中。通过深度优先次序的采用,首先按照深度将索引树中 的索引数据插入到比特流中,由此在比特流中彼此相邻地布置对于查 询来说相关的信息,并且可以有效地跳过不相关的信息。深度优先次 序的准确的描述可以在参考文献[6]中找到。

在本发明的另一种优选的实施形式中,索引数据包括文件结构树 的路径,该文件结构树包括一个根节点和多个叶节点。索引数据还优 选地包括路径的值特征(Werteauspraegung)和值特征在由文件结构 树所表示的文件中的位置。除此之外,在一种优选的实施形式中,索 引数据也还包括索引节点中的路径的数量。

路径在此可以是绝对路径,这些绝对路径从文件结构树的根节点 开始并且通向文件结构树的叶节点。在本发明的一种特别优选的实施 形式中,路径却是相对路径,其中相应索引节点的相对路径是相对于 该相应索引节点或位于该相应索引节点的层级之上的层级的索引节点 的、以前被插入到比特流中的路径的路径。通过相对路径的采用,充 分利用了路径的共同点,因为相邻节点的路径大多具有共同的部分。 以此方式可以降低比特流中索引数据所需要的存储需求。存储需求的 进一步降低可以通过以下方式来实现,即将其索引数据作为层级的第 一批被插入到比特流中的索引节点的路径以与在该索引节点中布置索 引数据的顺序相反的顺序插入到比特流中。在此情况下考虑了以下事 实,即与在层级的第一索引节点的开头的索引数据相比,在第一索引 节点的末端的索引数据与下一较高层级的索引节点具有更大的相似 性。因而在某些情况下借助相对路径来产生特别有效的编码。

在本发明的一种特别优选的实施形式中,路径包括XML文件(XML =可扩展置标语言)的描述元素,其中路径尤其是XML文件的XPATH 路径。

在本发明的另一种实施形式中,利用编码方法、尤其是利用MPEG 编码方法来对索引数据进行二进制编码。在一种特别优选的实施形式 中,采用MPEG7编码方法作为编码方法。

除了上述用于产生比特流的方法之外,本发明还包括一种用于对 数据结构进行编码的方法,在该方法中在索引树中给数据结构的数据 元素加索引,其中根据本发明方法产生比特流,并且该比特流是所编 码的数据流的一部分。除此之外,本发明包括一种用于对数据结构进 行解码的方法,其中如此来构成该方法,使得对利用刚才所描述的编 码方法所编码的数据结构进行解码。

除此之外,本发明还包括一种用于对数据结构进行编码和解码的 方法,该方法包括上面所描述的编码方法和解码方法。

本发明也包括一种编码装置,利用该编码装置可以执行本发明的 编码方法,以及包括一种解码装置,利用该解码装置可以执行本发明 的解码方法。本发明还涉及一种用于编码和解码的相应装置,利用该 装置可以执行上面所描述的组合的编码和解码方法。

以下借助附图来示出和阐述本发明的实施例

图1展示了本发明方法中所采用的索引树的实例;

图2展示了图1中所展示的索引树的一段;

图3展示了比特流的一段,该比特流是利用本发明方法从图1的 索引树中产生的;

图4展示了一种简化的索引树,在该索引树中以词典编纂的方式 排列索引数据并且示出了文件结构树的路径;

图5展示了图4的索引树,其中将第二层级的路径部分地作为相 对路径示出;

图6展示了图4的索引树,其中将第二层级的所有路径作为相对 路径示出;

图7展示了根据图4的索引树的变型。

图1示范性地展示了在本发明方法中所采用的索引树。该树是所 谓的B树(B代表平衡),该B树常常在给数据加索引时得到应用。例 如在已经提及的参考文献[5]中描述了B树的结构。B树具有平衡的结 构,并且由此以与录入项的数量相比仅对数的工作量来实现搜索,而 在利用表(Liste)来搜索时需要线性的工作量。

索引树包含多个节点1至10,其中在每一个节点中以所谓的密钥 形式存储一个或多个索引数据。在本情况下,索引数据是XML文件的 描述树的所谓的XPATH路径。XPATH路径的描述可在已经提及的参考 文献[2]中找到。XPATH路径从XML文件的描述树的根节点向XML文件 的描述树的各个叶节点延伸。在该实施形式中所采用的描述树中,将 具有简单内容的XML元素和所有的XML属性用作为叶节点。因此图1 中所展示的索引树的索引数据包括XML描述树的根叶路径。

在图1的索引树中,XPATH路径是作为由大小写字母组成的系列示 出并且以词典编纂的方式排列的,其中每一个字母代表XML描述树中 的一个元素名称。例如节点1中的路径MDMVUFACN意味着MPEG7/描述 /多媒体内容/视频/使用信息/财务结果/账目/成本类型/名称。在节点 中除了路径之外也存储值特征,该路径以这些值特征出现在XML文件 中。在本情况下,在索引节点1中路径MDMVUFACN两次以特征“全部用 于生产”和“广播”出现。与此相对地,例如在索引节点2中路径 MDMVUAFAc仅一次以特征“EUR”出现。

图1的索引树中的索引节点的编号对应于借助本发明方法将索引 数据插入到比特流中的顺序。该顺序在此情况下相当于所谓的深度优 先次序,例如在已经提及的参考文献[6]中描述了该深度优先次序。通 过根据深度优先次序将索引数据插入到比特流中,得出在访问索引数 据时较小的复杂性,因为在对索引数据进行搜索时跳过不相关的信 息。

在图2中展示了图1的索引树的一段,借助于该段作为例子来阐 述在该树中的索引数据的查询。在此涉及XPATH路径MPEG7/描述/多 媒体内容/视频/使用信息/可用性/传播/传播者/代理/名称是否包 含值特征“发现”(以简写方式MDMVUADDAN=“发现”)的查询。由 于搜索字符串MDMVUADDAN在词典编纂上小于索引节点1的XPATH路径 “MDMVUFACN”,所以动用索引节点2。该搜索字符串又在词典编纂上小 于索引节点2的录入项“MDMVUAFAc”。所以过渡到被置于索引节点2的 左边的索引节点3上。该索引节点包含两个XPATH路径“MDMVUAAt”和 “MDMVUADFh”。该搜索字符串位于这两个XPATH路径之间,因此在下一 个层级中过渡到位于索引节点4和索引节点6之间的索引节点5上。 该索引节点从现在起包含所搜索的XPATH路径“MDMVUADDAN”以及所搜 索的值特征“发现”作为第一元素。因此在索引节点5中找到了匹配的 值特征,并且于是获得相应元素在加索引的XML文件中的位置。通过 按照深度优先次序将索引节点插入到比特流中,在搜索时忽略或跳过 索引树的所有其它节点,因此对索引树中的元素的搜索具有小的复杂 性。

以下详细地深入讨论借助本发明方法将索引数据插入到比特流 中。这借助图3来实现,图3示出了利用本发明方法所产生的比特流 中的一段。在图3中所展示的比特流中,为了清晰起见列出了索引节 点的编号,其中但是这些编号不随着该流一起被传送。在图3中详细 展示了索引节点1和3的内容。这些节点首先包含作为第一元素的录 入项的数量、即存储在节点中的XPATH路径的数量。在这里针对索引 节点1得出数字1,而针对索引节点3得出数字2。然后跟随着针对每 一个录入项的密钥,即相应的XPATH路径以及层级(Instanzierung) 的数量、即在XML文件中该XPATH路径所具有的值特征的数量。对于 索引节点1来说例如针对XPATH路径“MDMVUAFCN”得出层级数量2,因 为该路径在XML文件中以两个值特征“全部用于生产”和“广播”出现。 针对每一个值特征,还将该值特征在XML文件中的位置插入到比特流 中。在本发明方法中重要的是,除了这些信息之外还将以下信息插入 到比特流中,即处于其之下的层级的与相应索引节点相连接的索引节 点的索引数据位于比特流中的哪个位置上、尤其是位于相对于瞬间位 置(偏移)的哪个位置上。由此能够实现跳过对于预先给定的搜索查 询来说不相关的节点。

以下将从一个节点分支到更低的层级中的节点称为子节点。在本 发明方法中应注意,不必存储关于层级的第一子节点的位置的信息, 因为该子节点在比特流中作为下一个被读入。如从图3中可获知的那 样,因此针对索引节点1仅仅存储了索引节点10的位置(称为“偏移 (10)”),而针对索引节点3仅仅存储了索引节点5和6的位置(称 为“偏移(5)”和“偏移(6)”)。如果例如得出在查询时所搜索的信 息在词典编纂上大于节点1中的XPATH,则立即向节点10转移,使得 不再需要搜索索引节点2和从索引节点2分支的索引节点。由此能够 实现有效的搜索。

在以下的表中再次列出了在比特流中存储每一个节点的哪些信 息。

表:   节点1{   录入项的数量   针对每一个录入项:   密钥   层级的数量   针对每一个层级:   值特征   位置   针对除第一子节点之外的每一个子节点   在流中的偏移

利用本发明方法所产生的比特流被传送到接收机上,并且可以根 据参照图2已示范性地阐述的查询被读出。通过要查询的XPATH和索 引节点中的录入项之间的比较,一直从流中读出某些节点信息,直至 找到了具有所搜索的值特征的、相应的搜索的XPATH时为止,或者直 至基于分类而不再可能有匹配的XPATH路径时为止。在后一种情况下, 加索引的文件中不包含所期望的信息。

以下借助图4至7来阐述本发明方法的其它的实施形式,图4至7 示出了具有以词典编纂的方式排列的录入项的简化的索引树。在图4 中展示了一种能够借助本发明方法来编码的索引树,该索引树包括节 点K1至K4。节点K1在此被称为父节点,而从节点K1中分支的节点 K 2至K4被称为子节点。录入项是文件结构树的路径。代替在比特流中 以路径的整个长度来传输路径,存在着在要传输的索引节点中存放所 谓的相对路径的可能性,其中这些路径就父节点的以前所传输的路径 或目前要传输的索引节点的以前所传输的路径而言是相对的。

在图5中描述了将相对路径插入到比特流中。在此情况下,表示 “.”意味着在相对路径所涉及的路径中返回一个步骤。在节点K1中, 针对录入项“AE”传输相对于之前的录入项ACB的相对路径“..E”。在子 节点K1、K2和K3中,分别在第二和第三录入项中传输相对于相应子 节点的第一路径的相对路径。

在图5的实施形式中,为子节点K2、K3或K4的第一路径从、ACC 或AEF传输完整的绝对路径。现在可以附加地还将子节点的第一路径 作为相对于父节点K1的路径的相对路径来传输。这在图6中示出。代 替第一和第二子节点的路径AA和ACC,在此情况下传输相对于父节点 的第一路径的相对路径“..A”和“.C”。代替第三子节点的路径“AEF”, 传输相对于父节点的第二路径的相对路径“F”。在此,这些路径优选地 以其字节表示的方式被存放到比特流中。

通过相对路径的采用,大大减小了流中的数据量,因为在存储路 径时充分利用路径的共同点,使得需要较少的存储位置。尤其是在相 对路径的情况下只须一次性地传送路径的相应的共同部分。

在本发明的另一个实施形式中,通过以下方式来实现数据节省, 即在布置索引节点的录入项时,将一种与图4相反的顺序用于第一子 节点K2。由此实现与之前的父节点K1具有最大的相似性的录入项位于 子节点K2的开头。因此在索引树的特定的构造中,可以得出显著缩短 的相对路径和减小的存储需求。

路径可以是之前已经提及的XML描述树的XPATH路径。还可以例 如利用MPEG7编码方法来对路径进行二进制编码。尤其可以采用在已 经提及的参考文献[3]中详细说明的二进制编码方法。与文本表示相比 较,经二进制编码的路径的采用可以导致要传送的比特数量的节省。

参考文献

[1]http://dx1.hrz.uni- dortmund.de:8001/doc1/hrz/sq1ref/sqloracle.html

[2]http://www.w3.org/TR/xpath

[3]ISO/IEC 15938-1,Multimedia Content Description Interface-Part 1:Systems,日内瓦,2002年

[4]TV-Anytime Specification Series S-3 on Meadata, Part-B,版本13

[5]http://www.public.asu.edu/~peterjn/btree/

[6]http://www.generation5.org/simple_search.shtml

QQ群二维码
意见反馈