視頻編碼裝置及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及視頻傳輸領(lǐng)域,尤其涉及一種視頻編碼裝置及方法。
【背景技術(shù)】
[0002]如今隨著信息技術(shù)的不斷發(fā)展以及網(wǎng)絡(luò)帶寬的進(jìn)一步提升,在視頻會(huì)議、視頻監(jiān)控等視頻傳輸領(lǐng)域,對(duì)視頻的畫質(zhì)需求也越來越高。當(dāng)前普遍常用H.264格式進(jìn)行視頻傳輸,在H.264格式中,包括巾貞內(nèi)編碼以及巾貞間編碼,巾貞內(nèi)編碼是指完整的編碼,而巾貞間編碼則指編解碼時(shí)需要參考其他幀的數(shù)據(jù)。一般的,一個(gè)影像幀序列被分為I幀、P幀以及B幀,其中I幀是指需要完整編碼的,在編解碼時(shí)不需要參考其他幀的數(shù)據(jù),屬于幀內(nèi)編碼;P幀指在編解碼時(shí)可以參考當(dāng)前幀之前的數(shù)據(jù),屬于幀間編碼幀則指在編解碼時(shí)可以參考當(dāng)前幀之前或之后的數(shù)據(jù),也屬于幀間編碼。
[0003]在圖像傳輸過程中,由于I幀包含的數(shù)據(jù)量最多,容易產(chǎn)生I幀大小超過了網(wǎng)絡(luò)允許傳輸?shù)淖畲蠓秶?,?dǎo)致出現(xiàn)圖像失真、資料遺失等問題?,F(xiàn)有技術(shù)往往采用對(duì)所有影像增加I巾貞的QP值(Quantify Parameter,量化參數(shù))或者增加壓縮率的方式來減小I巾貞大小,或者是通過將I幀內(nèi)的數(shù)據(jù)平均分為多個(gè)P幀傳輸?shù)姆绞剑欢?,增加QP值或增加壓縮率會(huì)導(dǎo)致視頻畫質(zhì)下降,不便于觀看;將I幀數(shù)據(jù)平均分為多個(gè)P幀則會(huì)因?yàn)槿鄙買幀而與當(dāng)前普遍采用的H.264編碼制式不兼容,導(dǎo)致不能被順利解碼。
【發(fā)明內(nèi)容】
[0004]有鑒于此,有必要提供一種視頻編碼裝置,不僅能夠減少I幀的大小,而且也能夠保證I幀的畫面質(zhì)量。
[0005]同時(shí),還需要提供一種視頻編碼方法,不僅能夠減少I幀的大小,而且也能夠保證I幀的畫面質(zhì)量。
[0006]本發(fā)明實(shí)施方式中的視頻編碼裝置,包括判斷模塊、計(jì)算模塊、劃分模塊、標(biāo)記模塊以及編碼模塊,其中,判斷模塊用于判斷是否需要對(duì)當(dāng)前影像采用I幀傳輸;計(jì)算模塊用于在所述當(dāng)前影像需要采用I幀傳輸時(shí)計(jì)算需要分散為N幀,其中N為整數(shù);劃分模塊用于將當(dāng)前影像劃分為Μ個(gè)宏塊,識(shí)別所述當(dāng)前影像的內(nèi)容并根據(jù)內(nèi)容劃分所述Μ個(gè)宏塊的重要性,其中Μ為整數(shù);標(biāo)記模塊用于將所述Μ個(gè)宏塊按照重要性由高到低排序,依順序?qū)⑺靓瑐€(gè)宏塊加上宏塊標(biāo)記η,其中η為屬于1到Ν之間的整數(shù);編碼模塊用于依次讀取所有宏塊,對(duì)宏塊標(biāo)記η為1的宏塊米用低QP值巾貞內(nèi)編碼,對(duì)宏塊標(biāo)記η大于1的宏塊米取高QP值幀內(nèi)編碼,以編碼為第一幀傳輸;重新依次讀取所有宏塊以編碼為第i幀傳輸,其中對(duì)宏塊標(biāo)記η小于i的宏塊采用幀間編碼,i為屬于2到N之間的整數(shù)。
[0007]優(yōu)選地,所述計(jì)算模塊根據(jù)網(wǎng)絡(luò)傳輸通道最大可允許的瞬時(shí)傳輸閾值S_ frane計(jì)算所述當(dāng)前影像幀需要分散為N幀。
[0008]優(yōu)選地,所述劃分模塊按照8X8或者16X 16的方式劃分宏塊。
[0009]優(yōu)選地,標(biāo)記模塊將所述Μ個(gè)宏塊按照按照重要性由高到低排序之后,依序平均分配至N幀中,其中,每一幀對(duì)應(yīng)的宏塊數(shù)為Μ/Ν,所述Μ個(gè)宏塊的宏塊標(biāo)記η分別為對(duì)應(yīng)分配的幀的序號(hào)。
[0010]優(yōu)選地,所述標(biāo)記模塊依序依次選取宏塊加入到宏塊列表中,計(jì)算所述宏塊列表中的宏塊編碼后的總大小sTcital,其中
Slotal — [l_(Cmb list/Cmb total) ] *SHQp+SINTRA,Cmb list 為宏塊列表內(nèi)的宏塊個(gè)數(shù),cnb total為所有宏塊的個(gè)數(shù),Sw為當(dāng)前影像采用高QP值編碼時(shí)的大小,SINTRA為所述宏塊列表采用幀內(nèi)編碼后的大小,直至所述總大小sTcital大于s_ frane,并添加所述宏塊列表中宏塊的宏塊標(biāo)記為1;清空宏塊列表,繼續(xù)依次將剩余的宏塊加入到宏塊列表中,計(jì)算所述列表中的宏塊編碼后的總大小sTc]tal,其中
^Total Sfotal [1 (Cmb list/
Cmb total) ] *SpsKIp+SINTRA,其中 SpsKIp 為當(dāng)前影像米用巾貞間編碼時(shí)的大小,直至所述總大小STcital大于Smax frallie,并添加所述宏塊列表中宏塊的宏塊標(biāo)記為η。
[0011]優(yōu)選地,所述編碼模塊在編碼第η幀時(shí),對(duì)宏塊標(biāo)記η等于i的宏塊采取低QP值幀內(nèi)編碼,對(duì)宏塊標(biāo)記η大于i的宏塊采取高QP值幀間編碼。
[0012]本發(fā)明實(shí)施方式中的視頻編碼方法,包括以下步驟:判斷是否需要對(duì)當(dāng)前影像采用I幀傳輸;在所述當(dāng)前影像需要采用I幀傳輸時(shí)計(jì)算需要分散為N幀,其中N為整數(shù);將當(dāng)前影像劃分為Μ個(gè)宏塊,識(shí)別所述當(dāng)前影像的內(nèi)容并根據(jù)內(nèi)容劃分所述Μ個(gè)宏塊的重要性,其中Μ為整數(shù);將所述Μ個(gè)宏塊按照重要性由高到低排序,依順序?qū)⑺靓瑐€(gè)宏塊加上宏塊標(biāo)記η,其中η為屬于1到Ν之間的整數(shù);及依次讀取所有宏塊,對(duì)宏塊標(biāo)記η為1的宏塊采用低QP值幀內(nèi)編碼,對(duì)宏塊標(biāo)記η大于1的宏塊采取高QP值幀內(nèi)編碼,以編碼為第一中貞傳輸;重新依次讀取所有宏塊以編碼為第i巾貞傳輸,其中對(duì)宏塊標(biāo)記η小于i的宏塊米用幀間編碼,i為屬于2到N之間的整數(shù)。
[0013]優(yōu)選地,根據(jù)網(wǎng)絡(luò)傳輸通道最大可允許的瞬時(shí)傳輸閾值S_ fraBe計(jì)算所述當(dāng)前影像幀需要分散為N幀。
[0014]優(yōu)選地,按照8X8或者16X 16的方式將當(dāng)前影像劃分為Μ個(gè)宏塊。
[0015]優(yōu)選地,所述將所述Μ個(gè)宏塊按照重要性由高到低排序,依順序?qū)⑺靓瑐€(gè)宏塊加上宏塊標(biāo)記η的步驟還包括:將所述Μ個(gè)宏塊依序平均分配至Ν幀中,其中,每一幀對(duì)應(yīng)的宏塊數(shù)為Μ/Ν,所述Μ個(gè)宏塊的宏塊標(biāo)記η分別為對(duì)應(yīng)分配的幀的序號(hào)。
[0016]優(yōu)選地,所述將所述Μ個(gè)宏塊按照重要性由高到低排序,依順序?qū)⑺靓瑐€(gè)宏塊加上宏塊標(biāo)記η的步驟還包括:依序依次選取宏塊加入到宏塊列表中,計(jì)算所述宏塊列表中的宏塊編碼后的總大小STcital,其中
Slotal — [l_(Cmb list/Cmb total) ] *SHQp+SINTRA,Cmb list 為宏塊列表內(nèi)的宏塊個(gè)數(shù),cnb total為所有宏塊的個(gè)數(shù),Sw為當(dāng)前影像采用高QP值編碼時(shí)的大小,SINTRA為所述宏塊列表采用幀內(nèi)編碼后的大小,直至所述總大小sTcital大于s_ frane,并添加所述宏塊列表中宏塊的宏塊標(biāo)記為1;清空宏塊列表,繼續(xù)依次將剩余的宏塊加入到宏塊列表中,計(jì)算所述列表中的宏塊編碼后的總大小sTc]tal,其中
^Total Sfotal [1 (Cmb list/
Cmb total) ] *SpsKIp+SINTRA,其中 SpsKIp 為當(dāng)前影像米用巾貞間編碼時(shí)的大小,直至所述總大小STcital大于Smax frallie,并添加所述宏塊列表中宏塊的宏塊標(biāo)記為η。
[0017]優(yōu)選地,在編碼第η幀時(shí),對(duì)宏塊標(biāo)記η等于i的宏塊采取低QP值幀內(nèi)編碼,對(duì)宏塊標(biāo)記η大于i的宏塊采取高QP值幀間編碼。
[0018]相較于現(xiàn)有技術(shù),本發(fā)明通過根據(jù)當(dāng)前網(wǎng)絡(luò)傳輸環(huán)境計(jì)算需要將當(dāng)前影像分散至多少幀傳輸,并通過影像識(shí)別對(duì)影像按照重要性進(jìn)行區(qū)域劃分,對(duì)不同區(qū)域采取不同的編碼方式,不僅能夠減少幀的大小,而且也能夠保證畫面質(zhì)量。
【附圖說明】
[0019]圖1為本發(fā)明視頻編碼裝置的應(yīng)用環(huán)境圖。
[0020]圖2為本發(fā)明視頻編碼裝置一實(shí)施方式的功能模塊圖。
[0021]圖3為本發(fā)明視頻編碼方法一實(shí)施方式的流程圖。
[0022]圖4為本發(fā)明視頻編碼方法中添加宏塊標(biāo)記的方法流程圖。
[0023]圖5為本發(fā)明視頻編碼方法中對(duì)每個(gè)宏塊進(jìn)行編碼的方法流程圖。
[0024]主要元件符號(hào)說明
[0025]視頻編碼裝置 10
[0026]發(fā)送端 30
[0027]接收端60
[0028]網(wǎng)絡(luò)傳輸通道 40
[0029]解碼裝置 50
[0030]判斷模塊 101
[0031]計(jì)算模塊 103
[0032]劃分模塊 105
[0033]標(biāo)記模塊 107
[0034]編碼模塊 109
【具體實(shí)施方式】
[0035]為使本發(fā)明目的、技術(shù)方案、及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉實(shí)施例,對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。
[0036]圖1所示為本發(fā)明視頻編碼裝置的應(yīng)用環(huán)境圖。如圖所示,發(fā)送端30發(fā)出的視頻信息首先進(jìn)行視頻編碼裝置10進(jìn)行編碼,再通過網(wǎng)絡(luò)傳輸通道40傳輸至解碼裝置50及接收端60處,發(fā)送端30可以為個(gè)人計(jì)算機(jī)、監(jiān)控設(shè)備、或攝像設(shè)備,本領(lǐng)域技術(shù)人員可以理解的是,視頻編碼裝置10可以位于發(fā)送端30上,也可以是單獨(dú)的組件,網(wǎng)絡(luò)傳輸通道40最大可允許的傳輸閾值為S_ frane,接收端60可以為個(gè)人計(jì)算機(jī)、智能手機(jī)、或顯示設(shè)備,接收端60的數(shù)量可以為多個(gè),本發(fā)明并不以此為限。
[0037]圖2所示為本發(fā)明影像編碼裝置一實(shí)施方式的功能模塊圖。在本實(shí)施方式中,視頻編碼裝置10包括判斷模塊101、計(jì)算模塊103、劃分模塊105、標(biāo)記模塊107以及編碼模塊109。
[0038]下面結(jié)合圖3-圖5對(duì)本發(fā)明影像編碼裝置各模塊功能進(jìn)行詳細(xì)介紹。
當(dāng)前第1頁
1 
2 
3