TWI646834B - 創造指示影像中差異之雜湊值 - Google Patents

創造指示影像中差異之雜湊值 Download PDF

Info

Publication number
TWI646834B
TWI646834B TW105136992A TW105136992A TWI646834B TW I646834 B TWI646834 B TW I646834B TW 105136992 A TW105136992 A TW 105136992A TW 105136992 A TW105136992 A TW 105136992A TW I646834 B TWI646834 B TW I646834B
Authority
TW
Taiwan
Prior art keywords
hash
test
value
array
image frame
Prior art date
Application number
TW105136992A
Other languages
English (en)
Other versions
TW201729600A (zh
Inventor
瓜塔 巴巴
奧嘉 馬里莎娃
皮爾 布萊斯
丹 西爾蓋斯
Original Assignee
艾銳勢企業有限責任公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 艾銳勢企業有限責任公司 filed Critical 艾銳勢企業有限責任公司
Publication of TW201729600A publication Critical patent/TW201729600A/zh
Application granted granted Critical
Publication of TWI646834B publication Critical patent/TWI646834B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/137Hash-based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/71Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Library & Information Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本發明提供一種用於對一影像進行雜湊之電腦實施之方法,該電腦實施之方法包含:接收一參考影像圖框;導出用以表示該參考影像圖框之參考雜湊值之一陣列,其中參考雜湊值之該陣列包含一第一參考雜湊值、一第二參考雜湊值及一第三參考雜湊值;接收一測試影像圖框;導出用以表示該測試影像圖框之雜湊值之一陣列,其中雜湊值之該陣列包含一第一測試雜湊值、一第二測試雜湊值及一第三測試雜湊值;自表示該參考影像圖框之參考雜湊值之該陣列減去表示該測試影像圖框之測試雜湊值之該陣列以產生一△陣列,其中該△陣列指示其中該測試影像圖框不同於該參考影像圖框之一區域。

Description

創造指示影像中差異之雜湊值
本發明一般而言係關於用於對影像圖框(諸如視訊影像圖框)進行雜湊之方法及系統之領域。
數位內容散佈系統習用地包含一內容伺服器、一內容播放器(本文中亦稱為一「用戶端」)及將內容伺服器連接至內容播放器之一通信網路。該內容伺服器經組態以儲存可自內容伺服器被下載至內容播放器之數位內容檔案。每一數位內容檔案對應於一特定識別標題,諸如一使用者熟悉之「亂世佳人(Gone with the Wind)」。數位內容檔案通常包含根據回放時序組織之順序內容資料,且可包括音訊資料、視訊資料或其之一組合。內容播放器經組態以回應於選擇用於回放之標題之一使用者請求而下載及播放一數位內容檔案。回放通常涉及此項技術中稱為「流式傳輸」之一技術,藉此內容伺服器將數位內容檔案順序地傳輸至內容播放器,且內容播放器在接收到包括數位內容檔案之內容資料時播放數位內容檔案。重要地,數位內容檔案之恰當回放要求內容伺服器及內容播放器兩者皆根據一組標準操作。 通常,小數目個內容伺服器將數位內容檔案提供至使用各種硬體及軟體平臺(例如,電視系統、纜線轉換器系統、機上盒系統及視訊遊戲系統)製造之大數目個內容播放器。為維持跨越此等各種內容播放器之一致功能性,通常要求製造商保證其裝置在售賣給消費者之前與該組標準相容。然而,證明相容性要求嚴格測試內容播放器,且進一步要求高頻寬網路存取。通常執行之一個測試係對照一已知參考視訊檢查內容播放器之視訊輸出之品質。 傳統上,視訊比較涉及連續圖框之比較,該等連續圖框中之每一者包含大數目個像素,其中每一像素由一Y值、U值及V值(或R值、G值、B值)表示。針對一視訊串流中之每個圖框中之每個像素比較此等YUV值中之每一者係極資源密集的,且因此在大多數情形中係限制性的。
因此,本文中提供使用雜湊值比較一測試視訊圖框或序列與一參考視訊圖框或序列之系統及方法。 在一第一態樣中,揭示一種對一影像進行雜湊之電腦實施之方法。該方法包含:接收一參考影像圖框;導出用以表示該參考影像圖框之參考雜湊值之一陣列,其中參考雜湊值之該陣列包含一第一參考雜湊值、一第二參考雜湊值及一第三參考雜湊值;接收一測試影像圖框;導出用以表示該測試影像圖框之雜湊值之一陣列,其中雜湊值之該陣列包含一第一測試雜湊值、一第二測試雜湊值及一第三測試雜湊值;自表示該參考影像圖框之參考雜湊值之該陣列減去表示該測試影像圖框之測試雜湊值之該陣列以產生一△陣列,其中該△陣列指示其中該測試影像圖框不同於該參考影像圖框之一區域。 在一第二態樣中,揭示一種用於處理視訊影像之系統。該系統包含:一影像雜湊模組,其經組態以:接收一測試影像圖框;導出用以表示該測試影像圖框之雜湊值之一陣列,其中雜湊值之該陣列包含一第一測試雜湊值、一第二測試雜湊值及一第三測試雜湊值;以及一影像比較模組,其經組態以:接收用以表示一參考影像圖框之雜湊值之一陣列,其中雜湊值之該陣列包含一第一參考雜湊值、一第二參考雜湊值及一第三參考雜湊值;及自表示該參考影像圖框之參考雜湊值之該陣列減去表示該測試影像圖框之測試雜湊值之該陣列以產生一△陣列,其中該△陣列指示其中該測試影像圖框不同於該參考影像圖框之一區域。 在一第三態樣中,揭示一種具有電腦可執行指令之電腦可讀媒體。該電腦可讀媒體具有電腦可執行指令,該等電腦可執行指令當在一處理器上被執行時指導一電腦:接收一測試影像圖框;導出用以表示該測試影像圖框之雜湊值之一陣列,其中雜湊值之該陣列包含一第一測試雜湊值、一第二測試雜湊值及一第三測試雜湊值;接收用以表示一參考影像圖框之雜湊值之一陣列,其中雜湊值之該陣列包含一第一參考雜湊值、一第二參考雜湊值及一第三參考雜湊值;及自表示該參考影像圖框之參考雜湊值之該陣列減去表示該測試影像圖框之測試雜湊值之該陣列以產生一△陣列,其中該△陣列指示其中該測試影像圖框不同於該參考影像圖框之一區域。
相關申請案交叉參考 本申請案根據35 U.S.C. §119 (e)主張先前於2015年11月16日提出申請之美國臨時申請案第62/255,970號之優先權,且其全部內容以引用方式併入本文中。 本發明闡述用於使用雜湊值比較一測試視訊圖框或序列與一參考視訊圖框或序列之方法及系統。在某些實施例中,每一視訊圖框由三個唯一創造之雜湊值表示。因此,一視訊序列可由三個值之一序列/陣列表示。此三個值中之每一者對應於可對圖框中之每個像素之所有個別分量值(YUV或RGB)計算之一雜湊。另外,可將參考視訊儲存為三個雜湊值之一陣列。當與受測試視訊輸出相比時,此節省記憶體空間以及計算時間。彩色像素背景 在視訊及成像系統中,色彩通常表示為一個三維「色彩空間」中之向量座標。常見實例包含眾所周知之RGB色彩空間類及YUV色彩空間類別。RGB色彩空間使用分別表示紅色、綠色及藍色光之強度之座標來規定像素值。YUV色彩空間使用表示一明度或色度值之座標來規定像素值。如本文中所提供,貫穿本發明互換地使用RGB及YUV。 當以一數位或類比形式儲存YUV資料時,通常使用YUV記法之一變化形式來區分分量中之每一者之範圍。舉例而言,記法Y′Pb′Pr′係指非線性YUV資料,其中Y分量在[0 . . . 1] (0係黑色,1係白色)之範圍內且色度分量(U及V)介於[-0.5 . . . 0.5]之範圍內。作為另一實例,使用記法Y′Cb′Cr′來表示以一8位元或10位元定點近似值儲存之資料。 針對視訊,通常使用可自RGB資訊導出之YUV色彩空間來表示像素資料。RGB色彩空間與YUV色彩空間之間的轉換通常涉及一簡單變換。舉例而言,Y′Pb′Pr′色彩資料係R′G′B′色彩空間之一變化形式,其中Y′分量與感知亮度成比例(Y′=0.299R′+0.587G′+0.114B′),且Pb′及Pr′分量定義為與亮度之色彩差異(例如,Pb′=B′-Y′;Pr′=R′-Y′)。 當Y′Pb′Pr′係以一8位元近似值儲存時,Y′範圍[0 . . . 1]被映射至範圍16 . . . 235。藉由將範圍[-0.5 . . . 0.5]映射至以128為中心之一寬度間隔224 (亦即,16至240)來將色度分量Pb′及Pr′映射至其對應Cb′及Cr′分量。舉例而言,一8位元表示係計算為:Y = 16+Y * 219Cb = 128+Pb * 224Cr = 128+Pr * 224 藉由簡單地按比例增加8位元值來計算較高位元精確度。舉例而言,一n位元表示係計算為:Y = (16+Y * 219)*2n-8 Cb = (128+Pb * 224)*2n-8 Cr = (128+Pr * 224)*2n-8 可以一緊縮格式或平面格式來儲存像素資料。在一緊縮格式中,將對應於一給定像素之分量作為一叢集或群組儲存於記憶體中之一單個陣列中,且可在一單次讀取中獲得所有分量之資料。當對一整個像素執行操作時,緊縮格式可係方便的,但若期望對一單個通道之操作(例如,對一RGB像素之R通道之一操作),則該等緊縮格式可係低效的。 舉例而言,在圖1中,呈一每通道8位元表示之一RGB像素係以緊縮格式儲存為一小端DWORD 100。RGB像素之資料包括記憶體中之毗鄰位元組(針對R通道、G通道及B通道各自一個位元組)中之24個位元的色彩資訊,以及一8位元α (或透明度)值。由於DWORD 100係小端,因此位元組0 (其含有α值)出現在最右邊上作為最低有效位元組。如圖1中所展示,在一8位元表示中,具有三個全解析度色彩資訊通道之一像素將具有24個位元之色彩資料。出於記憶體對準及存取效率原因,像素資料通常係儲存於一16位元或32位元邊界上。因此,具有24個位元之色彩資料之一像素通常係連同一8位元α值一起儲存,使得每一像素之像素資料佔據32個位元。 在一平面格式中,來自不同通道之資訊被儲存於單獨平面中,而非分群至一單個陣列中。舉例而言,在圖2中,一RGB影像200之資料係儲存於一R平面210、一G平面220及一B平面230中。在一8位元表示中,每一像素將包含來自每一平面之8個位元之資訊。當對一整個像素執行操作時,平面格式可係低效的,此乃因獲取一整個像素之資料需要三次讀取—每一平面一次。然而,在其他情況中(諸如在對一單個通道執行一操作(例如,濾除一RGB影像中之所有紅色)時),平面格式可係方便的。雜湊函數背景 雜湊函數用於諸多領域中,諸如資料庫管理、查詢、密碼技術及涉及大量原始資料之諸多其他領域中。一雜湊函數將大的未經結構化原始資料映射成相對短的經結構化識別符(該等識別符亦稱為「雜湊值」或簡單地「雜湊」)。藉由將結構及次序引入至原始資料中,雜湊函數將原始資料之大小大幅度減小為短識別符。其簡化諸多資料管理問題且減少存取大資料庫所需的計算資源。因此,一良好雜湊函數之一個性質係產生較小大小雜湊值之能力。與大的原始資料相比,可更高效地對較小識別符進行搜尋及排序。舉例而言,可較容易地使用標準方法來對較小識別符進行排序及搜尋。因此,當使用較小雜湊值時,雜湊通常產生較大益處。遺憾地,存在在其處雜湊值變得過於小且開始失去唯一地表示大量資料項之合意品質之一點。亦即,隨著雜湊值之大小降低,越來越有可能一個以上不同原始資料可被映射成相同雜湊值(稱為「衝突」之一事件)。數學上,針對每一雜湊數位之A個字母及一雜湊值長度,所有可能雜湊值之一上限係A個。若不同原始資料之數目大於此上限,則將發生衝突。 因此,一良好雜湊函數之另一性質係使衝突機率最小化。然而,若可達成雜湊值之長度之相當大增益,則容許衝突有時係合理的。因此雜湊值之長度係與衝突機率之一折衷。一良好雜湊函數應使衝突機率及雜湊值之長度兩者最小化。此對於編譯器中之雜湊函數及密碼應用中之訊息鑑認碼(MAC)兩者的設計係一問題。 對諸多種類之視訊資料長期以來存在良好雜湊函數。此等函數具有良好特性,且就跨越影像值使用雜湊以高效地識別相同或類似影像而被充分理解。 遺憾地,雖然存在諸多良好現有函數,但影像中之微小差異可創造雜湊中之較大差異,且反之亦然。舉例而言,對一影像之一微小裁剪或移位並未對人眼造成很大差異,但此等改變在資料域中顯現得極不同。因此,當使用習用雜湊函數時,一影像之一經移位版本產生與最初影像之雜湊值相比之一極不同雜湊值,即使影像在外觀上基本相同。另一實例係自一影像刪除一條線。大多數人將不會意識到影像本身中之此刪除,但若在資料域中觀看時,則視訊資料被顯著更改。因此,在諸多情形中,雜湊值並不指示任何事物。個別視訊圖框之雜湊函數 本文中揭示個別視訊圖框(例如,一視訊序列)之一雜湊函數。在某些實施例中,雜湊函數繪示像素之形成雜湊函數之某些特性,以及像素之空間定向。 如上文所提供,藉由使用一影像/視訊圖框之像素資料而創造之雜湊通常不指示構成影像之像素YUV值(或RGB值)之空間定向。此意指即使兩個影像僅由一個像素來區分,此兩個影像之雜湊值亦可係極不同的。另一方面,兩個極不同影像可創造極類似雜湊值,此在影像比較期間創造一問題。藉由查看雜湊值,可判定影像是否不同,但無法判定影像之差異程度或差異在影像中空間上所處之位置。 根據一實施例,本文中揭示一雜湊演算法,其中藉由Hash(參考影像) - Hash(測試影像)產生指示其中兩個影像不同之區域之一數字。可藉由使用影像中之每一像素之Y、U及V (或R、G及B)值而計算雜湊。通常應理解,Y、U及V值中之每一者皆由一8位元數字表示,然而程序亦適用於由4位元表示之值。 在某些實施例中,針對每一影像創造三個雜湊值:針對影像之像素之Y、U及V域中之每一者各一個。因此,每一影像可由三個數字(HashY、HashU、HashV)之一組合表示。 在某些實施例中,Hash Y = ∑ (wij * (座標(i,j)處之像素之Y值)),其中wij 係由值= (i+j)表示之一值。預期可使函數值wij 更複雜(例如,(logi + logj)等)。 如所提供,雜湊函數求和係對自0至沿影像長度方向之像素數目之i之一求和以及對自0至沿影像高度方向之像素數目之j之一求和。此雜湊值指示若影像在一X-Y軸上表示(其中影像之最左下部像素由座標(0,0)表示且影像之最右上部像素由座標(影像長度,影像高度)表示),則較接近於左下角之像素將比較靠近於右上角之像素對雜湊值之貢獻少。 在某些實施例中,HashU = ∑ (tij * (座標(i,j)處之像素之U值)),其中tij 係由(長度-i) + (高度- j)表示之一值。預期可將tij 擴展至其中可較容易或較快速地計算值之其他函數。再次,i與j之值係一影像之像素座標,該影像之左下角對準於座標(0,0)處且右上角對準於(影像長度,影像高度)處。 在某些實施例中,HashV = ∑ (sij * (座標(i,j)處之像素之V值)),其中sij 之值由以下各項表示: 當i <=長度/2且j <=高度/2時,(i+j) 當i <= 長度/2且j > 高度/2時,(i +高度- j) 當i >長度/2且j <=高度/2時,(長度- i + j) 當i >長度/2且j>高度/2時,(長度- i +高度- j) 再次,i與j之值係一影像之像素座標,該影像之左下角對準於座標(0,0)處且右上角對準於(影像長度,影像高度)處。 在某些實施例中,雜湊函數wij 、tij 及sij 表示可使用之一個種類之雜湊函數。可將所揭示之概念及方法擴展至其他雜湊函數,例如log(i+j)、2*i +j等。此等不同雜湊函數中之每一者將產生不同值,該等不同值可適用於本方法中。 使用上文所提及之雜湊函數,一影像可由3個值(HashY、HashU及HashV)表示。一視訊可由一影像序列表示且因此可由此等三個值之一陣列表示。參考視訊然後可由Ref[3][視訊中之影像之#]表示且測試視訊可由test[3][測試視訊中之影像之#]表示。一般而言,參考視訊與測試視訊具有相同量之影像。 既然存在兩個陣列(例如,參考陣列及測試陣列),則對該等陣列執行一簡單比較。如上文所提供,測試陣列(及參考陣列)中之每一影像之Y、U及V值對應於陣列中之一特定索引。因此,兩個陣列經對準以確保針對兩個陣列使用相同索引且然後自參考陣列減去測試陣列。一零值指示針對彼索引兩個影像類似,而一非零值指示在兩個影像中存在某種差異。 在某些實施例中,當兩個影像不同時,針對所有三個Y、U及V雜湊值之差異存在一非負數字。當影像類似時,則Y、U及V雜湊值之差異係零。 在一實施例中,本文中提供一實例,其集中於來自參考及測試視訊之兩個相同索引(k)影像。兩個影像由Ref[HashY、HashU及HashV][k]及Test[HashY、HashU、HashV][k]表示。因此,如下判定第k個視訊圖框/影像之差異影像:Ref[HashY] - Test[HashY]、Ref[HashU] - Test[HashU]、Ref[HashV] - Test[HashV]。 在Y域中,△Y = Ref[HashY] - Test[HashY]實際上係∑ (wij * (參考之Y值)) - ∑ (wij * (測試之Y值))= ∑ [ wij (參考及測試中之像素之Y值之△)]。可使用例如一機率圖或圖表將由兩個雜湊相減而產生之此值△Y填充於X-Y平面上。此機率圖可藉由選定wij 函數而規定。在本實例中,△Y之一較大值指示存在在影像之右上側上發生兩個影像中之差異之一較高機率。△Y之一較低值指示影像之差異係在影像之左下角中。基於函數wij ,可針對任何△Y值標繪空間機率圖表。 在某些實施例中,針對U域及V域計算△U及△V,且將△U及△V填充於X-Y平面上之機率圖表上。現在針對第k個影像,存在繪示其中可存在兩個影像之差異之區的三個空間機率圖表。在某些實施例中,判定兩個域(例如,Y及U)中之高機率之一交叉區。本文中將高機率定義為超過一特定或預定臨限值之一機率。此臨限值可針對不同大小之影像及位元數目(其表示像素之Y、U及V值)而變化。在某些實施例中,藉由應發現誤差之準確程度來判定臨限值。針對極高品質之影像,臨限值可大於或等於0.95或95%。在其他情形中,臨限值可大於或等於0.85或85%。此交叉區表示其中影像不同之區。第三域(例如,V)可用於驗證交叉區亦位於V域之一高機率區中。 在某些實施例中,前兩個域之交叉區可不與第三域之高機率區對準。此可在影像完全不同或空間上未對準的情況下發生。在此等情形中,假定在測試圖框中存在毛誤差,且該測試圖框亦被如此標記。然而,若影像係類似的且係對準的,則期望交叉將對準以預測差異。 在某些實施例中,若所有三個域中之像素係由相同數目個位元表示,則可互換地使用三個域。若所有三個域並非係由相同數目個位元表示,則可使用其中像素由較高數目個位元表示的域來找到規定影像差異之區域的初始交叉。一般而言,在YUV域中,通常使用Y域。系統架構 圖3展示一影像散佈系統300,其具有產生視訊影像圖框及序列,及/或經由一網路324將該等視訊影像圖框及序列散佈至一用戶端裝置326之一內容產生者/提供者322。內容產生者/提供者322具有用以儲存視訊影像圖框及序列之一影像儲存裝置330、用以在散佈之前處理影像之一處理系統332,以及用以經由網路324 (例如,網際網路、LAN、WAN等)散佈影像之一散佈伺服器334。伺服器334可進一步經組態以在經由網路24散佈影像之前,使用習用壓縮及加密技術將該內容壓縮及/或加密。 處理系統332具有一影像雜湊單元340,該影像雜湊單元對個別影像進行雜湊以產生唯一地表示影像(例如,以一個三雜湊值陣列[Y、U、V])之雜湊值。影像雜湊單元340實施如上文所闡述之雜湊函數,該雜湊函數採用一影像圖框作為輸入,且針對影像之像素之Y、U及V域中之每一者輸出一雜湊值(HashY、HashU、HashV)。雜湊值陣列可被儲存於儲存裝置330中之一影像雜湊表344中,且可經由表344來與依據其計算雜湊之最初影像相關聯。此影像雜湊表344可用於對影像儲存裝置330加索引。一般而言,影像雜湊單元340對參考視訊影像圖框或序列執行雜湊函數,且將參考雜湊陣列儲存於影像雜湊表344中。如本文中所使用,參考視訊圖框或序列係指已知具有一可接受品質之一視訊串流。舉例而言,在某些實施例中,自一已知良好視訊資源(諸如一經預鑑定且經測試機上盒)之視訊輸出獲得參考圖框。 應注意,可以軟體或韌體來實施影像雜湊單元340。可將此組件構造為一處理系統之部分、併入至其他應用或一作業系統中,或形成為單獨的獨立模組。可以諸多方式來實施內容產生者/提供者322,包含作為經組態以儲存、處理及散佈影像及序列之一或多個伺服器電腦。 用戶端裝置326經配備有一處理器350、一記憶體352及一或多個媒體輸出裝置354。處理器350運行用以處理視訊影像圖框及序列之各種工具,諸如用以解壓縮影像、解密資料及/或施加控制(大小、旋轉等)之工具。記憶體352儲存對處理器執行之一作業系統356,諸如來自微軟公司之一Windows品牌作業系統。可以諸多不同方式來體現用戶端裝置326,包含一電腦、一手持式娛樂裝置、一機上盒、一電視等。 作業系統356或者用戶端機器上之任何受信任軟體或硬體可實施一用戶端側影像雜湊模組362及影像比較模組364。影像雜湊模組362可類似於影像雜湊單元340,然而雜湊函數係執行於測試視訊圖框或序列(例如,自用戶端裝置326流式傳輸至一使用者之視訊)上。影像比較模組364比較來自(例如)經儲存於影像雜湊表344中之參考視訊的雜湊值與測試視訊圖框或序列的雜湊值。下文參考圖4及圖5來闡述此等比較方法。 如本文中所使用,測試視訊圖框或序列係指具有未知品質之一視訊串流。舉例而言,在某些實施例中,自一受測試裝置(諸如經測試或經鑑定之一機上盒)之視訊輸出提取測試圖框。實施方案 圖4係圖解說明根據一實施例之用於比較一測試圖框與一參考圖框之一方法400之一流程圖。方法400在方塊410中開始,其中接收一參考視訊串流及一測試視訊串流。在方塊410中,對準參考視訊串流與測試視訊串流。在方塊420處,自視訊串流中之每一者提取一或多個圖框。 在方塊430處,針對所提取之參考視訊圖框之序列之每一YUV分量創造一雜湊值。在方塊440處,針對所提取之測試視訊圖框之序列之每一YUV分量創造一雜湊值。可根據本發明中所闡述之雜湊函數創造雜湊值。另一選擇係,可使用其他雜湊函數,前提係雜湊函數針對每一視訊圖框之像素之Y、U及V域中之每一者提供一雜湊值。 此後,比較參考圖框之雜湊值與測試圖框之雜湊值。在方塊450處,基於圖框中之差異來計算高機率之空間發生。 圖5係圖解說明根據一實施例之用於判定一測試圖框中之一誤差之一方法500之一流程圖。方法500在方塊510中開始,其中比較參考圖框之Y域之雜湊值與測試圖框之Y域之雜湊值。如所提供,自Ref[HashY]減去Test[HashY]以產生一△Y值。 類似地,在方塊520處,比較參考圖框之U域之雜湊值與測試圖框之U域之雜湊值。如所提供,自Ref[HashU]減去Test[HashU]以產生一△U值。並且,在方塊530處,比較參考圖框之V域之雜湊值與測試圖框之V域之雜湊值。如所提供,自Ref[HashV]減去Test[HashV]以產生一△V值。 使兩個陣列簡單相減:ref[Hash(Y)、Hash(U)、Hash(V)] -test[Hash(Y)、Hash(U)、Hash(V)]產生一△[Hash(Y)、Hash(U)、Hash(V)]。此△陣列可指示測試視訊串流中之誤差之位置及每個圖框中之誤差之位置。 一旦判定△Y值,便在方塊540處創造誤差之一機率圖。一旦判定△U值,便在方塊550處創造誤差之一機率圖。此後,在方塊570處,使用來自540及550之機率圖判定機率圖之交叉。 在方塊560處,使用△V值創造誤差之一機率圖。此後,在方塊580處,比較使用△Y與△U之機率圖之交叉和使用△V之機率圖。在方塊580處之此比較確認視訊誤差在X-Y平面上之空間位置。若△V之機率圖不和△Y與△U之機率圖之交叉重合,則判定在彼測試圖框上存在大視訊誤差且該測試圖框亦被如此標記。 如上文所提供,使用影像比較之先前解決方案需要比較大量資料以在空間上找到影像中之差異。其他較快演算法僅指出兩個影像是否類似。另一方面,本發明提供指示兩個影像之差異之區之一快速解決方案。對雜湊演算法之選擇提供圖框中之誤差之位置。此歸因於以下事實:視訊誤差/偏差通常發生在所有三個域Y、U及V中且所提出解決方案將利用此性質來偵測誤差。 因此,本發明並不僅限於上文所闡述之彼等實施方案。熟習此項技術者將明瞭,結合上文所闡述之圖及本文中所揭示之實施方案所闡述之各種說明性模組及方法步驟通常可實施為電子硬體、軟體、韌體或前述各項之組合。為清楚地圖解說明硬體與軟體之此可互換性,上文通常已就其功能性闡述了各種說明性模組及方法步驟。此功能性係實施為硬體還是軟體取決於特定應用及強加於總體系統上之設計約束。雖然熟習此項技術者可針對每一特定應用以變化方式實施所闡述功能性,但不應將此等實施方案決策解釋為致使自本發明之範疇之一背離。另外,在一模組或步驟內將函數分群係為便於說明。在不背離本發明之情況下,可將特定函數自一個模組或步驟移動至另一模組或步驟。 結合本文中所揭示之實施方案而闡述之各種說明性模組及方法步驟可利用以下各項來實施或執行:一通用處理器、一數位信號處理器(「DSP」)、一特殊應用積體電路(「ASIC」)、一場可程式化閘陣列(「FPGA」)或其他可程式化邏輯裝置、離散閘或電晶體邏輯、離散硬體組件或其經設計以執行本文中所闡述之函數之任何組合。一通用處理器可係一微處理器,但在替代方案中,該處理器可係任何處理器、控制器或微控制器。一處理器亦可實施為計算裝置之一組合,舉例而言,一DSP與一微處理器之一組合、複數個微處理器、結合一DSP核心之一或多個微處理器或任何其他此組態。 另外,結合本文中所揭示之實施方案而闡述之一方法或演算法之步驟可直接體現在硬體、由一處理器執行之一軟體模組或兩者之一組合中。一軟體模組可駐存於電腦或機器可讀儲存媒體中,諸如RAM記憶體、快閃記憶體、ROM記憶體、EPROM記憶體、EEPROM記憶體、暫存器、硬磁碟、一可抽換式磁碟、一CD-ROM或包含一網路儲存媒體之任何其他形式之儲存媒體。一實例性儲存媒體可耦合至處理器使得處理器可自儲存媒體讀取資訊且將資訊寫入至儲存媒體。在替代方案中,儲存媒體可與處理器成整體。處理器及儲存媒體亦可駐存於一ASIC中。
100‧‧‧小端DWORD/DWORD
200‧‧‧RGB影像
210‧‧‧R平面
220‧‧‧G平面
230‧‧‧B平面
300‧‧‧影像散佈系統
322‧‧‧內容產生者/內容提供者
324‧‧‧網路
326‧‧‧用戶端裝置
330‧‧‧影像儲存裝置/儲存裝置
332‧‧‧處理系統
334‧‧‧散佈伺服器/伺服器
340‧‧‧影像雜湊單元
344‧‧‧影像雜湊表/表
350‧‧‧處理器
352‧‧‧記憶體
354‧‧‧媒體輸出裝置
356‧‧‧作業系統
362‧‧‧用戶端側影像雜湊模組/影像雜湊模組
364‧‧‧影像比較模組
可藉由研究其中相同元件符號係指相同部件之隨附圖式而部分地理解本發明之細節(皆關於其結構及操作)。圖式未必按比例繪製,替代地將重點放在圖解說明本發明之原理上。 圖1係展示以緊縮格式儲存為一小端DWORD之呈一每通道8位元表示之一RGB像素之一方塊圖。 圖2係展示一RGB影像之一平面格式之一方塊圖。 圖3係其中一內容產生者/提供者雜湊影像且隨後經由一網路將影像散佈至一用戶端之一影像散佈系統之一方塊圖。 圖4係圖解說明根據一實施例之用於比較一測試圖框與一參考圖框之一方法之一流程圖。 圖5係圖解說明根據一實施例之用於判定一測試圖框中之一誤差之一方法的一流程圖。

Claims (16)

  1. 一種對一影像進行雜湊之電腦實施之方法,其包括:接收一參考影像圖框;導出用以表示該參考影像圖框之參考雜湊值之一陣列,其中參考雜湊值之該陣列包含一第一參考雜湊值、一第二參考雜湊值,及一第三參考雜湊值;接收一測試影像圖框;導出用以表示該測試影像圖框之雜湊值之一陣列,其中雜湊值之該陣列包含一第一測試雜湊值、一第二測試雜湊值,及一第三測試雜湊值;及自表示該參考影像圖框之參考雜湊值之該陣列減去表示該測試影像圖框之測試雜湊值之該陣列以產生一△陣列,其中該△陣列指示其中該測試影像圖框不同於該參考影像圖框之一區域,其中該第一參考雜湊值係Hash(Y)、該第二參考雜湊值係Hash(U),且該第三參考雜湊值係Hash(V),且參考陣列係ref[Hash(Y)、Hash(U)、Hash(V)]並且其中該第一測試雜湊值係Hash(Y)、該第二測試雜湊值係Hash(U)且該第三測試雜湊值係Hash(V),且測試陣列係test[Hash(Y)、Hash(U)、Hash(V)],並且其中該△陣列係△[Hash(Y)、Hash(U)、Hash(V)],且其中根據以下一雜湊函數來判定Hash(Y):Hash(Y)=Σ(wij *(座標(i,j)處之一像素之Y值) 其中wij係由(i+j)表示之一值。
  2. 如請求項1之方法,進一步包括:儲存表示該參考影像圖框之參考雜湊值之該陣列。
  3. 如請求項1之方法,其中每一雜湊值對應於一個別分量值。
  4. 如請求項3之方法,其中該個別分量值係選自一YUV域或一RGB域。
  5. 如請求項4之方法,其中該YUV域或該RGB域針對每一分量係由8位元值表示。
  6. 如請求項4之方法,其中該YUV域或該RGB域針對每一分量係由4位元值表示。
  7. 如請求項1之方法,其中該影像圖框中之誤差發生在兩個或兩個以上域中,且其中該等雜湊值提供該等域。
  8. 如請求項1之方法,其中該△陣列指示該影像圖框中之誤差的位置。
  9. 如請求項1之方法,其中使用對數或乘數雜湊函數來判定該第一參考雜湊值Hash(Y)、該第二參考雜湊值Hash(U)、該第三參考雜湊值Hash(V)、該第一測試雜湊值Hash(Y)、該第二測試雜湊值Hash(U)及該第三測試雜湊 值Hash(V)。
  10. 如請求項1之方法,其中若該測試影像圖框不同於該參考影像圖框,則該△陣列針對Hash(Y)、Hash(U)及Hash(V)中之每一者包含非負數字。
  11. 如請求項1之方法,其中若該測試影像圖框類似於該參考影像圖框,則該△陣列針對Hash(Y)、Hash(U)及Hash(V)中之每一者包含值0。
  12. 如請求項1之方法,進一步包括:使用由雜湊函數wij判定之一機率圖來將△[Hash(Y)]繪圖於一X-Y平面上。
  13. 一種對一影像進行雜湊之電腦實施之方法,其包括:接收一參考影像圖框;導出用以表示該參考影像圖框之參考雜湊值之一陣列,其中參考雜湊值之該陣列包含一第一參考雜湊值、一第二參考雜湊值,及一第三參考雜湊值;接收一測試影像圖框;導出用以表示該測試影像圖框之雜湊值之一陣列,其中雜湊值之該陣列包含一第一測試雜湊值、一第二測試雜湊值,及一第三測試雜湊值;及自表示該參考影像圖框之參考雜湊值之該陣列減去表示該測試影像圖框之測試雜湊值之該陣列以產生一△陣列, 其中該△陣列指示其中該測試影像圖框不同於該參考影像圖框之一區域,其中該第一參考雜湊值係Hash(Y)、該第二參考雜湊值係Hash(U),且該第三參考雜湊值係Hash(V),且參考陣列係ref[Hash(Y)、Hash(U)、Hash(V)]並且其中該第一測試雜湊值係Hash(Y)、該第二測試雜湊值係Hash(U)且該第三測試雜湊值係Hash(V),且測試陣列係test[Hash(Y)、Hash(U)、Hash(V)],並且其中該△陣列係△[Hash(Y)、Hash(U)、Hash(V)],且其中根據以下一雜湊函數來判定Hash(U):Hash(U)=Σ(tij *(座標(i,j)處之一像素之U值)其中tij係由(長度-i)+(高度-j)表示之一值。
  14. 如請求項13之方法,進一步包括:使用由雜湊函數tij判定之一機率圖來將△[Hash(U)]繪圖於一X-Y平面上。
  15. 一種對一影像進行雜湊之電腦實施之方法,其包括:接收一參考影像圖框;導出用以表示該參考影像圖框之參考雜湊值之一陣列,其中參考雜湊值之該陣列包含一第一參考雜湊值、一第二參考雜湊值,及一第三參考雜湊值;接收一測試影像圖框;導出用以表示該測試影像圖框之雜湊值之一陣列,其中雜湊值之該 陣列包含一第一測試雜湊值、一第二測試雜湊值,及一第三測試雜湊值;及自表示該參考影像圖框之參考雜湊值之該陣列減去表示該測試影像圖框之測試雜湊值之該陣列以產生一△陣列,其中該△陣列指示其中該測試影像圖框不同於該參考影像圖框之一區域,其中該第一參考雜湊值係Hash(Y)、該第二參考雜湊值係Hash(U),且該第三參考雜湊值係Hash(V),且參考陣列係ref[Hash(Y)、Hash(U)、Hash(V)]並且其中該第一測試雜湊值係Hash(Y)、該第二測試雜湊值係Hash(U)且該第三測試雜湊值係Hash(V),且測試陣列係test[Hash(Y)、Hash(U)、Hash(V)],並且其中該△陣列係△[Hash(Y)、Hash(U)、Hash(V)],且其中根據以下一雜湊函數來判定Hash(V):Hash(V)=Σ(sij*(座標(i j)處之一像素之V值)其中當i長度/2且j高度/2時,sij係由(i+j)表示之一值;其中當i長度/2且j>高度/2時,sij係由(i+高度-j)表示之一值;其中當i>長度/2且j高度/2時,sij係由(長度-i+j)表示之一值;其中當i>長度/2且j>高度/2時,sij係由(長度-i+高度-j)表示之一值。
  16. 如請求項15之方法,進一步包括:使用由雜湊函數sij判定之一機率圖來將△[Hash(V)]繪圖於一X-Y平面上。
TW105136992A 2015-11-16 2016-11-14 創造指示影像中差異之雜湊值 TWI646834B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562255970P 2015-11-16 2015-11-16
US62/255,970 2015-11-16
US15/051,137 US9813762B2 (en) 2015-11-16 2016-02-23 Creating hash values indicative of differences in images
US15/051,137 2016-02-23

Publications (2)

Publication Number Publication Date
TW201729600A TW201729600A (zh) 2017-08-16
TWI646834B true TWI646834B (zh) 2019-01-01

Family

ID=58691690

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105136992A TWI646834B (zh) 2015-11-16 2016-11-14 創造指示影像中差異之雜湊值

Country Status (2)

Country Link
US (1) US9813762B2 (zh)
TW (1) TWI646834B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10200546B2 (en) * 2015-09-25 2019-02-05 The Nielsen Company (Us), Llc Methods and apparatus to identify media using hybrid hash keys
US20190042853A1 (en) * 2017-08-04 2019-02-07 Facebook, Inc. System and Method of Determining Video Content
US10872087B2 (en) * 2017-10-13 2020-12-22 Google Llc Systems and methods for stochastic generative hashing
US11474987B1 (en) * 2018-11-15 2022-10-18 Palantir Technologies Inc. Image analysis interface
KR20210042752A (ko) * 2019-10-10 2021-04-20 삼성전자주식회사 이미지 백업을 수행하는 컴퓨팅 시스템 및 이미지 백업 방법
US11822940B2 (en) * 2021-05-10 2023-11-21 Microsoft Technology Licensing, Llc Determinations of modifications in objects having nested child objects

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130322696A1 (en) * 2011-02-10 2013-12-05 Nec Corporation Differing region detection system and differing region detection method
US8644620B1 (en) * 2011-06-21 2014-02-04 Google Inc. Processing of matching regions in a stream of screen images

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6671407B1 (en) 1999-10-19 2003-12-30 Microsoft Corporation System and method for hashing digital images
US7443544B2 (en) * 2000-12-01 2008-10-28 Zoran Corporation Accelerating color conversion using a temporary palette cache
US20040240563A1 (en) * 2003-05-29 2004-12-02 Yi-Jen Chiu Video preprocessor
US7649539B2 (en) 2004-03-10 2010-01-19 Microsoft Corporation Image formats for video capture, processing and display
JP2006039689A (ja) * 2004-07-22 2006-02-09 Nara Institute Of Science & Technology 画像処理装置、画像処理方法、画像処理プログラムおよびそのプログラムを記録した記録媒体
US20080002894A1 (en) * 2006-06-29 2008-01-03 Winbond Electronics Corporation Signature-based video redirection

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130322696A1 (en) * 2011-02-10 2013-12-05 Nec Corporation Differing region detection system and differing region detection method
US8644620B1 (en) * 2011-06-21 2014-02-04 Google Inc. Processing of matching regions in a stream of screen images

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
通常知識者技術水準之認定依據: Kernelized locality-sensitive hashing for scalable image search Brian Kulis; Kristen Grauman 2009 IEEE 12th International Conference on Computer Vision Year: 2009 Pages: 2130 - 2137 *

Also Published As

Publication number Publication date
US9813762B2 (en) 2017-11-07
TW201729600A (zh) 2017-08-16
US20170142479A1 (en) 2017-05-18

Similar Documents

Publication Publication Date Title
TWI646834B (zh) 創造指示影像中差異之雜湊值
US11425454B2 (en) Dynamic video overlays
US11308731B2 (en) Identifying video content via color-based fingerprint matching
JP2005216296A (ja) Hmmdカラースペースに基づいたカラー量子化方法を用いたマルチメディアの検索方法
US11593975B2 (en) Systems and methods of generating color palettes with a generative adversarial network
Maali Amiri et al. A strategy toward spectral and colorimetric color reproduction using ordinary digital cameras
US8428371B2 (en) Method and system to determine whether an image includes spatial adjustments
US20120070082A1 (en) Color correction for digital images
US20120070080A1 (en) Color correction for digital images
CN109859092A (zh) 信息隐藏方法、装置、设备及计算机可读存储介质
Thomas et al. On the uniform sampling of CIELAB color space and the number of discernible colors
CN111669477A (zh) 图像处理方法、系统、装置、设备及计算机存储介质
WO2022152002A1 (zh) 图像画质的调试方法、装置、系统及电子设备
JP2005130000A (ja) 画像処理装置
CN111080745A (zh) 一种PowerPoint中图片重新着色的方法及终端
TW201907362A (zh) 數位影像的適應性自我修復與驗證方法、電腦程式產品

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees