專利名稱:掃描存儲介質(zhì)的內(nèi)容的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種掃描存儲介質(zhì)的內(nèi)容的方法和設(shè)備。
背景技術(shù):
在將如CD-ROM或閃存介質(zhì)等包含如MP3、JPEG或其他文件的數(shù)據(jù)載體插入回放設(shè)備中時,設(shè)備通常必須獲得有關(guān)數(shù)據(jù)載體的結(jié)構(gòu)信息,例如,用于顯示列出了文件的菜單。因此,設(shè)備掃描整個介質(zhì),或者介質(zhì)內(nèi)容索引或內(nèi)容表(TOC)。對于CD-ROM,預(yù)期的最大文件數(shù)是8000,但是,用戶界面每次可能只顯示幾個文件,通常為大約10個。對于這種掃描,下述兩種方法是已知的。
第一種已知方法是“即時掃描”只在需要時(即用戶選擇相應(yīng)的子菜單或在此子菜單內(nèi)部導(dǎo)航時),掃描文件(即TOC條目)。立即使用掃描結(jié)果。這種方法的主要缺點(diǎn)是頁面改變期間的較慢響應(yīng)。
第二種已知方法是“預(yù)掃描”。在插入介質(zhì)(如光盤或存儲卡)之后,直接掃描和存儲文件系統(tǒng)或TOC。缺點(diǎn)是如果文件數(shù)較大,則需要較大的存儲空間,尤其是考慮到如DVD-ROM或閃存未來的容量增加將增加最大的可能文件數(shù)。在海量數(shù)據(jù)集合的情況下,掃描時間較長,因此用戶需要在插入可移動存儲介質(zhì)之后、能夠看到和/或訪問文件的菜單列表之前,等待相當(dāng)長的時間。
目前,在支持如CD-ROM或存儲卡等尺寸通常小于256兆字節(jié)(MB)的大多數(shù)應(yīng)用中,使用第二種方法。
考慮到已知方法的缺點(diǎn)并應(yīng)對存儲容量的持續(xù)增長以及由此導(dǎo)致的更長的內(nèi)容索引,需要針對現(xiàn)有掃描方案的新概念。
發(fā)明內(nèi)容
本發(fā)明的目的是減少從存儲介質(zhì)獲得相關(guān)結(jié)構(gòu)信息(尤其是相關(guān)內(nèi)容索引信息)所需的時間,例如從請求到能夠在用戶界面(UI)上顯示存儲在存儲介質(zhì)上的文件和/或目錄菜單列表的時間。
原則上,本發(fā)明包括檢測介質(zhì)的類型,并根據(jù)在介質(zhì)檢測期間獲得的信息和播放器資源信息,動態(tài)地決定使用第一或第二介質(zhì)掃描算法。具體地,這些信息包括目前目錄等級的文件和/或目錄數(shù)以及可用緩存空間或顯示容量,但也包括介質(zhì)上的文件和/或目錄總數(shù)、介質(zhì)上的文件系統(tǒng)的類型、總介質(zhì)容量、已用介質(zhì)容量和其他信息。掃描方法選擇器決定應(yīng)當(dāng)使用哪種掃描方法。
此外,本發(fā)明的一個方案在于使用部分掃描方法。這種方法在將介質(zhì)插入設(shè)備時只掃描介質(zhì)上的部分結(jié)構(gòu)信息,并非一開始就掃描介質(zhì)上的整個文件系統(tǒng)或TOC。所述方法包括使用控制器來決定初始第一次掃描多少文件信息以及何時執(zhí)行針對一個或多個其他掃描的重新掃描。
具體地,本發(fā)明的掃描存儲介質(zhì)的方法包括以下步驟接收對與所述存儲介質(zhì)有關(guān)的結(jié)構(gòu)信息的請求,如內(nèi)容索引等;至少確定介質(zhì)的類型和介質(zhì)上的文件系統(tǒng)的類型;從所述存儲介質(zhì)中獲得表示存儲在介質(zhì)上的數(shù)據(jù)項的結(jié)構(gòu)和/或類型的結(jié)構(gòu)信息,如文件和/或目錄等;確定可用于緩存所獲得的信息的緩存空間的數(shù)量;組合所獲得的和所確定的數(shù)值,以確定掃描類型值;根據(jù)所確定的掃描類型值,選擇用于掃描存儲介質(zhì)或所述存儲介質(zhì)的內(nèi)容索引的多種掃描方法之一,其中至少第一掃描方法包括只掃描存儲介質(zhì)或所述介質(zhì)的內(nèi)容索引的一部分;以及根據(jù)所選擇的掃描方法,掃描存儲介質(zhì)或所述介質(zhì)的內(nèi)容索引,其中獲得結(jié)構(gòu)信息。掃描類型值的確定可以基于預(yù)先定義(或動態(tài)定義)的規(guī)則。此外,在選擇第一掃描方法時,可以在獲得針對預(yù)定最大數(shù)據(jù)項數(shù)目的結(jié)構(gòu)信息時,自動停止掃描。
在權(quán)利要求10中公開了使用這種方法的設(shè)備。
根據(jù)本發(fā)明,掃描存儲介質(zhì)的內(nèi)容或內(nèi)容索引的設(shè)備包括接收裝置,用于接收對與所述存儲介質(zhì)有關(guān)的結(jié)構(gòu)信息的請求,如用戶界面控制器或?qū)α硪惶幚砥鞯慕涌诘龋淮_定裝置,用于至少確定介質(zhì)的類型和介質(zhì)上的文件系統(tǒng)的類型;獲得裝置,用于從所述存儲介質(zhì)中獲得表示存儲在介質(zhì)上的數(shù)據(jù)項的結(jié)構(gòu)和/或類型的結(jié)構(gòu)信息,如具有拾取裝置的驅(qū)動器等;確定裝置,用于確定可用于緩存所獲得的信息的緩存空間的數(shù)量,如處理器等;組合裝置,用于組合所獲得的和所確定的數(shù)值,以確定掃描類型值;選擇裝置,用于根據(jù)所確定的掃描類型值,選擇用于掃描存儲介質(zhì)或其內(nèi)容索引的多種掃描方法之一;以及掃描裝置,用于根據(jù)所選擇的掃描方法,掃描存儲介質(zhì)或其內(nèi)容索引,其中獲得結(jié)構(gòu)信息。掃描類型值的所述確定可以基于預(yù)先定義或動態(tài)定義的規(guī)則。
根據(jù)本發(fā)明的一個方案,至少第一掃描方法包括只掃描存儲介質(zhì)或其內(nèi)容索引的一部分。
此外,可以包括自動停止裝置,用于在選擇所述第一掃描方法,并獲得針對所定義的最大數(shù)據(jù)項數(shù)目的結(jié)構(gòu)信息時,自動停止掃描。此外,可以包括動態(tài)定義裝置,用于動態(tài)定義所述規(guī)則,如模糊處理器等。
在一個實(shí)施方式中,根據(jù)本發(fā)明的方法還包括以下步驟緩存所獲得的數(shù)據(jù),其中在緩存之前,對所獲得的數(shù)據(jù)進(jìn)行壓縮,以及在從緩存器獲得之后,對其進(jìn)行解壓縮。
在一個實(shí)施方式中,所定義的、要從所述介質(zhì)獲得的最大數(shù)據(jù)項數(shù)目由用戶界面上同時可顯示菜單項的最大數(shù)目確定,所述用戶界面利用所獲得的結(jié)構(gòu)數(shù)據(jù)的至少一部分作為菜單項數(shù)據(jù)來顯示菜單部分。
在一個實(shí)施方式中,在另一應(yīng)用程序的后臺中繼續(xù)針對結(jié)構(gòu)數(shù)據(jù)、對存儲介質(zhì)的掃描,其中獲得與能夠被立即緩存的一樣多的菜單項數(shù)據(jù)。
在一個實(shí)施方式中,所述結(jié)構(gòu)信息包括以下信息中的一個或多個總介質(zhì)容量、已用和/或未用介質(zhì)容量、至少在當(dāng)前層次等級上的文件和/或目錄數(shù)、至少部分所述文件的數(shù)據(jù)類型、與所述文件相關(guān)聯(lián)的軌道信息。
在一個實(shí)施方式中,將所獲得的和所確定的數(shù)值轉(zhuǎn)換為模糊參數(shù),并且對于組合所獲得的和所確定的數(shù)值,使用預(yù)先確定的規(guī)則,根據(jù)模糊邏輯過程,來確定掃描類型值。
在一個實(shí)施方式中,將用于緩存所獲得的數(shù)據(jù)部分的緩存器分為緩存器分區(qū)或子緩存器。所述部分掃描方法還包括以下步驟從應(yīng)用程序接收對更多結(jié)構(gòu)信息的請求;根據(jù)所述請求,從存儲介質(zhì)中獲得另外的結(jié)構(gòu)數(shù)據(jù),其中結(jié)構(gòu)信息的數(shù)量是能夠緩存在所述子緩存器之一中的數(shù)據(jù)量;以另外的結(jié)構(gòu)數(shù)據(jù)覆寫所定義的子緩存器中的緩存數(shù)據(jù),而保持其他子緩存器不變;以及更新使用緩存數(shù)據(jù)的應(yīng)用程序。
在一個實(shí)施方式中,在自動停止掃描之后,執(zhí)行以下步驟根據(jù)當(dāng)前所使用的結(jié)構(gòu)信息,檢測接下來可能會使用的結(jié)構(gòu)信息;從存儲介質(zhì)中獲得所檢測出的、接下來可能會使用的結(jié)構(gòu)信息;緩存所獲得的信息;以及根據(jù)下一請求,從所述緩存信息中選擇結(jié)構(gòu)信息。
在一個實(shí)施方式中,針對一個或多個特定的數(shù)據(jù)類型,可以選擇同時回放模式。在選擇同時回放模式時,對于任意特定數(shù)據(jù)類型的結(jié)構(gòu)數(shù)據(jù)或軌道信息獲取優(yōu)先于其他數(shù)據(jù)類型的軌道信息獲取。
例如,本發(fā)明可應(yīng)用于回放設(shè)備或能夠從存儲介質(zhì)中獲得結(jié)構(gòu)數(shù)據(jù)并利用此信息進(jìn)行任何其他處理的任何設(shè)備。如果每次只將部分信息用于其他處理,例如,當(dāng)電子顯示器一次只能列出有限數(shù)目的內(nèi)容項時,或者當(dāng)緩存空間不足以從介質(zhì)中一次獲得全部結(jié)構(gòu)信息時,本發(fā)明尤為有利。
有利地,所公開的介質(zhì)掃描方案自適應(yīng)于多種實(shí)時條件,如介質(zhì)容量、格式、當(dāng)前可用緩存器空間等。此方案可應(yīng)用于但并不局限于如光盤、USB存儲卡或大拇哥隨身碟(thumb driver)等的掃描。可以應(yīng)用于需要緩存文件和/或目錄的應(yīng)用程序中;也可以定制地用在需要緩存從可移動存儲介質(zhì)中獲得的信息的應(yīng)用程序中。
在從屬權(quán)利要求、以下的描述和附圖中公開了本發(fā)明的有利實(shí)施例。
參照附圖,對本發(fā)明的典型實(shí)施例進(jìn)行描述,其中
圖1是介質(zhì)掃描方法的總體示意圖;以及圖2是決定何時執(zhí)行重新掃描的模糊邏輯控制器。
具體實(shí)施例方式
圖1示出了根據(jù)本發(fā)明的介質(zhì)掃描方案的總體示意圖。
當(dāng)需要與存儲介質(zhì)有關(guān)的結(jié)構(gòu)信息時,例如當(dāng)光盤或存儲卡插入回放設(shè)備時,或者當(dāng)激活菜單顯示時,對介質(zhì)或其內(nèi)容索引區(qū)域(通常為內(nèi)容表(TOC))以及指示區(qū)域進(jìn)行掃描,以便獲得此信息。結(jié)構(gòu)信息通常至少包括介質(zhì)類型和/或文件系統(tǒng)類型、頂級或任意給定當(dāng)前等級的文件和/或目錄數(shù)、但也可以包括以下信息中的一個或多個總介質(zhì)容量、已用和/或未用介質(zhì)容量、文件類型、文件大小、創(chuàng)建日期、訪問日期、文件名或目錄名長度、附加元數(shù)據(jù)或軌道信息、以及其他信息。
本發(fā)明依賴于對以下事實(shí)的認(rèn)知對于不同的介質(zhì),根據(jù)由其結(jié)構(gòu)信息指示的相應(yīng)使用率或占用率,使用一種或另一種掃描算法可能更為有利。具體地,本發(fā)明包括從存儲介質(zhì)中獲得上述結(jié)構(gòu)信息;以及使用改結(jié)構(gòu)信息和設(shè)備特有信息作為決策輸入,動態(tài)地決定使用第一或第二掃描算法。掃描方法選擇器SEL決定應(yīng)當(dāng)使用哪種掃描方法,并指示應(yīng)當(dāng)使用第一M1或第二M2掃描方法,或啟用相應(yīng)的、選定掃描算法??梢栽诳捎脪呙璺椒∕1、M2之間進(jìn)行物理或邏輯切換SW。原則上,也存在多于兩種掃描方法可用??梢詫⑵渲兄欢x為缺省方法。
此外,本發(fā)明的一個方案在于可以使用部分掃描方法。此方法最初并不掃描介質(zhì)的整個文件系統(tǒng)(即其內(nèi)容索引),例如,在插入介質(zhì)時,或者在請求顯示菜單或產(chǎn)生索引時。代替地,本方法使用控制器來決定第一次掃描多少文件信息,以及在初始掃描之后何時執(zhí)行重新掃描。例如,可以利用微處理器等來實(shí)現(xiàn)。
根據(jù)本發(fā)明的介質(zhì)掃描方案的主要優(yōu)點(diǎn)如下第一,只使用較小的存儲器。因此,能夠僅以較少的存儲器資源來處理海量數(shù)據(jù)集合。
第二,速度快。對于低容量介質(zhì),其響應(yīng)時間通常接近于傳統(tǒng)的預(yù)掃描方法。但是,對于包含許多文件的高容量介質(zhì),本發(fā)明更快。因此,在插入已占用的高容量介質(zhì)之后、播放器準(zhǔn)備好選擇菜單標(biāo)題所需的初始時間比傳統(tǒng)的預(yù)掃描方法少得多。
圖1中的總體示意圖示出了介質(zhì)掃描方法選擇器SEL,其利用開關(guān)SW控制使用兩種(或更多)掃描方法中的哪一個。以下對方法選擇器進(jìn)行描述。
在存儲介質(zhì)插入/連接回放設(shè)備時,檢測介質(zhì)類型,并從介質(zhì)中獲得結(jié)構(gòu)信息,如上所述。選擇器SEL可以是相對簡單的模糊邏輯控制器,其使用可能的決策輸入,即從介質(zhì)中獲得的上述信息和設(shè)備信息,例如,回放設(shè)備中的可用緩存器大小、可顯示行數(shù)等。選擇器SEL使用一組預(yù)定的規(guī)則來確定使用哪種可用介質(zhì)掃描方法,在此示例中,為預(yù)掃描方法M1或部分掃描方法M2。但是,在一個實(shí)施例中,所述規(guī)則可以動態(tài)地適應(yīng)于當(dāng)前的情況,例如播放器容量等。然后,將使用所選擇的方法,通過一種邏輯開關(guān)SW來啟動。但是,在本發(fā)明的其他實(shí)施例中,可以在多于兩種介質(zhì)掃描方法間進(jìn)行選擇。由于上述原因,如果可用方法中的至少一個是上述部分掃描方法,將尤為有利。也可以在多種版本或類型的部分掃描方法之間進(jìn)行選擇,例如以下所列出的類型。
用于確定最合適的掃描方法的規(guī)則可以依賴于幾個因素分別表示(a)所獲得的數(shù)據(jù)所需的資源量,如存儲介質(zhì)信息所需的存儲空間;以及(b)廣義情況下,可以從介質(zhì)中獲得信息的速度。具體地,如果介質(zhì)具有較大的總?cè)萘亢洼^大的已用容量,這意味著介質(zhì)掃描處理較慢且需要較多的存儲器。在這種情況下,與預(yù)掃描方法相比,根據(jù)本發(fā)明的部分掃描方法將更為有效??梢詫⑵浔硎緸橐?guī)則,如以下示例所示IF(輸入文件系統(tǒng)==UDF類型)&&
(輸入介質(zhì)使用容量==多)&&
(輸入緩存器大?。剑叫?THEN(輸出算法=部分掃描)
在此示例中,針對已用介質(zhì)容量的參數(shù)“多”和針對輸入緩存器大小的“小”是模糊參數(shù)。已用容量為“多”可以表示介質(zhì)并未充滿,但使用了介質(zhì)總?cè)萘恐邢喈?dāng)多的部分,例如,多于75%但小于90%。為了獲得這些模糊參數(shù),可以組合讀取/測量參數(shù),如讀取/測量總介質(zhì)容量、讀取/測量緩存器大小等,并決定緩存器大小相對于總介質(zhì)容量是否為“小”或其他,如“非常小”、“中等”或“大”。對于決定,例如,可以使用表格來表示對分類的限制。利用足以描述相似場景的規(guī)則,播放器能夠確定將最為合適的介質(zhì)掃描方案用于不同類型的已加載介質(zhì)。
但是,在更為簡單的實(shí)施方式中,可以使用適用于可用資源的固定參數(shù),例如IF(輸入文件項數(shù)>100)THEN(輸出算法=部分掃描)ELSE IF(輸入文件項數(shù)>15)THEN(輸出算法=預(yù)掃描)ELSE(輸出算法=即時掃描)多種播放器支持的一個功能是同時回放(SPB),例如,表示用戶可以在收聽音頻的同時觀看畫面放映。因此,播放器需要同時呈現(xiàn)音頻和畫面或視頻數(shù)據(jù)。為了支持如MP3和JPEG文件等的SPB,必須已經(jīng)檢測到相應(yīng)的文件類型,這里為MP3或JPEG。如果用戶試圖選擇SPB,播放器應(yīng)當(dāng)至少已經(jīng)檢測到MP3文件和JPEG文件,以便允許檢測SPB。另一選項是在用戶選擇SPB或啟用SPB功能時,立即開始針對MP3文件或JPEG文件的掃描。
如果介質(zhì)具有較大容量且接近充滿,通常有利的是使用部分掃描方法。但是,如果盤只包含較少的MP3或JPEG文件和較多的非多媒體文件,在回放期間,在連續(xù)的MP3或JPEG之間可能會存在一些延遲,這是由于以下事實(shí)造成的與介質(zhì)上存在較少的文件相比,需要花費(fèi)長得多的時間來掃描要播放的下一個MP3或JPEG。但是,在幾乎所有的情況下,這種延遲要比已知的掃描方法短。
通常,根據(jù)本發(fā)明的掃描方法包括第一掃描算法(例如,部分掃描算法)、不同的第二掃描算法和重新掃描控制。下面,將更為詳細(xì)地描述部分掃描算法??梢允褂枚喾N類型的部分掃描算法。
在第一類部分掃描算法中,設(shè)備掃描整個介質(zhì)的內(nèi)容索引,并存儲與設(shè)備中的緩存器所能存儲的一樣多的信息,即設(shè)備掃描介質(zhì)的內(nèi)容索引,直到其緩存器充滿。隨后,設(shè)備繼續(xù)掃描剩余的內(nèi)容索引,以確定介質(zhì)所包含的文件夾/目錄和/或文件數(shù)。設(shè)備緩存介質(zhì)所包含的目錄和/或文件數(shù),并將此信息輸入模糊邏輯控制器,以確定何時應(yīng)當(dāng)進(jìn)行重新掃描。
在第二類部分掃描算法中,設(shè)備最初將所分配的存儲器分為幾個緩存器,而不是只具有一個緩存器。在插入介質(zhì)時,其掃描并存儲與所有存儲器能夠存儲的一樣多的信息。一旦緩存器充滿,則停止掃描。在需要時,執(zhí)行重新掃描。當(dāng)需要更多的信息時,例如,當(dāng)用戶在菜單內(nèi)進(jìn)行導(dǎo)航并需要更多的信息時,不需要重新填充所有的緩存器,而只需對一個或兩個緩存器進(jìn)行重新填充。因此,重新掃描可以較短且較快。
在第三類部分掃描算法中,設(shè)備在介質(zhì)內(nèi)容索引的初始掃描期間,只獲取針對下一處理步驟(即UI顯示)的足夠信息。如果UI只能同時顯示20個標(biāo)題,則最初只掃描20個標(biāo)題。但是,也可以掃描更多的標(biāo)題,為需要更多數(shù)據(jù)的情況做準(zhǔn)備,例如,當(dāng)用戶在菜單中向上或向下滾動時。在回放期間,或者在顯示菜單,或者用戶在菜單中進(jìn)行導(dǎo)航時,在后臺繼續(xù)對文件和/或目錄信息的掃描。這意味著當(dāng)在MP3音頻文件等的回放期間,音頻數(shù)據(jù)緩存器足以填充MP3數(shù)據(jù),并且拾取空閑一段時間時,拾取可以繼續(xù)以掃描TOC,直到菜單緩存器充滿,或者直到掃描了接下來的10個文件/目錄。文件/目錄的后臺掃描應(yīng)當(dāng)始終具有最低的優(yōu)先級,因為其無論如何不應(yīng)當(dāng)影響當(dāng)前的回放。
下面,將描述動態(tài)選擇可用掃描算法之一的過程。由圖1中的選擇模塊SEL執(zhí)行。為了實(shí)現(xiàn)上述設(shè)計目的,即主要進(jìn)行大量數(shù)據(jù)和快速響應(yīng)時間的處理,選擇第三種部分掃描算法來實(shí)現(xiàn)部分掃描方法,此外,在緩存之前,對軌道信息進(jìn)行壓縮。
在插入介質(zhì)時,軟件啟動,掃描用于UI顯示的足夠信息。當(dāng)拾取或驅(qū)動空閑時,例如當(dāng)未選擇標(biāo)題時,或者當(dāng)在回放期間,緩沖器充滿時,對文件和/或目錄信息的后臺掃描開始。應(yīng)當(dāng)始終將比其他文件更高的緩存優(yōu)先級賦予MP3軌道的軌道信息,因為在MP3軌道的回放期間,音頻過渡應(yīng)當(dāng)是平滑的,即音頻緩存器應(yīng)當(dāng)始終不為空。因此,需要足夠的MP3軌道信息。此外,應(yīng)當(dāng)在后臺進(jìn)行JPEG解碼,因為與MP3軌道相比,要存儲的JPEG畫面的軌道信息并不那么重要。
本發(fā)明的一個方案在于對與數(shù)據(jù)文件有關(guān)的軌道信息進(jìn)行壓縮。例如,軌道信息可以包括標(biāo)題、作者、開始/結(jié)束地址等。從介質(zhì)中獲得軌道信息,在緩存前進(jìn)行壓縮,并在緩存后進(jìn)行解壓縮。這種壓縮使得能夠存儲更多文件和/或目錄的信息,也降低了重新掃描的頻率??梢詫⑷魏我阎膲嚎s算法用于此目的。在需要所存儲的信息時,可以進(jìn)行解壓縮。
另外,通過只存儲軌道信息的開始地址來代替軌道信息本身,可以對緩存器使用進(jìn)行進(jìn)一步的優(yōu)化。在一些情況下,如果可用,可以從介質(zhì)上的查找表中讀取與文件和/或目錄有關(guān)的信息。這有助于決定是否需要盤掃描或者查找表是否包含針對有效信息獲取的充足信息。
通常,根據(jù)本發(fā)明的部分掃描方法的實(shí)施包括部分掃描算法執(zhí)行單元(如處理器等)和重新掃描控制器。下面,將描述重新掃描控制器。
在此示例中,根據(jù)上述第三種部分掃描方法,建立用于重新掃描文件的控制器的模型。僅當(dāng)所分配的緩存器的大小對于所確定/所計算的最大文件數(shù)而言不足時,啟動控制器?;谀:壿嫷闹匦聮呙杩刂破鞯闹饕蝿?wù)如下其設(shè)置變量的數(shù)值(如緩存器下限),并形成在將介質(zhì)(如ODD或USB存儲器等)加載到播放器或與播放器相連時、選擇最合適的掃描方案的規(guī)則??梢愿鶕?jù)實(shí)驗結(jié)果獲得上述數(shù)值,并進(jìn)行存儲。在部分掃描中,控制器考慮回放模式(如MP3/JPEG/SPB/空閑模式)和回放選項(標(biāo)準(zhǔn)/隨機(jī)/重復(fù)…)作為輸入,以決定能否執(zhí)行介質(zhì)信息的后臺緩存。
對于何時執(zhí)行重新掃描的問題,傳統(tǒng)預(yù)掃描方法不需要執(zhí)行重新掃描;但是,如果在第一次掃描時并未檢測介質(zhì)上的全部所需信息,任何部分掃描方法都需要重新掃描。
為了給出應(yīng)用示例,具有集成存儲卡讀取器的音頻CD播放器的用戶界面可以列出7行文本。當(dāng)用戶將具有MP3音頻數(shù)據(jù)的CD-ROM插入CD驅(qū)動器時,播放器開始驅(qū)動,并檢測是否插入了CD-ROM,其是否是特定文件系統(tǒng)格式的,如通用盤格式(UDF)。此外,播放器讀取頂級目錄的數(shù)據(jù)結(jié)構(gòu),例如,發(fā)現(xiàn)在此等級上有3個目錄和10個文件。其計算出這一等級上的數(shù)據(jù)項數(shù)為13,并將其與能夠同時緩存的數(shù)據(jù)項數(shù)進(jìn)行比較。假設(shè)此數(shù)目是15,則其立即緩存與這十三個數(shù)據(jù)項有關(guān)的數(shù)據(jù)。如果在當(dāng)前等級上存在5個目錄和50個文件,則決定進(jìn)行部分掃描。
在此示例中,UI使用前7個數(shù)據(jù)項的數(shù)據(jù)來產(chǎn)生顯示文本。當(dāng)用戶保持在當(dāng)前的目錄等級、在菜單中向上或向下滾動時,以緩存數(shù)據(jù)對顯示進(jìn)行更新。當(dāng)用戶選擇一個子目錄時,播放器重新掃描CD或其TOC,以順序確定所選子目錄等級上的文件和目錄,并將已經(jīng)檢測到的文件數(shù)與能夠緩存的項數(shù)進(jìn)行比較。還可以考慮要顯示的文本的長度,例如其是否為一個或兩個顯示行。
當(dāng)其發(fā)現(xiàn)在該等級上實(shí)質(zhì)上更多的MP3格式文件時,上述控制器確定進(jìn)一步的掃描是無用的,因為既不能同時緩存也不能同時顯示相關(guān)數(shù)據(jù),并切換到部分掃描方法。結(jié)果,最晚在緩存器充滿時,不再對CD進(jìn)行掃描,存儲當(dāng)前的拾取位置,以便稍后繼續(xù)掃描,并將緩存數(shù)據(jù)發(fā)送給UI,以產(chǎn)生顯示文本。例如,顯示歌曲#1~7的文本,并緩存歌曲#1~15的文本。如上所述,在本發(fā)明的一個實(shí)施例中,在緩存前,對來自盤的數(shù)據(jù)進(jìn)行壓縮,并必須在緩存后對其進(jìn)行解壓縮。
當(dāng)用戶在當(dāng)前的目錄等級向下滾動菜單,并且例如顯示歌曲#7~13的數(shù)據(jù)時,播放器檢測到用戶可能會繼續(xù)向上或向下滾動,并確定緊接在下一滾動步驟之后,將不再使用歌曲#1~4的數(shù)據(jù),而是可能使用歌曲#14~17的數(shù)據(jù)。因此,在用戶閱讀顯示器或傾聽所顯示的歌曲之一時,播放器在后臺繼續(xù)對盤進(jìn)行掃描,從所存儲的位置開始,以獲得這些歌曲的數(shù)據(jù)。緩存這些數(shù)據(jù),并可以代替歌曲#1~4的數(shù)據(jù)。類似地,當(dāng)用戶在菜單中向上滾動并接近第一個緩存標(biāo)題時,控制器發(fā)起重新掃描,以獲得可能很快會用到的文件的數(shù)據(jù)。因此,下一步驟所需的數(shù)據(jù)總是可用,而不必掃描介質(zhì)的整個內(nèi)容索引。
在更為有利的實(shí)施例中,控制器也可以分析用戶可能的后續(xù)步驟,并獲得多個可能后續(xù)步驟的數(shù)據(jù),或者所有可能后續(xù)步驟的數(shù)據(jù)。例如,如果用戶可以向下滾動菜單或選擇子目錄,控制器事先獲得針對這兩個選項的數(shù)據(jù)。
在本發(fā)明的一個實(shí)施例中,將以下信息輸入重新掃描控制器,以決定何時應(yīng)當(dāng)執(zhí)行重新掃描,例如,其根據(jù)模糊邏輯進(jìn)行操作-回放類型-當(dāng)前播放邏輯扇區(qū)號(LSN)-當(dāng)前播放文件的結(jié)束LSN-當(dāng)前緩存器等級-文件列表的頁面-文件列表上的當(dāng)前選定項號-文件列表上的頁面-當(dāng)前模式(文件列表/回放/…)在一個實(shí)施例中,使用以下規(guī)則確定何時應(yīng)當(dāng)執(zhí)行重新掃描。通常,在所需結(jié)構(gòu)介質(zhì)信息仍未加載在緩存器中時,發(fā)生對盤信息的重新掃描。存在多種可能發(fā)生重新掃描的情況,例如,在當(dāng)前模式是具有MP3回放或JPEG畫面預(yù)覽的“文件列表”時,或者在當(dāng)前模式是“回放”時。
對于這些情況,拾取管理器將忙于獲取用于回放的數(shù)據(jù),并且?guī)缀鯖]有機(jī)會進(jìn)行重新掃描。但是,在正在播放MP3/JPEG時,用戶可能會滾動文件列表,或者試圖利用特定的按鍵(如FWD或前進(jìn)鍵)跳過畫面,從而必須進(jìn)行用于顯示文件列表的重新掃描。對于這種情況,圖2所示的模糊邏輯控制器FLC使用MP3/JPEG緩存器等級作為輸入。思想是當(dāng)MP3緩存器等級高于安全限制時,拾取管理器有時間執(zhí)行重新掃描。當(dāng)MP3緩存器等級下降到“警告”限制時,模糊邏輯控制器FLC指示拾取管理器將MP3緩存器填充到足夠安全的數(shù)量。但是,如果用戶試圖在MP3回放期間切換到其他文件夾,則由于MP3回放期間的掃描處理,在顯示文件夾的內(nèi)容之前,可能會有一些延遲。在將本發(fā)明的方法用于SPB時,針對MP3/JPEG的緩存器必須足夠大,以便防止因為重新掃描而在短時間內(nèi)沒有音頻或新的JPEG顯示??梢酝ㄟ^測試找出安全緩存器限制,足夠高以確保拾取管理器從一個任務(wù)切換到另一個任務(wù)的充足時間。
可以將此規(guī)則表示為以下的簡單示例規(guī)則1IF(輸入MP3緩存器等級>=非常安全的等級)THEN(掃描類型=填充盤信息)規(guī)則2IF(輸入MP3緩存器等級<=警告等級)THEN(掃描類型=填充MP3扇區(qū))原則上,在設(shè)備訪問任何存儲介質(zhì)(如內(nèi)置硬盤等)時,都可以使用本發(fā)明。
本發(fā)明也可以用在如下情況中將結(jié)構(gòu)信息傳遞給另一、后續(xù)處理步驟或單元,并且由于任何原因,可以通過拾取進(jìn)行比由其他處理單元進(jìn)行處理更快地傳遞。當(dāng)掃描選擇器檢測到不能再處理數(shù)據(jù),或者接收到相應(yīng)的指示信號時,其可以切換到部分掃描方法,從而可以中斷掃描,并稍后恢復(fù),優(yōu)選地,在為此目的而存儲的當(dāng)前位置處。在這種情況下,選擇第一、傳統(tǒng)預(yù)掃描算法,并在檢測到不能足夠快地處理數(shù)據(jù)時,自動選擇部分掃描算法??梢源鎯υ摃r刻的拾取位置,并在局部掃描繼續(xù)時,獲得該拾取位置。
權(quán)利要求
1.一種掃描存儲介質(zhì)的方法,包括以下步驟-接收對與存儲在所述存儲介質(zhì)上的數(shù)據(jù)有關(guān)的結(jié)構(gòu)信息的請求;-至少確定介質(zhì)的類型和介質(zhì)上的文件系統(tǒng)的類型;-從所述存儲介質(zhì)中獲得表示存儲在介質(zhì)上的數(shù)據(jù)項中的至少一部分的結(jié)構(gòu)和/或類型的結(jié)構(gòu)信息;-確定可用于緩存所獲得的信息的緩存空間的數(shù)量;-確定掃描類型值,其中組合利用所獲得的和所確定的信息;-根據(jù)所確定的掃描類型值,選擇用于掃描存儲介質(zhì)的多種掃描方法之一,其中至少第一掃描方法包括只掃描存儲介質(zhì)的一部分;以及-根據(jù)所選擇的掃描方法,掃描存儲介質(zhì),其中獲得結(jié)構(gòu)信息,并且在選擇第一掃描方法時,在獲得針對定義的最大數(shù)據(jù)項數(shù)目的結(jié)構(gòu)信息時,自動停止掃描。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于還包括以下步驟緩存所獲得的數(shù)據(jù),其中在緩存之前,對所獲得的數(shù)據(jù)進(jìn)行壓縮,以及在從緩存器獲得之后,對其進(jìn)行解壓縮。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于所定義的、要從所述介質(zhì)獲得的最大數(shù)據(jù)項數(shù)目由用戶界面上同時可顯示菜單項的最大數(shù)目確定,所述方法還包括以下步驟利用所獲得的結(jié)構(gòu)數(shù)據(jù)的至少一部分作為菜單項數(shù)據(jù),在所述用戶界面上顯示菜單部分。
4.根據(jù)權(quán)利要求2或3所述的方法,其特征在于在另一應(yīng)用程序的后臺中繼續(xù)針對結(jié)構(gòu)數(shù)據(jù)、對存儲介質(zhì)的掃描,其中獲得與能夠被立即緩存的一樣多的菜單項數(shù)據(jù)。
5.根據(jù)前述權(quán)利要求之一所述的方法,其特征在于所述結(jié)構(gòu)信息包括以下信息中的一個或多個總介質(zhì)容量、已用和/或未用介質(zhì)容量、至少在當(dāng)前層次等級上的文件和/或目錄數(shù)、至少部分所述文件的數(shù)據(jù)類型、與所述文件相關(guān)聯(lián)的軌道信息。
6.根據(jù)前述權(quán)利要求之一所述的方法,其特征在于將所獲得的和所確定的數(shù)值轉(zhuǎn)換為模糊參數(shù),并且對于組合所獲得的和所確定的數(shù)值,使用預(yù)先確定的規(guī)則,根據(jù)模糊邏輯過程,來確定掃描類型值。
7.根據(jù)前述權(quán)利要求之一所述的方法,其特征在于將用于緩存所獲得的數(shù)據(jù)部分的緩存器分為緩存器分區(qū)或子緩存器,以及所述第一掃描方法還包括以下步驟-從應(yīng)用程序接收對更多結(jié)構(gòu)信息的請求;-根據(jù)所述請求,從存儲介質(zhì)中獲得另外的結(jié)構(gòu)數(shù)據(jù),其中結(jié)構(gòu)信息的數(shù)量是能夠緩存在所述子緩存器之一中的數(shù)據(jù)量;-以另外的結(jié)構(gòu)數(shù)據(jù)覆寫所定義的子緩存器中的緩存數(shù)據(jù),而保持其他子緩存器不變;以及-更新使用緩存數(shù)據(jù)的應(yīng)用程序。
8.根據(jù)權(quán)利要求1到6之一所述的方法,其特征在于在自動停止掃描之后,執(zhí)行以下步驟-根據(jù)當(dāng)前所使用的結(jié)構(gòu)信息,檢測接下來可能會使用的結(jié)構(gòu)信息;-從存儲介質(zhì)中獲得所檢測出的、接下來可能會使用的結(jié)構(gòu)信息;-緩存所獲得的信息;以及-根據(jù)下一請求,從所述緩存信息中選擇結(jié)構(gòu)信息。
9.根據(jù)前述權(quán)利要求之一所述的方法,其特征在于針對一個或多個特定的數(shù)據(jù)類型,可以選擇同時回放模式,并且在選擇同時回放模式時,對于任意特定數(shù)據(jù)類型的結(jié)構(gòu)數(shù)據(jù)或軌道信息獲取優(yōu)先于其他數(shù)據(jù)類型的規(guī)定信息獲取。
10.一種掃描存儲介質(zhì)的內(nèi)容的設(shè)備,使用根據(jù)權(quán)利要求1到9之一所述的方法。
全文摘要
回放設(shè)備經(jīng)常顯示包含在諸如CD-ROM或閃存介質(zhì)之類的數(shù)據(jù)載體上的文件的菜單列表。為了獲得此信息,設(shè)備通常掃描整個介質(zhì)。一種掃描存儲介質(zhì)的內(nèi)容的改進(jìn)方法包括以下步驟至少確定介質(zhì)的類型和介質(zhì)上的文件系統(tǒng)的類型;從所述存儲介質(zhì)中獲得表示存儲在介質(zhì)上的數(shù)據(jù)項的結(jié)構(gòu)和/或類型的結(jié)構(gòu)信息;確定可用于緩存所獲得的信息的緩存器空間的數(shù)量;使用預(yù)定的規(guī)則,組合所獲得和所確定的數(shù)值,以確定掃描類型值;根據(jù)所確定的掃描類型值,選擇用于掃描存儲介質(zhì)的多種掃描方法之一,其中至少第一掃描方法包括只掃描存儲介質(zhì)的一部分;以及根據(jù)所選的掃描方法,掃描存儲介質(zhì)。
文檔編號G11B27/10GK1811959SQ200610005810
公開日2006年8月2日 申請日期2006年1月10日 優(yōu)先權(quán)日2005年1月10日
發(fā)明者陳明融, 李關(guān)翠, 陳淑美, 歐陽文榮, 王為嘉, 劉國勝 申請人:湯姆森許可貿(mào)易公司