[go: up one dir, main page]

TWI889394B - Image processing device and image processing method - Google Patents

Image processing device and image processing method Download PDF

Info

Publication number
TWI889394B
TWI889394B TW113122576A TW113122576A TWI889394B TW I889394 B TWI889394 B TW I889394B TW 113122576 A TW113122576 A TW 113122576A TW 113122576 A TW113122576 A TW 113122576A TW I889394 B TWI889394 B TW I889394B
Authority
TW
Taiwan
Prior art keywords
virtual machine
processor
image
image processing
loading
Prior art date
Application number
TW113122576A
Other languages
Chinese (zh)
Other versions
TW202601548A (en
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 大陸商星宸科技股份有限公司
Priority to TW113122576A priority Critical patent/TWI889394B/en
Application granted granted Critical
Publication of TWI889394B publication Critical patent/TWI889394B/en
Publication of TW202601548A publication Critical patent/TW202601548A/en

Links

Images

Landscapes

  • Image Processing (AREA)

Abstract

An image processing device is provided. The image processing device is coupled to an external memory and includes a memory, a first processor, and a second processor. The first processor is configured to perform the following steps: loading a virtual machine monitor to the external memory; loading a first virtual machine to the external memory; waking up the second processor; and loading a second virtual machine to the external memory. The second processor is configured to perform the following steps: executing the virtual machine monitor; and executing the first virtual machine. The first processor first loads the first virtual machine and then loads the second virtual machine, and the loading time of the first virtual machine is less than the loading time of the second virtual machine.

Description

影像處理裝置及影像處理方法Image processing device and image processing method

本發明是關於影像處理裝置,尤其是關於執行多虛擬機器的影像處理裝置及其方法。The present invention relates to an image processing device, and more particularly to an image processing device and method for executing multiple virtual machines.

電子裝置的啟動速度是電子裝置的性能的指標之一。為了加快啟動速度,習知的電子裝置常採用以下的方法:(1)以輕量級的作業系統(以下簡稱簡單作業系統(simple OS),例如,即時作業系統(real-time operating system, RTOS)或無作業系統流程(Non-OS))取代大型且功能相對完整的作業系統(以下簡稱複雜作業系統(rich OS),例如,Linux、UNIX、Android、Windows等)(複雜作業系統的複雜度大於簡單作業系統的複雜度);或(2)簡化複雜作業系統。The boot speed of an electronic device is one of the indicators of the performance of the electronic device. In order to speed up the boot speed, conventional electronic devices often adopt the following methods: (1) replace a large and relatively complete operating system (hereinafter referred to as a rich OS, such as Linux, UNIX, Android, Windows, etc.) with a lightweight operating system (hereinafter referred to as a simple OS, such as a real-time operating system (RTOS) or a non-OS) (the complexity of a rich OS is greater than that of a simple OS); or (2) simplify a complex OS.

方法(1)的缺點是,由於簡單作業系統的軟體功能與硬體支援貧乏,所以應用程式移植難度較高。方法(2)的缺點是,受限於複雜作業系統的架構設計,簡化成果有其侷限性,能縮短的啟動時間有限。The disadvantage of method (1) is that the application porting is difficult due to the lack of software functions and hardware support of the simple operating system. The disadvantage of method (2) is that the simplification results are limited by the architectural design of the complex operating system, and the startup time that can be shortened is limited.

鑑於先前技術之不足,本發明之一目的在於提供一種影像處理裝置及影像處理方法,以改善先前技術的不足。In view of the shortcomings of the prior art, one object of the present invention is to provide an image processing device and an image processing method to improve the shortcomings of the prior art.

本發明之一實施例提供一種影像處理裝置。影像處理裝置耦接一外部記憶體,並且包含:一記憶體、一第一處理器以及一第二處理器。該第一處理器用來執行以下步驟:加載一虛擬機器監視器至該外部記憶體;加載一第一虛擬機器至該外部記憶體;喚醒該第二處理器;以及,加載一第二虛擬機器至該外部記憶體。該第二處理器用來執行以下步驟:執行該虛擬機器監視器;以及,執行該第一虛擬機器。該第一處理器先加載該第一虛擬機器再加載該第二虛擬機器,且該第一虛擬機器的加載時間小於該第二虛擬機器的加載時間。An embodiment of the present invention provides an image processing device. The image processing device is coupled to an external memory and includes: a memory, a first processor and a second processor. The first processor is used to execute the following steps: loading a virtual machine monitor to the external memory; loading a first virtual machine to the external memory; waking up the second processor; and, loading a second virtual machine to the external memory. The second processor is used to execute the following steps: executing the virtual machine monitor; and, executing the first virtual machine. The first processor first loads the first virtual machine and then loads the second virtual machine, and the loading time of the first virtual machine is shorter than the loading time of the second virtual machine.

本發明之另一實施例提供一種影像處理裝置。影像處理裝置耦接一外部記憶體,並且包含:一記憶體以及一處理器。處理器用來執行以下步驟:加載一虛擬機器監視器至該外部記憶體;加載一第一虛擬機器至該外部記憶體;執行該虛擬機器監視器;執行該第一虛擬機器;以及,加載一第二虛擬機器至該外部記憶體。該處理器先加載該第一虛擬機器再加載該第二虛擬機器,且該第一虛擬機器的加載時間小於該第二虛擬機器的加載時間。Another embodiment of the present invention provides an image processing device. The image processing device is coupled to an external memory and includes: a memory and a processor. The processor is used to execute the following steps: loading a virtual machine monitor to the external memory; loading a first virtual machine to the external memory; executing the virtual machine monitor; executing the first virtual machine; and loading a second virtual machine to the external memory. The processor first loads the first virtual machine and then loads the second virtual machine, and the loading time of the first virtual machine is less than the loading time of the second virtual machine.

本發明之另一實施例提供一種影像處理方法。影像處理方法應用於一影像處理裝置,該影像處理裝置耦接一外部記憶體,該方法包含:(A)加載一虛擬機器監視器至該外部記憶體;(B)加載一第一虛擬機器至該外部記憶體;(C)執行該虛擬機器監視器;(D)執行該第一虛擬機器;以及,(E)加載一第二虛擬機器至該外部記憶體。步驟(B)早於步驟(E),且該第一虛擬機器的加載時間小於該第二虛擬機器的加載時間。Another embodiment of the present invention provides an image processing method. The image processing method is applied to an image processing device, which is coupled to an external memory, and the method includes: (A) loading a virtual machine monitor to the external memory; (B) loading a first virtual machine to the external memory; (C) executing the virtual machine monitor; (D) executing the first virtual machine; and (E) loading a second virtual machine to the external memory. Step (B) is earlier than step (E), and the loading time of the first virtual machine is less than the loading time of the second virtual machine.

本發明之實施例所體現的技術手段可以改善先前技術之缺點的至少其中之一,因此本發明相較於先前技術可以加快電子裝置的啟動速度而且該電子裝置執行完整的複雜作業系統。The technical means embodied in the embodiments of the present invention can improve at least one of the shortcomings of the prior art. Therefore, compared with the prior art, the present invention can speed up the startup speed of the electronic device and the electronic device can execute a complete complex operating system.

有關本發明的特徵、實作與功效,茲配合圖式作實施例詳細說明如下。The features, implementation and effects of the present invention are described in detail below with reference to the accompanying drawings.

以下說明內容之技術用語係參照本技術領域之習慣用語,如本說明書對部分用語有加以說明或定義,該部分用語之解釋係以本說明書之說明或定義為準。The technical terms used in the following descriptions refer to the customary terms in this technical field. If this manual explains or defines some of the terms, the interpretation of those terms shall be based on the explanation or definition in this manual.

本發明之揭露內容包含影像處理裝置及影像處理方法。由於本發明之影像處理裝置所包含之部分元件單獨而言可能為已知元件,因此在不影響該裝置發明之充分揭露及可實施性的前提下,以下說明對於已知元件的細節將予以節略。此外,本發明之影像處理方法的部分或全部流程可以是軟體及/或韌體之形式,並且可藉由本發明之影像處理裝置或其等效裝置來執行,在不影響該方法發明之充分揭露及可實施性的前提下,以下方法發明之說明將著重於步驟內容而非硬體。The disclosure of the present invention includes an image processing device and an image processing method. Since some of the components included in the image processing device of the present invention may be known components individually, the details of the known components will be omitted in the following description without affecting the full disclosure and feasibility of the device invention. In addition, part or all of the process of the image processing method of the present invention may be in the form of software and/or firmware, and can be executed by the image processing device of the present invention or its equivalent device. Without affecting the full disclosure and feasibility of the method invention, the following description of the method invention will focus on the step content rather than the hardware.

請參閱圖1,圖1是本發明電子裝置之一實施例的功能方塊圖。電子裝置100包含影像處理裝置101、外部記憶體102、影像感測器103、麥克風104及傳輸電路105。影像處理裝置101包含處理器110、處理器120、影像訊號處理器130、聲音訊號處理器140、編碼器150及記憶體160。處理器110及處理器120可以是通用處理器或專用處理器等,而專用處理器可以是神經網路處理器或智慧處理器等。外部記憶體102可以是動態隨機存取記憶體(Dynamic Random Access Memory, DRAM),而記憶體160可以是靜態隨機存取記憶體(Static Random Access Memory, SRAM)。Please refer to FIG. 1, which is a functional block diagram of an embodiment of the electronic device of the present invention. The electronic device 100 includes an image processing device 101, an external memory 102, an image sensor 103, a microphone 104, and a transmission circuit 105. The image processing device 101 includes a processor 110, a processor 120, an image signal processor 130, an audio signal processor 140, a codec 150, and a memory 160. The processor 110 and the processor 120 can be general-purpose processors or special-purpose processors, etc., and the special-purpose processor can be a neural network processor or an intelligent processor, etc. The external memory 102 may be a dynamic random access memory (DRAM), and the memory 160 may be a static random access memory (SRAM).

影像感測器103及麥克風104分別用來擷取影像及聲音(audio),且分別產生影像資料DV0與聲音資料DA0。影像訊號處理器130耦接影像感測器103,用來處理影像資料DV0(包含但不限於計算影像資料DV0的亮度及根據亮度控制影像感測器103的曝光長度)以產生處理後的影像資料DV1。聲音訊號處理器140耦接麥克風104,用來處理聲音資料DA0(包含但不限於降噪、放大)以產生處理後的聲音資料DA1。編碼器150耦接影像訊號處理器130、聲音訊號處理器140、記憶體160及外部記憶體102,用來編碼處理後的聲音資料DA1及處理後的影像資料DV1,以產生多媒體資料Dout,並且將多媒體資料Dout儲存至外部記憶體102。然後,影像處理裝置101(更明確地說,處理器110或處理器120)控制傳輸電路105從外部記憶體102讀出多媒體資料Dout,並且將多媒體資料Dout傳送至網路或其他電子裝置(包含但不限於儲存裝置)。多媒體資料Dout包含至少一幀圖像。The image sensor 103 and the microphone 104 are used to capture images and audio, respectively, and generate image data DV0 and audio data DA0, respectively. The image signal processor 130 is coupled to the image sensor 103, and is used to process the image data DV0 (including but not limited to calculating the brightness of the image data DV0 and controlling the exposure length of the image sensor 103 according to the brightness) to generate processed image data DV1. The audio signal processor 140 is coupled to the microphone 104, and is used to process the audio data DA0 (including but not limited to noise reduction and amplification) to generate processed audio data DA1. The encoder 150 is coupled to the image signal processor 130, the audio signal processor 140, the memory 160 and the external memory 102, and is used to encode the processed audio data DA1 and the processed image data DV1 to generate multimedia data Dout, and store the multimedia data Dout in the external memory 102. Then, the image processing device 101 (more specifically, the processor 110 or the processor 120) controls the transmission circuit 105 to read the multimedia data Dout from the external memory 102, and transmit the multimedia data Dout to a network or other electronic device (including but not limited to a storage device). The multimedia data Dout includes at least one frame of image.

記憶體160可以用來暫存編碼器150於編碼過程中所產生的中間資料。The memory 160 can be used to temporarily store the intermediate data generated by the encoder 150 during the encoding process.

處理器110及處理器120可以是兩個獨立的處理器、同一處理器的兩個核心,或是分屬於不同處理器的兩個核心。處理器110及處理器120皆執行虛擬機器監視器VMM(virtual machine monitor,又稱為Hypervisor)。虛擬機器監視器VMM管理處理器110及處理器120所執行的虛擬機器VM0及虛擬機器VM1。更明確地說,虛擬機器監視器VMM依據預設的規則(例如,虛擬機器的優先級)將硬體資源(例如,處理器)分配給虛擬機器VM0或虛擬機器VM1。虛擬機器監視器VMM的操作原理為本技術領域具有通常知識者所熟知,故不再贅述。The processor 110 and the processor 120 may be two independent processors, two cores of the same processor, or two cores belonging to different processors. The processor 110 and the processor 120 both execute a virtual machine monitor VMM (virtual machine monitor, also known as Hypervisor). The virtual machine monitor VMM manages the virtual machines VM0 and VM1 executed by the processor 110 and the processor 120. More specifically, the virtual machine monitor VMM allocates hardware resources (e.g., processors) to the virtual machine VM0 or the virtual machine VM1 according to preset rules (e.g., virtual machine priority). The operating principle of the virtual machine monitor VMM is well known to those skilled in the art, and will not be described in detail.

在以下的說明中,虛擬機器VM0的優先級高於虛擬機器VM1的優先級,而且虛擬機器VM0及虛擬機器VM1分別執行簡單作業系統及複雜作業系統。影像感測器103、麥克風104、影像訊號處理器130、聲音訊號處理器140及編碼器150由虛擬機器VM0控制,而傳輸電路105由虛擬機器VM1控制。In the following description, the priority of the virtual machine VM0 is higher than the priority of the virtual machine VM1, and the virtual machine VM0 and the virtual machine VM1 respectively execute the simple operating system and the complex operating system. The image sensor 103, the microphone 104, the image signal processor 130, the sound signal processor 140 and the encoder 150 are controlled by the virtual machine VM0, and the transmission circuit 105 is controlled by the virtual machine VM1.

請參閱圖2,圖2是本發明影像處理方法之一實施例的流程圖,包含以下步驟。Please refer to FIG. 2 , which is a flow chart of an embodiment of the image processing method of the present invention, comprising the following steps.

步驟S210:處理器110加載虛擬機器監視器VMM至外部記憶體102(例如,加載虛擬機器監視器VMM的映像檔)。在一些實施例中,處理器110藉由執行啟動程式(bootloader)來完成步驟S210。Step S210: The processor 110 loads the virtual machine monitor VMM to the external memory 102 (for example, loads the image file of the virtual machine monitor VMM). In some embodiments, the processor 110 completes step S210 by executing a bootloader.

步驟S220:處理器110加載虛擬機器VM0至外部記憶體102(例如,加載虛擬機器VM0的映像檔)。處理器110可以藉由執行啟動程式來完成步驟S220。Step S220: The processor 110 loads the virtual machine VM0 to the external memory 102 (eg, loads the image file of the virtual machine VM0). The processor 110 may complete step S220 by executing a startup program.

步驟S220完成後,處理器110一方面喚醒處理器120以執行步驟S250~S290,一方面繼續執行步驟S230~S240及步驟S270~S290。After step S220 is completed, the processor 110 wakes up the processor 120 to execute steps S250-S290, and continues to execute steps S230-S240 and S270-S290.

步驟S230:處理器110加載虛擬機器VM1至外部記憶體102(例如,加載虛擬機器VM1的映像檔)。在一些實施例中,處理器110藉由執行啟動程式來完成步驟S230。Step S230: The processor 110 loads the virtual machine VM1 to the external memory 102 (eg, loads the image file of the virtual machine VM1). In some embodiments, the processor 110 completes step S230 by executing a startup program.

需注意的是,因為複雜作業系統的複雜度大於簡單作業系統的複雜度(即,虛擬機器VM1的映像檔大於虛擬機器VM0的映像檔),所以虛擬機器VM1的加載時間會大於虛擬機器VM0的加載時間。It should be noted that because the complexity of the complex operating system is greater than that of the simple operating system (ie, the image file of the virtual machine VM1 is larger than the image file of the virtual machine VM0), the loading time of the virtual machine VM1 will be greater than the loading time of the virtual machine VM0.

步驟S240:處理器110跳轉(jump)至虛擬機器監視器VMM,也就是執行虛擬機器監視器VMM。Step S240: The processor 110 jumps to the virtual machine monitor VMM, that is, executes the virtual machine monitor VMM.

需注意的是,處理器110於加載完虛擬機器VM0及虛擬機器VM1(步驟S220、S230)後才執行虛擬機器監視器VMM(步驟S240)。換言之,本案的虛擬機器監視器VMM不具有加載虛擬機器VM0及虛擬機器VM1的功能。這樣的設計可以精簡虛擬機器監視器VMM,以縮短步驟S210的執行時間(即,進一步加快電子裝置100的啟動速度)。It should be noted that the processor 110 executes the virtual machine monitor VMM (step S240) after loading the virtual machine VM0 and the virtual machine VM1 (steps S220 and S230). In other words, the virtual machine monitor VMM of this case does not have the function of loading the virtual machine VM0 and the virtual machine VM1. Such a design can simplify the virtual machine monitor VMM to shorten the execution time of step S210 (i.e., further speed up the startup speed of the electronic device 100).

步驟S250:處理器120跳轉至虛擬機器監視器VMM。Step S250: The processor 120 jumps to the virtual machine monitor VMM.

步驟S260:處理器120執行虛擬機器VM0。更明確地說,處理器120在步驟S260中執行步驟S262、S264及S266等三個子步驟。Step S260: The processor 120 executes the virtual machine VM0. More specifically, the processor 120 executes three sub-steps, namely, steps S262, S264, and S266 in step S260.

步驟S262:處理器120初始化聲音模組(包含麥克風104及聲音訊號處理器140)及影像模組(包含影像感測器103及影像訊號處理器130)。Step S262: The processor 120 initializes the sound module (including the microphone 104 and the sound signal processor 140) and the image module (including the image sensor 103 and the image signal processor 130).

步驟S264:處理器120控制聲音模組擷取及處理聲音資料DA0,以及控制影像模組擷取及處理影像資料DV0。Step S264: The processor 120 controls the sound module to capture and process the sound data DA0, and controls the image module to capture and process the image data DV0.

步驟S266:處理器120控制編碼器150編碼處理後的聲音資料DA1及處理後的影像資料DV1以產生圖像IMG0(多媒體資料Dout的一部分),並且將圖像IMG0儲存至外部記憶體102。圖像IMG0是電子裝置100於啟動後所產生的第一幀圖像。Step S266: The processor 120 controls the encoder 150 to encode the processed audio data DA1 and the processed image data DV1 to generate an image IMG0 (a part of the multimedia data Dout), and stores the image IMG0 in the external memory 102. The image IMG0 is the first frame of the image generated by the electronic device 100 after startup.

處理器110於加載完虛擬機器VM1(步驟S230)並且跳轉至虛擬機器監視器VMM(步驟S240)後,處理器110與處理器120便同時執行虛擬機器監視器VMM。虛擬機器監視器VMM根據虛擬機器VM0與虛擬機器VM1的優先級調配處理器110及/或處理器120的使用權給虛擬機器VM0(即,執行VM0執行緒(步驟S270))或虛擬機器VM1(即,執行VM1執行緒(步驟S280)),或是控制處理器110及處理器120進入閒置狀態(即,執行閒置執行緒(idle thread)(步驟S290))。After the processor 110 loads the virtual machine VM1 (step S230 ) and jumps to the virtual machine monitor VMM (step S240 ), the processor 110 and the processor 120 execute the virtual machine monitor VMM simultaneously. The virtual machine monitor VMM allocates the use rights of the processor 110 and/or the processor 120 to the virtual machine VM0 (i.e., executes the VM0 execution thread (step S270)) or the virtual machine VM1 (i.e., executes the VM1 execution thread (step S280)) according to the priorities of the virtual machine VM0 and the virtual machine VM1, or controls the processor 110 and the processor 120 to enter an idle state (i.e., executes an idle thread (step S290)).

舉例來說,於圖像IMG0產生後,虛擬機器監視器VMM繼續將處理器120的硬體資源分配給虛擬機器VM0,以產生更多幀的圖像(步驟S270),並且同時將處理器110的硬體資源分配給虛擬機器VM1以控制傳輸電路105輸出圖像IMG0及後續的圖像(步驟S280)。For example, after the image IMG0 is generated, the virtual machine monitor VMM continues to allocate the hardware resources of the processor 120 to the virtual machine VM0 to generate more frames of images (step S270), and at the same time allocates the hardware resources of the processor 110 to the virtual machine VM1 to control the transmission circuit 105 to output the image IMG0 and subsequent images (step S280).

需注意的是,處理器120並非專屬於虛擬機器VM0,而處理器110也非專屬於虛擬機器VM1。舉例來說,在某些情況下(例如,外部記憶體102中沒有待傳輸的圖像時),虛擬機器監視器VMM可以將處理器110及處理器120同時分配給虛擬機器VM0。類似地,虛擬機器監視器VMM可以將處理器110及處理器120同時分配給虛擬機器VM1。換言之,不論是簡單作業系統或複雜作業系統都能得到超過一個處理器的運算能力,這對於處理器的資源調度更加有利。It should be noted that processor 120 is not exclusive to virtual machine VM0, and processor 110 is not exclusive to virtual machine VM1. For example, in certain cases (e.g., when there is no image to be transmitted in external memory 102), virtual machine monitor VMM can assign processor 110 and processor 120 to virtual machine VM0 at the same time. Similarly, virtual machine monitor VMM can assign processor 110 and processor 120 to virtual machine VM1 at the same time. In other words, both simple operating systems and complex operating systems can obtain computing power of more than one processor, which is more beneficial to resource scheduling of the processor.

如前所述,由於虛擬機器VM0的優先級高於虛擬機器VM1,所以當虛擬機器VM0及虛擬機器VM1同時向虛擬機器監視器VMM請求硬體資源時,虛擬機器監視器VMM優先將硬體資源分配給虛擬機器VM0。As mentioned above, since the priority of the virtual machine VM0 is higher than that of the virtual machine VM1, when the virtual machine VM0 and the virtual machine VM1 simultaneously request hardware resources from the virtual machine monitor VMM, the virtual machine monitor VMM preferentially allocates the hardware resources to the virtual machine VM0.

當虛擬機器VM0及虛擬機器VM1都不需要硬體資源時,虛擬機器監視器VMM控制處理器110及處理器120執行閒置執行緒(步驟S290)。When the virtual machine VM0 and the virtual machine VM1 do not need hardware resources, the virtual machine monitor VMM controls the processor 110 and the processor 120 to execute the idle thread (step S290).

請參閱圖3,圖3是對應於圖2的時序圖(sequence diagram)。處理器110於時間點t1喚醒處理器120。在時間點t1與時間點t2之間,當處理器120正在執行步驟S250及步驟S260時,處理器110執行步驟S230。由於複雜作業系統相對龐大(即,虛擬機器VM1的加載時間相對長),所以當處理器110加載完虛擬機器VM1時(步驟S230結束),處理器120已經產生圖像IMG0(時間點t2)。於產生圖像IMG0後,處理器120執行虛擬機器VM0以產生更多幀的圖像(步驟S270)。於加載完虛擬機器VM1後,處理器110執行虛擬機器監視器VMM(步驟S240),然後執行虛擬機器VM1(步驟S280)。在步驟S280中,處理器110控制傳輸電路105從外部記憶體102讀出圖像IMG0並且傳輸圖像IMG0。Please refer to FIG. 3 , which is a sequence diagram corresponding to FIG. 2 . The processor 110 wakes up the processor 120 at time t1 . Between time t1 and time t2 , when the processor 120 is executing steps S250 and S260 , the processor 110 executes step S230 . Since the complex operating system is relatively large (i.e., the loading time of the virtual machine VM1 is relatively long), when the processor 110 finishes loading the virtual machine VM1 (step S230 ends), the processor 120 has already generated the image IMG0 (time t2 ). After generating the image IMG0, the processor 120 executes the virtual machine VM0 to generate more frames of images (step S270). After loading the virtual machine VM1, the processor 110 executes the virtual machine monitor VMM (step S240), and then executes the virtual machine VM1 (step S280). In step S280, the processor 110 controls the transmission circuit 105 to read the image IMG0 from the external memory 102 and transmit the image IMG0.

由圖3可知,本發明的電子裝置100在執行複雜作業系統(即,虛擬機器VM1)之前便已產生至少一圖像(圖像IMG0)。相較於習知技術,本案大幅增加電子裝置100的啟動速度及提升使用者體驗。As shown in FIG3 , the electronic device 100 of the present invention has generated at least one image (image IMG0) before executing the complex operating system (ie, virtual machine VM1). Compared with the prior art, the present invention greatly increases the startup speed of the electronic device 100 and improves the user experience.

請參閱圖4,圖4是本發明電子裝置之另一實施例的功能方塊圖。電子裝置400與電子裝置100相似,差別在於,在影像處理裝置401中,處理器的個數是1(即,處理器410)。Please refer to FIG4 , which is a functional block diagram of another embodiment of the electronic device of the present invention. The electronic device 400 is similar to the electronic device 100 , except that, in the image processing device 401 , the number of processors is 1 (ie, processor 410 ).

請參閱圖5A~圖5B,圖5A~圖5B是本發明影像處理方法之另一實施例的流程圖。圖5A~圖5B的流程由處理器410執行,其中步驟S510、S520、S530分別與步驟S210、S220、S250相同,而步驟S540的子步驟顯示於圖5B。請參閱圖5B,步驟S540包含子步驟S542、S544、S546、S548,而步驟S542、S544、S546、S548分別與步驟S262、S264、S266、S230相同。更明確地說,處理器410於產生圖像IMG0的期間(步驟S542~S546),處理器410以分時多工(time division multiplexing, TDM)的方式同時加載虛擬機器VM1(步驟S548)。換言之,處理器410實質上同時執行步驟S548以及步驟S542~S546。Please refer to FIG. 5A-FIG. 5B, which are flowcharts of another embodiment of the image processing method of the present invention. The process of FIG. 5A-FIG. 5B is executed by the processor 410, wherein steps S510, S520, and S530 are respectively the same as steps S210, S220, and S250, and the sub-steps of step S540 are shown in FIG. 5B. Please refer to FIG. 5B, step S540 includes sub-steps S542, S544, S546, and S548, and steps S542, S544, S546, and S548 are respectively the same as steps S262, S264, S266, and S230. More specifically, while the processor 410 is generating the image IMG0 (steps S542 to S546), the processor 410 simultaneously loads the virtual machine VM1 in a time division multiplexing (TDM) manner (step S548). In other words, the processor 410 substantially executes step S548 and steps S542 to S546 simultaneously.

需注意的是,由於複雜作業系統相對龐大(即,虛擬機器VM1的加載時間相對長),所以當處理器410加載完虛擬機器VM1時,處理器410已經產生圖像IMG0。換句話說,步驟S546的結束時間早於步驟S548的結束時間。It should be noted that, since the complex operating system is relatively large (i.e., the loading time of the virtual machine VM1 is relatively long), when the processor 410 has finished loading the virtual machine VM1, the processor 410 has already generated the image IMG0. In other words, the end time of step S546 is earlier than the end time of step S548.

前揭實施例雖以影像處理裝置為例,然此並非對本發明之限制,本技術領域人士可依本發明之揭露適當地將本發明應用於其它類型的電子元件。Although the above-mentioned embodiments are based on an image processing device, this is not a limitation of the present invention. Those skilled in the art can appropriately apply the present invention to other types of electronic components based on the disclosure of the present invention.

雖然本發明之實施例如上所述,然而該些實施例並非用來限定本發明,本技術領域具有通常知識者可根據本發明之明示或隱含之內容對本發明之技術特徵施以變化,凡此種種變化均可能屬於本發明所尋求之專利保護範疇,換言之,本發明之專利保護範圍須視本說明書之申請專利範圍所界定者為準。Although the embodiments of the present invention are described above, these embodiments are not intended to limit the present invention. A person having ordinary knowledge in the technical field may modify the technical features of the present invention according to the explicit or implicit contents of the present invention. All such modifications may fall within the scope of patent protection sought by the present invention. In other words, the scope of patent protection of the present invention shall be subject to the scope of the patent application defined in this specification.

100,400:電子裝置 101,401:影像處理裝置 102:外部記憶體 103:影像感測器 104:麥克風 105:傳輸電路 110,120,410:處理器 130:影像訊號處理器 140:聲音訊號處理器 150:編碼器 160:記憶體 DA0:聲音資料 DA1:處理後的聲音資料 Dout:多媒體資料 DV0:影像資料 DV1:處理後的影像資料 IMG0:圖像 VM0,VM1:虛擬機器 VMM:虛擬機器監視器 S210,S220,S230,S240,S250,S260,S262,S264,S266,S270,S280,S290,S510,S520,S530,S540,S542,S544,S546,S548:步驟 t1,t2:時間點100,400: electronic device 101,401: image processing device 102: external memory 103: image sensor 104: microphone 105: transmission circuit 110,120,410: processor 130: image signal processor 140: sound signal processor 150: encoder 160: memory DA0: sound data DA1: processed sound data Dout: multimedia data DV0: image data DV1: processed image data IMG0: image VM0,VM1: virtual machine VMM: virtual machine monitor S210, S220, S230, S240, S250, S260, S262, S264, S266, S270, S280, S290, S510, S520, S530, S540, S542, S544, S546, S548: Steps t1, t2: Time points

圖1是本發明電子裝置之一實施例的功能方塊圖; 圖2是本發明影像處理方法之一實施例的流程圖; 圖3是對應於圖2的時序圖; 圖4是本發明電子裝置之另一實施例的功能方塊圖; 圖5A~圖5B是本發明影像處理方法之另一實施例的流程圖。 FIG. 1 is a functional block diagram of an embodiment of the electronic device of the present invention; FIG. 2 is a flow chart of an embodiment of the image processing method of the present invention; FIG. 3 is a timing diagram corresponding to FIG. 2; FIG. 4 is a functional block diagram of another embodiment of the electronic device of the present invention; FIG. 5A to FIG. 5B are flow charts of another embodiment of the image processing method of the present invention.

100:電子裝置 100: Electronic devices

101:影像處理裝置 101: Image processing device

102:外部記憶體 102: External memory

103:影像感測器 103: Image sensor

104:麥克風 104: Microphone

105:傳輸電路 105: Transmission circuit

110,120:處理器 110,120:Processor

130:影像訊號處理器 130: Image signal processor

140:聲音訊號處理器 140: Sound signal processor

150:編碼器 150: Encoder

160:記憶體 160:Memory

DA0:聲音資料 DA0: Sound data

DA1:處理後的聲音資料 DA1: Processed sound data

Dout:多媒體資料 Dout: Multimedia data

DV0:影像資料 DV0: Image data

DV1:處理後的影像資料 DV1: processed image data

IMG0:圖像 IMG0: Image

VM0,VM1:虛擬機器 VM0,VM1:virtual machine

VMM:虛擬機器監視器 VMM: Virtual Machine Monitor

Claims (20)

一種影像處理裝置,耦接一外部記憶體,包含: 一記憶體; 一第一處理器;以及 一第二處理器; 其中,該第一處理器用來執行以下步驟: 加載一虛擬機器監視器至該外部記憶體; 加載一第一虛擬機器至該外部記憶體; 喚醒該第二處理器;以及 加載一第二虛擬機器至該外部記憶體; 其中,該第二處理器用來執行以下步驟: 執行該虛擬機器監視器;以及 執行該第一虛擬機器; 其中,該第一處理器先加載該第一虛擬機器再加載該第二虛擬機器,且該第一虛擬機器的加載時間小於該第二虛擬機器的加載時間。 An image processing device coupled to an external memory comprises: a memory; a first processor; and a second processor; wherein the first processor is used to execute the following steps: loading a virtual machine monitor to the external memory; loading a first virtual machine to the external memory; waking up the second processor; and loading a second virtual machine to the external memory; wherein the second processor is used to execute the following steps: executing the virtual machine monitor; and executing the first virtual machine; The first processor first loads the first virtual machine and then loads the second virtual machine, and the loading time of the first virtual machine is less than the loading time of the second virtual machine. 如請求項1之影像處理裝置,其中,該第一虛擬機器執行一第一作業系統,該第二虛擬機器執行一第二作業系統,且該第一作業系統的複雜度小於該第二作業系統。The image processing device of claim 1, wherein the first virtual machine runs a first operating system, the second virtual machine runs a second operating system, and the complexity of the first operating system is less than that of the second operating system. 如請求項1之影像處理裝置,其中,該第一虛擬機器的優先級高於該第二虛擬機器。The image processing device of claim 1, wherein the first virtual machine has a higher priority than the second virtual machine. 如請求項1之影像處理裝置,更包含: 一影像訊號處理器,用來處理一影像資料,以產生一處理後的影像資料; 一聲音訊號處理器,用來處理一聲音資料,以產生一處理後的聲音資料;以及 一編碼器,耦接該影像訊號處理器及該聲音訊號處理器,用來編碼該處理後的影像資料及該處理後的聲音資料,以產生一圖像; 其中,該第二處理器係執行該第一虛擬機器以控制該影像訊號處理器、該聲音訊號處理器及該編碼器,且當該第二處理器執行該第一虛擬機器時,該第一處理器正在加載該第二虛擬機器。 The image processing device of claim 1 further comprises: an image signal processor for processing an image data to generate a processed image data; an audio signal processor for processing an audio data to generate a processed audio data; and an encoder coupled to the image signal processor and the audio signal processor to encode the processed image data and the processed audio data to generate an image; wherein the second processor executes the first virtual machine to control the image signal processor, the audio signal processor and the encoder, and when the second processor executes the first virtual machine, the first processor is loading the second virtual machine. 如請求項4之影像處理裝置,其中,該圖像係於該第二虛擬機器被加載完畢前產生。An image processing device as claimed in claim 4, wherein the image is generated before the second virtual machine is loaded. 如請求項4之影像處理裝置,更包含: 一傳輸電路,用來傳輸該圖像; 其中,該第一處理器係執行該第二虛擬機器以控制該傳輸電路。 The image processing device of claim 4 further comprises: a transmission circuit for transmitting the image; wherein the first processor executes the second virtual machine to control the transmission circuit. 如請求項1之影像處理裝置,其中,該第一處理器係執行一啟動程式以加載該第二虛擬機器,並且該第一處理器係於加載完該第二虛擬機器後才執行該虛擬機器監視器。The image processing device of claim 1, wherein the first processor executes a startup program to load the second virtual machine, and the first processor executes the virtual machine monitor only after loading the second virtual machine. 一種影像處理裝置,耦接一外部記憶體,包含: 一記憶體;以及 一處理器,用來執行以下步驟: 加載一虛擬機器監視器至該外部記憶體; 加載一第一虛擬機器至該外部記憶體; 執行該虛擬機器監視器; 執行該第一虛擬機器;以及 加載一第二虛擬機器至該外部記憶體; 其中,該處理器先加載該第一虛擬機器再加載該第二虛擬機器,且該第一虛擬機器的加載時間小於該第二虛擬機器的加載時間。 An image processing device is coupled to an external memory, comprising: a memory; and a processor for executing the following steps: loading a virtual machine monitor to the external memory; loading a first virtual machine to the external memory; executing the virtual machine monitor; executing the first virtual machine; and loading a second virtual machine to the external memory; wherein the processor first loads the first virtual machine and then loads the second virtual machine, and the loading time of the first virtual machine is less than the loading time of the second virtual machine. 如請求項8之影像處理裝置,其中,該第一虛擬機器執行一第一作業系統,該第二虛擬機器執行一第二作業系統,且該第一作業系統的複雜度小於該第二作業系統。The image processing device of claim 8, wherein the first virtual machine executes a first operating system, the second virtual machine executes a second operating system, and the complexity of the first operating system is less than that of the second operating system. 如請求項8之影像處理裝置,其中,該第一虛擬機器的優先級高於該第二虛擬機器。An image processing device as claimed in claim 8, wherein the first virtual machine has a higher priority than the second virtual machine. 如請求項8之影像處理裝置,更包含: 一影像訊號處理器,用來處理一影像資料,以產生一處理後的影像資料; 一聲音訊號處理器,用來處理一聲音資料,以產生一處理後的聲音資料;以及 一編碼器,耦接該影像訊號處理器及該聲音訊號處理器,用來編碼該處理後的影像資料及該處理後的聲音資料,以產生一圖像; 其中,該處理器係執行該第一虛擬機器以控制該影像訊號處理器、該聲音訊號處理器及該編碼器,且該處理器係以分時多工的方式產生該圖像及加載該第二虛擬機器。 The image processing device of claim 8 further comprises: an image signal processor for processing an image data to generate a processed image data; an audio signal processor for processing an audio data to generate a processed audio data; and an encoder coupled to the image signal processor and the audio signal processor to encode the processed image data and the processed audio data to generate an image; wherein the processor executes the first virtual machine to control the image signal processor, the audio signal processor and the encoder, and the processor generates the image and loads the second virtual machine in a time-division multiplexing manner. 如請求項11之影像處理裝置,其中,該圖像係於該第二虛擬機器被加載完畢前產生。An image processing device as claimed in claim 11, wherein the image is generated before the second virtual machine is loaded. 如請求項11之影像處理裝置,更包含: 一傳輸電路,用來傳輸該圖像; 其中,該處理器係執行該第二虛擬機器以控制該傳輸電路。 The image processing device of claim 11 further comprises: a transmission circuit for transmitting the image; wherein the processor executes the second virtual machine to control the transmission circuit. 如請求項8之影像處理裝置,其中,該第二虛擬機器係於該處理器執行該第一虛擬機器時被加載至該外部記憶體。An image processing device as claimed in claim 8, wherein the second virtual machine is loaded into the external memory when the processor executes the first virtual machine. 一種影像處理方法,應用於一影像處理裝置,該影像處理裝置耦接一外部記憶體,該方法包含: (A)加載一虛擬機器監視器至該外部記憶體; (B)加載一第一虛擬機器至該外部記憶體; (C)執行該虛擬機器監視器; (D)執行該第一虛擬機器;以及 (E)加載一第二虛擬機器至該外部記憶體; 其中,步驟(B)係早於步驟(E),且該第一虛擬機器的加載時間小於該第二虛擬機器的加載時間。 An image processing method is applied to an image processing device, which is coupled to an external memory, and the method includes: (A) loading a virtual machine monitor to the external memory; (B) loading a first virtual machine to the external memory; (C) executing the virtual machine monitor; (D) executing the first virtual machine; and (E) loading a second virtual machine to the external memory; wherein step (B) is earlier than step (E), and the loading time of the first virtual machine is less than the loading time of the second virtual machine. 如請求項15之影像處理方法,其中,該第一虛擬機器執行一第一作業系統,該第二虛擬機器執行一第二作業系統,且該第一作業系統的複雜度小於該第二作業系統。The image processing method of claim 15, wherein the first virtual machine executes a first operating system, the second virtual machine executes a second operating system, and the complexity of the first operating system is less than that of the second operating system. 如請求項15之影像處理方法,其中,該第一虛擬機器的優先級高於該第二虛擬機器。The image processing method of claim 15, wherein the first virtual machine has a higher priority than the second virtual machine. 如請求項15之影像處理方法,更包含: (F)處理一影像資料,以產生一處理後的影像資料; (G)處理一聲音資料,以產生一處理後的聲音資料;以及 (H)編碼該處理後的影像資料及該處理後的聲音資料,以產生一圖像; 其中,步驟(F)、步驟(G)及步驟(H)係與步驟(E)實質上同時執行。 The image processing method of claim 15 further comprises: (F) processing an image data to generate a processed image data; (G) processing an audio data to generate a processed audio data; and (H) encoding the processed image data and the processed audio data to generate an image; wherein step (F), step (G) and step (H) are substantially performed simultaneously with step (E). 如請求項18之影像處理方法,其中,該圖像係於該第二虛擬機器被加載完畢前產生。An image processing method as claimed in claim 18, wherein the image is generated before the second virtual machine is loaded. 如請求項15之影像處理方法,其中,步驟(E)係步驟(D)之一子步驟。An image processing method as claimed in claim 15, wherein step (E) is a sub-step of step (D).
TW113122576A 2024-06-18 2024-06-18 Image processing device and image processing method TWI889394B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW113122576A TWI889394B (en) 2024-06-18 2024-06-18 Image processing device and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW113122576A TWI889394B (en) 2024-06-18 2024-06-18 Image processing device and image processing method

Publications (2)

Publication Number Publication Date
TWI889394B true TWI889394B (en) 2025-07-01
TW202601548A TW202601548A (en) 2026-01-01

Family

ID=97227876

Family Applications (1)

Application Number Title Priority Date Filing Date
TW113122576A TWI889394B (en) 2024-06-18 2024-06-18 Image processing device and image processing method

Country Status (1)

Country Link
TW (1) TWI889394B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112148424A (en) * 2019-06-28 2020-12-29 英特尔公司 Method and device for accelerating migration of virtual machine
TW202123166A (en) * 2017-04-28 2021-06-16 美商英特爾股份有限公司 Compute optimizations for low precision machine learning operations
CN115809114A (en) * 2022-11-23 2023-03-17 烽火通信科技股份有限公司 Boot method and boot device for virtual machine
CN117176964A (en) * 2023-11-02 2023-12-05 摩尔线程智能科技(北京)有限责任公司 A virtualized video encoding and decoding system and method, electronic device and storage medium
US20240045707A1 (en) * 2022-08-04 2024-02-08 Intel Corporation Apparatus and Method for Per-Virtual Machine Concurrent Performance Monitoring

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW202123166A (en) * 2017-04-28 2021-06-16 美商英特爾股份有限公司 Compute optimizations for low precision machine learning operations
CN112148424A (en) * 2019-06-28 2020-12-29 英特尔公司 Method and device for accelerating migration of virtual machine
US20240045707A1 (en) * 2022-08-04 2024-02-08 Intel Corporation Apparatus and Method for Per-Virtual Machine Concurrent Performance Monitoring
CN115809114A (en) * 2022-11-23 2023-03-17 烽火通信科技股份有限公司 Boot method and boot device for virtual machine
CN117176964A (en) * 2023-11-02 2023-12-05 摩尔线程智能科技(北京)有限责任公司 A virtualized video encoding and decoding system and method, electronic device and storage medium

Similar Documents

Publication Publication Date Title
KR102788532B1 (en) Neural network system, Application processor having the same and Operating method of neural network system
US11095531B2 (en) Service-aware serverless cloud computing system
CN107450989B (en) Embedded platform and method for dynamically regulating and controlling application resources
KR102824648B1 (en) Accelerator, method for operating the same and electronic device including the same
CN108733490A (en) A kind of GPU vitualization QoS control system and method based on resource-sharing adaptive configuration
CN117093352B (en) Template-based computing cluster job scheduling system, method and device
WO2024087513A1 (en) Application scenario-based data processing method and system, electronic device, and storage medium
WO2023193527A1 (en) Thread execution method and apparatus, electronic device, and computer-readable storage medium
CN107113231B (en) Offload graphics-based computing to back-end devices
CN120196421A (en) A method and device for GPU resource virtualization computing power scheduling
US20130219386A1 (en) Dynamic allocation of compute resources
KR20220049294A (en) Scheduler, method for operating the same and electronic device including the same
CN107820605B (en) System and method for dynamic low-latency optimization
CN112631744A (en) Process processing method and device, electronic equipment and computer readable storage medium
TWI889394B (en) Image processing device and image processing method
KR102802217B1 (en) Method and apparatus for lightweight and parallelization of accelerator task scheduling
EP3401784A1 (en) Multicore processing system
CN113439260B (en) I/O completion polling for low-latency storage devices
CN110413540B (en) A method, system, device and storage medium for FPGA data caching
KR20220033314A (en) Method for operating host processor and accelerator, and electronic device including the same
CN103164338B (en) The analogy method of concurrent processing system and device
TW202601548A (en) Image processing device and image processing method
EP4120078A1 (en) Method for scheduling feature services within a distributed data flow service framework
KR20230049468A (en) An artificial neural network module for performing an artificial neural network operation on a plurality of subgraphs and an operating method thereof
WO2025141485A1 (en) Virtual machine live migration method, physical host and storage medium