亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于多子圖的視頻編解碼方法及其裝置的制作方法

文檔序號:7675811閱讀:164來源:國知局
專利名稱:一種基于多子圖的視頻編解碼方法及其裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信技術(shù)領(lǐng)域的視頻圖像編解碼技術(shù),尤其涉及一種基于多子圖的視頻編解碼方法及其裝置。
背景技術(shù)
視頻監(jiān)控中有些大的場景需要使用廣角鏡頭或者多鏡頭組成一個很大尺寸的全景畫面,該畫面稱為全景圖(Panoramic Image) 0全景圖可以通過一個超高分辨率的傳感芯片采集得到,也可以對幾個傳感芯片采集圖像進(jìn)行前端或者后端圖像拼接(Image Stitching)得到。全景圖畫面分辨率很大,一般由幾個高清畫面組成,實現(xiàn)了寬視角、廣鏡域的監(jiān)控作用。針對全景視頻監(jiān)控,目前存在以下實現(xiàn)方案方案一,前端設(shè)備將整個全景圖作為一整副圖像進(jìn)行編碼傳輸。采用方案一,要求前端的編碼器芯片性能足夠強(qiáng)大,尤其是全景圖由幾個高清圖像組成時,必須使用幾個芯片進(jìn)行同步編碼,在編碼器內(nèi)部將全景圖像分割成幾個slice (分片,也稱為子圖),這樣編碼器編碼時,在芯片間實現(xiàn)編碼器圖像內(nèi)存、碼流內(nèi)存等的同步。方案二,前端設(shè)備將全景圖分割成幾個獨(dú)立的子圖進(jìn)行單獨(dú)編碼傳輸,后端解碼顯示時再拼接成完整的全景圖??梢钥闯觯桨敢挥捎趯⑷皥D作為一個整體進(jìn)行編碼,沒有浪費(fèi)劃分子圖帶來編碼效率的降低,但由于進(jìn)行編碼器內(nèi)部同步,這將使軟件同步設(shè)計異常復(fù)雜;方案二由于沒有利用子圖邊界相關(guān)性,故簡化了前端編碼器設(shè)計,但幾個子圖編碼得到的碼流由于是完全獨(dú)立的,在碼流層面不具有相關(guān)性,降低了編碼效率,不利于傳輸和保存。

發(fā)明內(nèi)容
本發(fā)明提供了一種基于多子圖的視頻編解碼方法及其裝置,用以解決現(xiàn)有基于多子圖的視頻編解碼機(jī)制中編解碼效率低的問題。本發(fā)明提供的基于多子圖的視頻編碼方法,包括將視頻圖像分割為至少2個子圖,為各子圖設(shè)置編碼順序;按照設(shè)置的編碼順序分別對各子圖進(jìn)行編碼,并將各子圖的編碼順序信息和各子圖的邊界預(yù)測依賴關(guān)系信息添加到編碼后的碼流中;其中,在對當(dāng)前子圖進(jìn)行編碼時,若存在邊界鄰域子圖并且該邊界鄰域子圖已經(jīng)完成編碼,則利用該邊界鄰域子圖的編碼結(jié)果對當(dāng)前子圖的相應(yīng)邊界的宏塊進(jìn)行運(yùn)動估計和運(yùn)動補(bǔ)償。本發(fā)明提供的編碼器,包括分割模塊,用于將視頻圖像分割為至少2個子圖;設(shè)置模塊,用于為各子圖設(shè)置編碼順序;編碼模塊,用于按照設(shè)置的編碼順序分別對各子圖進(jìn)行編碼;其中,對于當(dāng)前子圖,若存在邊界鄰域子圖并且該邊界鄰域子圖已經(jīng)完成編碼,則利用該邊界鄰域子圖的編碼結(jié)果對當(dāng)前子圖的相應(yīng)邊界的宏塊進(jìn)行運(yùn)動估計和運(yùn)動補(bǔ)償;以及,將各子圖的編碼順序信息和各子圖在所述視頻圖像中的位置信息添加到編碼后的碼流中。本發(fā)明提供的基于多子圖的視頻解碼方法,包括接收待解碼視頻圖像的各子圖的碼流,獲取其中攜帶的各子圖的編碼順序信息和各子圖的邊界預(yù)測依賴關(guān)系信息;按照設(shè)置的編碼順序分別對各子圖進(jìn)行解碼;其中,在對當(dāng)前子圖進(jìn)行解碼時,若存在與當(dāng)前子圖有邊界預(yù)測依賴關(guān)系的邊界鄰域子圖并且該邊界鄰域子圖已經(jīng)完成解碼, 則利用該邊界鄰域子圖的解碼結(jié)果對當(dāng)前子圖的相應(yīng)邊界的宏塊進(jìn)行運(yùn)動估計和運(yùn)動補(bǔ)償;根據(jù)各子圖在所述視頻圖像中的位置信息,對解碼后的各子圖進(jìn)行拼接。本發(fā)明提供的解碼器,包括獲取模塊,用于獲取待解碼視頻圖像的各子圖的碼流,以及碼流中攜帶的各子圖的編碼順序信息和各子圖的邊界預(yù)測依賴關(guān)系信息;解碼模塊,用于按照設(shè)置的編碼順序分別對各子圖進(jìn)行解碼;其中,在對當(dāng)前子圖進(jìn)行解碼時,若存在與當(dāng)前子圖有邊界預(yù)測依賴關(guān)系的邊界鄰域子圖并且該邊界鄰域子圖已經(jīng)完成解碼,則利用該邊界鄰域子圖的解碼結(jié)果對當(dāng)前子圖的相應(yīng)邊界的宏塊進(jìn)行運(yùn)動估計和運(yùn)動補(bǔ)償;拼接模塊,用于根據(jù)各子圖在所述視頻圖像中的位置信息,對解碼后的各子圖進(jìn)行拼接。本發(fā)明的有益技術(shù)效果包括本發(fā)明中,通過設(shè)置視頻圖像中各子圖的編碼順序,以及按照設(shè)置的編碼順序分別對各子圖進(jìn)行編/解碼,其中,在對當(dāng)前子圖進(jìn)行編/解碼時,若存在邊界鄰域子圖并且該邊界鄰域子圖已經(jīng)完成編/解碼,則利用該邊界鄰域子圖的編/解碼結(jié)果對當(dāng)前子圖的相應(yīng)邊界的宏塊進(jìn)行運(yùn)動估計和運(yùn)動補(bǔ)償,從而利用各子圖的邊界鄰域子圖存在性,由鄰域子圖邊界宏塊取代當(dāng)前子圖的擴(kuò)展邊界進(jìn)行運(yùn)動估計和運(yùn)動補(bǔ)償,提高了編碼效率,降低編碼器設(shè)計復(fù)雜度。


圖1為本發(fā)明實施中的全景圖中的擴(kuò)展邊界示意圖;圖2為本發(fā)明實施例提供的視頻編碼流程示意圖;圖3為本發(fā)明實施例提供的視頻解碼流程示意圖;圖4為本發(fā)明實施例中的全景圖中的多子圖編碼順序及空間坐標(biāo)位置示意圖;圖5為圖4中各子圖邊界預(yù)測依賴關(guān)系示意圖;圖6為本發(fā)明實施例中的當(dāng)前子圖與鄰域子圖的方向關(guān)系示意圖;圖7為本發(fā)明實施例提供的編碼器的結(jié)構(gòu)示意圖;圖8為本發(fā)明實施例提供的解碼器的結(jié)構(gòu)示意圖。
具體實施例方式針對上述現(xiàn)有技術(shù)存在的缺陷,本發(fā)明實施例提出了一種基于多子圖的編解碼方案。在編碼過程中,將全景圖分割成多個子圖(如圖1所示,全景圖被分割成0 7共8個子圖),并對各子圖分別進(jìn)行編碼。在對全景圖中的子圖進(jìn)行編碼的過程中,對于該子圖的邊界宏塊,若存在邊界鄰域子圖且該邊界鄰域子圖已經(jīng)編碼完畢,則利用該邊界鄰域子圖的編碼結(jié)果對當(dāng)前編碼子圖的邊界宏塊進(jìn)行運(yùn)動估計和補(bǔ)償,以替代現(xiàn)有技術(shù)中采用通過邊界擴(kuò)展進(jìn)行運(yùn)動估計和補(bǔ)償?shù)姆绞?;若?dāng)前編碼子圖不存在邊界鄰域子圖(如圖1中的深色區(qū)域為全景圖的擴(kuò)展邊界部分),或者雖然存在邊界鄰域子圖但該邊界鄰域子圖還未編碼完畢,則仍通過邊界擴(kuò)展方式進(jìn)行運(yùn)動估計和補(bǔ)償。同理,在解碼過程中,對每個子圖分別進(jìn)行解碼。在對全景圖中的子圖進(jìn)行解碼的過程中,對于該子圖的邊界宏塊,若存在邊界鄰域子圖且該鄰域子圖已經(jīng)解碼完畢,則利用該邊界鄰域子圖的解碼結(jié)果對當(dāng)前解碼子圖的邊界宏塊進(jìn)行運(yùn)動估計和補(bǔ)償,以替代現(xiàn)有技術(shù)中采用通過邊界擴(kuò)展進(jìn)行運(yùn)動估計和補(bǔ)償?shù)姆绞剑蝗舢?dāng)前解碼子圖不存在邊界鄰域子圖,或者雖然存在邊界鄰域子圖但該邊界鄰域子圖還未解碼完畢,則仍通過邊界擴(kuò)展方式進(jìn)行運(yùn)動估計和補(bǔ)償。可以看出,本發(fā)明實施例通過利用已經(jīng)編/解碼的子圖邊界,充分利用相關(guān)性來提升編/解碼效率。下面結(jié)合附圖對本發(fā)明實施例進(jìn)行詳細(xì)描述。參見圖2,為本發(fā)明實施例提供的基于多子圖的視頻編碼流程總體示意圖,如圖所示,當(dāng)需要對全景圖進(jìn)行編碼時,該流程可包括步驟201,將全景圖分割為N(N> 1)個子圖,并為各子圖設(shè)置編碼順序。在實施時,可分別為全景圖中的各子圖定義一個編碼順序標(biāo)識View_id,以便用來表示各子圖在編碼過程和解碼過程中的先后處理順序,其中,本發(fā)明實施例將順序定義中的首個編碼圖像稱為基準(zhǔn)圖像(anchor image)。該順序?qū)⒅苯佑绊懙礁髯訄D邊界的運(yùn)動估計和運(yùn)動補(bǔ)償?shù)倪吔珙A(yù)測依賴關(guān)系。該順序可依據(jù)實際應(yīng)用情況進(jìn)行定義。比如可根據(jù)視頻圖像場景進(jìn)行定義,通常將中間部分的子圖定義為基準(zhǔn)圖像,具體的,當(dāng)在子圖結(jié)構(gòu)為單排結(jié)構(gòu)時,將位于中間的子圖定義為基準(zhǔn)圖像,在子圖結(jié)構(gòu)為雙排結(jié)構(gòu)時,將上排中間位置的子圖定義為基準(zhǔn)圖像,在子圖結(jié)構(gòu)為多排結(jié)構(gòu)時,將中間排的中間位置的子圖定義為基準(zhǔn)圖像。各子圖的位置可使用空間坐標(biāo)表示。本發(fā)明實施例所使用的坐標(biāo)系,其原點(diǎn)為視頻圖像的左上角,并以子圖為單位,橫向方向向右為正方向,縱向方向向下為正方向。步驟202,按照設(shè)置的編碼順序分別對各子圖進(jìn)行編碼,在編碼過程中需要參考臨近宏塊對當(dāng)前編碼宏塊進(jìn)行運(yùn)動估計和運(yùn)動補(bǔ)償。其中,對于當(dāng)前編碼的子圖,在對子圖邊界宏塊進(jìn)行運(yùn)動估計和補(bǔ)償時,若存在邊界鄰域子圖(即邊界相鄰的子圖)并且該邊界鄰域子圖已經(jīng)編碼完成,則利用該邊界鄰域子圖的編碼結(jié)果對當(dāng)前編碼子圖的邊界宏塊進(jìn)行運(yùn)動估計和補(bǔ)償;若不存在邊界鄰域子圖,或者雖然存在邊界鄰域子圖,但該邊界鄰域子圖未編碼完成,則仍采用現(xiàn)有方式對當(dāng)前編碼子圖的邊界宏塊進(jìn)行運(yùn)動估計和補(bǔ)償,如通過邊界擴(kuò)展重構(gòu)圖像的方式進(jìn)行運(yùn)動估計和補(bǔ)償。在實施時,對編碼順序中的首個子圖進(jìn)行編碼時,由于其它子圖都還沒有編碼,故該首個子圖的邊界采用常規(guī)的邊界擴(kuò)展算法進(jìn)行擴(kuò)展。對非首個子圖進(jìn)行編碼時,如果其中某個邊界存在邊界鄰域子圖且該邊界鄰域子圖已經(jīng)編碼完畢,則在對當(dāng)前編碼子圖的邊界宏塊進(jìn)行編碼時,無需進(jìn)行邊界擴(kuò)展,而是參考該已編碼完成的邊界鄰域子圖的邊界宏塊進(jìn)行運(yùn)動估計和補(bǔ)償。
步驟203,將各子圖的編碼順序信息和各子圖的邊界預(yù)測依賴關(guān)系信息添加到編碼后的碼流中。在實施時,為了保證解碼端能夠在解碼前獲取到各子圖的解碼順序和邊界預(yù)測依賴關(guān)系,可將各子圖的編碼順序信息和各子圖的位置信息添加到首個編碼子圖的碼流負(fù)荷之前。這樣,解碼端可在接收到首個子圖的碼流后,獲取其中攜帶的各子圖的編碼順序信息和各子圖在視頻圖像中的位置信息,并進(jìn)而可以計算得出各子圖的邊界預(yù)測依賴關(guān)系,即各子圖的邊界宏塊是否是根據(jù)邊界鄰域子圖的編碼數(shù)據(jù)得到的,以及哪些邊界根據(jù)哪些邊界鄰域子圖的編碼數(shù)據(jù)得到的。進(jìn)一步的,還可以將用來對當(dāng)前子圖的邊界宏塊進(jìn)行運(yùn)動估計和補(bǔ)償?shù)倪吔玎徲蜃訄D數(shù)量信息,以及這些邊界鄰域子圖相對于當(dāng)前子圖的方向信息添加到當(dāng)前子圖編碼后的碼流負(fù)荷之前。這樣,解碼端在收到相應(yīng)子圖的碼流后,就可以直接從碼流前部獲取到該子圖的邊界預(yù)測依賴關(guān)系,省去了計算子圖邊界預(yù)測依賴關(guān)系的處理過程,進(jìn)一步提高了解碼效率。對應(yīng)于圖2所示的視頻編碼流程,其視頻解碼流程可如圖3所示,包括步驟301,接收待解碼視頻圖像的各子圖的碼流,獲取其中攜帶的各子圖的編碼順序信息和各子圖的邊界預(yù)測依賴關(guān)系信息。步驟302,按照各子圖的編碼順序分別對給子圖進(jìn)行解碼,在解碼過程中需要參考臨近宏塊對當(dāng)前編碼宏塊進(jìn)行運(yùn)動估計和運(yùn)動補(bǔ)償。其中,對于當(dāng)前解碼子圖,在對子圖邊界宏塊進(jìn)行運(yùn)動估計和補(bǔ)償時,若存在邊界鄰域子圖(即與當(dāng)前子圖有邊界預(yù)測依賴關(guān)系的子圖)并且該邊界鄰域子圖已經(jīng)解碼完成,則利用該邊界鄰域子圖的解碼結(jié)果對當(dāng)前解碼子圖的邊界進(jìn)行運(yùn)動估計和補(bǔ)償;若不存在邊界鄰域子圖,或者存在邊界鄰域子圖但該邊界鄰域子圖未解碼完成,則仍采用現(xiàn)有方式對當(dāng)前解碼子圖的邊界宏塊進(jìn)行運(yùn)動估計和補(bǔ)償,如通過邊界擴(kuò)展重構(gòu)圖像。在實施時,與圖2所示編碼過程對應(yīng),當(dāng)對編碼順序中的首個子圖進(jìn)行解碼時,由
于其它子圖都還沒有解碼,故該首個子圖的邊界采用常規(guī)的邊界擴(kuò)展算法進(jìn)行擴(kuò)展。對非
首個子圖進(jìn)行解碼時,如果其中某個邊界存在鄰域子圖(即與當(dāng)前子圖有邊界預(yù)測依賴關(guān)
系的子圖)且該鄰域子圖已經(jīng)解碼完畢,則在對當(dāng)前解碼子圖的邊界宏塊進(jìn)行解碼時,無
需進(jìn)行邊界擴(kuò)展,而是參考該已解碼完成的邊界鄰域子圖的邊界宏塊進(jìn)行運(yùn)動估計和補(bǔ) m
te ο步驟303,根據(jù)各子圖在視頻圖像中的位置信息,對解碼后的各子圖進(jìn)行拼接,從而拼接得到完整的視頻圖像。以上圖2所示流程可通過前端編碼器實現(xiàn),圖3所示流程可通過解碼器實現(xiàn)。如當(dāng)視頻監(jiān)控客戶端請求實時調(diào)閱視頻監(jiān)控數(shù)據(jù)時,前端編碼器將按照圖2所示流程編碼處理后的視頻監(jiān)控數(shù)據(jù)發(fā)送給解碼器進(jìn)行解碼。其中,編碼器在將編碼后的視頻監(jiān)控數(shù)據(jù)發(fā)送給解碼器時,由于某些子圖的碼流是根據(jù)其邊界鄰域子圖的碼流編碼得到的,因此為了保證正常解碼,最好按照各子圖編碼的先后順序,將各子圖的碼流發(fā)送給解碼器。在對子圖進(jìn)行運(yùn)動估計和補(bǔ)償時,采用常規(guī)的邊界擴(kuò)展算法的一種具體實現(xiàn)是 將該子圖內(nèi)的部分圖像數(shù)據(jù)(如宏塊)復(fù)制后作為邊界的外圍擴(kuò)展部分,并以這些復(fù)制圖像數(shù)據(jù)作為參考數(shù)據(jù)對該子圖邊界宏塊進(jìn)行運(yùn)動估計和補(bǔ)償。本發(fā)明實施例中,在對當(dāng)前子圖進(jìn)行編碼時,如果該子圖的某個邊界鄰域子圖已經(jīng)編碼完成,則解碼該已編碼完成的子圖的編碼碼流并重構(gòu)得到相應(yīng)邊界的宏塊,然后以重構(gòu)得到的該邊界宏塊作為當(dāng)前子圖邊界的擴(kuò)展,對當(dāng)前子圖進(jìn)行運(yùn)動估計和補(bǔ)償。解碼過程與編碼過程類似。通過上述現(xiàn)有技術(shù)與本發(fā)明實施例的對比可見,一方面,本發(fā)明實施例利用全景圖中的各子圖的鄰域子圖存在性,由鄰域子圖邊界宏塊取代當(dāng)前子圖的擴(kuò)展邊界進(jìn)行運(yùn)動估計和運(yùn)動補(bǔ)償,提高了編碼效率,降低編碼器設(shè)計復(fù)雜度。另一方面,由鄰域子圖邊界宏塊進(jìn)行運(yùn)動估計和運(yùn)動補(bǔ)償,相比于采用邊界擴(kuò)展方式進(jìn)行運(yùn)動估計和運(yùn)動補(bǔ)償,所得到的編碼結(jié)果更接近于真實圖像,因而圖像失真度會有所下降。由于各個子圖獨(dú)立編碼,只涉及到子圖邊界內(nèi)存的同步問題,因此相比于現(xiàn)有技術(shù)中的方案一,復(fù)雜度大大簡化。又由于本發(fā)明實施例充分利用了相鄰子圖像邊界的空間相關(guān)性,因此相比于現(xiàn)有技術(shù)中的方案二,提高了編碼效率。下面結(jié)合圖4所示的子圖劃分方式,分別對圖2和圖3所示的視頻編解碼流程進(jìn)行詳細(xì)描述。如圖4所示,待編碼的全景圖被分割為6個子圖,各子圖的坐標(biāo)如圖所示。各子圖設(shè)置有編碼順序標(biāo)識View_id,view_id的取值從0開始并按照編碼順序從前到后依次遞增。其中,基準(zhǔn)圖像(Viewjd = O)的空間坐標(biāo)為(1,1)。在編碼過程中,按照View_id遞增的順序分別對相應(yīng)子圖進(jìn)行編碼。其中在對View_id = 0的首個子圖編碼時,由于其它子圖都還沒有編碼,故該首個子圖的邊界采用常規(guī)的邊界擴(kuò)展算法進(jìn)行擴(kuò)展,如圖5中的(A)所示;在對View_id = 1的第二個子圖像編碼時,由于只有其下方子圖(view_id = 0) 已經(jīng)編碼完畢,因而下方邊界不用進(jìn)行擴(kuò)展,運(yùn)動估計和運(yùn)動補(bǔ)償時直接參考下方View_id =0的子圖的上邊界宏塊編碼結(jié)果。其中,左邊、右邊邊界的相鄰子圖還未編碼,需要進(jìn)行邊界擴(kuò)展。上方邊界為全景圖邊界,也需要進(jìn)行邊界擴(kuò)展,如圖5中的(B)所示;在對View_id = 2的第三個子圖編碼時,由于只有右邊子圖(view_id = 0)已經(jīng)編碼完成,因而運(yùn)動估計和運(yùn)動補(bǔ)償時直接參考右側(cè)View_id = 0的子圖的左邊界宏塊編碼結(jié)果。上方邊界的相鄰子圖還未編碼,需要進(jìn)行邊界擴(kuò)展,其左邊界和下邊界為全景圖邊界,也需要進(jìn)行邊界擴(kuò)展,如圖5中的(C)所示;在對View_id = 3的第四個子圖編碼時,由于只有左邊子圖(view_id = 0)已經(jīng)編碼完成,因而運(yùn)動估計和運(yùn)動補(bǔ)償時直接參考View_id = 0的子圖的右邊界宏塊編碼結(jié)果。其上方邊界的相鄰子圖還未編碼,需要進(jìn)行邊界擴(kuò)展。右邊界和下邊界為全景圖邊界, 也需要進(jìn)行邊界擴(kuò)展,如圖5中的(D)所示;在對View_id = 4的第五個子圖編碼時,其下方邊界的相鄰子圖(view_id = 2) 和右方邊界的相鄰子圖(View_id= 1)均已經(jīng)編碼完成,因而不需要邊界擴(kuò)展。其上邊界和左邊界為全景圖邊界,需要進(jìn)行邊界擴(kuò)展,如圖5中的(E)所示;在對View_id = 5的第六個子圖編碼時,由于其左方邊界的相鄰子圖(view_id = 1)和下方邊界的相鄰子圖(View_id =幻均已解碼重構(gòu),不需要邊界擴(kuò)展。右邊界和上邊界為全景圖邊界,需要進(jìn)行邊界擴(kuò)展,如圖5中的(F)所示。在解碼過程中,按照View_id遞增的順序分別對相應(yīng)子圖進(jìn)行解碼。其中在對View_id = 0的首個子圖解碼時,由于其它子圖都還沒有解碼重構(gòu),故其邊界采用常規(guī)的邊界擴(kuò)展算法進(jìn)行擴(kuò)展,如圖5中的(A)所示;
在對View_id= 1的第二個子圖解碼時,由于只有其下方子圖(view_id = 0)已經(jīng)解碼完畢,因而下方邊界不用進(jìn)行擴(kuò)展,運(yùn)動估計和運(yùn)動補(bǔ)償時直接參考下方View_id = 0 的子圖解碼重構(gòu)圖像。其中,左邊、右邊邊界的相鄰子圖還未解碼,需要進(jìn)行邊界擴(kuò)展。上方邊界為全景圖邊界,也需要進(jìn)行邊界擴(kuò)展,如圖5中的(B)所示;在對View_id = 2的第三個子圖解碼時,由于只有右邊子圖(view_id = 0)存在重構(gòu)圖像,運(yùn)動估計和運(yùn)動補(bǔ)償時直接參考下方子圖(vieW_id = 0)的左側(cè)邊界宏塊的解碼重構(gòu)結(jié)果。上方邊界的相鄰子圖(View_id = 4)還未解碼重構(gòu),需要進(jìn)行邊界擴(kuò)展,其左邊界和下邊界為全景圖邊界,需要進(jìn)行邊界擴(kuò)展,如圖5中的(C)所示;在對viewjd = 3的第四個子圖解碼時,由于只有左邊子圖(view_id = 0)已經(jīng)解碼重構(gòu),因而運(yùn)動估計和運(yùn)動補(bǔ)償時直接參考View_id = 0的子圖的右邊界宏塊編碼結(jié)果。其上方邊界的相鄰子圖(view_id = 0還未解碼重構(gòu),因而需要邊界擴(kuò)展。右邊界和下邊界為全景圖邊界,也需要進(jìn)行邊界擴(kuò)展,如圖5中的(D)所示;在對View_id = 4的第五個子圖解碼時,由于其下方邊界的相鄰子圖(view_id = 2)和右方邊界的相鄰子圖(View_id= 1)均已經(jīng)解碼重構(gòu),不需要邊界擴(kuò)展。其上邊界和左邊界為全景圖邊界,需要進(jìn)行邊界擴(kuò)展,如圖5中的(E)所示;在對View_id = 5的第六個子圖解碼時,由于其左方邊界的相鄰子圖(View_id = 1)和下方邊界的相鄰子圖(View_id =幻均已解碼重構(gòu),不需要邊界擴(kuò)展。右邊界和上邊界為全景圖邊界,需要進(jìn)行邊界擴(kuò)展,如圖5中的(F)所示。本發(fā)明實施例可通過定義新的碼流語法或者擴(kuò)展現(xiàn)有協(xié)議,以實現(xiàn)子圖的編碼順序和邊界預(yù)測相關(guān)信息的傳輸,即在碼流中攜帶各子圖的編碼順序和邊界預(yù)測依賴信息。以視頻編解碼采用H. 264協(xié)議為例,為了使用子圖邊界相關(guān)性,取消邊界擴(kuò)展操作,本發(fā)明實施例對H. 264碼流語法進(jìn)行了擴(kuò)展。在兼容H. 264標(biāo)準(zhǔn)的前提下,本發(fā)明實施例擴(kuò)展出一種H. 264標(biāo)準(zhǔn)未定義的NAL (Network Abstraction Layer,網(wǎng)絡(luò)提取層)單元 (NAL Unit, NALU)來標(biāo)識這種邊界預(yù)測的相關(guān)性。具體的,通過使用H. 264標(biāo)準(zhǔn)未定義的一種NALU,封裝內(nèi)容為bound_d印endencyjbsp,來傳輸全景圖中當(dāng)前子圖依賴的鄰域子圖邊界的存在性及其屬性。該NALU頭部的語法元素取值可參考ITU-T H.沈4,其中forbidden_zero_bit取值0 (H. 264規(guī)范中規(guī)定了這一位必須為0);nal_ref_idc取值為1 (該參數(shù)取值可參照現(xiàn)有H. 264規(guī)范中的規(guī)定);nal_unit_type取值為四,該值為H. 264標(biāo)準(zhǔn)未定義值(Unspecified)。為了避免和標(biāo)準(zhǔn)中已經(jīng)定義值和保留值沖突,可取標(biāo)準(zhǔn)中未定義區(qū)間([24,31])內(nèi)的值。本發(fā)明實施例定義的bound_dependency_rbsp內(nèi)容可如表1所示。其中,bound_ dependency_rbsp內(nèi)部封裝的是子圖的邊界預(yù)測相關(guān)信息的內(nèi)容bound_d印endency_ data (),具體格式可如表2所示。rbsp_trailing_bits ()定義、C的定義、Descriptor的具體含義可參考ITU-T H. 264ο表 1、bound_dependency_rbsp 語法
權(quán)利要求
1.一種基于多子圖的視頻編碼方法,其特征在于,包括將視頻圖像分割為至少2個子圖,為各子圖設(shè)置編碼順序;按照設(shè)置的編碼順序分別對各子圖進(jìn)行編碼,并將各子圖的編碼順序信息和各子圖的邊界預(yù)測依賴關(guān)系信息添加到編碼后的碼流中;其中,在對當(dāng)前子圖進(jìn)行編碼時,若存在邊界鄰域子圖并且該邊界鄰域子圖已經(jīng)完成編碼,則利用該邊界鄰域子圖的編碼結(jié)果對當(dāng)前子圖的相應(yīng)邊界的宏塊進(jìn)行運(yùn)動估計和運(yùn)動補(bǔ)償。
2.如權(quán)利要求1所述的方法,其特征在于,還包括在對當(dāng)前子圖進(jìn)行編碼時,若當(dāng)前子圖有邊界不存在邊界鄰域子圖,則通過擴(kuò)展當(dāng)前子圖的相應(yīng)邊界宏塊進(jìn)行運(yùn)動估計和運(yùn)動補(bǔ)償。
3.如權(quán)利要求1所述的方法,其特征在于,將各子圖的編碼順序信息和各子圖的邊界預(yù)測依賴關(guān)系信息添加到編碼后的碼流中,具體為將各子圖的編碼順序信息和各子圖在所述視頻圖像中的位置信息添加到首個編碼子圖的碼流負(fù)荷之前。
4.如權(quán)利要求3所述的方法,其特征在于,將各子圖的編碼順序信息和各子圖的邊界預(yù)測依賴關(guān)系信息添加到編碼后的碼流中,還包括將用來對當(dāng)前子圖的邊界宏塊進(jìn)行運(yùn)動估計和運(yùn)動補(bǔ)償?shù)倪吔玎徲蜃訄D數(shù)量信息,以及所述邊界鄰域子圖相對于當(dāng)前子圖的方向信息添加到當(dāng)前子圖編碼后的碼流負(fù)荷之前。
5.如權(quán)利要求1-4之一所述的方法,其特征在于,按照設(shè)置的編碼順序分別對各子圖進(jìn)行編碼之后,還包括按照設(shè)置的編碼順序分別將各子圖編碼后的碼流發(fā)送給解碼端。
6.一種編碼器,其特征在于,包括分割模塊,用于將視頻圖像分割為至少2個子圖;設(shè)置模塊,用于為各子圖設(shè)置編碼順序;編碼模塊,用于按照設(shè)置的編碼順序分別對各子圖進(jìn)行編碼;其中,對于當(dāng)前子圖,若存在邊界鄰域子圖并且該邊界鄰域子圖已經(jīng)完成編碼,則利用該邊界鄰域子圖的編碼結(jié)果對當(dāng)前子圖的相應(yīng)邊界的宏塊進(jìn)行運(yùn)動估計和運(yùn)動補(bǔ)償;以及,將各子圖的編碼順序信息和各子圖在所述視頻圖像中的位置信息添加到編碼后的碼流中。
7.如權(quán)利要求6所述的編碼器,其特征在于,所述編碼模塊還用于,在對當(dāng)前子圖進(jìn)行編碼時,若當(dāng)前子圖有邊界不存在邊界鄰域子圖,則通過擴(kuò)展當(dāng)前子圖的相應(yīng)邊界宏塊進(jìn)行運(yùn)動估計和運(yùn)動補(bǔ)償。
8.如權(quán)利要求6所述的編碼器,其特征在于,所述編碼模塊具體用于,將各子圖的編碼順序信息和各子圖在所述視頻圖像中的位置信息添加到首個編碼子圖的碼流負(fù)荷之前。
9.如權(quán)利要求8所述的編碼器,其特征在于,所述編碼模塊還用于,將用來對當(dāng)前子圖的邊界宏塊進(jìn)行運(yùn)動估計和運(yùn)動補(bǔ)償?shù)倪吔玎徲蜃訄D數(shù)量信息,以及所述邊界鄰域子圖相對于當(dāng)前子圖的方向信息添加到當(dāng)前子圖編碼后的碼流負(fù)荷之前。
10.如權(quán)利要求6-9之一所述的編碼器,其特征在于,還包括傳輸模塊,用于在所述編碼模塊按照設(shè)置的編碼順序分別對各子圖進(jìn)行編碼之后,按照設(shè)置的編碼順序分別將各子圖編碼后的碼流發(fā)送給解碼端。
11.一種基于多子圖的視頻解碼方法,其特征在于,包括接收待解碼視頻圖像的各子圖的碼流,獲取其中攜帶的各子圖的編碼順序信息和各子圖的邊界預(yù)測依賴關(guān)系信息;按照設(shè)置的編碼順序分別對各子圖進(jìn)行解碼;其中,在對當(dāng)前子圖進(jìn)行解碼時,若存在與當(dāng)前子圖有邊界預(yù)測依賴關(guān)系的邊界鄰域子圖并且該邊界鄰域子圖已經(jīng)完成解碼,則利用該邊界鄰域子圖的解碼結(jié)果對當(dāng)前子圖的相應(yīng)邊界的宏塊進(jìn)行運(yùn)動估計和運(yùn)動補(bǔ)償;根據(jù)各子圖在所述視頻圖像中的位置信息,對解碼后的各子圖進(jìn)行拼接。
12.如權(quán)利要求11所述的方法,其特征在于,還包括在對當(dāng)前子圖進(jìn)行解碼時,若當(dāng)前子圖有邊界不存在邊界鄰域子圖,則通過擴(kuò)展當(dāng)前子圖的相應(yīng)邊界宏塊進(jìn)行運(yùn)動估計和運(yùn)動補(bǔ)償。
13.如權(quán)利要求11所述的方法,其特征在于,獲取碼流中攜帶的各子圖的編碼順序信息和各子圖的邊界預(yù)測依賴關(guān)系信息,具體為從首個子圖的碼流負(fù)荷之前的部分獲取各子圖的編碼順序信息和各子圖在所述視頻圖像中的位置信息;根據(jù)各子圖的編碼順序信息和各子圖在所述視頻圖像中的位置信息,確定各子圖的邊界預(yù)測依賴關(guān)系。
14.如權(quán)利要求11所述的方法,其特征在于,獲取碼流中攜帶的各子圖的編碼順序信息和各子圖的邊界預(yù)測依賴關(guān)系信息,具體為從首個子圖的碼流負(fù)荷之前的部分獲取各子圖的編碼順序信息和各子圖在所述視頻圖像中的位置信息;從當(dāng)前子圖的碼流負(fù)荷之前的部分獲取用來對當(dāng)前子圖的邊界宏塊進(jìn)行運(yùn)動估計和運(yùn)動補(bǔ)償?shù)倪吔玎徲蜃訄D數(shù)量信息,以及所述邊界鄰域子圖相對于當(dāng)前子圖的方向信息。
15.一種解碼器,其特征在于,包括獲取模塊,用于獲取待解碼視頻圖像的各子圖的碼流,以及碼流中攜帶的各子圖的編碼順序信息和各子圖的邊界預(yù)測依賴關(guān)系信息;解碼模塊,用于按照設(shè)置的編碼順序分別對各子圖進(jìn)行解碼;其中,在對當(dāng)前子圖進(jìn)行解碼時,若存在與當(dāng)前子圖有邊界預(yù)測依賴關(guān)系的邊界鄰域子圖并且該邊界鄰域子圖已經(jīng)完成解碼,則利用該邊界鄰域子圖的解碼結(jié)果對當(dāng)前子圖的相應(yīng)邊界的宏塊進(jìn)行運(yùn)動估計和運(yùn)動補(bǔ)償;拼接模塊,用于根據(jù)各子圖在所述視頻圖像中的位置信息,對解碼后的各子圖進(jìn)行拼接。
16.如權(quán)利要求15所述的解碼器,其特征在于,所述解碼模塊還用于,在對當(dāng)前子圖進(jìn)行解碼時,若當(dāng)前子圖有邊界不存在邊界鄰域子圖,則通過擴(kuò)展當(dāng)前子圖的相應(yīng)邊界宏塊進(jìn)行運(yùn)動估計和運(yùn)動補(bǔ)償。
17.如權(quán)利要求15所述的解碼器,其特征在于,所述獲取模塊具體用于,從首個子圖的碼流負(fù)荷之前的部分獲取各子圖的編碼順序信息和各子圖在所述視頻圖像中的位置信息; 根據(jù)各子圖的編碼順序信息和各子圖在所述視頻圖像中的位置信息,確定各子圖的邊界預(yù)測依賴關(guān)系。
18.如權(quán)利要求15所述的解碼器,其特征在于,所述獲取模塊具體用于,從首個子圖的碼流負(fù)荷之前的部分獲取各子圖的編碼順序信息和各子圖在所述視頻圖像中的位置信息;從當(dāng)前子圖的碼流負(fù)荷之前的部分獲取用來對當(dāng)前子圖的邊界宏塊進(jìn)行運(yùn)動估計和運(yùn)動補(bǔ)償?shù)倪吔玎徲蜃訄D數(shù)量信息,以及所述邊界鄰域子圖相對于當(dāng)前子圖的方向信息。
全文摘要
本發(fā)明公開了一種基于多子圖的視頻編解碼方法及其裝置。該編碼方法包括將視頻圖像分割為至少2個子圖,為各子圖設(shè)置編碼順序;按照設(shè)置的編碼順序分別對各子圖進(jìn)行編碼,并將各子圖的編碼順序信息和各子圖的邊界預(yù)測依賴關(guān)系信息添加到編碼后的碼流中;其中,在對當(dāng)前子圖進(jìn)行編碼時,若存在邊界鄰域子圖并且該邊界鄰域子圖已經(jīng)完成編碼,則利用該邊界鄰域子圖的編碼結(jié)果對當(dāng)前子圖的相應(yīng)邊界的宏塊進(jìn)行運(yùn)動估計和運(yùn)動補(bǔ)償。采用本發(fā)明可提高基于多子圖的視頻編解碼機(jī)制中編解碼的效率。
文檔編號H04N7/26GK102209241SQ20111013658
公開日2011年10月5日 申請日期2011年5月25日 優(yōu)先權(quán)日2011年5月25日
發(fā)明者吳參毅 申請人:杭州華三通信技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1