微软高级流格式ASF简介(1)
11.8 微軟高級流格式ASF簡介
--Microsoft公司的Windows Media的核心是ASF(Advanced Stream Format)。
微軟將ASF 定義為同步媒體的統一容器檔格式。ASF是一種資料格式,音頻、視頻、圖像以及控制命令腳本等多媒體資訊通過這種格式,以網路資料包的形式
傳輸,實現流式多媒體內容發佈。
ASF最大優點就是體積小,因此適合網路傳輸,使用微軟公司的最新媒體播
放器(Microsoft Windows Media Player)可以直接播放該格式的檔。用戶可以將
圖形、聲音和動畫資料組合成一個ASF格式的檔,當然也可以將其他格式的視
頻和音頻轉換為ASF格式,而且用戶還可以通過音效卡和視頻捕獲卡將諸如麥
克風、錄影機等等外設的資料保存為ASF格式。另外,ASF格式的視頻中可以帶有命令代碼,用戶指定在到達視頻或音頻的某個時間後觸發某個事件或操作。
11.8.1 ASF的特徵
可擴展的媒體類型- ASF檔允許製作者很容易地定義新的媒體類型。ASF格
式提供了非常有效的靈活地定義符合ASF檔格式定義的新的媒體流類型。任一
存儲的媒體流邏輯上都是獨立於其他媒體流的,除非在文件頭部分明顯地定義了
其與另一媒體流的關係。
部件下載-特定的有關播放部件的資訊(如,解壓縮演算法和播放器)能夠存
儲在ASF 檔頭部分,這些資訊能夠為客戶機用來找到合適的所需的播放部件的
版本---如果它們沒有在客戶機上安裝。
可伸縮的媒體類型- ASF是設計用來
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示可伸縮的媒體類型的"帶寬"之間的依賴關係。ASF存儲各個帶寬就像一個單獨的媒體流。媒體流之間的依賴關係存
儲在檔頭部分,為客戶機以一個獨立於壓縮的方式解釋可伸縮的選項提供了豐富
的資訊
流的優先順序化- 現代的多媒體傳輸系統能夠動態地調整以適應網路資源緊
張的情況(如,帶寬不足)。多媒體內容的製作者要能夠根據流的優先順序表達
他們的參考資訊,如最低保證音頻流的傳輸。隨著可伸縮媒體類型的出現,流的
優先順序的安排變得複雜起來,因為在製作的時候很難決定各媒體流的順序。
ASF允許內容製作者有效地表達他們的意見(有關媒體的優先順序),甚至在可
伸縮的媒體類型出現的情況下也可以。
多語言- ASF設計為支援多語言。媒體流能夠可選地指示所含媒體的語言。
這個功能常用于音頻和文本流。一個多語言ASF檔指的是包含不同語言版本的同一內容的一系列媒體流,其允許客戶機在播放的過程中選擇最合適的版本。
目錄資訊- ASF提供可繼續擴展的目錄資訊的功能,該功能的擴展性和靈活
性都非常好。所有的目錄資訊都以無格式編碼的形式存儲在檔頭部分,並且支援
多語言,如果需要,目錄資訊既可預先定義(如,作者和標題),也可以是製作者自定義。目錄資訊功能既可以用於整個檔也可以用於單個媒體流。
11.8.2 ASF檔格式
11.8.2.1 ASF 物件定義
ASF檔基本的組織單元叫做ASF 物件,它是由一個128位元的全球唯一的物件識別字(Object ID),一個64位元整數的物件大小(Object Size)和一個可變長的物件資料(Object Data)組成。物件大小域的值是由物件資料的大小加上
24比特之和。
圖11.8 ASF對象
這個檔組織單元有點類似於RIFF(Resource Interchange File Format)位元組片。RIFF位元組片時AVI和WAV檔的基本單位。ASF物件在兩個方面改進了RIFF的設計。首先,無需一個權威機構來管理物件識別字系統,因為電腦網卡
能夠產生一個有效的唯一的GUID。其次,物件大小欄位已定義得足夠處理高帶
寬多媒體內容的大檔。
11.8.2.2 高層檔結構
ASF檔邏輯上是由三個高層物件組成:頭物件(Header Object)、資料物件(Data Object)和索引物件(Index Object).。頭物件是必需的並且必頇放在每一個ASF檔的開頭部分,資料物件也是必需的,且一般情況下緊跟在頭物件之後。索引物件
是可選的,但是一般推薦使用。
圖11.9 高層ASF檔結構
在具體實現過程中可能會出現一些檔包含無序的(Out-Of-Order)的物件,ASF也支援,但在特定情況下,將導致ASF 檔不能使用,如從特定的檔源如
HTTP伺服器讀取該類ASF檔。同樣地,額外的高層物件也可能被運用並加入到
ASF檔中。一般推薦這些另加的物件跟在索引物件之後。
ASF資料物件能夠被解釋的一個前提條件是頭物件已被客戶機接收到。ASF沒有聲明頭物件資訊是如何到達用戶端的,"到達機制"是一個"本地實現問題",顯然已超過了ASF 的定義範圍。頭物件先於資料物件到達有三種方式:
包含頭物件的資訊作為"會話聲明"的一部分。
利用一個與資料物件不同的"通道"發送頭物件。
在發送ASF 資料物件之前發送頭物件。
11.8.2.2.1 ASF 頭對象
在ASF的三個高層物件中,頭物件是唯一包含其他ASF 物件的物件。頭物件可能包含一下物件:
檔屬性物件(File Properties Object)----全局檔屬性。
流屬性物件(Stream Properties Object)----定義一個媒體流和其屬性。
內容描述物件(Content Description Object)----包含所有目錄資訊。
部件下載物件(Component Download Object)----提供播放部件資訊。
流組織物件(Stream Groups Object)----邏輯上把多個媒體流組織在一起。
可伸縮物件(Scalable Object)----定義媒體流之間的可伸縮的關係。
優先順序物件(Prioritization Object)----定義相關流的優先順序。
相互排斥物件(Mutual Exclusion Object)----定義排斥關係如語言選擇。
媒體相互依賴物件(Inter-Media Dependency Object)----定義混合媒體流之間的相互依賴關係。
級別物件(Rating Object)----根據W3C PICS定義檔的級別。
索引參數物件(Index Parameters Object)----提供必要的資訊以重建ASF檔的索引。
圖11.10 ASF 頭對象
頭物件的作用是在ASF檔的開始部分提供一個眾所周知的比特序列,並且包含所有其他頭物件資訊。頭物件提供了存儲在資料物件中的多媒體資料的全局的
資訊。
11.8.2.2.2 ASF資料物件
資料物件包含一個ASF 檔的所有多媒體資料。多媒體資料以ASF資料單元
的形式存儲,每一個ASF資料單元都是可變長的,且包含的資料必頇是同一種媒體流。資料單元在當它們開始傳輸的時候在資料物件中自動地排序,這種排序
來自於交叉存儲的檔格式。
11.8.2.2.3 ASF索引物件
ASF索引物件包含一個嵌入ASF檔的多媒體資料的基於時間的索引。每以索
引進入表現的時間間隔是在製作時設置的,並且存儲在索引物件中。由於沒有必
要為一個檔的每一個媒體流建立一個索引,因此,通常利用一個時間間隔列表來
索引一系列的媒體流。