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

視頻編碼器、視頻編碼系統(tǒng)和視頻編碼方法與流程

文檔序號(hào):12279708閱讀:238來源:國(guó)知局
視頻編碼器、視頻編碼系統(tǒng)和視頻編碼方法與流程

本發(fā)明涉及視頻通信領(lǐng)域,尤其涉及一種視頻編碼器、視頻編碼系統(tǒng)和視頻編碼方法。



背景技術(shù):

多媒體內(nèi)容產(chǎn)生和分發(fā)操作通常包括視頻編碼。視頻編碼過程通常是計(jì)算密集型的。結(jié)果,視頻編碼過程可能是非常耗時(shí)的。例如,編碼器編碼一部高質(zhì)量高清電影可能要花費(fèi)數(shù)十小時(shí)。尤其是對(duì)于高分辨率和高幀率場(chǎng)景,一個(gè)編碼器往往難以處理,可能會(huì)產(chǎn)生較為嚴(yán)重的延遲。由于視頻編碼的時(shí)間對(duì)于成功的多媒體內(nèi)容產(chǎn)生和分發(fā)流水線而言是重要因素,因此減少視頻編碼時(shí)間的系統(tǒng)和技術(shù)將是非常有用的。



技術(shù)實(shí)現(xiàn)要素:

在發(fā)明內(nèi)容部分中引入了一系列簡(jiǎn)化形式的概念,這將在具體實(shí)施方式部分中進(jìn)一步詳細(xì)說明。本發(fā)明的發(fā)明內(nèi)容部分并不意味著要試圖限定出所要求保護(hù)的技術(shù)方案的關(guān)鍵特征和必要技術(shù)特征,更不意味著試圖確定所要求保護(hù)的技術(shù)方案的保護(hù)范圍。

一方面,本發(fā)明公開了一種視頻編碼器,包括邏輯控制模塊和編碼模塊。其中,所述邏輯控制模塊配置為接收外部控制器發(fā)送的對(duì)每一幀圖像的指定部分進(jìn)行編碼的控制命令,并將所述控制命令發(fā)送給所述編碼模塊;以及所述編碼模塊配置為從所述邏輯控制模塊接收所述控制命令,并基于所述控制命令對(duì)每一幀圖像的所述指定部分進(jìn)行編碼,以與其他多個(gè)所述視頻編碼器合作完成每一幀圖像的編碼。

在本發(fā)明的一個(gè)實(shí)施例中,所述編碼模塊包括幀間預(yù)測(cè)模塊、幀內(nèi)預(yù)測(cè)模塊、模式判決模塊和熵編碼模塊,其中,所述幀間預(yù)測(cè)模塊和所述幀內(nèi)預(yù)測(cè)模塊均配置為將每一幀圖像的所述指定部分視為一幀圖像數(shù)據(jù)。

在本發(fā)明的一個(gè)實(shí)施例中,所述幀間預(yù)測(cè)模塊和所述幀內(nèi)預(yù)測(cè)模塊各 自的寄存器的值基于每一幀圖像的所述指定部分的圖像大小而設(shè)置。

在本發(fā)明的一個(gè)實(shí)施例中,所述幀間預(yù)測(cè)模塊配置為在進(jìn)行幀間預(yù)測(cè)時(shí)將已經(jīng)編碼的前一幀整幀圖像作為參考幀。

在本發(fā)明的一個(gè)實(shí)施例中,在所述視頻編碼器中編碼的每一幀圖像的指定部分定義為條帶(strip),所述條帶的邊界無需進(jìn)行去塊效應(yīng)濾波。

在本發(fā)明的一個(gè)實(shí)施例中,所述視頻編碼器進(jìn)行編碼的條帶和與所述視頻編碼器合作完成編碼的其他多個(gè)所述視頻編碼器的每一個(gè)進(jìn)行編碼的條帶大小相近。

在本發(fā)明的一個(gè)實(shí)施例中,所述視頻編碼器通過配置NVENC硬件編碼引擎而實(shí)現(xiàn)。

在本發(fā)明的一個(gè)實(shí)施例中,所述視頻編碼器能夠應(yīng)用于GP100圖形處理單元中。

另一方面,本發(fā)明還公開了一種視頻編碼系統(tǒng),包括控制器、多個(gè)視頻編碼器和存儲(chǔ)器。其中,所述控制器配置為向所述多個(gè)視頻編碼器中的每一個(gè)發(fā)送控制命令,以控制每一幀圖像由所述多個(gè)視頻編碼器共同完成編碼;以及所述多個(gè)視頻編碼器中的每一個(gè)配置為接收所述控制命令、基于所述控制命令從所述存儲(chǔ)器讀取一幀圖像的部分?jǐn)?shù)據(jù)、對(duì)所讀取的數(shù)據(jù)進(jìn)行編碼、以及將經(jīng)編碼的數(shù)據(jù)寫入所述存儲(chǔ)器。

在本發(fā)明的一個(gè)實(shí)施例中,所述多個(gè)視頻編碼器中的每一個(gè)進(jìn)行編碼的一幀圖像的部分?jǐn)?shù)據(jù)定義為條帶,所述多個(gè)視頻編碼器中的每一個(gè)進(jìn)行編碼的條帶大小相近。

在本發(fā)明的一個(gè)實(shí)施例中,所述視頻編碼器包括邏輯控制模塊和編碼模塊。其中,所述邏輯控制模塊配置為接收所述控制器發(fā)送的所述控制命令,并將所述控制命令發(fā)送給所述編碼模塊;以及所述編碼模塊配置為從所述邏輯控制模塊接收所述控制命令,并基于所述控制命令對(duì)每一幀圖像的指定部分進(jìn)行編碼,以與其他多個(gè)所述視頻編碼器合作完成每一幀圖像的編碼。

在本發(fā)明的一個(gè)實(shí)施例中,所述編碼模塊包括幀間預(yù)測(cè)模塊、幀內(nèi)預(yù)測(cè)模塊、模式判決模塊和熵編碼模塊,其中,所述幀間預(yù)測(cè)模塊和所述幀內(nèi)預(yù)測(cè)模塊均配置為將每一幀圖像的所述指定部分視為一幀圖像數(shù)據(jù)。

在本發(fā)明的一個(gè)實(shí)施例中,所述幀間預(yù)測(cè)模塊和所述幀內(nèi)預(yù)測(cè)模塊各 自的寄存器的值基于每一幀圖像的所述指定部分的圖像大小而設(shè)置。

在本發(fā)明的一個(gè)實(shí)施例中,所述幀間預(yù)測(cè)模塊配置為在進(jìn)行幀間預(yù)測(cè)時(shí)將已經(jīng)編碼的前一幀整幀圖像作為參考幀。

在本發(fā)明的一個(gè)實(shí)施例中,在所述多個(gè)視頻編碼器的每一個(gè)中編碼的條帶的邊界無需進(jìn)行去塊效應(yīng)濾波。

再一方面,本發(fā)明還公開了一種視頻編碼方法,包括:將每一幀圖像分為多個(gè)條帶;將所述多個(gè)條帶分配給多個(gè)視頻編碼器進(jìn)行編碼;以及將經(jīng)編碼的多個(gè)條帶合并為一幀經(jīng)編碼的圖像。

在本發(fā)明的一個(gè)實(shí)施例中,所述條帶的數(shù)目與所述視頻編碼器的數(shù)目相等。

在本發(fā)明的一個(gè)實(shí)施例中,所述將每一幀圖像分為多個(gè)條帶進(jìn)一步包括:將每一幀圖像按照水平方向分為多個(gè)條帶。

在本發(fā)明的一個(gè)實(shí)施例中,所述多個(gè)條帶的邊界無需進(jìn)行去塊效應(yīng)濾波。

在本發(fā)明的一個(gè)實(shí)施例中,所述視頻編碼器為包括邏輯控制模塊和編碼模塊。其中,所述邏輯控制模塊配置為接收外部控制器發(fā)送的對(duì)每一幀圖像的指定條帶進(jìn)行編碼的控制命令,并將所述控制命令發(fā)送給所述編碼模塊;以及所述編碼模塊配置為從所述邏輯控制模塊接收所述控制命令,并基于所述控制命令對(duì)每一幀圖像的所述指定條帶進(jìn)行編碼,以與其他多個(gè)所述視頻編碼器合作完成每一幀圖像的編碼。

使用本發(fā)明提供的視頻編碼器、視頻編碼系統(tǒng)和視頻編碼方法,每一幀圖像可以由多個(gè)視頻編碼器共同完成,從而有效減少編碼時(shí)間,降低編碼延遲,實(shí)現(xiàn)對(duì)高清視頻源尤其是4k及其以上分辨率視頻源的實(shí)時(shí)編碼。

附圖說明

本發(fā)明的下列附圖在此作為本發(fā)明的一部分用于理解本發(fā)明。附圖中示出了本發(fā)明的實(shí)施例及其描述,用來解釋本發(fā)明的原理。在附圖中,

圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的視頻編碼器的結(jié)構(gòu)框圖;

圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的視頻編碼系統(tǒng)的結(jié)構(gòu)框圖;以及

圖3示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的視頻編碼方法的流程圖。

具體實(shí)施方式

在下文的描述中,給出了大量具體的細(xì)節(jié)以便提供對(duì)本發(fā)明更為徹底的理解。然而,對(duì)于本領(lǐng)域技術(shù)人員來說顯而易見的是,本發(fā)明可以無需一個(gè)或多個(gè)這些細(xì)節(jié)而得以實(shí)施。在其他的例子中,為了避免與本發(fā)明發(fā)生混淆,對(duì)于本領(lǐng)域公知的一些技術(shù)特征未進(jìn)行描述。

為了徹底了解本發(fā)明,將在下列的描述中提出詳細(xì)的結(jié)構(gòu)。顯然,本發(fā)明的施行并不限定于本領(lǐng)域的技術(shù)人員所熟習(xí)的特殊細(xì)節(jié)。本發(fā)明的較佳實(shí)施例詳細(xì)描述如下,然而除了這些詳細(xì)描述外,本發(fā)明還可以具有其他實(shí)施方式。

在現(xiàn)有的視頻編碼技術(shù)中,一幀圖像通常僅由一個(gè)編碼器進(jìn)行編碼。然而,一個(gè)編碼器難以滿足高分辨率、高幀率和/或?qū)崟r(shí)處理的應(yīng)用場(chǎng)合。

根據(jù)本發(fā)明的一方面,公開了一種視頻編碼器。圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的視頻編碼器100的結(jié)構(gòu)框圖。如圖1所示,該視頻編碼器100包括邏輯控制模塊101和編碼模塊102。其中,邏輯控制模塊配置為接收外部控制器發(fā)送的對(duì)每一幀圖像的指定部分進(jìn)行編碼的控制命令,并將該控制命令發(fā)送給編碼模塊102;編碼模塊102配置為從邏輯控制模塊101接收控制命令,并基于該控制命令對(duì)每一幀圖像的指定部分進(jìn)行編碼,以與其他多個(gè)視頻編碼器合作完成每一幀圖像的編碼。這里,其他多個(gè)視頻編碼器可以是和視頻編碼器100結(jié)構(gòu)相同的編碼器。每個(gè)視頻編碼器100基于所接收的控制命令從外部存儲(chǔ)器讀取一幀圖像的指定部分,并對(duì)該幀圖像的該指定部分進(jìn)行編碼,使該幀圖像的編碼可以由多個(gè)視頻編碼器來共同完成,從而有效減少編碼時(shí)間,降低編碼延遲,實(shí)現(xiàn)對(duì)高清視頻源尤其是4k及其以上分辨率視頻源的實(shí)時(shí)編碼。例如,可以由3個(gè)視頻編碼器100共同完成一幀圖像的編碼,其中每個(gè)視頻編碼器100完成一幀圖像的指定部分的編碼,例如每個(gè)視頻編碼器100完成一幀圖像的三分之一。

根據(jù)本發(fā)明的一個(gè)實(shí)施例,編碼模塊102可以包括幀間預(yù)測(cè)模塊1021、幀內(nèi)預(yù)測(cè)模塊1022、模式判決模塊1023和熵編碼模塊1024。其中,幀間預(yù)測(cè)模塊1021進(jìn)行幀間運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償,幀間預(yù)測(cè)模塊1021還配置為在進(jìn)行幀間預(yù)測(cè)時(shí)將已經(jīng)編碼的前一幀整幀圖像作為參考幀;幀內(nèi)預(yù)測(cè)模塊1022進(jìn)行幀內(nèi)預(yù)測(cè)編碼,并將最終的殘差等需要編碼的信息發(fā)送給熵編碼模塊1024;模塊判決模塊1023從幀間預(yù)測(cè)結(jié)果和幀內(nèi)預(yù)測(cè)結(jié)果中選出最優(yōu)的預(yù)測(cè)結(jié)果,并將該最優(yōu)結(jié)果返回給幀間預(yù)測(cè)模塊1021和幀內(nèi)預(yù)測(cè) 模塊1022;熵編碼模塊1024對(duì)預(yù)測(cè)殘差等信息進(jìn)行編碼,并將編碼后的結(jié)果寫入外部存儲(chǔ)器。

其中,幀間預(yù)測(cè)模塊1021和幀內(nèi)預(yù)測(cè)模塊1022均可以配置為將每一幀圖像的指定部分視為一幀圖像數(shù)據(jù)。例如,通過對(duì)幀間預(yù)測(cè)模塊1021和幀內(nèi)預(yù)測(cè)模塊1022進(jìn)行配置,使其各自的寄存器的值基于每一幀圖像的指定部分的圖像大小而設(shè)置。如上面的示例所述,可以由3個(gè)視頻編碼器100共同完成一幀圖像的編碼,其中每個(gè)視頻編碼器100完成一幀圖像的指定部分的編碼,例如每個(gè)視頻編碼器100完成一幀圖像的三分之一。此處,該3個(gè)視頻編碼器100內(nèi)的幀間預(yù)測(cè)模塊1021和幀內(nèi)預(yù)測(cè)模塊1022中的圖像高度和寬度寄存器的值可以基于三分之一幀圖像的高度和寬度而設(shè)置。此外,在幀間預(yù)測(cè)模塊1021中和熵編碼模塊1024中,宏塊(MB)位置寄存器的值可以基于該宏塊在整幅圖像中的位置而設(shè)置。這樣,編碼模塊102可以將其讀取的一幀圖像的一部分視為獨(dú)立的一幀圖像數(shù)據(jù)而非一幀圖像的一部分,從而在完成該指定部分的編碼時(shí)發(fā)出本幀編碼結(jié)束的信號(hào),實(shí)現(xiàn)多個(gè)編碼器共同完成一幀圖像的編碼。

根據(jù)本發(fā)明的一個(gè)實(shí)施例,在視頻編碼器100中編碼的每一幀圖像的指定部分可以定義為條帶,所述條帶的邊界無需進(jìn)行去塊效應(yīng)濾波。由于每個(gè)視頻編碼器100僅編碼一幀圖像的一部分,換句話說,一幀圖像的兩個(gè)邊界的像素點(diǎn)分別位于兩個(gè)視頻編碼器100內(nèi),因此,在視頻編碼器100中編碼的條帶的邊界無需進(jìn)行去塊效應(yīng)濾波。

根據(jù)本發(fā)明的一個(gè)實(shí)施例,視頻編碼器進(jìn)行編碼的條帶和與視頻編碼器合作完成編碼的其他多個(gè)視頻編碼器的每一個(gè)進(jìn)行編碼的條帶大小相近。如上面的示例所述,可以由3個(gè)視頻編碼器100共同完成一幀圖像的編碼,其中每個(gè)視頻編碼器100完成一幀圖像的指定部分的編碼。該3個(gè)視頻編碼器100各自所完成的編碼量可以相同(例如每個(gè)視頻編碼器100完成一幀圖像的三分之一)也可以不同。每個(gè)視頻編碼器100完成大小相近的條帶的編碼可以最大限度地提高編碼效率。

根據(jù)本發(fā)明的一個(gè)實(shí)施例,視頻編碼器100可以通過配置NVENC硬件編碼引擎而實(shí)現(xiàn)。NVENC為H.264硬件編碼引擎,其可以提供較快的編碼和轉(zhuǎn)碼速度,還可以提供良好的性能瓦特比。

根據(jù)本發(fā)明的一個(gè)實(shí)施例,視頻編碼器100能夠應(yīng)用于GP100圖形 處理單元中。GP100圖像處理單元中包括3個(gè)NVENC編碼引擎,通過將每個(gè)NVENC編碼引擎配置為如上所述的視頻編碼器100,可以實(shí)現(xiàn)GP100圖像處理單元中3個(gè)NVENC編碼引擎合作完成每幀圖像的編碼,從而提高編碼速度,減少編碼時(shí)間,實(shí)現(xiàn)對(duì)高清視頻源尤其是4k及其以上分辨率視頻源的實(shí)時(shí)編碼。

根據(jù)本發(fā)明的另一方面,還公開了一種視頻編碼系統(tǒng)。圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的視頻編碼系統(tǒng)200的結(jié)構(gòu)框圖。如圖2所示,該視頻編碼系統(tǒng)200包括控制器201、多個(gè)視頻編碼器202和存儲(chǔ)器203。其中,控制器201配置為向多個(gè)視頻編碼器202中的每一個(gè)發(fā)送控制命令,以控制每一幀圖像由多個(gè)視頻編碼器202共同完成編碼;多個(gè)視頻編碼器202中的每一個(gè)配置為接收控制命令、基于控制命令從存儲(chǔ)器讀取一幀圖像的部分?jǐn)?shù)據(jù)、對(duì)所讀取的數(shù)據(jù)進(jìn)行編碼、以及將經(jīng)編碼的數(shù)據(jù)寫入存儲(chǔ)器。這里,多個(gè)視頻編碼器202中的每一個(gè)可以與圖1所示的視頻編碼器100的結(jié)構(gòu)相同。為了描述簡(jiǎn)單,此處不再贅述視頻編碼器202的結(jié)構(gòu)和工作過程。與先前示例類似,在一個(gè)示例中,視頻編碼系統(tǒng)200可以包括3個(gè)視頻編碼器202,其中每個(gè)視頻編碼器可以基于控制器201的控制命令從存儲(chǔ)器203讀取一幀圖像的指定部分并對(duì)其進(jìn)行編碼。這樣,可以由視頻編碼系統(tǒng)200內(nèi)包括的3個(gè)視頻編碼器202合作完成每幀圖像的編碼。

根據(jù)本發(fā)明的一個(gè)實(shí)施例,多個(gè)視頻編碼器202中的每一個(gè)進(jìn)行編碼的一幀圖像的部分?jǐn)?shù)據(jù)可以定義為條帶,多個(gè)視頻編碼器202中的每一個(gè)進(jìn)行編碼的條帶大小相近。如上面的示例所述,視頻編碼系統(tǒng)200可以包括3個(gè)視頻編碼器202,其中每個(gè)視頻編碼器可以基于控制器201的控制命令從存儲(chǔ)器203讀取一幀圖像的指定部分并對(duì)其進(jìn)行編碼。該3個(gè)視頻編碼器202各自要完成的編碼量可以相同(例如每個(gè)視頻編碼器202完成一幀圖像的三分之一)也可以不同。每個(gè)視頻編碼器202完成相同大小相近的條帶的編碼可以最大限度地提高編碼效率。

根據(jù)本發(fā)明的一個(gè)實(shí)施例,視頻編碼器202可以通過配置NVENC硬件編碼引擎而實(shí)現(xiàn)。視頻編碼系統(tǒng)200能夠?qū)崿F(xiàn)于GP100圖形處理單元中。其中,控制器201可以由GP100圖形處理單元的GPU控制中心實(shí)現(xiàn),多個(gè)視頻編碼器202可以由GP100圖形處理單元的3個(gè)NVENC硬件編碼引擎實(shí)現(xiàn),并且存儲(chǔ)器203可以由GP100圖形處理單元的GPU顯存實(shí)現(xiàn)。

本領(lǐng)域普通技術(shù)人員可以理解,上述包括3個(gè)視頻編碼器202的視頻編碼系統(tǒng)200僅為一個(gè)實(shí)施例,視頻編碼系統(tǒng)200可以包括其他數(shù)目的視頻編碼器202以滿足不同的編碼需求。此外,視頻編碼系統(tǒng)200可以實(shí)現(xiàn)在其他圖形處理單元(非GP100圖形處理單元)中。

根據(jù)本發(fā)明的再一方面,還公開了一種視頻編碼方法。圖3示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的視頻編碼方法300的流程圖。該視頻編碼方法300包括以下步驟:

步驟301:將每一幀圖像分為多個(gè)條帶;

步驟302:將多個(gè)條帶分配給多個(gè)視頻編碼器進(jìn)行編碼;

步驟303:將經(jīng)編碼的多個(gè)條帶合并為一幀經(jīng)編碼的圖像。

此處所述的視頻編碼器例如可以采用如圖1所示的視頻編碼器100的結(jié)構(gòu),以支持一個(gè)視頻編碼器僅編碼一幀圖像的一部分。為了描述簡(jiǎn)單,此處不再贅述視頻編碼方法300中所述的視頻編碼器的結(jié)構(gòu)和工作過程。

根據(jù)本發(fā)明的一個(gè)實(shí)施例,條帶的數(shù)目與視頻編碼器的數(shù)目可以相等。例如,當(dāng)包括3個(gè)視頻編碼器時(shí),可以將每一幀圖像分為3個(gè)條帶,每個(gè)視頻編碼器完成1個(gè)條帶的編碼。每個(gè)視頻編碼器完成相同數(shù)據(jù)量的編碼可以最大限度地提高編碼效率。

根據(jù)本發(fā)明的一個(gè)實(shí)施例,將每一幀圖像分為多個(gè)條帶可以進(jìn)一步包括:將每一幀圖像按照水平方向分為多個(gè)條帶。從外,由于將每一幀圖像分為多個(gè)條帶,每一幀圖像的兩個(gè)邊界的像素點(diǎn)分別位于兩個(gè)視頻編碼器內(nèi),因此多個(gè)條帶的邊界無需進(jìn)行去塊效應(yīng)濾波。

通過該視頻編碼方法300,一幀圖像的編碼可以由多個(gè)視頻編碼器合作完成。每個(gè)視頻編碼器僅需處理一幀圖像的一部分,與一個(gè)視頻編碼器處理整幀圖像相比,有效提高了編碼效率,減少了編碼時(shí)間。

本發(fā)明已經(jīng)通過上述實(shí)施例進(jìn)行了說明,但應(yīng)當(dāng)理解的是,上述實(shí)施例只是用于舉例和說明的目的,而非意在將本發(fā)明限制于所描述的實(shí)施例范圍內(nèi)。此外本領(lǐng)域技術(shù)人員可以理解的是,本發(fā)明并不局限于上述實(shí)施例,根據(jù)本發(fā)明的教導(dǎo)還可以做出更多種的變型和修改,這些變型和修改均落在本發(fā)明所要求保護(hù)的范圍以內(nèi)。本發(fā)明的保護(hù)范圍由附屬的權(quán)利要求書及其等效范圍所界定。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1