專利名稱:一種視頻圖像格式轉(zhuǎn)換方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻圖像處理領(lǐng)域,特別是涉及一種視頻圖像格式轉(zhuǎn)換方法和裝置。
背景技術(shù):
色彩空間有多種表達(dá)方法,如RGB,CMYK, HLS,YUV等,在數(shù)字廣播電視領(lǐng)域經(jīng)常 應(yīng)用的是YUV和RGB格式的轉(zhuǎn)換。YUV包含多種具體的顏色表達(dá)方式和模型,如YUV422, YUV420, YUV444等,RGB格式也包含多種具體的顏色表達(dá)方式和模型,如RGB565,RGB24, RGB32等。目前,隨著廣播電視數(shù)字化、高清化技術(shù)應(yīng)用的發(fā)展,通過(guò)攝像機(jī)等視頻圖像采集 設(shè)備采集的實(shí)時(shí)高清YUV數(shù)據(jù)文件非常大,為了能夠在最快的時(shí)間連續(xù)處理如此大容量的 數(shù)據(jù),對(duì)大容量數(shù)據(jù)轉(zhuǎn)換處理速度的要求越來(lái)越高。但是常規(guī)的視頻圖像格式運(yùn)用浮點(diǎn)運(yùn) 算的轉(zhuǎn)換方式,這種轉(zhuǎn)換方式存在非常耗時(shí)的問(wèn)題。由于存在浮點(diǎn)運(yùn)算耗時(shí)的問(wèn)題,所以現(xiàn)在大家重點(diǎn)研究的是如何提高格式轉(zhuǎn)換的 速度。當(dāng)前主要是采用整型運(yùn)算或者查表來(lái)加快計(jì)算速度,比如有整數(shù)計(jì)算法、完全查表 法、部分查表法等方法。雖然能夠在一定程度上提高轉(zhuǎn)換速度,但也存在著各自技術(shù)上的不 足和缺陷,比如完全查表法要求存儲(chǔ)設(shè)備足夠大,部分查表法則步驟繁瑣、處理速度慢。隨著廣播電視領(lǐng)域數(shù)字化、高清化的發(fā)展,我們要解決多路高清實(shí)時(shí)視頻的格式 轉(zhuǎn)換問(wèn)題,即對(duì)多路高清實(shí)時(shí)視頻龐大數(shù)據(jù)量的快速處理,上述方法已經(jīng)不能滿足實(shí)際的 需求。
發(fā)明內(nèi)容
針對(duì)現(xiàn)有技術(shù)中存在的不足和缺陷,本發(fā)明的目的在于提供一種視頻圖像格式轉(zhuǎn) 換方法和裝置,基于多數(shù)據(jù)并行處理的特點(diǎn),最大程度的利用中央處理單元的處理能力,進(jìn) 一步提高視頻圖像格式的轉(zhuǎn)換效率。為實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明提供了一種視頻圖像格式轉(zhuǎn)換方法,所述方法包括 根據(jù)中央處理單元的數(shù)量,在每一個(gè)中央處理單元中生成一個(gè)數(shù)據(jù)處理單元;由數(shù)據(jù)采集 單元從外部采集實(shí)時(shí)YUV數(shù)據(jù),并且將所述YUV實(shí)時(shí)數(shù)據(jù)存儲(chǔ)至主存儲(chǔ)單元中;根據(jù)所生 成的數(shù)據(jù)處理單元的數(shù)量,將主存儲(chǔ)單元中的YUV實(shí)時(shí)數(shù)據(jù)平均拆分成相應(yīng)數(shù)量的多個(gè)等 份;將拆分后的多個(gè)等份數(shù)據(jù)處理任務(wù)平均分配給每一個(gè)數(shù)據(jù)處理單元,并且監(jiān)測(cè)所述數(shù) 據(jù)處理單元的運(yùn)行狀態(tài);每一個(gè)數(shù)據(jù)處理單元將拆分后的數(shù)據(jù)并行地轉(zhuǎn)換為RGB數(shù)據(jù);將 轉(zhuǎn)換后的RGB數(shù)據(jù)存儲(chǔ)到主存儲(chǔ)單元。此外,本發(fā)明提供的方法還包括將YUV與RGB基本轉(zhuǎn)換公式中的因子進(jìn)行整數(shù)處 理,即將公式中所有的因子放大1024倍,然后取成整數(shù),生成新的整數(shù)因子計(jì)算公式,將處 理后的fY,fRv, fGu, fGv, fBu整數(shù)因子等量拆分成多份處理,存儲(chǔ)到第二大位數(shù)寄存器中。數(shù)據(jù)處理單元將YUV數(shù)據(jù)從主存儲(chǔ)單元移存至第一大位數(shù)寄存器,再?gòu)牡谝淮笪?數(shù)寄存器中拆分到第二大位數(shù)寄存器中,根據(jù)新的整數(shù)因子計(jì)算公式,將YUV數(shù)據(jù)進(jìn)行整 數(shù)變換,數(shù)據(jù)處理單元將計(jì)算的每個(gè)分量合并成ffrrggbb ffrrggbb ffrrggbb ffrrggbb,生成RGB數(shù)據(jù)。判斷是否完成所有數(shù)據(jù),如果沒(méi)有完成,則繼續(xù)上述處理任務(wù),如果完成,則設(shè)置 標(biāo)記“完成”;調(diào)度單元檢查標(biāo)記時(shí),將此數(shù)據(jù)處理單元置為空閑狀態(tài),如果沒(méi)有完成,則始 終保持為忙碌狀態(tài)。將處理完成的RGB數(shù)據(jù)從第二大位寄存器移存到主存儲(chǔ)單元中。此外,本發(fā)明還提供了一種視頻圖像格式轉(zhuǎn)換裝置,所述裝置包括數(shù)據(jù)采集單 元,用于采集實(shí)時(shí)YUV數(shù)據(jù);主存儲(chǔ)單元,用于存儲(chǔ)采集的YUV數(shù)據(jù)以及生成的RGB數(shù)據(jù);調(diào) 度單元,用于根據(jù)中央處理單元的數(shù)量,在每一個(gè)中央處理單元中生成一個(gè)數(shù)據(jù)處理單元, 并且根據(jù)所生成的數(shù)據(jù)處理單元的數(shù)量,將主存儲(chǔ)單元中的YUV實(shí)時(shí)數(shù)據(jù)平均拆分成相應(yīng) 數(shù)量的多個(gè)等份,將拆分后的多個(gè)等份數(shù)據(jù)平均分配到每一個(gè)數(shù)據(jù)處理單元中,并且監(jiān)測(cè) 所述數(shù)據(jù)處理單元的運(yùn)行狀態(tài);多個(gè)中央處理單元,用于在調(diào)度單元的控制下分別生成數(shù) 據(jù)處理單元,并且由生成的數(shù)據(jù)處理單元將YUV數(shù)據(jù)轉(zhuǎn)換為RGB數(shù)據(jù)。本發(fā)明的有益效果在于區(qū)別于以往的視頻圖像格式的轉(zhuǎn)換處理方式,本發(fā)明一 種視頻圖像格式轉(zhuǎn)換方法,基于多數(shù)據(jù)并行處理的特點(diǎn),最大程度的利用中央處理單元的 處理能力,進(jìn)一步提高了視頻圖像格式的處理效率。
附圖1為執(zhí)行并實(shí)現(xiàn)本發(fā)明視頻圖像格式的轉(zhuǎn)換方法的裝置框圖;附圖2為中央處理單元的裝置框圖;附圖3為本發(fā)明視頻圖像格式的轉(zhuǎn)換方法的流程圖;附圖4是數(shù)據(jù)處理單元的數(shù)據(jù)處理流程圖;附圖5是多數(shù)據(jù)并行處理流程具體實(shí)施例方式在數(shù)字廣播電視領(lǐng)域經(jīng)常接觸到的是YUV與RGB兩種格式,YUV格式包含多種具 體的顏色表達(dá)方式,如YUV422,YUV420,YUV444等,RGB格式也包含多種具體的顏色表達(dá)方 式,如RGB565,RGB24, RGB32等。本發(fā)明實(shí)施例主要以YUV420與RGB32格式的轉(zhuǎn)換為例來(lái) 闡釋本發(fā)明。下面結(jié)合附圖1、附圖2和附圖3描述本發(fā)明的實(shí)施例(以YUV420格式轉(zhuǎn)換成 RGB32格式為例)。在步驟301中,系統(tǒng)初始化,即調(diào)度單元103根據(jù)中央處理單元104的數(shù)量,在每 一個(gè)中央處理單元中104分別生成一個(gè)數(shù)據(jù)處理單元1043,同時(shí)調(diào)度單元103自動(dòng)監(jiān)視各 個(gè)數(shù)據(jù)處理單元1043的運(yùn)行狀態(tài)。步驟302,通過(guò)數(shù)據(jù)采集單元101采集實(shí)時(shí)的YUV420數(shù)據(jù),并且將采集的數(shù)據(jù)存儲(chǔ) 到到主存儲(chǔ)單元102中。該數(shù)據(jù)采集單元101通過(guò)視頻采集卡采集數(shù)據(jù),在此以數(shù)據(jù)采集 單元101設(shè)有一路視頻采集卡為例,則每次采集一幀數(shù)據(jù)。步驟303,調(diào)度單元103根據(jù)所生成的數(shù)據(jù)處理單元1043的數(shù)量,將實(shí)時(shí)YUV數(shù)據(jù) 平均拆分成相應(yīng)數(shù)量的多個(gè)等份,將每一部分?jǐn)?shù)據(jù)傳輸給不同的數(shù)據(jù)處理單元1043并行 處理,同時(shí)監(jiān)測(cè)各個(gè)數(shù)據(jù)處理單元1043的運(yùn)行狀態(tài),同時(shí)將每個(gè)數(shù)據(jù)處理單元1043的處理
4任務(wù)狀態(tài)設(shè)置為忙碌狀態(tài)。數(shù)據(jù)拆分的原則是本著所有數(shù)據(jù)處理單元1043負(fù)載均衡,將數(shù) 據(jù)等分。每個(gè)數(shù)據(jù)處理單元1043由于在不同的中央處理單元104中,因此每個(gè)數(shù)據(jù)處理單 元1043的處理任務(wù)都是并行的,可以充分利用中央處理單元104的資源,最大限度地提高 數(shù)據(jù)轉(zhuǎn)換的速度。步驟304,每個(gè)數(shù)據(jù)處理單元1043并行將YUV420數(shù)據(jù)轉(zhuǎn)換成RGB32數(shù)據(jù)并存儲(chǔ)。 由于視頻數(shù)據(jù)的特殊性,每個(gè)像素是32位的數(shù)據(jù),我們可以利用大位數(shù)的寄存器進(jìn)行并行 處理多個(gè)像素的數(shù)據(jù),進(jìn)一步提高了轉(zhuǎn)換的速度。步驟305,調(diào)度單元103等待所有的數(shù)據(jù)處理單元1043將所有的數(shù)據(jù)處理完成。 利用調(diào)度單元103的管理職能,保證處理的同步性,保證輸出的數(shù)據(jù)是同一幀的數(shù)據(jù),而不 會(huì)出現(xiàn)錯(cuò)誤。步驟306,調(diào)度單元103將數(shù)據(jù)處理單元1043處理完成的數(shù)據(jù)傳輸給圖文處理系 統(tǒng)或者其他系統(tǒng)進(jìn)行處理。轉(zhuǎn)換完成的數(shù)據(jù)就是32比特的RGB數(shù)據(jù)。步驟307,等待下一次的視頻采集單元101采集YUV數(shù)據(jù)。步驟308,如無(wú)數(shù)據(jù)處理任務(wù),卸載所有數(shù)據(jù)處理單元1043,退出。進(jìn)一步,如附圖2所示,中央處理單元包括數(shù)據(jù)處理單元,32位寄存器和128位寄 存器。其中數(shù)據(jù)處理單元用于處理調(diào)度單元分配的數(shù)據(jù)。附圖4是對(duì)附圖1中的數(shù)據(jù)處理單元1043所執(zhí)行的處理數(shù)據(jù)的詳細(xì)描述。YUV與RGB之間的基本轉(zhuǎn)換公式是
R = Y+1. 4075* (V-128)G = Y-0. 3455*(U-128)-0. 7169*(V-128)B = Y+1. 779*(U_128)在此公式基礎(chǔ)上,如附圖4所示的數(shù)據(jù)處理流程,包含的步驟如下步驟401,將上述轉(zhuǎn)換公式中的因子進(jìn)行整數(shù)處理,即將公式中所有的因子放大 1024倍,生成5個(gè)整數(shù)因子fY,fRv, fGu, fGv, fBu,然后取成整數(shù),將處理后的整數(shù)因子等 量拆分成四份,存儲(chǔ)到128位寄存器1041中。步驟402,數(shù)據(jù)處理單元1043將YUV420數(shù)據(jù)從主存儲(chǔ)單元102中移到32位寄存 器1041中,在32位寄存器1401中處理拆分YUV420數(shù)據(jù),并移至128位寄存器1042中。步驟403,數(shù)據(jù)處理單元1403將拆分的4個(gè)像素通過(guò)處理后的整數(shù)因子計(jì)算公式 同時(shí)執(zhí)行轉(zhuǎn)換任務(wù),提高轉(zhuǎn)換效率。步驟404,判斷是否完成所有數(shù)據(jù),如果沒(méi)有完成,則繼續(xù)步驟402到403的流程。 如果完成則設(shè)置標(biāo)記完成,調(diào)度單元103檢查標(biāo)記時(shí),將此數(shù)據(jù)處理單元1043設(shè)置為空閑 狀態(tài)。如果沒(méi)有完成,則始終保持為忙碌狀態(tài)。步驟405,將轉(zhuǎn)換完成的RGB32數(shù)據(jù)從128位寄存器1042移存至主存儲(chǔ)單元102 中。完成一次多個(gè)像素的轉(zhuǎn)換處理工作。附圖5是對(duì)附圖4中的步驟401至403的多數(shù)據(jù)并行處理的詳細(xì)描述。如附圖5出示的處理流程,具體實(shí)施步驟如下步驟501,數(shù)據(jù)處理單元1043將YUV420數(shù)據(jù)從主存儲(chǔ)單元102中移動(dòng)到32位寄 存器1041中。假設(shè)圖像的寬度是Width,高度是Height。每個(gè)像素由一個(gè)Y值,共Width*Height
5個(gè)數(shù)據(jù)。每四個(gè)像素共用一個(gè)U值,共Width*Height/4個(gè)U值。每四個(gè)像素共用一個(gè)V值,共Width*Height/4個(gè)V值。數(shù)據(jù)存放格式為YYYYYYYYU U U UV V V VYYYYYYYY步驟502,數(shù)據(jù)處理單元1043將YUV420從32位寄存器1041中拆分到128位寄存 器1042中。移動(dòng)到128 位寄存器 1042 中00000000 00000000 00000000 yyyyyyyy拆分000000yy OOOOOOyy 000000yy 000000yy將U和V數(shù)據(jù)做同樣的處理00000000 00000000 00000000 uuuuuuuu000000uu 000000uu 000000uu 000000uu00000000 00000000 00000000 vvvvvvvvOOOOOOvv OOOOOOvv OOOOOOvv OOOOOOvv步驟503,數(shù)據(jù)處理單元1043將數(shù)據(jù)進(jìn)行整數(shù)變換,數(shù)據(jù)變換如下整數(shù)因子fY――Y的放大因子Y = Y*fYU = U-128V = V-128步驟504,計(jì)算R,G,B值,Alpha位自動(dòng)填充為255,表示全不透的。共有四個(gè)運(yùn)算整數(shù)因子fRv——紅色分量中V的放大因子fGu——綠色分量中U的放大因子fGv——綠色分量中V的放大因子fBu——藍(lán)色分量重U的放大因子則計(jì)算公式變?yōu)檎麛?shù)因子計(jì)算公式如下R = Y+fRv*VG = Y+fGu*U+fGv*VB = Y+fBu*U步驟505,將計(jì)算的每個(gè)分量合并成ffrrggbb ffrrggbb ffrrggbb ffrrggbb樣 式,生成RGB32格式數(shù)據(jù),數(shù)據(jù)處理單元1043將RGB32數(shù)據(jù)從128位寄存器1042移存到主 存儲(chǔ)單元102中。最后要說(shuō)明的是,本發(fā)明所述方法包括但不限于具體實(shí)施方式
中的具體實(shí)施例, 在硬件條件允許的情況下,比如數(shù)據(jù)采集單元采用多路視頻采集卡,則可以采集多幀數(shù)據(jù) 進(jìn)入主存儲(chǔ)單元,因此,在不偏離本發(fā)明技術(shù)內(nèi)容的情況下,進(jìn)行多種變更和修改得出的其 他具體實(shí)施例,同樣屬于本發(fā)明的權(quán)利保護(hù)范圍內(nèi)。
本發(fā)明主要根據(jù)中央處理單元的數(shù)量,生成相對(duì)應(yīng)數(shù)量的數(shù)據(jù)處理單元,數(shù)據(jù)處 理的速度因此而提高。
權(quán)利要求
一種視頻圖像格式轉(zhuǎn)換方法,其特征在于,包括以下步驟根據(jù)中央處理單元的數(shù)量,在每一個(gè)中央處理單元中生成一個(gè)數(shù)據(jù)處理單元;由數(shù)據(jù)采集單元從外部采集實(shí)時(shí)YUV數(shù)據(jù),并且將所述YUV實(shí)時(shí)數(shù)據(jù)存儲(chǔ)至主存儲(chǔ)單元中;根據(jù)所生成的數(shù)據(jù)處理單元的數(shù)量,將主存儲(chǔ)單元中的YUV實(shí)時(shí)數(shù)據(jù)平均拆分成相應(yīng)數(shù)量的多個(gè)等份;將拆分后的每等份YUV數(shù)據(jù)處理任務(wù)平均分配給每一個(gè)數(shù)據(jù)處理單元,并且監(jiān)測(cè)所述數(shù)據(jù)處理單元的運(yùn)行狀態(tài);將YUV與RGB基本轉(zhuǎn)換公式中的因子進(jìn)行整數(shù)處理,即將基本轉(zhuǎn)換公式中所有的因子放大1024倍,然后取成整數(shù),生成新的整數(shù)因子計(jì)算公式,將處理后的fY,fRv,fGu,fGv,fBu整數(shù)因子等量拆分成多份,存儲(chǔ)到第二大位數(shù)寄存器中;每一個(gè)數(shù)據(jù)處理單元根據(jù)新的整數(shù)因子計(jì)算公式將每等份YUV數(shù)據(jù)并行地轉(zhuǎn)換為RGB數(shù)據(jù);將轉(zhuǎn)換后生成的RGB數(shù)據(jù)移存到主存儲(chǔ)單元。
2.根據(jù)權(quán)利要求1的視頻圖像格式轉(zhuǎn)換方法,其特征在于數(shù)據(jù)處理單元將YUV數(shù)據(jù)從主存儲(chǔ)單元移存至第一大位數(shù)寄存器,再?gòu)牡谝淮笪粩?shù)寄 存器中拆分到第二大位數(shù)寄存器中;根據(jù)整數(shù)因子計(jì)算公式,數(shù)據(jù)處理單元將YUV數(shù)據(jù)進(jìn)行整數(shù)變換,將計(jì)算的每個(gè)分量 合并成 ffrrggbbffrrggbb ffrrggbb ffrrggbb,生成 RGB 數(shù)據(jù);數(shù)據(jù)處理單元判斷是否完成所有數(shù)據(jù),如果沒(méi)有完成,則繼續(xù)上述處理任務(wù),如果完 成,則設(shè)置標(biāo)記“完成”;調(diào)度單元檢查標(biāo)記時(shí),將此數(shù)據(jù)處理單元置為空閑狀態(tài),如果沒(méi)有完成,則始終保持為 忙碌狀態(tài);數(shù)據(jù)處理單元將處理生成的RGB數(shù)據(jù)從第二大位寄存器移存到主存儲(chǔ)單元中。
3.一種視頻圖像格式轉(zhuǎn)換裝置,其特征在于,所述裝置包括 數(shù)據(jù)采集單元,用于采集實(shí)時(shí)YUV數(shù)據(jù);主存儲(chǔ)單元,用于存儲(chǔ)采集的YUV數(shù)據(jù)以及生成的RGB數(shù)據(jù); 調(diào)度單元,用于根據(jù)中央處理單元的數(shù)量,在每一個(gè)中央處理單元中生成一個(gè)數(shù)據(jù)處 理單元,并且根據(jù)所生成的數(shù)據(jù)處理單元的數(shù)量,將主存儲(chǔ)單元中的YUV實(shí)時(shí)數(shù)據(jù)平均拆 分成相應(yīng)數(shù)量的多個(gè)等份,將拆分后的多個(gè)等份數(shù)據(jù)處理任務(wù)平均分配給每一個(gè)數(shù)據(jù)處理 單元,并且監(jiān)測(cè)所述數(shù)據(jù)處理單元的運(yùn)行狀態(tài);多個(gè)中央處理單元,用于在調(diào)度單元的控制下分別生成數(shù)據(jù)處理單元,并且由生成的 數(shù)據(jù)處理單元將YUV數(shù)據(jù)轉(zhuǎn)換為RGB數(shù)據(jù);中央處理單元還包括第一大位數(shù)寄存器,用于存儲(chǔ)從主存儲(chǔ)單元移存的YUV數(shù)據(jù); 中央處理單元還包括第二大位數(shù)寄存器,用于存儲(chǔ)從第一大位數(shù)寄存器中拆分的YUV 數(shù)據(jù),數(shù)據(jù)處理單元通過(guò)整數(shù)因子計(jì)算公式將計(jì)算的每個(gè)分量合并成ffrrggbb ffrrggbb ffrrggbb ffrrggbb,生成RGB數(shù)據(jù),并且將RGB數(shù)據(jù)從第二大位寄存器移存到主存儲(chǔ)單元 中。
全文摘要
本發(fā)明涉及一種視頻圖像格式轉(zhuǎn)換方法和裝置。所述方法包括根據(jù)中央處理單元的數(shù)量,在每一個(gè)中央處理單元中生成一個(gè)數(shù)據(jù)處理單元;由數(shù)據(jù)采集單元從外部采集實(shí)時(shí)YUV數(shù)據(jù),并且將所述YUV實(shí)時(shí)數(shù)據(jù)存儲(chǔ)至主存儲(chǔ)單元中;根據(jù)所生成的數(shù)據(jù)處理單元的數(shù)量,將主存儲(chǔ)單元中的YUV實(shí)時(shí)數(shù)據(jù)平均拆分成相應(yīng)數(shù)量的多個(gè)等份;將拆分后的多個(gè)等份數(shù)據(jù)平均分配到每一個(gè)數(shù)據(jù)處理單元中,并且監(jiān)測(cè)所述數(shù)據(jù)處理單元的運(yùn)行狀態(tài);每一個(gè)數(shù)據(jù)處理單元將拆分后的數(shù)據(jù)并行地轉(zhuǎn)換為RGB數(shù)據(jù);將轉(zhuǎn)換后的RGB數(shù)據(jù)存儲(chǔ)到主存儲(chǔ)單元。應(yīng)用本發(fā)明,能夠最大程度的利用中央處理單元的處理能力,進(jìn)一步提高視頻圖像格式的轉(zhuǎn)換效率。
文檔編號(hào)H04N9/64GK101867833SQ201010198860
公開(kāi)日2010年10月20日 申請(qǐng)日期2010年6月12日 優(yōu)先權(quán)日2010年6月12日
發(fā)明者唐興波, 陳忠會(huì) 申請(qǐng)人:北京東方艾迪普科技發(fā)展有限公司