本申請是申請日為2013年12月10日、申請?zhí)枮?013106653365、發(fā)明名稱為“信息處理裝置、攝像裝置及其控制方法”的申請的分案申請。
本發(fā)明涉及一種信息處理裝置、攝像裝置及其控制方法。
背景技術:
在傳統(tǒng)的直播流(livestreaming)中,由于實時質量被認為很重要,因此在流數(shù)據(jù)的傳送中使用rtp(實時傳輸協(xié)議)/udp(用戶數(shù)據(jù)報協(xié)議)協(xié)議。該直播流一般用來進行觀看。然而,這種方法可能導致數(shù)據(jù)丟失等,而不適合諸如希望在接收終端裝置中記錄流數(shù)據(jù)的情況。相反,存在在正常模式和文件傳送模式之間切換操作的方法,其中,在正常模式下,照相機連續(xù)發(fā)送攝取的視頻,在文件傳送模式下,照相機在來自客戶的指令控制下臨時存儲攝取的視頻作為文件,并且傳送文件(日本特許第4341616號公報)。
另一方面,還可以想到利用通過將流數(shù)據(jù)分割為固定持續(xù)時間的片段而獲得的片段數(shù)據(jù)以及包含該信息的播放列表,來實現(xiàn)直播的方法。然而,在上述傳統(tǒng)示例中,存在如下問題:由于使用http作為通信協(xié)議,并且依據(jù)網絡狀況可能出現(xiàn)長的延遲,因此播放列表方法由于片段獲取中的延遲而不適合直播觀看。
技術實現(xiàn)要素:
本說明書在其第一方面提供一種信息處理裝置,其具有用于與攝像裝置進行通信的通信單元,所述信息處理裝置通過依次獲取各自是所述攝像裝置攝取的視頻數(shù)據(jù)的一部分的片段,來播放所述視頻數(shù)據(jù),所述信息處理裝置包括:列表請求單元,其經由所述通信單元向所述攝像裝置發(fā)送對片段列表的請求,其中,所述片段列表包括述攝像裝置正在攝取的視頻數(shù)據(jù)的片段信息;列表獲取單元,其獲取所述列表請求單元請求的所述片段列表;確定單元,其在所述列表獲取單元獲取的所述片段列表中指示的片段中,確定要請求的片段;第一片段請求單元,其經由所述通信單元向所述攝像裝置發(fā)送對所述確定單元確定的片段的請求;第一片段獲取單元,其獲取所述第一片段請求單元請求的片段;以及播放單元,其播放所述第一片段獲取單元獲取的片段,其中,每當所述第一片段獲取單元獲取預定次數(shù)的片段時,所述列表請求單元向所述攝像裝置發(fā)送對最新片段列表的請求,以及所述確定單元基于所述最新片段列表確定要請求的片段。
本說明書在其第二方面提供一種攝像裝置,其具有攝像單元,所述攝像裝置在使用所述攝像單元進行攝像的同時,依次發(fā)送各自作為所述攝像單元獲得的視頻數(shù)據(jù)的一部分的片段,所述攝像裝置包括:管理單元,其使用片段列表對所述攝像單元獲得的片段進行管理;列表發(fā)送單元,其響應于來自信息處理裝置的片段列表請求,發(fā)送所述片段列表;以及片段發(fā)送單元,其發(fā)送在所述片段列表中管理的片段中的所述信息處理裝置請求的片段,其中,每當所述攝像單元獲得了新片段時,所述管理單元向所述片段列表添加新片段信息,以及所述管理單元從所述片段列表中刪除所述片段發(fā)送單元向所述信息處理裝置發(fā)送的片段的片段信息。
本說明書在其第三方面提供一種信息處理裝置的控制方法,所述信息處理裝置具有被配置為與攝像裝置進行通信的通信單元,所述信息處理裝置通過依次獲取各自是所述攝像裝置攝取的視頻數(shù)據(jù)的一部分的片段,來播放所述視頻數(shù)據(jù),所述控制方法包括:列表請求步驟,經由所述通信單元向所述攝像裝置發(fā)送對片段列表的請求,其中,所述片段列表包括所述攝像裝置正在攝取的視頻數(shù)據(jù)的片段信息;列表獲取步驟,獲取在所述列表請求步驟中請求的所述片段列表;確定步驟,在所述列表獲取步驟中獲取的所述片段列表中指示的片段中,確定要請求的片段;第一片段請求步驟,經由所述通信單元向所述攝像裝置發(fā)送對所述確定步驟確定的片段的請求;第一片段獲取步驟,獲取在所述第一片段請求步驟中請求的片段;以及播放步驟,播放在所述第一片段獲取步驟中獲取的片段,其中,每當在所述第一片段獲取步驟中獲取預定次數(shù)的片段時,在所述列表請求步驟中,向所述攝像裝置發(fā)送對最新片段列表的請求,以及在所述確定步驟中,基于所述最新片段列表確定要請求的片段。
本說明書在其第四方面提供一種攝像裝置的控制方法,所述攝像裝置具有攝像單元,所述攝像裝置在使用所述攝像單元進行攝像的同時,依次發(fā)送各自作為所述攝像單元獲得的視頻數(shù)據(jù)的一部分的片段,所述控制方法包括:管理步驟,使用片段列表對所述攝像單元獲得的片段進行管理;列表發(fā)送步驟,響應于來自信息處理裝置的片段列表請求,發(fā)送所述片段列表;以及片段發(fā)送步驟,發(fā)送在所述片段列表中管理的片段中的所述信息處理裝置請求的片段,其中,每當所述攝像單元獲得了新片段時,在所述管理步驟中,向所述片段列表添加新片段信息,以及在所述管理步驟中,從所述片段列表中刪除在所述片段發(fā)送步驟中向所述信息處理裝置發(fā)送的片段的片段信息。
根據(jù)本發(fā)明,在能夠與外部裝置進行通信的攝像裝置中,特別在通過直播流將直播數(shù)據(jù)記錄到外部裝置的情況下,能夠在抑制對觀看的任何影響的同時沒有數(shù)據(jù)損失地保存數(shù)據(jù)。
從以下對示例性實施例的描述(參考附圖),本發(fā)明的其它特征將變得明顯。
附圖說明
圖1是示出適用第一實施例的照相機1000的示例性配置的圖。
圖2是示出適用第一實施例的終端裝置2000的示例性配置的圖。
圖3是示出根據(jù)第一實施例的通信系統(tǒng)中的通信序列的圖。
圖4是示出根據(jù)第一實施例的示例性播放列表的圖。
圖5a和5b是示出根據(jù)第一實施例的在擁塞時包括的播放列表的示例性轉變的圖。
圖6是示出根據(jù)第一實施例的照相機1000進行的處理的流程圖的圖。
圖7是示出根據(jù)第一實施例的終端裝置2000進行的處理的流程圖的圖。
圖8是示出根據(jù)第一實施例的終端裝置2000的示例性畫面的圖。
圖9a和9b是示出根據(jù)第二實施例的在擁塞時包括的播放列表的示例性轉變的圖。
圖10是示出根據(jù)第二實施例的照相機1000進行的處理的流程圖的圖。
圖11是示出根據(jù)第二實施例的終端裝置2000進行的處理的流程圖的圖。
具體實施方式
下面,根據(jù)附圖,詳細描述根據(jù)本發(fā)明的實施例。
第一實施例
圖1和2示出了用作攝像裝置的照相機1000和用作顯示從照相機1000接收到的視頻的信息處理裝置的終端裝置2000的示例性配置,照相機1000和終端裝置2000是第一實施例的視頻處理系統(tǒng)的構成構件。作為攝像裝置,除了主要功能是所謂的攝像的靜止照相機和視頻照相機之外,還可以使用照相機移動電話或者所謂的平板電腦。除了一般的個人計算機之外,還可以使用包括諸如所謂的智能電話的移動電話、所謂的平板電腦、tv等的信息處理裝置,用作終端裝置2000。
在圖1的照相機1000中,cpu(中央處理單元)1001、rom(只讀存儲器)1002、ram(隨機存取存儲器)1003、輸入處理單元1004、輸出處理單元1006、通信控制器1008、記錄介質控制器1011、照相機信號處理器1015和編碼/解碼處理單元1016連接到內部總線1010。連接到內部總線1010的構成元素被配置為能夠經由內部總線1010彼此交換數(shù)據(jù)。
rom1002在其中存儲有用于cpu1001的操作的各種程序和設置數(shù)據(jù)。還包括閃存等。在ram1003中,適當?shù)卮鎯υ赾pu1001的操作期間需要的程序、變量、任務的臨時數(shù)據(jù)等。
cpu1001使用ram1003作為工作存儲器,根據(jù)存儲在rom1002或者記錄介質1012中的程序,對該照相機1000的構成元素進行控制。
光學系統(tǒng)1013是包括聚焦機構、光圈機構等的攝像鏡頭,其形成被攝體的光學圖像。攝像設備1014由ccd傳感器、cmos傳感器等構成,這里,攝像設備1014包括a/d轉換器,并且將光學圖像轉換為模擬電信號,然后將模擬電信號轉換為數(shù)字信號。
照相機信號處理器1015在cpu1001的控制下,對由攝像設備1014轉換的數(shù)字信號進行諸如包含預定像素插值和縮小的調整大小、顏色轉換以及各種校正處理的處理。
編碼/解碼處理單元1016在cpu1001的控制下,以預定比特率將由照相機信號處理器1015處理的數(shù)字信號壓縮編碼為預定格式,或者對壓縮編碼的視頻數(shù)據(jù)進行解碼。
注意,雖然未特別示出音頻,但是在與音頻一起分發(fā)視頻的情況下,將提供麥克風、用于將音頻模擬信號數(shù)字化的a/d轉換器、以及用于對數(shù)字數(shù)據(jù)進行編碼的配置。自然,在進行視頻記錄時,將與視頻一起同時記錄音頻,并且通過由編碼/解碼處理單元1016復用視頻和音頻,來生成帶有音頻的視頻數(shù)據(jù)。
輸入處理單元1004接收操作單元1005上的用戶操作,根據(jù)操作生成控制信號,并且向cpu1001提供控制信號。例如,操作單元1005具有諸如鍵盤的文本輸入設備、諸如鼠標或觸摸面板的指示設備等,作為用于接收用戶操作的輸入設備。此外,還包括諸如紅外遙控的遠程可操作設備。注意,觸摸面板是如下輸入設備,其被配置為能夠輸出例如取決于在具有平面配置的輸入單元上所觸摸的位置的坐標信息。由此,可以根據(jù)用戶操作來操作照相機1000。
輸出處理單元1006基于cpu1001根據(jù)程序生成的gui(圖形用戶接口)等的顯示數(shù)據(jù),向顯示單元1007輸出使得進行顯示的顯示信號。
注意,在使用觸摸面板作為操作單元1005的情況下,可以將操作單元1005和顯示單元1007集成為一體。例如,將觸摸面板配置為透光性足夠高,而不干擾顯示單元1007的顯示,并且觸摸面板附裝在顯示單元1007的顯示表面的上層。觸摸面板的輸入坐標和顯示單元1007上的顯示坐標也彼此相映射。由此,能夠構成使得看起來就像用戶可以直接操作顯示單元1007上顯示的畫面一樣的gui。
記錄介質控制器1011連接諸如hdd或非易失性半導體存儲器的記錄介質1012,并且在cpu1001的控制下進行從連接的記錄介質1012的數(shù)據(jù)讀取和到記錄介質1012的數(shù)據(jù)寫入。注意,可連接到記錄介質控制器1011的記錄介質1012可以是諸如例如經由未示出的槽等連接的存儲卡的可移除非易失性半導體存儲器。
除了攝取的視頻數(shù)據(jù)之外,記錄介質1012還可以記錄cpu1001進行控制所需的信息。
通信控制器1008在cpu1001的控制下,經由連接器(有線)/天線(無線)1009,與外部裝置(實施例中的終端裝置2000)進行通信??梢允褂弥T如用于無線通信的ieee802.11和藍牙(bluetooth)以及用于有線通信的ieee802.3的標準,來進行通信。
由于圖2中的終端裝置2000的大部分配置與照相機1000類似,因此省略與照相機1000重疊的對從cpu2001到記錄介質2012的構成元素的描述。編碼/解碼處理單元2013在cpu2001的控制下,對壓縮編碼的視頻數(shù)據(jù)進行解碼,并且在需要的情況下,對解碼的數(shù)據(jù)重新進行編碼。
圖3是示出根據(jù)第一實施例的示例性通信系統(tǒng)的圖。本實施例的通信系統(tǒng)利用播放列表執(zhí)行直播流。首先,利用播放列表的直播的基本操作如下。
處理1:服務器(實施例中的照相機1000)將流數(shù)據(jù)分割為固定持續(xù)時間的片段,并且創(chuàng)建列出(描述)片段的獲取位置的播放列表。在直播流的情況下,由于周期性地生成片段,因此使用當生成新片段時動態(tài)地更新(通過刪除/添加)為具有新內容的播放列表的滑動窗口播放列表。
處理2:客戶機(實施例中的終端裝置2000)獲取并分析播放列表,并且按照列表順序從片段數(shù)據(jù)獲取位置獲取數(shù)據(jù)。
處理3:客戶機播放/顯示或保存獲取的數(shù)據(jù)。
處理4:服務器和客戶機重復處理1至3,直到播放列表結束(直播結束)為止。
下面,描述利用播放列表的直播流的概要操作。
現(xiàn)在,基于上述基本操作,使用圖1、2、3和8,描述本實施例中的利用播放列表的直播流的概要操作。
當用戶從照相機1000中的操作單元1005執(zhí)行直播流模式時,照相機1000在cpu1001的控制下,將通信控制器1008設置為可通信狀態(tài)。
此外,用戶通過操作終端裝置2000中的操作單元2005,啟動通信/連接處理和直播流所需的應用。作為響應,終端裝置2000的cpu2001根據(jù)存儲在rom2002或者記錄介質2012中的程序,對通信控制器2008進行控制,開始與照相機1000進行通信,并且進行連接處理。
這里,照相機1000和終端裝置2000使用http(超文本傳輸協(xié)議)作為通信協(xié)議。此外,在通信/連接中支持upnp(通用即插即用)。upnp兼容的終端裝置2000在連接到網絡時,使用dhcp(動態(tài)主機配置協(xié)議)或者自動ip,來設置ip(因特網協(xié)議)地址。獲取了ip地址的終端裝置2000為了相互識別網絡上的其它設備,使用“devicediscoveryandcontrol(設備發(fā)現(xiàn)和控制)”進行設備搜索,并且獲取進行響應的設備的類型、服務功能等的信息(步驟3003)。照相機1000響應于來自終端裝置2000的設備搜索請求,發(fā)送回設備信息、設備固有信息的播放列表獲取位置信息等(步驟3004)。
當連接照相機1000和終端裝置2000的處理完成時,照相機1000啟動直播流。
圖8是終端裝置2000上的示例性直播流應用畫面,其示出了將操作單元2005和顯示單元2007集成為一體的示例。在顯示區(qū)域8001中顯示直播流數(shù)據(jù),并且照相機狀態(tài)由變焦位置信息(8002)、記錄狀態(tài)(8003)、電池信息(8004)等指示。
在直播流中,照相機1000的cpu1001開始從攝像設備1014的信號輸出,使用照相機信號處理器1015將輸出處理為合適的視頻數(shù)據(jù),并且將數(shù)據(jù)傳送到編碼/解碼處理單元1016。這時,cpu1001還將諸如變焦倍率(或者焦距)的與照相機狀態(tài)相關的信息傳送到編碼/解碼處理單元1016。
編碼/解碼處理單元1016以預定比特率將接收到的視頻數(shù)據(jù)、照相機狀態(tài)信息等,壓縮編碼為預定格式,此外,將視頻數(shù)據(jù)分割為預定持續(xù)時間ts的片段,并且將獲得的數(shù)據(jù)作為片段數(shù)據(jù)(3002)保存在ram1003或者記錄介質1012中。注意,在本實施例中,ts=0.5秒。相應地,準確地說,在終端裝置2000中,在照相機1000進行攝取之后ts秒(0.5秒),接收并播放或者記錄視頻。
cpu1001生成與片段數(shù)據(jù)存儲位置相關聯(lián)的路徑信息。使用該路徑信息作為終端裝置2000進行片段獲取時的獲取位置信息,并且cpu1001創(chuàng)建播放列表3001并將片段信息與路徑信息一起記錄到播放列表。
這里,詳細描述播放列表3001。圖4是根據(jù)第一實施例的示例性播放列表。
播放列表4010是擴展m3u格式的,其中,在第一行(4011)中描述了標識符標記,并且在第二行(4012)中描述了示出播放列表版本的標記和版本。在本示例中,版本為“3”。在第三行(4013)中描述了示出片段數(shù)據(jù)3002的持續(xù)時間的標記和整數(shù)或小數(shù)形式的持續(xù)時間(秒)。在本實施例中,假定將片段數(shù)據(jù)持續(xù)時間設置為ts=0.5(秒),并且在本示例中,還假定片段數(shù)據(jù)持續(xù)時間為“0.5”。在第四行(4014)中描述了片段數(shù)據(jù)3002的獲取位置路徑(包括詢問參數(shù))。一般需要連續(xù)描述第三行(4013)和第四行(4014),因為它們包含與片段數(shù)據(jù)3002相關的信息。
播放列表4010是記錄了片段信息(4013、4014)的圖3的播放列表3001的示例性內容。
假設終端裝置2000預先存儲了片段數(shù)據(jù)3002的預定持續(xù)時間ts,或者能夠在步驟3004進行設備信息獲取時從照相機1000的設備信息獲得預定持續(xù)時間ts。
在直播流啟動之后大約ts(秒)之后,終端裝置2000向在步驟3004獲取的播放列表獲取位置發(fā)送播放列表獲取請求(httpget方法)(步驟3005)。
照相機1000向終端裝置2000發(fā)送描述了一個片段信息集合(4013、4014)的播放列表3001(=4010)作為響應播放列表(步驟3006)。
終端裝置2000對接收到的播放列表4010進行分析,并且向作為片段信息的獲取位置的照相機1000發(fā)送片段獲取請求(httpget方法)(步驟3007)。
照相機1000發(fā)送被請求的片段3002,作為響應片段(步驟3008)。
終端裝置2000在將接收到的片段3002傳送到編碼/解碼處理單元2013并進行解碼之后,經由輸出處理單元2006在顯示單元2007上進行播放/顯示。當存在來自用戶的對終端裝置rec8007的指示的輸入時,直播流應用將通過從解碼數(shù)據(jù)或者片段3002中排除頭等而獲得的數(shù)據(jù)部分,記錄并保存到記錄介質2012。然后,合并并且記錄依次接收到的片段數(shù)據(jù)集合。
在直播期間,照相機1000大約每ts(秒)生成片段和更新播放列表。此外,照相機1000從播放列表中刪除終端裝置2000獲取的片段信息。
每當照相機1000更新播放列表時,終端裝置2000大約每ts(秒)獲取更新后的播放列表(步驟3005),并且基于包含在播放列表3001中的片段信息請求獲取相應的片段數(shù)據(jù)。
當通信狀況良好時,周期性地進行從播放列表獲取(步驟3005)到響應片段(步驟3008)的一系列處理。然而,實際上,由于擁塞等,周期性地無法進行通信。圖5a和5b示出了發(fā)生擁塞時的播放列表的轉變。圖中的附圖標記5010至5050示出了各個階段的示例性播放列表。
注意,在終端裝置2000的請求處理(步驟3005至3007)中,添加了終端裝置或者應用固有的id。然后,本實施例的照相機1000僅響應于包括對附屬于初始請求的id的請求來進行直播。換句話說,本實施例的照相機1000和終端裝置2000僅在一對一的連接中進行直播。
在圖6和7中,示出了適用于本發(fā)明的第一實施例的處理流程的示例,現(xiàn)在,根據(jù)這些流程給出描述。圖6是在照相機1000與終端裝置2000建立連接之后,cpu1001執(zhí)行的處理流程。
在步驟s6001,在啟動直播流之后進行開始生成片段數(shù)據(jù)的處理。cpu1001開始從攝像設備1014的信號輸出,使用照相機信號處理器1015將輸出處理為適當?shù)囊曨l數(shù)據(jù),并且將數(shù)據(jù)傳送到編碼/解碼處理單元1016。編碼/解碼處理單元1016以預定比特率將接收到的視頻數(shù)據(jù)壓縮編碼為預定格式,此外,開始進行將視頻數(shù)據(jù)分割為預定持續(xù)時間ts(在本實施例中為0.5秒)的片段的處理。
在步驟s6002,判斷是否完成了一個片段(0.5秒)的生成。檢查分割為0.5秒的片段的數(shù)據(jù)是否臨時保存在了ram1003或者記錄介質1012中。如果已完成,則處理前進到步驟s6003,而如果未完成,則處理前進到步驟s6005。注意,雖然按照通過詢問(輪詢)來進行判斷的方式描述了該步驟,但是還可以通過諸如在檢測到寫入了分割的片段數(shù)據(jù)之后通過中斷進行通知的方法,來判斷生成完成。
在步驟s6003,進行片段信息的生成。生成與所生成的片段數(shù)據(jù)的持續(xù)時間和能夠指定片段數(shù)據(jù)的存儲位置地址、文件名稱等相關聯(lián)的路徑信息。這里,在對本實施例的描述中,將片段的持續(xù)時間固定在0.5秒。
在步驟s6004,將在步驟s6003生成的片段信息添加到播放列表。例如,圖5a中的示例性播放列表5011變?yōu)槭纠圆シ帕斜?020,并且示例性播放列表5030變?yōu)槭纠圆シ帕斜?040。
在步驟s6005,判斷是否存在來自終端裝置2000的播放列表獲取請求(步驟3005)。如果存在播放列表獲取請求,則處理前進到步驟s6006,而如果不存在播放列表獲取請求,則處理前進到步驟s6007。
在步驟s6006(第一發(fā)送處理),響應于播放列表獲取請求(步驟3005),進行播放列表的發(fā)送(步驟3006)。
在步驟s6007,判斷是否存在來自終端裝置2000的片段獲取請求(步驟3007)。如果存在片段獲取請求,則處理前進到步驟s6008,而如果不存在片段獲取請求,則處理返回到步驟s6002。
在步驟s6008,判斷在步驟s6007請求的片段是否有效。如果片段有效,則處理前進到步驟s6009,而如果無效,則處理前進到步驟s6010。
在步驟s6009(第二發(fā)送處理),響應于片段獲取請求(步驟3007),進行相應的片段的發(fā)送(步驟3008)。之后,刪除發(fā)送的片段,從播放列表中刪除與該片段相關的信息,并且處理返回到步驟s6002。例如,示例性播放列表5010變?yōu)槭纠圆シ帕斜?011,并且示例性播放列表5040變?yōu)槭纠圆シ帕斜?050。
在步驟s6010,響應于片段獲取請求(步驟3007),進行錯誤狀態(tài)發(fā)送(步驟3008),并且處理返回到步驟s6002。
注意,雖然按照通過依次進行詢問來進行判斷的方式描述了本流程中的事件判斷步驟s6002、s6005和s6007,但是在同時針對各種條件進行事件排隊的情況下,可以按照事件發(fā)生的順序執(zhí)行各個處理。從上面的描述很明顯,應當注意攝像裝置1000在從攝像設備1014獲取了新片段的定時,和在將片段發(fā)送到終端裝置2000的定時兩者處,進行更新播放列表的處理(管理處理)。
圖7是在終端裝置2000與照相機1000建立連接之后,由cpu2001執(zhí)行的處理流程。
在步驟s7001,從在進行連接時獲取的設備/播放列表獲取位置信息(步驟3004)中,獲取播放列表獲取位置信息,并保持。在步驟s7002,判斷是否經過了預定持續(xù)時間。如果經過了預定持續(xù)時間,則處理前進到步驟s7003,而如果未經過預定持續(xù)時間,則再次重復步驟s7002。這里,優(yōu)選預定持續(xù)時間是等同于照相機1000生成的預定持續(xù)時間ts的值。
在步驟s7003,使用在步驟s7001獲取的播放列表獲取位置信息發(fā)送播放列表獲取請求(步驟3005),并且對從照相機1000獲取的播放列表(p1)進行分析。對播放列表的分析包含在使用識別標記檢查播放列表格式和版本之后獲取片段信息。
在步驟s7004,判斷在步驟s7003是否獲取了片段信息。如果獲取了片段信息,則處理前進到步驟s7005,而如果未獲取片段信息,則處理返回到步驟s7003。
在步驟s7005(第一視頻獲取處理),如果獲取了一個片段信息集合,則將該片段取作最新片段。此外,如果獲取了多個片段信息集合,則將在播放列表中最后描述的片段信息集合取作最新片段。然后,向最新片段信息的獲取位置路徑發(fā)送片段獲取請求(步驟3007),并且從照相機1000獲取片段。注意,因為獲取最新片段,因此在該階段,不是最新片段的片段處于不可獲取狀態(tài)。在稍后討論的步驟s7009,進行由該最新片段的獲取引起的用于獲取未獲取的片段的處理。注意,在用戶在終端裝置2000中已經設置了保存直播流的指示的情況下,cpu2001在步驟s7005進行將接收到的片段記錄到記錄介質2012的處理。
在將獲取的片段記錄到ram2003或者記錄介質2012之后,將其傳送到編碼/解碼處理單元2013并進行解碼,之后,顯示單元2007經由輸出處理單元2006進行播放/顯示(視頻顯示)。此外,在直播流應用正在執(zhí)行終端裝置rec8007的情況下,通過有別于本處理流程的處理,將通過從解碼數(shù)據(jù)或片段中排除頭等而獲得的數(shù)據(jù)部分保存到記錄介質2012。
在步驟s7006,判斷是否在終端裝置2000中給出了保存正在直播的視頻的指示。換句話說,判斷是否正在執(zhí)行在終端裝置2000上運行的由直播流應用執(zhí)行的終端裝置rec8007。如果設置了直播保存指示,則處理前進到步驟s7007,而如果不保存直播視頻,則處理返回到步驟s7002。換句話說,可以將一個播放列表的獲取和一個片段的獲取看作用于進行播放處理的一個集合的處理。
在步驟s7007,判斷在步驟s7003是否獲取了多個片段信息集合。如果獲取了多個信息集合,則處理前進到步驟s7008,而如果獲取了一個信息集合,則處理返回到步驟s7002。
在步驟s7008,與步驟s7002類似,判斷是否經過了預定持續(xù)時間。如果經過了預定持續(xù)時間,則處理返回到步驟s7003,而如果未經過預定持續(xù)時間,則處理前進到步驟s7009。這里,優(yōu)選將預定持續(xù)時間設置為等同于由照相機1000生成的預定持續(xù)時間ts的值。
在步驟s7009(第二視頻獲取處理),cpu2001向播放列表中的最老的片段信息的獲取位置路徑發(fā)送片段獲取請求(步驟3007),并且從照相機1000獲取相應的片段。
在步驟s7009,將獲取的片段記錄到ram2003或者記錄介質2012。不使用這里獲取的片段(比在步驟s7005獲取的片段老的片段)用于播放,而通過有別于本處理流程的處理,將通過從解碼的數(shù)據(jù)或片段中排除頭等而獲得的數(shù)據(jù)部分保存到記錄介質2012。這時,進行按照原始順序,也就是說,按照攝取數(shù)據(jù)的時間順序,合并接收到的片段數(shù)據(jù)集合的處理。由此,可以與播放分開進行無縫數(shù)據(jù)恢復。
雖然上面基于根據(jù)本發(fā)明的優(yōu)選實施例,給出了詳細描述,但是本發(fā)明不限于這些特定實施例,不脫離本發(fā)明的要旨的范圍內的各種配置也包含在本發(fā)明中。也可以適當?shù)亟M合上述實施例中的部分內容。
在上面的實施例中,給出了執(zhí)行步驟s7009的定時為當判斷為正在保存直播視頻(s7006:是)、在播放列表中存在多個片段(s7007:是)、以及未經過預定持續(xù)時間(s7008:否)時,但是本發(fā)明不限于此。例如,可以在從用戶接收到“結束保存(記錄)”的指示的情況下,進行該處理。其結果是,因為不需要接收在結束保存的指示之后攝取的片段,因此可以統(tǒng)一接收尚未接收到的片段,并且當所有片段在一起時,可以將片段作為直播數(shù)據(jù)的單個文件進行保存。
描述了執(zhí)行圖7的步驟s7009的條件之一是要求正在將直播視頻保存在終端裝置2000中(步驟s7006為“是”)的示例。然而,為了還使得能夠進行在播放期間進行時間移位播放的所謂的追逐播放(chasingplay),可以省略步驟s7009的條件。
在圖7的流程圖中,在s7005獲取了最新片段之后,如果s7006或s7100中的判斷的結果為否,則處理返回到s7003,并且獲取播放列表,但是即使在s7005最新片段的獲取失敗的情況下,處理也返回到s7003,并且請求并獲取播放列表。換句話說,每當請求最新片段時,請求最新播放列表。
第二實施例
根據(jù)第一實施例,照相機1000將示出終端裝置2000由于諸如網絡擁塞的因素而不能獲取的片段的信息,添加到播放列表。換句話說,在一些情況下,播放列表的大小將增大。
在第二實施例中,描述通過在照相機1000中,將終將發(fā)送的片段中的在時間上連續(xù)的片段重寫為單個片段,來抑制播放列表的大小增加的示例。注意,假設照相機1000和終端裝置2000具有與第一實施例類似的配置,因此省略描述。片段的長度ts是0.5秒這一點,也與第一實施例相同。
為了說明第二實施例,圖9a和9b示出了發(fā)生典型的擁塞時的播放列表的轉變。附圖標記9010至9080示出了各個階段的播放列表。
注意,本實施例的照相機1000和終端裝置2000也僅在一對一的連接中進行直播。
因為用圖10和11的流程圖替換了第一實施例的圖6和7,因此對相同的處理給予相同的附圖標記。
首先,根據(jù)圖10中的流程圖,描述在照相機1000與終端裝置2000建立連接之后,由cpu1001執(zhí)行的處理流程。
在步驟s6001,在直播流啟動之后進行開始生成片段數(shù)據(jù)的處理。cpu1001開始從攝像設備1014的信號輸出,使用照相機信號處理器1015將輸出處理為適當?shù)囊曨l數(shù)據(jù),并且將數(shù)據(jù)傳送到編碼/解碼處理單元1016。編碼/解碼處理單元1016以預定比特率將接收到的視頻數(shù)據(jù)壓縮編碼為預定格式,此外,開始進行將視頻數(shù)據(jù)分割為預定持續(xù)時間ts(在第二實施例中也為0.5秒)的片段的處理。簡而言之,cpu1001進行如下處理:以0.5秒為單位,對從攝像設備1041獲得的視頻數(shù)據(jù)進行編碼,并且將編碼數(shù)據(jù)作為單個文件存儲在ram1003或者記錄介質1012中。
在步驟s6002,判斷是否完成了一個片段(0.5秒)的生成。檢查分割為0.5秒的片段的數(shù)據(jù)是否保存在了ram1003或者記錄介質1012中。如果已完成,則處理前進到步驟s6003,而如果未完成,則處理前進到步驟s6005。注意,雖然按照通過詢問(輪詢)來進行判斷的方式描述了該步驟,但是還可以通過諸如在檢測到寫入了分割的片段數(shù)據(jù)之后通過中斷進行通知的方法,來判斷生成完成。
在步驟s6003,生成片段信息。生成與所生成的片段數(shù)據(jù)的持續(xù)時間和能夠指定片段數(shù)據(jù)的存儲位置地址、文件名稱等相關聯(lián)的路徑信息。這里,在對本第二實施例的描述中,將片段的持續(xù)時間固定在0.5秒。
在步驟s6100,判斷是否存在兩個或更多個終端裝置2000尚未獲取的片段。換句話說,判斷在播放列表中是否包括兩個或更多個片段信息集合(4013、4014)。如果包括兩個或更多個片段信息集合(4013、4014)(示例性播放列表9030),則處理前進到步驟s6101,而如果不包括兩個或更多個片段信息集合(示例性播放列表9011),或者如果僅包括一個片段信息集合(示例性播放列表9020),則處理前進到步驟s6004。
在步驟s6101中,合并尚未獲取的連續(xù)片段,并且合并片段持續(xù)時間(片段信息)和片段路徑信息。在步驟s6102,進行在播放列表中反映在步驟s6101合并的信息的更新處理。注意,可以在實際接收到片段請求之后,進行片段自身的合并。
在步驟s6004,將在步驟s6003生成的片段信息添加到播放列表。該步驟結束之后,在步驟s6100判斷的各個播放列表的片段信息將是最新片段信息,并且在存在未獲取的片段的情況下,是合并了連續(xù)片段的多個未獲取的片段信息集合。換句話說,示例性播放列表9030變?yōu)槭纠圆シ帕斜?040,示例性播放列表9011變?yōu)槭纠圆シ帕斜?020,示例性播放列表9020變?yōu)槭纠圆シ帕斜?030,并且示例性播放列表9060變?yōu)槭纠圆シ帕斜?070。
在步驟s6005,判斷是否存在來自終端裝置2000的播放列表獲取請求(步驟3005)。如果存在播放列表獲取請求,則處理前進到步驟s6006,而如果不存在播放列表獲取請求,則處理前進到步驟s6007。
在步驟s6006,響應于播放列表獲取請求(步驟3005),進行播放列表的發(fā)送(步驟3006)。
在步驟s6007,判斷是否存在來自終端裝置2000的片段獲取請求(步驟3007)。如果存在片段獲取請求,則處理前進到步驟s6008,而如果不存在片段獲取請求,則處理返回到步驟s6002。
在步驟s6008,判斷在步驟s6007請求的片段是否有效。如果片段有效,則處理前進到步驟s6009,而如果無效,則處理前進到步驟s6010。
在步驟s6009,響應于片段獲取請求(步驟3007),進行相應的片段的發(fā)送(步驟3008),之后,刪除該片段,從播放列表中刪除相關片段信息,并且處理返回到步驟s6002。另一方面,在步驟s6010,響應于片段獲取請求(步驟3007),進行錯誤狀態(tài)發(fā)送(步驟3008),并且處理返回到步驟s6002。
注意,雖然按照依次通過詢問來進行判斷的方式描述了本流程中的事件判斷步驟s6002、s6005和s6007,但是在同時針對各種條件進行事件排隊的情況下,可以按照事件發(fā)生的順序執(zhí)行各個處理。
圖11是在終端裝置2000與照相機1000建立了連接之后,由cpu2001執(zhí)行的處理流程。
在步驟s7001,從在進行連接時獲取的設備/播放列表獲取位置信息(步驟3004)中,獲取播放列表獲取位置信息,并保持。
在步驟s7002,判斷是否經過了預定持續(xù)時間。如果經過了預定持續(xù)時間,則處理前進到步驟s7003,而如果未經過預定持續(xù)時間,則再次重復進行步驟s7002。這里,優(yōu)選預定持續(xù)時間是等同于照相機1000生成的預定持續(xù)時間ts的值。
在步驟s7003,使用在步驟s7001獲取的播放列表獲取位置信息發(fā)送播放列表獲取請求(步驟3005),并且對從照相機1000獲取的播放列表(p1)進行分析。對播放列表的分析包含在使用識別標記檢查播放列表格式和版本之后獲取片段信息。
在步驟s7004,判斷在步驟s7003是否獲取了片段信息。如果獲取了片段信息,則處理前進到步驟s7005,而如果未獲取片段信息,則處理返回到步驟s7003。
在步驟s7005,如果獲取了一個片段信息集合,則將該片段取作最新片段。此外,如果獲取了多個片段信息集合,則將最后的片段信息集合取作最新片段。然后,向最新片段信息的獲取位置路徑發(fā)送片段獲取請求(步驟3007),并且從照相機1000獲取片段。
將獲取的片段記錄到ram2003或者記錄介質2012之后,傳送到編碼/解碼處理單元2013,并進行解碼,之后,顯示單元2007經由輸出處理單元2006進行播放/顯示(視頻顯示)。此外,在直播流應用正在執(zhí)行終端裝置rec8007的情況下,通過有別于本處理流程的處理,將通過從解碼的數(shù)據(jù)或片段中排除頭等而獲得的數(shù)據(jù)部分保存到記錄介質2012。
在步驟s7006,判斷是否正在終端裝置2000中保存正在直播的視頻。換句話說,判斷是否正在執(zhí)行在終端裝置2000上運行的由直播流應用執(zhí)行的終端裝置rec8007。如果正在保存直播視頻,則處理前進到步驟s7100,而如果不保存直播視頻,則處理返回到步驟s7002。
在步驟s7100,判斷在步驟s7003是否獲取了兩個或更多個片段信息集合。如果存在兩個或更多個信息集合,則處理前進到步驟s7101,而如果存在一個信息集合,則處理返回到步驟s7002。這里,給出片段信息集合的數(shù)量為sn。在步驟s7101,與步驟s7003類似,再次發(fā)送播放列表獲取請求(步驟3005),從照相機1000獲取播放列表(p2),并且獲取片段信息。
在步驟s7102,確定新添加的在步驟s7101獲取的片段信息集合的數(shù)量。如果信息集合的數(shù)量大于sn-1,則這意味著在從在步驟s7003獲取播放列表時直到在步驟s7101獲取播放列表時的時間段期間,生成了新片段,因此處理返回到步驟s7005。如果信息集合的數(shù)量是sn-1,則判定存在尚未獲取的老片段,并且處理前進到步驟s7103。
在步驟s7103,向未獲取的片段信息的獲取位置路徑發(fā)送片段獲取請求(步驟3007),并且從照相機1000獲取老片段并將其記錄到ram2003或者記錄介質2012。不使用這里獲取的片段(比在步驟s7005獲取的片段老的片段)用于播放,而通過有別于本處理流程的處理,將通過從解碼的數(shù)據(jù)或片段中排除頭等而獲得的數(shù)據(jù)部分保存到記錄介質2012。這時,按照原始順序合并接收到的片段數(shù)據(jù)集合使得能夠與播放分開進行無縫數(shù)據(jù)恢復。
注意,雖然在本實施例中描述了將尚未獲取的片段收集到一起作為一個片段信息集合的配置,但是使用這種配置,可能使片段的大小相對于一個片段信息集合增大。鑒于此,可以采用如下配置:例如,預先設置作為一個片段信息集合的上限的閾值,例如5秒等值的片段或者每個信息集合10個片段,如果超過了該閾值,則創(chuàng)建新的片段信息集合。然后,可以將后續(xù)片段信息與新創(chuàng)建的片段信息合并。
在本實施例中,如果播放列表已經具有兩個或更多個片段信息集合,則將片段信息集合合并??蛇x地,可以在例如存在2秒或更多等值的在時間上連續(xù)的片段,或者存在4個或更多個連續(xù)片段的情況下,合并片段信息集合。注意,這里給出的諸如2秒或者4個片段的值僅僅作為示例。
雖然上面詳細討論了第二實施例,但是本發(fā)明不限于這些特定實施例,不脫離本發(fā)明的要旨的范圍內的各種配置也包含在本發(fā)明中。也可以適當?shù)亟M合上述實施例中的一些。
直接從記錄介質或者使用有線/無線通信,向具有能夠執(zhí)行程序的計算機的系統(tǒng)或裝置,提供實現(xiàn)第一或第二實施例的功能的軟件程序,并且執(zhí)行該程序的情況,也包含在本發(fā)明中。
相應地,為了使用計算機實現(xiàn)本發(fā)明的功能處理,由向計算機提供并且安裝在其上的程序代碼本身來實現(xiàn)本發(fā)明。換句話說,用于實現(xiàn)本發(fā)明的功能處理的計算機程序本身包含在本發(fā)明中。
在這種情況下,只要實現(xiàn)程序的功能,則諸如由解釋器執(zhí)行的程序、向os提供的腳本數(shù)據(jù)等的任意配置的程序都可以。
用來提供程序的記錄介質例如可以是硬盤、諸如磁帶的磁記錄介質、光/磁光存儲介質或者非易失性半導體存儲器。
可想到的提供程序的方法包括:將形成本發(fā)明的計算機程序存儲在計算機網絡上的服務器中,并且連接到計算機網絡的客戶計算機下載并執(zhí)行該計算機程序。
雖然參考示例性實施例對本發(fā)明進行了說明,但是應當理解,本發(fā)明不限于所公開的示例性實施例。所附權利要求的范圍符合最寬的解釋,以使其涵蓋所有這種變形、等同結構及功能。