專利名稱::基于一般地描述比特流格式的模式的產(chǎn)生文檔的方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種發(fā)布按照一定的格式組織成字段的比特流的方法。本發(fā)明還涉及一種模式(schema),該模式一般地描述這種比特流格式,并且將被用于實現(xiàn)所述的發(fā)布比特流的方法。本發(fā)明還涉及一種計算機程序,該程序包括用于實現(xiàn)所述的發(fā)布比特流的方法的指令。本發(fā)明進一步涉及一種包括這樣一種模式和這樣一種計算機程序的軟件,以及涉及一種用于存儲這種軟件的存儲介質(zhì)。比特流通常具有人類不可讀的一種緊湊的二進制形式。本發(fā)明提出了一種用于以一種人類可讀的形式發(fā)布比特流的方法。本發(fā)明可被有利地用于為讀/寫比特流而設(shè)計的調(diào)試軟件。例如,它可被有利地用于驗證對比特流進行編/解碼而設(shè)計的軟件(這種軟件通常稱為“編解碼器”)。
背景技術(shù):
:由皇家飛利浦電子股份有限公司提交的并且在2002年9月6日公布的國際專利申請WO02/069187公開了一種一般地描述比特流格式的模式,以及一種使用該模式對符合所述格式的比特流進行語法分析從而生成比特流結(jié)構(gòu)化描述的方法,所述的結(jié)構(gòu)化描述是所述模式的實例。在現(xiàn)有技術(shù)中所考慮的應(yīng)用是內(nèi)容的修正。本發(fā)明針對于這種對比特流進行語法分析的方法的另外一種應(yīng)用。發(fā)明概要本發(fā)明中所預(yù)期的申請是發(fā)布按照某種格式組織成字段的比特流,所述的字段具有一個值和稱為字段語義的語義。在本專利申請的權(quán)利要求1-6中定義了一種根據(jù)本發(fā)明發(fā)布比特流的方法。在權(quán)利要求7和8中定義了一種根據(jù)本發(fā)明的模式。在權(quán)利要求9中定義了一種根據(jù)本發(fā)明的計算機程序,在權(quán)利要求10中定義了一種根據(jù)本發(fā)明的軟件,以及在權(quán)利要求11中定義了一種根據(jù)本發(fā)明的存儲介質(zhì)。在本發(fā)明中,提出了一種增強的模式。除了一般地描述比特流格式,所提的模式包括含有至少部分按比特流格式定義的字段的字段語義的組成部分。這些組成部分在比特流語法分析期間使用,從而生成不僅包括字段值還包括字段語義的比特流的結(jié)構(gòu)化描述。進而將一種變換應(yīng)用于結(jié)構(gòu)化描述,用于產(chǎn)生一個文檔,它包括對于比特流的至少部分字段的至少部分字段語義和字段值指示。該變換的功能是對結(jié)構(gòu)化描述中呈現(xiàn)的信息進行格式化以用于顯示。所獲得的文檔可以直接使用,例如,被開發(fā)人員用于調(diào)試目的。在這個文檔中,通過指示與字段值相關(guān)聯(lián)的字段語義來實現(xiàn)比特流的可讀性。在本發(fā)明的一個有利的實施例中,當比特流格式是這樣的,即至少一個字段值具有語義(稱為值語義)的格式時,則增強的模式還將包括含有關(guān)于該字段的{值,語義值}列表的一個組成部分。在比特流的語法分析過程中,將比特流中的字段值與模式中定義的值列表進行比較,能夠獲取相關(guān)的值語義。所獲取的值語義被添加到結(jié)構(gòu)化描述。最后,由結(jié)構(gòu)化描述經(jīng)過變換之后產(chǎn)生的文檔包括所述的值語義。在該值本身之外還給出值語義(或者作為該值本身的替代而給出值語義),增加了文檔對于用戶的可讀性。根據(jù)本發(fā)明發(fā)布比特流的方法是有利的,因為它可用于任何比特流格式,只要比特流的格式是一般地以一種可用的模式描述的。所提解決方案的另外一個優(yōu)點是-利用本發(fā)明的方法生成的結(jié)構(gòu)化描述還能被用于實現(xiàn)除了上述格式化變換之外的其它變換;例如,它可被用于產(chǎn)生比特流的修正過的描述,如由皇家飛利浦電子股份有限公司提交并且在2002年8月15日公布的國際專利申請WO02/063494中所描述的那樣。-本發(fā)明中所提的增強的模式還能被用于從比特流描述中產(chǎn)生比特流,如在國際專利申請WO02/069187中描述的那樣。附圖簡要說明本發(fā)明的這些以及其它方面將進一步結(jié)合下面的附圖進行說明-圖1是根據(jù)本發(fā)明發(fā)布比特流的方法的塊圖;-圖2是供開發(fā)人員操作的用于發(fā)布利用根據(jù)本發(fā)明的方法生成的文檔的工作站的示意圖。優(yōu)選實施例說明圖1顯示了一個解釋根據(jù)本發(fā)明來發(fā)布比特流的方法的基本操作模式的方塊圖。塊D1代表含有根據(jù)一定的比特流格式組織成字段的數(shù)據(jù)的輸入比特流。比特流的每個字段都具有值和語義。塊D2代表根據(jù)本發(fā)明的模式。模式D2一般地描述所述的比特流格式。塊D3代表根據(jù)輸入比特流D1生成模式D2實例D4的語法分析器。由語法分析器D3生成的實例是比特流D1的結(jié)構(gòu)化描述。它包括對于按比特流格式定義的至少部分字段的(從比特流中恢復(fù)的)字段值以及字段語義。塊5代表一種被應(yīng)用到結(jié)構(gòu)化描述D4從而格式化該結(jié)構(gòu)化描述D4的內(nèi)容并產(chǎn)生用戶可讀的文檔D6的變換。模式D2描述了比特流的語法,特別是可被包含在比特流中的數(shù)據(jù)類型以及這些數(shù)據(jù)被包括在結(jié)構(gòu)化文檔D4中的方式。在模式中并不總是需要給出比特流格式結(jié)構(gòu)的全部細節(jié)。詳細程度取決于所考慮的應(yīng)用。因此,在比特流格式中定義的某些字段可以不在模式D2中詳述。有利地,模式D2是上述專利申請中公開的類型,這意味著a)它定義了可以包含一個或多個方面的一種或多種數(shù)據(jù)類型,特別是-當所述的格式使用預(yù)定義長度的二進制字(一種或多種數(shù)據(jù)類型與所述的預(yù)定義的二進制字長度相對應(yīng))時,所述的數(shù)據(jù)類型具有至少一個方面涉及到所述的長度,并且當所述的預(yù)定義的二進制字長度可以包含一個或多個填充位時,所述的數(shù)據(jù)類型具有一個方面涉及到所述的填充位,-當所述的格式使用不定長的二進制段,并且段中具有使用某種導(dǎo)入模式而想要以所述的結(jié)構(gòu)化描述導(dǎo)入的內(nèi)容時,一種數(shù)據(jù)類型與所述的二進制段相對應(yīng),所述的數(shù)據(jù)類型具有至少一個涉及所述的導(dǎo)入模式的方面,并且當所述的二進制段用一個停止標記來定義時,所述的數(shù)據(jù)類型具有一個涉及所述的停止標記的方面,b)它包括一些元素,為這些元素描述了名稱,數(shù)據(jù)類型,層疊,順序,預(yù)定義的或未定義的出現(xiàn)次數(shù),一個元素的出現(xiàn)是強制的或是可選的,c)當格式提供了位于比特流頭部的數(shù)據(jù)給出了關(guān)于比特流后續(xù)部分的結(jié)構(gòu)或內(nèi)容的信息時,-它定義了一個或多個變量,該變量由對所述的位于比特流前的數(shù)據(jù)的結(jié)構(gòu)化表示的訪問路徑所構(gòu)成,-并且它包括一個或多個條件分支,用于說明作為所述變量的值的函數(shù)的各種可能的結(jié)構(gòu)或內(nèi)容。在一個優(yōu)選實施例中,模式D2是以一種從XML模式中派生而來的語言書寫的。在國際專利申請WO02/069187中完整地描述了這種派生的語言以及前面所述的模式D2的部件。在前面b)中提到的一些元素與比特流的一個字段相關(guān)聯(lián)(其它元素描述了文檔D4的結(jié)構(gòu))。根據(jù)本發(fā)明,對于在前面b)中提到的與比特流的一個字段相關(guān)聯(lián)的元素,模式D2進一步包括一個含有對于該特定字段的字段語義的組成部分。例如,通過使用在XML模式中定義的組成部分“xsddocumentation”,可以將字段語義添加到模式D2。有利地,當模式描述一個對于每個可能的值都有特定相關(guān)的語義(稱為值語義)的字段時,模式D2還包括一個組成部分,該組成部分包含有關(guān)于該字段的{值;語義}對的列表。例如,通過使用組成部分“xsdappinfo”(“xsdappinfo”是在XML模式中定義的,用于保存專用信息)將所述的列表添加到模式。在XML模式驗證過程中,不會考慮模式的部件“xsdappinfo”的內(nèi)容。這意味著添加到組成部分“xsdappinfo”的信息被XML模式忽略了。根據(jù)XML模式,組成部分“xsddocumentation”和“xsdappinfo”也必須包含在組成部分“xsdannotation”中。定義一種供變換D5用來表示比特流的特定分層結(jié)構(gòu)也是有用的。這允許將第一層級中的字段表示成第一種樣式,并且將第二層級中的字段表示成第二種樣式(此處所指的層級是呈示級;不一定與比特流中字段的分層結(jié)構(gòu)相對應(yīng))。通過將其限定在特定的名字空間,XML模式為特定的模式部件定義新的屬性提供了可能性。在本發(fā)明的一個有利的實施例中,通過使用這種屬性將呈示級添加進了模式。在下面的說明中,用來將這一呈示級添加進模式的屬性被命名為“bvpresLevel”(在下面的說明中,使用前綴“xsd”表示XML模式常規(guī)名字空間,使用前綴“bv”表示本發(fā)明引入的擴展;在附錄中,前綴“bsdl”表示在國際專利申請WO02/069187中定義的XML模式擴展)。附錄A給出了根據(jù)本發(fā)明的模式的一個摘錄(extract),該摘錄一般地描述了JPEG2000比特流格式(在文檔ISO/IECFCD15444-1“JPEG2000最終國際標準草案”中描述了JPEG2000)。根據(jù)本發(fā)明所添加到模式中的組成部分是以粗體書寫的。例如,從附錄A中可以看出必須應(yīng)用呈示級“1”來表示字段“SIZ”。還可以看出字段“Rsiz”的字段語義是“解碼器能力”,以及字段“Rsiz”可以具有不同的值。值“0”的值語義是“僅在本建議|國際標準中指定的能力”(即當字段“Rsiz”取“0”值時,意味著解碼器能力僅僅在建議|國際標準中指定)。任何其它值(在模式中稱為“缺省”)的值語義是“保留的”。語法分析器D3使用模式D2來解析比特流D1并且生成比特流D1的結(jié)構(gòu)化描述D4。結(jié)構(gòu)化描述D4包括多個元素,每個元素與比特流的一個字段相關(guān)聯(lián)。每個元素的值是從比特流D1中相關(guān)聯(lián)的二進制表示以及模式D2中相關(guān)聯(lián)的數(shù)據(jù)類型(這意味著結(jié)構(gòu)化描述中包含的值是根據(jù)模式中給出的數(shù)據(jù)類型定義格式化的)計算而來的。在國際專利申請WO02/069178中完整地描述了這個過程。根據(jù)本發(fā)明,語法分析器D3進而向結(jié)構(gòu)化描述D4的元素添加一個或多個屬性。在本發(fā)明最簡單的實施例中,語法分析器D3添加了一個含有字段語義的屬性,該字段語義包含在前面所述的組成部分“xsddocumentation”中。在下面的說明中,該屬性被命名為“bvfieldSemantics”。在本發(fā)明更加復(fù)雜的實施例中,語法分析器D3添加了一個或多個下列屬性-如果在模式D2中給出了{值;值語義}對的列表,語法分析器D3將直接從比特流D1中恢復(fù)的值與預(yù)定義的值列表進行比較,并且通過名稱為“bvvalueSemantics”的屬性向?qū)嵗靥砑酉鄳?yīng)的值語義;-如果模式D2包括呈示級信息,語法分析器D3將所述的信息拷貝到實例元素;-如上面所解釋的,從比特流D1中直接恢復(fù)的字段值是按照模式D2中給出的數(shù)據(jù)類型定義而格式化的;當字段值既不是十六進制也不是二進制時,語法分析器D3有利地將字段值重新格式化成十六進制或二進制格式,并且利用名稱為“bvvalue”的屬性將重新格式化的值添加到實例元素;-語法分析器D3有利地向?qū)嵗靥砑右粋€名稱為“bvoffset”的屬性來指示字段在比特流D1中的位置。附錄B給出了根據(jù)本發(fā)明從JPEG2000輸入比特流中獲得的一個結(jié)構(gòu)化描述例子的摘錄。在附錄B中,用粗體表示所添加的屬性。根據(jù)本發(fā)明,變換D5被加到由語法分析器D3生成的結(jié)構(gòu)化描述D4。變換D5的目的是產(chǎn)生一個易讀格式的文檔D6(變換D6不會修改包含在結(jié)構(gòu)化描述中的信息)。它僅僅為呈示目的而格式化所述的信息。特別是當結(jié)構(gòu)化描述D4包含呈示級的信息時,變換在生成文檔D6時使用這些信息。有利地,變換D5是以XSLT樣式表定義的。XSLT是XML的一種工具,它允許對要施加到XML文檔的變換進行定義。在XSLT變換中,XSLT處理器通過讀取XML文檔和XSLT樣式表來生成變換后的文檔。在圖1中,XSLT處理器用參考D7來表示,XSLT樣式表用參考D8來表示。有利地,在本發(fā)明中,變換后的文檔是以HTML或XHTML語言書寫的。附錄C給出了一個將被應(yīng)用到附錄B中結(jié)構(gòu)化描述的樣式表的例子。附錄D給出了一個通過將附錄C的樣式表應(yīng)用到附錄B的結(jié)構(gòu)化描述所生成的XHTML文檔的例子。從附錄D可以看出字段“主頭部”(在附錄B的結(jié)構(gòu)化描述中具有呈示級“2”)是以第一種呈示樣式表示的,字段“SOC”和“SIZ”(二者在附錄B中都具有呈示級“1”)是以第二種呈示樣式表示的,并且其它字段(在附錄B中沒有定義呈示級)是以第三種呈示樣式表示的。還可以看出字段“Rsiz”的值語義取代了從比特流中恢復(fù)的值。圖2是供開發(fā)人員操作的工作站W(wǎng)1的框圖,該工作站用于發(fā)布根據(jù)本發(fā)明的方法而生成的文檔。根據(jù)圖2,工作站W(wǎng)1包括由顯示控制器W3控制的顯示器W2和允許開發(fā)人員輸入的人機接口W4。工作站W(wǎng)1還包括處理器P1和至少一個存儲器M1。存儲器M1至少存儲一般地描述比特流格式的模式D2、當被處理器P1執(zhí)行時用于實現(xiàn)語法分析器D3的程序G1、以及當被處理器P1執(zhí)行時用于實現(xiàn)變換D5的程序G2。程序G1的執(zhí)行包括讀取輸入比特流D1和模式D2,并且導(dǎo)致結(jié)構(gòu)化描述D4的生成。結(jié)構(gòu)化描述D4被有利地存儲在存儲器M1中。程序G2的執(zhí)行包括讀取結(jié)構(gòu)化描述D4和樣式表D7。它導(dǎo)致文檔D6的生成。文檔D6被有利地傳遞給顯示控制器W3以用于顯示??梢允褂枚鄠€存儲器來存儲上述數(shù)據(jù)(比特流D1,模式D2)和程序(實現(xiàn)語法分析器D3的程序G1和實現(xiàn)變換D5的程序G2)??梢詫⒁环N或多種模式與程序G1和G2一起存儲到可移動存儲介質(zhì)(例如光盤)上,從而允許本發(fā)明的方法在任何包括讀取這種光盤的讀出機的工作站上實現(xiàn)。對于所描述的方法、模式、程序和存儲介質(zhì),可以在不脫離本發(fā)明的范圍的情況下提出修改或改進。因而本發(fā)明不受所提供例子的限制。特別是,本發(fā)明不受限于在前面說明中所使用的語言(XML,XML模式,HTML,XHTML,XSLT)??梢允褂萌魏握Z言實現(xiàn)本發(fā)明,例如DSD(文檔結(jié)構(gòu)描述,由AT&T和來自丹麥Aarhus大學的BRICS提出,可以從互聯(lián)網(wǎng)中http://www.brics.dk/DSD處獲得)類型的語言。本發(fā)明也不受限于任何特定的比特流格式。它可被應(yīng)用到任何格式,只要該格式能夠以本專利申請中公開類型的模式進行描述。本發(fā)明是參考國際專利申請WO02/069178進行說明的。然而,本發(fā)明不受限于該現(xiàn)有技術(shù)文檔中描述的模式類型。它可應(yīng)用任何一般地描述比特流格式的模式。使用動詞“包括”及其變形不排除存在權(quán)利要求中所陳述的那些元素或步驟之外的元素或步驟。在元素或步驟前使用冠詞“a(一)”或“an(一)”不排除存在多個這種元素或步驟。<tablesid="table16"num="016"><tablewidth="696">附錄D應(yīng)用附錄C的樣式表到附錄B的結(jié)構(gòu)化表示后獲得的文檔的例子</table></tables>主頭部標記FF4F0xFF4F0x00標記標記FF510xFF510x02標記段長度L標記470b1011110x04解碼器能力Rsiz僅在本建議|0b00x06國際標準中指定的能力參考網(wǎng)格的寬度Xsiz6400b10100000000x08參考網(wǎng)格的高度Ysiz4800b1111000000x0c從參考網(wǎng)格的原點到圖像區(qū)左側(cè)的XOsiz00b00x10水平偏移量從參考網(wǎng)格的原點到圖像區(qū)頂側(cè)的垂YOsiz00b00x14直偏移量相對于參考網(wǎng)格的XTsiz6400b10100000000x18參考面的寬度相對于參考網(wǎng)格的YTsiz4800b1111000000x1c參考面的高度從參考網(wǎng)格的原點到第一面的左側(cè)的XTOsiz00b00x20水平偏移量從參考網(wǎng)格的原點到第一面的頂側(cè)的YTOsiz00b00x24垂直偏移量部件數(shù)量Csiz30b110x28權(quán)利要求1.一種發(fā)布根據(jù)一定格式組織成字段的比特流的方法,所述的字段具有值和被稱為字段語義的語義,所述的方法包括步驟A)通過讀取模式來對所述的比特流進行語法分析,以便生成所述模式的實例,該實例是所述比特流的結(jié)構(gòu)化描述并且包括至少部分所述字段的字段語義和值,該模式一般地描述所述的格式并且,對于至少部分所述的字段,包括一個含有所述的字段語義的組成部分,B)向步驟A)中獲得的結(jié)構(gòu)化描述施加變換,從而產(chǎn)生一個至少包括至少部分所述比特流字段的字段語義和該值的指示的文檔。2.如權(quán)利要求1的方法,其中該字段值的指示至少包括下列的其中之一-從比特流中恢復(fù)的值,-通過重新格式化從比特流中恢復(fù)的值而得到的重新格式化后的值。3.如權(quán)利要求1的發(fā)布比特流的方法,該比特流具有至少一個其值具有語義的字段,該語義被稱為值語義,其中-所述的模式進一步包括一個包含有關(guān)于該字段的{值;值語義}對的列表的組成部分;-步驟A)包括將從比特流中恢復(fù)的關(guān)于該字段的值與所述的列表進行比較,從而獲取所述值的值語義,并且將所述的值語義添加到所生成的結(jié)構(gòu)化描述,并且-步驟B)被用來產(chǎn)生包括所述的值語義的文檔。4.如權(quán)利要求3的方法,其中字段值的指示包括至少下列的其中之一-從比特流中恢復(fù)的值;-通過重新格式化從比特流中恢復(fù)的值而得到的重新格式化后的值;-值語義,如果有的話。5.如權(quán)利要求1或3的發(fā)布比特流的方法,其中字段在比特流中具有一個位置,并且步驟B)包括在所述的文檔中添加該字段的位置的指示。6.如權(quán)利要求1的發(fā)布比特流的方法,其中步驟A)進一步包括向至少部分所述字段的結(jié)構(gòu)化描述中添加呈示指示,并且步驟B)進一步包括處理所述的呈示指示,從而根據(jù)所述的呈示指示應(yīng)用特定的表示樣式。7.一種一般地描述比特流格式的模式,根據(jù)該比特流格式,比特流被組織成字段,所述的字段具有值以及被稱為字段語義的語義,對于至少部分所述的字段,所述的模式包括一個包含有所述的字段語義的組成部分。8.如權(quán)利要求7的模式,該模式描述比特流格式根據(jù)該比特流格式,至少一個字段的值具有被稱為值語義的語義,所述的模式進一步包括一個包含用于該字段的{值;值語義}對的列表的組成部分。9.一種計算機程序,該程序包括當所述的程序被處理器執(zhí)行時用于實現(xiàn)權(quán)利要求1或3中要求的發(fā)布比特流的方法的指令。10.包括如權(quán)利要求7的一個或多個模式以及一個或多個程序的軟件,該程序包括當所述的程序被處理器執(zhí)行時用于實現(xiàn)權(quán)利要求1的發(fā)布比特流的方法的指令。11.用于存儲如權(quán)利要求10的軟件的存儲介質(zhì)。全文摘要本發(fā)明提出了一種發(fā)布按照一定的比特流格式組織成字段的比特流的方法。比特流的每個字段具有一個值和語義。根據(jù)本發(fā)明,當比特流被顯示從而提供一種人類可讀的比特流版本時,字段語義與字段值一起發(fā)布。根據(jù)本發(fā)明,提出了一種模式,該模式除了一般地描述比特流格式,還包括含有所述的字段語義的部件。該模式由解析器用于對將被顯示的輸入比特流進行語法分析,從而生成所述比特流的結(jié)構(gòu)化描述。然后將一種變換施加到結(jié)構(gòu)化描述來生成用于顯示的格式化的文檔。文檔編號H04N7/24GK1751308SQ200480004555公開日2006年3月22日申請日期2004年2月3日優(yōu)先權(quán)日2003年2月19日發(fā)明者S·德維萊爾,M·阿米爾-卡普里奧格利奧申請人:皇家飛利浦電子股份有限公司