TWI824289B - 影像處理演算法的測試系統及測試方法 - Google Patents

影像處理演算法的測試系統及測試方法 Download PDF

Info

Publication number
TWI824289B
TWI824289B TW110133460A TW110133460A TWI824289B TW I824289 B TWI824289 B TW I824289B TW 110133460 A TW110133460 A TW 110133460A TW 110133460 A TW110133460 A TW 110133460A TW I824289 B TWI824289 B TW I824289B
Authority
TW
Taiwan
Prior art keywords
image
image processing
hardware
test
processed
Prior art date
Application number
TW110133460A
Other languages
English (en)
Other versions
TW202232430A (zh
Inventor
呂其衡
許家良
梁景泓
王常餘
徐明震
Original Assignee
明俐科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 明俐科技有限公司 filed Critical 明俐科技有限公司
Publication of TW202232430A publication Critical patent/TW202232430A/zh
Application granted granted Critical
Publication of TWI824289B publication Critical patent/TWI824289B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • 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/92Dynamic range modification of images or parts thereof based on global image properties
    • 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/4092Image resolution transcoding, e.g. by using client-server architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Debugging And Monitoring (AREA)
  • Image Input (AREA)
  • Studio Circuits (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Transforming Light Signals Into Electric Signals (AREA)
  • Image Analysis (AREA)
  • Studio Devices (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

一種影像處理演算法的測試系統,至少包括控制單元、影像處理裝置、影像處理硬體及測試裝置。控制單元提供原始影像及演算法的參數設定值。影像處理裝置取得原始影像及參數設定值,並驅動影像處理硬體基於參數設定值對原始影像執行第一影像處理程序,以產生硬體處理後影像;測試裝置取得原始影像、參數設定值及硬體處理後影像,通過模擬軟體來基於參數設定值對原始影像執行第二影像處理程序並產生軟體處理後影像,並且通過測試軟體比對硬體處理後影像及軟體處理後影像並產生可顯示像素差異的比對結果。

Description

影像處理演算法的測試系統及測試方法
本發明涉及一種測試系統及測試方法,尤其涉及一種可對所執行的演算法以及所使用的參數進行測試的測試系統以及測試方法。
在各式積體電路(Integrated Circuit,IC)的開發過程中,開發者一般會先設計可以達到所需功能的演算法,並且在電腦上藉由特定軟體(例如C語言或MATLAB等)對演算法進行模擬,以獲得演算法執行後的效果。當確認所述演算法的效果符合需求,開發者再將演算法交給IC設計人員,並由IC設計人員在特定硬體上面實現相同的演算法。
然而,IC設計人員在設計硬體可執行的演算法時,可能會遭遇設計上的問題。例如,受到所使用的硬體本身的限制(例如精確度)或是設計時的考量(例如記憶體容量),所述硬體在實現了演算法後,可能會得到與軟體模擬不同的結果。以影像處理演算法為例,硬體與軟體在通過相同演算法分別對同一張影像執行影像處理後,可能會得到具有像素差異的兩張影像。
一般來說,所述硬體的實現結果必須與所述軟體的模擬結果一致,才能確定IC設計沒有問題。以影像處理領域為例,相關技術多是令硬體與 軟體通過相同演算法對同一張影像執行影像處理並輸出兩張處理後影像,再比對這兩張處理後影像是否一致。
所述比對動作主要是在IC設計前期的設計模擬程序中所執行,具體地,設計者通常會使用一張標準影像,將使用原始軟體進行模擬的結果與使用硬體實現的結果進行比對,而非是在實際產品化後,對實際大量的影像進行比對。因此,常常無法精確找出IC設計過程中的瑕疪,進而導致在產品化後,實際處理影像的硬體裝置所處理的影像結果無法達到預期結果。
再者,一個產品(例如影像處理IC)通常會包含多組演算法,若以人工方式進行影像的比對,僅能對最後輸出的影像進行比對。當比對後發現硬體輸出影像與軟體輸出影像具有差異時,並無法判斷是哪一個演算法出現問題,因此除錯相當困難。
有鑑於上述問題,本發明提出了一種可以自動對硬體輸出影像與軟體輸出影像進行比對,藉此對所採用的演算法進行測試的測試系統以及測試方法。
本發明之主要目的,在於提供一種影像處理演算法的測試系統及測試方法,能夠自動提供相同的影像及演算法參數給硬體及軟體,由硬體及軟體分別對同一影像執行相同的影像處理後,再自動比對處理後的影像是否具有差異,藉此確認影像參數是否適用於此硬體。
為了達成上述之目的,本發明的測試系統包括一控制單元,連接該控制單元的一影像處理裝置,連接該影像處理的一影像處理硬體,及連接 該控制單元及該影像處理硬體的一測試裝置。該控制單元提供一原始影像及一參數設定值。該影像處理裝置取得該原始影像及該參數設定值,並驅動該影像處理硬體基於該參數設定值對該原始影像執行一第一影像處理程序並產生一硬體處理後影像。該測試裝置自該影像處理硬體取得該硬體處理後影像,並從該影像處理硬體或該控制單元取得該原始影像及該參數設定值。
其中,該測試裝置執行一模擬軟體及一測試軟體,該模擬軟體基於該參數設定值對該原始影像執行一第二影像處理程序並產生一軟體處理後影像,該測試軟體對該硬體處理後影像及該軟體處理後影像執行一比對程序並產生一比對結果,其中該比對結果顯示該硬體處理後影像及該軟體處理後影像的一像素差異。
為了達成上述目的,本發明的測試方法係應用於具有用來控制一第一影像處理程序的一影像處理裝置以及用來控制一第二影像處理程序的一測試裝置的一測試系統,包括:a)取得一原始影像及一參數設定值;b)一影像處理硬體接受該影像處理裝置驅動,以基於該參數設定值對該原始影像執行該第一影像處理程序並產生一硬體處理後影像;c)該測試裝置由該影像處理硬體取得該硬體處理後影像;d)該測試裝置執行一模擬軟體,該模擬軟體基於該參數設定值對該原始影像執行該第二影像處理程序並產生一軟體處理後影像;及e)該測試裝置執行一測試軟體,該測試軟體對該硬體處理後影像及該軟體處理後影像執行一比對程序並產生一比對結果,其中該比對結果顯示該硬體處理後影像及該軟體處理後影像的一像素差異。
相較於相關技術,本發明所能達到的技術功效在於,由系統自動提供要進行處理的影像以及要採用的演算法參數,藉此保持硬體演算法與軟體演算法所處理的影像及所使用的參數值的一致性。並且,系統可自動比對硬體處理後影像與軟體後影像的像素差異,進而判斷所使用的演算法或參數是否有問題,藉此,可以保障硬體裝置產生的影像結果與軟體裝置產生的影像結果的一致性,進而確保裝置輸出的穩定性。
1:測試系統
10:控制單元
11:影像處理裝置
111:第一作業系統
112:影像處理硬體
12:測試裝置
121:第二作業系統
122:模擬軟體
123:測試軟體
13:儲存單元
131:原始影像
132:參數設定值
14:傳輸單元
15:比對單元
16:輸出單元
2:影像處理裝置
21:第一處理器
22:人機介面
23:感測單元
24:第一儲存單元
241:原始影像
242:參數設定值
243:硬體處理後影像
25:影像處理硬體
251:第一演算法
26:第一傳輸單元
27:第一顯示單元
3:測試裝置
31:第二處理器
32:第二傳輸單元
33:第二儲存單元
331:模擬軟體
332:第二演算法
34:比對單元
35:第二顯示單元
41:桌面
42:第一位置
43:第二位置
5:影像處理單元
61:第一查找表
62:第二查找表
C1:第一通道
C2:第二通道
S10~S24、S30~S40、S50~S61:測試步驟
S70~S88:影像處理步驟
S90~S96:更新步驟
圖1為本發明的測試系統的方塊圖的第一具體實施例。
圖2為本發明的測試方法流程圖的第一具體實施例。
圖3為本發明的測試系統的方塊圖的第二具體實施例。
圖4為本發明的測試系統的方塊圖的第三具體實施例。
圖5為本發明的測試系統的示意圖的第一具體實施例。
圖6為本發明的測試方法流程圖的第二具體實施例。
圖7為本發明的測試方法流程圖的第三具體實施例。
圖8為本發明的桌面截圖示意圖的第一具體實施例。
圖9a本發明的第一影像處理流程圖的第一具體實施例。
圖9b為本發明的第二影像處理流程圖的第一具體實施例。
圖10為本發明的查找表更新流程圖的第一具體實施例。
圖11為本發明的查找表更新示意圖的第一具體實施例。
茲就本發明之一較佳實施例,配合圖式,詳細說明如後。
參閱圖1,為本發明的測試系統的方塊圖的第一具體實施例。如圖1所示,本發明揭露了一種影像處理演算法的測試系統(下面將於說明書中簡稱為測試系統1),所述測試系統1包括控制單元10、影像處理裝置11及測試裝置12。影像處理裝置11用以驅動特定硬體來對目標影像進行影像處理並產生硬體處理後影像,測試裝置12用以執行特定軟體以對同一目標影像進行相同的影像處理並產生軟體處理後影像。本發明的其中一項技術功效在於,測試系統1可自動提供要處理的目標影像以及影像處理演算法所採用的參數,並且自動對所產生的硬體處理後影像以及軟體處理後影像進行比對。
影像處理裝置11可執行第一作業系統111,並且連接影像處理硬體112。通過第一作業系統111,影像處理裝置11可以驅動影像處理硬體112來對目標影像執行影像處理演算法並且產生硬體處理後影像。測試裝置12可執行第二作業系統121,並且於第二作業系統121下執行模擬軟體122。通過模擬軟體122,測試裝置12可以經由軟體模擬來對目標影像執行同樣的影像處理演算法並產生軟體處理後影像。並且,通過執行測試軟體123,測試裝置12還可對硬體處理後影像及軟體處理後影像進行比對。
於一實施例中,影像處理裝置11所執行的第一作業系統111與測試裝置12所執行的第二作業系統121不同。例如,第一作業系統111可為易於對影像處理硬體112進行設定與控制的Linux業系統,第二作業系統121可為易於執行模擬軟體122以及測試軟體123的Windows作業系統。惟,上述僅為本發明的一個具體實施範例,但並不以此為限。
於一實施例中,測試系統1可例如為電腦、伺服器或具有特殊規格的電子設備。於此實施例中,控制單元10可為處理器(Processor)、中央處理單元(Central Process UnitK,CPU)、微控制器(Micro Control Unit,MCU)、系統單晶片(System on Chip,SoC)等,影像處理裝置11與測試裝置12可為與控制單元10實體連接的硬體元件,或為控制單元10執行了電腦可讀取程式碼後所實現的軟體模組,不加以限定。
於另一實施例中,控制單元10可為電腦、伺服器或具有特殊規格的電子設備,並且與影像處理裝置11及測試裝置12連接。於本實施例中,影像處理裝置11及測試裝置12可為硬體裝置(例如為電腦、伺服器或其他電子設備),與控制單元10設置在相同或不同的位置,並且通過有線方式或無線方式進行連接。
於又一實施例中,影像處理裝置11及測試裝置12可為硬體裝置(例如為電腦、伺服器或其他電子設備),控制單元10可以影像處理裝置11或測試裝置12中的處理器來實現。
惟,上述僅為本發明的部分具體實施範例,但並不以上述為限。
請同時參閱圖2,為本發明的測試方法流程圖的第一具體實施例。圖2揭示了本發明的影像處理演算法的測試方法(下面將於說明書中簡稱為測試方法),所述測試方法主要可應用於如圖1所示的測試系統1中,但並不以圖1所示的測試系統1為限。下面將結合圖1及圖2進行本發明的測試系統1及測試方法的進行具體說明。
如圖2所示,本發明的測試系統1首先取得要進行影像處理的原始影像,以及影像處理演算法所採用的參數設定值(步驟S10)。接著,由控制單元10將原始影像以及參數設定值分別提供給影像處理裝置11與測試裝置12(步驟S12)。
本實施例中,影像處理裝置11用以控制第一影像處理程序,測試裝置12用以控制第二影像處理程序。具體地,所述第一影像處理程序指的是由指定的硬體來執行指定演算法,以對原始影像進行影像處理的程序;所述第二影像處理程序指的是由指定的軟體來模擬相同的演算法,以對原始影像進行影像處理的程序。換句話說,所述第一影像處理程序與第二影像處理程序分別執行相同演算法並對相同影像進行影像處理,差異在於第一影像處理程序是由硬體來執行,第二影像處理程序是由軟體來實現。
步驟S12後,影像處理裝置11取得原始影像及參數設定值,並且驅動所連接的影像處理硬體112,使得影像處理硬體113基於參數設定值來對原始影像執行第一影像處理程序,並產生硬體處理後影像(步驟S14)。並且於步驟S14後,影像處理硬體112輸出所產生的硬體處理後影像(步驟S16)。
所述影像處理硬體112可例如為現場可程式化邏輯閘陣列(Field Programmable Gate Array,FPGA)、特定應用積體電路(Application Specific Integrated Circuit,ASIC)或圖形處理器(Graphics Processing Unit,GPU),不加以限定。於步驟S12中,影像處理裝置11主要藉由處理器自動或以人工方式手動開啟第一作業系統111中的工程模式,例如開啟Linux作業系統下的指令視窗(command window)。藉由在工程模式下讀取參數設定值並鍵入 執行指令,影像處理裝置11可以驅動影像處理硬體112來執行所述第一影像處理程序。
所述參數設定值可例如為Jason file。控制單元10可將參數設定值儲存至第一作業系統111中的指定資料夾內,以令影像處理硬體112可以讀取。並且,參數設定值的內容係對應至第一影像處理程序所執行的演算法。
於一實施例中,所述第一影像處理程序可例如為影像前處理程序(Image Preprocessing)、去馬賽克處理程序(De-bayering)、色階曲線校正處理程序(Gamma Correction)、色彩校正處理程序(Color Correction)、邊緣強化處理程序(Edge Enhancement)、縮放處理程序(Scaling)、抖色處理程序(Dithering)及影像後處理程序(Image Post-Processing)的至少其中之一,但不加以限定。
若第一影像處理程序為縮放處理程序,則參數設定值可例如為縮放倍率。若第一影像處理程序為影像前處理程序,則參數設定值可例如為過濾遮罩(filter mask)。若第一影像處理程序為色階曲線校正處理程序,則參數設定值可例如為校正表。再者,若第一影像處理程序要執行的演算法需要使用查找表,則參數設定值可例如為演算法所需的查找表。
惟,上述僅為本發明的部分具體實施範例,但並不以此為限。
同樣地,於步驟S12後,測試裝置12取得原始影像及參數設定值,並且執行特定軟體,以由軟體基於參數設定值對原始影像執行第二影像處理程序,並產生軟體處理後影像(步驟S18)。步驟S18後,測試裝置12可輸出軟體處理後影像(步驟S20)。
於一實施例中,測試裝置12於步驟S18中是執行所述模擬軟體122,由模擬軟體122基於參數設定值對原始影像執行第二影像處理程序並產生軟體處理後影像。
如前文所述,模擬軟體122於第二影像處理程序中執行的演算法,係與影像處理硬體112於第一影像處理程序中執行的演算法相同。意即,第二影像處理程序亦可為影像前處理程序、去馬賽克處理程序、色階曲線校正處理程序、色彩校正處理程序、邊緣強化處理程序、縮放處理程序、抖色處理程序及影像後處理程序的至少其中之一。
於一實施例後,所述演算法係直接燒錄於影像處理硬體112內,並且記錄於模擬軟體122中,而不需另外取得。
於一實施例中,上述步驟S16是由影像處理硬體112經由影像處理裝置11將硬體處理後影像傳送至測試裝置12,而步驟S20是由模擬軟體122直接將運算後產生的軟體處理後影像輸出給測試裝置12。
步驟S20後,測試裝置12可執行測試軟體123,由測試軟體123對硬體處理後影像及軟體處理後影像執行比對程序並產生對應的比對結果(步驟S22),並且由測試裝置12來輸出所述比對結果(步驟S24),以令使用者得知硬體處理後影像與軟體處理後影像的差異。
於一實施例中,測試軟體123所產生的比對結果可顯示硬體處理後影像及軟體處理後影像的像素差異。具體地,所述比對結果係可記錄硬體處理後影像與軟體處理後影像中的每一個像素位置(或是部分指定像素位置)的三原色(即,紅色(R)、綠色(G)及黑色(B))的差異。
於上述實施例中,測試裝置12是從控制單元10取得原始影像及參數設定值,並且由影像處理硬體112取得硬體處理後影像。於其他實施例中,測試裝置12亦可直接從影像處理硬體112取得原始影像、參數設定值以及硬體處理後影像(容後詳述)。
值得一提的是,所述原始影像的檔案格式可為圖片檔(例如副檔名為.jpg或.bmp的圖片檔),或為轉換後的文字檔(例如副檔名為.txt或.hex的文字檔),但不加以限定。圖片檔與文字檔對於影像處理演算法的影響,於此不進行贅述。
接續請同時參閱圖1及圖3,為本發明的測試系統的方塊圖的第二具體實施例。具體地,圖3是以測試系統1為單一***立的電腦、伺服器或具特殊規格的電子設備的形式為例,進行說明。
如圖3所示,測試系統1可具有上述的控制單元10、影像處理硬體112、模擬軟體122以及儲存單元13。儲存單元13可例如為記憶體、硬碟或其他型式的儲存媒體,並且儲存單元13可儲存要進行影像處理的原始影像131,以及一或多個影像處理演算法所需的參數設定值132。
本實施例中,測試系統1可藉由控制單元10或另外的處理器(圖未標示)來驅動影像處理硬體112,並且藉由控制單元10或另外的處理器來執行模擬軟體122。並且,控制單元10可將儲存單元13中的原始影像131及參數設定值132分別提供給影像處理硬體112以及模擬軟體122。
影像處理硬體112依據參數設定值132對原始影像131執行所述第一影像處理程序以產生硬體處理後影像,並輸出至傳輸單元14。模擬軟體122依據參數設定值132對原始影像131執行所述第二影像處理程序以產生 軟體處理後影像,並輸出至傳輸單元14。並且,傳輸單元14將硬體處理後影像及軟體處理後影像傳送至比對單元15以進行比對。
於一實施例中,傳輸單元14與比對單元15為測試系統1的控制單元10或處理器執行了特定程式碼(例如前述測試軟體123)後所產生的軟體單元。其中,傳輸單元14用以將硬體處理後影像及軟體處理後影像做為輸入參數匯入測試軟體123中。
於另一實施例中,所述比對單元15可設置於雲端伺服器(圖未標示)。於此實施例中,所述傳輸單元14可為測試系統1中的實體傳輸單元(例如Wi-Fi傳輸單元、藍牙(Bluetooth)傳輸單元、近場通訊傳輸(Near Field Communication,NFC)單元、紫蜂(Zigbee)傳輸單元等),用以將硬體處理後影像及軟體處理後影像傳送至比對單元15,並且接收比對單元15傳送的比對結果。
於圖3的實施例中,測試系統1還可具有輸出單元16(例如為顯示器。測試系統1可以選擇性地通過輸出單元16來顯示原始檔案131、參數設定值132、硬體處理後影像、軟體處理後影像以及比對結果,以令使用者更容易得知目前採用的演算法的狀況。
上述實施例是以測試系統1為單一***立的電腦、伺服器或電子設備為例,舉例說明。然而如前文所述,本發明的測試系統1亦可由分開的兩個或兩個以上的實體裝置來共同實現。
請同時參閱圖3、圖4及圖5,其中圖4為本發明的測試系統的方塊圖的第三具體實施例,圖5為本發明的測試系統的示意圖的第一具體實施例。
圖4與圖5揭露了分開設置的影像處理裝置2與測試裝置3。如圖4所示,影像處理裝置2具有第一處理器21,測試裝置3具有第二處理器31。當影像處理裝置2與測試裝置3連接時,可由第一處理器21或第二處理器31做為前述控制單元10,並且由影像處理裝置2、測試裝置3及控制單元10來共同實現本發明的測試系統1與測試方法。
於圖5所示的實施例中,影像處理裝置2為醫療用內視鏡,用以即時偵測外部影像。本實施例中,測試系統1將影像處理裝置2所偵測到的外部影像做為所述原始影像,並且由影像處理裝置2與測試裝置3分別對原始影像進行影像處理。
於一實施例中,測試裝置3為電腦、伺服器或特殊規格的電子設備,並且與影像處理裝置2設置於相同地點。於此實施例中,影像處理裝置2通過有線連接方式(例如USB傳輸線)或無線連接方式(例如Wi-Fi、藍牙、NFC等)與測試裝置3建立連接。
於另一實施例中,測試裝置3為雲端伺服器。於此實施例中,影像處理裝置2通過網際網路與測試裝置3建立無線連接。
如圖4所示,影像處理裝置2可包括第一處理器21,以及與第一處理器21電性連接的人機介面22、感測單元23、第一儲存單元24、影像處理硬體25、第一傳輸單元26及第一顯示單元27。
於一實施例中,影像處理裝置2通過人機介面22(例如按鍵、觸控螢幕或訊號輸入埠等)接受外部操作,以將原始影像241匯入影像處理裝置2,並且設定影像處理演算法所需的參數設定值242。其中,原始影像241與參數設定值242可儲存於第一儲存單元24中。
於一實施例中,使用者可通過所述人機介面22操作影像處理裝置2,以藉由複製、下載或資料傳輸的方式將原始影像241及參數設定值242匯入影像處理裝置2中。
於另一實施例中,影像處理裝置2通過感測單元23來感測外部環境,藉此直接產生原始影像241。於此實施例中,所述感測單元23可例如為相機、紅外線感測器、雷射感測器、超音波感測器等,不加以限定。再者,感測單元23亦可為高畫質多媒體介面(High Definition Multimedia Interface,HDMI)、影像圖形陣列(Video Graphics Array,VGA)、數位視訊介面(Digital Visual Interface,DVI)、顯示器埠(Display Port,DP)等訊號輸入埠,用以直接接收外部影像訊號並產生原始影像241。惟,上述僅為本發明的部分具體實施範例,但並不以此為限。
所述影像處理硬體25中燒錄有執行第一影像處理程序所需的第一演算法251。於影像處理裝置2取得了原始影像241以及參數設定值242後,控制單元10(例如第一處理器21或第二處理器31)驅動影像處理硬體25來依據參數設定值242執行第一演算法251,以對原始影像241執行第一影像處理並且產生硬體處理後影像。並且,影像處理裝置2可通過第一傳輸單元26將原始影像241、參數設定值242及硬體處理後影像傳輸至測試裝置3。
值得一提的是,若影像處理裝置2具有第一顯示單元27(例如觸控螢幕或液晶顯示器(Liquid Crystal Display,LCD)),則第一處理器21還可將原始影像241、參數設定值242及硬體處理後影像的至少其中之一顯示於第一顯示單元27上,以令使用者進行確認。
如圖4所示,測試裝置3可具有第二處理器31,以及與第二處理器31連接的第二傳輸單元32、第二儲存單元33、比對單元34及第二顯示 單元35。其中,第二儲存單元33中儲存有用來執行第二影像處理程序的模擬軟體331,以及執行第二影像處理程序所需的第二演算法332。值得一提的是,第二演算法332可以電腦程式碼的方式直接記載於模擬軟體331中,但不以此為限。
本實施例中,測試裝置3通過第二傳輸單元32與影像處理裝置2連接,以接收影像處理裝置2傳輸的原始影像241、參數設定值242及硬體處理後影像。
測試裝置3藉由第二處理器31執行第二儲存單元33中的模擬軟體331。如前文所述,模擬軟體331被執行後,可基於所接收的參數設定值242對原始影像241執行第二影像處理程序,並且產生軟體處理後影像。並且,測試裝置3可接將由比對單元34來對影像處理裝置2所提供的硬體處理後影像以及模擬軟體331所產生的軟體處理後影像進行比對,以產生可以呈現硬體處理後影像與軟體處理後影像的像素差異的比對結果。
於一實施例中,所述比對單元34可為實體單元,例如為微控制單元或處理器。於另一實施例中,所述比對單元34可為第二處理器31執行了圖1所示的測試軟體123後所實現的軟體單元,但不加以限定。
於比對單元34完成比對並且產生比對結果後,測試裝置3即可通過第二顯示單元35來顯示比對結果,以令使用者知曉硬體處理後影像與軟體處理後影像的像素差異,並且基於比對結果判斷是否需對第一演算法251、第二演算法332或參數設定值242進行調整。
如前文所述,影像處理硬體25所執行的第一演算法251相同於模擬軟體331執行的第二演算法332,並且所採用的原始影像241以及參數設 定值242皆相同。因此,若比對結果顯示硬體處理後影像與軟體處理後影像的像素差異大於容許門檻值,即代表第一演算法251/第二演算法332或是參數設定值242有問題。據此,使用者可以對第一演算法251/第二演算法332或是參數設定值242進行調整,以確保最終設計完成的IC(即,搭載了正確的演算法及參數設定值的影像處理硬體25)符合使用者的需求。
於上述圖4及圖5的實施例中,影像處理裝置2與測試裝置3為各自獨立存在,因此影像處理裝置2可通過不同方式將原始影像241、參數設定值242及硬體處理後影像提供給測試裝置3。以下結合不同圖示來進行說明。
請同時參閱圖4及圖6,其中圖6為本發明的測試方法流程圖的第二具體實施例。於圖6的實施例中,影像處理裝置2首先取得原始影像241及參數設定值242,並且將原始影像241及參數設定值242儲存於第一儲存單元24(例如為記憶體)中。並且,影像處理裝置2由控制單元10(例如第一處理器21)將原始影像241投射至影像處理裝置2所執行的第一作業系統(例如為Linux作業系統)的桌面上的第一位置(步驟S30)。接著,控制單元10開啟第一作業系統的工程模式,以從第一儲存單元24中讀取參數設定值242並且進行修改(若有必要)(步驟S31),並且以指令驅動影像處理硬體25執行指定工作(步驟S32)。
於一實施例中,影像處理裝置2於步驟S30中是通過人機介面22接受外部操作以匯入原始影像241,或是通過感測單元23感測外部環境以即時產生原始影像241,不加以限定。
步驟S32後,影像處理硬體25基於指令從第一作業系統的桌面上的第一位置擷取原始影像241(步驟S33),並且依據參數設定值242來對原 始影像241執行第一影像處理程序(例如,執行第一演算法251)(步驟S34),並且產生硬體處理後影像。
步驟S34後,影像處理硬體25將硬體處理後影像傳送給影像處理裝置2的第一處理器21,並且由第一處理器21將硬體處理後影像投射至第一作業系統的桌面上的第二位置(步驟S35)。其中,所述第一位置與第二位置在桌面上不重疊。
步驟S35後,第一處理器21擷取第一作業系統的整個桌面,並且通過第一傳輸單元26將整個桌面以及第一影像處理程序所採用的參數設定值242傳送給測試裝置3(步驟S36)。
請同時參閱圖8,為本發明的桌面截圖示意圖的第一具體實施例。如圖8所示,當影像處理裝置2執行了第一作業系統後,會產生對應的桌面(Desktop)41並藉由第一顯示單元27進行顯示。當影像處理裝置2通過人機介面22或是感測單元23取得原始影像241後,第一處理器21將原始影像241投射在桌面41中的第一位置42。當影像處理硬體25藉由第一影像處理程序產生了硬體處理後影像243後,第一處理器21將硬體處理後影像243投射在桌面41中的第二位置43。
由圖8可看出,第一作業系統的整個桌面41中同時包含了彼此不重疊的原始影像241及硬體處理後影像243。因此,影像處理裝置2只要將整個桌面41傳送給測試裝置3,測試裝置3就可以藉由對整個桌面41的影像進行分割,以分別得到原始影像241及硬體處理後影像243。
回到圖6。步驟S36後,測試裝置3通過第二傳輸單元32接收影像處理裝置22所傳輸的整個桌面41的影像以及參數設定值242,並且由第 二處理單元31對桌面41進行分割,以擷取出原始影像241及硬體處理後影像243(步驟S37)。
接著,測試裝置3執行模擬軟體331,模擬軟體331依據參數設定值242對原始影像241執行第二影像處理程序(例如,執行第二演算法332)(步驟S38),並產生軟體處理後影像。並且,測試裝置3執行如圖1所示的測試軟體123(即,比對單元34),測試軟體123對硬體處理後影像243與軟體處理後影像進行比對,並且產生比對結果(步驟S39)。最後,測試裝置3可通過第二顯示單元35顯示比對結果(步驟S40)。
於圖6的實施例中,影像處理裝置2將原始影像241與硬體處理後影像243投射在桌面41上,可利於使用者進行記錄與確認。藉此,當比對結果顯示出硬體處理後影像243與軟體處理後影像的像素差異大於容許門檻值時,使用者可藉由桌面41的影像來追朔第一演算法251、第二演算法332以及所使用的原始影像241與參數設定值242是否有問題。
續請同時參閱圖4及圖7,其中圖7為本發明的測試方法流程圖的第三具體實施例。於圖7的實施例中,影像處理裝置2首先取得原始影像241及參數設定值242,並且儲存於影像處理裝置2所執行的第一作業系統(例如Linux作業系統)下的第一指定資料夾中(步驟S50)。接著,控制單元10開啟第一作業系統的工程模式,以從第一指定資料夾中讀取參數設定值242並且進行修改(若有必要)(步驟S51),並且藉由指令驅動影像處理硬體25執行指定工作(步驟S52)。
步驟S52後,影像處理硬體25基於指令而由第一指定資料夾中取得原始影像241(步驟S53),並且依據參數設定值242對原始影像241執行第 一影像處理程序(例如,執行第一演算法251)(步驟S54),並且產生硬體處理後影像。步驟S54後,影像處理硬體25直接將所產生的硬體處理後影像以及所使用的參數設定值242(可能經過修改)儲存至所述第一指定資料夾中(步驟S55)。具體地,硬體處理後影像不會覆蓋第一指定資料夾中的原始影像241。
步驟S55後,影像處理裝置2的第一處理器21通過第一傳輸單元26將第一指定資料夾中的所有資料傳送給測試裝置3(步驟S56)。
步驟S56後,測試裝置3通過第二傳輸單元32接收影像處理裝置2所傳輸的所有資料,並且儲存至測試裝置3所執行的第二作業系統(例如Winwods作業系統)下的第二指定資料夾中(步驟S57)。接著,測試裝置3通過第二處理器31執行模擬軟體331,模擬軟體331從第二指定資料夾中取得原始影像241(步驟S58),並且依據參數設定值242對原始影像241執行所述第二影像處理程序(例如,執行第二演算法332)(步驟S59),並產生軟體處理後影像。
步驟S59後,測試裝置3通過第二處理器31執行如圖1所示的測試軟體123(即,觸發比對單元34),測試軟體123對硬體處理後影像243與軟體處理後影像進行比對,並且產生比對結果(步驟S60)。最後,測試裝置3可通過第二顯示單元35顯示所述比對結果(步驟S61)。本實施例中,測試裝置3還可選擇性地將所產生的軟體處理後影像以及比對結果儲存至第二指定資料夾中,以做為記錄。
於圖7的實施例中,影像處理裝置2將原始影像241與硬體處理後影像243儲存至第一作業系統下的第一指定資料夾,而測試裝置3將將原始影像241、硬體處理後影像243、軟體處理後影像及比對結果儲存至第二作業系統下的第二指定資料夾,可利於使用者進行記錄與確認。藉此,當比對結果 顯示出硬體處理後影像243與軟體處理後影像的像素差異大於容許門檻值時,使用者可基於第一指定資料夾以及第二指定資料夾的內容來追朔第一演算法251、第二演算法332以及所使用的原始影像241與參數設定值242是否有問題。
於上述實施例中,測試系統1主要是先通過影像處理裝置11驅動影像處理硬體25來對原始影像241進行處理並產生硬體處理後影像243後,再通過測試裝置3執行模擬軟體331對原始影像241進行處理並產生軟體處理後影像,最後再由測試裝置3對硬體處理後影像243及軟體處理後影像進行比對。然而,於其他實施例中,所述比對程序亦可由影像處理裝置11來執行。
具體地,於其他實施例中,可由測試裝置3來取得原始影像241及參數設定值242,並且儲存於所執行的第二作業系統(例如Windows作業系統)下的指定資料夾中。接著,測試裝置3可通過第二處理器31執行模擬軟體331。模擬軟體331從所述指定資料夾中讀取原始影像241及參數設定值242,並且依據參數設定值242來對原始影像241執行影像處理程序以產生軟體處理後影像。並且,模擬軟體331將所產生的軟體處理後影像儲存回所述指定資料夾。
接著,測試裝置3將所述指定資料夾中的所有資料傳送至影像處理裝置2,並儲存於影像處理裝置2所執行的第一作業系統(例如Linux作業系統)下的指定資料夾中。影像處理裝置11可通過第二處理器21開啟工程模式以讀取參數設定值2並驅動影像處理硬體25。影像處理硬體25被驅動後,基於指令從指定資料夾中取得原始影像241,並依據參數設定值242對原始影像241執行影像處理以產生硬體處理後影像243。
本實施例中,影像處理硬體25還可受第二處理器21的驅動,從所述指定資料夾中取得測試裝置3傳輸的軟體處理後影像,並且對硬體處理後影像243與軟體處理後影像進行比對,並且產生比對結果。
本發明的測試方法可由影像處理裝置2或是測試裝置3來對硬體處理後影像243與軟體處理後影像進行比對,以自動辨識出影像處理硬體25與模擬軟體331分別對同一張影像執行了相同演算法後所產生的影像中的像素差異。
如上所述,本發明的主要目的之一在於自動辨識出影像處理硬體25與模擬軟體331執行了相同演算法後的差異,藉此協助使用者判斷是演算法有問題或是演算法的相關參數有問題。
值得一提的是,一個完整的影像處理程序通常包含了依序執行的多個演算法。於本發明的一個實施例中,測試系統1可以將影像處理程序中的每一個演算法都分別交由影像處理硬體25以及模擬軟體331來執行,並且在每一個演算法執行完畢後都建立一個測試點(Testing Point,TP),於測試點皆對影像處理硬體25與模擬軟體331分別產生的硬體處理後影像243及軟體處理後影像進行比對。藉此,一旦比對結果顯示硬體處理後影像243及軟體處理後影像之間具有超過容許門檻值的像素差異,使用者就可以對這個測試點前所執行的演算法或是參數設定值242進行調整,以對最終設計完成的影像處理硬體25(即,IC)進行優化。
請同時參閱圖4、圖9a及圖9b,其中圖9a與圖9b分別為本發明的第一影像處理流程圖與第二影像處理流程圖的第一具體實施例。於圖9a、圖9b的實施例中,測試系統1首先令影像處理硬體25與模擬軟體331分別取得 原始影像241(步驟S70),並且對兩者所取得的原始影像241進行比對並輸出第一比對結果(步驟S71)。藉由第一比對結果,使用者可以判斷影像處理硬體25與模擬軟體331所取得的原始影像241是否相同。
接著,測試系統1令影像處理硬體25與模擬軟體331分別基於相同的演算法及參數設定值242對原始影像241執行影像前處理程序(步驟S72),並且對兩者分別產生的第一處理後影像進行比對並輸出第二比對結果(步驟S73)。藉由第二比對結果,使用者可以判斷影像處理硬體25與模擬軟體331執行影像前處理程序所使用的演算法以及參數設定值242是否有誤。
具體地,若測試系統1是由影像處理裝置2的感測單元23來取得原始影像241,則感測影像通常會受到外部干擾(例如雜訊)或內部干擾(例如鏡頭的光學或物理特性影響)。這些干擾將會影響後面程序對於原始影像241的判斷,因此需要通過影像前處理程序來進行處理。
接著,測試系統1令影像處理硬體25與模擬軟體331分別基於相同的演算法及參數設定值242對所述第一處理後影像執行去馬賽克處理程序(步驟S74),並且對兩者分別產生的第二處理後影像進行比對並輸出第三比對結果(步驟S75)。藉由第三比對結果,使用者可以判斷影像處理硬體25與模擬軟體331執行去馬賽克處理程序所使用的演算法以及參數設定值242是否有誤。
具體地,一般常用的影像感測單元可例如為拜爾感測器(Bayer Sensor)。若測試系統1通過拜爾感測器來取得原始影像241,則可以通過去馬賽克處理序來將處理後的影像轉換至三原色(RGB)領域中。
接著,測試系統1令影像處理硬體25與模擬軟體331分別基於相同的參數設定值242對第二處理後影像執行色階曲線校正處理程序(步驟 S76),並且對兩者分別產生的第三處理後影像進行比對並輸出第四比對結果(步驟S77)。藉由第三比對結果,使用者可以判斷影像處理硬體25與模擬軟體331執行色階曲線校正處理程序所使用的演算法以及參數設定值242是否有誤。
具體地,所述色階曲線校正處理程序是在三原色領域中對影像進行色彩的校正及調整,以將影像的色彩及亮度調整為更符合人眼視覺的程度。
接著,測試系統1令影像處理硬體25與模擬軟體331分別基於相同的參數設定值242對第三處理後影像執行色彩校正處理程序(步驟S78),並且對兩者分別產生的第四處理後影像進行比對並輸出第五比對結果(步驟S79)。藉由第五比對結果,使用者可以判斷影像處理硬體25與模擬軟體331執行色彩校正處理所使用的演算法以及參數設定值242是否有誤。
具體地,由於每個人對於影像的感覺皆有差異,因此在經過色階曲線校正處理後,測試系統1可以選擇性地執行色彩校正處理程序,以藉由對三原色各別進行增益的方式來對影像中的色彩進行微調。
接著,測試系統1可選擇性地令影像處理硬體25與模擬軟體331分別基於相同的參數設定值242對第四處理後影像執行邊緣強化處理程序(步驟S80),並且對兩者分別產生的第五處理後影像進行比對並輸出第六比對結果(步驟S81)。藉由第六比對結果,使用者可以判斷影像處理硬體25與模擬軟體331執行邊緣強化處理程序所使用的演算法以及參數設定值242是否有誤。
具體地,所述邊緣強化處理程序並非必要。舉例來說,若將本發明應用在電視影像的處理,只要令影像符合人眼視覺即可,並不需要執行邊緣強化處理程序。再者,若將本發明應用在醫療影像的處理,則因為醫生需要在 影像上看到更多細節(例如較細的血管或組織等),因此可以選擇性地執行邊緣強化處理程序。
值得一提的是,邊緣強化處理程序通常會對影像亮度進行調整,若先執行邊緣強化處理程序後再執行色階曲線校正處理程序,則色階曲線校正處理程序可能會降低邊緣強化的效果。因此於一實施例中,邊緣強化處理程序必須在色階曲線校正處理程序執行完畢後再執行,但並不加以限定。
於步驟S81後,測試系統1可令影像處理硬體25與模擬軟體331分別基於相同的參數設定值242對第五處理後影像執行縮放處理程序(步驟S82),並且對兩者分別產生的第六處理後影像進行比對並輸出第七比對結果(步驟S83)。藉由第七比對結果,使用者可以判斷影像處理硬體25與模擬軟體331執行縮放處理程序所使用的演算法以及參數設定值242是否有誤。
具體地,執行縮放處理程序的目的在於配合顯示器(圖未標示)的尺寸,以令處理後的影像可以在顯示器上完整顯示。
接著,測試系統1可令影像處理硬體25與模擬軟體331分別基於相同的參數設定值242對第六處理後影像執行抖色處理程序(步驟S84),並且對兩者分別產生的第七處理後影像進行比對並輸出第八比對結果(步驟S85)。藉由第八比對結果,使用者可以判斷影像處理硬體25與模擬軟體331執行抖色處理程序所使用的演算法以及參數設定值242是否有誤。
具體地,抖色處理程序主要用以處理高、低解析度轉換時所遇到的量化誤差。抖色處理程序一般會對影像加入隨機雜訊,而前述縮放處理程序則會使用到內插技術。若先執行抖色處理程序後再執行縮放處理程序,則抖色 處理程序所添加的雜訊會對縮放效果造成干擾。因此於一實施例中,抖色處理程序必須在縮放處理程序執行完成後再執行,但並不以此為限。
於步驟S85後,測試系統1即完成了全部的影像處理程序,因此可以通過影像處理裝置2或是測試裝置3來輸出處理後影像(包括輸出硬體處理後影像243及/或軟體處理後影像)(步驟S86)。
於一實施例中,所述縮放處理程序與抖色處理程序並不必然被執行。於此實施例中,測試系統1可以在邊緣強化處理程序執行完成後,進一步令影像處理硬體25與模擬軟體331分別基於相同的參數設定值242對第五處理後影像執行影像後處理程序(步驟S87)。並且,測試系統1對兩者分別產生的處理後結果進行比對並輸出第九比對結果(步驟S88)。藉由第九比對結果,使用者可以判斷影像處理硬體25與模擬軟體331執行影像後處理程序所使用的演算法以及參數設定值242是否有誤。
值得一提的是,所述影像後處理程序可例如為執行AI辨識演算法,以於影像中識別出感興趣區域(Region of Interest,ROI)。具體地,所述影像後處理程序係可基於參數設定值242來於影像中辨識出感興趣的物件並且予以標記(例如以方框框起此物件),並且為此物件特定出一個具體的方框尺寸以及座標(例如方框的起點座標)。於步驟S88中,測試系統1係對影像處理硬體25與模擬軟體331所分別產生的感興趣區域(此處為數值而非影像)進行比對。
具體地,影像後處理程序一般會運用到物件偵測的技術,而若先對影像邊緣進行了強化,可有效降低物件偵測的誤判機率。因此於一實施例中,影像後處理程序必須在邊緣強化處理程序執行完成後再執行,但並不以此為限。
上述圖9a、圖9b所示者僅為本發明的其中一個具體實施範例。於一實施例中,測試系統1僅需令影像處理硬體25與模擬軟體331依據執行影像前處理程序、去馬賽克處理程序、色階曲線校正處理程序、色彩校正處理程序、縮放處理程序及抖色處理程序,並且令測試軟體123(即,比對單元34)對各個處理程序後產生的硬體處理後影像243及軟體處理後影像分別執行比對程序並產生比對結果。
藉由上述依序執行的處理程序,測試系統1可完成對影像處理程序的所有必要演算法以及參數設定值的測試,以利使用者對影像處理硬體25(即,設計IC)的演算法及參數進行校正與優化。
於前述的實施例中,測試系統1主要是讓影像處理硬體25與模擬軟體331使用相同的參數設定值242來執行相同的演算法。然而,在通過影像處理裝置2的感測單元23來感測並產生原始影像241的實施例中,因為絕大部分的感測單元23都並非理想,因此其成像都會與預期的有所偏差。
由於不可能找到完全沒有偏差的理想感測單元23,因此一般需要經過多次的試錯程序(Try and Error)來對影像處理硬體25進行修正(例如調整所使用的參數),藉此令成像(即,原始影像241及硬體處理後影像243)接近理想。為此,本發明另揭露了一種即時更新方式,具體說明如後。
請同時參閱圖4及圖10,其中圖10為本發明的查找表更新流程圖的第一具體實施例。如圖10所示,首先,由使用者將外接式的感測單元23(例如相機、紅外線感測器、雷射感測器、醫療內視鏡等)連接至影像處理裝置2(步驟S90),接著由影像處理裝置2的第一處理器21擷取感測單元23的設定資訊(步驟S91),並且令感測單元23拍攝特定影像(步驟S92)。
於一實施例中,所述設定資訊可例如為感測單元23的型號、使用次數、校正紀錄等。所述特定影像可例如為全白影像、全黑影像、條紋影像或當下的外部影像等,但不以此為限。
接著,第一處理器21對設定資訊以及特定影像進行分析(步驟S93),藉此判斷此感測單元23所應對應使用的查找表為何(步驟S94)。於一實施例中,第一處理器21是通過內部的分析單元來對設定資訊以及特定影像進行分析,所述內部的分析單元可例如為第一處理器21,或是執行了如圖1所示的測試軟體123後產生的軟體單元。
於另一實施例中,第一處理器21是通過外部的分析單元來對設定資訊以及特定影像進行分析,所述外部的分析單元可例如為通過網路與影像處理裝置2連接的電子設備或雲端伺服器,但不以此為限。
所述查找表指的是硬體處理硬體25執行對應的演算法所需使用的查找表,並且記錄了此感測單元23在執行這個演算法時所需使用的各項參數。
步驟S94後,測試系統1即可取得對應的新查找表(步驟S95),並且依據新查找表來更新原本使用的舊查找表(圖未標示)(步驟S96)。於一實施例中,測試系統1於步驟S95中可以基於步驟S94的分析結果從第一儲存單元24中讀取並使用對應的查找表,或是從外部的電子設備或雲端伺服器下載對應的查找表,不加以限定。
通過上述更新方式,使用者不須對影像處理裝置2及感測單元23進行調整,即可確保影像處理程序的品質。具體地,在將感測單元23連接上影像處理裝置2之後,影像處理裝置2就可以自動基於感測單元23的資訊(例 如鏡頭狀況、外界干擾情況等)來取得最適當的查找表,並對影像處理裝置2進行更新。
以影像處理裝置2為醫療用器具為例。當醫師在救護車或手術房內進行急救時,會希望立即得到病患的生理影像。若通過本發明的上述更新方式,則在醫師將內視鏡(即,感測單元23)接上機器(即,影像處理裝置2)後,經過機器數秒的自動判斷及校正,即可取得此內視鏡執行各種影像處理演算法時最適合使用的查找表,醫師無須花費時間對機器進行調整。
再例如,當醫師外出進行醫療行為(例如醫療巡迴車)時,手邊所攜帶的內視鏡可能只有1、2根。此時如果內視鏡的影像品質較差,手上又沒有可以進行調整的設備或是備用內視鏡時,即可通過上述更新方式來自動更新這些內視鏡最適用使用的查找表,藉此維持這些內視鏡感測產生的影像的品質。
再例如,當醫院進行大規模醫療檢測時,通過上述更新方式來令機器自動判斷並更新各種感測器最適合使用的查找表,可以讓非專業的使用者也能進行操作。這樣一來,醫院不但能夠快速獲得標準且堪用的影像,並且可以擴大使用者的族群。
如上所述,藉由感測單元23的資訊來更新影像處理硬體23執行影像處理演算法時的查找表,可以有效提高影像品質。所述查找表一般是儲存在影像處理裝置2的記憶體(例如第一儲存單元24)中。然而,一般在更新記憶體內的查找表時,需要先暫停當前執行中的影像處理程序,或是需要使用兩倍容量的記憶體,這樣的更新手段對於部分應用場景相當不便。
有鑑於此,本發明進一步提出一種新穎的更新方式,可以在不需要暫停影像處理程序且不需要使用兩倍記憶體的前提下,完成即時查找表的更新動作。
參閱圖4及圖11,其中圖11為本發明的查找表更新示意圖的第一具體實施例。如圖11所示,影像處理裝置2的第一儲存單元24主要具有第一通道C1與第二通道C2,其中第一儲存單元24通過第一通道C1連接影像處理硬體25,並通過第二通道C2連接第一處理器21。
於圖11的實施例中,影像處理硬體25在執行演算法時,可以通過第一通道C1自第一儲存單元24中讀取此演算法初始對應的第一查找表61。
當第一處理器21對當前使用的感測單元23的資訊進行了分析,認為應該更新第一查找表61時,第一處理器21可依據分析結果取得第二查找表62(例如由第一處理器21即時運算產生,或從雲端伺服器進行下載),並且通過第二通道C2將第二查找表62傳輸至第一儲存單元24。藉此,第一儲存單元24基於第二查找表62的內容對原始儲存的第一查找表61進行更新,並且經由第一通道C1將更新後的第一查找表61提供影像處理硬體25繼續使用。
通過使用雙通道的第一儲存單元24,影像處理裝置2可以在不令影像處理硬體25停止執行影像處理程序,並且不使用兩倍記憶體空間的前提下,實現即時的查找表更新動作。
以上所述僅為本發明之較佳具體實例,非因此即侷限本發明之專利範圍,故舉凡運用本發明內容所為之等效變化,均同理皆包含於本發明之範圍內,合予陳明。
S10~S24:測試步驟

Claims (19)

  1. 一種影像處理演算法的測試系統,包括:一控制單元,提供一原始影像及一參數設定值;一影像處理裝置,連接該控制單元並取得該原始影像及該參數設定值;一影像處理硬體,連接該影像處理裝置並接受該影像處理裝置驅動,以基於該參數設定值對該原始影像執行一第一影像處理程序並產生一硬體處理後影像;及一測試裝置,連接該控制單元及該影像處理硬體,自該影像處理硬體取得該硬體處理後影像,並從該控制單元或該影像處理硬體取得該原始影像及該參數設定值;其中,該測試裝置執行一模擬軟體及一測試軟體,該模擬軟體基於該參數設定值對該原始影像執行一第二影像處理程序並產生一軟體處理後影像,該測試軟體對該硬體處理後影像及該軟體處理後影像執行一比對程序並產生一比對結果,其中該第二影像處理程序相同於該第一影像處理程序,該比對結果顯示該硬體處理後影像及該軟體處理後影像的一像素差異;其中,該第一影像處理程序及該第二影像處理程序包含了依序執行的多個演算法,該測試系統於每一個該演算法執行完畢後建立一個測試點,並於每一個該測試點產生該硬體處理後影像及該軟體處理後影像並且進行比對。
  2. 如請求項1所述的測試系統,其中該影像處理硬體為一現場可程式化邏輯閘陣列(Field Programmable Gate Array,FPGA)、一特定應用積體電 路(Application Specific Integrated Circuit,ASIC)或一圖形處理器(Graphics Processing Unit,GPU)。
  3. 如請求項1所述的測試系統,其中該影像處理裝置執行第一作業系統,該測試裝置執行不同於該第一作業系統的一第二作業系統。
  4. 如請求項3所述的測試系統,其中該第一作業系統為Linux作業系統,該第二作業系統為Windows作業系統。
  5. 如請求項3所述的測試系統,其中該測試裝置為一雲端伺服器,並且該雲端伺服器通過網路無線連接該控制單元及該影像處理裝置。
  6. 如請求項3所述的測試系統,其中該影像處理裝置具有一第一傳輸單元,該測試裝置具有一第二傳輸單元,影像處理硬體經由該影像處理裝置的該第一傳輸單元傳輸該硬體處理後影像至該測試裝置,該測試裝置通過該第二傳輸單元接收該硬體處理後影像。
  7. 如請求項6所述的測試系統,其中該控制單元將該原始影像投射至該第一作業系統的一桌面上的一第一位置,該影像處理硬體受驅動以由該第一位置擷取該原始影像,其中該影像處理裝置包括一第一處理器,該第一處理器將該硬體處理後影像投射至該桌面上與該第一位置不重疊的一第二位置,並且該第一處理器擷取該桌面並將該桌面以及該參數設定值傳輸至該測試裝置。
  8. 如請求項6所述的測試系統,其中該控制單元將該原始影像及該參數設定值儲存於該第一作業系統中的一指定資料夾,該影像處理硬體受驅動以由該指定資料夾中讀取該原始影像,並將該硬體處理後影像儲存至該指定 資料夾,其中該影像處理裝置包括一第一處理器,該第一處理器將該指定資料夾內的所有資料傳輸至該測試裝置。
  9. 如請求項3所述的測試系統,其中該第一影像處理程序與該第二影像處理程序為一影像前處理程序(Image Preprocessing)、一去馬賽克處理程序(De-bayering)、一色階曲線校正處理程序(Gamma Correction)、一色彩校正處理程序(Color Correction)、一邊緣強化處理程序(Edge Enhancement)、一縮放處理程序(Scaling)、一抖色處理程序(Dithering)及一影像後處理程序(Image Post-Processing)的至少其中之一。
  10. 如請求項9所述的測試系統,其中該影像處理硬體與該模擬軟體依序執行該影像前處理程序、該去馬賽克處理程序、該色階曲線校正處理程序、該色彩校正處理程序、該縮放處理程序(Scaling)及該抖色處理程序,該測試軟體對各該處理程序後產生的該硬體處理後影像及該軟體處理後影像分別執行該比對程序,並產生對應的該比對結果。
  11. 如請求項3所述的測試系統,其中該影像處理裝置包括:一人機介面,接受一外部操作以匯入該原始影像並設定該參數設定值;及一感測單元,感測一外部環境以產生該原始影像。
  12. 一種影像處理演算法的測試方法,應用於具有用來控制一第一影像處理程序的一影像處理裝置以及用來控制一第二影像處理程序的一測試裝置的一測試系統,包括:a)取得一原始影像及一參數設定值; b)一影像處理硬體接受該影像處理裝置驅動,以基於該參數設定值對該原始影像執行該第一影像處理程序並產生一硬體處理後影像,其中該第一影像處理程序包含了依序執行的多個演算法;c)該測試裝置由該影像處理硬體取得該硬體處理後影像;d)該測試裝置執行一模擬軟體,該模擬軟體基於該參數設定值對該原始影像執行該第二影像處理程序並產生一軟體處理後影像,其中該第二影像處理程序相同於該第一影像處理程序,並且該第二影像處理程序包含了依序執行的該多個演算法;及e)該測試裝置執行一測試軟體,該測試軟體對該硬體處理後影像及該軟體處理後影像執行一比對程序並產生一比對結果,其中該比對結果顯示該硬體處理後影像及該軟體處理後影像的一像素差異;其中,該測試系統於每一個該演算法執行完畢後建立一個測試點,並於每一個該測試點產生該硬體處理後影像及該軟體處理後影像並且進行比對。
  13. 如請求項12所述的測試方法,其中該影像處理硬體為一現場可程式化邏輯閘陣列、一特定應用積體電路或一圖形處理器,該影像處理裝置執行第一作業系統,該測試裝置執行不同於該第一作業系統的一第二作業系統。
  14. 如請求項13所述的測試方法,其中該步驟c是由該影像處理裝置通過一第一傳輸單元傳輸該硬體處理後影像至該測試裝置,並且該測試裝置通過一第二傳輸單元接收該硬體處理後影像。
  15. 如請求項14所述的測試方法,其中該步驟a後包括一步驟a1):由該測試系統的一控制單元將該原始影像投射至該第一作業系統的一桌面 上的一第一位置,該步驟b)是由該影像處理硬體受驅動以由該第一位置擷取該原始影像,並且該步驟b後更包括:b1)該影像處理硬體將該硬體處理後影像傳送給該影像處理裝置的一第一處理器;b2)該第一處理器將該硬體處理後影像投射至該桌面上與該第一位置不重疊的一第二位置;及b3)該第一處理器擷取該桌面並將該桌面以及該參數設定值傳輸至該測試裝置。
  16. 如請求項14所述的測試方法,其中該步驟a後包括一步驟a1):由該測試系統的一控制單元將該原始影像及該參數設定值儲存於該第一作業系統中的一指定資料夾;該步驟b)是由該影像處理硬體受驅動以由該指定資料夾中讀取該原始影像,並且該步驟b)後更包括:b4)該影像處理硬體將該硬體處理後影像儲存至該指定資料夾;及b5)由該影像處理裝置的一第一處理器將該指定資料夾內的所有資料傳輸至該測試裝置。
  17. 如請求項14所述的測試方法,其中該第一影像處理程序與該第二影像處理程序為一影像前處理程序、一去馬賽克處理程序、一色階曲線校正處理程序、一色彩校正處理程序、一邊緣強化處理程序、一縮放處理程序、一抖色處理程序及一影像後處理程序的至少其中之一。
  18. 如請求項17所述的測試方法,其中該步驟b)與該步驟d)依序執行該影像前處理程序、該去馬賽克處理程序、該色階曲線校正處理程序、該色彩校正處理程序、該縮放處理程序及該抖色處理程序,該步驟e)對各該處理 程序後產生的該硬體處理後影像及該軟體處理後影像分別執行該比對程序,並產生對應的該比對結果。
  19. 如請求項13所述的測試方法,其中該步驟a)是由該影像處理裝置的一人機介面接受一外部操作以匯入該原始影像,或由該影像處理裝置的一感測單元感測一外部環境以產生該原始影像。
TW110133460A 2021-02-08 2021-09-08 影像處理演算法的測試系統及測試方法 TWI824289B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202163147211P 2021-02-08 2021-02-08
US63/147,211 2021-02-08

Publications (2)

Publication Number Publication Date
TW202232430A TW202232430A (zh) 2022-08-16
TWI824289B true TWI824289B (zh) 2023-12-01

Family

ID=82703306

Family Applications (3)

Application Number Title Priority Date Filing Date
TW110133460A TWI824289B (zh) 2021-02-08 2021-09-08 影像處理演算法的測試系統及測試方法
TW110135621A TWI789028B (zh) 2021-02-08 2021-09-24 即時影像的陰影校正方法及陰影校正裝置
TW110139382A TWI824323B (zh) 2021-02-08 2021-10-22 即時影像的縮放裝置及縮放方法

Family Applications After (2)

Application Number Title Priority Date Filing Date
TW110135621A TWI789028B (zh) 2021-02-08 2021-09-24 即時影像的陰影校正方法及陰影校正裝置
TW110139382A TWI824323B (zh) 2021-02-08 2021-10-22 即時影像的縮放裝置及縮放方法

Country Status (3)

Country Link
US (3) US20220253989A1 (zh)
CN (3) CN114915769A (zh)
TW (3) TWI824289B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120033240A1 (en) * 2010-08-06 2012-02-09 Samsung Electronics Co., Ltd Controller chip and image forming apparatus to perform color mis-registration correction and methods thereof
CN109903256A (zh) * 2019-03-07 2019-06-18 京东方科技集团股份有限公司 模型训练方法、色差校正方法、装置、介质和电子设备
CN111950212A (zh) * 2020-08-13 2020-11-17 湖南进芯电子科技有限公司 高效的多模式验证平台及方法
CN112100954A (zh) * 2020-08-31 2020-12-18 北京百度网讯科技有限公司 验证芯片的方法、装置和计算机存储介质

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10139706A1 (de) * 2001-08-11 2003-02-27 Liesegang Electronics Gmbh Verfahren und Anordnung zur Skalierung von Bilddaten mit Transparenzinformationen
US20030189579A1 (en) * 2002-04-05 2003-10-09 Pope David R. Adaptive enlarging and/or sharpening of a digital image
US20050120055A1 (en) * 2003-11-27 2005-06-02 Olympus Corporation Image management apparatus and image managing method
KR100615277B1 (ko) * 2004-08-18 2006-08-25 엠텍비젼 주식회사 이미지 센서에서의 렌즈 셰이딩 현상 보정 방법 및 장치
US7619639B1 (en) * 2005-09-12 2009-11-17 Nvidia Corporation Adaptive scaling using a programmable video engine
US20070122045A1 (en) * 2005-11-29 2007-05-31 Jiun-Yuan Wu System for scaling a picture unit from a first video resolution format to a second video resolution format
JP4958610B2 (ja) * 2007-04-06 2012-06-20 キヤノン株式会社 画像防振装置、撮像装置及び画像防振方法
US9064459B2 (en) * 2007-06-29 2015-06-23 Samsung Electronics Co., Ltd. Display apparatus and brightness adjusting method thereof
US8159606B2 (en) * 2008-08-04 2012-04-17 Thomson Licensing Method and apparatus for reversible, polynomial based image scaling
CN101505431B (zh) * 2009-03-18 2014-06-25 北京中星微电子有限公司 一种影像传感器的阴影补偿方法及装置
JP2011223482A (ja) * 2010-04-14 2011-11-04 Sony Corp 画像処理装置、画像処理方法、およびプログラム
CN102843522B (zh) * 2011-06-24 2015-12-09 北京彩讯科技股份有限公司 基于pcie的视频拼接处理卡、其控制***及控制方法
US8577079B2 (en) * 2011-09-02 2013-11-05 Molecular Devices, Llc Image processing system providing selective arrangement and configuration for an image analysis sequence
US8866938B2 (en) * 2013-03-06 2014-10-21 International Business Machines Corporation Frame to frame persistent shadow reduction within an image
WO2015045795A1 (ja) * 2013-09-27 2015-04-02 富士フイルム株式会社 画像処理装置、撮像装置、画像処理方法及び画像処理プログラム
TWI562636B (en) * 2014-06-16 2016-12-11 Altek Semiconductor Corp Image capture apparatus and image compensating method thereof
TW201618032A (zh) * 2014-11-05 2016-05-16 宏碁股份有限公司 影像處理方法與顯示裝置
CN104787085A (zh) * 2015-04-28 2015-07-22 华东交通大学 铁路道岔动力特性实时监测***
JP6631099B2 (ja) * 2015-08-28 2020-01-15 リコーイメージング株式会社 撮像装置
KR102486398B1 (ko) * 2015-10-14 2023-01-10 삼성디스플레이 주식회사 영상 신호 처리 회로 및 이를 포함하는 표시 장치
US10097765B2 (en) * 2016-04-20 2018-10-09 Samsung Electronics Co., Ltd. Methodology and apparatus for generating high fidelity zoom for mobile video
US10255525B1 (en) * 2017-04-25 2019-04-09 Uber Technologies, Inc. FPGA device for image classification
CN109151426B (zh) * 2017-06-28 2020-05-22 杭州海康威视数字技术股份有限公司 一种白平衡调整方法、装置、相机及介质
CN107798680B (zh) * 2017-10-16 2020-09-22 杭州电子科技大学 一种减少图像标签融合冗余计算的方法
WO2019164767A1 (en) * 2018-02-20 2019-08-29 Gopro, Inc. Multiple tone control
CN109151597B (zh) * 2018-09-03 2021-09-14 聚好看科技股份有限公司 信息显示方法及装置
JP2020039078A (ja) * 2018-09-05 2020-03-12 キヤノン株式会社 撮像装置および画像監視システム
KR102622950B1 (ko) * 2018-11-12 2024-01-10 삼성전자주식회사 디스플레이장치, 그 제어방법 및 기록매체
JP6722366B1 (ja) * 2018-12-25 2020-07-15 堺ディスプレイプロダクト株式会社 補正画像生成システム、画像制御方法、画像制御プログラム、および記録媒体
US20190243953A1 (en) * 2019-02-08 2019-08-08 Intel Corporation Enhanced security for multiple node computing platform
US10992298B1 (en) * 2019-10-18 2021-04-27 Gowin Semiconductor Corporation Method and system for providing wireless FPGA programming download via a wireless communication block
CN111724304B (zh) * 2020-06-12 2024-04-19 深圳市爱协生科技股份有限公司 一种图像缩放方法、装置、终端设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120033240A1 (en) * 2010-08-06 2012-02-09 Samsung Electronics Co., Ltd Controller chip and image forming apparatus to perform color mis-registration correction and methods thereof
CN109903256A (zh) * 2019-03-07 2019-06-18 京东方科技集团股份有限公司 模型训练方法、色差校正方法、装置、介质和电子设备
CN111950212A (zh) * 2020-08-13 2020-11-17 湖南进芯电子科技有限公司 高效的多模式验证平台及方法
CN112100954A (zh) * 2020-08-31 2020-12-18 北京百度网讯科技有限公司 验证芯片的方法、装置和计算机存储介质

Also Published As

Publication number Publication date
CN114943263A (zh) 2022-08-26
CN114915803B (zh) 2024-03-15
TWI824323B (zh) 2023-12-01
CN114915803A (zh) 2022-08-16
US11967054B2 (en) 2024-04-23
US20220253980A1 (en) 2022-08-11
US20220254051A1 (en) 2022-08-11
TW202232430A (zh) 2022-08-16
US20220253989A1 (en) 2022-08-11
TW202232940A (zh) 2022-08-16
TWI789028B (zh) 2023-01-01
TW202232435A (zh) 2022-08-16
CN114915769A (zh) 2022-08-16

Similar Documents

Publication Publication Date Title
US8836796B2 (en) Method and system for display characterization or calibration using a camera device
US8306353B2 (en) Information processing apparatus with light processing, indication system, and computer readable medium
JP6693684B2 (ja) 異常検査装置および異常検査方法
US8717389B2 (en) Projector array for multiple images
US9177524B2 (en) Display apparatus and control method thereof
CN107431792A (zh) 颜色校准
TWI667610B (zh) 顯示器的自動Gamma曲線設置方法
US11245743B1 (en) Bandwidth dependent media stream compression
JP2008187362A (ja) プロジェクタおよび投写画像調整方法
JP2005189542A (ja) 表示システム、表示プログラム、表示方法
TWI824289B (zh) 影像處理演算法的測試系統及測試方法
US20230040505A1 (en) Projector and control method therefor
US20230089650A1 (en) Electronic device for recognizing each of plurality of display modules and method for recognizing multi-display
TW201501115A (zh) 應用於顯示裝置之校正系統及校正方法
JP2010081504A (ja) 画像処理装置、画像処理システム、情報処理システム及び画像処理装置の制御プログラム
US9232201B2 (en) Dynamic projected image color correction based on projected surface coloration
US11562712B2 (en) Video reproduction system, video reproduction device, and calibration method for video reproduction system
JP2011091516A (ja) プロジェクタおよびプロジェクタの表示調整方法
US7773261B2 (en) Setting of color processing parameters for digital imaging apparatus
US20190327457A1 (en) Projection control apparatus and projection control method
JP2000341716A (ja) 階調補正回路および階調補正方法
CN113767416A (zh) 电子装置、方法、以及计算机程序
US20220351396A1 (en) Medical image data creation apparatus for training, medical image data creation method for training and non-transitory recording medium in which program is recorded
US20230252608A1 (en) Hand motion pattern modeling and motion blur synthesizing techniques
JPWO2018159288A1 (ja) 画像処理装置、および画像処理方法、並びにプログラム