多通道視頻信號的靜態圖像編碼方法
2023-05-25 14:44:41
多通道視頻信號的靜態圖像編碼方法
【專利摘要】本發明利用步驟S1實現了多通道信號自檢流程,利用步驟S2和S3實現了通道切換與鎖定控制流程,最終利用步驟S4至S7實現了JPEG編碼與碼流控制流程。故而,本發明能在1Mbps信道中對多通道進行實時靜態圖像JPEG壓縮編碼,能自動完成通道鎖定判斷、幀頻判斷及閾值計算,通過基於圖像幀大小的實時碼流控制技術將信道利用率提升至90%以上,並能將編碼圖像輸出延時控制在800ms以內。
【專利說明】多通道視頻信號的靜態圖像編碼方法
【技術領域】
[0001] 本發明涉及多媒體數據壓縮編碼【技術領域】,尤其涉及一種多通道視頻信號的靜態 圖像編碼方法。
【背景技術】
[0002] 隨著空間監視技術的不斷發展,其在航天領域中對於監視的廣度需求也越來越 高,此時太空飛行器中圖像的通道數增長明顯。為了能夠滿足三通道圖像的監視需求,編碼技 術需要同時完成三通道靜態圖像的編碼,實現空間監視設備的多路圖像成像編碼功能的需 求。同時由於空間應用中對實時性的要求以及對信道帶寬的限制,航天領域極需實時性高、 圖像質量高的編碼方法。
[0003] 對於靜態圖像編碼,採用JPEG編碼方式進行數據壓縮。JPEG編碼方式具有算法簡 單、圖像質量較好的優點,可滿足監視應用中的圖像編碼需求。但以數位訊號處理器為載體 實現的JPEG編碼方法存在碼流和延時難控的缺點。
【發明內容】
[0004] 本發明要解決的技術問題是如何解決多通道視頻信號的編碼方法中,碼流和延時 難控的問題
[0005] 為了解決這一技術問題,本發明提供了一種多通道視頻信號的靜態圖像編碼方 法,包括如下步驟:
[0006] S1 :逐一完成多個通道的自檢,並標記無效通道,完成後進入步驟S2 ;
[0007] S2 :接收傳輸而來的視頻信號;
[0008] 噹噹前通道為步驟S1中標記的無效通道時,則切換至下一個通道;
[0009] 噹噹前通道非步驟S1中標記的無效通道時,統計得到該通道鎖定所需時間;並輸 出相應的圖像用以編碼;然後切換至下一個通道;
[0010] S3:重複步驟S2,直至完成了三次所有有效通道的鎖定,統計得到其中每次所有 有效通道鎖定所需時間,計算得到近三次通道鎖定所需的平均時間,進而得到相應的平均 幀頻;
[0011] S4 :依據步驟S3得到的平均幀頻確定當下的編碼長度的判定閾值;
[0012] S5:比較上一幀圖像的編碼長度與步驟S4得到當下的編碼長度的判定閾值,從而 依據比較結果第一次修正編碼的量化因子;
[0013] S6 :比較輸出緩衝區大小與預設的緩衝區大小閾值,從而依據比較結果對步驟S5 得到的量化因子進行第二次修正;
[0014] S7 :依據修正後的量化因子進行當下一幀圖像的編碼。
[0015] 在所述步驟S1中,單個通道的自檢過程至少包括:等待當前通道鎖定,若500毫秒 後仍未鎖定,則判斷該通道為無效通道。
[0016] 在所述步驟S2中,統計得到該通道鎖定所需時間的過程中,先統計得到該通道信 號鎖定所需的幀數n,然後依據以下公式計算得到該通道鎖定所需時間Τ1Λ :
[0017] Tlock= (n+l)/F [0018] 其中,F為輸入幀頻。
[0019] 在所述步驟S2中,對於任意一個有效通道,若其超過15幀後仍未鎖定,,則該通道 信號鎖定所需的幀數的統計值η取15,並將第16幀圖像強制輸出。
[0020] 在所述步驟S2中,對於任意一個有效通道,
[0021] 若所記錄的鎖定所需的幀數大於7幀時,則取該記錄的幀數為該通道信號鎖定所 需的幀數的統計值η,並輸出下一幀圖像;
[0022] 若所記錄的鎖定所需的幀數不大於7時,則該通道信號鎖定所需的幀數的統計值 η取7,並輸出第8幀圖像;
[0023] 在所述步驟S3中,得到平均幀頻的過程包括:
[0024] 先依據以下公式計算得到近三次通道鎖定所需的平均時間T1(x;kavg :
[0025] Tlockavg - (Tlockl+Tlock_2+Tlock_ 3) /3
[0026] 其中,Τ1Λ、Τ1Λ 2、Τ1Λ 3為近三次所有有效通道的鎖定時間;
[0027] 然後,依據以下公式計算得到相應的平均幀頻Favg :Favg = lAT1(X;kavg)。
[0028] 在所述步驟S4中,當下的編碼長度的判定閾值Nth通過以下公式確定:
[0029] Nth = 0. 95B/Favg ;
[0030] 其中,B為輸出信道的帶寬。
[0031] 在所述步驟S5中,
[0032] 若Nlst落在95% Nth與105% Nth之間,則量化因子Q不做修正;
[0033] 若Nlst落在90% Nth與100% Nth之間,則量化因子Q在原值上增加5 ;
[0034] 若Nlst落在100% Nth與110% Nth之間,則量化因子Q在原值上減小5 ;
[0035] 若Nlst小於90% Nth,則量化因子Q在原值上增加10 ;
[0036] 若Nlst大於110% Nth,則量化因子Q在原值上減小10 ;
[0037] 其中,Nlst為上一幀圖像的編碼長度,Nth為當下的編碼長度的判定閾值心。
[0038] 在所述步驟S6中,所述預設的緩衝區大小閾值設為500kb ;
[0039] 若輸出緩衝區大小落在500kb到800kb的範圍內,則量化因子Q減小5 ;
[0040] 若輸出緩衝區大小超過800kb,則量化因子減小10。
[0041] 在所述步驟S7之前還包括如下步驟:
[0042] 若步驟S6修正後得到的量化因子不大於20,則量化因子修正為20 ;
[0043] 若步驟S6修正後得到的量化因子不小於100,則量化因子修正為100。
[0044] 可選的,通道的數量不大於六個。
[0045] 本發明利用步驟S1實現了多通道信號自檢流程,利用步驟S2和S3實現了通道切 換與鎖定控制流程,最終利用步驟S4至S7實現了 JPEG編碼與碼流控制流程。故而,本發明 能在1Mbps信道中對多通道進行實時靜態圖像JPEG壓縮編碼,能自動完成通道鎖定判斷、 幀頻判斷及閾值計算,通過基於圖像幀大小的實時碼流控制技術將信道利用率提升至90% 以上,並能將編碼圖像輸出延時控制在800ms以內。利用本發明可以實現多通道視頻信號 的靜態圖像編碼以及提升信道利用率、降低數據延時的目的。
【專利附圖】
【附圖說明】
[0046] 圖1為本發明一實施例中的硬體載體;
[0047] 圖2為本發明一實施例中三通道視頻信號的編碼方法的流程圖;
[0048] 圖3為本發明提一實施例中三通道切換與鎖定控制流程的流程圖。
[0049] 圖4為本發明一實施例中修正量化因子的JPEG編碼的流程圖。
【具體實施方式】
[0050] 以下將結合圖1至圖4對本發明提供的多通道視頻信號的靜態圖像編碼方法進行 詳細的描述,其為本發明一可選的實施例,可以認為,本領域的技術人員在不改變本發明精 神和內容的範圍內對其進行修改和潤色。
[0051] 本實施例以三通道為例進行闡述,應認為,無論幾通道,都是本發明力求保護的方 案之一。可選的,通道的數量不大於六個。
[0052] 圖1為本發明一實施例中的硬體載體,包括了視頻數模A/D、數位訊號處理器以及 各種藉口和存儲裝置。
[0053] 本發明提供了一種多通道視頻信號的靜態圖像編碼方法,具體到本實施例中,提 供了一種三通道視頻信號的靜態圖像編碼方法,包括步驟S1至S6,請參考圖1和圖2,以下 逐步驟展開進行闡述。
[0054] S1 :逐一完成多個通道的自檢,並標記無效通道,完成後進入步驟S2 ;
[0055] 在所述步驟S1中,單個通道的自檢過程至少包括:等待當前通道鎖定,若500毫秒 後仍未鎖定,則判斷該通道為無效通道。
[0056] 在本實施例中,起始時先完成三個通道的自檢,具體方法為先判定當前通道鎖定 寄存器值(默認為1通道),若信號在500ms後未鎖定則判斷當前通道無圖像數據,接著按 上述步驟完成其餘通道的自檢及無效通道的標記。
[0057] 請參考圖3,並結合其他附圖:
[0058] S2 :接收傳輸而來的視頻信號;
[0059] 噹噹前通道為步驟S1中標記的無效通道時,則切換至下一個通道;
[0060] 噹噹前通道非步驟S1中標記的無效通道時,統計得到該通道鎖定所需時間;並輸 出相應的圖像用以編碼;然後切換至下一個通道;
[0061] 在所述步驟S2中,統計得到該通道鎖定所需時間的過程中,先統計得到該通道信 號鎖定所需的幀數n,然後依據以下公式計算得到該通道鎖定所需時間Τ 1Λ :
[0062] Tlock= (n+l)/F
[0063] 其中,F為輸入幀頻。
[0064] 在所述步驟S2中,對於任意一個有效通道,若其超過15幀後仍未鎖定,,則該通道 信號鎖定所需的幀數的統計值η取15,並將第16幀圖像強制輸出。
[0065] 在所述步驟S2中,對於任意一個有效通道,
[0066] 若所記錄的鎖定所需的幀數大於7幀時,則取該記錄的幀數為該通道信號鎖定所 需的幀數的統計值η,並輸出下一幀圖像;
[0067] 若所記錄的鎖定所需的幀數不大於7時,則該通道信號鎖定所需的幀數的統計值 η取7,並輸出第8幀圖像;
[0068] S3 :重複步驟S2,重複至少三輪所有有效通道的鎖定,通常,有效通道是依次鎖定 的,完成一輪所有有效通道的鎖定,即指完成了一次所有有效通道的鎖定,也可描述為,重 復步驟S2,直至完成了三次所有有效通道的鎖定,統計得到其中每次所有有效通道鎖定所 需時間,計算得到近三次所有通道鎖定所需的平均時間,也可描述為平均計算每輪所有通 道鎖定所需的時間,進而得到相應的平均幀頻;在所述步驟S3中,得到平均幀頻的過程包 括:
[0069] 先依據以下公式計算得到近三次所有通道鎖定所需的平均時間T1(x;kavg :
[0070] Tlockavg - (Tlockl+Tlock_2+Tlock_ 3) /3
[0071] 其中,T1(x;k 2、T1(X;k 3為近三次所有有效通道的鎖定時間,具體來說Τ1Λ」是第 一次完成所有通道鎖定所需時間,Τ1Λ 2是第二次完成所有通道鎖定所需時間,Τ1Λ 3是第 三次完成所有通道鎖定所需時間,每一次的過程中,通道都是依次切換,逐個鎖定,記錄下 每個通道的鎖定時間後,就可得到一次完成所有通道鎖定所需的時間;
[0072] 然後,依據以下公式計算得到相應的平均幀頻Favg : _] Favg= l/(Tlockavg)〇
[0074] 如圖2所示,步驟S2至S3也可視作通道切換與鎖定控制流程,進入通道切換與鎖 定控制流程後,切換至當前通道進行有效通道判定,通過後再統計通道鎖定時間與平均鎖 定時間,以此計算出平均幀頻並進行通道切換。
[0075] 在本實施例中,可具體化描述為以下:
[0076] 1)根據自檢結果判定當前通道是否為有效,若有效則進入通道鎖定判定狀態,若 無效則進入通道切換狀態;
[0077] 2)當前通道鎖定且幀數超過7幀後將下一幀圖像輸出,若超過15幀後通道仍未鎖 定則將第16幀圖像強制輸出,計算當前通道鎖定所需要的時間;輸入幀頻為F為25fps,故 當前通道鎖定時間計算如下,單位為s,
[0078] Tlock= (n+l)/25
[0079] 其中η為通道信號鎖定所需幀數
[0080] 3)判定是否完成三次有效通道切換,若是,則計算近三通道的平均幀頻並將切換 次數清零,若不是則進入通道切換狀態;
[0081] 平均鎖定時間 TlQekavg = (TlQek_2+WTlQek)/3
[0082] 平均幀頻Favg = 1八11。如8)
[0083] 對於以上的內容,須知,如何判定是否實現了鎖定屬於本領域的常識,一旦實現了 這一判定,自然可以實現判定所需幀數的統計記錄。本實施例中,請參考圖1,其中AD器件 為視頻信號數模轉換晶片,可通過數位訊號處理器向其內部通道寄存器寫入選定通道值來 切換通道,同時還可以訪問該AD晶片的通道鎖定狀態寄存器來確認當前通道的視頻信號 是否已鎖定。切換通道後,該寄存器值會置為"0",且AD晶片會對切換後的當前通道視頻信 號重新進行鎖定判斷,並在實現鎖定後將寄存器值置為" 1"。一般的,對於所有通道而言,該 種變化是一致的,所以,只要判斷寄存器是否變為"1",就可以判斷是否實現了視頻信號的 鎖定。
[0084] 請參考圖4,並結合其他附圖:
[0085] S4 :依據步驟S3得到的平均幀頻確定當下的編碼長度的判定閾值;
[0086] 在所述步驟S4中,當下的編碼長度的判定閾值Nth通過以下公式確定:
[0087] Nth = 0. 95B/Favg ;
[0088] 其中,B為輸出信道的帶寬。
[0089] S5 :比較上一幀圖像的編碼長度與步驟S4得到當下的編碼長度的判定閾值,從而 依據比較結果第一次修正編碼的量化因子;
[0090] 在所述步驟S5中,
[0091] 若Nlst落在95% Nth與105% Nth之間,則量化因子Q不做修正;
[0092] 若Nlst落在90% Nth與100% Nth之間,則量化因子Q在原值上增加5 ;
[0093] 若Nlst落在100% Nth與110% Nth之間,則量化因子Q在原值上減小5 ;
[0094] 若Nlst小於90% Nth,則量化因子Q在原值上增加10 ;
[0095] 若Nlst大於110% Nth,則量化因子Q在原值上減小10 ;
[0096] 其中,Nlst為上一幀圖像的編碼長度,Nth為當下的編碼長度的判定閾值N th。
[0097] S6 :比較輸出緩衝區大小與預設的緩衝區大小閾值,從而依據比較結果對步驟S5 得到的量化因子進行第二次修正;
[0098] 在所述步驟S6中,所述預設的緩衝區大小閾值設為500kb ;
[0099] 若輸出緩衝區大小落在500kb到800kb的範圍內,則量化因子Q減小5 ;
[0100] 若輸出緩衝區大小超過800kb,則量化因子減小10。
[0101] S7 :依據修正後的量化因子進行當下一幀圖像的編碼。
[0102] 在所述步驟S7之前,S6之後還包括如下步驟:
[0103] 若步驟S6修正後得到的量化因子不大於20,則量化因子修正為20 ;
[0104] 若步驟S6修正後得到的量化因子不小於100,則量化因子修正為100。
[0105] 如圖2所示,步驟S4至S7之間的步驟也可視作JEPG編碼與碼流控制流程。亦可 描述為進行當前通道靜態圖像JPEG編碼,實時判定當前編碼幀圖像大小,根據閾值範圍修 正JPEG編碼量化因子,同時判定緩衝區大小與設定閾值間的關係並進行再修正,並將編碼 數據輸出。
[0106] 具體來說,在本實施例中,JPEG編碼與碼流控制流程對接收到的圖像按JPEG算法 進行編碼,實時調整JPEG壓縮編碼時的量化因子,提高壓縮碼流實時性和信道利用率,具 體做法如下:
[0107] 1)按所計算出的量化因子Q值對當前幀進行JPEG圖像編碼並輸出,以70 (範圍 0?100)作為JPEG壓縮的默認量化因子值Qdef對第一幀圖像進行編碼並輸出,而後進行通 道切換;
[0108] 2)以Fdef = 3fps作為初始幀頻計算出編碼長度的默認閾值Ndef = 317Kb,以步驟 S3中計算的平均幀頻為基準更新當前圖像數據的判定閾值Nth,單位為Kb,公式如下,其中B 為輸出信道帶寬,單位Kbps。
[0109] Nth= (BXO. 95)/Favg
[0110] 3)以計算的判定閾值為基準,判定上一幀圖像編碼長度Nlst,計算該長度與閾值長 度的差異。若當前幀編碼長度落在閾值N thX (1 ±5% )範圍,量化因子不變;若當前幀編碼 長度落在(NthX (l±5%),NthX (1±10%))範圍,量化因子在原有值上減加5 ;若當前幀編 碼長度超出閾值NthX (1± 10% )範圍,量化因子在原有值上減加10。
[0111] 4)在完成以上第3)步後對輸出緩衝區大小Dbuf進行判定,設定判定閾值為500Kb, 若當前緩衝區大小在500Kb?800Kb,量化將量化因子減5,若超過800Kb,將量化因子減 10。
[0112] 5)判定當前計算Q值的大小,若小於20則將Q值賦值為20,若大於100則將Q值 賦值為100,其餘情況Q值不做修正。
[0113] 6)等待通道鎖定並釋放後,將該數值作為圖像編碼時的量化因子,並以該值作為 下下一幀的編碼量化因子計算的參考值。
[0114] 本發明利用步驟S1實現了多通道信號自檢流程,利用步驟S2和S3實現了通道切 換與鎖定控制流程,最終利用步驟S4至S7實現了 JPEG編碼與碼流控制流程。故而,本發明 能在1Mbps信道中對多通道進行實時靜態圖像JPEG壓縮編碼,能自動完成通道鎖定判斷、 幀頻判斷及閾值計算,通過基於圖像幀大小的實時碼流控制技術將信道利用率提升至90% 以上,並能將編碼圖像輸出延時控制在800ms以內。利用本發明可以實現多通道視頻信號 的靜態圖像編碼以及提升信道利用率、降低數據延時的目的。
【權利要求】
1. 一種多通道視頻信號的靜態圖像編碼方法,包括如下步驟: 51 :逐一完成多個通道的自檢,並標記無效通道,完成後進入步驟S2 ; 52 :接收傳輸而來的視頻信號; 噹噹前通道為步驟S1中標記的無效通道時,則切換至下一個通道; 噹噹前通道非步驟S1中標記的無效通道時,統計得到該通道鎖定所需時間;並輸出相 應的圖像用以編碼;然後切換至下一個通道; 53 :重複步驟S2,直至完成了三次所有有效通道的鎖定,統計得到其中每次所有有效 通道鎖定所需時間,計算得到近三次所有通道鎖定所需的平均時間,進而得到相應的平均 幀頻; 54 :依據步驟S3得到的平均幀頻確定當下的編碼長度的判定閾值; 55 :比較上一幀圖像的編碼長度與步驟S4得到當下的編碼長度的判定閾值,從而依據 比較結果第一次修正編碼的量化因子; 56 :比較輸出緩衝區大小與預設的緩衝區大小閾值,從而依據比較結果對步驟S5得到 的量化因子進行第二次修正; 57 :依據修正後的量化因子進行當下一幀圖像的編碼。
2. 如權利要求1所述的多通道視頻信號的靜態圖像編碼方法,其特徵在於:在所述步 驟S1中,單個通道的自檢過程至少包括:等待當前通道鎖定,若500毫秒後仍未鎖定,則判 斷該通道為無效通道。
3. 如權利要求1所述的多通道視頻信號的靜態圖像編碼方法,其特徵在於:在所述步 驟S2中,統計得到該通道鎖定所需時間的過程中,先統計得到該通道信號鎖定所需的幀數 n,然後依據以下公式計算得到該通道鎖定所需時間Τ1Λ : Tiock = (n+l)/F 其中,F為輸入幀頻。
4. 如權利要求1所述的多通道視頻信號的靜態圖像編碼方法,其特徵在於:在所述步 驟S2中,對於任意一個有效通道,若其超過15幀後仍未鎖定,則該通道信號鎖定所需的幀 數的統計值η取15,並將第16幀圖像強制輸出。
5. 如權利要求1所述的多通道視頻信號的靜態圖像編碼方法,其特徵在於:在所述步 驟S2中,對於任意一個有效通道, 若所記錄的鎖定所需的幀數大於7幀時,則取該記錄的幀數為該通道信號鎖定所需的 幀數的統計值η,並輸出下一幀圖像; 若所記錄的鎖定所需的幀數不大於7時,則該通道信號鎖定所需的幀數的統計值η取 7,並輸出第8幀圖像。
6. 如權利要求1所述的多通道視頻信號的靜態圖像編碼方法,其特徵在於:在所述步 驟S3中,得到平均幀頻的過程包括: 先依據以下公式計算得到近三次所有通道鎖定所需的平均時間T1(K;kavg : Tlockavg - (T1〇ckj+T1〇ck_2+T1〇ck_ 3) /3 其中,T1(x;k、TlTCk 2、TlTCk 3為近三次所有有效通道的鎖定時間; 然後,依據以下公式計算得到相應的平均幀頻Favg : Favg (T]_〇ckavgj 0
7. 如權利要求1所述的多通道視頻信號的靜態圖像編碼方法,其特徵在於:在所述步 驟S4中,當下的編碼長度的判定閾值Nth通過以下公式確定: Nth = 0. 95B/Favg ; 其中,B為輸出信道的帶寬。
8. 如權利要求1所述的多通道視頻信號的靜態圖像編碼方法,其特徵在於:在所述步 驟S5中, 若Nlst落在95% Nth與105% Nth之間,則量化因子Q不做修正; 若Nlst落在90% Nth與100% Nth之間,則量化因子Q在原值上增加5 ; 若Nlst落在100% Nth與110% Nth之間,則量化因子Q在原值上減小5 ; 若Nlst小於90% Nth,則量化因子Q在原值上增加10 ; 若Nlst大於110% Nth,則量化因子Q在原值上減小10 ; 其中,Nlst為上一幀圖像的編碼長度,隊h為當下的編碼長度的判定閾值Nth。
9. 如權利要求1所述的多通道視頻信號的靜態圖像編碼方法,其特徵在於:在所述步 驟S6中,所述預設的緩衝區大小閾值設為500kb ; 若輸出緩衝區大小落在500kb到800kb的範圍內,則量化因子Q減小5 ; 若輸出緩衝區大小超過800kb,則量化因子減小10。
10. 如權利要求1所述的多通道視頻信號的靜態圖像編碼方法,其特徵在於:在所述步 驟S7之前還包括如下步驟: 若步驟S6修正後得到的量化因子不大於20,則量化因子修正為20 ; 若步驟S6修正後得到的量化因子不小於100,則量化因子修正為100。
11. 如權利要求1至10任意之一所述的多通道視頻信號的靜態圖像編碼方法,其特徵 在於:通道的數量不大於六個。
【文檔編號】H04N7/18GK104159107SQ201410447134
【公開日】2014年11月19日 申請日期:2014年9月4日 優先權日:2014年9月4日
【發明者】馮書誼, 黎澤清, 袁傑, 沈霽, 徐起, 葉盛, 劉江瀾, 梁志林 申請人:上海航天電子通訊設備研究所