欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

視頻分析方法及裝置的制造方法

文檔序號:8946102閱讀:344來源:國知局
視頻分析方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及視頻處理技術(shù)領(lǐng)域,尤其涉及視頻分析方法及裝置。
【背景技術(shù)】
[0002]在傳統(tǒng)的視頻處理過程中,往往通過CPU (Central Processing Unit,中央處理單元)進行視頻解碼和分析處理。然而,由于CPU的性能限制,在視頻解碼方面往往效率較低,尤其是當(dāng)視頻分辨率較高(高清視頻)時,CPU往往顯得力不從心,造成設(shè)備存在卡頓等情況。
[0003]隨著CPU制造工藝的不斷進步,CPU性能也越來越強。然而,雖然CPU能夠單獨實現(xiàn)對高分辨率視頻的流暢解碼,但在一些多任務(wù)場景下,CPU仍然可能存在卡頓;同時,高性能的CPU意味著更高的成本,使得使用低性能CPU的低成本設(shè)備仍然難以較好地實現(xiàn)視頻處理。

【發(fā)明內(nèi)容】

[0004]有鑒于此,本發(fā)明提供一種視頻分析方法及裝置,可以解決相關(guān)技術(shù)中存在的技術(shù)問題。
[0005]為實現(xiàn)上述目的,本發(fā)明提供技術(shù)方案如下:
[0006]根據(jù)本發(fā)明的第一方面,提出了一種視頻分析方法,包括:
[0007]根據(jù)D3D實例支持的格式,對圖形處理單元GPU接收到的視頻流進行硬解碼處理;
[0008]將所述硬解碼處理得到的解碼圖像數(shù)據(jù)存儲至所述D3D實例對應(yīng)的顯存地址空間中;
[0009]將所述D3D實例對應(yīng)的顯存地址空間告知GPU中已創(chuàng)建的OpenCL實例,并由所述OpenCL實例按照所述顯存地址空間讀取所述解碼圖像數(shù)據(jù);
[0010]所述OpenCL實例對所述解碼圖像數(shù)據(jù)進行分析,并將得到的分析結(jié)果發(fā)送至中央處理單元CPU。
[0011]根據(jù)本發(fā)明的第二方面,提出了一種視頻分析裝置,包括:
[0012]解碼單元,根據(jù)D3D實例支持的格式,對圖形處理單元GPU接收到的視頻流進行硬解碼處理;
[0013]存儲單元,將所述硬解碼處理得到的解碼圖像數(shù)據(jù)存儲至所述D3D實例對應(yīng)的顯存地址空間中;
[0014]讀取單元,將所述D3D實例對應(yīng)的顯存地址空間告知GPU中已創(chuàng)建的OpenCL實例,并由所述OpenCL實例按照所述顯存地址空間讀取所述解碼圖像數(shù)據(jù);
[0015]分析單元,所述OpenCL實例對所述解碼圖像數(shù)據(jù)進行分析,并將得到的分析結(jié)果發(fā)送至中央處理單元CPU。
[0016]由以上技術(shù)方案可見,本發(fā)明通過將視頻流硬解碼為D3D實例支持的格式的解碼圖像數(shù)據(jù),使得OpenCL實例可以直接從顯存中讀取該解碼圖像數(shù)據(jù),無需在GPU和CPU之間對解碼圖像數(shù)據(jù)進行拷貝,有助于提升視頻分析效率、降低CPU使用率。
【附圖說明】
[0017]圖1是相關(guān)技術(shù)中的一種視頻分析處理方式的示意圖;
[0018]圖2是相關(guān)技術(shù)中的另一種視頻分析處理方式的示意圖;
[0019]圖3是本發(fā)明一示例性實施例中的一種視頻分析方法的流程圖;
[0020]圖4是本發(fā)明一示例性實施例中的另一種視頻分析方法的流程圖;
[0021]圖5是本發(fā)明一不例性實施例中的一種視頻分析處理方式的不意圖;
[0022]圖6是本發(fā)明一示例性實施例中的一種視頻分析裝置的框圖。
【具體實施方式】
[0023]為了解決【背景技術(shù)】部分提及的技術(shù)問題,降低CPU在視頻解碼方面的處理壓力,相關(guān)技術(shù)中提出了由GPU (Graphics Processing Unit,圖形處理單元)執(zhí)行視頻解碼(即硬解碼),而由CPU執(zhí)行解碼后的視頻圖像數(shù)據(jù)的分析處理,從而通過任務(wù)分擔(dān)而極大地減輕了 CPU的運行負擔(dān)。
[0024]具體地,如圖1所示,GPU通過預(yù)配置的解碼器對接收到的視頻流進行硬解碼,得到的解碼圖像數(shù)據(jù)存儲于顯存中。由于解碼圖像數(shù)據(jù)在顯存中采用非線性方式進行存儲,導(dǎo)致CPU無法直接從顯存中讀取該解碼圖像數(shù)據(jù),需要首先將該非線性存儲的解碼圖像數(shù)據(jù)拷貝至內(nèi)存中,并在內(nèi)存中以線性方式進行存儲,然后由CPU對內(nèi)存中線性存儲的解碼圖像數(shù)據(jù)進行讀取和智能分析,得到相應(yīng)的分析結(jié)果。
[0025]然而,圖1所示的技術(shù)方案中,由于需要CPU對解碼圖像數(shù)據(jù)進行智能分析處理,既導(dǎo)致了 CPU資源的占用,又浪費了 GPU的強大計算處理能力;同時,還需要將顯存中非線性的解碼圖像數(shù)據(jù)轉(zhuǎn)換為線性數(shù)據(jù),進一步造成了對CPU資源的占用。
[0026]為了降低圖1所示的技術(shù)方案對CPU資源的占用情況,相關(guān)技術(shù)中進一步提出了圖2所示的處理方式。如圖2所示,通過利用OpenCL技術(shù),分別在內(nèi)存和顯存中創(chuàng)建OpenCL實例,即OpenCL內(nèi)存實例和OpenCL顯存實例,可以通過將解碼圖像數(shù)據(jù)從內(nèi)存中拷貝至OpenCL內(nèi)存實例中,以及將解碼圖像數(shù)據(jù)進一步從OpenCL內(nèi)存實例拷貝至OpenCL顯存實例中,使得可以利用GPU對解碼圖像數(shù)據(jù)進行智能分析,并將分析結(jié)果傳回CPU。
[0027]然而,雖然圖2所示的實施例利用了 GPU的計算處理能力,對解碼圖像數(shù)據(jù)進行智能分析處理,但由于解碼圖像數(shù)據(jù)需要在顯存、內(nèi)存、OpenCL內(nèi)存實例和OpenCL顯存實例等之間進行多次、反復(fù)的拷貝處理,仍然造成了對CPU資源的浪費。
[0028]因此,本發(fā)明通過對視頻分析過程的改進,在充分利用GPU計算處理能力的同時,避免數(shù)據(jù)拷貝造成對CPU資源的浪費,以解決相關(guān)技術(shù)中存在的上述技術(shù)問題。為對本發(fā)明進行進一步說明,提供下列實施例:
[0029]圖3是本發(fā)明一示例性實施例中的一種視頻分析方法的流程圖,如圖3所示,該方法可以包括以下步驟:
[0030]步驟302,根據(jù)D3D實例支持的格式,對圖形處理單元GPU接收到的視頻流進行硬解碼處理。
[0031]在本實施例中,“D3D”全稱為“Direct3D”,是微軟公司在Microsoft Windows操作系統(tǒng)上所開發(fā)的一套基于微軟的通用對象模式COM (Common Object Mode)的3D圖形編程接口。
[0032]步驟304,將該硬解碼處理得到的解碼圖像數(shù)據(jù)存儲至該D3D實例對應(yīng)的顯存地址空間中。
[0033]步驟306,將該D3D實例對應(yīng)的顯存地址空間告知GPU中已創(chuàng)建的OpenCL實例,并由該OpenCL實例按照該顯存地址空間讀取該解碼圖像數(shù)據(jù)。
[0034]在本實施例中,OpenCL(Open Computing Language,開放運算語言)是一個為異構(gòu)平臺編寫程序的框架;其中,異構(gòu)平臺可由CPU、GPU或其他類型的處理單元組成。而在本發(fā)明的技術(shù)方案中,OpenCL被應(yīng)用于CPU和GPU形成的異構(gòu)平臺,使得GPU被應(yīng)用于對視頻流的解碼和分析處理,以降低對CPU資源的占用,提升所屬電子設(shè)備的運行流暢度。
[0035]在本實施例中,基于D3D實例的圖像共享功能,使得OpenCL實例可以獲得D3D實例對應(yīng)的顯存地址空間,從而無需在GPU和CPU之間的反復(fù)拷貝,即可直接從該顯存地址空間讀取相應(yīng)的解碼圖像數(shù)據(jù),實現(xiàn)分析處理,有助于提升視頻分析效率、降低CPU占用。
[0036]步驟308,該OpenCL實例對該解碼圖像數(shù)據(jù)進行分析,并將得到的分析結(jié)果發(fā)送至中央處理單元CPU。
[0037]由以上技術(shù)方案可見,本發(fā)明通過將視頻流硬解碼為D3D實例支持的格式的解碼圖像數(shù)據(jù),使得OpenCL實例可以直接從顯存中讀取該解碼圖像數(shù)據(jù),無需在GPU和CPU之間對解碼圖像數(shù)據(jù)進行拷貝,有助于提升視頻分析效率、降低CPU使用率。
[0038]圖4是本發(fā)明一示例性實施例中的另一種視頻分析方法的流程圖,如圖4所示,該方法可以包括以下步驟:
[0039]步驟402,GPU接收視頻流。
[0040]在本實施例中,對于視頻流的來源并不進行限制。舉例而言,GPU所屬的電子設(shè)備為視頻監(jiān)控系統(tǒng)中的視頻播放設(shè)備,則視頻流可以為該視頻監(jiān)控系統(tǒng)采集到的監(jiān)控視頻流,且該監(jiān)控視頻流可以為實時視頻流數(shù)據(jù),也可以為存儲后再次播放的視頻流數(shù)據(jù)。
[0041 ] 步驟404,確定視頻流的碼流類型。
[0042]步驟406,選取對應(yīng)于上述碼流類型的解碼器,對視頻流進行硬解碼處理。
[0043]在本實施例中,GPU中預(yù)配置了對應(yīng)于多種碼流類型的解碼器,比如碼流類型可以為H264、MPEG4等,本發(fā)明并不對此進行限制。因此,GPU可以通過解析確定當(dāng)前接收到的視頻流的碼流類型,從而選取GPU中對應(yīng)于該碼流類型的解碼器,以用于執(zhí)行該硬解碼處理。
[0044]舉例而言,GPU可以利用Intel公司開發(fā)的核顯(Intel Quick Sync Video)技術(shù),對視頻流進行硬件碼。比如當(dāng)視頻流的碼流類型為H264時,假定電子設(shè)備中使用的是Intel公司生產(chǎn)的Core ?7-3770型號的處理芯片時,其中的GPU可以解碼四十多路1080P (分辨率為1920x1080)的H264碼流,不會由于硬解碼性能低而導(dǎo)致成為后續(xù)的智能分析(如步驟420)的瓶頸。
[0045]在本實施例中,GPU對視頻流進行硬解碼后,得到的解碼圖像數(shù)據(jù)可以為YUV格式,Y表示明亮度(Luminance或Luma),也就是灰階值;而U和V表示的則是色度(Chrominance或Chroma),作用是描述影像色彩及飽和度,用于指定像素的顏色。其中,YUV是歐洲電視系統(tǒng)所采用的一種顏色編碼方法,主要用于優(yōu)化彩色視頻信號的傳輸;對于采用YUV格式的圖像信號,相比于RGB信號而言只需占用極少的帶寬,有助于實現(xiàn)更為流暢的實時視頻監(jiān)控。
[0046]步驟408,將硬解碼處理得到的解碼圖像數(shù)據(jù)存儲至緩存池中。
[0047]在本實施例中,如圖4所示,在步驟408之前,需要在GPU中建立D3D實例,并在該D3D實例對應(yīng)的顯存地址空間創(chuàng)建緩存池;因此,在步驟408中,正是將解碼圖像數(shù)據(jù)存儲至該緩存池中。
[0048]在本實施例中,正是利用了 D3D技術(shù)與OpenCL技術(shù)之間的關(guān)聯(lián)性,可以實現(xiàn)GPU內(nèi)部的直接數(shù)據(jù)傳遞,即D3D實例與下文描述的OpenCL實例之間直接傳遞上述的解碼圖像數(shù)據(jù),從而避免了 CPU與GPU之間的反復(fù)數(shù)據(jù)拷貝。因此,在步驟406中,除了在數(shù)據(jù)入口需要考慮解碼器對于碼流類型的支持情況,還需要在數(shù)據(jù)出口考慮D3D實例對解碼圖像數(shù)據(jù)的支持情況,因而應(yīng)當(dāng)確保解碼圖像數(shù)據(jù)的格式被D3D實例所支持,然后將得到的該格式的解碼圖像數(shù)據(jù)存儲至緩存池中。
[0049]舉例而言,解碼圖像數(shù)據(jù)可以采用NV12格式,屬于YUV數(shù)據(jù)的一種存儲格式,其特點在于:Y分量單獨存放于一個位面(plane)中,而U和V交錯排布在另一個位面中。當(dāng)然,解碼圖像數(shù)據(jù)也可以采用其他D3D實例所支持的格式,本發(fā)明并不對此進行限制。
[0050]在本實
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
武汉市| 长海县| 黄浦区| 淳安县| 晋宁县| 沿河| 光泽县| 香河县| 裕民县| 沁源县| 贵南县| 股票| 眉山市| 渭源县| 商南县| 志丹县| 蒲江县| 万源市| 荣成市| 民县| 抚州市| 安阳市| 酒泉市| 象山县| 新余市| 玛沁县| 商洛市| 乡宁县| 富锦市| 郎溪县| 开平市| 庆阳市| 曲麻莱县| 洪泽县| 新余市| 连江县| 宣威市| 宜兰县| 正镶白旗| 新余市| 大庆市|