一種具有超低端到端時延的視頻編解碼系統、方法及裝置的制造方法
【技術領域】
[0001]本發明涉及視頻編解碼領域,特別涉及一種具有超低端到端時延的視頻編解碼系統、方法及裝置。
【背景技術】
[0002]現階段,視頻編碼解碼設備被廣泛應用在社會生活的各個方面。普通的應用,包括視頻會議、交通監控等;特殊應用,包括軍事偵查、無人機航舶、遠程操控、導彈制導控制和機器視覺等。對于上述特殊應用,需要使用視頻圖像進行實時控制,因此對視頻從編碼設備到解碼設備傳輸時的端到端時延有苛刻的要求。普通安防監控類視頻編解碼設備的端到端時延一般為300?500ms,低時延優化的一些音視頻編解碼設備端到端時延120?180ms。對于軍事等特殊應用,其要求端到端時延< 100ms。
[0003]一個視頻編碼設備內部最少包括三個處理部分:視頻接收模塊、視頻下采樣模塊和視頻編碼模塊;一個視頻解碼設備內部最少包括三個處理部分:視頻解碼模塊、視頻上采樣模塊和視頻發送模塊。這些模塊均以一個視頻幀為單位進行處理,視頻幀以固定的輸入幀率進入一個模塊,經過一個幀周期的處理時間后,進入下一個模塊。這樣,整個編碼解碼時延就是所有模塊數乘以幀周期,引起很大的端到端時延。
【發明內容】
[0004]本發明要解決的技術問題在于,針對現有技術的上述端到端時延較大的缺陷,提供一種端到端時延較小的具有超低端到端時延的視頻編解碼系統、方法及裝置。
[0005]本發明解決其技術問題所采用的技術方案是:構造一種具有超低端到端時延的視頻編解碼系統,包括視頻編碼單元和視頻解碼單元,所述視頻編碼單元包括接收控制模塊、視頻接收模塊、視頻下采樣模塊、視頻編碼模塊、第一編碼Ping緩存模塊、第一編碼pong緩存模塊、第二編碼Ping緩存模塊和第二編碼pong緩存模塊,所述接收控制模塊接收配置參數,按照所述配置參數進行設置,并將Ping/pong編碼控制信號和所述配置參數分別傳送到所述視頻接收模塊、視頻下采樣模塊和視頻編碼模塊,所述視頻接收模塊每接收一幀視頻數據的設定行數后,將其存入到所述第一編碼Ping緩存模塊和第一編碼pong緩存模塊中,所述視頻下采樣模塊分別從所述第一編碼Ping緩存模塊和第一編碼pong緩存模塊讀取數據,對所述讀取的數據進行下采樣處理后存入到所述第二編碼Ping緩存模塊和第二編碼pong緩存模塊,所述視頻編碼模塊從所述第二編碼ping緩存模塊和第二編碼pong緩存模塊中讀取數據并進行編碼,并將編碼視頻數據發送到所述視頻解碼單元進行解碼。
[0006]在本發明所述的具有超低端到端時延的視頻編解碼系統中,所述視頻解碼單元包括視頻解碼模塊、視頻上采樣模塊、視頻發送模塊、發送控制模塊、第一解碼Ping緩存模塊、第一解碼PQng緩存模塊、第二解碼ping緩存模塊和第二解碼pong緩存模塊,所述視頻解碼模塊對編碼視頻數據進行解碼,提取出所述配置參數并將其寫入到所述發送控制模塊,所述發送控制模塊再將其分別寫入到所述視頻上采樣模塊和視頻發送模塊,所述視頻解碼模塊將設定行數解碼后的視頻數據寫入到所述第一解碼Ping緩存模塊和第一解碼pong緩存模塊,所述視頻上采樣模塊從所述第一解碼ping緩存模塊和第一解碼pong緩存模塊讀取所述視頻數據,對所述視頻數據進行上采樣處理后存入所述第二解碼Ping緩存模塊和第二解碼pong緩存模塊,所述視頻發送模塊從所述第二解碼ping緩存模塊和第二解碼pong緩存模塊中讀取數據進行顯示輸出。
[0007]在本發明所述的具有超低端到端時延的視頻編解碼系統中,所述配置參數包括每次處理的視頻行數,所述每次處理的視頻行數為一幀視頻數據的設定行數。
[0008]本發明還涉及一種具有超低端到端時延的視頻編解碼方法,包括如下步驟:
[0009]A)將配置參數輸入到接收控制模塊,再由所述接收控制模塊將所述配置參數分別傳送到所述視頻接收模塊、視頻下采樣模塊和視頻編碼模塊,設置系統內各模塊每次處理的視頻行數;
[0010]B)所述接收控制模塊按照所述配置參數的設置,對輸入視頻的垂直同步信號和水平同步信號進行檢測和計數,并輸出相應的ping/pong編碼控制信號給所述視頻接收模塊、視頻下采樣模塊和視頻編碼模塊;
[0011]C)所述視頻接收模塊根據所述ping/pong編碼控制信號以及配置參數的設置,每接收一幀視頻數據的設定行數后,存入到所述第一編碼Ping緩存模塊和第一編碼pong緩存模塊內;
[0012]D)視頻下采樣模塊根據所述ping/pong編碼控制信號以及配置參數的設置,從所述第一編碼Ping緩存模塊和第一編碼pong緩存模塊內內讀取數據,并對其進行下采樣處理后,存入第二編碼ping緩存模塊和第二編碼pong緩存模塊內;
[0013]E)視頻編碼模塊根據所述ping/pong編碼控制信號以及配置參數的設置,從所述第二編碼ping緩存模塊和第二編碼pong緩存模塊內讀取數據,并對其進行編碼處理后,將編碼視頻數據輸出;
[0014]F)視頻解碼單元接收所述編碼視頻數據,并對其進行譯碼。
[0015]在本發明所述的具有超低端到端時延的視頻編解碼方法中,所述步驟F)進一步包括:
[0016]Fl)視頻解碼模塊對編碼視頻數據進行解碼,提取所述編碼視頻數據內的配置參數,將所述配置參數分別寫入到所述發送控制模塊、視頻上采用模塊、和視頻發送模塊內,并對其進行配置;所述配置參數包括所述設定行數;
[0017]F2)所述視頻解碼模塊對所述編碼視頻數據解碼,并將所述設定行數解碼后的視頻數據寫入到第一解碼Ping緩存模塊和第一解碼pong緩存模塊內,同時輸出相應的ping/pong解碼控制信號給發送控制模塊;
[0018]F3)接收控制模塊按照所述配置參數的設置,分別輸出相應的ping/pong解碼控制信號給視頻上采樣模塊和視頻發送模塊;
[0019]F4)所述視頻上采樣模塊根據所述ping/pong解碼控制信號以及配置參數的設置,從第一解碼Ping緩存模塊和第一解碼pong緩存模塊內讀取數據,對其進行上采樣處理后存入第二解碼Ping緩存模塊和第二解碼pong緩存模塊內;
[0020]F5)視頻發送模塊根據所述ping/pong解碼控制信號以及配置參數的設置,從所述第二解碼Ping緩存模塊和第二解碼pong緩存模塊內讀取數據進行顯示輸出。
[0021]本發明還涉及一種實現上述具有超低端到端時延的視頻編解碼方法的裝置,包括:
[0022]配置參數發送單元:用于將配置參數輸入到接收控制模塊,再由所述接收控制模塊將所述配置參數分別傳送到所述視頻接收模塊、視頻下采樣模塊和視頻編碼模塊,設置系統內各模塊每次處理的視頻行數;
[0023]檢測計數單元:用于使所述接收控制模塊按照所述配置參數的設置,對輸入視頻的垂直同步信號和水平同步信號進行檢測和計數,并輸出相應的ping/pong編碼控制信號給所述視頻接收模塊、視頻下采樣模塊和視頻編碼模塊;
[0024]第一編碼存儲單元:用于使所述視頻接收模塊根據所述ping/pong編碼控制信號以及配置參數的設置,每接收一幀視頻數據的設定行數后,存入到所述第一編碼Ping緩存模塊和第一編碼pong緩存模塊內;
[0025]下采樣處理單元:用于使視頻下采樣模塊根據所述ping/pong編碼控制信號以及配置參數的設置,從所述第一編碼Ping緩存模塊和第一編碼pong緩存模塊內內讀取數據,并對其進行下米樣處理后,存入第二編碼ping緩存模塊和第二編碼pong緩存模塊內;
[0026]編碼處理單元:用于使視頻編碼模塊根據所述ping/pong編碼控制信號以及配置參數的設置,從所述第二編碼Ping緩存模塊和第二編碼pong緩存模塊內讀取數據,并對其進行編碼處理后,將編碼視頻數據輸出;
[0027]譯碼單元:用于使視頻解碼單元接收所述編碼視頻數據,并對其進行譯碼。
[0028]在本發明所述的裝置中,所述譯碼單元進一步包括:
[0029]參數提取模塊:用于使視頻解碼模塊對編碼視頻數據進行解碼,提取所述編碼視頻數據內的配置參數,將所述配置參數分別寫入到所述發送控制模