專利名稱::用于增強特殊播放功能的系統和方法
技術領域:
:本發明涉及用于視頻或音頻娛樂系統中的特殊播放(trick-play)功能的系統和方法。
背景技術:
:在本領域中,交互式媒體指南應用程序如交互式電視節目指南是眾所周知的。一些交互式媒體指南應用程序使視頻娛樂設備的用戶能夠對視頻執行“特殊播放”功能。這種特殊播放功能包括暫停、反繞(rewind)和快進。交互式媒體指南應用程序對通過網絡或傳輸系統(例如衛星、電纜或廣播)發送的視頻節目進行緩存,以使用戶能夠對視頻節目進行特殊播放。為了提供特殊播放功能,當用戶調諧到正在進行中的節目時,這些系統可以開始緩存視頻。因此,這種系統的用戶可以反繞到他們第一次調諧到這個節目時的時點,而不能反繞到該時點之前。因此,期望提供用于特殊播放功能的系統和方法,通過這種系統和方法,用戶可以將視頻反繞到用戶第一次開始觀看該視頻之前的時點,還可以將視頻快進到目前正在流式傳輸的實時傳輸的時點之后。
發明內容按照本發明的原理,提供了支持視頻娛樂系統中的特殊播放功能的系統和方法。為了簡潔而不是進行限制,本發明在上下文中有時被描述為提供對視頻如電視節目的反繞、暫停和快進功能,但是,也可以將本發明應用于任何其他合適的非點播媒體(例如,音頻)。在本發明的各種實施例中,以數字或模擬實時流的形式,按照非點播方式,將視頻分配給用戶(或用戶組)設備。例如,在電視系統中,可以通過廣播、電纜或衛星來傳遞視頻并且按照計劃提供視頻。遠離用戶的服務器在分配視頻之前或期間,對視頻進行緩存或記錄。客戶應用程序,這里有時稱為“特殊播放客戶程序”,被實現在用戶設備上。當用戶開始觀看流時,客戶程序開始對正在觀看的視頻進行緩存,使得用戶能夠通過緩沖器反繞到用戶開始觀看流的點。在用戶訪問(例如,自動或響應于用戶請求)在用戶訪問之前開始的視頻的同時或之后,客戶程序從服務器接收由服務器根據服務器緩存的或服務器記錄的視頻拷貝生成的反繞流。反繞流使完整的視頻(例如,沒有跳過任何幀)從用戶第一次訪問視頻的點向后流動。客戶程序在本地對反繞流進行緩存,使得用戶可以在接收反繞流之后的任何時間,將節目反繞到與用戶第一次訪問視頻之前發送的內容對應的視頻點。在某些實施例中,客戶程序還在接收視頻時對視頻進行緩存。這使得用戶能夠從用戶第一次訪問視頻之前的點對節目進行反繞和觀看,并且當用戶希望到用戶第一次訪問視頻之后的點時繼續觀看(或快進)。在某些實施例中,客戶程序從服務器接收由服務器根據緩存的或記錄的視頻拷貝生成的前進流。前進流使完整視頻(例如,沒有跳過任何幀)從用戶第一次訪問視頻的點,以高于實時的速度前進。客戶程序在本地對前進流進行緩存,使得一接收到前進流,用戶就可以使節目快進到視頻的實時流之前的點。例如,可以由原始實時視頻饋送(primaryreal-timevideofeed)(例如,廣播饋送)提供視頻的實時流。在某些實施例中,客戶程序自動接收反繞和/或前進流。在其他實施例中,例如在用戶訪問視頻時,或者在確定用戶對視頻有興趣以至肯定要緩存反繞和/或前進流之后,客戶程序請求反繞和/或前進流。根據以下結合附圖進行的詳細描述,本發明的上述以及其他特征、本發明的特性和各種優點將更加清楚,其中圖I為按照本發明的一個實施例的交互式媒體系統的示意圖;圖2示出了用于按照本發明的一個實施例的緩沖器的示意性數據結構;圖3示出了用于按照本發明的一個實施例的緩沖器的另一個示意性數據結構;圖4示出了按照本發明的一個實施例的、具有傳輸控制條的示意性顯示;圖5示出了按照本發明的一個實施例的、具有傳輸控制條的另一個示意性顯示;圖6示出了按照本發明的一個實施例的、具有傳輸控制條的另一個示意性顯示;圖7示出了按照本發明的一個實施例的、具有節目柵格的示意性顯示屏幕;圖8示出了按照本發明的一個實施例的、用于對視頻進行反繞的示意性處理的流程圖;圖9示出了按照本發明的一個實施例的、用于對視頻進行快進的示意性處理的流程圖;圖10示出了按照本發明的一個實施例的、用于給用戶的設備提供視頻流的示意性處理的流程圖;并且圖11示出了按照本發明的一個實施例的、用于從反繞和/或快進緩沖器回放視頻的示意性處理的流程圖。具體實施例方式圖I示出了按照本發明的一個實施例的示意性交互式媒體系統100。用戶設備110通過通信路徑122接收來自媒體源120的、信號形式的媒體。實際上可以有多個媒體源120和用戶設備110,但是,為了避免附圖過于復雜,圖I中只示出了一個媒體源120和一個用戶設備110。媒體源120可以是任何適合的媒體源,如有線系統頭端、衛星媒體分配設施、媒體廣播設施、網際協議電視(IPTV)頭端、點播服務器(例如,VOD服務器)、網站、游戲服務供應商(例如,提供在線游戲)或者用于產生媒體或分配媒體的任何其他合適的設施或系統。可以將媒體源120設計為通過任何合適的通信路徑122發送信號,例如,衛星路徑、光纖路徑、電纜路徑、因特網路徑或者任何其他合適的有線或無線路徑。信號可以攜帶任何合適的媒體,如電視節目、游戲、音樂、新聞、網絡服務、視頻或者任何其他合適的媒體。在某些實施例中,媒體源120可以包括用于執行特殊播放客戶程序或交互式媒體指南應用程序、例如在線交互式媒體指南應用程序的指令的控制電路。用戶設備110可以包括適合于提供交互式媒體體驗的任何設備。用戶設備110可以包括電視設備,如電視機、機頂盒、記錄設備、視頻播放器、用戶輸入設備(例如,遙控器、鍵盤、鼠標、觸摸板、觸摸屏或語音識別接口)或者適合于提供交互式媒體體驗的任何其他設備。例如,用戶設備110可以包括Motorola公司提供的DCT2000、2500、5100、6208或6412機頂盒。在某些實施例中,用戶設備110可以包括計算機設備,例如帶有電視卡的個人計算機(PCTV)。在某些實施例中,用戶設備110可以包括固定電子設備,例如游戲系統(例如,X-Box、PlayStation或GameCube)或者便攜式電子設備如便攜式DVD播放器、便攜式游戲機、移動電話、PDA、音樂播放器(例如,MP3播放器)或者任何其他合適的固定或便攜式設備。在圖I的例子中,用戶設備110至少包括控制電路116、顯示裝置112、用戶輸入裝置114和記錄裝置118,這些裝置可以實現為分離的裝置或單個裝置。特殊播放客戶程序可以實現在用戶設備110上,以向用戶提供用于顯示在顯示裝置112上的媒體的特殊播放功能。在某些實施例中,特殊播放客戶程序為交互式媒體指南應用程序如交互式電視節目指南的一部分。為了清楚而不是進行限制,以下實施例將被描述為由特殊播放客戶程序提供。顯示裝置112可以是任何合適的裝置,如電視監視器、計算機監視器或者合并在用戶設備110中的顯示器(例如,移動電話或便攜式音樂播放器的顯示器)。顯示裝置112顯示由媒體源120通過路徑122發送的媒體以及特殊播放客戶程序的顯示。顯示裝置112還可以被配置為提供音頻輸出。記錄裝置118可以是個人視頻記錄器(PVR)、數字視頻記錄器(DVR)、錄像機(VCR)、DVD錄像機或任何其他合適的視頻記錄器。記錄裝置118可以包括一個或多個調諧器。特殊播放客戶程序命令記錄裝置118緩存來自服務器130的反繞和前進流。控制電路116用于接收來自輸入裝置114的用戶輸入,并且執行特殊播放客戶程序的指令。控制電路116可以包括一個或多個調諧器(例如,模擬或數字調諧器)、編碼器和解碼器(例如,MPEG解碼器)、處理器(例如,Motorola68000家用處理器)、存儲器117(即RAM和硬盤)、通信電路(例如,有線調制解調器電路)、輸入/輸出電路(例如,圖形電路)、到用戶設備110的各種裝置的連接以及用于提供模擬或數字媒體編程、節目記錄和交互式媒體指南特性的任何其他合適的部件。在某些實施例中,控制電路116可以被包括為用戶設備110中的一個裝置的一部分,例如,顯示器112或任何其他裝置(例如,機頂盒、電視機或視頻播放器)的一部分。在某些實施例中,特殊播放客戶程序可以利用客戶程序/服務器途徑給用戶提供各種性能。可以是一個服務器用于用戶設備110的每一個實例,或者一個服務器用于用戶設備110的多個實例,或者單個服務器可以起用戶設備110的每一個實例的代理的作用。任何合適數量的用戶可以使設備如用戶設備110連接到媒體源120和數據源124。但為了圖示清楚,只示出了單個用戶的設備。可以利用有線電視網絡、衛星電視網絡、局域網(LAN)無線網絡、因特網或任何其他合適的方法,將多個用戶的設備連接到媒體源120和數據源124。在某些實施例中,可以利用任何合適的手段,將多個用戶的設備相互連接。用戶設備110可以從一個或多個數據源124接收交互式媒體指南應用程序數據。數據源124可以提供用于特定類型媒體或特定應用程序的數據。例如,一個數據源124可以提供用于非點播媒體的數據(例如,免費和按收看付費節目),而另一個數據源124可以提供用于點播媒體的數據(例如,VOD節目)。或者,例如單個數據源可以提供這兩種類型的數據。例如,一個數據源124可以提供用于交互式電視節目指南的數據。另一個數據源124可以提供例如用于另一個交互式應用程序的數據(例如,家庭購物應用程序)。在某些實施例中,數據源124可以利用客戶程序/服務器途徑,給特殊播放客戶程序提供數據。針對每個數據源可以有一個服務器,或者一個服務器可以用于所有數據源,或者,在某些實施例中,單個服務器可以作為用戶設備110與各種數據源124之間的代理進行通信。在某些實施例中,數據源124可以提供作為在線交互式媒體指南應用程序的數據。在這樣的實施例中,數據源124可以包括用于執行在線媒體指南應用程序的指令的控制電路。圖I將媒體源120和數據源124示出為分離的單元。實際上,可以將它們的功能組合,并且可以從位于單個設施的單個系統或位于多個設施的多個系統提供這些功能。例如,可以將一個媒體源120和數據源124組合,以提供VOD內容和相關的VOD數據。示意性交互式電視系統100包括服務器130。服務器130包括控制電路132和存儲器134,用于例如執行媒體源120或用戶設備110請求的操作(例如,將緩存的視頻提供給特殊播放客戶程序)。控制電路132可以包括一個或多個調諧器、處理器、編碼器/解碼器、通信電路和連接到交互式電視系統100的各個裝置的I/O電路或任何其他合適的部件。控制電路132可以以任何合適的方式,例如將調諧器調諧到媒體源120發送的頻道,訪問由媒體源120提供的視頻或其他媒體。作為另一個例子,例如,服務器130可以通過到媒體源120的互聯網協議連接(例如,文件傳輸協議或DOCSISQAM流),直接訪問視頻。可以將服務器130合并在媒體源120(例如,在電纜線路的頭端)、數據源124、V0D服務器(沒有示出)、用戶設備110(例如,作為第二記錄裝置或家用計算機上的硬盤)、因特網服務器和任何其他合適的裝置中。或者,服務器130可以是獨立裝置(例如,商業網絡記錄裝置或者家庭或鄰近網絡中的DVR裝置)。在某些實施例中,可以將由媒體源120提供的所有媒體首先發送到服務器130,服務器130隨后將媒體發送到用戶設備110。在這樣的實施例中,服務器可以在接收到媒體時記錄(在提供用戶啟動的基于服務器的記錄的系統中)或緩存媒體,并且同時或隨后將媒體發送到用戶設備。在另一些實施例中,媒體源可以將媒體同時提供給服務器和用戶設備。在這樣的實施例中,響應于特殊播放客戶程序的請求,服務器可以只向用戶設備提供已經記錄或緩存的媒體反繞和/或前進流。在某些實施例中,服務器可以在媒體源120將視頻提供給用戶之前緩存或記錄視頻。服務器130可以接收來自用戶設備110和媒體源120(或者交互式系統100中的任何其他設備)的指令以進行適當操作。例如,這樣的操作可以包括記錄或緩存由媒體源120發送的所有或部分視頻。在某些實施例中,服務器130可以緩存由媒體源120發送的每個視頻。在某些實施例中,服務器130可以只緩存特定視頻(例如,特定的廣播節目)或特定頻道(例如,用戶喜歡的頻道)。用戶設備或媒體源可以以任何適當方式(例如,根據QAM流的頻道映射表或節目映射表,或者節目標示符)識別特定視頻,并且將請求通知給控制電路132,以將視頻記錄或緩存在存儲器134中。在一些實施例中,用戶可以在服務器130上記錄視頻。在這樣的實施例中,服務器130可以將記錄的視頻(已經為除使用增強反繞功能之外的用戶記錄的視頻)用作用于反繞和/或前進流的“緩存的”視頻。特殊播放客戶程序、媒體源或服務器可以根據任何合適的標準,選擇服務器記錄或緩存的并且可以使用本發明的增強反繞和快進功能的視頻。例如,這樣的標準可以包括用戶觀看歷史,用戶通常觀看、記錄或設定提醒的節目或頻道,或者由用戶簡檔(例如,通過向用戶提出一系列問題而建立的簡檔)所識別的用戶興趣。在某些實施例中,標準可以包括識別在記錄另一個節目時用戶觀看的節目,用戶在其間進行切換的同時發送的兩個或多個節目,或者用戶在節目開始之后開始觀看的節目。如果服務器的存儲器容量有限,或者如果給用戶分配了少量服務器存儲器,則特殊播放客戶程序在選擇服務器為用戶記錄或緩存的視頻方面可能更加仔細。用于選擇可應用增強反繞和快進功能的視頻的其他標準可以包括交互式媒體系統的部分或所有用戶的觀看歷史或用戶簡檔;部分或所有用戶的流行節目;或者從交互式媒體系統的不止一個用戶或交互式媒體系統的用戶家庭得出的任何其他標準。作為另一個例子,只可以將由優先媒體提供商(例如,付費的提供商)提供的視頻記錄或緩存在服務器上。對用戶來說,這樣的視頻可以被標識為“具有增強的特殊播放”,例如,讓用戶知道,即使他們在視頻開始之后欣賞視頻,他們也可以反繞到視頻的開頭。在某些實施例中,頻道可以被識別為“具有增強的特殊播放”。反繞緩沖器的長度應該足以允許用戶(在一定時間之后)反繞到節目開頭之前的點(例如,兩或三個小時,或者昨天的視頻)。服務器130將記錄和緩存的視頻存儲在存儲器134中。存儲器134可以是適合于記錄或緩存視頻的任何存儲器,例如,一個或多個硬盤驅動器陣列、硬盤、服務器陣列、RAM、SRAM、DRAM、ROM、閃存存儲器或任何其他合適的存儲器。在某些實施例中,存儲器134可以存儲與記錄或緩存的視頻有關的,來自交互式媒體系統100的控制電路132、用戶設備110、媒體源120或任何其他裝置的指令。例如,這些指令可以包括將視頻保持在存儲器(用戶可訪問其中的視頻)中多長時間(例如,在基于等級的系統中)或者任何其他合適的指令。在圖I的例子中,存儲器134被示出為服務器130的部件,但是,在其他實施例中,存儲器134可以是獨立部件。當用戶設備110的用戶訪問非點播視頻(例如,通過調諧到一個頻道)時,特殊播放客戶程序可以自動指示用戶設備Iio的記錄裝置118,將視頻緩存到一個或多個緩沖器中。此外,特殊播放客戶程序可以向服務器130發送請求,要求包括用戶第一次開始觀看視頻之前發送的視頻部分的反繞流。在某些實施例中,特殊播放客戶程序還可以向服務器130發送請求,要求包括特殊播放客戶程序還沒有緩存的視頻部分的前進流。在請求前進流之前,特殊播放客戶程序可以首先確定服務器130是否緩存或記錄了整個視頻。或者,特殊播放客戶程序可以系統地請求前進流并等待來自服務器130的、關于視頻的前進流部分是否可用的響應。特殊播放客戶程序可以在任何合適的時刻,例如,用戶剛開始觀看視頻(例如,調諧到一個頻道)時、在指定時間之后(例如,I分鐘或5分鐘)、響應于來自用戶的特殊播放請求(例如,暫停或反繞)或在任何其他合適的時刻,請求反繞和/或前進流。響應于接收到對反繞和/或前進流的請求,如果可用的話,則服務器130可以生成并向用戶設備HO發送反繞和/或前進流。例如,如果特殊播放客戶程序請求實況廣播的體育賽事的反繞和前進流這兩者,則由于服務器還沒有對整個體育競賽進行緩存和記錄,因此,服務器130可以只生成并發送反繞流。如果給用戶設備110提供前進流,則前進流可以包括完整特征視頻(例如,不跳過任何幀),并且,可以以比發送實時視頻快的速度(例如,快兩倍)進行發送。因此,前進流需要比實時視頻更多的帶寬。相似地,反繞流可以包括完整特征視頻(例如,不跳過任何幀),并且,可以以比發送實時視頻快的速度進行發送。服務器130可以利用任何合適的發送方案(例如,MPEG-2QAM流或DOCSISQAM流),給用戶設備110提供反繞和前進流。例如,可以將反繞和前進流分別作為獨立的節目添加到用于發送視頻的活動QAM流中(例如,將反繞流放在第一PID(packetidentifier,包標識符)中,而將前進流放在第二PID中,其中,PID在QAM流中)。作為另一個例子,可以將反繞和前進流作為單個節目添加到活動QAM流中(例如,單個PMT(programmaptable,節目映射表),PID可以標識反繞視頻和首頻、如進視頻和首頻以及原始實時視頻和首頻)。作為另一個例子,服務器可以生成一個或多個新QAM流,每個新QAM流都包含反繞和前進流中的一個。可以以任何合適的方式,例如,逐位倒序(reverseorderbitwise)(例如,好象用戶正在從建立緩沖器的瞬間反繞)、逐塊倒序、逐包倒序或通過隨機填充正在丟失的數據位(例如,比特進發(bittorrent)法),提供反繞流視頻。對于逐位倒序以外的方法,反繞功能只在由特殊播放客戶程序緩存的視頻充分連續從而支持回放的情況下可用。特殊播放客戶程序可以命令記錄裝置118,將服務器130提供的前進和/或反繞流緩存在一個或多個緩沖器中。圖2示出了用于一個或多個緩沖器的示意性數據結構。數據結構200包括表格210以及緩沖器222和224。表格210可以被存儲在記錄裝置118中(例如,在存儲器220中)、控制電路116的存儲器中(例如,RAM)、或者用戶設備110的任何其他存儲器中。緩沖器222和224可以被存儲在記錄裝置118的存儲器220中(例如,硬盤驅動器上)。表格210包括用于視頻流的列(例如,前進和反繞流)以及用于將流鏈接到它們相應的緩沖器的指針的列。響應于接收到來自服務器130的反繞和/或前進流,特殊播放客戶程序為表格210中的流創建行212和214。由反繞流提供的視頻被緩存在反繞緩沖器222中。由指針232對緩存在反繞緩沖器中的當前幀Fh進行識別。反繞緩沖器222開始于幀Fn,結束于幀Ftl,其中,FnS用戶開始觀看視頻時顯示的幀,Ftl為視頻的第一幀。從幀Fn到幀Ftl基本上連續地反向用反繞流的視頻填充反繞緩沖器(例如,按照逐位倒序)。相似地,由前進流提供的視頻被緩存在前進緩沖器224中。由指針234對前進緩沖器中的當前幀Fi_f進行識別。前進緩沖器224開始于幀Fn,結束于幀Fy,Fy為視頻的最后幀。特殊播放客戶程序優選地以高于實時的速度將視頻緩存在前進緩沖器224中。如果特殊播放客戶程序沒有接收到前進流,則特殊播放客戶程序可以將視頻的實時流緩存在前進緩沖器224中。在某些實施例中,直到用戶已經觀看了視頻一段指定時間之后,特殊播放客戶程序才請求或接收反繞和/或前進流。如果記錄裝置118在指定時間內緩存實時流(例如,在實時緩沖器中),則特殊播放客戶程序可以請求反繞流在用戶開始觀看視頻時開始,前進流在指定時間之后開始。那么,如圖3所示,反繞緩沖器322開始于幀Fn_J例如,在用戶開始觀看視頻時的幀),前進緩沖器324開始于幀Flrf(例如,指定時間之后的視頻幀),并且,實時緩沖器326包括幀Fn_,與Flrf之間的視頻。一旦記錄裝置118開始緩存前進流,則特殊播放客戶程序可以命令記錄裝置118停止緩存實時流,以避免將相同視頻緩存兩次。或者,特殊播放客戶程序刪除緩存在實時緩沖器中的視頻,并且命令服務器130提供開始于同一幀、例如幀Fi^與Flrf之間的任何幀的反向流和前進流。當用戶調用特殊播放功能時,特殊播放客戶程序可以將視頻從實時視頻流無縫轉移到緩存在反繞緩沖器和實時緩沖器和/或前進緩沖器中的視頻。然后,不是從遠程服務器,而是由本地存儲在記錄裝置中的緩沖器提供用戶特殊播放功能。為了回放緩存在反繞緩沖器中的視頻,特殊播放客戶程序可以命令記錄裝置118提供緩存在反繞緩沖器222中的、從幀Ftl到幀Fn的視頻。為了回放緩存在前進緩沖器中的視頻,特殊播放客戶程序可以命令記錄裝置118提供緩存在前進緩沖器224中的、從幀Fn到幀Fy的視頻。特殊播放客戶程序可以利用表格210識別回放哪個緩沖器(例如,像鏈接列表那樣連接緩沖器)。特殊播放客戶程序可以利用增強傳輸控制條顯示反繞和前進緩沖器的直觀表示。圖4示出了用戶正在觀看的視頻402的示意性屏幕400以及增強傳輸控制條410。增強傳輸控制條410包括視頻402的標題412、發送該視頻的頻道414以及該視頻的開始時間416和結束時間418。增強傳輸控制條410包括向用戶表示視頻402的當前回放位置和時間421的光標420。增強傳輸控制條410包括用于識別用戶何時第一次開始觀看視頻的標記430。增強傳輸控制條410還包括對分別緩存了反繞和前進流的反繞和前進緩沖器的直觀表示。具體地說,反繞緩沖器表示432開始于標記430,時間上朝著視頻的開頭向后移動,而前進緩沖器表示434開始于標記430,時間上朝著視頻的結尾向前移動。對于前進流不可用的、月艮務器130還沒有完全記錄或緩存的視頻,前進緩沖器表示434可以表示緩存了來自實時流的視頻的實時緩沖器。圖5表示在特殊播放客戶程序已經將反繞流和前進流的另外部分緩存在記錄裝置118中之后的圖4的增強傳輸控制條(比較圖4和圖5可以看出這一點)。在增強傳輸控制條510中,光標520前進,并且指示當前的回放時間為7:36,比圖4的增強傳輸控制條410指示的回放時間晚16分鐘。標記530還沒有從圖4的情況移動,但是,反繞緩沖器532已經前進到視頻的開頭,而前進緩沖器534已經朝著視頻的結尾前進。圖6示出了在增強傳輸控制條中,反繞和前進緩沖器的直觀表示的另一種示意性顯示。屏幕600包括用戶正在觀看的視頻602和增強傳輸控制條610。增強傳輸控制條610包括視頻的開始時刻612和結束時刻614、向用戶指示當前回放位置的光標620、以及反繞緩沖器632和前進緩沖器634的表示。增強傳輸控制條610還包括反繞光標622和前進光標626,這些光標分別與反繞預覽圖像624和前進預覽圖像628有關。具體地說,反繞預覽圖像624可以對應于反繞光標622的位置,而前進預覽圖像628可以對應于前進光標626的位置。在某些實施例中,用戶可以命令特殊播放客戶程序顯示多個反繞和前進光標以及相關的預覽圖像。在某些實施例中,反繞和前進光標可以對應于特殊播放客戶程序當前正在緩存的反繞和前進流的幀。或者,反繞和前進光標可以對應于用戶的特殊播放請求(例如,對預覽圖像624或628進行反繞或快進)。特殊播放客戶程序可以自動顯示預覽圖像624和628中的一個或兩個,或者,用戶可以請求顯示預覽圖像。當用戶已經在預覽圖像624或628中識別出用戶想回放的視頻部分時,用戶可以全屏顯示預覽圖像并在選擇的預覽圖像的回放位置回放視頻。用于緩存視頻的緩沖器可以受到大小方面的任意限制,或者只受記錄裝置118上的可用空間的限制。如果緩沖器的大小受到限制或者記錄裝置118的可用空間有限,則緩沖器可能不足以緩存全部視頻。為了給用戶提供增強特殊播放功能,特殊播放客戶程序可以將反繞和/或前進流緩存在緩沖器中,并且當為了滿足用戶的特殊播放請求而需要時,對反繞和/或前進緩沖器進行覆寫(例如,響應于延伸到沒有緩存在反繞緩沖器中的視頻的反繞請求,請求被緩存的新的視頻流代替前進緩沖器)。此外或者作為替代,特殊播放客戶程序可以識別反繞和前進流中的廣告(例如,根據包標識符)并且不緩存廣告。一旦將整個視頻存儲在緩沖器中,客戶程序可以自動或響應于用戶指令,將緩存的視頻保存為記錄,用于將來觀看。在某些實施例,客戶程序可以自動或響應于用戶指令,對緩存在緩沖器中的不完整的視頻進行保存。在某些實施例中,服務器130可以不對提供給用戶設備110的每個視頻進行緩存或記錄。那么,在請求反繞和/或前進流之前,特殊播放客戶程序可以確定服務器130是否已經緩存或記錄了視頻。例如,特殊播放客戶程序可以從服務器130接收視頻是否可用的指示。響應于確定視頻實際上可用,特殊播放客戶程序可以請求來自服務器130的反繞和/或前進流。特殊播放客戶程序可以在任何合適的時刻確定服務器130是否已經緩存或記錄了部分或全部視頻。例如,服務器130可以按照規則的間隔,為特殊播放客戶程序識別服務器已經或將要在指定時間(例如,第二天或下周)緩存或記錄的視頻。服務器130還可以給特殊播放客戶程序指定整個視頻將被緩存或記錄的時間。特殊播放客戶程序進而可以為用戶識別視頻。例如,特殊播放客戶程序可以顯示圖標、使列表變暗、改變顏色或在傳輸控制條上或節目柵格中提供任何其他合適的表示。圖7示出了包括節目列表柵格702的示意性節目柵格屏幕700。通過圖標710和712對列在柵格702中的、已經被服務器130緩存或記錄的節目進行識別。反繞圖標710表示服務器130至少已經部分緩存或記錄了與圖標相關的節目并且反繞流可用(例如,“朋友”和“女高音”)。前進圖標712表示服務器130已經緩存或記錄了與圖標相關的整個節目,并且,前進流可用(例如,“伯恩的身份(BourneIdentity)”)。特殊播放客戶程序可以顯示反繞圖標710和前進圖標712以表示反繞和前進流都可用。或者,特殊播放客戶程序可以只顯示前進圖標712以表示反繞和前進流可用(例如,因為如果緩存或記錄了整個視頻,則服務器可以提供反繞流)。盡管圖7示出了圖標,但是,節目柵格可以包括任何其他合適的表示。特殊播放客戶程序可以用一個或多個指示符來識別用戶可以請求反繞或快進流的視頻。以下的流程圖用于說明包含在本發明的一些實施例中的處理。圖8為用于將視頻反繞到用戶第一次開始觀看視頻之前的點的示意性處理的流程圖。處理800開始于步驟802。在步驟810,用戶在視頻已經開始之后選擇非點播視頻(例如,在廣播已經開始之后開始觀看廣播節目)。例如,用戶可以通過輸入頻道號或通過從適當的特殊播放客戶程序顯示(例如,節目指南柵格)中選擇節目,命令控制電路116中的調諧器調諧到由媒體源120提供的實時流。在步驟820,特殊播放客戶程序確定用戶對視頻的興趣是否足以肯定請求反繞流。例如,特殊播放客戶程序可以確定用戶是否已經觀看了視頻一段指定時間,或者,用戶是否已經調用了特殊播放功能(例如,“反繞”)。在某些實施例中,在步驟820之前,特殊播放客戶程序可以確定服務器130是否已經緩存或記錄了選擇的視頻。但是,在圖8所示的處理中,這個步驟被省略。如果特殊播放客戶程序確定用戶對視頻的興趣不足以肯定請求反繞流,則處理800轉移到步驟852并結束。相反,如果在步驟820,特殊播放客戶程序確定用戶對視頻的興趣足以肯定請求反繞流,則處理800轉移到步驟830。在步驟830,特殊播放客戶程序請求來自服務器130的反繞流。反繞流包括用戶第一次選擇視頻之前由媒體源120發送的視頻。反繞流的視頻可以開始于用戶第一次選擇該視頻的時刻,并且,流在時間上倒退到視頻開頭的時刻。反繞流可以以任何合適的方式,例如逐位倒序,提供視頻內容。在步驟840,特殊播放客戶程序通過通信路徑122接收來自服務器130的反繞流,并且命令記錄裝置118將反繞流緩存在一個或多個反繞緩沖器中。在步驟850,特殊播放客戶程序通過一個或多個反繞緩沖器對視頻進行反繞,將視頻反繞到用戶第一次選擇視頻之前的點。然后,特殊播放客戶程序可以回放來自一個或多個反繞緩沖器的視頻。處理800結束于步驟852。圖9為用于將視頻快進到視頻的實時流還沒有到達的點的示意性處理的流程圖。處理900開始于步驟902。在步驟910,用戶選擇在實時流中發送的非點播視頻(例如,廣播節目)。例如,用戶可以通過輸入頻道號或通過從合適的特殊播放客戶程序顯示(例如,節目指南柵格)中選擇節目,命令控制電路116中的調諧器調諧到由媒體源120提供的實時流。在步驟920,特殊播放客戶程序確定服務器130是否已經記錄或緩存了整個視頻。例如,特殊播放客戶程序可以請求來自服務器130的、對已經記錄或緩存整個視頻的表示。作為另一個例子,如果視頻為重播或重復節目(例如,流行連續劇的重復情節),則特殊播放客戶程序可以確定服務器130記錄或緩存了該視頻。如果特殊播放客戶程序確定服務器130還沒有記錄或緩存該視頻,則處理900轉移到步驟962并結束。相反,如果在步驟920,特殊播放客戶程序確定服務器130已經記錄或緩存了該視頻,則處理900轉移到步驟930。在步驟930,特殊播放客戶程序確定用戶對視頻的興趣是否足以肯定請求前進流。例如,特殊播放客戶程序可以確定用戶是否已經觀看了視頻一段指定時間,或者,用戶是否已經調用了特殊播放功能(例如,“快進”)。如果特殊播放客戶程序確定用戶對視頻的興趣不足以肯定請求前進流,則處理900轉移到步驟962并結束。相反,如果在步驟930,特殊播放客戶程序確定用戶對視頻的興趣足以肯定請求前進流,則處理900轉移到步驟940。在步驟940,特殊播放客戶程序請求來自服務器130的前進流。前進流至少包括用戶第一次選擇視頻之后(例如,用戶請求前進流之后)由媒體源120發送的整個視頻(例如,沒有跳過任何視頻幀)。在某些實施例中,服務器130按照高于實時流的速度向用戶設備110提供前進流(例如,以大于I倍的速度)。在步驟950,特殊播放客戶程序通過通信路徑122接收來自服務器130的前進流,并且命令記錄裝置118將前進流緩存在一個或多個前進緩沖器中。在步驟960,特殊播放客戶程序通過前進緩沖器對視頻進行快進。然后,特殊播放客戶程序可以回放來自一個或多個緩存的前進緩沖器的視頻。處理900結束于步驟962。圖10為用于向用戶設備110發送反繞和前進流的示意性流程圖。處理1000開始于步驟1002。在步驟1010,服務器130接收來自媒體源120的、例如也提供給交互式媒體系統100的用戶設備110的實例的實時流中的視頻。在步驟1020,服務器130確定是否記錄或緩存了在步驟1010接收的部分或全部視頻。服務器130可以用任何合適的標準(例如,流行視頻或優選視頻提供商)確定是否記錄或緩存了特定視頻。在某些實施例中,用戶設備110或交互式媒體系統100的另一個裝置可以指定服務器130緩存或記錄哪些視頻。在步驟1020,如果服務器確定沒有要記錄或緩存的視頻,則處理1000轉移到步驟1062并結束。相反在步驟1020,如果服務器確定至少要記錄或緩存一個特定視頻,則處理1000緩存至少一個特定視頻并轉移到步驟1030。在某些實施例中,處理1000可以跳過步驟1020并簡單地記錄或緩存每個視頻。在步驟1030,服務器130接收來自實現在用戶設備110上的特殊播放客戶程序的、關于視頻的請求。特殊播放客戶程序可以請求在特殊播放客戶程序的用戶開始觀看視頻之前發送的視頻的反繞流。特殊播放客戶程序還可以另外請求或作為替代請求由媒體源提供的、還沒有按照實時流發送的視頻的前進流。在步驟1040,服務器130確定服務器130是否已經記錄或緩存了請求的流所需的視頻。例如,當用戶請求前進流時,服務器可以確定是否已經記錄或緩存了請求的全部視頻。如果服務器130確定還沒有記錄或緩存所有請求的流所需的視頻,則處理1000轉移到步驟1062并結束。相反,在步驟1040,如果服務器130確定已經記錄或緩存了請求的流所需的至少部分視頻,則處理1000轉移到步驟1050。例如,服務器130可以確定它已經緩存了反繞流所需要的視頻,但沒有緩存前進流需的視頻。在步驟1050,服務器130利用所需的視頻生成至少一個請求的流(例如,前進流或反繞流)。在步驟1060,服務器130通過路徑122向實現在用戶設備110上的特殊播放客戶程序發送在步驟1050生成的至少一個請求的流。處理1000結束于步驟1062。圖11為利用用戶設備110回放已經緩存在反繞緩沖器和前進緩沖器中的視頻的示意性流程圖。處理1100開始于步驟1102。在步驟1110,特殊播放客戶程序接收用戶請求,從而從緩沖器回放至少一部分緩存在反繞緩沖器和前進緩沖器中的視頻。例如,特殊播放客戶程序可以接收從開頭回放視頻的用戶請求。在步驟1120,特殊播放客戶程序識別用戶想開始回放的視頻的視頻幀。例如,在從反繞緩沖器對視頻進行反繞期間,如果用戶選擇“播放”鍵,則特殊播放客戶程序可以識別用戶選擇“播放”鍵時顯示的視頻幀。在步驟1130,特殊播放客戶程序確定在步驟1120識別的視頻幀是否在反繞緩沖器中。如果特殊播放客戶程序確定該視頻幀在反繞緩沖器中,則處理轉移到步驟1140。在步驟1140,特殊播放客戶程序在顯示裝置112上顯示識別的幀,隨后移向反繞緩沖器的開頭,并且顯示緩存在反繞緩沖器中的下面的幀。例如,如果反繞緩沖器開始于幀Fn,結束于幀Ftl(S卩,節目的開頭),并且,特殊播放客戶程序識別出幀Fi,則特殊播放客戶程序顯示幀匕、幀Fi+1、幀Fi+2直到幀Fn。換句話說,特殊播放客戶程序按照先進后出的原則逐個處理緩沖器。在步驟1150,特殊播放客戶程序顯示反繞緩沖器的最后幀,并且轉移到前進緩沖器。在某些實施例中,特殊播放客戶程序可以代之以轉移到實時緩沖器(例如,如果沒有前進緩沖器,或者,如果在反繞緩沖器和前進緩沖器之間有實時緩沖器)。在步驟1160,特殊播放客戶程序在顯示裝置112上顯示前進緩沖器的第一幀,隨后移向前進緩沖器的結尾,并且顯示緩存在前進緩沖器中的下面的幀。例如,如果前進緩沖器開始于幀Fn,結束于幀Fy(S卩,節目的結尾),則特殊播放客戶程序顯示幀Fn、幀Fn+1、幀Fn+2直到幀Fy。換句話說,特殊播放客戶程序按照先進先出的原則逐個處理緩沖器。在步驟1130,如果特殊播放客戶程序確定視頻幀不在反繞緩沖器中(例如,識別的幀在前進緩沖器中),則處理1100也可以訪問步驟1160。在這種情況下,特殊播放客戶程序不是首先顯示前進緩沖器的第一幀,而是首先顯示在步驟1120識別的幀。然后,處理1100結束于步驟1162。出于說明而不是限制的目的,介紹了本發明的上述實施例,并且,本發明僅受以下的權利要求限制。權利要求1.一種用于對非點播視頻進行反繞的方法,該方法包括訪問視頻發送的開始點之后的第一訪問點的視頻;接收包括在第一訪問點之前發送的視頻的內容的反繞流,其中該反繞流包括從第一訪問點到視頻的開頭的、按照基本上連續的倒序的視頻;將所述反繞流的內容緩存在反繞緩沖器中;以及顯示包括反繞條的傳輸控制條,其中該反繞條以第一訪問點開始并以反繞指示符結束,當反繞流的內容正被緩存在反繞緩沖器中時,該反繞指示符從第一訪問點朝向視頻的開頭向后移動,并且該反繞指示符的位置指示能訪問視頻的內容的最早的點。2.如權利要求I所述的方法,其中,早于所述反繞指示符的視頻的內容不能訪問。3.如權利要求I所述的方法,還包括顯示與所述反繞指示符的當前位置對應的反繞預覽圖像。4.如權利要求3所述的方法,還包括接收反繞預覽圖像的用戶選擇;以及響應于接收到該用戶選擇,從與選擇的反繞預覽圖像對應的反繞指示符的當前位置播放視頻。5.如權利要求I所述的方法,其中,所述傳輸控制條還包括向用戶指示當前回放位置的當前指示符。6.如權利要求I所述的方法,還包括接收包括尚未發送的視頻的內容的前進流,其中所述前進流使視頻從第一次訪問視頻的時間之后向前流向視頻的結尾,并且所述前進流比實時發送得更快;將所述前進流的內容緩存在前進緩沖器中。7.如權利要求6所述的方法,其中,所述傳輸控制條還包括前進條,并且其中該前進條以第一訪問點開始并以前進指示符結束;當前進流的內容正被緩存在前進緩沖器中時,該前進指示符從第一訪問點朝向視頻的結尾向前移動;并且該前進指示符的位置指示能訪問視頻的內容的最晚的點。8.如權利要求7所述的方法,還包括顯示與前進指示符的當前位置對應的前進預覽圖像。9.如權利要求8所述的方法,還包括接收前進預覽圖像的用戶選擇;以及響應于接收到該用戶選擇,從與選擇的前進預覽圖像對應的前進指示符的當前位置播放視頻。10.如權利要求I所述的方法,還包括顯示多個反繞指示符和與所述多個反繞指示符中的各反繞指示符分別關聯的多個反繞預覽圖像。11.一種用于對非點播視頻進行反繞的系統,包括用于訪問視頻發送的開始點之后的第一訪問點的視頻的裝置;用于接收包括在第一訪問點之前發送的視頻的內容的反繞流的裝置,其中該反繞流包括從第一訪問點到視頻的開頭的、按照基本上連續的倒序的視頻;用于將所述反繞流的內容緩存在反繞緩沖器中的裝置;以及用于顯示包括反繞條的傳輸控制條的裝置,其中該反繞條以第一訪問點開始并以反繞指示符結束,當反繞流的內容正被緩存在反繞緩沖器中時,該反繞指示符從第一訪問點朝向視頻的開頭向后移動,并且該反繞指示符的位置指示能訪問視頻的內容的最早的點。12.如權利要求11所述的系統,其中,早于所述反繞指示符的視頻的內容不能訪問。13.如權利要求11所述的系統,還包括用于顯示與所述反繞指示符的當前位置對應的反繞預覽圖像的裝置。14.如權利要求13所述的系統,還包括用于接收反繞預覽圖像的用戶選擇的裝置;以及用于響應于接收到該用戶選擇,從與選擇的反繞預覽圖像對應的反繞指示符的當前位置播放視頻的裝置。15.如權利要求11所述的系統,其中,所述傳輸控制條還包括向用戶指示當前回放位置的當前指示符。16.如權利要求11所述的系統,還包括用于接收包括尚未發送的視頻的內容的前進流的裝置,其中所述前進流使視頻從第一次訪問視頻的時間之后向前流向視頻的結尾,并且所述前進流比實時發送得更快;和用于將所述前進流的內容緩存在前進緩沖器中的裝置。17.如權利要求16所述的系統,其中,所述傳輸控制條還包括前進條,并且其中該前進條以第一訪問點開始并以前進指示符結束;當前進流的內容正被緩存在前進緩沖器中時,該前進指示符從第一訪問點朝向視頻的結尾向前移動;并且該前進指示符的位置指示能訪問視頻的內容的最晚的點。18.如權利要求17所述的系統,還包括用于顯示與前進指示符的當前位置對應的前進預覽圖像的裝置。19.如權利要求18所述的系統,還包括用于接收前進預覽圖像的用戶選擇的裝置;以及用于響應于接收到該用戶選擇,從與選擇的前進預覽圖像對應的前進指示符的當前位置播放視頻的裝置。20.如權利要求11所述的系統,還包括用于顯示多個反繞指示符和與所述多個反繞指示符中的各反繞指示符分別關聯的多個反繞預覽圖像的裝置。全文摘要本發明涉及用于增強特殊播放功能的系統和方法。用于將視頻反繞到第一次觀看視頻之前的點的系統和方法。遠程服務器對媒體源發送的視頻進行緩存。當對視頻提出特殊播放請求時,服務器生成包括媒體源在用戶開始觀看視頻之前發送的視頻的反繞流。當接收到反繞流時,用戶設備可以將反繞流緩存在反繞緩沖器中并從反繞緩沖器進行反繞或播放。服務器還可以生成并發送媒體源還沒有發送的視頻的前進流。用戶設備可以將前進流緩存在前進緩沖器中。為了對視頻進行特殊播放操作,用戶設備可以將對視頻的回放轉換到反繞和前進緩沖器,并且從緩沖器對視頻進行反繞或快進。文檔編號H04N7/173GK102638709SQ201210083129公開日2012年8月15日申請日期2006年12月12日優先權日2006年2月28日發明者M·L·克拉內申請人:聯合視頻制品公司