专利名称::基于一般地描述比特流格式的模式的产生文档的方法
技术领域:
:本发明涉及一种发布按照一定的格式组织成字段的比特流的方法。本发明还涉及一种模式(schema),该模式一般地描述这种比特流格式,并且将被用于实现所述的发布比特流的方法。本发明还涉及一种计算机程序,该程序包括用于实现所述的发布比特流的方法的指令。本发明进一步涉及一种包括这样一种模式和这样一种计算机程序的软件,以及涉及一种用于存储这种软件的存储介质。比特流通常具有人类不可读的一种紧凑的二进制形式。本发明提出了一种用于以一种人类可读的形式发布比特流的方法。本发明可被有利地用于为读/写比特流而设计的调试软件。例如,它可被有利地用于验证对比特流进行编/解码而设计的软件(这种软件通常称为“编解码器”)。
背景技术:
:由皇家飞利浦电子股份有限公司提交的并且在2002年9月6日公布的国际专利申请WO02/069187公开了一种一般地描述比特流格式的模式,以及一种使用该模式对符合所述格式的比特流进行语法分析从而生成比特流结构化描述的方法,所述的结构化描述是所述模式的实例。在现有技术中所考虑的应用是内容的修正。本发明针对于这种对比特流进行语法分析的方法的另外一种应用。发明概要本发明中所预期的申请是发布按照某种格式组织成字段的比特流,所述的字段具有一个值和称为字段语义的语义。在本专利申请的权利要求1-6中定义了一种根据本发明发布比特流的方法。在权利要求7和8中定义了一种根据本发明的模式。在权利要求9中定义了一种根据本发明的计算机程序,在权利要求10中定义了一种根据本发明的软件,以及在权利要求11中定义了一种根据本发明的存储介质。在本发明中,提出了一种增强的模式。除了一般地描述比特流格式,所提的模式包括含有至少部分按比特流格式定义的字段的字段语义的组成部分。这些组成部分在比特流语法分析期间使用,从而生成不仅包括字段值还包括字段语义的比特流的结构化描述。进而将一种变换应用于结构化描述,用于产生一个文档,它包括对于比特流的至少部分字段的至少部分字段语义和字段值指示。该变换的功能是对结构化描述中呈现的信息进行格式化以用于显示。所获得的文档可以直接使用,例如,被开发人员用于调试目的。在这个文档中,通过指示与字段值相关联的字段语义来实现比特流的可读性。在本发明的一个有利的实施例中,当比特流格式是这样的,即至少一个字段值具有语义(称为值语义)的格式时,则增强的模式还将包括含有关于该字段的{值,语义值}列表的一个组成部分。在比特流的语法分析过程中,将比特流中的字段值与模式中定义的值列表进行比较,能够获取相关的值语义。所获取的值语义被添加到结构化描述。最后,由结构化描述经过变换之后产生的文档包括所述的值语义。在该值本身之外还给出值语义(或者作为该值本身的替代而给出值语义),增加了文档对于用户的可读性。根据本发明发布比特流的方法是有利的,因为它可用于任何比特流格式,只要比特流的格式是一般地以一种可用的模式描述的。所提解决方案的另外一个优点是-利用本发明的方法生成的结构化描述还能被用于实现除了上述格式化变换之外的其它变换;例如,它可被用于产生比特流的修正过的描述,如由皇家飞利浦电子股份有限公司提交并且在2002年8月15日公布的国际专利申请WO02/063494中所描述的那样。-本发明中所提的增强的模式还能被用于从比特流描述中产生比特流,如在国际专利申请WO02/069187中描述的那样。附图简要说明本发明的这些以及其它方面将进一步结合下面的附图进行说明-图1是根据本发明发布比特流的方法的块图;-图2是供开发人员操作的用于发布利用根据本发明的方法生成的文档的工作站的示意图。优选实施例说明图1显示了一个解释根据本发明来发布比特流的方法的基本操作模式的方块图。块D1代表含有根据一定的比特流格式组织成字段的数据的输入比特流。比特流的每个字段都具有值和语义。块D2代表根据本发明的模式。模式D2一般地描述所述的比特流格式。块D3代表根据输入比特流D1生成模式D2实例D4的语法分析器。由语法分析器D3生成的实例是比特流D1的结构化描述。它包括对于按比特流格式定义的至少部分字段的(从比特流中恢复的)字段值以及字段语义。块5代表一种被应用到结构化描述D4从而格式化该结构化描述D4的内容并产生用户可读的文档D6的变换。模式D2描述了比特流的语法,特别是可被包含在比特流中的数据类型以及这些数据被包括在结构化文档D4中的方式。在模式中并不总是需要给出比特流格式结构的全部细节。详细程度取决于所考虑的应用。因此,在比特流格式中定义的某些字段可以不在模式D2中详述。有利地,模式D2是上述专利申请中公开的类型,这意味着a)它定义了可以包含一个或多个方面的一种或多种数据类型,特别是-当所述的格式使用预定义长度的二进制字(一种或多种数据类型与所述的预定义的二进制字长度相对应)时,所述的数据类型具有至少一个方面涉及到所述的长度,并且当所述的预定义的二进制字长度可以包含一个或多个填充位时,所述的数据类型具有一个方面涉及到所述的填充位,-当所述的格式使用不定长的二进制段,并且段中具有使用某种导入模式而想要以所述的结构化描述导入的内容时,一种数据类型与所述的二进制段相对应,所述的数据类型具有至少一个涉及所述的导入模式的方面,并且当所述的二进制段用一个停止标记来定义时,所述的数据类型具有一个涉及所述的停止标记的方面,b)它包括一些元素,为这些元素描述了名称,数据类型,层叠,顺序,预定义的或未定义的出现次数,一个元素的出现是强制的或是可选的,c)当格式提供了位于比特流头部的数据给出了关于比特流后续部分的结构或内容的信息时,-它定义了一个或多个变量,该变量由对所述的位于比特流前的数据的结构化表示的访问路径所构成,-并且它包括一个或多个条件分支,用于说明作为所述变量的值的函数的各种可能的结构或内容。在一个优选实施例中,模式D2是以一种从XML模式中派生而来的语言书写的。在国际专利申请WO02/069187中完整地描述了这种派生的语言以及前面所述的模式D2的部件。在前面b)中提到的一些元素与比特流的一个字段相关联(其它元素描述了文档D4的结构)。根据本发明,对于在前面b)中提到的与比特流的一个字段相关联的元素,模式D2进一步包括一个含有对于该特定字段的字段语义的组成部分。例如,通过使用在XML模式中定义的组成部分“xsddocumentation”,可以将字段语义添加到模式D2。有利地,当模式描述一个对于每个可能的值都有特定相关的语义(称为值语义)的字段时,模式D2还包括一个组成部分,该组成部分包含有关于该字段的{值;语义}对的列表。例如,通过使用组成部分“xsdappinfo”(“xsdappinfo”是在XML模式中定义的,用于保存专用信息)将所述的列表添加到模式。在XML模式验证过程中,不会考虑模式的部件“xsdappinfo”的内容。这意味着添加到组成部分“xsdappinfo”的信息被XML模式忽略了。根据XML模式,组成部分“xsddocumentation”和“xsdappinfo”也必须包含在组成部分“xsdannotation”中。定义一种供变换D5用来表示比特流的特定分层结构也是有用的。这允许将第一层级中的字段表示成第一种样式,并且将第二层级中的字段表示成第二种样式(此处所指的层级是呈示级;不一定与比特流中字段的分层结构相对应)。通过将其限定在特定的名字空间,XML模式为特定的模式部件定义新的属性提供了可能性。在本发明的一个有利的实施例中,通过使用这种属性将呈示级添加进了模式。在下面的说明中,用来将这一呈示级添加进模式的属性被命名为“bvpresLevel”(在下面的说明中,使用前缀“xsd”表示XML模式常规名字空间,使用前缀“bv”表示本发明引入的扩展;在附录中,前缀“bsdl”表示在国际专利申请WO02/069187中定义的XML模式扩展)。附录A给出了根据本发明的模式的一个摘录(extract),该摘录一般地描述了JPEG2000比特流格式(在文档ISO/IECFCD15444-1“JPEG2000最终国际标准草案”中描述了JPEG2000)。根据本发明所添加到模式中的组成部分是以粗体书写的。例如,从附录A中可以看出必须应用呈示级“1”来表示字段“SIZ”。还可以看出字段“Rsiz”的字段语义是“解码器能力”,以及字段“Rsiz”可以具有不同的值。值“0”的值语义是“仅在本建议|国际标准中指定的能力”(即当字段“Rsiz”取“0”值时,意味着解码器能力仅仅在建议|国际标准中指定)。任何其它值(在模式中称为“缺省”)的值语义是“保留的”。语法分析器D3使用模式D2来解析比特流D1并且生成比特流D1的结构化描述D4。结构化描述D4包括多个元素,每个元素与比特流的一个字段相关联。每个元素的值是从比特流D1中相关联的二进制表示以及模式D2中相关联的数据类型(这意味着结构化描述中包含的值是根据模式中给出的数据类型定义格式化的)计算而来的。在国际专利申请WO02/069178中完整地描述了这个过程。根据本发明,语法分析器D3进而向结构化描述D4的元素添加一个或多个属性。在本发明最简单的实施例中,语法分析器D3添加了一个含有字段语义的属性,该字段语义包含在前面所述的组成部分“xsddocumentation”中。在下面的说明中,该属性被命名为“bvfieldSemantics”。在本发明更加复杂的实施例中,语法分析器D3添加了一个或多个下列属性-如果在模式D2中给出了{值;值语义}对的列表,语法分析器D3将直接从比特流D1中恢复的值与预定义的值列表进行比较,并且通过名称为“bvvalueSemantics”的属性向实例元素添加相应的值语义;-如果模式D2包括呈示级信息,语法分析器D3将所述的信息拷贝到实例元素;-如上面所解释的,从比特流D1中直接恢复的字段值是按照模式D2中给出的数据类型定义而格式化的;当字段值既不是十六进制也不是二进制时,语法分析器D3有利地将字段值重新格式化成十六进制或二进制格式,并且利用名称为“bvvalue”的属性将重新格式化的值添加到实例元素;-语法分析器D3有利地向实例元素添加一个名称为“bvoffset”的属性来指示字段在比特流D1中的位置。附录B给出了根据本发明从JPEG2000输入比特流中获得的一个结构化描述例子的摘录。在附录B中,用粗体表示所添加的属性。根据本发明,变换D5被加到由语法分析器D3生成的结构化描述D4。变换D5的目的是产生一个易读格式的文档D6(变换D6不会修改包含在结构化描述中的信息)。它仅仅为呈示目的而格式化所述的信息。特别是当结构化描述D4包含呈示级的信息时,变换在生成文档D6时使用这些信息。有利地,变换D5是以XSLT样式表定义的。XSLT是XML的一种工具,它允许对要施加到XML文档的变换进行定义。在XSLT变换中,XSLT处理器通过读取XML文档和XSLT样式表来生成变换后的文档。在图1中,XSLT处理器用参考D7来表示,XSLT样式表用参考D8来表示。有利地,在本发明中,变换后的文档是以HTML或XHTML语言书写的。附录C给出了一个将被应用到附录B中结构化描述的样式表的例子。附录D给出了一个通过将附录C的样式表应用到附录B的结构化描述所生成的XHTML文档的例子。从附录D可以看出字段“主头部”(在附录B的结构化描述中具有呈示级“2”)是以第一种呈示样式表示的,字段“SOC”和“SIZ”(二者在附录B中都具有呈示级“1”)是以第二种呈示样式表示的,并且其它字段(在附录B中没有定义呈示级)是以第三种呈示样式表示的。还可以看出字段“Rsiz”的值语义取代了从比特流中恢复的值。图2是供开发人员操作的工作站W1的框图,该工作站用于发布根据本发明的方法而生成的文档。根据图2,工作站W1包括由显示控制器W3控制的显示器W2和允许开发人员输入的人机接口W4。工作站W1还包括处理器P1和至少一个存储器M1。存储器M1至少存储一般地描述比特流格式的模式D2、当被处理器P1执行时用于实现语法分析器D3的程序G1、以及当被处理器P1执行时用于实现变换D5的程序G2。程序G1的执行包括读取输入比特流D1和模式D2,并且导致结构化描述D4的生成。结构化描述D4被有利地存储在存储器M1中。程序G2的执行包括读取结构化描述D4和样式表D7。它导致文档D6的生成。文档D6被有利地传递给显示控制器W3以用于显示。可以使用多个存储器来存储上述数据(比特流D1,模式D2)和程序(实现语法分析器D3的程序G1和实现变换D5的程序G2)。可以将一种或多种模式与程序G1和G2一起存储到可移动存储介质(例如光盘)上,从而允许本发明的方法在任何包括读取这种光盘的读出机的工作站上实现。对于所描述的方法、模式、程序和存储介质,可以在不脱离本发明的范围的情况下提出修改或改进。因而本发明不受所提供例子的限制。特别是,本发明不受限于在前面说明中所使用的语言(XML,XML模式,HTML,XHTML,XSLT)。可以使用任何语言实现本发明,例如DSD(文档结构描述,由AT&T和来自丹麦Aarhus大学的BRICS提出,可以从互联网中http://www.brics.dk/DSD处获得)类型的语言。本发明也不受限于任何特定的比特流格式。它可被应用到任何格式,只要该格式能够以本专利申请中公开类型的模式进行描述。本发明是参考国际专利申请WO02/069178进行说明的。然而,本发明不受限于该现有技术文档中描述的模式类型。它可应用任何一般地描述比特流格式的模式。使用动词“包括”及其变形不排除存在权利要求中所陈述的那些元素或步骤之外的元素或步骤。在元素或步骤前使用冠词“a(一)”或“an(一)”不排除存在多个这种元素或步骤。<tablesid="table16"num="016"><tablewidth="696">附录D应用附录C的样式表到附录B的结构化表示后获得的文档的例子</table></tables>主头部标记FF4F0xFF4F0x00标记标记FF510xFF510x02标记段长度L标记470b1011110x04解码器能力Rsiz仅在本建议|0b00x06国际标准中指定的能力参考网格的宽度Xsiz6400b10100000000x08参考网格的高度Ysiz4800b1111000000x0c从参考网格的原点到图像区左侧的XOsiz00b00x10水平偏移量从参考网格的原点到图像区顶侧的垂YOsiz00b00x14直偏移量相对于参考网格的XTsiz6400b10100000000x18参考面的宽度相对于参考网格的YTsiz4800b1111000000x1c参考面的高度从参考网格的原点到第一面的左侧的XTOsiz00b00x20水平偏移量从参考网格的原点到第一面的顶侧的YTOsiz00b00x24垂直偏移量部件数量Csiz30b110x28权利要求1.一种发布根据一定格式组织成字段的比特流的方法,所述的字段具有值和被称为字段语义的语义,所述的方法包括步骤A)通过读取模式来对所述的比特流进行语法分析,以便生成所述模式的实例,该实例是所述比特流的结构化描述并且包括至少部分所述字段的字段语义和值,该模式一般地描述所述的格式并且,对于至少部分所述的字段,包括一个含有所述的字段语义的组成部分,B)向步骤A)中获得的结构化描述施加变换,从而产生一个至少包括至少部分所述比特流字段的字段语义和该值的指示的文档。2.如权利要求1的方法,其中该字段值的指示至少包括下列的其中之一-从比特流中恢复的值,-通过重新格式化从比特流中恢复的值而得到的重新格式化后的值。3.如权利要求1的发布比特流的方法,该比特流具有至少一个其值具有语义的字段,该语义被称为值语义,其中-所述的模式进一步包括一个包含有关于该字段的{值;值语义}对的列表的组成部分;-步骤A)包括将从比特流中恢复的关于该字段的值与所述的列表进行比较,从而获取所述值的值语义,并且将所述的值语义添加到所生成的结构化描述,并且-步骤B)被用来产生包括所述的值语义的文档。4.如权利要求3的方法,其中字段值的指示包括至少下列的其中之一-从比特流中恢复的值;-通过重新格式化从比特流中恢复的值而得到的重新格式化后的值;-值语义,如果有的话。5.如权利要求1或3的发布比特流的方法,其中字段在比特流中具有一个位置,并且步骤B)包括在所述的文档中添加该字段的位置的指示。6.如权利要求1的发布比特流的方法,其中步骤A)进一步包括向至少部分所述字段的结构化描述中添加呈示指示,并且步骤B)进一步包括处理所述的呈示指示,从而根据所述的呈示指示应用特定的表示样式。7.一种一般地描述比特流格式的模式,根据该比特流格式,比特流被组织成字段,所述的字段具有值以及被称为字段语义的语义,对于至少部分所述的字段,所述的模式包括一个包含有所述的字段语义的组成部分。8.如权利要求7的模式,该模式描述比特流格式根据该比特流格式,至少一个字段的值具有被称为值语义的语义,所述的模式进一步包括一个包含用于该字段的{值;值语义}对的列表的组成部分。9.一种计算机程序,该程序包括当所述的程序被处理器执行时用于实现权利要求1或3中要求的发布比特流的方法的指令。10.包括如权利要求7的一个或多个模式以及一个或多个程序的软件,该程序包括当所述的程序被处理器执行时用于实现权利要求1的发布比特流的方法的指令。11.用于存储如权利要求10的软件的存储介质。全文摘要本发明提出了一种发布按照一定的比特流格式组织成字段的比特流的方法。比特流的每个字段具有一个值和语义。根据本发明,当比特流被显示从而提供一种人类可读的比特流版本时,字段语义与字段值一起发布。根据本发明,提出了一种模式,该模式除了一般地描述比特流格式,还包括含有所述的字段语义的部件。该模式由解析器用于对将被显示的输入比特流进行语法分析,从而生成所述比特流的结构化描述。然后将一种变换施加到结构化描述来生成用于显示的格式化的文档。文档编号H04N7/24GK1751308SQ200480004555公开日2006年3月22日申请日期2004年2月3日优先权日2003年2月19日发明者S·德维莱尔,M·阿米尔-卡普里奥格利奥申请人:皇家飞利浦电子股份有限公司