專利名稱:一種編碼器時延檢測方法及裝置的制作方法
技術領域:
本發明涉及視頻處理領域,特別是關于一種編碼器時延檢測方法及裝置。
背景技術:
在現有的各種服務系統中,如數字電視\網絡電視等,都包含編碼器的環節.這些系統中存在很多設備,每個設備都有自己的時延,眾多的時延疊加最終造成用戶終端顯示畫面或者其它應用的時延,這些服務系統中很多應用都需要盡量減小設備的時延,以便于與用戶終端之間的通信更加流暢,或者需要在設計應用時考慮不同設備的時延,以便于更好的為用戶提供服務。編碼器用于將原始的點陣視頻進行壓縮,獲得更少的數據用于傳輸/保存。編碼的過程包含了復雜的算法,會用到大量的緩存,導致產生較大的時延,而由于編碼器的復雜性,使獨立測試很困難。
發明內容
本發明實施例提供一種編碼器時延檢測方法及裝置,采用與編碼過程無關的時延測試方式獨立測試各種編碼器的時延。本發明實施例提供了一種編碼器時延檢測方法,包括生成圖像數據,在所述圖像數據中嵌入第一當前時間;利用待測編碼器對所述圖像數據進行編碼,并將編碼后的圖像數據發送給計算單元和采樣單元;所述采樣單元對所述編碼后的圖像數據進行采樣,并記錄下采樣的第二當前時間,并將所述采樣圖像數據和第二當前時間發送給所述計算單元; 所述計算單元在編碼后的圖像數據中匹配與所述采樣圖像數據相同的圖像數據,在所述編碼后的圖像數據中獲得所述第一當前時間,將所述第二當前時間與所述第一當前時間做差,獲得所述待測編碼器的時延數據;將所述獲取的待測編碼器的時延數據輸出。根據本發明實施例編碼器時延檢測方法的一個進一步的方面,在利用待測編碼器對所述圖像數據進行編碼,并將編碼后的圖像數據發送給計算單元和采樣單元中,所述待測編碼器通過分配器將所述編碼后的圖像數據同時發送給計算單元和采樣單元。根據本發明實施例編碼器時延檢測方法的再一個進一步的方面,所述采樣單元將所述采樣圖像數據和第二當前時間發送給所述計算單元中,所述采樣單元通過用戶數據包協議將所述采樣圖像數據和第二當前時間發送給所述計算單元。根據本發明實施例編碼器時延檢測方法的另一個進一步的方面,所述計算單元在編碼后的圖像數據中匹配與所述采樣圖像數據相同的圖像數據中,所述計算單元利用所述采樣圖像數據中的若干連續的字節在所述接收到的圖像數據中進行匹配,以獲得編碼后的圖像數據中唯一與所述采樣圖像數據相同的圖像數據。根據本發明實施例編碼器時延檢測方法的另一個進一步的方面,在輸出待測編碼器的時延數據后還包括,根據所述編碼器的時延數據,對數字電視網絡中的應用進行處理。本發明實施例還提供了一種編碼器時延檢測裝置,包括,
圖像數據生成單元,用于生成圖像數據,在所述圖像數據中嵌入第一當前時間;待測編碼器,用于對所述圖像數據進行編碼,并將編碼后的圖像數據發送給計算單元和采樣單元;所述采樣單元,用于在編碼后的圖像數據中進行采樣,并記錄下采樣的第二當前時間,并將所述采樣圖像數據和第二當前時間發送給所述計算單元;所述計算單元,用于在編碼后的圖像數據中匹配與所述采樣圖像數據相同的圖像數據,在所述圖像數據中獲得所述第一當前時間,將所述第二當前時間與所述第一當前時間做差,獲得所述待測編碼器的時延數據;輸出單元,用于將所述獲取的待測編碼器的時延數據輸出。根據本發明實施例所述裝置的一個進一步的方面,所述圖像生成單元和所述采樣單元使用相同的時鐘晶振。根據本發明實施例所述裝置的再一個進一步的方面,還包括分配器,將待測編碼器輸出的編碼后的圖像數據同時發送給計算單元和采樣單元。根據本發明實施例所述裝置的另一個進一步的方面,所述計算單元利用所述采樣圖像數據中的若干連續的字節在所述接收到的圖像數據中進行匹配,以獲得編碼后的圖像數據中唯一與所述采樣圖像數據相同的圖像數據。根據本發明實施例所述裝置的另一個進一步的方面,所述圖像生成單元和所述采樣單元兩者為一塊具有數據處理能力的單片機芯片構成。通過本發明實施例,可以準確測量多種不同編碼器的時延,確定了一幀圖像從輸入編碼器到編碼壓縮輸出的時間,而不改變編碼器本身的編碼過程的時間。
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖1所示為本發明實施例一種編碼器時延檢測方法流程圖;圖2所示為本發明實施例一種編碼器時延檢測裝置結構示意圖;圖3所示為本發明實施例一種編碼器時延檢測裝置的另一結構示意圖;圖4所示為本發明實施例一種編碼器時延檢測方法的信號流圖;圖5所示為計算機在接收到采樣結果和采樣當前時間T2后獲得Tl時間的畫面流程圖。
具體實施例方式下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。如圖1所示為本發明實施例一種編碼器時延檢測方法流程圖。
包括,步驟101,生成圖像數據,在所述圖像數據中嵌入第一當前時間。所述第一當前時間可以精確到毫秒(ms)級別,從而可以更加準確的測定所述編碼器的時延。 步驟102,利用待測編碼器對所述圖像數據進行編碼,并將編碼后的圖像數據發送給計算單元和采樣單元,所述計算單元例如可以是計算機或者具有計算和解碼能力的單片機。所述編碼器的輸入是各種圖像格式,如HDMI/VGA/AV/DVI,輸出是各種編碼格式,目前主要是MPEG2與MPEG4(H. 264)。所述待測編碼器將編碼后的圖像數據發送給計算單元和采樣單元時可以通過分配器來實現同時發送,從而使得時延檢測更加準確。步驟103,所述采樣單元對所述編碼后的圖像數據進行采樣,并記錄下采樣的第二當前時間,并將所述采樣圖像數據和第二當前時間發送給所述計算單元。可以定時進行采樣,例如為1秒。由于采樣時間很短,可以在微秒級即可完成一次采樣,因此可以保證采樣時記錄的第二當前時間的準確性,所述采樣圖像數據可以為700個字節,或者其它長度的圖像數據。所述采樣單元可以通過例如用戶數據包協議(UDP)協議發送給所述計算單元所述采樣圖像數據和第二當前時間。步驟104,所述計算單元在編碼后的圖像數據中匹配與所述采樣圖像數據相同的圖像數據,在所述圖像數據中獲得所述第一當前時間,將所述第二當前時間與所述第一當前時間做差,獲得所述待測編碼器的時延數據。所述計算單元在接收到的圖像數據中匹配與所述采樣圖像數據相同的圖像數據時,利用所述采樣圖像數據中的若干連續的字節在所述接收到的圖像數據中進行匹配,例如利用采樣圖像數據中的5個連續的字節在所述接收到的圖像數據中進行匹配,通常在所述計算單元接收到幾十兆圖像數據中,5個字節的圖像數據的碼流序列是唯一的,如果不是唯一的可以增加匹配過程中的連續字節數。所述匹配的結果為找到包括所述若干連續字節的圖像數據在碼流中的地址,根據所述地址找到包含所述地址的幀,將該幀進行解碼,獲得該幀的畫面,從而可以得到畫面內顯示的第一當前時間。所述計算單元例如可以通過Elecard工具分析所述圖像數據的碼流,所述Elecard工具可以分析出來一幀畫面壓縮后的地址及大小,并將畫面顯示出來。步驟105,將所述獲取的待測編碼器的時延數據輸出。例如輸出到顯示裝置或者其它應用中。作為本發明的一個實施例,在所述步驟105之后還包括,根據所述編碼器的時延數據,對數字電視網絡中的應用進行處理,例如在編碼時參考編碼器的時延數據,可以不產生B幀,這樣只要收全一幀畫面數據就進行解碼,以降低在用戶端的畫面時延現象,這樣可以盡量使得用戶觀看畫面時不會感覺到時延。通過本發明實施例,可以準確測量多種不同編碼器的時延,確定了一幀圖像從輸入編碼器到編碼壓縮輸出的時間,而不改變編碼器本身的編碼過程的時間。并且,可以將時延檢測結果應用于各種系統中各種不同的應用中,以降低用戶端畫面的時延。如圖2所示為本發明實施例一種編碼器時延檢測裝置結構示意圖。包括圖像數據生成單元201,待測編碼器202,采樣單元203,計算單元204,輸出單元 205。所述圖像數據生成單元201,用于生成圖像數據,在所述圖像數據中嵌入第一當前時間。所述待測編碼器202,用于對所述圖像數據進行編碼,并將編碼后的圖像數據發送給計算單元204和采樣單元203。 所述采樣單元203,用于在預定時間內對所述圖像數據進行采樣,并記錄下采樣的第二當前時間,并將所述采樣圖像數據和第二當前時間發送給所述計算單元204,例如可以通過UDP協議發送給所述計算單元所述采樣圖像數據和第二當前時間。所述采樣單元203 與所述圖像數據生成單元201的時鐘為同一時鐘晶振,從而保證了時鐘的同步。所述計算單元204,用于在接收到的圖像數據中匹配與所述采樣圖像數據相同的圖像數據,在所述圖像數據中獲得所述第一當前時間,將所述第二當前時間與所述第一當前時間做差,獲得所述待測編碼器的時延數據。所述計算單元可以為計算機或者其它計算和解碼能力的單片機。所述輸出單元205,用于將所述獲取的待測編碼器的時延數據輸出。還包括分配器206,通過該分配器所述待測編碼器將將編碼后的圖像數據同時發送給計算單元和采樣單元,作為優選的實施例,所述分配器包括交換機和異步串行接口 (ASI)分配器,通過分配器可以使得圖像數據同時傳送給計算單元和采樣單元,從而使得時延檢測更加準確。如圖3所示為本發明實施例一種編碼器時延檢測裝置的另一結構示意圖。圖像數據生成單元與采樣單元都集成于電路裝置301,所述電路裝置301生成帶有當前時間Tl畫面的圖像數據發送給待測編碼器302,所述待測編碼器302將經過編碼壓縮后的壓縮碼流發送給分配器303,所述分配器303將壓縮碼流同時發送給電路裝置301和計算機304,所述電路裝置301對發送給它的壓縮碼流進行采樣,例如采集500字節的壓縮碼流,并記錄采樣的當前時間T2,該電路裝置301將所述采樣壓縮碼流和采樣當前時間T2 通過UDP等協議發送給計算機304,所述計算機304對所述分配器303發送來的壓縮碼流進行存儲,例如采用碼流錄制工具VLC(VLC Media player),并接收所述電路裝置301發送過來的采樣壓縮碼流和采樣的當前時間T2,利用所述發送過來的采樣壓縮碼流的5個連續的字節,或者8個甚至更多的連續字節在所述存儲的壓縮碼流中進行匹配,找到采樣壓縮碼流在存儲碼流中的地址Al,再利用碼流分析工具Elecard對所述存儲碼流進行分析,找到包含地址Al的幀,顯示該幀的畫面內容,通過圖像分析或者人眼觀察的方式獲得該幀畫面中的時間Tl,利用T2-T1獲得該待測編碼器302的時延,進行多次上述檢測后,可以確定該待測編碼器302的平均時延,所述計算機可以輸出該檢測結果。如圖4所示為本發明實施例一種編碼器時延檢測方法的信號流圖。包括步驟401,電路裝置生成圖像數據并在圖像中嵌入當前時間Tl,將該圖像數據發送給待測編碼器。步驟402,所述待測編碼器對所述圖像數據進行編碼壓縮,將該編碼壓縮后的碼流同時發送給電路裝置和計算機,當然不同時發送也可以實現本發明的目的,由于是根據地址對圖像數據進行匹配,所以同時發送只是優選的實施例。步驟403,所述電路裝置對接收到的碼流進行采樣,并記錄采樣當前時間T2,將該采樣結果和采樣當前時間T2發送給計算機。步驟404,在于上述步驟403同時,計算機接收到碼流進行存儲。步驟405,計算機在接收到電路裝置發送來的采樣結果和采樣當前時間T2后,在所述存儲的碼流中匹配采樣結果,得到碼流中的具有Tl時間的畫面,進行Tl與T2的差值運算,獲得該待測編碼器的時延。圖5所示為計算機在接收到采樣結果和采樣當前時間T2后獲得Tl時間的畫面流程圖。通過上述實施例,能夠精確(1毫秒之內)并且獨立的測量編碼器時延,為端到端時延提供編碼器這一個環節的時延,能夠為編碼器生產者和開發者提供獨立的時延數據, 為改進編碼器的時延提供依據。以上所述的具體實施方式
,對本發明的目的、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發明的具體實施方式
而已,并不用于限定本發明的保護范圍,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
權利要求
1.一種編碼器時延檢測方法,其特征在于,生成圖像數據,在所述圖像數據中嵌入第一當前時間;利用待測編碼器對所述圖像數據進行編碼,并將編碼后的圖像數據發送給計算單元和采樣單元;所述采樣單元對所述編碼后的圖像數據進行采樣,并記錄下采樣的第二當前時間,并將所述采樣圖像數據和第二當前時間發送給所述計算單元;所述計算單元在編碼后的圖像數據中匹配與所述采樣圖像數據相同的圖像數據,在所述編碼后的圖像數據中獲得所述第一當前時間,將所述第二當前時間與所述第一當前時間做差,獲得所述待測編碼器的時延數據;將所述獲取的待測編碼器的時延數據輸出。
2.根據權利要求1所述的方法,其特征在于,在利用待測編碼器對所述圖像數據進行編碼,并將編碼后的圖像數據發送給計算單元和采樣單元中,所述待測編碼器通過分配器將所述編碼后的圖像數據同時發送給計算單元和采樣單元。
3.根據權利要求1所述的方法,其特征在于,所述采樣單元將所述采樣圖像數據和第二當前時間發送給所述計算單元中,所述采樣單元通過用戶數據包協議將所述采樣圖像數據和第二當前時間發送給所述計算單元。
4.根據權利要求1所述的方法,其特征在于,所述計算單元在編碼后的圖像數據中匹配與所述采樣圖像數據相同的圖像數據中,所述計算單元利用所述采樣圖像數據中的若干連續的字節在所述接收到的圖像數據中進行匹配,以獲得編碼后的圖像數據中唯一與所述采樣圖像數據相同的圖像數據。
5.根據權利要求1所述的方法,其特征在于,在輸出待測編碼器的時延數據后還包括, 根據所述編碼器的時延數據,對數字電視網絡中的應用進行處理。
6.一種編碼器時延檢測裝置,其特征在于包括,圖像數據生成單元,用于生成圖像數據,在所述圖像數據中嵌入第一當前時間;待測編碼器,用于對所述圖像數據進行編碼,并將編碼后的圖像數據發送給計算單元和采樣單元;所述采樣單元,用于在編碼后的圖像數據中進行采樣,并記錄下采樣的第二當前時間, 并將所述采樣圖像數據和第二當前時間發送給所述計算單元;所述計算單元,用于在編碼后的圖像數據中匹配與所述采樣圖像數據相同的圖像數據,在所述圖像數據中獲得所述第一當前時間,將所述第二當前時間與所述第一當前時間做差,獲得所述待測編碼器的時延數據;輸出單元,用于將所述獲取的待測編碼器的時延數據輸出。
7.根據權利要求6所述的裝置,其特征在于,所述圖像生成單元和所述采樣單元使用相同的時鐘晶振。
8.根據權利要求7所述的裝置,其特征在于,所述圖像生成單元和所述采樣單元兩者為一塊具有數據處理能力的單片機芯片構成。
9.根據權利要求6所述的裝置,其特征在于,還包括分配器,將待測編碼器輸出的編碼后的圖像數據同時發送給計算單元和采樣單元。
10.根據權利要求6所述的裝置,其特征在于,所述計算單元利用所述采樣圖像數據中的若干連續的字節在所述接收到的圖像數據中進行匹配,以獲得編碼后的圖像數據中唯一與所述采樣圖像數據相同的圖像數據。
全文摘要
本發明涉及視頻處理領域,特別是關于一種編碼器時延檢測方法及裝置。采用與編碼過程無關的時延測試方式獨立測試各種編碼器的時延,所述方法包括在所述圖像數據中嵌入第一當前時間;利用待測編碼器對所述圖像數據進行編碼,并將編碼后的圖像數據發送給計算單元和采樣單元;計算單元在編碼后的圖像數據中匹配與采樣圖像數據相同的圖像數據,在所述編碼后的圖像數據中獲得所述第一當前時間,將所述第二當前時間與所述第一當前時間做差,獲得所述待測編碼器的時延數據,可以準確測量多種不同編碼器的時延,確定了一幀圖像從輸入編碼器到編碼壓縮輸出的時間,而不改變編碼器本身的編碼過程的時間。
文檔編號H04N17/00GK102158726SQ20111003167
公開日2011年8月17日 申請日期2011年1月28日 優先權日2011年1月28日
發明者余志勇, 包天珍 申請人:北京視博云科技有限公司