TWI574558B - 播放複合濃縮串流之方法以及播放器 - Google Patents
播放複合濃縮串流之方法以及播放器 Download PDFInfo
- Publication number
- TWI574558B TWI574558B TW104101282A TW104101282A TWI574558B TW I574558 B TWI574558 B TW I574558B TW 104101282 A TW104101282 A TW 104101282A TW 104101282 A TW104101282 A TW 104101282A TW I574558 B TWI574558 B TW I574558B
- Authority
- TW
- Taiwan
- Prior art keywords
- stream
- content
- unit
- source
- composite
- Prior art date
Links
Landscapes
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Description
本揭露係有關於一種播放網路中複合濃縮串流之方法以及播放器。
由於寬頻網路的成熟發展,影音串流成為目前最受歡迎的應用之一,像是娛樂性質的影音分享、即時網路電視等服務,使用者可透過瀏覽節目表來獲得頻道的相關資訊,並決定要收看的串流節目內容;另一方面,近年來監控產業也從過去閉路電視(Closed Circuit Television,CCTV)系統轉往IP監控系統(IP Surveillance system)發展。視訊來源像是網路攝影機(IPCAM)、視訊伺服器(Video Server)、數位視訊錄影機(Digital Video Recorder,DVR)等裝置。使用者得以透過影音管理系統(Video Management System,VMS),藉由IP網路同時監看多路佈建於各地的監控攝影機,達到全面性的掌控。其中除了端對端(End-to-End)的直接連線之外,串流伺服器(Streaming Server)也常被用來提昇系統的服務規模。
第1圖係顯示一串流系統架構之示意圖,使用者可透過各種形態的連網裝置(Network-connected Devices)14,如桌上型電腦(Desktop PC)、筆記型電腦(Notebook)、平板電腦(Tablet PC)、
手機(Mobile Phone),作為串流收視的載具。當使用者收看個別串流內容時,首先透過連線控制協定(Connection Control Protocol),如即時串流協定(Real-time Streaming Protocol,RTSP),與串流伺服器12藉由網路10建立串流連線,完成溝通後再透過媒體傳輸協定(Media Transport Protocol),例如即時傳輸協定(Real-time Transport Protocol,RTP),接收即時串流內容資料16或已儲存之串流內容資料18,而為了避免網路頻寬變化造成收視品質的影響,一般在播放器端會有一小段時間的串流緩衝區(streaming buffer)作為預防。依據頻寬變化程度與緩衝區空間的大小,整個串流連線建立過程可能長達數秒的時間。當使用者欲同時收看多路頻道時,可透過播放器建立多組的串流連線,於各頻道間獨立播放。
而隨著行動通訊的進步,透過行動裝置與網路使用串流系統的需求日益增加。但是行動網路目前仍受到頻寬與收訊品質的限制,並且隨時受到環境變化的影響。一方面,在頻寬不穩定或不足的狀況下,容易造成畫面不順或頓挫等不良視覺觀感,在收看多路頻道時(例如,網路監控應用),各個串流連線之間會彼此競爭,使情況更為惡化,使用者要同時穩定收看多個頻道仍然非常困難。另一方面,提供全局頻道預覽(global channel preview),讓使用者快速瀏覽所有串流頻道目前正在播送的畫面,並決定要收看的內容,而協助使用者動態及自動地的掌握頻道資訊的變化,例如頻道的新增或離開或出現使用者感興趣的畫面(例如,偵測到車牌、人臉或移動量等資訊)時,都是十分迫切的需求。
有鑑於此,一種提供與傳送多來源濃縮串流內容方法以及系統是有待開發的。
本揭露提供一種播放複合濃縮串流之方法以及播放器。
本揭露提供實施例之一種用戶端播放器,耦接於一串流伺服器及一濃縮串流單元,包括:一串流資料接收單元,用以接收該濃縮串流單元所傳送之一複合濃縮串流;一複合濃縮串流解析單元,耦接於該串流接收器,用以接收該串流資料接收單元所傳送之該複合濃縮串流,並由該複合濃縮串流中解析為該等複數來源串流內容;至少一影像解碼單元,用以接收該複合濃縮串流解析單元所解析出的該等複數來源串流,並對該等複數來源串流進行解碼成複數影像;以及一影像呈現單元,用以呈現該等複數影像。
本揭露提供實施例之一種播放複合濃縮串流之方法,用於一用戶端播放器中,其中該用戶端播放器耦接於一濃縮串流單元及一串流伺服器,包括:接收該濃縮串流單元所傳送之一複合濃縮串流;將該複合濃縮串流中解析為該等複數來源串流;將該等複數來源串流進行解碼成複數影像;以及呈現該等複數影像。
為使本揭露之上述和其他目的、特徵和優點能更明顯易懂,下文特舉出較佳實施例,並配合所附圖式,作詳細說明如下。
10‧‧‧網路
12‧‧‧串流伺服器
14‧‧‧連網裝置
16‧‧‧即時串流內容資料
18‧‧‧已儲存之串流內容資料
100‧‧‧濃縮串流單元
110‧‧‧串流伺服器
120‧‧‧即時來源串流內容
130‧‧‧已儲存來源串流內容
140‧‧‧串流內容群組
150‧‧‧用戶端播放器
160‧‧‧複合濃縮串流的請求
165‧‧‧複合濃縮串流
170‧‧‧用戶端要求
175‧‧‧來源詢問
180‧‧‧回應訊息
190‧‧‧會話請求
195‧‧‧來源串流內容
210‧‧‧串流內容分析單元
220‧‧‧串流資料輸入單元
230‧‧‧畫面時間戳調整單元
240‧‧‧串流資料輸出單元
250‧‧‧服務品質控制器
260‧‧‧用戶端要求處理器
270‧‧‧串流輸入表
275‧‧‧內容重要性分數表
280‧‧‧畫面時間戳調整表
290‧‧‧關鍵畫面序列產生單元
295‧‧‧識別標籤及內容列表
301‧‧‧I畫面
302、304、306‧‧‧關鍵畫面序列
303、305‧‧‧P畫面
410‧‧‧來源內容輸入單元
420‧‧‧內容分群單元
430‧‧‧內容群組傳送單元
440‧‧‧直接串流單元
450‧‧‧編碼格式分析單元
455‧‧‧語意群組分析單元
460‧‧‧靜態群組列表
465‧‧‧群組紀錄列表
510‧‧‧串流資料接收單元
520‧‧‧複合濃縮串流解析單元
530‧‧‧影像解碼單元
540‧‧‧內容請求處理單元
550‧‧‧單一區域影像呈現單元
555‧‧‧多分割區域影像呈現單元
第1圖係顯示一串流系統架構之示意圖。
第2圖係顯示一依據本揭露實施例之一系統架構圖。
第3圖係顯示一依據本揭露實施例之濃縮串流單元架構圖。
第4圖係顯示一依據本揭露實施例之濃縮串流單元架構圖。
第5A~5C圖係顯示一依據本揭露實施例之關鍵畫面序列產生單元產生關鍵畫面之示意圖。
第6圖係顯示一依據本揭露實施例之串流內容分析單元選擇之輸出示意圖。
第7圖係顯示一依據本揭露實施例用戶端播放器透過濃縮串流單元向串流伺服器詢問並直接取得某一來源的串流內容的系統架構的示意圖。
第8圖係顯示一依據本揭露實施例之串流伺服器之架構圖。
第9圖係顯示一依據本揭露實施例之用戶端播放器架構圖。
第10圖係顯示一依據本揭露實施例之串流伺服器、濃縮串流單元與用戶端播放器之連線流程圖。
第11圖係顯示一依據本揭露實施例之串流伺服器、濃縮串流單元與用戶端播放器之連線流程圖。
第12圖係顯示一依據本揭露實施例之在串流伺服器中將輸入的內容來源分群並傳送之流程圖。
第13A~13B圖係顯示一依據本揭露實施例之在濃縮串流單元中產生複合濃縮串流之方法流程圖。
第14A~14B圖係顯示一依據本揭露實施例之在用戶端播放器中接收、處理及播放複合濃縮串流之方法流程圖。
第2圖係顯示一依據本揭露實施例之一系統架構圖。本揭露的系統包含一濃縮串流單元100、一串流伺服器110、一用戶端播放器150。
在此系統中,眾多即時發佈的即時來源串流內容(live streaming content)120與已儲存於某些儲存媒體用以串流傳輸的已儲存來源串流內容(pre-stored streaming content)130會經由網際網路通訊協定(Internet Protocol,IP)網路以有線連結或無線連結的方式被發佈或傳送到串流伺服器110中。在此所使用之「串流」用語為一多媒體處理的模式,其允許一使用者(例如用戶端播放器150)在下載多媒體內容之際同時播放已下載的部分多媒體內容。不同於一傳統「下載然後才播放」(download-and-play)的模式,僅當所有的多媒體內容已下載完畢時才允許一使用者播放其多媒體內容,這「串流」模式能夠支援即時多媒體處理。一個串流內容所指的則是,來自單一來源的多媒體內容,多媒體包含例如視訊(video)、音訊(audio)、文字(text)、圖像(image)或是其他媒體或任何的結合。例如,一個網路監控攝影機(IPCam)的輸出是一個即時來源串流內容(120),而一個儲存為檔案(如MP4或3GP)的影音內容則會是一個已儲存來源串流內容(130)。MP4,全稱MPEG-4 Part 14,是一種使用MPEG-4的多媒體電腦檔案格式,副檔名為.mp4,以儲存數位音訊及數位視訊為主。3GP檔案是MP4的簡化版本,影像的部份可以用MPEG-4 Part 2、H.263或MPEG-4
Part 10(AVC/H.264)等格式來儲存,聲音的部份則支援AMR-NB、AMR-WB、AMR-WB+、AAC-LC或HE-AAC來當作聲音的編碼。在此所提及的檔案格式與編碼格式僅作為說明而不侷限本揭露之範圍。
串流伺服器110可為一裝置或是一節點,例如工作站、電腦或是其他處理器,用以即時處理與收送串流內容資訊(streaming content information),其上述資訊可為一位置、連結位址和媒體內容的描述,如即時串流協定資源識別符(Real Time Streaming Protocol Uniform Resource Identifier,RTSP URI)。串流伺服器單元可包括以執行影音內容接收、影音內容發送、影音內容記錄以及影音內容分類的複數內部模組。根據設計複雜度、同時處理的會話連線(session)數目以及操作速度要求,模組可利用硬體或是軟體實現。串流伺服器110所接收的各個串流內容皆是經由各自獨立的串流會話連線(streaming session)傳送。
串流伺服器110分析這些影音內容的屬性與設定並依照分析的結果將所有輸入的影音內容進行分類。在一實施例中,分類的方式可以包含,但不侷限於依照影音內容的壓縮設定(encoding profile),如編碼器類別(H.264、MPEG4、MJPEG、H.263等)、壓縮位元率(encoding bitrate)、圖像群組(Group of Picture,GOP)大小、幀率(frame rate),或是影像格式(image format),如影像解析度(resolution),的分析結果,但也有可能是依照地理位置屬性,如全球定位系统座標(Global Positioning System Coordinates,GPS Coordinates),影音內容的權限組織屬性,如社群、公司單位等,內容描述,如影片摘要,作者或是其他的分類
方式。
分類後的影音內容,會與其他同一類別的影音內容以群組140的方式傳送至濃縮串流單元100。在此實施例中,如圖所示,串流伺服器110將所有輸入的影音內容分為串流內容群組I 140以及串流內容群組II 140。在此實施例中,此濃縮串流單元100可存在於一台獨立的機器中,而在此實施例下傳送的方式可以是透過網路接口(socket)以串流的方式傳送。在其他實施例中,濃縮串流單元100也可以是以一個模組的形式與串流伺服器110存在於同一台機器中,在此實施例中傳送的方式可以是透過本地接口(local socket)或是其他共享一塊實體記憶體的方式來實現。
用戶端播放器150可以透過網路直接向串流伺服器110要求各來源的串流內容,亦可以向濃縮串流單元100要求提供某一內容群組的複合濃縮串流進行播放。透過一複合濃縮串流的請求160,濃縮串流單元100可以傳送複合濃縮串流165至用戶端播放器150。
用戶端播放器150可以是一個人電腦(PC)、筆記型電腦(Notebook)、行動裝置(例如行動電話(mobile phones)、數位播放器(digital players)、個人數位助理(personal digital assistants,PDAs)以及行動終端機(mobile terminals)),或其他種能夠存取網路的終端機(terminal)。
值得注意的是,濃縮串流單元100、串流伺服器110及用戶端播放器150皆可藉由網際網路通訊協定(IP)網路以有線及無線傳輸方式互相連接。有線連接可透過如光纖網路(optical network)、非對稱數位用戶線路(Asymmetric Digital Subscriber
Line,簡稱ADSL)、纜線網路(Cable Network)、電力線網路(Powerline Network)等傳輸媒介。而無線連接可由一些行動式或無線/網際網路通訊協定(IP)網路連結機制,透過一般的行動/無線網路技術所構成,像是可為第2代行動通訊技術協定的全球移動通訊系統(Global System for Mobile Communications,GSM)以及分碼多重存取(Code Division Multiple Access,CDMA),第2.5代行動通訊技術協定的通用封包無線服務(General Packet Radio Service,GPRS),無線區域網路(wireless local area network,WLAN),以及第3代行動通訊技術協定或有關第3代的以及寬頻分碼多工存取系統(Wideband Code Division Multiple Access,WCDMA)、通用移動通訊系統(Universal Mobile Telecommunications System,UMTS)、增強型數據速率GSM演進技術(Enhanced Data Rate for GSM Evolution,EDGE)、無線增強型數據速率GSM演進技術(Wireless EDGE,WEDGE)、分時-同步分碼多工存取(Time Division-Synchronous Code Division Multiple Access,簡稱TDSCDMA),第3.5代行動通訊技術協定的高速下行封包存取(High-Speed Downlink Packet Access,HSDPA),微波存取全球互通(Worldwide Interoperability for Microwave Access,WiMAX),以及3GPP長期演進技術(3GPP Long Term Evolution,3GPP LTE)。
而濃縮串流單元100、串流伺服器110及用戶端播放器150之間的串流內容來源溝通可藉由即時串流協定(Real-Time Streaming Protocol,RTSP),而資料的收送與控制可透過即時傳輸協定(Real-time Transport Protocol,RTP)與即時傳輸控制協定
(Real-time Transport Control Protocol,RTCP)的搭配來完成,傳輸方式可透過傳輸控制協定(Transmission Control Protocol,TCP)或是使用者資料流通訊協定(User Datagram Protocol,UDP)。
第3圖係顯示一依據本揭露實施例之濃縮串流單元100架構圖。濃縮串流單元100包括一串流資料輸入單元220、一串流內容分析單元210、一畫面時間戳調整單元230、一串流資料輸出單元240、一服務品質控制器250、一用戶端要求處理器260。
首先,當串流內容群組140的影音內容被輸入到濃縮串流單元100時,會透過串流資料輸入單元220傳送到串流內容分析單元210,且串流資料輸入單元220會將各串流內容群組中輸入的所有的來源串流內容記錄在一串流輸入表270中。舉例來說,串流輸入表270記錄包含各個串流內容群組的群組識別碼及分群類別,如編碼屬性(如編碼格式、畫面幀率(frame rate)或是影像格式)、語意屬性(如地理位置、拍攝事件或拍攝者組織編制或社群關係與群組)、或靜態屬性(如預設的特定分群),以及各個來源串流個別屬性(如壓縮設定、地理座標、影音內容的權限組織、內容描述、作者或是其他的屬性)。具體但不侷限地舉例來說,串流輸入表270可以使用即時傳輸協定的標頭檔延伸欄位(RTP Header Extension)與即時傳輸控制協定(Real-time Transport Control Protocol,RTCP)封包來傳送,其中不同的來源串流會有各自獨立的識別碼作為識別標籤,舉例來說,可以使用MD5雜湊法(MD5 hash method)對各個內容的原始資源標識符(URI)、拍攝時間或拍攝者進行雜湊計算以產生一獨特識別符號。而串流輸入表270當來源內容有變化(新增或離開)時會一併更新。
在另外一些實施例中,當多個串流伺服器耦接於同一個濃縮串流單元時,串流輸入表270也會記錄各串流內容群組中輸入的所有的來源串流內容所來自的串流伺服器。
輸入的串流內容群組140會在串流內容分析單元210對串流內的資料進行一資料內容分析與一重要性分數指標分析,並將分析所得到的內容重要性的分數指標儲存於內容重要性分數表275中。舉例來說,重要性分數表275記錄不同來源串流內容的權重、偵測到的事件與累計分數,與分析事件的類別、權重、輸出之關鍵序列畫面數目、輸出分數臨界值、已選擇輸出的畫面的資料量等。在一個實施例中,內容分析的方式可以是透過視訊分析(Video Analysis)的方式,藉由偵測某些特殊事件來判斷內容的重要性,包含但不侷限於像是影像的變化程度、人臉偵測、遺留物、遺失物或是車牌偵測等,來計算重要性分數指標以取出具有重大代表性的畫面內容。更具體地舉例來說,重要性分數指標可以是事件的強度來評分。在不同的分析領域中,可能可以是變化量(如影像變化的程度)、所偵測畫面的區塊大小(如遺留/遺失物偵測)。在某些實施例中,各種分析得到的分數可以再經過加權(weighted)的處理,讓不同事件的分數可以進行後續的分數計算比較。
在另一種實施例中,若是沒有偵測到特定的視訊相關的事件,也可以透過檢查各來源串流內容所輸入的畫面的資料量或畫面間隔,於達到某個臨界值時來做為判斷畫面的重要性分數指標。舉例來說,若設定每個來源串流內容至少在某一時間區間T內必須傳送至用戶端播放器150,若經過時間區間T之後,某
一來源串流內容沒有事件發生,此時該來源串流內容也具備較高的輸出重要性。
相較於框外編碼畫面(Inter-coded frame),如P畫面(Predictive frame,P frame),框內編碼畫面(Intra-coded frame),如I畫面(Intra frame,I frame),本身即具有完整的畫面資訊。因此,在一些實施例中,框內編碼畫面也會具有較高的重要性與代表性。
依照記錄在內容重要性分數表275的重要性分數指標,串流內容分析單元210便能夠判斷某一輸入之來源串流內容中某個時間點的畫面或是片段是否具有足夠的重要性並被選擇輸出為複合濃縮串流(Condensed Stream Content)的一部分。
進一步從另一個角度說明串流內容分析單元210,當某一輸入的串流其內容被認為有足夠的重要性分數指標時,代表該內容的畫面或是影像片段便會被選擇輸出。另一種實施例的作法是採用事件發生前或是發生後的關鍵畫面(key frame)(通常即為框內編碼圖像(Intra-Coded Picture))作為代表的畫面,因為框內編碼畫面單張畫面本身即保有原始內容之完整數據,可以單獨被傳送及於用戶端播放器150播放。
第4圖係顯示一依據本揭露實施例之濃縮串流單元100架構圖。在此實施例中,串流內容分析單元210更包括一關鍵畫面序列產生單元290。若是被串流內容分析單元210選為代表內容的畫面並不是關鍵畫面時,可以透過關鍵畫面序列產生單元290,將代表內容畫面重新以框內編碼的方式編碼並輸出。第5A~5C圖係顯示一依據本揭露實施例之關鍵畫面序列產生單元
290產生關鍵畫面之示意圖。如圖所示,圖中的I及P分別表示I畫面(I frames)及P畫面(P frames),而I畫面又為來源串流內容的關鍵畫面,本段實施例採用I畫面加上接續的兩張P畫面作為關鍵畫面序列之實施說明,但在某些實施例中,是否使用關鍵畫面序列以及總共選擇的張數,會隨著事件類別、重要性以及可用頻寬將有所不同。如第5A圖所示,若串流內容分析單元210所選取到的代表內容畫面為關鍵畫面I畫面301時,則串流內容分析單元210會選取包含I畫面301與後續2張P畫面作為一關鍵畫面序列302(key frame sequence)。若串流內容分析單元210所選取到的代表內容畫面為P畫面303時,如第5B圖所示,則串流內容分析單元210會選取包含P畫面303與先前的I畫面及P畫面組成一關鍵畫面序列304並輸出。若串流內容分析單元210所選取到的代表內容畫面為P畫面305時,而在P畫面305並無較接近之I畫面,如第5C圖所示,則關鍵畫面序列產生單元290便會將P畫面305重新以框內編碼的方式編碼並輸出一關鍵畫面I畫面,並且將I畫面及後續兩張P畫面組成一關鍵畫面序列306。此種實施例對於圖像群組(Group Of Picture,GOP)長度特別長的串流可以避免原始串流資料的關鍵畫面與代表內容畫面之輸出影像時間相距過長的問題。
服務品質控制器250會持續偵測與各個用戶端播放器150之間資料傳輸時的網路與緩衝區狀態,判斷當前所傳送的資料量是否超出網路連線所能負擔,或是仍有增加資料的餘裕。此服務品質控制器250會將判斷的結果,反饋至串流內容分析單元210中以調整資料濃縮比例的層級(degree of the condense ratio)以及重要性分數指標的臨界值使得濃縮後的資料量能夠貼近但不超
過使用者所在網路所能負擔的頻寬。關於服務品質控制器250之詳細技術內容例如可參照美國專利US Pub.2010/0161761 Yu et al.(Method for Audio and Video Control Response and Bandwidth Adaptation Based on Network Streaming Applications and Server Using the Same)。
串流內容群組140中多個不同的輸入內容,經過串流內容分析單元210後會選出在每個時間點上要代表各輸入內容的影像或影像片段作為輸出。依照濃縮比例層級的不同,每個時間點有可能會從一個或同時從多個來源串流內容選擇出要作為複合濃縮串流的畫面或片段。以具體的例子來說,若是由服務品質控制器250估測的頻寬狀況不佳,此時會有較高的濃縮層級且可能僅會在來源串流內容中偵測到指定事件時,串流內容分析單元210才會輸出一張事件來源對應的畫面。在另一方面,若是頻寬允許的情況下,可能會有較低的濃縮層級或是較低的重要性選擇臨界值,此時可能每一路輸入的來源串流內容都會有畫面被串流內容分析單元210選擇並輸出。在某些實施例中,是否選擇輸出單一關鍵畫面或關鍵畫面序列,或是同一時間點是否選擇多路輸入來源也會與用戶端播放器的限制與能力有關。舉例來說,若是某些用戶端播放器無法同時進行多路影像解碼,或是僅有單一顯示區域,那麼可能會採用較高的濃縮比例且同一時間不會有多個串流內容被輸出。
更進一步解釋濃縮比例的調整,舉例來說,較低的濃縮比例層級,可以是指對於重要性分數指標判斷的臨界值可能較為寬鬆(進而會有更多不同的事件被偵測並選擇)或是對於偵
測判斷到的事件能夠輸出較多張的連續畫面。類似地,較高的濃縮比例可能是指每個偵測到的事件可以輸出的畫面較少或是用來判斷事件的臨界值較為嚴格(因此所偵測到的事件會變得比較少)。在一些實施例中,這樣的濃縮比例層級可以是動態的調整或是欲先選定多種不同組態設定以因應不同的串流內容、欲偵測的事件以及不同的網路頻寬條件。
在另一種實施例中,當被選擇的畫面內容其重要性分數指標達到某個程度,並且服務品質控制器250回報的頻寬狀況允許較低層級的濃縮比例時,串流內容分析單元210也可以輸出被選擇的畫面以及其後續一段時間範圍所組成的影像片段以提供更容易了解的濃縮內容。在一種實施例中,被選擇的畫面及後續一段時間範圍所組成的影像片段可以是指以該畫面前或後之關鍵畫面為開頭的影像片段,如第5A及5B圖所示。在另一種實施例中,如第5C圖所示,也可以是透過關鍵畫面序列產生單元290重新產生一關鍵畫面及後續串流所組成的影像片段。
具體舉例但不侷限於地來說,表1係顯示一重要性分數指標表,表2係顯示內容重要性分數表。表1及表2是以內容重要性分數表與重要性分數指標表作為複合濃縮串流選取畫面的方法的一個實施例。串流內容分析單元210分析輸入的來源串流內容,如表1所示,不同的事件類型會依重要性給予不同的串流內容群組。而串流內容分析單元210在偵測不同的來源串流內容中的事件類型後依據目前加權因子給予重要性評分,如表2所示,將結果更新記錄於內容重要性分數指標表中。
第6圖係顯示一依據本揭露實施例之串流內容分析單元210選擇之輸出示意圖。在另一個實施例中,經過串流內容分析單元210選擇後輸出的複合濃縮串流的內容可能是如第6圖所示。圖中影像分為I畫面與P畫面,畫面下方的數字含意,舉例來說,1-2代表視訊來源識別碼為1,該畫面的時間戳為2。由於各自的影像來源開始傳輸的時間點可能並不一致,因此不同來源的影像可能有各自的時間戳序列。
在經過串流內容分析單元210分析後所輸出的複合濃縮串流會輸入至畫面時間戳調整單元230,因為視訊框之間的解碼相依性,同一影像來源的I畫面與P畫面必須連續,故在此實施例中,需要透過調整時間戳的手段來讓同一來源且具有解碼相依的畫面連續輸出。由第6圖的示意圖可以注意到,複合濃縮串流內的每張畫面會伴隨時間戳的處理,而輸出的複合濃縮串流其畫面的排列已經與在原始各個來源串流內容中的時序不相同(舉例來說,複合濃縮串流內畫面(frame)的時間戳順序是1-1、1-2、1-3、3-82,但在原始的來源串流內容之中,由時間的先後順序來看,時間戳3-82出現的時序是在時間戳1-3之前),因此複合濃縮串流內的時間戳有可能不是以單調遞增地(monotonically increasing)方式增加。而隨著每個時間單位(time unit)內與用戶端播放器150頻寬的變化,送出的複合濃縮串流內容資料量也有所變化(如第6圖右下所示)。
而在此系統的某些實施例中,受限於用戶端播放器150的能力的限制(例如,顯示分割視窗或解碼單元資源的限制),在用戶端播放器150播放時必須以單一解碼單元及同一個顯示視窗輪流切換播放源自不同來源串流內容所形成之複合濃縮串流。因此,在這些實施例中,非循序遞增的時間戳會造成用戶端播放器150每張畫面播放時間的混亂。故在這些實施例中,會透過畫面時間戳調整單元230調整複合濃縮串流中各個畫面的時間戳,使得這些實施例中的用戶端播放器150能夠以正確且平順的時序來播放複合濃縮串流內的各個畫面,在此包含調整播放的畫面順序使得同一來源的內容能連續地播放。
另外在一些實施例中,可以進一步透過畫面時間戳調整單元230調整畫面與畫面間時間戳的間隔,達到改變某些畫面或是影像片段在播放時更新間隔的效果,用以改變呈現某些較重要或較不重要的內容之效果。
具體但不侷限地舉例來說,以採用即時傳輸協定(Real-time Transport Protocol,RTP)傳輸H.264影像為例,即時傳輸協定的標頭中時間戳的欄位的單位為1/90000,也就是每增加1秒鐘會增加90000個單位。當偵測到特定事件時,串流內容分析單元210輸出該事件鄰近之關鍵畫面以及後續2張畫面。若原串流內容為每秒15張畫面(即每張畫面時間戳間隔為6000)。在某些實施例中,能藉由調整時間戳間隔為15000,將原本播放時間從3/15=1/5秒延長為15000×3/90000=1/2秒,增加對某些特定重要事件或內容呈現時的比重。在某些實施例中,依照用戶端播放器的能力與限制,若是用戶端播放器具有同時多路影像解碼與顯示的能力,那麼各自的串流內容可以被視為各自獨立的串流並且各自地被播放,此時畫面時間戳調整單元230僅會調整時間戳的間隔以達到特定事件之呈現效果。
於複合濃縮串流調整前後的時間戳,會被記錄在畫面時間戳調整表280中,作為後續影像時間戳調整的依據。具體但不侷限地舉例來說,畫面時間戳調整表280記錄的內容可以包括各個來源串流內容當前輸入的時間戳、時間戳刻度(Scale)以及複合濃縮串流所使用之時間戳。附表三列出了一個實施例中畫面時間戳調整表所記載的內容,其中的欄位紀錄了每個濃縮串流中的每個來源在輸出時,時間戳的轉換對應以及換算刻度,做為後續時
間戳轉換時參照使用。其中濃縮串流識別碼是當一用戶端要求一複合濃縮串流時(即每建立一單一會話時)所產生,不同的用戶端即使要求同樣的串流群組內容,也可能會產生不同的濃縮串流識別碼。舉例來說,可以使用MD5雜湊法對濃縮串流資源標識符(URI)(亦即複合濃縮串流之群組)、收看時間或收看會話連線進行雜湊計算以產生一獨特識別符號,並儲存此一符號以供後續對應與查詢。由於用戶端的發出請求的時間、頻寬、裝置能力,或對於複合濃縮串流中所感興趣的事件類別及其權重可能有所差異,輸出的時間戳與時間戳刻度也會有所差異。
含有各個來自不同來來源串流內容的複合濃縮串流,最後會送到串流資料輸出單元240,將所有來自不同來源的內容混合並使用同一個會話連線(single session)來傳送。因此,對於用戶端播放器150來說,自始至終只有建立一個會話連線來接收
複合濃縮串流。具體舉例但不侷限地來說,濃縮串流單元100提供用戶端播放器150關於複合濃縮串流的位址與連線方式,可以是一個完整的即時串流協定資源識別符(Real Time Streaming Protocol Uniform Resource Identifier,RTSP URI),如rtsp://11.22.33.44:554/condensed_stream_123來取得屬於某個名稱為123的群組的濃縮串流,或是如rtsp://11.22.33.44:554/condensed_stream?codec=h264&format=D1&gis=XYZ來取得具有codec為H.264、影像大小為D1且拍攝地理位置於XYZ等屬性的串流內容的濃縮串流。對於某些實施例中濃縮串流單元耦接於多個串流伺服器時,也可以加上伺服器的識別資訊來指定欲接收的複合濃縮串流是否源自某個特定的伺服器。舉例來說,rtsp://11.22.33.44:554/condensed_stream?codec=h264&server=ignore可以用來取得所有codec具有h264屬性的內容所產生之複合濃縮串流且忽略該內容所來自的伺服器;而rtsp://11.22.33.44:554/condensed_stream?codec=h264&server=server1則是取得源自伺服器「server1」且codec具有h264屬性的複合濃縮串流。
在某些實施例中,串流資料輸出單元240在傳送複合濃縮串流時,會在不同來源串流內容的畫面或影像片段的封包,夾帶用於識別該畫面或影像片段源自來源的識別標籤295,用以提供用戶端播放器150知悉某個特別內容所對應之原始資料內容。識別標籤295在此指的是一獨特的識別符號,用以對應與查詢到一串流內容。舉例來說,可以使用MD5雜湊法對各個內容的原始資源
標識符(URI)、拍攝時間或拍攝者進行雜湊計算以產生一獨特識別符號,並儲存此一符號以供後續對應與查詢。
在另外某些實施例中,串流資料輸出單元240在傳送複合濃縮串流時,也可能夾帶用以宣告目前所有被濃縮的來源串流內容的內容列表295(Table of Condenseds),用以讓用戶端播放器150了解目前接收的複合濃縮串流包含有哪些不同的來源串流。內容列表295可包含濃縮串流識別碼、群組識別碼及分群類別,如編碼屬性(如編碼格式、畫面幀率(frame rate)或是影像格式)、語意屬性(如地理位置、拍攝事件或拍攝者組織編制或社群關係與群組)、或靜態屬性(如預設的特定分群),以及群組內各個來源串流個別屬性(如壓縮設定、地理座標、影音內容的權限組織、內容描述、作者、內容串流所源自的伺服器或是其他的屬性)。在另外一些實施例中,內容列表295還可包括如表一所示之串流分析單元210所使用的事件分析權重(weighting factor),以及如表二所示之事件分析的結果列表(如事件類型與其權重)。具體但不侷限地舉例來說,識別標籤與內容列表可以即時傳輸協定的標頭檔延伸欄位(RTP Header Extension)與即時傳輸控制協定(Real-time Transport Control Protocol,RTCP)封包來傳送,其中不同的來源串流會有各自獨立的識別碼作為識別標籤,舉例來說,可以使用MD5雜湊法產生一獨特識別符號。而內容列表的傳送頻率可以是定時或是當來源內容有變化(新增、離開或是事件更新)時傳送。更進一步舉例說明,前述的附帶在延伸欄位的識別標籤,可以用來作為內容列表查詢時的索引,使得用戶端播放器在收到複合濃縮串流中每個可能源自不同串流內容的資料時,可以用識
別標籤識別原始的串流內容並且在內容列表中進行查詢。
用戶端要求處理器260則是一個用來接收來自用戶端播放器150要求的處理模組。在用戶端播放器150接收複合濃縮串流並播放時,可以解析出由串流資料輸出單元240所夾帶用來識別內容來源的識別標籤或是內容列表。若是使用者對某個來源串流內容的畫面或影像片段有興趣,用戶端播放器150可以透過與該來源串流相關連的識別標籤或內容列表向用戶端要求處理器260送出針對某個來源串流內容的請求。
當用戶端要求處理器260收到這樣的請求,可以以用戶端播放器所使用的識別標籤或內容列表向串流資料輸出單元240與識別標籤及內容列表295進行對應與查詢(mapping and query),並得知使用者於用戶端播放器150所請求的串流為哪一個輸入來源(透過查詢串流輸入表270)。在某些實施例中,來自用戶端播放器150的請求可以是改變某個來源串流內容的重要性權重。在此實施例下,可以永久或是暫時性地改變串流內容分析單元210在計算重要性分數指標時的權重,使得輸出的複合濃縮串流能夠永久性或暫時性地提昇(或降低)來自某個來源串流內容的比例。
在另外一些實施例中,也可以要求串流內容分析單元210永久性或暫時性地提昇(或降低)針對某種特殊事件分析時,計算重要性分數指標的權重。
在另一些實施例中,來自用戶端播放器150的請求也可以直接透過串流資料輸入單元220向串流伺服器110要求一個原始的來源串流內容。第7圖係顯示一依據本揭露實施例用戶端播放
器150透過濃縮串流單元100向串流伺服器110詢問並直接取得某一來源串流內容的系統架構的示意圖。在這種實施例下,用戶端播放器150可以透過一會話請求190(request session),直接要求收看一個源自串流伺服器110且未經過濃縮處理的來源串流內容。而串流伺服器110接收到此會話請求190後,便會傳送所請求的來源串流內容195至用戶端播放器150播放。
如第7圖所示,濃縮串流單元100在上述方式運作並提供複合濃縮串流給用戶端播放器150接收的過程中,串流資料輸入單元220透過檢查輸入的串流內容群組I 140及串流內容群組II 140,能夠動態地因應來自串流伺服器110新增或離開的來源串流內容,更新串流輸入表270、內容重要性分數表275與畫面時間戳調整表280以將新增的來源串流內容新增至複合濃縮串流中(或將離開的來源串流內容自複合濃縮串流移除)。串流資料輸出單元240也會依照新增或刪減後的串流輸入表270更新在複合濃縮串流中所夾帶的識別標籤及內容列表295。藉由識別標籤及內容列表295持續地更新,用戶端播放器150可以藉由解析識別標籤及內容列表295的內容了解當前被濃縮於複合濃縮串流的來源串流內容以及這些來源串流內容的新增刪減等變化。
此外,具有串流傳輸相關領域之技術人員應可容易了解的是,在接收複合濃縮串流時,來自不同的用戶端播放器150所建立的連線,會有不同的服務品質控制器250偵測結果;不同的用戶端播放器150也會依照各個使用者需求的不同送出不同的複合濃縮串流要求160。因此,以上述的架構應該可以得知,即便是要求接收以同一個串流內容群組所產生的複合濃縮串流165,也會
因為不同的服務品質控制器250結果與不同的複合濃縮串流要求160,使得每一用戶端播放器150收到的複合濃縮串流165都會有不同的濃縮後資料量與內容濃縮組成的比例。
另外,用戶端播放器150可以透過對複合濃縮串流內的某些特定內容提出一用戶端請求170,表示希望能夠接收對應該來源的原始且未經處理的來源串流內容。濃縮串流單元100依照用戶端播放器150所請求的用戶端請求170,向串流伺服器110傳送一來源詢問175,用以詢問該來源串流內容的來源。串流伺服器110在接收濃縮串流單元100的來源詢問175後,會回傳一回應訊息180用以答覆濃縮串流單元100所詢問的來源內容所要用來建立串流傳輸所在的位址與連線方式。最後,濃縮串流單元100再將串流伺服器110回覆的回應訊息180回傳給用戶端播放器150。
第8圖係顯示一依據本揭露實施例之串流伺服器110之架構圖。如第8圖所示,串流伺服器110包括一來源內容輸入單元410、一內容分群單元420、一內容群組傳送單元430、一直接串流單元440、一編碼格式分析單元450、一語意群組分析單元455、一靜態群組列表460以及一群組紀錄列表465。
首先,各種不同的來源串流內容,包含即時發佈的即時來源串流內容120以及已儲存於某些儲存媒體用以串流傳輸的已儲存來源串流內容130會輸入至串流伺服器110中的來源內容輸入單元410。直接串流單元440可以接受用戶端播放器150串流連線請求(connection request),並將來源內容輸入單元410接收到的串流內容傳送至用戶端播放器150。
在上述習知的串流伺服器其設計之外,在本揭露
中,當各個來源串流內容輸入至來源內容輸入單元410後,會被傳送至一內容分群單元420。內容分群單元420會依照內容分析的結果將輸入的來源串流內容分類。在某些實施例中,內容分群單元420可以使用一編碼格式分析單元450依照串流內容所使用編碼格式、畫面幀率(frame rate)或是影像格式等屬性進行分類。在另外一些實施例中,也有可能使用一語意群組分析單元455,依照來源串流內容在意義描述上的屬性進行分類。具體但不侷限地來說,可以使用地理位置、拍攝事件或拍攝者組織編制或社群關係與群組等高階意義上等屬性進行分群。在另外一些實施例中,也可以使用一靜態群組列表460,依照靜態定義的分類方式對各個輸入來源進行分類,例如預設某些來源識別碼為特定群組或是某些網路位址的來源為特定群組。
依照內容分群單元420分群的結果,各個輸入的來源串流會在內容群組傳送單元430以分群的結果以串流內容群組140的方式送到濃縮串流單元100中並對每個串流內容群組140中的串流內容產生一複合濃縮串流。當前各輸入來源串流所屬之串流內容群組140的資料,會被記錄在群組紀錄列表465中。具體的舉例來說,群組紀錄列表的內容包含了各個內容它所屬的分類群組(例,內容A屬於群組123);或是在另外一些實施例中會是各個內容它所具有的類別屬性(例,內容B在編碼器的類別為H.264而在地理位置的屬性則位於XYZ區域)。另外,群組紀錄列表465還包含了每個內容送往濃縮串流單元時,所要使用的埠號或是代表某一群組或類別屬性的識別標籤。更具體地舉例來說,在某些實施例可以使用一些特定的傳輸埠號(port)來傳送某個群組的內容
(例,使用port 5556~5560來傳送屬於群組123的串流內容);又或者另外一些實施例可以使用一些獨特的屬性標籤附加在傳送到濃縮串流單元的內容中的欄位(例,為具有編碼器為H.264屬性的內容在傳送時加上”h264”的標籤)。在一些實施例中,還可以加上帶有伺服器本身名稱的屬性資訊,用來讓濃縮串流單元耦接多個串流伺服器時能夠辨識各個群組所來自的串流伺服器。
在另外一些實施例中,群組紀錄列表465還可以包含分群結果中各群組或類別代表或所依據的屬性。舉例來說,如編碼屬性(如編碼格式、畫面幀率(frame rate)或是影像格式)、語意屬性(如地理位置、拍攝事件或拍攝者組織編制或社群關係與群組)、或靜態屬性(如預設的特定分群),以及群組內各個來源串流個別屬性(如壓縮設定、地理座標、影音內容的權限組織、內容描述、作者或是其他的屬性)與串流內容位址(如即時串流協定資源識別符(RTSP URI))。
而在此提及的以分群結果傳送至濃縮串流單元的方式,舉例但不侷限地來說,串流內容群組140的傳送方式可以是定時傳送紀錄於群組列表465之結果,使濃縮串流單元100了解串流內容群組140內各個來源所屬的群組或類別等資訊,也可以是為屬於同一群組的串流內容加上共同的識別標籤,或是透過不同的傳輸埠(port)來傳送不同群組的串流內容。具體以採用即時傳輸協定(RTP)的實施例舉例來說,傳送串流內容的群組的群組列表或群組識別資訊的方式,可透過即時傳輸協定的標頭檔延伸欄位(RTP Header Extension)來附加識別標籤與即時傳輸控制協定(Real-time Transport Control Protocol,RTCP)封包來傳送群組列
表。在此的識別標籤可以使用具有代表意義的識別字符,也可以是一些獨特的特殊編碼字符,如MD5雜湊編碼。
在分組的過程中,若是此時在串流伺服器110有新增加的來源串流內容,會自動依照前面所述的方法,於內容分群單元420分析內容決定該新增來源串流內容所屬之群組。再透過內容群組傳送單元430通知串流伺服器110中的串流資料輸入單元220有新增的來源串流內容,更新串流輸入表270並與該所屬群組中的其他內容一起送至濃縮串流單元100以產生更新後的複合濃縮串流。
類似的狀況,若是在過程之中,有來源串流內容停止發送或是離開原本所在群組,則也會透過內容群組傳送單元430通知濃縮串流單元100中的串流資料輸入單元220需將某個輸入來源串流內容自串流輸入表270中移除。舉例但不侷限地來說,可以透過更新群組列表或是帶有特殊命令的封包來通知串流資料輸入單元220某個來源串流的離開。
在某些實施例中,同一個來源的串流內容,也可以同時屬於多個分類的串流內容群組140。更具體地來說,串流伺服器110在這種實施例可以只傳送一份來源串流內容至濃縮串流單元100,但多個群組列表中皆包含此一來源串流內容。但在另外一些實施例中,也可以在所屬的每個串流內容群組140,皆傳送一份來源串流內容至濃縮串流單元100,例如透過不同的傳輸埠(port)建立連線來為不同群組傳送同一串流內容;或是以不同的來源識別標籤同時附加於一串流內容作為識別區隔。
第9圖係顯示一依據本揭露實施例之用戶端播放器
150之架構圖。此用戶端播放器150包括一串流資料接收單元510、一複合濃縮串流解析單元520、至少一影像解碼單元530、一影像呈現單元540。此用戶端播放器150可為一可攜式的行動裝置。
用戶端播放器150分為兩部份,一部份是先透過串流資料接收單元510自串流伺服器110的直接串流單元440接收個別的來源串流內容195,再透過一影像解碼單元530解碼之後以一單一區域影像呈現單元(Single Area Video Rendering Unit)550以單一視窗將畫面呈現出來。習知的用戶端播放器的功能即為此部份之設計。
在本揭露中,除了習知用戶端播放器的設計之外的另一部份,當串流資料接收單元510接收到來自濃縮串流單元100送來之複合濃縮串流165時,具體來說,透過即時串流協定資源識別符(Real Time Streaming Protocol Uniform Resource Identifier,RTSP URI),如rtsp://11.22.33.44:554/condensed_stream_123來取得屬於某個名稱為123的群組的濃縮串流,或是如rtsp://11.22.33.44:554/condensed_stream?codec=h264&format=D1&gis=XYZ來取得具有codec為H.264、影像大小為D1且拍攝地理位置於XYZ等屬性的串流內容的濃縮串流。複合濃縮串流則會送到複合濃縮串流解析單元520。在複合濃縮串流解析單元520中,原本濃縮在複合濃縮串流165裡的各個來源串流內容與這些內容相關連的識別標籤或內容列表會分別被解析出來。識別標籤是讓用戶端播放器對複合濃縮串流中的各個不同內容能夠進行區分與識別。內容列表可包含群組識別碼及分群類別,如編碼屬性(如編碼格式、畫面幀率(frame rate)或是影像格式)、語意屬性(如地理
位置、拍攝事件或拍攝者組織編制或社群關係與群組)、或靜態屬性(如預設的特定分群),以及各個來源串流個別屬性(如壓縮設定、地理座標、影音內容的權限組織、內容描述、作者、內容串流所源自的伺服器或是其他的屬性)。在另外一些實施例中,內容列表295還可包括如表一所示之串流分析單元210所使用的事件分析權重(weighting factor),以及如表二所示之事件分析的結果列表(如事件類型與其權重)。進一步舉例來說,當用戶端播放器取得識別標籤後,便能夠進一步在內容列表中查詢該串流內容的群組、類別屬性與事件分析結果。更具體但不侷限地舉例來說,識別標籤與內容列表可以即時傳輸協定的標頭檔延伸欄位(RTP Header Extension)與即時傳輸控制協定(Real-time Transport Control Protocol,RTCP)封包來傳送。
解析出來的來源串流內容,會分別被送至一個或多個的影像解碼單元530進行來源串流內容的解碼。在某一些實施例中,解析出來的串流內容群組,會分別送至各自分配的影像解碼單元530進行內容解碼。解碼出來不同來源串流內容的影像將會各自在多分割區域影像(Multiple-divided Area Video Rendering Unit)呈現單元555中不同的分割視窗中呈現。更具體但不侷限地來說,這種實施例的分割視窗可以是將一個圖形使用者介面(Graphical User Interface,GUI)的視窗進行分隔以同時呈現多個不同的影像。
在另外一些實施例中,可能因為受限於用戶端播放器150裝置的限制,解析出來的來源串流內容群組,會統一由單一影像解碼單元530來進行影像解碼。
在另外一些實施例中,因為受限於單一區域影像呈現單元550及多分割區域影像呈現單元555的能力,解碼後得到的影像則會依照複合濃縮串流中的時間戳,也就是濃縮串流單元100中的畫面時間戳調整單元230所調整過的時間戳,在單一視窗的單一區域影像呈現單元550內輪流播放。在此實施中,各個輸入來源串流內容的呈現方式會像是播放單一影像串流,但是來自各個不同串流內容的畫面會以不斷切換輪流播放的方式來呈現。
在某一些實施例中,在影像播放呈現時,可以伴隨顯示解析出的識別標籤,讓使用者可以知悉當前顯示的各個畫面所屬的來源串流。在另外一些實施例中,解析出的內容列表可以用一般用戶容易閱讀的格式,呈現給使用者讓使用者了解當前在複合濃縮串流中所出現的來源。在另外一些實施例中,所呈現給使用者的內容列表以及識別標籤可以作為後續所送出對於來源串流內容的要求的輸入資料。
內容請求處理單元540可以取得在複合濃縮串流解析單元520所拆解出來包含在複合濃縮串流中傳送的識別標籤或內容列表。透過解析的識別標籤或內容列表,使用者可以依照其興趣或需求向濃縮串流單元100中的用戶端要求處理器260以識別標籤或內容列表中項目所對應的輸入來源串流進行一複合濃縮串流的請求160。更進一步說明,因為濃縮串流單元100為每個群組中的各個串流內容產生了識別標籤與內容列表295(用戶端解析取得的識別標籤與內容列表就是從濃縮串流單元100傳送過來),故透過識別標籤或內容列表的項目即可針對某一來源串流進行請求。在一種實施例中是要求對應的輸入來源串流在串流內容分析
單元210進行分析時有較高或較低的分數指標的權重,進而增加或減少該來源串流在複合濃縮串流之中所佔的比例。
在另一種實施例中,也可以要求在事件分析時,調整某些事件在計算分數指標時的權重,進而改變某些特定事件在複合濃縮串流中所佔的比例。
又在另一種實施例中,則可以是透過濃縮串流單元100向串流伺服器110要求傳送識別標籤所對應所輸入原始的來源串流內容至串流資料接收單元510並直接於用戶端播放器150中進行接收與播放。
當在濃縮串流單元100中有來源串流內容被新加入或移除,串流資料接收單元510會透過更新識別標籤或內容列表的方式來告知複合濃縮串流中所包含的來源串流內容有所更動。當複合濃縮串流解析單元520收到這樣的更新變動時,便能夠依照識別標籤或內容列表所顯示的變動,動態地調整用戶端播放器150的資源分配。具體但不侷限的一個實施例中,用戶端播放器150可以在發現有新增輸入來源串流時,在資源許可的前提下增加影像解碼單元530,並於多分割區域影像呈現單元555中分配額外的多分割視窗以呈現新加入的來源串流內容;若是發現有來源串流內容自串流內容群組中被移除,則可以釋放原本指派去解碼與呈現該來源串流內容的資源。
第10圖係顯示一依據本揭露實施例之串流伺服器、濃縮串流單元與用戶端播放器之連線流程圖,並請參考第2圖。首先,於步驟S610中,串流伺服器110首先會將屬於同一個群組的來源串流內容,以群組為單位傳送至濃縮串流單元100中。接著,於
步驟S620中,用戶端播放器150可透過向濃縮串流單元100傳送一複合濃縮串流的請求,用以要求某個串流內容群組的複合濃縮串流。
若是用戶端播放器150所要求的串流內容群組是存在且有效的,於步驟S630中,濃縮串流單元100則將該串流內容群組的複合濃縮串流傳送至用戶端播放器150。
用戶端播放器150在接收並播放複合濃縮串流的同時,在步驟S640中,用戶端播放器150可以透過對複合濃縮串流內某些特定的來源串流內容提出要求,依照使用者對來源串流內容的興趣,要求提昇或降低該來源串流內容在複合濃縮串流中的比例。在另外一些實施例中,要求也可是調整對於某些事件在複合濃縮串流內容中所佔的比例。
第11圖係顯示一依據本揭露實施例之串流伺服器、濃縮串流單元與用戶端播放器之連線流程圖,並請參考第2圖。首先,於步驟S610中,串流伺服器110會將屬於同一個群組的來源串流內容,以群組為單位傳送至濃縮串流單元100。接著,於步驟S620中,用戶端播放器150可透過向濃縮串流單元100傳送一複合濃縮串流的請求,用以要求某個串流內容群組的複合濃縮串流。
若是用戶端播放器150所要求的串流內容群組是存在且有效的,於步驟S630中,濃縮串流單元100則將該串流內容群組的複合濃縮串流傳送至用戶端播放器150。
用戶端播放器150在接收並播放複合濃縮串流的同時,在步驟S640中,用戶端播放器150可以透過對複合濃縮串流內某些特定的來源串流內容提出一用戶端要求170,表示希望能夠
接收對應該來源串流內容原始且未經濃縮處理的來源串流內容。
濃縮串流單元100依照用戶端播放器150所請求的來源串流內容,在步驟S650中,向串流伺服器110傳送一來源詢問175,用以詢問該來源串流內容。
串流伺服器110在接收濃縮串流單元100的來源詢問175後,在步驟S660中,串流伺服器110回覆濃縮串流單元100一回應訊息180,用以回覆所詢問的來源串流內容所要用來建立串流傳輸所在的位址與連線方式。具體舉例但不侷限地來說,位址與連線方式可以是一個完整的即時串流協定資源識別符(Real Time Streaming Protocol Uniform Resource Identifier,RTSP URI),如rtsp://123.4.5.6:554/live_source。
在步驟S670中,濃縮串流單元100將串流伺服器110在步驟S660中所回覆的回應訊息180回傳給用戶端播放器150。
用戶端播放器150在收到濃縮串流單元100回覆的回應訊息180後,在步驟S680中,依照回應訊息180內容中所指定的位址與連線方式直接向串流伺服器110要求來源串流內容的一會話請求190。
串流伺服器110檢查來源串流內容的連線要求,若是成功,在步驟S690中,則建立串流內容的會話連線並開始傳輸所要求的來源串流內容195至用戶端播放器150。
[串流伺服器將串流內容來源進行分群以及傳送的方法]
第12圖係顯示一依據本揭露實施例之在串流伺服器110中將輸入的來源串流內容分群並傳送之流程圖,並請參考第8
圖。首先,在步驟S810中,串流伺服器110中的來源內容輸入單元410接收已儲存的來源串流內容130與即時發佈的來源串流內容120。接著,在步驟S870中,串流伺服器110判斷接收的來源串流內容是否有新增的來源串流內容。
若有發現新增的內容(步驟S870中的「是」),在步驟S820中,內容分群單元420分析檢查新增的來源串流內容所屬的串流內容群組。在此依照實施例的不同可能會使用分析編碼的設定或是影像格式的方法(步驟S850)、依照詮釋資料(metadata)所提供語意的分析方法(步驟S855)或是靜態的分組列表(步驟S860)作為依據。在步驟S880中,而分析的結果會被更新至群組紀錄列表465中。
若沒有發現新增的來源串流內容(步驟870中的「否」),在步驟875中,則內容分群單元420會判斷輸入的來源串流內容是否有來源串流離開或已停止發送來源串流。若發現輸入的來源串流內容有來源串流離開或已停止發送來源串流(步驟875中的「是」),在步驟880中,該來源串流內容也會自群組紀錄列表465中移除。最後,在步驟830中,依照群組紀錄列表465的群組資訊,內容分群單元420會將各來源串流內容以群組的方式傳送至內容群組傳送單元430,再由內容群組傳送單元430傳送至濃縮串流單元100中。
若沒有發現輸入的來源串流內容有來源串流內容離開或已停止發送來源串流內容(步驟875中的「否」),在步驟830中,則直接依照群組紀錄列表465的群組資訊,內容分群單元420會將各來源串流內容以群組的方式傳送至內容群組傳送單元
430,再由內容群組傳送單元430傳送至濃縮串流單元100中。
另外,來源串流內容在步驟S810被收到時,在步驟S840中,串流伺服器110也可直接以串流的方式傳送原始的來源串流內容至用戶端播放器150。在步驟S845中,濃縮串流單元100可向串流伺服器110傳送一用戶端要求170,詢問某來源串流內容的取得方式或取得在步驟S840中所使用的來源串流內容位址,並且串流伺服器110將得到的取得方式與位址回覆給濃縮串流單元100。
第13A~13B圖係顯示一依據本揭露實施例之在濃縮串流單元100中產生複合濃縮串流之方法流程圖,並請參考第4圖。
首先,在步驟S710中,濃縮串流單元100中的串流資料輸入單元220會接收經由串流伺服器110分群完成並以群組傳送的串流內容群組。接著,在步驟S715中,串流資料輸入單元220將接收到的串流內容群組更新至串流輸入表270中(步驟S760)。
在步驟S720中,串流內容分析單元210會對串流內容群組中的各個來源串流內容進行內容的分析。在不同的實施例中,舉例但不侷限地來說,分析的方法可以是偵測畫面變動、物件偵測、臉孔偵測或車牌偵測等事件。分析的方式也可以是在沒有特殊事件時,以累積的資料量或是時間的間隔作為分析的方式。依照分析到的事件與內容,各個來源的內容會分析出一個重要性分數指標,並儲存到內容重要性分數表275(步驟S765)作持續的追蹤統計。
若某個來源的內容之重要性分數指標滿足某個條件時,便會被選為輸出至複合濃縮串流。在某些實施例中,關鍵畫
面序列產生單元290於步驟S755中會判斷被選擇輸出代表該內容的畫面是否需重新產生為一關鍵畫面。若需重新產生關鍵畫面(步驟S755中的「是」),在步驟S725中,則將該內容畫面重新以關鍵畫面的方式與(或)其接續的片段輸出至複合濃縮串流。
在另外一些實施例中,也可以不需要經過關鍵畫面序列產生單元290的檢查,直接以該內容畫面鄰近的關鍵畫面與(或)其接續的片段輸出至複合濃縮串流。
在步驟S730中,畫面時間戳調整單元230將被選擇的複合濃縮串流,對可能已經被調整過時序或源自各個不同來源的內容畫面進行時間戳的調整,用以讓某些實施例中的一用戶端播放器150能夠以濃縮串流單元100預期的方式播放。在步驟S770中,畫面時間戳調整單元230並將時間戳紀錄於一畫面時間戳調整表280中。
在某些實施例中,在步驟S730中,也可以透過畫面時間戳調整單元230調整某些來源串流內容在最後播放時所呈現時間的長度與比例。
接著,在步驟S735中,串流資料輸出單元240會在調整時間戳完成的複合濃縮串流中加入用來識別各個來源串流內容的識別標籤或內容列表,並傳送到用戶端播放器150中,所使用的識別標籤或內容列表會被記錄在識別標籤或內容列表(步驟S775)中。
另外,在步驟S740中,服務品質控制器250會偵測統計網路狀況與用戶端播放器150的緩衝區滿溢程度來控制步驟S720中串流內容分析單元210在進行資料濃縮時的比例以控制最
終輸出之複合濃縮串流的資料量。
再者,在步驟S745中,濃縮串流單元100中的用戶端要求處理器260接收用戶端播放器150對於某個來源串流內容的要求。當用戶端要求處理器260接收到一用戶端要求170時,會去以用戶端要求170中所指出的識別標籤或內容列表去查詢識別標籤或內容列表(步驟S775)及比對串流輸入表270(步驟S760),以得到用戶端播放器150所要求來源串流內容之資料。
在某些實施例中,串流內容分析單元210會直接依照用戶端要求的內容,提昇或降低在步驟S720中該來源串流內容的內容分析時,其內容重要性分數指標的權重或是滿足條件,以暫時或永久地改變該來源串流內容在複合濃縮串流中所佔的比例。
在另外一些實施例中,串流內容分析單元210也可以依照用戶端要求,提昇或降低在步驟S720中某些特定事件內容分析時,所使用之重要性分數指標的權重,以暫時或永久地改變某些事件在複合濃縮串流中所佔的比例。
在另外一些實施例中,用戶端要求處理器260會依照查詢識別標籤或內容列表(步驟S775)及比對串流輸入表270(步驟S760)得到的來源內容資料,在步驟S750中,串流資料輸入單元220會向串流伺服器110傳送一來源詢問,詢問是否可以供用戶端播放器150直接取得該來源串流內容位址與取得方式,以及接收串流伺服器110所傳回的回應訊息。傳回的回應訊息可以再透過步驟S745之後的流程回覆給收用戶端播放器150知道。
第14A~14B圖係顯示一依據本揭露實施例之在用戶端播放器150中接收、處理及播放複合濃縮串流之方法流程圖,並
請參考第9圖。
首先,在步驟S910中,用戶端播放器150中的串流資料接收單元510能夠自串流伺服器110直接接收來源串流內容的資料,也可以接收來自濃縮串流單元100的複合濃縮串流。
在步驟S960中,串流資料接收單元510收到的串流資料後會先判斷是否為複合濃縮串流。若不是複合濃縮串流(步驟S960中的「否」),在步驟S915中,影像解碼單元530會進行串流資料解碼。最後,在步驟S920中,影像呈現單元550將資料在一影像呈現區中以單一視窗呈現。
若串流資料為複合濃縮串流(步驟S960中的「是」),在步驟S930中,複合濃縮串流解析單元520會先將複合濃縮串流中的各個來源串流內容以及所伴隨用來識別用的識別標籤或內容列表拆解取出。
拆解取出的各個來源串流內容後,在步驟S965中,複合濃縮串流解析單元520判斷用戶端播放器150是否可提供多組解碼。在某些實施例中,若是用戶端播放器150因為資源限制無法提供多組解碼器,在步驟S935中,則使用單一的影像解碼單元530進行資料解碼。在另外一些實施例中,若是用戶端播放器150可以提供多組解碼器,在步驟S945中,複合濃縮串流解析單元520則將各來源串流內容分別指派至各自的影像解碼單元530進行資料解碼。
接下來,在步驟S970中,影像解碼單元530判斷影像呈現單元是否支援多個視窗的影像呈現顯示。在某些實施例中,若是用戶端播放器150因為資源限制無法提供多個分割的影像視
窗來呈現畫面,在步驟S940中,則將各個來源串流內容依照複合濃縮串流所標註之時間戳順序輪流在影像呈現單元的單一視窗中顯示呈現影像。在另外一些實施例中,若是用戶端播放器150可以提供多個分割視窗來呈現影像畫面,在步驟S950中,則分別將不同來源串流內容在各自不同的分割視窗中呈現顯示影像。
若是用戶端播放器150的使用者對特定某個或某些來源的內容感到興趣,可將感興趣的來源所關連的、存在於的識別標籤或內容列表(步驟S980),經由步驟S955,將對於該來源串流內容的要求送至濃縮串流單元100。
對於來源內容的要求,在某些實施例中,可以要求增加或減少(暫時性地或永久性地)某個來源串流內容在複合濃縮串流中所佔的比例。
在另外一些實施例中,可以要求增加或減少(暫時性地或永久性地)某些事件在複合濃縮串流中所佔的比例。
在這些實施例的方式,能夠減少重新建立新的連線會話所耗費的時間與資源。
在另外一些實施例中,用戶端播放器150可以直接傳送一來源詢問175,要求濃縮串流單元100詢問是否可以取得關於某一原始的來源串流內容。若濃縮串流單元100可以取得關於某一原始的來源串流內容,在步驟S955中,則可接收到所詢問到關於某一來源的原始串流內容的取得與連接方式(舉例但不侷限地來說,像是即時串流協定的資源識別符(RTSP URI))。在步驟S910中,並於用戶端播放器150中進行該原始串流內容的連接與資料接收。在這樣的實施例可以讓用戶端播放器150能有未被濃縮修改的
來源串流內容以保有所有完整的原始資料。
需注意的是,雖然本揭露之前述串流伺服器、濃縮串流單元及用戶端播放器為該系統之單獨組件,但此等組件可被整合至一起,因而降低系統內的組件數。同理,一或以上的組件可被分開使用,因而增加系統內的組件數。
因此,透過本揭露之產生複合濃縮串流的方法與系統,可將多個來源串流內容,動態地依照內容事件或是使用者的興趣將內容資料濃縮並混合於單一會話(single session)中傳送。在傳送的過程中也會依據接收端裝置的能力與網路狀況,改變濃縮的程度與比例以符合各接收端不同需求。用戶端播放器接收到濃縮串流後會依照其能力能有不同的呈現方式與串流內容調整的手段。此外,藉由本揭露的系統與方法,還可達到許多優點:(1)縮短使用者同時收看多個串流內容的等待時間並提供全局頻道重點預覽。(2)伺服器自動且動態地依據接收端裝置能力與網路狀況調整濃縮串流的內容,改善使用者收視觀感。(3)使用者以較少的頻寬就可以同時收看多個內容,並依據接收到的濃縮串流,提供適當的呈現方式。結合上述的優點,本揭露應用於網路串流應用可提供更佳的收視效果。
雖然本揭露已以較佳實施例揭露如上,然其並非用以限定本揭露,任何熟悉此項技藝者,在不脫離本揭露之精神和範圍內,當可做些許更動與潤飾,因此本揭露之保護範圍當視後附之申請專利範圍所界定者為準。
150‧‧‧用戶端播放器
165‧‧‧複合濃縮串流
195‧‧‧來源串流內容
510‧‧‧串流資料接收單元
520‧‧‧複合濃縮串流解析單元
530‧‧‧影像解碼單元
540‧‧‧內容請求處理單元
550‧‧‧單一區域影像呈現單元
555‧‧‧多分割區域影像呈現單元
Claims (8)
- 一種播放器,在一用戶端中使用,耦接於一串流伺服器及一濃縮串流單元,包括:一串流資料接收單元,用以接收該濃縮串流單元所傳送之一複合濃縮串流;一複合濃縮串流解析單元,耦接於該串流資料接收單元,用以接收該串流資料接收單元所傳送之該複合濃縮串流,並由該複合濃縮串流中解析出複數來源串流;至少一影像解碼單元,用以接收該複合濃縮串流解析單元所解析出的該等複數來源串流,並對該等複數來源串流進行解碼成複數影像;以及一影像呈現單元,依照該複合濃縮串流調整過之時間戳,以一單一視窗依序呈現該等複數影像。
- 如申請專利範圍第1項所述之播放器,更包括:一內容請求處理單元,用以取得該複合濃縮串流所包含的一識別標籤或內容列表,接收一使用者所輸入一用戶端請求,並將該用戶端請求傳送至該濃縮串流單元。
- 如申請專利範圍第1項所述之播放器,其中該串流接收器更接收該串流伺服器以一串流形式所傳送之一來源串流,該播放器更包括:一影像解碼單元,用以解碼來自該串流伺服器的該來源串流內容成該等複數影像;以及 一單一區域畫面影像呈現單元,用以顯示該等複數影像。
- 如申請專利範圍第1項所述之播放器,其中該播放器為一行動裝置。
- 一種播放複合濃縮串流之方法,用於一用戶端播放器中,其中該用戶端播放器耦接於一濃縮串流單元及一串流伺服器,該方法包括:接收該濃縮串流單元所傳送之一複合濃縮串流;由該複合濃縮串流中解析出複數來源串流;將該等複數來源串流進行解碼成複數影像;以及依照該複合濃縮串流調整過之時間戳,以一單一視窗依序呈現該等複數影像。
- 如申請專利範圍第5項所述之播放複合濃縮串流之方法,更包括:取得該複合濃縮串流所包含的一識別標籤或內容列表;接收一使用者所輸入一用戶端請求;以及傳送該用戶端請求至該濃縮串流單元。
- 如申請專利範圍第5項所述之播放複合濃縮串流之方法,若接收到該串流伺服器以一串流形式所傳送之一來源串流,則該方法更包括:解碼來自該串流伺服器的該來源串流內容成該等複數影像;以及顯示該等複數影像。
- 如申請專利範圍第5項所述之播放複合濃縮串流之方法,其中該用戶端播放器為一行動裝置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104101282A TWI574558B (zh) | 2011-12-28 | 2011-12-28 | 播放複合濃縮串流之方法以及播放器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104101282A TWI574558B (zh) | 2011-12-28 | 2011-12-28 | 播放複合濃縮串流之方法以及播放器 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201517607A TW201517607A (zh) | 2015-05-01 |
TWI574558B true TWI574558B (zh) | 2017-03-11 |
Family
ID=53720572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104101282A TWI574558B (zh) | 2011-12-28 | 2011-12-28 | 播放複合濃縮串流之方法以及播放器 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI574558B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107392220B (zh) * | 2017-05-31 | 2020-05-05 | 创新先进技术有限公司 | 数据流的聚类方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040125877A1 (en) * | 2000-07-17 | 2004-07-01 | Shin-Fu Chang | Method and system for indexing and content-based adaptive streaming of digital video content |
CN1913580A (zh) * | 2006-08-18 | 2007-02-14 | 康佳集团股份有限公司 | 具有频道预览功能的电视机及其频道选择方法 |
US20070204302A1 (en) * | 2006-02-10 | 2007-08-30 | Cox Communications | Generating a personalized video mosaic in a cable services network |
US20080307482A1 (en) * | 2007-06-06 | 2008-12-11 | Dell Products, Lp | System and method of accessing multicast digital video broadcasts |
TW200943972A (en) * | 2008-01-12 | 2009-10-16 | Innotive Inc Korea | Video processing system, video processing method, and video transfer method |
CN101677396B (zh) * | 2008-09-16 | 2011-07-20 | 华为技术有限公司 | 一种预览频道媒体流协商的方法、系统和装置 |
-
2011
- 2011-12-28 TW TW104101282A patent/TWI574558B/zh active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040125877A1 (en) * | 2000-07-17 | 2004-07-01 | Shin-Fu Chang | Method and system for indexing and content-based adaptive streaming of digital video content |
US20070204302A1 (en) * | 2006-02-10 | 2007-08-30 | Cox Communications | Generating a personalized video mosaic in a cable services network |
CN1913580A (zh) * | 2006-08-18 | 2007-02-14 | 康佳集团股份有限公司 | 具有频道预览功能的电视机及其频道选择方法 |
US20080307482A1 (en) * | 2007-06-06 | 2008-12-11 | Dell Products, Lp | System and method of accessing multicast digital video broadcasts |
TW200943972A (en) * | 2008-01-12 | 2009-10-16 | Innotive Inc Korea | Video processing system, video processing method, and video transfer method |
CN101677396B (zh) * | 2008-09-16 | 2011-07-20 | 华为技术有限公司 | 一种预览频道媒体流协商的方法、系统和装置 |
Non-Patent Citations (2)
Title |
---|
C. B. Lee, et al., "Computation of Effective Bandwidth of Aggregated VBR MPEG Video Traffic in ATM Networks Using the Modified Equivalent Capacity," 1996 IEEE International Conference on Communications, Volume 2, Pages 627-631, IEEE, June 1996. * |
S.-F. Chang, et al., "Video Adaptation: Concepts, Technologies, and Open Issues," Proceedings of the IEEE, Volume 93, Issue 1, Pages 148-158, IEEE, Jan. 2005. * |
Also Published As
Publication number | Publication date |
---|---|
TW201517607A (zh) | 2015-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI519147B (zh) | 提供與傳送複合濃縮串流之方法以及系統 | |
TWI714602B (zh) | 超級本文傳輸協定(http)上動態自適應串流(dash)客戶經驗品質度量之中間軟體傳遞 | |
JP5932070B2 (ja) | コード化ビデオデータのネットワークストリーミングのためのメディア表現グループ | |
WO2018014523A1 (zh) | 一种媒体数据的获取方法和装置 | |
CN103843301A (zh) | 经译码多媒体数据的网络串流期间的表示之间的切换 | |
JP2019523600A (ja) | メディアストリーミングのためのセグメントチャンクの検索およびアクセス | |
TWI768179B (zh) | 在串流媒體服務中發信號及報告互動性使用 | |
KR20200024207A (ko) | 파일 포맷 박스들에 대한 제네릭 디스크립터를 사용한 미디어 데이터의 프로세싱 | |
JP2019525677A (ja) | メディアデータストリーミングのためのseiトラックのシステムレベルシグナリング | |
KR20230030589A (ko) | 스위칭 세트들을 갖는 어드레스가능한 리소스 인덱스 트랙을 포함하는 미디어 데이터의 스트리밍 | |
CN108494792A (zh) | 一种flash播放器播放hls视频流的转换系统及其工作方法 | |
EP2453652B1 (en) | Transmission method, receiving method and device for scalable video coding files | |
CN112771876B (zh) | 检索媒体数据的方法和设备以及发送媒体数据的方法和设备 | |
KR101805424B1 (ko) | 브로드캐스트 수반 시스템에서의 매니페스트 메커니즘 | |
TW202236856A (zh) | 媒體資料的後台資料流量分配 | |
TWI574558B (zh) | 播放複合濃縮串流之方法以及播放器 | |
WO2018171567A1 (zh) | 播放媒体流的方法、服务器及终端 | |
US20210306703A1 (en) | Determination of availability of chunks of data for network streaming media data | |
WO2023150901A1 (zh) | 一种数据处理方法、装置、存储介质和计算机设备 | |
US7983251B2 (en) | Broadcasting service transmission/reception method and apparatus for providing fast access to broadcasting service |