專利名稱:媒體內(nèi)容檢索系統(tǒng)和個人虛擬頻道的制作方法
媒體內(nèi)容檢索系統(tǒng)和個人虛擬頻道
背景技術(shù):
傳統(tǒng)上,人們以與他們體驗他們的電視機(jī)不同的方式來體驗他們的家用計算機(jī)。 具體而言,用戶通過他們的電視機(jī)接收廣播內(nèi)容,而通過他們的計算機(jī)接收諸如視頻、照片、音樂和音頻文件之類的因特網(wǎng)媒體內(nèi)容。然而,有合并這兩種體驗的新的推動。人們越來越多地使用他們的電視機(jī)來接收傳統(tǒng)的因特網(wǎng)內(nèi)容,而使用他們的計算機(jī)來接收傳統(tǒng)的
廣播內(nèi)容。基本上保持在計算機(jī)的范圍內(nèi)的一個區(qū)域是因特網(wǎng)導(dǎo)航和媒體搜索。出現(xiàn)這種情況的一個原因是,用于接收電視內(nèi)容的傳統(tǒng)的機(jī)頂盒(STB)沒有配備有典型的計算機(jī)具有的處理能力或瀏覽功能。這種情況的一個示例是,機(jī)頂盒只能夠播放現(xiàn)有的大量各種媒體文件格式中數(shù)量有限的格式。視頻文件被編碼為Windows媒體視頻(WMV)、flash視頻 (FLV) ,MPEG視頻文件,以及許多其他格式。音頻文件被編碼為Windows媒體音頻(WMA)、波形音頻格式(WAV)、以及MPEG音頻層3 (MP3),等等。而圖形文件被作為JPG、GIF、TIF等等來存儲。常規(guī)機(jī)頂盒對于每一種類型的媒體,只支持?jǐn)?shù)量有限的格式。盡管諸如機(jī)頂盒之類的客戶端設(shè)備確實(shí)具有一些因特網(wǎng)搜索功能,并能夠播放某些類型的媒體文件,但是,這些能力是受限的。的確可以提供與傳統(tǒng)的PC計算機(jī)具有相同處理能力和瀏覽功能的機(jī)頂盒。然而,這將顯著增加機(jī)頂盒的成本。增加機(jī)頂盒的成本與當(dāng)前趨勢相反,當(dāng)前趨勢是給機(jī)頂盒提供處理廣播和某些類型的下載內(nèi)容的功能,但要使它們保持簡單而便宜。因此,為了體驗通過萬維網(wǎng)可用的大量各種媒體文件,用戶仍轉(zhuǎn)向他們的計算機(jī)。另一方面,主要保持在電視的范圍內(nèi)的一個領(lǐng)域是接收內(nèi)容而無需用戶主動地尋找并選擇他們接收到的所有內(nèi)容的能力。盡管用戶可以使用他們的計算機(jī)在網(wǎng)上沖浪并只接收他們感興趣的內(nèi)容,但是,在一個內(nèi)容片段結(jié)束時,用戶必須主動地選擇另一個內(nèi)容片段。相反,利用電視,用戶可以調(diào)到一個頻道,然后坐好,并接收由電視臺選擇的無終止的內(nèi)容流。盡管電視臺提供大量各種內(nèi)容,但是,用戶并不總是能夠發(fā)現(xiàn)正在播放用戶感興趣的特定內(nèi)容的頻道。
發(fā)明內(nèi)容
粗略地描述的本系統(tǒng)涉及用于媒體內(nèi)容搜索與檢索的系統(tǒng),以及能夠使用該系統(tǒng)的虛擬電視頻道。本系統(tǒng)可以在諸如例如,家庭PC之類的媒體服務(wù)服務(wù)器,以及諸如例如, 電視系統(tǒng)的機(jī)頂盒、移動電話、個人數(shù)字助理或游戲控制臺之類的客戶端設(shè)備上實(shí)現(xiàn)。本系統(tǒng)的第一方面涉及一種媒體下載控制引擎,該控制引擎使具有有限的能力的客戶端設(shè)備能夠播放來自網(wǎng)站的該客戶端設(shè)備不支持的格式的媒體內(nèi)容。媒體下載控制引擎最初通過作為在客戶端設(shè)備和在其上面存儲了媒體內(nèi)容的遠(yuǎn)程服務(wù)器之間的中介來控制媒體搜索過程。媒體下載控制引擎格式化由客戶端設(shè)備作出的對內(nèi)容的請求,以使得客戶端設(shè)備只需接收用戶選擇,該選擇被自動路由到媒體服務(wù)服務(wù)器,該媒體服務(wù)服務(wù)器處理該請求,并返回被請求的信息。
到特定媒體文件的鏈接被媒體服務(wù)服務(wù)器格式化,然后,被發(fā)送到客戶端設(shè)備。媒體服務(wù)服務(wù)器能夠檢測客戶端設(shè)備的能力,具體而言,檢測哪些類型的媒體文件得到客戶端設(shè)備的支持。當(dāng)用戶選擇所支持的媒體文件來進(jìn)行下載時,到此內(nèi)容的鏈接被從媒體服務(wù)服務(wù)器提供到客戶端設(shè)備,以使得客戶端設(shè)備直接從主存了所希望的媒體文件的遠(yuǎn)程服務(wù)器請求內(nèi)容。另一方面,如果用戶選擇了不支持的媒體文件來進(jìn)行下載,則到此內(nèi)容的鏈接被從媒體服務(wù)服務(wù)器提供到客戶端設(shè)備,以使得客戶端設(shè)備向媒體服務(wù)服務(wù)器作出對內(nèi)容的請求。然后,媒體服務(wù)服務(wù)器從遠(yuǎn)程服務(wù)器獲取內(nèi)容,并將它代碼轉(zhuǎn)換為由客戶端設(shè)備支持的格式。然后,將經(jīng)過代碼轉(zhuǎn)換的文件發(fā)送到客戶端設(shè)備,以供播放。媒體下載控制引擎給用戶提供了搜索媒體內(nèi)容并將其直接下載到他們的電視系統(tǒng)的能力。本系統(tǒng)的第二方面可以利用媒體下載控制引擎來獲取媒體內(nèi)容和創(chuàng)建自定義虛擬頻道。第二方面特別涉及虛擬頻道引擎,該引擎為用戶調(diào)度內(nèi)容的連續(xù)流,該內(nèi)容是基于用戶感興趣的主題選定的。提示用戶輸入搜索查詢。一旦輸入了查詢,搜索引擎就返回涉及該搜索查詢的結(jié)果。除來自根搜索查詢的結(jié)果之外,可以從根搜索查詢導(dǎo)出額外的查詢, 還可獲取來自導(dǎo)出的搜索查詢的結(jié)果。然后,將來自根和導(dǎo)出的搜索查詢的結(jié)果的媒體內(nèi)容一起放入到媒體內(nèi)容節(jié)目中,供用戶通過虛擬電視頻道查看。根和相應(yīng)的導(dǎo)出的搜索查詢可以各自形成虛擬頻道上的不同的節(jié)目?;诟鞣N條件,包括內(nèi)容時長和結(jié)果與根和導(dǎo)出的搜索查詢的接近度,將內(nèi)容添加到節(jié)目中。一旦節(jié)目被組合,就將它們調(diào)度到未來,諸如,例如,提前1到2個星期。 用戶可以查看電子節(jié)目指南上的日程表,并選擇他或她希望查看或收聽的節(jié)目。
圖1是根據(jù)本系統(tǒng)的一個實(shí)施例的系統(tǒng)的體系結(jié)構(gòu)的框圖。圖2是根據(jù)本系統(tǒng)的一個實(shí)施例的媒體服務(wù)服務(wù)器的框圖。圖3A-3C是根據(jù)本系統(tǒng)的一個實(shí)施例的媒體下載控制引擎的操作的流程圖。圖4-5C是根據(jù)本系統(tǒng)的一個實(shí)施例的媒體下載控制引擎呈現(xiàn)的圖形用戶界面的例圖。圖6A-6C是根據(jù)本系統(tǒng)的一個實(shí)施例的虛擬頻道引擎的操作的流程圖。圖7和8是根據(jù)本系統(tǒng)的一個實(shí)施例的虛擬頻道引擎呈現(xiàn)的圖形用戶界面的例圖。圖9是根據(jù)本系統(tǒng)的一個實(shí)施例的虛擬頻道引擎呈現(xiàn)的圖形用戶界面上的電子節(jié)目指南的例圖。圖10是根據(jù)本系統(tǒng)的一個實(shí)施例的客戶端設(shè)備的框圖。圖11是根據(jù)本系統(tǒng)的一個實(shí)施例的用于實(shí)現(xiàn)本地機(jī)頂盒廣告插入的計算環(huán)境的框圖。
具體實(shí)施例方式現(xiàn)在將參考圖1-11描述系統(tǒng)的實(shí)施例,一般而言,這些實(shí)施例涉及用于媒體內(nèi)容搜索與檢索的系統(tǒng),以及能夠使用該系統(tǒng)的虛擬電視頻道。在本系統(tǒng)的第一方面,一種媒體下載控制引擎使具有有限的能力的客戶端設(shè)備能夠定位和播放來自網(wǎng)站的該客戶端設(shè)備不支持的格式的媒體內(nèi)容。媒體下載和控制引擎由諸如PC之類的媒體服務(wù)服務(wù)器主存,該媒體服務(wù)服務(wù)器指示客戶端設(shè)備作出通過媒體服務(wù)服務(wù)器的對不受支持的媒體文件的請求。媒體服務(wù)服務(wù)器獲取不支持的媒體文件,并將它們代碼轉(zhuǎn)換為由客戶端設(shè)備支持的格式。然后,將經(jīng)過代碼轉(zhuǎn)換的文件發(fā)送到客戶端設(shè)備,供客戶端設(shè)備播放。本系統(tǒng)的第二方面可以利用媒體下載控制引擎來獲取媒體內(nèi)容和創(chuàng)建自定義虛擬頻道。第二方面特別涉及虛擬頻道引擎,該引擎為用戶調(diào)度連續(xù)的內(nèi)容流,該內(nèi)容是基于用戶感興趣的主題選定的。首先參考圖1,示出了包括媒體服務(wù)服務(wù)器102和客戶端設(shè)備104的系統(tǒng)體系結(jié)構(gòu) 100。在各實(shí)施例中,媒體服務(wù)服務(wù)器102可以是諸如傳統(tǒng)的家庭PC之類的計算設(shè)備,而客戶端設(shè)備104可以是附接到可以是電視機(jī)的顯示器106的機(jī)頂盒。下面參考圖11闡述了其中客戶端設(shè)備104是機(jī)頂盒的實(shí)施例的比較詳細(xì)的描述,下面參考圖9闡述了媒體服務(wù)服務(wù)器的示例的比較詳細(xì)的描述。應(yīng)該理解,在替換實(shí)施例中,客戶端設(shè)備104可以是除機(jī)頂盒以外的與媒體服務(wù)服務(wù)器102相比具有有限的處理能力的設(shè)備。這樣的額外的客戶端設(shè)備可包括,但不僅限于,移動電話、個人數(shù)字助理,以及諸如例如來自微軟公司的)(b0X 游戲系統(tǒng)之類的游戲控制臺。媒體服務(wù)服務(wù)器102和客戶端設(shè)備104可以位于用戶的家庭,并彼此如通過有線或無線網(wǎng)絡(luò)連接聯(lián)網(wǎng)。設(shè)備102和104還各自連接到因特網(wǎng)110,在這里,它們能夠訪問不同的web服務(wù)器,包括提供視頻點(diǎn)播(VOD)及其他服務(wù)的媒體服務(wù)器112,以及包括能夠執(zhí)行web搜索的搜索引擎的門戶114。媒體服務(wù)器112可包括基于接收到的對于內(nèi)容媒體的請求來管理媒體內(nèi)容向媒體服務(wù)服務(wù)器102和/或客戶端設(shè)備104的傳遞的媒體傳遞引擎。門戶114可包括搜索引擎,該搜索引擎具有能夠搜索萬維網(wǎng)以尋找媒體文件的web爬尋器應(yīng)用程序,以及用于存儲媒體文件的位置的索引?,F(xiàn)在參考圖2,媒體服務(wù)服務(wù)器102 —般而言可以包括一個或多個處理器116、以及操作系統(tǒng)118。還可以進(jìn)一步提供網(wǎng)絡(luò)接口 120以能夠在媒體服務(wù)服務(wù)器102、客戶端設(shè)備104及其他計算系統(tǒng)之間進(jìn)行通信。媒體服務(wù)服務(wù)器102還包括在處理器116上執(zhí)行的若干個軟件應(yīng)用程序。這些應(yīng)用程序包括根據(jù)本系統(tǒng)的一對客戶端應(yīng)用程序。下面詳細(xì)說明了這些客戶端應(yīng)用程序中的每一個,但是,一般而言,此處被稱為媒體下載控制引擎124 的第一應(yīng)用程序,允許客戶端設(shè)備104執(zhí)行媒體搜索并播放可能以不被客戶端設(shè)備104支持的文件格式存在于遠(yuǎn)程位置服務(wù)器上的媒體。此處被稱為虛擬頻道引擎1 的第二客戶端應(yīng)用程序,允許用戶創(chuàng)建虛擬電視頻道,該頻道呈現(xiàn)與對用戶感興趣的主題的搜索查詢相關(guān)的恒定的內(nèi)容流。在各實(shí)施例中,媒體下載控制引擎IM和虛擬頻道引擎1 兩者都可以駐留在媒體服務(wù)服務(wù)器102上,但是,應(yīng)該理解,在替換實(shí)施例中,軟件引擎124、128可以存儲在彼此不同的服務(wù)器上。在一個這樣的實(shí)施例中,虛擬頻道引擎可以駐留在客戶端設(shè)備104上。雖然媒體服務(wù)服務(wù)器102可以是用戶的家庭PC,但是,媒體服務(wù)服務(wù)器102也可以可另選地是專用應(yīng)用程序服務(wù)器。這樣的專用的應(yīng)用程序服務(wù)器可以位于用戶的家庭,或者,在更進(jìn)一步的實(shí)施例中,媒體服務(wù)服務(wù)器可以遠(yuǎn)離用戶的家庭。即,媒體下載控制引擎和/或虛擬頻道引擎可以位于電話公司或其他服務(wù)提供方的遠(yuǎn)程服務(wù)器上。在這樣的實(shí)施例中,遠(yuǎn)程服務(wù)器可以通過因特網(wǎng)或其他網(wǎng)絡(luò)連接與客戶端設(shè)備104進(jìn)行通信。此外,盡管媒體服務(wù)服務(wù)器102被示為與單一客戶端設(shè)備104相關(guān)聯(lián),但是,在更進(jìn)一步的實(shí)施例中,可以有一個以上的客戶端設(shè)備與媒體服務(wù)服務(wù)器102相關(guān)聯(lián)。媒體服務(wù)服務(wù)器102還包括用于存儲媒體內(nèi)容以及與媒體內(nèi)容相關(guān)的元數(shù)據(jù)的數(shù)據(jù)存儲130。這樣的元數(shù)據(jù)可包括標(biāo)題、演員表及其他與媒體服務(wù)服務(wù)器數(shù)據(jù)存儲130中的存儲的媒體內(nèi)容相關(guān)的數(shù)據(jù)。元數(shù)據(jù)可使處理器116生成交互式電子節(jié)目指南(“EPG”), 該EPG呈現(xiàn)要通過電視機(jī)106顯示的內(nèi)容的日程表。此內(nèi)容可以存儲在數(shù)據(jù)存儲130中, 或在適當(dāng)?shù)臅r間被從媒體服務(wù)器112或門戶114(圖1)下載。如下面所說明的,用戶可以使用虛擬頻道引擎1 來生成自定義虛擬頻道。為虛擬頻道選擇的媒體內(nèi)容,以及虛擬頻道的元數(shù)據(jù),可以存儲在數(shù)據(jù)存儲130中。在替換實(shí)施例中,數(shù)據(jù)存儲130可以駐留在客戶端設(shè)備104中?,F(xiàn)在將參考圖3A-3C的流程圖以及圖4和5的用戶界面例圖來說明媒體下載控制引擎124的操作。一旦軟件引擎IM被安裝,并在媒體服務(wù)服務(wù)器102上運(yùn)行,在步驟 200中將客戶端設(shè)備104接通電源之后,客戶端設(shè)備可以喚起局域網(wǎng)中的其他設(shè)備并在步驟202中鏈接到媒體服務(wù)服務(wù)器102。客戶端設(shè)備可以使用簡單服務(wù)發(fā)現(xiàn)協(xié)議(SSDP),該協(xié)議提供可使客戶端設(shè)備發(fā)現(xiàn)包括媒體服務(wù)服務(wù)器102的存在的網(wǎng)絡(luò)服務(wù)的機(jī)制??梢詾榭蛻舳嗽O(shè)備104使用除SSDP以外的協(xié)議來查找媒體服務(wù)服務(wù)器102。在鏈接到客戶端設(shè)備104之后,媒體服務(wù)服務(wù)器102在步驟204中確定客戶端設(shè)備104能力。媒體服務(wù)服務(wù)器102可包括如在本領(lǐng)域內(nèi)已知的用于檢測客戶端設(shè)備能力的用戶代理,包括客戶端設(shè)備與哪些媒體文件格式兼容(即,客戶端設(shè)備支持并能夠播放哪些媒體文件格式)。在步驟206中,媒體服務(wù)服務(wù)器102以向客戶端設(shè)備104提供指令的廣播消息作出響應(yīng),當(dāng)啟動媒體內(nèi)容搜索時,客戶端設(shè)備104會將其請求發(fā)送到媒體服務(wù)服務(wù)器102。在步驟208中,客戶端設(shè)備104將數(shù)據(jù)傳輸?shù)诫娨暀C(jī)106,以便以已知方式在電視機(jī)106上生成用戶界面。用戶界面向用戶呈現(xiàn)包括執(zhí)行媒體搜索的選項的主菜單。用戶可以通過與客戶端設(shè)備104和/或電視機(jī)106相關(guān)聯(lián)的遙控器,與此用戶界面進(jìn)行交互。在步驟210中,客戶端設(shè)備104確定用戶是否希望啟動媒體搜索。在接收到用戶愿意在步驟 210中執(zhí)行媒體搜索的指示時,客戶端在步驟212中將請求傳輸?shù)矫襟w服務(wù)服務(wù)器102以啟動搜索。根據(jù)最初在步驟206中從媒體服務(wù)服務(wù)器102傳輸?shù)闹噶?即,當(dāng)搜索將被啟動時,聯(lián)系媒體服務(wù)服務(wù)器),生成在步驟212中發(fā)送的請求)。在從客戶端設(shè)備接收到用戶希望啟動媒體搜索的通知時,媒體服務(wù)服務(wù)器102在步驟214中與預(yù)定的web URL進(jìn)行連接以獲取媒體搜索主題的菜單目錄。預(yù)定的web URL 可以是門戶114(圖1)的地址。Web門戶114可以是諸如,例如,由微軟公司主存的MSN. com 之類的各種現(xiàn)有的搜索引擎門戶中的任何一個。媒體服務(wù)服務(wù)器102存儲門戶114的主頁或主要搜索頁面的位置,并在步驟214中從指定的網(wǎng)頁下載搜索主題的列表。媒體服務(wù)服務(wù)器102連接到的頁面還可是在門戶上的自定義的用戶的主頁。媒體服務(wù)服務(wù)器102可包括能夠聯(lián)系預(yù)定的網(wǎng)站,請求媒體搜索目錄,并從網(wǎng)站接收響應(yīng)信息的已知瀏覽器應(yīng)用程序。在步驟220中,媒體服務(wù)服務(wù)器102將所獲取的搜索主題列表格式化為數(shù)據(jù)結(jié)構(gòu), 該數(shù)據(jù)結(jié)構(gòu)將允許客戶端設(shè)備104從列表中進(jìn)行選擇,并為每個所選一個或多個主題獲得進(jìn)一步的結(jié)果。作為許多示例中的一個,媒體搜索目錄可以下載諸如下面的主題
按專輯排列的音樂(Music by album)按歌星排列的音樂(Music by artist)按歌曲排列的音樂(Music by song)按相冊排列的照片(Photos by album)按日期排列的照片(Photos by date)按標(biāo)題排列的視頻(Videos by title)收藏夾(Favorites)最近播放(Recentlyplayed)關(guān)鍵字搜索(Keyword search)應(yīng)該理解,在更進(jìn)一步的實(shí)施例中,媒體目錄列表可包括額外的或替換的主題。用戶可以直接使用客戶端設(shè)備用戶界面或媒體服務(wù)服務(wù)器,定制由媒體服務(wù)服務(wù)器102檢索到的主題。 如所指出的,在步驟220中,媒體服務(wù)服務(wù)器102將媒體目錄的數(shù)據(jù)格式化為每一個主題的相應(yīng)的數(shù)據(jù)結(jié)構(gòu)。每一個數(shù)據(jù)結(jié)構(gòu)都指定給定主題,還提供到在門戶114上存儲了給定主題的URL的URL鏈接。一旦媒體目錄數(shù)據(jù)被格式化為數(shù)據(jù)結(jié)構(gòu),在步驟2M中,將數(shù)據(jù)結(jié)構(gòu)發(fā)送到客戶端設(shè)備。下面是由媒體服務(wù)服務(wù)器102格式化并從媒體服務(wù)服務(wù)器 102發(fā)送到客戶端設(shè)備104的各種數(shù)據(jù)結(jié)構(gòu)的XML版本的示例
<MediaMenu xmlns="http://schemas.datacontract.org/2004/07/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<List> <Children> <CAMLNode>
<Title>music by album</Title>
<Url>http://157.56.144.163:9999/xm/albums dp=STB:SL:1024:768:32:Xml&requesttoken=< /Url> </CAMLNode> <CAMLNode>
<Title>music by artist</Title> <Url>http://157.56.144.163:9999/xm/artists dp=STB;SL;1024:768:32;Xml&requesttoken=</ Url> </CAMLNode> <CAMLNode>
<Title>music by song</Title>
<Url>http://157.56.144.163:9999/xm/allsongs dp=STB:SL:l(n4:768:32:Xml&requesttoken= </Url> </CAMLNode> <CAMLNode>
<Title>photos by album</Title>
<Url>http://157.56.144.163:9999/xp/photoalbum dp=STB:SL:1024:768:32:Xml&requesttoken=</Url> </CAMLNode> <CAMLNode>
<Title>photos by date</Title>
<Url>http://157.56.144.163:9999/xp/root dp=STB:SL:1024:768:32:Xml&requesttoken=</Url> </CAMLNode> <CAMLNode>
<Title>videos by title</Title> <Url>http://157.56.144.163:9999/xv/root dp=STB:SL:1024:768:32:Xml&requesttoken=</Url> </CAMLNode> <CAMLNode>
<Title>favorites</Title>
<Url>http://157.56.144.163:9999/favorites dp=STB;SL:1024:768:32;Xml&requesttoken=</U rl>
</CAMLNode> <CAMLNode>
<Title>recently played</Title> <Url>http://157.56.144.163:9999/recents dp=STB:SL:1024:768:32:Xml&requesttoken=</Url> </CAMLNode> <CAMLNode>
<Title>Search</Title>
<Url>http://157.56.144.163:9999/Search dp=STB:SL:1024:768:32:Xml&requesttoken=</Url>
</CAMLNode>
<CAMLNode>
<Title>MSN Video</Title>
<UrI>http://157.56.144.163:9999/msn
video dp=STB:SL:1024:768:32:Xml&requesttoken=</Url>
</CAMLNode>
<CAMLNode>
<Title>MSN Photos</Title> <Url>http://l 57.56.144.163:9999/msn photos dp=STB:SL:1024:768:32:Xml&requesttoken=</Url> </CAMLNode>
〈/Children〉 <Total>ll</Total> <Class>Iist</Class> </List>
<ViewStyle>XB</ViewStyle> <Class>menulist</Class> </MediaMenu>在上面的XML代碼中,媒體目錄中的每一個主題被嵌入在數(shù)據(jù)結(jié)構(gòu)中。在每一個主題中,CAMLNode是相應(yīng)的數(shù)據(jù)結(jié)構(gòu)的定義。之后是主題標(biāo)題,再之后是指定預(yù)定網(wǎng)站中的該主題的URL的內(nèi)容鏈接。每一個數(shù)據(jù)結(jié)構(gòu)中的鏈接的開始(在此示例中, “157. 56. 144. 163 :9999”)是當(dāng)客戶端設(shè)備在步驟202中最初鏈接到設(shè)備102時由客戶端設(shè)備檢測到的媒體服務(wù)服務(wù)器102的本地地址。如下面所說明的,由客戶端設(shè)備104通過電視機(jī)106顯示包括數(shù)據(jù)結(jié)構(gòu)中的主題的媒體目錄,用戶可以選擇一個主題以便進(jìn)行進(jìn)一步的探查。將媒體服務(wù)服務(wù)器的本地地址包括在每一個數(shù)據(jù)結(jié)構(gòu)會導(dǎo)致客戶端通過媒體服務(wù)服務(wù)器102路由任何對有關(guān)一個主題的附加信息的請求。上面是可以被從媒體服務(wù)服務(wù)器傳遞到客戶端設(shè)備以指定各種媒體主題的數(shù)據(jù)結(jié)構(gòu)的一個示例??梢詷?gòu)想,媒體搜索的主題可以被以其他數(shù)據(jù)格式從媒體服務(wù)服務(wù)器傳遞到客戶端設(shè)備。此外,盡管上面的示例采用XML,但是,也可以使用其他語言協(xié)議。作為再一個示例,如果客戶端設(shè)備104支持由微軟公司推出的SilverLight 瀏覽器插件,那么, 可以使用JSON作為語言協(xié)議在媒體服務(wù)服務(wù)器102和客戶端設(shè)備104之間傳遞數(shù)據(jù)結(jié)構(gòu)。在步驟230中(圖:3B),客戶端設(shè)備接收數(shù)據(jù)結(jié)構(gòu),并在電視機(jī)106上以已知方式生成用戶界面。在圖4中示出了此用戶界面140的示例??蛻舳嗽O(shè)備從數(shù)據(jù)結(jié)構(gòu)中取媒體目錄主題,并在用戶界面140上以對用戶友好的方式顯示它們。在步驟232中,客戶端設(shè)備104確定用戶是否選擇了顯示的主題以便進(jìn)行進(jìn)一步的搜索。如果是,客戶端設(shè)備104向媒體服務(wù)服務(wù)器102作出對與該主題相關(guān)聯(lián)的附加信息的HTTP請求。具體而言,由媒體服務(wù)服務(wù)器102向客戶端設(shè)備104所提供的數(shù)據(jù)結(jié)構(gòu)包括主題的列表以及到可以查找到那些主題的附加信息URL的鏈接。因此,當(dāng)用戶選擇給定主題時,客戶端設(shè)備從用戶界面140接收該選擇的指示,然后,跟隨與所選主題相關(guān)聯(lián)的鏈接。如上文所指出的,每一個數(shù)據(jù)結(jié)構(gòu)內(nèi)的鏈接還包括媒體服務(wù)服務(wù)器102的本地地址,如此,所有對有關(guān)一個主題的附加信息的請求被通過媒體服務(wù)服務(wù)器102路由。通過格
11式化發(fā)送到客戶端設(shè)備的數(shù)據(jù)結(jié)構(gòu)中的鏈接,客戶端設(shè)備不必處理如何、在哪里或通過什么路線路由來獲取附加信息??蛻舳嗽O(shè)備簡單地跟隨與每一個主題相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)中指定的鏈接。通過使用從客戶端設(shè)備104接收到的URL,媒體服務(wù)服務(wù)器102在步驟236中聯(lián)系指定的URL地址處的服務(wù)器并獲取帶有附加的被請求的信息的搜索結(jié)果。在步驟MO中, 可以以如上文所描述的數(shù)據(jù)結(jié)構(gòu)來格式化指定的主題的附加信息。即,數(shù)據(jù)結(jié)構(gòu)可包括附加信息的標(biāo)題,以及如果由用戶通過客戶端設(shè)備104選擇的話,可以由媒體服務(wù)服務(wù)器102 在哪里獲取附加信息的鏈接。在步驟M4中,將附加的被請求的信息的數(shù)據(jù)結(jié)構(gòu)從媒體服務(wù)服務(wù)器102傳輸?shù)娇蛻舳嗽O(shè)備104。下面是從媒體服務(wù)服務(wù)器發(fā)送到客戶端設(shè)備的選擇的主題的附加信息的XML版本的示例。在此示例中,用戶從在用戶界面上顯示的媒體目錄中選擇了 “MSN Video (MSN 視頻),,。-<MsnVideoMediaMenu xmlns="http://schemas.datacontract.org/2004/07/MSN.VideoPlugin" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <Headerxmlns:="http://schemas.datacontract.org/2004/07/">
<Title>MSN Video</Title> <Class>header</Class> </Header>
<Listxmlns="http://schemas.datacontract.org/2004/07/">
〈Children〉
<CAMLNode> <Poster/> <Title>What's Hot</Title> <Url>http://157.56.144.163:9999/msn
video/genre dp=STB;SL;1024;768;32;Xml&requesttoken=&name=What's Hot</Url> <CAMLNode>
<CAMLNode> 〈Poster/〉
<Title>News</Title> <Url>http://157.56.144.163:9999/msn
video/genre dp=STB;SL;1024;768;32;Xml&requesttoken=&name=News</Url>
<CAMLNode>
<CAMLNode> <Poster/>
<Title>Money</Title> <Url>http://157.56.144.163:9999/msn
video/genre dp=STB;SL;1024;768;32;Xml&requesttoken=&name=Money</Url>
<CAMLNode>
<CAMLNode> <Poster/>
<Title>Sports</Title> <Url>http://157.56.144.163:9999/msnvideo/genre dp=STB;SL;1024;768;32;Xml&requesttoken=&name=Sports</Url>
<CAMLNode>
<CAMLNode> <Poster/>
<Title>Celebrity</Title> <Url>http ://157.56.144.163:9999/msn
video/genre dp=STB;SL;1024;768;32;Xml&requesttoken=&name=Celebrity</Url>
<CAMLNode>
<CAMLNode> <Poster/>
<Title>Movies</Title> <Url>http://157.56.144.163:9999/msn
video/genre dp=STB;SL;1024;768;32;Xml&requesttoken=&name=Movies</Url>
<CAMLNode>
<CAMLNode> <Poster/>
<Title>Music</Title> <Url>http://157.56.144.163:9999/msn
video/genre dp=STB;SL;1024;768;32;Xml&requesttoken=&name=Music</Url>
<CAMLNode>
<CAMLNode> <Poster/> <Title>TV</Title>
<Url>http://157.56.144.163:9999/msn
video/genre dp=STB;SL;1024;768;32;Xml&requesttoken=&name=TV</Url>
<CAMLNode>
<CAMLNode> <Poster/>
<Title>Life</Title><Url>http://157.56.144.163:9999/msn
video/genre dp=STB;SL;1024;768;32;Xml&requesttoken=&name=Life</Url>
<CAMLNode>
<CAMLNode> <Poster/>
<Title>Autos</Title> <Url>http://157.56.144.163:9999/msn
video/genre dp=STB;SL;1024;768;32;Xml&requesttoken=&name=Autos</Url>
<CAMLNode>
<CAMLNode> <Poster/>
<Title>Soapbox User Videos</Title> <Url>http://157.56.144.163:9999/msn
video/genre dp=STB;SL;1024;768;32;XmI&requesttoken=&name=Soapbox User Videos</Url> <CAMLNode>
</Children> <Total>ll</Total> <Class>list</Class> </List>
<ViewStylexmlns="http://schemas.datacontract.org/2004/07/">XB</ViewStyle> 〈Class xmlns="http://schemas.datacontract.org/2004/07/">menulist</Class>
</MsnVideoMediaMenu>如上在步驟214中,媒體服務(wù)服務(wù)器102將返回的信息格式化為數(shù)據(jù)結(jié)構(gòu),然后, 將數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)發(fā)到客戶端設(shè)備104。然后,如上文所描述的,在步驟230中,由客戶端設(shè)備 104以對用戶友好格式在用戶界面140上顯示附加信息。圖5A中示出了可以在用戶界面 140上顯示的附加信息的示例。如在上面的數(shù)據(jù)結(jié)構(gòu)中所示出的,媒體服務(wù)服務(wù)器也可以返回“海報”以及縮略圖和描述(在圖5B和5C中示出的),以便客戶端可以顯示豐富的用戶界面。然后,用戶可以從在用戶界面140上顯示出的附加信息中作出進(jìn)一步的選擇。每當(dāng)用戶希望將媒體搜索聚焦于用戶希望查看和/或收聽的特定的內(nèi)容時,可以重復(fù)步驟230444。通過重復(fù)步驟230-244來聚焦用戶搜索的一個例外是用戶選擇關(guān)鍵字搜索代替一般媒體主題的情況。在用戶選擇關(guān)鍵字搜索的情況下,用戶界面顯示一個用戶可以在其內(nèi)輸入搜索的窗口。然后,用戶可以使用與客戶端設(shè)備104和/或電視機(jī)相關(guān)聯(lián)的鍵盤或遙控器來輸入文本查詢。如果沒有鍵盤存在,則客戶端可以在用戶界面上生成軟鍵盤,用戶可以從該軟鍵盤中選擇形成查詢的文本。然后,將搜索查詢發(fā)送到媒體服務(wù)服務(wù)器102,該媒體服務(wù)服務(wù)器102又將查詢傳遞到預(yù)定的web門戶114,以便使用web門戶搜索引擎來進(jìn)行web門戶搜索。搜索的結(jié)果被返回到客戶端設(shè)備104,該客戶端設(shè)備104將結(jié)果格式化為數(shù)據(jù)結(jié)構(gòu),例如,如上文所描述的。然后,已格式化的結(jié)果被發(fā)送到客戶端設(shè)備104,供在用戶界面140上以對用戶友好的格式顯示。通過使用上文所描述的步驟,用戶能夠選擇一個主題或關(guān)鍵字搜索,客戶端設(shè)備 104將請求傳遞到媒體服務(wù)服務(wù)器102。此過程可以經(jīng)過多個步驟,直到用戶到達(dá)該用戶希望下載的視頻、音樂或圖像。利用此系統(tǒng),客戶端設(shè)備104不知道它正在與哪一個服務(wù)器進(jìn)行通信??蛻舳嗽O(shè)備只向與選定主題相關(guān)聯(lián)的URL發(fā)出請求。媒體服務(wù)服務(wù)器102通過控制在CAMLNode的“URL”部分設(shè)置的URL來控制流程。這提供了巨大的靈活性。例如,如下面所說明的,此系統(tǒng)為客戶端設(shè)備104提供了播放來自網(wǎng)站的該客戶端設(shè)備不支持的格式的媒體內(nèi)容的能力。如果在步驟232中用戶不選擇進(jìn)行附加的信息搜索,則媒體下載控制引擎IM接下來確定用戶是否在步驟M8中選定一個鏈接以下載特定媒體。如果不,則引擎IM在步驟250中檢查用戶是否希望退出對媒體的搜索(可以在用戶界面140上提供退出選項)。 倘若如此,則客戶端設(shè)備104在步驟254中返回到主菜單畫面(未示出),媒體下載控制引擎124結(jié)束。然而,假設(shè)用戶在步驟248中選擇了要下載的特定媒體,則下載和播放媒體。圖5B 和5C示出了可以作為用戶選擇的結(jié)果向他或她呈現(xiàn)以便到達(dá)用戶希望播放的內(nèi)容的用戶界面140的示例。假設(shè)用戶從圖4所示出的用戶界面中選擇了“視頻”,然后從圖5A所示出的用戶界面中選擇了“新聞”。然后,媒體服務(wù)服務(wù)器102可以獲取視頻列表,視頻列表被轉(zhuǎn)發(fā)供顯示在如圖5B所示的界面140上。用戶可以滾動瀏覽該列表,并選擇所感興趣的視頻。如上文所指出的,縮略圖142或其他圖形可以伴隨內(nèi)容列表。在此示例中,用戶選擇了對微軟WMeve Ballmer的采訪的視頻。一旦選擇,媒體服務(wù)服務(wù)器102可以檢索帶有內(nèi)容的摘要的摘要頁面,如圖5C所示。如果用戶選擇觀看該內(nèi)容,則獲取該內(nèi)容的媒體文件, 并在用戶的電視機(jī)106上播放,如下面參考圖3C中的步驟256-270所描述的。應(yīng)該理解, 圖4-5C所示出的用戶界面屏幕140僅用作示例,可以向用戶呈現(xiàn)大量各種替換的和/或附加的用戶界面屏幕,以允許用戶導(dǎo)航到所希望的內(nèi)容。如上文所指出的,媒體服務(wù)服務(wù)器102察覺客戶端設(shè)備104的能力,具體而言,媒體服務(wù)服務(wù)器102察覺客戶端設(shè)備能夠播放什么文件類型。當(dāng)媒體服務(wù)服務(wù)器102將帶有媒體文件列表的數(shù)據(jù)結(jié)構(gòu)發(fā)送到客戶端設(shè)備104供用戶查看時,媒體服務(wù)服務(wù)器發(fā)送支持的和不支持的媒體文件的列表。對于計算系統(tǒng)知道被客戶端設(shè)備支持的那些媒體文件,計算系統(tǒng)格式化該文件的數(shù)據(jù)結(jié)構(gòu)中的鏈接,以便客戶端設(shè)備可以去獲取該媒體文件本身。 即,如果媒體文件處于客戶端設(shè)備可以播放的格式,那么,來自媒體服務(wù)服務(wù)器102的該媒體文件的數(shù)據(jù)結(jié)構(gòu)中的鏈接將直接指向該文件所在的遠(yuǎn)程服務(wù)器。因此,如果用戶選擇支持的文件來進(jìn)行下載,則所選鏈接直接指向遠(yuǎn)程服務(wù)器,并從客戶端設(shè)備104向遠(yuǎn)程服務(wù)器直接作出請求。然后,遠(yuǎn)程服務(wù)器將文件直接下載(或流式播放)到客戶端設(shè)備104(步驟 256)。另一方面,由媒體服務(wù)服務(wù)器所發(fā)送的列表可包括到處于客戶端設(shè)備不能播放的格式的媒體文件的鏈接。對于這些不支持的文件,媒體服務(wù)服務(wù)器102用指回媒體服務(wù)服務(wù)器的鏈接編碼相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)。即,被發(fā)送到客戶端設(shè)備104的數(shù)據(jù)結(jié)構(gòu)中的鏈接將包括媒體服務(wù)服務(wù)器102的本地地址。因此,如果用戶選擇不支持的文件來下載,則所選鏈接指向媒體服務(wù)服務(wù)器102,客戶端設(shè)備104向媒體服務(wù)服務(wù)器102作出請求,以便媒體服務(wù)服務(wù)器獲取文件(步驟沈0)。然后,媒體服務(wù)服務(wù)器聯(lián)系指定的網(wǎng)站,并將不支持的文件下載到媒體服務(wù)服務(wù)器102 (步驟沈4)。在接收到之后,在步驟266中,媒體服務(wù)服務(wù)器代碼轉(zhuǎn)換媒體文件。代碼轉(zhuǎn)換過程取原始媒體文件,并生成被客戶端設(shè)備支持的格式的新媒體文件。將媒體文件從一種格式代碼轉(zhuǎn)換為另一種格式的方法在本領(lǐng)域內(nèi)是已知的。有許多現(xiàn)有的代碼轉(zhuǎn)換內(nèi)容的方案, 某些可以利用變化的客戶端網(wǎng)絡(luò)條件,并提供自適應(yīng)控制(即,當(dāng)可用的網(wǎng)絡(luò)帶寬下降時, 可變的比特率)。媒體服務(wù)服務(wù)器102可以使用這種類型的代碼轉(zhuǎn)換,以及任何其他已知的代碼轉(zhuǎn)換方案。一旦文件被代碼轉(zhuǎn)換,媒體服務(wù)服務(wù)器102就可以將已代碼轉(zhuǎn)換的文件存儲在媒體服務(wù)服務(wù)器102上的一個存儲位置。從客戶端設(shè)備發(fā)送的鏈接指向此存儲位置。因此, 一旦文件被代碼轉(zhuǎn)換,可以在步驟268中將文件發(fā)送到客戶端設(shè)備104,以便在步驟270中播放。如此處所使用的,播放媒體文件意味著在電視機(jī)106(或其他監(jiān)視器)上顯示視頻, 和/或通過與電視機(jī)106相關(guān)聯(lián)的揚(yáng)聲器(或其他設(shè)備)播放音頻。在又一實(shí)施例中,媒體服務(wù)服務(wù)器102可以實(shí)時地“在運(yùn)行時”代碼轉(zhuǎn)換內(nèi)容,無需等待文件被代碼轉(zhuǎn)換。在這樣的實(shí)施例中,客戶端將能夠在所有源內(nèi)容被代碼轉(zhuǎn)換之前開始查看內(nèi)容。作為一個示例,客戶端設(shè)備104可以支持Windows媒體視頻(WMV),但不支持 flash視頻(FLV)。如果用戶選擇FLV視頻文件(或其他不支持的文件格式)以便從遠(yuǎn)程服務(wù)器下載,則在客戶端設(shè)備104上選擇的數(shù)據(jù)結(jié)構(gòu)鏈接將指示媒體服務(wù)服務(wù)器102從遠(yuǎn)程服務(wù)器獲取文件。在接收到之后,媒體服務(wù)服務(wù)器102將把.flv視頻文件實(shí)時代碼轉(zhuǎn)換為具有客戶端設(shè)備支持的格式(例如,.wmv)的新文件,并將經(jīng)過代碼轉(zhuǎn)換的.wmv文件發(fā)送到客戶端設(shè)備。然后,客戶端設(shè)備可以在步驟270中播放經(jīng)過代碼轉(zhuǎn)換的視頻。另一方面, 如果用戶試圖從遠(yuǎn)程服務(wù)器下載支持的格式(例如,.wmv)的文件,則客戶端設(shè)備104將從遠(yuǎn)程服務(wù)器直接下載.wmv文件,無需媒體服務(wù)服務(wù)器的協(xié)助。然后,它將在步驟270中播放.wmv視頻。對于支持的/不支持的音頻文件、支持的/不支持的圖形文件和支持的/不支持的文本文件,可以執(zhí)行類似的過程。在客戶端設(shè)備104支持對于給定媒體的多種格式的情況下,可以有一種默認(rèn)的支持的文件格式,不支持的文件格式可代碼轉(zhuǎn)換為該默認(rèn)格式。另選地或另外地,媒體下載控制引擎IM可以在將不支持的文件格式代碼轉(zhuǎn)換為支持的文件格式時使用規(guī)則。例如,在已知給定文件格式更干凈地代碼轉(zhuǎn)換為除默認(rèn)文件格式以外的支持的文件格式的情況下, 引擎IM可以將不支持的文件格式代碼轉(zhuǎn)換為具有更干凈的代碼轉(zhuǎn)換的文件格式。上面的系統(tǒng)給用戶提供了搜索媒體內(nèi)容并將其直接下載到他們的電視系統(tǒng)的能力。這給用戶提供了在他們的內(nèi)容搜索體驗中增大的靈活性,并允許從電視系統(tǒng)執(zhí)行各種因特網(wǎng)搜索應(yīng)用。根據(jù)本系統(tǒng)的一個這樣的應(yīng)用是上文參考圖2所提及的并參考圖6和7 比較詳細(xì)地說明的虛擬頻道引擎128。盡管虛擬頻道引擎128的實(shí)施例利用上文所描述的媒體下載控制引擎124,但是,應(yīng)該理解,在本系統(tǒng)的替換實(shí)施例中,虛擬頻道引擎1 不必使用媒體下載控制引擎124。一般而言,如上所述,虛擬頻道引擎1 允許用戶使用如上所示的客戶端設(shè)備104 來輸入搜索查詢,引擎1 隨后生成與搜索查詢相關(guān)的節(jié)目。引擎1 調(diào)度那些節(jié)目,并使它們供用戶在他的或她的電視機(jī)上查看。吸取(assimilated)的節(jié)目的日程表可以與其他頻道上的調(diào)度內(nèi)容一起在向用戶示出的EPG中的新的虛擬頻道中列出?,F(xiàn)在將參考圖6A-6C的流程圖和圖7-9的用戶界面描述虛擬頻道引擎128的操作。應(yīng)該理解,可以由媒體服務(wù)服務(wù)器102、客戶端設(shè)備104,或兩者的組合來執(zhí)行虛擬頻道引擎128。還可以預(yù)期,虛擬頻道引擎1 位于用戶可以訪問并運(yùn)行例程以創(chuàng)建一個或多個虛擬頻道的遠(yuǎn)程服務(wù)器上。在步驟300中,引擎1 顯示允許用戶輸入所希望的搜索查詢的用戶界面。具體而言,在虛擬頻道引擎1 被主存在媒體服務(wù)服務(wù)器102上的情況下,設(shè)備102將消息發(fā)送到客戶端設(shè)備104,該客戶端設(shè)備104又將消息發(fā)送到電視機(jī)106以在電視機(jī)106上生成用戶界面。在虛擬頻道引擎1 駐留在客戶端設(shè)備上的情況下,客戶端設(shè)備將消息發(fā)送到電視機(jī)106以在電視機(jī)106上生成用戶界面。在圖7中示出了這樣的用戶界面148的示例。用戶使用與客戶端設(shè)備104或電視機(jī)106相關(guān)聯(lián)的鍵盤來輸入搜索查詢??闪磉x地,在沒有鍵盤的情況下,可以在界面148上顯示軟鍵盤,用戶可以使用他們的遙控器與該軟鍵盤進(jìn)行交互。在步驟302中接收到搜索查詢時,通過諸如例如,門戶114(圖1)所支持的遠(yuǎn)程搜索引擎網(wǎng)站,來執(zhí)行對該查詢的搜索。搜索可以涉及人、電影或演出、音樂、活動,或使特定用戶感興趣的任何其他主題。由用戶輸入的特定的搜索查詢此處被稱為根搜索查詢或第一代搜索查詢。在步驟304中,接收第一代搜索查詢的結(jié)果。如對于搜索引擎搜索結(jié)果所常見的那樣,將按照相關(guān)性的順序來排名獲得的結(jié)果,并可包括到文本文件、視頻文件、圖形文件和音頻文件的鏈接。在各實(shí)施例中,虛擬頻道上包括的節(jié)目只是從視頻文件形成的。然而, 應(yīng)該理解,可以形成包括視頻文件、圖形文件、音頻文件、文本文件或其任何組合的節(jié)目。在各實(shí)施例中,用戶可以將搜索限制到只有一種類型的媒體,例如,視頻。在這些實(shí)施例中,將只從所選媒體類型來編譯節(jié)目。還可使用其他搜索條件來細(xì)化搜索結(jié)果。這樣的附加的條件包括搜索結(jié)果的時長、搜索結(jié)果的縱橫比、搜索結(jié)果的分辨率、從其中獲得搜索結(jié)果的源,以及搜索結(jié)果的種類(例如,電影、音樂視頻、文獻(xiàn)片、新聞等等)??梢允褂闷渌阉鳁l件。涉及流行的搜索主題的搜索查詢可以生成大型資料庫,從該資料庫,可以形成節(jié)目,如下面所說明的。然而,搜索查詢可能產(chǎn)生很少結(jié)果,或者,用戶希望擴(kuò)大以從與根搜索查詢關(guān)聯(lián)的不同的搜索查詢獲得搜索結(jié)果。如此,虛擬頻道引擎1 可以使用第二代搜索查詢來獲得附加的結(jié)果。具體而言,可以由搜索引擎使用元數(shù)據(jù)挖掘引擎來執(zhí)行搜索,該元數(shù)據(jù)挖掘引擎能夠?qū)С雠c原始根搜索查詢關(guān)聯(lián)的搜索查詢。這樣的元數(shù)據(jù)挖掘引擎可以使用用于獲得與根搜索查詢關(guān)聯(lián)的導(dǎo)出的搜索查詢的各種已知算法。一般而言,元數(shù)據(jù)挖掘引擎可以從搜索引擎檢查搜索查詢的日志,以確定與根搜索查詢關(guān)聯(lián)的導(dǎo)出的搜索查詢。關(guān)系可以是用于從根搜索查詢確定導(dǎo)出的搜索查詢的語義、上下文、時間或其他已知關(guān)聯(lián)。從根搜索查詢導(dǎo)出的搜索查詢此處被稱為導(dǎo)出的搜索查詢或第二代搜索查詢。
在一個示例中,挖掘引擎可以是那種在諸如例如,Wikipedia 搜索站點(diǎn)之類的現(xiàn)有的搜索網(wǎng)站上使用的挖掘引擎。在這樣的示例中,挖掘引擎可以取第一代搜索查詢,并通過該搜索站點(diǎn)上的具有包括回到第一代搜索查詢的鏈接的結(jié)果的查詢的索引來搜索。作為一個示例,用戶可以輸入演員“John Cleese”的姓名作為第一代根搜索查詢。然后,挖掘引擎將在結(jié)果中進(jìn)行搜索,以查找其他查詢,以查看它們中的哪些包括回到John Cleese的鏈接。作為一個示例,搜索查詢“Monty Python”和“James Bond”可以兩者都具有包括姓名 "John Cleese”,以及到John Cleese頁面的鏈接的搜索結(jié)果。這些搜索查詢將形成第二代搜索查詢的至少一部分。挖掘引擎還可生成涉及諸如例如,“John Cleese簡歷”和“John Cleese電影”之類的各種其他主題的第二代搜索查詢。應(yīng)該理解,可以根據(jù)大量各種其他方案來確定派生搜索查詢。在各實(shí)施例中,可以由用戶控制第二、第三等等代搜索查詢的代。在下面所說明的替換實(shí)施例中,虛擬頻道引擎可以從根搜索查詢自動創(chuàng)建代際搜索查詢。在其中用戶控制更多代的搜索查詢的創(chuàng)建的實(shí)施例中,在用戶輸入第一代根搜索查詢之后,可以在步驟306 中獲得第二代搜索查詢,并在步驟308中在電視機(jī)106上的用戶界面148上向用戶顯示。使用上面的第一和第二代搜索查詢的示例,在圖11中示出了這樣的用戶界面148。用戶被給予選擇要搜索的第二代搜索查詢中的一個或多個的選項(步驟31 。如果用戶選擇不搜索任何第二代查詢,則搜索結(jié)束,根搜索查詢以及其結(jié)果被存儲(圖6B,步驟336)。另一方面, 如果用戶選擇搜索第二代搜索查詢中的一個或多個,則在步驟314中獲取每一個選定的第二代搜索查詢的搜索結(jié)果。如圖11所示,用戶還被給予創(chuàng)建更多代的搜索查詢的選項(步驟318)。例如,一組第三代(n = 3)搜索查詢將是元數(shù)據(jù)挖掘引擎確定與第二代搜索查詢中的一個相關(guān)聯(lián)的搜索查詢。每一個第二代搜索查詢都可以導(dǎo)致一組第三代搜索查詢。因此,搜索查詢可以隨著每一個連續(xù)代呈指數(shù)級地擴(kuò)大。步驟318-332表示用于生成η代搜索查詢和結(jié)果的步驟。第二代搜索查詢是在步驟306中獲得的,如此,第一次經(jīng)過步驟318-332時,η從3開始(即,第三代),每當(dāng)經(jīng)過該循環(huán)時,遞增一代。因此,第一次經(jīng)過步驟318-332時,用戶指出他或她是否希望查看第三代搜索查詢(步驟318)。如果是,則在步驟320中獲取第三代搜索查詢。在步驟324中,在用戶界面148(圖11)上向用戶顯示第三代搜索查詢。然后,用戶被給予選擇搜索第三代搜索查詢的選項(步驟326)。如果用戶沒有選擇要搜索的第三代查詢中的任何一個來查詢,則全部搜索查詢 (第一代以及任何選定的第二代查詢)以及為這些搜索查詢獲取的結(jié)果被存儲(圖6B,步驟336)。另一方面,如果在步驟3 中用戶選擇搜索第三代搜索查詢中的一個或多個,則在步驟330中獲取每一個選定的第三代搜索查詢的搜索結(jié)果。在步驟332中,代際計數(shù)器η 被遞增(例如,到第四代),例程返回到步驟318。在η = 4的情況下,在步驟318中,用戶再次被給予獲取第η代搜索查詢的選項,其中,第η代的搜索查詢是從η-1代搜索查詢中的每一代導(dǎo)出的搜索查詢。然后,過程再次經(jīng)過步驟318-332來處理。在實(shí)踐中,將需要獲取超過2到3代的導(dǎo)出的搜索查詢的情況是很少的。然而,可以構(gòu)想,每當(dāng)用戶希望獲取用戶所希望的那樣多的代的搜索查詢和結(jié)果時,可以重復(fù)步驟 318到332。在各實(shí)施例中,超出第二代的代際搜索的結(jié)果可以交叉引用根搜索查詢,以確
19保遠(yuǎn)程代際搜索結(jié)果與根搜索查詢具有某種關(guān)系(盡管在各實(shí)施例中可以忽略此交叉引用)。在各實(shí)施例中,代替用戶確定他或她希望多少代的搜索結(jié)果,虛擬頻道引擎可以自動生成一代或多代搜索查詢和搜索結(jié)果。在此實(shí)施例中,可以使用各種條件來確定使用多少代的搜索項。在一個實(shí)施例中,可以執(zhí)行對根和導(dǎo)出的搜索查詢的搜索,直到有足夠的內(nèi)容以形成在聚集中持續(xù)預(yù)定時間長度的節(jié)目,例如,幾小時、一天、一周或幾個星期。因此,如果搜索結(jié)果產(chǎn)生內(nèi)容,當(dāng)形成節(jié)目時,該內(nèi)容持續(xù)預(yù)定時間長度,則不需要執(zhí)行更多代的搜索。在又一實(shí)施例中,可以執(zhí)行不同代的搜索,以確保有各種不同的涉及原始搜索查詢的內(nèi)容。因此,在上面的John Cleese的示例中,提供涉及John Cleese、Monty Python 和James Bond的結(jié)果會提供良好的多樣性和各種涉及John Cleese的內(nèi)容。通過由門戶114的搜索引擎對萬維網(wǎng)的搜索,獲取為根和任何導(dǎo)出的搜索查詢獲取的搜索結(jié)果。除這些搜索結(jié)果之外,虛擬頻道引擎1 還可搜索存儲在媒體服務(wù)服務(wù)器 102和/或客戶端設(shè)備104上的本地存儲中的內(nèi)容存儲內(nèi)的相關(guān)內(nèi)容。引擎1 還可搜索其他IP或網(wǎng)絡(luò)廣播頻道上的即將到來的內(nèi)容的日程表以查找相關(guān)內(nèi)容(即,包括根或?qū)С龅乃阉鞑樵冺椀膬?nèi)容或內(nèi)容的元數(shù)據(jù))。如下面所說明的,來自這些源中的任何源的內(nèi)容可以被包括在節(jié)目內(nèi)?,F(xiàn)在參考圖6B,在結(jié)束搜索過程之后,第一和任何附加的代的所有搜索查詢都與這些搜索查詢的搜索結(jié)果一起被存儲(步驟336)。此后,在步驟340中,定義了虛擬頻道的名稱。虛擬頻道可以取與根查詢相同的名稱。因此,在上面的示例中,虛擬頻道引擎1 可以創(chuàng)建叫做“John Cleese”的虛擬頻道。對應(yīng)于長搜索項的虛擬頻道的名稱可以被截斷。在步驟342中,可以創(chuàng)建各種節(jié)目的節(jié)目標(biāo)題。在一個實(shí)施例中,節(jié)目標(biāo)題可以取與根搜索查詢和任何導(dǎo)出的搜索查詢相同的名稱??梢允褂妹恳粋€搜索查詢來形成不同的節(jié)目名稱。因此,在上面的示例中,可以創(chuàng)建叫做“John Cleese”、“Monty Python”、"James Bond'\"John Cleese簡歷”和“John Cleese電影”的節(jié)目。這些節(jié)目名稱僅用作示例。在步驟344中,虛擬頻道的名稱和節(jié)目標(biāo)題可以被存儲在媒體服務(wù)服務(wù)器102中的數(shù)據(jù)存儲 130中,或者,也可以被存儲在客戶端設(shè)備104或遠(yuǎn)程服務(wù)器的數(shù)據(jù)存儲中。給定搜索查詢的搜索結(jié)果在存儲器中鏈接到對應(yīng)于給定搜索查詢的節(jié)目名稱。在步驟346中,可以將節(jié)目的內(nèi)容添加到節(jié)目中。在圖6C的流程圖中示出了步驟 346的一個實(shí)施例的進(jìn)一步的細(xì)節(jié)。在此實(shí)施例中,在步驟354中,從存儲器中連續(xù)地檢索節(jié)目名稱。因此,在上面的示例中,第一節(jié)目名稱是“John Cleese”。還檢索節(jié)目的長度。 節(jié)目可以被設(shè)置為預(yù)定義的長度(例如,1/2小時、一個小時、兩個小時等等)。所有節(jié)目都可以被設(shè)置為相同長度,或者,不同的節(jié)目可以是不同的長度。為了向節(jié)目中添加內(nèi)容,取給定節(jié)目的下一最高排名的搜索結(jié)果的長度(步驟 356)。此度量被作為與搜索結(jié)果相關(guān)聯(lián)的元數(shù)據(jù)的一部分返回。然后,在步驟358中進(jìn)行檢查,以查看當(dāng)前節(jié)目中是否有足夠的可用時間來將下一最高分級的搜索結(jié)果添加到節(jié)目中。如果有,則在步驟360中將內(nèi)容添加到節(jié)目中,例程返回到步驟356,以檢查下一最高排名的搜索結(jié)果。如果沒有空間用于下一排名的內(nèi)容,則在步驟361中例程檢查是否有更多與當(dāng)前節(jié)目標(biāo)題相關(guān)聯(lián)的結(jié)果。如果有,則例程返回到步驟356,以檢查下一搜索結(jié)果是匹配在節(jié)目內(nèi)。因此,在一個示例中,第一節(jié)目可以被設(shè)置為1/2小時。虛擬頻道引擎檢索第一節(jié)目,并檢索與該節(jié)目相關(guān)聯(lián)的第一排名搜索結(jié)果的時間長度。引擎確定第一分級的搜索結(jié)果是10分鐘長視頻。由于它是將被添加到1/2小時節(jié)目中的第一內(nèi)容,并且內(nèi)容長度小于 1/2小時,它將被添加到節(jié)目中。然后取第二排名的搜索結(jié)果的時間長度。如果它小于20 分鐘長(在添加第一內(nèi)容片段之后節(jié)目中的剩余的時間),則添加第二內(nèi)容片段。如果內(nèi)容片段對于節(jié)目中的剩余的時間太長,則跳過該內(nèi)容片段,考慮下一內(nèi)容片段??梢詷?biāo)記被跳過的內(nèi)容片段,以便當(dāng)節(jié)目被修改時首先添加到節(jié)目中(如下面所說明的)。步驟356-361的過程持續(xù),直到此示例中的節(jié)目的1/2小時被用內(nèi)容填滿。由于較低的搜索結(jié)果可能與節(jié)目不太有關(guān),因此,虛擬頻道引擎可以截斷要考慮的結(jié)果,例如, 只到頭20個結(jié)果。在更進(jìn)一步的實(shí)施例中,可以省略截斷行,或者也可以比20個結(jié)果多一些或少一些??梢韵蛎恳粋€內(nèi)容片段添加小的時間緩沖,以防止內(nèi)容片段之間的急速的變換。當(dāng)一個節(jié)目已完成(沒有內(nèi)容適于分配的時間內(nèi))時,可以在步驟362中存儲它。一個節(jié)目中可能剩余幾分鐘,并難以找到將匹配該幾分鐘的內(nèi)容。這可以以許多方式中的一種來處理。可以選擇廣告來填充該幾分鐘??闪磉x地,可以縮短或延長一個節(jié)目的時間長度來匹配該節(jié)目內(nèi)的內(nèi)容片段的長度。作為另一個選項,可以添加內(nèi)容,但是, 只有它的一部分被包括在節(jié)目中。在節(jié)目被存儲之后,在步驟364中,虛擬頻道引擎可以接下來查看是否有更多的存儲的節(jié)目要被添加內(nèi)容。如果是,則例程返回到步驟360,以為下一節(jié)目添加內(nèi)容,如上所述。如果沒有更多節(jié)目,則向節(jié)目添加內(nèi)容的步驟346已完成。在各實(shí)施例中,所存儲的是節(jié)目的名稱,以及到被包括在該節(jié)目中的內(nèi)容片段的鏈接。如下面所說明的,當(dāng)播放節(jié)目時,引擎可以出去并從存儲的鏈接獲取內(nèi)容。在替換實(shí)施例中,當(dāng)創(chuàng)建節(jié)目時,可以下載實(shí)際內(nèi)容本身,并作為節(jié)目的一部分來存儲。在上面的示例中,較高排名的搜索結(jié)果被編譯到較低排名的搜索結(jié)果之前的節(jié)目中。應(yīng)該理解,在進(jìn)一步的實(shí)施例中,可以根據(jù)其他步驟,將內(nèi)容添加到節(jié)目中。作為一個替代方案,代替按照內(nèi)容片段的排名將它們添加到節(jié)目中,可以選擇其總時間合計達(dá)一個節(jié)目的時間長度的與給定節(jié)目相關(guān)聯(lián)的一組內(nèi)容片段。由于內(nèi)容可以在上面的過程之后留下,可以使一個節(jié)目變長一些,或者也可以創(chuàng)建節(jié)目的不同的片斷,以使得該節(jié)目變?yōu)橐粋€系列。盡管節(jié)目可能通常只由視頻或視頻和音頻文件構(gòu)成,但是,節(jié)目還可包括文本和/ 或圖形文件。對于文本和/或圖形文件,取決于文件的大小,可以給每一個文件分配默認(rèn)顯示時間長度。因此,較短的文本或圖形文件可以被顯示,例如,30秒,而較長的文本或圖形文件可以顯示得長一些。當(dāng)將這樣的文件包括在節(jié)目中時,可以計數(shù)顯示文本或圖形文件的時長。返回到圖6B,在創(chuàng)建節(jié)目之后,在步驟348中,可以接下來調(diào)度節(jié)目。可以將節(jié)目添加到日程表中,以使得與原始根搜索最緊密關(guān)聯(lián)的節(jié)目首先出現(xiàn)在日程表中,與節(jié)目關(guān)聯(lián)度較低的被排在稍后。虛擬頻道引擎可以建立節(jié)目的日程表以將不同的時間段持續(xù)到未來,但是,可以約未來1-2個星期。在播放了日程表中的所有節(jié)目之后,可以重復(fù)日程表。隨著時間的流逝,可以重復(fù)未觀看的節(jié)目。此外,如下面所說明的,虛擬頻道引擎包括反饋機(jī)制。被給予了高評價的已觀看過的節(jié)目可以被再次添加到日程表中,并重復(fù)。被跳過的節(jié)目,或者那些被給予了低評價的節(jié)目,可以從進(jìn)行的日程表中省略。在圖9中的用戶界面EPG 150中示出了上面的示例的創(chuàng)建的虛擬頻道的節(jié)目的日程表的示例。EPG 150—般而言可以是包括跨頂部水平地示出的日程表時間以及垂直向下地示出的各種可用頻道的網(wǎng)格。圖9的EPG 150是一個簡單示例,但是,一般而言,EPG可以具有大量的頻道,用戶可以在其中滾動,并選擇在特定時間在電視機(jī)106上查看的內(nèi)容。 利用通過電纜或衛(wèi)星業(yè)務(wù)提供商,從各種外部源(包括網(wǎng)絡(luò)電視臺(ABC、NBC等等),或從流式播放因特網(wǎng)協(xié)議電視(IPTV)的web服務(wù)器(如服務(wù)器112)接收到的內(nèi)容信息來填充 EPG0還可利用來自駐留在媒體服務(wù)服務(wù)器102和/或客戶端設(shè)備104上的本地存儲(例如,存儲130)的信息來填充EPG。記錄的媒體內(nèi)容可以具有嵌入的數(shù)據(jù),如子標(biāo)題、圖文電視或可以被搜索以指示此內(nèi)容與當(dāng)前搜索查詢有關(guān)的其他數(shù)據(jù)組件。子標(biāo)題、圖文電視或其他數(shù)據(jù)可以被搜索索引器解碼,并用于索引給定搜索查詢的特定節(jié)目。例如,在用戶具有對于John cleese的個人搜索頻道的情況下,用戶可以具有包括子標(biāo)題流的記錄的新聞節(jié)目。此子標(biāo)題流可以被讀取到子標(biāo)題解碼器,所產(chǎn)生的文本可以被搜索索引器用來索引此特定記錄的節(jié)目內(nèi)容。 作為另一個示例,如果一篇新聞文章涵蓋了 John Cleese,那么,此文章可以被索引,此內(nèi)容可以是用于個人搜索頻道的潛在的內(nèi)容。客戶端設(shè)備104從外部和/或內(nèi)部源接收EPG 150的EPG內(nèi)容數(shù)據(jù),以及元數(shù)據(jù)。此元數(shù)據(jù)涉及各種頻道上的調(diào)度的內(nèi)容,并可包括,例如,標(biāo)題、摘要、風(fēng)格、類另I」、分類、 評論、演員表、攝制組、歌星、電影制片人、時間、時長、位置、內(nèi)容類型、內(nèi)容提供商、源、分辨率、成本、訂戶,或涉及特定媒體內(nèi)容的其他數(shù)據(jù)。雖然在圖9的EPG 150中未示出,還可通過利用用戶的遙控器與EPG 150的交互,使此元數(shù)據(jù)對用戶可用。根據(jù)本系統(tǒng),虛擬頻道引擎1 可以向EPG 150添加新的頻道,該新頻道被示為與EPG 150上可用的其他頻道并列。在完成步驟348之后,虛擬頻道引擎1 可以向EPG 150添加新頻道名稱,與該頻道上可用的節(jié)目的日程表的一起,該信息被存儲在媒體服務(wù)服務(wù)器102、客戶端設(shè)備104或存儲在遠(yuǎn)程服務(wù)器上。繼續(xù)上面的示例,創(chuàng)建了叫做“John Cleese”的頻道,各種節(jié)目被按照它們的調(diào)度時間示出。圖9中的EPG 150只包括幾個節(jié)目,但是,可以有更多。當(dāng)?shù)搅擞^看特定節(jié)目的時間時,媒體服務(wù)服務(wù)器102或客戶端設(shè)備104可以聯(lián)系具有被包括在節(jié)目中的內(nèi)容的源服務(wù)器,而設(shè)備102或104可以下載(或流式播放)該節(jié)目的內(nèi)容。內(nèi)容的下載或流式播放可以通過媒體下載控制引擎1 和相對于媒體下載和控制引擎IM如上所描述的圖:3B和3C的步驟248和256-270來完成。即,可以由客戶端設(shè)備104獲取支持的文件類型,并直接下載或流式播放到客戶端設(shè)備104。在節(jié)目內(nèi)使用的一些文件可能采用不由客戶端設(shè)備104支持的格式??梢詫⑦@些文件發(fā)送到媒體服務(wù)服務(wù)器102,以便代碼轉(zhuǎn)換,然后,再發(fā)送到客戶端設(shè)備104。應(yīng)該理解,虛擬頻道引擎1 可以用于沒有媒體下載控制引擎的各實(shí)施例中。在這樣的實(shí)施例中,被添加到虛擬頻道中的節(jié)目可以僅限于由客戶端設(shè)備104支持的內(nèi)容。可以在節(jié)目開始時從不同的源下載節(jié)目的全部內(nèi)容,或者也可以在節(jié)目的播放過程中在特定內(nèi)容將被示出時從不同的源流式播放內(nèi)容。在更進(jìn)一步的實(shí)施例中,可以在即將到來的節(jié)目的調(diào)度的查看時間之前下載其內(nèi)容,對其進(jìn)行代碼轉(zhuǎn)換(在必要時),并存儲在媒體服務(wù)服務(wù)器102中的媒體存儲130中或存儲在客戶端設(shè)備104內(nèi)??梢栽诟鞴?jié)目之間或在節(jié)目期間中提供空間以便插入廣告。在各實(shí)施例中,可以基于為用戶的節(jié)目選擇的內(nèi)容來將廣告定向到單個用戶。如上文所指出的,虛擬頻道引擎1 可以允許就給定節(jié)目內(nèi)的內(nèi)容和/或就節(jié)目作為整體作出反饋??梢栽诓襟E350中接收反饋。這樣的反饋可以是被動的;即,客戶端設(shè)備104檢測用戶的對節(jié)目內(nèi)容的查看模式。用戶可以跳過內(nèi)容片段或整個節(jié)目??闪磉x地,用戶可以倒退或快進(jìn)內(nèi)容片段或節(jié)目的一部分。引擎1 導(dǎo)致此被動的反饋被存儲,并使用它來修改某時間段內(nèi)日程表,以進(jìn)一步針對特定用戶的口味來自定義虛擬頻道(步驟 352)??闪磉x地,步驟350中的反饋可以是主動的。可以給用戶提供明確地評定向用戶呈現(xiàn)的內(nèi)容的選項。在節(jié)目結(jié)束之后,可以通過向用戶顯示的用戶界面獲取這樣的反饋。通過使用虛擬頻道引擎128,用戶可以創(chuàng)建為用戶調(diào)度連續(xù)的內(nèi)容流的頻道,該內(nèi)容是基于用戶感興趣的主題選定的。一旦用戶輸入了他的或她的搜索查詢并選定任何派生搜索查詢,自動創(chuàng)建虛擬頻道和節(jié)目,并給用戶提供節(jié)目,無需用戶作出進(jìn)一步的交互。盡管上面的示例示出了創(chuàng)建單個虛擬頻道,但是,應(yīng)該理解,可以使用上面的步驟來創(chuàng)建用戶感興趣的任何主題的若干個虛擬頻道。這些虛擬頻道中的每一個將出現(xiàn)在EPG 150中,用戶可以選定內(nèi)容以便在單個頻道上觀看或在它們之間切換。在上文所描述的實(shí)施例中,虛擬頻道的節(jié)目是在特定時間調(diào)度的。然而,在替換實(shí)施例中,可以如上文所描述的那樣來生成節(jié)目,但是,代替被調(diào)度,這些節(jié)目可以被存儲在媒體服務(wù)服務(wù)器102和客戶端設(shè)備104的本地存儲器上,或存儲在遠(yuǎn)程媒體服務(wù)器112上。 在此實(shí)施例中,可以使內(nèi)容節(jié)目作為按需內(nèi)容可用,并按需選定以便在用戶希望的任何時間查看。在各實(shí)施例中,虛擬頻道是每一個用戶私人的。然而,在又一實(shí)施例中,單獨(dú)的用戶的虛擬頻道列表可以被上傳和存儲在諸如媒體服務(wù)器112(圖1)之類的后端服務(wù)器上。 此后,在隨后的用戶輸入搜索查詢以創(chuàng)建虛擬頻道的情況下,隨后的用戶的客戶端或媒體服務(wù)服務(wù)器可以調(diào)用后端服務(wù)器,以檢查任何其他用戶是否已經(jīng)在創(chuàng)建虛擬頻道時輸入了相同搜索查詢。倘若如此,虛擬頻道引擎1 可以從存儲的與從相同根搜索查詢早先創(chuàng)建的虛擬頻道相關(guān)聯(lián)的節(jié)目數(shù)據(jù),來為隨后的用戶構(gòu)建新虛擬頻道??梢栽诒辉诿襟w服務(wù)服務(wù)器102、客戶端設(shè)備104或諸如媒體服務(wù)器112之類的遠(yuǎn)程服務(wù)器上執(zhí)行的諸如程序模塊之類的計算機(jī)可執(zhí)行指令的一般上下文中描述上文所描述的媒體下載控制引擎1 和虛擬頻道引擎128。一般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。本系統(tǒng)也可以在其中任務(wù)由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行的分布式計算環(huán)境中實(shí)現(xiàn)。在分布式計算環(huán)境中,程序模塊可以位于包括存儲器存儲設(shè)備在內(nèi)的本地和遠(yuǎn)程計算機(jī)存儲介質(zhì)中。圖10示出了啟用廣播的電子媒體設(shè)備368的示例配置,該設(shè)備368可以例如是與電視機(jī)106相關(guān)聯(lián)的機(jī)頂盒。設(shè)備368包括具有處理器372的中央處理單元370、易失性存儲器374(例如,RAM),以及程序存儲器376(例如,ROM、閃存、磁盤驅(qū)動器、軟盤驅(qū)動器、 CD-ROM等等)。設(shè)備368具有一個或多個輸入設(shè)備380 (例如,遙控器、鍵盤、鼠標(biāo)等等)、視頻顯示器,該視頻顯示器可以是電視機(jī)106或其他VGA、SVGA顯示器,以及用于與立體音響系統(tǒng)對接的立體聲I/O 382。設(shè)備368具有一個或多個調(diào)諧器384,這些調(diào)諧器384調(diào)諧到諸如因特網(wǎng)110、LAN 或WAN之類的網(wǎng)絡(luò)上的適當(dāng)?shù)牡刂罚虿辉诰W(wǎng)絡(luò)上的頻率。調(diào)諧器可以是耦合到天線、電纜或圓盤式衛(wèi)星天線。可另選地,調(diào)諧器可以是以軟件實(shí)現(xiàn)的“虛擬調(diào)諧器”386,該調(diào)諧器 386允許通過網(wǎng)絡(luò)接口 388訪問諸如服務(wù)器112(圖1)之類的內(nèi)容服務(wù)器。調(diào)諧器卡384 可以被配置成接收模擬和/或數(shù)字?jǐn)?shù)據(jù)。例如,調(diào)諧器卡384可以接收MPEG編碼的數(shù)字視頻和音頻數(shù)據(jù),以及許多不同的形式的數(shù)據(jù),包括數(shù)據(jù)文件形式的軟件程序和編程信息。網(wǎng)絡(luò)接口 388提供對網(wǎng)絡(luò)的訪問,并可以是調(diào)制解調(diào)器、網(wǎng)卡、RF接收器,或提供對外部網(wǎng)絡(luò)的訪問的其他類型的端口/接收器。設(shè)備368運(yùn)行支持多個應(yīng)用程序的操作系統(tǒng)。操作系統(tǒng)可以是允許同時執(zhí)行多個應(yīng)用程序的多重任務(wù)操作系統(tǒng)。操作系統(tǒng)可以使用圖形用戶界面窗口環(huán)境,該環(huán)境在顯示屏幕的叫做“窗口”的專門描繪的區(qū)域呈現(xiàn)應(yīng)用程序或文檔。設(shè)備被示為帶有密鑰監(jiān)聽器390以在必要時從諸如服務(wù)器112之類的遠(yuǎn)程服務(wù)器傳輸?shù)氖跈?quán)和會話密鑰。由監(jiān)聽器390接收到的密鑰被實(shí)現(xiàn)的密碼安全服務(wù)使用,以對會話密鑰和數(shù)據(jù)進(jìn)行解密。密碼服務(wù)是通過硬件和軟件的組合來實(shí)現(xiàn)的。在CPU 370的外部提供了安全的抗竄改硬件單元392。在處理器372上執(zhí)行的軟件層被用來促進(jìn)對密碼硬件 392上的資源的訪問。軟件層包括向?qū)で竺艽a服務(wù)(例如,加密、解密、簽名,或驗證)的任何應(yīng)用程序提供功能的密碼應(yīng)用程序接口(CAPI) 394。一個或多個密碼服務(wù)提供方(CSP) 396實(shí)現(xiàn)由CAPI 向應(yīng)用程序呈現(xiàn)的功能。CAPI層394選定用于執(zhí)行被請求的密碼功能的適當(dāng)?shù)腃SP。CSP 396和密碼單元392結(jié)合在一起執(zhí)行各種加密功能,如加密密鑰管理、加密/解密服務(wù)、散列例程、數(shù)字簽名,以及認(rèn)證任務(wù)。不同的CSP可以被配置成處理特定功能,如加密、解密、 簽名等等,雖然單個CSP可被實(shí)現(xiàn)為處理它們?nèi)俊SP 396可被實(shí)現(xiàn)為由CAPI按需要加載,然后,可以由應(yīng)用程序通過CAPI 394調(diào)用的動態(tài)鏈接庫(DLL)。圖11示出了可以例如是媒體服務(wù)服務(wù)器102的計算環(huán)境。用于實(shí)現(xiàn)本系統(tǒng)的各方面的計算環(huán)境包括計算機(jī)410的形式的通用計算設(shè)備。計算機(jī)410的組件可以包括,但不僅限于,處理單元420、系統(tǒng)存儲器430,以及將包括系統(tǒng)存儲器的各種系統(tǒng)組件耦合到處理單元420的系統(tǒng)總線421。系統(tǒng)總線421可以是若干類型的總線結(jié)構(gòu)中的任一種,包括使用各種總線體系結(jié)構(gòu)中的任一種的存儲器總線或存儲器控制器、外圍總線、以及局部總線。作為示例而非限制,這樣的體系結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線、微通道體系結(jié)構(gòu)(MCA)總線、增強(qiáng)型ISA(EISA)總線、視頻電子標(biāo)準(zhǔn)協(xié)會(VESA)局部總線,以及也稱為夾層(Mezzanine)總線的外圍部件互連(PCI)總線。計算機(jī)410通常包括各種計算機(jī)可讀介質(zhì)。計算機(jī)可讀介質(zhì)可以是能由計算機(jī) 410訪問的任何可用介質(zhì),而且包含易失性和非易失性介質(zhì)、可移動和不可移動介質(zhì)。作為示例而非限制,計算機(jī)可讀介質(zhì)可包括計算機(jī)存儲介質(zhì)和通信介質(zhì)。計算機(jī)存儲介質(zhì)包括以用于存儲諸如計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息的任何方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移動和不可移動介質(zhì)。計算機(jī)存儲介質(zhì)包括,但不限于, RAM、ROM、EEPR0M、閃存或其他存儲器技術(shù),CD-ROM、數(shù)字多功能盤(DVD)或其他光盤存儲設(shè)備、磁帶盒、磁帶、磁盤存儲設(shè)備或其他磁存儲設(shè)備,或者能用于存儲所需信息且可以由計
24算機(jī)410訪問的任何其他介質(zhì)。通信介質(zhì)通常以諸如載波或其他傳輸機(jī)制等已調(diào)制數(shù)據(jù)信號來體現(xiàn)計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù),并包括任意信息傳送介質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號”是指其一個或多個特征以這樣的方式設(shè)置或改變以便在信號中對信息進(jìn)行編碼的信號。作為示例而非限制,通信介質(zhì)包括諸如有線網(wǎng)絡(luò)或直接線連接之類的有線介質(zhì),以及諸如聲學(xué)、RF、紅外及其他無線介質(zhì)之類的無線介質(zhì)。上面各項中的任何組合也包括在計算機(jī)可讀介質(zhì)的范圍內(nèi)。系統(tǒng)存儲器430包括以諸如ROM 431和RAM 432之類的易失性和/或非易失性存儲器的形式存在的計算機(jī)存儲介質(zhì)。基本輸入/輸出系統(tǒng)433 ¢10 通常存儲在ROM 431 中,包含了諸如在啟動過程中幫助在計算機(jī)410內(nèi)的元件之間傳輸信息的基本例程。RAM 432通常包含處理單元420可立即訪問和/或目前正在由處理單元420操作的數(shù)據(jù)和/或程序模塊。作為示例而非限制,圖11示出了操作系統(tǒng)434、應(yīng)用程序435、其他程序模塊436, 以及程序數(shù)據(jù)437。計算機(jī)410也可以包括其他可移動/不可移動、易失性/非易失性計算機(jī)存儲介質(zhì)。僅作為示例,圖11示出了對不可移動、非易失性磁介質(zhì)進(jìn)行讀寫的硬盤驅(qū)動器441,對可移動、非易失性磁盤452進(jìn)行讀寫的磁盤驅(qū)動器451,以及對諸如CD ROM或其它光學(xué)介質(zhì)等可移動、非易失性光盤456進(jìn)行讀寫的光盤驅(qū)動器455。可以用于示例性操作環(huán)境中的其他可移動/不可移動,易失性/非易失性的計算機(jī)存儲介質(zhì)包括,但不僅限于,盒式磁帶、閃存卡、DVD、數(shù)字視頻磁帶、固態(tài)RAM、固態(tài)ROM等等。硬盤驅(qū)動器441通常由諸如接口 440等不可移動存儲器接口連接至系統(tǒng)總線421,并且磁盤驅(qū)動器451和光盤驅(qū)動器455通常由諸如接口 450等可移動存儲器接口連接至系統(tǒng)總線421。上文所討論的并且在圖11中示出的驅(qū)動器及其它們相關(guān)聯(lián)的計算機(jī)存儲介質(zhì)為計算機(jī)410提供了對計算機(jī)可讀的指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊及其他數(shù)據(jù)的存儲。例如,圖 11中,硬盤驅(qū)動器441被示為存儲操作系統(tǒng)444、應(yīng)用程序445、其它程序模塊446和程序數(shù)據(jù)447。這些組件可以與操作系統(tǒng)434、應(yīng)用程序435、其他程序模塊436,以及程序數(shù)據(jù)437 相同,也可以不同。在此操作系統(tǒng)444、應(yīng)用程序445、其他程序模塊446以及程序數(shù)據(jù)447 在此被給予了不同的編號,以說明至少它們是不同的副本。用戶可以通過輸入設(shè)備,諸如鍵盤462和定點(diǎn)設(shè)備461(通常指的是鼠標(biāo)、跟蹤球或觸摸墊)向計算機(jī)410輸入命令和信息。 其他輸入設(shè)備(未示出)可包括話筒、操縱桿、游戲手柄、圓盤式衛(wèi)星天線、掃描儀等。這些及其他輸入設(shè)備常常通過耦合到系統(tǒng)總線421的用戶輸入接口 460連接到處理單元420, 但是,也可以通過其他接口和總線結(jié)構(gòu),如并行端口、游戲端口、通用串行總線(US^端口來進(jìn)行連接。如上文所討論的監(jiān)視器493或其他類型的顯示設(shè)備也通過諸如視頻接口 490 之類的接口連接至系統(tǒng)總線421。除監(jiān)視器120之外,計算機(jī)410也可包括諸如揚(yáng)聲器497 和打印機(jī)496之類的其他外圍輸出設(shè)備,它們可以通過輸出外圍接口 495來連接。計算機(jī)410可以使用到一個或多個遠(yuǎn)程計算機(jī)(如遠(yuǎn)程計算機(jī)480)的邏輯連接, 以在聯(lián)網(wǎng)環(huán)境中操作。遠(yuǎn)程計算機(jī)480可以是個人計算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其他公共網(wǎng)絡(luò)節(jié)點(diǎn),并且通常包括上文參考計算機(jī)410所描述的許多或全部元件,雖然圖11中只示出了存儲器設(shè)備481。圖11中所描述的邏輯連接包括局域網(wǎng)(LAN)471和廣域網(wǎng)(WAN)473,但是,也可以包括其他網(wǎng)絡(luò)。這些聯(lián)網(wǎng)環(huán)境在辦公室、企業(yè)范圍計算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中是常見的。
當(dāng)用于LAN網(wǎng)絡(luò)環(huán)境中時,計算機(jī)410通過網(wǎng)絡(luò)接口或適配器470 (諸如接口 126) 連接到LAN 471。當(dāng)用于WAN網(wǎng)絡(luò)環(huán)境中時,計算機(jī)410通常包括調(diào)制解調(diào)器472,或用于通過WAN 473(如通過因特網(wǎng))建立通信的其他裝置。調(diào)制解調(diào)器472,可以是內(nèi)置的或外置的,可以經(jīng)由用戶輸入接口 460或其他適當(dāng)?shù)臋C(jī)制,連接到系統(tǒng)總線421。在聯(lián)網(wǎng)環(huán)境中, 相對于計算機(jī)410所描述的程序模塊或其部分可被存儲在遠(yuǎn)程存儲器存儲設(shè)備中。作為示例而非限制,圖11示出了駐留在存儲器設(shè)備481上的遠(yuǎn)程應(yīng)用程序485。應(yīng)當(dāng)理解,所示的網(wǎng)絡(luò)連接是示例性的,并且可使用在計算機(jī)之間建立通信鏈路的其他手段。前面的對本系統(tǒng)的詳細(xì)描述只是為了說明和描述。它不是詳盡的公開或?qū)⒈鞠到y(tǒng)限于所公開的準(zhǔn)確的形式。根據(jù)上述原理,許多修改方案和變化也是可以的。所描述的實(shí)施方式只是為了最好地說明本系統(tǒng)的原理以及其實(shí)際應(yīng)用,從而使精通本技術(shù)的其他人在各種實(shí)施方式中最佳地利用本系統(tǒng),適合于特定用途的各種修改也是可以的。本發(fā)明的范圍由所附的權(quán)利要求進(jìn)行定義。
權(quán)利要求
1.具有計算機(jī)可執(zhí)行指令的計算機(jī)可讀介質(zhì)041,456),所述計算機(jī)可執(zhí)行指令用于編程計算設(shè)備(102,400)的處理器020)以執(zhí)行使聯(lián)網(wǎng)到所述計算設(shè)備的客戶端設(shè)備 (104,368)能夠播放媒體文件的方法,所述方法包括下列步驟(a)檢測(步驟204)由所述客戶端設(shè)備所支持的所述媒體文件格式;(b)指示(步驟M0)所述客戶端設(shè)備聯(lián)系所述計算設(shè)備以獲取所述客戶端設(shè)備不支持的格式的媒體文件;(c)指示(步驟M0)所述客戶端設(shè)備直接聯(lián)系遠(yuǎn)程位置以獲取由所述客戶端設(shè)備所支持的格式的媒體文件;(d)接收(步驟256J60)來自所述客戶端設(shè)備的獲取所述客戶端設(shè)備不支持的格式的媒體文件的請求;(e)獲取(步驟沈4)在所述步驟(d)中所請求的所述媒體文件;(f)將在所述步驟(e)中獲取的所述媒體文件代碼轉(zhuǎn)換(步驟沈6)為由所述客戶端設(shè)備支持的格式;以及(g)將在所述步驟(f)中代碼轉(zhuǎn)換的所述媒體文件轉(zhuǎn)發(fā)(步驟沈8)到所述客戶端設(shè)備,以便由所述客戶端設(shè)備進(jìn)行播放。
2.如權(quán)利要求1所述的計算機(jī)可讀介質(zhì),其特征在于,還包括下列步驟(h)接收來自所述客戶端設(shè)備的執(zhí)行對媒體文件的搜索的請求,(i)聯(lián)系遠(yuǎn)程位置,(j)從所述遠(yuǎn)程位置獲取可用的媒體文件的類別,(k)將所述類別格式化為包括到在所述遠(yuǎn)程位置處可用的媒體文件的所述類別的鏈接的數(shù)據(jù)結(jié)構(gòu),以及(1)將所述格式化的數(shù)據(jù)結(jié)構(gòu)發(fā)送到所述客戶端設(shè)備。
3.如權(quán)利要求2所述的計算機(jī)可讀介質(zhì),其特征在于,還包括接收來自所述客戶端設(shè)備的查看可用的媒體文件的所述類別中的一個或多個的請求和聯(lián)系所述遠(yuǎn)程位置以獲取所述所請求的一個或多個類別的步驟。
4.如權(quán)利要求1所述的計算機(jī)可讀介質(zhì),其特征在于,所述步驟(b)和(c)包括將數(shù)據(jù)結(jié)構(gòu)發(fā)送到所述客戶端設(shè)備以便供所述客戶端設(shè)備用于獲取所述媒體文件的步驟。
5.如權(quán)利要求4所述的計算機(jī)可讀介質(zhì),其特征在于,還包括所述數(shù)據(jù)結(jié)構(gòu)指定供所述客戶端設(shè)備在請求所述媒體文件時所使用的鏈接的步驟。
6.如權(quán)利要求5所述的計算機(jī)可讀介質(zhì),其特征在于,所述指示所述客戶端設(shè)備聯(lián)系所述計算設(shè)備以獲取所述客戶端設(shè)備不支持的格式的媒體文件的步驟(b)包括向所述客戶端設(shè)備發(fā)送具有指定到所述計算設(shè)備的連接的鏈接的數(shù)據(jù)結(jié)構(gòu)的步驟。
7.如權(quán)利要求5所述的計算機(jī)可讀介質(zhì),其特征在于,所述指示所述客戶端設(shè)備直接聯(lián)系遠(yuǎn)程位置以獲取由所述客戶端設(shè)備所支持的格式的媒體文件的步驟(c)包括向所述客戶端設(shè)備發(fā)送具有指定到所述被請求的媒體文件的所述位置的直接連接的鏈接的數(shù)據(jù)結(jié)構(gòu)的步驟。
8.具有計算機(jī)可執(zhí)行指令的計算機(jī)可讀介質(zhì)041,456),所述計算機(jī)可執(zhí)行指令用于編程處理器(420)以執(zhí)行使客戶端設(shè)備(104,368)能夠播放虛擬電視頻道上的媒體文件的方法,所述客戶端設(shè)備聯(lián)網(wǎng)到計算設(shè)備,所述方法包括下列步驟(a)接收(步驟302)根搜索查詢;(b)生成(步驟304)對所述根搜索查詢的搜索結(jié)果;(c)從所述根搜索查詢生成(步驟306)—個或多個派生搜索查詢;(d)生成(314)對所述一個或多個派生搜索查詢的搜索結(jié)果;(e)創(chuàng)建(步驟340、342、346、348)所述虛擬電視頻道,所述虛擬電視頻道包括來自在所述步驟(b)中所生成的所述根查詢的所述搜索結(jié)果的內(nèi)容,以及來自所述步驟(d)中的所述一個或多個派生搜索查詢的所述搜索結(jié)果的內(nèi)容;(f)由所述計算設(shè)備檢測(步驟204)由所述客戶端設(shè)備支持的所述文件格式;(g)獲取(步驟沈4)所述虛擬電視頻道中所包括的所述內(nèi)容,由所述客戶端設(shè)備支持的格式的內(nèi)容被從所述支持的內(nèi)容的源直接發(fā)送到所述客戶端設(shè)備,而所述客戶端設(shè)備不支持的格式的內(nèi)容被從所述不支持的內(nèi)容的源發(fā)送到所述計算設(shè)備;(h)將在所述步驟(g)中發(fā)送到所述計算設(shè)備的內(nèi)容代碼轉(zhuǎn)換(步驟沈6)為由所述客戶端設(shè)備支持的文件格式;以及(i)將在所述步驟(h)中代碼轉(zhuǎn)換的內(nèi)容發(fā)送(步驟沈8)到所述客戶端設(shè)備。
9.如權(quán)利要求8所述的計算機(jī)可讀介質(zhì),其特征在于,還包括根據(jù)設(shè)置未來某預(yù)定時間長度的內(nèi)容播放時間的日程表來播放所述虛擬電視頻道上的所述內(nèi)容的步驟。
10.如權(quán)利要求8所述的計算機(jī)可讀介質(zhì),其特征在于,還包括所述客戶端設(shè)備直接聯(lián)系所述支持的內(nèi)容的源以請求所述支持的內(nèi)容的步驟。
11.一種生成包括媒體內(nèi)容的虛擬頻道的方法,所述方法包括下列步驟(a)接收根搜索查詢;(b)生成所述根查詢的搜索結(jié)果;(c)從所述根搜索查詢生成一個或多個派生搜索查詢;(d)生成對所述一個或多個派生搜索查詢的搜索結(jié)果;(e)創(chuàng)建所述虛擬電視頻道,所述虛擬電視頻道包括來自在所述步驟(b)中所生成的所述根查詢的所述搜索結(jié)果的內(nèi)容,以及來自所述步驟(d)中的所述一個或多個派生搜索查詢的所述搜索結(jié)果的內(nèi)容;(f)將所述內(nèi)容解析為不同的節(jié)目,每一個節(jié)目都是從所述根搜索查詢結(jié)果和所述一個或多個派生搜索查詢結(jié)果中創(chuàng)建的;以及(g)向用戶顯示所述節(jié)目,無需所述用戶指定要顯示的所述內(nèi)容。
12.如權(quán)利要求11所述的方法,其特征在于,還包括從所述一個或多個派生搜索查詢生成一個或多個附加的派生搜索查詢,以及生成對所述一個或多個附加的派生搜索查詢的搜索結(jié)果的步驟。
13.如權(quán)利要求11所述的方法,其特征在于,還包括根據(jù)設(shè)置未來某預(yù)定時間長度的內(nèi)容播放時間的預(yù)定日程表來播放所述虛擬電視頻道上的所述內(nèi)容的步驟。
14.如權(quán)利要求13所述的方法,其特征在于,還包括基于從所述用戶接收到反饋的步驟來調(diào)整節(jié)目的日程表以忽略最初調(diào)度的節(jié)目和/或添加新節(jié)目的步驟。
15.如權(quán)利要求11所述的方法,其特征在于,所述向用戶顯示所述節(jié)目的步驟(g)包括通過電子節(jié)目指南向用戶顯示所述節(jié)目的步驟,所述虛擬電視頻道與所述電子節(jié)目指南中的其他頻道出現(xiàn)在一起,所述虛擬電視頻道的所述不同的節(jié)目與所述其他頻道中的節(jié)目一起呈現(xiàn)。
全文摘要
公開了用于媒體內(nèi)容搜索與檢索的系統(tǒng),以及能夠使用該系統(tǒng)的虛擬電視頻道。本系統(tǒng)的第一方面涉及一種媒體下載控制引擎,該控制引擎使具有有限的能力的客戶端設(shè)備能夠播放來自網(wǎng)站的該客戶端設(shè)備不支持的格式的媒體內(nèi)容。本系統(tǒng)的第二方面可以利用媒體下載控制引擎來獲取媒體內(nèi)容和創(chuàng)建自定義虛擬頻道。
文檔編號H04N21/472GK102428465SQ201080022567
公開日2012年4月25日 申請日期2010年5月11日 優(yōu)先權(quán)日2009年5月19日
發(fā)明者A·V·迪斯科羅, M·劉, R·博爾德萊, R·霍林格姆, W·寧, Y·吳, Z·馬 申請人:微軟公司