TWI433532B - 使用具有後端處理邏輯之影像信號處理器處理影像資料之系統及方法 - Google Patents

使用具有後端處理邏輯之影像信號處理器處理影像資料之系統及方法 Download PDF

Info

Publication number
TWI433532B
TWI433532B TW100135691A TW100135691A TWI433532B TW I433532 B TWI433532 B TW I433532B TW 100135691 A TW100135691 A TW 100135691A TW 100135691 A TW100135691 A TW 100135691A TW I433532 B TWI433532 B TW I433532B
Authority
TW
Taiwan
Prior art keywords
image
frame
pixel
logic
data
Prior art date
Application number
TW100135691A
Other languages
English (en)
Other versions
TW201233158A (en
Inventor
Guy Cote
Jeffrey E Frederiksen
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Publication of TW201233158A publication Critical patent/TW201233158A/zh
Application granted granted Critical
Publication of TWI433532B publication Critical patent/TWI433532B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4015Image demosaicing, e.g. colour filter arrays [CFA] or Bayer patterns
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/40Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled
    • H04N25/46Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled by combining or binning pixels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • H04N23/84Camera processing pipelines; Components thereof for processing colour signals
    • H04N23/88Camera processing pipelines; Components thereof for processing colour signals for colour balance, e.g. white-balance circuits or colour temperature control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/90Dynamic range modification of images or parts thereof
    • G06T5/94Dynamic range modification of images or parts thereof based on local image properties, e.g. for local contrast enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • G06V40/162Detection; Localisation; Normalisation using pixel segmentation or colour matching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/61Control of cameras or camera modules based on recognised objects
    • H04N23/611Control of cameras or camera modules based on recognised objects where the recognised objects include parts of the human body
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/70SSIS architectures; Circuits associated therewith
    • H04N25/71Charge-coupled device [CCD] sensors; Charge-transfer registers specially adapted for CCD sensors
    • H04N25/74Circuitry for scanning or addressing the pixel array

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)
  • Spectrometry And Color Measurement (AREA)

Description

使用具有後端處理邏輯之影像信號處理器處理影像資料之系統及方法
本發明大體上係關於數位成像裝置,且更特定言之,係關於用於處理使用數位成像裝置之影像感測器所獲得之影像資料的系統及方法。
此章節意欲向讀者介紹可與下文所描述及/或主張之本發明技術之各種態樣相關的此項技術之各種態樣。此論述據信為在向讀者提供背景資訊以促進對本發明之各種態樣之更好理解方面有幫助。因此,應理解,應就此來閱讀此等敍述且不應將其作為對先前技術的承認。
近年來,數位成像裝置已至少部分地歸因於此等裝置針對普通消費者而言變得愈來愈負擔得起而變得日益風行。此外,除了當前在市場上可得之多種獨立數位相機之外,使數位成像裝置整合為另一電子裝置(諸如,桌上型或筆記型電腦、蜂巢式電話或攜帶型媒體播放器)之部分亦並非罕見的。
為了獲取影像資料,大多數數位成像裝置包括影像感測器,該影像感測器提供經組態以將藉由該影像感測器偵測之光轉換為電信號的多個光偵測元件(例如,光偵測器)。影像感測器亦可包括彩色濾光片陣列,該彩色濾光片陣列濾光藉由該影像感測器俘獲之光以俘獲色彩資訊。藉由影像感測器俘獲之影像資料可接著藉由影像處理管線處理,該影像處理管線可將許多各種影像處理操作應用於該影像資料,以產生可經顯示用於在諸如監視器之顯示裝置上檢視的全色影像。
儘管習知影像處理技術通常旨在產生在客觀上及主觀上皆使檢視者愉悅之可檢視影像,但此等習知技術可能不充分地處理藉由成像裝置及/或影像感測器引入的影像資料之錯誤及/或失真。舉例而言,影像感測器上之有缺陷像素(其可歸因於製造缺陷或操作故障)可能未能準確地感測光位準,且若未經校正,則可表明為出現於所得經處理影像中的假影。另外,在影像感測器之邊緣處的光強度減退(其可歸因於透鏡之製造之不完美性)可能不利地影響特性化量測且可導致整體光強度非均一的影像。影像處理管線亦可執行一或多個程序以使影像清晰。然而,習知清晰化技術可能不充分地考慮影像信號中之現有雜訊,或可能不能夠區別影像中之雜訊與邊緣及紋理化區域。在此等例子中,習知清晰化技術可實際上增加雜訊在影像中之出現,此情形通常係不合需要的。此外,亦可執行各種額外影像處理步驟,該等步驟中之一些可依賴於藉由統計收集引擎所收集之影像統計。
可應用於藉由影像感測器俘獲之影像資料的另一影像處理操作為解馬賽克(demosaicing)操作。因為彩色濾光片陣列通常在每感測器像素一個波長下提供色彩資料,所以通常針對每一色彩通道內插一組完全色彩資料,以便再現全色影像(例如,RGB影像)。習知解馬賽克技術通常在水平或垂直方向上針對丟失的色彩資料而內插值,此通常取決於某一類型的固定臨限值。然而,此等習知解馬賽克技術可能不充分地考慮影像內之邊緣的位置及方向,此情形可導致邊緣假影(諸如,頻疊、棋盤形假影或彩虹形假影)引入至全色影像中(尤其是沿著影像內的對角邊緣)。
因此,當處理藉由數位相機或其他成像裝置獲得之數位影像時,應處理各種考慮因素,以便改良所得影像的外觀。詳言之,下文之本發明之某些態樣可處理上文簡要地提及之缺點中的一或多者。
下文闡述本文所揭示之某些實施例的概述。應理解,此等態樣僅被呈現以向讀者提供此等某些實施例之簡要概述,且此等態樣不意欲限制本發明之範疇。實際上,本發明可涵蓋下文可能未闡述之多種態樣。
本發明提供且說明影像信號處理技術之各種實施例。特定言之,本發明之所揭示實施例可關於使用後端影像處理單元來處理影像資料、用於實施原始像素處理邏輯之行緩衝器的配置及組態、在存在溢位(亦被稱為滿溢(overrun))條件之情況下用於管理像素資料之移動的技術、用於同步視訊及音訊資料之技術,以及與可用以將像素資料儲存至記憶體及自記憶體讀取像素資料之各種像素記憶體格式之使用相關的技術。
關於後端處理,所揭示實施例提供一種包括後端像素處理單元之影像信號處理系統,後端像素處理單元在像素資料藉由前端像素處理單元及像素處理管線中之至少一者處理之後接收像素資料。在某些實施例中,後端處理單元接收明度/色度影像資料,且可經組態以應用面部偵測操作,局域色調映射,亮度、對比度、色彩調整,以及按比例縮放。此外,後端處理單元亦可包括可收集頻率統計之後端統計單元。頻率統計可提供至編碼器,且可用以判定待應用於影像圖框之量化參數。
本發明之另一態樣係關於使用一組行緩衝器來實施原始像素處理單元。在一實施例中,該組行緩衝器可包括第一子集及第二子集。可以共用方式使用行緩衝器之第一子集及第二子集來實施原始像素處理單元之各種邏輯單元。舉例而言,在一實施例中,可使用行緩衝器之第一子集來實施有缺陷像素校正及偵測邏輯。行緩衝器之第二子集可用以實施透鏡遮光校正邏輯,增益、位移及箝位邏輯,及解馬賽克邏輯。此外,亦可使用行緩衝器之第一子集及第二子集中之每一者的至少一部分來實施雜訊減少。
本發明之另一態樣可關於一種包括溢位控制邏輯之影像信號處理系統,溢位控制邏輯在目的地單元(其為感測器輸入佇列及/或前端處理單元)自下游目的地單元接收反壓力時偵測溢位條件。影像信號處理系統亦可包括閃光控制器,閃光控制器經組態以藉由使用感測器時序信號在目標影像圖框之開始之前啟動閃光裝置。在一實施例中,閃光控制器接收延遲感測器時序信號,且藉由以下操作而判定閃光啟動開始時間:使用延遲感測器時序信號以識別對應於先前圖框之結束的時間,將彼時間增大達垂直消隱時間,且接著減去第一位移以補償在感測器時序信號與延遲感測器時序信號之間的延遲。接著,閃光控制器減去第二位移以判定閃光啟動時間,由此確保在接收目標圖框之第一像素之前啟動閃光。本發明之其他態樣提供與音訊-視訊同步相關之技術。在一實施例中,時間碼暫存器在被取樣時提供當前時戳。可基於影像信號處理系統之時脈以規則間隔累加時間碼暫存器之值。在藉由影像感測器所獲取之當前圖框開始時,時間碼暫存器被取樣,且時戳儲存至與影像感測器相關聯之時戳暫存器中。時戳接著自時戳暫存器被讀取且寫入至與當前圖框相關聯之一組後設資料。儲存於圖框後設資料中之時戳可接著用以同步當前圖框與一組對應音訊資料。
本發明之額外態樣提供靈活的記憶體輸入/輸出控制器,其經組態以儲存及讀取多種類型之像素及像素記憶體格式。舉例而言,記憶體I/O控制器可支援原始影像像素以各種位元之精確度(諸如,8位元、10位元、12位元、14位元及16位元)的儲存及讀取。與記憶體位元組未對準(例如,並非8位元之倍數)之像素格式可以封裝方式儲存。記憶體I/O控制器亦可支援各種格式之RGB像素組及YCC像素組。
上文所提及之特徵的各種改進可關於本發明之各種態樣而存在。其他特徵亦可併入於此等各種態樣中。此等改進及額外特徵可個別地存在或以任何組合而存在。舉例而言,下文關於所說明實施例中之一或多者所論述的各種特徵可單獨地併入至或以任何組合而併入至本發明之上文所描述之態樣中的任一者中。又,上文所呈現之簡要概述僅意欲在不限於所主張之標的的情況下使讀者熟悉本發明之實施例的某些態樣及內容背景。
本專利或申請檔案含有以彩色執行之至少一圖式。具有彩色圖式之本專利或專利申請公開案的複本在請求及支付必要費用後隨即將由專利局提供。
在閱讀以下[實施方式]後且在參看圖式後隨即可更好地理解本發明之各種態樣。
下文將描述本發明之一或多個特定實施例。此等所描述實施例僅為當前所揭示之技術的實例。另外,在致力於提供此等實施例之簡明描述的過程中,本說明書中可能並未描述實際實施之所有特徵。應瞭解,在任何此實際實施之開發中,如在任何工程或設計項目中一樣,必須進行眾多實施特定決策以達成開發者之特定目標(諸如,符合系統相關及商業相關約束),其可隨著不同實施而變化。此外,應瞭解,此開發努力可能複雜且耗時,但對於具有本發明之益處的一般熟習此項技術者而言仍為設計、製作及製造之常規任務。
當介紹本發明之各種實施例的元件時,數詞「一」及「該」意欲意謂存在元件中之一或多者。術語「包含」、「包括」及「具有」意欲為包括性的,且意謂可存在除所列出元件以外的額外元件。另外,應理解,對本發明之「一實施例」的參考不意欲被解譯為排除亦併有所敍述特徵之額外實施例的存在。
如下文將論述,本發明大體上係關於用於處理經由一或多個影像感測裝置所獲取之影像資料的技術。詳言之,本發明之某些態樣可關於用於偵測及校正有缺陷像素之技術、用於解馬賽克原始影像圖案之技術、用於使用多尺度不清晰遮罩來清晰化照度影像之技術,及用於施加透鏡遮光增益以校正透鏡遮光不規則性之技術。此外,應理解,當前所揭示之技術可應用於靜止影像及移動影像(例如,視訊)兩者,且可用於任何合適類型之成像應用中,諸如,數位相機、具有整合式數位相機之電子裝置、安全或視訊監督系統、醫學成像系統等等。
記住以上要點,圖1為說明電子裝置10之實例的方塊圖,電子裝置10可提供使用上文簡要地提及之影像處理技術中的一或多者來處理影像資料。電子裝置10可為經組態以接收及處理影像資料(諸如,使用一或多個影像感測組件所獲取之資料)的任何類型之電子裝置,諸如,膝上型或桌上型電腦、行動電話、數位媒體播放器或其類似者。僅藉由實例,電子裝置10可為攜帶型電子裝置,諸如,自Apple Inc.(Cupertino,California)可得之一型號的iPod或iPhone。另外,電子裝置10可為桌上型或膝上型電腦,諸如,自Apple Inc.可得之一型號的MacBook、MacBookPro、MacBook Air、iMac、MacMini或Mac Pro。在其他實施例中,電子裝置10亦可為能夠獲取及處理影像資料之來自另一製造商之一型號的電子裝置。
不管其形式(例如,攜帶型或非攜帶型),應理解,電子裝置10可提供使用上文簡要地論述之影像處理技術中的一或多者來處理影像資料,該等影像處理技術可尤其包括有缺陷像素校正及/或偵測技術、透鏡遮光校正技術、解馬賽克技術或影像清晰化技術。在一些實施例中,電子裝置10可將此等影像處理技術應用於儲存於電子裝置10之記憶體中的影像資料。在其他實施例中,電子裝置10可包括經組態以獲取影像資料之一或多個成像裝置(諸如,整合式或外部數位相機),該影像資料可接著藉由電子裝置10使用上文所提及之影像處理技術中的一或多者進行處理。下文將在圖3至圖6中進一步論述展示電子裝置10之攜帶型及非攜帶型實施例兩者的實施例。
如圖1所示,電子裝置10可包括有助於裝置10之功能的各種內部及/或外部組件。一般熟習此項技術者應瞭解,圖1所示之各種功能區塊可包含硬體元件(包括電路)、軟體元件(包括儲存於電腦可讀媒體上之電腦程式碼),或硬體元件與軟體元件兩者之組合。舉例而言,在當前所說明之實施例中,電子裝置10可包括輸入/輸出(I/O)埠12、輸入結構14、一或多個處理器16、記憶體裝置18、非揮發性儲存器20、(多個)擴充卡22、網路連接裝置24、電源26及顯示器28。另外,電子裝置10可包括一或多個成像裝置30(諸如,數位相機)及影像處理電路32。如下文將進一步論述,影像處理電路32可經組態以在處理影像資料時實施上文所論述之影像處理技術中的一或多者。應瞭解,藉由影像處理電路32處理之影像資料可自記憶體18及/或(多個)非揮發性儲存裝置20予以擷取,或可使用成像裝置30予以獲取。
在繼續之前,應理解,圖1所示之裝置10的系統方塊圖意欲為描繪可包括於此裝置10中之各種組件的高階控制圖。亦即,圖1所示之每一個別組件之間的連接線可能未必表示資料在裝置10之各種組件之間流動或傳輸通過的路徑或方向。實際上,如下文所論述,在一些實施例中,所描繪之(多個)處理器16可包括多個處理器,諸如,主處理器(例如,CPU)及專用影像及/或視訊處理器。在此等實施例中,影像資料之處理可主要藉由此等專用處理器處置,由此有效地自主處理器(CPU)卸載此等任務。
關於圖1中之所說明組件中的每一者,I/O埠12可包括經組態以連接至多種外部裝置的埠,該等裝置係諸如,電源、音訊輸出裝置(例如,耳機或頭戴式耳機),或其他電子裝置(諸如,手持型裝置及/或電腦、印表機、投影儀、外部顯示器、數據機、銜接台等等)。在一實施例中,I/O埠12可經組態以連接至外部成像裝置(諸如,數位相機),以用於獲取可使用影像處理電路32處理之影像資料。I/O埠12可支援任何合適介面類型,諸如,通用串列匯流排(USB)埠、串列連接埠、IEEE-1394(FireWire)埠、乙太網路或數據機埠,及/或AC/DC電力連接埠。
在一些實施例中,某些I/O埠12可經組態以提供一個以上功能。舉例而言,在一實施例中,I/O埠12可包括來自Apple Inc.之專屬埠,該埠可不僅用以促進資料在電子裝置10與外部來源之間的傳送,而且將裝置10耦接至電力充電介面(諸如,經設計以提供來自電壁式插座之電力的電力配接器),或經組態以自另一電裝置(諸如,桌上型或膝上型電腦)汲取電力以用於對電源26(其可包括一或多個可再充電電池)充電的介面纜線。因此,I/O埠12可經組態以雙重地充當資料傳送埠及AC/DC電力連接埠兩者,此取決於(例如)經由I/O埠12而耦接至裝置10之外部組件。
輸入結構14可將使用者輸入或回饋提供至(多個)處理器16。舉例而言,輸入結構14可經組態以控制電子裝置10之一或多個功能,諸如,在電子裝置10上執行之應用程式。僅藉由實例,輸入結構14可包括按鈕、滑件、開關、控制板、按鍵、旋鈕、滾輪、鍵盤、滑鼠、觸控板等等,或其某一組合。在一實施例中,輸入結構14可允許使用者導覽在裝置10上所顯示之圖形使用者介面(GUI)。另外,輸入結構14可包括結合顯示器28所提供之觸敏機構。在此等實施例中,使用者可經由觸敏機構而選擇所顯示介面元件或與所顯示介面元件互動。
輸入結構14可包括供將使用者輸入或回饋提供至一或多個處理器16之各種裝置、電路及路徑。此等輸入結構14可經組態以控制裝置10之功能、在裝置10上執行之應用程式,及/或連接至電子裝置10或藉由電子裝置10使用之任何介面或裝置。舉例而言,輸入結構14可允許使用者導覽所顯示之使用者介面或應用程式介面。輸入結構14之實例可包括按鈕、滑件、開關、控制板、按鍵、旋鈕、滾輪、鍵盤、滑鼠、觸控板等等。
在某些實施例中,輸入結構14與顯示裝置28可被一起提供,諸如,在「觸控式螢幕」之狀況下,藉以,結合顯示器28而提供觸敏機構。在此等實施例中,使用者可經由觸敏機構而選擇所顯示介面元件或與所顯示介面元件互動。以此方式,所顯示介面可提供互動式功能性,從而允許使用者藉由觸控顯示器28而導覽所顯示介面。舉例而言,與輸入結構14之使用者互動(諸如,用以與顯示於顯示器28上之使用者或應用程式介面互動)可產生指示使用者輸入之電信號。此等輸入信號可經由合適路徑(諸如,輸入集線器或資料匯流排)而投送至該一或多個處理器16以供進一步處理。
在一實施例中,輸入結構14可包括音訊輸入裝置。舉例而言,一或多個音訊俘獲裝置(諸如,一或多個麥克風)可具備電子裝置10。音訊俘獲裝置可與電子裝置10整合,或可為(諸如)藉由I/O埠12而耦接至電子裝置10之外部裝置。如下文進一步論述,電子裝置10可包括音訊輸入裝置及成像裝置30兩者以俘獲聲音及影像資料(例如,視訊資料),且可包括經組態以提供所俘獲之視訊及音訊資料之同步的邏輯。
除了處理經由(多個)輸入結構14所接收之各種輸入信號之外,(多個)處理器16亦可控制裝置10之一般操作。舉例而言,(多個)處理器16可提供處理能力以執行作業系統、程式、使用者及應用程式介面,及電子裝置10之任何其他功能。(多個)處理器16可包括一或多個微處理器,諸如,一或多個「一般用途」微處理器、一或多個特殊用途微處理器及/或特殊應用微處理器(ASIC),或此等處理組件之組合。舉例而言,(多個)處理器16可包括一或多個指令集(例如,RISC)處理器,以及圖形處理器(GPU)、視訊處理器、音訊處理器及/或相關晶片集。應瞭解,(多個)處理器16可耦接至一或多個資料匯流排,以用於在裝置10之各種組件之間傳送資料及指令。在某些實施例中,(多個)處理器16可提供處理能力以在電子裝置10上執行成像應用程式,諸如,自Apple Inc.可得之Photo Booth、Aperture、iPhoto或Preview,或由Apple Inc.所提供且可用於多個型號之iPhone上的「Camera」及/或「Photo」應用程式。
待藉由(多個)處理器16處理之指令或資料可儲存於諸如記憶體裝置18之電腦可讀媒體中。記憶體裝置18可被提供作為揮發性記憶體(諸如,隨機存取記憶體(RAM)),或作為非揮發性記憶體(諸如,唯讀記憶體(ROM)),或作為一或多個RAM裝置與ROM裝置之組合。記憶體18可儲存多種資訊且可用於各種目的。舉例而言,記憶體18可儲存用於電子裝置10之韌體,諸如,基本輸入/輸出系統(BIOS)、作業系統、各種程式、應用程式,或可執行於電子裝置10上之任何其他常式,包括使用者介面函式、處理器函式等等。另外,記憶體18可用於在電子裝置10之操作期間進行緩衝或快取。舉例而言,在一實施例中,記憶體18包括用於隨著視訊資料輸出至顯示器28而緩衝視訊資料之一或多個圖框緩衝器。
除了記憶體裝置18之外,電子裝置10亦可進一步包括用於資料及/或指令之持久儲存的非揮發性儲存器20。非揮發性儲存器20可包括快閃記憶體、硬碟機,或任何其他光學、磁性及/或固態儲存媒體,或其某一組合。因此,儘管為了清楚之目的而在圖1中描繪為單一裝置,但應理解,(多個)非揮發性儲存裝置20可包括結合(多個)處理器16而操作之上文所列出之儲存裝置中的一或多者的組合。非揮發性儲存器20可用以儲存韌體、資料檔案、影像資料、軟體程式及應用程式、無線連接資訊、個人資訊、使用者偏好,及任何其他合適資料。根據本發明之態樣,儲存於非揮發性儲存器20及/或記憶體裝置18中之影像資料可在輸出於顯示器上之前藉由影像處理電路32處理。
圖1所說明之實施例亦可包括一或多個卡插槽或擴充槽。卡插槽可經組態以收納擴充卡22,擴充卡22可用以將功能性(諸如,額外記憶體、I/O功能性或網路連接能力)添加至電子裝置10。此擴充卡22可經由任何類型之合適連接器而連接至裝置,且可相對於電子裝置10之外殼在內部或外部被存取。舉例而言,在一實施例中,擴充卡24可為快閃記憶卡(諸如,SecureDigital(SD)卡、小型或微型SD、CompactFlash卡或其類似者),或可為PCMCIA裝置。另外,擴充卡24可為供提供行動電話能力之電子裝置10之實施例使用的用戶識別模組(SIM)卡。
電子裝置10亦包括網路裝置24,網路裝置24可為可經由無線802.11標準或任何其他合適網路連接標準(諸如區域網路(LAN)、廣域網路(WAN)(諸如,GSM演進增強型資料速率(EDGE)網路)、3G資料網路或網際網路)而提供網路連接性之網路控制器或網路介面卡(NIC)。在某些實施例中,網路裝置24可提供至線上數位媒體內容提供者(諸如,自Apple Inc.可得之iTunes音樂服務)之連接。
裝置10之電源26可包括對在非攜帶型及攜帶型設定兩者下之裝置10供電的能力。舉例而言,在攜帶型設定下,裝置10可包括用於對裝置10供電之一或多個電池(諸如,Li離子電池)。電池可藉由將裝置10連接至外部電源(諸如,連接至電壁式插座)而再充電。在非攜帶型設定下,電源26可包括電力供應單元(PSU),該電力供應單元(PSU)經組態以自電壁式插座汲取電力,且將電力分配至非攜帶型電子裝置(諸如,桌上型計算系統)之各種組件。
顯示器28可用以顯示藉由裝置10產生之各種影像,諸如,作業系統之GUI,或藉由影像處理電路32處理之影像資料(包括靜止影像及視訊資料),如下文將進一步論述。如上文所提及,影像資料可包括使用成像裝置30所獲取之影像資料或自記憶體18及/或非揮發性儲存器20所擷取之影像資料。舉例而言,顯示器28可為任何合適類型之顯示器,諸如,液晶顯示器(LCD)、電漿顯示器,或有機發光二極體(OLED)顯示器。另外,如上文所論述,可結合可充當電子裝置10之控制介面之部分的上文所論述之觸敏機構(例如,觸控式螢幕)而提供顯示器28。
該(等)所說明之成像裝置30可被提供作為經組態以獲取靜止影像及移動影像(例如,視訊)兩者之數位相機。相機30可包括透鏡及經組態以俘獲光且將光轉換為電信號之一或多個影像感測器。僅藉由實例,影像感測器可包括CMOS影像感測器(例如,CMOS作用中像素感測器(APS))或CCD(電荷耦合裝置)感測器。通常,相機30中之影像感測器包括具有像素陣列之積體電路,其中每一像素包括用於感測光之光偵測器。熟習此項技術者應瞭解,成像像素中之光偵測器通常偵測經由相機透鏡所俘獲之光的強度。然而,光偵測器自身通常不能夠偵測所俘獲光之波長,且由此不能夠判定色彩資訊。
因此,影像感測器可進一步包括可上覆於或安置於影像感測器之像素陣列之上以俘獲色彩資訊的彩色濾光片陣列(CFA)。彩色濾光片陣列可包括小彩色濾光片陣列,該等濾光片中之每一者可重疊於影像感測器之各別像素且按照波長來濾光所俘獲之光。因此,當以結合方式使用時,彩色濾光片陣列及光偵測器可關於經由相機所俘獲之光而提供波長及強度資訊兩者,其可表示所俘獲影像。
在一實施例中,彩色濾光片陣列可包括拜耳(Bayer)彩色濾光片陣列,該拜耳彩色濾光片陣列提供為50%綠色元素、25%紅色元素及25%藍色元素之濾光片圖案。舉例而言,圖2展示拜耳CFA之2×2像素區塊包括2個綠色元素(Gr及Gb)、1個紅色元素(R)及1個藍色元素(B)。因此,利用拜耳彩色濾光片陣列之影像感測器可提供關於藉由相機30在綠色、紅色及藍色波長下所接收之光之強度的資訊,藉以,每一影像像素記錄該三種色彩(RGB)中僅一者。此資訊(其可被稱為「原始影像資料」(raw image data)或「原始域」(raw domain)中之資料)可接著使用一或多種解馬賽克技術予以處理以通常藉由針對每一像素內插一組紅色、綠色及藍色值而將原始影像資料轉換為全色影像。如下文將進一步論述,此等解馬賽克技術可藉由影像處理電路32執行。
如上文所提及,影像處理電路32可提供各種影像處理步驟,諸如,有缺陷像素偵測/校正、透鏡遮光校正、解馬賽克,及影像清晰化、雜訊減少、伽瑪校正、影像增強、色彩空間轉換、影像壓縮、色度次取樣,及影像按比例縮放操作等等。在一些實施例中,影像處理電路32可包括邏輯之各種子組件及/或離散單元,該等子組件及/或離散單元共同地形成用於執行各種影像處理步驟中之每一者的影像處理「管線」。此等子組件可使用硬體(例如,數位信號處理器或ASIC)或軟體予以實施,或經由硬體組件與軟體組件之組合而實施。下文將更詳細地論述可藉由影像處理電路32提供之各種影像處理操作,且尤其是論述與有缺陷像素偵測/校正、透鏡遮光校正、解馬賽克及影像清晰化相關的彼等處理操作。
在繼續之前,應注意,儘管下文所論述之各種影像處理技術的各種實施例可利用拜耳CFA,但當前所揭示之技術不意欲在此方面受到限制。實際上,熟習此項技術者應瞭解,本文所提供之影像處理技術可適用於任何合適類型之彩色濾光片陣列,包括RGBW濾光片、CYGM濾光片等等。
再次參考電子裝置10,圖3至圖6說明電子裝置10可採取之各種形式。如上文所提及,電子裝置10可採取電腦(包括通常為攜帶型之電腦(諸如,膝上型、筆記型電腦及平板電腦)以及通常為非攜帶型之電腦(諸如,桌上型電腦、工作站及/或伺服器)),或其他類型之電子裝置(諸如,手持型攜帶型電子裝置(例如,數位媒體播放器或行動電話))的形式。詳言之,圖3及圖4描繪分別呈膝上型電腦40及桌上型電腦50之形式的電子裝置10。圖5及圖6分別展示呈手持型攜帶型裝置60之形式之電子裝置10的前視圖及後視圖。
如圖3所示,所描繪之膝上型電腦40包括外殼42、顯示器28、I/O埠12及輸入結構14。輸入結構14可包括與外殼42整合之鍵盤及觸控板滑鼠。另外,輸入結構14可包括各種其他按鈕及/或開關,該等各種其他按鈕及/或開關可用以與電腦40互動(諸如,對電腦通電或起動電腦)、操作在電腦40上執行之GUI或應用程式,以及調整與電腦40之操作相關的各種其他態樣(例如,聲音音量、顯示亮度等)。電腦40亦可包括如上文所論述之提供至額外裝置之連接性的各種I/O埠12(諸如,FireWire或USB埠)、高清晰度多媒體介面(HDMI)埠,或適於連接至外部裝置的任何其他類型之埠。另外,電腦40可包括網路連接性(例如,網路裝置26)、記憶體(例如,記憶體20)及儲存能力(例如,儲存裝置22),如上文關於圖1所描述。
此外,在所說明實施例中,膝上型電腦40可包括整合式成像裝置30(例如,相機)。在其他實施例中,代替整合式相機30或除了整合式相機30之外,膝上型電腦40亦可利用連接至I/O埠12中之一或多者的外部相機(例如,外部USB攝影機或「網路攝影機」)。舉例而言,外部相機可為自Apple Inc.可得之iSight攝影機。相機30(無論是整合式抑或外部的)可提供影像之俘獲及記錄。此等影像可接著藉由使用者使用影像檢視應用程式來檢視,或可藉由其他應用程式來利用,該等其他應用程式包括視訊會議應用程式(諸如,iChat)及影像編輯/檢視應用程式(諸如,Photo Booth、Aperture、iPhoto或Preview),其自Apple Inc.可得。在某些實施例中,所描繪之膝上型電腦40可為自Apple Inc.可得之一型號的MacBook、MacBookPro、MacBook Air或PowerBook。另外,在一實施例中,電腦40可為攜帶型平板計算裝置,諸如,亦自Apple Inc.可得之一型號的iPad平板電腦。
圖4進一步說明電子裝置10被提供作為桌上型電腦50之實施例。應瞭解,桌上型電腦50可包括可與藉由圖4所示之膝上型電腦40所提供之特徵大體上類似的多個特徵,但可具有大體上更大的整體形狀因子。如圖所示,桌上型電腦50可容納於罩殼42中,罩殼42包括顯示器28以及上文關於圖1所示之方塊圖所論述的各種其他組件。此外,桌上型電腦50可包括外部鍵盤及滑鼠(輸入結構14),該外部鍵盤及滑鼠可經由一或多個I/O埠12(例如,USB)耦接至電腦50或可無線地(例如,RF、藍芽等)與電腦50通信。桌上型電腦50亦包括可為整合式或外部相機之成像裝置30,如上文所論述。在某些實施例中,所描繪之桌上型電腦50可為自Apple Inc.可得之一型號的iMac、Macmini或Mac Pro
如進一步所示,顯示器28可經組態以產生可藉由使用者檢視之各種影像。舉例而言,在電腦50之操作期間,顯示器28可顯示允許使用者與作業系統及/或在電腦50上執行之應用程式互動的圖形使用者介面(「GUI」)52。GUI 52可包括顯示裝置28之可顯示全部或一部分的各種層、視窗、螢幕、模板或其他圖形元件。舉例而言,在所描繪實施例中,作業系統GUI 52可包括各種圖形圖示54,其中每一者可對應於可在偵測使用者選擇後隨即開啟或執行(經由鍵盤/滑鼠或觸控式螢幕輸入)的各種應用程式。圖示54可顯示於圖示停駐區(dock)56中或顯示於螢幕上之一或多個圖形視窗元件58內。在一些實施例中,圖示54之選擇可導致階層式導覽程序,使得圖示54之選擇導致一螢幕或開啟包括一或多個額外圖示或其他GUI元件的另一圖形視窗。僅藉由實例,顯示於圖4中之作業系統GUI 52可來自自Apple Inc.可得之Mac OS作業系統的一版本。
繼續至圖5及圖6,以攜帶型手持型電子裝置60之形式進一步說明電子裝置10,其可為自Apple Inc.可得之一型號的iPod或iPhone。在所描繪實施例中,手持型裝置60包括罩殼42,罩殼42可用以保護內部組件免受實體損壞且遮蔽其免受電磁干擾。罩殼42可由任何合適材料或材料之組合形成,諸如塑膠、金屬或複合材料,且可允許電磁輻射(諸如,無線網路連接信號)之某些頻率通過至無線通信電路(例如,網路裝置24),該無線通信電路可安置於罩殼42內,如圖5所示。
罩殼42亦包括使用者可藉以與手持型裝置60建立介面連接之各種使用者輸入結構14。舉例而言,每一輸入結構14可經組態以在被按壓或致動時控制一或多個各別裝置功能。藉由實例,輸入結構14中之一或多者可經組態以調用待顯示之「首頁」螢幕42或選單,在休眠、喚醒或通電/斷電模式之間雙態觸發,使蜂巢式電話應用程式之響鈴無聲,增大或減小音量輸出等等。應理解,所說明之輸入結構14僅為例示性的,且手持型裝置60可包括以包括按鈕、開關、按鍵、旋鈕、滾輪等等之各種形式存在的任何數目個合適使用者輸入結構。
如圖5所示,手持型裝置60可包括各種I/O埠12。舉例而言,所描繪之I/O埠12可包括用於傳輸及接收資料檔案或用於對電源26充電之專屬連接埠12a,及用於將裝置60連接至音訊輸出裝置(例如,頭戴式耳機或揚聲器)的音訊連接埠12b。此外,在手持型裝置60提供行動電話功能性之實施例中,裝置60可包括用於收納用戶識別模組(SIM)卡(例如,擴充卡22)的I/O埠12c。
可為LCD、OLED或任何合適類型之顯示器的顯示裝置28可顯示藉由手持型裝置60所產生的各種影像。舉例而言,顯示器28可顯示關於手持型裝置60之一或多種狀態將回饋提供至使用者的各種系統指示器64,諸如電力狀態、信號強度、外部裝置連接等等。顯示器亦可顯示允許使用者與裝置60互動之GUI 52,如上文參看圖4所論述。GUI 52可包括諸如圖示54之圖形元件,該等圖形元件可對應於可在偵測各別圖示54之使用者選擇後隨即開啟或執行的各種應用程式。藉由實例,圖示54中之一者可表示相機應用程式66,相機應用程式66可結合相機30(圖5中以假想線展示)使用以用於獲取影像。簡要地參看圖6,說明圖5所描繪之手持型電子裝置60的後視圖,其將相機30展示為與外殼42整合且位於手持型裝置60的後部上。
如上文所提及,使用相機30所獲取之影像資料可使用影像處理電路32來處理,影像處理電路32可包括硬體(例如,安置於罩殼42內)及/或儲存於裝置60之一或多個儲存裝置(例如,記憶體18或非揮發性儲存器20)上的軟體。使用相機應用程式66及相機30所獲取之影像可儲存於裝置60上(例如,儲存裝置20中)且可在稍後時間使用相片檢視應用程式68來檢視。
手持型裝置60亦可包括各種音訊輸入及輸出元件。舉例而言,音訊輸入/輸出元件(藉由參考數字70大體上描繪)可包括輸入接收器,諸如一或多個麥克風。舉例而言,在手持型裝置60包括行動電話功能性之情況下,輸入接收器可經組態以接收使用者音訊輸入(諸如,使用者之語音)。另外,音訊輸入/輸出元件70可包括一或多個輸出傳輸器。此等輸出傳輸器可包括可用以(諸如)在使用媒體播放器應用程式72播放音樂資料期間將音訊信號傳輸至使用者的一或多個揚聲器。此外,在手持型裝置60包括行動電話應用程式之實施例中,可提供額外音訊輸出傳輸器74,如圖5所示。如同音訊輸入/輸出元件70之輸出傳輸器,輸出傳輸器74亦可包括經組態以將音訊信號(諸如,在電話通話期間所接收之語音資料)傳輸至使用者的一或多個揚聲器。因此,音訊輸入/輸出元件70及74可結合操作以充當電話之音訊接收及傳輸元件。
現已提供關於電子裝置10可採取之各種形式的一些內容背景,本論述現將集中於圖1所描繪的影像處理電路32。如上文所提及,影像處理電路32可使用硬體及/或軟體組件來實施,且可包括界定影像信號處理(ISP)管線的各種處理單元。詳言之,以下論述可集中於本發明中所闡述之影像處理技術的態樣,尤其是與有缺陷像素偵測/校正技術、透鏡遮光校正技術、解馬賽克技術及影像清晰化技術相關的態樣。
現參看圖7,根據當前所揭示之技術的一實施例,說明描繪可實施為影像處理電路32之部分之若干功能組件的簡化頂階方塊圖。特定言之,圖7意欲說明根據至少一實施例的影像資料可流過影像處理電路32之方式。為了提供影像處理電路32之一般綜述,此處參看圖7提供對此等功能組件操作以處理影像資料之方式的一般描述,同時下文將進一步提供對所說明之功能組件中之每一者以及其各別子組件的更特定描述。
參考所說明實施例,影像處理電路32可包括影像信號處理(ISP)前端處理邏輯80、ISP管道處理邏輯82及控制邏輯84。藉由成像裝置30所俘獲之影像資料可首先藉由ISP前端邏輯80來處理,且經分析以俘獲可用以判定ISP管道邏輯82及/或成像裝置30之一或多個控制參數的影像統計。ISP前端邏輯80可經組態以俘獲來自影像感測器輸入信號之影像資料。舉例而言,如圖7所示,成像裝置30可包括具有一或多個透鏡88及(多個)影像感測器90的相機。如上文所論述,(多個)影像感測器90可包括彩色濾光片陣列(例如,拜耳濾光片),且可由此提供藉由影像感測器90之每一成像像素所俘獲的光強度及波長資訊兩者以提供可藉由ISP前端邏輯80處理之一組原始影像資料。舉例而言,來自成像裝置30之輸出92可藉由感測器介面94來接收,感測器介面94可接著基於(例如)感測器介面類型將原始影像資料96提供至ISP前端邏輯80。藉由實例,感測器介面94可利用標準行動成像架構(SMIA)介面或者其他串列或並列相機介面,或其某一組合。在某些實施例中,ISP前端邏輯80可在其自己之時脈域內操作,且可將非同步介面提供至感測器介面94以支援不同大小及時序要求的影像感測器。在一些實施例中,感測器介面94可包括在感測器側上之子介面(例如,感測器側介面)及在ISP前端側上之子介面,其中該等子介面形成感測器介面94。
原始影像資料96可提供至ISP前端邏輯80,且以多個格式逐像素地處理。舉例而言,每一影像像素可具有8、10、12或14個位元之位元深度。下文更詳細地論述展示像素資料可儲存且定址於記憶體中之方式的記憶體格式之各種實例。ISP前端邏輯80可對原始影像資料96執行一或多個影像處理操作,以及關於影像資料96之收集統計。可以相同的或以不同的位元深度精確度來執行影像處理操作以及統計資料之收集。舉例而言,在一實施例中,可以14位元之精確度來執行原始影像像素資料96之處理。在此等實施例中,藉由ISP前端邏輯80所接收之具有小於14個位元(例如,8位元、10位元、12位元)之位元深度的原始像素資料可升取樣至14位元,以用於影像處理目的。在另一實施例中,統計處理可以8位元之精確度發生,且因此,具有較高之位元深度的原始像素資料可降取樣至8位元格式以用於統計目的。應瞭解,降取樣至8位元可減少硬體大小(例如,面積),且亦減少統計資料之處理/計算複雜性。另外,原始影像資料可在空間上經平均化以允許統計資料對雜訊為更穩固的。
此外,如圖7所示,ISP前端邏輯80亦可自記憶體108接收像素資料。舉例而言,如藉由參考數字98所示,原始像素資料可自感測器介面94發送至記憶體108。駐留於記憶體108中之原始像素資料可接著提供至ISP前端邏輯80以用於處理,如藉由參考數字100所指示。記憶體108可為記憶體裝置18、儲存裝置20之部分,或可為電子裝置10內之單獨專用記憶體且可包括直接記憶體存取(DMA)特徵。此外,在某些實施例中,ISP前端邏輯80可在其自己之時脈域內操作且將非同步介面提供至感測器介面94,以支援具有不同大小且具有不同時序要求的感測器。
在接收原始影像資料96(自感測器介面94)或100(自記憶體108)後,ISP前端邏輯80隨即可執行一或多個影像處理操作,諸如,時間濾波及/或分格化儲存補償濾波。經處理影像資料可接著在被顯示(例如,在顯示裝置28上)之前提供至ISP管道邏輯82(輸出信號109)以用於額外處理,或可發送至記憶體(輸出信號110)。ISP管道邏輯82直接自ISP前端邏輯80抑或自記憶體108接收「前端」處理資料(輸入信號112),且可提供影像資料在原始域中以及在RGB及YCbCr色彩空間中的額外處理。藉由ISP管道邏輯82所處理之影像資料可接著輸出(信號114)至顯示器28以供使用者檢視,及/或可藉由圖形引擎或GPU進一步處理。另外,來自ISP管道邏輯82之輸出可發送至記憶體108(信號115)且顯示器28可自記憶體108讀取影像資料(信號116),其在某些實施例中可經組態以實施一或多個圖框緩衝器。此外,在一些實施中,ISP管道邏輯82之輸出亦可提供至壓縮/解壓縮引擎118(信號117)以用於編碼/解碼影像資料。經編碼之影像資料可被儲存且接著稍後在顯示於顯示器28裝置上之前被解壓縮(信號119)。藉由實例,壓縮引擎或「編碼器」118可為用於編碼靜止影像之JPEG壓縮引擎,或用於編碼視訊影像之H.264壓縮引擎,或其某一組合,以及用於解碼影像資料的對應解壓縮引擎。下文將關於圖98至圖133更詳細地論述可提供於ISP管道邏輯82中的關於影像處理操作之額外資訊。又,應注意,ISP管道邏輯82亦可自記憶體108接收原始影像資料,如藉由輸入信號112所描繪。
藉由ISP前端邏輯80所判定之統計資料102可提供至控制邏輯單元84。統計資料102可包括(例如)與自動曝光、自動白平衡、自動對焦、閃爍偵測、黑階補償(BLC)、透鏡遮光校正等等相關的影像感測器統計。控制邏輯84可包括經組態以執行一或多個常式(例如,韌體)之處理器及/微控制器,該一或多個常式可經組態以基於所接收之統計資料102判定成像裝置30的控制參數104以及ISP管道處理邏輯82之控制參數106。僅藉由實例,控制參數104可包括感測器控制參數(例如,增益、用於曝光控制之積分時間)、相機閃光燈控制參數、透鏡控制參數(例如,用於聚焦或變焦之焦距),或此等參數之組合。ISP控制參數106可包括用於自動白平衡及色彩調整(例如,在RGB處理期間)之增益等級及色彩校正矩陣(CCM)係數,以及如下文所論述可基於白點平衡參數所判定的透鏡遮光校正參數。在一些實施例中,除了分析統計資料102之外,控制邏輯84亦可分析可儲存於電子裝置10上(例如,在記憶體18或儲存器20中)之歷史統計。
參考所說明實施例,影像處理電路32可包括影像信號處理(ISP)前端處理邏輯80、ISP管道處理邏輯82及控制邏輯84。藉由成像裝置30所俘獲之影像資料可首先藉由ISP前端邏輯80來處理,且經分析以俘獲可用以判定ISP管道邏輯82及/或成像裝置30之一或多個控制參數的影像統計。ISP前端邏輯80可經組態以俘獲來自影像感測器輸入信號之影像資料。舉例而言,如圖7所示,成像裝置30可包括具有一或多個透鏡88及(多個)影像感測器90的相機。如上文所論述,(多個)影像感測器90可包括彩色濾光片陣列(例如,拜耳濾光片),且可由此提供藉由影像感測器90之每一成像像素所俘獲的光強度及波長資訊兩者以提供可藉由ISP前端邏輯80處理之一組原始影像資料。舉例而言,來自成像裝置30之輸出92可藉由感測器介面94來接收,感測器介面94可接著基於(例如)感測器介面類型將原始影像資料96提供至ISP前端邏輯80。藉由實例,感測器介面94可利用標準行動成像架構(SMIA)介面或者其他串列或並列相機介面,或其某一組合。在某些實施例中,ISP前端邏輯80可在其自己之時脈領域內操作,且可將非同步介面提供至感測器介面94以支援不同大小及時序要求的影像感測器。
圖8展示描繪影像處理電路32之另一實施例的方塊圖,其中相同組件係藉由相同的參考數字來標示。通常,圖8之影像處理電路32的操作及功能性類似於圖7之影像處理電路32,惟圖8所示之實施例進一步包括ISP後端處理邏輯單元120除外,ISP後端處理邏輯單元120可在ISP管線82之下游耦接且可提供額外後處理步驟。
在所說明實施例中,ISP後端邏輯120可自ISP管線82接收輸出114,且執行後處理所接收之資料114。另外,ISP後端120可直接自記憶體108接收影像資料,如藉由輸入124所示。如下文將參看圖134至圖142進一步論述,ISP後端邏輯120之一實施例可提供影像資料之動態範圍壓縮(常常被稱為「色調映射」),亮度、對比度及色彩調整,以及用於將影像資料按比例縮放至所要大小或解析度(例如,基於輸出顯示裝置之解析度)的按比例縮放邏輯。此外,ISP後端邏輯120亦可包括用於偵測影像資料中之某些特徵的特徵偵測邏輯。舉例而言,在一實施例中,特徵偵測邏輯可包括面部偵測邏輯,該面部偵測邏輯經組態以識別面部及/或面部特徵位於及/或定位於影像資料內之區域。面部偵測資料可饋送至前端統計處理單元作為用於判定自動白平衡、自動聚焦、閃爍及自動曝光統計的回饋資料。舉例而言,ISP前端80中之統計處理單元(下文在圖68至圖97中更詳細地論述)可經組態以基於影像資料中之面部及/或面部特徵的所判定位置選擇用於統計處理之視窗。
在一些實施例中,除了回饋至ISP前端統計回饋控制迴路之外或代替回饋至ISP前端統計回饋控制迴路,面部偵測資料亦可提供至局域色調映射處理邏輯、ISP後端統計單元中之至少一者,或提供至編碼器/解碼器單元118。如下文進一步論述,提供至後端統計單元之面部偵測資料可用以控制量化參數。舉例而言,當編碼或壓縮輸出影像資料(例如,在巨集區塊中)時,量化可針對已經判定包括面部及/或面部特徵之影像區域而減小,由此在影像被顯示且藉由使用者檢視時改良面部及面部特徵的視覺品質。
在其他實施例中,特徵偵測邏輯亦可經組態以偵測影像圖框中之物件之隅角的位置。此資料可用以識別連續影像圖框中之特徵的位置以便判定圖框之間的全域運動之估計,其可用以執行某些影像處理操作(諸如,影像對位)。在一實施例中,隅角特徵及其類似者之識別針對組合多個影像圖框之演算法(諸如,在某些高動態範圍(HDR)成像演算法中)以及某些全景拼接演算法可尤其有用。
此外,如圖8所示,藉由ISP後端邏輯120所處理之影像資料可輸出(信號126)至顯示裝置28以供使用者檢視,及/或可藉由圖形引擎或GPU進一步處理。另外,來自ISP後端邏輯120之輸出可發送至記憶體108(信號122)且顯示器28可自記憶體108讀取影像資料(信號116),其在某些實施例中可經組態以實施一或多個圖框緩衝器。在所說明實施例中,ISP後端邏輯120之輸出亦可提供至壓縮/解壓縮引擎118(信號117)以用於編碼/解碼用於儲存及後續播放的影像資料,如上文在圖7中大體上論述。在其他實施例中,圖8之ISP子系統32可具有繞過ISP後端處理單元120之選項。在此等實施例中,若繞過後端處理單元120,則圖8之ISP子系統32可以類似於圖7所示之方式的方式操作,亦即,ISP管線82之輸出直接/間接發送至記憶體108、編碼器/解碼器118或顯示器28中之一或多者。
可藉由方法130來大體上概述圖7及圖8所示之實施例所描繪的影像處理技術,方法130係藉由圖9中之流程圖來描繪。如圖所示,方法130在區塊132處開始,在區塊132處使用感測器介面自影像感測器(例如,90)接收原始影像資料(例如,拜耳圖案資料)。在區塊134處,使用ISP前端邏輯80處理在步驟132處所接收之原始影像資料。如上文所提及,ISP前端邏輯80可經組態以應用時間濾波、分格化儲存補償濾波。接下來,在步驟136處,可藉由ISP管線82進一步處理藉由ISP前端邏輯80所處理之原始影像資料,ISP管線82可執行各種處理步驟以將原始影像資料解馬賽克為全色RGB資料且將RGB色彩資料進一步轉換為YUV或YC1C2色彩空間(其中C1及C2表示不同的色度差色彩,且其中C1及C2在一實施例中可表示藍色差(Cb)及紅色差(Cr)色度)。
自步驟136,方法130可繼續至步驟138抑或步驟160。舉例而言,在ISP管線82之輸出提供至顯示裝置28之實施例(圖7)中,方法130繼續至步驟140,其中使用顯示裝置28顯示YC1C2影像資料(或自ISP管線82發送至記憶體108)。或者,在ISP管線82之輸出係藉由ISP後端單元120(圖8)後處理之實施例中,方法130可自步驟136繼續至步驟138,其中在步驟140處藉由顯示裝置顯示ISP管線82之YC1C2輸出之前使用ISP後端處理邏輯120來處理該輸出。
歸因於本文所示之影像處理電路32的一般複雜設計,將ISP前端邏輯80、ISP管道處理邏輯82(或ISP管線)及ISP後端處理邏輯120之論述分為單獨章節可為有益的,如下文所示。特定言之,本申請案之圖10至圖97可關於ISP前端邏輯80之各種實施例及態樣的論述,本申請案之圖98至圖133可關於ISP管道處理邏輯82之各種實施例及態樣的論述,且圖134至圖142可關於ISP後端邏輯120之各種實施例及態樣的論述。
ISP前端處理邏輯
圖10為展示根據一實施例的可實施於ISP前端邏輯80中之功能邏輯區塊的更詳細方塊圖。取決於成像裝置30及/或感測器介面94之組態,如上文在圖7中所論述,原始影像資料可藉由一或多個影像感測器90提供至ISP前端邏輯80。在所描繪實施例中,原始影像資料可藉由第一影像感測器90a(Sensor0)及第二影像感測器90b(Sensor1)提供至ISP前端邏輯80。如下文將進一步論述,每一影像感測器90a及90b可經組態以將分格化儲存應用於全解析度影像資料,以便增大影像信號之信雜比。舉例而言,可應用諸如2×2分格化儲存之分格化儲存技術,其可基於相同色彩之四個全解析度影像像素而內插「經分格化儲存」(binned)原始影像像素。在一實施例中,此情形可導致存在與經分格化儲存像素相關聯之四個累積信號分量對單一雜訊分量,由此改良影像資料之信雜比,但減少整體解析度。另外,分格化儲存亦可導致影像資料之不均勻或非均一空間取樣,此情形可使用分格化儲存補償濾波予以校正,如下文將更詳細地論述。
如圖所示,影像感測器90a及90b可分別將原始影像資料提供作為信號Sif0及Sif1。影像感測器90a及90b中之每一者可通常與各別統計處理單元142(StatsPipe0)及144(StatsPipe1)相關聯,該等統計處理單元可經組態以處理影像資料以用於判定一或多組統計(如藉由信號Stats0及Stats1所指示),包括與自動曝光、自動白平衡、自動聚焦、閃爍偵測、黑階補償及透鏡遮光校正等等相關的統計。在某些實施例中,當感測器90a或90b中僅一者在作用中獲取影像時,若需要額外統計,則影像資料可發送至StatsPipe0及StatsPipe1兩者。舉例而言,提供一實例,若StatsPipe0及StatsPipe1皆可用,則StatsPipe0可用以收集一個色彩空間(例如,RGB)之統計,且StatsPipe1可用以收集另一色彩空間(例如,YUV或YCbCr)之統計。亦即,統計處理單元142及144可並行地操作,以收集藉由作用中感測器獲取之影像資料之每一圖框的多組統計。
在本實施例中,在ISP前端80中提供五個非同步資料來源。此等來源包括:(1)來自對應於Sensor0(90a)之感測器介面的直接輸入(被稱為Sif0或Sens0);(2)來自對應於Sensor1(90b)之感測器介面的直接輸入(被稱為Sif1或Sens1);(3)來自記憶體108之Sensor0資料輸入(被稱為SifIn0或Sens0DMA),其可包括DMA介面;(4)來自記憶體108之Sensor1資料輸入(被稱為SifIn1或Sens1DMA);及(5)具有來自自記憶體108所擷取之Sensor0及Sensor1資料輸入之圖框的一組影像資料(被稱為FeProcIn或ProcInDMA)。ISP前端80亦可包括來自該等來源之影像資料可投送至的多個目的地,其中每一目的地可為記憶體中(例如,108中)之儲存位置抑或處理單元。舉例而言,在本實施例中,ISP前端80包括六個目的地:(1)用於接收記憶體108中之Sensor0資料的Sif0DMA;(2)用於接收記憶體108中之Sensor1資料的Sif1DMA;(3)第一統計處理單元142(StatsPipe0);(4)第二統計處理單元144(StatsPipe1);(5)前端像素處理單元(FEProc)150;及(6)至記憶體108或ISP管線82之FeOut(或FEProcOut)(下文更詳細地論述)。在一實施例中,ISP前端80可經組態以使得僅某些目的地針對特定來源係有效的,如下文之表1所示。
表1-針對每一來源之ISP前端有效目的地的實例
舉例而言,根據表1,來源Sens0(Sensor0之感測器介面)可經組態以將資料提供至目的地SIf0DMA(信號154)、StatsPipe0(信號156)、StatsPipe1(信號158)、FEProc(信號160)或FEOut(信號162)。關於FEOut,在一些例子中,來源資料可提供至FEOut以繞過藉由FEProc之像素處理,諸如,出於除錯或測試目的。另外,來源Sens1(Sensor1之感測器介面)可經組態以將資料提供至目的地SIf1DMA(信號164)、StatsPipe0(信號166)、StatsPipe1(信號168)、FEProc(信號170)或FEOut(信號172),來源Sens0DMA(來自記憶體108之Sensor0資料)可經組態以將資料提供至StatsPipe0(信號174),來源Sens1DMA(來自記憶體108之Sensor1資料)可經組態以將資料提供至StatsPipe1(信號176),且來源ProcInDMA(來自記憶體108之Sensor0及Sensor1資料)可經組態以將資料提供至FEProc(信號178)及FEOut(信號182)。
應注意,當前所說明之實施例經組態以使得Sens0DMA(來自記憶體108之Sensor0圖框)及Sens1DMA(來自記憶體108之Sensor1圖框)分別僅提供至StatsPipe0及StatesPipe1。此組態允許ISP前端80在記憶體中保持某一數目個先前圖框(例如,5個圖框)。舉例而言,歸因於使用者使用影像感測器起始俘獲事件(例如,使影像系統自預覽模式轉變至俘獲或記錄模式,或甚至藉由僅接通或初始化影像感測器)之時間與影像場景被俘獲時之時間之間的延遲或滯後,並非使用者意欲俘獲之每一圖框皆可實質上即時地被俘獲及處理。因此,藉由在記憶體108中保持某一數目個先前圖框(例如,自預覽階段),此等先前圖框可稍後被處理或與實際上回應於俘獲事件所俘獲之圖框並排被處理,由此補償任何此滯後且提供一組更完整的影像資料。
關於圖10之所說明組態,應注意,StatsPipe0 142經組態以接收輸入156(自Sens0)、166(自Sens1)及174(自Sens0DMA)中之一者,如藉由諸如多工器之選擇邏輯146所判定。類似地,選擇邏輯148可自信號158、176及168選擇輸入以提供至StatsPipe1,且選擇邏輯152可自信號160、170及178選擇輸入以提供至FEProc。如上文所提及,統計資料(Stats0及Stats1)可提供至控制邏輯84,以用於判定可用以操作成像裝置30及/或ISP管道處理邏輯82之各種控制參數。應瞭解,圖10所示之選擇邏輯區塊(146、148及152)可藉由任何合適類型之邏輯(諸如,回應於控制信號而選擇多個輸入信號中之一者的多工器)提供。
像素處理單元(FEProc)150可經組態以逐像素地對原始影像資料執行各種影像處理操作。如圖所示,作為目的地處理單元之FEProc 150可藉由選擇邏輯152自Sens0(信號160)、Sens1(信號170)或ProcInDMA(信號178)接收影像資料。FEProc 150亦可在執行像素處理操作時接收及輸出各種信號(例如,Rin、Hin、Hout及Yout-其可表示在時間濾波期間所使用的運動歷史及明度資料),該等像素處理操作可包括時間濾波及分格化儲存補償濾波,如下文將進一步論述。像素處理單元150之輸出109(FEProcOut)可接著(諸如)經由一或多個先進先出(FIFO)佇列轉遞至ISP管道邏輯82,或可發送至記憶體108。
此外,如圖10所示,除了接收信號160、170及178之外,選擇邏輯152亦可進一步接收信號180及184。信號180可表示來自StatsPipe0之「經預處理」原始影像資料,且信號184可表示來自StatsPipe1之「經預處理」原始影像資料。如下文將論述,統計處理單元中之每一者可在收集統計之前將一或多個預處理操作應用於原始影像資料。在一實施例中,統計處理單元中之每一者可執行一定程度的有缺陷像素偵測/校正、透鏡遮光校正、黑階補償及逆黑階補償。因此,信號180及184可表示已使用前述預處理操作而處理之原始影像資料(如下文將在圖68中更詳細地論述)。因此,選擇邏輯152給予ISP前端處理邏輯80提供來自Sensor0(信號160)及Sensor1(信號170)之未經預處理原始影像資料抑或來自StatsPipe0(信號180)及StatsPipe1(信號184)之經預處理原始影像資料的彈性。另外,如藉由選擇邏輯單元186及188所示,ISP前端處理邏輯80亦具有將來自Sensor0(信號154)抑或Sensor1(信號164)之未經預處理原始影像資料寫入至記憶體108或將來自StatsPipe0(信號180)或StatsPipe1(信號184)之經預處理原始影像資料寫入至記憶體108的彈性。
為了控制ISP前端邏輯80之操作,提供前端控制單元190。控制單元190可經組態以初始化及程式化控制暫存器(在本文中被稱為「進行暫存器」(go register))以用於組態及開始影像圖框之處理,且經組態以選擇(多個)適當暫存器組以用於更新雙重緩衝資料暫存器。在一些實施例中,控制單元190亦可提供用以測錄時脈循環、記憶體潛時及服務品質(QOS)資訊的效能監視邏輯。此外,控制單元190亦可控制動態時脈閘控,該動態時脈閘控可用以在來自作用中感測器之輸入佇列中不存在足夠資料時停用至ISP前端0之一或多個部分的時脈。
在使用上文所提及之「進行暫存器」的情況下,控制單元190可能能夠控制處理單元(例如,StatsPipe0、StatsPipe1及FEProc)中之每一者之各種參數的更新,且可與感測器介面建立介面連接以控制處理單元之開始及停止。通常,前端處理單元中之每一者逐圖框地操作。如上文(表1)所論述,至處理單元之輸入可來自感測器介面(Sens0或Sens1)或來自記憶體108。此外,處理單元可利用可儲存於對應資料暫存器中之各種參數及組態資料。在一實施例中,與每一處理單元或目的地相關聯之資料暫存器可分組為形成暫存器組群組的區塊。在圖10之實施例中,七個暫存器組群組可界定於ISP前端中:SIf0、SIf1、StatsPipe0、StatsPipe1、ProcPipe、FEOut及ProcIn。每一暫存器區塊位址空間經複製以提供兩個暫存器組。僅被雙重緩衝之暫存器在第二組中具現化。若暫存器未被雙重緩衝,則第二組中之位址可映射至第一組中同一暫存器之位址。
對於被雙重緩衝之暫存器,來自一組之暫存器係作用中的且藉由處理單元使用,而來自另一組之暫存器被遮蔽。遮蔽暫存器可藉由控制單元190在當前圖框間隔期間更新,同時硬體正使用作用中暫存器。對哪一組將在特定圖框處用於特定處理單元之判定可藉由進行暫存器中的「NextBk」(下一組)欄位指定,該欄位對應於將影像資料提供至該處理單元的來源。基本上,NextBk為允許控制單元190控制哪一暫存器組在針對後續圖框之觸發事件時變得作用中的欄位。
在詳細地論述進行暫存器之操作之前,圖11提供根據本發明技術的用於逐圖框地處理影像資料之一般方法200。始於步驟202,被資料來源(例如,Sens0、Sens1、Sens0DMA、SenS1DMA或ProcInDMA)作為目標之目的地處理單元進入閒置狀態。此情形可指示:針對當前圖框之處理完成,且因此,控制單元190可準備處理下一圖框。舉例而言,在步驟204處,更新每一目的地處理單元之可程式化參數。此情形可包括(例如)更新進行暫存器中對應於來源之NextBk欄位,以及更新資料暫存器中對應於目的地單元之任何參數。此後,在步驟206處,觸發事件可使目的地單元置於執行狀態。此外,如在步驟208處所示,被來源作為目標之每一目的地單元完成其針對當前圖框之處理操作,且方法200可隨後返回至步驟202以用於處理下一圖框。
圖12描繪展示可藉由ISP前端之各種目的地單元使用之兩個資料暫存器組210及212的方塊圖視圖。舉例而言,Bank 0(210)可包括資料暫存器1-n(210a-210d),且Bank 1(212)可包括資料暫存器1-n(212a-212d)。如上文所論述,圖10所示之實施例可利用具有七個暫存器組群組(例如,SIf0、SIf1、StatsPipe0、StatsPipe1、ProcPipe、FEOut及ProcIn)之暫存器組(Bank 0)。因此,在此實施例中,每一暫存器之暫存器區塊位址空間經複製以提供第二暫存器組(Bank 1)。
圖12亦說明可對應於來源中之一者的進行暫存器214。如圖所示,進行暫存器214包括「NextVld」欄位216及上文所提及之「NextBk」欄位218。此等欄位可在開始當前圖框之處理之前被程式化。特定言之,NextVld可指示來自來源之資料待發送至的(多個)目的地。如上文所論述,NextBk可針對作為目標之每一目的地(如藉由NextVld所指示)自Bank0抑或Bank1選擇對應資料暫存器。儘管圖12中未圖示,但進行暫存器214亦可包括在本文中被稱為「進行位元」(go bit)之啟動位元(其可經設定以啟動進行暫存器)。當偵測針對當前圖框之觸發事件226時,NextVld及NextBk可複寫為對應當前或「作用中」暫存器220之CurrVld欄位222及CurrBk欄位224。在一實施例中,(多個)當前暫存器220可為可藉由硬體設定之唯讀暫存器,同時保持不可存取ISP前端80內之軟體命令。
應瞭解,對於每一ISP前端來源,可提供一對應進行暫存器。出於本發明之目的,對應於上文所論述之來源Sens0、Sens1、Sens0DMA、Sens1DMA及ProcInDMA之進行暫存器可分別被稱為Sens0Go、Sens1Go、Sens0DMAGo、Sens1DMAGo及ProcInDMAGo。如上文所提及,控制單元可利用進行暫存器以控制ISP前端80內之圖框處理的定序。每一進行暫存器含有一NextVld欄位及一NextBk欄位以針對下一圖框分別指示哪些目的地將有效及將使用哪一暫存器組(0或1)。當下一圖框之觸發事件226發生時,NextVld及NextBk欄位複寫至指示當前有效目的地及組號的對應作用中唯讀暫存器220,如上文在圖12所示。每一來源可經組態以非同步地操作且可將資料發送至其有效目的地中的任一者。此外,應理解,對於每一目的地,通常僅一個來源在當前圖框期間可為作用中的。
關於進行暫存器214之啟動及觸發,確證進行暫存器214中之啟動位元或「進行位元」會啟動與相關聯之NextVld及NextBk欄位對應的來源。對於觸發,各種模式取決於來源輸入資料是否係自記憶體(例如,Sens0DMA、Sens1DMA或ProcInDMA)讀取或來源輸入資料是否係來自感測器介面(例如,Sens0或Sens1)而為可用的。舉例而言,若輸入係來自記憶體108,則進行位元自身之啟動可充當觸發事件,此係因為控制單元190已控制何時自記憶體108讀取資料。若影像圖框正藉由感測器介面輸入,則觸發事件可取決於對應進行暫存器相對於來自感測器介面之資料何時被接收而被啟動的時序。根據本實施例,圖13至圖15中展示用於觸發來自感測器介面輸入之時序的三種不同技術。
首先參看圖13,說明第一情形,其中一旦被來源作為目標之所有目的地自繁忙或執行狀態轉變至閒置狀態,觸發隨即發生。此處,資料信號VVALID(228)表示來自來源之影像資料信號。脈衝230表示影像資料之當前圖框,脈衝236表示影像資料之下一圖框,且間隔232表示垂直消隱間隔(VBLANK)232(例如,表示當前圖框230之最後線與下一圖框236之間的時間差)。脈衝230之上升邊緣與下降邊緣之間的時間差表示圖框間隔234。因此,在圖13中,來源可經組態以在所有作為目標之目的地已結束對當前圖框230之處理操作且轉變至閒置狀態時觸發。在此情形中,來源係在目的地完成處理之前被啟動(例如,藉由設定啟動或「進行」位元),使得來源可在作為目標之目的地變得閒置後隨即觸發及起始下一圖框236之處理。在垂直消隱間隔232期間,處理單元可經設置及組態以在感測器輸入資料到達之前用於使用藉由進行暫存器所指定之對應於來源之暫存器組的下一圖框236。僅藉由實例,藉由FEProc 150使用之讀取緩衝器可在下一圖框236到達之前被填充。在此狀況下,對應於作用中暫存器組之遮蔽暫存器可在觸發事件之後被更新,由此允許完全圖框間隔設置用於下一圖框(例如,在圖框236之後)的雙重緩衝暫存器。
圖14說明第二情形,其中藉由啟動對應於來源之進行暫存器中的進行位元觸發來源。在此「觸發即進行」(trigger-on-go)組態下,被來源作為目標之目的地單元已為閒置的,且進行位元之啟動為觸發事件。此觸發模式可用於未被雙重緩衝之暫存器,且因此,在垂直消隱期間被更新(例如,相對於在圖框間隔234期間更新雙重緩衝陰影暫存器)。
圖15說明第三觸發模式,其中來源在偵測下一圖框之開始(亦即,上升VSYNC)後隨即被觸發。然而,應注意,在此模式中,若進行暫存器在下一圖框236已開始處理之後被啟動(藉由設定進行位元),則來源將使用目標目的地及對應於先前圖框之暫存器組,此係因為CurrVld及CurrBk欄位在目的地開始處理之前未被更新。此情形未留下用於設置目的地處理單元之垂直消隱間隔,且可潛在地導致已捨棄圖框(尤其是在雙感測器模式中操作時)。然而,應注意,若影像處理電路32係在針對每一圖框使用相同暫存器組(例如,目的地(NextVld)及暫存器組(NextBk)未改變)的單感測器模式中操作,則此雙感測器模式可能仍然產生準確操作。
現參看圖16,更詳細地說明控制暫存器(或「進行暫存器」)214。進行暫存器214包括啟動「進行」位元238,以及NextVld欄位216及NextBk欄位218。如上文所論述,ISP前端80之每一來源(例如,Sens0、Sens1、Sens0DMA、Sens1DMA或ProcInDMA)可具有對應進行暫存器214。在一實施例中,進行位元238可為單位元欄位,且進行暫存器214可藉由將進行位元238設定為1而啟動。NextVld欄位216可含有數目對應於ISP前端80中目的地之數目的位元。舉例而言,在圖10所示之實施例中,ISP前端包括六個目的地:Sif0DMA、Sif1DMA、StatsPipe0、StatsPipe1、FEProc及FEOut。因此,進行暫存器214可包括在NextVld欄位216中之六個位元,其中一個位元對應於每一目的地,且其中作為目標之目的地被設定為1。類似地,NextBk欄位216可含有數目對應於ISP前端80中資料暫存器之數目的位元。舉例而言,如上文所論述,圖10所示之ISP前端80的實施例可包括七個資料暫存器:SIf0、SIf1、StatsPipe0、StatsPipe1、ProcPipe、FEOut及ProcIn。因此,NextBk欄位218可包括七個位元,其中一個位元對應於每一資料暫存器,且其中對應於Bank 0及Bank 1之資料暫存器係藉由分別將其各別位元值設定為0或1而選擇。因此,在使用進行暫存器214的情況下,來源在觸發後隨即精確地知曉哪些目的地單元將接收圖框資料,且哪些暫存器組將用於組態作為目標之目的地單元。
另外,歸因於藉由ISP電路32支援之雙感測器組態,ISP前端可在單感測器組態模式(例如,僅一個感測器獲取資料)中及雙感測器組態模式(例如,兩個感測器獲取資料)中操作。在典型單感測器組態中,來自感測器介面(諸如,Sens0)之輸入資料發送至StatsPipe0(用於統計處理)及FEProc(用於像素處理)。另外,感測器圖框亦可發送至記憶體(SIf0DMA)以供未來處理,如上文所論述。
下文在表2中描繪當在單感測器模式中操作時對應於ISP前端80之每一來源之NextVld欄位可被組態之方式的實例。
表2-每來源實例之NextVld:單感測器模式
如上文參看表1所論述,ISP前端80可經組態以使得僅某些目的地針對特定來源係有效的。因此,表2中經標記有「X」之目的地意欲指示:ISP前端80未經組態以允許特定來源將圖框資料發送至彼目的地。對於此等目的地,對應於彼目的地之特定來源之NextVld欄位的位元可始終為0。然而,應理解,此僅為一實施例,且實際上,在其他實施例中,ISP前端80可經組態以使得每一來源能夠將每一可用目的地單元作為目標。
上文在表2中所示之組態表示僅Sensor0提供圖框資料的單感測器模式。舉例而言,Sens0Go暫存器指示目的地為SIf0DMA、StatsPipe0及FEProc。因此,當被觸發時,Sensor0影像資料之每一圖框發送至此等三個目的地。如上文所論述,SIf0DMA可將圖框儲存於記憶體108中以供稍後處理,StatsPipe0應用統計處理以判定各種統計資料點,且FEProc使用(例如)時間濾波及分格化儲存補償濾波處理圖框。此外,在需要額外統計(例如,不同色彩空間中之統計)之一些組態中,亦可在單感測器模式期間啟用StatsPipe1(對應NextVld設定為1)。在此等實施例中,Sensor0圖框資料發送至StatsPipe0及StatsPipe1兩者。此外,如本實施例所示,僅單一感測器介面(例如,Sens0或者Sen0)在單感測器模式期間為僅有的作用中來源。
記住此,圖17提供描繪用於在僅單一感測器為作用中(例如,Sensor0)時處理ISP前端80中之圖框資料的方法240之流程圖。儘管方法240說明(詳言之)藉由FEProc 150進行之Sensor0圖框資料的處理作為一實例,但應理解,此程序可應用於ISP前端80中的任何其他來源及對應目的地單元。始於步驟242,Sensor0開始獲取影像資料且將所俘獲之圖框發送至ISP前端80。控制單元190可初始化對應於Sens0(Sensor0介面)之進行暫存器的程式化,以判定目標目的地(包括FEProc)及將使用哪些組暫存器,如在步驟244處所示。此後,決策邏輯246判定來源觸發事件是否已發生。如上文所論述,來自感測器介面之圖框資料輸入可利用不同的觸發模式(圖13至圖15)。若未偵測觸發事件,則程序240繼續等待觸發。一旦觸發發生,下一圖框隨即變為當前圖框,且發送至FEProc(及其他目標目的地)以供在步驟248處處理。可使用基於在Sens0Go暫存器之NextBk欄位中所指定的對應資料暫存器(ProcPipe)之資料參數組態FEProc。在步驟250處完成當前圖框之處理之後,方法240可返回至步驟244,此處針對下一圖框程式化Sens0Go暫存器。
當ISP前端80之Sensor0及Sensor1兩者皆為作用中時,統計處理通常保持為直接的,此係因為每一感測器輸入可藉由各別統計區塊StatsPipe0及StatsPipe1處理。然而,因為ISP前端80之所說明實施例僅提供單一像素處理單元(FEProc),所以FEProc可經組態以在處理對應於Sensor0輸入資料之圖框與對應於Sensor1輸入資料之圖框之間交替。應瞭解,在所說明實施例中,影像圖框係自FEProc讀取以避免如下情況:其中來自一感測器之影像資料被即時處理,而來自另一感測器之影像資料並未即時處理。舉例而言,如下文在表3中所示(表3描繪在ISP前端80在雙感測器模式中操作時每一來源之進行暫存器中的NextVld欄位之一可能組態),來自每一感測器之輸入資料發送至記憶體(SIf0DMA及SIf1DMA)且發送至對應統計處理單元(StatsPipe0及StatsPipe1)。
表3-每來源實例之NextVld:雙感測器模式
記憶體中之感測器圖框自ProcInDMA來源發送至FEProc,使得其基於其對應圖框速率以一速率在Sensor0與Sensor1之間交替。舉例而言,若Sensor0及Sensor1皆以30個圖框/秒(fps)之速率獲取影像資料,則其感測器圖框可以1對 1方式交錯。舉例而言,若Sensor0(30 fps)以Sensor1(15 fps)之速率之兩倍的速率獲取影像資料,則交錯可為2對1。亦即,針對Sensor1資料之每一圖框,Sensor0資料之兩個圖框自記憶體讀出。
記住此,圖18描繪用於處理具有同時獲取影像資料之兩個感測器的ISP前端80中之圖框資料的方法252。在步驟254處,Sensor0及Sensor1兩者開始獲取影像圖框。應瞭解,Sensor0及Sensor1可使用不同之圖框速率、解析度等等來獲取影像圖框。在步驟256處,將來自Sensor0及Sensor1之所獲取圖框寫入至記憶體108(例如,使用SIf0DMA及SIf1DMA目的地)。接下來,來源ProcInDMA以交替方式自記憶體108讀取圖框資料,如在步驟258處所指示。如所論述,圖框可取決於獲取資料時之圖框速率而在Sensor0資料與Sensor1資料之間交替。在步驟260處,獲取來自ProcInDMA之下一圖框。此後,在步驟262處,取決於下一圖框為Sensor0資料抑或Sensor1資料而程式化對應於來源(此處為ProcInDMA)的進行暫存器之NextVld及NextBk欄位。此後,決策邏輯264判定來源觸發事件是否已發生。如上文所論述,可藉由啟動進行位元(例如,「觸發即進行」模式)而觸發來自記憶體的資料輸入。因此,一旦將進行暫存器之進行位元設定為1,觸發隨即可發生。一旦觸發發生,下一圖框隨即變為當前圖框,且發送至FEProc以供在步驟266處處理。如上文所論述,可使用基於在ProcInDMA進行暫存器之NextBk欄位中所指定的對應資料暫存器(ProcPipe)之資料參數組態FEProc。在步驟268處完成當前圖框之處理之後,方法252可返回至步驟260且繼續。
ISP前端80經組態以處置之另一操作事件係在影像處理期間的組態改變。舉例而言,當ISP前端80自單感測器組態轉變至雙感測器組態或自雙感測器組態轉變至單感測器組態時,此事件可發生。如上文所論述,某些來源之NextVld欄位可取決於一個抑或兩個影像感測器在作用中而可為不同的。因此,當感測器組態改變時,ISP前端控制單元190可在所有目的地單元被新來源作為目標之前釋放該等目的地單元。此情形可避免無效組態(例如,將多個來源指派至一個目的地)。在一實施例中,可藉由以下操作而實現目的地單元之釋放:將所有進行暫存器之NextVld欄位設定為0,由此停用所有目的地,且啟動進行位元。在釋放目的地單元之後,進行暫存器可取決於當前感測器模式而重新組態,且影像處理可繼續。
根據一實施例,在圖19中展示用於在單感測器組態與雙感測器組態之間切換的方法270。始於步驟272,識別來自ISP前端80之特定來源之影像資料的下一圖框。在步驟274處,將目標目的地(NextVld)程式化至對應於該來源之進行暫存器中。接下來,在步驟276處,取決於目標目的地,將NextBk程式化為指向與該等目標目的地相關聯之正確資料暫存器。此後,決策邏輯278判定來源觸發事件是否已發生。一旦觸發發生,隨即將下一圖框發送至藉由NextVld所指定之目的地單元且藉由該等目的地單元使用藉由NextBk所指定的對應資料暫存器來處理,如在步驟280處所示。處理繼續直至步驟282為止,在步驟282處當前圖框之處理完成。
隨後,決策邏輯284判定是否存在該來源之目標目的地之改變。如上文所論述,對應於Sens0及Sens1之進行暫存器的NextVld設定可取決於一個感測器抑或兩個感測器在作用中而變化。舉例而言,參看表2,若僅Sensor0為作用中的,則將Sensor0資料發送至SIf0DMA、StatsPipe0及FEProc。然而,參看表3,若Sensor0及Sensor1兩者為作用中的,則並不將Sensor0資料直接發送至FEProc。實情為,如上文所提及,Sensor0及Sensor1資料寫入至記憶體108,且藉由來源ProcInDMA以交替方式讀出至FEProc。因此,若在決策邏輯284處未偵測目標目的地改變,則控制單元190推斷感測器組態尚未改變,且方法270返回至步驟276,在步驟276處將來源進行暫存器之NextBk欄位程式化為指向用於下一圖框的正確資料暫存器,且繼續。
然而,若在決策邏輯284處偵測目的地改變,則控制單元190判定感測器組態改變已發生。舉例而言,此情形可表示自單感測器模式切換至雙感測器模式,或完全斷開該等感測器。因此,方法270繼續至步驟286,在步驟286處將所有進行暫存器之NextVld欄位的所有位元設定為0,由此有效地停用圖框在下次觸發時至任何目的地的發送。接著,在決策邏輯288處,進行關於是否所有目的地單元已轉變至閒置狀態之判定。若否,則方法270在決策邏輯288處等待,直至所有目的地單元已完成其當前操作為止。接下來,在決策邏輯290處,進行關於影像處理是否繼續之判定。舉例而言,若目的地改變表示Sensor0及Sensor1兩者之撤銷啟動,則影像處理在步驟292處結束。然而,若判定影像處理將繼續,則方法270返回至步驟274且根據當前操作模式(例如,單感測器或雙感測器)程式化進行暫存器的NextVld欄位。如此處所示,藉由參考數字294來全體指代用於清除進行暫存器及目的地欄位的步驟284至292。
接下來,圖20藉由提供另一雙感測器操作模式之流程圖(方法296)來展示另一實施例。方法296描繪如下情況:其中一感測器(例如,Sensor0)在作用中獲取影像資料且將影像圖框發送至FEProc 150以供處理,同時亦將影像圖框發送至StatsPipe0及/或記憶體108(Sif0DMA),而另一感測器(例如,Sensor1)為非作用中的(例如,斷開),如在步驟298處所示。決策邏輯300接著偵測Sensor1將對下一圖框變為作用中的以將影像資料發送至FEProc的情況。若未滿足此條件,則方法296返回至步驟298。然而,若滿足此條件,則方法296藉由執行動作294(總體而言為圖19之步驟284至292)而繼續進行,藉以,來源之目的地欄位得以清除且在步驟294處重新組態。舉例而言,在步驟294處,可將與Sensor1相關聯之進行暫存器的NextVld欄位程式化為指定FEProc作為目的地,以及StatsPipe1及/或記憶體(Sif1DMA),而可將與Sensor0相關聯之進行暫存器的NextVld欄位程式化為清除FEProc作為目的地。在此實施例中,儘管藉由Sensor0所俘獲之圖框中的下一圖框未發送至FEProc,但Sensor0可保持為作用中的且繼續將其影像圖框發送至StatsPipe0,如在步驟302處所示,而Sensor1俘獲資料且將資料發送至FEProc以供在步驟304處處理。因此,兩個感測器(Sensor0及Sensor1)可繼續在此「雙感測器」模式中操作,但僅來自一感測器之影像圖框發送至FEProc以供處理。為此實例之目的,將圖框發送至FEProc以供處理之感測器可被稱為「作用中感測器」,未將圖框發送至FEProc但仍將資料發送至統計處理單元的感測器可被稱為「半作用中感測器」,且根本並未獲取資料之感測器可被稱為「非作用中感測器」。
前述技術之一益處在於:因為統計繼續針對半作用中感測器(Sensor0)被獲取,所以在下次半作用中感測器轉變至作用中狀態且當前作用中感測器(Sensor1)轉變至半作用中或非作用中狀態時,半作用中感測器可開始在一圖框內獲取資料,此係因為歸因於影像統計之繼續收集,色彩平衡及曝光參數可已為可用的。此技術可被稱為影像感測器之「熱切換」,且避免與影像感測器之「冷起動」相關聯的缺點(例如,在無統計資訊可用之情況下起動)。此外,為了節省電力,因為每一來源為非同步的(如上文所提及),所以半作用中感測器可在半作用中週期期間在減少之時脈及/或圖框速率下操作。
在繼續圖10之ISP前端邏輯80所描繪之統計處理及像素處理操作的更詳細描述之前,據信關於可結合當前揭示之技術使用的若干類型之記憶體定址格式的簡要介紹以及各種ISP圖框區域之界定將幫助促進對本標的的更好理解。
現參看圖21及圖22,分別說明可應用於自(多個)影像感測器90所接收及儲存至記憶體(例如,108)中之像素資料的線性定址模式及發光塊式定址模式。在所描繪實施例中,可基於64個位元組之主機介面區塊請求大小。應瞭解,其他實施例可利用不同的區塊請求大小(例如,32個位元組、128個位元組等等)。在圖21所示之線性定址模式中,影像樣本以順序次序位於記憶體中。術語「線性跨距」(linear stride)指定2個鄰近垂直像素之間的以位元組為單位的距離。在本實例中,平面之開始基本位址對準至64位元組邊界,且線性跨距可為64之倍數(基於區塊請求大小)。
在發光塊式模式格式之實例中,如圖22所示,影像樣本首先順序地配置於「發光塊」(tile)中,其接著順序地儲存於記憶體中。在所說明實施例中,每一發光塊可為256位元組寬乘16列高。術語「發光塊跨距」(tile stride)應被理解為指代2個鄰近垂直發光塊之間的以位元組為單位的距離。在本實例中,處於發光塊式模式中之平面的開始基本位址對準至4096位元組邊界(例如,發光塊之大小),且發光塊跨距可為4096的倍數。
記住此,在圖23中說明可在影像來源圖框內界定之各種圖框區域。提供至影像處理電路32之來源圖框的格式可使用上文所論述之發光塊式抑或線性定址模式,如可利用8、10、12、14或16位元精確度下的像素格式。如圖23所示,影像來源圖框306可包括感測器圖框區域308、原始圖框區域310及作用中區域312。感測器圖框308通常為影像感測器90可提供至影像處理電路32之最大圖框大小。原始圖框區域310可定義為感測器圖框308之發送至ISP前端處理邏輯80的區域。作用中區域312可定義為來源圖框306之一部分,其通常在原始圖框區域310內,針對特定影像處理操作對其執行處理。根據本發明技術之實施例,作用中區域312可為相同的或針對不同之影像處理操作可為不同的。
根據本發明技術之態樣,ISP前端邏輯80僅接收原始圖框310。因此,為本論述之目的,ISP前端處理邏輯80之全域圖框大小可假設為原始圖框大小,如藉由寬度314及高度316判定。在一些實施例中,自感測器圖框308之邊界至原始圖框310的位移可藉由控制邏輯84判定及/或維持。舉例而言,控制邏輯84可包括可基於關於感測器圖框308所指定之輸入參數(諸如,x位移318及y位移320)判定原始圖框區域310的韌體。此外,在一些狀況下,ISP前端邏輯80內之處理單元或ISP管道邏輯82可具有經界定之作用中區域,使得在原始圖框中但在作用中區域312外部的像素將不會被處理,亦即,保持未改變。舉例而言,可基於相對於原始圖框310之x位移326及y位移328而界定具有寬度322及高度324的針對特定處理單元之作用中區域312。此外,在並未特定地界定作用中區域之情況下,影像處理電路32之一實施例可假設作用中區域312與原始圖框310相同(例如,x位移326及y位移328皆等於0)。因此,為對影像資料所執行之影像處理操作的目的,可關於原始圖框310或作用中區域312之邊界定義邊界條件。另外,在一些實施例中,可藉由在記憶體中識別開始及結束位置而非開始位置及視窗大小資訊來指定視窗(圖框)。
在一些實施例中,ISP前端處理單元(FEProc)80亦可藉由重疊之垂直條帶來支援處理影像圖框,如圖24所示。舉例而言,本實例中之影像處理可以三遍(藉由左側條帶(Stripe0)、中間條帶(Stripe1)及右側條帶(Stripe2))發生。此情形可允許ISP前端處理單元80以多個遍次處理較寬之影像,而無需增大行緩衝器大小。此技術可被稱為「跨距定址」(stride addressing)。
當藉由多個垂直條帶處理影像圖框時,在有一定程度重疊之情況下讀取輸入圖框以允許足夠的濾波器內容背景重疊,使得在以多個遍次對以單遍讀取影像之間存在極小或無差異。舉例而言,在本實例中,具有寬度SrcWidth0之Stripe0與具有寬度SrcWidth1之Stripe1部分地重疊,如藉由重疊區域330所指示。類似地,Stripe1亦在右側上與具有寬度SrcWidth2之Stripe2重疊,如藉由重疊區域332所指示。此處,總跨距為每一條帶之寬度的總和(SrcWidth0、SrcWidth1、SrcWidth2)減去重疊區域330及332之寬度(334、336)。當將影像圖框寫入至記憶體(例如,108)時,界定作用中輸出區域,且僅寫入輸出作用中區域內部的資料。如圖24所示,在寫入至記憶體時,基於ActiveDst0、ActiveDst1及ActiveDst2之非重疊寬度寫入每一條帶。
如上文所論述,影像處理電路32可直接自感測器介面(例如,94)接收影像資料,或可自記憶體108(例如,DMA記憶體)接收影像資料。在自記憶體提供傳入資料之情況下,影像處理電路32及ISP前端處理邏輯80可經組態以提供位元組交換,其中來自記憶體之傳入像素資料可在處理之前進行位元組交換。在一實施例中,交換碼可用以指示來自記憶體之傳入資料的鄰近雙字組、字組、半字組或位元組是否被交換。舉例而言,參看圖25,可使用四位元交換碼對16位元組(位元組0-15)資料組執行位元組交換。
如圖所示,交換碼可包括四個位元,其自左至右可被稱為bit3、bit2、bit1及bit0。當所有位元設定為0時,如藉由參考數字338所示,不執行位元組交換。當bit3設定為1時,如藉由參考數字340所示,交換雙字組(例如,8個位元組)。舉例而言,如圖25所示,用藉由位元組8-15所表示之雙字組交換藉由位元組0-7所表示的雙字組。若bit2設定為1,如藉由參考數字342所示,則執行字組(例如,4個位元組)交換。在所說明實例中,此情形可導致藉由位元組8-11所表示之字組以藉由位元組12-15所表示的字組交換,且藉由位元組0-3所表示之字組以藉由位元組4-7所表示的字組交換。類似地,若bit1設定為1,如藉由參考數字344所示,則執行半字組(例如,2個位元組)交換(例如,位元組0-1以位元組2-3交換等),且若bit0設定為1,如藉由參考數字346所示,則執行位元組交換。
在本實施例中,藉由以有序方式評估交換碼之位元3、2、1及0而執行交換。舉例而言,若位元3及2設定為值1,則首先執行雙字組交換(bit3),繼之以字組交換(bit2)。因此,如圖25所示,當交換碼設定為「1111」時,最終結果為傳入資料自小端序格式交換至大端序格式。
接下來,根據某些所揭示實施例更詳細地論述可藉由用於原始影像資料(例如,拜耳RGB資料)、RGB色彩資料及YUV(YCC、明度/色度資料)之影像處理電路32支援的用於影像像素資料之各種記憶體格式。首先,論述可藉由影像處理電路32之實施例支援的在目的地/來源圖框中之原始影像像素(例如,在解馬賽克之前的拜耳資料)的格式。如所提及,某些實施例可支援影像像素在8、10、12、14及16位元精確度下的處理。在原始影像資料之內容背景中,8、10、12、14及16位元原始像素格式在本文中可分別被稱為RAW8、RAW10、RAW12、RAW14及RAW16格式。在圖26中以圖形解封裝形式展示展示RAW8、RAW10、RAW12、RAW14及RAW16格式中之每一者可儲存於記憶體中之方式的實例。針對具有大於8個位元(且並非8位元之倍數)之位元精確度的原始影像格式,亦可以封裝格式儲存像素資料。舉例而言,圖27展示RAW10影像像素可儲存於記憶體中之方式的實例。類似地,圖28及圖29說明RAW12及RAW14影像像素可藉以儲存於記憶體中之實例。如下文將進一步論述,當將影像資料寫入至記憶體/自記憶體讀取影像資料時,與感測器介面94相關聯之控制暫存器可定義目的地/來源像素格式,無論像素係處於封裝抑或解封裝格式、定址格式(例如,線性或發光塊式)及交換碼。因此,像素資料藉由ISP處理電路32讀取及解譯之方式可取決於像素格式。
影像信號處理(ISP)電路32亦可支援感測器介面來源/目的地圖框(例如,310)中之某些格式的RGB色彩像素。舉例而言,RGB影像圖框可自感測器介面接收(例如,在感測器介面包括機上解馬賽克邏輯之實施例中)且保存至記憶體108。在一實施例中,當RGB圖框被接收時,ISP前端處理邏輯80(FEProc)可繞過像素及統計處理。僅藉由實例,影像處理電路32可支援以下RGB像素格式:RGB-565及RGB-888。在圖30中展示RGB-565像素資料可儲存於記憶體中之方式的實例。如所說明,RGB-565格式可以RGB次序提供交錯之5位元紅色色彩分量、6位元綠色色彩分量及5位元藍色色彩分量的一平面。因此,總共16個位元可用以表示RGB-565像素(例如,{R0,G0,B0}或{R1,G1,B1})。
如圖31所描繪,RGB-888格式可包括以RGB次序之交錯之8位元紅色、綠色及藍色色彩分量的一平面。在一實施例中,ISP電路32亦可支援RGB-666格式,其通常以RGB次序提供交錯之6位元紅色、綠色及藍色色彩分量的一平面。在此實施例中,當選擇RGB-666格式時,可使用圖31所示之RGB-888格式將RGB-666像素資料儲存於記憶體中,但其中每一像素左側對齊且兩個最低有效位元(LSB)設定為0。
在某些實施例中,ISP電路32亦可支援允許像素具有延伸之範圍及浮點值精確度的RGB像素格式。舉例而言,在一實施例中,ISP電路32可支援圖32所示之RGB像素格式,其中紅色(R0)、綠色(G0)及藍色(B0)分量表達為8位元值,具有共用的8位元指數(E0)。因此,在此實施例中,藉由R0、G0、B0及E0所定義之實際紅色(R')、綠色(G')及藍色(B')值可表達為:
R'=R0[7:0]*2^E0[7:0]
G'=G0[7:0]*2^E0[7:0]
B'=B0[7:0]*2^E0[7:0]
此像素格式可被稱為RGBE格式,其有時亦被稱作Radiance影像像素格式。
圖33及圖34說明可藉由ISP電路32支援之額外RGB像素格式。特定言之,圖33描繪可儲存具有5位元共用指數之9位元紅色、綠色及藍色色彩分量的像素格式。舉例而言,每一紅色、綠色及藍色像素之上八個位元[8:1]以各別位元組儲存於記憶體中。額外位元組用以儲存5位元指數(例如,E0[4:0])及每一紅色、綠色及藍色像素的最低有效位元[0]。因此,在此實施例中,藉由R0、G0、B0及E0所定義之實際紅色(R')、綠色(G')及藍色(B')值可表達為:
R'=R0[8:0]*2^E0[4:0]
G'=G0[8:0]*2^E0[4:0]
B'=B0[8:0]*2^E0[4:0]
此外,圖33所說明之像素格式亦為靈活的,原因在於其可與圖31所示之RGB-888格式相容。舉例而言,在一些實施例中,ISP處理電路32可處理具有指數分量之全RGB值,或亦可以類似於RGB-888格式之方式僅處理每一RGB色彩分量的上8位元部分[7:1]。
圖34描繪可儲存具有2位元共用指數之10位元紅色、綠色及藍色色彩分量的像素格式。舉例而言,每一紅色、綠色及藍色像素之上8位元[9:2]以各別位元組儲存於記憶體中。額外位元組用以儲存2位元指數(例如,E0[1:0])及每一紅色、綠色及藍色像素的最低有效2位元[1:0]。因此,在此實施例中,藉由R0、G0、B0及E0所定義之實際紅色(R')、綠色(G')及藍色(B')值可表達為:
R'=R0[9:0]*2^E0[1:0]
G'=G0[9:0]*2^E0[1:0]
B'=B0[9:0]*2^E0[1:0]
另外,如同圖33所示之像素格式,圖34所說明之像素格式亦為靈活的,原因在於其可與圖31所示之RGB-888格式相容。舉例而言,在一些實施例中,ISP處理電路32可處理具有指數分量之全RGB值,或亦可以類似於RGB-888格式之方式僅處理每一RGB色彩分量的上8位元部分(例如,[9:2])。
ISP電路32亦可進一步支援感測器介面來源/目的地圖框(例如,310)中之某些格式的YCbCr(YUV)明度及色度像素。舉例而言,YCbCr影像圖框可自感測器介面接收(例如,在感測器介面包括機上解馬賽克邏輯及經組態以將RGB影像資料轉換為YCC色彩空間之邏輯的實施例中)且保存至記憶體108。在一實施例中,當YCbCr圖框被接收時,ISP前端處理邏輯80可繞過像素及統計處理。僅藉由實例,影像處理電路32可支援以下YCbCr像素格式:YCbCr-4:2:08,2平面;及YCbCr-4:2:28,1平面。
YCbCr-4:2:0,2平面像素格式可在記憶體中提供兩個單獨的影像平面,一個用於明度像素(Y)且一個用於色度像素(Cb、Cr),其中色度平面使Cb及Cr像素樣本交錯。另外,色度平面可在水平(x)及垂直(y)方向兩者上被子取樣二分之一。在圖35中展示展示YCbCr-4:2:0,2平面資料可儲存於記憶體中之方式的實例,其描繪用於儲存明度(Y)樣本之明度平面347及用於儲存色度(Cb、Cr)樣本的色度平面348。展示於圖36中之YCbCr-4:2:28,1平面可包括交錯之明度(Y)及色度(Cb、Cr)像素樣本之一影像平面,其中色度樣本在水平(x)及垂直(y)方向兩者上被子取樣二分之一。在一些實施例中,ISP電路32亦可藉由使用具有捨位(例如,10位元資料之兩個最低有效位元捨去)之上述8位元格式將像素樣本保存至記憶體來支援10位元YCbCr像素格式。此外,應瞭解,亦可使用上文在圖30至圖34中所論述之RGB像素格式中的任一者來儲存YC1C2值,其中Y、C1及C2分量中之每一者係以與R、G及B分量相似的方式儲存。
返回參考圖10所示之ISP前端處理邏輯80,提供至記憶體108之各種讀取及寫入通道。在一實施例中,讀取/寫入通道可共用共同資料匯流排,該資料匯流排可使用諸如進階可擴展介面(AXI)匯流排或任何其他合適類型之匯流排(AHB、ASB、APB、ATB等)的進階微控制器匯流排架構來提供。取決於如上文所論述可經由控制暫存器判定之影像圖框資訊(例如,像素格式、位址格式、封裝方法),位址產生區塊(其可實施為控制邏輯84之部分)可經組態以將位址及叢發大小資訊提供至匯流排介面。藉由實例,位址計算可取決於各種參數,諸如像素資料經封裝抑或解封裝、像素資料格式(例如,RAW8、RAW10、RAW12、RAW14、RAW16、RGB或YCbCr/YUV格式)、使用發光塊式抑或線性定址格式,影像圖框資料相對於記憶體陣列之x位移及y位移,以及圖框寬度、高度及跨距。可用於計算像素位址之其他參數可包括最小像素單元值(MPU)、位移遮罩、每MPU值之位元組(BPPU),及MPU值之Log2(L2MPU)。根據一實施例,下文所示之表4說明用於經封裝及經解封裝之像素格式的前述參數。
表4-像素位址計算參數(MPU、L2MPU、BPPU)
應理解,MPU及BPPU設定允許ISP電路32估定需要讀取之像素的數目以便讀取一像素,即使在並不需要所有讀取資料時亦如此。亦即,MPU及BPPU設定可允許ISP電路32以與記憶體位元組對準(例如,8個位元(1位元組)之倍數用以儲存像素值)及與記憶體位元組未對準(例如,像素值係使用少於或大於8個位元(1位元組)之倍數來儲存,亦即,RAW10、RAW12等)兩者的像素資料格式來讀取。
參看圖37,說明展示在線性定址下儲存於記憶體中之影像圖框350之位置的實例,其中每一區塊表示64個位元組(如上文在圖21中所論述)。在一實施例中,以下偽碼說明可藉由控制邏輯實施以在線性定址中識別所儲存圖框之開始區塊及區塊寬度的程序:
BlockWidth=LastBlockX-BlockOffsetX+1;wherein
BlockOffsetX=(((OffsetX>>L2MPU)*BPPU)>>6)
LastBlockX=((((OffsetX+Width-1)>>L2MPU)*BPPU+ BPPU-1)>>6)
BlockStart=OffsetY*Stride+BlockOffsetX
其中Stride表示以位元組為單位之圖框跨距且為64之倍數。舉例而言,在圖37中,SrcStride及DstStride為4,從而意謂64個位元組之4個區塊。參看上文之表4,L2MPU及BPPU之值可取決於圖框350中之像素的格式。如圖所示,一旦已知BlockOffsetX,隨即可判定BlockStart。可隨後使用BlockOffsetX及LastBlockX來判定BlockWidth,BlockOffsetX及LastBlockX可使用對應於圖框350之像素格式的L2MPU及BPPU的值來判定。
在圖38中描繪在發光塊式定址下之類似實例,其中來源影像圖框(此處藉由參考數字352來提及)儲存於記憶體中且重疊Tile 0、Tile 1、Tile n及Tile n+1的一部分。在一實施例中,以下偽碼說明可藉由控制邏輯實施以在發光塊式定址中識別所儲存圖框之開始區塊及區塊寬度的程序
BlockWidth=LastBlockX-BlockOffsetX+1;wherein
BlockOffsetX=(((OffsetX>>L2MPU)*BPPU)>>6)
LastBlockX=((((OffsetX+Width-1)>>L2MPU)*BPPU+ BPPU-1)>>6)
BlockStart=((OffsetY>>4)*(Stride>>6)+(BlockOffsetX>>2)*64+OffsetY[3:0]*4+(BlockOffsetX[1:0])
在上文所描繪之計算中,表達式「(OffsetY>>4)*(Stride>>6)」可表示到達影像圖框位於記憶體中之發光塊列的區塊之數目。表達式「(BlockOffsetX>>2)*64」可表示所儲存影像圖框在x方向上位移之區塊的數目。表達式「OffsetY[3:0]*4」可表示到達定位有影像圖框之開始位址的發光塊內之列的區塊之數目。此外,表達式「BlockOffsetX[1:0]」可表示到達對應於影像圖框之開始位址的發光塊內之x位移的區塊之數目。另外,在圖38所說明之實施例中,用於每一發光塊之區塊的數目(BlocksPerTile)可為64個區塊,且每區塊之位元組的數目(BytesPerBlock)可為64個位元組。
如上文在表4中所示,針對以RAW10、RAW12及RAW14封裝格式所儲存之像素,四個像素分別構成五個、六個或七個位元組(BPPU)之最小像素單元(MPU)。舉例而言,參考圖27所示之RAW10像素格式實例,四個像素P0-P3之MPU包括5個位元組,其中像素P0-P3中之每一者的上8個位元儲存於四個各別位元組中,且該等像素中之每一者的下2個位元組儲存於32位元位址01h的位元0-7中。類似地,返回參看圖28,使用RAW12格式之四個像素P0-P3的MPU包括6個位元組,其中像素P0及P1之下4個位元儲存於對應於位址00h之位元16-23的位元組中且像素P2及P3之下4個位元儲存於對應於位址01h之位元8-15的位元組中。圖29將使用RAW14格式之四個像素P0-P3的MPU展示為包括7個位元組,其中4個位元組用於儲存MPU之每一像素的上8個位元且3個位元組用於儲存MPU之每一像素的下6個位元。
使用此等像素格式,在圖框行之結束時具有部分MPU(其中使用MPU之小於四個像素(例如,當行寬度模4為非零時))為可能的。當讀取部分MPU時,可忽略未使用之像素。類似地,當將部分MPU寫入至目的地圖框時,未使用之像素可寫入有零值。此外,在一些例子中,圖框行之最後MPU可能不對準至64位元組區塊邊界。在一實施例中,未寫入在最後MPU之後且直至最後64位元組區塊之結束的位元組。
根據本發明之實施例,ISP處理電路32亦可經組態以提供溢位處置。舉例而言,溢位條件(亦被稱為「滿溢」)可在如下某些情形下發生:其中ISP前端處理邏輯80自其自己之內部處理單元、自下游處理單元(例如,ISP管線82及/或ISP後端處理邏輯120),或自目的地記憶體(例如,影像資料待寫入之處)接收反壓力。當像素資料快於一或多個處理區塊能夠處理資料或快於資料可寫入至目的地(例如,記憶體108)被讀入(例如,自感測器介面抑或記憶體)時,溢位條件可發生。
如下文將進一步論述,讀取記憶體及寫入至記憶體可促進溢位條件。然而,由於輸入資料經儲存,因此在溢位條件之狀況下,ISP電路32可簡單地停止輸入資料之讀取直至溢位條件復原為止。然而,當直接自影像感測器讀取影像資料時,「實況」資料通常不可停止,此係由於影像感測器通常即時地獲取影像資料。舉例而言,影像感測器(例如,90)可根據時序信號基於其自己的內部時脈操作,且可經組態而以某一圖框速率(諸如,15或30個圖框/秒(fps))輸出影像圖框。至ISP電路32及記憶體108之感測器輸入可由此包括輸入佇列,該等輸入佇列可在傳入之影像資料經處理(藉由ISP電路32)或寫入至記憶體(例如,108)之前緩衝該資料。因此,若影像資料在輸入佇列處快於其可讀出於該佇列且經處理或儲存(例如,寫入至記憶體)而被接收,則溢位條件可發生。亦即,若緩衝器/佇列為滿,則額外之傳入像素不可被緩衝,且取決於所實施之溢位處置技術可被丟棄。
圖39展示ISP處理電路32之方塊圖,且聚焦於可根據一實施例提供溢位處置之控制邏輯84的特徵。如所說明,與Sensor0 90a及Sensor1 90b相關聯之影像資料可自記憶體108讀入(分別藉由介面174及176)至ISP前端處理邏輯80(FEProc),或可直接自各別感測器介面提供至ISP前端處理邏輯80。在後者狀況下,在發送至ISP前端處理邏輯80之前,來自影像感測器90a及90b的傳入之像素資料可分別傳遞至輸入佇列400及402。
當溢位條件發生時,發生溢位之(多個)處理區塊(例如,區塊80、82或120)或記憶體(例如,108)可提供信號(如藉由信號405、407及408所指示)以設定中斷請求(IRQ)暫存器404中的位元。在本實施例中,IRQ暫存器404可實施為控制邏輯84之部分。另外,可針對Sensor0影像資料及Sensor1影像資料中之每一者實施單獨的IRQ暫存器404。基於儲存於IRQ暫存器404中之值,控制邏輯84可能能夠判定ISP處理區塊80、82、120或記憶體108內之哪些邏輯單元產生溢位條件。邏輯單元可被稱為「目的地單元」,此係由於其可構成像素資料所發送至的目的地。基於溢位條件,控制邏輯84亦可(例如,經由韌體/軟體處置)掌控哪些圖框被丟棄(例如,未寫入至記憶體抑或未輸出至顯示器以供檢視)。
一旦偵測溢位條件,攜載溢位處置之方式隨即可取決於ISP前端係自記憶體108抑或自影像感測器輸入佇列(例如,緩衝器)400、402(其在一實施例中可為先進先出(FIFO)佇列)讀取像素資料。在一實施例中,當輸入像素資料係經由(例如)相關聯之DMA介面(例如,174或176)自記憶體108讀取時,若ISP-前端由於所偵測之溢位條件(例如,經由使用IRQ暫存器404之控制邏輯84)而自任何下游目的地區塊接收反壓力,則ISP-前端將停止像素資料之讀取,該等下游目的地區塊可包括ISP管線82、ISP後端處理邏輯120,或在ISP前端邏輯80之輸出寫入至記憶體108的情況下包括記憶體108。在此情形中,控制邏輯84可藉由停止像素資料自記憶體108之讀取直至溢位條件復原為止而防止溢位。舉例而言,當引起溢位條件之下游單元設定IRQ暫存器404中的指示溢位不再發生之對應位元時,可用信號通知溢位復原。藉由圖40之方法410的步驟412-420大體上說明此程序之一實施例。
儘管可通常在感測器輸入佇列處監視溢位條件,但應理解,許多額外佇列可存在於ISP子系統32之處理單元(例如,包括ISP前端邏輯80、ISP管線82,以及ISP後端邏輯120之內部單元)之間。另外,ISP子系統32之各種內部單元亦可包括行緩衝器,該等行緩衝器亦可充當佇列。因此,ISP子系統32之所有佇列及行緩衝器可提供緩衝。因此,當處理區塊之特定鏈中的最後處理區塊為滿(例如,其行緩衝器及任何中間佇列為滿)時,反壓力可施加至先前(例如,上游)處理區塊等等,使得反壓力傳播通過邏輯鏈直至其到達感測器介面(此處可監視溢位條件)為止。因此,當在感測器介面處發生溢位時,其可意謂所有下游佇列及行緩衝器為滿。
如圖40所示,方法410在區塊412處開始,此處將用於當前圖框之像素資料自記憶體讀取至ISP前端處理單元80。決策邏輯414接著判定是否存在溢位條件。如上文所論述,此可藉由判定該(等)IRQ暫存器404中之位元的狀態來估定。若未偵測溢位條件,則方法410返回至步驟412且繼續自當前圖框讀入像素。若藉由決策邏輯414偵測溢位條件,則方法410停止自記憶體讀取當前圖框之像素,如在區塊416處所示。接下來,在決策邏輯418處,判定溢位條件是否已復原。若溢位條件仍持續,則方法410在決策邏輯418處等待直至溢位條件復原為止。若決策邏輯418指示溢位條件已復原,則方法410繼續進行至區塊420且繼續自記憶體讀取當前圖框的像素資料。
當溢位條件在輸入像素資料自該(等)感測器介面讀入之同時發生時,中斷可指示哪些下游單元(例如,處理區塊或目的地記憶體)產生溢位。在一實施例中,可基於兩種情形提供溢位處置。在第一情形中,溢位條件在一影像圖框期間發生,但在後續影像圖框之開始之前復原。在此狀況下,來自影像感測器之輸入像素被丟棄直至溢位條件復原為止,且空間在對應於影像感測器之輸入佇列中變得可用。控制邏輯84可提供計數器406,計數器406可追蹤經丟棄像素及/或經丟棄圖框之數目。當溢位條件復原時,可用未定義像素值(例如,全1(例如,用於14位元像素值之11111111111111)、全0,或程式化至資料暫存器中設定未定義像素值為何的值)來替換經丟棄之像素,且下游處理可繼續。在另一實施例中,可用先前未溢位像素(例如,讀取至輸入緩衝器中之最後(良好)像素)來替換經丟棄之像素。此情形確保正確數目個像素(例如,對應於在完整圖框中所預期之像素之數目的多個像素)發送至ISP前端處理邏輯80,由此使得ISP前端處理邏輯80能夠在溢位發生時輸出用於正自感測器輸入佇列讀入之圖框的正確數目個像素。
儘管正確數目個像素可在此第一情形下藉由ISP前端輸出,但取決於在溢位條件期間所丟棄及替換之像素的數目,可實施為控制邏輯84之部分的軟體處置(例如,韌體)可選擇丟棄(例如,排除)圖框以防發送至顯示器及/或寫入至記憶體。此判定可基於(例如)與可接受之經丟棄像素臨限值相比的經丟棄像素計數器406之值。舉例而言,若溢位條件僅在圖框期間簡短地發生使得僅相對小量之像素被丟棄(例如,且用未定義或虛設值替換;例如,10-20個像素或更少),則控制邏輯84可選擇顯示及/或儲存此影像而不管該小數目個經丟棄之像素,即使替換像素之出現可在所得影像中非常簡短地表現為微小假影亦如此。然而,歸因於該小數目個替換像素,此假影可通常未引起注意或可由使用者在邊上感知。亦即,任何此等假影歸因於來自簡短溢位條件之未定義像素的存在可能不會使影像之美學品質顯著降級(例如,任何此降級為最小限度的或對人眼而言為可忽略的)。
在第二情形中,溢位條件可保持存在至後續影像圖框之開始中。在此狀況下,當前圖框之像素亦如同上文所述之第一情形而丟棄及計數。然而,若溢位條件在偵測VSYNC上升邊緣(例如,指示後續圖框之開始)後仍存在,則ISP前端處理邏輯80可經組態以拖延下一圖框,由此丟棄整個下一圖框。在此情形中,下一圖框及後續圖框將繼續被丟棄,直至溢位復原為止。一旦溢位復原,先前之當前圖框(例如,在第一次偵測溢位時所讀取之圖框)隨即可用未定義像素值替換其經丟棄像素,由此允許ISP前端邏輯80輸出用於彼圖框的正確數目個像素。此後,下游處理可繼續。就經丟棄圖框而言,控制邏輯84可進一步包括對經丟棄圖框之數目計數之計數器。此資料可用以調整時序以用於音訊-視訊同步。舉例而言,針對在30 fps下所俘獲之視訊,每一圖框具有大約33毫秒之持續時間。因此,若三個圖框歸因於溢位而丟棄,則控制邏輯84可經組態以調整音訊-視訊同步參數來考量可歸於經丟棄圖框之大約99毫秒(33毫秒×3個圖框)的持續時間。舉例而言,為了補償可歸因於經丟棄圖框之時間,控制邏輯84可藉由重複一或多個先前圖框而控制影像輸出。
在圖41中說明展示可在自感測器介面讀取輸入像素資料時發生之上文所論述之情形的程序430之一實施例。如圖所示,方法430在區塊432處開始,此處將用於當前圖框之像素資料自感測器讀入至ISP前端處理單元80。決策邏輯434接著判定是否存在溢位條件。若不存在溢位,則方法430繼續讀入當前圖框之像素(例如,返回至區塊432)。若決策邏輯434判定存在溢位條件,則方法430繼續至區塊436,此處丟棄當前圖框之下一傳入像素。接下來,決策邏輯438判定當前圖框是否已結束且下一圖框是否已開始。舉例而言,在一實施例中,此可包括偵測VSYNC信號中之上升邊緣。若感測器仍發送當前圖框,則方法430繼續至決策邏輯440,其判定原先在邏輯434處所偵測之溢位條件是否仍存在。若溢位條件尚未復原,則方法430繼續進行至區塊442,此處累加經丟棄像素計數器(例如,以考量在區塊436處所丟棄之傳入像素)。該方法接著返回至區塊436且繼續。
若在決策邏輯438處,偵測當前圖框已結束且感測器正發送下一圖框(例如,偵測VSYNC上升),則方法430繼續進行至區塊450,且只要溢位條件保持,則丟棄下一圖框及後續圖框之所有像素(例如,藉由決策邏輯452所示)。如上文所論述,單獨之計數器可追蹤經丟棄圖框之數目,此可用以調整音訊-視訊同步參數。若決策邏輯452指示溢位條件已復原,則用對應於來自首先發生溢位條件的初始圖框之經丟棄像素之數目的多個未定義像素值來替換來自彼初始圖框的經丟棄像素,如藉由經丟棄像素計數器來指示。如上文所提及,未定義像素值可為全1、全0、程式化至資料暫存器中之替換值,或可採取在溢位條件之前讀取之先前像素(例如,在偵測溢位條件之前讀取的最後像素)的值。因此,此情形允許用正確數目個像素來處理初始圖框,且在區塊446處,下游影像處理可繼續,其可包括將初始圖框寫入至記憶體。如上文亦論述,取決於在圖框中所丟棄之像素的數目,控制邏輯84可選擇在輸出視訊資料時排除抑或包括該圖框(例如,若經丟棄像素之數目在可接受之經丟棄像素臨限值以上或以下)。應瞭解,可針對ISP子系統32之每一輸入佇列400及402單獨地執行溢位處置。
藉由描繪方法460之流程圖在圖42中展示可根據本發明實施之溢位處置的另一實施例。此處,以與圖41所示相同的方式來處置在當前圖框期間發生但在當前圖框結束之前復原的用於溢位條件之溢位處置,且因此,彼等步驟已由此用相似的參考數字432-446來編號。圖42之方法460與圖41之方法430之間的差異關於在溢位條件繼續至下一圖框中時的溢位處置。舉例而言,參考決策邏輯438,當溢位條件繼續至下一圖框中時,並非如在圖41之方法430中丟棄下一圖框,而是方法460實施區塊462,其中清除經丟棄像素計數器,清除感測器輸入佇列,且用信號通知控制邏輯84丟棄部分當前圖框。藉由清除感測器輸入佇列及經丟棄像素計數器,方法460準備好獲取下一圖框(其現在變為當前圖框),從而使方法返回至區塊432。應瞭解,可將用於此當前圖框之像素讀取至感測器輸入佇列中。若溢位條件在輸入佇列變滿之前復原,則下游處理繼續。然而,若溢位條件持續,則方法460將自區塊436繼續(例如,開始丟棄像素,直至溢位復原抑或下一圖框開始為止)。
如上文所提及,電子裝置10亦可提供與影像資料(例如,經由具有影像感測器90之成像裝置30)同時之音訊資料(例如,經由被提供作為輸入結構14中之一者的音訊俘獲裝置)的俘獲。舉例而言,如圖43中圖解地所示,音訊資料470及影像資料472可表示藉由電子裝置同時俘獲之視訊及音訊資料。音訊資料470可包括隨時間(t)而俘獲之音訊樣本474,且類似地,影像資料472可表示隨時間t而俘獲之一系列影像圖框。影像資料472之每一樣本(此處藉由參考數字476來指代)可表示靜止影像圖框。因此,當隨時間而時間連續地檢視靜止影像圖框(例如,每秒特定數目個圖框,諸如每秒15-30個圖框)時,檢視者將感知到移動影像之外觀,由此提供視訊資料。當音訊資料470被獲取且表示為數位資料時,其可儲存為表示在相等時間間隔處的音訊信號之振幅之樣本(例如,474)的二進位值。此外,儘管在圖43中展示為具有離散分割區474,但應瞭解,音訊資料在實際實施中可具有足夠快以使得人耳將音訊資料470感知為連續聲音的取樣速率。
在視訊資料472之播放期間,對應音訊資料470亦可被播放,由此允許檢視者不僅檢視所俘獲事件之視訊資料而且亦聽到對應於所俘獲事件的聲音。理想地,以同步方式來播放視訊資料472及音訊資料470。舉例而言,若音訊樣本在此處指定為原先在時間tA 處出現的474a,則在理想播放條件下,原先在時間tA 處所俘獲之影像圖框與音訊樣本474a同時輸出。然而,若未達成同步,則檢視者/傾聽者可注意到音訊與視訊資料之間的時間延遲或移位。舉例而言,假設音訊樣本474a與原先在時間t0 處所俘獲之影像圖框476c一起輸出,時間t0 在時間上早於時間tA 。在此狀況下,音訊資料470「先於」視訊資料472,且使用者可體驗在自時間tA 聽到音訊樣本與看見其預期之對應視訊樣本(自時間tA 之影像圖框476a)之間的延遲,該延遲為時間tA 與t0 之間的差。類似地,假設音訊樣本474a與自時間tB 之影像圖框476b一起輸出,時間tB 在時間上遲於時間tA 。在後者狀況下,音訊資料470「後於」視訊資料472,且使用者可體驗在時間tA 處看見視訊樣本(476a)與自時間tA 聽到其對應音訊樣本之間的延遲,該延遲為時間tA 與tB 之間的差。此等類型之延遲有時被稱為「與語言同步的」誤差。應瞭解,後兩種情形可不利地影響使用者體驗。為達成音訊-視訊同步,系統通常經組態以使得針對同步問題之任何補償將音訊相比於視訊列入優先,例如,若同步問題存在,則影像圖框可被丟棄或重複而不更改音訊。
在一些習知系統中,使用圖框中斷之開始(例如,基於VSYNC信號)來執行音訊與視訊資料之同步。當此中斷發生(指示新圖框之開始)時,處理器可執行中斷服務常式來為中斷服務(例如,清除位元),且對應於中斷由處理器服務時之時戳與彼圖框相關聯。應瞭解,在中斷請求與中斷由處理器服務之時間之間通常存在某一潛時。因此,與特定影像圖框相關聯之時戳可反映此潛時,且由此可能不會實際表示圖框實際上開始之精確時間。另外,此潛時可取決於處理器負載及頻寬而為可變的,此可進一步使音訊-視訊同步問題變複雜。
如上文所論述,ISP前端邏輯80可在其自己之時脈域內操作且將非同步介面提供至感測器介面94,以支援具有不同大小且具有不同時序要求的感測器。為提供音訊與視訊資料之同步,ISP處理電路32可利用ISP前端區塊來提供計數器,該計數器可用以產生與所俘獲之影像圖框相關聯的時戳。舉例而言,參看圖44,四個暫存器(包括計時器組態暫存器490、時間碼暫存器492、Sensor0時間碼暫存器494及Sensor1時間碼暫存器496),其中全部可用以至少部分地基於用於ISP前端處理邏輯80之時脈在一實施例中提供時戳功能。在一實施例中,暫存器490、492、494及496可包括32位元暫存器。
時間組態暫存器490可經組態以提供值NClk,該值NClk可用以提供用於產生時戳碼之計數。在一實施例中,NClk可為在0至15之間變化之4位元值。基於NClk,指示當前時間碼之計時器或計數器可每2^NClk個時脈循環累加值1(基於ISP前端時脈域)。當前時間碼可儲存於時間碼暫存器492中,由此提供具有32位元之解析度的時間碼。時間碼暫存器492亦可藉由控制邏輯84來重設。
簡要地參看圖10,針對每一感測器介面輸入Sif0及Sif1,可在對垂直同步(VSYNC)信號偵測上升邊緣時(或若取決於組態VSYNC之方式而偵測下降邊緣)取樣時間碼暫存器492,由此指示新圖框之開始(例如,在垂直消隱間隔的結束時)。對應於VSYNC上升邊緣之時間碼可取決於提供影像圖框所自之感測器(Sensor0或Sensor1)而儲存於時間碼暫存器494抑或496中,由此提供指示當前圖框俘獲之俘獲開始之時間的時戳。在一些實施例中,來自感測器之VSYNC信號可具有經程式化或可程式化延遲。舉例而言,若圖框之第一像素延遲n 個時脈循環,則控制邏輯84可經組態以(諸如)藉由以硬體提供位移或使用軟體/韌體補償而補償此延遲。因此,時戳可自VSYNC上升邊緣產生,其中加有經程式化延遲。在另一實施例中,可使用具有可程式化延遲的VSYNC信號下降邊緣來判定對應於圖框之開始的時戳。
隨著當前圖框經處理,控制邏輯84自感測器時間碼暫存器(494或496)讀取時戳,且時戳可與視訊影像圖框相關聯作為與該影像圖框相關聯之後設資料中的參數。此情形係更清楚地展示於圖45中,圖45提供影像圖框476及其相關聯之後設資料498的圖解視圖,後設資料498包括自適當之時間碼暫存器(例如,用於Sensor0之暫存器494或用於Sensor1之暫存器496)讀取的時戳500。在一實施例中,當藉由圖框中斷之開始觸發時,控制邏輯84可接著自時間碼暫存器讀取時戳。因此,藉由ISP處理電路32所俘獲之每一影像圖框可基於VSYNC信號具有相關聯之時戳。控制電路或韌體(其可實施為ISP控制邏輯84之部分或電子裝置10之單獨控制單元的部分)可使用影像圖框時戳來對準或同步一組對應音訊資料,由此達成音訊-視訊同步。
在一些實施例中,裝置10可包括經組態以處置音訊資料(例如,音訊資料470)之處理的音訊處理器。舉例而言,音訊處理器可為獨立的處理單元(例如,(多個)處理器16之部分),或可與主處理器整合,或可為晶或系統處理裝置的部分。在此等實施例中,可藉由與音訊處理器分離之處理器(例如,控制邏輯84之部分)控制的音訊處理器及影像處理電路32可基於獨立之時脈而操作。舉例而言,可使用單獨之鎖相迴路(PLL)來產生時脈。因此,為音訊-視訊同步目的,裝置10可能需要能夠使影像時戳與音訊時戳相關。在一實施例中,可使用裝置10之主處理器(例如,CPU)來實現此相關。舉例而言,主處理器可同步其自己的時脈與音訊處理器之時脈及ISP電路32之時脈,以判定音訊處理器與ISP電路32之各別時脈之間的差異。一旦已知此差異,此差異隨即可用以使音訊質料(例如,470)之音訊時戳與影像資料(例如,472)之影像圖框時戳相關。
在一實施例中,控制邏輯84亦可經組態以(諸如)在達到32位元時間碼之最大值時處置迴繞情況,且其中下一累加將需要額外位元(例如,33位元)來提供準確值,為提供簡化實例,此類型之迴繞可在四數字計數器上在累加值9999且值9999歸因於四數字限制而變為0000而非10000時發生。儘管控制邏輯84可能能夠重設時間碼暫存器492,但在迴繞情況在仍俘獲視訊階段之同時發生時進行此可為不合需要的。因此,在此等例子中,控制邏輯84可包括邏輯,該邏輯可在一實施例中藉由軟體實施且經組態以藉由基於32位元暫存器值產生較高精確度之時戳(例如,64位元)而處置迴繞情況。軟體可產生較高精確度之時戳,該等時戳可寫入至影像圖框後設資料直至時間碼暫存器492被重設為止。在一實施例中,軟體可經組態以偵測迴繞且將自迴繞情況產生之時間差加至較高解析度計數器。舉例而言,在一實施例中,當針對32位元計數器偵測迴繞情況時,軟體可對32位元計數器之最大值(來考量迴繞)與藉由32位元計數器所指示之當前時間值求和且將結果儲存於較高解析度計數器(例如,大於32位元)中。在此等狀況下,高解析度計數器中之結果可寫入至影像後設資料資訊,直至32位元計數器被重設為止。
圖46描繪大體上描述上文所論述之音訊-視訊同步技術的方法510。如圖所示,方法510在步驟512處開始,其中自影像感測器(例如,Sensor0抑或Sensor1)接收像素資料。接下來,在決策邏輯514處,進行關於VSYNC信號是否指示新圖框之開始的判定。若未偵測新圖框,則方法510返回至步驟512且繼續自當前影像圖框接收像素資料。若在決策邏輯514處偵測新圖框,則方法510繼續至步驟516,此處取樣時間碼暫存器(例如,暫存器492)以獲得對應於在步驟514處所偵測之VSYNC信號之上升(或下降)邊緣的時戳值。接下來,在步驟518處,將時戳值儲存至對應於提供輸入像素資料之影像感測器的時間碼暫存器(例如,暫存器494或496)。隨後,在步驟520處,使時戳與新的影像圖框之後設資料相關聯,且此後,影像圖框後設資料中之時戳資訊可用於音訊-視訊同步。舉例而言,電子裝置10可經組態以藉由以使得對應音訊與視訊輸出之間的任何延遲實質上最小化之方式將視訊資料(使用每一個別圖框之時戳)對準至對應音訊資料而提供音訊-視訊同步。舉例而言,如上文所論述,裝置10之主處理器可用以判定使音訊時戳與視訊時戳相關的方式。在一實施例中,若音訊資料早於視訊資料,則影像圖框可經丟棄以允許正確之影像圖框「趕上」音訊資料串流,且若音訊資料後於視訊資料,則影像圖框可經重複以允許音訊資料「趕上」視訊串流。
繼續至圖47至圖50,ISP處理邏輯或子系統32亦可經組態以提供閃光同步。舉例而言,當使用閃光模組時,可暫時提供人造照明以輔助影像場景之照明。藉由實例,當在低光條件下俘獲影像場景時,閃光之使用可為有益的。可使用任何合適照明源(諸如,LED閃光裝置或氙閃光裝置等)來提供閃光。
在本實施例中,ISP子系統32可包括經組態以控制閃光模組在作用中之時序及/或間隔的閃光控制器。應瞭解,通常需要控制閃光模組在作用中之時序及持續時間,使得閃光間隔在目標圖框(例如,待俘獲之影像圖框)之第一像素經俘獲之前開始且在目標圖框之最後像素經俘獲之後但在後續連續影像圖框之開始之前結束。此情形幫助確保目標圖框內之所有像素在影像場景正被俘獲之同時曝光至類似照明條件。
參看圖47,根據本發明之一實施例說明展示實施為ISP子系統32之部分且經組態以控制閃光模組552的閃光控制器550之方塊圖。在一些實施例中,閃光模組552可包括一個以上閃光裝置。舉例而言,在某些實施例中,閃光控制器550可經組態以提供預閃光(例如,用於紅眼減少),繼之以主閃光。預閃光及主閃光事件可為順序的,且可使用相同或不同之閃光裝置來提供。
在所說明實施例中,可基於自影像感測器90a及90b所提供之時序資訊來控制閃光模組552的時序。舉例而言,可使用滾動快門技術來控制影像感測器之時序,藉此使用在影像感測器(例如,90a及90b)之像素陣列之上掃描的縫隙光孔來掌控積分時間。使用可經由感測器介面94a及94b(其中每一者可包括感測器-側介面548及前端-側介面549)提供至ISP子系統32之感測器時序資訊(此處展示為參考數字556),控制邏輯84可將適當之控制參數554提供至閃光控制器550,該等控制參數554可接著藉由閃光控制器550用於啟動閃光模組552。如上文所論述,藉由使用感測器時序資訊556,閃光控制器556可確保閃光模組在目標圖框之第一像素經俘獲之前被啟動且針對目標圖框之持續時間保持啟動,其中閃光模組在目標圖框之最後像素經俘獲之後且在下一圖框之開始(例如,VSYNC上升)之前被撤銷啟動。此程序可被稱為下文進一步論述之「閃光同步」技術。
另外,如在圖47之實施例中所示,控制邏輯84亦可利用來自ISP前端80之統計資料(此處展示為參考數字558)來判定對應於目標圖框之影像場景中的照明條件針對使用閃光模組是否為適當的。舉例而言,ISP子系統32可利用自動曝光來嘗試藉由調整積分時間及/或感測器增益維持目標曝光位準(例如,光位準)。然而,應瞭解,積分時間不可長於圖框時間。舉例而言,針對在30 fps下所獲取之視訊資料,每一圖框具有大約33毫秒之持續時間。因此,若不可使用最大積分時間來達成目標曝光位準,則亦可施加感測器增益。然而,若積分時間及感測器增益兩者之調整不能達成目標曝光(例如,若光位準小於目標臨限值),則閃光控制器可經組態以啟動閃光模組。此外,在一實施例中,積分時間亦可經限制以避免運動模糊。舉例而言,儘管積分時間可延伸達至圖框之持續時間,但其在一些實施例中可被進一步限制以避免運動模糊。
如上文所論述,為了確保閃光之啟動在目標圖框之整個持續時間內照明該目標圖框(例如,閃光在目標圖框之第一像素之前接通且在目標圖框之最後像素之後斷開),ISP子系統32可利用感測器時序資訊556來判定啟動/撤銷啟動閃光552之時間。
圖48用圖形展示描繪來自影像感測器90之感測器時序信號可用以控制閃光同步的方式。舉例而言,圖48展示可藉由影像感測器90a或90b中之一者提供之影像感測器時序信號556的一部分。信號556之邏輯高部分表示圖框間隔。舉例而言,第一圖框(FRAME N)係藉由參考數字570表示,且第二圖框(FRAME N+1)係藉由參考數字572表示。第一圖框570開始之實際時間係藉由信號556在時間tVSYNC_ra0 處之上升邊緣指示(例如,其中「r」指定上升邊緣且「a」指定時序信號556之「實際」態樣),且第一圖框570結束之實際時間係藉由信號556在時間tVSYNC_fa0 處的下降邊緣指示(例如,其中「f」指定下降邊緣)。類似地,第二圖框572開始之實際時間係藉由信號556在時間tVSYNC_ra1 處之上升邊緣指示,且第二圖框572結束之實際時間係藉由信號556在時間tVSYNC_fa1 處的下降邊緣指示。第一圖框與第二圖框之間的間隔574可被稱為消隱間隔(例如,垂直消隱),其可允許影像處理電路(例如,ISP子系統32)識別影像圖框結束及開始的時間。應瞭解,本圖所示之圖框間隔及垂直消隱間隔未必按比例繪製。
如圖48所示,信號556可表示自影像感測器90之視點而言的實際時序。亦即,信號556表示圖框實際上藉由影像感測器獲取之時序。然而,隨著感測器時序資訊提供至影像處理系統32之下游組件,延遲可引入至感測器時序信號中。舉例而言,信號576表示自感測器90與ISP前端處理邏輯80之間的介面邏輯94之感測器-側介面548之視點可見的延遲時序信號(延遲達第一時間延遲578)。信號580可表示自前端-側介面549之視點的延遲感測器時序信號,其在圖48中展示為相對於感測器-側介面時序信號572延遲達第二時間延遲582,且相對於原本感測器時序信號556延遲達第三時間延遲584,第三時間延遲584等於第一時間延遲578與第二時間延遲582之總和。接下來,隨著信號580自介面94之前端-側549提供至ISP前端處理邏輯80(FEProc),可賦予額外延遲,使得自ISP前端處理邏輯80之視點看見延遲信號588。特定言之,藉由ISP前端處理邏輯80看見之信號588在此處展示為相對於延遲信號580(前端-側時序信號)延遲達第四時間延遲590,且相對於原本感測器時序信號556延遲達第五時間延遲592,第五時間延遲592等於第一時間延遲578、第二時間延遲582及第四時間延遲590之總和。
為控制閃光時序之目的,閃光控制器550可利用對ISP前端可用之第一信號,該第一信號因此相對於實際感測器時序信號556移位了最小量之延遲時間。因此,在本實施例中,閃光控制器550可基於感測器時序信號580判定閃光時序參數,如自感測器-至-ISP介面94之前端-側549之視點所見。因此,在本實例中藉由閃光控制器550使用之信號596可與信號580相同。如圖所示,延遲信號596(相對於信號556延遲達延遲時間584)包括位於與第一圖框570相關之時間tVSYNC_rd0 與tVSYNC_fd0 (例如,其中「d」表示「延遲」)之間及與第二圖框572相關之時間tVSYNC_rd1 與tVSYNC_fd1 之間的圖框間隔。如上文所論述,通常需要在圖框之開始之前且在圖框之持續時間內啟動閃光(例如,在圖框之最後像素之後撤銷啟動閃光)以確保針對整個圖框照明影像場景,且考量閃光可在啟動期間需要以達成全強度(其可為微秒(例如,100-800微秒)至幾毫秒(例如,1-5毫秒)之數量級)的任何暖機時間。然而,由於藉由閃光控制器550所分析之信號596相對於實際時序信號556延遲,因此在判定閃光時序參數時考慮此延遲。
舉例而言,假設閃光待啟動來照明第二圖框572之影像場景,tVSYNC_rd1 處之延遲之上升邊緣在tVSYNC_ra1 處的實際上升邊緣之後出現。因此,使閃光控制器550使用延遲之上升邊緣tVSYNC_rd1 來判定閃光啟動開始時間可為困難的,此係由於延遲之上升邊緣tVSYNC_rd1 在第二圖框572已開始之後(例如,在信號556之tVSYNC_ra1 之後)出現。在本實施例中,閃光控制器550可替代地基於先前圖框之結束(此處為時間tVSYNC_fd0 處之下降邊緣)判定閃光啟動開始時間。舉例而言,閃光控制器550可將時間間隔600(其表示垂直消隱間隔574)加至時間tVSYNC_fd0 ,以計算對應於圖框572之延遲之上升邊緣時間tVSYNC_rd1 的時間。應瞭解,延遲之上升邊緣時間tVSYNC_rd1 在實際上升邊緣時間tVSYNC_ra1 (信號556)之後出現,且因此,自時間tVSYNC_fd0 與消隱間隔時間600的總和減去對應於信號580之時間延遲584的時間位移598(OffSet1)。此在時間tVSYNC_ra1 處產生與第二圖框572之開始同時開始的閃光啟動開始時間。然而,如上文所提及,取決於所提供之閃光裝置的類型(例如,氙、LED等),閃光模組552可體驗在閃光模組被啟動時與閃光裝置達到其全光度時之間的暖機時間。暖機時間之量可取決於所使用之閃光裝置的類型(例如,氙裝置、LED裝置等)。因此,為考量此等暖機時間,在時間tVSYNC_ra1 處,可自第二圖框572之開始減去可經程式化或預設(例如,使用控制暫存器)的額外位移602(OffSet2)。此將閃光啟動開始時間移動回至時間604,由此確保閃光在藉由影像感測器所獲取之圖框572的開始之前被啟動(若需要照明場景)。用於判定閃光啟動時間之此程序可使用下文之公式來表達:
tflash_start_frame1 =tVSYNC_fd0 +tvert_blank_int -tOffSet1 -tOffSet2
在所說明實施例中,閃光之撤銷啟動可在閃光控制器信號596之時間tVSYNC_fd1 發生,其限制條件為時間tVSYNC_fd1 在圖框572之後的圖框(例如,圖48中未展示之圖框N+2)之開始之前出現,如藉由對感測器時序信號556之時間605所指示。在其他實施例中,閃光之撤銷啟動可在信號596之時間tVSYNC_fd1 之後但在下一圖框之開始之前(例如,在指示圖框N+2之開始的對感測器時序信號556之後續VSYNC上升邊緣之前)的時間(例如,位移606)發生,或可在緊接在時間tVSYNC_fd1 之前的間隔608內發生,其中間隔608小於Offset1(598)的量。應瞭解,此確保閃光針對目標圖框(例如,圖框572)之整個持續時間保持接通。
圖49描繪用於根據圖48所示之實施例判定對電子裝置10之閃光啟動開始時間的程序618。在區塊620處開始,獲取來自影像感測器之感測器時序信號(例如,556)且將其提供至閃光控制邏輯(例如,閃光控制器550),該閃光控制邏輯可為電子裝置10之影像信號處理子系統(例如,32)的部分。感測器時序信號提供至閃光控制邏輯,但可相對於原本時序信號(例如,556)延遲。在區塊622處,判定感測器時序信號與延遲感測器時序信號(例如,596)之間的延遲(例如,延遲584)。接下來,在區塊624處識別請求閃光照明之目標圖框(例如,圖框572)。為判定應啟動閃光模組(例如,552)以確保閃光在目標圖框之開始之前在作用中的時間,程序618接著繼續進行至區塊626,此處判定對應於如藉由延遲時序信號所指示的在目標圖框之前的圖框之結束的第一時間(例如,時間tVSYNC_fd0 )。此後,在區塊628處,判定圖框之間的消隱間隔之長度且將其加至在區塊626處所判定之第一時間以判定第二時間。接著自第二時間減去在區塊622處所判定之延遲,如在區塊630處所示,以判定第三時間。如上文所論述,此根據非延遲感測器時序信號將閃光啟動時間設定為與目標圖框之實際開始重合。
為了確保閃光在目標圖框之開始之前為作用中的,自第三時間減去位移(例如,602、Offset2),如在區塊632處所示,以判定所要之閃光啟動時間。應瞭解,在一些實施例中,來自區塊632之位移可能不僅確保閃光在目標圖框之前接通而且亦補償閃光在最初啟動與達到全光度之間可能需要之任何暖機時間。在區塊634處,在區塊632處所判定之閃光開始時間啟動閃光552。如上文所論述且在區塊636中所示,閃光可針對目標圖框之整個持續時間保持接通,且可在目標圖框之結束之後撤銷啟動閃光,使得目標圖框中之所有像素經受類似的照明條件。儘管上文在圖48及圖49中所述之實施例已論述使用單一閃光應用閃光同步技術,但應進一步瞭解,此等閃光同步技術亦可適用於具有兩個或兩個以上閃光裝置(例如,兩個LED閃光)之裝置的實施例。舉例而言,若利用一個以上閃光模組,則以上技術可應用於兩個閃光模組,使得每一閃光模組在圖框之開始之前藉由閃光控制器啟動且針對圖框之持續時間保持接通(例如,閃光模組可能未必針對相同的圖框被啟動)。
當使用裝置10獲取影像時,可應用本文所述之閃光時序技術。舉例而言,在一實施例中,可在影像獲取期間使用預閃光技術。舉例而言,當相機或影像獲取應用程式在裝置10上在作用中時,該應用程式可以「預覽」模式操作。在預覽模式中,該(等)影像感測器(例如,90)可為預覽目的(例如,顯示於顯示器28上)而獲取可藉由裝置10之ISP子系統32處理的影像資料圖框,但圖框可能直至俘獲請求藉由使用者起始以將裝置10置於「俘獲」模式中才實際上得以俘獲或儲存。藉由實例,此可經由裝置10上之實體俘獲按鈕或軟俘獲按鈕(其可經由軟體實施為圖形使用者介面之部分且顯示於裝置10之顯示器上且回應使用者介面輸入(例如,觸控式螢幕輸入))之使用者啟動而發生。
因為閃光在預覽模式期間通常並非作用中的,所以影像場景之突然啟動及影像場景使用閃光之照明可在一些狀況下相對於並未藉由閃光照明之相同影像場景顯著更改特定場景之某些影像統計(諸如,與自動白平衡統計等相關之彼等影像統計)。因此,為了改良用以處理所要目標圖框之統計,在一實施例中,預閃光操作技術可包括接收使用者請求以俘獲請求閃光照明之影像圖框,在裝置10仍處於預覽模式的同時在第一時間使用閃光來照明第一圖框,及在下一圖框之開始之前更新統計(例如,自動白平衡統計)。裝置10可進入俘獲模式且在閃光啟動之情況下使用經更新統計俘獲下一圖框,由此提供改良之影像/色彩準確度。
圖50更詳細地描繪說明此程序640之流程圖。程序640在區塊642處開始,其中接收對使用閃光來俘獲影像之請求。在區塊644處,啟動(例如,可使用圖48及圖49所示之技術來計時)閃光以在裝置10仍處於預覽模式之同時照明第一圖框。接下來,在區塊646處,基於自經照明之第一圖框所獲取之統計來更新諸如自動白平衡統計的影像統計。此後,在區塊648處,裝置10可進入俘獲模式且使用來自區塊646之經更新影像統計來獲取下一圖框。舉例而言,經更新影像統計可用以判定白平衡增益及/或色彩校正矩陣(CCM),該等白平衡增益及/或色彩校正矩陣(CCM)可藉由韌體(例如,控制邏輯84)使用來程式化ISP管線82。因此,可藉由ISP管線82使用基於來自區塊646之經更新影像統計所判定的一或多個參數處理在區塊648處所獲取的圖框(例如,下一圖框)。
在另一實施例中,當藉由閃光俘獲影像圖框時,可應用來自非閃光影像場景(例如,在無閃光之情況下所獲取或預覽)的色彩性質。應瞭解,非閃光影像場景通常相對於藉由閃光照明之影像場景展現更好的色彩性質。然而,閃光之使用可相對於非閃光影像提供減少之雜訊及改良之亮度(例如,在低光條件下)。然而,閃光之使用亦可導致閃光影像中之色彩中的一些色彩表現出相對於相同場景之非閃光影像稍微變淡(wash out)。因此,在一實施例中,為了保持閃光影像之低雜訊及亮度的益處同時亦部分地保持來自非閃光影像之色彩性質中的一些色彩性質,裝置10可經組態以在無閃光之情況下分析第一圖框以獲得其色彩性質。接著,裝置10可使用閃光俘獲第二圖框且可使用來自非閃光影像之色彩性質將色彩調色板轉移技術應用於閃光影像。
在某些實施例中,經組態以實施上文所論述之閃光技術中之任一者的裝置10可為具有整合式或外部成像裝置之一型號的iPod、iPhone、iMac或MacBook計算裝置,其全部自Apple Inc.可得。此外,成像/相機應用程式可為亦來自Apple Inc.之一版本的Camera、iMovie或PhotoBooth應用程式。
繼續至圖51,根據本發明技術之一實施例,說明ISP前端像素處理邏輯150(先前論述於圖10中)的更詳細視圖。如圖所示,ISP前端像素處理邏輯150包括時間濾波器650及分格化儲存補償濾波器652。時間濾波器650可接收輸入影像信號Sif0、Sif1、FEProcIn,或預先處理之影像信號(例如,180、184)中之一者,且可在執行任何額外處理之前對原始像素資料進行操作。舉例而言,時間濾波器650可最初處理影像資料以藉由平均化時間方向上之影像圖框來減小雜訊。分格化儲存補償濾波器652(下文更詳細地論述其)可對來自影像感測器(例如,90a、90b)之經分格化儲存之原始影像資料應用按比例縮放及再取樣,以維持影像像素的均勻空間分佈。
時間濾波器650基於運動及亮度特性可為像素適應性的。舉例而言,當像素運動為高時,可減小濾波強度以便避免所得經處理影像中的「尾部」或「重像假影」之出現,而可在偵測極少運動或未偵測運動時增大濾波強度。另外,亦可基於亮度資料(例如,明度)來調整濾波強度。舉例而言,隨著影像亮度增加,濾波假影可變得使人眼更易察覺。因此,當像素具有高亮度等級時,可進一步減小濾波強度。
在應用時間濾波時,時間濾波器650可接收參考像素資料(Rin)及運動歷史輸入資料(Hin),參考像素資料(Rin)及運動歷史輸入資料(Hin)可來自先前濾波之圖框或原本圖框。使用此等參數,時間濾波器650可提供運動歷史輸出資料(Hout)及濾波像素輸出(Yout)。濾波像素輸出Yout接著傳遞至分格化儲存補償濾波器652,分格化儲存補償濾波器652可經組態以對濾波像素輸出Yout執行一或多個按比例縮放操作以產生輸出信號FEProcOut。經處理像素資料FEProcOut可接著轉遞至ISP管道處理邏輯82,如上文所論述。
參看圖52,根據第一實施例,說明描繪可藉由圖51所示之時間濾波器執行之時間濾波程序654的程序圖。時間濾波器650可包括2分接頭濾波器,其中至少部分地基於運動及亮度資料以每像素為基礎適應性地調整濾波器係數。舉例而言,可比較輸入像素x(t)(其中變數「t」表示時間值)與先前濾波之圖框或先前原本圖框中的參考像素r(t-1),以在可含有濾波器係數之運動歷史表(M)655中產生運動索引查找。另外,基於運動歷史輸入資料h(t-1),可判定對應於當前輸入像素x(t)之運動歷史輸出h(t)。
可基於運動差量d(j,i,t)來判定運動歷史輸出h(t)及濾波器係數K,其中(j,i)表示當前像素x(j,i,t)之空間位置的座標。可藉由判定針對相同色彩之三個水平並列像素的原本像素與參考像素之間的三個絕對差量之最大值來計算運動差量d(j,i,t)。舉例而言,簡要地參看圖53,說明對應於原本輸入像素660、661及662之三個並列參考像素657、658及659的空間位置。在一實施例中,可使用以下公式基於此等原本及參考像素來計算運動差量:
下文在圖55中進一步說明描繪用於判定運動差量值之此技術的流程圖。此外,應理解,如上文在方程式1a中(且下文在圖55中)所示的用於計算運動差量值之技術僅意欲提供用於判定運動差量值的一實施例。
在其他實施例中,可評估相同色彩像素的陣列以判定運動差量值。舉例而言,除了在方程式1a中所提及之三個像素之外,用於判定運動差量值之一實施例可包括亦評估在來自上兩列(例如,j-2;假設拜耳圖案)參考像素660、661及662之相同色彩像素與其對應並列像素,以及在來自下兩列(例如,j+2;假設拜耳圖案)參考像素660、661及662的相同色彩像素與其對應並列像素之間的絕對差量。舉例而言,在一實施例中,運動差量值可表達如下:
因此,在藉由方程式1b所描繪之實施例中,可藉由比較在相同色彩像素之3×3陣列與位於該3×3陣列(例如,若計數不同色彩之像素,則實際上為拜耳色彩圖案的5×5陣列)之中心處之當前像素(661)之間的絕對差量來判定運動差量值。應瞭解,可分析當前像素(例如,661)位於陣列之中心處的相同色彩像素之任何合適的二維陣列(例如,包括具有同一列中之所有像素的陣列(例如,方程式1a)或具有同一行中之所有像素的陣列),以判定運動差量值。此外,儘管運動差量值可被判定為絕對差量之最大值(例如,如方程式1a及1b所示),但在其他實施例中,運動差量值亦可選擇為絕對差量的均值或中值。另外,前述技術亦可應用於其他類型之彩色濾光片陣列(例如,RGBW、CYGM等),且不意欲對拜耳圖案為排他性的。
返回參看圖52,一旦判定運動差量值,隨即可藉由對當前像素(例如,處於空間位置(j,i))之運動差量d(t)與運動歷史輸入h(t-1)求和來計算可用以自運動表(M)655選擇濾波器係數K的運動索引查找。舉例而言,濾波器係數K可判定如下:
K =M [d (j ,i ,t )+h (j ,i ,t -1)] (2a)
另外,可使用以下公式來判定運動歷史輸出h(t):
h (j ,i ,t )=d (j ,i ,t )+(1-Kh (j ,i ,t -1) (3a)
接下來,可使用當前輸入像素x(t)之亮度來產生明度表(L)656中的明度索引查找。在一實施例中,明度表可含有可介於0與1之間且可基於明度索引選擇的衰減因子。可藉由將第一濾波器係數K乘以明度衰減因子來計算第二濾波器係數K',如以下方程式所示:
K '=K ×L [x (j ,i ,t )] (4a)
可接著將K'之判定值用作時間濾波器650的濾波係數。如上文所論述,時間濾波器650可為2分接頭濾波器。另外,時間濾波器650可組態為使用先前濾波之圖框的無限脈衝回應(IIR)濾波器或組態為使用先前原本圖框的有限脈衝回應(FIR)濾波器。時間濾波器650可使用以下公式使用當前輸入像素x(t)、參考像素r(t-1)及濾波器係數K'來計算濾波輸出像素y(t)(Yout):
y (j,i,t )=r (j,i,t -1)+K' (x (j,i,t )-r (j,i,t -1)) (5a)
如上文所論述,可逐像素地執行圖52所示之時間濾波程序654。在一實施例中,同一運動表M及明度表L可用於所有色彩分量(例如,R、G及B)。另外,一些實施例可提供繞過機制,其中可(諸如)回應於來自控制邏輯84之控制信號來繞過時間濾波。此外,如下文將關於圖57及圖58論述,時間濾波器650之一實施例可針對影像資料之每一色彩分量利用單獨的運動及明度表。
可鑒於圖54來更好地理解參看圖52及圖53所描述之時間濾波技術的實施例,圖54根據上文所描述之實施例描繪說明方法664的流程圖。方法664始於步驟665,在步驟665處,藉由時間濾波系統654接收位於影像資料之當前圖框之空間位置(j,i)處的當前像素x(t)。在步驟666處,至少部分地基於來自影像資料之先前圖框(例如,緊接在當前圖框前的影像圖框)的一或多個並列參考像素(例如,r(t-1))來判定當前像素x(t)之運動差量值d(t)。用於在步驟666處判定運動差量值d(t)的技術在下文參看圖55被進一步解釋,且可根據如上文所示之方程式1a來執行。
一旦獲得來自步驟666之運動差量值d(t),隨即可使用該運動差量值d(t)及對應於來自先前圖框之空間位置(j,i)的運動歷史輸入值h(t-1)來判定運動表查找索引,如在步驟667中所示。另外,儘管未圖示,但一旦已知運動差量值d(t),隨即亦可(例如)藉由使用上文所示之方程式3a在步驟667處判定對應於當前像素x(t)的運動歷史值h(t)。此後,在步驟668處,可使用來自步驟667之運動表查找索引自運動表655選擇第一濾波器係數K。可根據方程式2a來執行運動表查找索引之判定及第一濾波器係數K自運動表的選擇,如上文所示。
接下來,在步驟669處,可自明度表656選擇衰減因子。舉例而言,明度表656可含有在大約0與1之間的範圍內之衰減因子,且可將當前像素x(t)之值用作查找索引而自明度表656選擇衰減因子。一旦選擇衰減因子,隨即可在步驟670處使用所選擇之衰減因子及第一濾波器係數K(來自步驟668)來判定第二濾波器係數K',如上文在方程式4a中所示。接著,在步驟671處,基於第二濾波器係數K'(來自步驟669)、並列參考像素r(t-1)之值及當前輸入像素x(t)的值來判定對應於該輸入像素x(t)的時間濾波輸出值y(t)。舉例而言,在一實施例中,可根據方程式5a來判定輸出值y(t),如上文所示。
參看圖55,根據一實施例更詳細地說明來自方法664的用於判定運動差量值d(t)之步驟666。詳言之,運動差量值d(t)之判定可通常對應於上文根據方程式1a所描繪的操作。如圖所示,步驟666可包括子步驟672至675。始於子步驟672,識別作為當前輸入像素x(t)的具有相同色彩值之一組三個水平鄰近像素。藉由實例,根據圖53所示之實施例,影像資料可包括拜耳影像資料,且該三個水平鄰近像素可包括當前輸入像素x(t)(661)、在當前輸入像素661之左側的相同色彩之第二像素660,及在當前輸入像素661之右側的相同色彩之第三像素。
接下來,在子步驟673處,識別對應於該所選擇組之三個水平鄰近像素660、661及662的來自先前圖框之三個並列參考像素657、658及659。使用所選擇之像素660、661及662以及該三個並列參考像素657、658及659,在子步驟674處判定在該三個所選擇像素660、661及662中之每一者分別與其對應並列參考像素657、658及659之間的差之絕對值。隨後,在子步驟675處,將來自子步驟674之三個差的最大值選擇為當前輸入像素x(t)的運動差量值d(t)。如上文所論述,圖55(其說明在方程式1a中所示之運動差量值計算技術)僅意欲提供一實施例。實際上,如上文所論述,可使用當前像素定中心於陣列中之相同色彩像素的任何合適二維陣列來判定運動差量值(例如,方程式1b)。
在圖56中進一步描繪用於將時間濾波應用於影像資料之技術的另一實施例。舉例而言,因為針對影像資料之不同色彩分量的信雜比可為不同的,所以可將增益施加至當前像素,使得當前像素在自運動表655及明度表656選擇運動及明度值之前增量。藉由施加係色彩相依之各別增益,信雜比可在不同的色彩分量當中更一致。僅藉由實例,在使用原始拜耳影像資料之實施中,紅色及藍色色彩通道與綠色(Gr及Gb)色彩通道相比可通常為更敏感的。因此,藉由將適當之色彩相依性增益施加至每一經處理像素,在每一色彩分量之間的信號對雜訊變化可通常減少,藉此尤其減少重像假影以及在自動白平衡增益之後跨越不同色彩的一致性。
記住此,圖56提供描繪根據此實施例的用於將時間濾波應用於藉由前端處理單元150所接收之影像資料之方法676的流程圖。始於步驟677,藉由時間濾波系統654接收位於影像資料之當前圖框之空間位置(j,i)處的當前像素x(t)。在步驟678處,至少部分地基於來自影像資料之先前圖框(例如,緊接在當前圖框前的影像圖框)的一或多個並列參考像素(例如,r(t-1))來判定當前像素x(t)之運動差量值d(t)。步驟678可類似於圖54之步驟666,且可利用上文在方程式1中所表示的操作。
接下來,在步驟679處,可使用運動差量值d(t)、對應於來自先前圖框之空間位置(j,i)(例如,對應於並列參考像素r(t-1))的運動歷史輸入值h(t-1),及與當前像素之色彩相關聯的增益來判定運動表查找索引。此後,在步驟680處,可使用在步驟679處所判定之運動表查找索引自運動表655選擇第一濾波器係數K。僅藉由實例,在一實施例中,濾波器係數K及運動表查找索引可判定如下:
K =M [gain [c ]×(d (j ,i ,t )+h (j ,i ,t -1))], (2b)
其中M表示運動表,且其中gain[c]對應於與當前像素之色彩相關聯的增益。另外,儘管圖56中未圖示,但應理解,當前像素之運動歷史輸出值h(t)亦可被判定且可用以將時間濾波應用於後續影像圖框(例如,下一圖框)的並列像素。在本實施例中,可使用以下公式來判定當前像素x(t)之運動歷史輸出h(t):
h (j ,i ,t )=d (j ,i ,t )+K [h (j ,i ,t -1)-d (j ,i ,t )] (3b)
接下來,在步驟681處,可使用基於與當前像素x(t)之色彩相關聯的增益(gain[c])所判定之明度表查找索引自明度表656選擇衰減因子。如上文所論述,儲存於明度表中之衰減因子可具有自大約0至1之範圍。此後,在步驟682處,可基於衰減因子(來自步驟681)及第一濾波器係數K(來自步驟680)來計算第二濾波器係數K'。僅藉由實例,在一實施例中,第二濾波器係數K'及明度表查找索引可判定如下:
K '=K ×L [gain [cx (j ,i ,t )] (4b)
接下來,在步驟683處,基於第二濾波器係數K'(來自步驟682)、並列參考像素r(t-1)之值及當前輸入像素x(t)的值來判定對應於該輸入像素x(t)的時間濾波輸出值y(t)。舉例而言,在一實施例中,輸出值y(t)可判定如下:
y (j ,i ,t )=x (j ,i ,t )+K '(r (j ,i ,t -1)-x (j ,i ,t )) (5b)
繼續至圖57,描繪時間濾波程序384之另一實施例。此處,可以類似於圖56所論述之實施例的方式實現時間濾波程序384,惟如下情形除外:代替將色彩相依性增益(例如,gain[c])施加至每一輸入像素且使用共用之運動及明度表,針對每一色彩分量提供單獨的運動及明度表。舉例而言,如圖57所示,運動表655可包括對應於第一色彩之運動表655a、對應於第二色彩之運動表655b及對應於第n色彩的運動表655c,其中n取決於在原始影像資料中存在的色彩之數目。類似地,明度表656可包括對應於第一色彩之明度表656a、對應於第二色彩之明度表656b及對應於第n色彩的明度表656c。因此,在原始影像資料為拜耳影像資料之實施例中,可針對紅色、藍色及綠色色彩分量中之每一者提供三個運動及明度表。如下文所論述,濾波係數K及衰減因子之選擇可取決於針對當前色彩(例如,當前輸入像素之色彩)所選擇的運動及明度表。
在圖58中展示說明用於使用色彩相依性運動及明度表進行時間濾波之另一實施例的方法685。應瞭解,可藉由方法685所使用之各種計算及公式可類似於圖54所示之實施例,但在針對每一色彩選擇特定運動及明度表之情況下,或類似於圖56所示的實施例,藉由色彩相依性運動及明度表之選擇來替換色彩相依性gain[c]的使用。
始於步驟686,藉由時間濾波系統684(圖57)接收位於影像資料之當前圖框之空間位置(j,i)處的當前像素x(t)。在步驟687處,至少部分地基於來自影像資料之先前圖框(例如,緊接在當前圖框前的影像圖框)的一或多個並列參考像素(例如,r(t-1))來判定當前像素x(t)之運動差量值d(t)。步驟687可類似於圖54之步驟666,且可利用上文在方程式1中所示的操作。
接下來,在步驟688處,可使用運動差量值d(t)及對應於來自先前圖框之空間位置(j,i)(例如,對應於並列參考像素r(t-1))的運動歷史輸入值h(t-1)來判定運動表查找索引。此後,在步驟689處,可基於當前輸入像素之色彩自可用運動表(例如,655a、655b、655c)中之一者選擇第一濾波器係數K。舉例而言,一旦識別適當之運動表,隨即可使用在步驟688中所判定之運動表查找索引來選擇第一濾波器係數K。
在選擇第一濾波器係數K之後,選擇對應於當前色彩之明度表,且基於當前像素x(t)之值自所選擇的明度表選擇衰減因子,如在步驟690處所示。此後,在步驟691處,基於衰減因子(來自步驟690)及第一濾波器係數K(步驟689)來判定第二濾波器係數K'。接下來,在步驟692處,基於第二濾波器係數K'(來自步驟691)、並列參考像素r(t-1)之值及當前輸入像素x(t)的值來判定對應於該輸入像素x(t)的時間濾波輸出值y(t)。儘管圖58所示之技術可能實施而言為更昂貴的(例如,歸因於儲存額外運動及明度表所需的記憶體),但在一些例子中,其可關於重像假影及在自動白平衡增益之後跨越不同色彩之一致性提供另外的改良。
根據其他實施例,藉由時間濾波器650所提供之時間濾波程序可利用色彩相依性增益與用於將時間濾波應用於輸入像素之色彩特定運動及/或明度表的組合。舉例而言,在一個此實施例中,可針對所有色彩分量提供單一運動表,且可基於色彩相依性增益來判定用於自運動表選擇第一濾波係數(K)的運動表查找索引(例如,如圖56所示,步驟679至680),儘管明度表查找索引可能不具有施加至其之色彩相依性增益,但可用以取決於當前輸入像素之色彩自多個明度表中的一者選擇亮度衰減因子(例如,如圖58所示,步驟690)。或者,在另一實施例中,可提供多個運動表,且運動表查找索引(未施加色彩相依性增益)可用以自對應於當前輸入像素之色彩的運動表選擇第一濾波係數(K)(例如,如圖58所示,步驟689),同時可針對所有色彩分量提供單一明度表,且其中可基於色彩相依性增益來判定用於選擇亮度衰減因子的明度表查找索引(例如,如圖56所示,步驟681至682)。此外,在利用拜耳彩色濾光片陣列之一實施例中,可針對紅色(R)及藍色(B)色彩分量中之每一者提供一運動表及/或明度表,同時可針對兩個綠色色彩分量(Gr及Gb)提供共同的運動表及/或明度表。
時間濾波器650之輸出可隨後發送至分格化儲存補償濾波器(BCF)652,分格化儲存補償濾波器(BCF)652可經組態以處理影像像素以補償歸因於藉由該(等)影像感測器90a或90b進行之分格化儲存所引起的色彩樣本的非線性置放(例如,不均勻空間分佈),使得可正確地操作取決於色彩樣本之線性置放的在ISP管道邏輯82中之後續影像處理操作(例如,解馬賽克等)。舉例而言,現參看圖59,描繪拜耳影像資料之全解析度樣本693。此可表示藉由耦接至ISP前端處理邏輯80之影像感測器90a(或90b)所俘獲的全解析度樣本原始影像資料。
應瞭解,在某些影像俘獲條件下,將藉由影像感測器90a所俘獲之全解析度影像資料發送至ISP電路32以供處理可能並非實際的。舉例而言,當俘獲視訊資料時,為了自人眼之觀點保留流體移動影像之外觀,可能需要至少大約30個圖框/秒的圖框速率。然而,若全解析度樣本之每一圖框中所含有的像素資料之量超過在以30個圖框/秒取樣時ISP電路32的處理能力,則分格化儲存補償濾波可結合藉由影像感測器90a進行之分格化儲存來應用以減少影像信號的解析度同時亦改良信雜比。舉例而言,如上文所論述,可應用諸如2×2分格化儲存之各種分格化儲存技術來藉由平均化原始圖框310之作用中區域312中之周圍像素的值來產生「經分格化儲存」原始影像像素。
參看圖60,根據一實施例說明影像感測器90a之實施例,其可經組態以分格化儲存圖59之全解析度影像資料693以產生圖61所示的對應之經分格化儲存原始影像資料700。如圖所示,影像感測器90a可俘獲全解析度原始影像資料693。分格化儲存邏輯699可經組態以將分格化儲存應用於全解析度原始影像資料693以產生經分格化儲存原始影像資料700,經分格化儲存原始影像資料700可使用感測器介面94a而提供至ISP前端處理邏輯80,感測器介面94a(如上文所論述)可為SMIA介面或任何其他合適並列或串列相機介面。
如圖61所說明,分格化儲存邏輯699可將2×2分格化儲存應用於全解析度原始影像資料693。舉例而言,關於經分格化儲存影像資料700,像素695、696、697及698可形成拜耳圖案,且可藉由平均化來自全解析度原始影像資料693之像素的值予以判定。舉例而言,參看圖59及圖61兩者,經分格化儲存Gr像素695可被判定為全解析度Gr像素695a-695d之平均值或均值。類似地,經分格化儲存R像素696可被判定為全解析度R像素696a-696d之平均值,經分格化儲存B像素697可被判定為全解析度B像素697a-697d之平均值,且經分格化儲存Gb像素698可被判定為全解析度Gb像素698a-698d之平均值。因此,在本實施例中,2×2分格化儲存可提供一組四個全解析度像素,該等像素包括經平均化以導出位於藉由該組四個全解析度像素形成之正方形之中心處之經分格化儲存像素的左上部(例如,695a)、右上部(例如,695b)、左下部(例如,695c)及右下部(例如,695d)像素。因此,圖61所示之經分格化儲存拜耳區塊694含有四個「超級像素」(superpixel),該等超級像素表示圖59之拜耳區塊694a-694d中所含有的16個像素。
除了減少空間解析度之外,分格化儲存亦提供減少影像信號中之雜訊的附加優點。舉例而言,無論何時將影像感測器(例如,90a)曝光至光信號,皆可存在與影像相關聯的某一量之雜訊,諸如,光子雜訊。此雜訊可為隨機或系統的,且其亦可來自多個來源。因此,可依據信雜比來表達藉由影像感測器俘獲之影像中所含有的資訊之量。舉例而言,每當影像藉由影像感測器90a俘獲且傳送至處理電路(諸如,ISP電路32)時,在像素值中可存在某種程度之雜訊,此係因為讀取及傳送影像資料之程序固有地將「讀取雜訊」引入至影像信號中。此「讀取雜訊」可為隨機的且通常為不可避免的。藉由使用四個像素之平均值,通常可減少雜訊(例如,光子雜訊)而不管雜訊之來源。
因此,當考慮圖59之全解析度影像資料693時,每一拜耳圖案(2×2區塊)694a-694d含有4個像素,該等像素中之每一者含有一信號及雜訊分量。若單獨地讀取在(例如)拜耳區塊694a中之每一像素,則存在四個信號分量及四個雜訊分量。然而,藉由應用分格化儲存(如圖59及圖61所示)以使得四個像素(例如,695a、695b、695c、695d)可藉由經分格化儲存影像資料中之單一像素(例如,695)表示,可將藉由全解析度影像資料693中之四個像素佔據的相同面積讀取為具有雜訊分量之僅一個例子的單一像素,由此改良信雜比。
此外,儘管本實施例將圖60之分格化儲存邏輯699描繪為經組態以應用2×2分格化儲存程序,但應瞭解,分格化儲存邏輯699可經組態以應用任何合適類型的分格化儲存程序,諸如,3×3分格化儲存、垂直分格化儲存、水平分格化儲存,等等。在一些實施例中,影像感測器90a可經組態以在影像俘獲程序期間於不同分格化儲存模式之間選擇。另外,在其他實施例中,影像感測器90a亦可經組態以應用可被稱為「跳過」(skipping)之技術,其中代替平均像素樣本,邏輯699自全解析度資料693僅選擇某些像素(例如,每隔一個像素、每隔3個像素,等等)以輸出至ISP前端80以供處理。此外,儘管圖60中僅展示影像感測器90a,但應瞭解,可以類似方式實施影像感測器90b。
亦如圖61所描繪,分格化儲存程序之一效應在於:經分格化儲存像素的空間取樣可能並未相等地間隔。在一些系統中,此空間失真導致頻疊(例如,鋸齒狀邊緣),其通常為不合需要的。此外,因為ISP管道邏輯82中之某些影像處理步驟可取決於色彩樣本之線性置放以便正確地操作,所以可應用分格化儲存補償濾波器(BCF)652以執行經分格化儲存像素的再取樣及重新定位,使得經分格化儲存像素在空間上均勻地分佈。亦即,BCF 652基本上藉由再取樣樣本(例如,像素)之位置而補償不均勻空間分佈(例如,圖61所示)。舉例而言,圖62說明在藉由BCF 652處理之後經分格化儲存影像資料702的經再取樣部分,其中含有均勻分佈之經再取樣像素704、705、706及707的拜耳區塊703分別對應於來自圖61之經分格化儲存影像資料700的經經分格化儲存像素695、696、697及698。另外,在利用跳過(例如,代替分格化儲存)之實施例中,如上文所提及,圖61所示之空間失真可能不存在。在此狀況下,BCF 652可充當低通濾波器以減少可在藉由影像感測器90a使用跳過時引起的假影(例如,頻疊)。
圖63展示根據一實施例的分格化儲存補償濾波器652之方塊圖。BCF 652可包括分格化儲存補償邏輯708,分格化儲存補償邏輯708可處理經分格化儲存像素700以分別使用水平按比例縮放邏輯709及垂直按比例縮放邏輯710來應用水平及垂直按比例縮放,以再取樣及重新定位經分格化儲存像素700,使得其係以空間均勻分佈而配置,如圖62所示。在一實施例中,藉由BCF 652執行之該(等)按比例縮放操作可使用水平及垂直多分接頭多相濾波予以執行。舉例而言,濾波程序可包括自輸入來源影像資料(例如,藉由影像感測器90a提供之經分格化儲存影像資料700)選擇適當像素、將所選擇像素中之每一者乘以一濾波係數,及對所得值進行加總以在所要目的地處形成輸出像素。
用於按比例縮放操作中之像素的選擇(其可包括相同色彩之中心像素及周圍相鄰像素)可使用單獨微分分析器711予以判定,一個微分分析器711用於垂直按比例縮放且一個微分分析器711用於水平按比例縮放。在所描繪實施例中,微分分析器711可為數位微分分析器(DDA),且可經組態以在垂直及水平方向上於按比例縮放操作期間控制當前輸出像素位置。在本實施例中,第一DDA(被稱為711a)在水平按比例縮放期間用於所有色彩分量,且第二DDA(被稱為711b)在垂直按比例縮放期間用於所有色彩分量。僅藉由實例,可將DDA 711提供作為含有2補數定點數之32位元資料暫存器,該數在整數部分中具有16個位元且在小數中具有16個位元。16位元整數部分可用以判定輸出像素之當前位置。DDA 711之小數部分可用以判定當前索引或階段,其可基於當前DDA位置之像素間小數位置(例如,對應於輸出像素之空間位置)。索引或階段可用以自一組濾波器係數表712選擇一組適當係數。另外,可使用相同色彩像素而每色彩分量地進行濾波。因此,可不僅基於當前DDA位置之階段而且基於當前像素之色彩來選擇濾波係數。在一實施例中,8個階段可存在於每一輸入像素之間,且因此,垂直及水平按比例縮放組件可利用8深度係數表,使得16位元小數部分的高位序3個位元用以表達當前階段或索引。因此,如本文所使用,術語「原始影像」資料或其類似者應被理解為指代藉由單一感測器(彩色濾光片陣列圖案(例如,拜耳)上覆於該感測器)獲取之多色彩影像資料,彼等資料在一個平面中提供多個色彩分量。在另一實施例中,單獨DDA可用於每一色彩分量。舉例而言,在此等實施例中,BCF 652可自原始影像資料提取R、B、Gr及Gb分量,且處理每一分量作為單獨平面。
在操作中,水平及垂直按比例縮放可包括初始化DDA 711,及使用DDA 711之整數及小數部分來執行多分接頭多相濾波。儘管單獨地且藉由單獨DDA執行,但水平及垂直按比例縮放操作係以類似方式執行。步進值或步長(用於水平按比例縮放之DDAStepX及用於垂直按比例縮放之DDAStepY)判定在判定每一輸出像素之後DDA值(currDDA)累加之量,且使用下一currDDA值來重複多分接頭多相濾波。舉例而言,若步進值小於1,則按比例放大影像,且若步進值大於1,則按比例縮小影像。若步進值等於1,則無按比例縮放發生。此外,應注意,相同或不同步長可用於水平及垂直按比例縮放。
輸出像素係藉由BCF 652以與輸入像素相同之次序而產生(例如,使用拜耳圖案)。在本實施例中,輸入像素可基於其排序而分類為偶數或奇數。舉例而言,參看圖64,說明基於各種DDAStep值(列714-718)之輸入像素位置(列713)及對應輸出像素位置之圖形描繪。在此實例中,所描繪列表示原始拜耳影像資料中之一列紅色(R)及綠色(Gr)像素。出於水平濾波目的,列713中在位置0.0處之紅色像素可被認為偶數像素,列713中在位置1.0處之綠色像素可被認為奇數像素,等等。對於輸出像素位置,可基於DDA 711之小數部分(下部16個位元)中的最低有效位元來判定偶數及奇數像素。舉例而言,在假設1.25之DDAStep的情況下,如列715所示,最低有效位元對應於DDA之位元14,此係因為此位元提供0.25之解析度。因此,在DDA位置(currDDA)0.0處之紅色輸出像素可被認為偶數像素(最低有效位元(位元14)為0),在currDDA 1.0處之綠色輸出像素(位元14為1),等等。此外,儘管關於在水平方向上之濾波(使用DDAStepX)來論述圖64,但應理解,可關於垂直濾波(使用DDAStepY)以相同方式應用偶數及奇數輸入及輸出像素的判定。在其他實施例中,DDA 711亦可用以追蹤輸入像素之位置(例如,而非追蹤所要輸出像素位置)。此外,應瞭解,可將DDAStepX及DDAStepY設定為相同或不同值。此外,在假設使用拜耳圖案的情況下,應注意,取決於(例如)哪一像素位於作用中區域312內之隅角處,藉由BCF 652使用之開始像素可為Gr、Gb、R或B像素中的任一者。
記住此,偶數/奇數輸入像素用以分別產生偶數/奇數輸出像素。在假定輸出像素位置於偶數與奇數位置之間交替的情況下,藉由分別將DDA捨位至偶數或奇數輸出像素位置之最接近的偶數或奇數輸入像素位置(基於DDAStepX)來判定用於濾波目的之中心來源輸入像素位置(在本文中被稱為「currPixel」)。在DDA 711a經組態以使用16個位元來表示整數且使用16個位元來表示小數之實施例中,可使用下文之方程式6a及6b針對偶數及奇數currDDA位置來判定currPixel:
可基於下式之位元[31:16]來判定偶數輸出像素位置:
(currDDA+1.0) & 0xFFFE.0000 (6a)
可基於下式之位元[31:16]來判定奇數輸出像素位置:
(currDDA)|0x0001.0000 (6b)
基本上,以上方程式呈現捨位操作,藉以,將偶數及奇數輸出像素位置(如藉由currDDA所判定)分別針對currPixel之選擇而捨位至最近的偶數及奇數輸入像素位置。
另外,亦可在每一currDDA位置處判定當前索引或階段(currIndex)。如上文所論述,索引或階段值表示輸出像素位置相對於輸入像素位置之小數像素間位置。舉例而言,在一實施例中,可在每一輸入像素位置之間界定8個階段。舉例而言,再次參看圖64,8個索引值0-7提供於在位置0.0處之第一紅色輸入像素與在位置2.0處之下一紅色輸入像素之間。類似地,8個索引值0-7提供於在位置1.0處之第一綠色輸入像素與在位置3.0處之下一綠色輸入像素之間。在一實施例中,可分別針對偶數及奇數輸出像素位置根據下文之方程式7a及7b來判定currIndex值:
可基於下式之位元[16:14]來判定偶數輸出像素位置:
(currDDA+0.125) (7a)
可基於下式之位元[16:14]來判定奇數輸出像素位置:
(currDDA+1.125) (7b)
對於奇數位置,額外的1像素移位等效於將為四之位移加至用於奇數輸出像素位置的係數索引,以考慮不同色彩分量之間相對於DDA 711的索引位移。
一旦已在特定currDDA位置處判定currPixel及currIndex,濾波程序隨即可基於currPixel(所選擇之中心輸入像素)來選擇一或多個相鄰的相同色彩像素。藉由實例,在水平按比例縮放邏輯709包括5分接頭多相濾波器且垂直按比例縮放邏輯710包括3分接頭多相濾波器之實施例中,可針對水平濾波選擇在水平方向上於currPixel之每一側上的兩個相同色彩像素(例如,-2、-1、0、+1、+2),且可針對垂直濾波選擇在垂直方向上於currPixel之每一側上的一個相同色彩像素(例如,-1、0、+1)。此外,currIndex可用作選擇索引以自濾波器係數表712選擇適當濾波係數以應用於所選擇像素。舉例而言,在使用5分接頭水平/3分接頭垂直濾波實施例的情況下,可針對水平濾波提供五個8深度表,且可針對垂直濾波提供三個8深度表。儘管被說明為BCF 652之部分,但應瞭解,在某些實施例中,濾波器係數表712可儲存於與BCF 652實體地分離之記憶體(諸如,記憶體108)中。
在更詳細地論述水平及垂直按比例縮放操作之前,下文之表5展示如使用不同DDAStep值(例如,可應用於DDAStepX或DDAStepY)基於各種DDA位置所判定之currPixel及currIndex值之實例。
表5:分格化儲存補償濾波器-currPixel及currIndex計算之DDA實例
為了提供一實例,令吾人假設選擇1.5之DDA步長(DDAStep)(圖64之列716),其中當前DDA位置(currDDA)始於0,其指示偶數輸出像素位置。為了判定currPixel,可應用方程式6a,如下文所示:
因此,在currDDA位置0.0(列716)處,用於濾波之來源輸入中心像素對應於在列713之位置0.0處的紅色輸入像素。
為了判定在偶數currDDA 0.0處之currIndex,可應用方程式7a,如下文所示:
因此,在currDDA位置0.0(列716)處,0之currIndex值可用以自濾波器係數表712選擇濾波係數。
因此,可基於在currDDA0.0處所判定之currPixe1及currIndex值來應用濾波(其可取決於DDAStep係在X(水平)抑或Y(垂直)方向上而可為垂直或水平的),且使DDA 711累加DDAStep(1.5),且下一currPixe1及currIndex值得以判定。舉例而言,在下一currDDA位置1.5(奇數位置)處,可使用方程式6b判定currPixel,如下:
因此,在currDDA位置1.5(列716)處,用於濾波之來源輸入中心像素對應於在列713之位置1.0處的綠色輸入像素。
此外,可使用方程式7b來判定在奇數currDDA 1.5處之currIndex,如下文所示:
因此,在currDDA位置1.5(列716)處,2之currIndex值可用以自濾波器係數表712選擇適當濾波係數。可由此使用此等currPixel及currIndex值來應用濾波(其可取決於DDAStep係在X(水平)抑或Y(垂直)方向上而可為垂直或水平的)。
接下來,再次使DDA 711累加DDAStep(1.5),從而產生3.0之currDDA值。可使用方程式6a來判定對應於currDDA 3.0之currPixel,如下文所示:
因此,在currDDA位置3.0(列716)處,用於濾波之來源輸入中心像素對應於在列713之位置4.0處的紅色輸入像素。
接下來,可使用方程式7a來判定在偶數currDDA 3.0處之currIndex,如下文所示:
因此,在currDDA位置3.0(列716)處,4之currIndex值可用以自濾波器係數表712選擇適當濾波係數。應瞭解,可繼續針對每一輸出像素而使DDA 711累加DDAStep,且可使用針對每一currDDA值所判定之currPixel及currIndex來應用濾波(其可取決於DDAStep係在X(水平)抑或Y(垂直)方向上而可為垂直或水平的)。
如上文所論述,currIndex可用作選擇索引以自濾波器係數表712選擇適當濾波係數以應用於所選擇像素。濾波程序可包括獲得圍繞中心像素(currPixel)之來源像素值、將所選擇像素中之每一者乘以基於currIndex自濾波器係數表712所選擇之適當濾波係數,及對結果求和以獲得在對應於currDDA之位置處輸出像素之值。此外,因為本實施例在相同色彩像素之間利用8個階段,所以在使用5分接頭水平/3分接頭垂直濾波實施例的情況下,可針對水平濾波提供五個8深度表,且可針對垂直濾波提供三個8深度表。在一實施例中,係數表輸入項中之每一者可包括具有3個整數位元及13個小數位元之16位元2補數定點數。
此外,在假設拜耳影像圖案的情況下,在一實施例中,垂直按比例縮放分量可包括四個單獨之3分接頭多相濾波器,每一色彩分量(Gr、R、B及Gb)一個濾波器。3分接頭濾波器中之每一者可使用DDA 711以控制當前中心像素之步進及係數之索引,如上文所描述。類似地,水平按比例縮放分量可包括四個單獨之5分接頭多相濾波器,每一色彩分量(Gr、R、B及Gb)一個濾波器。5分接頭濾波器中之每一者可使用DDA 711以控制當前中心像素之步進(例如,經由DDAStep)及係數之索引。然而,應理解,在其他實施例中,可藉由水平及垂直純量利用更少或更多的分接頭。
對於邊界狀況,用於水平及垂直濾波程序中之像素可取決於當前DDA位置(currDDA)相對於圖框界限(例如,藉由圖23中之作用中區域312界定的界限)之關係。舉例而言,在水平濾波中,若currDDA位置與中心輸入像素之位置(SrcX)及圖框之寬度(Src Width)(例如,圖23之作用中區域312的寬度322)相比指示DDA 711接近於界限,使得不存在足夠像素來執行5分接頭濾波,則可重複相同色彩之輸入界限像素。舉例而言,若所選擇之中心輸入像素係在圖框之左側邊緣處,則中心像素可針對水平濾波被複製兩次。若中心輸入像素靠近圖框之左側邊緣,使得僅一個像素在中心輸入像素與左側邊緣之間可用,則出於水平濾波目的,該一個可用像素被複製,以便將兩個像素值提供至中心輸入像素之左側。此外,水平按比例縮放邏輯709可經組態以使得輸入像素(包括原本像素及經複製像素)之數目不能超過輸入寬度。此可表達如下:
StartX=(((DDAInitX+0x0001.0000) & 0xFFFE.0000)>>16)
EndX=(((DDAInitX+DDAStepX*(BCFOutWidth-1))|0x0001.0000)>>16)
EndX-StartX<=SrcWidth-1
其中,DDAInitX表示DDA711之初始位置,DDAStepX表示在水平方向上之DDA步進值,且BCFOutWidth表示藉由BCF 652輸出之圖框的寬度。
對於垂直濾波,若currDDA位置與中心輸入像素之位置(SrcY)及圖框之寬度(SrcHeight)(例如,圖23之作用中區域312的寬度322)相比指示DDA 711接近於界限,使得不存在足夠像素來執行3分接頭濾波,則可重複輸入界限像素。此外,垂直按比例縮放邏輯710可經組態以使得輸入像素(包括原本像素及經複製像素)之數目不能超過輸入高度。此可表達如下:
StartY=(((DDAInitY+0x0001.0000) & 0xFFFE.0000)>>16)
EndY=(((DDAInitY+DDAStepY*(BCFOutHeight-1))|0x0001.0000)>>16)
EndY-StartY<=SrcHeight-1
其中,DDAInitY表示DDA 711之初始位置,DDAStepY表示在垂直方向上之DDA步進值,且BCFOutHeight表示藉由BCF 652輸出之圖框的寬度。
現參看圖65,描繪根據一實施例的用於將分格化儲存補償濾波應用於藉由前端像素處理單元150所接收之影像資料之方法720的流程圖。應瞭解,圖65所說明之方法720可應用於垂直及水平按比例縮放兩者。始於步驟721,初始化DDA 711,且判定DDA步進值(其可對應於用於水平按比例縮放之DDAStepX及用於垂直按比例縮放的DDAStepY)。接下來,在步驟722處,基於DDAStep判定當前DDA位置(currDDA)。如上文所論述,currDDA可對應於輸出像素位置。使用currDDA,方法720可自可用於分格化儲存補償濾波之輸入像素資料判定中心像素(currPixel)以判定在currDDA處的對應輸出值,如在步驟723處所指示。隨後,在步驟724處,可基於currDDA相對於輸入像素之小數像素間位置(例如,圖64之列713)來判定對應於currDDA 的索引(currIndex)。藉由實例,在DDA包括16個整數位元及16個小數位元之實施例中,可根據方程式6a及6b判定currPixel,且可根據方程式7a及7b判定currIndex,如上文所示。儘管16位元整數/16位元小數組態在本文中描述為一實例,但應瞭解,可根據本發明技術利用DDA 711的其他組態。藉由實例,DDA 711之其他實施例可經組態以包括12位元整數部分及20位元小數部分、14位元整數部分及18位元小數部分,等等。
一旦判定currPixel及currIndex,隨即可針對多分接頭濾波選擇圍繞currPixel的相同色彩之來源像素,如藉由步驟725所指示。舉例而言,如上文所論述,一實施例可在水平方向上利用5分接頭多相濾波(例如,在currPixel之每一側上選擇2個相同色彩像素),且可在垂直方向上利用3分接頭多相濾波(例如,在currPixel之每一側上選擇1個相同色彩像素)。接下來,在步驟726處,一旦選擇來源像素,隨即可基於currIndex自BCF 652之濾波器係數表712來選擇濾波係數。
此後,在步驟727處,可將濾波應用於來源像素,以判定對應於藉由currDDA所表示之位置的輸出像素之值。舉例而言,在一實施例中,來源像素可乘以其各別濾波係數,且結果可被求和以獲得輸出像素值。在步驟727處應用濾波之方向可取決於DDAStep係在X(水平)抑或Y(垂直)方向上而可為垂直或水平的。最終,在步驟263處,在步驟728處使DDA 711累加DDAStep,且方法720返回至步驟722,藉以,使用本文所論述之分格化儲存補償濾波技術來判定下一輸出像素值。
參看圖66,根據一實施例更詳細地說明來自方法720的用於判定currPixel之步驟723。舉例而言,步驟723可包括判定對應於currDDA(來自步驟722)之輸出像素位置係偶數抑或奇數的子步驟729。如上文所論述,可基於DDAStep基於currDDA之最低有效位元判定偶數或奇數輸出像素。舉例而言,在1.25之DDAStep的情況下,1.25之currDDA值可判定為奇數,此係因為最低有效位元(對應於DDA 711之小數部分的位元14)具有值1。針對2.5之currDDA值,位元14為0,由此指示偶數輸出像素位置。
在決策邏輯730處,進行關於對應於currDDA之輸出像素位置係偶數抑或奇數之判定。若輸出像素為偶數,則決策邏輯730繼續至子步驟731,其中藉由使currDDA值累加1且將結果捨位至最近的偶數輸入像素位置而判定currPixel,如藉由上文之方程式6a所表示。若輸出像素為奇數,則決策邏輯730繼續至子步驟732,其中藉由將currDDA值捨位至最近的奇數輸入像素位置而判定currPixel,如藉由上文之方程式6b所表示。可接著將currPixel值應用於方法720之步驟725以選擇用於濾波的來源像素,如上文所論述。
亦參看圖67,根據一實施例更詳細地說明來自方法720的用於判定currIndex之步驟724。舉例而言,步驟724可包括判定對應於currDDA(來自步驟722)之輸出像素位置係偶數抑或奇數的子步驟733。可以與圖66之步驟729類似之方式執行此判定。在決策邏輯734處,進行關於對應於currDDA之輸出像素位置係偶數抑或奇數之判定。若輸出像素係偶數,則決策邏輯734繼續至子步驟735,其中藉由使currDDA值累加一個索引步進從而基於DDA 711之最低位序整數位元及兩個最高位序小數位元判定currIndex來判定currIndex。舉例而言,在8個階段提供於每一相同色彩像素之間且DDA包括16個整數位元及16個小數位元之實施例中,一個索引步進可對應於0.125,且currIndex可基於累加0.125之currDDA值的位元[16:14]來判定(例如,方程式7a)。若輸出像素係奇數,則決策邏輯734繼續至子步驟736,其中藉由使currDDA值累加一個索引步進及一個像素移位且基於DDA 711之最低位序整數位元及兩個最高位序小數位元判定currIndex來判定currIndex。因此,在8個階段提供於每一相同色彩像素之間且DDA包括16個整數位元及16個小數位元之實施例中,一個索引步進可對應於0.125,一個像素移位可對應於1.0(至下一相同色彩像素的8個索引步進之移位),且currIndex可基於累加1.125之currDDA值的位元[16:14]來判定(例如,方程式7b)。
儘管當前所說明之實施例提供BCF 652作為前端像素處理單元150之組件,但其他實施例可將BCF 652併入至ISP管道82之原始影像資料處理管線中,如下文進一步論述,ISP管道82可包括有缺陷像素偵測/校正邏輯、增益/位移/補償區塊、雜訊減少邏輯、透鏡遮光校正邏輯及解馬賽克邏輯。此外,在前述有缺陷像素偵測/校正邏輯、增益/位移/補償區塊、雜訊減少邏輯、透鏡遮光校正邏輯並不依賴於像素之線性置放的實施例中,BCF 652可併有解馬賽克邏輯以執行分格化儲存補償濾波且在解馬賽克之前重新定位像素,此係因為解馬賽克通常依賴於像素的均勻空間定位。舉例而言,在一實施例中,BCF 652可併入於感測器輸入與解馬賽克邏輯之間的任何處,其中時間濾波及/或有缺陷像素偵測/校正在分格化儲存補償之前應用於原始影像資料。
如上文所論述,BCF 652之輸出(其可為具有空間均勻分佈之影像資料(例如,圖62之樣本702)的輸出FEProcOut(109))可轉遞至ISP管道處理邏輯82以供另外處理。然而,在將此論述之焦點移至ISP管道處理邏輯82之前,將首先提供可藉由可實施於ISP前端邏輯80中之統計處理單元(例如,142及144)所提供的各種功能性之更詳細描述。
返回參考統計處理單元142及144之一般描述,此等單元可經組態以收集關於俘獲且提供原始影像信號(Sif0及Sif1)之影像感測器的各種統計,諸如與自動曝光、自動白平衡、自動聚焦、閃爍偵測、黑階補償及透鏡遮光校正等等相關的統計。在進行此時,統計處理單元142及144可首先將一或多種影像處理操作應用於其各別輸入信號Sif0(來自Sensor0)及Sif1(來自Sensor1)。
舉例而言,參看圖68,根據一實施例說明與Sensor0(90a)相關聯之統計處理單元142的更詳細方塊圖視圖。如圖所示,統計處理單元142可包括以下功能區塊:有缺陷像素偵測及校正邏輯738、黑階補償(BLC)邏輯739、透鏡遮光校正邏輯740、逆BLC邏輯741及統計收集邏輯742。下文將論述此等功能區塊中之每一者。此外,應理解,與Sensor1(90b)相關聯之統計處理單元144可以類似方式實施。
最初,選擇邏輯146之輸出(例如,Sif0或SifIn0)係藉由前端有缺陷像素校正邏輯738接收。應瞭解,「有缺陷像素」可被理解為指代在該(等)影像感測器90內的未能準確地感測光位準的成像像素。有缺陷像素可歸於多個因素,且可包括「熱」(或洩漏)像素、「卡點」像素及「無作用像素」。「熱」像素通常表現為亮於在相同空間位置處提供相同量之光的無缺陷像素。熱像素可歸因於重設失效及/或高洩漏而產生。舉例而言,熱像素可相對於無缺陷像素展現高於正常的電荷洩漏,且由此可表現為亮於無缺陷像素。另外,「無作用」及「卡點」像素可為在製造及/或裝配程序期間污染影像感測器之雜質(諸如,灰塵或其他追蹤材料)的結果,其可引起某些有缺陷像素暗於或亮於無缺陷像素,或可引起有缺陷像素固定於特定值而不管其實際上所曝光至之光的量。另外,無作用及卡點像素亦可由在影像感測器之操作期間發生的電路失效引起。藉由實例,卡點像素可表現為始終接通(例如,完全充電)且由此表現為更亮的,而無作用像素表現為始終斷開。
ISP前端邏輯80中之有缺陷像素偵測及校正(DPDC)邏輯738可在有缺陷像素在統計收集(例如,742)中被考慮之前校正(例如,替換有缺陷像素值)有缺陷像素。在一實施例中,針對每一色彩分量(例如,拜耳圖案之R、B、Gr及Gb)獨立地執行有缺陷像素校正。通常,前端DPDC邏輯738可提供動態缺陷校正,其中有缺陷像素之位置係基於使用相同色彩之相鄰像素所計算的方向性梯度而自動地判定。應理解,在給定時間像素特性化為有缺陷可取決於相鄰像素中之影像資料的意義上,缺陷可為「動態的」。藉由實例,若始終接通為最大亮度的卡點像素之位置係在較亮之色彩或白色為主導之當前影像區域中,則該卡點像素可能不會被視為有缺陷像素。相反地,若卡點像素係在黑色或較暗之色彩為主導的當前影像區域中,則該卡點像素可在藉由DPDC邏輯738處理期間識別為有缺陷像素且相應地校正。
DPDC邏輯738可在當前像素之每一側上利用相同色彩的一或多個水平相鄰像素,以使用像素至像素方向性梯度判定當前像素是否有缺陷。若當前像素被識別為有缺陷,則可藉由水平相鄰像素之值來替換有缺陷像素的值。舉例而言,在一實施例中,在原始圖框310(圖23)邊界內部之相同色彩的五個水平相鄰像素被使用,其中該五個水平相鄰像素包括當前像素及任一側上的兩個相鄰像素。因此,如圖69所說明,針對給定色彩分量c及針對當前像素P,可藉由DPDC邏輯738來考慮水平相鄰像素P0、P1、P2及P3。然而,應注意,取決於當前像素P之位置,當計算像素至像素梯度時並未考慮在原始圖框310外部的像素。
舉例而言,如圖69所示,在「左側邊緣」狀況743下,當前像素P係在原始圖框310之最左側邊緣處,且因此,並未考慮在原始圖框310外部之相鄰像素P0及P1,從而僅留下像素P、P2及P3(N=3)。在「左側邊緣+1」狀況744下,當前像素P係遠離原始圖框310之最左側邊緣的一個單位像素,且因此,並未考慮像素P0。此情形僅留下像素P1、P、P2及P3(N=4)。此外,在「居中」狀況745下,在當前像素P之左側上的像素P0及P1以及在當前像素P之右側上的像素P2及P3係在原始圖框310邊界內,且因此,在計算像素至像素梯度時考慮所有相鄰像素P0、P1、P2及P3(N=5)。另外,隨著接近原始圖框310之最右側邊緣,可遇到類似狀況746及747。舉例而言,在「右側邊緣-1」狀況746的情況下,當前像素P係遠離原始圖框310之最右側邊緣的一個單位像素,且因此,並未考慮像素P3(N=4)。類似地,在「右側邊緣」狀況747下,當前像素P係在原始圖框310之最右側邊緣處,且因此,並未考慮相鄰像素P2及P3兩者(N=3)。
在所說明實施例中,針對圖片邊界(例如,原始圖框310)內之每一相鄰像素(k=0至3),像素至像素梯度可計算如下:
G k =abs (P -P k ),0 k 3(僅針對原始圖框內之k ) (8)
一旦已判定像素至像素梯度,隨即可藉由DPDC邏輯738執行有缺陷像素偵測如下。首先,假設,若某一數目個其梯度Gk 處於或低於特定臨限值(藉由變數dprTh所表示),則像素有缺陷。因此,針對每一像素,累積處於或低於臨限值dprTh之在圖片邊界內部的相鄰像素之梯度之數目的計數(C)。藉由實例,針對原始圖框310內部之每一相鄰像素,處於或低於臨限值dprTh之梯度Gk 的所累積計數C可計算如下:
0 k 3(僅針對原始圖框內之k )
應瞭解,取決於色彩分量,臨限值dprTh可變化。接下來,若所累積計數C被判定為小於或等於最大計數(藉由變數dprMaxC所表示),則像素可被認為有缺陷。下文表達此邏輯:
若(C dprMaxC),則像素有缺陷。 (10)
使用多個替換慣例來替換有缺陷像素。舉例而言,在一實施例中,有缺陷像素可藉由在其緊左側之像素P1來替換。在邊界條件(例如,P1係在原始圖框310外部)下,有缺陷像素可藉由其緊右側之像素P2來替換。此外,應理解,可針對接連之有缺陷像素偵測操作來保持或傳播替換值。舉例而言,參考圖69所示之該組水平像素,若P0或P1先前藉由DPDC邏輯738識別為有缺陷像素,則其對應替換值可用於當前像素P的有缺陷像素偵測及替換。
為了概述上文所論述之有缺陷像素偵測及校正技術,描繪此程序之流程圖提供於圖70中且藉由參考數字748指代。如圖所示,程序748始於步驟749,在步驟749處接收當前像素(P)且識別一組相鄰像素。根據上文所描述之實施例,相鄰像素可包括來自當前像素之相反側的相同色彩分量之兩個水平像素(例如,P0、P1、P2及P3)。接下來,在步驟750處,關於原始圖框310內之每一相鄰像素計算水平像素至像素梯度,如上文之方程式8中所描述。此後,在步驟751處,判定小於或等於特定臨限值dprTh的梯度之數目的計數C。如在決策邏輯752處所示,若C小於或等於dprMaxC,則處理748繼續至步驟753,且將當前像素識別為有缺陷。接著在步驟754處使用替換值來校正有缺陷像素。另外,返回參考決策邏輯752,若C大於dprMaxC,則程序繼續至步驟755,且將當前像素識別為無缺陷,且其值並未改變。
應注意,在ISP前端統計處理期間所應用之有缺陷像素偵測/校正技術可比在ISP管道邏輯82中所執行的有缺陷像素偵測/校正不穩固。舉例而言,如下文將更詳細地論述,除了動態缺陷校正之外,在ISP管道邏輯82中所執行的有缺陷像素偵測/校正亦進一步提供固定缺陷校正,其中有缺陷像素的位置係先驗已知的且載入於一或多個缺陷表中。此外,ISP管道邏輯82中之動態缺陷校正亦可考慮在水平及垂直方向兩者上的像素梯度,且亦可提供斑點(speckling)之偵測/校正,如下文將論述。
返回至圖68,接著將DPDC邏輯738之輸出傳遞至黑階補償(BLC)邏輯739。BLC邏輯739可對用於統計收集之像素針對每一色彩分量「c」(例如,拜耳之R、B、Gr及Gb)獨立地提供數位增益、位移及裁剪。舉例而言,如藉由以下運算來表達,當前像素之輸入值首先位移有正負號之值,且接著乘以增益。
Y =(X +O [c ])×G [c ], (11)
其中X表示針對給定色彩分量c(例如,R、B、Gr或Gb)之輸入像素值,O[c]表示針對當前色彩分量c的有正負號之16位元位移,且G[c]表示色彩分量c之增益值。在一實施例中,增益G[c]可為具有2個整數位元及14個小數位元之16位元無正負號數(例如,浮點表示中的2.14),且可藉由捨位來施加增益G[c]。僅藉由實例,增益G[c]可具有介於0至4X(例如,輸入像素值的4倍)之間的範圍。
接下來,如藉由下文之方程式12所示,計算值Y(其為有正負號的)可接著裁剪為最小值及最大值範圍:
Y =(Y <min[c])?min[c]:(Y >max[c])?max[c]:Y  (12)
變數min[c]及max[c]可分別表示針對最小及最大輸出值的有正負號之16位元「裁剪值」。在一實施例中,BLC邏輯739亦可經組態以每色彩分量地維持分別剪裁至高於及低於最大值及最小值之像素之數目的計數。
隨後,將BLC邏輯739之輸出轉遞至透鏡遮光校正(LSC)邏輯740。LSC邏輯740可經組態以每像素地施加適當增益以補償強度下降,其通常與自成像裝置30之透鏡88之光學中心的距離粗略地成比例。應瞭解,此等下降可為透鏡之幾何光學的結果。藉由實例,具有理想之光學性質的透鏡可模型化為入射角之餘弦的四次冪cos4 (θ),被稱為cos4 定律。然而,因為透鏡製造並非完美的,所以透鏡中之各種不規則性可引起光學性質偏離所假設的cos4 模型。舉例而言,透鏡之較薄邊緣通常展現最多的不規則性。另外,透鏡遮光圖案中之不規則性亦可為並未與彩色陣列濾光片完全對準之影像感測器內的微透鏡陣列之結果。此外,在一些透鏡中之紅外線(IR)濾光片可使得下降為照明體相依的,且因此,可取決於所偵測之光源來調適透鏡遮光增益。
參看圖71,說明描繪針對典型透鏡之光強度對像素位置的三維量變曲線756。如圖所示,靠近透鏡之中心757的光強度逐漸朝向透鏡之隅角或邊緣758下降。圖71所描繪之透鏡遮光不規則性可藉由圖72更好地說明,圖41展示展現光強度朝向隅角及邊緣之下降的影像759之有色圖式。特定言之,應注意,在影像之近似中心處的光強度表現為亮於影像之隅角及/或邊緣處的光強度。
根據本發明技術之實施例,透鏡遮光校正增益可被指定為每色彩通道(例如,拜耳濾光片之Gr、R、B、Gb)之增益的二維柵格。增益柵格點可以固定水平及垂直間隔分佈於原始圖框310(圖23)內。如上文在圖23中所論述,原始圖框310可包括作用中區域312,作用中區域312界定針對特定影像處理操作對其執行處理的區域。關於透鏡遮光校正操作,作用中處理區域(其可被稱為LSC區域)界定於原始圖框區域310內。如下文將論述,LSC區域必須完全在增益柵格邊界內部或在增益柵格邊界處,否則結果可為未定義的。
舉例而言,參看圖73,展示可界定於原始圖框310內之LSC區域760及增益柵格761。LSC區域760可具有寬度762及高度763,且可藉由x位移764及y位移765相對於原始圖框310之邊界來界定。亦提供自柵格增益761之基礎768至LSC區域760中之第一像素769的柵格位移(例如,柵格x位移766及柵格y位移767)。此等位移可針對給定色彩分量處於第一柵格間隔內。可分別針對每一色彩通道獨立地指定水平(x方向)柵格點間隔770及垂直(y方向)柵格點間隔771。
如上文所論述,在假設拜耳彩色濾光片陣列之使用的情況下,可定義柵格增益之4個色彩通道(R、B、Gr及Gb)。在一實施例中,總共4K(4096)個柵格點可為可用的,且針對每一色彩通道,可(諸如)藉由使用指標來提供柵格增益之開始位置的基本位址。此外,水平(770)及垂直(771)柵格點間隔可依據在一個色彩平面之解析度下的像素界定,且在某些實施例中,可在水平及垂直方向上針對藉由2的冪(諸如,藉由8、16、32、64或128等)所分離之柵格點間隔來提供。應瞭解,藉由利用2的冪,可達成使用移位(例如,除法)及加法運算之增益內插的有效實施。使用此等參數,正當影像感測器修剪區域改變時,可使用相同的增益值。舉例而言,僅少數參數需要被更新以對準柵格點與經修剪區域(例如,更新柵格位移770及771)而非更新所有柵格增益值。僅藉由實例,當在數位變焦操作期間使用修剪時,此可為有用的。此外,儘管圖73之實施例所示的增益柵格761描繪為具有大體上相等間隔之柵格點,但應理解,在其他實施例中,柵格點可能未必相等地間隔。舉例而言,在一些實施例中,柵格點可不均勻地(例如,以對數形式)分佈,使得柵格點較少集中於LSC區域760的中心,但朝向LSC區域760之隅角更集中,通常在透鏡遮光失真更顯著之處。
根據當前所揭示之透鏡遮光校正技術,當當前像素位置位於LSC區域760之外部時,不施加增益(例如,像素未改變地通過)。當當前像素位置係處於增益柵格位置處時,可使用在彼特定柵格點處的增益值。然而,當當前像素位置係處於柵格點之間時,可使用雙線性內插來內插增益。下文提供針對圖74上之像素位置「G」內插增益的一實例。
如圖74所示,像素G係在柵格點G0、G1、G2及G3之間,柵格點G0、G1、G2及G3可分別對應於相對於當前像素位置G之左頂部、右頂部、左底部及右底部增益。柵格間隔之水平及垂直大小係分別藉由X及Y表示。另外,ii及jj分別表示相對於左頂部增益G0之位置的水平及垂直像素位移。基於此等因子,對應於位置G之增益可由此內插如下:
上文之方程式13a中的項可接著組合以獲得以下表達:
在一實施例中,可累加地執行內插方法,而非在每一像素處使用乘數,由此減少計算複雜性。舉例而言,項(ii)(jj)可使用可在增益柵格761之位置(0,0)處初始化為0的加法器而實現,且每當將當前行數增大達一個像素時使項(ii)(jj)累加當前列數。如上文所論述,由於可將X及Y之值選擇為2的冪,故可使用簡單移位運算來實現增益內插。因此,僅在柵格點G0(而非在每一像素處)需要乘數,且僅需要加法運算來判定剩餘像素之內插增益。
在某些實施例中,在柵格點之間的增益之內插可使用14位元精確度,且柵格增益可為具有2個整數位元及8個小數位元的無正負號之10位元值(例如,2.8浮點表示)。在使用此慣例的情況下,增益可具有介於0與4X之間的範圍,且在柵格點之間的增益解析度可為1/256。
透鏡遮光校正技術可藉由圖75所示之程序772進一步說明。如圖所示,程序772始於步驟773,在步驟773處相對於圖73之LSC區域760的邊界判定當前像素之位置。接下來,決策邏輯774判定當前像素位置是否係在LSC區域760內。若當前像素位置係在LSC區域760外部,則程序772繼續至步驟775,且無增益施加至當前像素(例如,像素未改變地通過)。
若當前像素位置係在LSC區域760內,則程序772繼續至決策邏輯776,在決策邏輯776處進一步判定當前像素位置是否對應於增益柵格761內的柵格點。若當前像素位置對應於柵格點,則選擇在彼柵格點處之增益值且將其施加至當前像素,如在步驟777處所示。若當前像素位置不對應於柵格點,則程序772繼續至步驟778,且基於定界柵格點(例如,圖74之G0、G1、G2及G3)來內插增益。舉例而言,可根據方程式13a及13b來計算內插增益,如上文所論述。此後,程序772在步驟779處結束,在步驟779處將來自步驟778之內插增益施加至當前像素。
應瞭解,可針對影像資料之每一像素重複程序772。舉例而言,如圖76所示,說明描繪可施加至LSC區域(例如,760)內之每一像素位置之增益的三維量變曲線。如圖所示,歸因於在影像之隅角780處之光強度的較大下降,施加於該等隅角處的增益可通常大於施加至影像之中心781的增益,如圖71及圖72所示。在使用當前所描述之透鏡遮光校正技術的情況下,可減少或實質上消除影像中之光強度下降的出現。舉例而言,圖77提供來自圖72之影像759之有色圖式可在透鏡遮光校正被應用之後出現之方式的實例。如圖所示,與來自圖72之原本影像相比,整體光強度通常跨越影像更均一。特定言之,在影像之近似中心處的光強度可實質上等於在影像之隅角及/或邊緣處的光強度值。另外,如上文所提及,在一些實施例中,內插增益計算(方程式13a及13b)可藉由利用依序行及列累加結構而用柵格點之間的加性「差量」進行替換。應瞭解,此情形減少計算複雜性。
在其他實施例中,除了使用柵格增益之外,亦使用隨自影像中心之距離而按比例縮放的每色彩分量之全域增益。影像之中心可被提供作為輸入參數,且可藉由分析均一照明之影像中每一影像像素的光強度振幅予以估計。在所識別之中心像素與當前像素之間的徑向距離可接著用以獲得線性按比例縮放之徑向增益Gr ,如下文所示:
G r =G p [c ]×R, (14)
其中Gp [c]表示每一色彩分量c(例如,拜耳圖案之R、B、Gr及Gb分量)之全域增益參數,且其中R表示在中心像素與當前像素之間的徑向距離。
參看圖78,其展示上文所論述之LSC區域760,距離R可使用若干技術予以計算或估計。如圖所示,對應於影像中心之像素C可具有座標(x0 ,y0 ),且當前像素G可具有座標(xG ,yG )。在一實施例中,LSC邏輯740可使用以下方程式來計算距離R:
在另一實施例中,下文所示之較簡單之估計公式可用以獲得R之估計值。
R =α×max(abs (x G -x 0 ),abs (y G -y 0 ))+β×min(abs (x G -x 0 ),abs (y G -y 0 )) (16)
在方程式16中,估計係數α及β可按比例縮放為8位元值。僅藉由實例,在一實施例中,α可等於大約123/128且β可等於大約51/128以提供R之估計值。在使用此等係數值的情況下,最大誤差可為大約4%,其中中值誤差為大約1.3%。因此,即使估計技術可比在判定R時利用計算技術(方程式15)稍微不準確,誤差容限仍足夠低以使得估計值或R適於針對當前透鏡遮光校正技術來判定徑向增益分量。
徑向增益Gr 可接著乘以當前像素之內插柵格增益值G(方程式13a及13b),以判定可施加至當前像素之總增益。輸出像素Y係藉由將輸入像素值X乘以總增益而獲得,如下文所示:
Y =(G ×G r ×X ) (17)
因此,根據本發明技術,可僅使用內插增益、內插增益及徑向增益分量兩者來執行透鏡遮光校正。或者,亦可僅使用徑向增益而結合補償徑向近似誤差之徑向柵格表來實現透鏡遮光校正。舉例而言,代替矩形增益柵格761(如圖73所示),可提供具有在徑向及角方向上定義增益之複數個柵格點的徑向增益柵格。因此,當判定施加至在LSC區域760內並不與徑向柵格點中之一者對準之像素的增益時,可使用圍封像素之四個柵格點來應用內插以判定適當的內插透鏡遮光增益。
參看圖79,藉由程序782說明在透鏡遮光校正中內插及徑向增益分量之使用。應注意,程序782可包括類似於上文在圖75中所描述之程序772的步驟。因此,已藉由相似參考數字而對此等步驟編號。始於步驟773,接收當前像素且判定其相對於LSC區域760之位置。接下來,決策邏輯774判定當前像素位置是否係在LSC區域760內。若當前像素位置係在LSC區域760外部,則程序782繼續至步驟775,且無增益施加至當前像素(例如,像素未改變地通過)。若當前像素位置係在LSC區域760內,則程序782可同時繼續至步驟783及決策邏輯776。首先參考步驟783,擷取識別影像之中心的資料。如上文所論述,判定影像之中心可包括在均一照明下分析像素之光強度振幅。舉例而言,此分析可在校準期間發生。因此,應理解,步驟783未必涵蓋重複地計算用於處理每一像素之影像的中心,而可指代擷取先前所判定之影像中心的資料(例如,座標)。一旦識別影像之中心,程序782隨即可繼續至步驟784,其中判定在影像中心與當前像素位置之間的距離(R)。如上文所論述,可計算(方程式15)或估計(方程式16)R之值。接著,在步驟785處,可使用對應於當前像素之色彩分量的距離R及全域增益參數來計算徑向增益分量Gr (方程式14)。徑向增益分量Gr 可用以判定總增益,如下文將在步驟787中論述。
返回參考決策邏輯776,判定當前像素位置是否對應於增益柵格761內之柵格點。若當前像素位置對應於柵格點,則判定在彼柵格點處之增益值,如在步驟786處所示。若當前像素位置不對應於柵格點,則程序782繼續至步驟778,且基於定界柵格點(例如,圖74之G0、G1、G2及G3)來計算內插增益。舉例而言,可根據方程式13a及13b來計算內插增益,如上文所論述。接下來,在步驟787處,基於在步驟785處所判定之徑向增益以及柵格增益(步驟786)或內插增益(778)中之一者來判定總增益。應瞭解,此可取決於決策邏輯776在程序782期間採取哪一分支。接著將總增益施加至當前像素,如在步驟788處所示。又,應注意,如同程序772,亦可針對影像資料之每一像素重複程序782。
徑向增益結合柵格增益之使用可提供各種優點。舉例而言,使用徑向增益會允許針對所有色彩分量使用單一共同增益柵格。此情形可極大地減少儲存每一色彩分量之單獨增益柵格所需要的總儲存空間。舉例而言,在拜耳影像感測器中,針對R、B、Gr及Gb分量中之每一者使用單一增益柵格可將增益柵格資料減少達大約75%。應瞭解,柵格增益資料之此減少可減小實施成本,此係因為柵格增益資料表可考慮影像處理硬體中之記憶體或晶片面積的顯著部分。此外,取決於硬體實施,單一組之增益柵格值的使用可提供其他優點,諸如,減少整體晶片面積(例如,諸如當增益柵格值儲存於晶片上記憶體中時),及減少記憶體頻寬要求(例如,諸如當增益柵格值儲存於晶片外外部記憶體中時)。
在詳盡地描述圖68所示之透鏡遮光校正邏輯740的功能性後,隨後將LSC邏輯740之輸出轉遞至逆黑階補償(IBLC)邏輯741。IBLC邏輯741針對每一色彩分量(例如,R、B、Gr及Gb)獨立地提供增益、位移及裁剪,且通常執行BLC邏輯739之逆功能。舉例而言,如藉由以下運算所示,輸入像素之值首先乘以增益且接著位移達有正負號之值。
Y =(X ×G [c ])+O [c ], (18)
其中X表示針對給定色彩分量c(例如,R、B、Gr或Gb)之輸入像素值,O[c]表示當前色彩分量c的有正負號之16位元位移,且G[c]表示色彩分量c之增益值。在一實施例中,增益G[c]可具有介於大約0至4X(為輸入像素值X的4倍)之間的範圍。應注意,此等變數可為上文在方程式11中所論述之相同變數。可使用(例如)方程式12將計算值Y裁剪至最小值及最大值範圍。在一實施例中,IBLC邏輯741可經組態以每色彩分量地維持分別剪裁至高於及低於最大值及最小值之像素之數目的計數。
此後,IBLC邏輯741之輸出藉由統計收集區塊742接收,統計收集區塊742可提供關於該(等)影像感測器90之各種統計資料點的收集,諸如,與自動曝光(AE)、自動白平衡(AWB)、自動聚焦(AF)、閃爍偵測等等相關的資料點。記住此,下文關於圖80至圖97提供統計收集區塊742之某些實施例及與其相關之各種態樣的描述。
應瞭解,可在數位靜態相機以及視訊攝影機中獲取影像時使用AWB、AE及AF統計。為簡單性起見,AWB、AE及AF統計在本文中可被統稱為「3A統計」。在圖68所說明之ISP前端邏輯的實施例中,統計收集邏輯742(「3A統計邏輯」)之架構可以硬體、軟體或其組合來實施。此外,控制軟體或韌體可用以分析藉由3A統計邏輯742收集之統計資料且控制透鏡(例如,焦距)、感測器(例如,類比增益、積分時間)及ISP管線82(例如,數位增益、色彩校正矩陣係數)的各種參數。在某些實施例中,影像處理電路32可經組態以在統計收集方面提供彈性,以啟用控制軟體或韌體來實施各種AWB、AE及AF演算法。
關於白平衡(AWB),在每一像素處之影像感測器回應可取決於照明源,此係因為光源係自影像場景中之物件反射。因此,記錄於影像場景中之每一像素值與光源之色溫相關。舉例而言,圖79展示說明YCbCr色彩空間之在低色溫及高色溫下的白色區域之色彩範圍的圖表789。如圖所示,圖表789之x軸表示YCbCr色彩空間之藍色差異色度(Cb),且圖表789之y軸表示紅色差異色度(Cr)。圖表789亦展示低色溫軸線790及高色溫軸線791。定位有軸線790及791之區域792表示YCbCr色彩空間中在低色溫及高色溫下之白色區域的色彩範圍。然而,應理解,YCbCr色彩空間僅僅為可結合本實施例中之自動白平衡處理而使用之色彩空間的一實例。其他實施例可利用任何合適色彩空間。舉例而言,在某些實施例中,其他合適色彩空間可包括Lab(CIELab)色彩空間(例如,基於CIE 1976)、紅色/藍色正規化色彩空間(例如,R/(R+2G+B)及B/(R+2G+B)色彩空間;R/G及B/G色彩空間;Cb/Y及Cr/Y色彩空間等等)。因此,為本發明之目的,藉由3A統計邏輯742使用之色彩空間的軸線可被稱為C1及C2(如圖80中之狀況)。
當在低色溫下照明白物件時,其可在所俘獲影像中表現為微紅。相反地,在高色溫下所照明之白物件可在所俘獲影像中表現為微藍。因此,白平衡之目標係調整RGB值,使得影像對人眼表現為如同其係在規範光下取得。因此,在與白平衡相關之成像統計的內容背景中,收集關於白物件之色彩資訊以判定光源之色溫。一般而言,白平衡演算法可包括兩個主步驟。第一,估計光源之色溫。第二,使用所估計之色溫以調整色彩增益值及/或判定/調整色彩校正矩陣之係數。此等增益可為類比與數位影像感測器增益以及ISP數位增益之組合。
舉例而言,在一些實施例中,可使用多個不同參考照明體來校準成像裝置30。因此,可藉由選擇對應於最緊密地匹配當前場景之照明體的參考照明體之色彩校正係數來判定當前場景的白點。僅藉由實例,一實施例可使用五個參考照明體(低色溫照明體、中等低色溫照明體、中等色溫照明體、中等高色溫照明體及高色溫照明體)來校準成像裝置30。如圖81所示,一實施例可使用以下色彩校正設定值來定義白平衡增益:水平線(H)(模擬大約2300度之色溫)、白熾(A或IncA)(模擬大約2856度之色溫)、D50(模擬大約5000度之色溫)、D65(模擬大約6500度之色溫)及D75(模擬大約7500度之色溫)。
取決於當前場景之照明體,可使用對應於最緊密地匹配當前照明體之參考照明體的增益來判定白平衡增益。舉例而言,若統計邏輯742(下文在圖82中更詳細地描述)判定當前照明體近似地匹配參考中等色溫照明體D50,則大約1.37及1.23之白平衡增益可分別施加至紅色及藍色通道,而近似無增益(1.0)施加至綠色通道(拜耳資料之G0及G1)。在一些實施例中,若當前照明體色溫係在兩個參考照明體中間,則可經由在該兩個參考照明體之間內插白平衡增益而判定白平衡增益。此外,儘管本實例展示使用H、A、D50、D65及D75照明體所校準之成像裝置,但應理解,任何合適類型之照明體可用於相機校準,諸如TL84或CWF(螢光參考照明體)等等。
如下文將進一步論述,若干統計可被提供用於AWB(包括二維(2D)色彩直方圖),且RGB或YCC求和以提供多個可程式化色彩範圍。舉例而言,在一實施例中,統計邏輯742可提供一組多個像素濾波器,其中該多個像素濾波器之一子集可被選擇用於AWB處理。在一實施例中,可提供八組濾波器(各自具有不同之可組態參數),且可自該組選擇三組色彩範圍濾波器以用於聚集發光塊統計,以及用於聚集每一浮動視窗的統計。藉由實例,第一所選擇濾波器可經組態以覆蓋當前色溫以獲得準確的色彩估計,第二所選擇濾波器可經組態以覆蓋低色溫區域,且第三所選擇濾波器可經組態以覆蓋高色溫區域。此特定組態可啟用AWB演算法以隨光源改變而調整當前色溫區域。此外,2D色彩直方圖可用以判定全域及局域照明體,且判定用於累積RGB值之各種像素濾波器臨限值。又,應理解,三個像素濾波器之選擇意謂說明僅一實施例。在其他實施例中,可選擇更少或更多之像素濾波器以用於AWB統計。
此外,除了選擇三個像素濾波器之外,一額外像素濾波器亦可用於自動曝光(AE),自動曝光(AE)通常指代調整像素積分時間及增益以控制所俘獲影像之照度的程序。舉例而言,自動曝光可控制藉由該(等)影像感測器設定積分時間所俘獲的來自場景之光之量。在某些實施例中,發光塊及照度統計浮動視窗可經由3A統計邏輯742而收集且經處理以判定積分及增益控制參數。
此外,自動聚焦可指代判定透鏡之最佳焦距,以便實質上最佳化影像之聚焦。在某些實施例中,可收集高頻統計浮動視窗,且可調整透鏡之焦距以使影像聚焦。如下文進一步論述,在一實施例中,自動聚焦調整可基於一或多個量度(被稱為自動聚焦刻痕(AF刻痕))來利用粗略及精細調整以使影像聚焦。此外,在一些實施例中,AF統計/刻痕可針對不同色彩而判定,且每一色彩通道之AF統計/刻痕之間的相對性可用以判定聚焦方向。
因此,可經由統計收集區塊742而尤其判定及收集此等各種類型之統計。如圖所示,Sensor0統計處理單元142之統計收集區塊742之輸出STATS0可發送至記憶體108且投送至控制邏輯84,或者,可直接發送至控制邏輯84。此外,應理解,Sensor1統計處理單元144亦可包括提供統計STATS1之類似組態的3A統計收集區塊,如圖10所示。
如上文所論述,控制邏輯84(其可為裝置10之ISP子系統32中的專用處理器)可處理所收集之統計資料,以判定用於控制成像裝置30及/或影像處理電路32的一或多個控制參數。舉例而言,此等控制參數可包括用於操作影像感測器90之透鏡的參數(例如,焦距調整參數)、影像感測器參數(例如,類比及/或數位增益、積分時間),以及ISP管道處理參數(例如,數位增益值、色彩校正矩陣(CCM)係數)。另外,如上文所提及,在某些實施例中,統計處理可以8位元之精確度發生,且由此,具有較高位元深度的原始像素資料可按比例縮小至8位元格式以用於統計目的。如上文所論述,按比例縮小至8位元(或任何其他較低位元解析度)可減少硬體大小(例如,面積)且亦減少處理複雜性,以及允許統計資料對雜訊為更穩固的(例如,使用影像資料之空間平均化)。
記住前述內容,圖82為描繪用於實施3A統計邏輯742之一實施例的邏輯之方塊圖。如圖所示,3A統計邏輯742可接收表示拜耳RGB資料之信號793,如圖68所示,信號793可對應於逆BLC邏輯741之輸出。3A統計邏輯742可處理拜耳RGB資料793以獲得各種統計794,統計794可表示3A統計邏輯742之輸出STATS0(如圖68所示),或者,表示與Sensor1統計處理單元144相關聯之統計邏輯的輸出STATS1。
在所說明之實施例中,為了使統計對雜訊為更穩固的,首先藉由邏輯795平均化傳入之拜耳RGB像素793。舉例而言,可以由四個2×2拜耳四元組(例如,表示拜耳圖案之2×2像素區塊)組成之4×4感測器像素的視窗大小來執行平均化,且可計算4×4視窗中之經平均化的紅色(R)、綠色(G)及藍色(B)值且將該等值轉換為8位元,如上文所提及。關於圖83更詳細地說明此程序,圖83展示形成為四個2×2拜耳四元組797之像素的4×4視窗796。在使用此配置的情況下,每一色彩通道包括視窗796內之對應像素的2×2區塊,且相同色彩之像素可經求和及平均化以針對視窗796內的每一色彩通道產生平均色彩值。舉例而言,在樣本796內,紅色像素799可經平均化以獲得平均紅色值(RAV )803,且藍色像素800可經平均化以獲得平均藍色值(BAV )804。關於綠色像素之平均化,可利用若干技術,此係因為拜耳圖案具有為紅色或藍色樣本之兩倍的綠色樣本。在一實施例中,可藉由僅僅平均化Gr像素798、僅僅平均化Gb像素801或共同地平均化所有Gr像素798及Gb像素801來獲得平均綠色值(GAV )802。在另一實施例中,每一拜耳四元組797中之Gr像素798及Gb像素801可被平均化,且每一拜耳四元組797之綠色值的平均值可共同地被進一步平均化以獲得GAV 802。應瞭解,跨越像素區塊之像素值的平均化可提供雜訊減少。此外,應理解,使用4×4區塊作為視窗樣本僅僅意欲提供一實例。實際上,在其他實施例中,可利用任何合適區塊大小(例如,8×8、16×16、32×32等等)。
此後,按比例縮小之拜耳RGB值806輸入至色彩空間轉換邏輯單元807及808。因為3A統計資料中之一些可在應用色彩空間轉換之後依賴於像素,所以色彩空間轉換(CSC)邏輯807及CSC邏輯808可經組態以將降取樣之拜耳RGB值806轉換為一或多個其他色彩空間。在一實施例中,CSC邏輯807可提供非線性空間轉換,且CSC邏輯808可提供線性空間轉換。因此,CSC邏輯單元807及808可將原始影像資料自感測器拜耳RGB轉換至另一色彩空間(例如,sRGBlinear 、sRGB、YCbCr等等),該另一色彩空間針對執行用於白平衡之白點估計可為更理想或合適的。
在本實施例中,非線性CSC邏輯807可經組態以執行3×3矩陣乘法,繼之以執行實施為查找表之非線性映射,且進一步繼之以執行具有附加位移的另一3×3矩陣乘法。此情形允許3A統計色彩空間轉換針對給定色溫來複製ISP管線82中之RGB處理的色彩處理(例如,施加白平衡增益、應用色彩校正矩陣、應用RGB伽瑪調整,及執行色彩空間轉換)。其亦可提供拜耳RGB值至更色彩一致之色彩空間(諸如,CIELab)或上文所論述之其他色彩空間中之任一者(例如,YCbCr、紅色/藍色正規化色彩空間,等等)的轉換。在一些條件下,Lab色彩空間針對白平衡操作可為更合適的,此係因為色度相對於亮度為更線性的。
如圖82所示,來自拜耳RGB按比例縮小信號806之輸出像素係藉由第一3×3色彩校正矩陣(3A_CCM)處理,該第一3×3色彩校正矩陣(3A_CCM)在本文中係藉由參考數字809指代。在本實施例中,3A_CCM 809可經組態以自相機RGB色彩空間(camRGB)轉換至線性sRGB校準空間(sRGBlinear )。下文藉由方程式19-21提供可在一實施例中使用之可程式化色彩空間轉換:
sR linear =max(0,min(255,(3A_CCM_00*R+3A_CCM_01*G+3A_CCM_02*B)));  (19)
sG linear =max(0,min(255,(3A_CCM_10*R+3A_CCM_11*G+3A_CCM_12*B)));  (20)
sB linear =max(0,min(255,(3A_CCM_20*R+3A_CCM_21*G+3A_CCM_22*B)));  (21)
其中3A_CCM_00-3A_CCM_22表示矩陣809之有正負號係數。因此,藉由首先判定紅色、藍色及綠色降取樣拜耳RGB值與所應用之對應3A_CCM係數的總和,且接著在該值超過255或小於0時將此值裁剪至0抑或255(8位元像素資料之最小及最大像素值),可判定sRGBlinear 色彩空間之sRlinear 、sGlinear 及sBlinear 分量中的每一者。所得之sRGBlinear 值在圖82中藉由參考數字810表示為3A_CCM 809的輸出。另外,3A統計邏輯742可維持sRlinear 、sGlinear 及sBlinear 分量中之每一者的經裁剪像素之數目的計數,如下文所表達:
3A_CCM_R_clipcount_low:sR linear 像素之數目<0裁剪
3A_CCM_R_clipcount_high:sR linear 像素之數目>255裁剪
3A_CCM_G_clipcount_low:sG linear 像素之數目<0裁剪
3A_CCM_G_clipcount_high:sG linear 像素之數目>255裁剪
3A_CCM_B_clipcount_low:sB linear 像素之數目<0裁剪
3A_CCM_B_clipcount_high:sB linear 像素之數目>255裁剪
接下來,可使用非線性查找表811來處理sRGBlinear 像素810以產生sRGB像素812。查找表811可含有8位元值之輸入項,其中每一表輸入項值表示一輸出位準。在一實施例中,查找表811可包括65個均勻分佈之輸入項,其中表索引表示步進為4之輸入值。當輸入值落在間隔之間時,線性地內插輸出值。
應瞭解,SRGB色彩空間可表示針對給定白點藉由成像裝置30(圖7)產生之最終影像的色彩空間,此係因為白平衡統計收集係在藉由影像裝置產生之最終影像的色彩空間中執行。在一實施例中,可藉由基於(例如)紅色對綠色及/或藍色對綠色比率來匹配影像場景之特性與一或多個參考照明體而判定白點。舉例而言,一參考照明體可為D65,其為用於模擬日光條件之CIE標準照明體。除了D65之外,亦可針對其他不同參考照明體來執行成像裝置30之校準,且白平衡判定程序可包括判定當前照明體,使得可基於對應校準點針對當前照明體來調整處理(例如,色彩平衡)。藉由實例,在一實施例中,除了D65之外,亦可使用冷白螢光(CWF)參考照明體、TL84參考照明體(另一螢光源)及IncA(或A)參考照明體(其模擬白熾照明)來校準成像裝置30及3A統計邏輯742。另外,如上文所論述,對應於不同色溫之各種其他照明體(例如,H、IncA、D50、D65及D75等等)亦可用於相機校準中以用於白平衡處理。因此,可藉由分析影像場景且判定哪一參考照明體最緊密地匹配當前照明體源而判定白點。
仍參考非線性CSC邏輯807,查找表811之sRGB像素輸出812可藉由第二3×3色彩校正矩陣813(在本文中被稱為3A_CSC)進一步處理。在所描繪之實施例中,3A_CSC矩陣813被展示為經組態以自sRGB色彩空間轉換至YCbCr色彩空間,但其亦可經組態以將sRGB值轉換為其他色彩空間。藉由實例,可使用以下可程式化色彩空間轉換(方程式22-27):
Y=3A_CSC_00*sR+3A_CSC_01*sG+3A_CSC_02*sB+3A_OffsetY;  (22)
Y=max(3A_CSC_MIN_Y,min(3A_CSC_MAX_Y,Y));  (23)
C1=3A_CSC_10*sR+3A_CSC_11*sG+3A_CSC_12*sB+3A_OffsetC1;  (24)
C1=max(3A_CSC_MIN_C1,min(3A_CSC_MAX_C1,C1));  (25)
C2=3A_CSC_20*sR+3A_CSC_21*sG+3A_CSC_22*sB+3A_OffsetC2;  (26)
C2=max(3A_CSC_MIN_C2,min(3A_CSC_MAX_C2,C2));  (27)
其中3A_CSC_00-3A_CSC_22表示矩陣813之有正負號係數,3A_OffsetY、3A_OffsetC1及3A_OffsetC2表示有正負號位移,且C1及C2分別表示不同色彩(此處為藍色差異色度(Cb)及紅色差異色度(Cr))。然而,應理解,C1及C2可表示任何合適差異色度色彩,且未必需要為Cb及Cr色彩。
如方程式22-27所示,在判定YCbCr之每一分量時,將來自矩陣813之適當係數應用於sRGB值812,且將結果與對應位移求和(例如,方程式22、24及26)。基本上,此步驟為3×1矩陣乘法步驟。接著在最大值與最小值之間裁剪來自矩陣乘法之此結果(例如,方程式23、25及27)。相關聯之最小及最大裁剪值可為可程式化的,且可取決於(例如)所利用之特定成像或視訊標準(例如,BT.601或BT.709)。
3A統計邏輯742亦可維持Y、C1及C2分量中之每一者的經裁剪像素之數目的計數,如下文所表達:
3A_CSC_Y_clipcount_low:Y像素之數目<3A_CSC_MIN_Y裁剪
3A_CSC_Y_clipcount_high:Y像素之數目>3A_CSC_MAX_Y裁剪
3A_CSC_C1_clipcount_low:C1像素之數目<3A_CSC_MIN_C1裁剪
3A_CSC_C1_clipcount_high:C1像素之數目>3A_CSC_MAX_C1裁剪
3A_CSC_C2_clipcount_low:C2像素之數目<3A_CSC_MIN_C2裁剪
3A_CSC_C2_clipcount_high:C2像素之數目>3A_CSC_MAX_C2裁剪
來自拜耳RGB降取樣信號806之輸出像素亦可提供至線性色彩空間轉換邏輯808,線性色彩空間轉換邏輯808可經組態以實施相機色彩空間轉換。舉例而言,來自拜耳RGB降取樣邏輯795之輸出像素806可經由CSC邏輯808之另一3×3色彩轉換矩陣(3A_CSC2)815進行處理以自感測器RGB(camRGB)轉換至線性白平衡色彩空間(camYC1C2),其中C1及C2可分別對應於Cb及Cr。在一實施例中,色度像素可藉由明度而按比例縮放,此情形在實施具有改良之彩色一致性且對歸因於明度改變之色彩移位穩固的彩色濾光片時可為有益的。下文在方程式28-31中提供可使用3×3矩陣815來執行相機色彩空間轉換之方式的實例:
camY=3A_CSC2_00*R+3A_CSC2_01*G+3A_CSC2_02*B+3A_Offset2Y; (28)
camY=max(3A_CSC2_MIN_Y,min(3A_CSC2_MAX_Y,camY)); (29)
camC1=(3A_CSC2_10*R+3A_CSC2_11*G+3A_CSC2_12*B); (30)
camC2=(3A_CSC2_20*R+3A_CSC2_21*G+3A_CSC2_22*B); (31)
其中3A_CSC2_00-3A_CSC2_22表示矩陣815之有正負號係數,3A_Offset2Y表示camY之有正負號位移,且camC1及camC2分別表示不同色彩(此處為藍色差異色度(Cb)及紅色差異色度(Cr))。如方程式28所示,為了判定camY,將來自矩陣815之對應係數應用於拜耳RGB值806,且將結果與3A_Offset2Y求和。接著在最大值與最小值之間裁剪此結果,如方程式29所示。如上文所論述,裁剪極限可為可程式化的。
就此而言,輸出816之camC1及camC2像素為有正負號的。如上文所論述,在一些實施例中,可按比例縮放色度像素。舉例而言,下文展示一種用於實施色度按比例縮放之技術:
camC1=camC1*ChromaScale*255/(camY?camY:1); (32)
camC2=camC2*ChromaScale*255/(camY?camY:1); (33)
其中ChromaScale表示介於0與8之間的浮點按比例縮放因子。在方程式32及33中,表達(camY?camY:1)意謂防止除以0條件。亦即,若camY等於0,則將camY之值設定為1。此外,在一實施例中,ChromaScale可取決於camC1之正負號而設定為兩個可能值中的一者。舉例而言,如下文在方程式34中所示,若camC1為負,則可將ChomaScale設定為第一值(ChromaScale0),否則,可將其設定為第二值(ChromaScale1):
ChromaScale=ChromaScale0若(camC1<0)(34)
ChromaScale1否則
此後,加上色度位移,且裁剪camC1及camC2色度像素(如下文在方程式35及36中所示),以產生對應的無正負號像素值:
camC1=max(3A_CSC2_MIN_C1,min(3A_CSC2_MAX_C1,(camC1+3A_Offset2C1))) (35)
camC2=max(3A_CSC2_MIN_C2,min(3A_CSC2_MAX_C2,(camC2+3A_Offset2C2))) (36)
其中3A_CSC2_00-3A_CSC2_22為矩陣815之有正負號係數,且3A_Offset2C1及3A_Offset2C2為有正負號位移。此外,針對camY、camC1及camC2所裁剪之像素的數目被計數,如下文所示:
3A_CSC2_Y_clipcount_low:camY像素之數目<3A_CSC2_MIN_Y裁剪
3A_CSC2_Y_clipcount_high:camY像素之數目>3A_CSC2_MAX_Y裁剪
3A_CSC2_C1_clipcount_low:camC1像素之數目<3A_CSC2_MIN_C1裁剪
3A_CSC2_C1_clipcount_high:camC1像素之數目>3A_CSC2_MAX_C1裁剪
3A_CSC2_C2_clipcount_low:camC2像素之數目<3A_CSC2_MN_C2裁剪
3A_CSC2_C2_clipcount_high:camC2像素之數目>3A_CSC2_MAX_C2裁剪
因此,在本實施例中,非線性色彩空間轉換邏輯807及線性色彩空間轉換邏輯808可在各種色彩空間中提供像素資料:sRGBlinear (信號810)、sRGB(信號812)、YCbYr(信號814)及camYCbCr(信號816)。應理解,每一轉換矩陣809(3A_CCM)、813(3A_CSC)及815(3A_CSC2)之係數以及查找表811中之值可被獨立地設定及程式化。
仍參看圖82,來自非線性色彩空間轉換(YCbCr 814)抑或相機色彩空間轉換(camYCbCr 816)之色度輸出像素可用以產生二維(2D)色彩直方圖817。如圖所示,選擇邏輯818及819(其可實施為多工器或藉由任何其他合適邏輯實施)可經組態以在來自非線性抑或相機色彩空間轉換之明度像素與色度像素之間選擇。選擇邏輯818及819可回應於各別控制信號而操作,在一實施例中,該等控制信號可藉由影像處理電路32(圖7)之主控制邏輯84供應且可經由軟體進行設定。
針對本實例,假設選擇邏輯818及819選擇YC1C2色彩空間轉換(814),其中第一分量為明度,且其中C1、C2為第一色彩及第二色彩(例如,Cb、Cr)。C1-C2色彩空間中之2D直方圖817係針對一個視窗而產生。舉例而言,該視窗可藉由行開始及寬度以及列開始及高度指定。在一實施例中,視窗位置及大小可設定為4個像素之倍數,且32×32個分格(bin)可用於總共1024個分格。分格邊界可處於固定間隔,且為了允許色彩空間之特定區域中之直方圖收集的變焦及平移,可定義像素按比例縮放及位移。
在位移及按比例縮放之後的C1及C2之上部5個位元(表示總共32個值)可用以判定分格。C1及C2之分格索引(在本文中藉由C1_index及C2_index指代)可判定如下:
C1_index=((C1-C1_offset)>>(3-C1_scale)  (37)
C2_index=((C2-C2-offset)>>(3-C2_scale)  (38)
一旦判定索引,隨即在分格索引係在範圍[0,31]中時將色彩直方圖分格累加一Count值(其在一實施例中可具有介於0與3之間的值),如下文在方程式39中所示。有效地,此允許基於明度值來加權色彩計數(例如,更重地加權較明亮之像素,而非相等地加權每一事物(例如,加權1))。
if(C1_index>=0 && C1_index<=31 && C2_index>=0 && C2_index<=31) (39)
StatsCbCrHist[C2_index&31][C1_index&31]+=Count;
其中Count在此實例中係基於所選擇之明度值Y來判定。應瞭解,可藉由分格更新邏輯區塊821來實施藉由方程式37、38及39表示的步驟。此外,在一實施例中,可設定多個明度臨限值以界定明度間隔。藉由實例,四個明度臨限值(Ythd0-Ythd3)可界定五個明度間隔,其中Count值Count0-4係針對每一間隔而界定。舉例而言,Count0-Count4可基於明度臨限值予以選擇(例如,藉由像素條件邏輯820),如下:
if(Y<=Ythd0) (40)
Count=Count0
else if(Y<=Ythd1)
Count=Count1 else if(Y<=Ythd2)
Count=Count2else if(Y<=Ythd3)
Count=Count3else
Count=Count4
記住前述內容,圖84說明具有針對C1及C2兩者設定為0之按比例縮放及位移的色彩直方圖。CbCr空間內之劃分區表示32×32個分格(總共1024個分格)中之每一者。圖85提供針對額外精確度之2D色彩直方圖內之變焦及平移的實例,其中具有小矩形之矩形區域822指定32×32個分格的位置。
在影像資料之圖框的開始,分格值初始化為0。針對進入2D色彩直方圖817之每一像素,使對應於匹配C1C2值之分格累加所判定之Count值(Count0-Count4),如上文所論述,所判定之Count值可基於明度值。針對2D直方圖817內之每一分格,總像素計數被報告作為所收集之統計資料(例如,STATS0)的部分。在一實施例中,每一分格之總像素計數可具有22位元之解析度,藉以,提供等於1024×22個位元之內部記憶體分派。
返回參看圖82,拜耳RGB像素(信號806)、sRGBlinear 像素(信號810)、sRGB像素(信號812)及YC1C2(例如,YCbCr)像素(信號814)提供至一組像素濾波器824a-c,藉以,RGB、sRGBlinear 、sRGB、YC1C2或camYC1C2總和可有條件地基於camYC1C2抑或YC1C2像素條件(如藉由每一像素濾波器824所定義)而累積。亦即,來自非線性色彩空間轉換(YC1C2)之輸出抑或相機色彩空間轉換(camYC1C2)之輸出的Y、C1及C2值用以有條件地選擇RGB、sRGBlinear 、sRGB或YC1C2值進行累積。儘管本實施例將3A統計邏輯742描繪為提供8個像素濾波器(PF0-PF7),但應理解,可提供任何數目個像素濾波器。
圖86展示描繪像素濾波器(尤其是來自圖82之PF0(824a)及PF1(824b)之實施例的功能邏輯圖。如圖所示,每一像素濾波器824包括一選擇邏輯,該選擇邏輯接收拜耳RGB像素、sRGBlinear 像素、sRGB像素,及YC1C2抑或camYC1C2像素中之一者(如藉由另一選擇邏輯826所選擇)。藉由實例,可使用多工器或任何其他合適邏輯來實施選擇邏輯825及826。選擇邏輯826可選擇YC1C2抑或camYC1C2。該選擇可回應於一控制信號而進行,該控制信號可藉由影像處理電路32(圖7)之主控制邏輯84供應及/或藉由軟體設定。接下來,像素濾波器824可使用邏輯827以對照像素條件來評估藉由選擇邏輯826選擇之YC1C2像素(例如,非線性抑或相機)。每一像素濾波器824可使用選擇電路825以取決於來自選擇電路826之輸出而選擇拜耳RGB像素、sRGBlinear 像素、sRGB像素及YC1C2或camYC1C2像素中的一者。
在使用該評估之結果的情況下,可累積藉由選擇邏輯825選擇之像素(828)。在一實施例中,可使用臨限值C1_min、C1_max、C2_min、C2_max來定義像素條件,如圖80之圖表789所示。若像素滿足以下條件,則該像素包括於統計中:
1. C1_min<=C1<=C1_max
2. C2_min<=C2<=C2_max
3. abs((C2_delta*C1)-(C1_delta*C2)+Offset)<distance_max
4. Y min <=Y<=Y max
參看圖87之圖表829,在一實施例中,點830表示對應於當前YC1C2像素資料(如藉由邏輯826所選擇)之值(C2,C1)。C1_delta可被判定為C1_1與C1_0之間的差,且C2_delta可被判定為C2_1與C2_0之間的差。如圖87所示,點(C1_0,C2_0)及(C1_1,C2_1)可界定C1及C2之最小值及最大值邊界。可藉由將C1_delta乘以線831截取軸線C2所處之值832(C2_intercept)來判定Offset。因此,假設Y、C1及C2滿足最小值及最大值邊界條件,則在所選擇之像素(拜耳RGB、sRGBlinear 、sRGB,及YC1C2/camYC1C2)距線831的距離833小於distance_max 834時,該等所選擇之像素包括於累積總和中,distance_max 834可為像素距線之距離833乘以正規化因子:
distance_max=distance*sqrt(C1_delta^2+C2_delta^2)
在本實施例中,距離C1_delta及C2_delta可具有-255至255之範圍。因此,distance_max 834可藉由17個位元表示。點(C1_0,C2_0)及(C1_1,C2_1)以及用於判定distance_max之參數(例如,(多個)正規化因子)可被提供作為每一像素濾波器824中之像素條件邏輯827的部分。應瞭解,像素條件827可為可組態的/可程式化的。
儘管圖87所示之實例基於兩組點(C1_0,C2_0)及(C1_1,C2_1)來描繪像素條件,但在額外實施例中,某些像素濾波器可界定供判定像素條件之更複雜的形狀及區域。舉例而言,圖88展示一實施例,其中像素濾波器824可使用點(C1_0,C2_0)、(C1_1,C2_1)、(C1_2,C2_2)及(C1_3,C2_3)以及(C1_4,C2_4)來界定五側多邊形835。每一側836a-836e可定義一線條件。然而,不同於圖87所示之狀況(例如,只要滿足distance_max,像素就可處於線831之任一側上),條件可為:像素(C1,C2)必須位於線836a-836e之側上,使得其藉由多邊形835圍封。因此,當滿足多個線條件之交集時,計數像素(C1,C2)。舉例而言,在圖88中,此交集關於像素837a發生。然而,像素837b未能滿足線836d之線條件,且因此,將不會在藉由以此方式所組態之像素濾波器處理時計數於統計中。
在圖89所示之另一實施例中,可基於重疊形狀來判定像素條件。舉例而言,圖89展示像素濾波器824可具有使用兩個重疊形狀(此處為分別藉由點(C1_0,C2_0)、(C1_1,C2_1)、(C1_2,C2_2)及(C1_3,C2_3)以及點(C1_4,C2_4)、(C1_5,C2_5)、(C1_6,C2_6)及(C1_7,C2_7)界定的矩形838a及838b)所定義之像素條件的方式。在此實例中,像素(C1,C2)可藉由圍封於藉由形狀838a及838b(例如,藉由滿足界定兩個形狀之每一線的線條件)共同地定界之區域內而滿足藉由此像素濾波器定義的線條件。舉例而言,在圖89中,關於像素839a滿足此等條件。然而,像素839b未能滿足此等條件(尤其是關於矩形838a之線840a及矩形838b之線840b),且因此,將不會在藉由以此方式所組態之像素濾波器處理時計數於統計中。
針對每一像素濾波器824,基於藉由邏輯827定義之像素條件來識別限定像素,且針對限定像素值,可藉由3A統計引擎742來收集以下統計:32位元總和:(Rsum ,Gsum ,Bsum )或(sRlinear_sum ,sGlinear_sum ,sBlinear_sum ),或(sRsum ,sGsum ,sBsum )或(Ysum ,C1sum ,C2sum )及24位元像素計數Count,該24位元像素計數Count可表示包括於統計中之像素之數目的總和。在一實施例中,軟體可使用該總和以在發光塊或視窗內產生平均值。
當camYC1C2像素藉由像素濾波器824之邏輯825選擇時,可對按比例縮放之色度值執行色彩臨限值。舉例而言,因為在白點處之色度強度隨明度值而增大,所以隨像素濾波器824中之明度值而按比例縮放的色度之使用可在一些例子中提供具有改良之一致性的結果。舉例而言,最小值及最大值明度條件可允許濾波器忽略黑暗及/或明亮區域。若像素滿足YC1C2像素條件,則累積RGB、sRGBlinear 、sRGB或YC1C2值。藉由選擇邏輯825對像素值之選擇可取決於所需要之資訊的類型。舉例而言,針對白平衡,通常選擇RGB或sRGBlinear 像素。針對偵測諸如天空、草、膚色等等之特定條件,YCC或sRGB像素組可為更合適的。
在本實施例中,可定義八組像素條件,一組與像素濾波器PF0-PF7 824中之每一者相關聯。可定義一些像素條件以創製在C1-C2色彩空間(圖80)中很可能存在白點之區域。此可基於當前照明體進行判定或估計。接著,所累積之RGB總和可用以基於用於白平衡調整之R/G及/或B/G比率來判定當前白點。此外,可定義或調適一些像素條件以執行場景分析及分類。舉例而言,一些像素濾波器824及視窗/發光塊可用以偵測條件,諸如,影像圖框之頂部部分中的藍天,或影像圖框之底部部分中的綠草。此資訊亦可用以調整白平衡。另外,可定義或調適一些像素條件以偵測膚色。針對此等濾波器,發光塊可用以偵測影像圖框之具有膚色的區域。藉由識別此等區域,可藉由(例如)減少膚色區域中之雜訊濾波器的量及/或減小彼等區域中之視訊壓縮中的量化以改良品質來改良膚色之品質。
3A統計邏輯742亦可提供明度資料之收集。舉例而言,來自相機色彩空間轉換(camYC1C2)之明度值camY可用於累積明度總和統計。在一實施例中,可藉由3A統計邏輯742收集以下明度資訊:
Y sum :camY之總和
cond(Y sum ):滿足條件Y min <=camY<Y ma x之camY之總和
Ycount1:像素之計數,其中camY<Y min
Ycount2:像素之計數,其中camY>=Y max
此處,Ycount1可表示曝光不足之像素的數目,且Ycount2可表示曝光過度之像素的數目。此可用以判定影像係曝光過度抑或曝光不足。舉例而言,若像素並未飽和,則camY之總和(Ysum )可指示場景中之平均明度,其可用以達成目標AE曝光。舉例而言,在一實施例中,可藉由將Ysum 除以像素之數目來判定平均明度。此外,藉由知曉發光塊統計之明度/AE統計及視窗位置,可執行AE計量。舉例而言,取決於影像場景,相比於在影像之邊緣處的AE統計更重地加權在中心視窗處之AE統計(諸如,可在肖像之狀況下)可為合乎需要的。
在當前所說明之實施例中,3A統計收集邏輯可經組態以收集發光塊及視窗中之統計。在所說明之組態中,一視窗可針對發光塊統計863而界定。該視窗可藉由行開始及寬度以及列開始及高度指定。在一實施例中,視窗位置及大小可選擇為四個像素之倍數,且在此視窗內,統計係聚集於任意大小的發光塊中。藉由實例,可選擇視窗中之所有發光塊,使得其具有相同大小。可針對水平及垂直方向獨立地設定發光塊大小,且在一實施例中,可設定對水平發光塊之數目的最大極限(例如,128個水平發光塊的極限)。此外,在一實施例中,舉例而言,最小發光塊大小可設定為8像素寬乘4像素高。下文為基於不同視訊/成像模式及標準以獲得16×16個發光塊之視窗的發光塊組態之一些實例:
VGA 640×480:發光塊間隔40×30個像素
HD 1280×720:發光塊間隔80×45個像素
HD 1920×1080:發光塊間隔120×68個像素
5MP 2592×1944:發光塊間隔162×122個像素
8MP 3280×2464:發光塊間隔205×154個像素
關於本實施例,自八個可用像素濾波器824(PF0-PF7),可選擇四個以用於發光塊統計863。針對每一發光塊,可收集以下統計:
(R sum0 ,G sum0 ,B sum0 )或(sR linear_sum0 ,sG linear_sum0 ,sB linear_sum0 ),或 (sR sum0 ,sG sum0 ,sB sum0 )或(Y sum0 ,C1 sum0 ,C2 sum0 ),Count0
(R sum1 ,G sum1 ,B sum1 )或(sR linear_sum1 ,sG linear_sum1 ,sB linear_sum1 ),或 (sR sum1 ,sG sum1 ,sB sum1 )或(Y sum1 ,C1 sum1 ,C2 sum1 ),Count1
(R sum2 ,G sum2 ,B sum2 )或(sR linear_sum2 ,sG linear_sum2 ,sB linear_sum2 ),或(sR sum2 ,sG sum2 ,sB sum2 )或(Y sum2 ,C1 sum2 ,C2 sum2 ),Count2
(R sum3 ,G sum3 ,B sum3 )或(sR linear_sum3 ,sG linear_sum3 ,sB linear_sum3 ),或 (sR sum3 ,sG sum3 ,sB sum3 )或(Y sum3 ,C1 sum3 ,C2 sum3 ),Count3,或Y sum ,cond(Y sum ),Y count1 ,Y count2 (自camY)
在上文所列出之統計中,Count0-3表示滿足對應於所選擇之四個像素濾波器之像素條件之像素的計數。舉例而言,若像素濾波器PF0、PF1、PF5及PF6針對特定發光塊或視窗被選擇為該四個像素濾波器,則上文所提供之表達可對應於Count值及對應於針對彼等濾波器所選擇(例如,藉由選擇邏輯825)之像素資料(例如,拜耳RGB、sRGBlinear 、sRGB、YC1Y2、camYC1C2)的總和。另外,Count值可用以正規化統計(例如,藉由將色彩總和除以對應Count值)。如圖所示,至少部分地取決於所需要之統計的類型,所選擇之像素濾波器824可經組態以在拜耳RGB、sRGBlinear 或SRGB像素資料中之任一者或YC1C2(取決於藉由邏輯826之選擇而為非線性或相機色彩空間轉換)像素資料之間選擇,且判定所選擇之像素資料的色彩總和統計。另外,如上文所論述,來自相機色彩空間轉換(camYC1C2)之明度值camY亦針對明度總和資訊予以收集,以用於自動曝光(AE)統計。
另外,3A統計邏輯742亦可經組態以收集多個視窗之統計861。舉例而言,在一實施例中,可使用高達八個浮動視窗,其中任何矩形區域在每一尺寸(例如,高度×寬度)上具有四個像素之倍數,高達對應於影像圖框之大小的最大大小。然而,視窗之位置未必限於四個像素之倍數。舉例而言,視窗可彼此重疊。
在本實施例中,可針對每一視窗自可用之八個像素濾波器(PF0-PF7)選擇四個像素濾波器824。針對每一視窗之統計可以與上文所論述之針對發光塊相同的方式予以收集。因此,針對每一視窗,可收集以下統計861:
(R sum0 ,G sum0 ,B sum0 )或(sR linear_sum0 ,sG linear_sum0 ,sB linear_sum0 ),或 (sR sum0 ,sG sum0 ,sB sum0 )或(Y sum0 ,C1 sum0 ,C2 sum0 ),Count0
(R sum1 ,G sum1 ,B sum1 )或(sR linear_sum1 ,sG linear_sum1 ,sB linear_sum1 ),或(sR sum1 ,sG sum1 ,sB sum1 )或(Y sum1 ,C1 sum1 ,C2 sum1 ),Count1
(R sum2 ,G sum2 ,B sum2 )或(sR linear_sum2 ,sG linear_sum2 ,sB linear_sum2 ),或(sR sum2 ,sG sum2 ,sB sum2 )或(Y sum2 ,C1 sum2 ,C2 sum2 ),Count2
(R sum3 ,G sum3 ,B sum3 )或(sR linear_sum3 ,sG linear_sum3 ,sB linear_sum3 ),或(sR sum3 ,sG sum3 ,sB sum3 )或(Y sum3 ,C1 sum3 ,C2 sum3 ),Count3,或Y sum ,cond(Y sum ),Y count1 ,Y count2 (自camY)
在上文所列出之統計中,Count0-3表示滿足對應於針對特定視窗所選擇之四個像素濾波器之像素條件之像素的計數。自八個可用像素濾波器PF0-PF7,可針對每一視窗獨立地選擇四個作用中像素濾波器。另外,可使用像素濾波器或camY明度統計來收集統計組中的一者。在一實施例中,針對AWB及AE所收集之視窗統計可映射至一或多個暫存器。
仍參看圖82,3A統計邏輯742亦可經組態以針對相機色彩空間轉換而使用明度值camY來獲取一視窗的明度列總和統計859。此資訊可用以偵測及補償閃爍。閃爍係藉由一些螢光及白熾光源中之週期性變化(通常由AC電力信號引起)而產生。舉例而言,參看圖90,展示說明閃爍可由光源中之變化引起之方式的曲線圖。閃爍偵測可由此用以偵測用於光源之AC電力的頻率(例如,50 Hz或60 Hz)。一旦知曉頻率,隨即可藉由將影像感測器之積分時間設定為閃爍週期之整數倍而避免閃爍。
為了偵測閃爍,遍及每一列來累積相機明度camY。歸因於傳入之拜耳資料的降取樣,每一camY值可對應於原本原始影像資料的4個列。控制邏輯及/或韌體可接著遍及連續圖框來執行列平均值(或更可靠地,列平均差)之頻率分析,以判定與特定光源相關聯之AC電力的頻率。舉例而言,關於圖90,影像感測器之積分時間可基於時間t1、t2、t3及t4(例如,使得積分在對應於展現變化之照明源通常處於相同亮度等級時的時間發生)。
在一實施例中,可指定明度列總和視窗,且針對彼視窗內之像素來報告統計859。藉由實例,針對1080p HD視訊俘獲,在假設1024像素高之視窗的情況下,產生256個明度列總和(例如,歸因於藉由邏輯795之按比例縮小,每隔四個列有一個總和),且可藉由18個位元來表達每一累積值(例如,高達每列1024個樣本的8位元camY值)。
圖82之3A統計收集邏輯742亦可藉由自動聚焦統計邏輯841提供自動聚焦(AF)統計842的收集。在圖91中提供更詳細地展示AF統計邏輯841之實施例的功能方塊圖。如圖所示,AF統計邏輯841可包括水平濾波器843及應用於原本拜耳RGB(未被降取樣)的邊緣偵測器844、對來自拜耳之Y的兩個3×3濾波器846,及對camY的兩個3×3濾波器847。一般而言,水平濾波器843每色彩分量提供一精細解析度統計,3×3濾波器846可對BayerY(施加有3×1變換(邏輯845)的拜耳RGB)提供精細解析度統計,且3×3濾波器847可對camY提供較粗略之二維統計(因為camY係使用按比例縮小之拜耳RGB資料(亦即,邏輯815)而獲得)。此外,邏輯841可包括用於整數倍降低取樣拜耳RGB資料(例如,2×2平均化、4×4平均化等等)之邏輯852,且經整數倍降低取樣之拜耳RGB資料853可使用3×3濾波器854予以濾波以產生經整數倍降低取樣之拜耳RGB資料的經濾波輸出855。本實施例提供16個統計視窗。在原始圖框邊界處,針對AF統計邏輯841之濾波器而複製邊緣像素。下文更詳細地描述AF統計邏輯841之各種組件。
首先,水平邊緣偵測程序包括針對每一色彩分量(R、Gr、Gb、B)應用水平濾波器843,繼之以對每一色彩分量應用可選邊緣偵測器844。因此,取決於成像條件,此組態允許AF統計邏輯841設置為無邊緣偵測(例如,邊緣偵測器停用)之高通濾波器,或者,設置為繼之以邊緣偵測器(例如,邊緣偵測器啟用)的低通濾波器。舉例而言,在低光條件下,水平濾波器843可能更易受雜訊影響,且因此,邏輯841可將水平濾波器組態為繼之以啟用之邊緣偵測器844的低通濾波器。如圖所示,控制信號848可啟用或停用邊緣偵測器844。來自不同色彩通道的統計用以判定聚焦方向以改良清晰度,此係因為不同色彩可以不同深度聚焦。詳言之,AF統計邏輯841可提供用以使用粗略與精細調整之組合(例如,至透鏡之焦距)來啟用自動聚焦控制的技術。下文另外詳細地描述此等技術之實施例。
在一實施例中,水平濾波器可為7分接頭濾波器,且可在方程式41及42中定義如下:
out(i)=(af_horzfilt_coeff[0]*(in(i-3)+in(i+3))+af_horzfilt-coeff[1]*(in(i-2)+in(i+2))+ (41)
af_horzfilt_coeff[2]*(in(i-1)+in(i+1))+af_horzfilt_coeff[3]*in(i))out(i)=max(-255,min(255,out(i))) (42)
此處,每一係數af_horzfilt_coeff[0:3]可在範圍[-2,2]中,且i表示R、Gr、Gb或B之輸入像素索引。可在分別為-255及255之最小值與最大值之間裁剪經濾波輸出out(i)(方程式42)。可每色彩分量獨立地定義濾波器係數。
可選之邊緣偵測器844可遵循水平濾波器843之輸出。在一實施例中,邊緣偵測器844可定義為:
edge(i)=abs(-2*out(i-1)+2*out(i+1))+abs(-out(i-2)+out(i+2)) (43)
edge(i)=max(0,min(255,edge(i))) (44)
因此,邊緣偵測器844在啟用時可基於當前輸入像素i之每一側上的兩個像素而輸出一值,如藉由方程式43所描繪。可將結果裁剪至介於0與255之間的8位元值,如方程式44所示。
取決於是否偵測邊緣,像素濾波器(例如,濾波器843及偵測器844)之最終輸出可選擇為水平濾波器843之輸出抑或邊緣偵測器844之輸出。舉例而言,如方程式45所示,若偵測邊緣,則邊緣偵測器844之輸出849可為edge(i),或若未偵測邊緣,則邊緣偵測器844之輸出849可為水平濾波器輸出out(i)的絕對值。
edge(i)=(af_horzfilt_edge_detected)?edge(i):abs(out(i))  (45)
針對每一視窗,累積值edge_sum[R,Gr,Gb,B]可選擇為(1)遍及視窗之每一像素之edge(j,i)的總和,抑或(2)遍及視窗中之線所求和的在視窗中跨越一線之edge(i)的最大值max(edge)。在假設4096×4096個像素之原始圖框大小的情況下,儲存edge_sum[R,Gr,Gb,B]之最大值所需的位元之數目為30個位元(例如,每像素8個位元,加上覆蓋整個原始影像圖框之視窗的22個位元)。
如所論述,用於camY明度之3×3濾波器847可包括應用於camY的兩個可程式化3×3濾波器(被稱為F0及F1)。濾波器847之結果轉至平方函數抑或絕對值函數。該結果係針對兩個3×3濾波器F0及F1遍及給定AF視窗而累積,以產生明度邊緣值。在一實施例中,在每一camY像素處之明度邊緣值定義如下:
edgecamY_FX(j,i)=FX*camY (46)
=FX(0,0)*camY(j-1,i-1)+FX(0,1)*camY(j-1,i)+FX(0,2)*camY(j-1,i+1)+FX(1,0)*camY(j,i-1)+FX(1,1)*camY(j,i)+FX(1,2)*camY(j,i+1)+FX(2,0)*camY(j+1,i-1)+FX(2,1)*camY(j+1,i)+FX(2,2)*camY(j+1,i+1)
edgecamY_FX(j,i)=f(max(-255,min(255,edgecamY_FX(j,i)))) (47)
f(a)=a^2或abs(a)
其中FX表示3×3可程式化濾波器F0及F1,其中有正負號係數在範圍[-4,4]中。索引j及i表示camY影像中之像素位置。如上文所論述,對camY之濾波器可提供粗略解析度統計,此係因為camY係使用按比例縮小(例如,4×4至1)之拜耳RGB資料而導出。舉例而言,在一實施例中,濾波器F0及F1可使用Scharr運算子予以設定,Scharr運算子提供優於Sobe1運算子的改良之旋轉對稱,下文展示其一實例:
針對每一視窗,藉由濾波器847判定之累積值850(edgecamY_FX_sum(其中FX=F0及F1))可選擇為(1)遍及視窗之每一像素之edgecamY_FX(j,i)的總和,抑或(2)遍及視窗中之線所求和的在視窗中跨越一線之edgecamY_FX(j)的最大值。在一實施例中,當f(a)設定為a^2以提供具有較精細解析度之「較尖峰的」(peakier)統計時,edgecamY_FX_sum可飽和至32位元值。為了避免飽和,可設定原始圖框像素中之最大視窗大小X*Y,使得其不超過總共1024×1024個像素(例如,亦即,X*Y<=1048576個像素)。如上文所提及,f(a)亦可設定為絕對值以提供更線性的統計。
對拜耳Y之AF 3×3濾波器846可以與camY中之3×3濾波器類似的方式予以定義,但其應用於自拜耳四元組(2×2個像素)所產生的明度值Y。首先,將8位元拜耳RGB值轉換至Y(其中可程式化係數在範圍[0,4]中)以產生經白平衡之Y值,如下文在方程式48中所示:
bayerY=max(0,min(255,bayerY_Coeff[0]*R+bayerY_Coeff[1]*(Gr+Gb)/2+  (48)
bayerY_Coeff[2]*B))
如同用於camY之濾波器847,用於BayerY明度之3×3濾波器846可包括應用於BayerY的兩個可程式化3×3濾波器(被稱為F0及F1)。濾波器846之結果轉至平方函數抑或絕對值函數。該結果係針對兩個3×3濾波器F0及F1遍及給定AF視窗而累積,以產生明度邊緣值。在一實施例中,在每一bayerY像素處之明度邊緣值定義如下:
edgebayerY_FX(j,i)=FX*bayerY (49)
=FX(0,0)*bayerY(j-1,i-1)+FX(0,1)*bayerY(j-1,i)+FX(0,2)*bayerY(j-1,i)+FX(1,0)*bayerY(j,i-1)+FX(1,1)*bayerY(j,i)+FX(1,2)*bayerY(j-1,i)+FX(2,0)*bayerY(j+1,i-1)+FX(2,1)*bayerY(j+1,i)+FX(2,2)*bayerY(j+1,i)
edgebayerY_FX(j,i)=f(max(-255,min(255,edgebayerY_FX(j,i)))) (50)
f(a)=a^2或abs(a)
其中FX表示3×3可程式化濾波器F0及F1,其中有正負號係數在範圍[-4,4]中。索引j及i表示bayerY影像中之像素位置。如上文所論述,對拜耳Y之濾波器可提供精細解析度統計,此係因為藉由AF邏輯841接收之拜耳RGB信號未被整數倍降低取樣。僅藉由實例,可使用以下濾波器組態中之一者來設定濾波器邏輯846的濾波器F0及F1:
針對每一視窗,藉由濾波器846判定之累積值851(edgebayerY_FX_sum(其中FX=F0及F1))可選擇為(1)遍及視窗之每一像素之edgebayerY_FX(j,i)的總和,抑或(2)遍及視窗中之線所求和的在視窗中跨越一線之edgebayerY_FX(j)的最大值。此處,當f(a)設定為a^2時,edgebayerY_FX_sum可飽和至32位元。因此,為了避免飽和,應設定原始圖框像素中之最大視窗大小X*Y,使得其不超過總共512×512個像素(例如,X*Y<=262144)。如上文所論述,將f(a)設定為a^2可提供較尖峰的統計,而將f(a)設定為abs(a)可提供更線性的統計。
如上文所論述,針對16個視窗收集AF之統計842。該等視窗可為任何矩形區域,其中每一尺寸為4個像素之倍數。因為每一濾波邏輯846及847包括兩個濾波器,所以在一些例子中,一濾波器可用於遍及4個像素之正規化,且可經組態以在垂直及水平方向兩者上濾波。此外,在一些實施例中,AF邏輯841可藉由亮度來正規化AF統計。此可藉由將邏輯區塊846及847之濾波器中之一或多者設定為旁通濾波器而實現。在某些實施例中,視窗之位置可限於4個像素之倍數,且視窗被准許重疊。舉例而言,一視窗可用以獲取正規化值,而另一視窗可用於額外統計(諸如,方差),如下文所論述。在一實施例中,AF濾波器(例如,843、846、847)可能不在影像圖框之邊緣處實施像素複製,且因此,為了使AF濾波器使用所有有效像素,可設定AF視窗,使得其各自為來自圖框之頂部邊緣的至少4個像素、來自圖框之底部邊緣的至少8個像素,及來自圖框之左側/右側邊緣的至少12個像素。在所說明之實施例中,可針對每一視窗收集及報告以下統計:
用於Gr之32位元edgeGr_sum
用於R之32位元edgeR_sum
用於B之32位元edgeB_sum
用於Gb之32位元edgeGb_sum
用於來自filter0(F0)之拜耳之Y的32位元edgebayerY_F0_sum
用於來自filter1(F1)之拜耳之Y的32位元edgebayerY_F1_sum
用於filter0(F0)之camY的32位元edgecamY_F0_sum
用於filter1(F1)之camY的32位元edgecamY_F1_sum
在此實施例中,儲存AF統計842所需的記憶體可為16(視窗)乘以8(Gr、R、B、Gb、bayerY_F0、bayerY_F1、camY_F0、camY_F1)乘以32個位元。
因此,在一實施例中,每視窗之累積值可在以下各者之間選擇:濾波器之輸出(其可組態為預設設定)、輸入像素,或輸入像素平方。該選擇可針對16個AF視窗中之每一者而進行,且可應用於給定視窗中的所有8個AF統計(上文所列出)。此可用以正規化兩個重疊視窗之間的AF刻痕,該兩個重疊視窗中之一者經組態以收集濾波器之輸出,且其中之一者經組態以收集輸入像素總和。另外,為了在兩個重疊視窗的狀況下計算像素方差,一視窗可經組態以收集輸入像素總和,且另一視窗可經組態以收集輸入像素平方總和,由此提供可計算為以下方程式的方差:
Variance =(avg_pixel 2 )-(avg_pixel) ^2
在使用AF統計的情況下,ISP控制邏輯84(圖7)可經組態以基於粗略及精細自動聚焦「刻痕」而使用一系列焦距調整來調整影像裝置(例如,30)之透鏡的焦距,以使影像聚焦。如上文所論述,用於camY之3×3濾波器847可提供粗略統計,而水平濾波器843及邊緣偵測器844可每色彩分量提供比較精細的統計,而對BayerY之3×3濾波器846可提供對BayerY的精細統計。此外,對經整數倍降低取樣之拜耳RGB信號853的3×3濾波器854可針對每一色彩通道提供粗略統計。如下文進一步論述,可基於特定輸入信號之濾波器輸出值(例如,用於camY、BayerY、經整數倍降低取樣之拜耳RGB之濾波器輸出F0及F1的總和,或基於水平/邊緣偵測器輸出,等等)而計算AF刻痕。
圖92展示分別描繪表示粗略及精細AF刻痕之曲線858及860的曲線圖856。如圖所示,基於粗略統計之粗略AF刻痕可跨越透鏡之焦距具有更線性的回應。因此,在任何焦點位置處,透鏡移動可產生可用以偵測影像變得更聚焦抑或離焦的自動聚焦刻痕之改變。舉例而言,在透鏡調整之後粗略AF刻痕之增大可指示:焦距係在正確方向上(例如,朝向光學焦點位置)被調整。
然而,隨著接近光學焦點位置,用於較小透鏡調整步進的粗略AF刻痕之改變可減小,從而使得難以辨別焦點調整的正確方向。舉例而言,如曲線圖856上所示,在粗略位置(CP)CP1與CP2之間的粗略AF刻痕之改變係藉由ΔC12 表示,其展示自CP1至CP2的粗略之增大。然而,如圖所示,自CP3至CP4,儘管粗略AF刻痕之改變ΔC34 (其通過最佳焦點位置(OFP))仍增大,但其相對較小。應理解,沿著焦距L之位置CP1-CP6並不意謂必要地對應於藉由自動聚焦邏輯沿著焦距所採取的步長。亦即,可存在未圖示之在每一粗略位置之間所採取的額外步進。所說明之位置CP1-CP6僅意謂展示粗略AF刻痕之改變可隨著焦點位置接近OFP而逐漸減小的方式。
一旦判定OFP之近似位置(例如,基於圖92所示之粗略AF刻痕,OFP之近似位置可在CP3與CP5之間),隨即可評估藉由曲線860表示之精細AF刻痕值以改進焦點位置。舉例而言,當影像離焦時,精細AF刻痕可較平坦,使得大透鏡位置改變不會弓起精細AF刻痕之大改變。然而,隨著焦點位置接近光學焦點位置(OFP),精細AF刻痕可在小位置調整之情況下清晰地改變。因此,藉由在精細AF刻痕曲線860上定位峰值或頂點862,可針對當前影像場景判定OFP。因此,總而言之,粗略AF刻痕可用以判定光學焦點位置之大體附近,而精細AF刻痕可用以查明該附近內更確切的位置。
在一實施例中,自動聚焦程序可藉由沿著在位置0處開始且在位置L處結束(展示於曲線圖856上)之整個可用焦距獲取粗略AF刻痕而開始,且判定在各種步進位置(例如,CP1-CP6)處的粗略AF刻痕。在一實施例中,一旦透鏡之焦點位置已到達位置L,隨即可在評估各種焦點位置處之AF刻痕之前將該位置重設為0。舉例而言,此可歸因於控制焦點位置之機械元件的線圈穩定時間。在此實施例中,在重設為位置0之後,焦點位置可朝向位置L調整至首先指示粗略AF刻痕之負改變的位置,此處,位置CP5相對於位置CP4展現負改變ΔC45 。自位置CP5,焦點位置可在朝向位置0之方向上返回時以相對於粗略AF刻痕調整中所使用之增量較小的增量(例如,位置FP1、FP2、FP3等等)予以調整,同時搜尋精細AF刻痕曲線860中的峰值862。如上文所論述,對應於精細AF刻痕曲線860中之峰值862的焦點位置OFP可為當前影像場景的最佳焦點位置。
應瞭解,在AF刻痕之曲線858及860中之改變經分析以定位OFP的意義上,上文所描述之用於定位聚焦之最佳區域及最佳位置的技術可被稱為「爬山法」(hill climbing)。此外,儘管粗略AF刻痕(曲線858)及精細AF刻痕(曲線860)之分析被展示為使用相同大小之步進用於粗略刻痕分析(例如,CP1與CP2之間的距離)且使用相同大小之步進用於精細刻痕分析(例如,FP1與FP2之間的距離),但在一些實施例中,步長可取決於刻痕自一位置至下一位置的改變而變化。舉例而言,在一實施例中,CP3與CP4之間的步長可相對於CP1與CP2之間的步長而減少,此係因為粗略AF刻痕中之總差量(ΔC34 )小於自CP1至CP2的差量(ΔC12 )。
在圖93中說明描繪此程序之方法864。始於區塊865,沿著自位置0至位置L(圖92)之焦距針對在各種步進處之影像資料判定粗略AF刻痕。此後,在區塊866處,分析粗略AF刻痕,且將展現粗略AF刻痕之第一負改變的粗略位置識別為用於精細AF刻痕分析的開始點。舉例而言,隨後,在區塊867處,使焦點位置以較小步進返回朝向初始位置0而步進,其中分析在每一步進處之精細AF刻痕,直至定位AF刻痕曲線(例如,圖92之曲線860)中的峰值為止。在區塊868處,將對應於峰值之焦點位置設定為當前影像場景的最佳焦點位置。
如上文所論述,歸因於機械線圈穩定時間,圖93所示之技術的實施例可經調適以最初沿著整個焦距獲取粗略AF刻痕,而非逐個分析每一粗略位置及搜尋最佳聚焦區域。然而,線圈穩定時間較不重要之其他實施例可以每一步進逐個分析粗略AF刻痕,而非搜尋整個焦距。
在某些實施例中,可使用自拜耳RGB資料所導出之經白平衡明度值來判定AF刻痕。舉例而言,可藉由以因子2整數倍降低取樣2×2拜耳四元組(如圖94所示)或藉由以因子4整數倍降低取樣由四個2×2拜耳四元組組成的4×4像素區塊(如圖95所示)而導出明度值Y。在一實施例中,可使用梯度來判定AF刻痕。在另一實施例中,可藉由使用Scharr運算子(其提供旋轉對稱)來應用3×3變換同時最小化傅立葉域中之加權均方角誤差而判定AF刻痕。藉由實例,下文展示使用共同Scharr運算子(上文所論述)的對camY之粗略AF刻痕之計算:
其中in 表示經整數倍降低取樣之明度Y值。在其他實施例中,可使用其他3×3變換來計算粗略及精細統計兩者之AF刻痕。
亦可取決於色彩分量而不同地執行自動聚焦調整,此係因為光之不同波長可受透鏡不同地影響,其為水平濾波器843獨立地應用於每一色彩分量的一原因。因此,甚至在透鏡中存在色像差的情況下,仍可執行自動聚焦。舉例而言,因為在存在色像差時紅色及藍色通常相對於綠色以不同位置或距離而聚焦,所以每一色彩之相對AF刻痕可用以判定聚焦方向。此在圖65中得以更好地說明,圖96展示透鏡870之藍色、紅色及綠色通道的最佳焦點位置。如圖所示,紅色、綠色及藍色之最佳焦點位置係分別藉由參考字母R、G及B描繪,每一參考字母對應於一AF刻痕,其具有當前焦點位置872。通常,在此組態中,將最佳聚焦位置選擇為對應於綠色色彩分量之最佳焦點位置的位置(此處為位置G)可為合乎需要的(例如,因為拜耳RGB具有為紅色或藍色色彩分量之兩倍的綠色色彩分量)。因此,可預期,針對最佳焦點位置,綠色通道應展現最高的自動聚焦刻痕。因此,基於每一色彩之最佳焦點位置的位置(其中較接近於透鏡之位置具有較高AF刻痕),AF邏輯841及相關聯之控制邏輯84可基於藍色、綠色及紅色之相對AF刻痕來判定聚焦方向。舉例而言,若藍色通道相對於綠色通道具有較高AF刻痕(如圖96所示),則在不必在自當前位置872之正方向上首先分析的情況下在負方向上(朝向影像感測器)調整焦點位置。在一些實施例中,可執行使用色彩相關溫度(CCT)的照明體偵測或分析。
此外,如上文所提及,亦可使用方差刻痕。舉例而言,像素總和及像素平方總和值可針對區塊大小(例如,8×8-32×32個像素)而累積,且可用以導出方差刻痕(例如,(avg_pixel2 )-(avg-pixel)^2)。方差可經求和以針對每一視窗得到總方差刻痕。較小區塊大小可用以獲得精細方差刻痕,且較大區塊大小可用以獲得較粗略方差刻痕。
參考圖82之3A統計邏輯742,邏輯742亦可經組態以收集分量直方圖874及876。應瞭解,直方圖可用以分析影像中之像素位準分佈。此針對實施某些功能(諸如,直方圖等化)可為有用的,其中直方圖資料用以判定直方圖規範(直方圖匹配)。藉由實例,明度直方圖可用於AE(例如,用於調整/設定感測器積分時間),且色彩直方圖可用於AWB。在本實施例中,直方圖針對每一色彩分量可為256、128、64或32個分格(其中像素之頂部8、7、6及5個位元分別用以判定分格),如藉由分格大小(BinSize)所指定。舉例而言,當像素資料為14位元時,介於0至6之間的額外按比例縮放因子及位移可經指定以判定像素資料之哪一範圍(例如,哪8個位元)經收集以用於統計目的。可如下獲得分格數目:
idx=((pixel-hist_offset)>>(6-hist_scale)
在一實施例中,僅在分格索引係在範圍[0,2^(8-BinSize)]中時,才累加色彩直方圖分格:
if(idx>=0 & & idx<2^(8-BinSize))
StatsHist[idx]+=Count;
在本實施例中,統計處理單元142可包括兩個直方圖單元。此第一直方圖874(Hist0)可經組態以在4×4整數倍降低取樣之後收集像素資料作為統計收集的部分。針對Hist0,可使用選擇電路880而將分量選擇為RGB、sRGBlinear 、sRGB或YC1C2。第二直方圖876(Hist1)可經組態以在統計管線之前(在有缺陷像素校正邏輯738之前)收集像素資料,如圖96更詳細地所示。舉例而言,可藉由跳過像素而使用邏輯882來整數倍降低取樣原始拜耳RGB資料(自146所輸出)(以產生信號878),如下文進一步論述。針對綠色通道,可在Gr、Gb或Gr及Gb兩者(Gr及Gb計數皆在綠色分格中累積)之間選擇色彩。
為了使直方圖分格寬度在該兩個直方圖之間保持相同,Hist1可經組態以每隔4個像素(每隔一個拜耳四元組)收集像素資料。直方圖視窗之開始判定直方圖開始累積之第一拜耳四元組位置。始於此位置,針對Hist1水平地及垂直地跳過每隔一個拜耳四元組。視窗開始位置可為Hist1之任何像素位置,且因此,可藉由改變開始視窗位置來選擇藉由直方圖計算跳過的像素。Hist1可用以收集資料(藉由圖97中之884表示),其接近於黑階以輔助區塊739處的動態黑階補償。因此,儘管在圖97中展示為與3A統計邏輯742分離以用於說明性目的,但應理解,直方圖876可實際上為寫入至記憶體之統計的部分,且可實際上實體上位於統計處理單元142內。
在本實施例中,紅色(R)及藍色(B)分格可為20位元,其中綠色(G)分格為21位元(綠色更大以適應Hist1中之Gr及Gb累積)。此允許4160乘3120個像素(12 MP)之最大圖片大小。所需之內部記憶體大小為3×256×20(1)個位元(3個色彩分量、256個分格)。
關於記憶體格式,AWB/AE視窗、AF視窗、2D色彩直方圖及分量直方圖的統計可映射至暫存器以允許藉由韌體之早期存取。在一實施例中,兩個記憶體指標可用以將統計寫入至記憶體,一個記憶體指標用於發光塊統計863,且一個記憶體指標用於明度列總和859,繼之以用於所有其他所收集統計。所有統計寫入至外部記憶體,該外部記憶體可為DMA記憶體。記憶體位址暫存器可為雙重緩衝的,使得可對每一圖框指定記憶體中的新位置。
在繼續進行自ISP前端邏輯80下游之ISP管道邏輯82之詳細論述之前,應理解,統計處理單元142及144中各種功能邏輯區塊(例如,邏輯區塊738、739、740、741及742)以及ISP前端像素處理單元150中各種功能邏輯區塊(例如,邏輯區塊650及652)之配置意欲說明本發明技術之僅一個實施例。實際上,在其他實施例中,本文所說明之邏輯區塊可以不同排序進行配置,或可包括可執行本文並未特定地描述之額外影像處理功能的額外邏輯區塊。此外,應理解,在統計處理單元(例如,142及144)中所執行之影像處理操作(諸如,透鏡遮光校正、有缺陷像素偵測/校正及黑階補償)執行於統計處理單元內以用於收集統計資料之目的。因此,對藉由統計處理單元接收之影像資料所執行的處理操作實際上未反映於自ISP前端像素處理邏輯150輸出且轉遞至ISP管道處理邏輯82之影像信號109(FEProcOut)中。
在繼續之前,亦應注意,在足夠處理時間及在本文所描述之各種操作之處理要求中許多要求之間的類似性的情況下,有可能重新組態本文所示之功能區塊而以依序方式而非管線本質來執行影像處理。應理解,此情形可進一步減少整體硬體實施成本,而且亦可增大至外部記憶體之頻寬(例如,以快取/儲存中間結果/資料)。
ISP管線(「管道」)處理邏輯
已在上文詳細地描述了ISP前端邏輯80,本論述現將會將焦點移至ISP管道處理邏輯82。通常,ISP管道邏輯82之功能係接收原始影像資料(其可自ISP前端邏輯80提供或自記憶體108擷取),及執行額外影像處理操作(亦即,在將影像資料輸出至顯示裝置28之前)。
在圖98中描繪展示ISP管道邏輯82之一實施例的方塊圖。如所說明,ISP管道邏輯82可包括原始處理邏輯900、RGB處理邏輯902及YCbCr處理邏輯904。原始處理邏輯900可執行各種影像處理操作,諸如有缺陷像素偵測及校正、透鏡遮光校正、解馬賽克,以及施加用於自動白平衡之增益及/或設定黑階,如下文將進一步論述。如本實施例所示,至原始處理邏輯900之輸入信號908可為來自ISP前端邏輯80之原始像素輸出109(信號FEProcOut)或來自記憶體108的原始像素資料112,此取決於選擇邏輯906的當前組態。
由於執行於原始處理邏輯900內之解馬賽克操作,影像信號輸出910可處於RGB域中,且可隨後轉遞至RGB處理邏輯902。舉例而言,如圖98所示,RGB處理邏輯902接收信號916,信號916可為來自記憶體108之輸出信號910或RGB影像信號912,此取決於選擇邏輯914的當前組態。RGB處理邏輯902可提供各種RGB色彩調整操作,包括色彩校正(例如,使用色彩校正矩陣)、用於自動白平衡之色彩增益的施加,以及全域色調映射,如下文將進一步論述。RGB處理邏輯904亦可提供RGB影像資料至YCbCr(明度/色度)色彩空間之色彩空間轉換。因此,影像信號輸出918可處於YCbCr域中,且可隨後轉遞至YCbCr處理邏輯904。
舉例而言,如圖98所示,YCbCr處理邏輯904接收信號924,信號924可為來自RGB處理邏輯902之輸出信號918或來自記憶體108的YCbCr信號920,此取決於選擇邏輯922的當前組態。如下文將更詳細地論述,YCbCr處理邏輯904可在YCbCr色彩空間中提供影像處理操作,包括按比例縮放,色度抑制,明度清晰化,亮度、對比度及色彩(BCC)調整,YCbCr伽瑪映射,色度整數倍降低取樣等等。YCbCr處理邏輯904之影像信號輸出926可發送至記憶體108,或可自ISP管道處理邏輯82輸出為影像信號114(圖7)。接下來,根據圖7所描繪之影像處理電路32的實施例,影像信號114可發送至顯示裝置28(直接抑或經由記憶體108)以供使用者檢視,或可使用壓縮引擎(例如,編碼器118)、CPU/GPU、圖形引擎或其類似者進一步處理。另外,在ISP後端單元120係包括於影像處理電路32中(例如,圖8)之實施例中,影像信號114可發送至ISP後端處理邏輯120以供額外的下游後處理。
根據本發明技術之實施例,ISP管道邏輯82可支援呈8位元、10位元、12位元或14位元之原始像素資料的處理。舉例而言,在一實施例中,8位元、10位元或12位元輸入資料可在原始處理邏輯900之輸入端處轉換為14位元,且原始處理及RGB處理操作可以14位元精確度執行。在後面的實施例中,14位元影像資料可在RGB資料轉換至YCbCr色彩空間之前降取樣至10位元,且YCbCr處理(邏輯904)可以10位元精確度執行。
為了提供藉由ISP管道處理邏輯82所提供之各種功能的全面描述,下文將依序地論述原始處理邏輯900、RGB處理邏輯902及YCbCr處理邏輯904,以及用於執行可在邏輯900、902及904之每一各別單元中實施的各種影像處理操作之內部邏輯中的每一者,以原始處理邏輯900開始。舉例而言,現參看圖99,根據本發明技術之一實施例,說明展示原始處理邏輯900之一實施例之更詳細視圖的方塊圖。如圖所示,原始處理邏輯900包括增益、位移及箝位(GOC)邏輯930、有缺陷像素偵測/校正(DPDC)邏輯932、雜訊減少邏輯934、透鏡遮光校正邏輯936、GOC邏輯938及解馬賽克邏輯940。此外,儘管下文所論述之實例假設使用具有該(等)影像感測器90之拜耳彩色濾光片陣列,但應理解,本發明技術之其他實施例亦可利用不同類型的彩色濾光片。
輸入信號908(其可為原始影像信號)首先藉由增益、位移及箝位(GOC)邏輯930接收。GOC邏輯930可相對於ISP前端邏輯80之統計處理單元142的BLC邏輯739提供類似功能且可以類似方式實施,如上文在圖68中所論述。舉例而言,GOC邏輯930可針對拜耳影像感測器之每一色彩分量R、B、Gr及Gb獨立地提供數位增益、位移及箝位(裁剪)。特定言之,GOC邏輯930可執行自動白平衡或設定原始影像資料之黑階。此外,在一些實施例中,GOC邏輯930亦可用以校正或補償在Gr色彩分量與Gb色彩分量之間的位移。
在運算中,當前像素之輸入值首先位移有正負號之值且乘以增益。此運算可使用上文之方程式11所示之公式來執行,其中X表示針對給定色彩分量R、B、Gr或Gb之輸入像素值,O[c]表示針對當前色彩分量c的有正負號之16位元位移,且G[c]表示色彩分量c的增益值。可先前在統計處理期間(例如,在ISP前端區塊80中)判定G[c]的值。在一實施例中,增益G[c]可為具有2個整數位元及14個小數位元之16位元無正負號數(例如,2.14浮點表示),且可藉由捨位來施加增益G[c]。僅藉由實例,增益G[c]可具有介於0至4X之間的範圍。
來自方程式11之計算像素值Y(其包括增益G[c]及位移O[c])接著根據方程式12裁剪至最小值及最大值範圍。如上文所論述,變數min[c]及max[c]可分別表示針對最小及最大輸出值的有正負號之16位元「裁剪值」。在一實施例中,GOC邏輯930亦可經組態以針對每一色彩分量維持分別剪裁至高於及低於最大值及最小值範圍之像素之數目的計數。
隨後,將GOC邏輯930之輸出轉遞至有缺陷像素偵測及校正邏輯932。如上文參看圖68(DPDC邏輯738)所論述,有缺陷像素可歸於多個因素,且可包括「熱」(或洩漏)像素、「卡點」像素及「無作用像素」,其中熱像素相對於無缺陷像素展現高於正常的電荷洩漏,且由此可表現為亮於無缺陷像素,且其中卡點像素表現為始終接通(例如,完全充電)且由此表現為更亮的,而無作用像素表現為始終斷開。因而,可能需要具有足夠穩固以識別且定址不同類型之失效情形的像素偵測方案。特定言之,與前端DPDC邏輯738(其可僅提供動態缺陷偵測/校正)相比,管道DPDC邏輯932可提供固定或靜態缺陷偵測/校正、動態缺陷偵測/校正以及斑點移除。
根據當前所揭示之技術的實施例,藉由DPDC邏輯932所執行之有缺陷像素校正/偵測可針對每一色彩分量(例如,R、B、Gr及Gb)獨立地發生,且可包括用於偵測有缺陷像素以及用於校正所偵測之有缺陷像素的各種操作。舉例而言,在一實施例中,有缺陷像素偵測操作可提供靜態缺陷、動態缺陷之偵測以及斑點之偵測,斑點可指代可存在於成像感測器中的電干擾或雜訊(例如,光子雜訊)。藉由類推,斑點可作為看上去隨機之雜訊假影而出現於影像上,此類似於靜態缺陷可出現於顯示器(諸如,電視顯示器)上的方式。此外,如上文所提及,在給定時間像素特性化為有缺陷可取決於相鄰像素中之影像資料的意義上,動態缺陷校正被視為動態的。舉例而言,若始終接通為最大亮度的卡點像素之位置係在亮白色為主導之當前影像區域中,則該卡點像素可能不會被視為有缺陷像素。相反地,若卡點像素係在黑色或較暗之色彩為主導的當前影像區域中,則該卡點像素可在藉由DPDC邏輯932處理期間識別為有缺陷像素且相應地校正。
關於靜態缺陷偵測,比較每一像素之位置與靜態缺陷表,該靜態缺陷表可儲存對應於已知為有缺陷之像素之位置的資料。舉例而言,在一實施例中,DPDC邏輯932可監視有缺陷像素之偵測(例如,使用計數器機構或暫存器),且若特定像素被觀測為重複地失效,則彼像素之位置儲存至靜態缺陷表中。因此,在靜態缺陷偵測期間,若判定當前像素之位置係在靜態缺陷表中,則將當前像素識別為有缺陷像素,且替換值得以判定且暫時儲存。在一實施例中,替換值可為相同色彩分量之先前像素(基於掃描次序)的值。替換值可用以在動態/斑點缺陷偵測及校正期間校正靜態缺陷,如下文將論述。另外,若先前像素係在原始圖框310(圖23)外部,則並不使用其值,且可在動態缺陷校正程序期間校正該靜態缺陷。此外,歸因於記憶體考慮因素,靜態缺陷表可儲存有限數目個位置輸入項。舉例而言,在一實施例中,靜態缺陷表可實施為經組態以針對每兩行影像資料儲存總共16個位置的FIFO佇列。然而,將使用先前像素替換值(而非經由下文所論述之動態缺陷偵測程序)來校正在靜態缺陷表中所定義的位置。如上文所提及,本發明技術之實施例亦可提供隨時間而間歇地更新靜態缺陷表。
實施例可提供待實施於晶片上記憶體或晶片外記憶體中的靜態缺陷表。應瞭解,使用晶片上實施可增大整體晶片面積/大小,而使用晶片外實施可減少晶片面積/大小,但增大記憶體頻寬要求。因此,應理解,靜態缺陷表可取決於特定實施要求(亦即,待儲存於靜態缺陷表內之像素的總數目)而實施於晶片上抑或晶片外。
動態缺陷及斑點偵測程序可相對於上文所論述之靜態缺陷偵測程序時間移位。舉例而言,在一實施例中,動態缺陷及斑點偵測程序可在靜態缺陷偵測程序已分析兩個掃描行(例如,列)之像素之後開始。應瞭解,此情形允許靜態缺陷之識別及其各別替換值在動態/斑點偵測發生之前被判定。舉例而言,在動態/斑點偵測程序期間,若當前像素先前被標記為靜態缺陷,則並非應用動態/斑點偵測操作,而是使用先前所估定之替換值來簡單地校正靜態缺陷。
關於動態缺陷及斑點偵測,此等程序可依序地或並行地發生。藉由DPDC邏輯932所執行之動態缺陷及斑點偵測及校正可依賴於使用像素至像素方向梯度的適應性邊緣偵測。在一實施例中,DPDC邏輯932可選擇當前像素之在原始圖框310(圖23)內的具有相同色彩分量的八個緊鄰者。換言之,當前像素及其八個緊鄰者P0、P1、P2、P3、P4、P5、P6及P7可形成3×3區域,如下文在圖100中所示。
然而,應注意,取決於當前像素P之位置,當計算像素至像素梯度時並未考慮在原始圖框310外部的像素。舉例而言,關於圖100所示之「左頂部」狀況942,當前像素P係在原始圖框310之左頂部隅角,且因此,並未考慮在原始圖框310之外部的相鄰像素P0、P1、P2、P3及P5,從而僅留下像素P4、P6及P7(N=3)。在「頂部」狀況944下,當前像素P係在原始圖框310之最頂邊緣處,且因此,並未考慮在原始圖框310之外部的相鄰像素P0、P1及P2,從而僅留下像素P3、P4、P5、P6及P7(N=5)。接下來,在「右頂部」狀況946下,當前像素P係在原始圖框310之右頂部隅角,且因此,並未考慮在原始圖框310之外部的相鄰像素P0、P1、P2、P4及P7,從而僅留下像素P3、P5及P6(N=3)。在「左側」狀況948下,當前像素P係在原始圖框310之最左側邊緣處,且因此,並未考慮在原始圖框310之外部的相鄰像素P0、P3及P5,從而僅留下像素P1、P2、P4、P6及P7(N=5)。
在「中心」狀況950下,所有像素P0-P7處於原始圖框310內,且由此用於判定像素至像素梯度(N=8)。在「右側」狀況952下,當前像素P係在原始圖框310之最右側邊緣處,且因此,並未考慮在原始圖框310之外部的相鄰像素P2、P4及P7,從而僅留下像素P0、P1、P3、P5及P6(N=5)。另外,在「左底部」狀況954下,當前像素P係在原始圖框310之左底部隅角,且因此,並未考慮在原始圖框310之外部的相鄰像素P0、P3、P5、P6及P7,從而僅留下像素P1、P2及P4(N=3)。在「底部」狀況956下,當前像素P係在原始圖框310之最底邊緣處,且因此,並未考慮在原始圖框310之外部的相鄰像素P5、P6及P7,從而僅留下像素P0、P1、P2、P3及P4(N=5)。最終,在「右底部」狀況958下,當前像素P係在原始圖框310之右底部隅角,且因此,並未考慮在原始圖框310之外部的相鄰像素P2、P4、P5、P6及P7,從而僅留下像素P0、P1及P3(N=3)。
因此,取決於當前像素P之位置,在判定像素至像素梯度時所使用之像素的數目可為3、5或8。在所說明實施例中,針對圖片邊界(例如,原始圖框310)內之每一相鄰像素(k=0至7),像素至像素梯度可計算如下:
G k =abs (P -P k ),0 k 7(僅針對原始圖框內之k ) (51)
另外,平均梯度Gav 可計算為當前像素與其周圍像素之平均值Pav 之間的差,如藉由下文之方程式所示:
P av =,其中N=3、5或8(取決於像素位置) (52a)
G av =abs (P -P av ) (52b)
可在判定動態缺陷狀況時使用像素至像素梯度值(方程式51),且可在識別斑點狀況時使用相鄰像素之平均值(方程式52a及52b),如下文進一步論述。
在一實施例中,動態缺陷偵測可藉由DPDC邏輯932執行如下。首先,假設,若某一數目個梯度Gk 處於或低於藉由變數dynTh表示之特定臨限值(動態缺陷臨限值),則像素有缺陷。因此,針對每一像素,累積處於或低於臨限值dynTh之在圖片邊界內部的相鄰像素之梯度之數目的計數(C)。臨限值dynTh可為固定臨限值分量與可取決於呈現周圍像素之「活動」之動態臨限值分量的組合。舉例而言,在一實施例中,dynTh之動態臨限值分量可藉由基於對平均像素值Pav (方程式52a)與每一相鄰像素之間的絕對差求和計算高頻分量值Phf 來判定,如下文所說明:
P hf = abs (P av -P k ),其中N=3、5或8 (52c)
在像素位於影像隅角處(N=3)或影像邊緣處(N=5)之例子中,Phf 可分別乘以8/3或8/5。應瞭解,此情形確保高頻分量Phf 係基於八個相鄰像素(N=8)來正規化。
一旦判定Phf ,隨即可如下文所示而計算動態缺陷偵測臨限值dynTh:
dynTh=dynTh1 +(dynTh2 ×Phf ), (53)
其中dynTh1 表示固定臨限值分量,且其中dynTh2 表示動態臨限值分量,且在方程式53中為Phf 的乘數。可針對每一色彩分量提供不同之固定臨限值分量dynTh1 ,但針對相同色彩之每一像素,dynTh1 為相同的。僅藉由實例,可設定dynTh1 ,使得其至少高於影像中之雜訊的方差。
可基於影像之一些特性來判定動態臨限值分量dynTh2 。舉例而言,在一實施例中,可使用關於曝光及/或感測器積分時間之所儲存經驗資料來判定dynTh2 。經驗資料可在影像感測器(例如,90)之校準期間被判定,且可使可針對dynTh2 所選擇之動態臨限值分量值與多個資料點中的每一者相關聯。因此,基於當前曝光及/或感測器積分時間值(其可在ISP前端邏輯80中之統計處理期間判定),可藉由自所儲存經驗資料選擇對應於當前曝光及/或感測器積分時間值之動態臨限值分量值來判定dynTh2 。另外,若當前曝光及/或感測器積分時間值並不直接對應於經驗資料點中之一者,則可藉由內插與當前曝光及/或感測器積分時間值在其間下降之資料點相關聯的動態臨限值分量值來判定dynTh2 。此外,如同固定臨限值分量dynTh1 ,動態臨限值分量dynTh2 可針對每一色彩分量具有不同值。因此,複合臨限值dynTh可針對每一色彩分量(例如,R、B、Gr、Gb)而變化。
如上文所提及,針對每一像素,判定處於或低於臨限值dynTh之在圖片邊界內部的相鄰像素之梯度之數目的計數C。舉例而言,針對原始圖框310內之每一相鄰像素,處於或低於臨限值dynTh之梯度Gk 的所累積計數C可計算如下:
C =(G k dynTh), (54)
0k7(僅針對原始圖框內之k )
接下來,若所累積計數C被判定為小於或等於最大計數(藉由變數dynMaxC所表示),則像素可被認為係動態缺陷。在一實施例中,可針對N=3(隅角)、N=5(邊緣)及N=8情況來提供dynMaxC的不同值。下文表達此邏輯:
若(C dynMaxC),則當前像素P有缺陷。 (55)
如上文所提及,有缺陷像素之位置可儲存至靜態缺陷表中。在一些實施例中,在當前像素之動態缺陷偵測期間所計算的最小梯度值(min(Gk ))可被儲存且可用以排序有缺陷像素,使得較大之最小梯度值指示缺陷的較大「嚴重度」且應在校正較不嚴重之缺陷之前在像素校正期間被校正。在一實施例中,像素可能需要在儲存至靜態缺陷表中之前在多個成像圖框之上處理(諸如,藉由隨時間而濾波有缺陷像素的位置)。在後面的實施例中,僅在缺陷在相同位置出現於特定數目個連續影像中時,可將有缺陷像素之位置儲存至靜態缺陷表中。此外,在一些實施例中,靜態缺陷表可經組態以基於最小梯度值來排序所儲存的有缺陷像素位置。舉例而言,最高之最小梯度值可指示較大「嚴重度」的缺陷。藉由以此方式排序位置,可設定靜態缺陷校正之優先權,使得首先校正最嚴重或重要的缺陷。另外,靜態缺陷表可隨時間而更新以包括新近偵測的靜態缺陷,且基於其各別最小梯度值來相應地對其排序。
可與上文所描述之動態缺陷偵測程序並行發生的斑點偵測可藉由判定值Gav (方程式52b)是否高於斑點偵測臨限值spkTh而執行。如同動態缺陷臨限值dynTh,斑點臨限值SpkTh亦可包括固定及動態分量,分別由spkTh1 及spkTh2 指代。一般而言,與dynTh1 及dynTh2 值相比可更「主動地」設定固定及動態分量spkTh1 及spkTh2 ,以便避免錯誤地偵測在可經更重地紋理化的影像及其他(諸如,文字、植物、某些織物圖案等)之區域中的斑點。因此,在一實施例中,動態斑點臨限值分量spkTh2 可針對影像之高紋理區域增大,且針對「較平坦」或更均一之區域減小。可如下文所示而計算斑點偵測臨限值spkTh:
spkTh=spkTh1 +(spkTh2 ×Phf ), (56)
其中spkTh1 表示固定臨限值分量,且其中spkTh2 表示動態臨限值分量。可接著根據以下表達來判定斑點之偵測:
若(G av >spkTh),則當前像素P為有斑點的。 (57)
一旦已識別有缺陷像素,DPDC邏輯932隨即可取決於所偵測之缺陷的類型而應用像素校正操作。舉例而言,若有缺陷像素被識別為靜態缺陷,則該像素係藉由所儲存之替換值替換,如上文所論述(例如,相同色彩分量之先前像素的值)。若像素被識別為動態缺陷抑或斑點,則可如下執行像素校正。首先,梯度被計算為在中心像素與針對四個方向(水平(h)方向、垂直(v)方向、對角正方向(dp)及對角負方向(dn))之第一及第二相鄰像素(例如,方程式51之G k 的計算)之間的絕對差之總和,如下文所示:
G h =G 3 +G 4  (58)
G v =G 1 +G 6  (59)
G d p =G 2 +G 5  (60)
G dn =G 0 +G 7  (61)
接下來,可經由與具有最小值之方向性梯度Gh 、Gv 、Gdp 及Gdn 相關聯的兩個相鄰像素之線性內插來判定校正像素值PC 。舉例而言,在一實施例中,下文之邏輯敍述可表達PC 之計算:
若(min==G h ) (62)
否則若(min==G v )
否則若(min==G dp )
否則若(min==G dn )
藉由DPDC邏輯932所實施之像素校正技術亦可提供在邊界條件下之例外。舉例而言,若與所選擇之內插方向相關聯之兩個相鄰像素中的一者係在原始圖框外部,則實情為取代在原始圖框內之相鄰像素的值。因此,使用此技術,校正像素值將等效於原始圖框內之相鄰像素的值。
應注意,藉由DPDC邏輯932在ISP管道處理期間所應用之有缺陷像素偵測/校正技術與ISP前端邏輯80中的DPDC邏輯738相比更穩固。如上文之實施例所論述,DPDC邏輯738使用僅在水平方向上之相鄰像素僅執行動態缺陷偵測及校正,而DPDC邏輯932使用在水平及垂直方向兩者上之相鄰像素提供靜態缺陷、動態缺陷以及斑點的偵測及校正。
應瞭解,使用靜態缺陷表之有缺陷像素之位置的儲存可提供具有較低之記憶體要求的有缺陷像素之時間濾波。舉例而言,與儲存全部影像且應用時間濾波以隨時間而識別靜態缺陷的許多習知技術相比,本發明技術之實施例僅儲存有缺陷像素的位置(其可通常使用儲存整個影像圖框所需之記憶體的僅一分數來進行)。此外,如上文所論述,最小梯度值(min(Gk ))之儲存允許優先化校正有缺陷像素之位置次序(例如,以將最可見之彼等位置開始)的靜態缺陷表之有效使用。
另外,包括動態分量(例如,dynTh2 及spkTh2 )之臨限值的使用可幫助減少錯誤缺陷偵測,在處理影像(例如,文字、植物、某些織物圖案等)之高紋理區域時在習知影像處理系統中常常遇到的問題。此外,用於像素校正之方向性梯度(例如,h、v、dp、dn)的使用可在錯誤缺陷偵測發生時減少視覺假影之出現。舉例而言,在最小梯度方向上濾波可產生仍在大多數狀況下(甚至在錯誤偵測之狀況下)產生可接受之結果的校正。另外,當前像素P在梯度計算中之包括可改良梯度偵測之準確度(尤其在熱像素之狀況下)。
藉由DPDC邏輯932所實施之上文所論述之有缺陷像素偵測及校正技術可藉由圖101至圖103中所提供的一系列流程圖來概述。舉例而言,首先參看圖101,說明用於偵測靜態缺陷之程序960。最初始於步驟962,在第一時間T0 處接收輸入像素P。接下來,在步驟964處,比較像素P之位置與儲存於靜態缺陷表中的值。決策邏輯966判定是否在靜態缺陷表中找到像素P之位置。若P之位置係在靜態缺陷表中,則程序960繼續至步驟968,其中將像素P標記為靜態缺陷且判定替換值。如上文所論述,替換值可基於相同色彩分量之先前像素(以掃描次序)的值來判定。程序960接著繼續至步驟970,在步驟970處程序960繼續進行至圖102所說明之動態及斑點偵測程序980。另外,若在決策邏輯966處,判定像素P之位置並不在靜態缺陷表中,則程序960繼續進行至步驟970而不執行步驟968。
繼續至圖102,在時間T1接收輸入像素P(如藉由步驟982所示),以供處理以判定是否存在動態缺陷或斑點。時間T1可表示相對於圖101之靜態缺陷偵測程序960的時間移位。如上文所論述,動態缺陷及斑點偵測程序可在靜態缺陷偵測程序已分析兩個掃描行(例如,列)之像素之後開始,由此允許在動態/斑點偵測發生之前判定用於識別靜態缺陷及其各別替換值的時間。
決策邏輯984判定是否先前將輸入像素P標記為靜態缺陷(例如,藉由程序960之步驟968)。若將P標記為靜態缺陷,則程序980可繼續至圖103所示之像素校正程序且可繞過圖102所示之步驟的剩餘部分。若決策邏輯984判定輸入像素P並非靜態缺陷,則程序繼續至步驟986,且識別可在動態缺陷及斑點程序中使用的相鄰像素。舉例而言,根據上文所論述且圖100所說明之實施例,相鄰像素可包括像素P之緊鄰的8個相鄰者(例如,P0-P7),由此形成3×3像素區域。接下來,在步驟988處,關於原始圖框310內之每一相鄰像素計算像素至像素梯度,如上文之方程式51中所描述。另外,平均梯度(Gav )可計算為當前像素與其周圍像素之平均值之間的差,如方程式52a及52b所示。
程序980接著出現分支至用於動態缺陷偵測之步驟990及用於斑點偵測之決策邏輯998。如上文所提及,在一些實施例中,動態缺陷偵測及斑點偵測可並行地發生。在步驟990處,判定小於或等於臨限值dynTh的梯度之數目的計數C。如上文所描述,臨限值dynTh可包括固定及動態分量,且在一實施例中可根據上文之方程式53來判定。若C小於或等於最大計數dynMaxC,則程序980繼續至步驟996,且將當前像素標記為動態缺陷。此後,程序980可繼續至圖103所示之像素校正程序,下文將論述該像素校正程序。
在步驟988之後返回該分支,針對斑點偵測,決策邏輯998判定平均梯度Gav 是否大於斑點偵測臨限值spkTh,該斑點偵測臨限值spkTh亦可包括固定及動態分量。若Gav 大於臨限值spkTh,則在步驟1000處將像素P標記為含有斑點,且此後,程序980繼續至圖103以用於有斑點像素的校正。此外,若決策邏輯區塊992及998中之兩者的輸出為「否」,則此指示像素P不含有動態缺陷、斑點或甚至靜態缺陷(決策邏輯984)。因此,當決策邏輯992及998之輸出皆為「否」時,程序980可在步驟994處結束,藉以,像素P未改變地通過,此係因為未偵測缺陷(例如,靜態、動態或斑點)。
繼續至圖103,提供根據上文所描述之技術的像素校正程序1010。在步驟1012處,自圖102之程序980接收輸入像素P。應注意,像素P可藉由程序1010自步驟984(靜態缺陷)或自步驟996(動態缺陷)及1000(斑點缺陷)接收。決策邏輯1014接著判定是否將像素P標記為靜態缺陷。若像素P為靜態缺陷,則程序1010繼續且在步驟1016處結束,藉以,使用在步驟968(圖101)處所判定之替換值來校正該靜態缺陷。
若並未將像素P識別為靜態缺陷,則程序1010自決策邏輯1014繼續至步驟1018,且計算方向性梯度。舉例而言,如上文參考方程式58-61所論述,梯度可計算為中心像素與針對四個方向(h、v、dp及dn)之第一及第二相鄰像素之間的絕對差之總和。接下來,在步驟1020處,識別具有最小值之方向性梯度,且此後,決策邏輯1022估定與最小梯度相關聯之兩個相鄰像素中之一者是否位於影像圖框(例如,原始圖框310)外部。若兩個相鄰像素係在影像圖框內,則程序1010繼續至步驟1024,且藉由將線性內插應用於該兩個相鄰像素的值而判定像素校正值(PC ),如藉由方程式62所說明。此後,可使用內插像素校正值PC 來校正輸入像素P,如在步驟1030處所示。
返回至決策邏輯1022,若判定該兩個相鄰像素中之一者位於影像圖框(例如,原始圖框165)外部,則代替使用外部像素(Pout)之值,DPDC邏輯932可藉由處於影像圖框內部之另一相鄰像素(Pin)的值來取代Pout之值,如在步驟1026處所示。此後,在步驟1028處,藉由內插Pin之值及Pout之取代值來判定像素校正值PC 。換言之,在此狀況下,PC 可等效於Pin之值。在步驟1030處結束,使用值PC 來校正像素P。在繼續之前,應理解,本文參考DPDC邏輯932所論述之特定有缺陷像素偵測及校正程序意欲僅反映本發明技術之一可能實施例。實際上,取決於設計及/或成本約束,多個變化係可能的,且可添加或移除特徵以使得缺陷偵測/校正邏輯之整體複雜性及穩固性介於實施於ISP前端區塊80中之較簡單的偵測/校正邏輯738與此處參考DPDC邏輯932所論述的缺陷偵測/校正邏輯之間。
返回參看圖99,經校正之像素資料係自DPDC邏輯932輸出,且接著藉由雜訊減少邏輯934接收以供進一步處理。在一實施例中,雜訊減少邏輯934可經組態以實施二維邊緣適應性低通濾波,以減少影像資料中之雜訊同時維持細節及紋理。可基於當前照明位準來設定(例如,藉由控制邏輯84)邊緣適應性臨限值,使得濾波可在低光條件下加強。此外,如上文關於dynTh及spkTh值之判定簡要地提及,可針對給定感測器提前判定雜訊方差使得可將雜訊減少臨限值設定為剛好高於雜訊方差,使得在雜訊減少處理期間,在不顯著影響場景之紋理及細節(例如,避免/減少錯誤偵測)的情況下減少雜訊。在假設拜耳彩色濾光片實施的情況下,雜訊減少邏輯934可使用可分離之7分接頭水平濾波器及5分接頭垂直濾波器獨立地處理每一色彩分量Gr、R、B及Gb。在一實施例中,雜訊減少程序可藉由對綠色色彩分量(Gb及Gr)校正非均一性,且接著執行水平濾波及垂直濾波而執行。
通常,在給定均一照明之平坦表面的情況下,綠色非均一性(GNU)之特徵為Gr與Gb像素之間的稍微亮度差異。在不校正或補償此非均一性之情況下,某些假影(諸如,「迷宮」假影)可在解馬賽克之後出現於全色影像中。在綠色非均一性程序期間可包括針對原始拜耳影像資料中之每一綠色像素,判定在當前綠色像素(G1)與在當前像素之右側及下方的綠色像素(G2)之間的絕對差是否小於GNU校正臨限值(gnuTh)。圖104說明G1及G2像素在拜耳圖案之2×2區域中的位置。如圖所示,像素定界G1之色彩可取決於當前綠色像素係Gb抑或Gr像素。舉例而言,若G1係Gr,則G2係Gb,在G1右側之像素為R(紅色),且在G1下方之像素為B(藍色)。或者,若G1係Gb,則G2係Gr,且在G1右側之像素為B,而在G1下方之像素為R。若G1與G2之間的絕對差小於GNU校正臨限值,則藉由G1及G2之平均值來替換當前綠色像素G1,如藉由下文之邏輯所示:
若(abs(G1-G2)gnuTh);則G 1= (63)
應瞭解,以此方式應用綠色非均一性校正可幫助防止G1及G2像素跨越邊緣被平均化,由此改良及/或保持清晰度。
在綠色非均一性校正之後應用水平濾波,且水平濾波可在一實施例中提供7分接頭水平濾波器。計算跨越每一濾波器分接頭之邊緣的梯度,且若其高於水平邊緣臨限值(horzTh),則濾波器分接頭摺疊至中心像素,如下文將說明。在某些實施例中,雜訊濾波可為邊緣適應性的。舉例而言,水平濾波器可為有限脈衝回應(FIR)濾波器,其中濾波器分接頭僅在中心像素與分接頭處之像素之間的差小於取決於雜訊方差的臨限值時使用。水平濾波器可針對每一色彩分量(R、B、Gr、Gb)獨立地處理影像資料,且可使用未濾波值作為輸入值。
藉由實例,圖105展示一組水平像素P0至P6之圖形描繪,其中中心分接頭位於P3處。基於圖105所示之像素,每一濾波器分接頭之邊緣梯度可計算如下:
Eh0=abs(P0-P1) (64)
Eh1=abs(P1-P2) (65)
Eh2=abs(P2-P3) (66)
Eh3=abs(P3-P4) (67)
Eh4=abs(P4-P5) (68)
Eh5=abs(P5-P6) (69)
邊緣梯度Eh0-Eh5可接著藉由水平濾波器組件利用來使用下文在方程式70中所示之公式判定水平濾波輸出Phorz
其中horzTh[c]為每一色彩分量c(例如,R、B、Gr及Gb)之水平邊緣臨限值,且其中C0-C6分別為對應於像素P0-P6的濾波器分接頭係數。水平濾波器輸出Phorz 可施加於中心像素P3位置處。在一實施例中,濾波器分接頭係數C0-C6可為具有3個整數位元及13個小數位元的16位元之2補數值(浮點中之3.13)。此外,應注意,濾波器分接頭係數C0-C6不必相對於中心像素P3對稱。
在綠色非均一性校正及水平濾波程序之後,亦藉由雜訊減少邏輯934應用垂直濾波。在一實施例中,垂直濾波器操作可提供5分接頭濾波器,如圖106所示,其中垂直濾波器之中心分接頭位於P2處。垂直濾波程序可以與上文所描述之水平濾波程序類似的方式發生。舉例而言,計算跨越每一濾波器分接頭之邊緣的梯度,且若其高於垂直邊緣臨限值(vertTh),則濾波器分接頭摺疊至中心像素P2。垂直濾波器可針對每一色彩分量(R、B、Gr、Gb)獨立地處理影像資料,且可使用未濾波值作為輸入值。
基於圖106所示之像素,每一濾波器分接頭之垂直邊緣梯度可計算如下:
Ev0=abs(P0-P1) (71)
Ev1=abs(P1-P2) (72)
Ev2=abs(P2-P3) (73)
Ev3=abs(P3-P4) (74)
邊緣梯度Ev0-Ev5可接著藉由垂直濾波器利用來使用下文在方程式75中所示之公式判定垂直濾波輸出Pvert
其中vertTh[c]為每一色彩分量c(例如,R、B、Gr及Gb)之垂直邊緣臨限值,且其中C0-C4分別為對應於圖106之像素P0-P4的濾波器分接頭係數。垂直濾波器輸出Pvert 可施加於中心像素P2位置處。在一實施例中,濾波器分接頭係數C0-C4可為具有3個整數位元及13個小數位元的16位元之2補數值(浮點中之3.13)。此外,應注意,濾波器分接頭係數C0-C4不必相對於中心像素P2對稱。
另外,關於邊界條件,當相鄰像素係在原始圖框310(圖23)之外部時,邊界外像素之值經複製,其中相同色彩像素之值處於原始圖框的邊緣處。此慣例可針對水平及垂直濾波操作兩者來實施。藉由實例,再次參看圖105,在水平濾波之狀況下,若像素P2為在原始圖框之最左側邊緣處的邊緣像素,且像素P0及P1係在原始圖框外部,則藉由像素P2之值來取代像素P0及P1的值以用於水平濾波。
再次返回參看圖99所示之原始處理邏輯900的方塊圖,雜訊減少邏輯934之輸出隨後發送至透鏡遮光校正(LSC)邏輯936以供處理。如上文所論述,透鏡遮光校正技術可包括以每像素為基礎來施加適當之增益以補償光強度之下降(其可為透鏡之幾何光學的結果)、製造之不完美性、微透鏡陣列及彩色陣列濾光片之對準不良,等等。此外,在一些透鏡中之紅外線(IR)濾光片可使得下降為照明體相依的,且因此,可取決於所偵測之光源來調適透鏡遮光增益。
在所描繪實施例中,ISP管道82之LSC邏輯936可以與ISP前端區塊80之LSC邏輯740類似的方式實施,且由此提供大體上相同的功能,如上文參看圖71至圖79所論述。因此,為了避免冗餘,應理解,當前所說明之實施例的LSC邏輯936經組態而以與LSC邏輯740大體上相同的方式操作,且因而,此處將不重複上文所提供之透鏡遮光校正技術的描述。然而,為了大體上概述,應理解,LSC邏輯936可獨立地處理原始像素資料串流之每一色彩分量以判定施加至當前像素的增益。根據上文所論述之實施例,可基於跨越成像圖框所分佈之一組所界定的增益柵格點來判定透鏡遮光校正增益,其中在每一柵格點之間的間隔係藉由多個像素(例如,8個像素、16個像素等)界定。若當前像素之位置對應於柵格點,則與彼柵格點相關聯的增益值施加至當前像素。然而,若當前像素之位置係在柵格點(例如,圖74之G0、G1、G2及G3)之間,則可藉由柵格點(當前像素位於其間)之內插來計算LSC增益值(方程式13a及13b)。此程序係藉由圖75之程序772來描繪。此外,如上文關於圖73所提及,在一些實施例中,柵格點可不均勻地(例如,以對數形式)分佈,使得柵格點較少集中於LSC區域760的中心,但朝向LSC區域760之隅角更集中,通常在透鏡遮光失真更顯著之處。
另外,如上文參看圖78及圖79所論述,LSC邏輯936亦可施加具有柵格增益值之徑向增益分量。可基於當前像素距影像中心之距離來判定徑向增益分量(方程式14-16)。如所提及,使用徑向增益允許針對所有色彩分量使用單一共同增益柵格,其可極大地減少儲存用於每一色彩分量之單獨增益柵格所需的總儲存空間。柵格增益資料之此減少可減小實施成本,此係因為柵格增益資料表可佔據影像處理硬體中之記憶體或晶片面積的顯著部分。
接下來,再次參看圖99之原始處理邏輯方塊圖900,接著將LSC邏輯936之輸出傳遞至第二增益、位移及箝位(GOC)區塊938。GOC邏輯938可在解馬賽克(藉由邏輯區塊940)之前被應用,且可用以對LSC邏輯936之輸出執行自動白平衡。在所描繪實施例中,GOC邏輯938可以與GOC邏輯930(及BLC邏輯739)相同的方式實施。因此,根據上文之方程式11,藉由GOC邏輯938所接收之輸入首先位移有正負號的值且接著乘以增益。所得值接著根據方程式12裁剪至最小值及最大值範圍。
此後,GOC邏輯938之輸出轉遞至解馬賽克邏輯940以供處理,以基於原始拜耳輸入資料產生全色(RGB)影像。應瞭解,在每一像素經濾光以僅獲取單一色彩分量之意義上,使用彩色濾光片陣列(諸如,拜耳濾光片)之影像感測器的原始輸出為「不完整的」。因此,單獨針對個別像素所收集之資料不足以判定色彩。因此,解馬賽克技術可用以藉由針對每一像素內插丟失之色彩資料而自原始拜耳資料產生全色影像。
現參看圖107,說明提供關於解馬賽克可應用於原始拜耳影像圖案1034以產生全色RGB之方式之一般綜述的圖形程序流程692。如圖所示,原始拜耳影像1034之4×4部分1036可針對每一色彩分量包括單獨通道,包括綠色通道1038、紅色通道1040及藍色通道1042。因為拜耳感測器中之每一成像像素僅獲取一色彩之資料,所以每一色彩通道1038、1040及1042之色彩資料可為不完整的,如藉由「?」符號所指示。藉由應用解馬賽克技術1044,可內插來自每一通道之丟失的色彩樣本。舉例而言,如藉由參考數字1046所示,內插資料G'可用以填充綠色通道上之丟失的樣本。類似地,內插資料R'可(結合內插資料G' 1046)用以填充紅色通道上之丟失的樣本(1048),且內插資料B'可(結合內插資料G' 1046)用以填充藍色通道上之丟失的樣本(1050)。因此,由於解馬賽克程序,每一色彩通道(R、G、B)將具有一組完全的色彩資料,其可接著用以重新建構全色RGB影像1052。
現將根據一實施例描述可藉由解馬賽克邏輯940實施的解馬賽克技術。在綠色通道上,可使用低通方向性濾波器對已知的綠色樣本內插丟失的色彩樣本,且使用高通(或梯度)濾波器對鄰近之色彩通道(例如,紅色及藍色)內插丟失的色彩樣本。針對紅色及藍色通道,丟失的色彩樣本可以類似方式內插,但藉由使用低通濾波對已知的紅色或藍色值進行,且藉由使用高通濾波對共同定位之內插的綠色值進行。此外,在一實施例中,對綠色通道之解馬賽克可基於原本拜耳色彩資料利用5×5像素區塊邊緣適應性濾波器。如下文將進一步論述,邊緣適應性濾波器之使用可基於水平及垂直濾波值之梯度來提供連續加權,其減少在習知解馬賽克技術中常見之某些假影(諸如,頻疊、「棋盤形」或「彩虹」假影)的出現。
在對綠色通道解馬賽克期間,使用拜耳影像圖案之綠色像素(Gr及Gb像素)的原本值。然而,為了獲得綠色通道之一組完全資料,可在拜耳影像圖案之紅色及藍色像素處內插綠色像素值。根據本發明技術,首先基於上文所提及之5×5像素區塊在紅色及藍色像素處計算水平及垂直能量分量(分別被稱為Eh及Ev)。Eh及Ev之值可用以自水平及垂直濾波步驟獲得邊緣加權之濾波值,如下文進一步論述。
藉由實例,圖108說明定中心於5×5像素區塊中於位置(j,i)處之紅色像素的Eh及Ev值之計算,其中j對應於一列且i對應於一行。如圖所示,Eh之計算考慮5×5像素區塊之中間三列(j-1、j、j+1),且Ev之計算考慮5×5像素區塊的中間三行(i-1、i、i+1)。為了計算Eh,乘以對應係數(例如,針對行i-2及i+2為-1;針對行i為2)之紅色行(i-2、i、i+2)中的像素中之每一者之總和的絕對值與乘以對應係數(例如,針對行i-1為1;針對行i+1為-1)之藍色行(i-1、i+1)中的像素中之每一者之總和的絕對值求和。為了計算Ev,乘以對應係數(例如,針對列j-2及j+2為-1;針對列j為2)之紅色列(j-2、j、j+2)中的像素中之每一者之總和的絕對值與乘以對應係數(例如,針對列j-1為1;針對列j+1為-1)之藍色列(j-1、j+1)中的像素中之每一者之總和的絕對值求和。此等計算係藉由下文之方程式76及77說明:
因此,總能量總和可表達為:Eh+EV。此外,儘管圖108所示之實例說明在(j,i)處之紅色中心像素之Eh及Ev的計算,但應理解,可針對藍色中心像素以類似方式判定Eh及Ev值。
接下來,可將水平及垂直濾波應用於拜耳圖案以獲得垂直及水平濾波值Gh及Gv,其可分別表示在水平及垂直方向上之內插綠色值。除了使用鄰近色彩(R或B)之方向性梯度來在丟失之綠色樣本的位置處獲得高頻信號之外,亦可對已知的相鄰綠色樣本使用低通濾波器來判定濾波值Gh及Gv。舉例而言,參看圖109,現將說明用於判定Gh之水平內插的一實例。
如圖109所示,可在判定Gh時考慮拜耳影像之紅色行1060的五個水平像素(R0、G1、R2、G3及R4),其中R2假設為在(j,i)處的中心像素。與此等五個像素中之每一者相關聯的濾波係數係藉由參考數字1062指示。因此,用於中心像素R2之綠色值(被稱為G2')的內插可判定如下:
各種數學運算可接著用以產生在下文之方程式79及80中所示之G2'的表達:
因此,參看圖109及上文之方程式78-80,在(j,i)處之綠色值之水平內插的一般表達可導出為:
垂直濾波分量Gv可以與Gh類似之方式判定。舉例而言,參看圖110,可在判定Gv時考慮拜耳影像之紅色行1064的五個垂直像素(R0、G1、R2、G3及R4)及其各別濾波係數1068,其中R2假設為在(j,i)處的中心像素。在垂直方向上對已知的綠色樣本使用低通濾波且對紅色通道使用高通濾波,可針對Gv導出以下表達:
儘管本文所論述之實例已展示綠色值對紅色像素之內插,但應理解,在方程式81及82中所闡述之表達亦可用於綠色值針對藍色像素的水平及垂直內插中。
可藉由以上文所論述之能量分量(Eh及Ev)對水平及垂直濾波器輸出(Gh及Gv)加權以產生以下方程式而判定中心像素(j,i)的最終內插綠色值G':
如上文所論述,能量分量Eh及Ev可提供水平及垂直濾波器輸出Gh及Gv之邊緣適應性加權,其可幫助在經重新建構之RGB影像中減少影像假影(諸如,彩虹、頻疊或棋盤形假影)。另外,解馬賽克邏輯940可提供藉由將Eh及Ev值各自設定為1而繞過邊緣適應性加權特徵的選項,使得Gh及Gv得以相等地加權。
在一實施例中,上文之方程式51所示的水平及垂直加權係數可經量化以將加權係數之精確度減少至一組「粗略」值。舉例而言,在一實施例中,加權係數可經量化至八個可能之權重比:1/8、2/8、3/8、4/8、5/8、6/8、7/8及8/8。其他實施例可將加權係數量化為16個值(例如,1/16至16/16)、32個值(1/32至32/32),等等。應瞭解,與使用全精確度值(例如,32位元浮點值)相比,在判定加權係數且將加權係數應用於水平及垂直濾波器輸出時,加權係數之量化可減少實施複雜性。
在其他實施例中,除了判定且使用水平及垂直能量分量以將加權係數應用於水平(Gh)及垂直(Gv)濾波值之外,當前所揭示之技術亦可判定且利用在對角正及對角負方向上的能量分量。舉例而言,在此等實施例中,亦可在對角正及對角負方向上應用濾波。濾波器輸出之加權可包括選擇兩個最高能量分量,且使用所選擇之能量分量來對其各別濾波器輸出加權。舉例而言,在假設該兩個最高能量分量對應於垂直及對角正方向的的情況下,垂直及對角正能量分量用以對垂直及對角正濾波器輸出加權以判定內插綠色值(例如,在拜耳圖案中之紅色或藍色像素位置處)。
接下來,對紅色及藍色通道之解馬賽克可藉由在拜耳影像圖案之綠色像素處內插紅色及藍色值、在拜耳影像圖案之藍色像素處內插紅色值,且在拜耳影像圖案之紅色像素處內插藍色值來執行。根據當前論述之技術,可基於已知的相鄰之紅色及藍色像素使用低通濾波且基於共同定位之綠色像素值使用高通濾波來內插丟失的紅色及藍色像素值,該等綠色像素值取決於當前像素之位置可為原本或內插值(來自上文所論述之綠色通道解馬賽克程序)。因此,關於此等實施例,應理解,可首先執行丟失之綠色值的內插,使得一組完整的綠色值(原本及內插值兩者)在內插丟失之紅色及藍色樣本時可用。
可參看圖111描述紅色及藍色像素值之內插,圖62說明紅色及藍色解馬賽克可應用於之拜耳影像圖案的各種3×3區塊,以及可在對綠色通道解馬賽克期間已獲得之內插綠色值(藉由G'所指定)。首先參考區塊1070,用於Gr像素(G11 )之內插紅色值R'11 可判定如下:
其中G'10 及G'12 表示內插綠色值,如藉由參考數字1078所示。類似地,用於Gr像素(G11 )之內插藍色值B'11 可判定如下:
其中G'01 及G'21 表示內插綠色值(1078)。
接下來,參考中心像素係Gb像素(G11 )之像素區塊1072,內插紅色值R'11 及藍色值B'11 可如下文之方程式86及87所示而判定:
此外,參考像素區塊1074,紅色值對藍色像素B11 之內插可判定如下:
其中G'00 、G'02 、G'11 、G'20 及G'22 表示內插綠色值,如藉由參考數字1080所示。最終,藍色值對紅色像素之內插(如藉由像素區塊1076所示)可計算如下:
儘管上文所論述之實施例依賴於色彩差異(例如,梯度)用於判定紅色及藍色內插值,但另一實施例可使用色彩比率來提供內插之紅色及藍色值。舉例而言,內插綠色值(區塊1078及1080)可用以獲得拜耳影像圖案之紅色及藍色像素位置處的色彩比率,且該等比率之線性內插可用以判定丟失之色彩樣本的內插色彩比率。綠色值(其可為內插值或原本值)可乘以內插色彩比率以獲得最終內插色彩值。舉例而言,可根據下文之公式來執行使用色彩比率之紅色及藍色像素值的內插,其中方程式90及91展示Gr像素之紅色及藍色值的內插,方程式92及93展示Gb像素之紅色及藍色值的內插,方程式94展示紅色值對藍色像素之內插,且方程式95展示藍色值對紅色像素的內插:
(當G 11 為Gr像素時所內插之R' 11 )
(當G 11 為Gr像素時所內插之B' 11 )
(92)
(當G 11 為Gb像素時所內插之R' 11 )
(當G 11 為Gb像素時所內插之B' 11 )
(對藍色像素B 11 所內插之R' 11 )
(對紅色像素R 11 所內插之B' 11 )
一旦已針對來自拜耳影像圖案之每一影像像素內插丟失之色彩樣本,隨即可組合紅色、藍色及綠色通道中之每一者之色彩值的完整樣本(例如,圖107之1046、1048及1050)以產生全色RGB影像。舉例而言,返回參看圖98及圖99,原始像素處理邏輯900之輸出910可為呈8、10、12或14位元格式之RGB影像信號。
現參看圖112至圖115,說明說明根據所揭示實施例的用於解馬賽克原始拜耳影像圖案之程序的各種流程圖。特定言之,圖112之程序1082描繪將針對給定輸入像素P內插哪些色彩分量的判定。基於藉由程序1082之判定,可執行(例如,藉由解馬賽克邏輯940)用於內插綠色值之程序1100(圖113)、用於內插紅色值之程序1112(圖114)或用於內插藍色值之程序1124(圖115)中的一或多者。
以圖112開始,程序1082在步驟1084處在接收輸入像素P時開始。決策邏輯1086判定輸入像素之色彩。舉例而言,此可取決於拜耳影像圖案內之像素的位置。因此,若P被識別為綠色像素(例如,Gr或Gb),則程序1082繼續進行至步驟1088以獲得用於P之內插的紅色及藍色值。此可包括(例如)分別繼續至圖114及圖115之程序1112及1124。若P被識別為紅色像素,則程序1082繼續進行至步驟1090以獲得用於P之內插的綠色及藍色值。此可包括分別進一步執行圖113及圖115之程序1100及1124。另外,若P被識別為藍色像素,則程序1082繼續進行至步驟1092以獲得用於P之內插的綠色及紅色值。此可包括分別進一步執行圖113及圖114之程序1100及1112。下文進一步描述程序1100、1112及1124中之每一者。
用於判定用於輸入像素P之內插綠色值的程序1100說明於圖113中且包括步驟1102-1110。在步驟1102處,接收輸入像素P(例如,自程序1082)。接下來,在步驟1104處,識別形成5×5像素區塊之一組相鄰像素,其中P為5×5區塊之中心。此後,在步驟1106處分析像素區塊以判定水平及垂直能量分量。舉例而言,可分別根據用於計算Eh及Ev之方程式76及77來判定水平及垂直能量分量。如所論述,能量分量Eh及Ev可用作加權係數以提供邊緣適應性濾波,且因此,減少某些解馬賽克假影在最終影像中的出現。在步驟1108處,在水平及垂直方向上應用低通濾波及高通濾波以判定水平及垂直濾波輸出。舉例而言,可根據方程式81及82來計算水平及垂直濾波輸出Gh及Gv。接下來,程序1082繼續至步驟1110,在步驟1110處基於以能量分量Eh及Ev加權之Gh及Gv值來內插內插綠色值G',如方程式83所示。
接下來,關於圖114之程序1112,紅色值之內插可始於步驟1114,在步驟1114處接收輸入像素P(例如,自程序1082)。在步驟1116處,識別形成3×3像素區塊之一組相鄰像素,其中P為3×3區塊之中心。此後,在步驟1118處對3×3區塊內之相鄰紅色像素應用低通濾波,且對共同定位之綠色相鄰值應用高通濾波(步驟1120),該等綠色相鄰值可為藉由拜耳影像感測器所俘獲之原本綠色值,或內插值(例如,經由圖113之程序1100所判定)。可基於低通及高通濾波輸出來判定用於P之內插紅色值R' ,如在步驟1122處所示。取決於P之色彩,可根據方程式84、86或88中之一者來判定R'。
關於藍色值之內插,可應用圖115之程序1124。步驟1126及1128與程序1112(圖114)之步驟1114及1116大體上相同。在步驟1130處,對3×3內之相鄰藍色像素應用低通濾波,且在步驟1132處,對共同定位之綠色相鄰值應用高通濾波,該等綠色相鄰值可為藉由拜耳影像感測器所俘獲之原本綠色值,或內插值(例如,經由圖113之程序1100所判定)。可基於低通及高通濾波輸出來判定用於P之內插藍色值B',如在步驟1134處所示。取決於P之色彩,可根據方程式85、87或89中之一者來判定B'。此外,如上文所提及,可使用色彩差異(方程式84-89)或色彩比率(方程式90-95)來判定紅色及藍色值的內插。又,應理解,可首先執行丟失之綠色值的內插,使得一組完整的綠色值(原本及內插值兩者)在內插丟失之紅色及藍色樣本時可用。舉例而言,圖113之程序1100可在分別執行圖114及圖115之程序1112及1124之前應用於內插所有丟失的綠色樣本。
參看圖116至圖119,提供藉由ISP管道82中之原始像素處理邏輯900處理之影像之有色圖式的實例。圖116描繪原本影像場景1140,其可藉由成像裝置30之影像感測器90俘獲。圖117展示原始拜耳影像1142,其可表示藉由影像感測器90俘獲之原始像素資料。如上文所提及,習知解馬賽克技術可能不提供基於影像資料中之邊緣(例如,在兩種或兩種以上色彩之區域之間的界限)之偵測的適應性濾波,此情形可能不合需要地在所得的經重新建構之全色RGB影像中產生假影。舉例而言,圖118展示使用習知解馬賽克技術所重新建構之RGB影像1144,且可包括假影,諸如,在邊緣1148處之「棋盤形」假影1146。然而,在比較影像1144與圖119之RGB影像1150(其可為使用上文所描述之解馬賽克技術所重新建構之影像的實例)的情況下,可看出,存在於圖118中之棋盤形假影1146不存在,或至少其出現在邊緣1148處實質上減少。因此,圖116至圖119所示之影像意欲說明本文所揭示之解馬賽克技術勝於習知方法的至少一優點。
根據本文所揭示之影像處理技術的某些態樣,可使用一組行緩衝器來實施ISP子系統32之各種處理邏輯區塊,該組行緩衝器可經組態以使影像資料通過各種區塊,如上文所示。舉例而言,在一實施例中,可使用如圖120至圖123所示而配置之行緩衝器的一組態來實施上文在圖99中所論述之原始像素處理邏輯900。特定言之,圖120描繪可用以實施原始像素處理邏輯900之整個行緩衝器配置,而圖121描繪如展示於圖120之封閉區域1162內的行緩衝器之第一子集的較近視圖,圖122描繪可為雜訊減少邏輯934之部分的垂直濾波器之較近視圖,且圖123描繪如展示於圖120之封閉區域1164內的行緩衝器之第二子集的較近視圖。如圖120中大體上說明,原始像素處理邏輯900可包括編號為0-9且分別標示為參考數字1160a-1160j的一組十個行緩衝器,以及邏輯列1160k,邏輯列1160k包括至原始處理邏輯900之影像資料輸入908(其可來自影像感測器或來自記憶體)。因此,圖120所示之邏輯可包括11列,其中該等列中之10列包括行緩衝器(1160a-1160j)。如下文所論述,行緩衝器可藉由原始像素處理邏輯900之邏輯單元以共用方式利用,該等邏輯單元包括增益、位移、箝位邏輯區塊930及938(在圖120中分別被稱為GOC1及GOC2)、有缺陷像素偵測及校正(DPC)邏輯932、雜訊減少邏輯934(在圖120中展示為包括綠色非均一性(GNU)校正邏輯934a、7分接頭水平濾波器934b及5分接頭垂直濾波器934c)、透鏡遮光校正(LSC)邏輯936及解馬賽克(DEM)邏輯940。舉例而言,在圖120所示之實施例中,藉由行緩衝器6-9(1160g-1160j)所表示之行緩衝器下部子集可在DPC邏輯932與雜訊減少邏輯934之部分(包括GNU邏輯934a、水平濾波器934b,及垂直濾波器934c之部分)之間共用。藉由行緩衝器0-5(1160a-1160f)所表示之行緩衝器上部子集可在垂直濾波邏輯934c之一部分、透鏡遮光校正邏輯936、增益、位移及箝位邏輯938與解馬賽克邏輯940之間共用。
為大體上描述影像資料通過行緩衝器之移動,可表示ISP前端處理邏輯80之輸出的原始影像資料908藉由GOC1邏輯930首先接收及處理,此處應用適當的增益、位移及箝位參數。GOC1邏輯930之輸出接著提供至DPC邏輯932。如圖所示,有缺陷像素偵測及校正處理可對行緩衝器6-9發生。DPC邏輯932之第一輸出提供至(雜訊減少邏輯934之)綠色非均一性校正邏輯934a,其在行緩衝器9(1160j)處發生。因此,在本實施例中,行緩衝器9(1160j)在DPC邏輯932與GNU校正邏輯934a兩者之間共用。
接下來,行緩衝器9(1160j)之輸出(在圖121中被稱為W8)提供至行緩衝器8(1160i)的輸入。如圖所示,行緩衝器8在DPC邏輯932(其提供額外有缺陷像素偵測及校正處理)與雜訊減少區塊934之水平濾波邏輯(934b)之間共用。如本實施例所示,水平濾波器934b可為7分接頭濾波器,如藉由圖121中之濾波器分接頭1165a-1165g所指示,且可組態為有限脈衝回應(FIR)濾波器。如上文所論述,在某些實施例中,雜訊濾波可為邊緣適應性的。舉例而言,水平濾波器可為FIR濾波器,但其中濾波器分接頭僅在中心像素與分接頭處之像素之間的差小於至少部分地取決於雜訊方差之臨限值時使用。
水平濾波邏輯934b之輸出1163(圖121)可提供至垂直濾波邏輯934c(圖122中更詳細地說明)且提供至行緩衝器7(1160h)的輸入。在所說明實施例中,行緩衝器7經組態以在將其輸入W7傳遞至行緩衝器6(1160g)作為輸入W6之前提供延遲(w)。如圖121所示,行緩衝器6在DPC邏輯932與雜訊減少垂直濾波器934c之間共用。
接下來,同時參看圖120、圖122及圖123,行緩衝器之上部子集(即,行緩衝器0-5(1160a-1160f))在雜訊減少垂直濾波器934c(圖122所示)、透鏡遮光校正邏輯936、GOC2邏輯938與解馬賽克邏輯940之間共用。舉例而言,提供延遲(w)之行緩衝器5(1160f)的輸出饋送至行緩衝器4(1160e)。垂直濾波係在行緩衝器4中執行,且行緩衝器4中之垂直濾波器934c部分的輸出W3饋送至行緩衝器3(1160d),以及藉由行緩衝器4所共用之透鏡遮光校正邏輯936、GOC2邏輯938及解馬賽克邏輯940之部分的下游。在本實施例中,垂直濾波邏輯934c可包括五個分接頭1166a-1166e(圖122),但可為可組態的來以部分遞迴(無限脈衝回應(IIR))及非遞迴(FIR)模式兩者操作。舉例而言,當利用所有五個分接頭使得分接頭1166c為中心分接頭時,垂直濾波邏輯934c以部分IIR遞迴模式操作。本實施例亦可選擇利用該五個分接頭中之三者(即,分接頭1166c-1166e,其中分接頭1166d為中心分接頭)來以非遞迴(FIR)模式操作垂直濾波邏輯934c。在一實施例中,可使用與雜訊減少邏輯934相關聯之組態暫存器來指定垂直濾波模式。
接下來,行緩衝器3接收W3輸入信號且在將W2輸出至行緩衝器2(1160c)以及藉由行緩衝器3所共用之透鏡遮光校正邏輯936、GOC2邏輯938及解馬賽克邏輯940之部分的下游之前提供延遲(w)。如圖所示,行緩衝器2亦在垂直濾波器934c、透鏡遮光校正邏輯936、GOC2邏輯938與解馬賽克邏輯940之間共用,且將輸出W1提供至行緩衝器1(1160b)。類似地,行緩衝器1亦在垂直濾波器934c、透鏡遮光校正邏輯936、GOC2邏輯938與解馬賽克邏輯940之間共用,且將輸出W1提供至行緩衝器0(1160a)。解馬賽克邏輯940之輸出910可提供至RGB處理邏輯902之下游以供額外處理,如下文將進一步論述。
應理解,描繪以共用方式配置行緩衝器以使得不同處理單元可同時利用共用之行緩衝器的所說明實施例可顯著減少實施原始處理邏輯900所需之行緩衝器的數目。應瞭解,此可減少用於實施影像處理電路32所需之硬體面積,且由此減少整體設計及製造成本。藉由實例,在某些實施例中,用於在不同之處理組件之間共用行緩衝器的當前說明之技術可將在與不共用行緩衝器之習知實施例相比時所需之行緩衝器的數目減少多達40%至50%或更多。此外,儘管圖120所示之原始像素處理邏輯900的當前說明之實施例利用10個行緩衝器,但應瞭解,可在其他實施例中利用更少或更多之行緩衝器。亦即,圖120所示之實施例僅意欲說明行緩衝器藉以跨越多個處理單元被共用之概念,且不應解釋為將本發明技術僅限於原始像素處理邏輯900。實際上,圖120所示之本發明的態樣可以ISP子系統32之邏輯區塊中的任一者來實施。
圖124為展示用於根據圖120至圖123所示之行緩衝器組態處理原始像素資料之方法1167的流程圖。在步驟1168處開始,原始像素處理邏輯900之行緩衝器可接收原始像素資料(例如,自ISP前端80、記憶體108或兩者)。在步驟1169處,將第一組增益、位移及箝位(GOC1)參數應用於原始像素資料。接下來,在步驟1170處,使用行緩衝器之第一子集(例如,圖120中之行緩衝器6-9)來執行有缺陷像素偵測及校正。此後,在步驟1171處,使用來自行緩衝器之第一子集的至少一行緩衝器(例如,行緩衝器9)來應用綠色非均一性(GNU)校正。接下來,如在步驟1172處所示,亦使用來自第一子集之至少一行緩衝器來應用用於雜訊減少的水平濾波。在圖120所示之實施例中,用以執行GNU校正及水平濾波之來自第一子集的該(等)行緩衝器可為不同的。
方法1167接著繼續至步驟1173,此處使用來自第一子集之至少一行緩衝器以及原始像素處理邏輯900之行緩衝器之第二子集(例如,行緩衝器0-5)之至少一部分來應用用於雜訊減少的垂直濾波。舉例而言,如上文所論述,取決於垂直濾波模式(例如,遞迴或非遞迴),可使用行緩衝器之第二子集的一部分抑或全部。此外,在一實施例中,第二子集可包括不包括於來自步驟1170之行緩衝器之第一子集中的剩餘行緩衝器。在步驟1174處,使用行緩衝器之第二子集以將透鏡遮光校正應用於原始像素資料。接下來,在步驟1175處,使用行緩衝器之第二子集以應用第二組增益、位移及箝位(GOC2)參數,且隨後,亦使用第二組行緩衝器以解馬賽克原始影像資料,如在步驟1176處所示。可接著在步驟1177處在下游發送經解馬賽克之RGB色彩資料以供藉由RGB處理邏輯902進行額外處理,如下文更詳細地論述。
返回參看圖98,現已詳盡地描述了原始像素處理邏輯900(其可輸出RGB影像信號910)之操作,本論述現將集中於描述藉由RGB處理邏輯902對RGB影像信號910的處理。如圖所示,RGB影像信號910可發送至選擇邏輯914及/或記憶體108。RGB處理邏輯902可接收輸入信號916,其可為來自信號910或來自記憶體108如藉由信號912所示之RGB影像資料,此取決於選擇邏輯914的組態。RGB影像資料916可藉由RGB處理邏輯902處理以執行色彩調整操作,包括色彩校正(例如,使用色彩校正矩陣)、用於自動白平衡之色彩增益的施加,以及全域色調映射,等等。
在圖125中說明描繪RGB處理邏輯902之一實施例之更詳細視圖的方塊圖。如圖所示,RGB處理邏輯902包括增益、位移及箝位(GOC)邏輯1178、RGB色彩校正邏輯1179、GOC邏輯1180、RGB伽瑪調整邏輯及色彩空間轉換邏輯1182。輸入信號916首先藉由增益、位移及箝位(GOC)邏輯1178接收。在所說明實施例中,GOC邏輯1178可施加增益以在藉由色彩校正邏輯1179處理之前對R、G或B色彩通道中之一或多者執行自動白平衡。
GOC邏輯1178可類似於原始像素處理邏輯900之GOC邏輯930,惟處理RGB域之色彩分量而非拜耳影像資料之R、B、Gr及Gb分量除外。在運算中,當前像素之輸入值首先位移有正負號之值O[c]且乘以增益G[c],如上文之方程式11所示,其中c表示R、G及B。如上文所論述,增益G[c]可為具有2個整數位元及14個小數位元之16位元無正負號數(例如,2.14浮點表示),且可先前在統計處理(例如,在ISP前端區塊80中)期間判定增益G[c]的值。所計算之像素值Y(基於方程式11)接著根據方程式12裁剪至最小及最大範圍。如上文所論述,變數min[c]及max[c]可分別表示針對最小及最大輸出值的有正負號之16位元「裁剪值」。在一實施例中,GOC邏輯1178亦可經組態以針對每一色彩分量R、G及B維持分別剪裁於最大值及最小值以上及以下的像素之數目的計數。
GOC邏輯1178之輸出接著轉遞至色彩校正邏輯1179。根據當前揭示之技術,色彩校正邏輯1179可經組態以使用色彩校正矩陣(CCM)將色彩校正應用於RGB影像資料。在一實施例中,CCM可為3×3 RGB變換矩陣,但在其他實施例中亦可使用其他尺寸之矩陣(例如,4×3等等)。因此,對具有R、G及B分量之輸入像素執行色彩校正的程序可表達如下:
其中R、G及B表示輸入像素之當前紅色、綠色及藍色值,CCM00-CCM22表示色彩校正矩陣之係數,且R'、G'及B'表示輸入像素的經校正之紅色、綠色及藍色值。因此,校正色彩值可根據下文之方程式97-99予以計算:
R '=(CCM 00×R )+(CCM 01×G )+(CCM 02×B ) (97)
G '=(CCM 10×R )+(CCM 11×G )+(CCM 12×B ) (98)
B '=(CCM 20×R )+(CCM 21×G )+(CCM 22×B ) (99)
可在ISP前端區塊80中之統計處理期間判定CCM之係數(CCM00-CCM22),如上文所論述。在一實施例中,可選擇針對給定色彩通道之係數,使得彼等係數(例如,用於紅色校正之CCM00、CCM01及CCM02)之總和等於1,此情形可幫助維持亮度及色彩平衡。此外,通常選擇係數,使得正增益施加至經校正之色彩。舉例而言,在紅色校正之情況下,係數CCM00可大於1,而係數CCM01及CCM02中之一者或兩者可小於1。以此方式設定係數可增強所得經校正R'值中之紅色(R)分量,同時減去藍色(B)及綠色(G)分量中之一些。應瞭解,此情形可解決可在原本拜耳影像之獲取期間發生之色彩重疊的問題,此係因為用於特定有色像素之經濾光之光的一部分可「滲入」(bleed)至不同色彩之相鄰像素中。在一實施例中,可將CCM之係數提供作為具有4個整數位元及12個小數位元之16位元2補數(以浮點表達為4.12)。另外,色彩校正邏輯1179可在所計算之經校正色彩值超過最大值或低於最小值時提供該等值之裁剪。
RGB色彩校正邏輯1179之輸出接著傳遞至另一GOC邏輯區塊1180。GOC邏輯1180可以與GOC邏輯1178相同的方式予以實施,且因此,此處將不重複所提供之增益、位移及箝位功能的詳細描述。在一實施例中,在色彩校正之後應用GOC邏輯1180可基於經校正色彩值而提供影像資料之自動白平衡,且亦可調整紅色對綠色及藍色對綠色比率之感測器變化。
接下來,GOC邏輯1180之輸出發送至RGB伽瑪調整邏輯1181以供進一步處理。舉例而言,RGB伽瑪調整邏輯1181可提供伽瑪校正、色調映射、直方圖匹配等等。根據所揭示實施例,伽瑪調整邏輯1181可提供輸入RGB值至對應輸出RGB值之映射。舉例而言,伽瑪調整邏輯可提供一組三個查找表,R、G及B分量中之每一者一個表。藉由實例,每一查找表可經組態以儲存10位元值之256個輸入項,每一值表示一輸出位準。表輸入項可均勻地分佈於輸入像素值之範圍內,使得當輸入值落在兩個輸入項之間時,可線性地內插輸出值。在一實施例中,可複製R、G及B之三個查找表中的每一者,使得該等查找表被「雙重緩衝」於記憶體中,由此允許在處理期間使用一個表,同時更新其複本。基於上文所論述之10位元輸出值,應注意,由於本實施例中之伽瑪校正程序,14位元RGB影像信號有效地降取樣至10個位元。
伽瑪調整邏輯1181之輸出可發送至記憶體108及/或色彩空間轉換邏輯1182。色彩空間轉換(CSC)邏輯1182可經組態以將來自伽瑪調整邏輯1181之RGB輸出轉換為YCbCr格式,其中Y表示明度分量,Cb表示藍色差異色度分量,且Cr表示紅色差異色度分量,其中每一者可由於在伽瑪調整操作期間RGB資料自14位元至10位元之位元深度轉換而呈10位元格式。如上文所論述,在一實施例中,伽瑪調整邏輯1181之RGB輸出可降取樣至10位元且由此藉由CSC邏輯1182轉換為10位元YCbCr值,其可接著轉遞至YCbCr處理邏輯904,下文將進一步論述此情形。
可使用色彩空間轉換矩陣(CSCM)來執行自RGB域至YCbCr色彩空間之轉換。舉例而言,在一實施例中,CSCM可為3×3變換矩陣。可根據已知轉換方程式(諸如,BT.601及BT.709標準)來設定CSCM之係數。另外,CSCM係數可基於輸入及輸出之所要範圍而為彈性的。因此,在一些實施例中,可基於在ISP前端區塊80中之統計處理期間所收集的資料來判定及程式化CSCM係數。
對RGB輸入像素執行YCbCr色彩空間轉換的程序可表達如下:
其中R、G及B表示呈10位元形式之輸入像素的當前紅色、綠色及藍色值(例如,如藉由伽瑪調整邏輯1181處理),CSCM00-CSCM22表示色彩空間轉換矩陣之係數,且Y、Cb及Cr表示輸入像素之所得明度及色度分量。因此,Y、Cb及Cr之值可根據下文之方程式101-103予以計算:
Y =(CSCM 00×R )+(CSCM 01×G )+(CSCM 02×B ) (101)
Cb =(CSCM 10×R )+(CSCM 11×G )+(CSCM 12×B ) (102)
Cr =(CSCM 20×R )+(CSCM 21×G )+(CSCM 22×B ) (103)
在色彩空間轉換操作之後,所得YCbCr值可自CSC邏輯1182輸出作為信號918,其可藉由YCbCr處理邏輯904處理,如下文將論述。
在一實施例中,CSCM之係數可為具有4個整數位元及12個小數位元之16位元2補數(4.12)。在另一實施例中,CSC邏輯1182可經進一步組態以將位移施加至Y、Cb及Cr值中之每一者,且將所得值裁剪至最小及最大值。僅藉由實例,在假設YCbCr值呈10位元形式的情況下,位移可在-512至512之範圍內,且最小值及最大值可分別為0及1023。
再次返回參看圖98中之ISP管道邏輯82的方塊圖,YCbCr信號918可發送至選擇邏輯922及/或記憶體108。YCbCr處理邏輯904可接收輸入信號924,其可為來自信號918或來自記憶體108之YCbCr影像資料(如藉由信號920所示),此取決於選擇邏輯922之組態。YCbCr影像資料924可接著藉由YCbCr處理邏輯904處理以用於明度清晰化、色度抑制、色度雜訊減少、色度雜訊減少,以及亮度、對比度及色彩調整,等等。此外,YCbCr處理邏輯904可提供在水平及垂直方向兩者上經處理影像資料之伽瑪映射及按比例縮放。
在圖126中說明描繪YCbCr處理邏輯904之一實施例之更詳細視圖的方塊圖。如圖所示,YCbCr處理邏輯904包括影像清晰化邏輯1183、用於調整亮度、對比度及/或色彩之邏輯1184、YCbCr伽瑪調整邏輯1185、色度整數倍降低取樣邏輯1186及按比例縮放邏輯1187。YCbCr處理邏輯904可經組態以使用1平面、2平面或3平面記憶體組態處理呈4:4:4、4:2:2或4:2:0格式之像素資料。此外,在一實施例中,YCbCr輸入信號924可提供明度及色度資訊作為10位元值。
應瞭解,對1平面、2平面或3平面之參考指代在圖片記憶體中所利用之成像平面的數目。舉例而言,以3平面格式,Y、Cb及Cr分量中之每一者可利用單獨的各別記憶體平面。以2平面格式,可針對明度分量(Y)提供第一平面,且可針對色度分量(Cb及Cr)提供交錯Cb與Cr樣本的第二平面。以1平面格式,記憶體中之單一平面與明度及色度樣本交錯。此外,關於4:4:4、4:2:2及4:2:0格式,可瞭解,4:4:4格式指代該三個YCbCr分量中之每一者係以相同速率取樣之取樣格式。以4:2:2格式,色度分量Cb及Cr係以明度分量Y之取樣速率之一半次取樣,由此在水平方向上將色度分量Cb及Cr的解析度減少一半。類似地,4:2:0格式在垂直及水平方向兩者上次取樣色度分量Cb及Cr。
YCbCr資訊之處理可發生於在來源緩衝器內所界定之作用中來源區域內,其中該作用中來源區域含有「有效」像素資料。舉例而言,參看圖127,說明具有界定於其中之作用中來源區域1189的來源緩衝器1188。在所說明實例中,來源緩衝器可表示提供10位元值之來源像素的4:4:4 1平面格式。可針對明度(Y)樣本及色度樣本(Cb及Cr)個別地指定作用中來源區域1189。因此,應理解,作用中來源區域1189可實際上包括用於明度及色度樣本之多個作用中來源區域。可基於自來源緩衝器之基本位址(0,0) 1190的位移來判定用於明度及色度之作用中來源區域1189的開始。舉例而言,可藉由相對於基本位址1190之x位移1193及y位移1196來界定明度作用中來源區域之開始位置(Lm_X,Lm_Y) 1191。類似地,可藉由相對於基本位址1190之x位移1194及y位移1198來界定色度作用中來源區域之開始位置(Ch_X,Ch_Y) 1192。應注意,在本實例中,分別用於明度及色度之y位移1196及1198可相等。基於開始位置1191,明度作用中來源區域可藉由寬度1195及高度1200來界定,寬度1195及高度1200中之每一者可分別表示在x及y方向上的明度樣本之數目。另外,基於開始位置1192,色度作用中來源區域可藉由寬度1202及高度1204來界定,寬度1202及高度1204中之每一者可分別表示在x及y方向上的色度樣本之數目。
圖128進一步提供展示明度及色度樣本之作用中來源區域可以兩平面格式判定之方式的實例。舉例而言,如圖所示,可藉由由相對於開始位置1191之寬度1195及高度1200所指定之區域在第一來源緩衝器1188(具有基本位址1190)中界定明度作用中來源區域1189。色度作用中來源區域1208可界定於第二來源緩衝器1206(具有基本位址1190)中,作為藉由相對於開始位置1192之寬度1202及高度1204所指定的區域。
記住以上要點且返回參看圖126,YCbCr信號924首先藉由影像清晰化邏輯1183接收。影像清晰化邏輯1183可經組態以執行圖片清晰化及邊緣增強處理以累加影像中的紋理及邊緣細節。應瞭解,影像清晰化可改良所感知的影像解析度。然而,通常需要使影像中之現有雜訊並不偵測為紋理及/或邊緣,且由此不在清晰化程序期間放大。
根據本發明技術,影像清晰化邏輯1183可對YCbCr信號之明度(Y)分量使用多尺度不清晰遮罩濾波器執行圖片清晰化。在一實施例中,可提供差異尺度大小之兩個或兩個以上低通高斯濾波器。舉例而言,在提供兩個高斯濾波器之實施例中,自具有第二半徑(y)之第二高斯濾波器的輸出減去具有第一半徑(x)之第一高斯濾波器的輸出(例如,高斯模糊),其中x大於y,以產生不清晰遮罩。另外,亦可藉由自Y輸入減去高斯濾波器之輸出而獲得不清晰遮罩。在某些實施例中,技術亦可提供可使用不清晰遮罩執行之適應性核化臨限值(coring threshold)比較操作,使得基於該(等)比較之結果,增益量可加至基本影像,該基本影像可選擇為原本Y輸入影像或高斯濾波器中之一者的輸出,以產生最終輸出。
參看圖129,說明描繪根據當前所揭示之技術之實施例的用於執行影像清晰化之例示性邏輯1210的方塊圖。邏輯1210表示可應用於輸入明度影像Yin之多尺度不清晰濾波遮罩。舉例而言,如圖所示,Yin係藉由兩個低通高斯濾波器1212(G1)及1214(G2)接收且處理。在本實例中,濾波器1212可為3×3濾波器,且濾波器1214可為5×5濾波器。然而,應瞭解,在額外實施例中,亦可使用包括不同尺度之濾波器的兩個以上高斯濾波器(例如,7×7、9×9等)。應瞭解,歸因於低通濾波程序,高頻分量(其通常對應於雜訊)可自G1及G2之輸出移除以產生「不清晰」影像(G1out及G2out)。如下文將論述,使用不清晰輸入影像作為基本影像允許作為清晰化濾波器之部分的雜訊減少。
3×3高斯濾波器1212及5×5高斯濾波器1214可如下文所示而定義:
僅藉由實例,高斯濾波器G1及G2之值可在一實施例中選擇如下:
基於Yin、G1out及G2out,可產生三個不清晰遮罩Sharp1、Sharp2及Sharp3。Sharp1可被判定為自高斯濾波器1212之不清晰影像G1out減去高斯濾波器1214之不清晰影像G2out。因為Sharp1基本上為兩個低通濾波器之間的差,所以其可被稱為「中頻帶」遮罩,此係因為較高頻率之雜訊分量已在G1out及G2out不清晰影像中被濾出。另外,可藉由自輸入明度影像Yin減去G2out而計算Sharp2,且可藉由自輸入明度影像Yin減去G1out而計算Sharp3。如下文將論述,可使用不清晰遮罩Sharp1、Sharp2及Sharp3來應用適應性臨限值核化方案。
參考選擇邏輯1216,可基於控制信號UnsharpSel選擇基本影像。在所說明實施例中,基本影像可為輸入影像Yin抑或濾波輸出G1out或G2out。應瞭解,當原本影像具有高雜訊方差(例如,幾乎與信號方差一樣高)時,在清晰化時使用原本影像Yin作為基本影像可能不會在清晰化期間充分地提供雜訊分量的減少。因此,當在輸入影像中偵測特定臨限值之雜訊含量時,選擇邏輯1216可經調適以選擇低通濾波輸出G1out或G2out中之一者(已自其減少可包括雜訊的高頻含量)。在一實施例中,可藉由分析在ISP前端區塊80中之統計處理期間所獲取的統計資料而判定控制信號UnsharpSel之值以判定影像的雜訊含量。藉由實例,若輸入影像Yin具有低雜訊含量,使得將可能由於清晰化程序而不會累加表觀雜訊,則可將輸入影像Yin選擇為基本影像(例如,UnsharpSel=0)。若輸入影像Yin被判定為含有顯著位準之雜訊,使得清晰化程序可放大雜訊,則可選擇濾波影像G1out或G2out中之一者(例如,分別地,UnsharpSel=1或2)。因此,藉由應用用於選擇基本影像之適應性技術,邏輯1210基本上提供雜訊減少功能。
接下來,可根據適應性核化臨限值方案將增益施加至Sharp1、Sharp2及Sharp3遮罩中之一或多者,如下文所描述。接下來,可藉由比較器區塊1218、1220及1222來比較不清晰值Sharp1、Sharp2及Sharp3與各種臨限值SharpThd1、SharpThd2及SharpThd3(未必分別)。舉例而言,總是在比較器區塊1218處比較Sharp1值與SharpThd1。關於比較器區塊1220,可比較臨限值SharpThd2與Sharp1抑或Sharp2,此取決於選擇邏輯1226。舉例而言,選擇邏輯1226可取決於控制信號SharpCmp2之狀態而選擇Sharp1或Sharp2(例如,SharpCmp2=1選擇Sharp1;SharpCmp2=0選擇Sharp2)。舉例而言,在一實施例中,可取決於輸入影像(Yin)之雜訊方差/含量而判定SharpCmp2的狀態。
在所說明實施例中,設定SharpCmp2及SharpCmp3值以選擇Sharp1通常為較佳的,除非偵測影像資料具有相對低的雜訊量。此係因為係高斯低通濾波器G1及G2之輸出之間的差之Sharp1通常對雜訊較不敏感,且由此可幫助減少SharpAmt1、SharpAmt2及SharpAmt3值歸因於「有雜訊」影像資料中之雜訊位準波動而變化的量。舉例而言,若原本影像具有高雜訊方差,則在使用固定臨限值時可能不會捕捉到高頻分量中之一些,且由此其可在清晰化程序期間放大。因此,若輸入影像之雜訊含量係高的,則雜訊含量中之一些可存在於Sharp2中。在此等情形中,SharpCmp2可設定為1以選擇中頻帶遮罩Sharp1,中頻帶遮罩Sharp1如上文所論述歸因於為兩個低通濾波器輸出之間的差而具有減少的高頻含量且由此對雜訊較不敏感。
應瞭解,可藉由選擇邏輯1224在SharpCmp3之控制下將類似程序應用於Sharp1抑或Sharp3的選擇。在一實施例中,SharpCmp2及SharpCmp3可藉由預設而設定為1(例如,使用Sharp1),且僅針對識別為具有大體上低之雜訊方差的彼等輸入影像設定為0。此情形基本上提供適應性核化臨限值方案,其中比較值(Sharp1、Sharp2或Sharp3)之選擇基於輸入影像之雜訊方差為適應性的。
基於比較器區塊1218、1220及1222之輸出,可藉由將有增益之不清晰遮罩應用於基本影像(例如,經由邏輯1216選擇)而判定清晰化之輸出影像Ysharp。舉例而言,首先參考比較器區塊1222,比較SharpThd3與藉由選擇邏輯1224所提供之B輸入,B輸入在本文中應被稱為「SharpAbs」且可取決於SharpCmp3之狀態而等於Sharp1抑或Sharp3。若SharpAbs大於臨限值SharpThd3,則將增益SharpAmt3施加至Sharp3,且所得值加至基本影像。若SharpAbs小於臨限值SharpThd3,則可施加衰減增益Att3。在一實施例中,衰減增益Att3可判定如下:
其中,SharpAbs係Sharp1抑或Sharp3,如藉由選擇邏輯1224判定。與完全增益(SharpAmt3)抑或衰減增益(Att3)求和之基本影像的選擇係藉由選擇邏輯1228基於比較器區塊1222之輸出執行。應瞭解,衰減增益之使用可解決以下情形:SharpAbs不大於臨限值(例如,SharpThd3),但儘管如此影像之雜訊方差仍接近給定臨限值。此情形可幫助減少清晰與不清晰像素之間的顯著過渡。舉例而言,若在此情形下在無衰減增益的情況下傳遞影像資料,則所得像素可表現為有缺陷像素(例如,卡點像素)。
接下來,可關於比較器區塊1220應用類似程序。舉例而言,取決於SharpCmp2之狀態,選擇邏輯1226可提供Sharp1抑或Sharp2作為至比較器區塊1220之輸入,比較該輸入與臨限值SharpThd2。取決於比較器區塊1220之輸出,增益SharpAmt2抑或基於SharpAmt2之衰減增益Att2施加至Sharp2且加至上文所論述之選擇邏輯1228的輸出。應瞭解,可以類似於上文之方程式104之方式計算衰減增益Att2,惟增益SharpAmt2及臨限值SharpThd2係關於SharpAbs(其可選擇為Sharp1抑或Sharp2)而施加除外。
此後,增益SharpAmt1或衰減增益Att1施加至Sharp1,且所得值與選擇邏輯1230的輸出求和以產生清晰化之像素輸出Ysharp(自選擇邏輯1232)。施加增益SharpAmt1抑或衰減增益Att1之選擇可基於比較器區塊1218之輸出而判定,比較器區塊1218比較Sharp1與臨限值SharpThd1。又,可以類似於上文之方程式104之方式判定衰減增益Att1,惟增益SharpAmt1及臨限值SharpThd1係關於Sharp1而施加除外。使用該三個遮罩中之每一者所按比例縮放的所得清晰化像素值加至輸入像素Yin以產生清晰化之輸出Ysharp,輸出Ysharp在一實施例中可裁剪至10個位元(假設YCbCr處理以10位元精確度發生)。
應瞭解,與習知不清晰遮蔽技術相比,本發明中所闡述之影像清晰化技術可提供改良紋理及邊緣的增強同時亦減少輸出影像中之雜訊。詳言之,本發明技術在如下應用中係非常合適的:使用(例如)CMOS影像感測器所俘獲之影像展現不良的信雜比(諸如,使用整合至攜帶型裝置(例如,行動電話)中之較低解析度相機在低照明條件下所獲取的影像)。舉例而言,當雜訊方差與信號方差相當時,難以使用固定臨限值以用於清晰化,此係因為雜訊分量中之一些可連同紋理及邊緣一起清晰化。因此,本文所提供之技術(如上文所論述)可使用多尺度高斯濾波器對來自輸入影像之雜訊濾波以自不清晰影像(例如,G1out及G2out)提取特徵,以便提供亦展現減少之雜訊含量的清晰化之影像。
在繼續之前,應理解,所說明之邏輯1210意欲提供本發明技術之僅一例示性實施例。在其他實施例中,額外或較少之特徵可藉由影像清晰化邏輯1183提供。舉例而言,在一些實施例中,並非施加衰減增益,而是邏輯1210可僅傳遞基本值。另外,一些實施例可能不包括選擇邏輯區塊1224、1226或1216。舉例而言,比較器區塊1220及1222可僅分別接收Sharp2及Sharp3值,而非分別接收來自選擇邏輯區塊1224及1226的選擇輸出。儘管此等實施例可能並未提供如圖129所示之實施一樣穩固的清晰化及/或雜訊減少特徵,但應瞭解,此等設計選擇可為成本及/或商業相關約束的結果。
在本實施例中,一旦獲得清晰化之影像輸出YSharp,影像清晰化邏輯1183隨即亦可提供邊緣增強及色度抑制特徵。下文現將論述此等額外特徵中之每一者。首先參看圖130,根據一實施例說明用於執行可在圖129之清晰化邏輯1210下游實施的邊緣增強之例示性邏輯1234。如圖所示,原本輸入值Yin係藉由索貝爾(Sobel)濾波器1236處理以供邊緣偵測。索貝爾濾波器1236可基於原本影像之3×3像素區塊(下文中被稱為「A」)判定梯度值YEdge,其中Yin為3×3區塊的中心像素。在一實施例中,索貝爾濾波器1236可藉由對原本影像資料捲繞以偵測水平及垂直方向上之改變而計算YEdge。此程序係在下文於方程式105-107中展示。
其中Sx 及Sy 分別表示用於在水平及垂直方向上之梯度邊緣強度偵測的矩陣運算子,且其中Gx 及Gy 分別表示含有水平及垂直改變導出物的梯度影像。因此,將輸出YEdge判定為Gx 與Gy 的乘積。
接著YEdge連同中頻帶Sharp1遮罩一起由選擇邏輯1240接收,如上文在圖129中所論述。基於控制信號EdgeCmp,在比較器區塊1238處,比較Sharp1抑或YEdge與臨限值EdgeThd。可(例如)基於影像之雜訊含量來判定EdgeCmp之狀態,由此提供用於邊緣偵測及增強的適應性核化臨限值方案。接下來,可將比較器區塊1238之輸出提供至選擇邏輯1242,且可施加完全增益抑或衰減增益。舉例而言,當至比較器區塊1238之所選擇B輸入(Sharp1或YEdge)高於EdgeThd時,YEdge乘以邊緣增益EdgeAmt,以判定待施加之邊緣增強的量。若在比較器區塊1238處之B輸入小於EdgeThd,則衰減邊緣增益AttEdge可被施加以避免在邊緣增強像素與原本像素之間的顯著過渡。應瞭解,可以與上文之方程式104所示類似的方式來計算AttEdge,但其中EdgeAmt及EdgeThd係取決於選擇邏輯1240的輸出而施加至「SharpAbs」(其可為Sharp1或YEdge)。因此,使用增益(EdgeAmt)抑或衰減增益(AttEdge)所增強之邊緣像素可加至YSharp(圖129之邏輯1210的輸出)以獲得邊緣增強之輸出像素Yout,邊緣增強之輸出像素Yout在一實施例中可裁剪至10個位元(假設YCbCr處理以10位元精確度發生)。
關於藉由影像清晰化邏輯1183所提供之色度抑制特徵,此等特徵可在明度邊緣處使色度衰減。通常,可藉由取決於自明度清晰化及/或上文所論述之邊緣增強步驟所獲得的值(YSharp、Yout)施加小於1之色度增益(衰減因子)而執行色度抑制。藉由實例,圖131展示曲線圖1250,曲線圖1250包括表示可針對對應清晰化明度值(YSharp)所選擇之色度增益的曲線1252。藉由曲線圖1250所表示之資料可實施為YSharp值及介於0與1之間的對應色度增益(衰減因子)的查找表。查找表係用以近似曲線1252。針對共同定位於查找表中之兩個衰減因子之間的YSharp值,線性內插可應用於對應於高於及低於當前YSharp值之YSharp值的兩個衰減因子。此外,在其他實施例中,輸入明度值亦可選擇為藉由邏輯1210所判定之Sharp1、Sharp2或Sharp3值中的一者(如上文在圖129中所論述),或藉由邏輯1234所判定之YEdge值(如圖130所論述)。
接下來,藉由亮度、對比度及色彩(BCC)調整邏輯1184來處理影像清晰化邏輯1183(圖126)之輸出。在圖132中說明描繪BCC調整邏輯1184之一實施例的功能方塊圖。如圖所示,邏輯1184包括亮度及對比度處理區塊1262、全域色調控制區塊1264及飽和度控制區塊1266。當前所說明之實施例提供YCbCr資料以10位元精確度之處理,但其他實施例可利用不同的位元深度。下文論述區塊1262、1264及1266中之每一者的功能。
首先參考亮度及對比度處理區塊1262,首先自明度(Y)資料減去位移YOffset以將黑階設定為零。進行此以確保對比度調整不會更改黑階。接下來,明度值乘以對比度增益值以應用對比度控制。藉由實例,對比度增益值可為具有2個整數位元及10個小數位元之12位元無正負號數,由此提供高達像素值之4倍的對比度增益範圍。此後,可藉由自明度資料加上(或減去)亮度位移值而實施亮度調整。藉由實例,本實施例中之亮度位移可為具有介於-512至+512之間的範圍之10位元2補數值。此外,應注意,亮度調整係在對比度調整之後執行,以便避免在改變對比度時使DC位移變化。此後,將初始YOffset加回至經調整之明度資料以重新定位黑階。
區塊1264及1266基於Cb及Cr資料之色調特性而提供色彩調整。如圖所示,位移512(假設10位元處理)首先自Cb及Cr資料減去以將範圍定位至大約零。接著根據以下方程式來調整色調:
Cbadj =Cb cos(θ)+Cr sin(θ), (108)
Cradj =Cr cos(θ)-Cb sin(θ), (109)
其中Cbadj 及Cradj 表示經調整之Cb及Cr值,且其中θ表示色調角度,其可計算如下:
以上運算係藉由全域色調控制區塊1264內之邏輯描繪,且可藉由以下矩陣運算來表示:
其中Ka=cos(θ)、Kb=sin(θ),且θ係在上文於方程式110中定義。
接下來,飽和度控制可應用於Cbadj 及Cradj 值,如藉由飽和度控制區塊1266所示。在所說明實施例中,藉由針對Cb及Cr值中之每一者施加全域飽和度乘數及基於色調之飽和度乘數來執行飽和度控制。基於色調之飽和度控制可改良色彩再現。色彩之色調可表示於YCbCr色彩空間中,如藉由圖133中之色輪圖1270所示。應瞭解,可藉由將HSV色彩空間(色調、飽和度及強度)中之相同色輪移位大約109度而導出YCbCr色調及飽和度色輪1270。如圖所示,圖1270包括表示在0至1之範圍內之飽和度乘數(S)的圓周值,以及表示θ(如上文所定義,在介於0至360°之間的範圍內)之角值。每一θ可表示不同之色彩(例如,49°=洋紅色、109°=紅色、229°=綠色等)。在特定色調角度θ下之色彩的色調可藉由選擇適當之飽和度乘數S而調整。
返回參看圖132,色調角度θ(在全域色調控制區塊1264中所計算)可用作Cb飽和度查找表1268及Cr飽和度查找表1269的索引。在一實施例中,飽和度查找表1268及1269可含有在自0變化至360°之色調中均勻分佈的256個飽和度值(例如,第一查找表輸入項處於0°且最後輸入項處於360°),且可經由查找表中之飽和度值恰好在當前色調角度θ下方及上方的線性內插而判定在給定像素處的飽和度值S。藉由將全域飽和度值(其可為針對Cb及Cr中之每一者的全域常數)與所判定之基於色調的飽和度值相乘來獲得針對Cb及Cr分量中之每一者的最終飽和度值。因此,可藉由將Cbadj 及Cradj 與其各別最終飽和度值相乘來判定最終經校正Cb'及Cr'值,如在基於色調之飽和度控制區塊1266中所示。
此後,將BCC邏輯1184之輸出傳遞至YCbCr伽瑪調整邏輯1185,如圖126所示。在一實施例中,伽瑪調整邏輯1185可針對Y、Cb及Cr通道提供非線性映射功能。舉例而言,輸入Y、Cb及Cr值映射至對應輸出值。又,在假設YCbCr資料係以10位元處理的情況下,可利用內插10位元256輸入項查找表。可提供三個此等查找表,其中Y、Cb及Cr通道中之每一者有一個查找表。該256個輸入項中之每一者可均勻地分佈,且輸出可藉由映射至索引之輸出值恰好在當前輸入索引上方及下方的線性內插而判定。在一些實施例中,亦可使用具有1024個輸入項(用於10位元資料)之非內插查找表,但其可具有顯著更大的記憶體要求。應瞭解,藉由調整查找表之輸出值,YCbCr伽瑪調整功能亦可用以執行某些影像濾波器效應,諸如黑白、棕色色調、負影像、曝曬等等。
接下來,色度整數倍降低取樣可藉由色度整數倍降低取樣邏輯1186應用於伽瑪調整邏輯1185的輸出。在一實施例中,色度整數倍降低取樣邏輯1186可經組態以執行水平整數倍降低取樣而將YCbCr資料自4:4:4格式轉換至4:2:2格式,其中色度(Cr及Cr)資訊係以明度資料之半速率次取樣。僅藉由實例,可藉由將7分接頭低通濾波器(諸如,半頻帶蘭索士(lanczos)濾波器)應用於一組7個水平像素而執行整數倍降低取樣,如下文所示:
其中in(i)表示輸入像素(Cb或Cr),且C0-C6表示7分接頭濾波器之濾波係數。每一輸入像素具有獨立的濾波器係數(C0-C6),以允許色度濾波樣本之彈性相位位移。
此外,在一些例子中,色度整數倍降低取樣亦可在無濾波之情況下執行。當來源影像最初以4:2:2格式接收但升取樣至4:4:4格式以供YCbCr處理時,此可為有用的。在此狀況下,所得的經整數倍降低取樣之4:2:2影像與原本影像相同。
隨後,自色度整數倍降低取樣邏輯1186所輸出之YCbCr資料可在自YCbCr處理區塊904輸出之前使用按比例縮放邏輯1187來按比例縮放。按比例縮放邏輯1187之功能可類似於在前端像素處理單元150之分格化儲存補償濾波器652中的按比例縮放邏輯709、710之功能性,如上文參看圖59所論述。舉例而言,按比例縮放邏輯1187可執行水平及垂直按比例縮放作為兩個步驟。在一實施例中,5分接頭多相濾波器可用於垂直按比例縮放,且9分接頭多相濾波器可用於水平按比例縮放。多分接頭多相濾波器可將自來源影像所選擇之像素乘以加權因子(例如,濾波器係數),且接著對輸出求和以形成目的地像素。所選擇之像素可取決於當前像素位置及濾波器分接頭之數目而選擇。舉例而言,在垂直5分接頭濾波器之情況下,當前像素之每一垂直側上的兩個相鄰像素可被選擇,且在水平9分接頭濾波器之情況下,當前像素之每一水平側上的四個相鄰像素可被選擇。濾波係數可自查找表提供,且可藉由當前像素間小數位置判定。接著自YCbCr處理區塊904輸出按比例縮放邏輯1187之輸出926。
返回至圖98,經處理輸出信號926可發送至記憶體108,或根據圖7所示之影像處理電路32的實施例,可作為影像信號114自ISP管道處理邏輯82輸出至顯示硬體(例如,顯示器28)以供使用者檢視,或至壓縮引擎(例如,編碼器118)。在一些實施例中,影像信號114可藉由圖形處理單元及/或壓縮引擎進一步處理,且在解壓縮且提供至顯示器之前被儲存。另外,一或多個圖框緩衝器亦可被提供以控制輸出至顯示器之影像資料的緩衝,尤其關於視訊影像資料。此外,在提供ISP後端處理邏輯120之實施例(例如,圖8)中,可在下游發送影像信號114以供額外之後處理步驟,如以下章節中將論述。
ISP後端處理邏輯
上文已詳細描述了ISP前端邏輯80及ISP管線82,本論述現將焦點移至上文在圖8中所描繪之ISP後端處理邏輯120。如上文所論述,ISP後端邏輯120通常用以接收藉由ISP管線82所提供或來自記憶體108之經處理影像資料(信號124),且執行額外的影像後處理操作(亦即,在將影像資料輸出至顯示裝置28之前)。
在圖134中描繪展示ISP後端邏輯120之一實施例的方塊圖。如所說明,ISP後端處理邏輯120可包括特徵偵測邏輯2200,局域色調映射邏輯(LTM)2202,亮度、對比度及色彩調整邏輯2204,按比例縮放邏輯2206及後端統計單元2208。特徵偵測邏輯2200在一實施例中可包括面部偵測邏輯,且可經組態以識別影像圖框中之面部/面部特徵的(多個)位置,此處藉由參考數字2201所示。在其他實施例中,特徵偵測邏輯2200亦可經組態以偵測其他類型之特徵(諸如,影像圖框中之物件的隅角)的位置。舉例而言,此資料可用以識別連續影像圖框中之特徵的位置以便判定圖框之間的全域運動之估計,其可接著用以執行某些影像處理操作(諸如,影像對位)。在一實施例中,隅角特徵及其類似者之識別針對組合多個影像圖框之演算法(諸如,在某些高動態範圍(HDR)成像演算法中)以及某些全景拼接演算法可尤其有用。
為簡單性起見,特徵偵測邏輯2200將在下文之描述中被稱為面部偵測邏輯。然而,應理解,邏輯2200不欲僅限於面部偵測邏輯,且可經組態以代替面部特徵或除了面部特徵之外亦偵測其他類型之特徵。舉例而言,在一實施例中,邏輯2200可偵測隅角特徵(如上文所論述),且特徵偵測邏輯2200之輸出2201可包括隅角特徵。
面部偵測邏輯2200可經組態以接收藉由ISP管線82所提供之YCC影像資料114或可自按比例縮放邏輯2206接收減少解析度影像(藉由信號2207所表示),且偵測對應於所選擇之影像資料的影像圖框內之面部及/或面部特徵之地點及位置。如圖134所示,至面部偵測邏輯2200之輸入可包括選擇電路2196,選擇電路2196自ISP管線82接收YCC影像資料114且自按比例縮放邏輯2206接收減少解析度影像2207。可藉由ISP控制邏輯84(例如,執行韌體之處理器)提供之控制信號可判定哪一輸入提供至面部偵測邏輯2200。
面部/面部特徵之所偵測位置(此處藉由信號2201所表示)可作為回饋資料提供至一或多個上游處理單元以及一或多個下游單元。藉由實例,資料2201可表示面部或面部特徵出現於本影像圖框內之位置。在一些實施例中,資料2201可包括減少解析度變換影像,該影像可提供用於面部偵測之額外資訊。此外,在一些實施例中,面部偵測邏輯2200可利用面部偵測演算法(諸如,Viola-Jones面部/物件偵測演算法),或可利用適用於偵測影像中之面部特徵的任何其他演算法、變換,或圖案偵測/匹配技術。
在所說明實施例中,面部偵測資料2201可回饋至控制邏輯84,控制邏輯84可表示執行用於控制影像處理電路32之韌體的處理器。在一實施例中,控制邏輯84可將資料2201提供至前端統計控制迴路(例如,包括圖10之ISP前端80邏輯的前端統計處理單元(142及144)),藉此統計處理單元142或144可利用回饋資料2201來定位適當的(多個)視窗及/或選擇用於自動白平衡、自動曝光及自動聚焦處理之特定發光塊。應瞭解,改良含有面部特徵之影像區域的色彩及/或色調準確度可產生表現為使檢視者更審美愉快的影像。如下文將進一步論述,資料2201亦可提供至LTM邏輯2202、後端統計單元2208以及編碼器/解碼器區塊118。
LTM邏輯2202亦可自ISP管線82接收YCC影像資料114。如上文所論述,LTM邏輯2202可經組態以將色調映射應用於影像資料114。應瞭解,色調映射技術可用於影像處理應用中以將一組像素值映射至另一組。在輸入影像及輸出影像具有相同之位元精確度之例子中,色調映射可能並非必要的,但一些實施例可在無壓縮之情況下應用色調映射以便改良輸出影像中的對比度特性(例如,以使明亮區域表現為較暗且黑暗區域表現為較亮)。然而,當輸入影像及輸出影像具有不同之位元精確度時,可應用色調映射以將輸入影像值映射至輸入影像之輸出範圍的對應值。舉例而言,場景可具有25,000:1或更大之動態範圍,而壓縮標準可為顯示目的允許低得多的範圍(例如,256:1),且有時為印刷而允許甚至更低的範圍(例如,100:1)。
因此,僅藉由實例,色調映射在一情形中可為有用的,諸如當表達為10位元或更大之精確度的影像資料待以較低精確度格式輸出(諸如,8位元JPEG影像)時。另外,當應用於高動態範圍(HDR)影像時,色調映射可為尤其有用的。在數位影像處理中,藉由以不同之曝光位準獲取場景之多個影像且組合或合成影像以產生具有高於可使用單次曝光達成之動態範圍的動態範圍之影像,可產生HDR影像。此外,在一些成像系統中,影像感測器(例如,感測器90a、90b)可經組態以獲取HDR影像而無需組合多個影像來產生複合HDR影像。
所說明實施例之LTM邏輯2202可利用可基於影像圖框內之局域特徵判定的局域色調映射運算子(例如,空間變化的)。舉例而言,局域色調映射運算子可為基於區域的,且可基於影像圖框之特定區域內的內容而局域地改變。僅藉由實例,局域色調映射運算子可基於梯度域HDR壓縮、相片色調複製或Retinex影像處理。
應瞭解,當應用於影像時,局域色調映射技術可通常產生具有改良之對比度特性且可相對於使用全域色調映射所處理之影像表現為使檢視者更審美愉快的輸出影像。圖135及圖136說明與全域色調映射相關聯之缺點中的一些。舉例而言,參看圖135,曲線圖2400表示具有輸入範圍2401之輸入影像至輸出範圍2403的色調映射。輸入影像中之色調的範圍係藉由曲線2402表示,其中值2404表示影像之明亮區域且值2406表示影像的黑暗區域。
藉由實例,在一實施例中,輸入影像之範圍2401可具有12位元精確度(0-4095),且可映射至具有8位元精確度(0-255,例如,JPEG影像)的輸出範圍2403。圖135展示線性色調映射程序,其中曲線2402線性地映射至曲線2410。如所說明,圖135所示之色調映射程序的結果導致對應於輸入影像之明亮區域的範圍2404壓縮至較小範圍2412,且亦導致對應於輸入影像之黑暗區域的範圍2406壓縮至較小範圍2414。黑暗區域(例如,陰影)及明亮區域之色調範圍的減小可能不利地影響對比度性質,且可表現為使檢視者審美不愉快。
參看圖136,如圖176A所示,解決與「明亮」範圍2404之壓縮(壓縮至範圍2412)及「黑暗」範圍2406之壓縮(壓縮至範圍2414)相關聯的問題之一方法係使用非線性色調映射技術。舉例而言,在圖136中,使用非線性「S」形曲線(或S曲線)2422映射表示輸入影像之色調曲線2402。由於非線性映射,輸入範圍2404之明亮部分映射至輸出範圍2424之明亮部分,且類似地,輸入範圍2406之黑暗部分映射至輸出範圍2426的黑暗部分。如圖所示,圖136之輸出影像的明亮範圍2424及黑暗範圍2426大於圖135之輸出影像的明亮範圍2412及黑暗範圍2414,且由此保留輸入影像之更多明亮及黑暗內容。然而,歸因於圖136之映射技術的非線性(例如,S曲線)態樣,輸出影像之中間範圍值2428可表現得較平坦,其亦可使檢視者審美不愉快。
因此,本發明之實施例可使用局域色調映射運算子實施局域色調映射來處理當前影像圖框的離散區段,該影像圖框可基於影像內之局域特徵(諸如,亮度特性)分割為多個區域。舉例而言,如圖137所示,藉由ISP後端邏輯120所接收之影像圖框的部分2430可包括明亮區域2432及黑暗區域2434。藉由實例,明亮區域2432可表示影像之光區域(諸如,天空或地平線),而黑暗區域可表示相對較黑暗之影像區域(諸如,前景或風景)。局域色調映射可針對區域2432及2434中之每一者單獨應用以產生相對於上文所論述之全域色調映射技術保留輸入影像之更大動態範圍的輸出影像,由此改良局域對比度且提供使檢視者更審美愉快的輸出影像。
在圖138及圖139中藉由實例展示局域色調映射可在本實施例中實施之方式的實例。特定言之,圖138描繪可在一些例子中導致有限輸出範圍之習知局域色調映射技術,且圖139描繪可藉由LTM邏輯2202實施的可使用全輸出範圍的適應性局域色調映射程序(即使輸入範圍之一部分未藉由影像圖框使用)。
首先參看圖138,曲線圖2440表示將局域色調映射應用於較高位元精確度之輸入影像以產生較低位元精確度的輸出影像。舉例而言,在所說明實例中,較高位元精確度之輸入影像資料可為經色調映射以產生8位元輸出(具有256個輸出值(例如,0-255))(此處藉由範圍2444表示)的12位元影像資料(具有4096個輸入值(例如,值0-4095))(如藉由範圍2442表示)。應理解,位元深度僅意謂提供實例,且不應解釋為以任何方式限制。舉例而言,在其他實施例中,輸入影像可為8位元、10位元、14位元或16位元等,且輸出影像可具有大於或小於8位元精確度的位元深度。
此處,假設局域色調映射所應用於之影像區域僅利用全輸入動態範圍之一部分,諸如藉由值0-1023所表示的範圍2448。舉例而言,此等輸入值可對應於圖137所示之黑暗區域2434的值。圖138展示4096(12位元)輸入值至256(8位元)輸出值的線性映射。因此,在自0變化至4095之值映射至輸出動態範圍2444之值0-255的同時,全輸入範圍2442之未使用部分2450(值1024-4095)映射至輸出範圍2444的部分2454(值64-255),藉此僅留下輸出值0-63(輸出範圍2444之部分2452)可用於表示輸入範圍的經利用部分2448(值0-1023)。換言之,此線性局域色調映射技術不考慮是否映射未使用值或值範圍。此導致輸出值(例如,2444)之一部分(例如,2454)經分派以用於表示實際上不存在於本局域色調映射操作(例如,曲線圖2440)所施加至之影像圖框區域(例如,2434)中的輸入值,藉此減少可用以表達存在於經處理當前區域中之輸入值(例如,範圍2448)的可用輸出值(例如,2452)。
記住前述內容,圖139說明可根據本發明之實施例實施的局域色調映射技術。此處,在執行輸入範圍2442(例如,12位元)至輸出範圍2444(例如,8位元)之映射之前,LTM邏輯2202可經組態以首先判定輸入範圍2442的經利用範圍。舉例而言,假設區域為大體上黑暗區域,對應於在彼區域內之色彩的輸入值僅可利用全範圍2442的子範圍,諸如2448(例如,值0-1023)。亦即,子範圍2448表示存在於經處理影像圖框之特定區域中的實際動態範圍。因此,由於值1024-4095(未使用之子範圍2450)未用於此區域中,因此經利用範圍2448可首先經映射且擴展以利用全範圍2442,如藉由擴展程序2472所示。亦即,因為值1024-4095未用於經處理影像的當前區域內,所以其可用以表達經利用部分(例如,0-1023)。結果,可使用額外值(此處近似為額外輸入值的三倍)來表達輸入範圍之經利用部分2448。
接下來,如藉由程序2474所示,擴展之經利用輸入範圍(擴展至值0-4095)可隨後映射至輸出值0-255(輸出範圍2444)。因此,如圖139所描繪,由於首先擴展輸入值之經利用範圍2448來使用全輸入範圍(0-4095),可使用全輸出範圍2444(值0-255)而非輸出範圍之僅一部分(如圖138所示)來表達輸入值的經利用範圍2448。
在繼續之前,應注意,儘管被稱為局域色調映射區塊,但LTM邏輯2202亦可經組態以在一些例子中實施全域色調映射。舉例而言,在影像圖框包括具有大體上均一特性之影像場景(例如,天空之場景)的情況下,色調映射所應用於之區域可包括整個圖框。亦即,同一色調映射運算子可應用於圖框的所有像素。返回至圖134,LTM邏輯2202亦可自面部偵測邏輯2200接收資料2201,且在一些例子中可利用此資料來識別當前影像圖框內的被應用色調映射之一或多個局域區域。因此,來自應用上文所述之局域色調映射技術中之一或多者的最終結果可為使檢視者更審美愉快的影像。
LTM邏輯2202之輸出可提供至亮度、對比度及色彩調整(BCC)邏輯2204。在所描繪實施例中,BCC邏輯2204可與ISP管線之YCbCr處理邏輯904的BCC邏輯1184大體上相同來實施,如圖132所示,且可提供大體上類似之功能性來提供亮度、對比度、色調及/或飽和度控制。因此,為避免冗餘,本實施例之BCC邏輯2204並未在此處再描述,但應被理解為與圖132之先前所述的BCC邏輯1184相同。
接下來,按比例縮放邏輯2206可接收BCC邏輯2204之輸出,且可經組態以按比例縮放表示當前影像圖框的影像資料。舉例而言,當影像圖框之實際大小或解析度(例如,以像素為單位)不同於預期或所要輸出大小時,按比例縮放邏輯2206可相應地按比例縮放數位影像以達成所要大小或解析度的輸出影像。如圖所示,按比例縮放邏輯2206之輸出126可發送至顯示裝置28以供使用者檢視或發送至記憶體108。另外,輸出126亦可提供至壓縮/解壓縮引擎118以用於編碼/解碼影像資料。經編碼之影像資料可以壓縮格式儲存且接著稍後在顯示於顯示器28裝置上之前被解壓縮。
此外,在一些實施例中,按比例縮放邏輯2206可使用多個解析度按比例縮放影像資料。藉由實例,當所要之輸出影像解析度為720p(1280×720個像素)時,按比例縮放邏輯可相應地按比例縮放影像圖框以提供720p輸出影像,且亦可提供可充當預覽或縮圖影像的較低解析度影像。舉例而言,在裝置上執行之應用程式(諸如,在多個型號之iPhone®上可用之「Photos」應用程式或在某些型號之iPhone®、MacBook®及iMac®電腦(全部自Apple Inc.可得)上可用的iPhoto®及iMovie®應用程式)可允許使用者檢視儲存於電子裝置10上之視訊或靜止影像之預覽版本的清單。在選擇所儲存影像或視訊後,電子裝置即可以全解析度顯示及/或播放所選擇的影像或視訊。
在所說明實施例中,按比例縮放邏輯2206亦可將資訊2203提供至後端統計區塊2208,後端統計區塊2208可利用按比例縮放邏輯2206以用於後端統計處理。舉例而言,在一實施例中,後端統計邏輯2208可處理按比例縮放之影像資訊2203以判定用於調變與編碼器118相關聯之量化參數(例如,每巨集區塊之量化參數)的一或多個參數,編碼器118在一實施例中可為H.264/JPEG編碼器/解碼器。舉例而言,在一實施例中,後端統計邏輯2208可藉由巨集區塊分析影像以判定每一巨集區塊的頻率含量參數或分值。舉例而言,在一些實施例中,後端統計邏輯2208可使用諸如子波壓縮、快速傅立葉變換或離線餘弦變換(DCT)之技術來 判定每一巨集區塊的頻率分值。使用頻率分值,編碼器118可能能夠調變量化參數以跨越構成影像圖框之巨集區塊達成(例如)大體上均勻之影像品質。舉例而言,若頻率含量之高方差存在於特定巨集區塊中,則可更主動地對彼巨集區塊施加壓縮。如圖134所示,按比例縮放邏輯2206亦可藉由至選擇電路2196(其可為多工器或某其他合適類型之選擇邏輯)之輸入將減少解析度影像(此處藉由參考數字2207來表示)提供至面部偵測邏輯2200。因此,選擇電路2196之輸出2198可為來自ISP管線82之YCC輸入114抑或來自按比例縮放邏輯2206的按比例縮小之YCC影像2207。
在一些實施例中,後端統計資料及/或編碼器118可經組態以預測及偵測場景改變。舉例而言,後端統計邏輯2208可經組態以獲取運動統計。編碼器118可嘗試藉由比較當前圖框與先前圖框之藉由後端統計邏輯2208所提供的運動統計(其可包括某些量度(例如,亮度))而預測場景改變。當量度之差大於特定臨限值時,預測到場景改變,後端統計邏輯2208可用信號通知場景改變。在一些實施例中,可使用加權預測,此係由於固定臨限值歸因於可藉由裝置10俘獲及處理之影像的多樣性可能並非始終理想的。另外,亦可取決於經處理影像資料的某些特性而使用多個臨限值。
如上文所論述,面部偵測資料2201亦可提供至後端統計邏輯2208及編碼器118,如圖134所示。此處,後端統計資料及/或編碼器118可在後端處理期間利用面部偵測資料2201連同巨集區塊頻率資訊。舉例而言,量化可針對對應於影像圖框內之面部之位置的巨集區塊減小,如使用面部偵測資料2201所判定,由此改良存在於使用顯示裝置28所顯示之影像中的經編碼之面部及面部特徵的視覺外觀及整體品質。
現參看圖140,根據一實施例說明展示LTM邏輯2202之更詳細視圖的方塊圖。如圖所示,在首先將來自ISP管線82之YC1C2影像資料114轉換為伽瑪校正之RGB線性色彩空間之後,應用色調映射。舉例而言,如圖140所示,邏輯2208可首先將YC1C2(例如,YCbCr)資料轉換至非線性SRGB色彩空間。在本實施例中,LTM邏輯2202可經組態以接收具有不同之子取樣特性的YCC影像資料。舉例而言,如藉由至選擇邏輯2205(例如,多工器)之輸入114所示,LTM邏輯2202可經組態以接收YCC4:4:4全資料、YCC4:2:2色度子取樣資料,或YCC4:2:0色度子取樣資料。針對子取樣YCC影像資料格式,可應用升轉換邏輯2209在子取樣YCC影像資料藉由邏輯2208轉換至sRGB色彩空間之前將子取樣YCC影像資料轉換至YCC4:4:4格式。
經轉換SRGB影像資料(此處藉由參考數字2210表示)可接著藉由邏輯2212轉換為RGBlinear 色彩空間(其為伽瑪校正線性空間)。此後,經轉換RGBlinear 影像資料2214提供至LTM邏輯2216,LTM邏輯2216可經組態以識別影像圖框中之共用類似亮度的區域(例如,圖137之2432及2434)且將局域色調映射應用於彼等區域。如本實施例所示,LTM邏輯2216亦可自面部偵測邏輯2200(圖134)接收參數2201,該等參數2201可指示當前影像圖框內的存在面部及/或面部特徵之地點及位置。
在將局域色調映射應用於RGBlinear 資料2214之後,藉由首先使用邏輯2222將經處理RGBlinear 影像資料2220轉換回至sRGB色彩空間,且接著使用邏輯2226將sRGB影像資料2224轉換回為YC1C2色彩空間,經處理影像資料2220接著轉換回為YC1C2色彩空間。因此,經轉換YC1C2資料2228(在應用色調映射之情況下)可自LTM邏輯2202輸出且提供至BCC邏輯2204,如上文在圖134中所論述。應瞭解,可使用類似於將解馬賽克之RGB影像資料轉換為ISP管線82之RGB處理邏輯902中的YC1C2色彩空間之技術來實施將影像資料114轉換為在ISP後端LTM邏輯區塊2202內所利用的各種色彩空間,如上文在圖125中所論述。此外,在YCC經升轉換(例如,使用邏輯2209)之實施例中,YC1C2資料可藉由邏輯2226降轉換(子取樣)。另外,在其他實施例中,此子取樣/降轉換亦可藉由按比例縮放邏輯2206而非邏輯2226來執行。
儘管本實施例展示自YCC色彩空間轉換至sRGB色彩空間且接著轉換至sRGBlinear 色彩空間之轉換程序,但其他實施例可利用差分色彩空間轉換或可使用冪函數來應用近似變換。亦即,在一些實施例中,轉換至近似線性之色彩空間針對局域色調映射目的可為足夠的。因此,使用近似變換功能,此等實施例之轉換邏輯可至少部分地簡化(例如,藉由移除對色彩空間轉換查找表的需要)。在另一實施例中,亦可在對人眼而言感知更好的色彩空間(諸如,Lab色彩空間)中執行局域色調映射。
圖141及圖142展示描繪根據所揭示實施例的用於使用ISP後端處理邏輯120處理影像資料之方法的流程圖。首先參看圖141,描繪大體上說明藉由ISP後端處理邏輯120對影像資料之處理的方法2230。在步驟2232處開始,方法2230自ISP管線82接收YCC影像資料。舉例而言,如上文所論述,所接收之YCC影像資料可處於YCbCr明度及色度色彩空間。接下來,方法2232可出現分支至步驟2234及2238中之每一者。在步驟2234處,可處理所接收之YCC影像資料以偵測當前影像圖框內之面部及/或面部特徵的位置/地點。舉例而言,參看圖134,可使用面部偵測邏輯2200來執行此步驟,面部偵測邏輯2200可經組態以實施面部偵測演算法(諸如,Viola-Jones)。此後,在步驟2236處,可將面部偵測資料(例如,資料2201)提供至ISP控制邏輯84作為對ISP前端統計處理單元142或144之回饋,以及提供至LTM邏輯區塊2202、後端統計邏輯2208及編碼器/解碼器邏輯118,如圖134所示。
在可至少部分地與步驟2234同時發生之步驟2238處,處理自ISP管線82所接收之YCC影像資料以應用色調映射。此後,方法2230繼續至步驟2240,藉此進一步處理YCC影像資料(例如,2228)以供亮度、對比度及色彩調整(例如,使用BCC邏輯2204)。隨後,在步驟2242處,將按比例縮放應用於來自步驟2240之影像資料以便將該影像資料按比例縮放至一或多個所要大小或解析度。另外,如上文所提及,在一些實施例中,亦可應用色彩空間轉換或子取樣(例如,在YCC資料經升取樣以供局域色調映射之實施例中)以產生具有所要取樣的輸出影像。最終,在步驟2244處,可顯示按比例縮放之YCC影像資料以供檢視(例如,使用顯示裝置28)或可將其儲存於記憶體108中以供稍後檢視。
圖142更詳細地說明圖141之色調映射步驟2238。舉例而言,步驟2238可以子步驟2248開始,其中首先將在步驟2232處所接收之YCC影像資料轉換至sRGB色彩空間。如上文所論述及圖140所示,一些實施例可在經子取樣之YCC影像資料轉換至sRGB空間之前提供該資料的升轉換。此後,在子步驟2250處,將sRGB影像資料轉換至伽瑪校正線性色彩空間RGBlinear 。接下來,在子步驟2252處,藉由ISP後端LTM邏輯區塊2202之色調映射邏輯2216將色調映射應用於RGBlinear 資料。可接著將來自子步驟2252之經色調映射之影像資料自RGBlinear 色彩空間轉換回至sRGB色彩空間,如在子步驟2254處所示。此後,在子步驟2256處,可將sRGB影像資料轉換回至YCC色彩空間,且方法2230之步驟2238可繼續至步驟2240,如圖141所論述。如上文所提及,圖142所示之程序2238僅意欲為用於以適用於局域色調映射之方式應用色彩空間轉換的一程序。在其他實施例中,近似線性轉換亦可代替所說明之轉換步驟而應用。
應理解,僅藉由實例在本文中提供上文所述且與有缺陷像素偵測及校正、透鏡遮光校正、解馬賽克及影像清晰化相關的各種影像處理技術。因此,應理解,本發明不應被解釋為僅限於上文所提供之實例。實際上,本文所描繪之例示性邏輯在其他實施例中可經受多個變化及/或額外特徵。此外,應瞭解,可以任何合適方式來實施上文所論述之技術。舉例而言,影像處理電路32且尤其是ISP前端區塊80及ISP管道區塊82之組件可使用硬體(例如,合適組態之電路)、軟體(例如,經由包括儲存於一或多個有形電腦可讀媒體上之可執行程式碼的電腦程式),或經由使用硬體元件與軟體元件兩者之組合來實施。
已藉由實例展示上文所描述之特定實施例,且應理解,此等實施例可能容易經受各種修改及替代形式。應進一步理解,申請專利範圍不意欲限於所揭示之特定形式,而是涵蓋屬於本發明之精神及範疇的所有修改、等效物及替代例。
10...系統/電子裝置
12...輸入/輸出(I/O)埠
12a...專屬連接埠
12b...音訊連接埠
12c...I/O埠
14...輸入結構
16...處理器
18...記憶體裝置/記憶體
20...非揮發性儲存器/非揮發性儲存裝置/記憶體
22...擴充卡/儲存裝置
24...網路連接裝置/網路裝置
26...電源
28...顯示器/顯示裝置
30...成像裝置/相機
32...影像處理系統/影像處理電路/影像信號處理系統/ISP子系統
40...膝上型電腦
42...外殼/罩殼/「首頁」螢幕
50...桌上型電腦
52...圖形使用者介面(「GUI」)
54...圖形圖示
56...圖示停駐區
58...圖形視窗元件
60...手持型攜帶型裝置/攜帶型手持型電子裝置
64...系統指示器
66...相機應用程式
68...相片檢視應用程式
70...音訊輸入/輸出元件
72...媒體播放器應用程式
74..音訊輸出傳輸器/音訊輸入/輸出元件
80...前端像素處理單元/影像信號處理(ISP)前端處理邏輯/ISP前端處理單元(FEProc)
82...ISP管道處理邏輯
84...控制邏輯/控制邏輯單元
88...透鏡
90...數位影像感測器
90a...第一感測器/第一影像感測器
90b...第二感測器/第二影像感測器
92...輸出
94...感測器介面
94a...感測器介面
94b...感測器介面
96...原始影像資料/原始影像像素資料
98...原始像素資料
100...原始影像資料
102...統計資料
104...控制參數
106...控制參數
108...記憶體
109...輸出信號
110...輸出信號
112...輸入信號
114...信號/輸出/資料/YCC影像資料
115...信號
116...信號
117...信號
118...壓縮/解壓縮引擎/壓縮引擎或「編碼器」/編碼器/解碼器單元
119...信號
120...ISP後端處理邏輯單元/ISP後端邏輯
122...信號
124...輸入/信號
126...信號/輸出
142...統計處理單元/選擇邏輯區塊
144...統計處理單元/選擇邏輯區塊
146...選擇邏輯
148...選擇邏輯
150...前端像素處理單元(FEProc)
152...選擇邏輯/選擇邏輯區塊
154...信號
156...信號/輸入
158...信號
160...信號
162...信號
164...信號
166...信號/輸入
168...信號
170...信號
172...信號
174...信號/輸入
176...信號
178...信號
180...經預處理影像信號
182...信號
184...經預處理影像信號
186...選擇邏輯單元
188...選擇邏輯單元
190...前端控制單元
210...資料暫存器組
210a...資料暫存器1
210b...資料暫存器2
210c...資料暫存器3
210d...資料暫存器n
212...資料暫存器組
212a...資料暫存器1
212b...資料暫存器2
212c...資料暫存器3
212d...資料暫存器n
214...進行暫存器/控制暫存器
216...「NextVld」欄位
218...「NextBk」欄位
220...當前或「作用中」暫存器/作用中唯讀暫存器
222...CurrVld欄位
224...CurrBk欄位
226...觸發事件
228...資料信號VVALID
230...脈衝/當前圖框
232...間隔/垂直清空間隔(VBLANK)
234...圖框間隔
236...脈衝/下一圖框
238...「進行」位元
306...影像來源圖框
308...感測器圖框區域
310...原始圖框區域
312...作用中區域
314...寬度
316...高度
318...x位移
320...y位移
322...寬度
324...高度
326...x位移
328...y位移
330...重疊區域
332...重疊區域
334...寬度
336...寬度
347...明度平面
348...色度平面
350...影像圖框
352...來源影像圖框
400...輸入佇列
402...輸入佇列
404...中斷請求(IRQ)暫存器
405...信號
406...計數器
407...信號
408...信號
470...音訊資料
472...影像資料
474...音訊樣本/離散分割區
474a...音訊樣本
476...樣本
476a...影像圖框
476b...影像圖框
476c...影像圖框
490...計時器組態暫存器
492...時間碼暫存器
494...Sensor0時間碼暫存器
496...Sensor1時間碼暫存器
498...後設資料
500...時戳
548...感測器-側介面
549...前端-側介面
550...閃光控制器
552...閃光模組
554...控制參數
556...感測器時序資訊
558...統計資料
570...第一圖框
572...第二圖框/感測器-側介面時序信號
574...垂直消隱間隔
576...信號
578...第一時間延遲
580...感測器時序信號
582...第二時間延遲
584...第三時間延遲/延遲時間
588...延遲信號
590...第四時間延遲
592...第五時間延遲
596...延遲信號/閃光控制器信號
598...時間位移
600...時間間隔/消隱間隔時間
602...位移
604...時間
605...時間
606...位移
608...間隔
650...時間濾波器
652...分格化儲存補償濾波器
655...運動歷史表(M)
655a...對應於第一色彩之運動表
655b...對應於第二色彩之運動表
655c...對應於第n色彩的運動表
656...明度表(L)
656a...對應於第一色彩之明度表
656b...對應於第二色彩之明度表
656c...對應於第n色彩之明度表
657...參考像素
658...參考像素
659...參考像素
660...原本輸入像素
661...原本輸入像素
662...原本輸入像素
684...時間濾波系統
693...全解析度樣本/全解析度影像資料
694...經分格化儲存拜耳區塊
694a...拜耳區塊/拜耳圖案
694b...拜耳區塊/拜耳圖案
694c...拜耳區塊/拜耳圖案
694d...拜耳區塊/拜耳圖案
695...經分格化儲存Gr像素
695a...全解析度Gr像素
695b...全解析度Gr像素
695c...全解析度Gr像素
695d...全解析度Gr像素
696...經分格化儲存R像素
696a...全解析度R像素
696b...全解析度R像素
696c...全解析度R像素
696d...全解析度R像素
697...經分格化儲存B像素
697a...全解析度B像素
697b...全解析度B像素
697c...全解析度B像素
697d...全解析度B像素
698...經分格化儲存Gb像素
698a...全解析度Gb像素
698b...全解析度Gb像素
698c...全解析度Gb像素
698d...全解析度Gb像素
699...分格化儲存邏輯
700...經分格化儲存原始影像資料
702...樣本
703...拜耳區塊
704...經再取樣像素
705...經再取樣像素
706...經再取樣像素
707...經再取樣像素
708...分格化儲存補償邏輯
709...水平按比例縮放邏輯
710...垂直按比例縮放邏輯
711...微分分析器
712...濾波器係數表
713...列
714...列
715...列
716...列
717...列
718...列
738...有缺陷像素偵測及校正邏輯
739...黑階補償(BLC)邏輯
740...透鏡遮光校正邏輯
741...逆BLC邏輯
742...統計收集邏輯/統計收集區塊/3A統計邏輯
743...「左側邊緣」狀況
744...「左側邊緣+1」狀況
745...「居中」狀況
746...「右側邊緣-1」狀況
747...「右側邊緣」狀況
756...三維量變曲線
757...中心
758...隅角或邊緣
759...影像
760...LSC區域
761...增益柵格
762...寬度
763...高度
764...x位移
765...y位移
766...柵格x位移
767...柵格y位移
768...基礎
769...第一像素
770...水平(x方向)柵格點間隔
771...垂直(y方向)柵格點間隔
780...隅角
781...中心
789...圖表
790...低色溫軸線
792...區域
793...信號/拜耳RGB資料/拜耳RGB像素
794...統計
795...拜耳RGB降取樣邏輯
796...視窗/樣本
797...拜耳四元組
798...Gr像素
799...紅色像素
800...藍色像素
801...Gb像素
802...平均綠色值(GAV )
803...平均紅色值(RAV )
804...平均藍色值(BAV )
806...按比例縮小之拜耳RGB值/降取樣之拜耳RGB值/拜耳RGB按比例縮小信號/輸出像素
807...色彩空間轉換邏輯單元/色彩空間轉換(CSC)邏輯
808...色彩空間轉換邏輯單元/CSC邏輯
809...第一3×3色彩校正矩陣(3A_CCM)
810...sRGBlinear 值/SRGBlinear 像素/信號
811...非線性查找表
812...sRGB像素/信號
813...第二3×3色彩校正矩陣
814...信號
815...3×3色彩轉換矩陣(3A_CSC2)
816...輸出
817...二維(2D)色彩直方圖
818...選擇邏輯
819...選擇邏輯
820...像素條件邏輯
821...分格更新邏輯區塊
822...矩形區域
824a...像素濾波器
824b...像素濾波器
824c...像素濾波器
825b...選擇邏輯/選擇電路
826a...選擇邏輯/選擇電路
826b...選擇邏輯/選擇電路
827a...像素條件邏輯
827b...像素條件邏輯
828a...像素
828b...像素
829...圖表
830...點
831...線
832...值
833...距離
834...distance_max
835...五側多邊形
836a...側/線
836b...側/線
836c...側/線
836d...側/線
836e...側/線
837a...像素
837b...像素
838a...矩形
838b...矩形
839a...像素
839b...像素
840a...線
840b...線
841...自動聚焦統計邏輯
842...自動聚焦(AF)統計
843...水平濾波器
844...邊緣偵測器
845...邏輯
848...控制信號
846...3×3濾波器
849...輸出
847...3×3濾波器
850...累積值
851...累積值
852...邏輯
852b...邏輯
853...經整數倍降低取樣之拜耳RGB資料/經整數倍降低取樣之拜耳RGB信號
855...經濾波輸出
856...曲線圖
854...3×3濾波器
858...曲線
859...明度列總和統計
860...曲線
861...統計
862...峰值或頂點
863...發光塊統計
870...透鏡
872...當前焦點位置
874...分量直方圖
876...分量直方圖
878...信號
880...選擇電路
882...邏輯
884...資料
900...原始像素處理邏輯
902...RGB處理邏輯
904...YCbCr處理邏輯
906...選擇邏輯
908...輸入信號/影像資料輸入/原始影像資料
910...影像信號輸出/輸出信號/RGB影像信號
912...RGB影像信號
914...選擇邏輯
916...輸入信號/RGB影像資料
918...影像信號輸出/輸出信號
920...YCbCr信號
922...選擇邏輯
924...信號
926...影像信號輸出
930...增益、位移及箝位(GOC)邏輯
932...有缺陷像素偵測/校正(DPDC)邏輯
934...雜訊減少邏輯
934a...綠色非均一性(GNU)校正邏輯
936...透鏡遮光校正邏輯
938...GOC邏輯/第二增益、位移及箝位(GOC)區塊
934c...5分接頭垂直濾波器/垂直濾波邏輯
940...解馬賽克邏輯
934b...7分接頭水平濾波器/水平濾波邏輯
942...「左頂部」狀況
944...「頂部」狀況
946...「右頂部」狀況
948...「左側」狀況
950...「中心」狀況
952...「右側」狀況
954...「左底部」狀況
956...「底部」狀況
958...「右底部」狀況
1034...原始拜耳影像圖案
1038...綠色通道
1036...4×4部分
1040...紅色通道
1042...藍色通道
1044...解馬賽克技術
1046...內插資料G'
1048...內插資料R'
1050...內插資料B'
1052...全色RGB影像
1060...紅色行
1062...濾波係數
1064...紅色行
1068...濾波係數
1070...區塊
1072...像素區塊
1074...像素區塊
1076...像素區塊
1078...內插綠色值
1080...內插綠色值
1140...原本影像場景
1142...原始拜耳影像
1144...RGB影像
1146...「棋盤形」假影
1148...邊緣
1150...RGB影像
1160a...行緩衝器
1160b...行緩衝器
1160c...行緩衝器
1160d...行緩衝器
1160e...行緩衝器
1160f...行緩衝器
1160g...行緩衝器
1160h...行緩衝器
1160i...行緩衝器
1160j...行緩衝器
1160k...邏輯列
1162...封閉區域
1163...輸出
1164...封閉區域
1165a...濾波器分接頭
1165b...濾波器分接頭
1165c...濾波器分接頭
1165d...濾波器分接頭
1165e...濾波器分接頭
1165f...濾波器分接頭
1165g...濾波器分接頭
1166a...分接頭
1166b...分接頭
1166c...分接頭
1166d...分接頭
1166e...分接頭
1178...增益、位移及箝位(GOC)邏輯
1179...RGB色彩校正邏輯
1180...GOC邏輯
1181...RGB伽瑪調整邏輯
1182...色彩空間轉換邏輯
1183...影像清晰化邏輯
1184...用於調整亮度、對比度及/或色彩之邏輯
1185...YCbCr伽瑪調整邏輯
1186...色度整數倍降低取樣邏輯
1187...按比例縮放邏輯
1188...來源緩衝器/第一來源緩衝器
1189...作用中來源區域/明度作用中來源區域
1190...基本位址(0,0)
1191...開始位置(Lm_X,Lm_Y)
1192...開始位置(Ch_X,Ch_Y)
1193...x位移
1194...x位移
1195...寬度
1196...y位移
1198...y位移
1200...高度
1202...寬度
1204...高度
1206...第二來源緩衝器
1208...色度作用中來源區域
1210...邏輯
1212...低通高斯濾波器(G1)
1214...低通高斯濾波器(G2)
1216...選擇邏輯
1218...比較器區塊
1220...比較器區塊
1222...比較器區塊
1224...選擇邏輯
1226...選擇邏輯
1228...選擇邏輯
1230...選擇邏輯
1232...選擇邏輯
1234...邏輯
1236...索貝爾濾波器
1238...比較器區塊
1240...選擇邏輯
1242...選擇邏輯
1250...曲線圖
1252...曲線
1262...亮度及對比度處理區塊
1264...全域色調控制區塊
1266...飽和度控制區塊
1268...Cb飽和度查找表
1269...Cr飽和度查找表
1270...色輪圖/YCbCr色調及飽和度色輪
2196...選擇電路
2198...輸出
2200...特徵偵測邏輯
2201...輸出/信號/資料/參數
2202...局域色調映射邏輯(LTM)
2203...影像資訊
2204...亮度、對比度及色彩調整邏輯
2205...選擇邏輯
2206...按比例縮放邏輯
2207...信號/減少解析度影像
2208...後端統計單元
2209...升轉換邏輯
2210...經轉換sRGB影像資料
2212...邏輯
2214...經轉換RGBlinear 影像資料
2216...LTM邏輯
2220...經處理RGBlinear 影像資料
2222...邏輯
2224...sRGB影像資料
2226...邏輯
2228...經轉換YC1C2資料
2400...曲線圖
2401...輸入範圍
2402...曲線
2403...輸出範圍
2404...值/範圍
2406...值/範圍
2410...曲線
2412...較小範圍
2414...較小範圍
2422...非線性「S」形曲線(或S曲線)
2424...輸出範圍
2426...輸出範圍
2428...中間範圍值
2430...部分
2432...明亮區域
2434...黑暗區域
2440...曲線圖
2442...全輸入範圍
2444...輸出動態範圍
2448...範圍/經利用部分/子範圍
2450...未使用部分/未使用之子範圍
2452...部分
2454...部分
Sharp1...不清晰遮罩
Sharp2...不清晰遮罩
Sharp3...不清晰遮罩
圖1為描繪電子裝置之一實例之組件的簡化方塊圖,該電子裝置包括經組態以實施本發明中所闡述之影像處理技術中之一或多者的成像裝置及影像處理電路;
圖2展示可實施於圖1之成像裝置中的拜耳彩色濾光片陣列之2×2像素區塊的圖形表示;
圖3為根據本發明之態樣的呈膝上型計算裝置之形式的圖1之電子裝置的透視圖;
圖4為根據本發明之態樣的呈桌上型計算裝置之形式的圖1之電子裝置的前視圖;
圖5為根據本發明之態樣的呈手持型攜帶型電子裝置之形式的圖1之電子裝置的前視圖;
圖6為圖5所示之電子裝置的後視圖;
圖7為說明根據本發明之態樣的包括前端影像信號處理(ISP)邏輯及ISP管道處理邏輯的圖1之影像處理電路之一實施例的方塊圖;
圖8為說明根據本發明之態樣的包括前端影像信號處理(ISP)邏輯、ISP管道(管線)處理邏輯及ISP後端處理邏輯的圖1之影像處理電路之另一實施例的方塊圖;
圖9為描繪根據本發明之態樣的用於使用圖7抑或圖8之影像處理電路處理影像資料之方法的流程圖;
圖10為展示根據本發明之態樣的可實施於圖7或圖8中之ISP前端邏輯之一實施例的更詳細方塊圖;
圖11為描繪根據一實施例的用於處理圖10之ISP前端邏輯中之影像資料的方法之流程圖;
圖12為說明根據一實施例的可用於處理ISP前端邏輯中之影像資料的雙重緩衝暫存器及控制暫存器之一組態的方塊圖;
圖13至圖15為描繪根據本發明技術之實施例的用於觸發影像圖框之處理之不同模式的時序圖;
圖16為根據一實施例更詳細地描繪控制暫存器的圖式;
圖17為描繪用於在圖10之ISP前端邏輯係在單感測器模式中操作時使用前端像素處理單元來處理影像圖框之方法的流程圖;
圖18為描繪用於在圖10之ISP前端邏輯係在雙感測器模式中操作時使用前端像素處理單元來處理影像圖框之方法的流程圖;
圖19為描繪用於在圖10之ISP前端邏輯係在雙感測器模式中操作時使用前端像素處理單元來處理影像圖框之方法的流程圖;
圖20為描繪根據一實施例的兩個影像感測器為作用中之方法的流程圖,但其中第一影像感測器正將影像圖框發送至前端像素處理單元,而第二影像感測器正將影像圖框發送至統計處理單元,使得在第二影像感測器於稍後時間繼續將影像圖框發送至前端像素處理單元時第二感測器之成像統計立即可用。
圖21為根據本發明之態樣的可應用於儲存於圖1之電子裝置之記憶體中的像素格式之線性記憶體定址格式的圖形描繪;
圖22為根據本發明之態樣的可應用於儲存於圖1之電子裝置之記憶體中的像素格式之發光塊式記憶體定址格式的圖形描繪;
圖23為根據本發明之態樣的可界定於藉由影像感測器所俘獲之來源影像圖框內之各種成像區域的圖形描繪;
圖24為用於使用ISP前端處理單元來處理影像圖框之重疊的垂直條帶的技術之圖形描繪;
圖25為描繪根據本發明之態樣的可使用交換碼將位元組交換應用於來自記憶體之傳入影像像素資料之方式的圖式;
圖26至圖29展示根據本發明之實施例的可藉由圖7或圖8之影像處理電路支援的原始影像資料之記憶體格式的實例;
圖30至圖34展示根據本發明之實施例的可藉由圖7或圖8之影像處理電路支援的全色RGB影像資料之記憶體格式的實例;
圖35至圖36展示根據本發明之實施例的可藉由圖7或圖8之影像處理電路支援的明度/色度影像資料(YUV/YC1C2)之記憶體格式的實例;
圖37展示根據本發明之態樣的以線性定址格式判定記憶體中之圖框位置之方式的實例;
圖38展示根據本發明之態樣的以發光塊定址格式判定記憶體中之圖框位置之方式的實例;
圖39為根據本發明之一實施例的描繪可執行溢位處置之方式的圖8之ISP電路的方塊圖;
圖40為描繪根據本發明之態樣的用於在溢位條件於影像像素資料正自圖片記憶體讀取之同時發生時的溢位處置之方法的流程圖;
圖41為描繪根據本發明之一實施例的用於在溢位條件於影像像素資料正自影像感測器介面讀入之同時發生時的溢位處置之方法的流程圖;
圖42為描繪根據本發明之另一實施例的用於在溢位條件於影像像素資料正自影像感測器介面讀入之同時發生時的溢位處置之另一方法的流程圖;
圖43提供可藉由圖1之電子裝置俘獲及儲存之影像(例如,視訊)及對應音訊資料之圖形描繪;
圖44說明根據一實施例的可用以提供用於同步圖43之音訊及視訊資料之時戳的一組暫存器;
圖45為根據本發明之態樣的可經俘獲為圖43之視訊資料之部分且展示時戳資訊可作為影像圖框後設資料的部分儲存之方式的影像圖框之簡化表示;
圖46為描繪根據一實施例的用於基於VSYNC信號使用時戳來同步影像資料與音訊資料之方法的流程圖;
圖47為根據本發明之一實施例的描繪可執行閃光時序控制之方式的圖8之ISP電路的方塊圖;
圖48描繪根據本發明之一實施例的用於判定閃光啟動及撤銷啟動時間的技術;
圖49為描繪用於基於圖48所示之技術判定閃光啟動時間之方法的流程圖;
圖50為描繪根據本發明之態樣的用於使用預閃光來在使用閃光獲取影像場景之前更新影像統計之方法的流程圖;
圖51為提供根據本發明之態樣的如圖10之ISP前端邏輯所示的ISP前端像素處理單元之一實施例之更詳細視圖的方塊圖;
圖52為說明根據一實施例的時間濾波可應用於藉由圖51所示之ISP前端像素處理單元所接收之影像像素資料的方式之程序圖;
圖53說明可用以判定圖52所示之時間濾波程序之一或多個參數的一組參考影像像素及一組對應當前影像像素;
圖54為說明根據一實施例的用於將時間濾波應用於一組影像資料之當前影像像素之程序的流程圖;
圖55為展示根據一實施例的用於計算運動差量值以供圖54之當前影像像素之時間濾波使用的技術之流程圖;
圖56為說明根據另一實施例的用於將時間濾波應用於包括影像資料之每一色彩分量之不同增益的使用的一組影像資料之當前影像像素之另一程序的流程圖;
圖57為說明根據另一實施例的時間濾波技術利用藉由圖51所示之ISP前端像素處理單元所接收的影像像素資料之每一色彩分量之單獨運動及明度表的方式之程序圖;
圖58為說明根據另一實施例的用於將時間濾波應用於使用圖57所示之運動及明度表的一組影像資料之當前影像像素之程序的流程圖;
圖59描繪根據本發明之態樣的可藉由影像感測器俘獲之全解析度原始影像資料的樣本;
圖60說明根據本發明之一實施例的影像感測器,該影像感測器可經組態以將分格化儲存應用於圖59之全解析度原始影像資料以輸出經分格化儲存之原始影像資料的樣本;
圖61描繪根據本發明之態樣的可藉由圖60之影像感測器提供之經分格化儲存之原始影像資料的樣本;
圖62描繪根據本發明之態樣的在被再取樣之後藉由分格化儲存補償濾波器提供之來自圖61的經分格化儲存之原始影像資料;
圖63描繪根據一實施例的可實施於圖51之ISP前端像素處理單元中的分格化儲存補償濾波器;
圖64為根據本發明之態樣的可應用於微分分析器以選擇用於分格化儲存補償濾波之中心輸入像素及索引/階段的各種步長之圖形描繪;
圖65為說明根據一實施例的用於使用圖63之分格化儲存補償濾波器來按比例縮放影像資料之程序的流程圖;
圖66為說明根據一實施例的用於判定針對藉由圖63之分格化儲存補償濾波器所進行之水平及垂直濾波的當前輸入來源中心像素之程序的流程圖;
圖67為說明根據一實施例的用於判定針對藉由圖63之分格化儲存補償濾波器所進行之水平及垂直濾波的用於選擇濾波係數之索引之程序的流程圖。
圖68為展示根據本發明之態樣的如圖10所示的可實施於ISP前端處理邏輯中之統計處理單元之一實施例的更詳細方塊圖;
圖69展示根據本發明之態樣的可在藉由圖68之統計處理單元所進行的統計處理期間應用用於偵測且校正有缺陷像素之技術時考慮的各種影像圖框邊界狀況;
圖70為說明根據一實施例的用於在統計處理期間執行有缺陷像素偵測及校正之程序的流程圖;
圖71展示描繪成像裝置之習知透鏡之光強度對像素位置的三維量變曲線;
圖72為展現跨越影像之非均一光強度的有色圖式,該非均一光強度可為透鏡遮光不規則性的結果;
圖73為根據本發明之態樣的包括透鏡遮光校正區域及增益柵格之原始成像圖框的圖形說明;
圖74說明根據本發明之態樣的藉由四個定界柵格增益點所封閉之影像像素之增益值的內插;
圖75為說明根據本發明技術之一實施例的用於判定可在透鏡遮光校正操作期間應用於成像像素之內插增益值之程序的流程圖;
圖76為描繪根據本發明之態樣的可在執行透鏡遮光校正時應用於展現圖71所示之光強度特性之影像的內插增益值的三維量變曲線;
圖77展示根據本發明之態樣的在透鏡遮光校正操作被應用之後展現改良之光強度均一性的來自圖72之有色圖式;
圖78用圖形說明根據一實施例的在當前像素與影像之中心之間的徑向距離可計算且用以判定用於透鏡遮光校正之徑向增益分量的方式;
圖79為說明根據本發明技術之一實施例的來自增益柵格之徑向增益及內插增益藉以用以判定可在透鏡遮光校正操作期間應用於成像像素之總增益之程序的流程圖;
圖80為展示色彩空間中之白色區域及低色溫軸與高色溫軸的圖表;
圖81為展示根據一實施例的白平衡增益可經組態以用於各種參考照明體條件之方式的表;
圖82為展示根據本發明之一實施例的可實施於ISP前端處理邏輯中之統計收集引擎的方塊圖;
圖83說明根據本發明之態樣的原始拜耳RGB資料之降取樣;
圖84描繪根據一實施例的可藉由圖82之統計收集引擎收集的二維色彩直方圖;
圖85描繪二維色彩直方圖內之變焦及平移;
圖86為展示根據一實施例的用於實施統計收集引擎之像素濾波器之邏輯的更詳細視圖;
圖87為根據一實施例的C1-C2色彩空間內之像素的位置可基於針對像素濾波器所定義之像素條件而評估之方式的圖形描繪;
圖88為根據另一實施例的C1-C2色彩空間內之像素的位置可基於針對像素濾波器所定義之像素條件而評估之方式的圖形描繪;
圖89為根據又一實施例的C1-C2色彩空間內之像素的位置可基於針對像素濾波器所定義之像素條件而評估之方式的圖形描繪;
圖90為展示根據一實施例的影像感測器積分時間可經判定以補償閃爍之方式的曲線圖;
圖91為展示根據一實施例的可實施於圖82之統計收集引擎中且經組態以收集自動聚焦統計之邏輯的詳細方塊圖;
圖92為描繪根據一實施例的用於使用粗略及精細自動聚焦刻痕值執行自動聚焦之技術的曲線圖;
圖93為描繪根據一實施例的用於使用粗略及精細自動聚焦刻痕值執行自動聚焦之程序的流程圖;
圖94及圖95展示原始拜耳資料之整數倍降低取樣以獲得經白平衡明度值;
圖96展示根據一實施例的用於使用每一色彩分量之相關自動聚焦刻痕值執行自動聚焦的技術;
圖97為根據一實施例的圖68之統計處理單元的更詳細視圖,其展示拜耳RGB直方圖資料可用以輔助黑階補償的方式;
圖98為展示根據本發明之態樣的圖7之ISP管道處理邏輯之一實施例的方塊圖;
圖99為展示根據本發明之態樣的可實施於圖98之ISP管道處理邏輯中的原始像素處理區塊之一實施例的更詳細視圖;
圖100展示根據本發明之態樣的可在藉由圖99所示之原始像素處理區塊所進行的處理期間應用用於偵測且校正有缺陷像素之技術時考慮的各種影像圖框邊界狀況;
圖101至圖103為描繪根據一實施例的可執行於圖99之原始像素處理區塊中的用於偵測且校正有缺陷像素之各種程序的流程圖;
圖104展示根據本發明之態樣的可在藉由圖99之原始像素處理邏輯所進行的處理期間應用綠色非均一性校正技術時內插之拜耳影像感測器之2×2像素區塊中的兩個綠色像素的位置;
圖105說明根據本發明之態樣的包括中心像素及可用作用於雜訊減少之水平濾波程序之部分的相關聯水平相鄰像素之一組像素;
圖106說明根據本發明之態樣的包括中心像素及可用作用於雜訊減少之垂直濾波程序之部分的相關聯垂直相鄰像素之一組像素;
圖107為描繪解馬賽克可應用於原始拜耳影像圖案以產生全色RGB影像之方式的簡化流程圖;
圖108描繪根據一實施例的可在拜耳影像圖案之解馬賽克期間針對內插綠色值導出水平能量分量及垂直能量分量所自的拜耳影像圖案之一組像素;
圖109展示根據本發明技術之態樣的濾波可在拜耳影像圖案之解馬賽克期間所應用於以判定內插綠色值之水平分量的一組水平像素;
圖110展示根據本發明技術之態樣的濾波可在拜耳影像圖案之解馬賽克期間所應用於以判定內插綠色值之垂直分量的一組垂直像素;
圖111展示根據本發明技術之態樣的濾波可在拜耳影像圖案之解馬賽克期間所應用於以判定內插紅色值及內插藍色值的各種3×3像素區塊;
圖112至圖115提供描繪根據一實施例的用於在拜耳影像圖案之解馬賽克期間內插綠色、紅色及藍色值之各種程序的流程圖;
圖116展示可藉由影像感測器俘獲且根據本文所揭示之解馬賽克技術之態樣處理之原本影像場景的有色圖式;
圖117展示圖116所示之影像場景之拜耳影像圖案的有色圖式;
圖118展示使用習知解馬賽克技術基於圖117之拜耳影像圖案所重新建構之RGB影像的有色圖式;
圖119展示根據本文所揭示之解馬賽克技術之態樣自圖117的拜耳影像圖案所重新建構之RGB影像的有色圖式;
圖120至圖123描繪根據一實施例的可在實施圖99之原始像素處理區塊時使用的行緩衝器之組態及配置;
圖124為展示根據一實施例的用於使用圖120至圖123所示之行緩衝器組態處理原始像素資料之方法的流程圖;
圖125為展示根據本發明之態樣的可實施於圖98之ISP管道處理邏輯中的RGB處理區塊之一實施例的更詳細視圖;
圖126為展示根據本發明之態樣的可實施於圖98之ISP管道處理邏輯中的YCbCr處理區塊之一實施例的更詳細視圖;
圖127為根據本發明之態樣的如界定於使用1平面格式之來源緩衝器內的明度及色度之作用中來源區域的圖形描繪;
圖128為根據本發明之態樣的如界定於使用2平面格式之來源緩衝器內的明度及色度之作用中來源區域的圖形描繪;
圖129為說明根據一實施例的如圖126所示之可實施於YCbCr處理區塊中之影像清晰化邏輯的方塊圖;
圖130為說明根據一實施例的如圖126所示之可實施於YCbCr處理區塊中之邊緣增強邏輯的方塊圖;
圖131為展示根據本發明之態樣的色度衰減因子對清晰化明度值之關係的曲線圖;
圖132為說明根據一實施例的如圖126所示之可實施於YCbCr處理區塊中之影像亮度、對比度及色彩(BCC)調整邏輯的方塊圖;
圖133展示在YCbCr色彩空間中之色調及飽和度色輪,該色調及飽和度色輪界定可在圖132所示之BCC調整邏輯中的色彩調整期間應用之各種色調角及飽和度值;
圖134為展示根據本發明之態樣的可經組態以執行ISP管線之下游的各種後處理步驟的圖8之ISP後端處理邏輯之一實施例的方塊圖;
圖135為展示習知全域色調映射技術之圖形說明;
圖136為展示另一習知全域色調映射技術之圖形說明;
圖137描繪根據本發明之態樣的影像之區域可針對應用局域色調應用技術分段的方式;
圖138用圖形說明習知局域色調映射可導致輸出色調範圍之有限利用的方式;
圖139用圖形說明根據本發明之實施例的用於局域色調映射之技術;
圖140為展示根據本發明之態樣的可經組態以實施圖134之ISP後端邏輯中之色調映射程序的局域色調映射LTM邏輯之一實施例的更詳細方塊圖;
圖141為展示根據一實施例的用於使用圖134之ISP後端處理邏輯處理影像資料之方法的流程圖;及
圖142為展示根據一實施例的用於使用圖140所示之LTM邏輯應用色調映射之方法的流程圖。
114...信號/輸出/資料/YCC影像資料
118...壓縮/解壓縮引擎/壓縮引擎或「編碼器」/編碼器/解碼器單元
120...ISP後端處理邏輯單元/ISP後端邏輯
126...信號/輸出
2196...選擇電路
2198...輸出
2200...特徵偵測邏輯
2201...輸出/信號/資料/參數
2202...局域色調映射邏輯(LTM)
2203...影像資訊
2204...亮度、對比度及色彩調整邏輯
2206...按比例縮放邏輯
2207...信號/減少解析度影像
2208...後端統計單元

Claims (25)

  1. 一種影像信號處理系統,其包含:一影像處理管線,其經組態以接收包含使用一數位影像感測器所獲取之像素的原始影像資料之一圖框,且藉由應用解馬賽克來處理該原始影像圖框以產生全色RGB影像資料之一對應圖框,且隨後將該RGB影像資料轉換為明度及色度影像資料之一對應圖框;及一後端處理單元,其經組態以接收明度及色度影像資料之該圖框,且使用特徵偵測邏輯來處理該明度及色度影像圖框。
  2. 如請求項1之影像信號處理系統,其中該特徵偵測邏輯包含面部偵測邏輯,該面部偵測邏輯經組態以在該所接收圖框內偵測含有面部特徵之位置,且提供該等所偵測位置作為一組面部偵測資料。
  3. 如請求項2之影像信號處理系統,其中該面部偵測邏輯經組態以使用一物件偵測演算法來偵測該等面部特徵之該等位置。
  4. 如請求項1之影像信號處理系統,其中該特徵偵測邏輯經組態以在該所接收圖框內偵測對應於物件之隅角的位置,以便判定該所接收圖框與至少一先前或後續圖框之間的全域。
  5. 如請求項2之影像信號處理系統,其包含一前端處理單元,該前端處理單元耦接於該影像處理管線之上游且具有一前端統計收集引擎,該前端統計收集引擎經組態以 處理該原始影像圖框以在該原始影像圖框藉由該影像處理管線及該後端處理單元處理之前判定自動白平衡統計、自動曝光統計、自動聚焦統計及閃爍偵測統計中之至少一者。
  6. 如請求項5之影像信號處理系統,其中該面部偵測資料回饋至該前端統計收集引擎,且其中該前端統計收集引擎經組態以定位一或多個統計收集視窗以用於使用該面部偵測回饋資料來判定自動白平衡統計。
  7. 如請求項1之影像信號處理系統,其中該數位影像感測器包含一拜耳彩色濾光片陣列,且其中該原始影像資料包含拜耳影像資料。
  8. 一種用於使用一影像信號處理(ISP)系統之後端處理邏輯來處理影像資料之方法,其包含:接收包含明度及色度影像資料之一影像圖框,先前已藉由該ISP系統之一影像處理管線處理該影像圖框;使用色調映射邏輯將局域色調映射應用於該影像圖框;及使用按比例縮放邏輯以在應用局域色調映射之後將該影像圖框按比例縮放至至少一所要輸出解析度。
  9. 如請求項8之方法,其中將局域色調映射應用於該影像圖框包含基於該影像圖框內之局域特徵將該影像圖框分割為若干區段,及藉由以下操作而處理該等區段中之每一者:識別該影像圖框之一總可用動態範圍; 識別一總可用輸出動態範圍;判定該影像圖框之一當前區段中明度值之實際動態範圍;藉由在該實際動態範圍小於該總可用動態範圍時將該實際動態範圍映射至該總可用動態範圍而擴展該當前區段之該實際動態範圍;及將該經擴展之實際動態範圍映射至該總可用輸出動態範圍。
  10. 如請求項9之方法,其中應用局域色調映射包含使用局域色調映射運算子。
  11. 如請求項10之方法,其中將局域色調映射應用於一RGB線性色彩空間、一Lab色彩空間或其某一組合中之至少一者中。
  12. 如請求項8之方法,其包含在應用局域色調映射之後但在使用該按比例縮放邏輯來應用按比例縮放之前使用亮度、對比度及色彩(BCC)調整邏輯將BCC調整中之至少一者應用於該影像圖框。
  13. 如請求項8之方法,其中該至少一所要輸出解析度包含一第一輸出解析度及一第二輸出解析度,其中該第一輸出解析度對應於經組態以顯示該影像圖框之一顯示裝置之一所要檢視解析度,且其中該第二輸出解析度對應於低於該所要檢視解析度之一預覽解析度。
  14. 一種影像信號處理系統,其包含:一後端像素處理單元,其經組態以接收影像資料之一 圖框,其中該後端像素處理單元包含:面部偵測邏輯,其經組態以接收且處理該影像圖框,且輸出指示該影像圖框內之面部特徵之位置的一組面部偵測資料;色調映射邏輯,其經組態以將色調映射應用於該影像圖框;按比例縮放邏輯,其經組態以將該影像圖框按比例縮放至一或多個所要輸出解析度;及一後端統計處理單元,其經組態以處理該按比例縮放之影像資料以收集用於該按比例縮放之影像資料的頻率統計;及編碼器/解碼器邏輯,其經組態以至少部分地基於該等頻率統計將壓縮應用於該按比例縮放之影像資料。
  15. 如請求項14之影像信號處理系統,其中該後端統計處理單元處理該按比例縮放之影像資料作為複數個巨集區塊,且其中收集該等頻率統計包含判定指示每一巨集區塊之頻率含量的一頻率參數。
  16. 如請求項15之影像信號處理系統,其中該頻率參數係使用一離散餘弦變換、一快速傅立葉變換或子波壓縮或其某一組合中之至少一者針對每一巨集區塊而判定。
  17. 如請求項15之影像信號處理系統,其中針對每一巨集區塊,該編碼器/解碼器邏輯基於與該巨集區塊相關聯之該頻率參數來調變至少一量化參數。
  18. 如請求項14之影像信號處理系統,其中該面部偵測資料 提供至該後端統計處理單元及該編碼器/解碼器邏輯中之至少一者,且其中該編碼器/解碼器邏輯經組態以減少針對該影像圖框中對應於如藉由該面部偵測資料所指示的面部特徵之該等位置的巨集區塊之量化。
  19. 如請求項14之影像信號處理系統,其中該後端像素處理單元包含經組態以接收該影像圖框及來自該按比例縮放單元之至少一按比例縮放之影像圖框兩者的選擇邏輯,且其中該選擇邏輯經組態以選擇該影像圖框抑或該按比例縮放之影像圖框中的一者且將該所選擇影像圖框提供至該面部偵測邏輯。
  20. 如請求項14之影像信號處理系統,其中該編碼器包含一H.264/JPEG編碼器。
  21. 一種電子裝置,其包含:一數位影像感測器;一感測器介面,其經組態以與該數位影像感測器通信;一記憶體裝置;一顯示裝置,其經組態以顯示對應於藉由該數位影像感測器所獲取之原始影像資料之一影像場景之一視覺表示;及一影像信號處理子系統,其包含:一影像處理管線,其經組態以接收包含使用該數位影像感測器所獲取之像素的原始影像資料之一圖框,解馬賽克該原始影像圖框以產生一對應全色RGB影像 圖框,且將全色RGB影像資料轉換為一對應明度及色度影像圖框;及一後端處理單元,其經組態以:接收該明度及色度影像圖框且使用面部偵測邏輯、局域色調映射邏輯及按比例縮放邏輯中之至少一者來處理該明度及色度影像圖框;及使用一後端統計引擎來收集對應於經處理之該明度及色度影像圖框之影像統計;其中該等影像統計包括可用以判定用於使用一編碼器來編碼經處理之該明度及色度影像圖框之量化參數的頻率統計。
  22. 如請求項21之電子裝置,其中使用該局域色調映射邏輯來處理該明度及色度影像圖框包含首先將該明度及色度圖框自明度及色度色彩空間轉換為一至少近似線性RGB色彩空間,及將局域色調映射應用於該近似線性RGB色彩空間。
  23. 如請求項22之電子裝置,其中將該明度及色度資料轉換為該至少近似線性RGB色彩空間包含基於一冪函數來應用一近似變換。
  24. 如請求項23之電子裝置,其中若該明度及色度資料包含呈一YCC 4:2:2或YCC 4:2:0子取樣資料格式之明度及色度資料,則該明度及色度資料在轉換為該至少近似線性RGB色彩空間之前首先升轉換至一YCC 4:4:4全資料格式。
  25. 如請求項22之電子裝置,其中將該明度及色度資料轉換為該至少近似線性RGB色彩空間包含將該明度及色度資料轉換至一sRGB色彩空間,且接著將該sRGB資料轉換至一sRGBlinear 色彩空間。
TW100135691A 2010-09-30 2011-09-30 使用具有後端處理邏輯之影像信號處理器處理影像資料之系統及方法 TWI433532B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/894,833 US8786625B2 (en) 2010-09-30 2010-09-30 System and method for processing image data using an image signal processor having back-end processing logic

Publications (2)

Publication Number Publication Date
TW201233158A TW201233158A (en) 2012-08-01
TWI433532B true TWI433532B (zh) 2014-04-01

Family

ID=44675819

Family Applications (1)

Application Number Title Priority Date Filing Date
TW100135691A TWI433532B (zh) 2010-09-30 2011-09-30 使用具有後端處理邏輯之影像信號處理器處理影像資料之系統及方法

Country Status (10)

Country Link
US (1) US8786625B2 (zh)
EP (1) EP2622867A1 (zh)
KR (1) KR101320804B1 (zh)
CN (1) CN102547301B (zh)
AU (1) AU2011312756B2 (zh)
BR (1) BR112013007333A2 (zh)
MX (1) MX2013003446A (zh)
RU (1) RU2542928C2 (zh)
TW (1) TWI433532B (zh)
WO (1) WO2012047425A1 (zh)

Families Citing this family (136)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101448308B1 (ko) * 2008-02-04 2014-10-08 삼성전자주식회사 썸네일 이미지 생성 방법 및 장치
US8488055B2 (en) 2010-09-30 2013-07-16 Apple Inc. Flash synchronization using image sensor interface timing signal
ES2956211T3 (es) * 2010-10-18 2023-12-15 Dolby Laboratories Licensing Corp Aparatos y métodos de procesamiento de imagen que usan definiciones de gama localizada
JP5195942B2 (ja) * 2011-01-24 2013-05-15 ブラザー工業株式会社 走査型画像表示装置
CA2771851C (en) * 2011-04-12 2018-07-24 Research In Motion Limited Camera flash for improved color balance
CN104025013B (zh) * 2011-12-29 2017-08-08 英特尔公司 在线性存储格式和y瓦片化存储格式之间转置图像数据
US8988578B2 (en) 2012-02-03 2015-03-24 Honeywell International Inc. Mobile computing device with improved image preview functionality
US9743057B2 (en) 2012-05-31 2017-08-22 Apple Inc. Systems and methods for lens shading correction
US9014504B2 (en) 2012-05-31 2015-04-21 Apple Inc. Systems and methods for highlight recovery in an image signal processor
US9025867B2 (en) 2012-05-31 2015-05-05 Apple Inc. Systems and methods for YCC image processing
US8817120B2 (en) 2012-05-31 2014-08-26 Apple Inc. Systems and methods for collecting fixed pattern noise statistics of image data
US8872946B2 (en) 2012-05-31 2014-10-28 Apple Inc. Systems and methods for raw image processing
US8917336B2 (en) 2012-05-31 2014-12-23 Apple Inc. Image signal processing involving geometric distortion correction
US9105078B2 (en) 2012-05-31 2015-08-11 Apple Inc. Systems and methods for local tone mapping
US8953882B2 (en) 2012-05-31 2015-02-10 Apple Inc. Systems and methods for determining noise statistics of image data
US9031319B2 (en) 2012-05-31 2015-05-12 Apple Inc. Systems and methods for luma sharpening
US9332239B2 (en) 2012-05-31 2016-05-03 Apple Inc. Systems and methods for RGB image processing
US11089247B2 (en) 2012-05-31 2021-08-10 Apple Inc. Systems and method for reducing fixed pattern noise in image data
US9142012B2 (en) 2012-05-31 2015-09-22 Apple Inc. Systems and methods for chroma noise reduction
US9077943B2 (en) 2012-05-31 2015-07-07 Apple Inc. Local image statistics collection
JP2014052552A (ja) * 2012-09-07 2014-03-20 Sharp Corp メモリ制御装置、携帯端末、メモリ制御プログラムおよびコンピュータ読み取り可能な記録媒体
US9854138B2 (en) * 2012-09-20 2017-12-26 Gyrus Acmi, Inc. Fixed pattern noise reduction
US9058541B2 (en) 2012-09-21 2015-06-16 Fondation De L'institut De Recherche Idiap Object detection method, object detector and object detection computer program
US9201821B2 (en) * 2012-09-27 2015-12-01 Apple Inc. Interrupt timestamping
TWI495862B (zh) 2012-10-04 2015-08-11 Pixart Imaging Inc 檢測影像感測器的方法以及相關裝置
US9741098B2 (en) * 2012-10-12 2017-08-22 Nvidia Corporation System and method for optimizing image quality in a digital camera
CN103871352A (zh) * 2012-12-11 2014-06-18 华东师范大学 一种三维显示控制装置
US20140173086A1 (en) * 2012-12-13 2014-06-19 Telemetry Limited Method and apparatus for determining digital media visibility
EP2992670A1 (en) 2013-04-29 2016-03-09 Hewlett-Packard Development Company, L.P. Color image processing
US9888240B2 (en) * 2013-04-29 2018-02-06 Apple Inc. Video processors for preserving detail in low-light scenes
US9462179B2 (en) 2013-05-20 2016-10-04 Omnivision Technologies, Inc. Image sensor with fast intra-frame focus
US9124823B2 (en) 2013-05-20 2015-09-01 Omnivision Technologies, Inc. Image sensor with fast intra-frame focus
CN103593828A (zh) * 2013-11-13 2014-02-19 厦门美图网科技有限公司 一种局部添加滤镜的图像处理方法
KR102128468B1 (ko) * 2014-02-19 2020-06-30 삼성전자주식회사 복수의 이미지 신호 프로세서들을 포함하는 이미지 처리 장치 및 이미지 처리 방법
EP2913993B1 (en) * 2014-02-26 2016-02-17 Axis AB Method and control unit for controlling exposure of a camera
CN104933689B (zh) * 2014-03-19 2018-01-16 炬芯(珠海)科技有限公司 一种图像信号处理方法及装置
WO2015174613A1 (ko) * 2014-05-13 2015-11-19 한국과학기술원 타임 레지스터, 이를 이용한 시간 연산 장치, 시간 연산 방법, 시간-디지털 변환 장치 및 시간-디지털 변환 방법
JP6612056B2 (ja) * 2014-05-16 2019-11-27 株式会社半導体エネルギー研究所 撮像装置、及び監視装置
US10136141B2 (en) * 2014-06-11 2018-11-20 Qualcomm Incorporated Determining quantization parameter (QP) values and delta QP values for palette coded blocks in video coding
JP6301759B2 (ja) * 2014-07-07 2018-03-28 東芝テック株式会社 顔識別装置及びプログラム
US9462189B2 (en) 2014-07-31 2016-10-04 Apple Inc. Piecewise perspective transform engine
US9219870B1 (en) * 2014-07-31 2015-12-22 Apple Inc. Sensor data rescaler for image signal processing
US9386234B2 (en) 2014-07-31 2016-07-05 Apple Inc. Auto filter extent management
US9762919B2 (en) * 2014-08-28 2017-09-12 Apple Inc. Chroma cache architecture in block processing pipelines
CN105430429B (zh) * 2014-09-18 2019-09-13 青岛海尔电子有限公司 一种媒体数据的优化方法和装置
US9779471B2 (en) * 2014-10-01 2017-10-03 Qualcomm Incorporated Transparent pixel format converter
US10531103B2 (en) 2014-10-16 2020-01-07 Purdue Research Foundation Video coding using a saliency map
KR102251444B1 (ko) 2014-10-21 2021-05-13 삼성전자주식회사 그래픽 프로세싱 유닛, 이를 포함하는 그래픽 프로세싱 시스템, 및 이를 이용한 안티 에일리어싱 방법
CN105635634A (zh) * 2014-11-07 2016-06-01 中兴通讯股份有限公司 一种实现视频图像处理的方法及装置
CN104581098B (zh) * 2014-12-01 2016-09-28 北京思比科微电子技术股份有限公司 一种lens shading自适应的处理方法
CN104484418B (zh) * 2014-12-17 2017-10-31 中国科学技术大学 一种基于双分辨率的特征量化方法及系统
SG10201900004UA (en) * 2014-12-19 2019-02-27 Hfi Innovation Inc Methods of palette based prediction for non-444 color format in video and image coding
US10257542B1 (en) * 2015-03-25 2019-04-09 Amazon Technologies, Inc. Compression encoding of images
US9697796B2 (en) * 2015-03-26 2017-07-04 Intel Corporation Adaptive linear luma domain video pipeline architecture
RU2596610C1 (ru) * 2015-06-16 2016-09-10 Федеральное государственное унитарное предприятие "Государственный научно-исследовательский институт авиационных систем" Способ поиска и обнаружения объекта
US9787922B2 (en) 2015-08-31 2017-10-10 Apple Inc. Pixel defect preprocessing in an image signal processor
US9754182B2 (en) 2015-09-02 2017-09-05 Apple Inc. Detecting keypoints in image data
US10440299B2 (en) 2015-09-04 2019-10-08 Apple Inc. Correcting pixel defects based on defect history in an image processing pipeline
CN105142300A (zh) * 2015-09-23 2015-12-09 广州硅能照明有限公司 一种无频闪led交流驱动装置和方法
US20170142313A1 (en) * 2015-11-16 2017-05-18 Microsoft Corporation Image sensor system
KR102410016B1 (ko) * 2015-12-16 2022-06-16 삼성전자주식회사 이미지 처리 장치 및 이미지 처리 시스템
KR102512828B1 (ko) 2016-01-22 2023-03-22 삼성전자주식회사 이벤트 신호 처리 방법 및 장치
RU2632415C2 (ru) * 2016-02-11 2017-10-04 Общество С Ограниченной Ответственностью "Яндекс" Способ и система сохранения в памяти пиксельных данных, связанных с графическим объектом
GB2554633B (en) 2016-06-24 2020-01-22 Imperial College Sci Tech & Medicine Detecting objects in video data
US9992467B2 (en) * 2016-06-30 2018-06-05 Apple Inc. Parallel computer vision and image scaling architecture
WO2018026155A1 (en) * 2016-08-01 2018-02-08 Samsung Electronics Co., Ltd. Method and electronic device for recognizing touch
KR20180014644A (ko) 2016-08-01 2018-02-09 삼성전자주식회사 터치 인식 방법 및 이를 수행하는 전자 장치
US10504487B2 (en) * 2016-10-14 2019-12-10 Apple Inc. Ambient and content adaptive pixel manipulation
CN107977929B (zh) * 2016-10-21 2021-02-23 中国电信股份有限公司 图像超分辨率处理方法和装置
US10218952B2 (en) 2016-11-28 2019-02-26 Microsoft Technology Licensing, Llc Architecture for rendering high dynamic range video on enhanced dynamic range display devices
US10104334B2 (en) 2017-01-27 2018-10-16 Microsoft Technology Licensing, Llc Content-adaptive adjustment of display device brightness levels when rendering high dynamic range content
US10176561B2 (en) * 2017-01-27 2019-01-08 Microsoft Technology Licensing, Llc Content-adaptive adjustments to tone mapping operations for high dynamic range content
US10467509B2 (en) * 2017-02-14 2019-11-05 Microsoft Technology Licensing, Llc Computationally-efficient human-identifying smart assistant computer
US10051252B1 (en) 2017-03-07 2018-08-14 Filmic Inc. Method of decaying chrominance in images
US10904531B2 (en) * 2017-03-23 2021-01-26 Qualcomm Incorporated Adaptive parameters for coding of 360-degree video
TW202344047A (zh) * 2017-04-06 2023-11-01 美商松下電器(美國)知識產權公司 解碼裝置、編碼裝置及電腦可讀取之非暫時性記憶媒體
TWI833248B (zh) * 2017-04-06 2024-02-21 美商松下電器(美國)知識產權公司 解碼方法及編碼方法
TW201842768A (zh) * 2017-04-06 2018-12-01 美商松下電器(美國)知識產權公司 編碼裝置、解碼裝置、編碼方法及解碼方法
WO2018194618A1 (en) * 2017-04-20 2018-10-25 Hewlett-Packard Development Company, L.P. Combining lookup tables
US10489878B2 (en) * 2017-05-15 2019-11-26 Google Llc Configurable and programmable image processor unit
US11107177B1 (en) * 2017-06-16 2021-08-31 Amazon Technologies, Inc. Data/metadata synchronization using metadata queue statistics
CN107463349B (zh) * 2017-07-01 2020-08-04 广州视源电子科技股份有限公司 色盘建立方法及颜色定位方法
CN107634819A (zh) * 2017-07-14 2018-01-26 西安万像电子科技有限公司 传感器数据的传输方法、设备及系统
US10412410B2 (en) * 2017-08-14 2019-09-10 Google Llc Compound motion-compensated prediction
CN107610132B (zh) * 2017-08-28 2021-12-31 西北民族大学 一种古籍文档图像污渍去除方法
US11361729B2 (en) * 2017-09-08 2022-06-14 Apple Inc. Burn-in statistics and burn-in compensation
DE102017217723A1 (de) * 2017-10-05 2019-04-11 Robert Bosch Gmbh Vorrichtung und Verfahren zur Korrektur von mindestens einem Übertragungsparameter
CN107680064A (zh) * 2017-10-31 2018-02-09 长沙准光里电子科技有限公司 计算机可读存储介质
US10552707B2 (en) * 2017-12-07 2020-02-04 Qualcomm Incorporated Methods and devices for image change detection
CN108198152B (zh) * 2018-02-07 2020-05-12 Oppo广东移动通信有限公司 图像处理方法和装置、电子设备、计算机可读存储介质
EP3803691A4 (en) * 2018-06-05 2022-01-19 Hewlett-Packard Development Company, L.P. GENERATION OF MODIFIED IMAGES FROM SEED IMAGES
WO2019239396A1 (en) * 2018-06-12 2019-12-19 Kliots Shapira Ela Method and system for automatic real-time frame segmentation of high resolution video streams into constituent features and modifications of features in each frame to simultaneously create multiple different linear views from same video source
CN110858895B (zh) * 2018-08-22 2023-01-24 虹软科技股份有限公司 一种图像处理方法和装置
JP2021193762A (ja) * 2018-09-28 2021-12-23 ソニーグループ株式会社 受信装置、および受信方法、並びに、画像処理システム
US10957024B2 (en) 2018-10-30 2021-03-23 Microsoft Technology Licensing, Llc Real time tone mapping of high dynamic range image data at time of playback on a lower dynamic range display
CN109348146B (zh) * 2018-10-31 2021-03-02 上海集成电路研发中心有限公司 一种图像传感器的静态坏点校正装置及其校正方法
CN111199515B (zh) * 2018-11-16 2024-03-19 西安诺瓦星云科技股份有限公司 缩放器、图像缩放方法及装置
US11138765B2 (en) * 2018-12-10 2021-10-05 Gopro, Inc. Non-linear color correction
US11094030B2 (en) * 2018-12-21 2021-08-17 Microsoft Technology Licensing, Llc Methods of transforming image misalignment
RU2715292C1 (ru) * 2019-01-31 2020-02-26 ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ КАЗЕННОЕ ВОЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ "Военная академия Ракетных войск стратегического назначения имени Петра Великого" МИНИСТЕРСТВА ОБОРОНЫ РОССИЙСКОЙ ФЕДЕРАЦИИ Способ и устройство обработки оптической информации
CN109859142B (zh) * 2019-02-19 2021-06-22 广州视源电子科技股份有限公司 图像亮度的调节方法、装置、计算机设备和存储介质
US11405535B2 (en) 2019-02-28 2022-08-02 Qualcomm Incorporated Quad color filter array camera sensor configurations
WO2020190945A1 (en) * 2019-03-18 2020-09-24 Google Llc Frame overlay for encoding artifacts
CN109889417B (zh) * 2019-03-19 2020-08-04 每步科技(上海)有限公司 通信组件开关控制系统及方法
CN110347362B (zh) * 2019-07-05 2021-05-11 南京芯驰半导体科技有限公司 图像显示控制方法及装置
RU2742871C1 (ru) * 2020-02-19 2021-02-11 Федеральное государственное казенное военное образовательное учреждение высшего образования "Военный учебно-научный центр Военно-воздушных сил "Военно-воздушная академия имени профессора Н.Е. Жуковского и Ю.А. Гагарина" (г. Воронеж) Министерства обороны Российской Федерации Способ двумерной дискретной фильтрации объектов заданного размера
US11665273B2 (en) * 2020-03-03 2023-05-30 Samsung Electronics Co., Ltd. System and method for image color management
CN113453001A (zh) * 2020-03-24 2021-09-28 合肥君正科技有限公司 一种利用isp信息自适应分配qp提高h264编码效率的方法
WO2021194501A1 (en) * 2020-03-27 2021-09-30 Hewlett-Packard Development Company, L.P. Alternate operating systems
CN115398902A (zh) * 2020-04-08 2022-11-25 高通股份有限公司 高动态范围(hdr)视频旋转动画
KR102710388B1 (ko) * 2020-05-18 2024-09-27 에스케이하이닉스 주식회사 로컬 톤 맵핑 회로, 이미지 센싱 장치 및 그 동작방법
TWI738379B (zh) * 2020-06-10 2021-09-01 聯詠科技股份有限公司 影像處理電路及其影像位移方法
CN111815661B (zh) * 2020-07-14 2024-02-02 合肥工业大学 基于Retinex分解的铅笔画图像生成方法及装置
US11388348B2 (en) * 2020-07-20 2022-07-12 Samsung Electronics Co., Ltd. Systems and methods for dynamic range compression in multi-frame processing
CN112017191B (zh) * 2020-08-12 2023-08-22 西北大学 基于注意力机制的肝脏病理图像分割模型建立及分割方法
US11736804B2 (en) * 2020-09-07 2023-08-22 Mediatek Inc. Method and apparatus for generating high dynamic range frame through white balance compensation that uses white balance gain table generated from combining multiple sets of white balance gain settings
CN112206508A (zh) * 2020-09-25 2021-01-12 腾讯科技(深圳)有限公司 一种图像检测方法、装置及计算机可读存储介质
CN112381743A (zh) * 2020-12-01 2021-02-19 影石创新科技股份有限公司 图像处理方法、装置、设备和存储介质
US11653105B2 (en) * 2020-12-02 2023-05-16 Texas Instmments Incorporated Intensity separated local white balance correction
CN112954241A (zh) * 2021-02-20 2021-06-11 南京威派视半导体技术有限公司 图像传感器的图像数据读取系统及读取与组织的方法
EP4057141A1 (en) * 2021-03-08 2022-09-14 Beijing Xiaomi Mobile Software Co., Ltd. A method for optimizing image signal processing
CN115225828B (zh) * 2021-04-17 2024-04-23 Oppo广东移动通信有限公司 前置图像信号处理装置及图像信息传输方法
CN115604590A (zh) 2021-07-07 2023-01-13 三星电子株式会社(Kr) 图像信号处理器、图像信号处理器的操作方法和包括图像信号处理器的图像传感器设备
CN115731829B (zh) * 2021-08-30 2024-08-27 广州视源电子科技股份有限公司 一种画质调节方法、存储介质及显示设备
US11509836B1 (en) 2021-12-29 2022-11-22 Insight Direct Usa, Inc. Dynamically configured processing of a region of interest dependent upon published video data selected by a runtime configuration file
US11704891B1 (en) 2021-12-29 2023-07-18 Insight Direct Usa, Inc. Dynamically configured extraction, preprocessing, and publishing of a region of interest that is a subset of streaming video data
CN114339045B (zh) * 2021-12-30 2024-06-07 京东方科技集团股份有限公司 图像处理系统和显示装置
CN114897697A (zh) * 2022-05-18 2022-08-12 北京航空航天大学 一种面向相机成像模型的超分辨率重建方法
CN114913096B (zh) * 2022-06-10 2024-04-23 中国科学院长春光学精密机械与物理研究所 一种特征初始化的非均匀校正方法及其系统
US11778167B1 (en) 2022-07-26 2023-10-03 Insight Direct Usa, Inc. Method and system for preprocessing optimization of streaming video data
CN115426449B (zh) * 2022-07-30 2023-07-11 荣耀终端有限公司 一种拍照方法和终端
CN116091329B (zh) * 2022-08-31 2023-10-20 荣耀终端有限公司 图像处理方法、装置、设备及存储介质
CN115546614B (zh) * 2022-12-02 2023-04-18 天津城建大学 一种基于改进yolov5模型的安全帽佩戴检测方法
KR20240092242A (ko) * 2022-12-14 2024-06-24 삼성전자주식회사 디모자이킹 방법 및 디모자이킹 장치
CN116930955B (zh) * 2023-09-15 2023-12-22 名商科技有限公司 一种高速导航自动驾驶系统
CN117176933B (zh) * 2023-11-02 2024-01-23 摩尔线程智能科技(北京)有限责任公司 一种图像信号处理方法及装置、电子设备和存储介质

Family Cites Families (107)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4589089A (en) 1978-05-30 1986-05-13 Bally Manufacturing Corporation Computer-peripheral interface for a game apparatus
US4475172A (en) 1978-05-30 1984-10-02 Bally Manufacturing Corporation Audio/visual home computer and game apparatus
US4799677A (en) 1983-09-02 1989-01-24 Bally Manufacturing Corporation Video game having video disk read only memory
US4979738A (en) 1983-12-06 1990-12-25 Midway Manufacturing Corporation Constant spatial data mass RAM video display system
US4694489A (en) 1983-12-22 1987-09-15 Frederiksen Jeffrey E Video transmission system
US4605961A (en) 1983-12-22 1986-08-12 Frederiksen Jeffrey E Video transmission system using time-warp scrambling
US4742543A (en) 1983-12-22 1988-05-03 Frederiksen Jeffrey E Video transmission system
US4682360A (en) 1983-12-22 1987-07-21 Frederiksen Jeffrey E Video transmission system
US4743959A (en) 1986-09-17 1988-05-10 Frederiksen Jeffrey E High resolution color video image acquisition and compression system
WO1991002428A1 (en) 1989-08-08 1991-02-21 Sanyo Electric Co., Ltd Automatically focusing camera
US5227863A (en) 1989-11-14 1993-07-13 Intelligent Resources Integrated Systems, Inc. Programmable digital video processing system
EP0445451A1 (en) * 1990-03-07 1991-09-11 International Business Machines Corporation Image processor for producing antialiased images
US5272529A (en) 1992-03-20 1993-12-21 Northwest Starscan Limited Partnership Adaptive hierarchical subband vector quantization encoder
US5247355A (en) 1992-06-11 1993-09-21 Northwest Starscan Limited Partnership Gridlocked method and system for video motion compensation
AU5099593A (en) 1992-09-01 1994-03-29 Apple Computer, Inc. Improved vector quantization
US6122411A (en) 1994-02-16 2000-09-19 Apple Computer, Inc. Method and apparatus for storing high and low resolution images in an imaging device
US5694227A (en) 1994-07-15 1997-12-02 Apple Computer, Inc. Method and apparatus for calibrating and adjusting a color imaging system
US5764291A (en) 1994-09-30 1998-06-09 Apple Computer, Inc. Apparatus and method for orientation-dependent camera exposure and focus setting optimization
US5496106A (en) 1994-12-13 1996-03-05 Apple Computer, Inc. System and method for generating a contrast overlay as a focus assist for an imaging device
US5640613A (en) 1995-04-14 1997-06-17 Apple Computer, Inc. Corrective lens assembly
US6011585A (en) 1996-01-19 2000-01-04 Apple Computer, Inc. Apparatus and method for rotating the display orientation of a captured image
US5867214A (en) 1996-04-11 1999-02-02 Apple Computer, Inc. Apparatus and method for increasing a digital camera image capture rate by delaying image processing
US5809178A (en) 1996-06-11 1998-09-15 Apple Computer, Inc. Elimination of visible quantizing artifacts in a digital image utilizing a critical noise/quantizing factor
US6031964A (en) 1996-06-20 2000-02-29 Apple Computer, Inc. System and method for using a unified memory architecture to implement a digital camera device
US5991465A (en) 1996-08-29 1999-11-23 Apple Computer, Inc. Modular digital image processing via an image processing chain with modifiable parameter controls
US6028611A (en) 1996-08-29 2000-02-22 Apple Computer, Inc. Modular digital image processing via an image processing chain
US6157394A (en) 1996-08-29 2000-12-05 Apple Computer, Inc. Flexible digital image processing via an image processing chain with modular image processors
US5790705A (en) 1996-09-13 1998-08-04 Apple Computer, Inc. Compression techniques for substantially lossless digital image data storage
US6141044A (en) 1996-09-26 2000-10-31 Apple Computer, Inc. Method and system for coherent image group maintenance in memory
US6151069A (en) * 1997-11-03 2000-11-21 Intel Corporation Dual mode digital camera for video and still operation
US6198514B1 (en) 1998-02-27 2001-03-06 Apple Computer, Inc. Color misconvergence measurement using a common monochrome image
US6686957B1 (en) * 1999-03-31 2004-02-03 Cirrus Logic, Inc. Preview mode low resolution output system and method
US6549214B1 (en) * 1999-12-31 2003-04-15 General Electric Company Automatic scaling of display for image management system
US6618045B1 (en) * 2000-02-04 2003-09-09 Microsoft Corporation Display device with self-adjusting control parameters
JP2001281529A (ja) 2000-03-29 2001-10-10 Minolta Co Ltd デジタルカメラ
US6954193B1 (en) 2000-09-08 2005-10-11 Apple Computer, Inc. Method and apparatus for correcting pixel level intensity variation
JP2002094992A (ja) 2000-09-19 2002-03-29 Sony Corp 符号化データ長検出装置とその方法および画像符号化装置
US7869067B2 (en) 2000-10-20 2011-01-11 Visioneer, Inc. Combination scanner and image data reader system including image management and software
US6745012B1 (en) 2000-11-17 2004-06-01 Telefonaktiebolaget Lm Ericsson (Publ) Adaptive data compression in a wireless telecommunications system
US7170938B1 (en) 2001-08-21 2007-01-30 Cisco Systems Canada Co. Rate control method for video transcoding
US6959044B1 (en) 2001-08-21 2005-10-25 Cisco Systems Canada Co. Dynamic GOP system and method for digital video encoding
US8780970B2 (en) * 2001-12-21 2014-07-15 Polycom, Inc. Motion wake identification and control mechanism
JP4007052B2 (ja) * 2002-05-07 2007-11-14 セイコーエプソン株式会社 画像処理制御データ更新装置
WO2004015476A1 (ja) 2002-08-07 2004-02-19 Matsushita Electric Industrial Co., Ltd. 合焦装置
US7136073B2 (en) * 2002-10-17 2006-11-14 Canon Kabushiki Kaisha Automatic tone mapping for images
US7277595B1 (en) 2003-01-06 2007-10-02 Apple Inc. Method and apparatus for digital image manipulation to remove image blemishes
US7257278B2 (en) * 2003-02-26 2007-08-14 Hewlett-Packard Development Company, L.P. Image sensor for capturing and filtering image data
US7310371B2 (en) 2003-05-30 2007-12-18 Lsi Corporation Method and/or apparatus for reducing the complexity of H.264 B-frame encoding using selective reconstruction
US7327786B2 (en) 2003-06-02 2008-02-05 Lsi Logic Corporation Method for improving rate-distortion performance of a video compression system through parallel coefficient cancellation in the transform
US7158668B2 (en) * 2003-08-01 2007-01-02 Microsoft Corporation Image processing using linear light values and other image processing improvements
RU2358319C2 (ru) * 2003-08-29 2009-06-10 Самсунг Электроникс Ко., Лтд. Способ и устройство для фотореалистического трехмерного моделирования лица на основе изображения
US7324595B2 (en) 2003-09-22 2008-01-29 Lsi Logic Corporation Method and/or apparatus for reducing the complexity of non-reference frame encoding using selective reconstruction
US7492375B2 (en) * 2003-11-14 2009-02-17 Microsoft Corporation High dynamic range image viewing on low dynamic range displays
US7602849B2 (en) 2003-11-17 2009-10-13 Lsi Corporation Adaptive reference picture selection based on inter-picture motion measurement
EP1534016A3 (en) * 2003-11-21 2007-03-07 Matsushita Electric Industrial Co., Ltd. Using motion vectors and the occurrence of coefficient quantization levels to drive a noise removal image postprocessing
US7362804B2 (en) 2003-11-24 2008-04-22 Lsi Logic Corporation Graphical symbols for H.264 bitstream syntax elements
US7362376B2 (en) 2003-12-23 2008-04-22 Lsi Logic Corporation Method and apparatus for video deinterlacing and format conversion
US7345708B2 (en) 2003-12-23 2008-03-18 Lsi Logic Corporation Method and apparatus for video deinterlacing and format conversion
US7515765B1 (en) 2004-01-30 2009-04-07 Apple Inc. Image sharpness management
US7231587B2 (en) 2004-03-29 2007-06-12 Lsi Corporation Embedded picture PSNR/CRC data in compressed video bitstream
US8462850B2 (en) * 2004-07-02 2013-06-11 Qualcomm Incorporated Motion estimation in video compression systems
US7620103B2 (en) 2004-12-10 2009-11-17 Lsi Corporation Programmable quantization dead zone and threshold for standard-based H.264 and/or VC1 video encoding
US7612804B1 (en) 2005-02-15 2009-11-03 Apple Inc. Methods and apparatuses for image processing
US20060222243A1 (en) * 2005-04-02 2006-10-05 Newell Martin E Extraction and scaled display of objects in an image
US7949044B2 (en) 2005-04-12 2011-05-24 Lsi Corporation Method for coefficient bitdepth limitation, encoder and bitstream generation apparatus
JP4526445B2 (ja) * 2005-06-15 2010-08-18 オリンパス株式会社 撮像装置
JP2007005879A (ja) * 2005-06-21 2007-01-11 Konica Minolta Photo Imaging Inc 画像出力装置、画像入出力システム、撮像装置およびプログラム
US8135068B1 (en) * 2005-07-19 2012-03-13 Maxim Integrated Products, Inc. Method and/or architecture for motion estimation using integrated information from camera ISP
US8031766B2 (en) 2005-08-02 2011-10-04 Lsi Corporation Performance adaptive video encoding with concurrent decoding
US7903739B2 (en) 2005-08-05 2011-03-08 Lsi Corporation Method and apparatus for VC-1 to MPEG-2 video transcoding
US7881384B2 (en) 2005-08-05 2011-02-01 Lsi Corporation Method and apparatus for H.264 to MPEG-2 video transcoding
US8045618B2 (en) 2005-08-05 2011-10-25 Lsi Corporation Method and apparatus for MPEG-2 to VC-1 video transcoding
US8208540B2 (en) 2005-08-05 2012-06-26 Lsi Corporation Video bitstream transcoding method and apparatus
US8155194B2 (en) 2005-08-05 2012-04-10 Lsi Corporation Method and apparatus for MPEG-2 to H.264 video transcoding
EP1929768A4 (en) * 2005-08-26 2010-05-05 Idt Corp TRACKING AND INTEGRATION OF REGION OF INTEREST IN A VIDEO CODEC
US7596280B2 (en) 2005-09-29 2009-09-29 Apple Inc. Video acquisition with integrated GPU processing
TWI285500B (en) 2005-11-11 2007-08-11 Primax Electronics Ltd Auto focus method for digital camera
US7522173B1 (en) * 2006-02-23 2009-04-21 Nvidia Corporation Conversion of data in an sRGB format to a compact floating point format
RU2329535C2 (ru) * 2006-05-24 2008-07-20 Самсунг Электроникс Ко., Лтд. Способ автоматического кадрирования фотографий
US8275045B2 (en) 2006-07-12 2012-09-25 Qualcomm Incorporated Video compression using adaptive variable length codes
US8970680B2 (en) 2006-08-01 2015-03-03 Qualcomm Incorporated Real-time capturing and generating stereo images and videos with a monoscopic low power mobile device
US7893975B2 (en) 2006-10-13 2011-02-22 Apple Inc. System and method for processing images using predetermined tone reproduction curves
US7773127B2 (en) 2006-10-13 2010-08-10 Apple Inc. System and method for RAW image processing
JP4254841B2 (ja) 2006-10-20 2009-04-15 ソニー株式会社 撮像装置、撮像方法、画像処理装置、画像処理方法および画像処理プログラム
US7463340B2 (en) * 2007-03-28 2008-12-09 Honeywell International Inc. Ladar-based motion estimation for navigation
US20080292219A1 (en) * 2007-05-24 2008-11-27 Gary Keall Method And System For An Image Sensor Pipeline On A Mobile Imaging Device
JP2009017306A (ja) * 2007-07-05 2009-01-22 Olympus Corp 画像表示装置及びそれを用いた撮像装置
CN101082992A (zh) * 2007-07-06 2007-12-05 浙江大学 实时高动态范围图像的绘制和显示方法
US9830691B2 (en) * 2007-08-03 2017-11-28 The University Of Akron Method for real-time implementable local tone mapping for high dynamic range images
KR101023945B1 (ko) 2007-08-08 2011-03-28 주식회사 코아로직 Jpeg 캡쳐 시간 단축을 위한 영상 처리 장치 및 그영상 처리 장치에서 jpeg 캡쳐 방법
US20090317017A1 (en) * 2008-06-20 2009-12-24 The Hong Kong University Of Science And Technology Image characteristic oriented tone mapping for high dynamic range images
WO2009064537A1 (en) * 2007-11-15 2009-05-22 Marvell World Trade Ltd. Method and system for noise management for spatial processing in digital image/video capture systems
US8405727B2 (en) 2008-05-01 2013-03-26 Apple Inc. Apparatus and method for calibrating image capture devices
WO2009132472A2 (en) * 2008-05-01 2009-11-05 Ww Technology Ag Device and method for establishing an anchorage in tissue
CN102067610B (zh) * 2008-06-16 2013-07-10 杜比实验室特许公司 基于视频编码的切片依赖性的码率控制模型适配
US20090316961A1 (en) * 2008-06-21 2009-12-24 Microsoft Corporation Method for tagging image content
JP5266957B2 (ja) * 2008-08-21 2013-08-21 パナソニック株式会社 欠陥画素検出装置、撮像装置、および欠陥画素検出方法
US8059892B1 (en) * 2008-10-01 2011-11-15 Hewlett-Packard Development Company, L.P. Image enhancement method and apparatus
KR101553850B1 (ko) 2008-10-21 2015-09-17 에스케이 텔레콤주식회사 동영상 부호화/복호화 장치 및 그를 위한 적응적 가중치를 사용하는 적응 중첩 블록 움직임 보상 방법 및 장치
NO329897B1 (no) * 2008-12-19 2011-01-24 Tandberg Telecom As Fremgangsmate for raskere ansiktsdeteksjon
CN102473295B (zh) * 2009-06-29 2016-05-04 汤姆森特许公司 基于区的色调映射
US8346009B2 (en) * 2009-06-29 2013-01-01 Thomson Licensing Automatic exposure estimation for HDR images based on image statistics
US8487791B2 (en) * 2010-02-18 2013-07-16 Research In Motion Limited Parallel entropy coding and decoding methods and devices
US8405736B2 (en) * 2010-04-07 2013-03-26 Apple Inc. Face detection using orientation sensor data
US8766999B2 (en) * 2010-05-20 2014-07-01 Aptina Imaging Corporation Systems and methods for local tone mapping of high dynamic range images
US20120007875A1 (en) * 2010-07-12 2012-01-12 International Business Machines Corporation Multiple Monitor Video Control
US20120069143A1 (en) * 2010-09-20 2012-03-22 Joseph Yao Hua Chu Object tracking and highlighting in stereoscopic images

Also Published As

Publication number Publication date
US20120081385A1 (en) 2012-04-05
US8786625B2 (en) 2014-07-22
KR101320804B1 (ko) 2013-11-01
CN102547301A (zh) 2012-07-04
MX2013003446A (es) 2013-09-13
AU2011312756A1 (en) 2013-05-02
WO2012047425A8 (en) 2013-05-02
AU2011312756B2 (en) 2015-06-04
BR112013007333A2 (pt) 2016-07-05
CN102547301B (zh) 2015-11-25
KR20120107041A (ko) 2012-09-28
WO2012047425A1 (en) 2012-04-12
TW201233158A (en) 2012-08-01
RU2542928C2 (ru) 2015-02-27
RU2013119999A (ru) 2014-11-10
EP2622867A1 (en) 2013-08-07

Similar Documents

Publication Publication Date Title
TWI433532B (zh) 使用具有後端處理邏輯之影像信號處理器處理影像資料之系統及方法
TWI484818B (zh) 於影像信號處理系統中同步音訊及視訊資料之技術
TWI526066B (zh) 用於處理影像信號的系統、方法及電子裝置
TWI492609B (zh) 用於處理原始影像資料之影像信號處理器行緩衝器組態
TWI504265B (zh) 用於影像信號處理之溢出控制技術
TWI505720B (zh) 用於自動白平衡處理之彈性色彩空間選擇
US8508621B2 (en) Image sensor data formats and memory addressing techniques for image signal processing

Legal Events

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