視頻編碼方法和視頻編碼裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及視頻編碼技術(shù)領(lǐng)域,具體涉及一種視頻編碼方法和視頻編碼裝置。
【背景技術(shù)】
[0002]隨著視頻應(yīng)用在很多領(lǐng)域的廣泛普及,人們對(duì)視頻分辨率的追求越來越高。對(duì)于視頻壓縮技術(shù)而言,如何能高效的實(shí)現(xiàn)更高分辨率的視頻編碼成為技術(shù)革新的方向之一。一般而言,視頻圖像的編碼結(jié)構(gòu)對(duì)象由大到小可分為:序列(Sequence)、圖像組(Group ofPictures,G0P)、單幀圖像(Picture)和條帶(SIice)/分片(Tile)。當(dāng)對(duì)以上編碼結(jié)構(gòu)對(duì)象進(jìn)行視頻編碼時(shí),要將該編碼結(jié)構(gòu)對(duì)象分成大小不等的編碼單元,然后以編碼單元為單位使用編碼工具進(jìn)行編碼。
[0003]現(xiàn)有的方案如H.265、AVS2等視頻編碼標(biāo)準(zhǔn)限定了最大編碼單元(MCU)的尺寸為64x64,同時(shí)也支持比64x64更小的編碼單元,如32x32和16x16。然而,這對(duì)于1080p以下的視頻圖像是合理的,但對(duì)高分辨率視頻圖像編碼存在一定的局限性。原因在于,對(duì)于超高清UHD,甚至4K圖像中的大面積均勻紋理內(nèi)容來說,限定64x64大小的編碼單元并不能最大限度地涵蓋同一視頻對(duì)象,即紋理內(nèi)容均勻統(tǒng)一的一個(gè)視頻對(duì)象可能被分在了太多不同的編碼單元中進(jìn)行編碼,這帶來了一定的信息冗余,降低了編碼效率。同時(shí),由于高分辨率視頻圖像在編碼時(shí)也不一定總是需要很大的編碼單元,最大編碼單元的尺寸大小應(yīng)根據(jù)實(shí)際需求而定。為此,急需一種可自定義最大編碼單元尺寸的方式,以提高高分辨率視頻圖像的編碼效率及靈活性。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明實(shí)施例提供了一種視頻編碼方法和視頻編碼裝置,解決了現(xiàn)有技術(shù)無法自定義最大編碼單元尺寸的問題。
[0005]本發(fā)明一實(shí)施例提供的一種視頻編碼方法包括:
[0006]在編碼結(jié)構(gòu)對(duì)象的頭信息中預(yù)設(shè)最大編碼單元尺寸變量,其中,所述最大編碼單元尺寸變量的不同預(yù)設(shè)值對(duì)應(yīng)在所述編碼結(jié)構(gòu)對(duì)象中編碼時(shí)的最大編碼單元的不同尺寸。
[0007]進(jìn)一步地,所述編碼結(jié)構(gòu)對(duì)象包括:單幀圖像、多幀圖像或圖像序列;其中,在編碼結(jié)構(gòu)對(duì)象的頭信息中預(yù)設(shè)最大編碼單元尺寸變量包括:
[0008]在所述單幀圖像、多幀圖像或圖像序列的頭信息中預(yù)設(shè)最大編碼單元尺寸變量。
[0009]進(jìn)一步地,當(dāng)所述最大編碼單元尺寸變量取值為O時(shí),則在所述單幀圖像、多幀圖像或圖像序列中編碼時(shí)最大編碼單元的尺寸為64 X 64;以及
[0010]當(dāng)所述最大編碼單元尺寸變量取值為I時(shí),則對(duì)應(yīng)在所述單幀圖像、多幀圖像或圖像序列中編碼時(shí)的最大編碼單元的尺寸為128X128。
[0011]進(jìn)一步地,當(dāng)在所述單幀、多幀圖像或圖像序列中編碼時(shí)的當(dāng)前編碼單元的尺寸為NXN,且所述當(dāng)前編碼單元的尺寸等于所述最大編碼單元尺寸時(shí),幀間預(yù)測(cè)的最大塊尺寸為NXN,幀內(nèi)預(yù)測(cè)的最大塊尺寸為(N/2) X (N/2),離散余弦變換的計(jì)算單元尺寸為(N/2)X (N/2),基于降噪去塊效應(yīng)的濾波方案的計(jì)算單元尺寸為NXN,其中N取2的整數(shù)次冪;以及
[0012]當(dāng)在所述單幀、多幀圖像或圖像序列中編碼時(shí)的當(dāng)前編碼單元的尺寸為NXN,且所述當(dāng)前編碼單元的尺寸小于所述最大編碼單元尺寸時(shí),幀間預(yù)測(cè)的最大塊尺寸為N X N,幀內(nèi)預(yù)測(cè)的最大塊尺寸小于等于NXN,離散余弦變換的計(jì)算單元尺寸小于等于NXN,基于降噪去塊效應(yīng)的濾波方案的計(jì)算單元尺寸為NXN,其中N取2的整數(shù)次冪。
[0013]進(jìn)一步地,所述視頻編碼方法支持感興趣區(qū)域編碼和/或可伸縮視頻編碼;其中,所述視頻編碼方法進(jìn)一步包括:
[0014]在所述單幀、多幀圖像或圖像序列的頭信息中預(yù)設(shè)在一感興趣區(qū)域中編碼時(shí)和/或在一可伸縮視頻編碼空域?qū)又芯幋a時(shí)的最大編碼單元尺寸變量。
[0015]進(jìn)一步地,所述可伸縮視頻編碼空域?qū)訛榭缮炜s視頻編碼空域增強(qiáng)層或基本層。
[0016]進(jìn)一步地,所述編碼結(jié)構(gòu)對(duì)象包括:條帶和/或分片;其中,在編碼結(jié)構(gòu)對(duì)象的頭信息中預(yù)設(shè)最大編碼單元尺寸變量包括:
[0017]在所述條帶和/或分片的頭信息中預(yù)設(shè)最大編碼單元尺寸變量。
[0018]進(jìn)一步地,進(jìn)一步包括:根據(jù)所執(zhí)行的編碼標(biāo)準(zhǔn)和/或編碼圖像內(nèi)容確定當(dāng)前編碼單元的尺寸,其中所述當(dāng)前編碼單元的尺寸小于等于所述最大編碼單元的尺寸。
[0019]進(jìn)一步地,所述所執(zhí)行的編碼標(biāo)準(zhǔn)為以下幾項(xiàng)中的一種:3¥六(:、!1.265^¥32、!1.264和H.263。
[0020]本發(fā)明一實(shí)施例還提供一種視頻編碼裝置,包括:
[0021]預(yù)設(shè)單元,用于在編碼結(jié)構(gòu)對(duì)象的頭信息中預(yù)設(shè)最大編碼單元尺寸變量,其中,所述最大編碼單元尺寸變量的不同預(yù)設(shè)值對(duì)應(yīng)在所述編碼結(jié)構(gòu)對(duì)象中編碼時(shí)的最大編碼單元的不同尺寸。
[0022]本發(fā)明實(shí)施例提供的一種視頻編碼方法和視頻編碼裝置,通過在編碼結(jié)構(gòu)對(duì)象的頭信息中預(yù)設(shè)最大編碼單元尺寸變量,可自定義編碼結(jié)構(gòu)對(duì)象在編碼時(shí)最大編碼單元的大小,從而使得高分辨率視頻圖像的最大編碼單元不再局限于64 X 64;同時(shí),隨著視頻圖像分辨率的不斷提高,還可以設(shè)置最大編碼單元尺寸變量的更多預(yù)設(shè)值,以更好的適應(yīng)高分辨率視頻圖像的編碼需求,提高編碼效率。
【附圖說明】
[0023]圖1所示為本發(fā)明一實(shí)施例提供的SVAC標(biāo)準(zhǔn)中的一個(gè)單幀圖像的頭信息內(nèi)容示意圖。
[0024]圖2所示為本發(fā)明另一實(shí)施例提供的SVAC標(biāo)準(zhǔn)中的一個(gè)單幀圖像的頭信息內(nèi)容示意圖。
【具體實(shí)施方式】
[0025]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0026]本發(fā)明實(shí)施例提供一種視頻編碼方法,在編碼結(jié)構(gòu)對(duì)象的頭信息中預(yù)設(shè)最大編碼單元尺寸變量,其中,最大編碼單元尺寸變量的不同預(yù)設(shè)值對(duì)應(yīng)在編碼結(jié)構(gòu)對(duì)象中編碼時(shí)的最大編碼單元的不同尺寸。例如,該最大編碼單元尺寸變量可為頭信息編碼碼流中的一段二進(jìn)制數(shù)字,不同的變量預(yù)設(shè)值對(duì)應(yīng)不同的二進(jìn)制數(shù)值。但應(yīng)當(dāng)理解,在不同的編碼標(biāo)準(zhǔn)中,編碼結(jié)構(gòu)對(duì)象的頭信息具有不同的默認(rèn)格式,因而在頭信息中增設(shè)該最大編碼單元尺寸變量的具體位置和形式需根據(jù)頭信息的默認(rèn)格式而定,本發(fā)明對(duì)該最大編碼單元尺寸變量的具體設(shè)置位置和形式并不做限定。
[0027]這樣當(dāng)要對(duì)該編碼結(jié)構(gòu)對(duì)象進(jìn)行編碼時(shí),便可將最大編碼單元尺寸變量的預(yù)設(shè)值寫入編碼結(jié)構(gòu)對(duì)象的頭信息,在解碼時(shí)便可從該編碼結(jié)構(gòu)對(duì)象的頭信息中獲取最大編碼單元尺寸變量的預(yù)設(shè)值,并由此確定對(duì)應(yīng)的最大編碼單元的尺寸,從而實(shí)現(xiàn)了對(duì)最大編碼單元尺寸的自定義,使得高分辨率視頻圖像的最大編碼單元不再局限于64X 64;同時(shí),隨著視頻圖像分辨率的不斷提高,還可以設(shè)置最大編碼單元尺寸變量的更多預(yù)設(shè)值,以更好的適應(yīng)高分辨率視頻圖像的編碼需求,提高編碼效率。
[0028]應(yīng)當(dāng)理解,由于視頻圖像的編碼結(jié)構(gòu)對(duì)象由大到小可分為:圖像序列、圖像組(后面的描述中也可稱為“多幀圖像”)、單幀圖像和條帶/分片。最大編碼單元尺寸所指的可以是對(duì)其中任一個(gè)編碼結(jié)構(gòu)對(duì)象進(jìn)行編碼時(shí)的編碼單元的最大尺寸。
[0029]在本發(fā)明一實(shí)施例中,編碼結(jié)構(gòu)對(duì)象為單幀圖像、多幀圖像或圖像序列,此時(shí)最大編碼單元尺寸變量便預(yù)設(shè)在該單幀圖像、多幀圖像或圖像序列的頭信息中,最大編碼單元尺寸變量的不同預(yù)設(shè)值對(duì)應(yīng)在該單幀圖像、多幀圖像或圖像序列中編碼時(shí)的最大編碼單元的不同尺寸。例如,當(dāng)在單幀圖像中最大編碼單元尺寸變量取值為O時(shí),則在單幀圖像中編碼時(shí)最大編碼單元的尺寸為64 X 64;當(dāng)最大編碼單元尺寸變量取值為I時(shí),則對(duì)應(yīng)在單幀圖像中編碼時(shí)的最大編碼單元的尺寸為128X128。應(yīng)當(dāng)理解,隨著視頻圖像分辨率的不斷提高,最大編碼單元尺寸變量還可有更多預(yù)設(shè)值。例如,還可以預(yù)設(shè)最大編碼單元尺寸變量取值為3,此時(shí)對(duì)應(yīng)在編碼結(jié)構(gòu)對(duì)象中編碼時(shí)的最大編碼單元的尺寸為256 X 256。本發(fā)明對(duì)最大編碼單元尺寸變量的取值范圍不做限定。
[0030]在本發(fā)明一實(shí)施例中,當(dāng)在單幀圖像、多幀圖像或圖像序列中編碼時(shí)的當(dāng)前編碼單元的尺寸為NXN時(shí)(N取2的整數(shù)次冪),且該當(dāng)前編碼單元的尺寸等于最大編碼單元尺寸時(shí),由于幀間預(yù)測(cè)是采用前一幀圖像和/或后一幀圖像中的塊作為參考?jí)K進(jìn)行預(yù)測(cè)編碼,因而幀間預(yù)測(cè)的最大塊尺寸可為NXN。而由于幀內(nèi)預(yù)測(cè)是采用當(dāng)前塊的周邊已知塊作為參考?jí)K,為了保證當(dāng)前幀圖像中的所有塊都能夠利用參考?jí)K進(jìn)行幀內(nèi)預(yù)測(cè),幀內(nèi)預(yù)測(cè)的最大塊尺寸可為(N/2) X (N/2)。相應(yīng)地,離散余弦變換的計(jì)算單元尺寸可為(N/2) X (N/2),基于降噪去塊效應(yīng)的濾波方案的計(jì)算單元尺寸可為N X N。例如,當(dāng)當(dāng)前編碼單元的尺寸為64 X 64,而MCU的默認(rèn)尺寸也為64 X 64時(shí),幀內(nèi)預(yù)測(cè)的最大塊尺寸則需要限制為32 X 32,離散余弦變換的計(jì)算單元尺寸也需要限制為32 X 32。
[0031]當(dāng)在單幀、多幀圖像或圖像序列中編碼時(shí)的當(dāng)前編碼單元的尺寸為NXN(N取2的整數(shù)次冪),且當(dāng)前編碼單元的尺寸小于最大編碼單元尺寸時(shí),幀間預(yù)測(cè)的最大塊尺寸仍可為NXN,幀內(nèi)預(yù)測(cè)的最大塊尺寸小于等于NXN即可,相應(yīng)地離散余弦變換