一種音視頻數據的處理方法及裝置的製作方法
2023-10-05 13:43:59 1
專利名稱:一種音視頻數據的處理方法及裝置的製作方法
技術領域:
本發明涉及編解碼技術,尤其涉及一種音視頻數據的處理方法及裝置。
背景技術:
可視電話技術,是一種基於音視頻編解碼技術,以網絡為載體實現多用戶即時在線通信的技術。常見的即時在線通信軟體有QQ、MSN和Skype等。而機頂盒上的可視電話業務,主要是利用機頂盒這一現代數字家庭的媒體中心,以家庭為單位,實現端到端的音視頻通話的業務。由於可視電話業務本身的特點,在進行端到端的數據傳輸時,數據的傳輸通路較長。以視頻為例,通常要經過視頻圖像採集、編碼、網絡打包、發送到對端、對端接收、解包、視頻解碼、顯示到對端的屏幕上這些過程。由此可以看出,在上述過程中間經歷的環節多且複雜,因而不可避免的產生了視頻延時。如何有效的降低端到端的音視頻延時,是即時在線通信產品的一個重要研究方向。在現有技術中,為減少端到端的音視頻時延,可通過減少可視電話業務中音視頻數據流通路上的內存複製次數的方法來實現,或者還可通過減少幀數據在緩衝區內的停留的時間的方法來實現。但是,在實現本發明的過程中,發明人發現:雖然在機頂盒中利用硬體進行解碼,但是硬體解碼器只有在收到下一幀碼流的起始碼時才能將前一幀碼流的信息配置給硬體解碼器,這時,硬體解碼器才開始對前一幀碼流進行解碼,從而引起了音視頻延時。
發明內容
有鑑於此,本發明提供一種音視頻數據的處理方法及裝置,以減少音視頻延時。為達到上述目的,本發明採用如下技術方案:第一方面,本發明提供了一種音視頻數據的處理方法,包括:採集音視頻數據;對所述音視頻數據進行編碼,形成音視頻碼流;將所述音視頻碼流進行碼流打包,形成音視頻編碼碼流網絡包,其中在進行碼流打包的過程中,為至少一幀音視頻碼流添加碼流結束標識符,其中所述碼流結束標識符用於標識所述至少一幀音視頻碼流的結束;將所述音視頻編碼碼流網絡包發送給解碼端。在第一方面的第一種可能實現方式中,在進行碼流打包的過程中,在所述至少一幀音視頻碼流的結束位置上添加碼流結束標識符。結合第一方面或第一方面的第一種可能實現方式,在第一方面的第二種可能實現方式中,所述碼流結束標識符包括偽起始碼。結合第一方面的第二種可能實現方式,所述偽起始碼為0x000001。第二方面,本發明提供了一種音視頻數據的處理方法,包括:
接收編碼端發送的音視頻編碼碼流網絡包;將所述音視頻編碼碼流網絡包進行解包,獲得音視頻碼流,其中所述音視頻碼流中的至少一幀音視頻碼流包括碼流結束標識符,其中所述碼流結束標識符用於標識所述至少一幀音視頻碼流的結束;對所述音視頻碼流進行解碼,獲得音視頻數據,其中在解碼過程中,在收到所述至少一幀音視頻碼流的碼流結束標識符時,對所述至少一幀音視頻碼流進行解碼。在第二方面的第一種可能實現方式中,所述碼流結束標識符位於所述至少一幀音視頻碼流的結束位置上;其中在解碼過程中,在收到位於所述至少一幀音視頻碼流的結束位置上的所述至少一幀音視頻碼流的碼流結束標識符時,對所述至少一幀音視頻碼流進行解碼。結合第二方面或第二方面的第一種可能實現方式,在第二方面的第二種可能實現方式中,所述碼流結束標識符包括偽起始碼。結合第二方面的第二種可能實現方式,所述偽起始碼為0x000001。第三方面,本發明提供了一種音視頻數據的處理裝置,包括:數據採集單元,用於採集音視頻數據;編碼單元,用於對所述數據採集單元採集的音視頻數據進行編碼,形成音視頻碼流;網絡包生成單元,用於將所述編碼單元生成的音視頻碼流進行碼流打包,形成音視頻編碼碼流網絡包,其中在進行碼流打包的過程中,為至少一幀音視頻碼流添加碼流結束標識符,其中所述碼流結束標識符用於標識所述至少一幀音視頻碼流的結束;發送單元,用於將所述網絡包生成單元生成的音視頻編碼碼流網絡包發送給解碼端。在第三方面的第一種可能實現方式中,所述網絡包生成單元具體用於,將所述編碼單元生成的音視頻碼流進行碼流打包,形成音視頻編碼碼流網絡包,其中在進行碼流打包的過程中,在所述至少一幀音視頻碼流的結束位置上為所述至少一幀音視頻碼流添加碼流結束標識符。結合第三方面或第三方面的第一種可能實現方式,在第三方面的第二種可能實現方式中,所述碼流結束標識符包括偽起始碼。第四方面,本發明提供了一種音視頻數據的處理裝置,包括:接收單元,用於接收編碼端發送的音視頻編碼碼流網絡包;解包單元,用於將所述接收單元接收的音視頻編碼碼流網絡包進行解包,獲得音視頻碼流,其中所述音視頻碼流中的至少一幀音視頻碼流包括碼流結束標識符,其中所述碼流結束標識符用於標識所述至少一幀音視頻碼流的結束;解碼單元,用於對所述解包單元獲得的音視頻碼流進行解碼,獲得音視頻數據,其中在解碼過程中,在收到所述至少一幀音視頻碼流的碼流結束標識符時,對所述至少一幀音視頻碼流進行解碼。在第四方面的第一種可能實現方式中,所述碼流結束標識符位於所述至少一幀音視頻碼流的結束位置上;所述解碼單元在解碼過程中,在收到位於所述至少一幀音視頻碼流的結束位置上的所述至少一幀音視頻碼流的碼流結束標識符時,對所述至少一幀音視頻碼流進行解碼。結合第四方面或第四方面的第一種可能實現方式,在第四方面的第二種可能實現方式中,所述碼流結束標識符包括偽起始碼。結合第四方面或第四方面的第一種可能實現方式,在第四方面的第三種可能實現方式中,還包括:顯示單元,用於顯示所述解碼單元獲得的音視頻數據。本發明提供的音視頻數據的處理方法及裝置,在編碼端,對採集的音視頻數據進行編碼、打包形成音視頻編碼碼流網絡包,而在進行碼流打包的過程中,為至少一幀音視頻碼流添加碼流結束標識符,其中所述碼流結束標識符用於標識所述至少一幀音視頻碼流的結束。因此,在將音視頻編碼碼流網絡包發送給解碼端後,解碼端將所述音視頻編碼碼流網絡包進行解包,獲得音視頻碼流。由於編碼端在進行碼流打包時為至少一幀音視頻碼流添加了碼流結束標識符,因此,解碼端對所述音視頻碼流進行解碼時,在收到所述至少一幀音視頻碼流的碼流結束標識符時,即可對所述至少一幀音視頻碼流進行解碼。因此,由上可以看出,與現有技術中只有在收到下一幀碼流的起始碼才能對當前幀碼流進行解碼相比,利用本發明的技術方案可以在收到當前幀碼流的碼流結束標識符後就對當前幀碼流進行解碼,從而減少了音視頻延時。
為了更清楚地說明本發明實施例的技術方案,下面將對實施例描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖1為本發明實施例一的音視頻數據的處理方法的流程圖;圖2為本發明實施例二的音視頻數據的處理方法的流程圖;圖3為本發明實施例三的音視頻數據的處理裝置的示意圖;圖4為本發明實施例四的音視頻數據的處理裝置的示意圖;圖5為本發明實施例四的音視頻數據的處理裝置的結構圖。
具體實施例方式下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。如圖1所示,本發明實施例一的音視頻數據的處理方法包括:步驟11、採集音視頻數據。在此步驟中,可通過音視頻採集卡採集音視頻數據,或者還可分別通過音頻數據採集裝置(如錄音筆等)和視頻數據採集裝置(如攝像頭等)音頻數據和視頻數據。此步驟的具體實現過程與現有技術中的相同,在此不再贅述。步驟12、對所述音視頻數據進行編碼,形成音視頻碼流。對於視頻數據而言,常用的編解碼標準有國際電信聯盟(InternationalTe lecommuni cat ion Union, ITU)制定的 H.261、Η.263、Η.264 等標準,動態圖像專家組(Moving Pictures Experts Group, MPEG)制定的 MEPG-1, MPEG-2, MPEG-4,以及中國數字音視頻編解碼技術標準(AVS)工作組制定的AVS標準等。對於音頻數據而言,常用的編碼方式有PCM(Pulse Code Modulations,脈衝編碼調製)等。在此步驟中,對於音視頻數據的編解碼可以採用現有技術中的任何一種編碼方式實現,以形成音視頻碼流。步驟13、將所述音視頻碼流進行碼流打包,形成音視頻編碼碼流網絡包,其中在進行碼流打包的過程中,為至少一幀音視頻碼流添加碼流結束標識符,其中所述碼流結束標識符用於標識所述至少一幀音視頻碼流的結束。對步驟12中形成的音視頻碼流,在此步驟中對其進行碼流打包。在進行碼流打包的過程中,為至少一幀音視頻碼流添加碼流結束標識符,而後將該碼流結束標識符和該幀音視頻碼流的數據一起打包。其中所述碼流結束標識符用於標識所述至少一幀音視頻碼流的結束。為了能夠更加準確的表示該幀碼流結束的位置,可將碼流結束標識符添加在該幀的結束位置上。當然,為了能夠進一步減小音視頻時延,可為每一幀音視頻碼流添加碼流結束標識符,並且該添加碼流結束標識符添加在每一幀音視頻碼流的結束位置上。該碼流結束標識符可以是任意的用於表示一幀音視頻碼流結束的標識。例如,可用在某一幀音視頻碼流的結束位置上添加一個標誌位,例如「 I 」,以表示一幀音視頻碼流的結束。在現有技術的視頻編碼協議中,利用「起始碼」標識一幀碼流的起始位置。起始碼一般為一組短小二進位數字,不同的協議所採用的起始碼各不相同,但其長度一般在4個字節以內。套用上述起始碼的概念,在本發明實施例中引入「偽起始碼」的概念。「偽起始碼」與「起始碼」的格式相同,不同的是「偽起始碼」是位於一幀音視頻碼流的結束位置上,用於標識一幀音視頻碼流的結束。以H.264協議為例,使用的偽起始碼為0x000001,是一個3位元組的固定值序列。當然,根據不同的協議的特點,還可對偽起始碼的具體形式做不同的定義。步驟14、將所述音視頻編碼碼流網絡包發送給解碼端。由上可以看出,在編碼端,對採集的音視頻數據進行編碼、打包形成音視頻編碼碼流網絡包,而在進行碼流打包的過程中,為至少一幀音視頻碼流添加碼流結束標識符,其中所述碼流結束標識符用於標識所述至少一幀音視頻碼流的結束。因此,在將音視頻編碼碼流網絡包發送給解碼端後,解碼端將所述音視頻編碼碼流網絡包進行解包,獲得音視頻碼流。由於編碼端在進行碼流打包時為至少一幀音視頻碼流添加了碼流結束標識符,因此,解碼端對所述音視頻碼流進行解碼時,在收到所述至少一幀音視頻碼流的碼流結束標識符時,即可對所述至少一幀音視頻碼流進行解碼。因此,由上可以看出,與現有技術中只有在收到下一幀碼流的起始碼才能對當前幀碼流進行解碼相比,利用本發明實施例一的技術方案可以在收到當前幀碼流的碼流結束標識符後就對當前幀碼流進行解碼,從而減少了音視頻延時。如圖2所示,本發明實施例二音視頻數據的處理方法,包括:步驟21、接收編碼端發送的音視頻編碼碼流網絡包。步驟22、將所述音視頻編碼碼流網絡包進行解包,獲得音視頻碼流,其中所述音視頻碼流中的至少一幀音視頻碼流包括碼流結束標識符,其中所述碼流結束標識符用於標識所述至少一幀音視頻碼流的結束。
在此步驟中,將獲得的音視頻編碼碼流網絡包進行解包。根據前述實施例一的描述,由於在碼流打包的過程中對至少一幀音視頻碼流添加有碼流結束標識符,因此,在此獲得的至少一幀音視頻碼流中包括碼流結束標識符。步驟23、對所述音視頻碼流進行解碼,獲得音視頻數據,其中在解碼過程中,在收到所述至少一幀音視頻碼流的碼流結束標識符時,對所述至少一幀音視頻碼流進行解碼。在此步驟中,採用現有技術中的任一解碼方法將獲得的音視頻碼流進行解碼。由於編碼端的處理,在對當前幀音視頻碼流進行解碼的時候,如果該當前幀音視頻碼流中包括碼流結束標識符,例如在當前幀音視頻碼流的結束位置上包括碼流結束標識符,則會在收到碼流結束標識符後,即對當前幀碼流進行解碼,而不是像現有技術中的那樣,只有在收到下一幀的起始碼時才對當前幀音視頻碼流進行解碼。其中,碼流結束標識符的含義可參考實施例一的描述。此外,在實施例二的基礎上,還可顯示所述音視頻數據。由上可以看出,由於編碼端在進行碼流打包時為至少一幀音視頻碼流添加了碼流結束標識符,因此,解碼端對所述音視頻碼流進行解碼時,在收到所述至少一幀音視頻碼流的碼流結束標識符時,即可對所述至少一幀音視頻碼流進行解碼。因此,由上可以看出,與現有技術中只有在收到下一幀碼流的起始碼才能對當前幀碼流進行解碼相比,利用本發明實施例二的技術方案可以在收到當前幀碼流的碼流結束標識符後就對當前幀碼流進行解碼,從而減少了音視頻延時。如圖3所示,本發明實施例三的音視頻數據的處理裝置包括:數據採集單元31,用於採集音視頻數據;編碼單元32,用於對所述數據採集單元31採集的音視頻數據進行編碼,形成音視頻碼流;網絡包生成單元33,用於將所述編碼單元32生成的音視頻碼流進行碼流打包,形成音視頻編碼碼流網絡包,其中在進行碼流打包的過程中,為至少一幀音視頻碼流添加碼流結束標識符,其中所述碼流結束標識符用於標識所述至少一幀音視頻碼流的結束;發送單元34,用於將所述網絡包生成單元33生成的音視頻編碼碼流網絡包發送給解碼端。其中,所述網絡包生成單元33具體用於,將所述編碼單元生成的音視頻碼流進行碼流打包,形成音視頻編碼碼流網絡包,其中在進行碼流打包的過程中,在所述至少一幀音視頻碼流的結束位置上為所述至少一幀音視頻碼流添加碼流結束標識符。其中,碼流結束標識符與前述實施例描述的相同,在此不再贅述。其中,本發明實施例三的裝置的工作原理可參考前述實施例的描述,該裝置可位於編碼端。由上可以看出,在編碼端,對採集的音視頻數據進行編碼、打包形成音視頻編碼碼流網絡包,而在進行碼流打包的過程中,為至少一幀音視頻碼流添加碼流結束標識符,其中所述碼流結束標識符用於標識所述至少一幀音視頻碼流的結束。因此,在將音視頻編碼碼流網絡包發送給解碼端後,解碼端將所述音視頻編碼碼流網絡包進行解包,獲得音視頻碼流。由於編碼端在進行碼流打包時為至少一幀音視頻碼流添加了碼流結束標識符,因此,解碼端對所述音視頻碼流進行解碼時,在收到所述至少一幀音視頻碼流的碼流結束標識符時,即可對所述至少一幀音視頻碼流進行解碼。因此,由上可以看出,與現有技術中只有在收到下一幀碼流的起始碼才能對當前幀碼流進行解碼相比,利用本發明實施例三的技術方案可以在收到當前幀碼流的碼流結束標識符後就對當前幀碼流進行解碼,從而減少了音視頻延時。如圖4所示,本發明實施例四的音視頻數據的處理裝置包括:接收單元41,用於接收編碼端發送的音視頻編碼碼流網絡包;解包單元42,用於將所述接收單元41接收的音視頻編碼碼流網絡包進行解包,獲得音視頻碼流,其中所述音視頻碼流中的至少一幀音視頻碼流包括碼流結束標識符,其中所述碼流結束標識符用於標識所述至少一幀音視頻碼流的結束;解碼單元43,用於對所述解包單元42獲得的音視頻碼流進行解碼,獲得音視頻數據,其中在解碼過程中,在收到所述至少一幀音視頻碼流的碼流結束標識符時,對所述至少一幀音視頻碼流進行解碼。其中,所述碼流結束標識符位於所述至少一幀音視頻碼流的結束位置上。因此,解碼單元43所述解碼單元在解碼過程中,在收到位於所述至少一幀音視頻碼流的結束位置上的所述至少一幀音視頻碼流的碼流結束標識符時,對所述至少一幀音視頻碼流進行解碼。其中,碼流結束標識符與前述實施例描述的相同,在此不再贅述。此外,如圖5所示,本發明實施例四的裝置還可包括:顯示單元44,用於顯示所述解碼單元43獲得的音視頻數據。其中,本發明實施例四的裝置的工作原理可參考前述實施例的描述,該裝置可位於解碼端。由上可以看出,由於編碼端在進行碼流打包時為至少一幀音視頻碼流添加了碼流結束標識符,因此,解碼端對所述音視頻碼流進行解碼時,在收到所述至少一幀音視頻碼流的碼流結束標識符時,即可對所述至少一幀音視頻碼流進行解碼。因此,由上可以看出,與現有技術中只有在收到下一幀碼流的起始碼才能對當前幀碼流進行解碼相比,利用本發明實施例四的技術方案可以在收到當前幀碼流的碼流結束標識符後就對當前幀碼流進行解碼,從而減少了音視頻延時。本領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程,是可以通過電腦程式來指令相關的硬體來完成,所述的程序可存儲於一計算機可讀取存儲介質中,該程序在執行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光碟、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random AccessMemory, RAM)等。以上所述,僅為本發明的具體實施方式
,但本發明的保護範圍並不局限於此,任何熟悉本技術領域的技術人員在本發明揭露的技術範圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護範圍之內。因此,本發明的保護範圍應以所述權利要求的保護範圍為準。
權利要求
1.一種音視頻數據的處理方法,其特徵在於,包括: 採集音視頻數據; 對所述音視頻數據進行編碼,形成音視頻碼流; 將所述音視頻碼流進行碼流打包,形成音視頻編碼碼流網絡包,其中在進行碼流打包的過程中,為至少一幀音視頻碼流添加碼流結束標識符,其中所述碼流結束標識符用於標識所述至少一幀音視頻碼流的結束; 將所述音視頻編碼碼流網絡包發送給解碼端。
2.根據權利要求1所述的方法,其特徵在於,在進行碼流打包的過程中,在所述至少一幀音視頻碼流的結束位置上添加碼流結束標識符。
3.根據權利要求1或2所述的方法,其特徵在於,所述碼流結束標識符包括偽起始碼。
4.根據權利要求3所述的方法,其特徵在於,所述偽起始碼為0x000001。
5.一種音視頻數據的處理方法,其特徵在於,包括: 接收編碼端發送的音視頻編碼碼流網絡包; 將所述音視頻編碼碼流網絡包進行解包,獲得音視頻碼流,其中所述音視頻碼流中的至少一幀音視頻碼流包括碼流結束標識符,其中所述碼流結束標識符用於標識所述至少一幀音視頻碼流的結束; 對所述音視頻碼流進行解碼,獲得音視頻數據,其中在解碼過程中,在收到所述至少一幀音視頻碼流的碼流結束標 識符時,對所述至少一幀音視頻碼流進行解碼。
6.根據權利要求5所述的方法,其特徵在於,所述碼流結束標識符位於所述至少一幀音視頻碼流的結束位置上; 其中在解碼過程中,在收到位於所述至少一幀音視頻碼流的結束位置上的所述至少一幀音視頻碼流的碼流結束標識符時,對所述至少一幀音視頻碼流進行解碼。
7.根據權利要求5或6所述的方法,其特徵在於,所述碼流結束標識符包括偽起始碼。
8.根據權利要求7所述的方法,其特徵在於,所述偽起始碼為0x000001。
9.根據權利要求5或6所述的方法,其特徵在於,所述方法還包括: 顯示所述音視頻數據。
10.一種音視頻數據的處理裝置,其特徵在於,包括: 數據採集單元,用於採集音視頻數據; 編碼單元,用於對所述數據採集單元採集的音視頻數據進行編碼,形成音視頻碼流; 網絡包生成單元,用於將所述編碼單元生成的音視頻碼流進行碼流打包,形成音視頻編碼碼流網絡包,其中在進行碼流打包的過程中,為至少一幀音視頻碼流添加碼流結束標識符,其中所述碼流結束標識符用於標識所述至少一幀音視頻碼流的結束; 發送單元,用於將所述網絡包生成單元生成的音視頻編碼碼流網絡包發送給解碼端。
11.根據權利要求10所述的裝置,其特徵在於,所述網絡包生成單元具體用於,將所述編碼單元生成的音視頻碼流進行碼流打包,形成音視頻編碼碼流網絡包,其中在進行碼流打包的過程中,在所述至少一幀音視頻碼流的結束位置上為所述至少一幀音視頻碼流添加碼流結束標識符。
12.根據權利要求10或11所述的裝置,其特徵在於,所述碼流結束標識符包括偽起始碼。
13.一種音視頻數據的處理裝置,其特徵在於,包括: 接收單元,用於接收編碼端發送的音視頻編碼碼流網絡包; 解包單元,用於將所述接收單元接收的音視頻編碼碼流網絡包進行解包,獲得音視頻碼流,其中所述音視頻碼流中的至少一幀音視頻碼流包括碼流結束標識符,其中所述碼流結束標識符用於標識所述至少一幀音視頻碼流的結束; 解碼單元,用於對所述解包單元獲得的音視頻碼流進行解碼,獲得音視頻數據,其中在解碼過程中,在收到所述至少一幀音視頻碼流的碼流結束標識符時,對所述至少一幀音視頻碼流進行解碼。
14.根據權利要求13所述的裝置,其特徵在於,所述碼流結束標識符位於所述至少一幀音視頻碼流的結束位置上; 所述解碼單元在解碼過程中,在收到位於所述至少一幀音視頻碼流的結束位置上的所述至少一幀音視頻碼流的碼流結束標識符時,對所述至少一幀音視頻碼流進行解碼。
15.根據權利要求13或14所述的裝置,其特徵在於,所述碼流結束標識符包括偽起始碼。
16.根據權利要求13或14所述的裝置,其特徵在於,所述裝置還包括: 顯示單元,用於顯示所述解碼 單元獲得的音視頻數據。
全文摘要
本發明公開了一種音視頻數據的處理方法及裝置,涉及編解碼技術,為減少音視頻延時而發明。一種音視頻數據的處理方法,包括採集音視頻數據;對所述音視頻數據進行編碼,形成音視頻碼流;將所述音視頻碼流進行碼流打包,形成音視頻編碼碼流網絡包,其中在進行碼流打包的過程中,為至少一幀音視頻碼流添加碼流結束標識符,其中所述碼流結束標識符用於標識所述至少一幀音視頻碼流的結束;將所述音視頻編碼碼流網絡包發送給解碼端。
文檔編號H04N7/14GK103139528SQ201310016278
公開日2013年6月5日 申請日期2013年1月17日 優先權日2013年1月17日
發明者周海林, 屈亞新, 張家卓 申請人:華為技術有限公司