音視頻數據處理方法、裝置以及車載終端的制作方法
【專利摘要】本發明公開了一種音視頻數據處理方法、裝置以及車載終端,其中方法包括以下步驟:接收線程接收預先與車載終端連接的終端設備發送的音視頻數據,將所述音視頻數據按照先入先出的順序寫入預設的循環緩沖隊列;處理線程監測所述循環緩沖隊列的音視頻數據寫入情況,并按照所述循環緩沖隊列中的音視頻數據寫入順序依次讀取音視頻數據,發送給解碼器進行播放處理。從而提高了車載終端同步播放終端設備信息的效率和質量,提升用戶體驗。
【專利說明】
音視頻數據處理方法、裝置以及車載終端
技術領域
[0001]本發明涉及車載終端技術領域,特別涉及一種音視頻數據處理方法、裝置以及車載終端。
【背景技術】
[0002]隨著終端設備的普及,發展和利用終端設備與車機互聯技術,實現應用共享、屏幕互動等實用功能成為了眾多車廠和車載電子設備商的研究熱點。
[0003]目前的車載終端在同步播放終端設備多媒體信息流的過程中,由于是單線程處理,導致音頻數據播放不連續、畫面會出現不跳變的缺陷。
【發明內容】
[0004]本發明的目的旨在至少在一定程度上解決上述相關技術中的技術問題之一。
[0005]為此,本發明的第一個目的在于提出一種音視頻數據處理方法,該方法提高了車載終端同步播放終端設備信息的效率和質量,提升用戶體驗。
[0006]本發明的第二個目的在于提出一種音視頻數據處理裝置。
[0007]本發明的第三個目的在于提出一種車載終端。
[0008]為達到上述目的,本發明一方面實施例提出了一種音視頻數據處理方法,包括以下步驟:接收線程接收預先與車載終端連接的終端設備發送的音視頻數據,將所述音視頻數據按照先入先出的順序寫入預設的循環緩沖隊列;處理線程監測所述循環緩沖隊列的音視頻數據寫入情況,并按照所述循環緩沖隊列中的音視頻數據寫入順序依次讀取音視頻數據,發送給解碼器進行播放處理。
[0009]本實施例提供的音視頻數據處理方法,通過在接收線程和處理線程之間引入循環緩沖隊列,將終端設備發送的音視頻數據按照預定順序寫入循環緩沖隊列,并通過處理線程將寫入循環緩沖隊列的音視頻數據讀取出來,發送給解碼器進行播放處理。提高了車載終端同步播放終端設備信息的效率和質量,提升用戶體驗。
[0010]另外,本發明上述實施例的音視頻數據處理方法還可以具有如下附加的技術特征:
[0011]在本發明的一個實施例中,所述將所述音視頻數據按照先入先出的順序寫入預設的循環緩沖隊列,包括:將當前接收的音視頻數據寫入所述循環緩沖隊列,遞增下一個音視頻數據的寫入位置,以使下一個接收的音視頻數據寫入當前接收的音視頻數據之后。
[0012]在本發明的一個實施例中,在所述將所述音視頻數據按照先入先出的順序寫入預設的循環緩沖隊列之后,還包括:所述接收線程向所述處理線程發送數據寫入通知消息,以使所述處理線程根據所述數據寫入通知消息監測所述循環緩沖隊列的音視頻數據寫入情況。
[0013]在本發明的一個實施例中,所述按照所述循環緩沖隊列中的音視頻數據寫入順序依次讀取音視頻數據,發送給解碼器進行播放處理,包括:判斷所述循環緩沖隊列中當前的音視頻數據量是否大于預設閾值;如果當前的音視頻數據量大于預設閾值,則按照音視頻數據的寫入順序依次讀取預設比特量的音視頻數據,一次性發送到解碼器進行播放處理。
[0014]在本發明的一個實施例中,所述接收線程的處理優先級高于所述處理線程。
[0015]本發明第二方面實施例提出了一種音視頻數據處理裝置,包括:接收線程、循環緩沖隊列、以及處理線程,其中,所述接收線程包括:接收模塊,用于接收預先與車載終端連接的終端設備發送的音視頻數據;寫入模塊,用于將所述音視頻數據按照先入先出的順序寫入預設的循環緩沖隊列;所述處理線程包括:監測模塊,用于監測所述循環緩沖隊列的音視頻數據寫入情況;處理模塊,用于按照所述循環緩沖隊列中的音視頻數據寫入順序依次讀取音視頻數據,發送給解碼器進行播放處理。
[0016]本實施例提供的音視頻數據處理裝置,通過在接收線程和處理線程之間引入循環緩沖隊列,將終端設備發送的音視頻數據按照預定順序寫入循環緩沖隊列,并通過處理線程將寫入循環緩沖隊列的音視頻數據讀取出來,發送給解碼器進行播放處理。提高了車載終端同步播放終端設備信息的效率和質量,提升用戶體驗。
[0017]另外,本發明上述實施例的音視頻數據處理裝置還可以具有如下附加的技術特征:
[0018]在本發明的一個實施例中,所述寫入模塊,用于將當前接收的音視頻數據寫入所述循環緩沖隊列,遞增下一個音視頻數據的寫入位置,以使下一個接收的音視頻數據寫入當前接收的音視頻數據之后。
[0019]在本發明的一個實施例中,所述接收線程還包括:通知模塊,用于向所述處理線程發送數據寫入通知消息,以使所述處理線程根據所述數據寫入通知消息監測所述循環緩沖隊列的音視頻數據寫入情況。
[0020]在本發明的一個實施例中,所述處理線程還包括:判斷模塊,用于判斷所述循環緩沖隊列中當前的音視頻數據量是否大于預設閾值;所述處理模塊,用于如果當前的音視頻數據量大于預設閾值,則按照音視頻數據的寫入順序依次讀取預設比特量的音視頻數據,一次性發送到解碼器進行播放處理。
[0021]在本發明的一個實施例中,所述接收線程的處理優先級高于所述處理線程。
[0022]本發明第三方面實施例提出了一種車載終端,包括:上述音視頻數據處理裝置。
[0023]本發明附加的方面和優點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發明的實踐了解到。
【附圖說明】
[0024]本發明的上述和/或附加的方面和優點從結合下面附圖對實施例的描述中將變得明顯和容易理解,其中:
[0025]圖1是根據本發明實施例的音視頻數據處理方法的流程圖;
[0026]圖2是根據本發明實施例的循環緩沖隊列的示意圖;
[0027]圖3是根據本發明實施例的一個音視頻數據處理方法的流程圖;
[0028]圖4是根據本發明實施例的音視頻數據處理裝置的結構示意圖;
[0029]圖5是根據本發明實施例的一個車載終端的結構示意圖。
【具體實施方式】
[0030]下面詳細描述本發明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,旨在用于解釋本發明,而不能理解為對本發明的限制。
[0031]下面參照附圖描述根據本發明實施例提出的音視頻數據處理方法、裝置以及車載終端。
[0032]圖1是根據本發明實施例的音視頻數據處理方法的流程圖。
[0033]圖2是根據本發明實施例的循環緩沖隊列的示意圖。
[0034]參見圖1和圖2,該方法包括以下步驟:
[0035]SlOl:接收線程接收預先與車載終端連接的終端設備發送的音視頻數據,將音視頻數據按照先入先出的順序寫入預設的循環緩沖隊列。
[0036]具體地,本發明提供的實施例應用于具有同步播放終端設備信息的車載終端上。為了提高車載終端同步播放終端設備信息的效率和質量,增加循環緩沖隊列。
[0037]接收線程接收到終端設備發送的音視頻數據后,將接收的音視頻數據按照先入先出的順序寫入預設的循環緩沖隊列。其中,需要說明的是,將當前接收的音視頻數據寫入循環緩沖隊列,自動遞增下一個音視頻數據的寫入位置,以使下一個接收的音視頻數據寫入當前接收的音視頻數據之后。從而滿足音視頻數據先入先出的寫入順序,便于處理線程對音視頻數據進行有序處理。
[0038]S102:處理線程監測循環緩沖隊列的音視頻數據寫入情況,并按照循環緩沖隊列中的音視頻數據寫入順序依次讀取音視頻數據,發送給解碼器進行播放處理。
[0039]具體地,處理線程根據接收的數據寫入通知消息,對循環緩沖隊列寫入的音視頻數據進行監測操作。當監測到循環緩沖隊列寫入的音頻數據滿足讀取音視頻數據條件時,按照循環緩沖隊列中音視頻數據寫入順序依次讀取音視頻數據。即就是,從循環緩沖隊列的隊列頭位置讀取音視頻數據,并遞增讀取位置。從而保證讀取音視頻數據是按照音視頻數據寫入的順序進行讀取。
[0040]在將循環緩沖隊列中的音視頻數據讀取后,發送給解碼器,通過解碼器對其進行相應播放處理。
[0041]其中,需要注意的是,在將讀取的音視頻數據發送給解碼器時,需要按照先入先出順序送入解碼器中,保證解碼器中實時有數據可以處理,使得音視頻播放具有連貫性,不出現卡頓的情況。
[0042]綜上所述,本實施例提供的音視頻數據處理方法,通過在接收線程和處理線程之間引入循環緩沖隊列,將終端設備發送的音視頻數據按照預定順序寫入循環緩沖隊列,并通過處理線程將寫入循環緩沖隊列的音視頻數據讀取出來,發送給解碼器進行播放處理。提高了車載終端同步播放終端設備信息的效率和質量,提升用戶體驗。
[0043]圖3是根據本發明實施例的一個音視頻數據處理方法的流程圖。
[0044]參見圖3,該音視頻數據處理方法包括以下步驟:
[0045]S301:接收線程接收預先與車載終端連接的終端設備發送的音視頻數據,將音視頻數據按照先入先出的順序寫入預設的循環緩沖隊列,向所述處理線程發送數據寫入通知消息。
[0046]具體地,接收線程接收到終端設備發送的音視頻數據后,將接收的音視頻數據按照先入先出的順序寫入預設的循環緩沖隊列。其中,需要說明的是,將當前接收的音視頻數據寫入循環緩沖隊列,自動遞增下一個音視頻數據的寫入位置,以使下一個接收的音視頻數據寫入當前接收的音視頻數據之后。從而滿足音視頻數據先入先出的寫入順序,便于處理線程對音視頻數據進行有序處理。
[0047]在將終端設備發送的音視頻數據按照先入先出的順序寫入循環緩沖隊列之后,接收線程會向處理線程發送數據寫入通知消息,以使處理線程根據數據寫入通知消息監測循環緩沖隊列的音視頻數據寫入情況。其中,數據寫入通知消息可以包括,數據寫入的比特量,或者幀數。當然還可以是其他內容,在此不對其進行詳細贅述。
[0048]S302:處理線程根據所述數據寫入通知消息監測所述循環緩沖隊列的音視頻數據寫入情況。
[0049]其中,處理線程是根據接收到接收線程發送的數據寫入通知消息,對循環緩沖隊列寫入的音視頻數據進行監測操作。
[0050]S303:判斷循環緩沖隊列中當前的音視頻數據量是否大于預設閾值。
[0051]其中,需要說明的是,預設閾值是對循環緩沖隊列當前寫入音頻數據量進行衡量的一個標準值。從而根據預設閾值就可確定出當前寫入音頻數據量是否滿足預設條件,如果滿足預設條件,則進行相應處理。
[0052]S304:如果當前的音視頻數據量大于預設閾值,則按照音視頻數據的寫入順序依次讀取預設比特量的音視頻數據,一次性發送到解碼器進行播放處理。
[0053]具體的,當判斷出循環緩沖隊列中當前的音視頻數據量大于預設閾值,即就是,監測到循環緩沖隊列寫入的音頻數據滿足讀取音視頻數據條件,則從循環緩沖隊列的隊列頭位置讀取音視頻數據,并遞增讀取位置。從而保證讀取音視頻數據是按照音視頻數據寫入的順序進行讀取。
[0054]進一步地,判斷循環緩沖隊列中的音視頻數據是否已全部讀完。如果判斷出循環緩沖隊列中的音視頻數據讀取完成,則將讀取的所有音視頻數據一次性發送給解碼器,通過解碼器對其進行相應播放處理。
[0055]需要注意的是,本實施例所示出的接收線程與處理線程是不同優先級的兩個線程。其中,接收線程的處理優先級高于處理線程的處理優先級。
[0056]具體地,接收線程在接收音視頻數據并寫入循環緩沖隊列后,會發送數據寫入通知消息給處理線程;處理線程在收到有數據寫入通知消息后才進行對應的音視頻數據處理。同時,接收線程的處理速度快,可以設置為高優先級的線程,從而保證實時獲取音視頻數據并寫入循環緩沖隊列且占用CPU時間短;處理線程耗時長,可以設置為低優先級,從而避免讀取音視頻數據延時。
[0057]本實施例提供的音視頻數據處理方法,通過在接收線程和處理線程之間引入循環緩沖隊列,將終端設備發送的音視頻數據按照預定順序寫入循環緩沖隊列,并通過處理線程將寫入循環緩沖隊列的音視頻數據讀取出來,發送給解碼器進行播放處理。進一步地提高了車載終端同步播放終端設備信息的效率和質量,以及保證了音視頻數據的同步,提升用戶體驗。
[0058]下面參照附圖描述根據本發明實施例提出的音視頻數據處理裝置。參照圖4所示,該裝置10包括接收線程100、循環緩沖隊列200,以及處理線程300。
[0059]具體地,接收線程100包括:接收模塊110、寫入模塊120和通知模塊130。
[0060]接收模塊110用于接收預先與車載終端連接的終端設備發送的音視頻數據;寫入模塊120用于將所述音視頻數據按照先入先出的順序寫入預設的循環緩沖隊列;所述寫入模塊120用于將當前接收的音視頻數據寫入所述循環緩沖隊列,遞增下一個音視頻數據的寫入位置,以使下一個接收的音視頻數據寫入當前接收的音視頻數據之后。通知模塊130用于向所述處理線程發送數據寫入通知消息,以使所述處理線程根據所述數據寫入通知消息監測所述循環緩沖隊列的音視頻數據寫入情況。
[0061]具體地,本發明提供的實施例應用于具有同步播放終端設備信息的車載終端上。為了提高車載終端同步播放終端設備信息的效率和質量,增加循環緩沖隊列。
[0062]接收線程接收到終端設備發送的音視頻數據后,將接收的音視頻數據按照先入先出的順序寫入預設的循環緩沖隊列。其中,需要說明的是,將當前接收的音視頻數據寫入循環緩沖隊列,自動遞增下一個音視頻數據的寫入位置,以使下一個接收的音視頻數據寫入當前接收的音視頻數據之后。從而滿足音視頻數據先入先出的寫入順序,便于處理線程對音視頻數據進行有序處理。
[0063]在將終端設備發送的音視頻數據按照先入先出的順序寫入循環緩沖隊列之后,接收線程會向處理線程發送數據寫入通知消息,以使處理線程根據數據寫入通知消息監測循環緩沖隊列的音視頻數據寫入情況。其中,數據寫入通知消息可以包括,數據寫入的比特量,或者幀數。當然還可以是其他內容,在此不對其進行詳細贅述。
[0064]處理線程300包括:監測模塊310、處理模塊320和判斷模塊330。
[0065]其中,監測模塊310用于監測所述循環緩沖隊列的音視頻數據寫入情況;
[0066]處理模塊320用于按照所述循環緩沖隊列中的音視頻數據寫入順序依次讀取音視頻數據,發送給解碼器進行播放處理。處理模塊320還用于如果當前的音視頻數據量大于預設閾值,則按照音視頻數據的寫入順序依次讀取預設比特量的音視頻數據,一次性發送到解碼器進行播放處理。判斷模塊330用于判斷所述循環緩沖隊列中當前的音視頻數據量是否大于預設閾值;
[0067]具體地,處理線程是根據接收到接收線程發送的數據寫入通知消息,對循環緩沖隊列寫入的音視頻數據進行監測操作。需要說明的是,預設閾值是對循環緩沖隊列當前寫入音頻數據量進行衡量的一個標準值。從而根據預設閾值就可確定出當前寫入音頻數據量是否滿足預設條件,如果滿足預設條件,則進行相應處理。
[0068]當判斷出循環緩沖隊列中當前的音視頻數據量大于預設閾值,即就是,監測到循環緩沖隊列寫入的音頻數據滿足讀取音視頻數據條件,則從循環緩沖隊列的隊列頭位置讀取音視頻數據,并遞增讀取位置。從而保證讀取音視頻數據是按照音視頻數據寫入的順序進行讀取。
[0069]進一步地,判斷循環緩沖隊列中的音視頻數據是否已全部讀完。如果判斷出循環緩沖隊列中的音視頻數據讀取完成,則將讀取的所有音視頻數據一次性發送給解碼器,通過解碼器對其進行相應播放處理。
[0070]需要注意的是,本實施例所示出的接收線程與處理線程是不同優先級的兩個線程。其中,接收線程的處理優先級高于處理線程的處理優先級。
[0071]具體地,接收線程在接收音視頻數據并寫入循環緩沖隊列后,會發送數據寫入通知消息給處理線程;處理線程在收到有數據寫入通知消息后才進行對應的音視頻數據處理。同時,接收線程的處理速度快,可以設置為高優先級的線程,從而保證實時獲取音視頻數據并寫入循環緩沖隊列且占用CPU時間短;處理線程耗時長,可以設置為低優先級,從而避免讀取音視頻數據延時。
[0072]綜上所述,本實施例提供的音視頻數據處理裝置,通過在接收線程和處理線程之間引入循環緩沖隊列,將終端設備發送的音視頻數據按照預定順序寫入循環緩沖隊列,并通過處理線程將寫入循環緩沖隊列的音視頻數據讀取出來,發送給解碼器進行播放處理。提高了車載終端同步播放終端設備信息的效率和質量,提升用戶體驗。
[0073]下面參照附圖描述根據本發明實施例提出的車載終端。
[0074]參照圖5所示,該車載終端I包括:上述音視頻數據處理裝置10。
[0075]本實施例提供的車載終端,通過在接收線程和處理線程之間引入循環緩沖隊列,將終端設備發送的音視頻數據按照預定順序寫入循環緩沖隊列,并通過處理線程將寫入循環緩沖隊列的音視頻數據讀取出來,發送給解碼器進行播放處理。提高了車載終端同步播放終端設備信息的效率和質量,提升用戶體驗。
[0076]應當理解,本發明的各部分可以用硬件、軟件、固件或它們的組合來實現。在上述實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執行系統執行的軟件或固件來實現。例如,如果用硬件來實現,和在另一實施方式中一樣,可用本領域公知的下列技術中的任一項或他們的組合來實現:具有用于對數據信號實現邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現場可編程門陣列(FPGA)等。
[0077]本技術領域的普通技術人員可以理解實現上述實施例方法攜帶的全部或部分步驟是可以通過程序來指令相關的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質中,該程序在執行時,包括方法實施例的步驟之一或其組合。
[0078]盡管上面已經示出和描述了本發明的實施例,可以理解的是,上述實施例是示例性的,不能理解為對本發明的限制,本領域的普通技術人員在不脫離本發明的原理和宗旨的情況下在本發明的范圍內可以對上述實施例進行變化、修改、替換和變型。
【主權項】
1.一種音視頻數據處理方法,其特征在于,包括以下步驟: 接收線程接收預先與車載終端連接的終端設備發送的音視頻數據,將所述音視頻數據按照先入先出的順序寫入預設的循環緩沖隊列; 處理線程監測所述循環緩沖隊列的音視頻數據寫入情況,并按照所述循環緩沖隊列中的音視頻數據寫入順序依次讀取音視頻數據,發送給解碼器進行播放處理。2.如權利要求1所述的方法,其特征在于,所述將所述音視頻數據按照先入先出的順序寫入預設的循環緩沖隊列,包括: 將當前接收的音視頻數據寫入所述循環緩沖隊列,遞增下一個音視頻數據的寫入位置,以使下一個接收的音視頻數據寫入當前接收的音視頻數據之后。3.如權利要求1所述的方法,其特征在于,在所述將所述音視頻數據按照先入先出的順序寫入預設的循環緩沖隊列之后,還包括: 所述接收線程向所述處理線程發送數據寫入通知消息,以使所述處理線程根據所述數據寫入通知消息監測所述循環緩沖隊列的音視頻數據寫入情況。4.如權利要求1所述的方法,其特征在于,所述按照所述循環緩沖隊列中的音視頻數據寫入順序依次讀取音視頻數據,發送給解碼器進行播放處理,包括: 判斷所述循環緩沖隊列中當前的音視頻數據量是否大于預設閾值; 如果當前的音視頻數據量大于預設閾值,則按照音視頻數據的寫入順序依次讀取預設比特量的音視頻數據,一次性發送到解碼器進行播放處理。5.如權利要求1-4任一所述的方法,其特征在于,所述接收線程的處理優先級高于所述處理線程。6.—種音視頻數據處理裝置,其特征在于,包括:接收線程、循環緩沖隊列、以及處理線程,其中, 所述接收線程包括: 接收模塊,用于接收預先與車載終端連接的終端設備發送的音視頻數據; 寫入模塊,用于將所述音視頻數據按照先入先出的順序寫入預設的循環緩沖隊列; 所述處理線程包括: 監測模塊,用于監測所述循環緩沖隊列的音視頻數據寫入情況; 處理模塊,用于按照所述循環緩沖隊列中的音視頻數據寫入順序依次讀取音視頻數據,發送給解碼器進行播放處理。7.如權利要求6所述的裝置,其特征在于, 所述寫入模塊,用于將當前接收的音視頻數據寫入所述循環緩沖隊列,遞增下一個音視頻數據的寫入位置,以使下一個接收的音視頻數據寫入當前接收的音視頻數據之后。8.如權利要求6所述的裝置,其特征在于,所述接收線程還包括: 通知模塊,用于向所述處理線程發送數據寫入通知消息,以使所述處理線程根據所述數據寫入通知消息監測所述循環緩沖隊列的音視頻數據寫入情況。9.如權利要求6所述的裝置,其特征在于,所述處理線程還包括: 判斷模塊,用于判斷所述循環緩沖隊列中當前的音視頻數據量是否大于預設閾值; 所述處理模塊,用于如果當前的音視頻數據量大于預設閾值,則按照音視頻數據的寫入順序依次讀取預設比特量的音視頻數據,一次性發送到解碼器進行播放處理。10.如權利要求6-9任一所述的裝置,其特征在于,所述接收線程的處理優先級高于所述處理線程。11.一種車載終端,其特征在于,包括:如權利要求6-10任一所述的音視頻數據處理裝置。
【文檔編號】H04N21/442GK105872668SQ201610201410
【公開日】2016年8月17日
【申請日】2016年3月31日
【發明人】周星杰
【申請人】百度在線網絡技術(北京)有限公司