TWI399656B - Audio and video data processing methods - Google Patents
Audio and video data processing methods Download PDFInfo
- Publication number
- TWI399656B TWI399656B TW98125120A TW98125120A TWI399656B TW I399656 B TWI399656 B TW I399656B TW 98125120 A TW98125120 A TW 98125120A TW 98125120 A TW98125120 A TW 98125120A TW I399656 B TWI399656 B TW I399656B
- Authority
- TW
- Taiwan
- Prior art keywords
- index
- data segment
- file
- video
- audio
- Prior art date
Links
Landscapes
- Television Signal Processing For Recording (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Description
本發明係有關於一種影音資料的處理方法,特別是一種對於影音資料及影音檔案進行寫入、即時播放與修復的方法。
科技發展至今,影音多媒體無論是在娛樂上或是在實用上都非常的普及。舉凡電影、廣告、環境安全監視系統或是醫學手術攝影系統,無一不使用到視訊(video)或音訊(audio)的資料。而影音多媒體亦發展出各式各樣的檔案格式,其中最為常見的一種封裝格式即為索引基準(index-based file format)之檔案格式。索引基準的影音檔案封裝格式大多具有一檔頭(header)、主體(body)與索引(index)三個部分。其中檔頭的部分紀錄檔案的基本資訊,主體的部分紀錄真正影音資料的內容,而索引的部分紀錄影音資料內容在主體內被存放的位置。
索引基準的檔案格式有例如由微軟所開發的音訊視訊交錯(Audio Video Interleave,AVI)格式以及主要應用於可攜式電子裝置上的3GP(Third Generation Presence)格式。而索引基準的封裝格式能與動態視訊專家小組(Moving Picture Experts Group,MPEG)、動態聯合圖像專家小組(Motion Joint Photographic Experts Group,MJPG)或是高階音訊編碼(Advanced Audio Coding,AAC)等各種影音資料的規格相容,故在影音多媒體的領域中非常普及。然而在寫入資料以形成檔案時,索引是最後寫入的,也就是說,須等檔頭及主體全部寫入影音檔案後,索引才會被寫入。但是索引基準的檔案在播放時,必須藉由索引的內容才能讀取主體中的影音資訊。故索引基準的檔案在被完全寫入且封裝為一完全的檔案之前,並無法被播放。受到此種結構上的限制,索引基準格式的檔案存在有無法在檔案寫入完成前播放的問題。換言之,具有無法同時錄製與播放以及即錄即播的問題。
除此之外,索引基準的影音檔案在檔案形成的過程中受到無預期的中斷損毀,整個影音檔案會無法使用。若位於檔案尾端的影音資
料及索引尚未被寫入或是寫入不完全,將造成檔案無法播放。而此類不完整的檔案無法被修復,使得之前擷取的影音資料悉數付諸東流。
鑑於上述問題,本發明提供一種處理影音資料的方法,能在影音檔案尚未被完全寫入的狀態下進行播放,並能修復寫入不完全的影音檔案。
本發明提供一種處理影音資料的方法,適用於一影音裝置與一儲存裝置,並處理索引基準之一影音檔案。處理影音資料的方法包括一寫入程序。寫入程序藉由影音裝置擷取一影音資料,而影音資料包含連續的複數個樣本。寫入程序依據影音資料,寫入一檔頭於影音檔案,而影音檔案係被儲存於儲存裝置;接著擷取一預定數量之樣本為一資料段,並依據資料段,於影音檔案前次被寫入位置的末端依序寫入一前置索引及資料段。寫入程序重覆依序寫入前置索引及資料段之步驟,直到影音資料全數被寫入儲存裝置。最後,依據影音資料或前置索引,於影音檔案前次被寫入位置的末端寫入一檔案索引。
其中前置索引可包括:與資料段相對應的一前置起始位置、一前置樣本尺寸、一前置樣本數量以及一前置樣本時間戳記。且前置索引的資料對應於檔案索引可具有的一資料段起始位置、一樣本尺寸、一樣本數量以及一樣本時間戳記。而影音檔案的第一個前置索引另可包括一編碼解碼器資訊。前置索引另可包括一智慧型錄影資訊,用以儲存智慧型錄影(Intelligent video)所需之資訊。且前置索引亦可包括一資訊驗證碼,用以確保資料的正確性。
處理影音資料的方法另可包括一播放程序,用以提供一播放裝置播放索引基準之影音檔案。播放程序包括:讀取檔頭;讀取前置索引;根據前置索引,讀取並藉由影音裝置播放與前置索引相對應的資料段中的樣本;以及重覆依
序讀取前置索引及播放與前置索引對應的樣本之步驟,直到所有前置索引與對應的樣本均被讀取播放。
此外,處理影音資料的方法另可包括一修復程序,用以修復一寫入不完整之索引基準的影音檔案。修復程序包括:依據最後的前置索引,檢查最後的前置索引所對應之資料段是否完整;若檢索結果為不完整,則修復最後之資料段;以及依據所有的前置索引,於最後的資料段末端寫入檔案索引。
根據本發明所提供之寫入程序、播放程序以及修復程序可單獨執行,亦可複數個程序結合後執行。例如寫入程序與播放程序能同時進行,以提供即錄即播的功能。又例如在檔案寫入後,播放影音檔案前先執行修復程序以確保檔案的完整性。
綜上所述,根據本發明藉由在索引基準之影音檔案的主體間插入與各資料段相對應的前置索引,使得播放裝置不須讀取位於檔案最尾端之檔案索引,而能由前置索引得知資料段與樣本的位置等資訊並播放檔案。此外,有所損毀的影音檔案亦可藉由前置索引來重新寫入檔案索引而修復檔案。
20‧‧‧影音檔案
22‧‧‧檔頭
24‧‧‧前置索引
26‧‧‧資料段
27‧‧‧樣本
28‧‧‧檔案索引
30‧‧‧影音裝置
32‧‧‧影音來源
34‧‧‧處理器
35‧‧‧第二處理器
36‧‧‧儲存裝置
37‧‧‧第二儲存裝置
第1A圖,係為根據本發明之一實施例之裝置結構示意圖。
第1B圖,係為根據本發明之另一實施例之裝置結構示意圖。
第2圖,係為根據本發明之寫入程序之流程示意圖。
第3圖,係為根據本發明之影像檔案之結構示意圖。
第4圖,係為根據本發明之播放程序之流程示意圖。
第5圖,係為根據本發明之一實施例之即錄即播裝置結構
示意圖。
第6A圖,係為根據本發明之一實施例之修復程序之流程示意圖。
第6B圖,係為根據本發明之另一實施例之修復程序之流程示意圖。
以下在實施方式中詳細敘述本發明之詳細特徵以及優點,其內容足以使任何熟習相關技藝者了解本發明之技術內容並據以實施,且根據本說明書所揭露之內容、申請專利範圍及圖式,任何熟習相關技藝者可輕易地理解本發明相關之目的及優點。以下之實施例係進一步詳細說明本發明之觀點,但非以任何觀點限制本發明之範疇。
請參照「第1A圖」與「第1B圖」,其分別為根據本發明之一實施例之裝置結構示意圖與另一實施例之裝置結構示意圖。本發明所提供之處理影音資料的方法適用於一影音裝置30與一儲存裝置36,並處理索引基準之一影音檔案。由「第1A圖」可知,影音裝置30可包括一影音來源32、一處理器34以及儲存裝置36。影音來源32係為能提供一影音資料來源之裝置,例如錄影機、光碟機、連接到網路的電腦或是具有影音檔案的電腦。處理器34係執行本發明所提供之方法,例如是電腦的中央處理器,或是影音裝置30所具有的微處理器。儲存裝置36則為具有能供影音檔案寫入空間的裝置或媒介,例如記憶體、硬碟或是光碟片。舉例來說,影音裝置30可以是一伺服器,其具備一攝影機作為影音來源32。
由「第1B圖」所繪示之另一實施例的裝置結構可知,本發明所示用之影音裝置30本身可以不具有內建的處理器34和儲存裝置36,而是以外接的方式與其連結。舉例來說,影音裝置30可以是一攝影機,而此攝影機連結到一電腦主機,且電腦主機內具有中央處理器與記憶體以分別作為處理器34與儲存裝置36。由此可知,本發明所提供的處理影音檔案的方法可以由置於影音裝置30的處理器34執行,亦可以由外接的資料處理單元執行。
根據本發明之處理影音資料的方法包含一寫入程序,且另可包含一播放程序或/以及一修復程序。請參照「第2圖」與「第3圖」,其分別為根據本發明之寫入程序之流程示意圖與影像檔案之結構示意圖。由「第2圖」可以知悉,寫入程序包括步驟S110:藉由影音裝置30擷取影音資料;步驟S120:依據影音資料,寫入一檔頭22於影音檔案20;步驟S130:擷取預定數量之樣本(sample)27為一資料段(chunk)26,並依據資料段26,依序寫入前置索引24及資料段26;步驟:S140:判斷影音資料是否全數被寫入;以及步驟S150:依據影音資料或前置索引24,寫入檔案索引28。
於步驟S110,藉由影音裝置30如錄影機擷取影音資料。影音資料通常係為一資料流(bit stream),而影音資料包含連續的複數樣本27。樣本27係為數位化的影音資料的內容,實際的內容與格式依應用的影音檔案20之格式而有所不同。舉例而言,MPEG檔案中的每一個圖框(frame)即為一個樣本27。根據本發明之寫入程序,若影音裝置30為一錄影機,則寫入程序即為一即時寫入程序。
其次,依據影音資料以及影音裝置30擷取影音資料時的設定,於步驟S120寫入檔頭22於影音檔案20,而影音檔案20係被儲存於儲存裝置36。檔頭22的內容可包括影音資料的播放速度(frame rate)或是影像的長度與寬度等基本的資料,詳細的內容依檔案格式(如AVI或是3GP)有所不同。
接著於步驟S130,藉由影音裝置30擷取預定數量的樣本27,並將這些樣本27作為一個資料段26。預定數量的決定方法可以例如是一固定值,或是能使每一資料段26具有相同大小之資料量的變動數量。根據本發明對每一資料段26內的樣本27的數量並無限制,可依各檔案格式而定。
寫入程序擷取樣本27為資料段26之後,並於影音檔案20前次被寫入位置的末端依序把對應於此資料段26的前置索引24,以及資料段26本身寫入影音檔案20。更詳細的說,如「第3圖」所示,在步驟S120檔頭22被寫入於0x0至0x100的位置之後,第一個被寫入的前置索引24即被紀錄在0x100至0x200的位置而緊鄰著檔頭22。對應的資料段26則被紀錄在緊接著前置索引24之0x200至0x1224的位置。所述之「影音檔案20前次被寫入位置的末端」係由一整個影音檔案20的觀點來看,例如在寫入
檔頭22後影音檔案20前次被寫入位置的末端即為檔頭22的最尾端0x100。但實際上影音檔案20的資料可能會被置於儲存裝置36(如記憶體或光碟片)中不同的區塊,而非彼此緊鄰,此種情形仍屬於本發明之範疇。
前置索引24可包括與擷取的資料段26相對應的一前置起始位置(offset)、一前置樣本尺寸、一前置樣本數量以及一前置樣本時間戳記(timestamp)。前置起始位置係紀錄對應的資料段26的起始點在影音檔案20中的位置,例如「第3圖」中第一個前置索引24中會記錄第一個資料段26起始於0x200。前置樣本尺寸則依序紀錄此資料段26中所包含的樣本27大小,而前置樣本數量紀錄此資料段26中所包含之樣本27的數量。藉由前置樣本尺寸與前置樣本數量可以得知此資料段26的大小;再配合上前置起始位置,便可定義出資料段26是整個影音檔案20中的哪一部份。例如計算出的第一個資料段26的大小為1024 bytes,且知第一個資料段26的前置起始位置為0x200,如此一來便可定義出第一個資料段26位於影音檔案20的0x200至0x1224之中。
前置樣本時間戳記係紀錄每一樣本27在影音檔案20播放時之時間軸上的位置,例如可記作「02:16:57」。此外,前置索引24另可包括一編碼解碼器資訊。編碼解碼器資訊用以指定編碼解碼器,並記錄編碼解碼器資訊所需的參數以供播放檔案。
每寫入一組相對應的前置索引24與資料段26後,於步驟S140寫入程序判斷影音資料是否已全被寫入影音檔案20。若影音資料尚未完全被寫入影音檔案20,則繼續重複擷取樣本27並依序寫入前置索引24及資料段26之步驟,直到影音資料全數被寫入影音檔案20。
若影音資料已全被寫入影音檔案20,則寫入程序於步驟S150依據影音資料或前置索引24,把檔案索引28寫入影音檔案20以完成寫入程序。檔案索引28緊鄰於最後一個資料段26,且位於整個影音檔案20的最尾端。檔案索引28可包括一資料段起始位置、一樣本尺寸、一樣本數量以及一樣本時間戳記。資料段起始位置紀錄影音檔案20中所有的資料段26的起始位置。樣本尺寸及樣本數量則個別紀錄每一資料段26中樣本27的尺寸及數量,而樣本時間戳記紀錄所有樣本27在影音檔案20播放時之時間軸上的位置。
此外,檔案索引28亦可包括編碼解碼器資訊,以指定播放時所使用的編碼解碼器與編碼解碼器所需的參數。而當所使用的影音資料格式之圖框(即樣本27)具有複數種類時,圖框的種類名稱等播放時必要的相關資訊亦必須被寫入前置索引24。舉例而言,MPEG檔案的圖框種類可能是I type,P type,或是B type,則每一樣本27所對應的圖框種類需要被紀錄於前置索引24中。
藉由樣本尺寸與樣本數量可以得知每一資料段26的大小,再配合上資料段起始位置,便可定義出每一資料段26是整個影音檔案20中的哪一部份。要注意的是,由於在每個資料段26之前均有寫入相對應的前置索引24,故資料段起始位置並非前一個資料段26的起始位置加上資料段26的大小,而是須再加上前置索引24的大小。舉例來說,當檔頭22的大小為100 bytes(位元組)、第一個前置索引24與第二個前置索引24的大小均為100 bytes、以及第一個資料段26的大小為1024 bytes時,第二個資料段26的資料段起始位置並非0x1124,須再加上第一個前置索引24與第二個前置索引24的大小而成為0x1324。
根據本發明並不限制前置索引24的大小,故前置索引24的大小可為依內容彈性變動的值,亦可為了處理方便設定為一固定值。故寫入程序可依據影音資料與前置索引24的大小寫入檔案索引28,亦可直接統整所有前置索引24的內容以寫入檔案索引28。
根據本發明所提供之寫入程序,其影音資料的來源除了可以是由錄影機或網路等所提供的影音資料流之外,亦可是另一影音檔案被播放時所產生的資料流。例如根據本發明之寫入程序可以被應用於一轉檔軟體,用以將普通的索引基準格式檔案重寫為具有前置索引24的影音檔案20。則經過轉檔後的影音檔案20亦能進行本發明所提供之播放程序及修復程序。
根據本發明之處理影音資料的方法,另可包括一播放程序,用以提供一播放裝置播放影音檔案。其中播放裝置係具有本發明所提供之播放程序,而能讀取前置索引24並依據前置索引24播放影音檔案20。
請參考「第4圖」,其係為根據本發明之播放程序之流程示意圖。由「第4圖」可以見悉,播放程序包括步驟S160:讀取檔頭22;步
驟S170:讀取前置索引24;步驟S180:根據前置索引24,讀取並播放相對應的資料段26中的樣本27;步驟S190:判斷是否所有前置索引24與對應的樣本27均被讀取播放;以及步驟S200:播放結束。
於步驟S160,播放程序首先讀取檔頭22。播放程序將檔頭22內所記載之影音檔案20的基本資料提供給播放裝置,例如影音檔案20的播放速率和畫面大小。讀取檔頭22後,於步驟S170讀取緊接於檔頭22的前置索引24。
藉由讀取的前置索引24,播放程序可以得知編碼解碼器資訊以及與此前置索引24相對應之資料段26的資訊。根據讀取的前置索引24,播放程序於步驟S180讀取並播放與此前置索引24相對應的資料段26的樣本27。例如第一個前置索引24中紀錄相對應的資料段26之前置起始位置為0x200,便可依照前置樣本尺寸所紀錄之第一個樣本27的大小,而由0x200開始讀取此樣本27並將其播放。此外,播放程序讀取前置索引24,但前置索引24的內容並不會形成影像而被播放。
每讀取並播放一組相對應的前置索引24與資料段26後播放程序於步驟S190判斷是否影音檔案20內的所有前置索引24與對應的資料段26的樣本27均已被讀取播放。若影音檔案20內有尚未被讀取且播放的前置索引24與資料段26,則重複讀取後續的前置索引24以及對應的資料段26之步驟。直到影音檔案20內已無未讀取播放的前置索引24與資料段26時,於步驟S200結束播放程序。除了影音檔案20已被播放完畢外,播放程序亦可因使用者的指令而暫停播放或是停止播放。同樣地,播放程序亦可因使用者的指令而重複播放影音檔案20。
對於不具有根據本發明所提供之播放程序的一般播放裝置,亦可藉由完整的影音檔案20之檔案索引28進行播放。由於資料段起始位置在寫入時已根據前置索引24進行調整,故傳統的播放裝置(或是播放程序與播放器)不會讀取到前置索引24,而能以播放普通檔案的方式播放影音檔案20。
由於每一前置索引24具有保存播放相對應的資料段26所需的資訊故播放程序不須讀取影音檔案20最尾端的檔案索引28即可播放已存在的前置索引24與相對應的資料段26。如此一來,即使影音檔案20尚
未寫入完成,播放程序仍然可以播放影音檔案20中已寫入的部分。換言之,在檔頭22與第一組相對應的前置索引24與資料段26被寫入後,一個影音檔案20的寫入程序與播放程序能夠同時進行,亦即具有即錄即播的功能。
請參考「第5圖」,其係為根據本發明之一實施例之即錄即播裝置結構示意圖。由圖所示,為了執行即錄即播的功能,可再包含一第二處理器35。處理器34係用以由影音裝置30擷取影音資料並執行寫入程序,而第二處理器35則用以執行播放程序。處理器34將影音資料寫入作為儲存裝置36之記憶體後,再將寫入中的影音檔案20存入一第二儲存裝置37。第二儲存裝置37係為可保存大量檔案資料的裝置,例如硬碟或記憶卡。則處理器34在執行寫入程序的同時,第二處理器35亦執行播放程序,而由第二儲存裝置37中讀取並播放仍在寫入中的影音檔案20。
此外,根據本發明所提供之播放程序亦可被應用於網路影音播放應用程式。藉由相對應的前置索引24與資料段26,影音檔案20即使尚未完全被傳輸完畢,仍然能被播放程序所播放。換句話說,接收端在影音檔案20的傳輸過程中便可進行播放。
根據本發明之處理影音資料的方法,另可包括一修復程序,用以修復寫入不完全的影音檔案20。由於在執行寫入程序時,有可能會因為電力中斷或是影音裝置30發生故障等意外而造成影音檔案20寫入不完全。此時,被寫入的影音檔案20中,通常最後一個的資料段不完整、檔案索引28不完整或缺乏檔案索引。前述修復程序即是用以修復此類不完整影音檔案20。
請參考「第6A圖」,其係為根據本發明之一實施例之修復程序之流程示意圖。由「第6A圖」可知,修復程序包括步驟S210:檢查最後的前置索引24所對應之資料段26是否完整;步驟S220:判斷資料段26是否完整;步驟S232:刪除損毀的資料段26以及對應的前置索引24;以及步驟S240:依據所有的前置索引24寫入檔案索引28。
於步驟S210,修復程序讀取最後一個前置索引24,並根據最後一個前置索引24檢查相對應的資料段26。前置索引24中紀錄有對應的資料段26中應有的樣本尺寸和樣本數量,故修復程序能於步驟S220依據
前置索引24,判斷對應於最後一個前置索引24的資料段26(即影音檔案20中最後一個資料段26)是否完整。
若最後的一個資料段26內容不完整表示影音檔案20在被寫入時,資料段26內至少一個樣本27因寫入不完全而有所損毀。則於步驟S232刪除損毀的資料段26以及對應的前置索引24,以使得影音檔案20剩餘完整的部分能夠被使用。
若最後的一個資料段26內容完整,則表示僅有檔案索引28寫入不完全。則當最後的一個資料段26內容完整時,或是不完整的資料段26和與其對應的前置索引24刪除後,於步驟S240修復程序依據所有剩餘的前置索引24寫入檔案索引28。修復程序讀取並整合所有前置索引24中的前置起始位置、前置樣本尺寸、前置樣本數量以及前置樣本時間戳記等資料,對應重新寫入檔案索引28中的資料段起始位置、樣本尺寸、樣本數量以及樣本時間戳記等資料。舉例而言,根據每一前置索引24中的前置起始位置、前置樣本尺寸、前置樣本數量以及前置索引24的大小,能夠計算出檔案索引28的資料段起始位置。而把每一前置索引24中的前置樣本時間戳記全部集合紀錄即能得到樣本時間戳記。如此一來,具有正確的檔案索引28的影音檔案20即被修復完成,且能做為無損毀的資料被播放及使用。
請參考「第6B圖」,其係為根據本發明之另一實施例之修復程序之流程示意圖。由圖可知,修復程序包括步驟S210:檢查最後的前置索引24所對應之資料段26是否完整;步驟S220:判斷資料段26是否完整;步驟S234:刪除損毀的資料段26中損毀的樣本27;步驟S236:依據刪除樣本27後的資料段26,修改相對應的前置索引24;以及步驟S240:依據所有的前置索引24寫入檔案索引28。
與前一實施例不同處在於在最後一個資料段26因寫入不完全而有所損毀時的處理方法。在本實施例中,於步驟S234修復程式並非刪除整個資料段26,而是僅刪除資料段26中有損毀的樣本27。則不完整的資料段26中,沒受到損毀的部分影音資料可以被保存下來以供使用。刪除損毀的樣本27之後,於步驟S236修復程序根據刪改過的資料段26修改最後一個前置索引24。前置索引24的前置樣本大小與前置樣本時間戳記等與資料段26有關者均須被改寫,以對應刪改過的資料段26。則在最後的步驟
S240,修復程序依據所有的前置索引24寫入檔案索引28。
則根據本發明之修復程序,能由刪除影音檔案20中不完整的部分並重新寫入正確的檔案索引28,以修復寫入不完全的影音檔案20並使其能被正常的播放與使用。
上述根據本發明所提供之對於影音資料與影音檔案20所進行的寫入程序、播放程序以及修復程序可單獨執行,亦可複數個程序結合後執行。結合複數個上述程序的方法可例如為寫入程序與播放程序能同時進行,以提供即錄即播的功能。又例如在檔案寫入後,播放影音檔案20前先執行修復程序以確保檔案的完整性等等。
以下提供依據本發明之影音檔案的處理方法應用於現有格式的例子。以下以應用於3GP格式的檔案為例。關於3GP格式之定義,可參考ISO/IEC 14496-12(國際標準化組織,International Organization for Standardization;以及國際電工委員會,International Electrotechnical Commission)文件,此文件以參考形式併入本案。根據3GP格式定義,影音檔案20係由3GP格式中所定義的盒(Box)所組合而成。檔頭22為一檔案類型盒(File Type Box,ftyp),其包含紀錄影音檔案20中所用到的多媒體格式,包含如3GP4,3GP5,ISOM,JPM等資訊。多媒體格式可以是但不限於MPEG-2。主體則包含影音盒(Media Data Box,mdat)等資訊。檔案索引28為一媒體資料盒(Movie Box,moov),紀錄對於影音資料的描述。moov中具有至少一個磁軌盒(Track Box,trak)用以存放資料段26,檔案索引28包含了資料段起始位置(stco)、樣本尺寸(stsz)、樣本數量(stsz)(註:從stsz中可以算出樣本數量)以及樣本時間戳記(stts)欄位。將本發明應用於3GP格式,本發明處理方法儲存的影音檔案中的前置索引24即包含樣本的圖框種類(I,P,B)、前置起始位置、前置樣本尺寸、前置樣本數量、及前置樣本時間戳記欄位。
以下為根據本發明之一實施範例之關於前置索引24內之資訊的紀錄範例,且所使用之儲存格式不必遵循ISO/IEC 14496-12之規範。
fourcc描述資料段26的格式,4個字元組。
sample_count資料段26的樣本27的數量,4個字元組。
sample_size每個樣本27的尺寸,相當於stsz裡的記錄,4個字元組。
sample_time每個樣本27的前記樣本時間戳記之以秒(second)為單位的部分,4個位元組。
sample_timemsec每個樣本27的前記樣本時間戳記之以毫秒(millisecond)為單位的部分,2個位元組;合併sample_time與sample_timemsec所得的內容即對應於樣本時間戳記(stts)欄位。
length額外欄位的長度,若無額外欄位,即為0。4個字元組。
extension額外欄位,於第一個不同fourcc的資料段26記錄其相關編碼資訊,其後的資料段26將不再記錄。除此之外,前置索引24另可包括一智慧型錄影資訊,用以儲存進行智慧型錄影時所需的額外資料,例如由監視攝影機所支援的位移偵測(motion window)。則播放程序讀取前置索引24,並根據智慧型錄影資訊將額外的資訊內容顯示出來。以儲存位移偵測所須之資訊為例,則智慧型錄影資訊的儲存檔案格式可以是8 bytes之位移偵測資訊(motion window information),其中每個位移偵測的內容為:
則播放程序可讀取智慧型錄影資訊的內容(也就是位移偵測資訊),並繪製於畫面上。
前置索引24亦可包括一資訊驗證碼,用以驗證資料的正確性。例如每寫入一個資料段26後,使用摘要演算法(Message-Digest Algorithm 5,md5)計算,並將計算結果作為資訊驗證碼存入相對應之前置索引24,確保資料完整一致。如此一來,播放程序即可依據資訊驗證碼檢測資料段26中的樣本27是否有被修改或竄改。
根據本發明之處理影音資料的方法、播放影音檔案的方法以及修復損毀影音檔案的方法,可藉由在索引基準格式之影音檔案的主體間插入與各資料段相對應的前置索引,使得播放裝置不須讀取位於檔案最尾端之檔案索引,以解決無法在檔案寫入完成前播放的問題。而有所損毀的影音檔案亦可藉由前置索引來重新寫入檔案索引,而解決習知技術中寫入不完全的檔案無法修復的問題。此外,在寫入索引基準格式之影音檔案時,係根據前置索引寫入檔案索引。故在前置索引中可塞入任意資料,且不影響影音檔案由一般的播放程序所進行之播放。
雖然本發明以前述之實施例揭露如上,然其並非用以限定本發明。在不脫離本發明之精神和範圍內,所為之更動與潤飾,均屬本發明之專利保護範圍。關於本發明所界定之保護範圍請參考所附之申請專利範圍。
Claims (14)
- 一種影音資料的處理方法,適用於一影音裝置與一儲存裝置,該方法處理索引基準之一影音檔案,該方法包括:一寫入程序,包括:藉由該影音裝置擷取一影音資料,該影音資料包含連續的複數個樣本;依據該影音資料,寫入一檔頭於該影音檔案,該影音檔案被儲存於該儲存裝置;擷取一預定數量之該些樣本為一資料段,依據該資料段,於該影音檔案前次被寫入位置的末端依序寫入一前置索引及該資料段;重覆該依序寫入該前置索引及該資料段之步驟,直到該影音資料全數被寫入該影音檔案;以及依據該影音資料或該前置索引,於該影音檔案前次被寫入位置的末端寫入一檔案索引,其中該前置索引包括與該資料段相對應的一前置起始位置、一前置樣本尺寸、一前置樣本數量以及一前置樣本時間戳記,且對應於該檔案索引所具有的一資料段起始位置、一樣本尺寸、一樣本數量以及一樣本時間戳記。
- 如請求項1所述之影音資料的處理方法,其中該影音檔案的第一個該前置索引另包括一編碼解碼器資訊。
- 如請求項1所述之影音資料的處理方法,其中該前置索引包括一智慧型錄影資訊。
- 如請求項1所述之影音資料的處理方法,其中該前置索引包括一資訊驗證碼。
- 如請求項1所述之影音資料的處理方法,另包括一播放程序,該播放程序包括:讀取該檔頭;讀取該前置索引;根據該前置索引,讀取並藉由該影音裝置播放與該前置索引相對應的該資料段中的該些樣本;以及重覆該依序讀取該前置索引及播放與該前置索引對應的該些樣本之步驟,直到所有該前置索引與對應的該些樣本均被讀取播放。
- 如請求項1所述之影音資料的處理方法,另包括一修復程序,該修復程序包括:依據最後的該前置索引,檢查該最後的該前置索引所對應之該資料段是否完整;若檢查的結果為不完整,則修復該最後之該資料段;以及依據所有的該些前置索引,於最後的該資料段末端寫入該檔案索引。
- 如請求項6所述之影音資料的處理方法,其中修復該最後之該資料段的步驟包括:刪除損毀的該資料段以及與該資料段相對應的該前置索引。
- 如請求項6所述之影音資料的處理方法,其中修復該最後之該資料段的步驟另包括:刪除損毀的該資料段中損毀的該樣本;以及依據刪除該樣本後的該資料段,修改與該資料段相對應的該前置索引。
- 一種影音資料的處理方法,適用於索引基準之一影音檔案,該影音檔案依序包括一檔頭、至少一個前置索引、與每一該前置索引相對應的一資料段以及一檔案索引,其中該資料段包括至少一樣本,該方法包括一播放程序,該播放程序包括:讀取該檔頭;讀取該前置索引,其中該前置索引包括與該資料段相對應的一前置起始位置、一前置樣本尺寸、一前置樣本數量以及一前置樣本時間戳記,且對應於該檔案索引所具有的一資料段起始位置、一樣本尺寸、一樣本數量以及一樣本時間戳記;根據該前置索引,讀取並藉由一影音裝置播放與該前置索引相對應的該資料段中的該些樣本;以及重覆該依序讀取該前置索引及播放與該前置索引對應的該些樣本之步驟,直到所有該前置索引與對應的該些樣本均被讀取播放。
- 如請求項9所述之影音資料的處理方法,其中該影音檔案的第一個該前置索引另包括一編碼解碼器資訊。
- 一種影音資料的處理方法,適用於索引基準之一影音檔案,該影音檔案依序包括一檔頭、至少一個前置索引、與每一該前置索引相對應的一資料段以及一檔案索引,其中該資料段包括至少一樣本,該方法包括一修復程序,該修復程序包括:依據最後的該前置索引,檢查該最後的該前置索引所對應之該資料段是否完整,其中該前置索引包括與該資料段相對應的一前置起始位置、一前置樣本尺寸、一前置樣本數量以及一前置樣本時間戳記,且對應於該檔案索引所具有的一資料段起始位置、一樣本尺寸、一樣本數量以及一樣本時間戳記;若檢查的結果為不完整,則修復該最後之該資料段;以及依據所有的該些前置索引,於最後的該資料段末端寫入該檔案索引。
- 如請求項11所述之影音資料的處理方法,其中該修復程序之該修復該最後之該資料段的步驟包括:刪除損毀的該資料段以及與該資料段相對應的該前置索引。
- 如請求項11所述之影音資料的處理方法,其中該修復程序之該修復該最後之該資料段的步驟另包括:刪除損毀的該資料段中損毀的該樣本;以及依據刪除該樣本後的該資料段,修改與該資料段相對應的該前置索引。
- 如請求項11所述之影音資料的處理方法,其中該影音檔案的第一個該前置索引另包括一編碼解碼器資訊。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW98125120A TWI399656B (zh) | 2009-07-24 | 2009-07-24 | Audio and video data processing methods |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW98125120A TWI399656B (zh) | 2009-07-24 | 2009-07-24 | Audio and video data processing methods |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201104467A TW201104467A (en) | 2011-02-01 |
TWI399656B true TWI399656B (zh) | 2013-06-21 |
Family
ID=44813642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW98125120A TWI399656B (zh) | 2009-07-24 | 2009-07-24 | Audio and video data processing methods |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI399656B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004007075A (ja) * | 2002-05-30 | 2004-01-08 | Toshiba Corp | 映像記録装置及び映像記録方法 |
TW200619927A (en) * | 2004-12-09 | 2006-06-16 | Premier Image Technology Corp | Method for storing digital A/V data |
TW200623075A (en) * | 2004-09-01 | 2006-07-01 | Toshiba Kk | Information storage medium, information recording method, information playback method, information recording apparatus, and information playback apparatus |
US20060233533A1 (en) * | 2005-04-15 | 2006-10-19 | Yukari Hosoya | Information recording/reproducing system, information recording/reproducing apparatus and information recording/reproducing method |
US20090067818A1 (en) * | 2007-09-06 | 2009-03-12 | Sony Corporation | Video recording and reproducing system and reading method of video data |
-
2009
- 2009-07-24 TW TW98125120A patent/TWI399656B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004007075A (ja) * | 2002-05-30 | 2004-01-08 | Toshiba Corp | 映像記録装置及び映像記録方法 |
TW200623075A (en) * | 2004-09-01 | 2006-07-01 | Toshiba Kk | Information storage medium, information recording method, information playback method, information recording apparatus, and information playback apparatus |
TW200619927A (en) * | 2004-12-09 | 2006-06-16 | Premier Image Technology Corp | Method for storing digital A/V data |
US20060233533A1 (en) * | 2005-04-15 | 2006-10-19 | Yukari Hosoya | Information recording/reproducing system, information recording/reproducing apparatus and information recording/reproducing method |
US20090067818A1 (en) * | 2007-09-06 | 2009-03-12 | Sony Corporation | Video recording and reproducing system and reading method of video data |
Also Published As
Publication number | Publication date |
---|---|
TW201104467A (en) | 2011-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8340505B2 (en) | Method of processing audio-video data | |
JP3771902B2 (ja) | ファイル索引挿入のためにmpegストリームを処理するシステムおよび方法 | |
EP1486979B1 (en) | Data recording method and data recording device | |
JPH11242850A (ja) | リアルタイムデータ記録方式 | |
US20050286863A1 (en) | Reliable capture of digital video images for automated indexing, archiving and editing | |
US20040086261A1 (en) | Video segment extraction system and method | |
US8165455B2 (en) | Data processing apparatus and data processing method, and computer program | |
US20170084309A1 (en) | Video file creation device and video file creation method | |
US11750784B2 (en) | Automatic video file repair method and system | |
US6470089B2 (en) | Data recording/reproducing apparatus, data recording/reproducing method applied to the apparatus, and computer program product used in data processing apparatus | |
US8639087B2 (en) | Moving image editing system and moving image editing method | |
CN1321526C (zh) | 运动图像编辑装置及其控制方法 | |
JP2005516493A (ja) | ストリームデータの誤り訂正 | |
JP4323870B2 (ja) | 記録装置 | |
US20090304345A1 (en) | Video recording device, video recording method, video recording program, and integrated circuit | |
JP2006508486A (ja) | 停電回復方法 | |
JP2012065087A (ja) | 映像録画再生装置とその録画・再生方法とそのプログラム及びプログラムを格納したメモリ | |
TWI399656B (zh) | Audio and video data processing methods | |
JP2007306257A5 (zh) | ||
JP2007502495A (ja) | Avデータをenavモードで再生する方法、その装置及びその情報記録媒体 | |
JP2005301641A (ja) | 映像撮影装置 | |
JP2005348078A (ja) | 録画装置 | |
JP2004192774A (ja) | Avデータ記録方法、avデータ記録装置、データ記録媒体、プログラム並びにプログラム記録媒体 | |
TWI236002B (en) | Data storage medium having information for controlling buffered state of markup document, and method and apparatus for reproducing data from the data storage medium | |
JP4255796B2 (ja) | データ記録装置、データ記録方法、データ記録プログラム、および該プログラムを記録した記録媒体 |