一種數據處理方法和系統的製作方法
2023-11-11 23:21:27 1
專利名稱:一種數據處理方法和系統的製作方法
技術領域:
本發明涉及數據處理。更具體地說,本發明涉及利用視頻起始碼進行水印插入的方法和系統。
背景技術:
數字視頻技術已經在新的應用中產生並使用,這些新的應用所考慮的基本視頻特徵(例如空間/時間解析度、色度格式和/或採樣精確度)需求的範圍不斷擴大。應用領域可以從基於移動TV的視頻會議以及標清(SD) TV或高清(HD) TV內容的廣播到例如相關專用視頻。已經研發了各種視頻編碼標準,例如MPEG-1、MPEG-2、MPEG-4、H. 263和H. 264/ MPEG-4優化視頻編碼(AVC),來用壓縮的方式編碼數字視頻序列。例如,H. 264/MPEG-4 AVC 是最近研發的一種視頻編碼標準,相對以前的標準,它明顯提高了編碼效率,大幅度增強了錯誤抗性(error robustness),並增加了複雜度和應用範圍。為了達到複雜性和/或可定製性的需求,H. 264/MPEG-4 AVC定義了網絡抽象層(NAL)結構。設計NAL以提供網絡友好的視頻表現,允許在很多不同的網絡環境中使用相同的視頻句法(syntax)。在NAL結構中, 可以將編碼的視頻數據組織成NAL單元,這些NAL單元為大多數現有網絡的基於數據包的方法提供支持。在編碼的或壓縮的視頻流中,可能在視頻流中嵌入了起始碼。例如,H. 264/MPEG-4 AVC編碼的視頻流中的每個NAL單元可能存在一個起始碼。使用起始碼的目的包括,例如識別編碼句法中的一些結構和/或與隨機存取或變體(corruption)發生時流的再同步。每個起始碼可以包括,例如3位元組起始碼前綴後接1位元組起始碼值或後綴。起始碼值或後綴可以標識與起始碼相關的結構中的數據類型。水印是一種用於保護數字媒體避免被未認證使用或非法複製技術,例如利用具有版權的材料。數字媒體的水印可以分為兩種可見或不可見。通常在數字圖片或視頻上添加可見水印以表示所有權並阻止對圖像的未認證使用。水印可以包括例如所有者身份和/ 或版權符號及數據。這類水印可以被認為是空間水印,其中數據在空間上嵌入圖像或視頻中,且水印信號完全不同於原始數據。由於過濾、清除和/或裁減數據的能力,空間水印對於襲擊是不魯棒(robust)的。不可見水印在可感知程度上並沒有改變圖像或視頻。例如可以通過稍微改變原始數據的最低有效位來實現。終端用戶未知的水印可以被認為是隱密水印。水印過程可以嵌入水印數據,例如,利用擴頻方法,其中可以通過利用偽隨機噪聲調製水印數據然後再將它們加到原始數據上的方式,在大量頻率上擴散將要嵌入的水印數據。檢測或提取是否存在水印在保護多媒體數據時也是很重要的。比較本發明後續將要結合附圖介紹的系統,現有技術的其它局限性和弊端對於本領域的普通技術人員來說是顯而易見的。
發明內容
本發明提供了一種利用視頻起始碼進行水印插入的系統和/或方法,結合至少一幅附圖進行了詳細描述,並在權利要求中得到了更完整的闡述。根據本發明的一個方面,提供一種數據處理方法,所述方法包括 在接收器中
根據包含多個視頻幀的壓縮視頻流中嵌入的水印接收所述壓縮視頻流中每個視頻幀的每個部分的默認版本以及所述壓縮視頻流中至少一個所述視頻的至少一部分的替代版本和相關水印控制信息;
根據所述相關水印控制信息和/或與所述接收器本地相關的特別信息來確定用於解碼所接收的壓縮視頻流的至少一個所述默認版本和/或至少一個所述替代版本;以及
選擇所確定的至少一個所述默認版本和/或至少一個替代版本通過基於所述確定修改所接收的壓縮視頻流來解碼所接收的壓縮視頻流。優選地,所述方法還包括根據一個或多個起始碼選擇所確定的至少一個所述默認版本和/或至少一個所述替代版本以解碼所接收的壓縮視頻流,其中每個所述起始碼分別包括起始碼後綴。優選地,包含具有數據類型值的起始碼後綴的起始碼用於每個所述默認版本。優選地,包含具有第一預定值的起始碼後綴的起始碼用於每個所述替代版本。優選地,包含具有第二預定值的起始碼後綴的起始碼用於每個所述相關水印控制 fn息ο優選地,所述方法還包括選擇其中一個所述視頻幀的部分的確定的替代版本,通過交換所確定的替代版本的起始碼後綴中的第一預定值和與所確定的替代版本對應的所述默認版本的起始碼後綴中的數據類型值來解碼所接收的壓縮視頻流。優選地,所接收的壓縮視頻流包括H. 264/MPEG-4優化視頻編碼(AVC)壓縮的視頻流。優選地,所述H. ^4/MPEG_4優化視頻編碼壓縮的視頻流包括網絡抽象層單元 (NAL)集合,且每個所述網絡抽象層單元集合包括具有起始碼後綴的起始碼。優選地,所述默認版本包括無水印的視頻數據,且所述替代版本包括具有水印的視頻數據。優選地,所述默認版本包括具有一種類型的水印的視頻數據,且所述替代版本包括具有另一種不同類型的水印的視頻數據。根據一個方面,提供一種數據處理系統,所述系統包括
用於接收器中的一個或多個處理器和/或電路,其中所述一個或多個處理器和/或電路用於
根據包含多個視頻幀的壓縮視頻流中嵌入的水印接收所述壓縮視頻流中每個視頻幀的每個部分的默認版本以及所述壓縮視頻流中至少一個所述視頻幀的至少一部分的替代版本和相關水印控制信息;
根據所述相關水印控制信息和/或與所述接收器本地相關的特別信息來確定用於解碼所接收的壓縮視頻流的至少一個所述默認版本和/或至少一個所述替代版本;以及
選擇所確定的至少一個所述默認版本和/或至少一個替代版本通過基於所述確定修改所接收的壓縮視頻流來解碼所接收的壓縮視頻流。優選地,所述一個或多個處理器和/或電路用於根據一個或多個起始碼選擇所確定的至少一個所述默認版本和/或至少一個所述替代版本以解碼所接收的壓縮視頻流,其中每個所述起始碼分別包括起始碼後綴。優選地,包含具有數據類型值的起始碼後綴的起始碼用於每個所述默認版本。優選地,包含具有第一預定值的起始碼後綴的起始碼用於每個所述替代版本。優選地,包含具有第二預定值的起始碼後綴的起始碼用於每個所述相關水印控制 fn息ο優選地,所述一個或多個處理器和/或電路用於選擇其中一個所述視頻幀的部分的確定的替代版本通過交換所確定的替代版本的起始碼後綴中的第一預定值和與所確定的替代版本對應的所述默認版本的起始碼後綴中的數據類型值來解碼所接收的壓縮視頻流。優選地,所接收的壓縮視頻流包括H. 264/MPEG-4優化視頻編碼(AVC)壓縮的視頻流。優選地,所述H. ^4/MPEG_4優化視頻編碼壓縮的視頻流包括網絡抽象層單元 (NAL)集合,且每個所述網絡抽象層單元集合包括具有起始碼後綴的起始碼。優選地,所述默認版本包括無水印的視頻數據,且所述替代版本包括具有水印的視頻數據。優選地,所述默認版本包括具有一種類型的水印的視頻數據,且所述替代版本包括具有另一種不同類型的水印的視頻數據。本發明的各種優點、各個方面和創新特徵,以及其中所示例的實施例的細節,將在以下的描述和附圖中進行詳細介紹。
圖1是根據本發明的實施例的用於提供利用視頻起始碼的水印插入的示範性視頻處理系統的框圖2是根據本發明的實施例的用於提供利用視頻起始碼的水印插入的示範性接收器的框圖3是根據本發明的實施例的示範性壓縮視頻流的框圖; 圖4是根據本發明的實施例的用於解碼的示範性修改的壓縮視頻幀數據的框圖; 圖5是根據本發明實施例的利用視頻起始碼進行水印插入的示範性步驟的流程圖。
具體實施例方式本發明利用視頻起始碼進行水印插入的方法和系統提供了一些實施例。根據本發明的各種實施例,接收器可以用於根據包含多個視頻幀的壓縮視頻流中嵌入的水印接收壓縮視頻流中每個視頻幀的每個部分的默認版本以及壓縮視頻流中至少一個視頻的至少一部分的替代版本和相關水印控制信息。在本發明的一個示例性實施例中,默認版本可以包括無水印的視頻數據,且替代版本可以包括具有水印的視頻數據。在本發明的另一個示例性實施例中,默認版本可以包括具有一種類型水印的視頻數據,且替代版本可以包括具有另一種不同類型的水印的視頻數據。包含數據類型值起始碼後綴的起始碼可以用於每個默認版本。包含第一預定值起始碼後綴的起始碼可以用於每個替代版本。包含第二預定值起始碼後綴的起始碼可以用於每個相關水印控制信息。接收器可以用於根據相關水印控制信息和/或與接收器相關的本地特別信息來確定應該用來解碼所接收的壓縮視頻流的至少一個默認版本和/或至少一個替代版本。接收器可以選擇所確定的至少一個默認版本和/或所確定的至少一個替代版本通過基於該確定修改所接收的壓縮視頻流來解碼所接收的壓縮視頻流。因此,可以根據一個或多個起始碼來選擇所確定的至少一個默認版本和/或至少一個替代版本,其中每個起始碼分別可以包括起始碼後綴。接收器可以用於為其中一個視頻幀的部分選擇確定的替代版本,通過修改所確定的替代版本的起始碼來解碼所接收的壓縮視頻流,使得所確定的替代版本的起始碼後綴可以包括數據類型值。然後可以修改對應的默認版本(未選擇版本)的起始碼,使得該對應的默認版本的起始碼後綴可以包括未使用的或預定的值,例如第一預定值或其它預定值。因此,可以選擇例如確定的替代版本通過交換所確定的替代版本的起始碼後綴中的第一預定值和與所確定的替代版本對應的默認版本的起始碼後綴中的數據類型值來解碼所接收的壓縮視頻流。然後,對於所接收的壓縮視頻流中的每個視頻幀的每一部分,在解碼所接收的壓縮視頻流時可以處理或解碼包含數據類型值起始碼後綴的版本。在本發明的一個示例性實施例中,所接收的壓縮視頻流可以包括H. 264/MPEG-4 優化視頻編碼(AVC)壓縮的視頻流。H. 264/MPEG-4 AVC壓縮的視頻流可以包括網絡抽象層單元集合,且每個網絡抽象層單元集合可以包括具有起始碼後綴的起始碼。圖1是根據本發明的實施例的用於提供利用視頻起始碼的水印插入的示範性視頻處理系統的框圖。參考圖1,示出了視頻處理系統100。視頻處理系統100可以包括服務分發器110、壓縮的視頻流120、接收器130和顯示設備140。服務分發器110可以包括合適的邏輯、電路、接口和/或代碼,用於通過傳輸流(例如壓縮的視頻流120)分發內容或節目給接收器130。服務分發器110 (例如前端系統)可以用於提供各種服務,例如分發、組播和/或對於可靠且實時地傳輸內容或節目給接收器 130是必要的服務質量。服務分發器110可以利用例如有線電視網、衛星廣播網、網際網路協議(IP)數據網(如網際網路)和/或無線通信網來傳遞服務或內容給接收器130。服務分發器110可以用於將水印嵌入至少一個視頻幀的至少一個部分中,並通過壓縮的視頻流120向接收器130發射嵌入有水印的多個視頻幀。在本發明的一個示例性實施例中,對於每個視頻幀的每個部分,服務分發器110可以用於在壓縮的視頻流120中向接收器130發射默認版本,對於至少一個視頻幀的至少一個部分,服務分發器110可以用於在壓縮的視頻流120中向接收器130發射替代版本和相關水印控制信息。在本發明的一個示例性實施例中,默認版本可以包括沒有水印的視頻數據,替代版本可以包括具有水印的視頻數據。在本發明的另一個實施例中,默認版本可以包括具有一種類型的水印的視頻數據,替代版本可以包括具有另一種不同類型的水印的視頻數據。水印控制信息以及一些與接收器130本地相關的特別信息,可以被接收器130用來確定在解碼所接收的壓縮視頻流120 時應該使用默認版本還是替代版本來進行解碼。接收器130可以包括合適的邏輯、電路、接口和/或代碼,用於從服務分發器110 接收傳輸流,例如壓縮的視頻流120。在本發明的一個示例性實施例中,接收器130 (例如機頂盒(STB)、有線電視接收器或衛星電視接收器)可以用於根據包含多個視頻幀的壓縮視頻流120中嵌入的水印接收壓縮視頻流120中的每個視頻幀的每個部分的默認版本,以及壓縮視頻流120中的至少一個視頻幀的至少一個部分的替代版本和相關水印控制信息。在本發明的一個示例性實施例中,默認版本可以包括沒有水印的視頻數據,替代版本可以包括具有水印的視頻數據。在本發明的另一個實施例中,默認版本可以包括具有一種類型的水印的視頻數據,替代版本可以包括具有另一種不同類型的水印的視頻數據。包含數據類型值起始碼後綴的起始碼可以用於每個默認版本。包含第一預定值起始碼後綴的起始碼可以用於每個替代版本。包含第二預定值起始碼後綴的起始碼可以用於每個相關水印控制信肩、ο接收器130可以用於根據相關水印控制信息和/或與接收器本地相關的特別信息來確定用於解碼所接收的壓縮視頻流的至少一個默認版本和/或至少一個替代版本。例如,根據相關水印控制信息中提供的信息,可以根據模式類型、郵編、時區、視頻連接類型 (如HDMI、部件、或S-視頻)和/或與接收器130相關的系統版本在默認版本和替代版本間做出決定。又例如,還可以根據接收器130的身份識別碼(ID)和/或與接收器130本地相關的所有者信息在默認版本和替代版本間做出決定。接收器130可以選擇所確定的至少一個默認版本和/或所確定的至少一個替代版本來解碼所接收的壓縮視頻流120。因此,可以根據一個或多個起始碼選擇所確定的至少一個默認版本和/或所確定的至少一個替代版本,其中每個起始碼可以包括起始碼後綴。接收器130可以用於選擇其中一個視頻幀的一部分的確定的替代版本,以通過修改所確定的替代版本的起始碼來解碼所接收的壓縮視頻流120,使得所確定的替代版本的起始碼後綴可以包括數據類型值。然後可以修改對應的默認版本(未選擇版本)的起始碼, 使得該對應的默認版本的起始碼後綴可以包括未使用的或預定的值,例如第一預定值或其它預定值。因此,可以選擇例如確定的替代版本,並通過交換所確定的替代版本的起始碼後綴中的第一預定值和與所確定的替代版本對應的默認版本的起始碼後綴中的數據類型值來解碼所接收的壓縮視頻流120。然後,對於所接收的壓縮視頻流120中的每個視頻幀的每一部分,在解碼所接收的壓縮視頻流時可以處理或解碼包含數據類型值起始碼後綴的版本。相應地,在處理或解碼每個視頻幀時可以忽略包含第一預定值起始碼後綴的版本以及包含第二預定值起始碼後綴的相關水印控制信息。顯示設備140可以將嵌有或不嵌水印的解碼的或解壓的視頻幀顯示或呈現給用戶。因此,例如接收器130可以生成接收器130的籤名,由於嵌入的水印,水印檢測裝置可以檢測到該籤名。例如接收器130生成的籤名可以不同於其它接收器生成的籤名。在本發明的一個示例性實施例中,壓縮視頻流120可以包括H. 264/MPEG-4 AVC壓縮的視頻流120a。H. 264/MPEG-4 AVC壓縮的視頻流120a可以包括網絡抽象層(NAL)單元集合,且每個NAL單元集合可以包括具有起始碼後綴的起始碼。因此,例如,對應於一個幀的一部分的默認版本的NAL單元可以包括一片起始碼後綴中數據類型值為1或5的幀。例如,對應於一個幀的一部分的替代版本的NAL單元可以包括一片起始碼後綴中預定值為30 的幀。例如,對應於每個相關水印控制信息的NAL單元可以包括起始碼後綴中預定值為31 的數據。根據H. ^H/MPEG-4 AVC標準,起始碼後綴中的值5與即時解碼刷新(IDR)幀片相關,起始碼後綴中的值1與非-IDR幀片相關。值16-18、21-23、24-31是起始碼後綴中未使用的或預定的值。顯示設備140可以包括合適的邏輯、電路、接口和/或代碼,用於向用戶顯示或呈現經處理的或解碼的內容或節目。部分顯示的或呈現的視頻內容可以包括水印。在工作過程中,對於每個視頻幀的每個部分,服務分發器110可以用於在壓縮的視頻流120中向接收器130發射默認版本,對於至少一個視頻幀的至少一個部分,服務分發器110可以用於在壓縮的視頻流120中向接收器130發射替代版本和相關水印控制信息。 在本發明的一個示例性實施例中,默認版本可以包括沒有水印的視頻數據,替代版本可以包括具有水印的視頻數據。在本發明的另一個實施例中,默認版本可以包括具有一種類型的水印的視頻數據,替代版本可以包括具有另一種不同類型的水印的視頻數據。接收器130 可以用於根據包含多個視頻幀的壓縮視頻流120中嵌入的水印接收壓縮視頻流120中的每個視頻幀的每個部分的默認版本,以及壓縮視頻流120中的至少一個視頻幀的至少一個部分的替代版本和相關水印控制信息。包含數據類型值起始碼後綴的起始碼可以用於每個默認版本。包含第一預定值起始碼後綴的起始碼可以用於每個替代版本。包含第二預定值起始碼後綴的起始碼可以用於每個相關水印控制信息。接收器130可以用於根據相關水印控制信息和/或與接收器130本地相關的特別信息來確定用於解碼所接收的壓縮視頻流120的至少一個默認版本和/或至少一個替代版本。例如,根據相關水印控制信息中提供的信息,可以根據模式類型、郵編、時區、視頻連接類型(如HDMI、部件、或S-視頻)和/或與接收器130相關的系統版本在默認版本和替代版本間做出決定。又例如,還可以根據接收器130的身份識別碼(ID)和/或與接收器130本地相關的所有者信息在默認版本和替代版本間做出決定。接收器130可以選擇所確定的至少一個默認版本和/或所確定的至少一個替代版本通過基於該確定修改所接收的壓縮視頻流120來解碼所接收的壓縮視頻流120。因此,可以根據一個或多個起始碼來選擇所確定的至少一個默認版本和/或所確定的至少一個替代版本,其中每個起始碼可以包括起始碼後綴。接收器130可以用於選擇其中一個視頻幀的一部分的確定的替代版本,通過修改所確定的替代版本的起始碼來解碼所接收的壓縮視頻流120,使得所確定的替代版本的起始碼後綴可以包括數據類型值。然後可以修改對應的默認版本(未選擇版本)的起始碼,使得該對應的默認版本的起始碼後綴可以包括未使用的或預定的值,例如第一預定值或其它預定值。因此,可以選擇例如確定的替代版本通過交換所確定的替代版本的起始碼後綴中的第一預定值和與所確定的替代版本對應的默認版本的起始碼後綴中的數據類型值來解碼所接收的壓縮視頻流120。對於所接收的壓縮視頻流120中的每個視頻幀的每一部分,在解碼所接收的壓縮視頻流時可以處理或解碼包含數據類型值起始碼後綴的版本。相應地,在處理或解碼每個視頻幀時可以忽略包含第一預定值起始碼後綴的版本以及包含第二預定值起始碼後綴的相關水印控制信息。顯示設備140可以將嵌有或不嵌水印的解碼的或解壓的視頻幀顯示或呈現給用戶。因此,例如接收器130可以生成接收器130的籤名,由於嵌入的水印,水印檢測裝置可以檢測到該籤名。例如接收器130生成的籤名可以不同於其它接收器生成的籤名。在本發明的一個示例性實施例中,壓縮視頻流120可以包括H. 264/MPEG-4 AVC壓縮的視頻流120a。H. 264/MPEG-4 AVC壓縮的視頻流120a可以包括網絡抽象層(NAL)單元集合,且每個NAL單元集合可以包括具有起始碼後綴的起始碼。因此,例如,對應於一個幀的一部分的默認版本的NAL單元可以包括一片起始碼後綴中數據類型值為1或5的幀。例如,對應於一個幀的一部分的替代版本的NAL單元可以包括一片起始碼後綴中預定值為30 的幀。例如,對應於每個相關水印控制信息的NAL單元可以包括起始碼後綴中預定值為31 的數據。在本發明的一個示例性實施例中,接收器130可以用於在某幀的某部分的選定版本的視頻數據中嵌入或插入附加水印數據,該水印數據可以包括例如與接收器130本地相
關的信息。圖2是根據本發明的實施例的用於提供利用視頻起始碼的水印插入的示範性接收器的框圖。參考圖2,示出了接收器200。接收器200 (例如STB、有線電視接收器或衛星電視接收器)可以包括水印模塊202、解碼器204、存儲器208和處理器210。水印模塊202可以包括合適的邏輯、電路、接口和/或代碼,用於接收壓縮的視頻流,例如用於水印目的的壓縮的視頻流220。在本發明的一個示例性實施例中,水印模塊 202可以用於根據包含多個視頻幀的壓縮視頻流220中嵌入的水印接收壓縮視頻流220中的每個視頻幀的每個部分的默認版本,以及壓縮視頻流220中的至少一個視頻幀的至少一個部分的替代版本和相關水印控制信息。在本發明的一個示例性實施例中,默認版本可以包括沒有水印的視頻數據,替代版本可以包括具有水印的視頻數據。在本發明的另一個實施例中,默認版本可以包括具有一種類型的水印的視頻數據,替代版本可以包括具有另一種不同類型的水印的視頻數據。包含數據類型值起始碼後綴的起始碼可以用於每個默認版本。包含第一預定值起始碼後綴的起始碼可以用於每個替代版本。包含第二預定值起始碼後綴的起始碼可以用於每個相關水印控制信息。水印模塊202可以用於根據相關水印控制信息和/或與接收器200本地相關的特別信息來確定用於解碼所接收的壓縮視頻流的至少一個默認版本和/或至少一個替代版本。例如,根據相關水印控制信息中提供的信息,可以根據模式類型、郵編、時區、視頻連接類型(如HDMI、部件、或S-視頻)和/或與接收器200相關的系統版本在默認版本和替代版本間做出決定。又例如,還可以根據接收器200的身份識別碼(ID)和/或與接收器200本地相關的所有者信息在默認版本和替代版本間做出決定。水印模塊202可以選擇所確定的至少一個默認版本和/或所確定的至少一個替代版本來解碼所接收的壓縮視頻流220。因此,可以根據一個或多個起始碼選擇所確定的至少一個默認版本和/或所確定的至少一個替代版本。就此而言,每個起始碼可以包括起始碼後綴。水印模塊202可以用於選擇其中一個視頻幀的一部分的確定的替代版本,通過修改所確定的替代版本的起始碼來解碼所接收的壓縮視頻流220,使得所確定的替代版本的起始碼後綴可以包括數據類型值。然後可以修改對應的默認版本(未選擇版本)的起始碼, 使得該對應的默認版本的起始碼後綴可以包括未使用的或預定的值,例如第一預定值或其它預定值。因此,可以選擇例如確定的替代版本通過交換所確定的替代版本的起始碼後綴中的第一預定值和與所確定的替代版本對應的默認版本的起始碼後綴中的數據類型值來解碼所接收的壓縮視頻流220。然後,對於所接收的壓縮視頻流220中的每個視頻幀的每一部分,在處理或解碼每個視頻幀時解碼器204可以處理或解碼包含數據類型值起始碼後綴的版本。相應地,在處理或解碼每個視頻幀時解碼器可以忽略包含第一預定值起始碼後綴的版本以及包含第二預定值起始碼後綴的相關水印控制信息。在本發明的一個示例性實施例中,壓縮視頻流220可以包括H. ^4/MPEG-4 AVC壓縮的視頻流220a。H. 264/MPEG-4 AVC壓縮的視頻流220a可以包括NAL單元集合,且每個 NAL單元集合可以包括具有起始碼後綴的起始碼。因此,例如,對應於一個幀的一部分的默認版本的NAL單元可以包括一片起始碼後綴中數據類型值為1或5的幀。例如,對應於一個幀的一部分的替代版本的NAL單元可以包括一片起始碼後綴中預定值為30的幀。例如, 對應於每個相關水印控制信息的NAL單元可以包括起始碼後綴中預定值為31的數據。解碼器204可以包括合適的邏輯、電路、接口和/或代碼,用於處理或解碼壓縮的數據流。在本發明的一個實施例中,解碼器204可以用於處理或解碼可能從水印模塊202接收的修改的壓縮視頻流。就此而言,對於每個視頻幀的每一部分,解碼器204可以處理或解碼包含數據類型值起始碼後綴的版本。在處理或解碼每個視頻幀時解碼器204時可以忽略包含第一預定值起始碼後綴的版本以及包含第二預定值起始碼後綴的相關水印控制信息。存儲器208可以包括合適的邏輯、電路、接口和/或代碼,用於存儲信息,例如處理器210、解碼器204和/或水印模塊202可以用來執行接收器200的各種功能的可執行指令和數據。處理器210可以包括合適的邏輯、電路、接口和/或代碼,用於與解碼器204和水印模塊202通信以執行接收器200的處理或解碼功能及水印功能。在工作過程中,水印模塊202可以用於根據包含多個視頻幀的壓縮視頻流220中嵌入的水印接收壓縮視頻流220中的每個視頻幀的每個部分的默認版本,以及壓縮視頻流 220中的至少一個視頻幀的至少一個部分的替代版本和相關水印控制信息。在本發明的一個示例性實施例中,默認版本可以包括沒有水印的視頻數據,替代版本可以包括具有水印的視頻數據。在本發明的另一個實施例中,默認版本可以包括具有一種類型的水印的視頻數據,替代版本可以包括具有另一種不同類型的水印的視頻數據。包含數據類型值起始碼後綴的起始碼可以用於每個默認版本。包含第一預定值起始碼後綴的起始碼可以用於每個替代版本。包含第二預定值起始碼後綴的起始碼可以用於每個相關水印控制信息。水印模塊202可以用於根據相關水印控制信息和/或與接收器200本地相關的特別信息來確定用於解碼所接收的壓縮視頻流的至少一個默認版本和/或至少一個替代版本。例如,根據相關水印控制信息中提供的信息,可以根據模式類型、郵編、時區、視頻連接類型(如HDMI、部件、或S-視頻)和/或與接收器200相關的系統版本在默認版本和替代版本間做出決定。又例如,還可以根據接收器200的身份識別碼(ID)和/或與接收器200本地相關的所有者信息在默認版本和替代版本間做出決定。水印模塊202可以選擇所確定的至少一個默認版本和/或所確定的至少一個替代版本通過基於該確定修改所接收的壓縮視頻流來解碼所接收的壓縮視頻流220。因此,可以根據一個或多個起始碼選擇所確定的至少一個默認版本和/或所確定的至少一個替代版本,其中每個起始碼可以包括起始碼後
水印模塊202可以用於選擇其中一個視頻幀的一部分的確定的替代版本,通過修改所確定的替代版本的起始碼來解碼所接收的壓縮視頻流220,使得所確定的替代版本的起始碼後綴可以包括數據類型值。然後可以修改對應的默認版本(未選擇版本)的起始碼, 使得該對應的默認版本的起始碼後綴可以包括未使用的或預定的值,例如第一預定值或其它預定值。因此,可以選擇例如確定的替代版本通過交換所確定的替代版本的起始碼後綴中的第一預定值和與所確定的替代版本對應的默認版本的起始碼後綴中的數據類型值來解碼所接收的壓縮視頻流220。然後,對於所接收的壓縮視頻流220中的每個視頻幀的每一部分,在處理或解碼每個視頻幀時解碼器204時可以處理或解碼包含數據類型值起始碼後綴的版本。相應地,在處理或解碼每個視頻幀時解碼器時可以忽略包含第一預定值起始碼後綴的版本以及包含第二預定值起始碼後綴的相關水印控制信息。在本發明的一個示例性實施例中,壓縮視頻流220可以包括H. ^4/MPEG_4 AVC壓縮的視頻流220a。H. 264/MPEG-4 AVC壓縮的視頻流220a可以包括NAL單元集合,且每個 NAL單元集合可以包括具有起始碼後綴的起始碼。因此,例如,對應於一個幀的一部分的默認版本的NAL單元可以包括一片起始碼後綴中數據類型值為1或5的幀。例如,對應於一個幀的一部分的替代版本的NAL單元可以包括一片起始碼後綴中預定值為30的幀。例如, 對應於每個相關水印控制信息的NAL單元可以包括起始碼後綴中預定值為31的數據。圖3是根據本發明的實施例的示範性壓縮視頻流的框圖。參考圖3,示出了壓縮的視頻流300。壓縮的視頻流300可以包括數據流中的默認版本片310、替代版本片330和水印控制信息320。例如,一個片可以是壓縮的視頻流300中的幀的一部分。默認版本片 310的起始碼311可以包括起始碼前綴311a和起始碼後綴311b。水印控制信息320的起始碼321可以包括起始碼前綴321a和起始碼後綴321b。替代版本片330的起始碼331可以包括起始碼前綴331a和起始碼後綴331b。在本發明的一個示例性實施例中,默認版本片310可以包括沒有水印的視頻數據,替代版本片330可以包括具有水印的視頻數據。在本發明的另一個示例性實施例中,可能是默認版本片310包括具有一種類型的水印的視頻數據,替代版本片330包括具有另一種不同類型的水印的視頻數據。水印控制信息320以及與接收器(如接收器200)本地相關的一些特別信息可以被接收器200中的水印模塊202 用來確定在解碼壓縮的視頻流300時是使用默認版本片310還是替代版本片330來進行處理或解碼。在本發明的一個示例性實施例中,起始碼前綴311a可以包括值0X000001 311c。 起始碼後綴331b可以包括與該片相關的數據類型值。起始碼前綴331a可以包括值 0X000001 331c。起始碼後綴331b可以包括第一預定值。起始碼前綴321a可以包括值 0X000001 321c。起始碼後綴321b可以包括第二預定值。就此而言,例如在H. ^4/MPEG_4 AVC壓縮的視頻流330a中,默認版本片310可以是具有值為0X01 31 Id的起始碼後綴311b 的NAL單元。替代版本片330可以是具有值為OXlE 331d的起始碼後綴331b的NAL單元。 水印控制信息320可以是例如值為OXlF 321d的起始碼後綴321b的NAL單元。在如圖3所示的本發明的示例性實施例中,示出了具有數據類型值0X01 311d的默認版本片310、具有第一預定值OXlE 331d的替代版本片330、具有第二預定值OXlF 321d 的水印控制信息320。還示出了起始碼前綴311a.321a.331a,它們分別具有值0X000001311c、321c、331c。但是,本發明並不受限於此。相應地,除了片以外,幀的一部分還可以其它形式示出。起始碼前綴值、數據類型值、第一預定值和第二預定值也可以是不同的。圖4是根據本發明的實施例的用於解碼的示範性修改的壓縮視頻幀數據的框圖。 參考圖4,示出了所接收的壓縮視頻幀數據400、修改的壓縮視頻幀數據410和解壓的視頻幀420。所接收的壓縮視頻幀數據400可以包括第一部分默認版本401、第二部分默認版本 402、第二部分替代版本405、第三部分默認版本403以及第四部分默認版本404。第一部分默認版本401可以與具有數據類型值401a的起始碼後綴1相關。第二部分默認版本402 可以與具有數據類型值40 的起始碼後綴2相關。第二部分替代版本405可以與具有預定值40 的起始碼後綴2相關。第三部分默認版本403可以與具有數據類型值403a的起始碼後綴3相關。第四部分默認版本404可以與具有數據類型值40 的起始碼後綴4相關。解壓縮的視頻幀420可以包括解壓縮的第一部分默認版本321、解壓縮的第二部分替代版本425、解壓縮的第三部分默認版本423和解壓縮的第四部分默認版本424。在本發明的一個示例性實施例中,接收器200中的水印模塊202可以用於根據相關水印控制信息(如水印控制信息320)和/或與接收器200本地相關的特別信息確定第二部分替代版本405為幀的第二部分的選定版本以便進行解碼。因此,如修改的壓縮視頻幀數據410中所示,水印模塊202可以用於,例如交換具有數據類型值40 的起始碼後綴2 與具有預定值40 的起始碼後綴2。對於視頻幀的每個部分,即第一部分、第二部分、第三部分或第四部分,接收器200中的解碼器204可以處理或解碼包含數據類型值起始碼後綴的版本。解碼器204可以忽略包含預定值起始碼後綴的版本。因此,解碼器204可以解碼或解壓縮第一部分默認版本401以生成解壓縮的第一部分默認版本421。解碼器204可以解碼或解壓縮第二部分替代版本405以生成解壓縮的第二部分替代版本425。解碼器204 可以解碼或解壓縮第三部分默認版本403以生成解壓縮的第三部分默認版本423。解碼器 204可以解碼或解壓縮第四部分默認版本404以生成解壓縮的第四部分默認版本424。在如圖4所示的本發明的示例性實施例中,視頻幀包括4個部分,即第一部分、第二部分、第三部分和第四部分,且僅僅第二部分包括替代版本。但是,本發明並不受限於此。 視頻幀的部分的數量可以是不同的,包含替代版本的部分的數量也可以是不同的。圖5是根據本發明實施例的利用視頻起始碼進行水印插入的示範性步驟的流程圖。參考圖5,該示範性步驟開始於步驟501。在步驟502中,接收器200中的水印模塊202 可以用於在壓縮視頻流300中接收每個視頻幀的每個部分的默認版本310以及至少一個視頻幀的至少一個部分的替代版本330和相關水印控制信息320。每個默認版本310的起始碼311可以包括具有數據類型值的起始碼後綴311b。每個替代版本330的起始碼331可以包括具有第一預定值的起始碼後綴331b。每個相關水印控制信息320的起始碼321可以包括具有第二預定值的起始碼後綴321b。在步驟503中,水印模塊202可以用於根據相關水印控制信息320和/或與接收器200本地相關的特別信息來確定用於解碼所接收的壓縮視頻流300的至少一個默認版本401、403、404和/或至少一個替代版本405。在步驟504 中,水印模塊202可以用於根據例如至少一個帶有起始碼後綴的起始碼選擇所確定的至少一個默認版本401、403、404和/或所確定的至少一個替代版本405來解碼所接收的壓縮視頻流300。例如,可以通過交換替代版本405的起始碼後綴40 中的第一預定值和默認版本402的起始碼後綴40 中的數據類型值來選擇替代版本405。在步驟505中,接收器200中的解碼器204可以用於在解碼每個視頻幀410時解碼每個視頻幀410的每個部分的選定版本401、403、404、405。示範性步驟結束於結束步驟506。在本發明的各種實施例中,接收器200中的水印模塊202可以用於根據包含多個視頻幀的壓縮視頻流300中嵌入的水印接收壓縮視頻流300中的每個視頻幀的每個部分的默認版本310,以及壓縮視頻流300中的至少一個視頻幀的至少一個部分的替代版本330和相關水印控制信息320。在本發明的一個示例性實施例中,默認版本310可以包括沒有水印的視頻數據,替代版本330可以包括具有水印的視頻數據。在本發明的另一個實施例中,默認版本310可以包括具有一種類型的水印的視頻數據,替代版本330可以包括具有另一種類型的水印的視頻數據。包含數據類型值起始碼後綴311b的起始碼311可以用於每個默認版本310。包含第一預定值起始碼後綴331b的起始碼331可以用於每個替代版本330。 包含第二預定值起始碼後綴321b的起始碼321可以用於每個相關水印控制信息320。水印模塊202可以用於根據相關水印控制信息320和/或與接收器200本地相關的特別信息來確定用於解碼所接收的壓縮視頻流300的至少一個默認版本401、403、404和 /或至少一個替代版本405。水印模塊202可以選擇所確定的至少一個默認版本401、403、 404和/或所確定的至少一個替代版本405,通過基於該確定修改所接收的壓縮視頻流300 來解碼所接收的壓縮視頻流300。因此,可以根據一個或多個起始碼311、331選擇所確定的至少一個默認版本401、403、404和/或所確定的至少一個替代版本405,其中每個起始碼 311,331可以包括起始碼後綴311b、331b。水印模塊202可以用於選擇其中一個視頻幀的一部分的確定的替代版本330,通過修改所確定的替代版本330的起始碼331來解碼所接收的壓縮視頻流300,使得所確定的替代版本330的起始碼後綴331b可以包括數據類型值311d。然後可以修改對應的默認版本310 (未選擇版本)的起始碼311,使得該對應的默認版本310的起始碼後綴311b可以包括未使用的或預定的值,例如第一預定值331d或其它預定值。因此,可以選擇例如確定的替代版本405通過交換所確定的替代版本405的起始碼後綴40 中的第一預定值和與所確定的替代版本405對應的默認版本402的起始碼後綴中40 的數據類型值來解碼所接收的壓縮視頻流300。然後,對於每個視頻幀410的每一部分,在解碼每個視頻幀410時解碼器204可以處理或解碼包含數據類型值起始碼後綴的版本,例如第一部分默認版本401、 第二部分替代版本405、第三部分默認版本403或第四部分默認版本404。在本發明的一個示例性實施例中,壓縮視頻流300可以包括H. ^4/MPEG_4 AVC壓縮的視頻流300a。H. 264/MPEG-4 AVC壓縮的視頻流300a可以包括NAL單元集合,例如默認版本片310、水印控制信息320和替代版本片330。每個NAL單元集合可以包括具有起始碼後綴(如起始碼後綴311b)的起始碼(如起始碼311)。因此,例如,對應於一個幀的一部分的默認版本310的NAL單元可以包括一片起始碼後綴311b中數據類型值為1或5(如數據類型值為0x01 31 Id)的幀。對應於一個幀的一部分的替代版本330的NAL單元可以包括一片起始碼後綴331b中第一預定值為30 (如第一預定值為OXlE 331d)的幀。對應於每個相關水印控制信息320的NAL單元可以包括起始碼後綴321b中第二預定值為31 (如第二預定值為OXlF 321d)的數據。本發明的另一個實施例可以提供一種機器和/或計算機可讀存儲器和/或媒介, 其內存儲的機器代碼和/或電腦程式包括至少一個代碼段,所述至少一個代碼段由機器和/或計算機執行,從而使該機器和/或計算機執行上述使用視頻起始碼進行水印插入步
馬聚ο因此,本發明可以通過硬體、軟體,或者軟、硬體結合來實現。本發明可以在至少一個計算機系統中以集中方式實現,或者由分布在幾個互連的計算機系統中的不同部分以分散方式實現。任何可以實現方法的計算機系統或其它設備都是可適用的。常用軟硬體的結合可以是安裝有電腦程式的通用計算機系統,通過安裝和執行程序控制計算機系統,使其按方法運行。本發明還可以通過電腦程式產品進行實施,程序包含能夠實現本發明方法的全部特徵,當其安裝到計算機系統中時,可以實現本發明的方法。本文件中的電腦程式所指的是可以採用任何程序語言、代碼或符號編寫的一組指令的任何表達式,該指令組使系統具有信息處理能力,以直接實現特定功能,或在進行下述一個或兩個步驟之後實現特定功能a)轉換成其它語言、編碼或符號;b)以不同的格式再現。雖然本發明是通過具體實施例進行說明的,本領域技術人員應當明白,在不脫離本發明範圍的情況下,還可以對本發明進行各種變換及等同替代。另外,針對特定情形或材料,可以對本發明做各種修改,而不脫離本發明的範圍。因此,本發明不局限於所公開的具體實施例,而應當包括落入本發明權利要求範圍內的全部實施方式。
權利要求
1.一種數據處理方法,其特徵在於,所述方法包括在接收器中根據包含多個視頻幀的壓縮視頻流中嵌入的水印接收所述壓縮視頻流中每個視頻幀的每個部分的默認版本以及所述壓縮視頻流中至少一個所述視頻幀的至少一部分的替代版本和相關水印控制信息;根據所述相關水印控制信息和/或與所述接收器本地相關的特別信息來確定用於解碼所接收的壓縮視頻流的至少一個所述默認版本和/或至少一個所述替代版本;以及選擇所確定的至少一個所述默認版本和/或至少一個替代版本,通過基於所述確定修改所接收的壓縮視頻流來解碼所接收的壓縮視頻流。
2.根據權利要求1所述的方法,其特徵在於,包括根據一個或多個起始碼選擇所確定的至少一個所述默認版本和/或至少一個所述替代版本以解碼所接收的壓縮視頻流,其中每個所述起始碼分別包括起始碼後綴。
3.根據權利要求1所述的方法,其特徵在於,包含具有數據類型值的起始碼後綴的起始碼用於每個所述默認版本。
4.根據權利要求1所述的方法,其特徵在於,包含具有第一預定值的起始碼後綴的起始碼用於每個所述替代版本。
5.根據權利要求1所述的方法,其特徵在於,包含具有第二預定值的起始碼後綴的起始碼用於每個所述相關水印控制信息。
6.一種數據處理系統,其特徵在於,所述系統包括用於接收器中的一個或多個處理器和/或電路,其中所述一個或多個處理器和/或電路用於根據包含多個視頻幀的壓縮視頻流中嵌入的水印接收所述壓縮視頻流中每個視頻幀的每個部分的默認版本以及所述壓縮視頻流中至少一個所述視頻幀的至少一部分的替代版本和相關水印控制信息;根據所述相關水印控制信息和/或與所述接收器本地相關的特別信息來確定用於解碼所接收的壓縮視頻流的至少一個所述默認版本和/或至少一個所述替代版本;以及選擇所確定的至少一個所述默認版本和/或至少一個替代版本通過基於所述確定修改所接收的壓縮視頻流來解碼所接收的壓縮視頻流。
7.根據權利要求6所述的系統,其特徵在於,所述一個或多個處理器和/或電路用於根據一個或多個起始碼來選擇所確定的至少一個所述默認版本和/或至少一個所述替代版本以解碼所接收的壓縮視頻流,其中每個所述起始碼分別包括起始碼後綴。
8.根據權利要求6所述的系統,其特徵在於,包含具有數據類型值的起始碼後綴的起始碼用於每個所述默認版本。
9.根據權利要求6所述的系統,其特徵在於,包含具有第一預定值的起始碼後綴的起始碼用於每個所述替代版本。
10.根據權利要求6所述的系統,其特徵在於,包含具有第二預定值的起始碼後綴的起始碼用於每個所述相關水印控制信息。
全文摘要
本發明涉及一種數據處理方法和系統,其中接收器接收壓縮視頻流中每個視頻幀的每個部分的默認版本以及所述壓縮視頻流中至少一個所述視頻幀的至少一部分的替代版本和相關水印控制信息。所述接收器根據所述相關水印控制信息和/或與所述接收器本地相關的特別信息確定用於解碼所接收的壓縮視頻流的至少一個所述默認版本和/或至少一個所述替代版本。所述接收器選擇所確定的至少一個所述默認版本和/或至少一個替代版本,通過基於所述確定修改所接收的壓縮視頻流來解碼所接收的壓縮視頻流。每個所述一個或多個起始碼包括起始碼後綴。
文檔編號H04N7/50GK102244783SQ20111012098
公開日2011年11月16日 申請日期2011年5月11日 優先權日2010年5月11日
發明者雷傑西·馬密德瓦, 韋德·王 申請人:美國博通公司