本發(fā)明涉及用于體積信息的3-D呈現(xiàn)的后處理和渲染(render)醫(yī)學(xué)圖像的領(lǐng)域,并且更具體地涉及例如立體3-D的后處理和渲染的領(lǐng)域。
背景技術(shù):
在放射學(xué)中執(zhí)行的大多數(shù)研究被呈現(xiàn)為2-D信息,即2-D切片的堆疊,通過(guò)所述2-D切片的堆疊,放射科醫(yī)師滾動(dòng)以沿著例如患者的血管或脊柱訪問(wèn)圖像內(nèi)容。身體的軸向平面從前向后穿過(guò)身體,并將其分為上部分和下部分。冠狀平面從左向右穿過(guò)身體,并將其分為前部分和后部分。矢狀平面從前向后穿過(guò)身體,并將其分為左部分和右部分。身體的斜平面以與軸向、冠狀和矢狀平面成一定角度穿過(guò)身體。放射科醫(yī)師可以利用多平面重建渲染或利用3-D渲染沿著正交或斜平面或甚至沿著曲線重建3-D中的患者的身體的特定部分的3-D可視化。針對(duì)用戶的實(shí)時(shí)體驗(yàn)取決于連接速度即可以從服務(wù)器向客戶端側(cè)傳輸多少圖像、以及作為從指令到響應(yīng)的服務(wù)器時(shí)間的等待時(shí)間即服務(wù)器花費(fèi)多長(zhǎng)時(shí)間回復(fù)請(qǐng)求。
3-D渲染所需的CPU時(shí)間(也稱(chēng)為中央處理單元時(shí)間)取決于例如圖像的原始質(zhì)量、身體部分的透明度、分辨率。渲染真實(shí)3-D圖像的典型CPU時(shí)間包括在300ms和超過(guò)1s之間。為了加速渲染,基于GPU的卡(也稱(chēng)為基于圖形處理單元的卡)可以在服務(wù)器側(cè)實(shí)現(xiàn)。獲取這種基于GPU的卡的成本以及與其實(shí)現(xiàn)(諸如特定服務(wù)器和物流)相關(guān)聯(lián)的成本很高?;贕PU的卡上的存儲(chǔ)器是有限的,這限制了可以同時(shí)處理的體積量。因此,單個(gè)基于GPU的卡的允許的用戶數(shù)量是有限的。
放射科醫(yī)師通常能訪問(wèn)合適的硬件,例如工作站、強(qiáng)大的CPU和/或GPU以及足夠的存儲(chǔ)器來(lái)執(zhí)行重建。其他臨床醫(yī)師(諸如例如矯形外科醫(yī)師、兒科醫(yī)師、整形外科醫(yī)師、心臟病醫(yī)師)可能對(duì)患者的身體的特定部分的3-D重建感興趣,但只能訪問(wèn)通常在通用個(gè)人計(jì)算機(jī)上運(yùn)行的更有限的客戶端應(yīng)用。在這種情況下,客戶端側(cè)處的存儲(chǔ)器大小通常是有限的,而渲染要求所有圖像被整體地存儲(chǔ)。在客戶端側(cè)處下載所有數(shù)時(shí)間增加,并且所有圖像向客戶端側(cè)的數(shù)據(jù)傳輸可能會(huì)使醫(yī)院的網(wǎng)絡(luò)飽和??蛻舳丝梢砸蕾?lài)于移動(dòng)網(wǎng)絡(luò)來(lái)訪問(wèn)3-D重建,而移動(dòng)網(wǎng)絡(luò)表現(xiàn)出低帶寬。這由于增加下載圖像所需的時(shí)間而危及客戶端的實(shí)時(shí)體驗(yàn)。因此,所有獲取的圖像被存儲(chǔ)在服務(wù)器上,并且基于瀏覽器的門(mén)戶被實(shí)現(xiàn)以供所有臨床醫(yī)師使用。
也被稱(chēng)為MPR的多平面重建使用3-D數(shù)據(jù)來(lái)示出在圖像獲取期間不直接獲取的其他平面,包括從軸向圖像重建的矢狀和冠狀橫截面。由于整個(gè)體積數(shù)據(jù)可用,所以有可能實(shí)現(xiàn)任何所需的平面,并且有可能獲得平行于任何解剖結(jié)構(gòu)的彎曲平面。首先,通過(guò)堆疊軸向切片構(gòu)建3-D體積。然后通過(guò)不同平面(例如通常為正交平面)中的體積切割切片。也有可能使用諸如最大強(qiáng)度投影或最小強(qiáng)度投影之類(lèi)的特殊投影方法來(lái)構(gòu)建所重建的切片。MPR是最分散的診斷工具。通過(guò)脊柱的軸向圖像一次將只能示出一個(gè)椎骨體,并且因此客戶端必須推斷和解釋圖像,以了解沿著這些圖像的線什么可以是可見(jiàn)的。這依賴(lài)于客戶端的假設(shè),并且因此威脅到診斷的相關(guān)性。通過(guò)重新格式化體積,使一個(gè)椎骨體相對(duì)于其他的位置可視化變得更容易。還有可能在非正交的即傾斜的平面中進(jìn)行重建,使得可以選擇最優(yōu)平面來(lái)顯示解剖結(jié)構(gòu)。這對(duì)于可視化支氣管的結(jié)構(gòu)特別有用,因?yàn)樗鼈儾惶幱谂c掃描的方向正交。對(duì)于血管成像,可以執(zhí)行曲面重建。這允許血管中的彎曲變直,使得整個(gè)長(zhǎng)度可以在一個(gè)圖像或短系列的圖像中可視化。一旦以這種方式使血管變直,則可以進(jìn)行長(zhǎng)度和橫截面積的定量測(cè)量,而使得可以規(guī)劃手術(shù)或介入治療。MPR渲染所需的CPU時(shí)間取決于原始圖像的分辨率以及要重建的切片的厚度。渲染MPR圖像的典型CPU在10到15ms的范圍內(nèi)。
專(zhuān)利申請(qǐng)EP2098994描述了一種在耦合到客戶端計(jì)算機(jī)的服務(wù)器計(jì)算機(jī)上的服務(wù)器站點(diǎn)渲染3-D圖像的方法,其中客戶端計(jì)算機(jī)指令服務(wù)器計(jì)算機(jī)加載用于3-D渲染的數(shù)據(jù),并向服務(wù)器計(jì)算機(jī)發(fā)送渲染參數(shù)流集合,每個(gè)渲染參數(shù)集合對(duì)應(yīng)于要渲染的圖像。渲染計(jì)算機(jī)渲染對(duì)應(yīng)于參數(shù)流集合的圖像流,并且利用視頻壓縮方案來(lái)壓縮圖像流。壓縮視頻從服務(wù)器計(jì)算機(jī)發(fā)送到客戶端計(jì)算機(jī),其中客戶端計(jì)算機(jī)解壓縮接收到的壓縮視頻流,并將結(jié)果顯示在查看端口中??蛻舳擞?jì)算機(jī)的所有請(qǐng)求都發(fā)送到服務(wù)器計(jì)算機(jī)。如果圖像的處理執(zhí)行得不夠快而不能跟上傳入請(qǐng)求的速率,則存在服務(wù)器計(jì)算機(jī)過(guò)載有請(qǐng)求的風(fēng)險(xiǎn)。服務(wù)器計(jì)算機(jī)的過(guò)載增加了客戶端計(jì)算機(jī)發(fā)送針對(duì)圖像的請(qǐng)求的時(shí)刻與顯示對(duì)應(yīng)的渲染圖像的時(shí)刻之間的時(shí)間延遲。這種延遲破壞了在客戶端計(jì)算機(jī)側(cè)處顯示渲染圖像的實(shí)時(shí)查看體驗(yàn)。這將導(dǎo)致需要增加服務(wù)器計(jì)算機(jī)處理傳入請(qǐng)求所需的處理能力,并且增加與執(zhí)行EP2098994中描述的方法的系統(tǒng)的實(shí)現(xiàn)相關(guān)聯(lián)的成本。此外,EP2098994中描述的方法包括由服務(wù)器計(jì)算機(jī)對(duì)視頻流的壓縮步驟和由客戶端計(jì)算機(jī)對(duì)視頻流的解壓縮步驟。壓縮和解壓縮步驟可以顯著增加與視頻流相關(guān)聯(lián)的處理時(shí)間。這增加了客戶端計(jì)算機(jī)發(fā)送請(qǐng)求的時(shí)刻與顯示視頻流的時(shí)刻之間的延遲,并且因此危及用戶的實(shí)時(shí)查看體驗(yàn)。此外,壓縮和解壓縮步驟的實(shí)現(xiàn)增加了渲染視頻流所需的處理能力,并且因此增加了與該方法相關(guān)聯(lián)的成本。此外,由客戶端計(jì)算機(jī)使用的解壓縮參數(shù)獨(dú)立于服務(wù)器計(jì)算機(jī)的壓縮參數(shù)。因此,與由服務(wù)器計(jì)算機(jī)所渲染的視頻流的質(zhì)量相比,視頻流的解壓縮可能產(chǎn)生更低質(zhì)量視頻流。在客戶端計(jì)算機(jī)處顯示更低質(zhì)量的視頻流增加執(zhí)行錯(cuò)誤診斷的風(fēng)險(xiǎn),這危及在研究中的患者的健康。
本發(fā)明的目的是公開(kāi)了克服現(xiàn)有解決方案的上述缺點(diǎn)的系統(tǒng)和相關(guān)方法。更具體地,目的是公開(kāi)用于渲染用于體積信息的3-D呈現(xiàn)的醫(yī)學(xué)圖像的這樣的系統(tǒng)和方法,其中系統(tǒng)的用戶的實(shí)時(shí)查看體驗(yàn)得以改善,同時(shí)減少對(duì)處理能力的需要并且具有降低網(wǎng)絡(luò)和處理器上的負(fù)載的更簡(jiǎn)單的架構(gòu)。進(jìn)一步的目的是公開(kāi)這樣的系統(tǒng),其以快速且高效的方式流送(stream)用于體積信息的3-D呈現(xiàn)的視頻,并且同時(shí)降低實(shí)現(xiàn)和開(kāi)發(fā)成本。
技術(shù)實(shí)現(xiàn)要素:
根據(jù)本發(fā)明的第一方面,上述限定的目的由用于導(dǎo)航渲染醫(yī)學(xué)圖像序列的系統(tǒng)來(lái)實(shí)現(xiàn),所述系統(tǒng)包括:
- 一個(gè)或多個(gè)客戶端,每個(gè)客戶端包括控制接口,所述控制接口適于:
- 發(fā)送用于導(dǎo)航渲染醫(yī)學(xué)圖像序列的導(dǎo)航請(qǐng)求;
- 接收并顯示視頻流以供查看;
- 兩個(gè)或更多個(gè)渲染節(jié)點(diǎn),每個(gè)渲染節(jié)點(diǎn)適于:
- 根據(jù)導(dǎo)航請(qǐng)求處理醫(yī)學(xué)圖像,由此生成經(jīng)處理醫(yī)學(xué)圖像序列;以及
- 渲染經(jīng)處理醫(yī)學(xué)圖像序列以供一個(gè)或多個(gè)客戶端查看,由此生成渲染醫(yī)學(xué)圖像序列;并且
其特征在于
- 所述系統(tǒng)還包括耦合到一個(gè)或多個(gè)客戶端和兩個(gè)或更多個(gè)渲染節(jié)點(diǎn)的工作流服務(wù)器,其適于將所述導(dǎo)航請(qǐng)求路由到兩個(gè)或更多個(gè)渲染節(jié)點(diǎn);
- 工作流服務(wù)器包括轉(zhuǎn)換模塊,其適于:
- 響應(yīng)于所路由的導(dǎo)航請(qǐng)求,從相應(yīng)的渲染節(jié)點(diǎn)接收渲染醫(yī)學(xué)圖像序列;
- 將渲染醫(yī)學(xué)圖像序列轉(zhuǎn)換為視頻流;以及
- 將視頻流發(fā)送到相應(yīng)的客戶端以供查看。
一個(gè)或多個(gè)客戶端通過(guò)網(wǎng)絡(luò)向工作流服務(wù)器發(fā)送用于導(dǎo)航通過(guò)渲染醫(yī)學(xué)圖像序列的導(dǎo)航請(qǐng)求。工作流服務(wù)器將導(dǎo)航請(qǐng)求路由到兩個(gè)或更多個(gè)渲染節(jié)點(diǎn)。兩個(gè)或更多個(gè)渲染節(jié)點(diǎn)從存儲(chǔ)裝置檢索對(duì)應(yīng)于導(dǎo)航請(qǐng)求的醫(yī)學(xué)圖像,根據(jù)導(dǎo)航請(qǐng)求處理醫(yī)學(xué)圖像,并向工作流服務(wù)器對(duì)渲染醫(yī)學(xué)圖像序列進(jìn)行渲染。工作流服務(wù)器包括轉(zhuǎn)換模塊,該轉(zhuǎn)換模塊根據(jù)導(dǎo)航請(qǐng)求將渲染醫(yī)學(xué)圖像序列轉(zhuǎn)換為視頻流,并將其發(fā)送到相應(yīng)的客戶端以供查看。工作流服務(wù)器監(jiān)視渲染節(jié)點(diǎn)的參數(shù)以能夠高效地將導(dǎo)航請(qǐng)求路由到兩個(gè)或更多個(gè)渲染節(jié)點(diǎn)。工作流服務(wù)器知曉諸如處理容量的參數(shù)并知曉兩個(gè)或更多個(gè)渲染節(jié)點(diǎn)中的每個(gè)的處理負(fù)載,即渲染節(jié)點(diǎn)可以多快地處理請(qǐng)求以及在給定時(shí)刻處每個(gè)渲染節(jié)點(diǎn)處理多少導(dǎo)航請(qǐng)求。因此,工作流服務(wù)器能夠?qū)⒄?qǐng)求路由到例如在工作流服務(wù)器從一個(gè)或多個(gè)客戶端接收到導(dǎo)航請(qǐng)求的時(shí)刻處表現(xiàn)出最高處理容量和最低處理負(fù)載的渲染節(jié)點(diǎn)。換句話說(shuō),工作流服務(wù)器以使得導(dǎo)航請(qǐng)求將被最快地處理的方式將導(dǎo)航請(qǐng)求從一個(gè)或多個(gè)客戶端路由到兩個(gè)或更多個(gè)渲染節(jié)點(diǎn)。來(lái)自一個(gè)或多個(gè)客戶端的導(dǎo)航請(qǐng)求的負(fù)載以該方式分散在兩個(gè)或更多個(gè)渲染節(jié)點(diǎn)上,并且因此所需的處理負(fù)載分布在針對(duì)其可用處理能力所選擇的若干渲染節(jié)點(diǎn)之間。這樣,一個(gè)或多個(gè)客戶端發(fā)送導(dǎo)航請(qǐng)求與從渲染醫(yī)學(xué)圖像序列轉(zhuǎn)換的對(duì)應(yīng)視頻流被顯示的時(shí)刻的延遲被最小化。該延遲的減少改善了客戶端的實(shí)時(shí)查看體驗(yàn)。分布處理負(fù)載的工作流服務(wù)器的實(shí)現(xiàn)確保架構(gòu)是簡(jiǎn)單的并防止渲染節(jié)點(diǎn)的過(guò)載,并且最小化處理客戶端的導(dǎo)航請(qǐng)求所需的處理能力。此外,工作流服務(wù)器包括轉(zhuǎn)換模塊,其適于將根據(jù)導(dǎo)航請(qǐng)求從醫(yī)學(xué)圖像生成的渲染醫(yī)學(xué)圖像序列轉(zhuǎn)換為視頻流。轉(zhuǎn)換模塊以適于查看的格式直接向相應(yīng)的客戶端提供視頻流。換句話說(shuō),視頻流不需要經(jīng)歷壓縮和/或解壓縮步驟以便由客戶端查看。這使得系統(tǒng)更簡(jiǎn)單,并確保用于客戶端的實(shí)時(shí)查看體驗(yàn)。
一個(gè)或多個(gè)客戶端發(fā)送用于導(dǎo)航渲染醫(yī)學(xué)圖像序列的導(dǎo)航請(qǐng)求。例如,可以通過(guò)滾動(dòng)一個(gè)或多個(gè)客戶端的鼠標(biāo)的移動(dòng)來(lái)生成導(dǎo)航請(qǐng)求。例如,一個(gè)客戶端以期望導(dǎo)航速率沿著傾斜平面利用其鼠標(biāo)滾動(dòng)通過(guò)渲染醫(yī)學(xué)圖像序列。鼠標(biāo)的每次滾動(dòng)移動(dòng)生成用于導(dǎo)航渲染醫(yī)學(xué)圖像序列的導(dǎo)航請(qǐng)求。當(dāng)客戶端點(diǎn)擊并將其鼠標(biāo)保持在渲染醫(yī)學(xué)圖像序列的一個(gè)渲染醫(yī)學(xué)圖像上的點(diǎn)擊位置并且移動(dòng)其鼠標(biāo)以便在不同的視角下查看渲染醫(yī)學(xué)圖像時(shí),也可以生成導(dǎo)航請(qǐng)求。然后鼠標(biāo)的每次移動(dòng)生成導(dǎo)航請(qǐng)求。當(dāng)相應(yīng)的客戶端釋放鼠標(biāo)時(shí),生成導(dǎo)航請(qǐng)求以便查看客戶端在其上停止移動(dòng)鼠標(biāo)的渲染醫(yī)學(xué)圖像。這可以例如增加對(duì)于客戶端可用的細(xì)節(jié)的級(jí)別,并且因此增加執(zhí)行相關(guān)診斷的可能性。
一個(gè)或多個(gè)客戶端能夠?qū)?dǎo)航請(qǐng)求發(fā)送到工作流服務(wù)器。這允許將醫(yī)學(xué)圖像存儲(chǔ)在集中式服務(wù)器上。工作流服務(wù)器經(jīng)由網(wǎng)絡(luò)接收來(lái)自一個(gè)或多個(gè)客戶端的導(dǎo)航請(qǐng)求,并且從可以合適地連接到存儲(chǔ)醫(yī)學(xué)圖像的集中式服務(wù)器的渲染節(jié)點(diǎn)接收渲染醫(yī)學(xué)圖像序列。這樣,醫(yī)學(xué)圖像可以整體地存儲(chǔ)在表現(xiàn)出足夠存儲(chǔ)容量的集中式服務(wù)器上,而不需要在工作流服務(wù)器側(cè)處的存儲(chǔ)器和在客戶端側(cè)處的存儲(chǔ)器來(lái)存儲(chǔ)未處理的醫(yī)學(xué)圖像。此外,多于一個(gè)客戶端有可能經(jīng)由網(wǎng)絡(luò)向工作流服務(wù)器發(fā)送用于醫(yī)學(xué)圖像的導(dǎo)航請(qǐng)求??蛻舳丝梢元?dú)立于客戶端的位置與工作流服務(wù)器進(jìn)行通信。工作流服務(wù)器還知曉客戶端和工作流服務(wù)器之間的網(wǎng)絡(luò)的帶寬,并且知曉網(wǎng)絡(luò)的等待時(shí)間,即客戶端與工作流服務(wù)器通信得多快。這樣,工作流服務(wù)器可以估計(jì)在要經(jīng)由網(wǎng)絡(luò)向客戶端發(fā)送的渲染醫(yī)學(xué)圖像序列中可以提供多少醫(yī)學(xué)圖像。當(dāng)網(wǎng)絡(luò)的帶寬減小時(shí),工作流服務(wù)器以降低的格式存儲(chǔ)渲染醫(yī)學(xué)圖像序列,以便跟上帶寬。當(dāng)網(wǎng)絡(luò)的帶寬增加時(shí),工作流服務(wù)器以改善的格式存儲(chǔ)渲染醫(yī)學(xué)圖像序列。
根據(jù)可選實(shí)施例,控制接口被配置為使用內(nèi)置編解碼器來(lái)顯示接收到的視頻流。
這樣,客戶端不需要解壓縮視頻流,以便能夠查看它。每個(gè)客戶端包括適于從工作流服務(wù)器接收視頻流并且使用內(nèi)置編解碼器來(lái)流送視頻的控制接口。工作流服務(wù)器的轉(zhuǎn)換模塊以適于查看的格式直接向相應(yīng)的客戶端提供視頻流。換句話說(shuō),視頻流不需要經(jīng)歷壓縮和/或解壓縮階段,以便由客戶端查看。這使得系統(tǒng)更簡(jiǎn)單,并確保針對(duì)系統(tǒng)用戶的實(shí)時(shí)查看體驗(yàn)。
根據(jù)可選實(shí)施例:
- 一個(gè)或多個(gè)客戶端的控制接口還被配置為接收和顯示渲染醫(yī)學(xué)圖像序列;并且
- 轉(zhuǎn)換模塊還被配置為將響應(yīng)于所路由的導(dǎo)航請(qǐng)求而接收到的渲染醫(yī)學(xué)圖像序列的子集發(fā)送到相應(yīng)的客戶端以供查看。
這樣,渲染醫(yī)學(xué)圖像序列由工作流服務(wù)器的轉(zhuǎn)換模塊提供給工作流服務(wù)器從其接收導(dǎo)航請(qǐng)求的各個(gè)客戶端中的每個(gè)的控制接口。轉(zhuǎn)換模塊經(jīng)由網(wǎng)絡(luò)向相應(yīng)的客戶端提供與導(dǎo)航請(qǐng)求對(duì)應(yīng)的渲染醫(yī)學(xué)圖像序列的子集。渲染醫(yī)學(xué)圖像序列的子集可以例如是一個(gè)或多個(gè)渲染醫(yī)學(xué)圖像的序列。
根據(jù)可選實(shí)施例:
- 導(dǎo)航請(qǐng)求包括用于以期望導(dǎo)航速率導(dǎo)航通過(guò)渲染醫(yī)學(xué)圖像序列的請(qǐng)求;并且
- 轉(zhuǎn)換模塊還被配置為向相應(yīng)的客戶端發(fā)送以下內(nèi)容以供查看:
- 渲染醫(yī)學(xué)圖像序列的子集,當(dāng)期望導(dǎo)航速率不超過(guò)預(yù)定的導(dǎo)航速率閾值時(shí)。
當(dāng)客戶端以不超過(guò)預(yù)定導(dǎo)航速率閾值的期望導(dǎo)航速率導(dǎo)航渲染醫(yī)學(xué)圖像序列時(shí),工作流服務(wù)器的轉(zhuǎn)換模塊將渲染圖像序列的子集發(fā)送到相應(yīng)的客戶端。這樣,向客戶端提供在其上其停止導(dǎo)航的渲染醫(yī)學(xué)圖像例如以研究在研究中的區(qū)域的概述,并決定在哪個(gè)部分上導(dǎo)航到下一個(gè)。另外,轉(zhuǎn)換模塊可以向相應(yīng)的客戶端提供表現(xiàn)出更高質(zhì)量格式的渲染醫(yī)學(xué)圖像的子集,這改善了對(duì)于客戶端可用的細(xì)節(jié)的級(jí)別,并因此提高執(zhí)行相關(guān)診斷的可能性。
根據(jù)可選實(shí)施例:
- 轉(zhuǎn)換模塊還被配置為向相應(yīng)的客戶端發(fā)送以下內(nèi)容以供查看:
- 視頻流,當(dāng)期望導(dǎo)航速率超過(guò)預(yù)定期望導(dǎo)航速率閾值時(shí)。
當(dāng)客戶端以確實(shí)超過(guò)預(yù)定導(dǎo)航速率閾值的期望導(dǎo)航速率導(dǎo)航渲染醫(yī)學(xué)圖像序列時(shí),工作流服務(wù)器的轉(zhuǎn)換模塊根據(jù)對(duì)應(yīng)的導(dǎo)航請(qǐng)求將渲染醫(yī)學(xué)圖像序列轉(zhuǎn)換為視頻流,并將視頻流發(fā)送到相應(yīng)的客戶端以供查看。這樣,向客戶端提供其例如用來(lái)在不同角度下查看患者的血管或器官等的視頻流。轉(zhuǎn)換模塊可以向相應(yīng)的客戶端提供表現(xiàn)出較低質(zhì)量格式的視頻流,這使渲染節(jié)點(diǎn)上的負(fù)載最小化并減少客戶端發(fā)送導(dǎo)航請(qǐng)求的時(shí)刻與顯示視頻流的時(shí)刻之間的延遲。這樣,改善了客戶端的實(shí)時(shí)查看體驗(yàn),并且轉(zhuǎn)換模塊不需要不斷向客戶端提供視頻流,即不需要將渲染醫(yī)學(xué)圖像序列不斷地轉(zhuǎn)換為視頻流。這節(jié)省了工作流服務(wù)器側(cè)處的計(jì)算能力,其降低了與系統(tǒng)相關(guān)的成本。
根據(jù)可選實(shí)施例,針對(duì)用于查看時(shí)間的預(yù)定查看時(shí)間閾值來(lái)確定預(yù)定導(dǎo)航速率閾值,查看時(shí)間是在其期間渲染醫(yī)學(xué)圖像序列的渲染醫(yī)學(xué)圖像中的每個(gè)需要由客戶端響應(yīng)于導(dǎo)航請(qǐng)求而顯示的時(shí)間段。
根據(jù)查看時(shí)間計(jì)算預(yù)定查看閾值,該查看時(shí)間是在其期間渲染醫(yī)學(xué)圖像序列的渲染醫(yī)學(xué)圖像需要由客戶端響應(yīng)于導(dǎo)航請(qǐng)求而顯示的時(shí)間流逝。換句話說(shuō),如果例如客戶端比客戶端對(duì)渲染醫(yī)學(xué)圖像序列進(jìn)行渲染的節(jié)奏更快地導(dǎo)航渲染醫(yī)學(xué)圖像序列,則系統(tǒng)向客戶端提供視頻流。例如,如果客戶端比客戶端對(duì)渲染醫(yī)學(xué)圖像序列進(jìn)行渲染的節(jié)奏更慢地導(dǎo)航渲染醫(yī)學(xué)圖像序列,則系統(tǒng)向客戶端提供渲染醫(yī)學(xué)圖像序列的子集。這樣,確保客戶端的實(shí)時(shí)查看體驗(yàn)。
根據(jù)可選實(shí)施例,工作流服務(wù)器包括適于存儲(chǔ)渲染醫(yī)學(xué)圖像序列的圖像工作流高速緩存。
這樣,工作流服務(wù)器可以在當(dāng)期望導(dǎo)航速率不超過(guò)預(yù)定期望導(dǎo)航速率閾值時(shí)將渲染醫(yī)學(xué)圖像序列的子集提供給相應(yīng)的客戶端以供查看之前、或者在當(dāng)期望導(dǎo)航速率確實(shí)超過(guò)預(yù)定期望導(dǎo)航速率閾值時(shí)將從渲染醫(yī)學(xué)圖像序列轉(zhuǎn)換的視頻流提供給相應(yīng)的客戶端以供查看之前,臨時(shí)存儲(chǔ)被渲染節(jié)點(diǎn)處理和渲染的渲染醫(yī)學(xué)圖像序列。渲染節(jié)點(diǎn)取決于其最大處理容量及其可用處理容量以不同的速率處理導(dǎo)航請(qǐng)求。這意味著渲染節(jié)點(diǎn)將以不同的速率對(duì)渲染醫(yī)學(xué)圖像序列進(jìn)行渲染。工作流服務(wù)器在將接收到的渲染醫(yī)學(xué)圖像序列轉(zhuǎn)換為視頻流并將視頻流發(fā)送到發(fā)送了對(duì)應(yīng)的導(dǎo)航請(qǐng)求的一個(gè)或多個(gè)客戶端之前,將接收到的渲染醫(yī)學(xué)圖像序列集中存儲(chǔ)在圖像工作流高速緩存中。這改善了系統(tǒng)用戶的實(shí)時(shí)查看體驗(yàn),因?yàn)槠浞乐挂曨l客戶端高速緩存的過(guò)載。工作流服務(wù)器知曉圖像工作流高速緩存的填充級(jí)別。圖像工作流高速緩存的圖像工作流填充級(jí)別是來(lái)自渲染醫(yī)學(xué)圖像序列和/或未來(lái)渲染醫(yī)學(xué)圖像序列的多少渲染醫(yī)學(xué)圖像被存儲(chǔ)在圖像工作流高速緩存中的指示。以子集和/或視頻流形式向一個(gè)或多個(gè)客戶端渲染的渲染醫(yī)學(xué)圖像序列保持存儲(chǔ)在圖像工作流高速緩存中。換句話說(shuō),工作流服務(wù)器將渲染醫(yī)學(xué)圖像序列和/或未來(lái)渲染醫(yī)學(xué)圖像序列的轉(zhuǎn)換為子集和/或視頻流,并確保渲染醫(yī)學(xué)圖像序列和/或未來(lái)渲染醫(yī)學(xué)圖像序列保持存儲(chǔ)在圖像工作流高速緩存中。這樣,渲染醫(yī)學(xué)圖像序列和未來(lái)渲染醫(yī)學(xué)圖像序列保持可用,并且可以隨后再次從圖像工作流高速緩存檢索并再次由工作流服務(wù)器轉(zhuǎn)換。例如,當(dāng)客戶端利用鼠標(biāo)進(jìn)行滾動(dòng)以放大時(shí),即當(dāng)客戶端在放大時(shí)生成用于醫(yī)學(xué)圖像的導(dǎo)航請(qǐng)求時(shí),對(duì)應(yīng)于已經(jīng)查看的渲染醫(yī)學(xué)圖像的渲染醫(yī)學(xué)圖像序列保持存儲(chǔ)在圖像工作流高速緩存中。這樣,如果例如客戶端生成縮小的導(dǎo)航請(qǐng)求,則可以再次檢索與先前查看的渲染醫(yī)學(xué)圖像對(duì)應(yīng)的渲染醫(yī)學(xué)圖像序列,并由工作流服務(wù)器再次轉(zhuǎn)換。由工作流服務(wù)器從圖像工作流高速緩存中擦除渲染醫(yī)學(xué)圖像的概率隨著自渲染醫(yī)學(xué)圖像最后被查看的時(shí)間延遲而增加。換句話說(shuō),當(dāng)圖像工作流高速緩存充滿有渲染醫(yī)學(xué)圖像序列時(shí),自其被查看的最后時(shí)間起的時(shí)間是最大的渲染醫(yī)學(xué)圖像是從圖像工作流高速緩存中被擦除的第一批。
根據(jù)可選實(shí)施例,工作流服務(wù)器還適于:
- 估計(jì)一個(gè)或多個(gè)客戶端的未來(lái)導(dǎo)航請(qǐng)求;
- 將未來(lái)導(dǎo)航請(qǐng)求路由到兩個(gè)或更多個(gè)渲染節(jié)點(diǎn);
其中所述兩個(gè)或更多個(gè)渲染節(jié)點(diǎn)中的每個(gè)進(jìn)一步適于:
- 根據(jù)未來(lái)導(dǎo)航請(qǐng)求處理醫(yī)學(xué)圖像,由此生成未來(lái)經(jīng)處理醫(yī)學(xué)圖像序列;以及
- 渲染未來(lái)經(jīng)處理醫(yī)學(xué)圖像序列以由一個(gè)或多個(gè)客戶端查看,由此生成未來(lái)渲染醫(yī)學(xué)圖像序列;并且
其中工作流服務(wù)器的轉(zhuǎn)換模塊還適于:
- 響應(yīng)于所路由的未來(lái)導(dǎo)航請(qǐng)求,從相應(yīng)的渲染節(jié)點(diǎn)接收未來(lái)渲染醫(yī)學(xué)圖像序列;以及
- 在圖像工作流高速緩存中存儲(chǔ)未來(lái)渲染醫(yī)學(xué)圖像序列。
這樣,工作流服務(wù)器做出對(duì)它已經(jīng)從其接收到導(dǎo)航請(qǐng)求的客戶端的未來(lái)導(dǎo)航請(qǐng)求的預(yù)測(cè)。在客戶端發(fā)送導(dǎo)航請(qǐng)求之前執(zhí)行該預(yù)測(cè)。工作流服務(wù)器將所預(yù)測(cè)的未來(lái)導(dǎo)航請(qǐng)求路由到兩個(gè)或更多個(gè)渲染節(jié)點(diǎn),并且接收從醫(yī)學(xué)圖像由兩個(gè)或更多個(gè)渲染節(jié)點(diǎn)所處理和生成并對(duì)應(yīng)于未來(lái)導(dǎo)航請(qǐng)求的未來(lái)渲染醫(yī)學(xué)圖像序列。然后將未來(lái)渲染醫(yī)學(xué)圖像序列存儲(chǔ)在圖像工作流高速緩存中。當(dāng)由工作流服務(wù)器接收到一個(gè)或多個(gè)客戶端的預(yù)測(cè)導(dǎo)航請(qǐng)求時(shí),即當(dāng)工作流服務(wù)器接收到對(duì)應(yīng)于未來(lái)導(dǎo)航請(qǐng)求的導(dǎo)航請(qǐng)求時(shí),工作流服務(wù)器從圖像工作流高速緩存取出對(duì)應(yīng)的未來(lái)渲染醫(yī)學(xué)圖像序列而不是將接收到的導(dǎo)航請(qǐng)求路由到兩個(gè)或更多個(gè)渲染節(jié)點(diǎn)。這大幅度地減少了客戶端發(fā)送導(dǎo)航請(qǐng)求的時(shí)刻與渲染醫(yī)學(xué)圖像序列和/或視頻流被查看的時(shí)刻之間的延遲,并且由此改善了系統(tǒng)用戶的實(shí)時(shí)查看體驗(yàn)。
根據(jù)可選實(shí)施例,轉(zhuǎn)換模塊還適于:
- 響應(yīng)于導(dǎo)航請(qǐng)求,從圖像工作流高速緩存檢索未來(lái)渲染醫(yī)學(xué)圖像序列;
- 將未來(lái)渲染醫(yī)學(xué)圖像序列轉(zhuǎn)換為視頻流;以及
- 將視頻流發(fā)送到相應(yīng)的客戶端以供查看。
當(dāng)由工作流服務(wù)器接收到一個(gè)或多個(gè)客戶端的預(yù)測(cè)導(dǎo)航請(qǐng)求時(shí),即當(dāng)接收到的導(dǎo)航請(qǐng)求對(duì)應(yīng)于未來(lái)導(dǎo)航請(qǐng)求時(shí),工作流服務(wù)器從圖像工作流高速緩存取出對(duì)應(yīng)的未來(lái)渲染醫(yī)學(xué)圖像序列并且將未來(lái)渲染醫(yī)學(xué)圖像序列轉(zhuǎn)換為視頻流,而不是將接收到的導(dǎo)航請(qǐng)求路由到兩個(gè)或更多個(gè)渲染節(jié)點(diǎn)。這大幅度地減少了客戶端發(fā)送導(dǎo)航請(qǐng)求的時(shí)刻與視頻流被查看的時(shí)刻之間的延遲,并且由此改善了系統(tǒng)用戶的實(shí)時(shí)查看體驗(yàn)。
根據(jù)可選實(shí)施例,與用于渲染醫(yī)學(xué)圖像序列的導(dǎo)航請(qǐng)求相比,用于未來(lái)渲染醫(yī)學(xué)圖像序列的未來(lái)導(dǎo)航請(qǐng)求具有針對(duì)兩個(gè)或更多個(gè)渲染節(jié)點(diǎn)的更低的優(yōu)先級(jí)。
這樣,用于導(dǎo)航未來(lái)渲染醫(yī)學(xué)圖像序列的未來(lái)導(dǎo)航請(qǐng)求由渲染節(jié)點(diǎn)以與用于導(dǎo)航渲染醫(yī)學(xué)圖像序列的導(dǎo)航請(qǐng)求相比更低的優(yōu)先級(jí)來(lái)對(duì)待。換句話說(shuō),每個(gè)渲染節(jié)點(diǎn)將首先處理用于導(dǎo)航渲染醫(yī)學(xué)圖像序列的導(dǎo)航請(qǐng)求,然后處理用于未來(lái)渲染醫(yī)學(xué)圖像序列的未來(lái)導(dǎo)航請(qǐng)求。這保證了由一個(gè)或多個(gè)客戶端發(fā)送的用于渲染醫(yī)學(xué)圖像序列的導(dǎo)航請(qǐng)求在渲染醫(yī)學(xué)圖像序列被提供給相應(yīng)的一個(gè)或多個(gè)客戶端時(shí)被應(yīng)答。這確保一個(gè)或多個(gè)客戶端的實(shí)時(shí)查看體驗(yàn)。
根據(jù)可選實(shí)施例,工作流服務(wù)器還適于監(jiān)視以下中的一個(gè)或多個(gè):
- 兩個(gè)或更多個(gè)渲染節(jié)點(diǎn)中的每個(gè)的最大處理容量;以及
- 兩個(gè)或更多個(gè)渲染節(jié)點(diǎn)中的每個(gè)的可用處理容量。
這樣,工作流服務(wù)器能夠評(píng)估一個(gè)或多個(gè)客戶端的導(dǎo)航請(qǐng)求可以被路由到的哪兩個(gè)或更多個(gè)渲染節(jié)點(diǎn)。渲染節(jié)點(diǎn)的最大處理容量是渲染節(jié)點(diǎn)可以根據(jù)導(dǎo)航請(qǐng)求處理醫(yī)學(xué)圖像的固有速度的指示??捎锰幚砣萘渴卿秩竟?jié)點(diǎn)的負(fù)載的指示,即在給定時(shí)刻處由渲染節(jié)點(diǎn)處理多少導(dǎo)航請(qǐng)求。這樣,向工作流服務(wù)器提供關(guān)于每個(gè)渲染節(jié)點(diǎn)的狀態(tài)的信息,其是在給定時(shí)刻處的每個(gè)渲染節(jié)點(diǎn)將要多快地處理導(dǎo)航請(qǐng)求的指示。
根據(jù)可選實(shí)施例,工作流服務(wù)器還適于將導(dǎo)航請(qǐng)求路由到具有最高最大處理容量和最高可用處理容量的兩個(gè)或更多個(gè)渲染節(jié)點(diǎn)中的一個(gè)或多個(gè)。
工作流服務(wù)器知曉每個(gè)渲染節(jié)點(diǎn)的最大處理容量,并臨時(shí)存儲(chǔ)該工作流服務(wù)器在某一最近時(shí)間段內(nèi)(例如在最后一小時(shí)或最后一分鐘等內(nèi))已經(jīng)路由多少導(dǎo)航請(qǐng)求,即臨時(shí)知曉每個(gè)渲染節(jié)點(diǎn)的可用處理容量。這樣,工作流服務(wù)器可以將導(dǎo)航請(qǐng)求路由到兩個(gè)或更多個(gè)渲染節(jié)點(diǎn),這些渲染節(jié)點(diǎn)將最快地處理導(dǎo)航請(qǐng)求,由此通過(guò)減少發(fā)送請(qǐng)求的時(shí)刻和查看渲染醫(yī)學(xué)圖像序列或視頻流的時(shí)刻之間的延遲來(lái)改善系統(tǒng)用戶的實(shí)時(shí)查看體驗(yàn)。這也使每個(gè)渲染節(jié)點(diǎn)上的處理負(fù)載最小化,因?yàn)楣ぷ髁鞣?wù)器在兩個(gè)或更多個(gè)渲染節(jié)點(diǎn)之上分布客戶端的導(dǎo)航請(qǐng)求。這樣,處理每個(gè)客戶端的導(dǎo)航請(qǐng)求所需的處理能力被最小化。
根據(jù)可選實(shí)施例,與用于渲染醫(yī)學(xué)圖像序列的導(dǎo)航請(qǐng)求相比,用于未來(lái)渲染醫(yī)學(xué)圖像序列的未來(lái)導(dǎo)航請(qǐng)求具有針對(duì)渲染節(jié)點(diǎn)的更低的優(yōu)先級(jí)。
這樣,用于未來(lái)渲染醫(yī)學(xué)圖像序列的未來(lái)導(dǎo)航請(qǐng)求由渲染節(jié)點(diǎn)以與用于渲染醫(yī)學(xué)圖像序列的導(dǎo)航請(qǐng)求相比更低的優(yōu)先級(jí)來(lái)對(duì)待。換句話說(shuō),每個(gè)渲染節(jié)點(diǎn)將首先處理用于渲染醫(yī)學(xué)圖像序列的導(dǎo)航請(qǐng)求,然后處理用于未來(lái)渲染醫(yī)學(xué)圖像序列的未來(lái)導(dǎo)航請(qǐng)求。這保證了由一個(gè)或多個(gè)客戶端發(fā)送的用于渲染醫(yī)學(xué)圖像序列的導(dǎo)航請(qǐng)求在渲染醫(yī)學(xué)圖像序列被提供給相應(yīng)的一個(gè)或多個(gè)客戶端時(shí)被應(yīng)答。這確保一個(gè)或多個(gè)客戶端的實(shí)時(shí)查看體驗(yàn)。
根據(jù)本發(fā)明的第二方面,提供了一種用于導(dǎo)航渲染醫(yī)學(xué)圖像序列的方法,所述方法包括以下步驟:
- 從客戶端中的控制接口發(fā)送導(dǎo)航請(qǐng)求以用于導(dǎo)航渲染醫(yī)學(xué)圖像序列;
- 由工作流服務(wù)器將導(dǎo)航請(qǐng)求路由到兩個(gè)或更多個(gè)渲染節(jié)點(diǎn);
- 由兩個(gè)或更多個(gè)渲染節(jié)點(diǎn)根據(jù)導(dǎo)航請(qǐng)求處理醫(yī)學(xué)圖像,由此生成經(jīng)處理醫(yī)學(xué)圖像序列;
- 由兩個(gè)或更多個(gè)渲染節(jié)點(diǎn)渲染經(jīng)處理醫(yī)學(xué)圖像序列以由一個(gè)或多個(gè)客戶端查看,由此生成渲染醫(yī)學(xué)圖像序列;
- 響應(yīng)于所路由的導(dǎo)航請(qǐng)求,在工作流服務(wù)器處從相應(yīng)的渲染節(jié)點(diǎn)接收渲染醫(yī)學(xué)圖像序列;
- 在工作流服務(wù)器處將渲染醫(yī)學(xué)圖像序列轉(zhuǎn)換為視頻流;
- 將視頻流從工作流服務(wù)器發(fā)送到相應(yīng)的客戶端以供查看;以及
- 由客戶端接收和顯示視頻流以供查看。
一個(gè)或多個(gè)客戶端通過(guò)網(wǎng)絡(luò)向工作流服務(wù)器發(fā)送用于導(dǎo)航通過(guò)渲染醫(yī)學(xué)圖像序列的導(dǎo)航請(qǐng)求。工作流服務(wù)器將導(dǎo)航請(qǐng)求路由到兩個(gè)或更多個(gè)渲染節(jié)點(diǎn)。兩個(gè)或更多個(gè)渲染節(jié)點(diǎn)從存儲(chǔ)裝置檢索對(duì)應(yīng)于導(dǎo)航請(qǐng)求的醫(yī)學(xué)圖像,根據(jù)導(dǎo)航請(qǐng)求處理醫(yī)學(xué)圖像,并向工作流服務(wù)器對(duì)渲染醫(yī)學(xué)圖像序列進(jìn)行渲染。工作流服務(wù)器包括轉(zhuǎn)換模塊,該轉(zhuǎn)換模塊根據(jù)導(dǎo)航請(qǐng)求將渲染醫(yī)學(xué)圖像序列轉(zhuǎn)換為視頻流,并將其發(fā)送到相應(yīng)的客戶端以供查看。工作流服務(wù)器監(jiān)視渲染節(jié)點(diǎn)的參數(shù)以能夠高效地將導(dǎo)航請(qǐng)求路由到兩個(gè)或更多個(gè)渲染節(jié)點(diǎn)。工作流服務(wù)器知曉諸如處理容量的參數(shù)并知曉兩個(gè)或更多個(gè)渲染節(jié)點(diǎn)中的每個(gè)的處理負(fù)載,即渲染節(jié)點(diǎn)可以多快地處理請(qǐng)求以及在給定時(shí)刻處每個(gè)渲染節(jié)點(diǎn)處理多少導(dǎo)航請(qǐng)求。因此,工作流服務(wù)器能夠?qū)⒄?qǐng)求路由到例如在工作流服務(wù)器從一個(gè)或多個(gè)客戶端接收到導(dǎo)航請(qǐng)求的時(shí)刻處表現(xiàn)出最高處理容量和最低處理負(fù)載的渲染節(jié)點(diǎn)。換句話說(shuō),工作流服務(wù)器以使得導(dǎo)航請(qǐng)求將被最快地處理的方式將導(dǎo)航請(qǐng)求從一個(gè)或多個(gè)客戶端路由到兩個(gè)或更多個(gè)渲染節(jié)點(diǎn)。來(lái)自一個(gè)或多個(gè)客戶端的導(dǎo)航請(qǐng)求的負(fù)載以該方式分散在兩個(gè)或更多個(gè)渲染節(jié)點(diǎn)上,并且因此所需的處理負(fù)載分布在針對(duì)其可用處理能力所選擇的若干渲染節(jié)點(diǎn)之間。這樣,一個(gè)或多個(gè)客戶端發(fā)送導(dǎo)航請(qǐng)求與從渲染醫(yī)學(xué)圖像序列轉(zhuǎn)換的對(duì)應(yīng)視頻流被顯示的時(shí)刻的延遲被最小化。該延遲的減少改善了系統(tǒng)用戶的實(shí)時(shí)查看體驗(yàn)。分布處理負(fù)載的工作流服務(wù)器的實(shí)現(xiàn)確保架構(gòu)是簡(jiǎn)單的并防止渲染節(jié)點(diǎn)的過(guò)載,并且最小化處理客戶端的導(dǎo)航請(qǐng)求所需的處理能力。此外,工作流服務(wù)器包括轉(zhuǎn)換模塊,其適于將根據(jù)導(dǎo)航請(qǐng)求從醫(yī)學(xué)圖像生成的渲染醫(yī)學(xué)圖像序列轉(zhuǎn)換為視頻流。轉(zhuǎn)換模塊以適于查看的格式直接向相應(yīng)的客戶端提供視頻流。換句話說(shuō),視頻流不需要經(jīng)歷壓縮和/或解壓縮步驟以便由客戶端查看。這使得方法的實(shí)現(xiàn)更簡(jiǎn)單,并確保用于系統(tǒng)用戶的實(shí)時(shí)查看體驗(yàn)。
一個(gè)或多個(gè)客戶端發(fā)送用于導(dǎo)航渲染醫(yī)學(xué)圖像序列的導(dǎo)航請(qǐng)求。例如,可以通過(guò)滾動(dòng)一個(gè)或多個(gè)客戶端的鼠標(biāo)的移動(dòng)來(lái)生成導(dǎo)航請(qǐng)求。例如,一個(gè)客戶端以期望導(dǎo)航速率沿著傾斜平面利用其鼠標(biāo)滾動(dòng)通過(guò)渲染醫(yī)學(xué)圖像序列。鼠標(biāo)的每次滾動(dòng)移動(dòng)生成用于導(dǎo)航渲染醫(yī)學(xué)圖像序列的導(dǎo)航請(qǐng)求。當(dāng)客戶端點(diǎn)擊并將其鼠標(biāo)保持在渲染醫(yī)學(xué)圖像序列的一個(gè)渲染醫(yī)學(xué)圖像上的點(diǎn)擊位置并且移動(dòng)其鼠標(biāo)以便在不同的視角下查看渲染醫(yī)學(xué)圖像時(shí),也可以生成導(dǎo)航請(qǐng)求。然后鼠標(biāo)的每次移動(dòng)生成導(dǎo)航請(qǐng)求。當(dāng)相應(yīng)的客戶端釋放鼠標(biāo)時(shí),生成導(dǎo)航請(qǐng)求以便查看客戶端在其上停止移動(dòng)鼠標(biāo)的渲染醫(yī)學(xué)圖像。這可以例如增加對(duì)于客戶端可用的細(xì)節(jié)的級(jí)別,并且因此增加執(zhí)行相關(guān)診斷的可能性。
本發(fā)明另外還涉及包括適于執(zhí)行根據(jù)本發(fā)明的方法的軟件代碼的計(jì)算機(jī)程序。
本發(fā)明還涉及包括根據(jù)本發(fā)明的計(jì)算機(jī)程序的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
附圖說(shuō)明
圖1示意性地圖示了用于渲染視頻流的系統(tǒng)的實(shí)施例。
圖2示意性地圖示了面對(duì)一個(gè)工作流服務(wù)器的極高負(fù)載或?yàn)?zāi)難性故障的情況的用于渲染視頻流的系統(tǒng)的實(shí)施例。
圖3示意性地圖示了其中系統(tǒng)將渲染醫(yī)學(xué)圖像序列的子集發(fā)送到客戶端以供查看的圖2的系統(tǒng)的實(shí)施例。
圖4示意性地圖示了其中工作流服務(wù)器將渲染醫(yī)學(xué)圖像序列和/或未來(lái)渲染醫(yī)學(xué)圖像序列存儲(chǔ)在圖像工作流高速緩存中的系統(tǒng)的實(shí)施例。
圖5示意性地圖示了用于托管圖4的系統(tǒng)的合適的計(jì)算系統(tǒng)。
具體實(shí)施方式
醫(yī)學(xué)數(shù)字成像與通信(也被稱(chēng)為DICOM)是醫(yī)學(xué)成像中的用于處理、存儲(chǔ)、打印和傳送信息的標(biāo)準(zhǔn)。其包括文件格式限定和網(wǎng)絡(luò)通信協(xié)議。通信協(xié)議是使用TCP/IP在系統(tǒng)之間通信的應(yīng)用協(xié)議。可以在能夠以DICOM格式接收?qǐng)D像和患者數(shù)據(jù)的兩個(gè)實(shí)體之間交換DICOM文件。DICOM使得例如來(lái)自多個(gè)制造商的掃描儀、服務(wù)器、工作站、打印機(jī)和網(wǎng)絡(luò)硬件集成到也稱(chēng)為PACS的圖片存檔與通信系統(tǒng)中。不同的設(shè)備伴隨著DICOM一致性聲明,其明確說(shuō)明它們支持哪些DICOM類(lèi)。DICOM已經(jīng)被醫(yī)院廣泛采用,并侵入臨床醫(yī)師的辦公室(諸如牙醫(yī)和醫(yī)生的辦公室)的較小應(yīng)用中。當(dāng)醫(yī)療信息系統(tǒng)希望連接到儲(chǔ)存庫(kù)并取出所存儲(chǔ)的DICOM對(duì)象時(shí),其必須熟悉具體的、并且通常是專(zhuān)有的協(xié)議,以能夠與儲(chǔ)存庫(kù)通信。對(duì)DICOM持久對(duì)象服務(wù)器(也稱(chēng)為WADO)的Web訪問(wèn)通過(guò)使用DICOM唯一標(biāo)識(shí)符來(lái)提供用于通過(guò)HTTP/HTTPS訪問(wèn)DICOM持久對(duì)象的簡(jiǎn)單機(jī)制而簡(jiǎn)化對(duì)任何DICOM儲(chǔ)存庫(kù)的訪問(wèn)。WADO標(biāo)準(zhǔn)指定了用于訪問(wèn)和呈現(xiàn)DICOM持久性對(duì)象(諸如圖像和醫(yī)學(xué)成像報(bào)告)的基于Web的服務(wù)。可以以如由請(qǐng)求者指定的呈現(xiàn)就緒形式(例如,JPEG或GIF)或以原生DICOM格式檢索數(shù)據(jù)。
根據(jù)圖1中所示的實(shí)施例,系統(tǒng)1包括客戶端10、網(wǎng)絡(luò)50和標(biāo)記為工作流服務(wù)器A的一個(gè)工作流服務(wù)器20。系統(tǒng)1還包括標(biāo)記為RN1、RN2、到RNm的多個(gè)渲染節(jié)點(diǎn)30,其中m是大于1的整數(shù)。如圖1中可見(jiàn)的,客戶端10通過(guò)網(wǎng)絡(luò)50向工作流服務(wù)器A發(fā)送用于導(dǎo)航渲染醫(yī)學(xué)圖像序列6的導(dǎo)航請(qǐng)求3。根據(jù)替代實(shí)施例,多于一個(gè)客戶端10將用于醫(yī)學(xué)圖像2的導(dǎo)航請(qǐng)求3發(fā)送到標(biāo)記為A的工作流服務(wù)器20。導(dǎo)航請(qǐng)求3可以例如通過(guò)滾動(dòng)一個(gè)或多個(gè)客戶端10的鼠標(biāo)的移動(dòng)來(lái)生成。例如,一個(gè)客戶端10以期望導(dǎo)航速率沿著傾斜平面利用其鼠標(biāo)滾動(dòng)通過(guò)渲染醫(yī)學(xué)圖像序列6。鼠標(biāo)的每次滾動(dòng)移動(dòng)生成用于導(dǎo)航渲染醫(yī)學(xué)圖像序列6的導(dǎo)航請(qǐng)求3。當(dāng)客戶端10點(diǎn)擊并將其鼠標(biāo)保持在渲染醫(yī)學(xué)圖像序列6的一個(gè)渲染醫(yī)學(xué)圖像上的點(diǎn)擊位置并且移動(dòng)其鼠標(biāo)以便在不同的視角下查看渲染醫(yī)學(xué)圖像時(shí),也可以生成導(dǎo)航請(qǐng)求3。然后鼠標(biāo)的每次移動(dòng)生成導(dǎo)航請(qǐng)求。當(dāng)相應(yīng)的客戶端10釋放鼠標(biāo)時(shí),生成導(dǎo)航請(qǐng)求3以便查看客戶端10在其上停止移動(dòng)鼠標(biāo)的渲染醫(yī)學(xué)圖像。導(dǎo)航請(qǐng)求3包括例如用于渲染醫(yī)學(xué)圖像序列6的以下請(qǐng)求細(xì)節(jié)中的一個(gè)或多個(gè):渲染醫(yī)學(xué)圖像序列6的每個(gè)圖像的寬度;渲染醫(yī)學(xué)圖像序列6的每個(gè)圖像的高度;渲染醫(yī)學(xué)圖像序列6的每個(gè)圖像的窗口中心;渲染醫(yī)學(xué)圖像序列6的每個(gè)圖像的窗口寬度;針對(duì)渲染醫(yī)學(xué)圖像序列6的預(yù)覽的請(qǐng)求;必須沿著其渲染醫(yī)學(xué)圖像序列2的每個(gè)圖像的平面;用于進(jìn)一步分布和審查渲染醫(yī)學(xué)圖像序列6的模式,諸如最大強(qiáng)度投影(也稱(chēng)為MIP)、最小強(qiáng)度投影(也稱(chēng)為minIP)和平均強(qiáng)度投影(也稱(chēng)為AvgIP);透明的掩模(mask);由數(shù)字對(duì)相鄰行間距指定的每個(gè)像素的中心之間的研究中的患者中的物理距離——相鄰列間距(以mm);相對(duì)于客戶端分別包括第一行和第一列的方向余弦的定向行和定向列;渲染醫(yī)學(xué)圖像序列6的每個(gè)圖像的左上角的x、y、z坐標(biāo),即圖像的第一傳送體素的中心(以mm);切片的標(biāo)稱(chēng)厚度(以mm);渲染醫(yī)學(xué)圖像序列6的格式。如圖1中可見(jiàn)的,標(biāo)記為A的工作流服務(wù)器20將導(dǎo)航請(qǐng)求3路由到被標(biāo)記為RN1和RN2的渲染節(jié)點(diǎn)30。根據(jù)替代實(shí)施例,標(biāo)記為A的工作流服務(wù)器20將導(dǎo)航請(qǐng)求3路由到兩個(gè)或更多個(gè)渲染節(jié)點(diǎn)30。工作流服務(wù)器20適于監(jiān)視渲染節(jié)點(diǎn)30的若干參數(shù)以能夠選擇工作流服務(wù)器20將導(dǎo)航請(qǐng)求3路由到其的渲染節(jié)點(diǎn)30。工作流服務(wù)器20適于記住工作流服務(wù)器20最近將導(dǎo)航請(qǐng)求3路由到哪個(gè)渲染節(jié)點(diǎn)30。工作流服務(wù)器還適于臨時(shí)存儲(chǔ)工作流服務(wù)器20將多少導(dǎo)航請(qǐng)求3路由到每個(gè)渲染節(jié)點(diǎn)30。在工作流服務(wù)器20從客戶端10接收到用于導(dǎo)航渲染醫(yī)學(xué)圖像序列6的導(dǎo)航請(qǐng)求3的時(shí)刻處,工作流服務(wù)器20知曉工作流服務(wù)器20可以將導(dǎo)航請(qǐng)求3路由到的每個(gè)渲染節(jié)點(diǎn)30的可用處理容量。換句話說(shuō),在工作流服務(wù)器20接收到導(dǎo)航請(qǐng)求3的時(shí)刻處,工作流服務(wù)器20知曉工作流服務(wù)器20可以將導(dǎo)航請(qǐng)求3路由到的每個(gè)渲染節(jié)點(diǎn)30的處理負(fù)荷,即,在該時(shí)刻處渲染節(jié)點(diǎn)30中的每個(gè)正在處理多少醫(yī)學(xué)圖像2。當(dāng)工作流服務(wù)器20接收到導(dǎo)航請(qǐng)求3時(shí),工作流服務(wù)器20首先比較工作流服務(wù)器20可以將導(dǎo)航請(qǐng)求3路由到的每個(gè)渲染節(jié)點(diǎn)30的最大處理容量。渲染節(jié)點(diǎn)30的處理容量例如與渲染節(jié)點(diǎn)30的處理器的處理能力、處理能力、處理器的速度、每單位時(shí)間的處理速率等相關(guān)。最大處理容量然后當(dāng)渲染節(jié)點(diǎn)30處于其所有處理容量的最大值處時(shí)被測(cè)量,并且可以外推到渲染節(jié)點(diǎn)30每秒可以處理的醫(yī)學(xué)圖像2的最大數(shù)量。當(dāng)工作流服務(wù)器20接收到導(dǎo)航請(qǐng)求3時(shí),工作流服務(wù)器20選擇表現(xiàn)出最高最大處理容量和最高可用處理容量的渲染節(jié)點(diǎn)30,即在當(dāng)工作流服務(wù)器20接收到導(dǎo)航請(qǐng)求3時(shí)的該時(shí)刻處可以處理最高數(shù)量的醫(yī)學(xué)圖像2的渲染節(jié)點(diǎn)30。渲染節(jié)點(diǎn)30從存儲(chǔ)裝置(例如從PACS)檢索對(duì)應(yīng)于導(dǎo)航請(qǐng)求3的醫(yī)學(xué)圖像2,并且通過(guò)例如WADO規(guī)范檢索對(duì)應(yīng)于導(dǎo)航請(qǐng)求3的醫(yī)學(xué)圖像2。根據(jù)替代實(shí)施例,從例如硬盤(pán)或易失性存儲(chǔ)器或任何其他合適類(lèi)型的存儲(chǔ)器檢索醫(yī)學(xué)圖像2。根據(jù)另一替代實(shí)施例,醫(yī)學(xué)圖像2可以由渲染節(jié)點(diǎn)30通過(guò)諸如WADO、DICOM、直接訪問(wèn)等之類(lèi)的任何其他合適的訪問(wèn)協(xié)議來(lái)取出。醫(yī)學(xué)圖像2由渲染節(jié)點(diǎn)30根據(jù)導(dǎo)航請(qǐng)求3處理,并且渲染節(jié)點(diǎn)30由此生成經(jīng)處理醫(yī)學(xué)圖像序列4。渲染節(jié)點(diǎn)30渲染經(jīng)處理醫(yī)學(xué)圖像序列4,使得可以由客戶端10根據(jù)導(dǎo)航請(qǐng)求3查看經(jīng)處理醫(yī)學(xué)圖像序列4,由此生成渲染醫(yī)學(xué)圖像序列6。工作流服務(wù)器20包括轉(zhuǎn)換模塊21,其適于從各個(gè)渲染節(jié)點(diǎn)接收渲染醫(yī)學(xué)圖像序列6。工作流服務(wù)器20的轉(zhuǎn)換模塊21將渲染醫(yī)學(xué)圖像序列6轉(zhuǎn)換為視頻流7。然后,工作流服務(wù)器20的轉(zhuǎn)換模塊21當(dāng)期望導(dǎo)航速率超過(guò)預(yù)定導(dǎo)航速率閾值時(shí)向?qū)?yīng)的客戶端提供視頻流7以供查看。針對(duì)用于查看時(shí)間的預(yù)定查看時(shí)間閾值來(lái)確定預(yù)定導(dǎo)航速率閾值。查看時(shí)間是在其期間需要響應(yīng)于導(dǎo)航請(qǐng)求3而由客戶端10顯示渲染醫(yī)學(xué)圖像序列6的每個(gè)渲染醫(yī)學(xué)圖像的時(shí)間段。例如,查看時(shí)間可以約為半秒,或者查看時(shí)間可以通過(guò)例如客戶端釋放鼠標(biāo)的按鈕來(lái)停止其在圖像上的導(dǎo)航的事實(shí)來(lái)確定??蛻舳?0包括適于接收視頻流7并顯示視頻流7以供查看的控制接口11??刂平涌?1包括用于顯示視頻流7以供查看的內(nèi)置編解碼器。
如圖1中可見(jiàn),標(biāo)記為A的工作流服務(wù)器20將導(dǎo)航請(qǐng)求3路由到標(biāo)記為RN1和RN2的系統(tǒng)1的兩個(gè)渲染節(jié)點(diǎn)30。根據(jù)替代實(shí)施例,標(biāo)記為A的工作流服務(wù)器20可以將導(dǎo)航請(qǐng)求3路由到標(biāo)記為RN1至RNm的系統(tǒng)1的任何兩個(gè)或更多個(gè)渲染節(jié)點(diǎn)30,其中m是大于1的整數(shù)。根據(jù)另一替代實(shí)施例,工作流服務(wù)器20監(jiān)視工作流服務(wù)器20與系統(tǒng)1的每個(gè)渲染節(jié)點(diǎn)30之間的物理距離。這樣,工作流服務(wù)器20知曉每個(gè)渲染節(jié)點(diǎn)30距離工作流服務(wù)器20多遠(yuǎn)。因此,工作流服務(wù)器20知曉哪些是物理上與工作流服務(wù)器20最接近的渲染節(jié)點(diǎn)30。例如,工作流服務(wù)器20可以標(biāo)識(shí)渲染節(jié)點(diǎn)30是否在與工作流服務(wù)器20相同的硬件上運(yùn)行,或者渲染節(jié)點(diǎn)是否在與工作流服務(wù)器20在其上運(yùn)行的硬件機(jī)器不同的若干硬件機(jī)器上運(yùn)行。工作流服務(wù)器20將優(yōu)先地將請(qǐng)求3路由到物理上靠近他并且滿足用于處理(如先前在圖1中所述)請(qǐng)求3的負(fù)載的規(guī)范的渲染節(jié)點(diǎn)30。
為了降低與僅該CPU處理的實(shí)現(xiàn)相關(guān)聯(lián)的成本,優(yōu)選使用小尺寸的渲染節(jié)點(diǎn)30。根據(jù)作為圖1中所描繪的實(shí)施例的替代實(shí)施例,為了完全加載30CPU的一個(gè)物理盒和128千兆位的RAM,系統(tǒng)1包括一個(gè)工作流服務(wù)器20,其具有例如2個(gè)CPU和16千兆位的RAM、以及7個(gè)渲染節(jié)點(diǎn)30,每個(gè)包括例如4個(gè)CPU和16千兆位的RAM。系統(tǒng)1被縮放以能夠在峰值時(shí)間處保持負(fù)載。這意味著在峰值時(shí)間之外,系統(tǒng)1是欠載的。用于處理請(qǐng)求3的負(fù)載的物理資源在小渲染節(jié)點(diǎn)30之間劃分。因此,請(qǐng)求3的負(fù)載在渲染節(jié)點(diǎn)30之間分散。
根據(jù)圖2中所示的實(shí)施例,系統(tǒng)1包括客戶端10、網(wǎng)絡(luò)50和標(biāo)記為工作流服務(wù)器A和工作流服務(wù)器B的兩個(gè)工作流服務(wù)器20。系統(tǒng)1還包括標(biāo)記為RN1、RN2、到RNm的多個(gè)渲染節(jié)點(diǎn)30,其中m是大于1的整數(shù)。系統(tǒng)1的網(wǎng)絡(luò)50還包括適于從客戶端10接收導(dǎo)航請(qǐng)求3并且將客戶端10的導(dǎo)航請(qǐng)求3分布并路由到工作流服務(wù)器20之一的負(fù)載平衡器54。負(fù)載平衡器54考慮在當(dāng)負(fù)載平衡器54接收到導(dǎo)航請(qǐng)求3時(shí)的時(shí)刻處的每個(gè)工作流服務(wù)器20的負(fù)載,以選擇具有最低負(fù)載的工作流服務(wù)器20,即在該時(shí)刻處處理最少導(dǎo)航請(qǐng)求3的工作流服務(wù)器20。根據(jù)替代實(shí)施例,網(wǎng)絡(luò)50的負(fù)載平衡器54將用于醫(yī)學(xué)圖像2的導(dǎo)航請(qǐng)求3從標(biāo)記為A的工作流服務(wù)器20重定向到標(biāo)記為B的工作流服務(wù)器20。例如,如圖2中可見(jiàn)的,在標(biāo)記為A的工作流服務(wù)器20的負(fù)載極高的情況下即當(dāng)標(biāo)記為A的工作流服務(wù)器20忙于高負(fù)載的請(qǐng)求3時(shí),或者在標(biāo)記為A的工作流服務(wù)器20的災(zāi)難性故障的情況下即當(dāng)標(biāo)記為A的工作流服務(wù)器20表現(xiàn)出故障并崩潰時(shí),或者在標(biāo)記為A的工作流服務(wù)器20的維護(hù)的情況下即當(dāng)對(duì)標(biāo)記為A的工作流服務(wù)器20進(jìn)行饋電的電力必須臨時(shí)中止時(shí),網(wǎng)絡(luò)50的負(fù)載平衡器54將導(dǎo)航請(qǐng)求3分布到標(biāo)記為B的工作流服務(wù)器20,而不是標(biāo)記為A的工作流服務(wù)器20。當(dāng)標(biāo)記為B的工作流服務(wù)器20從客戶端10接收到導(dǎo)航請(qǐng)求3時(shí),標(biāo)記為B的工作流服務(wù)器20選擇表現(xiàn)出最高最大處理容量和最高可用處理容量的渲染節(jié)點(diǎn)30,即在當(dāng)標(biāo)記為B的工作流服務(wù)器20接收到導(dǎo)航請(qǐng)求3時(shí)的該時(shí)刻處可以處理最高數(shù)量的醫(yī)學(xué)圖像2的渲染節(jié)點(diǎn)30。如圖2中可見(jiàn),標(biāo)記為B的工作流服務(wù)器20將導(dǎo)航請(qǐng)求3路由到標(biāo)記為RN4、RN5和RNm的三個(gè)渲染節(jié)點(diǎn)30。根據(jù)替代實(shí)施例,標(biāo)記為B的工作流服務(wù)器20將導(dǎo)航請(qǐng)求3路由到兩個(gè)或更多個(gè)渲染節(jié)點(diǎn)30。渲染節(jié)點(diǎn)30檢索對(duì)應(yīng)于導(dǎo)航請(qǐng)求3的醫(yī)學(xué)圖像2。由渲染節(jié)點(diǎn)30根據(jù)導(dǎo)航請(qǐng)求3處理醫(yī)學(xué)圖像2,并且渲染節(jié)點(diǎn)30由此生成經(jīng)處理醫(yī)學(xué)圖像4。渲染節(jié)點(diǎn)30渲染經(jīng)處理醫(yī)學(xué)圖像4,使得經(jīng)處理醫(yī)學(xué)圖像4可以由客戶端10根據(jù)導(dǎo)航請(qǐng)求3查看,由此生成渲染醫(yī)學(xué)圖像6。工作流服務(wù)器20包括轉(zhuǎn)換模塊21,其適于從各個(gè)渲染節(jié)點(diǎn)接收渲染醫(yī)學(xué)圖像序列6。工作流服務(wù)器20的轉(zhuǎn)換模塊21將渲染醫(yī)學(xué)圖像序列6轉(zhuǎn)換為視頻流7。然后,工作流服務(wù)器20的轉(zhuǎn)換模塊21當(dāng)期望導(dǎo)航速率超過(guò)預(yù)定導(dǎo)航速率閾值時(shí)向?qū)?yīng)的客戶端提供視頻流7以供查看。針對(duì)用于查看時(shí)間的預(yù)定查看時(shí)間閾值來(lái)確定預(yù)定導(dǎo)航速率閾值。查看時(shí)間是在其期間渲染醫(yī)學(xué)圖像序列6的渲染醫(yī)學(xué)圖像中的每個(gè)需要由客戶端10響應(yīng)于導(dǎo)航請(qǐng)求3而顯示的時(shí)間段。例如,查看時(shí)間可以約為半秒,或者查看時(shí)間可以通過(guò)例如客戶端釋放鼠標(biāo)的按鈕來(lái)停止其在圖像上的導(dǎo)航的事實(shí)來(lái)確定。客戶端10包括適于接收視頻流7并顯示視頻流7以供查看的控制接口11??刂平涌?1包括用于顯示視頻流7以供查看的內(nèi)置編解碼器。
圖3示出了圖2的系統(tǒng)1,其中標(biāo)記為A的工作流服務(wù)器20的轉(zhuǎn)換模塊21向相應(yīng)的客戶端10提供渲染醫(yī)學(xué)圖像序列的子集8。具有與圖2中的類(lèi)似組件相同的參考標(biāo)號(hào)的組件執(zhí)行相同的功能。例如,客戶端10以給定導(dǎo)航速率沿著傾斜平面利用其鼠標(biāo)滾動(dòng)通過(guò)渲染醫(yī)學(xué)圖像序列6。鼠標(biāo)的每次滾動(dòng)移動(dòng)生成用于導(dǎo)航渲染醫(yī)學(xué)圖像序列6的導(dǎo)航請(qǐng)求3。導(dǎo)航請(qǐng)求3被發(fā)送到標(biāo)記為A的工作流服務(wù)器20。標(biāo)記為B的工作流服務(wù)器20將導(dǎo)航請(qǐng)求3路由到渲染節(jié)點(diǎn)RN4、RN5和RNm,其中m是大于1的整數(shù)。根據(jù)替代實(shí)施例,工作流服務(wù)器20從一個(gè)或多個(gè)客戶端10接收導(dǎo)航請(qǐng)求3,并將導(dǎo)航請(qǐng)求3路由到兩個(gè)或更多個(gè)渲染節(jié)點(diǎn)30。醫(yī)學(xué)圖像2由渲染節(jié)點(diǎn)30根據(jù)導(dǎo)航請(qǐng)求3處理,并且渲染節(jié)點(diǎn)30由此生成經(jīng)處理醫(yī)學(xué)圖像序列4。渲染節(jié)點(diǎn)30渲染經(jīng)處理醫(yī)學(xué)圖像序列4,使得經(jīng)處理醫(yī)學(xué)圖像序列4可以由客戶端10根據(jù)導(dǎo)航請(qǐng)求3查看,由此生成渲染醫(yī)學(xué)圖像序列6。工作流服務(wù)器20包括轉(zhuǎn)換模塊21,其適于從相應(yīng)的渲染節(jié)點(diǎn)接收渲染醫(yī)學(xué)圖像序列6。當(dāng)客戶端10導(dǎo)航渲染醫(yī)學(xué)圖像序列6的期望導(dǎo)航速率低于預(yù)定導(dǎo)航速率閾值時(shí),工作流服務(wù)器20的轉(zhuǎn)換模塊21將渲染醫(yī)學(xué)圖像序列6的子集8提供給相應(yīng)的客戶端10以供查看。針對(duì)用于查看時(shí)間的預(yù)定查看時(shí)間閾值來(lái)確定預(yù)定導(dǎo)航速率閾值。查看時(shí)間是在其期間渲染醫(yī)學(xué)圖像序列6的渲染醫(yī)學(xué)圖像中的每個(gè)需要由客戶端10響應(yīng)于導(dǎo)航請(qǐng)求3而顯示的時(shí)間段。客戶端10包括適于接收渲染醫(yī)學(xué)圖像序列6的子集8并顯示渲染醫(yī)學(xué)圖像序列6的子集8以供查看的控制接口11??刂平涌?1包括用于顯示渲染醫(yī)學(xué)圖像序列6的子集8以供查看的內(nèi)置編解碼器。
根據(jù)圖4中所示的實(shí)施例,工作流服務(wù)器20包括適于存儲(chǔ)渲染醫(yī)學(xué)圖像序列6的圖像工作流高速緩存22。具有與圖3中的類(lèi)似組件相同的參考標(biāo)號(hào)的組件執(zhí)行相同的功能??蛻舳?0的導(dǎo)航請(qǐng)求3被標(biāo)記為A的工作流服務(wù)器20接收。標(biāo)記為A的工作流服務(wù)器20將導(dǎo)航請(qǐng)求3路由到渲染節(jié)點(diǎn)RN1和RN2。根據(jù)替代實(shí)施例,工作流服務(wù)器20從一個(gè)或多個(gè)客戶端10接收導(dǎo)航請(qǐng)求3,并將導(dǎo)航請(qǐng)求3路由到兩個(gè)或更多個(gè)渲染節(jié)點(diǎn)30。醫(yī)學(xué)圖像2由渲染節(jié)點(diǎn)30根據(jù)導(dǎo)航請(qǐng)求3處理,并且渲染節(jié)點(diǎn)30由此生成經(jīng)處理醫(yī)學(xué)圖像序列4。渲染節(jié)點(diǎn)30提供經(jīng)處理醫(yī)學(xué)圖像序列4,使得可以由客戶端10根據(jù)導(dǎo)航請(qǐng)求3查看經(jīng)處理醫(yī)學(xué)圖像序列4,由此生成渲染醫(yī)學(xué)圖像序列6。工作流服務(wù)器20A的轉(zhuǎn)換模塊21可以將渲染醫(yī)學(xué)圖像序列6存儲(chǔ)在圖像工作流高速緩存22中。轉(zhuǎn)換模塊21適于將渲染醫(yī)學(xué)圖像序列6轉(zhuǎn)換為視頻流7。當(dāng)客戶端10的期望導(dǎo)航速率低于預(yù)定導(dǎo)航速率閾值時(shí),轉(zhuǎn)換模塊21適于向客戶端10提供渲染醫(yī)學(xué)圖像序列6的渲染醫(yī)學(xué)圖像的子集8以供查看。當(dāng)客戶端10的期望導(dǎo)航速率高于預(yù)定導(dǎo)航速率閾值時(shí),轉(zhuǎn)換模塊21適于向客戶端10提供視頻流7以供查看??蛻舳?0包括適于接收視頻流7并顯示視頻流7以供查看的控制接口11??刂平涌?1包括用于顯示視頻流7以供查看的內(nèi)置編解碼器??刂平涌?1還適于接收渲染醫(yī)學(xué)圖像序列6的子集8并且顯示渲染醫(yī)學(xué)圖像序列6的子集8以供查看??刂平涌?1包括內(nèi)置編解碼器,其用于顯示渲染醫(yī)學(xué)圖像序列6的子集8以供查看。工作流服務(wù)器20知曉客戶端10和工作流服務(wù)器20之間的網(wǎng)絡(luò)50的帶寬以及網(wǎng)絡(luò)50的等待時(shí)間,即客戶端10與工作流服務(wù)器20多快地通信。這樣,工作流服務(wù)器20可以估計(jì)渲染醫(yī)學(xué)圖像序列6可以經(jīng)由網(wǎng)絡(luò)50向發(fā)送了對(duì)應(yīng)的導(dǎo)航請(qǐng)求3的客戶端10渲染的時(shí)間為多長(zhǎng)。當(dāng)網(wǎng)絡(luò)50的帶寬減小時(shí),工作流服務(wù)器20存儲(chǔ)渲染醫(yī)學(xué)圖像序列6和/或具有較低質(zhì)量格式的視頻流7,以便跟上帶寬。在這種情況下,工作流服務(wù)器20在其圖像工作流高速緩存22中存儲(chǔ)更長(zhǎng)的渲染醫(yī)學(xué)圖像序列6。當(dāng)網(wǎng)絡(luò)50的帶寬增加時(shí),工作流服務(wù)器20存儲(chǔ)具有改善格式的渲染醫(yī)學(xué)圖像序列6和/或具有改善格式的視頻流7。根據(jù)替代實(shí)施例,只要客戶端10導(dǎo)航渲染醫(yī)學(xué)圖像序列6,工作流服務(wù)器20就以較低質(zhì)量格式對(duì)渲染醫(yī)學(xué)圖像序列6進(jìn)行渲染。當(dāng)客戶端10停止導(dǎo)航渲染醫(yī)學(xué)圖像序列6并且保持在可見(jiàn)的渲染醫(yī)學(xué)圖像6上時(shí),工作流服務(wù)器20路由與可見(jiàn)的渲染醫(yī)學(xué)圖像6對(duì)應(yīng)的用于渲染醫(yī)學(xué)圖像6的導(dǎo)航請(qǐng)求3,并且以改善格式提供該特定醫(yī)學(xué)圖像6。一旦客戶端10再次開(kāi)始導(dǎo)航渲染醫(yī)學(xué)圖像序列6,則工作流服務(wù)器再次以低格式對(duì)渲染醫(yī)學(xué)圖像序列6進(jìn)行渲染。標(biāo)記為A的工作流服務(wù)器20適于估計(jì)用于未來(lái)醫(yī)學(xué)圖像2的客戶端10的下一個(gè)導(dǎo)航請(qǐng)求9。例如,當(dāng)客戶端10停止利用其鼠標(biāo)滾動(dòng)通過(guò)圖像堆疊時(shí),標(biāo)記為A的工作流服務(wù)器20能夠估計(jì)客戶端10的未來(lái)導(dǎo)航請(qǐng)求9。例如,標(biāo)記為A的工作流服務(wù)器20能夠估計(jì)客戶端10滾動(dòng)通過(guò)渲染醫(yī)學(xué)圖像序列的方向,例如,客戶端10將要在渲染醫(yī)學(xué)圖像序列6中向前還是向后滾動(dòng)。如圖4中可見(jiàn),標(biāo)記為A的工作流服務(wù)器20將預(yù)測(cè)的、即估計(jì)的未來(lái)導(dǎo)航請(qǐng)求9路由到標(biāo)記為RN1和RN2的兩個(gè)或更多個(gè)渲染節(jié)點(diǎn)30。未來(lái)導(dǎo)航請(qǐng)求3被渲染節(jié)點(diǎn)30以與導(dǎo)航請(qǐng)求3相比更低的優(yōu)先級(jí)對(duì)待,即,接收導(dǎo)航請(qǐng)求的每個(gè)渲染節(jié)點(diǎn)將首先處理用于醫(yī)學(xué)圖像2的導(dǎo)航請(qǐng)求3,然后處理未來(lái)導(dǎo)航請(qǐng)求3。圖4中描繪的標(biāo)記為A的工作流服務(wù)器20的圖像工作流高速緩存可以做成與期望的一樣大,例如幾千兆位或幾十千兆位。
圖5示出了用于托管圖4的系統(tǒng)1的合適的計(jì)算系統(tǒng)800。計(jì)算系統(tǒng)800通??梢孕纬蔀楹线m的通用計(jì)算機(jī),并且包括總線510、處理器502、本地存儲(chǔ)器504、一個(gè)或多個(gè)可選輸入接口514、一個(gè)或多個(gè)可選輸出接口516、通信接口512、存儲(chǔ)元件接口506和一個(gè)或多個(gè)存儲(chǔ)元件508??偩€510可以包括允許計(jì)算系統(tǒng)的組件之間的通信的一個(gè)或多個(gè)傳導(dǎo)體。處理器502可以包括解釋和執(zhí)行編程指令的任何類(lèi)型的常規(guī)處理器或微處理器。本地存儲(chǔ)器504可以包括隨機(jī)存取存儲(chǔ)器(RAM)或存儲(chǔ)用于由處理器502執(zhí)行的信息和指令的另一類(lèi)型的動(dòng)態(tài)存儲(chǔ)設(shè)備,和/或只讀存儲(chǔ)器(ROM)或存儲(chǔ)用于由處理器504使用的靜態(tài)信息和指令的另一類(lèi)型的靜態(tài)存儲(chǔ)設(shè)備。輸入接口514可以包括允許操作者將信息輸入到計(jì)算設(shè)備800的一個(gè)或多個(gè)常規(guī)機(jī)制,諸如鍵盤(pán)520、鼠標(biāo)530、筆、語(yǔ)音識(shí)別和/或生物計(jì)量機(jī)制等。輸出接口516可以包括向操作者輸出信息的一個(gè)或多個(gè)常規(guī)機(jī)制,諸如顯示器540、打印機(jī)550、揚(yáng)聲器等。通信接口512可以包括諸如例如兩個(gè)1Gb以太網(wǎng)接口的、使得計(jì)算系統(tǒng)800能夠與其他設(shè)備和/或系統(tǒng)通信的任何類(lèi)似收發(fā)器的機(jī)制,例如用于與一個(gè)或多個(gè)其他計(jì)算系統(tǒng)900通信的機(jī)制。計(jì)算系統(tǒng)800的通信接口512可以通過(guò)局域網(wǎng)(LAN)或廣域網(wǎng)(WAN,諸如例如因特網(wǎng),在該情況下,其他計(jì)算系統(tǒng)580可以例如包括合適的web服務(wù)器)連接到這樣的另一計(jì)算系統(tǒng)。存儲(chǔ)元件接口506可以包括存儲(chǔ)接口,諸如例如串行高級(jí)技術(shù)附件(SATA)接口或小型計(jì)算機(jī)系統(tǒng)接口(SCSI),其用于將總線510連接到一個(gè)或多個(gè)存儲(chǔ)元件508(諸如一個(gè)或多個(gè)本地磁盤(pán),例如1TB SATA磁盤(pán)驅(qū)動(dòng)器),并且控制向和/或從這些存儲(chǔ)元件508的數(shù)據(jù)的讀取和寫(xiě)入。盡管以上的存儲(chǔ)元件508被描述為本地磁盤(pán),但是通常可以使用任何其他合適的計(jì)算機(jī)可讀介質(zhì),諸如可移動(dòng)磁盤(pán)、諸如CD或DVD的光存儲(chǔ)介質(zhì)、-ROM盤(pán)、固態(tài)驅(qū)動(dòng)器、閃存卡等。
圖4的系統(tǒng)1可以被實(shí)現(xiàn)為編程指令,存儲(chǔ)它計(jì)算系統(tǒng)800的本地存儲(chǔ)器504以由其處理器502執(zhí)行。可替代地,圖4的系統(tǒng)1可以存儲(chǔ)在存儲(chǔ)元件508上,或者可通過(guò)通信接口512從另一計(jì)算系統(tǒng)900訪問(wèn)。
盡管已經(jīng)通過(guò)參考特定實(shí)施例說(shuō)明了本發(fā)明,但是對(duì)于本領(lǐng)域技術(shù)人員顯而易見(jiàn)的是,本發(fā)明不限于上述說(shuō)明性實(shí)施例的細(xì)節(jié),并且本發(fā)明可以體現(xiàn)有各種改變和修改,而不脫離本發(fā)明的范圍。因此,本實(shí)施例在所有方面都被認(rèn)為是說(shuō)明性的而不是限制性的,本發(fā)明的范圍由所附權(quán)利要求而不是由前面的描述來(lái)指示,并且因此進(jìn)到權(quán)利要求的等同物的含義和范圍內(nèi)的所有改變旨在包含在其中。換句話說(shuō),考慮覆蓋落入基本底層原理的范圍內(nèi)并且其本質(zhì)屬性在本專(zhuān)利申請(qǐng)中要求保護(hù)的任何和所有修改、變化或等同物。本專(zhuān)利申請(qǐng)的讀者還將理解,詞語(yǔ)“包括有”或“包括”不排除其他元件或步驟,詞語(yǔ)“一”或“一個(gè)”不排除多個(gè),并且諸如計(jì)算機(jī)系統(tǒng)、處理器或其他集成單元的單個(gè)元件可以執(zhí)行權(quán)利要求中所述的若干器件的功能。權(quán)利要求中的任何參考標(biāo)記不應(yīng)被解釋為對(duì)相關(guān)的各個(gè)權(quán)利要求進(jìn)行限制。當(dāng)在說(shuō)明書(shū)或權(quán)利要求中使用時(shí),引入術(shù)語(yǔ)“第一”、“第二”、“第三”、“a”、“b”、“c”等來(lái)在類(lèi)似的元件或步驟之間區(qū)分,而未必描述順序或時(shí)間次序。類(lèi)似地,“頂部”、“底部”、“之上”、“之下”等為了描述目的而引入,而未必表示相對(duì)位置。應(yīng)理解,如此使用的術(shù)語(yǔ)在適當(dāng)?shù)那闆r下是可互換的,并且本發(fā)明的實(shí)施例能夠以其他順序或以與以上描述或說(shuō)明的定向不同的定向根據(jù)本發(fā)明進(jìn)行操作。