視頻碼流傳輸方法,裝置及系統(tǒng)的制作方法
【專利摘要】本發(fā)明實(shí)施例公開了一種視頻碼流傳輸方法、裝置及系統(tǒng),用于減少視頻圖像在傳輸過程中的緩存時(shí)間。本發(fā)明實(shí)施例方法包括:編碼器對(duì)視頻圖像進(jìn)行視頻編碼,得到視頻碼流;所述視頻碼流包括:視頻圖像幀和視頻分隔符,所述視頻分隔符用于觸發(fā)對(duì)所述視頻碼流的強(qiáng)制發(fā)送信號(hào),并提示解碼器當(dāng)前幀的視頻圖像幀結(jié)束;所述編碼器向所述解碼器傳輸所述視頻碼流。
【專利說明】視頻碼流傳輸方法,裝置及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)傳輸領(lǐng)域,尤其涉及一種視頻碼流傳輸方法及裝置。
【背景技術(shù)】
[0002]在無人機(jī)高清實(shí)時(shí)視頻傳輸系統(tǒng)中,對(duì)時(shí)延有很高要求;其中,在整個(gè)系統(tǒng)中,延遲來自于攝像機(jī)圖像采集、H.264編碼、無線傳輸、H.264解碼顯示等各環(huán)節(jié)。對(duì)1080P的視頻源,每秒30幀視頻圖像,每幀視頻圖像通過H.264壓縮編碼生成視頻流。實(shí)時(shí)視頻流碼率通常為4Mbps?8Mbps,每幀壓縮后的視頻以流的方式按照固定數(shù)據(jù)包大小通過現(xiàn)場(chǎng)可編程門陣列FPGA (Field — Programmable Gate Array)無線發(fā)射設(shè)備發(fā)送出去,F(xiàn)PGA無線接收設(shè)備收到數(shù)據(jù)包并通過通用串行總線(USB,Universal Serial Bus)設(shè)備將視頻碼流送給視頻解碼器,視頻解碼器將視頻碼流緩存,并通過解析流結(jié)構(gòu)進(jìn)行組幀操作,當(dāng)收到一幀完整的視頻數(shù)據(jù)后立即解碼顯示。這整個(gè)視頻碼流的傳輸過程中,都需要進(jìn)行緩存處理,因此,可以通過減少各個(gè)環(huán)節(jié)的數(shù)據(jù)緩存時(shí)間,以達(dá)到減少系統(tǒng)延遲需求。
[0003]在H.264的標(biāo)識(shí)協(xié)議中,產(chǎn)生的ES流(原始碼流,elementary stream)每幀的字節(jié)數(shù)大小是不固定的,而一些傳輸協(xié)議中,數(shù)據(jù)要緩存至固定數(shù)據(jù)量大小才對(duì)緩存的數(shù)據(jù)進(jìn)行封裝發(fā)送(即,發(fā)送和接收都是固定數(shù)據(jù)包大小),這樣會(huì)造成的情況是:當(dāng)一個(gè)視頻圖像幀的視頻碼流不能被分到同一個(gè)傳輸數(shù)據(jù)包時(shí),該視頻圖像幀剩余的視頻碼流就會(huì)被緩存,數(shù)據(jù)傳輸裝置繼續(xù)接收視頻碼流,等數(shù)據(jù)傳輸裝置緩存到額定的數(shù)據(jù)量時(shí)再進(jìn)行封裝發(fā)送。由于屬于同一個(gè)視頻圖像幀的數(shù)據(jù)不能被連續(xù)的發(fā)送,需要等待數(shù)據(jù)的緩存,因此在解碼端,造成解碼器接收到的一幀數(shù)據(jù)不完整,需要延遲等待下一個(gè)的傳輸數(shù)據(jù)包產(chǎn)生才能接收完當(dāng)前視頻圖像幀的數(shù)據(jù),解碼器就不能及時(shí)對(duì)該視頻圖像幀進(jìn)行解碼組幀,在視頻播放時(shí)就會(huì)產(chǎn)生時(shí)延。
[0004]在現(xiàn)有技術(shù)中,面對(duì)這種問題采用的方法就是,當(dāng)前一個(gè)輸出數(shù)據(jù)包的視頻圖像幀中,還有剩余的數(shù)據(jù)處于緩存狀態(tài)時(shí),就對(duì)剩余的數(shù)據(jù)進(jìn)行數(shù)據(jù)填充,將剩余的數(shù)據(jù)封裝成額定大小的傳輸數(shù)據(jù)包,這樣就可以使每一幀的視頻圖像幀可以連續(xù)發(fā)送出去,不需要進(jìn)行緩存等待。
[0005]但是,這種采用數(shù)據(jù)填充的方式,會(huì)產(chǎn)生大量冗余的無效數(shù)據(jù),處理耗時(shí)且效率低下,同時(shí)還會(huì)造成傳輸帶寬浪費(fèi)。
【發(fā)明內(nèi)容】
[0006]本發(fā)明實(shí)施例提供了一種視頻碼流傳輸方法、裝置及系統(tǒng),用于減少視頻碼流在傳輸過程中的緩存時(shí)間。
[0007]本發(fā)明實(shí)施例提供的視頻碼流傳輸方法,包括:
[0008]編碼器對(duì)視頻圖像進(jìn)行視頻編碼,得到視頻碼流;所述視頻碼流包括:視頻圖像幀和視頻分隔符,所述視頻分隔符用于觸發(fā)對(duì)所述視頻碼流的強(qiáng)制發(fā)送信號(hào),并提示解碼器當(dāng)前幀的視頻圖像幀結(jié)束;
[0009]所述編碼器向所述解碼器傳輸所述視頻碼流。
[0010]本發(fā)明實(shí)施例提供的另一種視頻碼流傳輸方法,包括:
[0011]數(shù)據(jù)傳輸裝置接收視頻碼流,所述視頻碼流包括:視頻圖像幀和視頻分隔符,所述視頻分隔符用于觸發(fā)對(duì)所述視頻碼流的強(qiáng)制發(fā)送信號(hào),并提示解碼器當(dāng)前幀的視頻圖像幀結(jié)束;
[0012]所述數(shù)據(jù)傳輸裝置對(duì)所述視頻碼流進(jìn)行緩存;若在接收到的所述視頻碼流中識(shí)別到所述視頻分隔符,則觸發(fā)所述強(qiáng)制發(fā)送信號(hào),將當(dāng)前緩存的所述視頻碼流封裝成一個(gè)數(shù)據(jù)包;
[0013]所述數(shù)據(jù)傳輸裝置向所述解碼器發(fā)送封裝成所述數(shù)據(jù)包的視頻碼流。
[0014]本發(fā)明實(shí)施例提供的視頻編碼器,包括:
[0015]視頻編碼單元,用于對(duì)視頻圖像進(jìn)行視頻編碼,得到視頻碼流;所述視頻碼流包括:視頻圖像幀和視頻分隔符,所述視頻分隔符用于觸發(fā)對(duì)所述視頻碼流的強(qiáng)制發(fā)送信號(hào),并提示解碼器當(dāng)前幀的視頻圖像幀結(jié)束;
[0016]傳輸單元,用于向所述解碼器傳輸所述視頻碼流。
[0017]本發(fā)明實(shí)施例提供的數(shù)據(jù)傳輸裝置,包括:
[0018]碼流接收單元,用于接收視頻碼流,所述視頻碼流包括:視頻圖像幀和視頻分隔符,所述視頻分隔符用于觸發(fā)對(duì)所述視頻碼流的強(qiáng)制發(fā)送信號(hào),并提示解碼器當(dāng)前幀的視頻圖像幀結(jié)束;
[0019]數(shù)據(jù)封裝單元,用于對(duì)所述視頻碼流進(jìn)行緩存,若在接收到的所述視頻碼流中識(shí)別到所述視頻分隔符,則觸發(fā)所述強(qiáng)制發(fā)送信號(hào),將當(dāng)前緩存的所述視頻碼流封裝成一個(gè)數(shù)據(jù)包;
[0020]碼流傳輸單元,用于向所述解碼器發(fā)送封裝成所述數(shù)據(jù)包的視頻碼流。
[0021]本發(fā)明實(shí)施例提供的視頻碼流傳輸系統(tǒng),包括:
[0022]編碼器,發(fā)送裝置,接收裝置和解碼器;
[0023]所述編碼器用于對(duì)視頻圖像進(jìn)行視頻編碼,得到視頻碼流;所述視頻碼流包括:視頻圖像幀和視頻分隔符,所述視頻分隔符用于觸發(fā)對(duì)所述視頻碼流的強(qiáng)制發(fā)送信號(hào),并提示解碼器當(dāng)前幀的視頻圖像幀結(jié)束;所述編碼器將所述視頻碼流傳輸給所述發(fā)送裝置;
[0024]所述發(fā)送裝置通過無線信道將所述視頻碼流傳輸給所述接收裝置;
[0025]所述接收裝置對(duì)所述視頻碼流進(jìn)行緩存,若在接收到的所述視頻碼流中識(shí)別到所述視頻分隔符,則觸發(fā)所述強(qiáng)制發(fā)送信號(hào),將當(dāng)前緩存的所述視頻碼流封裝成一個(gè)數(shù)據(jù)包,并向所述解碼器發(fā)送封裝成所述數(shù)據(jù)包的視頻碼流。
[0026]從以上技術(shù)方案可以看出,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn):
[0027]在本發(fā)明實(shí)施例中,編碼器在進(jìn)行視頻碼流時(shí),在一幀視頻圖像幀結(jié)束之后設(shè)置視頻分隔符,使得所述視頻碼流在傳輸?shù)倪^程中,當(dāng)識(shí)別到視頻分隔符時(shí),強(qiáng)制將緩存中的數(shù)據(jù)封裝發(fā)送,從而使得一幀視頻圖像幀可以連續(xù)發(fā)送,無需在緩存過程中等待,減少了視頻碼流在傳輸過程中的時(shí)延;同時(shí),本發(fā)明實(shí)施例中的視頻分隔符是根據(jù)視頻碼流編解碼標(biāo)準(zhǔn)設(shè)置的,可以被解碼器一端識(shí)別,使得解碼器也同樣可以識(shí)別到當(dāng)前幀的視頻圖像幀結(jié)束,不會(huì)破壞現(xiàn)有視頻碼流的數(shù)據(jù)結(jié)構(gòu),無需額外對(duì)解碼器進(jìn)行改進(jìn),使用范圍廣。
【專利附圖】
【附圖說明】
[0028]圖1是本發(fā)明實(shí)施例中視頻碼流傳輸方法的一個(gè)流程示意圖;
[0029]圖2是本發(fā)明實(shí)施例中視頻碼流的數(shù)據(jù)結(jié)構(gòu)示意圖;
[0030]圖3是本發(fā)明實(shí)施例中視頻碼流傳輸方法的另一個(gè)流程示意圖;
[0031]圖4是本發(fā)明實(shí)施例中訪問單元分隔符的數(shù)據(jù)結(jié)構(gòu)示意圖;
[0032]圖5是本發(fā)明實(shí)施例中視頻碼流傳輸方法的另一個(gè)流程示意圖;
[0033]圖6是本發(fā)明實(shí)施例中編碼器的一個(gè)結(jié)構(gòu)示意圖;
[0034]圖7是本發(fā)明實(shí)施例中數(shù)據(jù)傳輸裝置的一個(gè)結(jié)構(gòu)示意圖;
[0035]圖8是本發(fā)明實(shí)施例中視頻碼流傳輸系統(tǒng)的一個(gè)結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0036]本發(fā)明實(shí)施例提供了一種視頻碼流傳輸方法、裝置及系統(tǒng),用于減少視頻碼流在傳輸過程中的緩存時(shí)間。
[0037]請(qǐng)參閱圖1,本發(fā)明實(shí)施例中視頻碼流傳輸方法的一個(gè)實(shí)施例包括:
[0038]101、編碼器對(duì)視頻圖像進(jìn)行視頻編碼;
[0039]編碼器對(duì)視頻圖像進(jìn)行視頻編碼,得到視頻碼流;所述視頻碼流包括:視頻圖像幀和視頻分隔符,所述視頻分隔符用于觸發(fā)對(duì)所述視頻碼流的強(qiáng)制發(fā)送信號(hào),并提示解碼器當(dāng)前幀的視頻圖像幀結(jié)束。
[0040]其中,在所述視頻碼流的數(shù)據(jù)結(jié)構(gòu)中,所述視頻分隔符位于首個(gè)所述視頻圖像幀之后。
[0041]所述強(qiáng)制發(fā)送信號(hào)用于指示USB設(shè)備傳輸小包數(shù)據(jù)。
[0042]進(jìn)一步的,所述視頻分隔符還可以位于每個(gè)視頻圖像幀之后,具體可以參考圖2,圖2為視頻碼流的數(shù)據(jù)結(jié)構(gòu)示意圖,其中,在視頻碼流H.264標(biāo)準(zhǔn)中,數(shù)據(jù)包的第一個(gè)網(wǎng)絡(luò)抽象層單元類型(NALU,Network Abstract1n Layer Unit)是序列參數(shù)集(SPS,sequenceparameter set),第二個(gè) NALU 是圖像參數(shù)集(PPS,picture parameter set),第三個(gè) NALU是即時(shí)解碼器刷新(IDR,instantaneous decoding refresh)幀,即首個(gè)視頻圖像幀,接著的NALU是預(yù)測(cè)(P,Predictive Frame)幀。在H.264標(biāo)準(zhǔn)的數(shù)據(jù)結(jié)構(gòu)中,視頻圖像幀包括:IDR幀和P幀;在本發(fā)明實(shí)施例中,可以在每個(gè)視頻圖像幀之后設(shè)置視頻分隔符,如訪問單元分隔符(AUD,access unit delimiter),使得視頻碼流在USB設(shè)備傳輸?shù)倪^程中,在每個(gè)視頻圖像幀結(jié)束時(shí),無論是否滿足數(shù)據(jù)量的緩存要求,都將當(dāng)前緩存的數(shù)據(jù)封裝發(fā)送,從而減少同一幀視頻圖像幀的緩存時(shí)間。
[0043]可選的,編碼器的編碼對(duì)象可以為亮度和色度(YUV,Luminance Chrominance)格式的視頻圖像。完成編碼之后,得到的視頻碼流的格式可以為原始碼流(ES,elementarystream)格式。
[0044]102、編碼器向所述解碼器傳輸所述視頻碼流。
[0045]編碼器向所述解碼器傳輸所述視頻碼流,其中,所述視頻碼流向所述解碼器傳輸?shù)倪^程中經(jīng)過所述USB設(shè)備。
[0046]在現(xiàn)有的USB設(shè)備傳輸標(biāo)準(zhǔn)中,存在一種強(qiáng)制傳輸短數(shù)據(jù)包的機(jī)制,用于將數(shù)據(jù)傳輸裝置中傳輸至最后的剩余數(shù)據(jù)全部發(fā)送出去;具體的,當(dāng)數(shù)據(jù)傳輸裝置觸發(fā)該機(jī)制中的強(qiáng)制發(fā)送信號(hào)時(shí),即可將數(shù)據(jù)傳輸裝置的緩存中剩余的數(shù)據(jù)封裝發(fā)送,無需緩存夠額定的數(shù)據(jù)量。
[0047]具體的,所述強(qiáng)制發(fā)送信號(hào)可以為PKTEND信號(hào);數(shù)據(jù)傳輸裝置對(duì)本發(fā)明實(shí)施例中的視頻碼流進(jìn)行傳輸?shù)倪^程中,當(dāng)識(shí)別到視頻分隔符時(shí),則觸發(fā)所述PKTEND信號(hào),強(qiáng)制將緩存中的數(shù)據(jù)(小于512bytes)封裝發(fā)送。
[0048]同時(shí),由于編碼器發(fā)送的視頻碼流必然要傳輸至解碼器進(jìn)行解碼,因此,用于觸發(fā)PKTEND信號(hào)的視頻分隔符必須能被解碼器識(shí)別,否則,會(huì)破壞視頻碼流的數(shù)據(jù)結(jié)構(gòu),使得解碼器無法識(shí)別當(dāng)前的視頻碼流。在本發(fā)明實(shí)施例中,使用了 AUD作為表示視頻圖像幀結(jié)束的分隔符以及PKTEND信號(hào)的觸發(fā)標(biāo)志,由于AUD為H.264標(biāo)準(zhǔn)中所規(guī)定的語句格式,因此,能被解碼器識(shí)別。
[0049]在本發(fā)明實(shí)施例中,巧妙的運(yùn)用了強(qiáng)制傳輸短數(shù)據(jù)包的機(jī)制,編碼器在進(jìn)行視頻碼流時(shí),在一幀視頻圖像幀結(jié)束之后設(shè)置視頻分隔符,使得所述視頻碼流在USB設(shè)備傳輸?shù)倪^程中,當(dāng)識(shí)別到視頻分隔符時(shí),強(qiáng)制將緩存中的數(shù)據(jù)封裝發(fā)送,從而使得一幀視頻圖像幀可以連續(xù)發(fā)送,無需在緩存過程中等待,減少了視頻碼流在傳輸過程中的時(shí)延;同時(shí),本發(fā)明實(shí)施例中的視頻分隔符是根據(jù)視頻碼流編解碼標(biāo)準(zhǔn)設(shè)置的,可以被解碼器一端識(shí)別,使得解碼器也同樣可以識(shí)別到當(dāng)前幀的視頻圖像幀結(jié)束,不會(huì)破壞現(xiàn)有視頻碼流的數(shù)據(jù)結(jié)構(gòu),無需額外對(duì)解碼器進(jìn)行改進(jìn),使用范圍廣。
[0050]下面對(duì)上述視頻碼流傳輸方法的具體傳輸流程進(jìn)行描述,請(qǐng)參閱圖3,本發(fā)明實(shí)施例中視頻碼流傳輸方法的另一個(gè)實(shí)施例包括:
[0051]301、編碼器接收攝像裝置發(fā)送的視頻圖像;
[0052]具體的,所述視頻圖像的格式可以為YUV格式。
[0053]302、編碼器對(duì)視頻圖像進(jìn)行視頻編碼;
[0054]編碼器對(duì)視頻圖像進(jìn)行視頻編碼,得到視頻碼流;所述視頻碼流包括:視頻圖像幀和視頻分隔符,所述視頻分隔符用于所述視頻碼流在USB設(shè)備傳輸?shù)倪^程中觸發(fā)強(qiáng)制發(fā)送信號(hào),并提示解碼器當(dāng)前幀的視頻圖像幀結(jié)束。
[0055]具體的,所述視頻碼流的格式可以為ES格式。所述視頻分隔符為AUD,AUD的數(shù)據(jù)定義格式請(qǐng)參考圖4。
[0056]303、編碼器將所述視頻碼流傳輸給FPGA發(fā)送裝置;
[0057]304、FPGA發(fā)送裝置通過無線信道將所述視頻碼流傳輸給FPGA接收裝置;
[0058]具體的,F(xiàn)PGA發(fā)送裝置在收到編碼器發(fā)送的視頻碼流之后,需要對(duì)所述視頻碼流進(jìn)行信道編碼,將所述視頻碼流封裝為無線信道傳輸?shù)臄?shù)據(jù),但不改變視頻碼流中視頻圖像幀與視頻分隔符的數(shù)據(jù)結(jié)構(gòu)。
[0059]可選的,F(xiàn)PGA發(fā)送裝置對(duì)視頻碼流進(jìn)行封裝發(fā)送的過程可以為:
[0060]若接收到視頻碼流,則對(duì)所述視頻碼流進(jìn)行緩存;若緩存的所述視頻碼流的數(shù)據(jù)量達(dá)到傳輸閾值,則將當(dāng)前緩存的所述視頻碼流封裝成一個(gè)數(shù)據(jù)包;若在接收到的所述視頻碼流中識(shí)別到所述視頻分隔符,則將當(dāng)前緩存的所述視頻碼流封裝成一個(gè)數(shù)據(jù)包;FPGA發(fā)送裝置通過無線信道向所述解碼器發(fā)送封裝成所述數(shù)據(jù)包的視頻碼流。
[0061]305、FPGA接收裝置通過USB設(shè)備將所述視頻碼流傳輸給所述解碼器;
[0062]具體的,F(xiàn)PGA接收裝置在接收到視頻碼流,則對(duì)所述視頻碼流進(jìn)行緩存;若緩存的所述視頻碼流的數(shù)據(jù)量達(dá)到傳輸閾值,則將當(dāng)前緩存的所述視頻碼流封裝成一個(gè)數(shù)據(jù)包;若在接收到的所述視頻碼流中識(shí)別到所述視頻分隔符,則觸發(fā)USB的PKTEND信號(hào)有效,將當(dāng)前緩存的所述視頻碼流封裝成一個(gè)數(shù)據(jù)包;FPGA發(fā)送裝置通過USB設(shè)備向所述解碼器發(fā)送封裝成所述數(shù)據(jù)包的視頻碼流。
[0063]306、解碼器對(duì)所述數(shù)據(jù)包進(jìn)行解碼組幀。
[0064]上面僅以一些例子對(duì)本發(fā)明實(shí)施例中的應(yīng)用場(chǎng)景進(jìn)行了說明,可以理解的是,在實(shí)際應(yīng)用中,還可以有更多的應(yīng)用場(chǎng)景,具體此處不作限定。
[0065]下面從數(shù)據(jù)傳輸裝置端對(duì)本發(fā)明實(shí)施例中的視頻碼流傳輸方法進(jìn)行描述,請(qǐng)參考圖5,本發(fā)明實(shí)施例中視頻碼流傳輸方法的另一個(gè)實(shí)施例包括:
[0066]501、數(shù)據(jù)傳輸裝置接收視頻碼流;
[0067]數(shù)據(jù)傳輸裝置接收視頻碼流,所述視頻碼流包括:視頻圖像幀和視頻分隔符,所述視頻分隔符用于觸發(fā)對(duì)所述視頻碼流的強(qiáng)制發(fā)送信號(hào),并提示解碼器當(dāng)前幀的視頻圖像幀結(jié)束。
[0068]可選的,本發(fā)明實(shí)施例中的數(shù)據(jù)傳輸裝置可以為FPGA接收裝置,也可以為FPGA發(fā)送裝置,還可以為其它物理設(shè)備,只要視頻碼流傳輸?shù)闹虚g環(huán)節(jié)經(jīng)過USB設(shè)備即可。
[0069]具體的,強(qiáng)制發(fā)送信號(hào)用于指示USB設(shè)備傳輸小包數(shù)據(jù)。
[0070]當(dāng)本發(fā)明實(shí)施例中的數(shù)據(jù)傳輸裝置為FPGA接收裝置時(shí),則FPGA接收裝置接收FPGA發(fā)送裝置通過無線信道發(fā)送的視頻碼流。
[0071]具體的,所述視頻碼流的格式可以為ES格式。所述視頻分隔符可以為AUD。所述強(qiáng)制發(fā)送信號(hào)可以為PKTEND信號(hào)。所述視頻圖像幀包括:IDR幀和P幀。
[0072]502、數(shù)據(jù)傳輸裝置對(duì)所述視頻碼流進(jìn)行數(shù)據(jù)封裝;
[0073]數(shù)據(jù)傳輸裝置對(duì)所述視頻碼流進(jìn)行緩存,若在接收到的所述視頻碼流中識(shí)別到所述視頻分隔符,則將當(dāng)前緩存的所述視頻碼流封裝成一個(gè)數(shù)據(jù)包。
[0074]可選的,若緩存的所述視頻碼流的數(shù)據(jù)量達(dá)到傳輸閾值,則將當(dāng)前緩存的所述視頻碼流封裝成一個(gè)數(shù)據(jù)包。
[0075]在本發(fā)明實(shí)施例中,當(dāng)在接收到的所述視頻碼流中識(shí)別到視頻分隔符時(shí),則觸發(fā)與所述數(shù)據(jù)傳輸裝置接口的USB設(shè)備的強(qiáng)制發(fā)送信號(hào),強(qiáng)制對(duì)當(dāng)前未達(dá)到傳輸閾值的視頻碼流進(jìn)行數(shù)據(jù)封裝。
[0076]503、數(shù)據(jù)傳輸裝置向所述解碼器發(fā)送封裝成所述數(shù)據(jù)包的視頻碼流。
[0077]具體的,所述數(shù)據(jù)傳輸裝置還可以通過USB設(shè)備向所述解碼器發(fā)送封裝成所述數(shù)據(jù)包的視頻碼流。
[0078]在本發(fā)明實(shí)施例中,數(shù)據(jù)傳輸裝置當(dāng)識(shí)別到視頻分隔符時(shí),強(qiáng)制將緩存中的數(shù)據(jù)封裝發(fā)送,從而使得一幀視頻圖像幀可以連續(xù)發(fā)送,無需在緩存過程中等待,減少了視頻碼流在傳輸過程中的時(shí)延;同時(shí),本發(fā)明實(shí)施例中的視頻分隔符是根據(jù)視頻碼流編解碼標(biāo)準(zhǔn)設(shè)置的,可以被解碼器一端識(shí)別,使得解碼器也同樣可以識(shí)別到當(dāng)前幀的視頻圖像幀結(jié)束,不會(huì)破壞現(xiàn)有視頻碼流的數(shù)據(jù)結(jié)構(gòu),無需額外對(duì)解碼器進(jìn)行改進(jìn),使用范圍廣。
[0079]下面對(duì)用于執(zhí)行上述視頻碼流傳輸方法的本發(fā)明編碼器的實(shí)施例進(jìn)行說明,其邏輯結(jié)構(gòu)請(qǐng)參考圖6,本發(fā)明實(shí)施例中編碼器的一個(gè)實(shí)施例包括:
[0080]視頻編碼單元601,用于對(duì)視頻圖像進(jìn)行視頻編碼,得到視頻碼流;所述視頻碼流包括:視頻圖像幀和視頻分隔符,所述視頻分隔符用于觸發(fā)對(duì)所述視頻碼流的強(qiáng)制發(fā)送信號(hào),并提示解碼器當(dāng)前幀的視頻圖像幀結(jié)束;
[0081]傳輸單元602,用于向所述解碼器傳輸所述視頻碼流;其中,所述視頻碼流向所述解碼器傳輸?shù)倪^程中經(jīng)過所述USB設(shè)備。
[0082]所述傳輸單元602還用于:所述視頻碼流向所述解碼器傳輸?shù)倪^程中經(jīng)過USB設(shè)備。進(jìn)一步的,傳輸單元可以將所述視頻碼流傳輸給現(xiàn)場(chǎng)可編程門陣列FPGA發(fā)送裝置,由所述FPGA發(fā)送裝置通過無線信道將所述視頻碼流傳輸給FPGA接收裝置,由所述FPGA接收裝置通過所述USB設(shè)備將所述視頻碼流傳輸給所述解碼器。所述強(qiáng)制發(fā)送信號(hào)用于指示所述FPGA接收裝置將當(dāng)前緩存的視頻碼流發(fā)送至所述解碼器。
[0083]進(jìn)一步的,所述視頻圖像幀包括:瞬時(shí)解碼刷新IDR幀和預(yù)測(cè)P幀;
[0084]所述視頻分隔符包括:訪問單元分隔符AUD ;
[0085]所述強(qiáng)制發(fā)送信號(hào)包括:PKTEND信號(hào);
[0086]所述視頻圖像的格式為亮度和色度YUV格式;
[0087]所述視頻碼流的格式為原始碼流ES格式。
[0088]下面對(duì)用于執(zhí)行上述視頻碼流傳輸方法的本發(fā)明數(shù)據(jù)傳輸裝置的實(shí)施例進(jìn)行說明,其邏輯結(jié)構(gòu)請(qǐng)參考圖7,本發(fā)明實(shí)施例中數(shù)據(jù)傳輸裝置的一個(gè)實(shí)施例包括:
[0089]碼流接收單元701,用于接收視頻碼流,所述視頻碼流包括:視頻圖像幀和視頻分隔符,所述視頻分隔符用于觸發(fā)對(duì)所述視頻碼流的強(qiáng)制發(fā)送信號(hào),并提示解碼器當(dāng)前幀的視頻圖像幀結(jié)束;
[0090]數(shù)據(jù)封裝單元702,用于對(duì)所述視頻碼流進(jìn)行緩存,若在接收到的所述視頻碼流中識(shí)別到所述視頻分隔符,則將當(dāng)前緩存的所述視頻碼流封裝成一個(gè)數(shù)據(jù)包;可選的,若緩存的所述視頻碼流的數(shù)據(jù)量達(dá)到傳輸閾值,則將當(dāng)前緩存的所述視頻碼流封裝成一個(gè)數(shù)據(jù)包;
[0091]碼流傳輸單元703,用于向所述解碼器發(fā)送封裝成所述數(shù)據(jù)包的視頻碼流。進(jìn)一步的,所述碼流傳輸單元703具體用于通過USB設(shè)備向所述解碼器發(fā)送封裝成所述數(shù)據(jù)包的視頻碼流。
[0092]進(jìn)一步的,所述視頻圖像幀包括:瞬時(shí)解碼刷新IDR幀和預(yù)測(cè)P幀;
[0093]所述視頻分隔符包括:訪問單元分隔符AUD ;
[0094]所述強(qiáng)制發(fā)送信號(hào)包括:PKTEND信號(hào);
[0095]所述視頻碼流的格式為原始碼流ES格式。
[0096]下面對(duì)用于執(zhí)行上述視頻碼流傳輸方法的本發(fā)明視頻碼流傳輸系統(tǒng)的實(shí)施例進(jìn)行說明,請(qǐng)參考圖8,本發(fā)明實(shí)施例中視頻碼流傳輸系統(tǒng)的一個(gè)實(shí)施例包括:
[0097]編碼器801,發(fā)送裝置802,接收裝置803和解碼器804 ;
[0098]所述編碼器801用于對(duì)視頻圖像進(jìn)行視頻編碼,得到視頻碼流;所述視頻碼流包括:視頻圖像幀和視頻分隔符,所述視頻分隔符用于觸發(fā)對(duì)所述視頻碼流的強(qiáng)制發(fā)送信號(hào),并提示解碼器當(dāng)前幀的視頻圖像幀結(jié)束;所述編碼器將所述視頻碼流傳輸給所述發(fā)送裝置;
[0099]所述發(fā)送裝置802通過無線信道將所述視頻碼流傳輸給所述接收裝置803 ;
[0100]所述接收裝置803對(duì)所述視頻碼流進(jìn)行緩存,若在接收到的所述視頻碼流中識(shí)別到所述視頻分隔符,則將當(dāng)前緩存的所述視頻碼流封裝成一個(gè)數(shù)據(jù)包;并向所述解碼器804發(fā)送封裝成所述數(shù)據(jù)包的視頻碼流。
[0101]可選的,所述發(fā)送裝置802可以為FPGA發(fā)送裝置,所述接收裝置803可以為FPGA接收裝置。
[0102]上述裝置和系統(tǒng)具體的操作方法可以參照上述方法實(shí)施例的描述,此處不再贅述。
[0103]在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的裝置和方法可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
[0104]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
[0105]另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
[0106]所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(ROM,Read-OnlyMemory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0107]以上所述,僅為本發(fā)明的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【權(quán)利要求】
1.一種視頻碼流傳輸方法,其特征在于,包括: 編碼器對(duì)視頻圖像進(jìn)行視頻編碼,得到視頻碼流;所述視頻碼流包括:視頻圖像幀和視頻分隔符,所述視頻分隔符用于觸發(fā)對(duì)所述視頻碼流的強(qiáng)制發(fā)送信號(hào),并提示解碼器當(dāng)前幀的視頻圖像幀結(jié)束; 所述編碼器向所述解碼器傳輸所述視頻碼流。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 所述視頻碼流向所述解碼器傳輸?shù)倪^程中經(jīng)過通用串行總線USB設(shè)備。
3.根據(jù)權(quán)利要求2所述方法,其特征在于,所述強(qiáng)制發(fā)送信號(hào)用于指示USB設(shè)備傳輸小包數(shù)據(jù)。
4.根據(jù)權(quán)利要求1所述方法,其特征在于, 所述視頻圖像幀包括:瞬時(shí)解碼刷新IDR幀和預(yù)測(cè)P幀; 所述視頻分隔符包括:訪問單元分隔符AUD ; 所述強(qiáng)制發(fā)送信號(hào)包括:PKTEND信號(hào)。
5.根據(jù)權(quán)利要求1所述方法,其特征在于, 所述視頻圖像的格式為亮度和色度YUV格式; 所述視頻碼流的格式為原始碼流ES格式。
6.根據(jù)權(quán)利要求1所述方法,其特征在于,所述編碼器向所述解碼器傳輸所述視頻碼流,包括: 所述編碼器將所述視頻碼流傳輸給現(xiàn)場(chǎng)可編程門陣列FPGA發(fā)送裝置,由所述FPGA發(fā)送裝置通過無線信道將所述視頻碼流傳輸給FPGA接收裝置,由所述FPGA接收裝置通過USB設(shè)備將所述視頻碼流傳輸給所述解碼器。
7.根據(jù)權(quán)利要求6所述方法,其特征在于,所述強(qiáng)制發(fā)送信號(hào)用于指示所述FPGA接收裝置將當(dāng)前緩存的視頻碼流發(fā)送至所述解碼器。
8.一種視頻碼流傳輸方法,其特征在于,包括: 數(shù)據(jù)傳輸裝置接收視頻碼流,所述視頻碼流包括:視頻圖像幀和視頻分隔符,所述視頻分隔符用于觸發(fā)對(duì)所述視頻碼流的強(qiáng)制發(fā)送信號(hào),并提示解碼器當(dāng)前幀的視頻圖像幀結(jié)束; 所述數(shù)據(jù)傳輸裝置對(duì)所述視頻碼流進(jìn)行緩存;若在接收到的所述視頻碼流中識(shí)別到所述視頻分隔符,則觸發(fā)所述強(qiáng)制發(fā)送信號(hào),將當(dāng)前緩存的所述視頻碼流封裝成一個(gè)數(shù)據(jù)包; 所述數(shù)據(jù)傳輸裝置向所述解碼器發(fā)送封裝成所述數(shù)據(jù)包的視頻碼流。
9.根據(jù)權(quán)利要求8所述方法,其特征在于,所述數(shù)據(jù)傳輸裝置對(duì)所述視頻碼流進(jìn)行緩存之后,包括: 若緩存的所述視頻碼流的數(shù)據(jù)量達(dá)到傳輸閾值,則將當(dāng)前緩存的所述視頻碼流封裝成一個(gè)數(shù)據(jù)包。
10.根據(jù)權(quán)利要求8所述方法,其特征在于,所述數(shù)據(jù)傳輸裝置向所述解碼器發(fā)送封裝成所述數(shù)據(jù)包的視頻碼流,包括: 所述數(shù)據(jù)傳輸裝置通過USB設(shè)備向所述解碼器發(fā)送封裝成所述數(shù)據(jù)包的視頻碼流。
11.根據(jù)權(quán)利要求10所述方法,其特征在于,所述強(qiáng)制發(fā)送信號(hào)用于指示所述USB設(shè)備傳輸小包數(shù)據(jù)。
12.根據(jù)權(quán)利要求8所述方法,其特征在于, 所述視頻圖像幀包括:IDR幀和P幀; 所述視頻分隔符包括:AUD ; 所述強(qiáng)制發(fā)送信號(hào)包括:PKTEND信號(hào)。
13.根據(jù)權(quán)利要求8所述方法,其特征在于, 所述視頻碼流的格式為原始碼流ES格式。
14.根據(jù)權(quán)利要求8所述方法,其特征在于, 所述數(shù)據(jù)傳輸裝置包括:FPGA接收裝置; 所述數(shù)據(jù)傳輸裝置接收視頻碼流,包括: 所述FPGA接收裝置接收FPGA發(fā)送裝置通過無線信道發(fā)送的視頻碼流。
15.一種編碼器,其特征在于,包括: 視頻編碼單元,用于對(duì)視頻圖像進(jìn)行視頻編碼,得到視頻碼流;所述視頻碼流包括:視頻圖像幀和視頻分隔符,所述視頻分隔符用于觸發(fā)對(duì)所述視頻碼流的強(qiáng)制發(fā)送信號(hào),并提示解碼器當(dāng)前幀的視頻圖像幀結(jié)束; 傳輸單元,用于向所述解碼器傳輸所述視頻碼流。
16.根據(jù)權(quán)利要求15所述的編碼器,其特征在于,所述傳輸單元還用于: 所述視頻碼流向所述解碼器傳輸?shù)倪^程中經(jīng)過USB設(shè)備。
17.根據(jù)權(quán)利要求16所述編碼器,其特征在于,所述強(qiáng)制發(fā)送信號(hào)用于指示USB設(shè)備傳輸小包數(shù)據(jù)。
18.根據(jù)權(quán)利要求15所述編碼器,其特征在于, 所述視頻圖像幀包括:瞬時(shí)解碼刷新IDR幀和預(yù)測(cè)P幀; 所述視頻分隔符包括:訪問單元分隔符AUD ; 所述強(qiáng)制發(fā)送信號(hào)包括:PKTEND信號(hào)。
19.根據(jù)權(quán)利要求15所述編碼器,其特征在于, 所述視頻圖像的格式為亮度和色度YUV格式; 所述視頻碼流的格式為原始碼流ES格式。
20.根據(jù)權(quán)利要求15所述編碼器,其特征在于,所述傳輸單元還用于: 將所述視頻碼流傳輸給現(xiàn)場(chǎng)可編程門陣列FPGA發(fā)送裝置,由所述FPGA發(fā)送裝置通過無線信道將所述視頻碼流傳輸給FPGA接收裝置,由所述FPGA接收裝置通過所述USB設(shè)備將所述視頻碼流傳輸給所述解碼器。
21.根據(jù)權(quán)利要求20所述編碼器,其特征在于,所述強(qiáng)制發(fā)送信號(hào)用于指示所述FPGA接收裝置將當(dāng)前緩存的視頻碼流發(fā)送至所述解碼器。
22.一種數(shù)據(jù)傳輸裝置,其特征在于,包括: 碼流接收單元,用于接收視頻碼流,所述視頻碼流包括:視頻圖像幀和視頻分隔符,所述視頻分隔符用于觸發(fā)對(duì)所述視頻碼流的強(qiáng)制發(fā)送信號(hào),并提示解碼器當(dāng)前幀的視頻圖像幀結(jié)束; 數(shù)據(jù)封裝單元,用于對(duì)所述視頻碼流進(jìn)行緩存,若在接收到的所述視頻碼流中識(shí)別到所述視頻分隔符,則觸發(fā)所述強(qiáng)制發(fā)送信號(hào),將當(dāng)前緩存的所述視頻碼流封裝成一個(gè)數(shù)據(jù)包; 碼流傳輸單元,用于向所述解碼器發(fā)送封裝成所述數(shù)據(jù)包的視頻碼流。
23.根據(jù)權(quán)利要求22所述數(shù)據(jù)傳輸裝置,其特征在于,所述數(shù)據(jù)封裝單元還用于: 若緩存的所述視頻碼流的數(shù)據(jù)量達(dá)到傳輸閾值,則將當(dāng)前緩存的所述視頻碼流封裝成一個(gè)數(shù)據(jù)包。
24.根據(jù)權(quán)利要求22所述數(shù)據(jù)傳輸裝置,其特征在于,所述碼流傳輸單元具體用于通過USB設(shè)備向所述解碼器發(fā)送封裝成所述數(shù)據(jù)包的視頻碼流。
25.根據(jù)權(quán)利要求24所述數(shù)據(jù)傳輸裝置,其特征在于, 所述強(qiáng)制發(fā)送信號(hào)用于指示所述USB設(shè)備傳輸小包數(shù)據(jù)。
26.根據(jù)權(quán)利要求22所述數(shù)據(jù)傳輸裝置,其特征在于, 所述視頻圖像幀包括:IDR幀和P幀; 所述視頻分隔符包括:AUD ; 所述強(qiáng)制發(fā)送信號(hào)包括:PKTEND信號(hào)。
27.根據(jù)權(quán)利要求22所述數(shù)據(jù)傳輸裝置,其特征在于, 所述視頻碼流的格式為原始碼流ES格式。
28.一種視頻碼流傳輸系統(tǒng),其特征在于,包括: 編碼器,發(fā)送裝置,接收裝置和解碼器; 所述編碼器用于對(duì)視頻圖像進(jìn)行視頻編碼,得到視頻碼流;所述視頻碼流包括:視頻圖像幀和視頻分隔符,所述視頻分隔符用于觸發(fā)對(duì)所述視頻碼流的強(qiáng)制發(fā)送信號(hào),并提示解碼器當(dāng)前幀的視頻圖像幀結(jié)束;所述編碼器將所述視頻碼流傳輸給所述發(fā)送裝置; 所述發(fā)送裝置通過無線信道將所述視頻碼流傳輸給所述接收裝置; 所述接收裝置對(duì)所述視頻碼流進(jìn)行緩存,若在接收到的所述視頻碼流中識(shí)別到所述視頻分隔符,則觸發(fā)所述強(qiáng)制發(fā)送信號(hào),將當(dāng)前緩存的所述視頻碼流封裝成一個(gè)數(shù)據(jù)包,并向所述解碼器發(fā)送封裝成所述數(shù)據(jù)包的視頻碼流。
【文檔編號(hào)】H04N19/37GK104506868SQ201410855392
【公開日】2015年4月8日 申請(qǐng)日期:2014年12月31日 優(yōu)先權(quán)日:2014年12月31日
【發(fā)明者】楊小虎, 薛冰, 尤中乾 申請(qǐng)人:深圳市大疆創(chuàng)新科技有限公司