午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

修復(fù)具有丟失分組的容器文件中包括的樣本的方法和裝置的制作方法

文檔序號(hào):7678784閱讀:235來源:國(guó)知局

專利名稱::修復(fù)具有丟失分組的容器文件中包括的樣本的方法和裝置的制作方法
技術(shù)領(lǐng)域
:這里的原理總地涉及視頻編碼,更具體而言涉及用于修復(fù)具有丟失的分組的容器文件中包括的樣本的方法和裝置。
背景技術(shù)
:容器格式是能夠包括利用標(biāo)準(zhǔn)化的編碼器和編解碼器壓縮的各類數(shù)據(jù)的計(jì)算機(jī)文件格式。容器文件用于識(shí)別和交織不同的數(shù)據(jù)類型。類似的容器格式可包括不同類型的音頻編解碼器,而更高級(jí)的容器格式可以支持音頻、視頻、字幕、章節(jié)、和元數(shù)據(jù)(標(biāo)簽),以及將各種流一起重放所需要的同步信息。當(dāng)經(jīng)由有損網(wǎng)絡(luò)來廣播或多播容器文件時(shí),在文件接收時(shí)可能發(fā)生分組差錯(cuò)。一些視頻解碼器就信道差錯(cuò)而言是不魯棒的。對(duì)于視頻解碼器或播放器來說,能夠處理有完全缺失的切片(slice)或圖片的壓縮視頻文件比起能夠處理有部分缺失的切片或圖片的壓縮文件來,通常要容易得多。由于可變長(zhǎng)度編碼,視頻解碼器很難檢測(cè)缺失或損壞的數(shù)據(jù),因?yàn)槊總€(gè)比特都能被解釋為可允許的、但不正確的符號(hào)。此外,一些容器文件格式,比如國(guó)際標(biāo)準(zhǔn)化組織/國(guó)際電工委員會(huì)(ISO/IEC)運(yùn)動(dòng)圖片專家組-4(MPEG-4)第10部分高級(jí)視頻編碼(AVC)標(biāo)準(zhǔn)/國(guó)際電信聯(lián)盟電信部(ITU-T)H.264推薦(以下稱之為"MPEG-4AVC標(biāo)準(zhǔn)"),依賴于偏移量的表格來識(shí)別整個(gè)切片或圖片在文件中的位置。當(dāng)數(shù)據(jù)缺失時(shí),這些偏移量將是不正確的,從而阻礙了正確的視頻解碼器操作。5當(dāng)經(jīng)由分組網(wǎng)絡(luò)來流式傳輸視頻時(shí),通常使用實(shí)時(shí)傳輸協(xié)議(RTP)。實(shí)時(shí)傳輸協(xié)議分組頭部包括可用于識(shí)別缺失的分組的序列號(hào)。實(shí)時(shí)傳輸協(xié)議數(shù)據(jù)分組可具有各種長(zhǎng)度。一般推薦,壓縮的視頻切片與分組對(duì)齊。如果分組包括一個(gè)或多個(gè)完整的切片并且分組丟失,則解碼器將不能夠處理局部切片。MPEG-4AVC標(biāo)準(zhǔn)規(guī)定了網(wǎng)絡(luò)抽象層(NAL)單元,其中必須包括經(jīng)編碼的切片。經(jīng)編碼的圖片中的宏塊被放置到一個(gè)或多個(gè)切片中。網(wǎng)絡(luò)抽象層單元還可包括其他類型的數(shù)據(jù),例如序列或圖片參數(shù)集、補(bǔ)充增強(qiáng)信息(SEI)消息,等等。當(dāng)經(jīng)由因特網(wǎng)協(xié)議(IP)網(wǎng)絡(luò)來流式傳輸遵從MPEG-4AVC標(biāo)準(zhǔn)的比特流時(shí),通常使用這樣一種方案,該方案規(guī)定了用于利用實(shí)時(shí)傳輸協(xié)議來發(fā)送遵從MPEG-4AVC標(biāo)準(zhǔn)的比特流的語(yǔ)法。在一種現(xiàn)有技術(shù)方法中,如果既不使用分割單元(fragmentationunit)也不使用聚合單元(aggregationunit),那么一整個(gè)網(wǎng)絡(luò)抽象層單元被放置在因特網(wǎng)協(xié)議分組中以便傳送。如果該分組由于傳送差錯(cuò)而丟失,則一整個(gè)網(wǎng)絡(luò)抽象層單元都丟失了。如果使用聚合單元,則若干個(gè)完整的網(wǎng)絡(luò)抽象層單元被放置在單個(gè)分組中。如果該分組由于傳送差錯(cuò)而丟失,則這若干個(gè)完整的網(wǎng)絡(luò)抽象層單元都丟失了。在這些情況下,部分網(wǎng)絡(luò)抽象層單元將不會(huì)到達(dá)相應(yīng)的接收器處。如果使用分割單元,則單個(gè)大的網(wǎng)絡(luò)抽象層單元被分在多個(gè)分組中。接收器可以利用實(shí)時(shí)傳輸協(xié)議分組中包括的序列號(hào)來檢測(cè)這些分組中的一個(gè)或多個(gè)是否由于傳送差錯(cuò)而丟失。如果分割單元丟失,則接收器應(yīng)當(dāng)丟棄所有在傳送順序上隨后的、與同一個(gè)分割的網(wǎng)絡(luò)抽象層單元相對(duì)應(yīng)的分割單元。端點(diǎn)中的或者媒體知曉網(wǎng)絡(luò)元件(MANE)中的接收器可將網(wǎng)絡(luò)抽象層單元的前n-1個(gè)片段聚合成一個(gè)(不完整的)網(wǎng)絡(luò)抽象層單元,即使該網(wǎng)絡(luò)抽象層單元的第n片段沒有被接收到。在此情況下,網(wǎng)絡(luò)抽象層單元的forbidden—zero—bit被設(shè)為1,以指示語(yǔ)法違反。根據(jù)MPEG-4AVC標(biāo)準(zhǔn),網(wǎng)絡(luò)抽象層單元頭部包括被稱為forbidden—zero—bit的一比特語(yǔ)法字段。在遵從MPEG-4AVC標(biāo)準(zhǔn)的比特流中,forbidden—zero—bit通常等于0。當(dāng)檢測(cè)到比特流語(yǔ)法中的差錯(cuò)時(shí),解碼器可將檢測(cè)到的狀況視為表明已失去字節(jié)對(duì)齊的指示,并且可以丟棄所有比特流數(shù)據(jù),直到在比特流中之后的某一位置處檢測(cè)到字節(jié)對(duì)齊為止。MPEG-4AVC標(biāo)準(zhǔn)定義了填充(filler)數(shù)據(jù)網(wǎng)絡(luò)抽象層單元類型。預(yù)期解碼器會(huì)忽略包括填充數(shù)據(jù)的網(wǎng)絡(luò)抽象層單元。經(jīng)由雙向網(wǎng)絡(luò)進(jìn)行的文件傳輸經(jīng)常使用諸如傳送控制協(xié)議(TCP)之類的可靠協(xié)議。如果發(fā)生分組丟失,則重傳被用來最終接收文件中的所有數(shù)據(jù)。當(dāng)利用非可靠協(xié)議經(jīng)由單向網(wǎng)絡(luò)或雙向網(wǎng)絡(luò)傳輸文件時(shí),不使用重傳。根據(jù)例如MPEG-4AVC標(biāo)準(zhǔn)、音頻視頻交織(AVI)格式、第3代合作伙伴計(jì)劃(3GPP)以及ISO/IECMPEG-2標(biāo)準(zhǔn),可按多媒體容器格式將壓縮的視頻和音頻存儲(chǔ)在一起。MPEG-4AVC標(biāo)準(zhǔn)包括可用于存儲(chǔ)若干種不同的視頻(MPEG-2視頻、MPEG-4Part2視頻、或MPEG-4AVC視頻)或音頻(MPEG-2Layer3、高級(jí)音頻編碼(AAC))格式的容器文件格式。MPEG-4AVC標(biāo)準(zhǔn)文件格式是基于ISO媒體文件格式的。MPEG-4AVC文件中的基本單元是樣本(sample),對(duì)于視頻而言它通常是整個(gè)經(jīng)編碼的圖片。在非提示軌道中,樣本是視頻的一幀、一系列時(shí)間上連續(xù)的視頻幀、或者時(shí)間上連續(xù)的壓縮音頻區(qū)段。在提示軌道中,樣本定義一個(gè)或多個(gè)流式分組的形成。一個(gè)軌道里不會(huì)有兩個(gè)樣本共享同一時(shí)間戳。MPEG-4AVC文件包括樣本表格。樣本表格為每個(gè)樣本(通常是經(jīng)編碼的圖片)提供了信息,該信息指示出樣本在文件中所在位置的偏移量以及樣本大小。樣本表格包括軌道中的媒體樣本的所有時(shí)間和數(shù)據(jù)索引。利用該表格,可以在時(shí)間上定位樣本,判定其類型(例如,I幀或其他),以及判定其大小、容器和在該容器內(nèi)的偏移量。如果包括樣本表格盒的軌道不引用數(shù)據(jù),則可能需要以下的子盒(sub-box):樣本描述、樣本大小、樣本到組塊(SampleToChunk)、以及組塊偏移量。MPEG-4AVC文件格式已被擴(kuò)展到包括MPEG-4AVC視頻。當(dāng)MPEG-4AVC視頻被包括在MPEG-4AVC文件格式中時(shí),起始代碼不被包括在該文件中。被稱為單向傳輸式文件遞送(FileDeliveryoverUnidirectionalTransport,FLUTE)的文件遞送協(xié)議致力于經(jīng)由單向網(wǎng)絡(luò)進(jìn)行多播遞送。單向傳輸式文件遞送可用于遞送MPEG-4AVC文件。特定的單向傳輸式文件遞送會(huì)話中的所有利用單向傳輸式文件遞送來傳送的分組將具有相同的長(zhǎng)度,并因此不會(huì)與MPEG-4AVC文件中的經(jīng)可變長(zhǎng)度編碼的切片或圖片相對(duì)齊。如果在MPEG-4AVC文件的遞送期間發(fā)生分組丟失,則接收到的部分MPEG-4AVC文件是無效的。樣本表格中的偏移量將指向不正確的位置。由于經(jīng)可變長(zhǎng)度編碼的圖片,在無效的MPEG-4AVC文件中,MPEG-4AVC樣本表格中的應(yīng)當(dāng)指向特定的經(jīng)編碼幀的起始處的偏移量將會(huì)改為指向比特流數(shù)據(jù)中的未知位置,該位置有可能是經(jīng)編碼幀的中部。每個(gè)單向傳輸式文件遞送分組包含源塊號(hào)字段,該字段對(duì)于每個(gè)被傳送的分組遞增。單向傳輸式文件遞送協(xié)議包括文件描述表格(FDT),該表格包括用來指示要遞送的文件的大小的字段。
發(fā)明內(nèi)容這里的原理解決了現(xiàn)有技術(shù)的這些和其他缺陷和缺點(diǎn),這里的原理涉及用于對(duì)具有丟失的分組的容器文件中包括的樣本進(jìn)行修復(fù)的方法和裝置。根據(jù)這里的原理的一個(gè)方面,提供了一種裝置。該裝置包括接收器和文件修補(bǔ)器。接收器用于接收其中包括容器文件的分組,識(shí)別這些分組中的任何發(fā)生了分組丟失的分組,并且識(shí)別受分組丟失影響的、具有在識(shí)別出的分組中包括的數(shù)據(jù)的至少一個(gè)樣本。該至少一個(gè)樣本分別對(duì)應(yīng)于特定容器文件。文件修補(bǔ)器用于針對(duì)該至少一個(gè)樣本修復(fù)該特定容器文件。根據(jù)本發(fā)明的另一個(gè)方面,提供了一種方法。該方法包括接收其中包括容器文件的分組;識(shí)別這些分組中的任何發(fā)生了分組丟失的分組;識(shí)別受分組丟失影響的、具有在識(shí)別出的分組中包括的數(shù)據(jù)的至少一個(gè)樣本,該至少一個(gè)樣本分別對(duì)應(yīng)于特定容器文件;以及針對(duì)該至少一個(gè)樣本8修復(fù)該特定容器文件。從以下應(yīng)當(dāng)聯(lián)系附圖來閱讀的對(duì)示例性實(shí)施例的詳細(xì)描述中,將明顯看出這里的原理的這些和其他方面、特征和優(yōu)點(diǎn)。根據(jù)以下示例性附圖將更好地理解這里的原理,附圖中圖1是根據(jù)這里的原理的實(shí)施例、可應(yīng)用這里的原理的單向視頻文件傳輸系統(tǒng)的框圖2是根據(jù)這里的原理的實(shí)施例、可應(yīng)用這里的原理的示例性容器文件的示圖3是根據(jù)這里的原理的實(shí)施例、可應(yīng)用這里的原理的具有傳送分組化的示例性容器文件的示圖4是根據(jù)這里的原理的實(shí)施例、可應(yīng)用這里的原理的具有傳送分組化和分組丟失的示例性容器文件的示圖5是根據(jù)這里的原理的實(shí)施例、當(dāng)在根據(jù)第一示例性更新選項(xiàng)更新樣本表格的情況下進(jìn)行文件修補(bǔ)之后具有傳送分組化和分組丟失的示例性容器文件的示圖6是根據(jù)這里的原理的實(shí)施例、在根據(jù)第二示例性更新選項(xiàng)利用填充數(shù)據(jù)進(jìn)行文件修補(bǔ)之后具有傳送分組化和分組丟失的示例性容器文件的示圖7是根據(jù)這里的原理的實(shí)施例,用于判定受丟失的分組的影響的樣本的示例性方法的流程圖;以及圖8是根據(jù)這里的原理的實(shí)施例,用于替換受丟失的分組的影響的樣本的示例性方法的流程圖。具體實(shí)施例方式這里的原理涉及用于對(duì)具有丟失的分組的容器文件中包括的樣本進(jìn)行修復(fù)的方法和裝置。這里的描述說明了這里的原理。因此,將會(huì)明白,本領(lǐng)域的技術(shù)人員將能夠設(shè)計(jì)各種布置,這些布置雖然在這里沒有明確描述或者示出,但體現(xiàn)了這里的原理并且被包括在其精神和范圍內(nèi)。這里記載的所有示例和附條件語(yǔ)言都意圖用于教導(dǎo)目的,以幫助讀者理解這里的原理和發(fā)明人為推進(jìn)技術(shù)所貢獻(xiàn)的概念,并且能夠被解釋為并不限于這些具體記載的示例和條件。另外,這里所有記載這里原理的原理、方面和實(shí)施例及其具體示例的所有語(yǔ)句都意圖涵蓋其結(jié)構(gòu)和功能上的等同物。此外,希望這種等同物既包括當(dāng)前己知的等同物,也包括將來開發(fā)的等同物,即,任何被開發(fā)出來執(zhí)行相同功能的元件,不論其結(jié)構(gòu)如何。因此,例如,本領(lǐng)域的技術(shù)人員將會(huì)明白,這里給出的框圖表示體現(xiàn)這里的原理的說明性電路的概念性視圖。類似地,將會(huì)明白,任何流程圖表、流程圖、狀態(tài)轉(zhuǎn)換圖、偽代碼等等,都表示實(shí)質(zhì)上可被表示在計(jì)算機(jī)可讀介質(zhì)中并被計(jì)算機(jī)或處理器如此執(zhí)行的各種過程,不論這種計(jì)算機(jī)或處理器被明確示出與否。附圖中示出的各種元件的功能可通過使用專用的硬件以及能夠聯(lián)系適當(dāng)?shù)能浖磉\(yùn)行軟件的硬件來提供。當(dāng)通過處理器提供時(shí),這些功能可通過單個(gè)專用處理器、通過單個(gè)共享處理器、或者通過多個(gè)個(gè)體處理器(其中一些可能是共享的)來提供。另外,對(duì)術(shù)語(yǔ)"處理器"或"控制器"的明確使用不應(yīng)當(dāng)被解釋為專指能夠運(yùn)行軟件的硬件,而是也可能隱含包括(而不限于)數(shù)字信號(hào)處理器("DSP")硬件、用于存儲(chǔ)軟件的只讀存儲(chǔ)器("ROM")、隨機(jī)訪問存儲(chǔ)器("RAM")、以及非易失性存儲(chǔ)裝置。也可以包括其他傳統(tǒng)的和/或定制的硬件。類似地,附圖中所示出的任何開關(guān)都只是概念性的。它們的功能可通過程序邏輯的操作、通過專用邏輯、通過程序控制和專用邏輯的交互來實(shí)現(xiàn)或者甚至手工實(shí)現(xiàn),具體的技術(shù)由實(shí)現(xiàn)者根據(jù)對(duì)上下文的具體理解來選擇。在本申請(qǐng)的權(quán)利要求中,任何被表達(dá)為用于執(zhí)行指定功能的裝置的元件都意圖涵蓋任何執(zhí)行該功能的方式,例如包括a)執(zhí)行該功能的電路元件的組合,或者b)任何形式的軟件,因此包括固件、微代碼等等,結(jié)10合用于運(yùn)行該軟件以執(zhí)行該功能的適當(dāng)電路。這種權(quán)利要求所限定的這里的原理存在于這樣的事實(shí)中即,由各種記載的裝置提供的功能以權(quán)利要求要求所要求的方式被組合到一起。因此認(rèn)為,任何提供這些功能的裝置都與這里示出的那些是等同的。說明書中提到這里的原理的"一個(gè)實(shí)施例"或"實(shí)施例"意味著聯(lián)系該實(shí)施例描述的特定特征、結(jié)構(gòu)、特性等等被包括在這里的原理的至少一個(gè)實(shí)施例中。因此,在說明書中各處出現(xiàn)短語(yǔ)"在一個(gè)實(shí)施例中"或"在實(shí)施例中"不一定都是指同一個(gè)實(shí)施例。另外,應(yīng)當(dāng)明白,雖然這里的原理的一個(gè)或多個(gè)實(shí)施例在這里是針對(duì)MPEG-4AVC標(biāo)準(zhǔn)和/或音頻視頻交織(AVI)格式來描述的,但是這里的原理并不僅限于該標(biāo)準(zhǔn)和/或格式,因此可以針對(duì)其他視頻編碼標(biāo)準(zhǔn)、推薦及其擴(kuò)展(包括MPEG-4AVC標(biāo)準(zhǔn)的擴(kuò)展)以及其他聯(lián)合視頻和音頻格式來使用,而仍保持這里的原理的精神。另外,應(yīng)當(dāng)明白,雖然這里的原理的一個(gè)或多個(gè)實(shí)施例是針對(duì)單向傳輸式文件遞送(FLUTE)來描述的,但是這里的原理并不僅限于該協(xié)議,因此可以針對(duì)其他文件傳輸協(xié)議來使用,而仍保持這里的原理的精神。另外,這里使用的術(shù)語(yǔ)"修復(fù)"指的是"修補(bǔ)"并且與"修補(bǔ)"同義。即,由于一個(gè)或多個(gè)丟失的分組而受影響的樣本(至少部分丟失)或者被從容器文件中去除(并且相應(yīng)的樣本表格被適當(dāng)?shù)馗?,或者受影響的樣本(至少部分丟失)被填上填充比特。填充比特是意圖供解碼器丟棄而不解碼的數(shù)據(jù)。如上所述,這里的原理針對(duì)用于對(duì)具有丟失的分組的容器文件中包括的樣本進(jìn)行修復(fù)的方法和裝置。在實(shí)施例中,這里的原理提供了一種方法和裝置,用于對(duì)接收到的具有分組丟失的容器文件進(jìn)行修復(fù),以使得它能夠被音頻/視頻解碼器所播放。修復(fù)/修補(bǔ)過程消除了來自容器文件的表示切片或圖片的部分接收的樣本。這使得就損壞的切片和圖片而言不魯棒的解碼器能夠處理該文件。解碼器仍可以執(zhí)行差錯(cuò)隱藏來隱藏缺失的切片或圖片。參考圖1,單向視頻文件傳輸系統(tǒng)由標(biāo)號(hào)IO來總地指示。系統(tǒng)100包括存儲(chǔ)設(shè)備110,該存儲(chǔ)設(shè)備110具有與文件發(fā)送器120的輸入進(jìn)行信號(hào)通信連接的輸出。文件發(fā)送器120的輸出與分組網(wǎng)絡(luò)130的輸入信號(hào)通信連接。分組網(wǎng)絡(luò)130的輸出與文件接收器140的輸入進(jìn)行信號(hào)通信連接。文件接收器140的第一輸出與文件修補(bǔ)器150的輸入進(jìn)行信號(hào)通信連接。文件接收器140的第二輸出與存儲(chǔ)設(shè)備160進(jìn)行信號(hào)通信連接。存儲(chǔ)設(shè)備160的雙向輸入/輸出與文件修補(bǔ)器150的雙向輸入/輸出進(jìn)行信號(hào)通信連接。文件修補(bǔ)器150的輸出與視頻解碼器170的輸入進(jìn)行信號(hào)通信連接。經(jīng)壓縮的視頻和(可選)音頻數(shù)據(jù)是按諸如MPEG-4或音頻視頻交織(AVI)之類的容器文件格式來存儲(chǔ)的。容器文件經(jīng)由網(wǎng)絡(luò)被傳送到文件接收器,在文件接收器處文件被存儲(chǔ)在本地。文件傳輸協(xié)議應(yīng)當(dāng)能夠指示出是否發(fā)生了任何分組丟失。如果單向傳輸式文件遞送(FLUTE)被用作文件傳輸協(xié)議,則文件接收器可以檢測(cè)接收到的源塊號(hào)字段中的間隙。如果接收到的分組的源塊號(hào)不比前一個(gè)接收到的分組的源塊號(hào)高1,則可檢測(cè)到分組丟失。文件接收器140應(yīng)當(dāng)向文件修補(bǔ)器150指示出缺失的源塊號(hào)。單向傳輸式文件遞送文件接收器能夠通過將接收文件大小與文件描述表格(FDT)中指示的文件大小相比較來判定是否發(fā)生了傳送丟失。如果接收文件大小不等于FDT文件大小,則知道發(fā)生了傳送丟失,但是沒有判定哪個(gè)數(shù)據(jù)丟失了。如果所有數(shù)據(jù)都被正確接收,則不必執(zhí)行文件修補(bǔ)過程。參考圖2,示例性的容器文件由標(biāo)號(hào)200來總地指示。容器文件200包括樣本表格210和可變大小編碼的圖片220。樣本表格210包括每個(gè)樣本的信息,例如文件偏移量和大小。當(dāng)然,信息并不僅限于前述的信息類型,因此也可以使用與樣本有關(guān)的其他類型的信息,同時(shí)保持了本原理的范圍。表l示出了容器文件樣本表格的示例性內(nèi)容,其中每個(gè)樣本表示一個(gè)經(jīng)編碼的圖片。_表l_圖片號(hào)I偏移量^12<table>tableseeoriginaldocumentpage13</column></row><table>參考圖3,具有傳送分組化的示例性容器文件由標(biāo)號(hào)300來總地指示。容器文件300示出了示例性的容器文件如何被分成長(zhǎng)度為100的固定大小分組以便傳送。在該示例中,分組2包括圖片1的末尾部分、圖片2的全部、以及圖片3的起始部分。如果分組2在傳送期間丟失,則分組2中包括的數(shù)據(jù)將會(huì)丟失。如果解碼器在不使用文件修補(bǔ)過程的情況下嘗試對(duì)文件進(jìn)行解碼,那么在試圖對(duì)圖片l解碼時(shí),它將針對(duì)不正確的數(shù)據(jù)進(jìn)行操作。圖4示出了該示例。參考圖4,具有傳送分組化和分組丟失的示例性容器文件由標(biāo)號(hào)400來總地指示。當(dāng)解碼器170嘗試訪問樣本表格中指示的圖片1的所預(yù)期的380字節(jié)時(shí),它將得到圖片1的正確初始部分(在圖4中指示為la)、圖片3的最終部分(指示為3b),以及圖片4的一部分。由于可變長(zhǎng)度編碼,解碼器將有可能不能檢測(cè)到它正在處理無效數(shù)據(jù),因此將不正確地解釋該數(shù)據(jù)。這將導(dǎo)致看起來非常奇怪的視頻,例如當(dāng)變換系數(shù)被解釋為運(yùn)動(dòng)向量時(shí)。此外,解碼器有可能因?yàn)閲L試訪問不適當(dāng)?shù)拇鎯?chǔ)器單元而崩潰。根據(jù)這里的原理的一個(gè)或多個(gè)實(shí)施例的修補(bǔ)解決了向解碼器發(fā)送無效數(shù)據(jù)的這個(gè)問題。在實(shí)施例中,文件修補(bǔ)過程將在文件接收期間或之后、解碼之前被應(yīng)用到容器文件。在修補(bǔ)過程中,對(duì)于每個(gè)丟失的分組,將判定由于樣本的至少一部分缺失,哪些樣本將受到丟失的分組的影響。然后,對(duì)于那些受影響的樣本中的每一個(gè),更新容器文件,以消除損壞的樣本。正確接收的數(shù)據(jù)中的一些被去除或替換,以使解碼器可以保證它將只接收有效的經(jīng)編碼圖片或切片。在實(shí)施例中,判定哪些樣本受丟失的分組的影響的過程利用了來自文件傳輸協(xié)議(例如,單向傳輸式文件遞送)的信息,包括分組長(zhǎng)度pkt—length,和被文件接收器判定為與丟失的分組相對(duì)應(yīng)的源塊號(hào)。該過程還使用了來自容器文件格式的樣本表格的信息,包括樣本偏移量(或組塊偏移量)和樣本大小。這些參數(shù)被用于判定曾在丟失的分組中的字節(jié)與容器文件中的相應(yīng)經(jīng)編碼樣本之間的任何重疊。對(duì)于特定的樣本,如果在該樣本和丟失的分組之間存在任何重疊,使得該樣本的至少一部分缺失,則該樣本被標(biāo)記為受分組丟失的影響。應(yīng)當(dāng)明白,使用單向傳輸式文件遞送來判定哪些樣本受丟失的分組的影響在這里是出于說明目的而描述的,這里的原理不僅限于使用單向傳輸式文件遞送來進(jìn)行這種判定。S卩,給定這里提供的原理的教導(dǎo),本領(lǐng)域及相關(guān)領(lǐng)域的普通技術(shù)人員將設(shè)想使用單向傳輸式文件遞送和其他協(xié)議和方法來判定哪些樣本受丟失的分組的影響,以用于執(zhí)行根據(jù)這里的原理的修復(fù),同是保持這里的原理的精神。參考圖7,用于判定受丟失分組的影響的樣本的示例性方法由標(biāo)號(hào)700來總地指示。方法700包括開始?jí)K705,該開始?jí)K將控制傳遞給功能塊710。功能塊710將由變量s表示的當(dāng)前樣本設(shè)置為等于0,并且將控制傳遞給循環(huán)限制塊715。循環(huán)限制塊715對(duì)于由變量m表示的每個(gè)丟失的源塊執(zhí)行循環(huán),并且將控制傳遞給功能塊720,該變量m表示源塊號(hào)。功能塊720將lost_pkt—offset[m]設(shè)置為等于pkt一length*m,并且將控制傳遞給判決塊725。判決塊725判定offset[s]+size[s]是否大于lost_pkt—offset[m]。如果是,則控制被傳遞給功能塊730。否則控制被傳遞給功能塊745。功能塊730將樣本s標(biāo)記為受分組丟失的影響,并且將控制傳遞給判決塊735。判決塊735判定offset[s]+size[s]<lost_pkt—offset[m]+pkt—length。如果是,則控制被傳遞給功能塊740。否則,控制被傳遞給循環(huán)限制塊750。功能塊740遞增變量s,并且將控制返回給功能塊730。循環(huán)限制塊750結(jié)束對(duì)每個(gè)丟失的源塊(由變量m表示)的循環(huán),并且將控制傳遞給結(jié)束塊799。功能塊745遞增s,并且將控制返回給判決塊725。如果方法700被應(yīng)用到這里示出的示例,則與圖片l、2和3相對(duì)應(yīng)的樣本將被標(biāo)記為受分組丟失的影響。在判定出受影響的分組后,更新容器文件以利用這里描述的兩種示例性選項(xiàng)之一來修補(bǔ)這些受影響的樣本。當(dāng)然,應(yīng)當(dāng)明白,前述的示例性選項(xiàng)只是用于說明性目的的,這里的原理并不僅限于這些選項(xiàng),有了這里提供的原理的教導(dǎo),本領(lǐng)域和相關(guān)領(lǐng)域的普通技術(shù)人員將設(shè)想出用于更新容器文件的這些和其他選項(xiàng),同時(shí)仍保持這里的原理的精神。根據(jù)第一示例性選項(xiàng),與受影響的樣本相對(duì)應(yīng)的所有數(shù)據(jù)都被從文件中去除,并且樣本表格被更新以去除所有受分組丟失影響的樣本。然后,樣本表格中所有其他樣本的偏移量被調(diào)整以考慮到去除的樣本。對(duì)于每個(gè)被去除的樣本,該去除的樣本的大小被從樣本表格中所有后續(xù)樣本的偏移量值中減去。根據(jù)該選項(xiàng),在修補(bǔ)之后容器文件的總大小被減小。參考圖5,當(dāng)在根據(jù)第一示例性更新選項(xiàng)更新樣本表格的情況下進(jìn)行文件修補(bǔ)之后具有傳送分組化和分組丟失的示例性容器文件由標(biāo)號(hào)500來總地指示。根據(jù)第二示例性選項(xiàng),不修改樣本表格,而是將填充數(shù)據(jù)放置于所有受影響樣本的位置中。根據(jù)該選項(xiàng),修補(bǔ)之后容器文件的總大小與原始文件的大小相同。參考圖6,在根據(jù)第二示例性更新選項(xiàng)利用填充數(shù)據(jù)進(jìn)行文件修補(bǔ)之后具有傳送分組化和分組丟失的示例性容器文件由標(biāo)號(hào)600來總地指示。如果所使用的視頻壓縮標(biāo)準(zhǔn)是MPEG-4AVC標(biāo)準(zhǔn),那么包括填充數(shù)據(jù)的網(wǎng)絡(luò)抽象層單元可被放置到容器文件中以替換受影響的樣本。另一個(gè)選項(xiàng)將會(huì)是把網(wǎng)絡(luò)抽象層單元頭部中的forbidden—zero_bit設(shè)為1,這向解碼器表明這是損壞的網(wǎng)絡(luò)抽象層單元。注意,一些容器文件格式(例如,應(yīng)用到MPEG-4AVC標(biāo)準(zhǔn)編碼視頻的MPEG-4AVC標(biāo)準(zhǔn)文件格式)可通過在每個(gè)網(wǎng)絡(luò)抽象層單元前附加該單元的大小(NALUnitLength)來在單個(gè)樣本內(nèi)存儲(chǔ)網(wǎng)絡(luò)抽象層(NAL)單元的序列。如果forbidden—zero一bit被用于指示損壞,那么如果多個(gè)網(wǎng)絡(luò)抽象層單元存在于一個(gè)受影響的樣本內(nèi),則NALUnitLength必須被調(diào)整以反映受影響的樣本的完整大小(減去15NALUnitLength字段的大小)。容器文件中的樣本的基本單元通常是整個(gè)經(jīng)編碼的圖片。但是,此概念也可應(yīng)用到各個(gè)切片。經(jīng)編碼的圖片或經(jīng)編碼的切片在其數(shù)據(jù)的至少一部分在傳送期間丟失時(shí)被去除。參考圖8,用于替換受丟失分組的影響的樣本的示例性方法由標(biāo)號(hào)800來總地指示。方法800包括開始?jí)K805,該開始?jí)K將控制傳遞給功能塊810。功能塊810將當(dāng)前樣本s設(shè)置為等于0,并且將控制傳遞給循環(huán)限制塊815。功能塊815對(duì)每個(gè)樣本執(zhí)行循環(huán),并且將控制傳遞給判決塊820。判決塊S20判定s是否被標(biāo)記為受分組丟失的影響。如果是,則控制被傳遞給判決塊825。否則,控制被傳遞給功能塊850。判決塊825判定是否使用forbidden一zero一bit方法。如果是,則控制被傳遞給功能塊830。否則,控制被傳遞給判決塊855。功能塊830將當(dāng)前樣本開始處的NALUnitLength字段設(shè)置為樣本s的長(zhǎng)度減去長(zhǎng)度字段的長(zhǎng)度,并且將控制傳遞給功能塊835。功能塊835將當(dāng)前樣本s中的第一NAL頭部的forbidden_zero_bit設(shè)置為等于1,并且將控制傳遞給判決塊840。判決塊840判定當(dāng)前樣本s是否是最后一個(gè)樣本。如果是,則控制被傳遞給循環(huán)限制塊845。否則,控制被傳遞給功能塊850。功能塊845結(jié)束對(duì)每個(gè)樣本s的循環(huán),并且將控制傳遞給結(jié)束塊899。功能塊850遞增s,并且將控制返回給判決塊820。判決塊855判定是否使用填充NAL方法。如果是,則控制被傳遞給功能塊860。否則,控制被傳遞給功能塊870。功能塊860將當(dāng)前樣本開始處的NALUnitLength字段設(shè)置為樣本s的長(zhǎng)度減去長(zhǎng)度字段的大小,并且將控制傳遞給功能塊865。功能塊865利用包括填充比特內(nèi)容的NAL來替換樣本內(nèi)容,并且將控制傳遞給判決塊840。功能塊870指定將使用樣本去除方法,并且將控制傳遞給功能塊875。功能塊875從文件中去除樣本,并且將控制傳遞給功能塊880。功能塊880更新樣本表格以指示去除的樣本,并且將控制傳遞給功能塊840?,F(xiàn)在將描述本發(fā)明的許多伴隨的優(yōu)點(diǎn)/特征中的一些,其中一些以上已經(jīng)提及。例如,一個(gè)優(yōu)點(diǎn)/特征在于一種包括接收器和文件修補(bǔ)器的裝置。接收器用于接收其中包括容器文件的分組,識(shí)別這些分組中的任何發(fā)生了分組丟失的分組,并且識(shí)別受分組丟失影響的、具有在識(shí)別出的分組中包括的數(shù)據(jù)的至少一個(gè)樣本。該至少一個(gè)樣本分別對(duì)應(yīng)于特定容器文件。文件修補(bǔ)器用于針對(duì)該至少一個(gè)樣本修復(fù)該特定容器文件。另一個(gè)優(yōu)點(diǎn)/特征在于如上所述的具有接收器和文件修補(bǔ)器的裝置,其中,文件修補(bǔ)器通過從該特定容器文件中去除該至少一個(gè)樣本來修復(fù)該特定容器文件,并且更新該特定容器文件的樣本表格來指示該至少一個(gè)樣本的去除。另一個(gè)優(yōu)點(diǎn)/特征在于所述具有接收器和文件修補(bǔ)器的裝置,其中,如上所述,文件修補(bǔ)器通過從該特定容器文件中去除該至少一個(gè)樣本來修復(fù)該特定容器文件,并且更新該特定容器文件的樣本表格來指示該至少一個(gè)樣本的去除,其中,文件修補(bǔ)器更新該樣本表格中的后續(xù)樣本的偏移量,以考慮到該至少一個(gè)樣本的去除。另外,另一個(gè)優(yōu)點(diǎn)/特征在于所述具有接收器和文件修補(bǔ)器的裝置,其中,如上所述,文件修補(bǔ)器更新該樣本表格中的后續(xù)樣本的偏移量,以考慮到該至少一個(gè)樣本的去除,其中,文件修補(bǔ)器從后續(xù)樣本的偏移量中減去該至少一個(gè)樣本的大小。另外,另一個(gè)優(yōu)點(diǎn)/特征在于如上所述的具有接收器和文件修補(bǔ)器的裝置,其中,文件修補(bǔ)器通過利用填充比特內(nèi)容替換該至少一個(gè)樣本來修復(fù)該特定容器文件。另外,另一個(gè)優(yōu)點(diǎn)/特征在于如上所述的具有接收器和文件修補(bǔ)器的裝置,其中,接收器基于分組長(zhǎng)度、源塊號(hào)、容器文件樣本表格樣本偏移量值以及容器文件樣本表格樣本大小中的至少一種來識(shí)別這些分組中的任何發(fā)生了分組丟失的分組。此外,另一個(gè)優(yōu)點(diǎn)/特征在于如上所述的具有接收器和文件修補(bǔ)器的裝17置,其中,接收器通過利用分組參數(shù)和容器文件格式樣本表格參數(shù)中的至少一種分別判定在這些分組中的每一個(gè)中包括的字節(jié)和這些容器文件中相應(yīng)一個(gè)中的相應(yīng)樣本之間是否存在任何重疊,來識(shí)別這些分組中的任何發(fā)生了分組丟失的分組,并且將所述多個(gè)分組中的在存在重疊時(shí)的任何分組識(shí)別為遭受分組丟失。另外,另一個(gè)優(yōu)點(diǎn)/特征在于如上所述的具有接收器和文件修補(bǔ)器的裝置,其中,該至少一個(gè)樣本包括部分接收的樣本和完全缺失的樣本中的任何一種,并且文件修補(bǔ)器設(shè)置與該至少一個(gè)樣本相對(duì)應(yīng)的網(wǎng)絡(luò)抽象層單元頭部中的比特來指示該至少一個(gè)樣本是損壞的。另外,另一個(gè)優(yōu)點(diǎn)/特征在于如上所述的具有接收器和文件修補(bǔ)器的裝置,其中,文件修補(bǔ)器在與該至少一個(gè)樣本相對(duì)應(yīng)的至少一個(gè)網(wǎng)絡(luò)抽象層單元中將forbidden一zero—bit設(shè)置為1,來指示該至少一個(gè)樣本是損壞的。另外,另一個(gè)優(yōu)點(diǎn)/特征在于如上所述的具有接收器和文件修補(bǔ)器的裝置,其中,文件修補(bǔ)器在對(duì)該特定容器文件進(jìn)行解碼之前對(duì)其進(jìn)行修復(fù)。此外,另一個(gè)優(yōu)點(diǎn)/特征在于如上所述的具有接收器和文件修補(bǔ)器的裝置,其中,該至少一個(gè)樣本包括部分接收的樣本和完全缺失的樣本中的任何一種。有關(guān)領(lǐng)域的普通技術(shù)人員基于這里的教導(dǎo)可以很容易確定這里的原理的這些和其他特征和優(yōu)點(diǎn)。應(yīng)當(dāng)理解,這里的原理的教導(dǎo)可以通過各種形式的硬件、軟件、固件、專用處理器或其組合來實(shí)現(xiàn)。最優(yōu)選地,這里的原理的教導(dǎo)可實(shí)現(xiàn)為硬件和軟件的組合。另外,軟件可以實(shí)現(xiàn)為有形地包含在程序存儲(chǔ)單元上的應(yīng)用程序。應(yīng)用程序可被上載到包括任何合適的體系結(jié)構(gòu)的機(jī)器并被該機(jī)器運(yùn)行。優(yōu)選地,機(jī)器可以實(shí)現(xiàn)在具有諸如一個(gè)或多個(gè)中央處理單元("CPU")、隨機(jī)訪問存儲(chǔ)器("RAM")和輸入/輸出("I/O")接口之類的硬件的計(jì)算機(jī)平臺(tái)上。計(jì)算機(jī)平臺(tái)還可包括操作系統(tǒng)和微指令代碼。這里描述的各種過程和功能可以是微處理器代碼的一部分或者應(yīng)用程序的一部分,或者其任何組合,其可被CPU運(yùn)行。此外,諸如額外的數(shù)據(jù)存儲(chǔ)單元和打印單元之類的各種其他外圍單元可連接到計(jì)算機(jī)平臺(tái)。不應(yīng)當(dāng)理解,因?yàn)楦綀D中示出的構(gòu)成系統(tǒng)的組件和方法中的一些優(yōu)選地是用軟件來實(shí)現(xiàn)的,所以系統(tǒng)組件或過程功能塊之間的實(shí)際連接可能依據(jù)這里的原理被編程的方式而有所不同。有了這里的教導(dǎo),有關(guān)領(lǐng)域的普通技術(shù)人員將能夠設(shè)想這里的原理的這些和類似實(shí)現(xiàn)方式或配置。雖然已經(jīng)參考附圖描述了說明性實(shí)施例,但是應(yīng)當(dāng)理解,這里的原理并不限于這些確切的實(shí)施例,有關(guān)領(lǐng)域的普通技術(shù)人員可在其中實(shí)現(xiàn)各種變化和修改,而不脫離這里的原理的范圍或精神。所有這種變化和修改都意圖被包括在所附權(quán)利要求所限定的這里的原理的范圍之內(nèi)。權(quán)利要求1.一種裝置,包括接收器(140),用于接收其中包括多個(gè)容器文件的多個(gè)分組,識(shí)別所述多個(gè)分組中的任何發(fā)生了分組丟失的分組,識(shí)別受所述分組丟失影響的、具有在識(shí)別出的分組中包括的數(shù)據(jù)的至少一個(gè)樣本,該至少一個(gè)樣本分別對(duì)應(yīng)于特定容器文件;以及文件修補(bǔ)器(150),用于針對(duì)所述至少一個(gè)樣本修復(fù)所述特定容器文件。2.如權(quán)利要求1所述的裝置,其中,所述文件修補(bǔ)器(150)通過從所述特定容器文件中去除所述至少一個(gè)樣本來修復(fù)所述特定容器文件,并且更新所述特定容器文件的樣本表格來指示所述至少一個(gè)樣本的去除。3.如權(quán)利要求2所述的裝置,其中,所述文件修補(bǔ)器(150)更新所述樣本表格中的后續(xù)樣本的偏移量,以考慮到所述至少一個(gè)樣本的去除。4.如權(quán)利要求3所述的裝置,其中,所述文件修補(bǔ)器(150)從所述后續(xù)樣本的偏移量中減去所述至少一個(gè)樣本的大小。5.如權(quán)利要求1所述的裝置,其中,所述文件修補(bǔ)器(150)通過利用填充比特內(nèi)容替換所述至少一個(gè)樣本來修復(fù)所述特定容器文件。6.如權(quán)利要求1所述的裝置,其中,所述接收器(140)基于分組長(zhǎng)度、源塊號(hào)、容器文件樣本表格樣本偏移量值以及容器文件樣本表格樣本大小中的至少一種來識(shí)別所述多個(gè)分組中的任何發(fā)生了分組丟失的分組。7.如權(quán)利要求1所述的裝置,其中,所述接收器(140)通過利用分組參數(shù)和容器文件格式樣本表格參數(shù)中的至少一種,分別判定在所述多個(gè)分組中的每一個(gè)中包括的字節(jié)和所述多個(gè)容器文件中相應(yīng)一個(gè)中的相應(yīng)樣本之間是否存在任何重疊,來識(shí)別所述多個(gè)分組中的任何發(fā)生了分組丟失的分組,并且將所述多個(gè)分組中的在存在重疊時(shí)的任何分組識(shí)別為遭受分組丟失。8.如權(quán)利要求1所述的裝置,其中,所述至少一個(gè)樣本包括部分接收的樣本和完全缺失的樣本中的任何一種,并且所述文件修補(bǔ)器(150)設(shè)置與所述至少一個(gè)樣本相對(duì)應(yīng)的網(wǎng)絡(luò)抽象層單元頭部中的比特來指示所述至少一個(gè)樣本是損壞的。9.如權(quán)利要求1所述的裝置,其中,所述文件修補(bǔ)器(150)在與所述至少一個(gè)樣本相對(duì)應(yīng)的至少一個(gè)網(wǎng)絡(luò)抽象層單元中將forbidden—zero—bit設(shè)置為l,來指示所述至少一個(gè)樣本是損壞的。10.如權(quán)利要求1所述的裝置,其中,所述文件修補(bǔ)器(150)在對(duì)所述特定容器文件進(jìn)行解碼之前對(duì)所述特定容器文件進(jìn)行修復(fù)。11.如權(quán)利要求1所述的裝置,其中,所述至少一個(gè)樣本包括部分接收的樣本和完全缺失的樣本中的任何一種。12.—種方法,包括接收其中包括多個(gè)容器文件的多個(gè)分組;識(shí)別所述多個(gè)分組中的任何發(fā)生了分組丟失的分組(725);識(shí)別受所述分組丟失影響的、具有在識(shí)別出的分組中包括的數(shù)據(jù)的至少一個(gè)樣本,該至少一個(gè)樣本分別對(duì)應(yīng)于特定容器文件(730);以及針對(duì)所述至少一個(gè)樣本修復(fù)所述特定容器文件(800)。13.如權(quán)利要求12所述的方法,其中,所述修復(fù)步驟包括去除所述至少一個(gè)樣本(875),并且更新所述特定容器文件的樣本表格來指示所述至少一個(gè)樣本的去除(880)。14.如權(quán)利要求13所述的方法,其中,所述修復(fù)步驟包括更新所述樣本表格中的后續(xù)樣本的偏移量,以考慮到所述至少一個(gè)樣本的去除(880)。15.如權(quán)利要求14所述的方法,其中,所述修復(fù)步驟包括從所述后續(xù)樣本的偏移量中減去所述至少一個(gè)樣本的大小(880)。16.如權(quán)利要求12所述的方法,其中,所述修復(fù)步驟包括利用填充比特內(nèi)容替換所述至少一個(gè)樣本(865)。17.如權(quán)利要求12所述的方法,其中,所述識(shí)別所述多個(gè)分組中的任何發(fā)生了分組丟失的分組的步驟使用分組長(zhǎng)度、源塊號(hào)、容器文件樣本表格樣本偏移量值以及容器文件樣本表格樣本大小中的至少一種(725)。18.如權(quán)利要求12所述的方法,其中,所述識(shí)別所述多個(gè)分組中的任何發(fā)生了分組丟失的分組的步驟包括利用分組參數(shù)和容器文件格式樣本表格參數(shù)中的至少一種,分別判定在所述多個(gè)分組中的每一個(gè)中包括的字節(jié)和所述多個(gè)容器文件中相應(yīng)一個(gè)中的相應(yīng)樣本之間是否存在任何重疊,,并且將所述多個(gè)分組中的在存在重疊時(shí)的任何分組識(shí)別為遭受分組丟失(730)。19.如權(quán)利要求12所述的方法,其中,所述修復(fù)步驟包括設(shè)置與所述至少一個(gè)樣本相對(duì)應(yīng)的網(wǎng)絡(luò)抽象層單元頭部中的比特來指示所述至少一個(gè)樣本是損壞的(835)。20.如權(quán)利要求12所述的方法,其中,所述修復(fù)步驟包括在與所述至少一個(gè)樣本相對(duì)應(yīng)的至少一個(gè)網(wǎng)絡(luò)抽象層單元中將forbidden一zero一bit設(shè)置為l,來指示所述至少一個(gè)樣本是損壞的(835)。21.如權(quán)利要求12所述的方法,其中,所述修復(fù)步驟是在所述特定容器文件的解碼之前執(zhí)行的。22.如權(quán)利要求12所述的方法,其中,所述至少一個(gè)樣本包括部分接收的樣本和完全缺失的樣本中的任何一種。全文摘要提供了用于對(duì)具有丟失的分組的容器文件中包括的樣本進(jìn)行修復(fù)的方法和裝置。該裝置接收器(140)和文件修補(bǔ)器(150)。接收器(140)用于接收其中包括容器文件的分組,識(shí)別這些分組中的任何發(fā)生了分組丟失的分組,并且識(shí)別受分組丟失影響的、具有在識(shí)別出的分組中包括的數(shù)據(jù)的至少一個(gè)樣本。該至少一個(gè)樣本分別對(duì)應(yīng)于特定容器文件。文件修補(bǔ)器(150)用于針對(duì)該至少一個(gè)樣本修復(fù)該特定容器文件。文檔編號(hào)H04N7/64GK101513075SQ200780032627公開日2009年8月19日申請(qǐng)日期2007年8月21日優(yōu)先權(quán)日2006年8月29日發(fā)明者吉爾·麥克唐納·伯恩斯,布萊恩·大衛(wèi)·安德森申請(qǐng)人:湯姆遜許可證公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1