專利名稱:3d立體視頻編碼存儲方法
技術領域:
本發明涉及一種3D立體視頻編碼存儲方法,屬于視頻編碼與存儲領域。
背景技術:
3D立體視頻是多視點視頻,從時間和空間兩個角度描述場景畫面。因此保存3D立體視頻需要更多的數據和更復雜的結構。目前常見的3D立體視頻的保存方法是將多視點視頻在空間維度拼接在一起,再作為一個普通的平面視頻進行編碼存儲,簡稱為“拼圖”方法。例如,將左右視點視頻的每一幀并排拼成一個“左右圖”,或者“上下圖”是一種常見的方法。這類“拼圖”方式具有很大局限性。分辨率大大降低,例如“左右圖”拼圖方式在水平上的分辨率降低了 50% ;“3X3”拼圖方式在水平和垂直方向分辨率都降低了 2/3。如果要維持分辨率在一定水平上,則全圖的分辨率可能過高導致編碼器編碼失敗。另外,“拼圖”方法使得視頻編碼方法與3D顯示設備的顯示原理緊密相干,按照某種“拼圖”方法制作出來的3D立體視頻只能適合某類3D顯示設備,不適合其他類型的3D顯示設備使用。例如 “左右圖”方法制作出的視頻適合垂直光柵類型的3D顯示器,而不是水平光柵類型、或者時分方式的3D顯示設備。
發明內容
本發明的目的是克服現有技術中存在的不足,提供一種3D立體視頻的編碼存儲方法,用于多視點3D立體視頻的編碼和存儲。按照本發明提供的技術方案,所述3D立體視頻編碼存儲方法是
對于一段具有k視點的3D立體視頻,假設每個視點的幀序列分別為S1、S2,…,Sk,每個幀序列的長度都為M幀fn-m表示Sn幀序列里的第m幀,η稱為視點序號,m稱為幀序號;進行如下操作
步驟一、將該段3D立體視頻的所有幀重新排序,按照幀序號優先、視點序號其次的方式排序
Fl-1, F2-1,…,Fk-I, Fl-2, F2-2, ...,Fk-2, Fl-3, F2-3, ...,Fk-3,
Fl-Μ, F2-M, ...,Fk-M, 將所有幀的排序序列稱為“全系列幀”;
步驟二、將步驟一排序得到的全系列幀輸入視頻編碼器得到幀序列F’,視頻編碼器參數選擇設為如下五種模式之一
a)設定只做I幀編碼,不做P/B幀編碼;
b)設定做I/P幀編碼;對于每個P幀,指定與其在同一個視點幀序列里的前一幀作為參考幀,并且各個視點幀序列里出現的I幀間隔完全一致;
C)設定做I/P幀編碼;對于每個P幀,指定在全系列幀里前一幀作為參考幀;并且I幀只出現在第一視點幀序列里,其他視點幀序列都作為P幀編碼;
d)設定做I/P/B幀編碼;對于每個P幀,指定與其在同一個視點幀序列里的前一幀作為參考幀;對于每個B幀,指定與其在同一個視點幀序列里的前后各一個I/P幀作為參考幀;并且各個視點幀序列里出現的I/P/B幀間隔完全一致;
e)設定做I/P/B幀編碼;對于每個P幀,指定在全系列幀里前一幀作為參考幀;對于每個B幀,指定在全系列幀里前后各一個I/P幀作為參考幀;并且I幀只出現在第一視點幀序列里,其他視點幀序列都作為P/B幀編碼;
步驟三、將步驟二編碼得到的幀序列F’,采用媒體交換文件格式,即MXF格式打包,并且該MXF格式遵循如下幾個規則
f)在MXF頭部中,加入一個標示該MXF為“立體視頻”的元數據;所述元數據的UUID為指定的唯一值;
g)在MXF頭部中,加入一個存儲視頻參數元數據,所存儲的視頻參數包括寬、高、幀率、采樣率、畫幅比、幀長度、碼率,其中采樣率=視點數X幀率;
h)在MXF尾部的索引表區段,對第一視點的幀序列F’1-1,F'1-2, F'1-3,…F’ I-M 做索引;對其他視點的幀序列不做索引。所述的視頻編碼器可以為MFEG2、MFEG4、H.沈4、或VCl等視頻編碼算法。本發明的優點是最大限度的保留每個視點的信息,并且在播放時可準確的同步與定位各視點的視頻,且順序存儲使得硬盤類存儲介質能發揮最大性能。
具體實施例方式下面結合附圖
和實施例對本發明作進一步說明。對于一段具有2視點的3D立體視頻,幀率為Mpf S,假設每個視點的幀序列分別為 S1、S2,每個幀序列的長度都為1000幀。設定視頻編碼器采用MFEG-2視頻編碼算法。本發明的3D立體視頻編碼存儲方法如下。1.將該段3D立體視頻的所有幀重新排序,按照幀序號優先、視點序號其次的方式排序
Fl-1, F2-1, Fl-2, F2-2, Fl-3,F2-3,…,Fl-1000,F2-1000, 以上排序序列稱為“全系列幀”;
2.將步驟一排序得到的全系列幀輸入MFEG-2視頻編碼器,視頻編碼器參數可設為如下五種模式之一
a)設定只做I幀編碼,不做P/B幀編碼;
b)設定做I/P幀編碼;對于每個P幀,指定與其在同一個視點幀序列里的前一幀作為參考幀,并且各個視點幀序列里出現的I幀間隔完全一致;
c)設定做I/P幀編碼;對于每個P幀,指定在全系列幀里前一幀作為參考幀;并且I幀只出現在第一視點幀序列里,其他視點幀序列都作為P幀編碼;
d)設定做I/P/B幀編碼;對于每個P幀,指定與其在同一個視點幀序列里的前一幀作為參考幀;對于每個B幀,指定與其在同一個視點幀序列里的前后各一個I/P幀作為參考幀;并且各個視點幀序列里出現的I/P/B幀間隔完全一致;
e)設定做I/P/B幀編碼;對于每個P幀,指定在全系列幀里前一幀作為參考幀;對于每個B幀,指定在全系列幀里前后各一個I/P幀作為參考幀;并且I幀只出現在第一視點幀序列里,其他視點幀序列都作為P/B幀編碼。“/”是或的意思,為本技術領域常規寫法。這里,視頻編碼器參數設定為做I/P幀編碼。對于每個P幀,指定與其在同一個視點幀序列里的前一幀作為參考幀,F1-2的參考幀是Fl-1,F2-2的參考幀是F2_l,F1-3 的參考幀是F1-2。并且各個視點幀序列里出現的I幀間隔均為12,也就是說Fl-1,F2-1, Fl-13, F2-13 等是 I 幀。3.將步驟二經過視頻編碼器編碼得到的幀序列F’,采用媒體交換文件格式(MXF 格式)打包,并且該MXF遵循如下幾個規則
a)在MXF頭部中,加入一個標示該MXF為“立體視頻”的元數據。該元數據的UUID (通用唯一識別碼)為0x060e2b340253010c0d01010101016300。b)在MXF頭部中,加入一個存儲視頻參數元數據,所存儲的視頻參數包括寬、高、 幀率、采樣率、畫幅比、幀長度、碼率等關鍵信息。其中采樣率=38。c)在MXF尾部的索引表區段,對第一視點的幀序列 F,1-1,F,1-2,F,1-3,…,F,1-1000
做索引。對其他視點的幀序列不做索引。這樣便完成了 3D立體視頻的編碼存儲。這樣做的優點是
1.將各個視點的幀作為一個獨立幀加入幀序列給視頻編碼器編碼,而不是將多個視點的幀拼圖后給視頻編碼器編碼,可以最大限度保存各個視點的畫面信息。2.按照幀序號優先、視點序號其次的方法排序,在播放時可以順序讀取,可提高硬盤的讀取效率和讀取速度。3.步驟二的模式a)只做I幀編碼,消除幀間依賴性,可以隨機定位到任何一幀并獨立解碼。4.步驟二的模式b)和模式d)在同一個視點幀序列做幀間預測,可以提高編碼效率。并且規定了各個視點幀序列里的I/P/B幀的同步出現,可以提高視頻的檢索定位效率。5.步驟三的模式C)和模式e)在全幀系列里做幀間預測和編碼,在解碼時可以只用一個視頻解碼器實體,而不需要多個視頻解碼器實體。6.在MXF文件頭部里加入“立體視頻”的元數據,可將該MXF與其他存儲2D視頻的MXF文件區分開,快速識別文件類型。7.在MXF尾部的索引表區段只對第一視點的幀序列,減小了索引的數目。
權利要求
1. 3D立體視頻編碼存儲方法,其特征是對于一段具有k視點的3D立體視頻,假設每個視點的幀序列分別為S1、S2,…,Sk,每個幀序列的長度都為M幀fn-m表示Sn幀序列里的第m幀,η稱為視點序號,m稱為幀序號;進行如下操作步驟一、將該段3D立體視頻的所有幀重新排序,按照幀序號優先、視點序號其次的方式排序Fl-1, F2-1,…,Fk-I, Fl-2, F2-2, ...,Fk-2, Fl-3, F2-3, ...,Fk-3,Fl-Μ, F2-M, ...,Fk-M, 將所有幀的排序序列稱為“全系列幀”;步驟二、將步驟一排序得到的全系列幀輸入視頻編碼器得到幀序列F’,視頻編碼器參數選擇設為如下五種模式之一設定只做I幀編碼,不做Ρ/Β幀編碼;設定做Ι/Ρ幀編碼;對于每個P幀,指定與其在同一個視點幀序列里的前一幀作為參考幀,并且各個視點幀序列里出現的I幀間隔完全一致;設定做Ι/Ρ幀編碼;對于每個P幀,指定在全系列幀里前一幀作為參考幀;并且I幀只出現在第一視點幀序列里,其他視點幀序列都作為P幀編碼;設定做Ι/Ρ/Β幀編碼;對于每個P幀,指定與其在同一個視點幀序列里的前一幀作為參考幀;對于每個B幀,指定與其在同一個視點幀序列里的前后各一個Ι/Ρ幀作為參考幀;并且各個視點幀序列里出現的Ι/Ρ/Β幀間隔完全一致;設定做Ι/Ρ/Β幀編碼;對于每個P幀,指定在全系列幀里前一幀作為參考幀;對于每個 B幀,指定在全系列幀里前后各一個Ι/Ρ幀作為參考幀;并且I幀只出現在第一視點幀序列里,其他視點幀序列都作為Ρ/Β幀編碼;步驟三、將步驟二編碼得到的幀序列F’,采用媒體交換文件格式,即MXF格式打包,并且該MXF格式遵循如下幾個規則在MXF頭部中,加入一個標示該MXF為“立體視頻”的元數據;所述元數據的UUID為指定的唯一值;在MXF頭部中,加入一個存儲視頻參數元數據,所存儲的視頻參數包括寬、高、幀率、 采樣率、畫幅比、幀長度、碼率,其中采樣率=視點數X幀率;在MXF尾部的索引表區段,對第一視點的幀序列F,1-1,F,1-2,F' 1-3,…F,I-M 做索引;對其他視點的幀序列不做索引。
2.如權利要求1所述的3D立體視頻編碼存儲方法,其特征是,所述視頻編碼器采用 MFEG2、MFEG4、H.洸4、或VCl視頻編碼算法。
全文摘要
本發明提供了一種3D立體視頻編碼存儲方法,對于一段具有k視點的3D立體視頻,假設每個視點的幀序列分別為S1、S2,…,Sk,每個幀序列的長度都為M幀;Fn-m表示Sn幀序列里的第m幀;步驟一、將該段3D立體視頻的所有幀重新排序,按照幀序號優先、視點序號其次的方式排序得到全系列幀;步驟二、將步驟一排序得到的全系列幀輸入視頻編碼器得到幀序列F’,步驟三、將步驟二編碼得到的幀序列F’,采用媒體交換文件格式,即MXF格式打包。本發明的優點是最大限度的保留每個視點的信息,并且在播放時可準確的同步與定位各視點的視頻,且順序存儲使得硬盤類存儲介質能發揮最大性能。
文檔編號H04N13/00GK102404577SQ201110392399
公開日2012年4月4日 申請日期2011年12月1日 優先權日2011年12月1日
發明者李艷華, 林曉森 申請人:無錫太行電子技術有限公司