亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種圖像實(shí)時(shí)解碼顯示方法

文檔序號(hào):7811247閱讀:654來(lái)源:國(guó)知局
一種圖像實(shí)時(shí)解碼顯示方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種圖像實(shí)時(shí)解碼顯示方法,包括采用開(kāi)源的FFMpeg視頻解碼庫(kù)設(shè)計(jì)一種不同分辨率的H.264壓縮數(shù)據(jù)的自適應(yīng)解碼方法,適應(yīng)航天工程中來(lái)源于不同通道不同分辨率的H.264圖像壓縮數(shù)據(jù)使用一個(gè)解碼方法在同一顯示區(qū)域中自動(dòng)切換顯示;針對(duì)實(shí)際探月工程中不同通道的H.264圖像壓縮數(shù)據(jù)下傳幀頻不同,同一通道的H.264圖像壓縮數(shù)據(jù)在不同測(cè)試要求下的下傳幀頻不同,根據(jù)圖像刷新頻率要求建立幀頻與定時(shí)器定時(shí)周期的對(duì)應(yīng)關(guān)系,采用多個(gè)高精度定時(shí)器實(shí)現(xiàn)不同幀頻下的自動(dòng)切換工作,實(shí)現(xiàn)不同幀頻下圖像解碼顯示的頻率不同,提高了圖像顯示的實(shí)時(shí)性。
【專(zhuān)利說(shuō)明】-種圖像實(shí)時(shí)解碼顯示方法

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及圖像處理【技術(shù)領(lǐng)域】,特別涉及一種應(yīng)用于航天工程的圖像實(shí)時(shí)解碼顯 示方法。

【背景技術(shù)】
[0002] H. 264視頻壓縮技術(shù)是一套復(fù)雜的標(biāo)準(zhǔn),到目前為止能夠開(kāi)源的解碼算法庫(kù)只有 少數(shù)幾個(gè),其中FFMpeg是為數(shù)不多的幾個(gè)開(kāi)源工具中的一個(gè),并以其解碼庫(kù)具有較低的計(jì) 算復(fù)雜度得到廣泛應(yīng)用。H. 264圖像壓縮技術(shù)具備很高的數(shù)據(jù)壓縮比率,在同等圖像質(zhì)量的 條件下,H. 264的壓縮比是MPEG-2的2倍以上,是MPEG-4的1. 5?2倍。與此同時(shí),H. 264 在具有高壓縮比的同時(shí)還擁有高質(zhì)量流暢的圖像,因此探月工程的圖像設(shè)備的圖像壓縮數(shù) 據(jù)技術(shù)采用了 H. 264圖像壓縮技術(shù)。由此圖像解碼顯示設(shè)備需要采用相應(yīng)的H. 264解壓縮 技術(shù)。
[0003] 在現(xiàn)有技術(shù)中,探月工程的圖像解碼顯示是通過(guò)專(zhuān)業(yè)的圖像解碼卡解碼某一固定 通道固定分辨率的H. 264圖像壓縮數(shù)據(jù),無(wú)法滿(mǎn)足實(shí)際工程中多路通道多種分辨率的圖像 解碼顯示需求;同時(shí),在實(shí)際工程中經(jīng)常需要臨時(shí)切換圖像數(shù)據(jù)幀下傳的幀頻,而圖像解碼 卡只能按照預(yù)先設(shè)定的播放頻率進(jìn)行播放,無(wú)法動(dòng)態(tài)調(diào)整播放頻率,這樣就無(wú)法實(shí)時(shí)有效 地解碼顯示圖像,對(duì)圖像設(shè)備的測(cè)試工作帶來(lái)很多不便。。


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

[0004] 本發(fā)明針對(duì)現(xiàn)有技術(shù)存在的上述不足,提供了 一種。
[0005] 本發(fā)明通過(guò)以下技術(shù)方案實(shí)現(xiàn):
[0006] 一種圖像實(shí)時(shí)解碼顯示方法,包括步驟:
[0007] S1、根據(jù)圖像壓縮幀的IDR幀格式判斷當(dāng)前幀是否為IDR幀,若是則執(zhí)行S2,若否 則執(zhí)行S9 ;
[0008] S2、判斷當(dāng)前IDR幀是不是首次獲得,若是則執(zhí)行S5,否則執(zhí)行S3 ;
[0009] S3、獲取當(dāng)前IDR幀的分辨率,并判斷是否等于寬度*高度,若不等則執(zhí)行S4,相等 則執(zhí)行S7 ;
[0010] S4、調(diào)用FFMpeg的av_free釋放先前解碼占用系統(tǒng)資源;
[0011] S5、FFMpeg 的初始化;
[0012] S6、根據(jù)IDR幀獲取壓縮數(shù)據(jù)的分辨率寬度*高度;
[0013] S7、調(diào)用avpicture_get_size函數(shù)獲得當(dāng)前圖像的存儲(chǔ)大小buffsize,并為圖片 緩存分配buffsize空間;
[0014] S8、調(diào)用avpicture_fill函數(shù),在AVFrame*中為圖像位面賦予緩沖區(qū);
[0015] S9、調(diào)用avcodec_decode_video完成視頻壓縮數(shù)據(jù)的解碼,得到AVFrame壓縮數(shù) 據(jù)的原始圖片信息;
[0016] S10、調(diào)用sws_getContext、sws_scale函數(shù)將原始圖片轉(zhuǎn)換為RGB格式數(shù)據(jù);
[0017] S11、調(diào)用繪圖函數(shù)繪制解碼后的RGB數(shù)據(jù)。
[0018] 較佳的,在步驟S1前還包括啟動(dòng)定時(shí)周期為1秒的多媒體定時(shí)器定時(shí)計(jì)算1秒內(nèi) 接收的圖像壓縮數(shù)據(jù),即幀頻,根據(jù)實(shí)際測(cè)試中幀頻與圖像刷新頻率的關(guān)系,得到當(dāng)前圖像 的刷新頻率,切換到相應(yīng)定時(shí)周期的多媒體定時(shí)器,啟動(dòng)定時(shí)對(duì)已有的圖像壓縮數(shù)據(jù)幀進(jìn) 行解碼顯示,具體包括步驟:
[0019] S21、設(shè)置初始巾貞計(jì)數(shù)count = 0 ;
[0020] S22、每接收到一巾貞圖像數(shù)據(jù)count = count+Ι ;
[0021] S23、定時(shí)一秒到達(dá)時(shí)獲取當(dāng)前count作為當(dāng)前圖像數(shù)據(jù)下傳幀頻,即一秒傳輸?shù)?圖像數(shù)據(jù)幀個(gè)數(shù);
[0022] S24、根據(jù)幀頻與定時(shí)周期的對(duì)應(yīng)關(guān)系,確定當(dāng)前負(fù)責(zé)解碼播放的圖像數(shù)據(jù)的定時(shí) 周期 TimeSpan ;
[0023] S25、若當(dāng)前工作的定時(shí)器周期為T(mén)imeSpan進(jìn)入下一步,否則停止當(dāng)前定時(shí)器,啟 動(dòng)定時(shí)周期為T(mén)imeSpan的定時(shí)器;
[0024] S26、將count置為0,等待下次定時(shí)到來(lái),進(jìn)入步驟S23。
[0025] 本發(fā)明取得了如下有益效果:
[0026] 1.本發(fā)明首次為航天工程圖像設(shè)備提供了一個(gè)多通道多分辨率的H. 264圖像壓 縮數(shù)據(jù)的解碼顯示方法,無(wú)須采用硬件解碼卡,簡(jiǎn)化了圖像設(shè)備的測(cè)試流程,提高了測(cè)試的 全面性;
[0027] 2.本發(fā)明首次為航天工程圖像設(shè)備的可變幀頻的圖像壓縮數(shù)據(jù)的實(shí)時(shí)解碼顯示 提供了一個(gè)可行簡(jiǎn)易的方法,增強(qiáng)圖像顯示的實(shí)時(shí)性,便于測(cè)試人員更好地測(cè)試圖像設(shè)備 的真實(shí)工作情況。

【專(zhuān)利附圖】

【附圖說(shuō)明】
[0028] 圖1所示的是本發(fā)明的解碼流程圖;
[0029] 圖2所示的是本發(fā)明的多定時(shí)器自動(dòng)切換流程圖;
[0030] 圖3所示的是本發(fā)明一實(shí)施例的圖像設(shè)備測(cè)試環(huán)境示意圖。

【具體實(shí)施方式】
[0031] 以下將結(jié)合本發(fā)明的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整的描述 和討論,顯然,這里所描述的僅僅是本發(fā)明的一部分實(shí)例,并不是全部的實(shí)例,基于本發(fā)明 中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施 例,都屬于本發(fā)明的保護(hù)范圍。
[0032] 為了便于對(duì)本發(fā)明實(shí)施例的理解,下面將結(jié)合附圖以具體實(shí)施例為例作進(jìn)一步的 解釋說(shuō)明,且各個(gè)實(shí)施例不構(gòu)成對(duì)本發(fā)明實(shí)施例的限定。
[0033] 如圖1所示,本發(fā)明提供的一種圖像實(shí)時(shí)解碼顯示方法,包括步驟:
[0034] S1、根據(jù)圖像壓縮幀的IDR幀格式判斷當(dāng)前幀是否為IDR幀,若是則執(zhí)行S2,若否 則執(zhí)行S9 ;
[0035] S2、判斷當(dāng)前IDR幀是不是首次獲得,若是則執(zhí)行S5,否則執(zhí)行S3 ;
[0036] S3、獲取當(dāng)前IDR幀的分辨率,并判斷是否等于寬度*高度,若不等則執(zhí)行S4,相等 則執(zhí)行S7 ;
[0037] S4、調(diào)用FFMpeg的av_free釋放先前解碼占用系統(tǒng)資源;
[0038] S5、FFMpeg 的初始化;
[0039] S6、根據(jù)IDR幀獲取壓縮數(shù)據(jù)的分辨率寬度*高度;
[0040] S7、調(diào)用avpicture_get_size函數(shù)獲得當(dāng)前圖像的存儲(chǔ)大小buffsize,并為圖片 緩存分配buffsize空間;
[0041] S8、調(diào)用avpicture_fill函數(shù),在AVFrame*中為圖像位面賦予緩沖區(qū);
[0042] S9、調(diào)用avcodec_decode_video完成視頻壓縮數(shù)據(jù)的解碼,得到AVFrame壓縮數(shù) 據(jù)的原始圖片信息;
[0043] S10、調(diào)用sws_getContext、sws_scale函數(shù)將原始圖片轉(zhuǎn)換為RGB格式數(shù)據(jù);
[0044] S11、調(diào)用繪圖函數(shù)繪制解碼后的RGB數(shù)據(jù)。
[0045] 如圖2所示,本發(fā)明還通過(guò)多定時(shí)器的自適應(yīng)切換工作實(shí)現(xiàn)圖像數(shù)據(jù)的實(shí)時(shí)解碼 顯不。
[0046] 在步驟S1前還包括啟動(dòng)定時(shí)周期為1秒的多媒體定時(shí)器定時(shí)計(jì)算1秒內(nèi)接收的 圖像壓縮數(shù)據(jù),即幀頻,根據(jù)實(shí)際測(cè)試中幀頻與圖像刷新頻率的關(guān)系,得到當(dāng)前圖像的刷新 頻率,切換到相應(yīng)定時(shí)周期的多媒體定時(shí)器,啟動(dòng)定時(shí)對(duì)已有的圖像壓縮數(shù)據(jù)幀進(jìn)行解碼 顯示,具體包括步驟:
[0047] S21、設(shè)置初始巾貞計(jì)數(shù)count = 0 ;
[0048] S22、每接收到一巾貞圖像數(shù)據(jù)count = count+Ι ;
[0049] S23、定時(shí)一秒到達(dá)時(shí)獲取當(dāng)前count作為當(dāng)前圖像數(shù)據(jù)下傳幀頻,即一秒傳輸?shù)?圖像數(shù)據(jù)幀個(gè)數(shù);
[0050] S24、根據(jù)幀頻與定時(shí)周期的對(duì)應(yīng)關(guān)系,確定當(dāng)前負(fù)責(zé)解碼播放的圖像數(shù)據(jù)的定時(shí) 周期 TimeSpan ;
[0051] S25、若當(dāng)前工作的定時(shí)器周期為T(mén)imeSpan進(jìn)入下一步,否則停止當(dāng)前定時(shí)器,啟 動(dòng)定時(shí)周期為T(mén)imeSpan的定時(shí)器;
[0052] S26、將count置為0,等待下次定時(shí)到來(lái),進(jìn)入步驟S23。
[0053] 以下給出一具體測(cè)試實(shí)例:
[0054] 對(duì)某圖像設(shè)備的圖像解碼顯示,該圖像設(shè)備的基本信息如表1所示,圖3為圖像解 碼顯示的測(cè)試環(huán)境。
[0055]

【權(quán)利要求】
1. 一種圖像實(shí)時(shí)解碼顯示方法,其特征在于,包括步驟: 51、 根據(jù)圖像壓縮幀的IDR幀格式判斷當(dāng)前幀是否為IDR幀,若是則執(zhí)行S2,若否則執(zhí) 行S9 ; 52、 判斷當(dāng)前IDR幀是不是首次獲得,若是則執(zhí)行S5,否則執(zhí)行S3 ; 53、 獲取當(dāng)前IDR幀的分辨率,并判斷是否等于寬度*高度,若不等則執(zhí)行S4,相等則執(zhí) 行S7 ; 54、 調(diào)用FFMpeg的av_free釋放先前解碼占用系統(tǒng)資源; 55、 FFMpeg的初始化; 56、 根據(jù)IDR幀獲取壓縮數(shù)據(jù)的分辨率寬度*高度; 57、 調(diào)用avpicture_get_size函數(shù)獲得當(dāng)前圖像的存儲(chǔ)大小buffsize,并為圖片緩存 分配buffsize空間; 58、 調(diào)用avpicture_fill函數(shù),在AVFrame*中為圖像位面賦予緩沖區(qū); 59、 調(diào)用avcodec_decode_video完成視頻壓縮數(shù)據(jù)的解碼,得到AVFrame壓縮數(shù)據(jù)的 原始圖片信息; 510、 調(diào)用sws_getContext、sws_scale函數(shù)將原始圖片轉(zhuǎn)換為RGB格式數(shù)據(jù); 511、 調(diào)用繪圖函數(shù)繪制解碼后的RGB數(shù)據(jù)。
2. 根據(jù)權(quán)利要求1所述的圖像實(shí)時(shí)解碼顯示方法,其特征在于,在步驟S1前還包括啟 動(dòng)定時(shí)周期為1秒的多媒體定時(shí)器定時(shí)計(jì)算1秒內(nèi)接收的圖像壓縮數(shù)據(jù),即幀頻,根據(jù)實(shí)際 測(cè)試中幀頻與圖像刷新頻率的關(guān)系,得到當(dāng)前圖像的刷新頻率,切換到相應(yīng)定時(shí)周期的多 媒體定時(shí)器,啟動(dòng)定時(shí)對(duì)已有的圖像壓縮數(shù)據(jù)幀進(jìn)行解碼顯示,具體包括步驟: 521、 設(shè)置初始巾貞計(jì)數(shù)count=0 ; 522、 每接收到一巾貞圖像數(shù)據(jù)count=count+l; 523、 定時(shí)一秒到達(dá)時(shí)獲取當(dāng)前count作為當(dāng)前圖像數(shù)據(jù)下傳幀頻,即一秒傳輸?shù)膱D像 數(shù)據(jù)幀個(gè)數(shù); 524、 根據(jù)幀頻與定時(shí)周期的對(duì)應(yīng)關(guān)系,確定當(dāng)前負(fù)責(zé)解碼播放的圖像數(shù)據(jù)的定時(shí)周期 TimeSpan ; 525、 若當(dāng)前工作的定時(shí)器周期為T(mén)imeSpan進(jìn)入下一步,否則停止當(dāng)前定時(shí)器,啟動(dòng)定 時(shí)周期為T(mén)imeSpan的定時(shí)器; 526、 將count置為0,等待下次定時(shí)到來(lái),進(jìn)入步驟S23。
【文檔編號(hào)】H04N21/442GK104159079SQ201410395683
【公開(kāi)日】2014年11月19日 申請(qǐng)日期:2014年8月13日 優(yōu)先權(quán)日:2014年8月13日
【發(fā)明者】董麗麗, 黎澤清, 徐起, 歐陽(yáng)尚榮, 吳紅松, 馮書(shū)誼, 袁杰 申請(qǐng)人:上海航天電子通訊設(shè)備研究所
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1