WO2021199283A1 - 画像処理制御装置、画像処理制御プログラム、及び画像処理制御方法 - Google Patents

画像処理制御装置、画像処理制御プログラム、及び画像処理制御方法 Download PDF

Info

Publication number
WO2021199283A1
WO2021199283A1 PCT/JP2020/014813 JP2020014813W WO2021199283A1 WO 2021199283 A1 WO2021199283 A1 WO 2021199283A1 JP 2020014813 W JP2020014813 W JP 2020014813W WO 2021199283 A1 WO2021199283 A1 WO 2021199283A1
Authority
WO
WIPO (PCT)
Prior art keywords
processing
image
deployed
rate
application
Prior art date
Application number
PCT/JP2020/014813
Other languages
English (en)
French (fr)
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 JP2022512993A priority Critical patent/JP7311036B2/ja
Priority to PCT/JP2020/014813 priority patent/WO2021199283A1/ja
Publication of WO2021199283A1 publication Critical patent/WO2021199283A1/ja
Priority to US17/880,696 priority patent/US11729259B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1038Load balancing arrangements to avoid a single path through a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests

Definitions

  • the present invention relates to an image processing control technique.
  • image processing using images in a factory includes processing for detecting a person in an image, processing for counting the number of people in an image, processing for detecting work performed by a person in an image, and processing in an image.
  • the process of tracking the position of a tool or part handled by a person in question can be mentioned.
  • Patent Document 1 An image communication terminal device that automatically switches between a moving image codec and a still image codec by a user performing an operation of stepwise switching the frame rate in relation to image processing is known (for example, Patent Document 1). See).
  • an image processing program When performing image processing using video, an image processing program is deployed in one of multiple information processing devices (computers) on the communication network, and the video to be processed is transferred to the image processing program. There is. In this case, it is desirable to determine the deployment destination of the image processing program so as to reduce the traffic of the communication network while satisfying the constraint conditions of the image processing program.
  • an object of the present invention is to select an information processing device that reduces the traffic of a communication network as a deployment destination of an image processing program.
  • the image processing control device includes a determination unit and a selection unit. Based on the processing rate of the image processing program to be deployed, the determination unit determines the type of transfer data extracted from the video when transferring the video processed by the image processing program to be deployed, either a moving image or a still image. To decide. The selection unit selects the deployment destination information processing device to which the image processing program to be deployed is deployed from among the plurality of information processing devices based on the type of transfer data.
  • an information processing device that reduces the traffic of the communication network can be selected as the deployment destination of the image processing program.
  • FIG. 1 shows an example of an image processing system that performs image processing on video.
  • the image processing system of FIG. 1 includes a control server 101, a processing server 102-1, a processing server 102-2, a DB (database) server 103-1 and a DB server 103-2. These servers are information processing devices and can communicate with each other via a communication network.
  • the number of processing servers and DB servers included in the image processing system may be three or more.
  • the processing server 102-1 includes an extraction unit 121 and a distribution unit 122, and the processing server 102-2 includes a reception unit 123 and a distribution unit 124.
  • the video input to the processing server 102-1 includes images at each of a plurality of times. The image at each time is sometimes called a frame.
  • Application A is deployed on the processing server 102-1.
  • Application A is an example of an image processing program that processes video.
  • the image rate represents the number of images transferred or processed per unit time in the image processing system.
  • the image rate is sometimes called the frame rate.
  • the image rate of the video input to the processing server 102-1 is 60 fps. fps is a unit representing the number of frames per second.
  • the extraction unit 121 extracts the transfer data of the moving image or the still image from the received video at the image rate and the amount of data instructed by the control server 101, and outputs the extracted transfer data to the distribution unit 122.
  • the distribution unit 122 transfers the transfer data to the application A at the image rate instructed by the control server 101. In the example of FIG. 1, the image rate of the transferred data transferred to the application A is 60 fps.
  • Application A sequentially processes the transfer data received from the distribution unit 122, and transmits the processing result 131-1 to the DB server 103-1.
  • the DB server 103-1 stores the processing result 131-1 received from the processing server 102-1.
  • the control server 101 stores the constraint condition 111 and the load information 112, and includes the deployment control unit 113 and the distribution control unit 114.
  • the constraint condition 111 is a constraint condition for each application deployed in the image processing system, and includes a request time and a request processing resource.
  • the load information 112 represents the usage status of the processing resource for each application.
  • the processing resource is a calculation resource such as a CPU (Central Processing Unit) and a memory of the processing server 102-1 and the processing server 102-2.
  • the requested time represents the upper limit of the sum of the data transfer time and the processing time of the transfer data.
  • the required time is an example of a constraint condition regarding the data transfer time and the processing time of the image processing program.
  • the request processing resource represents a processing resource that the application uses to process the transferred data.
  • the request processing resource is an example of a constraint condition regarding the processing resource of the image processing program.
  • FIG. 2 shows an example of the required time.
  • the data transfer time T21 represents the time for the distribution unit 122 to transfer the transfer data corresponding to the video per predetermined time to the application A.
  • the processing time T22 represents the time for the application A to process the transfer data corresponding to the video per predetermined time.
  • the data transfer time T23 represents the time for the application A to transfer the processing result of the transfer data corresponding to the video per predetermined time to the DB server 103-1.
  • the deployment control unit 113 receives the application to be deployed from the outside and deploys it to either the processing server 102-1 or the processing server 102-2.
  • the application to be deployed is application B.
  • the application B uses the same video as the application A and performs image processing different from that of the application A.
  • the deployment control unit 113 selects the processing server 102-2 that satisfies the constraint condition 111 of the application B from the processing server 102-1 and the processing server 102-2 as the deployment destination processing server. Then, the deployment control unit 113 deploys the application B to the processing server 102-2, and determines the image rate and the amount of the transferred data to be transferred to the application B.
  • the distribution control unit 114 notifies the processing server 102-2 of the processing server 102-2 as a transfer destination of the transfer data. Further, the distribution control unit 114 notifies the processing server 102-1 of the image rate and the amount of data of the transferred data.
  • the extraction unit 121 of the processing server 102-1 extracts the transfer data from the video at the notified image rate and the amount of data, and the distribution unit 122 transfers the transfer data to the processing server 102-2 at the notified image rate. Forward.
  • the image rate of the transferred data transferred to the processing server 102-2 is 60 fps.
  • the receiving unit 123 of the processing server 102-2 receives the transfer data from the processing server 102-1 and outputs it to the distribution unit 124.
  • the distribution unit 124 transfers the transfer data to the application B at an image rate of 60 fps. As a result, the transfer data extracted from the same video is distributed to the application A and the application B.
  • Application B sequentially processes the transfer data received from the distribution unit 124, and transmits the processing result 131-2 to the DB server 103-2.
  • the DB server 103-2 stores the processing result 131-2 received from the processing server 102-2.
  • FIG. 3 shows an example of the usage status of processing resources when application A and application B are deployed in the image processing system of FIG.
  • the usage status 301-1 of the processing server 102-1 indicates that 6 cores out of the 8 cores included in the CPU are occupied.
  • the usage status 301-2 of the processing server 102-2 also indicates that 6 cores out of the 8 cores included in the CPU are occupied.
  • the deployment control unit 113 accepts the application C to be deployed.
  • the application C uses the same video as the application A and the application B, and performs image processing different from that of the application A and the application B.
  • the request processing resource of application C is 4 cores
  • the free resource of any processing server does not satisfy the constraint condition of the request processing resource, so the processing server to be deployed cannot be found. Therefore, the application C is not deployed on any of the processing servers, and the free resources of each processing server are not utilized. In this case, the capacity of the application in the image processing system is reduced.
  • the application capacity represents the number of deployed applications per processing server.
  • transfer data is transferred from the processing server 102-1 to the processing server 102-2 at the same image rate as the video, and the traffic of the communication network increases. Therefore, a method of adjusting the bit rate of the transferred data can be considered.
  • the bit rate is an example of a transfer rate.
  • FIG. 4 shows an example of an image processing system that adjusts the bit rate of transferred data.
  • the image processing system of FIG. 4 has a configuration in which the processing server 102-1 is replaced with the processing server 401 in the image processing system of FIG. In FIG. 4, the control server 101 is omitted.
  • the processing server 401 has a configuration in which the distribution unit 122 is replaced with the bit rate control unit 402 in the processing server 102-1 of FIG.
  • the bit rate control unit 402 transfers the transfer data so that the amount of transfer data transferred to each application is within the range that can be processed by the processing resources of each processing server and within the band used by the communication network. Reduce the bit rate of. Then, the bit rate control unit 402 transfers the transfer data to the application A and the processing server 102-2.
  • the bit rate of the transferred data transferred to the application A is set to 1 Mbps, and the bit rate of the transferred data transferred to the processing server 102-2 is reduced to 500 Kbps. As a result, the traffic of the communication network can be reduced.
  • bit rate is reduced, the resolution of the image processed by the application will be reduced, which may affect the processing result of the application. Therefore, in order to obtain highly accurate processing results, it is not preferable to reduce the bit rate. Therefore, a method is conceivable in which the same application is deployed on a plurality of processing servers, the transferred data is divided into image units, and the image processing is parallelized.
  • FIG. 5 shows an example of a deployment method in which an application is deployed on a plurality of processing servers in the image processing system of FIG.
  • the deployment control unit 113 accepts the application C to be deployed.
  • the deployment control unit 113 selects, as the deployment destination processing server, the processing servers that satisfy the constraint time of the request time, in order from the processing server having the smallest transfer delay from the distribution unit 122. Then, the deployment control unit 113 secures the processing resources and the network resources of the deployment destination processing server, and deploys the application to the deployment destination processing server.
  • the processing server having the smallest transfer delay from the distribution unit 122 is the processing server 102-1
  • the processing server having the second smallest transfer delay from the distribution unit 122 is the processing server 102-. It is 2.
  • Each of the processing server 102-1 and the processing server 102-2 has two cores as free resources.
  • the deployment control unit 113 selects the processing server 102-1 and the processing server 102-2 as the deployment destination processing server, and uses the free resources of each processing server as the processing resource. Secure as. Next, the deployment control unit 113 copies the application C to generate the application C1 and the application C2, deploys the application C1 to the processing server 102-1, and deploys the application C2 to the processing server 102-2.
  • the deployment control unit 113 determines the processing rates of the application C1 and the application C2 according to the processing resources of each processing server.
  • the processing rate represents the number of images processed per unit time.
  • the processing rate of application C1 and application C2 is determined to be 10 fps, and the image rate of the still image transferred from the processing server 102-1 to the processing server 102-2 is determined to be 20 fps.
  • the distribution control unit 114 notifies the processing server 102-1 of the processing server 102-1 and the processing server 102-2 as the transfer destination of the still image. Further, the distribution control unit 114 notifies the processing server 102-1 of the processing rates of the application C1 and the application C2 and the image rate of the still image transferred to the processing server 102-2.
  • the extraction unit 121 of the processing server 102-1 extracts the transfer data of the still image from the video at an image rate of 60 fps.
  • the distribution unit 122 transfers a still image to the application A at an image rate of 60 fps. Further, the distribution unit 122 transfers the still image to the application C1 at an image rate of 10 fps, and transfers the still image to the processing server 102-2 at an image rate of 20 fps.
  • the receiving unit 123 of the processing server 102-2 receives the still image from the processing server 102-1 and outputs it to the distribution unit 124.
  • the distribution unit 124 transfers the still image to the application C2 at an image rate of 10 fps, and transfers the still image to the application B at an image rate of 20 fps.
  • the still image transferred to the application C1 is, for example, an even-numbered image included in the video.
  • the still image transferred to the application C2 is, for example, an odd-numbered image included in the video.
  • Application C1 sequentially processes the still images received from the distribution unit 122 and transmits the processing result to the DB server 103-1.
  • the application C2 sequentially processes the still images received from the distribution unit 124, and transmits the processing result to the DB server 103-1.
  • the DB server 103-1 stores the processing results of the application C1 and the application C2 as the processing result 131-3.
  • the video is divided into image units and processed in parallel by application C1 and application C2.
  • the free resources of each processing server are effectively utilized, and the capacity of the application in the image processing system is improved.
  • the image rate of the transferred data can be reduced by determining the processing rates of the application C1 and the application C2 according to the processing resources of each processing server.
  • the amount of still image data may be larger than that of the moving image, and the load on the communication network may be increased, depending on the processing rate of the extraction process for extracting the still image from the video.
  • FIG. 6 shows an example of a moving image and a still image extracted from a video.
  • the image rate of the input video is 30 fps and the size of one image is 1280 ⁇ 720 pixels
  • the data amount of the uncompressed moving image for 2 seconds in the format of yuv420p is 36600 KB.
  • the extraction unit 121 uses the uncompressed moving image for 2 seconds as the moving image transfer data 601, the still image transfer data 602, or the still image transfer data 603. Extract.
  • the transfer data 601 is compressed and transferred by moving image coding
  • the transfer data 602 or transfer data 603 is compressed and transferred by still image coding.
  • the transfer data 601 is transferred as a compressed moving image of 30 fps in MP4 format, and the data amount of the transfer data 601 is 516 KB.
  • the transfer data 602 is transferred as a compressed still image of 10 fps in JPEG (Joint Photographic Experts Group) format, and the data amount of the transfer data 602 is 721 KB.
  • the transfer data 603 is transferred as a compressed still image of 5 fps in JPEG format, and the amount of data of the transfer data 603 is 476 KB.
  • the data amount of the still image transfer data 603 is smaller than the data amount of the moving image transfer data 601.
  • the data amount of the still image transfer data 602 is about larger than the data amount of the moving image transfer data 601. 40% more.
  • the data amount of the still image transfer data may be larger than the data amount of the moving image transfer data.
  • the amount of data to be transferred depends on the compression rate of the video, and the compression rate changes according to the content of the video.
  • the compression rate per unit time is high, but when restoring each image from the compressed moving image, the information of the image at the previous time is used. Therefore, even if the image processing is parallelized, the amount of transferred data is not reduced, and the amount of transferred data transferred on the communication network increases according to the degree of parallelism, which increases the load on the communication network.
  • the transfer to the application is not started until the video compression is completed, the waiting time until the start of image processing becomes long. Therefore, depending on the application, the processing rate constraint may not be satisfied.
  • the video is transferred as a still image, the images can be compressed and transferred one by one, so that the waiting time until the start of image processing is shortened.
  • FIG. 7 shows an example of the start time of image processing according to the type of transfer data.
  • encoding and decoding are performed in image units, so that image processing by the application is started at time t1.
  • the image processing by the application can be started earlier.
  • the amount of transfer data is larger than that of moving images depending on the processing rate of the extraction process.
  • FIG. 8 shows an example of a functional configuration of the image processing control device of the embodiment.
  • the image processing control device 801 of FIG. 8 includes a determination unit 811 and a selection unit 812.
  • FIG. 9 is a flowchart showing an example of control processing performed by the image processing control device 801 of FIG.
  • the determination unit 811 determines the type of transfer data extracted from the video when the video processed by the image processing program to be deployed is transferred, based on the processing rate of the image processing program to be deployed, as a moving image or a still image.
  • the selection unit 812 selects the deployment destination information processing device to which the image processing program to be deployed is deployed from among the plurality of information processing devices based on the type of transfer data (step 902).
  • an information processing device that reduces the traffic of the communication network can be selected as the deployment destination of the image processing program.
  • FIG. 10 shows a functional configuration example of an image processing system including the image processing control device 801 of FIG.
  • the image processing system of FIG. 10 includes a control server 1001, a processing server 1002-1 to a processing server 1002-N, and a DB server 1003-1 to a DB server 1003-M.
  • N is an integer of 2 or more
  • M is an integer of 1 or more.
  • the servers are information processing devices and can communicate with each other via the communication network 1004.
  • the communication network 1004 is, for example, a LAN (Local Area Network) or a WAN (Wide Area Network).
  • the control server 1001 corresponds to the image processing control device 801 of FIG.
  • the receiving unit 1011-1 of the processing server 1002-1 receives the video to be processed and outputs it to the extraction unit 1012-1.
  • the extraction unit 1012-1 extracts the transfer data of the moving image or the still image from the video, and outputs the extracted transfer data to the distribution unit 1013-1.
  • the transfer destination is the execution unit 1014-1
  • the transfer data of the still image is transferred.
  • the transfer destination is another processing server 1002-i
  • the transfer data of the moving image or the still image is compressed and transferred by the moving image coding or the still image coding.
  • the receiving unit 1011-i of the processing server 1002-i receives the transfer data from the processing server 1002-1 and decodes the received transfer data.
  • the receiving unit 1011-i outputs the transferred data to the extraction unit 1012-i.
  • the receiving unit 1011-i outputs the transferred data to the distribution unit 1013-i.
  • the extraction unit 1012-i extracts a still image from the moving image and outputs it to the distribution unit 1013-i.
  • the distribution unit 1013-i outputs the still image output from the reception unit 1011-i or the extraction unit 1012-i to the execution unit 1014-i.
  • the execution unit 1014-i performs image processing on the still image by executing the application deployed on the processing server 1002-i, and transmits the processing result to one of the DB servers 1003-j.
  • Image processing by the application is a process of detecting a person in an image, a process of counting the number of people in an image, a process of detecting a work performed by a person in an image, or a tool handled by a person in an image. Alternatively, it may be a process of tracking the position of a part.
  • FIG. 11 shows a functional configuration example of the control server 1001 of FIG.
  • the control server 1001 of FIG. 11 includes a deployment control unit 1101, a distribution control unit 1102, a communication unit 1103, and a storage unit 1104.
  • the storage unit 1104 stores the constraint condition 1111 and the load information 1112.
  • the deployment control unit 1101 corresponds to the determination unit 811 and the selection unit 812 in FIG.
  • the constraint condition 1111 is a constraint condition for each application deployed in the image processing system, and includes a request processing rate, a request time, and a request processing resource.
  • the request processing rate represents the number of images processed by the application per unit time.
  • the required processing rate is an example of a constraint condition regarding the processing rate of the image processing program.
  • the requested time represents the upper limit of the sum of the data transfer time and the processing time of the transfer data.
  • the request processing resource represents a processing resource that the application uses to process the transferred data.
  • the load information 1112 represents the usage status of the processing resource for each application.
  • the deployment control unit 1101 receives the application to be deployed from the outside, and determines the type of transfer data for the application to be deployed as either a moving image or a still image based on the request processing rate of the application to be deployed. Then, the deployment control unit 1101 selects one of the processing servers 1002-i as the deployment destination processing server based on the determined type of transfer data, and processes the image rate, the amount of data, and the extraction process of the transfer data. Determine the rate.
  • the communication unit 1103 sends the application to be deployed to the deployment destination processing server, and the deployment destination processing server installs the received application. As a result, the application to be deployed is deployed to the deployment destination processing server.
  • the execution unit 1014-i of the deployment destination processing server executes the deployed application.
  • the distribution control unit 1102 generates control information indicating the transfer destination, image rate, data amount, and processing rate of the extraction process for the application to be deployed, and the communication unit 1103 processes the control information on the processing server 1002-. Send to 1. As a result, the control information is notified to the processing server 1002-1.
  • the extraction unit 1012-1 of the processing server 1002-1 extracts the transfer data from the video at the processing rate and data amount of the extraction process indicated by the control information, and outputs the transfer data to the distribution unit 1013-1.
  • the distribution unit 1013-1 transfers the transfer data to the execution unit 1014-1 or another processing server 1002-i at the image rate indicated by the control information.
  • the deployment control unit 1101 uses the fact that the parallelization method for minimizing the amount of transferred data differs between the case of transferring the video as a moving image and the case of transferring the video as a still image, so that the communication load is reduced. Determine how to deploy.
  • the deployment control unit 1101 determines the maximum amount of data that satisfies the constraint time of the required time while lowering the degree of parallelism of transfer.
  • the deployment control unit 1101 performs image processing so that the image rate of the transfer data for each processing server becomes small and the sum of the data amounts of the transfer data for the plurality of processing servers becomes small. Parallelize and distribute the transferred data.
  • FIG. 12 shows an example of the relationship between the processing rate of the application and the amount of transferred data.
  • the horizontal axis represents the processing rate of the application, and the vertical axis represents the amount of data transferred per unit time.
  • the plurality of horizontal line segments 1201 represent the amount of transfer data per unit time when the transfer data is a still image, and the one-point chain line 1202 is the amount of transfer data per unit time when the transfer data is a moving image Q. Represents.
  • the transfer data amount indicated by the line segment 1201 increases as the processing rate increases, and the transfer data amount Q indicated by the alternate long and short dash line 1202 is constant regardless of the processing rate.
  • the processing rate is smaller than the predetermined value R, the amount of data transferred per unit time is smaller when the video is transferred as a still image than when it is transferred as a moving image.
  • the processing rate is larger than the predetermined value R, the amount of transferred data per unit time is smaller when the video is transferred as a moving image than when it is transferred as a still image.
  • the deployment control unit 1101 uses the predetermined value R as a threshold value to determine the type of transfer data for the application to be deployed.
  • the deployment control unit 1101 determines the transfer data as a moving image when the request processing rate of the application is larger than the threshold value, and determines the transfer data as a still image when the request processing rate is smaller than the threshold value.
  • FIG. 13 is a flowchart showing an example of the threshold value determination process performed by the control server 1001 of FIG.
  • the deployment control unit 1101 accepts the registration of the video processed by the application to be deployed (step 1301).
  • the deployment control unit 1101 acquires the transfer data amount A per image included in the received video from the processing server 1002-1 (step 1302).
  • the deployment control unit 1101 acquires the transfer data amount Q per unit time when transferring a plurality of images as a moving image from the processing server 1002-1 (step 1303).
  • the extraction unit 1012-1 of the processing server 1002-1 extracts a plurality of images included in a predetermined time range from the video at a predetermined cycle, and calculates the transfer data amount A of the still image per extracted image. .. In addition, the extraction unit 1012-1 calculates the transfer data amount Q per unit time when the extracted plurality of images are transferred as moving images. Then, the processing server 1002-1 notifies the control server 1001 of the transfer data amount A and the transfer data amount Q per unit time. As a result, the deployment control unit 1101 can acquire the transfer data amount A and the transfer data amount Q per unit time.
  • the deployment control unit 1101 calculates the image rate of the still image corresponding to the transfer data amount Q by dividing the transfer data amount Q by the data amount A, and determines the calculated image rate as the threshold value (Ste 1304).
  • the image rate at which the amount of transfer data per unit time when the video is transferred as a still image is equal to the amount of transfer data per unit time when the video is transferred as a still image is set.
  • the threshold can be determined.
  • the deployment control unit 1101 accepts the application to be deployed (step 1401) and checks whether or not the same video processing server exists in the image system (step 1402).
  • the same video processing server is a processing server 1002-i in which an application that processes the same video as the application to be deployed is deployed.
  • the deployment control unit 1101 refers to the load information 1112 and checks whether or not there are free resources in the same video processing server (steps 1402, YES). Step 1403).
  • the deployment control unit 1101 selects one or more same video processing servers having free resources as candidate processing servers (step 1403, YES). 1404).
  • the processing server 1002-i that has free resources By selecting the processing server 1002-i that has free resources as the candidate processing server, the processing server 1002-i that uses all the processing resources can be excluded from the candidates for the deployment destination processing server.
  • the deployment control unit 1101 checks whether or not a deployment destination processing server that satisfies the constraint condition 1111 of the application to be deployed has been determined (step 1405). If the deployment destination processing server that satisfies the constraint condition 1111 has not been determined (steps 1405 and NO), the deployment control unit 1101 performs the processing of step 1406. In step 1406, the deployment control unit 1101 compares the request processing rate of the application to be deployed with the threshold value of the video processed by the application to be deployed (step 1406).
  • a high processing rate application is an application in which transfer data is transferred as a moving image.
  • the deployment control unit 1101 searches for a candidate processing server that satisfies the restriction time of the required time of the application to be deployed from the candidate processing servers on which the same video high processing rate application is deployed (step 1408). Then, the deployment control unit 1101 checks whether or not the candidate processing server to be searched exists (step 1411).
  • the same video high processing rate application is a high processing rate application that processes the same video as the application to be deployed.
  • a unit time is used as a predetermined time, and the sum of the data transfer time of the transfer data corresponding to the video per unit time and the data transfer time for transferring the processing result of the transfer data is used as the transfer delay. It is calculated. Then, when the transfer delay is equal to or less than the required time, it is determined that the constraint condition of the requested time is satisfied.
  • the deployment control unit 1101 checks whether or not the low-load processing server exists among the searched candidate processing servers (step 1412). ..
  • the low-load processing server is a processing server 1002-i that satisfies the constraint condition of the request processing resource of the application to be deployed. When the free resource of the processing server 1002-i is equal to or greater than the request processing resource, the constraint condition of the request processing resource is satisfied.
  • the deployment control unit 1101 determines the processing server 1002-i having the smallest transfer delay among the low-load processing servers as the deployment destination processing server (step 1413). Then, the deployment control unit 1101 performs the processes after step 1405.
  • the required time constraint condition of the application to be deployed can be satisfied.
  • the constraint condition of the request processing resource of the application to be deployed can be satisfied.
  • a low processing rate application is an application in which transfer data is transferred as a still image.
  • the deployment control unit 1101 searches for a candidate processing server that satisfies the constraint conditions of the request processing rate and the request time of the application to be deployed from the candidate processing servers to which the same video low processing rate application is deployed (). Step 1410). Then, the deployment control unit 1101 performs the processes after step 1411.
  • the same video low processing rate application is a low processing rate application that processes the same video as the application to be deployed.
  • the transfer delay is calculated in the same manner as in step 1408, and when the transfer delay is equal to or less than the required time, it is determined that the constraint condition of the required time is satisfied. Further, when the image rate of the transferred data transferred to the processing server 1002-i is equal to or higher than the required processing rate, it is determined that the constraint condition of the required processing rate is satisfied.
  • the constraint condition of the request processing rate of the application to be deployed can be satisfied.
  • the required time constraint condition of the application to be deployed can be satisfied.
  • the application to be deployed is classified into a high processing rate application or a low processing rate application according to the required processing rate. This makes it possible to determine the optimum deployment destination processing server by utilizing the difference in the amount of transferred data between the case where the video is transferred as a moving image and the case where the video is transferred as a still image.
  • the deployment control unit 1101 divides the request processing rate and the request processing resource of the application to be deployed into smaller values (step 1414). Then, the deployment control unit 1101 performs the processing after step 1405 by using the request processing rate and the request processing resource after the division.
  • the communication unit 1103 transmits the application to be deployed to the deployment destination processing server (step 1416). Then, the deployment destination processing server installs the received application.
  • step 1415 the deployment control unit 1101 determines the processing server 1002-i having the smallest transfer delay among the processing servers 1002-i having free resources as the deployment destination processing server. Then, the deployment control unit 1101 performs the process of step 1416.
  • the deployment control unit 1101 can perform steps 1415 and steps. The processing of 1416 is performed.
  • the deployment control unit 1101 checks the classification of the application to be deployed (step 1417).
  • the application to be deployed is a high processing rate application (step 1417, YES)
  • the deployment control unit 1101 performs the process of step 1418.
  • the deployment control unit 1101 calculates the maximum amount of video data that satisfies the required time constraint condition for each high processing rate application deployed on the deployment destination processing server.
  • the high processing rate application for which the maximum data amount is calculated is the deployment target application deployed on the deployment destination processing server and the same video high processing rate application.
  • step 1418 when the sum of the data transfer time and the processing time of the transfer data is equal to or less than the required time, it is determined that the constraint condition of the requested time is satisfied.
  • the deployment control unit 1101 selects the smallest maximum data amount among the maximum data amounts of the high processing rate application to be calculated as the data amount of the transfer data to the deployment destination processing server (step 1419).
  • the distribution control unit 1102 generates extraction control information indicating that the type of transfer data is a moving image and the amount of data of the transfer data, and the communication unit 1103 processes the generated extraction control information as a processing server. It is transmitted to 1002-1 (step 1420).
  • the distribution control unit 1102 generates transfer control information indicating the transfer destination and the image rate of the transfer data, and the communication unit 1103 transmits the generated transfer control information to the processing server 1002-1 (step 1423).
  • the transfer destination of the transfer data information indicating the deployment destination processing server is used.
  • step 1417 When the application to be deployed is a low processing rate application (step 1417, NO), the control server 1001 performs the processing of step 1421.
  • step 1421 the distribution control unit 1102 generates extraction control information indicating that the type of transfer data is a still image and the processing rate of the extraction process for extracting the still image, and the communication unit 1103 is generated.
  • the extraction control information is transmitted to the processing server 1002-1.
  • the deployment control unit 1101 updates the image rate of the transfer data (step). 1422). In this case, the deployment control unit 1101 selects the request processing rate of the application to be deployed as the image rate of the transfer data. Then, the control server 1001 performs the process of step 1423.
  • step 1422 when the request processing rate of the application to be deployed is equal to or less than the request processing rate of the same video low processing rate application deployed on the deployment destination processing server, the deployment control unit 1101 sets the image rate of the transfer data. Do not update.
  • FIG. 15 shows an example of a processing server to which a high processing rate application is deployed.
  • the image rate of the video input to the processing server 1002-1 is 60 fps.
  • Application D is deployed on the processing server 1002-3, and application E is deployed on the processing server 1002-4.
  • Application F is a high processing rate application to be deployed.
  • Application D and Application E are applications with the same high processing rate of video.
  • the same video high processing rate application is not deployed on the processing server 1002-2.
  • step 1408 the processing server 1002-3 and the processing server 1002-4 in which the same video high processing rate application is deployed are selected, and in step 1412, the processing server 1002-4, which is a low load processing server, is selected. Will be done. Then, the processing server 1002-4 is determined as the deployment destination processing server, and the application F is deployed to the processing server 1002-4.
  • the distribution unit 1013-1 of the processing server 1002-1 transfers the transfer data of the moving image to the processing servers 1002-3 and 1002-4 at an image rate of 40 fps.
  • the reception unit 1011-3 of the processing server 1002-3 outputs the received transfer data to the extraction unit 1012-3, and the extraction unit 1012-3 extracts the still image from the moving image and sends it to the distribution unit 1013-3. Output.
  • the distribution unit 1013-3 outputs the still image output from the extraction unit 1012-3 to the application D.
  • the reception unit 1011-4 of the processing server 1002-4 outputs the received transfer data to the extraction unit 1012-4, and the extraction unit 1012-4 extracts the still image from the moving image and sends it to the distribution unit 1013-4. Output.
  • the distribution unit 1013-4 outputs the still image output from the extraction unit 1012-4 to the application E and the application F.
  • the increase in the degree of parallelism of video transfer can be suppressed and the traffic of the communication network 1004 can be reduced. can.
  • FIG. 16 shows an example of a processing server to which a low processing rate application is deployed.
  • the image rate of the video input to the processing server 1002-1 is 60 fps.
  • Application G is deployed on the processing server 1002-2, and application H is deployed on the processing server 1002-3.
  • Application I is a low processing rate application to be deployed.
  • Application G and application H are the same video low processing rate application.
  • the request processing rate of application G is 20 fps
  • the request processing rate of application H is 40 fps.
  • the distribution unit 1013-1 of the processing server 1002-1 transfers the transfer data of the still image to the processing server 1002-2 at an image rate of 20 fps, and transfers the transfer data of the still image at an image rate of 40 fps. Transfer to the processing server 1002-3.
  • the processing server 1002-2 When the request processing rate of the application I to be deployed is 40 fps, the image rate of the transfer data to the processing server 1002-2 is smaller than the request processing rate of the application I. Therefore, the processing server 1002-2 does not satisfy the constraint condition of the request processing rate in step 1410. On the other hand, since the image rate of the transferred data to the processing server 1002-3 is the same as the request processing rate of the application I, the processing server 1002-3 satisfies the constraint condition of the request processing rate in step 1410.
  • step 1410 the processing server 1002-3 that satisfies the restriction condition of the required processing rate is selected from the processing server 1002-2 and the processing server 1002-3 in which the same video low processing rate application is deployed. Then, the processing server 1002-3 is determined as the deployment destination processing server, and the application I is deployed to the processing server 1002-3.
  • the receiving unit 101-2 of the processing server 1002-2 outputs the received still image transfer data to the distribution unit 1013-2, and the distribution unit 1013-2 outputs the still image transfer data to the application G. ..
  • the receiving unit 1011-3 of the processing server 1002-3 outputs the received still image transfer data to the distribution unit 1013-3, and the distribution unit 1013-3 outputs the still image transfer data to the application H and the application I. Output to.
  • FIG. 17 shows an example of a deployment method for deploying a low processing rate application to a plurality of processing servers.
  • the image rate of the video input to the processing server 1002-1 is 40 fps, and the bit rate is 100 Mbps.
  • bps is a unit representing the number of bits per second.
  • Application A is deployed on the processing server 1002-2, and application B is deployed on the processing server 1002-3.
  • Application C is an application to be deployed.
  • FIG. 18 shows an example of the constraint condition 1111 of application A to application C.
  • the constraint condition 1111 in FIG. 18 includes the request processing resource, the request time, the request processing rate, and the processing time of one image of each application.
  • the processing resource is the core included in the CPU of the processing server.
  • FIG. 18A shows an example of the constraint condition 1111 of the deployed application A and application B.
  • the request processing resource of the application A is 6 cores, the request time is 8 seconds, the request processing rate is 40 fps, and the processing time of one image is 0.025 seconds.
  • the request processing resource of the application B is 6 cores, the request time is 10 seconds, the request processing rate is 20 fps, and the processing time of one image is 0.05 seconds.
  • FIG. 18B shows an example of the constraint condition 1111 of the application C to be deployed.
  • the request processing resource of the application C is four cores, the request time is 15 seconds, the request processing rate is 40 fps, and the processing time of one image is 0.025 seconds.
  • step 1406 When the threshold value in step 1406 is 45 fps, the required processing rates of application A to application C are smaller than the threshold value, so application A to application C are classified as low processing rate applications. Therefore, application A and application B are the same video low processing rate application.
  • FIG. 19 shows an example of the processing resources of the processing server 1002-2 and the processing server 1002-3 in the state of FIG.
  • the total resource amount represents the number of cores possessed by each processing server, and the free resource represents the number of unused cores.
  • the request processing resource of application A deployed on the processing server 1002-2 is 6 cores, 6 cores out of the 8 cores of the total resource amount are used by application A. Therefore, the free resources of the processing server 1002-2 are the remaining two cores.
  • the request processing resource of application B deployed on the processing server 1002-3 is also 6 cores, 6 cores out of the 8 cores of the total resource amount are used by application B. Therefore, the free resources of the processing server 1002-3 are also two cores.
  • FIG. 20 shows an example of the image rate of the transferred data transferred to the processing server 1002-2 and the processing server 1002-3 in the state of FIG.
  • the transfer destination represents the transfer destination of the transfer data
  • the maximum image rate represents the maximum value of the image rate of the transfer data transferred to the processing server of the transfer destination.
  • the maximum image rate of the processing server 1002-2 is 40 fps.
  • the maximum image rate of the processing server 1002-3 is 20 fps.
  • FIG. 21 shows an example of bandwidth between servers.
  • the source represents the processing server 1002-i of the data transmission source
  • the transmission destination represents the processing server 1002-i or the DB server 1003-j of the data transmission destination.
  • the bandwidth between the servers is 1000 Mbps.
  • the distribution unit 1013-1 of the processing server 1002-1 transfers the transfer data of the still image to the processing server 1002-2 at an image rate of 40 fps, and transfers the transfer data of the still image at the image rate of 20 fps to the processing server 1002. Transfer to -3.
  • the receiving unit 101-2 of the processing server 1002-2 outputs the received still image transfer data to the distribution unit 1013-2, and the distribution unit 1013-2 outputs the still image transfer data to the application A. ..
  • the application A sequentially processes the transfer data received from the distribution unit 1013-2, and transmits the processing result 1701-1 to the DB server 1003-1.
  • the DB server 1003-1 stores the processing result 1701-1 received from the processing server 1002-2.
  • the receiving unit 1011-3 of the processing server 1002-3 outputs the received still image transfer data to the distribution unit 1013-3, and the distribution unit 1013-3 outputs the still image transfer data to the application B. ..
  • the application B sequentially processes the transfer data received from the distribution unit 1013-3, and transmits the processing result 1701-2 to the DB server 1003-2.
  • the DB server 1003-2 stores the processing result 1701-2 received from the processing server 1002-3.
  • the processing server 1002-2 Since the maximum image rate of the processing server 1002-2 is the same as the request processing rate of the application C to be deployed, the processing server 1002-2 satisfies the constraint condition of the request processing rate in step 1410. On the other hand, since the maximum image rate of the processing server 1002-3 is smaller than the request processing rate of the application C, the processing server 1002-3 does not satisfy the constraint condition of the request processing rate in step 1410.
  • the bit rate of the video input to the processing server 1002-1 is 100 Mbps
  • the amount of data corresponding to the video per unit time is 100 Mbps.
  • the bandwidth between the processing server 1002-1 and the processing server 1002-2 is 1000 Mbps
  • the data transfer time T31 for the processing server 1002-1 to transfer 100 mb of transfer data to the processing server 1002-2 is 0.1. Seconds.
  • the data transfer time T32 at which the processing server 1002-2 transfers the processing result of 100 Mbps to the DB server 1003-1 is 0.1. Seconds.
  • the transfer delay which is the sum of the data transfer time T31 and the data transfer time T32, is 0.2 seconds, which is shorter than the request time of the application C. Therefore, the processing server 1002-2 sets the constraint condition of the request time in step 1410. Fulfill.
  • the data transfer time T41 at which the processing server 1002-1 transfers 100 mb of transfer data to the processing server 1002-3 is set. It is 0.1 seconds.
  • the data transfer time T42 at which the processing server 1002-3 transfers the processing result of 100 Mbps to the DB server 1003-2 is 0.1. Seconds.
  • the transfer delay which is the sum of the data transfer time T41 and the data transfer time T42, is 0.2 seconds, which is shorter than the request time of the application C. Therefore, the processing server 1002-3 sets the constraint condition of the request time in step 1410. Fulfill.
  • step 1410 among the processing server 1002-2 and the processing server 1002-3 in which the same video low processing rate application is deployed, the processing server 1002-2 that satisfies the constraint conditions of the requested processing rate and the required time is selected. Will be done. However, since the free resources of the processing server 1002-2 are smaller than the request processing resources of the application C, the processing server 1002-2 does not correspond to the low load processing server in step 1412.
  • step 1414 the request processing rate and the request processing resource of the application C are divided according to the free resources of the processing server 1002-2.
  • the free resources of the processing server 1002-2 are two cores, which correspond to 1/2 of the request processing resources of the application C. Therefore, the request processing rate and the request processing resource of the application C are each divided into two, the request processing rate after the division becomes 20 fps, and the request processing resource after the division becomes two cores.
  • the processing server 1002-2 is selected again in step 1410. Since the free resources of the processing server 1002-2 are the same as the request processing resources after the division of the application C, the processing server 1002-2 corresponds to the low load processing server. Therefore, in step 1413, the processing server 1002-2 is determined as the deployment destination processing server.
  • step 1405 since only 1/2 of the request processing resource before division is secured only by the processing server 1002-2, it is determined in step 1405 that the deployment destination processing server satisfying the constraint condition 1111 has not been determined. Then, in step 1410, it is checked whether or not the processing server 1002-3 in which the same video low processing rate application is deployed satisfies the constraint condition of the required processing rate.
  • the request processing rate after division is 20 fps, which is the same as the maximum image rate of the processing server 1002-3, so that the processing server 1002-3 satisfies the constraint condition of the request processing rate. Further, since the free resource of the processing server 1002-3 is the same as the request processing resource after the division, the processing server 1002-3 corresponds to the low load processing server. Therefore, in step 1413, the processing server 1002-3 is determined as the deployment destination processing server.
  • step 1405 since the request processing resource before division is secured, it is determined in step 1405 that the deployment destination processing server satisfying the constraint condition 1111 has been determined. Therefore, in step 1416, the deployment control unit 1101 deploys the application C to the processing server 1002-2 and the processing server 1002-3, which are the deployment destination processing servers.
  • FIG. 22 shows an example of the deployment result of application C.
  • the deployment control unit 1101 copies the application C to generate the application C1 and the application C2.
  • the communication unit 1103 transmits the application C1 to the processing server 1002-2, and transmits the application C2 to the processing server 1002-3.
  • the application C1 and the application C2 are deployed on the processing server 1002-2 and the processing server 1002-3, respectively.
  • step 1421 the processing rate of the extraction processing is set to 20 fps, which is the required processing rate after division, and the extraction control information indicating the set processing rate of the extraction processing is transmitted to the processing server 1002-1. ..
  • step 1422 since the required processing rate after division is equal to or lower than the required processing rate of application A and application B, the image rate of the transferred data is not updated.
  • the extraction unit 1012-1 of the processing server 1002-1 extracts the transfer data of the still image from the video at a processing rate of 40 fps.
  • the distribution unit 1013-1 transfers the still image to the processing server 1002-2 at an image rate of 40 fps, and transfers the still image to the processing server 1002-3 at an image rate of 20 fps.
  • the receiving unit 101-2 of the processing server 1002-2 receives the still image from the processing server 1002-1 and outputs it to the distribution unit 1013-2.
  • the distribution unit 1013-2 transfers the still image to the application A at an image rate of 40 fps, and transfers the still image to the application C1 at an image rate of 20 fps.
  • the receiving unit 1011-3 of the processing server 1002-3 receives the still image from the processing server 1002-1 and outputs it to the distribution unit 1013-3.
  • the distribution unit 1013-3 transfers the still image to the application B at an image rate of 20 fps, and transfers the still image to the application C2 at an image rate of 20 fps.
  • Application C1 sequentially processes the still images received from the distribution unit 1013-2 and transmits the processing result to the DB server 1003-1.
  • the application C2 sequentially processes the still images received from the distribution unit 1013-3, and transmits the processing result to the DB server 1003-1.
  • the DB server 1003-1 stores the processing results of the application C1 and the application C2 as the processing result 1701-3.
  • the video is divided into image units and processed in parallel by application C1 and application C2.
  • application C1 and application C2 the free resources of each processing server are effectively utilized, and the capacity of the application in the image processing system is improved.
  • step 1418 a specific example of calculating the maximum amount of video data that satisfies the constraint time constraint condition will be described. It is assumed that the deployment destination processing server is the processing server 1002-2 and the high processing rate application for which the maximum data amount is calculated is the application J. The image rate of the video input to the processing server 1002-1 is 40 fps, and the bit rate is 100 Mbps.
  • the bit rate of the video is 100 Mbps
  • the amount of data corresponding to the video for x seconds is 100 xMb.
  • the band between the processing server 1002-1 and the processing server 1002-2 is 1000 Mbps
  • the data transfer time T51 for the processing server 1002-1 to transfer the transfer data of 100xMb to the processing server 1002-2 is 0.1x. Seconds.
  • the processing time T52 for the application J deployed on the processing server 1002-2 to process 20x images is 0.5x seconds.
  • the data transfer time T53 for the processing server 1002-2 to transfer the processing result of 100xMb to the DB server 1003-1 is 0.1x. Seconds.
  • the sum of the data transfer time T51, the processing time T52, and the data transfer time T53 is 0.7xsec.
  • the constraint condition of the request time is expressed by the following equation.
  • a deployment destination processing server that satisfies the constraint condition 1111 and suppresses an increase in traffic is determined. can do.
  • FIG. 23 is a flowchart showing an example of the extraction process performed by the extraction unit 1012-1 of the processing server 1002-1 of FIG.
  • the extraction unit 1012-1 checks whether or not the extraction control information has been received from the control server 1001 (step 2301).
  • the extraction unit 1012-1 checks the type of transfer data indicated by the extraction control information (step 2302).
  • the extraction unit 1012-1 updates the data amount of the transferred data of the moving image to the data amount indicated by the extraction control information (step 2303), and transfers the transferred data.
  • a moving image with a data amount is extracted from the video (step 2305).
  • the extraction unit 1012-1 determines the required processing rate of the same video low processing rate application being executed and the processing rate of the extraction processing indicated by the extraction control information. Of these, find the maximum processing rate. Then, the extraction unit 1012-1 updates the processing rate of the still image extraction processing to the maximum processing rate (step 2304), and extracts the still image from the video at the processing rate of the extraction processing (step 2305).
  • the extraction unit 1012-1 notifies the distribution unit 1013-1 of the completion of extraction (step 2306), and repeats the processes from step 2301 onward.
  • the extraction unit 1012-1 performs the processing after step 2305 without updating the data amount of the transfer data or the processing rate of the extraction processing.
  • the required processing rate of the application A which is the same video low processing rate application being executed, is 40 fps, and the required processing rate of the application B is 20 fps. Further, since the required processing rate after the division of the application C is 20 fps, the processing rate of the extraction process indicated by the extraction control information is 20 fps. In this case, in step 2304, the maximum processing rate of 40 fps is set as the processing rate of the updated extraction processing.
  • FIG. 24 is a flowchart showing an example of distribution processing performed by the distribution unit 1013-1 of the processing server 1002-1 of FIG.
  • the distribution unit 1013-1 checks whether or not the transfer control information has been received from the control server 1001 (step 2401).
  • the distribution unit 1013-1 updates the transfer destination and image rate of the transfer data according to the transfer destination and image rate indicated by the transfer control information (step 2402). ).
  • the distribution unit 1013-1 checks the type of transfer data output from the extraction unit 1012-1 (step 2403).
  • the distribution unit 1013-1 acquires the request processing rate of the application that processes the transfer data for each processing server of the transfer destination (step 2404).
  • the distribution unit 1013-1 checks whether or not the transfer destination is another processing server 1002-i (step 2405).
  • the distribution unit 1013-1 transfers the transfer data of the moving image or the still image to the transfer destination processing server 1002-i (step). 2405).
  • the distribution unit 1013-1 also transfers the request processing rate of the application that processes the transfer data together with the transfer data. Then, the distribution unit 1013-1 repeats the processes after step 2401.
  • the distribution unit 1013-1 transfers the transfer data of the still image to the application in the processing server 1002-1 at the image rate of the transfer data. (Step 2408). Then, the distribution unit 1013-1 repeats the processes after step 2401.
  • the distribution unit 1013-1 When the transfer control information is not received (steps 2401, NO), the distribution unit 1013-1 performs the processes after step 2403.
  • the distribution unit 1013-1 updates the image rate of the transfer data between the processing servers based on the image rate updated in step 2402 (step 2403). Step 2407), the processing after step 2404 is performed.
  • FIG. 25 shows an example of the update process in step 2402.
  • the processing server represents the processing server 1002-i of the transfer destination
  • the address represents the address of the processing server 1002-i of the transfer destination
  • the image rate is the transfer data to be transferred to the processing server 1002-i of the transfer destination. Represents the image rate.
  • FIG. 25A shows an example of the transfer destination and the image rate of the transfer data for the same video low processing rate application deployed on the processing server 1002-4.
  • the address of the transfer destination processing server 1002-4 is "192.168.0.40", and the image rate is 20 fps.
  • FIG. 25B shows an example of the transfer destination and the image rate indicated by the transfer control information.
  • the processing server of the transfer destination is the processing server 1002-4, and the image rate is 40 fps.
  • FIG. 25 (c) shows an example of the update result based on the transfer control information of FIG. 25 (b).
  • the image rate of the transfer destination processing server 1002-4 is updated from 20 fps to 40 fps according to the transfer control information shown in FIG. 25 (b).
  • FIG. 25D shows an example of the update result when the transfer destination indicated by the transfer control information is the processing server 1002-5.
  • an entry with the processing server 1002-5 as the transfer destination is added according to the transfer control information.
  • the address of the added entry is "192.168.0.50" and the image rate is 40 fps.
  • the compression rate is high for an image in which the change in the position of the object in the image is small, and the compression rate is low in the image in which the change in the position of the object is large. Therefore, the amount of video data input to the processing server 1002-1 fluctuates according to the movement of an object in the image.
  • FIG. 26 shows an example of the relationship between the processing rate of the application and the amount of transferred data when the amount of video data fluctuates.
  • the plurality of line segments 1201 shown in FIG. 12 are moving upward as indicated by arrow 2601, and the alternate long and short dash line 1202 is moving upward as indicated by arrow 2602.
  • the transfer data amount indicated by the line segment 1201 is larger than the transfer data amount indicated by the alternate long and short dash line 1202.
  • the processing server 1002-i of FIG. 27 has a configuration in which a monitoring unit 2701-i is added to the processing server 1002-i of FIG.
  • the monitoring unit 2701-i monitors the bit rate of the transferred data input to the processing server 1002-i, and when the bit rate approaches the upper limit of the bandwidth, notifies the control server 1001 of the status of the processing server 1002-i. ..
  • FIG. 28 is a flowchart showing an example of the monitoring process performed by the monitoring unit 2701-i of FIG. 27.
  • the monitoring unit 2701-i calculates the bit rate of the transfer data input to the processing server 1002-i (step 2801), and compares the calculated bit rate with the predetermined value BR (step 2802).
  • the predetermined value BR a value that is smaller than the band upper limit value of the transfer data received by the processing server 1002-i and close to the band upper limit value is used.
  • the monitoring unit 2701-i repeats the processes after step 2801.
  • the monitoring unit 2701-i identifies a low processing rate application that causes the bit rate increase (step 2803). For example, among the low processing rate applications deployed on the processing server 1002-i, the low processing rate application having the highest required processing rate is specified as the causative low processing rate application.
  • the monitoring unit 2701-i transmits the band information indicating that the bit rate is approaching the band upper limit value to the control server 1001 (step 2804).
  • Bandwidth information includes identification information of the causative low processing rate application. Then, the monitoring unit 2701-i repeats the processes after step 2801.
  • FIG. 29 is a flowchart showing an example of the application redeployment process performed by the control server 1001 of FIG.
  • the communication unit 1103 receives the band information from the processing server 1002-i (step 2901).
  • the deployment control unit 1101 selects another processing server 1002-i to which the high processing rate application processing the same video as the low processing rate application indicated by the bandwidth information is deployed (step 2902).
  • the deployment control unit 1101 selects the processing server 1002-i having free resources from the selected processing servers 1002-i (step 2903). Then, the deployment control unit 1101 checks whether or not a low-load processing server exists in the selected processing server (step 2904).
  • the low-load processing server is a processing server 1002-i that satisfies the constraint condition of the request processing resource of the low processing rate application indicated by the bandwidth information.
  • the deployment control unit 1101 determines the processing server 1002-i having the smallest transfer delay among the low-load processing servers as the deployment destination processing server (step 2905). ).
  • step 2904 the deployment control unit 1101 performs the processing of step 2906.
  • step 2906 the deployment control unit 1101 determines the processing server 1002-i having the smallest transfer delay among the processing servers 1002-i having free resources as the deployment destination processing server.
  • the communication unit 1103 transmits the low processing rate application indicated by the bandwidth information to the deployment destination processing server as a high processing rate application (step 2907). Then, the deployment destination processing server installs the received application.
  • control server 1001 performs the processes of steps 2908 to 2911.
  • the processing of steps 2908 to 2911 is the same as the processing of steps 1418 to 1420 and step 1423 of FIG. 14B.
  • the application redeployment process of FIG. 29 when the bit rate of the transfer data input to one of the processing servers increases, the application is redeployed to the other processing server to reduce the traffic of the transfer data of the still image. Can be reduced. At this time, since the free resources of other processing servers into which the video transfer data has already been input are utilized, it is possible to continue the execution of each application without affecting the processing and data transfer of other applications. can.
  • the configuration of the image processing control device 801 in FIG. 8 is only an example, and some components may be omitted or changed depending on the use or conditions of the image processing control device 801.
  • the configuration of the image processing system of FIGS. 1, 4, and 10 is only an example, and some components may be omitted or changed depending on the use or conditions of the image processing system.
  • the configuration of the control server 1001 in FIG. 11 is only an example, and some components may be omitted or changed depending on the use or conditions of the image processing system.
  • the configuration of the processing server 1002-i in FIG. 27 is only an example, and some components may be omitted or changed depending on the use or conditions of the image processing system.
  • FIGS. 9, 13, 14A, 14B, 23, 24, 28, and 29 are merely examples, and depending on the configuration or conditions of the image processing control device 801 or the image processing system, one The processing of the part may be omitted or changed.
  • the data transfer time T21, the processing time T22, and the data transfer time T23 shown in FIG. 2 are merely examples, and the data transfer time and the processing time vary depending on the input video and application.
  • the usage status of the processing resource shown in FIG. 3 is only an example, and the usage status of the processing resource changes according to the input video and the application.
  • the applications shown in FIGS. 5, 15 to 17, and 22 are merely examples, and the deployed applications vary depending on the use or conditions of the image processing system.
  • the moving image and the still image shown in FIG. 6 are only examples, and the moving image and the still image change according to the input image.
  • the start time of the image processing shown in FIG. 7 is only an example, and the start time of the image processing changes according to the input video.
  • the amount of transferred data shown in FIGS. 12 and 26 is only an example, and the amount of transferred data changes according to the input video.
  • the constraint condition shown in FIG. 18 is only an example, and the constraint condition changes depending on the application.
  • the total amount of resources and free resources shown in FIG. 19 are only examples, and the total amount of resources and free resources change depending on the processing server.
  • the image rates shown in FIGS. 20 and 25 are merely examples, and the image rates of the transferred data vary depending on the deployed application.
  • the bandwidth between the servers shown in FIG. 21 is only an example, and the bandwidth between the servers changes according to the communication network.
  • FIG. 30 shows a hardware configuration example of an information processing device used as the image processing control device 801 of FIG. 8, the control server 1001 of FIG. 10, and the processing server 1002-i of FIGS. 10 and 27.
  • the information processing device of FIG. 30 includes a CPU (Central Processing Unit) 3001, a memory 3002, an input device 3003, an output device 3004, an auxiliary storage device 3005, a medium drive device 3006, and a network connection device 3007. These components are hardware and are connected to each other by bus 3008.
  • CPU Central Processing Unit
  • the memory 3002 is, for example, a semiconductor memory such as a ROM (Read Only Memory), a RAM (Random Access Memory), or a flash memory, and stores a program and data used for processing.
  • the memory 3002 can be used as the storage unit 1104 of FIG.
  • the CPU 3001 (processor) operates as the determination unit 811 and the selection unit 812 in FIG. 8 by executing a program using, for example, the memory 3002. By executing the program, the CPU 3001 also operates as the deployment control unit 1101 and the distribution control unit 1102 in FIG.
  • the CPU 3001 By executing the program, the CPU 3001 also operates as the receiving unit 1011-i, the extracting unit 1012-i, the distribution unit 1013-i, and the executing unit 1014-i in FIG. The CPU 3001 also operates as the monitoring unit 2701-i in FIG. 27 by executing the program.
  • the input device 3003 is, for example, a keyboard, a pointing device, or the like, and is used for inputting instructions or information from an operator or a user.
  • the output device 3004 is, for example, a display device, a printer, a speaker, or the like, and is used for making an inquiry to an operator or a user or outputting a processing result.
  • the processing result may be the processing result of the application.
  • the auxiliary storage device 3005 is, for example, a magnetic disk device, an optical disk device, a magneto-optical disk device, a tape device, or the like.
  • the auxiliary storage device 3005 may be a flash memory or a hard disk drive.
  • the information processing device can store programs and data in the auxiliary storage device 3005 and load them into the memory 3002 for use.
  • the auxiliary storage device 3005 can be used as the storage unit 1104 of FIG.
  • the medium drive device 3006 drives the portable recording medium 3009 and accesses the recorded contents.
  • the portable recording medium 3009 is a memory device, a flexible disk, an optical disk, a magneto-optical disk, or the like.
  • the portable recording medium 3009 may be a CD-ROM (Compact Disk Read Only Memory), a DVD (Digital Versatile Disk), a USB (Universal Serial Bus) memory, or the like.
  • the operator or the user can store the programs and data in the portable recording medium 3009 and load them into the memory 3002 for use.
  • the computer-readable recording medium that stores the programs and data used for processing is a physical (non-temporary) recording such as a memory 3002, an auxiliary storage device 3005, or a portable recording medium 3009. It is a medium.
  • the network connection device 3007 is a communication interface circuit that is connected to the communication network 1004 and performs data conversion associated with communication.
  • the information processing device can receive programs and data from an external device via the network connection device 3007, load them into the memory 3002, and use them.
  • the network connection device 3007 can be used as the communication unit 1103 of FIG.
  • the information processing device does not have to include all the components of FIG. 30, and some components may be omitted depending on the application or conditions. For example, if the interface with the user or the operator is unnecessary, the input device 3003 and the output device 3004 may be omitted. When the information processing device does not use the portable recording medium 3009, the medium drive device 3006 may be omitted.
  • the information processing device of FIG. 30 can also be used as the DB server 1003-j of FIG.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

決定部は、配備対象の画像処理プログラムの処理レートに基づいて、配備対象の画像処理プログラムが処理する映像を転送する際に映像から抽出される転送データの種類を、動画又は静止画のいずれかに決定する。選択部は、転送データの種類に基づいて、複数の情報処理装置の中から、配備対象の画像処理プログラムが配備される配備先情報処理装置を選択する。

Description

画像処理制御装置、画像処理制御プログラム、及び画像処理制御方法
 本発明は、画像処理制御技術に関する。
 近年、カメラで撮影された映像を用いた様々な画像処理が行われている。例えば、工場内の映像を用いた画像処理としては、映像中の人物を検出する処理、映像中の人物の人数をカウントする処理、映像中の人物が行っている作業を検出する処理、映像中の人物が扱っている道具又は部品の位置を追跡する処理等が挙げられる。
 画像処理に関連して、ユーザがフレームレートを段階的に切り替える操作を行うことによって、動画用コーデックと静止画用コーデックを自動的に切り替える画像通信端末装置が知られている(例えば、特許文献1を参照)。
特開平10-285588号公報
 映像を用いて画像処理を行う際、通信ネットワーク上の複数の情報処理装置(コンピュータ)のいずれかに画像処理プログラムを配備して、処理対象の映像を画像処理プログラムへ転送する運用が行われることがある。この場合、画像処理プログラムの制約条件を満たしつつ、通信ネットワークのトラフィックを低減するように、画像処理プログラムの配備先を決定することが望ましい。
 1つの側面において、本発明は、画像処理プログラムの配備先として、通信ネットワークのトラフィックが低減されるような情報処理装置を選択することを目的とする。
 1つの案では、画像処理制御装置は、決定部及び選択部を含む。決定部は、配備対象の画像処理プログラムの処理レートに基づいて、配備対象の画像処理プログラムが処理する映像を転送する際に映像から抽出される転送データの種類を、動画又は静止画のいずれかに決定する。選択部は、転送データの種類に基づいて、複数の情報処理装置の中から、配備対象の画像処理プログラムが配備される配備先情報処理装置を選択する。
 1つの側面によれば、画像処理プログラムの配備先として、通信ネットワークのトラフィックが低減されるような情報処理装置を選択することができる。
画像処理システムを示す図である。 要求時間を示す図である。 処理リソースの使用状況を示す図である。 ビットレートを調整する画像処理システムを示す図である。 アプリケーションを複数の処理サーバに配備する配備方法を示す図である。 映像から抽出される動画及び静止画を示す図である。 転送データの種類に応じた画像処理の開始時刻を示す図である。 画像処理制御装置の機能的構成図である。 制御処理のフローチャートである。 画像処理システムの機能的構成図である。 制御サーバの機能的構成図である。 アプリケーションの処理レートと転送データ量との関係を示す図である。 閾値決定処理のフローチャートである。 アプリケーション配備処理のフローチャート(その1)である。 アプリケーション配備処理のフローチャート(その2)である。 高処理レートアプリケーションの配備先処理サーバを示す図である。 低処理レートアプリケーションの配備先処理サーバを示す図である。 低処理レートアプリケーションを複数の処理サーバに配備する配備方法を示す図である。 アプリケーションの制約条件を示す図である。 処理サーバの処理リソースを示す図である。 転送データの画像レートを示す図である。 サーバ間の帯域を示す図である。 アプリケーションの配備結果を示す図である。 抽出処理のフローチャートである。 振分処理のフローチャートである。 更新処理を示す図である。 映像のデータ量が変動した場合のアプリケーションの処理レートと転送データ量との関係を示す図である。 処理サーバの機能的構成図である。 監視処理のフローチャートである。 アプリケーション再配備処理のフローチャートである。 情報処理装置のハードウェア構成図である。
 以下、図面を参照しながら、実施形態を詳細に説明する。
 図1は、映像に対する画像処理を行う画像処理システムの例を示している。図1の画像処理システムは、制御サーバ101、処理サーバ102-1、処理サーバ102-2、DB(database)サーバ103-1、及びDBサーバ103-2を含む。これらのサーバは情報処理装置であり、通信ネットワークを介して互いに通信することができる。画像処理システムに含まれる処理サーバ及びDBサーバの台数は、3台以上であってもよい。
 処理サーバ102-1は、抽出部121及び振分部122を含み、処理サーバ102-2は、受信部123及び振分部124を含む。処理サーバ102-1に入力される映像は、複数の時刻それぞれの画像を含む。各時刻の画像は、フレームと呼ばれることもある。処理サーバ102-1には、アプリケーションAが配備されている。アプリケーションAは、映像を処理する画像処理プログラムの一例である。
 画像レートは、画像処理システムにおいて単位時間当たりに転送又は処理される画像の枚数を表す。画像レートは、フレームレートと呼ばれることもある。処理サーバ102-1に入力される映像の画像レートは、60fpsである。fpsは、1秒当たりのフレーム数を表す単位である。
 抽出部121は、制御サーバ101から指示された画像レート及びデータ量で、受信した映像から動画又は静止画の転送データを抽出し、抽出された転送データを振分部122へ出力する。振分部122は、制御サーバ101から指示された画像レートで、転送データをアプリケーションAへ転送する。図1の例では、アプリケーションAへ転送される転送データの画像レートは、60fpsである。
 アプリケーションAは、振分部122から受信した転送データを逐次処理し、処理結果131-1をDBサーバ103-1へ送信する。DBサーバ103-1は、処理サーバ102-1から受信した処理結果131-1を記憶する。
 制御サーバ101は、制約条件111及び負荷情報112を記憶し、配備制御部113及び振分制御部114を含む。制約条件111は、画像処理システム内に配備されているアプリケーション毎の制約条件であり、要求時間及び要求処理リソースを含む。負荷情報112は、アプリケーション毎の処理リソースの使用状況を表す。処理リソースは、処理サーバ102-1及び処理サーバ102-2のCPU(Central Processing Unit)、メモリ等の計算リソースである。
 要求時間は、転送データのデータ転送時間及び処理時間の和の上限値を表す。要求時間は、画像処理プログラムのデータ転送時間及び処理時間に関する制約条件の一例である。要求処理リソースは、アプリケーションが転送データの処理に使用する処理リソースを表す。要求処理リソースは、画像処理プログラムの処理リソースに関する制約条件の一例である。
 図2は、要求時間の例を示している。データ転送時間T21は、振分部122がアプリケーションAへ、所定時間当たりの映像に対応する転送データを転送する時間を表す。処理時間T22は、所定時間当たりの映像に対応する転送データを、アプリケーションAが処理する時間を表す。データ転送時間T23は、アプリケーションAがDBサーバ103-1へ、所定時間当たりの映像に対応する転送データの処理結果を転送する時間を表す。
 データ転送時間T21、処理時間T22、及びデータ転送時間T23の総和T2が、アプリケーションAの要求時間T1以下である場合、要求時間の制約条件が満たされる。
 配備制御部113は、外部から配備対象のアプリケーションを受け付けて、処理サーバ102-1又は処理サーバ102-2のいずれかに配備する。この例では、配備対象のアプリケーションは、アプリケーションBである。アプリケーションBは、アプリケーションAと同じ映像を用いて、アプリケーションAとは異なる画像処理を行う。
 この場合、配備制御部113は、処理サーバ102-1及び処理サーバ102-2のうち、アプリケーションBの制約条件111を満たす処理サーバ102-2を、配備先処理サーバとして選択する。そして、配備制御部113は、アプリケーションBを処理サーバ102-2に配備し、アプリケーションBへ転送される転送データの画像レート及びデータ量を決定する。
 振分制御部114は、処理サーバ102-2を、転送データの転送先として処理サーバ102-1に通知する。さらに、振分制御部114は、転送データの画像レート及びデータ量を処理サーバ102-1に通知する。処理サーバ102-1の抽出部121は、通知された画像レート及びデータ量で、映像から転送データを抽出し、振分部122は、通知された画像レートで転送データを処理サーバ102-2へ転送する。図1の例では、処理サーバ102-2へ転送される転送データの画像レートは、60fpsである。
 処理サーバ102-2の受信部123は、処理サーバ102-1から転送データを受信し、振分部124へ出力する。振分部124は、60fpsの画像レートで、転送データをアプリケーションBへ転送する。これにより、同じ映像から抽出された転送データが、アプリケーションA及びアプリケーションBに振り分けられる。
 アプリケーションBは、振分部124から受信した転送データを逐次処理し、処理結果131-2をDBサーバ103-2へ送信する。DBサーバ103-2は、処理サーバ102-2から受信した処理結果131-2を記憶する。
 しかしながら、転送データを単純に複数のアプリケーションに振り分けるだけでは、各処理サーバの処理リソースを有効に活用することが難しい。
 図3は、図1の画像処理システムにおいて、アプリケーションA及びアプリケーションBが配備されたときの処理リソースの使用状況の例を示している。処理サーバ102-1の使用状況301-1は、CPUに含まれる8個のコアのうち、6個のコアが占有されていることを示す。処理サーバ102-2の使用状況301-2も、CPUに含まれる8個のコアのうち、6個のコアが占有されていることを示す。
 この場合、処理サーバ102-1及び処理サーバ102-2各々において、2個のコアが使用されていないため、画像処理システム全体の空きリソースは、4個のコアである。この状態において、配備制御部113は、配備対象のアプリケーションCを受け付ける。アプリケーションCは、アプリケーションA及びアプリケーションBと同じ映像を用いて、アプリケーションA及びアプリケーションBとは異なる画像処理を行う。
 アプリケーションCの要求処理リソースが4個のコアである場合、いずれの処理サーバの空きリソースも要求処理リソースの制約条件を満たさないため、配備先の処理サーバが見つからない。したがって、アプリケーションCはいずれの処理サーバにも配備されず、各処理サーバの空きリソースが活用されない。この場合、画像処理システムにおけるアプリケーションの収容度が低下する。アプリケーションの収容度は、1台の処理サーバ当たりの配備済みアプリケーションの個数を表す。
 また、図1の画像処理システムでは、処理サーバ102-1から処理サーバ102-2へ、映像と同じ画像レートで転送データが転送されており、通信ネットワークのトラフィックが増大する。そこで、転送データのビットレートを調整する方法が考えられる。ビットレートは、転送レートの一例である。
 図4は、転送データのビットレートを調整する画像処理システムの例を示している。図4の画像処理システムは、図1の画像処理システムにおいて、処理サーバ102-1を処理サーバ401に置き換えた構成を有する。図4において、制御サーバ101は省略されている。
 処理サーバ401は、図1の処理サーバ102-1において、振分部122をビットレート制御部402に置き換えた構成を有する。ビットレート制御部402は、各アプリケーションへ転送される転送データのデータ量が、各処理サーバの処理リソースによって処理可能な範囲内に収まり、かつ、通信ネットワークの使用帯域内に収まるように、転送データのビットレートを削減する。そして、ビットレート制御部402は、転送データをアプリケーションA及び処理サーバ102-2へ転送する。
 図4の例では、アプリケーションAへ転送される転送データのビットレートは、1Mbpsに設定されており、処理サーバ102-2へ転送される転送データのビットレートは、500Kbpsに削減されている。これにより、通信ネットワークのトラフィックを低減することができる。
 しかしながら、ビットレートを削減すると、アプリケーションが処理する画像の解像度が低下するため、アプリケーションの処理結果に影響を与える可能性がある。したがって、高精度な処理結果を得るためには、ビットレートの削減は好ましくない。そこで、同じアプリケーションを複数の処理サーバに配備し、転送データを画像単位で分割して、画像処理を並列化する方法が考えられる。
 図5は、図1の画像処理システムにおいて、アプリケーションを複数の処理サーバに配備する配備方法の例を示している。図3に示した使用状況301-1及び使用状況301-2の状態において、配備制御部113は、配備対象のアプリケーションCを受け付ける。
 次に、配備制御部113は、振分部122からの転送遅延が小さい処理サーバから順に、要求時間の制約条件を満たす処理サーバを、配備先処理サーバとして選択する。そして、配備制御部113は、配備先処理サーバの処理リソース及びネットワークリソースを確保し、配備先処理サーバにアプリケーションを配備する。
 図5の例では、振分部122からの転送遅延が最も小さい処理サーバは、処理サーバ102-1であり、振分部122からの転送遅延が2番目に小さい処理サーバは、処理サーバ102-2である。処理サーバ102-1及び処理サーバ102-2の各々は、2個のコアを空きリソースとして有する。
 アプリケーションCの要求処理リソースが4個のコアである場合、配備制御部113は、処理サーバ102-1及び処理サーバ102-2を配備先処理サーバとして選択し、各処理サーバの空きリソースを処理リソースとして確保する。次に、配備制御部113は、アプリケーションCをコピーしてアプリケーションC1及びアプリケーションC2を生成し、アプリケーションC1を処理サーバ102-1に配備し、アプリケーションC2を処理サーバ102-2に配備する。
 そして、配備制御部113は、各処理サーバの処理リソースに応じて、アプリケーションC1及びアプリケーションC2の処理レートを決定する。処理レートは、単位時間当たりに処理される画像の枚数を表す。
 図5の例では、アプリケーションC1及びアプリケーションC2の処理レートが10fpsに決定され、処理サーバ102-1から処理サーバ102-2へ転送される静止画の画像レートが20fpsに決定される。
 振分制御部114は、処理サーバ102-1及び処理サーバ102-2を、静止画の転送先として処理サーバ102-1に通知する。さらに、振分制御部114は、アプリケーションC1及びアプリケーションC2の処理レートと、処理サーバ102-2へ転送される静止画の画像レートとを、処理サーバ102-1に通知する。
 処理サーバ102-1の抽出部121は、60fpsの画像レートで、映像から静止画の転送データを抽出する。振分部122は、60fpsの画像レートで、静止画をアプリケーションAへ転送する。また、振分部122は、10fpsの画像レートで、静止画をアプリケーションC1へ転送し、20fpsの画像レートで、静止画を処理サーバ102-2へ転送する。
 処理サーバ102-2の受信部123は、処理サーバ102-1から静止画を受信し、振分部124へ出力する。振分部124は、10fpsの画像レートで、静止画をアプリケーションC2へ転送し、20fpsの画像レートで、静止画をアプリケーションBへ転送する。
 アプリケーションC1へ転送される静止画は、例えば、映像に含まれる偶数番目の画像である。アプリケーションC2へ転送される静止画は、例えば、映像に含まれる奇数番目の画像である。
 アプリケーションC1は、振分部122から受信した静止画を逐次処理し、処理結果をDBサーバ103-1へ送信する。アプリケーションC2は、振分部124から受信した静止画を逐次処理し、処理結果をDBサーバ103-1へ送信する。DBサーバ103-1は、アプリケーションC1及びアプリケーションC2の処理結果を、処理結果131-3として記憶する。
 図5の配備方法によれば、映像が画像単位で分割され、アプリケーションC1及びアプリケーションC2によって並列に処理される。これにより、各処理サーバの空きリソースが有効に活用され、画像処理システムにおけるアプリケーションの収容度が向上する。また、各処理サーバの処理リソースに応じて、アプリケーションC1及びアプリケーションC2の処理レートを決定することで、転送データの画像レートを削減することができる。
 しかしながら、映像を画像単位で振り分ける場合、映像から静止画を抽出する抽出処理の処理レートによっては、静止画のデータ量が動画よりも増加し、通信ネットワークの負荷が大きくなることがある。
 図6は、映像から抽出される動画及び静止画の例を示している。入力される映像の画像レートが30fpsであり、1枚の画像のサイズが1280×720画素である場合、フォーマットがyuv420pである2秒間の非圧縮動画のデータ量は、36600KBとなる。
 転送データの転送先が処理サーバ102-2である場合、抽出部121は、この2秒間の非圧縮動画を、動画の転送データ601、静止画の転送データ602、又は静止画の転送データ603として抽出する。転送データ601は、動画像符号化により圧縮されて転送され、転送データ602又は転送データ603は、静止画符号化により圧縮されて転送される。
 例えば、転送データ601は、MP4フォーマットの30fpsの圧縮動画として転送され、転送データ601のデータ量は516KBとなる。転送データ602は、JPEG(Joint Photographic Experts Group)フォーマットの10fpsの圧縮静止画として転送され、転送データ602のデータ量は721KBとなる。転送データ603は、JPEGフォーマットの5fpsの圧縮静止画として転送され、転送データ603のデータ量は476KBとなる。
 この場合、静止画の転送データ603のデータ量は、動画の転送データ601のデータ量よりも少なくなるが、静止画の転送データ602のデータ量は、動画の転送データ601のデータ量よりも約40%多くなる。
 このように、抽出処理の処理レートによっては、静止画の転送データのデータ量が動画の転送データのデータ量よりも増加することがある。なお、転送データのデータ量は映像の圧縮率に依存し、圧縮率は映像の内容に応じて変化する。
 映像を動画として転送する場合、単位時間当たりの圧縮率は高くなるが、圧縮動画から各画像を復元する際に、前時刻の画像の情報が用いられる。このため、画像処理を並列化しても転送データのデータ量は削減されず、並列度に応じて通信ネットワーク上を転送される転送データ量が増加するため、通信ネットワークの負荷が大きくなる。
 また、動画の圧縮が完了するまで、アプリケーションへの転送が開始されないため、画像処理の開始までの待ち時間が長くなる。このため、アプリケーションによっては、処理レートの制約条件が満たされなくなることがある。一方、映像を静止画として転送する場合、画像を1枚ずつ圧縮して転送することができるため、画像処理の開始までの待ち時間は短くなる。
 図7は、転送データの種類に応じた画像処理の開始時刻の例を示している。映像に含まれる各画像701を静止画として転送する場合、画像単位で符号化及び復号が行われるため、時刻t1において、アプリケーションによる画像処理が開始される。
 一方、映像に含まれる所定枚数の画像群711及び画像群712それぞれを動画として転送する場合、画像群単位で符号化及び復号が行われる。このため、時刻t1よりも遅い時刻t2において、画像群711の画像処理が開始され、時刻t3において、画像群712の画像処理が開始される。
 したがって、映像を静止画として転送した方が、アプリケーションによる画像処理を早く開始することができる。しかし、上述したように、抽出処理の処理レートによっては、転送データのデータ量が動画よりも多くなる。このように、同じアプリケーションを複数の処理サーバに配備して画像処理を並列化するだけでは、アプリケーションの処理レートの制約条件を満たしつつ、通信ネットワークのトラフィックを低減することは難しい。
 図8は、実施形態の画像処理制御装置の機能的構成例を示している。図8の画像処理制御装置801は、決定部811及び選択部812を含む。
 図9は、図8の画像処理制御装置801が行う制御処理の例を示すフローチャートである。まず、決定部811は、配備対象の画像処理プログラムの処理レートに基づいて、配備対象の画像処理プログラムが処理する映像を転送する際に映像から抽出される転送データの種類を、動画又は静止画のいずれかに決定する(ステップ901)。次に、選択部812は、転送データの種類に基づいて、複数の情報処理装置の中から、配備対象の画像処理プログラムが配備される配備先情報処理装置を選択する(ステップ902)。
 図8の画像処理制御装置801によれば、画像処理プログラムの配備先として、通信ネットワークのトラフィックが低減されるような情報処理装置を選択することができる。
 図10は、図8の画像処理制御装置801を含む画像処理システムの機能的構成例を示している。図10の画像処理システムは、制御サーバ1001、処理サーバ1002-1~処理サーバ1002-N、及びDBサーバ1003-1~DBサーバ1003-Mを含む。Nは2以上の整数であり、Mは1以上の整数である。
 これらのサーバは情報処理装置であり、通信ネットワーク1004を介して互いに通信することができる。通信ネットワーク1004は、例えば、LAN(Local Area Network)又はWAN(Wide Area Network)である。制御サーバ1001は、図8の画像処理制御装置801に対応する。
 処理サーバ1002-i(i=1~N)は、受信部1011-i、抽出部1012-i、振分部1013-i、及び実行部1014-iを含む。処理サーバ1002-1の受信部1011-1は、処理対象の映像を受信し、抽出部1012-1へ出力する。抽出部1012-1は、映像から動画又は静止画の転送データを抽出し、抽出された転送データを振分部1013-1へ出力する。
 振分部1013-1は、転送データを実行部1014-1又は他の処理サーバ1002-i(i=2~N)へ転送する。転送先が実行部1014-1である場合、静止画の転送データが転送される。転送先が他の処理サーバ1002-iである場合、動画又は静止画の転送データが、動画像符号化又は静止画符号化により圧縮されて転送される。
 実行部1014-1は、処理サーバ1002-1に配備されたアプリケーションを実行することで、静止画に対する画像処理を行い、処理結果をいずれかのDBサーバ1003-j(j=1~M)へ送信する。
 処理サーバ1002-i(i=2~N)の受信部1011-iは、処理サーバ1002-1から転送データを受信し、受信した転送データを復号する。転送データが動画である場合、受信部1011-iは、転送データを抽出部1012-iへ出力する。転送データが静止画である場合、受信部1011-iは、転送データを振分部1013-iへ出力する。
 抽出部1012-iは、動画から静止画を抽出して、振分部1013-iへ出力する。振分部1013-iは、受信部1011-i又は抽出部1012-iから出力される静止画を、実行部1014-iへ出力する。実行部1014-iは、処理サーバ1002-iに配備されたアプリケーションを実行することで、静止画に対する画像処理を行い、処理結果をいずれかのDBサーバ1003-jへ送信する。
 DBサーバ1003-j(j=1~M)は、記憶部1021-jを含む。記憶部1021-jは、処理サーバ1002-i(i=1~N)から受信した処理結果を記憶する。
 実行部1014-i(i=1~N)は、アプリケーション毎に異なる画像処理を行い、アプリケーション毎に異なる処理結果を生成する。アプリケーションによる画像処理は、画像中の人物を検出する処理、画像中の人物の人数をカウントする処理、画像中の人物が行っている作業を検出する処理、又は画像中の人物が扱っている道具又は部品の位置を追跡する処理であってもよい。
 図11は、図10の制御サーバ1001の機能的構成例を示している。図11の制御サーバ1001は、配備制御部1101、振分制御部1102、通信部1103、及び記憶部1104を含む。記憶部1104は、制約条件1111及び負荷情報1112を記憶する。配備制御部1101は、図8の決定部811及び選択部812に対応する。
 制約条件1111は、画像処理システム内に配備されているアプリケーション毎の制約条件であり、要求処理レート、要求時間、及び要求処理リソースを含む。要求処理レートは、アプリケーションが単位時間当たりに処理する画像の枚数を表す。要求処理レートは、画像処理プログラムの処理レートに関する制約条件の一例である。
 要求時間は、図2に示したように、転送データのデータ転送時間及び処理時間の和の上限値を表す。要求処理リソースは、アプリケーションが転送データの処理に使用する処理リソースを表す。負荷情報1112は、アプリケーション毎の処理リソースの使用状況を表す。
 配備制御部1101は、外部から配備対象のアプリケーションを受け付け、配備対象のアプリケーションの要求処理レートに基づいて、配備対象のアプリケーションに対する転送データの種類を、動画又は静止画のいずれかに決定する。そして、配備制御部1101は、決定された転送データの種類に基づいて、いずれかの処理サーバ1002-iを配備先処理サーバとして選択し、転送データの画像レート、データ量、及び抽出処理の処理レートを決定する。
 通信部1103は、配備対象のアプリケーションを配備先処理サーバへ送信し、配備先処理サーバは、受信したアプリケーションをインストールする。これにより、配備対象のアプリケーションが配備先処理サーバに配備される。配備先処理サーバの実行部1014-iは、配備されたアプリケーションを実行する。
 振分制御部1102は、配備対象のアプリケーションに対する転送データの転送先、画像レート、データ量、及び抽出処理の処理レートを示す制御情報を生成し、通信部1103は、制御情報を処理サーバ1002-1へ送信する。これにより、制御情報が処理サーバ1002-1に通知される。
 処理サーバ1002-1の抽出部1012-1は、制御情報が示す抽出処理の処理レート及びデータ量で、映像から転送データを抽出し、振分部1013-1へ出力する。振分部1013-1は、制御情報が示す画像レートで、転送データを実行部1014-1又は他の処理サーバ1002-iへ転送する。
 配備制御部1101は、映像を動画として転送する場合と、静止画として転送する場合とで、転送データ量を最小にする並列化方法が異なることを利用して、通信負荷が低下するようにアプリケーションの配備方法を決定する。
 転送データが動画である場合、並列度が上がると転送データ量が増加するため、配備制御部1101は、転送の並列度を下げつつ、要求時間の制約条件を満たす最大のデータ量を決定する。転送データが静止画である場合、配備制御部1101は、各処理サーバに対する転送データの画像レートが小さくなり、かつ、複数の処理サーバに対する転送データのデータ量の和が小さくなるように、画像処理を並列化し、転送データを振り分ける。
 図12は、アプリケーションの処理レートと転送データ量との関係の例を示している。横軸は、アプリケーションの処理レートを表し、縦軸は、単位時間当たりの転送データ量を表す。水平方向の複数の線分1201は、転送データが静止画である場合の単位時間当たりの転送データ量を表し、一点鎖線1202は、転送データが動画である場合の単位時間当たりの転送データ量Qを表す。
 線分1201が示す転送データ量は、処理レートの増加とともに増加し、一点鎖線1202が示す転送データ量Qは、処理レートにかかわらず一定である。処理レートが所定値Rよりも小さい場合、映像を静止画として転送する方が動画として転送する場合よりも、単位時間当たりの転送データ量が小さくなる。一方、処理レートが所定値Rよりも大きい場合、映像を動画として転送する方が静止画として転送する場合よりも、単位時間当たりの転送データ量が小さくなる。
 そこで、配備制御部1101は、所定値Rを閾値として用いて、配備対象のアプリケーションに対する転送データの種類を決定する。配備制御部1101は、アプリケーションの要求処理レートが閾値よりも大きい場合、転送データを動画に決定し、要求処理レートが閾値よりも小さい場合、転送データを静止画に決定する。
 図13は、図10の制御サーバ1001が行う閾値決定処理の例を示すフローチャートである。まず、配備制御部1101は、配備対象のアプリケーションが処理する映像の登録を受け付ける(ステップ1301)。
 次に、配備制御部1101は、受け付けた映像に含まれる画像1枚当たりの転送データ量Aを、処理サーバ1002-1から取得する(ステップ1302)。次に、配備制御部1101は、複数の画像を動画として転送する場合の単位時間当たりの転送データ量Qを、処理サーバ1002-1から取得する(ステップ1303)。
 処理サーバ1002-1の抽出部1012-1は、所定周期で、映像から所定時間範囲に含まれる複数の画像を抽出し、抽出された画像1枚当たりの静止画の転送データ量Aを計算する。また、抽出部1012-1は、抽出された複数の画像を動画として転送する場合の単位時間当たりの転送データ量Qを計算する。そして、処理サーバ1002-1は、転送データ量A及び単位時間当たりの転送データ量Qを、制御サーバ1001に通知する。これにより、配備制御部1101は、転送データ量A及び単位時間当たりの転送データ量Qを取得することができる。
 次に、配備制御部1101は、転送データ量Qをデータ量Aで除算することで、転送データ量Qに対応する静止画の画像レートを計算し、計算された画像レートを閾値に決定する(ステップ1304)。
 図13の閾値決定処理によれば、映像を静止画として転送する場合の単位時間当たりの転送データ量が、映像を静止画として転送する場合の単位時間当たりの転送データ量と等しくなる画像レートを、閾値に決定することができる。
 図14A及び図14Bは、図10の制御サーバ1001が行うアプリケーション配備処理の例を示すフローチャートである。まず、配備制御部1101は、配備対象のアプリケーションを受け付け(ステップ1401)、画像システム内に同一映像処理サーバが存在するか否かをチェックする(ステップ1402)。同一映像処理サーバは、配備対象のアプリケーションと同じ映像を処理するアプリケーションが配備されている処理サーバ1002-iである。
 1台以上の同一映像処理サーバが存在する場合(ステップ1402,YES)、配備制御部1101は、負荷情報1112を参照して、同一映像処理サーバに空きリソースが存在するか否かをチェックする(ステップ1403)。
 いずれかの同一映像処理サーバに空きリソースが存在する場合(ステップ1403,YES)、配備制御部1101は、空きリソースが存在する1台以上の同一映像処理サーバを、候補処理サーバとして選択する(ステップ1404)。
 同一映像処理サーバを候補処理サーバとして選択することで、既に転送されている転送データを利用することが可能になるため、通信ネットワーク1004のトラフィックの増加が抑制される。
 空きリソースを有する処理サーバ1002-iを候補処理サーバとして選択することで、すべての処理リソースを使用している処理サーバ1002-iを、配備先処理サーバの候補から除外することができる。
 次に、配備制御部1101は、配備対象のアプリケーションの制約条件1111を満たす配備先処理サーバが決定されたか否かをチェックする(ステップ1405)。制約条件1111を満たす配備先処理サーバが決定されていない場合(ステップ1405,NO)、配備制御部1101は、ステップ1406の処理を行う。ステップ1406において、配備制御部1101は、配備対象のアプリケーションの要求処理レートを、配備対象のアプリケーションが処理する映像の閾値と比較する(ステップ1406)。
 要求処理レートが閾値よりも大きい場合(ステップ1406,YES)、配備制御部1101は、配備対象のアプリケーションを高処理レートアプリケーションに分類する(ステップ1407)。高処理レートアプリケーションは、転送データが動画として転送されるアプリケーションである。
 次に、配備制御部1101は、同一映像高処理レートアプリケーションが配備されている候補処理サーバの中から、配備対象のアプリケーションの要求時間の制約条件を満たす候補処理サーバを検索する(ステップ1408)。そして、配備制御部1101は、検索対象の候補処理サーバが存在するか否かをチェックする(ステップ1411)。
 同一映像高処理レートアプリケーションは、配備対象のアプリケーションと同じ映像を処理する高処理レートアプリケーションである。ステップ1408においては、所定時間として単位時間が用いられ、単位時間当たりの映像に対応する転送データのデータ転送時間と、その転送データの処理結果を転送するデータ転送時間との和が、転送遅延として計算される。そして、転送遅延が要求時間以下である場合、要求時間の制約条件を満たすと判定される。
 検索対象の候補処理サーバが存在する場合(ステップ1411,YES)、配備制御部1101は、検索された候補処理サーバの中に、低負荷処理サーバが存在するか否かをチェックする(ステップ1412)。低負荷処理サーバは、配備対象のアプリケーションの要求処理リソースの制約条件を満たす処理サーバ1002-iである。処理サーバ1002-iの空きリソースが要求処理リソース以上である場合、要求処理リソースの制約条件が満たされる。
 低負荷処理サーバが存在する場合(ステップ1412,YES)、配備制御部1101は、低負荷処理サーバのうち、転送遅延が最も小さい処理サーバ1002-iを、配備先処理サーバに決定する(ステップ1413)。そして、配備制御部1101は、ステップ1405以降の処理を行う。
 同一映像高処理レートアプリケーションが配備されている候補処理サーバを、配備先処理サーバとして選択することで、既に転送されている動画の転送データを利用することが可能になるため、動画転送の並列度の増加が抑止される。これにより、通信ネットワーク1004のトラフィックの増加が抑制される。
 要求時間の制約条件を満たす候補処理サーバを、配備先処理サーバとして選択することで、配備対象のアプリケーションの要求時間の制約条件を満たすことができる。
 低負荷処理サーバを配備先処理サーバとして選択することで、配備対象のアプリケーションの要求処理リソースの制約条件を満たすことができる。
 要求処理レートが閾値以下である場合(ステップ1406,NO)、配備制御部1101は、配備対象のアプリケーションを低処理レートアプリケーションに分類する(ステップ1409)。低処理レートアプリケーションは、転送データが静止画として転送されるアプリケーションである。
 次に、配備制御部1101は、同一映像低処理レートアプリケーションが配備されている候補処理サーバの中から、配備対象のアプリケーションの要求処理レート及び要求時間の制約条件を満たす候補処理サーバを検索する(ステップ1410)。そして、配備制御部1101は、ステップ1411以降の処理を行う。
 同一映像低処理レートアプリケーションは、配備対象のアプリケーションと同じ映像を処理する低処理レートアプリケーションである。ステップ1410においては、ステップ1408と同様にして転送遅延が計算され、転送遅延が要求時間以下である場合、要求時間の制約条件を満たすと判定される。また、処理サーバ1002-iへ転送されている転送データの画像レートが要求処理レート以上である場合、要求処理レートの制約条件を満たすと判定される。
 同一映像低処理レートアプリケーションが配備されている候補処理サーバを、配備先処理サーバとして選択することで、既に転送されている静止画の転送データを利用することが可能になるため、静止画転送の並列度の増加が抑止される。これにより、通信ネットワーク1004のトラフィックの増加が抑制される。
 要求処理レートの制約条件を満たす候補処理サーバを、配備先処理サーバとして選択することで、配備対象のアプリケーションの要求処理レートの制約条件を満たすことができる。
 要求時間の制約条件を満たす候補処理サーバを、配備先処理サーバとして選択することで、配備対象のアプリケーションの要求時間の制約条件を満たすことができる。
 ステップ1406~ステップ1410の処理によれば、配備対象のアプリケーションが、要求処理レートに応じて高処理レートアプリケーション又は低処理レートアプリケーションに分類される。これにより、映像を動画として転送する場合と静止画として転送する場合における転送データ量の違いを利用して、最適な配備先処理サーバを決定することが可能になる。
 低負荷処理サーバが存在しない場合(ステップ1412,NO)、配備制御部1101は、配備対象のアプリケーションの要求処理レート及び要求処理リソースを、より小さな値に分割する(ステップ1414)。そして、配備制御部1101は、分割後の要求処理レート及び要求処理リソースを用いて、ステップ1405以降の処理を行う。
 要求処理レート及び要求処理リソースを分割してステップ1405以降の処理を再度行うことで、要求処理リソースの制約条件を満たさない複数台の候補処理サーバを、配備先処理サーバとして選択することが可能になる。
 制約条件1111を満たす1台又は複数台の配備先処理サーバが決定された場合(ステップ1405,YES)、通信部1103は、配備対象のアプリケーションを配備先処理サーバへ送信する(ステップ1416)。そして、配備先処理サーバは、受信したアプリケーションをインストールする。
 同一映像処理サーバが存在しない場合(ステップ1402,NO)、配備制御部1101は、ステップ1415の処理を行う。ステップ1415において、配備制御部1101は、空きリソースを有する処理サーバ1002-iのうち、転送遅延が最も小さい処理サーバ1002-iを、配備先処理サーバに決定する。そして、配備制御部1101は、ステップ1416の処理を行う。
 いずれの同一映像処理サーバにも空きリソースが存在しない場合(ステップ1403,NO)、及び検索対象の候補処理サーバが存在しない場合(ステップ1411,NO)も、配備制御部1101は、ステップ1415及びステップ1416の処理を行う。
 次に、配備制御部1101は、配備対象のアプリケーションの分類をチェックする(ステップ1417)。配備対象のアプリケーションが高処理レートアプリケーションである場合(ステップ1417,YES)、配備制御部1101は、ステップ1418の処理を行う。
 ステップ1418において、配備制御部1101は、配備先処理サーバに配備されている高処理レートアプリケーション毎に、要求時間の制約条件を満たす映像の最大データ量を計算する。最大データ量の計算対象となる高処理レートアプリケーションは、配備先処理サーバに配備されている配備対象のアプリケーション及び同一映像高処理レートアプリケーションである。ステップ1418においては、転送データのデータ転送時間及び処理時間の和が要求時間以下である場合、要求時間の制約条件を満たすと判定される。
 次に、配備制御部1101は、計算対象の高処理レートアプリケーションの最大データ量のうち、最も小さい最大データ量を、配備先処理サーバに対する転送データのデータ量として選択する(ステップ1419)。
 次に、振分制御部1102は、転送データの種類が動画であることと、転送データのデータ量とを示す抽出制御情報を生成し、通信部1103は、生成された抽出制御情報を処理サーバ1002-1へ送信する(ステップ1420)。
 次に、振分制御部1102は、転送データの転送先及び画像レートを示す転送制御情報を生成し、通信部1103は、生成された転送制御情報を処理サーバ1002-1へ送信する(ステップ1423)。転送データの転送先としては、配備先処理サーバを示す情報が用いられる。
 配備対象のアプリケーションが低処理レートアプリケーションである場合(ステップ1417,NO)、制御サーバ1001は、ステップ1421の処理を行う。ステップ1421において、振分制御部1102は、転送データの種類が静止画であることと、静止画を抽出する抽出処理の処理レートとを示す抽出制御情報を生成し、通信部1103は、生成された抽出制御情報を処理サーバ1002-1へ送信する。
 配備対象のアプリケーションの要求処理レートが、配備先処理サーバに配備されている同一映像低処理レートアプリケーションの要求処理レートよりも大きい場合、配備制御部1101は、転送データの画像レートを更新する(ステップ1422)。この場合、配備制御部1101は、配備対象のアプリケーションの要求処理レートを、転送データの画像レートとして選択する。そして、制御サーバ1001は、ステップ1423の処理を行う。
 ステップ1422において、配備対象のアプリケーションの要求処理レートが、配備先処理サーバに配備されている同一映像低処理レートアプリケーションの要求処理レート以下である場合、配備制御部1101は、転送データの画像レートを更新しない。
 図15は、高処理レートアプリケーションの配備先処理サーバの例を示している。処理サーバ1002-1に入力される映像の画像レートは、60fpsである。処理サーバ1002-3には、アプリケーションDが配備されており、処理サーバ1002-4には、アプリケーションEが配備されている。アプリケーションFは、配備対象の高処理レートアプリケーションである。アプリケーションD及びアプリケーションEは、同一映像高処理レートアプリケーションである。一方、処理サーバ1002-2には、同一映像高処理レートアプリケーションが配備されていない。
 この場合、ステップ1408において、同一映像高処理レートアプリケーションが配備されている処理サーバ1002-3及び処理サーバ1002-4が選択され、ステップ1412において、低負荷処理サーバである処理サーバ1002-4が選択される。そして、処理サーバ1002-4が配備先処理サーバに決定され、アプリケーションFが処理サーバ1002-4に配備される。
 処理サーバ1002-1の振分部1013-1は、40fpsの画像レートで、動画の転送データを処理サーバ1002-3及び1002-4へ転送する。処理サーバ1002-3の受信部1011-3は、受信した転送データを抽出部1012-3へ出力し、抽出部1012-3は、動画から静止画を抽出して、振分部1013-3へ出力する。振分部1013-3は、抽出部1012-3から出力される静止画を、アプリケーションDへ出力する。
 処理サーバ1002-4の受信部1011-4は、受信した転送データを抽出部1012-4へ出力し、抽出部1012-4は、動画から静止画を抽出して、振分部1013-4へ出力する。振分部1013-4は、抽出部1012-4から出力される静止画を、アプリケーションE及びアプリケーションFへ出力する。
 このように、同一映像高処理レートアプリケーションが配備されている処理サーバを、配備先処理サーバとして選択することで、動画転送の並列度の増加が抑止され、通信ネットワーク1004のトラフィックを低減することができる。
 図16は、低処理レートアプリケーションの配備先処理サーバの例を示している。処理サーバ1002-1に入力される映像の画像レートは、60fpsである。処理サーバ1002-2には、アプリケーションGが配備されており、処理サーバ1002-3には、アプリケーションHが配備されている。アプリケーションIは、配備対象の低処理レートアプリケーションである。アプリケーションG及びアプリケーションHは、同一映像低処理レートアプリケーションである。
 アプリケーションGの要求処理レートは20fpsであり、アプリケーションHの要求処理レートは40fpsである。この場合、処理サーバ1002-1の振分部1013-1は、20fpsの画像レートで、静止画の転送データを処理サーバ1002-2へ転送し、40fpsの画像レートで、静止画の転送データを処理サーバ1002-3へ転送する。
 配備対象のアプリケーションIの要求処理レートが40fpsである場合、処理サーバ1002-2に対する転送データの画像レートは、アプリケーションIの要求処理レートよりも小さい。このため、処理サーバ1002-2は、ステップ1410の要求処理レートの制約条件を満たさない。一方、処理サーバ1002-3に対する転送データの画像レートは、アプリケーションIの要求処理レートと同じであるため、処理サーバ1002-3は、ステップ1410の要求処理レートの制約条件を満たす。
 この場合、ステップ1410において、同一映像低処理レートアプリケーションが配備されている処理サーバ1002-2及び処理サーバ1002-3のうち、要求処理レートの制約条件を満たす処理サーバ1002-3が選択される。そして、処理サーバ1002-3が配備先処理サーバに決定され、アプリケーションIが処理サーバ1002-3に配備される。
 処理サーバ1002-2の受信部1011-2は、受信した静止画の転送データを振分部1013-2へ出力し、振分部1013-2は、静止画の転送データをアプリケーションGへ出力する。処理サーバ1002-3の受信部1011-3は、受信した静止画の転送データを振分部1013-3へ出力し、振分部1013-3は、静止画の転送データをアプリケーションH及びアプリケーションIへ出力する。
 このように、同一映像低処理レートアプリケーションが配備されており、かつ、要求処理レートの制約条件を満たす処理サーバを、配備先処理サーバとして選択することで、通信ネットワーク1004のトラフィックの増加を抑止することができる。
 図17は、低処理レートアプリケーションを複数の処理サーバに配備する配備方法の例を示している。処理サーバ1002-1に入力される映像の画像レートは、40fpsであり、ビットレートは、100Mbpsである。bpsは、1秒当たりのビット数を表す単位である。
 処理サーバ1002-2には、アプリケーションAが配備されており、処理サーバ1002-3には、アプリケーションBが配備されている。アプリケーションCは、配備対象のアプリケーションである。
 図18は、アプリケーションA~アプリケーションCの制約条件1111の例を示している。図18の制約条件1111は、各アプリケーションの要求処理リソース、要求時間、要求処理レート、及び画像1枚の処理時間を含む。この例では、処理リソースは、処理サーバのCPUに含まれるコアである。
 図18(a)は、配備済みのアプリケーションA及びアプリケーションBの制約条件1111の例を示している。アプリケーションAの要求処理リソースは、6個のコアであり、要求時間は8秒であり、要求処理レートは40fpsであり、画像1枚の処理時間は0.025秒である。アプリケーションBの要求処理リソースは、6個のコアであり、要求時間は10秒であり、要求処理レートは20fpsであり、画像1枚の処理時間は0.05秒である。
 図18(b)は、配備対象のアプリケーションCの制約条件1111の例を示している。アプリケーションCの要求処理リソースは、4個のコアであり、要求時間は15秒であり、要求処理レートは40fpsであり、画像1枚の処理時間は0.025秒である。
 ステップ1406の閾値が45fpsである場合、アプリケーションA~アプリケーションCの要求処理レートは閾値よりも小さいため、アプリケーションA~アプリケーションCは、低処理レートアプリケーションに分類される。したがって、アプリケーションA及びアプリケーションBは、同一映像低処理レートアプリケーションである。
 図19は、図17の状態における処理サーバ1002-2及び処理サーバ1002-3の処理リソースの例を示している。リソース総量は、各処理サーバが有するコアの個数を表し、空きリソースは、使用されていないコアの個数を表す。
 処理サーバ1002-2に配備されているアプリケーションAの要求処理リソースは6個のコアであるため、リソース総量の8個のコアのうち6個のコアがアプリケーションAによって使用されている。したがって、処理サーバ1002-2の空きリソースは、残りの2個のコアである。
 処理サーバ1002-3に配備されているアプリケーションBの要求処理リソースも6個のコアであるため、リソース総量の8個のコアのうち6個のコアがアプリケーションBによって使用されている。したがって、処理サーバ1002-3の空きリソースも2個のコアである。
 図20は、図17の状態において、処理サーバ1002-2及び処理サーバ1002-3へ転送される転送データの画像レートの例を示している。転送先は、転送データの転送先を表し、最大画像レートは、転送先の処理サーバへ転送される転送データの画像レートの最大値を表す。
 処理サーバ1002-2に配備されているアプリケーションAの要求処理レートは40fpsであるため、処理サーバ1002-2の最大画像レートは、40fpsである。一方、処理サーバ1002-3に配備されているアプリケーションBの要求処理レートは20fpsであるため、処理サーバ1002-3の最大画像レートは、20fpsである。
 図21は、サーバ間の帯域の例を示している。送信元は、データの送信元の処理サーバ1002-iを表し、送信先は、データの送信先の処理サーバ1002-i又はDBサーバ1003-jを表す。この例では、いずれのサーバ間の帯域も、1000Mbpsである。
 処理サーバ1002-1の振分部1013-1は、40fpsの画像レートで、静止画の転送データを処理サーバ1002-2へ転送し、20fpsの画像レートで、静止画の転送データを処理サーバ1002-3へ転送する。
 処理サーバ1002-2の受信部1011-2は、受信した静止画の転送データを振分部1013-2へ出力し、振分部1013-2は、静止画の転送データをアプリケーションAへ出力する。アプリケーションAは、振分部1013-2から受信した転送データを逐次処理し、処理結果1701-1をDBサーバ1003-1へ送信する。DBサーバ1003-1は、処理サーバ1002-2から受信した処理結果1701-1を記憶する。
 処理サーバ1002-3の受信部1011-3は、受信した静止画の転送データを振分部1013-3へ出力し、振分部1013-3は、静止画の転送データをアプリケーションBへ出力する。アプリケーションBは、振分部1013-3から受信した転送データを逐次処理し、処理結果1701-2をDBサーバ1003-2へ送信する。DBサーバ1003-2は、処理サーバ1002-3から受信した処理結果1701-2を記憶する。
 処理サーバ1002-2の最大画像レートは、配備対象のアプリケーションCの要求処理レートと同じであるため、処理サーバ1002-2は、ステップ1410の要求処理レートの制約条件を満たす。一方、処理サーバ1002-3の最大画像レートは、アプリケーションCの要求処理レートよりも小さいため、処理サーバ1002-3は、ステップ1410の要求処理レートの制約条件を満たさない。
 次に、処理サーバ1002-1に入力される映像のビットレートは100Mbpsであるため、単位時間当たりの映像に対応するデータ量は100Mbである。処理サーバ1002-1と処理サーバ1002-2との間の帯域は1000Mbpsであるため、処理サーバ1002-1が処理サーバ1002-2へ100Mbの転送データを転送するデータ転送時間T31は、0.1秒である。
 処理サーバ1002-2とDBサーバ1003-1との間の帯域は1000Mbpsであるため、処理サーバ1002-2がDBサーバ1003-1へ100Mbの処理結果を転送するデータ転送時間T32は、0.1秒である。
 したがって、データ転送時間T31及びデータ転送時間T32の和である転送遅延は0.2秒となり、アプリケーションCの要求時間よりも短いため、処理サーバ1002-2は、ステップ1410の要求時間の制約条件を満たす。
 次に、処理サーバ1002-1と処理サーバ1002-3との間の帯域は1000Mbpsであるため、処理サーバ1002-1が処理サーバ1002-3へ100Mbの転送データを転送するデータ転送時間T41は、0.1秒である。
 処理サーバ1002-3とDBサーバ1003-2との間の帯域は1000Mbpsであるため、処理サーバ1002-3がDBサーバ1003-2へ100Mbの処理結果を転送するデータ転送時間T42は、0.1秒である。
 したがって、データ転送時間T41及びデータ転送時間T42の和である転送遅延は0.2秒となり、アプリケーションCの要求時間よりも短いため、処理サーバ1002-3は、ステップ1410の要求時間の制約条件を満たす。
 この場合、ステップ1410において、同一映像低処理レートアプリケーションが配備されている処理サーバ1002-2及び処理サーバ1002-3のうち、要求処理レート及び要求時間の制約条件を満たす処理サーバ1002-2が選択される。しかし、処理サーバ1002-2の空きリソースは、アプリケーションCの要求処理リソースよりも少ないため、処理サーバ1002-2は、ステップ1412の低負荷処理サーバには該当しない。
 そこで、ステップ1414において、処理サーバ1002-2の空きリソースに合わせて、アプリケーションCの要求処理レート及び要求処理リソースが分割される。処理サーバ1002-2の空きリソースは、2個のコアであり、アプリケーションCの要求処理リソースの1/2に該当する。そこで、アプリケーションCの要求処理レート及び要求処理リソースがそれぞれ2分割され、分割後の要求処理レートは20fpsになり、分割後の要求処理リソースは2個のコアになる。
 分割後の要求処理レート及び要求処理リソースを用いて、ステップ1405以降の処理を行うことで、ステップ1410において、処理サーバ1002-2が再び選択される。処理サーバ1002-2の空きリソースは、アプリケーションCの分割後の要求処理リソースと同じであるため、処理サーバ1002-2は、低負荷処理サーバに該当する。そこで、ステップ1413において、処理サーバ1002-2が配備先処理サーバに決定される。
 しかし、処理サーバ1002-2のみでは分割前の要求処理リソースの1/2しか確保されないため、ステップ1405において、制約条件1111を満たす配備先処理サーバが決定されていないと判定される。そして、ステップ1410において、同一映像低処理レートアプリケーションが配備されている処理サーバ1002-3が、要求処理レートの制約条件を満たすか否かがチェックされる。
 この場合、分割後の要求処理レートは20fpsであり、処理サーバ1002-3の最大画像レートと同じであるため、処理サーバ1002-3は、要求処理レートの制約条件を満たす。さらに、処理サーバ1002-3の空きリソースは、分割後の要求処理リソースと同じであるため、処理サーバ1002-3は、低負荷処理サーバに該当する。そこで、ステップ1413において、処理サーバ1002-3が配備先処理サーバに決定される。
 これにより、分割前の要求処理リソースが確保されたため、ステップ1405において、制約条件1111を満たす配備先処理サーバが決定されたと判定される。そこで、ステップ1416において、配備制御部1101は、アプリケーションCを、配備先処理サーバである処理サーバ1002-2及び処理サーバ1002-3に配備する。
 図22は、アプリケーションCの配備結果の例を示している。配備制御部1101は、アプリケーションCをコピーしてアプリケーションC1及びアプリケーションC2を生成する。そして、通信部1103は、アプリケーションC1を処理サーバ1002-2へ送信し、アプリケーションC2を処理サーバ1002-3へ送信する。これにより、アプリケーションC1及びアプリケーションC2が、処理サーバ1002-2及び処理サーバ1002-3にそれぞれ配備される。
 次に、ステップ1421において、抽出処理の処理レートが、分割後の要求処理レートである20fpsに設定され、設定された抽出処理の処理レートを示す抽出制御情報が処理サーバ1002-1へ送信される。なお、ステップ1422において、分割後の要求処理レートは、アプリケーションA及びアプリケーションBの要求処理レート以下であるため、転送データの画像レートは更新されない。
 処理サーバ1002-1の抽出部1012-1は、40fpsの処理レートで、映像から静止画の転送データを抽出する。振分部1013-1は、40fpsの画像レートで、静止画を処理サーバ1002-2へ転送し、20fpsの画像レートで、静止画を処理サーバ1002-3へ転送する。
 処理サーバ1002-2の受信部1011-2は、処理サーバ1002-1から静止画を受信し、振分部1013-2へ出力する。振分部1013-2は、40fpsの画像レートで、静止画をアプリケーションAへ転送し、20fpsの画像レートで、静止画をアプリケーションC1へ転送する。
 処理サーバ1002-3の受信部1011-3は、処理サーバ1002-1から静止画を受信し、振分部1013-3へ出力する。振分部1013-3は、20fpsの画像レートで、静止画をアプリケーションBへ転送し、20fpsの画像レートで、静止画をアプリケーションC2へ転送する。
 アプリケーションC1は、振分部1013-2から受信した静止画を逐次処理し、処理結果をDBサーバ1003-1へ送信する。アプリケーションC2は、振分部1013-3から受信した静止画を逐次処理し、処理結果をDBサーバ1003-1へ送信する。DBサーバ1003-1は、アプリケーションC1及びアプリケーションC2の処理結果を、処理結果1701-3として記憶する。
 図22の配備結果によれば、映像が画像単位で分割され、アプリケーションC1及びアプリケーションC2によって並列に処理される。これにより、各処理サーバの空きリソースが有効に活用され、画像処理システムにおけるアプリケーションの収容度が向上する。
 次に、ステップ1418において、要求時間の制約条件を満たす映像の最大データ量を計算する具体例について説明する。配備先処理サーバが処理サーバ1002-2であり、最大データ量の計算対象となる高処理レートアプリケーションがアプリケーションJである場合を想定する。処理サーバ1002-1に入力される映像の画像レートは、40fpsであり、ビットレートは、100Mbpsである。
 映像のビットレートは100Mbpsであるため、x秒間の映像に対応するデータ量は100xMbである。処理サーバ1002-1と処理サーバ1002-2との間の帯域は1000Mbpsであるため、処理サーバ1002-1が処理サーバ1002-2へ100xMbの転送データを転送するデータ転送時間T51は、0.1x秒である。
 アプリケーションJの要求処理レートが20fpsである場合、アプリケーションJがx秒間に処理する画像の枚数は20x枚である。アプリケーションJの画像1枚の処理時間が0.025秒である場合、処理サーバ1002-2に配備されたアプリケーションJが20x枚の画像を処理する処理時間T52は、0.5x秒である。
 処理サーバ1002-2とDBサーバ1003-1との間の帯域は1000Mbpsであるため、処理サーバ1002-2がDBサーバ1003-1へ100xMbの処理結果を転送するデータ転送時間T53は、0.1x秒である。
 この場合、データ転送時間T51、処理時間T52、及びデータ転送時間T53の総和は、0.7x秒となる。アプリケーションJの要求時間が15秒である場合、要求時間の制約条件は、次式により表される。
 0.7x≦15   (1)
 式(1)を満たすxの最大値は、15/0.7=21.43となる。映像のビットレートは100Mbpsであるため、要求時間の制約条件を満たす映像の最大データ量は、2143Mbとなる。
 図14A及び図14Bのアプリケーション配備処理によれば、様々な処理性能のアプリケーションを任意のタイミングで配備する場合に、制約条件1111を満たし、かつ、トラフィックの増加を抑制する、配備先処理サーバを決定することができる。
 図23は、図10の処理サーバ1002-1の抽出部1012-1が行う抽出処理の例を示すフローチャートである。まず、抽出部1012-1は、制御サーバ1001から抽出制御情報を受信したか否かをチェックする(ステップ2301)。抽出制御情報を受信した場合(ステップ2301,YES)、抽出部1012-1は、抽出制御情報が示す転送データの種類をチェックする(ステップ2302)。
 転送データの種類が動画である場合(ステップ2302,YES)、抽出部1012-1は、動画の転送データのデータ量を、抽出制御情報が示すデータ量に更新し(ステップ2303)、転送データのデータ量の動画を映像から抽出する(ステップ2305)。
 転送データの種類が静止画である場合(ステップ2302,NO)、抽出部1012-1は、実行中の同一映像低処理レートアプリケーションの要求処理レートと、抽出制御情報が示す抽出処理の処理レートのうち、最大の処理レートを求める。そして、抽出部1012-1は、静止画の抽出処理の処理レートを、最大の処理レートに更新し(ステップ2304)、抽出処理の処理レートで、静止画を映像から抽出する(ステップ2305)。
 次に、抽出部1012-1は、抽出完了を振分部1013-1に通知し(ステップ2306)、ステップ2301以降の処理を繰り返す。
 抽出制御情報を受信していない場合(ステップ2301,NO)、抽出部1012-1は、転送データのデータ量又は抽出処理の処理レートを更新することなく、ステップ2305以降の処理を行う。
 図22に示した配備結果において、実行中の同一映像低処理レートアプリケーションであるアプリケーションAの要求処理レートは、40fpsであり、アプリケーションBの要求処理レートは、20fpsである。また、アプリケーションCの分割後の要求処理レートは20fpsであるため、抽出制御情報が示す抽出処理の処理レートは、20fpsである。この場合、ステップ2304において、最大の処理レートである40fpsが、更新後の抽出処理の処理レートとして設定される。
 図24は、図10の処理サーバ1002-1の振分部1013-1が行う振分処理の例を示すフローチャートである。まず、振分部1013-1は、制御サーバ1001から転送制御情報を受信したか否かをチェックする(ステップ2401)。転送制御情報を受信した場合(ステップ2401,YES)、振分部1013-1は、転送制御情報が示す転送先及び画像レートに応じて、転送データの転送先及び画像レートを更新する(ステップ2402)。
 次に、振分部1013-1は、抽出部1012-1から出力される転送データの種類をチェックする(ステップ2403)。転送データの種類が動画である場合(ステップ2403,YES)、振分部1013-1は、転送先の処理サーバ毎に、転送データを処理するアプリケーションの要求処理レートを取得する(ステップ2404)。
 次に、振分部1013-1は、転送先が他の処理サーバ1002-iであるか否かをチェックする(ステップ2405)。転送先が他の処理サーバ1002-iである場合(ステップ2405,YES)、振分部1013-1は、動画又は静止画の転送データを、転送先の処理サーバ1002-iへ転送する(ステップ2405)。このとき、振分部1013-1は、転送データを処理するアプリケーションの要求処理レートも、転送データとともに転送する。そして、振分部1013-1は、ステップ2401以降の処理を繰り返す。
 転送先が処理サーバ1002-1である場合(ステップ2405,NO)、振分部1013-1は、転送データの画像レートで、静止画の転送データを処理サーバ1002-1内のアプリケーションへ転送する(ステップ2408)。そして、振分部1013-1は、ステップ2401以降の処理を繰り返す。
 転送制御情報を受信していない場合(ステップ2401,NO)、振分部1013-1は、ステップ2403以降の処理を行う。転送データの種類が静止画である場合(ステップ2403,NO)、振分部1013-1は、ステップ2402で更新された画像レートに基づいて、処理サーバ間の転送データの画像レートを更新し(ステップ2407)、ステップ2404以降の処理を行う。
 図25は、ステップ2402における更新処理の例を示している。処理サーバは、転送先の処理サーバ1002-iを表し、アドレスは、転送先の処理サーバ1002-iのアドレスを表し、画像レートは、転送先の処理サーバ1002-iへ転送される転送データの画像レートを表す。
 図25(a)は、処理サーバ1002-4に配備されている同一映像低処理レートアプリケーションに対する転送データの転送先及び画像レートの例を示している。転送先の処理サーバ1002-4のアドレスは“192.168.0.40”であり、画像レートは20fpsである。
 図25(b)は、転送制御情報が示す転送先及び画像レートの例を示している。転送先の処理サーバは処理サーバ1002-4であり、画像レートは40fpsである。図25(c)は、図25(b)の転送制御情報に基づく更新結果の例を示している。転送先の処理サーバ1002-4の画像レートは、図25(b)の転送制御情報に応じて、20fpsから40fpsに更新される。
 図25(d)は、転送制御情報が示す転送先が処理サーバ1002-5である場合の更新結果の例を示している。この場合、転送制御情報に応じて、処理サーバ1002-5を転送先とするエントリが追加される。追加されたエントリのアドレスは“192.168.0.50”であり、画像レートは40fpsである。
 ところで、画像に写っている物体の位置の変化が小さい映像は圧縮率が高くなり、物体の位置の変化が大きい映像は圧縮率が小さくなる。このため、処理サーバ1002-1に入力される映像のデータ量は、画像内の物体の動きに応じて変動する。
 図26は、映像のデータ量が変動した場合のアプリケーションの処理レートと転送データ量との関係の例を示している。この例では、図12に示した複数の線分1201が、矢印2601が示すように上方へ移動しており、一点鎖線1202が、矢印2602が示すように上方へ移動している。この場合、所定値R以下の処理レートの範囲1603において、線分1201が示す転送データ量が、一点鎖線1202が示す転送データ量よりも多くなる。
 この状態において、所定値Rを閾値として用いてアプリケーションを分類すると、範囲1603の要求処理レートを有するアプリケーションが低処理レートアプリケーションに分類される。このため、通信ネットワーク1004における静止画の転送データのトラフィックが想定以上に増加し、サーバ間の帯域が圧迫される。
 そこで、各処理サーバ1002-iに入力される転送データのビットレートが帯域上限値に近づいた場合、ビットレート増大の原因となっている低処理レートアプリケーションを、他の処理サーバ1002-iに再配備することが望ましい。
 図27は、入力される転送データのビットレートを監視する処理サーバ1002-i(i=2~N)の機能的構成例を示している。図27の処理サーバ1002-iは、図10の処理サーバ1002-iに監視部2701-iを追加した構成を有する。監視部2701-iは、処理サーバ1002-iに入力される転送データのビットレートを監視し、ビットレートが帯域上限値に近づいた場合、処理サーバ1002-iの状態を制御サーバ1001に通知する。
 図28は、図27の監視部2701-iが行う監視処理の例を示すフローチャートである。まず、監視部2701-iは、処理サーバ1002-iに入力される転送データのビットレートを計算し(ステップ2801)、計算されたビットレートを所定値BRと比較する(ステップ2802)。所定値BRとしては、処理サーバ1002-iが受信する転送データの帯域上限値よりも小さく、かつ、帯域上限値に近い値が用いられる。
 ビットレートが所定値BR以下である場合(ステップ2802,NO)、監視部2701-iは、ステップ2801以降の処理を繰り返す。
 ビットレートが所定値BRよりも大きい場合(ステップ2802,YES)、監視部2701-iは、ビットレート増大の原因となる低処理レートアプリケーションを特定する(ステップ2803)。例えば、処理サーバ1002-iに配備されている低処理レートアプリケーションのうち、要求処理レートが最も大きい低処理レートアプリケーションが、原因となる低処理レートアプリケーションとして特定される。
 次に、監視部2701-iは、ビットレートが帯域上限値に近づいていることを示す帯域情報を、制御サーバ1001へ送信する(ステップ2804)。帯域情報には、原因となる低処理レートアプリケーションの識別情報が含まれる。そして、監視部2701-iは、ステップ2801以降の処理を繰り返す。
 図29は、図10の制御サーバ1001が行うアプリケーション再配備処理の例を示すフローチャートである。まず、通信部1103は、処理サーバ1002-iから帯域情報を受信する(ステップ2901)。
 次に、配備制御部1101は、帯域情報が示す低処理レートアプリケーションと同じ映像を処理している高処理レートアプリケーションが配備されている、他の処理サーバ1002-iを選択する(ステップ2902)。
 次に、配備制御部1101は、選択された処理サーバ1002-iのうち、空きリソースを有する処理サーバ1002-iを選択する(ステップ2903)。そして、配備制御部1101は、選択された処理サーバの中に、低負荷処理サーバが存在するか否かをチェックする(ステップ2904)。低負荷処理サーバは、帯域情報が示す低処理レートアプリケーションの要求処理リソースの制約条件を満たす処理サーバ1002-iである。
 低負荷処理サーバが存在する場合(ステップ2904,YES)、配備制御部1101は、低負荷処理サーバのうち、転送遅延が最も小さい処理サーバ1002-iを、配備先処理サーバに決定する(ステップ2905)。
 低負荷処理サーバが存在しない場合(ステップ2904,NO)、配備制御部1101は、ステップ2906の処理を行う。ステップ2906において、配備制御部1101は、空きリソースを有する処理サーバ1002-iのうち、転送遅延が最も小さい処理サーバ1002-iを、配備先処理サーバに決定する。
 次に、通信部1103は、帯域情報が示す低処理レートアプリケーションを、高処理レートアプリケーションとして配備先処理サーバへ送信する(ステップ2907)。そして、配備先処理サーバは、受信したアプリケーションをインストールする。
 次に、制御サーバ1001は、ステップ2908~ステップ2911の処理を行う。ステップ2908~ステップ2911の処理は、図14Bのステップ1418~ステップ1420及びステップ1423の処理と同様である。
 図29のアプリケーション再配備処理によれば、いずれかの処理サーバに入力される転送データのビットレートが増大した場合、アプリケーションを他の処理サーバに再配備して、静止画の転送データのトラフィックを低減することができる。このとき、既に動画の転送データが入力されている他の処理サーバの空きリソースが活用されるため、他のアプリケーションの処理及びデータ転送に影響を与えずに、各アプリケーションの実行を継続することができる。
 図8の画像処理制御装置801の構成は一例に過ぎず、画像処理制御装置801の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。
 図1、図4、及び図10の画像処理システムの構成は一例に過ぎず、画像処理システムの用途又は条件に応じて一部の構成要素を省略又は変更してもよい。図11の制御サーバ1001の構成は一例に過ぎず、画像処理システムの用途又は条件に応じて一部の構成要素を省略又は変更してもよい。図27の処理サーバ1002-iの構成は一例に過ぎず、画像処理システムの用途又は条件に応じて一部の構成要素を省略又は変更してもよい。
 図9、図13、図14A、図14B、図23、図24、図28、及び図29のフローチャートは一例に過ぎず、画像処理制御装置801又は画像処理システムの構成又は条件に応じて、一部の処理を省略又は変更してもよい。
 図2に示したデータ転送時間T21、処理時間T22、及びデータ転送時間T23は一例に過ぎず、データ転送時間及び処理時間は、入力される映像及びアプリケーションに応じて変化する。図3に示した処理リソースの使用状況は一例に過ぎず、処理リソースの使用状況は、入力される映像及びアプリケーションに応じて変化する。
 図5、図15~図17、及び図22に示したアプリケーションは一例に過ぎず、配備されるアプリケーションは、画像処理システムの用途又は条件に応じて変化する。図6に示した動画及び静止画は一例に過ぎず、動画及び静止画は、入力される映像に応じて変化する。図7に示した画像処理の開始時刻は一例に過ぎず、画像処理の開始時刻は、入力される映像に応じて変化する。
 図12及び図26に示した転送データ量は一例に過ぎず、転送データ量は、入力される映像に応じて変化する。図18に示した制約条件は一例に過ぎず、制約条件は、アプリケーションに応じて変化する。
 図19に示したリソース総量及び空きリソースは一例に過ぎず、リソース総量及び空きリソースは、処理サーバに応じて変化する。図20及び図25に示した画像レートは一例に過ぎず、転送データの画像レートは、配備されているアプリケーションに応じて変化する。図21に示したサーバ間の帯域は一例に過ぎず、サーバ間の帯域は、通信ネットワークに応じて変化する。
 図30は、図8の画像処理制御装置801、図10の制御サーバ1001、図10及び図27の処理サーバ1002-iとして用いられる情報処理装置のハードウェア構成例を示している。図30の情報処理装置は、CPU(Central Processing Unit)3001、メモリ3002、入力装置3003、出力装置3004、補助記憶装置3005、媒体駆動装置3006、及びネットワーク接続装置3007を含む。これらの構成要素はハードウェアであり、バス3008により互いに接続されている。
 メモリ3002は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、フラッシュメモリ等の半導体メモリであり、処理に用いられるプログラム及びデータを格納する。メモリ3002は、図11の記憶部1104として用いることができる。
 CPU3001(プロセッサ)は、例えば、メモリ3002を利用してプログラムを実行することにより、図8の決定部811及び選択部812として動作する。CPU3001は、プログラムを実行することにより、図11の配備制御部1101及び振分制御部1102としても動作する。
 CPU3001は、プログラムを実行することにより、図10の受信部1011-i、抽出部1012-i、振分部1013-i、及び実行部1014-iとしても動作する。CPU3001は、プログラムを実行することにより、図27の監視部2701-iとしても動作する。
 入力装置3003は、例えば、キーボード、ポインティングデバイス等であり、オペレータ又はユーザからの指示又は情報の入力に用いられる。出力装置3004は、例えば、表示装置、プリンタ、スピーカ等であり、オペレータ又はユーザへの問い合わせ又は処理結果の出力に用いられる。処理結果は、アプリケーションの処理結果であってもよい。
 補助記憶装置3005は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置3005は、フラッシュメモリ又はハードディスクドライブであってもよい。情報処理装置は、補助記憶装置3005にプログラム及びデータを格納しておき、それらをメモリ3002にロードして使用することができる。補助記憶装置3005は、図11の記憶部1104として用いることができる。
 媒体駆動装置3006は、可搬型記録媒体3009を駆動し、その記録内容にアクセスする。可搬型記録媒体3009は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体3009は、CD-ROM(Compact Disk Read Only Memory)、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリ等であってもよい。オペレータ又はユーザは、この可搬型記録媒体3009にプログラム及びデータを格納しておき、それらをメモリ3002にロードして使用することができる。
 このように、処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体は、メモリ3002、補助記憶装置3005、又は可搬型記録媒体3009のような、物理的な(非一時的な)記録媒体である。
 ネットワーク接続装置3007は、通信ネットワーク1004に接続され、通信に伴うデータ変換を行う通信インタフェース回路である。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置3007を介して受信し、それらをメモリ3002にロードして使用することができる。ネットワーク接続装置3007は、図11の通信部1103として用いることができる。
 なお、情報処理装置が図30のすべての構成要素を含む必要はなく、用途又は条件に応じて一部の構成要素を省略することも可能である。例えば、ユーザ又はオペレータとのインタフェースが不要である場合は、入力装置3003及び出力装置3004を省略してもよい。情報処理装置が可搬型記録媒体3009を利用しない場合は、媒体駆動装置3006を省略してもよい。
 図30の情報処理装置は、図10のDBサーバ1003-jとして用いることもできる。
 開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
 

Claims (15)

  1.  配備対象の画像処理プログラムの処理レートに基づいて、前記配備対象の画像処理プログラムが処理する映像を転送する際に前記映像から抽出される転送データの種類を、動画又は静止画のいずれかに決定する決定部と、
     前記転送データの種類に基づいて、複数の情報処理装置の中から、前記配備対象の画像処理プログラムが配備される配備先情報処理装置を選択する選択部と、
     を備えることを特徴とする画像処理制御装置。
  2.  前記決定部は、前記処理レートが閾値よりも大きい場合、前記転送データの種類を前記動画に決定し、前記処理レートが前記閾値よりも小さい場合、前記転送データの種類を前記静止画に決定することを特徴とする請求項1記載の画像処理制御装置。
  3.  前記決定部は、前記映像の所定時間範囲に含まれる複数の画像を前記静止画として転送する場合の画像1枚当たりの転送データ量と、前記複数の画像を前記動画として転送する場合の単位時間当たりの転送データ量とを用いて、前記単位時間当たりの転送データ量に対応する前記静止画の画像レートを計算し、前記画像レートを前記閾値として用いることを特徴とする請求項2記載の画像処理制御装置。
  4.  前記選択部は、前記複数の情報処理装置のうち、前記映像を処理する画像処理プログラムが配備されている情報処理装置を、前記配備先情報処理装置として選択することを特徴とする請求項1乃至3のいずれか1項に記載の画像処理制御装置。
  5.  前記選択部は、前記転送データの種類が前記動画に決定された場合、前記映像を処理する画像処理プログラムが配備されている情報処理装置のうち、前記映像が前記動画として転送されている情報処理装置を、前記配備先情報処理装置として選択することを特徴とする請求項4記載の画像処理制御装置。
  6.  前記選択部は、前記転送データの種類が前記静止画に決定された場合、前記映像を処理する画像処理プログラムが配備されている情報処理装置のうち、前記配備対象の画像処理プログラムの処理レートに関する制約条件を満たす情報処理装置を、前記配備先情報処理装置として選択することを特徴とする請求項4記載の画像処理制御装置。
  7.  前記選択部は、前記配備対象の画像処理プログラムが前記配備先情報処理装置に配備された後、前記配備先情報処理装置に入力されるデータの転送レートが所定値よりも大きくなった場合、前記転送データの種類を前記静止画から前記動画に変更して、前記配備対象の画像処理プログラムが再配備される他の情報処理装置を選択することを特徴とする請求項6記載の画像処理制御装置。
  8.  前記選択部は、前記配備対象の画像処理プログラムのデータ転送時間及び処理時間に関する制約条件を満たす情報処理装置を、前記配備先情報処理装置として選択することを特徴とする請求項1乃至7のいずれか1項に記載の画像処理制御装置。
  9.  前記選択部は、前記配備対象の画像処理プログラムの処理リソースに関する制約条件を満たす情報処理装置を、前記配備先情報処理装置として選択することを特徴とする請求項1乃至8のいずれか1項に記載の画像処理制御装置。
  10.  前記選択部は、前記転送データの種類が前記動画に決定され、かつ、前記配備対象の画像処理プログラムの処理リソースに関する制約条件を満たす単一の情報処理装置が存在しない場合、前記映像を処理する画像処理プログラムが配備されている情報処理装置のうち、前記映像が前記動画として転送されている複数の情報処理装置各々を、前記配備先情報処理装置として選択することを特徴とする請求項4記載の画像処理制御装置。
  11.  前記選択部は、前記転送データの種類が前記静止画に決定され、かつ、前記配備対象の画像処理プログラムの処理リソースに関する制約条件を満たす単一の情報処理装置が存在しない場合、前記映像を処理する画像処理プログラムが配備されている情報処理装置のうち、前記配備対象の画像処理プログラムの処理レートに関する制約条件を満たす複数の情報処理装置各々を、前記配備先情報処理装置として選択し、前記配備先情報処理装置の処理リソースに応じて、前記配備先情報処理装置へ転送される前記静止画の画像レートを決定することを特徴とする請求項4記載の画像処理制御装置。
  12.  配備対象の画像処理プログラムの処理レートに基づいて、前記配備対象の画像処理プログラムが処理する映像を転送する際に前記映像から抽出される転送データの種類を、動画又は静止画のいずれかに決定し、
     前記転送データの種類に基づいて、複数の情報処理装置の中から、前記配備対象の画像処理プログラムが配備される配備先情報処理装置を選択する、
     処理をコンピュータに実行させるための画像処理制御プログラム。
  13.  前記転送データの種類を決定する処理は、前記処理レートが閾値よりも大きい場合、前記転送データの種類を前記動画に決定し、前記処理レートが前記閾値よりも小さい場合、前記転送データの種類を前記静止画に決定する処理を含むことを特徴とする請求項12記載の画像処理制御プログラム。
  14.  配備対象の画像処理プログラムの処理レートに基づいて、前記配備対象の画像処理プログラムが処理する映像を転送する際に前記映像から抽出される転送データの種類を、動画又は静止画のいずれかに決定し、
     前記転送データの種類に基づいて、複数の情報処理装置の中から、前記配備対象の画像処理プログラムが配備される配備先情報処理装置を選択する、
     処理をコンピュータが実行することを特徴とする画像処理制御方法。
  15.  前記転送データの種類を決定する処理は、前記処理レートが閾値よりも大きい場合、前記転送データの種類を前記動画に決定し、前記処理レートが前記閾値よりも小さい場合、前記転送データの種類を前記静止画に決定する処理を含むことを特徴とする請求項14記載の画像処理制御方法。
     
PCT/JP2020/014813 2020-03-31 2020-03-31 画像処理制御装置、画像処理制御プログラム、及び画像処理制御方法 WO2021199283A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2022512993A JP7311036B2 (ja) 2020-03-31 2020-03-31 画像処理制御装置、画像処理制御プログラム、及び画像処理制御方法
PCT/JP2020/014813 WO2021199283A1 (ja) 2020-03-31 2020-03-31 画像処理制御装置、画像処理制御プログラム、及び画像処理制御方法
US17/880,696 US11729259B2 (en) 2020-03-31 2022-08-04 Improving resource efficiency in an image processing system for processing a moving image or a still frame

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/014813 WO2021199283A1 (ja) 2020-03-31 2020-03-31 画像処理制御装置、画像処理制御プログラム、及び画像処理制御方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/880,696 Continuation US11729259B2 (en) 2020-03-31 2022-08-04 Improving resource efficiency in an image processing system for processing a moving image or a still frame

Publications (1)

Publication Number Publication Date
WO2021199283A1 true WO2021199283A1 (ja) 2021-10-07

Family

ID=77930172

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/014813 WO2021199283A1 (ja) 2020-03-31 2020-03-31 画像処理制御装置、画像処理制御プログラム、及び画像処理制御方法

Country Status (3)

Country Link
US (1) US11729259B2 (ja)
JP (1) JP7311036B2 (ja)
WO (1) WO2021199283A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015132887A (ja) * 2014-01-09 2015-07-23 富士通株式会社 要求分散プログラム、要求分散方法および情報処理装置
WO2020004380A1 (ja) * 2018-06-27 2020-01-02 日本電気株式会社 割当装置、システム、タスク割当方法及びプログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10285588A (ja) 1997-04-10 1998-10-23 Matsushita Electric Ind Co Ltd 画像通信端末装置および画像通信方法
US7558701B2 (en) * 2005-11-23 2009-07-07 Lockheed Martin Corporation System to monitor the health of a structure, sensor nodes, program product, and related methods
HUE060954T2 (hu) * 2011-11-07 2023-04-28 Tagivan Ii Llc Képdekódoló eljárás és képdekódoló eszköz
WO2013175736A1 (ja) * 2012-05-25 2013-11-28 パナソニック株式会社 動画像符号化方法、動画像符号化装置、動画像復号方法、動画像復号装置、および、動画像符号化復号装置
AU2013264361B2 (en) * 2012-05-25 2017-01-05 Sun Patent Trust Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding/decoding device
CA2841112C (en) * 2012-05-25 2019-09-17 Panasonic Corporation Moving picture coding and decoding using context adaptive binary arithmetic coding with fixed probability for some sample adaptive offset parameters
WO2013183232A1 (ja) * 2012-06-04 2013-12-12 パナソニック株式会社 動画像符号化方法、動画像符号化装置、動画像復号方法、および、動画像復号装置
US9407838B2 (en) * 2013-04-23 2016-08-02 Cedars-Sinai Medical Center Systems and methods for recording simultaneously visible light image and infrared light image from fluorophores
JP6512768B2 (ja) * 2014-08-08 2019-05-15 キヤノン株式会社 照明装置、撮像装置及びカメラシステム
JP2017076334A (ja) * 2015-10-16 2017-04-20 株式会社日立製作所 管理サーバ及び管理システム及び管理方法
EP3418893B1 (en) * 2016-02-15 2021-12-22 Fujitsu Limited Process control program, process control method, information processing device, and communication device
US20170262291A1 (en) * 2016-03-09 2017-09-14 Mediatek Inc. Heterogeneous computing system with a shared computing unit and separate memory controls
JP6943187B2 (ja) 2017-07-11 2021-09-29 日本電信電話株式会社 センシングデータ処理システムとそのエッジサーバ、伝送トラフィック削減方法およびプログラム
JP7208356B2 (ja) * 2018-09-26 2023-01-18 コーヒレント・ロジックス・インコーポレーテッド 任意の世界ビューの生成
US20220035684A1 (en) * 2020-08-03 2022-02-03 Nvidia Corporation Dynamic load balancing of operations for real-time deep learning analytics
CN114697675B (zh) * 2020-12-25 2024-04-05 扬智科技股份有限公司 解码显示系统与其存储器访问方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015132887A (ja) * 2014-01-09 2015-07-23 富士通株式会社 要求分散プログラム、要求分散方法および情報処理装置
WO2020004380A1 (ja) * 2018-06-27 2020-01-02 日本電気株式会社 割当装置、システム、タスク割当方法及びプログラム

Also Published As

Publication number Publication date
JP7311036B2 (ja) 2023-07-19
US20220377138A1 (en) 2022-11-24
US11729259B2 (en) 2023-08-15
JPWO2021199283A1 (ja) 2021-10-07

Similar Documents

Publication Publication Date Title
US11902173B2 (en) Dynamic allocation of network resources using external inputs
JP4915341B2 (ja) 学習装置および方法、画像処理装置および方法、並びにプログラム
JP6122516B2 (ja) エンコーディング方法及びエンコーダ
JP2023543200A (ja) インター予測方法及び装置、電子機器並びにコンピュータプログラム
US20210104072A1 (en) Techniques and apparatus for inter-channel prediction and transform for point-cloud attribute coding
CN110913225B (zh) 图像编码方法、装置、电子设备和计算机可读存储介质
US20200252633A1 (en) Image processing apparatus, image processing method, and recording medium
US20120121024A1 (en) Method and apparatus for parallel entropy encoding and parallel entropy decoding based on decoding rate
US20170005946A1 (en) Method of allocating processes on node devices, apparatus, and storage medium
WO2021199283A1 (ja) 画像処理制御装置、画像処理制御プログラム、及び画像処理制御方法
CN115427972A (zh) 用于适配变化的约束的系统和方法
US20150356741A1 (en) Image transmission system, image processing apparatus, image storage apparatus, and control methods thereof
WO2022005817A1 (en) Method and apparatus for multi-rate neural image compression with stackable nested model structures
US8712174B2 (en) Image processing apparatus and image processing method
US10218987B2 (en) Methods, systems, and computer readable media for performing image compression
CN103517074A (zh) 图像编码设备及其控制方法
US10555009B2 (en) Encoding device, encoding method, decoding device, decoding method, and generation method
CN114881221A (zh) 映射方案优化方法及装置、电子设备、可读存储介质
CN107211018A (zh) 调整媒体流化的质量等级
US11909954B2 (en) Decoding apparatus, encoding apparatus, decoding method, encoding method, and program
JP2024520682A (ja) 機械向け映像符号化(vcm)のためのエンコーダ及びデコーダ
JP6985924B2 (ja) 画像符号化装置、画像処理装置、画像符号化方法
CN110278434A (zh) 一种快速多复合帧视频编码的方法、装置及存储介质
KR102561335B1 (ko) 네트워크 데이터 분석을 위한 메타 디스크립션 변환 방법 및 그를 이용한 네트워크 분석 장치
JP6737699B2 (ja) 線形予測係数出力方法、線形予測係数出力装置及び線形予測係数出力プログラム

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: 20928392

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022512993

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20928392

Country of ref document: EP

Kind code of ref document: A1