專利名稱:在連接式數(shù)字相機(jī)的視頻流操作期間用于靜止圖像捕捉的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明通常涉及數(shù)字相機(jī)和計(jì)算機(jī)系統(tǒng),更具體地說是涉及連接到計(jì)算機(jī)系統(tǒng)上的數(shù)字相機(jī)的操作性能。
近來,數(shù)字相機(jī)已發(fā)展成為以電子形式獲取和保存數(shù)字靜止圖像的便攜系統(tǒng)??梢砸远喾N不同方式使用這些圖像,例如在“電子”相薄中顯示或用于修飾圖形計(jì)算機(jī)應(yīng)用。數(shù)字相機(jī)具有與傳統(tǒng)化學(xué)膠片相機(jī)相類似的用戶接口,但圖像的捕捉和存儲(chǔ)完全使用電子固體電路和圖像處理技術(shù)。
典型的數(shù)字相機(jī)具有電子圖像傳感器,該電子圖像傳感器通過光學(xué)接口接收從物體和場(chǎng)景反射的入射光。光學(xué)接口可以包括透鏡系統(tǒng)、光圈機(jī)構(gòu)以及濾光器。通??梢詫鞲衅髯鳛殡姾膳汉掀骷嚵?CCD)或產(chǎn)生響應(yīng)入射光的發(fā)光信號(hào)的互補(bǔ)金屬氧化物半導(dǎo)體(CMOS)圖像檢測(cè)電路。通過模擬數(shù)字(A/D)轉(zhuǎn)換器將來自傳感器的模擬信號(hào)轉(zhuǎn)換成數(shù)字格式,然后再通過邏輯電路和/或程序處理器的處理來產(chǎn)生捕捉到的物體或場(chǎng)景的數(shù)字圖像。所捕捉的圖像臨時(shí)存儲(chǔ)在內(nèi)部隨機(jī)存儲(chǔ)器(RAM)中,然后也可存儲(chǔ)在相機(jī)上的可拆卸局部存儲(chǔ)器中。內(nèi)部RAM存儲(chǔ)單個(gè)圖像,而可移動(dòng)局部存儲(chǔ)器可存儲(chǔ)許多圖像。此外,圖像可傳輸?shù)脚c數(shù)字相機(jī)相鏈接的計(jì)算機(jī)上,作為電子文件存儲(chǔ)起來,向用戶顯示,對(duì)圖形和圖像做進(jìn)一步處理以改善圖像質(zhì)量,以及與其它圖形軟件一起使用。
大多數(shù)數(shù)字相機(jī)的購(gòu)買者使用個(gè)人計(jì)算機(jī)(PC)系統(tǒng)瀏覽靜止圖像。因此,這些購(gòu)買者也可享受將其數(shù)字相機(jī)與其他人通信的樂趣,例如在視頻會(huì)議中與另一臺(tái)計(jì)算機(jī)通信,以便看到和聽見其它人。然而,通常大多數(shù)數(shù)字相機(jī)的配置僅能提供靜止圖像。同樣地,通常用于視頻會(huì)議的相機(jī)在與計(jì)算機(jī)斷開時(shí)也不會(huì)作為靜止相機(jī)使用。針對(duì)這些限制,已經(jīng)開發(fā)了允許使用視頻和靜止圖像捕捉便攜式操作“雙模式”的數(shù)字相機(jī)和相關(guān)的圖像處理結(jié)構(gòu),在視頻模式中,相機(jī)可與計(jì)算機(jī)相鏈接(系)以實(shí)現(xiàn)視頻目的。這種系統(tǒng)的運(yùn)行目的是為了通過同一信號(hào)處理系統(tǒng)提供靜止和視頻圖像,由此減少單獨(dú)購(gòu)買靜止和視頻相機(jī)的消費(fèi)者的花銷。
然而,這種雙模式相機(jī)具有固有的局限性,即僅當(dāng)相機(jī)在便攜式、非視頻方式下操作時(shí)才能使用靜止圖像捕捉模式。當(dāng)相機(jī)在視頻模式下使用時(shí)(例如與PC相連接用于視頻會(huì)議時(shí)),所捕捉的圖像系列包括重寫任意暫存靜止圖像的視頻幀序列,該任意暫存靜止圖像可能已被相機(jī)捕捉并存儲(chǔ)在其內(nèi)部RAM中,因此不可能同時(shí)再現(xiàn)發(fā)生的視頻流和靜止圖像捕捉操作。
因此,希望在不增加相機(jī)成本的情況下,在與計(jì)算機(jī)相連的數(shù)字相機(jī)中提供同時(shí)發(fā)生的視頻流和靜止圖像捕捉操作的方法和設(shè)備,以克服現(xiàn)有技術(shù)的不足和局限性。
本發(fā)明的實(shí)施例是一種在與計(jì)算機(jī)相連的數(shù)字相機(jī)的視頻流操作期間捕捉靜止圖像的方法。該方法包括以下步驟中止視頻流操作,通過數(shù)字相機(jī)捕捉靜止圖像,將靜止圖像從數(shù)字相機(jī)傳輸?shù)接?jì)算機(jī)系統(tǒng)以及恢復(fù)視頻流操作。
本發(fā)明的另一個(gè)實(shí)施例是一種用于在數(shù)字相機(jī)的視頻流操作過程中捕捉靜止圖像的設(shè)備。在具有通過總線與計(jì)算機(jī)系統(tǒng)相連的數(shù)字相機(jī)的系統(tǒng)中,該設(shè)備包括相機(jī)設(shè)備驅(qū)動(dòng)器和總線接口驅(qū)動(dòng)器,在計(jì)算機(jī)系統(tǒng)上執(zhí)行相機(jī)設(shè)備驅(qū)動(dòng)程序,以中止視頻流操作,請(qǐng)求通過數(shù)字相機(jī)捕捉靜止圖像,請(qǐng)求將捕捉到的靜止圖像從數(shù)字相機(jī)傳送到計(jì)算機(jī)系統(tǒng),并恢復(fù)視頻流操作;以及總線接口驅(qū)動(dòng)器與相機(jī)設(shè)備驅(qū)動(dòng)器和總線相連接,通過總線在相機(jī)設(shè)備驅(qū)動(dòng)器和數(shù)字相機(jī)之間傳遞命令和數(shù)據(jù)。
通過對(duì)本發(fā)明進(jìn)行下述詳細(xì)描述,可理解本發(fā)明的特征和優(yōu)勢(shì)。
圖1是本發(fā)明實(shí)施例的系統(tǒng)環(huán)境圖;圖2是數(shù)字圖像捕捉設(shè)備例如數(shù)字相機(jī)的邏輯框圖;圖3是根據(jù)本發(fā)明實(shí)施例的數(shù)字相機(jī)圖像處理系統(tǒng)的結(jié)構(gòu)圖;圖4是根據(jù)本發(fā)明實(shí)施例執(zhí)行的信號(hào)處理步驟的邏輯流程圖;圖5是與數(shù)字相機(jī)互相配合的基于主機(jī)系統(tǒng)的部件方框圖;圖6是相機(jī)設(shè)備驅(qū)動(dòng)器的方框圖;及圖7A和7B是用于從數(shù)字相機(jī)中捕捉和恢復(fù)靜止圖像的流程圖。
在下面的描述中,將描述本發(fā)明的不同方面。但顯然,對(duì)本領(lǐng)域的技術(shù)人員來說,可以僅用本發(fā)明的一部分或全部方面來實(shí)現(xiàn)本發(fā)明。為了方便說明,提供具體的數(shù)字、材料和圖形以徹底理解本發(fā)明。但顯然,本領(lǐng)域的技術(shù)人員也可以在不用具體細(xì)節(jié)的情況下實(shí)施本發(fā)明。在其它例子中,為使本發(fā)明更清晰,省略或簡(jiǎn)化了公知的特征。
本發(fā)明的一個(gè)實(shí)施例是一種為數(shù)字相機(jī)提供真正雙模式特征的方法和設(shè)備,從而數(shù)字相機(jī)和相關(guān)計(jì)算機(jī)系統(tǒng)支持同時(shí)發(fā)生的靜止圖像捕捉和視頻流操作。在發(fā)送捕捉靜止圖像命令之前,任何正在用操作的流視頻模式監(jiān)視顯示在計(jì)算機(jī)監(jiān)視器上的一系列圖像成分同時(shí)等待適當(dāng)?shù)膱D像合成的人都可能使用根據(jù)本發(fā)明的雙模式靜止圖像捕捉。例如,專業(yè)攝影師、攝影愛好者或者甚至一個(gè)初學(xué)者用戶都能用雙模式在現(xiàn)場(chǎng)錄象的同時(shí)用他們的數(shù)字相機(jī)進(jìn)行拍照。在另一個(gè)例子中,以視頻模式操作的相機(jī)有時(shí)用作安全性監(jiān)視器。使用本發(fā)明,操作人員可以在引人關(guān)注的、受監(jiān)視的事件出現(xiàn)時(shí)發(fā)送捕捉靜止圖像命令。或者,當(dāng)相機(jī)記錄的場(chǎng)景合成變得引人關(guān)注或符合可修改的預(yù)置參數(shù)時(shí),實(shí)時(shí)圖像分析程序能自動(dòng)產(chǎn)生捕捉靜止圖像命令。
圖1是本發(fā)明一個(gè)實(shí)施例的系統(tǒng)環(huán)境圖。用戶(未示出)操作數(shù)字相機(jī)10捕捉靜止圖像并生成全速運(yùn)動(dòng)視頻圖像。數(shù)字相機(jī)通過電纜14與主機(jī)系統(tǒng)12連接。主機(jī)系統(tǒng)可以是任何通用目的的計(jì)算機(jī)系統(tǒng),包括個(gè)人計(jì)算機(jī)(PC)、工作站或類似系統(tǒng),這些計(jì)算機(jī)系統(tǒng)至少有一個(gè)處理單元和至少一個(gè)存儲(chǔ)機(jī)器可讀指令的存儲(chǔ)器。在一個(gè)實(shí)施例中,系統(tǒng)實(shí)現(xiàn)通用串行總線(USB)通信接口。USB是外圍總線規(guī)格,實(shí)現(xiàn)PC外部的計(jì)算機(jī)外圍設(shè)備的“即插即用”,在增加新的外設(shè)時(shí)不需要將印刷電路板安裝到專用計(jì)算機(jī)插槽中和重新配置系統(tǒng)。配備有USB的計(jì)算機(jī)使得外設(shè)一經(jīng)物理連接就能被自動(dòng)配置。USB在圖1中用電纜14表示?;蛘撸梢岳糜?jì)算機(jī)系統(tǒng)和計(jì)算機(jī)外設(shè)之間的其他通信接口。
圖2是數(shù)字圖像捕捉設(shè)備例如數(shù)字相機(jī)的邏輯框圖。數(shù)字相機(jī)100以至少兩種操作模式運(yùn)行,從而通過同一信號(hào)處理系統(tǒng)提供靜止和視頻圖像。在一個(gè)實(shí)施例中,通過以鏈?zhǔn)酵瓿蓴?shù)字圖像處理操作,信號(hào)處理系統(tǒng)提供來自于同一詳細(xì)的、原始圖像傳感器信號(hào)的視頻和靜止數(shù)據(jù)。原始圖像傳感器信號(hào)被數(shù)字化并準(zhǔn)備進(jìn)行空間度量,然后解相關(guān)并編碼成壓縮數(shù)據(jù)。在通過計(jì)算機(jī)總線例如USB進(jìn)入的可再編程邏輯電路中執(zhí)行不同的圖像處理操作,或者通過對(duì)高性能數(shù)據(jù)處理器進(jìn)行編程來執(zhí)行軟件操作。
數(shù)字相機(jī)100包括視頻和靜止處理塊110,具有透鏡系統(tǒng)104和光圈108的光學(xué)接口,用于暴露于從其圖像將被捕捉的物體102反射回來的入射光。相機(jī)100還可以包括產(chǎn)生補(bǔ)足光的頻閃觀測(cè)器或電子閃光燈,以便當(dāng)相機(jī)100在低照度下工作時(shí)加強(qiáng)對(duì)物體102的照明。
透鏡系統(tǒng)104最好具有既可為視頻操作又可為靜止操作所接受的固定焦距,因?yàn)樵谝曨l模式下可以允許用于近距離物體(例如在視頻會(huì)議期間用戶的臉)的光學(xué)接口的調(diào)制傳遞函數(shù)(MTF)下降(由此圖像品質(zhì)降級(jí))。光學(xué)接口具有光圈機(jī)構(gòu)108以控制傳感器上光的劑量和聚焦深度,并可以為視頻和靜止操作僅配置下述兩種設(shè)置。
光學(xué)接口將入射光引導(dǎo)到電子圖像傳感器114上。圖像傳感器114具有多個(gè)像素,這些像素電響應(yīng)入射光強(qiáng)度和顏色。傳感器114產(chǎn)生表示所捕捉圖像的清晰度足以作為靜止圖像的信號(hào)。接收所生成光的模擬傳感器信號(hào)的A/D轉(zhuǎn)換器(未示出)可以包括在傳感器114中,用于產(chǎn)生定義曝光物體102和周圍場(chǎng)景的數(shù)字圖像的數(shù)字傳感器信號(hào)?;蛘?,傳感器114為塊110提供模擬信號(hào),塊110又可以在將信號(hào)轉(zhuǎn)換成數(shù)字格式之前對(duì)它們進(jìn)行模擬信號(hào)處理。在其中一種情況下,數(shù)字化后的傳感器信號(hào)由此定義原始圖像數(shù)據(jù),然后通過視頻和靜止塊110根據(jù)圖像處理方法對(duì)原始圖像數(shù)據(jù)進(jìn)行處理,以便根據(jù)所選擇的靜止或視頻操作模式形成靜止圖像或描繪曝光物體或場(chǎng)景運(yùn)動(dòng)的一序列視頻圖像。
模式選擇可以由設(shè)備100的用戶通過對(duì)設(shè)備100進(jìn)行機(jī)械控制(未示出)來決定。通過局部用戶接口158接收機(jī)械旋鈕設(shè)置并將其轉(zhuǎn)化成將由連接統(tǒng)控制器160處理的控制信號(hào)和數(shù)據(jù)。設(shè)備100可以經(jīng)主機(jī)/PC通信接口154連接到視頻模式的主機(jī),例如PC。該主機(jī)/PC通信接口連接圖1的電纜14。視頻模式僅在相機(jī)連接到計(jì)算機(jī)系統(tǒng)上時(shí)才可以使用。接著,用戶可以通過在圖1的主機(jī)12上運(yùn)行的軟件進(jìn)行模式選擇,然后通過主機(jī)/PC接口154將適當(dāng)?shù)目刂菩盘?hào)和數(shù)據(jù)傳送給系統(tǒng)控制器160。
如上所述,系統(tǒng)控制器160響應(yīng)用戶所作的模式選擇,協(xié)調(diào)(orchestrate)捕捉視頻和靜止圖像。系統(tǒng)控制器160配置視頻和靜止處理塊110,以提供靜止圖像數(shù)據(jù)或描繪一序列視頻圖像幀的視頻圖像數(shù)據(jù)。然后圖像存儲(chǔ)在設(shè)備100上和/或傳送到主機(jī)/PC,以便解壓縮(如果圖像曾經(jīng)被壓縮)、著色和/或顯示。
數(shù)字相機(jī)100包括接收和存儲(chǔ)靜止圖像數(shù)據(jù)的局部存儲(chǔ)設(shè)備122。存儲(chǔ)設(shè)備122可以包括閃速半導(dǎo)體存儲(chǔ)器和/或旋轉(zhuǎn)媒體設(shè)備。閃速存儲(chǔ)器是可拆卸的,例如Intel公司的微型卡式閃速存儲(chǔ)器。旋轉(zhuǎn)媒體也可以是可拆卸的或固定的,可以是磁盤或適于存儲(chǔ)圖像數(shù)據(jù)文件的其他類型。
圖像數(shù)據(jù)也可以通過主機(jī)/PC通信接口154在相機(jī)100的外部進(jìn)行傳送。通信接口154可以根據(jù)計(jì)算機(jī)外設(shè)總線標(biāo)準(zhǔn)配置成既將靜止圖像數(shù)據(jù)傳送給主機(jī)/PC,又將視頻圖像數(shù)據(jù)傳送給主機(jī)/PC??墒褂玫目偩€標(biāo)準(zhǔn)例如可以是RS-232串行接口、通用串行總線(USB)或者更高的電氣及電子工程協(xié)會(huì)(IEEE)性能標(biāo)準(zhǔn)1394-1995。
如上所述,相機(jī)100可配置成以多種模式進(jìn)行光學(xué)和電氣操作,包括視頻模式和靜止模式,視頻模式例如視頻會(huì)議期間,靜止模式例如類似于使用傳統(tǒng)便攜式相機(jī)進(jìn)行拍照時(shí)。從光學(xué)的觀點(diǎn)來看,為了降低生產(chǎn)該設(shè)備實(shí)施例的成本,固定焦距透鏡系統(tǒng)104,例如具有10mm有效焦距的透鏡系統(tǒng),是最好的且可用于兩種模式。在用于視頻會(huì)議及快速幀頻應(yīng)用以捕捉運(yùn)動(dòng)的視頻模式下可以選擇大約f/2的光圈108。該光圈設(shè)置的主焦點(diǎn)最好為物體102大約1米遠(yuǎn),背景的景深為2米。
在操作的靜止模式中,可以捕捉室內(nèi)和室外場(chǎng)景的可接受質(zhì)量的靜止圖像。對(duì)于室內(nèi)場(chǎng)景,亮度級(jí)可能會(huì)很低,以至需要通過頻閃觀測(cè)器或電子閃光燈112發(fā)出補(bǔ)充光。對(duì)于室內(nèi)場(chǎng)景,人們通常會(huì)選擇光圈108介于f/2至f/8之間。在這個(gè)光圈范圍內(nèi),主焦點(diǎn)為物體102大約2米遠(yuǎn),背景的景深為4米。對(duì)于具有環(huán)境光的室外場(chǎng)景,主焦點(diǎn)為物體102大約2-3米遠(yuǎn),背景的景深為無窮遠(yuǎn)。通常,對(duì)于室外場(chǎng)景,人們會(huì)選擇大約為f/8的光圈以完成聚焦。
通過如此配置視頻和靜止程序塊110,相機(jī)100還可以電子配置成雙模式操作,以提供靜止圖像數(shù)據(jù)或視頻圖像序列。在一個(gè)實(shí)施例中,塊110作為邏輯電路和/或被編程的程序數(shù)據(jù)處理器執(zhí)行數(shù)字信號(hào)和圖像處理功能以產(chǎn)生壓縮的圖像數(shù)據(jù),該壓縮的圖像數(shù)據(jù)具有從傳感器114接收的詳細(xì)、原始圖像數(shù)據(jù)的預(yù)定義分辨率和壓縮率。圖3所示的這種塊110是根據(jù)本發(fā)明實(shí)施例的數(shù)字相機(jī)(或其它圖像捕捉設(shè)備)圖像處理系統(tǒng)200的部分邏輯方框圖。
圖3所示為本發(fā)明實(shí)施例視頻和靜止操作模式的圖像數(shù)據(jù)所取路徑的數(shù)據(jù)流程圖。程序塊110包括一系列起始于校正塊210的成像功能。無論何時(shí),只要從傳感器114接收到的原始圖像數(shù)據(jù)的質(zhì)量在圖像被縮放和壓縮前都保證進(jìn)行某種預(yù)處理,就使用校正塊210。在某些情況下,校正塊210對(duì)從圖像傳感器接收到的原始圖像數(shù)據(jù)進(jìn)行像素置換、壓縮擴(kuò)展以及圖像校正。該原始圖像數(shù)據(jù)應(yīng)該是具有充分細(xì)節(jié)(例如最好是768×576或更高的空間分辨率)以產(chǎn)生可接受質(zhì)量的靜止圖像。
在塊210中可執(zhí)行像素置換以用有效數(shù)據(jù)替代無效像素?cái)?shù)據(jù),為隨后的成像功能提供更確定性的輸入。可以執(zhí)行壓縮以降低每個(gè)像素的分辨率(每個(gè)像素的位數(shù))。例如,原始圖像數(shù)據(jù)可以達(dá)到每個(gè)像素10位,而邏輯電路的最佳像素分辨率可能是8位(1個(gè)字節(jié))。也可以執(zhí)行傳統(tǒng)的圖像校正以使圖像的信息量符合主機(jī)的預(yù)期,最終在主機(jī)上顯示圖像。
在塊210中對(duì)每個(gè)所接收到的原始圖像幀執(zhí)行的其它功能包括降低固定圖形噪聲,這通常需要在壓縮圖像前進(jìn)行。再次,塊210是否執(zhí)行任何校正功能通常取決于從傳感器114接收到的原始圖像數(shù)據(jù)的質(zhì)量,在圖像準(zhǔn)備存儲(chǔ)或傳輸?shù)街鳈C(jī)前都將執(zhí)行隨后的某些圖像處理例如縮放或壓縮。
一旦原始圖像數(shù)據(jù)已被校正,或相反通過校正塊210處理成所希望的尺寸或格式,如果需要滿足如圖2所示的主機(jī)/PC通信接口154和局部存儲(chǔ)設(shè)備122的傳輸和存儲(chǔ)請(qǐng)求,可以縮放和壓縮所校正的數(shù)據(jù)。為滿足這些請(qǐng)求,處理塊110可以包括縮放和壓縮邏輯212,以在傳輸和/或存儲(chǔ)前執(zhí)行任何必需的圖像縮放和壓縮。
例如,可以配置縮放和壓縮邏輯212以減小圖像尺寸和分辨率以產(chǎn)生與更大和更多細(xì)節(jié)的靜止圖像相比更小的、更少細(xì)節(jié)的視頻圖像。需要更小及更少細(xì)節(jié)的圖像數(shù)據(jù)的目的是快速傳輸將在主機(jī)/PC上解壓縮和瀏覽的視頻圖像序列。然而,如果在相機(jī)100和主機(jī)/PC之間的傳輸鏈路具有足夠帶寬能夠按主機(jī)/PC所需的速率傳輸詳細(xì)的原始圖像數(shù)據(jù)序列,則可以簡(jiǎn)化甚至省略對(duì)靜止或視頻操作的縮放和壓縮邏輯212。
如圖3所示,壓縮邏輯212將實(shí)現(xiàn)許多數(shù)字圖像處理功能。根據(jù)從相機(jī)100中使用的光學(xué)接口所給出的系統(tǒng)200所期望的性能(壓縮圖像數(shù)字的著色速度)和圖像質(zhì)量,本領(lǐng)域的技術(shù)人員可對(duì)這些或其它類似功能如下面描述的進(jìn)行配置。在圖3所示的一個(gè)實(shí)施例中已經(jīng)用作為獨(dú)立邏輯電路部件執(zhí)行成像功能,下面對(duì)此進(jìn)行描述。
縮放邏輯214對(duì)校正的圖像數(shù)據(jù)執(zhí)行二維空間縮放,以產(chǎn)生更易于存儲(chǔ)或傳輸?shù)母D像。使用傳統(tǒng)的已知技術(shù)根據(jù)所選擇的縮放比率進(jìn)行縮放??s放率可以是整數(shù)或小數(shù)。縮放可以以2-維方式完成,例如,利用兩個(gè)單獨(dú)的1-維縮放過程。
僅通過選擇適當(dāng)?shù)目s放率,就可以在視頻捕捉和靜止圖像捕捉中使用縮放邏輯214。例如,所校正圖像的4∶1二次抽樣可以以視頻模式完成,以使所校正圖像數(shù)據(jù)的16個(gè)像素平均合并成縮小圖像數(shù)據(jù)中的1個(gè)像素?;跇?biāo)準(zhǔn)采樣原理并假設(shè)不相關(guān)的噪聲源,二次抽樣也可以改善系數(shù)為4的信號(hào)噪聲比。例如也可以使用2∶1的低縮放比,其中將四個(gè)像素平均,產(chǎn)生一個(gè)縮小圖像數(shù)據(jù)中的一個(gè)像素,導(dǎo)致兩者信號(hào)噪聲比(SNR)的改善。在視頻模式操作期間,通過以這種方式縮放更詳細(xì)的校正圖像數(shù)據(jù),由于在視頻操作中(例如在視頻會(huì)議期間)中通常遇到低亮度級(jí),因此系統(tǒng)200會(huì)補(bǔ)償所增大的噪聲。
在圖3一系列圖像功能塊中的下一個(gè)是解相關(guān)和編碼邏輯222。根據(jù)所選擇的多個(gè)解相關(guān)方法中的一種,從縮放邏輯214接收的縮小圖像數(shù)據(jù)被解相關(guān)以準(zhǔn)備熵編碼,熵編碼是一種圖像壓縮類型。再者,用戶可以選擇一種適于獲取通常更小尺寸視頻圖像的特殊解相關(guān)方法。
當(dāng)相鄰像素之間不同時(shí),解相關(guān)功能可能會(huì)產(chǎn)生錯(cuò)誤圖像數(shù)據(jù)??捎糜趫D像解相關(guān)的一種特殊方法是數(shù)字脈沖碼調(diào)制(DPCM)方法。為了進(jìn)一步壓縮圖像數(shù)據(jù),如果需要,例如,在傳輸大量視頻圖像幀時(shí),可以通過使用DPCM“量化”(將第一組數(shù)據(jù)映像成更小的一組值)錯(cuò)誤的形式來引入“損失”。
在一系列成像功能塊中的下一階段是塊222執(zhí)行的熵編碼,其使用可變長(zhǎng)度編碼技術(shù)來壓縮被解相關(guān)的圖像數(shù)據(jù)。例如,普遍使用的已知熵編碼方法是赫夫曼編碼。熵編碼包括用位串來代替被解相關(guān)的圖像數(shù)據(jù)中的符號(hào),在這種方法中用具有不同可變長(zhǎng)度的二進(jìn)制串表示不同的符號(hào),最普遍出現(xiàn)的符號(hào)用最短的二進(jìn)制串表示。因此,熵編碼邏輯222提供壓縮的圖像數(shù)據(jù),如圖3示例中所示,其中縮小的8位數(shù)據(jù)被編碼成具有3-16位可變長(zhǎng)度的數(shù)據(jù)。
再者,用來獲得視頻和靜止圖像的編碼方法可以是不同的,并可根據(jù)操作模式進(jìn)行選擇。例如,與視頻圖像數(shù)據(jù)相比,編碼靜止圖像數(shù)據(jù)可以使用更大一組符號(hào)(具有可變二進(jìn)制串長(zhǎng)度)。這是因?yàn)橹鳈C(jī)/PC分配給解壓縮靜止圖像的時(shí)間比分配給解壓縮視頻圖像的時(shí)間多。相反,對(duì)于編碼視頻圖像,應(yīng)當(dāng)使用具有統(tǒng)一二進(jìn)制串長(zhǎng)度的更有限的一組符號(hào)更快速地解壓縮視頻圖像幀序列。此外,具有統(tǒng)一二進(jìn)制串長(zhǎng)度允許使用定額帶寬來傳輸特別適于諸如USB這樣的主機(jī)/PC接口的圖像數(shù)據(jù)。
圖像處理系統(tǒng)200包括簡(jiǎn)化上述雙模式操作的附加邏輯。特別地,塊210和212中的邏輯電路使用可編程查找表(LUT)和隨機(jī)存取存儲(chǔ)器(RAM)以靈活完成其各自的圖像功能。按照所選特殊操作模式的方法所指定的,每個(gè)LUT和RAM為其各自的圖像功能邏輯提供信息。例如,縮放邏輯214使用RAM存儲(chǔ)區(qū)來存儲(chǔ)中間縮放計(jì)算結(jié)果。而且,用于解相關(guān)和編碼邏輯的LUT234也可以加載現(xiàn)有技術(shù)中已知的完成解相關(guān)和編碼所需的不同規(guī)則和數(shù)據(jù),這取決于所需的是靜止圖像還是視頻圖像。在特殊實(shí)施例中,LUT234使用兩個(gè)查找表(LUT),一個(gè)用于列表字符(所謂的“代碼薄”),另一個(gè)用于列表串長(zhǎng)度。
可以使用不同的技術(shù)來確定將裝入RAM和LUT中的正常值。例如,可以通過相機(jī)控制部件160完成圖像測(cè)量,以確定影響解相關(guān)和熵編碼的照明和其它因素。如上所述,傳輸和存儲(chǔ)限制可以規(guī)定更大的壓縮,特別是在產(chǎn)生大量圖像幀的視頻操作期間,以使用于解相關(guān)和熵編碼的LUT會(huì)包括用于圖像數(shù)據(jù)壓縮的更小的代碼薄。
盡管上述不同的LUT和RAM可以作為單個(gè)物理RAM部件的一部分來執(zhí)行,或者也可以以不同的組合結(jié)合成一個(gè)或多個(gè)RAM部件,但每個(gè)LUT和RAM最好以物理上獨(dú)立的部件執(zhí)行,以獲得成像功能的快速性能。
圖像數(shù)據(jù)根據(jù)壓縮邏輯212所希望的模式被壓縮后,接著可變長(zhǎng)度數(shù)據(jù)通過將數(shù)據(jù)打包成恒定長(zhǎng)度傳遞到數(shù)據(jù)打包部件226,因此,越易處理,數(shù)據(jù)段在計(jì)算機(jī)總線上的存儲(chǔ)和傳輸就越有效。再者,如果來自傳感器114的圖像數(shù)據(jù)是充分可接受的,而且由于傳感器圖像數(shù)據(jù)具有恒定長(zhǎng)度且易于在具有最少處理的設(shè)備100外存儲(chǔ)或傳輸,對(duì)這些數(shù)據(jù)沒有更多傳輸和存儲(chǔ)的限制,則數(shù)據(jù)打包部件就變成多余的。
在數(shù)據(jù)打包部件226中,所接收到的不同長(zhǎng)度的數(shù)據(jù)塊被打包成具有預(yù)先確定的一恒定長(zhǎng)度的數(shù)據(jù)塊。例如,在圖3的系統(tǒng)200中,數(shù)據(jù)打包部件將可變長(zhǎng)度壓縮圖像數(shù)據(jù)打包成16位數(shù)據(jù)塊。然后將16位數(shù)據(jù)塊發(fā)送到諸如直接存儲(chǔ)器存取(DMA)控制器這樣的數(shù)據(jù)流控制器238,接著直接存儲(chǔ)器存取控制器在訪問總線242前將地址信息加入到每個(gè)數(shù)據(jù)塊中,以使16位塊在總線上發(fā)送。存儲(chǔ)器控制器246接受總線242上的16位塊并將其暫時(shí)存儲(chǔ)在相機(jī)100上的存儲(chǔ)器中,例如動(dòng)態(tài)RAM(動(dòng)態(tài)隨機(jī)存儲(chǔ)器)(未示出)中。
靜止圖像數(shù)據(jù)被打包后,通過與總線242相連接的局部存儲(chǔ)接口250從總線242上傳送到局部存儲(chǔ)器122(見圖2)。例如,局部存儲(chǔ)設(shè)備122可以是將圖像數(shù)據(jù)作為“文件”接收的可拆卸的閃速存儲(chǔ)器卡,“文件”包括壓縮表、文件頭、時(shí)間和日期標(biāo)記,以及附著于圖像數(shù)據(jù)的測(cè)量信息。然后該卡可從相機(jī)100中取出,并插入PC12中以傳送靜止圖像數(shù)據(jù)用于解壓縮、瀏覽和/或在PC中進(jìn)一步處理。
或者,也可以使用可拆卸存儲(chǔ)設(shè)備,可使用主機(jī)/PC通信控制器154將靜止和視頻圖像傳送到相機(jī)100外。這可以通過使用應(yīng)用于通信接口154中的特殊總線標(biāo)準(zhǔn)將靜止圖像數(shù)據(jù)準(zhǔn)備為適于傳輸?shù)拇疟P文件來實(shí)現(xiàn),傳送至主機(jī)12中存儲(chǔ)并由主處理機(jī)(未示出)存取。視頻圖像數(shù)據(jù)可根據(jù)已知技術(shù)通過諸如USB這樣的控制器接口流入主機(jī)。
在圖3所示的基于總線結(jié)構(gòu)的內(nèi)容中已對(duì)相機(jī)100的雙模式操作和處理系統(tǒng)200進(jìn)行了描述。為了更便于對(duì)這種結(jié)構(gòu)中不同操作模式進(jìn)行軟件控制,可將多個(gè)存儲(chǔ)器的控制寄存器(未示出)連接到總線242上,以允許系統(tǒng)控制器160以所希望的操作模式配置相機(jī)100和系統(tǒng)200。提供給系統(tǒng)控制器執(zhí)行的指令通過總線242訪問LUT、RAM和控制寄存器,以對(duì)所選操作模式的正確圖像處理方法所需要的參數(shù)進(jìn)行編程。例如,在制造過程中,可以將用于所有操作模式的縮放、解相關(guān)和熵編碼方法的不同規(guī)則和參數(shù)作為控制器指令存儲(chǔ)在相機(jī)100上,其中每個(gè)操作模式被分配不同組的方法。適當(dāng)?shù)囊唤M可裝入響應(yīng)用戶通過局部用戶接口158或主機(jī)/PC通信接口154所選模式的視頻和靜止塊110中,盡管視頻和靜止塊110的一個(gè)實(shí)施例是邏輯電路,但圖像處理系統(tǒng)200也可以配備有執(zhí)行指令的被編程的高性能處理器以完成塊110的數(shù)字成像功能。圖4中示出了由這種處理器執(zhí)行的示范性步驟,根據(jù)對(duì)圖3中視頻和靜止處理塊110實(shí)施例中的校正塊210和壓縮邏輯212的以上描述中可以很容易理解。圖4中的步驟順序可由系統(tǒng)控制器160執(zhí)行,或由與總線242相連接的獨(dú)立的、專用處理器(未示出)執(zhí)行。
為了概要描述相機(jī),上述實(shí)施例可用在諸如以靜止模式(在便攜或連接時(shí)捕捉靜止圖像)和視頻模式(數(shù)字相機(jī)通過計(jì)算機(jī)外設(shè)總線接口與主機(jī)或其它圖像瀏覽系統(tǒng)相連)操作的數(shù)字相機(jī)的設(shè)備中。相機(jī)具有圖像傳感器及視頻和靜止處理決110,其配置成在室內(nèi)和室外場(chǎng)景中都能以靜止模式捕捉細(xì)節(jié)圖像。在視頻模式中,相機(jī)可以配置成適于使用相同處理塊110來壓縮細(xì)節(jié)圖像序列(如果需要傳輸和存儲(chǔ)),以捕捉視頻序列,該視頻序列可通過諸如USB這樣的計(jì)算機(jī)外圍總線接口傳輸至主機(jī)進(jìn)行瀏覽。
當(dāng)然,上述數(shù)字相機(jī)的實(shí)施例要服從結(jié)構(gòu)和工具上的某些變化。例如,盡管在處理塊110中的圖像數(shù)據(jù)路徑被示作初始為8位寬并在被壓縮時(shí)上升為16位,但本領(lǐng)域的技術(shù)人員可以考慮使用其它數(shù)據(jù)路徑寬度來實(shí)現(xiàn)本發(fā)明。系統(tǒng)控制器160也可以與數(shù)據(jù)流控制器238組合成一個(gè)物理的、集成電路元件,例如微控制器。
圖5是與數(shù)字相機(jī)相互配合的基于主機(jī)系統(tǒng)部分的方框圖。數(shù)字相機(jī)10通過總線接口14與計(jì)算機(jī)系統(tǒng)12相連接。在一個(gè)實(shí)施例中,該接口為USB接口。在應(yīng)用空間中,由計(jì)算機(jī)執(zhí)行用于瀏覽靜止圖像和/或全速運(yùn)動(dòng)視頻300的應(yīng)用程序。該應(yīng)用程序用于圖像顯示和操縱、視頻會(huì)議以及與所捕捉的圖像和視頻流有關(guān)的其它功能。應(yīng)用程序300與相機(jī)設(shè)備驅(qū)動(dòng)器軟件302接口以與數(shù)字相機(jī)10通信。在操作系統(tǒng)空間中,由計(jì)算機(jī)系統(tǒng)執(zhí)行相機(jī)設(shè)備驅(qū)動(dòng)器軟件。應(yīng)用程序和相機(jī)設(shè)備驅(qū)動(dòng)器軟件之間的接口如圖5中的線304、306和308所示。接口304表示在兩部分之間通過的命令和狀態(tài)信息,接口306表示靜止圖像和成批數(shù)據(jù)(例如相機(jī)初始查找表(LUT))的傳送,接口308表示視頻圖像的傳送。
相機(jī)設(shè)備驅(qū)動(dòng)器軟件302在運(yùn)行在PC上的應(yīng)用程序和數(shù)字相機(jī)之間提供接口。該驅(qū)動(dòng)程序通過與稱為USB驅(qū)動(dòng)程序(USBD)310的總線接口驅(qū)動(dòng)程序相互作用來調(diào)整與USB電纜14的通信。USBD是用于調(diào)整計(jì)算機(jī)系統(tǒng)的所有USB設(shè)備驅(qū)動(dòng)程序包的低級(jí)程序。USBD接收來自相機(jī)設(shè)備驅(qū)動(dòng)器的命令包,并將其轉(zhuǎn)換成通過USB插孔312送出的電信號(hào)。USB插孔312與低電平控制器314的輸入/輸出端相連,低電平控制器314與USB電纜14相連。在一個(gè)實(shí)施例中,低電平控制器為Intel公司的PⅡX控制器。
當(dāng)如圖5所示數(shù)字相機(jī)與計(jì)算機(jī)相連接時(shí),相機(jī)捕捉的圖像存儲(chǔ)在內(nèi)部RAM內(nèi),一直到相機(jī)接收到請(qǐng)求將所捕捉的圖像傳送到計(jì)算機(jī)。在接口304上通信的與靜止圖像的捕捉和傳輸有關(guān)的有三個(gè)命令。第一個(gè)命令是捕捉圖像命令。靜止和/或視頻瀏覽應(yīng)用程序300將該命令發(fā)送到數(shù)字相機(jī),指示相機(jī)打開其傳感器,使圖像曝光并將曝光的圖像復(fù)制到相機(jī)內(nèi)的內(nèi)部RAM中。第二個(gè)命令是請(qǐng)求圖像長(zhǎng)度命令。靜止和/或視頻瀏覽應(yīng)用程序300將該命令發(fā)送到數(shù)字相機(jī),以獲得所捕捉的靜止圖像的位長(zhǎng)。然后應(yīng)用程序分配主機(jī)上的部分存儲(chǔ)器來保存靜止圖像。第三個(gè)命令是請(qǐng)求發(fā)送圖像命令。靜止和/或視頻瀏覽應(yīng)用程序?qū)⒃撁畎l(fā)送到數(shù)字相機(jī),以使其將所捕捉的圖像傳送或上載到計(jì)算機(jī)系統(tǒng)。這個(gè)命令包括圖像長(zhǎng)度,圖像長(zhǎng)度是根據(jù)響應(yīng)請(qǐng)求圖像大小命令所接收的位數(shù)。當(dāng)操作模式為視頻模式時(shí),所捕捉的圖像通過接口308傳送回靜止和/或視頻瀏覽應(yīng)用程序。當(dāng)操作模式為靜止模式時(shí),所捕捉的圖像通過接口306傳送回靜止和/或視頻瀏覽應(yīng)用程序。
在現(xiàn)有技術(shù)系統(tǒng)中,當(dāng)命令被發(fā)送到相機(jī)以初始化圖像捕捉時(shí),相機(jī)捕捉圖像并將其存儲(chǔ)在相機(jī)的內(nèi)部RAM中。在隨后的時(shí)間里,應(yīng)用程序請(qǐng)求將捕捉到的圖像從相機(jī)上載到PC中。在靜止模式中,這種方法一直持續(xù)到內(nèi)部RAM中的圖像被重寫。然而,在視頻流操作期間,由于在相機(jī)的內(nèi)部RAM中僅有存儲(chǔ)單個(gè)圖像的空間,因此捕捉到的靜止圖像幾乎立即被相機(jī)捕捉的下一個(gè)視頻幀重寫。本發(fā)明的一個(gè)實(shí)施例以下面的方法克服了這個(gè)問題。當(dāng)相機(jī)設(shè)備驅(qū)動(dòng)器302檢測(cè)來自靜止和/或視頻瀏覽應(yīng)用程序300的捕捉圖像命令時(shí),相機(jī)設(shè)備驅(qū)動(dòng)器將整個(gè)圖像捕捉和圖像恢復(fù)命令序列作為自動(dòng)操作來執(zhí)行,由此使捕捉到的圖像在被由相機(jī)產(chǎn)生的視頻流序列中的下一個(gè)視頻幀重寫之前存儲(chǔ)在主機(jī)系統(tǒng)中。該自動(dòng)操作不能被與視頻流處理有關(guān)的事件打斷,因而確保捕捉到的圖像回保留在主機(jī)中。無論何時(shí)只要相機(jī)與主機(jī)相連接就執(zhí)行該處理,并有效完成真正的雙模式處理工作。那么用戶就可以在諸如視頻會(huì)議這樣的視頻流處理期間拍攝靜止圖像。
然而靜止圖像以捕捉圖像/請(qǐng)求圖像長(zhǎng)度/請(qǐng)求發(fā)送圖像命令的序列被傳送,而通過非常不同的命令序列發(fā)送流視頻圖像。首先,相機(jī)設(shè)備驅(qū)動(dòng)器將命令發(fā)送給數(shù)字相機(jī),以根據(jù)每個(gè)視頻傳送請(qǐng)求設(shè)置將要傳送的視頻數(shù)據(jù)量。通常相機(jī)發(fā)送到計(jì)算機(jī)系統(tǒng)的每個(gè)視頻數(shù)據(jù)包所選擇的數(shù)量是介于68和768之間的數(shù)據(jù)。在一個(gè)實(shí)施例中,圖像為320個(gè)像素寬、240個(gè)像素高,一個(gè)視頻幀具有76,800位。因此,需要一百個(gè)768位的視頻數(shù)據(jù)包來組成一個(gè)完整的視頻幀。如果包長(zhǎng)度是768位,則相機(jī)設(shè)備驅(qū)動(dòng)器將獲取更多的視頻數(shù)據(jù)的命令發(fā)送一百次,以得到一個(gè)視頻幀。相機(jī)設(shè)備驅(qū)動(dòng)器將啟動(dòng)流視頻數(shù)據(jù)命令發(fā)送到相機(jī)。然后相機(jī)設(shè)備驅(qū)動(dòng)器進(jìn)入循環(huán),并執(zhí)行將獲取更多的視頻數(shù)據(jù)的命令發(fā)送到相機(jī)的操作,并將視頻數(shù)據(jù)包附加給主機(jī)上的視頻幀緩沖器,獲取視頻數(shù)據(jù)直至接收到完整視頻幀,執(zhí)行視頻解壓縮和增益視頻幀,并將處理后的視頻幀發(fā)送到應(yīng)用程序。在視頻模式中,僅發(fā)送一個(gè)捕捉命令(啟動(dòng)流命令),僅發(fā)送一個(gè)長(zhǎng)度的命令(設(shè)置單個(gè)視頻數(shù)據(jù)包長(zhǎng)度的命令),每個(gè)視頻數(shù)據(jù)幀需要很多獲取數(shù)據(jù)請(qǐng)求。僅在啟動(dòng)視頻模式時(shí)才發(fā)送一組視頻數(shù)據(jù)包長(zhǎng)度命令和啟動(dòng)流命令。在它們被發(fā)送后,只要相機(jī)設(shè)備驅(qū)動(dòng)器繼續(xù)發(fā)送獲取更多視頻數(shù)據(jù)命令,視頻數(shù)據(jù)就持續(xù)從相機(jī)流出。
圖6是本發(fā)明實(shí)施例的相機(jī)設(shè)備驅(qū)動(dòng)器的方框圖。相機(jī)設(shè)備驅(qū)動(dòng)器接收命令并將狀態(tài)和數(shù)據(jù)返回給應(yīng)用程序,還與USBD310相配合實(shí)現(xiàn)與數(shù)字相機(jī)的通信。處理狀態(tài)和狀態(tài)命令函數(shù)400接受來自應(yīng)用程序的命令,請(qǐng)求數(shù)字相機(jī)執(zhí)行該功能并將所請(qǐng)求的狀態(tài)返回到應(yīng)用程序。處理狀態(tài)和狀態(tài)命令函數(shù)400詢問通道狀態(tài)存儲(chǔ)器402相機(jī)設(shè)備驅(qū)動(dòng)器的當(dāng)前狀態(tài)和數(shù)字相機(jī)操作。
如果所接收的命令在相機(jī)初始化期間涉及靜止圖像捕捉和恢復(fù)或成批數(shù)據(jù)的下載,則處理狀態(tài)和狀態(tài)命令函數(shù)400指示處理靜止和成批命令函數(shù)404處理該命令。如果所接收的命令涉及視頻流,則處理狀態(tài)和狀態(tài)命令函數(shù)400指示處理流命令函數(shù)406處理該命令。在另一個(gè)例子中,合適的函數(shù)404或406將命令通過USBD發(fā)送至相機(jī)。作為響應(yīng),相機(jī)通過USB將圖像數(shù)據(jù)發(fā)送到相機(jī)設(shè)備驅(qū)動(dòng)器。當(dāng)出現(xiàn)數(shù)據(jù)成批傳送時(shí)(例如,一旦相機(jī)初始化,就下載顏色查找表(LUT)或其它數(shù)據(jù)),數(shù)據(jù)在傳送到相機(jī)前暫時(shí)存儲(chǔ)在靜止和成批傳送存儲(chǔ)器408中。當(dāng)靜止圖像從相機(jī)中恢復(fù)時(shí),圖像數(shù)據(jù)在傳送到應(yīng)用程序之前存儲(chǔ)在靜止和成批傳送存儲(chǔ)器408中。當(dāng)一組視頻幀中的一個(gè)從相機(jī)中恢復(fù)時(shí),組成視頻幀的圖像數(shù)據(jù)在傳送到應(yīng)用程序之前存儲(chǔ)在流存儲(chǔ)器410中。需要注意的是,靜止圖像數(shù)據(jù)和視頻數(shù)據(jù)是存儲(chǔ)在主機(jī)上的相機(jī)設(shè)備驅(qū)動(dòng)器中的單獨(dú)的存儲(chǔ)單元中。也要注意影響靜止和視頻流的并行控制路徑是由處理靜止和成批命令函數(shù)404和處理流命令406執(zhí)行的。
對(duì)于靜止圖像處理,應(yīng)用程序?qū)⒉蹲綀D像命令發(fā)送到處理狀態(tài)和狀態(tài)命令函數(shù)400。該函數(shù)指示處理靜止和成批命令函數(shù)404將命令發(fā)送到相機(jī)并鎖定將要執(zhí)行的未來視頻流命令,直至完成靜止圖像處理。當(dāng)相機(jī)返回靜止圖像數(shù)據(jù)時(shí),通過USBD310將其載入靜止和成批傳送存儲(chǔ)器408中。一旦收到來自應(yīng)用程序的請(qǐng)求,處理靜止和成批命令函數(shù)404就指示將數(shù)據(jù)傳送到應(yīng)用程序空間并將狀態(tài)返回到處理狀態(tài)和狀態(tài)命令函數(shù)400,處理狀態(tài)和狀態(tài)命令函數(shù)400再將相同的狀態(tài)返回到應(yīng)用程序。
對(duì)于視頻流處理,應(yīng)用程序?qū)⒁曨l流命令發(fā)送到處理狀態(tài)和狀態(tài)命令函數(shù)400。該函數(shù)指示處理流命令函數(shù)406將這些命令發(fā)送至相機(jī)中。當(dāng)從相機(jī)中接收視頻幀時(shí),通過USBD310將其載入流存儲(chǔ)器410。然后處理流命令函數(shù)406指示將視頻幀數(shù)據(jù)傳送到應(yīng)用程序空間以顯示給用戶并將狀態(tài)返回到處理狀態(tài)和狀態(tài)命令函數(shù)400,處理狀態(tài)和狀態(tài)命令函數(shù)400可以將狀態(tài)返回到應(yīng)用程序,也可以不將狀態(tài)返回到應(yīng)用程序。
圖7A和7B是根據(jù)本發(fā)明實(shí)施例用數(shù)字相機(jī)捕捉和恢復(fù)靜止圖像的步驟的流程圖。當(dāng)相機(jī)以靜止和視頻流兩種操作模式與計(jì)算機(jī)系統(tǒng)相連接時(shí),執(zhí)行這些步驟。捕捉到的靜止圖像可以從閃速存儲(chǔ)器卡或相機(jī)的內(nèi)部RAM中拷貝。啟動(dòng)步驟500后,在步驟502上,應(yīng)用程序?qū)⒉蹲綀D像命令發(fā)送到相機(jī)設(shè)備驅(qū)動(dòng)器上,指示驅(qū)動(dòng)程序使相機(jī)拍攝圖片。驅(qū)動(dòng)程序檢查該命令并確認(rèn)其是捕捉圖像請(qǐng)求。然后在步驟504上,相機(jī)設(shè)備驅(qū)動(dòng)器啟動(dòng)全部命令序列來徹底捕捉和恢復(fù)圖像。首先,相機(jī)設(shè)備驅(qū)動(dòng)器確認(rèn)機(jī)相是否處于視頻流操作模式。當(dāng)相機(jī)處于視頻流操作模式時(shí),其繼續(xù)捕捉圖像并將捕捉到的圖像有效上載到計(jì)算機(jī)中。在步驟506上,如果相機(jī)現(xiàn)在正在流動(dòng),則相機(jī)設(shè)備驅(qū)動(dòng)器記錄當(dāng)前流狀態(tài)并將終止流命令發(fā)送到相機(jī)中。
在步驟508上,一旦保存當(dāng)前狀態(tài),則相機(jī)設(shè)備驅(qū)動(dòng)器將捕捉圖像命令從USB發(fā)送到相機(jī)中。在步驟510上相機(jī)設(shè)備驅(qū)動(dòng)器等待的捕捉圖像命令的成功完成。如果命令失敗,則驅(qū)動(dòng)程序?qū)㈠e(cuò)誤返回給應(yīng)用程序。如果命令成功,則圖像被相機(jī)捕捉并存儲(chǔ)在相機(jī)的內(nèi)部RAM中。接著在步驟512上,相機(jī)設(shè)備驅(qū)動(dòng)器將報(bào)告圖像長(zhǎng)度命令發(fā)送到相機(jī)中。該命令請(qǐng)求得到捕捉到的圖像的位長(zhǎng)。在步驟514上,相機(jī)設(shè)備驅(qū)動(dòng)器等待報(bào)告圖像長(zhǎng)度命令的成功完成。如果報(bào)告錯(cuò)誤,則相機(jī)設(shè)備驅(qū)動(dòng)器將錯(cuò)誤返回到應(yīng)用程序。否則,在通過連接器7B的圖7B上繼續(xù)進(jìn)行處理。
一旦相機(jī)設(shè)備驅(qū)動(dòng)器知道圖像的長(zhǎng)度,其必須準(zhǔn)備USBD層以恢復(fù)規(guī)定長(zhǎng)度的成批傳送。在圖7B的步驟516上,相機(jī)設(shè)備驅(qū)動(dòng)器將接收成批傳送命令發(fā)送到USBD以接收響應(yīng)報(bào)告圖像長(zhǎng)度命令返回的圖像數(shù)據(jù)的位數(shù)。接收到的數(shù)據(jù)將存儲(chǔ)在驅(qū)動(dòng)器的靜止和成批傳送存儲(chǔ)區(qū)中。該命令的結(jié)果是,USBD準(zhǔn)備并等待接收任何相機(jī)通過USB發(fā)送的成批數(shù)據(jù)。然而,在相機(jī)從驅(qū)動(dòng)程序中收到上載捕捉到的圖像命令前,還不能開始發(fā)送數(shù)據(jù)。在步驟518上,相機(jī)設(shè)備驅(qū)動(dòng)器將上載捕捉到的圖像命令發(fā)送到相機(jī)。相機(jī)設(shè)備驅(qū)動(dòng)器等待步驟520上的命令的成功完成。如果命令失敗,則取消預(yù)先發(fā)送到USBD層的接收成批傳送命令,并將錯(cuò)誤狀態(tài)返回到應(yīng)用程序。如果命令成功完成,這僅意味著相機(jī)已接收到驅(qū)動(dòng)程序的請(qǐng)求以上載所捕捉的圖像。它不意味著已完成上載。上載捕捉到的圖像命令啟動(dòng)捕獲圖像的傳送。在步驟522上,USBD通過USB將從相機(jī)接收到的圖像數(shù)據(jù)存在主機(jī)系統(tǒng)上的標(biāo)志保護(hù)的靜止和成批傳送存儲(chǔ)器上。在步驟524上,相機(jī)設(shè)備驅(qū)動(dòng)器等待將被完全發(fā)送的捕捉到的圖像以及上載捕捉到的圖像命令的成功完成。如果產(chǎn)生錯(cuò)誤,則將錯(cuò)誤狀態(tài)返回到應(yīng)用程序。
在完成捕捉圖像命令前,在步驟526上,相機(jī)設(shè)備驅(qū)動(dòng)器檢查以前記錄的相機(jī)狀態(tài)。如果步驟528中相機(jī)以前是流狀態(tài),則相機(jī)設(shè)備驅(qū)動(dòng)器將啟動(dòng)流命令發(fā)送到相機(jī)以恢復(fù)視頻流操作。當(dāng)沒有錯(cuò)誤地完成傳送時(shí),將成功狀態(tài)在530返回到應(yīng)用程序并在終止步驟532上終止處理。這將完成對(duì)捕捉圖像命令的處理?,F(xiàn)在相機(jī)可以恢復(fù)其視頻流?,F(xiàn)在圖像可從主機(jī)系統(tǒng)上的標(biāo)志保護(hù)的靜止和成批傳送存儲(chǔ)器中得到,以供應(yīng)用程序使用。應(yīng)用程序現(xiàn)在必須請(qǐng)求將捕捉到的圖像拷貝到應(yīng)用程序存儲(chǔ)空間中。這通常通過請(qǐng)求捕捉到的圖像的長(zhǎng)度、分配存儲(chǔ)器來保存圖像然后請(qǐng)求拷貝圖像來實(shí)現(xiàn)。需要注意的是,由于圖像已經(jīng)從相機(jī)上載到計(jì)算機(jī)系統(tǒng)中,當(dāng)相機(jī)設(shè)備驅(qū)動(dòng)器接收到來自應(yīng)用程序的捕捉到的圖像命令的獲取長(zhǎng)度時(shí),不需要給相機(jī)發(fā)送任何命令。僅需返回相機(jī)以前報(bào)告的長(zhǎng)度。類似地,當(dāng)相機(jī)設(shè)備驅(qū)動(dòng)器接收來自應(yīng)用程序的上載圖像命令時(shí),不需要給相機(jī)發(fā)送任何命令。它僅僅從相機(jī)設(shè)備驅(qū)動(dòng)器空間內(nèi)的靜止和成批傳送存儲(chǔ)器中拷貝圖像,所述圖象已經(jīng)預(yù)先存儲(chǔ)到應(yīng)用程序的存儲(chǔ)空間中。
雖然已經(jīng)結(jié)合優(yōu)選實(shí)施例對(duì)本發(fā)明進(jìn)行了描述,但是,應(yīng)當(dāng)知道,本領(lǐng)域的技術(shù)人員可以在不背離本發(fā)明的精神的條件下進(jìn)行修改和變型,本發(fā)明的范圍由權(quán)利要求書限定。本文和附圖所述內(nèi)容是解釋性的而非限制性的。
權(quán)利要求
1.在與計(jì)算機(jī)系統(tǒng)相連接的數(shù)字相機(jī)的視頻流操作期間捕捉靜止圖像的方法,包括中止視頻流操作;通過相機(jī)捕捉靜止圖像;將靜止圖像從數(shù)字相機(jī)傳送到計(jì)算機(jī)系統(tǒng);以及恢復(fù)視頻流操作。
2.根據(jù)權(quán)利要求1所述的方法,其中,中止視頻流操作包括保存視頻流操作的當(dāng)前狀態(tài)并將終止流命令從計(jì)算機(jī)系統(tǒng)發(fā)送到數(shù)字相機(jī)。
3.根據(jù)權(quán)利要求2所述的方法,其中,恢復(fù)視頻流操作包括檢查所保存的視頻流操作的當(dāng)前狀態(tài)并在所保存的當(dāng)前狀態(tài)指示視頻流時(shí)將啟動(dòng)流命令從計(jì)算機(jī)系統(tǒng)發(fā)送到數(shù)字相機(jī)。
4.根據(jù)權(quán)利要求1所述的方法,其中,通過數(shù)字相機(jī)捕捉靜止圖像還包括將捕捉圖像命令從計(jì)算機(jī)系統(tǒng)發(fā)送到數(shù)字相機(jī)。
5.根據(jù)權(quán)利要求1所述的方法,其中,傳送靜止圖像包括獲得所捕捉的靜止圖像的長(zhǎng)度;根據(jù)捕捉到的靜止圖像的長(zhǎng)度請(qǐng)求傳送所捕捉的靜止圖像;從數(shù)字相機(jī)接收所捕捉的靜止圖像;及將所捕捉的靜止圖像存儲(chǔ)在計(jì)算機(jī)系統(tǒng)的存儲(chǔ)器中。
6.根據(jù)權(quán)利要求5所述的方法,其中,計(jì)算機(jī)系統(tǒng)包括相機(jī)設(shè)備驅(qū)動(dòng)器和總線接口驅(qū)動(dòng)程序,請(qǐng)求傳送所捕捉的靜止圖像包括將成批傳送命令從相機(jī)設(shè)備驅(qū)動(dòng)器發(fā)送到總線接口驅(qū)動(dòng)程序以接收來自相機(jī)的數(shù)據(jù)和將上載所捕捉的圖像的命令發(fā)送到數(shù)字相機(jī)以啟動(dòng)所捕捉圖像的發(fā)送。
7.根據(jù)權(quán)利要求6所述的方法,其中,總線接口驅(qū)動(dòng)程序是通用串行總線驅(qū)動(dòng)程序且計(jì)算機(jī)系統(tǒng)通過通用串行總線與數(shù)字相機(jī)相連。
8.在與計(jì)算機(jī)系統(tǒng)相連的數(shù)字相機(jī)的視頻流操作期間捕捉靜止圖像的系統(tǒng)中,一種在其中存儲(chǔ)了多個(gè)機(jī)器可讀指令的機(jī)器可讀媒體,這些機(jī)器可讀指令可由計(jì)算機(jī)系統(tǒng)的處理器執(zhí)行,所述機(jī)器可讀指令包括使視頻流操作中斷的指令、請(qǐng)求由數(shù)字相機(jī)捕捉靜止圖像指令、將靜止圖像從數(shù)字相機(jī)傳送到計(jì)算機(jī)系統(tǒng)指令以及使視頻流操作恢復(fù)指令。
9.根據(jù)權(quán)利要求8所述的機(jī)器可讀媒體,其中,中止視頻流操作機(jī)器可讀指令包括保存視頻流操作當(dāng)前狀態(tài)指令和將終止流命令從計(jì)算機(jī)系統(tǒng)發(fā)送到數(shù)字相機(jī)指令。
10.根據(jù)權(quán)利要求9所述的機(jī)器可讀媒體,其中,恢復(fù)視頻流操作指令包括檢查所保存的視頻流操作的當(dāng)前狀態(tài)指令和當(dāng)所保存的當(dāng)前狀態(tài)指示視頻流時(shí)將啟動(dòng)流命令從計(jì)算機(jī)系統(tǒng)發(fā)送到數(shù)字相機(jī)指令
11.根據(jù)權(quán)利要求8所述的機(jī)器可讀媒體,其中,由數(shù)字相機(jī)捕捉靜止圖像的機(jī)器可讀指令還包括將捕捉圖像命令從計(jì)算機(jī)系統(tǒng)發(fā)送到數(shù)字相機(jī)指令。
12.根據(jù)權(quán)利要求8所述的機(jī)器可讀媒體,其中,傳送靜止圖像的機(jī)器可讀指令包括獲得所捕捉的靜止圖像長(zhǎng)度指令、根據(jù)所捕捉的靜止圖像長(zhǎng)度請(qǐng)求傳送所捕捉靜止圖像指令、從數(shù)字相機(jī)接收所捕捉靜止圖像指令以及將捕捉到的靜止圖像存儲(chǔ)在計(jì)算機(jī)系統(tǒng)的存儲(chǔ)器中。
13.根據(jù)權(quán)利要求12所述的機(jī)器可讀媒體,其中,計(jì)算機(jī)系統(tǒng)包括相機(jī)設(shè)備驅(qū)動(dòng)器和總線接口驅(qū)動(dòng)程序,請(qǐng)求傳送捕捉到的靜止圖像的機(jī)器可讀指令包括將成批傳送命令從相機(jī)設(shè)備驅(qū)動(dòng)器發(fā)送到總線接口驅(qū)動(dòng)程序以接收來自數(shù)字相機(jī)數(shù)據(jù)的指令,并將上載捕捉到的圖像的命令發(fā)送到數(shù)字相機(jī)以啟動(dòng)所捕捉圖像的發(fā)送的指令。
14.根據(jù)權(quán)利要求13所述的機(jī)器可讀媒體,其中,機(jī)器可讀指令包括總線接口驅(qū)動(dòng)程序,總線接口驅(qū)動(dòng)程序包括作為通用串行總線驅(qū)動(dòng)程序操作的指令。
15.在具有通過總線與計(jì)算機(jī)系統(tǒng)相連的數(shù)字相機(jī)的系統(tǒng)中,用于在數(shù)字相機(jī)的視頻流操作期間指示靜止圖像的捕捉和恢復(fù)的設(shè)備,包括在計(jì)算機(jī)系統(tǒng)上執(zhí)行的相機(jī)設(shè)備驅(qū)動(dòng)器,所述相機(jī)設(shè)備驅(qū)動(dòng)器中止視頻流操作,請(qǐng)求由數(shù)字相機(jī)捕捉靜止圖像,請(qǐng)求將捕捉到的靜止圖像從數(shù)字相機(jī)傳送到計(jì)算機(jī)系統(tǒng),以及恢復(fù)視頻流操作;及與相機(jī)設(shè)備驅(qū)動(dòng)器和總線相連的總線接口驅(qū)動(dòng)程序,在相機(jī)設(shè)備驅(qū)動(dòng)器和數(shù)字相機(jī)之間通過總線執(zhí)行命令和數(shù)據(jù)的通信。
16.根據(jù)權(quán)利要求15所述的設(shè)備,其中,總線為通用串行總線。
17.根據(jù)權(quán)利要求15所述的設(shè)備,其中,相機(jī)設(shè)備驅(qū)動(dòng)器包括第一驅(qū)動(dòng)器,第一驅(qū)動(dòng)器與總線接口驅(qū)動(dòng)程序和運(yùn)行在計(jì)算機(jī)系統(tǒng)上的應(yīng)用程序相連,以處理從應(yīng)用程序接收到的狀態(tài)和狀態(tài)命令;第二驅(qū)動(dòng)器,第二驅(qū)動(dòng)器與第一驅(qū)動(dòng)器相連以處理靜止圖像捕捉命令;以及第三驅(qū)動(dòng)器,與第一驅(qū)動(dòng)器相連以處理視頻流命令。
18.根據(jù)權(quán)利要求17所述的設(shè)備,其中,相機(jī)設(shè)備驅(qū)動(dòng)器還包括存儲(chǔ)器以存儲(chǔ)通過總線接口驅(qū)動(dòng)程序接收來自數(shù)字相機(jī)的靜止圖像數(shù)據(jù)。
19.根據(jù)權(quán)利要求17所述的設(shè)備,其中,相機(jī)設(shè)備驅(qū)動(dòng)器還包括存儲(chǔ)器以存儲(chǔ)通過總線接口驅(qū)動(dòng)程序接收來自數(shù)字相機(jī)的視頻幀數(shù)據(jù)。
20.在具有通過總線與計(jì)算機(jī)系統(tǒng)相連的數(shù)字相機(jī)的系統(tǒng)中,用于在數(shù)字相機(jī)的視頻流操作期間指示靜止圖像的捕捉和恢復(fù)的設(shè)備,包括中止視頻流操作的裝置;請(qǐng)求通過相機(jī)捕捉靜止圖像的裝置;請(qǐng)求將捕捉到的靜止圖像從數(shù)字相機(jī)傳送到計(jì)算機(jī)系統(tǒng)的裝置;及恢復(fù)視頻流操作的裝置。
21.根據(jù)權(quán)利要求20所述的設(shè)備,其中,中止裝置包括用于保存視頻流操作的當(dāng)前狀態(tài)的裝置和用于將終止流命令發(fā)送到相機(jī)的裝置。
22.根據(jù)權(quán)利要求20所述的設(shè)備,其中,恢復(fù)裝置包括用于檢查所保存的視頻流操作的當(dāng)前狀態(tài)的裝置以及在所保存的當(dāng)前狀態(tài)指示視頻流時(shí)將啟動(dòng)流命令發(fā)送到數(shù)字相機(jī)。
23.根據(jù)權(quán)利要求20所述的設(shè)備,其中,請(qǐng)求捕捉裝置包括將捕捉圖像命令發(fā)送到數(shù)字相機(jī)的裝置。
24.根據(jù)權(quán)利要求20所述的設(shè)備,其中,請(qǐng)求傳送裝置包括獲得捕捉到的靜止圖像長(zhǎng)度的裝置;根據(jù)所捕捉靜止圖像的長(zhǎng)度請(qǐng)求傳送捕捉到靜止圖像的裝置;從數(shù)字相機(jī)接收所捕捉的靜止圖像的裝置;及將捕捉到的靜止圖像存儲(chǔ)在計(jì)算機(jī)系統(tǒng)的存儲(chǔ)器中的裝置。
25.根據(jù)權(quán)利要求24所述的設(shè)備,其中,根據(jù)捕捉到的靜止圖像長(zhǎng)度來請(qǐng)求傳送所捕捉靜止圖像的裝置包括將上載捕捉到的圖像命令發(fā)送到數(shù)字相機(jī)的裝置。
26.根據(jù)權(quán)利要求24所述的設(shè)備,還包括將捕捉到的靜止圖像傳送到運(yùn)行在計(jì)算機(jī)系統(tǒng)上的應(yīng)用程序的裝置。
全文摘要
數(shù)字相機(jī)(10)設(shè)有靜止圖像和視頻雙模式(110)特征,由此使數(shù)字相機(jī)和相關(guān)的計(jì)算機(jī)系統(tǒng)支持靜止圖像和視頻流操作的同時(shí)捕捉。在與計(jì)算機(jī)系統(tǒng)(12)相連的數(shù)字相機(jī)的視頻流操作期間,靜止圖像的捕捉和恢復(fù)包括終止視頻流操作、由數(shù)字相機(jī)捕捉靜止圖像、將靜止圖像從數(shù)字相機(jī)傳送到計(jì)算機(jī)系統(tǒng)以及恢復(fù)視頻流操作。由運(yùn)行在計(jì)算機(jī)系統(tǒng)上的相機(jī)設(shè)備驅(qū)動(dòng)器和總線接口軟件完成對(duì)所捕捉的靜止圖像的傳送。在一個(gè)實(shí)施例中,數(shù)字相機(jī)(10)通過通用串行總線(USB)與計(jì)算機(jī)系統(tǒng)相連,相機(jī)設(shè)備驅(qū)動(dòng)器和總線接口軟件控制USB的存取和使用。
文檔編號(hào)H04N5/235GK1296697SQ99804816
公開日2001年5月23日 申請(qǐng)日期1999年1月22日 優(yōu)先權(quán)日1998年2月6日
發(fā)明者B·P·克萊門斯 申請(qǐng)人:英特爾公司