專利名稱:更用戶友好的時(shí)間后移緩沖器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在諸如個(gè)人錄像機(jī)(Personal Video Recorder-PVR)之類的計(jì)算機(jī)環(huán)境中隨著時(shí)間段而顯示來自流送類型輸入的視頻或視聽圖像,具體來講涉及這樣的設(shè)備和方法,其中可以利用諸如時(shí)延和即時(shí)重放之類的特征來顯示視頻圖像。
多媒體設(shè)備諸如是VCR、DVD播放器、MP3播放器、盒式磁帶播放器、CD播放器和特別是PVR,近年來已對(duì)于消費(fèi)者而言變得流行了。對(duì)于由VCR、DVD播放器和PVR顯示的時(shí)變視頻圖像的用戶而言,希望能夠暫停視頻圖像的顯示。早先,這已經(jīng)通過下列操作而實(shí)現(xiàn)了,即當(dāng)用戶發(fā)出適當(dāng)指令時(shí)停止顯示,然后當(dāng)用戶發(fā)出另一條適當(dāng)指令時(shí)再次在顯示被停止的點(diǎn)開始顯示。對(duì)于預(yù)先記錄的視頻圖像(例如,DVD盤上的視頻)而言,由于已經(jīng)把所有視頻數(shù)據(jù)都存儲(chǔ)在存儲(chǔ)介質(zhì)上并且能夠按需要對(duì)其進(jìn)行訪問,因此這種暫停的實(shí)現(xiàn)是直接了當(dāng)?shù)?。暫停預(yù)先記錄的圖像的顯示的能力已經(jīng)在大多數(shù)用以顯示預(yù)先記錄的視頻圖像的消費(fèi)者電子設(shè)備中得以實(shí)現(xiàn)。
在針對(duì)不是預(yù)先記錄的而是由僅僅暫時(shí)對(duì)視頻顯示系統(tǒng)可用的視頻數(shù)據(jù)來表示的圖像而言,在實(shí)現(xiàn)上述常規(guī)的暫停方法的過程中遇到了困難。這種情況例如是電視或廣播節(jié)目的廣播,或者在諸如因特網(wǎng)或局部無線網(wǎng)絡(luò)之類的網(wǎng)絡(luò)上的流送類型輸入。
目前的基于硬盤的個(gè)人錄像機(jī)(PVR)系統(tǒng)提供了稱為時(shí)間后移緩沖器(Time-shift Buffer)的公知技術(shù)特征。這種時(shí)間后移緩沖器提供了諸如能夠暫停t.v.,執(zhí)行即時(shí)重放,然后繼續(xù)從暫停t.v.的點(diǎn)上觀看這樣的用戶特征。時(shí)間后移緩沖器總是記錄用戶正在觀看的頻道,然而卻不斷地丟棄緩沖器中的最舊視頻。現(xiàn)今,使用的典型實(shí)現(xiàn)方式提供了固定時(shí)間的緩沖器,例如具有一個(gè)半小時(shí)總觀看時(shí)間的緩沖器。
然而,對(duì)于用戶而言,目前具有尺寸固定的時(shí)間后移緩沖器的技術(shù)存在困難或問題。例如,如果用戶以幾乎等于時(shí)間后移緩沖器的固定尺寸的時(shí)間后移來進(jìn)行觀看,則嚴(yán)重地阻礙了進(jìn)一步后退的能力。例如,如果把時(shí)間后移緩沖器定為30分鐘并且用戶以29分鐘的時(shí)間后移來進(jìn)行觀看,則該用戶現(xiàn)在就只能后退1分鐘多。
因此,為了向系統(tǒng)的用戶提供有保證的最小重放時(shí)間,一種提供尺寸不固定的時(shí)間后移緩沖器的系統(tǒng)和方法是希望的。
依照本發(fā)明的一個(gè)方面,提供了一種包括尺寸變化的時(shí)間后移緩沖器的PVR設(shè)備,其中所述時(shí)間后移緩沖器提供了有保證的最小重放時(shí)間。所述PVR設(shè)備包括視頻數(shù)據(jù)存儲(chǔ)器、視頻輸入、視頻輸出、用戶輸入、輸入模塊、輸出模塊和用于縮小時(shí)間后移緩沖器的尺寸的剪裁(trim)模塊。
依照本發(fā)明的另一方面,提供了一種用于提供用戶友好的時(shí)間后移緩沖器的方法。所述方法包括從視頻輸入中獲取輸入視頻數(shù)據(jù),在具有所獲取的視頻數(shù)據(jù)的可記錄介質(zhì)上擴(kuò)展時(shí)間后移緩沖器,從時(shí)間后移緩沖器中讀取所選的視頻數(shù)據(jù),經(jīng)由視頻輸出來顯示從時(shí)間后移緩沖器讀取的所選的視頻數(shù)據(jù),以及在時(shí)間后移緩沖器的序時(shí)開始(chronological beginning)剪裁時(shí)間后移緩沖器,其中所述剪裁不把可用重放時(shí)間縮減到低于有保證的最小重放時(shí)間以下。
本發(fā)明的一個(gè)優(yōu)點(diǎn)是通過時(shí)間后移緩沖器增長的能力來提供的。
另一個(gè)優(yōu)點(diǎn)是如果用戶暫停顯示即使達(dá)到了已擴(kuò)展的持續(xù)時(shí)間之久,那么如果用戶在觀看時(shí)增加時(shí)延長度,時(shí)間后移緩沖器就會(huì)自動(dòng)地增長。
本發(fā)明的另一個(gè)優(yōu)點(diǎn)是提供有保證的最小重放時(shí)間的能力。
又一個(gè)優(yōu)點(diǎn)是通過本發(fā)明提供連貫的消費(fèi)者體驗(yàn)。
當(dāng)閱讀并理解下列優(yōu)選實(shí)施例的詳細(xì)說明時(shí),對(duì)于本領(lǐng)域的普通技術(shù)人員而言本發(fā)明更進(jìn)一步的優(yōu)點(diǎn)將變得明顯。
本發(fā)明可以采用各種部件以及這些部件的排列的形式。附圖僅僅是舉例說明優(yōu)選實(shí)施例用的,而不應(yīng)當(dāng)將其理解為限制本發(fā)明。
圖1是依照本發(fā)明的PVR系統(tǒng)的框圖;圖2是根據(jù)本發(fā)明的優(yōu)選實(shí)施例的PVR系統(tǒng)的示意圖;圖3是根據(jù)本發(fā)明的可選實(shí)施例的PVR系統(tǒng)的示意圖;圖4是根據(jù)本發(fā)明實(shí)施例的輸入方法的流程圖;圖5是根據(jù)本發(fā)明實(shí)施例的輸出方法的流程圖;和圖6是根據(jù)本發(fā)明實(shí)施例的剪裁方法的流程圖。
參照?qǐng)D1,由輸入視頻接口12從視頻源中獲取輸入視頻數(shù)據(jù),在運(yùn)行于系統(tǒng)存儲(chǔ)器20中駐留的PVR程序18的CPU 16的控制之下,經(jīng)由系統(tǒng)總線14傳輸所述輸入視頻數(shù)據(jù)。在PVR程序18的控制之下,繼而將該視頻寫入駐留在硬盤24上的時(shí)間后移緩沖器22,隨后或同時(shí)將其傳輸?shù)捷敵鲆曨l接口26以供在用戶顯示設(shè)備上進(jìn)行顯示。
時(shí)間后移緩沖器不保持在恒定的總尺寸,而是保持相對(duì)于當(dāng)前播放位置的恒定尺寸。例如,如果將時(shí)間后移緩沖器設(shè)置為10分鐘的尺寸,但用戶正在以15分鐘的時(shí)間后移進(jìn)行觀看,那么所緩沖的視頻就將保持在10+15,即25分鐘。這種解決方案具有下列優(yōu)點(diǎn)消費(fèi)者獲得更連貫的體驗(yàn),這不依賴于用戶以之觀看的時(shí)間后移。盡管把時(shí)間后移緩沖器描述成相對(duì)于當(dāng)前播放位置播放位置是恒定尺寸,但是恒定尺寸是就幀而論的,不過按字節(jié)數(shù)目而論,該尺寸是可以變化的。
圖1中還示出的是用于接收關(guān)于諸如下列之類的事件的用戶輸入命令的用戶輸入接口28,所述事件包括暫停、重放或以正?;蚣铀?、快速前進(jìn)模式繼續(xù)??梢酝ㄟ^用戶界面28上的用戶控件29來傳遞任何數(shù)量的輸入命令,這些控件在手持式遙控器中是典型的。
當(dāng)系統(tǒng)10的用戶暫停附于輸出視頻接口26上的顯示設(shè)備上的圖像顯示時(shí),PVR程序18經(jīng)由系統(tǒng)總線14把通過輸入視頻接口12接收的視頻引導(dǎo)到硬盤24上的時(shí)間后移緩沖器22。當(dāng)用戶結(jié)束暫停時(shí),所述系統(tǒng)PVR程序18令時(shí)間后移緩沖器22中所存的顯示數(shù)據(jù)經(jīng)由總線14從硬盤24傳輸?shù)捷敵鲆曨l接口26?;旧贤瑫r(shí)地把從輸入視頻接口12新進(jìn)來的輸入視頻寫入時(shí)間后移緩沖器22以供在適當(dāng)?shù)臅r(shí)間觀看。然而,為了使時(shí)間后移緩沖器22不致于增長到不可接受的尺寸那么大,同時(shí)對(duì)它進(jìn)行剪裁以保持所選定的尺寸。如果用戶喜歡,則能夠把已延遲的、來自于時(shí)間后移緩沖器22的視頻信息以加速模式傳輸?shù)捷敵鲆曨l接口26,以使得用戶及時(shí)地以最小時(shí)延顯示基本上實(shí)時(shí)的數(shù)據(jù)。
相對(duì)于時(shí)延而言,盡管人們希望最小化時(shí)延,但是由于硬件及其它等待時(shí)間考慮因素而無法徹底消除它。例如,在系統(tǒng)中難以讓讀取位置非常接近于當(dāng)前寫位置。這就會(huì)導(dǎo)致小但卻往往顯著的延遲,例如當(dāng)改變頻道時(shí)就是如此,并且在所選定的頻道出現(xiàn)之前有瞬間的延遲。
圖2提供了如何組織(圖1的)PVR程序18和如何結(jié)合磁盤緩沖器22進(jìn)行操作的邏輯圖。所述PVR程序18包括輸入模塊30,用于讀取視頻輸入;輸出模塊32,用于向輸出接口26提供視頻輸出;和控制器模塊34,用于控制輸入模塊30和輸出模塊32的操作。將要理解的是,由視頻輸入接口12正在接收的視頻輸入屏幕可以是采用許多種視頻格式。它可以是模擬視頻輸入或許多數(shù)字視頻輸入格式。所述輸入模塊30將輸入視頻流轉(zhuǎn)換成優(yōu)選格式,以便存儲(chǔ)在視頻緩沖器22中。
所述視頻緩沖器22是被再劃分為獨(dú)立的片段,稱畫面組(Group ofpictures-GOP)。例如,如果對(duì)于視頻緩沖器22而言優(yōu)選的視頻格式是MPEG2的話,則每個(gè)GOP將始于I幀,通常繼之以許多P幀和B幀。每個(gè)GOP都可以小到單I幀那么大,但是對(duì)于MPEG2而言通常在長度上至多15個(gè)幀。I幀是具有平均7到1的縮減率的內(nèi)編碼幀。隨著變化的宏塊的數(shù)據(jù)增加,P幀是根據(jù)在前的I幀或P幀來進(jìn)行預(yù)測的。P幀平均為20到1的縮減率或約I幀尺寸的一半。B幀是在以過去的幀宏塊和未來的幀宏塊的位置出現(xiàn)的基礎(chǔ)上雙向預(yù)測出的幀。B幀具有比P幀更少的數(shù)據(jù),平均約為50到1的縮減率。在MPEG4是為視頻緩沖器22所選的格式的情況下,每個(gè)GOP 36都能夠大到最大關(guān)鍵幀時(shí)間間隔那么大,通常是200到300幀。
在下文的說明中,相對(duì)于讀取、寫入和緩沖來參考視頻幀。然而,將要理解的是,在許多環(huán)境中,可以以包含多個(gè)幀的數(shù)據(jù)塊(例如,GOP)來進(jìn)行操作。反之,一個(gè)幀可能包含多個(gè)數(shù)據(jù)分組。然而,為了便于理解本發(fā)明,這里所有的說明都是針對(duì)幀作出的,但是目的在于包含使用數(shù)據(jù)塊或數(shù)據(jù)分組的實(shí)施方式。
所述視頻緩沖器22可以利用使用了特別為系統(tǒng)10開發(fā)的功能的存儲(chǔ)裝置(例如,硬盤)的全部或一部分加以實(shí)現(xiàn)。然而,所述視頻緩沖器22還可以在現(xiàn)有的文件系統(tǒng)中實(shí)現(xiàn)。例如,在一個(gè)實(shí)施例中,視頻緩沖器22是如下本機(jī)文件系統(tǒng)內(nèi)的常規(guī)文件,所述本機(jī)文件系統(tǒng)受到用于這個(gè)實(shí)施例的特定操作系統(tǒng)的文件系統(tǒng)模塊37控制。如果PVR系統(tǒng)是利用UNIX操作系統(tǒng)實(shí)現(xiàn)的,則視頻緩沖器22優(yōu)選地就是使用標(biāo)準(zhǔn)UNIX文件系統(tǒng)的常規(guī)文件。然而,如果操作系統(tǒng)是LINUX操作系統(tǒng),則視頻緩沖器22優(yōu)選地就是寫入到例如第二擴(kuò)展文件系統(tǒng)(EXT2)中的常規(guī)文件。如果利用BSD操作系統(tǒng),則視頻緩沖器22優(yōu)選地就是使用BSD文件系統(tǒng)的常規(guī)文件。在這個(gè)實(shí)施例中,為了執(zhí)行希望的動(dòng)作,任何對(duì)時(shí)間后移緩沖器22起作用的模塊都通過對(duì)文件系統(tǒng)模塊37的調(diào)用來通信。
在該優(yōu)選實(shí)施例中,視頻緩沖器22是利用MPEG2格式寫入的,并且從視頻輸入接口12接收的輸入流也是MPEG2格式。然而,將要理解的是,用于視頻緩沖器22的許多輸入流格式和許多視頻格式也同樣都包含在本申請(qǐng)的范圍內(nèi)。
當(dāng)輸入模塊30從視頻輸入接口12接收視頻幀時(shí),它把單獨(dú)的幀寫入到前面已描繪成優(yōu)選操作系統(tǒng)的本機(jī)文件系統(tǒng)中的標(biāo)準(zhǔn)文件的視頻緩沖器22。所述輸入模塊30保持寫指針38,所述寫指針基本上是寫入視頻緩沖器22的字節(jié)或幀的計(jì)數(shù)。輸出模塊32基本上同時(shí)地從視頻緩沖器中讀取視頻幀并向輸出接口26提供輸出幀以供在顯示設(shè)備上顯示給用戶。
所述輸出模塊32保持讀指針40,所述讀指針是指向視頻緩沖器22中當(dāng)前被觀看幀的指針。當(dāng)輸出模塊從視頻緩沖器22中讀取幀時(shí),使讀指針40增量至視頻緩沖器中的下一幀。此外,輸入模塊30和輸出模塊32在控制器模塊34的指導(dǎo)下進(jìn)行操作。例如,具備用戶設(shè)備28的用戶可能想要把個(gè)人錄像機(jī)系統(tǒng)10關(guān)閉。在這種情況下,控制器模塊34指示輸入模塊30關(guān)閉視頻緩沖器22文件并且停止向該文件的寫入。同時(shí),輸出模塊32停止向輸出接口26提供視頻幀?;蛘?,例如在用戶想要瞬時(shí)地暫停顯示的情況下,控制器模塊34則向輸出模塊32發(fā)信號(hào)指示它應(yīng)該掛起從緩沖器22的讀取并繼續(xù)顯示當(dāng)前從頻緩沖器22中讀取的幀。然而,在這種情況下,輸入模塊30繼續(xù)將幀寫入到視頻緩沖器22中。
在正常的操作下,為了保持視頻緩沖器22的尺寸而不致于無限地增長,當(dāng)輸入模塊30向本機(jī)文件末尾的緩沖器22寫入新的輸出幀時(shí),剪裁模塊42從視頻緩沖器22的開始刪除幀。用數(shù)字44標(biāo)明的虛線來表示已經(jīng)從視頻緩沖器22中刪去的這些幀。為了對(duì)用戶保持有保證的重放時(shí)間,剪裁模塊42檢查讀指針40并通過檢查從讀指針40所指示的文件開始的位移量來計(jì)算可用的重放時(shí)間幀46。然后,剪裁模塊42從視頻緩沖器22的開始刪除適當(dāng)數(shù)目的幀,并且相應(yīng)地調(diào)整讀指針40和寫指針38。從該文件開始剪去的幀數(shù)目在數(shù)目上就被縮減了,以使得讀指針40和寫指針38表示從該本機(jī)文件的開始起的字節(jié)或幀位移量。
當(dāng)剪裁模塊42對(duì)本機(jī)文件系統(tǒng)中的時(shí)間后移緩沖器22的開始進(jìn)行剪裁時(shí),優(yōu)選地以符合該系統(tǒng)的文件格式的方式執(zhí)行剪裁。因此,剪裁功能未必總是精確地刪除所請(qǐng)求的字節(jié)數(shù)目,而相反是刪除可能的、數(shù)目最大的請(qǐng)求字節(jié),同時(shí)遵循特定文件系統(tǒng)的分配單元限制。
在用戶已經(jīng)瞬時(shí)地暫停顯示然后重新開始觀看的情況下,在讀指針40和寫指針38之間將會(huì)出現(xiàn)不一致,這表明當(dāng)用戶以時(shí)延形式觀看時(shí)被延遲的幀48。照此,視頻緩沖器22于是就增長尺寸,以使得其總尺寸包含由幀46表示的有保證的可用重放時(shí)間和由所添加的幀48表示的延遲時(shí)間。因此,當(dāng)剪裁模塊42在文件的開始對(duì)視頻緩沖器22進(jìn)行剪裁時(shí),視頻緩沖器22同時(shí)也按照輸入模塊38所寫入的記錄、幀或GOP在視頻緩沖器22的相反末尾增長。尚未被寫入視頻緩沖器22中的、將來的記錄、幀或GOP是用數(shù)字50表示的。
圖2中以線性的方式來表示視頻緩沖器22,以便將其與現(xiàn)有PVR中所用的典型環(huán)形緩沖器相區(qū)別開來。然而,在即時(shí)應(yīng)用中,本機(jī)文件被同時(shí)地寫入和剪裁,所述本機(jī)文件基本上慢慢地通過本機(jī)文件系統(tǒng)中的空閑空間而前進(jìn)。
作為PVR系統(tǒng)10的可選特征,當(dāng)用戶正在實(shí)時(shí)觀看時(shí),輸入模塊30可以同時(shí)地向視頻緩沖器22進(jìn)行寫入和把每個(gè)視頻幀放在實(shí)時(shí)緩沖器52中。代替從視頻緩沖器22中讀取幀,所述輸出模塊直接地從實(shí)時(shí)緩沖器52中的存儲(chǔ)器中獲取幀以供顯示。這通過進(jìn)一步使固系統(tǒng)中的前述反應(yīng)等待而造成的任何時(shí)延最小化而改善了觀看體驗(yàn)。優(yōu)選地,實(shí)時(shí)緩沖器52被保持在隨機(jī)存取存儲(chǔ)器(未示出)中。此外,盡管示出了實(shí)時(shí)緩沖器具有單個(gè)元件,但是在典型的實(shí)施方式中所述緩沖器包含隊(duì)列形式的多個(gè)元件。
圖3是與圖2中所示的內(nèi)容相似的本申請(qǐng)的可選實(shí)施例的表示,其中相同的數(shù)字表示相似的元件或過程。然而,在圖3中所舉例說明的實(shí)施例中,視頻緩沖器22是以不同的方式實(shí)現(xiàn)的。代替作為本機(jī)文件系統(tǒng)中的單文件的一部分,視頻緩沖器22中的每一片段36都是一個(gè)獨(dú)立文件。所述視頻緩沖器22包含多個(gè)文件。
在這個(gè)實(shí)施例中,視頻緩沖器22是作為環(huán)形緩沖器加以說明的。然而,緩沖器22能夠根據(jù)需要增大和縮小尺寸。用于增大或縮小視頻緩沖器22的方法類似于圖2中舉例說明的實(shí)施例。然而,在這個(gè)實(shí)施例中,輸入模塊30使用寫指針38,并且具有相關(guān)聯(lián)的文件表60,該文件表按序時(shí)方式、逐個(gè)視頻時(shí)間地表示文件名。
如果用戶正在以正常速率觀看視頻,則視頻緩沖器22既不增長也不縮小。寫指針38以順序方式經(jīng)由視頻緩沖器22訪問文件,遞歸地在文件表60中的文件名中循環(huán)。在有或者沒有輸出延遲48的情況下,輸出模塊32基本上同時(shí)地訪問還與文件表60相關(guān)聯(lián)的、讀指針40所指示的文件和從視頻緩沖器22中遞歸地獲取文件。然而,如果用戶表明希望暫停輸出顯示,則讀指針40停止從視頻緩沖器22中繼續(xù)前進(jìn)。為了保持有保證的可用重放時(shí)間,把與文件46相對(duì)應(yīng)的文件插入到視頻緩沖器22中。在與寫指針38相關(guān)聯(lián)的文件表60中的位置,在本機(jī)文件系統(tǒng)中生成新文件并將其插入文件表60中。照此,沒有減小可用的重放時(shí)間并且視頻緩沖器22繼續(xù)增長,同時(shí)用戶保持在暫停模式下。然而,如果用戶在固定延遲的情況下重新開始以正常速率進(jìn)行觀看,則寫指針38和讀指針40通過經(jīng)由文件表60訪問文件來繼續(xù)以循環(huán)方式或遞歸方式在視頻緩沖器22前進(jìn)。
當(dāng)用戶隨后通過快速前進(jìn)、跳過商業(yè)廣告節(jié)目或迅速轉(zhuǎn)到實(shí)時(shí)觀看上而以更快的速率推進(jìn)顯示時(shí),所述剪裁模塊42將文件從文件表60中刪掉以便將可用的重放時(shí)間縮短至有保證的重放時(shí)間。視頻緩沖器22相應(yīng)地縮小。
在圖4中,描繪了適用于輸入模塊30的實(shí)現(xiàn)方式中的輸入方法70。在步驟72中,從輸入視頻接口12中獲取視頻幀。步驟74對(duì)于上述實(shí)時(shí)緩沖器52而言是可選的步驟,在該步驟中作出測試以判斷實(shí)時(shí)緩沖器52是否已被輸出模塊32阻塞。如果緩沖器52尚未被阻塞,則處理繼續(xù)到步驟76,所述步驟76將視頻幀拷貝到實(shí)時(shí)緩沖器52中。隨后,在步驟78中,按照輸入方法70阻塞了實(shí)時(shí)緩沖器52。在可選的步驟74-78之后,在步驟80中,所述視頻緩沖器22隨著把視頻幀寫入視頻緩沖器22中而擴(kuò)展著,從而利用當(dāng)前獲取的視頻幀來擴(kuò)展本機(jī)文件系統(tǒng)中的文件。在步驟82中,相應(yīng)地使寫指針增量以表示到視頻緩沖器22中的新的最后一幀的位移量。
在圖5中,描述了適用于輸出模塊32的實(shí)現(xiàn)方式中的輸出方法90??蛇x的步驟92判斷用戶是否在無任何延遲的情況下正在實(shí)時(shí)地進(jìn)行觀看。如果回答為是,則處理繼續(xù)。在步驟94中,輸出方法90等待實(shí)時(shí)緩沖器52被按照輸入方法70阻塞。在緩沖器已經(jīng)被輸入模塊或輸入方法70阻塞之后,步驟96從實(shí)時(shí)緩沖器52中讀取視頻幀以供顯示在輸出設(shè)備上。如果在步驟92中判定為否定的回答,則步驟98判斷用戶是否已經(jīng)在顯示過程中請(qǐng)求暫停。如果尚未請(qǐng)求暫停,則處理繼續(xù)到步驟100,所述步驟100從表示視頻緩沖器22的文件中在由讀指針40代表的點(diǎn)獲取視頻幀以供顯示在輸出設(shè)備上。在步驟102中,使讀指針增量以指向下一個(gè)將要獲取的視頻幀。在任何情況下,處理都繼續(xù)到步驟104,在所述步驟104中通過把上面獲取的視頻幀傳遞到輸出接口26來顯示這些視頻幀。在可選的步驟106中,解除對(duì)實(shí)時(shí)緩沖器52的阻塞,以便按照輸入方法70進(jìn)行后續(xù)的處理。
在圖6中,描繪了適合于剪裁模塊42的剪裁方法110。在剪裁方法的步驟112中,獲得對(duì)讀指針40和寫指針38的獨(dú)占訪問,以使得輸入模塊30和輸出模塊32不同時(shí)地訪問所述指針。在步驟114中,可用的重放時(shí)間是通過相對(duì)于文件的開始檢查讀指針40計(jì)算出的(圖2),或是通過相對(duì)于寫指針38檢查讀指針40計(jì)算出的(圖3)。隨后,在步驟116中,將可用的重放時(shí)間同有保證的重放時(shí)間進(jìn)行比較。如果可用的重放時(shí)間超過有保證的重放時(shí)間,則調(diào)用步驟118以將文件的開始剪裁到可用的重放時(shí)間等于有保證的重放時(shí)間的那一點(diǎn)。在任何情況下,步驟120都釋放讀指針40和寫指針38以供由輸出方法32和輸入方法30訪問。
應(yīng)當(dāng)理解的是,盡管已經(jīng)示出輸入模塊30、輸出模塊32、控制器模塊34和剪裁模塊42并將它們描繪成作為在多線程環(huán)境中的獨(dú)立進(jìn)程而操作,但是也可以把上述模塊組合起來作為單線程操作的單模塊,在其中這些模塊以順序的有序方式來迭代地執(zhí)行處理步驟。
已經(jīng)參照優(yōu)選實(shí)施例描述了本發(fā)明。顯然,當(dāng)其他人閱讀和理解前述的詳細(xì)說明時(shí),也將能想到修改和變更。意在把發(fā)明理解成包含所有這類屬于所附權(quán)利要求或其等效內(nèi)容的范圍之內(nèi)的修改和變更。
權(quán)利要求
1.一種錄像機(jī)(10),包括用于在記錄介質(zhì)(24)的一部分上的時(shí)間后移緩沖器(22)中記錄輸入視頻數(shù)據(jù)的裝置(30);用于從時(shí)間后移緩沖器(22)中讀取視頻數(shù)據(jù)的裝置(32);用于在時(shí)間后移緩沖器的序時(shí)開始獨(dú)立地剪裁視頻數(shù)據(jù)以便在時(shí)間后移緩沖器的序時(shí)開始和在當(dāng)前時(shí)間讀取的視頻數(shù)據(jù)之間保持至少有保證的最小可用重放時(shí)間的裝置(42);用于暫停從時(shí)間后移緩沖器中對(duì)視頻數(shù)據(jù)的讀取以暫停當(dāng)前讀取時(shí)間的裝置(28,34);用于在時(shí)間后移緩沖器的序時(shí)末尾利用當(dāng)前輸入的視頻數(shù)據(jù)來獨(dú)立地?cái)U(kuò)大時(shí)間后移緩沖器的裝置(30,38)。
2.根據(jù)權(quán)利要求1所述的錄像機(jī),其中所述時(shí)間后移緩沖器(22)包括單個(gè)文件。
3.根據(jù)權(quán)利要求2所述的錄像機(jī),其中所述記錄介質(zhì)(24)是硬盤驅(qū)動(dòng)器。
4.根據(jù)權(quán)利要求3所述的錄像機(jī),其中所述單個(gè)文件被保持在包含于錄像機(jī)(10)上的操作系統(tǒng)的本機(jī)文件系統(tǒng)內(nèi)。
5.根據(jù)權(quán)利要求1所述的錄像機(jī),其中所述時(shí)間后移緩沖器(22)包含多個(gè)文件。
6.根據(jù)權(quán)利要求5所述的錄像機(jī),其中所述記錄介質(zhì)(24)是硬盤驅(qū)動(dòng)器。
7.根據(jù)權(quán)利要求6所述的錄像機(jī),其中所述多個(gè)文件被保持在包含在錄像機(jī)(10)上的操作系統(tǒng)的本機(jī)文件系統(tǒng)內(nèi)。
8.根據(jù)權(quán)利要求7所述的錄像機(jī),進(jìn)一步包括用于對(duì)所述多個(gè)文件執(zhí)行操作的裝置(37)。
9.根據(jù)權(quán)利要求1所述的錄像機(jī),進(jìn)一步包括用于終止對(duì)視頻數(shù)據(jù)讀取的暫停以便重新開始從時(shí)間后移緩沖器中讀取視頻數(shù)據(jù)的裝置。
10.根據(jù)權(quán)利要求1所述的錄像機(jī),進(jìn)一步包括用于在時(shí)間后移緩沖器中快速前進(jìn)通過視頻數(shù)據(jù)的裝置;和用于縮小時(shí)間后移緩沖器尺寸的裝置。
11.根據(jù)權(quán)利要求1所述的錄像機(jī),進(jìn)一步包括實(shí)時(shí)緩沖器(52),當(dāng)用戶正在沒有時(shí)延地實(shí)時(shí)觀看時(shí),所述輸入模塊(30)經(jīng)由該實(shí)時(shí)緩沖器(52)將視頻數(shù)據(jù)傳遞到輸出模塊(32)。
12.一種錄像機(jī)(10),包括硬盤驅(qū)動(dòng)器(24);硬盤驅(qū)動(dòng)器(24)上的、尺寸變化的時(shí)間后移緩沖器(22),該時(shí)間后移緩沖器提供了有保證的最小重放時(shí)間;輸入模塊(30),用于接收視頻輸入數(shù)據(jù)并將視頻輸入數(shù)據(jù)寫入硬盤驅(qū)動(dòng)器(24)上的時(shí)間后移緩沖器(22);輸出模塊(32),用于從時(shí)間后移緩沖器(22)中讀取所寫入的視頻并通過輸出視頻接口(26)顯示它;和剪裁模塊(42),用于把時(shí)間后移緩沖器(22)的尺寸調(diào)整成使得時(shí)間后移緩沖器(22)的尺寸足以保持有保證的最小重放時(shí)間。
13.根據(jù)權(quán)利要求12所述的錄像機(jī),其中所述硬盤驅(qū)動(dòng)器(24)包含用于保留時(shí)間后移緩沖器的至少一個(gè)標(biāo)準(zhǔn)文件系統(tǒng)。
14.根據(jù)權(quán)利要求13所述的錄像機(jī),進(jìn)一步包括文件系統(tǒng)模塊(37),用于在所述至少一個(gè)標(biāo)準(zhǔn)文件系統(tǒng)上添加、刪除和保持文件。
15.根據(jù)權(quán)利要求14所述的錄像機(jī),其中所述時(shí)間后移緩沖器(22)包括單個(gè)文件。
16.根據(jù)權(quán)利要求14所述的錄像機(jī),其中所述時(shí)間后移緩沖器(22)包含多個(gè)文件。
17.根據(jù)權(quán)利要求12所述的錄像機(jī),進(jìn)一步包括第一用戶控件(29),用于交替地暫停和重新開始從時(shí)間后移緩沖器中對(duì)視頻數(shù)據(jù)的讀取。
18.根據(jù)權(quán)利要求17所述的錄像機(jī),進(jìn)一步包括第二用戶控件(29),用于使從時(shí)間后移緩沖器對(duì)視頻數(shù)據(jù)的讀取快速前進(jìn)。
19.根據(jù)權(quán)利要求12所述的錄像機(jī),進(jìn)一步包括輸出模塊(32)使用的讀指針(40),用于指向要從時(shí)間后移緩沖器(22)中讀取的適當(dāng)片段(36);和輸入模塊(30)使用的寫指針(38),用于指向要寫入到時(shí)間后移緩沖器(22)中的適當(dāng)片段(36)。
20.根據(jù)權(quán)利要求19所述的錄像機(jī),進(jìn)一步包括實(shí)時(shí)緩沖器(52),當(dāng)用戶正在沒有時(shí)延地實(shí)時(shí)觀看時(shí),所述輸入模塊(30)經(jīng)由該實(shí)時(shí)緩沖器(52)將視頻數(shù)據(jù)傳遞到輸出模塊(32)。
21.一種用于時(shí)間后移緩沖的方法,包括在記錄介質(zhì)(24)的一部分上的時(shí)間后移緩沖器(22)中記錄輸入視頻數(shù)據(jù);從時(shí)間后移緩沖器(22)中讀取視頻數(shù)據(jù);在時(shí)間后移緩沖器的序時(shí)開始獨(dú)立地剪裁視頻數(shù)據(jù),以便在時(shí)間后移緩沖器的序時(shí)開始和在當(dāng)前時(shí)間讀取的視頻數(shù)據(jù)之間保持至少有保證的最小可用重放時(shí)間;暫停從時(shí)間后移緩沖器對(duì)視頻數(shù)據(jù)的讀取以暫停當(dāng)前讀取時(shí)間;在時(shí)間后移緩沖器的序時(shí)末尾利用當(dāng)前輸入的視頻數(shù)據(jù)來獨(dú)立地?cái)U(kuò)大時(shí)間后移緩沖器。
22.根據(jù)權(quán)利要求21所述的方法,進(jìn)一步包括終止對(duì)視頻數(shù)據(jù)讀取的暫停,以便重新開始從時(shí)間后移緩沖器中對(duì)視頻數(shù)據(jù)的讀取;以及當(dāng)重新開始對(duì)視頻數(shù)據(jù)的讀取時(shí),凍結(jié)時(shí)間后移緩沖器的尺寸。
23.根據(jù)權(quán)利要求22所述的方法,進(jìn)一步包括在時(shí)間后移緩沖器中快速前進(jìn)通過視頻數(shù)據(jù);以及縮小時(shí)間后移緩沖器尺寸。
24.根據(jù)權(quán)利要求21所述的方法,進(jìn)一步包括在時(shí)間后移緩沖器中快速前進(jìn)通過視頻數(shù)據(jù);以及縮小時(shí)間后移緩沖器的尺寸。
25.根據(jù)權(quán)利要求21所述的方法,其中使輸入模塊(30)、輸出模塊(32)和剪裁模塊(42)作為獨(dú)立進(jìn)程而操作。
26.根據(jù)權(quán)利要求21所述的方法,其中使輸入模塊(30)、輸出模塊(32)和剪裁模塊(42)作為單線程進(jìn)程而操作。
27.根據(jù)權(quán)利要求21所述的方法,進(jìn)一步包括在實(shí)時(shí)緩沖器(52)中存儲(chǔ)輸入視頻數(shù)據(jù);以及從實(shí)時(shí)緩沖器(52)中讀取視頻數(shù)據(jù),使得當(dāng)用戶正在無時(shí)延地以實(shí)時(shí)速率進(jìn)行觀看時(shí)執(zhí)行從實(shí)時(shí)緩沖器(52)中對(duì)視頻數(shù)據(jù)的讀取。
28.一種用于控制時(shí)間后移緩沖器的尺寸的方法,包括將當(dāng)前數(shù)據(jù)寫入到時(shí)間后移緩沖器的序時(shí)末尾,由此增大時(shí)間后移緩沖器的尺寸;確定時(shí)間后移緩沖器要被縮小的尺寸;按不超過所確定尺寸的最大可能尺寸來剪裁時(shí)間后移緩沖器的序時(shí)開始。
29.根據(jù)權(quán)利要求28所述的方法,其中寫入和剪裁都是在本機(jī)文件系統(tǒng)內(nèi)執(zhí)行的,所述時(shí)間后移緩沖器符合本機(jī)文件系統(tǒng)中的文件標(biāo)準(zhǔn)。
全文摘要
一種配備尺寸變化的時(shí)間后移緩沖器(22)的PVR設(shè)備(10),所述時(shí)間后移緩沖器為更連貫的消費(fèi)者體驗(yàn)提供了有保證的最小重放時(shí)間。所述PVR設(shè)備包括視頻數(shù)據(jù)存儲(chǔ)裝置(24);視頻輸入裝置(12);視頻輸出設(shè)備(32);用戶輸入裝置(28);輸入模塊(30),用于接收視頻輸入數(shù)據(jù)并將視頻輸入寫入時(shí)間后移緩沖器中(22);輸出模塊(32),用于從時(shí)間后移緩沖器(22)中讀取所寫入的視頻數(shù)據(jù)并通過視頻輸出設(shè)備(32)來顯示它;和剪裁模塊(42),用于縮小時(shí)間后移緩沖器(22)的尺寸。
文檔編號(hào)H04N5/781GK1729687SQ200380106823
公開日2006年2月1日 申請(qǐng)日期2003年12月8日 優(yōu)先權(quán)日2002年12月20日
發(fā)明者R·約赫姆森, A·J·丹尼森 申請(qǐng)人:皇家飛利浦電子股份有限公司