亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于媒體信號的壓縮域編碼設(shè)備和方法

文檔序號:7851200閱讀:235來源:國知局
專利名稱:用于媒體信號的壓縮域編碼設(shè)備和方法
技術(shù)領(lǐng)域
本公開總體上涉及媒體測定(metering),更具體地講,涉及用于對壓縮媒體信號進(jìn)行編碼的編碼設(shè)備、方法和制品。
背景技術(shù)
對諸如電視和/或收音機節(jié)目消費的觀眾媒體消費活動的監(jiān)視或測定通常涉及在前端分配站處對廣播媒體進(jìn)行編碼。通常,該編碼處理編碼或嵌入信息,這些信息例如是用于識別各個廣播源或站和/或特定節(jié)目的輔助碼、時間戳信息、或者對于識別和分析觀 眾的媒體消費活動和/或特征有用的任何其他信息。聯(lián)邦通信委員會要求電視臺轉(zhuǎn)變到高級電視標(biāo)準(zhǔn)委員會(ATSC)數(shù)字電視(DTV)服務(wù)的命令已經(jīng)使得許多電視網(wǎng)絡(luò)提供商采用新的分配模型,這些新分配模型改變了提供給本地聯(lián)播臺(affiliate)以分配給消費場所(例如,消費者家庭)的網(wǎng)絡(luò)饋送的特征。例如,在一些情況下,媒體內(nèi)容以預(yù)打包的ATSC運動圖像專家組版本2 (MPEG-2) DTV格式從網(wǎng)絡(luò)初始源經(jīng)由本地聯(lián)播臺而分配到消費場所。換言之,媒體內(nèi)容在整個該分配過程中都是以壓縮數(shù)字格式提供并保持該格式,并且僅在其最終消費目的地(例如,消費者家庭)處被解壓縮和解碼。以這種壓縮格式分配媒體內(nèi)容能夠顯著降低高清晰度節(jié)目內(nèi)容的傳輸成本(例如,降低與必須購買衛(wèi)星帶寬等相關(guān)聯(lián)的成本),并且能夠通過將高清晰度節(jié)目內(nèi)容傳送給消費者所需的聯(lián)播臺來降低資本支出(例如,設(shè)備購買)。另外,在這些壓縮內(nèi)容分配系統(tǒng)中,本地聯(lián)播臺或最終分配者能夠使用MPEG接合器(splicer)等插入本地內(nèi)容(例如,本地節(jié)目、商業(yè)廣告等),這不需要對從上游網(wǎng)絡(luò)提供商接收的壓縮媒體信號進(jìn)行解壓縮和/或解碼。電視臺的向基于壓縮媒體內(nèi)容分配的分配模型的上述轉(zhuǎn)變將使得利用測定數(shù)據(jù)(例如,輔助碼、時間戳等)對媒體信號進(jìn)行編碼的任務(wù)復(fù)雜化。例如,一些已知系統(tǒng)通過如下方式利用將本地聯(lián)播臺識別為最終分配者的一個或更多個碼對經(jīng)由該聯(lián)播臺發(fā)送的媒體進(jìn)行編碼利用所述識別碼對媒體信號的未壓縮版本的音頻部分進(jìn)行編碼。然而,在本地聯(lián)播臺接收壓縮格式(例如,MPEG-2格式)的網(wǎng)絡(luò)廣播媒體內(nèi)容的情況下,本地聯(lián)播臺或最終分配者不能容易地訪問從上游網(wǎng)絡(luò)提供商接收的壓縮媒體信號的未壓縮音頻部分。更具體地講,在符合MPEG-2的媒體信號的情況下,該媒體信號是在基于包的傳輸流或數(shù)字?jǐn)?shù)據(jù)流中提供的,所述流可以攜帶多個節(jié)目,從而可以攜帶多個視頻和/或音頻流。該音頻流通常是由彼此交織的壓縮音頻數(shù)據(jù)(例如,AC-3格式的)包和各種其他類型的包(例如,視頻包、節(jié)目關(guān)聯(lián)表(PAT)包、節(jié)目和系統(tǒng)信息協(xié)議(PSIP)包、節(jié)目映射表(PMT)包等)組成的。無論如何,本地聯(lián)播臺或分配者通常無法容易地、實時地對一個或更多個壓縮音頻流進(jìn)行解壓縮,利用測定數(shù)據(jù)對那些解壓縮的流進(jìn)行編碼,以及對經(jīng)編碼的流進(jìn)行重新壓縮。


圖I示出了使用本文中描述的示例編碼方法、設(shè)備和制品的示例媒體監(jiān)視系統(tǒng);圖2是示出了在傳輸流內(nèi)可以對構(gòu)成媒體流的幀的包進(jìn)行交織的示例方式的圖;圖3是圖I所示的編碼器的示例實現(xiàn)的詳細(xì)框圖;圖4是示出了可由圖3所示的示例編碼器執(zhí)行的示例編碼處理的流程圖;圖5是示出了可由圖3的包存儲器執(zhí)行以識別用于處理的下一傳輸流包的示例處理的詳細(xì)流程圖; 圖6是示出了可用于實現(xiàn)圖5的緩沖器管理器指針請求處理的示例處理的詳細(xì)流程圖;圖7是示出了可用于實現(xiàn)圖4的解析/處理包處理的示例處理的詳細(xì)流程圖;圖8是示出了可用于實現(xiàn)圖7的解析片斷邊界的包有效載荷的處理的示例處理的詳細(xì)流程圖;圖9是示出了可由圖3的保持隊列用來從圖7的示例解析/處理包處理接收包對象的示例處理的詳細(xì)流程圖;圖10是示出了可用于實現(xiàn)從圖4的保持隊列處理去除幀的示例處理的詳細(xì)流程圖;圖11是示出了可用于實現(xiàn)圖4的發(fā)送包的塊的示例處理的詳細(xì)流程圖;圖12是示出了傳輸流中的節(jié)目、構(gòu)成這些節(jié)目的基本流、以及主要/次要頻道對之間的關(guān)系的示例的框圖;以及圖13是可用于實現(xiàn)圖3的示例編碼器設(shè)備的一個或更多個功能塊和/或圖4到11所示的示例處理的一個或更多個塊的示例處理器系統(tǒng)的框圖。
具體實施例方式盡管本文中描述的示例系統(tǒng)除了其他部件之外還包括在硬件上執(zhí)行的軟件,但是這些系統(tǒng)僅僅是例示性的而不應(yīng)被視為限制。例如,可以想到,可以全部以專用硬件、全部以軟件、全部以固件、或者以硬件、固件和/或軟件的某些組合來實施任何或所有公開的硬件和軟件組件。此外,盡管以下公開是針對示例的電視和收音機系統(tǒng)而作出的,但是應(yīng)該明白,所公開的系統(tǒng)可以容易地應(yīng)用于許多其他媒體系統(tǒng)。因此,盡管下面描述了示例系統(tǒng)和處理,但是本領(lǐng)域的普通技術(shù)人員會容易明白,所公開的示例不是實現(xiàn)這些系統(tǒng)的僅有方式。通常,本文中描述的示例設(shè)備、方法以及制品可用于插入、嵌入或編碼壓縮媒體信號(例如,壓縮數(shù)字傳輸流)中的數(shù)據(jù),所述數(shù)據(jù)諸如媒體源標(biāo)識符、時間戳、可選音頻、或任何其他信息。在本文中所描述的特定實施例中,壓縮數(shù)字傳輸流是包含至少一個AC-3格式音頻流的MPEG-2傳輸流(例如,符合ATSC標(biāo)準(zhǔn)、DVB-T標(biāo)準(zhǔn)等)。然而,在本文中描述的設(shè)備、方法和制品還可以適用于包括相似或不同類型的音頻和/或視頻數(shù)據(jù)的其他壓縮數(shù)字?jǐn)?shù)據(jù)格式。如下面更加詳細(xì)地描述的,該示例編碼設(shè)備、方法以及制品使得能夠?qū)Πǘ鄠€媒體流(例如,與一個或更多個節(jié)目相關(guān)聯(lián)的多個視頻和/或音頻流)的壓縮數(shù)字傳輸流進(jìn)行編碼或修改,而不需要對該數(shù)字傳輸流內(nèi)的數(shù)據(jù)進(jìn)行解復(fù)用、解碼、和/或解壓縮。此外,本文中描述的實施例在保持傳輸流內(nèi)的原始數(shù)據(jù)的大小(例如,字節(jié)寬度)和位置的同時對該傳輸流中的數(shù)據(jù)進(jìn)行編碼。結(jié)果,在本文中描述的實施例能夠用于例如對MPEG數(shù)據(jù)流進(jìn)行編碼,而不會改變組成該數(shù)據(jù)流的多個組成部分的定時。在一個實施例中,通過對選擇的音頻數(shù)據(jù)包加水印來執(zhí)行編碼。在另一實施例中,通過將數(shù)據(jù)插入音頻數(shù)據(jù)幀的擴展輔助數(shù)據(jù)字段中來執(zhí)行編碼。在又一實施例中,使用水印和輔助數(shù)據(jù)字段數(shù)據(jù)插入的組合來執(zhí)行編碼。盡管媒體編碼經(jīng)常涉及插入或嵌入代表媒體源信息、媒體消費信息等的碼值,但是本文中描述的設(shè)備、方法和制品也可用于執(zhí)行其他類型的編碼或?qū)ζ渌愋偷男畔⑦M(jìn)行編碼。例如,本文中描述的設(shè)備、方法和制品可以用于對諸如選擇的音頻數(shù)據(jù)包中的可選音頻(例如,語音信息)的其他信息進(jìn)行編碼(例如,插入)。不管編碼的信息的類型為何,本文中描述的示例編碼設(shè)備、方法和制品對一段多節(jié)目數(shù)字?jǐn)?shù)據(jù)流或傳輸流進(jìn)行緩沖,并且選擇性地對該段緩沖的傳輸流進(jìn)行解析以提取壓縮音頻數(shù)據(jù)包的副本,這些壓縮音頻數(shù)據(jù)包中的每個可以包含與一個或更多個組成音頻數(shù)據(jù)流相關(guān)聯(lián)的數(shù)據(jù)。將復(fù)制的壓縮音頻數(shù)據(jù)包在原始數(shù)字傳輸流內(nèi)的位置存儲以供在后續(xù) 重新插入或復(fù)制處理期間進(jìn)行參考。本文中描述的實施例將復(fù)制的壓縮音頻數(shù)據(jù)包拼合到各個幀中,這些幀中的每個幀與所述多個音頻數(shù)據(jù)流之一相關(guān)聯(lián)。當(dāng)拼合出一完整的幀時(即,利用相關(guān)音頻數(shù)據(jù)包或片斷(slice)的副本),該幀被編碼有測定數(shù)據(jù)(例如,源標(biāo)識符、時間戳等)。然后,將該經(jīng)編碼的幀分解成其組成數(shù)據(jù)片斷,然后利用所存儲的位置數(shù)據(jù)將這些組成數(shù)據(jù)片斷中的每個復(fù)制到其在該段緩沖的原始傳輸流中的對應(yīng)位置上。然后,將緩沖的傳輸流的所有待編碼音頻包都已被完全編碼的部分(例如,連續(xù)的包序列)釋放并且進(jìn)行發(fā)送或廣播。該緩沖的傳輸流的釋放部分的大小可以從單個傳輸包到多個傳輸包變化。因此,本文中描述的示例編碼設(shè)備、方法以及制品可用于逐幀地對多節(jié)目數(shù)字傳輸流內(nèi)的一個或更多個選擇的壓縮數(shù)據(jù)流進(jìn)行編碼以及逐包地發(fā)送經(jīng)編碼的數(shù)字傳輸流的部分?,F(xiàn)在轉(zhuǎn)到圖1,示例媒體測定系統(tǒng)100包括媒體分配機構(gòu)102、至少一個被監(jiān)視媒體消費場所104、以及中心數(shù)據(jù)收集機構(gòu)106。通常,媒體分配機構(gòu)102被配置為對包含視頻和/或音頻內(nèi)容的一個或更多個媒體信號進(jìn)行編碼以及將其廣播或發(fā)送到被監(jiān)視消費場所104 (例如,家庭)。繼而,被監(jiān)視消費場所104被配置為從與被監(jiān)視消費場所104相關(guān)聯(lián)的一個或更多個調(diào)查對象或回應(yīng)者所消費(即,觀看、收聽等)的媒體信號中提取經(jīng)編碼的數(shù)據(jù)或信息。然后,可將提取出的經(jīng)編碼的數(shù)據(jù)傳送到中心數(shù)據(jù)收集機構(gòu)106并且對其進(jìn)行分析以確定觀看行為,更一般地講,即確定與調(diào)查對象、多個消費場所等相關(guān)聯(lián)的媒體消費活動的特征、模式等。媒體分配機構(gòu)102可以置于多級媒體分配系統(tǒng)內(nèi)的任一點或級處。例如,媒體分配機構(gòu)102可以是隸屬于或以其他方式與國家廣播公司相關(guān)聯(lián)的在地理上位于本地的廣播站。在此情況下,媒體分配機構(gòu)102從國家廣播公司接收一個或更多個媒體信號以經(jīng)由線纜、無線地或以任何其他方式分配給特定地理服務(wù)區(qū)域中的客戶。此外,媒體分配機構(gòu)102還可以產(chǎn)生或提供諸如本地新聞、商業(yè)廣告、社區(qū)服務(wù)節(jié)目等的本地媒體內(nèi)容或節(jié)目,以分別地在不同的本地頻道進(jìn)行廣播和/或插入從國家廣播公司接收的媒體內(nèi)容和頻道中。
媒體分配機構(gòu)102包括提供諸如音頻和/或視頻節(jié)目、網(wǎng)頁、靜止圖像或任何其他可消費音頻信息、圖像信息等的媒體內(nèi)容的多個媒體源108和110。在一個實施例中,由位于整個媒體分配系統(tǒng)上游的媒體分配實體提供媒體源108。例如,媒體源108可以是國家廣播公司或另一相似的前端媒體源。在媒體源108是上游實體的情況下,媒體源108可以使用一個或更多個壓縮數(shù)字?jǐn)?shù)據(jù)流以提供一個或更多個媒體信號112。這些壓縮數(shù)字?jǐn)?shù)據(jù)流一般稱作傳輸流,這是因為這些壓縮數(shù)字?jǐn)?shù)據(jù)流被專門配置為對信息進(jìn)行打包和/或封裝以經(jīng)由通信鏈路進(jìn)行可靠傳輸。因此,在本文的整個描述中,可以互換地使用術(shù)語“傳輸流”和“數(shù)據(jù)流”。由媒體源108提供的傳輸流112可以具有任何期望的格式或協(xié)議。然而,在本文中描述的實施例中,媒體源108被配置為提供符合MPEG的傳輸流。MPEG是一種眾所周知的壓縮數(shù)字?jǐn)?shù)據(jù)傳輸標(biāo)準(zhǔn),該標(biāo)準(zhǔn)使得能夠在單個數(shù)據(jù)流內(nèi)傳輸多個音頻和/或視頻節(jié)目。結(jié)果,由媒體源108提供的傳輸流112可以稱作多節(jié)目傳輸流,該多節(jié)目傳輸流例如包括多個廣播頻道(該多個廣播頻道中的每個可以與在特定時間廣播的特定媒體節(jié)目相關(guān)聯(lián)),并且 傳送音頻和/或視頻信息。在一些實施例中,媒體源108提供符合ATSC的MPEG-2傳輸流,在其他實施例中,媒體源108提供符合DVB-TMPEG-2的傳輸流。由媒體源108提供的傳輸流112由數(shù)字?jǐn)?shù)據(jù)包的序列組成,其中的一些數(shù)字?jǐn)?shù)據(jù)包包含與一個或更多個節(jié)目、頻道等相關(guān)聯(lián)的視頻信息。傳輸流內(nèi)的其他數(shù)據(jù)包包含音頻信息或節(jié)目,該音頻信息或節(jié)目可以與視頻節(jié)目或信息分離或者另選地是視頻節(jié)目或信息的一部分。換言之,傳輸流內(nèi)的音頻數(shù)據(jù)包可以與電視節(jié)目的音頻部分相關(guān)聯(lián),或者另選地可以是沒有視頻組成部分的收音機節(jié)目。另外,傳輸流112內(nèi)的其他數(shù)據(jù)包包含配置信息、與傳輸流112內(nèi)的各種數(shù)據(jù)包之間的關(guān)系有關(guān)的信息等。具體地講,在媒體源108提供符合MPEG-2的傳輸流的情況下,傳輸流112包含PSIP表、節(jié)目關(guān)聯(lián)表(PAT)、以及節(jié)目映射表(PMT),所有這些表可用于將特定數(shù)據(jù)包與特定的主要和/或次要頻道相關(guān)聯(lián),將包含音頻信息(例如,AC-3包)的特定數(shù)據(jù)包與對應(yīng)的視頻包或節(jié)目等相關(guān)聯(lián)。與媒體源108相比,媒體源110位于分配機構(gòu)102本地。例如,媒體源110可以是數(shù)字多功能盤播放器、包含存儲的音頻和/或視頻信息的硬盤驅(qū)動器、錄像帶回放裝置等。在一些實施例中,媒體源Iio提供模擬媒體信號114,該模擬媒體信號114被傳送到MPEG編碼器116以轉(zhuǎn)換成與由媒體源108提供的傳輸流112在格式上相似或相同的數(shù)字?jǐn)?shù)據(jù)流或傳輸流118。傳輸流112和118被提供給復(fù)用器120,該復(fù)用器120對流112和118進(jìn)行復(fù)用以形成單個多節(jié)目傳輸流122。壓縮域編碼器124接收該多節(jié)目傳輸流122并且對該多節(jié)目傳輸流122進(jìn)行編碼以包括源標(biāo)識符、時間戳、和/或與經(jīng)由傳輸流122提供的音頻和/或視頻內(nèi)容的源、類型或性質(zhì)有關(guān)的任何其他信息。如以上一般性地指出以及下面更詳細(xì)地描述的,壓縮域編碼器124對多節(jié)目數(shù)字傳輸流122中的信息進(jìn)行實時編碼(例如,插入、嵌入等),而不需要對包含其中的數(shù)字信息進(jìn)行解壓縮或解碼。更具體地講,在本文中描述的實施例中,壓縮域編碼器124對多節(jié)目傳輸流122進(jìn)行解析以識別與一個或更多個壓縮音頻數(shù)據(jù)流(其中的每個可以與不同的頻道或節(jié)目相關(guān)聯(lián))相關(guān)聯(lián)的數(shù)據(jù)包。在傳輸流122是符合MPEG-2的數(shù)據(jù)流的一個實施例中,由編碼器124識別的音頻包是AC-3格式的音頻數(shù)據(jù)包,每個AC-3格式的音頻數(shù)據(jù)包具有4字節(jié)的報頭和184字節(jié)的有效載荷。然而,本文中描述的設(shè)備、方法和制品可以更一般地適用于與其他音頻數(shù)據(jù)包格式、協(xié)議等一起使用。一旦被編碼器124識別,音頻數(shù)據(jù)包或其部分就被復(fù)制并存儲在多個幀緩沖器之一中,所述多個緩沖器中的每一個唯一地對應(yīng)于一特定音頻數(shù)據(jù)流(例如,特定頻道或節(jié)目)。這樣,編碼器124使用幀緩沖器來重新拼合與多節(jié)目傳輸流122內(nèi)的一個或更多個節(jié)目或頻道相關(guān)聯(lián)的一個或更多個音頻數(shù)據(jù)幀的副本。每個識別的音頻數(shù)據(jù)包可以包含一個或更多個數(shù)據(jù)片斷。例如,一些識別的音頻數(shù)據(jù)包可以包含與來自一特定音頻流的兩個音頻幀相關(guān)聯(lián)的音頻信息。復(fù)制并存儲在幀緩沖器中的信息的部分在整個說明書中被稱作片斷,其中,特定音頻流的任何給定幀由多個片斷組成,取決于這些片斷是包含關(guān)于多個音頻幀的信息的數(shù)據(jù)包的一部分還是包含僅關(guān)于單個音頻幀的信息的數(shù)據(jù)包的一部分,該多個片斷可以具有不同的數(shù)據(jù)寬度(例如,不同數(shù)量的數(shù)據(jù)字節(jié))。當(dāng)壓縮域編碼器124已經(jīng)拼合了任一其幀緩沖器內(nèi)的一完整幀的副本時,對該幀副本進(jìn)行編碼(例如,插入、嵌入信息等)以包括源識別信息(例如,識別廣播公司、分配級別等的信息)、時間戳、和/或任何其他期望信息。當(dāng)壓縮域編碼器124將幀的片斷復(fù)制并保存在各個幀緩沖器中時,將每個片斷在多節(jié)目傳輸流122內(nèi)的原始位置與該片斷相關(guān)聯(lián)地保存。然后,編碼器124能夠?qū)⒔?jīng)編碼的幀的各個片斷插入其在多節(jié)目傳輸流122的先前緩沖的部分或段內(nèi)的對應(yīng)原始位置。因此,編碼器124逐幀地對壓縮數(shù)字音頻幀進(jìn)行編碼,并且以保持傳輸流122內(nèi)的包的大小和利用傳輸流122包含的數(shù)據(jù)的定時的方式將經(jīng)編碼的信息插入原始多節(jié)目傳輸流122中。編碼器124監(jiān)視編碼版本的傳輸流122,以確定是否應(yīng)將經(jīng)編碼的傳輸流的一個或更多個包傳送到發(fā)送器126。如下面更詳細(xì)地描述的,編碼器124僅依次釋放來自經(jīng)編碼的傳輸流的多個包(或單個包)的鄰接塊,并且僅釋放編碼處理不再需要的那些包。因此,由于構(gòu)成傳輸流122內(nèi)的音頻幀的音頻包通常是交織的,所以由編碼器124執(zhí)行的編碼處理可以針對暫時位于尚未完成編碼活動的包之后的包,完成其編碼活動。轉(zhuǎn)到圖2,由編碼器124 (圖I)處理的一段示例多節(jié)目傳輸流122 (圖I)包括28個傳輸包或數(shù)據(jù)包。在傳輸流122是MPEG-2數(shù)據(jù)流的情況下,可以在作為AC-3包的傳輸流中攜帶一個或更多個音頻流。如在圖2的示例中所描述的,第一音頻流的第一幀128由與包1、5、9、11和15相對應(yīng)的片斷組成。相似地,第二音頻流的第一幀130由與傳輸包6、12、16、18和22相對應(yīng)的片斷組成。因此,幀128和130中的每個都由五個片斷組成,其中幀128和130中的每個的第一和第五片斷僅由其對應(yīng)包的一部分組成。例如,第一音頻流的第一幀128的第一和第五片斷分別對應(yīng)于傳輸包I和11的一部分。如所示出的,第一和第二音頻流的第二幀132和134由至少對應(yīng)于包15、19、22和23的片斷組成。幀132和134的其余片斷可以對應(yīng)于在第二十八個包之后出現(xiàn)的傳輸包。因此,諸如包15和22的某些包(例如,僅有一部分用于組成各個片斷的那些包)被給定音頻流的不同幀共用。幀128、130、132和134中的每個可以與一巾貞緩沖器相關(guān)聯(lián)。例如,第一音頻流的第一巾貞128和第二幀132的片斷可以存儲在第一幀緩沖器中,第二音頻流的第一幀130和第二幀134的片斷可以存儲在第二幀緩沖器中。此外,圖2中的不與幀128、130、132和134之一相關(guān)聯(lián)的那些包可以與音頻流的不用被編碼的音頻包、視頻包、PMT包、PSIP包、PAT包等相關(guān)聯(lián)。在編碼處理期間,編碼器124 (圖I)在完成其余音頻幀130、132和134的副本之前拼合出第一個流的第一幀128的完整副本。因此,編碼器124按需要利用識別信息對幀、128進(jìn)行編碼,并且將經(jīng)編碼的幀的片斷替換、復(fù)制或覆寫到傳輸流中的在復(fù)制處理期間獲得這些片斷的原始數(shù)據(jù)包位置。例如,將經(jīng)編碼的幀128的第一片斷返回或復(fù)制到包I的位置,將第二片斷復(fù)制到包5的位置,將第三片斷復(fù)制到包9的位置,將第四片斷復(fù)制到包11的位置,并且將第五片斷復(fù)制到包15的位置。在處理了傳輸流的包I至15之后并且在對第一個流的第一幀128進(jìn)行了編碼之后,編碼器124可以確定可將該傳輸流的哪個部分(如果存在的話)釋放或傳送到發(fā)送器126(圖I)。在該實施例中,盡管編碼器124已對包I至15中的包進(jìn)行了復(fù)制和編碼,但是編碼器124還沒有對例如包6進(jìn)行編碼,因為直到包22被編碼器124進(jìn)行處理,第二個流的第一幀130的副本才完成。因此,編碼器124還不能向發(fā)送器126傳送包6。因此,在該實施例中,編碼器124僅將包I至5傳送到發(fā)送器126,這是因為完成任何其他幀的編碼處理都不再需要這些包。從以上實施例可以看出,編碼器124被配置為逐幀地(B卩,一次一幀)對多節(jié)目傳輸流122進(jìn)行編碼,并且逐包地(B卩,一次一個或更多個包)發(fā)送經(jīng)編碼的傳輸流。下面結(jié)合圖3至12來提供對包交織影響對幀進(jìn)行編碼的順序的方式以及釋放和/或發(fā)送經(jīng)編碼的傳輸流的包的方式的更加詳細(xì)的討論。 再次詳細(xì)地參照圖1,發(fā)送器126經(jīng)由通信鏈路150將傳輸流122的經(jīng)編碼的部分或塊(例如,一個或更多個包)發(fā)送到接收器152 (例如,機頂盒)。通信鏈路150可以是無線鏈路(例如,衛(wèi)星鏈路、射頻鏈路等)、硬連鏈路(例如,線纜鏈路)、或者它們的任意組合。接收器152可以提供使消費場所104處的人能夠調(diào)諧到特定頻道或節(jié)目的多種調(diào)諧功能。此夕卜,接收器152可以提供諸如圖形節(jié)目指南的多種用戶接口特性、用于防止特定頻道和/或節(jié)目被未授權(quán)地觀看的安全特性、配置指令和/或菜單等。接收器152連接到媒體呈現(xiàn)裝置154,該媒體呈現(xiàn)裝置154可以是視頻監(jiān)視器、包括揚聲器的電視機、或者能夠以可由人消費的方式呈現(xiàn)音頻和/或視頻信息的任何其他裝置。接收器152還連接到測定裝置156,該測定裝置156被配置為對由編碼器124編碼在多節(jié)目傳輸流122中的信息進(jìn)行解碼或提取。因此,由測定裝置156提取出的信息可以包括由編碼器124插入的源標(biāo)識符(SID)、時間戳、或者由編碼器124嵌入或以其他方式插入傳輸流122中的任何其他信息。此外,測定裝置156還可以關(guān)聯(lián)本地產(chǎn)生的信息,諸如與消費經(jīng)由媒體呈現(xiàn)裝置154呈現(xiàn)的媒體的一個或更多個人相關(guān)聯(lián)的識別信息(例如,姓名、人口統(tǒng)計信息等)。此外,測定裝置156還可以包括與SID相關(guān)聯(lián)的本地產(chǎn)生的時間信息(例如,時間戳)或者與在消費場所104處消費的節(jié)目、頻道等相關(guān)聯(lián)的其他信息。測定裝置156被配置為周期性地或基本連續(xù)地將其提取或收集的媒體消費信息經(jīng)由通信接口 158和通信鏈路160傳送到數(shù)據(jù)收集機構(gòu)106。通信接口 158可以是調(diào)制解調(diào)器或任何其他合適的裝置。通信鏈路160可以包括硬連和無線鏈路的任何期望組合和/或例如包括電話網(wǎng)絡(luò)、線纜網(wǎng)絡(luò)、互聯(lián)網(wǎng)等的網(wǎng)絡(luò)。數(shù)據(jù)收集機構(gòu)106包括處理系統(tǒng)162和連接到該處理系統(tǒng)162的數(shù)據(jù)庫164。處理系統(tǒng)162被配置為對由消費場所104發(fā)送至其的信息以及由一個或更多個其他消費場所(未示出)發(fā)送的信息一起進(jìn)行分析。例如,處理系統(tǒng)162可以被配置為執(zhí)行統(tǒng)計分析以幫助評估特定消費者群體(例如,人口統(tǒng)計群體)、特定地理區(qū)域的媒體消費行為、消費趨勢、模式等、或者與測定廣播媒體相關(guān)聯(lián)的任何其他期望信息。圖3是圖I的壓縮域編碼器124的詳細(xì)示例功能框圖。如上面一般性地指出的,圖3的示例編碼器124的各種功能塊協(xié)作或者互操作以對在壓縮數(shù)字傳輸流內(nèi)傳輸?shù)囊粋€或更多個音頻流進(jìn)行實時編碼,而不必對該傳輸流進(jìn)行解壓縮或解碼,并且不改變利用該傳輸流包含的數(shù)據(jù)的大小和/或定時。此外,如上面指出的,圖3的示例編碼器的塊逐幀地對一個或更多個音頻流進(jìn)行編碼,并且逐包地傳送或發(fā)送壓縮數(shù)字傳輸流的經(jīng)編碼的部分或塊。詳細(xì)參照圖3,流讀取器300接收多節(jié)目傳輸流122 (圖I)并且經(jīng)由緩沖器管理器304將包含一個或更多個傳輸包的塊寫入或存儲到輸入緩沖器302。獲得傳輸流包并將其寫入輸入緩沖器302的處理是由流讀取器300相對于由示例編碼器124的其余塊和/或處理所執(zhí)行的處理異步地執(zhí)行的。輸入緩沖器302被實現(xiàn)為環(huán)形緩沖器,該環(huán)形緩沖器可被限定為具有預(yù)定大小(例如,數(shù)據(jù)字節(jié)的寬度)并且存在于存儲器裝置、多個存儲器裝置、專用硬件裝置等之內(nèi)的特定區(qū)域中。因此,如果輸入緩沖器302的大小被確定為保持來自傳輸流122 (圖I)的N個包,則包I到包N被順序?qū)懭胼斎刖彌_器302,從而包I位于第一緩沖器位置處而包N位于最后一個緩沖器位置處。然后,當(dāng)流讀取器300接收到包Ν+1、Ν+2、Ν+3等并且將其寫入 緩沖器302時,緩沖器管理器304用包N+1的內(nèi)容來覆寫第一緩沖器位置(其中當(dāng)前存儲有包1),用包N+2的內(nèi)容來覆寫第二緩沖器位置(其中當(dāng)前存儲有包2),等等。選擇輸入緩沖器302的長度或大小(例如,字節(jié)的數(shù)量),從而使得在這里描述的編碼處理不再需要要被覆寫的包數(shù)據(jù)之后,將包數(shù)據(jù)良好地覆寫。因此,至少部分地根據(jù)幀數(shù)據(jù)在傳輸流122內(nèi)進(jìn)行交織的方式以及與由圖3的示例編碼器124的功能塊執(zhí)行的各種處理相關(guān)聯(lián)的處理延遲,來確定輸入緩沖器302的大小。為了使流讀取器300的操作與編碼器124的其他功能塊的操作協(xié)調(diào)或同步(例如,串行化),緩沖器管理器304保持虛擬緩沖器306。通過結(jié)合下面描述的編碼器124的各種處理或操作將變得更加清楚的是,虛擬緩沖器306提供使多個異步處理訪問存儲在輸入緩沖器302 (如上所述被實現(xiàn)為環(huán)形緩沖器(即,物理緩沖器))中的部分?jǐn)?shù)據(jù)的能力。與輸入緩沖器302不同,虛擬緩沖器306不與存儲器的特定塊或部分相關(guān)聯(lián)。代替地,使用三個計數(shù)器來實現(xiàn)該虛擬緩沖器306。具體地講,第一計數(shù)器對由流讀取器300讀取并由緩沖器管理器304寫入輸入緩沖器302的字節(jié)的累積總數(shù)量進(jìn)行計數(shù)。第二計數(shù)器對緩沖器管理器304已經(jīng)傳送到下面詳細(xì)描述的傳輸解析功能的字節(jié)的累積總數(shù)量進(jìn)行計數(shù)。最后,第三計數(shù)器對緩沖器管理器304已釋放以寫入經(jīng)編碼的傳輸流的字節(jié)的累積總數(shù)量進(jìn)行計數(shù)。除了實現(xiàn)經(jīng)由緩沖器管理器304訪問輸入緩沖器302的處理的協(xié)條或同步以外,可以分析輸入緩沖器302和虛擬緩沖器306之間的特定關(guān)系以識別錯誤狀況和/或評估由圖3中的示例編碼器124的功能塊執(zhí)行的各種處理的相對性能特征。例如,第一和第三計數(shù)器之間的差表示由于處理、高速緩沖等導(dǎo)致的合計流延遲。因此,當(dāng)?shù)谝缓偷谌嫈?shù)器之間的差超過輸入緩沖器302的大小時,發(fā)生緩沖器上溢狀況。換言之,合計流延遲超過傳輸流的能夠緩沖在輸入緩沖器302中的部分的大小。這種狀況可能是嚴(yán)重錯誤,因為它表示流讀取器300正在以超過編碼處理對包進(jìn)行處理的速率的速率將傳輸包存儲在輸入緩沖器302中。在另一實施例中,如果第一和第三計數(shù)器之間的差等于零(即,這兩個計數(shù)器值相等),則發(fā)生緩沖器下溢狀況。這種狀況不是錯誤,因為它表示編碼處理至少與流讀取器300 一樣快地運行。在又一實施例中,第二和第三計數(shù)器之間的差表不與用于執(zhí)行于此描述的編碼處理的包高速緩沖相關(guān)聯(lián)的流延遲。盡管虛擬緩沖器306并非是真正無限的,但是出于實用目的,可以使其基本上無限。例如,如果用于虛擬緩沖器306的三個計數(shù)器采用64位計數(shù)器來實現(xiàn),則以每秒2,500, 000字節(jié)的速率將花費大約234,000年來填滿虛擬緩沖器306 (即,組成虛擬緩沖器306的一個或更多個計數(shù)器發(fā)生翻轉(zhuǎn)(roll-over))。通過傳輸流處理器308、傳輸解析器310、包存儲器312、包保持隊列314和幀存儲器316的協(xié)同操作,對存儲在輸入緩沖器302中的該段多節(jié)目傳輸流122 (圖I)進(jìn)行解析和編碼。使用這些塊執(zhí)行的解析和編碼操作相對于流讀取器300的操作是異步的,因此,依靠緩沖器管理器304的同步或協(xié)調(diào)能力來控制該解析操作和編碼操作與輸入緩沖器302以及存儲在其中的包數(shù)據(jù)進(jìn)行交互的方式。通常,傳輸流處理器308 —次一包地向包存儲器312請求包信息。響應(yīng)于來自傳輸流處理器308的對包信息的請求,包存儲器312提供包含與輸入緩沖器302中的要解析和處理(例如,在該包是與要被編碼的音頻流相關(guān)聯(lián)的壓縮音頻包的情況下,潛在地進(jìn)行編碼)的下一傳輸包有關(guān)的信息的封裝數(shù)據(jù)結(jié)構(gòu)(例如,面向?qū)ο蟮臄?shù)據(jù)結(jié)構(gòu))。在本文中描述的實施例中,包存儲器312保持有包對象的數(shù)組(S卩,面向?qū)ο蟮臄?shù)據(jù)結(jié)構(gòu)),其中的每個包對象能夠用于暫時保持與當(dāng)前存在于輸入緩沖器302中的單個傳輸包有關(guān)的信息。更具體地講,當(dāng)傳輸流處理器308向包存儲器312請求包信息時,包存儲器312選擇可用包對象(即,來自其包對象數(shù)組的可供使用的包對象)以保持關(guān)于尚未進(jìn)行解析、處理、編碼等的傳輸包的信息。然后,包存儲器312與緩沖器管理器304進(jìn)行通信以獲得用于識別輸入緩沖器302中的下一傳輸包的位置的指針信息。包存儲器312利用該指針信息來構(gòu)建(populate)所選擇的包對象,從而使該包對象代表輸入緩沖器302中的下一傳輸包。使用包含在其中的包對象和指針顯著地減小了必須從輸入緩沖器302復(fù)制或傳送到編碼器124內(nèi)的另一存儲器位置的數(shù)據(jù)(例如,傳輸包內(nèi)容)的量。如下面更加詳細(xì)地描述的,由傳輸解析器310、幀存儲器316和包保持隊列314執(zhí)行的傳輸包解析、編碼以及其他處理操作中的許多處理操作能夠使用由包存儲器312提供的包對象來執(zhí)行,從而實現(xiàn)了對輸入緩沖器302中的傳輸包的處理,而不必將來自輸入緩沖器302的傳輸包內(nèi)容物理地復(fù)制或傳送到編碼器124中的其他存儲器位置。存儲器復(fù)制或傳送操作的這種減少顯著地提高了編碼器124能夠處理傳輸流包的速率并且提高了編碼器124的實時處理能力。在包存儲器312分配用于保持傳輸包信息的包對象已被編碼器124完全處理之后,可以重用或循環(huán)使用這些包對象。因此,由包存儲器312保持的包對象數(shù)組中的包對象能夠被使用多次用以暫時保持關(guān)于許多傳輸包的信息。由傳輸流處理器308從包存儲器312接收的各個包對象被傳送到傳輸解析器310以進(jìn)行解析和/或其他處理。傳輸解析器310使用從傳輸流處理器308接收的各個包對象中的信息(例如,指針信息)來識別存儲在與該包對象相關(guān)聯(lián)的傳輸包中的信息的類型。更具體地講,傳輸處理器310使用包對象中的指針信息來讀取傳輸包報頭信息,該傳輸包報頭信息繼而被用于識別存儲在傳送包中的信息的類型。在本文中描述的實施例中,傳輸解析器310尋找與選擇進(jìn)行編碼的一個或更多個特定音頻流相關(guān)聯(lián)的壓縮音頻包(例如,AC-3 包)。
除了對報頭信息進(jìn)行解析以外,傳輸解析器310還對識別進(jìn)行編碼的各個壓縮音頻包進(jìn)行解析。具體地講,傳輸解析器310對選擇的壓縮音頻包進(jìn)行解析以識別片斷邊界(即,傳輸包內(nèi)的音頻幀之間的邊界)。使用該識別出的片斷邊界,傳輸解析器310建立與要編碼的音頻流相關(guān)聯(lián)的音頻幀的副本。傳輸解析器310使用由幀存儲器316提供的幀緩沖器對象來建立和保持音頻幀的副本。更具體地講,傳輸解析器310針對要編碼的每個音頻流建立一個幀緩沖器,并且使用與要編碼的音頻幀的片斷相關(guān)聯(lián)的包對象來將與這些包對象相對應(yīng)的傳送包的內(nèi)容(例如,音頻有效載荷數(shù)據(jù))推送到對應(yīng)的幀緩沖器上。傳輸解析器310還可以處理其他類型的傳輸包(B卩,包含要編碼的壓縮音頻以外的信息的傳輸包),諸如包含PAT信息、PMT信息以及PSIP信息的包。具體地講,PAT、PMT和PSIP信息可以用于將SID與用于識別要編碼的音頻流的特定節(jié)目、頻道、和/或音頻PID等相關(guān)聯(lián)。將由傳輸解析器310處理的所有包對象(不管這些包對象代表選擇進(jìn)行編碼的壓縮音頻包還是其他類型的包)壓入包保持隊列314。然而,將關(guān)聯(lián)或代表包含要編碼的壓縮音頻數(shù)據(jù)的傳輸包(即,具有已經(jīng)被壓入包保持隊列314中的隊列之一中的內(nèi)容的那些包) 的包對象標(biāo)記或以其他方式識別為“待編輯”,這指示這些包要被編碼,但是將所有其他包對象標(biāo)記或以其他方式識別為“通過”,這指示這些包不用編碼。因此,包保持隊列314保持與存儲在輸入緩沖器302中的傳輸包序列的至少一部分相對應(yīng)的包對象序列。然而,如下面更加詳細(xì)地描述的,對于除了與要編碼的壓縮音頻幀相關(guān)聯(lián)的那些包對象以外的所有包對象,釋放這些包對象以供包存儲器312重用。盡管釋放了這些包對象以供包存儲器312重用,但是包保持隊列314通過存儲由與所釋放的包對象相對應(yīng)的各個傳輸包所占用的虛擬緩沖器306的最后一個字節(jié)的標(biāo)識,來保持被這些釋放的對象所引用的包。除了接收所有包對象(即,不管它們被識別為“通過”對象還是“待編輯”對象)以夕卜,包保持隊列314還針對要編碼的每個壓縮音頻流保持一個隊列。具體地講,每個隊列包括與特定音頻流相關(guān)聯(lián)的包對象,并且可以包括與壓縮音頻數(shù)據(jù)的兩個幀相對應(yīng)的多個包對象。因此,每個包對象對應(yīng)于壓縮音頻幀的單個片斷,或者在過渡包的情況下,對應(yīng)于兩個連續(xù)音頻幀中的每個幀的一個片斷。此外,如上所述并且與和所有其他類型的包相關(guān)聯(lián)的包對象相比,與要編碼的音頻幀相對應(yīng)的包對象尚未被釋放供包存儲器312重用。傳輸解析器310監(jiān)視包保持隊列314中的隊列以識別在幀緩沖器中何時可得到要編碼的幀的完整副本。當(dāng)傳輸解析器310識別出一完整幀時,傳輸解析器310對該完整幀進(jìn)行編碼(例如,插入或嵌入水印數(shù)據(jù)或其他識別信息)。這樣,傳輸解析器310逐幀地對一個或更多個音頻流進(jìn)行編碼。傳輸解析器310與緩沖器管理器304協(xié)作地將經(jīng)編碼的幀的每個片斷復(fù)制到存儲在輸入緩沖器302中的傳輸包流中的各自原始位置。換言之,傳輸解析器310將經(jīng)編碼的片斷數(shù)據(jù)覆寫在輸入緩沖器302中與原始片斷數(shù)據(jù)相對應(yīng)的位置處。在傳輸解析器310將來自幀緩沖器的經(jīng)編碼的幀數(shù)據(jù)復(fù)制或覆寫到輸入緩沖器302之后(即,使用經(jīng)編碼的幀數(shù)據(jù)的片斷來覆寫存儲在輸入緩沖器302中的原始傳輸流中的對應(yīng)片斷),傳輸解析器310指示包保持隊列314從分配用于保持與最初從其復(fù)制了該幀的音頻流相關(guān)聯(lián)的包對象的隊列中去除與該幀相對應(yīng)的包對象。在包保持隊列314從傳輸解析器310接收到去除包對象的指令后,包保持隊列314確定包保持隊列314當(dāng)前保持的最舊包在其包對象隊列中的任一隊列中的位置。換言之,包保持隊列314檢查包保持隊列314所保持的包序列(與輸入緩沖器302中的包序列的至少一部分或一段相對應(yīng)的包序列),以確定可以釋放和發(fā)送所保持的哪一部分包。具體地說,包保持隊列314逐包地按順序?qū)λ3值陌M(jìn)行有效檢查,以確定可以釋放和發(fā)送所保持的包序列的哪一部分(如果存在的話)。例如,包保持隊列314可能確定僅可釋放所保持的最舊包,或者另選的是,例如可能確定可釋放和發(fā)送最舊的15個包。在任何情況下,一旦包保持隊列314識別出要釋放和發(fā)送的包,包保持隊列314就指示包寫入隊列318將這些包提供給流寫入器320,流寫入器320將包信息傳送給發(fā)送器126 (圖I)。通常,包寫入隊列318與緩沖器管理器304進(jìn)行協(xié)作來為流寫入器320識別輸入緩沖器302中的要傳送以供發(fā)送的包的物理位置。結(jié)合圖3描述的各個塊的操作可以利用使用任何期望的編程語言和/或技術(shù)的機器或處理器可執(zhí)行計算機代碼或軟件指令來實現(xiàn)。本文中描述的實施例采用面向?qū)ο缶幊碳夹g(shù)并且例如使用有助于實現(xiàn)結(jié)合圖3所描述的各個塊的封裝數(shù)據(jù)結(jié)構(gòu)(B卩,對象)。然而,除了本文中具體描述的編程技術(shù)以外,還可以使用任何其他編程技術(shù),或者可以使用任何其他編程技術(shù)來替代本文中特別描述的編程技術(shù)。另外或者另選的是,結(jié)合圖3描述的各 個塊可以使用任何期望類型的硬件(例如,ASIC、數(shù)字邏輯電路、模擬電路等)或硬件的組合來實現(xiàn)。此外,如下面更加詳細(xì)地描述的,在圖3的示例框圖中所描述的許多塊產(chǎn)生和/或傳送指向輸入緩沖器302內(nèi)的包數(shù)據(jù)的指針,而非傳送實際的數(shù)據(jù)或傳輸包內(nèi)容。例如,針對要由傳輸解析器310處理或解析的每個傳輸包,緩沖器管理器304將這種指針傳送到包存儲器312。然而,僅有要編碼的包(例如,僅有與要編碼的音頻流相對應(yīng)的AC-3包)需要將實際傳輸包內(nèi)容復(fù)制到由傳輸解析器310管理的幀隊列,以及接下來將經(jīng)編碼的幀數(shù)據(jù)復(fù)制回存儲在輸入緩沖器302中的該段傳輸流中。所有其他傳輸包內(nèi)容或數(shù)據(jù)(諸如視頻包數(shù)據(jù))可以保留在輸入緩沖器302中的適當(dāng)位置處。因此,由于要編碼的壓縮音頻包通常構(gòu)成整個傳輸流的相對較小的一部分,所以可以顯著提高能夠(例如,實時地)處理傳輸流的有效速率。除了要編碼的壓縮音頻包以外,可以按已知方式由狀態(tài)機來處理與特定的其他包(諸如包含PMT數(shù)據(jù)、PSIP數(shù)據(jù)、PAT數(shù)據(jù)等的包)相關(guān)聯(lián)的數(shù)據(jù)。如下所述,可使用這種另外的數(shù)據(jù)來識別哪個音頻流要進(jìn)行編碼,以將SID與特定頻道等相關(guān)聯(lián)。然而,這種另外的數(shù)據(jù)通常僅構(gòu)成包含在傳輸流內(nèi)的數(shù)據(jù)的一小部分(例如,與傳輸流中的視頻數(shù)據(jù)的量相比),因此,對這種另外的數(shù)據(jù)的復(fù)制不會顯著降低使用本文中描述的示例設(shè)備、方法和制品而能夠?qū)鬏斄鬟M(jìn)行編碼的速率。圖4示出了可由圖3所示的示例編碼器124執(zhí)行的示例編碼處理400。圖4所示的各個塊或操作可以被實現(xiàn)為可以存儲在存儲器上并且例如被處理器執(zhí)行的機器可讀和可執(zhí)行指令或代碼。另選的是,可以使用專用硬件裝置(例如,ASIC)來實現(xiàn)圖4所示的一些或所有塊。在一個或更多個塊代表機器可讀和可執(zhí)行指令或代碼的情況下,這些塊可以使用諸如圖13所示的示例處理器系統(tǒng)1302的處理器系統(tǒng)來實現(xiàn)。另外或另選的是,圖4所示的塊中的一個或更多個可以使用圖3所示的示例編碼設(shè)備124的一個或更多個塊來實現(xiàn)。通常,圖4的示例編碼處理400順序地處理和解析壓縮數(shù)字傳輸流(諸如符合MPEG-2的傳輸流或數(shù)據(jù)流)的包。如下面更加詳細(xì)地描述的,將所選擇的包(例如,與一個或更多個選擇的音頻流相關(guān)聯(lián)的壓縮音頻包)的內(nèi)容收集到各個幀中。當(dāng)每個收集的幀完成時,利用識別信息(例如,SID、時間戳等)和/或任何其他信息對其進(jìn)行編碼。可使用任何期望的編碼處理對壓縮音頻數(shù)據(jù)的收集的幀進(jìn)行編碼。然而,在本文中描述的實施例中,水印編碼技術(shù)和/或?qū)?shù)據(jù)插入輔助數(shù)據(jù)字段中的技術(shù)在與本文中描述的編碼設(shè)備、方法和制品一起使用時特別有用。不管使用哪種幀編碼技術(shù),以保持原始傳輸流的定時和包大小(即,字節(jié)長度)的方式將構(gòu)成經(jīng)編碼的幀的片斷插入(例如,覆寫)到其在傳輸流中的原始位置。將傳輸流的完成了編碼操作的部分(例如,單個包或多個連續(xù)包)釋放并且發(fā)送到例如另一個媒體分配機構(gòu)和/或一個或更多個消費場所(例如,家庭、商業(yè)設(shè)施等)。因此,圖4中的示例編碼處理可以用于逐幀地對一個或更多個壓縮音頻流進(jìn)行編碼,并且可以逐包地釋放和發(fā)送經(jīng)編碼的傳輸流的部分。這種逐幀編碼以及逐包釋放和發(fā)送技術(shù)使得能夠?qū)Π鄠€媒體流(例如,多個音頻和/或視頻數(shù)據(jù)流)的壓縮數(shù)字?jǐn)?shù)據(jù)流或傳輸流進(jìn)行有效的實時處理和編碼,特別是在構(gòu)成要編碼的那些媒體流的傳輸包在傳輸流內(nèi)被暫時 交織的情況下。詳細(xì)參照圖4,示例編碼處理400識別輸入緩沖器302 (圖3)內(nèi)要進(jìn)行處理、解析等的下一個包(塊402)。通常,通過按順序識別輸入緩沖器302內(nèi)要處理的下一個包(例如,通過圖3的緩沖器管理器304),將包對象(例如,代表包的面向?qū)ο蟮臄?shù)據(jù)結(jié)構(gòu))分配給該下一個包(例如,通過包存儲器312),以及將與輸入緩沖器302中的下一個包的位置相對應(yīng)的指針信息存儲在該包對象中(例如,通過包存儲器312),來執(zhí)行該識別操作(塊402)。然后將得到的包括指針信息的包對象傳送到包解析/處理操作(例如,經(jīng)由傳輸流處理器308傳送到傳輸解析器310)。在圖3的示例編碼器124的情況下,按以下方式執(zhí)行塊402的識別處理。傳輸流處理器308向包存儲器312請求用于解析和/或處理的下一個傳輸包。包存儲器312分配用于表示下一個傳輸包的可用包對象并且向緩沖器管理器304請求指針信息。繼而,緩沖器管理器304獲得關(guān)于要處理、解析等的下一個包的指針信息并且將該指針信息提供給包存儲器312。包存儲器312將該指針信息存儲在分配的包對象中并且將該包對象提供給傳輸流處理器308。然后,傳輸流處理器308將該包對象(包括關(guān)于下一個傳輸包的指針信息)提供給傳輸解析器310。當(dāng)然,另選的是,可以使用由諸如圖13的系統(tǒng)1302的處理器系統(tǒng)執(zhí)行的機器可讀指令來執(zhí)行與塊402的識別處理相關(guān)聯(lián)的一個或更多個活動。下面結(jié)合圖5來描述塊402的識別操作的更詳細(xì)的示例。當(dāng)在塊402處識別了輸入緩沖器302 (圖3)中的下一個包之后,對所識別的包進(jìn)行解析和/或處理(塊404)。通常,在塊404處執(zhí)行的操作使用從塊402接收的包信息來識別要解析/處理的包的類型并且基于該包類型來解析和/或處理所述包信息。如下面結(jié)合圖7更加詳細(xì)地描述的,僅選擇所選擇的音頻流中的壓縮音頻包(例如,在對符合MPEG的傳輸流進(jìn)行解析/處理的情況下為AC-3包)進(jìn)行編碼。將這些要編碼的包復(fù)制并分解到它們的組成片斷中,其中的每個組成片斷存儲在對應(yīng)于與這些片斷相關(guān)聯(lián)的音頻流的幀緩沖器中。如上所述,對于要編碼的每個音頻流存在一個幀緩沖器,因此,每個幀緩沖器僅保持屬于同一壓縮音頻流的片斷。不例編碼處理400然后確定(例如,通過傳輸解析器310)任一巾貞緩沖器內(nèi)的任一當(dāng)前幀是否準(zhǔn)備好進(jìn)行編碼(即,該幀是否完整)(塊406)。當(dāng)組成一幀的所有片斷都已存儲在其對應(yīng)幀緩沖器中時,該幀準(zhǔn)備好進(jìn)行編碼。如果在塊406處當(dāng)前幀準(zhǔn)備好進(jìn)行編碼,則例如使用水印處理(諸如在國際專利申請第PCT/US04/18953號中公開的水印處理,通過應(yīng)用將其整個公開合并于此)對該幀進(jìn)行編碼(例如,通過傳輸解析器310)(塊408)。另外或另選的是,可以使用擴大輔助數(shù)據(jù)字段并將信息插入該擴大的輔助數(shù)據(jù)字段中的數(shù)據(jù)插入技術(shù)來執(zhí)行該編碼(塊408)。這種數(shù)據(jù)插入技術(shù)的示例公開于國際專利申請第PCT/US03/28037號中,通過應(yīng)用將其整個公開合并于此。然而,除了上面特別提到的編碼方法以夕卜,還可以使用適于對壓縮數(shù)字?jǐn)?shù)據(jù)進(jìn)行編碼的任何其他的期望編碼方法,或者用來代替上面特別提到的編碼方法。
在對當(dāng)前幀進(jìn)行了編碼(塊408)之后,示例編碼處理400將經(jīng)編碼的幀數(shù)據(jù)復(fù)制到輸入緩沖器302 (圖3)(塊410)。更具體地講,將經(jīng)編碼的幀每個片斷復(fù)制(例如,覆寫)到原始傳輸流中的在塊404處的解析和/或其他處理期間從其復(fù)制了該片斷的位置(例如,通過傳輸解析器310和緩沖器管理器304)。如上所述,可以在一個或更多個其他相似或不同類型的傳輸包(例如,視頻、與其他音頻流相關(guān)聯(lián)的壓縮音頻、PMT包、PSIP包、PAT包等)之間對構(gòu)成任何給定幀的片斷進(jìn)行交織。此外,如上所述,要編碼的傳輸包可以包括來自一音頻流的不同幀的片斷。例如,音頻流的第一幀的最后一片斷以及下一或第二幀的第一片斷均可與同一原始傳輸包相關(guān)聯(lián)。在該情況下,該要編碼的傳輸包可以被稱作過渡包,并且如下面更加詳細(xì)地描述的,僅當(dāng)為過渡包貢獻(xiàn)片斷的所有幀都已被編碼時,才釋放該過渡包以進(jìn)行發(fā)送。因此,在以上示例中,必須在釋放該過渡包以進(jìn)行發(fā)送之前將第一和第二幀編碼。在與經(jīng)編碼的幀相關(guān)聯(lián)的片斷被復(fù)制(例如,覆寫)到輸入緩沖器302 (圖3)中的原始傳輸流之后,示例編碼處理400 (例如,通過傳輸解析器310和包保持隊列314)從保持隊列中去除經(jīng)編碼的幀信息(塊412)。例如,在示例編碼器124 (圖3)使用該保持隊列(314)內(nèi)的包對象的情況下,將與組成要去除的幀的對象相關(guān)聯(lián)的包對象釋放以供包存儲器312重用。然而,如果要釋放的幀的末尾是一過渡包,則與該過渡包相關(guān)聯(lián)的包對象未被釋放。這樣,示例編碼器124確保了在釋放該過渡包之前該過渡包被完全編碼(S卩,確保了構(gòu)成該過渡包的所有片斷被編碼)。下面結(jié)合圖10提供幀去除處理(塊412)的示例實現(xiàn)的更詳細(xì)的描述。當(dāng)在塊412處從保持隊列中去除了所述包對象之后,幀緩沖器(保持有與去除的包對象相關(guān)聯(lián)的內(nèi)容)被清除,并且下一個幀的第一片斷被復(fù)制到該幀緩沖器中(塊413)。如果在塊406中沒有準(zhǔn)備好進(jìn)行編碼的當(dāng)前幀或者在執(zhí)行塊413處的操作之后,示例編碼處理400確定是否存在準(zhǔn)備好進(jìn)行發(fā)送(例如,準(zhǔn)備好進(jìn)行廣播)的一個或更多個包(塊414)。例如,在圖3的示例編碼設(shè)備124的情況下,包保持隊列314和包寫入隊列318進(jìn)行協(xié)作來識別輸入緩沖器302中最舊的保持字節(jié)(其必然是最舊的保持包的一部分)。該最舊的保持字節(jié)之前的連續(xù)塊或序列的傳輸包是完全編碼的包,因此,可以被發(fā)送而不會影響對任何剩余字節(jié)或包的編碼。因此,最舊的保持字節(jié)之前的連續(xù)塊或序列的傳輸包隨后能夠被安全地發(fā)送(塊416)(例如,通過圖3的流寫入器320)。如以上一般性地指出的,在任何給定時刻,可能沒有包、有一個包或者有多個包準(zhǔn)備好進(jìn)行發(fā)送。然而,如果在塊414沒有包準(zhǔn)備好或者如果準(zhǔn)備好的包已被發(fā)送(塊416),則示例編碼處理400確定在輸入緩沖器302中是否存在更多要處理的包(塊418)。如果存在更多要處理的包,則控制返回到塊402。另一方面,如果不再有要處理的包,則編碼處理400可以停止并且/或者控制可以返回到另一處理。圖5是可由包存儲器312 (圖3)和/或處理器系統(tǒng)1302 (圖13)執(zhí)行用以識別輸入緩沖器302中的用于進(jìn)行解析和/或處理的下一個包的示例處理500 (圖4的塊402)的流程圖。示例處理500最初等待傳輸包請求(塊502)。例如,如結(jié)合圖3的示例編碼器124所描述的,傳輸流處理器308向包存儲器312請求下一個包,并且當(dāng)包存儲器312接收到該請求時,包存儲器312識別下一可用包對象(塊504)。在識別出下一可用包對象(塊504)之后,示例處理500向緩沖器管理器304請求一指針(塊506)。如下面結(jié)合圖6更詳細(xì)地描述的,在圖3的示例編碼設(shè)備124的情況下,緩沖器管理器指針請求處理506包括緩沖器管理器304從包存儲器312接收指針請求并且發(fā)放指向輸入緩沖器302中的下一包報頭的指針。緩沖器管理器指針請求處理506將指向下一包報頭的該指針返回,并且包存儲處理500將該返回的指針分配給所識別的包對象(塊508)。緩沖器管理器304使用虛擬緩沖器306以確保傳送到包對象的指針實際上是準(zhǔn) 備好進(jìn)行解析的有效傳輸包。示例處理500然后確定包括該返回的指針信息的包對象是否對應(yīng)于最后一個包(塊510)。如果在塊510中該包對象是最后一個包,則將指示該包對象代表最后一個包的數(shù)據(jù)存儲在該包對象中(即,將該包對象標(biāo)記為代表最后一個包)(塊512)。如果在塊510中該包對象不代表最后一個包或者如果在塊512中已將該包對象標(biāo)記為代表最后一個包,則示例處理500將由該包對象表示的包的第一和最后一個數(shù)據(jù)字節(jié)的虛擬緩沖器位置存儲在該包對象中(塊514)。當(dāng)在塊514中存儲了所述虛擬緩沖器位置之后,示例處理500確定由該包對象表示的包是否跨越輸入緩沖器302的末端(塊516)。如果該包跨越輸入緩沖器302的末端,則將表示跨越狀況的數(shù)據(jù)存儲在該包對象中(塊518)。如果在塊516中該包不跨越輸入緩沖器302的末端或者在塊518中將表不跨越狀況的數(shù)據(jù)存儲在該包對象中之后,將該包對象標(biāo)記為“使用中”(塊520)。當(dāng)在塊520中將該包對象標(biāo)記為“使用中”之后,處理500將指向該包對象的指針發(fā)放給傳輸解析器310 (塊522)并且控制返回到圖4的塊404。圖6是示出了緩沖器管理器請求處理506 (圖5)的更詳細(xì)示例的流程圖。與本文中描述的其他處理相同,示例處理600可由緩沖器管理器塊304 (圖3)和/或示例處理器系統(tǒng)1302 (圖13)來實現(xiàn)。不管具體實現(xiàn)為何,示例處理600等待傳輸包請求(塊602),并且當(dāng)接收到這種請求時,示例處理600發(fā)放指向輸入緩沖器302 (圖3)中的下一包報頭的指針(塊604)。當(dāng)在塊604發(fā)放所述指針之后,示例處理600更新與虛擬緩沖器306 (圖3)相關(guān)聯(lián)的計數(shù)器(塊606),然后對輸入緩沖器302與虛擬緩沖器306之間的關(guān)系進(jìn)行分析(塊608)。如上面結(jié)合圖3所描述的,這些分析的結(jié)果可能指示緩沖器上溢狀況(即,輸入緩沖器302的上溢)、緩沖器下溢狀況、處理延遲或其他特征等。然后,示例處理600可以確定在塊608產(chǎn)生的一個或更多個分析結(jié)果是否表示錯誤狀況(例如,緩沖器上溢狀況)(塊610)。如果在塊612識別出這種錯誤,則可以執(zhí)行錯誤處理過程(塊612)。這種錯誤處理過程(塊612)可以包括向一個或更多個用戶、系統(tǒng)操作員、技師等提供通知(例如,可視報警、可聽報警等)并且/或者可以包括諸如增大輸入緩沖器302的大小以消除上溢狀況的自動校正動作。如果在塊610沒有檢測到錯誤或者在執(zhí)行了錯誤處理過程612之后,控制返回到圖5的塊508。圖7是示出了圖4所示的傳輸包解析/處理塊404的更詳細(xì)示例的流程圖。圖7的示例中所示的各個塊或操作可由傳輸解析器310 (圖3)和/或處理器系統(tǒng)1302 (圖13)來實現(xiàn)。最始,示例處理404接收指向包對象的指針(例如,通過示例包存儲處理500)(塊702)。該包對象指針然后被用于定位和解析與該包對象相對應(yīng)的傳輸包的報頭(塊704)。該傳輸包包含在輸入緩沖器302 (圖3)中,由此報頭信息也包含在輸入緩沖器302 (圖3)中。此外,該傳輸包的報頭包含反映該傳輸包的類型的信息。例如,該報頭可以指示包有效載荷包含視頻數(shù)據(jù)、音頻數(shù)據(jù)、PMT信息、PSIP信息、PAT信息等。圖7的示例處理404讀取包報頭信息以確定包有效載荷是否包含PAT或PMT信息(塊706),并且如果該包有效載荷包含PAT或PMT信息,則該處理從其提取媒體節(jié)目信息和壓縮音頻流信息(例如,AC-3信息)(塊708)。在正在處理的傳輸流是符合MPEG-2的數(shù)據(jù)流的情況下,包報頭中為零的節(jié)目標(biāo)識符值表示該包包含PAT信息。公知的是,PAT信息包括節(jié)目編號/PMT節(jié)目標(biāo)識符(PID)對的列表,以及PMT信息提供正在處理的傳輸流內(nèi)的各組成媒體流的PID的列表。通常,示例處理404使用PAT和PMT信息來建立和保持由處理404的其他部分用來識別正在處理的傳輸流內(nèi)要編碼的壓縮音頻包的表。更具體地講,在塊710,示例處理404按需要更新PMT和PAT。例如,如果與在塊708提取的信息相關(guān)聯(lián)的版本信息指示版本已改變,則處理404更新PMT和PAT信息。在塊710處的任何所需更新之后,示例處理404使用PAT和PMT信息將壓縮音頻流(例如,AC-3流)的PID與特定節(jié)目相關(guān)聯(lián),將節(jié)目與次要頻道信息相關(guān)聯(lián),并將次要頻道信息與SID相關(guān)聯(lián),將SID與節(jié)目相關(guān)聯(lián),將SID與AC-3PID相關(guān)聯(lián),等等(塊712)。當(dāng)處理404將與該PAT或PMT包相關(guān)聯(lián)的包對象標(biāo)注或標(biāo)記為“通過”包并且將標(biāo)注或標(biāo)記的包發(fā)送到保持隊列314 (圖3)(塊714)時,對包含PAT或PMT信息的包的處理結(jié)束??梢酝ㄟ^將恰當(dāng)?shù)臉?biāo)注信息存儲在包對象中來實現(xiàn)在塊714中對包對象的標(biāo)記或標(biāo)注。如果處理404確定正在解析/處理的包不是PAT或PMT包(塊706),則示例處理404確定正在解析/處理的包是否包含PSIP信息(塊716)。如果處理404確定正在解析/處理的包包含PSIP信息,則提取頻道和節(jié)目信息(塊718)并且將其用于在塊710更新所述表。公知的是,PSIP信息將節(jié)目編號或標(biāo)識符(PID)與各個主要/次要頻道組合相關(guān)聯(lián)。此外,PSIP信息可以用于產(chǎn)生各次要頻道的各基本流的PID的列表,特別是對應(yīng)于與各個節(jié)目相關(guān)聯(lián)的壓縮音頻的PID的列表。如果示例處理404在塊716確定正在解析/處理的包不包含PSIP信息,則處理404確定該包是否包含與選擇進(jìn)行編碼的壓縮音頻流相關(guān)聯(lián)的壓縮音頻(AC-3)信息(塊720)。具體地講,在塊710更新的表和在塊712進(jìn)行的關(guān)聯(lián)可以用于在塊720識別要進(jìn)行編碼的壓縮音頻包。如果在塊720正在解析/處理的包被識別為尚未被選擇進(jìn)行編碼,則在塊714將該包的包對象標(biāo)記為“通過”并且該處理將控制返回到塊406 (圖4)。下面結(jié)合圖13提供在塊720處能夠識別要編碼的音頻包的一種方式的更詳細(xì)的描述。另一方面,如果正在解析/處理的包被識別為已被選擇進(jìn)行編碼(塊720),則示例處理404可以執(zhí)行一個或更多個錯誤校驗處理(塊721)。通常,在塊721執(zhí)行的錯誤校驗可被編碼器124 (圖I)用來確保對已選擇進(jìn)行編碼的音頻幀進(jìn)行恰當(dāng)?shù)拇笮〈_定和/或排列。例如,傳輸解析器310 (圖3)可以檢查與選擇的音頻包(例如,被識別為要編碼的AC-3包)相關(guān)聯(lián)的報頭信息,以校驗與要編碼的幀和/或編碼模式相關(guān)聯(lián)的音頻位率、幀大小、循環(huán)冗余校驗(CRC)信息。如果這些校驗中的任一個指示音頻幀被不恰當(dāng)?shù)嘏帕小⒈徊磺‘?dāng)?shù)卮_定大小和/或以任何方式損壞,則錯誤已發(fā)生并且包對象被作為“通過”發(fā)送到保持隊列(塊714)。此外,當(dāng)在塊721中檢測到錯誤的情況下,示例處理404 (例如,傳輸解析器310 (圖3))清除與從其檢測到錯誤的音頻幀相關(guān)聯(lián)的幀緩沖器,并且沖刷(flush)保持隊列314 (圖3)中的對應(yīng)包對象。當(dāng)在塊721處的錯誤檢測之后,編碼器124 (圖I)搜索下一音頻幀的開始并且重新開始編碼活動。如果在塊721沒有檢測到錯誤,則示例處理404解析片斷邊界的包有效載荷(塊722)。通常,在塊722執(zhí)行的包有效載荷解析處理將片斷邊界信息存儲在表示正在解析/ 處理的包的包對象內(nèi),以將包有效載荷的一個或更多個部分與壓縮音頻信息的一個或更多個幀進(jìn)行關(guān)聯(lián)。如結(jié)合圖8更詳細(xì)地描述的,一個包有效載荷可以包含僅與壓縮音頻流的一個幀相關(guān)聯(lián)的壓縮音頻信息,而另一個包有效載荷可以包含與壓縮音頻流的兩個幀相關(guān)聯(lián)的壓縮音頻信息。當(dāng)在塊722已對包有效載荷進(jìn)行了解析之后,示例處理404將與該有效載荷相關(guān)聯(lián)的包對象標(biāo)記為“待編輯”(即,要編碼)(塊724),并且將控制返回到圖4的塊406。如果在示例處理404期間示例編碼器124 (圖I)確定(例如,通過識別PAT、PMT和/或PSIP信息的改變)傳輸流122 (圖I)的組成已改變并且/或者流122中已發(fā)生顯著中斷,則示例編碼器124沖刷所有保持的包,將所有先前解析的數(shù)據(jù)寫入輸出流,將所有狀態(tài)機復(fù)位,清除所有內(nèi)部數(shù)據(jù)表,然后重新開始編碼活動。圖8是圖7中的示例有效載荷解析處理722的更詳細(xì)的流程圖。最初,示例有效載荷解析處理722在包有效載荷中搜索幀的開始(塊802)。具體地講,示例處理722尋找特定數(shù)據(jù)值或數(shù)據(jù)序列(例如,在符合AC-3的音頻流的情況下,序列0xb77指示幀的開始)。如果在塊804找到幀開始數(shù)據(jù)值或序列,則示例處理722確定正在解析的包是否是過渡包(即,是否是包含媒體流的多個幀的數(shù)據(jù)的包)(塊806)。如果在塊806中示例處理722確定幀開始序列與要編碼的壓縮音頻流的第一幀相關(guān)聯(lián),則要解析的包不是過渡包,并且示例處理722將第一片斷的位置和大小(例如,字節(jié)數(shù))保存在與正在解析的包相關(guān)聯(lián)的包對象中(塊808)。然后,示例處理722將分配用于保持(與正在解析/處理的包的片斷相關(guān)聯(lián)的)音頻流的幀數(shù)據(jù)的幀緩沖器清除。如上所述,各幀緩沖器被唯一地分配用以保持來自對應(yīng)音頻流的數(shù)據(jù)。另一方面,如果示例處理722在塊806確定正在解析/處理的包是過渡包(即,包含來自壓縮音頻流的兩個幀的片斷數(shù)據(jù)的包),則示例處理722將當(dāng)前幀的最后一片斷以及下一幀的第一片斷的位置和大小保存或存儲在與當(dāng)前正在解析/處理的包相關(guān)聯(lián)的包對象中(塊812)。然后,示例處理722將當(dāng)前幀的最后一片斷復(fù)制到與正在解析的包相關(guān)聯(lián)的流的幀緩沖器(塊814)。如果在塊804沒有找到幀開始,則示例處理722將當(dāng)前幀的下一片斷的位置保存在代表包含該片斷的包的包對象中。在這種情況下,該正在解析/處理的包是一延續(xù)包(即,包含僅與當(dāng)前巾貞相關(guān)聯(lián)的有效載荷)。因此,示例處理722將該包的有效載荷復(fù)制到與正在解析/處理的包(從而即音頻流)相關(guān)聯(lián)的幀緩沖器中的下一片斷。
圖9是保持隊列(圖3)從傳輸解析器310 (圖3)接收包對象的示例處理900的流程圖。更具體地講,如圖7所示,示例包解析/處理過程404將包對象作為“通過”包(塊714)或者作為“待編輯”包(塊724)發(fā)送到保持隊列。詳細(xì)參照圖9,示例保持隊列處理900確定接收到的包對象是否表示通過包(塊902)。如果該包對象代表通過包(即,不進(jìn)行編碼的包),則示例處理900確定當(dāng)前在保持隊列的至少一個中是否存在至少一個包對象,這些保持隊列中的每個對應(yīng)于一個要編碼的音頻流(塊904)。如果在塊904在保持隊列的至少一個中存在至少一個包對象,則示例處理900保存被該包占用的虛擬緩沖器306的最后一個字節(jié)的位置(塊906),指示保持該包以供以后進(jìn)行寫入或發(fā)送(塊908),并且將表示該包的包對象釋放到包存儲器312 (圖3)以供重用(塊914)。另一方面,如果在塊904中處理900確定當(dāng)前在任一保持隊列中都不存在包對象,則該處理將該包發(fā)送到包寫入隊列318 (塊910),并且將表示當(dāng)前正在處理的包的包對象釋放到包存儲器312 (塊914)。如果示例處理900在塊902確定要處理的包不是“通過”包(即,該包是“待編輯”包),則示例處理900將該包對象壓入對應(yīng)于與由該包對象表示的包相關(guān)聯(lián)的音頻流的保持隊列(塊916)。圖10是示例保持隊列幀去除處理412(圖4)的詳細(xì)流程圖。示例幀去除處理412 最初識別保持有與要去除的幀相關(guān)聯(lián)的包對象的保持隊列(塊1002)。當(dāng)在塊1002識別該隊列之后,示例幀去除處理412識別最舊包對象的幀編號(塊1004),然后從所述隊列彈出(即,去除)具有相同幀編號的包對象,留下與過渡包相關(guān)聯(lián)的任何包(即,還包含與后一幀相關(guān)聯(lián)的數(shù)據(jù)的包)(塊1006)。在塊1006彈出或去除的包對象然后被釋放到包存儲器312(圖3)以供包存儲器312重用(即,循環(huán)使用)(塊1008)。在塊1006中已彈出包的隊列上剩余的任何包對象然后被移動到其對應(yīng)隊列的頭部(塊1010),并且對剩余的過渡包對象(SP,表示包含來自兩個幀的片斷的傳輸包的包對象)進(jìn)行修改以使其僅包含當(dāng)前幀(即,僅指向當(dāng)前幀)的指針信息(塊1012)。示例處理器412跟蹤(例如,存儲或保持)從其去除了該幀的隊列中的數(shù)據(jù)的最舊字節(jié)的位置(塊1014)。然后,示例處理412在所有保持隊列中掃描數(shù)據(jù)的該整個最舊字節(jié),并且向包寫入隊列318指示現(xiàn)在寫入直到輸入緩沖器302中的最舊保持字節(jié)是安全的(塊1018)。圖11是可由包寫入隊列318 (圖3)用來執(zhí)行發(fā)送包處理416 (圖4)的示例處理1100的流程圖。示例處理1100確定是否從保持隊列314 (圖3)和/或圖10的塊1018接收到寫入指令(塊1102)。如果示例處理1100在塊1102確定已經(jīng)接收到寫入指令,則示例處理1100確定要寫入流寫入器320 (圖3)的字節(jié)數(shù)(塊1104)。示例處理1100可以通過從(保持隊列314所執(zhí)行的塊1018 (圖10)指示處理1100寫入直到的)最舊保持字節(jié)的虛擬緩沖器位置減去已寫入字節(jié)數(shù)(即,累計的寫入字節(jié)數(shù)),從而在塊1104確定要寫入的字節(jié)數(shù)。例如,如果示例處理1100確定已寫入1880字節(jié)(或10個MPEG-2包)并且從圖10的保持隊列處理接收到的寫入指令指示現(xiàn)在寫入直到虛擬緩沖器306 (圖3)的字節(jié)2256是安全的,則示例寫入隊列處理1100在塊1104確定輸入緩沖器302的接下來的376個字節(jié)要被寫入流寫入器320 (S卩,被發(fā)送)。示例處理1100然后從緩沖器管理器304 (圖3)獲得指向所釋放字節(jié)塊的指針(塊1106)。示例處理1100然后使用在塊1106獲得的指針信息來調(diào)用流寫入器320以寫入來自輸入緩沖器302 (圖3)的下一數(shù)據(jù)塊。
圖12是示出了將傳輸流節(jié)目、組成這些傳輸流節(jié)目的基本流、以及主要/次要頻道對進(jìn)行關(guān)聯(lián)的示例方式的框圖。如下面更詳細(xì)地描述的,圖12中示出的關(guān)系可以用于(例如,在圖7的塊720)對要編碼的AC-3包進(jìn)行過濾、選擇或識別。在圖12的實施例中,示出的關(guān)系通常是結(jié)合MPEG-2傳輸流所使用的那些關(guān)系?,F(xiàn)在,詳細(xì)參照圖12,在ATSC標(biāo)準(zhǔn)的PSIP中定義的PSIP地面虛擬頻道表(TVCT)1200將主要/次要頻道對與特定節(jié)目關(guān)聯(lián)。例如,在TVCT 1200的示例中,節(jié)目3對應(yīng)于主要頻道999和次要頻道I (B卩,頻道999/1),并且節(jié)目4對應(yīng)于主要頻道999和次要頻道2 (B卩,頻道999/2)更一般地說,TVCT 1200將主要/次要頻道對與存在于傳輸流(例如,圖I中的傳輸流122)中的各個節(jié)目(例如,MPEG-2節(jié)目)進(jìn)行關(guān)聯(lián)。此外,TVCT 1200還可以列出組成傳輸流內(nèi)的各個節(jié)目的基本流,這些基本流中的每個可由一傳輸PID識別。然而,在盛行的標(biāo)準(zhǔn)(例如,2003年3月18日的ATSC標(biāo)準(zhǔn)A/65B)下,示例TVCT 1200僅可選地包括在MPEG-2傳輸流中。 在圖12的實施例中,節(jié)目關(guān)聯(lián)表(PAT)1202向節(jié)目3和節(jié)目4提供用于識別各自的節(jié)目映射表(ΡΜ 1204和1206的對應(yīng)PID。PMT 1204和1206中的每個識別構(gòu)成各個節(jié)目3和節(jié)目4的對應(yīng)基本流組1208和1210。在圖12的實施例中,節(jié)目3由具有PID 0x31的視頻流、以及具有PID 0x34和0x35的兩個音頻流組成。相似地,節(jié)目4由具有PID 0x41的視頻流以及具有PID 0x44和0x45的兩個音頻流組成。在提供了節(jié)目編號(例如,MPEG-2節(jié)目編號)、主要/次要頻道對、以及組成這些節(jié)目的(例如,使用PID的)基本流之間的一些示例關(guān)系之后,現(xiàn)在描述(例如,在圖7中的塊720)使用這些關(guān)系對要編碼的AC-3包進(jìn)行過濾、選擇或識別的方式。在一個實施例中,使用包括主要頻道編號、次要頻道編號、節(jié)目編號以及基本流PID的四部分鍵(four-part key)來識別要編碼的基本流。在配置期間可以向示例編碼設(shè)備124 (圖I)提供一個或更多個這種鍵。每個這種鍵對應(yīng)于多個可用編碼方法之一。通常,各個可用編碼方法可以指定要插入到對應(yīng)于鍵的基本流中的數(shù)據(jù)的性質(zhì)。此外,在該實施例中,僅有非零鍵部分被視為進(jìn)行濾波的標(biāo)準(zhǔn)。最后,在提供了發(fā)生沖突的鍵的情況下,將與第一個提交鍵相關(guān)聯(lián)的編碼方法應(yīng)用于其對應(yīng)的基本流。下面的表I提供了可應(yīng)用于例如具有圖12所示的節(jié)目3和節(jié)目4的基本流PID、主要/次要頻道對、以及MPEG-2PAT和PMT之間的關(guān)系的傳輸流的九個示例鍵。然而,應(yīng)該認(rèn)識到,可以使用另外或另選的鍵來代替表I所示的這組鍵。
權(quán)利要求
1.一種對數(shù)字媒體信號進(jìn)行編碼的方法,該方法包括以下步驟 從所述數(shù)字媒體信號中提取壓縮媒體流的幀的副本; 對所述壓縮媒體流的所述幀的所述副本進(jìn)行編碼;以及 用所述壓縮媒體流的所述幀的經(jīng)編碼的副本的對應(yīng)部分來覆寫所述數(shù)字媒體信號的部分,以形成經(jīng)編碼的媒體信號。
2.如權(quán)利要求I所述的方法,其中,提取所述壓縮媒體流的幀的副本的步驟包括以下步驟將來自傳輸包的幀的片斷復(fù)制到幀緩沖器。
3.如權(quán)利要求2所述的方法,其中,復(fù)制所述幀的片斷的步驟包括以下步驟使用多個包對象來引用包含一段所述數(shù)字媒體信號的輸入緩沖器中的數(shù)據(jù)。
4.如權(quán)利要求I所述的方法,其中,對所述幀的所述副本進(jìn)行編碼的步驟包括以下步驟中的至少一個嵌入水印信息、或者將信息插入擴展數(shù)據(jù)字段中。
5.如權(quán)利要求I所述的方法,其中,用所述壓縮媒體信號的所述幀的經(jīng)編碼的副本的對應(yīng)部分來覆寫所述數(shù)字媒體流的部分的步驟包括以下步驟用對應(yīng)的經(jīng)編碼的片斷來覆寫所述壓縮媒體流的片斷。
6.如權(quán)利要求I所述的方法,該方法還包括以下步驟識別經(jīng)編碼的媒體信號內(nèi)準(zhǔn)備好進(jìn)行發(fā)送的一個或更多個包,其中所述一個或更多個包中的至少一個與具有尚未準(zhǔn)備好進(jìn)行發(fā)送的至少另一個包的幀相關(guān)聯(lián)。
7.如權(quán)利要求I所述的方法,其中,使用多個面向?qū)ο蟮臄?shù)據(jù)結(jié)構(gòu)來執(zhí)行所述提取、編碼、或覆寫操作中的至少一個,所述多個面向?qū)ο蟮臄?shù)據(jù)結(jié)構(gòu)中的每個對應(yīng)于所述數(shù)字媒體信號內(nèi)的一個傳輸包。
8.—種對數(shù)字媒體信號進(jìn)行編碼的設(shè)備,該設(shè)備包括 處理器,該處理器連接到存儲器,所述處理器用于執(zhí)行包括以下步驟的方法 從所述數(shù)字媒體信號中提取壓縮媒體流的幀的副本; 對所述壓縮媒體流的所述幀的所述副本進(jìn)行編碼;以及 用所述壓縮媒體流的所述幀的經(jīng)編碼的副本的對應(yīng)部分來覆寫所述數(shù)字媒體信號的部分,以形成經(jīng)編碼的媒體信號。
9.如權(quán)利要求8所述的設(shè)備,其中,所述處理器執(zhí)行的方法還包括以下步驟通過將來自傳輸包的幀的片斷復(fù)制到幀緩沖器來提取所述壓縮媒體流的幀的副本。
10.如權(quán)利要求9所述的設(shè)備,其中,所述處理器執(zhí)行的方法還包括以下步驟通過使用多個包對象來引用包含一段所述數(shù)字媒體信號的輸入緩沖器中的數(shù)據(jù),來復(fù)制所述幀的片斷。
11.如權(quán)利要求8所述的設(shè)備,其中,所述處理器執(zhí)行的方法還包括以下步驟通過嵌入水印信息或?qū)⑿畔⒉迦霐U展數(shù)據(jù)字段中這兩者的至少一個,對所述幀的所述副本進(jìn)行編碼。
12.如權(quán)利要求8所述的設(shè)備,其中,所述處理器執(zhí)行的方法還包括以下步驟通過用對應(yīng)的經(jīng)編碼的片斷來覆寫所述壓縮媒體流的片斷,從而用所述壓縮媒體流的所述幀的經(jīng)編碼的副本的對應(yīng)部分來覆寫所述數(shù)字媒體信號的部分。
13.如權(quán)利要求8所述的設(shè)備,其中,所述處理器執(zhí)行的方法還包括以下步驟識別經(jīng)編碼的媒體信號內(nèi)準(zhǔn)備好進(jìn)行發(fā)送的一個或更多個包,其中所述一個或更多個包中的至少一個與具有尚未準(zhǔn)備好進(jìn)行發(fā)送的至少另一個包的幀相關(guān)聯(lián)。
14.如權(quán)利要求8所述的設(shè)備,其中,所述處理器執(zhí)行的方法還包括以下步驟使用多個面向?qū)ο蟮臄?shù)據(jù)結(jié)構(gòu)來執(zhí)行所述提取、編碼、或覆寫操作中的至少一個,所述多個面向?qū)ο蟮臄?shù)據(jù)結(jié)構(gòu)中的每個對應(yīng)于所述數(shù)字媒體信號內(nèi)的一個傳輸包。
15.一種對媒體信號進(jìn)行編碼的方法,該方法包括以下步驟 對構(gòu)成所述媒體信號的各個傳輸包序列進(jìn)行處理,以識別與壓縮媒體流相關(guān)聯(lián)的傳輸包子集; 排列所述傳輸包子集的副本以形成所述壓縮媒體流的幀的副本; 對所述幀的所述副本進(jìn)行編碼;以及 將所述幀的經(jīng)編碼的副本的片斷復(fù)制到所述媒體信號內(nèi)的對應(yīng)原始位置。
16.如權(quán)利要求15所述的方法,其中,所述傳輸包子集對應(yīng)于所述壓縮媒體流內(nèi)的壓縮音頻數(shù)據(jù)的幀。
17.如權(quán)利要求15所述的方法,其中,排列所述傳輸包子集的副本的步驟包括以下步驟將代表所述傳輸包子集的包對象進(jìn)行緩沖。
18.如權(quán)利要求15所述的方法,其中,對所述幀的所述副本進(jìn)行編碼的步驟包括以下步驟中的至少一個將水印信息嵌入所述傳輸包子集或者將數(shù)據(jù)插入所述傳輸包子集內(nèi)的輔助數(shù)據(jù)字段中。
19.一種修改媒體信號中的信息的方法,該方法包括以下步驟 逐幀地修改與所述媒體信號內(nèi)的一個或更多個壓縮媒體流相關(guān)聯(lián)的幀;以及 逐包地釋放包含經(jīng)修改的幀的修改版本的媒體信號以進(jìn)行發(fā)送。
20.如權(quán)利要求19所述的方法,其中,逐幀地修改所述幀的步驟包括以下步驟從所述媒體信號內(nèi)的壓縮音頻傳輸包中提取數(shù)據(jù)片斷,在幀緩沖器中排列所提取的數(shù)據(jù)片斷,以及響應(yīng)于在所述幀緩沖器中檢測到完整幀,對所述幀緩沖器中的數(shù)據(jù)片斷進(jìn)行修改。
21.如權(quán)利要求19所述的方法,其中,逐包地釋放修改版本的所述媒體信號以進(jìn)行發(fā)送的步驟包括以下步驟識別經(jīng)編碼版本的所述媒體信號中的連續(xù)包塊,其中隨后的修改操作不需要所述連續(xù)包塊內(nèi)的任一個包。
22.—種對包含壓縮媒體流的媒體信號進(jìn)行編碼的編碼器,該編碼器包括 傳輸解析器,其被配置為逐幀地對與所述媒體信號內(nèi)的一個或更多個壓縮媒體流相關(guān)聯(lián)的幀進(jìn)行編碼;和 包保持隊列,其可操作地連接到所述傳輸解析器并且被設(shè)置為逐包地釋放所述媒體信號的包含經(jīng)編碼的幀的編碼部分以進(jìn)行發(fā)送。
23.如權(quán)利要求22所述的編碼器,該編碼器還包括緩沖器管理器,所述緩沖器管理器可操作地連接到所述傳輸解析器和輸入緩沖器,其中所述輸入緩沖器被配置為保持一段所述媒體信號,并且其中所述緩沖器管理器被配置為將與存儲在所述輸入緩沖器中的信息的位置有關(guān)的信息提供給所述傳輸解析器。
24.如權(quán)利要求23所述的編碼器,該編碼器還包括虛擬緩沖器,所述虛擬緩沖器可操作地連接到所述緩沖器管理器從而實現(xiàn)對存儲在所述輸入緩沖器中的信息的串行化存取。
25.如權(quán)利要求24所述的編碼器,其中,所述輸入緩沖器是環(huán)形緩沖器,并且其中,所述虛擬緩沖器包括多個計數(shù)器。
26.如權(quán)利要求22所述的編碼器,該編碼器還包括包存儲器,所述包存儲器可操作地連接到所述包保持隊列,其中所述包存儲器被配置為將代表傳輸包的包對象提供給所述傳輸解析器。
27.如權(quán)利要求22所述的編碼器,該編碼器還包括包寫入隊列,所述包寫入隊列可操作地連接到所述包保持隊列并且被配置為使得傳輸包信息被發(fā)送。
28.一種對數(shù)字媒體信號加水印的方法,該方法包括以下 步驟 將與包括在所述數(shù)字媒體信號的傳輸流中的音頻流相關(guān)的壓縮音頻包的內(nèi)容復(fù)制到要加水印以包括媒體標(biāo)識信息的壓縮音頻數(shù)據(jù)的相應(yīng)幀中; 確定在將所述壓縮音頻包的所述內(nèi)容復(fù)制到所述壓縮音頻數(shù)據(jù)的相應(yīng)幀中的過程中,所述傳輸流的組成是否改變;以及 如果所述傳輸流的組成改變,則將所述壓縮音頻數(shù)據(jù)的所述幀寫入到與所述數(shù)字媒體信號相對應(yīng)的輸出流中,而不對所述壓縮音頻數(shù)據(jù)的所述幀加水印。
29.根據(jù)權(quán)利要求28所述的方法,其中,確定所述傳輸流的組成是否改變基于檢測與所述傳輸流相關(guān)的節(jié)目關(guān)聯(lián)表PAT、節(jié)目映射表PMT或節(jié)目和系統(tǒng)信息協(xié)議PSIP信息中的至少一個是否改變。
30.根據(jù)權(quán)利要求28所述的方法,該方法還包括以下步驟 如果所述傳輸流的組成改變,則使加水印狀態(tài)機復(fù)位。
31.根據(jù)權(quán)利要求28所述的方法,該方法還包括以下步驟 識別所述相應(yīng)幀中的一個完整幀; 確定所述完整幀是否有錯誤;以及 如果所述完整幀有錯誤,則丟棄所述完整幀,而不對所述完整幀加水印。
32.根據(jù)權(quán)利要求31所述的方法,該方法還包括以下步驟 如果所述完整幀有錯誤,則將與所述完整幀相關(guān)的所述壓縮音頻包的所述內(nèi)容寫入到與所述數(shù)字媒體信號相對應(yīng)的輸出流中,而不對與所述完整幀相關(guān)的所述壓縮音頻包的所述內(nèi)容加水印。
33.根據(jù)權(quán)利要求31所述的方法,其中,確定所述完整幀是否有錯誤的步驟包括以下步驟中的至少一個 確定所述完整幀是否被不恰當(dāng)?shù)嘏帕校? 確定所述完整幀是否被不恰當(dāng)?shù)卮_定大小;或者 確定所述完整幀是否損壞。
34.一種對數(shù)字媒體信號加水印的設(shè)備,該設(shè)備包括 處理器,該處理器連接到存儲器,并被編程為 將與包括在所述數(shù)字媒體信號的傳輸流中的音頻流相關(guān)的壓縮音頻包的內(nèi) 容復(fù)制到要加水印以包括媒體標(biāo)識信息的壓縮音頻數(shù)據(jù)的相應(yīng)幀中; 確定在將所述壓縮音頻包的所述內(nèi)容復(fù)制到所述壓縮音頻數(shù)據(jù)的相應(yīng)幀中 的過程中,所述傳輸流的組成是否改變;以及 如果所述傳輸流的組成改變,則將所述壓縮音頻數(shù)據(jù)的所述幀寫入到與所 述數(shù)字媒體信號相對應(yīng)的輸出流中,而不對所述壓縮音頻數(shù)據(jù)的所述幀加水印。
35.根據(jù)權(quán)利要求34所述的設(shè)備,其中,所述處理器基于檢測與所述傳輸流相關(guān)的節(jié)目關(guān)聯(lián)表PAT、節(jié)目映射表PMT或節(jié)目和系統(tǒng)信息協(xié)議PSIP信息中的至少一個是否改變,來確定所述傳輸流的組成是否改變。
36.根據(jù)權(quán)利要求34所述的設(shè)備,其中,所述處理器在所述傳輸流的組成改變的情況下,使加水印狀態(tài)機復(fù)位。
37.根據(jù)權(quán)利要求34所述的設(shè)備,其中,所述處理器 識別所述相應(yīng)幀中的一個完整幀; 確定所述完整幀是否有錯誤;以及 如果所述完整幀有錯誤,則丟棄所述完整幀,而不對所述完整幀加水印。
38.根據(jù)權(quán)利要求37所述的設(shè)備,其中,如果所述完整幀有錯誤,則所述處理器將與所 述完整幀相關(guān)的所述壓縮音頻包的所述內(nèi)容寫入到與所述數(shù)字媒體信號相對應(yīng)的輸出流中,而不對與所述完整幀相關(guān)的所述壓縮音頻包的所述內(nèi)容加水印。
39.根據(jù)權(quán)利要求37所述的設(shè)備,其中,所述處理器通過以下中的至少一個來確定所述完整幀是否有錯誤 確定所述完整幀是否被不恰當(dāng)?shù)嘏帕校? 確定所述完整幀是否被不恰當(dāng)?shù)卮_定大小;或者 確定所述完整幀是否損壞。
全文摘要
本發(fā)明涉及用于媒體信號的壓縮域編碼設(shè)備和方法。公開了用于對壓縮音頻流進(jìn)行編碼的設(shè)備、方法和制品。所公開的方法逐幀地對與媒體信號內(nèi)的一個或更多個壓縮媒體流(400)相關(guān)聯(lián)的幀進(jìn)行編碼(408),并且逐包地釋放包含經(jīng)編碼的幀的編碼版本的媒體信號以進(jìn)行發(fā)送(416)。
文檔編號H04H60/37GK102685562SQ201210147529
公開日2012年9月19日 申請日期2005年4月19日 優(yōu)先權(quán)日2005年3月14日
發(fā)明者斯科特·庫珀, 洛伊斯·普里斯, 阿倫·拉馬斯瓦米 申請人:尼爾遜媒介研究股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1