數字媒體文件的編碼方法、解碼方法、編碼裝置及解碼裝置的制造方法
【技術領域】
[0001]本發明涉及多媒體技術領域,具體地涉及數字媒體文件的編碼方法、解碼方法、編碼裝置及解碼裝置。
【背景技術】
[0002]數字媒體文件是指將音視頻數據以預定的方式編碼、然后以預定的格式封裝獲得的文件。隨著高清視頻技術的普及,數字媒體文件的編碼和封裝格式也日益多樣化。數字媒體播放設備需要獲知數字媒體文件的封裝格式,然后對音視頻數據進行解碼,才能播放聲音和圖像。在音頻技術領域,主流的文件封裝格式包括WAVE、MP3、OGG、WMA、APE、FLAC0在高清視頻技術中,主要的文件封裝格式包括TS、AV1、MKV、MOV。
[0003]在上述現有技術的數字媒體文件的編碼過程中,直接對原始數字媒體數據執行格式轉換算法。在播放過程中,數字媒體播放設備采用相關的解碼算法來實現文件的解碼和播放。然而,現有技術的數字媒體文件的編碼方法和解碼方法存在以下缺陷:第一,對于整個系統,只能采用固定的編碼算法,不能對文件的編碼算法進行自適應識別,對于播放系統,必須預先知道編碼算法才能夠解碼;第二,只能實現單一的編碼方式,容易破解。
【發明內容】
[0004]有鑒于此,本發明提供了一種數字媒體文件的編碼方法、一種數字媒體文件的解碼方法、數字媒體文件的編碼裝置及解碼裝置,能夠保護數字媒體文件的版權。
[0005]根據本發明的第一方面,提供一種數字媒體文件的編碼方法,包括:對第一數字媒體文件進行編碼,以獲得中間編碼文件;以及將預處理協議和中間編碼文件合并成第二數字媒體文件,其中,第二數字媒體文件包括主體區和協議信息區,分別用于存放中間編碼文件和預處理協議,所述預處理協議包括多個字節,分別指示識別碼、地址指示和編碼類型,所述識別碼用于指示協議信息區,所述地址指示用于指示所述主體區的地址,所述編碼類型用于識所述中間編碼文件的編碼方式。
[0006]優選地,所述編碼包括選自異或操作、加固定變量操作、固定長度的位置調換中的至少一種。
[0007]優選地,所述編碼為用戶自定義編碼。
[0008]優選地,所述第一數字媒體文件是標準數字媒體文件,所述第二數字媒體文件是重新封裝的數字媒體文件。
[0009]優選地,所述協議信息區位于所述主體區之前或之后。
[0010]優選地,所述識別碼為固定內容。
[0011 ] 優選地,所述地址指示為所述主體區的地址。
[0012]優選地,所述地址指示為所述協議信息區的長度。
[0013]根據本發明的第二方面,提供一種數字媒體文件的編碼裝置,包括:第一和第二存儲裝置,分別用于存儲第一數字媒體文件和第二數字媒體文件;第一編碼模塊,從第一存儲裝置獲取第一數字媒體文件,對第一數字媒體文件進行編碼,以獲得中間編碼文件;以及第二編碼模塊,將預處理協議和中間編碼文件合并成第二數字媒體文件,第二數字媒體文件包括主體區和協議信息區,分別用于存放中間編碼文件和預處理協議,并且將第二數字媒體文件提供至第二存儲裝置。
[0014]根據本發明的第三方面,提供一種數字媒體文件的解碼方法,包括:解析第一數字媒體文件,以獲得預處理協議的識別碼;按照預處理協議,對第一數字媒體文件進行解碼,以生成第二數字媒體文件;以及將第二數字媒體文件作為標準數字媒體文件進行解碼。
[0015]優選地,所述解碼方法還包括:在所述第一數字媒體文件未包含所述識別碼時,將第一數字媒體文件作為標準數字媒體文件進行解碼。
[0016]優選地,對第一數字媒體文件進行解碼包括:根據預處理協議中的識別碼,判斷第一數字媒體文件是否包含主體區和協議信息區;根據預處理協議中的地址指示,獲得主體區在第一數字媒體文件中的地址;根據所述地址,將第一數字媒體文件分成中間編碼文件和預處理協議,其中中間編碼文件包含主體區內容,預處理協議包含預處理協議內容;以及根據預處理協議中的編碼類型,對中間編碼文件進行解碼以獲得第二數字媒體文件。
[0017]優選地,解碼方式包括選自異或操作、減固定變量操作、固定長度的位置調換中的至少一種。
[0018]優選地,所述解碼方式為根據用戶自定義編碼進行解碼。
[0019]根據本發明的第四方向,提供一種數字媒體文件的解碼裝置,包括:存儲裝置,存儲第一數字媒體文件;解析裝置,解析第一數字媒體文件,以獲得預處理協議的識別碼;第一解碼模塊,按照預處理協議,對第一數字媒體文件進行解碼,以生成第二數字媒體文件;以及第二解碼模塊,將第二數字媒體文件作為標準數字媒體文件進行解碼。
[0020]優選地,所述解碼裝置還包括:旁路裝置,連接在解析裝置和解碼模塊之間,用于在所述第一數字媒體文件未包含所述識別碼時,將第一數字媒體文件直接提供至解碼模塊。
[0021]本發明的編碼方法和編碼裝置,通過重新封裝數字媒體文件,使得普通的播放系統無法直接播放封裝后的數字媒體文件,能夠更好地保護數字媒體文件的版權。本發明的解碼方法和解碼裝置提供了播放所述封裝過的數字媒體文件的方法和裝置。
【附圖說明】
[0022]通過以下參照附圖對本發明實施例的描述,本發明的上述以及其它目的、特征和優點將更為清楚,在附圖中:
[0023]圖1為根據本發明實施例的數字媒體文件的編碼方法的流程示意圖。
[0024]圖2為根據本發明實施例的數字媒體文件的編碼裝置的示意性框圖。
[0025]圖3為根據本發明實施例的數字媒體文件的解碼方法的流程示意圖。
[0026]圖4為根據本發明實施例的數字媒體文件的解碼裝置的示意性框圖。
【具體實施方式】
[0027]以下基于實施例對本發明進行描述,但是本發明并不僅僅限于這些實施例。在下文對本發明的細節描述中,詳盡描述了一些特定的細節部分。對本領域技術人員來說沒有這些細節部分的描述也可以完全理解本發明。為了避免混淆本發明的實質,公知的方法、過程、流程、元件和電路并沒有詳細敘述。
[0028]此外,本領域普通技術人員應當理解,在此提供的附圖都是為了說明的目的,并且附圖不一定是按比例繪制的。
[0029]圖1為根據本發明實施例的數字媒體文件的編碼方法的流程示意圖,該編碼方法將第一數字媒體文件(即標準的數字媒體文件)封裝為第二數字媒體文件。在本實施例中,該編碼方法應用于數字媒體文件的推送端,例如視頻網站、網絡電視臺等。被封裝的數字媒體文件為標準數字媒體文件,例如,在音頻技術領域,標準數字媒體文件包括WAVE、MP3、OGG、WMA、APE、FLAC0在高清視頻技術中,標準數字媒體文件包括TS、AV1、MKV、MOV。該數字媒體文件的編碼方法包括:
[0030]在步驟S101,對第一數字媒體文件按照預定的編碼方式進行預處理得到的中間編碼文件。
[0031]其中,第一數字媒體文件為標準數字媒體文件,例如rmvb文件、fly文件、swf文件、TS流文件、mp3文件、ASF文件等。編碼方式可以是加固定變量的操作,或者固定長度的位置調換,或者異或操作等任何對第一數字媒體文件進行格式和/或形式轉換的算法。
[0032]在步驟S102,將預處理協議和中間編碼文件合并成第二數字媒體文件。其中,預處理協議包括識別碼、地址指示和編碼類型。
[0033]中間編碼文件位于第二數字媒體文件的主體區,預處理協議位于第二數字媒體文件的協議信息區。協議信息區位于主體區之前或者之后。
[0034]識別碼為預設的固定內容,用于識別預處理協議。例如,識別碼的長度為16字節,其具體內容為 0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,OxOb,OxOc,OxOd,OxOe, OxOf, OxOO0再例如,識別碼的長度為8字節,其具體內容為0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08。
[0035]地址指示用于指示主體區的地址。地址指示的內容可以是主體區的起始地址;也可以是協議信息區的長度,播放系統根據協議信息區的長度可以計算出主體區的起始地址。
[0036]編碼類型用于指示在步驟SlOl中的預定的編碼方式。例如,編碼類型為0x00,表示在步驟SlOl中的編碼方式為對第一數字媒體文件進行加固定變量的操作;編碼類型為0x01,表示在步驟SlOl中的編碼方式為對第一數字媒體文件實行固定長度的位置調換;編碼類型為0x02,表示在步驟SlOl中的編碼方式為對第一數字媒體文件進行異或操作。在播放端,通過識別編碼類型可以確定對應的解碼方式。
[0037]通過對標準數字媒體文件的重新封裝,普通的播放系統無法直接播放封裝后的數字媒體文件。例如在網絡電視的客戶端,如果沒有對應的播放系統,無法直接觀看網絡電視,保護了網絡電視的版權。
[0038]圖2為根據本發明實施例的數字媒體文件的編碼裝置的示意性框圖。該編碼裝置適用于數字媒體文件的推送端,用于封裝標準的數字媒體文件,例如為RMVB文件、FLY文件、SWF文件、TS流文件、MP3文件、ASF文件等。該編碼裝置包括:第一存儲裝置101、第一