999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FFmpeg與CUDA的YUV與RGB色彩空間轉(zhuǎn)換性能對比分析

2019-02-26 00:59:02
廣東通信技術(shù) 2019年1期
關(guān)鍵詞:色彩

1 引言

隨著互聯(lián)網(wǎng)技術(shù)和多媒體技術(shù)的快速發(fā)展,多媒體數(shù)據(jù)的傳輸和獲取變得越來越便利,人們對高清晰度視頻圖像畫面的需求日益增長。近年來,視頻圖像的分辨率經(jīng)歷了從720P到1080P再到4K的發(fā)展,4K技術(shù)逐漸進(jìn)入到人們的生活。4K讓人們體驗(yàn)到極致的視覺感受的同時給硬件及軟件也帶來了更高的挑戰(zhàn),這其中就包括圖像顯示過程中涉及的色彩空間轉(zhuǎn)換的問題。YUV與RGB是最常見的兩種色彩空間模型[1],兩者之間的相互轉(zhuǎn)換在數(shù)字多媒體領(lǐng)域尤為重要。眾所周知,4K分辨率為,長寬比為16:9,標(biāo)準(zhǔn)4K分辨率的像素總數(shù)可達(dá)800萬,為全高清1080P(1920×1080)的4倍,是720P(1280×720)的8倍。如何高效地對高分辨率視頻圖像進(jìn)行色彩空間轉(zhuǎn)換,受到了該領(lǐng)域研究者們的廣泛關(guān)注。

目前,業(yè)界主要使用FFmpeg工具進(jìn)行音視頻的開發(fā)。FFmpeg是一款開源、免費(fèi)、跨平臺且功能強(qiáng)大的音視頻處理工具,其主要利用CPU進(jìn)行音視頻數(shù)據(jù)處理,然而當(dāng)數(shù)據(jù)量非常龐大時,CPU在大規(guī)模矩陣類型的數(shù)值計(jì)算上就顯得力不從心[2]。因此,近些年GPU的迅猛發(fā)展彌補(bǔ)了CPU在這方面的不足。GPU可以用大量的并行線程對大規(guī)模矩陣類型數(shù)值進(jìn)行并行計(jì)算,其和CPU并行工作可以極大的提高音視頻處理的效率。為了測試色彩空間轉(zhuǎn)換在GPU上的工作性能,本文分別基于FFmpeg和CUDA對YUV與RGB色彩空間的轉(zhuǎn)換性能進(jìn)行了對比,實(shí)驗(yàn)結(jié)果表明基于CUDA的色彩空間轉(zhuǎn)換由于利用了大量的GPU并行加速有著更好的性能表現(xiàn)。

2 色彩空間模型

2.1 RGB色彩空間模型

常用的色彩空間模型有RGB、YUV/YCrCb、CMYK、HSV等[3]。RGB是計(jì)算機(jī)視覺系統(tǒng)中最常見的色彩空間模型,圖1中的立方體形象的表示了RGB色彩空間。3個坐標(biāo)軸分別對應(yīng)了紅(Red)、綠(Green)、藍(lán)(Blue)3個顏色分量。原點(diǎn)對應(yīng)黑色,距離原點(diǎn)最遠(yuǎn)的頂點(diǎn)即為白色。黑色原點(diǎn)與白色頂點(diǎn)之間的連線為灰度線。在計(jì)算機(jī)中,RGB色彩空間的存儲方式有多種,最常見的是R、G、B每個分量采用8比特即一個字節(jié)進(jìn)行表示,因此每個像素占用3個字節(jié)的內(nèi)存空間,每個分量的顏色強(qiáng)度為0~255。RGB色彩空間總共能表示約1678萬種色彩,通常也稱為1600萬色或24位色。

圖1 RGB色彩空間模型

2.2 YUV色彩空間模型

人眼對亮度和色彩的感知程度不同,其對色彩細(xì)節(jié)的分辨能力比對亮度細(xì)節(jié)的分辨能力低,根據(jù)這一視覺特性產(chǎn)生了YUV、YCbCr、YIQ等色彩空間。YUV是一種基本的色彩空間,其他的色彩空間均是從YUV衍生而來。YUV色彩空間中的Y分量指圖像的亮度成分,顯示的是灰度圖像,U和V分量為色度成分,描述的是色彩和飽和度。

YUV色彩空間有多種采樣格式,如4:4:4,4:,2:2,4:2:0,4:1:1。4:2:0格式是比較常用的,它的含義是對Y分量進(jìn)行全采樣,對U和V分量在水平和垂直方向上采樣率均為在Y分量上的一半。4:2:0格式的YUV通常是平面存儲格式,其一般是先全部存儲Y分量,然后U和V的分量依次存儲。YUV被廣泛的應(yīng)用于視頻會議、數(shù)字電視和DVD存儲中,本文主要采用YUV420格式進(jìn)行試驗(yàn)對比。

3 YUV轉(zhuǎn)RGB色彩空間性能對比

3.1 FFmpeg簡介

FFmpeg是一個集錄制,轉(zhuǎn)換,音、視頻頻編解碼功能為一體的完整的開源免費(fèi)解決方案,它包含了非常先進(jìn)的音頻/視頻編解碼庫libavcodec和用于視頻場景比例縮放、色彩空間轉(zhuǎn)換的libswscale庫[4]。FFmpeg項(xiàng)目的部分組成如表1所示。

表1 FFmpeg項(xiàng)目部分組成成員

FFmpeg采用的是主程序+核心庫的編程模式,核心庫隱藏了內(nèi)部各種具體格式的實(shí)現(xiàn),對外提供統(tǒng)一的調(diào)用方法,這樣主程序就不用去關(guān)注如何調(diào)用與具體格式相關(guān)的函數(shù)。本文采用libswscale庫的sws_scale函數(shù)實(shí)現(xiàn)對視頻圖像的格式轉(zhuǎn)換以作對比。

3.2 CUDA簡介

基于FFmpeg的色彩空間轉(zhuǎn)換完全依賴于CPU的計(jì)算,而CPU是一個負(fù)責(zé)執(zhí)行復(fù)雜邏輯處理和事務(wù)管理的單元,它并不擅長大規(guī)模矩陣類型的數(shù)值計(jì)算,而GPU恰恰相反,它可以用大量的并行線程進(jìn)行處理,可以很好地彌補(bǔ)CPU的不足。2003年NVIDIA公司推出了CUDA架構(gòu),為GPU通用計(jì)算提供了良好的軟硬件開發(fā)環(huán)境。CUDA可以看做是專為NVIDIA GPU設(shè)計(jì)的C語言開發(fā)環(huán)境,有著豐富的套件,讓開發(fā)人員可以更加專注于自己所開發(fā)的應(yīng)用[5]。

在CUDA程序中,能被GPU執(zhí)行的部分稱作內(nèi)核(Kernel),整個內(nèi)核由成千上萬條簡單的線程組成,并交由GPU處理,無法并行化的部分交由CPU完成。為了提高線程之間的相互協(xié)作能力同時節(jié)省顯存帶寬,CUDA將線程分成了線程(thread)、線程塊(block)和線程網(wǎng)格(grid)三個層次結(jié)構(gòu),圖2展示了三者之間的結(jié)構(gòu)關(guān)系。在同一block里面的線程可以共享內(nèi)存數(shù)據(jù)[6]。

圖2 線程、線程塊、線程網(wǎng)格之間的關(guān)系

3.3 基于FFmpeg和CUDA的YUV轉(zhuǎn)RGB性能對比

YUV色彩空間與RGB色彩空間之間的轉(zhuǎn)化公式如下:

本文利用CUDA進(jìn)行色彩空間轉(zhuǎn)換的核心轉(zhuǎn)換算法代碼如下:

其中,maxlongth為圖像的所有像素長度;color_space_conversion_mat數(shù)組表示色彩空間轉(zhuǎn)換矩陣;blockIdx.x表示線程塊的x索引值;blockDim.x表示線程塊中線程的x維度值;threadIdx.x表示線程的x索引值。

為了更直觀地看到兩種方法在色彩空間轉(zhuǎn)換上的效果,本文分別在不同分辨率下對轉(zhuǎn)換時間以及轉(zhuǎn)換后的主觀視覺效果進(jìn)行了對比。實(shí)驗(yàn)平臺為64位CentOS7操作系統(tǒng),Intel酷睿i5四核處理器,3.3 GHz主頻,32G內(nèi)存。顯卡為Quadro P2000,5G顯存。表2給出了實(shí)驗(yàn)對比結(jié)果,實(shí)驗(yàn)數(shù)據(jù)均為對十幅圖像進(jìn)行色彩空間轉(zhuǎn)

表2 兩種方法在不同分辨率下的轉(zhuǎn)換時間對比(ms)

換取均值。CUDA/IO表示加入了CPU與GPU內(nèi)存數(shù)據(jù)交換的時間(內(nèi)存數(shù)據(jù)交換的時間主要由總線接口(Bus interface)影響)。從表2可以看出,如果不算內(nèi)存交換時間,CUDA平臺下,720P、1080P、4K的轉(zhuǎn)換時間只有0.13 ms、0.26 ms和1.12 ms,比FFmpeg高出十幾倍,然而實(shí)際工程中內(nèi)存交換地?fù)p耗是不可避免的,算入IO時間,轉(zhuǎn)換時間則分別上升到了1.18 ms、2.67 ms、10.43 ms,比FFmpeg高出不到兩倍,可想而知,內(nèi)存交換極大的影響了色彩空間轉(zhuǎn)換的效率。從數(shù)據(jù)中還可以分析出隨著分辨率的增加CUDA平臺下的轉(zhuǎn)換效率有上升的趨勢,從側(cè)面說明了利用CUDA進(jìn)行并行計(jì)算在越大的數(shù)據(jù)量下越有優(yōu)勢。

圖3給出了兩種方法在720P分辨率下的peppers圖像和baboon圖像上進(jìn)行色彩空間轉(zhuǎn)換后的主觀視覺效果對比,從圖中可以看出,基于FFmpeg和基于CUDA的兩種方法對圖像轉(zhuǎn)換的主觀視覺與原始圖像基本一致。

圖3 基于ffmpeg和CUDA的色彩空間轉(zhuǎn)換主觀視覺對比(a)peppers圖像(b)baboon圖像

4 總結(jié)

本文分別基于FFmepg和CUDA平臺實(shí)現(xiàn)了對YUV到RGB色彩空間轉(zhuǎn)換的仿真實(shí)驗(yàn),通過實(shí)驗(yàn)數(shù)據(jù)的對比分析,可知利用GPU加速可以大幅提高數(shù)據(jù)處理的工作效率,然而CPU與GPU的內(nèi)存交換損耗則成為了系統(tǒng)瓶頸的關(guān)鍵因素,因此,要想提高工作效率,一是要盡力避免頻繁的內(nèi)存交換;二是選擇更有效的存儲方式;三是使用CUDA內(nèi)存優(yōu)化技巧。無論如何,利用CUDA對大規(guī)模矩陣數(shù)據(jù)并行處理相較于CPU都有著一定的優(yōu)勢。如果總線接口傳輸帶寬問題解決,那么世界將真正迎來計(jì)算時代新紀(jì)元。

猜你喜歡
色彩
自然的色彩——黃(下)
百科知識(2022年5期)2022-04-04 13:23:39
自然的色彩
百科知識(2022年4期)2022-02-19 18:50:47
春天的色彩
畫一幅色彩和諧的畫
色彩與構(gòu)成
活力(2019年17期)2019-11-26 00:42:34
秋天的色彩
繽紛夏日
我喜歡的色彩
神奇的色彩(上)
春天的色彩
主站蜘蛛池模板: 这里只有精品在线| 中文字幕在线播放不卡| 国产无码性爱一区二区三区| 国产经典免费播放视频| 亚洲精品第一页不卡| 亚洲天堂精品视频| 久久福利片| 久精品色妇丰满人妻| 亚洲日本中文字幕天堂网| 国产福利小视频在线播放观看| 99热免费在线| 日韩乱码免费一区二区三区| 精品成人一区二区| 激情影院内射美女| 美女一区二区在线观看| 免费又爽又刺激高潮网址| 亚洲欧美日韩天堂| 一级一级一片免费| 国产在线观看人成激情视频| 国产性猛交XXXX免费看| 中文字幕无码中文字幕有码在线| 欧美色视频网站| 国产69精品久久| 天堂久久久久久中文字幕| 亚洲最新网址| 亚洲毛片一级带毛片基地| 伊人五月丁香综合AⅤ| 日本在线国产| 污网站免费在线观看| 亚洲视频黄| 久久精品这里只有精99品| 九九热免费在线视频| 亚洲精品麻豆| 午夜欧美理论2019理论| 国产精品久久久久久久久kt| 亚洲人人视频| 69av在线| 999国产精品永久免费视频精品久久| 精品国产一区二区三区在线观看| 亚洲成a人在线观看| 国产成熟女人性满足视频| 亚洲视频免| 熟女日韩精品2区| 成人一级免费视频| 久一在线视频| 国产欧美日韩免费| 呦女精品网站| 国内精品伊人久久久久7777人| 亚洲免费福利视频| 999在线免费视频| 91麻豆国产在线| 日本一区高清| 国产成人亚洲综合A∨在线播放| 极品性荡少妇一区二区色欲| 9cao视频精品| 亚洲三级网站| 久久综合丝袜长腿丝袜| 成年人视频一区二区| 色妞永久免费视频| 亚洲国产AV无码综合原创| 天堂成人在线| 中日无码在线观看| 国产精品网址你懂的| 国产精品久线在线观看| 永久在线精品免费视频观看| 一级毛片无毒不卡直接观看| 亚洲动漫h| 国产无遮挡猛进猛出免费软件| 亚洲动漫h| 2020国产精品视频| 亚卅精品无码久久毛片乌克兰| 亚洲AV人人澡人人双人| 日韩在线视频网站| 久久亚洲高清国产| 亚洲综合色婷婷中文字幕| 久久综合色天堂av| 狠狠做深爱婷婷久久一区| 五月天久久综合| 欧美第一页在线| 欧美日韩专区| 婷婷99视频精品全部在线观看| 日韩国产一区二区三区无码|