TWI403975B - 具有即時編碼轉換功能的儲存裝置及資料轉換與儲存方法 - Google Patents
具有即時編碼轉換功能的儲存裝置及資料轉換與儲存方法 Download PDFInfo
- Publication number
- TWI403975B TWI403975B TW97145598A TW97145598A TWI403975B TW I403975 B TWI403975 B TW I403975B TW 97145598 A TW97145598 A TW 97145598A TW 97145598 A TW97145598 A TW 97145598A TW I403975 B TWI403975 B TW I403975B
- Authority
- TW
- Taiwan
- Prior art keywords
- file
- image
- image file
- storage device
- size
- Prior art date
Links
Landscapes
- Television Signal Processing For Recording (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本發明有關編碼轉換器(transcoder)技術,尤有關於一種支援通用串列匯流排(universal serial bus,USB)介面之具有即時編碼轉換功能的儲存裝置及資料轉換與儲存方法。
目前儲存裝置通常利用以下二種方法來下載並顯示Jpeg檔案。第一種方法是從主機(host)端下載全部檔案至裝置端以供顯示;第二種方法則是在主機端利用一應用程式先將Jpeg檔案轉成裝置端支援的顯示格式,再下載至裝置端以供顯示。
然而,此二種方法皆有各自的缺點。在第一種方法中,該儲存裝置需具備大量的儲存空間。至於第二種方法,除了使用者必須在主機端安裝一額外的應用程式之外,經由該應用程式轉換後的檔案之解析度可能會等於或小於裝置端之顯示器的尺寸。為解決上述問題,因此提出本發明。
有鑒於上述問題,本發明之目的是提供一種資料轉換與儲存方法,無需在主機端安裝額外的應用程式,藉由偵測出一個經由USB介面傳入一儲存裝置的影像檔,以即時編碼轉換成裝置端支援的顯示格式,且編碼轉換後的影像檔只占用少量的儲存空間。
為達成上述目的,本發明資料轉換與儲存方法,係應用於一個支援大容量儲存裝置等級(mass storage device class,MSDC)標準之儲存裝置,該方法包含以下步驟:判斷所輸入的檔案是否為一影像檔,若是則跳到下一步驟,若不是則重複該步驟;轉換影像尺寸,係將所輸入之影像檔的大小轉換為一預設影像尺寸並儲存至該儲存裝置,其中所輸入之影像檔的原始影像解析度大於前述預設影像尺寸;以及,更新該影像檔相對應之目錄項目、FAT區及資料區。
本發明另一個目的為提供一種具有即時編碼轉換功能的儲存裝置,係支援大容量儲存裝置等級(mass storage device class,MSDC)標準,該裝置包含:一緩衝器,用以暫存資料;一非揮發性記憶體,耦接該緩衝器,係支援FAT檔案系統,用以儲存程式與檔案資料;一編碼轉換器,耦接該緩衝器及該非揮發性記憶體,用以將一影像檔的大小轉換為一預設影像尺寸並儲存至前述非揮發性記憶體;以及,一處理電路,耦接該緩衝器、該編碼轉換器及該非揮發性記憶體,並在一輸入檔案為該影像檔且該影像檔的原始影像解析度大於前述預設影像尺寸時,致能前述編碼轉換器。
茲配合下列圖示、實施例之詳細說明及申請專利範圍,將上述及本發明之其他目的與優點詳述於後。
本發明係以Jpeg檔案作為範例說明,但是本發明之應
用並不以此為限,現存或將來發展出來之其他影像檔案格式亦可適用於本發明之概念。
第1A圖與第1B圖係顯示傳送二種不同格式的檔案時,主機與儲存裝置之間的運作示意圖。無需在主機端100安裝額外的應用程式,本發明資料轉換與儲存方法係應用於一個支援大容量儲存裝置等級(mass storage device class,MSDC)標準之儲存裝置200,藉由偵測一個經由USB介面傳入的檔案格式,若偵測到是Jpeg影像檔(如第1A圖),則即時利用編碼轉換器260進行編碼轉換處理,編碼轉換後的檔案變小,故只需少量的儲存空間;反之,若偵測到的檔案為非影像檔(如第1B圖),則直接將輸入檔案儲存於快閃記憶體210而不進行編碼轉換處理(故圖中的編碼轉換器260以虛線顯示)。
第2圖顯示本發明具有即時編碼轉換功能的儲存裝置之一實施例的架構方塊圖。本發明具有即時編碼轉換功能的儲存裝置200係支援大容量儲存裝置等級(mass storage device class,MSDC)標準,且經由一通用串列匯流排(universal serial bus,USB)介面連接至主機100,儲存裝置200包含一快閃記憶體(flash memory)210、一微處理器(MCU)220、一編碼轉換器(transcoder)260以及一緩衝器(buffer)240。
緩衝器240用以暫存輸入叢集(sector)、處理中資料及轉換中資料。快閃記憶體210,耦接緩衝器240,係支援FAT檔案系統,用以儲存程式與檔案相關資料。編碼轉換器260係接受MCU 220的控制,根據JPEG壓縮技術及一
特定輸出影像尺寸,對輸入之影像檔進行編碼轉換以符合該特定輸出影像尺寸,該輸入之影像檔的大小會從L1縮減為L2(L1>L2)。其中,編碼轉換器260又包含一JPEG解碼單元262、一JPEG編碼單元266及一縮放單元(scaler)264。上述JPEG解碼單元262、JPEG編碼單元266及縮放單元264均可以硬體或韌體方式來實施,而無論硬體或韌體之實施皆是本技術領域者所習知,故在此不予贅述。
MCU 220連接至快閃記憶體210、編碼轉換器260以及緩衝器240,並根據主機100輸入緩衝器240的叢集資料或/及快閃記憶體210的資料,以決定是否利用控制訊號CS1來存取快閃記憶體210的資料、或利用控制訊號CS2、CS3、CS4來控制JPEG解碼單元262、縮放單元264及JPEG編碼單元266以進行編碼轉換處理。
第3圖顯示一習知FAT檔案系統結構圖。本實施例的快閃記憶體210係使用檔案配置表(file allocation table,FAT)作為檔案系統(以FAT 12為例),被劃分為以下五個部分:啟動區(MBR/PBR)310、FAT1 320、FAT2 330、根目錄區(root directory region)340、資料區(data region)350。啟動區310用以存放儲存裝置200的啟動程式及基本啟動資料。FAT檔案系統將快閃記憶體210上一個或數個連續叢集(sector)集合成一個磁叢(cluster),而檔案系統最小的儲存單位就是磁叢,每個檔案都是由數個磁叢串聯在一起。FAT檔案系統會同時使用FAT1 320、FAT2 330來管理所有的磁叢,以便在系統當機時,進行恢復。
在FAT檔案系統中,檔案的所有資訊都保存在目錄(包含根目錄及次目錄)中,使用者可以透過檔案名稱在所有目錄中尋找該檔案的相關資訊。其中,根目錄係位於根目錄區340,而次目錄則存放於資料區350。這種檔案尋找是透過在目錄列表(directory table)中,對目錄項目(directory entry)進行線性搜尋完成的。在FAT檔案系統中,每一個檔案或是目錄皆以目錄項目來表示,每一個目錄項目共包含32個位元組,記錄了檔案名稱、副檔名、屬性、修改時間、起始磁叢號碼(first cluster in FAT 12)、檔案大小等等資訊,至於實際的檔案資料則存放於資料區350。
第4A圖及第4B圖顯示本發明資料轉換與儲存方法之一實施例。以下請同時參考第1圖至第4B圖,詳細說明本發明資料轉換與儲存方法之所有步驟。
假設本發明具有即時編碼轉換功能的儲存裝置200係透過一USB介面已連接至主機100,並完成了匯流排列舉(enumeration)等初始化動作。同時,主機100已讀取儲存裝置200的FAT檔案系統。
步驟S412:接收主機100透過USB介面傳入的一個叢集,暫存於緩衝器240。一個叢集的大小為512個位元組。
步驟S414:檢查快閃記憶體210內的啟動區(MBR/PBR)310是否存在。若存在,跳到步驟S416;否則,跳到步驟S422。
步驟S416:取得快閃記憶體210內FAT1 320、FAT2 330、根目錄區340、資料區350的起始位址(start address)。
儲存裝置200之系統韌體在取得啟動區(MBR/PBR)310內的必要參數後,即能分別計算出FAT1 320、FAT2 330、根目錄區340、資料區350的起始位址。
步驟S418:判斷該叢集內有無包含任何目錄項目。換言之,判斷是否要存取快閃記憶體210內的檔案。若有,跳到步驟S420;否則,跳到步驟S422。
步驟S420:判斷任何新目錄項目的副檔名是否等於.jpg。和快閃記憶體210之根目錄區340及資料區350內現存的舊目錄項目(即舊檔案)作比較,判斷是否有新目錄項目(即新檔案)要存入,同時該新目錄項目的副檔名是否等於.jpg。若有新目錄項目要存入且該新目錄項目的副檔名等於.jpg(假設新檔案的檔名為ex01.jpg),跳到步驟S424;否則,跳到步驟S422。
步驟S422:儲存該叢集。儲存完畢後,再回到步驟S412。
步驟S424:根據新目錄項目,取得新檔案ex01.jpg之檔案大小及起始磁叢號碼。
步驟S426:根據新目錄項目之檔案大小及起始磁叢號碼,判斷新檔案ex01.jpg於FAT1 320與FAT2 330之磁叢鏈是否已更新完畢。若是,跳到步驟S430;否則,跳到步驟S428。
步驟S428:儲存目前之叢集,並等待下一個叢集。
步驟S430:根據新檔案ex01.jpg於FAT1之磁叢鏈,判斷新檔案ex01.jpg於資料區350的資料是否已更新完畢。若是,跳到步驟S433;否則,跳到步驟S432。
步驟S432:儲存目前之叢集,並等待下一個叢集。
步驟S433:判斷新檔案ex01.jpg的原始影像解析度是否大於一特定輸出影像尺寸。根據新檔案ex01.jpg下載於資料區350的資料,檢查JPEG標頭(header)中的解析度欄位以判斷新檔案ex01.jpg的原始影像解析度是否大於一特定輸出影像尺寸。若是,跳到步驟S434;否則,跳到步驟S422。
步驟S434:進行編碼轉換。當新檔案ex01.jpg的原始資料已下載至資料區350(假設檔案大小為L1)時,MCU 220致能控制訊號CS2來啟動JPEG解碼單元262對新檔案ex01.jpg進行解碼處理,以產生一解碼資料並暫存於緩衝器240;接著,MCU 220致能控制訊號CS3來啟動縮放單元264,縮放單元264根據一特定輸出影像尺寸及JPEG壓縮技術將該解碼資料壓縮,產生一壓縮資料以暫存於緩衝器240;最後,MCU 220致能控制訊號CS4來啟動JPEG編碼單元266對該壓縮資料進行編碼處理,來產生一轉換後資料(假設檔案大小為L2,L1>L2)以暫存於緩衝器240。因此,新檔案ex01.jpg的原始資料經過編碼轉換處理後產生上述轉換後資料,而檔案大小由L1縮減為L2。在一實施例中,本發明具有即時編碼轉換功能的儲存裝置200另設有一輸出顯示器,縮放單元264係根據該輸出顯示器的尺寸及JPEG壓縮技術將該解碼資料壓縮,以產生該壓縮資料以暫存於緩衝器240,最後,再經過JPEG編碼單元266所產生之轉換後資料之解析度就能完全符合上述輸出顯示器的尺寸。
步驟S436:更新資料區350的資料。根據新檔案ex01.jpg相對應的目錄項目之起始磁叢號碼及FAT1之相對應磁叢鏈,將暫存於緩衝器240之轉換後資料回存資料區350。
步驟S438:更新目錄項目、FAT1 320與FAT2 330。根據新檔案ex01.jpg的轉換後資料之檔案長度L2,更新相對應目錄項目中之檔案大小欄位及FAT1 320與FAT2 330之磁叢鏈,此時,因為新檔案ex01.jpg的轉換後之檔案長度變短,故FAT1 320與FAT2 330之磁叢鏈隨之變短,而多餘的磁叢則補0。
步驟S440:當主機100下一次傳入一個裝置狀態(test unit ready)命令時,即回傳一個裝置變更(media change)訊息。主機100接收到上述裝置變更訊息時,會重新讀取儲存裝置200之FAT檔案系統,讀取完畢後,主機100會發現檔案ex01.jpg的檔案變小(L2),同時,也會發現儲存裝置200之剩餘儲存空間變大。主機100可以根據目前儲存裝置200之剩餘儲存空間決定是否繼續儲存下一個檔案至儲存裝置200。當然,主機100也能將編碼轉換後的檔案ex01.jpg(檔案大小L2)讀回。需注意的是,若主機100再一次將ex01.jpg(檔案大小L2)存到儲存裝置200,則儲存裝置200就不再進行編碼轉換。或者,主機100將另一影像檔(假設為ex02.jpg)下載至儲存裝置200時,若該影像檔之原始影像解析度原本就低於或等於該特定輸出影像尺寸(如步驟S433),則儲存裝置200也不會進行編碼轉換,而是直接儲存檔案資料。
從上述說明可以觀察到,因為本發明整個使用過程和使用者拷貝檔案或傳送檔案至一般儲存裝置(例如大拇哥)的過程無異,使用者感覺不到即時編碼轉換處理的時間差(lag)。相對地,使用者不僅會感受到無需在主機端安裝額外應用程式及儲存裝置200支援MSDC標準之方便性,更甚者,因為即時編碼轉換處理的關係,使用者會感受到無形中儲存裝置200的儲存空間好像變大了。
在較佳實施例之詳細說明中所提出之具體實施例僅用以方便說明本發明之技術內容,而非將本發明狹義地限制於上述實施例,在不超出本發明之精神及以下申請專利範圍之情況,所做之種種變化實施,皆屬於本發明之範圍。
100‧‧‧主機
200‧‧‧儲存裝置
210‧‧‧快閃記憶體
220‧‧‧微處理器
240‧‧‧緩衝器
260‧‧‧編碼轉換器
262‧‧‧JPEG解碼單元
264‧‧‧縮放單元
266‧‧‧JPEG編碼單元
310‧‧‧啟動區
320‧‧‧FAT1
330‧‧‧FAT2
340‧‧‧根目錄區
350‧‧‧資料區
第1A圖與第1B圖係顯示傳送二種不同格式的檔案時,主機與儲存裝置之間的運作示意圖。
第2圖顯示本發明具有即時編碼轉換功能的儲存裝置之一實施例的架構方塊圖。
第3圖顯示一習知FAT檔案系統結構圖。
第4A圖及第4B圖顯示本發明資料轉換與儲存方法之一實施例。
200‧‧‧儲存裝置
210‧‧‧快閃記憶體
220‧‧‧微處理器
240‧‧‧緩衝器
260‧‧‧編碼轉換器
262‧‧‧JPEG解碼單元
264‧‧‧縮放單元
266‧‧‧JPEG編碼單元
Claims (13)
- 一種資料轉換與儲存方法,係應用於一個支援大容量儲存裝置等級(mass storage device class,MSDC)標準之儲存裝置,該資料轉換與儲存方法包含以下步驟:判斷所輸入的檔案是否為一影像檔,若是則跳到下一步驟,若不是則重複該步驟;轉換影像尺寸,係將所輸入之影像檔的大小轉換為一預設影像尺寸並儲存至該儲存裝置,其中所輸入之影像檔的原始影像解析度大於前述預設影像尺寸;以及更新該影像檔相對應之目錄項目、FAT區及資料區;其中該判斷步驟中係根據該輸入檔案相對應之目錄項目之副檔名欄位來判斷該輸入檔案是否為該影像檔。
- 如申請專利範圍第1項所記載之方法,其中該更新步驟中係將轉換為該預設影像尺寸的影像檔儲存至該影像檔相對應之資料區。
- 如申請專利範圍第1項所記載之方法,其中該更新步驟中係根據該預設影像尺寸更新該影像檔相對應之目錄項目之檔案大小欄位及相對應FAT區之磁叢鏈。
- 如申請專利範圍第1項所記載之方法,其中該轉換步驟中係根據該影像檔之一特定標頭的解析度欄位,來決定所輸入之影像檔的原始影像解析度。
- 如申請專利範圍第1項所記載之方法,其中在該更新步驟之後更包含以下步驟:當該儲存裝置接收到一主機傳入之一裝置狀態(test unit ready)命令時,回傳一個裝置變更(media change)訊息,用以使該主 機重新讀取該儲存裝置。
- 一種具有即時編碼轉換功能的儲存裝置,係支援大容量儲存裝置等級(mass storage device class,MSDC)標準,該裝置包含:一緩衝器,用以暫存資料;一非揮發性記憶體,耦接該緩衝器,係支援FAT檔案系統,用以儲存程式與檔案資料;一編碼轉換器,耦接該緩衝器及該非揮發性記憶體,用以將一影像檔的大小轉換為一預設影像尺寸並儲存至前述非揮發性記憶體;以及一處理電路,耦接該緩衝器、該編碼轉換器及該非揮發性記憶體,並在一輸入檔案為該影像檔且該影像檔的原始影像解析度大於前述預設影像尺寸時,致能前述編碼轉換器;其中該處理電路係依據該輸入檔案相對應之目錄項目之副檔名欄位,來確認該輸入檔案是否為該影像檔。
- 如申請專利範圍第6項所記載之裝置,其中該編碼轉換器係利用硬體或韌體方式來實施。
- 如申請專利範圍第6項所記載之裝置,其中該處理電路係將轉換為該預設影像尺寸的影像檔儲存至該影像檔相對應之資料區。
- 如申請專利範圍第6項所記載之裝置,其中該處理電路係根據該預設影像尺寸更新該影像檔相對應之目錄項目之檔案大小欄位及相對應FAT區之磁叢鏈。
- 如申請專利範圍第6項所記載之裝置,其中當該處理電路接收到一主機傳入之一裝置狀態(test unit ready)命令時,回傳一個裝置變更(media change)訊息,用以使該主機重新讀取該儲存 裝置。
- 如申請專利範圍第6項所記載之裝置,其中當該輸入檔案不屬於該影像檔時,該處理電路禁能前述編碼轉換器並直接將該輸入檔案儲存至該非揮發性記憶體。
- 如申請專利範圍第6項所記載之裝置,其中當該影像檔的原始影像解析度小於或等於前述預設影像尺寸時,該處理電路禁能前述編碼轉換器並直接將該影像檔的資料儲存至該非揮發性記憶體。
- 如申請專利範圍第6項所記載之裝置,其中該處理電路係根據該影像檔之一特定標頭的解析度欄位,來決定所輸入之影像檔的原始影像解析度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW97145598A TWI403975B (zh) | 2008-11-26 | 2008-11-26 | 具有即時編碼轉換功能的儲存裝置及資料轉換與儲存方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW97145598A TWI403975B (zh) | 2008-11-26 | 2008-11-26 | 具有即時編碼轉換功能的儲存裝置及資料轉換與儲存方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201020966A TW201020966A (en) | 2010-06-01 |
TWI403975B true TWI403975B (zh) | 2013-08-01 |
Family
ID=44832477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW97145598A TWI403975B (zh) | 2008-11-26 | 2008-11-26 | 具有即時編碼轉換功能的儲存裝置及資料轉換與儲存方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI403975B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI451533B (zh) * | 2011-12-29 | 2014-09-01 | Winbond Electronics Corp | 嵌入式快閃記憶體的製造方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050149640A1 (en) * | 2003-08-27 | 2005-07-07 | Shuichi Hosokawa | Electronic device and method of controlling interface thereof |
US7302578B2 (en) * | 2003-03-19 | 2007-11-27 | Ricoh Company, Ltd. | Information processing apparatus, image forming apparatus, program-initiation error processing method, and recording medium |
US20080165895A1 (en) * | 2007-01-04 | 2008-07-10 | Nero Ag | Apparatus for Supplying an Encoded Data Signal and Method for Encoding a Data Signal |
TWM342706U (en) * | 2008-03-28 | 2008-10-11 | Mao-Ying Wei | Universal multimedia player |
-
2008
- 2008-11-26 TW TW97145598A patent/TWI403975B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7302578B2 (en) * | 2003-03-19 | 2007-11-27 | Ricoh Company, Ltd. | Information processing apparatus, image forming apparatus, program-initiation error processing method, and recording medium |
US20050149640A1 (en) * | 2003-08-27 | 2005-07-07 | Shuichi Hosokawa | Electronic device and method of controlling interface thereof |
US20080165895A1 (en) * | 2007-01-04 | 2008-07-10 | Nero Ag | Apparatus for Supplying an Encoded Data Signal and Method for Encoding a Data Signal |
TWM342706U (en) * | 2008-03-28 | 2008-10-11 | Mao-Ying Wei | Universal multimedia player |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI451533B (zh) * | 2011-12-29 | 2014-09-01 | Winbond Electronics Corp | 嵌入式快閃記憶體的製造方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201020966A (en) | 2010-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102319657B1 (ko) | 저장된 데이터 유닛들의 동작 관리 | |
KR101824612B1 (ko) | 플래시 메모리 압축 | |
JP4777426B2 (ja) | Non−execute−in−placeフラッシュメモリ内の持続性ファイルにアクセスするための装置、システムおよび方法 | |
KR102275431B1 (ko) | 저장된 데이터 유닛들의 동작 관리 | |
CN104160397A (zh) | 位置独立文件 | |
JP4124910B2 (ja) | 画像データの復号化方法及びその装置 | |
JP4944033B2 (ja) | 情報処理システム、情報処理方法、実行バイナリイメージ作成装置、実行バイナリイメージ作成方法、実行バイナリイメージ作成プログラム、実行バイナリイメージ作成プログラムを記録したコンピュータ読み取り可能な記録媒体、実行バイナリイメージ実行装置、実行バイナリイメージ実行方法、実行バイナリイメージ実行プログラム及び実行バイナリイメージ実行プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
KR102275240B1 (ko) | 저장된 데이터 유닛들의 동작 관리 | |
EP3523734B1 (en) | Techniques for generating snapshots of datasets | |
JPWO2007026484A6 (ja) | 実行バイナリイメージの作成及び実行を行う装置、方法、プログラム、該プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP2005322209A (ja) | シリコン記憶媒体制御方法およびシリコン記憶媒体 | |
TWI403975B (zh) | 具有即時編碼轉換功能的儲存裝置及資料轉換與儲存方法 | |
CN101799785B (zh) | 信息处理设备、信息处理方法和程序 | |
US8429331B2 (en) | Storage optimizations by directory compaction in a fat file system | |
CN109918346A (zh) | 一种文件的创建方法及装置 | |
KR101017433B1 (ko) | 압축 프로그램을 이용한 웹 지도 서비스 방법 | |
JP2006079492A (ja) | 差分データ生成装置、差分データ生成方法および差分データ生成プログラム | |
CN1702732B (zh) | 使用文本压缩的用户界面 | |
CN117194349A (zh) | 一种文件存储与读取方法及装置 | |
JP2007219724A (ja) | メモリダンプファイルシステム、メモリダンプファイル方法及びコンピュータプログラム | |
JP2008041112A (ja) | 差分データ生成装置、差分データ生成装置の差分データ生成方法および差分データ生成プログラム | |
JP2019061654A (ja) | 情報処理装置及び方法 | |
JP2006215709A (ja) | データ再格納装置及び再格納方法 | |
JP2001267930A (ja) | 符号伸長装置およびその方法 | |
JP2005124072A (ja) | 画像処理装置および画像処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム |