專利名稱:分配內容形成方法、內容分配方法和裝置、及代碼轉換方法
技術領域:
本發明涉及衛星數字廣播、多媒體內容的通信等中的數字數據分配技術,特別涉及分配由計算機語言的命令構成的數字數據的技術。
更詳細地說,本發明涉及分配使用可任意定義的標簽(tag)地標記語言(例如,XML(eXtensible Markup Language,可擴展標記語言))格式的數字數據的數字數據分配技術,特別涉及提高包括所謂的腳本(script)等文本數據的分配內容的傳輸效率、和接收端的執行效率的數字數據分配。
背景技術:
在廣播技術領域,正在迅速推進數據的數字化。數字信號具有比模擬信號更好的穩定性和更高的數據壓縮率。通過數字信號,不管是電纜、地面波、還是衛星波,都能夠在預定的頻帶中確保比模擬信號更多的信道數。盡管文檔、聲音、和圖像的信息在傳統信息傳輸中差別很大,但是通過對廣播數據進行數字化,它們可以被不分離地傳輸。
例如,在數字數據的情況下,通過將EPG(Electric Program Guide,電子節目指南)等各種系統信息與視頻信息和音頻信息一起發送,能夠改善對用戶(觀眾)的服務(EPG除了廣播節目的廣播時間表、節目名稱等提示信息以外,還包括預約記錄到VTR上等功能)。
數字格式的數據與電視機以外的通用計算機系統等信息設備具有很高的親和性。例如,在通用計算機系統上附加用于衛星廣播的調諧器卡,在計算機中分析接收到的EPG數據,將節目表顯示為計算機顯示器上的窗口,節目切換、記錄預約等能夠通過操作鼠標來實現。當然,廣播數據也可以原封不動地以數字方式被記錄到計算機中內置的硬盤上。
通過充分利用頻帶來發送廣播節目主體以外的圖像、聲音等數據,能夠提高廣播節目的交互性能。例如,在提供單項選擇測驗等的廣播節目的情況下,通過將答案與視頻/音頻數據一起來發送,在無線電視廣播接收機(即觀眾)端,在計算機顯示器上設有答案菜單按鈕,可以根據鼠標等定點設備的答題操作來打分。
如果進一步提高交互性能,則家用電視接收機不僅處理視頻內容,還可望一躍成為信息控制塔。例如,電視接收機可以成為因特網終端或電子商務終端。
在日本,正在主要由ARIB(Association ofRadio Industries and Business,電波產業會)進行數字衛星數據廣播的標準化作業。由此,在數字衛星數據廣播中,除了構成衛星廣播節目主體的音頻/視頻數據(AV數據)以外,還與其并行分配廣播節目附隨的數字傳輸數據。更具體地說,節目按“運輸流(transport stream)”(待后述)的格式以廣播波來傳播,該運輸流是通過復用以MPEG(Motion Picture Experts Group,運動圖像專家組)2等預定壓縮方式壓縮過的AV數據、和數字傳輸數據而構成的。
數字傳輸數據上復用的廣播節目信息的一例是上述EPG(ElectricProgram Guide電子節目指南)。廣播節目信息可以包括廣播節目主體的名稱和日期、節目的演員表等與廣播節目主體有關的固有信息。廣播節目信息中包括的數據的種類及其數據結構按照節目主體提供的服務內容而在一定程度上被系統化。例如,有烹調節目中與菜單和配料有關的信息、選舉最新消息節目中時刻更新的得票狀況、職業棒球轉播中與各選手的打擊、投球有關的個人成績和球隊次序等。
在數字衛星數據廣播接收系統(以下,簡稱為“接收系統”)端,用顯示和輸出廣播節目主體的顯示畫面的部分區域來顯示廣播節目信息。接收系統通常包括用于對廣播波進行接收、選臺、和解碼的接收機(set-top-box:STB,機頂盒)及用于對其進行顯示和輸出的電視機,并安裝在一般家庭中。
參照
圖13來說明作為數字傳輸數據而分配的內容(以下,稱為“分配內容”)的結構。
如圖13所示,分配內容包括文本數據和靜止圖像、運動圖像、聲音等各種單媒體數據;以及顯示/輸出控制程序(以下,也稱為“多媒體編碼應用程序”),總括地處理這些單媒體數據,即,作為多媒體并指定廣播節目信息的狀態。用于每個單媒體數據的參考(鏈路)信息可以被內置在顯示/輸出控制程序中。
在上述ARIB進行的數字衛星數據廣播的標準化作業中,最初討論將MHEG(Multimedia and Hypermedia Expert Group,多媒體和超媒體專家組)用作描述作為分配內容的多媒體編碼應用程序的格式。MHEG是一種定義數據屬性的描述語言,假想用于下述用途在電視上顯示多媒體內容,收視者在視頻點播(video-on-demand(VOD))或數字電視廣播中提取所需的信息。像日本CS數字廣播(SKYPerfecTV)那樣,也有已經使用MHEG-5的情況。
然而,根據MHEG,編碼空間是固定的,它缺乏可擴展性。即,由于它只能僅使用無條件固定的編碼空間來描述,例如,即使一個函數(API(Application Programming Interface,應用編程接口)等)被改變,也需要相當的修改作業。對于MHEG,一般的認知度很低,用MHEG描述的數據內容不常流通,在此意義上與通用計算機的親和性比較低。
因此,在ARIB(上述)中,正在討論基于XML(extended MarkupLanguage擴展標記語言)的數據廣播的標準化作業以取代MHEG。
根據XML,由于標簽是任意定義的,即,不限制描述屬性的方法,所以自由度高、與通用計算機或因特網的親和性高等可以作為比MHEG更優越的方面而被提出。將XML確定為下一代因特網描述語言的作業也正在進行。
在將XML用作數字衛星廣播的標準語言的情況下,可以在計算機、電視、電話等之間交換數字廣播的數據信息。根據XML,由于可以任意定義標簽的屬性,所以與特別用于布局指定的HTML相比,它的數據處理的能力更強。因此,XML向包含電子商務的各個領域中的應用也正在迅速進行。
在XML文檔中任意設置標簽即意味著其目的是將文檔中所寫的字符串看作有意義的數據。即,通過定義標簽,由該標簽分割的每個標簽數據可以被表現為具有不單是顯示目的的意義的數據。再者,通過定義標簽的結構,XML文檔或文檔中的數據可以被結構化來描述。
如上所述,在ARIB中,正在根據XML進行數字衛星數據廣播的標準化。更具體地說,對“基本XML”和作為基本XML的擴展版的“高級XML”分別進行作業。根據基本XML,規定使用標簽來描述將XML實例表現到顯示器上的表達格式。
另一方面,高級XML允許添加XML實例的屬性信息。定義屬性信息的描述方法的規則(即,標簽的語法)是稱為DTD(Document Type Definition,文檔類型信息)的規定。在基本XML中,用標簽定義的屬性信息是固定的,無需DTD。另一方面,在高級XML中,可以任意定義DTD。例如,可以對每個領域無條件地定義DTD。這里使用的標簽的屬性信息包括下述情況下需要的信息電視接收機和計算機等不同類型的裝置相連,每個裝置都相互理解內容的意義并處理內容等。
還有一種情況XML實例本身不包括與表現格式有關的樣式信息。在此情況下,XML實例的表現方法由與DTD不同的文檔文件“樣式表(stylesheet)”來描述。
樣式表是用于例如將XML實例轉換為將其顯示并輸出到顯示器屏幕上的格式(或轉換為打印輸出到打印機上的格式)的文檔文件。XML實例的樣式表可以特別使用“XSL(eXtensible Stylesheet Language,可擴展樣式表語言)”格式、“CSS(Cascade Stylesheet,級聯樣式表)”格式、或其派生標準的“XSLT(XSL Transformation,XSL變形)”格式的語言來描述。根據樣式表的描述,相同的DTD內容可以通過改變字體或其字號和顏色等而用完全不同的另一格式來表現。樣式表作為與DTD不同的文件來發送。
除了樣式表之外,對于包括聲音、靜止圖像、運動圖像等各單媒體的單媒體內容,在XML實例或樣式表中,操作還可以由稱為“腳本”的與“XML”或“XSL”不同的語言來指定。盡管這種腳本由JavaScript、ECMAScript、Jscript等腳本語言來描述,但是根據XML、XSL等標準,基本上規定由ECMAScript(“ECMAScript”是歐洲計算機制造協會(ECMA)標準化的腳本語言)來描述。
除了XML文檔之外,包括XML文檔的分配內容還伴隨有例如DTD文檔和樣式表。然而,還有一種情況DTD文檔沒有被包括在XML文檔中,或者樣式表被以與XML文檔分配的定時不同的定時來發送。分配內容的描述語言不總是被限制為XML,而是還可以使用SGML(Standard GeneralizedMarkup Language,標準一般化標記語言)、HTML等其他標記語言。例如,如果XML文檔被應用于TV廣播,并且與其他實時型數據一起操作并進行顯示,則還有一種情況各種單媒體內容的稱為URI(Uniform ResourceIdentifier,統一資源標識符)的廣播數據模塊中的單媒體位置信息也被內置在XML文檔主體中。
在接收系統端,接收到的XML實例由稱為“XML句法分析器(parser)”的句法分析程序進行句法分析處理。即,XML句法分析器分析DTD文檔和XML實例的結構并輸出文檔對象。文檔對象是結構化的文檔,其樹結構是根據原始XML文檔中的標簽來形成的。根據接收系統的顯示功能,通過解釋文檔的結構,來確定屏幕上的布局等,并且可以將其顯示輸出到顯示器。
在通過廣播、網絡通信等傳輸手段來分配數字數據的情況下,有一種方法根據原始文本格式對XML文檔、腳本等數據內容進行數據壓縮而成為二進制格式的描述并發送。
然而,由于二進制格式的文件結構因計算機系統或軟件而異,所以可能成為在應用程序和終端之間交換內容的障礙。作為數字衛星數據廣播的上行線路,假想采用根據TCP/IP(Transmission Control Protocol/Intemet Protocol,傳輸控制協議/因特網協議)被連接的因特網。根據該因特網,有下述歷史原委使用文本格式的內容分配,建立了不依賴于終端種類和軟件的環境。
因此,在數字衛星數據廣播中,考慮到與因特網的親和性和內容在乎臺之間的兼容性而討論了以文本格式來原樣分配數據內容的方法。
作為分配內容的文本數據的大小在此成為問題。這是因為,與數據大小成比例,傳輸路徑的負荷增加,而傳輸效率降低。
例如,隨著XML文檔的高性能化或高附加值化,指定表現格式和操作的腳本的文檔大小增加。將來,可以假想,腳本的數據大小將大于作為顯示目標本身的XML文檔主體。增加的腳本的分配對有限頻帶的負荷的影響很大。
此外,在用于接收分配內容的接收裝置中,需要準備大容量的緩沖存儲器以便接收大量數據,使得成本增加。由于加載到存儲器所需的時間也變長,所以執行效率惡化。
在將通用計算機系統用作接收系統的情況下,通常,由于作為標準存儲器而安裝了大容量的存儲器,所以對存儲器負荷的問題比較小。另一方面,在機頂盒等專用衛星廣播接收機的情況下,由于標準存儲器的大小通常很小,所以大容量的分配內容是致命性的。
本發明的一個目的是提供一種優良的數據分配技術,能夠改善包括文本數據的內容的分配的傳輸效率。
本發明的另一個目的是提供一種優良的數據分配技術,能夠改善用于接收包括文本數據的分配內容的接收裝置中的執行效率并減少存儲器負荷。發明概述
本發明就是考慮到上述問題而提出的,根據本發明第1方面,提供一種形成分配內容的方法,包括下述步驟
搜索作為構成分配內容的模塊之一的、多個字符或字符串構成的腳本的內部,并且提取具有高冗余度的字符或字符串;以及
用具有低冗余度的字符或字符串來置換在腳本中提取出的高冗余度的字符或字符串。具有高冗余度的字符或字符串相當于例如函數名、變量名等。
本發明第1方面的分配內容形成方法還可以包括下述步驟在分配置換后獲得的所述分配內容之前臨時存儲所述內容。
在用低冗余度的字符或字符串來置換所述高冗余度的字符或字符串的步驟中,也可以排除將系統保留字用作低冗余度的字符串。這是因為,如果連系統保留字都被提取并用其他字符或字符串來置換,就會伴隨有原始腳本固有的意義的改變、即腳本指定的操作內容的改變,而不應允許這種置換。
該分配內容形成方法還包括下述步驟提取與分配內容的接收端執行的處理無關的字符或字符串構成的句子;以及刪除該提取出的句子。這里,與分配內容的接收端執行的處理無關的字符或字符串構成的句子相當于用預定的分隔符分割的注釋句。
該分配內容形成方法還包括下述步驟存儲在提取高冗余度的字符或字符串的步驟中提取出的每個字符或字符串在腳本中的出現頻度,并且
在用低冗余度的字符或字符串來置換所述高冗余度的字符或字符串的步驟中,也可以用字符數少的字符或字符串來置換具有大出現頻度的字符或字符串。由于用字符數少的字符或字符串來表現大出現頻度的字符或字符串,所以提高了數據壓縮效果。
根據本發明的第2方面,提供一種用于分配多個數據模塊構成的分配內容的內容分配方法或裝置,包括
搜索用多個字符或字符串構成的腳本語言格式描述的數據模塊的內部、并且提取具有高冗余度的字符或字符串的步驟或部件;
用具有低冗余度的字符或字符串來置換在腳本中提取出的高冗余度的字符或字符串的步驟或部件;
存儲置換后獲得的數據模塊的步驟或部件;以及
分配存儲的數據模塊的步驟或部件。該高冗余度的字符或字符串相當于例如函數名或變量名。
在用低冗余度的字符或字符串來置換所述高冗余度的字符或字符串的步驟或部件中,排除將系統保留字用作低冗余度的字符串。這是因為,如果連系統保留字都被提取并用其他字符或字符串來置換,就會伴隨有原始腳本固有的意義的改變、即腳本指定的操作內容的改變,而不應允許這種置換。
本發明第2方面的內容分配方法或部件還包括提取與分配內容的接收端執行的處理無關的字符或字符串構成的句子的步驟或部件;以及刪除該提取出的句子的步驟或部件。這里,與該處理無關的字符或字符串構成的句子相當于用預定的分隔符分割的注釋句。
本發明第2方面的內容分配方法或部件還可以包括存儲在提取高冗余度的字符或字符串的步驟中提取出的每個字符或字符串在腳本中的出現頻度的步驟或部件,并且
在用低冗余度的字符或字符串來置換所述高冗余度的字符或字符串的步驟中,用字符數少的字符或字符串來置換具有大出現頻度的字符或字符串。由于用字符數少的字符或字符串來表現大出現頻度的字符或字符串,所以提高了數據壓縮效果。
根據本發明的第3方面,提供一種轉換具有與計算機處理有關的意義的多個字符或字符串構成的源代碼的方法,包括下述步驟
搜索源代碼的內部,并且提取具有高冗余度的字符或字符串;以及
用具有低冗余度的字符或字符串來置換提取出的高冗余度的字符或字符串。這里,具有高冗余度的字符或字符串例如相當于函數名或變量名。
在本發明第3方面的代碼轉換方法中,在用低冗余度的字符或字符串來置換所述高冗余度的字符或字符串的步驟中,排除將系統保留字用作低冗余度的字符串。這是因為,如果連系統保留字都被提取并用其他字符或字符串來置換,就會伴隨有原始腳本固有的意義的改變、即腳本指定的操作內容的改變,而不應允許這種置換。
本發明第3方面的代碼轉換方法還包括下述步驟提取與源代碼中的代碼執行無關的字符或字符串構成的句子;以及刪除該提取出的句子。這里,所述與代碼執行無關的字符或字符串構成的句子相當于用預定的分隔符分割的注釋句。
本發明第3方面的代碼轉換方法還包括下述步驟存儲在提取高冗余度的字符或字符串的步驟中提取出的每個字符或字符串在腳本中的出現頻度,并且
在用低冗余度的字符或字符串來置換所述高冗余度的字符或字符串的步驟和部件中,用字符數少的字符或字符串來置換具有大出現頻度的字符或字符串。由于用字符數少的字符或字符串來表現大出現頻度的字符或字符串,所以提高了數據壓縮效果。
在數字衛星數據廣播中,最好將本發明應用于與廣播節目一起分配的傳輸數據,特別是應用于傳輸數據中以文本格式描述的數據文件。
如已經在“背景技術”欄中描述的那樣,構成數字傳輸數據的模塊包括靜止圖像、運動圖像、聲音等各種單媒體數據;以及顯示/輸出控制程序(以下,也稱為“多媒體編碼應用程序”),總括地處理這些單媒體數據,即,作為多媒體并指定廣播節目信息的狀態。
在模塊內的文件中,文本格式數據構成的一個文件是顯示/輸出控制程序,其內容用標記描述語言(XML、SGML、HTML等)來描述,其中數據屬性用標簽來定義。
模塊中包括的另一個文本格式數據是指定聲音、靜止圖像、運動圖像等的各種媒體數據的操作的腳本。該腳本可以用JavaScript、ECMAScript、JScript等來描述(根據XML、XSL等標準,基本上規定用ECMAScript來描述)。
以XML格式等描述的顯示/輸出控制程序本身是指定屏幕顯示或打印輸出的信息本身的程序,并且由于文本數據的內容的改變伴隨有數據本身的意義(即,程序指定的操作)的改變,所以不應允許這種改變。
另一方面,在腳本的情況下,代碼中包括的函數名或變量名、注釋句等具有冗余度,它對傳輸效率是致命性的。函數名、變量名等本來是編寫腳本的人在編寫或調試操作中為了改善可讀性的方便(或根據個人品味)而命名的,而它們與腳本本身指定的操作功能無關。換言之,這些函數名和變量名可以用其他字符串來替換,同時保持腳本本身的操作功能。注釋句與腳本的執行無關,可以被省略。
通過著眼于以這種文本格式描述的腳本具有的冗余度而提出本發明。簡言之,根據本發明,通過用較短的字符串(例如,一個字母)來置換腳本中存在的、由比較長的字符串構成的函數名或變量名,來縮小腳本的數據大小。通過刪除腳本中的注釋句,來進一步縮小數據大小。
腳本中的函數名或變量名是編寫腳本的人為了保持人眼對每個函數或變量的可讀性的方便而命名的,由具有人能夠理解的意義的比較長的字符串構成。盡管注釋句被嵌入到源代碼中以便記憶腳本中每個部分(例如,例程句)的功能,但是注釋本身無助于腳本的功能的實現。
盡管長字符串構成的函數名或變量名和注釋句在調試之前有意義,但是在調試之后,無需具有人能夠解釋的意義。特別是,在將它們應用于衛星數據廣播等單向內容分配的情況下,無需考慮發送以后的階段的源代碼的重用。換言之,即使用另一個短字符串來置換腳本中的函數名或變量名,或者由于注釋句的刪除而使人難以解釋源代碼的意義和內容,也幾乎沒有負面影響。
通過將本發明應用于數字衛星數據廣播中的數字傳輸數據,能夠縮小傳輸數據的大小,并且在分配時改善傳輸效率。
由于在廣播服務器中接收數據的大小減小,所以只需準備比較小的容量的接收存儲器即可,而這有助于降低成本。由于腳本中的函數名或變量名的字符串的長度被最小化,所以可以縮小執行該腳本的解釋器分配到存儲器中的函數表或變量表的大小。這樣,減小了調用函數或變量時的開銷,從而可以降低接收機的成本。由于執行效率的改善,接收機的用戶(即,收視者)可望得到一種反應速度更高的系統。
通過下面結合本發明的實施例和附圖進行的更詳細的說明,本發明的其他目的、特點和優點將會變得更加清楚。
圖1是本發明實施的衛星數字廣播系統1000的概略結構示意圖。
圖2是廣播服務器1、即發送系統的概略結構示意圖。
圖3是接收機/解碼器10(即,一般家庭)中的接收系統的例子10-A的硬件概略結構示意圖,更具體地說,是以稱為STB(set-top-box,機頂盒)的形式安裝的接收系統10-A的結構示意圖。
圖4是另一例的接收系統10-B的硬件概略結構示意圖,更具體地說,是以衛星數字廣播的調諧器卡被安裝在通用計算機系統中的形式安裝的接收系統10-B的硬件結構示意圖。
圖5概略示出數字廣播數據接收系統10執行的各種軟件程序的層結構。
圖6是廣播內容通過廣播衛星5從廣播服務器1被傳送到接收機/解碼器10的狀態的示意圖。
圖7是以廣播波傳播的廣播內容的概略結構示意圖。
圖8是構成數字傳輸數據的模塊的數據結構示意圖。
圖9是用于轉換腳本的處理例程的流程圖。
圖10是執行圖9所示的轉換處理之前和之后腳本的源代碼之間的比較圖。
圖11是另外定義的腳本替換處理例程(步驟S30)的流程圖。
圖12是用于轉換腳本的處理例程的另一例的流程圖。
圖13是作為數字傳輸數據的分配內容的數據結構示意圖。實施發明的最好形式
以下,參照附圖來詳細說明本發明的實施例。
(實施例1)
圖1示出本發明實施的衛星數字廣播系統1000的概略結構示意圖。如該圖所示,衛星數字廣播系統1000包括廣播臺(廣播服務器)1,用于提供廣播服務;廣播衛星(衛星)5,用于轉播廣播數據;以及接收臺(接收機/解碼器)10,用于從衛星5接收廣播數據。
一個或多個廣播服務器1存在于地面。衛星5存在于地球的高空。接收機/解碼器10相當于一般家庭等。實際上,大量接收機/解碼器存在于地面。經廣播服務器1和衛星5進行的數據分配、即廣播是單向通信。
在數字數據分配中,數據以10至50Mbps的傳送速率來傳輸。廣播服務器1復用并分配構成廣播節目主體的AV數據、和包括伴隨廣播節目的節目信息的數字傳輸數據。AV數據通常以MPEG(運動圖像專家組)2格式被壓縮并發送。
對包括文本、靜止圖像、運動圖像、聲音等各種單媒體數據和用于控制這些單媒體數據的顯示和輸出的程序“多媒體編碼應用程序”的模塊進行數據旋轉化,并存儲到數字傳輸數據中。多媒體編碼應用程序包括DTD文檔,以XML(可擴展標記語言)語言格式來描述,定義文檔的類型;以及樣式表(style sheet),以XSL等語言格式來描述(然而,有時DTD文檔和/或樣式表未被包括在分配內容中)。規定聲音、靜止圖像、運動圖像等的操作的腳本被包括在每個模塊中。
每個接收機/解碼器10和廣播服務器1也可以由因特網等廣域網7、專用線路等來雙向連接。在此情況下,因特網7可以被用作從接收機/解碼器到廣播服務器1的上行線路。例如,也可以提供使用因特網的部分點播(partially-on-demand)廣播服務。然而,在此情況下,最好它們由56kbps以上的高速模擬電話線路、10至64kps的高速無線通信、128kbps的ISDN(Integrated Services Digital Network,綜合業務數字網)、或5至30Mbps量級的電纜來連接。
圖2概略示出廣播服務器1、即發送系統的結構。發送系統1包括制作單元100、發送單元200、以及傳輸單元300。每個單元待后述。
制作單元100相當于制作廣播節目內容的現場。制作單元100制作描述數據廣播內容的XML文檔、規定XML文檔的操作的腳本、以及作為廣播節目主體的AV數據等信息,并且將它們分別存儲到本地的大容量存儲裝置102和103中。
XML文檔和腳本相當于構成數字傳輸數據的每個模塊的源(待后述;參照圖7和8)。在編輯系統101上對數字傳輸數據進行編碼/調試等編輯處理。編輯系統101的本質可以是稱為工作站或個人計算機的通用計算機系統。
XML文檔是使用可以任意定義的標簽(tag)的標記語言(前述),也可以附加定義文檔類型的DTD文檔。此情況下的XML文檔是接收機/解碼器10中用于輸出的數據主體。腳本是規定XML文檔的操作的腳本,是用JavaScript、ECMAScript、JScript等腳本語言描述的文本格式的文件(根據XML、XSL等標準,基本上規定用ECMAScript來描述腳本)。數字傳輸數據除了包括XML文檔和腳本之外,還可以包括音頻數據、靜止圖像數據等多媒體內容。
制作并被存儲到制作單元100中的這些分配內容經例如廣播服務器1中鋪設的LAN(局域網)被傳送到發送單元200。
在發送單元200中,發送數據由內容發送系統201、基帶控制系統102和AV編碼器203中的每個進行分組(packetize),并且被傳送到傳輸單元300。AV編碼器203用MPEG2等壓縮方式對作為廣播節目主體的AV數據進行編碼壓縮。
在傳輸單元300中,在多媒體編碼單元301中對內容系統的數據進行編碼,并且傳送到內容傳輸系統302。合成單元304緩沖每個內容傳輸系統302和AV數據傳輸系統303的輸出數據。在調制單元305中,對合成信號進行RF調制,并且通過RF傳輸路徑發送到接收機/解碼器10。
在RF傳輸路徑上,RF信號首先被從廣播服務器1中安裝的發送天線發送到衛星5,然后由接收機/解碼器10經衛星5來接收。
圖3概略地示出接收機/解碼器10中安裝的數字衛星數據廣播接收系統的例子10-A的硬件結構。接收系統10-A以稱為例如STB(機頂盒)的形式被普及到一般家庭。在接收系統10-A中,作為主控制器的CPU11通過總線50與各硬件部件互連,并且執行對各部件的總括控制。下面說明各單元。
天線(未圖示)接收到的廣播波被提供給調諧器51。廣播波符合指定的格式,包括例如節目指南信息(EPG:Electric Program Guide,電子節目指南)等。作為廣播波,除了使用上述廣播波之外,還可以使用有線廣播波或地波,對它沒有特別的限制。
調諧器51執行預定信道的廣播波的調諧、即選臺,并且根據來自CPU11的指令將接收數據輸出到后續的解調器52。解調器52對數字調制過的接收數據進行解調。調諧器11的結構可以根據發送的廣播波是模擬波還是數字波而被適當改變或擴展。
解調過的數字數據是通過復用MPEG2壓縮過的AV數據和數字傳輸數據而構成的“運輸流”。前者、即AV數據是構成廣播節目主體的視頻和音頻信息。后者、即數字傳輸數據是伴隨廣播節目主體的數據,包括例如EPG(電子節目指南)。數字傳輸數據將在后面詳細說明。運輸流被分類為OSI(OpenSystems Interconnection,開放系統互連)參考模型中的所謂的“運輸層”。
TS解碼器53解釋運輸流,將其分離為MPEG2壓縮過的AV數據和數字傳輸數據,將前者發送到AV解碼器54,而將后者經總線50發送到CPU11。在TS解碼器53中,也可以在自己的局部配有用于存儲操作數據的存儲器53A。
在從TS解碼器53接收到以MPEG2方式壓縮過的實時AV數據時,AV解碼器54將其分離為壓縮視頻數據和壓縮音頻數據。視頻數據經過MPEG2解壓處理,從而再現原始視頻信號。對音頻數據進行PCM(Pulse CodeModulation,脈碼調制)解碼,然后與附加聲音進行合成,從而形成再現音頻信號。在AV解碼器54中,也可以在自己的局部配有用于存儲操作數據的存儲器54A。再現視頻信號經復用器55B被顯示輸出到顯示器61。再現音頻信號經復用器55A被輸出到揚聲器,產生聲音。
用戶接口控制單元56是用于處理來自用戶的輸入操作的模塊,具有例如允許用戶直接手動操作操作按鈕/開關(未圖示),具有用于通過紅外線(IR)等從遙控器66接收遙控操作的功能。控制單元56還可以包括用于顯示當前設置內容的顯示屏或LED顯示器(未圖示)。
用戶接口控制單元56具有的一個操作按鈕或遙控器66具有的一個操作按鈕被分配給用于使來自OSC顯示控制器57的顯示輸出(即,基于數字傳輸數據的節目信息等的顯示輸出)有效或無效的按鈕。
CPU(Central Processing Unit,中央處理單元)11是用于總括地控制接收系統10-A的整體操作的主控制器。CPU11能夠執行經總線50傳送的數字傳輸數據的處理。數字傳輸數據以XML(可擴展標記語言)語言格式來描述(待后述)。CPU11能夠在操作系統(OS)提供的平臺上執行對XML文檔進行的XML句法分析瀏覽(顯示輸出或打印輸出)等的處理軟件(待后述)。
RAM(Random Access Memory,隨機訪問存儲器)12是可寫易失性存儲器,用于加載CPU11的執行程序代碼或寫入執行程序的操作數據。ROM(Read Only Memory,只讀存儲器)13是用于永久存儲在接通接收系統10-A的電源時執行的自我診斷和初始化程序、并且存儲硬件操作的微代碼的只讀存儲器。
串行輸入/輸出(SIO)控制器14是用于與接收系統10-A之外的設備執行串行數據交換的外圍控制器。用于對模擬電話線路上的傳輸數據進行調制和解調的高速調制解調器63(例如,傳送速率等于56 kbps)被從外部連接到SIO控制器14準備的串行端口上。通過用高速調制解調器PPP(Point-to-PointProtocol,點對點協議)連接到預定的接入點(未圖示),接收系統10-A被連接到因特網7上作為廣域網。
IEEE1394接口15是能夠以大約幾十MBps的傳送速率來發送和接收數據的串行高速接口。支持IEEE1394的外部設備能夠以菊花鏈或樹的方式被連接到IEEE1394端口上。例如,攝像機64、掃描儀(未圖示)等可以被列舉為支持IEEE1394的設備。
硬盤驅動器(HDD)17是用于以預定格式的文件格式來存儲程序、數據等的外部存儲設備,通常具有大約幾GB的比較大的容量。HDD17經硬盤接口18被連接到總線50上。
卡接口18是用于在插入卡插槽19的卡型設備65和總線50之間實現總線協議的設備。作為卡型設備65的一例,有信用卡大小的盒式結構的PC卡。PC卡符合PCMCIA(Personal Computer Memory Card IntemationalAssociation,個人計算機存儲卡國際協會)和JEIDA(Japan Electronic IndustryDevelopment Association,日本電子工業振興協會)共同指定的“PC卡標準”規格。
作為PC卡的一例,有EEPROM(Electrically Erasable and ProgrammableROM,電可擦除可編程ROM)等非易失性、可擦除和可重寫的存儲器芯片構成的存儲卡。如果以比較小的大小來廉價地構成接收系統10-A,則有下述情況在設計時難以安裝大容量和大容積的HDD17。在這種情況下,假定最好將可拆卸的便攜存儲卡應用于系統10-A。然而,可拆卸存儲器65不限于PC卡的形狀因數,也可以是稱為“存儲棒(memory stick)”(商標)的存儲器。
顯示控制器57是用于控制基于數字傳輸數據的廣播節目信息等的顯示輸出的專用控制器。
在數字衛星數據接收系統10-A中,CPU11根據用戶經用戶接口控制單元56輸入的命令來控制調諧器51的選臺操作,并且執行節目信息的顯示控制等。即,CPU11處理從TS解碼器53傳送的數字廣播數據,轉換為顯示數據,并且將其提供給顯示控制器57。顯示控制器57根據顯示數據來產生節目信息的圖像信號,并且提供給復用器55B。CPU11還處理數字廣播數據中包括的音頻數據,并且經總線50將其提供給復用器55A。復用器55A和55B復用從CPU11提供的顯示數據和音頻數據與從AV解碼器54輸出的作為廣播節目主體的視頻數據和音頻數據,并且向外部分別輸出到顯示器61和揚聲器62。數字廣播數據的處理將在后面詳細說明。
圖4概略地示出另一例的數字廣播數據接收系統10-B的硬件結構。例如,該例的接收系統10-B以衛星數字廣播的數字調諧器卡40被插入到通用計算機系統30中的形式來安裝。
數字調諧器卡40包括調諧器51、解調器52、TS解碼器53、AV解碼器54、RAM53A和54A、以及復用器55A和55B。該系統的結構和功能與圖3所示的具有相同標號的硬件模塊幾乎相同。數字衛星廣播調諧器卡40經總線接口(PCI接口)58(圖示)被連接到計算機系統30中的系統總線(PCI總線)31上。
天線(未圖示)接收到的廣播波由調諧器51進行選臺,并且由解調器52進行解調。TS解碼器53解釋運輸流,并且將其分離為MPEG2壓縮過的AV數據和數字傳輸數據。AV數據被提供給AV解碼器54,以與上述類似的方式被處理,并且向外部輸出到顯示器61、揚聲器62等。數字傳輸數據經PCI接口58被傳送到計算機系統30端,由系統中的CPU11來處理(待后述)。
另一方面,通用計算機系統30包括印刷電路板(未圖示),在其上安裝有主要電路元件及CPU11(待后述)。該板被稱為“主板”。上述調諧器卡40以例如“適配卡(adapter card)”的形式來提供,并且被插入到主板上的總線插槽(未圖示)中。
調諧器卡40不限于適配卡的形式,而是以符合PCMCIA(個人計算機存儲卡國際協會)/JEIDA(日本電子工業振興協會)設定的規格的PC卡的形式來提供的,并且被插入到PC卡插槽19(待后述)中,還被組裝到計算機系統30的系統結構中。
CPU11是用于總括地控制計算機系統30的主體操作的主控制器。本例的CPU11能夠在操作系統(OS)提供的平臺上執行XML句法分析、XSL處理、瀏覽等XML內容處理的各種處理軟件(待后述)。
直接連接到CPU11的外部管腳上的處理器總線經總線橋20被互連到系統總線31上。
本實施例中的總線橋20除了包括在處理器總線和系統總線31之間吸收速度差的數據緩沖器之外,還包括用于控制對RAM12的存儲器訪問的存儲器控制器。
RAM(隨機存取存儲器)12是用于加載CPU11的執行程序代碼和寫入執行程序的操作數據的可寫易失性存儲器。通常,它由多個DRAM(dynamicRAM,動態RAM)芯片構成。
系統總線31是包括地址總線、數據總線、控制總線等的公用信號傳輸路徑。例如,PCI(Peripheral Component Interconnect,外圍部件互連)總線就相當于它。符合PCI接口規格的各種外圍設備被互連到系統總線31上。作為外圍設備的一例,有上述數字衛星廣播調諧器卡40。唯一I/O地址(或存儲器地址)被分配給總線31上的每個外圍設備。CPU11(更嚴格地說,CPU11執行的程序)能夠通過指定I/O地址(或存儲器地址)來實現數據和命令向所需外圍設備的傳送。
ROM(只讀存儲器)13是用于永久存儲在接通計算機系統30的電源時執行的自我診斷程序(POST)和用于硬件操作的基本輸入/輸出系統(BIOS)的只讀存儲器。ROM13可以由例如能夠執行電擦除和重寫操作的EEPROM(電可擦除可編程ROM)構成。
串行輸入/輸出(SIO)控制器14是與計算機系統30的外部設備串行地交換數據的外圍控制器。用于對模擬電話線路上的傳輸數據進行調制和解調的高速調制解調器63(例如,傳送速率等于56kbps)被外部連接到SIO控制器14準備的串行端口上。計算機系統30(即,接收系統10-B)通過PPP(點對點協議)由高速調制解調器63連接到預定的接入點(未圖示)而被連接到因特網。
IEEE1394接口15是能夠以大約幾十MBps來發送和接收數據的串行高速接口。支持IEEE1394的外部設備能夠以菊花鏈或樹的方式被連接到IEEE1394端口上。例如,攝像機64、掃描儀(未圖示)等可以被列舉為支持IEEE1394的設備。
硬盤驅動器(HDD)17是用于以預定格式的文件格式來存儲程序、數據等的外部存儲設備,通常具有大約幾GB的比較大的容量。HDD17經硬盤接口16被連接到系統總線33上。作為用于將硬盤驅動器連接到計算機系統30上的接口標準,例如有IDE(Integrated Drive Electronics,集成驅動器設備)、SCSI(Small Computer SystemInterface,小型計算機系統接口)等。
鍵盤/鼠標控制器(KMC)21是用于處理來自鍵盤22、鼠標23等的用戶輸入的專用控制器。KMC21在從鍵盤22輸入掃描碼或檢測出從鼠標23輸入的坐標指示時,向CPU11發出中斷請求。在本實施例中,除了輸入到計算機系統30中的普通命令之外,也可以通過鍵盤22或鼠標23來執行頻道選擇等對接收系統10-B的輸入操作。
鍵盤22具有的功能鍵之一或顯示器61上設有的菜單按鈕之一被分配給用于使來自視頻控制器24的顯示輸出(即,基于數字傳輸數據的節目信息等的顯示輸出)有效或無效的按鈕。
卡接口18是用于在總線50和插入卡插槽19的卡型設備65之間實現總線協議的設備。作為卡型設備65的一例,有信用卡大小的盒式結構的PC卡。PC卡符合PCMCIA(個人計算機存儲卡國際協會)和JEIDA(日本電子工業振興協會)共同指定的“PC卡標準”規格。
作為PC卡的一例,有EEPROM(Electrically Erasable and ProgrammableROM)等非易失性、可擦除和可重寫的存儲器芯片構成的存儲卡。如果以比較小的大小來廉價地構成數字衛星廣播接收系統10-B,則有下述情況在設計時難以安裝大容量和大容積的HDD17。在這種情況下,假定最好將可拆卸的便攜存儲卡應用于系統10-B。然而,可拆卸存儲器65不限于PC卡的形狀因數,也可以是稱為“存儲棒(memory stick)”(商標)的存儲器。
視頻控制器24是用于根據來自CPU11的描繪(draw)命令來控制屏幕顯示的專用控制器,具有用于臨時存儲描繪信息的幀存儲器(VRAM)25。為了更好地實施本發明,最好視頻控制器24具有VGA(Video Graphics Array,視頻圖形陣列)以上的描繪能力(例如,SVGA(Super Video Graphics Array,超視頻圖形陣列)或XGA(eXtended Graphics Array,擴展圖形陣列)。
在數字衛星廣播接收系統10-B中,CPU11根據用戶經鍵盤22或鼠標23輸入的命令來控制調諧器11的選臺操作,并且執行節目信息的顯示控制等。即,CPU11處理從TS解碼器53提供的數字廣播數據,將其轉換為顯示數據,并且提供給視頻控制器24。視頻控制器24根據顯示數據來形成節目信息的圖像信號,并且將其提供給復用器55B。CPU11還處理數字廣播數據中包括的音頻數據,并且經總線50將其提供給復用器55A。復用器55A和55B復用從CPU11提供的顯示數據和音頻數據與從AV解碼器54輸出的作為廣播節目主體的視頻數據和音頻數據,并且向外部分別輸出到顯示器61和揚聲器62。數字廣播數據的處理將在后面詳細說明。
為了構造衛星數字數據接收系統10,除了圖3和4中所示的部件,還需要許多電子電路等。然而,由于它們都是本領域的技術人員所熟知的,并且不構成本發明的本質,所以它們在說明書中被省略了。應該指出,為了避免圖中的復雜連接,只示出圖中硬件模塊之間的部分連接。
例如,盡管在圖3和4中未示出,接收系統10還可以具有FDD(FloppyDisc Drive,軟盤驅動器)、CD-ROM驅動器、MO(Magneto-Optical disc,磁光盤)驅動器等外部存儲設備,其中插入FD(Floppy Disc,軟盤商標)、CD-ROM、MO(Magneto-Optical disc磁光盤)等便攜記錄媒體,可以執行數據訪問。
圖5概略示出數字廣播數據接收系統10執行的各種軟件程序的層結構。下面說明每個層的軟件的功能。
作為底層的硬件控制層的目的是吸收操作系統(OS)等上層軟件的硬件差異,并且執行對每個硬件的直接輸入/輸出操作和與硬件中斷對應的處理。
硬件控制層例如以ROM13中永久存儲的BIOS(Basic Input/OutputSystem基本輸入/輸出系統)或HDD17中安裝的“設備驅動程序”的形式被設在數字衛星廣播接收系統10中。
操作系統(OS)是用于總括地管理衛星廣播接收系統10中的硬件和軟件的基本軟件。OS包括下述子系統,例如“文件管理器”,用于管理文件在HDD17上的記錄;“存儲器管理器”,用于管理存儲器空間;“資源管理器”,用于管理系統資源的分配;“調度器”,用于管理任務執行;“窗口系統”,用于控制顯示器上的窗口顯示;等等。
系統服務是一組函數,允許應用程序等上層程序從OS中調用每個函數。API(應用編程接口)或運行時間庫(或動態鏈接庫)就相當于它。由于系統服務的存在,應用程序不必直接操作每個硬件,確保了硬件操作的統一性。
XML應用程序是用于控制數據廣播的顯示/輸出狀態等的程序,是用XML等具有可任意定義的標簽的語言來描述的XML文檔。每個XML文檔還可以伴隨有DTD文檔等用于定義文檔樣式的樣式表、指定顯示格式的XSL文檔(或者CSS或XSL的派生標準XSLT)等。
XML句法分析器是用于使用DTD文檔來分析XML文檔的程序,將文檔對象作為分析結果傳送到XSL處理器。文檔對象是結構化文檔,其中根據原始XML文檔中的標簽來形成樹結構。
接著,參照圖6至8來說明在衛星數據接收系統10中用于接收廣播數據的處理過程。
在數字衛星廣播系統中,如圖6所示,廣播波首先被從廣播服務器1發送到衛星5,然后從衛星5傳送到接收機/解碼器10。發送廣播波的內容包括構成衛星廣播節目主體的視頻和音頻數據(AV數據);和伴隨衛星廣播節目主體的數字傳輸數據。
圖7概略示出以廣播波傳播的廣播內容的結構。如圖所示,廣播內容被構造為通過復用用MPEG(Motion Picture Experts Group)2等預定壓縮方式壓縮過的AV數據和數字傳輸數據而獲得的“運輸流”(運輸流被分類為OSI(開放系統互連)參考模型的運輸層)。
如上所述,TS解碼器53解釋運輸流,將其分離為AV數據部分和數字傳輸數據部分。AV數據部分由AV解碼器54處理。數字傳輸數據部分由CPU11處理。
數字傳輸數據部分包括多個模塊。每個模塊包括EPG、廣告信息、以及與廣播節目主體有關的各種其他信息。數字傳輸數據部分被形成為旋轉式數據(旋轉木馬式數據)。每個模塊在節目主體的廣播過程中重復出現(這樣,作為收視者的接收系統10可以在節目廣播時段的任意定時獲得該模塊,并且可以省略高速緩沖存儲器)。用于與模塊的顯示輸出定時同步的自動開始標志可以被嵌入到MPEG2壓縮過的AV數據中。
圖8概略示出模塊的數據結構。如圖所示,一個模塊包括多個資源要素,例如指定數據廣播的顯示或輸出狀態的控制程序(多媒體編碼應用程序);指定操作的腳本、聲音、文本數據、靜止圖像、運動圖像等單媒體數據。每個單媒體數據是構成數據廣播的一部分的對象,由單媒體編碼應用程序來總括處理。
構成模塊的每個資源要素是具有預定格式的獨立文件。音頻數據由例如AIFF、WAV、AAC等音頻專用文件格式來描述。靜止圖像由JPEG、PNG、GIF等圖像專用文件格式來描述。先頭資源位置信息描述模塊中每個資源要素的位置信息。
“多媒體編碼應用程序”是用于控制EPG、廣告信息、以及伴隨廣播節目主體的其他各種數據廣播的顯示輸出狀態的程序,是用XML(可擴展標記語言)格式描述的XML應用程序。然而,它不限于XML語言,也可以用SGML、HTML等其他標記語言格式來描述。XML文檔可以包括用于定義文檔類型的DTD文檔。由于指定實際表現格式的樣式信息不被包含在XML文檔中,所以也可以附加樣式表。
樣式表是數據文件,其中指定作為輸出內容的XML文檔(此外,它還可以包括其他聲音、靜止圖像等多媒體內容)的實際表現格式。樣式表是用XSL(可擴展樣式表語言)格式描述的文檔文件,用于將XML文檔轉換為顯示輸出到顯示器61上的格式(或轉換為打印輸出到打印機上的格式(未圖示))。
也可以與樣式表分別地分配腳本,其中指定包括聲音、文本、靜止圖像、運動圖像等各種單媒體數據的多媒體內容的操作(例如,腳本用JavaScript、ECMAScript、Jscript等腳本語言來描述。然而,根據XML、XSL等標準,基本上規定用ECMAScript來描述)。
在接收系統10端,接收到的分配內容中的必要的內容被臨時存儲到系統10的HDD17(或存儲卡65)等局部存儲設備中。
在衛星廣播等單向傳輸環境中,只要不限定使用的樣式表,則用標準XML語言描述的內容以同時包含XML文檔和樣式表的形式來發送。
在本實施例中,對于廣播內容中的數字傳輸數據部分,除了同時包含輸出內容(XML文檔)和樣式表(XSL文檔、CSS文檔等)的情況之外,還假定只傳輸XML文檔主體或只傳輸XSL文檔的情況。XSL文檔可以以廣播之外的傳輸或分配形式來提供,例如,它可以經因特網等網絡通過文件下載來提供,或者由FD、CD-ROM、MO、存儲棒(商標)等保存XSL文檔的便攜存儲媒體來提供。
在本實施例的接收系統10中,提供的XML文檔和XSL文檔(或CSS文檔等)被分離并存儲。即,存儲提供的文檔文件的HDD17(或存儲卡65)設有文檔主體保存單元80,用于只保持和管理XML文檔(然而,也可以包含DTD文檔);以及樣式表保存單元90,用于只保存和管理作為樣式表的XSL文檔。
接著,說明數字衛星廣播接收系統10中使廣播服務器1發送數字傳輸數據部分的處理過程。
如上所述,廣播服務器1分配的內容除了包括作為廣播節目主體的MPEG2壓縮過的AV數據之外,還包括數字傳輸數據。如參照圖7和8所說明的那樣,構成數字傳輸數據的每個模塊包括文本格式數據構成的兩個文件。一個是輸出數據文件,其內容用通過標簽來定義數據屬性的標記描述語言(XML、HTML等)來描述。
模塊中包括的另一個文本格式數據是指定聲音、靜止圖像、運動圖像等各種媒體數據的操作的腳本。例如,該腳本用JavaScnpt、ECMAScript、JScript等來描述(根據XML、XSL等標準,基本上規定用ECMAScript來描述)。該腳本是下述腳本,其中用于使軟件執行的處理過程以文本格式來描述,通常被用于使在應用程序或OS上組合了終端用戶能夠控制的操作過程的一系列處理自動化。
在以XML格式等描述的輸出數據本身中,指定屏幕顯示或打印輸出的信息本身,不應允許改變其文本數據的內容。
另一方面,腳本的源代碼中包括的函數名、變量名、注釋句等具有冗余度,對傳輸效率是致命性的。函數名、變量名等本來是編寫腳本的人為了改善人眼的可讀性的方便(或根據個人品味)而命名的,而與腳本本身指定的操作功能無關。換言之,這些函數名和變量名可以與其他字符串互換,同時保持腳本本身的操作功能。注釋句與腳本的執行無關,可以被省略。
通過著眼于以這種文本格式描述的腳本具有的冗余度而提出本發明。簡言之,根據本發明,通過用較短的字符串(例如,一個字母)來置換腳本中存在的、由比較長的字符串構成的函數名或變量名,來縮小腳本的數據大小。此外,通過刪除腳本中的注釋句,來縮小數據大小。
在圖9中,以流程圖的形式示出了轉換文本格式的腳本文件的處理例程。例如,腳本文件轉換例程由廣播服務器1中的節目制作者(更具體地說,是制作單元100的編輯系統101(參照圖2))在完成數字傳輸數據的制作后執行。下面說明流程圖的每個步驟。
首先,在步驟S10中,將用于替換高冗余度字符串的低冗余度字符串(以下,稱為“應用字符”)和變量i設定為初始值。在本實施例中,以升序將一個字母用作應用字符。假設應用字符從A到Z,字符數以升序逐個增加,如AA、AB、AC、…、ZZ、AAA、…。
ECMAScript具有一個規則保留字從小寫字母開始。因此,如果作為處理目標的腳本用ECMAScript格式來描述,則通過使應用字符從大寫字母開始來進行指定,能夠容易地消除與ECMAScript的保留字的偶合。因此,在本例中,無需判斷應用字符是否與腳本的保留字偶合(圖12中的步驟S23,待后述)。
接著,在步驟S12中,通過掃描作為處理目標的腳本,來提取高冗余度的字符串并列表。
這里,高冗余度的字符串是例如函數名和變量名。它們因為使用有意義的詞以便提高編程或調試操作中人眼的可讀性,所以具有高冗余度。例如,可以根據下述規則從腳本中提取函數名和變量名。即,
(1)緊接著保留字“function”的詞是函數名。
(2)緊接著該函數名的括號中的內容是函數名和逗號的序列。
(3)保留字“var”的下一個詞是變量名。
(4)代入的左側是變量名。
接著,提取表中第一個元素(即,原始函數名和變量名)(步驟S14)。通過將應用字符應用于該元素,來設定新函數名或變量名,并且將該元素和該應用字符之間的對應關系存儲到對應表中(步驟S16)。形成的對應表示于[表1],待后述。
在步驟S18中,判斷應用字符是否到達Zn、即只由Z構成的字符串(其中,字符串的個數n用n的冪來表示)。
如果判斷塊的結果是“否”,則進至步驟S20,以字符的升序將應用字符更新為下一個字符串。如果判斷結果是“是”,則進至步驟S22,以字母的升序將應用字符增加一個字符(例如,如果應用字符等于Z,則它們被更新為AA,而如果應用字符等于ZZ,則它們被更新為AAA)。
接著,在步驟S24中,將i增加“1”,處理例程進至表中的下一個元素。在步驟S26中,判斷表中是否還有未處理的元素。如果還有未處理的項,則處理例程返回到步驟S14,重復對下一個元素執行與上述類似的處理。如果表中的所有元素都被登錄到對應表中,則處理例程進至后續的腳本替換處理例程(S30)。在該例程中,用低冗余度的應用字符來替換原始腳本中的函數名、變量名等冗余字符串,從而壓縮腳本的大小。整個處理例程被完成。
步驟S30中的腳本替換處理是分別定義的處理例程,其處理過程以流程圖的形式被示于圖11。下面說明流程圖中的每個步驟。
首先,在步驟S31中,從對應表中提取一項(參照[表1])。接著,在步驟S32中,從原始腳本中提取一個句子。這里假定句子表示一個空白到下一個空白或下一個新段落位置之間的字符,不包括空白。
在步驟S33中,判斷句子中是否存在該項指定的變量名或函數名。如果判斷結果是“否”,則跳過下一個步驟S34。相反,如果是“是”,則在步驟S34中用對應的應用字符來替換變量名或函數名。
接著,在步驟S35中,判斷句子是否是注釋句。如果是ECMAScript格式的腳本,則注釋句是“∥”之后到下一個新段落位置的字符串。如果判斷結果是“是”,則進至步驟S36,從腳本中刪除該注釋句。
接著,在步驟S37中,嘗試得到下一個句子。在步驟S38中,判斷它是否是最后一個句子。如果還有另一個句子,則處理例程返回到步驟S32,對下一個句子重復執行與上述類似的處理。
如果該句子是最后一個句子,則判斷該項是否是對應表中的最后一項(步驟S39)。如果還有另一個項,則處理例程返回到步驟S31,對下一項指定的對應關系重復執行與上述類似的處理。如果對所有對應關系的處理已完成,則整個處理例程被完成。
最好在制作單元100中形成腳本時執行該腳本轉換處理,轉換處理之后獲得的腳本被作為資源而存儲到大容量的存儲設備102中。盡管也考慮了在發送之前轉換腳本而不是在形成腳本之后立即進行轉換,但是在此情況下,由于資源的模塊大小被改變,所以可能需要重構該模塊。因此,最好在形成腳本時執行該轉換處理。(例如,在由于模塊長度的限制而在轉換處理之前將一個模塊分為兩個或多個模塊來存儲的情況下,還有下述情況通過轉換處理將其放入單個模塊。)
圖10示出執行圖9所示的轉換處理之前和之后腳本的源代碼之間的比較。然而,該腳本是用ECMAScript(ECMAScript是歐洲計算機制造協會標準化的腳本語言)描述的文本數據。還應該指出,它不是完整的程序,而只是摘出的一部分。
在原始源代碼中,緊接著保留字“function”的字符串(例如,“buildArray”等)是函數名,成為用較短字符串來置換的目標。
左側的被代入的字符串(例如“temporary_argument”等)相當于變量名,成為類似地用短字符串來置換的目標。盡管描述了腳本中定義的變量,但是本發明的本質不限于它們。例如,替換為短字符串的處理也可以被類似地應用于作為操作XML、HTML等文檔中的顯示編碼數據的屬性的操作符的變量。
從分割符“∥”起到行尾的字符串是注釋句。在本實施例的替換處理中,在源代碼中搜索從“∥”起的一個句子,并且忽略、即刪除到行尾的所有字符。
下面[表1]所示的對應表是作為對圖10所示的原始源代碼執行圖9所示的轉換處理獲得的結果而形成的。提取出的變量名、函數名等高冗余度的字符串被轉換為低冗余度的應用字符。
參照圖10可知,原始源代碼中的變量名或函數名被一個字符置換,注釋句被刪除。從圖中可以看出,代碼量大大減少,傳輸效率顯著改善。
在轉換處理之后,腳本指定的處理本身與轉換前相同。因此,在接收轉換過的腳本的衛星廣播接收系統10中,不管是否執行了大小縮小處理,腳本的執行系統都可以類似地處理它。
從接收系統10的執行效率來看,最好進行腳本中的函數名或變量名的字符串長度的最小化。這是因為可以縮小解釋器為了執行該腳本而分配到存儲器中的函數表或變量表的大小,從而調用函數或變量時的開銷減小。
根據圖9所示的腳本轉換處理例程,通過將具有可讀性因而冗余的函數名或變量名轉換為除去冗余度的短字符串、即應用字符,可以將腳本的大小壓縮到更好的大小。
如果作為替換目標的函數名和變量名的個數等于或小于26,即,如果它等于或小于字母總數,則不管以任何順序執行替換為應用字符的處理,轉換后的大小都相同。
另一方面,如果替換目標的個數超過26,則除了一個字符的應用字符之外,還使用兩個或多個字符的應用字符(參照圖9中的步驟S22)。通過用短字符串來替換較長的字符串,可獲得更高的數據壓縮效果。
在圖12中,以流程圖的形式示出了另一個與圖9不同的腳本轉換處理例程。在該流程圖中,著眼于數據壓縮效率這一點。即,在步驟S12和S14之間插入對表中的元素進行重新排序的步驟S13。即,在步驟S13中,表中的元素以元素在腳本中的出現頻度從大到小的順序被重新排序。這樣,在后續的替換處理中,用字符數少的字符或字符串來置換大出現頻度的字符或字符串,從而提高了數據壓縮效果。
在圖12所示的例程中,在步驟S20和S24之間進一步判斷更新的應用字符是否是系統保留字(步驟S23)。如果它們是保留字,則處理例程返回到步驟S18,將它們從字符串轉換目標中除去。這是因為,如果它們被轉換為保留字,則原始腳本的固有意義、即腳本指定的操作被改變,從而不應允許這種轉換。
腳本中的函數名、變量名是編寫腳本的人為了保持人眼對函數名或變量名的可讀性的方便而命名的,它們都由人能夠理解的意義的比較長的字符串構成。盡管注釋句被嵌入到源代碼中以便記憶腳本中每個部分(例如,例程句等)的功能,但是注釋本身無助于腳本的功能的實現。
盡管長字符串構成的函數名或變量名和注釋句在調試之前有意義,但是在調試之后,無需具有人能夠解釋的意義。特別是,在將該系統應用于衛星數據廣播等單向內容分配的情況下,無需考慮發送以后的階段的源代碼的重用。換言之,即使用另一個短字符串來置換腳本中的函數名或變量名,或者由于注釋句的刪除而使源代碼失去人眼的可讀性,也幾乎沒有問題。
通過將本發明應用于數字衛星數據廣播中的數字傳輸數據,能夠縮小傳輸數據的大小,并且在分配時改善傳輸效率。
在接收機/解碼器中,由于接收數據的大小減小,所以只需準備比較小的容量的接收存儲器即可,從而降低成本。由于腳本中的函數名或變量名的字符串長度被最小化,所以可以縮小執行該腳本的解釋器分配到存儲器中的函數表或變量表的大小。這樣,減小了調用函數或變量時的開銷。即,改善了腳本的執行效率,減少了存儲器容量,從而可以降低接收機的成本。[補充]
上面參照特定的實施例詳細描述了本發明。然而,應該理解,在不脫離本發明精神的情況下,本領域的技術人員能夠對這些實施例進行許多修改和變形。即,本發明是以實施例的形式被公開的,但是不應限制性地解釋。為了判斷本發明的本質,應該考慮開頭公開的權利要求數一欄。
如上所述,根據本發明,能夠提供一種優良的數據分配技術,它能夠改善包括文本數據的分配內容的傳輸效率。
根據本發明,能夠提供一種優良的數據分配技術,它能夠改善用于接收包括文本數據的分配內容的接收裝置的執行效率,減少存儲器負荷。
在將本發明應用于數字衛星數據廣播等中的數字數據分配的情況下,能夠縮小數據量,而不改變以文本格式描述的樣式表的處理內容。這樣,在作為內容分配源的廣播服務器中,能夠改善分配內容的傳輸效率,同時保持樣式表的傳統形成操作。
在接收機/解碼器端,由于接收數據的大小減小,所以只需準備比較小的容量的接收存儲器即可,從而能夠降低成本。
此外,由于腳本中的函數名或變量名的字符串的長度被最小化,所以可以縮小執行該腳本的解釋器分配到存儲器中的函數表或變量表的大小。這樣,減小了調用函數或變量時的開銷,改善了執行效率。因此,由于執行效率的改善,接收機的用戶(即,收視者)可望得到一種反應速度更高的系統。
在分配腳本的廣播服務器端,由于腳本的意義和內容在轉換之前和之后沒有被改變,所以在接收端可以使用現有的解釋軟件來驅動該腳本。換言之,無需額外的軟件開發。
權利要求
1、一種形成分配內容的分配內容形成方法,包括下述步驟
搜索作為構成分配內容的模塊之一的、多個字符或字符串構成的腳本的內部,并且提取具有高冗余度的字符或字符串;以及
用具有低冗余度的字符或字符串來置換在腳本中提取出的高冗余度的字符或字符串。
2、如權利要求1所述的分配內容形成方法,還包括下述步驟在分配置換后獲得的所述分配內容之前臨時存儲所述內容。
3、如權利要求1所述的分配內容形成方法,其中,所述高冗余度的字符或字符串包括函數名或變量名。
4、如權利要求1所述的分配內容形成方法,其中,在用低冗余度的字符或字符串來置換所述高冗余度的字符或字符串的步驟中,排除將系統保留字用作低冗余度的字符串。
5、如權利要求1所述的分配內容形成方法,還包括下述步驟提取與分配內容的接收端執行的處理無關的字符或字符串構成的句子;以及刪除該提取出的句子。
6、如權利要求5所述的分配內容形成方法,其中,所述與分配內容的接收端執行的處理無關的字符或字符串構成的句子是用預定的分隔符分割的注釋句。
7、如權利要求1所述的分配內容形成方法,還包括下述步驟存儲在提取高冗余度的字符或字符串的步驟中提取出的每個字符或字符串在腳本中的出現頻度,并且
其中,在用低冗余度的字符或字符串來置換所述高冗余度的字符或字符串的步驟中,用字符數少的字符或字符串來置換具有大出現頻度的字符或字符串。
8、一種多個數據模塊構成的分配內容的內容分配方法,包括下述步驟
搜索用多個字符或字符串構成的腳本語言格式描述的數據模塊的內部,并且提取具有高冗余度的字符或字符串;
用具有低冗余度的字符或字符串來置換在腳本中提取出的高冗余度的字符或字符串;
存儲置換后獲得的數據模塊;以及
分配存儲的數據模塊。
9、如權利要求8所述的內容分配方法,其中,所述高冗余度的字符或字符串包括函數名或變量名。
10、如權利要求8所述的內容分配方法,其中,在用低冗余度的字符或字符串來置換所述高冗余度的字符或字符串的步驟中,排除將系統保留字用作低冗余度的字符串。
11、如權利要求8所述的內容分配方法,還包括下述步驟提取與分配內容的接收端執行的處理無關的字符或字符串構成的句子;以及刪除該提取出的句子。
12、如權利要求11所述的內容分配方法,其中,所述與分配內容的接收端執行的處理無關的字符或字符串構成的句子是用預定的分隔符分割的注釋句。
13、如權利要求8所述的內容分配方法,還包括下述步驟存儲在提取高冗余度的字符或字符串的步驟中提取出的每個字符或字符串在腳本中的出現頻度,并且
其中,在用低冗余度的字符或字符串來置換所述高冗余度的字符或字符串的步驟中,用字符數少的字符或字符串來置換具有大出現頻度的字符或字符串。
14、一種用于分配多個數據模塊構成的分配內容的內容分配裝置,包括
搜索用多個字符或字符串構成的腳本語言格式描述的數據模塊的內部、并且提取具有高冗余度的字符或字符串的部件;
用具有低冗余度的字符或字符串來置換在腳本中提取出的高冗余度的字符或字符串的部件;
存儲置換后獲得的數據模塊的部件;以及
分配存儲的數據模塊的部件。
15、如權利要求14所述的內容分配裝置,其中,所述高冗余度的字符或字符串包括函數名或變量名。
16、如權利要求14所述的內容分配裝置,其中,用低冗余度的字符或字符串來置換所述高冗余度的字符或字符串的部件排除將系統保留字用作低冗余度的字符串。
17、如權利要求14所述的內容分配裝置,還包括提取與分配內容的接收端執行的處理無關的字符或字符串構成的句子的部件;以及刪除該提取出的句子的部件。
18、如權利要求17所述的內容分配裝置,其中,所述與分配內容的接收端執行的處理無關的字符或字符串構成的句子是用預定的分隔符分割的注釋句。
19、如權利要求14所述的內容分配裝置,還包括存儲在提取高冗余度的字符或字符串的步驟中提取出的每個字符或字符串在腳本中的出現頻度的部件,并且
其中,在用低冗余度的字符或字符串來置換所述高冗余度的字符或字符串的部件中,用字符數少的字符或字符串來置換具有大出現頻度的字符或字符串。
20、一種轉換具有與計算機處理有關的意義的多個字符或字符串構成的源代碼的代碼轉換方法,包括下述步驟
搜索源代碼的內部,并且提取具有高冗余度的字符或字符串;以及
用具有低冗余度的字符或字符串來置換提取出的高冗余度的字符或字符串。
21、如權利要求20所述的代碼轉換方法,其中,所述高冗余度的字符或字符串包括函數名或變量名。
22、如權利要求20所述的代碼轉換方法,其中,在用低冗余度的字符或字符串來置換所述高冗余度的字符或字符串的步驟中,排除將系統保留字用作低冗余度的字符串。
23、如權利要求20所述的代碼轉換方法,還包括下述步驟提取與源代碼中的代碼執行無關的字符或字符串構成的句子;以及刪除該提取出的句子。
24、如權利要求23所述的代碼轉換方法,其中,所述與代碼執行無關的字符或字符串構成的句子是用預定的分隔符分割的注釋句。
25、如權利要求20所述的代碼轉換方法,還包括下述步驟存儲在提取高冗余度的字符或字符串的步驟中提取出的每個字符或字符串在腳本中的出現頻度,并且
其中,在用低冗佘度的字符或字符串來置換所述高冗余度的字符或字符串的步驟中,用字符數少的字符或字符串來置換具有大出現頻度的字符或字符串。
全文摘要
用標記語言描述的輸出數據本身指定顯示輸出的信息本身,這種數據的內容不容許變更。腳本中包括的函數名、變量名、注釋句等具有冗余度,它對傳輸效率是致命性的。因此,通過用較短的字符串(例如,一個字母)來置換腳本中存在的、由比較長的字符串構成的函數名或變量名,來縮小腳本的數據大小。通過進一步刪除腳本中的注釋句,也縮小了數據大小。
文檔編號G06F17/30GK1321362SQ0080193
公開日2001年11月7日 申請日期2000年7月12日 優先權日1999年7月13日
發明者出葉義治 申請人:索尼公司