圖 3.1、數位家庭網路情境示意圖
為了解決研究情境中的問題,我們延伸傳統 UPnP AV 中定義的 3-Box 實做架 構,如圖 3.2, Control Point 會先利用內容目錄服務(Content Directory Service ,CDS) 訊息去搜尋此架構中的播放器,及瀏覽多媒體伺服器(Media Server)上的多媒體檔案 目錄,選取有興趣的項目播放,並將播放的相關資訊傳送至 Media Renderer,接著 Media Renderer 會向多媒體伺服器請求,多媒體內容會以 Out-of-Band 的方式傳輸及 播放,我們以此簡易實做架構為基礎,加入主從式概念,將影像及聲音裝置分類定義 為 Master Device 及 Slave Device,以便後續針對影像及聲音裝置有不同的相對應處理 規則。
圖 3.2、UPnP AV 3-Box 架構
對於此情境中的操作,如圖 3.3 所示。在我們的研究情境中,影像播放裝置也就 是 Control Pointer with Video Decoder 扮演整個架構中 Master Device 的角色,主要的 功能是去訂閱多媒體伺服器上的多媒體影像,以及告知聲音播放裝置也就是 Slave Device (Media Renderer with Audio Decoder )指定配合的音訊檔案,接著 Master Device 及 Slave Device 同時開始播放關連的多媒體影像及聲音檔案,此同時我們也加入了同 步校正的偵測方法,利用 Master Device 主動且週期性的偵測 Slave Device 播放音訊 的狀態資訊,經由比對狀態資訊後,可以解決及同步校正 Master/Slave Devices 間播 放時產生的不同步現象。
圖 3.3、進階 UPnP AV 3-Box 架構
同步校正主要流程如圖 3.4 所示:
Step1:Master Device 會訂閱 Slave Device 的播放狀態,若不成功會重新訂閱。
Step2:使用者會利用 Master Device 對多媒體伺服器上有興趣的影片檔案作瀏 覽及搜尋的動作,接著選取想要播放的影像檔案。
Step3:Master Device 會利用通用型隨插即用協定主動告知 Slave Device,使 用者已經選定了特定的檔案,要求 Slave Device 也播放相對應的音訊 檔案。
Step4:開始播放,在播放的同時,偵測同步流程也隨之開始動作,Slave Device 會以固定頻率去發送通用型隨插即用事件訊息告知 Master Device 播放 的進度資訊。
Step5:待 Master Device 收到相關資訊後,Master Device 會比對兩者的相對 播放進度是否有產生不同步的情況。
Step6:若是播放進度發生不同步的現象產生時,則進行同步處理,若無不同步 現象產生,則檢查是否已經播放完畢或是繼續播放及繼續偵測是否產生 不同步現象。
我們可由圖 3.5 的狀態機瞭解整個同步處理的機制,處理過程中會以 Master Device 為主要比較依據,如果影像播放進度較快,則聲音播放進度會停止並且跳躍 至欲同步的同步點後,重新開始播放,若是影像播放進度較慢,聲音播放較快,則聲 音會跳躍至與影像相同播放進度位置,始開始播放。
Start
Step1:
Master Device Subscribe to Slave Device
Check Subscribe State
Step2:
Browse and Search Content on Media Server
Step3:
Send Audio File Path
Step4:
Play and Slave Send CurrentPlayTime to Master
Synchronization Step6:
Synchronization check Step5:
Comparsion With both CurrentPlayTime
Finish Check
Finish Success
No Need Sync
Finish Failed
Continuous Play
Sync
圖 3.4、通用型隨插即用影音同步控制校正流程圖
圖 3.5、通用型隨插即用影音同步控制校正狀態機
在整個方法的流程中皆是以數位家庭中既有的通用型隨插即用協定作為主要的 溝通媒介,藉此當作 Master Device、Slave Device 以及多媒體伺服器的主要的訊息 資訊交換及控制訊號。
在下一章節中我們將針對整個情境模擬做一個實際的簡易應用,搭配整合現有的 開放原始碼多媒體播放軟體 VideoLAN –VLC Media Player,加入我們的方法實做出整 個情境的應用。