專利名稱:計算機斷層成像數(shù)據(jù)的容錯壓縮和解壓縮的方法和系統(tǒng)的制作方法
技術領域:
一般來說,本發(fā)明涉及醫(yī)學診斷成像和行李成像領域,確切地說,涉及這樣一種類型的計算機斷層成像的方法和裝置,其中在去往重建被掃描對象的圖像的計算機的途中, 測量數(shù)據(jù)被壓縮以及可能被解壓縮。
背景技術:
在計算機斷層成像(CT)中,在掃描由X射線源發(fā)出的X射線從不同方向(投射) 照射的對象期間采集原始數(shù)據(jù),并且被對象衰減的X射線入射到排列在多排輻射檢測器中的多個傳感器(通道)上,。典型情況下,排數(shù)被稱為切片數(shù)。X射線源和檢測器安裝在轉(zhuǎn)子或臺架上。所以,對于每一個轉(zhuǎn)子位置,獲得了切片數(shù)對應的多個數(shù)據(jù)向量,也稱為“扇”或“讀數(shù)”。在掃描期間,轉(zhuǎn)子以角步進旋轉(zhuǎn),每步給出新讀數(shù)。轉(zhuǎn)子的完整一轉(zhuǎn)的讀數(shù)集被稱為“旋轉(zhuǎn)”。在完整的旋轉(zhuǎn)期間或之后,被檢查的對象(患者)在與轉(zhuǎn)子平面正交的方向上移動,并且在許多旋轉(zhuǎn)上積累的數(shù)據(jù)被結(jié)合到附帶著每個向量的文件元數(shù)據(jù)和附加元數(shù)據(jù)的一個文件中。在具有1 個切片672個傳感器的CT掃描中,有672女128個通道,并且每個旋轉(zhuǎn)可以有2320個讀數(shù)。所以,獲得了每個旋轉(zhuǎn)199557120個測量結(jié)果,且每個測量值都被存儲為16位O字節(jié))的無符號字。因此,每個旋轉(zhuǎn)有約400兆字節(jié)。旋轉(zhuǎn)的數(shù)目取決于被掃描的患者的尺寸(例如對于人體頭部掃描需要大約10至20個旋轉(zhuǎn))。因此,產(chǎn)生了本質(zhì)上高的數(shù)據(jù)速率,而數(shù)據(jù)又被傳送到中央處理器,用于重建被掃描對象的圖像。所以,能夠高效地壓縮這種去往計算機途中數(shù)據(jù)的壓縮方法能夠通過減少去往中央處理器的數(shù)據(jù)的存儲空間和傳輸所需帶寬而改進CT成像設備的整體運行。作為醫(yī)學工具的CT成像在醫(yī)學分析中的益處眾所周知,但是同時由于使用X射線,也公知對被掃描的人(或其他活體對象)有害。由于這種原因,為了從造成的最小傷害的做法獲得最大益處,規(guī)定要求不應當損失從掃描獲得的有意義數(shù)據(jù)。數(shù)據(jù)損失的起因可以包括無損壓縮技術以及典型情況下由于傳輸裝置的物理限制而不可避免的數(shù)據(jù)訛誤。這種傳輸裝置典型情況下確保位錯誤率低于1,000, 000, 000, 000 (10的12次方)分之一但不是零。對于CT掃描中傳遞的和以上計算的數(shù)據(jù)規(guī)模G吉字節(jié)),這暗示每幾十次掃描就可能遭受一次或多次位訛誤。由于不損失有意義數(shù)據(jù)的要求,CT圖像數(shù)據(jù)的壓縮算法優(yōu)選情況下,雖然不是一切情況下,是無損壓縮算法。此外,為了應對數(shù)據(jù)訛誤的不幸事件,應當使用檢錯和糾錯方案。在本領域內(nèi)已經(jīng)提出了 CT成像數(shù)據(jù)的幾種壓縮算法。大多數(shù)這種算法,如果不是全部的話,包含三個主要步驟關于預期數(shù)據(jù)進行預測的第一個步驟,要壓縮的數(shù)據(jù)與預測對比的第二個步驟,以及要壓縮的數(shù)據(jù)與預測的數(shù)據(jù)之間的差異被盡可能高效地編碼的第三個步驟(典型情況下稱為熵編碼步驟)。若干典型的算法根據(jù)先前存儲的數(shù)據(jù)來預測數(shù)據(jù),并且優(yōu)選情況下根據(jù)來自過去的多個圖像像素頻繁地編碼圖像像素。例如,美國專利5,764,374中公開LOCO-I算法根據(jù)鄰近被預測像素的一組像素編碼像素。結(jié)果,壓縮后數(shù)據(jù)中單個位的訛誤可能影響所表示數(shù)據(jù)內(nèi)不止單個像素,因為在解壓縮期間訛誤的像素可能影響它周圍的像素。所以,在典型的壓縮算法中,壓縮后數(shù)據(jù)比非壓縮數(shù)據(jù)對不可避免的數(shù)據(jù)訛誤更敏感。相反,檢錯和糾錯方案,比如里德所羅門或漢明代碼需要向被保護的數(shù)據(jù)增加相當數(shù)量的數(shù)據(jù),降低了壓縮的效果。因此需要找到一種壓縮技術,使壓縮后數(shù)據(jù)與非壓縮數(shù)據(jù)對數(shù)據(jù)訛誤同樣敏感, 同時保留高無損壓縮比。集電環(huán)(以電氣工程術語)是通過旋轉(zhuǎn)部件進行電氣連接的裝置。集電環(huán)也被稱為旋轉(zhuǎn)電氣接口、旋轉(zhuǎn)電氣連接器、集電器、轉(zhuǎn)環(huán)或電氣旋轉(zhuǎn)接合點。集電環(huán)包括在軸上安裝并與其絕緣的導電環(huán)或帶。從系統(tǒng)的旋轉(zhuǎn)部件比如發(fā)電機轉(zhuǎn)子到該環(huán)進行電氣連接。固定觸點或電刷與該環(huán)接觸,向系統(tǒng)的外部靜止部件傳遞電力或信號。本質(zhì)上,集電環(huán)是電力和通信電纜的等效物,有能力跨越旋轉(zhuǎn)接合點而不被纏結(jié)。不僅如此,還使用了無接觸數(shù)據(jù)和電力傳輸系統(tǒng),本文也稱為集電環(huán)。在us 2003018M27A1中公開了實例。集電環(huán)頻繁地用于CT掃描儀中,以便連接在產(chǎn)生CT原始數(shù)據(jù)的掃描儀轉(zhuǎn)子與用于從這種數(shù)據(jù)重建和顯示3D圖像的固定中央處理器之間。當前的集電環(huán)的數(shù)據(jù)吞吐量限制為大約10吉位每秒(10(ibpS,109位每秒)。對于某些高分辨率CT掃描,這個帶寬不足以傳遞原始數(shù)據(jù)并在固定顯示器上實時顯示CT圖像。 因此,壓縮可用于虛擬地擴展集電環(huán)的通信能力。壓縮算法按定義取決于它們需要壓縮的數(shù)據(jù)。業(yè)內(nèi)眾所周知,對于任何壓縮算法都存在著根本不能壓縮的數(shù)據(jù),確切地說不能壓縮到給定閾值比例以上。因此,如果系統(tǒng)被設計為取決于總能夠?qū)崿F(xiàn)的最小壓縮比,在要被壓縮的數(shù)據(jù)未能以要求的比例壓縮時該系統(tǒng)就可能失效。尤其是對于采用壓縮的CT掃描儀更是如此。如果沒有對被掃描對象的先驗知識和以CT掃描儀掃描對象所產(chǎn)生的數(shù)據(jù),CT掃描儀設計會需要假設壓縮可能根本無效,因而考慮最糟糕的情況會排除壓縮的主要益處, 即對于高帶寬通信使用相對低吞吐量通信鏈接的能力。
發(fā)明內(nèi)容
本發(fā)明要解決的問題是設計一種方法和一種系統(tǒng)架構(gòu)以應對低壓縮階段而不損失數(shù)據(jù),同時保持全部其他階段期間壓縮的益處。本發(fā)明的其他方面是支持所述系統(tǒng)架構(gòu)的壓縮器和解壓器。本文公開的示范方法和系統(tǒng)用于在集電環(huán)上從旋轉(zhuǎn)數(shù)據(jù)源比如X射線掃描儀向固定目標比如中央處理器傳遞數(shù)據(jù)。專門公開了用于壓縮數(shù)據(jù)的方法、用于解壓縮數(shù)據(jù)的方法、數(shù)據(jù)壓縮器、解壓器、用于壓縮和解壓縮數(shù)據(jù)的系統(tǒng)、具有用于壓縮和解壓縮數(shù)據(jù)的系統(tǒng)的集電環(huán)以及具有用于壓縮和解壓縮數(shù)據(jù)的系統(tǒng)的CT掃描儀。在獨立權利要求中介紹了所述問題的解決方案。從屬權利要求涉及本發(fā)明的進一步改進。所公開的壓縮集電環(huán)系統(tǒng)包括壓縮器,位于連接到從其接收數(shù)據(jù)的數(shù)據(jù)發(fā)生器的旋轉(zhuǎn)平臺上;集電環(huán),在這種旋轉(zhuǎn)平臺與固定平臺之間分開且連接在兩個平臺之間;以及解壓器,位于經(jīng)由通信網(wǎng)絡連接到目標的這種固定平臺上。用于壓縮集電環(huán)系統(tǒng)的壓縮器可以包括本文公開的任何特征。用于壓縮集電環(huán)系統(tǒng)的解壓器可以包括本文公開的任何特征。包括壓縮集電環(huán)系統(tǒng)的CT掃描儀可以包括本文公開的任何特征。注意,所述數(shù)據(jù)發(fā)生器是由信號接收機從X射線檢測器接收的模擬信號的數(shù)字采樣器。用于壓縮采樣的模擬數(shù)據(jù)的方法包括接收和處理與給定圖像幀和所述幀內(nèi)位置相關聯(lián)的像素形式的數(shù)據(jù)。根據(jù)對F幅先前存儲的幀的組中的一幀和這種幀內(nèi)利用被編碼為正整數(shù)的向量V表示的多個潛在坐標之一的參考,預測所述數(shù)據(jù)。對所述編碼數(shù)據(jù)可以應用防錯。不僅如此,所述壓縮器或所述壓縮集電環(huán)可以包括所述壓縮器或所述解壓器中的至少一個附帶的存儲器緩沖區(qū)。壓縮器可以包括預測器、熵編碼器和防錯器中的至少一個。所述預測器可以處理數(shù)據(jù)像素組形式的輸入數(shù)據(jù),并且可以根據(jù)F幅先前存儲的幀的組中的一幀和這種幀內(nèi)多個潛在坐標之一,預測所述輸入數(shù)據(jù)像素。這種F幅先前存儲的幀的組中的一幀可以是最后幀前面的一幀。優(yōu)選情況下,屬于圖像單行或圖像單列的具有尺寸G的像素組在一起處理。在進一步的實施例中,同一像素單元的像素在一起處理。優(yōu)選情況下,單組的F、V、K、P以及可能其他參數(shù)附屬于它們。這種幀內(nèi)的坐標可以利用被編碼為正整數(shù)的向量V表示。所述正整數(shù)又可以以參數(shù)Kv使用哥倫布-萊斯編碼法編碼。所述熵編碼器或者以參數(shù)Kmin使用哥倫布-萊斯編碼法編碼從所述預測器接收的差異組,對于每個差異組所述參數(shù)可以不同,或者在哥倫布-萊斯編碼法導致比非壓縮數(shù)據(jù)更多的數(shù)據(jù)時原樣地以非壓縮格式轉(zhuǎn)發(fā)數(shù)據(jù)。此外,所述熵編碼器可以使用最小編碼在參數(shù)Kmin所應用到的數(shù)據(jù)內(nèi)嵌入所述參數(shù)Kmin,這也表明了不使用壓縮的情況。所述熵編碼器可以每S幀原樣地以非壓縮格式轉(zhuǎn)發(fā)數(shù)據(jù)一次。原樣地轉(zhuǎn)發(fā)的數(shù)據(jù)可以是每幀內(nèi)像素組的子集。所述防錯器可以用糾錯碼保護以編碼數(shù)據(jù)發(fā)送的數(shù)據(jù)的子集。由這種糾錯碼保護的數(shù)據(jù)的這種子集最多可以被限制為Kmin和數(shù)據(jù)流內(nèi)其他編碼參數(shù)的一個或多個,但是不必應用到全部壓縮數(shù)據(jù)。確切地說,可以利用漢明碼進行防錯。此外,公開的方法用于通過下列方式壓縮采樣的模擬數(shù)據(jù),即以與給定圖像幀和所述幀內(nèi)位置相關聯(lián)的像素的形式接收和處理數(shù)據(jù);根據(jù)對F幅先前存儲的幀的組中的一幀和這種幀內(nèi)多個潛在坐標之一的參考,預測所述數(shù)據(jù);選擇最佳的預測并編碼其歷史中的位置Fmin和Vmin ;使用加入所述輸出數(shù)據(jù)流的一組參數(shù)Kmin和P對所述預測與所述輸入數(shù)據(jù)之間的所述差異編碼;以及最后利用糾錯碼對所述輸出數(shù)據(jù)的子集防錯。像素的處理和選擇可以按尺寸G的組進行,以及一組先前存儲的幀中所述一幀可以是最后幀前面的一幀。所述選擇的參考幀內(nèi)的所述坐標可以被表示為可以被編碼為正整數(shù)的向量V,所述正整數(shù)又以參數(shù)Kv使用哥倫布-萊斯編碼法編碼。
所述差異編碼可以以參數(shù)Kmin使用哥倫布-萊斯編碼法進行,對于每個這種差異組所述參數(shù)可以不同,或者在哥倫布-萊斯編碼法導致比所述非壓縮數(shù)據(jù)更多的數(shù)據(jù)時以其非壓縮格式保持所述輸入數(shù)據(jù)。所述參數(shù)Kmin可以使用最小編碼用參數(shù)Kmin所應用到的數(shù)據(jù)來編碼,這也表明了不使用壓縮的情況。所述編碼可以每S幀原樣地以非壓縮格式保持數(shù)據(jù)一次。這種數(shù)據(jù)保持可以對每幀內(nèi)像素組的子集進行。被保護的輸出數(shù)據(jù)的子集最多可以被限制為Kmin、Ffflin和Vmin的一個或多個。被保護的輸出數(shù)據(jù)的這種子集可以利用漢明防錯碼進行防錯。
以下將參考附圖關于實施例的實例,舉例介紹本發(fā)明,沒有一般發(fā)明概念的限制。圖1是壓縮集電環(huán)系統(tǒng)相關組件的框圖;圖2是壓縮器系統(tǒng)相關組件的框圖;圖3是流程圖,展示了使用存儲器中先前存儲的像素預測一組將被壓縮像素的過程的相關步驟;圖4展示了 2維像素陣列中高效定義偏移量的方法;圖5是流程圖,展示了對由預測算法產(chǎn)生的一組差異進行的熵編碼過程的相關步驟;圖6是流程圖,展示了產(chǎn)生要被附加到熵編碼算法輸出的防錯數(shù)據(jù)的過程的相關步驟;圖7是解壓器系統(tǒng)相關組件的框圖;圖8是流程圖,展示了對與糾錯數(shù)據(jù)一起發(fā)送的參數(shù)進行的糾錯過程的相關步驟;圖9是流程圖,展示了對由預測算法產(chǎn)生的一組差異進行熵解碼并以給定參數(shù)由熵編碼算法進行編碼的過程的相關步驟;圖10是流程圖,展示了參考在存儲器中存儲的數(shù)據(jù)內(nèi)給定偏移量從一組解碼后差異重建像素組過程的相關步驟; 圖11顯示了計算機斷層成像。
具體實施例方式現(xiàn)在轉(zhuǎn)向附圖,其中相同的數(shù)字貫穿幾幅視圖代表相同要素,介紹了本發(fā)明的示范實施例。為了方便,同一組中可能僅僅某些要素以數(shù)字標注。附圖的目的是介紹示范實施例。圖1是稱為壓縮集電環(huán)的系統(tǒng)的示范實施例。該系統(tǒng)包括帶有被包括或附屬的存儲器111的壓縮器110、集電環(huán)120以及帶有被包括或附屬的存儲器131的解壓器130。壓縮器110可以位于稱為轉(zhuǎn)子的旋轉(zhuǎn)平臺上,從該旋轉(zhuǎn)平臺得到原始數(shù)據(jù)112,比如來自計算機斷層成像掃描儀上χ射線傳感器,也稱為數(shù)據(jù)發(fā)生器的數(shù)據(jù)。壓縮器接收這種原始數(shù)據(jù)并可以將其存儲在其附帶的存儲器111中。在一個實施例中,壓縮器110可以實施在單個現(xiàn)場可編程邏輯陣列(FPGA)器件上。在其他實施例中,它可以實施在多片F(xiàn)PGA 的專用集成電路(ASIC)即ASIC上,或者在CPU或片上系統(tǒng)(SoC)的軟件中。在一個實施例中,存儲器111、131的任一個都可以實施在如壓縮器或解壓器的同一器件上(即在管芯上存儲器中)。在其他實施例中,存儲器可以實施在一片或多片存儲器器件上,比如同一印刷電路板(PCB)上鄰近壓縮器110部件的DRAM器件,或者與壓縮器或解壓器駐留的PCB相連的PCB上的DRAM器件。在壓縮器無法立即在集電環(huán)上傳送數(shù)據(jù)的情況下,例如由于集電環(huán)的吞吐量限制,為了存儲歷史原始數(shù)據(jù)作為壓縮參考以及用于壓縮前后數(shù)據(jù)的臨時緩沖區(qū),壓縮器110 可以使用存儲器111。在這種目標或通向這種目標的網(wǎng)絡不能夠以解壓器產(chǎn)生數(shù)據(jù)的速度接收數(shù)據(jù)的事件中,為了存儲數(shù)據(jù),解壓器130可以使用存儲器131??梢曰谄款i吞吐量導致的儲備數(shù)據(jù)的最大規(guī)模、最差壓縮比和預計的原始數(shù)據(jù)的絕對規(guī)模來確定存儲器131的規(guī)模。例如,假若預計每次CT掃描的最大數(shù)據(jù)量為4吉字節(jié),數(shù)據(jù)在2秒周期上(以16(ibpS的速度)產(chǎn)生,集電環(huán)的容量為8(ibpS而最差情況的平均壓縮比為1.6 1,這將暗示在最差情況下集電環(huán)上的有效吞吐量將是12. 8(ibpS(按照原始數(shù)據(jù)),并且壓縮后原始數(shù)據(jù)的有效積累速度將是2(ibpS(16G bps的原始數(shù)據(jù)變?yōu)?0(ibpS 的壓縮后數(shù)據(jù),其中8(ibpS的壓縮后數(shù)據(jù)可以被實時傳送)。兩秒掃描后,這將暗示4吉位的數(shù)據(jù)積累,需要512兆字節(jié)的存儲器緩沖區(qū)。不過,如果還知道,例如作為更仔細分析的結(jié)果,最差情況壓縮比僅僅在少于10%的掃描期間出現(xiàn)并且平均壓縮比超過2 1,可能需要小很多的存儲器緩沖區(qū),甚至只有幾兆字節(jié)的數(shù)量級,在現(xiàn)有FPGA器件中這將容易適應。轉(zhuǎn)向圖1,壓縮器110可以在集電環(huán)120上將壓縮后數(shù)據(jù)向解壓器130傳送,解壓器可以在附帶存儲器緩沖區(qū)131中存儲數(shù)據(jù)。解壓器130在其輸出處傳遞未壓縮的原始數(shù)據(jù)132。不僅如此,壓縮后數(shù)據(jù)可以被存儲在固定單元中或任何存儲單元中以進一步使用。解壓器130可以位于稱為定子的固定單元上,原始數(shù)據(jù)可以從其發(fā)送給中央處理器或服務器進行數(shù)據(jù)分析和顯示,或者發(fā)送給存儲單元比如磁盤陣列、網(wǎng)絡接入存儲(NAS) 或存儲區(qū)域網(wǎng)絡(SAN)。解壓器接收壓縮后原始數(shù)據(jù)并可以將其或其解壓縮形式存儲在解壓器附帶的存儲器131中。在一個實施例中,解壓器130可以實施在單個現(xiàn)場可編程邏輯陣列(FPGA)器件上。在其他實施例中,它可以實施在多片F(xiàn)PGA的專用集成電路(ASIC)即 ASIC上,或者在CPU或片上系統(tǒng)(SoC)的軟件中。在一個實施例中,存儲器131可以實施在如解壓器的同一器件上(即在管芯上存儲器中)。在其他實施例中,存儲器可以實施在一片或多片存儲器器件上,比如同一印刷電路板(PCB)上鄰近解壓器130部件的DRAM器件,或者與解壓器駐留的PCB相連的PCB上的DRAM器件。在又一個實施例中,預想解壓器130將在集電環(huán)120上經(jīng)由通信協(xié)議與壓縮器110 通信并且控制數(shù)據(jù)流動的速度,使得(壓縮后)數(shù)據(jù)將恰好及時到達解壓器,以便對其進行解壓縮并將其朝向最終目標轉(zhuǎn)發(fā)(正如以上陳述)。在這種情況下,通信協(xié)議將擔當流控制或反壓機制,在從解壓器到其目標的通信裝置比解壓器在解壓縮后所產(chǎn)生的原始數(shù)據(jù)速度更受限的情況下,將能夠限制在集電環(huán)120上的數(shù)據(jù)傳輸。在解壓器不具有任何存儲器附屬于它,或者只有非常少量的存儲器附屬于它時,這將特別有用。
在另一個實施例中,解壓器130還可以使用以上提及的通信協(xié)議,以便請求壓縮器110重新傳送在解壓器和壓縮器之間的通信鏈接上移動時已經(jīng)被破壞的壓縮后數(shù)據(jù)。檢測這樣的破壞能夠充分利用壓縮數(shù)據(jù)附帶的檢錯和糾正數(shù)據(jù)(見以下)。在另一個實施例中,解壓器130可能不在集電環(huán)120上與壓縮器110通信。在這種情況下,解壓器附屬的存儲器131可以用作存儲壓縮數(shù)據(jù)或被傳送到其最終目的地之前的解壓縮數(shù)據(jù)。確定這種存儲器的規(guī)模時可以根據(jù)輸入(壓縮)數(shù)據(jù)的預期速率、可能向目標傳送的速率、該目標可以成功地處理或存儲輸入數(shù)據(jù)的速率、最佳和最差情況下的壓縮比以及產(chǎn)生原始數(shù)據(jù)的速率。例如,如果在集電環(huán)120上允許的最大數(shù)據(jù)速率被限制為 SGbps (壓縮數(shù)據(jù)),朝向該目標傳送的速率被限制為10(ibpS (解壓縮數(shù)據(jù)),在目標處處理的速率被限制為8(ibpS(解壓縮數(shù)據(jù))并且最佳情況下的壓縮比是3 1,而最差情況下的壓縮比是1.6 1(如在以上實例中),對于兩秒周期上的高至4吉字節(jié)的掃描(暗示16(ibpS的原始數(shù)據(jù)生成速率),所需要的存儲器可能推論如下解壓器到目標傳輸?shù)淖畲笏俾适?(ibpS (IOGbps通信速率和8(ibpS處理速率的最小值),并且由于原始數(shù)據(jù)的速率被發(fā)生器限制為16(ibpS,所以平均積累被限制為8(ibpS(16(;bpS生成速率減去8(ibpS傳輸速率),它可以以至少1.6 1比例的壓縮格式存儲。因此,在兩秒周期上可以以8/1.6 = 5(ibpS積累壓縮數(shù)據(jù),得出10吉位即1.25吉字節(jié)。在另一個實施例中,可以用已知的解壓器朝向目標的通信吞吐量以及用其附屬存儲器131容量配置壓縮器110。在這種情況下,壓縮器可以包括限制朝向解壓器的數(shù)據(jù)速率的邏輯,比如限制在解壓器處的存儲器需求而不需要解壓器朝向壓縮器傳送其實際的存儲
器需求。在又一個實施例中,如果解壓器被配置為不解壓縮數(shù)據(jù),中央處理器或存儲器目標就可以以壓縮格式存儲數(shù)據(jù)。結(jié)果,可以消除傳輸和處理的開銷,在解壓器處產(chǎn)生更低的存儲器需求,在某些情形下它甚至可以變得可忽略,即使在解壓器與壓縮器之間不使用流控制通信協(xié)議。應當注意,圖1描繪的壓縮集電環(huán)可以暴露外部接口,它與業(yè)內(nèi)公知的集電環(huán)接口一致。這些接口可以包括光纖或電氣接口。因此,壓縮集電環(huán)可以被提供為常規(guī)集電環(huán)子系統(tǒng)的簡易替換,具有更高的有效吞吐量的益處,并且在面臨不可壓縮的或不良壓縮的數(shù)據(jù)時,實際上也沒有數(shù)據(jù)損失的風險?,F(xiàn)在對圖2進行參考,它描繪了壓縮器的示范實施例。這種壓縮器可以用于圖像壓縮以及其它類型的數(shù)據(jù)。在這種應用的語境中,要壓縮的數(shù)據(jù)將被稱為像素,表示圖像內(nèi)單個元素。不過,應當認識到其他類型的數(shù)據(jù)也可以以類似的方式壓縮,即使這種數(shù)據(jù)不表示圖像。例如,這種數(shù)據(jù)可以表示任何類型的數(shù)據(jù),包括被數(shù)字采樣的數(shù)據(jù),來自多種源,比如光、電磁輻射或音頻。優(yōu)選情況下,要壓縮的數(shù)據(jù)在壓縮前被縮放。這種縮放可以包括加或減某偏移值和/或乘以某縮放值和/或應用某傳遞函數(shù)。在CT掃描儀的特定情況下,通過縮放不同物理檢測器的信號,具有不同閃爍體或不同信號處理組件的模塊可以被均衡。 均衡可以基于用相同檢測器或用參考檢測器的參考測量結(jié)果。壓縮器可以以定點如16位或浮點(如12位尾數(shù),4位階碼)的格式壓縮數(shù)據(jù)。在定點數(shù)據(jù)的情況下,到浮點的轉(zhuǎn)換可以先于壓縮。在浮點數(shù)據(jù)的情況下,尾數(shù)和階碼可以由兩個不同的壓縮器使用不同的算法或設置壓縮。作為替代,壓縮僅僅被應用到尾數(shù)或階碼,取決于壓縮效率。不僅如此,對于偏移值、原尺寸和成像(調(diào)制)的數(shù)據(jù)集可以使用不同的壓縮算法??梢耘c圖像數(shù)據(jù)分開傳送的控制數(shù)據(jù),可以不被壓縮。控制數(shù)據(jù)是用于控制硬件如X射線管、處理器硬件或者軟件如壓縮器的數(shù)據(jù)。圖2的壓縮器包括預測器210,該預測器接收像素格式的要壓縮的數(shù)據(jù)211,以及關于在給定維數(shù)和形式的可能圖像幀內(nèi)這種像素位置的同步信息。預測器的主要目的是根據(jù)內(nèi)部模型預測要壓縮的數(shù)據(jù),典型情況下根據(jù)輸入數(shù)據(jù)的歷史。預測器的輸出是輸入數(shù)據(jù)與預測出模型之間的差異,該輸出被發(fā)送到熵編碼器220進行編碼。熵編碼器220把來自預測器210的差異數(shù)據(jù)編碼為壓縮形式,產(chǎn)生了壓縮數(shù)據(jù)。這種數(shù)據(jù)然后被發(fā)送到防錯器230,它用選擇的防錯碼對輸入數(shù)據(jù)進行注釋以便使壓縮數(shù)據(jù)免于各種各樣的錯誤。最后,防錯器230傳遞壓縮的和可選地防錯的數(shù)據(jù)231作為壓縮器的輸出?,F(xiàn)在對圖3進行參考,它描繪了預測器流程圖的示范實施例。首先預測器接收像素形式的輸入數(shù)據(jù)并存儲它們用于將來參考310。典型的像素可以用16位O個字節(jié))表示。存儲像素時可以參考其圖像幀(二維陣列)并且多幀可以存儲在一起。幀等價于圖像而多幀等價于視頻序列。幀可以以典型的先進先出(FIFO)次序存儲,暗示要被存儲的幀的數(shù)量F制約著存儲器的規(guī)模和存儲的“視頻”的長度。典型的數(shù)量F可以是3,使得新像素蓋寫在三幀以前的像素上。像素以給定尺寸的組進行處理。組的尺寸可以變化并且典型情況下是圖像每行尺寸像素數(shù)量的除數(shù)。不過,可以使用每組任何數(shù)量的像素。例如,像素可以按一次16個像素組處理。組的尺寸后來將制約與被壓縮后像素組附屬的元數(shù)據(jù)相關聯(lián)的有關數(shù)據(jù)開銷。 另一方面,組越小,這種像素的特征之間相關的概率就越高。因此組的尺寸反映了每像素可實現(xiàn)的壓縮質(zhì)量和與實現(xiàn)該壓縮相關聯(lián)的開銷之間的權衡。不僅如此,應當認識到一起處理的尺寸為G的像素組可以屬于圖像單行、圖像單列或任何其他形式比如可以平鋪在圖像上的矩形。優(yōu)選的組尺寸是16X1、21X1、25X1、32X1或42X1。在進一步實施例中,組的尺寸適應檢測器陣列物理部件的像素單元尺寸。這種像素單元尺寸可以由使用同一閃爍體材料(類似從相同晶體或單片晶體中切割的材料)的檢測器陣列的尺寸給出。它還可以由隔離物給出,如由于其間增加的串擾而分開鄰近通道的凹槽和極板。單元中像素的數(shù)量優(yōu)選情況下是二的冪2~N,因為這表示最常見的檢測器陣列結(jié)構(gòu)。像素單元尺寸的另一個限制可能在檢測器陣列的邊界,由一個單片光二極管陣列組成。進一步的限制可能由檢測器給出,這些信號由被同一電源供電的同一模擬預處理 IC (多路復用器、積分器、采樣與保持)、同一 A/D轉(zhuǎn)換器或檢測器處理。下一步,從存儲器讀出在過去存儲的一組像素,用作進行比較的可能參考320。參考像素組的尺寸可以與要處理的組相同。它們可以取自幾個先前存儲的幀中的至少一個, 確切地說,未必來自先前存儲的幀。例如,假若F是3,參考像素組可以取自先前的(F1)和再前的幀(F2)兩個參考幀之一。一般來說,對于給定的F,取自幀F(xiàn)i的任何像素組都可以, 其中i <= i <= F-I0此外,還可以使用來自當前被處理幀(Ftl)的像素作為參考,只要沒有產(chǎn)生循環(huán)依賴。在優(yōu)選實施例中,最后幀之前幀的像素用于參考有關的圖像,該圖像已經(jīng)由雙管、 雙能或雙檢測器CT掃描儀產(chǎn)生。作為替代,可以使用由分開的壓縮器處理的多個,優(yōu)選情況下兩個并行的數(shù)據(jù)流。作為進一步的實施例,并行地使用了多個壓縮內(nèi)核(合并在同一個或分開的并行的FPGA中)以增加壓縮吞吐量。這些內(nèi)核可以適于檢測器陣列/CT掃描儀的物理結(jié)構(gòu),如劃分時按多層檢測器的層,或者按檢測器陣列或者按能量,如果如由具有為了區(qū)別能量的旋轉(zhuǎn)X射線過濾輪或切換陽極電壓或疊層檢測器的射線管切換能量。在參考幀內(nèi),參考像素可以取自與正被處理幀內(nèi)像素的坐標一致的(X,y)坐標, 或者與正被處理幀內(nèi)像素的坐標具有給定偏移值的坐標(Χ+Δ x,y+Ay),其中ΔΧ和Ay可以是在預定義范圍內(nèi)的小的正整數(shù)或負整數(shù)。ΔΧ和Ay又可以按照被映射到給定偏移值的單個整數(shù)表示。這種映射例如在圖4中描述,其中例如(ΔΧ,Δγ) = (0,0)被編碼為0, (Δχ, Ay) = (1,1)被編碼為 5,(ΔΧ,Ay) = (-1,1)被編碼為 8,(Δχ, Ay) = (-1,-1) 被編碼為6,(Δχ, Ay) = (1,-1)被編碼為7以及(Δχ,Ay) = (-1,2)被編碼為20。被編碼為0的(Δχ,Δγ) = (0,0)表示該幀內(nèi)輸入像素的輸入坐標。對于不同的應用可以使用不同的圖表。使用K = KvW哥倫布-萊斯編碼法可以編碼V。典型情況下,K是2(對于最常見的值進行3-4位編碼)。在一個實施例中,優(yōu)選由更小的整數(shù)表示“良好”(見以下) 參考偏移值的映射。在另一個實施例中,使用的唯一參考偏移值是(Δχ,Ay) = (0,0)—— 僅有在先前幀內(nèi)正被編碼像素的相同坐標。后文將被映射的整數(shù)稱為來自原始坐標的向量 V。在其他實施例中,所用的參考像素可以基于來自一個或多個幀像素的結(jié)合,包括當前處理的幀和過去的幀。例如,V可以編碼某參考,比如代數(shù)式(A+B-C),其中A是被壓縮的當前幀中坐標(Δ X,Ay) = (-1,0)處的像素,B是先前幀中坐標(Δχ,Ay) = (0,0)處的像素,而C是先前幀中坐標(Δ χ,Ay) = (-1,0)處的像素。V可以編碼為在C > max (Α, B)時min(A,B)、在C <min(A,B)時max(A,B)否則A+B-C。這種參考業(yè)內(nèi)被稱為梯度預測器參考。在另一個實施例中,可以遞歸地應用哥倫布-萊斯編碼法以進一步縮短代碼長度。返回圖3,對于來自一組被允許向量的任何給定向量Vi,計算了要被編碼像素與被選定的其參考像素之間的差異330。在一個實施例中,被允許的向量組可以是例如由圖4中整數(shù)0-20表示的向量。在另一個實施例中,可以使用僅僅向量0。為了差異計算的目的,每個像素都被視為整型數(shù)字。例如對于16位的像素,可以存在65536個不同的可能像素值, 范圍從0到65535。一組像素與參考組像素之間的差異可以表示為選定向量V所對應的像素對之間的差異絕對值之和。例如,對于一組四個像素3、4、12、100與參考組像素10、10、 12、99,該差異是 I 3-10 | + | 4-10 | + | 12-12 I+ 1100-99 I = 7+6+0+1 = 14。還可以使用其他差異公式,比如均方、帶符號差異之和或者差異熵編碼尺寸(見以下的熵編碼器)。在計算了差異330之后,檢查340是否存在著更多的候選參考。如果存在著剩余的候選參考;341,由步驟320繼續(xù)該過程。如果不存在剩余的候選參考342,當已經(jīng)計算了全部可能的向量Vi關于全部可能的參考幀F(xiàn)i的全部差異340時,選取在330中算出的差異最小的對躬,\)350。選定的向量Vmin和參考幀F(xiàn)min然后被編碼,并且與對選取的(Fmin, Vfflin)算出的像素組差異一起朝向熵編碼器(圖1,220)轉(zhuǎn)發(fā)。在一個實施例中,Vmin可以以編碼參數(shù)(可以為Kv =幻使用業(yè)內(nèi)公知的哥倫布-萊斯編碼法編碼(見以下更詳細地說明)。在另一個實施例中,可以將Fmin和Vmin固定為Fmin = 2和Vmin = 0。在又一個實施例中,可以將Fmin編碼為一位,將Fmin= 1表示為0而Fmin = 2表示為1。
現(xiàn)在對圖5進行參考,它描述了熵編碼流程圖的示范實施例。熵編碼器(圖2中的220)按與以上介紹的像素組相關的差異組,以有符號的格式從預測器(圖2中的210)接收所選定的算出的差異510。它還可以接收原始像素。對于表示為N位(例如N可以是16)的像素,差異可以為從(1-2N)上至Qn-I)的數(shù)字(對于N =16這意味著從-65535上至6553 。因此,可以將差異表示為符號(可以被編碼為單個位)和表示該差異的絕對值的N位。下一步,熵編碼器將差異的有符號格式變換為無符號格式520。為了這個目的可以使用來自業(yè)內(nèi)的眾所周知的變換,比如由正整數(shù)2 * D表示所有非負差異D而由正整數(shù)-2 * D-I表示所有負差異。例如,正差異D = 4可以被表示為2 * 4 = 8而負整數(shù)D = -2可以被表示為-2* (-2)-1 = 3。結(jié)果是所有負差異由奇數(shù)表示而所有的非負差異都由偶數(shù)表示(零保持為零)。應當注意,在這種變換為非負表達之后,這些差異是0與2(N+1)-2之間的數(shù)字,其中N是每像素的位數(shù)。因此它們?nèi)匀豢梢杂蒒+1位表示。值2(N+1)-1不能為該變換的結(jié)果,因此它可以用于表明數(shù)據(jù)在組中的對齊或用于其他目的。應當注意,存在著其他變換,但是它們與以上的變換相當類似。將小絕對值變換為小正整數(shù)而將大絕對值變換為大正整數(shù)的任何這種變換都可以使用。下一步,熵編碼器將參數(shù)K初始化為初始值1^530。典型情況下Ktl是小整數(shù)比如3。 K在本領域被稱為哥倫布-萊斯編碼法的參數(shù)。在這種編碼法中,正整數(shù)被表示為其最低K 位,隨后是其最高剩余位的一元表達,隨后是表明一元表達結(jié)束的零位。例如,數(shù)字127(以二進制記法為 Illllllb)對于 K = 4 由 1111,1111111,0 表示,對于 K = 6 由 111111,1,0 表示,而對于K = 7由111111,0表示。這種編碼在本領域眾所周知并經(jīng)常在壓縮算法中使用。下一步,熵編碼器計算差異組的以參數(shù)K的哥倫布-萊斯編碼法的位數(shù)550。實現(xiàn)最小編碼尺寸的K被存儲為1(_。對于G個差異的組規(guī)模(例如G可以是16),通過合計由差異(它們被表示為N+1位的整數(shù))的最高N+1-K位表示的整數(shù),并且加到G * (K+1),就能夠簡單地計算編碼尺寸。例如,給定G = 4個差異的組(5,12,29,31),對于K = 3它們的表達具有的尺寸為0+1+3+3+4 * (3+1) =23,對于K = 4它們的表達具有的尺寸為22,而對于K = 5具有的尺寸為對。因此Kmin在這種情況下是4。下一步,在一個示范實施例中,K被增加1560,并且對于新的K重復編碼尺寸的過程。在另一個實施例中,候選K可以被增加更高的值或者變化值。如果在540中K達到了預定義的最大值Kmax,便作出到步驟570的轉(zhuǎn)移而不是繼續(xù)這個步驟550。所以不再考慮更多的K。例如,Kmax可以被設置為10。這暗示在Ktl(例如3) 與Kmax-I (例如9)之間試驗了 K的值。總之,被試驗的K值數(shù)字可以是任何數(shù)字,尤其是2 的冪減1。對于Ktl = 3和Kmax= 10,試驗了七個不同的值。這些值可以由3位整數(shù)表示,留下一個未分配的3位數(shù)值,將被用于表明不應當執(zhí)行壓縮(見以下)。下一步,對于Kmin所達到的最小尺寸編碼,該編碼尺寸與組尺寸為G而每像素位數(shù)為N的原始輸入數(shù)據(jù)的尺寸(G * N)進行對比580、590。如果對于Kmin的編碼尺寸大于或等于(G * N) 592,便不執(zhí)行編碼,由以上陳述用于表示Kmin的未分配編碼可以表明的事實。 在這種情況下,原始像素而不是差異可以在輸出數(shù)據(jù)內(nèi)表示(將不執(zhí)行壓縮)593。否則,如果對于Kmin的編碼尺寸小于(G * N) 596,熵編碼器可以向防錯器(圖2,230)輸出編碼后的Kfflin和哥倫布-萊斯編碼的差異596。在另一個實施例中,除了編碼尺寸動機,熵編碼器可以選擇在步驟590轉(zhuǎn)發(fā)原始輸入數(shù)據(jù),即使Kmin的編碼尺寸小于原始輸入數(shù)據(jù)的尺寸(G * N)。在每S次幀內(nèi)給定位置處給定像素組需要被編碼時可以執(zhí)行轉(zhuǎn)發(fā)一次。S可以是熵編碼器的預定義參數(shù),它意在確保即使萬一數(shù)據(jù)訛誤解壓器也能夠與正確數(shù)據(jù)同步。例如,假若S被設置為100,每100 幀在幀內(nèi)給定位置處的像素組都可以以其非壓縮的原始格式被發(fā)送,使得對先前傳送的像素不存在依賴關系。結(jié)果,即使這種像素可能已經(jīng)被破壞,也確保該像素訛誤決不影響多于 100個連續(xù)幀的像素。發(fā)送非壓縮像素組的事件被認為是壓縮器與解壓器之間(或者熵編碼器與熵解碼器之間)的同步事件。在一個實施例中,可以每S幀對該幀內(nèi)全部像素都執(zhí)行同步事件。這是實施同步的最簡單方法,不過它也招致了非壓縮數(shù)據(jù)的突發(fā)(整個非壓縮幀都被發(fā)送)。因此,在另一個實施例中,幀內(nèi)不同像素組的同步事件被展開,使得容納M個像素組的幀,每幀只有M/ S個組被同步,但是在超過S個幀的階段上所有組都被同步。在又一個實施例中,給定幀內(nèi)像素組的同步事件可以跳過,如果它在過去S個幀內(nèi)以非壓縮格式發(fā)送過(如對于新近幀在編碼不引起比原始輸入更小的表達時——自然同步)。這可以稍微地改進整體壓縮比而不犧牲編碼的抗錯。在一個實施例中,如果對于Kmin的哥倫布-萊斯編碼后的編碼尺寸對在該組內(nèi)編碼的全部差異都嚴格為每編碼Kmin+1位(即對于全部差異低Kmin位以上的高位都是零), 就可以使用特殊的指示表明這些編碼在尺寸上都是相等的,并且將不提供這些編碼的劃界位。這種指示可以以標注為P的附加位的形式出現(xiàn)。如果P = 1,這可以表示正常的哥倫布-萊斯編碼,而當P = 0時,這可以表示對該組中差異所用的編碼僅僅是表示這些差異的 Kmin個低位的固定尺寸。P位的益處可以取決于被壓縮數(shù)據(jù)的類型。如果分析顯示出這些差異用Kmin以上的至少一個非零高位被正常編碼,該P位就可以從數(shù)據(jù)流中省略。不過,如果這不是經(jīng)常的情況,包括該P位可能有益,因為對于尺寸為G的差異組,它允許編碼尺寸減少G位。在一個實施例中,熵編碼器的輸出可以被視為壓縮器(圖1,110)的輸出。所以數(shù)據(jù)被傳送到集電環(huán)而不需要進一步防錯。在另一個實施例中,熵編碼器的輸出可以被傳遞到防錯器(圖2,230)以對可能的位錯進行防護。現(xiàn)在對圖6進行參考,它描繪了防錯器流程圖的示范實施例。防錯器可以接收或者一組原始像素(作為尺寸為G的組,其中例如G可以是16), 或者一組哥倫布-萊斯編碼的差異連同參考幀索引Fmin(見圖3中預測器流程圖的說明)、 參考幀內(nèi)的偏移值向量Vmin(見圖3中預測器流程圖的說明)和哥倫布-萊斯編碼法參數(shù) Kmin(見圖5中熵編碼器流程圖的說明)610。如果熵編碼器還使用了以上討論的P位以表明僅僅截斷的低位編碼,它也可以被轉(zhuǎn)發(fā)到防錯器。為了保護與輸入數(shù)據(jù)一起傳遞到防錯器的參數(shù),它可以計算糾錯碼(ECC)620。在一個實施例中,如果Fmin由一位表示、Vmin由六位表示、Kmin由三位表示并且使用了一個P位, 這種糾錯碼可以是漢明(15,11)碼。在這種編碼下,向構(gòu)成Fmin、Vmin和Kmin的11位加入了另外4位ECC,使得這些參數(shù)和加入的ECC上的任何單個位錯都能夠被數(shù)據(jù)的接收者校正。 在另一個實施例中,在不使用Fmin、Vmin和P位(即每一像素都參考了固定的先前幀內(nèi)單個像素并且不使用哥倫布-萊斯優(yōu)化)時,通過漢明(7,4)碼可以保護三位Kmin對抗單個位錯。在又一個實施例中,所用的ECC可以是本領域許多公知糾錯碼之一。在另一個實施例中,除了 ECC,還可以加入檢錯碼(EDC),比如循環(huán)冗余檢驗(CRC) 或覆蓋編碼的差異或像素數(shù)據(jù)的奇偶校驗位625。這種EDC可以用來檢測數(shù)據(jù)中的錯誤,使得在不可糾正錯誤的罕見情況下解壓器可以請求壓縮器重新傳送被破壞的數(shù)據(jù)。應當注意,通過僅僅向伴隨像素數(shù)據(jù)(或者表示它們的編碼的差異)的這些參數(shù)應用ECC,向數(shù)據(jù)流加入的開銷非常少。此外,由于在不同幀內(nèi)不同坐標處的像素之間可能不存在或存在非常少的依賴性(例如,假若不使用Vmin和Fmin或它們總是常數(shù)),所以數(shù)據(jù)流中的任何位錯都可以被限制到單個像素(或一系列幀內(nèi)相同坐標處的像素),而大多數(shù)或全部跨像素的影響都被應用到這些位的糾錯碼消除,它們被組內(nèi)的多個像素編碼結(jié)果有效地共享——F、V、K和P參數(shù)。結(jié)果,對于醫(yī)療應用,這種糾錯措施可足以保護CT掃描的數(shù)據(jù),同時不必對全部壓縮數(shù)據(jù)應用糾錯方案,它會導致有效壓縮比變差。在另一個實施例中,表示編碼的差異或像素的位數(shù)可以由B表示,它也可以被附加到編碼的差異或像素組。也可以向B應用ECC以便萬一出錯時允許對組數(shù)據(jù)比較容易地同步。B可以對所表示的像素或差異的位簡單地計數(shù),也可以僅僅對這種編碼的可變長度比如哥倫布-萊斯編碼位中一元表示的部分計數(shù)。在進一步實施例中,如果存在著未使用的帶寬,便可以增加ECC的量以提高保護, 可以以其原始形式傳送像素,可以使用不太處理密集的壓縮向量V或以上的任何結(jié)合。最后,防錯器的輸出是一組編碼的差異或像素連同參數(shù)F、V、K和P以及算出的ECC 和可選的EDC 630。在進一步實施例中,可以對防錯器的輸出進行擾頻以使其適于特定集電環(huán)傳輸?shù)奶卣?。應當注意,每編碼像素的開銷可以由F、V、K和P參數(shù)的尺寸制約,但是通過改變一起處理的像素組的尺寸G可以將其調(diào)優(yōu)到任何要求的最小量。G越大,這些參數(shù)的開銷就越小,但是由于缺乏組內(nèi)像素之間的相關性使壓縮比受限的概率就越高。同樣,G越小,這些參數(shù)的開銷就越高,但是由于缺乏組內(nèi)像素之間的相關性使壓縮比受限的概率就越小?,F(xiàn)在對圖7進行參考,它描述了解壓器(比如圖1中的130)的示范實施例。這種解壓器可以用于圖像解壓縮以及其他類型的數(shù)據(jù)。在這種應用的語境中,要被解壓縮的數(shù)據(jù)將被稱為像素,表示圖像內(nèi)單個元素。不過,應當認識到,其他類型的數(shù)據(jù)也可以以類似的方式解壓縮,即使這種數(shù)據(jù)不表示圖像。例如,這種數(shù)據(jù)可以表示任何類型的數(shù)據(jù),包括從各種各樣來源數(shù)字采樣的數(shù)據(jù),比如光、電磁輻射或音頻。圖7的解壓器包括糾錯器710,它接收編碼的差異或像素格式的要被解壓縮的數(shù)據(jù)711,連同編碼和防錯參數(shù)以及關于收到數(shù)據(jù)的開始和結(jié)束以及要接收幀的預期尺度和形式的同步信息。糾錯器可以負責根據(jù)所用的糾錯和檢錯碼識別和糾正輸入數(shù)據(jù)內(nèi)的任何錯誤,以及從數(shù)據(jù)中剝離ECC和EDC信息再將其傳遞到熵解碼器720。熵解碼器可以接收編碼的差異或原始像素連同編碼參數(shù)。它可以負責將信息解碼為單純的有符號差異,由重建器730加入?yún)⒖紨?shù)據(jù)或從中減掉。如果原始像素數(shù)據(jù)被熵解碼器接收(在還尚未對這些像素應用壓縮的情況下),它可以將這種像素按原樣轉(zhuǎn)發(fā)到重建器。重建器可以重建該原始像素數(shù)據(jù),方式為將這些差異加入可能已經(jīng)存儲在其存儲器中的適當參考數(shù)據(jù),或者從其減掉這些差異。然后,它可以在其存儲器中存儲這些重建數(shù)據(jù)用于將來的參考,然后以像素的形式將其轉(zhuǎn)發(fā)作為解壓器的輸出731?,F(xiàn)在對圖8進行參考,它描述了糾錯器流程圖的示范實施例。糾錯器可以接收與像素組一起發(fā)送的全部編碼參數(shù)以及糾錯和檢錯碼810。這些參數(shù)可以包括以上介紹的Fmin、Vmin、Kmin和P參數(shù),或者由壓縮器使用的這些參數(shù)的子集。 使用可以是以上介紹的任何代碼的ECC碼,可以檢測和糾正在提供參數(shù)820上的一個或多個位錯。在示范實施例中,向糾錯器僅僅發(fā)送了四位Kmin,連同由漢明碼(7,4)算出的三位 ECC0這種代碼的糾錯過程在本領域眾所周知。使用可以是以上介紹的任何代碼的EDC,可以檢測在提供的像素或差異組上的錯誤。萬一檢測出不可恢復的錯誤825、826,糾錯器可以啟動重新傳送被破壞數(shù)據(jù)的請求。對于這樣的請求可以使用從解壓器到壓縮器的任何常用的通信信道,包括低速信道比如I~2C或以太網(wǎng)信道。在這樣的事件中,可以停止解壓縮直到收到了重新傳送的數(shù)據(jù)。最后,假設沒有檢測出不可糾正錯誤827,就可以將糾正后的參數(shù)轉(zhuǎn)發(fā)給熵解碼器830。在這一點上,可以丟棄ECC,因為它在解壓器內(nèi)沒有進一步的使用價值?,F(xiàn)在對圖9進行參考,它描述了熵解碼器流程圖的示范實施例。熵解碼器可以從糾錯器接收若干組編碼的差異,連同以上介紹的Kmin以及可能地 P參數(shù)910。作為替代,呈現(xiàn)給熵解碼器的參數(shù)可以表明該數(shù)據(jù)是未壓縮的像素組(正如以上介紹可以將其編碼為Kmin的特殊值)。如果該輸入表示未壓縮數(shù)據(jù)920、922,它被原樣地輸出并且可以丟棄Kmin和P參數(shù)930。如果輸入表示差異921,該數(shù)據(jù)通過一組步驟被解碼, 它們表示以上呈現(xiàn)的熵編碼器的反動作。這在以下介紹。使用Kmin參數(shù)(它可以被編碼),熵解碼器可以對由哥倫布-萊斯代碼編碼的差異進行解碼940。例如,給定位流和參數(shù)Kmin,使用頭Kmin位作為新差異值的低位,然后對1進行計數(shù)直到第一個0位,以便推論出可以被加入到先前陳述低位的高位的值。對于預定義的或在壓縮器與解壓器之間協(xié)商的尺寸為G的像素組,這個過程被重復G次。例如,給定二進制代碼Oiiioioiiiob和Kmin= 2,可以將第一個差異標識為具有Olb的低位和IOb的高位 (這表示2,它是低位之后1的數(shù)量),并且合在一起出現(xiàn)了值1001b,它是十進制的9。下一個差異被解碼為具有IOb為低位和Ilb為高位(這表示3,它是低位之后1的數(shù)量),它產(chǎn)生了 IllOb或十進制的14。下一步,熵解碼器可以將全部表示為正整數(shù)的結(jié)果差異變換回有符號格式950。使用由熵編碼器將有符號的值變換為正整數(shù)所用公式的反向公式可以做到這一點。例如,偶整數(shù)N = 2*D(其中D是非負整數(shù))經(jīng)由D = N/2被變換為非負差異D,而奇整數(shù)N = -2 女D-I (其中D是小于0的負整數(shù))經(jīng)由D = -(N+l)/2被變換為負差異D。因此,諸如9和 14的差異如以上解碼被變換為-5和7。應當認識到,其他變換也是可能的,取決于由對應熵編碼器使用的技術。P參數(shù)用于如以上定義表明沒有非零的高位,尺寸為G的差異組的位流就可以通過將輸入的G * Kmin位劃分為G個相等的位組而被簡單地解碼,這些位組表示這些差異的正數(shù)表達,并且以上的變換從此繼續(xù)。最后,熵解碼器可以向重建器輸出有符號的差異960,正如圖7的介紹。正如以上陳述,如果熵解碼器的輸入由非壓縮的像素組成,它們原樣地被轉(zhuǎn)發(fā)到重建器?,F(xiàn)在對圖10進行參考,它描述了重建器的流程圖的示范實施例。
重建器可以接收一組像素輸入,或者以非壓縮格式或者以如從熵解碼器所接收的差異的形式1010。在像素組作為非壓縮像素到達重建器的情況下1020、1021,重建器可以在它可以計算它們的位置只是存儲它們以便將來參考,或者明確地傳送輸入數(shù)據(jù)并將它們輸出為解壓器的解壓縮輸出1050。如果由預測器(見圖2的210)使用的參考幀數(shù)量是F,重建器還可以存儲F幀的歷史,它們可以以先進先出(FIFO)次序蓋寫,使得在存儲器中保留的最老的幀總是被新來到的解壓縮像素蓋寫。因此,由解壓器使用的存儲器可以被限制到F幀。F 的典型數(shù)字可以是3使得新像素寫在三幀前的像素上。萬一重建器接收像素的差異以及以上定義的參數(shù)Fmin和Vmin而不是以非壓縮格式 1020、1022,它可以可以繼續(xù)下去,方式為首先在由Fmin和Vmin定義的位置從其存儲器中讀取所需要的參考像素1030。以上定義的Fmin和Vmin可以指明保存著先前傳送像素的存儲器內(nèi)參考數(shù)據(jù)的位置,其中Fmin可以指明要用作參考的巾貞,而Vmin可以指明相對于正被解壓縮的像素的當前位置,參考幀內(nèi)的編碼向量,指向要用作參考的精確像素。Vmin可以使用圖4 描述的編碼表并且其數(shù)值又可以以已知K參數(shù)由哥倫布-萊斯代碼編碼。在后一情況下, 可以首先將Vmin的數(shù)值解碼為正整數(shù),它可以被解碼為參考幀內(nèi)的(x,y)偏移值。下一步,重建器可以重建被壓縮的像素,方式為向從存儲器讀取的正確參考像素加入差異1040。這種運算可以按像素執(zhí)行也可以對組中的全部像素一次執(zhí)行。同樣,一旦已經(jīng)重建了這些像素,就可以將它們存儲在存儲器中用于將來參考,并且作為重建器的輸出和解壓器(見圖7的730)的輸出發(fā)送1050。應當認識到,用于像素數(shù)據(jù)壓縮和解壓縮的全部上述方法都與圖像維度無關。確切地說,應當注意,以上面介紹的一定的向量V數(shù)值的損失為代價,以上方法可以對像素流的不同部分獨立地并行執(zhí)行。因此,為了使壓縮和解壓縮都加速,可以使用并行實施比如 FPGA或ASIC實施。應當認識到,以上介紹的方法可以以許多方式變化,包括改變步驟的順序和使用的嚴格實施。還應當認識到,以上介紹的方法和裝置的說明應當被解釋為包括執(zhí)行這些方法的裝置以及使用該裝置的方法。圖11顯示了計算機斷層成像。計算機斷層成像(CT掃描儀)包括兩個主要機械部件。固定平臺109b用作整個儀器的基礎和支持,旋轉(zhuǎn)平臺109a在其中旋轉(zhuǎn)?;颊?04 被放置在旋轉(zhuǎn)部件開口中的床107上。提供了 X射線管101,也提供了與其對立部署的檢測器103,利用X射線102掃描患者。X射線管101和檢測器103被部署為在旋轉(zhuǎn)平臺109a 上可旋轉(zhuǎn)。集電環(huán)100用作旋轉(zhuǎn)平臺109a與固定平臺109b之間的電氣連接。壓縮器(這里未顯示)優(yōu)選情況下位于旋轉(zhuǎn)平臺109a,而解壓器(這里也未顯示)可以位于固定平臺 109b。評估和控制單元106用作操作計算機斷層成像并還用作顯示所產(chǎn)生的圖像。解壓器 (這里未顯示)還可以位于評估和控制單元106。為了與計算機斷層成像通信,提供了數(shù)據(jù)鏈接105,如計算機網(wǎng)絡。已經(jīng)使用本發(fā)明實施例的詳細說明介紹了它,這些實施例利用實例提供并且意圖不在限制本發(fā)明的范圍。所介紹的實施例包括不同特征,并非在本發(fā)明的一切實施例中全都需要。本發(fā)明的一些實施例利用了僅僅某些特征或特征的可能組合。本領域人員將會想到所介紹的本發(fā)明實施例的若干變種以及包括了在介紹的實施例中所指出特征的不同組合的本發(fā)明的實施例。
權利要求
1.一種壓縮集電環(huán)系統(tǒng),包括集電環(huán),在旋轉(zhuǎn)平臺與固定平臺之間分開且連接在兩個平臺之間;壓縮器,位于連接到從其接收數(shù)據(jù)的數(shù)據(jù)發(fā)生器的旋轉(zhuǎn)平臺上;以及解壓器單元,位于連接到目標的所述固定平臺上;所述壓縮器進一步包括預測器單元、熵編碼器單元和防錯器單元; 所述預測器單元具有以數(shù)據(jù)像素組處理輸入數(shù)據(jù)的裝置;根據(jù)F幅先前存儲幀的組的一幀或多幀以及利用被編碼為正整數(shù)的向量V表示的這種幀內(nèi)多個潛在坐標的一個或多個,預測所述輸入數(shù)據(jù)像素;所述熵編碼器單元對來自所述預測器單元的結(jié)果進行編碼,并且所述防錯器以防錯方式或不以防錯方式將來自所述熵編碼器單元的數(shù)據(jù)發(fā)送到所述壓縮器輸出。
2.根據(jù)權利要求1的壓縮集電環(huán)系統(tǒng),其特征在于所述F幅先前存儲幀的組的一幀僅僅是最后幀之前的一幀。
3.根據(jù)任何一個前面的權利要求的壓縮集電環(huán)系統(tǒng),其特征在于屬于圖像單行或圖像單列的具有尺寸G的像素組或像素單元組在一起處理。
4.根據(jù)任何一個前面的權利要求的壓縮集電環(huán)系統(tǒng),其特征在于 所述預測器選擇每像素組最佳預測Fmin和Vmin ;以及所述熵編碼器編碼歷史上所述最佳預測的位置以及使用加入到所述輸出數(shù)據(jù)流之中的一組參數(shù)Kmin和P,編碼所述預測與所述輸入數(shù)據(jù)之間的差異。
5.根據(jù)任何一個前面的權利要求的壓縮集電環(huán)系統(tǒng),其特征在于 所述向量V以參數(shù)Kv使用哥倫布-萊斯編碼法編碼。
6.根據(jù)任何一個前面的權利要求的壓縮集電環(huán)系統(tǒng),其特征在于所述熵編碼器單元或者以對于每個差異組可以不同的參數(shù)Kmin使用哥倫布-萊斯編碼法來編碼所接收的差異組,或者可以在哥倫布-萊斯編碼法導致比非壓縮數(shù)據(jù)更多的數(shù)據(jù)時原樣地以非壓縮格式轉(zhuǎn)發(fā)數(shù)據(jù)。
7.根據(jù)權利要求6的壓縮集電環(huán)系統(tǒng),其特征在于使用最小編碼以參數(shù)Kmin所應用到的數(shù)據(jù)來編碼所述參數(shù)Kmin,這也表明了不使用壓縮的情況。
8.根據(jù)任何一個前面的權利要求的壓縮集電環(huán)系統(tǒng),其特征在于 所述熵編碼器單元每S幀以非壓縮格式轉(zhuǎn)發(fā)數(shù)據(jù)一次。
9.根據(jù)權利要求8的壓縮集電環(huán)系統(tǒng),其特征在于對于每幀內(nèi)像素組的子集,所述熵編碼器單元以非壓縮格式轉(zhuǎn)發(fā)數(shù)據(jù)。
10.根據(jù)任何一個前面的權利要求的壓縮集電環(huán)系統(tǒng),其特征在于 所述防錯器單元用糾錯碼保護以編碼數(shù)據(jù)發(fā)送的數(shù)據(jù)的子集。
11.根據(jù)權利要求10的壓縮集電環(huán)系統(tǒng),其特征在于用這種糾錯碼保護的所述數(shù)據(jù)的子集最多被限制為Kmin、Fmin和Vmin中的一個或多個。
12.一種根據(jù)任何一個前面的權利要求的壓縮集電環(huán)系統(tǒng)的壓縮器。
13.一種根據(jù)任何一個前面的權利要求的壓縮集電環(huán)系統(tǒng)的解壓器。
14.一種CT掃描儀,包括根據(jù)任何一個前面的權利要求的壓縮集電環(huán)系統(tǒng),其特征在于所述數(shù)據(jù)發(fā)生器是信號接收機從X射線檢測器接收的模擬信號的數(shù)字采樣器。
15.一種壓縮采樣的模擬數(shù)據(jù)的方法,包括以與給定圖像幀和所述幀內(nèi)位置相關聯(lián)的像素的形式接收和處理數(shù)據(jù); 根據(jù)對F幅先前存儲幀的組的一幀或多幀以及利用被編碼為正整數(shù)的向量V表示的這種幀內(nèi)多個潛在坐標的一個或多個的參考,預測所述數(shù)據(jù);由熵編碼器編碼所預測的值;以及對部分或全部編碼數(shù)據(jù)不防錯或防錯。
16.根據(jù)權利要求15的壓縮方法,其特征在于所述F幅先前存儲幀的組的一幀僅僅是最后幀之前的一幀。
17.根據(jù)權利要求15或16的壓縮方法,其特征在于屬于圖像單行或圖像單列的具有尺寸G的像素組或像素單元組在一起處理。
18.根據(jù)權利要求15至17中任何一個的壓縮方法,其特征在于 選擇每像素組最佳預測并編碼其歷史中的位置Fmin和Vmin ;以及使用加入到所述輸出數(shù)據(jù)流之中的一組參數(shù)Fmin和P,編碼所述預測與所述輸入數(shù)據(jù)之間的差異。
19.根據(jù)權利要求15至18中任何一個的壓縮方法,其特征在于 所述向量V以參數(shù)Kv使用哥倫布-萊斯編碼法編碼。
20.根據(jù)權利要求15至18中任何一個的壓縮方法,其特征在于或者以對于每個差異組可以不同的參數(shù)Kmin使用哥倫布-萊斯編碼法來編碼所接收的差異組,或者在哥倫布-萊斯編碼法導致比非壓縮數(shù)據(jù)更多的數(shù)據(jù)時原樣地以非壓縮格式轉(zhuǎn)發(fā)數(shù)據(jù)。
21.根據(jù)權利要求20的壓縮方法,其特征在于使用最小編碼以參數(shù)Kmin所應用到的數(shù)據(jù)來編碼所述參數(shù)Kmin,這也表明了不使用壓縮的情況。
22.根據(jù)權利要求15至21中任何一個的壓縮方法,其特征在于 每S幀以非壓縮格式轉(zhuǎn)發(fā)數(shù)據(jù)一次。
23.根據(jù)權利要求22的壓縮方法,其特征在于 對于每幀內(nèi)像素組的子集,以非壓縮格式轉(zhuǎn)發(fā)數(shù)據(jù)。
24.根據(jù)權利要求15至23中任何一個的壓縮方法,其特征在于 用糾錯碼保護以編碼數(shù)據(jù)發(fā)送的數(shù)據(jù)的子集。
25.根據(jù)權利要求M的壓縮方法,其特征在于將被防錯的所述數(shù)據(jù)的子集限制為Kmin、Fmin和Vmin中的至少一個。
全文摘要
本文公開的方法和系統(tǒng)用于在集電環(huán)上從旋轉(zhuǎn)數(shù)據(jù)源比如X射線掃描儀向固定目標比如中央處理器傳遞數(shù)據(jù)。在集電環(huán)的能力低于所需要的數(shù)據(jù)速率時,從數(shù)據(jù)源接收的數(shù)據(jù)由連接到保持數(shù)據(jù)的存儲器緩沖區(qū)的壓縮器在轉(zhuǎn)子上壓縮。解壓器駐留在固定平臺上,它可以將數(shù)據(jù)解壓縮回原始形式,并且通過網(wǎng)絡將其傳送到目標。存儲器緩沖區(qū)被連接到解壓縮器用于當網(wǎng)絡或目標無法應對要發(fā)送的數(shù)據(jù)速率時而需要累積數(shù)據(jù)的情況。壓縮器包括預測器單元、熵編碼器單元和防錯器單元。預測器可以按一組幀和幀內(nèi)位置,使用存儲的數(shù)據(jù)作為參考。對位置的解碼可以利用哥倫布-萊斯編碼的整數(shù)。熵編碼器可以利用以參數(shù)K的哥倫布-萊斯編碼法解碼差異,對于每組數(shù)據(jù)單元參數(shù)K可以變化,為了減少數(shù)據(jù)或防錯的目的,它也可以使數(shù)據(jù)保持為其原始格式。防錯器可以利用防錯碼保護數(shù)據(jù)流中插入的參數(shù),同時大多數(shù)數(shù)據(jù)能夠保持無保護。
文檔編號G06F19/00GK102576378SQ201080041958
公開日2012年7月11日 申請日期2010年9月21日 優(yōu)先權日2009年9月21日
發(fā)明者A·拉波波特, G·肯普弗, T·馬戈林, Y·米凱利 申請人:X環(huán)技術有限公司