WO2022118460A1 - 制御装置、制御方法、およびプログラム - Google Patents

制御装置、制御方法、およびプログラム Download PDF

Info

Publication number
WO2022118460A1
WO2022118460A1 PCT/JP2020/045215 JP2020045215W WO2022118460A1 WO 2022118460 A1 WO2022118460 A1 WO 2022118460A1 JP 2020045215 W JP2020045215 W JP 2020045215W WO 2022118460 A1 WO2022118460 A1 WO 2022118460A1
Authority
WO
WIPO (PCT)
Prior art keywords
processing
load
processing unit
unit
control device
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/JP2020/045215
Other languages
English (en)
French (fr)
Inventor
高秀 星出
正人 小野
真二 深津
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Inc
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to PCT/JP2020/045215 priority Critical patent/WO2022118460A1/ja
Priority to JP2022566602A priority patent/JP7473847B2/ja
Priority to US18/039,173 priority patent/US20240004717A1/en
Priority to EP20964312.1A priority patent/EP4258645A4/en
Publication of WO2022118460A1 publication Critical patent/WO2022118460A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4831Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/95Computational photography systems, e.g. light-field imaging systems
    • H04N23/951Computational photography systems, e.g. light-field imaging systems by using two or more images to influence resolution, frame rate or aspect ratio
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5022Workload threshold
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • H04N1/3876Recombination of partial images to recreate the original image

Definitions

  • the present invention relates to a control device, a control method, and a program.
  • the present invention has been made in view of the above, and an object of the present invention is to output a processing result within a predetermined processing time.
  • the control device of one aspect of the present invention is a control device that controls a processing device that executes different types of processing, monitors a buffer used by each processing of the processing device to deliver a task, and said the processing.
  • the monitoring unit that estimates the load of the device, and when the load of the processing device is larger than the first threshold value, the processing content of the processing with lower priority among the processing executed by the processing device is changed to the processing with a smaller load. Has a change part to do.
  • the processing result can be output within a predetermined processing time.
  • FIG. 1 is a diagram showing an example of the configuration of the processing apparatus of the present embodiment.
  • FIG. 2 is a diagram for explaining an example of processing by the image processing unit.
  • FIG. 3 is a flowchart for explaining an example of the processing of the control unit.
  • FIG. 4 shows an example of a table in which the GPU load and the processing content are associated with each other.
  • FIG. 5 is a diagram showing an example of the hardware configuration of the control unit.
  • the configuration of the processing apparatus of this embodiment will be described with reference to FIG.
  • the processing device shown in FIG. 1 includes a control unit 10 and an image processing unit 30.
  • the image processing unit 30 includes correction processing units 31A and 31B, a combination processing unit 32, an integrated processing unit 33, and a buffer 35A-35G, inputs a plurality of images A and B, and connects the input images into one. Combines and outputs wide video.
  • the GPU is made to execute a program corresponding to the processing content, and the GPU is made to function as the correction processing unit 31A, 31B, the coupling processing unit 32, and the integrated processing unit 33.
  • Each of the correction processing unit 31A, the correction processing unit 31B, the coupling processing unit 32, and the integrated processing unit 33 corresponds to one process.
  • Each processing unit passes a task via buffers 35A-35G.
  • the correction processing units 31A and 31B input the images A and B, and correct the inclination, brightness, hue, etc. of the images A and B.
  • the correction processing units 31A and 31B store the data of the overlapping area overlapping between the adjacent videos in the buffers 35C and 35D, and store the data of the non-overlapping area not overlapping between the adjacent videos in the buffers 35F and 35G.
  • the images A and B are, for example, 4K images taken by different cameras.
  • the data of the images A and B are temporarily held in the buffers 35A and 35B, respectively.
  • the correction processing unit 31A reads the video A from the buffer 35A and processes it.
  • the correction processing unit 31B reads the video B from the buffer 35B and processes it.
  • the combining processing unit 32 reads the overlapping areas of the adjacent images A and B from each of the buffers 35C and 35D, sets a seam in the overlapping areas, and combines the overlapping areas of the adjacent images A and B.
  • the join processing unit 32 stores the combined overlapping area in the buffer 35E.
  • the seam is a joint connecting the images A and B, and the connection quality can be improved by setting the seam so as not to be conspicuous according to the images in the overlapping area.
  • the integration processing unit 33 reads the overlapped area combined from the buffer 35E, reads the non-overlapping areas of the images A and B from each of the buffers 35F and 35G, and integrates the overlapping area and the two non-overlapping areas. Output wide video.
  • the image processing unit 30 may input three or more images.
  • the image processing unit 30 includes a number of correction processing units according to the number of images to be input and a number of combination processing units according to the number of overlapping regions.
  • the control unit 10 includes a monitoring unit 11 and a changing unit 12, and monitors the buffers 35A-35G of the image processing unit 30 to estimate the GPU load of the image processing unit 30, and the image processing unit 30 responds to the GPU load. Control the processing content of each processing of.
  • the monitoring unit 11 monitors the buffers 35A-35G and estimates the GPU load of the image processing unit 30. If the amount of data held by the buffers 35A-35G, that is, the amount of data waiting to be processed is large, the monitoring unit 11 estimates that the load on the image processing unit 30 is high.
  • the monitoring unit 11 may estimate the load of the image processing unit 30 based on the total amount of data held by all the buffers 35A-35G, or may estimate the load of a specific buffer (for example, buffers 35A, 35B, 35C, 35D, 35E).
  • the load of the image processing unit 30 may be estimated based on the amount of data held by the image processing unit 30.
  • the monitoring unit 11 may monitor other information.
  • the changing unit 12 changes the processing with a low priority among the processing executed by the image processing unit 30 to the processing content with a light load according to the GPU load. For example, when the processing priority of the joining processing unit 32 is low, the changing unit 12 changes the processing content of the joining processing unit 32 to a light processing content.
  • the changing unit 12 may change the processing of each processing unit to the processing content with a heavy load.
  • the correction processing unit 31A corrects the video 100A, passes the non-overlapping region 110A of the video 100A to the integrated processing unit 33, and passes the overlapping region 120A to the coupling processing unit 32.
  • the non-overlapping area 110A is stored in the buffer 35F, and the overlapping area 120A is stored in the buffer 35C.
  • the correction processing unit 31B corrects the video 100B, passes the non-overlapping region 110B of the video 100B to the integrated processing unit 33, and passes the overlapping region 120B to the coupling processing unit 32.
  • the non-overlapping area 110B is stored in the buffer 35G, and the overlapping area 120B is stored in the buffer 35D.
  • the images 100A and 100B are arranged in the horizontal direction, but the present invention is not limited to this.
  • the images 100A and 100B may be arranged vertically, or four or more images may be arranged vertically and horizontally.
  • the coupling processing unit 32 reads the overlapping areas 120A and 120B of the images 100A and 100B at the same timing from the buffers 35C and 35D, sets the seams 200 in the overlapping areas 120A and 120B, and sets the seams 200 in the overlapping areas 120A and 120B, respectively.
  • the overlapping area 130 in which the divided areas 130A and 130B are combined is passed to the integrated processing unit 33.
  • the overlapping area 130 is stored in the buffer 35E.
  • the integrated processing unit 33 reads the overlapping areas 130 and the non-overlapping areas 110A and 110B at the same timing from the buffers 35C and the buffers 35F and 35G, integrates the overlapping areas 130 and the non-overlapping areas 110A and 110B, and outputs the wide video 140. ..
  • the area 140A on the left side of the seam 200 of the wide image 140 is the image of the image 100A
  • the area 140B on the right side of the seam 200 is the image of the image 100B.
  • the control unit 10 changes the processing of the processing unit having a low priority to the processing content having a light load.
  • step S11 the monitoring unit 11 monitors the buffers 35A-35G and estimates the GPU load of the image processing unit 30. For example, the monitoring unit 11 monitors the buffers 35A-35G at intervals of the frame rate of the video to be processed.
  • step S12 the monitoring unit 11 determines whether or not the GPU load exceeds a preset value (first threshold value). If it does not exceed the limit, the process proceeds to step S14.
  • the monitoring unit 11 may proceed to step S13 when the state in which the GPU load exceeds the first threshold value continues for a predetermined time or longer.
  • step S13 the changing unit 12 changes the processing of the processing unit having a low priority to a light processing.
  • the monitoring unit 11 determines whether or not the GPU load is lower than the second threshold value.
  • the second threshold value may be a threshold value set lower than the first threshold value.
  • the changing unit 12 changes the processing of the processing unit to heavy processing.
  • the changing unit 12 may change the processing of the processing unit changed to light processing in step S13 to heavy processing, or may change the processing of the processing unit having high priority to heavy processing.
  • the processing of the coupling processing unit 32 affects only the quality of the combined portion of the wide video, it is considered that the priority is lower than the processing of the correction processing units 31A and 31B and the integrated processing unit 33 that affect the quality of the entire video.
  • the binding quality and the processing load can be changed by changing the three parameters of the blending method at the time of binding, the seam search frequency, and the seam search method. Increasing the processing load improves the coupling quality, and decreasing the processing load lowers the coupling quality.
  • FIG. 4 shows an example of a table in which the GPU load and the processing content are associated with each other.
  • the seam search method when the seam is fixed, the GPU load is small, but an appropriate seam cannot be set according to the image, and the coupling quality is lowered. If you set a seam according to the video in the overlapping area, set a seam while avoiding the prohibited area, or set a seam using the tracking information of the object detected from the video, the GPU load will increase, but The binding quality can be improved.
  • control unit 10 may change the processing content of the correction processing units 31A and 31B according to the estimated GPU load.
  • the type of the filter may be changed when a filter is applied by the correction process, or the resolution of the image may be lowered by the correction process.
  • the control unit 10 of the present embodiment controls the image processing unit 30 that executes different types of processing.
  • the control unit 10 monitors the buffers 35A-35G used by each process of the image processing unit 30 to deliver the task, and the load of the monitoring unit 11 and the image processing unit 30 for estimating the load of the image processing unit 30 is increased. It has a changing unit that changes the processing content of the processing having a lower priority among the processing executed by the image processing unit 30 to the processing having a smaller load when the value is larger than the first threshold value.
  • the control unit 10 controls the processing of the image processing unit 30 according to the load of the image processing unit 30, thereby performing the image processing.
  • the unit 30 can output the processing result within a predetermined processing time.
  • the monitoring unit 11 monitors the buffers 35A-35G and estimates the load of the GPU that executes each process, so that the GPU load is estimated even when it is difficult to directly acquire the GPU load. Can be guessed. Further, when one buffer is used by a plurality of GPUs, it is possible to estimate the load of the plurality of GPUs by monitoring the buffers.
  • the control unit 10 of the present embodiment described above includes, for example, a central processing unit (CPU) 901, a memory 902, a storage 903, a communication device 904, an input device 905, as shown in FIG.
  • a general-purpose computer system including an output device 906 can be used.
  • the control unit 10 of the present embodiment is realized by the CPU 901 executing a predetermined program loaded on the memory 902. This program can be recorded on a computer-readable recording medium such as a magnetic disk, an optical disk, or a semiconductor memory, or can be distributed via a network.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)

Abstract

異なる種類の処理を実行する画像処理部30を制御する制御部10である。制御部10は、画像処理部30の各処理がタスクを受け渡すために利用するバッファ35A-35Gを監視し、画像処理部30の負荷を推測する監視部11と、画像処理部30の負荷が第1閾値よりも大きい場合に、画像処理部30の実行する処理のうち優先度の低い処理の処理内容をより負荷の小さい処理に変更する変更部を有する。

Description

制御装置、制御方法、およびプログラム
 本発明は、制御装置、制御方法、およびプログラムに関する。
 近年、複数のカメラで撮影した映像をつなぎ合わせてワイド映像として再構成する画像処理が普及している。画像処理には、画像処理に特化したGraphical Processing Unit(GPU)が用いられる。
"CUDA Toolkit Documentation"、[online]、NVIDIA Corporation、インターネット〈 URL:https://docs.nvidia.com/cuda/cuda-runtime-api/ 〉 "Dot-assignment ... what is going on here?"、[online]、Julia Programming Language、インターネット〈 URL:https://discourse.julialang.org/t/dot-assignment-what-is-going-on-here/2579 〉
 ワイド映像をライブ配信する場合、予め決められた処理時間内でワイド映像を生成する必要がある。GPUを用いるプログラミングにおいて、開発者はタスクの優先度を設定することができるが、GPUのリソース配分を外部から制御できない。そのため、処理時間が不均一のタスクを同時に連続実行する場合は、決められた処理時間内に処理を完了することを担保することが難しいという問題があった。
 本発明は、上記に鑑みてなされたものであり、予め決められた処理時間内で処理結果を出力することを目的とする。
 本発明の一態様の制御装置は、異なる種類の処理を実行する処理装置を制御する制御装置であって、前記処理装置の各処理がタスクを受け渡すために利用するバッファを監視し、前記処理装置の負荷を推測する監視部と、前記処理装置の負荷が第1閾値よりも大きい場合に、前記処理装置の実行する処理のうち優先度の低い処理の処理内容をより負荷の小さい処理に変更する変更部を有する。
 本発明によれば、予め決められた処理時間内で処理結果を出力することができる。
図1は、本実施形態の処理装置の構成の一例を示す図である。 図2は、画像処理部の処理の一例を説明するための図である。 図3は、制御部の処理の一例を説明するためのフローチャートである。 図4は、GPU負荷と処理内容を対応させたテーブルの一例を示す。 図5は、制御部のハードウェア構成の一例を示す図である。
 図1を参照し、本実施形態の処理装置の構成について説明する。図1に示す処理装置は、制御部10および画像処理部30を備える。
 画像処理部30は、補正処理部31A,31B、結合処理部32、統合処理部33、およびバッファ35A-35Gを備えて、複数の映像A,Bを入力し、入力した映像をつなげて1つのワイド映像を合成し、出力する。処理内容に応じたプログラムをGPUに実行させて、GPUを補正処理部31A,31B、結合処理部32、および統合処理部33として機能させる。補正処理部31A、補正処理部31B、結合処理部32、および統合処理部33のそれぞれが1プロセスに対応する。各処理部は、バッファ35A-35Gを介してタスクを受け渡す。
 補正処理部31A,31Bは、映像A,Bを入力し、映像A,Bの傾き、輝度、色合いなどを補正する。補正処理部31A,31Bは、隣接する映像間で重複する重複領域のデータをバッファ35C,35Dに格納し、隣接する映像間で重複しない非重複領域のデータをバッファ35F、35Gに格納する。映像A,Bは、例えば別々のカメラで撮影した4K映像である。バッファ35A,35Bのそれぞれに映像A,Bのデータが一時的に保持される。補正処理部31Aはバッファ35Aから映像Aを読み出して処理する。補正処理部31Bはバッファ35Bから映像Bを読み出して処理する。
 結合処理部32は、バッファ35C,35Dのそれぞれから隣接する映像A,Bの重複領域を読み出して、重複領域にシームを設定し、隣接する映像A,Bの重複領域を結合する。結合処理部32は、結合した重複領域をバッファ35Eに格納する。シームとは、映像A,Bを繋げるつなぎ目であり、重複領域の映像に応じて目立たないようにシームを設定することで結合品質を上げることができる。
 統合処理部33は、バッファ35Eから結合された重複領域を読み出すとともに、バッファ35F,35Gのそれぞれから映像A,Bそれぞれの非重複領域を読み出して、重複領域と2つの非重複領域を統合してワイド映像を出力する。
 なお、画像処理部30は、3つ以上の映像を入力してもよい。その場合、画像処理部30は、入力する映像の数に応じた数の補正処理部と重複領域の数に応じた数の結合処理部を備える。
 制御部10は、監視部11および変更部12を備えて、画像処理部30のバッファ35A-35Gを監視することで画像処理部30のGPU負荷を推測し、GPU負荷に応じて画像処理部30の各処理の処理内容を制御する。
 監視部11は、バッファ35A-35Gを監視して、画像処理部30のGPU負荷を推測する。バッファ35A-35Gの保持するデータの量つまり処理待ちのデータの量が多ければ、監視部11は、画像処理部30の負荷が高いと推測する。監視部11は、全てのバッファ35A-35Gの保持するデータの総量に基づいて画像処理部30の負荷を推測してもよいし、特定のバッファ(例えばバッファ35A,35B,35C,35D,35E)の保持するデータの量に基づいて画像処理部30の負荷を推測してもよい。
 なお、GPU負荷が推測できるならば、監視部11は別の情報を監視してもよい。
 変更部12は、GPU負荷に応じて、画像処理部30の実行する処理のうち優先度の低い処理を、負荷の軽い処理内容に変更する。例えば、結合処理部32の処理の優先度が低い場合、変更部12は、結合処理部32の処理内容を軽い処理内容に変更する。
 変更部12は、GPU負荷が軽くなると、各処理部の処理を負荷の重い処理内容に変更してもよい。
 次に、図2を参照し、画像処理部30の処理の流れについて説明する。
 補正処理部31Aは、映像100Aを補正処理するとともに、映像100Aの非重複領域110Aを統合処理部33へ渡し、重複領域120Aを結合処理部32へ渡す。非重複領域110Aは、バッファ35Fに格納され、重複領域120Aは、バッファ35Cに格納される。
 同様に、補正処理部31Bは、映像100Bを補正処理するとともに、映像100Bの非重複領域110Bを統合処理部33へ渡し、重複領域120Bを結合処理部32へ渡す。非重複領域110Bは、バッファ35Gに格納され、重複領域120Bは、バッファ35Dに格納される。
 なお、図2では映像100A,100Bを横方向に並べているが、これに限るものではない。映像100A,100Bを縦方向に並べてもよいし、4つ以上の映像を縦横に並べてもよい。
 結合処理部32は、同じタイミングの映像100A,100Bの重複領域120A,120Bをバッファ35C,35Dから読み出し、重複領域120A,120Bにシーム200を設定し、重複領域120A,120Bのそれぞれをシーム200で分割した領域130A,130Bを結合した重複領域130を統合処理部33へ渡す。重複領域130は、バッファ35Eに格納される。
 統合処理部33は、同じタイミングの重複領域130と非重複領域110A,110Bをバッファ35Cとバッファ35F,35Gから読み出し、重複領域130と非重複領域110A,110Bを統合してワイド映像140を出力する。ワイド映像140のシーム200から左側の領域140Aは映像100Aの映像であり、シーム200から右側の領域140Bは映像100Bの映像である。
 複数の映像をつなぎ合わせたワイド映像をライブ配信するためには、映像100A,100Bが入力される間隔でワイド映像140を出力し続ける必要がある。画像処理部30の負荷が高くなる場合、制御部10は、優先度の低い処理部の処理を負荷の軽い処理内容に変更する。
 次に、図3のフローチャートを参照し、制御部10の処理の流れについて説明する。
 ステップS11にて、監視部11は、バッファ35A-35Gを監視して、画像処理部30のGPU負荷を推測する。例えば、監視部11は、処理する映像のフレームレートの間隔でバッファ35A-35Gを監視する。
 ステップS12にて、監視部11は、GPU負荷が予め設定した値(第1閾値)を超えたか否かを判定する。超えていない場合はステップS14に進む。監視部11は、GPU負荷が第1閾値を超える状態が所定の時間以上継続した場合に処理をステップS13に進めてもよい。
 GPU負荷が第1閾値を超えた場合、ステップS13にて、変更部12は、優先度の低い処理部の処理を軽い処理に変更する。
 GPU負荷が第1閾値を超えていない場合、ステップS14にて、監視部11は、GPU負荷が第2閾値よりも下であるか否かを判定する。第2閾値は第1閾値よりも低く設定された閾値であってよい。
 GPU負荷が第2閾値よりも下の場合、ステップS15にて、変更部12は、処理部の処理を重い処理に変更する。変更部12は、ステップS13で軽い処理に変更した処理部の処理を重い処理に変更してもよいし、優先度の高い処理部の処理を重い処理に変更してもよい。
 ここで、結合処理について処理内容の変更の一例を説明する。結合処理部32の処理はワイド映像の結合部分の品質のみに影響するので、映像全体の品質に影響する補正処理部31A,31Bおよび統合処理部33の処理よりも優先度が低いと考えられる。また、結合処理は、結合時のブレンド方法、シーム探索頻度、シーム探索方法の3つのパラメータを変更することにより、結合品質と処理負荷とを変更することができる。処理負荷を大きくすると結合品質が上がり、処理負荷を小さくすると結合品質が下がる。
 図4に、GPU負荷と処理内容を対応させたテーブルの一例を示す。図4のテーブルではGPU負荷の数値が大きいほど負荷が大きく、精緻な処理である。例えば、シーム探索方法において、シームを固定した場合はGPU負荷は小さいが映像に応じて適切なシームを設定できず結合品質が下がる。重複領域の映像に応じてシームを設定したり、禁止領域を避けてシームを設定したり、映像から検出したオブジェクトのトラッキング情報を利用してシームを設定したりすると、GPU負荷が大きくなるが、結合品質を上げることができる。
 図4のテーブルにおいて、結合処理部32がGPU負荷=8の処理内容で動作中に、制御部10がGPU負荷が閾値を超えたことを検知すると、制御部10は結合処理部32の処理をGPU負荷=7の処理内容に変更する。GPU負荷の7と8ではシーム探索方式が異なる。GPU負荷=8のときのシーム探索方式はGPU負荷=7のときのシーム探索方式よりも負荷が大きいが結合品質が上がる。図4のテーブルのGPU負荷の5と6ではブレンド方式が異なる。GPU負荷の3と4ではシーム生成間隔が異なる。
 なお、制御部10は、推測したGPU負荷に応じて、補正処理部31A,31Bの処理内容を変更してもよい。例えば、補正処理でフィルタをかける場合にフィルタの種別を変更したり、補正処理で映像の解像度を低くしたりしてもよい。
 以上説明したように、本実施形態の制御部10は、異なる種類の処理を実行する画像処理部30を制御する。制御部10は、画像処理部30の各処理がタスクを受け渡すために利用するバッファ35A-35Gを監視し、画像処理部30の負荷を推測する監視部11と、画像処理部30の負荷が第1閾値よりも大きい場合に、画像処理部30の実行する処理のうち優先度の低い処理の処理内容をより負荷の小さい処理に変更する変更部を有する。これにより、画像処理部30が不均一な複数の処理を同時に連続実行する場合に、制御部10が、画像処理部30の負荷に応じて画像処理部30の処理を制御することにより、画像処理部30は、予め決められた処理時間内で処理結果を出力できる。
 本実施形態によれば、監視部11がバッファ35A-35Gを監視して各処理を実行するGPUの負荷を推測することにより、GPUの負荷を直接取得することが難しい場合であってもGPU負荷を推測できる。また、1つのバッファを複数GPUが使う場合、バッファの監視により複数GPUの負荷を推測することが可能である。
 上記説明した本実施形態の制御部10には、例えば、図5に示すような、中央演算処理装置(CPU)901と、メモリ902と、ストレージ903と、通信装置904と、入力装置905と、出力装置906とを備える汎用的なコンピュータシステムを用いることができる。このコンピュータシステムにおいて、CPU901がメモリ902上にロードされた所定のプログラムを実行することにより、本実施形態の制御部10が実現される。このプログラムは磁気ディスク、光ディスク、半導体メモリ等のコンピュータ読み取り可能な記録媒体に記録することも、ネットワークを介して配信することもできる。
 10…制御部
 11…監視部
 12…変更部
 30…画像処理部
 31A,31B…補正処理部
 32…結合処理部
 33…統合処理部
 35A-35G…バッファ

Claims (6)

  1.  異なる種類の処理を実行する処理装置を制御する制御装置であって、
     前記処理装置の各処理がタスクを受け渡すために利用するバッファを監視し、前記処理装置の負荷を推測する監視部と、
     前記処理装置の負荷が第1閾値よりも大きい場合に、前記処理装置の実行する処理のうち優先度の低い処理の処理内容をより負荷の小さい処理に変更する変更部を有する
     制御装置。
  2.  請求項1に記載の制御装置であって、
     前記変更部は、前記処理装置の負荷が第2閾値よりも小さい場合に、前記処理装置の実行する処理の処理内容をより負荷の大きい処理に変更する
     制御装置。
  3.  請求項1または2に記載の制御装置であって、
     前記処理装置はGPUを用いて各処理を実行し、
     前記監視部は、前記バッファを監視して前記GPUの負荷を推測する
     制御装置。
  4.  請求項3に記載の制御装置であって、
     前記処理装置は複数の映像をつなげてワイド映像を合成し、
     前記変更部は、映像間の重複領域を結合する処理の処理内容を変更する
     制御装置。
  5.  異なる種類の処理を実行する処理装置を制御する制御方法であって、
     コンピュータが、
     前記処理装置の各処理がタスクを受け渡すために利用するバッファを監視し、前記処理装置の負荷を推測し、
     前記処理装置の負荷が第1閾値よりも大きい場合に、前記処理装置の実行する処理のうち優先度の低い処理の処理内容をより負荷の小さい処理に変更する
     制御方法。
  6.  請求項1ないし4のいずれかに記載の制御装置の各部としてコンピュータを動作させるプログラム。
PCT/JP2020/045215 2020-12-04 2020-12-04 制御装置、制御方法、およびプログラム Ceased WO2022118460A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/JP2020/045215 WO2022118460A1 (ja) 2020-12-04 2020-12-04 制御装置、制御方法、およびプログラム
JP2022566602A JP7473847B2 (ja) 2020-12-04 2020-12-04 制御装置、制御方法、およびプログラム
US18/039,173 US20240004717A1 (en) 2020-12-04 2020-12-04 Control apparatus, control method, and program
EP20964312.1A EP4258645A4 (en) 2020-12-04 2020-12-04 Control device, control method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/045215 WO2022118460A1 (ja) 2020-12-04 2020-12-04 制御装置、制御方法、およびプログラム

Publications (1)

Publication Number Publication Date
WO2022118460A1 true WO2022118460A1 (ja) 2022-06-09

Family

ID=81852704

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/045215 Ceased WO2022118460A1 (ja) 2020-12-04 2020-12-04 制御装置、制御方法、およびプログラム

Country Status (4)

Country Link
US (1) US20240004717A1 (ja)
EP (1) EP4258645A4 (ja)
JP (1) JP7473847B2 (ja)
WO (1) WO2022118460A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003067203A (ja) * 2001-06-01 2003-03-07 Telogy Networks Inc 実時間組み込みリソース管理システム
JP2005267313A (ja) * 2004-03-19 2005-09-29 Nippon Telegr & Teleph Corp <Ntt> 処理制御装置、処理制御方法及び処理制御プログラム
WO2013021656A1 (ja) * 2011-08-11 2013-02-14 パナソニック株式会社 再生装置、再生方法、集積回路、放送システム、及び放送方法
JP2019061466A (ja) * 2017-09-26 2019-04-18 オムロン株式会社 制御装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE602005015067D1 (de) * 2004-09-30 2009-08-06 Toshiba Kk Informationsbearbeitungsgerät und Programm
JP2007109085A (ja) * 2005-10-14 2007-04-26 Sony Computer Entertainment Inc 発熱制御方法、装置およびシステム
US8516478B1 (en) * 2008-06-12 2013-08-20 Mcafee, Inc. Subsequent processing of scanning task utilizing subset of virtual machines predetermined to have scanner process and adjusting amount of subsequest VMs processing based on load
US8854381B2 (en) * 2009-09-03 2014-10-07 Advanced Micro Devices, Inc. Processing unit that enables asynchronous task dispatch
US8310492B2 (en) * 2009-09-03 2012-11-13 Ati Technologies Ulc Hardware-based scheduling of GPU work
KR101641541B1 (ko) * 2010-03-31 2016-07-22 삼성전자주식회사 다중 코어에서 동적으로 부하를 분배하는 장치 및 방법
US9530174B2 (en) * 2014-05-30 2016-12-27 Apple Inc. Selective GPU throttling
KR20180014498A (ko) * 2016-08-01 2018-02-09 삼성전자주식회사 텍스트의 시인성을 향상시키는 전자 장치와 이의 동작 방법
US10741147B1 (en) * 2018-03-29 2020-08-11 Facebook Technologies, Llc Driving display device with voltage compensation based on load estimation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003067203A (ja) * 2001-06-01 2003-03-07 Telogy Networks Inc 実時間組み込みリソース管理システム
JP2005267313A (ja) * 2004-03-19 2005-09-29 Nippon Telegr & Teleph Corp <Ntt> 処理制御装置、処理制御方法及び処理制御プログラム
WO2013021656A1 (ja) * 2011-08-11 2013-02-14 パナソニック株式会社 再生装置、再生方法、集積回路、放送システム、及び放送方法
JP2019061466A (ja) * 2017-09-26 2019-04-18 オムロン株式会社 制御装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Dot-assignment ... what is going on here?", JULIA PROGRAMMING LANGUAGE
See also references of EP4258645A4

Also Published As

Publication number Publication date
JP7473847B2 (ja) 2024-04-24
US20240004717A1 (en) 2024-01-04
JPWO2022118460A1 (ja) 2022-06-09
EP4258645A1 (en) 2023-10-11
EP4258645A4 (en) 2024-08-28

Similar Documents

Publication Publication Date Title
US6757027B1 (en) Automatic video editing
US11100341B2 (en) Lane line tracking method and device
JP6985450B2 (ja) 信号対雑音比調整回路、信号対雑音比調整方法および信号対雑音比調整プログラム
JP6101896B2 (ja) 画像処理プログラムおよび画像処理装置
US11657484B2 (en) Image processing apparatus to enhance contrast of image, image processing method, and non-transitory computer-readable storage medium
US20170124685A1 (en) Image processing device, and image processing method and program for executing same
WO2022118460A1 (ja) 制御装置、制御方法、およびプログラム
KR20200087440A (ko) 열화상 처리 방법 및 그 장치
WO2017094096A1 (ja) トランザクション処理システムおよびトランザクション制御方法
CN104038668B (zh) 一种全景视频显示方法及系统
WO2025107973A1 (zh) 运动轨迹图像生成方法、装置、存储介质及电子设备
TWI899506B (zh) 用於製造工具之遠端控制之頻寬調整
CN114726860B (zh) 一种面向流媒体传输的负载均衡系统及负载均衡方法
US20230088317A1 (en) Information processing apparatus, information processing method, and storage medium
US20140354883A1 (en) Image processing device, image processing method, and program
JP7657606B2 (ja) 撮像制御装置、撮像制御方法およびプログラム
JP2017130858A (ja) 撮像装置及び故障検出方法、並びにプログラム及び記録媒体
JP6857104B2 (ja) 映像処理装置、映像処理方法および映像処理プログラム
US20220237745A1 (en) Image processing apparatus, image processing method, and non-transitory computer-readable storage medium
KR20230165584A (ko) 영상 왜곡 보정 장치 및 방법
WO2017217239A1 (ja) 画像処理装置、画像処理方法、およびプログラム
US20240353482A1 (en) Method of optimizing cabling of at least one device under test and system for performing tests on at least one device under test
KR20100013858A (ko) 이미지 처리장치, 이미지 처리방법 및 처리방법을실행시키기 위한 프로그램을 저장한 기록매체
US20260095644A1 (en) Method and apparatus for controlling pan-tilt-zoom (ptz) camera according to setting value
TWI920687B (zh) 生產對象的負載均衡方法、管控系統、電腦裝置、可讀儲存媒體及程式產品

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20964312

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022566602

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 18039173

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020964312

Country of ref document: EP

Effective date: 20230704