TWI549485B - 編碼器、解碼器以及編碼方法、解碼方法 - Google Patents

編碼器、解碼器以及編碼方法、解碼方法 Download PDF

Info

Publication number
TWI549485B
TWI549485B TW102145538A TW102145538A TWI549485B TW I549485 B TWI549485 B TW I549485B TW 102145538 A TW102145538 A TW 102145538A TW 102145538 A TW102145538 A TW 102145538A TW I549485 B TWI549485 B TW I549485B
Authority
TW
Taiwan
Prior art keywords
data
databases
reference value
database
encoded
Prior art date
Application number
TW102145538A
Other languages
English (en)
Other versions
TW201433147A (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 TW201433147A publication Critical patent/TW201433147A/zh
Application granted granted Critical
Publication of TWI549485B publication Critical patent/TWI549485B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/008Vector quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/94Vector quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

編碼器、解碼器以及編碼方法、解碼方法
本發明涉及編碼器,用於編碼來源資料以生成相應的編碼資料,來源資料例如是捕獲的圖像資料和/或音訊資料。本發明還涉及解碼器,用於對編碼資料進行解碼,以生成相應的解碼資料,例如表示來源資料的解碼資料。編碼器和解碼器可以使用一個或多個資料庫,資料庫包括資訊,該資訊與編碼資料一起在解碼器處被處理以生成解碼資料;所述一個或多個資料庫可以位於一個或多個資料伺服器。此外,本發明還涉及對來源資料進行編碼以生成相應的編碼資料的方法。本發明還涉及對編碼資料進行解碼以生成相應的解碼資料的方法,解碼資料例如是表示來源資料的解碼資料。上述的方法可以包括使用一個或多個資料庫,資料庫包括資訊,該資訊與編碼資料一起被處理以生成解碼資料。進一步,本發明還涉及記錄在非暫時性機器可讀數據存儲介質上的軟體產品,其中,軟體產品在計算硬體上執行,實現上述方法。
現有技術對來源資料的編碼,例如當前對捕獲的圖像資料進行MPEG編碼,包括處理來源資料,將一個或多個變換應用於來源資料,以將來源資料變換成編碼資料。對編碼資料的解碼,包括處理編碼資料,將一個或多個逆變換應用於編碼資料,以將編碼資料變換成相應的解碼資料,例如表示來源資料的解碼資料。這種編碼可以用於對來源資料進行壓縮,如,為了減小其資料大小以在資料載體上進行傳輸或存儲。這種編碼還可以用於當來源資料被通過互聯網這樣的傳輸介質進行傳輸時提高其安全性。這種編碼器和解碼器通常被實現成獨立完整的處理單元,例如嵌入於數位相機、DVD播放機以及類似的消費產品中。但是,隨著當前資料處理 設備的互聯性的提高,出現了更近的做法,即,把編碼器和解碼器設計成通過使用軟體產品來實現,這樣,它們就可以被重新配置,例如,新近開發或升級的編碼變換被用來生成編碼資料,解碼器可以被適配成能夠處理這樣的編碼資料。
公開的美國專利US4553171描述了一種方法,它參考一個序列的碼字來數位地列印數位圖像,碼字表示原始圖像的區塊。把原始圖像被分成大小一致的區塊以對其編碼。每個區塊被賦以一個唯一的標識,除非它與先前掃描的任何塊是一樣的。一樣的區塊被賦以同樣的標識。碼字表示標識,標識表示區塊,區塊表示原始圖像。當要列印原始圖像時,標識被順序地掃描,相應的區塊被順序地存儲在暫存器中,從而調製印表機以生成原始圖像的列印輸出。這樣,原始圖像被列印自包括標識的資料,標識包括塊索引號,它參考存儲有區塊的表達的某種形式的資料庫。
美國專利US4013828描述了一種處理圖像的方法,其中,圖像被掃描並通過抖動處理處理成為具有預定大小的圖像元素組。每個圖像元素組對應於位於異地的顯示板的相應的一組單元。當每個圖像元素組被掃描時,由將抖動圖像位元對應於圖像元素組的對應關係所代表的一種模式被與存儲於第一記憶體中的模式庫進行比對。如果所述模式不存在於第一記憶體的模式庫中,它被賦予一個碼字並進入記憶體。模式和它的碼字都被傳輸給位於異地的顯示板,在那裡,它們被存儲於第二記憶體。然後,第二記憶體被訪問,對應於掃描圖像的單元組中的各單個單元按照存儲於第二記憶體中的模式被啟動。如果掃描模式與已經存儲於第一記憶體中的模式相同,那麼,只有與該模式相關的碼字被傳輸至異地,從而減少第一記憶體與第二記憶體之間的資料流程量,就是說,通過再利用已經傳送到第二記憶體的資料來減少資料流程量。但是,在傳統意義上,該方法不直接壓縮資料。
公開的英國專利GB2362055描述了一種對圖像進行編碼的方法,該方法包括:(a)把圖像分成圖像塊; (b)對圖像塊進行編碼,編碼的方式是,圖像塊與已經存在於資料庫中的圖像塊進行比較,從資料庫中選擇一個已經存在的塊,該已經存在的塊與步驟(a)中的圖像塊中相應的一個匹配足夠好;(c)參考代表已經存在的塊的碼,對圖像塊進行編碼。
該方法使用了一個碼庫,即,資料庫。但是,由於與資料庫元素相應的資料彼此間沒有聯繫,在資料庫中執行搜索以發現匹配是困難的,隨著資料庫大小的增大,這也需要可觀的計算資源。相反,當資料庫小的時候,圖像塊與已經存在於資料庫中的塊的匹配程式要打折扣,這導致基於此方法生成的編碼資料來構造一個圖像時難以達到滿意的品質水準。不過,該方法包括在無法發現足夠好的匹配時生成新的元素,新元素與標識它的一個參考值被一同傳送。
視頻、圖像、圖形、音訊等數位資料的使用逐年增長。由於這些應用,被存儲和傳輸的資料量也隨著時間的累積快速增長,而且,被存儲和傳輸的資料的這種增長也需要硬體設備的更多資源,例如,需要更多的電力資源用於提供更多的處理能力、需要更大的通訊傳輸頻寬。公開的美國專利申請US2010/322301(申請人:古如羅技微系統公司)描述了一種圖像發生器,它的技術方案是關於如何利用資料庫來節省位元組和生成不同的圖像。儘管如此,仍需要一種編碼器和解碼器,基於高級資料庫的使用,操作用於以更有效的方式傳送各種不同類型的資料庫,以與視頻、圖像、圖形、音訊內容等各種數位資料一同使用。
本發明的目的之一是,提供一種改進的方法,用於對來源資料進行編碼以生成相應的編碼輸出資料,以及提供用於實現對來源資料編碼的方法的編碼器,來源資料可以是捕獲的圖像資料、音訊資料等。
本發明的目的還在於提供一種對編碼資料進行解碼以生成相應的解碼輸出資料的解碼器。
根據本發明的第一方面,提供一種對來源資料進行編碼以生成供傳輸或存儲的相應的編碼輸出資料的方法,其中,來源資料包括以下至少之 一:音訊資料、圖像資料、視頻資料、圖形資料、多維資料、測量資料,所述方法包括:(a)將來源資料的一個或多個部分與一個或多個資料庫中一個或多個元素(E)進行匹配,其中,一個或多個元素(E)表示相應的一個或多個資料塊,記錄參考值(R),參考值(R)把來源資料的一個或多個部分相關於一個或多個匹配的元素(E);(b)把參考值(R)包括於編碼輸出資料中,以及一個或多個資料庫和/或標識一個或多個資料庫的資訊;所述方法還包括:(c)把來源資料分成具有唯一區域識別字(U)的區域;(d)在區域中提取區域特定的(area-specific)樣本,在所述樣本的基礎上計算相應的參考值(R);(e)檢查來源資料中相應於參考值(R)的多個區域的其中之一是否已經被存儲在一個或多個資料庫;存儲和/或傳輸參考值(R)或者壓縮狀態的參考值(R)於編碼資料中,以唯一地標識元素(E);或者,存儲和/或傳輸被編碼的和/或初始來源資料於編碼資料中,並可選地,在參考值(R)未被事先存儲進一個或多個資料庫中的情況下,將其作為一個新的元素(E)存儲於一個或多個資料庫中。
本發明的優點在於,它使得轉碼器能夠取得解碼視頻、圖像、圖形和音訊內容的高品質,並且它所使用的要通訊的資料位元與已知的現有轉碼器相比更少。
在步驟(c)中,唯一區域識別字(U)唯一地描述資料塊的大小、形狀和位置。可選地,所述的大小是固定的大小,如32資料值、8×8資料值或者是取決於資料內容的類型的大小,例如以資料塊乘資料塊表示的大小。區域識別字(U)或者區域識別字(U)的資訊可以是被傳送的或者是被預置的。
關於所述步驟(d)中的取樣,在計算參考值(R)時可能會使用資料的所有樣本或者只是其中的一部分。而且,可以只使用樣本的一部分, 以取得更快的執行以及在所選擇的樣本的相應區域的更大的精度。在計算參考值(R)時還可以使用樣本的權重,以取得與等權重時相比更期望的效果。採樣的方法可以根據個案的需要而選擇,例如,要提高魯棒性或者增強資料的特性。
參考值(R)可以有如下的解釋:(i)為塊/包計算幾個資料值是可行的;其中的一個可以是整個塊/包的資料值的計算的參考值(R),此外還有子塊/包的資料值的一個或多個計算的參考值(R);(ii)元素的參考值可以包括多個部分,如幅度值、標準方差、均值、最小值、最大值、散列值(hash)、索引等;(iii)參考可以用不同的精度來計算,例如,以存在於要被編碼的資料中的空間細節為變數的方程。
可選地,所述方法包括採用一個或多個零平均值資料庫,用來實現一個或多個資料庫。零平均值資料庫採用一個或多個翻譯的或變換的資料值,其中,一個或多個翻譯的或變換的資料值與它們在被翻譯或變換之前的相應的資料值相比,使用較少的資料存儲容量。例如,一個零平均值資料庫的生成方式是,計算一個資料庫中的一個給定資料庫元素中的所有資料值的平均值,從資料值中減去平均值,使得翻譯的或變換的資料值相對於一個零值變化。這樣,一個或多個零平均值資料庫在大小方面小些,當出現要將它們通過通訊網路進行通訊的需要之時,它們可以更有效地被壓縮。一個零平均值資料庫的資料庫元素很少是一個零平均值。但是,它還是一個資料庫元素,通過要麼使其增加1要麼使其減少1,可以獲得一個新的平均值,新的平均值比那個資料庫元素的平均值離零更遠,或者至少與那個資料庫元素的平均值離零一樣遠。它的原因如下:給定的初始資料塊的平均值通常不是整數,而是個實數,即一個浮點數,因此,當整數部分被從平均值中減去,即,從元素的所有資料值中減去,那麼,小數部分要麼是在(-0.5...0.5]的範圍,要麼是在[-0.5...0.5)的範圍。
零平均值資料庫的目的是在一個或多個資料庫中保留空間,即記憶 體的使用,而不是在資料傳輸中保留空間。在實踐中,當使用零平均值時,一個單個塊的資料大小是增大的,因為,不再是原來的動態範圍,需要一人額外的位元來表示零平均值,為了每個元素值,符號位元(sign bit)是必需的。通過把一個預設的基值使用於零平均值資料庫元素,實際使用符號位元的需要可以被從資料庫存儲中消除。資料庫元素值的動態可以通過量化而減小,量化會損失一些資訊。查閱資料表可以被用於動態壓縮,這種方式也導致資訊損失。但是,有了零平均值元素,當平均值變化的時候,沒有新的元素需要被插入資料庫,而是同樣的元素可被再使用,因此一個元素適合於所涉及的動態範圍內的所有的平均值。如果資料庫自己被傳送,那麼只有一個元素需要被傳送,而不是例如256個元素(具有8位元動態的)。即是說,參考的平均值的變化不把新的元素插入資料庫,而是,平均值與資料庫中的元素一起被使用,構造最終的資料塊。
可選地,一個或多個資料庫處於一個或多個伺服器,例如,一個或多個伺服器屬於一個協力廠商,屬於一個或多個服務提供者。一個或多個資料庫的使用傾向于需要付費,例如訂閱費和/或按次收取使用費,付費才能訪問一個或多個資料庫。
當實現所述方法時,一個或多個資料庫包括一個或多個靜態資料庫和/或非動態資料庫。
參考值(R)包括在資料樣本基礎上被計算的值,但它還包括其它部分。參考值是一個不精確的概念。換言之,計算參考值的目的是為了快速搜索,所以,有許多參考值,它們的精度也可以很大或者很小。
關於傳送的參考值(R),這是指在編碼器和解碼器之間單個地標識一個塊的值,正是在傳送的參考值(R)的基礎上,元素被存儲在資料庫中。對於靜態資料庫,傳送的參考值(R)典型地包括一些量化的、或者更精確的、被用在搜索中的參考值(R),以及引用順序數的一些值。對於動態資料庫,傳送的參考值(R)通常僅僅是一個值,該值描述該元素的構造的順序以及它出現的概率。
靜態資料庫通常是不修改的,因此,在編碼器和解碼器,傳送的參 考值(R)對每個元素(E)總是同樣的。另一方面,動態資料庫不斷地被改變;由於一些元素(E)變得更高使用概率,它的參考值(R)不斷地減小,使得它可以更在效地被壓縮。可以理解,儘管動態傳送的參考值(R)包括與塊的樣本有關的部分,但它們不是強制性的。
關於搜索動態元素(E),有了已經為每個元素(E)的被構造的相應的參考值(R),該搜索還可以進一步被加速,所述相應的參考值(R)是從塊樣本構造的,塊樣本按好的精度被存儲。按概率的某種順序來存儲元素(E),經常出現的元素(E)更快地被發現,這樣,動態資料庫中的搜索進一步被加速。由於靜態資料庫的被傳送的參考值(R)包括上述的引用一個順序數的部分,該部分,尤其如果它是幾個位元長,也被動態地使用,如果期望這樣的話,就像上述的動態資料庫的被傳送的參考值(R)一樣。
在給定的靜態資料庫中這種動態通常不是期望的性能,因為在這種情況下,整個資料流程需要被編碼,從它的開始到被使用的位元位置,直到它能保證哪個元素可以在任何給定的情況下被引用。所以,靜態資料庫的一個非常主要的優點,即,它是無歧義的和清楚的,將可能會失去。稍微更好的壓縮率被實現了,但同時,由參考值(R)的動態部分取得的、相關的在解碼資料時的自由跳轉(hopping),將可能會失去。
鑒於此,使用動態資料庫是時間受限的,這種情況下,上述的那些資料中的跳躍的執行方式是使得解碼在動態資料庫的重設置點(resetting point)被重新開始。靜態資料庫的第二個優點是,在編碼被啟動之前它一直是已知的,因此,它的元素(E)通常不需要被傳送到解碼器,也不需要傳送到編碼器。換言之,存在參考值(R)、量化的參考值(R)、順序數、以及傳送的參考值(R)(即,索引),其包括前者的組合,其引用資料庫中一個唯一的元素(E)。
當在編碼器執行搜索,越來越多的精確參考值(R)可以被使用,多於從編碼器傳送給一個檔或者給解碼器的。編碼器還可以有利地為每個資料庫存儲參考值(R)的一個選擇,盡可能地大和精確,從而保證搜索是快速和精確的,即,只需要少數的檢查,但仍很少缺失一個最好的元素(E)。 所述方法使用以下至少之一:(a)通過從一個或多個動態資料庫中選擇元素,生成一個或多個靜態資料庫;(b)存在於來源資料的一個或多個部分中的資訊被處理,生成一個或多個元素(E),以被包括在一個或多個動態資料庫中;(c)從一個或多個更早的資料庫中選擇元素(E),把它們包括在一個或多個動態資料庫中,以與編碼資料一起使用。
本發明的益處包括減小資料存儲中資料的大小,例如,在資料記憶體中、資料載體中、以及類似的,它節省計算資源、電能消耗、以及資料載入時間。
在所述方法中,全世界的互聯網服務提供者都可以在客戶局域網(LAN)提供更快的靜態資料庫伺服器,從而保證更有效的資料傳送,因為,在操作中,只有相對小量的新資料塊被發送,現有的資料庫參考資料塊從給定的LAN中的靜態資料庫伺服器中被接收。所述方法實現於編碼器中,編碼器通過通訊網路連接於一個或多個資料庫。一個或多個資料庫中的至少一個處於通訊網路的LAN中,與編碼器的彼此類似。可選地,一個或多個資料庫託管於一個或多個資料伺服器。資料庫伺服器的實現方式是使它空間地接近實現了所述方法的轉碼器,例如,實現於空間上與之接近的記憶體中。
在所述方法中,參考值(R)包括被分開編碼以被包括在編碼資料之中的多個部分。多個部分中的一個或多個,在被編碼以被包括於編碼資料之中之前,被組合。所述的多個部分有關於通過使用參考值(R)來訪問的一個或多個資料塊的方差V、平均值M、以及幅度A特性。
可以使用標準方差,而不是方差V,而且,更多可選的最小值、最大值、眾數和中值被用作新的參考值(R)。關於最小值、最大值、和幅度,只有兩個是需要的,第三個可以根據另兩個來計算。此外,當要搜索一個完美的擊中(hit),或者當希望在塊的組合中以不同於使用順序資料的方式把否則就具有類似的參考值(R)的塊彼此區分開來,各種不同的散列值和 CRC值也是有效的參考值(R)。這種方法的益處在於,散列值與CRC值可以從給定資料塊的資料中被計算,因而它們不取決於傳送的順序。
所有的值都可以用在搜索中,且具有完整的精度,但是,當參考值(R)被傳送或者元素(E)被存儲在資料中,某些參考值按一定的精度被選擇(0-n個專案),還有與順序數相關的片斷或部分,它們都清楚地無歧義地標識存儲的資料庫元素和它們的資料值。
被傳送的參考值(R)的參數的精度和數量還取決於一個品質參數(Q)。例如,從靜態資料庫以好的品質傳送的參考值(R)包括一個8位元平均值、一個8位元標準方差值、一個6位元幅度值、一個6位元最小值、和一個8位元順序數;對於從靜態資料庫以差品質傳送的參考值(R),一個7位元平均值、一個7位元標準方差值、一個5位元幅度值、和一個4位元順序數就足夠了。
對於動態資料庫,從動態資料庫以好的品質傳送的參考值(R)包括一個順序數,用例如16位元表示,對於差品質的情況,例如10位元就夠了。存儲的參考值(R)和用於搜索的參考值(R)可以用16位元來表示,用於它們的平均值和標準方差,連同用來描述資料的動態的資訊,例如,8位元用於幅度、最小值、最大值、眾數、中值。可以理解,依賴於資料的所有參考值(R)都是從解碼資料塊的樣本中計算得來的,既在編碼器也在解碼器,因此,編碼器和解碼器都始終能夠以同樣的精度計算它們,並且以它們自己期望的精度來計算。
編碼器需要完全的精度用於快速搜索,而且,編碼器和解碼器需要甚至那些已經被計算的值,至少具有傳送所必需的精度,以至於資料庫元素(E)可以被存儲在正確的資料庫位址,為後來之用,如被傳送的參考值(R)所指示的那樣。可以理解,參考值(R)的量化是壓縮是不同的事情,雖然二者都減小編碼資料的量。壓縮是可恢復的,而量化按一種期望的方式損失資訊,為了使得值更容易使用,它明顯地減小要被傳送的資料庫的大小和一定資料的資料。
在所述方法中,參考值(R)包括用於指導在一個或多個資料庫中 搜索相應的一個或多個元素(E)的資訊。
在所述方法中,一個或多個元素(E)包括一個或多個參數,從這些參數,一個或多個相應的資料塊可以通過內插值來計算。此外,內插值、其它計算方法如抽取(decimation)、外插值、剪裁(cropping)等都可能採用。這些涉及所有這樣的資料庫元素(E),它們通過向下或向下的縮放來被使用,或者通過把值放大成更大的塊,或者通過僅使用元素的一個更小的片斷。外插值和剪裁自然也需要一位元的資訊,用來表示外插值發生在哪裡,在塊的哪一部分來執行剪裁;但內插值和抽取可以根據要被解碼的塊的大小與資料庫元素(E)的塊的大小之間的關係自動地工作。用於內插值和剪裁的方法可以被存儲和/或傳送給編碼資料,或者它們可以被預選。
可選地,在所述方法中,一個或多個動態資料庫在一個有限的時間期間被生成,在所述期間之後,它們被刪除。
所述方法包括,按照資料庫內訪問元素(E)的頻率的一個方程,構造一個或多個資料庫,使得更經常被訪問的元素(E)可以通過使用參考值(R)被更快地訪問。
在所述方法中,當不能找到來源資料的一個或多個部分與一個或多個靜態資料庫中的一個或多個元素(E)之間的匹配,或者當元素(E)在它們的一個或多個傳送的參考值(R)中使用太多的位元時,生成一個或多個動態資料庫的元素(E)。
在所述方法中,來源資料的一個或多個部分與一個或多個資料庫的一個或多個元素(E)之間的匹配是在一個品質閾值內成立,其中,品質閾值在參考值(R)的生成過程中是動態改變的。
在所述方法中,一個或多個參考值(R)被用於使用由一個或多個參考值(R)定義的一個或多個元素(E)來重構來源資料的一個或多個相應部分,其中,在重構的一個或多個部分與來源資料的相應的初始的一個或多個部分之間確定誤差,所述誤差被編碼並被包括在編碼資料中。
在所述方法中,對應於一個或多個元素(E)的一個或多個資料塊是以下至少之一:1維、2維、3維、當被直觀顯示時是多邊形的、當被直 觀顯示時是矩形的、當被直觀顯示時是橢圓的、當被直觀顯示時是圓的、當被直觀顯示時是細長的、當被直觀顯示時是三角形的。
在所述方法中,第一資料庫的一個或多個元素(E)可操作用於引用存在於一個或多個資料庫的一個或多個其它的資料庫中的元素(E),換言之,第一資料庫的一個元素(E)可以引用第二資料庫的一個元素(E),一個資料塊衍生自第二資料庫。
在所述方法中,被包括在編碼資料中的一個或多個參考值(R)是壓縮的形式。
在所述方法中,取決於存在於來源資料中內容的性質,一個或多個資料庫被選擇和/或在大小方面不同。
根據本發明的第二方面,提供編碼器,用於對來源資料進行編碼以生成相應的編碼資料(30),其中,所述編碼器包括:(a)第一資料處理硬體,用於將來源資料的一個或多個部分與一個或多個資料庫中一個或多個元素(E)進行匹配,其中,一個或多個元素(E)表示相應的一個或多個資料塊,記錄參考值(R),參考值(R)把來源資料的一個或多個部分相關於一個或多個匹配的元素(E);(b)第二資料處理硬體,用於把參考值(R)包括於編碼資料中,以及一個或多個資料庫和/或標識一個或多個資料庫的資訊;其中,來源資料包括以下至少之一:音訊資料、圖像資料、視頻資料、圖形資料、多維資料、測量資料;其中,所述編碼器操作用於:(c)接收一個或多個資料塊形式的來源資料,把所述一個或多個資料塊分成具有唯一區域識別字(U)的區域;(d)在一個或多個資料塊的區域中提取區域特定的樣本,在所述樣本的基礎上計算相應的參考值(R);(e)檢查來源資料(20)中相應於參考值(R)的多個區域的其中之一是否已經被存儲在一個或多個資料庫(100);存儲和/或傳輸被計算得的參考值(R)或者壓縮狀態的參考值(R)於編碼資料中,以唯一地標 識元素(E);或者,存儲和/或傳輸被編碼的和/或初始來源資料於編碼資料中,並可選地,在參考值(R)未被事先存儲進一個或多個資料庫中的情況下,將其作為一個新的元素(E)存儲於一個或多個資料庫中。
可選地,在所述編碼器中,一個或多個資料庫包括一個或多個靜態資料庫和/或一個或多個動態資料庫。
可選地,所述編碼器使用以下至少之一:(a)通過從一個或多個動態資料庫中選擇元素,生成一個或多個靜態資料庫;(b)存在於來源資料的一個或多個部分中的資訊被處理,生成一個或多個元素(E),以被包括在一個或多個動態資料庫中;(c)從一個或多個更早的資料庫中選擇元素(E),把它們包括在一個或多個動態資料庫中,以與編碼資料一起使用。
可選地,編碼器通過通訊網路連接於一個或多個資料庫,其中,一個或多個資料庫中的至少一個處於通訊網路的局域網(LAN)中,與編碼器的彼此類似。使用一個或多個資料庫伺服器來實現一個或多個資料庫。
可選地,在所述編碼器中,第一資料處理硬體生成參考值(R),包括被分開編碼以被包括在編碼資料之中的多個部分。編碼器在對多個部分中的一個或多個進行編碼以被包括於編碼資料之中之前,組合多個部分中的一個或多個。
可選地,在所述編碼器中,參考值(R)包括用於指導在一個或多個資料庫中搜索相應的一個或多個元素(E)的資訊。
可選地,在所述編碼器中,參考值(R)包括參數,從這些參數,一個或多個相應的資料塊可以通過內插值來計算。可選地,或替代地,在編碼器中,抽取、外插值、剪裁也被採用。這些計算有益地涉及所有這樣的資料庫元素(E),它們通過向下或向下的縮放來被使用,或者通過把值放大成更大的塊,或者通過僅使用元素的一個更小的片斷。外插值和剪裁額外地需要關於外插值發生在哪裡的資訊、關於在塊的哪一部分來執行剪裁的資訊;但內插值和抽取可以根據要被解碼的塊的大小與資料庫元素的 塊的大小之間的關係自動地工作。可選地,用於內插值和剪裁的方法可以被存儲和/或傳送給編碼資料,或者它們可以被預選。
可選地,在所述編碼器中,一個或多個動態資料庫在一個有限的時間期間被生成,在所述期間之後,它們被刪除。
可選地,所述編碼器可操作用於,按照資料庫內訪問元素(E)的頻率的一個方程,構造一個或多個資料庫,使得更經常被訪問的元素(E)可以通過使用參考值(R)被更快地訪問。
可選地,在所述編碼器中,當不能找到來源資料的一個或多個部分與一個或多個靜態資料庫中的一個或多個元素(E)之間的匹配,或者當元素(E)在它們的傳送的參考值(R)中使用太多的位元時,生成一個或多個動態資料庫的元素(E)。
可選地,在所述編碼器中,來源資料的一個或多個部分與一個或多個資料庫的一個或多個元素(E)之間的匹配是由第一資料處理硬體在一個品質閾值內造成的,其中,品質閾值在參考值(R)的生成過程中是動態改變的。
可選地,在所述編碼器中,第一資料處理硬體可操作用於使用一個或多個參考值(R),通過使用由一個或多個參考值(R)定義的一個或多個元素(E)來重構來源資料的一個或多個相應的部分,其中,第一資料處理硬體可操作用於在重構的一個或多個部分與來源資料的相應的初始的一個或多個部分之間確定誤差,第二資料處理硬體可操作用於對所述誤差進行編碼並將他們包括在編碼資料中。
可選地,在所述編碼器中,對應於一個或多個元素(E)的一個或多個資料塊是以下至少之一:1維、2維、3維、當被直觀顯示時是多邊形的、當被直觀顯示時是矩形的、當被直觀顯示時是橢圓的、當被直觀顯示時是圓的、當被直觀顯示時是細長的、當被直觀顯示時是三角形的。
可選地,在所述編碼器中,第一資料庫的一個或多個元素(E)可操作用於引用存在於一個或多個資料庫的一個或多個其它的資料庫中的元素(E)。
可選地,在所述編碼器中,被包括在編碼資料中的一個或多個參考值(R)是壓縮的形式。
可選地,在所述編碼器中,第一資料處理硬體可操作用於根據存在於來源資料中內容的性質,選擇一個或多個資料庫。
根據本發明的協力廠商面,提供一種對編碼資料進行解碼以生成相應的解碼輸出資料的方法,所述方法包括:(a)接收包括參考值(R)、關於區域識別符的資訊、和關於一個或多個資料庫的資訊的編碼資料;(b)從編碼資料中解碼參考值(R);(c)按照參考值(R)的引導,從一個或多個資料庫訪問一個或多個元素(E),其中,一個或多個元素(E)代表一個或多個相應的資料塊;(d)生成一個或多個資料塊以組成相應的總體的解碼輸出資料。可選地,所述方法包括:(e)在一個資料庫中保留資料,其中,所述資料包括對應於參考值(R)的音訊資料、圖像資料、視頻資料、圖形資料、多維資料、測量資料中的至少一個;(f)基於包括在編碼資料中的關於區域識別符的資訊,生成區域識別符(U);(g)從編碼資料中接收或恢復對應於一個或多個區域識別符(U)的參考值(R);(h)基於為了相應的一個或多個區域識別符(U)的參考值(R),從資料庫恢復對應於參考值(R)的資料;(i)基於從資料庫恢復的資料,生成一個資料塊,基於區域識別符(U),所述資料塊被組成總體的解碼輸出資料。
關於所述方法的步驟(c),需要注意,在解碼器用於元素(E)的參考值(R)就是被用於傳輸的樣子,即,被量化,且包括幾個片斷。對於同一個元素(E),可以存在幾個參考值(R),因為參考值(R)可能同時在一個或多個動態資料庫和/或一個或多個靜態資料庫中被使用。此外,好品 質的資料塊可能也被用於低品質的資料塊。具有不同量化水準的參考值(R)的部分將產生塊的不同參考值(R)。換言之,一個給定的元素(E)可能可選地具有幾個參考值(R),但一個參考值(R)不能引用幾個元素(E),除非它們存在於不同的資料庫,或者它們被用於不同的品質,或者它們不包括元素(E)的這種特性,即,元素(E)能夠清楚地無歧義地從幾個選項中被選擇。
例如,如果這樣的元素(E)被用在平均值被省略的地方,那麼,具有大的幅度、已經使用大的平均值被生成的這個塊就可以被用作有小的平均值的塊的否定(negation),而它仍然可以被用於這種具有大的平均值的塊。如果試圖在它們之間彼此切換,那麼這將導致數值不在資料值的動態範圍內,例如8位元的資料,對於它,沒有均值、±8位元資料賦值(data-valued)資料庫元素被使用。如果幅度值是200,存儲的平均值1是220,使用的平均值2是30,那麼,否定(negation)的使用或者不使用否定都是清楚地可推理得出的。這時,沒有平均值的資料庫元素的資料值可能是-170,它不能被用於與平均值2組合,但作為一個否定,所關注的資料值為+170將是有效的。所以,傳送的參考值可以包含除了參考值片斷或順序號之外的其它資訊,雖然實踐中該其它資訊通常是有利地作為一條單獨的編碼資訊而被傳送。例如,對於沒有平均值的資料庫,平均值自身就已經是一條一直必要的資訊,它可以是參考值(R)的一部分,也可以是單獨的編碼資訊插入。
相應地,如果期望同一個元素(E)包含旋轉或翻轉(rotated or flipped)的版本,那麼為了不同的變化,可以在參考值(R)中有一個特殊的數位資訊片斷,或者,進行編碼資訊一個單獨發送來表示這一資訊。對於所有這些都共同的是,對於一個存儲在資料庫中的元素(E),可以產生不同的解碼塊,這取決於那些像平均值、旋轉和翻轉這樣的參數是如何設置的,對於縮放、剪裁、外插值等也是類似的。
這些條資訊的一部分是這樣安排的,在已經接收到的其它資訊的基礎上,或者是在早先的解碼塊的基礎上,正確的變化是能夠推導出的,但是相應地,為了確定一個解碼方法是無歧義的,它們的一部分將必須被發 送,如果替代項的使用在解碼器中允許的。例如,幅度與具有否定意義的平均值的關係在大幅度與小或大的平均值的情況下是推理成立的,但是,若非如此,它就是推理不成立的。相應地,在早先的解碼塊的基礎上,基於連線性,通常可以推導出哪個旋轉或翻轉是正確的那個。但是,在推理不是無歧義地清楚的所有情況下,必須傳送額外的資訊,要麼是作為參考值(R)的一部分,要麼是作為單獨的一條資訊。
可選地,在所述方法中,一個或多個資料庫包括一個或多個靜態資料庫和/或一個或多個動態資料庫。
可選地,在所述方法中,一個或多個資料庫的空間設置是,資料庫位於被安排執行所述方法資料處理硬體的本地。可選地,一個或多個資料庫被託管在一個LAN之中,LAN還包括所述資料處理硬體。
可選地,所述方法包括,從一個或多個靜態資料庫的一個或多個元素(E)和/或在編碼資料中提供的資訊,生成一個或多個動態資料庫,其中,生成的一個或多個動態資料庫用來對編碼資料進行解碼。
可選地,所述方法包括,從一個或多個元素(E)生成相應的一個或多個資料塊,一個或多個資料塊是以下至少之一:1維、2維、3維、當被直觀顯示時是多邊形的、當被直觀顯示時是矩形的、當被直觀顯示時是橢圓的、當被直觀顯示時是圓的、當被直觀顯示時是細長的、當被直觀顯示時是三角形的。
根據本發明的第四方面,提供一種解碼器,用於對編碼資料進行解碼以生成相應的解碼資料,所述解碼器包括:(a)第一資料處理硬體,用於接收包括參考值(R)、關於區域識別符的資訊、和關於一個或多個資料庫的資訊的編碼資料;(b)第二資料處理硬體,用於從編碼資料中解碼參考值(R);(c)第三資料處理硬體,用於按照參考值(R)的引導,從一個或多個資料庫訪問一個或多個元素(E),其中,一個或多個元素(E)代表一個或多個相應的資料塊;(d)第四資料處理硬體,用於生成一個或多個資料塊以組成相應 的總體的解碼輸出資料。
可以理解,第一和第二資料處理硬體可以是同一個處理單元,也可以是分開的處理單元。類似地,可以有許多處理單元執行第一和/或第二處理硬體的功能。實現的可能性是無數的,不限於這裡所描述的示例。
可選地,所述解碼器被配置成用於:(e)在一個資料參考值(R)中保留資料,其中,所述資料包括對應於參考值(R)的音訊資料、圖像資料、視頻資料、圖形資料、多維資料、測量資料中的至少一個;(f)基於包括在編碼資料中的關於區域識別符的資訊,生成區域識別符(U);(g)從編碼資料中接收或恢復對應於一個或多個區域識別符(U)的參考值(R);(h)基於為了相應的一個或多個區域識別符(U)的參考值(R),從資料庫恢復對應於參考值(R)的資料;(i)基於從資料庫恢復的資料,生成一個資料塊,基於區域識別符(U),所述資料塊被組成總體的解碼輸出資料。
可選地,在所述解碼器中,一個或多個資料庫包括一個或多個靜態資料庫和/或一個或多個動態資料庫。
可選地,在所述解碼器中,一個或多個資料庫的空間設置是,資料庫位於解碼器的資料處理硬體的本地。可選地,在解碼器中,一個或多個資料庫被託管在一個LAN之中,LAN還包括解碼器的所述資料處理硬體。替代地,一個或多個資料庫處於解碼器中,例如,處於它的資料記憶體中(RAM、ROM)。
可選地,所述解碼器可操作用於,從一個或多個靜態資料庫的一個或多個元素(E)和/或在編碼資料中提供的資訊,生成一個或多個動態資料庫,其中,生成的一個或多個動態資料庫用來對編碼資料進行解碼以生成相應的解碼資料。
可選地,所述解碼器可操作用於,從一個或多個元素(E)生成相 應的一個或多個資料塊,一個或多個資料塊是以下至少之一:1維、2維、3維、當被直觀顯示時是多邊形的、當被直觀顯示時是矩形的、當被直觀顯示時是橢圓的、當被直觀顯示時是圓的、當被直觀顯示時是細長的、當被直觀顯示時是三角形的。
根據本發明的第五方面,提供一種轉碼器,包括至少一個根據本發明的第二方面的用於對來源資料進行編碼以生成相應的編碼資料的編碼器,和至少一個根據本發明的第四方面的用於接收編碼資料並對編碼資料進行解碼以生成相應的解碼資料的解碼器。
可選地,所述轉碼器被包括進一個或多個消費電子產品,例如,個人電腦(PC)、視頻記錄儀、視頻播放機、智慧手機、遊戲裝置、科學儀器、醫療儀器、監視裝置、安全裝置、感測器和其它測量裝置、以及數位相機。
可選地,所述轉碼器的實現是使得至少一個編碼器和至少一個解碼器共用被包括在編碼資料中的參考值(R)所引用的一個或多個資料庫。
根據本發明的第六方面,提供記錄在非暫時性機器可讀數據存儲介質上的軟體產品,其中,軟體產品在編碼器的計算硬體上執行,實現本發明的第一方面的方法。
根據本發明的第七方面,提供記錄在非暫時性機器可讀數據存儲介質上的軟體產品,其中,軟體產品在解碼器的計算硬體上執行,實現本發明的協力廠商面的方法。
在不背離本發明的範圍的情況下,本發明的特徵還可以做各種組合。
A,310C‧‧‧幅度
CRC,310D‧‧‧迴圈冗餘校驗
E‧‧‧元素
M,310B‧‧‧平均值
R,300‧‧‧參考值
V,310A‧‧‧方差
5‧‧‧轉碼器
10‧‧‧編碼器
20‧‧‧來源資料
30‧‧‧編碼資料
50‧‧‧解碼器
60‧‧‧解碼資料
100‧‧‧資料庫
110‧‧‧靜態資料庫
120‧‧‧動態資料庫
200‧‧‧新元素
210‧‧‧參考值R
220,220’‧‧‧資料塊
230,230R‧‧‧硬體
下面結合附圖對本發明的實施例以例示的方式加以說明。
圖1是本發明的編碼器和解碼器的示意圖,它們共同組成一個轉碼器;圖2是在圖1的轉碼器中一個元素被發送的示意圖;圖3是在圖1的轉碼器內一個參考值的多個分別定義的部分被通訊的示意圖。
在附圖中,使用帶底線的數字來代表專案,所代表的專案位於底線資料所處的位置或接近的位置。無底線數位所表示的專案通過指示線與無底線數位連接。
在描述本發明的實施例時,採用表1所列出的縮寫詞。
概括而言,如圖1所示,本發明是關於用於對來源資料20進行編碼以生成相應的編碼資料30的編碼器10,和用於接收並解碼相應的編碼資料30以生成相應的解碼資料60的解碼器50,編碼器10和解碼器50共同構成轉碼器5。解碼資料60是來源資料20的呈現,來源資料20例如可以是以下至少之一:音訊、1維圖像、2維圖像、3維圖像、視頻內容、圖形 資料、捕獲的音訊、捕獲的圖像、捕獲的視頻、ASCII和二進位資料、以及測量資料和被生成的資料。編碼器10和解碼器50可操作用於使用一個或多個資料庫100以對來源資料20編碼和對編碼資料30解碼。此外,一個或多個資料庫100包括一個或多個靜態資料庫110和/或一個或多個動態資料庫120,它們將在下文加以詳述。可選地,一個或多個靜態資料庫110、動態資料庫120是通過一個或多個資料伺服器來提供,資料伺服器可以在空間上遠離編碼器10和解碼器50。可選地,提供至少一個同樣的資料庫100共用於編碼器10和解碼器50。這樣的安排使得多個拷貝的資料不需要在資料通訊網路之間可用,例如,在多個空間上分立的資料伺服器上,以及被實現為資料伺服器的對等網路,從而提供更大的資料安全性。可選地,一個或多個資料庫100的安排是使得編碼器10和解碼器50均分別具有它自己的專用編碼資料庫和解碼資料庫,它們可被託管在一個或多個資料伺服器。
可以理解,一個或多個資料庫100可以以多種不同的方式來實現。當編碼器10和解碼器50的一個或多個需要來自一個或多個資料庫100的資訊,資料庫100實現為一個或多個資料伺服器,這些資訊可以以直接的方式被提供,或者以間接的方式被提供。當以直接的方式提供時,編碼器10和/或解碼器50發送一個請求給資料伺服器的一個或多個,請求其提供資訊,然後,一個或多個資料伺服器提供資訊給編碼器10和/或解碼器50,如,加密資訊、編碼方式資訊、解碼方法資訊、圖像元素庫等等。當以間接的方式提供時,編碼器10和/或解碼器50發送第一請求給伺服器的一個或多個,作為響應,該一個或多個伺服器提供關於在其那裡有資訊可用的一個或多個其它伺服器的資訊,然後,編碼器10和/或解碼器50發送第二請求給一個或多個其它資料伺服器,請求其提供資訊給編碼器10和/或解碼器50。可選地,關於資料伺服器,可以採用多於兩級的請求。可選地,第一請求和第二請求的至少一個是加密的,以防止未授權的編碼和/或解碼,如,防止未經授權的檔傳送,這種未經授權的傳送是當今音樂產業的一個主要問題。可選地,第一請求被發至在空間上處於異地的資料伺服器,第一請求被發至在空間上處於更近距離的資料伺服器。與第一請求相關的資料流 程量是中等的,因而容易被資訊網路來接納和處理。同是地,與回應第二請求相關的資料流程量可能是可觀的,因而便於在空間上接近編碼器10和/或解碼器50之處來接納和處理。可選地,第一請求包括位置資訊,表示編碼器10和/或解碼器50空間上或者在通訊網路內設置在哪裡,對第一請求的回應包括資訊,該資訊是關於能夠提供相關的編碼和/或解碼資訊給編碼器10和/或解碼器50的、與編碼器10和/或解碼器50空間最近的合適的資料庫、或者最近的適於連接的資料庫,如數據伺服器,的資訊。可選地,對第一請求的回應為編碼器10和/或解碼器50提供能夠供應合適資訊的多個可能的資料庫的選擇,所述的選擇是基於一個或多個技術提標,如,最快的可能的資料連接、耗能最低的資料連接、價格最低的資料連接,等。雖然這裡闡述了第一請求和第二請求的情況,可以理解,在需要時,多於兩個的請求是可以採用的,如多個請求,使得未經授權者更難以對編碼內容進行未授權的解碼。
可選地,從一個中心位置發佈一個或多個訪問碼,所述訪問碼使得解碼器50能夠獲得用於對它那裡的內容資料進行解碼的資料,這樣,多個這樣的解碼器大致在同時被使能,這適用於一部新的電影大片(block-buster film)通過通訊網路被發佈和傳送的情形,該電影之發佈和允許觀賞需要被協調和控制。這種控制還使得發佈之後對視頻內容的審查能夠實現,這可以用於例如發生了法庭禁令或者著作權侵權的情形。
本發明的實施例有益地採用美國專利申請US2010/322301(名稱:影像處理器、圖像發生器及電腦程式,發明人:Tuomas Kärkkäinen,申請人:Gurulogic Microsystems Oy,2009年)所描述的圖像發生器的技術,其內容在此被包括以作為參考。但本發明使用該技術,也使用其它技術,只有它們是有效的和通用的。
在本發明的實施例中,當編碼資料30從編碼器10被發送給解碼器50時,生成了一個或多個動態資料庫120及其相關元素E。而且,一個或多個靜態資料庫110被生成自一個或多個動態資料庫120,或者被發送於編碼資料30被發送給解碼器50之前,或者被預先安裝於解碼器50之中。
當資料庫元素E被發送給解碼器50,它們可以與一個或多個參考值R一起被發送,或者部分地與參考值R一起,或者沒有參考值,這取決於所使用的編碼演算法。編碼器10和解碼器50可以被操作用於計算給定的資料庫元素E的所有的參考值,或者一部分參考值,直接從要被存儲於給定資料庫元素E中的資料來計算,換言之,以重構資料塊的方式來計算。關於給定的資料庫元素E,當給定的資料庫元素E的至少一部分計算得的參考值R被在編碼器10和解碼器50之間發送時,可以實現一個錯誤檢測機制。
編碼器10和解碼器50用於編碼和解碼各自的資料,這些資料的至少一部分是按照已知的編碼標準被編碼的,這些標準被列於表2。
在圖1中,用於一個或多個資料庫100的元素E的資料被編碼,以從編碼器10發送給解碼器50,使得資料庫元素E的發送與編碼圖像資料或其它類型的資料的發送是同時的,所述的其它類型的資料例如音訊資料、視頻資料、圖形資料、多維資料、測量資料、文本資料、二進位資料。通常,元素E被生成自編碼資料,即解碼後。來自一個或多個資料庫100的元素E的編碼使得編碼器10和解碼器50之間有效的資料庫傳送得以實現,即,使得用來實現解碼器50的設備中有效地存儲資料庫100。如果採用了一個或多個靜態資料庫110,編碼器10和解碼器50被使得知曉可用的資料庫,或者,編碼器10和解碼器50彼此通訊以確定哪個資料庫是可用的。可選地,在編碼資料被從編碼器10通訊給解碼器50之前,編碼器10和解碼器50二者均可以通過互相對話的方式來定義哪個資料庫將要被使用,其中,資料庫被用於在解碼器50對編碼資料30進行解碼以生成解碼資料60。
編碼器10和解碼器50被使用於各種行業的大範圍的實際應用中,這些應用被列於表3。
有益地,表3所列的這些應用使用下述的專利所描述的編碼器:英國專利申請GB1214414.3、其同族美國專利申請US13/584005、以及相應的歐洲專利申請EP13002521,它們在此被一併作為參考;這些應用還使用下述的專利所描述的解碼器:英國專利申請GB1214400.2、其同族美國專利申請US13/584047、以及相應的歐洲專利申請EP13002520,它們在此被一併作為參考。下面這些專利在此也被一併作為參考:專利申請GB1218942.9、其相應同族歐洲專利申請EP13003859、GB1303658.7、GB1303661.1、GB1303660.3、GB1312815.2、GB1312818.6。
概括而言,圖1的轉碼器5使得被從編碼器10通訊到解碼器50的數位資料,如視頻、圖像、圖形和音訊內容,大部分地或全部地組建自資料庫元素E,而資料庫元素E是產生自一個或多個資料庫100。所採用的一個或多個資料庫100取決於以下因素,但不限於以下因素:(i)所採用的一個或多個資料庫100具有不同的大小,如,基於正從編碼器10發送至解碼器50的資料內容的類型;(ii)所採用的一個或多個資料庫100取決於所需要的在解碼器50資料重建的品質;(iii)所採用的一個或多個資料庫100取決於要被從編碼器10發送到解碼器50的資料的大小;(iv)所採用的一個或多個資料庫100取決於可用於從編碼器10向解 碼器50發送編碼資料30的頻寬;(v)所採用的一個或多個資料庫100取決於在一個或多個資料庫100與解碼器50和/或編碼器10之間的可用頻寬;(vi)所採用的一個或多個資料庫100取決於在一個或多個資料庫100與解碼器50和/或編碼器10之間的回應時間;(vii)所採用的一個或多個資料庫100取決於從那裡存取資料的成本,即費用價格;(viii)所採用的一個或多個資料庫100取決於從那裡供應的資料中發生的資料錯誤的一個方程;(ix)所採用的一個或多個資料庫100還取決於資料庫的空間(地理)位置。
在編碼器30中,所通訊的一個或多個資料庫參考值R是被存儲和發送的,而不是作為編碼資料塊。要實現從編碼器10到解碼器50的這種資料通訊,一個或多個靜態資料庫110和動態資料庫120需要盡可能地大。大資料庫需要更多的記憶體容量來存儲它們,這些更大的資料庫使得轉碼器5實現解碼資料60的更好的重構品質。有益地,轉碼器5在資料庫100之中選擇,以找到它們的一種最合適的組合,以用於要被通訊的編碼資料30中的給定的資料類型,例如視頻、圖像、圖形和音訊內容,即,實現資料庫100的有效利用以及相應地提高壓縮率。可以理解,當資料庫100更大且包括更多的元素E,資料庫元素E需要更多的資料位元。
為了有效地利用一個或多個資料庫100,可以生成幾個靜態資料庫110,用於共同的數位資料,如視頻、圖像、圖形和音訊內容。一個或多個靜態資料庫110與編碼器10一同使用,針對編碼資料30提供資料壓縮。例如,基於要被編碼的數位資料的類型來選擇一個靜態資料庫110,取決於要被使用的記憶體容量以及要在解碼器50實現的所需要的重構品質,靜態資料庫110的大小可以有很大的不同,靜態資料庫110也可以在所採用的資料塊的大小、所採用的資料庫元素E的數目等方面各不相同。
如前所述,編碼器10和解碼器50一同組成轉碼器5,其中,當從 編碼器10向解碼器50發送資料時使用一個或多個動態資料庫120。與靜態資料庫110相比,動態資料庫120包括不同的資料庫元素E,因為動態資料庫120的資料庫元素E典型地由編碼器10當編碼來源資料20時靜態資料庫110中沒有足夠的合適的元素的時候生成。如前所述,在對來源資料20進行編碼和對相應的編碼資料30進行解碼時,編碼器10和解碼器50都可能需要生成一個或多個靜態資料庫,使得編碼器10和解碼器50之間的相容性得到保證,重構的解碼資料60將實質地與來源資料20相匹配。一個或多個動態資料庫120被生成作為臨時之用,例如,當編碼資料30包括視頻內容時為了視頻幀的定義的間隔所用,此外,一個或多個動態資料庫120可以被再生成,以每秒的形式,而且,用於其後的30秒期間,然後被去除。所述的期間的長度可以在幾秒到整個視頻場景和電影章節長度(如幾分鐘的編碼視頻內容)之間波動。根據本發明,可以從為了先前生成的一個或多個動態資料庫而產生的元素E來生成一個新的靜態資料庫110,作為另一種形式,生成的動態資料庫120可以在其內容方面是恒定的,之後作為靜態資料庫110來工作。
不管採用哪種類型的資料庫100,靜態或動態,根據本發明的轉碼器5包括編碼器10和解碼器50一起,當存儲發送對相應於編碼資料30的資料(如視頻、圖像、圖形和音訊內容)時,它能夠減少處理時間,即所需要的處理資源和資料記憶體容量。當編碼資料30要通過例如無線通訊網和互聯網這樣的資料通訊網路來通訊的時候,這種益處是很重要的,因為編碼資料30不再難以被通訊網路來接納處理,例如,以即時流的方式來處理。
與公開的美國專利申請US2010/322301中描述的圖像發生器相比,圖1中的轉碼器5能夠提供在編碼資料30中的更高程式的資料壓縮。此改進的壓縮與發送參考值(R)以及有關區域識別字(U)的資訊有關。在本發明的上下文中,區域識別字(U)被用來傳遞空間資訊,所述空間資訊是關於在相應資料中(如,在原始圖像中、在原始感測器資料中,或類似的)在什麼地方衍生出了一個給定資料塊。有益地,區域識別字(U)描述資料 中資料塊的大小、形狀和位置。可選地,區域識別字(U)與相應的塊一起發送,但這是很不有效的方法。有益地,當實現本發明的實施例時,通訊關於區域識別字(U)的資訊是一種替代方式,替代僅僅通訊區域識別字(U)它們自己的方式。例如,基於與區域識別字(U)有關的資訊,如,分割/組合資訊,對編碼資料進行解碼時,獲得區域識別字(U)。另一種方式,區域識別字(U)可以被預設,而且沒有其它資訊需要被發送。有益地,資料庫不以任何方式編輯或調取區域識別字(U),而是,基於參考值(R)從資料中被恢復的元素(E)被採用,並且它們的重構的資料塊被放入重構的結果資料中被區域識別字(U)指示的位置。
有時,關於區域識別字(U)的資訊被預設在資料中,如,塊是等大小的,它們在按一定的順序被編碼的;這種情況下,沒有真正的新資訊需要被傳送。由於資料中沒有額外的關於區域識別字(U)的資訊來改變預設的方式以為了將要按照其順序而來的編碼資料塊而生成區域識別字(U),所以採用預設的方式是不言而喻的。
在某種情形下,會有被傳送的資訊用來表示一個或多個期望的資料塊大小和處理順序,或者是發送了從幾個選項中選擇的一個或多個資料塊大小和處理順序。有時,編碼器可以給解碼器還發送定義了資料塊的大小、形狀、和位置、以及它們的處理順序這樣的分割/組合資訊,因而,被接收和被解碼的資料塊(如,從資料庫恢復的資料塊)可以一直被無歧義地、唯一地放入重構的結果資料中的正確位置。
可以採用美國專利申請US13/584005和US13/584047中的編碼方案來傳送定義區域識別字(U)的這種分割/組合資訊。
區域識別字(U)可以由許多種方式來生成,取決於所採用編碼方法。在前述的塊編碼器/解碼器中,區域識別字(U)可以衍生自對塊進行分割/組合時的分割/組合資訊,有時,區域識別字(U)是已經可用的或已知的,與區域識別字(U)有關的資訊就簡單地是已經可用的或已知的區域識別字(U)的資訊。
有時候,由於用來傳送和存儲的方法,編碼資料的順序是不能被保 證的。出於此原因,資料中所採用的區域識別字(U)多於真實的資料編碼和資料解碼所需要的,一個區域識別字(U)被插入到例如每個資料大塊(chunk)以表示與該資料大塊所對應的第一資料塊處在哪裡。類似地,有時一個順序號被加入每個資料大塊,以表示資料大塊的順序。這樣,該資訊避免了對區域識別字(U)的需要。可選地,本發明的實施伴隨著使用美國專利US8169547作為例示描述的採用變化的和不變化的資料的方案。如果有一個方案僅發送變化的資料塊,那麼,區域識別字(U)需要被使用,以描述那些變化的塊的位置,尤其是,如果沒有其它資訊唯一地描述變化的資料塊的位置。
這種提高了的資料壓縮在圖2所示的方案中實現,此方案中,自編碼器10向解碼器50通訊動態資料庫120的一個新的元素E 200,不需要與新元素200一起發送其相應的參考值R210。這一特性的實現是基於數位資料塊220的元素E的所有的參考值R都能夠通過使用解碼器50和編碼器10中的計算硬體230和230R從重構的資料塊220’中被重新計算。可以理解,這種情況下,元素E就是從編碼器10向解碼器50發送的編碼資料30的一部分。可選地,參考值R的一部分包括否則就存在於編碼器10和解碼器50中的資訊(例如衍生自多少資料庫元素E已經在一個或多個資料庫100中可用),或者否則就可能基於編碼資料塊(在解碼之後)而計算或重計算的資訊。在數量/計數之外,元素E的概率順序能夠影響參考值R的一個數值部分。前述的數量/計數或概率順序並不總是必須指整個資料庫,而是可以指被傳送的參考值R的一個選定的組合,在這個數值的幫助下,所述的組合可以被給予多於一個的不同的變化。
一個或多個資料庫100的元素E使用一種方法來計算尚未被它們獲知的參考值R。編碼器10在計算相應的參考值R之前重構,即量化或者去量化,資料塊值。出於此原因,使用任何已知的有損或無失真壓縮演算法,如表2所列舉的,或者這些有損與無失真壓縮演算法的組合,每個資料塊220可以在編碼器10中被編碼。所以,關於所使用的帶來主要資料壓縮效益的壓縮演算法,圖1所示的轉碼器是通用的。這些方法包括但不限於: DC、幻燈片(slide)、線(line)、多級(multilevel)、DCT、內插值和外插值。資料庫元素E還可以為任何塊大小和從解碼圖像的任何位置而生成。有益地,參考值R包括可以獨立計算的多個成分(component)部分,例如,一個成分描述塊值的平均,另一個成分描述塊值的方差,再一個成分描述塊值的幅度,再另一個成分描述塊值或包括在給定資料庫100中的元素E的校驗和(check-sum)。所有參考值或一部分參考值,被與編碼資料30一起發送至解碼器50。該資訊被用來評估傳送的正確度,例如,編碼資料30從編碼器10到解碼器50的發送中產生的任何品質退化。解碼器50可以把所有參考值或一部分參考值退回給編碼器10,為了確認的目的和/或品質控制的目的。
當給定的資料庫100更大,前述的資料庫參考值R需要更多的資料位元。使用資料庫100中的元素E的數量的log2值,可以計算需要用來定義一個唯一資料庫參考值R的非壓縮資料位元的數。所以,更大的資料庫參考值R需要更多的位元,在編碼資料30中可實現的壓縮率針對每個現有的資料庫資料塊是下降的。通常,在資料庫參考值R中,有一個或多個位元為未用的資料元素而預留。儘管如此,為了避免在大的靜態資料庫110或動態資料庫120中存在過多的未用資料庫元素E,一個新的小些的動態資料庫120的元素E可以被生成自一個已用的靜態資料庫110或一個已用的動態資料庫120的元素E。該新的小些的動態資料庫120然後被用在解碼器50中用於解碼的目的,其中,與更大的初始資料庫相比,新的動態資料庫在它的參考值R中需要更少的位元,所述的參考值用來唯一地標識新的小的動態資料庫中的元素E。
需要注意,這裡所提及的參考值R準確地是發送的參考值(唯一地指定資料中的元素E的索引數),它因此收到新的小些的資料庫中較小的位元計數,所述的位元計數小於初始傳送的用在舊的更大的資料庫中的參考值。這自然不影響用在搜索中的真正的準確的參考值R,因為那取決於元素E的真正資料值,在這裡不以任何方式發生改變。
新的動態資料庫中的參考值R可以是新的資料庫中存在的元素E的 總數。該參考值R,對應於新的動態資料庫中的資料庫元素E,包括真實的資料,或者它可以被連接到另一個更大的資料庫。當新的動態資料庫被用來編碼參考值R,可以採用一個已知的編碼方法,如差分編碼,來有效地壓縮參考值R。所以,使用新的動態資料庫,可以可觀地節省非壓縮參考值R的位元,並且基本上不降低執行效果或者輸出自解碼器50的解碼資料60的品質。
作為例示:(a)如果一個給定的靜態資料庫110包含16百萬個元素E,為了表示而使用資料的24位元用於相應的資料值R;(b)如果一個動態資料庫120只包含1024個元素E,為了表示而使用資料的10位元用於相應的資料值R;(c)一個資料塊存在於帶有一定資料塊索引的動態資料庫120中,那麼,通過動態資料120,參考值R只需要10位元來唯一地定義資料塊,與之形成對比的是,如果它被包括在靜態資料庫110中,則需要24位元來唯一地定義資料塊。在此示例中,如果一個給定的資料塊被從靜態資料庫110傳送給動態資料庫120,則需要更少的位元來唯一地定義資料塊,編碼器10通知解碼器50一個或多個資料塊從靜態資料庫110到動態資料庫120的移動或複製。取決於為了一個或多個資料塊而出現在資料庫的使用量,圖1所示的轉碼器能夠操作使得一個或多個資料塊從靜態資料庫110被移動或複製到動態資料庫120。換言之,當解碼參考值R經常地指向一個給定的資料塊,那麼,在解碼器50的該資料塊被有益地從一個傳送給解碼器50的給定的動態資料120中獲得或者被使得可由解碼器50訪問,而不是從一個傳送給解碼器50的靜態資料110中獲得或者被使得可由解碼器50訪問。如前所述,靜態資料庫110和動態資料庫120被託管在一個或多個資料伺服器,這些伺服器可以屬於一個多個協力廠商。
通過由大的靜態資料庫110或動態資料庫120中最常用的資料庫元素E來生成一個更小的靜態或動態資料庫,圖1所示的轉碼器5允許為資料庫參考值R節省位元。在轉碼器5中,較大的動態資料庫120和/或靜態 資料庫110為所有存在的資料塊保留一個使用計數,以該使用計數資訊為基礎,選擇元素E來生成新的資料庫。這樣的較小的資料庫在編碼器10中進行編碼時生成,然後被通訊給解碼器50,或者使得由解碼器50可用,以對編碼資料30進行解碼。這樣一個或被使得可用的較小的資料庫可以這樣安排,編碼資料30包括一個URL連結,該連結指向所述較小的資料庫,使其可由解碼器50從一個異地的基於互聯網的伺服器和/或從一個客戶LAN中的資料庫伺服器來下載,這些伺服器可以託管在雲計算環境,由許多這樣的解碼器50訪問,或者是託管在解碼器50的一個類似的LAN中。
當對來源資料20進行編碼時,編碼器10可操作用於在每個時刻來選擇由多少不同的資料庫100、何種資料庫100、以及哪個特殊的資料庫100將要被用來對相應的編碼資料,當在解碼器50被接收到的時候,進行解碼,其中,描述由編碼器10做出的關於資料庫100的選擇的資訊被通訊給解碼器50。該資訊可以本地地提供,即,作為依賴于應用的資料庫資訊,也可以全球地提供,即,總是同樣的資料庫資訊。在某種情況下,所選擇的資料庫已經被解碼器50知曉,這種情形下,沒有具體的資訊要通訊、存儲和/或傳送,即,所述資訊是解碼器50已經知道的資訊。作為一種便利的方式,描述資料庫100所做的資料庫選擇以及所使用的編碼方法的選擇的資訊被存儲在視頻檔頭或者編碼資料30的容器中。解碼器50在執行對編碼資料30的解碼任務之前已經配備全部的一個或多個靜態資料庫110。如果解碼器50發現它缺少在編碼資料30中定義的一個給定的資料庫,解碼器50向編碼器10發出為了使缺失的給定資料庫需要被發送的一個請求,或者,使其從一個異地的連接於網路的資料伺服器對解碼器50可用。異地伺服器位於與解碼器50相對近的位置,如,處於一個彼此類似的LAN網路,從而讓缺失的資料庫100快速地發送給解碼器50。缺失的資料庫以壓縮的方式提供給解碼器50,這樣,解碼器50對缺失的資料庫進行解壓,以存儲在解碼器50的資料記憶體中。有益地,被解碼器50最常用的資料塊存儲在小的靜態資料庫110中。
為了從RAM釋放資源,在編碼器10、解碼器50、或二者中,不用 的資料庫元素被移除。通過計數資料庫中被使用的元素E的數量,或者是保持關於資料庫元素E最近一次被使用的時間的統計,來測量資料庫元素E的使用情況。在圖1所示的轉碼器5中,所有的動態資料庫120都為了清理的目的而被處理,以移除未用的元素E。對靜態資料庫110也可以進行清理,為了清理的目的,一個或多個靜態資料庫110定期地被新的靜態資料庫替代。靜態資料庫110還可以被轉移到備份記憶體,使得它們還可以在以後必要的情況下被訪問,回歸到編碼器10和/或解碼器50,但並不佔用靜態資料庫110的存儲容量。備份記憶體通過硬碟、快閃記憶體、外部記憶體、光碟資料ROM、基於雲的資料倉庫等等來實現。在運行中,解碼器50被告知資料庫100之一的任何失常變化,使得解碼器50能夠請請求更新其資料庫100,以應對任何這種失常。資料庫100還被唯一的識別字所標識,如版本號。如果一個或多個資料庫100被改變,如,在編碼器10被改變,期望的是,資料庫100中只有它的變化被通訊給解碼器,而不是把整個資料庫100發送給解碼器50。一個或多個資料庫100可以用編碼器更新,例如,已知類型的編碼器,而且,編碼器被提供有相關的預載入的靜態資料庫110,如,存儲在固態ROM。當一個或多個動態資料庫120在解碼器50中被更新,可以採用不同的更新模式,例如:(i)在第一更新模式中,舊的元素E被新的元素E所覆蓋;(ii)在第二更新模式中,舊的元素E被保留,新的元素E被添加,提高了一個或多個動態資料庫120的大小。
當小的動態資料庫120滿了,即,其所有的元素E都被分配了,檢查小的動態資料庫120,用一個或多個自動的軟體工具在計算硬體上運行,以確定小的動態資料庫120的哪個元素E是最常用的,然後,動態資料庫120內的元素E被整理,使得最經常用的元素E被移到動態資料庫120的開頭,使得動態資料庫120訪問最經常用的元素E更快,和/或使得資料庫120可以更有效地壓縮,以便通過資料通訊網路(如互聯網或無線資料通訊網路)從編碼器10到解碼器50進行通訊。小的動態資料庫120的其它非經常用的元素E被釋放。編碼器10和解碼器50均執行這樣的檢查,並在一個 或多個動態資料庫120滿了的時候進行整理。可以通過一個從編碼器10發出的指令來啟動這種檢查和整理。
當資料存儲或資料傳送被啟動,編碼器10可以選擇哪個資料庫100在接下來要被解碼器50所使用,在對編碼資料30進行解碼開始的時候資料庫100是否是空的,或者在對編碼資料30進行解碼開始的時候資料庫100是否已經包含一些資料庫元素E。例如,解碼器50可以使用一個小的通用靜態資料庫110來開始對編碼資料30進行解碼,其中,解碼器50用缺失的元素E為動態資料庫120添加資料,所述缺失的元素E是解碼器50從包括在編碼資料30中的資料塊確定的,然後,在必要的時候,動態資料庫120按照前述的規則被清理。可選地,被生成的動態資料庫120由解碼器50存儲成一個新的靜態資料庫110,為將來用於解碼在解碼器50收到的未來的編碼資料30。
當對來源資料20進行編碼,來源資料20對應於視頻、圖像、圖形和音訊內容的至少之一,編碼器10發送一個給定資料塊的參考值R,即使該資料塊的資料庫還在存在於解碼器50中,如果編碼器10知道解碼器50能夠從一些靜態資料庫存儲中取得包括描述所述給定資料塊的元素E的一個合適的靜態資料庫110,所述一些靜態資料庫存儲是本地地被解碼器50可用,如,位於與解碼器50接近的一個類似的LAN、ISP、或其它伺服器。這樣一種方式使得一個編碼器10發送同樣的編碼資料30給許多個具有稍微不同的資料庫可用的解碼器50。當採用此方法,解碼器50不需要作為大的靜態資料庫或相關資源的宿主。如果此方法可以採用,編碼器10與解碼器50進行協商。為了使此方法成功,編碼器10需要知曉解碼器50所能夠訪問的公共和/或私有資料庫,訪問這些資料庫是為解碼器50提供它為了執行對發自編碼器10的編碼資料30進行解碼所需要一個或多個資料庫100。此方法很合適于當根本沒必要發送編碼資料的時候,此時,從另一個編碼器向解碼器50供應資料塊是可行的,其中,另一個編碼器已經在早些時候對編碼資料進行了編碼。可選地,來自其它編碼器的資料塊的通訊是以對等通訊的方式進行的。此外,此方法適於通過互聯網的編碼視頻的實況流, 這使得編碼資料可以從遠距離離開解碼器50的異地進行流化(streamed),在這種情況下,只有關鍵的參考值R從遠距離離開解碼器50的位置被通訊。
如前所述,從資料庫元素E構造一個或多個動態資料庫120,所述的資料庫元素E是從重構的資料塊被拷貝的或生成的,要麼是在編碼器10或者是在解碼器50。資料塊可以是1維、2維、3維、或者它們的組合。資料塊具有大小和形狀,例如,當在顯示器上觀看,形狀可以是多邊形的、矩形的、橢圓的、圓的、細長的、三角的形式等等。
關於1維資料塊,其形狀可以是一組一維資料項目目,當呈現在解碼資料60中的時候。關於2維資料塊,當呈現在解碼資料60中的時候,其形狀可以是方的、矩形的、三角形的、平行四邊形的、或者圓的。關於3維資料塊,其形狀可以是多形態的,如立方、角錐、圓柱、球,等等。當解碼資料60是旨在3維圖形顯示,如為了使用者的觀看而傳遞3維圖像,這種3維資料塊是有益的。通常採用的2維資料塊對應於8×8圖元,或者可以本發明的實施例中有益採用的類似的顯示元素。有許多不同的且有效的已知編碼方法,可以由編碼器10在生成編碼資料30之時用在8×8圖元的塊大小上。
為了更詳細地闡述本發明的方案,下面說明編碼器10中對資料塊的編碼。
步驟1:在理想情況下,為一個存在於來源資料中的相應的給定資料塊,例如存在於來源資料20中的圖像和/或音訊的一部分,計算一個給定的資料庫參考值R。如果在一個或多個資料庫100中存在合適的現有元素E,即在給定的資料塊和一個或多個資料庫100中的現在元素E之間能夠找到匹配,參考值R被計算,以從一個或多個資料庫100中選擇現有的元素E。匹配的確定取決於給定的資料塊與現有資料塊之間的誤差低於一個定義的閾值,其中,定義的閾值對應於一個編碼品質索引。
步驟2:如果在步驟1達成了匹配,用於被選擇的現有資料塊的參考值R在編碼資料30中被存儲或發送。被選擇的現有資料塊可以從多個資料庫100中被搜索,其中,被存儲或發送的參考值R還包括資料庫100的 識別字,被選擇的現有資料塊可以被解碼器50找到。相反,如果在步驟1未找到合適的匹配,則使用DC編碼、幻燈片編碼(slide-encoding)、多級編碼、DCT編碼或任何其它合適的編碼演算法對資料塊進行編碼,為重構的資料塊計算資料庫參考值(R),編碼的資料塊被包括於編碼資料30中,以在解碼器50接收。
此外,編碼器10檢查是否存在一個合適的元素E可用於重構資料塊,類似於對來源資料塊所做的那樣。在此情況下,可以採用不同的編碼品質閾值。如果某個元素E被選擇用來表示重構資料塊,其參考值R在編碼資料30中被存儲或被發送。可選地,如果無法選擇合適的資料庫元素E來表示重構資料塊,也即重新組成的資料塊,那麼,採用一個最適合重構資料塊(即重新組成的資料塊)的編碼演算法來發送重構資料塊或來源資料20中的給定的資料塊。選擇一個方法,使得在編碼資料30中生成較少位元、生成較少誤差、或能夠對用於所生成的誤差的位元進行優化,例如,可以使用一些對應於RD優化的lambda(λ)係數。該編碼資料塊然後被加入一個或多個動態資料庫120,以用於將來在編碼器10和/或解碼器50中對資料進行編碼。
編碼器10採用歐洲專利EP 1787262和歐洲專利申請EP12173534.4(它們被包括于此作為參考)所描述的編碼技術,當採用所述的編碼技術,如對視頻內容進行編碼時,在資料庫100中可以發現代表不變資料志的一個顏色,或者,可以檢測到不變的塊,並且被不同地編碼。只有變化的資料塊需要採用已知編碼技術的編碼,所述已知編碼如表2所列,除表2所列之外,不同類型的編碼方案也可以用,表2只描述了完整的編碼方案,而未包括像內插值、外插值、多級、DCT等單一的方法。類似的功能可以提供給編碼器10和解碼器50二者,以在基於EP 1787262和歐洲專利申請EP12173534.4(如前所述,它們被包括于此作為參考)的這個例子中對性能進行優化。其它相關專利申請,即歐洲專利申請EP13172237.3(申請日:2013年6月17日)的內容也被包括于此作為參考。
為了更詳細地闡述本發明的方案,下面更詳細地說明資料庫100和 前述的參考值R。在此引入美國專利申請US2010/322301作為參考。如前所述,有兩種資料庫:靜態資料庫110、動態資料庫120。靜態資料庫110可以被存儲於任何類型的記憶體,為了更了的性能,靜態資料庫110可以被存儲在ROM,ROM可以被寫入或現場程式設計入矽積體電路。靜態資料庫110被硬編碼(hard-coded)進記錄在非暫時性(non-transitory或non-transient)機器可讀存儲介質中的經過編譯的軟體產品。在本發明的實施例中,如前所述,一個靜態資料庫110可被生成自一個動態資料庫120,然後作為一個相應的靜態資料庫110被存儲。靜態資料庫110均被一個與之相關的唯一的參考碼所標識。動態資料庫120被寫入RAM,或任何等同的讀寫資料記憶體,如像高速磁片存儲這類的磁或光資料存儲介質。
本發明的實施例使用“跳轉”(”jumping”)的方式。跳轉使得資料庫100中缺失的元素E被從其它地方採集(sourced)。跳轉可以被靜態資料庫110和動態資料庫120分別採用。跳轉使得動態資料庫120針對缺失的元素E被快速更新。為了使這種跳轉有效地工作,期望所有的資料以類似的順序被解碼,從資料的生成開始,到當前的使用時間。
前述的參考值R唯一地標識資料庫100中的相應的元素E,其中,元素E代表不同類型的資料塊。儘管如此,期望參考值R的生成所採用的方法適配于存在於要被編碼器10編碼的來源資料20中的一種類型的資料內容。換言之,參考值R在編碼器中被計算,用於存在於來源資料20的部分之中的每個相應資料塊或相應的編碼資料塊。在編碼器10中,由其參考值R代表的編碼資料塊被重構,即被編碼,然後在編碼器10中被解碼回來,以保證解碼器50能夠為被加入一個或多個資料庫100之中的編碼資料塊生成同樣的資料庫參考值R。使用這種操作方式的一個原因是,當為給定的塊已經選擇了編碼方法,在已經產生的參數的基礎上,一個塊被重構或解碼。該重構的塊就是資料庫元素E和它的參考值R所賴以構造的。解碼器50生成一個或多個資料庫100,它們與在編碼器10中對來源資料20進行編碼時所採用的嚴格相同。實現本發明的實施例時,可以採用各種不同的方法來計算參考值R,但是,它有益地被計算自一個幅度(最大或最小)、方差(或 標準方差)、平均值(或總和)、以及核對總和(或散列值,或索引)等與資料塊有關的值,所述的資料塊是存在於要在編碼器10中被編碼的來源資料20之中。“幅度”例如是指在一個給定的資料塊內最大的和最小的原始資料值或圖元值之間的差。用於一個(2D)資料塊的總和值可以使用公式1來計算。
其中,SUM=總和值;m x n=存在於(2D)資料塊中的圖元數或資料值,例如對於一個8X8圖元的資料塊,n=8,m=8
i,j=參考索引(reference indices)
平均值的計算方式是,用1/(m*n)乘以總和,即把總和值除以總計的用來生成總和值的資料值的數目。
(2D)資料塊的方差由公式2來計算。
其中,V=方差
標準方差可以由方差V的平方根來計算。
校驗和的計算方法是,對每個值,即興趣區(ROI)的圖元,使用邏輯XOR方程。例如,分別對於靜態資料庫110和動態資料庫120,其幅度、方差、平均值M以及校驗和如表4所示。
對於資料庫參考值R的已知元素E,虛擬碼的計算例如可以按以下方式來執行:DBREF=(AMPLITUDE SHL(DBREF_BITS-AMPLITUDE_BITS))+(VARIANCE SHL(DBREF_BITS-(AMPLITUDE_BITS+VARIANCE_BITS)))+(MEAN SHL(DBREF_BITS-(AMPLITUDE_BITS+VARIANCE_BITS+MEAN_BITS)))+CHECKSUM
需要注意,要被計算的參考值R是對於一個靜態資料庫110的傳送的組合的參考值R,在對元素E實際搜索中,可以使用更精確和/或更不精確的值。如果不是尋求完美的匹配,校驗值沒有限制搜索的效果。
靜態資料庫110和動態資料庫120的位元組的分配數的最大值是由資料庫參考值R定義的。為了對一個給定的資料庫參考值R計算一個總的位元計數,在參考值R被計算的地方,所有的元素E都要被加起來,其中,元素E包括幅度、方差V、平均值M以及校驗和,即MVA組合。例如,一個資料庫參考值R的位元計數可以按以下方式計算:DBREF_BITS=AMPLITUDE_BITS+VARIANCE_BITS+MEAN_BITS+CHECKSUM_BITS
一個資料庫所包含的元素,不能多於傳送的參考值R的依賴元素的部分的長度,即,如果資料庫不使用平均值(如,平均值為零的資料庫),平均值對所述的長度無作用,否則,它有作用。
例如,如果按表4的示例來設置位元,那麼,對一個平均的資料庫,元素E的數目將與20位元一致,對於一個不使用平均值的資料庫,它是12位元,相應地,數量的比較將大約是1百萬元素對4000元素。自然,每個元素E都需要與資料的呈現格式相一致的位元組,例如,對於具有8位元值的8×8塊,一個平均元素,即,具有平均值的,需要每個元素64位元組, 而沒有平均值部分的元素需要64*9/8=72位元組每元素E,因為需要為每個資料值存儲符號位元(sign bit)。這就匯出使用平均值的資料庫的示例中所呈現的8×8資料庫的大小的最大值,64MB;對於不使用平均值的資料庫,它只有288KB。這些數位代表給資料庫元素自身的資料值的最大分配,其大小取決於參考值(R)的各種部分的位元計數,取決於塊的大小,取決於資料值的動態。除此之外,為了執行快速搜索的目的,更精確和/或更不精確的參考值(R)需要被存儲在編碼器10中。對於解碼器50,具有已經被組織的資料庫資料就足夠了,所述的被組織的資料是指按照使得正確的參考資料的位址容易被發現的方式來組織資料。
作為進一步的示例,一個給定的資料庫100的總大小被計算為1,048,576元素,即220的值,大約1 Mega元素。如果每個元素E包括64圖元,即,被實現為圖元的8×8資料塊,具有1位元組動態範圍每圖元,那麼,給定資料庫100的非壓縮總大小是64M位元組。
如圖3所示,給定的參考值R由300表示,包括幾個彼此不同的部分,310A、310B、310C,例如分別是方差V、平均值M以及幅度A。這些部分被分別地計算,這樣,在編碼器10和/或解碼器50中的搜索的實現可以是盡可能地快,進而允許快速編碼和/或解碼操作。不同的部分310作為獨立的資料庫子參考而起作用,即作為索引,例如還可加入迴圈冗餘校驗(CRC),用310D表示。如果一個大資料庫100的構造是單純基於生成的順序,或者替代地基於CRC,那麼,轉碼器生成查閱資料表,將是有利的。採用該查閱資料表來流覽平均值M、方差V、以及幅度A的一個合適的組合,以快速的方式。
當計算參考值R300時,可以採用不同的採樣方式,參考值R300包括額外的權重係數,其中,額外的權重係數使能(enable)在更少的選項中的搜索,或者,額外的權重係數使得轉碼器為圖像的邊界找到一個元素E,圖像的邊界在解碼品質方面與圖像的中心部分相比是不重要的,在編碼器10中當對來源資料20進行編碼時採用動態可變的品質閾值,從而實現這種方案。這樣,轉碼器5中的搜索就可以更快地執行,因為參考值R包括與 其相關的資料的更精確的參數,此外,CRC或類似的索引使得一個基本組合具有幾個資料庫元素的情況成為可能。
在一個或多個資料庫100中基於給定參考值R的搜索的執行是始自大資料庫100,大資料庫100包括一個參考,該參考是關於哪個元素E,以及在哪個小些的資料庫100中具有同樣或類似類型的元素E。小資料庫100也保留這樣的關於MVA組合的資訊,所述的組合是關於小資料庫100存有的資料的,該資訊使得,如果被搜索的給定資料塊中的組合是足夠不同的,小資料庫100可以被編碼器10和/或解碼器50快速忽略。
關於前述的參考值R,300,對方差V和幅度A一起進行壓縮是有利的,這減小定義參考值R,300,所需要的位元的總數,進而減小需要被從編碼器10通訊給解碼器50(如圖1所示)的編碼資料30的大小。該益處源自方差V和幅度A是強相關的。相反,參考值R300的平均值M和CRC/索引被分開地壓縮,因為平均值M通常相容於相對的delta特性,而CRC可能是很隨機的。對於使用了更少位元量化了的方差V和幅度A部分,可有利地採用行程編碼(RLE)用來生成編碼資料30,或者,差分編碼也可以用於此目的。在編碼資料30中,如果用較少位元對方差V和幅度A的第一給定組合進行量化,而用較多位元對方差V和幅度A的第二給定組合進行量化,這些組合分開地進行編碼是有利的,如,RLE用於第一給定組合,哈夫曼(Huffman)編碼用於第二給定組合,但不限於此。其它類型的編碼也可以採用,如:行程、SRLE:“分離行程長度編碼”(Split run-length encoding),在GB1303660.3中公開的一種方法,專利申請人是古如羅技微系統公司,申請日是2013年3月1日;EM:“熵修正”(Entropy Modifier),在GB1303658.7中公開的一種方法,專利申請人是古如羅技微系統公司,申請日是2013年3月1日;以及Odelta:在GB1303661.1中公開的一種方法,專利申請人是古如羅技微系統公司,申請日是2013年3月1日。
通過編碼資料30要被從編碼器10通訊到解碼器50的參考值R300被壓縮,壓縮可採用各種方法,如:(i)基於VLC的方法,如具有資料庫編碼方法的哈夫曼編碼,所述的資料庫編碼方法採用Lempel-Ziv演算法,如ZLIB、LZO、LZSS、LZ77;(ii)哈夫曼編碼或類似的,用於前述的值的組合,如方差V和幅度A。
參考值R300可以作為全部值被壓縮,或者,參考值R300的部分被分開地壓縮,如圖3所示。使用資料壓縮技術的組合來取得編碼資料30中甚至更大的壓縮,這是可行的。例如,參考值R300的方差V部分可以用差分編碼首先進行壓縮,生成第一壓縮資料,然後,將RLE編碼應用於第一壓縮資料,生成第二壓縮資料,接下來,將哈夫曼編碼應用於第二壓縮資料,生成第三壓縮資料,第三壓縮資料在編碼資料30中被從編碼器10通訊到解碼器50。
一個或多個資料庫100包括元素E,元素E包括按照先前已知的順序的資料塊的資料值,例如,按照步進分級的方式。如果所述順序不同於為圖1的轉碼器5假定的預設順序,該不同的順序在編碼資料30中由一個順序設置參數來定義。例如,這樣一種資料賦值(data-valued)的資料庫元素E可以生成自任何大小合適的資料塊,如生成自重構的圖像。在編碼資料30被從編碼器30通訊到解碼器50的過程中,在各狀態之間,所述參數可以是反復的。
按照先前已知的順序被更新的一個或多個動態資料庫120採用每幀靈活數目的元素E,使得圖1所示的轉碼器5為具有相對少資訊內容的圖像取得更大的資料壓縮率。如果給定動態資料庫120為不同幀的大小是126、193、252、303元素,那麼,為了唯一地標址(address)每個幀的每個元素所需要的位元資料分別是7、8、8、9。在大的資料庫100,關於元素E的標址,元素E可以被安排成(“設數(set number)”,“取數(get number)”)類型的結構。如,在一個8位元位元組中,位元組的一個位元被預留用於如果全部值已經被傳送時通知接收方,餘下的位元用於定義被發送的值, 之後還有更多的位元。按此方式,可以用一個位元組傳送7位元價值(seven-bits-worth)的資訊,用兩個位元組傳送14位元價值的資訊。如果在編碼資料30中避免了要把資訊位元包括進來的需要,就可以提供圖1所示的轉碼器5中的增強的資料壓縮。
包括在一個或多個資料庫100中的元素E可以被組合,佔據更少的資料記憶體,或者,他們包括一個總和或者係數元素,用於縮放比例的資料庫100或者具有零平均值的資料庫100,這可以在對來源資料20進行編碼和/或對編碼資料30進行解碼時通過採用一個或多個參數從而以合適的方式提供元素E而被計算地(computationally)適配。
可以使用任何一個或多個參數,這樣的一個或多個參數可以是在塊被插入資料庫100之前已經被從塊自身中刪除。相應地,當一個資料庫元素E被使用,由這些參數產生的資料需要在結果被構造的時候被加入到元素E。在第一種實現方式中,採用一個平均顏色參數。滑動變化的顏色參數與其它的參數也可以被採用。原則上,有了這個資料庫元素E在記憶體中,預測或任何其它編碼方法都可以被採用。這個平均是很有用的,因為有可能使用一個平均值作為其它形式的參考值R的一部分,結果是為了利用它,沒有新的資料需要被傳送,因而可以顯著地減小存儲在記憶體中的真實資料庫100的大小。當然,給其它參考值R增加位元,可能會提高存儲在記憶體中的資料庫100的大小,因此也獲得許多新的元素E,它們可以有利地被用於編碼。當平均值被從塊中刪除,那麼元素變成大約零平均值。
下面給出一個示例,其中平均值被從塊值中省略,從而針對不同平均值的情況提供更有效的資料庫的使用。前述的編碼方法被有利地應用於滑動變化的塊,用於預測,或者用於以一些其它方式編碼的塊。如此取得的結果,在資料庫元素E的構造之前,被從資料庫刪除,相應地,在解碼方面,當資料塊的重構之時,被附加到已經被從資料庫提取的資料庫元素E。
所以,平均值是最簡單的編碼方法,在參考值R被從多個部分構造的時候,它真正清楚地消除了對參考值R中的一個元素或部分的需要,從而減小資料庫的大小。幅度值也可以被用來使資料值相對化,它可以在不 減小資料庫大小的情況下,為資料庫的覆蓋帶來益處。
其它預測或編碼方法實際只產生預測誤差塊,它們的用途不是那麼實際。當然,平均值可以從它們當被省略,從而提供一個預測誤差類型資料庫,具有相應的初始塊資料庫的特性。可以理解,資料庫元素E可以被用作為了另一個資料庫塊的預測誤差資料,因而在本發明中,資料庫元素E的遞迴也是被支持的。
執行大量的遞迴是不利的,除非資料庫非常小,或者除非是期望精確的重構,因為,不然的話,資料塊的編碼資料大小會迅速增長為很大。
此外,一個或多個資料庫100可以包括已經被計算的元素E,例如使用外插值技術,換言之,轉碼器5知曉已經被用於生成給定資料塊的計算方法,給定資料塊的總大小,以及一個或多個值,所述的一個或多個值提供了一個基礎,在此基礎上,資料塊的資料值得以被計算。該計算採用DC方法和幻燈片方法。DC方法使用一個值,如偏移量值,該值被應用於給定資料塊的所有資料值。幻燈片方法可以作為一個1維幻燈方法來實現,採用兩個值,如給定塊內的第一資料值和最後資料值,然後基於第一和最後資料值,以線性的方式或者替代地以多項式的方式,通過線性內插值為資料塊計算剩餘的值。2維幻燈片方法也可以採用,它利用對應於資料塊的4個點的4個值,使用雙線性內插值來計算資料塊的剩餘點。其它類型的計算演算法也可以被採用,用於在圖1所示的轉碼器5內從相對少的初始值來為資料塊計算數值。
一個或多個資料庫100包括參考其它資料庫的元素E,如,以分等級的方式。在此情況下,元素E包括定義另一個資料庫100的資訊,以及用於另一個資料100內的元素E的參考值R。在此資訊基礎上,一個給定的期望資料塊的值可以被計算。在這種方式中,從一個第二資料庫訪問一個或多個元素E,第二資料庫被從第一資料庫元素E調用,如果在第二資料庫中被引用的資料庫元素E,相對於通過調用第一資料庫的元素E要被返回的期望的資料塊,具有不同的大小,比如資料塊大小,這種方式使用一個或多個縮放係數和/或一個或多個圖元值偏移移位元。這種方法採用一個 仿射(affine)模型,如2012年10月19日Wikipedia在網址URL:http://en.wikipedia.org/wiki/Affine_transformation的公開內容中所描述的那樣。在表5中,提供了可以被用來實現圖1所示的轉碼器5的資料庫元素類型的概況。
本發明可以廣泛地應用於用來發送和/或接收代表各種類型內容(如流視頻內容、互聯網電視、通過像光可讀盤這樣的物理資料載體傳送的內容,等等)的資料的電子產品。當資料庫100只是對特定方(parties)可用,大多數據情況下,參考值R在編碼資料30中被通訊,本發明可以提供資料加密服務。這裡的意思/目的是,在來自資料庫的參考的說明下,發送編碼資料的至少大多數是可行的,只有小部分需要用一些其它編碼方法對塊值進行編碼。所以,本發明的實施例在許多不同種的技術行業都是可用的,本發明的實施例能夠減小通訊網路負載或需要,減小資料存儲容量的需要,以及使得高品質的資料編碼和解碼得以實現,這些都是本發膽的有益技術效果。
編碼器10和解碼器50作為一個或多個硬體資料處理器來實現。硬體資料處理器是以硬連線(hard-wired)的方式實現的,例如使用ASIC或類似的數位電路。硬體資料處理器的實現使用計算硬體,這些計算硬體操作 執行記錄在非暫時性機器可讀數據存儲介質上的一個或多個軟體產品。
前述的一個或多個資料庫100實現於編碼器10、解碼器50、LAN,被ISP來提供,實現於硬碟記憶體這樣的分立的記憶體,在存儲卡中、在藍光碟上、在RAM中、在ROM中、在數據快閃記憶體中、在SSD、在DVD、在CD、或提供資料訪問的任何類型的資料載體。
一個或多個資料庫100,當由一個或多個資料伺服器提供時,也可以被實現為一個或多個存儲卡,不管一個或多個資料伺服器位於哪個空間位置,資料庫100可以被通過以下的一個或多個方式連接於編碼器10和/或解碼器50:通過固定連接、通過接觸點、通過光纜、通過無線連接(如,藍牙和WLAN)、通過蜂窩網路(如,GSM、3G、4G、5G、LTE)、通過衛星連接,但不限於這些。
在前文中,元素E可以被插入資料庫100,脫離解碼資料塊,一次一個,組合地或者只部分地使用。就是說,原則上,根據給定或協商好的原則,任何解碼的資料值的組都可以構成資料庫中的新元素,任何編碼方法或編碼方案都可以用來產生解碼資料,在解碼資料外,元素被插入資料中。
根據GB1218942.9及其同族美國專利申請US13/657382、以及相應的申請EP13003859.9、US14/058793所描述的方法,編碼器10和解碼器50是作為一個多級編碼器和一個相應的多級解碼器的子部件而被包括於其中的。在多級編碼器中,根據來源資料20中的內容的性質,來源資料20被分析並分割成多個資料流程。多個資料流程中的一個被提供給編碼器10,它生成相應的編碼資料;相應的編碼資料與來自其它編碼器的編碼輸出資料組合在一起,生成提供自多級編碼器的最終編碼資料,其中,其它編碼器用來處理多個資料流程中的其它資料流程。在多級解碼器,最終編碼資料被接收,並被分成多個資料流程,其中,資料流程中的一個被提供給解碼器50,生成相應的解碼資料;相應的編碼資料與提供自多級解碼器的其它解碼器的解碼資料組合在一起,生成最終解碼輸出資料。雖然這樣的多級編碼器和解碼器比單純的編碼器10和解碼器50複雜,但這種多級編碼器和 解碼器在處理很寬範圍類型的資料時能夠提供特別的編碼、解碼、和資料壓縮性能。
在不背離本發明範圍的情況下,可以對所述的實施例進行修改。本文所用的術語“包括”、“包含”、“由……組成”、“具有”、“是”應當被理解為非排它的方式,即,允許未被明示描述的專案、部件、或元素的存在。單數或“一個”的使用應當被理解為與複數有關。括弧內的序號的使用是為了說明理解內容,不應當被當作限定的作用。
5...轉碼器
10...編碼器
20...來源資料
30...編碼資料
50...解碼器
60...解碼資料
100...資料庫
110...靜態資料庫
120...動態資料庫
300...參考值

Claims (30)

  1. 一種編碼方法,對來源資料(20)進行編碼以生成供傳輸或存儲的相應的編碼資料(30),其中,來源資料包括以下至少之一:音訊資料、圖像資料、視頻資料、圖形資料、多維資料、測量資料,所述方法包括:(a)將來源資料(20)的一個或多個部分與一個或多個資料庫(100)中一個或多個元素(E)進行匹配,其中,一個或多個元素(E)表示相應的一個或多個資料塊;記錄參考值(R),參考值(R)把來源資料(20)的一個或多個部分相關於一個或多個匹配的元素(E);(b)把參考值(R)包括於編碼輸出資料(30)中,以及多個資料庫(100)和/或標識多個資料庫(100)的資訊;所述方法還包括:(c)把來源資料(20)分成具有唯一區域識別字(U)的區域;(d)在區域中提取區域特定的樣本,在所述樣本的基礎上計算相應的參考值(R);(e)檢查來源資料(20)中相應於參考值(R)的多個區域的其中之一是否已經被存儲在一個或多個資料庫(100);存儲和/或傳輸參考值(R)或者壓縮狀態的參考值(R)於編碼資料(30)中,以唯一地標識元素(E);或者,存儲和/或傳輸被編碼的和/或初始來源資料(20)於編碼資料(30)中,並可選地,在參考值(R)未被事先存儲進一個或多個資料庫(100)中的情況下,將其作為一個新的元素(E)存儲於一個或多個資料庫(100)中。
  2. 如請求項1所述的方法,其特徵在於,所述方法還包括:使用多個零平均值資料庫,用於實現多個資料庫(100)。
  3. 如請求項1所述的方法,其特徵在於,所述方法包括以下至少之一:(i)通過從多個動態資料庫(120)中選擇元素,生成多個靜態資料庫(110);(ii)處理存在於來源資料(20)的一個或多個部分中的資訊,生成一個或多個元素(E),以被包括在多個動態資料庫(120)中;(iii)從多個更早的資料庫(100)中選擇元素(E),把它們包括在 多個動態資料庫(120)中,以與編碼資料(30)一起使用。
  4. 如請求項1所述方法,其特徵在於,多個資料庫(100)包括一個或多個靜態資料庫(110)和一個或多個動態資料庫(120),其中,多個資料庫(100)被託管在一個或多個資料伺服器。
  5. 如請求項4所述的方法,其特徵在於,所述方法包括:在異地控制所述的一個或多個資料伺服器。
  6. 如請求項4所述的方法,其特徵在於,所述方法包括:在可操作用於生成編碼資料(30)的至少一個編碼器(10)與用來接收編碼資料(30)的至少一個解碼器(50)之間共用一個或多個資料庫(100)。
  7. 如請求項1所述的方法,其特徵在於,所述方法實現於一個編碼器(10)之中,所述編碼器(10)通過通訊網路連接於一個或多個資料庫(100),其中,多個資料庫(100)中的至少一個處於通訊網路的一個局域網中,與編碼器(10)的局域網彼此類似,所述局域網包括LAN、藍牙、WLAN、GSM、3G、4G、5G、LTE。
  8. 如請求項1所述的方法,其特徵在於,所述參考值(R,300)包括多個部分(310A、310B、310C),所述多個部分(310A、310B、310C)被分開地編碼,以被包括於編碼資料(30)之中。
  9. 如請求項1所述的方法,其特徵在於,當不能找到來源資料(20)的一個或多個部分與一個或多個靜態資料庫(110)中的一個或多個元素之間的匹配,生成一個或多個動態資料庫(120)的元素(E)。
  10. 如請求項1所述的方法,其特徵在於,來源資料(20)的一個或多個部分與一個或多個資料庫(100)的一個或多個元素(E)之間的匹配是在一個品質閾值內成立,其中,品質閾值在參考值(R)的生成過程中是動態改變的。
  11. 如請求項1所述的方法,其特徵在於,一個或多個參考值(R)被用於使用由一個或多個參考值(R)定義的一個或多個元素(E)來重構來源資料(20)的一個或多個相應部分,其中,在重構的一個或多個部分與來源資料(20)的相應的初始的一個或多個部分之間確定誤差,所述誤差被編碼並被包括在編碼資料(30)中。
  12. 如請求項1所述的方法,其特徵在於,第一資料庫(100)的一個或多個元素(E)可操作用於引用存在於多個資料庫(100)的一個 或多個其它的資料庫中的一個或多個元素(E)。
  13. 如請求項1所述的方法,其特徵在於,取決於存在於來源資料(20)中內容的性質,一個或多個資料庫(100)被選擇和/或在大小方面不同。
  14. 一種編碼器(10),用於對來源資料(20)進行編碼以生成相應的編碼資料(30),其中,來源資料(20)包括以下至少之一:音訊資料、圖像資料、視頻資料、圖形資料、多維資料、測量資料;所述編碼器(10)包括:(a)第一資料處理硬體,用於將來源資料(20)的一個或多個部分與一個或多個資料庫(100)中一個或多個元素(E)進行匹配,其中,一個或多個元素(E)表示相應的一個或多個資料塊;記錄參考值(R),參考值(R)把來源資料(20)的一個或多個部分相關於一個或多個匹配的元素(E);(b)第二資料處理硬體,用於把參考值(R)包括於編碼資料(30)中,以及多個資料庫(100)和/或標識多個資料庫(100)的資訊;其中,所述編碼器(10)可操作用於:(c)接收來源資料(20),把來源資料(20)分成具有唯一區域識別字(U)的區域;(d)在區域中提取區域特定的樣本,在所述樣本的基礎上計算相應的參考值(R);(e)檢查來源資料(20)中相應於參考值(R)的多個區域的其中之一是否已經被存儲在一個或多個資料庫(100);存儲和/或傳輸參考值(R)或者壓縮狀態的參考值(R)於編碼資料(30)中,以唯一地標識元素(E);或者,存儲和/或傳輸被編碼的和/或初始來源資料於編碼資料(30)中,並可選地,在參考值(R)未被事先存儲進一個或多個資料庫(100)中的情況下,將其作為一個新的元素(E)存儲於一個或多個資料庫(100)中。
  15. 如請求項14所述的編碼器,其特徵在於,所述編碼器(10)可操作用於執行請求項1-13中任一項所述的編碼方法。
  16. 一種解碼方法,對請求項1的方法所提供的編碼資料(30)進行解碼以生成相應的解碼輸出資料(60),所述方法包括:(a)接收包括參考值(R,300)、關於區域識別符(U)的資訊、和 關於多個資料庫(100)的資訊的編碼資料(30);(b)從編碼資料(30)中解碼參考值(R,300);(c)按照參考值(R,300)的引導,從一個或多個資料庫(100)訪問一個或多個元素(E),其中,一個或多個元素(E)代表一個或多個相應的資料塊;(d)生成一個或多個資料塊以組成相應的總體的解碼輸出資料(60)。
  17. 如請求項16所述的方法,其特徵在於,所述方法還包括:(e)在一個資料庫中保留資料,其中,所述資料包括對應於參考值(R)的音訊資料、圖像資料、視頻資料、圖形資料、多維資料、測量資料中的至少一個;(f)基於包括在編碼資料(30)中的關於區域識別符的資訊,生成區域識別符(U);(g)從編碼資料中接收或恢復對應於一個或多個區域識別符(U)的參考值(R);(h)基於為了相應的一個或多個區域識別符(U)的參考值(R),從資料庫恢復對應於參考值(R)的資料;(i)基於從資料庫恢復的資料,生成一個資料塊,基於區域識別符(U),所述資料塊被組成總體的解碼輸出資料(60)。
  18. 如請求項16所述的方法,其特徵在於,多個資料庫(100)包括一個或多個靜態資料庫(110)和一個或多個動態資料庫(120)。
  19. 如請求項16所述的方法,其特徵在於,所述方法被執行於解碼器(50),解碼器(50)通過通訊網路連接於一個或多個資料庫(100)。
  20. 如請求項16所述的方法,其特徵在於,多個資料庫(100)的空間設置方式是,一個或多個資料庫(100)位於被安排執行所述方法的資料處理硬體(50)的本地。
  21. 如請求項20所述的方法,其特徵在於,一個或多個資料庫(100)被託管於一個局域網之中,局域網也包括資料處理硬體(50),資料處理硬體(50)在彼此類似的通訊網路的局域網中連接到一個或多個資料庫(100),所述局域網包括LAN、藍牙、WLAN、GSM、3G、4G、5G、LTE。
  22. 如請求項16所述的方法,其特徵在於,一個或多個資料庫(100)由一個或多個資料伺服器提供。
  23. 如請求項22所述的方法,其特徵在於,一個或多個資料伺服器被在異地控制。
  24. 如請求項22所述的方法,其特徵在於,一個或多個資料庫(100)被共用於可操作用於生成編碼資料(30)的至少一個編碼器(10)與用來接收編碼資料(30)、包括了資料處理硬體的至少一個解碼器(50)之間共用。
  25. 如請求項16所述的方法,其特徵在於,從一個或多個靜態資料庫(110)的一個或多個元素(E)和/或在編碼資料(30)中提供的資訊,生成一個或多個動態資料庫(120),其中,生成的一個或多個動態資料庫(120)用來對編碼資料(30)進行解碼。
  26. 一種解碼器(50),用於對編碼資料(30)進行解碼以生成相應的解碼資料(60),所述解碼器(50)包括:(a)第一資料處理硬體,用於接收包括參考值(R,300)、關於區域識別符(U)的資訊、和關於多個資料庫(100)的資訊的編碼資料(30);(b)第二資料處理硬體,用於從編碼資料(30)中解碼參考值(R,300);(c)第三資料處理硬體,用於按照參考值(R,300)的引導,從一個或多個資料庫(100)訪問一個或多個元素(E),其中,一個或多個元素(E)代表一個或多個相應的資料塊;(d)第四資料處理硬體,用於生成一個或多個資料塊以組成相應的總體的解碼輸出資料(60)。
  27. 如請求項26所述的解碼器(50),其特徵在於,所述解碼器(50)可操作用於執行請求項17-25中任一項所述的方法。
  28. 一種轉碼器(5),包括至少一個如請求項14所述的用於對來源資料(20)進行編碼以生成相應的編碼資料(30)的編碼器(10),和至少一個如請求項26所述的用於接收編碼資料(30)並對編碼資料(30)進行解碼以生成相應的解碼資料(60)的解碼器(50)。
  29. 一種記錄在非暫時性機器可讀數據存儲介質上的軟體產品,其中,所述軟體產品在編碼器(10)的計算硬體上執行以實現如請求 項1所述的方法。
  30. 一種記錄在非暫時性機器可讀數據存儲介質上的軟體產品,其中,所述軟體產品在解碼器(50)的計算硬體上執行以實現如請求項17-25中任一項所述的方法。
TW102145538A 2012-12-11 2013-12-11 編碼器、解碼器以及編碼方法、解碼方法 TWI549485B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1222240.2A GB2509055B (en) 2012-12-11 2012-12-11 Encoder and method
EP13005263.2A EP2744213A1 (en) 2012-12-11 2013-11-08 Encoder, decoder and methods of encoding and decoding source data utilizing one or more databases

Publications (2)

Publication Number Publication Date
TW201433147A TW201433147A (zh) 2014-08-16
TWI549485B true TWI549485B (zh) 2016-09-11

Family

ID=47602368

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102145538A TWI549485B (zh) 2012-12-11 2013-12-11 編碼器、解碼器以及編碼方法、解碼方法

Country Status (10)

Country Link
US (1) US20140161195A1 (zh)
EP (1) EP2744213A1 (zh)
JP (2) JP6021792B2 (zh)
KR (1) KR101737158B1 (zh)
CN (1) CN103873863B (zh)
BR (1) BR102013031748B1 (zh)
GB (1) GB2509055B (zh)
IN (1) IN2013MU03703A (zh)
RU (1) RU2613031C2 (zh)
TW (1) TWI549485B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2527607B (en) 2014-06-27 2016-10-05 Gurulogic Microsystems Oy Encoder, decoder and method
CN105704177A (zh) * 2014-11-26 2016-06-22 阿里巴巴集团控股有限公司 一种ua识别方法、装置
EP3067889A1 (en) 2015-03-09 2016-09-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method and apparatus for signal-adaptive transform kernel switching in audio coding
GB2539488B8 (en) 2015-06-18 2020-08-19 Gurulogic Microsystems Oy Encoder, decoder and method employing palette utilization and compression
WO2017015810A1 (zh) 2015-07-27 2017-02-02 华为技术有限公司 图像处理的方法和装置
US10467006B2 (en) * 2015-12-20 2019-11-05 Intel Corporation Permutating vector data scattered in a temporary destination into elements of a destination register based on a permutation factor
GB2598255B (en) * 2016-02-17 2022-07-27 V Nova Int Ltd Physical adapter, signal processing equipment, methods and computer programs
US10319271B2 (en) * 2016-03-22 2019-06-11 Manufacturing Resources International, Inc. Cyclic redundancy check for electronic displays
CN107196989B (zh) * 2017-03-21 2019-08-09 阿里巴巴集团控股有限公司 一种业务请求的处理方法及装置
CN107392040B (zh) * 2017-04-28 2019-08-09 阿里巴巴集团控股有限公司 一种共识验证的方法及装置
RU2746716C1 (ru) * 2020-07-06 2021-04-19 Федеральное государственное бюджетное образовательное учреждение высшего обазования "Поволжский государственный университет телекоммуникаций и информатики" Способ управления буферной памятью потокового видео
WO2022079466A1 (en) * 2020-10-13 2022-04-21 Chan Kam Fu Data authentication for data compression
US11895362B2 (en) 2021-10-29 2024-02-06 Manufacturing Resources International, Inc. Proof of play for images displayed at electronic displays

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04265020A (ja) * 1991-02-20 1992-09-21 Fujitsu Ltd データ圧縮方式
GB2362055A (en) * 2000-05-03 2001-11-07 Clearstream Tech Ltd Image compression using a codebook
TWI229559B (en) * 1999-10-22 2005-03-11 Activesky Inc An object oriented video system
US20090110079A1 (en) * 2007-10-29 2009-04-30 Sony Corporation Information encoding apparatus and method, information searching apparatus and method, information searching system and method, and program therefor
US20090285496A1 (en) * 2008-05-19 2009-11-19 Henry Collins Systems and methods for enhanced image encoding
WO2010146239A1 (en) * 2009-06-17 2010-12-23 Gurulogic Microsystems Oy Image processor, image generator and computer program
US20120020581A1 (en) * 2009-04-08 2012-01-26 Rony Zarom System and method for image compression

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4013828A (en) * 1976-02-20 1977-03-22 Bell Telephone Laboratories, Incorporated Method and arrangement for reducing the bandwidth and/or time required to transmit a dithered image
US4553171A (en) * 1984-01-27 1985-11-12 Xerox Corporation Tile encoding in image printing
GB2190560B (en) * 1986-05-08 1990-06-20 Gen Electric Plc Data compression
FI97096C (fi) * 1994-09-13 1996-10-10 Nokia Mobile Phones Ltd Videonkompressiomenetelmä
JP3482054B2 (ja) * 1995-11-29 2003-12-22 シャープ株式会社 画像符号化装置
US8300043B2 (en) * 2004-06-24 2012-10-30 Sony Ericsson Mobile Communications AG Proximity assisted 3D rendering

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04265020A (ja) * 1991-02-20 1992-09-21 Fujitsu Ltd データ圧縮方式
TWI229559B (en) * 1999-10-22 2005-03-11 Activesky Inc An object oriented video system
GB2362055A (en) * 2000-05-03 2001-11-07 Clearstream Tech Ltd Image compression using a codebook
US20090110079A1 (en) * 2007-10-29 2009-04-30 Sony Corporation Information encoding apparatus and method, information searching apparatus and method, information searching system and method, and program therefor
US20090285496A1 (en) * 2008-05-19 2009-11-19 Henry Collins Systems and methods for enhanced image encoding
US20120020581A1 (en) * 2009-04-08 2012-01-26 Rony Zarom System and method for image compression
WO2010146239A1 (en) * 2009-06-17 2010-12-23 Gurulogic Microsystems Oy Image processor, image generator and computer program

Also Published As

Publication number Publication date
GB2509055A (en) 2014-06-25
RU2613031C2 (ru) 2017-03-14
IN2013MU03703A (zh) 2015-07-31
CN103873863B (zh) 2019-05-10
BR102013031748A2 (pt) 2014-09-02
JP6021792B2 (ja) 2016-11-09
KR101737158B1 (ko) 2017-05-17
TW201433147A (zh) 2014-08-16
GB2509055B (en) 2016-03-23
JP2016213862A (ja) 2016-12-15
EP2744213A1 (en) 2014-06-18
KR20150053870A (ko) 2015-05-19
CN103873863A (zh) 2014-06-18
RU2013153468A (ru) 2015-06-10
BR102013031748B1 (pt) 2023-04-11
US20140161195A1 (en) 2014-06-12
GB201222240D0 (en) 2013-01-23
JP2014116940A (ja) 2014-06-26

Similar Documents

Publication Publication Date Title
TWI549485B (zh) 編碼器、解碼器以及編碼方法、解碼方法
JP2014116940A5 (zh)
US10535162B2 (en) Attribute mapping to encode and decode 3D models
US10255315B2 (en) Encoder, decoder and method
JP2021528917A (ja) 点群符号化用の高レベルな構文設計
US8874531B2 (en) Methods and systems for encoding/decoding files and transmissions thereof
RU2503138C2 (ru) Кодирование встраиваемой графики для изображений с разреженными гистограммами
TWI590662B (zh) 解碼器及解碼方法
JP6681383B2 (ja) エンコーダ、デコーダ、および方法
JP6708374B2 (ja) 画像群内で修正可能要素のセットを決定するための方法、デバイス、プログラム、及び可読媒体
BR102013027082A2 (pt) Codificador, decodificador e método
JP2005223533A (ja) 算術復号化装置、および算術復号化プログラム
JP2022517118A (ja) 点群コーディングにおける効率的なパッチ回転
US11825104B2 (en) Methods, apparatuses, computer programs and computer programs and computer-readable media for scalable image coding
JP2022525599A (ja) 点群コーディングのためのパッチデータユニットのコーディングおよび復号
US10536697B2 (en) Method for re-encoding image and apparatus therefor
WO2020186535A1 (zh) 点云属性编码方法和装置以及点云属性解码方法和装置
WO2022061785A1 (zh) 点云编码方法、点云解码方法及相关装置
JP2020530229A (ja) 動き補償参照フレーム圧縮
JP2004253889A (ja) 画像処理装置及び方法
WO2023240662A1 (zh) 编解码方法、编码器、解码器以及存储介质
KR20230073972A (ko) 포인트 단위 예측을 이용하는 라이다 포인트 클라우드 코딩 방법 및 장치
US9693062B2 (en) Apparatus and method of texture encoding and decoding
JP2014116835A (ja) 復号装置、符号化装置、復号方法、及び符号化方法
JP2017153124A (ja) 復号装置、及び復号方法